@incodetech/welcome 1.71.0-20240430174538.0 → 1.71.0-20240430180918.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"LoginDesktop.d.ts","sourceRoot":"","sources":["../../../../src/auth/LoginDesktop.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,SAAS,CAAC;AAmB7D,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,UAAU,EACV,OAAO,EACP,SAAS,EACT,OAAe,EACf,kBAA0B,GAC3B,EAAE,WAAW,2CA0Lb"}
1
+ {"version":3,"file":"LoginDesktop.d.ts","sourceRoot":"","sources":["../../../../src/auth/LoginDesktop.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,SAAS,CAAC;AAmB7D,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,UAAU,EACV,OAAO,EACP,SAAS,EACT,OAAe,EACf,kBAA0B,GAC3B,EAAE,WAAW,2CA4Lb"}
@@ -1 +1 @@
1
- {"version":3,"file":"CaptureDesktopSelfie.d.ts","sourceRoot":"","sources":["../../../../src/camera/CaptureDesktopSelfie.tsx"],"names":[],"mappings":";;AA6fA,wBAAiD"}
1
+ {"version":3,"file":"CaptureDesktopSelfie.d.ts","sourceRoot":"","sources":["../../../../src/camera/CaptureDesktopSelfie.tsx"],"names":[],"mappings":";;AA+fA,wBAAiD"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChooseCamera.d.ts","sourceRoot":"","sources":["../../../../src/camera/ChooseCamera.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AAmCxD,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf,CAmGA,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"ChooseCamera.d.ts","sourceRoot":"","sources":["../../../../src/camera/ChooseCamera.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AAoCxD,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf,CAoGA,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -38015,7 +38015,7 @@ function LoginDesktop({
38015
38015
  transactionId: He,
38016
38016
  onSuccess: rt
38017
38017
  });
38018
- const At = dt ? "Uploading..." : ot, Nt = dt || lt || ct;
38018
+ const At = dt ? at("notifications.uploading") : ot, Nt = dt || lt || ct;
38019
38019
  return /* @__PURE__ */ jsxs(LoginContainer, {
38020
38020
  className: "login-desktop-container IncodeLoginDesktopContainer",
38021
38021
  children: [/* @__PURE__ */ jsx(HiddenTitle, {
@@ -45723,7 +45723,7 @@ function renderUserConsent(ue, {
45723
45723
  })
45724
45724
  }), ue, He);
45725
45725
  }
45726
- const version = "1.71.0-20240430174538.0";
45726
+ const version = "1.71.0-20240430180918.0";
45727
45727
  function r(ue) {
45728
45728
  for (var me = "", Ue = 0; Ue < ue.length; ++Ue)
45729
45729
  if (Ue > 0) {
@@ -101065,71 +101065,73 @@ const ChooseCameraContainer = styled.div`
101065
101065
  onCameraChosen: ue,
101066
101066
  token: me
101067
101067
  }) => {
101068
- const [Ue, Qe] = useState([]), Ze = useRef(null), Je = useRef(), [Ge, He] = useState("");
101068
+ const [Ue, Qe] = useState([]), Ze = useRef(null), Je = useRef(), [Ge, He] = useState(""), {
101069
+ t: Xe
101070
+ } = useTranslation();
101069
101071
  useEffect(() => () => {
101070
- var nt;
101071
- (nt = Je.current) == null || nt.getTracks().forEach((tt) => {
101072
- tt.stop();
101072
+ var tt;
101073
+ (tt = Je.current) == null || tt.getTracks().forEach((et) => {
101074
+ et.stop();
101073
101075
  });
101074
101076
  }, []);
101075
- const Xe = () => {
101077
+ const Ke = () => {
101076
101078
  ue(Ge);
101077
- }, Ke = async (nt) => {
101078
- He(nt);
101079
- const tt = await navigator.mediaDevices.getUserMedia({
101079
+ }, $e = async (tt) => {
101080
+ He(tt);
101081
+ const et = await navigator.mediaDevices.getUserMedia({
101080
101082
  video: {
101081
101083
  deviceId: {
101082
- exact: nt
101084
+ exact: tt
101083
101085
  }
101084
101086
  }
101085
101087
  });
101086
- Je.current = tt, Ze.current.srcObject = tt;
101088
+ Je.current = et, Ze.current.srcObject = et;
101087
101089
  };
101088
101090
  useEffect(() => {
101089
101091
  (async () => {
101090
101092
  try {
101091
- const tt = [];
101093
+ const et = [];
101092
101094
  if (await navigator.mediaDevices.getUserMedia({
101093
101095
  video: !0
101094
- }), (await navigator.mediaDevices.enumerateDevices()).forEach((rt) => {
101095
- rt.kind === "videoinput" && tt.push(rt);
101096
- }), tt.length === 1)
101097
- return ue(tt[0].deviceId);
101098
- Qe(tt), Ke(tt[0].deviceId);
101099
- } catch (tt) {
101100
- tt.constructor.name === "DOMException" && (addEvent({
101096
+ }), (await navigator.mediaDevices.enumerateDevices()).forEach((at) => {
101097
+ at.kind === "videoinput" && et.push(at);
101098
+ }), et.length === 1)
101099
+ return ue(et[0].deviceId);
101100
+ Qe(et), $e(et[0].deviceId);
101101
+ } catch (et) {
101102
+ et.constructor.name === "DOMException" && (addEvent({
101101
101103
  code: "permissionDenied",
101102
101104
  payload: {
101103
101105
  message: "User denied to use camera."
101104
101106
  },
101105
101107
  token: me
101106
- }), tt.type = "permissionDenied"), ue("error");
101108
+ }), et.type = "permissionDenied"), ue("error");
101107
101109
  }
101108
101110
  })();
101109
101111
  }, []);
101110
- const $e = async (nt) => {
101111
- await Ke(nt.target.value);
101112
+ const nt = async (tt) => {
101113
+ await $e(tt.target.value);
101112
101114
  };
101113
101115
  return Ue.length === 0 ? null : /* @__PURE__ */ jsxs(ChooseCameraContainer, {
101114
101116
  className: "IncodeChooseCameraContainer",
101115
101117
  children: [/* @__PURE__ */ jsx("h1", {
101116
101118
  className: "IncodeChooseCameraTitle",
101117
- children: "Please confirm the camera you want to use"
101119
+ children: Xe("choseCamera.confirmCameraToUse")
101118
101120
  }), /* @__PURE__ */ jsx(PreviewVideo, {
101119
101121
  className: "IncodeChooseCameraPreviewVideo",
101120
101122
  autoPlay: !0,
101121
101123
  ref: Ze
101122
101124
  }), /* @__PURE__ */ jsx(CameraSelect, {
101123
101125
  className: "IncodeChooseCameraSelector",
101124
- onChange: $e,
101125
- children: Ue.map((nt) => /* @__PURE__ */ jsx("option", {
101126
- value: nt.deviceId,
101127
- children: nt.label
101128
- }, nt.deviceId))
101126
+ onChange: nt,
101127
+ children: Ue.map((tt) => /* @__PURE__ */ jsx("option", {
101128
+ value: tt.deviceId,
101129
+ children: tt.label
101130
+ }, tt.deviceId))
101129
101131
  }), /* @__PURE__ */ jsx(Button$9, {
101130
101132
  className: "IncodeChooseCameraButton",
101131
- onClick: Xe,
101132
- children: "Continue"
101133
+ onClick: Ke,
101134
+ children: Xe("common.continue")
101133
101135
  })]
101134
101136
  });
101135
101137
  }, glare = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNTZweCIgaGVpZ2h0PSI3MHB4IiB2aWV3Qm94PSIwIDAgNTYgNzAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+Z2xhcmVAMXg8L3RpdGxlPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IkFydGJvYXJkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjA2LjAwMDAwMCwgLTE0Mi4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9ImdsYXJlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMDYuMDAwMDAwLCAxNDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiBmaWxsPSIjMjAyNjNEIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0LjUwMDAwMCwgMzguNTAwMDAwKSByb3RhdGUoLTkwLjAwMDAwMCkgdHJhbnNsYXRlKC0yNC41MDAwMDAsIC0zOC41MDAwMDApICIgeD0iLTciIHk9IjE0IiB3aWR0aD0iNjMiIGhlaWdodD0iNDkiIHJ4PSI4Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjUuMDY0LDMwLjAxNSBDMjAuMDc0LDMwLjAxNSAxNi4wMTUsMzQuMDc1IDE2LjAxNSwzOS4wNjUgQzE2LjAxNSw0NC4wNTUgMjAuMDc1LDQ4LjExNSAyNS4wNjQsNDguMTE1IEMzMC4wNTMsNDguMTE1IDM0LjExMyw0NC4wNTUgMzQuMTEzLDM5LjA2NSBDMzQuMTEzLDM0LjA3NSAzMC4wNTMsMzAuMDE1IDI1LjA2NCwzMC4wMTUgWiBNMjUuMDY0LDI3LjM1NSBDMjQuMDg5LDI3LjM1NSAyMy4yOTgsMjYuNTY1IDIzLjI5OCwyNS41OSBMMjMuMjk4LDIyLjc2NiBDMjMuMjk4LDIxLjc5IDI0LjA4OCwyMSAyNS4wNjQsMjEgQzI2LjAzOSwyMSAyNi44MywyMS43OSAyNi44MywyMi43NjYgTDI2LjgzLDI1LjU5IEMyNi44MywyNi41NjUgMjYuMDM4LDI3LjM1NSAyNS4wNjQsMjcuMzU1IEwyNS4wNjQsMjcuMzU1IFogTTI1LjA2NCw1MC43NzIgQzI0LjA4OSw1MC43NzIgMjMuMjk4LDUxLjU2MiAyMy4yOTgsNTIuNTM4IEwyMy4yOTgsNTUuMzYyIEMyMy4yOTgsNTYuMzM4IDI0LjA4OCw1Ny4xMjggMjUuMDY0LDU3LjEyOCBDMjYuMDM5LDU3LjEyOCAyNi44Myw1Ni4zMzggMjYuODMsNTUuMzYyIEwyNi44Myw1Mi41MzggQzI2LjgzLDUxLjU2MiAyNi4wMzgsNTAuNzcyIDI1LjA2NCw1MC43NzIgWiBNMzMuMzQyLDMwLjc4NSBDMzIuNjU0LDMwLjA5NSAzMi42NTQsMjguOTc4IDMzLjM0MiwyOC4yODggTDM1LjM0LDI2LjI5IEMzNi4wMjksMjUuNjAyIDM3LjE0NywyNS42MDIgMzcuODM3LDI2LjI5IEMzOC41MjcsMjYuOTggMzguNTI3LDI4LjA5OCAzNy44MzcsMjguNzg3IEwzNS44MzksMzAuNzg1IEMzNS4xNSwzMS40NzUgMzQuMDMzLDMxLjQ3NSAzMy4zNDIsMzAuNzg1IFogTTE1Ljc4NSw0Ny4zNDQgQzE1LjA5NSw0Ni42NTQgMTMuOTc4LDQ2LjY1NCAxMy4yODgsNDcuMzQ0IEwxMS4yOSw0OS4zNDEgQzEwLjYwMiw1MC4wMyAxMC42LDUxLjE0OSAxMS4yOSw1MS44MzggQzExLjk4LDUyLjUyNiAxMy4wOTgsNTIuNTI2IDEzLjc4Nyw1MS44MzggTDE1Ljc4NSw0OS44MzkgQzE2LjQ3NSw0OS4xNSAxNi40NzUsNDguMDMyIDE1Ljc4NSw0Ny4zNDQgWiBNMzYuNzcyLDM5LjA2NCBDMzYuNzcyLDM4LjA4OSAzNy41NjIsMzcuMjk4IDM4LjUzOCwzNy4yOTggTDQxLjM2MiwzNy4yOTggQzQyLjMzOCwzNy4yOTggNDMuMTI4LDM4LjA4OCA0My4xMjgsMzkuMDY0IEM0My4xMjgsNDAuMDM5IDQyLjMzOCw0MC44MjkgNDEuMzYyLDQwLjgyOSBMMzguNTM4LDQwLjgyOSBDMzcuNTYyLDQwLjgyOSAzNi43NzIsNDAuMDM5IDM2Ljc3MiwzOS4wNjQgWiBNMTIuMzU1LDM5LjA2NCBDMTIuMzU1LDM4LjA4OSAxMS41NjUsMzcuMjk4IDEwLjU5LDM3LjI5OCBMNy43NjYsMzcuMjk4IEM2Ljc5LDM3LjI5OCA2LDM4LjA4OCA2LDM5LjA2NCBDNiw0MC4wMzkgNi43OSw0MC44MjkgNy43NjYsNDAuODI5IEwxMC41OSw0MC44MjkgQzExLjU2NSw0MC44MjkgMTIuMzU1LDQwLjAzOSAxMi4zNTUsMzkuMDY0IFogTTMyLjM0Miw0Ny4zNDQgQzMzLjAzMiw0Ni42NTUgMzQuMTUsNDYuNjU1IDM0LjgzOSw0Ny4zNDQgTDM2LjgzNyw0OS4zNDIgQzM3LjUyNyw1MC4wMyAzNy41MjcsNTEuMTQ5IDM2LjgzNyw1MS44MzggQzM2LjE0Nyw1Mi41MjYgMzUuMDMsNTIuNTI2IDM0LjM0LDUxLjgzOCBMMzIuMzQyLDQ5Ljg0IEMzMS42NTIsNDkuMTUgMzEuNjUyLDQ4LjAzMyAzMi4zNDIsNDcuMzQ0IFogTTE1Ljc4NSwzMC43ODUgQzE2LjQ3NSwzMC4wOTUgMTYuNDc1LDI4Ljk3OCAxNS43ODUsMjguMjg4IEwxMy43ODcsMjYuMjkxIEMxMy4wOTcsMjUuNjAxIDExLjk4LDI1LjYwMSAxMS4yOSwyNi4yOTEgQzEwLjYsMjYuOTggMTAuNiwyOC4wOTggMTEuMjksMjguNzg3IEwxMy4yODgsMzAuNzg1IEMxMy45NzgsMzEuNDc1IDE1LjA5NSwzMS40NzUgMTUuNzg1LDMwLjc4NSBaIiBpZD0iU2hhcGUiIGZpbGw9IiNGRkZGRkYiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPgogICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNi4wMDAwMDAsIDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbCIgZmlsbD0iI0ZGNUM2RiIgZmlsbC1ydWxlPSJub256ZXJvIiBjeD0iOS45NzkiIGN5PSI5Ljk3OSIgcj0iOS45NzkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuMDAwMDAwLCA2LjAwMDAwMCkiIGlkPSJQYXRoIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS4yNDciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNC45MTMsNC4xMzQgTDcuNTU2LDEuNDkxIEM3LjYyOCwxLjQxOCA3LjY2OCwxLjMyMSA3LjY2OSwxLjIxOCBDNy42NjksMS4xMTQgNy42MjksMS4wMTggNy41NTYsMC45NDQgTDcuMzI0LDAuNzEzIEM3LjI1MSwwLjY0IDcuMTU0LDAuNiA3LjA1MSwwLjYgQzYuOTQ3LDAuNiA2Ljg1MSwwLjY0IDYuNzc3LDAuNzEzIEw0LjEzNCwzLjM1NiBMMS40OTEsMC43MTMgQzEuNDIsMC42NCAxLjMyMSwwLjYgMS4yMTgsMC42IEMxLjExNSwwLjYgMS4wMTgsMC42NCAwLjk0NSwwLjcxMyBMMC43MTMsMC45NDQgQzAuNTYzLDEuMDk1IDAuNTYzLDEuMzQxIDAuNzEzLDEuNDkxIEwzLjM1Niw0LjEzNCBMMC43MTMsNi43NzcgQzAuNjQsNi44NSAwLjYsNi45NDcgMC42LDcuMDUxIEMwLjYsNy4xNTQgMC42NCw3LjI1MSAwLjcxMyw3LjMyNCBMMC45NDUsNy41NTYgQzEuMDE3LDcuNjI5IDEuMTE1LDcuNjY5IDEuMjE4LDcuNjY5IEMxLjMyMiw3LjY2OSAxLjQxOCw3LjYyOSAxLjQ5MSw3LjU1NiBMNC4xMzQsNC45MTMgTDYuNzc3LDcuNTU2IEM2Ljg1LDcuNjI5IDYuOTQ3LDcuNjY5IDcuMDUxLDcuNjY5IEw3LjA1MSw3LjY2OSBDNy4xNTQsNy42NjkgNy4yNTEsNy42MjkgNy4zMjQsNy41NTYgTDcuNTU2LDcuMzI0IEM3LjYyOCw3LjI1MSA3LjY2OCw3LjE1NCA3LjY2OCw3LjA1MSBDNy42NjgsNi45NDcgNy42MjgsNi44NTEgNy41NTYsNi43NzcgTDQuOTEzLDQuMTM0IFoiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==", lens = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNTZweCIgaGVpZ2h0PSI3MHB4IiB2aWV3Qm94PSIwIDAgNTYgNzAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+bGVuc0AxeDwvdGl0bGU+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iQXJ0Ym9hcmQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yODkuMDAwMDAwLCAtMTQyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0ibGVucyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjg5LjAwMDAwMCwgMTQyLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZSIgZmlsbD0iIzIwMjYzRCIgZmlsbC1ydWxlPSJub256ZXJvIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNC41MDAwMDAsIDM4LjUwMDAwMCkgcm90YXRlKC05MC4wMDAwMDApIHRyYW5zbGF0ZSgtMjQuNTAwMDAwLCAtMzguNTAwMDAwKSAiIHg9Ii03IiB5PSIxNCIgd2lkdGg9IjYzIiBoZWlnaHQ9IjQ5IiByeD0iOCI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjAwMDAwMCwgMjYuMDAwMDAwKSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI4LjIzMywzLjk2IEwyNC4xNjMsMy45NiBDMjMuNjQ5LDMuOTYgMjMuMTY2LDMuNzU0IDIyLjgwMiwzLjM4IEwyMC40NTYsMC45NjcgQzE5Ljg1LDAuMzQ0IDE5LjA0NCwwIDE4LjE4NiwwIEwxMi42MTMsMCBDMTEuNzU2LDAgMTAuOTUsMC4zNDQgMTAuMzQ0LDAuOTY3IEw3Ljk5OCwzLjM4IEM3LjYzNCwzLjc1NCA3LjE1MSwzLjk2IDYuNjM3LDMuOTYgTDIuNTY3LDMuOTYgQzEuMTUsMy45NiAwLDUuMTQ0IDAsNi42IEwwLDIzLjc2IEMwLDI1LjIxNiAxLjE1MSwyNi40IDIuNTY3LDI2LjQgTDI4LjIzMywyNi40IEMyOS42NDksMjYuNCAzMC44LDI1LjIxNiAzMC44LDIzLjc2IEwzMC44LDYuNiBDMzAuOCw1LjE0NCAyOS42NDksMy45NiAyOC4yMzMsMy45NiBaIE0xNS40LDI0LjIgQzEwLjU0NywyNC4yIDYuNiwyMC4yNTMgNi42LDE1LjQgQzYuNiwxMC41NDcgMTAuNTQ3LDYuNiAxNS40LDYuNiBDMjAuMjUzLDYuNiAyNC4yLDEwLjU0NyAyNC4yLDE1LjQgQzI0LjIsMjAuMjUzIDIwLjI1MywyNC4yIDE1LjQsMjQuMiBaIE0yNi40LDcuNyBDMjcuMDA2LDcuNyAyNy41LDguMTk0IDI3LjUsOC44IEMyNy41LDkuNDA2IDI3LjAwNiw5LjkgMjYuNCw5LjkgQzI1Ljc5NCw5LjkgMjUuMyw5LjQwNiAyNS4zLDguOCBDMjUuMyw4LjE5NCAyNS43OTQsNy43IDI2LjQsNy43IFogTTYuMDUsMS4xIEM2LjM1NCwxLjEgNi42LDEuMzQ2IDYuNiwxLjY1IEM2LjYsMS45NTQgNi4zNTQsMi4yIDYuMDUsMi4yIEwyLjc1LDIuMiBDMi40NDYsMi4yIDIuMiwxLjk1NCAyLjIsMS42NSBDMi4yLDEuMzQ2IDIuNDQ2LDEuMSAyLjc1LDEuMSBMNi4wNSwxLjEgWiIgaWQ9IlNoYXBlIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsIiBjeD0iMTMuNSIgY3k9IjEzLjUiIHI9IjMuNSI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBjeD0iMTkuNSIgY3k9IjE1LjUiIHI9IjEuNSI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5LTIiIGN4PSIxNyIgY3k9IjE5IiByPSIyIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzYuMDAwMDAwLCAwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwiIGZpbGw9IiNGRjVDNkYiIGZpbGwtcnVsZT0ibm9uemVybyIgY3g9IjkuOTc5IiBjeT0iOS45NzkiIHI9IjkuOTc5Ij48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2LjAwMDAwMCwgNi4wMDAwMDApIiBpZD0iUGF0aCIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQuOTEzLDQuMTM0IEw3LjU1NiwxLjQ5MSBDNy42MjgsMS40MTggNy42NjgsMS4zMjEgNy42NjksMS4yMTggQzcuNjY5LDEuMTE0IDcuNjI5LDEuMDE4IDcuNTU2LDAuOTQ0IEw3LjMyNCwwLjcxMyBDNy4yNTEsMC42NCA3LjE1NCwwLjYgNy4wNTEsMC42IEM2Ljk0NywwLjYgNi44NTEsMC42NCA2Ljc3NywwLjcxMyBMNC4xMzQsMy4zNTYgTDEuNDkxLDAuNzEzIEMxLjQyLDAuNjQgMS4zMjEsMC42IDEuMjE4LDAuNiBDMS4xMTUsMC42IDEuMDE4LDAuNjQgMC45NDUsMC43MTMgTDAuNzEzLDAuOTQ0IEMwLjU2MywxLjA5NSAwLjU2MywxLjM0MSAwLjcxMywxLjQ5MSBMMy4zNTYsNC4xMzQgTDAuNzEzLDYuNzc3IEMwLjY0LDYuODUgMC42LDYuOTQ3IDAuNiw3LjA1MSBDMC42LDcuMTU0IDAuNjQsNy4yNTEgMC43MTMsNy4zMjQgTDAuOTQ1LDcuNTU2IEMxLjAxNyw3LjYyOSAxLjExNSw3LjY2OSAxLjIxOCw3LjY2OSBDMS4zMjIsNy42NjkgMS40MTgsNy42MjkgMS40OTEsNy41NTYgTDQuMTM0LDQuOTEzIEw2Ljc3Nyw3LjU1NiBDNi44NSw3LjYyOSA2Ljk0Nyw3LjY2OSA3LjA1MSw3LjY2OSBMNy4wNTEsNy42NjkgQzcuMTU0LDcuNjY5IDcuMjUxLDcuNjI5IDcuMzI0LDcuNTU2IEw3LjU1Niw3LjMyNCBDNy42MjgsNy4yNTEgNy42NjgsNy4xNTQgNy42NjgsNy4wNTEgQzcuNjY4LDYuOTQ3IDcuNjI4LDYuODUxIDcuNTU2LDYuNzc3IEw0LjkxMyw0LjEzNCBaIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=", outFrame = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNTZweCIgaGVpZ2h0PSI3N3B4IiB2aWV3Qm94PSIwIDAgNTYgNzciIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+b3V0IGZyYW1lQDF4PC90aXRsZT4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJBcnRib2FyZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEyNS4wMDAwMDAsIC0xNDIuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJvdXQtZnJhbWUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNS4wMDAwMDAsIDE0Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDcuMDAwMDAwKSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iYmM2ZDluaGt4YS1saW5rIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNC41MDAwMDAsIDMxLjUwMDAwMCkgcm90YXRlKC05MC4wMDAwMDApIHRyYW5zbGF0ZSgtMjQuNTAwMDAwLCAtMzEuNTAwMDAwKSB0cmFuc2xhdGUoLTcuMDAwMDAwLCA3LjAwMDAwMCkiIGZpbGw9IiMyMDI2M0QiPgogICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBpZD0iYmM2ZDluaGt4YSIgeD0iMCIgeT0iMCIgd2lkdGg9IjYzIiBoZWlnaHQ9IjQ5IiByeD0iOCI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMDAwMDAwLCAxNS4wMDAwMDApIiBmaWxsPSIjRkZGRkZGIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ1LjA2MTcwNiwxMy41NzIyNjk0IEM0Ni4yOTg3MDYsMTMuNTcyMjY5NCA0Ny4zMDE3MDYsMTQuNTc1MjY5NCA0Ny4zMDE3MDYsMTUuODEyMjY5NCBMNDcuMzAxNzA2LDM5LjMzMjI2OTQgQzQ3LjMwMTcwNiw0MC41NjkyNjk0IDQ2LjI5ODcwNiw0MS41NzIyNjk0IDQ1LjA2MTcwNiw0MS41NzIyNjk0IEwyLjUwMTcwNjAyLDQxLjU3MjI2OTQgQzEuMjY0NzA2MDIsNDEuNTcyMjY5NCAwLjI2MTcwNjAyNCw0MC41NjkyNjk0IDAuMjYxNzA2MDI0LDM5LjMzMjI2OTQgTDAuMjYxNzA2MDI0LDE1LjgxMjI2OTQgQzAuMjYxNzA2MDI0LDE0LjU3NTI2OTQgMS4yNjQ3MDYwMiwxMy41NzIyNjk0IDIuNTAxNzA2MDIsMTMuNTcyMjY5NCBMNDUuMDYxNzA2LDEzLjU3MjI2OTQgWiBNMTguMTgxNzA2LDE2LjkzMjI2OTQgTDUuODYxNzA2MDIsMTYuOTMyMjY5NCBDNC42MjQ3MDYwMiwxNi45MzIyNjk0IDMuNjIxNzA2MDIsMTcuOTM1MjY5NCAzLjYyMTcwNjAyLDE5LjE3MjI2OTQgTDMuNjIxNzA2MDIsMzUuOTcyMjY5NCBDMy42MjE3MDYwMiwzNy4yMDkyNjk0IDQuNjI0NzA2MDIsMzguMjEyMjY5NCA1Ljg2MTcwNjAyLDM4LjIxMjI2OTQgTDE4LjE4MTcwNiwzOC4yMTIyNjk0IEMxOS40MTg3MDYsMzguMjEyMjY5NCAyMC40MjE3MDYsMzcuMjA5MjY5NCAyMC40MjE3MDYsMzUuOTcyMjY5NCBMMjAuNDIxNzA2LDE5LjE3MjI2OTQgQzIwLjQyMTcwNiwxNy45MzUyNjk0IDE5LjQxODcwNiwxNi45MzIyNjk0IDE4LjE4MTcwNiwxNi45MzIyNjk0IFogTTQyLjgyMTcwNiwzNS45NzIyNjk0IEwyNC45MDE3MDYsMzUuOTcyMjY5NCBDMjQuMjgyNzA2LDM1Ljk3MjI2OTQgMjMuNzgxNzA2LDM2LjQ3MzI2OTQgMjMuNzgxNzA2LDM3LjA5MjI2OTQgQzIzLjc4MTcwNiwzNy43MTEyNjk0IDI0LjI4MjcwNiwzOC4yMTIyNjk0IDI0LjkwMTcwNiwzOC4yMTIyNjk0IEw0Mi44MjE3MDYsMzguMjEyMjY5NCBDNDMuNDQwNzA2LDM4LjIxMjI2OTQgNDMuOTQxNzA2LDM3LjcxMTI2OTQgNDMuOTQxNzA2LDM3LjA5MjI2OTQgQzQzLjk0MTcwNiwzNi40NzMyNjk0IDQzLjQ0MDcwNiwzNS45NzIyNjk0IDQyLjgyMTcwNiwzNS45NzIyNjk0IFogTTQyLjgyMTcwNiwzMS40OTIyNjk0IEwyNC45MDE3MDYsMzEuNDkyMjY5NCBDMjQuMjgyNzA2LDMxLjQ5MjI2OTQgMjMuNzgxNzA2LDMxLjk5MzI2OTQgMjMuNzgxNzA2LDMyLjYxMjI2OTQgQzIzLjc4MTcwNiwzMy4yMzEyNjk0IDI0LjI4MjcwNiwzMy43MzIyNjk0IDI0LjkwMTcwNiwzMy43MzIyNjk0IEw0Mi44MjE3MDYsMzMuNzMyMjY5NCBDNDMuNDQwNzA2LDMzLjczMjI2OTQgNDMuOTQxNzA2LDMzLjIzMTI2OTQgNDMuOTQxNzA2LDMyLjYxMjI2OTQgQzQzLjk0MTcwNiwzMS45OTMyNjk0IDQzLjQ0MDcwNiwzMS40OTIyNjk0IDQyLjgyMTcwNiwzMS40OTIyNjk0IFogTTQyLjgyMTcwNiwyNy4wMTIyNjk0IEwyNC45MDE3MDYsMjcuMDEyMjY5NCBDMjQuMjgyNzA2LDI3LjAxMjI2OTQgMjMuNzgxNzA2LDI3LjUxMzI2OTQgMjMuNzgxNzA2LDI4LjEzMjI2OTQgQzIzLjc4MTcwNiwyOC43NTEyNjk0IDI0LjI4MjcwNiwyOS4yNTIyNjk0IDI0LjkwMTcwNiwyOS4yNTIyNjk0IEw0Mi44MjE3MDYsMjkuMjUyMjY5NCBDNDMuNDQwNzA2LDI5LjI1MjI2OTQgNDMuOTQxNzA2LDI4Ljc1MTI2OTQgNDMuOTQxNzA2LDI4LjEzMjI2OTQgQzQzLjk0MTcwNiwyNy41MTMyNjk0IDQzLjQ0MDcwNiwyNy4wMTIyNjk0IDQyLjgyMTcwNiwyNy4wMTIyNjk0IFogTTMzLjg2MTcwNiwyMi41MzIyNjk0IEwyNC45MDE3MDYsMjIuNTMyMjY5NCBDMjQuMjgyNzA2LDIyLjUzMjI2OTQgMjMuNzgxNzA2LDIzLjAzMzI2OTQgMjMuNzgxNzA2LDIzLjY1MjI2OTQgQzIzLjc4MTcwNiwyNC4yNzEyNjk0IDI0LjI4MjcwNiwyNC43NzIyNjk0IDI0LjkwMTcwNiwyNC43NzIyNjk0IEwzMy44NjE3MDYsMjQuNzcyMjY5NCBDMzQuNDgwNzA2LDI0Ljc3MjI2OTQgMzQuOTgxNzA2LDI0LjI3MTI2OTQgMzQuOTgxNzA2LDIzLjY1MjI2OTQgQzM0Ljk4MTcwNiwyMy4wMzMyNjk0IDM0LjQ4MDcwNiwyMi41MzIyNjk0IDMzLjg2MTcwNiwyMi41MzIyNjk0IFogTTMzLjg2MTcwNiwxOC4wNTIyNjk0IEwyNC45MDE3MDYsMTguMDUyMjY5NCBDMjQuMjgyNzA2LDE4LjA1MjI2OTQgMjMuNzgxNzA2LDE4LjU1MzI2OTQgMjMuNzgxNzA2LDE5LjE3MjI2OTQgQzIzLjc4MTcwNiwxOS43OTEyNjk0IDI0LjI4MjcwNiwyMC4yOTIyNjk0IDI0LjkwMTcwNiwyMC4yOTIyNjk0IEwzMy44NjE3MDYsMjAuMjkyMjY5NCBDMzQuNDgwNzA2LDIwLjI5MjI2OTQgMzQuOTgxNzA2LDE5Ljc5MTI2OTQgMzQuOTgxNzA2LDE5LjE3MjI2OTQgQzM0Ljk4MTcwNiwxOC41NTMyNjk0IDM0LjQ4MDcwNiwxOC4wNTIyNjk0IDMzLjg2MTcwNiwxOC4wNTIyNjk0IFoiIGlkPSJTaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjMuNzgxNzA2LCAyNy41NzIyNjkpIHJvdGF0ZSg2My4wMDAwMDApIHRyYW5zbGF0ZSgtMjMuNzgxNzA2LCAtMjcuNTcyMjY5KSAiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4wMDAwMDAsIDkuMDAwMDAwKSIgaWQ9IlBhdGgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEzLjQzNDQ4Nyw5Ljk4MDE1NTI0IEMxNC41MTE0ODcsOS45ODAxNTUyNCAxNS40NDQ0ODcsOS41OTQxNTUyNCAxNi4yMDY0ODcsOC44MzIxNTUyNCBDMTYuOTY4NDg3LDguMDY5MTU1MjQgMTcuMzU0NDg3LDcuMTM3MTU1MjQgMTcuMzU0NDg3LDYuMDYwMTU1MjQgQzE3LjM1NDQ4Nyw0Ljk4MzE1NTI0IDE2Ljk2ODQ4Nyw0LjA1MDE1NTI0IDE2LjIwNjQ4NywzLjI4ODE1NTI0IEMxNS40NDM0ODcsMi41MjYxNTUyNCAxNC41MTE0ODcsMi4xNDAxNTUyNCAxMy40MzQ0ODcsMi4xNDAxNTUyNCBDMTIuMzU3NDg3LDIuMTQwMTU1MjQgMTEuNDI0NDg3LDIuNTI2MTU1MjQgMTAuNjYyNDg3LDMuMjg4MTU1MjQgQzkuOTAwNDg2OTgsNC4wNTAxNTUyNCA5LjUxNDQ4Njk4LDQuOTgzMTU1MjQgOS41MTQ0ODY5OCw2LjA2MDE1NTI0IEM5LjUxNDQ4Njk4LDcuMTM3MTU1MjQgOS45MDA0ODY5OCw4LjA3MDE1NTI0IDEwLjY2MzQ4Nyw4LjgzMjE1NTI0IEMxMS40MjU0ODcsOS41OTQxNTUyNCAxMi4zNTc0ODcsOS45ODAxNTUyNCAxMy40MzQ0ODcsOS45ODAxNTUyNCBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy40MzQ0ODcsIDYuMDYwMTU1KSByb3RhdGUoNjMuMDAwMDAwKSB0cmFuc2xhdGUoLTEzLjQzNDQ4NywgLTYuMDYwMTU1KSAiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMi41Nzg5OTU4LDEwLjAzNTQ0MDggQzEyLjU1ODk5NTgsOS43Mzk0NDA3NSAxMi41MTg5OTU4LDkuNDE3NDQwNzUgMTIuNDU4OTk1OCw5LjA3NzQ0MDc1IEMxMi4zOTg5OTU4LDguNzM0NDQwNzUgMTIuMzIxOTk1OCw4LjQxMDQ0MDc1IDEyLjIyOTk5NTgsOC4xMTM0NDA3NSBDMTIuMTM0OTk1OCw3LjgwNzQ0MDc1IDEyLjAwNDk5NTgsNy41MDU0NDA3NSAxMS44NDM5OTU4LDcuMjE1NDQwNzUgQzExLjY3Nzk5NTgsNi45MTQ0NDA3NSAxMS40ODE5OTU4LDYuNjUyNDQwNzUgMTEuMjYyOTk1OCw2LjQzNjQ0MDc1IEMxMS4wMzI5OTU4LDYuMjExNDQwNzUgMTAuNzUyOTk1OCw2LjAzMDQ0MDc1IDEwLjQyNjk5NTgsNS44OTc0NDA3NSBDMTAuMTAzOTk1OCw1Ljc2NjQ0MDc1IDkuNzQ0OTk1ODMsNS42OTk0NDA3NSA5LjM2MDk5NTgzLDUuNjk5NDQwNzUgQzkuMjEwOTk1ODMsNS42OTk0NDA3NSA5LjA2Mzk5NTgzLDUuNzYzNDQwNzUgOC43ODI5OTU4Myw1Ljk1MTQ0MDc1IEM4LjYwOTk5NTgzLDYuMDY3NDQwNzUgOC40MDY5OTU4Myw2LjIwMTQ0MDc1IDguMTgwOTk1ODMsNi4zNTA0NDA3NSBDNy45ODY5OTU4Myw2LjQ3NjQ0MDc1IDcuNzI0OTk1ODMsNi41OTU0NDA3NSA3LjQwMDk5NTgzLDYuNzAyNDQwNzUgQzcuMDg1OTk1ODMsNi44MDc0NDA3NSA2Ljc2NDk5NTgzLDYuODYwNDQwNzUgNi40NDg5OTU4Myw2Ljg2MDQ0MDc1IEM2LjEzMTk5NTgzLDYuODYwNDQwNzUgNS44MTE5OTU4Myw2LjgwNzQ0MDc1IDUuNDk1OTk1ODMsNi43MDI0NDA3NSBDNS4xNzE5OTU4Myw2LjU5NTQ0MDc1IDQuOTA5OTk1ODMsNi40NzY0NDA3NSA0LjcxNTk5NTgzLDYuMzUwNDQwNzUgTDQuMTEzOTk1ODMsNS45NTA0NDA3NSBDMy44MzI5OTU4Myw1Ljc2MzQ0MDc1IDMuNjg2OTk1ODMsNS42OTk0NDA3NSAzLjUzNTk5NTgzLDUuNjk5NDQwNzUgQzMuMTUxOTk1ODMsNS42OTk0NDA3NSAyLjc5Mzk5NTgzLDUuNzY2NDQwNzUgMi40Njk5OTU4Myw1Ljg5NzQ0MDc1IEMyLjE0NDk5NTgzLDYuMDI5NDQwNzUgMS44NjM5OTU4Myw2LjIxMTQ0MDc1IDEuNjM0OTk1ODMsNi40Mzc0NDA3NSBDMS40MTQ5OTU4Myw2LjY1MjQ0MDc1IDEuMjE4OTk1ODMsNi45MTQ0NDA3NSAxLjA1Mjk5NTgzLDcuMjE1NDQwNzUgQzAuODkyOTk1ODI2LDcuNTA1NDQwNzUgMC43NjI5OTU4MjYsNy44MDc0NDA3NSAwLjY2Nzk5NTgyNiw4LjExMzQ0MDc1IEMwLjU3NDk5NTgyNiw4LjQxMDQ0MDc1IDAuNDk3OTk1ODI2LDguNzMzNDQwNzUgMC40Mzc5OTU4MjYsOS4wNzc0NDA3NSBDMC4zNzc5OTU4MjYsOS40MTc0NDA3NSAwLjMzNzk5NTgyNiw5LjczOTQ0MDc1IDAuMzE3OTk1ODI2LDEwLjAzNTQ0MDggQzAuMjk3OTk1ODI2LDEwLjMyNTQ0MDggMC4yODg5OTU4MjYsMTAuNjI3NDQwOCAwLjI4ODk5NTgyNiwxMC45MzE0NDA4IEMwLjI4ODk5NTgyNiwxMS43MjI0NDA4IDAuNTMzOTk1ODI2LDEyLjM2MzQ0MDggMS4wMTY5OTU4MywxMi44MzY0NDA4IEMxLjQ5Mzk5NTgzLDEzLjMwMjQ0MDggMi4xMjU5OTU4MywxMy41Mzk0NDA4IDIuODkzOTk1ODMsMTMuNTM5NDQwOCBMMTAuMDAzOTk1OCwxMy41Mzk0NDA4IEMxMC43NzE5OTU4LDEzLjUzOTQ0MDggMTEuNDAzOTk1OCwxMy4zMDM0NDA4IDExLjg4MDk5NTgsMTIuODM2NDQwOCBDMTIuMzYzOTk1OCwxMi4zNjQ0NDA4IDEyLjYwODk5NTgsMTEuNzIzNDQwOCAxMi42MDg5OTU4LDEwLjkzMTQ0MDggQzEyLjYwODk5NTgsMTAuNjI1NDQwOCAxMi41OTg5OTU4LDEwLjMyNDQ0MDggMTIuNTc4OTk1OCwxMC4wMzU0NDA4IEwxMi41Nzg5OTU4LDEwLjAzNTQ0MDggWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi40NDg5OTYsIDkuNjE5NDQxKSByb3RhdGUoNjMuMDAwMDAwKSB0cmFuc2xhdGUoLTYuNDQ4OTk2LCAtOS42MTk0NDEpICI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNi4wMDAwMDAsIDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbCIgZmlsbD0iI0ZGNUM2RiIgZmlsbC1ydWxlPSJub256ZXJvIiBjeD0iOS45NzkiIGN5PSI5Ljk3OSIgcj0iOS45NzkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuMDAwMDAwLCA2LjAwMDAwMCkiIGlkPSJQYXRoIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS4yNDciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNC45MTMsNC4xMzQgTDcuNTU2LDEuNDkxIEM3LjYyOCwxLjQxOCA3LjY2OCwxLjMyMSA3LjY2OSwxLjIxOCBDNy42NjksMS4xMTQgNy42MjksMS4wMTggNy41NTYsMC45NDQgTDcuMzI0LDAuNzEzIEM3LjI1MSwwLjY0IDcuMTU0LDAuNiA3LjA1MSwwLjYgQzYuOTQ3LDAuNiA2Ljg1MSwwLjY0IDYuNzc3LDAuNzEzIEw0LjEzNCwzLjM1NiBMMS40OTEsMC43MTMgQzEuNDIsMC42NCAxLjMyMSwwLjYgMS4yMTgsMC42IEMxLjExNSwwLjYgMS4wMTgsMC42NCAwLjk0NSwwLjcxMyBMMC43MTMsMC45NDQgQzAuNTYzLDEuMDk1IDAuNTYzLDEuMzQxIDAuNzEzLDEuNDkxIEwzLjM1Niw0LjEzNCBMMC43MTMsNi43NzcgQzAuNjQsNi44NSAwLjYsNi45NDcgMC42LDcuMDUxIEMwLjYsNy4xNTQgMC42NCw3LjI1MSAwLjcxMyw3LjMyNCBMMC45NDUsNy41NTYgQzEuMDE3LDcuNjI5IDEuMTE1LDcuNjY5IDEuMjE4LDcuNjY5IEMxLjMyMiw3LjY2OSAxLjQxOCw3LjYyOSAxLjQ5MSw3LjU1NiBMNC4xMzQsNC45MTMgTDYuNzc3LDcuNTU2IEM2Ljg1LDcuNjI5IDYuOTQ3LDcuNjY5IDcuMDUxLDcuNjY5IEw3LjA1MSw3LjY2OSBDNy4xNTQsNy42NjkgNy4yNTEsNy42MjkgNy4zMjQsNy41NTYgTDcuNTU2LDcuMzI0IEM3LjYyOCw3LjI1MSA3LjY2OCw3LjE1NCA3LjY2OCw3LjA1MSBDNy42NjgsNi45NDcgNy42MjgsNi44NTEgNy41NTYsNi43NzcgTDQuOTEzLDQuMTM0IFoiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==", ButtonContainer = styled.div`
@@ -103417,7 +103419,7 @@ const CaptureButtonContainer = styled(CaptureButtonContainer$2)`
103417
103419
  token: it
103418
103420
  });
103419
103421
  }
103420
- }), Zt = Ut ? "Uploading..." : Nt, Jt = Ut || xt || St;
103422
+ }), Zt = Ut ? gt("notifications.uploading") : Nt, Jt = Ut || xt || St;
103421
103423
  return /* @__PURE__ */ jsxs(Container$3, {
103422
103424
  className: "IncodeCaptureDesktopSelfieContainer",
103423
103425
  children: [/* @__PURE__ */ jsx(SrOnlyHeading, {
@@ -2205,7 +2205,7 @@ function print() { __p += __j.call(arguments, '') }
2205
2205
  color: #636670;
2206
2206
  `;function AdvancedElectronicSignature({uploadDocument:ue=!1,downloadDocument:me=!1,onBoarding:Ue,onSuccess:Qe,onError:Ze,token:Je}){const{t:Ge}=useTranslation(),[He,Xe]=React$1.useState([]),[$e,Ke]=React$1.useState(!1),[nt,tt]=React$1.useState(null),[et,rt]=React$1.useState({terms:!1,signElectronically:!1,signDisplayed:!1}),[at,ot]=React$1.useState(()=>ue?"UPLOADING":"SIGNING"),[it,st]=React$1.useState("NONE"),ct=(bt,At)=>{rt(Nt=>({...Nt,[bt]:At.target.checked}))},lt=He.length<1||Object.values(et).some(bt=>!bt),dt=(bt,At=4e3)=>{if(bt==="SUCCESS"&&me){st("SUCCESS"),setTimeout(()=>{st("NONE"),ot("DOWNLOAD")},2e3);return}st(bt),setTimeout(()=>{bt==="SUCCESS"?Qe():Ze()},At)},ft=async()=>{ot("PROCESSING");try{const bt=He.map(Nt=>Ue.processAdvancedElectronicSignatureDocs({token:Je,documentRef:Nt.documentRef}));(await Promise.all(bt)).some(Nt=>!Nt.success)?dt("FAILED"):dt("SUCCESS")}catch{dt("FAILED")}ot("SIGNING")},gt=bt=>{tt(bt.target.files[0])},ht=async()=>{try{Ke(!0);const{preSignedUrl:bt}=await Ue.generateAESDocumentUploadUrl({token:Je}),At=new FileReader;At.readAsArrayBuffer(nt),At.onload=async()=>{const Nt=At.result;await exports.api.put(bt,Nt,{headers:{"Content-Type":"application/pdf"}}),Ke(!1),ot("SIGNING")}}catch{tt(null),Ke(!1)}},vt=bt=>{bt.preventDefault(),tt(null)},Rt=async()=>{try{He.forEach(bt=>{window.open(bt.documentUrl,"_blank")})}catch(bt){console.error(bt)}};return React$1.useEffect(()=>{async function bt(){var At;Ke(!0);try{const Nt=await Ue.getAdvancedElectronicSignatureUnsignedDocs({token:Je});((At=Nt.documents)==null?void 0:At.length)<1?dt("FAILED",6e3):Xe(Nt.documents)}catch{dt("FAILED",6e3)}Ke(!1)}at==="SIGNING"&&it==="NONE"&&bt()},[Ue.getAdvancedElectronicSignatureUnsignedDocs,Je,at]),$e?jsx(SpinnerContainer$1,{children:jsx(Spinner$3,{})}):it!=="NONE"?jsx(Container$7,{children:jsxs(SpinnerContainer$1,{children:[jsx("img",{src:it==="SUCCESS"?success$1:fail$1,alt:"result"}),jsx(Headline$1,{children:Ge(`aes.confirmSignature.${it==="SUCCESS"?"success":"fail"}`)})]})}):jsxs(Container$7,{children:[at==="PROCESSING"?jsxs(SpinnerContainer$1,{children:[jsx(Spinner$3,{}),jsx(Headline$1,{children:Ge("aes.confirmSignature.spinner.title")}),jsx(ProcessingText,{children:Ge("aes.confirmSignature.spinner.subtitle")})]}):null,at==="SIGNING"||at==="DOWNLOAD"?jsxs(Fragment,{children:[jsxs(Content$3,{children:[jsx(Headline$1,{children:Ge("aes.confirmSignature.title")}),jsx(Description$1,{children:Ge("aes.confirmSignature.subtitle")}),jsx("div",{children:He.map((bt,At)=>jsxs(DocContainer,{children:[jsxs("span",{children:[jsx("img",{src:filesImg,alt:"contract icon"}),Ge("aes.confirmSignature.contract")," ",At+1]}),jsx("a",{href:bt.documentUrl,target:"_blank",rel:"noopener noreferrer",children:Ge("aes.confirmSignature.viewDocument")})]},bt.documentRef))}),jsxs(ChecksContainer,{children:[jsx(Checkbox,{id:"terms1",text:Ge("aes.confirmSignature.terms1.title"),handleChange:bt=>ct("terms",bt),variant:"square",defaultChecked:et.terms,disabled:at==="DOWNLOAD"}),jsx(Checkbox,{id:"terms2",text:Ge("aes.confirmSignature.terms2.title"),handleChange:bt=>ct("signElectronically",bt),variant:"square",defaultChecked:et.signElectronically,disabled:at==="DOWNLOAD"}),jsx(Checkbox,{id:"terms3",text:Ge("aes.confirmSignature.terms3.title"),handleChange:bt=>ct("signDisplayed",bt),variant:"square",defaultChecked:et.signDisplayed,disabled:at==="DOWNLOAD"})]})]}),at==="DOWNLOAD"?jsxs("div",{children:[jsx(Button$6,{onClick:Rt,disabled:lt,theme:exports.theme,className:"IncodeSignatureDoneButton download",children:Ge("aes.confirmSignature.downloadDocument")}),jsx(Finish,{onClick:Qe,children:Ge("aes.confirmSignature.continueAndFinish")})]}):jsx(Button$6,{onClick:ft,disabled:lt,theme:exports.theme,className:"IncodeSignatureDoneButton",children:Ge("signature.done")})]}):null,at==="UPLOADING"?jsxs(Fragment,{children:[jsxs(Content$3,{children:[jsx(Headline$1,{children:Ge("aes.confirmSignature.uploadTitle")}),jsx(Description$1,{children:Ge("aes.confirmSignature.uploadDescription")}),nt?jsxs(DocContainer,{children:[jsxs("span",{children:[jsx("img",{src:filesImg,alt:"contract icon"}),jsx("span",{children:nt.name})]}),jsx("div",{children:jsx("a",{onClick:vt,className:"remove",children:Ge("aes.confirmSignature.removeDocument")})})]}):jsxs(DocContainer,{children:[jsx(OpacityText,{children:Ge("aes.confirmSignature.empty")}),jsxs("div",{children:[jsx(FileInput,{type:"file",name:"file",id:"file",accept:"application/pdf",onChange:gt}),jsx(AddInputLabel,{htmlFor:"file",children:Ge("aes.confirmSignature.addDocument")})]})]})]}),jsx(Button$6,{theme:exports.theme,disabled:!nt,className:"IncodeSignatureDoneButton",onClick:ht,children:Ge("forms.button.continue")})]}):null]})}function renderAdvancedElectronicSignature(ue,{onSuccess:me,onError:Ue,token:Qe,downloadDocument:Ze=!1,uploadDocument:Je=!1}){const Ge=createRoot$1(ue),He={downloadDocument:Ze,uploadDocument:Je,token:Qe,onBoarding:this,onSuccess:handleUnmountRoot(me,Ge,ue),onError:handleUnmountRoot(Ue,Ge,ue)};customRender(jsx(App$1,{children:jsx(AdvancedElectronicSignature,{...He})}),ue,Ge)}function renderLogin(ue,{onSuccess:me,onError:Ue,timeout:Qe,stopAtAccessDenied:Ze,stopAtError:Je,isOneToOne:Ge,oneToOneProps:He,showCustomCameraPermissionScreen:Xe,isKiosk:$e=!1}){const Ke=createRoot$1(ue),nt={onSuccess:handleUnmountRoot(me,Ke,ue),onError:handleUnmountRoot(Ue,Ke,ue),onBoarding:this,timeout:Qe,stopAtAccessDenied:Ze,stopAtError:Je,isOneToOne:Ge,oneToOneProps:He,showCustomCameraPermissionScreen:Xe,isKiosk:$e};return customRender(jsx(App$1,{isKiosk:$e,children:jsx(Login,{...nt})}),ue,Ke),{close:handleUnmountRoot(emptyFunc,Ke,ue)}}const CaptureButtonContainer$1=styled(captureButton)`
2207
2207
  position: absolute;
2208
- `;function LoginDesktop({onBoarding:ue,onError:me,onSuccess:Ue,timeout:Qe=4e4,stopAtAccessDenied:Ze=!1}){const[Je,Ge]=React$1.useState("selfie"),[He,Xe]=React$1.useState(""),[$e,Ke]=React$1.useState(""),nt=React$1.useRef(null),tt=React$1.useRef(!1),et=throttle$1(async(mt,It,yt)=>{await ue.identify({base64Image:It,faceCoordinates:yt}).then(async Mt=>{const St=Mt.spoofAttempt===!1,xt=!!Mt.customerId&&!Mt.error;if(Mt.secondFactor){Ge("secondFactor"),Xe(Mt.transactionId),Ke(mt);return}if(!St||!xt){if(vt("error"),St?xt||bt(at("selfie.accessDenied")):bt(at("notifications.spoof")),await sleep(3e3),!xt&&Ze){const Ft=new Error("AccessDenied");console.dir(Ft),me(Ft);return}Rt({response:Mt,livenessPassed:St,imageBase64:mt}),it();return}rt(Mt,mt)}).catch(async Mt=>{var St;console.error(Mt),ht(Mt||at("notifications.serverError")),vt("error"),await sleep(3e3),Rt({response:(St=Mt==null?void 0:Mt.response)==null?void 0:St.data,livenessPassed:null,imageBase64:mt}),it()})},300);async function rt(mt,It){const yt=await ue.createNewSession({interviewId:mt.interviewId});Ue({...mt,token:yt.token,base64Image:It||$e})}const{t:at}=useTranslation(),{notificationMessage:ot,startAutoDetect:it,handleManualCapture:st,isSuccess:ct,isError:lt,isLoading:dt,hideCamera:ft,shouldShowManualCapture:gt,handleError:ht,setMode:vt,resetLoading:Rt,setNotificationMessage:bt}=useSelfie({timeout:Qe,isDetecting:tt,handleCapture:et,numberOfTries:-1,webcam:nt});if(Je==="secondFactor")return jsx(SecondFactor,{transactionId:He,onSuccess:rt});const At=dt?"Uploading...":ot,Nt=dt||lt||ct;return jsxs(LoginContainer,{className:"login-desktop-container IncodeLoginDesktopContainer",children:[jsx(HiddenTitle,{children:"Login Desktop"}),gt&&jsxs(CaptureButtonContainer$1,{className:"capture-button-container IncodeLoginDesktopCaptureButtonContainer",initial:{scale:0},animate:{scale:1},children:[jsx("p",{children:at("common.takePhoto")}),jsx("button",{className:"capture-button",onClick:st,type:"button",children:jsx("img",{src:captureButton,alt:"capture button"})})]}),jsxs(WebcamDesktopContainer,{className:"webcam-container IncodeLoginDesktopWebcamContainer",children:[jsx(FaceMask$1,{desktop:!0,className:"face-mask-container IncodeLoginDesktopFaceMask",isCapturing:ct,isLoading:dt,error:lt,isUploading:Nt,children:jsx(FaceFrame$1,{src:faceFrame$1,alt:"face frame",className:classNames({hidden:ft},"face-frame IncodeLoginDesktopFaceFrame")})}),jsx(Webcam,{ref:nt,type:"loginDesktop",videoSource:"user",onPlay:it,isSelfie:!0,className:"video__selfie IncodeLoginDesktopWebcam",onError:me}),At&&jsx(Notification$1,{className:"notification-container IncodeLoginDesktopNotification",isLoading:dt,isError:lt,"aria-live":"assertive",children:At}),gt&&jsx(CaptureButtonContainer$1,{className:"capture-button-container IncodeLoginDesktopCaptureButtonContainer",initial:{scale:0},animate:{scale:1},children:jsx("button",{onClick:st,type:"button",children:jsx("img",{src:captureButton,alt:"capture button"})})})]}),jsx("canvas",{id:"canvasFrame",hidden:!0})]})}function renderLoginDesktop(ue,{onSuccess:me,onError:Ue,timeout:Qe,stopAtAccessDenied:Ze}){const Je=createRoot$1(ue),Ge={onSuccess:handleUnmountRoot(me,Je,ue),onError:handleUnmountRoot(Ue,Je,ue),onBoarding:this,timeout:Qe,stopAtAccessDenied:Ze};customRender(jsx(App$1,{children:jsx(LoginDesktop,{...Ge})}),ue,Je)}function compareBackID({token:ue,image:me}){return exports.api.post("/omni/videoselfie/compare-back-id/v2",{base64Image:me},{headers:{"X-Incode-Hardware-Id":ue,"Content-Type":"application/json"}}).then(Ue=>Ue.data)}function compareBackOCR({token:ue,image:me}){return exports.api.post("omni/videoselfie/compare-back-ocr/v2",{base64Image:me},{headers:{"X-Incode-Hardware-Id":ue,"Content-Type":"application/json"}}).then(Ue=>Ue.data)}function compareGovValidationOTP({token:ue,code:me}){return exports.api.post(`/omni/submit-otp?code=${me}`,{},{headers:{"X-Incode-Hardware-Id":ue}}).then(Ue=>Ue.data).catch(Ue=>Promise.reject(Ue.response.data))}function compareID({token:ue,image:me}){return exports.api.post("/omni/videoselfie/compare-id/v2",{base64Image:me},{headers:{"X-Incode-Hardware-Id":ue,"Content-Type":"application/json"}}).then(Ue=>Ue.data)}async function compareInstantVerifyOTP({token:ue,code:me}){return exports.api.get(`/omni/instant/confirm/otp?code=${me}`,{headers:{"X-Incode-Hardware-Id":ue}}).then(Ue=>Ue.data).catch(Ue=>Promise.reject(Ue.response.data))}function compareOCR({token:ue,image:me}){return exports.api.post("omni/videoselfie/compare-ocr/v2",{base64Image:me},{headers:{"X-Incode-Hardware-Id":ue,"Content-Type":"application/json"}}).then(Ue=>Ue.data)}function connectToQueue({token:ue,queueName:me=""}){return exports.api.post(`/omni/queue/conference/connect?queueName=${me}`,{},{headers:{"X-Incode-Hardware-Id":ue}}).then(Ue=>Ue.data)}const Wrapper$2=styled.div`
2208
+ `;function LoginDesktop({onBoarding:ue,onError:me,onSuccess:Ue,timeout:Qe=4e4,stopAtAccessDenied:Ze=!1}){const[Je,Ge]=React$1.useState("selfie"),[He,Xe]=React$1.useState(""),[$e,Ke]=React$1.useState(""),nt=React$1.useRef(null),tt=React$1.useRef(!1),et=throttle$1(async(mt,It,yt)=>{await ue.identify({base64Image:It,faceCoordinates:yt}).then(async Mt=>{const St=Mt.spoofAttempt===!1,xt=!!Mt.customerId&&!Mt.error;if(Mt.secondFactor){Ge("secondFactor"),Xe(Mt.transactionId),Ke(mt);return}if(!St||!xt){if(vt("error"),St?xt||bt(at("selfie.accessDenied")):bt(at("notifications.spoof")),await sleep(3e3),!xt&&Ze){const Ft=new Error("AccessDenied");console.dir(Ft),me(Ft);return}Rt({response:Mt,livenessPassed:St,imageBase64:mt}),it();return}rt(Mt,mt)}).catch(async Mt=>{var St;console.error(Mt),ht(Mt||at("notifications.serverError")),vt("error"),await sleep(3e3),Rt({response:(St=Mt==null?void 0:Mt.response)==null?void 0:St.data,livenessPassed:null,imageBase64:mt}),it()})},300);async function rt(mt,It){const yt=await ue.createNewSession({interviewId:mt.interviewId});Ue({...mt,token:yt.token,base64Image:It||$e})}const{t:at}=useTranslation(),{notificationMessage:ot,startAutoDetect:it,handleManualCapture:st,isSuccess:ct,isError:lt,isLoading:dt,hideCamera:ft,shouldShowManualCapture:gt,handleError:ht,setMode:vt,resetLoading:Rt,setNotificationMessage:bt}=useSelfie({timeout:Qe,isDetecting:tt,handleCapture:et,numberOfTries:-1,webcam:nt});if(Je==="secondFactor")return jsx(SecondFactor,{transactionId:He,onSuccess:rt});const At=dt?at("notifications.uploading"):ot,Nt=dt||lt||ct;return jsxs(LoginContainer,{className:"login-desktop-container IncodeLoginDesktopContainer",children:[jsx(HiddenTitle,{children:"Login Desktop"}),gt&&jsxs(CaptureButtonContainer$1,{className:"capture-button-container IncodeLoginDesktopCaptureButtonContainer",initial:{scale:0},animate:{scale:1},children:[jsx("p",{children:at("common.takePhoto")}),jsx("button",{className:"capture-button",onClick:st,type:"button",children:jsx("img",{src:captureButton,alt:"capture button"})})]}),jsxs(WebcamDesktopContainer,{className:"webcam-container IncodeLoginDesktopWebcamContainer",children:[jsx(FaceMask$1,{desktop:!0,className:"face-mask-container IncodeLoginDesktopFaceMask",isCapturing:ct,isLoading:dt,error:lt,isUploading:Nt,children:jsx(FaceFrame$1,{src:faceFrame$1,alt:"face frame",className:classNames({hidden:ft},"face-frame IncodeLoginDesktopFaceFrame")})}),jsx(Webcam,{ref:nt,type:"loginDesktop",videoSource:"user",onPlay:it,isSelfie:!0,className:"video__selfie IncodeLoginDesktopWebcam",onError:me}),At&&jsx(Notification$1,{className:"notification-container IncodeLoginDesktopNotification",isLoading:dt,isError:lt,"aria-live":"assertive",children:At}),gt&&jsx(CaptureButtonContainer$1,{className:"capture-button-container IncodeLoginDesktopCaptureButtonContainer",initial:{scale:0},animate:{scale:1},children:jsx("button",{onClick:st,type:"button",children:jsx("img",{src:captureButton,alt:"capture button"})})})]}),jsx("canvas",{id:"canvasFrame",hidden:!0})]})}function renderLoginDesktop(ue,{onSuccess:me,onError:Ue,timeout:Qe,stopAtAccessDenied:Ze}){const Je=createRoot$1(ue),Ge={onSuccess:handleUnmountRoot(me,Je,ue),onError:handleUnmountRoot(Ue,Je,ue),onBoarding:this,timeout:Qe,stopAtAccessDenied:Ze};customRender(jsx(App$1,{children:jsx(LoginDesktop,{...Ge})}),ue,Je)}function compareBackID({token:ue,image:me}){return exports.api.post("/omni/videoselfie/compare-back-id/v2",{base64Image:me},{headers:{"X-Incode-Hardware-Id":ue,"Content-Type":"application/json"}}).then(Ue=>Ue.data)}function compareBackOCR({token:ue,image:me}){return exports.api.post("omni/videoselfie/compare-back-ocr/v2",{base64Image:me},{headers:{"X-Incode-Hardware-Id":ue,"Content-Type":"application/json"}}).then(Ue=>Ue.data)}function compareGovValidationOTP({token:ue,code:me}){return exports.api.post(`/omni/submit-otp?code=${me}`,{},{headers:{"X-Incode-Hardware-Id":ue}}).then(Ue=>Ue.data).catch(Ue=>Promise.reject(Ue.response.data))}function compareID({token:ue,image:me}){return exports.api.post("/omni/videoselfie/compare-id/v2",{base64Image:me},{headers:{"X-Incode-Hardware-Id":ue,"Content-Type":"application/json"}}).then(Ue=>Ue.data)}async function compareInstantVerifyOTP({token:ue,code:me}){return exports.api.get(`/omni/instant/confirm/otp?code=${me}`,{headers:{"X-Incode-Hardware-Id":ue}}).then(Ue=>Ue.data).catch(Ue=>Promise.reject(Ue.response.data))}function compareOCR({token:ue,image:me}){return exports.api.post("omni/videoselfie/compare-ocr/v2",{base64Image:me},{headers:{"X-Incode-Hardware-Id":ue,"Content-Type":"application/json"}}).then(Ue=>Ue.data)}function connectToQueue({token:ue,queueName:me=""}){return exports.api.post(`/omni/queue/conference/connect?queueName=${me}`,{},{headers:{"X-Incode-Hardware-Id":ue}}).then(Ue=>Ue.data)}const Wrapper$2=styled.div`
2209
2209
  display: flex;
2210
2210
  flex-direction: column;
2211
2211
  align-items: center;
@@ -2557,7 +2557,7 @@ newPrivacyConsent.text4
2557
2557
  `).filter(ot=>!!ot.trim());return jsxs(ConsentWrapper$1,{role:"region","aria-live":"assertive",className:`
2558
2558
  ${me.default?"IncodeDefaultConsent":"IncodeCustomConsent"}
2559
2559
  `,children:[jsx(ConsentTitle,{tabIndex:0,children:rt}),at.map((ot,it)=>jsx(ConsentParagraph,{tabIndex:0,children:me.default?jsx(Markdown,{disallowedElements:disallowedMarkdownElements,children:Ge(ot)}):jsx(Markdown,{disallowedElements:disallowedMarkdownElements,children:ot})},it)),jsx(AcceptCheck$2,{consentChecked:He,setConsentChecked:Xe,text:tt,id:"one"}),Ze?jsx(AcceptCheck$2,{consentChecked:$e,setConsentChecked:Ke,text:Ge("privacyCheck.aeromexico"),id:"two"}):null,jsx("div",{children:jsx(Button$9,{tabIndex:0,"aria-disabled":et,disabled:et,onClick:nt,children:Ge("privacyConsent.button.continue")})})]})}function PrivacyConsent({session:ue,title:me,text:Ue,goNext:Qe,isAeroMexicoClient:Ze,customCheck:Je}){const{t:Ge}=useTranslation(),[He,Xe]=React$1.useState(null);React$1.useEffect(()=>{Object.hasOwn||(Object.hasOwn=(nt,tt)=>Object.prototype.hasOwnProperty.call(nt,tt))},[]);const $e=nt=>{const tt=nt.split(`
2560
- `);return tt.length===1?tt.join(" "):tt.filter(et=>!!et.trim()).map(et=>Ge(et)).join(" ")},Ke=({title:nt,content:tt,isDefault:et})=>{addConsent({title:`${et?Ge(nt):nt}`,content:et?$e(tt):tt,status:!0,session:ue})};return React$1.useEffect(()=>{if(me||Ue){Xe({title:me||defaultPrivacyConsent.title,text:Ue||defaultPrivacyConsent.text,consentType:defaultPrivacyConsent.consentType,default:!Ue});return}getPrivacyConsentData({session:ue,type:"PRIVACY"}).then(({consents:nt})=>{const tt=nt.find(({consentType:et})=>et==="PRIVACY");tt!=null&&tt.text?Xe({...tt,title:(tt==null?void 0:tt.title.trim())||defaultPrivacyConsent.title,text:tt.text.trim()||defaultPrivacyConsent.text,default:!(tt!=null&&tt.text)}):Xe(defaultPrivacyConsent)}).catch(()=>{Xe(defaultPrivacyConsent)})},[ue,me,Ue]),He?jsx(NormalPrivacyConsent,{consent:He,goNext:Qe,addPrivacyConsent:Ke,session:ue,isAeroMexicoClient:Ze,customCheck:Je}):null}function renderUserConsent(ue,{session:me,onSuccess:Ue,title:Qe,text:Ze,isAeroMexicoClient:Je=!1,customCheck:Ge=null}){const He=createRoot$1(ue),Xe=handleUnmountRoot(Ue,He,ue);customRender(jsx(App$1,{token:me.token,children:jsx(PrivacyConsent,{goNext:Xe,session:me,title:Qe,text:Ze,isAeroMexicoClient:Je,customCheck:Ge})}),ue,He)}const version="1.71.0-20240430174538.0";function r(ue){for(var me="",Ue=0;Ue<ue.length;++Ue)if(Ue>0){var Qe=ue[Ue].toLowerCase();Qe!==ue[Ue]?me+=" ".concat(Qe):me+=ue[Ue]}else me+=ue[Ue].toUpperCase();return me}function o(ue,me){return function(Ue,Qe){return Object.prototype.hasOwnProperty.call(Ue,Qe)}(ue,me)?ue[me]:void 0}var i$1={default:"endpoint"},u={default:"tlsEndpoint"},a="Client timeout",R="Network connection error",c="Network request aborted",s="Response cannot be parsed",E="Blocked by CSP",f="The endpoint parameter is not a valid URL",d=r("WrongRegion"),l=r("SubscriptionNotActive"),_=r("UnsupportedVersion"),p=r("InstallationMethodRestricted"),v=r("HostnameRestricted"),O=r("IntegrationFailed"),I="API key required",h="API key not found",N="API key expired",T="Request cannot be parsed",m="Request failed",w="Request failed to process",A="Too many requests, rate limit exceeded",P="Not available for this origin",y="Not available with restricted header",D=I,S=h,L=N,U="3.8.6",b="9319";function g(ue,me){var Ue=[];return function(Qe,Ze){var Je=5,Ge=(tt=Qe,et=__spreadArray$1([],tt,!0),{current:function(){return et[0]},postpone:function(){var at=et.shift();at!==void 0&&et.push(at)},exclude:function(){et.shift()}}),He=($e=100,Ke=3e3,nt=0,function(){return Math.random()*Math.min(Ke,$e*Math.pow(2,nt++))}),Xe=Ge.current(),$e,Ke,nt,tt,et;if(Xe===void 0)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var rt=function(at,ot){return Ze(at).catch(function(it){if(ot+1>=Je)throw it;(function(lt){if(!(lt instanceof Error))return!1;var dt=lt.message;return dt===E||dt===b})(it)?Ge.exclude():Ge.postpone();var st,ct=Ge.current();if(ct===void 0)throw it;return(st=He(),new Promise(function(lt){return setTimeout(lt,st)})).then(function(){return rt(ct,ot+1)})})};return rt(Xe,0)}(ue,function(Qe){var Ze=new Date,Je=function(He){return Ue.push({url:Qe,startedAt:Ze,finishedAt:new Date,error:He})},Ge=me(Qe);return Ge.then(function(){return Je()},Je),Ge}).then(function(Qe){return[Qe,Ue]})}var C="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",K=C,M="Failed to load the JS script of the agent";function B(ue){var me;ue.scriptUrlPattern;var Ue=ue.token,Qe=ue.apiKey,Ze=Qe===void 0?Ue:Qe,Je=__rest$1(ue,["scriptUrlPattern","token","apiKey"]),Ge=(me=o(ue,"scriptUrlPattern"))!==null&&me!==void 0?me:C,He=function(){var Ke=[],nt=function(){Ke.push({time:new Date,state:document.visibilityState})},tt=function(et,rt,at,ot){return et.addEventListener(rt,at,ot),function(){return et.removeEventListener(rt,at,ot)}}(document,"visibilitychange",nt);return nt(),[Ke,tt]}(),Xe=He[0],$e=He[1];return Promise.resolve().then(function(){if(!Ze||typeof Ze!="string")throw new Error(I);var Ke=function(nt,tt){return(Array.isArray(nt)?nt:[nt]).map(function(et){return function(rt,at){var ot=encodeURIComponent;return rt.replace(/<[^<>]+>/g,function(it){return it==="<version>"?"3":it==="<apiKey>"?ot(at):it==="<loaderVersion>"?ot(U):it})}(String(et),tt)})}(Ge,Ze);return g(Ke,F)}).catch(function(Ke){throw $e(),function(nt){return nt instanceof Error&&nt.message===b?new Error(M):nt}(Ke)}).then(function(Ke){var nt=Ke[0],tt=Ke[1];return $e(),nt.load(__assign$2(__assign$2({},Je),{ldi:{attempts:tt,visibilityStates:Xe}}))})}function F(ue){return function(me,Ue,Qe,Ze){var Je,Ge=document,He="securitypolicyviolation",Xe=function(Ke){var nt=new URL(me,location.href),tt=Ke.blockedURI;tt!==nt.href&&tt!==nt.protocol.slice(0,-1)&&tt!==nt.origin||(Je=Ke,$e())};Ge.addEventListener(He,Xe);var $e=function(){return Ge.removeEventListener(He,Xe)};return Ze==null||Ze.then($e,$e),Promise.resolve().then(Ue).then(function(Ke){return $e(),Ke},function(Ke){return new Promise(function(nt){return setTimeout(nt)}).then(function(){if($e(),Je)return Qe(Je);throw Ke})})}(ue,function(){return function(me){return new Promise(function(Ue,Qe){var Ze=document.createElement("script"),Je=function(){var He;return(He=Ze.parentNode)===null||He===void 0?void 0:He.removeChild(Ze)},Ge=document.head||document.getElementsByTagName("head")[0];Ze.onload=function(){Je(),Ue()},Ze.onerror=function(){Je(),Qe(new Error(M))},Ze.async=!0,Ze.src=me,Ge.appendChild(Ze)})}(ue)},function(){throw new Error(E)}).then(V)}function V(){var ue=window,me="__fpjs_p_l_b",Ue=ue[me];if(function(Qe,Ze){var Je,Ge=(Je=Object.getOwnPropertyDescriptor)===null||Je===void 0?void 0:Je.call(Object,Qe,Ze);Ge!=null&&Ge.configurable?delete Qe[Ze]:Ge&&!Ge.writable||(Qe[Ze]=void 0)}(ue,me),typeof(Ue==null?void 0:Ue.load)!="function")throw new Error(b);return Ue}var k={load:B,defaultScriptUrlPattern:K,ERROR_SCRIPT_LOAD_FAIL:M,ERROR_API_KEY_EXPIRED:N,ERROR_API_KEY_INVALID:h,ERROR_API_KEY_MISSING:I,ERROR_BAD_REQUEST_FORMAT:T,ERROR_BAD_RESPONSE_FORMAT:s,ERROR_CLIENT_TIMEOUT:a,ERROR_CSP_BLOCK:E,ERROR_FORBIDDEN_ENDPOINT:v,ERROR_FORBIDDEN_HEADER:y,ERROR_FORBIDDEN_ORIGIN:P,ERROR_GENERAL_SERVER_FAILURE:m,ERROR_INSTALLATION_METHOD_RESTRICTED:p,ERROR_INTEGRATION_FAILURE:O,ERROR_INVALID_ENDPOINT:f,ERROR_NETWORK_ABORT:c,ERROR_NETWORK_CONNECTION:R,ERROR_RATE_LIMIT:A,ERROR_SERVER_TIMEOUT:w,ERROR_SUBSCRIPTION_NOT_ACTIVE:l,ERROR_TOKEN_EXPIRED:L,ERROR_TOKEN_INVALID:S,ERROR_TOKEN_MISSING:D,ERROR_UNSUPPORTED_VERSION:_,ERROR_WRONG_REGION:d,defaultEndpoint:i$1,defaultTlsEndpoint:u};let fingerprintApiKey;function setFingerprintApiKey(ue){fingerprintApiKey=ue}async function getFingerPrint(){return k.load({token:fingerprintApiKey,endpoint:"https://fingerprint.incodesmile.com",scriptUrlPattern:"https://fingerprint.incodesmile.com/web/v<version>/<apiKey>/loader_v<loaderVersion>.js"}).then(ue=>ue.get({extendedResult:!0}))}const fingerPrintUrl="/omni/add/device-fingerprint";function postFingerprint({hash:ue,ip:me,deviceType:Ue,token:Qe,data:Ze,osVersion:Je,deviceModel:Ge,browser:He,sdkVersion:Xe,hasLiedBrowser:$e,hostingApp:Ke,ipLocation:nt}){return exports.api.post(fingerPrintUrl,{hash:ue,ip:me,deviceType:Ue,data:Ze,osVersion:Je,deviceModel:Ge,browser:He,hasLiedBrowser:$e,sdkVersion:Xe,hostingApp:Ke,ipLocation:nt},{headers:{"X-Incode-Hardware-Id":Qe}}).then(tt=>tt.data).catch(tt=>Promise.reject(tt.response.data))}function formatDeviceModel({vendor:ue,model:me}){return`${ue||""} ${me||""}`.trim()}const emptyFingerprint={visitorId:void 0,ip:void 0,ipLocation:{country:{name:void 0},subdivisions:[],city:{name:void 0},latitude:void 0,longitude:void 0}};async function sendFingerprint({token:ue},me=!0,Ue=!0){var Xe,$e,Ke;const Qe="WEBAPP",{os:Ze,device:Je,browser:Ge}=getUAParserResults(),He=Ue?await getFingerPrint().catch(nt=>(addEvent({code:"fingerprintFetchFailed",payload:{message:nt.message},token:ue}),emptyFingerprint)):emptyFingerprint;return postFingerprint({hash:He.visitorId||"",ip:me&&He.ip||"",deviceType:Qe,token:ue,data:JSON.stringify(He),osVersion:`${Ze.name} ${Ze.version}`,deviceModel:formatDeviceModel(Je),browser:`${Ge.name} ${Ge.version}`,hasLiedBrowser:isBrowserSimulation(),hostingApp:options.hostingApp,sdkVersion:version,ipLocation:{ipCountry:(Xe=He.ipLocation.country)==null?void 0:Xe.name,ipRegion:($e=He.ipLocation.subdivisions)==null?void 0:$e[0].name,ipCity:(Ke=He.ipLocation.city)==null?void 0:Ke.name,ipLatitude:He.ipLocation.latitude,ipLongitude:He.ipLocation.longitude}}).then(nt=>(emptyDeviceStatsQueue(ue),nt))}function mapI18nLang(ue){const me={en:"en-US",es:"es-ES",pt:"pt-BR"},Ue=ue==null?void 0:ue.substring(0,2);return me[Ue]||"en-US"}const createSessionUrl="/omni/start";async function createNewSession({externalId:ue,externalCustomerId:me,configurationId:Ue,uuid:Qe,interviewId:Ze,customFields:Je,language:Ge}={}){const He=Ge||mapI18nLang(i18nInstance.language);try{const Xe=await exports.api.post(createSessionUrl,{externalId:ue,externalCustomerId:me,configurationId:Ue,uuid:Qe,interviewId:Ze,customFields:Je,language:He});state.token=Xe.data;const $e=Xe.data;emptyQueue($e.token);const Ke=await sendFingerprint({token:$e.token,interviewId:$e.interviewId}).catch(()=>({regulationType:"",showMandatoryConsent:!1}));$e.regulationType=Ke.regulationType??"",$e.showMandatoryConsent=Ke.showMandatoryConsent??!1;const tt=new UAParser().getResult();return addEvent({code:"browser",payload:{userAgent:window.navigator.userAgent,isWebRtcSupported:isWebRtcSupported(),...tt},token:$e.token}),$e}catch(Xe){throw Xe!=null&&Xe.response?Xe.response.data:Xe}}const createRedirectUrl=async({session:ue})=>{const{url:me}=await exports.api.get("/omni/onboarding-url",{params:{clientId:ue.clientId},headers:{"X-Incode-Hardware-Id":ue.token}}).then(Ue=>Ue.data);return me};async function createSession$4(ue,me,{externalCustomerId:Ue,configurationId:Qe,uuid:Ze,interviewId:Je,customFields:Ge,language:He}={}){return createNewSession({externalId:me,externalCustomerId:Ue,configurationId:Qe,uuid:Ze,interviewId:Je,customFields:Ge,language:He})}var isHTMLElement=ue=>ue instanceof HTMLElement;const EVENTS={BLUR:"blur",CHANGE:"change",INPUT:"input"},VALIDATION_MODE={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},SELECT="select",UNDEFINED="undefined",INPUT_VALIDATION_RULES={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"};function attachEventListeners({ref:ue},me,Ue){isHTMLElement(ue)&&Ue&&(ue.addEventListener(me?EVENTS.CHANGE:EVENTS.INPUT,Ue),ue.addEventListener(EVENTS.BLUR,Ue))}var isNullOrUndefined=ue=>ue==null;const isObjectType=ue=>typeof ue=="object";var isObject$4=ue=>!isNullOrUndefined(ue)&&!Array.isArray(ue)&&isObjectType(ue)&&!(ue instanceof Date),isKey=ue=>/^\w*$/.test(ue),compact=ue=>ue.filter(Boolean),stringToPath=ue=>compact(ue.replace(/["|']/g,"").replace(/\[/g,".").replace(/\]/g,"").split("."));function set(ue,me,Ue){let Qe=-1;const Ze=isKey(me)?[me]:stringToPath(me),Je=Ze.length,Ge=Je-1;for(;++Qe<Je;){const He=Ze[Qe];let Xe=Ue;if(Qe!==Ge){const $e=ue[He];Xe=isObject$4($e)||Array.isArray($e)?$e:isNaN(+Ze[Qe+1])?{}:[]}ue[He]=Xe,ue=ue[He]}return ue}var transformToNestObject=(ue,me={})=>{for(const Ue in ue)isKey(Ue)?me[Ue]=ue[Ue]:set(me,Ue,ue[Ue]);return me},isUndefined$1=ue=>ue===void 0,get=(ue={},me,Ue)=>{const Qe=compact(me.split(/[,[\].]+?/)).reduce((Ze,Je)=>isNullOrUndefined(Ze)?Ze:Ze[Je],ue);return isUndefined$1(Qe)||Qe===ue?isUndefined$1(ue[me])?Ue:ue[me]:Qe},focusOnErrorField=(ue,me)=>{for(const Ue in ue)if(get(me,Ue)){const Qe=ue[Ue];if(Qe){if(Qe.ref.focus&&isUndefined$1(Qe.ref.focus()))break;if(Qe.options){Qe.options[0].ref.focus();break}}}},removeAllEventListeners=(ue,me)=>{isHTMLElement(ue)&&ue.removeEventListener&&(ue.removeEventListener(EVENTS.INPUT,me),ue.removeEventListener(EVENTS.CHANGE,me),ue.removeEventListener(EVENTS.BLUR,me))};const defaultReturn={isValid:!1,value:null};var getRadioValue=ue=>Array.isArray(ue)?ue.reduce((me,Ue)=>Ue&&Ue.ref.checked?{isValid:!0,value:Ue.ref.value}:me,defaultReturn):defaultReturn,getMultipleSelectValue=ue=>[...ue].filter(({selected:me})=>me).map(({value:me})=>me),isRadioInput=ue=>ue.type==="radio",isFileInput=ue=>ue.type==="file",isCheckBoxInput=ue=>ue.type==="checkbox",isMultipleSelect=ue=>ue.type===`${SELECT}-multiple`;const defaultResult={value:!1,isValid:!1},validResult={value:!0,isValid:!0};var getCheckboxValue=ue=>{if(Array.isArray(ue)){if(ue.length>1){const Ze=ue.filter(Je=>Je&&Je.ref.checked).map(({ref:{value:Je}})=>Je);return{value:Ze,isValid:!!Ze.length}}const{checked:me,value:Ue,attributes:Qe}=ue[0].ref;return me?Qe&&!isUndefined$1(Qe.value)?isUndefined$1(Ue)||Ue===""?validResult:{value:Ue,isValid:!0}:validResult:defaultResult}return defaultResult};function getFieldValue(ue,me,Ue,Qe,Ze){const Je=ue.current[me];if(Je){const{ref:{value:Ge,disabled:He},ref:Xe,valueAsNumber:$e,valueAsDate:Ke,setValueAs:nt}=Je;return He&&Qe?void 0:isFileInput(Xe)?Xe.files:isRadioInput(Xe)?getRadioValue(Je.options).value:isMultipleSelect(Xe)?getMultipleSelectValue(Xe.options):isCheckBoxInput(Xe)?getCheckboxValue(Je.options).value:Ze?Ge:$e?Ge===""?NaN:+Ge:Ke?Xe.valueAsDate:nt?nt(Ge):Ge}if(Ue)return get(Ue.current,me)}function isDetached(ue){return ue?!(ue instanceof HTMLElement)||ue.nodeType===Node.DOCUMENT_NODE?!1:isDetached(ue.parentNode):!0}var isEmptyObject=ue=>isObject$4(ue)&&!Object.keys(ue).length,isBoolean=ue=>typeof ue=="boolean";function baseGet(ue,me){const Ue=me.slice(0,-1).length;let Qe=0;for(;Qe<Ue;)ue=isUndefined$1(ue)?Qe++:ue[me[Qe++]];return ue}function unset(ue,me){const Ue=isKey(me)?[me]:stringToPath(me),Qe=Ue.length==1?ue:baseGet(ue,Ue),Ze=Ue[Ue.length-1];let Je;Qe&&delete Qe[Ze];for(let Ge=0;Ge<Ue.slice(0,-1).length;Ge++){let He=-1,Xe;const $e=Ue.slice(0,-(Ge+1)),Ke=$e.length-1;for(Ge>0&&(Je=ue);++He<$e.length;){const nt=$e[He];Xe=Xe?Xe[nt]:ue[nt],Ke===He&&(isObject$4(Xe)&&isEmptyObject(Xe)||Array.isArray(Xe)&&!Xe.filter(tt=>isObject$4(tt)&&!isEmptyObject(tt)||isBoolean(tt)).length)&&(Je?delete Je[nt]:delete ue[nt]),Je=Xe}}return ue}const isSameRef=(ue,me)=>ue&&ue.ref===me;function findRemovedFieldAndRemoveListener(ue,me,Ue,Qe,Ze,Je){const{ref:Ge,ref:{name:He}}=Ue,Xe=ue.current[He];if(!Ze){const $e=getFieldValue(ue,He,Qe);!isUndefined$1($e)&&set(Qe.current,He,$e)}if(!Ge.type||!Xe){delete ue.current[He];return}isRadioInput(Ge)||isCheckBoxInput(Ge)?Array.isArray(Xe.options)&&Xe.options.length?(compact(Xe.options).forEach(($e={},Ke)=>{(isDetached($e.ref)&&isSameRef($e,$e.ref)||Je)&&(removeAllEventListeners($e.ref,me),unset(Xe.options,`[${Ke}]`))}),Xe.options&&!compact(Xe.options).length&&delete ue.current[He]):delete ue.current[He]:(isDetached(Ge)&&isSameRef(Xe,Ge)||Je)&&(removeAllEventListeners(Ge,me),delete ue.current[He])}var isPrimitive=ue=>isNullOrUndefined(ue)||!isObjectType(ue);function deepMerge(ue,me){if(isPrimitive(ue)||isPrimitive(me))return me;for(const Ue in me){const Qe=ue[Ue],Ze=me[Ue];try{ue[Ue]=isObject$4(Qe)&&isObject$4(Ze)||Array.isArray(Qe)&&Array.isArray(Ze)?deepMerge(Qe,Ze):Ze}catch{}}return ue}function deepEqual(ue,me,Ue){if(isPrimitive(ue)||isPrimitive(me)||ue instanceof Date||me instanceof Date)return ue===me;if(!React$1.isValidElement(ue)){const Qe=Object.keys(ue),Ze=Object.keys(me);if(Qe.length!==Ze.length)return!1;for(const Je of Qe){const Ge=ue[Je];if(!(Ue&&Je==="ref")){const He=me[Je];if((isObject$4(Ge)||Array.isArray(Ge))&&(isObject$4(He)||Array.isArray(He))?!deepEqual(Ge,He,Ue):Ge!==He)return!1}}}return!0}function setDirtyFields(ue,me,Ue,Qe,Ze){let Je=-1;for(;++Je<ue.length;){for(const Ge in ue[Je])Array.isArray(ue[Je][Ge])?(!Ue[Je]&&(Ue[Je]={}),Ue[Je][Ge]=[],setDirtyFields(ue[Je][Ge],get(me[Je]||{},Ge,[]),Ue[Je][Ge],Ue[Je],Ge)):deepEqual(get(me[Je]||{},Ge),ue[Je][Ge])?set(Ue[Je]||{},Ge):Ue[Je]=Object.assign(Object.assign({},Ue[Je]),{[Ge]:!0});Qe&&!Ue.length&&delete Qe[Ze]}return Ue}var setFieldArrayDirtyFields=(ue,me,Ue)=>deepMerge(setDirtyFields(ue,me,Ue.slice(0,ue.length)),setDirtyFields(me,ue,Ue.slice(0,ue.length))),isString$2=ue=>typeof ue=="string",getFieldsValues=(ue,me,Ue,Qe,Ze)=>{const Je={};for(const Ge in ue.current)(isUndefined$1(Ze)||(isString$2(Ze)?Ge.startsWith(Ze):Array.isArray(Ze)&&Ze.find(He=>Ge.startsWith(He))))&&(Je[Ge]=getFieldValue(ue,Ge,void 0,Qe));return Ue?transformToNestObject(Je):deepMerge(me,transformToNestObject(Je))},isErrorStateChanged=({errors:ue,name:me,error:Ue,validFields:Qe,fieldsWithValidation:Ze})=>{const Je=isUndefined$1(Ue),Ge=get(ue,me);return Je&&!!Ge||!Je&&!deepEqual(Ge,Ue,!0)||Je&&get(Ze,me)&&!get(Qe,me)},isRegex=ue=>ue instanceof RegExp,getValueAndMessage=ue=>isObject$4(ue)&&!isRegex(ue)?ue:{value:ue,message:""},isFunction$1=ue=>typeof ue=="function",isMessage=ue=>isString$2(ue)||React$1.isValidElement(ue);function getValidateError(ue,me,Ue="validate"){if(isMessage(ue)||isBoolean(ue)&&!ue)return{type:Ue,message:isMessage(ue)?ue:"",ref:me}}var appendErrors=(ue,me,Ue,Qe,Ze)=>me?Object.assign(Object.assign({},Ue[ue]),{types:Object.assign(Object.assign({},Ue[ue]&&Ue[ue].types?Ue[ue].types:{}),{[Qe]:Ze||!0})}):{},validateField=async(ue,me,{ref:Ue,ref:{value:Qe},options:Ze,required:Je,maxLength:Ge,minLength:He,min:Xe,max:$e,pattern:Ke,validate:nt},tt)=>{const et=Ue.name,rt={},at=isRadioInput(Ue),ot=isCheckBoxInput(Ue),it=at||ot,st=Qe==="",ct=appendErrors.bind(null,et,me,rt),lt=(dt,ft,gt,ht=INPUT_VALIDATION_RULES.maxLength,vt=INPUT_VALIDATION_RULES.minLength)=>{const Rt=dt?ft:gt;rt[et]=Object.assign({type:dt?ht:vt,message:Rt,ref:Ue},ct(dt?ht:vt,Rt))};if(Je&&(!at&&!ot&&(st||isNullOrUndefined(Qe))||isBoolean(Qe)&&!Qe||ot&&!getCheckboxValue(Ze).isValid||at&&!getRadioValue(Ze).isValid)){const{value:dt,message:ft}=isMessage(Je)?{value:!!Je,message:Je}:getValueAndMessage(Je);if(dt&&(rt[et]=Object.assign({type:INPUT_VALIDATION_RULES.required,message:ft,ref:it?((ue.current[et].options||[])[0]||{}).ref:Ue},ct(INPUT_VALIDATION_RULES.required,ft)),!me))return rt}if((!isNullOrUndefined(Xe)||!isNullOrUndefined($e))&&Qe!==""){let dt,ft;const gt=getValueAndMessage($e),ht=getValueAndMessage(Xe);if(isNaN(Qe)){const vt=Ue.valueAsDate||new Date(Qe);isString$2(gt.value)&&(dt=vt>new Date(gt.value)),isString$2(ht.value)&&(ft=vt<new Date(ht.value))}else{const vt=Ue.valueAsNumber||parseFloat(Qe);isNullOrUndefined(gt.value)||(dt=vt>gt.value),isNullOrUndefined(ht.value)||(ft=vt<ht.value)}if((dt||ft)&&(lt(!!dt,gt.message,ht.message,INPUT_VALIDATION_RULES.max,INPUT_VALIDATION_RULES.min),!me))return rt}if(isString$2(Qe)&&!st&&(Ge||He)){const dt=getValueAndMessage(Ge),ft=getValueAndMessage(He),gt=!isNullOrUndefined(dt.value)&&Qe.length>dt.value,ht=!isNullOrUndefined(ft.value)&&Qe.length<ft.value;if((gt||ht)&&(lt(gt,dt.message,ft.message),!me))return rt}if(isString$2(Qe)&&Ke&&!st){const{value:dt,message:ft}=getValueAndMessage(Ke);if(isRegex(dt)&&!dt.test(Qe)&&(rt[et]=Object.assign({type:INPUT_VALIDATION_RULES.pattern,message:ft,ref:Ue},ct(INPUT_VALIDATION_RULES.pattern,ft)),!me))return rt}if(nt){const dt=getFieldValue(ue,et,tt,!1,!0),ft=it&&Ze?Ze[0].ref:Ue;if(isFunction$1(nt)){const gt=await nt(dt),ht=getValidateError(gt,ft);if(ht&&(rt[et]=Object.assign(Object.assign({},ht),ct(INPUT_VALIDATION_RULES.validate,ht.message)),!me))return rt}else if(isObject$4(nt)){let gt={};for(const[ht,vt]of Object.entries(nt)){if(!isEmptyObject(gt)&&!me)break;const Rt=await vt(dt),bt=getValidateError(Rt,ft,ht);bt&&(gt=Object.assign(Object.assign({},bt),ct(ht,bt.message)),me&&(rt[et]=gt))}if(!isEmptyObject(gt)&&(rt[et]=Object.assign({ref:ft},gt),!me))return rt}}return rt};const getPath=(ue,me,Ue=[])=>{for(const Qe in me){const Ze=ue+(isObject$4(me)?`.${Qe}`:`[${Qe}]`);isPrimitive(me[Qe])?Ue.push(Ze):getPath(Ze,me[Qe],Ue)}return Ue};var assignWatchFields=(ue,me,Ue,Qe,Ze)=>{let Je;return Ue.add(me),isEmptyObject(ue)||(Je=get(ue,me),(isObject$4(Je)||Array.isArray(Je))&&getPath(me,Je).forEach(Ge=>Ue.add(Ge))),isUndefined$1(Je)?Ze?Qe:get(Qe,me):Je},skipValidation=({isOnBlur:ue,isOnChange:me,isOnTouch:Ue,isTouched:Qe,isReValidateOnBlur:Ze,isReValidateOnChange:Je,isBlurEvent:Ge,isSubmitted:He,isOnAll:Xe})=>Xe?!1:!He&&Ue?!(Qe||Ge):(He?Ze:ue)?!Ge:(He?Je:me)?Ge:!0,getFieldArrayParentName=ue=>ue.substring(0,ue.indexOf("["));const isMatchFieldArrayName=(ue,me)=>RegExp(`^${me}([|.)\\d+`.replace(/\[/g,"\\[").replace(/\]/g,"\\]")).test(ue);var isNameInFieldArray=(ue,me)=>[...ue].some(Ue=>isMatchFieldArrayName(me,Ue)),isSelectInput=ue=>ue.type===`${SELECT}-one`;function onDomRemove(ue,me){const Ue=new MutationObserver(()=>{for(const Qe of Object.values(ue.current))if(Qe&&Qe.options)for(const Ze of Qe.options)Ze&&Ze.ref&&isDetached(Ze.ref)&&me(Qe);else Qe&&isDetached(Qe.ref)&&me(Qe)});return Ue.observe(window.document,{childList:!0,subtree:!0}),Ue}var isWeb=typeof window!==UNDEFINED&&typeof document!==UNDEFINED;function cloneObject(ue){var me;let Ue;if(isPrimitive(ue)||isWeb&&(ue instanceof File||isHTMLElement(ue))||!["Set","Map","Object","Date","Array"].includes((me=ue.constructor)===null||me===void 0?void 0:me.name))return ue;if(ue instanceof Date)return Ue=new Date(ue.getTime()),Ue;if(ue instanceof Set){Ue=new Set;for(const Qe of ue)Ue.add(Qe);return Ue}if(ue instanceof Map){Ue=new Map;for(const Qe of ue.keys())Ue.set(Qe,cloneObject(ue.get(Qe)));return Ue}Ue=Array.isArray(ue)?[]:{};for(const Qe in ue)Ue[Qe]=cloneObject(ue[Qe]);return Ue}var modeChecker=ue=>({isOnSubmit:!ue||ue===VALIDATION_MODE.onSubmit,isOnBlur:ue===VALIDATION_MODE.onBlur,isOnChange:ue===VALIDATION_MODE.onChange,isOnAll:ue===VALIDATION_MODE.all,isOnTouch:ue===VALIDATION_MODE.onTouched}),isRadioOrCheckboxFunction=ue=>isRadioInput(ue)||isCheckBoxInput(ue);const isWindowUndefined=typeof window===UNDEFINED,isProxyEnabled=isWeb?"Proxy"in window:typeof Proxy!==UNDEFINED;function useForm({mode:ue=VALIDATION_MODE.onSubmit,reValidateMode:me=VALIDATION_MODE.onChange,resolver:Ue,context:Qe,defaultValues:Ze={},shouldFocusError:Je=!0,shouldUnregister:Ge=!0,criteriaMode:He}={}){const Xe=React$1.useRef({}),$e=React$1.useRef({}),Ke=React$1.useRef({}),nt=React$1.useRef(new Set),tt=React$1.useRef({}),et=React$1.useRef({}),rt=React$1.useRef({}),at=React$1.useRef({}),ot=React$1.useRef(Ze),it=React$1.useRef(!1),st=React$1.useRef(!1),ct=React$1.useRef(),lt=React$1.useRef({}),dt=React$1.useRef({}),ft=React$1.useRef(Qe),gt=React$1.useRef(Ue),ht=React$1.useRef(new Set),vt=React$1.useRef(modeChecker(ue)),{isOnSubmit:Rt,isOnTouch:bt}=vt.current,At=He===VALIDATION_MODE.all,[Nt,mt]=React$1.useState({isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touched:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!Rt,errors:{}}),It=React$1.useRef({isDirty:!isProxyEnabled,dirtyFields:!isProxyEnabled,touched:!isProxyEnabled||bt,isValidating:!isProxyEnabled,isSubmitting:!isProxyEnabled,isValid:!isProxyEnabled}),yt=React$1.useRef(Nt),Mt=React$1.useRef(),{isOnBlur:St,isOnChange:xt}=React$1.useRef(modeChecker(me)).current;ft.current=Qe,gt.current=Ue,yt.current=Nt,lt.current=Ge?{}:isEmptyObject(lt.current)?cloneObject(Ze):lt.current;const Ut=React$1.useCallback((Ht={})=>{it.current||(yt.current=Object.assign(Object.assign({},yt.current),Ht),mt(yt.current))},[]),Ft=()=>It.current.isValidating&&Ut({isValidating:!0}),wt=React$1.useCallback((Ht,Kt,rn=!1,ln={},an)=>{let mn=rn||isErrorStateChanged({errors:yt.current.errors,error:Kt,name:Ht,validFields:at.current,fieldsWithValidation:rt.current});const yn=get(yt.current.errors,Ht);Kt?(unset(at.current,Ht),mn=mn||!yn||!deepEqual(yn,Kt,!0),set(yt.current.errors,Ht,Kt)):((get(rt.current,Ht)||gt.current)&&(set(at.current,Ht,!0),mn=mn||yn),unset(yt.current.errors,Ht)),(mn&&!isNullOrUndefined(rn)||!isEmptyObject(ln)||It.current.isValidating)&&Ut(Object.assign(Object.assign(Object.assign({},ln),gt.current?{isValid:!!an}:{}),{isValidating:!1}))},[]),Ct=React$1.useCallback((Ht,Kt)=>{const{ref:rn,options:ln}=Xe.current[Ht],an=isWeb&&isHTMLElement(rn)&&isNullOrUndefined(Kt)?"":Kt;isRadioInput(rn)?(ln||[]).forEach(({ref:mn})=>mn.checked=mn.value===an):isFileInput(rn)&&!isString$2(an)?rn.files=an:isMultipleSelect(rn)?[...rn.options].forEach(mn=>mn.selected=an.includes(mn.value)):isCheckBoxInput(rn)&&ln?ln.length>1?ln.forEach(({ref:mn})=>mn.checked=Array.isArray(an)?!!an.find(yn=>yn===mn.value):an===mn.value):ln[0].ref.checked=!!an:rn.value=an},[]),Zt=React$1.useCallback((Ht,Kt)=>{if(It.current.isDirty){const rn=Ot();return Ht&&Kt&&set(rn,Ht,Kt),!deepEqual(rn,ot.current)}return!1},[]),Jt=React$1.useCallback((Ht,Kt=!0)=>{if(It.current.isDirty||It.current.dirtyFields){const rn=!deepEqual(get(ot.current,Ht),getFieldValue(Xe,Ht,lt)),ln=get(yt.current.dirtyFields,Ht),an=yt.current.isDirty;rn?set(yt.current.dirtyFields,Ht,!0):unset(yt.current.dirtyFields,Ht);const mn={isDirty:Zt(),dirtyFields:yt.current.dirtyFields},yn=It.current.isDirty&&an!==mn.isDirty||It.current.dirtyFields&&ln!==get(yt.current.dirtyFields,Ht);return yn&&Kt&&Ut(mn),yn?mn:{}}return{}},[]),Qt=React$1.useCallback(async(Ht,Kt)=>{if(process.env.NODE_ENV!=="production"&&!Xe.current[Ht])return console.warn("📋 Field is missing with `name` attribute: ",Ht),!1;const rn=(await validateField(Xe,At,Xe.current[Ht],lt))[Ht];return wt(Ht,rn,Kt),isUndefined$1(rn)},[wt,At]),$t=React$1.useCallback(async Ht=>{const{errors:Kt}=await gt.current(Ot(),ft.current,At),rn=yt.current.isValid;if(Array.isArray(Ht)){const ln=Ht.map(an=>{const mn=get(Kt,an);return mn?set(yt.current.errors,an,mn):unset(yt.current.errors,an),!mn}).every(Boolean);return Ut({isValid:isEmptyObject(Kt),isValidating:!1}),ln}else{const ln=get(Kt,Ht);return wt(Ht,ln,rn!==isEmptyObject(Kt),{},isEmptyObject(Kt)),!ln}},[wt,At]),Gt=React$1.useCallback(async Ht=>{const Kt=Ht||Object.keys(Xe.current);if(Ft(),gt.current)return $t(Kt);if(Array.isArray(Kt)){!Ht&&(yt.current.errors={});const rn=await Promise.all(Kt.map(async ln=>await Qt(ln,null)));return Ut({isValidating:!1}),rn.every(Boolean)}return await Qt(Kt)},[$t,Qt]),Pt=React$1.useCallback((Ht,Kt,{shouldDirty:rn,shouldValidate:ln})=>{const an={};set(an,Ht,Kt);for(const mn of getPath(Ht,Kt))Xe.current[mn]&&(Ct(mn,get(an,mn)),rn&&Jt(mn),ln&&Gt(mn))},[Gt,Ct,Jt]),jt=React$1.useCallback((Ht,Kt,rn)=>{if(!Ge&&!isPrimitive(Kt)&&set(lt.current,Ht,Array.isArray(Kt)?[...Kt]:Object.assign({},Kt)),Xe.current[Ht])Ct(Ht,Kt),rn.shouldDirty&&Jt(Ht),rn.shouldValidate&&Gt(Ht);else if(!isPrimitive(Kt)&&(Pt(Ht,Kt,rn),ht.current.has(Ht))){const ln=getFieldArrayParentName(Ht)||Ht;set($e.current,Ht,Kt),dt.current[ln]({[ln]:get($e.current,ln)}),(It.current.isDirty||It.current.dirtyFields)&&rn.shouldDirty&&(set(yt.current.dirtyFields,Ht,setFieldArrayDirtyFields(Kt,get(ot.current,Ht,[]),get(yt.current.dirtyFields,Ht,[]))),Ut({isDirty:!deepEqual(Object.assign(Object.assign({},Ot()),{[Ht]:Kt}),ot.current)}))}!Ge&&set(lt.current,Ht,Kt)},[Jt,Ct,Pt]),Dt=Ht=>st.current||nt.current.has(Ht)||nt.current.has((Ht.match(/\w+/)||[])[0]),ut=Ht=>{let Kt=!0;if(!isEmptyObject(tt.current))for(const rn in tt.current)(!Ht||!tt.current[rn].size||tt.current[rn].has(Ht)||tt.current[rn].has(getFieldArrayParentName(Ht)))&&(et.current[rn](),Kt=!1);return Kt};function Et(Ht,Kt,rn){jt(Ht,Kt,rn||{}),Dt(Ht)&&Ut(),ut(Ht)}ct.current=ct.current?ct.current:async({type:Ht,target:Kt})=>{let rn=Kt.name;const ln=Xe.current[rn];let an,mn;if(ln){const yn=Ht===EVENTS.BLUR,bn=skipValidation(Object.assign({isBlurEvent:yn,isReValidateOnChange:xt,isReValidateOnBlur:St,isTouched:!!get(yt.current.touched,rn),isSubmitted:yt.current.isSubmitted},vt.current));let Cn=Jt(rn,!1),Bn=!isEmptyObject(Cn)||!yn&&Dt(rn);if(yn&&!get(yt.current.touched,rn)&&It.current.touched&&(set(yt.current.touched,rn,!0),Cn=Object.assign(Object.assign({},Cn),{touched:yt.current.touched})),!Ge&&isCheckBoxInput(Kt)&&set(lt.current,rn,getFieldValue(Xe,rn)),bn)return!yn&&ut(rn),(!isEmptyObject(Cn)||Bn&&isEmptyObject(Cn))&&Ut(Cn);if(Ft(),gt.current){const{errors:wn}=await gt.current(Ot(),ft.current,At),Dn=yt.current.isValid;if(an=get(wn,rn),isCheckBoxInput(Kt)&&!an&&gt.current){const Wn=getFieldArrayParentName(rn),kn=get(wn,Wn,{});kn.type&&kn.message&&(an=kn),Wn&&(kn||get(yt.current.errors,Wn))&&(rn=Wn)}mn=isEmptyObject(wn),Dn!==mn&&(Bn=!0)}else an=(await validateField(Xe,At,ln,lt))[rn];!yn&&ut(rn),wt(rn,an,Bn,Cn,mn)}};function Vt(Ht){if(!Ge){let Kt=cloneObject(Ht);for(const rn of ht.current)isKey(rn)&&!Kt[rn]&&(Kt=Object.assign(Object.assign({},Kt),{[rn]:[]}));return Kt}return Ht}function Ot(Ht){if(isString$2(Ht))return getFieldValue(Xe,Ht,lt);if(Array.isArray(Ht)){const Kt={};for(const rn of Ht)set(Kt,rn,getFieldValue(Xe,rn,lt));return Kt}return Vt(getFieldsValues(Xe,cloneObject(lt.current),Ge))}const Lt=React$1.useCallback(async(Ht={})=>{const Kt=isEmptyObject(Xe.current)?ot.current:{},{errors:rn}=await gt.current(Object.assign(Object.assign(Object.assign({},Kt),Ot()),Ht),ft.current,At)||{},ln=isEmptyObject(rn);yt.current.isValid!==ln&&Ut({isValid:ln})},[At]),zt=React$1.useCallback((Ht,Kt)=>{findRemovedFieldAndRemoveListener(Xe,ct.current,Ht,lt,Ge,Kt),Ge&&(unset(at.current,Ht.ref.name),unset(rt.current,Ht.ref.name))},[Ge]),Xt=React$1.useCallback(Ht=>{if(st.current)Ut();else{for(const Kt of nt.current)if(Kt.startsWith(Ht)){Ut();break}ut(Ht)}},[]),Yt=React$1.useCallback((Ht,Kt)=>{Ht&&(zt(Ht,Kt),Ge&&!compact(Ht.options||[]).length&&(unset(yt.current.errors,Ht.ref.name),set(yt.current.dirtyFields,Ht.ref.name,!0),Ut({isDirty:Zt()}),It.current.isValid&&gt.current&&Lt(),Xt(Ht.ref.name)))},[Lt,zt]);function sn(Ht){Ht&&(Array.isArray(Ht)?Ht:[Ht]).forEach(Kt=>Xe.current[Kt]&&isKey(Kt)?delete yt.current.errors[Kt]:unset(yt.current.errors,Kt)),Ut({errors:Ht?yt.current.errors:{}})}function cn(Ht,Kt){const rn=(Xe.current[Ht]||{}).ref;set(yt.current.errors,Ht,Object.assign(Object.assign({},Kt),{ref:rn})),Ut({isValid:!1}),Kt.shouldFocus&&rn&&rn.focus&&rn.focus()}const pn=React$1.useCallback((Ht,Kt,rn)=>{const ln=rn?tt.current[rn]:nt.current;let an=getFieldsValues(Xe,cloneObject(lt.current),Ge,!1,Ht);if(isString$2(Ht)){const yn=getFieldArrayParentName(Ht)||Ht;return ht.current.has(yn)&&(an=Object.assign(Object.assign({},Ke.current),an)),assignWatchFields(an,Ht,ln,isUndefined$1(get(ot.current,Ht))?Kt:get(ot.current,Ht),!0)}const mn=isUndefined$1(Kt)?ot.current:Kt;return Array.isArray(Ht)?Ht.reduce((yn,bn)=>Object.assign(Object.assign({},yn),{[bn]:assignWatchFields(an,bn,ln,mn)}),{}):(st.current=isUndefined$1(rn),transformToNestObject(!isEmptyObject(an)&&an||mn))},[]);function vn(Ht,Kt){return pn(Ht,Kt)}function Tn(Ht){for(const Kt of Array.isArray(Ht)?Ht:[Ht])Yt(Xe.current[Kt],!0)}function tn(Ht,Kt={}){if(process.env.NODE_ENV!=="production"){if(!Ht.name)return console.warn("📋 Field is missing `name` attribute",Ht,"https://react-hook-form.com/api#useForm");if(ht.current.has(Ht.name.split(/\[\d+\]$/)[0])&&!RegExp(`^${Ht.name.split(/\[\d+\]$/)[0]}[\\d+].\\w+`.replace(/\[/g,"\\[").replace(/\]/g,"\\]")).test(Ht.name))return console.warn('📋 `name` prop should be in object shape: name="test[index].name"',Ht,"https://react-hook-form.com/api#useFieldArray")}const{name:rn,type:ln,value:an}=Ht,mn=Object.assign({ref:Ht},Kt),yn=Xe.current,bn=isRadioOrCheckboxFunction(Ht),Cn=isNameInFieldArray(ht.current,rn),Bn=jn=>isWeb&&(!isHTMLElement(Ht)||jn===Ht);let wn=yn[rn],Dn=!0,Wn;if(wn&&(bn?Array.isArray(wn.options)&&compact(wn.options).find(jn=>an===jn.ref.value&&Bn(jn.ref)):Bn(wn.ref))){yn[rn]=Object.assign(Object.assign({},wn),Kt);return}ln?wn=bn?Object.assign({options:[...compact(wn&&wn.options||[]),{ref:Ht}],ref:{type:ln,name:rn}},Kt):Object.assign({},mn):wn=mn,yn[rn]=wn;const kn=isUndefined$1(get(lt.current,rn));(!isEmptyObject(ot.current)||!kn)&&(Wn=get(kn?ot.current:lt.current,rn),Dn=isUndefined$1(Wn),!Dn&&!Cn&&Ct(rn,Wn)),isEmptyObject(Kt)||(set(rt.current,rn,!0),!Rt&&It.current.isValid&&validateField(Xe,At,wn,lt).then(jn=>{const Pn=yt.current.isValid;isEmptyObject(jn)?set(at.current,rn,!0):unset(at.current,rn),Pn!==isEmptyObject(jn)&&Ut()})),Ge&&!(Cn&&Dn)&&!Cn&&unset(yt.current.dirtyFields,rn),ln&&attachEventListeners(bn&&wn.options?wn.options[wn.options.length-1]:wn,bn||isSelectInput(Ht),ct.current)}function dn(Ht,Kt){if(!isWindowUndefined)if(isString$2(Ht))tn({name:Ht},Kt);else if(isObject$4(Ht)&&"name"in Ht)tn(Ht,Kt);else return rn=>rn&&tn(rn,Ht)}const fn=React$1.useCallback((Ht,Kt)=>async rn=>{rn&&rn.preventDefault&&(rn.preventDefault(),rn.persist());let ln={},an=Vt(getFieldsValues(Xe,cloneObject(lt.current),Ge,!0));It.current.isSubmitting&&Ut({isSubmitting:!0});try{if(gt.current){const{errors:mn,values:yn}=await gt.current(an,ft.current,At);yt.current.errors=ln=mn,an=yn}else for(const mn of Object.values(Xe.current))if(mn){const{name:yn}=mn.ref,bn=await validateField(Xe,At,mn,lt);bn[yn]?(set(ln,yn,bn[yn]),unset(at.current,yn)):get(rt.current,yn)&&(unset(yt.current.errors,yn),set(at.current,yn,!0))}isEmptyObject(ln)&&Object.keys(yt.current.errors).every(mn=>mn in Xe.current)?(Ut({errors:{},isSubmitting:!0}),await Ht(an,rn)):(yt.current.errors=Object.assign(Object.assign({},yt.current.errors),ln),Kt&&await Kt(yt.current.errors,rn),Je&&focusOnErrorField(Xe.current,yt.current.errors))}finally{yt.current.isSubmitting=!1,Ut({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:isEmptyObject(yt.current.errors),submitCount:yt.current.submitCount+1})}},[Je,At]),Mn=({errors:Ht,isDirty:Kt,isSubmitted:rn,touched:ln,isValid:an,submitCount:mn,dirtyFields:yn})=>{an||(at.current={},rt.current={}),$e.current={},nt.current=new Set,st.current=!1,Ut({submitCount:mn?yt.current.submitCount:0,isDirty:Kt?yt.current.isDirty:!1,isSubmitted:rn?yt.current.isSubmitted:!1,isValid:an?yt.current.isValid:!1,dirtyFields:yn?yt.current.dirtyFields:{},touched:ln?yt.current.touched:{},errors:Ht?yt.current.errors:{},isSubmitting:!1,isSubmitSuccessful:!1})},un=(Ht,Kt={})=>{if(isWeb){for(const rn of Object.values(Xe.current))if(rn){const{ref:ln,options:an}=rn,mn=isRadioOrCheckboxFunction(ln)&&Array.isArray(an)?an[0].ref:ln;if(isHTMLElement(mn))try{mn.closest("form").reset();break}catch{}}}Xe.current={},ot.current=Object.assign({},Ht||ot.current),Ht&&ut(""),Object.values(dt.current).forEach(rn=>isFunction$1(rn)&&rn()),lt.current=Ge?{}:cloneObject(Ht||ot.current),Mn(Kt)};React$1.useEffect(()=>{Ue&&It.current.isValid&&Lt(),Mt.current=Mt.current||!isWeb?Mt.current:onDomRemove(Xe,Yt)},[Yt,ot.current]),React$1.useEffect(()=>()=>{Mt.current&&Mt.current.disconnect(),it.current=!0,process.env.NODE_ENV==="production"&&Object.values(Xe.current).forEach(Ht=>Yt(Ht,!0))},[]),!Ue&&It.current.isValid&&(Nt.isValid=deepEqual(at.current,rt.current)&&isEmptyObject(yt.current.errors));const hn={trigger:Gt,setValue:React$1.useCallback(Et,[jt,Gt]),getValues:React$1.useCallback(Ot,[]),register:React$1.useCallback(dn,[ot.current]),unregister:React$1.useCallback(Tn,[]),formState:isProxyEnabled?new Proxy(Nt,{get:(Ht,Kt)=>{if(process.env.NODE_ENV!=="production"&&Kt==="isValid"&&Rt&&console.warn("📋 `formState.isValid` is applicable with `onTouched`, `onChange` or `onBlur` mode. https://react-hook-form.com/api#formState"),Kt in Ht)return It.current[Kt]=!0,Ht[Kt]}}):Nt},en=React$1.useMemo(()=>Object.assign({isFormDirty:Zt,updateWatchedValue:Xt,shouldUnregister:Ge,updateFormState:Ut,removeFieldEventListener:zt,watchInternal:pn,mode:vt.current,reValidateMode:{isReValidateOnBlur:St,isReValidateOnChange:xt},validateResolver:Ue?Lt:void 0,fieldsRef:Xe,resetFieldArrayFunctionRef:dt,useWatchFieldsRef:tt,useWatchRenderFunctionsRef:et,fieldArrayDefaultValuesRef:$e,validFieldsRef:at,fieldsWithValidationRef:rt,fieldArrayNamesRef:ht,readFormStateRef:It,formStateRef:yt,defaultValuesRef:ot,shallowFieldsStateRef:lt,fieldArrayValuesRef:Ke},hn),[ot.current,Xt,Ge,zt,pn]);return Object.assign({watch:vn,control:en,handleSubmit:fn,reset:React$1.useCallback(un,[]),clearErrors:React$1.useCallback(sn,[]),setError:React$1.useCallback(cn,[]),errors:Nt.errors},hn)}/*! *****************************************************************************
2560
+ `);return tt.length===1?tt.join(" "):tt.filter(et=>!!et.trim()).map(et=>Ge(et)).join(" ")},Ke=({title:nt,content:tt,isDefault:et})=>{addConsent({title:`${et?Ge(nt):nt}`,content:et?$e(tt):tt,status:!0,session:ue})};return React$1.useEffect(()=>{if(me||Ue){Xe({title:me||defaultPrivacyConsent.title,text:Ue||defaultPrivacyConsent.text,consentType:defaultPrivacyConsent.consentType,default:!Ue});return}getPrivacyConsentData({session:ue,type:"PRIVACY"}).then(({consents:nt})=>{const tt=nt.find(({consentType:et})=>et==="PRIVACY");tt!=null&&tt.text?Xe({...tt,title:(tt==null?void 0:tt.title.trim())||defaultPrivacyConsent.title,text:tt.text.trim()||defaultPrivacyConsent.text,default:!(tt!=null&&tt.text)}):Xe(defaultPrivacyConsent)}).catch(()=>{Xe(defaultPrivacyConsent)})},[ue,me,Ue]),He?jsx(NormalPrivacyConsent,{consent:He,goNext:Qe,addPrivacyConsent:Ke,session:ue,isAeroMexicoClient:Ze,customCheck:Je}):null}function renderUserConsent(ue,{session:me,onSuccess:Ue,title:Qe,text:Ze,isAeroMexicoClient:Je=!1,customCheck:Ge=null}){const He=createRoot$1(ue),Xe=handleUnmountRoot(Ue,He,ue);customRender(jsx(App$1,{token:me.token,children:jsx(PrivacyConsent,{goNext:Xe,session:me,title:Qe,text:Ze,isAeroMexicoClient:Je,customCheck:Ge})}),ue,He)}const version="1.71.0-20240430180918.0";function r(ue){for(var me="",Ue=0;Ue<ue.length;++Ue)if(Ue>0){var Qe=ue[Ue].toLowerCase();Qe!==ue[Ue]?me+=" ".concat(Qe):me+=ue[Ue]}else me+=ue[Ue].toUpperCase();return me}function o(ue,me){return function(Ue,Qe){return Object.prototype.hasOwnProperty.call(Ue,Qe)}(ue,me)?ue[me]:void 0}var i$1={default:"endpoint"},u={default:"tlsEndpoint"},a="Client timeout",R="Network connection error",c="Network request aborted",s="Response cannot be parsed",E="Blocked by CSP",f="The endpoint parameter is not a valid URL",d=r("WrongRegion"),l=r("SubscriptionNotActive"),_=r("UnsupportedVersion"),p=r("InstallationMethodRestricted"),v=r("HostnameRestricted"),O=r("IntegrationFailed"),I="API key required",h="API key not found",N="API key expired",T="Request cannot be parsed",m="Request failed",w="Request failed to process",A="Too many requests, rate limit exceeded",P="Not available for this origin",y="Not available with restricted header",D=I,S=h,L=N,U="3.8.6",b="9319";function g(ue,me){var Ue=[];return function(Qe,Ze){var Je=5,Ge=(tt=Qe,et=__spreadArray$1([],tt,!0),{current:function(){return et[0]},postpone:function(){var at=et.shift();at!==void 0&&et.push(at)},exclude:function(){et.shift()}}),He=($e=100,Ke=3e3,nt=0,function(){return Math.random()*Math.min(Ke,$e*Math.pow(2,nt++))}),Xe=Ge.current(),$e,Ke,nt,tt,et;if(Xe===void 0)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var rt=function(at,ot){return Ze(at).catch(function(it){if(ot+1>=Je)throw it;(function(lt){if(!(lt instanceof Error))return!1;var dt=lt.message;return dt===E||dt===b})(it)?Ge.exclude():Ge.postpone();var st,ct=Ge.current();if(ct===void 0)throw it;return(st=He(),new Promise(function(lt){return setTimeout(lt,st)})).then(function(){return rt(ct,ot+1)})})};return rt(Xe,0)}(ue,function(Qe){var Ze=new Date,Je=function(He){return Ue.push({url:Qe,startedAt:Ze,finishedAt:new Date,error:He})},Ge=me(Qe);return Ge.then(function(){return Je()},Je),Ge}).then(function(Qe){return[Qe,Ue]})}var C="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",K=C,M="Failed to load the JS script of the agent";function B(ue){var me;ue.scriptUrlPattern;var Ue=ue.token,Qe=ue.apiKey,Ze=Qe===void 0?Ue:Qe,Je=__rest$1(ue,["scriptUrlPattern","token","apiKey"]),Ge=(me=o(ue,"scriptUrlPattern"))!==null&&me!==void 0?me:C,He=function(){var Ke=[],nt=function(){Ke.push({time:new Date,state:document.visibilityState})},tt=function(et,rt,at,ot){return et.addEventListener(rt,at,ot),function(){return et.removeEventListener(rt,at,ot)}}(document,"visibilitychange",nt);return nt(),[Ke,tt]}(),Xe=He[0],$e=He[1];return Promise.resolve().then(function(){if(!Ze||typeof Ze!="string")throw new Error(I);var Ke=function(nt,tt){return(Array.isArray(nt)?nt:[nt]).map(function(et){return function(rt,at){var ot=encodeURIComponent;return rt.replace(/<[^<>]+>/g,function(it){return it==="<version>"?"3":it==="<apiKey>"?ot(at):it==="<loaderVersion>"?ot(U):it})}(String(et),tt)})}(Ge,Ze);return g(Ke,F)}).catch(function(Ke){throw $e(),function(nt){return nt instanceof Error&&nt.message===b?new Error(M):nt}(Ke)}).then(function(Ke){var nt=Ke[0],tt=Ke[1];return $e(),nt.load(__assign$2(__assign$2({},Je),{ldi:{attempts:tt,visibilityStates:Xe}}))})}function F(ue){return function(me,Ue,Qe,Ze){var Je,Ge=document,He="securitypolicyviolation",Xe=function(Ke){var nt=new URL(me,location.href),tt=Ke.blockedURI;tt!==nt.href&&tt!==nt.protocol.slice(0,-1)&&tt!==nt.origin||(Je=Ke,$e())};Ge.addEventListener(He,Xe);var $e=function(){return Ge.removeEventListener(He,Xe)};return Ze==null||Ze.then($e,$e),Promise.resolve().then(Ue).then(function(Ke){return $e(),Ke},function(Ke){return new Promise(function(nt){return setTimeout(nt)}).then(function(){if($e(),Je)return Qe(Je);throw Ke})})}(ue,function(){return function(me){return new Promise(function(Ue,Qe){var Ze=document.createElement("script"),Je=function(){var He;return(He=Ze.parentNode)===null||He===void 0?void 0:He.removeChild(Ze)},Ge=document.head||document.getElementsByTagName("head")[0];Ze.onload=function(){Je(),Ue()},Ze.onerror=function(){Je(),Qe(new Error(M))},Ze.async=!0,Ze.src=me,Ge.appendChild(Ze)})}(ue)},function(){throw new Error(E)}).then(V)}function V(){var ue=window,me="__fpjs_p_l_b",Ue=ue[me];if(function(Qe,Ze){var Je,Ge=(Je=Object.getOwnPropertyDescriptor)===null||Je===void 0?void 0:Je.call(Object,Qe,Ze);Ge!=null&&Ge.configurable?delete Qe[Ze]:Ge&&!Ge.writable||(Qe[Ze]=void 0)}(ue,me),typeof(Ue==null?void 0:Ue.load)!="function")throw new Error(b);return Ue}var k={load:B,defaultScriptUrlPattern:K,ERROR_SCRIPT_LOAD_FAIL:M,ERROR_API_KEY_EXPIRED:N,ERROR_API_KEY_INVALID:h,ERROR_API_KEY_MISSING:I,ERROR_BAD_REQUEST_FORMAT:T,ERROR_BAD_RESPONSE_FORMAT:s,ERROR_CLIENT_TIMEOUT:a,ERROR_CSP_BLOCK:E,ERROR_FORBIDDEN_ENDPOINT:v,ERROR_FORBIDDEN_HEADER:y,ERROR_FORBIDDEN_ORIGIN:P,ERROR_GENERAL_SERVER_FAILURE:m,ERROR_INSTALLATION_METHOD_RESTRICTED:p,ERROR_INTEGRATION_FAILURE:O,ERROR_INVALID_ENDPOINT:f,ERROR_NETWORK_ABORT:c,ERROR_NETWORK_CONNECTION:R,ERROR_RATE_LIMIT:A,ERROR_SERVER_TIMEOUT:w,ERROR_SUBSCRIPTION_NOT_ACTIVE:l,ERROR_TOKEN_EXPIRED:L,ERROR_TOKEN_INVALID:S,ERROR_TOKEN_MISSING:D,ERROR_UNSUPPORTED_VERSION:_,ERROR_WRONG_REGION:d,defaultEndpoint:i$1,defaultTlsEndpoint:u};let fingerprintApiKey;function setFingerprintApiKey(ue){fingerprintApiKey=ue}async function getFingerPrint(){return k.load({token:fingerprintApiKey,endpoint:"https://fingerprint.incodesmile.com",scriptUrlPattern:"https://fingerprint.incodesmile.com/web/v<version>/<apiKey>/loader_v<loaderVersion>.js"}).then(ue=>ue.get({extendedResult:!0}))}const fingerPrintUrl="/omni/add/device-fingerprint";function postFingerprint({hash:ue,ip:me,deviceType:Ue,token:Qe,data:Ze,osVersion:Je,deviceModel:Ge,browser:He,sdkVersion:Xe,hasLiedBrowser:$e,hostingApp:Ke,ipLocation:nt}){return exports.api.post(fingerPrintUrl,{hash:ue,ip:me,deviceType:Ue,data:Ze,osVersion:Je,deviceModel:Ge,browser:He,hasLiedBrowser:$e,sdkVersion:Xe,hostingApp:Ke,ipLocation:nt},{headers:{"X-Incode-Hardware-Id":Qe}}).then(tt=>tt.data).catch(tt=>Promise.reject(tt.response.data))}function formatDeviceModel({vendor:ue,model:me}){return`${ue||""} ${me||""}`.trim()}const emptyFingerprint={visitorId:void 0,ip:void 0,ipLocation:{country:{name:void 0},subdivisions:[],city:{name:void 0},latitude:void 0,longitude:void 0}};async function sendFingerprint({token:ue},me=!0,Ue=!0){var Xe,$e,Ke;const Qe="WEBAPP",{os:Ze,device:Je,browser:Ge}=getUAParserResults(),He=Ue?await getFingerPrint().catch(nt=>(addEvent({code:"fingerprintFetchFailed",payload:{message:nt.message},token:ue}),emptyFingerprint)):emptyFingerprint;return postFingerprint({hash:He.visitorId||"",ip:me&&He.ip||"",deviceType:Qe,token:ue,data:JSON.stringify(He),osVersion:`${Ze.name} ${Ze.version}`,deviceModel:formatDeviceModel(Je),browser:`${Ge.name} ${Ge.version}`,hasLiedBrowser:isBrowserSimulation(),hostingApp:options.hostingApp,sdkVersion:version,ipLocation:{ipCountry:(Xe=He.ipLocation.country)==null?void 0:Xe.name,ipRegion:($e=He.ipLocation.subdivisions)==null?void 0:$e[0].name,ipCity:(Ke=He.ipLocation.city)==null?void 0:Ke.name,ipLatitude:He.ipLocation.latitude,ipLongitude:He.ipLocation.longitude}}).then(nt=>(emptyDeviceStatsQueue(ue),nt))}function mapI18nLang(ue){const me={en:"en-US",es:"es-ES",pt:"pt-BR"},Ue=ue==null?void 0:ue.substring(0,2);return me[Ue]||"en-US"}const createSessionUrl="/omni/start";async function createNewSession({externalId:ue,externalCustomerId:me,configurationId:Ue,uuid:Qe,interviewId:Ze,customFields:Je,language:Ge}={}){const He=Ge||mapI18nLang(i18nInstance.language);try{const Xe=await exports.api.post(createSessionUrl,{externalId:ue,externalCustomerId:me,configurationId:Ue,uuid:Qe,interviewId:Ze,customFields:Je,language:He});state.token=Xe.data;const $e=Xe.data;emptyQueue($e.token);const Ke=await sendFingerprint({token:$e.token,interviewId:$e.interviewId}).catch(()=>({regulationType:"",showMandatoryConsent:!1}));$e.regulationType=Ke.regulationType??"",$e.showMandatoryConsent=Ke.showMandatoryConsent??!1;const tt=new UAParser().getResult();return addEvent({code:"browser",payload:{userAgent:window.navigator.userAgent,isWebRtcSupported:isWebRtcSupported(),...tt},token:$e.token}),$e}catch(Xe){throw Xe!=null&&Xe.response?Xe.response.data:Xe}}const createRedirectUrl=async({session:ue})=>{const{url:me}=await exports.api.get("/omni/onboarding-url",{params:{clientId:ue.clientId},headers:{"X-Incode-Hardware-Id":ue.token}}).then(Ue=>Ue.data);return me};async function createSession$4(ue,me,{externalCustomerId:Ue,configurationId:Qe,uuid:Ze,interviewId:Je,customFields:Ge,language:He}={}){return createNewSession({externalId:me,externalCustomerId:Ue,configurationId:Qe,uuid:Ze,interviewId:Je,customFields:Ge,language:He})}var isHTMLElement=ue=>ue instanceof HTMLElement;const EVENTS={BLUR:"blur",CHANGE:"change",INPUT:"input"},VALIDATION_MODE={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},SELECT="select",UNDEFINED="undefined",INPUT_VALIDATION_RULES={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"};function attachEventListeners({ref:ue},me,Ue){isHTMLElement(ue)&&Ue&&(ue.addEventListener(me?EVENTS.CHANGE:EVENTS.INPUT,Ue),ue.addEventListener(EVENTS.BLUR,Ue))}var isNullOrUndefined=ue=>ue==null;const isObjectType=ue=>typeof ue=="object";var isObject$4=ue=>!isNullOrUndefined(ue)&&!Array.isArray(ue)&&isObjectType(ue)&&!(ue instanceof Date),isKey=ue=>/^\w*$/.test(ue),compact=ue=>ue.filter(Boolean),stringToPath=ue=>compact(ue.replace(/["|']/g,"").replace(/\[/g,".").replace(/\]/g,"").split("."));function set(ue,me,Ue){let Qe=-1;const Ze=isKey(me)?[me]:stringToPath(me),Je=Ze.length,Ge=Je-1;for(;++Qe<Je;){const He=Ze[Qe];let Xe=Ue;if(Qe!==Ge){const $e=ue[He];Xe=isObject$4($e)||Array.isArray($e)?$e:isNaN(+Ze[Qe+1])?{}:[]}ue[He]=Xe,ue=ue[He]}return ue}var transformToNestObject=(ue,me={})=>{for(const Ue in ue)isKey(Ue)?me[Ue]=ue[Ue]:set(me,Ue,ue[Ue]);return me},isUndefined$1=ue=>ue===void 0,get=(ue={},me,Ue)=>{const Qe=compact(me.split(/[,[\].]+?/)).reduce((Ze,Je)=>isNullOrUndefined(Ze)?Ze:Ze[Je],ue);return isUndefined$1(Qe)||Qe===ue?isUndefined$1(ue[me])?Ue:ue[me]:Qe},focusOnErrorField=(ue,me)=>{for(const Ue in ue)if(get(me,Ue)){const Qe=ue[Ue];if(Qe){if(Qe.ref.focus&&isUndefined$1(Qe.ref.focus()))break;if(Qe.options){Qe.options[0].ref.focus();break}}}},removeAllEventListeners=(ue,me)=>{isHTMLElement(ue)&&ue.removeEventListener&&(ue.removeEventListener(EVENTS.INPUT,me),ue.removeEventListener(EVENTS.CHANGE,me),ue.removeEventListener(EVENTS.BLUR,me))};const defaultReturn={isValid:!1,value:null};var getRadioValue=ue=>Array.isArray(ue)?ue.reduce((me,Ue)=>Ue&&Ue.ref.checked?{isValid:!0,value:Ue.ref.value}:me,defaultReturn):defaultReturn,getMultipleSelectValue=ue=>[...ue].filter(({selected:me})=>me).map(({value:me})=>me),isRadioInput=ue=>ue.type==="radio",isFileInput=ue=>ue.type==="file",isCheckBoxInput=ue=>ue.type==="checkbox",isMultipleSelect=ue=>ue.type===`${SELECT}-multiple`;const defaultResult={value:!1,isValid:!1},validResult={value:!0,isValid:!0};var getCheckboxValue=ue=>{if(Array.isArray(ue)){if(ue.length>1){const Ze=ue.filter(Je=>Je&&Je.ref.checked).map(({ref:{value:Je}})=>Je);return{value:Ze,isValid:!!Ze.length}}const{checked:me,value:Ue,attributes:Qe}=ue[0].ref;return me?Qe&&!isUndefined$1(Qe.value)?isUndefined$1(Ue)||Ue===""?validResult:{value:Ue,isValid:!0}:validResult:defaultResult}return defaultResult};function getFieldValue(ue,me,Ue,Qe,Ze){const Je=ue.current[me];if(Je){const{ref:{value:Ge,disabled:He},ref:Xe,valueAsNumber:$e,valueAsDate:Ke,setValueAs:nt}=Je;return He&&Qe?void 0:isFileInput(Xe)?Xe.files:isRadioInput(Xe)?getRadioValue(Je.options).value:isMultipleSelect(Xe)?getMultipleSelectValue(Xe.options):isCheckBoxInput(Xe)?getCheckboxValue(Je.options).value:Ze?Ge:$e?Ge===""?NaN:+Ge:Ke?Xe.valueAsDate:nt?nt(Ge):Ge}if(Ue)return get(Ue.current,me)}function isDetached(ue){return ue?!(ue instanceof HTMLElement)||ue.nodeType===Node.DOCUMENT_NODE?!1:isDetached(ue.parentNode):!0}var isEmptyObject=ue=>isObject$4(ue)&&!Object.keys(ue).length,isBoolean=ue=>typeof ue=="boolean";function baseGet(ue,me){const Ue=me.slice(0,-1).length;let Qe=0;for(;Qe<Ue;)ue=isUndefined$1(ue)?Qe++:ue[me[Qe++]];return ue}function unset(ue,me){const Ue=isKey(me)?[me]:stringToPath(me),Qe=Ue.length==1?ue:baseGet(ue,Ue),Ze=Ue[Ue.length-1];let Je;Qe&&delete Qe[Ze];for(let Ge=0;Ge<Ue.slice(0,-1).length;Ge++){let He=-1,Xe;const $e=Ue.slice(0,-(Ge+1)),Ke=$e.length-1;for(Ge>0&&(Je=ue);++He<$e.length;){const nt=$e[He];Xe=Xe?Xe[nt]:ue[nt],Ke===He&&(isObject$4(Xe)&&isEmptyObject(Xe)||Array.isArray(Xe)&&!Xe.filter(tt=>isObject$4(tt)&&!isEmptyObject(tt)||isBoolean(tt)).length)&&(Je?delete Je[nt]:delete ue[nt]),Je=Xe}}return ue}const isSameRef=(ue,me)=>ue&&ue.ref===me;function findRemovedFieldAndRemoveListener(ue,me,Ue,Qe,Ze,Je){const{ref:Ge,ref:{name:He}}=Ue,Xe=ue.current[He];if(!Ze){const $e=getFieldValue(ue,He,Qe);!isUndefined$1($e)&&set(Qe.current,He,$e)}if(!Ge.type||!Xe){delete ue.current[He];return}isRadioInput(Ge)||isCheckBoxInput(Ge)?Array.isArray(Xe.options)&&Xe.options.length?(compact(Xe.options).forEach(($e={},Ke)=>{(isDetached($e.ref)&&isSameRef($e,$e.ref)||Je)&&(removeAllEventListeners($e.ref,me),unset(Xe.options,`[${Ke}]`))}),Xe.options&&!compact(Xe.options).length&&delete ue.current[He]):delete ue.current[He]:(isDetached(Ge)&&isSameRef(Xe,Ge)||Je)&&(removeAllEventListeners(Ge,me),delete ue.current[He])}var isPrimitive=ue=>isNullOrUndefined(ue)||!isObjectType(ue);function deepMerge(ue,me){if(isPrimitive(ue)||isPrimitive(me))return me;for(const Ue in me){const Qe=ue[Ue],Ze=me[Ue];try{ue[Ue]=isObject$4(Qe)&&isObject$4(Ze)||Array.isArray(Qe)&&Array.isArray(Ze)?deepMerge(Qe,Ze):Ze}catch{}}return ue}function deepEqual(ue,me,Ue){if(isPrimitive(ue)||isPrimitive(me)||ue instanceof Date||me instanceof Date)return ue===me;if(!React$1.isValidElement(ue)){const Qe=Object.keys(ue),Ze=Object.keys(me);if(Qe.length!==Ze.length)return!1;for(const Je of Qe){const Ge=ue[Je];if(!(Ue&&Je==="ref")){const He=me[Je];if((isObject$4(Ge)||Array.isArray(Ge))&&(isObject$4(He)||Array.isArray(He))?!deepEqual(Ge,He,Ue):Ge!==He)return!1}}}return!0}function setDirtyFields(ue,me,Ue,Qe,Ze){let Je=-1;for(;++Je<ue.length;){for(const Ge in ue[Je])Array.isArray(ue[Je][Ge])?(!Ue[Je]&&(Ue[Je]={}),Ue[Je][Ge]=[],setDirtyFields(ue[Je][Ge],get(me[Je]||{},Ge,[]),Ue[Je][Ge],Ue[Je],Ge)):deepEqual(get(me[Je]||{},Ge),ue[Je][Ge])?set(Ue[Je]||{},Ge):Ue[Je]=Object.assign(Object.assign({},Ue[Je]),{[Ge]:!0});Qe&&!Ue.length&&delete Qe[Ze]}return Ue}var setFieldArrayDirtyFields=(ue,me,Ue)=>deepMerge(setDirtyFields(ue,me,Ue.slice(0,ue.length)),setDirtyFields(me,ue,Ue.slice(0,ue.length))),isString$2=ue=>typeof ue=="string",getFieldsValues=(ue,me,Ue,Qe,Ze)=>{const Je={};for(const Ge in ue.current)(isUndefined$1(Ze)||(isString$2(Ze)?Ge.startsWith(Ze):Array.isArray(Ze)&&Ze.find(He=>Ge.startsWith(He))))&&(Je[Ge]=getFieldValue(ue,Ge,void 0,Qe));return Ue?transformToNestObject(Je):deepMerge(me,transformToNestObject(Je))},isErrorStateChanged=({errors:ue,name:me,error:Ue,validFields:Qe,fieldsWithValidation:Ze})=>{const Je=isUndefined$1(Ue),Ge=get(ue,me);return Je&&!!Ge||!Je&&!deepEqual(Ge,Ue,!0)||Je&&get(Ze,me)&&!get(Qe,me)},isRegex=ue=>ue instanceof RegExp,getValueAndMessage=ue=>isObject$4(ue)&&!isRegex(ue)?ue:{value:ue,message:""},isFunction$1=ue=>typeof ue=="function",isMessage=ue=>isString$2(ue)||React$1.isValidElement(ue);function getValidateError(ue,me,Ue="validate"){if(isMessage(ue)||isBoolean(ue)&&!ue)return{type:Ue,message:isMessage(ue)?ue:"",ref:me}}var appendErrors=(ue,me,Ue,Qe,Ze)=>me?Object.assign(Object.assign({},Ue[ue]),{types:Object.assign(Object.assign({},Ue[ue]&&Ue[ue].types?Ue[ue].types:{}),{[Qe]:Ze||!0})}):{},validateField=async(ue,me,{ref:Ue,ref:{value:Qe},options:Ze,required:Je,maxLength:Ge,minLength:He,min:Xe,max:$e,pattern:Ke,validate:nt},tt)=>{const et=Ue.name,rt={},at=isRadioInput(Ue),ot=isCheckBoxInput(Ue),it=at||ot,st=Qe==="",ct=appendErrors.bind(null,et,me,rt),lt=(dt,ft,gt,ht=INPUT_VALIDATION_RULES.maxLength,vt=INPUT_VALIDATION_RULES.minLength)=>{const Rt=dt?ft:gt;rt[et]=Object.assign({type:dt?ht:vt,message:Rt,ref:Ue},ct(dt?ht:vt,Rt))};if(Je&&(!at&&!ot&&(st||isNullOrUndefined(Qe))||isBoolean(Qe)&&!Qe||ot&&!getCheckboxValue(Ze).isValid||at&&!getRadioValue(Ze).isValid)){const{value:dt,message:ft}=isMessage(Je)?{value:!!Je,message:Je}:getValueAndMessage(Je);if(dt&&(rt[et]=Object.assign({type:INPUT_VALIDATION_RULES.required,message:ft,ref:it?((ue.current[et].options||[])[0]||{}).ref:Ue},ct(INPUT_VALIDATION_RULES.required,ft)),!me))return rt}if((!isNullOrUndefined(Xe)||!isNullOrUndefined($e))&&Qe!==""){let dt,ft;const gt=getValueAndMessage($e),ht=getValueAndMessage(Xe);if(isNaN(Qe)){const vt=Ue.valueAsDate||new Date(Qe);isString$2(gt.value)&&(dt=vt>new Date(gt.value)),isString$2(ht.value)&&(ft=vt<new Date(ht.value))}else{const vt=Ue.valueAsNumber||parseFloat(Qe);isNullOrUndefined(gt.value)||(dt=vt>gt.value),isNullOrUndefined(ht.value)||(ft=vt<ht.value)}if((dt||ft)&&(lt(!!dt,gt.message,ht.message,INPUT_VALIDATION_RULES.max,INPUT_VALIDATION_RULES.min),!me))return rt}if(isString$2(Qe)&&!st&&(Ge||He)){const dt=getValueAndMessage(Ge),ft=getValueAndMessage(He),gt=!isNullOrUndefined(dt.value)&&Qe.length>dt.value,ht=!isNullOrUndefined(ft.value)&&Qe.length<ft.value;if((gt||ht)&&(lt(gt,dt.message,ft.message),!me))return rt}if(isString$2(Qe)&&Ke&&!st){const{value:dt,message:ft}=getValueAndMessage(Ke);if(isRegex(dt)&&!dt.test(Qe)&&(rt[et]=Object.assign({type:INPUT_VALIDATION_RULES.pattern,message:ft,ref:Ue},ct(INPUT_VALIDATION_RULES.pattern,ft)),!me))return rt}if(nt){const dt=getFieldValue(ue,et,tt,!1,!0),ft=it&&Ze?Ze[0].ref:Ue;if(isFunction$1(nt)){const gt=await nt(dt),ht=getValidateError(gt,ft);if(ht&&(rt[et]=Object.assign(Object.assign({},ht),ct(INPUT_VALIDATION_RULES.validate,ht.message)),!me))return rt}else if(isObject$4(nt)){let gt={};for(const[ht,vt]of Object.entries(nt)){if(!isEmptyObject(gt)&&!me)break;const Rt=await vt(dt),bt=getValidateError(Rt,ft,ht);bt&&(gt=Object.assign(Object.assign({},bt),ct(ht,bt.message)),me&&(rt[et]=gt))}if(!isEmptyObject(gt)&&(rt[et]=Object.assign({ref:ft},gt),!me))return rt}}return rt};const getPath=(ue,me,Ue=[])=>{for(const Qe in me){const Ze=ue+(isObject$4(me)?`.${Qe}`:`[${Qe}]`);isPrimitive(me[Qe])?Ue.push(Ze):getPath(Ze,me[Qe],Ue)}return Ue};var assignWatchFields=(ue,me,Ue,Qe,Ze)=>{let Je;return Ue.add(me),isEmptyObject(ue)||(Je=get(ue,me),(isObject$4(Je)||Array.isArray(Je))&&getPath(me,Je).forEach(Ge=>Ue.add(Ge))),isUndefined$1(Je)?Ze?Qe:get(Qe,me):Je},skipValidation=({isOnBlur:ue,isOnChange:me,isOnTouch:Ue,isTouched:Qe,isReValidateOnBlur:Ze,isReValidateOnChange:Je,isBlurEvent:Ge,isSubmitted:He,isOnAll:Xe})=>Xe?!1:!He&&Ue?!(Qe||Ge):(He?Ze:ue)?!Ge:(He?Je:me)?Ge:!0,getFieldArrayParentName=ue=>ue.substring(0,ue.indexOf("["));const isMatchFieldArrayName=(ue,me)=>RegExp(`^${me}([|.)\\d+`.replace(/\[/g,"\\[").replace(/\]/g,"\\]")).test(ue);var isNameInFieldArray=(ue,me)=>[...ue].some(Ue=>isMatchFieldArrayName(me,Ue)),isSelectInput=ue=>ue.type===`${SELECT}-one`;function onDomRemove(ue,me){const Ue=new MutationObserver(()=>{for(const Qe of Object.values(ue.current))if(Qe&&Qe.options)for(const Ze of Qe.options)Ze&&Ze.ref&&isDetached(Ze.ref)&&me(Qe);else Qe&&isDetached(Qe.ref)&&me(Qe)});return Ue.observe(window.document,{childList:!0,subtree:!0}),Ue}var isWeb=typeof window!==UNDEFINED&&typeof document!==UNDEFINED;function cloneObject(ue){var me;let Ue;if(isPrimitive(ue)||isWeb&&(ue instanceof File||isHTMLElement(ue))||!["Set","Map","Object","Date","Array"].includes((me=ue.constructor)===null||me===void 0?void 0:me.name))return ue;if(ue instanceof Date)return Ue=new Date(ue.getTime()),Ue;if(ue instanceof Set){Ue=new Set;for(const Qe of ue)Ue.add(Qe);return Ue}if(ue instanceof Map){Ue=new Map;for(const Qe of ue.keys())Ue.set(Qe,cloneObject(ue.get(Qe)));return Ue}Ue=Array.isArray(ue)?[]:{};for(const Qe in ue)Ue[Qe]=cloneObject(ue[Qe]);return Ue}var modeChecker=ue=>({isOnSubmit:!ue||ue===VALIDATION_MODE.onSubmit,isOnBlur:ue===VALIDATION_MODE.onBlur,isOnChange:ue===VALIDATION_MODE.onChange,isOnAll:ue===VALIDATION_MODE.all,isOnTouch:ue===VALIDATION_MODE.onTouched}),isRadioOrCheckboxFunction=ue=>isRadioInput(ue)||isCheckBoxInput(ue);const isWindowUndefined=typeof window===UNDEFINED,isProxyEnabled=isWeb?"Proxy"in window:typeof Proxy!==UNDEFINED;function useForm({mode:ue=VALIDATION_MODE.onSubmit,reValidateMode:me=VALIDATION_MODE.onChange,resolver:Ue,context:Qe,defaultValues:Ze={},shouldFocusError:Je=!0,shouldUnregister:Ge=!0,criteriaMode:He}={}){const Xe=React$1.useRef({}),$e=React$1.useRef({}),Ke=React$1.useRef({}),nt=React$1.useRef(new Set),tt=React$1.useRef({}),et=React$1.useRef({}),rt=React$1.useRef({}),at=React$1.useRef({}),ot=React$1.useRef(Ze),it=React$1.useRef(!1),st=React$1.useRef(!1),ct=React$1.useRef(),lt=React$1.useRef({}),dt=React$1.useRef({}),ft=React$1.useRef(Qe),gt=React$1.useRef(Ue),ht=React$1.useRef(new Set),vt=React$1.useRef(modeChecker(ue)),{isOnSubmit:Rt,isOnTouch:bt}=vt.current,At=He===VALIDATION_MODE.all,[Nt,mt]=React$1.useState({isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touched:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!Rt,errors:{}}),It=React$1.useRef({isDirty:!isProxyEnabled,dirtyFields:!isProxyEnabled,touched:!isProxyEnabled||bt,isValidating:!isProxyEnabled,isSubmitting:!isProxyEnabled,isValid:!isProxyEnabled}),yt=React$1.useRef(Nt),Mt=React$1.useRef(),{isOnBlur:St,isOnChange:xt}=React$1.useRef(modeChecker(me)).current;ft.current=Qe,gt.current=Ue,yt.current=Nt,lt.current=Ge?{}:isEmptyObject(lt.current)?cloneObject(Ze):lt.current;const Ut=React$1.useCallback((Ht={})=>{it.current||(yt.current=Object.assign(Object.assign({},yt.current),Ht),mt(yt.current))},[]),Ft=()=>It.current.isValidating&&Ut({isValidating:!0}),wt=React$1.useCallback((Ht,Kt,rn=!1,ln={},an)=>{let mn=rn||isErrorStateChanged({errors:yt.current.errors,error:Kt,name:Ht,validFields:at.current,fieldsWithValidation:rt.current});const yn=get(yt.current.errors,Ht);Kt?(unset(at.current,Ht),mn=mn||!yn||!deepEqual(yn,Kt,!0),set(yt.current.errors,Ht,Kt)):((get(rt.current,Ht)||gt.current)&&(set(at.current,Ht,!0),mn=mn||yn),unset(yt.current.errors,Ht)),(mn&&!isNullOrUndefined(rn)||!isEmptyObject(ln)||It.current.isValidating)&&Ut(Object.assign(Object.assign(Object.assign({},ln),gt.current?{isValid:!!an}:{}),{isValidating:!1}))},[]),Ct=React$1.useCallback((Ht,Kt)=>{const{ref:rn,options:ln}=Xe.current[Ht],an=isWeb&&isHTMLElement(rn)&&isNullOrUndefined(Kt)?"":Kt;isRadioInput(rn)?(ln||[]).forEach(({ref:mn})=>mn.checked=mn.value===an):isFileInput(rn)&&!isString$2(an)?rn.files=an:isMultipleSelect(rn)?[...rn.options].forEach(mn=>mn.selected=an.includes(mn.value)):isCheckBoxInput(rn)&&ln?ln.length>1?ln.forEach(({ref:mn})=>mn.checked=Array.isArray(an)?!!an.find(yn=>yn===mn.value):an===mn.value):ln[0].ref.checked=!!an:rn.value=an},[]),Zt=React$1.useCallback((Ht,Kt)=>{if(It.current.isDirty){const rn=Ot();return Ht&&Kt&&set(rn,Ht,Kt),!deepEqual(rn,ot.current)}return!1},[]),Jt=React$1.useCallback((Ht,Kt=!0)=>{if(It.current.isDirty||It.current.dirtyFields){const rn=!deepEqual(get(ot.current,Ht),getFieldValue(Xe,Ht,lt)),ln=get(yt.current.dirtyFields,Ht),an=yt.current.isDirty;rn?set(yt.current.dirtyFields,Ht,!0):unset(yt.current.dirtyFields,Ht);const mn={isDirty:Zt(),dirtyFields:yt.current.dirtyFields},yn=It.current.isDirty&&an!==mn.isDirty||It.current.dirtyFields&&ln!==get(yt.current.dirtyFields,Ht);return yn&&Kt&&Ut(mn),yn?mn:{}}return{}},[]),Qt=React$1.useCallback(async(Ht,Kt)=>{if(process.env.NODE_ENV!=="production"&&!Xe.current[Ht])return console.warn("📋 Field is missing with `name` attribute: ",Ht),!1;const rn=(await validateField(Xe,At,Xe.current[Ht],lt))[Ht];return wt(Ht,rn,Kt),isUndefined$1(rn)},[wt,At]),$t=React$1.useCallback(async Ht=>{const{errors:Kt}=await gt.current(Ot(),ft.current,At),rn=yt.current.isValid;if(Array.isArray(Ht)){const ln=Ht.map(an=>{const mn=get(Kt,an);return mn?set(yt.current.errors,an,mn):unset(yt.current.errors,an),!mn}).every(Boolean);return Ut({isValid:isEmptyObject(Kt),isValidating:!1}),ln}else{const ln=get(Kt,Ht);return wt(Ht,ln,rn!==isEmptyObject(Kt),{},isEmptyObject(Kt)),!ln}},[wt,At]),Gt=React$1.useCallback(async Ht=>{const Kt=Ht||Object.keys(Xe.current);if(Ft(),gt.current)return $t(Kt);if(Array.isArray(Kt)){!Ht&&(yt.current.errors={});const rn=await Promise.all(Kt.map(async ln=>await Qt(ln,null)));return Ut({isValidating:!1}),rn.every(Boolean)}return await Qt(Kt)},[$t,Qt]),Pt=React$1.useCallback((Ht,Kt,{shouldDirty:rn,shouldValidate:ln})=>{const an={};set(an,Ht,Kt);for(const mn of getPath(Ht,Kt))Xe.current[mn]&&(Ct(mn,get(an,mn)),rn&&Jt(mn),ln&&Gt(mn))},[Gt,Ct,Jt]),jt=React$1.useCallback((Ht,Kt,rn)=>{if(!Ge&&!isPrimitive(Kt)&&set(lt.current,Ht,Array.isArray(Kt)?[...Kt]:Object.assign({},Kt)),Xe.current[Ht])Ct(Ht,Kt),rn.shouldDirty&&Jt(Ht),rn.shouldValidate&&Gt(Ht);else if(!isPrimitive(Kt)&&(Pt(Ht,Kt,rn),ht.current.has(Ht))){const ln=getFieldArrayParentName(Ht)||Ht;set($e.current,Ht,Kt),dt.current[ln]({[ln]:get($e.current,ln)}),(It.current.isDirty||It.current.dirtyFields)&&rn.shouldDirty&&(set(yt.current.dirtyFields,Ht,setFieldArrayDirtyFields(Kt,get(ot.current,Ht,[]),get(yt.current.dirtyFields,Ht,[]))),Ut({isDirty:!deepEqual(Object.assign(Object.assign({},Ot()),{[Ht]:Kt}),ot.current)}))}!Ge&&set(lt.current,Ht,Kt)},[Jt,Ct,Pt]),Dt=Ht=>st.current||nt.current.has(Ht)||nt.current.has((Ht.match(/\w+/)||[])[0]),ut=Ht=>{let Kt=!0;if(!isEmptyObject(tt.current))for(const rn in tt.current)(!Ht||!tt.current[rn].size||tt.current[rn].has(Ht)||tt.current[rn].has(getFieldArrayParentName(Ht)))&&(et.current[rn](),Kt=!1);return Kt};function Et(Ht,Kt,rn){jt(Ht,Kt,rn||{}),Dt(Ht)&&Ut(),ut(Ht)}ct.current=ct.current?ct.current:async({type:Ht,target:Kt})=>{let rn=Kt.name;const ln=Xe.current[rn];let an,mn;if(ln){const yn=Ht===EVENTS.BLUR,bn=skipValidation(Object.assign({isBlurEvent:yn,isReValidateOnChange:xt,isReValidateOnBlur:St,isTouched:!!get(yt.current.touched,rn),isSubmitted:yt.current.isSubmitted},vt.current));let Cn=Jt(rn,!1),Bn=!isEmptyObject(Cn)||!yn&&Dt(rn);if(yn&&!get(yt.current.touched,rn)&&It.current.touched&&(set(yt.current.touched,rn,!0),Cn=Object.assign(Object.assign({},Cn),{touched:yt.current.touched})),!Ge&&isCheckBoxInput(Kt)&&set(lt.current,rn,getFieldValue(Xe,rn)),bn)return!yn&&ut(rn),(!isEmptyObject(Cn)||Bn&&isEmptyObject(Cn))&&Ut(Cn);if(Ft(),gt.current){const{errors:wn}=await gt.current(Ot(),ft.current,At),Dn=yt.current.isValid;if(an=get(wn,rn),isCheckBoxInput(Kt)&&!an&&gt.current){const Wn=getFieldArrayParentName(rn),kn=get(wn,Wn,{});kn.type&&kn.message&&(an=kn),Wn&&(kn||get(yt.current.errors,Wn))&&(rn=Wn)}mn=isEmptyObject(wn),Dn!==mn&&(Bn=!0)}else an=(await validateField(Xe,At,ln,lt))[rn];!yn&&ut(rn),wt(rn,an,Bn,Cn,mn)}};function Vt(Ht){if(!Ge){let Kt=cloneObject(Ht);for(const rn of ht.current)isKey(rn)&&!Kt[rn]&&(Kt=Object.assign(Object.assign({},Kt),{[rn]:[]}));return Kt}return Ht}function Ot(Ht){if(isString$2(Ht))return getFieldValue(Xe,Ht,lt);if(Array.isArray(Ht)){const Kt={};for(const rn of Ht)set(Kt,rn,getFieldValue(Xe,rn,lt));return Kt}return Vt(getFieldsValues(Xe,cloneObject(lt.current),Ge))}const Lt=React$1.useCallback(async(Ht={})=>{const Kt=isEmptyObject(Xe.current)?ot.current:{},{errors:rn}=await gt.current(Object.assign(Object.assign(Object.assign({},Kt),Ot()),Ht),ft.current,At)||{},ln=isEmptyObject(rn);yt.current.isValid!==ln&&Ut({isValid:ln})},[At]),zt=React$1.useCallback((Ht,Kt)=>{findRemovedFieldAndRemoveListener(Xe,ct.current,Ht,lt,Ge,Kt),Ge&&(unset(at.current,Ht.ref.name),unset(rt.current,Ht.ref.name))},[Ge]),Xt=React$1.useCallback(Ht=>{if(st.current)Ut();else{for(const Kt of nt.current)if(Kt.startsWith(Ht)){Ut();break}ut(Ht)}},[]),Yt=React$1.useCallback((Ht,Kt)=>{Ht&&(zt(Ht,Kt),Ge&&!compact(Ht.options||[]).length&&(unset(yt.current.errors,Ht.ref.name),set(yt.current.dirtyFields,Ht.ref.name,!0),Ut({isDirty:Zt()}),It.current.isValid&&gt.current&&Lt(),Xt(Ht.ref.name)))},[Lt,zt]);function sn(Ht){Ht&&(Array.isArray(Ht)?Ht:[Ht]).forEach(Kt=>Xe.current[Kt]&&isKey(Kt)?delete yt.current.errors[Kt]:unset(yt.current.errors,Kt)),Ut({errors:Ht?yt.current.errors:{}})}function cn(Ht,Kt){const rn=(Xe.current[Ht]||{}).ref;set(yt.current.errors,Ht,Object.assign(Object.assign({},Kt),{ref:rn})),Ut({isValid:!1}),Kt.shouldFocus&&rn&&rn.focus&&rn.focus()}const pn=React$1.useCallback((Ht,Kt,rn)=>{const ln=rn?tt.current[rn]:nt.current;let an=getFieldsValues(Xe,cloneObject(lt.current),Ge,!1,Ht);if(isString$2(Ht)){const yn=getFieldArrayParentName(Ht)||Ht;return ht.current.has(yn)&&(an=Object.assign(Object.assign({},Ke.current),an)),assignWatchFields(an,Ht,ln,isUndefined$1(get(ot.current,Ht))?Kt:get(ot.current,Ht),!0)}const mn=isUndefined$1(Kt)?ot.current:Kt;return Array.isArray(Ht)?Ht.reduce((yn,bn)=>Object.assign(Object.assign({},yn),{[bn]:assignWatchFields(an,bn,ln,mn)}),{}):(st.current=isUndefined$1(rn),transformToNestObject(!isEmptyObject(an)&&an||mn))},[]);function vn(Ht,Kt){return pn(Ht,Kt)}function Tn(Ht){for(const Kt of Array.isArray(Ht)?Ht:[Ht])Yt(Xe.current[Kt],!0)}function tn(Ht,Kt={}){if(process.env.NODE_ENV!=="production"){if(!Ht.name)return console.warn("📋 Field is missing `name` attribute",Ht,"https://react-hook-form.com/api#useForm");if(ht.current.has(Ht.name.split(/\[\d+\]$/)[0])&&!RegExp(`^${Ht.name.split(/\[\d+\]$/)[0]}[\\d+].\\w+`.replace(/\[/g,"\\[").replace(/\]/g,"\\]")).test(Ht.name))return console.warn('📋 `name` prop should be in object shape: name="test[index].name"',Ht,"https://react-hook-form.com/api#useFieldArray")}const{name:rn,type:ln,value:an}=Ht,mn=Object.assign({ref:Ht},Kt),yn=Xe.current,bn=isRadioOrCheckboxFunction(Ht),Cn=isNameInFieldArray(ht.current,rn),Bn=jn=>isWeb&&(!isHTMLElement(Ht)||jn===Ht);let wn=yn[rn],Dn=!0,Wn;if(wn&&(bn?Array.isArray(wn.options)&&compact(wn.options).find(jn=>an===jn.ref.value&&Bn(jn.ref)):Bn(wn.ref))){yn[rn]=Object.assign(Object.assign({},wn),Kt);return}ln?wn=bn?Object.assign({options:[...compact(wn&&wn.options||[]),{ref:Ht}],ref:{type:ln,name:rn}},Kt):Object.assign({},mn):wn=mn,yn[rn]=wn;const kn=isUndefined$1(get(lt.current,rn));(!isEmptyObject(ot.current)||!kn)&&(Wn=get(kn?ot.current:lt.current,rn),Dn=isUndefined$1(Wn),!Dn&&!Cn&&Ct(rn,Wn)),isEmptyObject(Kt)||(set(rt.current,rn,!0),!Rt&&It.current.isValid&&validateField(Xe,At,wn,lt).then(jn=>{const Pn=yt.current.isValid;isEmptyObject(jn)?set(at.current,rn,!0):unset(at.current,rn),Pn!==isEmptyObject(jn)&&Ut()})),Ge&&!(Cn&&Dn)&&!Cn&&unset(yt.current.dirtyFields,rn),ln&&attachEventListeners(bn&&wn.options?wn.options[wn.options.length-1]:wn,bn||isSelectInput(Ht),ct.current)}function dn(Ht,Kt){if(!isWindowUndefined)if(isString$2(Ht))tn({name:Ht},Kt);else if(isObject$4(Ht)&&"name"in Ht)tn(Ht,Kt);else return rn=>rn&&tn(rn,Ht)}const fn=React$1.useCallback((Ht,Kt)=>async rn=>{rn&&rn.preventDefault&&(rn.preventDefault(),rn.persist());let ln={},an=Vt(getFieldsValues(Xe,cloneObject(lt.current),Ge,!0));It.current.isSubmitting&&Ut({isSubmitting:!0});try{if(gt.current){const{errors:mn,values:yn}=await gt.current(an,ft.current,At);yt.current.errors=ln=mn,an=yn}else for(const mn of Object.values(Xe.current))if(mn){const{name:yn}=mn.ref,bn=await validateField(Xe,At,mn,lt);bn[yn]?(set(ln,yn,bn[yn]),unset(at.current,yn)):get(rt.current,yn)&&(unset(yt.current.errors,yn),set(at.current,yn,!0))}isEmptyObject(ln)&&Object.keys(yt.current.errors).every(mn=>mn in Xe.current)?(Ut({errors:{},isSubmitting:!0}),await Ht(an,rn)):(yt.current.errors=Object.assign(Object.assign({},yt.current.errors),ln),Kt&&await Kt(yt.current.errors,rn),Je&&focusOnErrorField(Xe.current,yt.current.errors))}finally{yt.current.isSubmitting=!1,Ut({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:isEmptyObject(yt.current.errors),submitCount:yt.current.submitCount+1})}},[Je,At]),Mn=({errors:Ht,isDirty:Kt,isSubmitted:rn,touched:ln,isValid:an,submitCount:mn,dirtyFields:yn})=>{an||(at.current={},rt.current={}),$e.current={},nt.current=new Set,st.current=!1,Ut({submitCount:mn?yt.current.submitCount:0,isDirty:Kt?yt.current.isDirty:!1,isSubmitted:rn?yt.current.isSubmitted:!1,isValid:an?yt.current.isValid:!1,dirtyFields:yn?yt.current.dirtyFields:{},touched:ln?yt.current.touched:{},errors:Ht?yt.current.errors:{},isSubmitting:!1,isSubmitSuccessful:!1})},un=(Ht,Kt={})=>{if(isWeb){for(const rn of Object.values(Xe.current))if(rn){const{ref:ln,options:an}=rn,mn=isRadioOrCheckboxFunction(ln)&&Array.isArray(an)?an[0].ref:ln;if(isHTMLElement(mn))try{mn.closest("form").reset();break}catch{}}}Xe.current={},ot.current=Object.assign({},Ht||ot.current),Ht&&ut(""),Object.values(dt.current).forEach(rn=>isFunction$1(rn)&&rn()),lt.current=Ge?{}:cloneObject(Ht||ot.current),Mn(Kt)};React$1.useEffect(()=>{Ue&&It.current.isValid&&Lt(),Mt.current=Mt.current||!isWeb?Mt.current:onDomRemove(Xe,Yt)},[Yt,ot.current]),React$1.useEffect(()=>()=>{Mt.current&&Mt.current.disconnect(),it.current=!0,process.env.NODE_ENV==="production"&&Object.values(Xe.current).forEach(Ht=>Yt(Ht,!0))},[]),!Ue&&It.current.isValid&&(Nt.isValid=deepEqual(at.current,rt.current)&&isEmptyObject(yt.current.errors));const hn={trigger:Gt,setValue:React$1.useCallback(Et,[jt,Gt]),getValues:React$1.useCallback(Ot,[]),register:React$1.useCallback(dn,[ot.current]),unregister:React$1.useCallback(Tn,[]),formState:isProxyEnabled?new Proxy(Nt,{get:(Ht,Kt)=>{if(process.env.NODE_ENV!=="production"&&Kt==="isValid"&&Rt&&console.warn("📋 `formState.isValid` is applicable with `onTouched`, `onChange` or `onBlur` mode. https://react-hook-form.com/api#formState"),Kt in Ht)return It.current[Kt]=!0,Ht[Kt]}}):Nt},en=React$1.useMemo(()=>Object.assign({isFormDirty:Zt,updateWatchedValue:Xt,shouldUnregister:Ge,updateFormState:Ut,removeFieldEventListener:zt,watchInternal:pn,mode:vt.current,reValidateMode:{isReValidateOnBlur:St,isReValidateOnChange:xt},validateResolver:Ue?Lt:void 0,fieldsRef:Xe,resetFieldArrayFunctionRef:dt,useWatchFieldsRef:tt,useWatchRenderFunctionsRef:et,fieldArrayDefaultValuesRef:$e,validFieldsRef:at,fieldsWithValidationRef:rt,fieldArrayNamesRef:ht,readFormStateRef:It,formStateRef:yt,defaultValuesRef:ot,shallowFieldsStateRef:lt,fieldArrayValuesRef:Ke},hn),[ot.current,Xt,Ge,zt,pn]);return Object.assign({watch:vn,control:en,handleSubmit:fn,reset:React$1.useCallback(un,[]),clearErrors:React$1.useCallback(sn,[]),setError:React$1.useCallback(cn,[]),errors:Nt.errors},hn)}/*! *****************************************************************************
2561
2561
  Copyright (c) Microsoft Corporation.
2562
2562
 
2563
2563
  Permission to use, copy, modify, and/or distribute this software for any
@@ -4145,7 +4145,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
4145
4145
  border-radius: 30px;
4146
4146
  width: 100%;
4147
4147
  height: auto;
4148
- `,ChooseCamera=({onCameraChosen:ue,token:me})=>{const[Ue,Qe]=React$1.useState([]),Ze=React$1.useRef(null),Je=React$1.useRef(),[Ge,He]=React$1.useState("");React$1.useEffect(()=>()=>{var nt;(nt=Je.current)==null||nt.getTracks().forEach(tt=>{tt.stop()})},[]);const Xe=()=>{ue(Ge)},$e=async nt=>{He(nt);const tt=await navigator.mediaDevices.getUserMedia({video:{deviceId:{exact:nt}}});Je.current=tt,Ze.current.srcObject=tt};React$1.useEffect(()=>{(async()=>{try{const tt=[];if(await navigator.mediaDevices.getUserMedia({video:!0}),(await navigator.mediaDevices.enumerateDevices()).forEach(rt=>{rt.kind==="videoinput"&&tt.push(rt)}),tt.length===1)return ue(tt[0].deviceId);Qe(tt),$e(tt[0].deviceId)}catch(tt){tt.constructor.name==="DOMException"&&(addEvent({code:"permissionDenied",payload:{message:"User denied to use camera."},token:me}),tt.type="permissionDenied"),ue("error")}})()},[]);const Ke=async nt=>{await $e(nt.target.value)};return Ue.length===0?null:jsxs(ChooseCameraContainer,{className:"IncodeChooseCameraContainer",children:[jsx("h1",{className:"IncodeChooseCameraTitle",children:"Please confirm the camera you want to use"}),jsx(PreviewVideo,{className:"IncodeChooseCameraPreviewVideo",autoPlay:!0,ref:Ze}),jsx(CameraSelect,{className:"IncodeChooseCameraSelector",onChange:Ke,children:Ue.map(nt=>jsx("option",{value:nt.deviceId,children:nt.label},nt.deviceId))}),jsx(Button$9,{className:"IncodeChooseCameraButton",onClick:Xe,children:"Continue"})]})},glare="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNTZweCIgaGVpZ2h0PSI3MHB4IiB2aWV3Qm94PSIwIDAgNTYgNzAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+Z2xhcmVAMXg8L3RpdGxlPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IkFydGJvYXJkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjA2LjAwMDAwMCwgLTE0Mi4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9ImdsYXJlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMDYuMDAwMDAwLCAxNDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiBmaWxsPSIjMjAyNjNEIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0LjUwMDAwMCwgMzguNTAwMDAwKSByb3RhdGUoLTkwLjAwMDAwMCkgdHJhbnNsYXRlKC0yNC41MDAwMDAsIC0zOC41MDAwMDApICIgeD0iLTciIHk9IjE0IiB3aWR0aD0iNjMiIGhlaWdodD0iNDkiIHJ4PSI4Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjUuMDY0LDMwLjAxNSBDMjAuMDc0LDMwLjAxNSAxNi4wMTUsMzQuMDc1IDE2LjAxNSwzOS4wNjUgQzE2LjAxNSw0NC4wNTUgMjAuMDc1LDQ4LjExNSAyNS4wNjQsNDguMTE1IEMzMC4wNTMsNDguMTE1IDM0LjExMyw0NC4wNTUgMzQuMTEzLDM5LjA2NSBDMzQuMTEzLDM0LjA3NSAzMC4wNTMsMzAuMDE1IDI1LjA2NCwzMC4wMTUgWiBNMjUuMDY0LDI3LjM1NSBDMjQuMDg5LDI3LjM1NSAyMy4yOTgsMjYuNTY1IDIzLjI5OCwyNS41OSBMMjMuMjk4LDIyLjc2NiBDMjMuMjk4LDIxLjc5IDI0LjA4OCwyMSAyNS4wNjQsMjEgQzI2LjAzOSwyMSAyNi44MywyMS43OSAyNi44MywyMi43NjYgTDI2LjgzLDI1LjU5IEMyNi44MywyNi41NjUgMjYuMDM4LDI3LjM1NSAyNS4wNjQsMjcuMzU1IEwyNS4wNjQsMjcuMzU1IFogTTI1LjA2NCw1MC43NzIgQzI0LjA4OSw1MC43NzIgMjMuMjk4LDUxLjU2MiAyMy4yOTgsNTIuNTM4IEwyMy4yOTgsNTUuMzYyIEMyMy4yOTgsNTYuMzM4IDI0LjA4OCw1Ny4xMjggMjUuMDY0LDU3LjEyOCBDMjYuMDM5LDU3LjEyOCAyNi44Myw1Ni4zMzggMjYuODMsNTUuMzYyIEwyNi44Myw1Mi41MzggQzI2LjgzLDUxLjU2MiAyNi4wMzgsNTAuNzcyIDI1LjA2NCw1MC43NzIgWiBNMzMuMzQyLDMwLjc4NSBDMzIuNjU0LDMwLjA5NSAzMi42NTQsMjguOTc4IDMzLjM0MiwyOC4yODggTDM1LjM0LDI2LjI5IEMzNi4wMjksMjUuNjAyIDM3LjE0NywyNS42MDIgMzcuODM3LDI2LjI5IEMzOC41MjcsMjYuOTggMzguNTI3LDI4LjA5OCAzNy44MzcsMjguNzg3IEwzNS44MzksMzAuNzg1IEMzNS4xNSwzMS40NzUgMzQuMDMzLDMxLjQ3NSAzMy4zNDIsMzAuNzg1IFogTTE1Ljc4NSw0Ny4zNDQgQzE1LjA5NSw0Ni42NTQgMTMuOTc4LDQ2LjY1NCAxMy4yODgsNDcuMzQ0IEwxMS4yOSw0OS4zNDEgQzEwLjYwMiw1MC4wMyAxMC42LDUxLjE0OSAxMS4yOSw1MS44MzggQzExLjk4LDUyLjUyNiAxMy4wOTgsNTIuNTI2IDEzLjc4Nyw1MS44MzggTDE1Ljc4NSw0OS44MzkgQzE2LjQ3NSw0OS4xNSAxNi40NzUsNDguMDMyIDE1Ljc4NSw0Ny4zNDQgWiBNMzYuNzcyLDM5LjA2NCBDMzYuNzcyLDM4LjA4OSAzNy41NjIsMzcuMjk4IDM4LjUzOCwzNy4yOTggTDQxLjM2MiwzNy4yOTggQzQyLjMzOCwzNy4yOTggNDMuMTI4LDM4LjA4OCA0My4xMjgsMzkuMDY0IEM0My4xMjgsNDAuMDM5IDQyLjMzOCw0MC44MjkgNDEuMzYyLDQwLjgyOSBMMzguNTM4LDQwLjgyOSBDMzcuNTYyLDQwLjgyOSAzNi43NzIsNDAuMDM5IDM2Ljc3MiwzOS4wNjQgWiBNMTIuMzU1LDM5LjA2NCBDMTIuMzU1LDM4LjA4OSAxMS41NjUsMzcuMjk4IDEwLjU5LDM3LjI5OCBMNy43NjYsMzcuMjk4IEM2Ljc5LDM3LjI5OCA2LDM4LjA4OCA2LDM5LjA2NCBDNiw0MC4wMzkgNi43OSw0MC44MjkgNy43NjYsNDAuODI5IEwxMC41OSw0MC44MjkgQzExLjU2NSw0MC44MjkgMTIuMzU1LDQwLjAzOSAxMi4zNTUsMzkuMDY0IFogTTMyLjM0Miw0Ny4zNDQgQzMzLjAzMiw0Ni42NTUgMzQuMTUsNDYuNjU1IDM0LjgzOSw0Ny4zNDQgTDM2LjgzNyw0OS4zNDIgQzM3LjUyNyw1MC4wMyAzNy41MjcsNTEuMTQ5IDM2LjgzNyw1MS44MzggQzM2LjE0Nyw1Mi41MjYgMzUuMDMsNTIuNTI2IDM0LjM0LDUxLjgzOCBMMzIuMzQyLDQ5Ljg0IEMzMS42NTIsNDkuMTUgMzEuNjUyLDQ4LjAzMyAzMi4zNDIsNDcuMzQ0IFogTTE1Ljc4NSwzMC43ODUgQzE2LjQ3NSwzMC4wOTUgMTYuNDc1LDI4Ljk3OCAxNS43ODUsMjguMjg4IEwxMy43ODcsMjYuMjkxIEMxMy4wOTcsMjUuNjAxIDExLjk4LDI1LjYwMSAxMS4yOSwyNi4yOTEgQzEwLjYsMjYuOTggMTAuNiwyOC4wOTggMTEuMjksMjguNzg3IEwxMy4yODgsMzAuNzg1IEMxMy45NzgsMzEuNDc1IDE1LjA5NSwzMS40NzUgMTUuNzg1LDMwLjc4NSBaIiBpZD0iU2hhcGUiIGZpbGw9IiNGRkZGRkYiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPgogICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNi4wMDAwMDAsIDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbCIgZmlsbD0iI0ZGNUM2RiIgZmlsbC1ydWxlPSJub256ZXJvIiBjeD0iOS45NzkiIGN5PSI5Ljk3OSIgcj0iOS45NzkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuMDAwMDAwLCA2LjAwMDAwMCkiIGlkPSJQYXRoIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS4yNDciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNC45MTMsNC4xMzQgTDcuNTU2LDEuNDkxIEM3LjYyOCwxLjQxOCA3LjY2OCwxLjMyMSA3LjY2OSwxLjIxOCBDNy42NjksMS4xMTQgNy42MjksMS4wMTggNy41NTYsMC45NDQgTDcuMzI0LDAuNzEzIEM3LjI1MSwwLjY0IDcuMTU0LDAuNiA3LjA1MSwwLjYgQzYuOTQ3LDAuNiA2Ljg1MSwwLjY0IDYuNzc3LDAuNzEzIEw0LjEzNCwzLjM1NiBMMS40OTEsMC43MTMgQzEuNDIsMC42NCAxLjMyMSwwLjYgMS4yMTgsMC42IEMxLjExNSwwLjYgMS4wMTgsMC42NCAwLjk0NSwwLjcxMyBMMC43MTMsMC45NDQgQzAuNTYzLDEuMDk1IDAuNTYzLDEuMzQxIDAuNzEzLDEuNDkxIEwzLjM1Niw0LjEzNCBMMC43MTMsNi43NzcgQzAuNjQsNi44NSAwLjYsNi45NDcgMC42LDcuMDUxIEMwLjYsNy4xNTQgMC42NCw3LjI1MSAwLjcxMyw3LjMyNCBMMC45NDUsNy41NTYgQzEuMDE3LDcuNjI5IDEuMTE1LDcuNjY5IDEuMjE4LDcuNjY5IEMxLjMyMiw3LjY2OSAxLjQxOCw3LjYyOSAxLjQ5MSw3LjU1NiBMNC4xMzQsNC45MTMgTDYuNzc3LDcuNTU2IEM2Ljg1LDcuNjI5IDYuOTQ3LDcuNjY5IDcuMDUxLDcuNjY5IEw3LjA1MSw3LjY2OSBDNy4xNTQsNy42NjkgNy4yNTEsNy42MjkgNy4zMjQsNy41NTYgTDcuNTU2LDcuMzI0IEM3LjYyOCw3LjI1MSA3LjY2OCw3LjE1NCA3LjY2OCw3LjA1MSBDNy42NjgsNi45NDcgNy42MjgsNi44NTEgNy41NTYsNi43NzcgTDQuOTEzLDQuMTM0IFoiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",lens="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNTZweCIgaGVpZ2h0PSI3MHB4IiB2aWV3Qm94PSIwIDAgNTYgNzAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+bGVuc0AxeDwvdGl0bGU+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iQXJ0Ym9hcmQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yODkuMDAwMDAwLCAtMTQyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0ibGVucyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjg5LjAwMDAwMCwgMTQyLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZSIgZmlsbD0iIzIwMjYzRCIgZmlsbC1ydWxlPSJub256ZXJvIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNC41MDAwMDAsIDM4LjUwMDAwMCkgcm90YXRlKC05MC4wMDAwMDApIHRyYW5zbGF0ZSgtMjQuNTAwMDAwLCAtMzguNTAwMDAwKSAiIHg9Ii03IiB5PSIxNCIgd2lkdGg9IjYzIiBoZWlnaHQ9IjQ5IiByeD0iOCI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjAwMDAwMCwgMjYuMDAwMDAwKSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI4LjIzMywzLjk2IEwyNC4xNjMsMy45NiBDMjMuNjQ5LDMuOTYgMjMuMTY2LDMuNzU0IDIyLjgwMiwzLjM4IEwyMC40NTYsMC45NjcgQzE5Ljg1LDAuMzQ0IDE5LjA0NCwwIDE4LjE4NiwwIEwxMi42MTMsMCBDMTEuNzU2LDAgMTAuOTUsMC4zNDQgMTAuMzQ0LDAuOTY3IEw3Ljk5OCwzLjM4IEM3LjYzNCwzLjc1NCA3LjE1MSwzLjk2IDYuNjM3LDMuOTYgTDIuNTY3LDMuOTYgQzEuMTUsMy45NiAwLDUuMTQ0IDAsNi42IEwwLDIzLjc2IEMwLDI1LjIxNiAxLjE1MSwyNi40IDIuNTY3LDI2LjQgTDI4LjIzMywyNi40IEMyOS42NDksMjYuNCAzMC44LDI1LjIxNiAzMC44LDIzLjc2IEwzMC44LDYuNiBDMzAuOCw1LjE0NCAyOS42NDksMy45NiAyOC4yMzMsMy45NiBaIE0xNS40LDI0LjIgQzEwLjU0NywyNC4yIDYuNiwyMC4yNTMgNi42LDE1LjQgQzYuNiwxMC41NDcgMTAuNTQ3LDYuNiAxNS40LDYuNiBDMjAuMjUzLDYuNiAyNC4yLDEwLjU0NyAyNC4yLDE1LjQgQzI0LjIsMjAuMjUzIDIwLjI1MywyNC4yIDE1LjQsMjQuMiBaIE0yNi40LDcuNyBDMjcuMDA2LDcuNyAyNy41LDguMTk0IDI3LjUsOC44IEMyNy41LDkuNDA2IDI3LjAwNiw5LjkgMjYuNCw5LjkgQzI1Ljc5NCw5LjkgMjUuMyw5LjQwNiAyNS4zLDguOCBDMjUuMyw4LjE5NCAyNS43OTQsNy43IDI2LjQsNy43IFogTTYuMDUsMS4xIEM2LjM1NCwxLjEgNi42LDEuMzQ2IDYuNiwxLjY1IEM2LjYsMS45NTQgNi4zNTQsMi4yIDYuMDUsMi4yIEwyLjc1LDIuMiBDMi40NDYsMi4yIDIuMiwxLjk1NCAyLjIsMS42NSBDMi4yLDEuMzQ2IDIuNDQ2LDEuMSAyLjc1LDEuMSBMNi4wNSwxLjEgWiIgaWQ9IlNoYXBlIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsIiBjeD0iMTMuNSIgY3k9IjEzLjUiIHI9IjMuNSI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBjeD0iMTkuNSIgY3k9IjE1LjUiIHI9IjEuNSI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5LTIiIGN4PSIxNyIgY3k9IjE5IiByPSIyIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzYuMDAwMDAwLCAwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwiIGZpbGw9IiNGRjVDNkYiIGZpbGwtcnVsZT0ibm9uemVybyIgY3g9IjkuOTc5IiBjeT0iOS45NzkiIHI9IjkuOTc5Ij48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2LjAwMDAwMCwgNi4wMDAwMDApIiBpZD0iUGF0aCIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQuOTEzLDQuMTM0IEw3LjU1NiwxLjQ5MSBDNy42MjgsMS40MTggNy42NjgsMS4zMjEgNy42NjksMS4yMTggQzcuNjY5LDEuMTE0IDcuNjI5LDEuMDE4IDcuNTU2LDAuOTQ0IEw3LjMyNCwwLjcxMyBDNy4yNTEsMC42NCA3LjE1NCwwLjYgNy4wNTEsMC42IEM2Ljk0NywwLjYgNi44NTEsMC42NCA2Ljc3NywwLjcxMyBMNC4xMzQsMy4zNTYgTDEuNDkxLDAuNzEzIEMxLjQyLDAuNjQgMS4zMjEsMC42IDEuMjE4LDAuNiBDMS4xMTUsMC42IDEuMDE4LDAuNjQgMC45NDUsMC43MTMgTDAuNzEzLDAuOTQ0IEMwLjU2MywxLjA5NSAwLjU2MywxLjM0MSAwLjcxMywxLjQ5MSBMMy4zNTYsNC4xMzQgTDAuNzEzLDYuNzc3IEMwLjY0LDYuODUgMC42LDYuOTQ3IDAuNiw3LjA1MSBDMC42LDcuMTU0IDAuNjQsNy4yNTEgMC43MTMsNy4zMjQgTDAuOTQ1LDcuNTU2IEMxLjAxNyw3LjYyOSAxLjExNSw3LjY2OSAxLjIxOCw3LjY2OSBDMS4zMjIsNy42NjkgMS40MTgsNy42MjkgMS40OTEsNy41NTYgTDQuMTM0LDQuOTEzIEw2Ljc3Nyw3LjU1NiBDNi44NSw3LjYyOSA2Ljk0Nyw3LjY2OSA3LjA1MSw3LjY2OSBMNy4wNTEsNy42NjkgQzcuMTU0LDcuNjY5IDcuMjUxLDcuNjI5IDcuMzI0LDcuNTU2IEw3LjU1Niw3LjMyNCBDNy42MjgsNy4yNTEgNy42NjgsNy4xNTQgNy42NjgsNy4wNTEgQzcuNjY4LDYuOTQ3IDcuNjI4LDYuODUxIDcuNTU2LDYuNzc3IEw0LjkxMyw0LjEzNCBaIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=",outFrame="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNTZweCIgaGVpZ2h0PSI3N3B4IiB2aWV3Qm94PSIwIDAgNTYgNzciIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+b3V0IGZyYW1lQDF4PC90aXRsZT4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJBcnRib2FyZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEyNS4wMDAwMDAsIC0xNDIuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJvdXQtZnJhbWUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNS4wMDAwMDAsIDE0Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDcuMDAwMDAwKSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iYmM2ZDluaGt4YS1saW5rIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNC41MDAwMDAsIDMxLjUwMDAwMCkgcm90YXRlKC05MC4wMDAwMDApIHRyYW5zbGF0ZSgtMjQuNTAwMDAwLCAtMzEuNTAwMDAwKSB0cmFuc2xhdGUoLTcuMDAwMDAwLCA3LjAwMDAwMCkiIGZpbGw9IiMyMDI2M0QiPgogICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBpZD0iYmM2ZDluaGt4YSIgeD0iMCIgeT0iMCIgd2lkdGg9IjYzIiBoZWlnaHQ9IjQ5IiByeD0iOCI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMDAwMDAwLCAxNS4wMDAwMDApIiBmaWxsPSIjRkZGRkZGIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ1LjA2MTcwNiwxMy41NzIyNjk0IEM0Ni4yOTg3MDYsMTMuNTcyMjY5NCA0Ny4zMDE3MDYsMTQuNTc1MjY5NCA0Ny4zMDE3MDYsMTUuODEyMjY5NCBMNDcuMzAxNzA2LDM5LjMzMjI2OTQgQzQ3LjMwMTcwNiw0MC41NjkyNjk0IDQ2LjI5ODcwNiw0MS41NzIyNjk0IDQ1LjA2MTcwNiw0MS41NzIyNjk0IEwyLjUwMTcwNjAyLDQxLjU3MjI2OTQgQzEuMjY0NzA2MDIsNDEuNTcyMjY5NCAwLjI2MTcwNjAyNCw0MC41NjkyNjk0IDAuMjYxNzA2MDI0LDM5LjMzMjI2OTQgTDAuMjYxNzA2MDI0LDE1LjgxMjI2OTQgQzAuMjYxNzA2MDI0LDE0LjU3NTI2OTQgMS4yNjQ3MDYwMiwxMy41NzIyNjk0IDIuNTAxNzA2MDIsMTMuNTcyMjY5NCBMNDUuMDYxNzA2LDEzLjU3MjI2OTQgWiBNMTguMTgxNzA2LDE2LjkzMjI2OTQgTDUuODYxNzA2MDIsMTYuOTMyMjY5NCBDNC42MjQ3MDYwMiwxNi45MzIyNjk0IDMuNjIxNzA2MDIsMTcuOTM1MjY5NCAzLjYyMTcwNjAyLDE5LjE3MjI2OTQgTDMuNjIxNzA2MDIsMzUuOTcyMjY5NCBDMy42MjE3MDYwMiwzNy4yMDkyNjk0IDQuNjI0NzA2MDIsMzguMjEyMjY5NCA1Ljg2MTcwNjAyLDM4LjIxMjI2OTQgTDE4LjE4MTcwNiwzOC4yMTIyNjk0IEMxOS40MTg3MDYsMzguMjEyMjY5NCAyMC40MjE3MDYsMzcuMjA5MjY5NCAyMC40MjE3MDYsMzUuOTcyMjY5NCBMMjAuNDIxNzA2LDE5LjE3MjI2OTQgQzIwLjQyMTcwNiwxNy45MzUyNjk0IDE5LjQxODcwNiwxNi45MzIyNjk0IDE4LjE4MTcwNiwxNi45MzIyNjk0IFogTTQyLjgyMTcwNiwzNS45NzIyNjk0IEwyNC45MDE3MDYsMzUuOTcyMjY5NCBDMjQuMjgyNzA2LDM1Ljk3MjI2OTQgMjMuNzgxNzA2LDM2LjQ3MzI2OTQgMjMuNzgxNzA2LDM3LjA5MjI2OTQgQzIzLjc4MTcwNiwzNy43MTEyNjk0IDI0LjI4MjcwNiwzOC4yMTIyNjk0IDI0LjkwMTcwNiwzOC4yMTIyNjk0IEw0Mi44MjE3MDYsMzguMjEyMjY5NCBDNDMuNDQwNzA2LDM4LjIxMjI2OTQgNDMuOTQxNzA2LDM3LjcxMTI2OTQgNDMuOTQxNzA2LDM3LjA5MjI2OTQgQzQzLjk0MTcwNiwzNi40NzMyNjk0IDQzLjQ0MDcwNiwzNS45NzIyNjk0IDQyLjgyMTcwNiwzNS45NzIyNjk0IFogTTQyLjgyMTcwNiwzMS40OTIyNjk0IEwyNC45MDE3MDYsMzEuNDkyMjY5NCBDMjQuMjgyNzA2LDMxLjQ5MjI2OTQgMjMuNzgxNzA2LDMxLjk5MzI2OTQgMjMuNzgxNzA2LDMyLjYxMjI2OTQgQzIzLjc4MTcwNiwzMy4yMzEyNjk0IDI0LjI4MjcwNiwzMy43MzIyNjk0IDI0LjkwMTcwNiwzMy43MzIyNjk0IEw0Mi44MjE3MDYsMzMuNzMyMjY5NCBDNDMuNDQwNzA2LDMzLjczMjI2OTQgNDMuOTQxNzA2LDMzLjIzMTI2OTQgNDMuOTQxNzA2LDMyLjYxMjI2OTQgQzQzLjk0MTcwNiwzMS45OTMyNjk0IDQzLjQ0MDcwNiwzMS40OTIyNjk0IDQyLjgyMTcwNiwzMS40OTIyNjk0IFogTTQyLjgyMTcwNiwyNy4wMTIyNjk0IEwyNC45MDE3MDYsMjcuMDEyMjY5NCBDMjQuMjgyNzA2LDI3LjAxMjI2OTQgMjMuNzgxNzA2LDI3LjUxMzI2OTQgMjMuNzgxNzA2LDI4LjEzMjI2OTQgQzIzLjc4MTcwNiwyOC43NTEyNjk0IDI0LjI4MjcwNiwyOS4yNTIyNjk0IDI0LjkwMTcwNiwyOS4yNTIyNjk0IEw0Mi44MjE3MDYsMjkuMjUyMjY5NCBDNDMuNDQwNzA2LDI5LjI1MjI2OTQgNDMuOTQxNzA2LDI4Ljc1MTI2OTQgNDMuOTQxNzA2LDI4LjEzMjI2OTQgQzQzLjk0MTcwNiwyNy41MTMyNjk0IDQzLjQ0MDcwNiwyNy4wMTIyNjk0IDQyLjgyMTcwNiwyNy4wMTIyNjk0IFogTTMzLjg2MTcwNiwyMi41MzIyNjk0IEwyNC45MDE3MDYsMjIuNTMyMjY5NCBDMjQuMjgyNzA2LDIyLjUzMjI2OTQgMjMuNzgxNzA2LDIzLjAzMzI2OTQgMjMuNzgxNzA2LDIzLjY1MjI2OTQgQzIzLjc4MTcwNiwyNC4yNzEyNjk0IDI0LjI4MjcwNiwyNC43NzIyNjk0IDI0LjkwMTcwNiwyNC43NzIyNjk0IEwzMy44NjE3MDYsMjQuNzcyMjY5NCBDMzQuNDgwNzA2LDI0Ljc3MjI2OTQgMzQuOTgxNzA2LDI0LjI3MTI2OTQgMzQuOTgxNzA2LDIzLjY1MjI2OTQgQzM0Ljk4MTcwNiwyMy4wMzMyNjk0IDM0LjQ4MDcwNiwyMi41MzIyNjk0IDMzLjg2MTcwNiwyMi41MzIyNjk0IFogTTMzLjg2MTcwNiwxOC4wNTIyNjk0IEwyNC45MDE3MDYsMTguMDUyMjY5NCBDMjQuMjgyNzA2LDE4LjA1MjI2OTQgMjMuNzgxNzA2LDE4LjU1MzI2OTQgMjMuNzgxNzA2LDE5LjE3MjI2OTQgQzIzLjc4MTcwNiwxOS43OTEyNjk0IDI0LjI4MjcwNiwyMC4yOTIyNjk0IDI0LjkwMTcwNiwyMC4yOTIyNjk0IEwzMy44NjE3MDYsMjAuMjkyMjY5NCBDMzQuNDgwNzA2LDIwLjI5MjI2OTQgMzQuOTgxNzA2LDE5Ljc5MTI2OTQgMzQuOTgxNzA2LDE5LjE3MjI2OTQgQzM0Ljk4MTcwNiwxOC41NTMyNjk0IDM0LjQ4MDcwNiwxOC4wNTIyNjk0IDMzLjg2MTcwNiwxOC4wNTIyNjk0IFoiIGlkPSJTaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjMuNzgxNzA2LCAyNy41NzIyNjkpIHJvdGF0ZSg2My4wMDAwMDApIHRyYW5zbGF0ZSgtMjMuNzgxNzA2LCAtMjcuNTcyMjY5KSAiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4wMDAwMDAsIDkuMDAwMDAwKSIgaWQ9IlBhdGgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEzLjQzNDQ4Nyw5Ljk4MDE1NTI0IEMxNC41MTE0ODcsOS45ODAxNTUyNCAxNS40NDQ0ODcsOS41OTQxNTUyNCAxNi4yMDY0ODcsOC44MzIxNTUyNCBDMTYuOTY4NDg3LDguMDY5MTU1MjQgMTcuMzU0NDg3LDcuMTM3MTU1MjQgMTcuMzU0NDg3LDYuMDYwMTU1MjQgQzE3LjM1NDQ4Nyw0Ljk4MzE1NTI0IDE2Ljk2ODQ4Nyw0LjA1MDE1NTI0IDE2LjIwNjQ4NywzLjI4ODE1NTI0IEMxNS40NDM0ODcsMi41MjYxNTUyNCAxNC41MTE0ODcsMi4xNDAxNTUyNCAxMy40MzQ0ODcsMi4xNDAxNTUyNCBDMTIuMzU3NDg3LDIuMTQwMTU1MjQgMTEuNDI0NDg3LDIuNTI2MTU1MjQgMTAuNjYyNDg3LDMuMjg4MTU1MjQgQzkuOTAwNDg2OTgsNC4wNTAxNTUyNCA5LjUxNDQ4Njk4LDQuOTgzMTU1MjQgOS41MTQ0ODY5OCw2LjA2MDE1NTI0IEM5LjUxNDQ4Njk4LDcuMTM3MTU1MjQgOS45MDA0ODY5OCw4LjA3MDE1NTI0IDEwLjY2MzQ4Nyw4LjgzMjE1NTI0IEMxMS40MjU0ODcsOS41OTQxNTUyNCAxMi4zNTc0ODcsOS45ODAxNTUyNCAxMy40MzQ0ODcsOS45ODAxNTUyNCBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy40MzQ0ODcsIDYuMDYwMTU1KSByb3RhdGUoNjMuMDAwMDAwKSB0cmFuc2xhdGUoLTEzLjQzNDQ4NywgLTYuMDYwMTU1KSAiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMi41Nzg5OTU4LDEwLjAzNTQ0MDggQzEyLjU1ODk5NTgsOS43Mzk0NDA3NSAxMi41MTg5OTU4LDkuNDE3NDQwNzUgMTIuNDU4OTk1OCw5LjA3NzQ0MDc1IEMxMi4zOTg5OTU4LDguNzM0NDQwNzUgMTIuMzIxOTk1OCw4LjQxMDQ0MDc1IDEyLjIyOTk5NTgsOC4xMTM0NDA3NSBDMTIuMTM0OTk1OCw3LjgwNzQ0MDc1IDEyLjAwNDk5NTgsNy41MDU0NDA3NSAxMS44NDM5OTU4LDcuMjE1NDQwNzUgQzExLjY3Nzk5NTgsNi45MTQ0NDA3NSAxMS40ODE5OTU4LDYuNjUyNDQwNzUgMTEuMjYyOTk1OCw2LjQzNjQ0MDc1IEMxMS4wMzI5OTU4LDYuMjExNDQwNzUgMTAuNzUyOTk1OCw2LjAzMDQ0MDc1IDEwLjQyNjk5NTgsNS44OTc0NDA3NSBDMTAuMTAzOTk1OCw1Ljc2NjQ0MDc1IDkuNzQ0OTk1ODMsNS42OTk0NDA3NSA5LjM2MDk5NTgzLDUuNjk5NDQwNzUgQzkuMjEwOTk1ODMsNS42OTk0NDA3NSA5LjA2Mzk5NTgzLDUuNzYzNDQwNzUgOC43ODI5OTU4Myw1Ljk1MTQ0MDc1IEM4LjYwOTk5NTgzLDYuMDY3NDQwNzUgOC40MDY5OTU4Myw2LjIwMTQ0MDc1IDguMTgwOTk1ODMsNi4zNTA0NDA3NSBDNy45ODY5OTU4Myw2LjQ3NjQ0MDc1IDcuNzI0OTk1ODMsNi41OTU0NDA3NSA3LjQwMDk5NTgzLDYuNzAyNDQwNzUgQzcuMDg1OTk1ODMsNi44MDc0NDA3NSA2Ljc2NDk5NTgzLDYuODYwNDQwNzUgNi40NDg5OTU4Myw2Ljg2MDQ0MDc1IEM2LjEzMTk5NTgzLDYuODYwNDQwNzUgNS44MTE5OTU4Myw2LjgwNzQ0MDc1IDUuNDk1OTk1ODMsNi43MDI0NDA3NSBDNS4xNzE5OTU4Myw2LjU5NTQ0MDc1IDQuOTA5OTk1ODMsNi40NzY0NDA3NSA0LjcxNTk5NTgzLDYuMzUwNDQwNzUgTDQuMTEzOTk1ODMsNS45NTA0NDA3NSBDMy44MzI5OTU4Myw1Ljc2MzQ0MDc1IDMuNjg2OTk1ODMsNS42OTk0NDA3NSAzLjUzNTk5NTgzLDUuNjk5NDQwNzUgQzMuMTUxOTk1ODMsNS42OTk0NDA3NSAyLjc5Mzk5NTgzLDUuNzY2NDQwNzUgMi40Njk5OTU4Myw1Ljg5NzQ0MDc1IEMyLjE0NDk5NTgzLDYuMDI5NDQwNzUgMS44NjM5OTU4Myw2LjIxMTQ0MDc1IDEuNjM0OTk1ODMsNi40Mzc0NDA3NSBDMS40MTQ5OTU4Myw2LjY1MjQ0MDc1IDEuMjE4OTk1ODMsNi45MTQ0NDA3NSAxLjA1Mjk5NTgzLDcuMjE1NDQwNzUgQzAuODkyOTk1ODI2LDcuNTA1NDQwNzUgMC43NjI5OTU4MjYsNy44MDc0NDA3NSAwLjY2Nzk5NTgyNiw4LjExMzQ0MDc1IEMwLjU3NDk5NTgyNiw4LjQxMDQ0MDc1IDAuNDk3OTk1ODI2LDguNzMzNDQwNzUgMC40Mzc5OTU4MjYsOS4wNzc0NDA3NSBDMC4zNzc5OTU4MjYsOS40MTc0NDA3NSAwLjMzNzk5NTgyNiw5LjczOTQ0MDc1IDAuMzE3OTk1ODI2LDEwLjAzNTQ0MDggQzAuMjk3OTk1ODI2LDEwLjMyNTQ0MDggMC4yODg5OTU4MjYsMTAuNjI3NDQwOCAwLjI4ODk5NTgyNiwxMC45MzE0NDA4IEMwLjI4ODk5NTgyNiwxMS43MjI0NDA4IDAuNTMzOTk1ODI2LDEyLjM2MzQ0MDggMS4wMTY5OTU4MywxMi44MzY0NDA4IEMxLjQ5Mzk5NTgzLDEzLjMwMjQ0MDggMi4xMjU5OTU4MywxMy41Mzk0NDA4IDIuODkzOTk1ODMsMTMuNTM5NDQwOCBMMTAuMDAzOTk1OCwxMy41Mzk0NDA4IEMxMC43NzE5OTU4LDEzLjUzOTQ0MDggMTEuNDAzOTk1OCwxMy4zMDM0NDA4IDExLjg4MDk5NTgsMTIuODM2NDQwOCBDMTIuMzYzOTk1OCwxMi4zNjQ0NDA4IDEyLjYwODk5NTgsMTEuNzIzNDQwOCAxMi42MDg5OTU4LDEwLjkzMTQ0MDggQzEyLjYwODk5NTgsMTAuNjI1NDQwOCAxMi41OTg5OTU4LDEwLjMyNDQ0MDggMTIuNTc4OTk1OCwxMC4wMzU0NDA4IEwxMi41Nzg5OTU4LDEwLjAzNTQ0MDggWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi40NDg5OTYsIDkuNjE5NDQxKSByb3RhdGUoNjMuMDAwMDAwKSB0cmFuc2xhdGUoLTYuNDQ4OTk2LCAtOS42MTk0NDEpICI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNi4wMDAwMDAsIDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbCIgZmlsbD0iI0ZGNUM2RiIgZmlsbC1ydWxlPSJub256ZXJvIiBjeD0iOS45NzkiIGN5PSI5Ljk3OSIgcj0iOS45NzkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuMDAwMDAwLCA2LjAwMDAwMCkiIGlkPSJQYXRoIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS4yNDciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNC45MTMsNC4xMzQgTDcuNTU2LDEuNDkxIEM3LjYyOCwxLjQxOCA3LjY2OCwxLjMyMSA3LjY2OSwxLjIxOCBDNy42NjksMS4xMTQgNy42MjksMS4wMTggNy41NTYsMC45NDQgTDcuMzI0LDAuNzEzIEM3LjI1MSwwLjY0IDcuMTU0LDAuNiA3LjA1MSwwLjYgQzYuOTQ3LDAuNiA2Ljg1MSwwLjY0IDYuNzc3LDAuNzEzIEw0LjEzNCwzLjM1NiBMMS40OTEsMC43MTMgQzEuNDIsMC42NCAxLjMyMSwwLjYgMS4yMTgsMC42IEMxLjExNSwwLjYgMS4wMTgsMC42NCAwLjk0NSwwLjcxMyBMMC43MTMsMC45NDQgQzAuNTYzLDEuMDk1IDAuNTYzLDEuMzQxIDAuNzEzLDEuNDkxIEwzLjM1Niw0LjEzNCBMMC43MTMsNi43NzcgQzAuNjQsNi44NSAwLjYsNi45NDcgMC42LDcuMDUxIEMwLjYsNy4xNTQgMC42NCw3LjI1MSAwLjcxMyw3LjMyNCBMMC45NDUsNy41NTYgQzEuMDE3LDcuNjI5IDEuMTE1LDcuNjY5IDEuMjE4LDcuNjY5IEMxLjMyMiw3LjY2OSAxLjQxOCw3LjYyOSAxLjQ5MSw3LjU1NiBMNC4xMzQsNC45MTMgTDYuNzc3LDcuNTU2IEM2Ljg1LDcuNjI5IDYuOTQ3LDcuNjY5IDcuMDUxLDcuNjY5IEw3LjA1MSw3LjY2OSBDNy4xNTQsNy42NjkgNy4yNTEsNy42MjkgNy4zMjQsNy41NTYgTDcuNTU2LDcuMzI0IEM3LjYyOCw3LjI1MSA3LjY2OCw3LjE1NCA3LjY2OCw3LjA1MSBDNy42NjgsNi45NDcgNy42MjgsNi44NTEgNy41NTYsNi43NzcgTDQuOTEzLDQuMTM0IFoiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",ButtonContainer=styled.div`
4148
+ `,ChooseCamera=({onCameraChosen:ue,token:me})=>{const[Ue,Qe]=React$1.useState([]),Ze=React$1.useRef(null),Je=React$1.useRef(),[Ge,He]=React$1.useState(""),{t:Xe}=useTranslation();React$1.useEffect(()=>()=>{var tt;(tt=Je.current)==null||tt.getTracks().forEach(et=>{et.stop()})},[]);const $e=()=>{ue(Ge)},Ke=async tt=>{He(tt);const et=await navigator.mediaDevices.getUserMedia({video:{deviceId:{exact:tt}}});Je.current=et,Ze.current.srcObject=et};React$1.useEffect(()=>{(async()=>{try{const et=[];if(await navigator.mediaDevices.getUserMedia({video:!0}),(await navigator.mediaDevices.enumerateDevices()).forEach(at=>{at.kind==="videoinput"&&et.push(at)}),et.length===1)return ue(et[0].deviceId);Qe(et),Ke(et[0].deviceId)}catch(et){et.constructor.name==="DOMException"&&(addEvent({code:"permissionDenied",payload:{message:"User denied to use camera."},token:me}),et.type="permissionDenied"),ue("error")}})()},[]);const nt=async tt=>{await Ke(tt.target.value)};return Ue.length===0?null:jsxs(ChooseCameraContainer,{className:"IncodeChooseCameraContainer",children:[jsx("h1",{className:"IncodeChooseCameraTitle",children:Xe("choseCamera.confirmCameraToUse")}),jsx(PreviewVideo,{className:"IncodeChooseCameraPreviewVideo",autoPlay:!0,ref:Ze}),jsx(CameraSelect,{className:"IncodeChooseCameraSelector",onChange:nt,children:Ue.map(tt=>jsx("option",{value:tt.deviceId,children:tt.label},tt.deviceId))}),jsx(Button$9,{className:"IncodeChooseCameraButton",onClick:$e,children:Xe("common.continue")})]})},glare="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNTZweCIgaGVpZ2h0PSI3MHB4IiB2aWV3Qm94PSIwIDAgNTYgNzAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+Z2xhcmVAMXg8L3RpdGxlPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IkFydGJvYXJkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjA2LjAwMDAwMCwgLTE0Mi4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9ImdsYXJlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMDYuMDAwMDAwLCAxNDIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiBmaWxsPSIjMjAyNjNEIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0LjUwMDAwMCwgMzguNTAwMDAwKSByb3RhdGUoLTkwLjAwMDAwMCkgdHJhbnNsYXRlKC0yNC41MDAwMDAsIC0zOC41MDAwMDApICIgeD0iLTciIHk9IjE0IiB3aWR0aD0iNjMiIGhlaWdodD0iNDkiIHJ4PSI4Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjUuMDY0LDMwLjAxNSBDMjAuMDc0LDMwLjAxNSAxNi4wMTUsMzQuMDc1IDE2LjAxNSwzOS4wNjUgQzE2LjAxNSw0NC4wNTUgMjAuMDc1LDQ4LjExNSAyNS4wNjQsNDguMTE1IEMzMC4wNTMsNDguMTE1IDM0LjExMyw0NC4wNTUgMzQuMTEzLDM5LjA2NSBDMzQuMTEzLDM0LjA3NSAzMC4wNTMsMzAuMDE1IDI1LjA2NCwzMC4wMTUgWiBNMjUuMDY0LDI3LjM1NSBDMjQuMDg5LDI3LjM1NSAyMy4yOTgsMjYuNTY1IDIzLjI5OCwyNS41OSBMMjMuMjk4LDIyLjc2NiBDMjMuMjk4LDIxLjc5IDI0LjA4OCwyMSAyNS4wNjQsMjEgQzI2LjAzOSwyMSAyNi44MywyMS43OSAyNi44MywyMi43NjYgTDI2LjgzLDI1LjU5IEMyNi44MywyNi41NjUgMjYuMDM4LDI3LjM1NSAyNS4wNjQsMjcuMzU1IEwyNS4wNjQsMjcuMzU1IFogTTI1LjA2NCw1MC43NzIgQzI0LjA4OSw1MC43NzIgMjMuMjk4LDUxLjU2MiAyMy4yOTgsNTIuNTM4IEwyMy4yOTgsNTUuMzYyIEMyMy4yOTgsNTYuMzM4IDI0LjA4OCw1Ny4xMjggMjUuMDY0LDU3LjEyOCBDMjYuMDM5LDU3LjEyOCAyNi44Myw1Ni4zMzggMjYuODMsNTUuMzYyIEwyNi44Myw1Mi41MzggQzI2LjgzLDUxLjU2MiAyNi4wMzgsNTAuNzcyIDI1LjA2NCw1MC43NzIgWiBNMzMuMzQyLDMwLjc4NSBDMzIuNjU0LDMwLjA5NSAzMi42NTQsMjguOTc4IDMzLjM0MiwyOC4yODggTDM1LjM0LDI2LjI5IEMzNi4wMjksMjUuNjAyIDM3LjE0NywyNS42MDIgMzcuODM3LDI2LjI5IEMzOC41MjcsMjYuOTggMzguNTI3LDI4LjA5OCAzNy44MzcsMjguNzg3IEwzNS44MzksMzAuNzg1IEMzNS4xNSwzMS40NzUgMzQuMDMzLDMxLjQ3NSAzMy4zNDIsMzAuNzg1IFogTTE1Ljc4NSw0Ny4zNDQgQzE1LjA5NSw0Ni42NTQgMTMuOTc4LDQ2LjY1NCAxMy4yODgsNDcuMzQ0IEwxMS4yOSw0OS4zNDEgQzEwLjYwMiw1MC4wMyAxMC42LDUxLjE0OSAxMS4yOSw1MS44MzggQzExLjk4LDUyLjUyNiAxMy4wOTgsNTIuNTI2IDEzLjc4Nyw1MS44MzggTDE1Ljc4NSw0OS44MzkgQzE2LjQ3NSw0OS4xNSAxNi40NzUsNDguMDMyIDE1Ljc4NSw0Ny4zNDQgWiBNMzYuNzcyLDM5LjA2NCBDMzYuNzcyLDM4LjA4OSAzNy41NjIsMzcuMjk4IDM4LjUzOCwzNy4yOTggTDQxLjM2MiwzNy4yOTggQzQyLjMzOCwzNy4yOTggNDMuMTI4LDM4LjA4OCA0My4xMjgsMzkuMDY0IEM0My4xMjgsNDAuMDM5IDQyLjMzOCw0MC44MjkgNDEuMzYyLDQwLjgyOSBMMzguNTM4LDQwLjgyOSBDMzcuNTYyLDQwLjgyOSAzNi43NzIsNDAuMDM5IDM2Ljc3MiwzOS4wNjQgWiBNMTIuMzU1LDM5LjA2NCBDMTIuMzU1LDM4LjA4OSAxMS41NjUsMzcuMjk4IDEwLjU5LDM3LjI5OCBMNy43NjYsMzcuMjk4IEM2Ljc5LDM3LjI5OCA2LDM4LjA4OCA2LDM5LjA2NCBDNiw0MC4wMzkgNi43OSw0MC44MjkgNy43NjYsNDAuODI5IEwxMC41OSw0MC44MjkgQzExLjU2NSw0MC44MjkgMTIuMzU1LDQwLjAzOSAxMi4zNTUsMzkuMDY0IFogTTMyLjM0Miw0Ny4zNDQgQzMzLjAzMiw0Ni42NTUgMzQuMTUsNDYuNjU1IDM0LjgzOSw0Ny4zNDQgTDM2LjgzNyw0OS4zNDIgQzM3LjUyNyw1MC4wMyAzNy41MjcsNTEuMTQ5IDM2LjgzNyw1MS44MzggQzM2LjE0Nyw1Mi41MjYgMzUuMDMsNTIuNTI2IDM0LjM0LDUxLjgzOCBMMzIuMzQyLDQ5Ljg0IEMzMS42NTIsNDkuMTUgMzEuNjUyLDQ4LjAzMyAzMi4zNDIsNDcuMzQ0IFogTTE1Ljc4NSwzMC43ODUgQzE2LjQ3NSwzMC4wOTUgMTYuNDc1LDI4Ljk3OCAxNS43ODUsMjguMjg4IEwxMy43ODcsMjYuMjkxIEMxMy4wOTcsMjUuNjAxIDExLjk4LDI1LjYwMSAxMS4yOSwyNi4yOTEgQzEwLjYsMjYuOTggMTAuNiwyOC4wOTggMTEuMjksMjguNzg3IEwxMy4yODgsMzAuNzg1IEMxMy45NzgsMzEuNDc1IDE1LjA5NSwzMS40NzUgMTUuNzg1LDMwLjc4NSBaIiBpZD0iU2hhcGUiIGZpbGw9IiNGRkZGRkYiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPgogICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNi4wMDAwMDAsIDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbCIgZmlsbD0iI0ZGNUM2RiIgZmlsbC1ydWxlPSJub256ZXJvIiBjeD0iOS45NzkiIGN5PSI5Ljk3OSIgcj0iOS45NzkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuMDAwMDAwLCA2LjAwMDAwMCkiIGlkPSJQYXRoIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS4yNDciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNC45MTMsNC4xMzQgTDcuNTU2LDEuNDkxIEM3LjYyOCwxLjQxOCA3LjY2OCwxLjMyMSA3LjY2OSwxLjIxOCBDNy42NjksMS4xMTQgNy42MjksMS4wMTggNy41NTYsMC45NDQgTDcuMzI0LDAuNzEzIEM3LjI1MSwwLjY0IDcuMTU0LDAuNiA3LjA1MSwwLjYgQzYuOTQ3LDAuNiA2Ljg1MSwwLjY0IDYuNzc3LDAuNzEzIEw0LjEzNCwzLjM1NiBMMS40OTEsMC43MTMgQzEuNDIsMC42NCAxLjMyMSwwLjYgMS4yMTgsMC42IEMxLjExNSwwLjYgMS4wMTgsMC42NCAwLjk0NSwwLjcxMyBMMC43MTMsMC45NDQgQzAuNTYzLDEuMDk1IDAuNTYzLDEuMzQxIDAuNzEzLDEuNDkxIEwzLjM1Niw0LjEzNCBMMC43MTMsNi43NzcgQzAuNjQsNi44NSAwLjYsNi45NDcgMC42LDcuMDUxIEMwLjYsNy4xNTQgMC42NCw3LjI1MSAwLjcxMyw3LjMyNCBMMC45NDUsNy41NTYgQzEuMDE3LDcuNjI5IDEuMTE1LDcuNjY5IDEuMjE4LDcuNjY5IEMxLjMyMiw3LjY2OSAxLjQxOCw3LjYyOSAxLjQ5MSw3LjU1NiBMNC4xMzQsNC45MTMgTDYuNzc3LDcuNTU2IEM2Ljg1LDcuNjI5IDYuOTQ3LDcuNjY5IDcuMDUxLDcuNjY5IEw3LjA1MSw3LjY2OSBDNy4xNTQsNy42NjkgNy4yNTEsNy42MjkgNy4zMjQsNy41NTYgTDcuNTU2LDcuMzI0IEM3LjYyOCw3LjI1MSA3LjY2OCw3LjE1NCA3LjY2OCw3LjA1MSBDNy42NjgsNi45NDcgNy42MjgsNi44NTEgNy41NTYsNi43NzcgTDQuOTEzLDQuMTM0IFoiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",lens="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNTZweCIgaGVpZ2h0PSI3MHB4IiB2aWV3Qm94PSIwIDAgNTYgNzAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+bGVuc0AxeDwvdGl0bGU+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iQXJ0Ym9hcmQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yODkuMDAwMDAwLCAtMTQyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0ibGVucyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjg5LjAwMDAwMCwgMTQyLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZSIgZmlsbD0iIzIwMjYzRCIgZmlsbC1ydWxlPSJub256ZXJvIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNC41MDAwMDAsIDM4LjUwMDAwMCkgcm90YXRlKC05MC4wMDAwMDApIHRyYW5zbGF0ZSgtMjQuNTAwMDAwLCAtMzguNTAwMDAwKSAiIHg9Ii03IiB5PSIxNCIgd2lkdGg9IjYzIiBoZWlnaHQ9IjQ5IiByeD0iOCI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjAwMDAwMCwgMjYuMDAwMDAwKSIgZmlsbD0iI0ZGRkZGRiI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI4LjIzMywzLjk2IEwyNC4xNjMsMy45NiBDMjMuNjQ5LDMuOTYgMjMuMTY2LDMuNzU0IDIyLjgwMiwzLjM4IEwyMC40NTYsMC45NjcgQzE5Ljg1LDAuMzQ0IDE5LjA0NCwwIDE4LjE4NiwwIEwxMi42MTMsMCBDMTEuNzU2LDAgMTAuOTUsMC4zNDQgMTAuMzQ0LDAuOTY3IEw3Ljk5OCwzLjM4IEM3LjYzNCwzLjc1NCA3LjE1MSwzLjk2IDYuNjM3LDMuOTYgTDIuNTY3LDMuOTYgQzEuMTUsMy45NiAwLDUuMTQ0IDAsNi42IEwwLDIzLjc2IEMwLDI1LjIxNiAxLjE1MSwyNi40IDIuNTY3LDI2LjQgTDI4LjIzMywyNi40IEMyOS42NDksMjYuNCAzMC44LDI1LjIxNiAzMC44LDIzLjc2IEwzMC44LDYuNiBDMzAuOCw1LjE0NCAyOS42NDksMy45NiAyOC4yMzMsMy45NiBaIE0xNS40LDI0LjIgQzEwLjU0NywyNC4yIDYuNiwyMC4yNTMgNi42LDE1LjQgQzYuNiwxMC41NDcgMTAuNTQ3LDYuNiAxNS40LDYuNiBDMjAuMjUzLDYuNiAyNC4yLDEwLjU0NyAyNC4yLDE1LjQgQzI0LjIsMjAuMjUzIDIwLjI1MywyNC4yIDE1LjQsMjQuMiBaIE0yNi40LDcuNyBDMjcuMDA2LDcuNyAyNy41LDguMTk0IDI3LjUsOC44IEMyNy41LDkuNDA2IDI3LjAwNiw5LjkgMjYuNCw5LjkgQzI1Ljc5NCw5LjkgMjUuMyw5LjQwNiAyNS4zLDguOCBDMjUuMyw4LjE5NCAyNS43OTQsNy43IDI2LjQsNy43IFogTTYuMDUsMS4xIEM2LjM1NCwxLjEgNi42LDEuMzQ2IDYuNiwxLjY1IEM2LjYsMS45NTQgNi4zNTQsMi4yIDYuMDUsMi4yIEwyLjc1LDIuMiBDMi40NDYsMi4yIDIuMiwxLjk1NCAyLjIsMS42NSBDMi4yLDEuMzQ2IDIuNDQ2LDEuMSAyLjc1LDEuMSBMNi4wNSwxLjEgWiIgaWQ9IlNoYXBlIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsIiBjeD0iMTMuNSIgY3k9IjEzLjUiIHI9IjMuNSI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBjeD0iMTkuNSIgY3k9IjE1LjUiIHI9IjEuNSI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5LTIiIGN4PSIxNyIgY3k9IjE5IiByPSIyIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzYuMDAwMDAwLCAwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwiIGZpbGw9IiNGRjVDNkYiIGZpbGwtcnVsZT0ibm9uemVybyIgY3g9IjkuOTc5IiBjeT0iOS45NzkiIHI9IjkuOTc5Ij48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2LjAwMDAwMCwgNi4wMDAwMDApIiBpZD0iUGF0aCIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQuOTEzLDQuMTM0IEw3LjU1NiwxLjQ5MSBDNy42MjgsMS40MTggNy42NjgsMS4zMjEgNy42NjksMS4yMTggQzcuNjY5LDEuMTE0IDcuNjI5LDEuMDE4IDcuNTU2LDAuOTQ0IEw3LjMyNCwwLjcxMyBDNy4yNTEsMC42NCA3LjE1NCwwLjYgNy4wNTEsMC42IEM2Ljk0NywwLjYgNi44NTEsMC42NCA2Ljc3NywwLjcxMyBMNC4xMzQsMy4zNTYgTDEuNDkxLDAuNzEzIEMxLjQyLDAuNjQgMS4zMjEsMC42IDEuMjE4LDAuNiBDMS4xMTUsMC42IDEuMDE4LDAuNjQgMC45NDUsMC43MTMgTDAuNzEzLDAuOTQ0IEMwLjU2MywxLjA5NSAwLjU2MywxLjM0MSAwLjcxMywxLjQ5MSBMMy4zNTYsNC4xMzQgTDAuNzEzLDYuNzc3IEMwLjY0LDYuODUgMC42LDYuOTQ3IDAuNiw3LjA1MSBDMC42LDcuMTU0IDAuNjQsNy4yNTEgMC43MTMsNy4zMjQgTDAuOTQ1LDcuNTU2IEMxLjAxNyw3LjYyOSAxLjExNSw3LjY2OSAxLjIxOCw3LjY2OSBDMS4zMjIsNy42NjkgMS40MTgsNy42MjkgMS40OTEsNy41NTYgTDQuMTM0LDQuOTEzIEw2Ljc3Nyw3LjU1NiBDNi44NSw3LjYyOSA2Ljk0Nyw3LjY2OSA3LjA1MSw3LjY2OSBMNy4wNTEsNy42NjkgQzcuMTU0LDcuNjY5IDcuMjUxLDcuNjI5IDcuMzI0LDcuNTU2IEw3LjU1Niw3LjMyNCBDNy42MjgsNy4yNTEgNy42NjgsNy4xNTQgNy42NjgsNy4wNTEgQzcuNjY4LDYuOTQ3IDcuNjI4LDYuODUxIDcuNTU2LDYuNzc3IEw0LjkxMyw0LjEzNCBaIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=",outFrame="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNTZweCIgaGVpZ2h0PSI3N3B4IiB2aWV3Qm94PSIwIDAgNTYgNzciIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+b3V0IGZyYW1lQDF4PC90aXRsZT4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJBcnRib2FyZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEyNS4wMDAwMDAsIC0xNDIuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJvdXQtZnJhbWUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNS4wMDAwMDAsIDE0Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDcuMDAwMDAwKSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iYmM2ZDluaGt4YS1saW5rIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNC41MDAwMDAsIDMxLjUwMDAwMCkgcm90YXRlKC05MC4wMDAwMDApIHRyYW5zbGF0ZSgtMjQuNTAwMDAwLCAtMzEuNTAwMDAwKSB0cmFuc2xhdGUoLTcuMDAwMDAwLCA3LjAwMDAwMCkiIGZpbGw9IiMyMDI2M0QiPgogICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBpZD0iYmM2ZDluaGt4YSIgeD0iMCIgeT0iMCIgd2lkdGg9IjYzIiBoZWlnaHQ9IjQ5IiByeD0iOCI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMDAwMDAwLCAxNS4wMDAwMDApIiBmaWxsPSIjRkZGRkZGIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ1LjA2MTcwNiwxMy41NzIyNjk0IEM0Ni4yOTg3MDYsMTMuNTcyMjY5NCA0Ny4zMDE3MDYsMTQuNTc1MjY5NCA0Ny4zMDE3MDYsMTUuODEyMjY5NCBMNDcuMzAxNzA2LDM5LjMzMjI2OTQgQzQ3LjMwMTcwNiw0MC41NjkyNjk0IDQ2LjI5ODcwNiw0MS41NzIyNjk0IDQ1LjA2MTcwNiw0MS41NzIyNjk0IEwyLjUwMTcwNjAyLDQxLjU3MjI2OTQgQzEuMjY0NzA2MDIsNDEuNTcyMjY5NCAwLjI2MTcwNjAyNCw0MC41NjkyNjk0IDAuMjYxNzA2MDI0LDM5LjMzMjI2OTQgTDAuMjYxNzA2MDI0LDE1LjgxMjI2OTQgQzAuMjYxNzA2MDI0LDE0LjU3NTI2OTQgMS4yNjQ3MDYwMiwxMy41NzIyNjk0IDIuNTAxNzA2MDIsMTMuNTcyMjY5NCBMNDUuMDYxNzA2LDEzLjU3MjI2OTQgWiBNMTguMTgxNzA2LDE2LjkzMjI2OTQgTDUuODYxNzA2MDIsMTYuOTMyMjY5NCBDNC42MjQ3MDYwMiwxNi45MzIyNjk0IDMuNjIxNzA2MDIsMTcuOTM1MjY5NCAzLjYyMTcwNjAyLDE5LjE3MjI2OTQgTDMuNjIxNzA2MDIsMzUuOTcyMjY5NCBDMy42MjE3MDYwMiwzNy4yMDkyNjk0IDQuNjI0NzA2MDIsMzguMjEyMjY5NCA1Ljg2MTcwNjAyLDM4LjIxMjI2OTQgTDE4LjE4MTcwNiwzOC4yMTIyNjk0IEMxOS40MTg3MDYsMzguMjEyMjY5NCAyMC40MjE3MDYsMzcuMjA5MjY5NCAyMC40MjE3MDYsMzUuOTcyMjY5NCBMMjAuNDIxNzA2LDE5LjE3MjI2OTQgQzIwLjQyMTcwNiwxNy45MzUyNjk0IDE5LjQxODcwNiwxNi45MzIyNjk0IDE4LjE4MTcwNiwxNi45MzIyNjk0IFogTTQyLjgyMTcwNiwzNS45NzIyNjk0IEwyNC45MDE3MDYsMzUuOTcyMjY5NCBDMjQuMjgyNzA2LDM1Ljk3MjI2OTQgMjMuNzgxNzA2LDM2LjQ3MzI2OTQgMjMuNzgxNzA2LDM3LjA5MjI2OTQgQzIzLjc4MTcwNiwzNy43MTEyNjk0IDI0LjI4MjcwNiwzOC4yMTIyNjk0IDI0LjkwMTcwNiwzOC4yMTIyNjk0IEw0Mi44MjE3MDYsMzguMjEyMjY5NCBDNDMuNDQwNzA2LDM4LjIxMjI2OTQgNDMuOTQxNzA2LDM3LjcxMTI2OTQgNDMuOTQxNzA2LDM3LjA5MjI2OTQgQzQzLjk0MTcwNiwzNi40NzMyNjk0IDQzLjQ0MDcwNiwzNS45NzIyNjk0IDQyLjgyMTcwNiwzNS45NzIyNjk0IFogTTQyLjgyMTcwNiwzMS40OTIyNjk0IEwyNC45MDE3MDYsMzEuNDkyMjY5NCBDMjQuMjgyNzA2LDMxLjQ5MjI2OTQgMjMuNzgxNzA2LDMxLjk5MzI2OTQgMjMuNzgxNzA2LDMyLjYxMjI2OTQgQzIzLjc4MTcwNiwzMy4yMzEyNjk0IDI0LjI4MjcwNiwzMy43MzIyNjk0IDI0LjkwMTcwNiwzMy43MzIyNjk0IEw0Mi44MjE3MDYsMzMuNzMyMjY5NCBDNDMuNDQwNzA2LDMzLjczMjI2OTQgNDMuOTQxNzA2LDMzLjIzMTI2OTQgNDMuOTQxNzA2LDMyLjYxMjI2OTQgQzQzLjk0MTcwNiwzMS45OTMyNjk0IDQzLjQ0MDcwNiwzMS40OTIyNjk0IDQyLjgyMTcwNiwzMS40OTIyNjk0IFogTTQyLjgyMTcwNiwyNy4wMTIyNjk0IEwyNC45MDE3MDYsMjcuMDEyMjY5NCBDMjQuMjgyNzA2LDI3LjAxMjI2OTQgMjMuNzgxNzA2LDI3LjUxMzI2OTQgMjMuNzgxNzA2LDI4LjEzMjI2OTQgQzIzLjc4MTcwNiwyOC43NTEyNjk0IDI0LjI4MjcwNiwyOS4yNTIyNjk0IDI0LjkwMTcwNiwyOS4yNTIyNjk0IEw0Mi44MjE3MDYsMjkuMjUyMjY5NCBDNDMuNDQwNzA2LDI5LjI1MjI2OTQgNDMuOTQxNzA2LDI4Ljc1MTI2OTQgNDMuOTQxNzA2LDI4LjEzMjI2OTQgQzQzLjk0MTcwNiwyNy41MTMyNjk0IDQzLjQ0MDcwNiwyNy4wMTIyNjk0IDQyLjgyMTcwNiwyNy4wMTIyNjk0IFogTTMzLjg2MTcwNiwyMi41MzIyNjk0IEwyNC45MDE3MDYsMjIuNTMyMjY5NCBDMjQuMjgyNzA2LDIyLjUzMjI2OTQgMjMuNzgxNzA2LDIzLjAzMzI2OTQgMjMuNzgxNzA2LDIzLjY1MjI2OTQgQzIzLjc4MTcwNiwyNC4yNzEyNjk0IDI0LjI4MjcwNiwyNC43NzIyNjk0IDI0LjkwMTcwNiwyNC43NzIyNjk0IEwzMy44NjE3MDYsMjQuNzcyMjY5NCBDMzQuNDgwNzA2LDI0Ljc3MjI2OTQgMzQuOTgxNzA2LDI0LjI3MTI2OTQgMzQuOTgxNzA2LDIzLjY1MjI2OTQgQzM0Ljk4MTcwNiwyMy4wMzMyNjk0IDM0LjQ4MDcwNiwyMi41MzIyNjk0IDMzLjg2MTcwNiwyMi41MzIyNjk0IFogTTMzLjg2MTcwNiwxOC4wNTIyNjk0IEwyNC45MDE3MDYsMTguMDUyMjY5NCBDMjQuMjgyNzA2LDE4LjA1MjI2OTQgMjMuNzgxNzA2LDE4LjU1MzI2OTQgMjMuNzgxNzA2LDE5LjE3MjI2OTQgQzIzLjc4MTcwNiwxOS43OTEyNjk0IDI0LjI4MjcwNiwyMC4yOTIyNjk0IDI0LjkwMTcwNiwyMC4yOTIyNjk0IEwzMy44NjE3MDYsMjAuMjkyMjY5NCBDMzQuNDgwNzA2LDIwLjI5MjI2OTQgMzQuOTgxNzA2LDE5Ljc5MTI2OTQgMzQuOTgxNzA2LDE5LjE3MjI2OTQgQzM0Ljk4MTcwNiwxOC41NTMyNjk0IDM0LjQ4MDcwNiwxOC4wNTIyNjk0IDMzLjg2MTcwNiwxOC4wNTIyNjk0IFoiIGlkPSJTaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjMuNzgxNzA2LCAyNy41NzIyNjkpIHJvdGF0ZSg2My4wMDAwMDApIHRyYW5zbGF0ZSgtMjMuNzgxNzA2LCAtMjcuNTcyMjY5KSAiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4wMDAwMDAsIDkuMDAwMDAwKSIgaWQ9IlBhdGgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEzLjQzNDQ4Nyw5Ljk4MDE1NTI0IEMxNC41MTE0ODcsOS45ODAxNTUyNCAxNS40NDQ0ODcsOS41OTQxNTUyNCAxNi4yMDY0ODcsOC44MzIxNTUyNCBDMTYuOTY4NDg3LDguMDY5MTU1MjQgMTcuMzU0NDg3LDcuMTM3MTU1MjQgMTcuMzU0NDg3LDYuMDYwMTU1MjQgQzE3LjM1NDQ4Nyw0Ljk4MzE1NTI0IDE2Ljk2ODQ4Nyw0LjA1MDE1NTI0IDE2LjIwNjQ4NywzLjI4ODE1NTI0IEMxNS40NDM0ODcsMi41MjYxNTUyNCAxNC41MTE0ODcsMi4xNDAxNTUyNCAxMy40MzQ0ODcsMi4xNDAxNTUyNCBDMTIuMzU3NDg3LDIuMTQwMTU1MjQgMTEuNDI0NDg3LDIuNTI2MTU1MjQgMTAuNjYyNDg3LDMuMjg4MTU1MjQgQzkuOTAwNDg2OTgsNC4wNTAxNTUyNCA5LjUxNDQ4Njk4LDQuOTgzMTU1MjQgOS41MTQ0ODY5OCw2LjA2MDE1NTI0IEM5LjUxNDQ4Njk4LDcuMTM3MTU1MjQgOS45MDA0ODY5OCw4LjA3MDE1NTI0IDEwLjY2MzQ4Nyw4LjgzMjE1NTI0IEMxMS40MjU0ODcsOS41OTQxNTUyNCAxMi4zNTc0ODcsOS45ODAxNTUyNCAxMy40MzQ0ODcsOS45ODAxNTUyNCBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy40MzQ0ODcsIDYuMDYwMTU1KSByb3RhdGUoNjMuMDAwMDAwKSB0cmFuc2xhdGUoLTEzLjQzNDQ4NywgLTYuMDYwMTU1KSAiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMi41Nzg5OTU4LDEwLjAzNTQ0MDggQzEyLjU1ODk5NTgsOS43Mzk0NDA3NSAxMi41MTg5OTU4LDkuNDE3NDQwNzUgMTIuNDU4OTk1OCw5LjA3NzQ0MDc1IEMxMi4zOTg5OTU4LDguNzM0NDQwNzUgMTIuMzIxOTk1OCw4LjQxMDQ0MDc1IDEyLjIyOTk5NTgsOC4xMTM0NDA3NSBDMTIuMTM0OTk1OCw3LjgwNzQ0MDc1IDEyLjAwNDk5NTgsNy41MDU0NDA3NSAxMS44NDM5OTU4LDcuMjE1NDQwNzUgQzExLjY3Nzk5NTgsNi45MTQ0NDA3NSAxMS40ODE5OTU4LDYuNjUyNDQwNzUgMTEuMjYyOTk1OCw2LjQzNjQ0MDc1IEMxMS4wMzI5OTU4LDYuMjExNDQwNzUgMTAuNzUyOTk1OCw2LjAzMDQ0MDc1IDEwLjQyNjk5NTgsNS44OTc0NDA3NSBDMTAuMTAzOTk1OCw1Ljc2NjQ0MDc1IDkuNzQ0OTk1ODMsNS42OTk0NDA3NSA5LjM2MDk5NTgzLDUuNjk5NDQwNzUgQzkuMjEwOTk1ODMsNS42OTk0NDA3NSA5LjA2Mzk5NTgzLDUuNzYzNDQwNzUgOC43ODI5OTU4Myw1Ljk1MTQ0MDc1IEM4LjYwOTk5NTgzLDYuMDY3NDQwNzUgOC40MDY5OTU4Myw2LjIwMTQ0MDc1IDguMTgwOTk1ODMsNi4zNTA0NDA3NSBDNy45ODY5OTU4Myw2LjQ3NjQ0MDc1IDcuNzI0OTk1ODMsNi41OTU0NDA3NSA3LjQwMDk5NTgzLDYuNzAyNDQwNzUgQzcuMDg1OTk1ODMsNi44MDc0NDA3NSA2Ljc2NDk5NTgzLDYuODYwNDQwNzUgNi40NDg5OTU4Myw2Ljg2MDQ0MDc1IEM2LjEzMTk5NTgzLDYuODYwNDQwNzUgNS44MTE5OTU4Myw2LjgwNzQ0MDc1IDUuNDk1OTk1ODMsNi43MDI0NDA3NSBDNS4xNzE5OTU4Myw2LjU5NTQ0MDc1IDQuOTA5OTk1ODMsNi40NzY0NDA3NSA0LjcxNTk5NTgzLDYuMzUwNDQwNzUgTDQuMTEzOTk1ODMsNS45NTA0NDA3NSBDMy44MzI5OTU4Myw1Ljc2MzQ0MDc1IDMuNjg2OTk1ODMsNS42OTk0NDA3NSAzLjUzNTk5NTgzLDUuNjk5NDQwNzUgQzMuMTUxOTk1ODMsNS42OTk0NDA3NSAyLjc5Mzk5NTgzLDUuNzY2NDQwNzUgMi40Njk5OTU4Myw1Ljg5NzQ0MDc1IEMyLjE0NDk5NTgzLDYuMDI5NDQwNzUgMS44NjM5OTU4Myw2LjIxMTQ0MDc1IDEuNjM0OTk1ODMsNi40Mzc0NDA3NSBDMS40MTQ5OTU4Myw2LjY1MjQ0MDc1IDEuMjE4OTk1ODMsNi45MTQ0NDA3NSAxLjA1Mjk5NTgzLDcuMjE1NDQwNzUgQzAuODkyOTk1ODI2LDcuNTA1NDQwNzUgMC43NjI5OTU4MjYsNy44MDc0NDA3NSAwLjY2Nzk5NTgyNiw4LjExMzQ0MDc1IEMwLjU3NDk5NTgyNiw4LjQxMDQ0MDc1IDAuNDk3OTk1ODI2LDguNzMzNDQwNzUgMC40Mzc5OTU4MjYsOS4wNzc0NDA3NSBDMC4zNzc5OTU4MjYsOS40MTc0NDA3NSAwLjMzNzk5NTgyNiw5LjczOTQ0MDc1IDAuMzE3OTk1ODI2LDEwLjAzNTQ0MDggQzAuMjk3OTk1ODI2LDEwLjMyNTQ0MDggMC4yODg5OTU4MjYsMTAuNjI3NDQwOCAwLjI4ODk5NTgyNiwxMC45MzE0NDA4IEMwLjI4ODk5NTgyNiwxMS43MjI0NDA4IDAuNTMzOTk1ODI2LDEyLjM2MzQ0MDggMS4wMTY5OTU4MywxMi44MzY0NDA4IEMxLjQ5Mzk5NTgzLDEzLjMwMjQ0MDggMi4xMjU5OTU4MywxMy41Mzk0NDA4IDIuODkzOTk1ODMsMTMuNTM5NDQwOCBMMTAuMDAzOTk1OCwxMy41Mzk0NDA4IEMxMC43NzE5OTU4LDEzLjUzOTQ0MDggMTEuNDAzOTk1OCwxMy4zMDM0NDA4IDExLjg4MDk5NTgsMTIuODM2NDQwOCBDMTIuMzYzOTk1OCwxMi4zNjQ0NDA4IDEyLjYwODk5NTgsMTEuNzIzNDQwOCAxMi42MDg5OTU4LDEwLjkzMTQ0MDggQzEyLjYwODk5NTgsMTAuNjI1NDQwOCAxMi41OTg5OTU4LDEwLjMyNDQ0MDggMTIuNTc4OTk1OCwxMC4wMzU0NDA4IEwxMi41Nzg5OTU4LDEwLjAzNTQ0MDggWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi40NDg5OTYsIDkuNjE5NDQxKSByb3RhdGUoNjMuMDAwMDAwKSB0cmFuc2xhdGUoLTYuNDQ4OTk2LCAtOS42MTk0NDEpICI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNi4wMDAwMDAsIDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbCIgZmlsbD0iI0ZGNUM2RiIgZmlsbC1ydWxlPSJub256ZXJvIiBjeD0iOS45NzkiIGN5PSI5Ljk3OSIgcj0iOS45NzkiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuMDAwMDAwLCA2LjAwMDAwMCkiIGlkPSJQYXRoIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS4yNDciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNC45MTMsNC4xMzQgTDcuNTU2LDEuNDkxIEM3LjYyOCwxLjQxOCA3LjY2OCwxLjMyMSA3LjY2OSwxLjIxOCBDNy42NjksMS4xMTQgNy42MjksMS4wMTggNy41NTYsMC45NDQgTDcuMzI0LDAuNzEzIEM3LjI1MSwwLjY0IDcuMTU0LDAuNiA3LjA1MSwwLjYgQzYuOTQ3LDAuNiA2Ljg1MSwwLjY0IDYuNzc3LDAuNzEzIEw0LjEzNCwzLjM1NiBMMS40OTEsMC43MTMgQzEuNDIsMC42NCAxLjMyMSwwLjYgMS4yMTgsMC42IEMxLjExNSwwLjYgMS4wMTgsMC42NCAwLjk0NSwwLjcxMyBMMC43MTMsMC45NDQgQzAuNTYzLDEuMDk1IDAuNTYzLDEuMzQxIDAuNzEzLDEuNDkxIEwzLjM1Niw0LjEzNCBMMC43MTMsNi43NzcgQzAuNjQsNi44NSAwLjYsNi45NDcgMC42LDcuMDUxIEMwLjYsNy4xNTQgMC42NCw3LjI1MSAwLjcxMyw3LjMyNCBMMC45NDUsNy41NTYgQzEuMDE3LDcuNjI5IDEuMTE1LDcuNjY5IDEuMjE4LDcuNjY5IEMxLjMyMiw3LjY2OSAxLjQxOCw3LjYyOSAxLjQ5MSw3LjU1NiBMNC4xMzQsNC45MTMgTDYuNzc3LDcuNTU2IEM2Ljg1LDcuNjI5IDYuOTQ3LDcuNjY5IDcuMDUxLDcuNjY5IEw3LjA1MSw3LjY2OSBDNy4xNTQsNy42NjkgNy4yNTEsNy42MjkgNy4zMjQsNy41NTYgTDcuNTU2LDcuMzI0IEM3LjYyOCw3LjI1MSA3LjY2OCw3LjE1NCA3LjY2OCw3LjA1MSBDNy42NjgsNi45NDcgNy42MjgsNi44NTEgNy41NTYsNi43NzcgTDQuOTEzLDQuMTM0IFoiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==",ButtonContainer=styled.div`
4149
4149
  margin: 60px 0 30px 0;
4150
4150
 
4151
4151
  @media only screen and (max-height: 480px) {
@@ -4810,7 +4810,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
4810
4810
  height: 100%;
4811
4811
  display: flex;
4812
4812
  flex-direction: column;
4813
- `,Selfie$1=({onBoarding:ue,onError:me,onSuccess:Ue,permission:Qe,setPermission:Ze,permissionMessage:Je,permissionBackgroundColor:Ge,onLog:He,token:Xe,timeout:$e,numberOfTries:Ke,stream:nt,onlyCapture:tt,showCustomCameraPermissionScreen:et,isSecondId:rt,isRecordingEnabled:at=!1,skipProcessFace:ot=!1})=>{const it=Xe?Xe.token:ue.state.token.token,st=React$1.useRef(null),ct=React$1.useRef(!1),{startRecording:lt,stopRecording:dt}=useMediaRecorder({token:it,type:"selfie"});React$1.useEffect(()=>()=>{dt==null||dt()},[dt]);const ft=throttle$1(async(Qt,$t,Gt)=>{var Pt;try{addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureCamera,token:it,shouldOpen:!0}),clearTimeout(wt.current),mt(""),ue.addEvent({code:"selfieCapture",token:it}),await OnboardingAnalytics$1.analyzeFrame($t),MlWasmJSApi$1.resetAllPipelines();const jt=ue.selfieType,Dt=await MlWasmJSApi$1.encryptImage($t),ut=toBlob(Qt),Et=URL.createObjectURL(ut);if(tt)return Ue({imageBase64:Qt,blob:ut,encryptedImage:Dt,src:Et});addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureCamera,token:it,shouldOpen:!1}),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureUpload,token:it,shouldOpen:!0}),addEvent({token:it,code:"captureAttemptFinished",module:"selfieCapture",payload:{logs:OnboardingAnalytics$1.getPipelineLogs()}}),addDeviceStats(it,{inspectorOpened:null,frontIdStatsAnalysisStatus:"",backIdStatsAnalysisStatus:"",selfieStatsAnalysisStatus:OnboardingAnalytics$1.getAnalysisStatus(),motionStatus:OnboardingAnalytics$1.getMotionStatus()});const Vt=await ue.capture({token:it,image:Dt,type:jt,encrypted:!0,faceCoordinates:Gt}),Ot=Vt.confidence===0,Lt=Vt.isBright,zt=!Vt.hasLenses,Xt=!Vt.hasFaceMask;if(!Ot||!Lt||!zt||!Xt){addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureUpload,token:it,shouldOpen:!1}),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureError,token:it,shouldOpen:!0}),bt("error"),zt?Lt?Xt?Ot||(He(getLogObject("spoofAttempt",{response:Vt,message:"Spoof attempt detected"})),mt(gt("notifications.spoof"))):(He(getLogObject("badMask",{response:Vt,message:"Mask detected"})),mt(gt("notifications.mask"))):(He(getLogObject("badBrightness",{response:Vt,message:"Bad brightness"})),mt(gt("notifications.brightness"))):(He(getLogObject("lensesDetected",{response:Vt,message:"Lenses detected"})),mt(gt("notifications.lenses"))),await sleep(3e3),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureError,token:it,shouldOpen:!1}),At({response:Vt,livenessPassed:Ot,imageBase64:Qt}),yt();return}mt(gt("notifications.processing"));const{faceMatch:Yt,existingUser:sn,...cn}=await Rt();return addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureUpload,token:it,shouldOpen:!1}),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureSuccess,token:it,shouldOpen:!0}),He(getLogObject("successCapture",{response:Vt,message:"Selfie uploaded successfully"})),mt(gt("notifications.success")),await sleep(3500),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureSuccess,token:it,shouldOpen:!1}),Ue({...Vt,...cn,faceMatch:Yt,existingUser:sn,liveness:Ot,imageBase64:Qt})}catch(jt){addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureUpload,token:it,shouldOpen:!1}),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureError,token:it,shouldOpen:!0}),It(jt.response?jt.response.data:gt("notifications.serverError")),bt("error"),await sleep(3e3),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureError,token:it,shouldOpen:!1}),At({response:(Pt=jt==null?void 0:jt.response)==null?void 0:Pt.data,livenessPassed:null,imageBase64:Qt}),yt()}},300),{t:gt}=useTranslation(),ht=(Qt,$t,Gt,Pt)=>{ue.updateSession({token:it,key:"manualSelfieCheckNeeded",value:!0});const jt=getLogObject("skip",{existingUser:Qt,liveness:$t,imageBase64:Gt,faceMatch:Pt});He(jt),me(jt)};async function vt({response:Qt,livenessPassed:$t,imageBase64:Gt}){ue.addEvent({code:"noAttempts",token:it}),He(getLogObject("noAttemps",{response:Qt,message:"No attempt left"}));const{faceMatch:Pt,existingUser:jt}=await Rt();return ht(jt,$t,Gt,Pt)}async function Rt(){if(ot)return{faceMatch:!1};const Qt=await ue.processFace({token:it});rt&&await ue.processFaceSecondId({token:it});const $t=Qt.confidence===1,Gt=Qt.existingUser;return{faceMatch:$t,existingUser:Gt,...Qt}}const{setMode:bt,resetLoading:At,notificationMessage:Nt,setNotificationMessage:mt,handleError:It,startAutoDetect:yt,handleManualCapture:Mt,isSuccess:St,isError:xt,isLoading:Ut,shouldShowManualCapture:Ft,selfieTimeoutRef:wt,hideCamera:Ct}=useSelfie({timeout:$e,onLog:He,handleCapture:ft,handleNoAttempsLeft:vt,numberOfTries:Ke,webcam:st,token:it,isDetecting:ct,isDesktop:!0,onSwitchManualCapture:()=>{mt(""),ue.addEvent({code:"switchToManualCaptureSelfie",token:it})},onManualCaptureSelfie:()=>{ue.addEvent({code:"manualCaptureSelfie",token:it})}}),Zt=Ut?"Uploading...":Nt,Jt=Ut||xt||St;return jsxs(Container$3,{className:"IncodeCaptureDesktopSelfieContainer",children:[jsx(SrOnlyHeading,{children:gt("selfie.title")}),jsxs(SelfieContainer,{className:"IncodeCaptureDesktopSelfieSelfieContainer",children:[jsx(FaceMask$1,{className:"IncodeCaptureDesktopSelfieFaceMask",isCapturing:St,isLoading:Ut,error:xt,isUploading:Jt,desktop:!0,children:jsx(FaceFrame$1,{src:faceFrame$1,alt:"face frame",className:classNames("IncodeCaptureDesktopSelfieFaceFrame",{hidden:Ct})})}),jsx(Webcam,{className:"IncodeCaptureDesktopSelfieWebcam",ref:st,onPlay:yt,videoSource:"user",isSelfie:!0,type:"desktopSelfie",permission:Qe,setPermission:Ze,permissionMessage:Je,permissionBackgroundColor:Ge,onLog:He,stream:nt,onError:me,token:it,interviewId:Xe.interviewId,onStreamReady:at?lt:void 0,showCustomCameraPermissionScreen:et}),Zt&&jsx(Notification$1,{isLoading:Ut,isError:xt,className:"desktop IncodeCaptureDesktopSelfieNotification",children:Zt}),Ft&&jsx(CaptureButtonContainer,{className:"IncodeCaptureDesktopSelfieCaptureButtonContainer",initial:{scale:0},animate:{scale:1},children:jsx("button",{onClick:Mt,type:"button",children:jsx("img",{src:CaptureButton,alt:"capture button"})})})]}),jsx("canvas",{id:"canvasFrame",hidden:!0})]})};function CaptureAndTutorial$2({...ue}){const{currentStep:me,nextStep:Ue}=useSteps();return jsxs(Steps,{currentStep:me,children:[ue.showTutorial&&jsx(TutorialSelfie,{className:"IncodeCaptureDesktopSelfieTutorial",...ue,onSuccess:Ue}),jsx(Selfie$1,{...ue})]})}const CaptureDesktopSelfie=preloadScript$4(CaptureAndTutorial$2),moveIn=We`
4813
+ `,Selfie$1=({onBoarding:ue,onError:me,onSuccess:Ue,permission:Qe,setPermission:Ze,permissionMessage:Je,permissionBackgroundColor:Ge,onLog:He,token:Xe,timeout:$e,numberOfTries:Ke,stream:nt,onlyCapture:tt,showCustomCameraPermissionScreen:et,isSecondId:rt,isRecordingEnabled:at=!1,skipProcessFace:ot=!1})=>{const it=Xe?Xe.token:ue.state.token.token,st=React$1.useRef(null),ct=React$1.useRef(!1),{startRecording:lt,stopRecording:dt}=useMediaRecorder({token:it,type:"selfie"});React$1.useEffect(()=>()=>{dt==null||dt()},[dt]);const ft=throttle$1(async(Qt,$t,Gt)=>{var Pt;try{addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureCamera,token:it,shouldOpen:!0}),clearTimeout(wt.current),mt(""),ue.addEvent({code:"selfieCapture",token:it}),await OnboardingAnalytics$1.analyzeFrame($t),MlWasmJSApi$1.resetAllPipelines();const jt=ue.selfieType,Dt=await MlWasmJSApi$1.encryptImage($t),ut=toBlob(Qt),Et=URL.createObjectURL(ut);if(tt)return Ue({imageBase64:Qt,blob:ut,encryptedImage:Dt,src:Et});addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureCamera,token:it,shouldOpen:!1}),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureUpload,token:it,shouldOpen:!0}),addEvent({token:it,code:"captureAttemptFinished",module:"selfieCapture",payload:{logs:OnboardingAnalytics$1.getPipelineLogs()}}),addDeviceStats(it,{inspectorOpened:null,frontIdStatsAnalysisStatus:"",backIdStatsAnalysisStatus:"",selfieStatsAnalysisStatus:OnboardingAnalytics$1.getAnalysisStatus(),motionStatus:OnboardingAnalytics$1.getMotionStatus()});const Vt=await ue.capture({token:it,image:Dt,type:jt,encrypted:!0,faceCoordinates:Gt}),Ot=Vt.confidence===0,Lt=Vt.isBright,zt=!Vt.hasLenses,Xt=!Vt.hasFaceMask;if(!Ot||!Lt||!zt||!Xt){addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureUpload,token:it,shouldOpen:!1}),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureError,token:it,shouldOpen:!0}),bt("error"),zt?Lt?Xt?Ot||(He(getLogObject("spoofAttempt",{response:Vt,message:"Spoof attempt detected"})),mt(gt("notifications.spoof"))):(He(getLogObject("badMask",{response:Vt,message:"Mask detected"})),mt(gt("notifications.mask"))):(He(getLogObject("badBrightness",{response:Vt,message:"Bad brightness"})),mt(gt("notifications.brightness"))):(He(getLogObject("lensesDetected",{response:Vt,message:"Lenses detected"})),mt(gt("notifications.lenses"))),await sleep(3e3),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureError,token:it,shouldOpen:!1}),At({response:Vt,livenessPassed:Ot,imageBase64:Qt}),yt();return}mt(gt("notifications.processing"));const{faceMatch:Yt,existingUser:sn,...cn}=await Rt();return addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureUpload,token:it,shouldOpen:!1}),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureSuccess,token:it,shouldOpen:!0}),He(getLogObject("successCapture",{response:Vt,message:"Selfie uploaded successfully"})),mt(gt("notifications.success")),await sleep(3500),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureSuccess,token:it,shouldOpen:!1}),Ue({...Vt,...cn,faceMatch:Yt,existingUser:sn,liveness:Ot,imageBase64:Qt})}catch(jt){addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureUpload,token:it,shouldOpen:!1}),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureError,token:it,shouldOpen:!0}),It(jt.response?jt.response.data:gt("notifications.serverError")),bt("error"),await sleep(3e3),addScreenEvent({module:eventModuleNames.selfie,screen:eventScreenNames.faceCaptureError,token:it,shouldOpen:!1}),At({response:(Pt=jt==null?void 0:jt.response)==null?void 0:Pt.data,livenessPassed:null,imageBase64:Qt}),yt()}},300),{t:gt}=useTranslation(),ht=(Qt,$t,Gt,Pt)=>{ue.updateSession({token:it,key:"manualSelfieCheckNeeded",value:!0});const jt=getLogObject("skip",{existingUser:Qt,liveness:$t,imageBase64:Gt,faceMatch:Pt});He(jt),me(jt)};async function vt({response:Qt,livenessPassed:$t,imageBase64:Gt}){ue.addEvent({code:"noAttempts",token:it}),He(getLogObject("noAttemps",{response:Qt,message:"No attempt left"}));const{faceMatch:Pt,existingUser:jt}=await Rt();return ht(jt,$t,Gt,Pt)}async function Rt(){if(ot)return{faceMatch:!1};const Qt=await ue.processFace({token:it});rt&&await ue.processFaceSecondId({token:it});const $t=Qt.confidence===1,Gt=Qt.existingUser;return{faceMatch:$t,existingUser:Gt,...Qt}}const{setMode:bt,resetLoading:At,notificationMessage:Nt,setNotificationMessage:mt,handleError:It,startAutoDetect:yt,handleManualCapture:Mt,isSuccess:St,isError:xt,isLoading:Ut,shouldShowManualCapture:Ft,selfieTimeoutRef:wt,hideCamera:Ct}=useSelfie({timeout:$e,onLog:He,handleCapture:ft,handleNoAttempsLeft:vt,numberOfTries:Ke,webcam:st,token:it,isDetecting:ct,isDesktop:!0,onSwitchManualCapture:()=>{mt(""),ue.addEvent({code:"switchToManualCaptureSelfie",token:it})},onManualCaptureSelfie:()=>{ue.addEvent({code:"manualCaptureSelfie",token:it})}}),Zt=Ut?gt("notifications.uploading"):Nt,Jt=Ut||xt||St;return jsxs(Container$3,{className:"IncodeCaptureDesktopSelfieContainer",children:[jsx(SrOnlyHeading,{children:gt("selfie.title")}),jsxs(SelfieContainer,{className:"IncodeCaptureDesktopSelfieSelfieContainer",children:[jsx(FaceMask$1,{className:"IncodeCaptureDesktopSelfieFaceMask",isCapturing:St,isLoading:Ut,error:xt,isUploading:Jt,desktop:!0,children:jsx(FaceFrame$1,{src:faceFrame$1,alt:"face frame",className:classNames("IncodeCaptureDesktopSelfieFaceFrame",{hidden:Ct})})}),jsx(Webcam,{className:"IncodeCaptureDesktopSelfieWebcam",ref:st,onPlay:yt,videoSource:"user",isSelfie:!0,type:"desktopSelfie",permission:Qe,setPermission:Ze,permissionMessage:Je,permissionBackgroundColor:Ge,onLog:He,stream:nt,onError:me,token:it,interviewId:Xe.interviewId,onStreamReady:at?lt:void 0,showCustomCameraPermissionScreen:et}),Zt&&jsx(Notification$1,{isLoading:Ut,isError:xt,className:"desktop IncodeCaptureDesktopSelfieNotification",children:Zt}),Ft&&jsx(CaptureButtonContainer,{className:"IncodeCaptureDesktopSelfieCaptureButtonContainer",initial:{scale:0},animate:{scale:1},children:jsx("button",{onClick:Mt,type:"button",children:jsx("img",{src:CaptureButton,alt:"capture button"})})})]}),jsx("canvas",{id:"canvasFrame",hidden:!0})]})};function CaptureAndTutorial$2({...ue}){const{currentStep:me,nextStep:Ue}=useSteps();return jsxs(Steps,{currentStep:me,children:[ue.showTutorial&&jsx(TutorialSelfie,{className:"IncodeCaptureDesktopSelfieTutorial",...ue,onSuccess:Ue}),jsx(Selfie$1,{...ue})]})}const CaptureDesktopSelfie=preloadScript$4(CaptureAndTutorial$2),moveIn=We`
4814
4814
  0% {
4815
4815
  bottom: -200px;
4816
4816
  }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "main": "./dist/onBoarding.umd.js",
4
4
  "module": "./dist/onBoarding.mjs",
5
5
  "types": "./dist/incode-welcome/src/index.d.ts",
6
- "version": "1.71.0-20240430174538.0",
6
+ "version": "1.71.0-20240430180918.0",
7
7
  "publishConfig": {},
8
8
  "exports": {
9
9
  ".": {