@tsocial/tvweb-sdk 5.36.0 → 5.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/build/esm/{chunk-de5b2d76.js → chunk-16aae30a.js} +1 -1
  2. package/build/esm/{chunk-e31767ae.js → chunk-1aa3850a.js} +1 -1
  3. package/build/esm/{chunk-81ce3c83.js → chunk-3ed55750.js} +1 -1
  4. package/build/esm/{chunk-641f0a71.js → chunk-3eee0401.js} +1 -1
  5. package/build/esm/{chunk-44cbd562.js → chunk-444546ef.js} +55 -55
  6. package/build/esm/{chunk-571e89c0.js → chunk-54342a62.js} +1 -1
  7. package/build/esm/chunk-78da2232.js +1121 -0
  8. package/build/esm/{chunk-e0f43811.js → chunk-7b011490.js} +1 -1
  9. package/build/esm/{chunk-0811f0b9.js → chunk-84c22657.js} +2 -2
  10. package/build/esm/{chunk-6b0b5adc.js → chunk-86785e18.js} +1 -1
  11. package/build/esm/{chunk-dc7a2229.js → chunk-8db48f4d.js} +1 -1
  12. package/build/esm/{chunk-e3a48659.js → chunk-91c53b7b.js} +1 -1
  13. package/build/esm/{chunk-ee9ed408.js → chunk-a03b960b.js} +1 -1
  14. package/build/esm/{chunk-6e830372.js → chunk-b5e82a4b.js} +1 -1
  15. package/build/esm/{chunk-e77bab5e.js → chunk-bf5a5b12.js} +1 -1
  16. package/build/esm/{chunk-3475f25e.js → chunk-c1fff47f.js} +1 -1
  17. package/build/esm/{chunk-fa450310.js → chunk-c91849f8.js} +1 -1
  18. package/build/esm/{chunk-abf5e014.js → chunk-c9afc075.js} +1 -1
  19. package/build/esm/{chunk-7f5333af.js → chunk-db249df9.js} +1 -1
  20. package/build/esm/chunk-df824644.js +1 -0
  21. package/build/esm/{chunk-e289e491.js → chunk-f309ca64.js} +1 -1
  22. package/build/esm/{chunk-b87b1853.js → chunk-fbbb4c3f.js} +1 -1
  23. package/build/esm/tvweb-sdk.esm.min.js +1 -1
  24. package/build/tvweb-sdk.cjs.min.js +668 -668
  25. package/build/tvweb-sdk.standalone.js +1504 -15963
  26. package/build/tvweb-sdk.standalone.min.js +668 -668
  27. package/package.json +5 -6
  28. package/build/esm/chunk-ed832fec.js +0 -1121
  29. package/build/esm/chunk-ff693e7b.js +0 -1
@@ -1,8 +1,8 @@
1
- import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s as d,b as u,i as g,w as k,x as m,B as p,y as f,z as h,S as _,A as B,C as b,D as C,c as w,E as y,F as v,G as P,H as x,I as S,J as R,K as I,e as $,M as M,N as D,O as T,Q as E,R as j,T as A,U as L,V as F,W as W,X as O,Y as z,Z as N,_ as V,$ as Q,a0 as q,a1 as U,a2 as X,a3 as H,o as K,a4 as G,a5 as Z,a6 as J,a7 as Y,g as ee,p as et,a8 as er,u as eo,a9 as en,aa as ea,ab as es}from"./chunk-ed832fec.js";import{W as ei,C as el,P as ec,O as ed}from"./chunk-e0f43811.js";import{a as eu,u as eg,b as ek,t as em,c as ep,m as ef,e as eh,D as e_,S as eB}from"./chunk-de5b2d76.js";let eb="default",eC="error";function ew({className:e,width:o,height:n,type:a,strokeStyles:s,strokeWidth:i,radius:l,paddingStyle:c,defaultRectStyles:d,errorRectStyles:u,paddingCornerMultiplier:g=1.5}){let k=t.useMemo(()=>({[eb]:d,[eC]:u,...s}),[d,u,s]),m=l+i*g,p=k[a];return r.jsxs("svg",{width:o,height:n,className:e,children:[r.jsx("rect",{x:i/2,y:i/2,rx:l,ry:l,width:o-i,height:n-i,style:p}),r.jsx("path",{d:`M0,${m} Q0,0 ${m},0 L0,0 Z`,style:c}),r.jsx("path",{d:`M0,${n-m} Q0,${n} ${m},${n} L0,${n} Z`,style:c}),r.jsx("path",{d:`M${o-m},${n} Q${o},${n} ${o},${n-m} L${o},${n} Z`,style:c}),r.jsx("path",{d:`M${o-m},0 Q${o},0 ${o},${m} L${o},0 Z`,style:c})]})}ew.propTypes={className:e.string,width:e.number,height:e.number,strokeWidth:e.number,strokeStyles:e.shape({}),type:e.oneOf([eb,eC]),radius:e.number,paddingStyle:e.shape({}),defaultRectStyles:e.shape({}),errorRectStyles:e.shape({}),paddingCornerMultiplier:e.number},ew.defaultProps={className:"",width:eu.IDCapturing.rectangleMask.width,height:eu.IDCapturing.rectangleMask.height,strokeWidth:eu.IDCapturing.rectangleMask.strokeWidth,strokeStyles:eu.IDCapturing.rectangleMask.strokeStyles,type:eb,radius:eu.IDCapturing.rectangleMask.radius,paddingStyle:eu.IDCapturing.rectangleMask.paddingStyle,defaultRectStyles:eu.IDCapturing.rectangleMask.default,errorRectStyles:eu.IDCapturing.rectangleMask.error,paddingCornerMultiplier:1.5};let ey=o.isMobile?200:400,ev=o.isMobile?150:300,eP={ID_CARD:"id_card",QR_CODE:"qr_code"},ex=[{x:.02,y:.03,w:.46,h:.87},{x:.3,y:.03,w:.47,h:.87}],eS="raw",{Errors:eR}=d;async function eI(e,t){let r=a.getOpenCV(),o=e.getContext("2d").getImageData(0,0,e.width,e.height);return await r.fourPointTransform(o,t)}async function e$({canvas:e,paddingPercent:t=.04,glareThreshold:r}={}){let o=e.width,n=e.height,a=Math.floor(o*t),i=Math.floor(n*t),l=o-2*a,c=n-2*i,d=document.createElement("canvas"),u=d.getContext("2d");return d.width=l,d.height=c,u.drawImage(e,a,i,l,c,0,0,l,c),s.isCardGlare(d,r)}async function eM({blazefaceModel:e,predictedIdCardCanvas:t,frontSide:r}){let o=t.width,n=t.height,a=Math.floor(o/3),s=Math.floor(4*n/5),c=document.createElement("canvas"),d=c.getContext("2d");c.width=a,c.height=s,d.drawImage(t,0,Math.floor(n/5),a,s,0,0,a,s);let u=(await i.getModelPredictions({model:e,sCanvas:c})).filter(({topLeft:e,bottomRight:t,probability:[r],landmarks:o})=>!(r<.9||o.length<4||.025>l.rectAreaRatio({small:{coords:[e,t]},big:{coords:[[0,0],[i.SIZE,i.SIZE]]}}))&&!0).length;if(r){if(0===u)return eR.id_detector_error_front_side_no_faces;if(u>1)return eR.id_detector_error_front_side_multiple_faces}else if(u>0)return eR.id_detector_error_back_side_has_faces;return null}async function eD({blazefaceModel:e,predictedIdCardCanvas:t,frontSide:r,hasFrontFace:o,hasBackFace:n,genericEnableCheckFrontFace:a,genericEnableCheckBackFace:s}){if(r&&!a||!r&&!s)return null;let{width:l,height:c}=t,d=document.createElement("canvas"),u=document.createElement("canvas");d.width=l/2,u.width=l/2,d.height=c,u.height=c;let g=d.getContext("2d"),k=u.getContext("2d");g.drawImage(t,0,0,l/2,c,0,0,l/2,c),k.drawImage(t,l/2,0,l/2,c,0,0,l/2,c);let[m,p]=await Promise.all([i.getModelPredictions({model:e,sCanvas:d}),i.getModelPredictions({model:e,sCanvas:u})]),f=({probability:[e],landmarks:t})=>e>=.9&&t.length>=4,h=m.filter(f),_=p.filter(f),B=h.length>0||_.length>0;if(r){if(!B&&o||B&&!o)return eR.id_detector_error_front_side_no_faces}else if(!B&&n||B&&!n)return eR.id_detector_error_back_side_has_faces;return null}let eT=({canvas:e,cardPosition:t,quality:r=1})=>{if(!t||!t.corners||!Array.isArray(t.corners))return null;let[o,n,a]=t.corners,s=n?.location?.x-o?.location?.x-100,i=a?.location?.y-n?.location?.y-100,l=document.createElement("canvas");l.width=s,l.height=i,l.getContext("2d").drawImage(e,o?.location?.x+50,o?.location?.y+50,s,i,0,0,s,i);let d=l.toDataURL("image/jpeg",r);return c.base64ToMD5({base64:d}).toString()},eE=async({canvas:e,cardPosition:t,quality:r,count:o=3})=>{if(!t||!t.corners||!Array.isArray(t.corners))return[];let n=[];for(;n.length<o;){let a=performance.now(),s=eT({canvas:e,cardPosition:t,quality:r});if(n.push(s),n.length<o){let e=180-(a=Math.floor(performance.now()-a))>0?180-a:0;await new Promise(t=>setTimeout(t,e))}}return n},ej=(e,t)=>parseFloat(e.toFixed(t)),eA=({currentFrameBlurScore:e,incomingFrameBlurScore:t,currentFrameGlareScore:r,incomingFrameGlareScore:o,settings:n,blurLargeThreshold:a,blurSmallThreshold:s})=>{if(null===e)return!0;let{enableBlurCheck:i,enableGlareCheck:l}=n,c=e?.small,d=e?.large,u=t?.small,g=t?.large;return(!i||!(u<s)&&!(g<a))&&(Math.abs(u-c)>Number.EPSILON?u>c:Math.abs(g-d)>Number.EPSILON?g>d:!!(l&&Math.abs(o-r)>Number.EPSILON)&&o>r)};function eL(e,t,r,o,n){r&&(r.strokeStyle=t,r.lineWidth=2,e.forEach(e=>{let[t,a,s,i]=e,l=(t+n.x)*o,c=(a+n.y)*o,d=(s+n.x)*o,u=(i+n.y)*o;r.strokeRect(l,c,d-l,u-c)}))}function eF(e){let t=e.find(e=>"top-left"===e.label).location,r=e.find(e=>"top-right"===e.label).location,o=e.find(e=>"bottom-right"===e.label).location,n=e.find(e=>"bottom-left"===e.label).location,a=Math.sqrt((o.x-n.x)**2+(o.y-n.y)**2),s=Math.sqrt((r.x-t.x)**2+(r.y-t.y)**2),i=Math.max(parseInt(a,10),parseInt(s,10)),l=Math.sqrt((t.x-n.x)**2+(t.y-n.y)**2),c=Math.sqrt((r.x-o.x)**2+(r.y-o.y)**2);return{topLeft:t,topRight:r,bottomRight:o,bottomLeft:n,maxWidth:i,maxHeight:Math.max(parseInt(l,10),parseInt(c,10))}}let eW=g(ew)``,eO=g.img`
1
+ import{P as e,r as t,j as r,k as o,m as n,l as a,n as i,q as s,t as l,v as c,b as d,s as u,i as g,w as k,x as m,B as f,y as p,z as h,S as _,A as b,C as B,D as C,E as w,c as y,F as v,G as P,H as x,I as S,J as R,K as I,e as M,M as $,N as D,O as T,Q as E,R as j,T as A,U as L,V as F,W as W,X as z,Y as O,Z as N,_ as V,$ as Q,a0 as q,a1 as U,a2 as X,a3 as K,o as H,a4 as G,a5 as Z,a6 as J,a7 as Y,g as ee,p as et,a8 as er,u as eo,a9 as en,aa as ea,ab as ei}from"./chunk-78da2232.js";import{W as es,C as el,P as ec,O as ed}from"./chunk-7b011490.js";import{a as eu,u as eg,b as ek,t as em,c as ef,m as ep,e as eh,D as e_,S as eb}from"./chunk-16aae30a.js";let eB="default",eC="error";function ew({className:e,width:o,height:n,type:a,strokeStyles:i,strokeWidth:s,radius:l,paddingStyle:c,defaultRectStyles:d,errorRectStyles:u,paddingCornerMultiplier:g=1.5}){let k=t.useMemo(()=>({[eB]:d,[eC]:u,...i}),[d,u,i]),m=l+s*g,f=k[a];return r.jsxs("svg",{width:o,height:n,className:e,children:[r.jsx("rect",{x:s/2,y:s/2,rx:l,ry:l,width:o-s,height:n-s,style:f}),r.jsx("path",{d:`M0,${m} Q0,0 ${m},0 L0,0 Z`,style:c}),r.jsx("path",{d:`M0,${n-m} Q0,${n} ${m},${n} L0,${n} Z`,style:c}),r.jsx("path",{d:`M${o-m},${n} Q${o},${n} ${o},${n-m} L${o},${n} Z`,style:c}),r.jsx("path",{d:`M${o-m},0 Q${o},0 ${o},${m} L${o},0 Z`,style:c})]})}ew.propTypes={className:e.string,width:e.number,height:e.number,strokeWidth:e.number,strokeStyles:e.shape({}),type:e.oneOf([eB,eC]),radius:e.number,paddingStyle:e.shape({}),defaultRectStyles:e.shape({}),errorRectStyles:e.shape({}),paddingCornerMultiplier:e.number},ew.defaultProps={className:"",width:eu.IDCapturing.rectangleMask.width,height:eu.IDCapturing.rectangleMask.height,strokeWidth:eu.IDCapturing.rectangleMask.strokeWidth,strokeStyles:eu.IDCapturing.rectangleMask.strokeStyles,type:eB,radius:eu.IDCapturing.rectangleMask.radius,paddingStyle:eu.IDCapturing.rectangleMask.paddingStyle,defaultRectStyles:eu.IDCapturing.rectangleMask.default,errorRectStyles:eu.IDCapturing.rectangleMask.error,paddingCornerMultiplier:1.5};let ey=o.isMobile?200:400,ev=o.isMobile?150:300,eP={ID_CARD:"id_card",QR_CODE:"qr_code"},ex=[{x:.02,y:.03,w:.46,h:.87},{x:.3,y:.03,w:.47,h:.87}],eS="raw",{Errors:eR}=u;async function eI(e,t){let r=i.getOpenCV(),o=e.getContext("2d").getImageData(0,0,e.width,e.height);return await r.fourPointTransform(o,t)}async function eM({canvas:e,paddingPercent:t=.04,glareThreshold:r}={}){let o=e.width,n=e.height,a=Math.floor(o*t),i=Math.floor(n*t),l=o-2*a,c=n-2*i,d=document.createElement("canvas"),u=d.getContext("2d");return d.width=l,d.height=c,u.drawImage(e,a,i,l,c,0,0,l,c),s.isCardGlare(d,r)}async function e$({blazefaceModel:e,predictedIdCardCanvas:t,frontSide:r}){let o=t.width,n=t.height,a=Math.floor(o/3),i=Math.floor(4*n/5),s=document.createElement("canvas"),d=s.getContext("2d");s.width=a,s.height=i,d.drawImage(t,0,Math.floor(n/5),a,i,0,0,a,i);let u=await l.getModelPredictions({model:e,sCanvas:s}),g=e=>e&&"function"==typeof e.arraySync?e.arraySync():e,k=e=>{e&&"function"==typeof e.dispose&&e.dispose()},m=u.map(e=>{let t={topLeft:g(e.topLeft),bottomRight:g(e.bottomRight),probability:g(e.probability),landmarks:g(e.landmarks)};return k(e.topLeft),k(e.bottomRight),k(e.probability),k(e.landmarks),t}).filter(({topLeft:e,bottomRight:t,probability:[r],landmarks:o})=>!(r<.9||o.length<4||.025>c.rectAreaRatio({small:{coords:[e,t]},big:{coords:[[0,0],[l.SIZE,l.SIZE]]}}))&&!0).length;if(r){if(0===m)return eR.id_detector_error_front_side_no_faces;if(m>1)return eR.id_detector_error_front_side_multiple_faces}else if(m>0)return eR.id_detector_error_back_side_has_faces;return null}async function eD({blazefaceModel:e,predictedIdCardCanvas:t,frontSide:r,hasFrontFace:o,hasBackFace:n,genericEnableCheckFrontFace:a,genericEnableCheckBackFace:i}){if(r&&!a||!r&&!i)return null;let{width:s,height:c}=t,d=document.createElement("canvas"),u=document.createElement("canvas");d.width=s/2,u.width=s/2,d.height=c,u.height=c;let g=d.getContext("2d"),k=u.getContext("2d");g.drawImage(t,0,0,s/2,c,0,0,s/2,c),k.drawImage(t,s/2,0,s/2,c,0,0,s/2,c);let m=e=>e&&"function"==typeof e.arraySync?e.arraySync():e,f=e=>{e&&"function"==typeof e.dispose&&e.dispose()},p=e=>{let t={probability:m(e.probability),landmarks:m(e.landmarks)};return f(e.topLeft),f(e.bottomRight),f(e.probability),f(e.landmarks),t},[h,_]=await Promise.all([l.getModelPredictions({model:e,sCanvas:d}),l.getModelPredictions({model:e,sCanvas:u})]),b=h.map(p),B=_.map(p),C=({probability:[e],landmarks:t})=>e>=.9&&t.length>=4,w=b.filter(C),y=B.filter(C),v=w.length>0||y.length>0;if(r){if(!v&&o||v&&!o)return eR.id_detector_error_front_side_no_faces}else if(!v&&n||v&&!n)return eR.id_detector_error_back_side_has_faces;return null}let eT=({canvas:e,cardPosition:t,quality:r=1})=>{if(!t||!t.corners||!Array.isArray(t.corners))return null;let[o,n,i]=t.corners,s=n?.location?.x-o?.location?.x-100,l=i?.location?.y-n?.location?.y-100,c=document.createElement("canvas");c.width=s,c.height=l,c.getContext("2d").drawImage(e,o?.location?.x+50,o?.location?.y+50,s,l,0,0,s,l);let d=c.toDataURL("image/jpeg",r);return a.base64ToMD5({base64:d}).toString()},eE=async({canvas:e,cardPosition:t,quality:r,count:o=3})=>{if(!t||!t.corners||!Array.isArray(t.corners))return[];let n=[];for(;n.length<o;){let a=performance.now(),i=eT({canvas:e,cardPosition:t,quality:r});if(n.push(i),n.length<o){let e=180-(a=Math.floor(performance.now()-a))>0?180-a:0;await new Promise(t=>setTimeout(t,e))}}return n},ej=(e,t)=>{if(null!=e)return parseFloat(e.toFixed(t))},eA=({currentFrameBlurScore:e,incomingFrameBlurScore:t,currentFrameGlareScore:r,incomingFrameGlareScore:o,settings:n,blurLargeThreshold:a,blurSmallThreshold:i})=>{if(null===e)return!0;let{enableBlurCheck:s,enableGlareCheck:l}=n,c=e?.small,d=e?.large,u=t?.small,g=t?.large;return(!s||!(u<i)&&!(g<a))&&(Math.abs(u-c)>Number.EPSILON?u>c:Math.abs(g-d)>Number.EPSILON?g>d:!!(l&&Math.abs(o-r)>Number.EPSILON)&&o>r)};function eL(e,t,r,o,n){r&&(r.strokeStyle=t,r.lineWidth=2,e.forEach(e=>{let[t,a,i,s]=e,l=(t+n.x)*o,c=(a+n.y)*o,d=(i+n.x)*o,u=(s+n.y)*o;r.strokeRect(l,c,d-l,u-c)}))}function eF(e){let t=e.find(e=>"top-left"===e.label).location,r=e.find(e=>"top-right"===e.label).location,o=e.find(e=>"bottom-right"===e.label).location,n=e.find(e=>"bottom-left"===e.label).location,a=Math.sqrt((o.x-n.x)**2+(o.y-n.y)**2),i=Math.sqrt((r.x-t.x)**2+(r.y-t.y)**2),s=Math.max(parseInt(a,10),parseInt(i,10)),l=Math.sqrt((t.x-n.x)**2+(t.y-n.y)**2),c=Math.sqrt((r.x-o.x)**2+(r.y-o.y)**2);return{topLeft:t,topRight:r,bottomRight:o,bottomLeft:n,maxWidth:s,maxHeight:Math.max(parseInt(l,10),parseInt(c,10))}}let eW=g(ew)``,ez=g.img`
2
2
  position: absolute;
3
3
  top: 0;
4
4
  left: 0;
5
- `,{animationDuration:ez}=h,eN=g.div`
5
+ `,{animationDuration:eO}=h,eN=g.div`
6
6
  ${k}
7
7
  ${m}
8
8
  `,eV=g.img`
@@ -20,16 +20,16 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
20
20
  width: 100%;
21
21
  }
22
22
 
23
- z-index: ${p+20};
23
+ z-index: ${f+20};
24
24
  position: fixed;
25
25
 
26
- ${o.isMobile?f`
26
+ ${o.isMobile?p`
27
27
  top: ${e=>e.y};
28
- `:f`
28
+ `:p`
29
29
  bottom: ${10}px;
30
30
  `}
31
31
 
32
- ${({disabled:e})=>e&&f`
32
+ ${({disabled:e})=>e&&p`
33
33
  opacity: 0.3;
34
34
  pointer-events: none;
35
35
  `}
@@ -46,7 +46,7 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
46
46
  width: 100%;
47
47
  }
48
48
 
49
- z-index: ${p+20};
49
+ z-index: ${f+20};
50
50
  `,eU=g.div`
51
51
  color: #fff;
52
52
  text-align: center;
@@ -55,18 +55,18 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
55
55
  transform-style: preserve-3d;
56
56
  position: absolute;
57
57
  top: ${e=>e.y};
58
- z-index: ${p+20};
59
- `,eH=g.div`
58
+ z-index: ${f+20};
59
+ `,eK=g.div`
60
60
  display: flex;
61
61
  align-items: center;
62
- `,eK=g(eU)`
62
+ `,eH=g(eU)`
63
63
  margin-left: 10px;
64
- ${({$isFront:e,$isQr:t,theme:r})=>{if(t)return f`
64
+ ${({$isFront:e,$isQr:t,theme:r})=>{if(t)return p`
65
65
  color: ${n("QRStep.title.color")({theme:r})};
66
66
  font-size: ${n("QRStep.title.fontSize")({theme:r})};
67
67
  font-weight: ${n("QRStep.title.fontWeight")({theme:r})};
68
68
  background-color: ${n("QRStep.title.backgroundColor")({theme:r})};
69
- `;let o=e?"Front":"Back";return f`
69
+ `;let o=e?"Front":"Back";return p`
70
70
  color: ${n(`IDCapturing.title${o}.color`)({theme:r})};
71
71
  font-size: ${n(`IDCapturing.title${o}.fontSize`)({theme:r})};
72
72
  font-weight: ${n(`IDCapturing.title${o}.fontWeight`)({theme:r})};
@@ -80,12 +80,12 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
80
80
  left: 0;
81
81
  top: 10px;
82
82
  background: white;
83
- z-index: ${p+30};
83
+ z-index: ${f+30};
84
84
  `,eZ=g(eU)`
85
85
  position: absolute;
86
86
  text-align: center;
87
87
  top: ${e=>e.y};
88
- z-index: ${p+20};
88
+ z-index: ${f+20};
89
89
  padding: ${n("IDCapturing.instruction.padding")};
90
90
  color: ${n("IDCapturing.instruction.color")};
91
91
  font-size: ${n("IDCapturing.instruction.fontSize")};
@@ -104,7 +104,7 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
104
104
  `;let eJ=g.div`
105
105
  position: absolute;
106
106
  top: ${e=>e.y};
107
- z-index: ${p+20};
107
+ z-index: ${f+20};
108
108
  display: flex;
109
109
  align-items: center;
110
110
  `,eY=g(eU)`
@@ -120,7 +120,7 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
120
120
  text-align: center;
121
121
  padding: 5px 10px;
122
122
  top: ${e=>e.y};
123
- z-index: ${p+20};
123
+ z-index: ${f+20};
124
124
  `,g.div`
125
125
  font-size: 18px;
126
126
  text-align: center;
@@ -128,23 +128,23 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
128
128
  `;let e3=g.div`
129
129
  position: fixed;
130
130
  top: ${e=>e.y};
131
- z-index: ${p+20};
131
+ z-index: ${f+20};
132
132
  display: flex;
133
133
  align-items: center;
134
134
  gap: ${n("IDCapturing.toggle.gap")};
135
135
  color: ${n("IDCapturing.toggle.color")};
136
136
  font-size: ${n("IDCapturing.toggle.fontSize")};
137
137
  font-weight: ${n("IDCapturing.toggle.fontWeight")};
138
- `,e2=e=>{let t,o,{width:a,height:s,type:i,...l}=e,c=B(),d=b.useAsset(`${u(c,"themeVersion")}/id_card_frame.png`),g=b.useAsset(`${u(c,"themeVersion")}/id_card_frame_error.png`),k=(t=e,o=c,{width:t.width??n("IDCapturing.rectangleMask.width")({theme:o}),height:t.height??n("IDCapturing.rectangleMask.height")({theme:o}),strokeWidth:t.strokeWidth??n("IDCapturing.rectangleMask.strokeWidth")({theme:o}),radius:t.radius??n("IDCapturing.rectangleMask.radius")({theme:o}),paddingStyle:t.paddingStyle??n("IDCapturing.rectangleMask.paddingStyle")({theme:o}),defaultRectStyles:t.default??n("IDCapturing.rectangleMask.default")({theme:o}),errorRectStyles:t.error??n("IDCapturing.rectangleMask.error")({theme:o})});return r.jsxs(eN,{width:a,height:s,children:[r.jsx(eO,{src:i===eC?g:d,width:a,height:s}),r.jsx(eW,{type:i,...l,...k})]})},e5=g.div`
138
+ `,e2=e=>{let t,o,{width:a,height:i,type:s,...l}=e,c=b(),u=B.useAsset(`${d(c,"themeVersion")}/id_card_frame.png`),g=B.useAsset(`${d(c,"themeVersion")}/id_card_frame_error.png`),k=(t=e,o=c,{width:t.width??n("IDCapturing.rectangleMask.width")({theme:o}),height:t.height??n("IDCapturing.rectangleMask.height")({theme:o}),strokeWidth:t.strokeWidth??n("IDCapturing.rectangleMask.strokeWidth")({theme:o}),radius:t.radius??n("IDCapturing.rectangleMask.radius")({theme:o}),paddingStyle:t.paddingStyle??n("IDCapturing.rectangleMask.paddingStyle")({theme:o}),defaultRectStyles:t.default??n("IDCapturing.rectangleMask.default")({theme:o}),errorRectStyles:t.error??n("IDCapturing.rectangleMask.error")({theme:o})});return r.jsxs(eN,{width:a,height:i,children:[r.jsx(ez,{src:s===eC?g:u,width:a,height:i}),r.jsx(eW,{type:s,...l,...k})]})},e5=g.div`
139
139
  display: flex;
140
140
  flex-direction: column;
141
141
  align-items: center;
142
142
  gap: 24px;
143
143
  position: absolute;
144
144
  top: ${e=>e.y};
145
- z-index: ${p+20};
145
+ z-index: ${f+20};
146
146
  `,e0=g.span`
147
- ${({$isDone:e})=>{let t=e?"captured":"capturing";return f`
147
+ ${({$isDone:e})=>{let t=e?"captured":"capturing";return p`
148
148
  font-size: ${n(`IDCapturing.captureInstruction.${t}.fontSize`)};
149
149
  color: ${n(`IDCapturing.captureInstruction.${t}.color`)};
150
150
  font-weight: ${n(`IDCapturing.captureInstruction.${t}.fontWeight`)};
@@ -210,7 +210,7 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
210
210
  width: 100%;
211
211
  max-width: 160px;
212
212
  cursor: pointer;
213
- `,te=({onOk:e=()=>{},maxSessionTime:t=30})=>{let o=C();return r.jsxs(e7,{children:[r.jsx(e1,{className:"popup-message",children:o("timeout_instruction",{x:t})}),r.jsx(e6,{className:"popup-button",onClick:e,children:o("btn_ok")})]})},tt=()=>{let[e,r]=t.useState(!1),[o,n]=t.useState(null),[a,s]=t.useState({});return{showPopup:t.useCallback(({popupType:e,props:t={}})=>{s(t),n(e),null===e?r(!1):r(!0)},[]),popupShown:e,popupType:o,props:a}},tr="SESSION_TIMEOUT",to="CONFIRM",tn="QR_INVALID",ta="QR_INSTRUCTIONS",ts=e=>"number"==typeof e&&e>0,ti=class{getVideoChunks(){return this._videoChunks}clearVideoChunks(){this._stopDrawing=!0,this._videoChunks=[];try{this._stream instanceof MediaStream&&(this._stream.getTracks().forEach(e=>e.stop()),this._stream=null)}catch(e){console.error("Error stopping stream tracks:",e)}}_handleDataAvailable(e){if(e.data.size>0){let t=new Blob([e.data],{type:"video/mp4"});this._videoChunks.push(t),this._resolveSave&&this._resolveSave()}else console.error("No video data was recorded."),this._rejectSave&&this._rejectSave("No video data recorded.")}_drawToCanvas(e,t,r,o,n,a){if(this._animationFrameId&&cancelAnimationFrame(this._animationFrameId),!e||!a||this._stopDrawing)return;this._lastFrameTime=0;let{cropX:s,cropY:i,cropWidth:l,cropHeight:c}=a,d=1e3/n,u=n=>{if(this._stopDrawing){this._animationFrameId=null;return}n-this._lastFrameTime>=d&&(this._lastFrameTime=n,e.drawImage(t,s,i,l,c,0,0,r,o)),this._animationFrameId=requestAnimationFrame(u)};this._animationFrameId=requestAnimationFrame(u)}stopDrawing(){this._stopDrawing=!0,this._animationFrameId&&(cancelAnimationFrame(this._animationFrameId),this._animationFrameId=null)}async initiate({videoEl:e,resultAnalyzeVideoAndWindowSizes:t,recordVideoSettings:r}){let n,a;this.clearVideoChunks(),this._stopDrawing=!1;let{videoFrameWidth:s,videoFrameHeight:i,videoBitrate:l,fps:c}=r,d=c||this.DEFAULT_VIDEO_FPS,u=t.cropWidth/t.cropHeight;ts(s)?(n=s,a=s/u):ts(i)?(n=i*u,a=i):(n=400,a=800);let g=document.createElement("canvas");g.width=n,g.height=a;let k=g.getContext("2d");if(!k)return console.error("Could not get canvas context."),{mediaRecorder:null};try{let r={mimeType:"video/webm",videoBitsPerSecond:l},a=o.isIOS?"video/mp4":"video/webm";if(MediaRecorder.isTypeSupported(a)&&(this._stream&&this._stream.getTracks().forEach(e=>e.stop()),this._stopDrawing=!1,this._drawToCanvas(k,e,n,n/u,d,t),this._stream=g.captureStream(),r={mimeType:a,videoBitsPerSecond:Math.min(l,this.MAX_VIDEO_BITRATE)}),!this._stream)throw Error("Failed to create a media stream for recording.");this._mediaRecorder=new MediaRecorder(this._stream,r);let s=()=>new Promise((e,t)=>{if(!this._mediaRecorder)return t("MediaRecorder not initialized");this._resolveSave=e,this._rejectSave=t,this._mediaRecorder.ondataavailable=this._handleDataAvailable.bind(this),"inactive"!==this._mediaRecorder.state&&this._mediaRecorder.stop()}),i=async()=>{this.stopDrawing(),await s()},c=()=>{this.stopDrawing(),this._mediaRecorder&&"inactive"!==this._mediaRecorder.state&&this._mediaRecorder.stop()};return this._mediaRecorder.stopVideoRecording=i,this._mediaRecorder.discardRecording=c,{mediaRecorder:this._mediaRecorder}}catch(e){return console.error("Error setting up video recording:",e),this.clearVideoChunks(),{mediaRecorder:null}}}constructor(){this._videoChunks=[],this._stream=null,this._stopDrawing=!1,this._animationFrameId=null,this._lastFrameTime=0,this.MAX_VIDEO_BITRATE=1e6,this.DEFAULT_VIDEO_FPS=16,this._mediaRecorder=null,this._resolveSave=null,this._rejectSave=null}},tl=({shouldRecord:e})=>{let r=t.useRef(!1),o=t.useMemo(()=>new ti,[]),n=t.useRef(null),a=t.useRef(null),s=t.useCallback(async t=>{if(!r.current&&e)try{let{mediaRecorder:e}=await o.initiate(t);e&&(n.current=e,n.current.start()),r.current=!0,a.current=t}catch(e){console.error("Error starting recording:",e)}},[o,e]),i=t.useCallback(async()=>{if(!r.current||!n.current)return[];if(n.current)try{return await new Promise(e=>setTimeout(e,500)),await n.current.stopVideoRecording(),r.current=!1,o.getVideoChunks()}catch(e){console.error("Error stopping recording:",e)}return[]},[o]),l=t.useCallback(()=>{if(n.current&&r.current)try{o.clearVideoChunks(),n.current=null,r.current=!1}catch(e){console.error("Error resetting recording:",e),r.current=!1}},[o]),c=t.useCallback(()=>{if(n.current&&r.current)try{n.current.discardRecording(),r.current=!1}catch(e){console.error("Error discarding recording:",e),r.current=!1}},[]);return t.useEffect(()=>{let e=()=>{"hidden"===document.visibilityState?c():"visible"===document.visibilityState&&a.current&&s(a.current)};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[s,c]),{startRecording:s,stopRecording:i,resetRecording:l,discardRecording:c}},{Errors:tc}=d,td=()=>({imageBlob:null,takenAt:null,blurScore:null,detectedCard:null}),tu=()=>({imageBlob:null,blurScore:null,error:null,detectedCard:null,captureCount:0,captureDuration:0}),tg=g.label`
213
+ `,te=({onOk:e=()=>{},maxSessionTime:t=30})=>{let o=C();return r.jsxs(e7,{children:[r.jsx(e1,{className:"popup-message",children:o("timeout_instruction",{x:t})}),r.jsx(e6,{className:"popup-button",onClick:e,children:o("btn_ok")})]})},tt=()=>{let[e,r]=t.useState(!1),[o,n]=t.useState(null),[a,i]=t.useState({});return{showPopup:t.useCallback(({popupType:e,props:t={}})=>{i(t),n(e),null===e?r(!1):r(!0)},[]),popupShown:e,popupType:o,props:a}},tr="SESSION_TIMEOUT",to="CONFIRM",tn="QR_INVALID",ta="QR_INSTRUCTIONS",ti={blurScore:{small:void 0,large:void 0},blurVerdict:"clean",facePredictions:[],bboxes:void 0,debugInfo:{blur_small:void 0,blur_large:void 0,blur_verdict:"clean",blur_predict_ms:0,blur_detection_ms:0,blur_flow_type:"generic_front",bbox_calc_ms:0}},ts=e=>"number"==typeof e&&e>0,tl=class{getVideoChunks(){return this._videoChunks}clearVideoChunks(){this._stopDrawing=!0,this._videoChunks=[];try{this._stream instanceof MediaStream&&(this._stream.getTracks().forEach(e=>e.stop()),this._stream=null)}catch(e){console.error("Error stopping stream tracks:",e)}}_handleDataAvailable(e){if(e.data.size>0){let t=new Blob([e.data],{type:"video/mp4"});this._videoChunks.push(t),this._resolveSave&&this._resolveSave()}else console.error("No video data was recorded."),this._rejectSave&&this._rejectSave("No video data recorded.")}_drawToCanvas(e,t,r,o,n,a){if(this._animationFrameId&&cancelAnimationFrame(this._animationFrameId),!e||!a||this._stopDrawing)return;this._lastFrameTime=0;let{cropX:i,cropY:s,cropWidth:l,cropHeight:c}=a,d=1e3/n,u=n=>{if(this._stopDrawing){this._animationFrameId=null;return}n-this._lastFrameTime>=d&&(this._lastFrameTime=n,e.drawImage(t,i,s,l,c,0,0,r,o)),this._animationFrameId=requestAnimationFrame(u)};this._animationFrameId=requestAnimationFrame(u)}stopDrawing(){this._stopDrawing=!0,this._animationFrameId&&(cancelAnimationFrame(this._animationFrameId),this._animationFrameId=null)}async initiate({videoEl:e,resultAnalyzeVideoAndWindowSizes:t,recordVideoSettings:r}){let n,a;this.clearVideoChunks(),this._stopDrawing=!1;let{videoFrameWidth:i,videoFrameHeight:s,videoBitrate:l,fps:c}=r,d=c||this.DEFAULT_VIDEO_FPS,u=t.cropWidth/t.cropHeight;ts(i)?(n=i,a=i/u):ts(s)?(n=s*u,a=s):(n=400,a=800);let g=document.createElement("canvas");g.width=n,g.height=a;let k=g.getContext("2d");if(!k)return console.error("Could not get canvas context."),{mediaRecorder:null};try{let r={mimeType:"video/webm",videoBitsPerSecond:l},a=o.isIOS?"video/mp4":"video/webm";if(MediaRecorder.isTypeSupported(a)&&(this._stream&&this._stream.getTracks().forEach(e=>e.stop()),this._stopDrawing=!1,this._drawToCanvas(k,e,n,n/u,d,t),this._stream=g.captureStream(),r={mimeType:a,videoBitsPerSecond:Math.min(l,this.MAX_VIDEO_BITRATE)}),!this._stream)throw Error("Failed to create a media stream for recording.");this._mediaRecorder=new MediaRecorder(this._stream,r);let i=()=>new Promise((e,t)=>{if(!this._mediaRecorder)return t("MediaRecorder not initialized");this._resolveSave=e,this._rejectSave=t,this._mediaRecorder.ondataavailable=this._handleDataAvailable.bind(this),"inactive"!==this._mediaRecorder.state&&this._mediaRecorder.stop()}),s=async()=>{this.stopDrawing(),await i()},c=()=>{this.stopDrawing(),this._mediaRecorder&&"inactive"!==this._mediaRecorder.state&&this._mediaRecorder.stop()};return this._mediaRecorder.stopVideoRecording=s,this._mediaRecorder.discardRecording=c,{mediaRecorder:this._mediaRecorder}}catch(e){return console.error("Error setting up video recording:",e),this.clearVideoChunks(),{mediaRecorder:null}}}constructor(){this._videoChunks=[],this._stream=null,this._stopDrawing=!1,this._animationFrameId=null,this._lastFrameTime=0,this.MAX_VIDEO_BITRATE=1e6,this.DEFAULT_VIDEO_FPS=16,this._mediaRecorder=null,this._resolveSave=null,this._rejectSave=null}},tc=({shouldRecord:e})=>{let r=t.useRef(!1),o=t.useMemo(()=>new tl,[]),n=t.useRef(null),a=t.useRef(null),i=t.useCallback(async t=>{if(!r.current&&e)try{let{mediaRecorder:e}=await o.initiate(t);e&&(n.current=e,n.current.start()),r.current=!0,a.current=t}catch(e){console.error("Error starting recording:",e)}},[o,e]),s=t.useCallback(async()=>{if(!r.current||!n.current)return[];if(n.current)try{return await new Promise(e=>setTimeout(e,500)),await n.current.stopVideoRecording(),r.current=!1,o.getVideoChunks()}catch(e){console.error("Error stopping recording:",e)}return[]},[o]),l=t.useCallback(()=>{if(n.current&&r.current)try{o.clearVideoChunks(),n.current=null,r.current=!1}catch(e){console.error("Error resetting recording:",e),r.current=!1}},[o]),c=t.useCallback(()=>{if(n.current&&r.current)try{n.current.discardRecording(),r.current=!1}catch(e){console.error("Error discarding recording:",e),r.current=!1}},[]);return t.useEffect(()=>{let e=()=>{"hidden"===document.visibilityState?c():"visible"===document.visibilityState&&a.current&&i(a.current)};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[i,c]),{startRecording:i,stopRecording:s,resetRecording:l,discardRecording:c}},{Errors:td}=u,tu=()=>({imageBlob:null,takenAt:null,blurScore:null,detectedCard:null}),tg=()=>({imageBlob:null,blurScore:null,error:null,detectedCard:null,captureCount:0,captureDuration:0}),tk=g.label`
214
214
  position: relative;
215
215
  display: inline-block;
216
216
  width: 60px;
@@ -224,7 +224,7 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
224
224
  width: 0;
225
225
  height: 0;
226
226
  }
227
- `,tk=g.span`
227
+ `,tm=g.span`
228
228
  position: absolute;
229
229
  cursor: pointer;
230
230
  top: 0;
@@ -252,13 +252,13 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
252
252
  input:checked + &:before {
253
253
  transform: translateX(28px);
254
254
  }
255
- `,tm=({checked:e,onChange:t,disabled:o=!1})=>r.jsxs(tg,{$disabled:o,children:[r.jsx("input",{type:"checkbox",checked:e,onChange:t}),r.jsx(tk,{className:"slider"})]}),tp=t.forwardRef((e,s)=>{let{description:i,usePortraitMask:c,windowAndVideoInfo:g,refVideo:k,frontSide:m,allowedCardTypes:p,settings:f,onCaptureDone:h,onUISpacingChange:_,outputEncryptionSettings:b,isShowingSpinner:O}=e,z=B(),[N,V]=t.useState({}),{yMessage:Q,yCaptureButton:q,yToggleButton:U,yInstruction:X,yCountdown:H}=N,K=A("IDCapturing.captureIcon.src","ic_camera.svg"),G=A("IDCapturing.captureIcon.disabled.src","ic_camera.svg"),Z=n("IDCapturing.countdown.color")({theme:z}),J=A("IDCapturing.loadingIcon.src","ic_loading.gif"),[Y,ee]=t.useState(""),et=C(),[er,eo]=t.useState(null),[en,ea]=t.useState(""),[es,ed]=t.useState(null),{showPopup:eu,popupShown:em,popupType:ep}=tt(),ef=ek(),[eh,e_]=t.useState(!1),eB=t.useRef(()=>{}),ew=t.useCallback(e=>{null===e?ea(""):ea(et(e?.code,{side:m?et("front"):et("back")}))},[et,m]),eP=t.useCallback(()=>{eo(""),eB.current()},[]),ex=t.useCallback((...e)=>{eo(""),h(...e)},[h]),{warmupDone:eR,isPostProcessing:eW,isAutoCapturing:eO,takePictureManually:ez,restartSession:eN,resetIsProcessingImageBlobTaken:eV,isAutoCaptureModeOn:eU,onToggleAutoCaptureMode:eX,autoCaptureDuration:eH}=(({shouldStart:e,refVideo:r,cropArea:o,settings:n,onModelErrorChange:s,frontSide:i,onDebugInfoChange:c,onAboutToTimeout:g,onSessionTimeout:k,onCaptureDone:m,outputEncryptionSettings:p,quality:f})=>{let h=t.useRef(!1),[_,B]=t.useState(!1),b=t.useRef(()=>{}),{sendEvent:C}=$.useSDKTracking(),A=t.useRef(),L=t.useRef(),F=t.useRef(),W=ek(),{enableAntiDebug:O}=w.useSDKSettings(),{onErrorCallback:z}=eg(),{playVoice:N}=M.useVoicePlayer(),[V,Q]=t.useState(u(n,"enableAutoCapture")),q=t.useCallback(()=>{Q(e=>!e)},[]),{autoCaptureWaitForBestImageTimeMs:U,manualCaptureWaitForBestImageTimeMs:X}=n,H=V?U:X;t.useEffect(()=>{O&&D.enableAntiDebug()},[O]);let K=t.useCallback(async e=>{C({tag:i?"id_front":"id_back",event:"sdk_ui.auto_capture",log:{}}),B(!1),await b.current(e)},[C,i]),G=t.useCallback((...e)=>{s(...e);let t=u(e,"0.code");t&&t!==A.current&&(C({tag:i?"id_front":"id_back",event:"sdk_ui.show_alert",log:{alert:t}}),A.current=t)},[s,i,C]),Z=t.useMemo(()=>V?n.blurSmallThresholdAuto:n.blurSmallThresholdManual,[V,n.blurSmallThresholdAuto,n.blurSmallThresholdManual]),J=t.useMemo(()=>n.enableAutoCapture||V?n.blurLargeThresholdAuto:n.blurLargeThresholdManual,[V,n.blurLargeThresholdAuto,n.blurLargeThresholdManual,n.enableAutoCapture]),{isCapturing:Y,refWorkingCanvas:ee,stopCheckFrame:et,checkFrame:er,warmupDone:eo,takePictureManually:en,refAbleToRunBurstMode:ea,refVirtualFrames:es,refCardCoordinates:ei,refBlurScores:el,refGlareScores:ec,resetState:ed,resetRecordVideo:eu,getQRDebugInfo:em}=function({isAutoCapture:e,blurSmallThreshold:r,blurLargeThreshold:o,refVideo:n,shouldStart:s,cropArea:i,settings:c,onError:g,frontSide:k,onAutoCaptureSuccess:m,quality:p,debug:f}){let h=t.useRef(null);null===h.current&&(h.current=document.createElement("canvas"));let _=t.useRef([]),B=t.useRef({}),b=t.useRef(!1),C=t.useRef([]),I=t.useRef(!1),$=t.useRef(null),[M,D]=t.useState(!1),T=t.useRef(td()),E=t.useRef(tu()),j=t.useRef(null),A=t.useRef(!1),L=t.useRef(!1),F=t.useRef(null),W=t.useRef(!1),O=t.useRef({}),{customUrls:z}=w.useSDKSettings(),{onErrorCallback:N}=eg(),[V,Q]=t.useState(!0),q=t.useRef([]),U=t.useRef([]),X=t.useRef(e),{allowedCards:H}=c,K=t.useRef(null),[G,Z]=t.useState(!1),J=t.useRef(!1),{scanFrame:Y,reset:ee,getScannedResult:et,getDebugInfo:er}=function({cardQRConfig:e,quality:r}){let o=t.useRef(new Set),n=t.useRef(null),s=t.useRef(!1),i=t.useRef(!1),l=t.useRef(0),c=t.useCallback(()=>{o.current=new Set,n.current=null,s.current=!1,i.current=!1,l.current=0},[]),d=t.useCallback((t,c)=>{if(!e||s.current||i.current)return;s.current=!0,l.current+=1;let{regions:d,isValidPayload:u,strategy:g}=e,k=a.getOpenCV(),{width:m,height:p}=t,f=t.getContext("2d"),h=c.getContext("2d").getImageData(0,0,c.width,c.height),_=g===eS?e=>k.detectAndDecodeRaw(e):e=>k.detectAndDecode(e).then(e=>e?[e]:[]);Promise.all(d.map(e=>_((({x:e,y:t,w:r,h:o})=>f.getImageData(Math.round(e*m),Math.round(t*p),Math.round(r*m),Math.round(o*p)))(e)))).then(t=>{let a=t.flat(),l=o.current.size>0;if(a.forEach(e=>{u(e)&&o.current.add(e)}),!l&&o.current.size>0&&null===n.current){let e=document.createElement("canvas");e.width=h.width,e.height=h.height,e.getContext("2d").putImageData(h,0,0),e.toBlob(e=>{n.current=e},"image/jpeg",r)}!i.current&&e.pickResults([...o.current]).length>0&&(i.current=!0),s.current=!1}).catch(e=>{console.warn("QR scan failed",e),s.current=!1})},[e]),u=t.useCallback(()=>{let t=[...o.current];return{results:e?.pickResults?e.pickResults(t):t,imageBlob:n.current}},[e]);return{scanFrame:d,reset:c,getScannedResult:u,getDebugInfo:t.useCallback(()=>({qr_scan_attempts:l.current,qr_found:o.current.size,qr_scan_running:s.current}),[])}}({cardQRConfig:c?.cardQRConfig,quality:p}),eo=t.useMemo(()=>({videoFrameWidth:c.recordVideoFrameWidth,videoFrameHeight:c.recordVideoFrameHeight,videoBitrate:c.recordVideoBitrate,fps:c.recordVideoFps}),[c.recordVideoBitrate,c.recordVideoFps,c.recordVideoFrameHeight,c.recordVideoFrameWidth]),{startRecording:en,stopRecording:ea,resetRecording:es}=tl({shouldRecord:t.useMemo(()=>k?c.enableRecordCapturingFront:c.enableRecordCapturingBack,[k,c.enableRecordCapturingBack,c.enableRecordCapturingFront])}),{startRecording:ei,stopRecording:el,resetRecording:ec}=tl({shouldRecord:t.useMemo(()=>k?c.enableRecordFullSessionFront:c.enableRecordFullSessionBack,[k,c.enableRecordFullSessionBack,c.enableRecordFullSessionFront])}),{turnOnFlashlight:ed,turnOffFlashlight:eu}=y(),ek=t.useRef(!1);t.useEffect(()=>{J.current=!1},[k]),t.useEffect(()=>{let e=!1;return async function t(){if(c&&!M){if(c.enableIdDetection){let e=((e,t)=>{if(0===e.length)return{isValid:!1};let r=[];return(e.forEach(e=>{let o=t[e];if(o)return void r.push(o);let n=e.split("."),a=t[`${n[0]}.*`];a?r.push(a):r.push({model:d.IdCardModelName.model_vn,force_off_detection:!1})}),r.every(e=>e.model===r[0].model))?{isValid:!0,cardModel:r[0].model,forceOffDetection:r[0].force_off_detection}:{isValid:!1}})(H.map(e=>e.code),c?.cardTypeModelMapping);if(!e.isValid){N(tc.invalid_card_type_config),Q(!1),D(!0);return}let t=z.idCardModelUrls[e.cardModel];O.current=await S({...z,idCardModelUrl:t},e.cardModel),await R.initTensorFlow(),F.current=c.enableBlurCheck&&O.current.ableToUseModel,Q(!e.forceOffDetection)}else Q(!1),F.current=!1;e||D(!0)}}(),()=>{e=!0}},[M,c,z,H,N]),t.useEffect(()=>{X.current=e},[e]);let em=t.useCallback(async e=>{_.current=await eE({canvas:h.current,cardPosition:e,quality:p})},[p]),ep=t.useCallback(()=>{G||(es(),ec())},[G,es,ec]),ef=t.useCallback(async()=>{let e={capturingVideo:{blob:null},fullVideo:{blob:null}},t=await ea();e.capturingVideo.blob=t?.[0]??null;let r=await el();return e.fullVideo.blob=r?.[0]??null,e},[ea,el]),eh=t.useMemo(()=>k?c.enableFlashlightFront:c.enableFlashlightBack,[k,c.enableFlashlightBack,c.enableFlashlightFront]),e_=t.useMemo(()=>k?c.flashlightActivationDelayFront:c.flashlightActivationDelayBack,[k,c.flashlightActivationDelayBack,c.flashlightActivationDelayFront]),eB=t.useMemo(()=>k?c.flashlightDurationFront:c.flashlightDurationBack,[k,c.flashlightDurationBack,c.flashlightDurationFront]),eb=t.useCallback(()=>{!ek.current&&eh&&(ek.current=!0,setTimeout(()=>{ed(eB)},e_))},[e_,eB,eh,ed]),eC=t.useCallback(async()=>{ek.current&&await eu()},[eu]),ew=t.useCallback(()=>{!0===I.current&&(I.current=!1)},[]),eP=t.useCallback(()=>{ep(),q.current=[],U.current=[],j.current=null,W.current=!1,J.current=!1,ee()},[ep,ee]),ex=t.useCallback(async({blurScore:e,detectedCard:t,glareScore:a})=>{await en({videoEl:n.current,resultAnalyzeVideoAndWindowSizes:$.current,recordVideoSettings:eo}),eb();let s=T.current,i=E.current;if(b.current=!1,eA({currentFrameBlurScore:s.blurScore,incomingFrameBlurScore:e,currentFrameGlareScore:s.glareScore,incomingFrameGlareScore:a,settings:c,blurLargeThreshold:o,blurSmallThreshold:r})){if(null===s.imageBlob&&(j.current=Date.now()),W.current)s.imageBlob=i.imageBlob;else{let e=h.current;s.hash=eT({canvas:e,cardPosition:t,quality:p}),s.imageBlob=await v.takePicture({canvas:e,quality:p}),s.captureTime=Date.now()}s.takenAt=new Date().getTime(),s.blurScore=e,s.glareScore=a,s.detectedCard=t,s.captureType="auto",s.qrScannedResults=et()}c.enableBlurCheck&&q.current.push(e),c.enableGlareCheck&&U.current.push(a)},[en,n,eo,eb,c,o,r,p,et]),eR=t.useCallback(async({blurScore:e,detectedCard:t,glareScore:n})=>{L.current=!0;let a=E.current;if(c.enableBlurCheck&&q.current.push(e),c.enableGlareCheck&&U.current.push(n),eA({currentFrameBlurScore:a.blurScore,currentFrameGlareScore:a.glareScore,incomingFrameBlurScore:e,incomingFrameGlareScore:n,settings:c,blurLargeThreshold:o,blurSmallThreshold:r})){let r=h.current;a.hash=eT({canvas:r,cardPosition:t,quality:p}),a.imageBlob=await v.takePicture({canvas:r,quality:p}),a.captureDuration+=Date.now()-a.captureTime,a.captureTime=Date.now(),a.blurScore=e,a.glareScore=n,a.detectedCard=t,a.captureCount++,a.captureType="manual",a.qrScannedResults=et(),W.current=!0}L.current=!1},[o,r,p,c,et]),eW=t.useCallback(async()=>{let{autoCaptureWaitForBestImageTimeMs:e}=c,t=T.current;if(null!==t.imageBlob&&new Date().getTime()-j.current>e){let e=await ef();await eC(),await m({...t,...e}),Z(!1),j.current=null}},[c,ef,eC,m]),eO=t.useCallback(()=>{A.current=!0},[]),ez=t.useCallback(()=>new Promise(e=>{A.current=!1;let t=setInterval(()=>{L.current||(clearInterval(t),e())},150)}),[]),eN=t.useCallback(async()=>(await en({videoEl:n.current,resultAnalyzeVideoAndWindowSizes:$.current,recordVideoSettings:eo}),eb(),new Promise(e=>{let{enableVirtualCamHashes:t,manualCaptureWaitForBestImageTimeMs:n}=c,a=E.current;if(a.captureTime=Date.now(),F.current)Z(!0),eO(),setTimeout(()=>{ez().then(async()=>{await eC(),(a.blurScore?.small<=r||a.blurScore?.large<=o)&&(a.error=tc.id_detector_error_blur);let n=h.current;if(null===a.imageBlob){let r=eT({canvas:n,cardPosition:a.detectedCard});v.takePicture({canvas:n,quality:p}).then(async o=>{a.imageBlob=o,a.captureTime=Date.now(),a.hash=r,t&&await em(a.detectedCard);let n=await ef();e({...a,...n,qrScannedResults:et()})})}else{t&&await em(a.detectedCard);let r=await ef();e({...a,...r,qrScannedResults:et()})}Z(!1)})},n);else{let r=eT({canvas:h.current,cardPosition:B.current,quality:p});v.takePicture({canvas:h.current,quality:p}).then(async o=>{a.imageBlob=o,a.captureTime=Date.now(),a.hash=r,t&&await em(a.detectedCard),e({...a,qrScannedResults:et()})})}})),[en,n,eo,eb,c,eO,ez,ef,eC,r,o,p,em,et]),eV=t.useRef(null),eQ=t.useRef(null),eq=t.useRef({});t.useEffect(()=>(f&&(eV.current=document.createElement("canvas"),eV.current.width=ey,eV.current.height=ev,document.body.appendChild(eV.current),eV.current.style.position="fixed",eV.current.style.bottom="0",eV.current.style.right="0",eV.current.style.zIndex="9999",eQ.current=document.createElement("canvas"),eQ.current.width=150,eQ.current.height=170,document.body.appendChild(eQ.current),eQ.current.style.position="fixed",eQ.current.style.bottom="0",eQ.current.style.left="0",eQ.current.style.zIndex="9999"),()=>{f&&(document.body.removeChild(eV.current),document.body.removeChild(eQ.current))}),[f]);let eU=t.useCallback(async(e,t)=>{let r=[],o=[];try{let{blazefaceModel:s}=O.current,i=P.drawToSquareCanvas(e);o=await s.estimateFaces(i);let l=eF(t),{resizedWidth:u,resizedHeight:g}={resizedWidth:d.RESIZE_IMAGE_WIDTH,resizedHeight:d.RESIZE_IMAGE_HEIGHT};if(o.length>0){let e=o[0],n=function(e,t,r){let{topLeft:o,bottomRight:n}=e,a=n[0]-o[0],s=n[1]-o[1],i=[o[0]-t.left*a,o[1]-t.top*s],l=[n[0]+t.right*a,n[1]+t.bottom*s],{topLeft:c,bottomRight:d}=eF(r);return i[0]=Math.max(i[0],c.x),i[1]=Math.max(i[1],c.y),l[0]=Math.min(l[0],d.x),l[1]=Math.min(l[1],d.y),{portraitTopLeft:i,portraitBottomRight:l}}(e,c.blurFullFaceImageRatio,t),a=function(e,t){let{cv:r}=window;if(!r)throw Error("Opencv not found!");let{topLeft:o,topRight:n,bottomRight:a,bottomLeft:s,maxWidth:i,maxHeight:l}=t,{portraitTopLeft:c,portraitBottomRight:u}=e,g=r.matFromArray(4,1,r.CV_32FC2,[o.x,o.y,n.x,n.y,a.x,a.y,s.x,s.y]),k=r.matFromArray(4,1,r.CV_32FC2,[0,0,i-1,0,i-1,l-1,0,l-1]),m=r.getPerspectiveTransform(g,k),p=e=>{let t=r.matFromArray(1,1,r.CV_32FC2,[e[0],e[1]]),o=new r.Mat;r.perspectiveTransform(t,o,m);let n=o.data32F;t.delete(),o.delete();let a=Math.max(0,Math.min(n[0]*(d.RESIZE_IMAGE_WIDTH/i),i));return[a,Math.max(0,Math.min(n[1]*(d.RESIZE_IMAGE_HEIGHT/l),l))]},f=p(c),h=p(u);return g.delete(),k.delete(),m.delete(),[parseInt(f[0],10),parseInt(f[1],10),parseInt(h[0],10),parseInt(h[1],10)]}(n,l),s=function(e,t,r){let[o,n,a,s]=e,i=[];return n>0&&i.push([0,0,t,parseInt(n,10)]),s<r&&i.push([0,parseInt(s,10),t,r]),o>0&&i.push([0,parseInt(n,10),parseInt(o,10),parseInt(s,10)]),a<t&&i.push([parseInt(a,10),parseInt(n,10),t,parseInt(s,10)]),i}(a,u,g);r.push({lapType:"small",bboxes:s}),r.push({lapType:"large",bboxes:[a]})}else{var n,a;let e,[t,o]=(n=u,a=g,e=parseInt(a/2,10),[[0,0,n,e],[0,e,n,a]]);r.push({lapType:"small",bboxes:[o]}),r.push({lapType:"small",bboxes:[t]})}return{bboxes:r,facePredictions:o}}catch(e){return console.error(e),{bboxes:r,facePredictions:o}}},[c]),eX=t.useCallback(async({result:e,workingCanvas:t})=>{let a,s,{cropX:i,cropY:g,cropWidth:m,cropHeight:p,cropWidthWithoutPadding:h,cropHeightWithoutPadding:_}=$.current,{enableBlurCheck:B,enableGlareCheck:b,glareThreshold:C,isVietnameseCardFlow:w,hasFrontFace:y,hasBackFace:v,genericEnableCheckFrontFace:S,genericEnableCheckBackFace:R}=c,{blazefaceModel:I,blurDetector:M}=O.current,D={error:null};try{let n;if(!e.card)throw Error(k?"id_detector_front_no_cards":"id_detector_back_no_cards");if(D.detectedCard=e.card,!await x.validatePadding({corners:e.card.corners,width:m,height:p}))throw Error("id_detector_error_incomplete");if(!await x.validateAngles(e.card.corners))throw Error("id_detector_validate_angle_error");let i=await eI(t,e.card.corners),g=l.rectAreaRatio({small:{area:i.width*i.height},big:{area:h*_}});if(g<.5)throw Error("id_detector_card_too_small");if(g>.95)throw Error("id_detector_error_incomplete");if(w&&u(c,"enableCardTypeCheck")){let t=u(e,"card.label",""),{isAllowed:r,cardType:o}=((e,t)=>{let r=e.split(".")?.[0];if(r!==t[0].split(".")?.[0])return{isAllowed:!1,cardType:""};if(t.includes("vn.national_id"))return{isAllowed:!0,cardType:e.replace(/\.front|\.back/g,"")};if(e.includes("vn.cmnd_new.back")&&t.includes("vn.cccd")||e.includes("vn.cccd.back")&&t.includes("vn.cmnd_new"))return{isAllowed:!0,cardType:"vn.cccd"};let o=t.map(e=>e.replace("vn.","")),n=e.split(".")?.filter(e=>"front"!==e&&"back"!==e&&"vn"!==e);return o.some(e=>n.includes(e))?{isAllowed:!0,cardType:`vn.${n.join(".")}`}:{isAllowed:!1,cardType:""}})(t,H.map(e=>e.code));if(!r)throw Error("not_allowed_card_types");D.detectedCard={...D.detectedCard,cardType:o}}w||(D.detectedCard={...D.detectedCard,cardType:H?.[0]?.code});let f=document.createElement("canvas"),P=f.getContext("2d");f.width=i.width,f.height=i.height,P.putImageData(i,0,0),c.enableScanQRBackground&&(k?c.hasFrontQr:c.hasBackQr)&&Y(f,t);let[$,T]=b?await e$({canvas:f,glareThreshold:C}):[!1];if(D.glareScore=T,eq.current={...eq.current,glare_score:T,is_glare:$},$)throw Error("glare_detected");if(n=w?await eM({blazefaceModel:I,predictedIdCardCanvas:f,frontSide:k}):await eD({blazefaceModel:I,predictedIdCardCanvas:f,frontSide:k,hasFrontFace:y,hasBackFace:v,genericEnableCheckFrontFace:S,genericEnableCheckBackFace:R}))throw Error(n?.code);if(w){let t=u(e,"card.label",""),r=x.isFrontSide(t)||x.isBackSide(t);if(r&&k&&x.isBackSide(t))throw Error("id_detector_invalid_front_card");if(r&&!k&&x.isFrontSide(t))throw Error("id_detector_invalid_back_card")}if(B){let n=u(e,"card.label"),i=u(e,"card.corners");if(w)a=d.VnCardsBboxes[n];else{let e=await eU(t,i);a=e.bboxes,s=e.facePredictions}let[l,g]=M.predict({canvas:t,cardCorners:i,bboxes:a,smallThreshold:r,largeThreshold:o}),k={small:ej(g?.[0],c.blurSmallDecimal),large:ej(g?.[1],c.blurLargeDecimal)};if(eq.current={...eq.current,blur_small:k.small,blur_large:k.large,blur_verdict:l},D.blurScore=k,"blurry"===l)throw Error("id_detector_error_blurry")}}catch(e){D.error={code:e.message}}if(f){var T,E,j,A,L,F,W,z;let r,o,l,c=u(e,"card.label"),d=u(e,"card.corners");eq.current={...eq.current,label:c,corner_size:d?.length},eq.current={...eq.current,...er()},P.drawDebugCanvas(eQ.current,eq.current);let k=ey/t.width,f=eV.current.getContext("2d");f.clearRect(0,0,eV.current.width,eV.current.height),f.drawImage(n.current,i,g,m,p,0,0,t.width*k,t.height*k);s&&a&&d&&(T=f,E=s,j=a,A=d,L=k,r=A.find(e=>"top-left"===e.label).location,Array.isArray(E)&&E.length>0&&function(e,t,r,o){if(!r)return;r.strokeStyle=t,r.lineWidth=2;let n=e.topLeft,a=e.bottomRight,s=n[0]*o,i=n[1]*o,l=a[0]*o,c=a[1]*o;r.strokeRect(s,i,l-s,c-i)}(E[0],"black",T,L),o=j.filter(e=>"small"===e.lapType),o.length>0&&o.forEach(e=>{eL(e.bboxes,"blue",T,L,r)}),l=j.filter(e=>"large"===e.lapType),l.length>0&&l.forEach(e=>{eL(e.bboxes,"green",T,L,r)}),F=A.map(e=>e.location),W=T,z=L,W&&(W.strokeStyle="red",W.lineWidth=2,F.forEach(e=>{let t=e.x*z,r=e.y*z;W.beginPath(),W.arc(t,r,5,0,2*Math.PI),W.stroke()})))}return D},[c,f,n,H,k,r,o,eU,Y,er]),eH=t.useCallback(async()=>{if(!c||!M||I.current)return;T.current=td(),E.current=tu();let{enableVirtualCamHashes:e}=c,{idCardModel:t,ableToUseModel:r}=O.current,o=$.current,a=n.current;I.current=!0;let{cropX:s,cropY:i,cropWidth:l,cropHeight:d}=o,k=h.current;k.width=l,k.height=d;let p=k.getContext("2d"),f=async()=>{if(!1===I.current)return;await ei({videoEl:n.current,resultAnalyzeVideoAndWindowSizes:$.current,recordVideoSettings:eo});let o=K.current;p.drawImage(a,s,i,l,d,0,0,l,d);let h=performance.now();if(W.current=!1,V&&r){let r=await t.predict(k);!c?.trackCardCoordinates||E.current.imageBlob||T.current.imageBlob||C.current.push((e=>{let t=u(e,"card.corners");if(t&&Array.isArray(t)&&t.length>0){let{x:e,y:r}=u(t,"[0].location");return`${e}:${r}`}return"-1:-1"})(r)),b.current||E.current.imageBlob||!(_.current.length>0)||(_.current=[],b.current=!1),b.current&&setTimeout(async()=>{e&&await em(T.current.detectedCard),await m(T.current),ew(),b.current=!1},0);let o=await eX({result:r,workingCanvas:k});g(o.error),!o.error&&(A.current&&await eR({blurScore:o.blurScore,detectedCard:o.detectedCard,glareScore:o.glareScore}),X.current&&(J.current||(J.current=!0,Z(!0)),await ex({blurScore:o.blurScore,detectedCard:o.detectedCard,glareScore:o.glareScore}))),await eW()}let B=180-(h=Math.floor(performance.now()-h))>0?180-h:0;await new Promise(e=>setTimeout(e,B)),o===K.current&&(K.current=window.requestAnimationFrame(f))};K.current=window.requestAnimationFrame(f)},[c,M,n,ei,eo,V,eX,g,eW,m,ew,em,eR,ex]);t.useEffect(()=>{let e=n.current;async function t(){$.current=v.analyzeVideoAndWindowSizes(e,i,.05);let{cropWidth:t,cropHeight:r}=$.current;!e.videoWidth||!e.videoHeight||Number.isNaN(t)||Number.isNaN(r)||await eH()}return s&&i&&M&&t(),()=>{ew(),cancelAnimationFrame(K.current),K.current=null}},[s,i,n,ew,eH,M]);let eK=t.useCallback(()=>{ew(),cancelAnimationFrame(K.current),K.current=null},[ew]);return t.useEffect(()=>eK,[eK]),{isCapturing:G,refWorkingCanvas:h,stopCheckFrame:ew,checkFrame:eH,warmupDone:M,takePictureManually:eN,refAbleToRunBurstMode:F,refVirtualFrames:_,refCardCoordinates:C,refBlurScores:q,refGlareScores:U,resetState:eP,resetRecordVideo:ep,getQRDebugInfo:er}}({isAutoCapture:V,refVideo:r,shouldStart:e,cropArea:o,settings:n,onError:G,frontSide:i,onAutoCaptureSuccess:K,quality:f??n?.imageSettings.imageQuality,blurSmallThreshold:Z,blurLargeThreshold:J,debug:W});ek();let ep=t.useCallback(()=>{eu(),et(),k()},[et,eu,k]),{resumeTimer:ef,pauseTimer:eh}=(e=>{let{interruptible:r=!0,totalTime:o,maxRetriesSettings:n,onAboutToTimeout:a,onTimeout:s,shouldStart:i,onError:l}=e,c=t.useRef(new I({totalTime:o,interruptible:r}));t.useEffect(()=>c.current.on("tick",({remainTime:e})=>{e>=0&&e<=o/3&&"function"==typeof a&&a({curTimeLeft:e})}),[s,a,o,r]),t.useEffect(()=>c.current.on("reset",({attemptCount:e})=>{r&&c.current.pause(),s(),n?.enable&&e>=n?.total&&l(d.Errors.max_retry_reached)}),[s,l,n?.enable,n?.total,r]),t.useEffect(()=>i?c.current.start():()=>{},[i]);let u=t.useCallback(()=>{c.current.resume()},[]);return{resumeTimer:u,pauseTimer:t.useCallback(()=>{c.current.pause()},[])}})({shouldStart:eo&&e&&n?.enableTimers,onAboutToTimeout:g,onTimeout:ep,onError:z,totalTime:n?.idCardSessionTime,maxRetriesSettings:n?.maxRetriesSettings,interruptible:n?.timerInterruptible}),e_=t.useCallback(()=>{h.current=!1},[]),eB=t.useCallback(async()=>{e_(),ef(),ed(),B(!1),N(i?"keep_front_id_fit_border":"keep_back_id_fit_border"),await Promise.all([er()])},[e_,ed,N,i,er,ef]),eb=t.useCallback(async(e={})=>{let t,{imageBlob:r,error:o,detectedCard:a,captureTime:s,captureCount:l,captureDuration:c,captureType:d,hash:u,blurScore:g,glareScore:k,fullVideo:f,capturingVideo:_,qrScannedResults:b}=e;if(h.current)return;h.current=!0,B(!0),et(),eh(),G(null);let w=n?.enableVirtualCamHashes,y=n?.enableGlareCheck,v=n?.enableBlurCheck,P={};if(w&&null!==u){let e=[u,...es.current];e.length>0&&(P=e.reduce((e,t,r)=>(e[`hash${r+1}`]=t,e),{}))}let x=n?.trackCardCoordinates,S=n?.trackCardCoordinatesMaxLength??150,R=`[${ei.current.slice(-S).toString()}]`,I=b;if(b?.imageBlob){let{qr_scan_attempts:e,qr_found:t}=em(),r=await T.writeCurrentExif({imageData:{blob:b.imageBlob},enableExifData:n?.enableExifData,additionalData:{scan_qr_background:{qr_scan_attempts:e,qr_found:t}}});I={...b,imageBlob:r}}if(T.addExifData("user_action",{start_id_card:L.current,end_id_card:Date.now()}),T.addExifData("id_detection_settings.blur_check.large_threshold",J),T.addExifData("id_detection_settings.blur_check.small_threshold",Z),T.addExifData("capture_time",s),T.addExifData("type",a?.label),w&&T.addExifData("v_cam",P),T.addExifData("capture_count",l),T.addExifData("capture_duration",c),T.addExifData("capture_type",d),x&&T.addExifData("card_tracking",R),v&&(T.addExifData("model_score.blurry_score",g),T.addExifData("blur_score_frames",JSON.stringify(el.current))),y&&(T.addExifData("model_score.glare_score",k),T.addExifData("glare_score_frames",JSON.stringify(ec.current))),n?.enableScanQRBackground){let{qr_scan_attempts:e,qr_found:t}=em();T.addExifData("scan_qr_background",{qr_scan_attempts:e,qr_found:t})}let $=await T.writeCurrentExif({imageData:{blob:r},enableExifData:n?.enableExifData});if(p&&p.key){let{key:e}=p;t=await E.encrypt({blob:$,key:e}),_&&_.blob&&(_.encrypted=await E.encrypt({blob:_.blob,key:e})),f&&f.blob&&(f.encrypted=await E.encrypt({blob:f.blob,key:e}))}m({image:{blob:$,encrypted:t,detectedCard:a},error:o,recordedVideos:[],fullVideo:f,capturingVideo:_,qrScannedResults:I}),C({tag:i?"id_front":"id_back",event:"user_activity",log:{time_capture_in_seconds:(performance.now()-F.current)/1e3}})},[et,n?.enableVirtualCamHashes,n?.enableGlareCheck,n?.enableBlurCheck,n?.trackCardCoordinates,n?.trackCardCoordinatesMaxLength,n?.enableExifData,n?.enableScanQRBackground,G,ei,J,Z,el,ec,p,m,C,i,eh,es,em]);b.current=eb;let eC=t.useCallback(async()=>{B(!0),eh(),ea.current||et();let e=await en();await eb(e),B(!1),C({tag:i?"id_front":"id_back",event:"user_activity.capture",log:{}})},[en,eb,eh,ea,et,C,i]);return t.useEffect(()=>{e&&(C({tag:i?"id_front":"id_back",event:"user_activity.start",log:{}}),L.current=Date.now())},[C,i,e]),t.useEffect(()=>{eo&&(C({tag:i?"id_front":"id_back",event:"user_activity.show",log:{}}),C({tag:i?"id_front":"id_back",event:"sdk.load_model",log:{status:"success",time_in_ms:Date.now()-L.current}}),F.current=performance.now(),!async function(){let{resourceReport:e,measureReport:t}=await j.reportAll();Object.values(e).forEach(e=>{C({tag:i?"id_front":"id_back",event:"sdk.download_model",log:e})}),Object.values(t).forEach(e=>{C({tag:i?"id_front":"id_back",event:"sdk.init_model",log:e})})}())},[C,i,eo]),t.useEffect(()=>{eo&&N(i?"keep_front_id_fit_border":"keep_back_id_fit_border")},[i,N,eo]),{warmupDone:eo,isProcessing:_||Y,isPostProcessing:_,isAutoCapturing:Y,takePictureManually:eC,restartSession:eB,resetIsProcessingImageBlobTaken:e_,isAutoCaptureModeOn:V,onToggleAutoCaptureMode:q,autoCaptureDuration:H}})({shouldStart:!0,refVideo:k,cropArea:es,settings:f,onModelErrorChange:ew,frontSide:m,allowedCardTypes:p,onDebugInfoChange:ee,onSessionTimeout:eP,onCaptureDone:ex,onAboutToTimeout:t.useCallback(({curTimeLeft:e})=>{eo(et("remaining_time",{x:e}))},[et]),outputEncryptionSettings:b}),eK=t.useCallback(()=>{eu({popupType:null}),eV()},[eu,eV]),e8=t.useCallback(async()=>{e_(!1),eK(),await eN()},[eK,eN]);eB.current=e8;let e9=n("IDCapturing.backgroundColor")({theme:z}),{showCaptureButtonInAuto:e4=!0,showHoldStillProgress:e7=!1,showAutoCaptureToggle:e1}=f??{};t.useEffect(()=>{if(g){let e,t,r,n,a,s,i,{videoAreaWidth:l,videoAreaHeight:d,lostX:u,lostY:k,clientHeight:m}=g;c?a=.7*(s=d-165):s=Math.floor(Math.min((a=o.isMobile?l-40:Math.floor(.4*l))/1.5,m-2*k-80-100)),n=(e=(i=k+140)-70)+30,r=e1?i+s+20:i+s,t=i+s+135,ed({x:Math.floor((l-a)/2)+u,y:i,width:a,height:s,surroundStyle:{backgroundColor:e9}});let p={yTitle:e,yMessage:n,yCaptureButton:t,yToggleButton:r,yInstruction:i+s/2-100,yCountdown:r+35};V(p),_(p)}},[z.themeVersion,g,c,_,e9,e1]);let e6=t.useCallback(async()=>{eo(""),await ez()},[ez]);t.useImperativeHandle(s,()=>({restartSession:e8}),[e8]);let to=eO&&eW||O||!en;return r.jsxs(r.Fragment,{children:[!eR&&r.jsx(ei,{}),ef&&r.jsx(eG,{children:JSON.stringify(Y,null,2)}),e7&&!eO&&eW&&r.jsx(eq,{children:r.jsx("img",{src:J,alt:"loading icon"})}),!e7&&(eO||eW)&&r.jsx(eq,{children:r.jsx("img",{src:J,alt:"loading icon"})}),es&&r.jsx(el,{x:`${es.x}px`,y:`${es.y}px`,width:`${es.width}px`,height:`${es.height}px`,surroundStyle:es.surroundStyle,children:r.jsx(e2,{width:es.width,height:es.height,type:to?eb:eC})}),!eO&&en&&r.jsxs(e5,{y:`${X}px`,children:[r.jsx("div",{style:{height:56,width:56}}),r.jsx(e0,{children:L.getStringWithLineBreak(en)})]}),e7&&eO&&r.jsxs(e5,{y:`${X+45}px`,children:[r.jsx(F,{duration:eH,onCircleAnimationEnd:()=>{e_(!0)}}),r.jsx(e0,{$isDone:eh,children:eh?et("id_capture.instruction.capturing_done"):et("id_capture.instruction.hold_still")})]}),e1&&r.jsxs(e3,{y:`${U}px`,children:[r.jsx("span",{children:et("toggle_id_capture_mode")}),r.jsx(tm,{checked:eU,disabled:eO||eW||O,onChange:eX})]}),(!eU||e4)&&r.jsx(eQ,{onClick:e6,y:`${q}px`,disabled:f?.disableCaptureButtonIfAlert&&en||eO||eW||O,children:en?r.jsx("img",{src:G,alt:"capture button disabled"}):r.jsx("img",{src:K,alt:"capture button enabled"})}),r.jsx(eZ,{y:`${Q}px`,children:i}),er&&r.jsxs(eJ,{y:`${H}px`,children:[r.jsx(W,{color:Z}),r.jsx(eY,{className:"message",y:`${H}px`,children:er},er)]}),r.jsx(ec,{open:em,children:ep===tr&&r.jsx(te,{onOk:e8,maxSessionTime:f?.idCardSessionTime})})]})});tp.propTypes={usePortraitMask:e.bool,description:e.string,windowAndVideoInfo:e.shape({}),refVideo:e.shape({}),frontSide:e.bool,allowedCardTypes:e.arrayOf(e.string),settings:e.shape({}),onCaptureDone:e.func,onUISpacingChange:e.func,outputEncryptionSettings:e.shape({}),isShowingSpinner:e.bool},tp.defaultProps={usePortraitMask:!1,description:"",windowAndVideoInfo:{},refVideo:{},frontSide:!0,allowedCardTypes:[],settings:{},onCaptureDone:()=>{},onUISpacingChange:()=>{},outputEncryptionSettings:null,isShowingSpinner:!1};let tf=e=>{let{children:t,mt:r,mb:o,ml:n,mr:a,mx:s,my:i,pt:l,pb:c,pl:d,pr:u,px:g,py:k}=e,m=t.props.style||{},p={};return null!==s&&(p.marginLeft=s,p.marginRight=s),null!==i&&(p.marginTop=i,p.marginBottom=i),null!==r&&(p.marginTop=r),null!==o&&(p.marginBottom=o),null!==n&&(p.marginLeft=n),null!==a&&(p.marginRight=a),null!==g&&(p.paddingLeft=g,p.paddingRight=g),null!==k&&(p.paddingTop=k,p.paddingBottom=k),null!==l&&(p.paddingTop=l),null!==c&&(p.paddingBottom=c),null!==d&&(p.paddingLeft=d),null!==u&&(p.paddingRight=u),O.cloneElement(t,{style:{...m,...p}})},th=g.div`
255
+ `,tf=({checked:e,onChange:t,disabled:o=!1})=>r.jsxs(tk,{$disabled:o,children:[r.jsx("input",{type:"checkbox",checked:e,onChange:t}),r.jsx(tm,{className:"slider"})]}),tp=t.forwardRef((e,a)=>{let{description:s,usePortraitMask:l,windowAndVideoInfo:g,refVideo:k,frontSide:m,allowedCardTypes:f,settings:p,onCaptureDone:h,onUISpacingChange:_,outputEncryptionSettings:B,isShowingSpinner:z}=e,O=b(),[N,V]=t.useState({}),{yMessage:Q,yCaptureButton:q,yToggleButton:U,yInstruction:X,yCountdown:K}=N,H=A("IDCapturing.captureIcon.src","ic_camera.svg"),G=A("IDCapturing.captureIcon.disabled.src","ic_camera.svg"),Z=n("IDCapturing.countdown.color")({theme:O}),J=A("IDCapturing.loadingIcon.src","ic_loading.gif"),[Y,ee]=t.useState(""),et=C(),[er,eo]=t.useState(null),[en,ea]=t.useState(""),[ei,ed]=t.useState(null),{showPopup:eu,popupShown:em,popupType:ef}=tt(),ep=ek(),[eh,e_]=t.useState(!1),eb=t.useRef(()=>{}),ew=t.useCallback(e=>{null===e?ea(""):ea(et(e?.code,{side:m?et("front"):et("back")}))},[et,m]),eP=t.useCallback(()=>{eo(""),eb.current()},[]),ex=t.useCallback((...e)=>{eo(""),h(...e)},[h]),{warmupDone:eR,isPostProcessing:eW,isAutoCapturing:ez,takePictureManually:eO,restartSession:eN,resetIsProcessingImageBlobTaken:eV,isAutoCaptureModeOn:eU,onToggleAutoCaptureMode:eX,autoCaptureDuration:eK}=(({shouldStart:e,refVideo:r,cropArea:o,settings:n,onModelErrorChange:a,frontSide:s,onDebugInfoChange:l,onAboutToTimeout:g,onSessionTimeout:k,onCaptureDone:m,outputEncryptionSettings:f,quality:p})=>{let h=t.useRef(!1),[_,b]=t.useState(!1),B=t.useRef(()=>{}),{sendEvent:C}=M.useSDKTracking(),A=t.useRef(),L=t.useRef(),F=t.useRef(),W=ek(),{enableAntiDebug:z}=y.useSDKSettings(),{onErrorCallback:O}=eg(),{playVoice:N}=$.useVoicePlayer(),[V,Q]=t.useState(d(n,"enableAutoCapture")),q=t.useCallback(()=>{Q(e=>!e)},[]),{autoCaptureWaitForBestImageTimeMs:U,manualCaptureWaitForBestImageTimeMs:X}=n,K=V?U:X;t.useEffect(()=>{z&&D.enableAntiDebug()},[z]);let H=t.useCallback(async e=>{C({tag:s?"id_front":"id_back",event:"sdk_ui.auto_capture",log:{}}),b(!1),await B.current(e)},[C,s]),G=t.useCallback((...e)=>{a(...e);let t=d(e,"0.code");t&&t!==A.current&&(C({tag:s?"id_front":"id_back",event:"sdk_ui.show_alert",log:{alert:t}}),A.current=t)},[a,s,C]),Z=t.useMemo(()=>V?n.blurSmallThresholdAuto:n.blurSmallThresholdManual,[V,n.blurSmallThresholdAuto,n.blurSmallThresholdManual]),J=t.useMemo(()=>n.enableAutoCapture||V?n.blurLargeThresholdAuto:n.blurLargeThresholdManual,[V,n.blurLargeThresholdAuto,n.blurLargeThresholdManual,n.enableAutoCapture]),{isCapturing:Y,refWorkingCanvas:ee,stopCheckFrame:et,checkFrame:er,warmupDone:eo,takePictureManually:en,refAbleToRunBurstMode:ea,refVirtualFrames:ei,refCardCoordinates:es,refBlurScores:el,refGlareScores:ec,resetState:ed,resetRecordVideo:eu,getQRDebugInfo:em}=function({isAutoCapture:e,blurSmallThreshold:r,blurLargeThreshold:o,refVideo:n,shouldStart:a,cropArea:s,settings:l,onError:g,frontSide:k,onAutoCaptureSuccess:m,quality:f,debug:p}){let h=t.useRef(null);null===h.current&&(h.current=document.createElement("canvas"));let _=t.useRef([]),b=t.useRef({}),B=t.useRef(!1),C=t.useRef([]),I=t.useRef(!1),M=t.useRef(null),[$,D]=t.useState(!1),T=t.useRef(tu()),E=t.useRef(tg()),j=t.useRef(null),A=t.useRef(!1),L=t.useRef(!1),F=t.useRef(null),W=t.useRef(!1),z=t.useRef({}),{customUrls:O}=y.useSDKSettings(),{onErrorCallback:N}=eg(),[V,Q]=t.useState(!0),q=t.useRef([]),U=t.useRef([]),X=t.useRef(e),{allowedCards:K}=l,H=t.useRef(null),[G,Z]=t.useState(!1),J=t.useRef(!1),{scanFrame:Y,reset:ee,getScannedResult:et,getDebugInfo:er}=function({cardQRConfig:e,quality:r}){let o=t.useRef(new Set),n=t.useRef(null),a=t.useRef(!1),s=t.useRef(!1),l=t.useRef(0),c=t.useCallback(()=>{o.current=new Set,n.current=null,a.current=!1,s.current=!1,l.current=0},[]),d=t.useCallback((t,c)=>{if(!e||a.current||s.current)return;a.current=!0,l.current+=1;let{regions:d,isValidPayload:u,strategy:g}=e,k=i.getOpenCV(),{width:m,height:f}=t,p=t.getContext("2d"),h=c.getContext("2d").getImageData(0,0,c.width,c.height),_=g===eS?e=>k.detectAndDecodeRaw(e):e=>k.detectAndDecode(e).then(e=>e?[e]:[]);Promise.all(d.map(e=>_((({x:e,y:t,w:r,h:o})=>p.getImageData(Math.round(e*m),Math.round(t*f),Math.round(r*m),Math.round(o*f)))(e)))).then(t=>{let i=t.flat(),l=o.current.size>0;if(i.forEach(e=>{u(e)&&o.current.add(e)}),!l&&o.current.size>0&&null===n.current){let e=document.createElement("canvas");e.width=h.width,e.height=h.height,e.getContext("2d").putImageData(h,0,0),e.toBlob(e=>{n.current=e},"image/jpeg",r)}!s.current&&e.pickResults([...o.current]).length>0&&(s.current=!0),a.current=!1}).catch(e=>{console.warn("QR scan failed",e),a.current=!1})},[e,r]),u=t.useCallback(()=>{let t=[...o.current];return{results:e?.pickResults?e.pickResults(t):t,imageBlob:n.current}},[e]);return{scanFrame:d,reset:c,getScannedResult:u,getDebugInfo:t.useCallback(()=>({qr_scan_attempts:l.current,qr_found:o.current.size,qr_scan_running:a.current}),[])}}({cardQRConfig:l?.cardQRConfig,quality:f}),{checkBlur:eo,getBlurRuntimeSummary:en}=function({blazefaceModel:e,blurDetector:r}){let o=t.useRef(null),n=t.useRef({totalDetectionMs:0,totalPredictMs:0,totalBboxCalcMs:0,count:0,flowType:"generic_front"}),a=t.useCallback(()=>{let{totalDetectionMs:e,totalPredictMs:t,totalBboxCalcMs:r,count:o,flowType:a}=n.current;return 0===o?{avg_detection_ms:0,avg_predict_ms:0,avg_bbox_calc_ms:0,check_count:0,flow_type:a}:{avg_detection_ms:Math.round(e/o),avg_predict_ms:Math.round(t/o),avg_bbox_calc_ms:Math.round(r/o),check_count:o,flow_type:a}},[]);return{checkBlur:t.useCallback(async({workingCanvas:t,result:a,frontSide:i,blurSmallThreshold:s,blurLargeThreshold:l,isVietnameseCardFlow:c,blurSmallDecimal:g,blurLargeDecimal:k,blurFullFaceImageRatio:m})=>{let f,p;if(!r)return ti;let h=performance.now(),_="generic_back";c?_="vn":i&&(_="generic_front");let b=d(a,"card.label"),B=d(a,"card.corners"),C=[],w=0;if(c)p={canvas:t,cardCorners:B,bboxes:f=b?u.VnCardsBboxes[b]:void 0,smallThreshold:s,largeThreshold:l};else if(i){let r=[],n=performance.now();try{if(e){let{width:n,height:a}=t,i=Math.max(n,a);o.current||(o.current=document.createElement("canvas"));let s=o.current;s.width=i,s.height=i;let l=s.getContext("2d");l.fillStyle="#000",l.fillRect(0,0,i,i),l.drawImage(t,0,0,n,a),C=await e.estimateFaces(s);let c=eF(B);if(C.length>0){let e=C[0],t=function(e,t,r){let{topLeft:o,bottomRight:n}=e,a=n[0]-o[0],i=n[1]-o[1],s=[o[0]-t.left*a,o[1]-t.top*i],l=[n[0]+t.right*a,n[1]+t.bottom*i],{topLeft:c,bottomRight:d}=eF(r);return s[0]=Math.max(s[0],c.x),s[1]=Math.max(s[1],c.y),l[0]=Math.min(l[0],d.x),l[1]=Math.min(l[1],d.y),{portraitTopLeft:s,portraitBottomRight:l}}(e,m,B),o=function(e,t){let{cv:r}=window;if(!r)throw Error("Opencv not found!");let{topLeft:o,topRight:n,bottomRight:a,bottomLeft:i,maxWidth:s,maxHeight:l}=t,{portraitTopLeft:c,portraitBottomRight:d}=e,g=r.matFromArray(4,1,r.CV_32FC2,[o.x,o.y,n.x,n.y,a.x,a.y,i.x,i.y]),k=r.matFromArray(4,1,r.CV_32FC2,[0,0,s-1,0,s-1,l-1,0,l-1]),m=r.getPerspectiveTransform(g,k),f=e=>{let t=r.matFromArray(1,1,r.CV_32FC2,[e[0],e[1]]),o=new r.Mat;r.perspectiveTransform(t,o,m);let n=o.data32F;t.delete(),o.delete();let a=Math.max(0,Math.min(n[0]*(u.RESIZE_IMAGE_WIDTH/s),s));return[a,Math.max(0,Math.min(n[1]*(u.RESIZE_IMAGE_HEIGHT/l),l))]},p=f(c),h=f(d);return g.delete(),k.delete(),m.delete(),[parseInt(p[0],10),parseInt(p[1],10),parseInt(h[0],10),parseInt(h[1],10)]}(t,c);r.push({lapType:"small",bboxes:[o]})}}}catch(e){console.error(e)}w=Math.round(performance.now()-n),p={canvas:t,cardCorners:B,bboxes:[],ignoreBboxes:r,isFront:!0,smallThreshold:s,largeThreshold:l}}else p={canvas:t,cardCorners:B,bboxes:[],ignoreBboxes:[],isFront:!1,smallThreshold:s,largeThreshold:l};let y=performance.now(),[v,P]=r.predict(p),x=Math.round(performance.now()-y),S=Math.round(performance.now()-h),R={small:ej(P?.[0],g),large:ej(P?.[1],k)};return n.current.totalDetectionMs+=S,n.current.totalPredictMs+=x,n.current.totalBboxCalcMs+=w,n.current.count+=1,n.current.flowType=_,{blurScore:R,blurVerdict:v,facePredictions:C,bboxes:f,debugInfo:{blur_small:R.small,blur_large:R.large,blur_verdict:v,blur_predict_ms:x,blur_detection_ms:S,blur_flow_type:_,bbox_calc_ms:w}}},[e,r]),getBlurRuntimeSummary:a}}({blazefaceModel:z.current?.blazefaceModel,blurDetector:z.current?.blurDetector}),ea=t.useCallback(e=>eo({...e,blurSmallThreshold:r,blurLargeThreshold:o}),[eo,r,o]),{checkCardValidity:ei}=function({settings:e,frontSide:r,blazefaceModel:o,checkBlur:n,getBlurRuntimeSummary:a}){let{enableBlurCheck:i,enableGlareCheck:s,glareThreshold:l,isVietnameseCardFlow:d,hasFrontFace:u,hasBackFace:g,genericEnableCheckFrontFace:k,genericEnableCheckBackFace:m,enableCardTypeCheck:f,allowedCards:p,blurSmallDecimal:h,blurLargeDecimal:_,blurFullFaceImageRatio:b}=e;return{checkCardValidity:t.useCallback(async({result:e,workingCanvas:t,cropDimensions:B})=>{let C,{cropWidth:y,cropHeight:v,cropWidthWithoutPadding:P,cropHeightWithoutPadding:x}=B,S={error:null,detectedCard:null,predictedIdCardCanvas:null,blurScore:void 0,glareScore:void 0,runtime:void 0,facePredictions:void 0,bboxes:void 0,blurDebugInfo:void 0,glareDebugInfo:void 0},R=e=>({...S,error:{code:e}});if(!e.card)return R(r?"id_detector_front_no_cards":"id_detector_back_no_cards");if(S.detectedCard=e.card,!await w.validatePadding({corners:e.card.corners,width:y,height:v}))return R("id_detector_error_incomplete");if(!await w.validateAngles(e.card.corners))return R("id_detector_validate_angle_error");let I=await eI(t,e.card.corners),M=c.rectAreaRatio({small:{area:I.width*I.height},big:{area:P*x}});if(M<.5)return R("id_detector_card_too_small");if(M>.95)return R("id_detector_error_incomplete");if(d&&f){let{isAllowed:t,cardType:r}=((e,t)=>{let r=e.split(".")?.[0];if(r!==t[0].split(".")?.[0])return{isAllowed:!1,cardType:""};if(t.includes("vn.national_id"))return{isAllowed:!0,cardType:e.replace(/\.front|\.back/g,"")};if(e.includes("vn.cmnd_new.back")&&t.includes("vn.cccd")||e.includes("vn.cccd.back")&&t.includes("vn.cmnd_new"))return{isAllowed:!0,cardType:"vn.cccd"};let o=t.map(e=>e.replace("vn.","")),n=e.split(".")?.filter(e=>"front"!==e&&"back"!==e&&"vn"!==e);return o.some(e=>n.includes(e))?{isAllowed:!0,cardType:`vn.${n.join(".")}`}:{isAllowed:!1,cardType:""}})(e.card?.label??"",p.map(e=>e.code));if(!t)return R("not_allowed_card_types");S.detectedCard={...S.detectedCard,cardType:r}}d||(S.detectedCard={...S.detectedCard,cardType:p?.[0]?.code});let $=document.createElement("canvas"),D=$.getContext("2d");$.width=I.width,$.height=I.height,D.putImageData(I,0,0),S.predictedIdCardCanvas=$;let[T,E]=s?await eM({canvas:$,glareThreshold:l}):[!1];if(S.glareScore=E,S.glareDebugInfo={glare_score:E,is_glare:T},T)return R("glare_detected");if(C=d?await e$({blazefaceModel:o,predictedIdCardCanvas:$,frontSide:r}):await eD({blazefaceModel:o,predictedIdCardCanvas:$,frontSide:r,hasFrontFace:u,hasBackFace:g,genericEnableCheckFrontFace:k,genericEnableCheckBackFace:m}))return R(C?.code);if(d){let t=e.card?.label??"",o=w.isFrontSide(t)||w.isBackSide(t);if(o&&r&&w.isBackSide(t))return R("id_detector_invalid_front_card");if(o&&!r&&w.isFrontSide(t))return R("id_detector_invalid_back_card")}if(i){let o=await n({workingCanvas:t,result:e,frontSide:r,isVietnameseCardFlow:d,blurSmallDecimal:h,blurLargeDecimal:_,blurFullFaceImageRatio:b});if(S.facePredictions=o.facePredictions,S.bboxes=o.bboxes,S.blurDebugInfo=o.debugInfo,S.blurScore=o.blurScore,S.runtime={blur_detection:a()},"blurry"===o.blurVerdict)return R("id_detector_error_blurry")}return S},[i,s,l,d,u,g,k,m,f,p,h,_,b,r,n,a,o])}}({settings:l,frontSide:k,blazefaceModel:z.current?.blazefaceModel,checkBlur:ea,getBlurRuntimeSummary:en}),es=t.useMemo(()=>({videoFrameWidth:l.recordVideoFrameWidth,videoFrameHeight:l.recordVideoFrameHeight,videoBitrate:l.recordVideoBitrate,fps:l.recordVideoFps}),[l.recordVideoBitrate,l.recordVideoFps,l.recordVideoFrameHeight,l.recordVideoFrameWidth]),{startRecording:el,stopRecording:ec,resetRecording:ed}=tc({shouldRecord:t.useMemo(()=>k?l.enableRecordCapturingFront:l.enableRecordCapturingBack,[k,l.enableRecordCapturingBack,l.enableRecordCapturingFront])}),{startRecording:eu,stopRecording:ek,resetRecording:em}=tc({shouldRecord:t.useMemo(()=>k?l.enableRecordFullSessionFront:l.enableRecordFullSessionBack,[k,l.enableRecordFullSessionBack,l.enableRecordFullSessionFront])}),{turnOnFlashlight:ef,turnOffFlashlight:ep}=v(),eh=t.useRef(!1);t.useEffect(()=>{J.current=!1},[k]),t.useEffect(()=>{let e=!1;return async function t(){if(l&&!$){if(l.enableIdDetection){let e=((e,t)=>{if(0===e.length)return{isValid:!1};let r=[];return(e.forEach(e=>{let o=t[e];if(o)return void r.push(o);let n=e.split("."),a=t[`${n[0]}.*`];a?r.push(a):r.push({model:u.IdCardModelName.model_vn,force_off_detection:!1})}),r.every(e=>e.model===r[0].model))?{isValid:!0,cardModel:r[0].model,forceOffDetection:r[0].force_off_detection}:{isValid:!1}})(K.map(e=>e.code),l?.cardTypeModelMapping);if(!e.isValid){N(td.invalid_card_type_config),Q(!1),D(!0);return}let t=O.idCardModelUrls[e.cardModel];z.current=await x({...O,idCardModelUrl:t},e.cardModel),await S.initTensorFlow(),F.current=l.enableBlurCheck&&z.current.ableToUseModel,Q(!e.forceOffDetection)}else Q(!1),F.current=!1;e||D(!0)}}(),()=>{e=!0}},[$,l,O,K,N]),t.useEffect(()=>{X.current=e},[e]);let e_=t.useCallback(async e=>{_.current=await eE({canvas:h.current,cardPosition:e,quality:f})},[f]),eb=t.useCallback(()=>{G||(ed(),em())},[G,ed,em]),eB=t.useCallback(async()=>{let e={capturingVideo:{blob:null},fullVideo:{blob:null}},t=await ec();e.capturingVideo.blob=t?.[0]??null;let r=await ek();return e.fullVideo.blob=r?.[0]??null,e},[ec,ek]),eC=t.useMemo(()=>k?l.enableFlashlightFront:l.enableFlashlightBack,[k,l.enableFlashlightBack,l.enableFlashlightFront]),ew=t.useMemo(()=>k?l.flashlightActivationDelayFront:l.flashlightActivationDelayBack,[k,l.flashlightActivationDelayBack,l.flashlightActivationDelayFront]),eP=t.useMemo(()=>k?l.flashlightDurationFront:l.flashlightDurationBack,[k,l.flashlightDurationBack,l.flashlightDurationFront]),ex=t.useCallback(()=>{!eh.current&&eC&&(eh.current=!0,setTimeout(()=>{ef(eP)},ew))},[ew,eP,eC,ef]),eR=t.useCallback(async()=>{eh.current&&await ep()},[ep]),eW=t.useCallback(()=>{!0===I.current&&(I.current=!1)},[]),ez=t.useCallback(()=>{eb(),q.current=[],U.current=[],j.current=null,W.current=!1,J.current=!1,ee()},[eb,ee]),eO=t.useCallback(async({blurScore:e,detectedCard:t,glareScore:a,runtime:i})=>{await el({videoEl:n.current,resultAnalyzeVideoAndWindowSizes:M.current,recordVideoSettings:es}),ex();let s=T.current,c=E.current;if(B.current=!1,eA({currentFrameBlurScore:s.blurScore,incomingFrameBlurScore:e,currentFrameGlareScore:s.glareScore,incomingFrameGlareScore:a,settings:l,blurLargeThreshold:o,blurSmallThreshold:r})){if(null===s.imageBlob&&(j.current=Date.now()),W.current)s.imageBlob=c.imageBlob;else{let e=h.current;s.hash=eT({canvas:e,cardPosition:t,quality:f}),s.imageBlob=await P.takePicture({canvas:e,quality:f}),s.captureTime=Date.now()}s.takenAt=new Date().getTime(),s.blurScore=e,s.glareScore=a,s.detectedCard=t,s.captureType="auto",s.runtime=i,s.qrScannedResults=et()}l.enableBlurCheck&&q.current.push(e),l.enableGlareCheck&&U.current.push(a)},[el,n,es,ex,l,o,r,f,et]),eN=t.useCallback(async({blurScore:e,detectedCard:t,glareScore:n,runtime:a})=>{L.current=!0;let i=E.current;if(l.enableBlurCheck&&q.current.push(e),l.enableGlareCheck&&U.current.push(n),eA({currentFrameBlurScore:i.blurScore,currentFrameGlareScore:i.glareScore,incomingFrameBlurScore:e,incomingFrameGlareScore:n,settings:l,blurLargeThreshold:o,blurSmallThreshold:r})){let r=h.current;i.hash=eT({canvas:r,cardPosition:t,quality:f}),i.imageBlob=await P.takePicture({canvas:r,quality:f}),i.captureDuration+=Date.now()-i.captureTime,i.captureTime=Date.now(),i.blurScore=e,i.glareScore=n,i.detectedCard=t,i.captureCount++,i.captureType="manual",i.runtime=a,i.qrScannedResults=et(),W.current=!0}L.current=!1},[o,r,f,l,et]),eV=t.useCallback(async()=>{let{autoCaptureWaitForBestImageTimeMs:e}=l,t=T.current;if(null!==t.imageBlob&&new Date().getTime()-j.current>e){let e=await eB();await eR(),await m({...t,...e}),Z(!1),j.current=null}},[l,eB,eR,m]),eQ=t.useCallback(()=>{A.current=!0},[]),eq=t.useCallback(()=>new Promise(e=>{A.current=!1;let t=setInterval(()=>{L.current||(clearInterval(t),e())},150)}),[]),eU=t.useCallback(async()=>(await el({videoEl:n.current,resultAnalyzeVideoAndWindowSizes:M.current,recordVideoSettings:es}),ex(),new Promise(e=>{let{enableVirtualCamHashes:t,manualCaptureWaitForBestImageTimeMs:n}=l,a=E.current;if(a.captureTime=Date.now(),F.current)Z(!0),eQ(),setTimeout(()=>{eq().then(async()=>{await eR(),(a.blurScore?.small<=r||a.blurScore?.large<=o)&&(a.error=td.id_detector_error_blur);let n=h.current;if(null===a.imageBlob){let r=eT({canvas:n,cardPosition:a.detectedCard});P.takePicture({canvas:n,quality:f}).then(async o=>{a.imageBlob=o,a.captureTime=Date.now(),a.hash=r,t&&await e_(a.detectedCard);let n=await eB();e({...a,...n,qrScannedResults:et()})})}else{t&&await e_(a.detectedCard);let r=await eB();e({...a,...r,qrScannedResults:et()})}Z(!1)})},n);else{let r=eT({canvas:h.current,cardPosition:b.current,quality:f});P.takePicture({canvas:h.current,quality:f}).then(async o=>{a.imageBlob=o,a.captureTime=Date.now(),a.hash=r,t&&await e_(a.detectedCard),e({...a,qrScannedResults:et()})})}})),[el,n,es,ex,l,eQ,eq,eB,eR,r,o,f,e_,et]),eX=t.useRef(null),eK=t.useRef(null),eH=t.useRef({});t.useEffect(()=>(p&&(eX.current=document.createElement("canvas"),eX.current.width=ey,eX.current.height=ev,document.body.appendChild(eX.current),eX.current.style.position="fixed",eX.current.style.bottom="0",eX.current.style.right="0",eX.current.style.zIndex="9999",eK.current=document.createElement("canvas"),eK.current.width=150,eK.current.height=170,document.body.appendChild(eK.current),eK.current.style.position="fixed",eK.current.style.bottom="0",eK.current.style.left="0",eK.current.style.zIndex="9999"),()=>{p&&(document.body.removeChild(eX.current),document.body.removeChild(eK.current))}),[p]);let eG=t.useCallback(async()=>{if(!l||!$||I.current)return;T.current=tu(),E.current=tg();let{enableVirtualCamHashes:e}=l,{idCardModel:t,ableToUseModel:r}=z.current,o=M.current,a=n.current;I.current=!0;let{cropX:i,cropY:s,cropWidth:c,cropHeight:u}=o,f=h.current;f.width=c,f.height=u;let b=f.getContext("2d"),w=async()=>{if(!1===I.current)return;await eu({videoEl:n.current,resultAnalyzeVideoAndWindowSizes:M.current,recordVideoSettings:es});let h=H.current;b.drawImage(a,i,s,c,u,0,0,c,u);let y=performance.now();if(W.current=!1,V&&r){let r=await t.predict(f);!l?.trackCardCoordinates||E.current.imageBlob||T.current.imageBlob||C.current.push((e=>{let t=d(e,"card.corners");if(t&&Array.isArray(t)&&t.length>0){let{x:e,y:r}=d(t,"[0].location");return`${e}:${r}`}return"-1:-1"})(r)),B.current||E.current.imageBlob||!(_.current.length>0)||(_.current=[],B.current=!1),B.current&&setTimeout(async()=>{e&&await e_(T.current.detectedCard),await m(T.current),eW(),B.current=!1},0);let a=await ei({result:r,workingCanvas:f,cropDimensions:o});if(a.glareDebugInfo&&(eH.current={...eH.current,...a.glareDebugInfo}),a.blurDebugInfo&&(eH.current={...eH.current,...a.blurDebugInfo}),a.predictedIdCardCanvas&&l.enableScanQRBackground&&(k?l.hasFrontQr:l.hasBackQr)&&Y(a.predictedIdCardCanvas,f),p){var v,P,x,S,$,D,j,L;let e,t,o,l=d(r,"card.label"),g=d(r,"card.corners");eH.current={...eH.current,label:l,corner_size:g?.length},eH.current={...eH.current,...er()},R.drawDebugCanvas(eK.current,eH.current);let k=ey/f.width,m=eX.current.getContext("2d");m.clearRect(0,0,eX.current.width,eX.current.height),m.drawImage(n.current,i,s,c,u,0,0,f.width*k,f.height*k);a.facePredictions&&a.bboxes&&g&&(v=m,P=a.facePredictions,x=a.bboxes,S=g,$=k,e=S.find(e=>"top-left"===e.label).location,Array.isArray(P)&&P.length>0&&function(e,t,r,o){if(!r)return;r.strokeStyle=t,r.lineWidth=2;let n=e.topLeft,a=e.bottomRight,i=n[0]*o,s=n[1]*o,l=a[0]*o,c=a[1]*o;r.strokeRect(i,s,l-i,c-s)}(P[0],"black",v,$),t=x.filter(e=>"small"===e.lapType),t.length>0&&t.forEach(t=>{eL(t.bboxes,"blue",v,$,e)}),o=x.filter(e=>"large"===e.lapType),o.length>0&&o.forEach(t=>{eL(t.bboxes,"green",v,$,e)}),D=S.map(e=>e.location),j=v,L=$,j&&(j.strokeStyle="red",j.lineWidth=2,D.forEach(e=>{let t=e.x*L,r=e.y*L;j.beginPath(),j.arc(t,r,5,0,2*Math.PI),j.stroke()})))}g(a.error),!a.error&&(A.current&&await eN({blurScore:a.blurScore,detectedCard:a.detectedCard,glareScore:a.glareScore,runtime:a.runtime}),X.current&&(J.current||(J.current=!0,Z(!0)),await eO({blurScore:a.blurScore,detectedCard:a.detectedCard,glareScore:a.glareScore,runtime:a.runtime}))),await eV()}let F=180-(y=Math.floor(performance.now()-y))>0?180-y:0;await new Promise(e=>setTimeout(e,F)),h===H.current&&(H.current=window.requestAnimationFrame(w))};H.current=window.requestAnimationFrame(w)},[l,$,n,eu,es,V,ei,g,eV,m,eW,e_,eN,eO,p,k,Y,er]);t.useEffect(()=>{let e=n.current;async function t(){M.current=P.analyzeVideoAndWindowSizes(e,s,.05);let{cropWidth:t,cropHeight:r}=M.current;!e.videoWidth||!e.videoHeight||Number.isNaN(t)||Number.isNaN(r)||await eG()}return a&&s&&$&&t(),()=>{eW(),cancelAnimationFrame(H.current),H.current=null}},[a,s,n,eW,eG,$]);let eZ=t.useCallback(()=>{eW(),cancelAnimationFrame(H.current),H.current=null},[eW]);return t.useEffect(()=>eZ,[eZ]),{isCapturing:G,refWorkingCanvas:h,stopCheckFrame:eW,checkFrame:eG,warmupDone:$,takePictureManually:eU,refAbleToRunBurstMode:F,refVirtualFrames:_,refCardCoordinates:C,refBlurScores:q,refGlareScores:U,resetState:ez,resetRecordVideo:eb,getQRDebugInfo:er}}({isAutoCapture:V,refVideo:r,shouldStart:e,cropArea:o,settings:n,onError:G,frontSide:s,onAutoCaptureSuccess:H,quality:p??n?.imageSettings.imageQuality,blurSmallThreshold:Z,blurLargeThreshold:J,debug:W});ek();let ef=t.useCallback(()=>{eu(),et(),k()},[et,eu,k]),{resumeTimer:ep,pauseTimer:eh}=(e=>{let{interruptible:r=!0,totalTime:o,maxRetriesSettings:n,onAboutToTimeout:a,onTimeout:i,shouldStart:s,onError:l}=e,c=t.useRef(new I({totalTime:o,interruptible:r}));t.useEffect(()=>c.current.on("tick",({remainTime:e})=>{e>=0&&e<=o/3&&"function"==typeof a&&a({curTimeLeft:e})}),[i,a,o,r]),t.useEffect(()=>c.current.on("reset",({attemptCount:e})=>{r&&c.current.pause(),i(),n?.enable&&e>=n?.total&&l(u.Errors.max_retry_reached)}),[i,l,n?.enable,n?.total,r]),t.useEffect(()=>s?c.current.start():()=>{},[s]);let d=t.useCallback(()=>{c.current.resume()},[]);return{resumeTimer:d,pauseTimer:t.useCallback(()=>{c.current.pause()},[])}})({shouldStart:eo&&e&&n?.enableTimers,onAboutToTimeout:g,onTimeout:ef,onError:O,totalTime:n?.idCardSessionTime,maxRetriesSettings:n?.maxRetriesSettings,interruptible:n?.timerInterruptible}),e_=t.useCallback(()=>{h.current=!1},[]),eb=t.useCallback(async()=>{e_(),ep(),ed(),b(!1),N(s?"keep_front_id_fit_border":"keep_back_id_fit_border"),await Promise.all([er()])},[e_,ed,N,s,er,ep]),eB=t.useCallback(async(e={})=>{let t,{imageBlob:r,error:o,detectedCard:a,captureTime:i,captureCount:l,captureDuration:c,captureType:d,hash:u,blurScore:g,glareScore:k,fullVideo:p,capturingVideo:_,qrScannedResults:B,runtime:w}=e;if(h.current)return;h.current=!0,b(!0),et(),eh(),G(null);let y=n?.enableVirtualCamHashes,v=n?.enableGlareCheck,P=n?.enableBlurCheck,x={};if(y&&null!==u){let e=[u,...ei.current];e.length>0&&(x=e.reduce((e,t,r)=>(e[`hash${r+1}`]=t,e),{}))}let S=n?.trackCardCoordinates,R=n?.trackCardCoordinatesMaxLength??150,I=`[${es.current.slice(-R).toString()}]`,M=B;if(B?.imageBlob){let{qr_scan_attempts:e,qr_found:t}=em(),r=await T.writeCurrentExif({imageData:{blob:B.imageBlob},enableExifData:n?.enableExifData,additionalData:{scan_qr_background:{qr_scan_attempts:e,qr_found:t}}});M={...B,imageBlob:r}}if(T.addExifData("user_action",{start_id_card:L.current,end_id_card:Date.now()}),T.addExifData("id_detection_settings.blur_check.large_threshold",J),T.addExifData("id_detection_settings.blur_check.small_threshold",Z),T.addExifData("capture_time",i),T.addExifData("type",a?.label),y&&T.addExifData("v_cam",x),T.addExifData("capture_count",l),T.addExifData("capture_duration",c),T.addExifData("capture_type",d),S&&T.addExifData("card_tracking",I),P&&(T.addExifData("model_score.blurry_score",g),T.addExifData("blur_score_frames",JSON.stringify(el.current))),v&&(T.addExifData("model_score.glare_score",k),T.addExifData("glare_score_frames",JSON.stringify(ec.current))),w&&T.addExifData("check_runtime",w),n?.enableScanQRBackground){let{qr_scan_attempts:e,qr_found:t}=em();T.addExifData("scan_qr_background",{qr_scan_attempts:e,qr_found:t})}let $=await T.writeCurrentExif({imageData:{blob:r},enableExifData:n?.enableExifData});if(f&&f.key){let{key:e}=f;t=await E.encrypt({blob:$,key:e}),_&&_.blob&&(_.encrypted=await E.encrypt({blob:_.blob,key:e})),p&&p.blob&&(p.encrypted=await E.encrypt({blob:p.blob,key:e}))}m({image:{blob:$,encrypted:t,detectedCard:a},error:o,recordedVideos:[],fullVideo:p,capturingVideo:_,qrScannedResults:M}),C({tag:s?"id_front":"id_back",event:"user_activity",log:{time_capture_in_seconds:(performance.now()-F.current)/1e3}})},[et,n?.enableVirtualCamHashes,n?.enableGlareCheck,n?.enableBlurCheck,n?.trackCardCoordinates,n?.trackCardCoordinatesMaxLength,n?.enableExifData,n?.enableScanQRBackground,G,es,J,Z,el,ec,f,m,C,s,eh,ei,em]);B.current=eB;let eC=t.useCallback(async()=>{b(!0),eh(),ea.current||et();let e=await en();await eB(e),b(!1),C({tag:s?"id_front":"id_back",event:"user_activity.capture",log:{}})},[en,eB,eh,ea,et,C,s]);return t.useEffect(()=>{e&&(C({tag:s?"id_front":"id_back",event:"user_activity.start",log:{}}),L.current=Date.now())},[C,s,e]),t.useEffect(()=>{eo&&(C({tag:s?"id_front":"id_back",event:"user_activity.show",log:{}}),C({tag:s?"id_front":"id_back",event:"sdk.load_model",log:{status:"success",time_in_ms:Date.now()-L.current}}),F.current=performance.now(),!async function(){let{resourceReport:e,measureReport:t}=await j.reportAll();Object.values(e).forEach(e=>{C({tag:s?"id_front":"id_back",event:"sdk.download_model",log:e})}),Object.values(t).forEach(e=>{C({tag:s?"id_front":"id_back",event:"sdk.init_model",log:e})})}())},[C,s,eo]),t.useEffect(()=>{eo&&N(s?"keep_front_id_fit_border":"keep_back_id_fit_border")},[s,N,eo]),{warmupDone:eo,isProcessing:_||Y,isPostProcessing:_,isAutoCapturing:Y,takePictureManually:eC,restartSession:eb,resetIsProcessingImageBlobTaken:e_,isAutoCaptureModeOn:V,onToggleAutoCaptureMode:q,autoCaptureDuration:K}})({shouldStart:!0,refVideo:k,cropArea:ei,settings:p,onModelErrorChange:ew,frontSide:m,allowedCardTypes:f,onDebugInfoChange:ee,onSessionTimeout:eP,onCaptureDone:ex,onAboutToTimeout:t.useCallback(({curTimeLeft:e})=>{eo(et("remaining_time",{x:e}))},[et]),outputEncryptionSettings:B}),eH=t.useCallback(()=>{eu({popupType:null}),eV()},[eu,eV]),e8=t.useCallback(async()=>{e_(!1),eH(),await eN()},[eH,eN]);eb.current=e8;let e9=n("IDCapturing.backgroundColor")({theme:O}),{showCaptureButtonInAuto:e4=!0,showHoldStillProgress:e7=!1,showAutoCaptureToggle:e1}=p??{};t.useEffect(()=>{if(g){let e,t,r,n,a,i,s,{videoAreaWidth:c,videoAreaHeight:d,lostX:u,lostY:k,clientHeight:m}=g;l?a=.7*(i=d-165):i=Math.floor(Math.min((a=o.isMobile?c-40:Math.floor(.4*c))/1.5,m-2*k-80-100)),n=(e=(s=k+140)-70)+30,r=e1?s+i+20:s+i,t=s+i+135,ed({x:Math.floor((c-a)/2)+u,y:s,width:a,height:i,surroundStyle:{backgroundColor:e9}});let f={yTitle:e,yMessage:n,yCaptureButton:t,yToggleButton:r,yInstruction:s+i/2-100,yCountdown:r+35};V(f),_(f)}},[O.themeVersion,g,l,_,e9,e1]);let e6=t.useCallback(async()=>{eo(""),await eO()},[eO]);t.useImperativeHandle(a,()=>({restartSession:e8}),[e8]);let to=ez&&eW||z||!en;return r.jsxs(r.Fragment,{children:[!eR&&r.jsx(es,{}),ep&&r.jsx(eG,{children:JSON.stringify(Y,null,2)}),e7&&!ez&&eW&&r.jsx(eq,{children:r.jsx("img",{src:J,alt:"loading icon"})}),!e7&&(ez||eW)&&r.jsx(eq,{children:r.jsx("img",{src:J,alt:"loading icon"})}),ei&&r.jsx(el,{x:`${ei.x}px`,y:`${ei.y}px`,width:`${ei.width}px`,height:`${ei.height}px`,surroundStyle:ei.surroundStyle,children:r.jsx(e2,{width:ei.width,height:ei.height,type:to?eB:eC})}),!ez&&en&&r.jsxs(e5,{y:`${X}px`,children:[r.jsx("div",{style:{height:56,width:56}}),r.jsx(e0,{children:L.getStringWithLineBreak(en)})]}),e7&&ez&&r.jsxs(e5,{y:`${X+45}px`,children:[r.jsx(F,{duration:eK,onCircleAnimationEnd:()=>{e_(!0)}}),r.jsx(e0,{$isDone:eh,children:eh?et("id_capture.instruction.capturing_done"):et("id_capture.instruction.hold_still")})]}),e1&&r.jsxs(e3,{y:`${U}px`,children:[r.jsx("span",{children:et("toggle_id_capture_mode")}),r.jsx(tf,{checked:eU,disabled:ez||eW||z,onChange:eX})]}),(!eU||e4)&&r.jsx(eQ,{onClick:e6,y:`${q}px`,disabled:p?.disableCaptureButtonIfAlert&&en||ez||eW||z,children:en?r.jsx("img",{src:G,alt:"capture button disabled"}):r.jsx("img",{src:H,alt:"capture button enabled"})}),r.jsx(eZ,{y:`${Q}px`,children:s}),er&&r.jsxs(eJ,{y:`${K}px`,children:[r.jsx(W,{color:Z}),r.jsx(eY,{className:"message",y:`${K}px`,children:er},er)]}),r.jsx(ec,{open:em,children:ef===tr&&r.jsx(te,{onOk:e8,maxSessionTime:p?.idCardSessionTime})})]})});tp.propTypes={usePortraitMask:e.bool,description:e.string,windowAndVideoInfo:e.shape({}),refVideo:e.shape({}),frontSide:e.bool,allowedCardTypes:e.arrayOf(e.string),settings:e.shape({}),onCaptureDone:e.func,onUISpacingChange:e.func,outputEncryptionSettings:e.shape({}),isShowingSpinner:e.bool},tp.defaultProps={usePortraitMask:!1,description:"",windowAndVideoInfo:{},refVideo:{},frontSide:!0,allowedCardTypes:[],settings:{},onCaptureDone:()=>{},onUISpacingChange:()=>{},outputEncryptionSettings:null,isShowingSpinner:!1};let th=e=>{let{children:t,mt:r,mb:o,ml:n,mr:a,mx:i,my:s,pt:l,pb:c,pl:d,pr:u,px:g,py:k}=e,m=t.props.style||{},f={};return null!==i&&(f.marginLeft=i,f.marginRight=i),null!==s&&(f.marginTop=s,f.marginBottom=s),null!==r&&(f.marginTop=r),null!==o&&(f.marginBottom=o),null!==n&&(f.marginLeft=n),null!==a&&(f.marginRight=a),null!==g&&(f.paddingLeft=g,f.paddingRight=g),null!==k&&(f.paddingTop=k,f.paddingBottom=k),null!==l&&(f.paddingTop=l),null!==c&&(f.paddingBottom=c),null!==d&&(f.paddingLeft=d),null!==u&&(f.paddingRight=u),z.cloneElement(t,{style:{...m,...f}})},t_=g.div`
256
256
  display: flex;
257
257
  justify-content: center;
258
258
  align-items: center;
259
259
  flex-direction: column;
260
260
  padding: 10px;
261
- `,t_=g.div`
261
+ `,tb=g.div`
262
262
  display: flex;
263
263
  justify-content: center;
264
264
  background: ${n("QRStep.guidelinePopup.image.backgroundColor")};
@@ -268,7 +268,7 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
268
268
  width: 100px;
269
269
  height: 100px;
270
270
  object-fit: contain;
271
- `,tb=g.div`
271
+ `,tC=g.div`
272
272
  display: ${n("popup.title.display")};
273
273
  color: ${n("popup.title.color")};
274
274
  font-weight: ${n("popup.title.fontWeight")};
@@ -276,21 +276,21 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
276
276
  margin: ${n("popup.title.margin")};
277
277
  padding: ${n("popup.title.padding")};
278
278
  text-align: ${n("popup.title.textAlign")};
279
- `,tC=g.div`
279
+ `,tw=g.div`
280
280
  color: ${n(({$type:e})=>`QRStep.guidelinePopup.${e}.color`)};
281
281
  font-size: ${n(({$type:e})=>`QRStep.guidelinePopup.${e}.fontSize`)};
282
282
  font-weight: ${n(({$type:e})=>`QRStep.guidelinePopup.${e}.fontWeight`)};
283
283
  text-align: ${n(({$type:e})=>`QRStep.guidelinePopup.${e}.textAlign`)};
284
284
  line-height: ${n(({$type:e})=>`QRStep.guidelinePopup.${e}.lineHeight`)};
285
- `,tw=g(tC)`
285
+ `,ty=g(tw)`
286
286
  white-space: nowrap;
287
- `,ty=g(e9)``,tv=({onClickStart:e=()=>{},onTimeout:o=()=>{},timeout:n=10})=>{let a=C(),s=A("QRStep.guidelinePopup.image.src","qr_instruction.svg"),[i,l]=t.useState(""),{sendEvent:c}=$.useSDKTracking(),d=t.useRef(new I({totalTime:n,interruptible:!1}));return t.useEffect(()=>d.current.start(),[]),t.useEffect(()=>d.current.on("tick",({remainTime:e})=>{l(a("qr_instructions_countdown",{x:e}))}),[a,o,c]),t.useEffect(()=>d.current.on("reset",()=>{c({tag:"id_qr",event:"sdk_ui.guideline_time_out",log:{}}),"function"==typeof o&&o()}),[o,c]),t.useEffect(()=>{c({tag:"id_qr",event:"sdk_ui.guideline_show",log:{}})},[c]),r.jsxs(th,{children:[r.jsx(t_,{children:r.jsx(tB,{src:s})}),r.jsx(tf,{mt:"30px",children:r.jsx(tb,{$type:"guideText",children:a("qr_instructions_title")})}),r.jsx(tf,{mt:"16px",children:r.jsx(tC,{$type:"guideText",children:a("qr_instructions_text")})}),r.jsx(tf,{mt:"30px",children:r.jsx(ty,{onClick:()=>{d.current.stop(),c({tag:"id_qr",event:"user_activity.click_start",log:{}}),e()},children:a("qr_instructions_start_button")})}),r.jsx(tf,{my:"20px",children:r.jsx(tw,{$type:"countdownText",children:i})})]})},tP=g.div`
287
+ `,tv=g(e9)``,tP=({onClickStart:e=()=>{},onTimeout:o=()=>{},timeout:n=10})=>{let a=C(),i=A("QRStep.guidelinePopup.image.src","qr_instruction.svg"),[s,l]=t.useState(""),{sendEvent:c}=M.useSDKTracking(),d=t.useRef(new I({totalTime:n,interruptible:!1}));return t.useEffect(()=>d.current.start(),[]),t.useEffect(()=>d.current.on("tick",({remainTime:e})=>{l(a("qr_instructions_countdown",{x:e}))}),[a,o,c]),t.useEffect(()=>d.current.on("reset",()=>{c({tag:"id_qr",event:"sdk_ui.guideline_time_out",log:{}}),"function"==typeof o&&o()}),[o,c]),t.useEffect(()=>{c({tag:"id_qr",event:"sdk_ui.guideline_show",log:{}})},[c]),r.jsxs(t_,{children:[r.jsx(tb,{children:r.jsx(tB,{src:i})}),r.jsx(th,{mt:"30px",children:r.jsx(tC,{$type:"guideText",children:a("qr_instructions_title")})}),r.jsx(th,{mt:"16px",children:r.jsx(tw,{$type:"guideText",children:a("qr_instructions_text")})}),r.jsx(th,{mt:"30px",children:r.jsx(tv,{onClick:()=>{d.current.stop(),c({tag:"id_qr",event:"user_activity.click_start",log:{}}),e()},children:a("qr_instructions_start_button")})}),r.jsx(th,{my:"20px",children:r.jsx(ty,{$type:"countdownText",children:s})})]})},tx=g.div`
288
288
  display: flex;
289
289
  justify-content: center;
290
290
  align-items: center;
291
291
  flex-direction: column;
292
292
  padding: ${n("popup.padding")};
293
- `,tx=g.div`
293
+ `,tS=g.div`
294
294
  display: ${n("popup.title.display")};
295
295
  color: ${n("popup.title.color")};
296
296
  font-weight: ${n("popup.title.fontWeight")};
@@ -313,11 +313,11 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
313
313
  &:empty {
314
314
  display: none;
315
315
  }
316
- `;let tS=g(e9)`
316
+ `;let tR=g(e9)`
317
317
  margin: 24px 0 0 0;
318
- `,tR=g(e4)`
318
+ `,tI=g(e4)`
319
319
  margin: 12px 0;
320
- `,tI=()=>{},t$=({onRetry:e=tI,onSkip:t=tI})=>{let o=C();return r.jsxs(tP,{children:[r.jsx(tx,{children:o("qr_invalid_popup_description")}),r.jsx(tS,{onClick:e,children:o("qr_invalid_popup_retry_button")}),r.jsx(tR,{onClick:t,children:o("qr_invalid_popup_skip_button")})]})},tM=g.div`
320
+ `,tM=()=>{},t$=({onRetry:e=tM,onSkip:t=tM})=>{let o=C();return r.jsxs(tx,{children:[r.jsx(tS,{children:o("qr_invalid_popup_description")}),r.jsx(tR,{onClick:e,children:o("qr_invalid_popup_retry_button")}),r.jsx(tI,{onClick:t,children:o("qr_invalid_popup_skip_button")})]})},tD=g.div`
321
321
  background: ${n("QRStep.scanTooltip.backgroundColor")};
322
322
  border-radius: ${n("QRStep.scanTooltip.borderRadius")};
323
323
  color: ${n("QRStep.scanTooltip.color")};
@@ -325,10 +325,10 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
325
325
  text-align: ${n("QRStep.scanTooltip.textAlign")};
326
326
  top: ${({$y:e})=>e};
327
327
  position: absolute;
328
- z-index: ${p+20};
328
+ z-index: ${f+20};
329
329
  margin: 0 10px;
330
- max-width: ${({theme:e})=>"v1"===u(e,"themeVersion")?"275px":"unset"};
331
- `,tD=g.div`
330
+ max-width: ${({theme:e})=>"v1"===d(e,"themeVersion")?"275px":"unset"};
331
+ `,tT=g.div`
332
332
  width: 0;
333
333
  height: 0;
334
334
  border-left: 20px solid transparent;
@@ -338,7 +338,7 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
338
338
  left: 50%;
339
339
  top: ${({$top:e})=>`${e}px`};
340
340
  transform: translateX(-50%);
341
- `,tT=({children:e,y:t})=>r.jsxs(tM,{$y:t,children:[r.jsx(tD,{$arrowSize:10,$top:-10}),e]}),tE=g.div`
341
+ `,tE=({children:e,y:t})=>r.jsxs(tD,{$y:t,children:[r.jsx(tT,{$arrowSize:10,$top:-10}),e]}),tj=g.div`
342
342
  text-align: ${n("QRStep.scanCountdown.textAlign")};
343
343
  font-size: ${n("QRStep.scanCountdown.fontSize")};
344
344
  font-weight: ${n("QRStep.scanCountdown.fontWeight")};
@@ -346,22 +346,22 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
346
346
  padding: ${n("QRStep.scanCountdown.padding")};
347
347
  background: ${n("QRStep.scanCountdown.backgroundColor")};
348
348
  color: ${n("QRStep.scanCountdown.color")};
349
- `;g(tE)`
349
+ `;g(tj)`
350
350
  position: absolute;
351
351
  margin: auto;
352
352
  top: ${({$y:e})=>e};
353
- z-index: ${p+20};
354
- `;let tj=()=>({id:null,frames:[]});async function tA({canvas:e,qrModel:t}){let r=e.getContext("2d").getImageData(0,0,e.width,e.height);return await t.detectAndDecode(r)}let tL=(e,t)=>{let{width:r,height:o}=e,n=t.getContext("2d");t.width=r/2,t.height=o/2,n.drawImage(e,r/2,0,t.width,t.height,0,0,t.width,t.height)},tF=(e,t)=>{let{width:r,height:o}=e,n=t.getContext("2d");t.width=r,t.height=o,n.drawImage(e,0,0,r,o)},tW=async({blob:e,outputEncryptionSettings:t,cardSide:r,results:o,readFrom:n})=>{let a,s=await T.writeCurrentExif({imageData:{blob:e},enableExifData:!0,additionalData:{qr_string:o[0],type:r===d.IDCardSide.FRONT?"qr_from_front_image":"qr_from_back_image",source:"background QR",qr_read_by:"wechat",qr_read_from:n}});return t?.key&&(a=await E.encrypt({blob:s,key:t.key})),{result:o[0],results:o,validateResult:{valid:!0},image:{blob:s,encrypted:a}}},tO=async({blob:e,outputEncryptionSettings:t,cardSide:r,cardQRConfig:o})=>{let{qrModel:n,noModel:a}=await V();if(a)return null;let{regions:s,isValidPayload:i,pickResults:l,strategy:c}=o,d=document.createElement("canvas");await new Promise(t=>{let r=URL.createObjectURL(e),o=new Image;o.onload=function(){tF(o,d),URL.revokeObjectURL(r),t()},o.src=r});let u=d.getContext("2d"),{width:g,height:k}=d,m="raw"===c?e=>n.detectAndDecodeRaw(e):e=>n.detectAndDecode(e).then(e=>e?[e]:[]),p=l((await Promise.all(s.map(e=>m((({x:e,y:t,w:r,h:o})=>u.getImageData(Math.round(e*g),Math.round(t*k),Math.round(r*g),Math.round(o*k)))(e))))).flat().filter(i));return p&&0!==p.length?tW({blob:e,outputEncryptionSettings:t,cardSide:r,results:p,readFrom:"image"}):null},tz=async(e,t,r=d.IDCardSide.FRONT,o=tL)=>{let{qrModel:n,noModel:a}=await V();if(a)return null;let s=document.createElement("canvas");await new Promise(t=>{let r=URL.createObjectURL(e),n=new Image;n.onload=function(){o(n,s),URL.revokeObjectURL(r),t()},n.src=r});let i=await tA({canvas:s,qrModel:n});return i?tW({blob:e,outputEncryptionSettings:t,cardSide:r,results:[i],readFrom:"image"}):null};var tN,tV={exports:{}};tV.exports;var tQ=function(){var e,t;if(tN)return tV.exports;return tN=1,e=tV,t="undefined"!=typeof self&&self,e.exports=function(){return function(e){var t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:o})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}([function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.BitMatrix=function(){function e(e,t){this.width=t,this.height=e.length/t,this.data=e}return e.createEmpty=function(t,r){return new e(new Uint8ClampedArray(t*r),t)},e.prototype.get=function(e,t){return!(e<0)&&!(e>=this.width)&&!(t<0)&&!(t>=this.height)&&!!this.data[t*this.width+e]},e.prototype.set=function(e,t,r){this.data[t*this.width+e]=+!!r},e.prototype.setRegion=function(e,t,r,o,n){for(var a=t;a<t+o;a++)for(var s=e;s<e+r;s++)this.set(s,a,!!n)},e}()},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(2);t.addOrSubtractGF=function(e,t){return e^t},t.default=function(){function e(e,t,r){this.primitive=e,this.size=t,this.generatorBase=r,this.expTable=Array(this.size),this.logTable=Array(this.size);for(var n=1,a=0;a<this.size;a++)this.expTable[a]=n,(n*=2)>=this.size&&(n=(n^this.primitive)&this.size-1);for(var a=0;a<this.size-1;a++)this.logTable[this.expTable[a]]=a;this.zero=new o.default(this,Uint8ClampedArray.from([0])),this.one=new o.default(this,Uint8ClampedArray.from([1]))}return e.prototype.multiply=function(e,t){return 0===e||0===t?0:this.expTable[(this.logTable[e]+this.logTable[t])%(this.size-1)]},e.prototype.inverse=function(e){if(0===e)throw Error("Can't invert 0");return this.expTable[this.size-this.logTable[e]-1]},e.prototype.buildMonomial=function(e,t){if(e<0)throw Error("Invalid monomial degree less than 0");if(0===t)return this.zero;var r=new Uint8ClampedArray(e+1);return r[0]=t,new o.default(this,r)},e.prototype.log=function(e){if(0===e)throw Error("Can't take log(0)");return this.logTable[e]},e.prototype.exp=function(e){return this.expTable[e]},e}()},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(1);t.default=function(){function e(e,t){if(0===t.length)throw Error("No coefficients.");this.field=e;var r=t.length;if(r>1&&0===t[0]){for(var o=1;o<r&&0===t[o];)o++;if(o===r)this.coefficients=e.zero.coefficients;else{this.coefficients=new Uint8ClampedArray(r-o);for(var n=0;n<this.coefficients.length;n++)this.coefficients[n]=t[o+n]}}else this.coefficients=t}return e.prototype.degree=function(){return this.coefficients.length-1},e.prototype.isZero=function(){return 0===this.coefficients[0]},e.prototype.getCoefficient=function(e){return this.coefficients[this.coefficients.length-1-e]},e.prototype.addOrSubtract=function(t){if(this.isZero())return t;if(t.isZero())return this;var r,n=this.coefficients,a=t.coefficients;n.length>a.length&&(n=(r=[a,n])[0],a=r[1]);for(var s=new Uint8ClampedArray(a.length),i=a.length-n.length,l=0;l<i;l++)s[l]=a[l];for(var l=i;l<a.length;l++)s[l]=o.addOrSubtractGF(n[l-i],a[l]);return new e(this.field,s)},e.prototype.multiply=function(t){if(0===t)return this.field.zero;if(1===t)return this;for(var r=this.coefficients.length,o=new Uint8ClampedArray(r),n=0;n<r;n++)o[n]=this.field.multiply(this.coefficients[n],t);return new e(this.field,o)},e.prototype.multiplyPoly=function(t){if(this.isZero()||t.isZero())return this.field.zero;for(var r=this.coefficients,n=r.length,a=t.coefficients,s=a.length,i=new Uint8ClampedArray(n+s-1),l=0;l<n;l++){for(var c=r[l],d=0;d<s;d++)i[l+d]=o.addOrSubtractGF(i[l+d],this.field.multiply(c,a[d]))}return new e(this.field,i)},e.prototype.multiplyByMonomial=function(t,r){if(t<0)throw Error("Invalid degree less than 0");if(0===r)return this.field.zero;for(var o=this.coefficients.length,n=new Uint8ClampedArray(o+t),a=0;a<o;a++)n[a]=this.field.multiply(this.coefficients[a],r);return new e(this.field,n)},e.prototype.evaluateAt=function(e){var t=0;if(0===e)return this.getCoefficient(0);var r=this.coefficients.length;if(1===e)return this.coefficients.forEach(function(e){t=o.addOrSubtractGF(t,e)}),t;t=this.coefficients[0];for(var n=1;n<r;n++)t=o.addOrSubtractGF(this.field.multiply(e,t),this.coefficients[n]);return t},e}()},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(4),n=r(5),a=r(11),s=r(12);function i(e){var t=s.locate(e);if(!t)return null;for(var r=0;r<t.length;r++){var o=t[r],i=a.extract(e,o),l=n.decode(i.matrix);if(l)return{binaryData:l.bytes,data:l.text,chunks:l.chunks,version:l.version,location:{topRightCorner:i.mappingFunction(o.dimension,0),topLeftCorner:i.mappingFunction(0,0),bottomRightCorner:i.mappingFunction(o.dimension,o.dimension),bottomLeftCorner:i.mappingFunction(0,o.dimension),topRightFinderPattern:o.topRight,topLeftFinderPattern:o.topLeft,bottomLeftFinderPattern:o.bottomLeft,bottomRightAlignmentPattern:o.alignmentPattern}}}return null}var l={inversionAttempts:"attemptBoth"};function c(e,t,r,n){void 0===n&&(n={});Object.keys(l||{}).forEach(function(e){l[e]=n[e]||l[e]});var a="attemptBoth"===l.inversionAttempts||"invertFirst"===l.inversionAttempts,s="onlyInvert"===l.inversionAttempts||"invertFirst"===l.inversionAttempts,c=o.binarize(e,t,r,a),d=c.binarized,u=c.inverted,g=i(s?u:d);return g||"attemptBoth"!==l.inversionAttempts&&"invertFirst"!==l.inversionAttempts||(g=i(s?d:u)),g}c.default=c,t.default=c},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(0),n=function(){function e(e,t){this.width=e,this.data=new Uint8ClampedArray(e*t)}return e.prototype.get=function(e,t){return this.data[t*this.width+e]},e.prototype.set=function(e,t,r){this.data[t*this.width+e]=r},e}();t.binarize=function(e,t,r,a){if(e.length!==t*r*4)throw Error("Malformed data passed to binarizer.");for(var s=new n(t,r),i=0;i<t;i++)for(var l=0;l<r;l++){var c=e[(l*t+i)*4+0],d=e[(l*t+i)*4+1],u=e[(l*t+i)*4+2];s.set(i,l,.2126*c+.7152*d+.0722*u)}for(var g=Math.ceil(t/8),k=Math.ceil(r/8),m=new n(g,k),p=0;p<k;p++)for(var f=0;f<g;f++){for(var h=0,_=1/0,B=0,l=0;l<8;l++)for(var i=0;i<8;i++){var b=s.get(8*f+i,8*p+l);h+=b,_=Math.min(_,b),B=Math.max(B,b)}var C=h/64;if(B-_<=24&&(C=_/2,p>0&&f>0)){var w=(m.get(f,p-1)+2*m.get(f-1,p)+m.get(f-1,p-1))/4;_<w&&(C=w)}m.set(f,p,C)}var y=o.BitMatrix.createEmpty(t,r),v=null;a&&(v=o.BitMatrix.createEmpty(t,r));for(var p=0;p<k;p++)for(var f=0;f<g;f++){for(var P,x,S,R,I=(P=f,x=g-3,P<2?2:P>x?x:P),$=(S=p,R=k-3,S<2?2:S>R?R:S),h=0,M=-2;M<=2;M++)for(var D=-2;D<=2;D++)h+=m.get(I+M,$+D);for(var T=h/25,M=0;M<8;M++)for(var D=0;D<8;D++){var i=8*f+M,l=8*p+D,E=s.get(i,l);y.set(i,l,E<=T),a&&v.set(i,l,!(E<=T))}}return a?{binarized:y,inverted:v}:{binarized:y}}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(0),n=r(6),a=r(9),s=r(10);function i(e,t){for(var r=e^t,o=0;r;)o++,r&=r-1;return o}var l=[{bits:21522,formatInfo:{errorCorrectionLevel:1,dataMask:0}},{bits:20773,formatInfo:{errorCorrectionLevel:1,dataMask:1}},{bits:24188,formatInfo:{errorCorrectionLevel:1,dataMask:2}},{bits:23371,formatInfo:{errorCorrectionLevel:1,dataMask:3}},{bits:17913,formatInfo:{errorCorrectionLevel:1,dataMask:4}},{bits:16590,formatInfo:{errorCorrectionLevel:1,dataMask:5}},{bits:20375,formatInfo:{errorCorrectionLevel:1,dataMask:6}},{bits:19104,formatInfo:{errorCorrectionLevel:1,dataMask:7}},{bits:30660,formatInfo:{errorCorrectionLevel:0,dataMask:0}},{bits:29427,formatInfo:{errorCorrectionLevel:0,dataMask:1}},{bits:32170,formatInfo:{errorCorrectionLevel:0,dataMask:2}},{bits:30877,formatInfo:{errorCorrectionLevel:0,dataMask:3}},{bits:26159,formatInfo:{errorCorrectionLevel:0,dataMask:4}},{bits:25368,formatInfo:{errorCorrectionLevel:0,dataMask:5}},{bits:27713,formatInfo:{errorCorrectionLevel:0,dataMask:6}},{bits:26998,formatInfo:{errorCorrectionLevel:0,dataMask:7}},{bits:5769,formatInfo:{errorCorrectionLevel:3,dataMask:0}},{bits:5054,formatInfo:{errorCorrectionLevel:3,dataMask:1}},{bits:7399,formatInfo:{errorCorrectionLevel:3,dataMask:2}},{bits:6608,formatInfo:{errorCorrectionLevel:3,dataMask:3}},{bits:1890,formatInfo:{errorCorrectionLevel:3,dataMask:4}},{bits:597,formatInfo:{errorCorrectionLevel:3,dataMask:5}},{bits:3340,formatInfo:{errorCorrectionLevel:3,dataMask:6}},{bits:2107,formatInfo:{errorCorrectionLevel:3,dataMask:7}},{bits:13663,formatInfo:{errorCorrectionLevel:2,dataMask:0}},{bits:12392,formatInfo:{errorCorrectionLevel:2,dataMask:1}},{bits:16177,formatInfo:{errorCorrectionLevel:2,dataMask:2}},{bits:14854,formatInfo:{errorCorrectionLevel:2,dataMask:3}},{bits:9396,formatInfo:{errorCorrectionLevel:2,dataMask:4}},{bits:8579,formatInfo:{errorCorrectionLevel:2,dataMask:5}},{bits:11994,formatInfo:{errorCorrectionLevel:2,dataMask:6}},{bits:11245,formatInfo:{errorCorrectionLevel:2,dataMask:7}}],c=[function(e){return(e.y+e.x)%2==0},function(e){return e.y%2==0},function(e){return e.x%3==0},function(e){return(e.y+e.x)%3==0},function(e){return(Math.floor(e.y/2)+Math.floor(e.x/3))%2==0},function(e){return e.x*e.y%2+e.x*e.y%3==0},function(e){return(e.y*e.x%2+e.y*e.x%3)%2==0},function(e){return((e.y+e.x)%2+e.y*e.x%3)%2==0}];function d(e){var t=function(e){var t,r,o,n=e.height,a=Math.floor((n-17)/4);if(a<=6)return s.VERSIONS[a-1];for(var l=0,c=5;c>=0;c--)for(var d=n-9;d>=n-11;d--){t=e.get(d,c),l=l<<1|t}for(var u=0,d=5;d>=0;d--)for(var c=n-9;c>=n-11;c--){r=e.get(d,c),u=u<<1|r}for(var g=1/0,k=0,m=s.VERSIONS;k<m.length;k++){var p=m[k];if(p.infoBits===l||p.infoBits===u)return p;var f=i(l,p.infoBits);f<g&&(o=p,g=f),(f=i(u,p.infoBits))<g&&(o=p,g=f)}if(g<=3)return o}(e);if(!t)return null;var r=function(e){for(var t,r,o,n,a=0,s=0;s<=8;s++){6!==s&&(t=e.get(s,8),a=a<<1|t)}for(var c=7;c>=0;c--){6!==c&&(r=e.get(8,c),a=a<<1|r)}for(var d=e.height,u=0,c=d-1;c>=d-7;c--){o=e.get(8,c),u=u<<1|o}for(var s=d-8;s<d;s++){n=e.get(s,8),u=u<<1|n}for(var g=1/0,k=null,m=0;m<l.length;m++){var p=l[m],f=p.bits,h=p.formatInfo;if(f===a||f===u)return h;var _=i(a,f);_<g&&(k=h,g=_),a!==u&&(_=i(u,f))<g&&(k=h,g=_)}return g<=3?k:null}(e);if(!r)return null;var d=function(e,t,r){var o=t.errorCorrectionLevels[r],n=[],a=0;if(o.ecBlocks.forEach(function(e){for(var t=0;t<e.numBlocks;t++)n.push({numDataCodewords:e.dataCodewordsPerBlock,codewords:[]}),a+=e.dataCodewordsPerBlock+o.ecCodewordsPerBlock}),e.length<a)return null;e=e.slice(0,a);for(var s=o.ecBlocks[0].dataCodewordsPerBlock,i=0;i<s;i++)for(var l=0;l<n.length;l++){var c=n[l];c.codewords.push(e.shift())}if(o.ecBlocks.length>1){for(var d=o.ecBlocks[0].numBlocks,u=o.ecBlocks[1].numBlocks,i=0;i<u;i++)n[d+i].codewords.push(e.shift())}for(;e.length>0;)for(var g=0;g<n.length;g++){var c=n[g];c.codewords.push(e.shift())}return n}(function(e,t,r){for(var n=c[r.dataMask],a=e.height,s=function(e){var t=17+4*e.versionNumber,r=o.BitMatrix.createEmpty(t,t);r.setRegion(0,0,9,9,!0),r.setRegion(t-8,0,8,9,!0),r.setRegion(0,t-8,9,8,!0);for(var n=0,a=e.alignmentPatternCenters;n<a.length;n++){for(var s=a[n],i=0,l=e.alignmentPatternCenters;i<l.length;i++){var c=l[i];(6!==s||6!==c)&&(6!==s||c!==t-7)&&(s!==t-7||6!==c)&&r.setRegion(s-2,c-2,5,5,!0)}}return r.setRegion(6,9,1,t-17,!0),r.setRegion(9,6,t-17,1,!0),e.versionNumber>6&&(r.setRegion(t-11,0,3,6,!0),r.setRegion(0,t-11,6,3,!0)),r}(t),i=[],l=0,d=0,u=!0,g=a-1;g>0;g-=2){6===g&&g--;for(var k=0;k<a;k++){for(var m=u?a-1-k:k,p=0;p<2;p++){var f=g-p;if(!s.get(f,m)){d++;var h=e.get(f,m);n({y:m,x:f})&&(h=!h),l=l<<1|h,8===d&&(i.push(l),d=0,l=0)}}}u=!u}return i}(e,t,r),t,r.errorCorrectionLevel);if(!d)return null;for(var u=new Uint8ClampedArray(d.reduce(function(e,t){return e+t.numDataCodewords},0)),g=0,k=0;k<d.length;k++){var m=d[k],p=a.decode(m.codewords,m.codewords.length-m.numDataCodewords);if(!p)return null;for(var f=0;f<m.numDataCodewords;f++)u[g++]=p[f]}try{return n.decode(u,t.versionNumber)}catch(e){return null}}t.decode=function(e){if(null==e)return null;var t=d(e);if(t)return t;for(var r=0;r<e.width;r++)for(var o=r+1;o<e.height;o++)e.get(r,o)!==e.get(o,r)&&(e.set(r,o,!e.get(r,o)),e.set(o,r,!e.get(o,r)));return d(e)}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o,n,a,s,i=r(7),l=r(8);(o=a=t.Mode||(t.Mode={})).Numeric="numeric",o.Alphanumeric="alphanumeric",o.Byte="byte",o.Kanji="kanji",o.ECI="eci",(n=s||(s={}))[n.Terminator=0]="Terminator",n[n.Numeric=1]="Numeric",n[n.Alphanumeric=2]="Alphanumeric",n[n.Byte=4]="Byte",n[n.Kanji=8]="Kanji",n[n.ECI=7]="ECI";var c=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];t.decode=function(e,t){for(var r,o,n,d,u=new i.BitStream(e),g=t<=9?0:t<=26?1:2,k={text:"",bytes:[],chunks:[],version:t};u.available()>=4;){var m=u.readBits(4);if(m===s.Terminator)return k;if(m===s.ECI)0===u.readBits(1)?k.chunks.push({type:a.ECI,assignmentNumber:u.readBits(7)}):0===u.readBits(1)?k.chunks.push({type:a.ECI,assignmentNumber:u.readBits(14)}):0===u.readBits(1)?k.chunks.push({type:a.ECI,assignmentNumber:u.readBits(21)}):k.chunks.push({type:a.ECI,assignmentNumber:-1});else if(m===s.Numeric){var p=function(e,t){for(var r=[],o="",n=[10,12,14][t],a=e.readBits(n);a>=3;){var s=e.readBits(10);if(s>=1e3)throw Error("Invalid numeric value above 999");var i=Math.floor(s/100),l=Math.floor(s/10)%10,c=s%10;r.push(48+i,48+l,48+c),o+=i.toString()+l.toString()+c.toString(),a-=3}if(2===a){var s=e.readBits(7);if(s>=100)throw Error("Invalid numeric value above 99");var i=Math.floor(s/10),l=s%10;r.push(48+i,48+l),o+=i.toString()+l.toString()}else if(1===a){var s=e.readBits(4);if(s>=10)throw Error("Invalid numeric value above 9");r.push(48+s),o+=s.toString()}return{bytes:r,text:o}}(u,g);k.text+=p.text,(r=k.bytes).push.apply(r,p.bytes),k.chunks.push({type:a.Numeric,text:p.text})}else if(m===s.Alphanumeric){var f=function(e,t){for(var r=[],o="",n=[9,11,13][t],a=e.readBits(n);a>=2;){var s=e.readBits(11),i=Math.floor(s/45),l=s%45;r.push(c[i].charCodeAt(0),c[l].charCodeAt(0)),o+=c[i]+c[l],a-=2}if(1===a){var i=e.readBits(6);r.push(c[i].charCodeAt(0)),o+=c[i]}return{bytes:r,text:o}}(u,g);k.text+=f.text,(o=k.bytes).push.apply(o,f.bytes),k.chunks.push({type:a.Alphanumeric,text:f.text})}else if(m===s.Byte){var h=function(e,t){for(var r=[],o="",n=[8,16,16][t],a=e.readBits(n),s=0;s<a;s++){var i=e.readBits(8);r.push(i)}try{o+=decodeURIComponent(r.map(function(e){return"%"+("0"+e.toString(16)).substr(-2)}).join(""))}catch(e){}return{bytes:r,text:o}}(u,g);k.text+=h.text,(n=k.bytes).push.apply(n,h.bytes),k.chunks.push({type:a.Byte,bytes:h.bytes,text:h.text})}else if(m===s.Kanji){var _=function(e,t){for(var r=[],o="",n=[8,10,12][t],a=e.readBits(n),s=0;s<a;s++){var i=e.readBits(13),c=Math.floor(i/192)<<8|i%192;c<7936?c+=33088:c+=49472,r.push(c>>8,255&c),o+=String.fromCharCode(l.shiftJISTable[c])}return{bytes:r,text:o}}(u,g);k.text+=_.text,(d=k.bytes).push.apply(d,_.bytes),k.chunks.push({type:a.Kanji,bytes:_.bytes,text:_.text})}}if(0===u.available()||0===u.readBits(u.available()))return k}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.BitStream=function(){function e(e){this.byteOffset=0,this.bitOffset=0,this.bytes=e}return e.prototype.readBits=function(e){if(e<1||e>32||e>this.available())throw Error("Cannot read "+e.toString()+" bits");var t=0;if(this.bitOffset>0){var r=8-this.bitOffset,o=e<r?e:r,n=r-o,a=255>>8-o<<n;t=(this.bytes[this.byteOffset]&a)>>n,e-=o,this.bitOffset+=o,8===this.bitOffset&&(this.bitOffset=0,this.byteOffset++)}if(e>0){for(;e>=8;)t=t<<8|255&this.bytes[this.byteOffset],this.byteOffset++,e-=8;if(e>0){var n=8-e,a=255>>n<<n;t=t<<e|(this.bytes[this.byteOffset]&a)>>n,this.bitOffset+=e}}return t},e.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},e}()},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.shiftJISTable={32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:165,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:8254,33088:12288,33089:12289,33090:12290,33091:65292,33092:65294,33093:12539,33094:65306,33095:65307,33096:65311,33097:65281,33098:12443,33099:12444,33100:180,33101:65344,33102:168,33103:65342,33104:65507,33105:65343,33106:12541,33107:12542,33108:12445,33109:12446,33110:12291,33111:20189,33112:12293,33113:12294,33114:12295,33115:12540,33116:8213,33117:8208,33118:65295,33119:92,33120:12316,33121:8214,33122:65372,33123:8230,33124:8229,33125:8216,33126:8217,33127:8220,33128:8221,33129:65288,33130:65289,33131:12308,33132:12309,33133:65339,33134:65341,33135:65371,33136:65373,33137:12296,33138:12297,33139:12298,33140:12299,33141:12300,33142:12301,33143:12302,33144:12303,33145:12304,33146:12305,33147:65291,33148:8722,33149:177,33150:215,33152:247,33153:65309,33154:8800,33155:65308,33156:65310,33157:8806,33158:8807,33159:8734,33160:8756,33161:9794,33162:9792,33163:176,33164:8242,33165:8243,33166:8451,33167:65509,33168:65284,33169:162,33170:163,33171:65285,33172:65283,33173:65286,33174:65290,33175:65312,33176:167,33177:9734,33178:9733,33179:9675,33180:9679,33181:9678,33182:9671,33183:9670,33184:9633,33185:9632,33186:9651,33187:9650,33188:9661,33189:9660,33190:8251,33191:12306,33192:8594,33193:8592,33194:8593,33195:8595,33196:12307,33208:8712,33209:8715,33210:8838,33211:8839,33212:8834,33213:8835,33214:8746,33215:8745,33224:8743,33225:8744,33226:172,33227:8658,33228:8660,33229:8704,33230:8707,33242:8736,33243:8869,33244:8978,33245:8706,33246:8711,33247:8801,33248:8786,33249:8810,33250:8811,33251:8730,33252:8765,33253:8733,33254:8757,33255:8747,33256:8748,33264:8491,33265:8240,33266:9839,33267:9837,33268:9834,33269:8224,33270:8225,33271:182,33276:9711,33359:65296,33360:65297,33361:65298,33362:65299,33363:65300,33364:65301,33365:65302,33366:65303,33367:65304,33368:65305,33376:65313,33377:65314,33378:65315,33379:65316,33380:65317,33381:65318,33382:65319,33383:65320,33384:65321,33385:65322,33386:65323,33387:65324,33388:65325,33389:65326,33390:65327,33391:65328,33392:65329,33393:65330,33394:65331,33395:65332,33396:65333,33397:65334,33398:65335,33399:65336,33400:65337,33401:65338,33409:65345,33410:65346,33411:65347,33412:65348,33413:65349,33414:65350,33415:65351,33416:65352,33417:65353,33418:65354,33419:65355,33420:65356,33421:65357,33422:65358,33423:65359,33424:65360,33425:65361,33426:65362,33427:65363,33428:65364,33429:65365,33430:65366,33431:65367,33432:65368,33433:65369,33434:65370,33439:12353,33440:12354,33441:12355,33442:12356,33443:12357,33444:12358,33445:12359,33446:12360,33447:12361,33448:12362,33449:12363,33450:12364,33451:12365,33452:12366,33453:12367,33454:12368,33455:12369,33456:12370,33457:12371,33458:12372,33459:12373,33460:12374,33461:12375,33462:12376,33463:12377,33464:12378,33465:12379,33466:12380,33467:12381,33468:12382,33469:12383,33470:12384,33471:12385,33472:12386,33473:12387,33474:12388,33475:12389,33476:12390,33477:12391,33478:12392,33479:12393,33480:12394,33481:12395,33482:12396,33483:12397,33484:12398,33485:12399,33486:12400,33487:12401,33488:12402,33489:12403,33490:12404,33491:12405,33492:12406,33493:12407,33494:12408,33495:12409,33496:12410,33497:12411,33498:12412,33499:12413,33500:12414,33501:12415,33502:12416,33503:12417,33504:12418,33505:12419,33506:12420,33507:12421,33508:12422,33509:12423,33510:12424,33511:12425,33512:12426,33513:12427,33514:12428,33515:12429,33516:12430,33517:12431,33518:12432,33519:12433,33520:12434,33521:12435,33600:12449,33601:12450,33602:12451,33603:12452,33604:12453,33605:12454,33606:12455,33607:12456,33608:12457,33609:12458,33610:12459,33611:12460,33612:12461,33613:12462,33614:12463,33615:12464,33616:12465,33617:12466,33618:12467,33619:12468,33620:12469,33621:12470,33622:12471,33623:12472,33624:12473,33625:12474,33626:12475,33627:12476,33628:12477,33629:12478,33630:12479,33631:12480,33632:12481,33633:12482,33634:12483,33635:12484,33636:12485,33637:12486,33638:12487,33639:12488,33640:12489,33641:12490,33642:12491,33643:12492,33644:12493,33645:12494,33646:12495,33647:12496,33648:12497,33649:12498,33650:12499,33651:12500,33652:12501,33653:12502,33654:12503,33655:12504,33656:12505,33657:12506,33658:12507,33659:12508,33660:12509,33661:12510,33662:12511,33664:12512,33665:12513,33666:12514,33667:12515,33668:12516,33669:12517,33670:12518,33671:12519,33672:12520,33673:12521,33674:12522,33675:12523,33676:12524,33677:12525,33678:12526,33679:12527,33680:12528,33681:12529,33682:12530,33683:12531,33684:12532,33685:12533,33686:12534,33695:913,33696:914,33697:915,33698:916,33699:917,33700:918,33701:919,33702:920,33703:921,33704:922,33705:923,33706:924,33707:925,33708:926,33709:927,33710:928,33711:929,33712:931,33713:932,33714:933,33715:934,33716:935,33717:936,33718:937,33727:945,33728:946,33729:947,33730:948,33731:949,33732:950,33733:951,33734:952,33735:953,33736:954,33737:955,33738:956,33739:957,33740:958,33741:959,33742:960,33743:961,33744:963,33745:964,33746:965,33747:966,33748:967,33749:968,33750:969,33856:1040,33857:1041,33858:1042,33859:1043,33860:1044,33861:1045,33862:1025,33863:1046,33864:1047,33865:1048,33866:1049,33867:1050,33868:1051,33869:1052,33870:1053,33871:1054,33872:1055,33873:1056,33874:1057,33875:1058,33876:1059,33877:1060,33878:1061,33879:1062,33880:1063,33881:1064,33882:1065,33883:1066,33884:1067,33885:1068,33886:1069,33887:1070,33888:1071,33904:1072,33905:1073,33906:1074,33907:1075,33908:1076,33909:1077,33910:1105,33911:1078,33912:1079,33913:1080,33914:1081,33915:1082,33916:1083,33917:1084,33918:1085,33920:1086,33921:1087,33922:1088,33923:1089,33924:1090,33925:1091,33926:1092,33927:1093,33928:1094,33929:1095,33930:1096,33931:1097,33932:1098,33933:1099,33934:1100,33935:1101,33936:1102,33937:1103,33951:9472,33952:9474,33953:9484,33954:9488,33955:9496,33956:9492,33957:9500,33958:9516,33959:9508,33960:9524,33961:9532,33962:9473,33963:9475,33964:9487,33965:9491,33966:9499,33967:9495,33968:9507,33969:9523,33970:9515,33971:9531,33972:9547,33973:9504,33974:9519,33975:9512,33976:9527,33977:9535,33978:9501,33979:9520,33980:9509,33981:9528,33982:9538,34975:20124,34976:21782,34977:23043,34978:38463,34979:21696,34980:24859,34981:25384,34982:23030,34983:36898,34984:33909,34985:33564,34986:31312,34987:24746,34988:25569,34989:28197,34990:26093,34991:33894,34992:33446,34993:39925,34994:26771,34995:22311,34996:26017,34997:25201,34998:23451,34999:22992,35e3:34427,35001:39156,35002:32098,35003:32190,35004:39822,35005:25110,35006:31903,35007:34999,35008:23433,35009:24245,35010:25353,35011:26263,35012:26696,35013:38343,35014:38797,35015:26447,35016:20197,35017:20234,35018:20301,35019:20381,35020:20553,35021:22258,35022:22839,35023:22996,35024:23041,35025:23561,35026:24799,35027:24847,35028:24944,35029:26131,35030:26885,35031:28858,35032:30031,35033:30064,35034:31227,35035:32173,35036:32239,35037:32963,35038:33806,35039:34915,35040:35586,35041:36949,35042:36986,35043:21307,35044:20117,35045:20133,35046:22495,35047:32946,35048:37057,35049:30959,35050:19968,35051:22769,35052:28322,35053:36920,35054:31282,35055:33576,35056:33419,35057:39983,35058:20801,35059:21360,35060:21693,35061:21729,35062:22240,35063:23035,35064:24341,35065:39154,35066:28139,35067:32996,35068:34093,35136:38498,35137:38512,35138:38560,35139:38907,35140:21515,35141:21491,35142:23431,35143:28879,35144:32701,35145:36802,35146:38632,35147:21359,35148:40284,35149:31418,35150:19985,35151:30867,35152:33276,35153:28198,35154:22040,35155:21764,35156:27421,35157:34074,35158:39995,35159:23013,35160:21417,35161:28006,35162:29916,35163:38287,35164:22082,35165:20113,35166:36939,35167:38642,35168:33615,35169:39180,35170:21473,35171:21942,35172:23344,35173:24433,35174:26144,35175:26355,35176:26628,35177:27704,35178:27891,35179:27945,35180:29787,35181:30408,35182:31310,35183:38964,35184:33521,35185:34907,35186:35424,35187:37613,35188:28082,35189:30123,35190:30410,35191:39365,35192:24742,35193:35585,35194:36234,35195:38322,35196:27022,35197:21421,35198:20870,35200:22290,35201:22576,35202:22852,35203:23476,35204:24310,35205:24616,35206:25513,35207:25588,35208:27839,35209:28436,35210:28814,35211:28948,35212:29017,35213:29141,35214:29503,35215:32257,35216:33398,35217:33489,35218:34199,35219:36960,35220:37467,35221:40219,35222:22633,35223:26044,35224:27738,35225:29989,35226:20985,35227:22830,35228:22885,35229:24448,35230:24540,35231:25276,35232:26106,35233:27178,35234:27431,35235:27572,35236:29579,35237:32705,35238:35158,35239:40236,35240:40206,35241:40644,35242:23713,35243:27798,35244:33659,35245:20740,35246:23627,35247:25014,35248:33222,35249:26742,35250:29281,35251:20057,35252:20474,35253:21368,35254:24681,35255:28201,35256:31311,35257:38899,35258:19979,35259:21270,35260:20206,35261:20309,35262:20285,35263:20385,35264:20339,35265:21152,35266:21487,35267:22025,35268:22799,35269:23233,35270:23478,35271:23521,35272:31185,35273:26247,35274:26524,35275:26550,35276:27468,35277:27827,35278:28779,35279:29634,35280:31117,35281:31166,35282:31292,35283:31623,35284:33457,35285:33499,35286:33540,35287:33655,35288:33775,35289:33747,35290:34662,35291:35506,35292:22057,35293:36008,35294:36838,35295:36942,35296:38686,35297:34442,35298:20420,35299:23784,35300:25105,35301:29273,35302:30011,35303:33253,35304:33469,35305:34558,35306:36032,35307:38597,35308:39187,35309:39381,35310:20171,35311:20250,35312:35299,35313:22238,35314:22602,35315:22730,35316:24315,35317:24555,35318:24618,35319:24724,35320:24674,35321:25040,35322:25106,35323:25296,35324:25913,35392:39745,35393:26214,35394:26800,35395:28023,35396:28784,35397:30028,35398:30342,35399:32117,35400:33445,35401:34809,35402:38283,35403:38542,35404:35997,35405:20977,35406:21182,35407:22806,35408:21683,35409:23475,35410:23830,35411:24936,35412:27010,35413:28079,35414:30861,35415:33995,35416:34903,35417:35442,35418:37799,35419:39608,35420:28012,35421:39336,35422:34521,35423:22435,35424:26623,35425:34510,35426:37390,35427:21123,35428:22151,35429:21508,35430:24275,35431:25313,35432:25785,35433:26684,35434:26680,35435:27579,35436:29554,35437:30906,35438:31339,35439:35226,35440:35282,35441:36203,35442:36611,35443:37101,35444:38307,35445:38548,35446:38761,35447:23398,35448:23731,35449:27005,35450:38989,35451:38990,35452:25499,35453:31520,35454:27179,35456:27263,35457:26806,35458:39949,35459:28511,35460:21106,35461:21917,35462:24688,35463:25324,35464:27963,35465:28167,35466:28369,35467:33883,35468:35088,35469:36676,35470:19988,35471:39993,35472:21494,35473:26907,35474:27194,35475:38788,35476:26666,35477:20828,35478:31427,35479:33970,35480:37340,35481:37772,35482:22107,35483:40232,35484:26658,35485:33541,35486:33841,35487:31909,35488:21e3,35489:33477,35490:29926,35491:20094,35492:20355,35493:20896,35494:23506,35495:21002,35496:21208,35497:21223,35498:24059,35499:21914,35500:22570,35501:23014,35502:23436,35503:23448,35504:23515,35505:24178,35506:24185,35507:24739,35508:24863,35509:24931,35510:25022,35511:25563,35512:25954,35513:26577,35514:26707,35515:26874,35516:27454,35517:27475,35518:27735,35519:28450,35520:28567,35521:28485,35522:29872,35523:29976,35524:30435,35525:30475,35526:31487,35527:31649,35528:31777,35529:32233,35530:32566,35531:32752,35532:32925,35533:33382,35534:33694,35535:35251,35536:35532,35537:36011,35538:36996,35539:37969,35540:38291,35541:38289,35542:38306,35543:38501,35544:38867,35545:39208,35546:33304,35547:20024,35548:21547,35549:23736,35550:24012,35551:29609,35552:30284,35553:30524,35554:23721,35555:32747,35556:36107,35557:38593,35558:38929,35559:38996,35560:39e3,35561:20225,35562:20238,35563:21361,35564:21916,35565:22120,35566:22522,35567:22855,35568:23305,35569:23492,35570:23696,35571:24076,35572:24190,35573:24524,35574:25582,35575:26426,35576:26071,35577:26082,35578:26399,35579:26827,35580:26820,35648:27231,35649:24112,35650:27589,35651:27671,35652:27773,35653:30079,35654:31048,35655:23395,35656:31232,35657:32e3,35658:24509,35659:35215,35660:35352,35661:36020,35662:36215,35663:36556,35664:36637,35665:39138,35666:39438,35667:39740,35668:20096,35669:20605,35670:20736,35671:22931,35672:23452,35673:25135,35674:25216,35675:25836,35676:27450,35677:29344,35678:30097,35679:31047,35680:32681,35681:34811,35682:35516,35683:35696,35684:25516,35685:33738,35686:38816,35687:21513,35688:21507,35689:21931,35690:26708,35691:27224,35692:35440,35693:30759,35694:26485,35695:40653,35696:21364,35697:23458,35698:33050,35699:34384,35700:36870,35701:19992,35702:20037,35703:20167,35704:20241,35705:21450,35706:21560,35707:23470,35708:24339,35709:24613,35710:25937,35712:26429,35713:27714,35714:27762,35715:27875,35716:28792,35717:29699,35718:31350,35719:31406,35720:31496,35721:32026,35722:31998,35723:32102,35724:26087,35725:29275,35726:21435,35727:23621,35728:24040,35729:25298,35730:25312,35731:25369,35732:28192,35733:34394,35734:35377,35735:36317,35736:37624,35737:28417,35738:31142,35739:39770,35740:20136,35741:20139,35742:20140,35743:20379,35744:20384,35745:20689,35746:20807,35747:31478,35748:20849,35749:20982,35750:21332,35751:21281,35752:21375,35753:21483,35754:21932,35755:22659,35756:23777,35757:24375,35758:24394,35759:24623,35760:24656,35761:24685,35762:25375,35763:25945,35764:27211,35765:27841,35766:29378,35767:29421,35768:30703,35769:33016,35770:33029,35771:33288,35772:34126,35773:37111,35774:37857,35775:38911,35776:39255,35777:39514,35778:20208,35779:20957,35780:23597,35781:26241,35782:26989,35783:23616,35784:26354,35785:26997,35786:29577,35787:26704,35788:31873,35789:20677,35790:21220,35791:22343,35792:24062,35793:37670,35794:26020,35795:27427,35796:27453,35797:29748,35798:31105,35799:31165,35800:31563,35801:32202,35802:33465,35803:33740,35804:34943,35805:35167,35806:35641,35807:36817,35808:37329,35809:21535,35810:37504,35811:20061,35812:20534,35813:21477,35814:21306,35815:29399,35816:29590,35817:30697,35818:33510,35819:36527,35820:39366,35821:39368,35822:39378,35823:20855,35824:24858,35825:34398,35826:21936,35827:31354,35828:20598,35829:23507,35830:36935,35831:38533,35832:20018,35833:27355,35834:37351,35835:23633,35836:23624,35904:25496,35905:31391,35906:27795,35907:38772,35908:36705,35909:31402,35910:29066,35911:38536,35912:31874,35913:26647,35914:32368,35915:26705,35916:37740,35917:21234,35918:21531,35919:34219,35920:35347,35921:32676,35922:36557,35923:37089,35924:21350,35925:34952,35926:31041,35927:20418,35928:20670,35929:21009,35930:20804,35931:21843,35932:22317,35933:29674,35934:22411,35935:22865,35936:24418,35937:24452,35938:24693,35939:24950,35940:24935,35941:25001,35942:25522,35943:25658,35944:25964,35945:26223,35946:26690,35947:28179,35948:30054,35949:31293,35950:31995,35951:32076,35952:32153,35953:32331,35954:32619,35955:33550,35956:33610,35957:34509,35958:35336,35959:35427,35960:35686,35961:36605,35962:38938,35963:40335,35964:33464,35965:36814,35966:39912,35968:21127,35969:25119,35970:25731,35971:28608,35972:38553,35973:26689,35974:20625,35975:27424,35976:27770,35977:28500,35978:31348,35979:32080,35980:34880,35981:35363,35982:26376,35983:20214,35984:20537,35985:20518,35986:20581,35987:20860,35988:21048,35989:21091,35990:21927,35991:22287,35992:22533,35993:23244,35994:24314,35995:25010,35996:25080,35997:25331,35998:25458,35999:26908,36e3:27177,36001:29309,36002:29356,36003:29486,36004:30740,36005:30831,36006:32121,36007:30476,36008:32937,36009:35211,36010:35609,36011:36066,36012:36562,36013:36963,36014:37749,36015:38522,36016:38997,36017:39443,36018:40568,36019:20803,36020:21407,36021:21427,36022:24187,36023:24358,36024:28187,36025:28304,36026:29572,36027:29694,36028:32067,36029:33335,36030:35328,36031:35578,36032:38480,36033:20046,36034:20491,36035:21476,36036:21628,36037:22266,36038:22993,36039:23396,36040:24049,36041:24235,36042:24359,36043:25144,36044:25925,36045:26543,36046:28246,36047:29392,36048:31946,36049:34996,36050:32929,36051:32993,36052:33776,36053:34382,36054:35463,36055:36328,36056:37431,36057:38599,36058:39015,36059:40723,36060:20116,36061:20114,36062:20237,36063:21320,36064:21577,36065:21566,36066:23087,36067:24460,36068:24481,36069:24735,36070:26791,36071:27278,36072:29786,36073:30849,36074:35486,36075:35492,36076:35703,36077:37264,36078:20062,36079:39881,36080:20132,36081:20348,36082:20399,36083:20505,36084:20502,36085:20809,36086:20844,36087:21151,36088:21177,36089:21246,36090:21402,36091:21475,36092:21521,36160:21518,36161:21897,36162:22353,36163:22434,36164:22909,36165:23380,36166:23389,36167:23439,36168:24037,36169:24039,36170:24055,36171:24184,36172:24195,36173:24218,36174:24247,36175:24344,36176:24658,36177:24908,36178:25239,36179:25304,36180:25511,36181:25915,36182:26114,36183:26179,36184:26356,36185:26477,36186:26657,36187:26775,36188:27083,36189:27743,36190:27946,36191:28009,36192:28207,36193:28317,36194:30002,36195:30343,36196:30828,36197:31295,36198:31968,36199:32005,36200:32024,36201:32094,36202:32177,36203:32789,36204:32771,36205:32943,36206:32945,36207:33108,36208:33167,36209:33322,36210:33618,36211:34892,36212:34913,36213:35611,36214:36002,36215:36092,36216:37066,36217:37237,36218:37489,36219:30783,36220:37628,36221:38308,36222:38477,36224:38917,36225:39321,36226:39640,36227:40251,36228:21083,36229:21163,36230:21495,36231:21512,36232:22741,36233:25335,36234:28640,36235:35946,36236:36703,36237:40633,36238:20811,36239:21051,36240:21578,36241:22269,36242:31296,36243:37239,36244:40288,36245:40658,36246:29508,36247:28425,36248:33136,36249:29969,36250:24573,36251:24794,36252:39592,36253:29403,36254:36796,36255:27492,36256:38915,36257:20170,36258:22256,36259:22372,36260:22718,36261:23130,36262:24680,36263:25031,36264:26127,36265:26118,36266:26681,36267:26801,36268:28151,36269:30165,36270:32058,36271:33390,36272:39746,36273:20123,36274:20304,36275:21449,36276:21766,36277:23919,36278:24038,36279:24046,36280:26619,36281:27801,36282:29811,36283:30722,36284:35408,36285:37782,36286:35039,36287:22352,36288:24231,36289:25387,36290:20661,36291:20652,36292:20877,36293:26368,36294:21705,36295:22622,36296:22971,36297:23472,36298:24425,36299:25165,36300:25505,36301:26685,36302:27507,36303:28168,36304:28797,36305:37319,36306:29312,36307:30741,36308:30758,36309:31085,36310:25998,36311:32048,36312:33756,36313:35009,36314:36617,36315:38555,36316:21092,36317:22312,36318:26448,36319:32618,36320:36001,36321:20916,36322:22338,36323:38442,36324:22586,36325:27018,36326:32948,36327:21682,36328:23822,36329:22524,36330:30869,36331:40442,36332:20316,36333:21066,36334:21643,36335:25662,36336:26152,36337:26388,36338:26613,36339:31364,36340:31574,36341:32034,36342:37679,36343:26716,36344:39853,36345:31545,36346:21273,36347:20874,36348:21047,36416:23519,36417:25334,36418:25774,36419:25830,36420:26413,36421:27578,36422:34217,36423:38609,36424:30352,36425:39894,36426:25420,36427:37638,36428:39851,36429:30399,36430:26194,36431:19977,36432:20632,36433:21442,36434:23665,36435:24808,36436:25746,36437:25955,36438:26719,36439:29158,36440:29642,36441:29987,36442:31639,36443:32386,36444:34453,36445:35715,36446:36059,36447:37240,36448:39184,36449:26028,36450:26283,36451:27531,36452:20181,36453:20180,36454:20282,36455:20351,36456:21050,36457:21496,36458:21490,36459:21987,36460:22235,36461:22763,36462:22987,36463:22985,36464:23039,36465:23376,36466:23629,36467:24066,36468:24107,36469:24535,36470:24605,36471:25351,36472:25903,36473:23388,36474:26031,36475:26045,36476:26088,36477:26525,36478:27490,36480:27515,36481:27663,36482:29509,36483:31049,36484:31169,36485:31992,36486:32025,36487:32043,36488:32930,36489:33026,36490:33267,36491:35222,36492:35422,36493:35433,36494:35430,36495:35468,36496:35566,36497:36039,36498:36060,36499:38604,36500:39164,36501:27503,36502:20107,36503:20284,36504:20365,36505:20816,36506:23383,36507:23546,36508:24904,36509:25345,36510:26178,36511:27425,36512:28363,36513:27835,36514:29246,36515:29885,36516:30164,36517:30913,36518:31034,36519:32780,36520:32819,36521:33258,36522:33940,36523:36766,36524:27728,36525:40575,36526:24335,36527:35672,36528:40235,36529:31482,36530:36600,36531:23437,36532:38635,36533:19971,36534:21489,36535:22519,36536:22833,36537:23241,36538:23460,36539:24713,36540:28287,36541:28422,36542:30142,36543:36074,36544:23455,36545:34048,36546:31712,36547:20594,36548:26612,36549:33437,36550:23649,36551:34122,36552:32286,36553:33294,36554:20889,36555:23556,36556:25448,36557:36198,36558:26012,36559:29038,36560:31038,36561:32023,36562:32773,36563:35613,36564:36554,36565:36974,36566:34503,36567:37034,36568:20511,36569:21242,36570:23610,36571:26451,36572:28796,36573:29237,36574:37196,36575:37320,36576:37675,36577:33509,36578:23490,36579:24369,36580:24825,36581:20027,36582:21462,36583:23432,36584:25163,36585:26417,36586:27530,36587:29417,36588:29664,36589:31278,36590:33131,36591:36259,36592:37202,36593:39318,36594:20754,36595:21463,36596:21610,36597:23551,36598:25480,36599:27193,36600:32172,36601:38656,36602:22234,36603:21454,36604:21608,36672:23447,36673:23601,36674:24030,36675:20462,36676:24833,36677:25342,36678:27954,36679:31168,36680:31179,36681:32066,36682:32333,36683:32722,36684:33261,36685:33311,36686:33936,36687:34886,36688:35186,36689:35728,36690:36468,36691:36655,36692:36913,36693:37195,36694:37228,36695:38598,36696:37276,36697:20160,36698:20303,36699:20805,36700:21313,36701:24467,36702:25102,36703:26580,36704:27713,36705:28171,36706:29539,36707:32294,36708:37325,36709:37507,36710:21460,36711:22809,36712:23487,36713:28113,36714:31069,36715:32302,36716:31899,36717:22654,36718:29087,36719:20986,36720:34899,36721:36848,36722:20426,36723:23803,36724:26149,36725:30636,36726:31459,36727:33308,36728:39423,36729:20934,36730:24490,36731:26092,36732:26991,36733:27529,36734:28147,36736:28310,36737:28516,36738:30462,36739:32020,36740:24033,36741:36981,36742:37255,36743:38918,36744:20966,36745:21021,36746:25152,36747:26257,36748:26329,36749:28186,36750:24246,36751:32210,36752:32626,36753:26360,36754:34223,36755:34295,36756:35576,36757:21161,36758:21465,36759:22899,36760:24207,36761:24464,36762:24661,36763:37604,36764:38500,36765:20663,36766:20767,36767:21213,36768:21280,36769:21319,36770:21484,36771:21736,36772:21830,36773:21809,36774:22039,36775:22888,36776:22974,36777:23100,36778:23477,36779:23558,36780:23567,36781:23569,36782:23578,36783:24196,36784:24202,36785:24288,36786:24432,36787:25215,36788:25220,36789:25307,36790:25484,36791:25463,36792:26119,36793:26124,36794:26157,36795:26230,36796:26494,36797:26786,36798:27167,36799:27189,36800:27836,36801:28040,36802:28169,36803:28248,36804:28988,36805:28966,36806:29031,36807:30151,36808:30465,36809:30813,36810:30977,36811:31077,36812:31216,36813:31456,36814:31505,36815:31911,36816:32057,36817:32918,36818:33750,36819:33931,36820:34121,36821:34909,36822:35059,36823:35359,36824:35388,36825:35412,36826:35443,36827:35937,36828:36062,36829:37284,36830:37478,36831:37758,36832:37912,36833:38556,36834:38808,36835:19978,36836:19976,36837:19998,36838:20055,36839:20887,36840:21104,36841:22478,36842:22580,36843:22732,36844:23330,36845:24120,36846:24773,36847:25854,36848:26465,36849:26454,36850:27972,36851:29366,36852:30067,36853:31331,36854:33976,36855:35698,36856:37304,36857:37664,36858:22065,36859:22516,36860:39166,36928:25325,36929:26893,36930:27542,36931:29165,36932:32340,36933:32887,36934:33394,36935:35302,36936:39135,36937:34645,36938:36785,36939:23611,36940:20280,36941:20449,36942:20405,36943:21767,36944:23072,36945:23517,36946:23529,36947:24515,36948:24910,36949:25391,36950:26032,36951:26187,36952:26862,36953:27035,36954:28024,36955:28145,36956:30003,36957:30137,36958:30495,36959:31070,36960:31206,36961:32051,36962:33251,36963:33455,36964:34218,36965:35242,36966:35386,36967:36523,36968:36763,36969:36914,36970:37341,36971:38663,36972:20154,36973:20161,36974:20995,36975:22645,36976:22764,36977:23563,36978:29978,36979:23613,36980:33102,36981:35338,36982:36805,36983:38499,36984:38765,36985:31525,36986:35535,36987:38920,36988:37218,36989:22259,36990:21416,36992:36887,36993:21561,36994:22402,36995:24101,36996:25512,36997:27700,36998:28810,36999:30561,37e3:31883,37001:32736,37002:34928,37003:36930,37004:37204,37005:37648,37006:37656,37007:38543,37008:29790,37009:39620,37010:23815,37011:23913,37012:25968,37013:26530,37014:36264,37015:38619,37016:25454,37017:26441,37018:26905,37019:33733,37020:38935,37021:38592,37022:35070,37023:28548,37024:25722,37025:23544,37026:19990,37027:28716,37028:30045,37029:26159,37030:20932,37031:21046,37032:21218,37033:22995,37034:24449,37035:24615,37036:25104,37037:25919,37038:25972,37039:26143,37040:26228,37041:26866,37042:26646,37043:27491,37044:28165,37045:29298,37046:29983,37047:30427,37048:31934,37049:32854,37050:22768,37051:35069,37052:35199,37053:35488,37054:35475,37055:35531,37056:36893,37057:37266,37058:38738,37059:38745,37060:25993,37061:31246,37062:33030,37063:38587,37064:24109,37065:24796,37066:25114,37067:26021,37068:26132,37069:26512,37070:30707,37071:31309,37072:31821,37073:32318,37074:33034,37075:36012,37076:36196,37077:36321,37078:36447,37079:30889,37080:20999,37081:25305,37082:25509,37083:25666,37084:25240,37085:35373,37086:31363,37087:31680,37088:35500,37089:38634,37090:32118,37091:33292,37092:34633,37093:20185,37094:20808,37095:21315,37096:21344,37097:23459,37098:23554,37099:23574,37100:24029,37101:25126,37102:25159,37103:25776,37104:26643,37105:26676,37106:27849,37107:27973,37108:27927,37109:26579,37110:28508,37111:29006,37112:29053,37113:26059,37114:31359,37115:31661,37116:32218,37184:32330,37185:32680,37186:33146,37187:33307,37188:33337,37189:34214,37190:35438,37191:36046,37192:36341,37193:36984,37194:36983,37195:37549,37196:37521,37197:38275,37198:39854,37199:21069,37200:21892,37201:28472,37202:28982,37203:20840,37204:31109,37205:32341,37206:33203,37207:31950,37208:22092,37209:22609,37210:23720,37211:25514,37212:26366,37213:26365,37214:26970,37215:29401,37216:30095,37217:30094,37218:30990,37219:31062,37220:31199,37221:31895,37222:32032,37223:32068,37224:34311,37225:35380,37226:38459,37227:36961,37228:40736,37229:20711,37230:21109,37231:21452,37232:21474,37233:20489,37234:21930,37235:22766,37236:22863,37237:29245,37238:23435,37239:23652,37240:21277,37241:24803,37242:24819,37243:25436,37244:25475,37245:25407,37246:25531,37248:25805,37249:26089,37250:26361,37251:24035,37252:27085,37253:27133,37254:28437,37255:29157,37256:20105,37257:30185,37258:30456,37259:31379,37260:31967,37261:32207,37262:32156,37263:32865,37264:33609,37265:33624,37266:33900,37267:33980,37268:34299,37269:35013,37270:36208,37271:36865,37272:36973,37273:37783,37274:38684,37275:39442,37276:20687,37277:22679,37278:24974,37279:33235,37280:34101,37281:36104,37282:36896,37283:20419,37284:20596,37285:21063,37286:21363,37287:24687,37288:25417,37289:26463,37290:28204,37291:36275,37292:36895,37293:20439,37294:23646,37295:36042,37296:26063,37297:32154,37298:21330,37299:34966,37300:20854,37301:25539,37302:23384,37303:23403,37304:23562,37305:25613,37306:26449,37307:36956,37308:20182,37309:22810,37310:22826,37311:27760,37312:35409,37313:21822,37314:22549,37315:22949,37316:24816,37317:25171,37318:26561,37319:33333,37320:26965,37321:38464,37322:39364,37323:39464,37324:20307,37325:22534,37326:23550,37327:32784,37328:23729,37329:24111,37330:24453,37331:24608,37332:24907,37333:25140,37334:26367,37335:27888,37336:28382,37337:32974,37338:33151,37339:33492,37340:34955,37341:36024,37342:36864,37343:36910,37344:38538,37345:40667,37346:39899,37347:20195,37348:21488,37349:22823,37350:31532,37351:37261,37352:38988,37353:40441,37354:28381,37355:28711,37356:21331,37357:21828,37358:23429,37359:25176,37360:25246,37361:25299,37362:27810,37363:28655,37364:29730,37365:35351,37366:37944,37367:28609,37368:35582,37369:33592,37370:20967,37371:34552,37372:21482,37440:21481,37441:20294,37442:36948,37443:36784,37444:22890,37445:33073,37446:24061,37447:31466,37448:36799,37449:26842,37450:35895,37451:29432,37452:40008,37453:27197,37454:35504,37455:20025,37456:21336,37457:22022,37458:22374,37459:25285,37460:25506,37461:26086,37462:27470,37463:28129,37464:28251,37465:28845,37466:30701,37467:31471,37468:31658,37469:32187,37470:32829,37471:32966,37472:34507,37473:35477,37474:37723,37475:22243,37476:22727,37477:24382,37478:26029,37479:26262,37480:27264,37481:27573,37482:30007,37483:35527,37484:20516,37485:30693,37486:22320,37487:24347,37488:24677,37489:26234,37490:27744,37491:30196,37492:31258,37493:32622,37494:33268,37495:34584,37496:36933,37497:39347,37498:31689,37499:30044,37500:31481,37501:31569,37502:33988,37504:36880,37505:31209,37506:31378,37507:33590,37508:23265,37509:30528,37510:20013,37511:20210,37512:23449,37513:24544,37514:25277,37515:26172,37516:26609,37517:27880,37518:34411,37519:34935,37520:35387,37521:37198,37522:37619,37523:39376,37524:27159,37525:28710,37526:29482,37527:33511,37528:33879,37529:36015,37530:19969,37531:20806,37532:20939,37533:21899,37534:23541,37535:24086,37536:24115,37537:24193,37538:24340,37539:24373,37540:24427,37541:24500,37542:25074,37543:25361,37544:26274,37545:26397,37546:28526,37547:29266,37548:30010,37549:30522,37550:32884,37551:33081,37552:33144,37553:34678,37554:35519,37555:35548,37556:36229,37557:36339,37558:37530,37559:38263,37560:38914,37561:40165,37562:21189,37563:25431,37564:30452,37565:26389,37566:27784,37567:29645,37568:36035,37569:37806,37570:38515,37571:27941,37572:22684,37573:26894,37574:27084,37575:36861,37576:37786,37577:30171,37578:36890,37579:22618,37580:26626,37581:25524,37582:27131,37583:20291,37584:28460,37585:26584,37586:36795,37587:34086,37588:32180,37589:37716,37590:26943,37591:28528,37592:22378,37593:22775,37594:23340,37595:32044,37596:29226,37597:21514,37598:37347,37599:40372,37600:20141,37601:20302,37602:20572,37603:20597,37604:21059,37605:35998,37606:21576,37607:22564,37608:23450,37609:24093,37610:24213,37611:24237,37612:24311,37613:24351,37614:24716,37615:25269,37616:25402,37617:25552,37618:26799,37619:27712,37620:30855,37621:31118,37622:31243,37623:32224,37624:33351,37625:35330,37626:35558,37627:36420,37628:36883,37696:37048,37697:37165,37698:37336,37699:40718,37700:27877,37701:25688,37702:25826,37703:25973,37704:28404,37705:30340,37706:31515,37707:36969,37708:37841,37709:28346,37710:21746,37711:24505,37712:25764,37713:36685,37714:36845,37715:37444,37716:20856,37717:22635,37718:22825,37719:23637,37720:24215,37721:28155,37722:32399,37723:29980,37724:36028,37725:36578,37726:39003,37727:28857,37728:20253,37729:27583,37730:28593,37731:3e4,37732:38651,37733:20814,37734:21520,37735:22581,37736:22615,37737:22956,37738:23648,37739:24466,37740:26007,37741:26460,37742:28193,37743:30331,37744:33759,37745:36077,37746:36884,37747:37117,37748:37709,37749:30757,37750:30778,37751:21162,37752:24230,37753:22303,37754:22900,37755:24594,37756:20498,37757:20826,37758:20908,37760:20941,37761:20992,37762:21776,37763:22612,37764:22616,37765:22871,37766:23445,37767:23798,37768:23947,37769:24764,37770:25237,37771:25645,37772:26481,37773:26691,37774:26812,37775:26847,37776:30423,37777:28120,37778:28271,37779:28059,37780:28783,37781:29128,37782:24403,37783:30168,37784:31095,37785:31561,37786:31572,37787:31570,37788:31958,37789:32113,37790:21040,37791:33891,37792:34153,37793:34276,37794:35342,37795:35588,37796:35910,37797:36367,37798:36867,37799:36879,37800:37913,37801:38518,37802:38957,37803:39472,37804:38360,37805:20685,37806:21205,37807:21516,37808:22530,37809:23566,37810:24999,37811:25758,37812:27934,37813:30643,37814:31461,37815:33012,37816:33796,37817:36947,37818:37509,37819:23776,37820:40199,37821:21311,37822:24471,37823:24499,37824:28060,37825:29305,37826:30563,37827:31167,37828:31716,37829:27602,37830:29420,37831:35501,37832:26627,37833:27233,37834:20984,37835:31361,37836:26932,37837:23626,37838:40182,37839:33515,37840:23493,37841:37193,37842:28702,37843:22136,37844:23663,37845:24775,37846:25958,37847:27788,37848:35930,37849:36929,37850:38931,37851:21585,37852:26311,37853:37389,37854:22856,37855:37027,37856:20869,37857:20045,37858:20970,37859:34201,37860:35598,37861:28760,37862:25466,37863:37707,37864:26978,37865:39348,37866:32260,37867:30071,37868:21335,37869:26976,37870:36575,37871:38627,37872:27741,37873:20108,37874:23612,37875:24336,37876:36841,37877:21250,37878:36049,37879:32905,37880:34425,37881:24319,37882:26085,37883:20083,37884:20837,37952:22914,37953:23615,37954:38894,37955:20219,37956:22922,37957:24525,37958:35469,37959:28641,37960:31152,37961:31074,37962:23527,37963:33905,37964:29483,37965:29105,37966:24180,37967:24565,37968:25467,37969:25754,37970:29123,37971:31896,37972:20035,37973:24316,37974:20043,37975:22492,37976:22178,37977:24745,37978:28611,37979:32013,37980:33021,37981:33075,37982:33215,37983:36786,37984:35223,37985:34468,37986:24052,37987:25226,37988:25773,37989:35207,37990:26487,37991:27874,37992:27966,37993:29750,37994:30772,37995:23110,37996:32629,37997:33453,37998:39340,37999:20467,38e3:24259,38001:25309,38002:25490,38003:25943,38004:26479,38005:30403,38006:29260,38007:32972,38008:32954,38009:36649,38010:37197,38011:20493,38012:22521,38013:23186,38014:26757,38016:26995,38017:29028,38018:29437,38019:36023,38020:22770,38021:36064,38022:38506,38023:36889,38024:34687,38025:31204,38026:30695,38027:33833,38028:20271,38029:21093,38030:21338,38031:25293,38032:26575,38033:27850,38034:30333,38035:31636,38036:31893,38037:33334,38038:34180,38039:36843,38040:26333,38041:28448,38042:29190,38043:32283,38044:33707,38045:39361,38046:40614,38047:20989,38048:31665,38049:30834,38050:31672,38051:32903,38052:31560,38053:27368,38054:24161,38055:32908,38056:30033,38057:30048,38058:20843,38059:37474,38060:28300,38061:30330,38062:37271,38063:39658,38064:20240,38065:32624,38066:25244,38067:31567,38068:38309,38069:40169,38070:22138,38071:22617,38072:34532,38073:38588,38074:20276,38075:21028,38076:21322,38077:21453,38078:21467,38079:24070,38080:25644,38081:26001,38082:26495,38083:27710,38084:27726,38085:29256,38086:29359,38087:29677,38088:30036,38089:32321,38090:33324,38091:34281,38092:36009,38093:31684,38094:37318,38095:29033,38096:38930,38097:39151,38098:25405,38099:26217,38100:30058,38101:30436,38102:30928,38103:34115,38104:34542,38105:21290,38106:21329,38107:21542,38108:22915,38109:24199,38110:24444,38111:24754,38112:25161,38113:25209,38114:25259,38115:26e3,38116:27604,38117:27852,38118:30130,38119:30382,38120:30865,38121:31192,38122:32203,38123:32631,38124:32933,38125:34987,38126:35513,38127:36027,38128:36991,38129:38750,38130:39131,38131:27147,38132:31800,38133:20633,38134:23614,38135:24494,38136:26503,38137:27608,38138:29749,38139:30473,38140:32654,38208:40763,38209:26570,38210:31255,38211:21305,38212:30091,38213:39661,38214:24422,38215:33181,38216:33777,38217:32920,38218:24380,38219:24517,38220:30050,38221:31558,38222:36924,38223:26727,38224:23019,38225:23195,38226:32016,38227:30334,38228:35628,38229:20469,38230:24426,38231:27161,38232:27703,38233:28418,38234:29922,38235:31080,38236:34920,38237:35413,38238:35961,38239:24287,38240:25551,38241:30149,38242:31186,38243:33495,38244:37672,38245:37618,38246:33948,38247:34541,38248:39981,38249:21697,38250:24428,38251:25996,38252:27996,38253:28693,38254:36007,38255:36051,38256:38971,38257:25935,38258:29942,38259:19981,38260:20184,38261:22496,38262:22827,38263:23142,38264:23500,38265:20904,38266:24067,38267:24220,38268:24598,38269:25206,38270:25975,38272:26023,38273:26222,38274:28014,38275:29238,38276:31526,38277:33104,38278:33178,38279:33433,38280:35676,38281:36e3,38282:36070,38283:36212,38284:38428,38285:38468,38286:20398,38287:25771,38288:27494,38289:33310,38290:33889,38291:34154,38292:37096,38293:23553,38294:26963,38295:39080,38296:33914,38297:34135,38298:20239,38299:21103,38300:24489,38301:24133,38302:26381,38303:31119,38304:33145,38305:35079,38306:35206,38307:28149,38308:24343,38309:25173,38310:27832,38311:20175,38312:29289,38313:39826,38314:20998,38315:21563,38316:22132,38317:22707,38318:24996,38319:25198,38320:28954,38321:22894,38322:31881,38323:31966,38324:32027,38325:38640,38326:25991,38327:32862,38328:19993,38329:20341,38330:20853,38331:22592,38332:24163,38333:24179,38334:24330,38335:26564,38336:20006,38337:34109,38338:38281,38339:38491,38340:31859,38341:38913,38342:20731,38343:22721,38344:30294,38345:30887,38346:21029,38347:30629,38348:34065,38349:31622,38350:20559,38351:22793,38352:29255,38353:31687,38354:32232,38355:36794,38356:36820,38357:36941,38358:20415,38359:21193,38360:23081,38361:24321,38362:38829,38363:20445,38364:33303,38365:37610,38366:22275,38367:25429,38368:27497,38369:29995,38370:35036,38371:36628,38372:31298,38373:21215,38374:22675,38375:24917,38376:25098,38377:26286,38378:27597,38379:31807,38380:33769,38381:20515,38382:20472,38383:21253,38384:21574,38385:22577,38386:22857,38387:23453,38388:23792,38389:23791,38390:23849,38391:24214,38392:25265,38393:25447,38394:25918,38395:26041,38396:26379,38464:27861,38465:27873,38466:28921,38467:30770,38468:32299,38469:32990,38470:33459,38471:33804,38472:34028,38473:34562,38474:35090,38475:35370,38476:35914,38477:37030,38478:37586,38479:39165,38480:40179,38481:40300,38482:20047,38483:20129,38484:20621,38485:21078,38486:22346,38487:22952,38488:24125,38489:24536,38490:24537,38491:25151,38492:26292,38493:26395,38494:26576,38495:26834,38496:20882,38497:32033,38498:32938,38499:33192,38500:35584,38501:35980,38502:36031,38503:37502,38504:38450,38505:21536,38506:38956,38507:21271,38508:20693,38509:21340,38510:22696,38511:25778,38512:26420,38513:29287,38514:30566,38515:31302,38516:37350,38517:21187,38518:27809,38519:27526,38520:22528,38521:24140,38522:22868,38523:26412,38524:32763,38525:20961,38526:30406,38528:25705,38529:30952,38530:39764,38531:40635,38532:22475,38533:22969,38534:26151,38535:26522,38536:27598,38537:21737,38538:27097,38539:24149,38540:33180,38541:26517,38542:39850,38543:26622,38544:40018,38545:26717,38546:20134,38547:20451,38548:21448,38549:25273,38550:26411,38551:27819,38552:36804,38553:20397,38554:32365,38555:40639,38556:19975,38557:24930,38558:28288,38559:28459,38560:34067,38561:21619,38562:26410,38563:39749,38564:24051,38565:31637,38566:23724,38567:23494,38568:34588,38569:28234,38570:34001,38571:31252,38572:33032,38573:22937,38574:31885,38575:27665,38576:30496,38577:21209,38578:22818,38579:28961,38580:29279,38581:30683,38582:38695,38583:40289,38584:26891,38585:23167,38586:23064,38587:20901,38588:21517,38589:21629,38590:26126,38591:30431,38592:36855,38593:37528,38594:40180,38595:23018,38596:29277,38597:28357,38598:20813,38599:26825,38600:32191,38601:32236,38602:38754,38603:40634,38604:25720,38605:27169,38606:33538,38607:22916,38608:23391,38609:27611,38610:29467,38611:30450,38612:32178,38613:32791,38614:33945,38615:20786,38616:26408,38617:40665,38618:30446,38619:26466,38620:21247,38621:39173,38622:23588,38623:25147,38624:31870,38625:36016,38626:21839,38627:24758,38628:32011,38629:38272,38630:21249,38631:20063,38632:20918,38633:22812,38634:29242,38635:32822,38636:37326,38637:24357,38638:30690,38639:21380,38640:24441,38641:32004,38642:34220,38643:35379,38644:36493,38645:38742,38646:26611,38647:34222,38648:37971,38649:24841,38650:24840,38651:27833,38652:30290,38720:35565,38721:36664,38722:21807,38723:20305,38724:20778,38725:21191,38726:21451,38727:23461,38728:24189,38729:24736,38730:24962,38731:25558,38732:26377,38733:26586,38734:28263,38735:28044,38736:29494,38737:29495,38738:30001,38739:31056,38740:35029,38741:35480,38742:36938,38743:37009,38744:37109,38745:38596,38746:34701,38747:22805,38748:20104,38749:20313,38750:19982,38751:35465,38752:36671,38753:38928,38754:20653,38755:24188,38756:22934,38757:23481,38758:24248,38759:25562,38760:25594,38761:25793,38762:26332,38763:26954,38764:27096,38765:27915,38766:28342,38767:29076,38768:29992,38769:31407,38770:32650,38771:32768,38772:33865,38773:33993,38774:35201,38775:35617,38776:36362,38777:36965,38778:38525,38779:39178,38780:24958,38781:25233,38782:27442,38784:27779,38785:28020,38786:32716,38787:32764,38788:28096,38789:32645,38790:34746,38791:35064,38792:26469,38793:33713,38794:38972,38795:38647,38796:27931,38797:32097,38798:33853,38799:37226,38800:20081,38801:21365,38802:23888,38803:27396,38804:28651,38805:34253,38806:34349,38807:35239,38808:21033,38809:21519,38810:23653,38811:26446,38812:26792,38813:29702,38814:29827,38815:30178,38816:35023,38817:35041,38818:37324,38819:38626,38820:38520,38821:24459,38822:29575,38823:31435,38824:33870,38825:25504,38826:30053,38827:21129,38828:27969,38829:28316,38830:29705,38831:30041,38832:30827,38833:31890,38834:38534,38835:31452,38836:40845,38837:20406,38838:24942,38839:26053,38840:34396,38841:20102,38842:20142,38843:20698,38844:20001,38845:20940,38846:23534,38847:26009,38848:26753,38849:28092,38850:29471,38851:30274,38852:30637,38853:31260,38854:31975,38855:33391,38856:35538,38857:36988,38858:37327,38859:38517,38860:38936,38861:21147,38862:32209,38863:20523,38864:21400,38865:26519,38866:28107,38867:29136,38868:29747,38869:33256,38870:36650,38871:38563,38872:40023,38873:40607,38874:29792,38875:22593,38876:28057,38877:32047,38878:39006,38879:20196,38880:20278,38881:20363,38882:20919,38883:21169,38884:23994,38885:24604,38886:29618,38887:31036,38888:33491,38889:37428,38890:38583,38891:38646,38892:38666,38893:40599,38894:40802,38895:26278,38896:27508,38897:21015,38898:21155,38899:28872,38900:35010,38901:24265,38902:24651,38903:24976,38904:28451,38905:29001,38906:31806,38907:32244,38908:32879,38976:34030,38977:36899,38978:37676,38979:21570,38980:39791,38981:27347,38982:28809,38983:36034,38984:36335,38985:38706,38986:21172,38987:23105,38988:24266,38989:24324,38990:26391,38991:27004,38992:27028,38993:28010,38994:28431,38995:29282,38996:29436,38997:31725,38998:32769,38999:32894,39e3:34635,39001:37070,39002:20845,39003:40595,39004:31108,39005:32907,39006:37682,39007:35542,39008:20525,39009:21644,39010:35441,39011:27498,39012:36036,39013:33031,39014:24785,39015:26528,39016:40434,39017:20121,39018:20120,39019:39952,39020:35435,39021:34241,39022:34152,39023:26880,39024:28286,39025:30871,39026:33109,39071:24332,39072:19984,39073:19989,39074:20010,39075:20017,39076:20022,39077:20028,39078:20031,39079:20034,39080:20054,39081:20056,39082:20098,39083:20101,39084:35947,39085:20106,39086:33298,39087:24333,39088:20110,39089:20126,39090:20127,39091:20128,39092:20130,39093:20144,39094:20147,39095:20150,39096:20174,39097:20173,39098:20164,39099:20166,39100:20162,39101:20183,39102:20190,39103:20205,39104:20191,39105:20215,39106:20233,39107:20314,39108:20272,39109:20315,39110:20317,39111:20311,39112:20295,39113:20342,39114:20360,39115:20367,39116:20376,39117:20347,39118:20329,39119:20336,39120:20369,39121:20335,39122:20358,39123:20374,39124:20760,39125:20436,39126:20447,39127:20430,39128:20440,39129:20443,39130:20433,39131:20442,39132:20432,39133:20452,39134:20453,39135:20506,39136:20520,39137:20500,39138:20522,39139:20517,39140:20485,39141:20252,39142:20470,39143:20513,39144:20521,39145:20524,39146:20478,39147:20463,39148:20497,39149:20486,39150:20547,39151:20551,39152:26371,39153:20565,39154:20560,39155:20552,39156:20570,39157:20566,39158:20588,39159:20600,39160:20608,39161:20634,39162:20613,39163:20660,39164:20658,39232:20681,39233:20682,39234:20659,39235:20674,39236:20694,39237:20702,39238:20709,39239:20717,39240:20707,39241:20718,39242:20729,39243:20725,39244:20745,39245:20737,39246:20738,39247:20758,39248:20757,39249:20756,39250:20762,39251:20769,39252:20794,39253:20791,39254:20796,39255:20795,39256:20799,39257:20800,39258:20818,39259:20812,39260:20820,39261:20834,39262:31480,39263:20841,39264:20842,39265:20846,39266:20864,39267:20866,39268:22232,39269:20876,39270:20873,39271:20879,39272:20881,39273:20883,39274:20885,39275:20886,39276:20900,39277:20902,39278:20898,39279:20905,39280:20906,39281:20907,39282:20915,39283:20913,39284:20914,39285:20912,39286:20917,39287:20925,39288:20933,39289:20937,39290:20955,39291:20960,39292:34389,39293:20969,39294:20973,39296:20976,39297:20981,39298:20990,39299:20996,39300:21003,39301:21012,39302:21006,39303:21031,39304:21034,39305:21038,39306:21043,39307:21049,39308:21071,39309:21060,39310:21067,39311:21068,39312:21086,39313:21076,39314:21098,39315:21108,39316:21097,39317:21107,39318:21119,39319:21117,39320:21133,39321:21140,39322:21138,39323:21105,39324:21128,39325:21137,39326:36776,39327:36775,39328:21164,39329:21165,39330:21180,39331:21173,39332:21185,39333:21197,39334:21207,39335:21214,39336:21219,39337:21222,39338:39149,39339:21216,39340:21235,39341:21237,39342:21240,39343:21241,39344:21254,39345:21256,39346:30008,39347:21261,39348:21264,39349:21263,39350:21269,39351:21274,39352:21283,39353:21295,39354:21297,39355:21299,39356:21304,39357:21312,39358:21318,39359:21317,39360:19991,39361:21321,39362:21325,39363:20950,39364:21342,39365:21353,39366:21358,39367:22808,39368:21371,39369:21367,39370:21378,39371:21398,39372:21408,39373:21414,39374:21413,39375:21422,39376:21424,39377:21430,39378:21443,39379:31762,39380:38617,39381:21471,39382:26364,39383:29166,39384:21486,39385:21480,39386:21485,39387:21498,39388:21505,39389:21565,39390:21568,39391:21548,39392:21549,39393:21564,39394:21550,39395:21558,39396:21545,39397:21533,39398:21582,39399:21647,39400:21621,39401:21646,39402:21599,39403:21617,39404:21623,39405:21616,39406:21650,39407:21627,39408:21632,39409:21622,39410:21636,39411:21648,39412:21638,39413:21703,39414:21666,39415:21688,39416:21669,39417:21676,39418:21700,39419:21704,39420:21672,39488:21675,39489:21698,39490:21668,39491:21694,39492:21692,39493:21720,39494:21733,39495:21734,39496:21775,39497:21780,39498:21757,39499:21742,39500:21741,39501:21754,39502:21730,39503:21817,39504:21824,39505:21859,39506:21836,39507:21806,39508:21852,39509:21829,39510:21846,39511:21847,39512:21816,39513:21811,39514:21853,39515:21913,39516:21888,39517:21679,39518:21898,39519:21919,39520:21883,39521:21886,39522:21912,39523:21918,39524:21934,39525:21884,39526:21891,39527:21929,39528:21895,39529:21928,39530:21978,39531:21957,39532:21983,39533:21956,39534:21980,39535:21988,39536:21972,39537:22036,39538:22007,39539:22038,39540:22014,39541:22013,39542:22043,39543:22009,39544:22094,39545:22096,39546:29151,39547:22068,39548:22070,39549:22066,39550:22072,39552:22123,39553:22116,39554:22063,39555:22124,39556:22122,39557:22150,39558:22144,39559:22154,39560:22176,39561:22164,39562:22159,39563:22181,39564:22190,39565:22198,39566:22196,39567:22210,39568:22204,39569:22209,39570:22211,39571:22208,39572:22216,39573:22222,39574:22225,39575:22227,39576:22231,39577:22254,39578:22265,39579:22272,39580:22271,39581:22276,39582:22281,39583:22280,39584:22283,39585:22285,39586:22291,39587:22296,39588:22294,39589:21959,39590:22300,39591:22310,39592:22327,39593:22328,39594:22350,39595:22331,39596:22336,39597:22351,39598:22377,39599:22464,39600:22408,39601:22369,39602:22399,39603:22409,39604:22419,39605:22432,39606:22451,39607:22436,39608:22442,39609:22448,39610:22467,39611:22470,39612:22484,39613:22482,39614:22483,39615:22538,39616:22486,39617:22499,39618:22539,39619:22553,39620:22557,39621:22642,39622:22561,39623:22626,39624:22603,39625:22640,39626:27584,39627:22610,39628:22589,39629:22649,39630:22661,39631:22713,39632:22687,39633:22699,39634:22714,39635:22750,39636:22715,39637:22712,39638:22702,39639:22725,39640:22739,39641:22737,39642:22743,39643:22745,39644:22744,39645:22757,39646:22748,39647:22756,39648:22751,39649:22767,39650:22778,39651:22777,39652:22779,39653:22780,39654:22781,39655:22786,39656:22794,39657:22800,39658:22811,39659:26790,39660:22821,39661:22828,39662:22829,39663:22834,39664:22840,39665:22846,39666:31442,39667:22869,39668:22864,39669:22862,39670:22874,39671:22872,39672:22882,39673:22880,39674:22887,39675:22892,39676:22889,39744:22904,39745:22913,39746:22941,39747:20318,39748:20395,39749:22947,39750:22962,39751:22982,39752:23016,39753:23004,39754:22925,39755:23001,39756:23002,39757:23077,39758:23071,39759:23057,39760:23068,39761:23049,39762:23066,39763:23104,39764:23148,39765:23113,39766:23093,39767:23094,39768:23138,39769:23146,39770:23194,39771:23228,39772:23230,39773:23243,39774:23234,39775:23229,39776:23267,39777:23255,39778:23270,39779:23273,39780:23254,39781:23290,39782:23291,39783:23308,39784:23307,39785:23318,39786:23346,39787:23248,39788:23338,39789:23350,39790:23358,39791:23363,39792:23365,39793:23360,39794:23377,39795:23381,39796:23386,39797:23387,39798:23397,39799:23401,39800:23408,39801:23411,39802:23413,39803:23416,39804:25992,39805:23418,39806:23424,39808:23427,39809:23462,39810:23480,39811:23491,39812:23495,39813:23497,39814:23508,39815:23504,39816:23524,39817:23526,39818:23522,39819:23518,39820:23525,39821:23531,39822:23536,39823:23542,39824:23539,39825:23557,39826:23559,39827:23560,39828:23565,39829:23571,39830:23584,39831:23586,39832:23592,39833:23608,39834:23609,39835:23617,39836:23622,39837:23630,39838:23635,39839:23632,39840:23631,39841:23409,39842:23660,39843:23662,39844:20066,39845:23670,39846:23673,39847:23692,39848:23697,39849:23700,39850:22939,39851:23723,39852:23739,39853:23734,39854:23740,39855:23735,39856:23749,39857:23742,39858:23751,39859:23769,39860:23785,39861:23805,39862:23802,39863:23789,39864:23948,39865:23786,39866:23819,39867:23829,39868:23831,39869:23900,39870:23839,39871:23835,39872:23825,39873:23828,39874:23842,39875:23834,39876:23833,39877:23832,39878:23884,39879:23890,39880:23886,39881:23883,39882:23916,39883:23923,39884:23926,39885:23943,39886:23940,39887:23938,39888:23970,39889:23965,39890:23980,39891:23982,39892:23997,39893:23952,39894:23991,39895:23996,39896:24009,39897:24013,39898:24019,39899:24018,39900:24022,39901:24027,39902:24043,39903:24050,39904:24053,39905:24075,39906:24090,39907:24089,39908:24081,39909:24091,39910:24118,39911:24119,39912:24132,39913:24131,39914:24128,39915:24142,39916:24151,39917:24148,39918:24159,39919:24162,39920:24164,39921:24135,39922:24181,39923:24182,39924:24186,39925:40636,39926:24191,39927:24224,39928:24257,39929:24258,39930:24264,39931:24272,39932:24271,4e4:24278,40001:24291,40002:24285,40003:24282,40004:24283,40005:24290,40006:24289,40007:24296,40008:24297,40009:24300,40010:24305,40011:24307,40012:24304,40013:24308,40014:24312,40015:24318,40016:24323,40017:24329,40018:24413,40019:24412,40020:24331,40021:24337,40022:24342,40023:24361,40024:24365,40025:24376,40026:24385,40027:24392,40028:24396,40029:24398,40030:24367,40031:24401,40032:24406,40033:24407,40034:24409,40035:24417,40036:24429,40037:24435,40038:24439,40039:24451,40040:24450,40041:24447,40042:24458,40043:24456,40044:24465,40045:24455,40046:24478,40047:24473,40048:24472,40049:24480,40050:24488,40051:24493,40052:24508,40053:24534,40054:24571,40055:24548,40056:24568,40057:24561,40058:24541,40059:24755,40060:24575,40061:24609,40062:24672,40064:24601,40065:24592,40066:24617,40067:24590,40068:24625,40069:24603,40070:24597,40071:24619,40072:24614,40073:24591,40074:24634,40075:24666,40076:24641,40077:24682,40078:24695,40079:24671,40080:24650,40081:24646,40082:24653,40083:24675,40084:24643,40085:24676,40086:24642,40087:24684,40088:24683,40089:24665,40090:24705,40091:24717,40092:24807,40093:24707,40094:24730,40095:24708,40096:24731,40097:24726,40098:24727,40099:24722,40100:24743,40101:24715,40102:24801,40103:24760,40104:24800,40105:24787,40106:24756,40107:24560,40108:24765,40109:24774,40110:24757,40111:24792,40112:24909,40113:24853,40114:24838,40115:24822,40116:24823,40117:24832,40118:24820,40119:24826,40120:24835,40121:24865,40122:24827,40123:24817,40124:24845,40125:24846,40126:24903,40127:24894,40128:24872,40129:24871,40130:24906,40131:24895,40132:24892,40133:24876,40134:24884,40135:24893,40136:24898,40137:24900,40138:24947,40139:24951,40140:24920,40141:24921,40142:24922,40143:24939,40144:24948,40145:24943,40146:24933,40147:24945,40148:24927,40149:24925,40150:24915,40151:24949,40152:24985,40153:24982,40154:24967,40155:25004,40156:24980,40157:24986,40158:24970,40159:24977,40160:25003,40161:25006,40162:25036,40163:25034,40164:25033,40165:25079,40166:25032,40167:25027,40168:25030,40169:25018,40170:25035,40171:32633,40172:25037,40173:25062,40174:25059,40175:25078,40176:25082,40177:25076,40178:25087,40179:25085,40180:25084,40181:25086,40182:25088,40183:25096,40184:25097,40185:25101,40186:25100,40187:25108,40188:25115,40256:25118,40257:25121,40258:25130,40259:25134,40260:25136,40261:25138,40262:25139,40263:25153,40264:25166,40265:25182,40266:25187,40267:25179,40268:25184,40269:25192,40270:25212,40271:25218,40272:25225,40273:25214,40274:25234,40275:25235,40276:25238,40277:25300,40278:25219,40279:25236,40280:25303,40281:25297,40282:25275,40283:25295,40284:25343,40285:25286,40286:25812,40287:25288,40288:25308,40289:25292,40290:25290,40291:25282,40292:25287,40293:25243,40294:25289,40295:25356,40296:25326,40297:25329,40298:25383,40299:25346,40300:25352,40301:25327,40302:25333,40303:25424,40304:25406,40305:25421,40306:25628,40307:25423,40308:25494,40309:25486,40310:25472,40311:25515,40312:25462,40313:25507,40314:25487,40315:25481,40316:25503,40317:25525,40318:25451,40320:25449,40321:25534,40322:25577,40323:25536,40324:25542,40325:25571,40326:25545,40327:25554,40328:25590,40329:25540,40330:25622,40331:25652,40332:25606,40333:25619,40334:25638,40335:25654,40336:25885,40337:25623,40338:25640,40339:25615,40340:25703,40341:25711,40342:25718,40343:25678,40344:25898,40345:25749,40346:25747,40347:25765,40348:25769,40349:25736,40350:25788,40351:25818,40352:25810,40353:25797,40354:25799,40355:25787,40356:25816,40357:25794,40358:25841,40359:25831,40360:33289,40361:25824,40362:25825,40363:25260,40364:25827,40365:25839,40366:25900,40367:25846,40368:25844,40369:25842,40370:25850,40371:25856,40372:25853,40373:25880,40374:25884,40375:25861,40376:25892,40377:25891,40378:25899,40379:25908,40380:25909,40381:25911,40382:25910,40383:25912,40384:30027,40385:25928,40386:25942,40387:25941,40388:25933,40389:25944,40390:25950,40391:25949,40392:25970,40393:25976,40394:25986,40395:25987,40396:35722,40397:26011,40398:26015,40399:26027,40400:26039,40401:26051,40402:26054,40403:26049,40404:26052,40405:26060,40406:26066,40407:26075,40408:26073,40409:26080,40410:26081,40411:26097,40412:26482,40413:26122,40414:26115,40415:26107,40416:26483,40417:26165,40418:26166,40419:26164,40420:26140,40421:26191,40422:26180,40423:26185,40424:26177,40425:26206,40426:26205,40427:26212,40428:26215,40429:26216,40430:26207,40431:26210,40432:26224,40433:26243,40434:26248,40435:26254,40436:26249,40437:26244,40438:26264,40439:26269,40440:26305,40441:26297,40442:26313,40443:26302,40444:26300,40512:26308,40513:26296,40514:26326,40515:26330,40516:26336,40517:26175,40518:26342,40519:26345,40520:26352,40521:26357,40522:26359,40523:26383,40524:26390,40525:26398,40526:26406,40527:26407,40528:38712,40529:26414,40530:26431,40531:26422,40532:26433,40533:26424,40534:26423,40535:26438,40536:26462,40537:26464,40538:26457,40539:26467,40540:26468,40541:26505,40542:26480,40543:26537,40544:26492,40545:26474,40546:26508,40547:26507,40548:26534,40549:26529,40550:26501,40551:26551,40552:26607,40553:26548,40554:26604,40555:26547,40556:26601,40557:26552,40558:26596,40559:26590,40560:26589,40561:26594,40562:26606,40563:26553,40564:26574,40565:26566,40566:26599,40567:27292,40568:26654,40569:26694,40570:26665,40571:26688,40572:26701,40573:26674,40574:26702,40576:26803,40577:26667,40578:26713,40579:26723,40580:26743,40581:26751,40582:26783,40583:26767,40584:26797,40585:26772,40586:26781,40587:26779,40588:26755,40589:27310,40590:26809,40591:26740,40592:26805,40593:26784,40594:26810,40595:26895,40596:26765,40597:26750,40598:26881,40599:26826,40600:26888,40601:26840,40602:26914,40603:26918,40604:26849,40605:26892,40606:26829,40607:26836,40608:26855,40609:26837,40610:26934,40611:26898,40612:26884,40613:26839,40614:26851,40615:26917,40616:26873,40617:26848,40618:26863,40619:26920,40620:26922,40621:26906,40622:26915,40623:26913,40624:26822,40625:27001,40626:26999,40627:26972,40628:27e3,40629:26987,40630:26964,40631:27006,40632:26990,40633:26937,40634:26996,40635:26941,40636:26969,40637:26928,40638:26977,40639:26974,40640:26973,40641:27009,40642:26986,40643:27058,40644:27054,40645:27088,40646:27071,40647:27073,40648:27091,40649:27070,40650:27086,40651:23528,40652:27082,40653:27101,40654:27067,40655:27075,40656:27047,40657:27182,40658:27025,40659:27040,40660:27036,40661:27029,40662:27060,40663:27102,40664:27112,40665:27138,40666:27163,40667:27135,40668:27402,40669:27129,40670:27122,40671:27111,40672:27141,40673:27057,40674:27166,40675:27117,40676:27156,40677:27115,40678:27146,40679:27154,40680:27329,40681:27171,40682:27155,40683:27204,40684:27148,40685:27250,40686:27190,40687:27256,40688:27207,40689:27234,40690:27225,40691:27238,40692:27208,40693:27192,40694:27170,40695:27280,40696:27277,40697:27296,40698:27268,40699:27298,40700:27299,40768:27287,40769:34327,40770:27323,40771:27331,40772:27330,40773:27320,40774:27315,40775:27308,40776:27358,40777:27345,40778:27359,40779:27306,40780:27354,40781:27370,40782:27387,40783:27397,40784:34326,40785:27386,40786:27410,40787:27414,40788:39729,40789:27423,40790:27448,40791:27447,40792:30428,40793:27449,40794:39150,40795:27463,40796:27459,40797:27465,40798:27472,40799:27481,40800:27476,40801:27483,40802:27487,40803:27489,40804:27512,40805:27513,40806:27519,40807:27520,40808:27524,40809:27523,40810:27533,40811:27544,40812:27541,40813:27550,40814:27556,40815:27562,40816:27563,40817:27567,40818:27570,40819:27569,40820:27571,40821:27575,40822:27580,40823:27590,40824:27595,40825:27603,40826:27615,40827:27628,40828:27627,40829:27635,40830:27631,40832:40638,40833:27656,40834:27667,40835:27668,40836:27675,40837:27684,40838:27683,40839:27742,40840:27733,40841:27746,40842:27754,40843:27778,40844:27789,40845:27802,40846:27777,40847:27803,40848:27774,40849:27752,40850:27763,40851:27794,40852:27792,40853:27844,40854:27889,40855:27859,40856:27837,40857:27863,40858:27845,40859:27869,40860:27822,40861:27825,40862:27838,40863:27834,40864:27867,40865:27887,40866:27865,40867:27882,40868:27935,40869:34893,40870:27958,40871:27947,40872:27965,40873:27960,40874:27929,40875:27957,40876:27955,40877:27922,40878:27916,40879:28003,40880:28051,40881:28004,40882:27994,40883:28025,40884:27993,40885:28046,40886:28053,40887:28644,40888:28037,40889:28153,40890:28181,40891:28170,40892:28085,40893:28103,40894:28134,40895:28088,40896:28102,40897:28140,40898:28126,40899:28108,40900:28136,40901:28114,40902:28101,40903:28154,40904:28121,40905:28132,40906:28117,40907:28138,40908:28142,40909:28205,40910:28270,40911:28206,40912:28185,40913:28274,40914:28255,40915:28222,40916:28195,40917:28267,40918:28203,40919:28278,40920:28237,40921:28191,40922:28227,40923:28218,40924:28238,40925:28196,40926:28415,40927:28189,40928:28216,40929:28290,40930:28330,40931:28312,40932:28361,40933:28343,40934:28371,40935:28349,40936:28335,40937:28356,40938:28338,40939:28372,40940:28373,40941:28303,40942:28325,40943:28354,40944:28319,40945:28481,40946:28433,40947:28748,40948:28396,40949:28408,40950:28414,40951:28479,40952:28402,40953:28465,40954:28399,40955:28466,40956:28364,161:65377,162:65378,163:65379,164:65380,165:65381,166:65382,167:65383,168:65384,169:65385,170:65386,171:65387,172:65388,173:65389,174:65390,175:65391,176:65392,177:65393,178:65394,179:65395,180:65396,181:65397,182:65398,183:65399,184:65400,185:65401,186:65402,187:65403,188:65404,189:65405,190:65406,191:65407,192:65408,193:65409,194:65410,195:65411,196:65412,197:65413,198:65414,199:65415,200:65416,201:65417,202:65418,203:65419,204:65420,205:65421,206:65422,207:65423,208:65424,209:65425,210:65426,211:65427,212:65428,213:65429,214:65430,215:65431,216:65432,217:65433,218:65434,219:65435,220:65436,221:65437,222:65438,223:65439,57408:28478,57409:28435,57410:28407,57411:28550,57412:28538,57413:28536,57414:28545,57415:28544,57416:28527,57417:28507,57418:28659,57419:28525,57420:28546,57421:28540,57422:28504,57423:28558,57424:28561,57425:28610,57426:28518,57427:28595,57428:28579,57429:28577,57430:28580,57431:28601,57432:28614,57433:28586,57434:28639,57435:28629,57436:28652,57437:28628,57438:28632,57439:28657,57440:28654,57441:28635,57442:28681,57443:28683,57444:28666,57445:28689,57446:28673,57447:28687,57448:28670,57449:28699,57450:28698,57451:28532,57452:28701,57453:28696,57454:28703,57455:28720,57456:28734,57457:28722,57458:28753,57459:28771,57460:28825,57461:28818,57462:28847,57463:28913,57464:28844,57465:28856,57466:28851,57467:28846,57468:28895,57469:28875,57470:28893,57472:28889,57473:28937,57474:28925,57475:28956,57476:28953,57477:29029,57478:29013,57479:29064,57480:29030,57481:29026,57482:29004,57483:29014,57484:29036,57485:29071,57486:29179,57487:29060,57488:29077,57489:29096,57490:29100,57491:29143,57492:29113,57493:29118,57494:29138,57495:29129,57496:29140,57497:29134,57498:29152,57499:29164,57500:29159,57501:29173,57502:29180,57503:29177,57504:29183,57505:29197,57506:29200,57507:29211,57508:29224,57509:29229,57510:29228,57511:29232,57512:29234,57513:29243,57514:29244,57515:29247,57516:29248,57517:29254,57518:29259,57519:29272,57520:29300,57521:29310,57522:29314,57523:29313,57524:29319,57525:29330,57526:29334,57527:29346,57528:29351,57529:29369,57530:29362,57531:29379,57532:29382,57533:29380,57534:29390,57535:29394,57536:29410,57537:29408,57538:29409,57539:29433,57540:29431,57541:20495,57542:29463,57543:29450,57544:29468,57545:29462,57546:29469,57547:29492,57548:29487,57549:29481,57550:29477,57551:29502,57552:29518,57553:29519,57554:40664,57555:29527,57556:29546,57557:29544,57558:29552,57559:29560,57560:29557,57561:29563,57562:29562,57563:29640,57564:29619,57565:29646,57566:29627,57567:29632,57568:29669,57569:29678,57570:29662,57571:29858,57572:29701,57573:29807,57574:29733,57575:29688,57576:29746,57577:29754,57578:29781,57579:29759,57580:29791,57581:29785,57582:29761,57583:29788,57584:29801,57585:29808,57586:29795,57587:29802,57588:29814,57589:29822,57590:29835,57591:29854,57592:29863,57593:29898,57594:29903,57595:29908,57596:29681,57664:29920,57665:29923,57666:29927,57667:29929,57668:29934,57669:29938,57670:29936,57671:29937,57672:29944,57673:29943,57674:29956,57675:29955,57676:29957,57677:29964,57678:29966,57679:29965,57680:29973,57681:29971,57682:29982,57683:29990,57684:29996,57685:30012,57686:30020,57687:30029,57688:30026,57689:30025,57690:30043,57691:30022,57692:30042,57693:30057,57694:30052,57695:30055,57696:30059,57697:30061,57698:30072,57699:30070,57700:30086,57701:30087,57702:30068,57703:30090,57704:30089,57705:30082,57706:30100,57707:30106,57708:30109,57709:30117,57710:30115,57711:30146,57712:30131,57713:30147,57714:30133,57715:30141,57716:30136,57717:30140,57718:30129,57719:30157,57720:30154,57721:30162,57722:30169,57723:30179,57724:30174,57725:30206,57726:30207,57728:30204,57729:30209,57730:30192,57731:30202,57732:30194,57733:30195,57734:30219,57735:30221,57736:30217,57737:30239,57738:30247,57739:30240,57740:30241,57741:30242,57742:30244,57743:30260,57744:30256,57745:30267,57746:30279,57747:30280,57748:30278,57749:30300,57750:30296,57751:30305,57752:30306,57753:30312,57754:30313,57755:30314,57756:30311,57757:30316,57758:30320,57759:30322,57760:30326,57761:30328,57762:30332,57763:30336,57764:30339,57765:30344,57766:30347,57767:30350,57768:30358,57769:30355,57770:30361,57771:30362,57772:30384,57773:30388,57774:30392,57775:30393,57776:30394,57777:30402,57778:30413,57779:30422,57780:30418,57781:30430,57782:30433,57783:30437,57784:30439,57785:30442,57786:34351,57787:30459,57788:30472,57789:30471,57790:30468,57791:30505,57792:30500,57793:30494,57794:30501,57795:30502,57796:30491,57797:30519,57798:30520,57799:30535,57800:30554,57801:30568,57802:30571,57803:30555,57804:30565,57805:30591,57806:30590,57807:30585,57808:30606,57809:30603,57810:30609,57811:30624,57812:30622,57813:30640,57814:30646,57815:30649,57816:30655,57817:30652,57818:30653,57819:30651,57820:30663,57821:30669,57822:30679,57823:30682,57824:30684,57825:30691,57826:30702,57827:30716,57828:30732,57829:30738,57830:31014,57831:30752,57832:31018,57833:30789,57834:30862,57835:30836,57836:30854,57837:30844,57838:30874,57839:30860,57840:30883,57841:30901,57842:30890,57843:30895,57844:30929,57845:30918,57846:30923,57847:30932,57848:30910,57849:30908,57850:30917,57851:30922,57852:30956,57920:30951,57921:30938,57922:30973,57923:30964,57924:30983,57925:30994,57926:30993,57927:31001,57928:31020,57929:31019,57930:31040,57931:31072,57932:31063,57933:31071,57934:31066,57935:31061,57936:31059,57937:31098,57938:31103,57939:31114,57940:31133,57941:31143,57942:40779,57943:31146,57944:31150,57945:31155,57946:31161,57947:31162,57948:31177,57949:31189,57950:31207,57951:31212,57952:31201,57953:31203,57954:31240,57955:31245,57956:31256,57957:31257,57958:31264,57959:31263,57960:31104,57961:31281,57962:31291,57963:31294,57964:31287,57965:31299,57966:31319,57967:31305,57968:31329,57969:31330,57970:31337,57971:40861,57972:31344,57973:31353,57974:31357,57975:31368,57976:31383,57977:31381,57978:31384,57979:31382,57980:31401,57981:31432,57982:31408,57984:31414,57985:31429,57986:31428,57987:31423,57988:36995,57989:31431,57990:31434,57991:31437,57992:31439,57993:31445,57994:31443,57995:31449,57996:31450,57997:31453,57998:31457,57999:31458,58e3:31462,58001:31469,58002:31472,58003:31490,58004:31503,58005:31498,58006:31494,58007:31539,58008:31512,58009:31513,58010:31518,58011:31541,58012:31528,58013:31542,58014:31568,58015:31610,58016:31492,58017:31565,58018:31499,58019:31564,58020:31557,58021:31605,58022:31589,58023:31604,58024:31591,58025:31600,58026:31601,58027:31596,58028:31598,58029:31645,58030:31640,58031:31647,58032:31629,58033:31644,58034:31642,58035:31627,58036:31634,58037:31631,58038:31581,58039:31641,58040:31691,58041:31681,58042:31692,58043:31695,58044:31668,58045:31686,58046:31709,58047:31721,58048:31761,58049:31764,58050:31718,58051:31717,58052:31840,58053:31744,58054:31751,58055:31763,58056:31731,58057:31735,58058:31767,58059:31757,58060:31734,58061:31779,58062:31783,58063:31786,58064:31775,58065:31799,58066:31787,58067:31805,58068:31820,58069:31811,58070:31828,58071:31823,58072:31808,58073:31824,58074:31832,58075:31839,58076:31844,58077:31830,58078:31845,58079:31852,58080:31861,58081:31875,58082:31888,58083:31908,58084:31917,58085:31906,58086:31915,58087:31905,58088:31912,58089:31923,58090:31922,58091:31921,58092:31918,58093:31929,58094:31933,58095:31936,58096:31941,58097:31938,58098:31960,58099:31954,58100:31964,58101:31970,58102:39739,58103:31983,58104:31986,58105:31988,58106:31990,58107:31994,58108:32006,58176:32002,58177:32028,58178:32021,58179:32010,58180:32069,58181:32075,58182:32046,58183:32050,58184:32063,58185:32053,58186:32070,58187:32115,58188:32086,58189:32078,58190:32114,58191:32104,58192:32110,58193:32079,58194:32099,58195:32147,58196:32137,58197:32091,58198:32143,58199:32125,58200:32155,58201:32186,58202:32174,58203:32163,58204:32181,58205:32199,58206:32189,58207:32171,58208:32317,58209:32162,58210:32175,58211:32220,58212:32184,58213:32159,58214:32176,58215:32216,58216:32221,58217:32228,58218:32222,58219:32251,58220:32242,58221:32225,58222:32261,58223:32266,58224:32291,58225:32289,58226:32274,58227:32305,58228:32287,58229:32265,58230:32267,58231:32290,58232:32326,58233:32358,58234:32315,58235:32309,58236:32313,58237:32323,58238:32311,58240:32306,58241:32314,58242:32359,58243:32349,58244:32342,58245:32350,58246:32345,58247:32346,58248:32377,58249:32362,58250:32361,58251:32380,58252:32379,58253:32387,58254:32213,58255:32381,58256:36782,58257:32383,58258:32392,58259:32393,58260:32396,58261:32402,58262:32400,58263:32403,58264:32404,58265:32406,58266:32398,58267:32411,58268:32412,58269:32568,58270:32570,58271:32581,58272:32588,58273:32589,58274:32590,58275:32592,58276:32593,58277:32597,58278:32596,58279:32600,58280:32607,58281:32608,58282:32616,58283:32617,58284:32615,58285:32632,58286:32642,58287:32646,58288:32643,58289:32648,58290:32647,58291:32652,58292:32660,58293:32670,58294:32669,58295:32666,58296:32675,58297:32687,58298:32690,58299:32697,58300:32686,58301:32694,58302:32696,58303:35697,58304:32709,58305:32710,58306:32714,58307:32725,58308:32724,58309:32737,58310:32742,58311:32745,58312:32755,58313:32761,58314:39132,58315:32774,58316:32772,58317:32779,58318:32786,58319:32792,58320:32793,58321:32796,58322:32801,58323:32808,58324:32831,58325:32827,58326:32842,58327:32838,58328:32850,58329:32856,58330:32858,58331:32863,58332:32866,58333:32872,58334:32883,58335:32882,58336:32880,58337:32886,58338:32889,58339:32893,58340:32895,58341:32900,58342:32902,58343:32901,58344:32923,58345:32915,58346:32922,58347:32941,58348:20880,58349:32940,58350:32987,58351:32997,58352:32985,58353:32989,58354:32964,58355:32986,58356:32982,58357:33033,58358:33007,58359:33009,58360:33051,58361:33065,58362:33059,58363:33071,58364:33099,58432:38539,58433:33094,58434:33086,58435:33107,58436:33105,58437:33020,58438:33137,58439:33134,58440:33125,58441:33126,58442:33140,58443:33155,58444:33160,58445:33162,58446:33152,58447:33154,58448:33184,58449:33173,58450:33188,58451:33187,58452:33119,58453:33171,58454:33193,58455:33200,58456:33205,58457:33214,58458:33208,58459:33213,58460:33216,58461:33218,58462:33210,58463:33225,58464:33229,58465:33233,58466:33241,58467:33240,58468:33224,58469:33242,58470:33247,58471:33248,58472:33255,58473:33274,58474:33275,58475:33278,58476:33281,58477:33282,58478:33285,58479:33287,58480:33290,58481:33293,58482:33296,58483:33302,58484:33321,58485:33323,58486:33336,58487:33331,58488:33344,58489:33369,58490:33368,58491:33373,58492:33370,58493:33375,58494:33380,58496:33378,58497:33384,58498:33386,58499:33387,58500:33326,58501:33393,58502:33399,58503:33400,58504:33406,58505:33421,58506:33426,58507:33451,58508:33439,58509:33467,58510:33452,58511:33505,58512:33507,58513:33503,58514:33490,58515:33524,58516:33523,58517:33530,58518:33683,58519:33539,58520:33531,58521:33529,58522:33502,58523:33542,58524:33500,58525:33545,58526:33497,58527:33589,58528:33588,58529:33558,58530:33586,58531:33585,58532:33600,58533:33593,58534:33616,58535:33605,58536:33583,58537:33579,58538:33559,58539:33560,58540:33669,58541:33690,58542:33706,58543:33695,58544:33698,58545:33686,58546:33571,58547:33678,58548:33671,58549:33674,58550:33660,58551:33717,58552:33651,58553:33653,58554:33696,58555:33673,58556:33704,58557:33780,58558:33811,58559:33771,58560:33742,58561:33789,58562:33795,58563:33752,58564:33803,58565:33729,58566:33783,58567:33799,58568:33760,58569:33778,58570:33805,58571:33826,58572:33824,58573:33725,58574:33848,58575:34054,58576:33787,58577:33901,58578:33834,58579:33852,58580:34138,58581:33924,58582:33911,58583:33899,58584:33965,58585:33902,58586:33922,58587:33897,58588:33862,58589:33836,58590:33903,58591:33913,58592:33845,58593:33994,58594:33890,58595:33977,58596:33983,58597:33951,58598:34009,58599:33997,58600:33979,58601:34010,58602:34e3,58603:33985,58604:33990,58605:34006,58606:33953,58607:34081,58608:34047,58609:34036,58610:34071,58611:34072,58612:34092,58613:34079,58614:34069,58615:34068,58616:34044,58617:34112,58618:34147,58619:34136,58620:34120,58688:34113,58689:34306,58690:34123,58691:34133,58692:34176,58693:34212,58694:34184,58695:34193,58696:34186,58697:34216,58698:34157,58699:34196,58700:34203,58701:34282,58702:34183,58703:34204,58704:34167,58705:34174,58706:34192,58707:34249,58708:34234,58709:34255,58710:34233,58711:34256,58712:34261,58713:34269,58714:34277,58715:34268,58716:34297,58717:34314,58718:34323,58719:34315,58720:34302,58721:34298,58722:34310,58723:34338,58724:34330,58725:34352,58726:34367,58727:34381,58728:20053,58729:34388,58730:34399,58731:34407,58732:34417,58733:34451,58734:34467,58735:34473,58736:34474,58737:34443,58738:34444,58739:34486,58740:34479,58741:34500,58742:34502,58743:34480,58744:34505,58745:34851,58746:34475,58747:34516,58748:34526,58749:34537,58750:34540,58752:34527,58753:34523,58754:34543,58755:34578,58756:34566,58757:34568,58758:34560,58759:34563,58760:34555,58761:34577,58762:34569,58763:34573,58764:34553,58765:34570,58766:34612,58767:34623,58768:34615,58769:34619,58770:34597,58771:34601,58772:34586,58773:34656,58774:34655,58775:34680,58776:34636,58777:34638,58778:34676,58779:34647,58780:34664,58781:34670,58782:34649,58783:34643,58784:34659,58785:34666,58786:34821,58787:34722,58788:34719,58789:34690,58790:34735,58791:34763,58792:34749,58793:34752,58794:34768,58795:38614,58796:34731,58797:34756,58798:34739,58799:34759,58800:34758,58801:34747,58802:34799,58803:34802,58804:34784,58805:34831,58806:34829,58807:34814,58808:34806,58809:34807,58810:34830,58811:34770,58812:34833,58813:34838,58814:34837,58815:34850,58816:34849,58817:34865,58818:34870,58819:34873,58820:34855,58821:34875,58822:34884,58823:34882,58824:34898,58825:34905,58826:34910,58827:34914,58828:34923,58829:34945,58830:34942,58831:34974,58832:34933,58833:34941,58834:34997,58835:34930,58836:34946,58837:34967,58838:34962,58839:34990,58840:34969,58841:34978,58842:34957,58843:34980,58844:34992,58845:35007,58846:34993,58847:35011,58848:35012,58849:35028,58850:35032,58851:35033,58852:35037,58853:35065,58854:35074,58855:35068,58856:35060,58857:35048,58858:35058,58859:35076,58860:35084,58861:35082,58862:35091,58863:35139,58864:35102,58865:35109,58866:35114,58867:35115,58868:35137,58869:35140,58870:35131,58871:35126,58872:35128,58873:35148,58874:35101,58875:35168,58876:35166,58944:35174,58945:35172,58946:35181,58947:35178,58948:35183,58949:35188,58950:35191,58951:35198,58952:35203,58953:35208,58954:35210,58955:35219,58956:35224,58957:35233,58958:35241,58959:35238,58960:35244,58961:35247,58962:35250,58963:35258,58964:35261,58965:35263,58966:35264,58967:35290,58968:35292,58969:35293,58970:35303,58971:35316,58972:35320,58973:35331,58974:35350,58975:35344,58976:35340,58977:35355,58978:35357,58979:35365,58980:35382,58981:35393,58982:35419,58983:35410,58984:35398,58985:35400,58986:35452,58987:35437,58988:35436,58989:35426,58990:35461,58991:35458,58992:35460,58993:35496,58994:35489,58995:35473,58996:35493,58997:35494,58998:35482,58999:35491,59e3:35524,59001:35533,59002:35522,59003:35546,59004:35563,59005:35571,59006:35559,59008:35556,59009:35569,59010:35604,59011:35552,59012:35554,59013:35575,59014:35550,59015:35547,59016:35596,59017:35591,59018:35610,59019:35553,59020:35606,59021:35600,59022:35607,59023:35616,59024:35635,59025:38827,59026:35622,59027:35627,59028:35646,59029:35624,59030:35649,59031:35660,59032:35663,59033:35662,59034:35657,59035:35670,59036:35675,59037:35674,59038:35691,59039:35679,59040:35692,59041:35695,59042:35700,59043:35709,59044:35712,59045:35724,59046:35726,59047:35730,59048:35731,59049:35734,59050:35737,59051:35738,59052:35898,59053:35905,59054:35903,59055:35912,59056:35916,59057:35918,59058:35920,59059:35925,59060:35938,59061:35948,59062:35960,59063:35962,59064:35970,59065:35977,59066:35973,59067:35978,59068:35981,59069:35982,59070:35988,59071:35964,59072:35992,59073:25117,59074:36013,59075:36010,59076:36029,59077:36018,59078:36019,59079:36014,59080:36022,59081:36040,59082:36033,59083:36068,59084:36067,59085:36058,59086:36093,59087:36090,59088:36091,59089:36100,59090:36101,59091:36106,59092:36103,59093:36111,59094:36109,59095:36112,59096:40782,59097:36115,59098:36045,59099:36116,59100:36118,59101:36199,59102:36205,59103:36209,59104:36211,59105:36225,59106:36249,59107:36290,59108:36286,59109:36282,59110:36303,59111:36314,59112:36310,59113:36300,59114:36315,59115:36299,59116:36330,59117:36331,59118:36319,59119:36323,59120:36348,59121:36360,59122:36361,59123:36351,59124:36381,59125:36382,59126:36368,59127:36383,59128:36418,59129:36405,59130:36400,59131:36404,59132:36426,59200:36423,59201:36425,59202:36428,59203:36432,59204:36424,59205:36441,59206:36452,59207:36448,59208:36394,59209:36451,59210:36437,59211:36470,59212:36466,59213:36476,59214:36481,59215:36487,59216:36485,59217:36484,59218:36491,59219:36490,59220:36499,59221:36497,59222:36500,59223:36505,59224:36522,59225:36513,59226:36524,59227:36528,59228:36550,59229:36529,59230:36542,59231:36549,59232:36552,59233:36555,59234:36571,59235:36579,59236:36604,59237:36603,59238:36587,59239:36606,59240:36618,59241:36613,59242:36629,59243:36626,59244:36633,59245:36627,59246:36636,59247:36639,59248:36635,59249:36620,59250:36646,59251:36659,59252:36667,59253:36665,59254:36677,59255:36674,59256:36670,59257:36684,59258:36681,59259:36678,59260:36686,59261:36695,59262:36700,59264:36706,59265:36707,59266:36708,59267:36764,59268:36767,59269:36771,59270:36781,59271:36783,59272:36791,59273:36826,59274:36837,59275:36834,59276:36842,59277:36847,59278:36999,59279:36852,59280:36869,59281:36857,59282:36858,59283:36881,59284:36885,59285:36897,59286:36877,59287:36894,59288:36886,59289:36875,59290:36903,59291:36918,59292:36917,59293:36921,59294:36856,59295:36943,59296:36944,59297:36945,59298:36946,59299:36878,59300:36937,59301:36926,59302:36950,59303:36952,59304:36958,59305:36968,59306:36975,59307:36982,59308:38568,59309:36978,59310:36994,59311:36989,59312:36993,59313:36992,59314:37002,59315:37001,59316:37007,59317:37032,59318:37039,59319:37041,59320:37045,59321:37090,59322:37092,59323:25160,59324:37083,59325:37122,59326:37138,59327:37145,59328:37170,59329:37168,59330:37194,59331:37206,59332:37208,59333:37219,59334:37221,59335:37225,59336:37235,59337:37234,59338:37259,59339:37257,59340:37250,59341:37282,59342:37291,59343:37295,59344:37290,59345:37301,59346:37300,59347:37306,59348:37312,59349:37313,59350:37321,59351:37323,59352:37328,59353:37334,59354:37343,59355:37345,59356:37339,59357:37372,59358:37365,59359:37366,59360:37406,59361:37375,59362:37396,59363:37420,59364:37397,59365:37393,59366:37470,59367:37463,59368:37445,59369:37449,59370:37476,59371:37448,59372:37525,59373:37439,59374:37451,59375:37456,59376:37532,59377:37526,59378:37523,59379:37531,59380:37466,59381:37583,59382:37561,59383:37559,59384:37609,59385:37647,59386:37626,59387:37700,59388:37678,59456:37657,59457:37666,59458:37658,59459:37667,59460:37690,59461:37685,59462:37691,59463:37724,59464:37728,59465:37756,59466:37742,59467:37718,59468:37808,59469:37804,59470:37805,59471:37780,59472:37817,59473:37846,59474:37847,59475:37864,59476:37861,59477:37848,59478:37827,59479:37853,59480:37840,59481:37832,59482:37860,59483:37914,59484:37908,59485:37907,59486:37891,59487:37895,59488:37904,59489:37942,59490:37931,59491:37941,59492:37921,59493:37946,59494:37953,59495:37970,59496:37956,59497:37979,59498:37984,59499:37986,59500:37982,59501:37994,59502:37417,59503:38e3,59504:38005,59505:38007,59506:38013,59507:37978,59508:38012,59509:38014,59510:38017,59511:38015,59512:38274,59513:38279,59514:38282,59515:38292,59516:38294,59517:38296,59518:38297,59520:38304,59521:38312,59522:38311,59523:38317,59524:38332,59525:38331,59526:38329,59527:38334,59528:38346,59529:28662,59530:38339,59531:38349,59532:38348,59533:38357,59534:38356,59535:38358,59536:38364,59537:38369,59538:38373,59539:38370,59540:38433,59541:38440,59542:38446,59543:38447,59544:38466,59545:38476,59546:38479,59547:38475,59548:38519,59549:38492,59550:38494,59551:38493,59552:38495,59553:38502,59554:38514,59555:38508,59556:38541,59557:38552,59558:38549,59559:38551,59560:38570,59561:38567,59562:38577,59563:38578,59564:38576,59565:38580,59566:38582,59567:38584,59568:38585,59569:38606,59570:38603,59571:38601,59572:38605,59573:35149,59574:38620,59575:38669,59576:38613,59577:38649,59578:38660,59579:38662,59580:38664,59581:38675,59582:38670,59583:38673,59584:38671,59585:38678,59586:38681,59587:38692,59588:38698,59589:38704,59590:38713,59591:38717,59592:38718,59593:38724,59594:38726,59595:38728,59596:38722,59597:38729,59598:38748,59599:38752,59600:38756,59601:38758,59602:38760,59603:21202,59604:38763,59605:38769,59606:38777,59607:38789,59608:38780,59609:38785,59610:38778,59611:38790,59612:38795,59613:38799,59614:38800,59615:38812,59616:38824,59617:38822,59618:38819,59619:38835,59620:38836,59621:38851,59622:38854,59623:38856,59624:38859,59625:38876,59626:38893,59627:40783,59628:38898,59629:31455,59630:38902,59631:38901,59632:38927,59633:38924,59634:38968,59635:38948,59636:38945,59637:38967,59638:38973,59639:38982,59640:38991,59641:38987,59642:39019,59643:39023,59644:39024,59712:39025,59713:39028,59714:39027,59715:39082,59716:39087,59717:39089,59718:39094,59719:39108,59720:39107,59721:39110,59722:39145,59723:39147,59724:39171,59725:39177,59726:39186,59727:39188,59728:39192,59729:39201,59730:39197,59731:39198,59732:39204,59733:39200,59734:39212,59735:39214,59736:39229,59737:39230,59738:39234,59739:39241,59740:39237,59741:39248,59742:39243,59743:39249,59744:39250,59745:39244,59746:39253,59747:39319,59748:39320,59749:39333,59750:39341,59751:39342,59752:39356,59753:39391,59754:39387,59755:39389,59756:39384,59757:39377,59758:39405,59759:39406,59760:39409,59761:39410,59762:39419,59763:39416,59764:39425,59765:39439,59766:39429,59767:39394,59768:39449,59769:39467,59770:39479,59771:39493,59772:39490,59773:39488,59774:39491,59776:39486,59777:39509,59778:39501,59779:39515,59780:39511,59781:39519,59782:39522,59783:39525,59784:39524,59785:39529,59786:39531,59787:39530,59788:39597,59789:39600,59790:39612,59791:39616,59792:39631,59793:39633,59794:39635,59795:39636,59796:39646,59797:39647,59798:39650,59799:39651,59800:39654,59801:39663,59802:39659,59803:39662,59804:39668,59805:39665,59806:39671,59807:39675,59808:39686,59809:39704,59810:39706,59811:39711,59812:39714,59813:39715,59814:39717,59815:39719,59816:39720,59817:39721,59818:39722,59819:39726,59820:39727,59821:39730,59822:39748,59823:39747,59824:39759,59825:39757,59826:39758,59827:39761,59828:39768,59829:39796,59830:39827,59831:39811,59832:39825,59833:39830,59834:39831,59835:39839,59836:39840,59837:39848,59838:39860,59839:39872,59840:39882,59841:39865,59842:39878,59843:39887,59844:39889,59845:39890,59846:39907,59847:39906,59848:39908,59849:39892,59850:39905,59851:39994,59852:39922,59853:39921,59854:39920,59855:39957,59856:39956,59857:39945,59858:39955,59859:39948,59860:39942,59861:39944,59862:39954,59863:39946,59864:39940,59865:39982,59866:39963,59867:39973,59868:39972,59869:39969,59870:39984,59871:40007,59872:39986,59873:40006,59874:39998,59875:40026,59876:40032,59877:40039,59878:40054,59879:40056,59880:40167,59881:40172,59882:40176,59883:40201,59884:40200,59885:40171,59886:40195,59887:40198,59888:40234,59889:40230,59890:40367,59891:40227,59892:40223,59893:40260,59894:40213,59895:40210,59896:40257,59897:40255,59898:40254,59899:40262,59900:40264,59968:40285,59969:40286,59970:40292,59971:40273,59972:40272,59973:40281,59974:40306,59975:40329,59976:40327,59977:40363,59978:40303,59979:40314,59980:40346,59981:40356,59982:40361,59983:40370,59984:40388,59985:40385,59986:40379,59987:40376,59988:40378,59989:40390,59990:40399,59991:40386,59992:40409,59993:40403,59994:40440,59995:40422,59996:40429,59997:40431,59998:40445,59999:40474,6e4:40475,60001:40478,60002:40565,60003:40569,60004:40573,60005:40577,60006:40584,60007:40587,60008:40588,60009:40594,60010:40597,60011:40593,60012:40605,60013:40613,60014:40617,60015:40632,60016:40618,60017:40621,60018:38753,60019:40652,60020:40654,60021:40655,60022:40656,60023:40660,60024:40668,60025:40670,60026:40669,60027:40672,60028:40677,60029:40680,60030:40687,60032:40692,60033:40694,60034:40695,60035:40697,60036:40699,60037:40700,60038:40701,60039:40711,60040:40712,60041:30391,60042:40725,60043:40737,60044:40748,60045:40766,60046:40778,60047:40786,60048:40788,60049:40803,60050:40799,60051:40800,60052:40801,60053:40806,60054:40807,60055:40812,60056:40810,60057:40823,60058:40818,60059:40822,60060:40853,60061:40860,60062:40864,60063:22575,60064:27079,60065:36953,60066:29796,60067:20956,60068:29081}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),n=r(2);t.decode=function(e,t){var r=new Uint8ClampedArray(e.length);r.set(e);for(var a=new o.default(285,256,0),s=new n.default(a,r),i=new Uint8ClampedArray(t),l=!1,c=0;c<t;c++){var d=s.evaluateAt(a.exp(c+a.generatorBase));i[i.length-1-c]=d,0!==d&&(l=!0)}if(!l)return r;var u=new n.default(a,i),g=function(e,t,r,o){t.degree()<r.degree()&&(t=(n=[r,t])[0],r=n[1]);for(var n,a=t,s=r,i=e.zero,l=e.one;s.degree()>=o/2;){var c=a,d=i;if(a=s,i=l,a.isZero())return null;s=c;for(var u=e.zero,g=a.getCoefficient(a.degree()),k=e.inverse(g);s.degree()>=a.degree()&&!s.isZero();){var m=s.degree()-a.degree(),p=e.multiply(s.getCoefficient(s.degree()),k);u=u.addOrSubtract(e.buildMonomial(m,p)),s=s.addOrSubtract(a.multiplyByMonomial(m,p))}if(l=u.multiplyPoly(i).addOrSubtract(d),s.degree()>=a.degree())return null}var f=l.getCoefficient(0);if(0===f)return null;var h=e.inverse(f);return[l.multiply(h),s.multiply(h)]}(a,a.buildMonomial(t,1),u,t);if(null===g)return null;var k=function(e,t){var r=t.degree();if(1===r)return[t.getCoefficient(1)];for(var o=Array(r),n=0,a=1;a<e.size&&n<r;a++)0===t.evaluateAt(a)&&(o[n]=e.inverse(a),n++);return n!==r?null:o}(a,g[0]);if(null==k)return null;for(var m=function(e,t,r){for(var n=r.length,a=Array(n),s=0;s<n;s++){for(var i=e.inverse(r[s]),l=1,c=0;c<n;c++)s!==c&&(l=e.multiply(l,o.addOrSubtractGF(1,e.multiply(r[c],i))));a[s]=e.multiply(t.evaluateAt(i),e.inverse(l)),0!==e.generatorBase&&(a[s]=e.multiply(a[s],i))}return a}(a,g[1],k),p=0;p<k.length;p++){var f=r.length-1-a.log(k[p]);if(f<0)return null;r[f]=o.addOrSubtractGF(r[f],m[p])}return r}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.VERSIONS=[{infoBits:null,versionNumber:1,alignmentPatternCenters:[],errorCorrectionLevels:[{ecCodewordsPerBlock:7,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:13,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:13}]},{ecCodewordsPerBlock:17,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:2,alignmentPatternCenters:[6,18],errorCorrectionLevels:[{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:34}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:28}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]}]},{infoBits:null,versionNumber:3,alignmentPatternCenters:[6,22],errorCorrectionLevels:[{ecCodewordsPerBlock:15,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:55}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:13}]}]},{infoBits:null,versionNumber:4,alignmentPatternCenters:[6,26],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:80}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:32}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:5,alignmentPatternCenters:[6,30],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:43}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:11},{numBlocks:2,dataCodewordsPerBlock:12}]}]},{infoBits:null,versionNumber:6,alignmentPatternCenters:[6,34],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:27}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:31892,versionNumber:7,alignmentPatternCenters:[6,22,38],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:78}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:31}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:13},{numBlocks:1,dataCodewordsPerBlock:14}]}]},{infoBits:34236,versionNumber:8,alignmentPatternCenters:[6,24,42],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:97}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:38},{numBlocks:2,dataCodewordsPerBlock:39}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:18},{numBlocks:2,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:14},{numBlocks:2,dataCodewordsPerBlock:15}]}]},{infoBits:39577,versionNumber:9,alignmentPatternCenters:[6,26,46],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:12},{numBlocks:4,dataCodewordsPerBlock:13}]}]},{infoBits:42195,versionNumber:10,alignmentPatternCenters:[6,28,50],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68},{numBlocks:2,dataCodewordsPerBlock:69}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:43},{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]}]},{infoBits:48118,versionNumber:11,alignmentPatternCenters:[6,30,54],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:81}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:50},{numBlocks:4,dataCodewordsPerBlock:51}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:22},{numBlocks:4,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:12},{numBlocks:8,dataCodewordsPerBlock:13}]}]},{infoBits:51042,versionNumber:12,alignmentPatternCenters:[6,32,58],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:92},{numBlocks:2,dataCodewordsPerBlock:93}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:20},{numBlocks:6,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:55367,versionNumber:13,alignmentPatternCenters:[6,34,62],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:37},{numBlocks:1,dataCodewordsPerBlock:38}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:20},{numBlocks:4,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:11},{numBlocks:4,dataCodewordsPerBlock:12}]}]},{infoBits:58893,versionNumber:14,alignmentPatternCenters:[6,26,46,66],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:40},{numBlocks:5,dataCodewordsPerBlock:41}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:16},{numBlocks:5,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:5,dataCodewordsPerBlock:13}]}]},{infoBits:63784,versionNumber:15,alignmentPatternCenters:[6,26,48,70],errorCorrectionLevels:[{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:87},{numBlocks:1,dataCodewordsPerBlock:88}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:41},{numBlocks:5,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:7,dataCodewordsPerBlock:13}]}]},{infoBits:68472,versionNumber:16,alignmentPatternCenters:[6,26,50,74],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:98},{numBlocks:1,dataCodewordsPerBlock:99}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:70749,versionNumber:17,alignmentPatternCenters:[6,30,54,78],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:1,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22},{numBlocks:15,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:17,dataCodewordsPerBlock:15}]}]},{infoBits:76311,versionNumber:18,alignmentPatternCenters:[6,30,56,82],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:120},{numBlocks:1,dataCodewordsPerBlock:121}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:43},{numBlocks:4,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:1,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:19,dataCodewordsPerBlock:15}]}]},{infoBits:79154,versionNumber:19,alignmentPatternCenters:[6,30,58,86],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:113},{numBlocks:4,dataCodewordsPerBlock:114}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:44},{numBlocks:11,dataCodewordsPerBlock:45}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:21},{numBlocks:4,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:13},{numBlocks:16,dataCodewordsPerBlock:14}]}]},{infoBits:84390,versionNumber:20,alignmentPatternCenters:[6,34,62,90],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:41},{numBlocks:13,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:5,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:15},{numBlocks:10,dataCodewordsPerBlock:16}]}]},{infoBits:87683,versionNumber:21,alignmentPatternCenters:[6,28,50,72,94],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:116},{numBlocks:4,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:16},{numBlocks:6,dataCodewordsPerBlock:17}]}]},{infoBits:92361,versionNumber:22,alignmentPatternCenters:[6,26,50,74,98],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:111},{numBlocks:7,dataCodewordsPerBlock:112}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:13}]}]},{infoBits:96236,versionNumber:23,alignmentPatternCenters:[6,30,54,74,102],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:121},{numBlocks:5,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:47},{numBlocks:14,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:16,dataCodewordsPerBlock:15},{numBlocks:14,dataCodewordsPerBlock:16}]}]},{infoBits:102084,versionNumber:24,alignmentPatternCenters:[6,28,54,80,106],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:45},{numBlocks:14,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:30,dataCodewordsPerBlock:16},{numBlocks:2,dataCodewordsPerBlock:17}]}]},{infoBits:102881,versionNumber:25,alignmentPatternCenters:[6,32,58,84,110],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:106},{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:47},{numBlocks:13,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:110507,versionNumber:26,alignmentPatternCenters:[6,30,58,86,114],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:114},{numBlocks:2,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:46},{numBlocks:4,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:28,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:33,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]}]},{infoBits:110734,versionNumber:27,alignmentPatternCenters:[6,34,62,90,118],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:23},{numBlocks:26,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:117786,versionNumber:28,alignmentPatternCenters:[6,26,50,74,98,122],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:117},{numBlocks:10,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:45},{numBlocks:23,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:24},{numBlocks:31,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:31,dataCodewordsPerBlock:16}]}]},{infoBits:119615,versionNumber:29,alignmentPatternCenters:[6,30,54,78,102,126],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:116},{numBlocks:7,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:21,dataCodewordsPerBlock:45},{numBlocks:7,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:23},{numBlocks:37,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:26,dataCodewordsPerBlock:16}]}]},{infoBits:126325,versionNumber:30,alignmentPatternCenters:[6,26,52,78,104,130],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:115},{numBlocks:10,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:47},{numBlocks:10,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:25,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:25,dataCodewordsPerBlock:16}]}]},{infoBits:127568,versionNumber:31,alignmentPatternCenters:[6,30,56,82,108,134],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:3,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:46},{numBlocks:29,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:24},{numBlocks:1,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:133589,versionNumber:32,alignmentPatternCenters:[6,34,60,86,112,138],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:24},{numBlocks:35,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:35,dataCodewordsPerBlock:16}]}]},{infoBits:136944,versionNumber:33,alignmentPatternCenters:[6,30,58,86,114,142],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:21,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:24},{numBlocks:19,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:141498,versionNumber:34,alignmentPatternCenters:[6,34,62,90,118,146],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:6,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:44,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:59,dataCodewordsPerBlock:16},{numBlocks:1,dataCodewordsPerBlock:17}]}]},{infoBits:145311,versionNumber:35,alignmentPatternCenters:[6,30,54,78,102,126,150],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:121},{numBlocks:7,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:47},{numBlocks:26,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:39,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:41,dataCodewordsPerBlock:16}]}]},{infoBits:150283,versionNumber:36,alignmentPatternCenters:[6,24,50,76,102,128,154],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:121},{numBlocks:14,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:47},{numBlocks:34,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:46,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:64,dataCodewordsPerBlock:16}]}]},{infoBits:152622,versionNumber:37,alignmentPatternCenters:[6,28,54,80,106,132,158],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:46},{numBlocks:14,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:49,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:24,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:158308,versionNumber:38,alignmentPatternCenters:[6,32,58,84,110,136,162],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:122},{numBlocks:18,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:46},{numBlocks:32,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:48,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:15},{numBlocks:32,dataCodewordsPerBlock:16}]}]},{infoBits:161089,versionNumber:39,alignmentPatternCenters:[6,26,54,82,110,138,166],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:40,dataCodewordsPerBlock:47},{numBlocks:7,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:43,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:15},{numBlocks:67,dataCodewordsPerBlock:16}]}]},{infoBits:167017,versionNumber:40,alignmentPatternCenters:[6,30,58,86,114,142,170],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:118},{numBlocks:6,dataCodewordsPerBlock:119}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:18,dataCodewordsPerBlock:47},{numBlocks:31,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:24},{numBlocks:34,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:15},{numBlocks:61,dataCodewordsPerBlock:16}]}]}]},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(0);function n(e,t,r,o){var n=e.x-t.x+r.x-o.x,a=e.y-t.y+r.y-o.y;if(0===n&&0===a)return{a11:t.x-e.x,a12:t.y-e.y,a13:0,a21:r.x-t.x,a22:r.y-t.y,a23:0,a31:e.x,a32:e.y,a33:1};var s=t.x-r.x,i=o.x-r.x,l=t.y-r.y,c=o.y-r.y,d=s*c-i*l,u=(n*c-i*a)/d,g=(s*a-n*l)/d;return{a11:t.x-e.x+u*t.x,a12:t.y-e.y+u*t.y,a13:u,a21:o.x-e.x+g*o.x,a22:o.y-e.y+g*o.y,a23:g,a31:e.x,a32:e.y,a33:1}}t.extract=function(e,t){for(var r,a,s,i,l,c,d=(r={x:3.5,y:3.5},a={x:t.dimension-3.5,y:3.5},s={x:t.dimension-6.5,y:t.dimension-6.5},{a11:(i=n(r,a,s,{x:3.5,y:t.dimension-3.5})).a22*i.a33-i.a23*i.a32,a12:i.a13*i.a32-i.a12*i.a33,a13:i.a12*i.a23-i.a13*i.a22,a21:i.a23*i.a31-i.a21*i.a33,a22:i.a11*i.a33-i.a13*i.a31,a23:i.a13*i.a21-i.a11*i.a23,a31:i.a21*i.a32-i.a22*i.a31,a32:i.a12*i.a31-i.a11*i.a32,a33:i.a11*i.a22-i.a12*i.a21}),u=(l=n(t.topLeft,t.topRight,t.alignmentPattern,t.bottomLeft),c=d,{a11:l.a11*c.a11+l.a21*c.a12+l.a31*c.a13,a12:l.a12*c.a11+l.a22*c.a12+l.a32*c.a13,a13:l.a13*c.a11+l.a23*c.a12+l.a33*c.a13,a21:l.a11*c.a21+l.a21*c.a22+l.a31*c.a23,a22:l.a12*c.a21+l.a22*c.a22+l.a32*c.a23,a23:l.a13*c.a21+l.a23*c.a22+l.a33*c.a23,a31:l.a11*c.a31+l.a21*c.a32+l.a31*c.a33,a32:l.a12*c.a31+l.a22*c.a32+l.a32*c.a33,a33:l.a13*c.a31+l.a23*c.a32+l.a33*c.a33}),g=o.BitMatrix.createEmpty(t.dimension,t.dimension),k=function(e,t){var r=u.a13*e+u.a23*t+u.a33;return{x:(u.a11*e+u.a21*t+u.a31)/r,y:(u.a12*e+u.a22*t+u.a32)/r}},m=0;m<t.dimension;m++)for(var p=0;p<t.dimension;p++){var f=k(p+.5,m+.5);g.set(p,m,e.get(Math.floor(f.x),Math.floor(f.y)))}return{matrix:g,mappingFunction:k}}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=function(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))};function n(e){return e.reduce(function(e,t){return e+t})}function a(e,t,r,n){var a,s,i,l,c=[{x:Math.floor(e.x),y:Math.floor(e.y)}],d=Math.abs(t.y-e.y)>Math.abs(t.x-e.x);d?(a=Math.floor(e.y),s=Math.floor(e.x),i=Math.floor(t.y),l=Math.floor(t.x)):(a=Math.floor(e.x),s=Math.floor(e.y),i=Math.floor(t.x),l=Math.floor(t.y));for(var u=Math.abs(i-a),g=Math.abs(l-s),k=Math.floor(-u/2),m=a<i?1:-1,p=s<l?1:-1,f=!0,h=a,_=s;h!==i+m;h+=m){var B=d?_:h,b=d?h:_;if(r.get(B,b)!==f&&(f=!f,c.push({x:B,y:b}),c.length===n+1))break;if((k+=g)>0){if(_===l)break;_+=p,k-=u}}for(var C=[],w=0;w<n;w++)c[w]&&c[w+1]?C.push(o(c[w],c[w+1])):C.push(0);return C}function s(e,t,r,o){var n,s=t.y-e.y,i=t.x-e.x,l=a(e,t,r,Math.ceil(o/2)),c=a(e,{x:e.x-i,y:e.y-s},r,Math.ceil(o/2)),d=l.shift()+c.shift()-1;return(n=c.concat(d)).concat.apply(n,l)}function i(e,t){var r=n(e)/n(t),o=0;return t.forEach(function(t,n){o+=Math.pow(e[n]-t*r,2)}),{averageSize:r,error:o}}function l(e,t,r){try{var o=s(e,{x:-1,y:e.y},r,t.length),n=s(e,{x:e.x,y:-1},r,t.length),a={x:Math.max(0,e.x-e.y)-1,y:Math.max(0,e.y-e.x)-1},l=s(e,a,r,t.length),c={x:Math.min(r.width,e.x+e.y)+1,y:Math.min(r.height,e.y+e.x)+1},d=s(e,c,r,t.length),u=i(o,t),g=i(n,t),k=i(l,t),m=i(d,t),p=Math.sqrt(u.error*u.error+g.error*g.error+k.error*k.error+m.error*m.error),f=(u.averageSize+g.averageSize+k.averageSize+m.averageSize)/4,h=(Math.pow(u.averageSize-f,2)+Math.pow(g.averageSize-f,2)+Math.pow(k.averageSize-f,2)+Math.pow(m.averageSize-f,2))/f;return p+h}catch(e){return 1/0}}function c(e,t){for(var r=Math.round(t.x);e.get(r,Math.round(t.y));)r--;for(var o=Math.round(t.x);e.get(o,Math.round(t.y));)o++;for(var n=(r+o)/2,a=Math.round(t.y);e.get(Math.round(n),a);)a--;for(var s=Math.round(t.y);e.get(Math.round(n),s);)s++;return{x:n,y:(a+s)/2}}function d(e,t,r,a,i){try{d=(c=function(e,t,r,a){var i=(n(s(e,r,a,5))/7+n(s(e,t,a,5))/7+n(s(r,e,a,5))/7+n(s(t,e,a,5))/7)/4;if(i<1)throw Error("Invalid module size");var l=Math.floor((Math.round(o(e,t)/i)+Math.round(o(e,r)/i))/2)+7;switch(l%4){case 0:l++;break;case 2:l--}return{dimension:l,moduleSize:i}}(a,r,i,e)).dimension,u=c.moduleSize}catch(e){return null}var c,d,u,g={x:r.x-a.x+i.x,y:r.y-a.y+i.y},k=(o(a,i)+o(a,r))/2/u,m=1-3/k,p={x:a.x+m*(g.x-a.x),y:a.y+m*(g.y-a.y)},f=t.map(function(t){var r=(t.top.startX+t.top.endX+t.bottom.startX+t.bottom.endX)/4,a=(t.top.y+t.bottom.y+1)/2;if(e.get(Math.floor(r),Math.floor(a))){var s=[t.top.endX-t.top.startX,t.bottom.endX-t.bottom.startX,t.bottom.y-t.top.y+1];n(s),s.length;var i=l({x:Math.floor(r),y:Math.floor(a)},[1,1,1],e)+o({x:r,y:a},p);return{x:r,y:a,score:i}}}).filter(function(e){return!!e}).sort(function(e,t){return e.score-t.score});return{alignmentPattern:k>=15&&f.length?f[0]:p,dimension:d}}t.locate=function(e){for(var t,r,a,s,i,u,g,k,m,p,f,h,_,B=[],b=[],C=[],w=[],y=function(t){for(var r=0,o=!1,a=[0,0,0,0,0],s=-1;s<=e.width;s++)!function(s){var i=e.get(s,t);if(i===o)r++;else{a=[a[1],a[2],a[3],a[4],r],r=1,o=i;var l=n(a)/7,c=Math.abs(a[0]-l)<l&&Math.abs(a[1]-l)<l&&Math.abs(a[2]-3*l)<3*l&&Math.abs(a[3]-l)<l&&Math.abs(a[4]-l)<l&&!i,d=n(a.slice(-3))/3,u=Math.abs(a[2]-d)<d&&Math.abs(a[3]-d)<d&&Math.abs(a[4]-d)<d&&i;if(c){var g=s-a[3]-a[4],k=g-a[2],m={startX:k,endX:g,y:t},p=b.filter(function(e){return k>=e.bottom.startX&&k<=e.bottom.endX||g>=e.bottom.startX&&k<=e.bottom.endX||k<=e.bottom.startX&&g>=e.bottom.endX&&a[2]/(e.bottom.endX-e.bottom.startX)<1.5&&a[2]/(e.bottom.endX-e.bottom.startX)>.5});p.length>0?p[0].bottom=m:b.push({top:m,bottom:m})}if(u){var f=s-a[4],h=f-a[3],m={startX:h,y:t,endX:f},p=w.filter(function(e){return h>=e.bottom.startX&&h<=e.bottom.endX||f>=e.bottom.startX&&h<=e.bottom.endX||h<=e.bottom.startX&&f>=e.bottom.endX&&a[2]/(e.bottom.endX-e.bottom.startX)<1.5&&a[2]/(e.bottom.endX-e.bottom.startX)>.5});p.length>0?p[0].bottom=m:w.push({top:m,bottom:m})}}}(s);B.push.apply(B,b.filter(function(e){return e.bottom.y!==t&&e.bottom.y-e.top.y>=2})),b=b.filter(function(e){return e.bottom.y===t}),C.push.apply(C,w.filter(function(e){return e.bottom.y!==t})),w=w.filter(function(e){return e.bottom.y===t})},v=0;v<=e.height;v++)y(v);B.push.apply(B,b.filter(function(e){return e.bottom.y-e.top.y>=2})),C.push.apply(C,w);var P=B.filter(function(e){return e.bottom.y-e.top.y>=2}).map(function(t){var r=(t.top.startX+t.top.endX+t.bottom.startX+t.bottom.endX)/4,o=(t.top.y+t.bottom.y+1)/2;if(e.get(Math.round(r),Math.round(o))){var a=[t.top.endX-t.top.startX,t.bottom.endX-t.bottom.startX,t.bottom.y-t.top.y+1],s=n(a)/a.length;return{score:l({x:Math.round(r),y:Math.round(o)},[1,1,3,1,1],e),x:r,y:o,size:s}}}).filter(function(e){return!!e}).sort(function(e,t){return e.score-t.score}).map(function(e,t,r){if(t>4)return null;var o=r.filter(function(e,r){return t!==r}).map(function(t){return{x:t.x,y:t.y,score:t.score+Math.pow(t.size-e.size,2)/e.size,size:t.size}}).sort(function(e,t){return e.score-t.score});if(o.length<2)return null;var n=e.score+o[0].score+o[1].score;return{points:[e].concat(o.slice(0,2)),score:n}}).filter(function(e){return!!e}).sort(function(e,t){return e.score-t.score});if(0===P.length)return null;var x=(t=P[0].points[0],r=P[0].points[1],a=P[0].points[2],f=o(t,r),h=o(r,a),_=o(t,a),h>=f&&h>=_?(k=(s=[r,t,a])[0],m=s[1],p=s[2]):_>=h&&_>=f?(k=(i=[t,r,a])[0],m=i[1],p=i[2]):(k=(u=[t,a,r])[0],m=u[1],p=u[2]),(p.x-m.x)*(k.y-m.y)-(p.y-m.y)*(k.x-m.x)<0&&(k=(g=[p,k])[0],p=g[1]),{bottomLeft:k,topLeft:m,topRight:p}),S=x.topRight,R=x.topLeft,I=x.bottomLeft,$=d(e,C,S,R,I),M=[];$&&M.push({alignmentPattern:{x:$.alignmentPattern.x,y:$.alignmentPattern.y},bottomLeft:{x:I.x,y:I.y},dimension:$.dimension,topLeft:{x:R.x,y:R.y},topRight:{x:S.x,y:S.y}});var D=c(e,S),T=c(e,R),E=c(e,I),j=d(e,C,D,T,E);return(j&&M.push({alignmentPattern:{x:j.alignmentPattern.x,y:j.alignmentPattern.y},bottomLeft:{x:E.x,y:E.y},topLeft:{x:T.x,y:T.y},topRight:{x:D.x,y:D.y},dimension:j.dimension}),0===M.length)?null:M}}]).default}(),tV.exports}(),tq=Q(tQ);async function tU({imageData:e,canvas:t}){let r=e;r||(r=t.getContext("2d").getImageData(0,0,t.width,t.height));let o=tq(r.data,r.width,r.height,{inversionAttempts:"dontInvert"});return o?o.data:""}async function tX({canvas:e,qrScannerResources:t}){return new Promise(r=>{setTimeout(()=>r(""),1e3),q.scanImage(e,void 0,void 0,t.canvas).then(r).catch(()=>r(""))})}let tH=async({canvas:e,blob:t,qrScannerResources:r})=>{let o=e,n="jsqr";t&&(o=await z.blobToCanvas({blob:t}));let a=o.getContext("2d"),s=await tU({imageData:a.getImageData(0,0,o.width,o.height)});return s||(s=await tX({canvas:o,qrScannerResources:r}),n="qr-scanner"),{code:s,readBy:n}};function tK({width:e=145,height:t=145,surroundStyle:o={opacity:.6,background:"#000"}}){let n=B(),a=b.useAsset(`${u(n,"themeVersion")}/qr_capture_cursor.png`),s={stroke:d.DesignToken.Color.separators.primary,strokeWidth:X.getCSSNumericValue(d.DesignToken.BorderWidth["3xl"]),radius:13};return r.jsxs("div",{style:{width:e,height:t},children:[r.jsx("img",{src:a,width:e-16,height:t-16,alt:"",style:{top:8,left:8,position:"absolute"}}),r.jsxs("svg",{width:e,height:t,children:[r.jsx("rect",{x:1,y:1,rx:10,ry:10,width:e-2,height:t-2,style:{fill:"none",...s}}),r.jsx("path",{d:"M0,13 Q0,0 13,0 L0,0 Z",style:o}),r.jsx("path",{d:`M0,${t-13} Q0,${t} 13,${t} L0,${t} Z`,style:o}),r.jsx("path",{d:`M${e-13},${t} Q${e},${t} ${e},${t-13} L${e},${t} Z`,style:o}),r.jsx("path",{d:`M${e-13},0 Q${e},0 ${e},13 L${e},0 Z`,style:o})]})]})}function tG(e){let{windowAndVideoInfo:a,onUISpacingChange:s,refVideo:i,settings:l,onCaptureDone:c,outputEncryptionSettings:g}=e,[k,m]=t.useState(null),p=B(),[f,h]=t.useState({}),{yTooltip:_,yMessage:y}=f,P=C(),{sendEvent:x}=$.useSDKTracking(),{showPopup:S,popupShown:R,popupType:M}=tt(),[D,A]=t.useState(!1),[L,F]=t.useState(null),O=t.useRef(()=>{}),Q=b.useAsset(`${u(p,"themeVersion")}/ic_loading.gif`),q=n("QRStep.scanCountdown.color")({theme:p}),X=t.useRef();t.useEffect(()=>{x({tag:"id_qr",event:"user_activity.start",log:{}}),X.current=performance.now()},[x]),t.useEffect(()=>{S({popupType:ta})},[S]),t.useEffect(()=>{if(a){let{videoAreaWidth:e,lostX:t,lostY:r}=a,n=o.isMobile?Math.min(e-6,145):145,i=r+140,l=i-90,c=i+n+15,d=Math.floor((e-n)/2)+t;m({x:d,y:i,width:n,height:n,surroundStyle:{opacity:.6,background:"#000"}});let u={yTitle:l,yTooltip:l+30,yMessage:c};h(u),s(u)}},[a,s]);let H=t.useCallback(e=>{(x({tag:"id_qr",event:"sdk_ui.scan_time_out",log:{}}),F(""),l?.isQrStepOnly)?O.current():c(e)},[c,x,l?.isQrStepOnly]),K=t.useCallback(e=>{let{validateResult:{valid:t}}=e;F("");let r=performance.now();t?(x({tag:"id_qr",event:"sdk_ui.scan_success",log:{time_capture_in_seconds:(r-X.current)/1e3}}),c(e)):(S({popupType:tn}),x({tag:"id_qr",event:"sdk_ui.invalid_qr_alert",log:{}}))},[S,c,x]),{isProcessing:G,restartSession:Z,warmupDone:J}=(({shouldStart:e,refVideo:r,cropArea:o,settings:n,onSessionTimeout:a,onCaptureDone:s,onAboutToTimeout:i,outputEncryptionSettings:l,estimatedStartTime:c})=>{let[u,g]=t.useState(!1),k=t.useRef(()=>{}),m=t.useRef(()=>{}),{sendEvent:p}=$.useSDKTracking(),{onErrorCallback:f}=eg(),{stopCheckFrame:h,checkFrame:_,warmupDone:B}=function({refVideo:e,shouldStart:r,cropArea:o,settings:n,onResult:a,outputEncryptionSettings:s}){let i=t.useRef(null);null===i.current&&(i.current=document.createElement("canvas"));let l=t.useRef(!1),c=t.useRef(null),d=t.useRef(),[u,g]=t.useState(!1),k=t.useRef({}),{customUrls:m,qrSettings:p}=w.useSDKSettings();t.useEffect(()=>{(async function e(){u||(k.current=await V({modelUrl:m?.wechatQRModelsUrl}),g(!0))})()},[u,m]);let f=t.useCallback(()=>{!0===l.current&&(l.current=!1)},[]),h=t.useCallback(async()=>{if(!u||!n||l.current)return;let{qrModel:t,qrScannerResources:r,noModel:o}=k.current,g=c.current,m=e.current;l.current=!0;let{cropX:h,cropY:_,cropWidth:B,cropHeight:b}=g,C=i.current;C.width=B,C.height=b;let w=C.getContext("2d"),y=async()=>{let e;w.drawImage(m,h,_,B,b,0,0,B,b);let c=performance.now(),u="";if(o){let{code:t,readBy:o}=await tH({canvas:C,qrScannerResources:r});e=t,u=o}else e=await tA({canvas:C,qrModel:t}),u="wechat";if(c=Math.floor(performance.now()-c),e){let t;f();let r=n.enableQrValidation&&n.isVietnameseCardFlow?U.validateIdQRContent(e):{valid:!0},o=await v.takePicture({canvas:i.current});T.addExifData("user_action",{start_id_card:d.current,end_id_card:Date.now()});let l=await T.writeCurrentExif({imageData:{blob:o},enableExifData:"boolean"!=typeof p?.enableExif||p?.enableExif,additionalData:{capture_time:Date.now(),qr_string:e,type:"qr",qr_read_by:u}});if(s&&s.key){let{key:e}=s;t=await E.encrypt({blob:l,key:e})}a({result:e,validateResult:r,image:{blob:l,encrypted:t}})}let g=180-c>0?180-c:0;await new Promise(e=>setTimeout(e,g)),l.current&&window.requestAnimationFrame(y)};window.requestAnimationFrame(y)},[u,n,e,f,p?.enableExif,s,a]),_=t.useCallback(()=>{f()},[f]);return t.useEffect(()=>{let t=e.current;r||_(),u&&r&&o&&t&&t.videoWidth>0&&(d.current=Date.now(),c.current=v.analyzeVideoAndWindowSizes(t,o,0),h())},[r,o,e,f,h,u,_]),t.useEffect(()=>_,[_]),{refWorkingCanvas:i,stopCheckFrame:f,checkFrame:h,warmupDone:u}}({refVideo:r,shouldStart:e,cropArea:o,settings:n,onResult:t.useCallback((...e)=>{k.current(...e)},[]),outputEncryptionSettings:l}),{stopCheckFrame:b,refRecordedVideos:C,resetRecordedVideos:y,checkFrame:P}=function({refVideo:e,shouldStart:r,cropArea:o,settings:n}){let a=t.useRef(null);null===a.current&&(a.current=document.createElement("canvas"));let s=t.useRef(!1),i=t.useRef(z.createResizer({width:960,height:640})),l=t.useRef(null),c=t.useRef([tj()]),d=t.useCallback(()=>{!0===s.current&&(s.current=!1)},[]),u=t.useCallback(()=>{c.current=[tj()]},[]),g=t.useCallback(()=>{let e=c.current;e[e.length-1].frames.length>0&&e.push(tj())},[]),k=t.useCallback(async({workingCanvas:e})=>{let t=i.current,r=c.current,o=t.resize({srcCanvas:e}).toDataURL("image/jpeg",n.saveFrameQuality/100).split(",")[1];r[r.length-1].frames.push({base64:o})},[n]),m=t.useCallback(async()=>{if(!n)return;let{frameCaptureIntervalMs:t=180,enableRecording:r}=n;if(!r)return;let o=l.current,i=e.current;s.current=!0;let{cropX:c,cropY:d,cropWidth:u,cropHeight:g}=o,m=a.current;m.width=u,m.height=g;let p=m.getContext("2d");for(;;){let e=performance.now();if(p.drawImage(i,c,d,u,g,0,0,u,g),await k({workingCanvas:m}),e=Math.floor(performance.now()-e),!s.current)break;let r=0;t-e>0&&(r=t-e),await N.sleep(r)}},[e,k,n]);return t.useEffect(()=>{let t=e.current;async function n(){l.current=v.analyzeVideoAndWindowSizes(t,o),await m()}return r&&o&&n(),()=>{d()}},[r,o,e,d,g,m]),{refWorkingCanvas:a,stopCheckFrame:d,splitVideos:g,resetRecordedVideos:u,checkFrame:m,refRecordedVideos:c}}({refVideo:r,shouldStart:e&&B,cropArea:o,settings:n});k.current=t.useCallback(async e=>{g(!0),b(),h(),m.current(),s({...e,...n?.enableRecording?{recordedVideos:C.current}:{}}),g(!1)},[b,h,s,n?.enableRecording,C]);let{resumeTimer:x,pauseTimer:S}=(e=>{let{interruptible:r=!0,totalTime:o,maxRetriesSettings:n,onAboutToTimeout:a,onTimeout:s,shouldStart:i,onError:l,estimatedStartTime:c}=e,u=t.useRef(new I({totalTime:o,interruptible:r,estimatedStartTime:c}));t.useEffect(()=>u.current.on("tick",({remainTime:e})=>{e>=0&&e<=o/3&&"function"==typeof a&&a({curTimeLeft:e})}),[a,o,r]),t.useEffect(()=>u.current.on("reset",({attemptCount:e})=>{r&&u.current.pause(),s(),n?.enable&&e>=n?.total&&l(d.Errors.max_retry_reached)}),[s,l,n?.enable,n?.total,r]),t.useEffect(()=>i?u.current.start():()=>{},[i]);let g=t.useCallback(()=>{u.current.resume()},[]);return{resumeTimer:g,pauseTimer:t.useCallback(()=>{u.current.pause()},[])}})({shouldStart:e&&B,onAboutToTimeout:i,onTimeout:t.useCallback(()=>{b(),h();let e=[...C.current],t=n?.enableRecording?{recordedVideos:e}:null;y(),a(t)},[b,h,C,n?.enableRecording,a,y]),onError:f,totalTime:n?.scanQrLimitTimeSecond,maxRetriesSettings:n?.maxRetriesScanQrSettings,interruptible:n?.qrTimerInterruptible,estimatedStartTime:c});m.current=S;let R=t.useCallback(async()=>{x(),await Promise.all([P(),_()])},[P,_,x]);return t.useEffect(()=>{B&&async function(){Object.values(await j.reportResourceLoad()).forEach(e=>{p({tag:"id_qr",event:"sdk.download_model",log:e})})}()},[p,B]),{isProcessing:u,restartSession:R,refRecordedVideos:C,warmupDone:B}})({shouldStart:D,refVideo:i,cropArea:k,settings:l,onSessionTimeout:H,onCaptureDone:K,onAboutToTimeout:t.useCallback(({curTimeLeft:e})=>{F(P("remaining_time",{x:e}))},[P]),outputEncryptionSettings:g,estimatedStartTime:Date.now()+1e4});O.current=Z;let Y=t.useCallback(()=>{S({popupType:null})},[S]),ee=t.useCallback(async()=>{Y(),X.current=performance.now(),x({tag:"id_qr",event:"user_activity.invalid_qr_retry",log:{}}),await Z()},[Z,Y,x]),et=t.useCallback(()=>{Y(),x({tag:"id_qr",event:"user_activity.invalid_qr_skip",log:{}}),c()},[Y,c,x]),er=t.useCallback(()=>{Y(),A(!0)},[Y]);return r.jsxs(r.Fragment,{children:[!J&&r.jsx(ei,{contentStyle:{maxWidth:"300px"}}),k&&r.jsx(el,{x:`${k.x}px`,y:`${k.y}px`,width:`${k.width}px`,height:`${k.height}px`,surroundStyle:k.surroundStyle,children:r.jsx(tK,{width:k.width,height:k.height,surroundStyle:k.surroundStyle})}),r.jsx(tT,{y:`${_}px`,children:P("qr_tooltip")}),L&&r.jsxs(eJ,{y:`${y}px`,children:[r.jsx(W,{color:q}),r.jsx(tE,{className:"message",y:`${y}px`,children:L},L)]}),G&&r.jsx(eq,{children:r.jsx("img",{src:Q,alt:""})}),r.jsxs(ec,{contentStyle:{maxWidth:"332px"},open:R,children:[M===tn&&r.jsx(t$,{onRetry:ee,onSkip:et}),M===ta&&r.jsx(tv,{onClickStart:er,onTimeout:er,timeout:10})]})]})}tG.propTypes={windowAndVideoInfo:e.shape({}),onUISpacingChange:e.func,refVideo:e.shape({}),settings:e.shape({maxRetriesScanQrSettings:e.shape({enable:e.bool}),isQrStepOnly:e.bool}),onCaptureDone:e.func,outputEncryptionSettings:e.shape({})},tG.defaultProps={windowAndVideoInfo:{},onUISpacingChange:()=>{},refVideo:{},settings:{},onCaptureDone:()=>{},outputEncryptionSettings:null};let tZ="SUCCESS",tJ="WARNING",tY={[tZ]:"✓",[tJ]:"!"},t3=g.div`
353
+ z-index: ${f+20};
354
+ `;let tA=()=>({id:null,frames:[]});async function tL({canvas:e,qrModel:t}){let r=e.getContext("2d").getImageData(0,0,e.width,e.height);return await t.detectAndDecode(r)}let tF=(e,t)=>{let{width:r,height:o}=e,n=t.getContext("2d");t.width=r/2,t.height=o/2,n.drawImage(e,r/2,0,t.width,t.height,0,0,t.width,t.height)},tW=(e,t)=>{let{width:r,height:o}=e,n=t.getContext("2d");t.width=r,t.height=o,n.drawImage(e,0,0,r,o)},tz=async({blob:e,outputEncryptionSettings:t,cardSide:r,results:o,readFrom:n})=>{let a,i=await T.writeCurrentExif({imageData:{blob:e},enableExifData:!0,additionalData:{qr_string:o[0],type:r===u.IDCardSide.FRONT?"qr_from_front_image":"qr_from_back_image",source:"background QR",qr_read_by:"wechat",qr_read_from:n}});return t?.key&&(a=await E.encrypt({blob:i,key:t.key})),{result:o[0],results:o,validateResult:{valid:!0},image:{blob:i,encrypted:a}}},tO=async({blob:e,outputEncryptionSettings:t,cardSide:r,cardQRConfig:o})=>{let{qrModel:n,noModel:a}=await V();if(a)return null;let{regions:i,isValidPayload:s,pickResults:l,strategy:c}=o,d=document.createElement("canvas");await new Promise(t=>{let r=URL.createObjectURL(e),o=new Image;o.onload=function(){tW(o,d),URL.revokeObjectURL(r),t()},o.src=r});let u=d.getContext("2d"),{width:g,height:k}=d,m="raw"===c?e=>n.detectAndDecodeRaw(e):e=>n.detectAndDecode(e).then(e=>e?[e]:[]),f=l((await Promise.all(i.map(e=>m((({x:e,y:t,w:r,h:o})=>u.getImageData(Math.round(e*g),Math.round(t*k),Math.round(r*g),Math.round(o*k)))(e))))).flat().filter(s));return f&&0!==f.length?tz({blob:e,outputEncryptionSettings:t,cardSide:r,results:f,readFrom:"image"}):null},tN=async(e,t,r=u.IDCardSide.FRONT,o=tF)=>{let{qrModel:n,noModel:a}=await V();if(a)return null;let i=document.createElement("canvas");await new Promise(t=>{let r=URL.createObjectURL(e),n=new Image;n.onload=function(){o(n,i),URL.revokeObjectURL(r),t()},n.src=r});let s=await tL({canvas:i,qrModel:n});return s?tz({blob:e,outputEncryptionSettings:t,cardSide:r,results:[s],readFrom:"image"}):null};var tV,tQ={exports:{}};tQ.exports;var tq=function(){var e,t;if(tV)return tQ.exports;return tV=1,e=tQ,t="undefined"!=typeof self&&self,e.exports=function(){return function(e){var t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:o})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}([function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.BitMatrix=function(){function e(e,t){this.width=t,this.height=e.length/t,this.data=e}return e.createEmpty=function(t,r){return new e(new Uint8ClampedArray(t*r),t)},e.prototype.get=function(e,t){return!(e<0)&&!(e>=this.width)&&!(t<0)&&!(t>=this.height)&&!!this.data[t*this.width+e]},e.prototype.set=function(e,t,r){this.data[t*this.width+e]=+!!r},e.prototype.setRegion=function(e,t,r,o,n){for(var a=t;a<t+o;a++)for(var i=e;i<e+r;i++)this.set(i,a,!!n)},e}()},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(2);t.addOrSubtractGF=function(e,t){return e^t},t.default=function(){function e(e,t,r){this.primitive=e,this.size=t,this.generatorBase=r,this.expTable=Array(this.size),this.logTable=Array(this.size);for(var n=1,a=0;a<this.size;a++)this.expTable[a]=n,(n*=2)>=this.size&&(n=(n^this.primitive)&this.size-1);for(var a=0;a<this.size-1;a++)this.logTable[this.expTable[a]]=a;this.zero=new o.default(this,Uint8ClampedArray.from([0])),this.one=new o.default(this,Uint8ClampedArray.from([1]))}return e.prototype.multiply=function(e,t){return 0===e||0===t?0:this.expTable[(this.logTable[e]+this.logTable[t])%(this.size-1)]},e.prototype.inverse=function(e){if(0===e)throw Error("Can't invert 0");return this.expTable[this.size-this.logTable[e]-1]},e.prototype.buildMonomial=function(e,t){if(e<0)throw Error("Invalid monomial degree less than 0");if(0===t)return this.zero;var r=new Uint8ClampedArray(e+1);return r[0]=t,new o.default(this,r)},e.prototype.log=function(e){if(0===e)throw Error("Can't take log(0)");return this.logTable[e]},e.prototype.exp=function(e){return this.expTable[e]},e}()},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(1);t.default=function(){function e(e,t){if(0===t.length)throw Error("No coefficients.");this.field=e;var r=t.length;if(r>1&&0===t[0]){for(var o=1;o<r&&0===t[o];)o++;if(o===r)this.coefficients=e.zero.coefficients;else{this.coefficients=new Uint8ClampedArray(r-o);for(var n=0;n<this.coefficients.length;n++)this.coefficients[n]=t[o+n]}}else this.coefficients=t}return e.prototype.degree=function(){return this.coefficients.length-1},e.prototype.isZero=function(){return 0===this.coefficients[0]},e.prototype.getCoefficient=function(e){return this.coefficients[this.coefficients.length-1-e]},e.prototype.addOrSubtract=function(t){if(this.isZero())return t;if(t.isZero())return this;var r,n=this.coefficients,a=t.coefficients;n.length>a.length&&(n=(r=[a,n])[0],a=r[1]);for(var i=new Uint8ClampedArray(a.length),s=a.length-n.length,l=0;l<s;l++)i[l]=a[l];for(var l=s;l<a.length;l++)i[l]=o.addOrSubtractGF(n[l-s],a[l]);return new e(this.field,i)},e.prototype.multiply=function(t){if(0===t)return this.field.zero;if(1===t)return this;for(var r=this.coefficients.length,o=new Uint8ClampedArray(r),n=0;n<r;n++)o[n]=this.field.multiply(this.coefficients[n],t);return new e(this.field,o)},e.prototype.multiplyPoly=function(t){if(this.isZero()||t.isZero())return this.field.zero;for(var r=this.coefficients,n=r.length,a=t.coefficients,i=a.length,s=new Uint8ClampedArray(n+i-1),l=0;l<n;l++){for(var c=r[l],d=0;d<i;d++)s[l+d]=o.addOrSubtractGF(s[l+d],this.field.multiply(c,a[d]))}return new e(this.field,s)},e.prototype.multiplyByMonomial=function(t,r){if(t<0)throw Error("Invalid degree less than 0");if(0===r)return this.field.zero;for(var o=this.coefficients.length,n=new Uint8ClampedArray(o+t),a=0;a<o;a++)n[a]=this.field.multiply(this.coefficients[a],r);return new e(this.field,n)},e.prototype.evaluateAt=function(e){var t=0;if(0===e)return this.getCoefficient(0);var r=this.coefficients.length;if(1===e)return this.coefficients.forEach(function(e){t=o.addOrSubtractGF(t,e)}),t;t=this.coefficients[0];for(var n=1;n<r;n++)t=o.addOrSubtractGF(this.field.multiply(e,t),this.coefficients[n]);return t},e}()},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(4),n=r(5),a=r(11),i=r(12);function s(e){var t=i.locate(e);if(!t)return null;for(var r=0;r<t.length;r++){var o=t[r],s=a.extract(e,o),l=n.decode(s.matrix);if(l)return{binaryData:l.bytes,data:l.text,chunks:l.chunks,version:l.version,location:{topRightCorner:s.mappingFunction(o.dimension,0),topLeftCorner:s.mappingFunction(0,0),bottomRightCorner:s.mappingFunction(o.dimension,o.dimension),bottomLeftCorner:s.mappingFunction(0,o.dimension),topRightFinderPattern:o.topRight,topLeftFinderPattern:o.topLeft,bottomLeftFinderPattern:o.bottomLeft,bottomRightAlignmentPattern:o.alignmentPattern}}}return null}var l={inversionAttempts:"attemptBoth"};function c(e,t,r,n){void 0===n&&(n={});Object.keys(l||{}).forEach(function(e){l[e]=n[e]||l[e]});var a="attemptBoth"===l.inversionAttempts||"invertFirst"===l.inversionAttempts,i="onlyInvert"===l.inversionAttempts||"invertFirst"===l.inversionAttempts,c=o.binarize(e,t,r,a),d=c.binarized,u=c.inverted,g=s(i?u:d);return g||"attemptBoth"!==l.inversionAttempts&&"invertFirst"!==l.inversionAttempts||(g=s(i?d:u)),g}c.default=c,t.default=c},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(0),n=function(){function e(e,t){this.width=e,this.data=new Uint8ClampedArray(e*t)}return e.prototype.get=function(e,t){return this.data[t*this.width+e]},e.prototype.set=function(e,t,r){this.data[t*this.width+e]=r},e}();t.binarize=function(e,t,r,a){if(e.length!==t*r*4)throw Error("Malformed data passed to binarizer.");for(var i=new n(t,r),s=0;s<t;s++)for(var l=0;l<r;l++){var c=e[(l*t+s)*4+0],d=e[(l*t+s)*4+1],u=e[(l*t+s)*4+2];i.set(s,l,.2126*c+.7152*d+.0722*u)}for(var g=Math.ceil(t/8),k=Math.ceil(r/8),m=new n(g,k),f=0;f<k;f++)for(var p=0;p<g;p++){for(var h=0,_=1/0,b=0,l=0;l<8;l++)for(var s=0;s<8;s++){var B=i.get(8*p+s,8*f+l);h+=B,_=Math.min(_,B),b=Math.max(b,B)}var C=h/64;if(b-_<=24&&(C=_/2,f>0&&p>0)){var w=(m.get(p,f-1)+2*m.get(p-1,f)+m.get(p-1,f-1))/4;_<w&&(C=w)}m.set(p,f,C)}var y=o.BitMatrix.createEmpty(t,r),v=null;a&&(v=o.BitMatrix.createEmpty(t,r));for(var f=0;f<k;f++)for(var p=0;p<g;p++){for(var P,x,S,R,I=(P=p,x=g-3,P<2?2:P>x?x:P),M=(S=f,R=k-3,S<2?2:S>R?R:S),h=0,$=-2;$<=2;$++)for(var D=-2;D<=2;D++)h+=m.get(I+$,M+D);for(var T=h/25,$=0;$<8;$++)for(var D=0;D<8;D++){var s=8*p+$,l=8*f+D,E=i.get(s,l);y.set(s,l,E<=T),a&&v.set(s,l,!(E<=T))}}return a?{binarized:y,inverted:v}:{binarized:y}}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(0),n=r(6),a=r(9),i=r(10);function s(e,t){for(var r=e^t,o=0;r;)o++,r&=r-1;return o}var l=[{bits:21522,formatInfo:{errorCorrectionLevel:1,dataMask:0}},{bits:20773,formatInfo:{errorCorrectionLevel:1,dataMask:1}},{bits:24188,formatInfo:{errorCorrectionLevel:1,dataMask:2}},{bits:23371,formatInfo:{errorCorrectionLevel:1,dataMask:3}},{bits:17913,formatInfo:{errorCorrectionLevel:1,dataMask:4}},{bits:16590,formatInfo:{errorCorrectionLevel:1,dataMask:5}},{bits:20375,formatInfo:{errorCorrectionLevel:1,dataMask:6}},{bits:19104,formatInfo:{errorCorrectionLevel:1,dataMask:7}},{bits:30660,formatInfo:{errorCorrectionLevel:0,dataMask:0}},{bits:29427,formatInfo:{errorCorrectionLevel:0,dataMask:1}},{bits:32170,formatInfo:{errorCorrectionLevel:0,dataMask:2}},{bits:30877,formatInfo:{errorCorrectionLevel:0,dataMask:3}},{bits:26159,formatInfo:{errorCorrectionLevel:0,dataMask:4}},{bits:25368,formatInfo:{errorCorrectionLevel:0,dataMask:5}},{bits:27713,formatInfo:{errorCorrectionLevel:0,dataMask:6}},{bits:26998,formatInfo:{errorCorrectionLevel:0,dataMask:7}},{bits:5769,formatInfo:{errorCorrectionLevel:3,dataMask:0}},{bits:5054,formatInfo:{errorCorrectionLevel:3,dataMask:1}},{bits:7399,formatInfo:{errorCorrectionLevel:3,dataMask:2}},{bits:6608,formatInfo:{errorCorrectionLevel:3,dataMask:3}},{bits:1890,formatInfo:{errorCorrectionLevel:3,dataMask:4}},{bits:597,formatInfo:{errorCorrectionLevel:3,dataMask:5}},{bits:3340,formatInfo:{errorCorrectionLevel:3,dataMask:6}},{bits:2107,formatInfo:{errorCorrectionLevel:3,dataMask:7}},{bits:13663,formatInfo:{errorCorrectionLevel:2,dataMask:0}},{bits:12392,formatInfo:{errorCorrectionLevel:2,dataMask:1}},{bits:16177,formatInfo:{errorCorrectionLevel:2,dataMask:2}},{bits:14854,formatInfo:{errorCorrectionLevel:2,dataMask:3}},{bits:9396,formatInfo:{errorCorrectionLevel:2,dataMask:4}},{bits:8579,formatInfo:{errorCorrectionLevel:2,dataMask:5}},{bits:11994,formatInfo:{errorCorrectionLevel:2,dataMask:6}},{bits:11245,formatInfo:{errorCorrectionLevel:2,dataMask:7}}],c=[function(e){return(e.y+e.x)%2==0},function(e){return e.y%2==0},function(e){return e.x%3==0},function(e){return(e.y+e.x)%3==0},function(e){return(Math.floor(e.y/2)+Math.floor(e.x/3))%2==0},function(e){return e.x*e.y%2+e.x*e.y%3==0},function(e){return(e.y*e.x%2+e.y*e.x%3)%2==0},function(e){return((e.y+e.x)%2+e.y*e.x%3)%2==0}];function d(e){var t=function(e){var t,r,o,n=e.height,a=Math.floor((n-17)/4);if(a<=6)return i.VERSIONS[a-1];for(var l=0,c=5;c>=0;c--)for(var d=n-9;d>=n-11;d--){t=e.get(d,c),l=l<<1|t}for(var u=0,d=5;d>=0;d--)for(var c=n-9;c>=n-11;c--){r=e.get(d,c),u=u<<1|r}for(var g=1/0,k=0,m=i.VERSIONS;k<m.length;k++){var f=m[k];if(f.infoBits===l||f.infoBits===u)return f;var p=s(l,f.infoBits);p<g&&(o=f,g=p),(p=s(u,f.infoBits))<g&&(o=f,g=p)}if(g<=3)return o}(e);if(!t)return null;var r=function(e){for(var t,r,o,n,a=0,i=0;i<=8;i++){6!==i&&(t=e.get(i,8),a=a<<1|t)}for(var c=7;c>=0;c--){6!==c&&(r=e.get(8,c),a=a<<1|r)}for(var d=e.height,u=0,c=d-1;c>=d-7;c--){o=e.get(8,c),u=u<<1|o}for(var i=d-8;i<d;i++){n=e.get(i,8),u=u<<1|n}for(var g=1/0,k=null,m=0;m<l.length;m++){var f=l[m],p=f.bits,h=f.formatInfo;if(p===a||p===u)return h;var _=s(a,p);_<g&&(k=h,g=_),a!==u&&(_=s(u,p))<g&&(k=h,g=_)}return g<=3?k:null}(e);if(!r)return null;var d=function(e,t,r){var o=t.errorCorrectionLevels[r],n=[],a=0;if(o.ecBlocks.forEach(function(e){for(var t=0;t<e.numBlocks;t++)n.push({numDataCodewords:e.dataCodewordsPerBlock,codewords:[]}),a+=e.dataCodewordsPerBlock+o.ecCodewordsPerBlock}),e.length<a)return null;e=e.slice(0,a);for(var i=o.ecBlocks[0].dataCodewordsPerBlock,s=0;s<i;s++)for(var l=0;l<n.length;l++){var c=n[l];c.codewords.push(e.shift())}if(o.ecBlocks.length>1){for(var d=o.ecBlocks[0].numBlocks,u=o.ecBlocks[1].numBlocks,s=0;s<u;s++)n[d+s].codewords.push(e.shift())}for(;e.length>0;)for(var g=0;g<n.length;g++){var c=n[g];c.codewords.push(e.shift())}return n}(function(e,t,r){for(var n=c[r.dataMask],a=e.height,i=function(e){var t=17+4*e.versionNumber,r=o.BitMatrix.createEmpty(t,t);r.setRegion(0,0,9,9,!0),r.setRegion(t-8,0,8,9,!0),r.setRegion(0,t-8,9,8,!0);for(var n=0,a=e.alignmentPatternCenters;n<a.length;n++){for(var i=a[n],s=0,l=e.alignmentPatternCenters;s<l.length;s++){var c=l[s];(6!==i||6!==c)&&(6!==i||c!==t-7)&&(i!==t-7||6!==c)&&r.setRegion(i-2,c-2,5,5,!0)}}return r.setRegion(6,9,1,t-17,!0),r.setRegion(9,6,t-17,1,!0),e.versionNumber>6&&(r.setRegion(t-11,0,3,6,!0),r.setRegion(0,t-11,6,3,!0)),r}(t),s=[],l=0,d=0,u=!0,g=a-1;g>0;g-=2){6===g&&g--;for(var k=0;k<a;k++){for(var m=u?a-1-k:k,f=0;f<2;f++){var p=g-f;if(!i.get(p,m)){d++;var h=e.get(p,m);n({y:m,x:p})&&(h=!h),l=l<<1|h,8===d&&(s.push(l),d=0,l=0)}}}u=!u}return s}(e,t,r),t,r.errorCorrectionLevel);if(!d)return null;for(var u=new Uint8ClampedArray(d.reduce(function(e,t){return e+t.numDataCodewords},0)),g=0,k=0;k<d.length;k++){var m=d[k],f=a.decode(m.codewords,m.codewords.length-m.numDataCodewords);if(!f)return null;for(var p=0;p<m.numDataCodewords;p++)u[g++]=f[p]}try{return n.decode(u,t.versionNumber)}catch(e){return null}}t.decode=function(e){if(null==e)return null;var t=d(e);if(t)return t;for(var r=0;r<e.width;r++)for(var o=r+1;o<e.height;o++)e.get(r,o)!==e.get(o,r)&&(e.set(r,o,!e.get(r,o)),e.set(o,r,!e.get(o,r)));return d(e)}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o,n,a,i,s=r(7),l=r(8);(o=a=t.Mode||(t.Mode={})).Numeric="numeric",o.Alphanumeric="alphanumeric",o.Byte="byte",o.Kanji="kanji",o.ECI="eci",(n=i||(i={}))[n.Terminator=0]="Terminator",n[n.Numeric=1]="Numeric",n[n.Alphanumeric=2]="Alphanumeric",n[n.Byte=4]="Byte",n[n.Kanji=8]="Kanji",n[n.ECI=7]="ECI";var c=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];t.decode=function(e,t){for(var r,o,n,d,u=new s.BitStream(e),g=t<=9?0:t<=26?1:2,k={text:"",bytes:[],chunks:[],version:t};u.available()>=4;){var m=u.readBits(4);if(m===i.Terminator)return k;if(m===i.ECI)0===u.readBits(1)?k.chunks.push({type:a.ECI,assignmentNumber:u.readBits(7)}):0===u.readBits(1)?k.chunks.push({type:a.ECI,assignmentNumber:u.readBits(14)}):0===u.readBits(1)?k.chunks.push({type:a.ECI,assignmentNumber:u.readBits(21)}):k.chunks.push({type:a.ECI,assignmentNumber:-1});else if(m===i.Numeric){var f=function(e,t){for(var r=[],o="",n=[10,12,14][t],a=e.readBits(n);a>=3;){var i=e.readBits(10);if(i>=1e3)throw Error("Invalid numeric value above 999");var s=Math.floor(i/100),l=Math.floor(i/10)%10,c=i%10;r.push(48+s,48+l,48+c),o+=s.toString()+l.toString()+c.toString(),a-=3}if(2===a){var i=e.readBits(7);if(i>=100)throw Error("Invalid numeric value above 99");var s=Math.floor(i/10),l=i%10;r.push(48+s,48+l),o+=s.toString()+l.toString()}else if(1===a){var i=e.readBits(4);if(i>=10)throw Error("Invalid numeric value above 9");r.push(48+i),o+=i.toString()}return{bytes:r,text:o}}(u,g);k.text+=f.text,(r=k.bytes).push.apply(r,f.bytes),k.chunks.push({type:a.Numeric,text:f.text})}else if(m===i.Alphanumeric){var p=function(e,t){for(var r=[],o="",n=[9,11,13][t],a=e.readBits(n);a>=2;){var i=e.readBits(11),s=Math.floor(i/45),l=i%45;r.push(c[s].charCodeAt(0),c[l].charCodeAt(0)),o+=c[s]+c[l],a-=2}if(1===a){var s=e.readBits(6);r.push(c[s].charCodeAt(0)),o+=c[s]}return{bytes:r,text:o}}(u,g);k.text+=p.text,(o=k.bytes).push.apply(o,p.bytes),k.chunks.push({type:a.Alphanumeric,text:p.text})}else if(m===i.Byte){var h=function(e,t){for(var r=[],o="",n=[8,16,16][t],a=e.readBits(n),i=0;i<a;i++){var s=e.readBits(8);r.push(s)}try{o+=decodeURIComponent(r.map(function(e){return"%"+("0"+e.toString(16)).substr(-2)}).join(""))}catch(e){}return{bytes:r,text:o}}(u,g);k.text+=h.text,(n=k.bytes).push.apply(n,h.bytes),k.chunks.push({type:a.Byte,bytes:h.bytes,text:h.text})}else if(m===i.Kanji){var _=function(e,t){for(var r=[],o="",n=[8,10,12][t],a=e.readBits(n),i=0;i<a;i++){var s=e.readBits(13),c=Math.floor(s/192)<<8|s%192;c<7936?c+=33088:c+=49472,r.push(c>>8,255&c),o+=String.fromCharCode(l.shiftJISTable[c])}return{bytes:r,text:o}}(u,g);k.text+=_.text,(d=k.bytes).push.apply(d,_.bytes),k.chunks.push({type:a.Kanji,bytes:_.bytes,text:_.text})}}if(0===u.available()||0===u.readBits(u.available()))return k}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.BitStream=function(){function e(e){this.byteOffset=0,this.bitOffset=0,this.bytes=e}return e.prototype.readBits=function(e){if(e<1||e>32||e>this.available())throw Error("Cannot read "+e.toString()+" bits");var t=0;if(this.bitOffset>0){var r=8-this.bitOffset,o=e<r?e:r,n=r-o,a=255>>8-o<<n;t=(this.bytes[this.byteOffset]&a)>>n,e-=o,this.bitOffset+=o,8===this.bitOffset&&(this.bitOffset=0,this.byteOffset++)}if(e>0){for(;e>=8;)t=t<<8|255&this.bytes[this.byteOffset],this.byteOffset++,e-=8;if(e>0){var n=8-e,a=255>>n<<n;t=t<<e|(this.bytes[this.byteOffset]&a)>>n,this.bitOffset+=e}}return t},e.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},e}()},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.shiftJISTable={32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:165,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:8254,33088:12288,33089:12289,33090:12290,33091:65292,33092:65294,33093:12539,33094:65306,33095:65307,33096:65311,33097:65281,33098:12443,33099:12444,33100:180,33101:65344,33102:168,33103:65342,33104:65507,33105:65343,33106:12541,33107:12542,33108:12445,33109:12446,33110:12291,33111:20189,33112:12293,33113:12294,33114:12295,33115:12540,33116:8213,33117:8208,33118:65295,33119:92,33120:12316,33121:8214,33122:65372,33123:8230,33124:8229,33125:8216,33126:8217,33127:8220,33128:8221,33129:65288,33130:65289,33131:12308,33132:12309,33133:65339,33134:65341,33135:65371,33136:65373,33137:12296,33138:12297,33139:12298,33140:12299,33141:12300,33142:12301,33143:12302,33144:12303,33145:12304,33146:12305,33147:65291,33148:8722,33149:177,33150:215,33152:247,33153:65309,33154:8800,33155:65308,33156:65310,33157:8806,33158:8807,33159:8734,33160:8756,33161:9794,33162:9792,33163:176,33164:8242,33165:8243,33166:8451,33167:65509,33168:65284,33169:162,33170:163,33171:65285,33172:65283,33173:65286,33174:65290,33175:65312,33176:167,33177:9734,33178:9733,33179:9675,33180:9679,33181:9678,33182:9671,33183:9670,33184:9633,33185:9632,33186:9651,33187:9650,33188:9661,33189:9660,33190:8251,33191:12306,33192:8594,33193:8592,33194:8593,33195:8595,33196:12307,33208:8712,33209:8715,33210:8838,33211:8839,33212:8834,33213:8835,33214:8746,33215:8745,33224:8743,33225:8744,33226:172,33227:8658,33228:8660,33229:8704,33230:8707,33242:8736,33243:8869,33244:8978,33245:8706,33246:8711,33247:8801,33248:8786,33249:8810,33250:8811,33251:8730,33252:8765,33253:8733,33254:8757,33255:8747,33256:8748,33264:8491,33265:8240,33266:9839,33267:9837,33268:9834,33269:8224,33270:8225,33271:182,33276:9711,33359:65296,33360:65297,33361:65298,33362:65299,33363:65300,33364:65301,33365:65302,33366:65303,33367:65304,33368:65305,33376:65313,33377:65314,33378:65315,33379:65316,33380:65317,33381:65318,33382:65319,33383:65320,33384:65321,33385:65322,33386:65323,33387:65324,33388:65325,33389:65326,33390:65327,33391:65328,33392:65329,33393:65330,33394:65331,33395:65332,33396:65333,33397:65334,33398:65335,33399:65336,33400:65337,33401:65338,33409:65345,33410:65346,33411:65347,33412:65348,33413:65349,33414:65350,33415:65351,33416:65352,33417:65353,33418:65354,33419:65355,33420:65356,33421:65357,33422:65358,33423:65359,33424:65360,33425:65361,33426:65362,33427:65363,33428:65364,33429:65365,33430:65366,33431:65367,33432:65368,33433:65369,33434:65370,33439:12353,33440:12354,33441:12355,33442:12356,33443:12357,33444:12358,33445:12359,33446:12360,33447:12361,33448:12362,33449:12363,33450:12364,33451:12365,33452:12366,33453:12367,33454:12368,33455:12369,33456:12370,33457:12371,33458:12372,33459:12373,33460:12374,33461:12375,33462:12376,33463:12377,33464:12378,33465:12379,33466:12380,33467:12381,33468:12382,33469:12383,33470:12384,33471:12385,33472:12386,33473:12387,33474:12388,33475:12389,33476:12390,33477:12391,33478:12392,33479:12393,33480:12394,33481:12395,33482:12396,33483:12397,33484:12398,33485:12399,33486:12400,33487:12401,33488:12402,33489:12403,33490:12404,33491:12405,33492:12406,33493:12407,33494:12408,33495:12409,33496:12410,33497:12411,33498:12412,33499:12413,33500:12414,33501:12415,33502:12416,33503:12417,33504:12418,33505:12419,33506:12420,33507:12421,33508:12422,33509:12423,33510:12424,33511:12425,33512:12426,33513:12427,33514:12428,33515:12429,33516:12430,33517:12431,33518:12432,33519:12433,33520:12434,33521:12435,33600:12449,33601:12450,33602:12451,33603:12452,33604:12453,33605:12454,33606:12455,33607:12456,33608:12457,33609:12458,33610:12459,33611:12460,33612:12461,33613:12462,33614:12463,33615:12464,33616:12465,33617:12466,33618:12467,33619:12468,33620:12469,33621:12470,33622:12471,33623:12472,33624:12473,33625:12474,33626:12475,33627:12476,33628:12477,33629:12478,33630:12479,33631:12480,33632:12481,33633:12482,33634:12483,33635:12484,33636:12485,33637:12486,33638:12487,33639:12488,33640:12489,33641:12490,33642:12491,33643:12492,33644:12493,33645:12494,33646:12495,33647:12496,33648:12497,33649:12498,33650:12499,33651:12500,33652:12501,33653:12502,33654:12503,33655:12504,33656:12505,33657:12506,33658:12507,33659:12508,33660:12509,33661:12510,33662:12511,33664:12512,33665:12513,33666:12514,33667:12515,33668:12516,33669:12517,33670:12518,33671:12519,33672:12520,33673:12521,33674:12522,33675:12523,33676:12524,33677:12525,33678:12526,33679:12527,33680:12528,33681:12529,33682:12530,33683:12531,33684:12532,33685:12533,33686:12534,33695:913,33696:914,33697:915,33698:916,33699:917,33700:918,33701:919,33702:920,33703:921,33704:922,33705:923,33706:924,33707:925,33708:926,33709:927,33710:928,33711:929,33712:931,33713:932,33714:933,33715:934,33716:935,33717:936,33718:937,33727:945,33728:946,33729:947,33730:948,33731:949,33732:950,33733:951,33734:952,33735:953,33736:954,33737:955,33738:956,33739:957,33740:958,33741:959,33742:960,33743:961,33744:963,33745:964,33746:965,33747:966,33748:967,33749:968,33750:969,33856:1040,33857:1041,33858:1042,33859:1043,33860:1044,33861:1045,33862:1025,33863:1046,33864:1047,33865:1048,33866:1049,33867:1050,33868:1051,33869:1052,33870:1053,33871:1054,33872:1055,33873:1056,33874:1057,33875:1058,33876:1059,33877:1060,33878:1061,33879:1062,33880:1063,33881:1064,33882:1065,33883:1066,33884:1067,33885:1068,33886:1069,33887:1070,33888:1071,33904:1072,33905:1073,33906:1074,33907:1075,33908:1076,33909:1077,33910:1105,33911:1078,33912:1079,33913:1080,33914:1081,33915:1082,33916:1083,33917:1084,33918:1085,33920:1086,33921:1087,33922:1088,33923:1089,33924:1090,33925:1091,33926:1092,33927:1093,33928:1094,33929:1095,33930:1096,33931:1097,33932:1098,33933:1099,33934:1100,33935:1101,33936:1102,33937:1103,33951:9472,33952:9474,33953:9484,33954:9488,33955:9496,33956:9492,33957:9500,33958:9516,33959:9508,33960:9524,33961:9532,33962:9473,33963:9475,33964:9487,33965:9491,33966:9499,33967:9495,33968:9507,33969:9523,33970:9515,33971:9531,33972:9547,33973:9504,33974:9519,33975:9512,33976:9527,33977:9535,33978:9501,33979:9520,33980:9509,33981:9528,33982:9538,34975:20124,34976:21782,34977:23043,34978:38463,34979:21696,34980:24859,34981:25384,34982:23030,34983:36898,34984:33909,34985:33564,34986:31312,34987:24746,34988:25569,34989:28197,34990:26093,34991:33894,34992:33446,34993:39925,34994:26771,34995:22311,34996:26017,34997:25201,34998:23451,34999:22992,35e3:34427,35001:39156,35002:32098,35003:32190,35004:39822,35005:25110,35006:31903,35007:34999,35008:23433,35009:24245,35010:25353,35011:26263,35012:26696,35013:38343,35014:38797,35015:26447,35016:20197,35017:20234,35018:20301,35019:20381,35020:20553,35021:22258,35022:22839,35023:22996,35024:23041,35025:23561,35026:24799,35027:24847,35028:24944,35029:26131,35030:26885,35031:28858,35032:30031,35033:30064,35034:31227,35035:32173,35036:32239,35037:32963,35038:33806,35039:34915,35040:35586,35041:36949,35042:36986,35043:21307,35044:20117,35045:20133,35046:22495,35047:32946,35048:37057,35049:30959,35050:19968,35051:22769,35052:28322,35053:36920,35054:31282,35055:33576,35056:33419,35057:39983,35058:20801,35059:21360,35060:21693,35061:21729,35062:22240,35063:23035,35064:24341,35065:39154,35066:28139,35067:32996,35068:34093,35136:38498,35137:38512,35138:38560,35139:38907,35140:21515,35141:21491,35142:23431,35143:28879,35144:32701,35145:36802,35146:38632,35147:21359,35148:40284,35149:31418,35150:19985,35151:30867,35152:33276,35153:28198,35154:22040,35155:21764,35156:27421,35157:34074,35158:39995,35159:23013,35160:21417,35161:28006,35162:29916,35163:38287,35164:22082,35165:20113,35166:36939,35167:38642,35168:33615,35169:39180,35170:21473,35171:21942,35172:23344,35173:24433,35174:26144,35175:26355,35176:26628,35177:27704,35178:27891,35179:27945,35180:29787,35181:30408,35182:31310,35183:38964,35184:33521,35185:34907,35186:35424,35187:37613,35188:28082,35189:30123,35190:30410,35191:39365,35192:24742,35193:35585,35194:36234,35195:38322,35196:27022,35197:21421,35198:20870,35200:22290,35201:22576,35202:22852,35203:23476,35204:24310,35205:24616,35206:25513,35207:25588,35208:27839,35209:28436,35210:28814,35211:28948,35212:29017,35213:29141,35214:29503,35215:32257,35216:33398,35217:33489,35218:34199,35219:36960,35220:37467,35221:40219,35222:22633,35223:26044,35224:27738,35225:29989,35226:20985,35227:22830,35228:22885,35229:24448,35230:24540,35231:25276,35232:26106,35233:27178,35234:27431,35235:27572,35236:29579,35237:32705,35238:35158,35239:40236,35240:40206,35241:40644,35242:23713,35243:27798,35244:33659,35245:20740,35246:23627,35247:25014,35248:33222,35249:26742,35250:29281,35251:20057,35252:20474,35253:21368,35254:24681,35255:28201,35256:31311,35257:38899,35258:19979,35259:21270,35260:20206,35261:20309,35262:20285,35263:20385,35264:20339,35265:21152,35266:21487,35267:22025,35268:22799,35269:23233,35270:23478,35271:23521,35272:31185,35273:26247,35274:26524,35275:26550,35276:27468,35277:27827,35278:28779,35279:29634,35280:31117,35281:31166,35282:31292,35283:31623,35284:33457,35285:33499,35286:33540,35287:33655,35288:33775,35289:33747,35290:34662,35291:35506,35292:22057,35293:36008,35294:36838,35295:36942,35296:38686,35297:34442,35298:20420,35299:23784,35300:25105,35301:29273,35302:30011,35303:33253,35304:33469,35305:34558,35306:36032,35307:38597,35308:39187,35309:39381,35310:20171,35311:20250,35312:35299,35313:22238,35314:22602,35315:22730,35316:24315,35317:24555,35318:24618,35319:24724,35320:24674,35321:25040,35322:25106,35323:25296,35324:25913,35392:39745,35393:26214,35394:26800,35395:28023,35396:28784,35397:30028,35398:30342,35399:32117,35400:33445,35401:34809,35402:38283,35403:38542,35404:35997,35405:20977,35406:21182,35407:22806,35408:21683,35409:23475,35410:23830,35411:24936,35412:27010,35413:28079,35414:30861,35415:33995,35416:34903,35417:35442,35418:37799,35419:39608,35420:28012,35421:39336,35422:34521,35423:22435,35424:26623,35425:34510,35426:37390,35427:21123,35428:22151,35429:21508,35430:24275,35431:25313,35432:25785,35433:26684,35434:26680,35435:27579,35436:29554,35437:30906,35438:31339,35439:35226,35440:35282,35441:36203,35442:36611,35443:37101,35444:38307,35445:38548,35446:38761,35447:23398,35448:23731,35449:27005,35450:38989,35451:38990,35452:25499,35453:31520,35454:27179,35456:27263,35457:26806,35458:39949,35459:28511,35460:21106,35461:21917,35462:24688,35463:25324,35464:27963,35465:28167,35466:28369,35467:33883,35468:35088,35469:36676,35470:19988,35471:39993,35472:21494,35473:26907,35474:27194,35475:38788,35476:26666,35477:20828,35478:31427,35479:33970,35480:37340,35481:37772,35482:22107,35483:40232,35484:26658,35485:33541,35486:33841,35487:31909,35488:21e3,35489:33477,35490:29926,35491:20094,35492:20355,35493:20896,35494:23506,35495:21002,35496:21208,35497:21223,35498:24059,35499:21914,35500:22570,35501:23014,35502:23436,35503:23448,35504:23515,35505:24178,35506:24185,35507:24739,35508:24863,35509:24931,35510:25022,35511:25563,35512:25954,35513:26577,35514:26707,35515:26874,35516:27454,35517:27475,35518:27735,35519:28450,35520:28567,35521:28485,35522:29872,35523:29976,35524:30435,35525:30475,35526:31487,35527:31649,35528:31777,35529:32233,35530:32566,35531:32752,35532:32925,35533:33382,35534:33694,35535:35251,35536:35532,35537:36011,35538:36996,35539:37969,35540:38291,35541:38289,35542:38306,35543:38501,35544:38867,35545:39208,35546:33304,35547:20024,35548:21547,35549:23736,35550:24012,35551:29609,35552:30284,35553:30524,35554:23721,35555:32747,35556:36107,35557:38593,35558:38929,35559:38996,35560:39e3,35561:20225,35562:20238,35563:21361,35564:21916,35565:22120,35566:22522,35567:22855,35568:23305,35569:23492,35570:23696,35571:24076,35572:24190,35573:24524,35574:25582,35575:26426,35576:26071,35577:26082,35578:26399,35579:26827,35580:26820,35648:27231,35649:24112,35650:27589,35651:27671,35652:27773,35653:30079,35654:31048,35655:23395,35656:31232,35657:32e3,35658:24509,35659:35215,35660:35352,35661:36020,35662:36215,35663:36556,35664:36637,35665:39138,35666:39438,35667:39740,35668:20096,35669:20605,35670:20736,35671:22931,35672:23452,35673:25135,35674:25216,35675:25836,35676:27450,35677:29344,35678:30097,35679:31047,35680:32681,35681:34811,35682:35516,35683:35696,35684:25516,35685:33738,35686:38816,35687:21513,35688:21507,35689:21931,35690:26708,35691:27224,35692:35440,35693:30759,35694:26485,35695:40653,35696:21364,35697:23458,35698:33050,35699:34384,35700:36870,35701:19992,35702:20037,35703:20167,35704:20241,35705:21450,35706:21560,35707:23470,35708:24339,35709:24613,35710:25937,35712:26429,35713:27714,35714:27762,35715:27875,35716:28792,35717:29699,35718:31350,35719:31406,35720:31496,35721:32026,35722:31998,35723:32102,35724:26087,35725:29275,35726:21435,35727:23621,35728:24040,35729:25298,35730:25312,35731:25369,35732:28192,35733:34394,35734:35377,35735:36317,35736:37624,35737:28417,35738:31142,35739:39770,35740:20136,35741:20139,35742:20140,35743:20379,35744:20384,35745:20689,35746:20807,35747:31478,35748:20849,35749:20982,35750:21332,35751:21281,35752:21375,35753:21483,35754:21932,35755:22659,35756:23777,35757:24375,35758:24394,35759:24623,35760:24656,35761:24685,35762:25375,35763:25945,35764:27211,35765:27841,35766:29378,35767:29421,35768:30703,35769:33016,35770:33029,35771:33288,35772:34126,35773:37111,35774:37857,35775:38911,35776:39255,35777:39514,35778:20208,35779:20957,35780:23597,35781:26241,35782:26989,35783:23616,35784:26354,35785:26997,35786:29577,35787:26704,35788:31873,35789:20677,35790:21220,35791:22343,35792:24062,35793:37670,35794:26020,35795:27427,35796:27453,35797:29748,35798:31105,35799:31165,35800:31563,35801:32202,35802:33465,35803:33740,35804:34943,35805:35167,35806:35641,35807:36817,35808:37329,35809:21535,35810:37504,35811:20061,35812:20534,35813:21477,35814:21306,35815:29399,35816:29590,35817:30697,35818:33510,35819:36527,35820:39366,35821:39368,35822:39378,35823:20855,35824:24858,35825:34398,35826:21936,35827:31354,35828:20598,35829:23507,35830:36935,35831:38533,35832:20018,35833:27355,35834:37351,35835:23633,35836:23624,35904:25496,35905:31391,35906:27795,35907:38772,35908:36705,35909:31402,35910:29066,35911:38536,35912:31874,35913:26647,35914:32368,35915:26705,35916:37740,35917:21234,35918:21531,35919:34219,35920:35347,35921:32676,35922:36557,35923:37089,35924:21350,35925:34952,35926:31041,35927:20418,35928:20670,35929:21009,35930:20804,35931:21843,35932:22317,35933:29674,35934:22411,35935:22865,35936:24418,35937:24452,35938:24693,35939:24950,35940:24935,35941:25001,35942:25522,35943:25658,35944:25964,35945:26223,35946:26690,35947:28179,35948:30054,35949:31293,35950:31995,35951:32076,35952:32153,35953:32331,35954:32619,35955:33550,35956:33610,35957:34509,35958:35336,35959:35427,35960:35686,35961:36605,35962:38938,35963:40335,35964:33464,35965:36814,35966:39912,35968:21127,35969:25119,35970:25731,35971:28608,35972:38553,35973:26689,35974:20625,35975:27424,35976:27770,35977:28500,35978:31348,35979:32080,35980:34880,35981:35363,35982:26376,35983:20214,35984:20537,35985:20518,35986:20581,35987:20860,35988:21048,35989:21091,35990:21927,35991:22287,35992:22533,35993:23244,35994:24314,35995:25010,35996:25080,35997:25331,35998:25458,35999:26908,36e3:27177,36001:29309,36002:29356,36003:29486,36004:30740,36005:30831,36006:32121,36007:30476,36008:32937,36009:35211,36010:35609,36011:36066,36012:36562,36013:36963,36014:37749,36015:38522,36016:38997,36017:39443,36018:40568,36019:20803,36020:21407,36021:21427,36022:24187,36023:24358,36024:28187,36025:28304,36026:29572,36027:29694,36028:32067,36029:33335,36030:35328,36031:35578,36032:38480,36033:20046,36034:20491,36035:21476,36036:21628,36037:22266,36038:22993,36039:23396,36040:24049,36041:24235,36042:24359,36043:25144,36044:25925,36045:26543,36046:28246,36047:29392,36048:31946,36049:34996,36050:32929,36051:32993,36052:33776,36053:34382,36054:35463,36055:36328,36056:37431,36057:38599,36058:39015,36059:40723,36060:20116,36061:20114,36062:20237,36063:21320,36064:21577,36065:21566,36066:23087,36067:24460,36068:24481,36069:24735,36070:26791,36071:27278,36072:29786,36073:30849,36074:35486,36075:35492,36076:35703,36077:37264,36078:20062,36079:39881,36080:20132,36081:20348,36082:20399,36083:20505,36084:20502,36085:20809,36086:20844,36087:21151,36088:21177,36089:21246,36090:21402,36091:21475,36092:21521,36160:21518,36161:21897,36162:22353,36163:22434,36164:22909,36165:23380,36166:23389,36167:23439,36168:24037,36169:24039,36170:24055,36171:24184,36172:24195,36173:24218,36174:24247,36175:24344,36176:24658,36177:24908,36178:25239,36179:25304,36180:25511,36181:25915,36182:26114,36183:26179,36184:26356,36185:26477,36186:26657,36187:26775,36188:27083,36189:27743,36190:27946,36191:28009,36192:28207,36193:28317,36194:30002,36195:30343,36196:30828,36197:31295,36198:31968,36199:32005,36200:32024,36201:32094,36202:32177,36203:32789,36204:32771,36205:32943,36206:32945,36207:33108,36208:33167,36209:33322,36210:33618,36211:34892,36212:34913,36213:35611,36214:36002,36215:36092,36216:37066,36217:37237,36218:37489,36219:30783,36220:37628,36221:38308,36222:38477,36224:38917,36225:39321,36226:39640,36227:40251,36228:21083,36229:21163,36230:21495,36231:21512,36232:22741,36233:25335,36234:28640,36235:35946,36236:36703,36237:40633,36238:20811,36239:21051,36240:21578,36241:22269,36242:31296,36243:37239,36244:40288,36245:40658,36246:29508,36247:28425,36248:33136,36249:29969,36250:24573,36251:24794,36252:39592,36253:29403,36254:36796,36255:27492,36256:38915,36257:20170,36258:22256,36259:22372,36260:22718,36261:23130,36262:24680,36263:25031,36264:26127,36265:26118,36266:26681,36267:26801,36268:28151,36269:30165,36270:32058,36271:33390,36272:39746,36273:20123,36274:20304,36275:21449,36276:21766,36277:23919,36278:24038,36279:24046,36280:26619,36281:27801,36282:29811,36283:30722,36284:35408,36285:37782,36286:35039,36287:22352,36288:24231,36289:25387,36290:20661,36291:20652,36292:20877,36293:26368,36294:21705,36295:22622,36296:22971,36297:23472,36298:24425,36299:25165,36300:25505,36301:26685,36302:27507,36303:28168,36304:28797,36305:37319,36306:29312,36307:30741,36308:30758,36309:31085,36310:25998,36311:32048,36312:33756,36313:35009,36314:36617,36315:38555,36316:21092,36317:22312,36318:26448,36319:32618,36320:36001,36321:20916,36322:22338,36323:38442,36324:22586,36325:27018,36326:32948,36327:21682,36328:23822,36329:22524,36330:30869,36331:40442,36332:20316,36333:21066,36334:21643,36335:25662,36336:26152,36337:26388,36338:26613,36339:31364,36340:31574,36341:32034,36342:37679,36343:26716,36344:39853,36345:31545,36346:21273,36347:20874,36348:21047,36416:23519,36417:25334,36418:25774,36419:25830,36420:26413,36421:27578,36422:34217,36423:38609,36424:30352,36425:39894,36426:25420,36427:37638,36428:39851,36429:30399,36430:26194,36431:19977,36432:20632,36433:21442,36434:23665,36435:24808,36436:25746,36437:25955,36438:26719,36439:29158,36440:29642,36441:29987,36442:31639,36443:32386,36444:34453,36445:35715,36446:36059,36447:37240,36448:39184,36449:26028,36450:26283,36451:27531,36452:20181,36453:20180,36454:20282,36455:20351,36456:21050,36457:21496,36458:21490,36459:21987,36460:22235,36461:22763,36462:22987,36463:22985,36464:23039,36465:23376,36466:23629,36467:24066,36468:24107,36469:24535,36470:24605,36471:25351,36472:25903,36473:23388,36474:26031,36475:26045,36476:26088,36477:26525,36478:27490,36480:27515,36481:27663,36482:29509,36483:31049,36484:31169,36485:31992,36486:32025,36487:32043,36488:32930,36489:33026,36490:33267,36491:35222,36492:35422,36493:35433,36494:35430,36495:35468,36496:35566,36497:36039,36498:36060,36499:38604,36500:39164,36501:27503,36502:20107,36503:20284,36504:20365,36505:20816,36506:23383,36507:23546,36508:24904,36509:25345,36510:26178,36511:27425,36512:28363,36513:27835,36514:29246,36515:29885,36516:30164,36517:30913,36518:31034,36519:32780,36520:32819,36521:33258,36522:33940,36523:36766,36524:27728,36525:40575,36526:24335,36527:35672,36528:40235,36529:31482,36530:36600,36531:23437,36532:38635,36533:19971,36534:21489,36535:22519,36536:22833,36537:23241,36538:23460,36539:24713,36540:28287,36541:28422,36542:30142,36543:36074,36544:23455,36545:34048,36546:31712,36547:20594,36548:26612,36549:33437,36550:23649,36551:34122,36552:32286,36553:33294,36554:20889,36555:23556,36556:25448,36557:36198,36558:26012,36559:29038,36560:31038,36561:32023,36562:32773,36563:35613,36564:36554,36565:36974,36566:34503,36567:37034,36568:20511,36569:21242,36570:23610,36571:26451,36572:28796,36573:29237,36574:37196,36575:37320,36576:37675,36577:33509,36578:23490,36579:24369,36580:24825,36581:20027,36582:21462,36583:23432,36584:25163,36585:26417,36586:27530,36587:29417,36588:29664,36589:31278,36590:33131,36591:36259,36592:37202,36593:39318,36594:20754,36595:21463,36596:21610,36597:23551,36598:25480,36599:27193,36600:32172,36601:38656,36602:22234,36603:21454,36604:21608,36672:23447,36673:23601,36674:24030,36675:20462,36676:24833,36677:25342,36678:27954,36679:31168,36680:31179,36681:32066,36682:32333,36683:32722,36684:33261,36685:33311,36686:33936,36687:34886,36688:35186,36689:35728,36690:36468,36691:36655,36692:36913,36693:37195,36694:37228,36695:38598,36696:37276,36697:20160,36698:20303,36699:20805,36700:21313,36701:24467,36702:25102,36703:26580,36704:27713,36705:28171,36706:29539,36707:32294,36708:37325,36709:37507,36710:21460,36711:22809,36712:23487,36713:28113,36714:31069,36715:32302,36716:31899,36717:22654,36718:29087,36719:20986,36720:34899,36721:36848,36722:20426,36723:23803,36724:26149,36725:30636,36726:31459,36727:33308,36728:39423,36729:20934,36730:24490,36731:26092,36732:26991,36733:27529,36734:28147,36736:28310,36737:28516,36738:30462,36739:32020,36740:24033,36741:36981,36742:37255,36743:38918,36744:20966,36745:21021,36746:25152,36747:26257,36748:26329,36749:28186,36750:24246,36751:32210,36752:32626,36753:26360,36754:34223,36755:34295,36756:35576,36757:21161,36758:21465,36759:22899,36760:24207,36761:24464,36762:24661,36763:37604,36764:38500,36765:20663,36766:20767,36767:21213,36768:21280,36769:21319,36770:21484,36771:21736,36772:21830,36773:21809,36774:22039,36775:22888,36776:22974,36777:23100,36778:23477,36779:23558,36780:23567,36781:23569,36782:23578,36783:24196,36784:24202,36785:24288,36786:24432,36787:25215,36788:25220,36789:25307,36790:25484,36791:25463,36792:26119,36793:26124,36794:26157,36795:26230,36796:26494,36797:26786,36798:27167,36799:27189,36800:27836,36801:28040,36802:28169,36803:28248,36804:28988,36805:28966,36806:29031,36807:30151,36808:30465,36809:30813,36810:30977,36811:31077,36812:31216,36813:31456,36814:31505,36815:31911,36816:32057,36817:32918,36818:33750,36819:33931,36820:34121,36821:34909,36822:35059,36823:35359,36824:35388,36825:35412,36826:35443,36827:35937,36828:36062,36829:37284,36830:37478,36831:37758,36832:37912,36833:38556,36834:38808,36835:19978,36836:19976,36837:19998,36838:20055,36839:20887,36840:21104,36841:22478,36842:22580,36843:22732,36844:23330,36845:24120,36846:24773,36847:25854,36848:26465,36849:26454,36850:27972,36851:29366,36852:30067,36853:31331,36854:33976,36855:35698,36856:37304,36857:37664,36858:22065,36859:22516,36860:39166,36928:25325,36929:26893,36930:27542,36931:29165,36932:32340,36933:32887,36934:33394,36935:35302,36936:39135,36937:34645,36938:36785,36939:23611,36940:20280,36941:20449,36942:20405,36943:21767,36944:23072,36945:23517,36946:23529,36947:24515,36948:24910,36949:25391,36950:26032,36951:26187,36952:26862,36953:27035,36954:28024,36955:28145,36956:30003,36957:30137,36958:30495,36959:31070,36960:31206,36961:32051,36962:33251,36963:33455,36964:34218,36965:35242,36966:35386,36967:36523,36968:36763,36969:36914,36970:37341,36971:38663,36972:20154,36973:20161,36974:20995,36975:22645,36976:22764,36977:23563,36978:29978,36979:23613,36980:33102,36981:35338,36982:36805,36983:38499,36984:38765,36985:31525,36986:35535,36987:38920,36988:37218,36989:22259,36990:21416,36992:36887,36993:21561,36994:22402,36995:24101,36996:25512,36997:27700,36998:28810,36999:30561,37e3:31883,37001:32736,37002:34928,37003:36930,37004:37204,37005:37648,37006:37656,37007:38543,37008:29790,37009:39620,37010:23815,37011:23913,37012:25968,37013:26530,37014:36264,37015:38619,37016:25454,37017:26441,37018:26905,37019:33733,37020:38935,37021:38592,37022:35070,37023:28548,37024:25722,37025:23544,37026:19990,37027:28716,37028:30045,37029:26159,37030:20932,37031:21046,37032:21218,37033:22995,37034:24449,37035:24615,37036:25104,37037:25919,37038:25972,37039:26143,37040:26228,37041:26866,37042:26646,37043:27491,37044:28165,37045:29298,37046:29983,37047:30427,37048:31934,37049:32854,37050:22768,37051:35069,37052:35199,37053:35488,37054:35475,37055:35531,37056:36893,37057:37266,37058:38738,37059:38745,37060:25993,37061:31246,37062:33030,37063:38587,37064:24109,37065:24796,37066:25114,37067:26021,37068:26132,37069:26512,37070:30707,37071:31309,37072:31821,37073:32318,37074:33034,37075:36012,37076:36196,37077:36321,37078:36447,37079:30889,37080:20999,37081:25305,37082:25509,37083:25666,37084:25240,37085:35373,37086:31363,37087:31680,37088:35500,37089:38634,37090:32118,37091:33292,37092:34633,37093:20185,37094:20808,37095:21315,37096:21344,37097:23459,37098:23554,37099:23574,37100:24029,37101:25126,37102:25159,37103:25776,37104:26643,37105:26676,37106:27849,37107:27973,37108:27927,37109:26579,37110:28508,37111:29006,37112:29053,37113:26059,37114:31359,37115:31661,37116:32218,37184:32330,37185:32680,37186:33146,37187:33307,37188:33337,37189:34214,37190:35438,37191:36046,37192:36341,37193:36984,37194:36983,37195:37549,37196:37521,37197:38275,37198:39854,37199:21069,37200:21892,37201:28472,37202:28982,37203:20840,37204:31109,37205:32341,37206:33203,37207:31950,37208:22092,37209:22609,37210:23720,37211:25514,37212:26366,37213:26365,37214:26970,37215:29401,37216:30095,37217:30094,37218:30990,37219:31062,37220:31199,37221:31895,37222:32032,37223:32068,37224:34311,37225:35380,37226:38459,37227:36961,37228:40736,37229:20711,37230:21109,37231:21452,37232:21474,37233:20489,37234:21930,37235:22766,37236:22863,37237:29245,37238:23435,37239:23652,37240:21277,37241:24803,37242:24819,37243:25436,37244:25475,37245:25407,37246:25531,37248:25805,37249:26089,37250:26361,37251:24035,37252:27085,37253:27133,37254:28437,37255:29157,37256:20105,37257:30185,37258:30456,37259:31379,37260:31967,37261:32207,37262:32156,37263:32865,37264:33609,37265:33624,37266:33900,37267:33980,37268:34299,37269:35013,37270:36208,37271:36865,37272:36973,37273:37783,37274:38684,37275:39442,37276:20687,37277:22679,37278:24974,37279:33235,37280:34101,37281:36104,37282:36896,37283:20419,37284:20596,37285:21063,37286:21363,37287:24687,37288:25417,37289:26463,37290:28204,37291:36275,37292:36895,37293:20439,37294:23646,37295:36042,37296:26063,37297:32154,37298:21330,37299:34966,37300:20854,37301:25539,37302:23384,37303:23403,37304:23562,37305:25613,37306:26449,37307:36956,37308:20182,37309:22810,37310:22826,37311:27760,37312:35409,37313:21822,37314:22549,37315:22949,37316:24816,37317:25171,37318:26561,37319:33333,37320:26965,37321:38464,37322:39364,37323:39464,37324:20307,37325:22534,37326:23550,37327:32784,37328:23729,37329:24111,37330:24453,37331:24608,37332:24907,37333:25140,37334:26367,37335:27888,37336:28382,37337:32974,37338:33151,37339:33492,37340:34955,37341:36024,37342:36864,37343:36910,37344:38538,37345:40667,37346:39899,37347:20195,37348:21488,37349:22823,37350:31532,37351:37261,37352:38988,37353:40441,37354:28381,37355:28711,37356:21331,37357:21828,37358:23429,37359:25176,37360:25246,37361:25299,37362:27810,37363:28655,37364:29730,37365:35351,37366:37944,37367:28609,37368:35582,37369:33592,37370:20967,37371:34552,37372:21482,37440:21481,37441:20294,37442:36948,37443:36784,37444:22890,37445:33073,37446:24061,37447:31466,37448:36799,37449:26842,37450:35895,37451:29432,37452:40008,37453:27197,37454:35504,37455:20025,37456:21336,37457:22022,37458:22374,37459:25285,37460:25506,37461:26086,37462:27470,37463:28129,37464:28251,37465:28845,37466:30701,37467:31471,37468:31658,37469:32187,37470:32829,37471:32966,37472:34507,37473:35477,37474:37723,37475:22243,37476:22727,37477:24382,37478:26029,37479:26262,37480:27264,37481:27573,37482:30007,37483:35527,37484:20516,37485:30693,37486:22320,37487:24347,37488:24677,37489:26234,37490:27744,37491:30196,37492:31258,37493:32622,37494:33268,37495:34584,37496:36933,37497:39347,37498:31689,37499:30044,37500:31481,37501:31569,37502:33988,37504:36880,37505:31209,37506:31378,37507:33590,37508:23265,37509:30528,37510:20013,37511:20210,37512:23449,37513:24544,37514:25277,37515:26172,37516:26609,37517:27880,37518:34411,37519:34935,37520:35387,37521:37198,37522:37619,37523:39376,37524:27159,37525:28710,37526:29482,37527:33511,37528:33879,37529:36015,37530:19969,37531:20806,37532:20939,37533:21899,37534:23541,37535:24086,37536:24115,37537:24193,37538:24340,37539:24373,37540:24427,37541:24500,37542:25074,37543:25361,37544:26274,37545:26397,37546:28526,37547:29266,37548:30010,37549:30522,37550:32884,37551:33081,37552:33144,37553:34678,37554:35519,37555:35548,37556:36229,37557:36339,37558:37530,37559:38263,37560:38914,37561:40165,37562:21189,37563:25431,37564:30452,37565:26389,37566:27784,37567:29645,37568:36035,37569:37806,37570:38515,37571:27941,37572:22684,37573:26894,37574:27084,37575:36861,37576:37786,37577:30171,37578:36890,37579:22618,37580:26626,37581:25524,37582:27131,37583:20291,37584:28460,37585:26584,37586:36795,37587:34086,37588:32180,37589:37716,37590:26943,37591:28528,37592:22378,37593:22775,37594:23340,37595:32044,37596:29226,37597:21514,37598:37347,37599:40372,37600:20141,37601:20302,37602:20572,37603:20597,37604:21059,37605:35998,37606:21576,37607:22564,37608:23450,37609:24093,37610:24213,37611:24237,37612:24311,37613:24351,37614:24716,37615:25269,37616:25402,37617:25552,37618:26799,37619:27712,37620:30855,37621:31118,37622:31243,37623:32224,37624:33351,37625:35330,37626:35558,37627:36420,37628:36883,37696:37048,37697:37165,37698:37336,37699:40718,37700:27877,37701:25688,37702:25826,37703:25973,37704:28404,37705:30340,37706:31515,37707:36969,37708:37841,37709:28346,37710:21746,37711:24505,37712:25764,37713:36685,37714:36845,37715:37444,37716:20856,37717:22635,37718:22825,37719:23637,37720:24215,37721:28155,37722:32399,37723:29980,37724:36028,37725:36578,37726:39003,37727:28857,37728:20253,37729:27583,37730:28593,37731:3e4,37732:38651,37733:20814,37734:21520,37735:22581,37736:22615,37737:22956,37738:23648,37739:24466,37740:26007,37741:26460,37742:28193,37743:30331,37744:33759,37745:36077,37746:36884,37747:37117,37748:37709,37749:30757,37750:30778,37751:21162,37752:24230,37753:22303,37754:22900,37755:24594,37756:20498,37757:20826,37758:20908,37760:20941,37761:20992,37762:21776,37763:22612,37764:22616,37765:22871,37766:23445,37767:23798,37768:23947,37769:24764,37770:25237,37771:25645,37772:26481,37773:26691,37774:26812,37775:26847,37776:30423,37777:28120,37778:28271,37779:28059,37780:28783,37781:29128,37782:24403,37783:30168,37784:31095,37785:31561,37786:31572,37787:31570,37788:31958,37789:32113,37790:21040,37791:33891,37792:34153,37793:34276,37794:35342,37795:35588,37796:35910,37797:36367,37798:36867,37799:36879,37800:37913,37801:38518,37802:38957,37803:39472,37804:38360,37805:20685,37806:21205,37807:21516,37808:22530,37809:23566,37810:24999,37811:25758,37812:27934,37813:30643,37814:31461,37815:33012,37816:33796,37817:36947,37818:37509,37819:23776,37820:40199,37821:21311,37822:24471,37823:24499,37824:28060,37825:29305,37826:30563,37827:31167,37828:31716,37829:27602,37830:29420,37831:35501,37832:26627,37833:27233,37834:20984,37835:31361,37836:26932,37837:23626,37838:40182,37839:33515,37840:23493,37841:37193,37842:28702,37843:22136,37844:23663,37845:24775,37846:25958,37847:27788,37848:35930,37849:36929,37850:38931,37851:21585,37852:26311,37853:37389,37854:22856,37855:37027,37856:20869,37857:20045,37858:20970,37859:34201,37860:35598,37861:28760,37862:25466,37863:37707,37864:26978,37865:39348,37866:32260,37867:30071,37868:21335,37869:26976,37870:36575,37871:38627,37872:27741,37873:20108,37874:23612,37875:24336,37876:36841,37877:21250,37878:36049,37879:32905,37880:34425,37881:24319,37882:26085,37883:20083,37884:20837,37952:22914,37953:23615,37954:38894,37955:20219,37956:22922,37957:24525,37958:35469,37959:28641,37960:31152,37961:31074,37962:23527,37963:33905,37964:29483,37965:29105,37966:24180,37967:24565,37968:25467,37969:25754,37970:29123,37971:31896,37972:20035,37973:24316,37974:20043,37975:22492,37976:22178,37977:24745,37978:28611,37979:32013,37980:33021,37981:33075,37982:33215,37983:36786,37984:35223,37985:34468,37986:24052,37987:25226,37988:25773,37989:35207,37990:26487,37991:27874,37992:27966,37993:29750,37994:30772,37995:23110,37996:32629,37997:33453,37998:39340,37999:20467,38e3:24259,38001:25309,38002:25490,38003:25943,38004:26479,38005:30403,38006:29260,38007:32972,38008:32954,38009:36649,38010:37197,38011:20493,38012:22521,38013:23186,38014:26757,38016:26995,38017:29028,38018:29437,38019:36023,38020:22770,38021:36064,38022:38506,38023:36889,38024:34687,38025:31204,38026:30695,38027:33833,38028:20271,38029:21093,38030:21338,38031:25293,38032:26575,38033:27850,38034:30333,38035:31636,38036:31893,38037:33334,38038:34180,38039:36843,38040:26333,38041:28448,38042:29190,38043:32283,38044:33707,38045:39361,38046:40614,38047:20989,38048:31665,38049:30834,38050:31672,38051:32903,38052:31560,38053:27368,38054:24161,38055:32908,38056:30033,38057:30048,38058:20843,38059:37474,38060:28300,38061:30330,38062:37271,38063:39658,38064:20240,38065:32624,38066:25244,38067:31567,38068:38309,38069:40169,38070:22138,38071:22617,38072:34532,38073:38588,38074:20276,38075:21028,38076:21322,38077:21453,38078:21467,38079:24070,38080:25644,38081:26001,38082:26495,38083:27710,38084:27726,38085:29256,38086:29359,38087:29677,38088:30036,38089:32321,38090:33324,38091:34281,38092:36009,38093:31684,38094:37318,38095:29033,38096:38930,38097:39151,38098:25405,38099:26217,38100:30058,38101:30436,38102:30928,38103:34115,38104:34542,38105:21290,38106:21329,38107:21542,38108:22915,38109:24199,38110:24444,38111:24754,38112:25161,38113:25209,38114:25259,38115:26e3,38116:27604,38117:27852,38118:30130,38119:30382,38120:30865,38121:31192,38122:32203,38123:32631,38124:32933,38125:34987,38126:35513,38127:36027,38128:36991,38129:38750,38130:39131,38131:27147,38132:31800,38133:20633,38134:23614,38135:24494,38136:26503,38137:27608,38138:29749,38139:30473,38140:32654,38208:40763,38209:26570,38210:31255,38211:21305,38212:30091,38213:39661,38214:24422,38215:33181,38216:33777,38217:32920,38218:24380,38219:24517,38220:30050,38221:31558,38222:36924,38223:26727,38224:23019,38225:23195,38226:32016,38227:30334,38228:35628,38229:20469,38230:24426,38231:27161,38232:27703,38233:28418,38234:29922,38235:31080,38236:34920,38237:35413,38238:35961,38239:24287,38240:25551,38241:30149,38242:31186,38243:33495,38244:37672,38245:37618,38246:33948,38247:34541,38248:39981,38249:21697,38250:24428,38251:25996,38252:27996,38253:28693,38254:36007,38255:36051,38256:38971,38257:25935,38258:29942,38259:19981,38260:20184,38261:22496,38262:22827,38263:23142,38264:23500,38265:20904,38266:24067,38267:24220,38268:24598,38269:25206,38270:25975,38272:26023,38273:26222,38274:28014,38275:29238,38276:31526,38277:33104,38278:33178,38279:33433,38280:35676,38281:36e3,38282:36070,38283:36212,38284:38428,38285:38468,38286:20398,38287:25771,38288:27494,38289:33310,38290:33889,38291:34154,38292:37096,38293:23553,38294:26963,38295:39080,38296:33914,38297:34135,38298:20239,38299:21103,38300:24489,38301:24133,38302:26381,38303:31119,38304:33145,38305:35079,38306:35206,38307:28149,38308:24343,38309:25173,38310:27832,38311:20175,38312:29289,38313:39826,38314:20998,38315:21563,38316:22132,38317:22707,38318:24996,38319:25198,38320:28954,38321:22894,38322:31881,38323:31966,38324:32027,38325:38640,38326:25991,38327:32862,38328:19993,38329:20341,38330:20853,38331:22592,38332:24163,38333:24179,38334:24330,38335:26564,38336:20006,38337:34109,38338:38281,38339:38491,38340:31859,38341:38913,38342:20731,38343:22721,38344:30294,38345:30887,38346:21029,38347:30629,38348:34065,38349:31622,38350:20559,38351:22793,38352:29255,38353:31687,38354:32232,38355:36794,38356:36820,38357:36941,38358:20415,38359:21193,38360:23081,38361:24321,38362:38829,38363:20445,38364:33303,38365:37610,38366:22275,38367:25429,38368:27497,38369:29995,38370:35036,38371:36628,38372:31298,38373:21215,38374:22675,38375:24917,38376:25098,38377:26286,38378:27597,38379:31807,38380:33769,38381:20515,38382:20472,38383:21253,38384:21574,38385:22577,38386:22857,38387:23453,38388:23792,38389:23791,38390:23849,38391:24214,38392:25265,38393:25447,38394:25918,38395:26041,38396:26379,38464:27861,38465:27873,38466:28921,38467:30770,38468:32299,38469:32990,38470:33459,38471:33804,38472:34028,38473:34562,38474:35090,38475:35370,38476:35914,38477:37030,38478:37586,38479:39165,38480:40179,38481:40300,38482:20047,38483:20129,38484:20621,38485:21078,38486:22346,38487:22952,38488:24125,38489:24536,38490:24537,38491:25151,38492:26292,38493:26395,38494:26576,38495:26834,38496:20882,38497:32033,38498:32938,38499:33192,38500:35584,38501:35980,38502:36031,38503:37502,38504:38450,38505:21536,38506:38956,38507:21271,38508:20693,38509:21340,38510:22696,38511:25778,38512:26420,38513:29287,38514:30566,38515:31302,38516:37350,38517:21187,38518:27809,38519:27526,38520:22528,38521:24140,38522:22868,38523:26412,38524:32763,38525:20961,38526:30406,38528:25705,38529:30952,38530:39764,38531:40635,38532:22475,38533:22969,38534:26151,38535:26522,38536:27598,38537:21737,38538:27097,38539:24149,38540:33180,38541:26517,38542:39850,38543:26622,38544:40018,38545:26717,38546:20134,38547:20451,38548:21448,38549:25273,38550:26411,38551:27819,38552:36804,38553:20397,38554:32365,38555:40639,38556:19975,38557:24930,38558:28288,38559:28459,38560:34067,38561:21619,38562:26410,38563:39749,38564:24051,38565:31637,38566:23724,38567:23494,38568:34588,38569:28234,38570:34001,38571:31252,38572:33032,38573:22937,38574:31885,38575:27665,38576:30496,38577:21209,38578:22818,38579:28961,38580:29279,38581:30683,38582:38695,38583:40289,38584:26891,38585:23167,38586:23064,38587:20901,38588:21517,38589:21629,38590:26126,38591:30431,38592:36855,38593:37528,38594:40180,38595:23018,38596:29277,38597:28357,38598:20813,38599:26825,38600:32191,38601:32236,38602:38754,38603:40634,38604:25720,38605:27169,38606:33538,38607:22916,38608:23391,38609:27611,38610:29467,38611:30450,38612:32178,38613:32791,38614:33945,38615:20786,38616:26408,38617:40665,38618:30446,38619:26466,38620:21247,38621:39173,38622:23588,38623:25147,38624:31870,38625:36016,38626:21839,38627:24758,38628:32011,38629:38272,38630:21249,38631:20063,38632:20918,38633:22812,38634:29242,38635:32822,38636:37326,38637:24357,38638:30690,38639:21380,38640:24441,38641:32004,38642:34220,38643:35379,38644:36493,38645:38742,38646:26611,38647:34222,38648:37971,38649:24841,38650:24840,38651:27833,38652:30290,38720:35565,38721:36664,38722:21807,38723:20305,38724:20778,38725:21191,38726:21451,38727:23461,38728:24189,38729:24736,38730:24962,38731:25558,38732:26377,38733:26586,38734:28263,38735:28044,38736:29494,38737:29495,38738:30001,38739:31056,38740:35029,38741:35480,38742:36938,38743:37009,38744:37109,38745:38596,38746:34701,38747:22805,38748:20104,38749:20313,38750:19982,38751:35465,38752:36671,38753:38928,38754:20653,38755:24188,38756:22934,38757:23481,38758:24248,38759:25562,38760:25594,38761:25793,38762:26332,38763:26954,38764:27096,38765:27915,38766:28342,38767:29076,38768:29992,38769:31407,38770:32650,38771:32768,38772:33865,38773:33993,38774:35201,38775:35617,38776:36362,38777:36965,38778:38525,38779:39178,38780:24958,38781:25233,38782:27442,38784:27779,38785:28020,38786:32716,38787:32764,38788:28096,38789:32645,38790:34746,38791:35064,38792:26469,38793:33713,38794:38972,38795:38647,38796:27931,38797:32097,38798:33853,38799:37226,38800:20081,38801:21365,38802:23888,38803:27396,38804:28651,38805:34253,38806:34349,38807:35239,38808:21033,38809:21519,38810:23653,38811:26446,38812:26792,38813:29702,38814:29827,38815:30178,38816:35023,38817:35041,38818:37324,38819:38626,38820:38520,38821:24459,38822:29575,38823:31435,38824:33870,38825:25504,38826:30053,38827:21129,38828:27969,38829:28316,38830:29705,38831:30041,38832:30827,38833:31890,38834:38534,38835:31452,38836:40845,38837:20406,38838:24942,38839:26053,38840:34396,38841:20102,38842:20142,38843:20698,38844:20001,38845:20940,38846:23534,38847:26009,38848:26753,38849:28092,38850:29471,38851:30274,38852:30637,38853:31260,38854:31975,38855:33391,38856:35538,38857:36988,38858:37327,38859:38517,38860:38936,38861:21147,38862:32209,38863:20523,38864:21400,38865:26519,38866:28107,38867:29136,38868:29747,38869:33256,38870:36650,38871:38563,38872:40023,38873:40607,38874:29792,38875:22593,38876:28057,38877:32047,38878:39006,38879:20196,38880:20278,38881:20363,38882:20919,38883:21169,38884:23994,38885:24604,38886:29618,38887:31036,38888:33491,38889:37428,38890:38583,38891:38646,38892:38666,38893:40599,38894:40802,38895:26278,38896:27508,38897:21015,38898:21155,38899:28872,38900:35010,38901:24265,38902:24651,38903:24976,38904:28451,38905:29001,38906:31806,38907:32244,38908:32879,38976:34030,38977:36899,38978:37676,38979:21570,38980:39791,38981:27347,38982:28809,38983:36034,38984:36335,38985:38706,38986:21172,38987:23105,38988:24266,38989:24324,38990:26391,38991:27004,38992:27028,38993:28010,38994:28431,38995:29282,38996:29436,38997:31725,38998:32769,38999:32894,39e3:34635,39001:37070,39002:20845,39003:40595,39004:31108,39005:32907,39006:37682,39007:35542,39008:20525,39009:21644,39010:35441,39011:27498,39012:36036,39013:33031,39014:24785,39015:26528,39016:40434,39017:20121,39018:20120,39019:39952,39020:35435,39021:34241,39022:34152,39023:26880,39024:28286,39025:30871,39026:33109,39071:24332,39072:19984,39073:19989,39074:20010,39075:20017,39076:20022,39077:20028,39078:20031,39079:20034,39080:20054,39081:20056,39082:20098,39083:20101,39084:35947,39085:20106,39086:33298,39087:24333,39088:20110,39089:20126,39090:20127,39091:20128,39092:20130,39093:20144,39094:20147,39095:20150,39096:20174,39097:20173,39098:20164,39099:20166,39100:20162,39101:20183,39102:20190,39103:20205,39104:20191,39105:20215,39106:20233,39107:20314,39108:20272,39109:20315,39110:20317,39111:20311,39112:20295,39113:20342,39114:20360,39115:20367,39116:20376,39117:20347,39118:20329,39119:20336,39120:20369,39121:20335,39122:20358,39123:20374,39124:20760,39125:20436,39126:20447,39127:20430,39128:20440,39129:20443,39130:20433,39131:20442,39132:20432,39133:20452,39134:20453,39135:20506,39136:20520,39137:20500,39138:20522,39139:20517,39140:20485,39141:20252,39142:20470,39143:20513,39144:20521,39145:20524,39146:20478,39147:20463,39148:20497,39149:20486,39150:20547,39151:20551,39152:26371,39153:20565,39154:20560,39155:20552,39156:20570,39157:20566,39158:20588,39159:20600,39160:20608,39161:20634,39162:20613,39163:20660,39164:20658,39232:20681,39233:20682,39234:20659,39235:20674,39236:20694,39237:20702,39238:20709,39239:20717,39240:20707,39241:20718,39242:20729,39243:20725,39244:20745,39245:20737,39246:20738,39247:20758,39248:20757,39249:20756,39250:20762,39251:20769,39252:20794,39253:20791,39254:20796,39255:20795,39256:20799,39257:20800,39258:20818,39259:20812,39260:20820,39261:20834,39262:31480,39263:20841,39264:20842,39265:20846,39266:20864,39267:20866,39268:22232,39269:20876,39270:20873,39271:20879,39272:20881,39273:20883,39274:20885,39275:20886,39276:20900,39277:20902,39278:20898,39279:20905,39280:20906,39281:20907,39282:20915,39283:20913,39284:20914,39285:20912,39286:20917,39287:20925,39288:20933,39289:20937,39290:20955,39291:20960,39292:34389,39293:20969,39294:20973,39296:20976,39297:20981,39298:20990,39299:20996,39300:21003,39301:21012,39302:21006,39303:21031,39304:21034,39305:21038,39306:21043,39307:21049,39308:21071,39309:21060,39310:21067,39311:21068,39312:21086,39313:21076,39314:21098,39315:21108,39316:21097,39317:21107,39318:21119,39319:21117,39320:21133,39321:21140,39322:21138,39323:21105,39324:21128,39325:21137,39326:36776,39327:36775,39328:21164,39329:21165,39330:21180,39331:21173,39332:21185,39333:21197,39334:21207,39335:21214,39336:21219,39337:21222,39338:39149,39339:21216,39340:21235,39341:21237,39342:21240,39343:21241,39344:21254,39345:21256,39346:30008,39347:21261,39348:21264,39349:21263,39350:21269,39351:21274,39352:21283,39353:21295,39354:21297,39355:21299,39356:21304,39357:21312,39358:21318,39359:21317,39360:19991,39361:21321,39362:21325,39363:20950,39364:21342,39365:21353,39366:21358,39367:22808,39368:21371,39369:21367,39370:21378,39371:21398,39372:21408,39373:21414,39374:21413,39375:21422,39376:21424,39377:21430,39378:21443,39379:31762,39380:38617,39381:21471,39382:26364,39383:29166,39384:21486,39385:21480,39386:21485,39387:21498,39388:21505,39389:21565,39390:21568,39391:21548,39392:21549,39393:21564,39394:21550,39395:21558,39396:21545,39397:21533,39398:21582,39399:21647,39400:21621,39401:21646,39402:21599,39403:21617,39404:21623,39405:21616,39406:21650,39407:21627,39408:21632,39409:21622,39410:21636,39411:21648,39412:21638,39413:21703,39414:21666,39415:21688,39416:21669,39417:21676,39418:21700,39419:21704,39420:21672,39488:21675,39489:21698,39490:21668,39491:21694,39492:21692,39493:21720,39494:21733,39495:21734,39496:21775,39497:21780,39498:21757,39499:21742,39500:21741,39501:21754,39502:21730,39503:21817,39504:21824,39505:21859,39506:21836,39507:21806,39508:21852,39509:21829,39510:21846,39511:21847,39512:21816,39513:21811,39514:21853,39515:21913,39516:21888,39517:21679,39518:21898,39519:21919,39520:21883,39521:21886,39522:21912,39523:21918,39524:21934,39525:21884,39526:21891,39527:21929,39528:21895,39529:21928,39530:21978,39531:21957,39532:21983,39533:21956,39534:21980,39535:21988,39536:21972,39537:22036,39538:22007,39539:22038,39540:22014,39541:22013,39542:22043,39543:22009,39544:22094,39545:22096,39546:29151,39547:22068,39548:22070,39549:22066,39550:22072,39552:22123,39553:22116,39554:22063,39555:22124,39556:22122,39557:22150,39558:22144,39559:22154,39560:22176,39561:22164,39562:22159,39563:22181,39564:22190,39565:22198,39566:22196,39567:22210,39568:22204,39569:22209,39570:22211,39571:22208,39572:22216,39573:22222,39574:22225,39575:22227,39576:22231,39577:22254,39578:22265,39579:22272,39580:22271,39581:22276,39582:22281,39583:22280,39584:22283,39585:22285,39586:22291,39587:22296,39588:22294,39589:21959,39590:22300,39591:22310,39592:22327,39593:22328,39594:22350,39595:22331,39596:22336,39597:22351,39598:22377,39599:22464,39600:22408,39601:22369,39602:22399,39603:22409,39604:22419,39605:22432,39606:22451,39607:22436,39608:22442,39609:22448,39610:22467,39611:22470,39612:22484,39613:22482,39614:22483,39615:22538,39616:22486,39617:22499,39618:22539,39619:22553,39620:22557,39621:22642,39622:22561,39623:22626,39624:22603,39625:22640,39626:27584,39627:22610,39628:22589,39629:22649,39630:22661,39631:22713,39632:22687,39633:22699,39634:22714,39635:22750,39636:22715,39637:22712,39638:22702,39639:22725,39640:22739,39641:22737,39642:22743,39643:22745,39644:22744,39645:22757,39646:22748,39647:22756,39648:22751,39649:22767,39650:22778,39651:22777,39652:22779,39653:22780,39654:22781,39655:22786,39656:22794,39657:22800,39658:22811,39659:26790,39660:22821,39661:22828,39662:22829,39663:22834,39664:22840,39665:22846,39666:31442,39667:22869,39668:22864,39669:22862,39670:22874,39671:22872,39672:22882,39673:22880,39674:22887,39675:22892,39676:22889,39744:22904,39745:22913,39746:22941,39747:20318,39748:20395,39749:22947,39750:22962,39751:22982,39752:23016,39753:23004,39754:22925,39755:23001,39756:23002,39757:23077,39758:23071,39759:23057,39760:23068,39761:23049,39762:23066,39763:23104,39764:23148,39765:23113,39766:23093,39767:23094,39768:23138,39769:23146,39770:23194,39771:23228,39772:23230,39773:23243,39774:23234,39775:23229,39776:23267,39777:23255,39778:23270,39779:23273,39780:23254,39781:23290,39782:23291,39783:23308,39784:23307,39785:23318,39786:23346,39787:23248,39788:23338,39789:23350,39790:23358,39791:23363,39792:23365,39793:23360,39794:23377,39795:23381,39796:23386,39797:23387,39798:23397,39799:23401,39800:23408,39801:23411,39802:23413,39803:23416,39804:25992,39805:23418,39806:23424,39808:23427,39809:23462,39810:23480,39811:23491,39812:23495,39813:23497,39814:23508,39815:23504,39816:23524,39817:23526,39818:23522,39819:23518,39820:23525,39821:23531,39822:23536,39823:23542,39824:23539,39825:23557,39826:23559,39827:23560,39828:23565,39829:23571,39830:23584,39831:23586,39832:23592,39833:23608,39834:23609,39835:23617,39836:23622,39837:23630,39838:23635,39839:23632,39840:23631,39841:23409,39842:23660,39843:23662,39844:20066,39845:23670,39846:23673,39847:23692,39848:23697,39849:23700,39850:22939,39851:23723,39852:23739,39853:23734,39854:23740,39855:23735,39856:23749,39857:23742,39858:23751,39859:23769,39860:23785,39861:23805,39862:23802,39863:23789,39864:23948,39865:23786,39866:23819,39867:23829,39868:23831,39869:23900,39870:23839,39871:23835,39872:23825,39873:23828,39874:23842,39875:23834,39876:23833,39877:23832,39878:23884,39879:23890,39880:23886,39881:23883,39882:23916,39883:23923,39884:23926,39885:23943,39886:23940,39887:23938,39888:23970,39889:23965,39890:23980,39891:23982,39892:23997,39893:23952,39894:23991,39895:23996,39896:24009,39897:24013,39898:24019,39899:24018,39900:24022,39901:24027,39902:24043,39903:24050,39904:24053,39905:24075,39906:24090,39907:24089,39908:24081,39909:24091,39910:24118,39911:24119,39912:24132,39913:24131,39914:24128,39915:24142,39916:24151,39917:24148,39918:24159,39919:24162,39920:24164,39921:24135,39922:24181,39923:24182,39924:24186,39925:40636,39926:24191,39927:24224,39928:24257,39929:24258,39930:24264,39931:24272,39932:24271,4e4:24278,40001:24291,40002:24285,40003:24282,40004:24283,40005:24290,40006:24289,40007:24296,40008:24297,40009:24300,40010:24305,40011:24307,40012:24304,40013:24308,40014:24312,40015:24318,40016:24323,40017:24329,40018:24413,40019:24412,40020:24331,40021:24337,40022:24342,40023:24361,40024:24365,40025:24376,40026:24385,40027:24392,40028:24396,40029:24398,40030:24367,40031:24401,40032:24406,40033:24407,40034:24409,40035:24417,40036:24429,40037:24435,40038:24439,40039:24451,40040:24450,40041:24447,40042:24458,40043:24456,40044:24465,40045:24455,40046:24478,40047:24473,40048:24472,40049:24480,40050:24488,40051:24493,40052:24508,40053:24534,40054:24571,40055:24548,40056:24568,40057:24561,40058:24541,40059:24755,40060:24575,40061:24609,40062:24672,40064:24601,40065:24592,40066:24617,40067:24590,40068:24625,40069:24603,40070:24597,40071:24619,40072:24614,40073:24591,40074:24634,40075:24666,40076:24641,40077:24682,40078:24695,40079:24671,40080:24650,40081:24646,40082:24653,40083:24675,40084:24643,40085:24676,40086:24642,40087:24684,40088:24683,40089:24665,40090:24705,40091:24717,40092:24807,40093:24707,40094:24730,40095:24708,40096:24731,40097:24726,40098:24727,40099:24722,40100:24743,40101:24715,40102:24801,40103:24760,40104:24800,40105:24787,40106:24756,40107:24560,40108:24765,40109:24774,40110:24757,40111:24792,40112:24909,40113:24853,40114:24838,40115:24822,40116:24823,40117:24832,40118:24820,40119:24826,40120:24835,40121:24865,40122:24827,40123:24817,40124:24845,40125:24846,40126:24903,40127:24894,40128:24872,40129:24871,40130:24906,40131:24895,40132:24892,40133:24876,40134:24884,40135:24893,40136:24898,40137:24900,40138:24947,40139:24951,40140:24920,40141:24921,40142:24922,40143:24939,40144:24948,40145:24943,40146:24933,40147:24945,40148:24927,40149:24925,40150:24915,40151:24949,40152:24985,40153:24982,40154:24967,40155:25004,40156:24980,40157:24986,40158:24970,40159:24977,40160:25003,40161:25006,40162:25036,40163:25034,40164:25033,40165:25079,40166:25032,40167:25027,40168:25030,40169:25018,40170:25035,40171:32633,40172:25037,40173:25062,40174:25059,40175:25078,40176:25082,40177:25076,40178:25087,40179:25085,40180:25084,40181:25086,40182:25088,40183:25096,40184:25097,40185:25101,40186:25100,40187:25108,40188:25115,40256:25118,40257:25121,40258:25130,40259:25134,40260:25136,40261:25138,40262:25139,40263:25153,40264:25166,40265:25182,40266:25187,40267:25179,40268:25184,40269:25192,40270:25212,40271:25218,40272:25225,40273:25214,40274:25234,40275:25235,40276:25238,40277:25300,40278:25219,40279:25236,40280:25303,40281:25297,40282:25275,40283:25295,40284:25343,40285:25286,40286:25812,40287:25288,40288:25308,40289:25292,40290:25290,40291:25282,40292:25287,40293:25243,40294:25289,40295:25356,40296:25326,40297:25329,40298:25383,40299:25346,40300:25352,40301:25327,40302:25333,40303:25424,40304:25406,40305:25421,40306:25628,40307:25423,40308:25494,40309:25486,40310:25472,40311:25515,40312:25462,40313:25507,40314:25487,40315:25481,40316:25503,40317:25525,40318:25451,40320:25449,40321:25534,40322:25577,40323:25536,40324:25542,40325:25571,40326:25545,40327:25554,40328:25590,40329:25540,40330:25622,40331:25652,40332:25606,40333:25619,40334:25638,40335:25654,40336:25885,40337:25623,40338:25640,40339:25615,40340:25703,40341:25711,40342:25718,40343:25678,40344:25898,40345:25749,40346:25747,40347:25765,40348:25769,40349:25736,40350:25788,40351:25818,40352:25810,40353:25797,40354:25799,40355:25787,40356:25816,40357:25794,40358:25841,40359:25831,40360:33289,40361:25824,40362:25825,40363:25260,40364:25827,40365:25839,40366:25900,40367:25846,40368:25844,40369:25842,40370:25850,40371:25856,40372:25853,40373:25880,40374:25884,40375:25861,40376:25892,40377:25891,40378:25899,40379:25908,40380:25909,40381:25911,40382:25910,40383:25912,40384:30027,40385:25928,40386:25942,40387:25941,40388:25933,40389:25944,40390:25950,40391:25949,40392:25970,40393:25976,40394:25986,40395:25987,40396:35722,40397:26011,40398:26015,40399:26027,40400:26039,40401:26051,40402:26054,40403:26049,40404:26052,40405:26060,40406:26066,40407:26075,40408:26073,40409:26080,40410:26081,40411:26097,40412:26482,40413:26122,40414:26115,40415:26107,40416:26483,40417:26165,40418:26166,40419:26164,40420:26140,40421:26191,40422:26180,40423:26185,40424:26177,40425:26206,40426:26205,40427:26212,40428:26215,40429:26216,40430:26207,40431:26210,40432:26224,40433:26243,40434:26248,40435:26254,40436:26249,40437:26244,40438:26264,40439:26269,40440:26305,40441:26297,40442:26313,40443:26302,40444:26300,40512:26308,40513:26296,40514:26326,40515:26330,40516:26336,40517:26175,40518:26342,40519:26345,40520:26352,40521:26357,40522:26359,40523:26383,40524:26390,40525:26398,40526:26406,40527:26407,40528:38712,40529:26414,40530:26431,40531:26422,40532:26433,40533:26424,40534:26423,40535:26438,40536:26462,40537:26464,40538:26457,40539:26467,40540:26468,40541:26505,40542:26480,40543:26537,40544:26492,40545:26474,40546:26508,40547:26507,40548:26534,40549:26529,40550:26501,40551:26551,40552:26607,40553:26548,40554:26604,40555:26547,40556:26601,40557:26552,40558:26596,40559:26590,40560:26589,40561:26594,40562:26606,40563:26553,40564:26574,40565:26566,40566:26599,40567:27292,40568:26654,40569:26694,40570:26665,40571:26688,40572:26701,40573:26674,40574:26702,40576:26803,40577:26667,40578:26713,40579:26723,40580:26743,40581:26751,40582:26783,40583:26767,40584:26797,40585:26772,40586:26781,40587:26779,40588:26755,40589:27310,40590:26809,40591:26740,40592:26805,40593:26784,40594:26810,40595:26895,40596:26765,40597:26750,40598:26881,40599:26826,40600:26888,40601:26840,40602:26914,40603:26918,40604:26849,40605:26892,40606:26829,40607:26836,40608:26855,40609:26837,40610:26934,40611:26898,40612:26884,40613:26839,40614:26851,40615:26917,40616:26873,40617:26848,40618:26863,40619:26920,40620:26922,40621:26906,40622:26915,40623:26913,40624:26822,40625:27001,40626:26999,40627:26972,40628:27e3,40629:26987,40630:26964,40631:27006,40632:26990,40633:26937,40634:26996,40635:26941,40636:26969,40637:26928,40638:26977,40639:26974,40640:26973,40641:27009,40642:26986,40643:27058,40644:27054,40645:27088,40646:27071,40647:27073,40648:27091,40649:27070,40650:27086,40651:23528,40652:27082,40653:27101,40654:27067,40655:27075,40656:27047,40657:27182,40658:27025,40659:27040,40660:27036,40661:27029,40662:27060,40663:27102,40664:27112,40665:27138,40666:27163,40667:27135,40668:27402,40669:27129,40670:27122,40671:27111,40672:27141,40673:27057,40674:27166,40675:27117,40676:27156,40677:27115,40678:27146,40679:27154,40680:27329,40681:27171,40682:27155,40683:27204,40684:27148,40685:27250,40686:27190,40687:27256,40688:27207,40689:27234,40690:27225,40691:27238,40692:27208,40693:27192,40694:27170,40695:27280,40696:27277,40697:27296,40698:27268,40699:27298,40700:27299,40768:27287,40769:34327,40770:27323,40771:27331,40772:27330,40773:27320,40774:27315,40775:27308,40776:27358,40777:27345,40778:27359,40779:27306,40780:27354,40781:27370,40782:27387,40783:27397,40784:34326,40785:27386,40786:27410,40787:27414,40788:39729,40789:27423,40790:27448,40791:27447,40792:30428,40793:27449,40794:39150,40795:27463,40796:27459,40797:27465,40798:27472,40799:27481,40800:27476,40801:27483,40802:27487,40803:27489,40804:27512,40805:27513,40806:27519,40807:27520,40808:27524,40809:27523,40810:27533,40811:27544,40812:27541,40813:27550,40814:27556,40815:27562,40816:27563,40817:27567,40818:27570,40819:27569,40820:27571,40821:27575,40822:27580,40823:27590,40824:27595,40825:27603,40826:27615,40827:27628,40828:27627,40829:27635,40830:27631,40832:40638,40833:27656,40834:27667,40835:27668,40836:27675,40837:27684,40838:27683,40839:27742,40840:27733,40841:27746,40842:27754,40843:27778,40844:27789,40845:27802,40846:27777,40847:27803,40848:27774,40849:27752,40850:27763,40851:27794,40852:27792,40853:27844,40854:27889,40855:27859,40856:27837,40857:27863,40858:27845,40859:27869,40860:27822,40861:27825,40862:27838,40863:27834,40864:27867,40865:27887,40866:27865,40867:27882,40868:27935,40869:34893,40870:27958,40871:27947,40872:27965,40873:27960,40874:27929,40875:27957,40876:27955,40877:27922,40878:27916,40879:28003,40880:28051,40881:28004,40882:27994,40883:28025,40884:27993,40885:28046,40886:28053,40887:28644,40888:28037,40889:28153,40890:28181,40891:28170,40892:28085,40893:28103,40894:28134,40895:28088,40896:28102,40897:28140,40898:28126,40899:28108,40900:28136,40901:28114,40902:28101,40903:28154,40904:28121,40905:28132,40906:28117,40907:28138,40908:28142,40909:28205,40910:28270,40911:28206,40912:28185,40913:28274,40914:28255,40915:28222,40916:28195,40917:28267,40918:28203,40919:28278,40920:28237,40921:28191,40922:28227,40923:28218,40924:28238,40925:28196,40926:28415,40927:28189,40928:28216,40929:28290,40930:28330,40931:28312,40932:28361,40933:28343,40934:28371,40935:28349,40936:28335,40937:28356,40938:28338,40939:28372,40940:28373,40941:28303,40942:28325,40943:28354,40944:28319,40945:28481,40946:28433,40947:28748,40948:28396,40949:28408,40950:28414,40951:28479,40952:28402,40953:28465,40954:28399,40955:28466,40956:28364,161:65377,162:65378,163:65379,164:65380,165:65381,166:65382,167:65383,168:65384,169:65385,170:65386,171:65387,172:65388,173:65389,174:65390,175:65391,176:65392,177:65393,178:65394,179:65395,180:65396,181:65397,182:65398,183:65399,184:65400,185:65401,186:65402,187:65403,188:65404,189:65405,190:65406,191:65407,192:65408,193:65409,194:65410,195:65411,196:65412,197:65413,198:65414,199:65415,200:65416,201:65417,202:65418,203:65419,204:65420,205:65421,206:65422,207:65423,208:65424,209:65425,210:65426,211:65427,212:65428,213:65429,214:65430,215:65431,216:65432,217:65433,218:65434,219:65435,220:65436,221:65437,222:65438,223:65439,57408:28478,57409:28435,57410:28407,57411:28550,57412:28538,57413:28536,57414:28545,57415:28544,57416:28527,57417:28507,57418:28659,57419:28525,57420:28546,57421:28540,57422:28504,57423:28558,57424:28561,57425:28610,57426:28518,57427:28595,57428:28579,57429:28577,57430:28580,57431:28601,57432:28614,57433:28586,57434:28639,57435:28629,57436:28652,57437:28628,57438:28632,57439:28657,57440:28654,57441:28635,57442:28681,57443:28683,57444:28666,57445:28689,57446:28673,57447:28687,57448:28670,57449:28699,57450:28698,57451:28532,57452:28701,57453:28696,57454:28703,57455:28720,57456:28734,57457:28722,57458:28753,57459:28771,57460:28825,57461:28818,57462:28847,57463:28913,57464:28844,57465:28856,57466:28851,57467:28846,57468:28895,57469:28875,57470:28893,57472:28889,57473:28937,57474:28925,57475:28956,57476:28953,57477:29029,57478:29013,57479:29064,57480:29030,57481:29026,57482:29004,57483:29014,57484:29036,57485:29071,57486:29179,57487:29060,57488:29077,57489:29096,57490:29100,57491:29143,57492:29113,57493:29118,57494:29138,57495:29129,57496:29140,57497:29134,57498:29152,57499:29164,57500:29159,57501:29173,57502:29180,57503:29177,57504:29183,57505:29197,57506:29200,57507:29211,57508:29224,57509:29229,57510:29228,57511:29232,57512:29234,57513:29243,57514:29244,57515:29247,57516:29248,57517:29254,57518:29259,57519:29272,57520:29300,57521:29310,57522:29314,57523:29313,57524:29319,57525:29330,57526:29334,57527:29346,57528:29351,57529:29369,57530:29362,57531:29379,57532:29382,57533:29380,57534:29390,57535:29394,57536:29410,57537:29408,57538:29409,57539:29433,57540:29431,57541:20495,57542:29463,57543:29450,57544:29468,57545:29462,57546:29469,57547:29492,57548:29487,57549:29481,57550:29477,57551:29502,57552:29518,57553:29519,57554:40664,57555:29527,57556:29546,57557:29544,57558:29552,57559:29560,57560:29557,57561:29563,57562:29562,57563:29640,57564:29619,57565:29646,57566:29627,57567:29632,57568:29669,57569:29678,57570:29662,57571:29858,57572:29701,57573:29807,57574:29733,57575:29688,57576:29746,57577:29754,57578:29781,57579:29759,57580:29791,57581:29785,57582:29761,57583:29788,57584:29801,57585:29808,57586:29795,57587:29802,57588:29814,57589:29822,57590:29835,57591:29854,57592:29863,57593:29898,57594:29903,57595:29908,57596:29681,57664:29920,57665:29923,57666:29927,57667:29929,57668:29934,57669:29938,57670:29936,57671:29937,57672:29944,57673:29943,57674:29956,57675:29955,57676:29957,57677:29964,57678:29966,57679:29965,57680:29973,57681:29971,57682:29982,57683:29990,57684:29996,57685:30012,57686:30020,57687:30029,57688:30026,57689:30025,57690:30043,57691:30022,57692:30042,57693:30057,57694:30052,57695:30055,57696:30059,57697:30061,57698:30072,57699:30070,57700:30086,57701:30087,57702:30068,57703:30090,57704:30089,57705:30082,57706:30100,57707:30106,57708:30109,57709:30117,57710:30115,57711:30146,57712:30131,57713:30147,57714:30133,57715:30141,57716:30136,57717:30140,57718:30129,57719:30157,57720:30154,57721:30162,57722:30169,57723:30179,57724:30174,57725:30206,57726:30207,57728:30204,57729:30209,57730:30192,57731:30202,57732:30194,57733:30195,57734:30219,57735:30221,57736:30217,57737:30239,57738:30247,57739:30240,57740:30241,57741:30242,57742:30244,57743:30260,57744:30256,57745:30267,57746:30279,57747:30280,57748:30278,57749:30300,57750:30296,57751:30305,57752:30306,57753:30312,57754:30313,57755:30314,57756:30311,57757:30316,57758:30320,57759:30322,57760:30326,57761:30328,57762:30332,57763:30336,57764:30339,57765:30344,57766:30347,57767:30350,57768:30358,57769:30355,57770:30361,57771:30362,57772:30384,57773:30388,57774:30392,57775:30393,57776:30394,57777:30402,57778:30413,57779:30422,57780:30418,57781:30430,57782:30433,57783:30437,57784:30439,57785:30442,57786:34351,57787:30459,57788:30472,57789:30471,57790:30468,57791:30505,57792:30500,57793:30494,57794:30501,57795:30502,57796:30491,57797:30519,57798:30520,57799:30535,57800:30554,57801:30568,57802:30571,57803:30555,57804:30565,57805:30591,57806:30590,57807:30585,57808:30606,57809:30603,57810:30609,57811:30624,57812:30622,57813:30640,57814:30646,57815:30649,57816:30655,57817:30652,57818:30653,57819:30651,57820:30663,57821:30669,57822:30679,57823:30682,57824:30684,57825:30691,57826:30702,57827:30716,57828:30732,57829:30738,57830:31014,57831:30752,57832:31018,57833:30789,57834:30862,57835:30836,57836:30854,57837:30844,57838:30874,57839:30860,57840:30883,57841:30901,57842:30890,57843:30895,57844:30929,57845:30918,57846:30923,57847:30932,57848:30910,57849:30908,57850:30917,57851:30922,57852:30956,57920:30951,57921:30938,57922:30973,57923:30964,57924:30983,57925:30994,57926:30993,57927:31001,57928:31020,57929:31019,57930:31040,57931:31072,57932:31063,57933:31071,57934:31066,57935:31061,57936:31059,57937:31098,57938:31103,57939:31114,57940:31133,57941:31143,57942:40779,57943:31146,57944:31150,57945:31155,57946:31161,57947:31162,57948:31177,57949:31189,57950:31207,57951:31212,57952:31201,57953:31203,57954:31240,57955:31245,57956:31256,57957:31257,57958:31264,57959:31263,57960:31104,57961:31281,57962:31291,57963:31294,57964:31287,57965:31299,57966:31319,57967:31305,57968:31329,57969:31330,57970:31337,57971:40861,57972:31344,57973:31353,57974:31357,57975:31368,57976:31383,57977:31381,57978:31384,57979:31382,57980:31401,57981:31432,57982:31408,57984:31414,57985:31429,57986:31428,57987:31423,57988:36995,57989:31431,57990:31434,57991:31437,57992:31439,57993:31445,57994:31443,57995:31449,57996:31450,57997:31453,57998:31457,57999:31458,58e3:31462,58001:31469,58002:31472,58003:31490,58004:31503,58005:31498,58006:31494,58007:31539,58008:31512,58009:31513,58010:31518,58011:31541,58012:31528,58013:31542,58014:31568,58015:31610,58016:31492,58017:31565,58018:31499,58019:31564,58020:31557,58021:31605,58022:31589,58023:31604,58024:31591,58025:31600,58026:31601,58027:31596,58028:31598,58029:31645,58030:31640,58031:31647,58032:31629,58033:31644,58034:31642,58035:31627,58036:31634,58037:31631,58038:31581,58039:31641,58040:31691,58041:31681,58042:31692,58043:31695,58044:31668,58045:31686,58046:31709,58047:31721,58048:31761,58049:31764,58050:31718,58051:31717,58052:31840,58053:31744,58054:31751,58055:31763,58056:31731,58057:31735,58058:31767,58059:31757,58060:31734,58061:31779,58062:31783,58063:31786,58064:31775,58065:31799,58066:31787,58067:31805,58068:31820,58069:31811,58070:31828,58071:31823,58072:31808,58073:31824,58074:31832,58075:31839,58076:31844,58077:31830,58078:31845,58079:31852,58080:31861,58081:31875,58082:31888,58083:31908,58084:31917,58085:31906,58086:31915,58087:31905,58088:31912,58089:31923,58090:31922,58091:31921,58092:31918,58093:31929,58094:31933,58095:31936,58096:31941,58097:31938,58098:31960,58099:31954,58100:31964,58101:31970,58102:39739,58103:31983,58104:31986,58105:31988,58106:31990,58107:31994,58108:32006,58176:32002,58177:32028,58178:32021,58179:32010,58180:32069,58181:32075,58182:32046,58183:32050,58184:32063,58185:32053,58186:32070,58187:32115,58188:32086,58189:32078,58190:32114,58191:32104,58192:32110,58193:32079,58194:32099,58195:32147,58196:32137,58197:32091,58198:32143,58199:32125,58200:32155,58201:32186,58202:32174,58203:32163,58204:32181,58205:32199,58206:32189,58207:32171,58208:32317,58209:32162,58210:32175,58211:32220,58212:32184,58213:32159,58214:32176,58215:32216,58216:32221,58217:32228,58218:32222,58219:32251,58220:32242,58221:32225,58222:32261,58223:32266,58224:32291,58225:32289,58226:32274,58227:32305,58228:32287,58229:32265,58230:32267,58231:32290,58232:32326,58233:32358,58234:32315,58235:32309,58236:32313,58237:32323,58238:32311,58240:32306,58241:32314,58242:32359,58243:32349,58244:32342,58245:32350,58246:32345,58247:32346,58248:32377,58249:32362,58250:32361,58251:32380,58252:32379,58253:32387,58254:32213,58255:32381,58256:36782,58257:32383,58258:32392,58259:32393,58260:32396,58261:32402,58262:32400,58263:32403,58264:32404,58265:32406,58266:32398,58267:32411,58268:32412,58269:32568,58270:32570,58271:32581,58272:32588,58273:32589,58274:32590,58275:32592,58276:32593,58277:32597,58278:32596,58279:32600,58280:32607,58281:32608,58282:32616,58283:32617,58284:32615,58285:32632,58286:32642,58287:32646,58288:32643,58289:32648,58290:32647,58291:32652,58292:32660,58293:32670,58294:32669,58295:32666,58296:32675,58297:32687,58298:32690,58299:32697,58300:32686,58301:32694,58302:32696,58303:35697,58304:32709,58305:32710,58306:32714,58307:32725,58308:32724,58309:32737,58310:32742,58311:32745,58312:32755,58313:32761,58314:39132,58315:32774,58316:32772,58317:32779,58318:32786,58319:32792,58320:32793,58321:32796,58322:32801,58323:32808,58324:32831,58325:32827,58326:32842,58327:32838,58328:32850,58329:32856,58330:32858,58331:32863,58332:32866,58333:32872,58334:32883,58335:32882,58336:32880,58337:32886,58338:32889,58339:32893,58340:32895,58341:32900,58342:32902,58343:32901,58344:32923,58345:32915,58346:32922,58347:32941,58348:20880,58349:32940,58350:32987,58351:32997,58352:32985,58353:32989,58354:32964,58355:32986,58356:32982,58357:33033,58358:33007,58359:33009,58360:33051,58361:33065,58362:33059,58363:33071,58364:33099,58432:38539,58433:33094,58434:33086,58435:33107,58436:33105,58437:33020,58438:33137,58439:33134,58440:33125,58441:33126,58442:33140,58443:33155,58444:33160,58445:33162,58446:33152,58447:33154,58448:33184,58449:33173,58450:33188,58451:33187,58452:33119,58453:33171,58454:33193,58455:33200,58456:33205,58457:33214,58458:33208,58459:33213,58460:33216,58461:33218,58462:33210,58463:33225,58464:33229,58465:33233,58466:33241,58467:33240,58468:33224,58469:33242,58470:33247,58471:33248,58472:33255,58473:33274,58474:33275,58475:33278,58476:33281,58477:33282,58478:33285,58479:33287,58480:33290,58481:33293,58482:33296,58483:33302,58484:33321,58485:33323,58486:33336,58487:33331,58488:33344,58489:33369,58490:33368,58491:33373,58492:33370,58493:33375,58494:33380,58496:33378,58497:33384,58498:33386,58499:33387,58500:33326,58501:33393,58502:33399,58503:33400,58504:33406,58505:33421,58506:33426,58507:33451,58508:33439,58509:33467,58510:33452,58511:33505,58512:33507,58513:33503,58514:33490,58515:33524,58516:33523,58517:33530,58518:33683,58519:33539,58520:33531,58521:33529,58522:33502,58523:33542,58524:33500,58525:33545,58526:33497,58527:33589,58528:33588,58529:33558,58530:33586,58531:33585,58532:33600,58533:33593,58534:33616,58535:33605,58536:33583,58537:33579,58538:33559,58539:33560,58540:33669,58541:33690,58542:33706,58543:33695,58544:33698,58545:33686,58546:33571,58547:33678,58548:33671,58549:33674,58550:33660,58551:33717,58552:33651,58553:33653,58554:33696,58555:33673,58556:33704,58557:33780,58558:33811,58559:33771,58560:33742,58561:33789,58562:33795,58563:33752,58564:33803,58565:33729,58566:33783,58567:33799,58568:33760,58569:33778,58570:33805,58571:33826,58572:33824,58573:33725,58574:33848,58575:34054,58576:33787,58577:33901,58578:33834,58579:33852,58580:34138,58581:33924,58582:33911,58583:33899,58584:33965,58585:33902,58586:33922,58587:33897,58588:33862,58589:33836,58590:33903,58591:33913,58592:33845,58593:33994,58594:33890,58595:33977,58596:33983,58597:33951,58598:34009,58599:33997,58600:33979,58601:34010,58602:34e3,58603:33985,58604:33990,58605:34006,58606:33953,58607:34081,58608:34047,58609:34036,58610:34071,58611:34072,58612:34092,58613:34079,58614:34069,58615:34068,58616:34044,58617:34112,58618:34147,58619:34136,58620:34120,58688:34113,58689:34306,58690:34123,58691:34133,58692:34176,58693:34212,58694:34184,58695:34193,58696:34186,58697:34216,58698:34157,58699:34196,58700:34203,58701:34282,58702:34183,58703:34204,58704:34167,58705:34174,58706:34192,58707:34249,58708:34234,58709:34255,58710:34233,58711:34256,58712:34261,58713:34269,58714:34277,58715:34268,58716:34297,58717:34314,58718:34323,58719:34315,58720:34302,58721:34298,58722:34310,58723:34338,58724:34330,58725:34352,58726:34367,58727:34381,58728:20053,58729:34388,58730:34399,58731:34407,58732:34417,58733:34451,58734:34467,58735:34473,58736:34474,58737:34443,58738:34444,58739:34486,58740:34479,58741:34500,58742:34502,58743:34480,58744:34505,58745:34851,58746:34475,58747:34516,58748:34526,58749:34537,58750:34540,58752:34527,58753:34523,58754:34543,58755:34578,58756:34566,58757:34568,58758:34560,58759:34563,58760:34555,58761:34577,58762:34569,58763:34573,58764:34553,58765:34570,58766:34612,58767:34623,58768:34615,58769:34619,58770:34597,58771:34601,58772:34586,58773:34656,58774:34655,58775:34680,58776:34636,58777:34638,58778:34676,58779:34647,58780:34664,58781:34670,58782:34649,58783:34643,58784:34659,58785:34666,58786:34821,58787:34722,58788:34719,58789:34690,58790:34735,58791:34763,58792:34749,58793:34752,58794:34768,58795:38614,58796:34731,58797:34756,58798:34739,58799:34759,58800:34758,58801:34747,58802:34799,58803:34802,58804:34784,58805:34831,58806:34829,58807:34814,58808:34806,58809:34807,58810:34830,58811:34770,58812:34833,58813:34838,58814:34837,58815:34850,58816:34849,58817:34865,58818:34870,58819:34873,58820:34855,58821:34875,58822:34884,58823:34882,58824:34898,58825:34905,58826:34910,58827:34914,58828:34923,58829:34945,58830:34942,58831:34974,58832:34933,58833:34941,58834:34997,58835:34930,58836:34946,58837:34967,58838:34962,58839:34990,58840:34969,58841:34978,58842:34957,58843:34980,58844:34992,58845:35007,58846:34993,58847:35011,58848:35012,58849:35028,58850:35032,58851:35033,58852:35037,58853:35065,58854:35074,58855:35068,58856:35060,58857:35048,58858:35058,58859:35076,58860:35084,58861:35082,58862:35091,58863:35139,58864:35102,58865:35109,58866:35114,58867:35115,58868:35137,58869:35140,58870:35131,58871:35126,58872:35128,58873:35148,58874:35101,58875:35168,58876:35166,58944:35174,58945:35172,58946:35181,58947:35178,58948:35183,58949:35188,58950:35191,58951:35198,58952:35203,58953:35208,58954:35210,58955:35219,58956:35224,58957:35233,58958:35241,58959:35238,58960:35244,58961:35247,58962:35250,58963:35258,58964:35261,58965:35263,58966:35264,58967:35290,58968:35292,58969:35293,58970:35303,58971:35316,58972:35320,58973:35331,58974:35350,58975:35344,58976:35340,58977:35355,58978:35357,58979:35365,58980:35382,58981:35393,58982:35419,58983:35410,58984:35398,58985:35400,58986:35452,58987:35437,58988:35436,58989:35426,58990:35461,58991:35458,58992:35460,58993:35496,58994:35489,58995:35473,58996:35493,58997:35494,58998:35482,58999:35491,59e3:35524,59001:35533,59002:35522,59003:35546,59004:35563,59005:35571,59006:35559,59008:35556,59009:35569,59010:35604,59011:35552,59012:35554,59013:35575,59014:35550,59015:35547,59016:35596,59017:35591,59018:35610,59019:35553,59020:35606,59021:35600,59022:35607,59023:35616,59024:35635,59025:38827,59026:35622,59027:35627,59028:35646,59029:35624,59030:35649,59031:35660,59032:35663,59033:35662,59034:35657,59035:35670,59036:35675,59037:35674,59038:35691,59039:35679,59040:35692,59041:35695,59042:35700,59043:35709,59044:35712,59045:35724,59046:35726,59047:35730,59048:35731,59049:35734,59050:35737,59051:35738,59052:35898,59053:35905,59054:35903,59055:35912,59056:35916,59057:35918,59058:35920,59059:35925,59060:35938,59061:35948,59062:35960,59063:35962,59064:35970,59065:35977,59066:35973,59067:35978,59068:35981,59069:35982,59070:35988,59071:35964,59072:35992,59073:25117,59074:36013,59075:36010,59076:36029,59077:36018,59078:36019,59079:36014,59080:36022,59081:36040,59082:36033,59083:36068,59084:36067,59085:36058,59086:36093,59087:36090,59088:36091,59089:36100,59090:36101,59091:36106,59092:36103,59093:36111,59094:36109,59095:36112,59096:40782,59097:36115,59098:36045,59099:36116,59100:36118,59101:36199,59102:36205,59103:36209,59104:36211,59105:36225,59106:36249,59107:36290,59108:36286,59109:36282,59110:36303,59111:36314,59112:36310,59113:36300,59114:36315,59115:36299,59116:36330,59117:36331,59118:36319,59119:36323,59120:36348,59121:36360,59122:36361,59123:36351,59124:36381,59125:36382,59126:36368,59127:36383,59128:36418,59129:36405,59130:36400,59131:36404,59132:36426,59200:36423,59201:36425,59202:36428,59203:36432,59204:36424,59205:36441,59206:36452,59207:36448,59208:36394,59209:36451,59210:36437,59211:36470,59212:36466,59213:36476,59214:36481,59215:36487,59216:36485,59217:36484,59218:36491,59219:36490,59220:36499,59221:36497,59222:36500,59223:36505,59224:36522,59225:36513,59226:36524,59227:36528,59228:36550,59229:36529,59230:36542,59231:36549,59232:36552,59233:36555,59234:36571,59235:36579,59236:36604,59237:36603,59238:36587,59239:36606,59240:36618,59241:36613,59242:36629,59243:36626,59244:36633,59245:36627,59246:36636,59247:36639,59248:36635,59249:36620,59250:36646,59251:36659,59252:36667,59253:36665,59254:36677,59255:36674,59256:36670,59257:36684,59258:36681,59259:36678,59260:36686,59261:36695,59262:36700,59264:36706,59265:36707,59266:36708,59267:36764,59268:36767,59269:36771,59270:36781,59271:36783,59272:36791,59273:36826,59274:36837,59275:36834,59276:36842,59277:36847,59278:36999,59279:36852,59280:36869,59281:36857,59282:36858,59283:36881,59284:36885,59285:36897,59286:36877,59287:36894,59288:36886,59289:36875,59290:36903,59291:36918,59292:36917,59293:36921,59294:36856,59295:36943,59296:36944,59297:36945,59298:36946,59299:36878,59300:36937,59301:36926,59302:36950,59303:36952,59304:36958,59305:36968,59306:36975,59307:36982,59308:38568,59309:36978,59310:36994,59311:36989,59312:36993,59313:36992,59314:37002,59315:37001,59316:37007,59317:37032,59318:37039,59319:37041,59320:37045,59321:37090,59322:37092,59323:25160,59324:37083,59325:37122,59326:37138,59327:37145,59328:37170,59329:37168,59330:37194,59331:37206,59332:37208,59333:37219,59334:37221,59335:37225,59336:37235,59337:37234,59338:37259,59339:37257,59340:37250,59341:37282,59342:37291,59343:37295,59344:37290,59345:37301,59346:37300,59347:37306,59348:37312,59349:37313,59350:37321,59351:37323,59352:37328,59353:37334,59354:37343,59355:37345,59356:37339,59357:37372,59358:37365,59359:37366,59360:37406,59361:37375,59362:37396,59363:37420,59364:37397,59365:37393,59366:37470,59367:37463,59368:37445,59369:37449,59370:37476,59371:37448,59372:37525,59373:37439,59374:37451,59375:37456,59376:37532,59377:37526,59378:37523,59379:37531,59380:37466,59381:37583,59382:37561,59383:37559,59384:37609,59385:37647,59386:37626,59387:37700,59388:37678,59456:37657,59457:37666,59458:37658,59459:37667,59460:37690,59461:37685,59462:37691,59463:37724,59464:37728,59465:37756,59466:37742,59467:37718,59468:37808,59469:37804,59470:37805,59471:37780,59472:37817,59473:37846,59474:37847,59475:37864,59476:37861,59477:37848,59478:37827,59479:37853,59480:37840,59481:37832,59482:37860,59483:37914,59484:37908,59485:37907,59486:37891,59487:37895,59488:37904,59489:37942,59490:37931,59491:37941,59492:37921,59493:37946,59494:37953,59495:37970,59496:37956,59497:37979,59498:37984,59499:37986,59500:37982,59501:37994,59502:37417,59503:38e3,59504:38005,59505:38007,59506:38013,59507:37978,59508:38012,59509:38014,59510:38017,59511:38015,59512:38274,59513:38279,59514:38282,59515:38292,59516:38294,59517:38296,59518:38297,59520:38304,59521:38312,59522:38311,59523:38317,59524:38332,59525:38331,59526:38329,59527:38334,59528:38346,59529:28662,59530:38339,59531:38349,59532:38348,59533:38357,59534:38356,59535:38358,59536:38364,59537:38369,59538:38373,59539:38370,59540:38433,59541:38440,59542:38446,59543:38447,59544:38466,59545:38476,59546:38479,59547:38475,59548:38519,59549:38492,59550:38494,59551:38493,59552:38495,59553:38502,59554:38514,59555:38508,59556:38541,59557:38552,59558:38549,59559:38551,59560:38570,59561:38567,59562:38577,59563:38578,59564:38576,59565:38580,59566:38582,59567:38584,59568:38585,59569:38606,59570:38603,59571:38601,59572:38605,59573:35149,59574:38620,59575:38669,59576:38613,59577:38649,59578:38660,59579:38662,59580:38664,59581:38675,59582:38670,59583:38673,59584:38671,59585:38678,59586:38681,59587:38692,59588:38698,59589:38704,59590:38713,59591:38717,59592:38718,59593:38724,59594:38726,59595:38728,59596:38722,59597:38729,59598:38748,59599:38752,59600:38756,59601:38758,59602:38760,59603:21202,59604:38763,59605:38769,59606:38777,59607:38789,59608:38780,59609:38785,59610:38778,59611:38790,59612:38795,59613:38799,59614:38800,59615:38812,59616:38824,59617:38822,59618:38819,59619:38835,59620:38836,59621:38851,59622:38854,59623:38856,59624:38859,59625:38876,59626:38893,59627:40783,59628:38898,59629:31455,59630:38902,59631:38901,59632:38927,59633:38924,59634:38968,59635:38948,59636:38945,59637:38967,59638:38973,59639:38982,59640:38991,59641:38987,59642:39019,59643:39023,59644:39024,59712:39025,59713:39028,59714:39027,59715:39082,59716:39087,59717:39089,59718:39094,59719:39108,59720:39107,59721:39110,59722:39145,59723:39147,59724:39171,59725:39177,59726:39186,59727:39188,59728:39192,59729:39201,59730:39197,59731:39198,59732:39204,59733:39200,59734:39212,59735:39214,59736:39229,59737:39230,59738:39234,59739:39241,59740:39237,59741:39248,59742:39243,59743:39249,59744:39250,59745:39244,59746:39253,59747:39319,59748:39320,59749:39333,59750:39341,59751:39342,59752:39356,59753:39391,59754:39387,59755:39389,59756:39384,59757:39377,59758:39405,59759:39406,59760:39409,59761:39410,59762:39419,59763:39416,59764:39425,59765:39439,59766:39429,59767:39394,59768:39449,59769:39467,59770:39479,59771:39493,59772:39490,59773:39488,59774:39491,59776:39486,59777:39509,59778:39501,59779:39515,59780:39511,59781:39519,59782:39522,59783:39525,59784:39524,59785:39529,59786:39531,59787:39530,59788:39597,59789:39600,59790:39612,59791:39616,59792:39631,59793:39633,59794:39635,59795:39636,59796:39646,59797:39647,59798:39650,59799:39651,59800:39654,59801:39663,59802:39659,59803:39662,59804:39668,59805:39665,59806:39671,59807:39675,59808:39686,59809:39704,59810:39706,59811:39711,59812:39714,59813:39715,59814:39717,59815:39719,59816:39720,59817:39721,59818:39722,59819:39726,59820:39727,59821:39730,59822:39748,59823:39747,59824:39759,59825:39757,59826:39758,59827:39761,59828:39768,59829:39796,59830:39827,59831:39811,59832:39825,59833:39830,59834:39831,59835:39839,59836:39840,59837:39848,59838:39860,59839:39872,59840:39882,59841:39865,59842:39878,59843:39887,59844:39889,59845:39890,59846:39907,59847:39906,59848:39908,59849:39892,59850:39905,59851:39994,59852:39922,59853:39921,59854:39920,59855:39957,59856:39956,59857:39945,59858:39955,59859:39948,59860:39942,59861:39944,59862:39954,59863:39946,59864:39940,59865:39982,59866:39963,59867:39973,59868:39972,59869:39969,59870:39984,59871:40007,59872:39986,59873:40006,59874:39998,59875:40026,59876:40032,59877:40039,59878:40054,59879:40056,59880:40167,59881:40172,59882:40176,59883:40201,59884:40200,59885:40171,59886:40195,59887:40198,59888:40234,59889:40230,59890:40367,59891:40227,59892:40223,59893:40260,59894:40213,59895:40210,59896:40257,59897:40255,59898:40254,59899:40262,59900:40264,59968:40285,59969:40286,59970:40292,59971:40273,59972:40272,59973:40281,59974:40306,59975:40329,59976:40327,59977:40363,59978:40303,59979:40314,59980:40346,59981:40356,59982:40361,59983:40370,59984:40388,59985:40385,59986:40379,59987:40376,59988:40378,59989:40390,59990:40399,59991:40386,59992:40409,59993:40403,59994:40440,59995:40422,59996:40429,59997:40431,59998:40445,59999:40474,6e4:40475,60001:40478,60002:40565,60003:40569,60004:40573,60005:40577,60006:40584,60007:40587,60008:40588,60009:40594,60010:40597,60011:40593,60012:40605,60013:40613,60014:40617,60015:40632,60016:40618,60017:40621,60018:38753,60019:40652,60020:40654,60021:40655,60022:40656,60023:40660,60024:40668,60025:40670,60026:40669,60027:40672,60028:40677,60029:40680,60030:40687,60032:40692,60033:40694,60034:40695,60035:40697,60036:40699,60037:40700,60038:40701,60039:40711,60040:40712,60041:30391,60042:40725,60043:40737,60044:40748,60045:40766,60046:40778,60047:40786,60048:40788,60049:40803,60050:40799,60051:40800,60052:40801,60053:40806,60054:40807,60055:40812,60056:40810,60057:40823,60058:40818,60059:40822,60060:40853,60061:40860,60062:40864,60063:22575,60064:27079,60065:36953,60066:29796,60067:20956,60068:29081}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),n=r(2);t.decode=function(e,t){var r=new Uint8ClampedArray(e.length);r.set(e);for(var a=new o.default(285,256,0),i=new n.default(a,r),s=new Uint8ClampedArray(t),l=!1,c=0;c<t;c++){var d=i.evaluateAt(a.exp(c+a.generatorBase));s[s.length-1-c]=d,0!==d&&(l=!0)}if(!l)return r;var u=new n.default(a,s),g=function(e,t,r,o){t.degree()<r.degree()&&(t=(n=[r,t])[0],r=n[1]);for(var n,a=t,i=r,s=e.zero,l=e.one;i.degree()>=o/2;){var c=a,d=s;if(a=i,s=l,a.isZero())return null;i=c;for(var u=e.zero,g=a.getCoefficient(a.degree()),k=e.inverse(g);i.degree()>=a.degree()&&!i.isZero();){var m=i.degree()-a.degree(),f=e.multiply(i.getCoefficient(i.degree()),k);u=u.addOrSubtract(e.buildMonomial(m,f)),i=i.addOrSubtract(a.multiplyByMonomial(m,f))}if(l=u.multiplyPoly(s).addOrSubtract(d),i.degree()>=a.degree())return null}var p=l.getCoefficient(0);if(0===p)return null;var h=e.inverse(p);return[l.multiply(h),i.multiply(h)]}(a,a.buildMonomial(t,1),u,t);if(null===g)return null;var k=function(e,t){var r=t.degree();if(1===r)return[t.getCoefficient(1)];for(var o=Array(r),n=0,a=1;a<e.size&&n<r;a++)0===t.evaluateAt(a)&&(o[n]=e.inverse(a),n++);return n!==r?null:o}(a,g[0]);if(null==k)return null;for(var m=function(e,t,r){for(var n=r.length,a=Array(n),i=0;i<n;i++){for(var s=e.inverse(r[i]),l=1,c=0;c<n;c++)i!==c&&(l=e.multiply(l,o.addOrSubtractGF(1,e.multiply(r[c],s))));a[i]=e.multiply(t.evaluateAt(s),e.inverse(l)),0!==e.generatorBase&&(a[i]=e.multiply(a[i],s))}return a}(a,g[1],k),f=0;f<k.length;f++){var p=r.length-1-a.log(k[f]);if(p<0)return null;r[p]=o.addOrSubtractGF(r[p],m[f])}return r}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.VERSIONS=[{infoBits:null,versionNumber:1,alignmentPatternCenters:[],errorCorrectionLevels:[{ecCodewordsPerBlock:7,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:13,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:13}]},{ecCodewordsPerBlock:17,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:2,alignmentPatternCenters:[6,18],errorCorrectionLevels:[{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:34}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:28}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]}]},{infoBits:null,versionNumber:3,alignmentPatternCenters:[6,22],errorCorrectionLevels:[{ecCodewordsPerBlock:15,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:55}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:13}]}]},{infoBits:null,versionNumber:4,alignmentPatternCenters:[6,26],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:80}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:32}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:5,alignmentPatternCenters:[6,30],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:43}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:11},{numBlocks:2,dataCodewordsPerBlock:12}]}]},{infoBits:null,versionNumber:6,alignmentPatternCenters:[6,34],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:27}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:31892,versionNumber:7,alignmentPatternCenters:[6,22,38],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:78}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:31}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:13},{numBlocks:1,dataCodewordsPerBlock:14}]}]},{infoBits:34236,versionNumber:8,alignmentPatternCenters:[6,24,42],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:97}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:38},{numBlocks:2,dataCodewordsPerBlock:39}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:18},{numBlocks:2,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:14},{numBlocks:2,dataCodewordsPerBlock:15}]}]},{infoBits:39577,versionNumber:9,alignmentPatternCenters:[6,26,46],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:12},{numBlocks:4,dataCodewordsPerBlock:13}]}]},{infoBits:42195,versionNumber:10,alignmentPatternCenters:[6,28,50],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68},{numBlocks:2,dataCodewordsPerBlock:69}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:43},{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]}]},{infoBits:48118,versionNumber:11,alignmentPatternCenters:[6,30,54],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:81}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:50},{numBlocks:4,dataCodewordsPerBlock:51}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:22},{numBlocks:4,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:12},{numBlocks:8,dataCodewordsPerBlock:13}]}]},{infoBits:51042,versionNumber:12,alignmentPatternCenters:[6,32,58],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:92},{numBlocks:2,dataCodewordsPerBlock:93}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:20},{numBlocks:6,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:55367,versionNumber:13,alignmentPatternCenters:[6,34,62],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:37},{numBlocks:1,dataCodewordsPerBlock:38}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:20},{numBlocks:4,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:11},{numBlocks:4,dataCodewordsPerBlock:12}]}]},{infoBits:58893,versionNumber:14,alignmentPatternCenters:[6,26,46,66],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:40},{numBlocks:5,dataCodewordsPerBlock:41}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:16},{numBlocks:5,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:5,dataCodewordsPerBlock:13}]}]},{infoBits:63784,versionNumber:15,alignmentPatternCenters:[6,26,48,70],errorCorrectionLevels:[{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:87},{numBlocks:1,dataCodewordsPerBlock:88}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:41},{numBlocks:5,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:7,dataCodewordsPerBlock:13}]}]},{infoBits:68472,versionNumber:16,alignmentPatternCenters:[6,26,50,74],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:98},{numBlocks:1,dataCodewordsPerBlock:99}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:70749,versionNumber:17,alignmentPatternCenters:[6,30,54,78],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:1,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22},{numBlocks:15,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:17,dataCodewordsPerBlock:15}]}]},{infoBits:76311,versionNumber:18,alignmentPatternCenters:[6,30,56,82],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:120},{numBlocks:1,dataCodewordsPerBlock:121}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:43},{numBlocks:4,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:1,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:19,dataCodewordsPerBlock:15}]}]},{infoBits:79154,versionNumber:19,alignmentPatternCenters:[6,30,58,86],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:113},{numBlocks:4,dataCodewordsPerBlock:114}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:44},{numBlocks:11,dataCodewordsPerBlock:45}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:21},{numBlocks:4,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:13},{numBlocks:16,dataCodewordsPerBlock:14}]}]},{infoBits:84390,versionNumber:20,alignmentPatternCenters:[6,34,62,90],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:41},{numBlocks:13,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:5,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:15},{numBlocks:10,dataCodewordsPerBlock:16}]}]},{infoBits:87683,versionNumber:21,alignmentPatternCenters:[6,28,50,72,94],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:116},{numBlocks:4,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:16},{numBlocks:6,dataCodewordsPerBlock:17}]}]},{infoBits:92361,versionNumber:22,alignmentPatternCenters:[6,26,50,74,98],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:111},{numBlocks:7,dataCodewordsPerBlock:112}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:13}]}]},{infoBits:96236,versionNumber:23,alignmentPatternCenters:[6,30,54,74,102],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:121},{numBlocks:5,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:47},{numBlocks:14,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:16,dataCodewordsPerBlock:15},{numBlocks:14,dataCodewordsPerBlock:16}]}]},{infoBits:102084,versionNumber:24,alignmentPatternCenters:[6,28,54,80,106],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:45},{numBlocks:14,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:30,dataCodewordsPerBlock:16},{numBlocks:2,dataCodewordsPerBlock:17}]}]},{infoBits:102881,versionNumber:25,alignmentPatternCenters:[6,32,58,84,110],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:106},{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:47},{numBlocks:13,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:110507,versionNumber:26,alignmentPatternCenters:[6,30,58,86,114],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:114},{numBlocks:2,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:46},{numBlocks:4,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:28,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:33,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]}]},{infoBits:110734,versionNumber:27,alignmentPatternCenters:[6,34,62,90,118],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:23},{numBlocks:26,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:117786,versionNumber:28,alignmentPatternCenters:[6,26,50,74,98,122],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:117},{numBlocks:10,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:45},{numBlocks:23,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:24},{numBlocks:31,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:31,dataCodewordsPerBlock:16}]}]},{infoBits:119615,versionNumber:29,alignmentPatternCenters:[6,30,54,78,102,126],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:116},{numBlocks:7,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:21,dataCodewordsPerBlock:45},{numBlocks:7,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:23},{numBlocks:37,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:26,dataCodewordsPerBlock:16}]}]},{infoBits:126325,versionNumber:30,alignmentPatternCenters:[6,26,52,78,104,130],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:115},{numBlocks:10,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:47},{numBlocks:10,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:25,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:25,dataCodewordsPerBlock:16}]}]},{infoBits:127568,versionNumber:31,alignmentPatternCenters:[6,30,56,82,108,134],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:3,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:46},{numBlocks:29,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:24},{numBlocks:1,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:133589,versionNumber:32,alignmentPatternCenters:[6,34,60,86,112,138],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:24},{numBlocks:35,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:35,dataCodewordsPerBlock:16}]}]},{infoBits:136944,versionNumber:33,alignmentPatternCenters:[6,30,58,86,114,142],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:21,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:24},{numBlocks:19,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:141498,versionNumber:34,alignmentPatternCenters:[6,34,62,90,118,146],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:6,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:44,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:59,dataCodewordsPerBlock:16},{numBlocks:1,dataCodewordsPerBlock:17}]}]},{infoBits:145311,versionNumber:35,alignmentPatternCenters:[6,30,54,78,102,126,150],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:121},{numBlocks:7,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:47},{numBlocks:26,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:39,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:41,dataCodewordsPerBlock:16}]}]},{infoBits:150283,versionNumber:36,alignmentPatternCenters:[6,24,50,76,102,128,154],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:121},{numBlocks:14,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:47},{numBlocks:34,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:46,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:64,dataCodewordsPerBlock:16}]}]},{infoBits:152622,versionNumber:37,alignmentPatternCenters:[6,28,54,80,106,132,158],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:46},{numBlocks:14,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:49,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:24,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:158308,versionNumber:38,alignmentPatternCenters:[6,32,58,84,110,136,162],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:122},{numBlocks:18,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:46},{numBlocks:32,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:48,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:15},{numBlocks:32,dataCodewordsPerBlock:16}]}]},{infoBits:161089,versionNumber:39,alignmentPatternCenters:[6,26,54,82,110,138,166],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:40,dataCodewordsPerBlock:47},{numBlocks:7,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:43,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:15},{numBlocks:67,dataCodewordsPerBlock:16}]}]},{infoBits:167017,versionNumber:40,alignmentPatternCenters:[6,30,58,86,114,142,170],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:118},{numBlocks:6,dataCodewordsPerBlock:119}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:18,dataCodewordsPerBlock:47},{numBlocks:31,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:24},{numBlocks:34,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:15},{numBlocks:61,dataCodewordsPerBlock:16}]}]}]},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=r(0);function n(e,t,r,o){var n=e.x-t.x+r.x-o.x,a=e.y-t.y+r.y-o.y;if(0===n&&0===a)return{a11:t.x-e.x,a12:t.y-e.y,a13:0,a21:r.x-t.x,a22:r.y-t.y,a23:0,a31:e.x,a32:e.y,a33:1};var i=t.x-r.x,s=o.x-r.x,l=t.y-r.y,c=o.y-r.y,d=i*c-s*l,u=(n*c-s*a)/d,g=(i*a-n*l)/d;return{a11:t.x-e.x+u*t.x,a12:t.y-e.y+u*t.y,a13:u,a21:o.x-e.x+g*o.x,a22:o.y-e.y+g*o.y,a23:g,a31:e.x,a32:e.y,a33:1}}t.extract=function(e,t){for(var r,a,i,s,l,c,d=(r={x:3.5,y:3.5},a={x:t.dimension-3.5,y:3.5},i={x:t.dimension-6.5,y:t.dimension-6.5},{a11:(s=n(r,a,i,{x:3.5,y:t.dimension-3.5})).a22*s.a33-s.a23*s.a32,a12:s.a13*s.a32-s.a12*s.a33,a13:s.a12*s.a23-s.a13*s.a22,a21:s.a23*s.a31-s.a21*s.a33,a22:s.a11*s.a33-s.a13*s.a31,a23:s.a13*s.a21-s.a11*s.a23,a31:s.a21*s.a32-s.a22*s.a31,a32:s.a12*s.a31-s.a11*s.a32,a33:s.a11*s.a22-s.a12*s.a21}),u=(l=n(t.topLeft,t.topRight,t.alignmentPattern,t.bottomLeft),c=d,{a11:l.a11*c.a11+l.a21*c.a12+l.a31*c.a13,a12:l.a12*c.a11+l.a22*c.a12+l.a32*c.a13,a13:l.a13*c.a11+l.a23*c.a12+l.a33*c.a13,a21:l.a11*c.a21+l.a21*c.a22+l.a31*c.a23,a22:l.a12*c.a21+l.a22*c.a22+l.a32*c.a23,a23:l.a13*c.a21+l.a23*c.a22+l.a33*c.a23,a31:l.a11*c.a31+l.a21*c.a32+l.a31*c.a33,a32:l.a12*c.a31+l.a22*c.a32+l.a32*c.a33,a33:l.a13*c.a31+l.a23*c.a32+l.a33*c.a33}),g=o.BitMatrix.createEmpty(t.dimension,t.dimension),k=function(e,t){var r=u.a13*e+u.a23*t+u.a33;return{x:(u.a11*e+u.a21*t+u.a31)/r,y:(u.a12*e+u.a22*t+u.a32)/r}},m=0;m<t.dimension;m++)for(var f=0;f<t.dimension;f++){var p=k(f+.5,m+.5);g.set(f,m,e.get(Math.floor(p.x),Math.floor(p.y)))}return{matrix:g,mappingFunction:k}}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var o=function(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))};function n(e){return e.reduce(function(e,t){return e+t})}function a(e,t,r,n){var a,i,s,l,c=[{x:Math.floor(e.x),y:Math.floor(e.y)}],d=Math.abs(t.y-e.y)>Math.abs(t.x-e.x);d?(a=Math.floor(e.y),i=Math.floor(e.x),s=Math.floor(t.y),l=Math.floor(t.x)):(a=Math.floor(e.x),i=Math.floor(e.y),s=Math.floor(t.x),l=Math.floor(t.y));for(var u=Math.abs(s-a),g=Math.abs(l-i),k=Math.floor(-u/2),m=a<s?1:-1,f=i<l?1:-1,p=!0,h=a,_=i;h!==s+m;h+=m){var b=d?_:h,B=d?h:_;if(r.get(b,B)!==p&&(p=!p,c.push({x:b,y:B}),c.length===n+1))break;if((k+=g)>0){if(_===l)break;_+=f,k-=u}}for(var C=[],w=0;w<n;w++)c[w]&&c[w+1]?C.push(o(c[w],c[w+1])):C.push(0);return C}function i(e,t,r,o){var n,i=t.y-e.y,s=t.x-e.x,l=a(e,t,r,Math.ceil(o/2)),c=a(e,{x:e.x-s,y:e.y-i},r,Math.ceil(o/2)),d=l.shift()+c.shift()-1;return(n=c.concat(d)).concat.apply(n,l)}function s(e,t){var r=n(e)/n(t),o=0;return t.forEach(function(t,n){o+=Math.pow(e[n]-t*r,2)}),{averageSize:r,error:o}}function l(e,t,r){try{var o=i(e,{x:-1,y:e.y},r,t.length),n=i(e,{x:e.x,y:-1},r,t.length),a={x:Math.max(0,e.x-e.y)-1,y:Math.max(0,e.y-e.x)-1},l=i(e,a,r,t.length),c={x:Math.min(r.width,e.x+e.y)+1,y:Math.min(r.height,e.y+e.x)+1},d=i(e,c,r,t.length),u=s(o,t),g=s(n,t),k=s(l,t),m=s(d,t),f=Math.sqrt(u.error*u.error+g.error*g.error+k.error*k.error+m.error*m.error),p=(u.averageSize+g.averageSize+k.averageSize+m.averageSize)/4,h=(Math.pow(u.averageSize-p,2)+Math.pow(g.averageSize-p,2)+Math.pow(k.averageSize-p,2)+Math.pow(m.averageSize-p,2))/p;return f+h}catch(e){return 1/0}}function c(e,t){for(var r=Math.round(t.x);e.get(r,Math.round(t.y));)r--;for(var o=Math.round(t.x);e.get(o,Math.round(t.y));)o++;for(var n=(r+o)/2,a=Math.round(t.y);e.get(Math.round(n),a);)a--;for(var i=Math.round(t.y);e.get(Math.round(n),i);)i++;return{x:n,y:(a+i)/2}}function d(e,t,r,a,s){try{d=(c=function(e,t,r,a){var s=(n(i(e,r,a,5))/7+n(i(e,t,a,5))/7+n(i(r,e,a,5))/7+n(i(t,e,a,5))/7)/4;if(s<1)throw Error("Invalid module size");var l=Math.floor((Math.round(o(e,t)/s)+Math.round(o(e,r)/s))/2)+7;switch(l%4){case 0:l++;break;case 2:l--}return{dimension:l,moduleSize:s}}(a,r,s,e)).dimension,u=c.moduleSize}catch(e){return null}var c,d,u,g={x:r.x-a.x+s.x,y:r.y-a.y+s.y},k=(o(a,s)+o(a,r))/2/u,m=1-3/k,f={x:a.x+m*(g.x-a.x),y:a.y+m*(g.y-a.y)},p=t.map(function(t){var r=(t.top.startX+t.top.endX+t.bottom.startX+t.bottom.endX)/4,a=(t.top.y+t.bottom.y+1)/2;if(e.get(Math.floor(r),Math.floor(a))){var i=[t.top.endX-t.top.startX,t.bottom.endX-t.bottom.startX,t.bottom.y-t.top.y+1];n(i),i.length;var s=l({x:Math.floor(r),y:Math.floor(a)},[1,1,1],e)+o({x:r,y:a},f);return{x:r,y:a,score:s}}}).filter(function(e){return!!e}).sort(function(e,t){return e.score-t.score});return{alignmentPattern:k>=15&&p.length?p[0]:f,dimension:d}}t.locate=function(e){for(var t,r,a,i,s,u,g,k,m,f,p,h,_,b=[],B=[],C=[],w=[],y=function(t){for(var r=0,o=!1,a=[0,0,0,0,0],i=-1;i<=e.width;i++)!function(i){var s=e.get(i,t);if(s===o)r++;else{a=[a[1],a[2],a[3],a[4],r],r=1,o=s;var l=n(a)/7,c=Math.abs(a[0]-l)<l&&Math.abs(a[1]-l)<l&&Math.abs(a[2]-3*l)<3*l&&Math.abs(a[3]-l)<l&&Math.abs(a[4]-l)<l&&!s,d=n(a.slice(-3))/3,u=Math.abs(a[2]-d)<d&&Math.abs(a[3]-d)<d&&Math.abs(a[4]-d)<d&&s;if(c){var g=i-a[3]-a[4],k=g-a[2],m={startX:k,endX:g,y:t},f=B.filter(function(e){return k>=e.bottom.startX&&k<=e.bottom.endX||g>=e.bottom.startX&&k<=e.bottom.endX||k<=e.bottom.startX&&g>=e.bottom.endX&&a[2]/(e.bottom.endX-e.bottom.startX)<1.5&&a[2]/(e.bottom.endX-e.bottom.startX)>.5});f.length>0?f[0].bottom=m:B.push({top:m,bottom:m})}if(u){var p=i-a[4],h=p-a[3],m={startX:h,y:t,endX:p},f=w.filter(function(e){return h>=e.bottom.startX&&h<=e.bottom.endX||p>=e.bottom.startX&&h<=e.bottom.endX||h<=e.bottom.startX&&p>=e.bottom.endX&&a[2]/(e.bottom.endX-e.bottom.startX)<1.5&&a[2]/(e.bottom.endX-e.bottom.startX)>.5});f.length>0?f[0].bottom=m:w.push({top:m,bottom:m})}}}(i);b.push.apply(b,B.filter(function(e){return e.bottom.y!==t&&e.bottom.y-e.top.y>=2})),B=B.filter(function(e){return e.bottom.y===t}),C.push.apply(C,w.filter(function(e){return e.bottom.y!==t})),w=w.filter(function(e){return e.bottom.y===t})},v=0;v<=e.height;v++)y(v);b.push.apply(b,B.filter(function(e){return e.bottom.y-e.top.y>=2})),C.push.apply(C,w);var P=b.filter(function(e){return e.bottom.y-e.top.y>=2}).map(function(t){var r=(t.top.startX+t.top.endX+t.bottom.startX+t.bottom.endX)/4,o=(t.top.y+t.bottom.y+1)/2;if(e.get(Math.round(r),Math.round(o))){var a=[t.top.endX-t.top.startX,t.bottom.endX-t.bottom.startX,t.bottom.y-t.top.y+1],i=n(a)/a.length;return{score:l({x:Math.round(r),y:Math.round(o)},[1,1,3,1,1],e),x:r,y:o,size:i}}}).filter(function(e){return!!e}).sort(function(e,t){return e.score-t.score}).map(function(e,t,r){if(t>4)return null;var o=r.filter(function(e,r){return t!==r}).map(function(t){return{x:t.x,y:t.y,score:t.score+Math.pow(t.size-e.size,2)/e.size,size:t.size}}).sort(function(e,t){return e.score-t.score});if(o.length<2)return null;var n=e.score+o[0].score+o[1].score;return{points:[e].concat(o.slice(0,2)),score:n}}).filter(function(e){return!!e}).sort(function(e,t){return e.score-t.score});if(0===P.length)return null;var x=(t=P[0].points[0],r=P[0].points[1],a=P[0].points[2],p=o(t,r),h=o(r,a),_=o(t,a),h>=p&&h>=_?(k=(i=[r,t,a])[0],m=i[1],f=i[2]):_>=h&&_>=p?(k=(s=[t,r,a])[0],m=s[1],f=s[2]):(k=(u=[t,a,r])[0],m=u[1],f=u[2]),(f.x-m.x)*(k.y-m.y)-(f.y-m.y)*(k.x-m.x)<0&&(k=(g=[f,k])[0],f=g[1]),{bottomLeft:k,topLeft:m,topRight:f}),S=x.topRight,R=x.topLeft,I=x.bottomLeft,M=d(e,C,S,R,I),$=[];M&&$.push({alignmentPattern:{x:M.alignmentPattern.x,y:M.alignmentPattern.y},bottomLeft:{x:I.x,y:I.y},dimension:M.dimension,topLeft:{x:R.x,y:R.y},topRight:{x:S.x,y:S.y}});var D=c(e,S),T=c(e,R),E=c(e,I),j=d(e,C,D,T,E);return(j&&$.push({alignmentPattern:{x:j.alignmentPattern.x,y:j.alignmentPattern.y},bottomLeft:{x:E.x,y:E.y},topLeft:{x:T.x,y:T.y},topRight:{x:D.x,y:D.y},dimension:j.dimension}),0===$.length)?null:$}}]).default}(),tQ.exports}(),tU=Q(tq);async function tX({imageData:e,canvas:t}){let r=e;r||(r=t.getContext("2d").getImageData(0,0,t.width,t.height));let o=tU(r.data,r.width,r.height,{inversionAttempts:"dontInvert"});return o?o.data:""}async function tK({canvas:e,qrScannerResources:t}){return new Promise(r=>{setTimeout(()=>r(""),1e3),q.scanImage(e,void 0,void 0,t.canvas).then(r).catch(()=>r(""))})}let tH=async({canvas:e,blob:t,qrScannerResources:r})=>{let o=e,n="jsqr";t&&(o=await O.blobToCanvas({blob:t}));let a=o.getContext("2d"),i=await tX({imageData:a.getImageData(0,0,o.width,o.height)});return i||(i=await tK({canvas:o,qrScannerResources:r}),n="qr-scanner"),{code:i,readBy:n}};function tG({width:e=145,height:t=145,surroundStyle:o={opacity:.6,background:"#000"}}){let n=b(),a=B.useAsset(`${d(n,"themeVersion")}/qr_capture_cursor.png`),i={stroke:u.DesignToken.Color.separators.primary,strokeWidth:X.getCSSNumericValue(u.DesignToken.BorderWidth["3xl"]),radius:13};return r.jsxs("div",{style:{width:e,height:t},children:[r.jsx("img",{src:a,width:e-16,height:t-16,alt:"",style:{top:8,left:8,position:"absolute"}}),r.jsxs("svg",{width:e,height:t,children:[r.jsx("rect",{x:1,y:1,rx:10,ry:10,width:e-2,height:t-2,style:{fill:"none",...i}}),r.jsx("path",{d:"M0,13 Q0,0 13,0 L0,0 Z",style:o}),r.jsx("path",{d:`M0,${t-13} Q0,${t} 13,${t} L0,${t} Z`,style:o}),r.jsx("path",{d:`M${e-13},${t} Q${e},${t} ${e},${t-13} L${e},${t} Z`,style:o}),r.jsx("path",{d:`M${e-13},0 Q${e},0 ${e},13 L${e},0 Z`,style:o})]})]})}function tZ(e){let{windowAndVideoInfo:a,onUISpacingChange:i,refVideo:s,settings:l,onCaptureDone:c,outputEncryptionSettings:g}=e,[k,m]=t.useState(null),f=b(),[p,h]=t.useState({}),{yTooltip:_,yMessage:w}=p,v=C(),{sendEvent:x}=M.useSDKTracking(),{showPopup:S,popupShown:R,popupType:$}=tt(),[D,A]=t.useState(!1),[L,F]=t.useState(null),z=t.useRef(()=>{}),Q=B.useAsset(`${d(f,"themeVersion")}/ic_loading.gif`),q=n("QRStep.scanCountdown.color")({theme:f}),X=t.useRef();t.useEffect(()=>{x({tag:"id_qr",event:"user_activity.start",log:{}}),X.current=performance.now()},[x]),t.useEffect(()=>{S({popupType:ta})},[S]),t.useEffect(()=>{if(a){let{videoAreaWidth:e,lostX:t,lostY:r}=a,n=o.isMobile?Math.min(e-6,145):145,s=r+140,l=s-90,c=s+n+15,d=Math.floor((e-n)/2)+t;m({x:d,y:s,width:n,height:n,surroundStyle:{opacity:.6,background:"#000"}});let u={yTitle:l,yTooltip:l+30,yMessage:c};h(u),i(u)}},[a,i]);let K=t.useCallback(e=>{(x({tag:"id_qr",event:"sdk_ui.scan_time_out",log:{}}),F(""),l?.isQrStepOnly)?z.current():c(e)},[c,x,l?.isQrStepOnly]),H=t.useCallback(e=>{let{validateResult:{valid:t}}=e;F("");let r=performance.now();t?(x({tag:"id_qr",event:"sdk_ui.scan_success",log:{time_capture_in_seconds:(r-X.current)/1e3}}),c(e)):(S({popupType:tn}),x({tag:"id_qr",event:"sdk_ui.invalid_qr_alert",log:{}}))},[S,c,x]),{isProcessing:G,restartSession:Z,warmupDone:J}=(({shouldStart:e,refVideo:r,cropArea:o,settings:n,onSessionTimeout:a,onCaptureDone:i,onAboutToTimeout:s,outputEncryptionSettings:l,estimatedStartTime:c})=>{let[d,g]=t.useState(!1),k=t.useRef(()=>{}),m=t.useRef(()=>{}),{sendEvent:f}=M.useSDKTracking(),{onErrorCallback:p}=eg(),{stopCheckFrame:h,checkFrame:_,warmupDone:b}=function({refVideo:e,shouldStart:r,cropArea:o,settings:n,onResult:a,outputEncryptionSettings:i}){let s=t.useRef(null);null===s.current&&(s.current=document.createElement("canvas"));let l=t.useRef(!1),c=t.useRef(null),d=t.useRef(),[u,g]=t.useState(!1),k=t.useRef({}),{customUrls:m,qrSettings:f}=y.useSDKSettings();t.useEffect(()=>{(async function e(){u||(k.current=await V({modelUrl:m?.wechatQRModelsUrl}),g(!0))})()},[u,m]);let p=t.useCallback(()=>{!0===l.current&&(l.current=!1)},[]),h=t.useCallback(async()=>{if(!u||!n||l.current)return;let{qrModel:t,qrScannerResources:r,noModel:o}=k.current,g=c.current,m=e.current;l.current=!0;let{cropX:h,cropY:_,cropWidth:b,cropHeight:B}=g,C=s.current;C.width=b,C.height=B;let w=C.getContext("2d"),y=async()=>{let e;w.drawImage(m,h,_,b,B,0,0,b,B);let c=performance.now(),u="";if(o){let{code:t,readBy:o}=await tH({canvas:C,qrScannerResources:r});e=t,u=o}else e=await tL({canvas:C,qrModel:t}),u="wechat";if(c=Math.floor(performance.now()-c),e){let t;p();let r=n.enableQrValidation&&n.isVietnameseCardFlow?U.validateIdQRContent(e):{valid:!0},o=await P.takePicture({canvas:s.current});T.addExifData("user_action",{start_id_card:d.current,end_id_card:Date.now()});let l=await T.writeCurrentExif({imageData:{blob:o},enableExifData:"boolean"!=typeof f?.enableExif||f?.enableExif,additionalData:{capture_time:Date.now(),qr_string:e,type:"qr",qr_read_by:u}});if(i&&i.key){let{key:e}=i;t=await E.encrypt({blob:l,key:e})}a({result:e,validateResult:r,image:{blob:l,encrypted:t}})}let g=180-c>0?180-c:0;await new Promise(e=>setTimeout(e,g)),l.current&&window.requestAnimationFrame(y)};window.requestAnimationFrame(y)},[u,n,e,p,f?.enableExif,i,a]),_=t.useCallback(()=>{p()},[p]);return t.useEffect(()=>{let t=e.current;r||_(),u&&r&&o&&t&&t.videoWidth>0&&(d.current=Date.now(),c.current=P.analyzeVideoAndWindowSizes(t,o,0),h())},[r,o,e,p,h,u,_]),t.useEffect(()=>_,[_]),{refWorkingCanvas:s,stopCheckFrame:p,checkFrame:h,warmupDone:u}}({refVideo:r,shouldStart:e,cropArea:o,settings:n,onResult:t.useCallback((...e)=>{k.current(...e)},[]),outputEncryptionSettings:l}),{stopCheckFrame:B,refRecordedVideos:C,resetRecordedVideos:w,checkFrame:v}=function({refVideo:e,shouldStart:r,cropArea:o,settings:n}){let a=t.useRef(null);null===a.current&&(a.current=document.createElement("canvas"));let i=t.useRef(!1),s=t.useRef(O.createResizer({width:960,height:640})),l=t.useRef(null),c=t.useRef([tA()]),d=t.useCallback(()=>{!0===i.current&&(i.current=!1)},[]),u=t.useCallback(()=>{c.current=[tA()]},[]),g=t.useCallback(()=>{let e=c.current;e[e.length-1].frames.length>0&&e.push(tA())},[]),k=t.useCallback(async({workingCanvas:e})=>{let t=s.current,r=c.current,o=t.resize({srcCanvas:e}).toDataURL("image/jpeg",n.saveFrameQuality/100).split(",")[1];r[r.length-1].frames.push({base64:o})},[n]),m=t.useCallback(async()=>{if(!n)return;let{frameCaptureIntervalMs:t=180,enableRecording:r}=n;if(!r)return;let o=l.current,s=e.current;i.current=!0;let{cropX:c,cropY:d,cropWidth:u,cropHeight:g}=o,m=a.current;m.width=u,m.height=g;let f=m.getContext("2d");for(;;){let e=performance.now();if(f.drawImage(s,c,d,u,g,0,0,u,g),await k({workingCanvas:m}),e=Math.floor(performance.now()-e),!i.current)break;let r=0;t-e>0&&(r=t-e),await N.sleep(r)}},[e,k,n]);return t.useEffect(()=>{let t=e.current;async function n(){l.current=P.analyzeVideoAndWindowSizes(t,o),await m()}return r&&o&&n(),()=>{d()}},[r,o,e,d,g,m]),{refWorkingCanvas:a,stopCheckFrame:d,splitVideos:g,resetRecordedVideos:u,checkFrame:m,refRecordedVideos:c}}({refVideo:r,shouldStart:e&&b,cropArea:o,settings:n});k.current=t.useCallback(async e=>{g(!0),B(),h(),m.current(),i({...e,...n?.enableRecording?{recordedVideos:C.current}:{}}),g(!1)},[B,h,i,n?.enableRecording,C]);let{resumeTimer:x,pauseTimer:S}=(e=>{let{interruptible:r=!0,totalTime:o,maxRetriesSettings:n,onAboutToTimeout:a,onTimeout:i,shouldStart:s,onError:l,estimatedStartTime:c}=e,d=t.useRef(new I({totalTime:o,interruptible:r,estimatedStartTime:c}));t.useEffect(()=>d.current.on("tick",({remainTime:e})=>{e>=0&&e<=o/3&&"function"==typeof a&&a({curTimeLeft:e})}),[a,o,r]),t.useEffect(()=>d.current.on("reset",({attemptCount:e})=>{r&&d.current.pause(),i(),n?.enable&&e>=n?.total&&l(u.Errors.max_retry_reached)}),[i,l,n?.enable,n?.total,r]),t.useEffect(()=>s?d.current.start():()=>{},[s]);let g=t.useCallback(()=>{d.current.resume()},[]);return{resumeTimer:g,pauseTimer:t.useCallback(()=>{d.current.pause()},[])}})({shouldStart:e&&b,onAboutToTimeout:s,onTimeout:t.useCallback(()=>{B(),h();let e=[...C.current],t=n?.enableRecording?{recordedVideos:e}:null;w(),a(t)},[B,h,C,n?.enableRecording,a,w]),onError:p,totalTime:n?.scanQrLimitTimeSecond,maxRetriesSettings:n?.maxRetriesScanQrSettings,interruptible:n?.qrTimerInterruptible,estimatedStartTime:c});m.current=S;let R=t.useCallback(async()=>{x(),await Promise.all([v(),_()])},[v,_,x]);return t.useEffect(()=>{b&&async function(){Object.values(await j.reportResourceLoad()).forEach(e=>{f({tag:"id_qr",event:"sdk.download_model",log:e})})}()},[f,b]),{isProcessing:d,restartSession:R,refRecordedVideos:C,warmupDone:b}})({shouldStart:D,refVideo:s,cropArea:k,settings:l,onSessionTimeout:K,onCaptureDone:H,onAboutToTimeout:t.useCallback(({curTimeLeft:e})=>{F(v("remaining_time",{x:e}))},[v]),outputEncryptionSettings:g,estimatedStartTime:Date.now()+1e4});z.current=Z;let Y=t.useCallback(()=>{S({popupType:null})},[S]),ee=t.useCallback(async()=>{Y(),X.current=performance.now(),x({tag:"id_qr",event:"user_activity.invalid_qr_retry",log:{}}),await Z()},[Z,Y,x]),et=t.useCallback(()=>{Y(),x({tag:"id_qr",event:"user_activity.invalid_qr_skip",log:{}}),c()},[Y,c,x]),er=t.useCallback(()=>{Y(),A(!0)},[Y]);return r.jsxs(r.Fragment,{children:[!J&&r.jsx(es,{contentStyle:{maxWidth:"300px"}}),k&&r.jsx(el,{x:`${k.x}px`,y:`${k.y}px`,width:`${k.width}px`,height:`${k.height}px`,surroundStyle:k.surroundStyle,children:r.jsx(tG,{width:k.width,height:k.height,surroundStyle:k.surroundStyle})}),r.jsx(tE,{y:`${_}px`,children:v("qr_tooltip")}),L&&r.jsxs(eJ,{y:`${w}px`,children:[r.jsx(W,{color:q}),r.jsx(tj,{className:"message",y:`${w}px`,children:L},L)]}),G&&r.jsx(eq,{children:r.jsx("img",{src:Q,alt:""})}),r.jsxs(ec,{contentStyle:{maxWidth:"332px"},open:R,children:[$===tn&&r.jsx(t$,{onRetry:ee,onSkip:et}),$===ta&&r.jsx(tP,{onClickStart:er,onTimeout:er,timeout:10})]})]})}tZ.propTypes={windowAndVideoInfo:e.shape({}),onUISpacingChange:e.func,refVideo:e.shape({}),settings:e.shape({maxRetriesScanQrSettings:e.shape({enable:e.bool}),isQrStepOnly:e.bool}),onCaptureDone:e.func,outputEncryptionSettings:e.shape({})},tZ.defaultProps={windowAndVideoInfo:{},onUISpacingChange:()=>{},refVideo:{},settings:{},onCaptureDone:()=>{},outputEncryptionSettings:null};let tJ="SUCCESS",tY="WARNING",t3={[tJ]:"✓",[tY]:"!"},t2=g.div`
355
355
  font-weight: normal;
356
- `,t2=g.div`
356
+ `,t5=g.div`
357
357
  height: 2px;
358
358
  width: 100%;
359
- background: ${({theme:e,$type:t})=>{let r=n(`QRStep.resultText.${t===tZ?"success":"error"}.mainColor`)({theme:e});return f`linear-gradient(to right, ${r}00, ${r}ff, ${r}00)`}};
360
- `,t5=g.div`
359
+ background: ${({theme:e,$type:t})=>{let r=n(`QRStep.resultText.${t===tJ?"success":"error"}.mainColor`)({theme:e});return p`linear-gradient(to right, ${r}00, ${r}ff, ${r}00)`}};
360
+ `,t0=g.div`
361
361
  width: 22px;
362
362
  height: 22px;
363
363
  border-radius: 50%;
364
- background: ${({theme:e,$type:t})=>n(`QRStep.resultText.${t===tZ?"success":"error"}.mainColor`)({theme:e})};
364
+ background: ${({theme:e,$type:t})=>n(`QRStep.resultText.${t===tJ?"success":"error"}.mainColor`)({theme:e})};
365
365
 
366
366
  display: flex;
367
367
  justify-content: center;
@@ -369,60 +369,60 @@ import{P as e,r as t,j as r,k as o,m as n,n as a,q as s,t as i,v as l,l as c,s a
369
369
  color: #fff;
370
370
  margin-right: 8px;
371
371
  font-weight: bold;
372
- `,t0=g.div`
372
+ `,t8=g.div`
373
373
  display: flex;
374
374
  justify-content: center;
375
375
  align-items: center;
376
376
  margin: 10px 0;
377
- ${({$type:e,theme:t})=>{let r=e===tZ?"success":"error";return f`
377
+ ${({$type:e,theme:t})=>{let r=e===tJ?"success":"error";return p`
378
378
  color: ${n(`QRStep.resultText.${r}.textColor`)({theme:t})};
379
379
  font-size: ${n(`QRStep.resultText.${r}.fontSize`)({theme:t})};
380
380
  font-weight: ${n(`QRStep.resultText.${r}.fontWeight`)({theme:t})};
381
381
  `}};
382
- `,t8=({children:e=null,type:t="SUCCESS",className:o=""})=>r.jsxs(t3,{className:o,children:[r.jsx(t2,{$type:t}),r.jsxs(t0,{$type:t,children:[r.jsx(t5,{$type:t,children:tY[t]}),e]}),r.jsx(t2,{$type:t})]}),t9=g.div`
382
+ `,t9=({children:e=null,type:t="SUCCESS",className:o=""})=>r.jsxs(t2,{className:o,children:[r.jsx(t5,{$type:t}),r.jsxs(t8,{$type:t,children:[r.jsx(t0,{$type:t,children:t3[t]}),e]}),r.jsx(t5,{$type:t})]}),t4=g.div`
383
383
  width: 100%;
384
384
  padding-bottom: ${e=>1/e.ratio*100}%;
385
385
  position: relative;
386
- `,t4=g.div`
386
+ `,t7=g.div`
387
387
  position: absolute;
388
388
  top: ${e=>e.padding};
389
389
  left: ${e=>e.padding};
390
390
  right: ${e=>e.padding};
391
391
  bottom: ${e=>e.padding};
392
- `,t7=({children:e=null,ratio:t=4/3,padding:o="0",...n})=>r.jsx(t9,{ratio:t,...n,children:r.jsx(t4,{padding:o,children:e})}),t1=g.div`
392
+ `,t1=({children:e=null,ratio:t=4/3,padding:o="0",...n})=>r.jsx(t4,{ratio:t,...n,children:r.jsx(t7,{padding:o,children:e})}),t6=g.div`
393
393
  display: flex;
394
394
  justify-content: center;
395
395
  align-items: center;
396
396
  flex-direction: column;
397
397
  padding: 10px;
398
- `,t6=g.div`
398
+ `,re=g.div`
399
399
  text-align: center;
400
400
  font-size: 1rem;
401
401
  color: #ea3223;
402
402
  margin-top: 25px;
403
- `,re=g(e9)`
403
+ `,rt=g(e9)`
404
404
  margin-top: 20px;
405
405
  width: 100%;
406
406
  height: 50px;
407
407
  cursor: pointer;
408
- `,rt=g(e4)`
408
+ `,rr=g(e4)`
409
409
  margin-top: 20px;
410
410
  width: 100%;
411
411
  height: 50px;
412
412
  cursor: pointer;
413
- `,rr=g.img`
413
+ `,ro=g.img`
414
414
  width: 100%;
415
415
  height: auto;
416
416
  object-fit: contain;
417
417
  border-radius: ${n("IDConfirmPopup.image.borderRadius")};
418
- `,ro=g.div`
418
+ `,rn=g.div`
419
419
  margin: 20px 0;
420
420
  width: 100%;
421
421
  display: flex;
422
422
  justify-content: space-evenly;
423
423
  gap: 10px;
424
- `,rn=({imageTaken:e,onConfirm:o,onTryAgain:n,error:a,hasValidQR:s,frontSide:i})=>{let[l,c]=t.useState(null),{lang:d}=w.useSDKSettings(),u=C(),{sendEvent:g}=$.useSDKTracking();return t.useEffect(()=>{g({tag:i?"id_front":"id_back",event:"user_activity.show_confirm",log:{}})},[i,g]),t.useEffect(()=>{let t;return e&&c(t=URL.createObjectURL(e.blob)),()=>{URL.revokeObjectURL(t)}},[e]),r.jsxs(t1,{children:[null!==s&&r.jsx(tf,{mb:"20px",children:r.jsx("div",{children:r.jsx(t8,{type:s?tZ:tJ,children:u(s?"confirm_popup_valid_qr":"confirm_popup_invalid_qr")})})}),r.jsx(t7,{ratio:1.5,children:r.jsx(rr,{src:l})}),a&&r.jsx(t6,{className:"confirm-popup-error-message",children:a?.msg?.[d]}),r.jsxs(ro,{children:[r.jsx(rt,{onClick:()=>{g({tag:i?"id_front":"id_back",event:"user_activity.retry",log:{}}),n()},children:u("btn_try_again")}),r.jsx(re,{onClick:()=>{g({tag:i?"id_front":"id_back",event:"user_activity.submit",log:{}}),o()},children:u("btn_use_this_picture")})]})]})};rn.propTypes={imageTaken:e.shape({}),error:e.shape({msg:e.shape({})}),onConfirm:e.func,onTryAgain:e.func,hasValidQR:e.bool,frontSide:e.bool},rn.defaultProps={imageTaken:null,error:null,onConfirm:()=>{},onTryAgain:()=>{},hasValidQR:null,frontSide:!0};let ra=H`
424
+ `,ra=({imageTaken:e,onConfirm:o,onTryAgain:n,error:a,hasValidQR:i,frontSide:s})=>{let[l,c]=t.useState(null),{lang:d}=y.useSDKSettings(),u=C(),{sendEvent:g}=M.useSDKTracking();return t.useEffect(()=>{g({tag:s?"id_front":"id_back",event:"user_activity.show_confirm",log:{}})},[s,g]),t.useEffect(()=>{let t;return e&&c(t=URL.createObjectURL(e.blob)),()=>{URL.revokeObjectURL(t)}},[e]),r.jsxs(t6,{children:[null!==i&&r.jsx(th,{mb:"20px",children:r.jsx("div",{children:r.jsx(t9,{type:i?tJ:tY,children:u(i?"confirm_popup_valid_qr":"confirm_popup_invalid_qr")})})}),r.jsx(t1,{ratio:1.5,children:r.jsx(ro,{src:l})}),a&&r.jsx(re,{className:"confirm-popup-error-message",children:a?.msg?.[d]}),r.jsxs(rn,{children:[r.jsx(rr,{onClick:()=>{g({tag:s?"id_front":"id_back",event:"user_activity.retry",log:{}}),n()},children:u("btn_try_again")}),r.jsx(rt,{onClick:()=>{g({tag:s?"id_front":"id_back",event:"user_activity.submit",log:{}}),o()},children:u("btn_use_this_picture")})]})]})};ra.propTypes={imageTaken:e.shape({}),error:e.shape({msg:e.shape({})}),onConfirm:e.func,onTryAgain:e.func,hasValidQR:e.bool,frontSide:e.bool},ra.defaultProps={imageTaken:null,error:null,onConfirm:()=>{},onTryAgain:()=>{},hasValidQR:null,frontSide:!0};let ri=K`
425
425
  .text-primary {
426
426
  color: ${e=>e.theme.tsBlue};
427
427
  }
428
- `;function rs(e){let{settings:o,outputEncryptionSettings:n,defaultCameraId:a,globalStyle:s,styledComponent:i,frontCamera:l,flipVideoHorizontal:c,scannerTypeCons:d,allowedCardTypes:g,...k}=e,{numberOfCaptures:m,stepNumber:p,frontSide:f,titleIcon:h,title:b,description:C,scannerType:w,usePortraitMask:y,shouldShowSpinner:v,handleQRCaptureDone:P,handleIDCardCaptureDone:x,handleRestartSession:S,refIDCardReader:R,handleClickConfirm:I,popupType:$,popupShown:M,popupProps:D}=k,T=B(),E=t.useRef(null),[j,L]=t.useState(null),[F,W]=t.useState(!1),O=A("IDCapturing.loadingIcon.src","ic_loading.gif"),{onErrorCallback:z,onCloseCallback:N}=eg(),[V,Q]=t.useState({}),{yTitle:q}=V,U=t.useCallback(e=>{L(e),W(!0)},[]);t.useEffect(()=>{W(!1)},[l]);let X=A("IDCapturing.cardIcon.src",h),{CloseCameraButton:H}=i,Y=t.useCallback((e,t)=>{e!==t?E.current?.pause():E.current?.play()},[E]);return r.jsx(ed,{onOrientationChange:Y,children:r.jsxs(K,{theme:em,children:[r.jsxs(eN,{children:[r.jsxs(G,{frontCamera:l,onVideoPlayed:U,onClose:N,flipHorizontal:c??l,ref:E,onError:z,defaultCameraId:a,closeButton:H||null,videoSettings:o?.imageSettings.videoSettings,children:[F&&r.jsxs(r.Fragment,{children:[w===d.ID_CARD&&r.jsx(tp,{ref:R,windowAndVideoInfo:j,refVideo:E,settings:o,onCaptureDone:x,onUISpacingChange:Q,frontSide:f,allowedCardTypes:g,description:C,usePortraitMask:y,outputEncryptionSettings:n,isShowingSpinner:v},p),w===d.QR_CODE&&r.jsx(tG,{refVideo:E,windowAndVideoInfo:j,settings:o,onCaptureDone:P,onUISpacingChange:Q,outputEncryptionSettings:n},p)]}),r.jsx(_,{keyForTransition:m}),r.jsx(eX,{y:`${q}px`,children:r.jsx(Z,{children:r.jsx(J,{timeout:{enter:ez,exit:ez},classNames:"flipY",unmountOnExit:!0,children:r.jsxs(eH,{children:[h&&"v2"!==u(T,"themeVersion")&&r.jsx(eV,{src:X,alt:""}),r.jsx(eK,{className:"title",$isQr:w===d.QR_CODE,$isFront:f,children:b})]})},b)})}),v&&r.jsx(eq,{children:r.jsx("img",{src:O,alt:""})})]},l),r.jsx(ec,{open:M,children:$===to&&r.jsx(rn,{...D,onConfirm:I,onTryAgain:S,frontSide:f})})]}),r.jsx(s,{})]})})}let ri={allowedCardTypes:e.arrayOf(e.string),settings:e.shape({}),onClose:e.func,onError:e.func,outputEncryptionSettings:e.shape({}),defaultCameraId:e.string,globalStyle:e.shape({}),styledComponent:e.shape({CloseCameraButton:e.node}),frontCamera:e.bool,flipVideoHorizontal:e.bool,scannerTypeCons:e.shape({}).isRequired,customTexts:e.shape({})},rl={allowedCardTypes:[],settings:null,onClose:()=>{},onError:()=>{},outputEncryptionSettings:null,defaultCameraId:void 0,globalStyle:ra,styledComponent:{CloseCameraButton:null},frontCamera:!1,customTexts:null,flipVideoHorizontal:null};rs.propTypes=ri,rs.defaultProps=rl;let rc=e=>{if(!e||0===e.length)return d.BillingService.idCard;if(1===e.length)switch(e[0].scannerType){case eP.ID_CARD:break;case eP.QR_CODE:return d.BillingService.qr}return d.BillingService.idCard},{IDCardSide:rd,IDCardType:ru,Errors:rg}=d,rk={scannerType:eP.ID_CARD,title:r.jsx(Y,{id:"front_card_title"}),description:r.jsx(Y,{id:"front_card_description"}),titleIcon:"id_card_front.svg",cardSide:d.IDCardSide.FRONT,cardType:ru.VN,enableConfirmPopup:!1},rm={scannerType:eP.ID_CARD,title:r.jsx(Y,{id:"back_card_title"}),description:r.jsx(Y,{id:"back_card_description"}),titleIcon:"id_card_back.svg",cardSide:d.IDCardSide.BACK,cardType:ru.VN,enableConfirmPopup:!1},rp={scannerType:eP.QR_CODE,title:r.jsx(Y,{id:"qr_title"}),titleIcon:""},rf=[{scannerType:eP.ID_CARD,title:"Chụp mặt trước",description:"Căn chỉnh giấy tờ khớp với khung h\xecnh",titleIcon:"id_card_front.svg",cardSide:d.IDCardSide.FRONT,cardType:ru.VN,enableConfirmPopup:!1},{scannerType:eP.ID_CARD,title:"Chụp mặt sau",description:"Căn chỉnh giấy tờ khớp với khung h\xecnh",titleIcon:"id_card_back.svg",cardSide:d.IDCardSide.BACK,cardType:ru.VN,enableConfirmPopup:!1}],rh=0,r_=1,rB=()=>Promise.resolve({card_label:""}),rb=({settings:e,onError:r,detectIdCard:n=rB,outputEncryptionSettings:a,steps:s,onStepDone:i,billingInput:l={}})=>{let g=u(e,"hasBackSide",!0),k=t.useMemo(()=>((e,t)=>{if(!Array.isArray(e)||0===e.length)return t?[rk,rm]:[rk];let r=[];return(e.forEach(e=>{if(e.scannerType===eP.QR_CODE)return void r.push({...rp,...e});if(e.scannerType===eP.ID_CARD){if(e.cardSide===rd.FRONT)return void r.push({...rk,...e});e.cardSide===rd.BACK&&r.push({...rm,...e})}}),0===r.length)?t?[rk,rm]:[rk]:r})(s,g),[s,g]),[m,p]=t.useState(0),[f,h]=t.useState(k[m]),[_,B]=t.useState(0),[b,C]=t.useState(!1),y=t.useRef({}),v=t.useRef([]),P=t.useRef(null),x=t.useRef(null),S=t.useRef(null),R=t.useRef(),I=t.useRef(null),$=ep(),{enableBilling:M,billingSettings:D}=w.useSDKSettings(),{submitBilling:T}=ee({enable:M,billingSettings:D??{json:e.billingSettings??{}},billingUrl:e.billingUrl,onError:r}),{showPopup:E,popupShown:j,popupType:A,props:L}=tt(),{scannerType:F,title:W,titleIcon:O,cardSide:z,description:N,usePortraitMask:V,cardType:Q,enableConfirmPopup:q}=f,U=1===k.length||k.length>1&&z===rd.BACK,X=rc(k),H=t.useCallback(e=>{e>=k.length||setTimeout(()=>{p(e),h(k[e])},200)},[k]),K=t.useCallback(()=>{H(m+1)},[H,m]),G=t.useCallback(()=>{setTimeout(()=>{h(e=>({...e,...rp}))},200)},[]),Z=t.useCallback(()=>{E({popupType:null})},[E]),J=t.useCallback(()=>{Z(),S.current=null,F===eP.QR_CODE?H(m):F===eP.ID_CARD&&(I.current===rd.FRONT?H(rh):I.current===rd.BACK&&H(r_),R.current.restartSession())},[H,m,Z,F]),Y=t.useCallback(async()=>{let t={stepNumber:m,cardSide:z,cardType:y.current?.detectedCard?.cardType||e?.typeFromAllowedCards||Q,image:y.current,...e?.enableRecording?{recordedVideos:v.current}:{},fullVideo:x.current,capturingVideo:P.current};if((F===eP.QR_CODE&&S.current||S.current?.result)&&(t.qrScannedResult=S.current),C(!0),U&&"id_with_api_call"!==$){let r={service:X,input:l,output:{result:et.buildBillingOutput(t),sdkStatus:d.BillingStatus.success}};if(e.isQrStepOnly){let e=S.current?.result;if(e){let t=e.split("|")[0];r.id_num=c.SHA256(t),r.full_hash=c.SHA256(e)}else r.output={...r.output,sdkStatus:d.BillingStatus.cancel}}try{if(!await T(r))return void C(!1)}catch(e){console.error("Error submitting billing:",e)}}let r=await i(t,{shouldBilling:U});r&&r.retryAt?(I.current=r.retryAt,C(!1)):(C(!1),S.current=null,K())},[e?.typeFromAllowedCards,e?.enableRecording,e.isQrStepOnly,m,z,Q,F,U,i,X,T,K,$,l]),eo=t.useCallback(e=>{if(S.current=e,e&&Array.isArray(e.recordedVideos)){let{recordedVideos:t}=e;v.current.push(...t)}B(e=>e+1);let t=!!e?.validateResult?.valid;q?E({popupType:to,props:{hasValidQR:t,imageTaken:y.current}}):Y()},[E,q,Y]),en=t.useCallback((e,t)=>{if(S.current)return!1;let r=t===rd.FRONT&&er.isFrontQRVnCardLabel(e),o=t===rd.BACK&&er.isBackQRVnCardLabel(e);return r||o},[]),ea=t.useCallback(()=>!S.current&&!0,[]),es=t.useCallback(async({cardLabel:t,side:r,onSkipQrScan:o})=>{let n;if(!en(t,r))return void o();let s=e?.enableScanQrViaImage,i=e?.enableScanQrViaStep;if(s&&(C(!0),n=await tz(y.current.blob,a,r),C(!1),n))return void eo(n);!n&&i?G():o()},[G,eo,a,e?.enableScanQrViaImage,e?.enableScanQrViaStep,en]),ei=t.useCallback(async({cardLabel:t,side:r,onSkipQrScan:o,qrScannedResults:n})=>{let s;if(!ea(t,r))return void o();if(n?.results?.length>0){let e=await tW({blob:n.imageBlob,outputEncryptionSettings:a,cardSide:r,results:n.results,readFrom:"background"});C(!1),eo(e);return}let i=e?.enableScanQrViaImage,l=e?.enableScanQrViaStep;if(i&&(C(!0),s=e?.cardQRConfig?await tO({blob:y.current.blob,outputEncryptionSettings:a,cardSide:r,cardQRConfig:e.cardQRConfig}):await tz(y.current.blob,a,r,tF),C(!1),s))return void eo(s);let c=(e?.allowedCards||[]).find(e=>er.isCardLabelMatchedCardType(t,e.code)),d=r===rd.FRONT&&e.hasFrontQr||r===rd.BACK&&e.hasBackQr;if(c){let e=r===rd.FRONT&&c.front_qr?.exist,t=r===rd.BACK&&c.back_qr?.exist;d=e||t}!s&&l&&d?G():o()},[G,eo,a,e?.allowedCards,e?.cardQRConfig,e?.enableScanQrViaImage,e?.enableScanQrViaStep,e.hasBackQr,e.hasFrontQr,ea]),el=t.useCallback(async({image:t,error:a,recordedVideos:s,fullVideo:i,capturingVideo:l,qrScannedResults:c})=>{P.current=l,x.current=i,y.current=t,v.current=s,B(e=>e+1);let d=()=>{q?E({popupType:to,props:{imageTaken:y.current,error:a}}):Y()},u=e?.enableScanQrViaImage,g=e?.enableScanQrViaStep;if(!o.isMobile||!u&&!g)return void d();let k=t?.detectedCard?.label,m="";if(!k){C(!0);try{let e=await n({image:t,cardType:Q,cardSide:z});k=e.card_label,m=e.card_label}catch(e){r(rg.detect_id_card_error)}C(!1)}e.isVietnameseCardFlow?es({cardLabel:k,side:z,onSkipQrScan:d}):ei({cardLabel:m,side:z,onSkipQrScan:d,qrScannedResults:c})},[e?.enableScanQrViaImage,e?.enableScanQrViaStep,e.isVietnameseCardFlow,q,E,Y,n,Q,z,r,es,ei]),ec=t.useCallback(()=>{Z(),Y()},[Y,Z]);return{numberOfCaptures:_,stepNumber:m,titleIcon:O,title:W,description:N,frontSide:z===rd.FRONT,scannerType:F,usePortraitMask:V,shouldShowSpinner:b,handleQRCaptureDone:eo,handleIDCardCaptureDone:el,handleRestartSession:J,refIDCardReader:R,handleClickConfirm:ec,showPopup:E,popupType:A,popupShown:j,popupProps:L}},rC=e=>{let t=atob(e);return 858===t.length&&0===t.charCodeAt(0)&&(0===t.charCodeAt(1)||1===t.charCodeAt(1))},rw={data:{country:"vn",settings:{sdk_settings:{id_detection_settings:{show_hold_still_progress:!1,show_auto_capture_toggle:!1,auto_capture:{enable:!1,show_capture_button:!0,wait_for_best_image_time_ms:1e3},manual_capture:{wait_for_best_image_time_ms:1e3},card_type_check:{enable:!1},track_card_coordinates:{enable:!1,max_length:150},blur_check:{enable:!0,large_blurry_threshold_auto:1350.8,large_blurry_threshold_manual:1350.8,small_blurry_threshold_auto:10.4386,small_blurry_threshold_manual:10.4386,large_blurry_decimal:2,small_blurry_decimal:2},blur_check_generic:{enable:!0,large_blurry_threshold_auto:0,large_blurry_threshold_manual:0,small_blurry_threshold_auto:0,small_blurry_threshold_manual:0,large_blurry_decimal:2,small_blurry_decimal:2,full_face_image_ratio:{top:.5,right:.333,left:.333,bottom:.333}},face_check_generic:{front_side:{enable:!0},back_side:{enable:!1}},flashlight_settings:{activation_delay_ms_back:1e3,activation_delay_ms_front:1e3,duration_ms_back:1e3,duration_ms_front:1e3,enable_back:!1,enable_front:!1},glare_check:{enable:!0,threshold:.001},glare_check_generic:{enable:!0,threshold:.001},disable_capture_button_if_alert:!1,exif_data_settings:{enable:!0},id_detection:{enable:!0,card_type_model_mapping:{"vn.national_id":{model:"model_vn",force_off_detection:!1},"vn.cccd_new":{model:"model_vn",force_off_detection:!1},"vn.*":{model:"model_vn",force_off_detection:!1},"global.passport":{model:"model_vn",force_off_detection:!0},"ph.national_id":{model:"model_vn",force_off_detection:!1},"ph.*":{model:"model_vn",force_off_detection:!1}}},limit_time_settings:{enable:!0,limit_time_second:30,video_partial_length_seconds:15,max_retry_count:0,non_stoppable:!1},record_video:{enable_record_full_session_front:!1,enable_record_full_session_back:!1,enable_record_from_capture_bestframe_front:!1,enable_record_from_capture_bestframe_back:!1,video_frame_size_width:null,video_frame_size_height:null,bitrate:7e5,fps:16},save_frame_settings:{enable:!1,frames_interval_ms:190,quality:80},scan_qr_settings:{enable:!0,enable_validation:!0,enable_scan_background:!1,limit_time_second:20,non_stoppable:!1,max_retry_count:0,scan_via_image:null,scan_via_step:null},virtual_cam_hashes:{web:!1,mobile:!1},image_settings:{ideal_width:null,ideal_height:null,ideal_width_mobile_web:null,ideal_height_mobile_web:null,image_quality:1}}}}}};function ry({clientSettings:e,allowedCardTypes:r=[],steps:n}){return{settings:t.useMemo(()=>{let t=ef({},rw,e),a=u(t,"data.country","vn"),s=((e=[],t="vn")=>{if(0===e.length)if("ph"===t)return d.CardTypes.PhilippinesCards;else return d.CardTypes.VietnameseCards;return e.map(e=>"string"==typeof e?d.convertStringToCardType(e):e)})(r,a),i=s?.[0]?.code?.startsWith("vn."),l=s?.[0]?.code?.split(".")?.[0]??a,c=u(s,"[0].code",""),g=u(s,"[0].has_back_side",!0),k=u(s,"[0].front_qr.exist",!1),m=u(s,"[0].back_qr.exist",!1),p=u(s,"[0].front_face.exist",!0),f=u(s,"[0].back_face.exist",!1),h=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.show_auto_capture_toggle"),_=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.card_type_check.enable"),B=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.save_frame_settings.enable"),b=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.track_card_coordinates.enable"),C=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.track_card_coordinates.max_length"),w=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.save_frame_settings.frames_interval_ms"),y=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.save_frame_settings.quality"),v=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.enable"),P=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.limit_time_second"),x=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.video_partial_length_seconds"),S=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.auto_capture.enable"),R=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.auto_capture.show_capture_button"),I=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.auto_capture.wait_for_best_image_time_ms"),$=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.manual_capture.wait_for_best_image_time_ms"),M=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.enable_record_full_session_front"),D=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.enable_record_full_session_back"),T=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.enable_record_from_capture_bestframe_front"),E=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.enable_record_from_capture_bestframe_back"),j=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.video_frame_size_width"),A=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.video_frame_size_height"),L=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.bitrate"),F=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.fps"),W=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.flashlight_settings.enable_front"),O=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.flashlight_settings.enable_back"),z=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.flashlight_settings.activation_delay_ms_front"),N=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.flashlight_settings.activation_delay_ms_back"),V=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.flashlight_settings.duration_ms_front"),Q=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.flashlight_settings.duration_ms_back"),q=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.enable"),U=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.enable"),X=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.large_blurry_threshold_auto"),H=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.large_blurry_threshold_auto"),K=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.large_blurry_threshold_manual"),G=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.large_blurry_threshold_manual"),Z=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.small_blurry_threshold_auto"),J=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.small_blurry_threshold_auto"),Y=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.small_blurry_threshold_manual"),ee=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.small_blurry_threshold_manual"),et=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.large_blurry_decimal"),er=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.large_blurry_decimal"),en=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.small_blurry_decimal"),ea=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.small_blurry_decimal"),es=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.full_face_image_ratio"),ei=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.glare_check.enable"),el=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.glare_check_generic.enable"),ec=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.glare_check.threshold"),ed=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.glare_check_generic.threshold"),eu=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.face_check_generic.front_side.enable"),eg=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.face_check_generic.back_side.enable"),ek=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.disable_capture_button_if_alert"),em=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.id_detection.enable"),ep=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.enable"),eh=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.enable_validation"),e_=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.enable_scan_background"),eB=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.scan_via_image.enable");void 0===eB&&(eB=ep);let eb=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.scan_via_step.enable");void 0===eb&&(eb=ep);let eC=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.limit_time_second"),ew=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.scan_via_step.limit_time_second");void 0===ew&&(ew=eC);let ey=Array.isArray(n)&&1===n.length&&n[0].scannerType===eP.QR_CODE,ev=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.exif_data_settings.enable"),eR=eo.getWebSetting(t,`data.settings.sdk_settings.id_detection_settings.virtual_cam_hashes.${o.isMobile?"mobile":"web"}`),eI="mx"===l?{regions:ex,isValidPayload:rC,pickResults:e=>(function(e){if(!e||e.length<2)return null;let t=e.find(e=>0===atob(e).charCodeAt(1)),r=e.find(e=>1===atob(e).charCodeAt(1));return t&&r?[t,r]:null})(e)??[],strategy:eS}:null,e$=u(t,"data.settings.sdk_settings.id_detection_settings.id_detection.card_type_model_mapping"),eM=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.show_hold_still_progress"),eD=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.max_retry_count"),eT=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.max_retry_count"),eE=!eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.non_stoppable"),ej=!eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.non_stoppable"),eA={idealWidth:eo.getWebSetting(t,o.isMobile?"data.settings.sdk_settings.id_detection_settings.image_settings.ideal_width_mobile_web":"data.settings.sdk_settings.id_detection_settings.image_settings.ideal_width"),idealHeight:eo.getWebSetting(t,o.isMobile?"data.settings.sdk_settings.id_detection_settings.image_settings.ideal_height_mobile_web":"data.settings.sdk_settings.id_detection_settings.image_settings.ideal_height"),imageQuality:eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.image_settings.image_quality"),videoSettings:null},eL=window.innerHeight>window.innerWidth,eF={};if("number"==typeof eA.idealWidth&&(eF.width={ideal:eA.idealWidth}),"number"==typeof eA.idealHeight&&(eF.height={ideal:eA.idealHeight}),(eF.width||eF.height)&&(eF.aspectRatio={ideal:eL?window.innerHeight/window.innerWidth:window.innerWidth/window.innerHeight}),eL&&Object.keys(eF).length>0){let e=eF.width;eF.width=eF.height,eF.height=e}Object.keys(eF).length>0&&(eA.videoSettings=eF);let eW=eo.getWebSetting(t,"data.settings.sdk_settings.billing_settings.url");return{country:a,showAutoCaptureToggle:h,enableRecording:B,enableCardTypeCheck:_,trackCardCoordinates:b,trackCardCoordinatesMaxLength:C,frameCaptureIntervalMs:w,idCardSessionTime:P,maxRecordingTimePerVideo:x,saveFrameQuality:y,enableTimers:v,enableAutoCapture:S,autoCaptureWaitForBestImageTimeMs:I,manualCaptureWaitForBestImageTimeMs:$,showCaptureButtonInAuto:R,enableBlurCheck:i?q:U,blurLargeThresholdAuto:i?X:H,blurLargeThresholdManual:i?K:G,blurSmallThresholdAuto:i?Z:J,blurSmallThresholdManual:i?Y:ee,blurLargeDecimal:i?et:er,blurSmallDecimal:i?en:ea,blurFullFaceImageRatio:es,enableGlareCheck:i?ei:el,glareThreshold:i?ec:ed,disableCaptureButtonIfAlert:ek,enableIdDetection:em,enableScanQr:ep,enableScanQrViaImage:eB,enableScanQrViaStep:eb,enableScanQRBackground:e_,scanQrLimitTimeSecond:ew,enableExifData:ev,enableVirtualCamHashes:eR,enableQrValidation:eh,cardTypeModelMapping:e$,showHoldStillProgress:eM,maxRetriesSettings:{enable:eD>0,total:eD},maxRetriesScanQrSettings:{enable:eT>0,total:eT},timerInterruptible:eE,qrTimerInterruptible:ej,allowedCards:s,typeFromAllowedCards:c,isVietnameseCardFlow:i,cardCountry:l,cardQRConfig:eI,hasBackSide:g,hasFrontQr:k,hasBackQr:m,hasFrontFace:p,hasBackFace:f,genericEnableCheckFrontFace:eu,genericEnableCheckBackFace:eg,imageSettings:eA,steps:n,isQrStepOnly:ey,enableRecordFullSessionFront:M,enableRecordFullSessionBack:D,enableRecordCapturingFront:T,enableRecordCapturingBack:E,recordVideoFrameWidth:j,recordVideoFrameHeight:A,recordVideoBitrate:L,recordVideoFps:F,enableFlashlightFront:W,enableFlashlightBack:O,flashlightActivationDelayFront:z,flashlightActivationDelayBack:N,flashlightDurationFront:V,flashlightDurationBack:Q,billingUrl:eW,billingSettings:eo.getWebSetting(t,"data.settings.sdk_settings.billing_settings.billing_config")}},[r,e,n])}}function rv(e){let{logCredentials:o,clientSettings:n,uiOnlyComponent:a,onError:s,onClose:i,detectIdCard:l,outputEncryptionSettings:c,steps:g,onStepDone:k,customTheme:m,debug:p,allowedCardTypes:f,customTexts:h}=e,{settings:_}=ry({clientSettings:n,allowedCardTypes:f,steps:g}),B=u(_,"isQrStepOnly"),{themeVersion:b,lang:C,uiSettings:y,billingSettings:v,enableBilling:P}=w.useSDKSettings(),x=t.useMemo(()=>et.buildBillingInput(e),[e]),S=eo.getWebSetting(n,"data.settings.sdk_settings.billing_settings.billing_config"),R=eo.getWebSetting(n,"data.settings.sdk_settings.billing_settings.url"),{submitBilling:I}=ee({enable:P,onError:s,billingSettings:v??{json:S??{}},billingUrl:R}),M=t.useCallback(e=>{if(d.ErrorsWithoutBilling.includes(e.code))return void s(e);let t={error:e,sdkStatus:d.BillingStatus.fail};I({service:rc(g),input:x,output:t}),s&&s(e)},[g,x,I,s]),D=t.useCallback(()=>{let e={sdkStatus:d.BillingStatus.cancel};I({service:rc(g),input:x,output:e}),i&&i()},[x,i,g,I]),{...T}=rb({settings:_,onError:M,detectIdCard:l,outputEncryptionSettings:c,steps:g,onStepDone:k,billingInput:x}),E=en({customTexts:h,clientSettings:n,lang:C,uiSettings:y}),j=eh({customTheme:m,clientSettings:n,themeVersion:b,uiSettings:y});return r.jsx(e_,{debug:p,children:r.jsx(eB,{onDone:k,onError:M,onClose:D,children:r.jsx(ea.Provider,{clientSettings:n,type:B?"scan_qr":"extract_id_info",onError:M,children:r.jsx(es.SDKLocaleProvider,{value:E,children:r.jsx(K,{theme:j,children:r.jsx($.SDKTrackingProvider,{value:{tracking:{...o}},children:r.jsx(a,{...e,settings:_,scannerTypeCons:eP,...T})})})})})})})}let rP={logCredentials:e.shape({}),clientSettings:e.shape({}),uiOnlyComponent:e.func,customTheme:e.shape({}),onError:e.func,onClose:e.func,onStepDone:e.func,steps:e.arrayOf(e.shape({scannerType:e.string})),detectIdCard:e.func,outputEncryptionSettings:e.shape({}),themeVersion:e.string,debug:e.bool,allowedCardTypes:e.arrayOf(e.string),customTexts:e.shape({})};rv.propTypes=rP,rv.defaultProps={logCredentials:void 0,clientSettings:void 0,uiOnlyComponent:rs,customTheme:{},onError:()=>{},onClose:()=>{},onStepDone:()=>{},steps:[],detectIdCard:void 0,outputEncryptionSettings:null,themeVersion:"v2",debug:!1,allowedCardTypes:[]};var rx=Object.freeze({__proto__:null,ReadIDCardUIOnlyPropTypes:rP,ScannerType:eP,UIOnlyDefaultProps:rl,UIOnlyPropTypes:ri,default:rv,defaultSteps:rf});export{rv as R,eP as S,rs as U,rb as a,rc as g,rx as i,ry as u};
428
+ `;function rs(e){let{settings:o,outputEncryptionSettings:n,defaultCameraId:a,globalStyle:i,styledComponent:s,frontCamera:l,flipVideoHorizontal:c,scannerTypeCons:u,allowedCardTypes:g,...k}=e,{numberOfCaptures:m,stepNumber:f,frontSide:p,titleIcon:h,title:B,description:C,scannerType:w,usePortraitMask:y,shouldShowSpinner:v,handleQRCaptureDone:P,handleIDCardCaptureDone:x,handleRestartSession:S,refIDCardReader:R,handleClickConfirm:I,popupType:M,popupShown:$,popupProps:D}=k,T=b(),E=t.useRef(null),[j,L]=t.useState(null),[F,W]=t.useState(!1),z=A("IDCapturing.loadingIcon.src","ic_loading.gif"),{onErrorCallback:O,onCloseCallback:N}=eg(),[V,Q]=t.useState({}),{yTitle:q}=V,U=t.useCallback(e=>{L(e),W(!0)},[]);t.useEffect(()=>{W(!1)},[l]);let X=A("IDCapturing.cardIcon.src",h),{CloseCameraButton:K}=s,Y=t.useCallback((e,t)=>{e!==t?E.current?.pause():E.current?.play()},[E]);return r.jsx(ed,{onOrientationChange:Y,children:r.jsxs(H,{theme:em,children:[r.jsxs(eN,{children:[r.jsxs(G,{frontCamera:l,onVideoPlayed:U,onClose:N,flipHorizontal:c??l,ref:E,onError:O,defaultCameraId:a,closeButton:K||null,videoSettings:o?.imageSettings.videoSettings,children:[F&&r.jsxs(r.Fragment,{children:[w===u.ID_CARD&&r.jsx(tp,{ref:R,windowAndVideoInfo:j,refVideo:E,settings:o,onCaptureDone:x,onUISpacingChange:Q,frontSide:p,allowedCardTypes:g,description:C,usePortraitMask:y,outputEncryptionSettings:n,isShowingSpinner:v},f),w===u.QR_CODE&&r.jsx(tZ,{refVideo:E,windowAndVideoInfo:j,settings:o,onCaptureDone:P,onUISpacingChange:Q,outputEncryptionSettings:n},f)]}),r.jsx(_,{keyForTransition:m}),r.jsx(eX,{y:`${q}px`,children:r.jsx(Z,{children:r.jsx(J,{timeout:{enter:eO,exit:eO},classNames:"flipY",unmountOnExit:!0,children:r.jsxs(eK,{children:[h&&"v2"!==d(T,"themeVersion")&&r.jsx(eV,{src:X,alt:""}),r.jsx(eH,{className:"title",$isQr:w===u.QR_CODE,$isFront:p,children:B})]})},B)})}),v&&r.jsx(eq,{children:r.jsx("img",{src:z,alt:""})})]},l),r.jsx(ec,{open:$,children:M===to&&r.jsx(ra,{...D,onConfirm:I,onTryAgain:S,frontSide:p})})]}),r.jsx(i,{})]})})}let rl={allowedCardTypes:e.arrayOf(e.string),settings:e.shape({}),onClose:e.func,onError:e.func,outputEncryptionSettings:e.shape({}),defaultCameraId:e.string,globalStyle:e.shape({}),styledComponent:e.shape({CloseCameraButton:e.node}),frontCamera:e.bool,flipVideoHorizontal:e.bool,scannerTypeCons:e.shape({}).isRequired,customTexts:e.shape({})},rc={allowedCardTypes:[],settings:null,onClose:()=>{},onError:()=>{},outputEncryptionSettings:null,defaultCameraId:void 0,globalStyle:ri,styledComponent:{CloseCameraButton:null},frontCamera:!1,customTexts:null,flipVideoHorizontal:null};rs.propTypes=rl,rs.defaultProps=rc;let rd=e=>{if(!e||0===e.length)return u.BillingService.idCard;if(1===e.length)switch(e[0].scannerType){case eP.ID_CARD:break;case eP.QR_CODE:return u.BillingService.qr}return u.BillingService.idCard},{IDCardSide:ru,IDCardType:rg,Errors:rk}=u,rm={scannerType:eP.ID_CARD,title:r.jsx(Y,{id:"front_card_title"}),description:r.jsx(Y,{id:"front_card_description"}),titleIcon:"id_card_front.svg",cardSide:u.IDCardSide.FRONT,cardType:rg.VN,enableConfirmPopup:!1},rf={scannerType:eP.ID_CARD,title:r.jsx(Y,{id:"back_card_title"}),description:r.jsx(Y,{id:"back_card_description"}),titleIcon:"id_card_back.svg",cardSide:u.IDCardSide.BACK,cardType:rg.VN,enableConfirmPopup:!1},rp={scannerType:eP.QR_CODE,title:r.jsx(Y,{id:"qr_title"}),titleIcon:""},rh=[{scannerType:eP.ID_CARD,title:"Chụp mặt trước",description:"Căn chỉnh giấy tờ khớp với khung h\xecnh",titleIcon:"id_card_front.svg",cardSide:u.IDCardSide.FRONT,cardType:rg.VN,enableConfirmPopup:!1},{scannerType:eP.ID_CARD,title:"Chụp mặt sau",description:"Căn chỉnh giấy tờ khớp với khung h\xecnh",titleIcon:"id_card_back.svg",cardSide:u.IDCardSide.BACK,cardType:rg.VN,enableConfirmPopup:!1}],r_=0,rb=1,rB=()=>Promise.resolve({card_label:""}),rC=({settings:e,onError:r,detectIdCard:n=rB,outputEncryptionSettings:i,steps:s,onStepDone:l,billingInput:c={}})=>{let g=d(e,"hasBackSide",!0),k=t.useMemo(()=>((e,t)=>{if(!Array.isArray(e)||0===e.length)return t?[rm,rf]:[rm];let r=[];return(e.forEach(e=>{if(e.scannerType===eP.QR_CODE)return void r.push({...rp,...e});if(e.scannerType===eP.ID_CARD){if(e.cardSide===ru.FRONT)return void r.push({...rm,...e});e.cardSide===ru.BACK&&r.push({...rf,...e})}}),0===r.length)?t?[rm,rf]:[rm]:r})(s,g),[s,g]),[m,f]=t.useState(0),[p,h]=t.useState(k[m]),[_,b]=t.useState(0),[B,C]=t.useState(!1),w=t.useRef({}),v=t.useRef([]),P=t.useRef(null),x=t.useRef(null),S=t.useRef(null),R=t.useRef(),I=t.useRef(null),M=ef(),{enableBilling:$,billingSettings:D}=y.useSDKSettings(),{submitBilling:T}=ee({enable:$,billingSettings:D??{json:e.billingSettings??{}},billingUrl:e.billingUrl,onError:r}),{showPopup:E,popupShown:j,popupType:A,props:L}=tt(),{scannerType:F,title:W,titleIcon:z,cardSide:O,description:N,usePortraitMask:V,cardType:Q,enableConfirmPopup:q}=p,U=1===k.length||k.length>1&&O===ru.BACK,X=rd(k),K=t.useCallback(e=>{e>=k.length||setTimeout(()=>{f(e),h(k[e])},200)},[k]),H=t.useCallback(()=>{K(m+1)},[K,m]),G=t.useCallback(()=>{setTimeout(()=>{h(e=>({...e,...rp}))},200)},[]),Z=t.useCallback(()=>{E({popupType:null})},[E]),J=t.useCallback(()=>{Z(),S.current=null,F===eP.QR_CODE?K(m):F===eP.ID_CARD&&(I.current===ru.FRONT?K(r_):I.current===ru.BACK&&K(rb),R.current.restartSession())},[K,m,Z,F]),Y=t.useCallback(async()=>{let t={stepNumber:m,cardSide:O,cardType:w.current?.detectedCard?.cardType||e?.typeFromAllowedCards||Q,image:w.current,...e?.enableRecording?{recordedVideos:v.current}:{},fullVideo:x.current,capturingVideo:P.current};if((F===eP.QR_CODE&&S.current||S.current?.result)&&(t.qrScannedResult=S.current),C(!0),U&&"id_with_api_call"!==M){let r={service:X,input:c,output:{result:et.buildBillingOutput(t),sdkStatus:u.BillingStatus.success}};if(e.isQrStepOnly){let e=S.current?.result;if(e){let t=e.split("|")[0];r.id_num=a.SHA256(t),r.full_hash=a.SHA256(e)}else r.output={...r.output,sdkStatus:u.BillingStatus.cancel}}try{if(!await T(r))return void C(!1)}catch(e){console.error("Error submitting billing:",e)}}let r=await l(t,{shouldBilling:U});r&&r.retryAt?(I.current=r.retryAt,C(!1)):(C(!1),S.current=null,H())},[e?.typeFromAllowedCards,e?.enableRecording,e.isQrStepOnly,m,O,Q,F,U,l,X,T,H,M,c]),eo=t.useCallback(e=>{if(S.current=e,e&&Array.isArray(e.recordedVideos)){let{recordedVideos:t}=e;v.current.push(...t)}b(e=>e+1);let t=!!e?.validateResult?.valid;q?E({popupType:to,props:{hasValidQR:t,imageTaken:w.current}}):Y()},[E,q,Y]),en=t.useCallback((e,t)=>{if(S.current)return!1;let r=t===ru.FRONT&&er.isFrontQRVnCardLabel(e),o=t===ru.BACK&&er.isBackQRVnCardLabel(e);return r||o},[]),ea=t.useCallback(()=>!S.current&&!0,[]),ei=t.useCallback(async({cardLabel:t,side:r,onSkipQrScan:o})=>{let n;if(!en(t,r))return void o();let a=e?.enableScanQrViaImage,s=e?.enableScanQrViaStep;if(a&&(C(!0),n=await tN(w.current.blob,i,r),C(!1),n))return void eo(n);!n&&s?G():o()},[G,eo,i,e?.enableScanQrViaImage,e?.enableScanQrViaStep,en]),es=t.useCallback(async({cardLabel:t,side:r,onSkipQrScan:o,qrScannedResults:n})=>{let a;if(!ea(t,r))return void o();if(n?.results?.length>0){let e=await tz({blob:n.imageBlob,outputEncryptionSettings:i,cardSide:r,results:n.results,readFrom:"background"});C(!1),eo(e);return}let s=e?.enableScanQrViaImage,l=e?.enableScanQrViaStep;if(s&&(C(!0),a=e?.cardQRConfig?await tO({blob:w.current.blob,outputEncryptionSettings:i,cardSide:r,cardQRConfig:e.cardQRConfig}):await tN(w.current.blob,i,r,tW),C(!1),a))return void eo(a);let c=(e?.allowedCards||[]).find(e=>er.isCardLabelMatchedCardType(t,e.code)),d=r===ru.FRONT&&e.hasFrontQr||r===ru.BACK&&e.hasBackQr;if(c){let e=r===ru.FRONT&&c.front_qr?.exist,t=r===ru.BACK&&c.back_qr?.exist;d=e||t}!a&&l&&d?G():o()},[G,eo,i,e?.allowedCards,e?.cardQRConfig,e?.enableScanQrViaImage,e?.enableScanQrViaStep,e.hasBackQr,e.hasFrontQr,ea]),el=t.useCallback(async({image:t,error:a,recordedVideos:i,fullVideo:s,capturingVideo:l,qrScannedResults:c})=>{P.current=l,x.current=s,w.current=t,v.current=i,b(e=>e+1);let d=()=>{q?E({popupType:to,props:{imageTaken:w.current,error:a}}):Y()},u=e?.enableScanQrViaImage,g=e?.enableScanQrViaStep;if(!o.isMobile||!u&&!g)return void d();let k=t?.detectedCard?.label,m="";if(!k){C(!0);try{let e=await n({image:t,cardType:Q,cardSide:O});k=e.card_label,m=e.card_label}catch(e){r(rk.detect_id_card_error)}C(!1)}e.isVietnameseCardFlow?ei({cardLabel:k,side:O,onSkipQrScan:d}):es({cardLabel:m,side:O,onSkipQrScan:d,qrScannedResults:c})},[e?.enableScanQrViaImage,e?.enableScanQrViaStep,e.isVietnameseCardFlow,q,E,Y,n,Q,O,r,ei,es]),ec=t.useCallback(()=>{Z(),Y()},[Y,Z]);return{numberOfCaptures:_,stepNumber:m,titleIcon:z,title:W,description:N,frontSide:O===ru.FRONT,scannerType:F,usePortraitMask:V,shouldShowSpinner:B,handleQRCaptureDone:eo,handleIDCardCaptureDone:el,handleRestartSession:J,refIDCardReader:R,handleClickConfirm:ec,showPopup:E,popupType:A,popupShown:j,popupProps:L}},rw=e=>{let t=atob(e);return 858===t.length&&0===t.charCodeAt(0)&&(0===t.charCodeAt(1)||1===t.charCodeAt(1))},ry={data:{country:"vn",settings:{sdk_settings:{id_detection_settings:{show_hold_still_progress:!1,show_auto_capture_toggle:!1,auto_capture:{enable:!1,show_capture_button:!0,wait_for_best_image_time_ms:1e3},manual_capture:{wait_for_best_image_time_ms:1e3},card_type_check:{enable:!1},track_card_coordinates:{enable:!1,max_length:150},blur_check:{enable:!0,large_blurry_threshold_auto:1350.8,large_blurry_threshold_manual:1350.8,small_blurry_threshold_auto:10.4386,small_blurry_threshold_manual:10.4386,large_blurry_decimal:2,small_blurry_decimal:2},blur_check_generic:{enable:!0,large_blurry_threshold_auto:0,large_blurry_threshold_manual:0,small_blurry_threshold_auto:0,small_blurry_threshold_manual:0,large_blurry_decimal:2,small_blurry_decimal:2,full_face_image_ratio:{top:.5,right:.333,left:.333,bottom:.333}},face_check_generic:{front_side:{enable:!0},back_side:{enable:!1}},flashlight_settings:{activation_delay_ms_back:1e3,activation_delay_ms_front:1e3,duration_ms_back:1e3,duration_ms_front:1e3,enable_back:!1,enable_front:!1},glare_check:{enable:!0,threshold:.001},glare_check_generic:{enable:!0,threshold:.001},disable_capture_button_if_alert:!1,exif_data_settings:{enable:!0},id_detection:{enable:!0,card_type_model_mapping:{"vn.national_id":{model:"model_vn",force_off_detection:!1},"vn.cccd_new":{model:"model_vn",force_off_detection:!1},"vn.*":{model:"model_vn",force_off_detection:!1},"global.passport":{model:"model_vn",force_off_detection:!0},"ph.national_id":{model:"model_vn",force_off_detection:!1},"ph.*":{model:"model_vn",force_off_detection:!1}}},limit_time_settings:{enable:!0,limit_time_second:30,video_partial_length_seconds:15,max_retry_count:0,non_stoppable:!1},record_video:{enable_record_full_session_front:!1,enable_record_full_session_back:!1,enable_record_from_capture_bestframe_front:!1,enable_record_from_capture_bestframe_back:!1,video_frame_size_width:null,video_frame_size_height:null,bitrate:7e5,fps:16},save_frame_settings:{enable:!1,frames_interval_ms:190,quality:80},scan_qr_settings:{enable:!0,enable_validation:!0,enable_scan_background:!1,limit_time_second:20,non_stoppable:!1,max_retry_count:0,scan_via_image:null,scan_via_step:null},virtual_cam_hashes:{web:!1,mobile:!1},image_settings:{ideal_width:null,ideal_height:null,ideal_width_mobile_web:null,ideal_height_mobile_web:null,image_quality:1}}}}}};function rv({clientSettings:e,allowedCardTypes:r=[],steps:n}){return{settings:t.useMemo(()=>{let t=ep({},ry,e),a=d(t,"data.country","vn"),i=((e=[],t="vn")=>{if(0===e.length)if("ph"===t)return u.CardTypes.PhilippinesCards;else return u.CardTypes.VietnameseCards;return e.map(e=>"string"==typeof e?u.convertStringToCardType(e):e)})(r,a),s=i?.[0]?.code?.startsWith("vn."),l=i?.[0]?.code?.split(".")?.[0]??a,c=d(i,"[0].code",""),g=d(i,"[0].has_back_side",!0),k=d(i,"[0].front_qr.exist",!1),m=d(i,"[0].back_qr.exist",!1),f=d(i,"[0].front_face.exist",!0),p=d(i,"[0].back_face.exist",!1),h=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.show_auto_capture_toggle"),_=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.card_type_check.enable"),b=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.save_frame_settings.enable"),B=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.track_card_coordinates.enable"),C=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.track_card_coordinates.max_length"),w=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.save_frame_settings.frames_interval_ms"),y=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.save_frame_settings.quality"),v=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.enable"),P=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.limit_time_second"),x=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.video_partial_length_seconds"),S=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.auto_capture.enable"),R=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.auto_capture.show_capture_button"),I=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.auto_capture.wait_for_best_image_time_ms"),M=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.manual_capture.wait_for_best_image_time_ms"),$=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.enable_record_full_session_front"),D=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.enable_record_full_session_back"),T=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.enable_record_from_capture_bestframe_front"),E=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.enable_record_from_capture_bestframe_back"),j=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.video_frame_size_width"),A=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.video_frame_size_height"),L=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.bitrate"),F=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.record_video.fps"),W=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.flashlight_settings.enable_front"),z=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.flashlight_settings.enable_back"),O=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.flashlight_settings.activation_delay_ms_front"),N=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.flashlight_settings.activation_delay_ms_back"),V=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.flashlight_settings.duration_ms_front"),Q=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.flashlight_settings.duration_ms_back"),q=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.enable"),U=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.enable"),X=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.large_blurry_threshold_auto"),K=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.large_blurry_threshold_auto"),H=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.large_blurry_threshold_manual"),G=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.large_blurry_threshold_manual"),Z=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.small_blurry_threshold_auto"),J=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.small_blurry_threshold_auto"),Y=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.small_blurry_threshold_manual"),ee=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.small_blurry_threshold_manual"),et=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.large_blurry_decimal"),er=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.large_blurry_decimal"),en=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check.small_blurry_decimal"),ea=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.small_blurry_decimal"),ei=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.blur_check_generic.full_face_image_ratio"),es=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.glare_check.enable"),el=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.glare_check_generic.enable"),ec=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.glare_check.threshold"),ed=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.glare_check_generic.threshold"),eu=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.face_check_generic.front_side.enable"),eg=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.face_check_generic.back_side.enable"),ek=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.disable_capture_button_if_alert"),em=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.id_detection.enable"),ef=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.enable"),eh=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.enable_validation"),e_=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.enable_scan_background"),eb=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.scan_via_image.enable");void 0===eb&&(eb=ef);let eB=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.scan_via_step.enable");void 0===eB&&(eB=ef);let eC=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.limit_time_second"),ew=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.scan_via_step.limit_time_second");void 0===ew&&(ew=eC);let ey=Array.isArray(n)&&1===n.length&&n[0].scannerType===eP.QR_CODE,ev=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.exif_data_settings.enable"),eR=eo.getWebSetting(t,`data.settings.sdk_settings.id_detection_settings.virtual_cam_hashes.${o.isMobile?"mobile":"web"}`),eI="mx"===l?{regions:ex,isValidPayload:rw,pickResults:e=>(function(e){if(!e||e.length<2)return null;let t=e.find(e=>0===atob(e).charCodeAt(1)),r=e.find(e=>1===atob(e).charCodeAt(1));return t&&r?[t,r]:null})(e)??[],strategy:eS}:null,eM=d(t,"data.settings.sdk_settings.id_detection_settings.id_detection.card_type_model_mapping"),e$=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.show_hold_still_progress"),eD=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.max_retry_count"),eT=eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.max_retry_count"),eE=!eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.limit_time_settings.non_stoppable"),ej=!eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.scan_qr_settings.non_stoppable"),eA={idealWidth:eo.getWebSetting(t,o.isMobile?"data.settings.sdk_settings.id_detection_settings.image_settings.ideal_width_mobile_web":"data.settings.sdk_settings.id_detection_settings.image_settings.ideal_width"),idealHeight:eo.getWebSetting(t,o.isMobile?"data.settings.sdk_settings.id_detection_settings.image_settings.ideal_height_mobile_web":"data.settings.sdk_settings.id_detection_settings.image_settings.ideal_height"),imageQuality:eo.getWebSetting(t,"data.settings.sdk_settings.id_detection_settings.image_settings.image_quality"),videoSettings:null},eL=window.innerHeight>window.innerWidth,eF={};if("number"==typeof eA.idealWidth&&(eF.width={ideal:eA.idealWidth}),"number"==typeof eA.idealHeight&&(eF.height={ideal:eA.idealHeight}),(eF.width||eF.height)&&(eF.aspectRatio={ideal:eL?window.innerHeight/window.innerWidth:window.innerWidth/window.innerHeight}),eL&&Object.keys(eF).length>0){let e=eF.width;eF.width=eF.height,eF.height=e}Object.keys(eF).length>0&&(eA.videoSettings=eF);let eW=eo.getWebSetting(t,"data.settings.sdk_settings.billing_settings.url");return{country:a,showAutoCaptureToggle:h,enableRecording:b,enableCardTypeCheck:_,trackCardCoordinates:B,trackCardCoordinatesMaxLength:C,frameCaptureIntervalMs:w,idCardSessionTime:P,maxRecordingTimePerVideo:x,saveFrameQuality:y,enableTimers:v,enableAutoCapture:S,autoCaptureWaitForBestImageTimeMs:I,manualCaptureWaitForBestImageTimeMs:M,showCaptureButtonInAuto:R,enableBlurCheck:s?q:U,blurLargeThresholdAuto:s?X:K,blurLargeThresholdManual:s?H:G,blurSmallThresholdAuto:s?Z:J,blurSmallThresholdManual:s?Y:ee,blurLargeDecimal:s?et:er,blurSmallDecimal:s?en:ea,blurFullFaceImageRatio:ei,enableGlareCheck:s?es:el,glareThreshold:s?ec:ed,disableCaptureButtonIfAlert:ek,enableIdDetection:em,enableScanQr:ef,enableScanQrViaImage:eb,enableScanQrViaStep:eB,enableScanQRBackground:e_,scanQrLimitTimeSecond:ew,enableExifData:ev,enableVirtualCamHashes:eR,enableQrValidation:eh,cardTypeModelMapping:eM,showHoldStillProgress:e$,maxRetriesSettings:{enable:eD>0,total:eD},maxRetriesScanQrSettings:{enable:eT>0,total:eT},timerInterruptible:eE,qrTimerInterruptible:ej,allowedCards:i,typeFromAllowedCards:c,isVietnameseCardFlow:s,cardCountry:l,cardQRConfig:eI,hasBackSide:g,hasFrontQr:k,hasBackQr:m,hasFrontFace:f,hasBackFace:p,genericEnableCheckFrontFace:eu,genericEnableCheckBackFace:eg,imageSettings:eA,steps:n,isQrStepOnly:ey,enableRecordFullSessionFront:$,enableRecordFullSessionBack:D,enableRecordCapturingFront:T,enableRecordCapturingBack:E,recordVideoFrameWidth:j,recordVideoFrameHeight:A,recordVideoBitrate:L,recordVideoFps:F,enableFlashlightFront:W,enableFlashlightBack:z,flashlightActivationDelayFront:O,flashlightActivationDelayBack:N,flashlightDurationFront:V,flashlightDurationBack:Q,billingUrl:eW,billingSettings:eo.getWebSetting(t,"data.settings.sdk_settings.billing_settings.billing_config")}},[r,e,n])}}function rP(e){let{logCredentials:o,clientSettings:n,uiOnlyComponent:a,onError:i,onClose:s,detectIdCard:l,outputEncryptionSettings:c,steps:g,onStepDone:k,customTheme:m,debug:f,allowedCardTypes:p,customTexts:h}=e,{settings:_}=rv({clientSettings:n,allowedCardTypes:p,steps:g}),b=d(_,"isQrStepOnly"),{themeVersion:B,lang:C,uiSettings:w,billingSettings:v,enableBilling:P}=y.useSDKSettings(),x=t.useMemo(()=>et.buildBillingInput(e),[e]),S=eo.getWebSetting(n,"data.settings.sdk_settings.billing_settings.billing_config"),R=eo.getWebSetting(n,"data.settings.sdk_settings.billing_settings.url"),{submitBilling:I}=ee({enable:P,onError:i,billingSettings:v??{json:S??{}},billingUrl:R}),$=t.useCallback(e=>{if(u.ErrorsWithoutBilling.includes(e.code))return void i(e);let t={error:e,sdkStatus:u.BillingStatus.fail};I({service:rd(g),input:x,output:t}),i&&i(e)},[g,x,I,i]),D=t.useCallback(()=>{let e={sdkStatus:u.BillingStatus.cancel};I({service:rd(g),input:x,output:e}),s&&s()},[x,s,g,I]),{...T}=rC({settings:_,onError:$,detectIdCard:l,outputEncryptionSettings:c,steps:g,onStepDone:k,billingInput:x}),E=en({customTexts:h,clientSettings:n,lang:C,uiSettings:w}),j=eh({customTheme:m,clientSettings:n,themeVersion:B,uiSettings:w});return r.jsx(e_,{debug:f,children:r.jsx(eb,{onDone:k,onError:$,onClose:D,children:r.jsx(ea.Provider,{clientSettings:n,type:b?"scan_qr":"extract_id_info",onError:$,children:r.jsx(ei.SDKLocaleProvider,{value:E,children:r.jsx(H,{theme:j,children:r.jsx(M.SDKTrackingProvider,{value:{tracking:{...o}},children:r.jsx(a,{...e,settings:_,scannerTypeCons:eP,...T})})})})})})})}let rx={logCredentials:e.shape({}),clientSettings:e.shape({}),uiOnlyComponent:e.func,customTheme:e.shape({}),onError:e.func,onClose:e.func,onStepDone:e.func,steps:e.arrayOf(e.shape({scannerType:e.string})),detectIdCard:e.func,outputEncryptionSettings:e.shape({}),themeVersion:e.string,debug:e.bool,allowedCardTypes:e.arrayOf(e.string),customTexts:e.shape({})};rP.propTypes=rx,rP.defaultProps={logCredentials:void 0,clientSettings:void 0,uiOnlyComponent:rs,customTheme:{},onError:()=>{},onClose:()=>{},onStepDone:()=>{},steps:[],detectIdCard:void 0,outputEncryptionSettings:null,themeVersion:"v2",debug:!1,allowedCardTypes:[]};var rS=Object.freeze({__proto__:null,ReadIDCardUIOnlyPropTypes:rx,ScannerType:eP,UIOnlyDefaultProps:rc,UIOnlyPropTypes:rl,default:rP,defaultSteps:rh});export{rP as R,eP as S,rs as U,rC as a,rd as g,rS as i,rv as u};