UNPKG

@thegrizzlylabs/web-geniusscan-sdk

Version:

Add a custom document scanner to your web apps by using and customizing our proven imaging technology. The Document Scanner SDK is the same software that we use at the core of Genius Scan: it's tried and trusted every day by millions of people on iOS and

1,051 lines 3.94 MB
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("@keyframes gssdk-keyframes-rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#gssdk-overlay-container{all:initial;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}#gssdk-overlay-container span,#gssdk-overlay-container a,#gssdk-overlay-container div,#gssdk-overlay-container button{all:unset}#gssdk-overlay-container .rotating{animation:gssdk-keyframes-rotating 2s linear infinite}:root{--gssdk-unit-100vh: 100vh}@supports (height: 100dvh){:root{--gsddk-unit-100vh: 100dvh}}")),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})(); var oA, N, xI, z, mA, PI, JA, bI, eA, LA, cA, lI, DA = {}, VI = [], Kg = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, yA = Array.isArray; function m(I, A) { for (var g in A) I[g] = A[g]; return I; } function nA(I) { I && I.parentNode && I.parentNode.removeChild(I); } function V(I, A, g) { var B, Q, C, E = {}; for (C in A) C == "key" ? B = A[C] : C == "ref" ? Q = A[C] : E[C] = A[C]; if (arguments.length > 2 && (E.children = arguments.length > 3 ? oA.call(arguments, 2) : g), typeof I == "function" && I.defaultProps != null) for (C in I.defaultProps) E[C] === void 0 && (E[C] = I.defaultProps[C]); return QA(I, E, B, Q, null); } function QA(I, A, g, B, Q) { var C = { type: I, props: A, key: g, ref: B, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: Q ?? ++xI, __i: -1, __u: 0 }; return Q == null && N.vnode != null && N.vnode(C), C; } function dg() { return { current: null }; } function P(I) { return I.children; } function T(I, A) { this.props = I, this.context = A; } function $(I, A) { if (A == null) return I.__ ? $(I.__, I.__i + 1) : null; for (var g; A < I.__k.length; A++) if ((g = I.__k[A]) != null && g.__e != null) return g.__e; return typeof I.type == "function" ? $(I) : null; } function WI(I) { var A, g; if ((I = I.__) != null && I.__c != null) { for (I.__e = I.__c.base = null, A = 0; A < I.__k.length; A++) if ((g = I.__k[A]) != null && g.__e != null) { I.__e = I.__c.base = g.__e; break; } return WI(I); } } function qA(I) { (!I.__d && (I.__d = !0) && z.push(I) && !aA.__r++ || mA !== N.debounceRendering) && ((mA = N.debounceRendering) || PI)(aA); } function aA() { var I, A, g, B, Q, C, E, o; for (z.sort(JA); I = z.shift(); ) I.__d && (A = z.length, B = void 0, C = (Q = (g = I).__v).__e, E = [], o = [], g.__P && ((B = m({}, Q)).__v = Q.__v + 1, N.vnode && N.vnode(B), xA(g.__P, B, Q, g.__n, g.__P.namespaceURI, 32 & Q.__u ? [C] : null, E, C ?? $(Q), !!(32 & Q.__u), o), B.__v = Q.__v, B.__.__k[B.__i] = B, XI(E, B, o), B.__e != C && WI(B)), z.length > A && z.sort(JA)); aA.__r = 0; } function TI(I, A, g, B, Q, C, E, o, w, G, R) { var i, h, a, s, L, k, U = B && B.__k || VI, S = A.length; for (w = tg(g, A, U, w), i = 0; i < S; i++) (a = g.__k[i]) != null && (h = a.__i === -1 ? DA : U[a.__i] || DA, a.__i = i, k = xA(I, a, h, Q, C, E, o, w, G, R), s = a.__e, a.ref && h.ref != a.ref && (h.ref && PA(h.ref, null, a), R.push(a.ref, a.__c || s, a)), L == null && s != null && (L = s), 4 & a.__u || h.__k === a.__k ? w = ZI(a, w, I) : typeof a.type == "function" && k !== void 0 ? w = k : s && (w = s.nextSibling), a.__u &= -7); return g.__e = L, w; } function tg(I, A, g, B) { var Q, C, E, o, w, G = A.length, R = g.length, i = R, h = 0; for (I.__k = [], Q = 0; Q < G; Q++) (C = A[Q]) != null && typeof C != "boolean" && typeof C != "function" ? (o = Q + h, (C = I.__k[Q] = typeof C == "string" || typeof C == "number" || typeof C == "bigint" || C.constructor == String ? QA(null, C, null, null, null) : yA(C) ? QA(P, { children: C }, null, null, null) : C.constructor === void 0 && C.__b > 0 ? QA(C.type, C.props, C.key, C.ref ? C.ref : null, C.__v) : C).__ = I, C.__b = I.__b + 1, E = null, (w = C.__i = fg(C, g, o, i)) !== -1 && (i--, (E = g[w]) && (E.__u |= 2)), E == null || E.__v === null ? (w == -1 && h--, typeof C.type != "function" && (C.__u |= 4)) : w !== o && (w == o - 1 ? h-- : w == o + 1 ? h++ : (w > o ? h-- : h++, C.__u |= 4))) : C = I.__k[Q] = null; if (i) for (Q = 0; Q < R; Q++) (E = g[Q]) != null && !(2 & E.__u) && (E.__e == B && (B = $(E)), mI(E, E)); return B; } function ZI(I, A, g) { var B, Q; if (typeof I.type == "function") { for (B = I.__k, Q = 0; B && Q < B.length; Q++) B[Q] && (B[Q].__ = I, A = ZI(B[Q], A, g)); return A; } I.__e != A && (A && I.type && !g.contains(A) && (A = $(I)), g.insertBefore(I.__e, A || null), A = I.__e); do A = A && A.nextSibling; while (A != null && A.nodeType === 8); return A; } function p(I, A) { return A = A || [], I == null || typeof I == "boolean" || (yA(I) ? I.some(function(g) { p(g, A); }) : A.push(I)), A; } function fg(I, A, g, B) { var Q = I.key, C = I.type, E = g - 1, o = g + 1, w = A[g]; if (w === null || w && Q == w.key && C === w.type && !(2 & w.__u)) return g; if ((typeof C != "function" || C === P || Q) && B > (w != null && !(2 & w.__u) ? 1 : 0)) for (; E >= 0 || o < A.length; ) { if (E >= 0) { if ((w = A[E]) && !(2 & w.__u) && Q == w.key && C === w.type) return E; E--; } if (o < A.length) { if ((w = A[o]) && !(2 & w.__u) && Q == w.key && C === w.type) return o; o++; } } return -1; } function pA(I, A, g) { A[0] === "-" ? I.setProperty(A, g ?? "") : I[A] = g == null ? "" : typeof g != "number" || Kg.test(A) ? g : g + "px"; } function GA(I, A, g, B, Q) { var C; A: if (A === "style") if (typeof g == "string") I.style.cssText = g; else { if (typeof B == "string" && (I.style.cssText = B = ""), B) for (A in B) g && A in g || pA(I.style, A, ""); if (g) for (A in g) B && g[A] === B[A] || pA(I.style, A, g[A]); } else if (A[0] === "o" && A[1] === "n") C = A !== (A = A.replace(bI, "$1")), A = A.toLowerCase() in I || A === "onFocusOut" || A === "onFocusIn" ? A.toLowerCase().slice(2) : A.slice(2), I.l || (I.l = {}), I.l[A + C] = g, g ? B ? g.u = B.u : (g.u = eA, I.addEventListener(A, C ? cA : LA, C)) : I.removeEventListener(A, C ? cA : LA, C); else { if (Q == "http://www.w3.org/2000/svg") A = A.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s"); else if (A != "width" && A != "height" && A != "href" && A != "list" && A != "form" && A != "tabIndex" && A != "download" && A != "rowSpan" && A != "colSpan" && A != "role" && A != "popover" && A in I) try { I[A] = g ?? ""; break A; } catch { } typeof g == "function" || (g == null || g === !1 && A[4] !== "-" ? I.removeAttribute(A) : I.setAttribute(A, A == "popover" && g == 1 ? "" : g)); } } function OA(I) { return function(A) { if (this.l) { var g = this.l[A.type + I]; if (A.t == null) A.t = eA++; else if (A.t < g.u) return; return g(N.event ? N.event(A) : A); } }; } function xA(I, A, g, B, Q, C, E, o, w, G) { var R, i, h, a, s, L, k, U, S, M, Y, t, f, e, y, H, c, r = A.type; if (A.constructor !== void 0) return null; 128 & g.__u && (w = !!(32 & g.__u), C = [o = A.__e = g.__e]), (R = N.__b) && R(A); A: if (typeof r == "function") try { if (U = A.props, S = "prototype" in r && r.prototype.render, M = (R = r.contextType) && B[R.__c], Y = R ? M ? M.props.value : R.__ : B, g.__c ? k = (i = A.__c = g.__c).__ = i.__E : (S ? A.__c = i = new r(U, Y) : (A.__c = i = new T(U, Y), i.constructor = r, i.render = eg), M && M.sub(i), i.props = U, i.state || (i.state = {}), i.context = Y, i.__n = B, h = i.__d = !0, i.__h = [], i._sb = []), S && i.__s == null && (i.__s = i.state), S && r.getDerivedStateFromProps != null && (i.__s == i.state && (i.__s = m({}, i.__s)), m(i.__s, r.getDerivedStateFromProps(U, i.__s))), a = i.props, s = i.state, i.__v = A, h) S && r.getDerivedStateFromProps == null && i.componentWillMount != null && i.componentWillMount(), S && i.componentDidMount != null && i.__h.push(i.componentDidMount); else { if (S && r.getDerivedStateFromProps == null && U !== a && i.componentWillReceiveProps != null && i.componentWillReceiveProps(U, Y), !i.__e && (i.shouldComponentUpdate != null && i.shouldComponentUpdate(U, i.__s, Y) === !1 || A.__v === g.__v)) { for (A.__v !== g.__v && (i.props = U, i.state = i.__s, i.__d = !1), A.__e = g.__e, A.__k = g.__k, A.__k.some(function(l) { l && (l.__ = A); }), t = 0; t < i._sb.length; t++) i.__h.push(i._sb[t]); i._sb = [], i.__h.length && E.push(i); break A; } i.componentWillUpdate != null && i.componentWillUpdate(U, i.__s, Y), S && i.componentDidUpdate != null && i.__h.push(function() { i.componentDidUpdate(a, s, L); }); } if (i.context = Y, i.props = U, i.__P = I, i.__e = !1, f = N.__r, e = 0, S) { for (i.state = i.__s, i.__d = !1, f && f(A), R = i.render(i.props, i.state, i.context), y = 0; y < i._sb.length; y++) i.__h.push(i._sb[y]); i._sb = []; } else do i.__d = !1, f && f(A), R = i.render(i.props, i.state, i.context), i.state = i.__s; while (i.__d && ++e < 25); i.state = i.__s, i.getChildContext != null && (B = m(m({}, B), i.getChildContext())), S && !h && i.getSnapshotBeforeUpdate != null && (L = i.getSnapshotBeforeUpdate(a, s)), o = TI(I, yA(H = R != null && R.type === P && R.key == null ? R.props.children : R) ? H : [H], A, g, B, Q, C, E, o, w, G), i.base = A.__e, A.__u &= -161, i.__h.length && E.push(i), k && (i.__E = i.__ = null); } catch (l) { if (A.__v = null, w || C != null) if (l.then) { for (A.__u |= w ? 160 : 128; o && o.nodeType === 8 && o.nextSibling; ) o = o.nextSibling; C[C.indexOf(o)] = null, A.__e = o; } else for (c = C.length; c--; ) nA(C[c]); else A.__e = g.__e, A.__k = g.__k; N.__e(l, A, g); } else C == null && A.__v === g.__v ? (A.__k = g.__k, A.__e = g.__e) : o = A.__e = rg(g.__e, A, g, B, Q, C, E, w, G); return (R = N.diffed) && R(A), 128 & A.__u ? void 0 : o; } function XI(I, A, g) { for (var B = 0; B < g.length; B++) PA(g[B], g[++B], g[++B]); N.__c && N.__c(A, I), I.some(function(Q) { try { I = Q.__h, Q.__h = [], I.some(function(C) { C.call(Q); }); } catch (C) { N.__e(C, Q.__v); } }); } function rg(I, A, g, B, Q, C, E, o, w) { var G, R, i, h, a, s, L, k = g.props, U = A.props, S = A.type; if (S === "svg" ? Q = "http://www.w3.org/2000/svg" : S === "math" ? Q = "http://www.w3.org/1998/Math/MathML" : Q || (Q = "http://www.w3.org/1999/xhtml"), C != null) { for (G = 0; G < C.length; G++) if ((a = C[G]) && "setAttribute" in a == !!S && (S ? a.localName === S : a.nodeType === 3)) { I = a, C[G] = null; break; } } if (I == null) { if (S === null) return document.createTextNode(U); I = document.createElementNS(Q, S, U.is && U), o && (N.__m && N.__m(A, C), o = !1), C = null; } if (S === null) k === U || o && I.data === U || (I.data = U); else { if (C = C && oA.call(I.childNodes), k = g.props || DA, !o && C != null) for (k = {}, G = 0; G < I.attributes.length; G++) k[(a = I.attributes[G]).name] = a.value; for (G in k) if (a = k[G], G != "children") { if (G == "dangerouslySetInnerHTML") i = a; else if (!(G in U)) { if (G == "value" && "defaultValue" in U || G == "checked" && "defaultChecked" in U) continue; GA(I, G, null, a, Q); } } for (G in U) a = U[G], G == "children" ? h = a : G == "dangerouslySetInnerHTML" ? R = a : G == "value" ? s = a : G == "checked" ? L = a : o && typeof a != "function" || k[G] === a || GA(I, G, a, k[G], Q); if (R) o || i && (R.__html === i.__html || R.__html === I.innerHTML) || (I.innerHTML = R.__html), A.__k = []; else if (i && (I.innerHTML = ""), TI(I, yA(h) ? h : [h], A, g, B, S === "foreignObject" ? "http://www.w3.org/1999/xhtml" : Q, C, E, C ? C[0] : g.__k && $(g, 0), o, w), C != null) for (G = C.length; G--; ) nA(C[G]); o || (G = "value", S === "progress" && s == null ? I.removeAttribute("value") : s !== void 0 && (s !== I[G] || S === "progress" && !s || S === "option" && s !== k[G]) && GA(I, G, s, k[G], Q), G = "checked", L !== void 0 && L !== I[G] && GA(I, G, L, k[G], Q)); } return I; } function PA(I, A, g) { try { if (typeof I == "function") { var B = typeof I.__u == "function"; B && I.__u(), B && A == null || (I.__u = I(A)); } else I.current = A; } catch (Q) { N.__e(Q, g); } } function mI(I, A, g) { var B, Q; if (N.unmount && N.unmount(I), (B = I.ref) && (B.current && B.current !== I.__e || PA(B, null, A)), (B = I.__c) != null) { if (B.componentWillUnmount) try { B.componentWillUnmount(); } catch (C) { N.__e(C, A); } B.base = B.__P = null; } if (B = I.__k) for (Q = 0; Q < B.length; Q++) B[Q] && mI(B[Q], A, g || typeof I.type != "function"); g || nA(I.__e), I.__c = I.__ = I.__e = void 0; } function eg(I, A, g) { return this.constructor(I, g); } function iA(I, A, g) { var B, Q, C, E; A === document && (A = document.documentElement), N.__ && N.__(I, A), Q = (B = typeof g == "function") ? null : g && g.__k || A.__k, C = [], E = [], xA(A, I = (!B && g || A).__k = V(P, null, [I]), Q || DA, DA, A.namespaceURI, !B && g ? [g] : Q ? null : A.firstChild ? oA.call(A.childNodes) : null, C, !B && g ? g : Q ? Q.__e : A.firstChild, B, E), XI(C, I, E); } function pI(I, A) { iA(I, A, pI); } function ng(I, A, g) { var B, Q, C, E, o = m({}, I.props); for (C in I.type && I.type.defaultProps && (E = I.type.defaultProps), A) C == "key" ? B = A[C] : C == "ref" ? Q = A[C] : o[C] = A[C] === void 0 && E !== void 0 ? E[C] : A[C]; return arguments.length > 2 && (o.children = arguments.length > 3 ? oA.call(arguments, 2) : g), QA(I.type, o, B || I.key, Q || I.ref, null); } function bA(I, A) { var g = { __c: A = "__cC" + lI++, __: I, Consumer: function(B, Q) { return B.children(Q); }, Provider: function(B) { var Q, C; return this.getChildContext || (Q = /* @__PURE__ */ new Set(), (C = {})[A] = this, this.getChildContext = function() { return C; }, this.componentWillUnmount = function() { Q = null; }, this.shouldComponentUpdate = function(E) { this.props.value !== E.value && Q.forEach(function(o) { o.__e = !0, qA(o); }); }, this.sub = function(E) { Q.add(E); var o = E.componentWillUnmount; E.componentWillUnmount = function() { Q && Q.delete(E), o && o.call(E); }; }), B.children; } }; return g.Provider.__ = g.Consumer.contextType = g; } oA = VI.slice, N = { __e: function(I, A, g, B) { for (var Q, C, E; A = A.__; ) if ((Q = A.__c) && !Q.__) try { if ((C = Q.constructor) && C.getDerivedStateFromError != null && (Q.setState(C.getDerivedStateFromError(I)), E = Q.__d), Q.componentDidCatch != null && (Q.componentDidCatch(I, B || {}), E = Q.__d), E) return Q.__E = Q; } catch (o) { I = o; } throw I; } }, xI = 0, T.prototype.setState = function(I, A) { var g; g = this.__s != null && this.__s !== this.state ? this.__s : this.__s = m({}, this.state), typeof I == "function" && (I = I(m({}, g), this.props)), I && m(g, I), I != null && this.__v && (A && this._sb.push(A), qA(this)); }, T.prototype.forceUpdate = function(I) { this.__v && (this.__e = !0, I && this.__h.push(I), qA(this)); }, T.prototype.render = P, z = [], PI = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, JA = function(I, A) { return I.__v.__b - A.__v.__b; }, aA.__r = 0, bI = /(PointerCapture)$|Capture$/i, eA = 0, LA = OA(!1), cA = OA(!0), lI = 0; var j, q, MA, vA, AA = 0, OI = [], K = N, jA = K.__b, uA = K.__r, zA = K.diffed, _A = K.__c, $A = K.unmount, AI = K.__; function IA(I, A) { K.__h && K.__h(q, I, AA || A), AA = 0; var g = q.__H || (q.__H = { __: [], __h: [] }); return I >= g.__.length && g.__.push({}), g.__[I]; } function d(I) { return AA = 1, lA(zI, I); } function lA(I, A, g) { var B = IA(j++, 2); if (B.t = I, !B.__c && (B.__ = [g ? g(A) : zI(void 0, A), function(o) { var w = B.__N ? B.__N[0] : B.__[0], G = B.t(w, o); w !== G && (B.__N = [G, B.__[1]], B.__c.setState({})); }], B.__c = q, !q.u)) { var Q = function(o, w, G) { if (!B.__c.__H) return !0; var R = B.__c.__H.__.filter(function(h) { return !!h.__c; }); if (R.every(function(h) { return !h.__N; })) return !C || C.call(this, o, w, G); var i = B.__c.props !== o; return R.forEach(function(h) { if (h.__N) { var a = h.__[0]; h.__ = h.__N, h.__N = void 0, a !== h.__[0] && (i = !0); } }), C && C.call(this, o, w, G) || i; }; q.u = !0; var C = q.shouldComponentUpdate, E = q.componentWillUpdate; q.componentWillUpdate = function(o, w, G) { if (this.__e) { var R = C; C = void 0, Q(o, w, G), C = R; } E && E.call(this, o, w, G); }, q.shouldComponentUpdate = Q; } return B.__N || B.__; } function n(I, A) { var g = IA(j++, 3); !K.__s && VA(g.__H, A) && (g.__ = I, g.i = A, q.__H.__h.push(g)); } function wA(I, A) { var g = IA(j++, 4); !K.__s && VA(g.__H, A) && (g.__ = I, g.i = A, q.__h.push(g)); } function O(I) { return AA = 5, b(function() { return { current: I }; }, []); } function vI(I, A, g) { AA = 6, wA(function() { return typeof I == "function" ? (I(A()), function() { return I(null); }) : I ? (I.current = A(), function() { return I.current = null; }) : void 0; }, g == null ? g : g.concat(I)); } function b(I, A) { var g = IA(j++, 7); return VA(g.__H, A) && (g.__ = I(), g.__H = A, g.__h = I), g.__; } function CA(I, A) { return AA = 8, b(function() { return I; }, A); } function sA(I) { var A = q.context[I.__c], g = IA(j++, 9); return g.c = I, A ? (g.__ == null && (g.__ = !0, A.sub(q)), A.props.value) : I.__; } function jI(I, A) { K.useDebugValue && K.useDebugValue(A ? A(I) : I); } function uI() { var I = IA(j++, 11); if (!I.__) { for (var A = q.__v; A !== null && !A.__m && A.__ !== null; ) A = A.__; var g = A.__m || (A.__m = [0, 0]); I.__ = "P" + g[0] + "-" + g[1]++; } return I.__; } function xg() { for (var I; I = OI.shift(); ) if (I.__P && I.__H) try { I.__H.__h.forEach(RA), I.__H.__h.forEach(YA), I.__H.__h = []; } catch (A) { I.__H.__h = [], K.__e(A, I.__v); } } K.__b = function(I) { q = null, jA && jA(I); }, K.__ = function(I, A) { I && A.__k && A.__k.__m && (I.__m = A.__k.__m), AI && AI(I, A); }, K.__r = function(I) { uA && uA(I), j = 0; var A = (q = I.__c).__H; A && (MA === q ? (A.__h = [], q.__h = [], A.__.forEach(function(g) { g.__N && (g.__ = g.__N), g.i = g.__N = void 0; })) : (A.__h.forEach(RA), A.__h.forEach(YA), A.__h = [], j = 0)), MA = q; }, K.diffed = function(I) { zA && zA(I); var A = I.__c; A && A.__H && (A.__H.__h.length && (OI.push(A) !== 1 && vA === K.requestAnimationFrame || ((vA = K.requestAnimationFrame) || Pg)(xg)), A.__H.__.forEach(function(g) { g.i && (g.__H = g.i), g.i = void 0; })), MA = q = null; }, K.__c = function(I, A) { A.some(function(g) { try { g.__h.forEach(RA), g.__h = g.__h.filter(function(B) { return !B.__ || YA(B); }); } catch (B) { A.some(function(Q) { Q.__h && (Q.__h = []); }), A = [], K.__e(B, g.__v); } }), _A && _A(I, A); }, K.unmount = function(I) { $A && $A(I); var A, g = I.__c; g && g.__H && (g.__H.__.forEach(function(B) { try { RA(B); } catch (Q) { A = Q; } }), g.__H = void 0, A && K.__e(A, g.__v)); }; var II = typeof requestAnimationFrame == "function"; function Pg(I) { var A, g = function() { clearTimeout(B), II && cancelAnimationFrame(A), setTimeout(I); }, B = setTimeout(g, 100); II && (A = requestAnimationFrame(g)); } function RA(I) { var A = q, g = I.__c; typeof g == "function" && (I.__c = void 0, g()), q = A; } function YA(I) { var A = q; I.__c = I.__(), q = A; } function VA(I, A) { return !I || I.length !== A.length || A.some(function(g, B) { return g !== I[B]; }); } function zI(I, A) { return typeof A == "function" ? A(I) : A; } function KA(I, A) { for (var g in I) if (g !== "__source" && !(g in A)) return !0; for (var B in A) if (B !== "__source" && I[B] !== A[B]) return !0; return !1; } function _I(I, A) { var g = A(), B = d({ t: { __: g, u: A } }), Q = B[0].t, C = B[1]; return wA(function() { Q.__ = g, Q.u = A, HA(Q) && C({ t: Q }); }, [I, g, A]), n(function() { return HA(Q) && C({ t: Q }), I(function() { HA(Q) && C({ t: Q }); }); }, [I]), g; } function HA(I) { var A, g, B = I.u, Q = I.__; try { var C = B(); return !((A = Q) === (g = C) && (A !== 0 || 1 / A == 1 / g) || A != A && g != g); } catch { return !0; } } function $I(I) { I(); } function Ag(I) { return I; } function Ig() { return [!1, $I]; } var gg = wA; function dA(I, A) { this.props = I, this.context = A; } function bg(I, A) { function g(Q) { var C = this.props.ref, E = C == Q.ref; return !E && C && (C.call ? C(null) : C.current = null), A ? !A(this.props, Q) || !E : KA(this.props, Q); } function B(Q) { return this.shouldComponentUpdate = g, V(I, Q); } return B.displayName = "Memo(" + (I.displayName || I.name) + ")", B.prototype.isReactComponent = !0, B.__f = !0, B; } (dA.prototype = new T()).isPureReactComponent = !0, dA.prototype.shouldComponentUpdate = function(I, A) { return KA(this.props, I) || KA(this.state, A); }; var gI = N.__b; N.__b = function(I) { I.type && I.type.__f && I.ref && (I.props.ref = I.ref, I.ref = null), gI && gI(I); }; var lg = typeof Symbol < "u" && Symbol.for && Symbol.for("react.forward_ref") || 3911; function W(I) { function A(g) { if (!("ref" in g)) return I(g, null); var B = g.ref; delete g.ref; var Q = I(g, B); return g.ref = B, Q; } return A.$$typeof = lg, A.render = A, A.prototype.isReactComponent = A.__f = !0, A.displayName = "ForwardRef(" + (I.displayName || I.name) + ")", A; } var BI = function(I, A) { return I == null ? null : p(p(I).map(A)); }, Vg = { map: BI, forEach: BI, count: function(I) { return I ? p(I).length : 0; }, only: function(I) { var A = p(I); if (A.length !== 1) throw "Children.only"; return A[0]; }, toArray: p }, Wg = N.__e; N.__e = function(I, A, g, B) { if (I.then) { for (var Q, C = A; C = C.__; ) if ((Q = C.__c) && Q.__c) return A.__e == null && (A.__e = g.__e, A.__k = g.__k), Q.__c(I, A); } Wg(I, A, g, B); }; var QI = N.unmount; function Bg(I, A, g) { return I && (I.__c && I.__c.__H && (I.__c.__H.__.forEach(function(B) { typeof B.__c == "function" && B.__c(); }), I.__c.__H = null), (I = function(B, Q) { for (var C in Q) B[C] = Q[C]; return B; }({}, I)).__c != null && (I.__c.__P === g && (I.__c.__P = A), I.__c = null), I.__k = I.__k && I.__k.map(function(B) { return Bg(B, A, g); })), I; } function Qg(I, A, g) { return I && g && (I.__v = null, I.__k = I.__k && I.__k.map(function(B) { return Qg(B, A, g); }), I.__c && I.__c.__P === A && (I.__e && g.appendChild(I.__e), I.__c.__e = !0, I.__c.__P = g)), I; } function FA() { this.__u = 0, this.o = null, this.__b = null; } function Cg(I) { var A = I.__.__c; return A && A.__a && A.__a(I); } function Tg(I) { var A, g, B; function Q(C) { if (A || (A = I()).then(function(E) { g = E.default || E; }, function(E) { B = E; }), B) throw B; if (!g) throw A; return V(g, C); } return Q.displayName = "Lazy", Q.__f = !0, Q; } function BA() { this.i = null, this.l = null; } N.unmount = function(I) { var A = I.__c; A && A.__R && A.__R(), A && 32 & I.__u && (I.type = null), QI && QI(I); }, (FA.prototype = new T()).__c = function(I, A) { var g = A.__c, B = this; B.o == null && (B.o = []), B.o.push(g); var Q = Cg(B.__v), C = !1, E = function() { C || (C = !0, g.__R = null, Q ? Q(o) : o()); }; g.__R = E; var o = function() { if (!--B.__u) { if (B.state.__a) { var w = B.state.__a; B.__v.__k[0] = Qg(w, w.__c.__P, w.__c.__O); } var G; for (B.setState({ __a: B.__b = null }); G = B.o.pop(); ) G.forceUpdate(); } }; B.__u++ || 32 & A.__u || B.setState({ __a: B.__b = B.__v.__k[0] }), I.then(E, E); }, FA.prototype.componentWillUnmount = function() { this.o = []; }, FA.prototype.render = function(I, A) { if (this.__b) { if (this.__v.__k) { var g = document.createElement("div"), B = this.__v.__k[0].__c; this.__v.__k[0] = Bg(this.__b, g, B.__O = B.__P); } this.__b = null; } var Q = A.__a && V(P, null, I.fallback); return Q && (Q.__u &= -33), [V(P, null, A.__a ? null : I.children), Q]; }; var CI = function(I, A, g) { if (++g[1] === g[0] && I.l.delete(A), I.props.revealOrder && (I.props.revealOrder[0] !== "t" || !I.l.size)) for (g = I.i; g; ) { for (; g.length > 3; ) g.pop()(); if (g[1] < g[0]) break; I.i = g = g[2]; } }; function Zg(I) { return this.getChildContext = function() { return I.context; }, I.children; } function Xg(I) { var A = this, g = I.h; A.componentWillUnmount = function() { iA(null, A.v), A.v = null, A.h = null; }, A.h && A.h !== g && A.componentWillUnmount(), A.v || (A.h = g, A.v = { nodeType: 1, parentNode: g, childNodes: [], contains: function() { return !0; }, appendChild: function(B) { this.childNodes.push(B), A.h.appendChild(B); }, insertBefore: function(B, Q) { this.childNodes.push(B), A.h.insertBefore(B, Q); }, removeChild: function(B) { this.childNodes.splice(this.childNodes.indexOf(B) >>> 1, 1), A.h.removeChild(B); } }), iA(V(Zg, { context: A.context }, I.__v), A.v); } function mg(I, A) { var g = V(Xg, { __v: I, h: A }); return g.containerInfo = A, g; } (BA.prototype = new T()).__a = function(I) { var A = this, g = Cg(A.__v), B = A.l.get(I); return B[0]++, function(Q) { var C = function() { A.props.revealOrder ? (B.push(Q), CI(A, I, B)) : Q(); }; g ? g(C) : C(); }; }, BA.prototype.render = function(I) { this.i = null, this.l = /* @__PURE__ */ new Map(); var A = p(I.children); I.revealOrder && I.revealOrder[0] === "b" && A.reverse(); for (var g = A.length; g--; ) this.l.set(A[g], this.i = [1, 0, this.i]); return I.children; }, BA.prototype.componentDidUpdate = BA.prototype.componentDidMount = function() { var I = this; this.l.forEach(function(A, g) { CI(I, g, A); }); }; var Eg = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, pg = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, Og = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, vg = /[A-Z0-9]/g, jg = typeof document < "u", ug = function(I) { return (typeof Symbol < "u" && typeof Symbol() == "symbol" ? /fil|che|rad/ : /fil|che|ra/).test(I); }; function Dg(I, A, g) { return A.__k == null && (A.textContent = ""), iA(I, A), typeof g == "function" && g(), I ? I.__c : null; } function zg(I, A, g) { return pI(I, A), typeof g == "function" && g(), I ? I.__c : null; } T.prototype.isReactComponent = {}, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function(I) { Object.defineProperty(T.prototype, I, { configurable: !0, get: function() { return this["UNSAFE_" + I]; }, set: function(A) { Object.defineProperty(this, I, { configurable: !0, writable: !0, value: A }); } }); }); var EI = N.event; function _g() { } function $g() { return this.cancelBubble; } function AB() { return this.defaultPrevented; } N.event = function(I) { return EI && (I = EI(I)), I.persist = _g, I.isPropagationStopped = $g, I.isDefaultPrevented = AB, I.nativeEvent = I; }; var WA, IB = { enumerable: !1, configurable: !0, get: function() { return this.class; } }, DI = N.vnode; N.vnode = function(I) { typeof I.type == "string" && function(A) { var g = A.props, B = A.type, Q = {}, C = B.indexOf("-") === -1; for (var E in g) { var o = g[E]; if (!(E === "value" && "defaultValue" in g && o == null || jg && E === "children" && B === "noscript" || E === "class" || E === "className")) { var w = E.toLowerCase(); E === "defaultValue" && "value" in g && g.value == null ? E = "value" : E === "download" && o === !0 ? o = "" : w === "translate" && o === "no" ? o = !1 : w[0] === "o" && w[1] === "n" ? w === "ondoubleclick" ? E = "ondblclick" : w !== "onchange" || B !== "input" && B !== "textarea" || ug(g.type) ? w === "onfocus" ? E = "onfocusin" : w === "onblur" ? E = "onfocusout" : Og.test(E) && (E = w) : w = E = "oninput" : C && pg.test(E) ? E = E.replace(vg, "-$&").toLowerCase() : o === null && (o = void 0), w === "oninput" && Q[E = w] && (E = "oninputCapture"), Q[E] = o; } } B == "select" && Q.multiple && Array.isArray(Q.value) && (Q.value = p(g.children).forEach(function(G) { G.props.selected = Q.value.indexOf(G.props.value) != -1; })), B == "select" && Q.defaultValue != null && (Q.value = p(g.children).forEach(function(G) { G.props.selected = Q.multiple ? Q.defaultValue.indexOf(G.props.value) != -1 : Q.defaultValue == G.props.value; })), g.class && !g.className ? (Q.class = g.class, Object.defineProperty(Q, "className", IB)) : (g.className && !g.class || g.class && g.className) && (Q.class = Q.className = g.className), A.props = Q; }(I), I.$$typeof = Eg, DI && DI(I); }; var iI = N.__r; N.__r = function(I) { iI && iI(I), WA = I.__c; }; var oI = N.diffed; N.diffed = function(I) { oI && oI(I); var A = I.props, g = I.__e; g != null && I.type === "textarea" && "value" in A && A.value !== g.value && (g.value = A.value == null ? "" : A.value), WA = null; }; var gB = { ReactCurrentDispatcher: { current: { readContext: function(I) { return WA.__n[I.__c].props.value; }, useCallback: CA, useContext: sA, useDebugValue: jI, useDeferredValue: Ag, useEffect: n, useId: uI, useImperativeHandle: vI, useInsertionEffect: gg, useLayoutEffect: wA, useMemo: b, useReducer: lA, useRef: O, useState: d, useSyncExternalStore: _I, useTransition: Ig } } }; function BB(I) { return V.bind(null, I); } function SA(I) { return !!I && I.$$typeof === Eg; } function QB(I) { return SA(I) && I.type === P; } function CB(I) { return !!I && !!I.displayName && (typeof I.displayName == "string" || I.displayName instanceof String) && I.displayName.startsWith("Memo("); } function EB(I) { return SA(I) ? ng.apply(null, arguments) : I; } function ig(I) { return !!I.__k && (iA(null, I), !0); } function DB(I) { return I && (I.base || I.nodeType === 1 && I) || null; } var iB = function(I, A) { return I(A); }, oB = function(I, A) { return I(A); }, wB = P, GB = SA, D = { useState: d, useId: uI, useReducer: lA, useEffect: n, useLayoutEffect: wA, useInsertionEffect: gg, useTransition: Ig, useDeferredValue: Ag, useSyncExternalStore: _I, startTransition: $I, useRef: O, useImperativeHandle: vI, useMemo: b, useCallback: CA, useContext: sA, useDebugValue: jI, version: "18.3.1", Children: Vg, render: Dg, hydrate: zg, unmountComponentAtNode: ig, createPortal: mg, createElement: V, createContext: bA, createFactory: BB, cloneElement: EB, createRef: dg, Fragment: P, isValidElement: SA, isElement: GB, isFragment: QB, isMemo: CB, findDOMNode: DB, Component: T, PureComponent: dA, memo: bg, forwardRef: W, flushSync: oB, unstable_batchedUpdates: iB, StrictMode: wB, Suspense: FA, SuspenseList: BA, lazy: Tg, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: gB }; function RB(I) { return { // eslint-disable-next-line render: function(A) { Dg(A, I); }, // eslint-disable-next-line unmount: function() { ig(I); } }; } var FB = 0; function F(I, A, g, B, Q, C) { A || (A = {}); var E, o, w = A; "ref" in A && (E = A.ref, delete A.ref); var G = { type: I, props: w, key: g, ref: E, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --FB, __i: -1, __u: 0, __source: Q, __self: C }; if (typeof I == "function" && (E = I.defaultProps)) for (o in E) w[o] === void 0 && (w[o] = E[o]); return N.vnode && N.vnode(G), G; } const aB = "geniusscansdk-v0-", og = (I) => aB + I, hB = (I, A) => { localStorage.setItem(og(I), JSON.stringify(A)); }, yB = (I, A) => { const g = localStorage.getItem(og(I)); return g ? JSON.parse(g) : A; }; function sB(I, A) { const [g, B] = d(yB(I, A)); return n(() => { hB(I, g); }, [g]), [g, B]; } function wI() { return screen.orientation.type.includes("portrait") ? "portrait" : "landscape"; } function SB() { const [I, A] = d(wI()); return n(() => { const g = () => { A(wI()); }; return screen.orientation.addEventListener("change", g), () => { screen.orientation.removeEventListener("change", g); }; }, []), I; } function NB(I) { const A = SB(); return b(() => { let g = "height"; return A === "landscape" && (g = "width"), { // On mobile, the "mobile height" is actually the camera width as the camera is rotated by 90 degrees. // Same with aspect ratio, which is actually "mobile height" / "mobile width". [g]: { ideal: I } }; }, [A, I]); } function UB({ deviceId: I, height: A }) { const [g, B] = d(null), [Q, C] = d(null), E = NB(A); return n(() => { C(); const o = { video: { ...E }, audio: !1 }; I ? o.video.deviceId = { exact: I } : o.video.facingMode = "environment"; let w; const G = setTimeout(() => { B(null), w = navigator.mediaDevices.getUserMedia(o).then((R) => (C(R), R)).catch((R) => { C(null), B(R); }); }, 100); return () => { clearTimeout(G), w && w.then((R) => { var i; (i = R == null ? void 0 : R.getTracks()) == null || i.forEach((h) => { h.stop(); }); }); }; }, [I, E]), { stream: Q, error: g }; } function MB() { const [I, A] = d(null), [g, B] = d(null); function Q() { A(null), navigator.mediaDevices.enumerateDevices().then(function(C) { B( C.filter((E) => E.deviceId && E.kind === "videoinput").map((E) => ({ value: E.deviceId, label: E.label || `Camera ${E.deviceId}` })) ); }).catch(function(C) { A(C); }); } return n(() => { Q(); }, []), { cameraDevices: g, refresh: Q, error: I }; } class HB extends Error { constructor(A) { super(A), this.name = "InvalidLicenseKeyError"; } } class kB extends Error { constructor(A) { super(A), this.name = "MissingLicenseKeyError"; } } async function _(I, A, g, B = []) { return new Promise((Q, C) => { const E = (o) => { const [w, G] = o.data; if (w === A) { if (G.error) { let R = G.error; G.errorName === "MissingLicenseKeyError" && (R = new kB(G.error.message)), C(R); } else Q(G); I.removeEventListener("message", E); } }; I.addEventListener("message", E), I.postMessage([A, g], { transfer: B }); }); } const JB = "INIT"; async function LB(I, A, g) { return _(I, JB, { licenseKey: A, hostname: g }); } const cB = { aliceblue: "#f0f8ff", antiquewhite: "#faebd7", aqua: "#00ffff", aquamarine: "#7fffd4", azure: "#f0ffff", beige: "#f5f5dc", bisque: "#ffe4c4", black: "#000000", blanchedalmond: "#ffebcd", blue: "#0000ff", blueviolet: "#8a2be2", brown: "#a52a2a", burlywood: "#deb887", cadetblue: "#5f9ea0", chartreuse: "#7fff00", chocolate: "#d2691e", coral: "#ff7f50", cornflowerblue: "#6495ed", cornsilk: "#fff8dc", crimson: "#dc143c", cyan: "#00ffff", darkblue: "#00008b", darkcyan: "#008b8b", darkgoldenrod: "#b8860b", darkgray: "#a9a9a9", darkgreen: "#006400", darkkhaki: "#bdb76b", darkmagenta: "#8b008b", darkolivegreen: "#556b2f", darkorange: "#ff8c00", darkorchid: "#9932cc", darkred: "#8b0000", darksalmon: "#e9967a", darkseagreen: "#8fbc8f", darkslateblue: "#483d8b", darkslategray: "#2f4f4f", darkturquoise: "#00ced1", darkviolet: "#9400d3", deeppink: "#ff1493", deepskyblue: "#00bfff", dimgray: "#696969", dodgerblue: "#1e90ff", firebrick: "#b22222", floralwhite: "#fffaf0", forestgreen: "#228b22", fuchsia: "#ff00ff", gainsboro: "#dcdcdc", ghostwhite: "#f8f8ff", gold: "#ffd700", goldenrod: "#daa520", gray: "#808080", green: "#008000", greenyellow: "#adff2f", honeydew: "#f0fff0", hotpink: "#ff69b4", indianred: "#cd5c5c", indigo: "#4b0082", ivory: "#fffff0", khaki: "#f0e68c", lavender: "#e6e6fa", lavenderblush: "#fff0f5", lawngreen: "#7cfc00", lemonchiffon: "#fffacd", lightblue: "#add8e6", lightcoral: "#f08080", lightcyan: "#e0ffff", lightgoldenrodyellow: "#fafad2", lightgrey: "#d3d3d3", lightgreen: "#90ee90", lightpink: "#ffb6c1", lightsalmon: "#ffa07a", lightseagreen: "#20b2aa", lightskyblue: "#87cefa", lightslategray: "#778899", lightsteelblue: "#b0c4de", lightyellow: "#ffffe0", lime: "#00ff00", limegreen: "#32cd32", linen: "#faf0e6", magenta: "#ff00ff", maroon: "#800000", mediumaquamarine: "#66cdaa", mediumblue: "#0000cd", mediumorchid: "#ba55d3", mediumpurple: "#9370d8", mediumseagreen: "#3cb371", mediumslateblue: "#7b68ee", mediumspringgreen: "#00fa9a", mediumturquoise: "#48d1cc", mediumvioletred: "#c71585", midnightblue: "#191970", mintcream: "#f5fffa", mistyrose: "#ffe4e1", moccasin: "#ffe4b5", navajowhite: "#ffdead", navy: "#000080", oldlace: "#fdf5e6", olive: "#808000", olivedrab: "#6b8e23", orange: "#ffa500", orangered: "#ff4500", orchid: "#da70d6", palegoldenrod: "#eee8aa", palegreen: "#98fb98", paleturquoise: "#afeeee", palevioletred: "#d87093", papayawhip: "#ffefd5", peachpuff: "#ffdab9", peru: "#cd853f", pink: "#ffc0cb", plum: "#dda0dd", powderblue: "#b0e0e6", purple: "#800080", rebeccapurple: "#663399", red: "#ff0000", rosybrown: "#bc8f8f", royalblue: "#4169e1", saddlebrown: "#8b4513", salmon: "#fa8072", sandybrown: "#f4a460", seagreen: "#2e8b57", seashell: "#fff5ee", sienna: "#a0522d", silver: "#c0c0c0", skyblue: "#87ceeb", slateblue: "#6a5acd", slategray: "#708090", snow: "#fffafa", springgreen: "#00ff7f", steelblue: "#4682b4", tan: "#d2b48c", teal: "#008080", thistle: "#d8bfd8", tomato: "#ff6347", turquoise: "#40e0d0", violet: "#ee82ee", wheat: "#f5deb3", white: "#ffffff", whitesmoke: "#f5f5f5", yellow: "#ffff00", yellowgreen: "#9acd32" }; function EA(I, A) { I = cB[I] || I; var g = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(I); return g ? `rgba(${parseInt(g[1], 16)}, ${parseInt(g[2], 16)}, ${parseInt(g[3], 16)}, ${A})` : I; } const kA = { NOT_FOUND_STATUS: 0, SEARCHING_STATUS: 1, ABOUT_TO_TRIGGER_STATUS: 2, TRIGGER_STATUS: 3 }, qB = "DETECT_QUADRANGLE", YB = "RESET_QUADRANGLE", KB = "DELETE_QUADRANGLE"; class dB { constructor(A) { this.worker = A; } async detectQuadrangle(A) { return _(this.worker, qB, { imageBitmap: A }, [A]); } async reset() { return _(this.worker, YB, {}); } async delete() { return _(this.worker, KB, {}); } } const tB = "PROCESS_SCAN", fB = "DELETE_SCAN_PROCESSOR", rB = [ "none", "automatic", "strong_monochrome", "strong_grayscale", "soft_grayscale", "dark_background", "strong_color", "soft_color", "photo" ]; class TA { constructor(A) { this.worker = A; } async process({ imageBitmap: A, filter: g = "automatic", quadrangle: B } = {}) { return _(this.worker, tB, { imageBitmap: A, filter: g, quadrangle: B }, [A]); } async delete() { return _(this.worker, fB, {}); } } const wg = { ar: { gssdk_action_back: "رجوع", gssdk_action_cancel: "إلغاء", gssdk_action_capture: "التقاط صورة", gssdk_action_change_filter: "تغيير الفلتر", gssdk_action_crop: "قص", gssdk_action_discard: "تجاهل", gssdk_action_done: "تم", gssdk_action_next: "التالى", gssdk_action_retry: "إعادة المحاولة", gssdk_action_rotate_left: "استدارة إلى اليسار", gssdk_camera_permission_denied_message: "تحتاج إلى منح %s الوصول إلى الكاميرا في الإعدادات.", gssdk_camera_permission_denied_title: "%s يتعذر الوصول إلى الكاميرا", gssdk_crop_autodetect: "كشف", gssdk_crop_maximize: "تكبير", gssdk_filter_instructions: "اختر فلتر لتطبيقه", gssdk_filter_automatic: "تلقائي", gssdk_filter_automatic_black_and_white: "أسود وأبيض (تلقائي)", gssdk_filter_automatic_color: "اللون (تلقائيًا)", gssdk_filter_automatic_monochrome: "أحادي اللون (تلقائيًا)", gssdk_filter_black_and_white: "أسود وأبيض", gssdk_filter_color: "اللون", gssdk_filter_dark_background: "الخلفية الداكنة", gssdk_filter_monochrome: "أحادي اللون", gssdk_filter_none: "لا شيء", gssdk_filter_photo: "صورة", gssdk_filter_soft_black_and_white: "أسود وأبيض (ناعم)", gssdk_filter_soft_color: "اللون (ناعم)", gssdk_filter_strong_black_and_white: "أسود وأبيض (قوي)", gssdk_filter_strong_color: "اللون (قوي)", gssdk_filter_strong_monochrome: "أحادي اللون (قوي)", gssdk_flow_page: "صفحة", gssdk_flow_add_page: "إضافة صفحة", gssdk_flow_add_pages: "هل ترغب في إضافة صفحة أخرى إلى وثيقتك؟", gssdk_flow_cancel: "إلغاء", gssdk_flow_done: "تم (%d)", gssdk_progress_generating_document: "إنشاء مستند", gssdk_progress_recognizing_text: "التعرف على النص", gssdk_settings: "الإعدادات", gssdk_user_guidance_document_found: "تم العثور على وثيقة. ابق ثابتًا.", gssdk_user_guidance_searching: "البحث عن وثيقة …", gssdk_photo_library_button: "افتح مكتبة الصور", gssdk_distortion_correction: "تصحيح الانحناء", gssdk_off: "إيقاف", gssdk_on: "تشغيل", gssdk_user_guidance_readability: "تبدو هذه الصفحة ضبابية. حاول مرة أخرى للحصول على نتائج أفضل." }, da: { gssdk_action_back: "Tilbage", gssdk_action_cancel: "Annuller", gssdk_action_capture: "Tag foto", gssdk_action_change_filter: "Ændr filter", gssdk_action_crop: "Beskær", gssdk_action_discard: "Kassér", gssdk_action_done: "Færdig", gssdk_action_next: "Næste", gssdk_action_retry: "Prøv igen", gssdk_action_rotate_left: "Roter til venstre", gssdk_camera_permission_denied_message: "Du skal give %s adgang til kameraet i indstillingerne.", gssdk_camera_permission_denied_title: "%s kan ikke få adgang til dit kamera", gssdk_crop_autodetect: "Opfang", gssdk_crop_maximize: "Maksimér", gssdk_filter_instructions: "Vælg et filter, der skal anvendes", gssdk_filter_automatic: "Automatisk", gssdk_filter_automatic_black_and_white: "Sort/hvid (auto)", gssdk_filter_automatic_color: "Farve (auto)", gssdk_filter_automatic_monochrome: "Monokrom (auto)", gssdk_filter_black_and_white: "Sort/hvid", gssdk_filter_color: "Farve", gssdk_filter_dark_background: "Mørk baggrund", gssdk_filter_monochrome: "Monokrom", gssdk_filter_none: "Ingen", gssdk_filter_photo: "Foto", gssdk_filter_soft_black_and_white: "Sort/hvid (soft)", gssdk_filter_soft_color: "Farve (soft)", gssdk_filter_strong_black_and_white: "Sort/hvid (kraftigt)", gssdk_filter_strong_color: "Farve (kraftigt)", gssdk_filter_strong_monochrome: "Monokrom (kraftigt)", gssdk_flow_page: "Side", gssdk_flow_add_page: "Tilføj side", gssdk_flow_add_pages: "Vil du gerne føje en anden side til dit dokument?", gssdk_flow_cancel: "Annuller", gssdk_flow_done: "Færdig (%d)", gssdk_progress_generating_document: "Generering af dokument", gssdk_progress_recognizing_text: "Genkendelse af tekst", gssdk_settings: "Indstillinger", gssdk_user_guidance_document_found: "Dokument fundet. Hold stille.", gssdk_user_guidance_searching: "Søger efter dokument…", gssdk_photo_library_button: "Åben fotobiblioteket", gssdk_distortion_correction: "Korrektion af krumning", gssdk_off: "Fra", gssdk_on: "Til", gssdk_user_guidance_readability: "Denne side er utydelig. Prøv igen for at få et bedre resultat." }, de: { gssdk_action_back: "Zurück", gssdk_action_cancel: "Abbrechen", gssdk_action_capture: "Foto aufnehmen", gssdk_action_change_filter: "Filter wechseln", gssdk_action_crop: "Beschneiden", gssdk_action_discard: "Verwerfen", gssdk_action_done: "Fertig", gssdk_action_next: "Weiter", gssdk_action_retry: "Erneut", gssdk_action_rotate_left: "Nach links drehen", gssdk_camera_permission_denied_message: "Sie müssen %s in den Einstellungen Zugriff auf die Kamera gewähren.", gssdk_camera_permission_denied_title: "%s kann nicht auf Ihre Kamera zugreifen", gssdk_crop_autodetect: "Erkennen", gssdk_crop_maximize: "Maximieren", gssdk_filter_instructions: "Wählen Sie einen Filter aus, der angewendet werden soll", gssdk_filter_automatic: "Automatisch", gssdk_filter_automatic_black_and_white: "Schwarz/Weiß (auto)", gssdk_filter_automatic_color: "Farben (auto)", gssdk_filter_automatic_monochrome: "Monochrom (auto)", gssdk_filter_black_and_white: "Schwarz/Weiß", gssdk_filter_color: "Farben", gssdk_filter_dark_background: "Dunkler Hintergrund", gssdk_filter_monochrome: "Monochrom", gssdk_filter_none: "Keine", gssdk_filter_photo: "Foto", gssdk_filter_soft_black_and_white: "Schwarz/Weiß (weich)", gssdk_filter_soft_color: "Farben (weich)", gssdk_filter_strong_black_and_white: "Schwarz/Weiß (stark)", gssdk_filter_strong_color: "Farben (stark)", gssdk_filter_strong_monochrome: "Monochrom (stark)", gssdk_flow_page: "Seite", gssdk_flow_add_page: "Seite hinzufügen", gssdk_flow_add_pages: "Möchten Sie Ihrem Dokument eine weitere Seite hinzufügen?", gssdk_flow_cancel: "Abbrechen", gssdk_flow_done: "Fertig (%d)", gssdk_progress_generating_document: "Dokument erstellen", gssdk_progress_recognizing_text: "Text erkennen", gssdk_settings: "Einstellungen", gssdk_user_guidance_document_found: "Dokument gefunden. Bitte Gerät ruhig halten.", gssdk_user_guidance_searching: "Dokument wird gesucht …", gssdk_photo_library_button: "Fotobibliothek öffnen", gssdk_distortion_correction: "Krümmungskorrektur", gssdk_off: "Aus", gssdk_on: "An", gssdk_user_guidance_readability: "Diese Seite sieht verschwommen aus. Versuchen Sie es erneut, um ein besseres Ergebnis zu erhalten." }, en: { gssdk_action_back: "Back", gssdk_action_cancel: "Cancel", gssdk_action_capture: "Take photo", gssdk_action_change_filter: "Change filter", gssdk_action_crop: "Crop", gssdk_action_discard: "Discard", gssdk_action_done: "Done", gssdk_action_next: "Next", gssdk_action_retry: "Retry", gssdk_action_rotate_left: "Rotate left", gssdk_camera_permission_denied_message: "You need to grant %s access to the camera in the Settings.", gssdk_camera_permission_denied_title: "%s cannot access your camera", gssdk_crop_autodetect: "Detect", gssdk_crop_maximize: "Maximize", gssdk_filter_instructions: "Choose a filter to apply", gssdk_filter_automatic: "Automatic", gssdk_filter_automatic_black_and_white: "Black and white (auto)", gssdk_filter_automatic_color: "Color (auto)", gssdk_filter_automatic_monochrome: "Monochrome (auto)", gssdk_filter_black_and_white: "Black and white", gssdk_filter_color: "Color", gssdk_filter_dark_background: "Dark background", gssdk_filter_monochrome: "Monochrome", gssdk_filter_none: "None", gssdk_filter_photo: "Photo", gssdk_filter_soft_black_and_white: "Black and white (soft)", gssdk_filter_soft_color: "Color (soft)", gssdk_filter_strong_black_and_white: "Black and white (strong)", gssdk_filter_strong_color: "Color (strong)", gssdk_filter_strong_monochrome: "Monochrome (strong)", gssdk_flow_page: "Page", gssdk_flow_add_page: "Add page", gssdk_flow_add_pages: "Would you like to add another page to your document?", gssdk_flow_cancel: "Cancel", gssdk_flow_done: "Done (%d)", gssdk_progress_generating_document: "Generating document", gssdk_progress_recognizing_text: "Recognizing text", gssdk_settings: "Settings", gssdk_user_guidance_document_found: "Document found. Remain steady.", gssdk_user_guidance_searching: "Searching for document…", gssdk_photo_library_button: "Open photo library", gssdk_distortion_correction: "Curvature correction", gssdk_off: "Off", gssdk_on: "On", gssdk_user_guidance_readability: "This page appears blurry. Try again for better results." }, es: { gssdk_action_back: "Volver", gssdk_action_cancel: "Cancelar", gssdk_action_capture: "Hacer foto", gssdk_action_change_filter: "Cambiar filtro", gssdk_action_crop: "Recortar", gssdk_action_discard: "Descartar", gssdk_action_done: "Hecho", gssdk_action_next: "Siguiente", gssdk_action_retry: "Reintentar", gssdk_action_rotate_left: "Girar a la izquierda", gssdk_camera_permission_denied_message: "Debes conceder acceso a %s a la cámara en Ajustes.", gssdk_camera_permission_denied_title: "%s no puede acceder a tu cámara", gssdk_crop_autodetect: "Detectar", gssdk_crop_maximize: "Maximizar", gssdk_filter_instructions: "Elige un filtro", gssdk_filter_automatic: "Automático", gssdk_filter_automatic_black_and_white: "Blanco y negro (auto.)", gssdk_filter_automatic_color: "Color (auto.)", gssdk_filter_automatic_monochrome: "Monocromático (auto.)", gssdk_filter_black_and_white: "Blanco y negro", gssdk_filter_color: "Color", gssdk_filter_dark_background: "Fondo oscuro", gssdk_filter_monochrome: "Monocromático", gssdk_filter_none: "Nada", gssdk_filter_photo: "Foto", gssdk_filter_soft_black_and_white: "Blanco y negro (suave)", gssdk_filter_soft_color: "Color (suave)", gssdk_filter_strong_black_and_white: "Blanco y negro (intenso)", gssdk_filter_strong_color: "Color (intenso)", gssdk_filter_strong_monochrome: "Monocromático (intenso)", gssdk_flow_page: "Página", gssdk_flow_add_page: "Añadir página", gssdk_flow_add_pages: "¿Quieres añadir otra página al documento?", gssdk_flow_cancel: "Cancelar", gssdk_flow_done: "Listo (%d)", gssdk_progress_generating_document: "Generando documento", gssdk_progress_recognizing_text: "Reconociendo texto", gssdk_settings: "Ajustes", gssdk_