bry-biometric-collector 3.1.0-RC02 → 3.1.0-RC04
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/README.md +13 -1
- package/dist/{DocumentCollector_55619fb1_3.1.0-RC02.js → DocumentCollector_8f5d411e_3.1.0-RC04.js} +80 -80
- package/dist/FaceCollector_89a1a9c8_3.1.0-RC04.js +2189 -0
- package/dist/{ValidationAlert_de952c42_3.1.0-RC02.js → ValidationAlert_fb1d2809_3.1.0-RC04.js} +14 -14
- package/dist/{___vite-browser-external_commonjs-proxy_40bba70e_3.1.0-RC02.js → ___vite-browser-external_commonjs-proxy_71690fe1_3.1.0-RC04.js} +36 -36
- package/dist/bry-biometric-collector-main.js +2 -2
- package/dist/{en-us_30d2d531_3.1.0-RC02.js → en-us_793b081f_3.1.0-RC04.js} +1 -0
- package/dist/{es-cl_5299d9ff_3.1.0-RC02.js → es-cl_b2f1fc4e_3.1.0-RC04.js} +1 -0
- package/dist/{fingersApi_96f92c5e_3.1.0-RC02.js → fingersApi_6a302285_3.1.0-RC04.js} +2 -2
- package/dist/index-idlf-detector_39cfdffa_3.1.0-RC04.js +15665 -0
- package/dist/index-idlf-detector_a819b3c8_3.1.0-RC04.js +10910 -0
- package/dist/index.js +2 -2
- package/dist/{index_284ff443_3.1.0-RC02.js → index_335b91f3_3.1.0-RC04.js} +3 -3
- package/dist/{index_c1d47d0b_3.1.0-RC02.js → index_a277c13a_3.1.0-RC04.js} +3 -3
- package/dist/{main_507e14eb_3.1.0-RC02.js → main_275d6122_3.1.0-RC04.js} +2657 -2626
- package/dist/{pt-br_d3ed1998_3.1.0-RC02.js → pt-br_b093cbbf_3.1.0-RC04.js} +1 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/FaceCollector_ff8d1a7f_3.1.0-RC02.js +0 -2156
- package/dist/index-no-detector_79efea88_3.1.0-RC02.js +0 -10888
- package/dist/index-no-detector_db7c16a4_3.1.0-RC02.js +0 -15580
- /package/dist/{face_api_0e3ce8c8_3.1.0-RC02.js → face_api_0e3ce8c8_3.1.0-RC04.js} +0 -0
package/README.md
CHANGED
@@ -630,6 +630,18 @@ The web component listens to and emits a few events. The events emitted are:
|
|
630
630
|
{detail: {bodyPart: 'DOCUMENT', data: string, justification: string}}
|
631
631
|
```
|
632
632
|
|
633
|
+
- **console-open-status**: Emitted when the browser’s developer tools (DevTools) or console is opened, *when liveness is enabled*. The component actively monitors for console access to help prevent potential injection attacks during remote liveness evaluation. When this event is triggered, the integrator is expected to:
|
634
|
+
|
635
|
+
1. Close or reset the component,
|
636
|
+
2. Inform the user about the console access,
|
637
|
+
3. Optionally reopen the component securely.
|
638
|
+
|
639
|
+
This event allows integrators to implement proactive security responses and maintain the integrity of the liveness check process. The event payload has the structure:
|
640
|
+
|
641
|
+
```ts
|
642
|
+
{ detail: { isOpen: true } }
|
643
|
+
```
|
644
|
+
|
633
645
|
And the events the webcomponent listens to are:
|
634
646
|
|
635
647
|
- **change-tabs**: When received, the web component switches the currently displaying tab. This is useful when you want an outer tab switching mechanism. The event must contain the tab to switch to which must be either 'Face' or 'Fingers', for example:
|
@@ -641,7 +653,7 @@ dispatchEvent(new CustomEvent('change-tabs', { detail: 'Face' }));
|
|
641
653
|
- **extension-error**: When extension errors are caught, this event is fired . The data is exported like so:
|
642
654
|
|
643
655
|
```ts
|
644
|
-
{detail
|
656
|
+
{detail: {code: number, description: string, key: string }};
|
645
657
|
```
|
646
658
|
|
647
659
|
## **Slots**
|
package/dist/{DocumentCollector_55619fb1_3.1.0-RC02.js → DocumentCollector_8f5d411e_3.1.0-RC04.js}
RENAMED
@@ -1,12 +1,12 @@
|
|
1
|
-
import { S as st, q as ot, r as nt, t as rt,
|
2
|
-
import { W as
|
3
|
-
import { matchDimensions as
|
1
|
+
import { S as st, q as ot, r as nt, t as rt, x as j, y as S, z as p, bg as se, C as Q, D as g, a_ as oe, bh as Ot, U as I, I as E, K as M, bi as q, bj as hi, M as ne, R as H, B as $, b1 as _e, E as ee, G as F, H as U, J as te, N as X, O as v, Q as W, T as mi, V as it, W as at, X as Ge, Y as be, Z as G, _ as ve, a0 as bi, a1 as Ie, a3 as vi, a2 as de, a4 as we, a5 as Qe, a6 as Ye, a7 as Nt, ab as Ce, ad as Xe, ae as Ii, af as zt, ag as ye, $ as wi, aa as Ve, ai as jt, ak as xe, ap as Ci, aq as yi, as as Mi, at as pi, au as _i, aw as Je, ax as re, j as Di, ay as Ke, aN as kt, d as Me, aO as Rt, aP as qe, aQ as Ti, aC as $e, bk as Ai, aR as Oi, aS as Ni, aT as zi, av as ji, aU as ki, bl as Ri, aW as Ei, aX as pe, aY as Si, aZ as Zi, a$ as le, b0 as lt, b2 as Pi, b3 as V, b4 as x, w as Et, b5 as Wi, aF as Fi, b8 as et, bm as Hi } from "./main_275d6122_3.1.0-RC04.js";
|
2
|
+
import { W as Li, C as Ui, V as Bi, a as Gi } from "./ValidationAlert_fb1d2809_3.1.0-RC04.js";
|
3
|
+
import { matchDimensions as Qi, resizeResults as Yi } from "./face_api_0e3ce8c8_3.1.0-RC04.js";
|
4
4
|
const Xi = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwNiIgaGVpZ2h0PSI4OTAiIHZpZXdCb3g9IjAgMCAxMjA2IDg5MCIgZmlsbD0ibm9uZSIgb3BhY2l0eT0iMC4yIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF8xOF80KSIgb3BhY2l0eT0iMCI+CiAgICA8bWFzayBpZD0icGF0aC0xLWluc2lkZS0xXzE4XzQiIGZpbGw9IndoaXRlIj4KICAgIDxyZWN0IHg9IjQiIHdpZHRoPSIxMTk4IiBoZWlnaHQ9Ijg4MiIgcng9IjYiLz4KICAgIDwvbWFzaz4KICAgIDxyZWN0IHg9IjQiIHdpZHRoPSIxMTk4IiBoZWlnaHQ9Ijg4MiIgcng9IjYiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS1vcGFjaXR5PSIwLjkiIHN0cm9rZS13aWR0aD0iMTYiIHNoYXBlLXJlbmRlcmluZz0iY3Jpc3BFZGdlcyIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfMThfNCkiLz4KICAgIDwvZz4KICAgIDxtYXNrIGlkPSJwYXRoLTItaW5zaWRlLTJfMThfNCIgZmlsbD0id2hpdGUiPgogICAgPHJlY3QgeD0iMjE5LjI3OCIgeT0iMjk2IiB3aWR0aD0iMzM4Ljg2MyIgaGVpZ2h0PSI0NjgiIHJ4PSI3Ii8+CiAgICA8L21hc2s+CiAgICA8cmVjdCB4PSIyMTkuMjc4IiB5PSIyOTYiIHdpZHRoPSIzMzguODYzIiBoZWlnaHQ9IjQ2OCIgcng9IjciIHN0cm9rZT0id2hpdGUiIHN0cm9rZS1vcGFjaXR5PSIwLjkiIHN0cm9rZS13aWR0aD0iMTYiIG1hc2s9InVybCgjcGF0aC0yLWluc2lkZS0yXzE4XzQpIi8+CiAgICA8ZWxsaXBzZSBjeD0iMzg5LjIzOCIgY3k9IjUxMS4yMjgiIHJ4PSI4Ni4yMzc2IiByeT0iODUuMjI4NCIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wOCIvPgogICAgPHBhdGggZD0iTTQ3MS40NzUgNTExLjIyOEM0NzEuNDc1IDU1Ni4wNDUgNDM0LjcwMSA1OTIuNDU3IDM4OS4yMzggNTkyLjQ1N0MzNDMuNzc0IDU5Mi40NTcgMzA3IDU1Ni4wNDUgMzA3IDUxMS4yMjhDMzA3IDQ2Ni40MTEgMzQzLjc3NCA0MzAgMzg5LjIzOCA0MzBDNDM0LjcwMSA0MzAgNDcxLjQ3NSA0NjYuNDExIDQ3MS40NzUgNTExLjIyOFoiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS1vcGFjaXR5PSIwLjkiIHN0cm9rZS13aWR0aD0iOCIvPgogICAgPHBhdGggZD0iTTM4Ny4zOCA2MDhDNTM1LjI2IDYwOCA1MzkuODggNzQzLjQ3MyA1MzkuODggNzQzLjQ3M0wyMzkgNzQzLjVDMjM5IDc0My41IDIzOS41IDYwOCAzODcuMzggNjA4WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4wOCIvPgogICAgPHBhdGggZD0iTTM4Ny4zOCA2MTJDNDU5Ljc5NCA2MTIgNDk2LjY0OSA2NDUuMDIgNTE1LjYyNSA2NzcuNzQzQzUyNS4xOCA2OTQuMjIgNTMwLjI1NSA3MTAuNzMzIDUzMi45MzggNzIzLjE1QzUzNC4yNzggNzI5LjM1MSA1MzUuMDE2IDczNC41MDggNTM1LjQxOCA3MzguMDk4QzUzNS40NzMgNzM4LjU4NiA1MzUuNTIxIDczOS4wNDUgNTM1LjU2NCA3MzkuNDc0TDI0My4xODQgNzM5LjVDMjQzLjIxNiA3MzkuMDM3IDI0My4yNTMgNzM4LjUzOCAyNDMuMjk3IDczOC4wMDNDMjQzLjU5IDczNC40MTQgMjQ0LjE3MSA3MjkuMjU4IDI0NS4zMjIgNzIzLjA1OEMyNDcuNjI2IDcxMC42NDIgMjUyLjE5NyA2OTQuMTM4IDI2MS4yNDEgNjc3LjY3NkMyNzAuMjczIDY2MS4yMzYgMjgzLjc0OCA2NDQuODY0IDMwMy44OTEgNjMyLjU4N0MzMjQuMDI0IDYyMC4zMTYgMzUxLjA0MiA2MTIgMzg3LjM4IDYxMloiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS1vcGFjaXR5PSIwLjkiIHN0cm9rZS13aWR0aD0iOCIvPgogICAgPGRlZnM+CiAgICA8ZmlsdGVyIGlkPSJmaWx0ZXIwX2RfMThfNCIgeD0iMCIgeT0iMCIgd2lkdGg9IjEyMDYiIGhlaWdodD0iODkwIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CiAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgogICAgPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+CiAgICA8ZmVPZmZzZXQgZHk9IjQiLz4KICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjIiLz4KICAgIDxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9Im91dCIvPgogICAgPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuMjUgMCIvPgogICAgPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfMThfNCIvPgogICAgPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfMThfNCIgcmVzdWx0PSJzaGFwZSIvPgogICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8L3N2Zz4KICAgIA==";
|
5
5
|
function Vi(a) {
|
6
6
|
let e, t, s, o, r, n, u, f, d, l, h;
|
7
7
|
return {
|
8
8
|
c() {
|
9
|
-
e = p("div"), t = se("svg"), s = se("defs"), o = se("mask"), r = se("rect"), n = se("rect"), h = se("rect"), this.c =
|
9
|
+
e = p("div"), t = se("svg"), s = se("defs"), o = se("mask"), r = se("rect"), n = se("rect"), h = se("rect"), this.c = Q, g(r, "width", "100%"), g(r, "height", "100%"), g(r, "fill", "white"), g(n, "id", "transparent-rect"), g(n, "x", u = "calc((100% - " + /*$docDimensions*/
|
10
10
|
a[2].width + "px) / 2)"), g(n, "y", f = "calc(" + /*y*/
|
11
11
|
a[3] + ")"), g(n, "width", d = /*$docDimensions*/
|
12
12
|
a[2].width), g(n, "height", l = /*$docDimensions*/
|
@@ -35,14 +35,14 @@ function Vi(a) {
|
|
35
35
|
) + ", " + (1 - /*videoOverlayTransparency*/
|
36
36
|
c[1] / 100) + ")");
|
37
37
|
},
|
38
|
-
i:
|
39
|
-
o:
|
38
|
+
i: Q,
|
39
|
+
o: Q,
|
40
40
|
d(c) {
|
41
41
|
c && E(e);
|
42
42
|
}
|
43
43
|
};
|
44
44
|
}
|
45
|
-
function
|
45
|
+
function xi(a, e, t) {
|
46
46
|
let s, o, r;
|
47
47
|
M(a, q, (l) => t(2, s = l)), M(a, hi, (l) => t(5, o = l)), M(a, ne, (l) => t(6, r = l));
|
48
48
|
let { videoOverlay: n } = e, { videoOverlayTransparency: u } = e, f, d;
|
@@ -61,7 +61,7 @@ function Ji(a, e, t) {
|
|
61
61
|
r
|
62
62
|
];
|
63
63
|
}
|
64
|
-
class
|
64
|
+
class Ft extends st {
|
65
65
|
constructor(e) {
|
66
66
|
super(), ot(
|
67
67
|
this,
|
@@ -70,7 +70,7 @@ class Lt extends st {
|
|
70
70
|
props: rt(this.attributes),
|
71
71
|
customElement: !0
|
72
72
|
},
|
73
|
-
|
73
|
+
xi,
|
74
74
|
Vi,
|
75
75
|
nt,
|
76
76
|
{
|
@@ -96,10 +96,10 @@ class Lt extends st {
|
|
96
96
|
this.$$set({ videoOverlayTransparency: e }), S();
|
97
97
|
}
|
98
98
|
}
|
99
|
-
customElements.define("document-overlay",
|
100
|
-
function
|
99
|
+
customElements.define("document-overlay", Ft);
|
100
|
+
function Ji(a) {
|
101
101
|
let e, t, s, o, r, n, u, f, d, l, h;
|
102
|
-
return u = new
|
102
|
+
return u = new Li({}), l = new Ft({
|
103
103
|
props: {
|
104
104
|
videoOverlay: (
|
105
105
|
/*videoOverlay*/
|
@@ -116,7 +116,7 @@ function xi(a) {
|
|
116
116
|
}
|
117
117
|
}), {
|
118
118
|
c() {
|
119
|
-
e = p("div"), t = p("div"), s = p("div"), o = p("img"), n =
|
119
|
+
e = p("div"), t = p("div"), s = p("div"), o = p("img"), n = H(), $(u.$$.fragment), d = H(), $(l.$$.fragment), this.c = Q, _e(o.src, r = Xi) || g(o, "src", r), g(o, "alt", "document"), g(s, "class", "w-full h-full relative"), g(t, "class", "absolute inset-0 flex justify-center"), g(e, "id", "doc-rectangle"), g(e, "class", f = "doc-loader " + /*loading*/
|
120
120
|
(a[0] ? "doc-loading" : "") + " z-10"), g(
|
121
121
|
e,
|
122
122
|
"style",
|
@@ -147,7 +147,7 @@ function xi(a) {
|
|
147
147
|
c[3]), l.$set(y);
|
148
148
|
},
|
149
149
|
i(c) {
|
150
|
-
h || (
|
150
|
+
h || (F(u.$$.fragment, c), F(l.$$.fragment, c), h = !0);
|
151
151
|
},
|
152
152
|
o(c) {
|
153
153
|
U(u.$$.fragment, c), U(l.$$.fragment, c), h = !1;
|
@@ -187,7 +187,7 @@ function $i(a, e, t) {
|
|
187
187
|
r
|
188
188
|
];
|
189
189
|
}
|
190
|
-
class
|
190
|
+
class Ht extends st {
|
191
191
|
constructor(e) {
|
192
192
|
super(), ot(
|
193
193
|
this,
|
@@ -197,7 +197,7 @@ class Ft extends st {
|
|
197
197
|
customElement: !0
|
198
198
|
},
|
199
199
|
$i,
|
200
|
-
|
200
|
+
Ji,
|
201
201
|
nt,
|
202
202
|
{
|
203
203
|
loading: 0,
|
@@ -229,7 +229,7 @@ class Ft extends st {
|
|
229
229
|
this.$$set({ videoOverlayTransparency: e }), S();
|
230
230
|
}
|
231
231
|
}
|
232
|
-
customElements.define("doc-rectangle",
|
232
|
+
customElements.define("doc-rectangle", Ht);
|
233
233
|
function St(a) {
|
234
234
|
let e, t, s, o, r, n, u, f, d, l, h, c, m, y, Z, b, C, O, A = (
|
235
235
|
/*$ready*/
|
@@ -260,7 +260,7 @@ function St(a) {
|
|
260
260
|
}
|
261
261
|
}), {
|
262
262
|
c() {
|
263
|
-
e = p("div"), t = p("div"), s = p("video"), r =
|
263
|
+
e = p("div"), t = p("div"), s = p("video"), r = H(), n = p("canvas"), u = H(), f = p("div"), d = p("div"), A && A.c(), l = H(), $(h.$$.fragment), c = H(), $(m.$$.fragment), g(s, "id", "bry-cc-camera-video-tag"), g(s, "class", o = /*$ready*/
|
264
264
|
a[11] ? X() ? "absolute inset-0" : "w-full h-full object-cover" : "w-0 h-0"), s.playsInline = !0, s.muted = !0, s.autoplay = !0, g(n, "id", "bry-ce-detectionsCanvas"), g(n, "class", "absolute top-0 left-0 max-w-full"), g(t, "class", "overflow-hidden"), oe(
|
265
265
|
t,
|
266
266
|
"width",
|
@@ -309,7 +309,7 @@ function St(a) {
|
|
309
309
|
T[12].videoHeight + "px"
|
310
310
|
), /*$ready*/
|
311
311
|
T[11] ? A ? (A.p(T, k), k[0] & /*$ready*/
|
312
|
-
2048 &&
|
312
|
+
2048 && F(A, 1)) : (A = Zt(T), A.c(), F(A, 1), A.m(d, null)) : A && (it(), U(A, 1, 1, () => {
|
313
313
|
A = null;
|
314
314
|
}), at());
|
315
315
|
const P = {};
|
@@ -328,7 +328,7 @@ function St(a) {
|
|
328
328
|
T[10] !== W.OK)) && (e.hidden = Z);
|
329
329
|
},
|
330
330
|
i(T) {
|
331
|
-
b || (
|
331
|
+
b || (F(A), F(h.$$.fragment, T), F(m.$$.fragment, T), b = !0);
|
332
332
|
},
|
333
333
|
o(T) {
|
334
334
|
U(A), U(h.$$.fragment, T), U(m.$$.fragment, T), b = !1;
|
@@ -347,7 +347,7 @@ function Zt(a) {
|
|
347
347
|
a[9]
|
348
348
|
)
|
349
349
|
}
|
350
|
-
}), s = new
|
350
|
+
}), s = new Ht({
|
351
351
|
props: {
|
352
352
|
loading: (
|
353
353
|
/*isCountingDown*/
|
@@ -364,7 +364,7 @@ function Zt(a) {
|
|
364
364
|
}
|
365
365
|
}), {
|
366
366
|
c() {
|
367
|
-
$(e.$$.fragment), t =
|
367
|
+
$(e.$$.fragment), t = H(), $(s.$$.fragment);
|
368
368
|
},
|
369
369
|
m(r, n) {
|
370
370
|
ee(e, r, n), j(r, t, n), ee(s, r, n), o = !0;
|
@@ -384,7 +384,7 @@ function Zt(a) {
|
|
384
384
|
r[4]), s.$set(f);
|
385
385
|
},
|
386
386
|
i(r) {
|
387
|
-
o || (
|
387
|
+
o || (F(e.$$.fragment, r), F(s.$$.fragment, r), o = !0);
|
388
388
|
},
|
389
389
|
o(r) {
|
390
390
|
U(e.$$.fragment, r), U(s.$$.fragment, r), o = !1;
|
@@ -405,7 +405,7 @@ function Pt(a) {
|
|
405
405
|
let u = n(a), f = u(a);
|
406
406
|
return {
|
407
407
|
c() {
|
408
|
-
e = p("slot"), t = p("div"), s = p("img"), r =
|
408
|
+
e = p("slot"), t = p("div"), s = p("img"), r = H(), f.c(), _e(s.src, o = Pi) || g(s, "src", o), g(s, "alt", "loading gif"), g(s, "class", "m-auto h-[10em] lg:h-[12em]"), g(t, "class", "translate-y-1/3 md:translate-y-1/4 xl:translate-y-1/2"), g(e, "name", "loading-camera-gif"), g(e, "class", "block h-[17em] lg:h-[21.6em] xl:h-[30em]");
|
409
409
|
},
|
410
410
|
m(d, l) {
|
411
411
|
j(d, e, l), I(e, t), I(t, s), I(t, r), f.m(t, null);
|
@@ -433,7 +433,7 @@ function ea(a) {
|
|
433
433
|
p(o, r) {
|
434
434
|
r[0] & /*$_*/
|
435
435
|
262144 && t !== (t = /*$_*/
|
436
|
-
o[18]("faceCollector.initiatingCamera") + "") &&
|
436
|
+
o[18]("faceCollector.initiatingCamera") + "") && x(s, t);
|
437
437
|
},
|
438
438
|
d(o) {
|
439
439
|
o && E(e);
|
@@ -449,7 +449,7 @@ function ta(a) {
|
|
449
449
|
m(t, s) {
|
450
450
|
j(t, e, s);
|
451
451
|
},
|
452
|
-
p:
|
452
|
+
p: Q,
|
453
453
|
d(t) {
|
454
454
|
t && E(e);
|
455
455
|
}
|
@@ -465,7 +465,7 @@ function Wt(a) {
|
|
465
465
|
), d, l, h;
|
466
466
|
return {
|
467
467
|
c() {
|
468
|
-
e = p("div"), t = p("button"), o = V(s), n =
|
468
|
+
e = p("div"), t = p("button"), o = V(s), n = H(), u = p("button"), d = V(f), t.disabled = r = /*$justification*/
|
469
469
|
a[15].length === 0, g(t, "class", "ce-dui-btn ce-dui-btn-primary ce-dui-btn-block flex-shrink"), g(u, "id", "bry-cc-retake-button"), g(u, "class", "ce-dui-btn ce-dui-btn-block ce-dui-btn-outline flex-shrink"), g(e, "class", "ce-dui-btn-group flex");
|
470
470
|
},
|
471
471
|
m(c, m) {
|
@@ -487,11 +487,11 @@ function Wt(a) {
|
|
487
487
|
p(c, m) {
|
488
488
|
m[0] & /*$_*/
|
489
489
|
262144 && s !== (s = /*$_*/
|
490
|
-
c[18]("faceCollector.finish") + "") &&
|
490
|
+
c[18]("faceCollector.finish") + "") && x(o, s), m[0] & /*$justification*/
|
491
491
|
32768 && r !== (r = /*$justification*/
|
492
492
|
c[15].length === 0) && (t.disabled = r), m[0] & /*$_*/
|
493
493
|
262144 && f !== (f = /*$_*/
|
494
|
-
c[18]("faceCollector.retakePhoto") + "") &&
|
494
|
+
c[18]("faceCollector.retakePhoto") + "") && x(d, f);
|
495
495
|
},
|
496
496
|
d(c) {
|
497
497
|
c && E(e), l = !1, lt(h);
|
@@ -510,9 +510,9 @@ function ia(a) {
|
|
510
510
|
m(s, o) {
|
511
511
|
ee(e, s, o), t = !0;
|
512
512
|
},
|
513
|
-
p:
|
513
|
+
p: Q,
|
514
514
|
i(s) {
|
515
|
-
t || (
|
515
|
+
t || (F(e.$$.fragment, s), t = !0);
|
516
516
|
},
|
517
517
|
o(s) {
|
518
518
|
U(e.$$.fragment, s), t = !1;
|
@@ -533,7 +533,7 @@ function aa(a) {
|
|
533
533
|
let f = u(a), d = f(a);
|
534
534
|
return {
|
535
535
|
c() {
|
536
|
-
e = p("div"), t = p("img"), r =
|
536
|
+
e = p("div"), t = p("img"), r = H(), d.c(), g(t, "class", "m-auto col-start-1 col-end-1 max-h-[23.2em]"), _e(t.src, s = /*$dataTypePrefix*/
|
537
537
|
a[19] + "," + /*$image*/
|
538
538
|
a[16]) || g(t, "src", s), t.hidden = o = !/*$captured*/
|
539
539
|
a[13] || !/*$showFaceWhileValidating*/
|
@@ -554,8 +554,8 @@ function aa(a) {
|
|
554
554
|
2097152 && n !== (n = "grid-cols-1 grid-rows-2 sm:grid-cols-2 sm:grid-rows-1 gap-[.5em] " + (/*$showFaceWhileValidating*/
|
555
555
|
l[21] ? "grid overflow-hidden" : "absolute -translate-y-1/2 -translate-x-1/2 top-1/2 left-1/2 overflow-visible")) && g(e, "class", n);
|
556
556
|
},
|
557
|
-
i:
|
558
|
-
o:
|
557
|
+
i: Q,
|
558
|
+
o: Q,
|
559
559
|
d(l) {
|
560
560
|
l && E(e), d.d();
|
561
561
|
}
|
@@ -581,7 +581,7 @@ function sa(a) {
|
|
581
581
|
let Z = y(a), b = Z(a);
|
582
582
|
return {
|
583
583
|
c() {
|
584
|
-
e = p("div"), b.c(), t =
|
584
|
+
e = p("div"), b.c(), t = H(), s = p("div"), o = p("button"), n = V(r), f = H(), d = p("button"), h = V(l), o.disabled = u = /*$saved*/
|
585
585
|
a[14] || /*$requestResult*/
|
586
586
|
a[17] !== re.OK, g(o, "class", "ce-dui-btn ce-dui-btn-primary ce-dui-btn-block flex-shrink"), g(d, "id", "bry-cc-retake-button"), g(d, "class", "ce-dui-btn ce-dui-btn-block ce-dui-btn-outline flex-shrink"), g(s, "class", "ce-dui-btn-group flex"), g(e, "class", "flex flex-col justify-between");
|
587
587
|
},
|
@@ -604,12 +604,12 @@ function sa(a) {
|
|
604
604
|
p(C, O) {
|
605
605
|
Z === (Z = y(C)) && b ? b.p(C, O) : (b.d(1), b = Z(C), b && (b.c(), b.m(e, t))), O[0] & /*$_*/
|
606
606
|
262144 && r !== (r = /*$_*/
|
607
|
-
C[18]("faceCollector.finish") + "") &&
|
607
|
+
C[18]("faceCollector.finish") + "") && x(n, r), O[0] & /*$saved, $requestResult*/
|
608
608
|
147456 && u !== (u = /*$saved*/
|
609
609
|
C[14] || /*$requestResult*/
|
610
610
|
C[17] !== re.OK) && (o.disabled = u), O[0] & /*$_*/
|
611
611
|
262144 && l !== (l = /*$_*/
|
612
|
-
C[18]("faceCollector.retakePhoto") + "") &&
|
612
|
+
C[18]("faceCollector.retakePhoto") + "") && x(h, l);
|
613
613
|
},
|
614
614
|
d(C) {
|
615
615
|
C && E(e), b.d(), c = !1, lt(m);
|
@@ -625,7 +625,7 @@ function oa(a) {
|
|
625
625
|
m(t, s) {
|
626
626
|
j(t, e, s);
|
627
627
|
},
|
628
|
-
p:
|
628
|
+
p: Q,
|
629
629
|
d(t) {
|
630
630
|
t && E(e);
|
631
631
|
}
|
@@ -646,7 +646,7 @@ function na(a) {
|
|
646
646
|
p(o, r) {
|
647
647
|
r[0] & /*$_*/
|
648
648
|
262144 && t !== (t = /*$_*/
|
649
|
-
o[18]("docCollector.captured") + "") &&
|
649
|
+
o[18]("docCollector.captured") + "") && x(s, t);
|
650
650
|
},
|
651
651
|
d(o) {
|
652
652
|
o && E(e);
|
@@ -668,7 +668,7 @@ function ra(a) {
|
|
668
668
|
p(o, r) {
|
669
669
|
r[0] & /*$_*/
|
670
670
|
262144 && t !== (t = /*$_*/
|
671
|
-
o[18]("faceCollector.everythingOk") + "") &&
|
671
|
+
o[18]("faceCollector.everythingOk") + "") && x(s, t);
|
672
672
|
},
|
673
673
|
d(o) {
|
674
674
|
o && E(e);
|
@@ -690,7 +690,7 @@ function la(a) {
|
|
690
690
|
p(o, r) {
|
691
691
|
r[0] & /*$_*/
|
692
692
|
262144 && t !== (t = /*$_*/
|
693
|
-
o[18]("docCollector.docNotFound") + "") &&
|
693
|
+
o[18]("docCollector.docNotFound") + "") && x(s, t);
|
694
694
|
},
|
695
695
|
d(o) {
|
696
696
|
o && E(e);
|
@@ -720,7 +720,7 @@ function ca(a) {
|
|
720
720
|
}
|
721
721
|
return ~(n = Z(a)) && (u = y[n] = m[n](a)), {
|
722
722
|
c() {
|
723
|
-
e = p("div"), t = p("div"), l && l.c(), s =
|
723
|
+
e = p("div"), t = p("div"), l && l.c(), s = H(), h && h.c(), o = H(), c && c.c(), r = H(), u && u.c(), f = mi(), this.c = Q, g(t, "class", "relative mx-auto"), g(e, "class", "flex flex-col justify-between");
|
724
724
|
},
|
725
725
|
m(b, C) {
|
726
726
|
j(b, e, C), I(e, t), l && l.m(t, null), I(t, s), h && h.m(t, null), I(t, o), c && c.m(t, null), a[37](e), j(b, r, C), ~n && y[n].m(b, C), j(b, f, C), d = !0;
|
@@ -728,7 +728,7 @@ function ca(a) {
|
|
728
728
|
p(b, C) {
|
729
729
|
/*$videoStore*/
|
730
730
|
b[12] ? l ? (l.p(b, C), C[0] & /*$videoStore*/
|
731
|
-
4096 &&
|
731
|
+
4096 && F(l, 1)) : (l = St(b), l.c(), F(l, 1), l.m(t, s)) : l && (it(), U(l, 1, 1, () => {
|
732
732
|
l = null;
|
733
733
|
}), at()), !/*$ready*/
|
734
734
|
b[11] && /*$cameraStatusStore*/
|
@@ -737,10 +737,10 @@ function ca(a) {
|
|
737
737
|
let O = n;
|
738
738
|
n = Z(b), n === O ? ~n && y[n].p(b, C) : (u && (it(), U(y[O], 1, 1, () => {
|
739
739
|
y[O] = null;
|
740
|
-
}), at()), ~n ? (u = y[n], u ? u.p(b, C) : (u = y[n] = m[n](b), u.c()),
|
740
|
+
}), at()), ~n ? (u = y[n], u ? u.p(b, C) : (u = y[n] = m[n](b), u.c()), F(u, 1), u.m(f.parentNode, f)) : u = null);
|
741
741
|
},
|
742
742
|
i(b) {
|
743
|
-
d || (
|
743
|
+
d || (F(l), F(u), d = !0);
|
744
744
|
},
|
745
745
|
o(b) {
|
746
746
|
U(l), U(u), d = !1;
|
@@ -757,14 +757,14 @@ function ga(a, e, t) {
|
|
757
757
|
s > o ? (u = e.videoHeight * o, r = (e.videoWidth - u) / 2) : s < o && (f = e.videoWidth / o, n = (e.videoHeight - f) / 2), a.drawImage(e, r, n, u, f, 0, 0, t.width, t.height);
|
758
758
|
}
|
759
759
|
function fa(a, e, t) {
|
760
|
-
let s, o, r, n, u, f, d, l, h, c, m, y, Z, b, C, O, A, T, k, P, De,
|
761
|
-
M(a, Ge, (i) => t(54, s = i)), M(a, be, (i) => t(56, r = i)), M(a, G, (i) => t(10, n = i)), M(a, ve, (i) => t(11, u = i)), M(a, bi, (i) => t(57, f = i)), M(a, Ie, (i) => t(58, d = i)), M(a, vi, (i) => t(59, l = i)), M(a, de, (i) => t(60, h = i)), M(a, ne, (i) => t(12, c = i)), M(a, we, (i) => t(13, m = i)), M(a,
|
762
|
-
let _, R,
|
760
|
+
let s, o, r, n, u, f, d, l, h, c, m, y, Z, b, C, O, A, T, k, P, De, J, ue, K, ct, dt, ut;
|
761
|
+
M(a, Ge, (i) => t(54, s = i)), M(a, be, (i) => t(56, r = i)), M(a, G, (i) => t(10, n = i)), M(a, ve, (i) => t(11, u = i)), M(a, bi, (i) => t(57, f = i)), M(a, Ie, (i) => t(58, d = i)), M(a, vi, (i) => t(59, l = i)), M(a, de, (i) => t(60, h = i)), M(a, ne, (i) => t(12, c = i)), M(a, we, (i) => t(13, m = i)), M(a, Qe, (i) => t(61, y = i)), M(a, Ye, (i) => t(62, Z = i)), M(a, Nt, (i) => t(63, b = i)), M(a, q, (i) => t(64, C = i)), M(a, Ce, (i) => t(65, O = i)), M(a, Xe, (i) => t(14, A = i)), M(a, Ii, (i) => t(15, T = i)), M(a, zt, (i) => t(16, k = i)), M(a, ye, (i) => t(17, P = i)), M(a, wi, (i) => t(18, De = i)), M(a, Ve, (i) => t(66, J = i)), M(a, jt, (i) => t(67, K = i)), M(a, xe, (i) => t(68, ct = i)), M(a, Ci, (i) => t(20, dt = i)), M(a, yi, (i) => t(21, ut = i));
|
762
|
+
let _, R, Y, ce = !1, gt = !1, L = {
|
763
763
|
width: 2560,
|
764
764
|
height: 1440,
|
765
765
|
aspectRatio: -1
|
766
766
|
};
|
767
|
-
const
|
767
|
+
const Lt = { width: 2560, height: 1440 };
|
768
768
|
let { enableMinutiae: Te } = e, { videoDimensions: Ae } = e, { noTabs: Oe } = e, { weightsPath: Ne } = e, { showUnconformities: ft } = e, { showConfigButton: ht } = e, { showCameraButton: mt } = e, { videoOverlay: bt } = e, { videoOverlayTransparency: vt } = e;
|
769
769
|
const ge = Et(!1);
|
770
770
|
M(a, ge, (i) => t(55, o = i));
|
@@ -786,7 +786,7 @@ function fa(a, e, t) {
|
|
786
786
|
await Ze(), Bt();
|
787
787
|
});
|
788
788
|
function yt() {
|
789
|
-
v(we, m = !1, m), v(Nt, b = !0, b), v(Ce, O = "", O), v(Ie, d =
|
789
|
+
v(we, m = !1, m), v(Nt, b = !0, b), v(Ce, O = "", O), v(Ie, d = Je.REAR_CAMERA, d), v(be, r = !1, r), v(Xe, A = !1, A), v(ye, P = re.OK, P), v(Ve, J = "", J);
|
790
790
|
const i = Di(Ke);
|
791
791
|
i.closedMouth = !1, i.isPersonCloseEnough = !1, i.isPersonTooclose = !0, i.isPersonInFrame = !1, Ke.set(i);
|
792
792
|
}
|
@@ -815,7 +815,7 @@ function fa(a, e, t) {
|
|
815
815
|
}
|
816
816
|
async function pt() {
|
817
817
|
let i = Gt();
|
818
|
-
if (K && !await
|
818
|
+
if (K && !await Fi(i)) {
|
819
819
|
console.warn("Document capture - document not detected! Resetting capture.");
|
820
820
|
return;
|
821
821
|
}
|
@@ -823,10 +823,10 @@ function fa(a, e, t) {
|
|
823
823
|
let D = [];
|
824
824
|
try {
|
825
825
|
const w = i.toDataURL("image/jpeg").split(",");
|
826
|
-
v(ze, ue = w[0], ue), v(zt, k = w[1], k), v(Ve,
|
826
|
+
v(ze, ue = w[0], ue), v(zt, k = w[1], k), v(Ve, J = w[1], J), D = [
|
827
827
|
{
|
828
828
|
bodyPart: "DOCUMENT",
|
829
|
-
data:
|
829
|
+
data: J
|
830
830
|
}
|
831
831
|
], v(ye, P = re.OK, P), window.dispatchEvent(new CustomEvent(
|
832
832
|
"document-unconformities-validated",
|
@@ -836,11 +836,11 @@ function fa(a, e, t) {
|
|
836
836
|
));
|
837
837
|
} catch (w) {
|
838
838
|
console.error(w);
|
839
|
-
let N, z =
|
839
|
+
let N, z = Hi.DOCUMENT_NOT_FOUND, B = [];
|
840
840
|
w instanceof Error && ["DOCUMENT_NOT_FOUND"].includes(w.message) && (v(ye, P = re.TEMPLATE_EXTRACTION_ERROR, P), N = w.message, B = [
|
841
841
|
{
|
842
842
|
bodyPart: "DOCUMENT",
|
843
|
-
data:
|
843
|
+
data: J,
|
844
844
|
format: "jpg"
|
845
845
|
}
|
846
846
|
]), window.dispatchEvent(new CustomEvent(
|
@@ -874,11 +874,11 @@ function fa(a, e, t) {
|
|
874
874
|
}
|
875
875
|
await Ut();
|
876
876
|
try {
|
877
|
-
let { stream: D, deviceId: w, width: N, height: z, aspectRatio: B } = await kt(
|
878
|
-
if (v(
|
879
|
-
|
880
|
-
const { stream: Pe } = await kt(
|
881
|
-
v(
|
877
|
+
let { stream: D, deviceId: w, width: N, height: z, aspectRatio: B } = await kt(L.width, L.height, d, i);
|
878
|
+
if (v(Qe, y = D, y), L.aspectRatio = B || N / z, L.aspectRatio > 1 && N < L.width || L.aspectRatio < 1 && z < L.width) {
|
879
|
+
L.width = N, L.height = N / 1.7777, y.getTracks()?.forEach((We) => We?.stop());
|
880
|
+
const { stream: Pe } = await kt(L.width, L.height, d, i);
|
881
|
+
v(Qe, y = Pe, y);
|
882
882
|
}
|
883
883
|
v(de, h = w || l[0].deviceId, h);
|
884
884
|
} catch (D) {
|
@@ -907,16 +907,16 @@ function fa(a, e, t) {
|
|
907
907
|
));
|
908
908
|
}
|
909
909
|
function Gt() {
|
910
|
-
const i = c.videoWidth, D = c.videoHeight, w =
|
910
|
+
const i = c.videoWidth, D = c.videoHeight, w = Lt.width, N = D / i * w, z = document.createElement("canvas"), B = z.getContext("2d");
|
911
911
|
z.width = w, z.height = N, B && ga(B, _, z);
|
912
|
-
const Pe = z.width / c.videoWidth, We = z.height / c.videoHeight, di = X() ? 0.25 : 0.15, ui = Math.round(z.height * di),
|
913
|
-
ae.width =
|
912
|
+
const Pe = z.width / c.videoWidth, We = z.height / c.videoHeight, di = X() ? 0.25 : 0.15, ui = Math.round(z.height * di), Fe = C.width * Pe, He = C.height * We, Tt = (X() ? 0.15 : 0.2) * Fe, At = 0.2 * He, gi = (z.width - Fe) / 2 - Tt / 2, fi = (z.height - ui - He) / 2 - At / 2, Le = Fe + Tt, Ue = He + At, ae = document.createElement("canvas");
|
913
|
+
ae.width = Le, ae.height = Ue;
|
914
914
|
const Be = ae.getContext("2d");
|
915
|
-
return Be?.clearRect(0, 0, ae.width, ae.height), Be?.drawImage(z, gi, fi,
|
915
|
+
return Be?.clearRect(0, 0, ae.width, ae.height), Be?.drawImage(z, gi, fi, Le, Ue, 0, 0, Le, Ue), Be?.save(), ae;
|
916
916
|
}
|
917
|
-
const
|
917
|
+
const Qt = ne.subscribe((i) => {
|
918
918
|
_ && R && (t(6, _.width = i.videoWidth, _), t(6, _.height = i.videoHeight, _), t(7, R.width = i.videoWidth, R), t(7, R.height = i.videoHeight, R));
|
919
|
-
}),
|
919
|
+
}), Yt = Ke.subscribe((i) => {
|
920
920
|
let D = "";
|
921
921
|
if (i.isPersonCloseEnough ? i.isPersonTooclose ? D = "docCollector.moveAwayCamera" : i.isPersonInFrame || (D = "docCollector.stayInFrame") : D = "docCollector.comeCloserCamera", r && Ti(D), !m && b && r && !ce && i.isPersonInFrame && !(!i.isPersonCloseEnough || i.isPersonTooclose)) {
|
922
922
|
t(9, ce = !0), Ct = (/* @__PURE__ */ new Date()).getTime() + 4500;
|
@@ -937,25 +937,25 @@ function fa(a, e, t) {
|
|
937
937
|
);
|
938
938
|
}
|
939
939
|
}), Xt = we.subscribe((i) => {
|
940
|
-
|
941
|
-
}), Vt =
|
940
|
+
Y && (i ? (Y.classList.remove("flex"), Y.classList.add("hidden")) : (Y.classList.add("flex"), Y.classList.remove("hidden")));
|
941
|
+
}), Vt = Ye.subscribe((i) => {
|
942
942
|
_ && i && (console.log("setting null in video srcObject"), t(6, _.srcObject = null, _), t(6, _.src = "", _), v(de, h = null, h));
|
943
943
|
});
|
944
|
-
|
944
|
+
xe.subscribe(async (i) => {
|
945
945
|
i === $e.Document && await Rt();
|
946
946
|
});
|
947
|
-
const
|
947
|
+
const xt = de.subscribe(async (i) => {
|
948
948
|
if (!(!y || !i))
|
949
949
|
try {
|
950
|
-
const D = await Ai(
|
951
|
-
t(6, _.srcObject = y, _), v(
|
950
|
+
const D = await Ai(L.width, L.height, i);
|
951
|
+
t(6, _.srcObject = y, _), v(Ye, Z = !1, Z), y.getTracks().forEach((w) => {
|
952
952
|
w.readyState === "live" && console.log(`Camera ${w.label} opened successfully!`);
|
953
953
|
}), v(G, n = W.OK, n), Oi(_);
|
954
954
|
} catch (D) {
|
955
955
|
const w = D;
|
956
956
|
fe = !0, Me(w) && "message" in w && w.message.includes("Requested device not found") && v(G, n = W.DEVICE_NOT_FOUND_ERROR, n);
|
957
957
|
}
|
958
|
-
}),
|
958
|
+
}), Jt = xe.subscribe(async (i) => {
|
959
959
|
i === $e.Document && !It && !m && da && await Mt();
|
960
960
|
}), Kt = ge.subscribe(async (i) => {
|
961
961
|
i && Dt();
|
@@ -968,7 +968,7 @@ function fa(a, e, t) {
|
|
968
968
|
await Ze(N);
|
969
969
|
return;
|
970
970
|
}
|
971
|
-
i ? (v(Ie, d =
|
971
|
+
i ? (v(Ie, d = Je.FRONT_CAMERA, d), await ie()) : (v(Ie, d = Je.REAR_CAMERA, d), await ie());
|
972
972
|
}
|
973
973
|
}), ei = zi.subscribe(async (i) => {
|
974
974
|
!i.isSupported || !X() || f != "DOCUMENT" || (ke = i.orientation.includes("portrait"), ke ? _ && !u ? await ie() : v(G, n = W.OK, n) : v(G, n = W.CAMERA_ORIENTATION_PORTRAIT, n));
|
@@ -978,12 +978,12 @@ function fa(a, e, t) {
|
|
978
978
|
try {
|
979
979
|
if (je >= ua) {
|
980
980
|
je = 0;
|
981
|
-
const D = await ji(), w = await import("./face_api_0e3ce8c8_3.1.0-
|
981
|
+
const D = await ji(), w = await import("./face_api_0e3ce8c8_3.1.0-RC04.js");
|
982
982
|
let N;
|
983
983
|
if (N = w.detectSingleFace(_, D), i = await N.withFaceLandmarks(), R.getContext("2d")?.clearRect(0, 0, R.width, R.height), i != null) {
|
984
|
-
const z =
|
984
|
+
const z = Qi(R, _, !0);
|
985
985
|
ki(R, _, z);
|
986
|
-
const B =
|
986
|
+
const B = Yi(i, z);
|
987
987
|
Ri(B) ? (Ei(B, R, Te, !0), v(be, r = !0, r), Re = (/* @__PURE__ */ new Date()).getTime()) : _t();
|
988
988
|
} else
|
989
989
|
_t();
|
@@ -998,7 +998,7 @@ function fa(a, e, t) {
|
|
998
998
|
Ge.subscribe(async (i) => {
|
999
999
|
i && (me(), v(Ge, s = !1, s));
|
1000
1000
|
}), Si(() => {
|
1001
|
-
console.log("Destroying document collector"), qe(), Xt(),
|
1001
|
+
console.log("Destroying document collector"), qe(), Xt(), Yt(), Qt(), Vt(), xt(), Jt(), clearInterval(wt), Kt(), $t(), qt(), ei(), wt = 0;
|
1002
1002
|
});
|
1003
1003
|
function ti(i) {
|
1004
1004
|
et[i ? "unshift" : "push"](() => {
|
@@ -1016,7 +1016,7 @@ function fa(a, e, t) {
|
|
1016
1016
|
const si = () => Se(), oi = () => me();
|
1017
1017
|
function ni(i) {
|
1018
1018
|
et[i ? "unshift" : "push"](() => {
|
1019
|
-
|
1019
|
+
Y = i, t(8, Y);
|
1020
1020
|
});
|
1021
1021
|
}
|
1022
1022
|
const ri = () => Se(), li = () => me(), ci = async () => {
|
@@ -1033,7 +1033,7 @@ function fa(a, e, t) {
|
|
1033
1033
|
he,
|
1034
1034
|
_,
|
1035
1035
|
R,
|
1036
|
-
|
1036
|
+
Y,
|
1037
1037
|
ce,
|
1038
1038
|
n,
|
1039
1039
|
u,
|