index-b1a608ca.js 337 KB

1234567891011121314151617181920
  1. import{p as Yi,a as zi,P as Zi,m as Ki,u as ji}from"./function-call-6876fcd3.js";import{d as pn,r as zt,c as Ge,a as rn,B as qi,G as Qi,m as Vn,w as dr,i as xr,v as gr,A as Ji,H as En,I as $i,o as es,J as ts,b as ns,e as rs,_ as is}from"./index-b63c6ed2.js";import{B as Ar}from"./index-a7274168.js";import{c as Xn,u as ss,t as kt,w as pr,e as bn,r as os,a as as,b as ls,n as In,d as cs,f as us,p as hs,h as Cr,j as Yr,k as fs,l as ds,m as mn,o as xs,q as gs,s as zr,v as Zr,x as ws,y as wr,z as As}from"./index-f8f67ba0.js";import{u as Cs}from"./use-placeholder-70a7769b.js";import{u as Es}from"./use-expose-fbc3766e.js";import{a as ms,b as Is,H as Kr,L as ps}from"./constant-eba5e2d8.js";import{c as li}from"./on-popup-reopen-965edd2a.js";function bs(d,g){for(var u=0;u<g.length;u++){const m=g[u];if(typeof m!="string"&&!Array.isArray(m)){for(const I in m)if(I!=="default"&&!(I in d)){const x=Object.getOwnPropertyDescriptor(m,I);x&&Object.defineProperty(d,I,x.get?x:{enumerable:!0,get:()=>m[I]})}}}return Object.freeze(Object.defineProperty(d,Symbol.toStringTag,{value:"Module"}))}const[ci,jr]=Xn("action-bar"),ui=Symbol(ci),Ts={placeholder:Boolean,safeAreaInsetBottom:kt};var ys=pn({name:ci,props:Ts,setup(d,{slots:g}){const u=zt(),m=Cs(u,jr),{linkChildren:I}=ss(ui);I();const x=()=>{var T;return Ge("div",{ref:u,class:[jr(),{"van-safe-area-bottom":d.safeAreaInsetBottom}]},[(T=g.default)==null?void 0:T.call(g)])};return()=>d.placeholder?m(x):x()}});const Ss=pr(ys),[Ns,_s]=Xn("action-bar-button"),Os=bn({},os,{type:String,text:String,icon:String,color:String,loading:Boolean,disabled:Boolean});var Rs=pn({name:Ns,props:Os,setup(d,{slots:g}){const u=as(),{parent:m,index:I}=ls(ui),x=rn(()=>{if(m){const M=m.children[I.value-1];return!(M&&"isButton"in M)}}),T=rn(()=>{if(m){const M=m.children[I.value+1];return!(M&&"isButton"in M)}});return Es({isButton:!0}),()=>{const{type:M,icon:B,text:A,color:N,loading:R,disabled:le}=d;return Ge(Ar,{class:_s([M,{last:T.value,first:x.value}]),size:"large",type:M,icon:B,color:N,loading:R,disabled:le,onClick:u},{default:()=>[g.default?g.default():A]})}}});const qr=pr(Rs),[Ds,Et,Fn]=Xn("dialog"),Ms=bn({},Yi,{title:String,theme:String,width:In,message:[String,Function],callback:Function,allowHtml:Boolean,className:cs,transition:us("van-dialog-bounce"),messageAlign:String,closeOnPopstate:kt,showCancelButton:Boolean,cancelButtonText:String,cancelButtonColor:String,cancelButtonDisabled:Boolean,confirmButtonText:String,confirmButtonColor:String,confirmButtonDisabled:Boolean,showConfirmButton:kt,closeOnClickOverlay:Boolean}),Bs=[...zi,"transition","closeOnPopstate"];var vs=pn({name:Ds,props:Ms,emits:["confirm","cancel","keydown","update:show"],setup(d,{emit:g,slots:u}){const m=zt(),I=qi({confirm:!1,cancel:!1}),x=oe=>g("update:show",oe),T=oe=>{var J;x(!1),(J=d.callback)==null||J.call(d,oe)},M=oe=>()=>{d.show&&(g(oe),d.beforeClose?(I[oe]=!0,li(d.beforeClose,{args:[oe],done(){T(oe),I[oe]=!1},canceled(){I[oe]=!1}})):T(oe))},B=M("cancel"),A=M("confirm"),N=Qi(oe=>{var J,Y;if(oe.target!==((Y=(J=m.value)==null?void 0:J.popupRef)==null?void 0:Y.value))return;({Enter:d.showConfirmButton?A:Yr,Escape:d.showCancelButton?B:Yr})[oe.key](),g("keydown",oe)},["enter","esc"]),R=()=>{const oe=u.title?u.title():d.title;if(oe)return Ge("div",{class:Et("header",{isolated:!d.message&&!u.default})},[oe])},le=oe=>{const{message:J,allowHtml:Y,messageAlign:ee}=d,qe=Et("message",{"has-title":oe,[ee]:ee}),ue=fs(J)?J():J;return Y&&typeof ue=="string"?Ge("div",{class:qe,innerHTML:ue},null):Ge("div",{class:qe},[ue])},$=()=>{if(u.default)return Ge("div",{class:Et("content")},[u.default()]);const{title:oe,message:J,allowHtml:Y}=d;if(J){const ee=!!(oe||u.title);return Ge("div",{key:Y?1:0,class:Et("content",{isolated:!ee})},[le(ee)])}},Pe=()=>Ge("div",{class:[Is,Et("footer")]},[d.showCancelButton&&Ge(Ar,{size:"large",text:d.cancelButtonText||Fn("cancel"),class:Et("cancel"),style:{color:d.cancelButtonColor},loading:I.cancel,disabled:d.cancelButtonDisabled,onClick:B},null),d.showConfirmButton&&Ge(Ar,{size:"large",text:d.confirmButtonText||Fn("confirm"),class:[Et("confirm"),{[ms]:d.showCancelButton}],style:{color:d.confirmButtonColor},loading:I.confirm,disabled:d.confirmButtonDisabled,onClick:A},null)]),ie=()=>Ge(Ss,{class:Et("footer")},{default:()=>[d.showCancelButton&&Ge(qr,{type:"warning",text:d.cancelButtonText||Fn("cancel"),class:Et("cancel"),color:d.cancelButtonColor,loading:I.cancel,disabled:d.cancelButtonDisabled,onClick:B},null),d.showConfirmButton&&Ge(qr,{type:"danger",text:d.confirmButtonText||Fn("confirm"),class:Et("confirm"),color:d.confirmButtonColor,loading:I.confirm,disabled:d.confirmButtonDisabled,onClick:A},null)]}),rt=()=>u.footer?u.footer():d.theme==="round-button"?ie():Pe();return()=>{const{width:oe,title:J,theme:Y,message:ee,className:qe}=d;return Ge(Zi,Vn({ref:m,role:"dialog",class:[Et([Y]),qe],style:{width:Cr(oe)},tabindex:0,"aria-labelledby":J||ee,onKeydown:N,"onUpdate:show":x},hs(d,Bs)),{default:()=>[R(),$(),rt()]})}}});let Er;const Ps={title:"",width:"",theme:null,message:"",overlay:!0,callback:null,teleport:"body",className:"",allowHtml:!1,lockScroll:!0,transition:void 0,beforeClose:null,overlayClass:"",overlayStyle:void 0,messageAlign:"",cancelButtonText:"",cancelButtonColor:null,cancelButtonDisabled:!1,confirmButtonText:"",confirmButtonColor:null,confirmButtonDisabled:!1,showConfirmButton:!0,showCancelButton:!1,closeOnPopstate:!0,closeOnClickOverlay:!1};let Ls=bn({},Ps);function Fs(){({instance:Er}=Ki({setup(){const{state:g,toggle:u}=ji();return()=>Ge(vs,Vn(g,{"onUpdate:show":u}),null)}}))}function ks(d){return ds?new Promise((g,u)=>{Er||Fs(),Er.open(bn({},Ls,d,{callback:m=>{(m==="confirm"?g:u)(m)}}))}):Promise.resolve(void 0)}const To=d=>ks(bn({showCancelButton:!0},d)),[Us,kn]=Xn("stepper"),Vs=200,Un=(d,g)=>String(d)===String(g),Gs={min:mn(1),max:mn(1/0),name:mn(""),step:mn(1),theme:String,integer:Boolean,disabled:Boolean,showPlus:kt,showMinus:kt,showInput:kt,longPress:kt,autoFixed:kt,allowEmpty:Boolean,modelValue:In,inputWidth:In,buttonSize:In,placeholder:String,disablePlus:Boolean,disableMinus:Boolean,disableInput:Boolean,beforeChange:Function,defaultValue:mn(1),decimalLength:In};var Hs=pn({name:Us,props:Gs,emits:["plus","blur","minus","focus","change","overlimit","update:modelValue"],setup(d,{emit:g}){const u=(G,P=!0)=>{const{min:Le,max:Fe,allowEmpty:z,decimalLength:he}=d;return z&&G===""||(G=zr(String(G),!d.integer),G=G===""?0:+G,G=Number.isNaN(G)?+Le:G,G=P?Math.max(Math.min(+Fe,G),+Le):G,Zr(he)&&(G=G.toFixed(+he))),G},m=()=>{var G;const P=(G=d.modelValue)!=null?G:d.defaultValue,Le=u(P);return Un(Le,d.modelValue)||g("update:modelValue",Le),Le};let I;const x=zt(),T=zt(m()),M=rn(()=>d.disabled||d.disableMinus||+T.value<=+d.min),B=rn(()=>d.disabled||d.disablePlus||+T.value>=+d.max),A=rn(()=>({width:Cr(d.inputWidth),height:Cr(d.buttonSize)})),N=rn(()=>xs(d.buttonSize)),R=()=>{const G=u(T.value);Un(G,T.value)||(T.value=G)},le=G=>{d.beforeChange?li(d.beforeChange,{args:[G],done(){T.value=G}}):T.value=G},$=()=>{if(I==="plus"&&B.value||I==="minus"&&M.value){g("overlimit",I);return}const G=I==="minus"?-d.step:+d.step,P=u(As(+T.value,G));le(P),g(I)},Pe=G=>{const P=G.target,{value:Le}=P,{decimalLength:Fe}=d;let z=zr(String(Le),!d.integer);if(Zr(Fe)&&z.includes(".")){const Me=z.split(".");z=`${Me[0]}.${Me[1].slice(0,+Fe)}`}d.beforeChange?P.value=String(T.value):Un(Le,z)||(P.value=z);const he=z===String(+z);le(he?+z:z)},ie=G=>{var P;d.disableInput?(P=x.value)==null||P.blur():g("focus",G)},rt=G=>{const P=G.target,Le=u(P.value,d.autoFixed);P.value=String(Le),T.value=Le,Ji(()=>{g("blur",G),ws()})};let oe,J;const Y=()=>{J=setTimeout(()=>{$(),Y()},Vs)},ee=()=>{d.longPress&&(oe=!1,clearTimeout(J),J=setTimeout(()=>{oe=!0,$(),Y()},ps))},qe=G=>{d.longPress&&(clearTimeout(J),oe&&wr(G))},ue=G=>{d.disableInput&&wr(G)},U=G=>({onClick:P=>{wr(P),I=G,$()},onTouchstartPassive:()=>{I=G,ee()},onTouchend:qe,onTouchcancel:qe});return dr(()=>[d.max,d.min,d.integer,d.decimalLength],R),dr(()=>d.modelValue,G=>{Un(G,T.value)||(T.value=u(G))}),dr(T,G=>{g("update:modelValue",G),g("change",G,{name:d.name})}),gs(()=>d.modelValue),()=>Ge("div",{role:"group",class:kn([d.theme])},[xr(Ge("button",Vn({type:"button",style:N.value,class:[kn("minus",{disabled:M.value}),{[Kr]:!M.value}],"aria-disabled":M.value||void 0},U("minus")),null),[[gr,d.showMinus]]),xr(Ge("input",{ref:x,type:d.integer?"tel":"text",role:"spinbutton",class:kn("input"),value:T.value,style:A.value,disabled:d.disabled,readonly:d.disableInput,inputmode:d.integer?"numeric":"decimal",placeholder:d.placeholder,autocomplete:"off","aria-valuemax":d.max,"aria-valuemin":d.min,"aria-valuenow":T.value,onBlur:rt,onInput:Pe,onFocus:ie,onMousedown:ue},null),[[gr,d.showInput]]),xr(Ge("button",Vn({type:"button",style:N.value,class:[kn("plus",{disabled:B.value}),{[Kr]:!B.value}],"aria-disabled":B.value||void 0},U("plus")),null),[[gr,d.showPlus]])])}});const yo=pr(Hs);var W;(function(d){d[d.QR_CODE=0]="QR_CODE",d[d.AZTEC=1]="AZTEC",d[d.CODABAR=2]="CODABAR",d[d.CODE_39=3]="CODE_39",d[d.CODE_93=4]="CODE_93",d[d.CODE_128=5]="CODE_128",d[d.DATA_MATRIX=6]="DATA_MATRIX",d[d.MAXICODE=7]="MAXICODE",d[d.ITF=8]="ITF",d[d.EAN_13=9]="EAN_13",d[d.EAN_8=10]="EAN_8",d[d.PDF_417=11]="PDF_417",d[d.RSS_14=12]="RSS_14",d[d.RSS_EXPANDED=13]="RSS_EXPANDED",d[d.UPC_A=14]="UPC_A",d[d.UPC_E=15]="UPC_E",d[d.UPC_EAN_EXTENSION=16]="UPC_EAN_EXTENSION"})(W||(W={}));var Qr=new Map([[W.QR_CODE,"QR_CODE"],[W.AZTEC,"AZTEC"],[W.CODABAR,"CODABAR"],[W.CODE_39,"CODE_39"],[W.CODE_93,"CODE_93"],[W.CODE_128,"CODE_128"],[W.DATA_MATRIX,"DATA_MATRIX"],[W.MAXICODE,"MAXICODE"],[W.ITF,"ITF"],[W.EAN_13,"EAN_13"],[W.EAN_8,"EAN_8"],[W.PDF_417,"PDF_417"],[W.RSS_14,"RSS_14"],[W.RSS_EXPANDED,"RSS_EXPANDED"],[W.UPC_A,"UPC_A"],[W.UPC_E,"UPC_E"],[W.UPC_EAN_EXTENSION,"UPC_EAN_EXTENSION"]]),Jr;(function(d){d[d.UNKNOWN=0]="UNKNOWN",d[d.URL=1]="URL"})(Jr||(Jr={}));function Ws(d){return Object.values(W).includes(d)}var Gn;(function(d){d[d.SCAN_TYPE_CAMERA=0]="SCAN_TYPE_CAMERA",d[d.SCAN_TYPE_FILE=1]="SCAN_TYPE_FILE"})(Gn||(Gn={}));var Xs=function(){function d(){}return d.GITHUB_PROJECT_URL="https://github.com/mebjas/html5-qrcode",d.SCAN_DEFAULT_FPS=2,d.DEFAULT_DISABLE_FLIP=!1,d.DEFAULT_REMEMBER_LAST_CAMERA_USED=!0,d.DEFAULT_SUPPORTED_SCAN_TYPE=[Gn.SCAN_TYPE_CAMERA,Gn.SCAN_TYPE_FILE],d}(),hi=function(){function d(g,u){this.format=g,this.formatName=u}return d.prototype.toString=function(){return this.formatName},d.create=function(g){if(!Qr.has(g))throw"".concat(g," not in html5QrcodeSupportedFormatsTextMap");return new d(g,Qr.get(g))},d}(),$r=function(){function d(){}return d.createFromText=function(g){var u={text:g};return{decodedText:g,result:u}},d.createFromQrcodeResult=function(g){return{decodedText:g.text,result:g}},d}(),mr;(function(d){d[d.UNKWOWN_ERROR=0]="UNKWOWN_ERROR",d[d.IMPLEMENTATION_ERROR=1]="IMPLEMENTATION_ERROR",d[d.NO_CODE_FOUND_ERROR=2]="NO_CODE_FOUND_ERROR"})(mr||(mr={}));var Ys=function(){function d(){}return d.createFrom=function(g){return{errorMessage:g,type:mr.UNKWOWN_ERROR}},d}(),zs=function(){function d(g){this.verbose=g}return d.prototype.log=function(g){this.verbose&&console.log(g)},d.prototype.warn=function(g){this.verbose&&console.warn(g)},d.prototype.logError=function(g,u){(this.verbose||u===!0)&&console.error(g)},d.prototype.logErrors=function(g){if(g.length===0)throw"Logger#logError called without arguments";this.verbose&&console.error(g)},d}();function _t(d){return typeof d>"u"||d===null}var sn=function(){function d(){}return d.codeParseError=function(g){return"QR code parse error, error = ".concat(g)},d.errorGettingUserMedia=function(g){return"Error getting userMedia, error = ".concat(g)},d.onlyDeviceSupportedError=function(){return"The device doesn't support navigator.mediaDevices , only supported cameraIdOrConfig in this case is deviceId parameter (string)."},d.cameraStreamingNotSupported=function(){return"Camera streaming not supported by the browser."},d.unableToQuerySupportedDevices=function(){return"Unable to query supported devices, unknown error."},d.insecureContextCameraQueryError=function(){return"Camera access is only supported in secure context like https or localhost."},d.scannerPaused=function(){return"Scanner paused"},d}(),fi=function(){function d(){}return d.isMediaStreamConstraintsValid=function(g,u){if(typeof g!="object"){var m=typeof g;return u.logError("videoConstraints should be of type object, the "+"object passed is of type ".concat(m,"."),!0),!1}for(var I=["autoGainControl","channelCount","echoCancellation","latency","noiseSuppression","sampleRate","sampleSize","volume"],x=new Set(I),T=Object.keys(g),M=0,B=T;M<B.length;M++){var A=B[M];if(x.has(A))return u.logError("".concat(A," is not supported videoConstaints."),!0),!1}return!0},d}(),Ir={exports:{}};(function(d,g){(function(u,m){m(g)})(En,function(u){function m(h){return h==null}var I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,e){h.__proto__=e}||function(h,e){for(var t in e)e.hasOwnProperty(t)&&(h[t]=e[t])};function x(h,e){I(h,e);function t(){this.constructor=h}h.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function T(h,e){var t=Object.setPrototypeOf;t?t(h,e):h.__proto__=e}function M(h,e){e===void 0&&(e=h.constructor);var t=Error.captureStackTrace;t&&t(h,e)}var B=function(h){x(e,h);function e(t){var n=this.constructor,r=h.call(this,t)||this;return Object.defineProperty(r,"name",{value:n.name,enumerable:!1}),T(r,n.prototype),M(r),r}return e}(Error);class A extends B{constructor(e=void 0){super(e),this.message=e}getKind(){return this.constructor.kind}}A.kind="Exception";class N extends A{}N.kind="ArgumentException";class R extends A{}R.kind="IllegalArgumentException";class le{constructor(e){if(this.binarizer=e,e===null)throw new R("Binarizer must be non-null.")}getWidth(){return this.binarizer.getWidth()}getHeight(){return this.binarizer.getHeight()}getBlackRow(e,t){return this.binarizer.getBlackRow(e,t)}getBlackMatrix(){return(this.matrix===null||this.matrix===void 0)&&(this.matrix=this.binarizer.getBlackMatrix()),this.matrix}isCropSupported(){return this.binarizer.getLuminanceSource().isCropSupported()}crop(e,t,n,r){const i=this.binarizer.getLuminanceSource().crop(e,t,n,r);return new le(this.binarizer.createBinarizer(i))}isRotateSupported(){return this.binarizer.getLuminanceSource().isRotateSupported()}rotateCounterClockwise(){const e=this.binarizer.getLuminanceSource().rotateCounterClockwise();return new le(this.binarizer.createBinarizer(e))}rotateCounterClockwise45(){const e=this.binarizer.getLuminanceSource().rotateCounterClockwise45();return new le(this.binarizer.createBinarizer(e))}toString(){try{return this.getBlackMatrix().toString()}catch{return""}}}class $ extends A{static getChecksumInstance(){return new $}}$.kind="ChecksumException";class Pe{constructor(e){this.source=e}getLuminanceSource(){return this.source}getWidth(){return this.source.getWidth()}getHeight(){return this.source.getHeight()}}class ie{static arraycopy(e,t,n,r,i){for(;i--;)n[r++]=e[t++]}static currentTimeMillis(){return Date.now()}}class rt extends A{}rt.kind="IndexOutOfBoundsException";class oe extends rt{constructor(e=void 0,t=void 0){super(t),this.index=e,this.message=t}}oe.kind="ArrayIndexOutOfBoundsException";class J{static fill(e,t){for(let n=0,r=e.length;n<r;n++)e[n]=t}static fillWithin(e,t,n,r){J.rangeCheck(e.length,t,n);for(let i=t;i<n;i++)e[i]=r}static rangeCheck(e,t,n){if(t>n)throw new R("fromIndex("+t+") > toIndex("+n+")");if(t<0)throw new oe(t);if(n>e)throw new oe(n)}static asList(...e){return e}static create(e,t,n){return Array.from({length:e}).map(i=>Array.from({length:t}).fill(n))}static createInt32Array(e,t,n){return Array.from({length:e}).map(i=>Int32Array.from({length:t}).fill(n))}static equals(e,t){if(!e||!t||!e.length||!t.length||e.length!==t.length)return!1;for(let n=0,r=e.length;n<r;n++)if(e[n]!==t[n])return!1;return!0}static hashCode(e){if(e===null)return 0;let t=1;for(const n of e)t=31*t+n;return t}static fillUint8Array(e,t){for(let n=0;n!==e.length;n++)e[n]=t}static copyOf(e,t){return e.slice(0,t)}static copyOfUint8Array(e,t){if(e.length<=t){const n=new Uint8Array(t);return n.set(e),n}return e.slice(0,t)}static copyOfRange(e,t,n){const r=n-t,i=new Int32Array(r);return ie.arraycopy(e,t,i,0,r),i}static binarySearch(e,t,n){n===void 0&&(n=J.numberComparator);let r=0,i=e.length-1;for(;r<=i;){const s=i+r>>1,o=n(t,e[s]);if(o>0)r=s+1;else if(o<0)i=s-1;else return s}return-r-1}static numberComparator(e,t){return e-t}}class Y{static numberOfTrailingZeros(e){let t;if(e===0)return 32;let n=31;return t=e<<16,t!==0&&(n-=16,e=t),t=e<<8,t!==0&&(n-=8,e=t),t=e<<4,t!==0&&(n-=4,e=t),t=e<<2,t!==0&&(n-=2,e=t),n-(e<<1>>>31)}static numberOfLeadingZeros(e){if(e===0)return 32;let t=1;return e>>>16||(t+=16,e<<=16),e>>>24||(t+=8,e<<=8),e>>>28||(t+=4,e<<=4),e>>>30||(t+=2,e<<=2),t-=e>>>31,t}static toHexString(e){return e.toString(16)}static toBinaryString(e){return String(parseInt(String(e),2))}static bitCount(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),e=e+(e>>>4)&252645135,e=e+(e>>>8),e=e+(e>>>16),e&63}static truncDivision(e,t){return Math.trunc(e/t)}static parseInt(e,t=void 0){return parseInt(e,t)}}Y.MIN_VALUE_32_BITS=-2147483648,Y.MAX_VALUE=Number.MAX_SAFE_INTEGER;class ee{constructor(e,t){e===void 0?(this.size=0,this.bits=new Int32Array(1)):(this.size=e,t==null?this.bits=ee.makeArray(e):this.bits=t)}getSize(){return this.size}getSizeInBytes(){return Math.floor((this.size+7)/8)}ensureCapacity(e){if(e>this.bits.length*32){const t=ee.makeArray(e);ie.arraycopy(this.bits,0,t,0,this.bits.length),this.bits=t}}get(e){return(this.bits[Math.floor(e/32)]&1<<(e&31))!==0}set(e){this.bits[Math.floor(e/32)]|=1<<(e&31)}flip(e){this.bits[Math.floor(e/32)]^=1<<(e&31)}getNextSet(e){const t=this.size;if(e>=t)return t;const n=this.bits;let r=Math.floor(e/32),i=n[r];i&=~((1<<(e&31))-1);const s=n.length;for(;i===0;){if(++r===s)return t;i=n[r]}const o=r*32+Y.numberOfTrailingZeros(i);return o>t?t:o}getNextUnset(e){const t=this.size;if(e>=t)return t;const n=this.bits;let r=Math.floor(e/32),i=~n[r];i&=~((1<<(e&31))-1);const s=n.length;for(;i===0;){if(++r===s)return t;i=~n[r]}const o=r*32+Y.numberOfTrailingZeros(i);return o>t?t:o}setBulk(e,t){this.bits[Math.floor(e/32)]=t}setRange(e,t){if(t<e||e<0||t>this.size)throw new R;if(t===e)return;t--;const n=Math.floor(e/32),r=Math.floor(t/32),i=this.bits;for(let s=n;s<=r;s++){const o=s>n?0:e&31,l=(2<<(s<r?31:t&31))-(1<<o);i[s]|=l}}clear(){const e=this.bits.length,t=this.bits;for(let n=0;n<e;n++)t[n]=0}isRange(e,t,n){if(t<e||e<0||t>this.size)throw new R;if(t===e)return!0;t--;const r=Math.floor(e/32),i=Math.floor(t/32),s=this.bits;for(let o=r;o<=i;o++){const a=o>r?0:e&31,c=(2<<(o<i?31:t&31))-(1<<a)&4294967295;if((s[o]&c)!==(n?c:0))return!1}return!0}appendBit(e){this.ensureCapacity(this.size+1),e&&(this.bits[Math.floor(this.size/32)]|=1<<(this.size&31)),this.size++}appendBits(e,t){if(t<0||t>32)throw new R("Num bits must be between 0 and 32");this.ensureCapacity(this.size+t);for(let n=t;n>0;n--)this.appendBit((e>>n-1&1)===1)}appendBitArray(e){const t=e.size;this.ensureCapacity(this.size+t);for(let n=0;n<t;n++)this.appendBit(e.get(n))}xor(e){if(this.size!==e.size)throw new R("Sizes don't match");const t=this.bits;for(let n=0,r=t.length;n<r;n++)t[n]^=e.bits[n]}toBytes(e,t,n,r){for(let i=0;i<r;i++){let s=0;for(let o=0;o<8;o++)this.get(e)&&(s|=1<<7-o),e++;t[n+i]=s}}getBitArray(){return this.bits}reverse(){const e=new Int32Array(this.bits.length),t=Math.floor((this.size-1)/32),n=t+1,r=this.bits;for(let i=0;i<n;i++){let s=r[i];s=s>>1&1431655765|(s&1431655765)<<1,s=s>>2&858993459|(s&858993459)<<2,s=s>>4&252645135|(s&252645135)<<4,s=s>>8&16711935|(s&16711935)<<8,s=s>>16&65535|(s&65535)<<16,e[t-i]=s}if(this.size!==n*32){const i=n*32-this.size;let s=e[0]>>>i;for(let o=1;o<n;o++){const a=e[o];s|=a<<32-i,e[o-1]=s,s=a>>>i}e[n-1]=s}this.bits=e}static makeArray(e){return new Int32Array(Math.floor((e+31)/32))}equals(e){if(!(e instanceof ee))return!1;const t=e;return this.size===t.size&&J.equals(this.bits,t.bits)}hashCode(){return 31*this.size+J.hashCode(this.bits)}toString(){let e="";for(let t=0,n=this.size;t<n;t++)t&7||(e+=" "),e+=this.get(t)?"X":".";return e}clone(){return new ee(this.size,this.bits.slice())}}var qe;(function(h){h[h.OTHER=0]="OTHER",h[h.PURE_BARCODE=1]="PURE_BARCODE",h[h.POSSIBLE_FORMATS=2]="POSSIBLE_FORMATS",h[h.TRY_HARDER=3]="TRY_HARDER",h[h.CHARACTER_SET=4]="CHARACTER_SET",h[h.ALLOWED_LENGTHS=5]="ALLOWED_LENGTHS",h[h.ASSUME_CODE_39_CHECK_DIGIT=6]="ASSUME_CODE_39_CHECK_DIGIT",h[h.ASSUME_GS1=7]="ASSUME_GS1",h[h.RETURN_CODABAR_START_END=8]="RETURN_CODABAR_START_END",h[h.NEED_RESULT_POINT_CALLBACK=9]="NEED_RESULT_POINT_CALLBACK",h[h.ALLOWED_EAN_EXTENSIONS=10]="ALLOWED_EAN_EXTENSIONS"})(qe||(qe={}));var ue=qe;class U extends A{static getFormatInstance(){return new U}}U.kind="FormatException";var G;(function(h){h[h.Cp437=0]="Cp437",h[h.ISO8859_1=1]="ISO8859_1",h[h.ISO8859_2=2]="ISO8859_2",h[h.ISO8859_3=3]="ISO8859_3",h[h.ISO8859_4=4]="ISO8859_4",h[h.ISO8859_5=5]="ISO8859_5",h[h.ISO8859_6=6]="ISO8859_6",h[h.ISO8859_7=7]="ISO8859_7",h[h.ISO8859_8=8]="ISO8859_8",h[h.ISO8859_9=9]="ISO8859_9",h[h.ISO8859_10=10]="ISO8859_10",h[h.ISO8859_11=11]="ISO8859_11",h[h.ISO8859_13=12]="ISO8859_13",h[h.ISO8859_14=13]="ISO8859_14",h[h.ISO8859_15=14]="ISO8859_15",h[h.ISO8859_16=15]="ISO8859_16",h[h.SJIS=16]="SJIS",h[h.Cp1250=17]="Cp1250",h[h.Cp1251=18]="Cp1251",h[h.Cp1252=19]="Cp1252",h[h.Cp1256=20]="Cp1256",h[h.UnicodeBigUnmarked=21]="UnicodeBigUnmarked",h[h.UTF8=22]="UTF8",h[h.ASCII=23]="ASCII",h[h.Big5=24]="Big5",h[h.GB18030=25]="GB18030",h[h.EUC_KR=26]="EUC_KR"})(G||(G={}));class P{constructor(e,t,n,...r){this.valueIdentifier=e,this.name=n,typeof t=="number"?this.values=Int32Array.from([t]):this.values=t,this.otherEncodingNames=r,P.VALUE_IDENTIFIER_TO_ECI.set(e,this),P.NAME_TO_ECI.set(n,this);const i=this.values;for(let s=0,o=i.length;s!==o;s++){const a=i[s];P.VALUES_TO_ECI.set(a,this)}for(const s of r)P.NAME_TO_ECI.set(s,this)}getValueIdentifier(){return this.valueIdentifier}getName(){return this.name}getValue(){return this.values[0]}static getCharacterSetECIByValue(e){if(e<0||e>=900)throw new U("incorect value");const t=P.VALUES_TO_ECI.get(e);if(t===void 0)throw new U("incorect value");return t}static getCharacterSetECIByName(e){const t=P.NAME_TO_ECI.get(e);if(t===void 0)throw new U("incorect value");return t}equals(e){if(!(e instanceof P))return!1;const t=e;return this.getName()===t.getName()}}P.VALUE_IDENTIFIER_TO_ECI=new Map,P.VALUES_TO_ECI=new Map,P.NAME_TO_ECI=new Map,P.Cp437=new P(G.Cp437,Int32Array.from([0,2]),"Cp437"),P.ISO8859_1=new P(G.ISO8859_1,Int32Array.from([1,3]),"ISO-8859-1","ISO88591","ISO8859_1"),P.ISO8859_2=new P(G.ISO8859_2,4,"ISO-8859-2","ISO88592","ISO8859_2"),P.ISO8859_3=new P(G.ISO8859_3,5,"ISO-8859-3","ISO88593","ISO8859_3"),P.ISO8859_4=new P(G.ISO8859_4,6,"ISO-8859-4","ISO88594","ISO8859_4"),P.ISO8859_5=new P(G.ISO8859_5,7,"ISO-8859-5","ISO88595","ISO8859_5"),P.ISO8859_6=new P(G.ISO8859_6,8,"ISO-8859-6","ISO88596","ISO8859_6"),P.ISO8859_7=new P(G.ISO8859_7,9,"ISO-8859-7","ISO88597","ISO8859_7"),P.ISO8859_8=new P(G.ISO8859_8,10,"ISO-8859-8","ISO88598","ISO8859_8"),P.ISO8859_9=new P(G.ISO8859_9,11,"ISO-8859-9","ISO88599","ISO8859_9"),P.ISO8859_10=new P(G.ISO8859_10,12,"ISO-8859-10","ISO885910","ISO8859_10"),P.ISO8859_11=new P(G.ISO8859_11,13,"ISO-8859-11","ISO885911","ISO8859_11"),P.ISO8859_13=new P(G.ISO8859_13,15,"ISO-8859-13","ISO885913","ISO8859_13"),P.ISO8859_14=new P(G.ISO8859_14,16,"ISO-8859-14","ISO885914","ISO8859_14"),P.ISO8859_15=new P(G.ISO8859_15,17,"ISO-8859-15","ISO885915","ISO8859_15"),P.ISO8859_16=new P(G.ISO8859_16,18,"ISO-8859-16","ISO885916","ISO8859_16"),P.SJIS=new P(G.SJIS,20,"SJIS","Shift_JIS"),P.Cp1250=new P(G.Cp1250,21,"Cp1250","windows-1250"),P.Cp1251=new P(G.Cp1251,22,"Cp1251","windows-1251"),P.Cp1252=new P(G.Cp1252,23,"Cp1252","windows-1252"),P.Cp1256=new P(G.Cp1256,24,"Cp1256","windows-1256"),P.UnicodeBigUnmarked=new P(G.UnicodeBigUnmarked,25,"UnicodeBigUnmarked","UTF-16BE","UnicodeBig"),P.UTF8=new P(G.UTF8,26,"UTF8","UTF-8"),P.ASCII=new P(G.ASCII,Int32Array.from([27,170]),"ASCII","US-ASCII"),P.Big5=new P(G.Big5,28,"Big5"),P.GB18030=new P(G.GB18030,29,"GB18030","GB2312","EUC_CN","GBK"),P.EUC_KR=new P(G.EUC_KR,30,"EUC_KR","EUC-KR");class Le extends A{}Le.kind="UnsupportedOperationException";class Fe{static decode(e,t){const n=this.encodingName(t);return this.customDecoder?this.customDecoder(e,n):typeof TextDecoder>"u"||this.shouldDecodeOnFallback(n)?this.decodeFallback(e,n):new TextDecoder(n).decode(e)}static shouldDecodeOnFallback(e){return!Fe.isBrowser()&&e==="ISO-8859-1"}static encode(e,t){const n=this.encodingName(t);return this.customEncoder?this.customEncoder(e,n):typeof TextEncoder>"u"?this.encodeFallback(e):new TextEncoder().encode(e)}static isBrowser(){return typeof window<"u"&&{}.toString.call(window)==="[object Window]"}static encodingName(e){return typeof e=="string"?e:e.getName()}static encodingCharacterSet(e){return e instanceof P?e:P.getCharacterSetECIByName(e)}static decodeFallback(e,t){const n=this.encodingCharacterSet(t);if(Fe.isDecodeFallbackSupported(n)){let r="";for(let i=0,s=e.length;i<s;i++){let o=e[i].toString(16);o.length<2&&(o="0"+o),r+="%"+o}return decodeURIComponent(r)}if(n.equals(P.UnicodeBigUnmarked))return String.fromCharCode.apply(null,new Uint16Array(e.buffer));throw new Le(`Encoding ${this.encodingName(t)} not supported by fallback.`)}static isDecodeFallbackSupported(e){return e.equals(P.UTF8)||e.equals(P.ISO8859_1)||e.equals(P.ASCII)}static encodeFallback(e){const n=btoa(unescape(encodeURIComponent(e))).split(""),r=[];for(let i=0;i<n.length;i++)r.push(n[i].charCodeAt(0));return new Uint8Array(r)}}class z{static castAsNonUtf8Char(e,t=null){const n=t?t.getName():this.ISO88591;return Fe.decode(new Uint8Array([e]),n)}static guessEncoding(e,t){if(t!=null&&t.get(ue.CHARACTER_SET)!==void 0)return t.get(ue.CHARACTER_SET).toString();const n=e.length;let r=!0,i=!0,s=!0,o=0,a=0,l=0,c=0,f=0,w=0,E=0,p=0,b=0,y=0,O=0;const F=e.length>3&&e[0]===239&&e[1]===187&&e[2]===191;for(let k=0;k<n&&(r||i||s);k++){const L=e[k]&255;s&&(o>0?L&128?o--:s=!1:L&128&&(L&64?(o++,L&32?(o++,L&16?(o++,L&8?s=!1:c++):l++):a++):s=!1)),r&&(L>127&&L<160?r=!1:L>159&&(L<192||L===215||L===247)&&O++),i&&(f>0?L<64||L===127||L>252?i=!1:f--:L===128||L===160||L>239?i=!1:L>160&&L<224?(w++,p=0,E++,E>b&&(b=E)):L>127?(f++,E=0,p++,p>y&&(y=p)):(E=0,p=0))}return s&&o>0&&(s=!1),i&&f>0&&(i=!1),s&&(F||a+l+c>0)?z.UTF8:i&&(z.ASSUME_SHIFT_JIS||b>=3||y>=3)?z.SHIFT_JIS:r&&i?b===2&&w===2||O*10>=n?z.SHIFT_JIS:z.ISO88591:r?z.ISO88591:i?z.SHIFT_JIS:s?z.UTF8:z.PLATFORM_DEFAULT_ENCODING}static format(e,...t){let n=-1;function r(s,o,a,l,c,f){if(s==="%%")return"%";if(t[++n]===void 0)return;s=l?parseInt(l.substr(1)):void 0;let w=c?parseInt(c.substr(1)):void 0,E;switch(f){case"s":E=t[n];break;case"c":E=t[n][0];break;case"f":E=parseFloat(t[n]).toFixed(s);break;case"p":E=parseFloat(t[n]).toPrecision(s);break;case"e":E=parseFloat(t[n]).toExponential(s);break;case"x":E=parseInt(t[n]).toString(w||16);break;case"d":E=parseFloat(parseInt(t[n],w||10).toPrecision(s)).toFixed(0);break}E=typeof E=="object"?JSON.stringify(E):(+E).toString(w);let p=parseInt(a),b=a&&a[0]+""=="0"?"0":" ";for(;E.length<p;)E=o!==void 0?E+b:b+E;return E}let i=/%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;return e.replace(i,r)}static getBytes(e,t){return Fe.encode(e,t)}static getCharCode(e,t=0){return e.charCodeAt(t)}static getCharAt(e){return String.fromCharCode(e)}}z.SHIFT_JIS=P.SJIS.getName(),z.GB2312="GB2312",z.ISO88591=P.ISO8859_1.getName(),z.EUC_JP="EUC_JP",z.UTF8=P.UTF8.getName(),z.PLATFORM_DEFAULT_ENCODING=z.UTF8,z.ASSUME_SHIFT_JIS=!1;class he{constructor(e=""){this.value=e}enableDecoding(e){return this.encoding=e,this}append(e){return typeof e=="string"?this.value+=e.toString():this.encoding?this.value+=z.castAsNonUtf8Char(e,this.encoding):this.value+=String.fromCharCode(e),this}appendChars(e,t,n){for(let r=t;t<t+n;r++)this.append(e[r]);return this}length(){return this.value.length}charAt(e){return this.value.charAt(e)}deleteCharAt(e){this.value=this.value.substr(0,e)+this.value.substring(e+1)}setCharAt(e,t){this.value=this.value.substr(0,e)+t+this.value.substr(e+1)}substring(e,t){return this.value.substring(e,t)}setLengthToZero(){this.value=""}toString(){return this.value}insert(e,t){this.value=this.value.substr(0,e)+t+this.value.substr(e+t.length)}}class Me{constructor(e,t,n,r){if(this.width=e,this.height=t,this.rowSize=n,this.bits=r,t==null&&(t=e),this.height=t,e<1||t<1)throw new R("Both dimensions must be greater than 0");n==null&&(n=Math.floor((e+31)/32)),this.rowSize=n,r==null&&(this.bits=new Int32Array(this.rowSize*this.height))}static parseFromBooleanArray(e){const t=e.length,n=e[0].length,r=new Me(n,t);for(let i=0;i<t;i++){const s=e[i];for(let o=0;o<n;o++)s[o]&&r.set(o,i)}return r}static parseFromString(e,t,n){if(e===null)throw new R("stringRepresentation cannot be null");const r=new Array(e.length);let i=0,s=0,o=-1,a=0,l=0;for(;l<e.length;)if(e.charAt(l)===`
  2. `||e.charAt(l)==="\r"){if(i>s){if(o===-1)o=i-s;else if(i-s!==o)throw new R("row lengths do not match");s=i,a++}l++}else if(e.substring(l,l+t.length)===t)l+=t.length,r[i]=!0,i++;else if(e.substring(l,l+n.length)===n)l+=n.length,r[i]=!1,i++;else throw new R("illegal character encountered: "+e.substring(l));if(i>s){if(o===-1)o=i-s;else if(i-s!==o)throw new R("row lengths do not match");a++}const c=new Me(o,a);for(let f=0;f<i;f++)r[f]&&c.set(Math.floor(f%o),Math.floor(f/o));return c}get(e,t){const n=t*this.rowSize+Math.floor(e/32);return(this.bits[n]>>>(e&31)&1)!==0}set(e,t){const n=t*this.rowSize+Math.floor(e/32);this.bits[n]|=1<<(e&31)&4294967295}unset(e,t){const n=t*this.rowSize+Math.floor(e/32);this.bits[n]&=~(1<<(e&31)&4294967295)}flip(e,t){const n=t*this.rowSize+Math.floor(e/32);this.bits[n]^=1<<(e&31)&4294967295}xor(e){if(this.width!==e.getWidth()||this.height!==e.getHeight()||this.rowSize!==e.getRowSize())throw new R("input matrix dimensions do not match");const t=new ee(Math.floor(this.width/32)+1),n=this.rowSize,r=this.bits;for(let i=0,s=this.height;i<s;i++){const o=i*n,a=e.getRow(i,t).getBitArray();for(let l=0;l<n;l++)r[o+l]^=a[l]}}clear(){const e=this.bits,t=e.length;for(let n=0;n<t;n++)e[n]=0}setRegion(e,t,n,r){if(t<0||e<0)throw new R("Left and top must be nonnegative");if(r<1||n<1)throw new R("Height and width must be at least 1");const i=e+n,s=t+r;if(s>this.height||i>this.width)throw new R("The region must fit inside the matrix");const o=this.rowSize,a=this.bits;for(let l=t;l<s;l++){const c=l*o;for(let f=e;f<i;f++)a[c+Math.floor(f/32)]|=1<<(f&31)&4294967295}}getRow(e,t){t==null||t.getSize()<this.width?t=new ee(this.width):t.clear();const n=this.rowSize,r=this.bits,i=e*n;for(let s=0;s<n;s++)t.setBulk(s*32,r[i+s]);return t}setRow(e,t){ie.arraycopy(t.getBitArray(),0,this.bits,e*this.rowSize,this.rowSize)}rotate180(){const e=this.getWidth(),t=this.getHeight();let n=new ee(e),r=new ee(e);for(let i=0,s=Math.floor((t+1)/2);i<s;i++)n=this.getRow(i,n),r=this.getRow(t-1-i,r),n.reverse(),r.reverse(),this.setRow(i,r),this.setRow(t-1-i,n)}getEnclosingRectangle(){const e=this.width,t=this.height,n=this.rowSize,r=this.bits;let i=e,s=t,o=-1,a=-1;for(let l=0;l<t;l++)for(let c=0;c<n;c++){const f=r[l*n+c];if(f!==0){if(l<s&&(s=l),l>a&&(a=l),c*32<i){let w=0;for(;!(f<<31-w&4294967295);)w++;c*32+w<i&&(i=c*32+w)}if(c*32+31>o){let w=31;for(;!(f>>>w);)w--;c*32+w>o&&(o=c*32+w)}}}return o<i||a<s?null:Int32Array.from([i,s,o-i+1,a-s+1])}getTopLeftOnBit(){const e=this.rowSize,t=this.bits;let n=0;for(;n<t.length&&t[n]===0;)n++;if(n===t.length)return null;const r=n/e;let i=n%e*32;const s=t[n];let o=0;for(;!(s<<31-o&4294967295);)o++;return i+=o,Int32Array.from([i,r])}getBottomRightOnBit(){const e=this.rowSize,t=this.bits;let n=t.length-1;for(;n>=0&&t[n]===0;)n--;if(n<0)return null;const r=Math.floor(n/e);let i=Math.floor(n%e)*32;const s=t[n];let o=31;for(;!(s>>>o);)o--;return i+=o,Int32Array.from([i,r])}getWidth(){return this.width}getHeight(){return this.height}getRowSize(){return this.rowSize}equals(e){if(!(e instanceof Me))return!1;const t=e;return this.width===t.width&&this.height===t.height&&this.rowSize===t.rowSize&&J.equals(this.bits,t.bits)}hashCode(){let e=this.width;return e=31*e+this.width,e=31*e+this.height,e=31*e+this.rowSize,e=31*e+J.hashCode(this.bits),e}toString(e="X ",t=" ",n=`
  3. `){return this.buildToString(e,t,n)}buildToString(e,t,n){let r=new he;for(let i=0,s=this.height;i<s;i++){for(let o=0,a=this.width;o<a;o++)r.append(this.get(o,i)?e:t);r.append(n)}return r.toString()}clone(){return new Me(this.width,this.height,this.rowSize,this.bits.slice())}}class D extends A{static getNotFoundInstance(){return new D}}D.kind="NotFoundException";class He extends Pe{constructor(e){super(e),this.luminances=He.EMPTY,this.buckets=new Int32Array(He.LUMINANCE_BUCKETS)}getBlackRow(e,t){const n=this.getLuminanceSource(),r=n.getWidth();t==null||t.getSize()<r?t=new ee(r):t.clear(),this.initArrays(r);const i=n.getRow(e,this.luminances),s=this.buckets;for(let a=0;a<r;a++)s[(i[a]&255)>>He.LUMINANCE_SHIFT]++;const o=He.estimateBlackPoint(s);if(r<3)for(let a=0;a<r;a++)(i[a]&255)<o&&t.set(a);else{let a=i[0]&255,l=i[1]&255;for(let c=1;c<r-1;c++){const f=i[c+1]&255;(l*4-a-f)/2<o&&t.set(c),a=l,l=f}}return t}getBlackMatrix(){const e=this.getLuminanceSource(),t=e.getWidth(),n=e.getHeight(),r=new Me(t,n);this.initArrays(t);const i=this.buckets;for(let a=1;a<5;a++){const l=Math.floor(n*a/5),c=e.getRow(l,this.luminances),f=Math.floor(t*4/5);for(let w=Math.floor(t/5);w<f;w++){const E=c[w]&255;i[E>>He.LUMINANCE_SHIFT]++}}const s=He.estimateBlackPoint(i),o=e.getMatrix();for(let a=0;a<n;a++){const l=a*t;for(let c=0;c<t;c++)(o[l+c]&255)<s&&r.set(c,a)}return r}createBinarizer(e){return new He(e)}initArrays(e){this.luminances.length<e&&(this.luminances=new Uint8ClampedArray(e));const t=this.buckets;for(let n=0;n<He.LUMINANCE_BUCKETS;n++)t[n]=0}static estimateBlackPoint(e){const t=e.length;let n=0,r=0,i=0;for(let c=0;c<t;c++)e[c]>i&&(r=c,i=e[c]),e[c]>n&&(n=e[c]);let s=0,o=0;for(let c=0;c<t;c++){const f=c-r,w=e[c]*f*f;w>o&&(s=c,o=w)}if(r>s){const c=r;r=s,s=c}if(s-r<=t/16)throw new D;let a=s-1,l=-1;for(let c=s-1;c>r;c--){const f=c-r,w=f*f*(s-c)*(n-e[c]);w>l&&(a=c,l=w)}return a<<He.LUMINANCE_SHIFT}}He.LUMINANCE_BITS=5,He.LUMINANCE_SHIFT=8-He.LUMINANCE_BITS,He.LUMINANCE_BUCKETS=1<<He.LUMINANCE_BITS,He.EMPTY=Uint8ClampedArray.from([0]);class ne extends He{constructor(e){super(e),this.matrix=null}getBlackMatrix(){if(this.matrix!==null)return this.matrix;const e=this.getLuminanceSource(),t=e.getWidth(),n=e.getHeight();if(t>=ne.MINIMUM_DIMENSION&&n>=ne.MINIMUM_DIMENSION){const r=e.getMatrix();let i=t>>ne.BLOCK_SIZE_POWER;t&ne.BLOCK_SIZE_MASK&&i++;let s=n>>ne.BLOCK_SIZE_POWER;n&ne.BLOCK_SIZE_MASK&&s++;const o=ne.calculateBlackPoints(r,i,s,t,n),a=new Me(t,n);ne.calculateThresholdForBlock(r,i,s,t,n,o,a),this.matrix=a}else this.matrix=super.getBlackMatrix();return this.matrix}createBinarizer(e){return new ne(e)}static calculateThresholdForBlock(e,t,n,r,i,s,o){const a=i-ne.BLOCK_SIZE,l=r-ne.BLOCK_SIZE;for(let c=0;c<n;c++){let f=c<<ne.BLOCK_SIZE_POWER;f>a&&(f=a);const w=ne.cap(c,2,n-3);for(let E=0;E<t;E++){let p=E<<ne.BLOCK_SIZE_POWER;p>l&&(p=l);const b=ne.cap(E,2,t-3);let y=0;for(let F=-2;F<=2;F++){const k=s[w+F];y+=k[b-2]+k[b-1]+k[b]+k[b+1]+k[b+2]}const O=y/25;ne.thresholdBlock(e,p,f,O,r,o)}}}static cap(e,t,n){return e<t?t:e>n?n:e}static thresholdBlock(e,t,n,r,i,s){for(let o=0,a=n*i+t;o<ne.BLOCK_SIZE;o++,a+=i)for(let l=0;l<ne.BLOCK_SIZE;l++)(e[a+l]&255)<=r&&s.set(t+l,n+o)}static calculateBlackPoints(e,t,n,r,i){const s=i-ne.BLOCK_SIZE,o=r-ne.BLOCK_SIZE,a=new Array(n);for(let l=0;l<n;l++){a[l]=new Int32Array(t);let c=l<<ne.BLOCK_SIZE_POWER;c>s&&(c=s);for(let f=0;f<t;f++){let w=f<<ne.BLOCK_SIZE_POWER;w>o&&(w=o);let E=0,p=255,b=0;for(let O=0,F=c*r+w;O<ne.BLOCK_SIZE;O++,F+=r){for(let k=0;k<ne.BLOCK_SIZE;k++){const L=e[F+k]&255;E+=L,L<p&&(p=L),L>b&&(b=L)}if(b-p>ne.MIN_DYNAMIC_RANGE)for(O++,F+=r;O<ne.BLOCK_SIZE;O++,F+=r)for(let k=0;k<ne.BLOCK_SIZE;k++)E+=e[F+k]&255}let y=E>>ne.BLOCK_SIZE_POWER*2;if(b-p<=ne.MIN_DYNAMIC_RANGE&&(y=p/2,l>0&&f>0)){const O=(a[l-1][f]+2*a[l][f-1]+a[l-1][f-1])/4;p<O&&(y=O)}a[l][f]=y}}return a}}ne.BLOCK_SIZE_POWER=3,ne.BLOCK_SIZE=1<<ne.BLOCK_SIZE_POWER,ne.BLOCK_SIZE_MASK=ne.BLOCK_SIZE-1,ne.MINIMUM_DIMENSION=ne.BLOCK_SIZE*5,ne.MIN_DYNAMIC_RANGE=24;class on{constructor(e,t){this.width=e,this.height=t}getWidth(){return this.width}getHeight(){return this.height}isCropSupported(){return!1}crop(e,t,n,r){throw new Le("This luminance source does not support cropping.")}isRotateSupported(){return!1}rotateCounterClockwise(){throw new Le("This luminance source does not support rotation by 90 degrees.")}rotateCounterClockwise45(){throw new Le("This luminance source does not support rotation by 45 degrees.")}toString(){const e=new Uint8ClampedArray(this.width);let t=new he;for(let n=0;n<this.height;n++){const r=this.getRow(n,e);for(let i=0;i<this.width;i++){const s=r[i]&255;let o;s<64?o="#":s<128?o="+":s<192?o=".":o=" ",t.append(o)}t.append(`
  4. `)}return t.toString()}}class Ot extends on{constructor(e){super(e.getWidth(),e.getHeight()),this.delegate=e}getRow(e,t){const n=this.delegate.getRow(e,t),r=this.getWidth();for(let i=0;i<r;i++)n[i]=255-(n[i]&255);return n}getMatrix(){const e=this.delegate.getMatrix(),t=this.getWidth()*this.getHeight(),n=new Uint8ClampedArray(t);for(let r=0;r<t;r++)n[r]=255-(e[r]&255);return n}isCropSupported(){return this.delegate.isCropSupported()}crop(e,t,n,r){return new Ot(this.delegate.crop(e,t,n,r))}isRotateSupported(){return this.delegate.isRotateSupported()}invert(){return this.delegate}rotateCounterClockwise(){return new Ot(this.delegate.rotateCounterClockwise())}rotateCounterClockwise45(){return new Ot(this.delegate.rotateCounterClockwise45())}}class Rt extends on{constructor(e){super(e.width,e.height),this.canvas=e,this.tempCanvasElement=null,this.buffer=Rt.makeBufferFromCanvasImageData(e)}static makeBufferFromCanvasImageData(e){const t=e.getContext("2d").getImageData(0,0,e.width,e.height);return Rt.toGrayscaleBuffer(t.data,e.width,e.height)}static toGrayscaleBuffer(e,t,n){const r=new Uint8ClampedArray(t*n);for(let i=0,s=0,o=e.length;i<o;i+=4,s++){let a;if(e[i+3]===0)a=255;else{const c=e[i],f=e[i+1],w=e[i+2];a=306*c+601*f+117*w+512>>10}r[s]=a}return r}getRow(e,t){if(e<0||e>=this.getHeight())throw new R("Requested row is outside the image: "+e);const n=this.getWidth(),r=e*n;return t===null?t=this.buffer.slice(r,r+n):(t.length<n&&(t=new Uint8ClampedArray(n)),t.set(this.buffer.slice(r,r+n))),t}getMatrix(){return this.buffer}isCropSupported(){return!0}crop(e,t,n,r){return super.crop(e,t,n,r),this}isRotateSupported(){return!0}rotateCounterClockwise(){return this.rotate(-90),this}rotateCounterClockwise45(){return this.rotate(-45),this}getTempCanvasElement(){if(this.tempCanvasElement===null){const e=this.canvas.ownerDocument.createElement("canvas");e.width=this.canvas.width,e.height=this.canvas.height,this.tempCanvasElement=e}return this.tempCanvasElement}rotate(e){const t=this.getTempCanvasElement(),n=t.getContext("2d"),r=e*Rt.DEGREE_TO_RADIANS,i=this.canvas.width,s=this.canvas.height,o=Math.ceil(Math.abs(Math.cos(r))*i+Math.abs(Math.sin(r))*s),a=Math.ceil(Math.abs(Math.sin(r))*i+Math.abs(Math.cos(r))*s);return t.width=o,t.height=a,n.translate(o/2,a/2),n.rotate(r),n.drawImage(this.canvas,i/-2,s/-2),this.buffer=Rt.makeBufferFromCanvasImageData(t),this}invert(){return new Ot(this)}}Rt.DEGREE_TO_RADIANS=Math.PI/180;class Tr{constructor(e,t,n){this.deviceId=e,this.label=t,this.kind="videoinput",this.groupId=n||void 0}toJSON(){return{kind:this.kind,groupId:this.groupId,deviceId:this.deviceId,label:this.label}}}var $e=(globalThis||En||self||window||void 0)&&(globalThis||En||self||window||void 0).__awaiter||function(h,e,t,n){function r(i){return i instanceof t?i:new t(function(s){s(i)})}return new(t||(t=Promise))(function(i,s){function o(c){try{l(n.next(c))}catch(f){s(f)}}function a(c){try{l(n.throw(c))}catch(f){s(f)}}function l(c){c.done?i(c.value):r(c.value).then(o,a)}l((n=n.apply(h,e||[])).next())})};class Ut{constructor(e,t=500,n){this.reader=e,this.timeBetweenScansMillis=t,this._hints=n,this._stopContinuousDecode=!1,this._stopAsyncDecode=!1,this._timeBetweenDecodingAttempts=0}get hasNavigator(){return typeof navigator<"u"}get isMediaDevicesSuported(){return this.hasNavigator&&!!navigator.mediaDevices}get canEnumerateDevices(){return!!(this.isMediaDevicesSuported&&navigator.mediaDevices.enumerateDevices)}get timeBetweenDecodingAttempts(){return this._timeBetweenDecodingAttempts}set timeBetweenDecodingAttempts(e){this._timeBetweenDecodingAttempts=e<0?0:e}set hints(e){this._hints=e||null}get hints(){return this._hints}listVideoInputDevices(){return $e(this,void 0,void 0,function*(){if(!this.hasNavigator)throw new Error("Can't enumerate devices, navigator is not present.");if(!this.canEnumerateDevices)throw new Error("Can't enumerate devices, method not supported.");const e=yield navigator.mediaDevices.enumerateDevices(),t=[];for(const n of e){const r=n.kind==="video"?"videoinput":n.kind;if(r!=="videoinput")continue;const i=n.deviceId||n.id,s=n.label||`Video device ${t.length+1}`,o=n.groupId,a={deviceId:i,label:s,kind:r,groupId:o};t.push(a)}return t})}getVideoInputDevices(){return $e(this,void 0,void 0,function*(){return(yield this.listVideoInputDevices()).map(t=>new Tr(t.deviceId,t.label))})}findDeviceById(e){return $e(this,void 0,void 0,function*(){const t=yield this.listVideoInputDevices();return t?t.find(n=>n.deviceId===e):null})}decodeFromInputVideoDevice(e,t){return $e(this,void 0,void 0,function*(){return yield this.decodeOnceFromVideoDevice(e,t)})}decodeOnceFromVideoDevice(e,t){return $e(this,void 0,void 0,function*(){this.reset();let n;e?n={deviceId:{exact:e}}:n={facingMode:"environment"};const r={video:n};return yield this.decodeOnceFromConstraints(r,t)})}decodeOnceFromConstraints(e,t){return $e(this,void 0,void 0,function*(){const n=yield navigator.mediaDevices.getUserMedia(e);return yield this.decodeOnceFromStream(n,t)})}decodeOnceFromStream(e,t){return $e(this,void 0,void 0,function*(){this.reset();const n=yield this.attachStreamToVideo(e,t);return yield this.decodeOnce(n)})}decodeFromInputVideoDeviceContinuously(e,t,n){return $e(this,void 0,void 0,function*(){return yield this.decodeFromVideoDevice(e,t,n)})}decodeFromVideoDevice(e,t,n){return $e(this,void 0,void 0,function*(){let r;e?r={deviceId:{exact:e}}:r={facingMode:"environment"};const i={video:r};return yield this.decodeFromConstraints(i,t,n)})}decodeFromConstraints(e,t,n){return $e(this,void 0,void 0,function*(){const r=yield navigator.mediaDevices.getUserMedia(e);return yield this.decodeFromStream(r,t,n)})}decodeFromStream(e,t,n){return $e(this,void 0,void 0,function*(){this.reset();const r=yield this.attachStreamToVideo(e,t);return yield this.decodeContinuously(r,n)})}stopAsyncDecode(){this._stopAsyncDecode=!0}stopContinuousDecode(){this._stopContinuousDecode=!0}attachStreamToVideo(e,t){return $e(this,void 0,void 0,function*(){const n=this.prepareVideoElement(t);return this.addVideoSource(n,e),this.videoElement=n,this.stream=e,yield this.playVideoOnLoadAsync(n),n})}playVideoOnLoadAsync(e){return new Promise((t,n)=>this.playVideoOnLoad(e,()=>t()))}playVideoOnLoad(e,t){this.videoEndedListener=()=>this.stopStreams(),this.videoCanPlayListener=()=>this.tryPlayVideo(e),e.addEventListener("ended",this.videoEndedListener),e.addEventListener("canplay",this.videoCanPlayListener),e.addEventListener("playing",t),this.tryPlayVideo(e)}isVideoPlaying(e){return e.currentTime>0&&!e.paused&&!e.ended&&e.readyState>2}tryPlayVideo(e){return $e(this,void 0,void 0,function*(){if(this.isVideoPlaying(e)){console.warn("Trying to play video that is already playing.");return}try{yield e.play()}catch{console.warn("It was not possible to play the video.")}})}getMediaElement(e,t){const n=document.getElementById(e);if(!n)throw new N(`element with id '${e}' not found`);if(n.nodeName.toLowerCase()!==t.toLowerCase())throw new N(`element with id '${e}' must be an ${t} element`);return n}decodeFromImage(e,t){if(!e&&!t)throw new N("either imageElement with a src set or an url must be provided");return t&&!e?this.decodeFromImageUrl(t):this.decodeFromImageElement(e)}decodeFromVideo(e,t){if(!e&&!t)throw new N("Either an element with a src set or an URL must be provided");return t&&!e?this.decodeFromVideoUrl(t):this.decodeFromVideoElement(e)}decodeFromVideoContinuously(e,t,n){if(e===void 0&&t===void 0)throw new N("Either an element with a src set or an URL must be provided");return t&&!e?this.decodeFromVideoUrlContinuously(t,n):this.decodeFromVideoElementContinuously(e,n)}decodeFromImageElement(e){if(!e)throw new N("An image element must be provided.");this.reset();const t=this.prepareImageElement(e);this.imageElement=t;let n;return this.isImageLoaded(t)?n=this.decodeOnce(t,!1,!0):n=this._decodeOnLoadImage(t),n}decodeFromVideoElement(e){const t=this._decodeFromVideoElementSetup(e);return this._decodeOnLoadVideo(t)}decodeFromVideoElementContinuously(e,t){const n=this._decodeFromVideoElementSetup(e);return this._decodeOnLoadVideoContinuously(n,t)}_decodeFromVideoElementSetup(e){if(!e)throw new N("A video element must be provided.");this.reset();const t=this.prepareVideoElement(e);return this.videoElement=t,t}decodeFromImageUrl(e){if(!e)throw new N("An URL must be provided.");this.reset();const t=this.prepareImageElement();this.imageElement=t;const n=this._decodeOnLoadImage(t);return t.src=e,n}decodeFromVideoUrl(e){if(!e)throw new N("An URL must be provided.");this.reset();const t=this.prepareVideoElement(),n=this.decodeFromVideoElement(t);return t.src=e,n}decodeFromVideoUrlContinuously(e,t){if(!e)throw new N("An URL must be provided.");this.reset();const n=this.prepareVideoElement(),r=this.decodeFromVideoElementContinuously(n,t);return n.src=e,r}_decodeOnLoadImage(e){return new Promise((t,n)=>{this.imageLoadedListener=()=>this.decodeOnce(e,!1,!0).then(t,n),e.addEventListener("load",this.imageLoadedListener)})}_decodeOnLoadVideo(e){return $e(this,void 0,void 0,function*(){return yield this.playVideoOnLoadAsync(e),yield this.decodeOnce(e)})}_decodeOnLoadVideoContinuously(e,t){return $e(this,void 0,void 0,function*(){yield this.playVideoOnLoadAsync(e),this.decodeContinuously(e,t)})}isImageLoaded(e){return!(!e.complete||e.naturalWidth===0)}prepareImageElement(e){let t;return typeof e>"u"&&(t=document.createElement("img"),t.width=200,t.height=200),typeof e=="string"&&(t=this.getMediaElement(e,"img")),e instanceof HTMLImageElement&&(t=e),t}prepareVideoElement(e){let t;return!e&&typeof document<"u"&&(t=document.createElement("video"),t.width=200,t.height=200),typeof e=="string"&&(t=this.getMediaElement(e,"video")),e instanceof HTMLVideoElement&&(t=e),t.setAttribute("autoplay","true"),t.setAttribute("muted","true"),t.setAttribute("playsinline","true"),t}decodeOnce(e,t=!0,n=!0){this._stopAsyncDecode=!1;const r=(i,s)=>{if(this._stopAsyncDecode){s(new D("Video stream has ended before any code could be detected.")),this._stopAsyncDecode=void 0;return}try{const o=this.decode(e);i(o)}catch(o){const a=t&&o instanceof D,c=(o instanceof $||o instanceof U)&&n;if(a||c)return setTimeout(r,this._timeBetweenDecodingAttempts,i,s);s(o)}};return new Promise((i,s)=>r(i,s))}decodeContinuously(e,t){this._stopContinuousDecode=!1;const n=()=>{if(this._stopContinuousDecode){this._stopContinuousDecode=void 0;return}try{const r=this.decode(e);t(r,null),setTimeout(n,this.timeBetweenScansMillis)}catch(r){t(null,r);const i=r instanceof $||r instanceof U,s=r instanceof D;(i||s)&&setTimeout(n,this._timeBetweenDecodingAttempts)}};n()}decode(e){const t=this.createBinaryBitmap(e);return this.decodeBitmap(t)}_isHTMLVideoElement(e){return e.videoWidth!==0}drawFrameOnCanvas(e,t,n){t||(t={sx:0,sy:0,sWidth:e.videoWidth,sHeight:e.videoHeight,dx:0,dy:0,dWidth:e.videoWidth,dHeight:e.videoHeight}),n||(n=this.captureCanvasContext),n.drawImage(e,t.sx,t.sy,t.sWidth,t.sHeight,t.dx,t.dy,t.dWidth,t.dHeight)}drawImageOnCanvas(e,t,n=this.captureCanvasContext){t||(t={sx:0,sy:0,sWidth:e.naturalWidth,sHeight:e.naturalHeight,dx:0,dy:0,dWidth:e.naturalWidth,dHeight:e.naturalHeight}),n||(n=this.captureCanvasContext),n.drawImage(e,t.sx,t.sy,t.sWidth,t.sHeight,t.dx,t.dy,t.dWidth,t.dHeight)}createBinaryBitmap(e){this.getCaptureCanvasContext(e),this._isHTMLVideoElement(e)?this.drawFrameOnCanvas(e):this.drawImageOnCanvas(e);const t=this.getCaptureCanvas(e),n=new Rt(t),r=new ne(n);return new le(r)}getCaptureCanvasContext(e){if(!this.captureCanvasContext){const n=this.getCaptureCanvas(e).getContext("2d");this.captureCanvasContext=n}return this.captureCanvasContext}getCaptureCanvas(e){if(!this.captureCanvas){const t=this.createCaptureCanvas(e);this.captureCanvas=t}return this.captureCanvas}decodeBitmap(e){return this.reader.decode(e,this._hints)}createCaptureCanvas(e){if(typeof document>"u")return this._destroyCaptureCanvas(),null;const t=document.createElement("canvas");let n,r;return typeof e<"u"&&(e instanceof HTMLVideoElement?(n=e.videoWidth,r=e.videoHeight):e instanceof HTMLImageElement&&(n=e.naturalWidth||e.width,r=e.naturalHeight||e.height)),t.style.width=n+"px",t.style.height=r+"px",t.width=n,t.height=r,t}stopStreams(){this.stream&&(this.stream.getVideoTracks().forEach(e=>e.stop()),this.stream=void 0),this._stopAsyncDecode===!1&&this.stopAsyncDecode(),this._stopContinuousDecode===!1&&this.stopContinuousDecode()}reset(){this.stopStreams(),this._destroyVideoElement(),this._destroyImageElement(),this._destroyCaptureCanvas()}_destroyVideoElement(){this.videoElement&&(typeof this.videoEndedListener<"u"&&this.videoElement.removeEventListener("ended",this.videoEndedListener),typeof this.videoPlayingEventListener<"u"&&this.videoElement.removeEventListener("playing",this.videoPlayingEventListener),typeof this.videoCanPlayListener<"u"&&this.videoElement.removeEventListener("loadedmetadata",this.videoCanPlayListener),this.cleanVideoSource(this.videoElement),this.videoElement=void 0)}_destroyImageElement(){this.imageElement&&(this.imageLoadedListener!==void 0&&this.imageElement.removeEventListener("load",this.imageLoadedListener),this.imageElement.src=void 0,this.imageElement.removeAttribute("src"),this.imageElement=void 0)}_destroyCaptureCanvas(){this.captureCanvasContext=void 0,this.captureCanvas=void 0}addVideoSource(e,t){try{e.srcObject=t}catch{e.src=URL.createObjectURL(t)}}cleanVideoSource(e){try{e.srcObject=null}catch{e.src=""}this.videoElement.removeAttribute("src")}}class et{constructor(e,t,n=t==null?0:8*t.length,r,i,s=ie.currentTimeMillis()){this.text=e,this.rawBytes=t,this.numBits=n,this.resultPoints=r,this.format=i,this.timestamp=s,this.text=e,this.rawBytes=t,n==null?this.numBits=t==null?0:8*t.length:this.numBits=n,this.resultPoints=r,this.format=i,this.resultMetadata=null,s==null?this.timestamp=ie.currentTimeMillis():this.timestamp=s}getText(){return this.text}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}getResultPoints(){return this.resultPoints}getBarcodeFormat(){return this.format}getResultMetadata(){return this.resultMetadata}putMetadata(e,t){this.resultMetadata===null&&(this.resultMetadata=new Map),this.resultMetadata.set(e,t)}putAllMetadata(e){e!==null&&(this.resultMetadata===null?this.resultMetadata=e:this.resultMetadata=new Map(e))}addResultPoints(e){const t=this.resultPoints;if(t===null)this.resultPoints=e;else if(e!==null&&e.length>0){const n=new Array(t.length+e.length);ie.arraycopy(t,0,n,0,t.length),ie.arraycopy(e,0,n,t.length,e.length),this.resultPoints=n}}getTimestamp(){return this.timestamp}toString(){return this.text}}var Yn;(function(h){h[h.AZTEC=0]="AZTEC",h[h.CODABAR=1]="CODABAR",h[h.CODE_39=2]="CODE_39",h[h.CODE_93=3]="CODE_93",h[h.CODE_128=4]="CODE_128",h[h.DATA_MATRIX=5]="DATA_MATRIX",h[h.EAN_8=6]="EAN_8",h[h.EAN_13=7]="EAN_13",h[h.ITF=8]="ITF",h[h.MAXICODE=9]="MAXICODE",h[h.PDF_417=10]="PDF_417",h[h.QR_CODE=11]="QR_CODE",h[h.RSS_14=12]="RSS_14",h[h.RSS_EXPANDED=13]="RSS_EXPANDED",h[h.UPC_A=14]="UPC_A",h[h.UPC_E=15]="UPC_E",h[h.UPC_EAN_EXTENSION=16]="UPC_EAN_EXTENSION"})(Yn||(Yn={}));var j=Yn,zn;(function(h){h[h.OTHER=0]="OTHER",h[h.ORIENTATION=1]="ORIENTATION",h[h.BYTE_SEGMENTS=2]="BYTE_SEGMENTS",h[h.ERROR_CORRECTION_LEVEL=3]="ERROR_CORRECTION_LEVEL",h[h.ISSUE_NUMBER=4]="ISSUE_NUMBER",h[h.SUGGESTED_PRICE=5]="SUGGESTED_PRICE",h[h.POSSIBLE_COUNTRY=6]="POSSIBLE_COUNTRY",h[h.UPC_EAN_EXTENSION=7]="UPC_EAN_EXTENSION",h[h.PDF417_EXTRA_METADATA=8]="PDF417_EXTRA_METADATA",h[h.STRUCTURED_APPEND_SEQUENCE=9]="STRUCTURED_APPEND_SEQUENCE",h[h.STRUCTURED_APPEND_PARITY=10]="STRUCTURED_APPEND_PARITY"})(zn||(zn={}));var We=zn;class an{constructor(e,t,n,r,i=-1,s=-1){this.rawBytes=e,this.text=t,this.byteSegments=n,this.ecLevel=r,this.structuredAppendSequenceNumber=i,this.structuredAppendParity=s,this.numBits=e==null?0:8*e.length}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}setNumBits(e){this.numBits=e}getText(){return this.text}getByteSegments(){return this.byteSegments}getECLevel(){return this.ecLevel}getErrorsCorrected(){return this.errorsCorrected}setErrorsCorrected(e){this.errorsCorrected=e}getErasures(){return this.erasures}setErasures(e){this.erasures=e}getOther(){return this.other}setOther(e){this.other=e}hasStructuredAppend(){return this.structuredAppendParity>=0&&this.structuredAppendSequenceNumber>=0}getStructuredAppendParity(){return this.structuredAppendParity}getStructuredAppendSequenceNumber(){return this.structuredAppendSequenceNumber}}class ln{exp(e){return this.expTable[e]}log(e){if(e===0)throw new R;return this.logTable[e]}static addOrSubtract(e,t){return e^t}}class it{constructor(e,t){if(t.length===0)throw new R;this.field=e;const n=t.length;if(n>1&&t[0]===0){let r=1;for(;r<n&&t[r]===0;)r++;r===n?this.coefficients=Int32Array.from([0]):(this.coefficients=new Int32Array(n-r),ie.arraycopy(t,r,this.coefficients,0,this.coefficients.length))}else this.coefficients=t}getCoefficients(){return this.coefficients}getDegree(){return this.coefficients.length-1}isZero(){return this.coefficients[0]===0}getCoefficient(e){return this.coefficients[this.coefficients.length-1-e]}evaluateAt(e){if(e===0)return this.getCoefficient(0);const t=this.coefficients;let n;if(e===1){n=0;for(let s=0,o=t.length;s!==o;s++){const a=t[s];n=ln.addOrSubtract(n,a)}return n}n=t[0];const r=t.length,i=this.field;for(let s=1;s<r;s++)n=ln.addOrSubtract(i.multiply(e,n),t[s]);return n}addOrSubtract(e){if(!this.field.equals(e.field))throw new R("GenericGFPolys do not have same GenericGF field");if(this.isZero())return e;if(e.isZero())return this;let t=this.coefficients,n=e.coefficients;if(t.length>n.length){const s=t;t=n,n=s}let r=new Int32Array(n.length);const i=n.length-t.length;ie.arraycopy(n,0,r,0,i);for(let s=i;s<n.length;s++)r[s]=ln.addOrSubtract(t[s-i],n[s]);return new it(this.field,r)}multiply(e){if(!this.field.equals(e.field))throw new R("GenericGFPolys do not have same GenericGF field");if(this.isZero()||e.isZero())return this.field.getZero();const t=this.coefficients,n=t.length,r=e.coefficients,i=r.length,s=new Int32Array(n+i-1),o=this.field;for(let a=0;a<n;a++){const l=t[a];for(let c=0;c<i;c++)s[a+c]=ln.addOrSubtract(s[a+c],o.multiply(l,r[c]))}return new it(o,s)}multiplyScalar(e){if(e===0)return this.field.getZero();if(e===1)return this;const t=this.coefficients.length,n=this.field,r=new Int32Array(t),i=this.coefficients;for(let s=0;s<t;s++)r[s]=n.multiply(i[s],e);return new it(n,r)}multiplyByMonomial(e,t){if(e<0)throw new R;if(t===0)return this.field.getZero();const n=this.coefficients,r=n.length,i=new Int32Array(r+e),s=this.field;for(let o=0;o<r;o++)i[o]=s.multiply(n[o],t);return new it(s,i)}divide(e){if(!this.field.equals(e.field))throw new R("GenericGFPolys do not have same GenericGF field");if(e.isZero())throw new R("Divide by 0");const t=this.field;let n=t.getZero(),r=this;const i=e.getCoefficient(e.getDegree()),s=t.inverse(i);for(;r.getDegree()>=e.getDegree()&&!r.isZero();){const o=r.getDegree()-e.getDegree(),a=t.multiply(r.getCoefficient(r.getDegree()),s),l=e.multiplyByMonomial(o,a),c=t.buildMonomial(o,a);n=n.addOrSubtract(c),r=r.addOrSubtract(l)}return[n,r]}toString(){let e="";for(let t=this.getDegree();t>=0;t--){let n=this.getCoefficient(t);if(n!==0){if(n<0?(e+=" - ",n=-n):e.length>0&&(e+=" + "),t===0||n!==1){const r=this.field.log(n);r===0?e+="1":r===1?e+="a":(e+="a^",e+=r)}t!==0&&(t===1?e+="x":(e+="x^",e+=t))}}return e}}class Tn extends A{}Tn.kind="ArithmeticException";class xe extends ln{constructor(e,t,n){super(),this.primitive=e,this.size=t,this.generatorBase=n;const r=new Int32Array(t);let i=1;for(let o=0;o<t;o++)r[o]=i,i*=2,i>=t&&(i^=e,i&=t-1);this.expTable=r;const s=new Int32Array(t);for(let o=0;o<t-1;o++)s[r[o]]=o;this.logTable=s,this.zero=new it(this,Int32Array.from([0])),this.one=new it(this,Int32Array.from([1]))}getZero(){return this.zero}getOne(){return this.one}buildMonomial(e,t){if(e<0)throw new R;if(t===0)return this.zero;const n=new Int32Array(e+1);return n[0]=t,new it(this,n)}inverse(e){if(e===0)throw new Tn;return this.expTable[this.size-this.logTable[e]-1]}multiply(e,t){return e===0||t===0?0:this.expTable[(this.logTable[e]+this.logTable[t])%(this.size-1)]}getSize(){return this.size}getGeneratorBase(){return this.generatorBase}toString(){return"GF(0x"+Y.toHexString(this.primitive)+","+this.size+")"}equals(e){return e===this}}xe.AZTEC_DATA_12=new xe(4201,4096,1),xe.AZTEC_DATA_10=new xe(1033,1024,1),xe.AZTEC_DATA_6=new xe(67,64,1),xe.AZTEC_PARAM=new xe(19,16,1),xe.QR_CODE_FIELD_256=new xe(285,256,0),xe.DATA_MATRIX_FIELD_256=new xe(301,256,1),xe.AZTEC_DATA_8=xe.DATA_MATRIX_FIELD_256,xe.MAXICODE_FIELD_64=xe.AZTEC_DATA_6;class Zt extends A{}Zt.kind="ReedSolomonException";class mt extends A{}mt.kind="IllegalStateException";class cn{constructor(e){this.field=e}decode(e,t){const n=this.field,r=new it(n,e),i=new Int32Array(t);let s=!0;for(let E=0;E<t;E++){const p=r.evaluateAt(n.exp(E+n.getGeneratorBase()));i[i.length-1-E]=p,p!==0&&(s=!1)}if(s)return;const o=new it(n,i),a=this.runEuclideanAlgorithm(n.buildMonomial(t,1),o,t),l=a[0],c=a[1],f=this.findErrorLocations(l),w=this.findErrorMagnitudes(c,f);for(let E=0;E<f.length;E++){const p=e.length-1-n.log(f[E]);if(p<0)throw new Zt("Bad error location");e[p]=xe.addOrSubtract(e[p],w[E])}}runEuclideanAlgorithm(e,t,n){if(e.getDegree()<t.getDegree()){const E=e;e=t,t=E}const r=this.field;let i=e,s=t,o=r.getZero(),a=r.getOne();for(;s.getDegree()>=(n/2|0);){let E=i,p=o;if(i=s,o=a,i.isZero())throw new Zt("r_{i-1} was zero");s=E;let b=r.getZero();const y=i.getCoefficient(i.getDegree()),O=r.inverse(y);for(;s.getDegree()>=i.getDegree()&&!s.isZero();){const F=s.getDegree()-i.getDegree(),k=r.multiply(s.getCoefficient(s.getDegree()),O);b=b.addOrSubtract(r.buildMonomial(F,k)),s=s.addOrSubtract(i.multiplyByMonomial(F,k))}if(a=b.multiply(o).addOrSubtract(p),s.getDegree()>=i.getDegree())throw new mt("Division algorithm failed to reduce polynomial?")}const l=a.getCoefficient(0);if(l===0)throw new Zt("sigmaTilde(0) was zero");const c=r.inverse(l),f=a.multiplyScalar(c),w=s.multiplyScalar(c);return[f,w]}findErrorLocations(e){const t=e.getDegree();if(t===1)return Int32Array.from([e.getCoefficient(1)]);const n=new Int32Array(t);let r=0;const i=this.field;for(let s=1;s<i.getSize()&&r<t;s++)e.evaluateAt(s)===0&&(n[r]=i.inverse(s),r++);if(r!==t)throw new Zt("Error locator degree does not match number of roots");return n}findErrorMagnitudes(e,t){const n=t.length,r=new Int32Array(n),i=this.field;for(let s=0;s<n;s++){const o=i.inverse(t[s]);let a=1;for(let l=0;l<n;l++)if(s!==l){const c=i.multiply(t[l],o),f=c&1?c&-2:c|1;a=i.multiply(a,f)}r[s]=i.multiply(e.evaluateAt(o),i.inverse(a)),i.getGeneratorBase()!==0&&(r[s]=i.multiply(r[s],o))}return r}}var ze;(function(h){h[h.UPPER=0]="UPPER",h[h.LOWER=1]="LOWER",h[h.MIXED=2]="MIXED",h[h.DIGIT=3]="DIGIT",h[h.PUNCT=4]="PUNCT",h[h.BINARY=5]="BINARY"})(ze||(ze={}));class pe{decode(e){this.ddata=e;let t=e.getBits(),n=this.extractBits(t),r=this.correctBits(n),i=pe.convertBoolArrayToByteArray(r),s=pe.getEncodedData(r),o=new an(i,s,null,null);return o.setNumBits(r.length),o}static highLevelDecode(e){return this.getEncodedData(e)}static getEncodedData(e){let t=e.length,n=ze.UPPER,r=ze.UPPER,i="",s=0;for(;s<t;)if(r===ze.BINARY){if(t-s<5)break;let o=pe.readCode(e,s,5);if(s+=5,o===0){if(t-s<11)break;o=pe.readCode(e,s,11)+31,s+=11}for(let a=0;a<o;a++){if(t-s<8){s=t;break}const l=pe.readCode(e,s,8);i+=z.castAsNonUtf8Char(l),s+=8}r=n}else{let o=r===ze.DIGIT?4:5;if(t-s<o)break;let a=pe.readCode(e,s,o);s+=o;let l=pe.getCharacter(r,a);l.startsWith("CTRL_")?(n=r,r=pe.getTable(l.charAt(5)),l.charAt(6)==="L"&&(n=r)):(i+=l,r=n)}return i}static getTable(e){switch(e){case"L":return ze.LOWER;case"P":return ze.PUNCT;case"M":return ze.MIXED;case"D":return ze.DIGIT;case"B":return ze.BINARY;case"U":default:return ze.UPPER}}static getCharacter(e,t){switch(e){case ze.UPPER:return pe.UPPER_TABLE[t];case ze.LOWER:return pe.LOWER_TABLE[t];case ze.MIXED:return pe.MIXED_TABLE[t];case ze.PUNCT:return pe.PUNCT_TABLE[t];case ze.DIGIT:return pe.DIGIT_TABLE[t];default:throw new mt("Bad table")}}correctBits(e){let t,n;this.ddata.getNbLayers()<=2?(n=6,t=xe.AZTEC_DATA_6):this.ddata.getNbLayers()<=8?(n=8,t=xe.AZTEC_DATA_8):this.ddata.getNbLayers()<=22?(n=10,t=xe.AZTEC_DATA_10):(n=12,t=xe.AZTEC_DATA_12);let r=this.ddata.getNbDatablocks(),i=e.length/n;if(i<r)throw new U;let s=e.length%n,o=new Int32Array(i);for(let w=0;w<i;w++,s+=n)o[w]=pe.readCode(e,s,n);try{new cn(t).decode(o,i-r)}catch(w){throw new U(w)}let a=(1<<n)-1,l=0;for(let w=0;w<r;w++){let E=o[w];if(E===0||E===a)throw new U;(E===1||E===a-1)&&l++}let c=new Array(r*n-l),f=0;for(let w=0;w<r;w++){let E=o[w];if(E===1||E===a-1)c.fill(E>1,f,f+n-1),f+=n-1;else for(let p=n-1;p>=0;--p)c[f++]=(E&1<<p)!==0}return c}extractBits(e){let t=this.ddata.isCompact(),n=this.ddata.getNbLayers(),r=(t?11:14)+n*4,i=new Int32Array(r),s=new Array(this.totalBitsInLayer(n,t));if(t)for(let o=0;o<i.length;o++)i[o]=o;else{let o=r+1+2*Y.truncDivision(Y.truncDivision(r,2)-1,15),a=r/2,l=Y.truncDivision(o,2);for(let c=0;c<a;c++){let f=c+Y.truncDivision(c,15);i[a-c-1]=l-f-1,i[a+c]=l+f+1}}for(let o=0,a=0;o<n;o++){let l=(n-o)*4+(t?9:12),c=o*2,f=r-1-c;for(let w=0;w<l;w++){let E=w*2;for(let p=0;p<2;p++)s[a+E+p]=e.get(i[c+p],i[c+w]),s[a+2*l+E+p]=e.get(i[c+w],i[f-p]),s[a+4*l+E+p]=e.get(i[f-p],i[f-w]),s[a+6*l+E+p]=e.get(i[f-w],i[c+p])}a+=l*8}return s}static readCode(e,t,n){let r=0;for(let i=t;i<t+n;i++)r<<=1,e[i]&&(r|=1);return r}static readByte(e,t){let n=e.length-t;return n>=8?pe.readCode(e,t,8):pe.readCode(e,t,n)<<8-n}static convertBoolArrayToByteArray(e){let t=new Uint8Array((e.length+7)/8);for(let n=0;n<t.length;n++)t[n]=pe.readByte(e,8*n);return t}totalBitsInLayer(e,t){return((t?88:112)+16*e)*e}}pe.UPPER_TABLE=["CTRL_PS"," ","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","CTRL_LL","CTRL_ML","CTRL_DL","CTRL_BS"],pe.LOWER_TABLE=["CTRL_PS"," ","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","CTRL_US","CTRL_ML","CTRL_DL","CTRL_BS"],pe.MIXED_TABLE=["CTRL_PS"," ","\\1","\\2","\\3","\\4","\\5","\\6","\\7","\b"," ",`
  5. `,"\\13","\f","\r","\\33","\\34","\\35","\\36","\\37","@","\\","^","_","`","|","~","\\177","CTRL_LL","CTRL_UL","CTRL_PL","CTRL_BS"],pe.PUNCT_TABLE=["","\r",`\r
  6. `,". ",", ",": ","!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","[","]","{","}","CTRL_UL"],pe.DIGIT_TABLE=["CTRL_PS"," ","0","1","2","3","4","5","6","7","8","9",",",".","CTRL_UL","CTRL_US"];class fe{constructor(){}static round(e){return e===NaN?0:e<=Number.MIN_SAFE_INTEGER?Number.MIN_SAFE_INTEGER:e>=Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:e+(e<0?-.5:.5)|0}static distance(e,t,n,r){const i=e-n,s=t-r;return Math.sqrt(i*i+s*s)}static sum(e){let t=0;for(let n=0,r=e.length;n!==r;n++){const i=e[n];t+=i}return t}}class yn{static floatToIntBits(e){return e}}yn.MAX_VALUE=Number.MAX_SAFE_INTEGER;class X{constructor(e,t){this.x=e,this.y=t}getX(){return this.x}getY(){return this.y}equals(e){if(e instanceof X){const t=e;return this.x===t.x&&this.y===t.y}return!1}hashCode(){return 31*yn.floatToIntBits(this.x)+yn.floatToIntBits(this.y)}toString(){return"("+this.x+","+this.y+")"}static orderBestPatterns(e){const t=this.distance(e[0],e[1]),n=this.distance(e[1],e[2]),r=this.distance(e[0],e[2]);let i,s,o;if(n>=t&&n>=r?(s=e[0],i=e[1],o=e[2]):r>=n&&r>=t?(s=e[1],i=e[0],o=e[2]):(s=e[2],i=e[0],o=e[1]),this.crossProductZ(i,s,o)<0){const a=i;i=o,o=a}e[0]=i,e[1]=s,e[2]=o}static distance(e,t){return fe.distance(e.x,e.y,t.x,t.y)}static crossProductZ(e,t,n){const r=t.x,i=t.y;return(n.x-r)*(e.y-i)-(n.y-i)*(e.x-r)}}class Sn{constructor(e,t){this.bits=e,this.points=t}getBits(){return this.bits}getPoints(){return this.points}}class yr extends Sn{constructor(e,t,n,r,i){super(e,t),this.compact=n,this.nbDatablocks=r,this.nbLayers=i}getNbLayers(){return this.nbLayers}getNbDatablocks(){return this.nbDatablocks}isCompact(){return this.compact}}class Nt{constructor(e,t,n,r){this.image=e,this.height=e.getHeight(),this.width=e.getWidth(),t==null&&(t=Nt.INIT_SIZE),n==null&&(n=e.getWidth()/2|0),r==null&&(r=e.getHeight()/2|0);const i=t/2|0;if(this.leftInit=n-i,this.rightInit=n+i,this.upInit=r-i,this.downInit=r+i,this.upInit<0||this.leftInit<0||this.downInit>=this.height||this.rightInit>=this.width)throw new D}detect(){let e=this.leftInit,t=this.rightInit,n=this.upInit,r=this.downInit,i=!1,s=!0,o=!1,a=!1,l=!1,c=!1,f=!1;const w=this.width,E=this.height;for(;s;){s=!1;let p=!0;for(;(p||!a)&&t<w;)p=this.containsBlackPoint(n,r,t,!1),p?(t++,s=!0,a=!0):a||t++;if(t>=w){i=!0;break}let b=!0;for(;(b||!l)&&r<E;)b=this.containsBlackPoint(e,t,r,!0),b?(r++,s=!0,l=!0):l||r++;if(r>=E){i=!0;break}let y=!0;for(;(y||!c)&&e>=0;)y=this.containsBlackPoint(n,r,e,!1),y?(e--,s=!0,c=!0):c||e--;if(e<0){i=!0;break}let O=!0;for(;(O||!f)&&n>=0;)O=this.containsBlackPoint(e,t,n,!0),O?(n--,s=!0,f=!0):f||n--;if(n<0){i=!0;break}s&&(o=!0)}if(!i&&o){const p=t-e;let b=null;for(let k=1;b===null&&k<p;k++)b=this.getBlackPointOnSegment(e,r-k,e+k,r);if(b==null)throw new D;let y=null;for(let k=1;y===null&&k<p;k++)y=this.getBlackPointOnSegment(e,n+k,e+k,n);if(y==null)throw new D;let O=null;for(let k=1;O===null&&k<p;k++)O=this.getBlackPointOnSegment(t,n+k,t-k,n);if(O==null)throw new D;let F=null;for(let k=1;F===null&&k<p;k++)F=this.getBlackPointOnSegment(t,r-k,t-k,r);if(F==null)throw new D;return this.centerEdges(F,b,O,y)}else throw new D}getBlackPointOnSegment(e,t,n,r){const i=fe.round(fe.distance(e,t,n,r)),s=(n-e)/i,o=(r-t)/i,a=this.image;for(let l=0;l<i;l++){const c=fe.round(e+l*s),f=fe.round(t+l*o);if(a.get(c,f))return new X(c,f)}return null}centerEdges(e,t,n,r){const i=e.getX(),s=e.getY(),o=t.getX(),a=t.getY(),l=n.getX(),c=n.getY(),f=r.getX(),w=r.getY(),E=Nt.CORR;return i<this.width/2?[new X(f-E,w+E),new X(o+E,a+E),new X(l-E,c-E),new X(i+E,s-E)]:[new X(f+E,w+E),new X(o+E,a-E),new X(l-E,c+E),new X(i-E,s-E)]}containsBlackPoint(e,t,n,r){const i=this.image;if(r){for(let s=e;s<=t;s++)if(i.get(s,n))return!0}else for(let s=e;s<=t;s++)if(i.get(n,s))return!0;return!1}}Nt.INIT_SIZE=10,Nt.CORR=1;class Zn{static checkAndNudgePoints(e,t){const n=e.getWidth(),r=e.getHeight();let i=!0;for(let s=0;s<t.length&&i;s+=2){const o=Math.floor(t[s]),a=Math.floor(t[s+1]);if(o<-1||o>n||a<-1||a>r)throw new D;i=!1,o===-1?(t[s]=0,i=!0):o===n&&(t[s]=n-1,i=!0),a===-1?(t[s+1]=0,i=!0):a===r&&(t[s+1]=r-1,i=!0)}i=!0;for(let s=t.length-2;s>=0&&i;s-=2){const o=Math.floor(t[s]),a=Math.floor(t[s+1]);if(o<-1||o>n||a<-1||a>r)throw new D;i=!1,o===-1?(t[s]=0,i=!0):o===n&&(t[s]=n-1,i=!0),a===-1?(t[s+1]=0,i=!0):a===r&&(t[s+1]=r-1,i=!0)}}}class wt{constructor(e,t,n,r,i,s,o,a,l){this.a11=e,this.a21=t,this.a31=n,this.a12=r,this.a22=i,this.a32=s,this.a13=o,this.a23=a,this.a33=l}static quadrilateralToQuadrilateral(e,t,n,r,i,s,o,a,l,c,f,w,E,p,b,y){const O=wt.quadrilateralToSquare(e,t,n,r,i,s,o,a);return wt.squareToQuadrilateral(l,c,f,w,E,p,b,y).times(O)}transformPoints(e){const t=e.length,n=this.a11,r=this.a12,i=this.a13,s=this.a21,o=this.a22,a=this.a23,l=this.a31,c=this.a32,f=this.a33;for(let w=0;w<t;w+=2){const E=e[w],p=e[w+1],b=i*E+a*p+f;e[w]=(n*E+s*p+l)/b,e[w+1]=(r*E+o*p+c)/b}}transformPointsWithValues(e,t){const n=this.a11,r=this.a12,i=this.a13,s=this.a21,o=this.a22,a=this.a23,l=this.a31,c=this.a32,f=this.a33,w=e.length;for(let E=0;E<w;E++){const p=e[E],b=t[E],y=i*p+a*b+f;e[E]=(n*p+s*b+l)/y,t[E]=(r*p+o*b+c)/y}}static squareToQuadrilateral(e,t,n,r,i,s,o,a){const l=e-n+i-o,c=t-r+s-a;if(l===0&&c===0)return new wt(n-e,i-n,e,r-t,s-r,t,0,0,1);{const f=n-i,w=o-i,E=r-s,p=a-s,b=f*p-w*E,y=(l*p-w*c)/b,O=(f*c-l*E)/b;return new wt(n-e+y*n,o-e+O*o,e,r-t+y*r,a-t+O*a,t,y,O,1)}}static quadrilateralToSquare(e,t,n,r,i,s,o,a){return wt.squareToQuadrilateral(e,t,n,r,i,s,o,a).buildAdjoint()}buildAdjoint(){return new wt(this.a22*this.a33-this.a23*this.a32,this.a23*this.a31-this.a21*this.a33,this.a21*this.a32-this.a22*this.a31,this.a13*this.a32-this.a12*this.a33,this.a11*this.a33-this.a13*this.a31,this.a12*this.a31-this.a11*this.a32,this.a12*this.a23-this.a13*this.a22,this.a13*this.a21-this.a11*this.a23,this.a11*this.a22-this.a12*this.a21)}times(e){return new wt(this.a11*e.a11+this.a21*e.a12+this.a31*e.a13,this.a11*e.a21+this.a21*e.a22+this.a31*e.a23,this.a11*e.a31+this.a21*e.a32+this.a31*e.a33,this.a12*e.a11+this.a22*e.a12+this.a32*e.a13,this.a12*e.a21+this.a22*e.a22+this.a32*e.a23,this.a12*e.a31+this.a22*e.a32+this.a32*e.a33,this.a13*e.a11+this.a23*e.a12+this.a33*e.a13,this.a13*e.a21+this.a23*e.a22+this.a33*e.a23,this.a13*e.a31+this.a23*e.a32+this.a33*e.a33)}}class Sr extends Zn{sampleGrid(e,t,n,r,i,s,o,a,l,c,f,w,E,p,b,y,O,F,k){const L=wt.quadrilateralToQuadrilateral(r,i,s,o,a,l,c,f,w,E,p,b,y,O,F,k);return this.sampleGridWithTransform(e,t,n,L)}sampleGridWithTransform(e,t,n,r){if(t<=0||n<=0)throw new D;const i=new Me(t,n),s=new Float32Array(2*t);for(let o=0;o<n;o++){const a=s.length,l=o+.5;for(let c=0;c<a;c+=2)s[c]=c/2+.5,s[c+1]=l;r.transformPoints(s),Zn.checkAndNudgePoints(e,s);try{for(let c=0;c<a;c+=2)e.get(Math.floor(s[c]),Math.floor(s[c+1]))&&i.set(c/2,o)}catch{throw new D}}return i}}class Dt{static setGridSampler(e){Dt.gridSampler=e}static getInstance(){return Dt.gridSampler}}Dt.gridSampler=new Sr;class tt{constructor(e,t){this.x=e,this.y=t}toResultPoint(){return new X(this.getX(),this.getY())}getX(){return this.x}getY(){return this.y}}class Nr{constructor(e){this.EXPECTED_CORNER_BITS=new Int32Array([3808,476,2107,1799]),this.image=e}detect(){return this.detectMirror(!1)}detectMirror(e){let t=this.getMatrixCenter(),n=this.getBullsEyeCorners(t);if(e){let s=n[0];n[0]=n[2],n[2]=s}this.extractParameters(n);let r=this.sampleGrid(this.image,n[this.shift%4],n[(this.shift+1)%4],n[(this.shift+2)%4],n[(this.shift+3)%4]),i=this.getMatrixCornerPoints(n);return new yr(r,i,this.compact,this.nbDataBlocks,this.nbLayers)}extractParameters(e){if(!this.isValidPoint(e[0])||!this.isValidPoint(e[1])||!this.isValidPoint(e[2])||!this.isValidPoint(e[3]))throw new D;let t=2*this.nbCenterLayers,n=new Int32Array([this.sampleLine(e[0],e[1],t),this.sampleLine(e[1],e[2],t),this.sampleLine(e[2],e[3],t),this.sampleLine(e[3],e[0],t)]);this.shift=this.getRotation(n,t);let r=0;for(let s=0;s<4;s++){let o=n[(this.shift+s)%4];this.compact?(r<<=7,r+=o>>1&127):(r<<=10,r+=(o>>2&992)+(o>>1&31))}let i=this.getCorrectedParameterData(r,this.compact);this.compact?(this.nbLayers=(i>>6)+1,this.nbDataBlocks=(i&63)+1):(this.nbLayers=(i>>11)+1,this.nbDataBlocks=(i&2047)+1)}getRotation(e,t){let n=0;e.forEach((r,i,s)=>{let o=(r>>t-2<<1)+(r&1);n=(n<<3)+o}),n=((n&1)<<11)+(n>>1);for(let r=0;r<4;r++)if(Y.bitCount(n^this.EXPECTED_CORNER_BITS[r])<=2)return r;throw new D}getCorrectedParameterData(e,t){let n,r;t?(n=7,r=2):(n=10,r=4);let i=n-r,s=new Int32Array(n);for(let a=n-1;a>=0;--a)s[a]=e&15,e>>=4;try{new cn(xe.AZTEC_PARAM).decode(s,i)}catch{throw new D}let o=0;for(let a=0;a<r;a++)o=(o<<4)+s[a];return o}getBullsEyeCorners(e){let t=e,n=e,r=e,i=e,s=!0;for(this.nbCenterLayers=1;this.nbCenterLayers<9;this.nbCenterLayers++){let f=this.getFirstDifferent(t,s,1,-1),w=this.getFirstDifferent(n,s,1,1),E=this.getFirstDifferent(r,s,-1,1),p=this.getFirstDifferent(i,s,-1,-1);if(this.nbCenterLayers>2){let b=this.distancePoint(p,f)*this.nbCenterLayers/(this.distancePoint(i,t)*(this.nbCenterLayers+2));if(b<.75||b>1.25||!this.isWhiteOrBlackRectangle(f,w,E,p))break}t=f,n=w,r=E,i=p,s=!s}if(this.nbCenterLayers!==5&&this.nbCenterLayers!==7)throw new D;this.compact=this.nbCenterLayers===5;let o=new X(t.getX()+.5,t.getY()-.5),a=new X(n.getX()+.5,n.getY()+.5),l=new X(r.getX()-.5,r.getY()+.5),c=new X(i.getX()-.5,i.getY()-.5);return this.expandSquare([o,a,l,c],2*this.nbCenterLayers-3,2*this.nbCenterLayers)}getMatrixCenter(){let e,t,n,r;try{let o=new Nt(this.image).detect();e=o[0],t=o[1],n=o[2],r=o[3]}catch{let a=this.image.getWidth()/2,l=this.image.getHeight()/2;e=this.getFirstDifferent(new tt(a+7,l-7),!1,1,-1).toResultPoint(),t=this.getFirstDifferent(new tt(a+7,l+7),!1,1,1).toResultPoint(),n=this.getFirstDifferent(new tt(a-7,l+7),!1,-1,1).toResultPoint(),r=this.getFirstDifferent(new tt(a-7,l-7),!1,-1,-1).toResultPoint()}let i=fe.round((e.getX()+r.getX()+t.getX()+n.getX())/4),s=fe.round((e.getY()+r.getY()+t.getY()+n.getY())/4);try{let o=new Nt(this.image,15,i,s).detect();e=o[0],t=o[1],n=o[2],r=o[3]}catch{e=this.getFirstDifferent(new tt(i+7,s-7),!1,1,-1).toResultPoint(),t=this.getFirstDifferent(new tt(i+7,s+7),!1,1,1).toResultPoint(),n=this.getFirstDifferent(new tt(i-7,s+7),!1,-1,1).toResultPoint(),r=this.getFirstDifferent(new tt(i-7,s-7),!1,-1,-1).toResultPoint()}return i=fe.round((e.getX()+r.getX()+t.getX()+n.getX())/4),s=fe.round((e.getY()+r.getY()+t.getY()+n.getY())/4),new tt(i,s)}getMatrixCornerPoints(e){return this.expandSquare(e,2*this.nbCenterLayers,this.getDimension())}sampleGrid(e,t,n,r,i){let s=Dt.getInstance(),o=this.getDimension(),a=o/2-this.nbCenterLayers,l=o/2+this.nbCenterLayers;return s.sampleGrid(e,o,o,a,a,l,a,l,l,a,l,t.getX(),t.getY(),n.getX(),n.getY(),r.getX(),r.getY(),i.getX(),i.getY())}sampleLine(e,t,n){let r=0,i=this.distanceResultPoint(e,t),s=i/n,o=e.getX(),a=e.getY(),l=s*(t.getX()-e.getX())/i,c=s*(t.getY()-e.getY())/i;for(let f=0;f<n;f++)this.image.get(fe.round(o+f*l),fe.round(a+f*c))&&(r|=1<<n-f-1);return r}isWhiteOrBlackRectangle(e,t,n,r){let i=3;e=new tt(e.getX()-i,e.getY()+i),t=new tt(t.getX()-i,t.getY()-i),n=new tt(n.getX()+i,n.getY()-i),r=new tt(r.getX()+i,r.getY()+i);let s=this.getColor(r,e);if(s===0)return!1;let o=this.getColor(e,t);return o!==s||(o=this.getColor(t,n),o!==s)?!1:(o=this.getColor(n,r),o===s)}getColor(e,t){let n=this.distancePoint(e,t),r=(t.getX()-e.getX())/n,i=(t.getY()-e.getY())/n,s=0,o=e.getX(),a=e.getY(),l=this.image.get(e.getX(),e.getY()),c=Math.ceil(n);for(let w=0;w<c;w++)o+=r,a+=i,this.image.get(fe.round(o),fe.round(a))!==l&&s++;let f=s/n;return f>.1&&f<.9?0:f<=.1===l?1:-1}getFirstDifferent(e,t,n,r){let i=e.getX()+n,s=e.getY()+r;for(;this.isValid(i,s)&&this.image.get(i,s)===t;)i+=n,s+=r;for(i-=n,s-=r;this.isValid(i,s)&&this.image.get(i,s)===t;)i+=n;for(i-=n;this.isValid(i,s)&&this.image.get(i,s)===t;)s+=r;return s-=r,new tt(i,s)}expandSquare(e,t,n){let r=n/(2*t),i=e[0].getX()-e[2].getX(),s=e[0].getY()-e[2].getY(),o=(e[0].getX()+e[2].getX())/2,a=(e[0].getY()+e[2].getY())/2,l=new X(o+r*i,a+r*s),c=new X(o-r*i,a-r*s);i=e[1].getX()-e[3].getX(),s=e[1].getY()-e[3].getY(),o=(e[1].getX()+e[3].getX())/2,a=(e[1].getY()+e[3].getY())/2;let f=new X(o+r*i,a+r*s),w=new X(o-r*i,a-r*s);return[l,f,c,w]}isValid(e,t){return e>=0&&e<this.image.getWidth()&&t>0&&t<this.image.getHeight()}isValidPoint(e){let t=fe.round(e.getX()),n=fe.round(e.getY());return this.isValid(t,n)}distancePoint(e,t){return fe.distance(e.getX(),e.getY(),t.getX(),t.getY())}distanceResultPoint(e,t){return fe.distance(e.getX(),e.getY(),t.getX(),t.getY())}getDimension(){return this.compact?4*this.nbLayers+11:this.nbLayers<=4?4*this.nbLayers+15:4*this.nbLayers+2*(Y.truncDivision(this.nbLayers-4,8)+1)+15}}class Nn{decode(e,t=null){let n=null,r=new Nr(e.getBlackMatrix()),i=null,s=null;try{let c=r.detectMirror(!1);i=c.getPoints(),this.reportFoundResultPoints(t,i),s=new pe().decode(c)}catch(c){n=c}if(s==null)try{let c=r.detectMirror(!0);i=c.getPoints(),this.reportFoundResultPoints(t,i),s=new pe().decode(c)}catch(c){throw n??c}let o=new et(s.getText(),s.getRawBytes(),s.getNumBits(),i,j.AZTEC,ie.currentTimeMillis()),a=s.getByteSegments();a!=null&&o.putMetadata(We.BYTE_SEGMENTS,a);let l=s.getECLevel();return l!=null&&o.putMetadata(We.ERROR_CORRECTION_LEVEL,l),o}reportFoundResultPoints(e,t){if(e!=null){let n=e.get(ue.NEED_RESULT_POINT_CALLBACK);n!=null&&t.forEach((r,i,s)=>{n.foundPossibleResultPoint(r)})}}reset(){}}class xi extends Ut{constructor(e=500){super(new Nn,e)}}class ve{decode(e,t){try{return this.doDecode(e,t)}catch{if(t&&t.get(ue.TRY_HARDER)===!0&&e.isRotateSupported()){const i=e.rotateCounterClockwise(),s=this.doDecode(i,t),o=s.getResultMetadata();let a=270;o!==null&&o.get(We.ORIENTATION)===!0&&(a=a+o.get(We.ORIENTATION)%360),s.putMetadata(We.ORIENTATION,a);const l=s.getResultPoints();if(l!==null){const c=i.getHeight();for(let f=0;f<l.length;f++)l[f]=new X(c-l[f].getY()-1,l[f].getX())}return s}else throw new D}}reset(){}doDecode(e,t){const n=e.getWidth(),r=e.getHeight();let i=new ee(n);const s=t&&t.get(ue.TRY_HARDER)===!0,o=Math.max(1,r>>(s?8:5));let a;s?a=r:a=15;const l=Math.trunc(r/2);for(let c=0;c<a;c++){const f=Math.trunc((c+1)/2),w=(c&1)===0,E=l+o*(w?f:-f);if(E<0||E>=r)break;try{i=e.getBlackRow(E,i)}catch{continue}for(let p=0;p<2;p++){if(p===1&&(i.reverse(),t&&t.get(ue.NEED_RESULT_POINT_CALLBACK)===!0)){const b=new Map;t.forEach((y,O)=>b.set(O,y)),b.delete(ue.NEED_RESULT_POINT_CALLBACK),t=b}try{const b=this.decodeRow(E,i,t);if(p===1){b.putMetadata(We.ORIENTATION,180);const y=b.getResultPoints();y!==null&&(y[0]=new X(n-y[0].getX()-1,y[0].getY()),y[1]=new X(n-y[1].getX()-1,y[1].getY()))}return b}catch{}}}throw new D}static recordPattern(e,t,n){const r=n.length;for(let l=0;l<r;l++)n[l]=0;const i=e.getSize();if(t>=i)throw new D;let s=!e.get(t),o=0,a=t;for(;a<i;){if(e.get(a)!==s)n[o]++;else{if(++o===r)break;n[o]=1,s=!s}a++}if(!(o===r||o===r-1&&a===i))throw new D}static recordPatternInReverse(e,t,n){let r=n.length,i=e.get(t);for(;t>0&&r>=0;)e.get(--t)!==i&&(r--,i=!i);if(r>=0)throw new D;ve.recordPattern(e,t+1,n)}static patternMatchVariance(e,t,n){const r=e.length;let i=0,s=0;for(let l=0;l<r;l++)i+=e[l],s+=t[l];if(i<s)return Number.POSITIVE_INFINITY;const o=i/s;n*=o;let a=0;for(let l=0;l<r;l++){const c=e[l],f=t[l]*o,w=c>f?c-f:f-c;if(w>n)return Number.POSITIVE_INFINITY;a+=w}return a/i}}class V extends ve{static findStartPattern(e){const t=e.getSize(),n=e.getNextSet(0);let r=0,i=Int32Array.from([0,0,0,0,0,0]),s=n,o=!1;const a=6;for(let l=n;l<t;l++)if(e.get(l)!==o)i[r]++;else{if(r===a-1){let c=V.MAX_AVG_VARIANCE,f=-1;for(let w=V.CODE_START_A;w<=V.CODE_START_C;w++){const E=ve.patternMatchVariance(i,V.CODE_PATTERNS[w],V.MAX_INDIVIDUAL_VARIANCE);E<c&&(c=E,f=w)}if(f>=0&&e.isRange(Math.max(0,s-(l-s)/2),s,!1))return Int32Array.from([s,l,f]);s+=i[0]+i[1],i=i.slice(2,i.length-1),i[r-1]=0,i[r]=0,r--}else r++;i[r]=1,o=!o}throw new D}static decodeCode(e,t,n){ve.recordPattern(e,n,t);let r=V.MAX_AVG_VARIANCE,i=-1;for(let s=0;s<V.CODE_PATTERNS.length;s++){const o=V.CODE_PATTERNS[s],a=this.patternMatchVariance(t,o,V.MAX_INDIVIDUAL_VARIANCE);a<r&&(r=a,i=s)}if(i>=0)return i;throw new D}decodeRow(e,t,n){const r=n&&n.get(ue.ASSUME_GS1)===!0,i=V.findStartPattern(t),s=i[2];let o=0;const a=new Uint8Array(20);a[o++]=s;let l;switch(s){case V.CODE_START_A:l=V.CODE_CODE_A;break;case V.CODE_START_B:l=V.CODE_CODE_B;break;case V.CODE_START_C:l=V.CODE_CODE_C;break;default:throw new U}let c=!1,f=!1,w="",E=i[0],p=i[1];const b=Int32Array.from([0,0,0,0,0,0]);let y=0,O=0,F=s,k=0,L=!0,ae=!1,te=!1;for(;!c;){const nn=f;switch(f=!1,y=O,O=V.decodeCode(t,b,p),a[o++]=O,O!==V.CODE_STOP&&(L=!0),O!==V.CODE_STOP&&(k++,F+=k*O),E=p,p+=b.reduce((Wi,Xi)=>Wi+Xi,0),O){case V.CODE_START_A:case V.CODE_START_B:case V.CODE_START_C:throw new U}switch(l){case V.CODE_CODE_A:if(O<64)te===ae?w+=String.fromCharCode(" ".charCodeAt(0)+O):w+=String.fromCharCode(" ".charCodeAt(0)+O+128),te=!1;else if(O<96)te===ae?w+=String.fromCharCode(O-64):w+=String.fromCharCode(O+64),te=!1;else switch(O!==V.CODE_STOP&&(L=!1),O){case V.CODE_FNC_1:r&&(w.length===0?w+="]C1":w+=String.fromCharCode(29));break;case V.CODE_FNC_2:case V.CODE_FNC_3:break;case V.CODE_FNC_4_A:!ae&&te?(ae=!0,te=!1):ae&&te?(ae=!1,te=!1):te=!0;break;case V.CODE_SHIFT:f=!0,l=V.CODE_CODE_B;break;case V.CODE_CODE_B:l=V.CODE_CODE_B;break;case V.CODE_CODE_C:l=V.CODE_CODE_C;break;case V.CODE_STOP:c=!0;break}break;case V.CODE_CODE_B:if(O<96)te===ae?w+=String.fromCharCode(" ".charCodeAt(0)+O):w+=String.fromCharCode(" ".charCodeAt(0)+O+128),te=!1;else switch(O!==V.CODE_STOP&&(L=!1),O){case V.CODE_FNC_1:r&&(w.length===0?w+="]C1":w+=String.fromCharCode(29));break;case V.CODE_FNC_2:case V.CODE_FNC_3:break;case V.CODE_FNC_4_B:!ae&&te?(ae=!0,te=!1):ae&&te?(ae=!1,te=!1):te=!0;break;case V.CODE_SHIFT:f=!0,l=V.CODE_CODE_A;break;case V.CODE_CODE_A:l=V.CODE_CODE_A;break;case V.CODE_CODE_C:l=V.CODE_CODE_C;break;case V.CODE_STOP:c=!0;break}break;case V.CODE_CODE_C:if(O<100)O<10&&(w+="0"),w+=O;else switch(O!==V.CODE_STOP&&(L=!1),O){case V.CODE_FNC_1:r&&(w.length===0?w+="]C1":w+=String.fromCharCode(29));break;case V.CODE_CODE_A:l=V.CODE_CODE_A;break;case V.CODE_CODE_B:l=V.CODE_CODE_B;break;case V.CODE_STOP:c=!0;break}break}nn&&(l=l===V.CODE_CODE_A?V.CODE_CODE_B:V.CODE_CODE_A)}const lt=p-E;if(p=t.getNextUnset(p),!t.isRange(p,Math.min(t.getSize(),p+(p-E)/2),!1))throw new D;if(F-=k*y,F%103!==y)throw new $;const Ct=w.length;if(Ct===0)throw new D;Ct>0&&L&&(l===V.CODE_CODE_C?w=w.substring(0,Ct-2):w=w.substring(0,Ct-1));const ct=(i[1]+i[0])/2,Ie=E+lt/2,je=a.length,ut=new Uint8Array(je);for(let nn=0;nn<je;nn++)ut[nn]=a[nn];const tn=[new X(ct,e),new X(Ie,e)];return new et(w,ut,0,tn,j.CODE_128,new Date().getTime())}}V.CODE_PATTERNS=[Int32Array.from([2,1,2,2,2,2]),Int32Array.from([2,2,2,1,2,2]),Int32Array.from([2,2,2,2,2,1]),Int32Array.from([1,2,1,2,2,3]),Int32Array.from([1,2,1,3,2,2]),Int32Array.from([1,3,1,2,2,2]),Int32Array.from([1,2,2,2,1,3]),Int32Array.from([1,2,2,3,1,2]),Int32Array.from([1,3,2,2,1,2]),Int32Array.from([2,2,1,2,1,3]),Int32Array.from([2,2,1,3,1,2]),Int32Array.from([2,3,1,2,1,2]),Int32Array.from([1,1,2,2,3,2]),Int32Array.from([1,2,2,1,3,2]),Int32Array.from([1,2,2,2,3,1]),Int32Array.from([1,1,3,2,2,2]),Int32Array.from([1,2,3,1,2,2]),Int32Array.from([1,2,3,2,2,1]),Int32Array.from([2,2,3,2,1,1]),Int32Array.from([2,2,1,1,3,2]),Int32Array.from([2,2,1,2,3,1]),Int32Array.from([2,1,3,2,1,2]),Int32Array.from([2,2,3,1,1,2]),Int32Array.from([3,1,2,1,3,1]),Int32Array.from([3,1,1,2,2,2]),Int32Array.from([3,2,1,1,2,2]),Int32Array.from([3,2,1,2,2,1]),Int32Array.from([3,1,2,2,1,2]),Int32Array.from([3,2,2,1,1,2]),Int32Array.from([3,2,2,2,1,1]),Int32Array.from([2,1,2,1,2,3]),Int32Array.from([2,1,2,3,2,1]),Int32Array.from([2,3,2,1,2,1]),Int32Array.from([1,1,1,3,2,3]),Int32Array.from([1,3,1,1,2,3]),Int32Array.from([1,3,1,3,2,1]),Int32Array.from([1,1,2,3,1,3]),Int32Array.from([1,3,2,1,1,3]),Int32Array.from([1,3,2,3,1,1]),Int32Array.from([2,1,1,3,1,3]),Int32Array.from([2,3,1,1,1,3]),Int32Array.from([2,3,1,3,1,1]),Int32Array.from([1,1,2,1,3,3]),Int32Array.from([1,1,2,3,3,1]),Int32Array.from([1,3,2,1,3,1]),Int32Array.from([1,1,3,1,2,3]),Int32Array.from([1,1,3,3,2,1]),Int32Array.from([1,3,3,1,2,1]),Int32Array.from([3,1,3,1,2,1]),Int32Array.from([2,1,1,3,3,1]),Int32Array.from([2,3,1,1,3,1]),Int32Array.from([2,1,3,1,1,3]),Int32Array.from([2,1,3,3,1,1]),Int32Array.from([2,1,3,1,3,1]),Int32Array.from([3,1,1,1,2,3]),Int32Array.from([3,1,1,3,2,1]),Int32Array.from([3,3,1,1,2,1]),Int32Array.from([3,1,2,1,1,3]),Int32Array.from([3,1,2,3,1,1]),Int32Array.from([3,3,2,1,1,1]),Int32Array.from([3,1,4,1,1,1]),Int32Array.from([2,2,1,4,1,1]),Int32Array.from([4,3,1,1,1,1]),Int32Array.from([1,1,1,2,2,4]),Int32Array.from([1,1,1,4,2,2]),Int32Array.from([1,2,1,1,2,4]),Int32Array.from([1,2,1,4,2,1]),Int32Array.from([1,4,1,1,2,2]),Int32Array.from([1,4,1,2,2,1]),Int32Array.from([1,1,2,2,1,4]),Int32Array.from([1,1,2,4,1,2]),Int32Array.from([1,2,2,1,1,4]),Int32Array.from([1,2,2,4,1,1]),Int32Array.from([1,4,2,1,1,2]),Int32Array.from([1,4,2,2,1,1]),Int32Array.from([2,4,1,2,1,1]),Int32Array.from([2,2,1,1,1,4]),Int32Array.from([4,1,3,1,1,1]),Int32Array.from([2,4,1,1,1,2]),Int32Array.from([1,3,4,1,1,1]),Int32Array.from([1,1,1,2,4,2]),Int32Array.from([1,2,1,1,4,2]),Int32Array.from([1,2,1,2,4,1]),Int32Array.from([1,1,4,2,1,2]),Int32Array.from([1,2,4,1,1,2]),Int32Array.from([1,2,4,2,1,1]),Int32Array.from([4,1,1,2,1,2]),Int32Array.from([4,2,1,1,1,2]),Int32Array.from([4,2,1,2,1,1]),Int32Array.from([2,1,2,1,4,1]),Int32Array.from([2,1,4,1,2,1]),Int32Array.from([4,1,2,1,2,1]),Int32Array.from([1,1,1,1,4,3]),Int32Array.from([1,1,1,3,4,1]),Int32Array.from([1,3,1,1,4,1]),Int32Array.from([1,1,4,1,1,3]),Int32Array.from([1,1,4,3,1,1]),Int32Array.from([4,1,1,1,1,3]),Int32Array.from([4,1,1,3,1,1]),Int32Array.from([1,1,3,1,4,1]),Int32Array.from([1,1,4,1,3,1]),Int32Array.from([3,1,1,1,4,1]),Int32Array.from([4,1,1,1,3,1]),Int32Array.from([2,1,1,4,1,2]),Int32Array.from([2,1,1,2,1,4]),Int32Array.from([2,1,1,2,3,2]),Int32Array.from([2,3,3,1,1,1,2])],V.MAX_AVG_VARIANCE=.25,V.MAX_INDIVIDUAL_VARIANCE=.7,V.CODE_SHIFT=98,V.CODE_CODE_C=99,V.CODE_CODE_B=100,V.CODE_CODE_A=101,V.CODE_FNC_1=102,V.CODE_FNC_2=97,V.CODE_FNC_3=96,V.CODE_FNC_4_A=101,V.CODE_FNC_4_B=100,V.CODE_START_A=103,V.CODE_START_B=104,V.CODE_START_C=105,V.CODE_STOP=106;class ke extends ve{constructor(e=!1,t=!1){super(),this.usingCheckDigit=e,this.extendedMode=t,this.decodeRowResult="",this.counters=new Int32Array(9)}decodeRow(e,t,n){let r=this.counters;r.fill(0),this.decodeRowResult="";let i=ke.findAsteriskPattern(t,r),s=t.getNextSet(i[1]),o=t.getSize(),a,l;do{ke.recordPattern(t,s,r);let b=ke.toNarrowWidePattern(r);if(b<0)throw new D;a=ke.patternToChar(b),this.decodeRowResult+=a,l=s;for(let y of r)s+=y;s=t.getNextSet(s)}while(a!=="*");this.decodeRowResult=this.decodeRowResult.substring(0,this.decodeRowResult.length-1);let c=0;for(let b of r)c+=b;let f=s-l-c;if(s!==o&&f*2<c)throw new D;if(this.usingCheckDigit){let b=this.decodeRowResult.length-1,y=0;for(let O=0;O<b;O++)y+=ke.ALPHABET_STRING.indexOf(this.decodeRowResult.charAt(O));if(this.decodeRowResult.charAt(b)!==ke.ALPHABET_STRING.charAt(y%43))throw new $;this.decodeRowResult=this.decodeRowResult.substring(0,b)}if(this.decodeRowResult.length===0)throw new D;let w;this.extendedMode?w=ke.decodeExtended(this.decodeRowResult):w=this.decodeRowResult;let E=(i[1]+i[0])/2,p=l+c/2;return new et(w,null,0,[new X(E,e),new X(p,e)],j.CODE_39,new Date().getTime())}static findAsteriskPattern(e,t){let n=e.getSize(),r=e.getNextSet(0),i=0,s=r,o=!1,a=t.length;for(let l=r;l<n;l++)if(e.get(l)!==o)t[i]++;else{if(i===a-1){if(this.toNarrowWidePattern(t)===ke.ASTERISK_ENCODING&&e.isRange(Math.max(0,s-Math.floor((l-s)/2)),s,!1))return[s,l];s+=t[0]+t[1],t.copyWithin(0,2,2+i-1),t[i-1]=0,t[i]=0,i--}else i++;t[i]=1,o=!o}throw new D}static toNarrowWidePattern(e){let t=e.length,n=0,r;do{let i=2147483647;for(let a of e)a<i&&a>n&&(i=a);n=i,r=0;let s=0,o=0;for(let a=0;a<t;a++){let l=e[a];l>n&&(o|=1<<t-1-a,r++,s+=l)}if(r===3){for(let a=0;a<t&&r>0;a++){let l=e[a];if(l>n&&(r--,l*2>=s))return-1}return o}}while(r>3);return-1}static patternToChar(e){for(let t=0;t<ke.CHARACTER_ENCODINGS.length;t++)if(ke.CHARACTER_ENCODINGS[t]===e)return ke.ALPHABET_STRING.charAt(t);if(e===ke.ASTERISK_ENCODING)return"*";throw new D}static decodeExtended(e){let t=e.length,n="";for(let r=0;r<t;r++){let i=e.charAt(r);if(i==="+"||i==="$"||i==="%"||i==="/"){let s=e.charAt(r+1),o="\0";switch(i){case"+":if(s>="A"&&s<="Z")o=String.fromCharCode(s.charCodeAt(0)+32);else throw new U;break;case"$":if(s>="A"&&s<="Z")o=String.fromCharCode(s.charCodeAt(0)-64);else throw new U;break;case"%":if(s>="A"&&s<="E")o=String.fromCharCode(s.charCodeAt(0)-38);else if(s>="F"&&s<="J")o=String.fromCharCode(s.charCodeAt(0)-11);else if(s>="K"&&s<="O")o=String.fromCharCode(s.charCodeAt(0)+16);else if(s>="P"&&s<="T")o=String.fromCharCode(s.charCodeAt(0)+43);else if(s==="U")o="\0";else if(s==="V")o="@";else if(s==="W")o="`";else if(s==="X"||s==="Y"||s==="Z")o="";else throw new U;break;case"/":if(s>="A"&&s<="O")o=String.fromCharCode(s.charCodeAt(0)-32);else if(s==="Z")o=":";else throw new U;break}n+=o,r++}else n+=i}return n}}ke.ALPHABET_STRING="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%",ke.CHARACTER_ENCODINGS=[52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,168,162,138,42],ke.ASTERISK_ENCODING=148;class Ee extends ve{constructor(){super(...arguments),this.narrowLineWidth=-1}decodeRow(e,t,n){let r=this.decodeStart(t),i=this.decodeEnd(t),s=new he;Ee.decodeMiddle(t,r[1],i[0],s);let o=s.toString(),a=null;n!=null&&(a=n.get(ue.ALLOWED_LENGTHS)),a==null&&(a=Ee.DEFAULT_ALLOWED_LENGTHS);let l=o.length,c=!1,f=0;for(let p of a){if(l===p){c=!0;break}p>f&&(f=p)}if(!c&&l>f&&(c=!0),!c)throw new U;const w=[new X(r[1],e),new X(i[0],e)];return new et(o,null,0,w,j.ITF,new Date().getTime())}static decodeMiddle(e,t,n,r){let i=new Int32Array(10),s=new Int32Array(5),o=new Int32Array(5);for(i.fill(0),s.fill(0),o.fill(0);t<n;){ve.recordPattern(e,t,i);for(let l=0;l<5;l++){let c=2*l;s[l]=i[c],o[l]=i[c+1]}let a=Ee.decodeDigit(s);r.append(a.toString()),a=this.decodeDigit(o),r.append(a.toString()),i.forEach(function(l){t+=l})}}decodeStart(e){let t=Ee.skipWhiteSpace(e),n=Ee.findGuardPattern(e,t,Ee.START_PATTERN);return this.narrowLineWidth=(n[1]-n[0])/4,this.validateQuietZone(e,n[0]),n}validateQuietZone(e,t){let n=this.narrowLineWidth*10;n=n<t?n:t;for(let r=t-1;n>0&&r>=0&&!e.get(r);r--)n--;if(n!==0)throw new D}static skipWhiteSpace(e){const t=e.getSize(),n=e.getNextSet(0);if(n===t)throw new D;return n}decodeEnd(e){e.reverse();try{let t=Ee.skipWhiteSpace(e),n;try{n=Ee.findGuardPattern(e,t,Ee.END_PATTERN_REVERSED[0])}catch(i){i instanceof D&&(n=Ee.findGuardPattern(e,t,Ee.END_PATTERN_REVERSED[1]))}this.validateQuietZone(e,n[0]);let r=n[0];return n[0]=e.getSize()-n[1],n[1]=e.getSize()-r,n}finally{e.reverse()}}static findGuardPattern(e,t,n){let r=n.length,i=new Int32Array(r),s=e.getSize(),o=!1,a=0,l=t;i.fill(0);for(let c=t;c<s;c++)if(e.get(c)!==o)i[a]++;else{if(a===r-1){if(ve.patternMatchVariance(i,n,Ee.MAX_INDIVIDUAL_VARIANCE)<Ee.MAX_AVG_VARIANCE)return[l,c];l+=i[0]+i[1],ie.arraycopy(i,2,i,0,a-1),i[a-1]=0,i[a]=0,a--}else a++;i[a]=1,o=!o}throw new D}static decodeDigit(e){let t=Ee.MAX_AVG_VARIANCE,n=-1,r=Ee.PATTERNS.length;for(let i=0;i<r;i++){let s=Ee.PATTERNS[i],o=ve.patternMatchVariance(e,s,Ee.MAX_INDIVIDUAL_VARIANCE);o<t?(t=o,n=i):o===t&&(n=-1)}if(n>=0)return n%10;throw new D}}Ee.PATTERNS=[Int32Array.from([1,1,2,2,1]),Int32Array.from([2,1,1,1,2]),Int32Array.from([1,2,1,1,2]),Int32Array.from([2,2,1,1,1]),Int32Array.from([1,1,2,1,2]),Int32Array.from([2,1,2,1,1]),Int32Array.from([1,2,2,1,1]),Int32Array.from([1,1,1,2,2]),Int32Array.from([2,1,1,2,1]),Int32Array.from([1,2,1,2,1]),Int32Array.from([1,1,3,3,1]),Int32Array.from([3,1,1,1,3]),Int32Array.from([1,3,1,1,3]),Int32Array.from([3,3,1,1,1]),Int32Array.from([1,1,3,1,3]),Int32Array.from([3,1,3,1,1]),Int32Array.from([1,3,3,1,1]),Int32Array.from([1,1,1,3,3]),Int32Array.from([3,1,1,3,1]),Int32Array.from([1,3,1,3,1])],Ee.MAX_AVG_VARIANCE=.38,Ee.MAX_INDIVIDUAL_VARIANCE=.5,Ee.DEFAULT_ALLOWED_LENGTHS=[6,8,10,12,14],Ee.START_PATTERN=Int32Array.from([1,1,1,1]),Ee.END_PATTERN_REVERSED=[Int32Array.from([1,1,2]),Int32Array.from([1,1,3])];class _e extends ve{constructor(){super(...arguments),this.decodeRowStringBuffer=""}static findStartGuardPattern(e){let t=!1,n,r=0,i=Int32Array.from([0,0,0]);for(;!t;){i=Int32Array.from([0,0,0]),n=_e.findGuardPattern(e,r,!1,this.START_END_PATTERN,i);let s=n[0];r=n[1];let o=s-(r-s);o>=0&&(t=e.isRange(o,s,!1))}return n}static checkChecksum(e){return _e.checkStandardUPCEANChecksum(e)}static checkStandardUPCEANChecksum(e){let t=e.length;if(t===0)return!1;let n=parseInt(e.charAt(t-1),10);return _e.getStandardUPCEANChecksum(e.substring(0,t-1))===n}static getStandardUPCEANChecksum(e){let t=e.length,n=0;for(let r=t-1;r>=0;r-=2){let i=e.charAt(r).charCodeAt(0)-"0".charCodeAt(0);if(i<0||i>9)throw new U;n+=i}n*=3;for(let r=t-2;r>=0;r-=2){let i=e.charAt(r).charCodeAt(0)-"0".charCodeAt(0);if(i<0||i>9)throw new U;n+=i}return(1e3-n)%10}static decodeEnd(e,t){return _e.findGuardPattern(e,t,!1,_e.START_END_PATTERN,new Int32Array(_e.START_END_PATTERN.length).fill(0))}static findGuardPatternWithoutCounters(e,t,n,r){return this.findGuardPattern(e,t,n,r,new Int32Array(r.length))}static findGuardPattern(e,t,n,r,i){let s=e.getSize();t=n?e.getNextUnset(t):e.getNextSet(t);let o=0,a=t,l=r.length,c=n;for(let f=t;f<s;f++)if(e.get(f)!==c)i[o]++;else{if(o===l-1){if(ve.patternMatchVariance(i,r,_e.MAX_INDIVIDUAL_VARIANCE)<_e.MAX_AVG_VARIANCE)return Int32Array.from([a,f]);a+=i[0]+i[1];let w=i.slice(2,i.length-1);for(let E=0;E<o-1;E++)i[E]=w[E];i[o-1]=0,i[o]=0,o--}else o++;i[o]=1,c=!c}throw new D}static decodeDigit(e,t,n,r){this.recordPattern(e,n,t);let i=this.MAX_AVG_VARIANCE,s=-1,o=r.length;for(let a=0;a<o;a++){let l=r[a],c=ve.patternMatchVariance(t,l,_e.MAX_INDIVIDUAL_VARIANCE);c<i&&(i=c,s=a)}if(s>=0)return s;throw new D}}_e.MAX_AVG_VARIANCE=.48,_e.MAX_INDIVIDUAL_VARIANCE=.7,_e.START_END_PATTERN=Int32Array.from([1,1,1]),_e.MIDDLE_PATTERN=Int32Array.from([1,1,1,1,1]),_e.END_PATTERN=Int32Array.from([1,1,1,1,1,1]),_e.L_PATTERNS=[Int32Array.from([3,2,1,1]),Int32Array.from([2,2,2,1]),Int32Array.from([2,1,2,2]),Int32Array.from([1,4,1,1]),Int32Array.from([1,1,3,2]),Int32Array.from([1,2,3,1]),Int32Array.from([1,1,1,4]),Int32Array.from([1,3,1,2]),Int32Array.from([1,2,1,3]),Int32Array.from([3,1,1,2])];class un{constructor(){this.CHECK_DIGIT_ENCODINGS=[24,20,18,17,12,6,3,10,9,5],this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}decodeRow(e,t,n){let r=this.decodeRowStringBuffer,i=this.decodeMiddle(t,n,r),s=r.toString(),o=un.parseExtensionString(s),a=[new X((n[0]+n[1])/2,e),new X(i,e)],l=new et(s,null,0,a,j.UPC_EAN_EXTENSION,new Date().getTime());return o!=null&&l.putAllMetadata(o),l}decodeMiddle(e,t,n){let r=this.decodeMiddleCounters;r[0]=0,r[1]=0,r[2]=0,r[3]=0;let i=e.getSize(),s=t[1],o=0;for(let l=0;l<5&&s<i;l++){let c=_e.decodeDigit(e,r,s,_e.L_AND_G_PATTERNS);n+=String.fromCharCode("0".charCodeAt(0)+c%10);for(let f of r)s+=f;c>=10&&(o|=1<<4-l),l!==4&&(s=e.getNextSet(s),s=e.getNextUnset(s))}if(n.length!==5)throw new D;let a=this.determineCheckDigit(o);if(un.extensionChecksum(n.toString())!==a)throw new D;return s}static extensionChecksum(e){let t=e.length,n=0;for(let r=t-2;r>=0;r-=2)n+=e.charAt(r).charCodeAt(0)-"0".charCodeAt(0);n*=3;for(let r=t-1;r>=0;r-=2)n+=e.charAt(r).charCodeAt(0)-"0".charCodeAt(0);return n*=3,n%10}determineCheckDigit(e){for(let t=0;t<10;t++)if(e===this.CHECK_DIGIT_ENCODINGS[t])return t;throw new D}static parseExtensionString(e){if(e.length!==5)return null;let t=un.parseExtension5String(e);return t==null?null:new Map([[We.SUGGESTED_PRICE,t]])}static parseExtension5String(e){let t;switch(e.charAt(0)){case"0":t="£";break;case"5":t="$";break;case"9":switch(e){case"90000":return null;case"99991":return"0.00";case"99990":return"Used"}t="";break;default:t="";break}let n=parseInt(e.substring(1)),r=(n/100).toString(),i=n%100,s=i<10?"0"+i:i.toString();return t+r+"."+s}}class Kn{constructor(){this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}decodeRow(e,t,n){let r=this.decodeRowStringBuffer,i=this.decodeMiddle(t,n,r),s=r.toString(),o=Kn.parseExtensionString(s),a=[new X((n[0]+n[1])/2,e),new X(i,e)],l=new et(s,null,0,a,j.UPC_EAN_EXTENSION,new Date().getTime());return o!=null&&l.putAllMetadata(o),l}decodeMiddle(e,t,n){let r=this.decodeMiddleCounters;r[0]=0,r[1]=0,r[2]=0,r[3]=0;let i=e.getSize(),s=t[1],o=0;for(let a=0;a<2&&s<i;a++){let l=_e.decodeDigit(e,r,s,_e.L_AND_G_PATTERNS);n+=String.fromCharCode("0".charCodeAt(0)+l%10);for(let c of r)s+=c;l>=10&&(o|=1<<1-a),a!==1&&(s=e.getNextSet(s),s=e.getNextUnset(s))}if(n.length!==2)throw new D;if(parseInt(n.toString())%4!==o)throw new D;return s}static parseExtensionString(e){return e.length!==2?null:new Map([[We.ISSUE_NUMBER,parseInt(e)]])}}class _r{static decodeRow(e,t,n){let r=_e.findGuardPattern(t,n,!1,this.EXTENSION_START_PATTERN,new Int32Array(this.EXTENSION_START_PATTERN.length).fill(0));try{return new un().decodeRow(e,t,r)}catch{return new Kn().decodeRow(e,t,r)}}}_r.EXTENSION_START_PATTERN=Int32Array.from([1,1,2]);class ge extends _e{constructor(){super(),this.decodeRowStringBuffer="",ge.L_AND_G_PATTERNS=ge.L_PATTERNS.map(e=>Int32Array.from(e));for(let e=10;e<20;e++){let t=ge.L_PATTERNS[e-10],n=new Int32Array(t.length);for(let r=0;r<t.length;r++)n[r]=t[t.length-r-1];ge.L_AND_G_PATTERNS[e]=n}}decodeRow(e,t,n){let r=ge.findStartGuardPattern(t),i=n==null?null:n.get(ue.NEED_RESULT_POINT_CALLBACK);if(i!=null){const L=new X((r[0]+r[1])/2,e);i.foundPossibleResultPoint(L)}let s=this.decodeMiddle(t,r,this.decodeRowStringBuffer),o=s.rowOffset,a=s.resultString;if(i!=null){const L=new X(o,e);i.foundPossibleResultPoint(L)}let l=this.decodeEnd(t,o);if(i!=null){const L=new X((l[0]+l[1])/2,e);i.foundPossibleResultPoint(L)}let c=l[1],f=c+(c-l[0]);if(f>=t.getSize()||!t.isRange(c,f,!1))throw new D;let w=a.toString();if(w.length<8)throw new U;if(!ge.checkChecksum(w))throw new $;let E=(r[1]+r[0])/2,p=(l[1]+l[0])/2,b=this.getBarcodeFormat(),y=[new X(E,e),new X(p,e)],O=new et(w,null,0,y,b,new Date().getTime()),F=0;try{let L=_r.decodeRow(e,t,l[1]);O.putMetadata(We.UPC_EAN_EXTENSION,L.getText()),O.putAllMetadata(L.getResultMetadata()),O.addResultPoints(L.getResultPoints()),F=L.getText().length}catch{}let k=n==null?null:n.get(ue.ALLOWED_EAN_EXTENSIONS);if(k!=null){let L=!1;for(let ae in k)if(F.toString()===ae){L=!0;break}if(!L)throw new D}return O}decodeEnd(e,t){return ge.findGuardPattern(e,t,!1,ge.START_END_PATTERN,new Int32Array(ge.START_END_PATTERN.length).fill(0))}static checkChecksum(e){return ge.checkStandardUPCEANChecksum(e)}static checkStandardUPCEANChecksum(e){let t=e.length;if(t===0)return!1;let n=parseInt(e.charAt(t-1),10);return ge.getStandardUPCEANChecksum(e.substring(0,t-1))===n}static getStandardUPCEANChecksum(e){let t=e.length,n=0;for(let r=t-1;r>=0;r-=2){let i=e.charAt(r).charCodeAt(0)-"0".charCodeAt(0);if(i<0||i>9)throw new U;n+=i}n*=3;for(let r=t-2;r>=0;r-=2){let i=e.charAt(r).charCodeAt(0)-"0".charCodeAt(0);if(i<0||i>9)throw new U;n+=i}return(1e3-n)%10}}class Vt extends ge{constructor(){super(),this.decodeMiddleCounters=Int32Array.from([0,0,0,0])}decodeMiddle(e,t,n){let r=this.decodeMiddleCounters;r[0]=0,r[1]=0,r[2]=0,r[3]=0;let i=e.getSize(),s=t[1],o=0;for(let l=0;l<6&&s<i;l++){let c=ge.decodeDigit(e,r,s,ge.L_AND_G_PATTERNS);n+=String.fromCharCode("0".charCodeAt(0)+c%10);for(let f of r)s+=f;c>=10&&(o|=1<<5-l)}n=Vt.determineFirstDigit(n,o),s=ge.findGuardPattern(e,s,!0,ge.MIDDLE_PATTERN,new Int32Array(ge.MIDDLE_PATTERN.length).fill(0))[1];for(let l=0;l<6&&s<i;l++){let c=ge.decodeDigit(e,r,s,ge.L_PATTERNS);n+=String.fromCharCode("0".charCodeAt(0)+c);for(let f of r)s+=f}return{rowOffset:s,resultString:n}}getBarcodeFormat(){return j.EAN_13}static determineFirstDigit(e,t){for(let n=0;n<10;n++)if(t===this.FIRST_DIGIT_ENCODINGS[n])return e=String.fromCharCode("0".charCodeAt(0)+n)+e,e;throw new D}}Vt.FIRST_DIGIT_ENCODINGS=[0,11,13,14,19,25,28,21,22,26];class Or extends ge{constructor(){super(),this.decodeMiddleCounters=Int32Array.from([0,0,0,0])}decodeMiddle(e,t,n){const r=this.decodeMiddleCounters;r[0]=0,r[1]=0,r[2]=0,r[3]=0;let i=e.getSize(),s=t[1];for(let a=0;a<4&&s<i;a++){let l=ge.decodeDigit(e,r,s,ge.L_PATTERNS);n+=String.fromCharCode("0".charCodeAt(0)+l);for(let c of r)s+=c}s=ge.findGuardPattern(e,s,!0,ge.MIDDLE_PATTERN,new Int32Array(ge.MIDDLE_PATTERN.length).fill(0))[1];for(let a=0;a<4&&s<i;a++){let l=ge.decodeDigit(e,r,s,ge.L_PATTERNS);n+=String.fromCharCode("0".charCodeAt(0)+l);for(let c of r)s+=c}return{rowOffset:s,resultString:n}}getBarcodeFormat(){return j.EAN_8}}class Rr extends ge{constructor(){super(...arguments),this.ean13Reader=new Vt}getBarcodeFormat(){return j.UPC_A}decode(e,t){return this.maybeReturnResult(this.ean13Reader.decode(e))}decodeRow(e,t,n){return this.maybeReturnResult(this.ean13Reader.decodeRow(e,t,n))}decodeMiddle(e,t,n){return this.ean13Reader.decodeMiddle(e,t,n)}maybeReturnResult(e){let t=e.getText();if(t.charAt(0)==="0"){let n=new et(t.substring(1),null,null,e.getResultPoints(),j.UPC_A);return e.getResultMetadata()!=null&&n.putAllMetadata(e.getResultMetadata()),n}else throw new D}reset(){this.ean13Reader.reset()}}class At extends ge{constructor(){super(),this.decodeMiddleCounters=new Int32Array(4)}decodeMiddle(e,t,n){const r=this.decodeMiddleCounters.map(l=>l);r[0]=0,r[1]=0,r[2]=0,r[3]=0;const i=e.getSize();let s=t[1],o=0;for(let l=0;l<6&&s<i;l++){const c=At.decodeDigit(e,r,s,At.L_AND_G_PATTERNS);n+=String.fromCharCode("0".charCodeAt(0)+c%10);for(let f of r)s+=f;c>=10&&(o|=1<<5-l)}let a=At.determineNumSysAndCheckDigit(n,o);return{rowOffset:s,resultString:a}}decodeEnd(e,t){return At.findGuardPatternWithoutCounters(e,t,!0,At.MIDDLE_END_PATTERN)}checkChecksum(e){return ge.checkChecksum(At.convertUPCEtoUPCA(e))}static determineNumSysAndCheckDigit(e,t){for(let n=0;n<=1;n++)for(let r=0;r<10;r++)if(t===this.NUMSYS_AND_CHECK_DIGIT_PATTERNS[n][r]){let i=String.fromCharCode("0".charCodeAt(0)+n),s=String.fromCharCode("0".charCodeAt(0)+r);return i+e+s}throw D.getNotFoundInstance()}getBarcodeFormat(){return j.UPC_E}static convertUPCEtoUPCA(e){const t=e.slice(1,7).split("").map(i=>i.charCodeAt(0)),n=new he;n.append(e.charAt(0));let r=t[5];switch(r){case 0:case 1:case 2:n.appendChars(t,0,2),n.append(r),n.append("0000"),n.appendChars(t,2,3);break;case 3:n.appendChars(t,0,3),n.append("00000"),n.appendChars(t,3,2);break;case 4:n.appendChars(t,0,4),n.append("00000"),n.append(t[4]);break;default:n.appendChars(t,0,5),n.append("0000"),n.append(r);break}return e.length>=8&&n.append(e.charAt(7)),n.toString()}}At.MIDDLE_END_PATTERN=Int32Array.from([1,1,1,1,1,1]),At.NUMSYS_AND_CHECK_DIGIT_PATTERNS=[Int32Array.from([56,52,50,49,44,38,35,42,41,37]),Int32Array.from([7,11,13,14,19,25,28,21,22,26])];class jn extends ve{constructor(e){super();let t=e==null?null:e.get(ue.POSSIBLE_FORMATS),n=[];m(t)?(n.push(new Vt),n.push(new Rr),n.push(new Or),n.push(new At)):(t.indexOf(j.EAN_13)>-1&&n.push(new Vt),t.indexOf(j.UPC_A)>-1&&n.push(new Rr),t.indexOf(j.EAN_8)>-1&&n.push(new Or),t.indexOf(j.UPC_E)>-1&&n.push(new At)),this.readers=n}decodeRow(e,t,n){for(let r of this.readers)try{const i=r.decodeRow(e,t,n),s=i.getBarcodeFormat()===j.EAN_13&&i.getText().charAt(0)==="0",o=n==null?null:n.get(ue.POSSIBLE_FORMATS),a=o==null||o.includes(j.UPC_A);if(s&&a){const l=i.getRawBytes(),c=new et(i.getText().substring(1),l,l?l.length:null,i.getResultPoints(),j.UPC_A);return c.putAllMetadata(i.getResultMetadata()),c}return i}catch{}throw new D}reset(){for(let e of this.readers)e.reset()}}class Qe extends ve{constructor(){super(),this.decodeFinderCounters=new Int32Array(4),this.dataCharacterCounters=new Int32Array(8),this.oddRoundingErrors=new Array(4),this.evenRoundingErrors=new Array(4),this.oddCounts=new Array(this.dataCharacterCounters.length/2),this.evenCounts=new Array(this.dataCharacterCounters.length/2)}getDecodeFinderCounters(){return this.decodeFinderCounters}getDataCharacterCounters(){return this.dataCharacterCounters}getOddRoundingErrors(){return this.oddRoundingErrors}getEvenRoundingErrors(){return this.evenRoundingErrors}getOddCounts(){return this.oddCounts}getEvenCounts(){return this.evenCounts}parseFinderValue(e,t){for(let n=0;n<t.length;n++)if(ve.patternMatchVariance(e,t[n],Qe.MAX_INDIVIDUAL_VARIANCE)<Qe.MAX_AVG_VARIANCE)return n;throw new D}static count(e){return fe.sum(new Int32Array(e))}static increment(e,t){let n=0,r=t[0];for(let i=1;i<e.length;i++)t[i]>r&&(r=t[i],n=i);e[n]++}static decrement(e,t){let n=0,r=t[0];for(let i=1;i<e.length;i++)t[i]<r&&(r=t[i],n=i);e[n]--}static isFinderPattern(e){let t=e[0]+e[1],n=t+e[2]+e[3],r=t/n;if(r>=Qe.MIN_FINDER_PATTERN_RATIO&&r<=Qe.MAX_FINDER_PATTERN_RATIO){let i=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER;for(let o of e)o>s&&(s=o),o<i&&(i=o);return s<10*i}return!1}}Qe.MAX_AVG_VARIANCE=.2,Qe.MAX_INDIVIDUAL_VARIANCE=.45,Qe.MIN_FINDER_PATTERN_RATIO=9.5/12,Qe.MAX_FINDER_PATTERN_RATIO=12.5/14;class Kt{constructor(e,t){this.value=e,this.checksumPortion=t}getValue(){return this.value}getChecksumPortion(){return this.checksumPortion}toString(){return this.value+"("+this.checksumPortion+")"}equals(e){if(!(e instanceof Kt))return!1;const t=e;return this.value===t.value&&this.checksumPortion===t.checksumPortion}hashCode(){return this.value^this.checksumPortion}}class _n{constructor(e,t,n,r,i){this.value=e,this.startEnd=t,this.value=e,this.startEnd=t,this.resultPoints=new Array,this.resultPoints.push(new X(n,i)),this.resultPoints.push(new X(r,i))}getValue(){return this.value}getStartEnd(){return this.startEnd}getResultPoints(){return this.resultPoints}equals(e){if(!(e instanceof _n))return!1;const t=e;return this.value===t.value}hashCode(){return this.value}}class It{constructor(){}static getRSSvalue(e,t,n){let r=0;for(let a of e)r+=a;let i=0,s=0,o=e.length;for(let a=0;a<o-1;a++){let l;for(l=1,s|=1<<a;l<e[a];l++,s&=~(1<<a)){let c=It.combins(r-l-1,o-a-2);if(n&&s===0&&r-l-(o-a-1)>=o-a-1&&(c-=It.combins(r-l-(o-a),o-a-2)),o-a-1>1){let f=0;for(let w=r-l-(o-a-2);w>t;w--)f+=It.combins(r-l-w-1,o-a-3);c-=f*(o-1-a)}else r-l>t&&c--;i+=c}r-=l}return i}static combins(e,t){let n,r;e-t>t?(r=t,n=e-t):(r=e-t,n=t);let i=1,s=1;for(let o=e;o>n;o--)i*=o,s<=r&&(i/=s,s++);for(;s<=r;)i/=s,s++;return i}}class gi{static buildBitArray(e){let t=e.length*2-1;e[e.length-1].getRightChar()==null&&(t-=1);let n=12*t,r=new ee(n),i=0,o=e[0].getRightChar().getValue();for(let a=11;a>=0;--a)o&1<<a&&r.set(i),i++;for(let a=1;a<e.length;++a){let l=e[a],c=l.getLeftChar().getValue();for(let f=11;f>=0;--f)c&1<<f&&r.set(i),i++;if(l.getRightChar()!=null){let f=l.getRightChar().getValue();for(let w=11;w>=0;--w)f&1<<w&&r.set(i),i++}}return r}}class Gt{constructor(e,t){t?this.decodedInformation=null:(this.finished=e,this.decodedInformation=t)}getDecodedInformation(){return this.decodedInformation}isFinished(){return this.finished}}class qn{constructor(e){this.newPosition=e}getNewPosition(){return this.newPosition}}class st extends qn{constructor(e,t){super(e),this.value=t}getValue(){return this.value}isFNC1(){return this.value===st.FNC1}}st.FNC1="$";class Ht extends qn{constructor(e,t,n){super(e),n?(this.remaining=!0,this.remainingValue=this.remainingValue):(this.remaining=!1,this.remainingValue=0),this.newString=t}getNewString(){return this.newString}isRemaining(){return this.remaining}getRemainingValue(){return this.remainingValue}}class ft extends qn{constructor(e,t,n){if(super(e),t<0||t>10||n<0||n>10)throw new U;this.firstDigit=t,this.secondDigit=n}getFirstDigit(){return this.firstDigit}getSecondDigit(){return this.secondDigit}getValue(){return this.firstDigit*10+this.secondDigit}isFirstDigitFNC1(){return this.firstDigit===ft.FNC1}isSecondDigitFNC1(){return this.secondDigit===ft.FNC1}isAnyFNC1(){return this.firstDigit===ft.FNC1||this.secondDigit===ft.FNC1}}ft.FNC1=10;class H{constructor(){}static parseFieldsInGeneralPurpose(e){if(!e)return null;if(e.length<2)throw new D;let t=e.substring(0,2);for(let i of H.TWO_DIGIT_DATA_LENGTH)if(i[0]===t)return i[1]===H.VARIABLE_LENGTH?H.processVariableAI(2,i[2],e):H.processFixedAI(2,i[1],e);if(e.length<3)throw new D;let n=e.substring(0,3);for(let i of H.THREE_DIGIT_DATA_LENGTH)if(i[0]===n)return i[1]===H.VARIABLE_LENGTH?H.processVariableAI(3,i[2],e):H.processFixedAI(3,i[1],e);for(let i of H.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH)if(i[0]===n)return i[1]===H.VARIABLE_LENGTH?H.processVariableAI(4,i[2],e):H.processFixedAI(4,i[1],e);if(e.length<4)throw new D;let r=e.substring(0,4);for(let i of H.FOUR_DIGIT_DATA_LENGTH)if(i[0]===r)return i[1]===H.VARIABLE_LENGTH?H.processVariableAI(4,i[2],e):H.processFixedAI(4,i[1],e);throw new D}static processFixedAI(e,t,n){if(n.length<e)throw new D;let r=n.substring(0,e);if(n.length<e+t)throw new D;let i=n.substring(e,e+t),s=n.substring(e+t),o="("+r+")"+i,a=H.parseFieldsInGeneralPurpose(s);return a==null?o:o+a}static processVariableAI(e,t,n){let r=n.substring(0,e),i;n.length<e+t?i=n.length:i=e+t;let s=n.substring(e,i),o=n.substring(i),a="("+r+")"+s,l=H.parseFieldsInGeneralPurpose(o);return l==null?a:a+l}}H.VARIABLE_LENGTH=[],H.TWO_DIGIT_DATA_LENGTH=[["00",18],["01",14],["02",14],["10",H.VARIABLE_LENGTH,20],["11",6],["12",6],["13",6],["15",6],["17",6],["20",2],["21",H.VARIABLE_LENGTH,20],["22",H.VARIABLE_LENGTH,29],["30",H.VARIABLE_LENGTH,8],["37",H.VARIABLE_LENGTH,8],["90",H.VARIABLE_LENGTH,30],["91",H.VARIABLE_LENGTH,30],["92",H.VARIABLE_LENGTH,30],["93",H.VARIABLE_LENGTH,30],["94",H.VARIABLE_LENGTH,30],["95",H.VARIABLE_LENGTH,30],["96",H.VARIABLE_LENGTH,30],["97",H.VARIABLE_LENGTH,3],["98",H.VARIABLE_LENGTH,30],["99",H.VARIABLE_LENGTH,30]],H.THREE_DIGIT_DATA_LENGTH=[["240",H.VARIABLE_LENGTH,30],["241",H.VARIABLE_LENGTH,30],["242",H.VARIABLE_LENGTH,6],["250",H.VARIABLE_LENGTH,30],["251",H.VARIABLE_LENGTH,30],["253",H.VARIABLE_LENGTH,17],["254",H.VARIABLE_LENGTH,20],["400",H.VARIABLE_LENGTH,30],["401",H.VARIABLE_LENGTH,30],["402",17],["403",H.VARIABLE_LENGTH,30],["410",13],["411",13],["412",13],["413",13],["414",13],["420",H.VARIABLE_LENGTH,20],["421",H.VARIABLE_LENGTH,15],["422",3],["423",H.VARIABLE_LENGTH,15],["424",3],["425",3],["426",3]],H.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH=[["310",6],["311",6],["312",6],["313",6],["314",6],["315",6],["316",6],["320",6],["321",6],["322",6],["323",6],["324",6],["325",6],["326",6],["327",6],["328",6],["329",6],["330",6],["331",6],["332",6],["333",6],["334",6],["335",6],["336",6],["340",6],["341",6],["342",6],["343",6],["344",6],["345",6],["346",6],["347",6],["348",6],["349",6],["350",6],["351",6],["352",6],["353",6],["354",6],["355",6],["356",6],["357",6],["360",6],["361",6],["362",6],["363",6],["364",6],["365",6],["366",6],["367",6],["368",6],["369",6],["390",H.VARIABLE_LENGTH,15],["391",H.VARIABLE_LENGTH,18],["392",H.VARIABLE_LENGTH,15],["393",H.VARIABLE_LENGTH,18],["703",H.VARIABLE_LENGTH,30]],H.FOUR_DIGIT_DATA_LENGTH=[["7001",13],["7002",H.VARIABLE_LENGTH,30],["7003",10],["8001",14],["8002",H.VARIABLE_LENGTH,20],["8003",H.VARIABLE_LENGTH,30],["8004",H.VARIABLE_LENGTH,30],["8005",6],["8006",18],["8007",H.VARIABLE_LENGTH,30],["8008",H.VARIABLE_LENGTH,12],["8018",18],["8020",H.VARIABLE_LENGTH,25],["8100",6],["8101",10],["8102",2],["8110",H.VARIABLE_LENGTH,70],["8200",H.VARIABLE_LENGTH,70]];class jt{constructor(e){this.buffer=new he,this.information=e}decodeAllCodes(e,t){let n=t,r=null;do{let i=this.decodeGeneralPurposeField(n,r),s=H.parseFieldsInGeneralPurpose(i.getNewString());if(s!=null&&e.append(s),i.isRemaining()?r=""+i.getRemainingValue():r=null,n===i.getNewPosition())break;n=i.getNewPosition()}while(!0);return e.toString()}isStillNumeric(e){if(e+7>this.information.getSize())return e+4<=this.information.getSize();for(let t=e;t<e+3;++t)if(this.information.get(t))return!0;return this.information.get(e+3)}decodeNumeric(e){if(e+7>this.information.getSize()){let i=this.extractNumericValueFromBitArray(e,4);return i===0?new ft(this.information.getSize(),ft.FNC1,ft.FNC1):new ft(this.information.getSize(),i-1,ft.FNC1)}let t=this.extractNumericValueFromBitArray(e,7),n=(t-8)/11,r=(t-8)%11;return new ft(e+7,n,r)}extractNumericValueFromBitArray(e,t){return jt.extractNumericValueFromBitArray(this.information,e,t)}static extractNumericValueFromBitArray(e,t,n){let r=0;for(let i=0;i<n;++i)e.get(t+i)&&(r|=1<<n-i-1);return r}decodeGeneralPurposeField(e,t){this.buffer.setLengthToZero(),t!=null&&this.buffer.append(t),this.current.setPosition(e);let n=this.parseBlocks();return n!=null&&n.isRemaining()?new Ht(this.current.getPosition(),this.buffer.toString(),n.getRemainingValue()):new Ht(this.current.getPosition(),this.buffer.toString())}parseBlocks(){let e,t;do{let n=this.current.getPosition();if(this.current.isAlpha()?(t=this.parseAlphaBlock(),e=t.isFinished()):this.current.isIsoIec646()?(t=this.parseIsoIec646Block(),e=t.isFinished()):(t=this.parseNumericBlock(),e=t.isFinished()),!(n!==this.current.getPosition())&&!e)break}while(!e);return t.getDecodedInformation()}parseNumericBlock(){for(;this.isStillNumeric(this.current.getPosition());){let e=this.decodeNumeric(this.current.getPosition());if(this.current.setPosition(e.getNewPosition()),e.isFirstDigitFNC1()){let t;return e.isSecondDigitFNC1()?t=new Ht(this.current.getPosition(),this.buffer.toString()):t=new Ht(this.current.getPosition(),this.buffer.toString(),e.getSecondDigit()),new Gt(!0,t)}if(this.buffer.append(e.getFirstDigit()),e.isSecondDigitFNC1()){let t=new Ht(this.current.getPosition(),this.buffer.toString());return new Gt(!0,t)}this.buffer.append(e.getSecondDigit())}return this.isNumericToAlphaNumericLatch(this.current.getPosition())&&(this.current.setAlpha(),this.current.incrementPosition(4)),new Gt(!1)}parseIsoIec646Block(){for(;this.isStillIsoIec646(this.current.getPosition());){let e=this.decodeIsoIec646(this.current.getPosition());if(this.current.setPosition(e.getNewPosition()),e.isFNC1()){let t=new Ht(this.current.getPosition(),this.buffer.toString());return new Gt(!0,t)}this.buffer.append(e.getValue())}return this.isAlphaOr646ToNumericLatch(this.current.getPosition())?(this.current.incrementPosition(3),this.current.setNumeric()):this.isAlphaTo646ToAlphaLatch(this.current.getPosition())&&(this.current.getPosition()+5<this.information.getSize()?this.current.incrementPosition(5):this.current.setPosition(this.information.getSize()),this.current.setAlpha()),new Gt(!1)}parseAlphaBlock(){for(;this.isStillAlpha(this.current.getPosition());){let e=this.decodeAlphanumeric(this.current.getPosition());if(this.current.setPosition(e.getNewPosition()),e.isFNC1()){let t=new Ht(this.current.getPosition(),this.buffer.toString());return new Gt(!0,t)}this.buffer.append(e.getValue())}return this.isAlphaOr646ToNumericLatch(this.current.getPosition())?(this.current.incrementPosition(3),this.current.setNumeric()):this.isAlphaTo646ToAlphaLatch(this.current.getPosition())&&(this.current.getPosition()+5<this.information.getSize()?this.current.incrementPosition(5):this.current.setPosition(this.information.getSize()),this.current.setIsoIec646()),new Gt(!1)}isStillIsoIec646(e){if(e+5>this.information.getSize())return!1;let t=this.extractNumericValueFromBitArray(e,5);if(t>=5&&t<16)return!0;if(e+7>this.information.getSize())return!1;let n=this.extractNumericValueFromBitArray(e,7);if(n>=64&&n<116)return!0;if(e+8>this.information.getSize())return!1;let r=this.extractNumericValueFromBitArray(e,8);return r>=232&&r<253}decodeIsoIec646(e){let t=this.extractNumericValueFromBitArray(e,5);if(t===15)return new st(e+5,st.FNC1);if(t>=5&&t<15)return new st(e+5,"0"+(t-5));let n=this.extractNumericValueFromBitArray(e,7);if(n>=64&&n<90)return new st(e+7,""+(n+1));if(n>=90&&n<116)return new st(e+7,""+(n+7));let r=this.extractNumericValueFromBitArray(e,8),i;switch(r){case 232:i="!";break;case 233:i='"';break;case 234:i="%";break;case 235:i="&";break;case 236:i="'";break;case 237:i="(";break;case 238:i=")";break;case 239:i="*";break;case 240:i="+";break;case 241:i=",";break;case 242:i="-";break;case 243:i=".";break;case 244:i="/";break;case 245:i=":";break;case 246:i=";";break;case 247:i="<";break;case 248:i="=";break;case 249:i=">";break;case 250:i="?";break;case 251:i="_";break;case 252:i=" ";break;default:throw new U}return new st(e+8,i)}isStillAlpha(e){if(e+5>this.information.getSize())return!1;let t=this.extractNumericValueFromBitArray(e,5);if(t>=5&&t<16)return!0;if(e+6>this.information.getSize())return!1;let n=this.extractNumericValueFromBitArray(e,6);return n>=16&&n<63}decodeAlphanumeric(e){let t=this.extractNumericValueFromBitArray(e,5);if(t===15)return new st(e+5,st.FNC1);if(t>=5&&t<15)return new st(e+5,"0"+(t-5));let n=this.extractNumericValueFromBitArray(e,6);if(n>=32&&n<58)return new st(e+6,""+(n+33));let r;switch(n){case 58:r="*";break;case 59:r=",";break;case 60:r="-";break;case 61:r=".";break;case 62:r="/";break;default:throw new mt("Decoding invalid alphanumeric value: "+n)}return new st(e+6,r)}isAlphaTo646ToAlphaLatch(e){if(e+1>this.information.getSize())return!1;for(let t=0;t<5&&t+e<this.information.getSize();++t)if(t===2){if(!this.information.get(e+2))return!1}else if(this.information.get(e+t))return!1;return!0}isAlphaOr646ToNumericLatch(e){if(e+3>this.information.getSize())return!1;for(let t=e;t<e+3;++t)if(this.information.get(t))return!1;return!0}isNumericToAlphaNumericLatch(e){if(e+1>this.information.getSize())return!1;for(let t=0;t<4&&t+e<this.information.getSize();++t)if(this.information.get(e+t))return!1;return!0}}class Qn{constructor(e){this.information=e,this.generalDecoder=new jt(e)}getInformation(){return this.information}getGeneralDecoder(){return this.generalDecoder}}class ot extends Qn{constructor(e){super(e)}encodeCompressedGtin(e,t){e.append("(01)");let n=e.length();e.append("9"),this.encodeCompressedGtinWithoutAI(e,t,n)}encodeCompressedGtinWithoutAI(e,t,n){for(let r=0;r<4;++r){let i=this.getGeneralDecoder().extractNumericValueFromBitArray(t+10*r,10);i/100===0&&e.append("0"),i/10===0&&e.append("0"),e.append(i)}ot.appendCheckDigit(e,n)}static appendCheckDigit(e,t){let n=0;for(let r=0;r<13;r++){let i=e.charAt(r+t).charCodeAt(0)-"0".charCodeAt(0);n+=r&1?i:3*i}n=10-n%10,n===10&&(n=0),e.append(n)}}ot.GTIN_SIZE=40;class qt extends ot{constructor(e){super(e)}parseInformation(){let e=new he;e.append("(01)");let t=e.length(),n=this.getGeneralDecoder().extractNumericValueFromBitArray(qt.HEADER_SIZE,4);return e.append(n),this.encodeCompressedGtinWithoutAI(e,qt.HEADER_SIZE+4,t),this.getGeneralDecoder().decodeAllCodes(e,qt.HEADER_SIZE+44)}}qt.HEADER_SIZE=1+1+2;class On extends Qn{constructor(e){super(e)}parseInformation(){let e=new he;return this.getGeneralDecoder().decodeAllCodes(e,On.HEADER_SIZE)}}On.HEADER_SIZE=2+1+2;class Rn extends ot{constructor(e){super(e)}encodeCompressedWeight(e,t,n){let r=this.getGeneralDecoder().extractNumericValueFromBitArray(t,n);this.addWeightCode(e,r);let i=this.checkWeight(r),s=1e5;for(let o=0;o<5;++o)i/s===0&&e.append("0"),s/=10;e.append(i)}}class pt extends Rn{constructor(e){super(e)}parseInformation(){if(this.getInformation().getSize()!=pt.HEADER_SIZE+Rn.GTIN_SIZE+pt.WEIGHT_SIZE)throw new D;let e=new he;return this.encodeCompressedGtin(e,pt.HEADER_SIZE),this.encodeCompressedWeight(e,pt.HEADER_SIZE+Rn.GTIN_SIZE,pt.WEIGHT_SIZE),e.toString()}}pt.HEADER_SIZE=4+1,pt.WEIGHT_SIZE=15;class wi extends pt{constructor(e){super(e)}addWeightCode(e,t){e.append("(3103)")}checkWeight(e){return e}}class Ai extends pt{constructor(e){super(e)}addWeightCode(e,t){t<1e4?e.append("(3202)"):e.append("(3203)")}checkWeight(e){return e<1e4?e:e-1e4}}class bt extends ot{constructor(e){super(e)}parseInformation(){if(this.getInformation().getSize()<bt.HEADER_SIZE+ot.GTIN_SIZE)throw new D;let e=new he;this.encodeCompressedGtin(e,bt.HEADER_SIZE);let t=this.getGeneralDecoder().extractNumericValueFromBitArray(bt.HEADER_SIZE+ot.GTIN_SIZE,bt.LAST_DIGIT_SIZE);e.append("(392"),e.append(t),e.append(")");let n=this.getGeneralDecoder().decodeGeneralPurposeField(bt.HEADER_SIZE+ot.GTIN_SIZE+bt.LAST_DIGIT_SIZE,null);return e.append(n.getNewString()),e.toString()}}bt.HEADER_SIZE=5+1+2,bt.LAST_DIGIT_SIZE=2;class nt extends ot{constructor(e){super(e)}parseInformation(){if(this.getInformation().getSize()<nt.HEADER_SIZE+ot.GTIN_SIZE)throw new D;let e=new he;this.encodeCompressedGtin(e,nt.HEADER_SIZE);let t=this.getGeneralDecoder().extractNumericValueFromBitArray(nt.HEADER_SIZE+ot.GTIN_SIZE,nt.LAST_DIGIT_SIZE);e.append("(393"),e.append(t),e.append(")");let n=this.getGeneralDecoder().extractNumericValueFromBitArray(nt.HEADER_SIZE+ot.GTIN_SIZE+nt.LAST_DIGIT_SIZE,nt.FIRST_THREE_DIGITS_SIZE);n/100==0&&e.append("0"),n/10==0&&e.append("0"),e.append(n);let r=this.getGeneralDecoder().decodeGeneralPurposeField(nt.HEADER_SIZE+ot.GTIN_SIZE+nt.LAST_DIGIT_SIZE+nt.FIRST_THREE_DIGITS_SIZE,null);return e.append(r.getNewString()),e.toString()}}nt.HEADER_SIZE=5+1+2,nt.LAST_DIGIT_SIZE=2,nt.FIRST_THREE_DIGITS_SIZE=10;class Se extends Rn{constructor(e,t,n){super(e),this.dateCode=n,this.firstAIdigits=t}parseInformation(){if(this.getInformation().getSize()!=Se.HEADER_SIZE+Se.GTIN_SIZE+Se.WEIGHT_SIZE+Se.DATE_SIZE)throw new D;let e=new he;return this.encodeCompressedGtin(e,Se.HEADER_SIZE),this.encodeCompressedWeight(e,Se.HEADER_SIZE+Se.GTIN_SIZE,Se.WEIGHT_SIZE),this.encodeCompressedDate(e,Se.HEADER_SIZE+Se.GTIN_SIZE+Se.WEIGHT_SIZE),e.toString()}encodeCompressedDate(e,t){let n=this.getGeneralDecoder().extractNumericValueFromBitArray(t,Se.DATE_SIZE);if(n==38400)return;e.append("("),e.append(this.dateCode),e.append(")");let r=n%32;n/=32;let i=n%12+1;n/=12;let s=n;s/10==0&&e.append("0"),e.append(s),i/10==0&&e.append("0"),e.append(i),r/10==0&&e.append("0"),e.append(r)}addWeightCode(e,t){e.append("("),e.append(this.firstAIdigits),e.append(t/1e5),e.append(")")}checkWeight(e){return e%1e5}}Se.HEADER_SIZE=7+1,Se.WEIGHT_SIZE=20,Se.DATE_SIZE=16;function Dr(h){try{if(h.get(1))return new qt(h);if(!h.get(2))return new On(h);switch(jt.extractNumericValueFromBitArray(h,1,4)){case 4:return new wi(h);case 5:return new Ai(h)}switch(jt.extractNumericValueFromBitArray(h,1,5)){case 12:return new bt(h);case 13:return new nt(h)}switch(jt.extractNumericValueFromBitArray(h,1,7)){case 56:return new Se(h,"310","11");case 57:return new Se(h,"320","11");case 58:return new Se(h,"310","13");case 59:return new Se(h,"320","13");case 60:return new Se(h,"310","15");case 61:return new Se(h,"320","15");case 62:return new Se(h,"310","17");case 63:return new Se(h,"320","17")}}catch(e){throw console.log(e),new mt("unknown decoder: "+h)}}class Mt{constructor(e,t,n,r){this.leftchar=e,this.rightchar=t,this.finderpattern=n,this.maybeLast=r}mayBeLast(){return this.maybeLast}getLeftChar(){return this.leftchar}getRightChar(){return this.rightchar}getFinderPattern(){return this.finderpattern}mustBeLast(){return this.rightchar==null}toString(){return"[ "+this.leftchar+", "+this.rightchar+" : "+(this.finderpattern==null?"null":this.finderpattern.getValue())+" ]"}static equals(e,t){return e instanceof Mt?Mt.equalsOrNull(e.leftchar,t.leftchar)&&Mt.equalsOrNull(e.rightchar,t.rightchar)&&Mt.equalsOrNull(e.finderpattern,t.finderpattern):!1}static equalsOrNull(e,t){return e===null?t===null:Mt.equals(e,t)}hashCode(){return this.leftchar.getValue()^this.rightchar.getValue()^this.finderpattern.getValue()}}class Jn{constructor(e,t,n){this.pairs=e,this.rowNumber=t,this.wasReversed=n}getPairs(){return this.pairs}getRowNumber(){return this.rowNumber}isReversed(){return this.wasReversed}isEquivalent(e){return this.checkEqualitity(this,e)}toString(){return"{ "+this.pairs+" }"}equals(e,t){return e instanceof Jn?this.checkEqualitity(e,t)&&e.wasReversed===t.wasReversed:!1}checkEqualitity(e,t){if(!e||!t)return;let n;return e.forEach((r,i)=>{t.forEach(s=>{r.getLeftChar().getValue()===s.getLeftChar().getValue()&&r.getRightChar().getValue()===s.getRightChar().getValue()&&r.getFinderPatter().getValue()===s.getFinderPatter().getValue()&&(n=!0)})}),n}}class v extends Qe{constructor(e){super(...arguments),this.pairs=new Array(v.MAX_PAIRS),this.rows=new Array,this.startEnd=[2],this.verbose=e===!0}decodeRow(e,t,n){this.pairs.length=0,this.startFromEven=!1;try{return v.constructResult(this.decodeRow2pairs(e,t))}catch(r){this.verbose&&console.log(r)}return this.pairs.length=0,this.startFromEven=!0,v.constructResult(this.decodeRow2pairs(e,t))}reset(){this.pairs.length=0,this.rows.length=0}decodeRow2pairs(e,t){let n=!1;for(;!n;)try{this.pairs.push(this.retrieveNextPair(t,this.pairs,e))}catch(i){if(i instanceof D){if(!this.pairs.length)throw new D;n=!0}}if(this.checkChecksum())return this.pairs;let r;if(this.rows.length?r=!0:r=!1,this.storeRow(e,!1),r){let i=this.checkRowsBoolean(!1);if(i!=null||(i=this.checkRowsBoolean(!0),i!=null))return i}throw new D}checkRowsBoolean(e){if(this.rows.length>25)return this.rows.length=0,null;this.pairs.length=0,e&&(this.rows=this.rows.reverse());let t=null;try{t=this.checkRows(new Array,0)}catch(n){this.verbose&&console.log(n)}return e&&(this.rows=this.rows.reverse()),t}checkRows(e,t){for(let n=t;n<this.rows.length;n++){let r=this.rows[n];this.pairs.length=0;for(let s of e)this.pairs.push(s.getPairs());if(this.pairs.push(r.getPairs()),!v.isValidSequence(this.pairs))continue;if(this.checkChecksum())return this.pairs;let i=new Array(e);i.push(r);try{return this.checkRows(i,n+1)}catch(s){this.verbose&&console.log(s)}}throw new D}static isValidSequence(e){for(let t of v.FINDER_PATTERN_SEQUENCES){if(e.length>t.length)continue;let n=!0;for(let r=0;r<e.length;r++)if(e[r].getFinderPattern().getValue()!=t[r]){n=!1;break}if(n)return!0}return!1}storeRow(e,t){let n=0,r=!1,i=!1;for(;n<this.rows.length;){let s=this.rows[n];if(s.getRowNumber()>e){i=s.isEquivalent(this.pairs);break}r=s.isEquivalent(this.pairs),n++}i||r||v.isPartialRow(this.pairs,this.rows)||(this.rows.push(n,new Jn(this.pairs,e,t)),this.removePartialRows(this.pairs,this.rows))}removePartialRows(e,t){for(let n of t)if(n.getPairs().length!==e.length){for(let r of n.getPairs())for(let i of e)if(Mt.equals(r,i))break}}static isPartialRow(e,t){for(let n of t){let r=!0;for(let i of e){let s=!1;for(let o of n.getPairs())if(i.equals(o)){s=!0;break}if(!s){r=!1;break}}if(r)return!0}return!1}getRows(){return this.rows}static constructResult(e){let t=gi.buildBitArray(e),r=Dr(t).parseInformation(),i=e[0].getFinderPattern().getResultPoints(),s=e[e.length-1].getFinderPattern().getResultPoints(),o=[i[0],i[1],s[0],s[1]];return new et(r,null,null,o,j.RSS_EXPANDED,null)}checkChecksum(){let e=this.pairs.get(0),t=e.getLeftChar(),n=e.getRightChar();if(n==null)return!1;let r=n.getChecksumPortion(),i=2;for(let o=1;o<this.pairs.size();++o){let a=this.pairs.get(o);r+=a.getLeftChar().getChecksumPortion(),i++;let l=a.getRightChar();l!=null&&(r+=l.getChecksumPortion(),i++)}return r%=211,211*(i-4)+r==t.getValue()}static getNextSecondBar(e,t){let n;return e.get(t)?(n=e.getNextUnset(t),n=e.getNextSet(n)):(n=e.getNextSet(t),n=e.getNextUnset(n)),n}retrieveNextPair(e,t,n){let r=t.length%2==0;this.startFromEven&&(r=!r);let i,s=!0,o=-1;do this.findNextPair(e,t,o),i=this.parseFoundFinderPattern(e,n,r),i==null?o=v.getNextSecondBar(e,this.startEnd[0]):s=!1;while(s);let a=this.decodeDataCharacter(e,i,r,!0);if(!this.isEmptyPair(t)&&t[t.length-1].mustBeLast())throw new D;let l;try{l=this.decodeDataCharacter(e,i,r,!1)}catch(c){l=null,this.verbose&&console.log(c)}return new Mt(a,l,i,!0)}isEmptyPair(e){return e.length===0}findNextPair(e,t,n){let r=this.getDecodeFinderCounters();r[0]=0,r[1]=0,r[2]=0,r[3]=0;let i=e.getSize(),s;n>=0?s=n:this.isEmptyPair(t)?s=0:s=t[t.length-1].getFinderPattern().getStartEnd()[1];let o=t.length%2!=0;this.startFromEven&&(o=!o);let a=!1;for(;s<i&&(a=!e.get(s),!!a);)s++;let l=0,c=s;for(let f=s;f<i;f++)if(e.get(f)!=a)r[l]++;else{if(l==3){if(o&&v.reverseCounters(r),v.isFinderPattern(r)){this.startEnd[0]=c,this.startEnd[1]=f;return}o&&v.reverseCounters(r),c+=r[0]+r[1],r[0]=r[2],r[1]=r[3],r[2]=0,r[3]=0,l--}else l++;r[l]=1,a=!a}throw new D}static reverseCounters(e){let t=e.length;for(let n=0;n<t/2;++n){let r=e[n];e[n]=e[t-n-1],e[t-n-1]=r}}parseFoundFinderPattern(e,t,n){let r,i,s;if(n){let l=this.startEnd[0]-1;for(;l>=0&&!e.get(l);)l--;l++,r=this.startEnd[0]-l,i=l,s=this.startEnd[1]}else i=this.startEnd[0],s=e.getNextUnset(this.startEnd[1]+1),r=s-this.startEnd[1];let o=this.getDecodeFinderCounters();ie.arraycopy(o,0,o,1,o.length-1),o[0]=r;let a;try{a=this.parseFinderValue(o,v.FINDER_PATTERNS)}catch{return null}return new _n(a,[i,s],i,s,t)}decodeDataCharacter(e,t,n,r){let i=this.getDataCharacterCounters();for(let Ie=0;Ie<i.length;Ie++)i[Ie]=0;if(r)v.recordPatternInReverse(e,t.getStartEnd()[0],i);else{v.recordPattern(e,t.getStartEnd()[1],i);for(let Ie=0,je=i.length-1;Ie<je;Ie++,je--){let ut=i[Ie];i[Ie]=i[je],i[je]=ut}}let s=17,o=fe.sum(new Int32Array(i))/s,a=(t.getStartEnd()[1]-t.getStartEnd()[0])/15;if(Math.abs(o-a)/a>.3)throw new D;let l=this.getOddCounts(),c=this.getEvenCounts(),f=this.getOddRoundingErrors(),w=this.getEvenRoundingErrors();for(let Ie=0;Ie<i.length;Ie++){let je=1*i[Ie]/o,ut=je+.5;if(ut<1){if(je<.3)throw new D;ut=1}else if(ut>8){if(je>8.7)throw new D;ut=8}let tn=Ie/2;Ie&1?(c[tn]=ut,w[tn]=je-ut):(l[tn]=ut,f[tn]=je-ut)}this.adjustOddEvenCounts(s);let E=4*t.getValue()+(n?0:2)+(r?0:1)-1,p=0,b=0;for(let Ie=l.length-1;Ie>=0;Ie--){if(v.isNotA1left(t,n,r)){let je=v.WEIGHTS[E][2*Ie];b+=l[Ie]*je}p+=l[Ie]}let y=0;for(let Ie=c.length-1;Ie>=0;Ie--)if(v.isNotA1left(t,n,r)){let je=v.WEIGHTS[E][2*Ie+1];y+=c[Ie]*je}let O=b+y;if(p&1||p>13||p<4)throw new D;let F=(13-p)/2,k=v.SYMBOL_WIDEST[F],L=9-k,ae=It.getRSSvalue(l,k,!0),te=It.getRSSvalue(c,L,!1),lt=v.EVEN_TOTAL_SUBSET[F],Ct=v.GSUM[F],ct=ae*lt+te+Ct;return new Kt(ct,O)}static isNotA1left(e,t,n){return!(e.getValue()==0&&t&&n)}adjustOddEvenCounts(e){let t=fe.sum(new Int32Array(this.getOddCounts())),n=fe.sum(new Int32Array(this.getEvenCounts())),r=!1,i=!1;t>13?i=!0:t<4&&(r=!0);let s=!1,o=!1;n>13?o=!0:n<4&&(s=!0);let a=t+n-e,l=(t&1)==1,c=(n&1)==0;if(a==1)if(l){if(c)throw new D;i=!0}else{if(!c)throw new D;o=!0}else if(a==-1)if(l){if(c)throw new D;r=!0}else{if(!c)throw new D;s=!0}else if(a==0){if(l){if(!c)throw new D;t<n?(r=!0,o=!0):(i=!0,s=!0)}else if(c)throw new D}else throw new D;if(r){if(i)throw new D;v.increment(this.getOddCounts(),this.getOddRoundingErrors())}if(i&&v.decrement(this.getOddCounts(),this.getOddRoundingErrors()),s){if(o)throw new D;v.increment(this.getEvenCounts(),this.getOddRoundingErrors())}o&&v.decrement(this.getEvenCounts(),this.getEvenRoundingErrors())}}v.SYMBOL_WIDEST=[7,5,4,3,1],v.EVEN_TOTAL_SUBSET=[4,20,52,104,204],v.GSUM=[0,348,1388,2948,3988],v.FINDER_PATTERNS=[Int32Array.from([1,8,4,1]),Int32Array.from([3,6,4,1]),Int32Array.from([3,4,6,1]),Int32Array.from([3,2,8,1]),Int32Array.from([2,6,5,1]),Int32Array.from([2,2,9,1])],v.WEIGHTS=[[1,3,9,27,81,32,96,77],[20,60,180,118,143,7,21,63],[189,145,13,39,117,140,209,205],[193,157,49,147,19,57,171,91],[62,186,136,197,169,85,44,132],[185,133,188,142,4,12,36,108],[113,128,173,97,80,29,87,50],[150,28,84,41,123,158,52,156],[46,138,203,187,139,206,196,166],[76,17,51,153,37,111,122,155],[43,129,176,106,107,110,119,146],[16,48,144,10,30,90,59,177],[109,116,137,200,178,112,125,164],[70,210,208,202,184,130,179,115],[134,191,151,31,93,68,204,190],[148,22,66,198,172,94,71,2],[6,18,54,162,64,192,154,40],[120,149,25,75,14,42,126,167],[79,26,78,23,69,207,199,175],[103,98,83,38,114,131,182,124],[161,61,183,127,170,88,53,159],[55,165,73,8,24,72,5,15],[45,135,194,160,58,174,100,89]],v.FINDER_PAT_A=0,v.FINDER_PAT_B=1,v.FINDER_PAT_C=2,v.FINDER_PAT_D=3,v.FINDER_PAT_E=4,v.FINDER_PAT_F=5,v.FINDER_PATTERN_SEQUENCES=[[v.FINDER_PAT_A,v.FINDER_PAT_A],[v.FINDER_PAT_A,v.FINDER_PAT_B,v.FINDER_PAT_B],[v.FINDER_PAT_A,v.FINDER_PAT_C,v.FINDER_PAT_B,v.FINDER_PAT_D],[v.FINDER_PAT_A,v.FINDER_PAT_E,v.FINDER_PAT_B,v.FINDER_PAT_D,v.FINDER_PAT_C],[v.FINDER_PAT_A,v.FINDER_PAT_E,v.FINDER_PAT_B,v.FINDER_PAT_D,v.FINDER_PAT_D,v.FINDER_PAT_F],[v.FINDER_PAT_A,v.FINDER_PAT_E,v.FINDER_PAT_B,v.FINDER_PAT_D,v.FINDER_PAT_E,v.FINDER_PAT_F,v.FINDER_PAT_F],[v.FINDER_PAT_A,v.FINDER_PAT_A,v.FINDER_PAT_B,v.FINDER_PAT_B,v.FINDER_PAT_C,v.FINDER_PAT_C,v.FINDER_PAT_D,v.FINDER_PAT_D],[v.FINDER_PAT_A,v.FINDER_PAT_A,v.FINDER_PAT_B,v.FINDER_PAT_B,v.FINDER_PAT_C,v.FINDER_PAT_C,v.FINDER_PAT_D,v.FINDER_PAT_E,v.FINDER_PAT_E],[v.FINDER_PAT_A,v.FINDER_PAT_A,v.FINDER_PAT_B,v.FINDER_PAT_B,v.FINDER_PAT_C,v.FINDER_PAT_C,v.FINDER_PAT_D,v.FINDER_PAT_E,v.FINDER_PAT_F,v.FINDER_PAT_F],[v.FINDER_PAT_A,v.FINDER_PAT_A,v.FINDER_PAT_B,v.FINDER_PAT_B,v.FINDER_PAT_C,v.FINDER_PAT_D,v.FINDER_PAT_D,v.FINDER_PAT_E,v.FINDER_PAT_E,v.FINDER_PAT_F,v.FINDER_PAT_F]],v.MAX_PAIRS=11;class Ci extends Kt{constructor(e,t,n){super(e,t),this.count=0,this.finderPattern=n}getFinderPattern(){return this.finderPattern}getCount(){return this.count}incrementCount(){this.count++}}class Oe extends Qe{constructor(){super(...arguments),this.possibleLeftPairs=[],this.possibleRightPairs=[]}decodeRow(e,t,n){const r=this.decodePair(t,!1,e,n);Oe.addOrTally(this.possibleLeftPairs,r),t.reverse();let i=this.decodePair(t,!0,e,n);Oe.addOrTally(this.possibleRightPairs,i),t.reverse();for(let s of this.possibleLeftPairs)if(s.getCount()>1){for(let o of this.possibleRightPairs)if(o.getCount()>1&&Oe.checkChecksum(s,o))return Oe.constructResult(s,o)}throw new D}static addOrTally(e,t){if(t==null)return;let n=!1;for(let r of e)if(r.getValue()===t.getValue()){r.incrementCount(),n=!0;break}n||e.push(t)}reset(){this.possibleLeftPairs.length=0,this.possibleRightPairs.length=0}static constructResult(e,t){let n=4537077*e.getValue()+t.getValue(),r=new String(n).toString(),i=new he;for(let l=13-r.length;l>0;l--)i.append("0");i.append(r);let s=0;for(let l=0;l<13;l++){let c=i.charAt(l).charCodeAt(0)-"0".charCodeAt(0);s+=l&1?c:3*c}s=10-s%10,s===10&&(s=0),i.append(s.toString());let o=e.getFinderPattern().getResultPoints(),a=t.getFinderPattern().getResultPoints();return new et(i.toString(),null,0,[o[0],o[1],a[0],a[1]],j.RSS_14,new Date().getTime())}static checkChecksum(e,t){let n=(e.getChecksumPortion()+16*t.getChecksumPortion())%79,r=9*e.getFinderPattern().getValue()+t.getFinderPattern().getValue();return r>72&&r--,r>8&&r--,n===r}decodePair(e,t,n,r){try{let i=this.findFinderPattern(e,t),s=this.parseFoundFinderPattern(e,n,t,i),o=r==null?null:r.get(ue.NEED_RESULT_POINT_CALLBACK);if(o!=null){let c=(i[0]+i[1])/2;t&&(c=e.getSize()-1-c),o.foundPossibleResultPoint(new X(c,n))}let a=this.decodeDataCharacter(e,s,!0),l=this.decodeDataCharacter(e,s,!1);return new Ci(1597*a.getValue()+l.getValue(),a.getChecksumPortion()+4*l.getChecksumPortion(),s)}catch{return null}}decodeDataCharacter(e,t,n){let r=this.getDataCharacterCounters();for(let y=0;y<r.length;y++)r[y]=0;if(n)ve.recordPatternInReverse(e,t.getStartEnd()[0],r);else{ve.recordPattern(e,t.getStartEnd()[1]+1,r);for(let y=0,O=r.length-1;y<O;y++,O--){let F=r[y];r[y]=r[O],r[O]=F}}let i=n?16:15,s=fe.sum(new Int32Array(r))/i,o=this.getOddCounts(),a=this.getEvenCounts(),l=this.getOddRoundingErrors(),c=this.getEvenRoundingErrors();for(let y=0;y<r.length;y++){let O=r[y]/s,F=Math.floor(O+.5);F<1?F=1:F>8&&(F=8);let k=Math.floor(y/2);y&1?(a[k]=F,c[k]=O-F):(o[k]=F,l[k]=O-F)}this.adjustOddEvenCounts(n,i);let f=0,w=0;for(let y=o.length-1;y>=0;y--)w*=9,w+=o[y],f+=o[y];let E=0,p=0;for(let y=a.length-1;y>=0;y--)E*=9,E+=a[y],p+=a[y];let b=w+3*E;if(n){if(f&1||f>12||f<4)throw new D;let y=(12-f)/2,O=Oe.OUTSIDE_ODD_WIDEST[y],F=9-O,k=It.getRSSvalue(o,O,!1),L=It.getRSSvalue(a,F,!0),ae=Oe.OUTSIDE_EVEN_TOTAL_SUBSET[y],te=Oe.OUTSIDE_GSUM[y];return new Kt(k*ae+L+te,b)}else{if(p&1||p>10||p<4)throw new D;let y=(10-p)/2,O=Oe.INSIDE_ODD_WIDEST[y],F=9-O,k=It.getRSSvalue(o,O,!0),L=It.getRSSvalue(a,F,!1),ae=Oe.INSIDE_ODD_TOTAL_SUBSET[y],te=Oe.INSIDE_GSUM[y];return new Kt(L*ae+k+te,b)}}findFinderPattern(e,t){let n=this.getDecodeFinderCounters();n[0]=0,n[1]=0,n[2]=0,n[3]=0;let r=e.getSize(),i=!1,s=0;for(;s<r&&(i=!e.get(s),t!==i);)s++;let o=0,a=s;for(let l=s;l<r;l++)if(e.get(l)!==i)n[o]++;else{if(o===3){if(Qe.isFinderPattern(n))return[a,l];a+=n[0]+n[1],n[0]=n[2],n[1]=n[3],n[2]=0,n[3]=0,o--}else o++;n[o]=1,i=!i}throw new D}parseFoundFinderPattern(e,t,n,r){let i=e.get(r[0]),s=r[0]-1;for(;s>=0&&i!==e.get(s);)s--;s++;const o=r[0]-s,a=this.getDecodeFinderCounters(),l=new Int32Array(a.length);ie.arraycopy(a,0,l,1,a.length-1),l[0]=o;const c=this.parseFinderValue(l,Oe.FINDER_PATTERNS);let f=s,w=r[1];return n&&(f=e.getSize()-1-f,w=e.getSize()-1-w),new _n(c,[s,r[1]],f,w,t)}adjustOddEvenCounts(e,t){let n=fe.sum(new Int32Array(this.getOddCounts())),r=fe.sum(new Int32Array(this.getEvenCounts())),i=!1,s=!1,o=!1,a=!1;e?(n>12?s=!0:n<4&&(i=!0),r>12?a=!0:r<4&&(o=!0)):(n>11?s=!0:n<5&&(i=!0),r>10?a=!0:r<4&&(o=!0));let l=n+r-t,c=(n&1)===(e?1:0),f=(r&1)===1;if(l===1)if(c){if(f)throw new D;s=!0}else{if(!f)throw new D;a=!0}else if(l===-1)if(c){if(f)throw new D;i=!0}else{if(!f)throw new D;o=!0}else if(l===0){if(c){if(!f)throw new D;n<r?(i=!0,a=!0):(s=!0,o=!0)}else if(f)throw new D}else throw new D;if(i){if(s)throw new D;Qe.increment(this.getOddCounts(),this.getOddRoundingErrors())}if(s&&Qe.decrement(this.getOddCounts(),this.getOddRoundingErrors()),o){if(a)throw new D;Qe.increment(this.getEvenCounts(),this.getOddRoundingErrors())}a&&Qe.decrement(this.getEvenCounts(),this.getEvenRoundingErrors())}}Oe.OUTSIDE_EVEN_TOTAL_SUBSET=[1,10,34,70,126],Oe.INSIDE_ODD_TOTAL_SUBSET=[4,20,48,81],Oe.OUTSIDE_GSUM=[0,161,961,2015,2715],Oe.INSIDE_GSUM=[0,336,1036,1516],Oe.OUTSIDE_ODD_WIDEST=[8,6,4,3,1],Oe.INSIDE_ODD_WIDEST=[2,4,6,8],Oe.FINDER_PATTERNS=[Int32Array.from([3,8,2,1]),Int32Array.from([3,5,5,1]),Int32Array.from([3,3,7,1]),Int32Array.from([3,1,9,1]),Int32Array.from([2,7,4,1]),Int32Array.from([2,5,6,1]),Int32Array.from([2,3,8,1]),Int32Array.from([1,5,7,1]),Int32Array.from([1,3,9,1])];class Qt extends ve{constructor(e,t){super(),this.readers=[],this.verbose=t===!0;const n=e?e.get(ue.POSSIBLE_FORMATS):null,r=e&&e.get(ue.ASSUME_CODE_39_CHECK_DIGIT)!==void 0;n?((n.includes(j.EAN_13)||n.includes(j.UPC_A)||n.includes(j.EAN_8)||n.includes(j.UPC_E))&&this.readers.push(new jn(e)),n.includes(j.CODE_39)&&this.readers.push(new ke(r)),n.includes(j.CODE_128)&&this.readers.push(new V),n.includes(j.ITF)&&this.readers.push(new Ee),n.includes(j.RSS_14)&&this.readers.push(new Oe),n.includes(j.RSS_EXPANDED)&&this.readers.push(new v(this.verbose))):(this.readers.push(new jn(e)),this.readers.push(new ke),this.readers.push(new jn(e)),this.readers.push(new V),this.readers.push(new Ee),this.readers.push(new Oe),this.readers.push(new v(this.verbose)))}decodeRow(e,t,n){for(let r=0;r<this.readers.length;r++)try{return this.readers[r].decodeRow(e,t,n)}catch{}throw new D}reset(){this.readers.forEach(e=>e.reset())}}class Ei extends Ut{constructor(e=500,t){super(new Qt(t),e,t)}}class Ae{constructor(e,t,n){this.ecCodewords=e,this.ecBlocks=[t],n&&this.ecBlocks.push(n)}getECCodewords(){return this.ecCodewords}getECBlocks(){return this.ecBlocks}}class we{constructor(e,t){this.count=e,this.dataCodewords=t}getCount(){return this.count}getDataCodewords(){return this.dataCodewords}}class ce{constructor(e,t,n,r,i,s){this.versionNumber=e,this.symbolSizeRows=t,this.symbolSizeColumns=n,this.dataRegionSizeRows=r,this.dataRegionSizeColumns=i,this.ecBlocks=s;let o=0;const a=s.getECCodewords(),l=s.getECBlocks();for(let c of l)o+=c.getCount()*(c.getDataCodewords()+a);this.totalCodewords=o}getVersionNumber(){return this.versionNumber}getSymbolSizeRows(){return this.symbolSizeRows}getSymbolSizeColumns(){return this.symbolSizeColumns}getDataRegionSizeRows(){return this.dataRegionSizeRows}getDataRegionSizeColumns(){return this.dataRegionSizeColumns}getTotalCodewords(){return this.totalCodewords}getECBlocks(){return this.ecBlocks}static getVersionForDimensions(e,t){if(e&1||t&1)throw new U;for(let n of ce.VERSIONS)if(n.symbolSizeRows===e&&n.symbolSizeColumns===t)return n;throw new U}toString(){return""+this.versionNumber}static buildVersions(){return[new ce(1,10,10,8,8,new Ae(5,new we(1,3))),new ce(2,12,12,10,10,new Ae(7,new we(1,5))),new ce(3,14,14,12,12,new Ae(10,new we(1,8))),new ce(4,16,16,14,14,new Ae(12,new we(1,12))),new ce(5,18,18,16,16,new Ae(14,new we(1,18))),new ce(6,20,20,18,18,new Ae(18,new we(1,22))),new ce(7,22,22,20,20,new Ae(20,new we(1,30))),new ce(8,24,24,22,22,new Ae(24,new we(1,36))),new ce(9,26,26,24,24,new Ae(28,new we(1,44))),new ce(10,32,32,14,14,new Ae(36,new we(1,62))),new ce(11,36,36,16,16,new Ae(42,new we(1,86))),new ce(12,40,40,18,18,new Ae(48,new we(1,114))),new ce(13,44,44,20,20,new Ae(56,new we(1,144))),new ce(14,48,48,22,22,new Ae(68,new we(1,174))),new ce(15,52,52,24,24,new Ae(42,new we(2,102))),new ce(16,64,64,14,14,new Ae(56,new we(2,140))),new ce(17,72,72,16,16,new Ae(36,new we(4,92))),new ce(18,80,80,18,18,new Ae(48,new we(4,114))),new ce(19,88,88,20,20,new Ae(56,new we(4,144))),new ce(20,96,96,22,22,new Ae(68,new we(4,174))),new ce(21,104,104,24,24,new Ae(56,new we(6,136))),new ce(22,120,120,18,18,new Ae(68,new we(6,175))),new ce(23,132,132,20,20,new Ae(62,new we(8,163))),new ce(24,144,144,22,22,new Ae(62,new we(8,156),new we(2,155))),new ce(25,8,18,6,16,new Ae(7,new we(1,5))),new ce(26,8,32,6,14,new Ae(11,new we(1,10))),new ce(27,12,26,10,24,new Ae(14,new we(1,16))),new ce(28,12,36,10,16,new Ae(18,new we(1,22))),new ce(29,16,36,14,16,new Ae(24,new we(1,32))),new ce(30,16,48,14,22,new Ae(28,new we(1,49)))]}}ce.VERSIONS=ce.buildVersions();class $n{constructor(e){const t=e.getHeight();if(t<8||t>144||t&1)throw new U;this.version=$n.readVersion(e),this.mappingBitMatrix=this.extractDataRegion(e),this.readMappingMatrix=new Me(this.mappingBitMatrix.getWidth(),this.mappingBitMatrix.getHeight())}getVersion(){return this.version}static readVersion(e){const t=e.getHeight(),n=e.getWidth();return ce.getVersionForDimensions(t,n)}readCodewords(){const e=new Int8Array(this.version.getTotalCodewords());let t=0,n=4,r=0;const i=this.mappingBitMatrix.getHeight(),s=this.mappingBitMatrix.getWidth();let o=!1,a=!1,l=!1,c=!1;do if(n===i&&r===0&&!o)e[t++]=this.readCorner1(i,s)&255,n-=2,r+=2,o=!0;else if(n===i-2&&r===0&&s&3&&!a)e[t++]=this.readCorner2(i,s)&255,n-=2,r+=2,a=!0;else if(n===i+4&&r===2&&!(s&7)&&!l)e[t++]=this.readCorner3(i,s)&255,n-=2,r+=2,l=!0;else if(n===i-2&&r===0&&(s&7)===4&&!c)e[t++]=this.readCorner4(i,s)&255,n-=2,r+=2,c=!0;else{do n<i&&r>=0&&!this.readMappingMatrix.get(r,n)&&(e[t++]=this.readUtah(n,r,i,s)&255),n-=2,r+=2;while(n>=0&&r<s);n+=1,r+=3;do n>=0&&r<s&&!this.readMappingMatrix.get(r,n)&&(e[t++]=this.readUtah(n,r,i,s)&255),n+=2,r-=2;while(n<i&&r>=0);n+=3,r+=1}while(n<i||r<s);if(t!==this.version.getTotalCodewords())throw new U;return e}readModule(e,t,n,r){return e<0&&(e+=n,t+=4-(n+4&7)),t<0&&(t+=r,e+=4-(r+4&7)),this.readMappingMatrix.set(t,e),this.mappingBitMatrix.get(t,e)}readUtah(e,t,n,r){let i=0;return this.readModule(e-2,t-2,n,r)&&(i|=1),i<<=1,this.readModule(e-2,t-1,n,r)&&(i|=1),i<<=1,this.readModule(e-1,t-2,n,r)&&(i|=1),i<<=1,this.readModule(e-1,t-1,n,r)&&(i|=1),i<<=1,this.readModule(e-1,t,n,r)&&(i|=1),i<<=1,this.readModule(e,t-2,n,r)&&(i|=1),i<<=1,this.readModule(e,t-1,n,r)&&(i|=1),i<<=1,this.readModule(e,t,n,r)&&(i|=1),i}readCorner1(e,t){let n=0;return this.readModule(e-1,0,e,t)&&(n|=1),n<<=1,this.readModule(e-1,1,e,t)&&(n|=1),n<<=1,this.readModule(e-1,2,e,t)&&(n|=1),n<<=1,this.readModule(0,t-2,e,t)&&(n|=1),n<<=1,this.readModule(0,t-1,e,t)&&(n|=1),n<<=1,this.readModule(1,t-1,e,t)&&(n|=1),n<<=1,this.readModule(2,t-1,e,t)&&(n|=1),n<<=1,this.readModule(3,t-1,e,t)&&(n|=1),n}readCorner2(e,t){let n=0;return this.readModule(e-3,0,e,t)&&(n|=1),n<<=1,this.readModule(e-2,0,e,t)&&(n|=1),n<<=1,this.readModule(e-1,0,e,t)&&(n|=1),n<<=1,this.readModule(0,t-4,e,t)&&(n|=1),n<<=1,this.readModule(0,t-3,e,t)&&(n|=1),n<<=1,this.readModule(0,t-2,e,t)&&(n|=1),n<<=1,this.readModule(0,t-1,e,t)&&(n|=1),n<<=1,this.readModule(1,t-1,e,t)&&(n|=1),n}readCorner3(e,t){let n=0;return this.readModule(e-1,0,e,t)&&(n|=1),n<<=1,this.readModule(e-1,t-1,e,t)&&(n|=1),n<<=1,this.readModule(0,t-3,e,t)&&(n|=1),n<<=1,this.readModule(0,t-2,e,t)&&(n|=1),n<<=1,this.readModule(0,t-1,e,t)&&(n|=1),n<<=1,this.readModule(1,t-3,e,t)&&(n|=1),n<<=1,this.readModule(1,t-2,e,t)&&(n|=1),n<<=1,this.readModule(1,t-1,e,t)&&(n|=1),n}readCorner4(e,t){let n=0;return this.readModule(e-3,0,e,t)&&(n|=1),n<<=1,this.readModule(e-2,0,e,t)&&(n|=1),n<<=1,this.readModule(e-1,0,e,t)&&(n|=1),n<<=1,this.readModule(0,t-2,e,t)&&(n|=1),n<<=1,this.readModule(0,t-1,e,t)&&(n|=1),n<<=1,this.readModule(1,t-1,e,t)&&(n|=1),n<<=1,this.readModule(2,t-1,e,t)&&(n|=1),n<<=1,this.readModule(3,t-1,e,t)&&(n|=1),n}extractDataRegion(e){const t=this.version.getSymbolSizeRows(),n=this.version.getSymbolSizeColumns();if(e.getHeight()!==t)throw new R("Dimension of bitMatrix must match the version size");const r=this.version.getDataRegionSizeRows(),i=this.version.getDataRegionSizeColumns(),s=t/r|0,o=n/i|0,a=s*r,l=o*i,c=new Me(l,a);for(let f=0;f<s;++f){const w=f*r;for(let E=0;E<o;++E){const p=E*i;for(let b=0;b<r;++b){const y=f*(r+2)+1+b,O=w+b;for(let F=0;F<i;++F){const k=E*(i+2)+1+F;if(e.get(k,y)){const L=p+F;c.set(L,O)}}}}}return c}}class er{constructor(e,t){this.numDataCodewords=e,this.codewords=t}static getDataBlocks(e,t){const n=t.getECBlocks();let r=0;const i=n.getECBlocks();for(let b of i)r+=b.getCount();const s=new Array(r);let o=0;for(let b of i)for(let y=0;y<b.getCount();y++){const O=b.getDataCodewords(),F=n.getECCodewords()+O;s[o++]=new er(O,new Uint8Array(F))}const l=s[0].codewords.length-n.getECCodewords(),c=l-1;let f=0;for(let b=0;b<c;b++)for(let y=0;y<o;y++)s[y].codewords[b]=e[f++];const w=t.getVersionNumber()===24,E=w?8:o;for(let b=0;b<E;b++)s[b].codewords[l-1]=e[f++];const p=s[0].codewords.length;for(let b=l;b<p;b++)for(let y=0;y<o;y++){const O=w?(y+8)%o:y,F=w&&O>7?b-1:b;s[O].codewords[F]=e[f++]}if(f!==e.length)throw new R;return s}getNumDataCodewords(){return this.numDataCodewords}getCodewords(){return this.codewords}}class tr{constructor(e){this.bytes=e,this.byteOffset=0,this.bitOffset=0}getBitOffset(){return this.bitOffset}getByteOffset(){return this.byteOffset}readBits(e){if(e<1||e>32||e>this.available())throw new R(""+e);let t=0,n=this.bitOffset,r=this.byteOffset;const i=this.bytes;if(n>0){const s=8-n,o=e<s?e:s,a=s-o,l=255>>8-o<<a;t=(i[r]&l)>>a,e-=o,n+=o,n===8&&(n=0,r++)}if(e>0){for(;e>=8;)t=t<<8|i[r]&255,r++,e-=8;if(e>0){const s=8-e,o=255>>s<<s;t=t<<e|(i[r]&o)>>s,n+=e}}return this.bitOffset=n,this.byteOffset=r,t}available(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset}}var Ue;(function(h){h[h.PAD_ENCODE=0]="PAD_ENCODE",h[h.ASCII_ENCODE=1]="ASCII_ENCODE",h[h.C40_ENCODE=2]="C40_ENCODE",h[h.TEXT_ENCODE=3]="TEXT_ENCODE",h[h.ANSIX12_ENCODE=4]="ANSIX12_ENCODE",h[h.EDIFACT_ENCODE=5]="EDIFACT_ENCODE",h[h.BASE256_ENCODE=6]="BASE256_ENCODE"})(Ue||(Ue={}));class Bt{static decode(e){const t=new tr(e),n=new he,r=new he,i=new Array;let s=Ue.ASCII_ENCODE;do if(s===Ue.ASCII_ENCODE)s=this.decodeAsciiSegment(t,n,r);else{switch(s){case Ue.C40_ENCODE:this.decodeC40Segment(t,n);break;case Ue.TEXT_ENCODE:this.decodeTextSegment(t,n);break;case Ue.ANSIX12_ENCODE:this.decodeAnsiX12Segment(t,n);break;case Ue.EDIFACT_ENCODE:this.decodeEdifactSegment(t,n);break;case Ue.BASE256_ENCODE:this.decodeBase256Segment(t,n,i);break;default:throw new U}s=Ue.ASCII_ENCODE}while(s!==Ue.PAD_ENCODE&&t.available()>0);return r.length()>0&&n.append(r.toString()),new an(e,n.toString(),i.length===0?null:i,null)}static decodeAsciiSegment(e,t,n){let r=!1;do{let i=e.readBits(8);if(i===0)throw new U;if(i<=128)return r&&(i+=128),t.append(String.fromCharCode(i-1)),Ue.ASCII_ENCODE;if(i===129)return Ue.PAD_ENCODE;if(i<=229){const s=i-130;s<10&&t.append("0"),t.append(""+s)}else switch(i){case 230:return Ue.C40_ENCODE;case 231:return Ue.BASE256_ENCODE;case 232:t.append(String.fromCharCode(29));break;case 233:case 234:break;case 235:r=!0;break;case 236:t.append("[)>05"),n.insert(0,"");break;case 237:t.append("[)>06"),n.insert(0,"");break;case 238:return Ue.ANSIX12_ENCODE;case 239:return Ue.TEXT_ENCODE;case 240:return Ue.EDIFACT_ENCODE;case 241:break;default:if(i!==254||e.available()!==0)throw new U;break}}while(e.available()>0);return Ue.ASCII_ENCODE}static decodeC40Segment(e,t){let n=!1;const r=[];let i=0;do{if(e.available()===8)return;const s=e.readBits(8);if(s===254)return;this.parseTwoBytes(s,e.readBits(8),r);for(let o=0;o<3;o++){const a=r[o];switch(i){case 0:if(a<3)i=a+1;else if(a<this.C40_BASIC_SET_CHARS.length){const l=this.C40_BASIC_SET_CHARS[a];n?(t.append(String.fromCharCode(l.charCodeAt(0)+128)),n=!1):t.append(l)}else throw new U;break;case 1:n?(t.append(String.fromCharCode(a+128)),n=!1):t.append(String.fromCharCode(a)),i=0;break;case 2:if(a<this.C40_SHIFT2_SET_CHARS.length){const l=this.C40_SHIFT2_SET_CHARS[a];n?(t.append(String.fromCharCode(l.charCodeAt(0)+128)),n=!1):t.append(l)}else switch(a){case 27:t.append(String.fromCharCode(29));break;case 30:n=!0;break;default:throw new U}i=0;break;case 3:n?(t.append(String.fromCharCode(a+224)),n=!1):t.append(String.fromCharCode(a+96)),i=0;break;default:throw new U}}}while(e.available()>0)}static decodeTextSegment(e,t){let n=!1,r=[],i=0;do{if(e.available()===8)return;const s=e.readBits(8);if(s===254)return;this.parseTwoBytes(s,e.readBits(8),r);for(let o=0;o<3;o++){const a=r[o];switch(i){case 0:if(a<3)i=a+1;else if(a<this.TEXT_BASIC_SET_CHARS.length){const l=this.TEXT_BASIC_SET_CHARS[a];n?(t.append(String.fromCharCode(l.charCodeAt(0)+128)),n=!1):t.append(l)}else throw new U;break;case 1:n?(t.append(String.fromCharCode(a+128)),n=!1):t.append(String.fromCharCode(a)),i=0;break;case 2:if(a<this.TEXT_SHIFT2_SET_CHARS.length){const l=this.TEXT_SHIFT2_SET_CHARS[a];n?(t.append(String.fromCharCode(l.charCodeAt(0)+128)),n=!1):t.append(l)}else switch(a){case 27:t.append(String.fromCharCode(29));break;case 30:n=!0;break;default:throw new U}i=0;break;case 3:if(a<this.TEXT_SHIFT3_SET_CHARS.length){const l=this.TEXT_SHIFT3_SET_CHARS[a];n?(t.append(String.fromCharCode(l.charCodeAt(0)+128)),n=!1):t.append(l),i=0}else throw new U;break;default:throw new U}}}while(e.available()>0)}static decodeAnsiX12Segment(e,t){const n=[];do{if(e.available()===8)return;const r=e.readBits(8);if(r===254)return;this.parseTwoBytes(r,e.readBits(8),n);for(let i=0;i<3;i++){const s=n[i];switch(s){case 0:t.append("\r");break;case 1:t.append("*");break;case 2:t.append(">");break;case 3:t.append(" ");break;default:if(s<14)t.append(String.fromCharCode(s+44));else if(s<40)t.append(String.fromCharCode(s+51));else throw new U;break}}}while(e.available()>0)}static parseTwoBytes(e,t,n){let r=(e<<8)+t-1,i=Math.floor(r/1600);n[0]=i,r-=i*1600,i=Math.floor(r/40),n[1]=i,n[2]=r-i*40}static decodeEdifactSegment(e,t){do{if(e.available()<=16)return;for(let n=0;n<4;n++){let r=e.readBits(6);if(r===31){const i=8-e.getBitOffset();i!==8&&e.readBits(i);return}r&32||(r|=64),t.append(String.fromCharCode(r))}}while(e.available()>0)}static decodeBase256Segment(e,t,n){let r=1+e.getByteOffset();const i=this.unrandomize255State(e.readBits(8),r++);let s;if(i===0?s=e.available()/8|0:i<250?s=i:s=250*(i-249)+this.unrandomize255State(e.readBits(8),r++),s<0)throw new U;const o=new Uint8Array(s);for(let a=0;a<s;a++){if(e.available()<8)throw new U;o[a]=this.unrandomize255State(e.readBits(8),r++)}n.push(o);try{t.append(Fe.decode(o,z.ISO88591))}catch(a){throw new mt("Platform does not support required encoding: "+a.message)}}static unrandomize255State(e,t){const n=149*t%255+1,r=e-n;return r>=0?r:r+256}}Bt.C40_BASIC_SET_CHARS=["*","*","*"," ","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"],Bt.C40_SHIFT2_SET_CHARS=["!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_"],Bt.TEXT_BASIC_SET_CHARS=["*","*","*"," ","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"],Bt.TEXT_SHIFT2_SET_CHARS=Bt.C40_SHIFT2_SET_CHARS,Bt.TEXT_SHIFT3_SET_CHARS=["`","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","{","|","}","~",String.fromCharCode(127)];class mi{constructor(){this.rsDecoder=new cn(xe.DATA_MATRIX_FIELD_256)}decode(e){const t=new $n(e),n=t.getVersion(),r=t.readCodewords(),i=er.getDataBlocks(r,n);let s=0;for(let l of i)s+=l.getNumDataCodewords();const o=new Uint8Array(s),a=i.length;for(let l=0;l<a;l++){const c=i[l],f=c.getCodewords(),w=c.getNumDataCodewords();this.correctErrors(f,w);for(let E=0;E<w;E++)o[E*a+l]=f[E]}return Bt.decode(o)}correctErrors(e,t){const n=new Int32Array(e);try{this.rsDecoder.decode(n,e.length-t)}catch{throw new $}for(let r=0;r<t;r++)e[r]=n[r]}}class Be{constructor(e){this.image=e,this.rectangleDetector=new Nt(this.image)}detect(){const e=this.rectangleDetector.detect();let t=this.detectSolid1(e);if(t=this.detectSolid2(t),t[3]=this.correctTopRight(t),!t[3])throw new D;t=this.shiftToModuleCenter(t);const n=t[0],r=t[1],i=t[2],s=t[3];let o=this.transitionsBetween(n,s)+1,a=this.transitionsBetween(i,s)+1;(o&1)===1&&(o+=1),(a&1)===1&&(a+=1),4*o<7*a&&4*a<7*o&&(o=a=Math.max(o,a));let l=Be.sampleGrid(this.image,n,r,i,s,o,a);return new Sn(l,[n,r,i,s])}static shiftPoint(e,t,n){let r=(t.getX()-e.getX())/(n+1),i=(t.getY()-e.getY())/(n+1);return new X(e.getX()+r,e.getY()+i)}static moveAway(e,t,n){let r=e.getX(),i=e.getY();return r<t?r-=1:r+=1,i<n?i-=1:i+=1,new X(r,i)}detectSolid1(e){let t=e[0],n=e[1],r=e[3],i=e[2],s=this.transitionsBetween(t,n),o=this.transitionsBetween(n,r),a=this.transitionsBetween(r,i),l=this.transitionsBetween(i,t),c=s,f=[i,t,n,r];return c>o&&(c=o,f[0]=t,f[1]=n,f[2]=r,f[3]=i),c>a&&(c=a,f[0]=n,f[1]=r,f[2]=i,f[3]=t),c>l&&(f[0]=r,f[1]=i,f[2]=t,f[3]=n),f}detectSolid2(e){let t=e[0],n=e[1],r=e[2],i=e[3],s=this.transitionsBetween(t,i),o=Be.shiftPoint(n,r,(s+1)*4),a=Be.shiftPoint(r,n,(s+1)*4),l=this.transitionsBetween(o,t),c=this.transitionsBetween(a,i);return l<c?(e[0]=t,e[1]=n,e[2]=r,e[3]=i):(e[0]=n,e[1]=r,e[2]=i,e[3]=t),e}correctTopRight(e){let t=e[0],n=e[1],r=e[2],i=e[3],s=this.transitionsBetween(t,i),o=this.transitionsBetween(n,i),a=Be.shiftPoint(t,n,(o+1)*4),l=Be.shiftPoint(r,n,(s+1)*4);s=this.transitionsBetween(a,i),o=this.transitionsBetween(l,i);let c=new X(i.getX()+(r.getX()-n.getX())/(s+1),i.getY()+(r.getY()-n.getY())/(s+1)),f=new X(i.getX()+(t.getX()-n.getX())/(o+1),i.getY()+(t.getY()-n.getY())/(o+1));if(!this.isValid(c))return this.isValid(f)?f:null;if(!this.isValid(f))return c;let w=this.transitionsBetween(a,c)+this.transitionsBetween(l,c),E=this.transitionsBetween(a,f)+this.transitionsBetween(l,f);return w>E?c:f}shiftToModuleCenter(e){let t=e[0],n=e[1],r=e[2],i=e[3],s=this.transitionsBetween(t,i)+1,o=this.transitionsBetween(r,i)+1,a=Be.shiftPoint(t,n,o*4),l=Be.shiftPoint(r,n,s*4);s=this.transitionsBetween(a,i)+1,o=this.transitionsBetween(l,i)+1,(s&1)===1&&(s+=1),(o&1)===1&&(o+=1);let c=(t.getX()+n.getX()+r.getX()+i.getX())/4,f=(t.getY()+n.getY()+r.getY()+i.getY())/4;t=Be.moveAway(t,c,f),n=Be.moveAway(n,c,f),r=Be.moveAway(r,c,f),i=Be.moveAway(i,c,f);let w,E;return a=Be.shiftPoint(t,n,o*4),a=Be.shiftPoint(a,i,s*4),w=Be.shiftPoint(n,t,o*4),w=Be.shiftPoint(w,r,s*4),l=Be.shiftPoint(r,i,o*4),l=Be.shiftPoint(l,n,s*4),E=Be.shiftPoint(i,r,o*4),E=Be.shiftPoint(E,t,s*4),[a,w,l,E]}isValid(e){return e.getX()>=0&&e.getX()<this.image.getWidth()&&e.getY()>0&&e.getY()<this.image.getHeight()}static sampleGrid(e,t,n,r,i,s,o){return Dt.getInstance().sampleGrid(e,s,o,.5,.5,s-.5,.5,s-.5,o-.5,.5,o-.5,t.getX(),t.getY(),i.getX(),i.getY(),r.getX(),r.getY(),n.getX(),n.getY())}transitionsBetween(e,t){let n=Math.trunc(e.getX()),r=Math.trunc(e.getY()),i=Math.trunc(t.getX()),s=Math.trunc(t.getY()),o=Math.abs(s-r)>Math.abs(i-n);if(o){let b=n;n=r,r=b,b=i,i=s,s=b}let a=Math.abs(i-n),l=Math.abs(s-r),c=-a/2,f=r<s?1:-1,w=n<i?1:-1,E=0,p=this.image.get(o?r:n,o?n:r);for(let b=n,y=r;b!==i;b+=w){let O=this.image.get(o?y:b,o?b:y);if(O!==p&&(E++,p=O),c+=l,c>0){if(y===s)break;y+=f,c-=a}}return E}}class vt{constructor(){this.decoder=new mi}decode(e,t=null){let n,r;if(t!=null&&t.has(ue.PURE_BARCODE)){const l=vt.extractPureBits(e.getBlackMatrix());n=this.decoder.decode(l),r=vt.NO_POINTS}else{const l=new Be(e.getBlackMatrix()).detect();n=this.decoder.decode(l.getBits()),r=l.getPoints()}const i=n.getRawBytes(),s=new et(n.getText(),i,8*i.length,r,j.DATA_MATRIX,ie.currentTimeMillis()),o=n.getByteSegments();o!=null&&s.putMetadata(We.BYTE_SEGMENTS,o);const a=n.getECLevel();return a!=null&&s.putMetadata(We.ERROR_CORRECTION_LEVEL,a),s}reset(){}static extractPureBits(e){const t=e.getTopLeftOnBit(),n=e.getBottomRightOnBit();if(t==null||n==null)throw new D;const r=this.moduleSize(t,e);let i=t[1];const s=n[1];let o=t[0];const l=(n[0]-o+1)/r,c=(s-i+1)/r;if(l<=0||c<=0)throw new D;const f=r/2;i+=f,o+=f;const w=new Me(l,c);for(let E=0;E<c;E++){const p=i+E*r;for(let b=0;b<l;b++)e.get(o+b*r,p)&&w.set(b,E)}return w}static moduleSize(e,t){const n=t.getWidth();let r=e[0];const i=e[1];for(;r<n&&t.get(r,i);)r++;if(r===n)throw new D;const s=r-e[0];if(s===0)throw new D;return s}}vt.NO_POINTS=[];class Ii extends Ut{constructor(e=500){super(new vt,e)}}var Jt;(function(h){h[h.L=0]="L",h[h.M=1]="M",h[h.Q=2]="Q",h[h.H=3]="H"})(Jt||(Jt={}));class be{constructor(e,t,n){this.value=e,this.stringValue=t,this.bits=n,be.FOR_BITS.set(n,this),be.FOR_VALUE.set(e,this)}getValue(){return this.value}getBits(){return this.bits}static fromString(e){switch(e){case"L":return be.L;case"M":return be.M;case"Q":return be.Q;case"H":return be.H;default:throw new N(e+"not available")}}toString(){return this.stringValue}equals(e){if(!(e instanceof be))return!1;const t=e;return this.value===t.value}static forBits(e){if(e<0||e>=be.FOR_BITS.size)throw new R;return be.FOR_BITS.get(e)}}be.FOR_BITS=new Map,be.FOR_VALUE=new Map,be.L=new be(Jt.L,"L",1),be.M=new be(Jt.M,"M",0),be.Q=new be(Jt.Q,"Q",3),be.H=new be(Jt.H,"H",2);class Je{constructor(e){this.errorCorrectionLevel=be.forBits(e>>3&3),this.dataMask=e&7}static numBitsDiffering(e,t){return Y.bitCount(e^t)}static decodeFormatInformation(e,t){const n=Je.doDecodeFormatInformation(e,t);return n!==null?n:Je.doDecodeFormatInformation(e^Je.FORMAT_INFO_MASK_QR,t^Je.FORMAT_INFO_MASK_QR)}static doDecodeFormatInformation(e,t){let n=Number.MAX_SAFE_INTEGER,r=0;for(const i of Je.FORMAT_INFO_DECODE_LOOKUP){const s=i[0];if(s===e||s===t)return new Je(i[1]);let o=Je.numBitsDiffering(e,s);o<n&&(r=i[1],n=o),e!==t&&(o=Je.numBitsDiffering(t,s),o<n&&(r=i[1],n=o))}return n<=3?new Je(r):null}getErrorCorrectionLevel(){return this.errorCorrectionLevel}getDataMask(){return this.dataMask}hashCode(){return this.errorCorrectionLevel.getBits()<<3|this.dataMask}equals(e){if(!(e instanceof Je))return!1;const t=e;return this.errorCorrectionLevel===t.errorCorrectionLevel&&this.dataMask===t.dataMask}}Je.FORMAT_INFO_MASK_QR=21522,Je.FORMAT_INFO_DECODE_LOOKUP=[Int32Array.from([21522,0]),Int32Array.from([20773,1]),Int32Array.from([24188,2]),Int32Array.from([23371,3]),Int32Array.from([17913,4]),Int32Array.from([16590,5]),Int32Array.from([20375,6]),Int32Array.from([19104,7]),Int32Array.from([30660,8]),Int32Array.from([29427,9]),Int32Array.from([32170,10]),Int32Array.from([30877,11]),Int32Array.from([26159,12]),Int32Array.from([25368,13]),Int32Array.from([27713,14]),Int32Array.from([26998,15]),Int32Array.from([5769,16]),Int32Array.from([5054,17]),Int32Array.from([7399,18]),Int32Array.from([6608,19]),Int32Array.from([1890,20]),Int32Array.from([597,21]),Int32Array.from([3340,22]),Int32Array.from([2107,23]),Int32Array.from([13663,24]),Int32Array.from([12392,25]),Int32Array.from([16177,26]),Int32Array.from([14854,27]),Int32Array.from([9396,28]),Int32Array.from([8579,29]),Int32Array.from([11994,30]),Int32Array.from([11245,31])];class S{constructor(e,...t){this.ecCodewordsPerBlock=e,this.ecBlocks=t}getECCodewordsPerBlock(){return this.ecCodewordsPerBlock}getNumBlocks(){let e=0;const t=this.ecBlocks;for(const n of t)e+=n.getCount();return e}getTotalECCodewords(){return this.ecCodewordsPerBlock*this.getNumBlocks()}getECBlocks(){return this.ecBlocks}}class C{constructor(e,t){this.count=e,this.dataCodewords=t}getCount(){return this.count}getDataCodewords(){return this.dataCodewords}}class Z{constructor(e,t,...n){this.versionNumber=e,this.alignmentPatternCenters=t,this.ecBlocks=n;let r=0;const i=n[0].getECCodewordsPerBlock(),s=n[0].getECBlocks();for(const o of s)r+=o.getCount()*(o.getDataCodewords()+i);this.totalCodewords=r}getVersionNumber(){return this.versionNumber}getAlignmentPatternCenters(){return this.alignmentPatternCenters}getTotalCodewords(){return this.totalCodewords}getDimensionForVersion(){return 17+4*this.versionNumber}getECBlocksForLevel(e){return this.ecBlocks[e.getValue()]}static getProvisionalVersionForDimension(e){if(e%4!==1)throw new U;try{return this.getVersionForNumber((e-17)/4)}catch{throw new U}}static getVersionForNumber(e){if(e<1||e>40)throw new R;return Z.VERSIONS[e-1]}static decodeVersionInformation(e){let t=Number.MAX_SAFE_INTEGER,n=0;for(let r=0;r<Z.VERSION_DECODE_INFO.length;r++){const i=Z.VERSION_DECODE_INFO[r];if(i===e)return Z.getVersionForNumber(r+7);const s=Je.numBitsDiffering(e,i);s<t&&(n=r+7,t=s)}return t<=3?Z.getVersionForNumber(n):null}buildFunctionPattern(){const e=this.getDimensionForVersion(),t=new Me(e);t.setRegion(0,0,9,9),t.setRegion(e-8,0,8,9),t.setRegion(0,e-8,9,8);const n=this.alignmentPatternCenters.length;for(let r=0;r<n;r++){const i=this.alignmentPatternCenters[r]-2;for(let s=0;s<n;s++)r===0&&(s===0||s===n-1)||r===n-1&&s===0||t.setRegion(this.alignmentPatternCenters[s]-2,i,5,5)}return t.setRegion(6,9,1,e-17),t.setRegion(9,6,e-17,1),this.versionNumber>6&&(t.setRegion(e-11,0,3,6),t.setRegion(0,e-11,6,3)),t}toString(){return""+this.versionNumber}}Z.VERSION_DECODE_INFO=Int32Array.from([31892,34236,39577,42195,48118,51042,55367,58893,63784,68472,70749,76311,79154,84390,87683,92361,96236,102084,102881,110507,110734,117786,119615,126325,127568,133589,136944,141498,145311,150283,152622,158308,161089,167017]),Z.VERSIONS=[new Z(1,new Int32Array(0),new S(7,new C(1,19)),new S(10,new C(1,16)),new S(13,new C(1,13)),new S(17,new C(1,9))),new Z(2,Int32Array.from([6,18]),new S(10,new C(1,34)),new S(16,new C(1,28)),new S(22,new C(1,22)),new S(28,new C(1,16))),new Z(3,Int32Array.from([6,22]),new S(15,new C(1,55)),new S(26,new C(1,44)),new S(18,new C(2,17)),new S(22,new C(2,13))),new Z(4,Int32Array.from([6,26]),new S(20,new C(1,80)),new S(18,new C(2,32)),new S(26,new C(2,24)),new S(16,new C(4,9))),new Z(5,Int32Array.from([6,30]),new S(26,new C(1,108)),new S(24,new C(2,43)),new S(18,new C(2,15),new C(2,16)),new S(22,new C(2,11),new C(2,12))),new Z(6,Int32Array.from([6,34]),new S(18,new C(2,68)),new S(16,new C(4,27)),new S(24,new C(4,19)),new S(28,new C(4,15))),new Z(7,Int32Array.from([6,22,38]),new S(20,new C(2,78)),new S(18,new C(4,31)),new S(18,new C(2,14),new C(4,15)),new S(26,new C(4,13),new C(1,14))),new Z(8,Int32Array.from([6,24,42]),new S(24,new C(2,97)),new S(22,new C(2,38),new C(2,39)),new S(22,new C(4,18),new C(2,19)),new S(26,new C(4,14),new C(2,15))),new Z(9,Int32Array.from([6,26,46]),new S(30,new C(2,116)),new S(22,new C(3,36),new C(2,37)),new S(20,new C(4,16),new C(4,17)),new S(24,new C(4,12),new C(4,13))),new Z(10,Int32Array.from([6,28,50]),new S(18,new C(2,68),new C(2,69)),new S(26,new C(4,43),new C(1,44)),new S(24,new C(6,19),new C(2,20)),new S(28,new C(6,15),new C(2,16))),new Z(11,Int32Array.from([6,30,54]),new S(20,new C(4,81)),new S(30,new C(1,50),new C(4,51)),new S(28,new C(4,22),new C(4,23)),new S(24,new C(3,12),new C(8,13))),new Z(12,Int32Array.from([6,32,58]),new S(24,new C(2,92),new C(2,93)),new S(22,new C(6,36),new C(2,37)),new S(26,new C(4,20),new C(6,21)),new S(28,new C(7,14),new C(4,15))),new Z(13,Int32Array.from([6,34,62]),new S(26,new C(4,107)),new S(22,new C(8,37),new C(1,38)),new S(24,new C(8,20),new C(4,21)),new S(22,new C(12,11),new C(4,12))),new Z(14,Int32Array.from([6,26,46,66]),new S(30,new C(3,115),new C(1,116)),new S(24,new C(4,40),new C(5,41)),new S(20,new C(11,16),new C(5,17)),new S(24,new C(11,12),new C(5,13))),new Z(15,Int32Array.from([6,26,48,70]),new S(22,new C(5,87),new C(1,88)),new S(24,new C(5,41),new C(5,42)),new S(30,new C(5,24),new C(7,25)),new S(24,new C(11,12),new C(7,13))),new Z(16,Int32Array.from([6,26,50,74]),new S(24,new C(5,98),new C(1,99)),new S(28,new C(7,45),new C(3,46)),new S(24,new C(15,19),new C(2,20)),new S(30,new C(3,15),new C(13,16))),new Z(17,Int32Array.from([6,30,54,78]),new S(28,new C(1,107),new C(5,108)),new S(28,new C(10,46),new C(1,47)),new S(28,new C(1,22),new C(15,23)),new S(28,new C(2,14),new C(17,15))),new Z(18,Int32Array.from([6,30,56,82]),new S(30,new C(5,120),new C(1,121)),new S(26,new C(9,43),new C(4,44)),new S(28,new C(17,22),new C(1,23)),new S(28,new C(2,14),new C(19,15))),new Z(19,Int32Array.from([6,30,58,86]),new S(28,new C(3,113),new C(4,114)),new S(26,new C(3,44),new C(11,45)),new S(26,new C(17,21),new C(4,22)),new S(26,new C(9,13),new C(16,14))),new Z(20,Int32Array.from([6,34,62,90]),new S(28,new C(3,107),new C(5,108)),new S(26,new C(3,41),new C(13,42)),new S(30,new C(15,24),new C(5,25)),new S(28,new C(15,15),new C(10,16))),new Z(21,Int32Array.from([6,28,50,72,94]),new S(28,new C(4,116),new C(4,117)),new S(26,new C(17,42)),new S(28,new C(17,22),new C(6,23)),new S(30,new C(19,16),new C(6,17))),new Z(22,Int32Array.from([6,26,50,74,98]),new S(28,new C(2,111),new C(7,112)),new S(28,new C(17,46)),new S(30,new C(7,24),new C(16,25)),new S(24,new C(34,13))),new Z(23,Int32Array.from([6,30,54,78,102]),new S(30,new C(4,121),new C(5,122)),new S(28,new C(4,47),new C(14,48)),new S(30,new C(11,24),new C(14,25)),new S(30,new C(16,15),new C(14,16))),new Z(24,Int32Array.from([6,28,54,80,106]),new S(30,new C(6,117),new C(4,118)),new S(28,new C(6,45),new C(14,46)),new S(30,new C(11,24),new C(16,25)),new S(30,new C(30,16),new C(2,17))),new Z(25,Int32Array.from([6,32,58,84,110]),new S(26,new C(8,106),new C(4,107)),new S(28,new C(8,47),new C(13,48)),new S(30,new C(7,24),new C(22,25)),new S(30,new C(22,15),new C(13,16))),new Z(26,Int32Array.from([6,30,58,86,114]),new S(28,new C(10,114),new C(2,115)),new S(28,new C(19,46),new C(4,47)),new S(28,new C(28,22),new C(6,23)),new S(30,new C(33,16),new C(4,17))),new Z(27,Int32Array.from([6,34,62,90,118]),new S(30,new C(8,122),new C(4,123)),new S(28,new C(22,45),new C(3,46)),new S(30,new C(8,23),new C(26,24)),new S(30,new C(12,15),new C(28,16))),new Z(28,Int32Array.from([6,26,50,74,98,122]),new S(30,new C(3,117),new C(10,118)),new S(28,new C(3,45),new C(23,46)),new S(30,new C(4,24),new C(31,25)),new S(30,new C(11,15),new C(31,16))),new Z(29,Int32Array.from([6,30,54,78,102,126]),new S(30,new C(7,116),new C(7,117)),new S(28,new C(21,45),new C(7,46)),new S(30,new C(1,23),new C(37,24)),new S(30,new C(19,15),new C(26,16))),new Z(30,Int32Array.from([6,26,52,78,104,130]),new S(30,new C(5,115),new C(10,116)),new S(28,new C(19,47),new C(10,48)),new S(30,new C(15,24),new C(25,25)),new S(30,new C(23,15),new C(25,16))),new Z(31,Int32Array.from([6,30,56,82,108,134]),new S(30,new C(13,115),new C(3,116)),new S(28,new C(2,46),new C(29,47)),new S(30,new C(42,24),new C(1,25)),new S(30,new C(23,15),new C(28,16))),new Z(32,Int32Array.from([6,34,60,86,112,138]),new S(30,new C(17,115)),new S(28,new C(10,46),new C(23,47)),new S(30,new C(10,24),new C(35,25)),new S(30,new C(19,15),new C(35,16))),new Z(33,Int32Array.from([6,30,58,86,114,142]),new S(30,new C(17,115),new C(1,116)),new S(28,new C(14,46),new C(21,47)),new S(30,new C(29,24),new C(19,25)),new S(30,new C(11,15),new C(46,16))),new Z(34,Int32Array.from([6,34,62,90,118,146]),new S(30,new C(13,115),new C(6,116)),new S(28,new C(14,46),new C(23,47)),new S(30,new C(44,24),new C(7,25)),new S(30,new C(59,16),new C(1,17))),new Z(35,Int32Array.from([6,30,54,78,102,126,150]),new S(30,new C(12,121),new C(7,122)),new S(28,new C(12,47),new C(26,48)),new S(30,new C(39,24),new C(14,25)),new S(30,new C(22,15),new C(41,16))),new Z(36,Int32Array.from([6,24,50,76,102,128,154]),new S(30,new C(6,121),new C(14,122)),new S(28,new C(6,47),new C(34,48)),new S(30,new C(46,24),new C(10,25)),new S(30,new C(2,15),new C(64,16))),new Z(37,Int32Array.from([6,28,54,80,106,132,158]),new S(30,new C(17,122),new C(4,123)),new S(28,new C(29,46),new C(14,47)),new S(30,new C(49,24),new C(10,25)),new S(30,new C(24,15),new C(46,16))),new Z(38,Int32Array.from([6,32,58,84,110,136,162]),new S(30,new C(4,122),new C(18,123)),new S(28,new C(13,46),new C(32,47)),new S(30,new C(48,24),new C(14,25)),new S(30,new C(42,15),new C(32,16))),new Z(39,Int32Array.from([6,26,54,82,110,138,166]),new S(30,new C(20,117),new C(4,118)),new S(28,new C(40,47),new C(7,48)),new S(30,new C(43,24),new C(22,25)),new S(30,new C(10,15),new C(67,16))),new Z(40,Int32Array.from([6,30,58,86,114,142,170]),new S(30,new C(19,118),new C(6,119)),new S(28,new C(18,47),new C(31,48)),new S(30,new C(34,24),new C(34,25)),new S(30,new C(20,15),new C(61,16)))];var Xe;(function(h){h[h.DATA_MASK_000=0]="DATA_MASK_000",h[h.DATA_MASK_001=1]="DATA_MASK_001",h[h.DATA_MASK_010=2]="DATA_MASK_010",h[h.DATA_MASK_011=3]="DATA_MASK_011",h[h.DATA_MASK_100=4]="DATA_MASK_100",h[h.DATA_MASK_101=5]="DATA_MASK_101",h[h.DATA_MASK_110=6]="DATA_MASK_110",h[h.DATA_MASK_111=7]="DATA_MASK_111"})(Xe||(Xe={}));class dt{constructor(e,t){this.value=e,this.isMasked=t}unmaskBitMatrix(e,t){for(let n=0;n<t;n++)for(let r=0;r<t;r++)this.isMasked(n,r)&&e.flip(r,n)}}dt.values=new Map([[Xe.DATA_MASK_000,new dt(Xe.DATA_MASK_000,(h,e)=>(h+e&1)===0)],[Xe.DATA_MASK_001,new dt(Xe.DATA_MASK_001,(h,e)=>(h&1)===0)],[Xe.DATA_MASK_010,new dt(Xe.DATA_MASK_010,(h,e)=>e%3===0)],[Xe.DATA_MASK_011,new dt(Xe.DATA_MASK_011,(h,e)=>(h+e)%3===0)],[Xe.DATA_MASK_100,new dt(Xe.DATA_MASK_100,(h,e)=>(Math.floor(h/2)+Math.floor(e/3)&1)===0)],[Xe.DATA_MASK_101,new dt(Xe.DATA_MASK_101,(h,e)=>h*e%6===0)],[Xe.DATA_MASK_110,new dt(Xe.DATA_MASK_110,(h,e)=>h*e%6<3)],[Xe.DATA_MASK_111,new dt(Xe.DATA_MASK_111,(h,e)=>(h+e+h*e%3&1)===0)]]);class pi{constructor(e){const t=e.getHeight();if(t<21||(t&3)!==1)throw new U;this.bitMatrix=e}readFormatInformation(){if(this.parsedFormatInfo!==null&&this.parsedFormatInfo!==void 0)return this.parsedFormatInfo;let e=0;for(let i=0;i<6;i++)e=this.copyBit(i,8,e);e=this.copyBit(7,8,e),e=this.copyBit(8,8,e),e=this.copyBit(8,7,e);for(let i=5;i>=0;i--)e=this.copyBit(8,i,e);const t=this.bitMatrix.getHeight();let n=0;const r=t-7;for(let i=t-1;i>=r;i--)n=this.copyBit(8,i,n);for(let i=t-8;i<t;i++)n=this.copyBit(i,8,n);if(this.parsedFormatInfo=Je.decodeFormatInformation(e,n),this.parsedFormatInfo!==null)return this.parsedFormatInfo;throw new U}readVersion(){if(this.parsedVersion!==null&&this.parsedVersion!==void 0)return this.parsedVersion;const e=this.bitMatrix.getHeight(),t=Math.floor((e-17)/4);if(t<=6)return Z.getVersionForNumber(t);let n=0;const r=e-11;for(let s=5;s>=0;s--)for(let o=e-9;o>=r;o--)n=this.copyBit(o,s,n);let i=Z.decodeVersionInformation(n);if(i!==null&&i.getDimensionForVersion()===e)return this.parsedVersion=i,i;n=0;for(let s=5;s>=0;s--)for(let o=e-9;o>=r;o--)n=this.copyBit(s,o,n);if(i=Z.decodeVersionInformation(n),i!==null&&i.getDimensionForVersion()===e)return this.parsedVersion=i,i;throw new U}copyBit(e,t,n){return(this.isMirror?this.bitMatrix.get(t,e):this.bitMatrix.get(e,t))?n<<1|1:n<<1}readCodewords(){const e=this.readFormatInformation(),t=this.readVersion(),n=dt.values.get(e.getDataMask()),r=this.bitMatrix.getHeight();n.unmaskBitMatrix(this.bitMatrix,r);const i=t.buildFunctionPattern();let s=!0;const o=new Uint8Array(t.getTotalCodewords());let a=0,l=0,c=0;for(let f=r-1;f>0;f-=2){f===6&&f--;for(let w=0;w<r;w++){const E=s?r-1-w:w;for(let p=0;p<2;p++)i.get(f-p,E)||(c++,l<<=1,this.bitMatrix.get(f-p,E)&&(l|=1),c===8&&(o[a++]=l,c=0,l=0))}s=!s}if(a!==t.getTotalCodewords())throw new U;return o}remask(){if(this.parsedFormatInfo===null)return;const e=dt.values[this.parsedFormatInfo.getDataMask()],t=this.bitMatrix.getHeight();e.unmaskBitMatrix(this.bitMatrix,t)}setMirror(e){this.parsedVersion=null,this.parsedFormatInfo=null,this.isMirror=e}mirror(){const e=this.bitMatrix;for(let t=0,n=e.getWidth();t<n;t++)for(let r=t+1,i=e.getHeight();r<i;r++)e.get(t,r)!==e.get(r,t)&&(e.flip(r,t),e.flip(t,r))}}class nr{constructor(e,t){this.numDataCodewords=e,this.codewords=t}static getDataBlocks(e,t,n){if(e.length!==t.getTotalCodewords())throw new R;const r=t.getECBlocksForLevel(n);let i=0;const s=r.getECBlocks();for(const p of s)i+=p.getCount();const o=new Array(i);let a=0;for(const p of s)for(let b=0;b<p.getCount();b++){const y=p.getDataCodewords(),O=r.getECCodewordsPerBlock()+y;o[a++]=new nr(y,new Uint8Array(O))}const l=o[0].codewords.length;let c=o.length-1;for(;c>=0&&o[c].codewords.length!==l;)c--;c++;const f=l-r.getECCodewordsPerBlock();let w=0;for(let p=0;p<f;p++)for(let b=0;b<a;b++)o[b].codewords[p]=e[w++];for(let p=c;p<a;p++)o[p].codewords[f]=e[w++];const E=o[0].codewords.length;for(let p=f;p<E;p++)for(let b=0;b<a;b++){const y=b<c?p:p+1;o[b].codewords[y]=e[w++]}return o}getNumDataCodewords(){return this.numDataCodewords}getCodewords(){return this.codewords}}var xt;(function(h){h[h.TERMINATOR=0]="TERMINATOR",h[h.NUMERIC=1]="NUMERIC",h[h.ALPHANUMERIC=2]="ALPHANUMERIC",h[h.STRUCTURED_APPEND=3]="STRUCTURED_APPEND",h[h.BYTE=4]="BYTE",h[h.ECI=5]="ECI",h[h.KANJI=6]="KANJI",h[h.FNC1_FIRST_POSITION=7]="FNC1_FIRST_POSITION",h[h.FNC1_SECOND_POSITION=8]="FNC1_SECOND_POSITION",h[h.HANZI=9]="HANZI"})(xt||(xt={}));class K{constructor(e,t,n,r){this.value=e,this.stringValue=t,this.characterCountBitsForVersions=n,this.bits=r,K.FOR_BITS.set(r,this),K.FOR_VALUE.set(e,this)}static forBits(e){const t=K.FOR_BITS.get(e);if(t===void 0)throw new R;return t}getCharacterCountBits(e){const t=e.getVersionNumber();let n;return t<=9?n=0:t<=26?n=1:n=2,this.characterCountBitsForVersions[n]}getValue(){return this.value}getBits(){return this.bits}equals(e){if(!(e instanceof K))return!1;const t=e;return this.value===t.value}toString(){return this.stringValue}}K.FOR_BITS=new Map,K.FOR_VALUE=new Map,K.TERMINATOR=new K(xt.TERMINATOR,"TERMINATOR",Int32Array.from([0,0,0]),0),K.NUMERIC=new K(xt.NUMERIC,"NUMERIC",Int32Array.from([10,12,14]),1),K.ALPHANUMERIC=new K(xt.ALPHANUMERIC,"ALPHANUMERIC",Int32Array.from([9,11,13]),2),K.STRUCTURED_APPEND=new K(xt.STRUCTURED_APPEND,"STRUCTURED_APPEND",Int32Array.from([0,0,0]),3),K.BYTE=new K(xt.BYTE,"BYTE",Int32Array.from([8,16,16]),4),K.ECI=new K(xt.ECI,"ECI",Int32Array.from([0,0,0]),7),K.KANJI=new K(xt.KANJI,"KANJI",Int32Array.from([8,10,12]),8),K.FNC1_FIRST_POSITION=new K(xt.FNC1_FIRST_POSITION,"FNC1_FIRST_POSITION",Int32Array.from([0,0,0]),5),K.FNC1_SECOND_POSITION=new K(xt.FNC1_SECOND_POSITION,"FNC1_SECOND_POSITION",Int32Array.from([0,0,0]),9),K.HANZI=new K(xt.HANZI,"HANZI",Int32Array.from([8,10,12]),13);class Ne{static decode(e,t,n,r){const i=new tr(e);let s=new he;const o=new Array;let a=-1,l=-1;try{let c=null,f=!1,w;do{if(i.available()<4)w=K.TERMINATOR;else{const E=i.readBits(4);w=K.forBits(E)}switch(w){case K.TERMINATOR:break;case K.FNC1_FIRST_POSITION:case K.FNC1_SECOND_POSITION:f=!0;break;case K.STRUCTURED_APPEND:if(i.available()<16)throw new U;a=i.readBits(8),l=i.readBits(8);break;case K.ECI:const E=Ne.parseECIValue(i);if(c=P.getCharacterSetECIByValue(E),c===null)throw new U;break;case K.HANZI:const p=i.readBits(4),b=i.readBits(w.getCharacterCountBits(t));p===Ne.GB2312_SUBSET&&Ne.decodeHanziSegment(i,s,b);break;default:const y=i.readBits(w.getCharacterCountBits(t));switch(w){case K.NUMERIC:Ne.decodeNumericSegment(i,s,y);break;case K.ALPHANUMERIC:Ne.decodeAlphanumericSegment(i,s,y,f);break;case K.BYTE:Ne.decodeByteSegment(i,s,y,c,o,r);break;case K.KANJI:Ne.decodeKanjiSegment(i,s,y);break;default:throw new U}break}}while(w!==K.TERMINATOR)}catch{throw new U}return new an(e,s.toString(),o.length===0?null:o,n===null?null:n.toString(),a,l)}static decodeHanziSegment(e,t,n){if(n*13>e.available())throw new U;const r=new Uint8Array(2*n);let i=0;for(;n>0;){const s=e.readBits(13);let o=s/96<<8&4294967295|s%96;o<959?o+=41377:o+=42657,r[i]=o>>8&255,r[i+1]=o&255,i+=2,n--}try{t.append(Fe.decode(r,z.GB2312))}catch(s){throw new U(s)}}static decodeKanjiSegment(e,t,n){if(n*13>e.available())throw new U;const r=new Uint8Array(2*n);let i=0;for(;n>0;){const s=e.readBits(13);let o=s/192<<8&4294967295|s%192;o<7936?o+=33088:o+=49472,r[i]=o>>8,r[i+1]=o,i+=2,n--}try{t.append(Fe.decode(r,z.SHIFT_JIS))}catch(s){throw new U(s)}}static decodeByteSegment(e,t,n,r,i,s){if(8*n>e.available())throw new U;const o=new Uint8Array(n);for(let l=0;l<n;l++)o[l]=e.readBits(8);let a;r===null?a=z.guessEncoding(o,s):a=r.getName();try{t.append(Fe.decode(o,a))}catch(l){throw new U(l)}i.push(o)}static toAlphaNumericChar(e){if(e>=Ne.ALPHANUMERIC_CHARS.length)throw new U;return Ne.ALPHANUMERIC_CHARS[e]}static decodeAlphanumericSegment(e,t,n,r){const i=t.length();for(;n>1;){if(e.available()<11)throw new U;const s=e.readBits(11);t.append(Ne.toAlphaNumericChar(Math.floor(s/45))),t.append(Ne.toAlphaNumericChar(s%45)),n-=2}if(n===1){if(e.available()<6)throw new U;t.append(Ne.toAlphaNumericChar(e.readBits(6)))}if(r)for(let s=i;s<t.length();s++)t.charAt(s)==="%"&&(s<t.length()-1&&t.charAt(s+1)==="%"?t.deleteCharAt(s+1):t.setCharAt(s,String.fromCharCode(29)))}static decodeNumericSegment(e,t,n){for(;n>=3;){if(e.available()<10)throw new U;const r=e.readBits(10);if(r>=1e3)throw new U;t.append(Ne.toAlphaNumericChar(Math.floor(r/100))),t.append(Ne.toAlphaNumericChar(Math.floor(r/10)%10)),t.append(Ne.toAlphaNumericChar(r%10)),n-=3}if(n===2){if(e.available()<7)throw new U;const r=e.readBits(7);if(r>=100)throw new U;t.append(Ne.toAlphaNumericChar(Math.floor(r/10))),t.append(Ne.toAlphaNumericChar(r%10))}else if(n===1){if(e.available()<4)throw new U;const r=e.readBits(4);if(r>=10)throw new U;t.append(Ne.toAlphaNumericChar(r))}}static parseECIValue(e){const t=e.readBits(8);if(!(t&128))return t&127;if((t&192)===128){const n=e.readBits(8);return(t&63)<<8&4294967295|n}if((t&224)===192){const n=e.readBits(16);return(t&31)<<16&4294967295|n}throw new U}}Ne.ALPHANUMERIC_CHARS="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",Ne.GB2312_SUBSET=1;class Mr{constructor(e){this.mirrored=e}isMirrored(){return this.mirrored}applyMirroredCorrection(e){if(!this.mirrored||e===null||e.length<3)return;const t=e[0];e[0]=e[2],e[2]=t}}class bi{constructor(){this.rsDecoder=new cn(xe.QR_CODE_FIELD_256)}decodeBooleanArray(e,t){return this.decodeBitMatrix(Me.parseFromBooleanArray(e),t)}decodeBitMatrix(e,t){const n=new pi(e);let r=null;try{return this.decodeBitMatrixParser(n,t)}catch(i){r=i}try{n.remask(),n.setMirror(!0),n.readVersion(),n.readFormatInformation(),n.mirror();const i=this.decodeBitMatrixParser(n,t);return i.setOther(new Mr(!0)),i}catch(i){throw r!==null?r:i}}decodeBitMatrixParser(e,t){const n=e.readVersion(),r=e.readFormatInformation().getErrorCorrectionLevel(),i=e.readCodewords(),s=nr.getDataBlocks(i,n,r);let o=0;for(const c of s)o+=c.getNumDataCodewords();const a=new Uint8Array(o);let l=0;for(const c of s){const f=c.getCodewords(),w=c.getNumDataCodewords();this.correctErrors(f,w);for(let E=0;E<w;E++)a[l++]=f[E]}return Ne.decode(a,n,r,t)}correctErrors(e,t){const n=new Int32Array(e);try{this.rsDecoder.decode(n,e.length-t)}catch{throw new $}for(let r=0;r<t;r++)e[r]=n[r]}}class rr extends X{constructor(e,t,n){super(e,t),this.estimatedModuleSize=n}aboutEquals(e,t,n){if(Math.abs(t-this.getY())<=e&&Math.abs(n-this.getX())<=e){const r=Math.abs(e-this.estimatedModuleSize);return r<=1||r<=this.estimatedModuleSize}return!1}combineEstimate(e,t,n){const r=(this.getX()+t)/2,i=(this.getY()+e)/2,s=(this.estimatedModuleSize+n)/2;return new rr(r,i,s)}}class Dn{constructor(e,t,n,r,i,s,o){this.image=e,this.startX=t,this.startY=n,this.width=r,this.height=i,this.moduleSize=s,this.resultPointCallback=o,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(3)}find(){const e=this.startX,t=this.height,n=this.width,r=e+n,i=this.startY+t/2,s=new Int32Array(3),o=this.image;for(let a=0;a<t;a++){const l=i+(a&1?-Math.floor((a+1)/2):Math.floor((a+1)/2));s[0]=0,s[1]=0,s[2]=0;let c=e;for(;c<r&&!o.get(c,l);)c++;let f=0;for(;c<r;){if(o.get(c,l))if(f===1)s[1]++;else if(f===2){if(this.foundPatternCross(s)){const w=this.handlePossibleCenter(s,l,c);if(w!==null)return w}s[0]=s[2],s[1]=1,s[2]=0,f=1}else s[++f]++;else f===1&&f++,s[f]++;c++}if(this.foundPatternCross(s)){const w=this.handlePossibleCenter(s,l,r);if(w!==null)return w}}if(this.possibleCenters.length!==0)return this.possibleCenters[0];throw new D}static centerFromEnd(e,t){return t-e[2]-e[1]/2}foundPatternCross(e){const t=this.moduleSize,n=t/2;for(let r=0;r<3;r++)if(Math.abs(t-e[r])>=n)return!1;return!0}crossCheckVertical(e,t,n,r){const i=this.image,s=i.getHeight(),o=this.crossCheckStateCount;o[0]=0,o[1]=0,o[2]=0;let a=e;for(;a>=0&&i.get(t,a)&&o[1]<=n;)o[1]++,a--;if(a<0||o[1]>n)return NaN;for(;a>=0&&!i.get(t,a)&&o[0]<=n;)o[0]++,a--;if(o[0]>n)return NaN;for(a=e+1;a<s&&i.get(t,a)&&o[1]<=n;)o[1]++,a++;if(a===s||o[1]>n)return NaN;for(;a<s&&!i.get(t,a)&&o[2]<=n;)o[2]++,a++;if(o[2]>n)return NaN;const l=o[0]+o[1]+o[2];return 5*Math.abs(l-r)>=2*r?NaN:this.foundPatternCross(o)?Dn.centerFromEnd(o,a):NaN}handlePossibleCenter(e,t,n){const r=e[0]+e[1]+e[2],i=Dn.centerFromEnd(e,n),s=this.crossCheckVertical(t,i,2*e[1],r);if(!isNaN(s)){const o=(e[0]+e[1]+e[2])/3;for(const l of this.possibleCenters)if(l.aboutEquals(o,s,i))return l.combineEstimate(s,i,o);const a=new rr(i,s,o);this.possibleCenters.push(a),this.resultPointCallback!==null&&this.resultPointCallback!==void 0&&this.resultPointCallback.foundPossibleResultPoint(a)}return null}}class ir extends X{constructor(e,t,n,r){super(e,t),this.estimatedModuleSize=n,this.count=r,r===void 0&&(this.count=1)}getEstimatedModuleSize(){return this.estimatedModuleSize}getCount(){return this.count}aboutEquals(e,t,n){if(Math.abs(t-this.getY())<=e&&Math.abs(n-this.getX())<=e){const r=Math.abs(e-this.estimatedModuleSize);return r<=1||r<=this.estimatedModuleSize}return!1}combineEstimate(e,t,n){const r=this.count+1,i=(this.count*this.getX()+t)/r,s=(this.count*this.getY()+e)/r,o=(this.count*this.estimatedModuleSize+n)/r;return new ir(i,s,o,r)}}class Ti{constructor(e){this.bottomLeft=e[0],this.topLeft=e[1],this.topRight=e[2]}getBottomLeft(){return this.bottomLeft}getTopLeft(){return this.topLeft}getTopRight(){return this.topRight}}class Ye{constructor(e,t){this.image=e,this.resultPointCallback=t,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(5),this.resultPointCallback=t}getImage(){return this.image}getPossibleCenters(){return this.possibleCenters}find(e){const t=e!=null&&e.get(ue.TRY_HARDER)!==void 0,n=e!=null&&e.get(ue.PURE_BARCODE)!==void 0,r=this.image,i=r.getHeight(),s=r.getWidth();let o=Math.floor(3*i/(4*Ye.MAX_MODULES));(o<Ye.MIN_SKIP||t)&&(o=Ye.MIN_SKIP);let a=!1;const l=new Int32Array(5);for(let f=o-1;f<i&&!a;f+=o){l[0]=0,l[1]=0,l[2]=0,l[3]=0,l[4]=0;let w=0;for(let E=0;E<s;E++)if(r.get(E,f))(w&1)===1&&w++,l[w]++;else if(w&1)l[w]++;else if(w===4)if(Ye.foundPatternCross(l)){if(this.handlePossibleCenter(l,f,E,n)===!0)if(o=2,this.hasSkipped===!0)a=this.haveMultiplyConfirmedCenters();else{const b=this.findRowSkip();b>l[2]&&(f+=b-l[2]-o,E=s-1)}else{l[0]=l[2],l[1]=l[3],l[2]=l[4],l[3]=1,l[4]=0,w=3;continue}w=0,l[0]=0,l[1]=0,l[2]=0,l[3]=0,l[4]=0}else l[0]=l[2],l[1]=l[3],l[2]=l[4],l[3]=1,l[4]=0,w=3;else l[++w]++;Ye.foundPatternCross(l)&&this.handlePossibleCenter(l,f,s,n)===!0&&(o=l[0],this.hasSkipped&&(a=this.haveMultiplyConfirmedCenters()))}const c=this.selectBestPatterns();return X.orderBestPatterns(c),new Ti(c)}static centerFromEnd(e,t){return t-e[4]-e[3]-e[2]/2}static foundPatternCross(e){let t=0;for(let i=0;i<5;i++){const s=e[i];if(s===0)return!1;t+=s}if(t<7)return!1;const n=t/7,r=n/2;return Math.abs(n-e[0])<r&&Math.abs(n-e[1])<r&&Math.abs(3*n-e[2])<3*r&&Math.abs(n-e[3])<r&&Math.abs(n-e[4])<r}getCrossCheckStateCount(){const e=this.crossCheckStateCount;return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e}crossCheckDiagonal(e,t,n,r){const i=this.getCrossCheckStateCount();let s=0;const o=this.image;for(;e>=s&&t>=s&&o.get(t-s,e-s);)i[2]++,s++;if(e<s||t<s)return!1;for(;e>=s&&t>=s&&!o.get(t-s,e-s)&&i[1]<=n;)i[1]++,s++;if(e<s||t<s||i[1]>n)return!1;for(;e>=s&&t>=s&&o.get(t-s,e-s)&&i[0]<=n;)i[0]++,s++;if(i[0]>n)return!1;const a=o.getHeight(),l=o.getWidth();for(s=1;e+s<a&&t+s<l&&o.get(t+s,e+s);)i[2]++,s++;if(e+s>=a||t+s>=l)return!1;for(;e+s<a&&t+s<l&&!o.get(t+s,e+s)&&i[3]<n;)i[3]++,s++;if(e+s>=a||t+s>=l||i[3]>=n)return!1;for(;e+s<a&&t+s<l&&o.get(t+s,e+s)&&i[4]<n;)i[4]++,s++;if(i[4]>=n)return!1;const c=i[0]+i[1]+i[2]+i[3]+i[4];return Math.abs(c-r)<2*r&&Ye.foundPatternCross(i)}crossCheckVertical(e,t,n,r){const i=this.image,s=i.getHeight(),o=this.getCrossCheckStateCount();let a=e;for(;a>=0&&i.get(t,a);)o[2]++,a--;if(a<0)return NaN;for(;a>=0&&!i.get(t,a)&&o[1]<=n;)o[1]++,a--;if(a<0||o[1]>n)return NaN;for(;a>=0&&i.get(t,a)&&o[0]<=n;)o[0]++,a--;if(o[0]>n)return NaN;for(a=e+1;a<s&&i.get(t,a);)o[2]++,a++;if(a===s)return NaN;for(;a<s&&!i.get(t,a)&&o[3]<n;)o[3]++,a++;if(a===s||o[3]>=n)return NaN;for(;a<s&&i.get(t,a)&&o[4]<n;)o[4]++,a++;if(o[4]>=n)return NaN;const l=o[0]+o[1]+o[2]+o[3]+o[4];return 5*Math.abs(l-r)>=2*r?NaN:Ye.foundPatternCross(o)?Ye.centerFromEnd(o,a):NaN}crossCheckHorizontal(e,t,n,r){const i=this.image,s=i.getWidth(),o=this.getCrossCheckStateCount();let a=e;for(;a>=0&&i.get(a,t);)o[2]++,a--;if(a<0)return NaN;for(;a>=0&&!i.get(a,t)&&o[1]<=n;)o[1]++,a--;if(a<0||o[1]>n)return NaN;for(;a>=0&&i.get(a,t)&&o[0]<=n;)o[0]++,a--;if(o[0]>n)return NaN;for(a=e+1;a<s&&i.get(a,t);)o[2]++,a++;if(a===s)return NaN;for(;a<s&&!i.get(a,t)&&o[3]<n;)o[3]++,a++;if(a===s||o[3]>=n)return NaN;for(;a<s&&i.get(a,t)&&o[4]<n;)o[4]++,a++;if(o[4]>=n)return NaN;const l=o[0]+o[1]+o[2]+o[3]+o[4];return 5*Math.abs(l-r)>=r?NaN:Ye.foundPatternCross(o)?Ye.centerFromEnd(o,a):NaN}handlePossibleCenter(e,t,n,r){const i=e[0]+e[1]+e[2]+e[3]+e[4];let s=Ye.centerFromEnd(e,n),o=this.crossCheckVertical(t,Math.floor(s),e[2],i);if(!isNaN(o)&&(s=this.crossCheckHorizontal(Math.floor(s),Math.floor(o),e[2],i),!isNaN(s)&&(!r||this.crossCheckDiagonal(Math.floor(o),Math.floor(s),e[2],i)))){const a=i/7;let l=!1;const c=this.possibleCenters;for(let f=0,w=c.length;f<w;f++){const E=c[f];if(E.aboutEquals(a,o,s)){c[f]=E.combineEstimate(o,s,a),l=!0;break}}if(!l){const f=new ir(s,o,a);c.push(f),this.resultPointCallback!==null&&this.resultPointCallback!==void 0&&this.resultPointCallback.foundPossibleResultPoint(f)}return!0}return!1}findRowSkip(){if(this.possibleCenters.length<=1)return 0;let t=null;for(const n of this.possibleCenters)if(n.getCount()>=Ye.CENTER_QUORUM)if(t==null)t=n;else return this.hasSkipped=!0,Math.floor((Math.abs(t.getX()-n.getX())-Math.abs(t.getY()-n.getY()))/2);return 0}haveMultiplyConfirmedCenters(){let e=0,t=0;const n=this.possibleCenters.length;for(const s of this.possibleCenters)s.getCount()>=Ye.CENTER_QUORUM&&(e++,t+=s.getEstimatedModuleSize());if(e<3)return!1;const r=t/n;let i=0;for(const s of this.possibleCenters)i+=Math.abs(s.getEstimatedModuleSize()-r);return i<=.05*t}selectBestPatterns(){const e=this.possibleCenters.length;if(e<3)throw new D;const t=this.possibleCenters;let n;if(e>3){let r=0,i=0;for(const a of this.possibleCenters){const l=a.getEstimatedModuleSize();r+=l,i+=l*l}n=r/e;let s=Math.sqrt(i/e-n*n);t.sort((a,l)=>{const c=Math.abs(l.getEstimatedModuleSize()-n),f=Math.abs(a.getEstimatedModuleSize()-n);return c<f?-1:c>f?1:0});const o=Math.max(.2*n,s);for(let a=0;a<t.length&&t.length>3;a++){const l=t[a];Math.abs(l.getEstimatedModuleSize()-n)>o&&(t.splice(a,1),a--)}}if(t.length>3){let r=0;for(const i of t)r+=i.getEstimatedModuleSize();n=r/t.length,t.sort((i,s)=>{if(s.getCount()===i.getCount()){const o=Math.abs(s.getEstimatedModuleSize()-n),a=Math.abs(i.getEstimatedModuleSize()-n);return o<a?1:o>a?-1:0}else return s.getCount()-i.getCount()}),t.splice(3)}return[t[0],t[1],t[2]]}}Ye.CENTER_QUORUM=2,Ye.MIN_SKIP=3,Ye.MAX_MODULES=57;class hn{constructor(e){this.image=e}getImage(){return this.image}getResultPointCallback(){return this.resultPointCallback}detect(e){this.resultPointCallback=e==null?null:e.get(ue.NEED_RESULT_POINT_CALLBACK);const n=new Ye(this.image,this.resultPointCallback).find(e);return this.processFinderPatternInfo(n)}processFinderPatternInfo(e){const t=e.getTopLeft(),n=e.getTopRight(),r=e.getBottomLeft(),i=this.calculateModuleSize(t,n,r);if(i<1)throw new D("No pattern found in proccess finder.");const s=hn.computeDimension(t,n,r,i),o=Z.getProvisionalVersionForDimension(s),a=o.getDimensionForVersion()-7;let l=null;if(o.getAlignmentPatternCenters().length>0){const E=n.getX()-t.getX()+r.getX(),p=n.getY()-t.getY()+r.getY(),b=1-3/a,y=Math.floor(t.getX()+b*(E-t.getX())),O=Math.floor(t.getY()+b*(p-t.getY()));for(let F=4;F<=16;F<<=1)try{l=this.findAlignmentInRegion(i,y,O,F);break}catch(k){if(!(k instanceof D))throw k}}const c=hn.createTransform(t,n,r,l,s),f=hn.sampleGrid(this.image,c,s);let w;return l===null?w=[r,t,n]:w=[r,t,n,l],new Sn(f,w)}static createTransform(e,t,n,r,i){const s=i-3.5;let o,a,l,c;return r!==null?(o=r.getX(),a=r.getY(),l=s-3,c=l):(o=t.getX()-e.getX()+n.getX(),a=t.getY()-e.getY()+n.getY(),l=s,c=s),wt.quadrilateralToQuadrilateral(3.5,3.5,s,3.5,l,c,3.5,s,e.getX(),e.getY(),t.getX(),t.getY(),o,a,n.getX(),n.getY())}static sampleGrid(e,t,n){return Dt.getInstance().sampleGridWithTransform(e,n,n,t)}static computeDimension(e,t,n,r){const i=fe.round(X.distance(e,t)/r),s=fe.round(X.distance(e,n)/r);let o=Math.floor((i+s)/2)+7;switch(o&3){case 0:o++;break;case 2:o--;break;case 3:throw new D("Dimensions could be not found.")}return o}calculateModuleSize(e,t,n){return(this.calculateModuleSizeOneWay(e,t)+this.calculateModuleSizeOneWay(e,n))/2}calculateModuleSizeOneWay(e,t){const n=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(e.getX()),Math.floor(e.getY()),Math.floor(t.getX()),Math.floor(t.getY())),r=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(t.getX()),Math.floor(t.getY()),Math.floor(e.getX()),Math.floor(e.getY()));return isNaN(n)?r/7:isNaN(r)?n/7:(n+r)/14}sizeOfBlackWhiteBlackRunBothWays(e,t,n,r){let i=this.sizeOfBlackWhiteBlackRun(e,t,n,r),s=1,o=e-(n-e);o<0?(s=e/(e-o),o=0):o>=this.image.getWidth()&&(s=(this.image.getWidth()-1-e)/(o-e),o=this.image.getWidth()-1);let a=Math.floor(t-(r-t)*s);return s=1,a<0?(s=t/(t-a),a=0):a>=this.image.getHeight()&&(s=(this.image.getHeight()-1-t)/(a-t),a=this.image.getHeight()-1),o=Math.floor(e+(o-e)*s),i+=this.sizeOfBlackWhiteBlackRun(e,t,o,a),i-1}sizeOfBlackWhiteBlackRun(e,t,n,r){const i=Math.abs(r-t)>Math.abs(n-e);if(i){let E=e;e=t,t=E,E=n,n=r,r=E}const s=Math.abs(n-e),o=Math.abs(r-t);let a=-s/2;const l=e<n?1:-1,c=t<r?1:-1;let f=0;const w=n+l;for(let E=e,p=t;E!==w;E+=l){const b=i?p:E,y=i?E:p;if(f===1===this.image.get(b,y)){if(f===2)return fe.distance(E,p,e,t);f++}if(a+=o,a>0){if(p===r)break;p+=c,a-=s}}return f===2?fe.distance(n+l,r,e,t):NaN}findAlignmentInRegion(e,t,n,r){const i=Math.floor(r*e),s=Math.max(0,t-i),o=Math.min(this.image.getWidth()-1,t+i);if(o-s<e*3)throw new D("Alignment top exceeds estimated module size.");const a=Math.max(0,n-i),l=Math.min(this.image.getHeight()-1,n+i);if(l-a<e*3)throw new D("Alignment bottom exceeds estimated module size.");return new Dn(this.image,s,a,o-s,l-a,e,this.resultPointCallback).find()}}class Pt{constructor(){this.decoder=new bi}getDecoder(){return this.decoder}decode(e,t){let n,r;if(t!=null&&t.get(ue.PURE_BARCODE)!==void 0){const a=Pt.extractPureBits(e.getBlackMatrix());n=this.decoder.decodeBitMatrix(a,t),r=Pt.NO_POINTS}else{const a=new hn(e.getBlackMatrix()).detect(t);n=this.decoder.decodeBitMatrix(a.getBits(),t),r=a.getPoints()}n.getOther()instanceof Mr&&n.getOther().applyMirroredCorrection(r);const i=new et(n.getText(),n.getRawBytes(),void 0,r,j.QR_CODE,void 0),s=n.getByteSegments();s!==null&&i.putMetadata(We.BYTE_SEGMENTS,s);const o=n.getECLevel();return o!==null&&i.putMetadata(We.ERROR_CORRECTION_LEVEL,o),n.hasStructuredAppend()&&(i.putMetadata(We.STRUCTURED_APPEND_SEQUENCE,n.getStructuredAppendSequenceNumber()),i.putMetadata(We.STRUCTURED_APPEND_PARITY,n.getStructuredAppendParity())),i}reset(){}static extractPureBits(e){const t=e.getTopLeftOnBit(),n=e.getBottomRightOnBit();if(t===null||n===null)throw new D;const r=this.moduleSize(t,e);let i=t[1],s=n[1],o=t[0],a=n[0];if(o>=a||i>=s)throw new D;if(s-i!==a-o&&(a=o+(s-i),a>=e.getWidth()))throw new D;const l=Math.round((a-o+1)/r),c=Math.round((s-i+1)/r);if(l<=0||c<=0)throw new D;if(c!==l)throw new D;const f=Math.floor(r/2);i+=f,o+=f;const w=o+Math.floor((l-1)*r)-a;if(w>0){if(w>f)throw new D;o-=w}const E=i+Math.floor((c-1)*r)-s;if(E>0){if(E>f)throw new D;i-=E}const p=new Me(l,c);for(let b=0;b<c;b++){const y=i+Math.floor(b*r);for(let O=0;O<l;O++)e.get(o+Math.floor(O*r),y)&&p.set(O,b)}return p}static moduleSize(e,t){const n=t.getHeight(),r=t.getWidth();let i=e[0],s=e[1],o=!0,a=0;for(;i<r&&s<n;){if(o!==t.get(i,s)){if(++a===5)break;o=!o}i++,s++}if(i===r||s===n)throw new D;return(i-e[0])/7}}Pt.NO_POINTS=new Array;class Q{PDF417Common(){}static getBitCountSum(e){return fe.sum(e)}static toIntArray(e){if(e==null||!e.length)return Q.EMPTY_INT_ARRAY;const t=new Int32Array(e.length);let n=0;for(const r of e)t[n++]=r;return t}static getCodeword(e){const t=J.binarySearch(Q.SYMBOL_TABLE,e&262143);return t<0?-1:(Q.CODEWORD_TABLE[t]-1)%Q.NUMBER_OF_CODEWORDS}}Q.NUMBER_OF_CODEWORDS=929,Q.MAX_CODEWORDS_IN_BARCODE=Q.NUMBER_OF_CODEWORDS-1,Q.MIN_ROWS_IN_BARCODE=3,Q.MAX_ROWS_IN_BARCODE=90,Q.MODULES_IN_CODEWORD=17,Q.MODULES_IN_STOP_PATTERN=18,Q.BARS_IN_MODULE=8,Q.EMPTY_INT_ARRAY=new Int32Array([]),Q.SYMBOL_TABLE=Int32Array.from([66142,66170,66206,66236,66290,66292,66350,66382,66396,66454,66470,66476,66594,66600,66614,66626,66628,66632,66640,66654,66662,66668,66682,66690,66718,66720,66748,66758,66776,66798,66802,66804,66820,66824,66832,66846,66848,66876,66880,66936,66950,66956,66968,66992,67006,67022,67036,67042,67044,67048,67062,67118,67150,67164,67214,67228,67256,67294,67322,67350,67366,67372,67398,67404,67416,67438,67474,67476,67490,67492,67496,67510,67618,67624,67650,67656,67664,67678,67686,67692,67706,67714,67716,67728,67742,67744,67772,67782,67788,67800,67822,67826,67828,67842,67848,67870,67872,67900,67904,67960,67974,67992,68016,68030,68046,68060,68066,68068,68072,68086,68104,68112,68126,68128,68156,68160,68216,68336,68358,68364,68376,68400,68414,68448,68476,68494,68508,68536,68546,68548,68552,68560,68574,68582,68588,68654,68686,68700,68706,68708,68712,68726,68750,68764,68792,68802,68804,68808,68816,68830,68838,68844,68858,68878,68892,68920,68976,68990,68994,68996,69e3,69008,69022,69024,69052,69062,69068,69080,69102,69106,69108,69142,69158,69164,69190,69208,69230,69254,69260,69272,69296,69310,69326,69340,69386,69394,69396,69410,69416,69430,69442,69444,69448,69456,69470,69478,69484,69554,69556,69666,69672,69698,69704,69712,69726,69754,69762,69764,69776,69790,69792,69820,69830,69836,69848,69870,69874,69876,69890,69918,69920,69948,69952,70008,70022,70040,70064,70078,70094,70108,70114,70116,70120,70134,70152,70174,70176,70264,70384,70412,70448,70462,70496,70524,70542,70556,70584,70594,70600,70608,70622,70630,70636,70664,70672,70686,70688,70716,70720,70776,70896,71136,71180,71192,71216,71230,71264,71292,71360,71416,71452,71480,71536,71550,71554,71556,71560,71568,71582,71584,71612,71622,71628,71640,71662,71726,71732,71758,71772,71778,71780,71784,71798,71822,71836,71864,71874,71880,71888,71902,71910,71916,71930,71950,71964,71992,72048,72062,72066,72068,72080,72094,72096,72124,72134,72140,72152,72174,72178,72180,72206,72220,72248,72304,72318,72416,72444,72456,72464,72478,72480,72508,72512,72568,72588,72600,72624,72638,72654,72668,72674,72676,72680,72694,72726,72742,72748,72774,72780,72792,72814,72838,72856,72880,72894,72910,72924,72930,72932,72936,72950,72966,72972,72984,73008,73022,73056,73084,73102,73116,73144,73156,73160,73168,73182,73190,73196,73210,73226,73234,73236,73250,73252,73256,73270,73282,73284,73296,73310,73318,73324,73346,73348,73352,73360,73374,73376,73404,73414,73420,73432,73454,73498,73518,73522,73524,73550,73564,73570,73572,73576,73590,73800,73822,73858,73860,73872,73886,73888,73916,73944,73970,73972,73992,74014,74016,74044,74048,74104,74118,74136,74160,74174,74210,74212,74216,74230,74244,74256,74270,74272,74360,74480,74502,74508,74544,74558,74592,74620,74638,74652,74680,74690,74696,74704,74726,74732,74782,74784,74812,74992,75232,75288,75326,75360,75388,75456,75512,75576,75632,75646,75650,75652,75664,75678,75680,75708,75718,75724,75736,75758,75808,75836,75840,75896,76016,76256,76736,76824,76848,76862,76896,76924,76992,77048,77296,77340,77368,77424,77438,77536,77564,77572,77576,77584,77600,77628,77632,77688,77702,77708,77720,77744,77758,77774,77788,77870,77902,77916,77922,77928,77966,77980,78008,78018,78024,78032,78046,78060,78074,78094,78136,78192,78206,78210,78212,78224,78238,78240,78268,78278,78284,78296,78322,78324,78350,78364,78448,78462,78560,78588,78600,78622,78624,78652,78656,78712,78726,78744,78768,78782,78798,78812,78818,78820,78824,78838,78862,78876,78904,78960,78974,79072,79100,79296,79352,79368,79376,79390,79392,79420,79424,79480,79600,79628,79640,79664,79678,79712,79740,79772,79800,79810,79812,79816,79824,79838,79846,79852,79894,79910,79916,79942,79948,79960,79982,79988,80006,80024,80048,80062,80078,80092,80098,80100,80104,80134,80140,80176,80190,80224,80252,80270,80284,80312,80328,80336,80350,80358,80364,80378,80390,80396,80408,80432,80446,80480,80508,80576,80632,80654,80668,80696,80752,80766,80776,80784,80798,80800,80828,80844,80856,80878,80882,80884,80914,80916,80930,80932,80936,80950,80962,80968,80976,80990,80998,81004,81026,81028,81040,81054,81056,81084,81094,81100,81112,81134,81154,81156,81160,81168,81182,81184,81212,81216,81272,81286,81292,81304,81328,81342,81358,81372,81380,81384,81398,81434,81454,81458,81460,81486,81500,81506,81508,81512,81526,81550,81564,81592,81602,81604,81608,81616,81630,81638,81644,81702,81708,81722,81734,81740,81752,81774,81778,81780,82050,82078,82080,82108,82180,82184,82192,82206,82208,82236,82240,82296,82316,82328,82352,82366,82402,82404,82408,82440,82448,82462,82464,82492,82496,82552,82672,82694,82700,82712,82736,82750,82784,82812,82830,82882,82884,82888,82896,82918,82924,82952,82960,82974,82976,83004,83008,83064,83184,83424,83468,83480,83504,83518,83552,83580,83648,83704,83740,83768,83824,83838,83842,83844,83848,83856,83872,83900,83910,83916,83928,83950,83984,84e3,84028,84032,84088,84208,84448,84928,85040,85054,85088,85116,85184,85240,85488,85560,85616,85630,85728,85756,85764,85768,85776,85790,85792,85820,85824,85880,85894,85900,85912,85936,85966,85980,86048,86080,86136,86256,86496,86976,88160,88188,88256,88312,88560,89056,89200,89214,89312,89340,89536,89592,89608,89616,89632,89664,89720,89840,89868,89880,89904,89952,89980,89998,90012,90040,90190,90204,90254,90268,90296,90306,90308,90312,90334,90382,90396,90424,90480,90494,90500,90504,90512,90526,90528,90556,90566,90572,90584,90610,90612,90638,90652,90680,90736,90750,90848,90876,90884,90888,90896,90910,90912,90940,90944,91e3,91014,91020,91032,91056,91070,91086,91100,91106,91108,91112,91126,91150,91164,91192,91248,91262,91360,91388,91584,91640,91664,91678,91680,91708,91712,91768,91888,91928,91952,91966,92e3,92028,92046,92060,92088,92098,92100,92104,92112,92126,92134,92140,92188,92216,92272,92384,92412,92608,92664,93168,93200,93214,93216,93244,93248,93304,93424,93664,93720,93744,93758,93792,93820,93888,93944,93980,94008,94064,94078,94084,94088,94096,94110,94112,94140,94150,94156,94168,94246,94252,94278,94284,94296,94318,94342,94348,94360,94384,94398,94414,94428,94440,94470,94476,94488,94512,94526,94560,94588,94606,94620,94648,94658,94660,94664,94672,94686,94694,94700,94714,94726,94732,94744,94768,94782,94816,94844,94912,94968,94990,95004,95032,95088,95102,95112,95120,95134,95136,95164,95180,95192,95214,95218,95220,95244,95256,95280,95294,95328,95356,95424,95480,95728,95758,95772,95800,95856,95870,95968,95996,96008,96016,96030,96032,96060,96064,96120,96152,96176,96190,96220,96226,96228,96232,96290,96292,96296,96310,96322,96324,96328,96336,96350,96358,96364,96386,96388,96392,96400,96414,96416,96444,96454,96460,96472,96494,96498,96500,96514,96516,96520,96528,96542,96544,96572,96576,96632,96646,96652,96664,96688,96702,96718,96732,96738,96740,96744,96758,96772,96776,96784,96798,96800,96828,96832,96888,97008,97030,97036,97048,97072,97086,97120,97148,97166,97180,97208,97220,97224,97232,97246,97254,97260,97326,97330,97332,97358,97372,97378,97380,97384,97398,97422,97436,97464,97474,97476,97480,97488,97502,97510,97516,97550,97564,97592,97648,97666,97668,97672,97680,97694,97696,97724,97734,97740,97752,97774,97830,97836,97850,97862,97868,97880,97902,97906,97908,97926,97932,97944,97968,97998,98012,98018,98020,98024,98038,98618,98674,98676,98838,98854,98874,98892,98904,98926,98930,98932,98968,99006,99042,99044,99048,99062,99166,99194,99246,99286,99350,99366,99372,99386,99398,99416,99438,99442,99444,99462,99504,99518,99534,99548,99554,99556,99560,99574,99590,99596,99608,99632,99646,99680,99708,99726,99740,99768,99778,99780,99784,99792,99806,99814,99820,99834,99858,99860,99874,99880,99894,99906,99920,99934,99962,99970,99972,99976,99984,99998,1e5,100028,100038,100044,100056,100078,100082,100084,100142,100174,100188,100246,100262,100268,100306,100308,100390,100396,100410,100422,100428,100440,100462,100466,100468,100486,100504,100528,100542,100558,100572,100578,100580,100584,100598,100620,100656,100670,100704,100732,100750,100792,100802,100808,100816,100830,100838,100844,100858,100888,100912,100926,100960,100988,101056,101112,101148,101176,101232,101246,101250,101252,101256,101264,101278,101280,101308,101318,101324,101336,101358,101362,101364,101410,101412,101416,101430,101442,101448,101456,101470,101478,101498,101506,101508,101520,101534,101536,101564,101580,101618,101620,101636,101640,101648,101662,101664,101692,101696,101752,101766,101784,101838,101858,101860,101864,101934,101938,101940,101966,101980,101986,101988,101992,102030,102044,102072,102082,102084,102088,102096,102138,102166,102182,102188,102214,102220,102232,102254,102282,102290,102292,102306,102308,102312,102326,102444,102458,102470,102476,102488,102514,102516,102534,102552,102576,102590,102606,102620,102626,102632,102646,102662,102668,102704,102718,102752,102780,102798,102812,102840,102850,102856,102864,102878,102886,102892,102906,102936,102974,103008,103036,103104,103160,103224,103280,103294,103298,103300,103312,103326,103328,103356,103366,103372,103384,103406,103410,103412,103472,103486,103520,103548,103616,103672,103920,103992,104048,104062,104160,104188,104194,104196,104200,104208,104224,104252,104256,104312,104326,104332,104344,104368,104382,104398,104412,104418,104420,104424,104482,104484,104514,104520,104528,104542,104550,104570,104578,104580,104592,104606,104608,104636,104652,104690,104692,104706,104712,104734,104736,104764,104768,104824,104838,104856,104910,104930,104932,104936,104968,104976,104990,104992,105020,105024,105080,105200,105240,105278,105312,105372,105410,105412,105416,105424,105446,105518,105524,105550,105564,105570,105572,105576,105614,105628,105656,105666,105672,105680,105702,105722,105742,105756,105784,105840,105854,105858,105860,105864,105872,105888,105932,105970,105972,106006,106022,106028,106054,106060,106072,106100,106118,106124,106136,106160,106174,106190,106210,106212,106216,106250,106258,106260,106274,106276,106280,106306,106308,106312,106320,106334,106348,106394,106414,106418,106420,106566,106572,106610,106612,106630,106636,106648,106672,106686,106722,106724,106728,106742,106758,106764,106776,106800,106814,106848,106876,106894,106908,106936,106946,106948,106952,106960,106974,106982,106988,107032,107056,107070,107104,107132,107200,107256,107292,107320,107376,107390,107394,107396,107400,107408,107422,107424,107452,107462,107468,107480,107502,107506,107508,107544,107568,107582,107616,107644,107712,107768,108016,108060,108088,108144,108158,108256,108284,108290,108292,108296,108304,108318,108320,108348,108352,108408,108422,108428,108440,108464,108478,108494,108508,108514,108516,108520,108592,108640,108668,108736,108792,109040,109536,109680,109694,109792,109820,110016,110072,110084,110088,110096,110112,110140,110144,110200,110320,110342,110348,110360,110384,110398,110432,110460,110478,110492,110520,110532,110536,110544,110558,110658,110686,110714,110722,110724,110728,110736,110750,110752,110780,110796,110834,110836,110850,110852,110856,110864,110878,110880,110908,110912,110968,110982,111e3,111054,111074,111076,111080,111108,111112,111120,111134,111136,111164,111168,111224,111344,111372,111422,111456,111516,111554,111556,111560,111568,111590,111632,111646,111648,111676,111680,111736,111856,112096,112152,112224,112252,112320,112440,112514,112516,112520,112528,112542,112544,112588,112686,112718,112732,112782,112796,112824,112834,112836,112840,112848,112870,112890,112910,112924,112952,113008,113022,113026,113028,113032,113040,113054,113056,113100,113138,113140,113166,113180,113208,113264,113278,113376,113404,113416,113424,113440,113468,113472,113560,113614,113634,113636,113640,113686,113702,113708,113734,113740,113752,113778,113780,113798,113804,113816,113840,113854,113870,113890,113892,113896,113926,113932,113944,113968,113982,114016,114044,114076,114114,114116,114120,114128,114150,114170,114194,114196,114210,114212,114216,114242,114244,114248,114256,114270,114278,114306,114308,114312,114320,114334,114336,114364,114380,114420,114458,114478,114482,114484,114510,114524,114530,114532,114536,114842,114866,114868,114970,114994,114996,115042,115044,115048,115062,115130,115226,115250,115252,115278,115292,115298,115300,115304,115318,115342,115394,115396,115400,115408,115422,115430,115436,115450,115478,115494,115514,115526,115532,115570,115572,115738,115758,115762,115764,115790,115804,115810,115812,115816,115830,115854,115868,115896,115906,115912,115920,115934,115942,115948,115962,115996,116024,116080,116094,116098,116100,116104,116112,116126,116128,116156,116166,116172,116184,116206,116210,116212,116246,116262,116268,116282,116294,116300,116312,116334,116338,116340,116358,116364,116376,116400,116414,116430,116444,116450,116452,116456,116498,116500,116514,116520,116534,116546,116548,116552,116560,116574,116582,116588,116602,116654,116694,116714,116762,116782,116786,116788,116814,116828,116834,116836,116840,116854,116878,116892,116920,116930,116936,116944,116958,116966,116972,116986,117006,117048,117104,117118,117122,117124,117136,117150,117152,117180,117190,117196,117208,117230,117234,117236,117304,117360,117374,117472,117500,117506,117508,117512,117520,117536,117564,117568,117624,117638,117644,117656,117680,117694,117710,117724,117730,117732,117736,117750,117782,117798,117804,117818,117830,117848,117874,117876,117894,117936,117950,117966,117986,117988,117992,118022,118028,118040,118064,118078,118112,118140,118172,118210,118212,118216,118224,118238,118246,118266,118306,118312,118338,118352,118366,118374,118394,118402,118404,118408,118416,118430,118432,118460,118476,118514,118516,118574,118578,118580,118606,118620,118626,118628,118632,118678,118694,118700,118730,118738,118740,118830,118834,118836,118862,118876,118882,118884,118888,118902,118926,118940,118968,118978,118980,118984,118992,119006,119014,119020,119034,119068,119096,119152,119166,119170,119172,119176,119184,119198,119200,119228,119238,119244,119256,119278,119282,119284,119324,119352,119408,119422,119520,119548,119554,119556,119560,119568,119582,119584,119612,119616,119672,119686,119692,119704,119728,119742,119758,119772,119778,119780,119784,119798,119920,119934,120032,120060,120256,120312,120324,120328,120336,120352,120384,120440,120560,120582,120588,120600,120624,120638,120672,120700,120718,120732,120760,120770,120772,120776,120784,120798,120806,120812,120870,120876,120890,120902,120908,120920,120946,120948,120966,120972,120984,121008,121022,121038,121058,121060,121064,121078,121100,121112,121136,121150,121184,121212,121244,121282,121284,121288,121296,121318,121338,121356,121368,121392,121406,121440,121468,121536,121592,121656,121730,121732,121736,121744,121758,121760,121804,121842,121844,121890,121922,121924,121928,121936,121950,121958,121978,121986,121988,121992,122e3,122014,122016,122044,122060,122098,122100,122116,122120,122128,122142,122144,122172,122176,122232,122246,122264,122318,122338,122340,122344,122414,122418,122420,122446,122460,122466,122468,122472,122510,122524,122552,122562,122564,122568,122576,122598,122618,122646,122662,122668,122694,122700,122712,122738,122740,122762,122770,122772,122786,122788,122792,123018,123026,123028,123042,123044,123048,123062,123098,123146,123154,123156,123170,123172,123176,123190,123202,123204,123208,123216,123238,123244,123258,123290,123314,123316,123402,123410,123412,123426,123428,123432,123446,123458,123464,123472,123486,123494,123500,123514,123522,123524,123528,123536,123552,123580,123590,123596,123608,123630,123634,123636,123674,123698,123700,123740,123746,123748,123752,123834,123914,123922,123924,123938,123944,123958,123970,123976,123984,123998,124006,124012,124026,124034,124036,124048,124062,124064,124092,124102,124108,124120,124142,124146,124148,124162,124164,124168,124176,124190,124192,124220,124224,124280,124294,124300,124312,124336,124350,124366,124380,124386,124388,124392,124406,124442,124462,124466,124468,124494,124508,124514,124520,124558,124572,124600,124610,124612,124616,124624,124646,124666,124694,124710,124716,124730,124742,124748,124760,124786,124788,124818,124820,124834,124836,124840,124854,124946,124948,124962,124964,124968,124982,124994,124996,125e3,125008,125022,125030,125036,125050,125058,125060,125064,125072,125086,125088,125116,125126,125132,125144,125166,125170,125172,125186,125188,125192,125200,125216,125244,125248,125304,125318,125324,125336,125360,125374,125390,125404,125410,125412,125416,125430,125444,125448,125456,125472,125504,125560,125680,125702,125708,125720,125744,125758,125792,125820,125838,125852,125880,125890,125892,125896,125904,125918,125926,125932,125978,125998,126002,126004,126030,126044,126050,126052,126056,126094,126108,126136,126146,126148,126152,126160,126182,126202,126222,126236,126264,126320,126334,126338,126340,126344,126352,126366,126368,126412,126450,126452,126486,126502,126508,126522,126534,126540,126552,126574,126578,126580,126598,126604,126616,126640,126654,126670,126684,126690,126692,126696,126738,126754,126756,126760,126774,126786,126788,126792,126800,126814,126822,126828,126842,126894,126898,126900,126934,127126,127142,127148,127162,127178,127186,127188,127254,127270,127276,127290,127302,127308,127320,127342,127346,127348,127370,127378,127380,127394,127396,127400,127450,127510,127526,127532,127546,127558,127576,127598,127602,127604,127622,127628,127640,127664,127678,127694,127708,127714,127716,127720,127734,127754,127762,127764,127778,127784,127810,127812,127816,127824,127838,127846,127866,127898,127918,127922,127924,128022,128038,128044,128058,128070,128076,128088,128110,128114,128116,128134,128140,128152,128176,128190,128206,128220,128226,128228,128232,128246,128262,128268,128280,128304,128318,128352,128380,128398,128412,128440,128450,128452,128456,128464,128478,128486,128492,128506,128522,128530,128532,128546,128548,128552,128566,128578,128580,128584,128592,128606,128614,128634,128642,128644,128648,128656,128670,128672,128700,128716,128754,128756,128794,128814,128818,128820,128846,128860,128866,128868,128872,128886,128918,128934,128940,128954,128978,128980,129178,129198,129202,129204,129238,129258,129306,129326,129330,129332,129358,129372,129378,129380,129384,129398,129430,129446,129452,129466,129482,129490,129492,129562,129582,129586,129588,129614,129628,129634,129636,129640,129654,129678,129692,129720,129730,129732,129736,129744,129758,129766,129772,129814,129830,129836,129850,129862,129868,129880,129902,129906,129908,129930,129938,129940,129954,129956,129960,129974,130010]),Q.CODEWORD_TABLE=Int32Array.from([2627,1819,2622,2621,1813,1812,2729,2724,2723,2779,2774,2773,902,896,908,868,865,861,859,2511,873,871,1780,835,2493,825,2491,842,837,844,1764,1762,811,810,809,2483,807,2482,806,2480,815,814,813,812,2484,817,816,1745,1744,1742,1746,2655,2637,2635,2626,2625,2623,2628,1820,2752,2739,2737,2728,2727,2725,2730,2785,2783,2778,2777,2775,2780,787,781,747,739,736,2413,754,752,1719,692,689,681,2371,678,2369,700,697,694,703,1688,1686,642,638,2343,631,2341,627,2338,651,646,643,2345,654,652,1652,1650,1647,1654,601,599,2322,596,2321,594,2319,2317,611,610,608,606,2324,603,2323,615,614,612,1617,1616,1614,1612,616,1619,1618,2575,2538,2536,905,901,898,909,2509,2507,2504,870,867,864,860,2512,875,872,1781,2490,2489,2487,2485,1748,836,834,832,830,2494,827,2492,843,841,839,845,1765,1763,2701,2676,2674,2653,2648,2656,2634,2633,2631,2629,1821,2638,2636,2770,2763,2761,2750,2745,2753,2736,2735,2733,2731,1848,2740,2738,2786,2784,591,588,576,569,566,2296,1590,537,534,526,2276,522,2274,545,542,539,548,1572,1570,481,2245,466,2242,462,2239,492,485,482,2249,496,494,1534,1531,1528,1538,413,2196,406,2191,2188,425,419,2202,415,2199,432,430,427,1472,1467,1464,433,1476,1474,368,367,2160,365,2159,362,2157,2155,2152,378,377,375,2166,372,2165,369,2162,383,381,379,2168,1419,1418,1416,1414,385,1411,384,1423,1422,1420,1424,2461,802,2441,2439,790,786,783,794,2409,2406,2403,750,742,738,2414,756,753,1720,2367,2365,2362,2359,1663,693,691,684,2373,680,2370,702,699,696,704,1690,1687,2337,2336,2334,2332,1624,2329,1622,640,637,2344,634,2342,630,2340,650,648,645,2346,655,653,1653,1651,1649,1655,2612,2597,2595,2571,2568,2565,2576,2534,2529,2526,1787,2540,2537,907,904,900,910,2503,2502,2500,2498,1768,2495,1767,2510,2508,2506,869,866,863,2513,876,874,1782,2720,2713,2711,2697,2694,2691,2702,2672,2670,2664,1828,2678,2675,2647,2646,2644,2642,1823,2639,1822,2654,2652,2650,2657,2771,1855,2765,2762,1850,1849,2751,2749,2747,2754,353,2148,344,342,336,2142,332,2140,345,1375,1373,306,2130,299,2128,295,2125,319,314,311,2132,1354,1352,1349,1356,262,257,2101,253,2096,2093,274,273,267,2107,263,2104,280,278,275,1316,1311,1308,1320,1318,2052,202,2050,2044,2040,219,2063,212,2060,208,2055,224,221,2066,1260,1258,1252,231,1248,229,1266,1264,1261,1268,155,1998,153,1996,1994,1991,1988,165,164,2007,162,2006,159,2003,2e3,172,171,169,2012,166,2010,1186,1184,1182,1179,175,1176,173,1192,1191,1189,1187,176,1194,1193,2313,2307,2305,592,589,2294,2292,2289,578,572,568,2297,580,1591,2272,2267,2264,1547,538,536,529,2278,525,2275,547,544,541,1574,1571,2237,2235,2229,1493,2225,1489,478,2247,470,2244,465,2241,493,488,484,2250,498,495,1536,1533,1530,1539,2187,2186,2184,2182,1432,2179,1430,2176,1427,414,412,2197,409,2195,405,2193,2190,426,424,421,2203,418,2201,431,429,1473,1471,1469,1466,434,1477,1475,2478,2472,2470,2459,2457,2454,2462,803,2437,2432,2429,1726,2443,2440,792,789,785,2401,2399,2393,1702,2389,1699,2411,2408,2405,745,741,2415,758,755,1721,2358,2357,2355,2353,1661,2350,1660,2347,1657,2368,2366,2364,2361,1666,690,687,2374,683,2372,701,698,705,1691,1689,2619,2617,2610,2608,2605,2613,2593,2588,2585,1803,2599,2596,2563,2561,2555,1797,2551,1795,2573,2570,2567,2577,2525,2524,2522,2520,1786,2517,1785,2514,1783,2535,2533,2531,2528,1788,2541,2539,906,903,911,2721,1844,2715,2712,1838,1836,2699,2696,2693,2703,1827,1826,1824,2673,2671,2669,2666,1829,2679,2677,1858,1857,2772,1854,1853,1851,1856,2766,2764,143,1987,139,1986,135,133,131,1984,128,1983,125,1981,138,137,136,1985,1133,1132,1130,112,110,1974,107,1973,104,1971,1969,122,121,119,117,1977,114,1976,124,1115,1114,1112,1110,1117,1116,84,83,1953,81,1952,78,1950,1948,1945,94,93,91,1959,88,1958,85,1955,99,97,95,1961,1086,1085,1083,1081,1078,100,1090,1089,1087,1091,49,47,1917,44,1915,1913,1910,1907,59,1926,56,1925,53,1922,1919,66,64,1931,61,1929,1042,1040,1038,71,1035,70,1032,68,1048,1047,1045,1043,1050,1049,12,10,1869,1867,1864,1861,21,1880,19,1877,1874,1871,28,1888,25,1886,22,1883,982,980,977,974,32,30,991,989,987,984,34,995,994,992,2151,2150,2147,2146,2144,356,355,354,2149,2139,2138,2136,2134,1359,343,341,338,2143,335,2141,348,347,346,1376,1374,2124,2123,2121,2119,1326,2116,1324,310,308,305,2131,302,2129,298,2127,320,318,316,313,2133,322,321,1355,1353,1351,1357,2092,2091,2089,2087,1276,2084,1274,2081,1271,259,2102,256,2100,252,2098,2095,272,269,2108,266,2106,281,279,277,1317,1315,1313,1310,282,1321,1319,2039,2037,2035,2032,1203,2029,1200,1197,207,2053,205,2051,201,2049,2046,2043,220,218,2064,215,2062,211,2059,228,226,223,2069,1259,1257,1254,232,1251,230,1267,1265,1263,2316,2315,2312,2311,2309,2314,2304,2303,2301,2299,1593,2308,2306,590,2288,2287,2285,2283,1578,2280,1577,2295,2293,2291,579,577,574,571,2298,582,581,1592,2263,2262,2260,2258,1545,2255,1544,2252,1541,2273,2271,2269,2266,1550,535,532,2279,528,2277,546,543,549,1575,1573,2224,2222,2220,1486,2217,1485,2214,1482,1479,2238,2236,2234,2231,1496,2228,1492,480,477,2248,473,2246,469,2243,490,487,2251,497,1537,1535,1532,2477,2476,2474,2479,2469,2468,2466,2464,1730,2473,2471,2453,2452,2450,2448,1729,2445,1728,2460,2458,2456,2463,805,804,2428,2427,2425,2423,1725,2420,1724,2417,1722,2438,2436,2434,2431,1727,2444,2442,793,791,788,795,2388,2386,2384,1697,2381,1696,2378,1694,1692,2402,2400,2398,2395,1703,2392,1701,2412,2410,2407,751,748,744,2416,759,757,1807,2620,2618,1806,1805,2611,2609,2607,2614,1802,1801,1799,2594,2592,2590,2587,1804,2600,2598,1794,1793,1791,1789,2564,2562,2560,2557,1798,2554,1796,2574,2572,2569,2578,1847,1846,2722,1843,1842,1840,1845,2716,2714,1835,1834,1832,1830,1839,1837,2700,2698,2695,2704,1817,1811,1810,897,862,1777,829,826,838,1760,1758,808,2481,1741,1740,1738,1743,2624,1818,2726,2776,782,740,737,1715,686,679,695,1682,1680,639,628,2339,647,644,1645,1643,1640,1648,602,600,597,595,2320,593,2318,609,607,604,1611,1610,1608,1606,613,1615,1613,2328,926,924,892,886,899,857,850,2505,1778,824,823,821,819,2488,818,2486,833,831,828,840,1761,1759,2649,2632,2630,2746,2734,2732,2782,2781,570,567,1587,531,527,523,540,1566,1564,476,467,463,2240,486,483,1524,1521,1518,1529,411,403,2192,399,2189,423,416,1462,1457,1454,428,1468,1465,2210,366,363,2158,360,2156,357,2153,376,373,370,2163,1410,1409,1407,1405,382,1402,380,1417,1415,1412,1421,2175,2174,777,774,771,784,732,725,722,2404,743,1716,676,674,668,2363,665,2360,685,1684,1681,626,624,622,2335,620,2333,617,2330,641,635,649,1646,1644,1642,2566,928,925,2530,2527,894,891,888,2501,2499,2496,858,856,854,851,1779,2692,2668,2665,2645,2643,2640,2651,2768,2759,2757,2744,2743,2741,2748,352,1382,340,337,333,1371,1369,307,300,296,2126,315,312,1347,1342,1350,261,258,250,2097,246,2094,271,268,264,1306,1301,1298,276,1312,1309,2115,203,2048,195,2045,191,2041,213,209,2056,1246,1244,1238,225,1234,222,1256,1253,1249,1262,2080,2079,154,1997,150,1995,147,1992,1989,163,160,2004,156,2001,1175,1174,1172,1170,1167,170,1164,167,1185,1183,1180,1177,174,1190,1188,2025,2024,2022,587,586,564,559,556,2290,573,1588,520,518,512,2268,508,2265,530,1568,1565,461,457,2233,450,2230,446,2226,479,471,489,1526,1523,1520,397,395,2185,392,2183,389,2180,2177,410,2194,402,422,1463,1461,1459,1456,1470,2455,799,2433,2430,779,776,773,2397,2394,2390,734,728,724,746,1717,2356,2354,2351,2348,1658,677,675,673,670,667,688,1685,1683,2606,2589,2586,2559,2556,2552,927,2523,2521,2518,2515,1784,2532,895,893,890,2718,2709,2707,2689,2687,2684,2663,2662,2660,2658,1825,2667,2769,1852,2760,2758,142,141,1139,1138,134,132,129,126,1982,1129,1128,1126,1131,113,111,108,105,1972,101,1970,120,118,115,1109,1108,1106,1104,123,1113,1111,82,79,1951,75,1949,72,1946,92,89,86,1956,1077,1076,1074,1072,98,1069,96,1084,1082,1079,1088,1968,1967,48,45,1916,42,1914,39,1911,1908,60,57,54,1923,50,1920,1031,1030,1028,1026,67,1023,65,1020,62,1041,1039,1036,1033,69,1046,1044,1944,1943,1941,11,9,1868,7,1865,1862,1859,20,1878,16,1875,13,1872,970,968,966,963,29,960,26,23,983,981,978,975,33,971,31,990,988,985,1906,1904,1902,993,351,2145,1383,331,330,328,326,2137,323,2135,339,1372,1370,294,293,291,289,2122,286,2120,283,2117,309,303,317,1348,1346,1344,245,244,242,2090,239,2088,236,2085,2082,260,2099,249,270,1307,1305,1303,1300,1314,189,2038,186,2036,183,2033,2030,2026,206,198,2047,194,216,1247,1245,1243,1240,227,1237,1255,2310,2302,2300,2286,2284,2281,565,563,561,558,575,1589,2261,2259,2256,2253,1542,521,519,517,514,2270,511,533,1569,1567,2223,2221,2218,2215,1483,2211,1480,459,456,453,2232,449,474,491,1527,1525,1522,2475,2467,2465,2451,2449,2446,801,800,2426,2424,2421,2418,1723,2435,780,778,775,2387,2385,2382,2379,1695,2375,1693,2396,735,733,730,727,749,1718,2616,2615,2604,2603,2601,2584,2583,2581,2579,1800,2591,2550,2549,2547,2545,1792,2542,1790,2558,929,2719,1841,2710,2708,1833,1831,2690,2688,2686,1815,1809,1808,1774,1756,1754,1737,1736,1734,1739,1816,1711,1676,1674,633,629,1638,1636,1633,1641,598,1605,1604,1602,1600,605,1609,1607,2327,887,853,1775,822,820,1757,1755,1584,524,1560,1558,468,464,1514,1511,1508,1519,408,404,400,1452,1447,1444,417,1458,1455,2208,364,361,358,2154,1401,1400,1398,1396,374,1393,371,1408,1406,1403,1413,2173,2172,772,726,723,1712,672,669,666,682,1678,1675,625,623,621,618,2331,636,632,1639,1637,1635,920,918,884,880,889,849,848,847,846,2497,855,852,1776,2641,2742,2787,1380,334,1367,1365,301,297,1340,1338,1335,1343,255,251,247,1296,1291,1288,265,1302,1299,2113,204,196,192,2042,1232,1230,1224,214,1220,210,1242,1239,1235,1250,2077,2075,151,148,1993,144,1990,1163,1162,1160,1158,1155,161,1152,157,1173,1171,1168,1165,168,1181,1178,2021,2020,2018,2023,585,560,557,1585,516,509,1562,1559,458,447,2227,472,1516,1513,1510,398,396,393,390,2181,386,2178,407,1453,1451,1449,1446,420,1460,2209,769,764,720,712,2391,729,1713,664,663,661,659,2352,656,2349,671,1679,1677,2553,922,919,2519,2516,885,883,881,2685,2661,2659,2767,2756,2755,140,1137,1136,130,127,1125,1124,1122,1127,109,106,102,1103,1102,1100,1098,116,1107,1105,1980,80,76,73,1947,1068,1067,1065,1063,90,1060,87,1075,1073,1070,1080,1966,1965,46,43,40,1912,36,1909,1019,1018,1016,1014,58,1011,55,1008,51,1029,1027,1024,1021,63,1037,1034,1940,1939,1937,1942,8,1866,4,1863,1,1860,956,954,952,949,946,17,14,969,967,964,961,27,957,24,979,976,972,1901,1900,1898,1896,986,1905,1903,350,349,1381,329,327,324,1368,1366,292,290,287,284,2118,304,1341,1339,1337,1345,243,240,237,2086,233,2083,254,1297,1295,1293,1290,1304,2114,190,187,184,2034,180,2031,177,2027,199,1233,1231,1229,1226,217,1223,1241,2078,2076,584,555,554,552,550,2282,562,1586,507,506,504,502,2257,499,2254,515,1563,1561,445,443,441,2219,438,2216,435,2212,460,454,475,1517,1515,1512,2447,798,797,2422,2419,770,768,766,2383,2380,2376,721,719,717,714,731,1714,2602,2582,2580,2548,2546,2543,923,921,2717,2706,2705,2683,2682,2680,1771,1752,1750,1733,1732,1731,1735,1814,1707,1670,1668,1631,1629,1626,1634,1599,1598,1596,1594,1603,1601,2326,1772,1753,1751,1581,1554,1552,1504,1501,1498,1509,1442,1437,1434,401,1448,1445,2206,1392,1391,1389,1387,1384,359,1399,1397,1394,1404,2171,2170,1708,1672,1669,619,1632,1630,1628,1773,1378,1363,1361,1333,1328,1336,1286,1281,1278,248,1292,1289,2111,1218,1216,1210,197,1206,193,1228,1225,1221,1236,2073,2071,1151,1150,1148,1146,152,1143,149,1140,145,1161,1159,1156,1153,158,1169,1166,2017,2016,2014,2019,1582,510,1556,1553,452,448,1506,1500,394,391,387,1443,1441,1439,1436,1450,2207,765,716,713,1709,662,660,657,1673,1671,916,914,879,878,877,882,1135,1134,1121,1120,1118,1123,1097,1096,1094,1092,103,1101,1099,1979,1059,1058,1056,1054,77,1051,74,1066,1064,1061,1071,1964,1963,1007,1006,1004,1002,999,41,996,37,1017,1015,1012,1009,52,1025,1022,1936,1935,1933,1938,942,940,938,935,932,5,2,955,953,950,947,18,943,15,965,962,958,1895,1894,1892,1890,973,1899,1897,1379,325,1364,1362,288,285,1334,1332,1330,241,238,234,1287,1285,1283,1280,1294,2112,188,185,181,178,2028,1219,1217,1215,1212,200,1209,1227,2074,2072,583,553,551,1583,505,503,500,513,1557,1555,444,442,439,436,2213,455,451,1507,1505,1502,796,763,762,760,767,711,710,708,706,2377,718,715,1710,2544,917,915,2681,1627,1597,1595,2325,1769,1749,1747,1499,1438,1435,2204,1390,1388,1385,1395,2169,2167,1704,1665,1662,1625,1623,1620,1770,1329,1282,1279,2109,1214,1207,1222,2068,2065,1149,1147,1144,1141,146,1157,1154,2013,2011,2008,2015,1579,1549,1546,1495,1487,1433,1431,1428,1425,388,1440,2205,1705,658,1667,1664,1119,1095,1093,1978,1057,1055,1052,1062,1962,1960,1005,1003,1e3,997,38,1013,1010,1932,1930,1927,1934,941,939,936,933,6,930,3,951,948,944,1889,1887,1884,1881,959,1893,1891,35,1377,1360,1358,1327,1325,1322,1331,1277,1275,1272,1269,235,1284,2110,1205,1204,1201,1198,182,1195,179,1213,2070,2067,1580,501,1551,1548,440,437,1497,1494,1490,1503,761,709,707,1706,913,912,2198,1386,2164,2161,1621,1766,2103,1208,2058,2054,1145,1142,2005,2002,1999,2009,1488,1429,1426,2200,1698,1659,1656,1975,1053,1957,1954,1001,998,1924,1921,1918,1928,937,934,931,1879,1876,1873,1870,945,1885,1882,1323,1273,1270,2105,1202,1199,1196,1211,2061,2057,1576,1543,1540,1484,1481,1478,1491,1700]);class yi{constructor(e,t){this.bits=e,this.points=t}getBits(){return this.bits}getPoints(){return this.points}}class re{static detectMultiple(e,t,n){let r=e.getBlackMatrix(),i=re.detect(n,r);return i.length||(r=r.clone(),r.rotate180(),i=re.detect(n,r)),new yi(r,i)}static detect(e,t){const n=new Array;let r=0,i=0,s=!1;for(;r<t.getHeight();){const o=re.findVertices(t,r,i);if(o[0]==null&&o[3]==null){if(!s)break;s=!1,i=0;for(const a of n)a[1]!=null&&(r=Math.trunc(Math.max(r,a[1].getY()))),a[3]!=null&&(r=Math.max(r,Math.trunc(a[3].getY())));r+=re.ROW_STEP;continue}if(s=!0,n.push(o),!e)break;o[2]!=null?(i=Math.trunc(o[2].getX()),r=Math.trunc(o[2].getY())):(i=Math.trunc(o[4].getX()),r=Math.trunc(o[4].getY()))}return n}static findVertices(e,t,n){const r=e.getHeight(),i=e.getWidth(),s=new Array(8);return re.copyToResult(s,re.findRowsWithPattern(e,r,i,t,n,re.START_PATTERN),re.INDEXES_START_PATTERN),s[4]!=null&&(n=Math.trunc(s[4].getX()),t=Math.trunc(s[4].getY())),re.copyToResult(s,re.findRowsWithPattern(e,r,i,t,n,re.STOP_PATTERN),re.INDEXES_STOP_PATTERN),s}static copyToResult(e,t,n){for(let r=0;r<n.length;r++)e[n[r]]=t[r]}static findRowsWithPattern(e,t,n,r,i,s){const o=new Array(4);let a=!1;const l=new Int32Array(s.length);for(;r<t;r+=re.ROW_STEP){let f=re.findGuardPattern(e,i,r,n,!1,s,l);if(f!=null){for(;r>0;){const w=re.findGuardPattern(e,i,--r,n,!1,s,l);if(w!=null)f=w;else{r++;break}}o[0]=new X(f[0],r),o[1]=new X(f[1],r),a=!0;break}}let c=r+1;if(a){let f=0,w=Int32Array.from([Math.trunc(o[0].getX()),Math.trunc(o[1].getX())]);for(;c<t;c++){const E=re.findGuardPattern(e,w[0],c,n,!1,s,l);if(E!=null&&Math.abs(w[0]-E[0])<re.MAX_PATTERN_DRIFT&&Math.abs(w[1]-E[1])<re.MAX_PATTERN_DRIFT)w=E,f=0;else{if(f>re.SKIPPED_ROW_COUNT_MAX)break;f++}}c-=f+1,o[2]=new X(w[0],c),o[3]=new X(w[1],c)}return c-r<re.BARCODE_MIN_HEIGHT&&J.fill(o,null),o}static findGuardPattern(e,t,n,r,i,s,o){J.fillWithin(o,0,o.length,0);let a=t,l=0;for(;e.get(a,n)&&a>0&&l++<re.MAX_PIXEL_DRIFT;)a--;let c=a,f=0,w=s.length;for(let E=i;c<r;c++)if(e.get(c,n)!==E)o[f]++;else{if(f===w-1){if(re.patternMatchVariance(o,s,re.MAX_INDIVIDUAL_VARIANCE)<re.MAX_AVG_VARIANCE)return new Int32Array([a,c]);a+=o[0]+o[1],ie.arraycopy(o,2,o,0,f-1),o[f-1]=0,o[f]=0,f--}else f++;o[f]=1,E=!E}return f===w-1&&re.patternMatchVariance(o,s,re.MAX_INDIVIDUAL_VARIANCE)<re.MAX_AVG_VARIANCE?new Int32Array([a,c-1]):null}static patternMatchVariance(e,t,n){let r=e.length,i=0,s=0;for(let l=0;l<r;l++)i+=e[l],s+=t[l];if(i<s)return 1/0;let o=i/s;n*=o;let a=0;for(let l=0;l<r;l++){let c=e[l],f=t[l]*o,w=c>f?c-f:f-c;if(w>n)return 1/0;a+=w}return a/i}}re.INDEXES_START_PATTERN=Int32Array.from([0,4,1,5]),re.INDEXES_STOP_PATTERN=Int32Array.from([6,2,7,3]),re.MAX_AVG_VARIANCE=.42,re.MAX_INDIVIDUAL_VARIANCE=.8,re.START_PATTERN=Int32Array.from([8,1,1,1,1,1,1,3]),re.STOP_PATTERN=Int32Array.from([7,1,1,3,1,1,1,2,1]),re.MAX_PIXEL_DRIFT=3,re.MAX_PATTERN_DRIFT=5,re.SKIPPED_ROW_COUNT_MAX=25,re.ROW_STEP=5,re.BARCODE_MIN_HEIGHT=10;class Ze{constructor(e,t){if(t.length===0)throw new R;this.field=e;let n=t.length;if(n>1&&t[0]===0){let r=1;for(;r<n&&t[r]===0;)r++;r===n?this.coefficients=new Int32Array([0]):(this.coefficients=new Int32Array(n-r),ie.arraycopy(t,r,this.coefficients,0,this.coefficients.length))}else this.coefficients=t}getCoefficients(){return this.coefficients}getDegree(){return this.coefficients.length-1}isZero(){return this.coefficients[0]===0}getCoefficient(e){return this.coefficients[this.coefficients.length-1-e]}evaluateAt(e){if(e===0)return this.getCoefficient(0);if(e===1){let r=0;for(let i of this.coefficients)r=this.field.add(r,i);return r}let t=this.coefficients[0],n=this.coefficients.length;for(let r=1;r<n;r++)t=this.field.add(this.field.multiply(e,t),this.coefficients[r]);return t}add(e){if(!this.field.equals(e.field))throw new R("ModulusPolys do not have same ModulusGF field");if(this.isZero())return e;if(e.isZero())return this;let t=this.coefficients,n=e.coefficients;if(t.length>n.length){let s=t;t=n,n=s}let r=new Int32Array(n.length),i=n.length-t.length;ie.arraycopy(n,0,r,0,i);for(let s=i;s<n.length;s++)r[s]=this.field.add(t[s-i],n[s]);return new Ze(this.field,r)}subtract(e){if(!this.field.equals(e.field))throw new R("ModulusPolys do not have same ModulusGF field");return e.isZero()?this:this.add(e.negative())}multiply(e){return e instanceof Ze?this.multiplyOther(e):this.multiplyScalar(e)}multiplyOther(e){if(!this.field.equals(e.field))throw new R("ModulusPolys do not have same ModulusGF field");if(this.isZero()||e.isZero())return new Ze(this.field,new Int32Array([0]));let t=this.coefficients,n=t.length,r=e.coefficients,i=r.length,s=new Int32Array(n+i-1);for(let o=0;o<n;o++){let a=t[o];for(let l=0;l<i;l++)s[o+l]=this.field.add(s[o+l],this.field.multiply(a,r[l]))}return new Ze(this.field,s)}negative(){let e=this.coefficients.length,t=new Int32Array(e);for(let n=0;n<e;n++)t[n]=this.field.subtract(0,this.coefficients[n]);return new Ze(this.field,t)}multiplyScalar(e){if(e===0)return new Ze(this.field,new Int32Array([0]));if(e===1)return this;let t=this.coefficients.length,n=new Int32Array(t);for(let r=0;r<t;r++)n[r]=this.field.multiply(this.coefficients[r],e);return new Ze(this.field,n)}multiplyByMonomial(e,t){if(e<0)throw new R;if(t===0)return new Ze(this.field,new Int32Array([0]));let n=this.coefficients.length,r=new Int32Array(n+e);for(let i=0;i<n;i++)r[i]=this.field.multiply(this.coefficients[i],t);return new Ze(this.field,r)}toString(){let e=new he;for(let t=this.getDegree();t>=0;t--){let n=this.getCoefficient(t);n!==0&&(n<0?(e.append(" - "),n=-n):e.length()>0&&e.append(" + "),(t===0||n!==1)&&e.append(n),t!==0&&(t===1?e.append("x"):(e.append("x^"),e.append(t))))}return e.toString()}}class Si{add(e,t){return(e+t)%this.modulus}subtract(e,t){return(this.modulus+e-t)%this.modulus}exp(e){return this.expTable[e]}log(e){if(e===0)throw new R;return this.logTable[e]}inverse(e){if(e===0)throw new Tn;return this.expTable[this.modulus-this.logTable[e]-1]}multiply(e,t){return e===0||t===0?0:this.expTable[(this.logTable[e]+this.logTable[t])%(this.modulus-1)]}getSize(){return this.modulus}equals(e){return e===this}}class sr extends Si{constructor(e,t){super(),this.modulus=e,this.expTable=new Int32Array(e),this.logTable=new Int32Array(e);let n=1;for(let r=0;r<e;r++)this.expTable[r]=n,n=n*t%e;for(let r=0;r<e-1;r++)this.logTable[this.expTable[r]]=r;this.zero=new Ze(this,new Int32Array([0])),this.one=new Ze(this,new Int32Array([1]))}getZero(){return this.zero}getOne(){return this.one}buildMonomial(e,t){if(e<0)throw new R;if(t===0)return this.zero;let n=new Int32Array(e+1);return n[0]=t,new Ze(this,n)}}sr.PDF417_GF=new sr(Q.NUMBER_OF_CODEWORDS,3);class Br{constructor(){this.field=sr.PDF417_GF}decode(e,t,n){let r=new Ze(this.field,e),i=new Int32Array(t),s=!1;for(let p=t;p>0;p--){let b=r.evaluateAt(this.field.exp(p));i[t-p]=b,b!==0&&(s=!0)}if(!s)return 0;let o=this.field.getOne();if(n!=null)for(const p of n){let b=this.field.exp(e.length-1-p),y=new Ze(this.field,new Int32Array([this.field.subtract(0,b),1]));o=o.multiply(y)}let a=new Ze(this.field,i),l=this.runEuclideanAlgorithm(this.field.buildMonomial(t,1),a,t),c=l[0],f=l[1],w=this.findErrorLocations(c),E=this.findErrorMagnitudes(f,c,w);for(let p=0;p<w.length;p++){let b=e.length-1-this.field.log(w[p]);if(b<0)throw $.getChecksumInstance();e[b]=this.field.subtract(e[b],E[p])}return w.length}runEuclideanAlgorithm(e,t,n){if(e.getDegree()<t.getDegree()){let w=e;e=t,t=w}let r=e,i=t,s=this.field.getZero(),o=this.field.getOne();for(;i.getDegree()>=Math.round(n/2);){let w=r,E=s;if(r=i,s=o,r.isZero())throw $.getChecksumInstance();i=w;let p=this.field.getZero(),b=r.getCoefficient(r.getDegree()),y=this.field.inverse(b);for(;i.getDegree()>=r.getDegree()&&!i.isZero();){let O=i.getDegree()-r.getDegree(),F=this.field.multiply(i.getCoefficient(i.getDegree()),y);p=p.add(this.field.buildMonomial(O,F)),i=i.subtract(r.multiplyByMonomial(O,F))}o=p.multiply(s).subtract(E).negative()}let a=o.getCoefficient(0);if(a===0)throw $.getChecksumInstance();let l=this.field.inverse(a),c=o.multiply(l),f=i.multiply(l);return[c,f]}findErrorLocations(e){let t=e.getDegree(),n=new Int32Array(t),r=0;for(let i=1;i<this.field.getSize()&&r<t;i++)e.evaluateAt(i)===0&&(n[r]=this.field.inverse(i),r++);if(r!==t)throw $.getChecksumInstance();return n}findErrorMagnitudes(e,t,n){let r=t.getDegree(),i=new Int32Array(r);for(let l=1;l<=r;l++)i[r-l]=this.field.multiply(l,t.getCoefficient(l));let s=new Ze(this.field,i),o=n.length,a=new Int32Array(o);for(let l=0;l<o;l++){let c=this.field.inverse(n[l]),f=this.field.subtract(0,e.evaluateAt(c)),w=this.field.inverse(s.evaluateAt(c));a[l]=this.field.multiply(f,w)}return a}}class Wt{constructor(e,t,n,r,i){e instanceof Wt?this.constructor_2(e):this.constructor_1(e,t,n,r,i)}constructor_1(e,t,n,r,i){const s=t==null||n==null,o=r==null||i==null;if(s&&o)throw new D;s?(t=new X(0,r.getY()),n=new X(0,i.getY())):o&&(r=new X(e.getWidth()-1,t.getY()),i=new X(e.getWidth()-1,n.getY())),this.image=e,this.topLeft=t,this.bottomLeft=n,this.topRight=r,this.bottomRight=i,this.minX=Math.trunc(Math.min(t.getX(),n.getX())),this.maxX=Math.trunc(Math.max(r.getX(),i.getX())),this.minY=Math.trunc(Math.min(t.getY(),r.getY())),this.maxY=Math.trunc(Math.max(n.getY(),i.getY()))}constructor_2(e){this.image=e.image,this.topLeft=e.getTopLeft(),this.bottomLeft=e.getBottomLeft(),this.topRight=e.getTopRight(),this.bottomRight=e.getBottomRight(),this.minX=e.getMinX(),this.maxX=e.getMaxX(),this.minY=e.getMinY(),this.maxY=e.getMaxY()}static merge(e,t){return e==null?t:t==null?e:new Wt(e.image,e.topLeft,e.bottomLeft,t.topRight,t.bottomRight)}addMissingRows(e,t,n){let r=this.topLeft,i=this.bottomLeft,s=this.topRight,o=this.bottomRight;if(e>0){let a=n?this.topLeft:this.topRight,l=Math.trunc(a.getY()-e);l<0&&(l=0);let c=new X(a.getX(),l);n?r=c:s=c}if(t>0){let a=n?this.bottomLeft:this.bottomRight,l=Math.trunc(a.getY()+t);l>=this.image.getHeight()&&(l=this.image.getHeight()-1);let c=new X(a.getX(),l);n?i=c:o=c}return new Wt(this.image,r,i,s,o)}getMinX(){return this.minX}getMaxX(){return this.maxX}getMinY(){return this.minY}getMaxY(){return this.maxY}getTopLeft(){return this.topLeft}getTopRight(){return this.topRight}getBottomLeft(){return this.bottomLeft}getBottomRight(){return this.bottomRight}}class Ni{constructor(e,t,n,r){this.columnCount=e,this.errorCorrectionLevel=r,this.rowCountUpperPart=t,this.rowCountLowerPart=n,this.rowCount=t+n}getColumnCount(){return this.columnCount}getErrorCorrectionLevel(){return this.errorCorrectionLevel}getRowCount(){return this.rowCount}getRowCountUpperPart(){return this.rowCountUpperPart}getRowCountLowerPart(){return this.rowCountLowerPart}}class fn{constructor(){this.buffer=""}static form(e,t){let n=-1;function r(s,o,a,l,c,f){if(s==="%%")return"%";if(t[++n]===void 0)return;s=l?parseInt(l.substr(1)):void 0;let w=c?parseInt(c.substr(1)):void 0,E;switch(f){case"s":E=t[n];break;case"c":E=t[n][0];break;case"f":E=parseFloat(t[n]).toFixed(s);break;case"p":E=parseFloat(t[n]).toPrecision(s);break;case"e":E=parseFloat(t[n]).toExponential(s);break;case"x":E=parseInt(t[n]).toString(w||16);break;case"d":E=parseFloat(parseInt(t[n],w||10).toPrecision(s)).toFixed(0);break}E=typeof E=="object"?JSON.stringify(E):(+E).toString(w);let p=parseInt(a),b=a&&a[0]+""=="0"?"0":" ";for(;E.length<p;)E=o!==void 0?E+b:b+E;return E}let i=/%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;return e.replace(i,r)}format(e,...t){this.buffer+=fn.form(e,t)}toString(){return this.buffer}}class dn{constructor(e){this.boundingBox=new Wt(e),this.codewords=new Array(e.getMaxY()-e.getMinY()+1)}getCodewordNearby(e){let t=this.getCodeword(e);if(t!=null)return t;for(let n=1;n<dn.MAX_NEARBY_DISTANCE;n++){let r=this.imageRowToCodewordIndex(e)-n;if(r>=0&&(t=this.codewords[r],t!=null)||(r=this.imageRowToCodewordIndex(e)+n,r<this.codewords.length&&(t=this.codewords[r],t!=null)))return t}return null}imageRowToCodewordIndex(e){return e-this.boundingBox.getMinY()}setCodeword(e,t){this.codewords[this.imageRowToCodewordIndex(e)]=t}getCodeword(e){return this.codewords[this.imageRowToCodewordIndex(e)]}getBoundingBox(){return this.boundingBox}getCodewords(){return this.codewords}toString(){const e=new fn;let t=0;for(const n of this.codewords){if(n==null){e.format("%3d: | %n",t++);continue}e.format("%3d: %3d|%3d%n",t++,n.getRowNumber(),n.getValue())}return e.toString()}}dn.MAX_NEARBY_DISTANCE=5;class xn{constructor(){this.values=new Map}setValue(e){e=Math.trunc(e);let t=this.values.get(e);t==null&&(t=0),t++,this.values.set(e,t)}getValue(){let e=-1,t=new Array;for(const[n,r]of this.values.entries()){const i={getKey:()=>n,getValue:()=>r};i.getValue()>e?(e=i.getValue(),t=[],t.push(i.getKey())):i.getValue()===e&&t.push(i.getKey())}return Q.toIntArray(t)}getConfidence(e){return this.values.get(e)}}class vr extends dn{constructor(e,t){super(e),this._isLeft=t}setRowNumbers(){for(let e of this.getCodewords())e!=null&&e.setRowNumberAsRowIndicatorColumn()}adjustCompleteIndicatorColumnRowNumbers(e){let t=this.getCodewords();this.setRowNumbers(),this.removeIncorrectCodewords(t,e);let n=this.getBoundingBox(),r=this._isLeft?n.getTopLeft():n.getTopRight(),i=this._isLeft?n.getBottomLeft():n.getBottomRight(),s=this.imageRowToCodewordIndex(Math.trunc(r.getY())),o=this.imageRowToCodewordIndex(Math.trunc(i.getY())),a=-1,l=1,c=0;for(let f=s;f<o;f++){if(t[f]==null)continue;let w=t[f],E=w.getRowNumber()-a;if(E===0)c++;else if(E===1)l=Math.max(l,c),c=1,a=w.getRowNumber();else if(E<0||w.getRowNumber()>=e.getRowCount()||E>f)t[f]=null;else{let p;l>2?p=(l-2)*E:p=E;let b=p>=f;for(let y=1;y<=p&&!b;y++)b=t[f-y]!=null;b?t[f]=null:(a=w.getRowNumber(),c=1)}}}getRowHeights(){let e=this.getBarcodeMetadata();if(e==null)return null;this.adjustIncompleteIndicatorColumnRowNumbers(e);let t=new Int32Array(e.getRowCount());for(let n of this.getCodewords())if(n!=null){let r=n.getRowNumber();if(r>=t.length)continue;t[r]++}return t}adjustIncompleteIndicatorColumnRowNumbers(e){let t=this.getBoundingBox(),n=this._isLeft?t.getTopLeft():t.getTopRight(),r=this._isLeft?t.getBottomLeft():t.getBottomRight(),i=this.imageRowToCodewordIndex(Math.trunc(n.getY())),s=this.imageRowToCodewordIndex(Math.trunc(r.getY())),o=this.getCodewords(),a=-1;for(let l=i;l<s;l++){if(o[l]==null)continue;let c=o[l];c.setRowNumberAsRowIndicatorColumn();let f=c.getRowNumber()-a;f===0||(f===1?a=c.getRowNumber():c.getRowNumber()>=e.getRowCount()?o[l]=null:a=c.getRowNumber())}}getBarcodeMetadata(){let e=this.getCodewords(),t=new xn,n=new xn,r=new xn,i=new xn;for(let o of e){if(o==null)continue;o.setRowNumberAsRowIndicatorColumn();let a=o.getValue()%30,l=o.getRowNumber();switch(this._isLeft||(l+=2),l%3){case 0:n.setValue(a*3+1);break;case 1:i.setValue(a/3),r.setValue(a%3);break;case 2:t.setValue(a+1);break}}if(t.getValue().length===0||n.getValue().length===0||r.getValue().length===0||i.getValue().length===0||t.getValue()[0]<1||n.getValue()[0]+r.getValue()[0]<Q.MIN_ROWS_IN_BARCODE||n.getValue()[0]+r.getValue()[0]>Q.MAX_ROWS_IN_BARCODE)return null;let s=new Ni(t.getValue()[0],n.getValue()[0],r.getValue()[0],i.getValue()[0]);return this.removeIncorrectCodewords(e,s),s}removeIncorrectCodewords(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(e[n]==null)continue;let i=r.getValue()%30,s=r.getRowNumber();if(s>t.getRowCount()){e[n]=null;continue}switch(this._isLeft||(s+=2),s%3){case 0:i*3+1!==t.getRowCountUpperPart()&&(e[n]=null);break;case 1:(Math.trunc(i/3)!==t.getErrorCorrectionLevel()||i%3!==t.getRowCountLowerPart())&&(e[n]=null);break;case 2:i+1!==t.getColumnCount()&&(e[n]=null);break}}}isLeft(){return this._isLeft}toString(){return"IsLeft: "+this._isLeft+`
  7. `+super.toString()}}class gn{constructor(e,t){this.ADJUST_ROW_NUMBER_SKIP=2,this.barcodeMetadata=e,this.barcodeColumnCount=e.getColumnCount(),this.boundingBox=t,this.detectionResultColumns=new Array(this.barcodeColumnCount+2)}getDetectionResultColumns(){this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[0]),this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[this.barcodeColumnCount+1]);let e=Q.MAX_CODEWORDS_IN_BARCODE,t;do t=e,e=this.adjustRowNumbersAndGetCount();while(e>0&&e<t);return this.detectionResultColumns}adjustIndicatorColumnRowNumbers(e){e!=null&&e.adjustCompleteIndicatorColumnRowNumbers(this.barcodeMetadata)}adjustRowNumbersAndGetCount(){let e=this.adjustRowNumbersByRow();if(e===0)return 0;for(let t=1;t<this.barcodeColumnCount+1;t++){let n=this.detectionResultColumns[t].getCodewords();for(let r=0;r<n.length;r++)n[r]!=null&&(n[r].hasValidRowNumber()||this.adjustRowNumbers(t,r,n))}return e}adjustRowNumbersByRow(){return this.adjustRowNumbersFromBothRI(),this.adjustRowNumbersFromLRI()+this.adjustRowNumbersFromRRI()}adjustRowNumbersFromBothRI(){if(this.detectionResultColumns[0]==null||this.detectionResultColumns[this.barcodeColumnCount+1]==null)return;let e=this.detectionResultColumns[0].getCodewords(),t=this.detectionResultColumns[this.barcodeColumnCount+1].getCodewords();for(let n=0;n<e.length;n++)if(e[n]!=null&&t[n]!=null&&e[n].getRowNumber()===t[n].getRowNumber())for(let r=1;r<=this.barcodeColumnCount;r++){let i=this.detectionResultColumns[r].getCodewords()[n];i!=null&&(i.setRowNumber(e[n].getRowNumber()),i.hasValidRowNumber()||(this.detectionResultColumns[r].getCodewords()[n]=null))}}adjustRowNumbersFromRRI(){if(this.detectionResultColumns[this.barcodeColumnCount+1]==null)return 0;let e=0,t=this.detectionResultColumns[this.barcodeColumnCount+1].getCodewords();for(let n=0;n<t.length;n++){if(t[n]==null)continue;let r=t[n].getRowNumber(),i=0;for(let s=this.barcodeColumnCount+1;s>0&&i<this.ADJUST_ROW_NUMBER_SKIP;s--){let o=this.detectionResultColumns[s].getCodewords()[n];o!=null&&(i=gn.adjustRowNumberIfValid(r,i,o),o.hasValidRowNumber()||e++)}}return e}adjustRowNumbersFromLRI(){if(this.detectionResultColumns[0]==null)return 0;let e=0,t=this.detectionResultColumns[0].getCodewords();for(let n=0;n<t.length;n++){if(t[n]==null)continue;let r=t[n].getRowNumber(),i=0;for(let s=1;s<this.barcodeColumnCount+1&&i<this.ADJUST_ROW_NUMBER_SKIP;s++){let o=this.detectionResultColumns[s].getCodewords()[n];o!=null&&(i=gn.adjustRowNumberIfValid(r,i,o),o.hasValidRowNumber()||e++)}}return e}static adjustRowNumberIfValid(e,t,n){return n==null||n.hasValidRowNumber()||(n.isValidRowNumber(e)?(n.setRowNumber(e),t=0):++t),t}adjustRowNumbers(e,t,n){if(!this.detectionResultColumns[e-1])return;let r=n[t],i=this.detectionResultColumns[e-1].getCodewords(),s=i;this.detectionResultColumns[e+1]!=null&&(s=this.detectionResultColumns[e+1].getCodewords());let o=new Array(14);o[2]=i[t],o[3]=s[t],t>0&&(o[0]=n[t-1],o[4]=i[t-1],o[5]=s[t-1]),t>1&&(o[8]=n[t-2],o[10]=i[t-2],o[11]=s[t-2]),t<n.length-1&&(o[1]=n[t+1],o[6]=i[t+1],o[7]=s[t+1]),t<n.length-2&&(o[9]=n[t+2],o[12]=i[t+2],o[13]=s[t+2]);for(let a of o)if(gn.adjustRowNumber(r,a))return}static adjustRowNumber(e,t){return t==null?!1:t.hasValidRowNumber()&&t.getBucket()===e.getBucket()?(e.setRowNumber(t.getRowNumber()),!0):!1}getBarcodeColumnCount(){return this.barcodeColumnCount}getBarcodeRowCount(){return this.barcodeMetadata.getRowCount()}getBarcodeECLevel(){return this.barcodeMetadata.getErrorCorrectionLevel()}setBoundingBox(e){this.boundingBox=e}getBoundingBox(){return this.boundingBox}setDetectionResultColumn(e,t){this.detectionResultColumns[e]=t}getDetectionResultColumn(e){return this.detectionResultColumns[e]}toString(){let e=this.detectionResultColumns[0];e==null&&(e=this.detectionResultColumns[this.barcodeColumnCount+1]);let t=new fn;for(let n=0;n<e.getCodewords().length;n++){t.format("CW %3d:",n);for(let r=0;r<this.barcodeColumnCount+2;r++){if(this.detectionResultColumns[r]==null){t.format(" | ");continue}let i=this.detectionResultColumns[r].getCodewords()[n];if(i==null){t.format(" | ");continue}t.format(" %3d|%3d",i.getRowNumber(),i.getValue())}t.format("%n")}return t.toString()}}class wn{constructor(e,t,n,r){this.rowNumber=wn.BARCODE_ROW_UNKNOWN,this.startX=Math.trunc(e),this.endX=Math.trunc(t),this.bucket=Math.trunc(n),this.value=Math.trunc(r)}hasValidRowNumber(){return this.isValidRowNumber(this.rowNumber)}isValidRowNumber(e){return e!==wn.BARCODE_ROW_UNKNOWN&&this.bucket===e%3*3}setRowNumberAsRowIndicatorColumn(){this.rowNumber=Math.trunc(Math.trunc(this.value/30)*3+Math.trunc(this.bucket/3))}getWidth(){return this.endX-this.startX}getStartX(){return this.startX}getEndX(){return this.endX}getBucket(){return this.bucket}getValue(){return this.value}getRowNumber(){return this.rowNumber}setRowNumber(e){this.rowNumber=e}toString(){return this.rowNumber+"|"+this.value}}wn.BARCODE_ROW_UNKNOWN=-1;class at{static initialize(){for(let e=0;e<Q.SYMBOL_TABLE.length;e++){let t=Q.SYMBOL_TABLE[e],n=t&1;for(let r=0;r<Q.BARS_IN_MODULE;r++){let i=0;for(;(t&1)===n;)i+=1,t>>=1;n=t&1,at.RATIOS_TABLE[e]||(at.RATIOS_TABLE[e]=new Array(Q.BARS_IN_MODULE)),at.RATIOS_TABLE[e][Q.BARS_IN_MODULE-r-1]=Math.fround(i/Q.MODULES_IN_CODEWORD)}}this.bSymbolTableReady=!0}static getDecodedValue(e){let t=at.getDecodedCodewordValue(at.sampleBitCounts(e));return t!==-1?t:at.getClosestDecodedValue(e)}static sampleBitCounts(e){let t=fe.sum(e),n=new Int32Array(Q.BARS_IN_MODULE),r=0,i=0;for(let s=0;s<Q.MODULES_IN_CODEWORD;s++){let o=t/(2*Q.MODULES_IN_CODEWORD)+s*t/Q.MODULES_IN_CODEWORD;i+e[r]<=o&&(i+=e[r],r++),n[r]++}return n}static getDecodedCodewordValue(e){let t=at.getBitValue(e);return Q.getCodeword(t)===-1?-1:t}static getBitValue(e){let t=0;for(let n=0;n<e.length;n++)for(let r=0;r<e[n];r++)t=t<<1|(n%2===0?1:0);return Math.trunc(t)}static getClosestDecodedValue(e){let t=fe.sum(e),n=new Array(Q.BARS_IN_MODULE);if(t>1)for(let s=0;s<n.length;s++)n[s]=Math.fround(e[s]/t);let r=yn.MAX_VALUE,i=-1;this.bSymbolTableReady||at.initialize();for(let s=0;s<at.RATIOS_TABLE.length;s++){let o=0,a=at.RATIOS_TABLE[s];for(let l=0;l<Q.BARS_IN_MODULE;l++){let c=Math.fround(a[l]-n[l]);if(o+=Math.fround(c*c),o>=r)break}o<r&&(r=o,i=Q.SYMBOL_TABLE[s])}return i}}at.bSymbolTableReady=!1,at.RATIOS_TABLE=new Array(Q.SYMBOL_TABLE.length).map(h=>new Array(Q.BARS_IN_MODULE));class Pr{constructor(){this.segmentCount=-1,this.fileSize=-1,this.timestamp=-1,this.checksum=-1}getSegmentIndex(){return this.segmentIndex}setSegmentIndex(e){this.segmentIndex=e}getFileId(){return this.fileId}setFileId(e){this.fileId=e}getOptionalData(){return this.optionalData}setOptionalData(e){this.optionalData=e}isLastSegment(){return this.lastSegment}setLastSegment(e){this.lastSegment=e}getSegmentCount(){return this.segmentCount}setSegmentCount(e){this.segmentCount=e}getSender(){return this.sender||null}setSender(e){this.sender=e}getAddressee(){return this.addressee||null}setAddressee(e){this.addressee=e}getFileName(){return this.fileName}setFileName(e){this.fileName=e}getFileSize(){return this.fileSize}setFileSize(e){this.fileSize=e}getChecksum(){return this.checksum}setChecksum(e){this.checksum=e}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=e}}class Lr{static parseLong(e,t=void 0){return parseInt(e,t)}}class Fr extends A{}Fr.kind="NullPointerException";class _i{writeBytes(e){this.writeBytesOffset(e,0,e.length)}writeBytesOffset(e,t,n){if(e==null)throw new Fr;if(t<0||t>e.length||n<0||t+n>e.length||t+n<0)throw new rt;if(n===0)return;for(let r=0;r<n;r++)this.write(e[t+r])}flush(){}close(){}}class Oi extends A{}class Ri extends _i{constructor(e=32){if(super(),this.count=0,e<0)throw new R("Negative initial size: "+e);this.buf=new Uint8Array(e)}ensureCapacity(e){e-this.buf.length>0&&this.grow(e)}grow(e){let n=this.buf.length<<1;if(n-e<0&&(n=e),n<0){if(e<0)throw new Oi;n=Y.MAX_VALUE}this.buf=J.copyOfUint8Array(this.buf,n)}write(e){this.ensureCapacity(this.count+1),this.buf[this.count]=e,this.count+=1}writeBytesOffset(e,t,n){if(t<0||t>e.length||n<0||t+n-e.length>0)throw new rt;this.ensureCapacity(this.count+n),ie.arraycopy(e,t,this.buf,this.count,n),this.count+=n}writeTo(e){e.writeBytesOffset(this.buf,0,this.count)}reset(){this.count=0}toByteArray(){return J.copyOfUint8Array(this.buf,this.count)}size(){return this.count}toString(e){return e?typeof e=="string"?this.toString_string(e):this.toString_number(e):this.toString_void()}toString_void(){return new String(this.buf).toString()}toString_string(e){return new String(this.buf).toString()}toString_number(e){return new String(this.buf).toString()}close(){}}var Ce;(function(h){h[h.ALPHA=0]="ALPHA",h[h.LOWER=1]="LOWER",h[h.MIXED=2]="MIXED",h[h.PUNCT=3]="PUNCT",h[h.ALPHA_SHIFT=4]="ALPHA_SHIFT",h[h.PUNCT_SHIFT=5]="PUNCT_SHIFT"})(Ce||(Ce={}));function kr(){if(typeof window<"u")return window.BigInt||null;if(typeof En<"u")return En.BigInt||null;if(typeof self<"u")return self.BigInt||null;throw new Error("Can't search globals for BigInt!")}let Mn;function Lt(h){if(typeof Mn>"u"&&(Mn=kr()),Mn===null)throw new Error("BigInt is not supported!");return Mn(h)}function Di(){let h=[];h[0]=Lt(1);let e=Lt(900);h[1]=e;for(let t=2;t<16;t++)h[t]=h[t-1]*e;return h}class _{static decode(e,t){let n=new he(""),r=P.ISO8859_1;n.enableDecoding(r);let i=1,s=e[i++],o=new Pr;for(;i<e[0];){switch(s){case _.TEXT_COMPACTION_MODE_LATCH:i=_.textCompaction(e,i,n);break;case _.BYTE_COMPACTION_MODE_LATCH:case _.BYTE_COMPACTION_MODE_LATCH_6:i=_.byteCompaction(s,e,r,i,n);break;case _.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:n.append(e[i++]);break;case _.NUMERIC_COMPACTION_MODE_LATCH:i=_.numericCompaction(e,i,n);break;case _.ECI_CHARSET:P.getCharacterSetECIByValue(e[i++]);break;case _.ECI_GENERAL_PURPOSE:i+=2;break;case _.ECI_USER_DEFINED:i++;break;case _.BEGIN_MACRO_PDF417_CONTROL_BLOCK:i=_.decodeMacroBlock(e,i,o);break;case _.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case _.MACRO_PDF417_TERMINATOR:throw new U;default:i--,i=_.textCompaction(e,i,n);break}if(i<e.length)s=e[i++];else throw U.getFormatInstance()}if(n.length()===0)throw U.getFormatInstance();let a=new an(null,n.toString(),null,t);return a.setOther(o),a}static decodeMacroBlock(e,t,n){if(t+_.NUMBER_OF_SEQUENCE_CODEWORDS>e[0])throw U.getFormatInstance();let r=new Int32Array(_.NUMBER_OF_SEQUENCE_CODEWORDS);for(let o=0;o<_.NUMBER_OF_SEQUENCE_CODEWORDS;o++,t++)r[o]=e[t];n.setSegmentIndex(Y.parseInt(_.decodeBase900toBase10(r,_.NUMBER_OF_SEQUENCE_CODEWORDS)));let i=new he;t=_.textCompaction(e,t,i),n.setFileId(i.toString());let s=-1;for(e[t]===_.BEGIN_MACRO_PDF417_OPTIONAL_FIELD&&(s=t+1);t<e[0];)switch(e[t]){case _.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:switch(t++,e[t]){case _.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME:let o=new he;t=_.textCompaction(e,t+1,o),n.setFileName(o.toString());break;case _.MACRO_PDF417_OPTIONAL_FIELD_SENDER:let a=new he;t=_.textCompaction(e,t+1,a),n.setSender(a.toString());break;case _.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE:let l=new he;t=_.textCompaction(e,t+1,l),n.setAddressee(l.toString());break;case _.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT:let c=new he;t=_.numericCompaction(e,t+1,c),n.setSegmentCount(Y.parseInt(c.toString()));break;case _.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP:let f=new he;t=_.numericCompaction(e,t+1,f),n.setTimestamp(Lr.parseLong(f.toString()));break;case _.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM:let w=new he;t=_.numericCompaction(e,t+1,w),n.setChecksum(Y.parseInt(w.toString()));break;case _.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE:let E=new he;t=_.numericCompaction(e,t+1,E),n.setFileSize(Lr.parseLong(E.toString()));break;default:throw U.getFormatInstance()}break;case _.MACRO_PDF417_TERMINATOR:t++,n.setLastSegment(!0);break;default:throw U.getFormatInstance()}if(s!==-1){let o=t-s;n.isLastSegment()&&o--,n.setOptionalData(J.copyOfRange(e,s,s+o))}return t}static textCompaction(e,t,n){let r=new Int32Array((e[0]-t)*2),i=new Int32Array((e[0]-t)*2),s=0,o=!1;for(;t<e[0]&&!o;){let a=e[t++];if(a<_.TEXT_COMPACTION_MODE_LATCH)r[s]=a/30,r[s+1]=a%30,s+=2;else switch(a){case _.TEXT_COMPACTION_MODE_LATCH:r[s++]=_.TEXT_COMPACTION_MODE_LATCH;break;case _.BYTE_COMPACTION_MODE_LATCH:case _.BYTE_COMPACTION_MODE_LATCH_6:case _.NUMERIC_COMPACTION_MODE_LATCH:case _.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case _.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case _.MACRO_PDF417_TERMINATOR:t--,o=!0;break;case _.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:r[s]=_.MODE_SHIFT_TO_BYTE_COMPACTION_MODE,a=e[t++],i[s]=a,s++;break}}return _.decodeTextCompaction(r,i,s,n),t}static decodeTextCompaction(e,t,n,r){let i=Ce.ALPHA,s=Ce.ALPHA,o=0;for(;o<n;){let a=e[o],l="";switch(i){case Ce.ALPHA:if(a<26)l=String.fromCharCode(65+a);else switch(a){case 26:l=" ";break;case _.LL:i=Ce.LOWER;break;case _.ML:i=Ce.MIXED;break;case _.PS:s=i,i=Ce.PUNCT_SHIFT;break;case _.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:r.append(t[o]);break;case _.TEXT_COMPACTION_MODE_LATCH:i=Ce.ALPHA;break}break;case Ce.LOWER:if(a<26)l=String.fromCharCode(97+a);else switch(a){case 26:l=" ";break;case _.AS:s=i,i=Ce.ALPHA_SHIFT;break;case _.ML:i=Ce.MIXED;break;case _.PS:s=i,i=Ce.PUNCT_SHIFT;break;case _.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:r.append(t[o]);break;case _.TEXT_COMPACTION_MODE_LATCH:i=Ce.ALPHA;break}break;case Ce.MIXED:if(a<_.PL)l=_.MIXED_CHARS[a];else switch(a){case _.PL:i=Ce.PUNCT;break;case 26:l=" ";break;case _.LL:i=Ce.LOWER;break;case _.AL:i=Ce.ALPHA;break;case _.PS:s=i,i=Ce.PUNCT_SHIFT;break;case _.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:r.append(t[o]);break;case _.TEXT_COMPACTION_MODE_LATCH:i=Ce.ALPHA;break}break;case Ce.PUNCT:if(a<_.PAL)l=_.PUNCT_CHARS[a];else switch(a){case _.PAL:i=Ce.ALPHA;break;case _.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:r.append(t[o]);break;case _.TEXT_COMPACTION_MODE_LATCH:i=Ce.ALPHA;break}break;case Ce.ALPHA_SHIFT:if(i=s,a<26)l=String.fromCharCode(65+a);else switch(a){case 26:l=" ";break;case _.TEXT_COMPACTION_MODE_LATCH:i=Ce.ALPHA;break}break;case Ce.PUNCT_SHIFT:if(i=s,a<_.PAL)l=_.PUNCT_CHARS[a];else switch(a){case _.PAL:i=Ce.ALPHA;break;case _.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:r.append(t[o]);break;case _.TEXT_COMPACTION_MODE_LATCH:i=Ce.ALPHA;break}break}l!==""&&r.append(l),o++}}static byteCompaction(e,t,n,r,i){let s=new Ri,o=0,a=0,l=!1;switch(e){case _.BYTE_COMPACTION_MODE_LATCH:let c=new Int32Array(6),f=t[r++];for(;r<t[0]&&!l;)switch(c[o++]=f,a=900*a+f,f=t[r++],f){case _.TEXT_COMPACTION_MODE_LATCH:case _.BYTE_COMPACTION_MODE_LATCH:case _.NUMERIC_COMPACTION_MODE_LATCH:case _.BYTE_COMPACTION_MODE_LATCH_6:case _.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case _.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case _.MACRO_PDF417_TERMINATOR:r--,l=!0;break;default:if(o%5===0&&o>0){for(let w=0;w<6;++w)s.write(Number(Lt(a)>>Lt(8*(5-w))));a=0,o=0}break}r===t[0]&&f<_.TEXT_COMPACTION_MODE_LATCH&&(c[o++]=f);for(let w=0;w<o;w++)s.write(c[w]);break;case _.BYTE_COMPACTION_MODE_LATCH_6:for(;r<t[0]&&!l;){let w=t[r++];if(w<_.TEXT_COMPACTION_MODE_LATCH)o++,a=900*a+w;else switch(w){case _.TEXT_COMPACTION_MODE_LATCH:case _.BYTE_COMPACTION_MODE_LATCH:case _.NUMERIC_COMPACTION_MODE_LATCH:case _.BYTE_COMPACTION_MODE_LATCH_6:case _.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case _.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case _.MACRO_PDF417_TERMINATOR:r--,l=!0;break}if(o%5===0&&o>0){for(let E=0;E<6;++E)s.write(Number(Lt(a)>>Lt(8*(5-E))));a=0,o=0}}break}return i.append(Fe.decode(s.toByteArray(),n)),r}static numericCompaction(e,t,n){let r=0,i=!1,s=new Int32Array(_.MAX_NUMERIC_CODEWORDS);for(;t<e[0]&&!i;){let o=e[t++];if(t===e[0]&&(i=!0),o<_.TEXT_COMPACTION_MODE_LATCH)s[r]=o,r++;else switch(o){case _.TEXT_COMPACTION_MODE_LATCH:case _.BYTE_COMPACTION_MODE_LATCH:case _.BYTE_COMPACTION_MODE_LATCH_6:case _.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case _.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case _.MACRO_PDF417_TERMINATOR:t--,i=!0;break}(r%_.MAX_NUMERIC_CODEWORDS===0||o===_.NUMERIC_COMPACTION_MODE_LATCH||i)&&r>0&&(n.append(_.decodeBase900toBase10(s,r)),r=0)}return t}static decodeBase900toBase10(e,t){let n=Lt(0);for(let i=0;i<t;i++)n+=_.EXP900[t-i-1]*Lt(e[i]);let r=n.toString();if(r.charAt(0)!=="1")throw new U;return r.substring(1)}}_.TEXT_COMPACTION_MODE_LATCH=900,_.BYTE_COMPACTION_MODE_LATCH=901,_.NUMERIC_COMPACTION_MODE_LATCH=902,_.BYTE_COMPACTION_MODE_LATCH_6=924,_.ECI_USER_DEFINED=925,_.ECI_GENERAL_PURPOSE=926,_.ECI_CHARSET=927,_.BEGIN_MACRO_PDF417_CONTROL_BLOCK=928,_.BEGIN_MACRO_PDF417_OPTIONAL_FIELD=923,_.MACRO_PDF417_TERMINATOR=922,_.MODE_SHIFT_TO_BYTE_COMPACTION_MODE=913,_.MAX_NUMERIC_CODEWORDS=15,_.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME=0,_.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT=1,_.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP=2,_.MACRO_PDF417_OPTIONAL_FIELD_SENDER=3,_.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE=4,_.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE=5,_.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM=6,_.PL=25,_.LL=27,_.AS=27,_.ML=28,_.AL=28,_.PS=29,_.PAL=29,_.PUNCT_CHARS=`;<>@[\\]_\`~!\r ,:
  8. -.$/"|*()?{}'`,_.MIXED_CHARS="0123456789&\r ,:#-.$/+%*=^",_.EXP900=kr()?Di():[],_.NUMBER_OF_SEQUENCE_CODEWORDS=2;class se{constructor(){}static decode(e,t,n,r,i,s,o){let a=new Wt(e,t,n,r,i),l=null,c=null,f;for(let p=!0;;p=!1){if(t!=null&&(l=se.getRowIndicatorColumn(e,a,t,!0,s,o)),r!=null&&(c=se.getRowIndicatorColumn(e,a,r,!1,s,o)),f=se.merge(l,c),f==null)throw D.getNotFoundInstance();let b=f.getBoundingBox();if(p&&b!=null&&(b.getMinY()<a.getMinY()||b.getMaxY()>a.getMaxY()))a=b;else break}f.setBoundingBox(a);let w=f.getBarcodeColumnCount()+1;f.setDetectionResultColumn(0,l),f.setDetectionResultColumn(w,c);let E=l!=null;for(let p=1;p<=w;p++){let b=E?p:w-p;if(f.getDetectionResultColumn(b)!==void 0)continue;let y;b===0||b===w?y=new vr(a,b===0):y=new dn(a),f.setDetectionResultColumn(b,y);let O=-1,F=O;for(let k=a.getMinY();k<=a.getMaxY();k++){if(O=se.getStartColumn(f,b,k,E),O<0||O>a.getMaxX()){if(F===-1)continue;O=F}let L=se.detectCodeword(e,a.getMinX(),a.getMaxX(),E,O,k,s,o);L!=null&&(y.setCodeword(k,L),F=O,s=Math.min(s,L.getWidth()),o=Math.max(o,L.getWidth()))}}return se.createDecoderResult(f)}static merge(e,t){if(e==null&&t==null)return null;let n=se.getBarcodeMetadata(e,t);if(n==null)return null;let r=Wt.merge(se.adjustBoundingBox(e),se.adjustBoundingBox(t));return new gn(n,r)}static adjustBoundingBox(e){if(e==null)return null;let t=e.getRowHeights();if(t==null)return null;let n=se.getMax(t),r=0;for(let o of t)if(r+=n-o,o>0)break;let i=e.getCodewords();for(let o=0;r>0&&i[o]==null;o++)r--;let s=0;for(let o=t.length-1;o>=0&&(s+=n-t[o],!(t[o]>0));o--);for(let o=i.length-1;s>0&&i[o]==null;o--)s--;return e.getBoundingBox().addMissingRows(r,s,e.isLeft())}static getMax(e){let t=-1;for(let n of e)t=Math.max(t,n);return t}static getBarcodeMetadata(e,t){let n;if(e==null||(n=e.getBarcodeMetadata())==null)return t==null?null:t.getBarcodeMetadata();let r;return t==null||(r=t.getBarcodeMetadata())==null?n:n.getColumnCount()!==r.getColumnCount()&&n.getErrorCorrectionLevel()!==r.getErrorCorrectionLevel()&&n.getRowCount()!==r.getRowCount()?null:n}static getRowIndicatorColumn(e,t,n,r,i,s){let o=new vr(t,r);for(let a=0;a<2;a++){let l=a===0?1:-1,c=Math.trunc(Math.trunc(n.getX()));for(let f=Math.trunc(Math.trunc(n.getY()));f<=t.getMaxY()&&f>=t.getMinY();f+=l){let w=se.detectCodeword(e,0,e.getWidth(),r,c,f,i,s);w!=null&&(o.setCodeword(f,w),r?c=w.getStartX():c=w.getEndX())}}return o}static adjustCodewordCount(e,t){let n=t[0][1],r=n.getValue(),i=e.getBarcodeColumnCount()*e.getBarcodeRowCount()-se.getNumberOfECCodeWords(e.getBarcodeECLevel());if(r.length===0){if(i<1||i>Q.MAX_CODEWORDS_IN_BARCODE)throw D.getNotFoundInstance();n.setValue(i)}else r[0]!==i&&n.setValue(i)}static createDecoderResult(e){let t=se.createBarcodeMatrix(e);se.adjustCodewordCount(e,t);let n=new Array,r=new Int32Array(e.getBarcodeRowCount()*e.getBarcodeColumnCount()),i=[],s=new Array;for(let a=0;a<e.getBarcodeRowCount();a++)for(let l=0;l<e.getBarcodeColumnCount();l++){let c=t[a][l+1].getValue(),f=a*e.getBarcodeColumnCount()+l;c.length===0?n.push(f):c.length===1?r[f]=c[0]:(s.push(f),i.push(c))}let o=new Array(i.length);for(let a=0;a<o.length;a++)o[a]=i[a];return se.createDecoderResultFromAmbiguousValues(e.getBarcodeECLevel(),r,Q.toIntArray(n),Q.toIntArray(s),o)}static createDecoderResultFromAmbiguousValues(e,t,n,r,i){let s=new Int32Array(r.length),o=100;for(;o-- >0;){for(let a=0;a<s.length;a++)t[r[a]]=i[a][s[a]];try{return se.decodeCodewords(t,e,n)}catch(a){if(!(a instanceof $))throw a}if(s.length===0)throw $.getChecksumInstance();for(let a=0;a<s.length;a++)if(s[a]<i[a].length-1){s[a]++;break}else if(s[a]=0,a===s.length-1)throw $.getChecksumInstance()}throw $.getChecksumInstance()}static createBarcodeMatrix(e){let t=Array.from({length:e.getBarcodeRowCount()},()=>new Array(e.getBarcodeColumnCount()+2));for(let r=0;r<t.length;r++)for(let i=0;i<t[r].length;i++)t[r][i]=new xn;let n=0;for(let r of e.getDetectionResultColumns()){if(r!=null){for(let i of r.getCodewords())if(i!=null){let s=i.getRowNumber();if(s>=0){if(s>=t.length)continue;t[s][n].setValue(i.getValue())}}}n++}return t}static isValidBarcodeColumn(e,t){return t>=0&&t<=e.getBarcodeColumnCount()+1}static getStartColumn(e,t,n,r){let i=r?1:-1,s=null;if(se.isValidBarcodeColumn(e,t-i)&&(s=e.getDetectionResultColumn(t-i).getCodeword(n)),s!=null)return r?s.getEndX():s.getStartX();if(s=e.getDetectionResultColumn(t).getCodewordNearby(n),s!=null)return r?s.getStartX():s.getEndX();if(se.isValidBarcodeColumn(e,t-i)&&(s=e.getDetectionResultColumn(t-i).getCodewordNearby(n)),s!=null)return r?s.getEndX():s.getStartX();let o=0;for(;se.isValidBarcodeColumn(e,t-i);){t-=i;for(let a of e.getDetectionResultColumn(t).getCodewords())if(a!=null)return(r?a.getEndX():a.getStartX())+i*o*(a.getEndX()-a.getStartX());o++}return r?e.getBoundingBox().getMinX():e.getBoundingBox().getMaxX()}static detectCodeword(e,t,n,r,i,s,o,a){i=se.adjustCodewordStartColumn(e,t,n,r,i,s);let l=se.getModuleBitCount(e,t,n,r,i,s);if(l==null)return null;let c,f=fe.sum(l);if(r)c=i+f;else{for(let p=0;p<l.length/2;p++){let b=l[p];l[p]=l[l.length-1-p],l[l.length-1-p]=b}c=i,i=c-f}if(!se.checkCodewordSkew(f,o,a))return null;let w=at.getDecodedValue(l),E=Q.getCodeword(w);return E===-1?null:new wn(i,c,se.getCodewordBucketNumber(w),E)}static getModuleBitCount(e,t,n,r,i,s){let o=i,a=new Int32Array(8),l=0,c=r?1:-1,f=r;for(;(r?o<n:o>=t)&&l<a.length;)e.get(o,s)===f?(a[l]++,o+=c):(l++,f=!f);return l===a.length||o===(r?n:t)&&l===a.length-1?a:null}static getNumberOfECCodeWords(e){return 2<<e}static adjustCodewordStartColumn(e,t,n,r,i,s){let o=i,a=r?-1:1;for(let l=0;l<2;l++){for(;(r?o>=t:o<n)&&r===e.get(o,s);){if(Math.abs(i-o)>se.CODEWORD_SKEW_SIZE)return i;o+=a}a=-a,r=!r}return o}static checkCodewordSkew(e,t,n){return t-se.CODEWORD_SKEW_SIZE<=e&&e<=n+se.CODEWORD_SKEW_SIZE}static decodeCodewords(e,t,n){if(e.length===0)throw U.getFormatInstance();let r=1<<t+1,i=se.correctErrors(e,n,r);se.verifyCodewordCount(e,r);let s=_.decode(e,""+t);return s.setErrorsCorrected(i),s.setErasures(n.length),s}static correctErrors(e,t,n){if(t!=null&&t.length>n/2+se.MAX_ERRORS||n<0||n>se.MAX_EC_CODEWORDS)throw $.getChecksumInstance();return se.errorCorrection.decode(e,n,t)}static verifyCodewordCount(e,t){if(e.length<4)throw U.getFormatInstance();let n=e[0];if(n>e.length)throw U.getFormatInstance();if(n===0)if(t<e.length)e[0]=e.length-t;else throw U.getFormatInstance()}static getBitCountForCodeword(e){let t=new Int32Array(8),n=0,r=t.length-1;for(;!((e&1)!==n&&(n=e&1,r--,r<0));)t[r]++,e>>=1;return t}static getCodewordBucketNumber(e){return e instanceof Int32Array?this.getCodewordBucketNumber_Int32Array(e):this.getCodewordBucketNumber_number(e)}static getCodewordBucketNumber_number(e){return se.getCodewordBucketNumber(se.getBitCountForCodeword(e))}static getCodewordBucketNumber_Int32Array(e){return(e[0]-e[2]+e[4]-e[6]+9)%9}static toString(e){let t=new fn;for(let n=0;n<e.length;n++){t.format("Row %2d: ",n);for(let r=0;r<e[n].length;r++){let i=e[n][r];i.getValue().length===0?t.format(" ",null):t.format("%4d(%2d)",i.getValue()[0],i.getConfidence(i.getValue()[0]))}t.format("%n")}return t.toString()}}se.CODEWORD_SKEW_SIZE=2,se.MAX_ERRORS=3,se.MAX_EC_CODEWORDS=512,se.errorCorrection=new Br;class Ke{decode(e,t=null){let n=Ke.decode(e,t,!1);if(n==null||n.length===0||n[0]==null)throw D.getNotFoundInstance();return n[0]}decodeMultiple(e,t=null){try{return Ke.decode(e,t,!0)}catch(n){throw n instanceof U||n instanceof $?D.getNotFoundInstance():n}}static decode(e,t,n){const r=new Array,i=re.detectMultiple(e,t,n);for(const s of i.getPoints()){const o=se.decode(i.getBits(),s[4],s[5],s[6],s[7],Ke.getMinCodewordWidth(s),Ke.getMaxCodewordWidth(s)),a=new et(o.getText(),o.getRawBytes(),void 0,s,j.PDF_417);a.putMetadata(We.ERROR_CORRECTION_LEVEL,o.getECLevel());const l=o.getOther();l!=null&&a.putMetadata(We.PDF417_EXTRA_METADATA,l),r.push(a)}return r.map(s=>s)}static getMaxWidth(e,t){return e==null||t==null?0:Math.trunc(Math.abs(e.getX()-t.getX()))}static getMinWidth(e,t){return e==null||t==null?Y.MAX_VALUE:Math.trunc(Math.abs(e.getX()-t.getX()))}static getMaxCodewordWidth(e){return Math.floor(Math.max(Math.max(Ke.getMaxWidth(e[0],e[4]),Ke.getMaxWidth(e[6],e[2])*Q.MODULES_IN_CODEWORD/Q.MODULES_IN_STOP_PATTERN),Math.max(Ke.getMaxWidth(e[1],e[5]),Ke.getMaxWidth(e[7],e[3])*Q.MODULES_IN_CODEWORD/Q.MODULES_IN_STOP_PATTERN)))}static getMinCodewordWidth(e){return Math.floor(Math.min(Math.min(Ke.getMinWidth(e[0],e[4]),Ke.getMinWidth(e[6],e[2])*Q.MODULES_IN_CODEWORD/Q.MODULES_IN_STOP_PATTERN),Math.min(Ke.getMinWidth(e[1],e[5]),Ke.getMinWidth(e[7],e[3])*Q.MODULES_IN_CODEWORD/Q.MODULES_IN_STOP_PATTERN)))}reset(){}}class Bn extends A{}Bn.kind="ReaderException";class Ur{constructor(e,t){this.verbose=e===!0,t&&this.setHints(t)}decode(e,t){return t&&this.setHints(t),this.decodeInternal(e)}decodeWithState(e){return(this.readers===null||this.readers===void 0)&&this.setHints(null),this.decodeInternal(e)}setHints(e){this.hints=e;const t=!m(e)&&e.get(ue.TRY_HARDER)===!0,n=m(e)?null:e.get(ue.POSSIBLE_FORMATS),r=new Array;if(!m(n)){const i=n.some(s=>s===j.UPC_A||s===j.UPC_E||s===j.EAN_13||s===j.EAN_8||s===j.CODABAR||s===j.CODE_39||s===j.CODE_93||s===j.CODE_128||s===j.ITF||s===j.RSS_14||s===j.RSS_EXPANDED);i&&!t&&r.push(new Qt(e,this.verbose)),n.includes(j.QR_CODE)&&r.push(new Pt),n.includes(j.DATA_MATRIX)&&r.push(new vt),n.includes(j.AZTEC)&&r.push(new Nn),n.includes(j.PDF_417)&&r.push(new Ke),i&&t&&r.push(new Qt(e,this.verbose))}r.length===0&&(t||r.push(new Qt(e,this.verbose)),r.push(new Pt),r.push(new vt),r.push(new Nn),r.push(new Ke),t&&r.push(new Qt(e,this.verbose))),this.readers=r}reset(){if(this.readers!==null)for(const e of this.readers)e.reset()}decodeInternal(e){if(this.readers===null)throw new Bn("No readers where selected, nothing can be read.");for(const t of this.readers)try{return t.decode(e,this.hints)}catch(n){if(n instanceof Bn)continue}throw new D("No MultiFormat Readers were able to detect the code.")}}class Mi extends Ut{constructor(e=null,t=500){const n=new Ur;n.setHints(e),super(n,t)}decodeBitmap(e){return this.reader.decodeWithState(e)}}class Bi extends Ut{constructor(e=500){super(new Ke,e)}}class vi extends Ut{constructor(e=500){super(new Pt,e)}}var or;(function(h){h[h.ERROR_CORRECTION=0]="ERROR_CORRECTION",h[h.CHARACTER_SET=1]="CHARACTER_SET",h[h.DATA_MATRIX_SHAPE=2]="DATA_MATRIX_SHAPE",h[h.MIN_SIZE=3]="MIN_SIZE",h[h.MAX_SIZE=4]="MAX_SIZE",h[h.MARGIN=5]="MARGIN",h[h.PDF417_COMPACT=6]="PDF417_COMPACT",h[h.PDF417_COMPACTION=7]="PDF417_COMPACTION",h[h.PDF417_DIMENSIONS=8]="PDF417_DIMENSIONS",h[h.AZTEC_LAYERS=9]="AZTEC_LAYERS",h[h.QR_VERSION=10]="QR_VERSION"})(or||(or={}));var Ve=or;class ar{constructor(e){this.field=e,this.cachedGenerators=[],this.cachedGenerators.push(new it(e,Int32Array.from([1])))}buildGenerator(e){const t=this.cachedGenerators;if(e>=t.length){let n=t[t.length-1];const r=this.field;for(let i=t.length;i<=e;i++){const s=n.multiply(new it(r,Int32Array.from([1,r.exp(i-1+r.getGeneratorBase())])));t.push(s),n=s}}return t[e]}encode(e,t){if(t===0)throw new R("No error correction bytes");const n=e.length-t;if(n<=0)throw new R("No data bytes provided");const r=this.buildGenerator(t),i=new Int32Array(n);ie.arraycopy(e,0,i,0,n);let s=new it(this.field,i);s=s.multiplyByMonomial(t,1);const a=s.divide(r)[1].getCoefficients(),l=t-a.length;for(let c=0;c<l;c++)e[n+c]=0;ie.arraycopy(a,0,e,n+l,a.length)}}class Re{constructor(){}static applyMaskPenaltyRule1(e){return Re.applyMaskPenaltyRule1Internal(e,!0)+Re.applyMaskPenaltyRule1Internal(e,!1)}static applyMaskPenaltyRule2(e){let t=0;const n=e.getArray(),r=e.getWidth(),i=e.getHeight();for(let s=0;s<i-1;s++){const o=n[s];for(let a=0;a<r-1;a++){const l=o[a];l===o[a+1]&&l===n[s+1][a]&&l===n[s+1][a+1]&&t++}}return Re.N2*t}static applyMaskPenaltyRule3(e){let t=0;const n=e.getArray(),r=e.getWidth(),i=e.getHeight();for(let s=0;s<i;s++)for(let o=0;o<r;o++){const a=n[s];o+6<r&&a[o]===1&&a[o+1]===0&&a[o+2]===1&&a[o+3]===1&&a[o+4]===1&&a[o+5]===0&&a[o+6]===1&&(Re.isWhiteHorizontal(a,o-4,o)||Re.isWhiteHorizontal(a,o+7,o+11))&&t++,s+6<i&&n[s][o]===1&&n[s+1][o]===0&&n[s+2][o]===1&&n[s+3][o]===1&&n[s+4][o]===1&&n[s+5][o]===0&&n[s+6][o]===1&&(Re.isWhiteVertical(n,o,s-4,s)||Re.isWhiteVertical(n,o,s+7,s+11))&&t++}return t*Re.N3}static isWhiteHorizontal(e,t,n){t=Math.max(t,0),n=Math.min(n,e.length);for(let r=t;r<n;r++)if(e[r]===1)return!1;return!0}static isWhiteVertical(e,t,n,r){n=Math.max(n,0),r=Math.min(r,e.length);for(let i=n;i<r;i++)if(e[i][t]===1)return!1;return!0}static applyMaskPenaltyRule4(e){let t=0;const n=e.getArray(),r=e.getWidth(),i=e.getHeight();for(let a=0;a<i;a++){const l=n[a];for(let c=0;c<r;c++)l[c]===1&&t++}const s=e.getHeight()*e.getWidth();return Math.floor(Math.abs(t*2-s)*10/s)*Re.N4}static getDataMaskBit(e,t,n){let r,i;switch(e){case 0:r=n+t&1;break;case 1:r=n&1;break;case 2:r=t%3;break;case 3:r=(n+t)%3;break;case 4:r=Math.floor(n/2)+Math.floor(t/3)&1;break;case 5:i=n*t,r=(i&1)+i%3;break;case 6:i=n*t,r=(i&1)+i%3&1;break;case 7:i=n*t,r=i%3+(n+t&1)&1;break;default:throw new R("Invalid mask pattern: "+e)}return r===0}static applyMaskPenaltyRule1Internal(e,t){let n=0;const r=t?e.getHeight():e.getWidth(),i=t?e.getWidth():e.getHeight(),s=e.getArray();for(let o=0;o<r;o++){let a=0,l=-1;for(let c=0;c<i;c++){const f=t?s[o][c]:s[c][o];f===l?a++:(a>=5&&(n+=Re.N1+(a-5)),a=1,l=f)}a>=5&&(n+=Re.N1+(a-5))}return n}}Re.N1=3,Re.N2=3,Re.N3=40,Re.N4=10;class vn{constructor(e,t){this.width=e,this.height=t;const n=new Array(t);for(let r=0;r!==t;r++)n[r]=new Uint8Array(e);this.bytes=n}getHeight(){return this.height}getWidth(){return this.width}get(e,t){return this.bytes[t][e]}getArray(){return this.bytes}setNumber(e,t,n){this.bytes[t][e]=n}setBoolean(e,t,n){this.bytes[t][e]=n?1:0}clear(e){for(const t of this.bytes)J.fill(t,e)}equals(e){if(!(e instanceof vn))return!1;const t=e;if(this.width!==t.width||this.height!==t.height)return!1;for(let n=0,r=this.height;n<r;++n){const i=this.bytes[n],s=t.bytes[n];for(let o=0,a=this.width;o<a;++o)if(i[o]!==s[o])return!1}return!0}toString(){const e=new he;for(let t=0,n=this.height;t<n;++t){const r=this.bytes[t];for(let i=0,s=this.width;i<s;++i)switch(r[i]){case 0:e.append(" 0");break;case 1:e.append(" 1");break;default:e.append(" ");break}e.append(`
  9. `)}return e.toString()}}class Xt{constructor(){this.maskPattern=-1}getMode(){return this.mode}getECLevel(){return this.ecLevel}getVersion(){return this.version}getMaskPattern(){return this.maskPattern}getMatrix(){return this.matrix}toString(){const e=new he;return e.append(`<<
  10. `),e.append(" mode: "),e.append(this.mode?this.mode.toString():"null"),e.append(`
  11. ecLevel: `),e.append(this.ecLevel?this.ecLevel.toString():"null"),e.append(`
  12. version: `),e.append(this.version?this.version.toString():"null"),e.append(`
  13. maskPattern: `),e.append(this.maskPattern.toString()),this.matrix?(e.append(`
  14. matrix:
  15. `),e.append(this.matrix.toString())):e.append(`
  16. matrix: null
  17. `),e.append(`>>
  18. `),e.toString()}setMode(e){this.mode=e}setECLevel(e){this.ecLevel=e}setVersion(e){this.version=e}setMaskPattern(e){this.maskPattern=e}setMatrix(e){this.matrix=e}static isValidMaskPattern(e){return e>=0&&e<Xt.NUM_MASK_PATTERNS}}Xt.NUM_MASK_PATTERNS=8;class me extends A{}me.kind="WriterException";class q{constructor(){}static clearMatrix(e){e.clear(255)}static buildMatrix(e,t,n,r,i){q.clearMatrix(i),q.embedBasicPatterns(n,i),q.embedTypeInfo(t,r,i),q.maybeEmbedVersionInfo(n,i),q.embedDataBits(e,r,i)}static embedBasicPatterns(e,t){q.embedPositionDetectionPatternsAndSeparators(t),q.embedDarkDotAtLeftBottomCorner(t),q.maybeEmbedPositionAdjustmentPatterns(e,t),q.embedTimingPatterns(t)}static embedTypeInfo(e,t,n){const r=new ee;q.makeTypeInfoBits(e,t,r);for(let i=0,s=r.getSize();i<s;++i){const o=r.get(r.getSize()-1-i),a=q.TYPE_INFO_COORDINATES[i],l=a[0],c=a[1];if(n.setBoolean(l,c,o),i<8){const f=n.getWidth()-i-1,w=8;n.setBoolean(f,w,o)}else{const w=n.getHeight()-7+(i-8);n.setBoolean(8,w,o)}}}static maybeEmbedVersionInfo(e,t){if(e.getVersionNumber()<7)return;const n=new ee;q.makeVersionInfoBits(e,n);let r=6*3-1;for(let i=0;i<6;++i)for(let s=0;s<3;++s){const o=n.get(r);r--,t.setBoolean(i,t.getHeight()-11+s,o),t.setBoolean(t.getHeight()-11+s,i,o)}}static embedDataBits(e,t,n){let r=0,i=-1,s=n.getWidth()-1,o=n.getHeight()-1;for(;s>0;){for(s===6&&(s-=1);o>=0&&o<n.getHeight();){for(let a=0;a<2;++a){const l=s-a;if(!q.isEmpty(n.get(l,o)))continue;let c;r<e.getSize()?(c=e.get(r),++r):c=!1,t!==255&&Re.getDataMaskBit(t,l,o)&&(c=!c),n.setBoolean(l,o,c)}o+=i}i=-i,o+=i,s-=2}if(r!==e.getSize())throw new me("Not all bits consumed: "+r+"/"+e.getSize())}static findMSBSet(e){return 32-Y.numberOfLeadingZeros(e)}static calculateBCHCode(e,t){if(t===0)throw new R("0 polynomial");const n=q.findMSBSet(t);for(e<<=n-1;q.findMSBSet(e)>=n;)e^=t<<q.findMSBSet(e)-n;return e}static makeTypeInfoBits(e,t,n){if(!Xt.isValidMaskPattern(t))throw new me("Invalid mask pattern");const r=e.getBits()<<3|t;n.appendBits(r,5);const i=q.calculateBCHCode(r,q.TYPE_INFO_POLY);n.appendBits(i,10);const s=new ee;if(s.appendBits(q.TYPE_INFO_MASK_PATTERN,15),n.xor(s),n.getSize()!==15)throw new me("should not happen but we got: "+n.getSize())}static makeVersionInfoBits(e,t){t.appendBits(e.getVersionNumber(),6);const n=q.calculateBCHCode(e.getVersionNumber(),q.VERSION_INFO_POLY);if(t.appendBits(n,12),t.getSize()!==18)throw new me("should not happen but we got: "+t.getSize())}static isEmpty(e){return e===255}static embedTimingPatterns(e){for(let t=8;t<e.getWidth()-8;++t){const n=(t+1)%2;q.isEmpty(e.get(t,6))&&e.setNumber(t,6,n),q.isEmpty(e.get(6,t))&&e.setNumber(6,t,n)}}static embedDarkDotAtLeftBottomCorner(e){if(e.get(8,e.getHeight()-8)===0)throw new me;e.setNumber(8,e.getHeight()-8,1)}static embedHorizontalSeparationPattern(e,t,n){for(let r=0;r<8;++r){if(!q.isEmpty(n.get(e+r,t)))throw new me;n.setNumber(e+r,t,0)}}static embedVerticalSeparationPattern(e,t,n){for(let r=0;r<7;++r){if(!q.isEmpty(n.get(e,t+r)))throw new me;n.setNumber(e,t+r,0)}}static embedPositionAdjustmentPattern(e,t,n){for(let r=0;r<5;++r){const i=q.POSITION_ADJUSTMENT_PATTERN[r];for(let s=0;s<5;++s)n.setNumber(e+s,t+r,i[s])}}static embedPositionDetectionPattern(e,t,n){for(let r=0;r<7;++r){const i=q.POSITION_DETECTION_PATTERN[r];for(let s=0;s<7;++s)n.setNumber(e+s,t+r,i[s])}}static embedPositionDetectionPatternsAndSeparators(e){const t=q.POSITION_DETECTION_PATTERN[0].length;q.embedPositionDetectionPattern(0,0,e),q.embedPositionDetectionPattern(e.getWidth()-t,0,e),q.embedPositionDetectionPattern(0,e.getWidth()-t,e);const n=8;q.embedHorizontalSeparationPattern(0,n-1,e),q.embedHorizontalSeparationPattern(e.getWidth()-n,n-1,e),q.embedHorizontalSeparationPattern(0,e.getWidth()-n,e);const r=7;q.embedVerticalSeparationPattern(r,0,e),q.embedVerticalSeparationPattern(e.getHeight()-r-1,0,e),q.embedVerticalSeparationPattern(r,e.getHeight()-r,e)}static maybeEmbedPositionAdjustmentPatterns(e,t){if(e.getVersionNumber()<2)return;const n=e.getVersionNumber()-1,r=q.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE[n];for(let i=0,s=r.length;i!==s;i++){const o=r[i];if(o>=0)for(let a=0;a!==s;a++){const l=r[a];l>=0&&q.isEmpty(t.get(l,o))&&q.embedPositionAdjustmentPattern(l-2,o-2,t)}}}}q.POSITION_DETECTION_PATTERN=Array.from([Int32Array.from([1,1,1,1,1,1,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,1,1,1,1,1,1])]),q.POSITION_ADJUSTMENT_PATTERN=Array.from([Int32Array.from([1,1,1,1,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,0,1,0,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,1,1,1,1])]),q.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE=Array.from([Int32Array.from([-1,-1,-1,-1,-1,-1,-1]),Int32Array.from([6,18,-1,-1,-1,-1,-1]),Int32Array.from([6,22,-1,-1,-1,-1,-1]),Int32Array.from([6,26,-1,-1,-1,-1,-1]),Int32Array.from([6,30,-1,-1,-1,-1,-1]),Int32Array.from([6,34,-1,-1,-1,-1,-1]),Int32Array.from([6,22,38,-1,-1,-1,-1]),Int32Array.from([6,24,42,-1,-1,-1,-1]),Int32Array.from([6,26,46,-1,-1,-1,-1]),Int32Array.from([6,28,50,-1,-1,-1,-1]),Int32Array.from([6,30,54,-1,-1,-1,-1]),Int32Array.from([6,32,58,-1,-1,-1,-1]),Int32Array.from([6,34,62,-1,-1,-1,-1]),Int32Array.from([6,26,46,66,-1,-1,-1]),Int32Array.from([6,26,48,70,-1,-1,-1]),Int32Array.from([6,26,50,74,-1,-1,-1]),Int32Array.from([6,30,54,78,-1,-1,-1]),Int32Array.from([6,30,56,82,-1,-1,-1]),Int32Array.from([6,30,58,86,-1,-1,-1]),Int32Array.from([6,34,62,90,-1,-1,-1]),Int32Array.from([6,28,50,72,94,-1,-1]),Int32Array.from([6,26,50,74,98,-1,-1]),Int32Array.from([6,30,54,78,102,-1,-1]),Int32Array.from([6,28,54,80,106,-1,-1]),Int32Array.from([6,32,58,84,110,-1,-1]),Int32Array.from([6,30,58,86,114,-1,-1]),Int32Array.from([6,34,62,90,118,-1,-1]),Int32Array.from([6,26,50,74,98,122,-1]),Int32Array.from([6,30,54,78,102,126,-1]),Int32Array.from([6,26,52,78,104,130,-1]),Int32Array.from([6,30,56,82,108,134,-1]),Int32Array.from([6,34,60,86,112,138,-1]),Int32Array.from([6,30,58,86,114,142,-1]),Int32Array.from([6,34,62,90,118,146,-1]),Int32Array.from([6,30,54,78,102,126,150]),Int32Array.from([6,24,50,76,102,128,154]),Int32Array.from([6,28,54,80,106,132,158]),Int32Array.from([6,32,58,84,110,136,162]),Int32Array.from([6,26,54,82,110,138,166]),Int32Array.from([6,30,58,86,114,142,170])]),q.TYPE_INFO_COORDINATES=Array.from([Int32Array.from([8,0]),Int32Array.from([8,1]),Int32Array.from([8,2]),Int32Array.from([8,3]),Int32Array.from([8,4]),Int32Array.from([8,5]),Int32Array.from([8,7]),Int32Array.from([8,8]),Int32Array.from([7,8]),Int32Array.from([5,8]),Int32Array.from([4,8]),Int32Array.from([3,8]),Int32Array.from([2,8]),Int32Array.from([1,8]),Int32Array.from([0,8])]),q.VERSION_INFO_POLY=7973,q.TYPE_INFO_POLY=1335,q.TYPE_INFO_MASK_PATTERN=21522;class Pi{constructor(e,t){this.dataBytes=e,this.errorCorrectionBytes=t}getDataBytes(){return this.dataBytes}getErrorCorrectionBytes(){return this.errorCorrectionBytes}}class Te{constructor(){}static calculateMaskPenalty(e){return Re.applyMaskPenaltyRule1(e)+Re.applyMaskPenaltyRule2(e)+Re.applyMaskPenaltyRule3(e)+Re.applyMaskPenaltyRule4(e)}static encode(e,t,n=null){let r=Te.DEFAULT_BYTE_MODE_ENCODING;const i=n!==null&&n.get(Ve.CHARACTER_SET)!==void 0;i&&(r=n.get(Ve.CHARACTER_SET).toString());const s=this.chooseMode(e,r),o=new ee;if(s===K.BYTE&&(i||Te.DEFAULT_BYTE_MODE_ENCODING!==r)){const k=P.getCharacterSetECIByName(r);k!==void 0&&this.appendECI(k,o)}this.appendModeInfo(s,o);const a=new ee;this.appendBytes(e,s,a,r);let l;if(n!==null&&n.get(Ve.QR_VERSION)!==void 0){const k=Number.parseInt(n.get(Ve.QR_VERSION).toString(),10);l=Z.getVersionForNumber(k);const L=this.calculateBitsNeeded(s,o,a,l);if(!this.willFit(L,l,t))throw new me("Data too big for requested version")}else l=this.recommendVersion(t,s,o,a);const c=new ee;c.appendBitArray(o);const f=s===K.BYTE?a.getSizeInBytes():e.length;this.appendLengthInfo(f,l,s,c),c.appendBitArray(a);const w=l.getECBlocksForLevel(t),E=l.getTotalCodewords()-w.getTotalECCodewords();this.terminateBits(E,c);const p=this.interleaveWithECBytes(c,l.getTotalCodewords(),E,w.getNumBlocks()),b=new Xt;b.setECLevel(t),b.setMode(s),b.setVersion(l);const y=l.getDimensionForVersion(),O=new vn(y,y),F=this.chooseMaskPattern(p,t,l,O);return b.setMaskPattern(F),q.buildMatrix(p,t,l,F,O),b.setMatrix(O),b}static recommendVersion(e,t,n,r){const i=this.calculateBitsNeeded(t,n,r,Z.getVersionForNumber(1)),s=this.chooseVersion(i,e),o=this.calculateBitsNeeded(t,n,r,s);return this.chooseVersion(o,e)}static calculateBitsNeeded(e,t,n,r){return t.getSize()+e.getCharacterCountBits(r)+n.getSize()}static getAlphanumericCode(e){return e<Te.ALPHANUMERIC_TABLE.length?Te.ALPHANUMERIC_TABLE[e]:-1}static chooseMode(e,t=null){if(P.SJIS.getName()===t&&this.isOnlyDoubleByteKanji(e))return K.KANJI;let n=!1,r=!1;for(let i=0,s=e.length;i<s;++i){const o=e.charAt(i);if(Te.isDigit(o))n=!0;else if(this.getAlphanumericCode(o.charCodeAt(0))!==-1)r=!0;else return K.BYTE}return r?K.ALPHANUMERIC:n?K.NUMERIC:K.BYTE}static isOnlyDoubleByteKanji(e){let t;try{t=Fe.encode(e,P.SJIS)}catch{return!1}const n=t.length;if(n%2!==0)return!1;for(let r=0;r<n;r+=2){const i=t[r]&255;if((i<129||i>159)&&(i<224||i>235))return!1}return!0}static chooseMaskPattern(e,t,n,r){let i=Number.MAX_SAFE_INTEGER,s=-1;for(let o=0;o<Xt.NUM_MASK_PATTERNS;o++){q.buildMatrix(e,t,n,o,r);let a=this.calculateMaskPenalty(r);a<i&&(i=a,s=o)}return s}static chooseVersion(e,t){for(let n=1;n<=40;n++){const r=Z.getVersionForNumber(n);if(Te.willFit(e,r,t))return r}throw new me("Data too big")}static willFit(e,t,n){const r=t.getTotalCodewords(),s=t.getECBlocksForLevel(n).getTotalECCodewords(),o=r-s,a=(e+7)/8;return o>=a}static terminateBits(e,t){const n=e*8;if(t.getSize()>n)throw new me("data bits cannot fit in the QR Code"+t.getSize()+" > "+n);for(let s=0;s<4&&t.getSize()<n;++s)t.appendBit(!1);const r=t.getSize()&7;if(r>0)for(let s=r;s<8;s++)t.appendBit(!1);const i=e-t.getSizeInBytes();for(let s=0;s<i;++s)t.appendBits(s&1?17:236,8);if(t.getSize()!==n)throw new me("Bits size does not equal capacity")}static getNumDataBytesAndNumECBytesForBlockID(e,t,n,r,i,s){if(r>=n)throw new me("Block ID too large");const o=e%n,a=n-o,l=Math.floor(e/n),c=l+1,f=Math.floor(t/n),w=f+1,E=l-f,p=c-w;if(E!==p)throw new me("EC bytes mismatch");if(n!==a+o)throw new me("RS blocks mismatch");if(e!==(f+E)*a+(w+p)*o)throw new me("Total bytes mismatch");r<a?(i[0]=f,s[0]=E):(i[0]=w,s[0]=p)}static interleaveWithECBytes(e,t,n,r){if(e.getSizeInBytes()!==n)throw new me("Number of bits and data bytes does not match");let i=0,s=0,o=0;const a=new Array;for(let c=0;c<r;++c){const f=new Int32Array(1),w=new Int32Array(1);Te.getNumDataBytesAndNumECBytesForBlockID(t,n,r,c,f,w);const E=f[0],p=new Uint8Array(E);e.toBytes(8*i,p,0,E);const b=Te.generateECBytes(p,w[0]);a.push(new Pi(p,b)),s=Math.max(s,E),o=Math.max(o,b.length),i+=f[0]}if(n!==i)throw new me("Data bytes does not match offset");const l=new ee;for(let c=0;c<s;++c)for(const f of a){const w=f.getDataBytes();c<w.length&&l.appendBits(w[c],8)}for(let c=0;c<o;++c)for(const f of a){const w=f.getErrorCorrectionBytes();c<w.length&&l.appendBits(w[c],8)}if(t!==l.getSizeInBytes())throw new me("Interleaving error: "+t+" and "+l.getSizeInBytes()+" differ.");return l}static generateECBytes(e,t){const n=e.length,r=new Int32Array(n+t);for(let s=0;s<n;s++)r[s]=e[s]&255;new ar(xe.QR_CODE_FIELD_256).encode(r,t);const i=new Uint8Array(t);for(let s=0;s<t;s++)i[s]=r[n+s];return i}static appendModeInfo(e,t){t.appendBits(e.getBits(),4)}static appendLengthInfo(e,t,n,r){const i=n.getCharacterCountBits(t);if(e>=1<<i)throw new me(e+" is bigger than "+((1<<i)-1));r.appendBits(e,i)}static appendBytes(e,t,n,r){switch(t){case K.NUMERIC:Te.appendNumericBytes(e,n);break;case K.ALPHANUMERIC:Te.appendAlphanumericBytes(e,n);break;case K.BYTE:Te.append8BitBytes(e,n,r);break;case K.KANJI:Te.appendKanjiBytes(e,n);break;default:throw new me("Invalid mode: "+t)}}static getDigit(e){return e.charCodeAt(0)-48}static isDigit(e){const t=Te.getDigit(e);return t>=0&&t<=9}static appendNumericBytes(e,t){const n=e.length;let r=0;for(;r<n;){const i=Te.getDigit(e.charAt(r));if(r+2<n){const s=Te.getDigit(e.charAt(r+1)),o=Te.getDigit(e.charAt(r+2));t.appendBits(i*100+s*10+o,10),r+=3}else if(r+1<n){const s=Te.getDigit(e.charAt(r+1));t.appendBits(i*10+s,7),r+=2}else t.appendBits(i,4),r++}}static appendAlphanumericBytes(e,t){const n=e.length;let r=0;for(;r<n;){const i=Te.getAlphanumericCode(e.charCodeAt(r));if(i===-1)throw new me;if(r+1<n){const s=Te.getAlphanumericCode(e.charCodeAt(r+1));if(s===-1)throw new me;t.appendBits(i*45+s,11),r+=2}else t.appendBits(i,6),r++}}static append8BitBytes(e,t,n){let r;try{r=Fe.encode(e,n)}catch(i){throw new me(i)}for(let i=0,s=r.length;i!==s;i++){const o=r[i];t.appendBits(o,8)}}static appendKanjiBytes(e,t){let n;try{n=Fe.encode(e,P.SJIS)}catch(i){throw new me(i)}const r=n.length;for(let i=0;i<r;i+=2){const s=n[i]&255,o=n[i+1]&255,a=s<<8&4294967295|o;let l=-1;if(a>=33088&&a<=40956?l=a-33088:a>=57408&&a<=60351&&(l=a-49472),l===-1)throw new me("Invalid byte sequence");const c=(l>>8)*192+(l&255);t.appendBits(c,13)}}static appendECI(e,t){t.appendBits(K.ECI.getBits(),4),t.appendBits(e.getValue(),8)}}Te.ALPHANUMERIC_TABLE=Int32Array.from([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,36,-1,-1,-1,37,38,-1,-1,-1,-1,39,40,-1,41,42,43,0,1,2,3,4,5,6,7,8,9,44,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,-1,-1,-1,-1,-1]),Te.DEFAULT_BYTE_MODE_ENCODING=P.UTF8.getName();class Yt{write(e,t,n,r=null){if(e.length===0)throw new R("Found empty contents");if(t<0||n<0)throw new R("Requested dimensions are too small: "+t+"x"+n);let i=be.L,s=Yt.QUIET_ZONE_SIZE;r!==null&&(r.get(Ve.ERROR_CORRECTION)!==void 0&&(i=be.fromString(r.get(Ve.ERROR_CORRECTION).toString())),r.get(Ve.MARGIN)!==void 0&&(s=Number.parseInt(r.get(Ve.MARGIN).toString(),10)));const o=Te.encode(e,i,r);return this.renderResult(o,t,n,s)}writeToDom(e,t,n,r,i=null){typeof e=="string"&&(e=document.querySelector(e));const s=this.write(t,n,r,i);e&&e.appendChild(s)}renderResult(e,t,n,r){const i=e.getMatrix();if(i===null)throw new mt;const s=i.getWidth(),o=i.getHeight(),a=s+r*2,l=o+r*2,c=Math.max(t,a),f=Math.max(n,l),w=Math.min(Math.floor(c/a),Math.floor(f/l)),E=Math.floor((c-s*w)/2),p=Math.floor((f-o*w)/2),b=this.createSVGElement(c,f);for(let y=0,O=p;y<o;y++,O+=w)for(let F=0,k=E;F<s;F++,k+=w)if(i.get(F,y)===1){const L=this.createSvgRectElement(k,O,w,w);b.appendChild(L)}return b}createSVGElement(e,t){const n=document.createElementNS(Yt.SVG_NS,"svg");return n.setAttributeNS(null,"height",e.toString()),n.setAttributeNS(null,"width",t.toString()),n}createSvgRectElement(e,t,n,r){const i=document.createElementNS(Yt.SVG_NS,"rect");return i.setAttributeNS(null,"x",e.toString()),i.setAttributeNS(null,"y",t.toString()),i.setAttributeNS(null,"height",n.toString()),i.setAttributeNS(null,"width",r.toString()),i.setAttributeNS(null,"fill","#000000"),i}}Yt.QUIET_ZONE_SIZE=4,Yt.SVG_NS="http://www.w3.org/2000/svg";class $t{encode(e,t,n,r,i){if(e.length===0)throw new R("Found empty contents");if(t!==j.QR_CODE)throw new R("Can only encode QR_CODE, but got "+t);if(n<0||r<0)throw new R(`Requested dimensions are too small: ${n}x${r}`);let s=be.L,o=$t.QUIET_ZONE_SIZE;i!==null&&(i.get(Ve.ERROR_CORRECTION)!==void 0&&(s=be.fromString(i.get(Ve.ERROR_CORRECTION).toString())),i.get(Ve.MARGIN)!==void 0&&(o=Number.parseInt(i.get(Ve.MARGIN).toString(),10)));const a=Te.encode(e,s,i);return $t.renderResult(a,n,r,o)}static renderResult(e,t,n,r){const i=e.getMatrix();if(i===null)throw new mt;const s=i.getWidth(),o=i.getHeight(),a=s+r*2,l=o+r*2,c=Math.max(t,a),f=Math.max(n,l),w=Math.min(Math.floor(c/a),Math.floor(f/l)),E=Math.floor((c-s*w)/2),p=Math.floor((f-o*w)/2),b=new Me(c,f);for(let y=0,O=p;y<o;y++,O+=w)for(let F=0,k=E;F<s;F++,k+=w)i.get(F,y)===1&&b.setRegion(k,O,w,w);return b}}$t.QUIET_ZONE_SIZE=4;class Li{encode(e,t,n,r,i){let s;switch(t){case j.QR_CODE:s=new $t;break;default:throw new R("No encoder available for format "+t)}return s.encode(e,t,n,r,i)}}class Tt extends on{constructor(e,t,n,r,i,s,o,a){if(super(s,o),this.yuvData=e,this.dataWidth=t,this.dataHeight=n,this.left=r,this.top=i,r+s>t||i+o>n)throw new R("Crop rectangle does not fit within image data.");a&&this.reverseHorizontal(s,o)}getRow(e,t){if(e<0||e>=this.getHeight())throw new R("Requested row is outside the image: "+e);const n=this.getWidth();(t==null||t.length<n)&&(t=new Uint8ClampedArray(n));const r=(e+this.top)*this.dataWidth+this.left;return ie.arraycopy(this.yuvData,r,t,0,n),t}getMatrix(){const e=this.getWidth(),t=this.getHeight();if(e===this.dataWidth&&t===this.dataHeight)return this.yuvData;const n=e*t,r=new Uint8ClampedArray(n);let i=this.top*this.dataWidth+this.left;if(e===this.dataWidth)return ie.arraycopy(this.yuvData,i,r,0,n),r;for(let s=0;s<t;s++){const o=s*e;ie.arraycopy(this.yuvData,i,r,o,e),i+=this.dataWidth}return r}isCropSupported(){return!0}crop(e,t,n,r){return new Tt(this.yuvData,this.dataWidth,this.dataHeight,this.left+e,this.top+t,n,r,!1)}renderThumbnail(){const e=this.getWidth()/Tt.THUMBNAIL_SCALE_FACTOR,t=this.getHeight()/Tt.THUMBNAIL_SCALE_FACTOR,n=new Int32Array(e*t),r=this.yuvData;let i=this.top*this.dataWidth+this.left;for(let s=0;s<t;s++){const o=s*e;for(let a=0;a<e;a++){const l=r[i+a*Tt.THUMBNAIL_SCALE_FACTOR]&255;n[o+a]=4278190080|l*65793}i+=this.dataWidth*Tt.THUMBNAIL_SCALE_FACTOR}return n}getThumbnailWidth(){return this.getWidth()/Tt.THUMBNAIL_SCALE_FACTOR}getThumbnailHeight(){return this.getHeight()/Tt.THUMBNAIL_SCALE_FACTOR}reverseHorizontal(e,t){const n=this.yuvData;for(let r=0,i=this.top*this.dataWidth+this.left;r<t;r++,i+=this.dataWidth){const s=i+e/2;for(let o=i,a=i+e-1;o<s;o++,a--){const l=n[o];n[o]=n[a],n[a]=l}}}invert(){return new Ot(this)}}Tt.THUMBNAIL_SCALE_FACTOR=2;class lr extends on{constructor(e,t,n,r,i,s,o){if(super(t,n),this.dataWidth=r,this.dataHeight=i,this.left=s,this.top=o,e.BYTES_PER_ELEMENT===4){const a=t*n,l=new Uint8ClampedArray(a);for(let c=0;c<a;c++){const f=e[c],w=f>>16&255,E=f>>7&510,p=f&255;l[c]=(w+E+p)/4&255}this.luminances=l}else this.luminances=e;if(r===void 0&&(this.dataWidth=t),i===void 0&&(this.dataHeight=n),s===void 0&&(this.left=0),o===void 0&&(this.top=0),this.left+t>this.dataWidth||this.top+n>this.dataHeight)throw new R("Crop rectangle does not fit within image data.")}getRow(e,t){if(e<0||e>=this.getHeight())throw new R("Requested row is outside the image: "+e);const n=this.getWidth();(t==null||t.length<n)&&(t=new Uint8ClampedArray(n));const r=(e+this.top)*this.dataWidth+this.left;return ie.arraycopy(this.luminances,r,t,0,n),t}getMatrix(){const e=this.getWidth(),t=this.getHeight();if(e===this.dataWidth&&t===this.dataHeight)return this.luminances;const n=e*t,r=new Uint8ClampedArray(n);let i=this.top*this.dataWidth+this.left;if(e===this.dataWidth)return ie.arraycopy(this.luminances,i,r,0,n),r;for(let s=0;s<t;s++){const o=s*e;ie.arraycopy(this.luminances,i,r,o,e),i+=this.dataWidth}return r}isCropSupported(){return!0}crop(e,t,n,r){return new lr(this.luminances,n,r,this.dataWidth,this.dataHeight,this.left+e,this.top+t)}invert(){return new Ot(this)}}class Vr extends P{static forName(e){return this.getCharacterSetECIByName(e)}}class cr{}cr.ISO_8859_1=P.ISO8859_1;class Gr{isCompact(){return this.compact}setCompact(e){this.compact=e}getSize(){return this.size}setSize(e){this.size=e}getLayers(){return this.layers}setLayers(e){this.layers=e}getCodeWords(){return this.codeWords}setCodeWords(e){this.codeWords=e}getMatrix(){return this.matrix}setMatrix(e){this.matrix=e}}class Hr{static singletonList(e){return[e]}static min(e,t){return e.sort(t)[0]}}class Fi{constructor(e){this.previous=e}getPrevious(){return this.previous}}class en extends Fi{constructor(e,t,n){super(e),this.value=t,this.bitCount=n}appendTo(e,t){e.appendBits(this.value,this.bitCount)}add(e,t){return new en(this,e,t)}addBinaryShift(e,t){return console.warn("addBinaryShift on SimpleToken, this simply returns a copy of this token"),new en(this,e,t)}toString(){let e=this.value&(1<<this.bitCount)-1;return e|=1<<this.bitCount,"<"+Y.toBinaryString(e|1<<this.bitCount).substring(1)+">"}}class ur extends en{constructor(e,t,n){super(e,0,0),this.binaryShiftStart=t,this.binaryShiftByteCount=n}appendTo(e,t){for(let n=0;n<this.binaryShiftByteCount;n++)(n===0||n===31&&this.binaryShiftByteCount<=62)&&(e.appendBits(31,5),this.binaryShiftByteCount>62?e.appendBits(this.binaryShiftByteCount-31,16):n===0?e.appendBits(Math.min(this.binaryShiftByteCount,31),5):e.appendBits(this.binaryShiftByteCount-31,5)),e.appendBits(t[this.binaryShiftStart+n],8)}addBinaryShift(e,t){return new ur(this,e,t)}toString(){return"<"+this.binaryShiftStart+"::"+(this.binaryShiftStart+this.binaryShiftByteCount-1)+">"}}function ki(h,e,t){return new ur(h,e,t)}function An(h,e,t){return new en(h,e,t)}const Ui=["UPPER","LOWER","DIGIT","MIXED","PUNCT"],Ft=0,Pn=1,gt=2,Wr=3,yt=4,Vi=new en(null,0,0),hr=[Int32Array.from([0,(5<<16)+28,(5<<16)+30,(5<<16)+29,655360+928+30]),Int32Array.from([(9<<16)+480+14,0,(5<<16)+30,(5<<16)+29,655360+928+30]),Int32Array.from([(4<<16)+14,(9<<16)+448+28,0,(9<<16)+448+29,917504+14336+928+30]),Int32Array.from([(5<<16)+29,(5<<16)+28,655360+928+30,0,(5<<16)+30]),Int32Array.from([(5<<16)+31,655360+992+28,655360+992+30,655360+992+29,0])];function Gi(h){for(let e of h)J.fill(e,-1);return h[Ft][yt]=0,h[Pn][yt]=0,h[Pn][Ft]=28,h[Wr][yt]=0,h[gt][yt]=0,h[gt][Ft]=15,h}const Xr=Gi(J.createInt32Array(6,6));class St{constructor(e,t,n,r){this.token=e,this.mode=t,this.binaryShiftByteCount=n,this.bitCount=r}getMode(){return this.mode}getToken(){return this.token}getBinaryShiftByteCount(){return this.binaryShiftByteCount}getBitCount(){return this.bitCount}latchAndAppend(e,t){let n=this.bitCount,r=this.token;if(e!==this.mode){let s=hr[this.mode][e];r=An(r,s&65535,s>>16),n+=s>>16}let i=e===gt?4:5;return r=An(r,t,i),new St(r,e,0,n+i)}shiftAndAppend(e,t){let n=this.token,r=this.mode===gt?4:5;return n=An(n,Xr[this.mode][e],r),n=An(n,t,5),new St(n,this.mode,0,this.bitCount+r+5)}addBinaryShiftChar(e){let t=this.token,n=this.mode,r=this.bitCount;if(this.mode===yt||this.mode===gt){let o=hr[n][Ft];t=An(t,o&65535,o>>16),r+=o>>16,n=Ft}let i=this.binaryShiftByteCount===0||this.binaryShiftByteCount===31?18:this.binaryShiftByteCount===62?9:8,s=new St(t,n,this.binaryShiftByteCount+1,r+i);return s.binaryShiftByteCount===2047+31&&(s=s.endBinaryShift(e+1)),s}endBinaryShift(e){if(this.binaryShiftByteCount===0)return this;let t=this.token;return t=ki(t,e-this.binaryShiftByteCount,this.binaryShiftByteCount),new St(t,this.mode,0,this.bitCount)}isBetterThanOrEqualTo(e){let t=this.bitCount+(hr[this.mode][e.mode]>>16);return this.binaryShiftByteCount<e.binaryShiftByteCount?t+=St.calculateBinaryShiftCost(e)-St.calculateBinaryShiftCost(this):this.binaryShiftByteCount>e.binaryShiftByteCount&&e.binaryShiftByteCount>0&&(t+=10),t<=e.bitCount}toBitArray(e){let t=[];for(let r=this.endBinaryShift(e.length).token;r!==null;r=r.getPrevious())t.unshift(r);let n=new ee;for(const r of t)r.appendTo(n,e);return n}toString(){return z.format("%s bits=%d bytes=%d",Ui[this.mode],this.bitCount,this.binaryShiftByteCount)}static calculateBinaryShiftCost(e){return e.binaryShiftByteCount>62?21:e.binaryShiftByteCount>31?20:e.binaryShiftByteCount>0?10:0}}St.INITIAL_STATE=new St(Vi,Ft,0,0);function Hi(h){const e=z.getCharCode(" "),t=z.getCharCode("."),n=z.getCharCode(",");h[Ft][e]=1;const r=z.getCharCode("Z"),i=z.getCharCode("A");for(let w=i;w<=r;w++)h[Ft][w]=w-i+2;h[Pn][e]=1;const s=z.getCharCode("z"),o=z.getCharCode("a");for(let w=o;w<=s;w++)h[Pn][w]=w-o+2;h[gt][e]=1;const a=z.getCharCode("9"),l=z.getCharCode("0");for(let w=l;w<=a;w++)h[gt][w]=w-l+2;h[gt][n]=12,h[gt][t]=13;const c=["\0"," ","","","","","","","\x07","\b"," ",`
  19. `,"\v","\f","\r","\x1B","","","","","@","\\","^","_","`","|","~",""];for(let w=0;w<c.length;w++)h[Wr][z.getCharCode(c[w])]=w;const f=["\0","\r","\0","\0","\0","\0","!","'","#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","[","]","{","}"];for(let w=0;w<f.length;w++)z.getCharCode(f[w])>0&&(h[yt][z.getCharCode(f[w])]=w);return h}const fr=Hi(J.createInt32Array(5,256));class Cn{constructor(e){this.text=e}encode(){const e=z.getCharCode(" "),t=z.getCharCode(`
  20. `);let n=Hr.singletonList(St.INITIAL_STATE);for(let i=0;i<this.text.length;i++){let s,o=i+1<this.text.length?this.text[i+1]:0;switch(this.text[i]){case z.getCharCode("\r"):s=o===t?2:0;break;case z.getCharCode("."):s=o===e?3:0;break;case z.getCharCode(","):s=o===e?4:0;break;case z.getCharCode(":"):s=o===e?5:0;break;default:s=0}s>0?(n=Cn.updateStateListForPair(n,i,s),i++):n=this.updateStateListForChar(n,i)}return Hr.min(n,(i,s)=>i.getBitCount()-s.getBitCount()).toBitArray(this.text)}updateStateListForChar(e,t){const n=[];for(let r of e)this.updateStateForChar(r,t,n);return Cn.simplifyStates(n)}updateStateForChar(e,t,n){let r=this.text[t]&255,i=fr[e.getMode()][r]>0,s=null;for(let o=0;o<=yt;o++){let a=fr[o][r];if(a>0){if(s==null&&(s=e.endBinaryShift(t)),!i||o===e.getMode()||o===gt){const l=s.latchAndAppend(o,a);n.push(l)}if(!i&&Xr[e.getMode()][o]>=0){const l=s.shiftAndAppend(o,a);n.push(l)}}}if(e.getBinaryShiftByteCount()>0||fr[e.getMode()][r]===0){let o=e.addBinaryShiftChar(t);n.push(o)}}static updateStateListForPair(e,t,n){const r=[];for(let i of e)this.updateStateForPair(i,t,n,r);return this.simplifyStates(r)}static updateStateForPair(e,t,n,r){let i=e.endBinaryShift(t);if(r.push(i.latchAndAppend(yt,n)),e.getMode()!==yt&&r.push(i.shiftAndAppend(yt,n)),n===3||n===4){let s=i.latchAndAppend(gt,16-n).latchAndAppend(gt,1);r.push(s)}if(e.getBinaryShiftByteCount()>0){let s=e.addBinaryShiftChar(t).addBinaryShiftChar(t+1);r.push(s)}}static simplifyStates(e){let t=[];for(const n of e){let r=!0;for(const i of t){if(i.isBetterThanOrEqualTo(n)){r=!1;break}n.isBetterThanOrEqualTo(i)&&(t=t.filter(s=>s!==i))}r&&t.push(n)}return t}}class de{constructor(){}static encodeBytes(e){return de.encode(e,de.DEFAULT_EC_PERCENT,de.DEFAULT_AZTEC_LAYERS)}static encode(e,t,n){let r=new Cn(e).encode(),i=Y.truncDivision(r.getSize()*t,100)+11,s=r.getSize()+i,o,a,l,c,f;if(n!==de.DEFAULT_AZTEC_LAYERS){if(o=n<0,a=Math.abs(n),a>(o?de.MAX_NB_BITS_COMPACT:de.MAX_NB_BITS))throw new R(z.format("Illegal value %s for layers",n));l=de.totalBitsInLayer(a,o),c=de.WORD_SIZE[a];let L=l-l%c;if(f=de.stuffBits(r,c),f.getSize()+i>L)throw new R("Data to large for user specified layer");if(o&&f.getSize()>c*64)throw new R("Data to large for user specified layer")}else{c=0,f=null;for(let L=0;;L++){if(L>de.MAX_NB_BITS)throw new R("Data too large for an Aztec code");if(o=L<=3,a=o?L+1:L,l=de.totalBitsInLayer(a,o),s>l)continue;(f==null||c!==de.WORD_SIZE[a])&&(c=de.WORD_SIZE[a],f=de.stuffBits(r,c));let ae=l-l%c;if(!(o&&f.getSize()>c*64)&&f.getSize()+i<=ae)break}}let w=de.generateCheckWords(f,l,c),E=f.getSize()/c,p=de.generateModeMessage(o,a,E),b=(o?11:14)+a*4,y=new Int32Array(b),O;if(o){O=b;for(let L=0;L<y.length;L++)y[L]=L}else{O=b+1+2*Y.truncDivision(Y.truncDivision(b,2)-1,15);let L=Y.truncDivision(b,2),ae=Y.truncDivision(O,2);for(let te=0;te<L;te++){let lt=te+Y.truncDivision(te,15);y[L-te-1]=ae-lt-1,y[L+te]=ae+lt+1}}let F=new Me(O);for(let L=0,ae=0;L<a;L++){let te=(a-L)*4+(o?9:12);for(let lt=0;lt<te;lt++){let Ct=lt*2;for(let ct=0;ct<2;ct++)w.get(ae+Ct+ct)&&F.set(y[L*2+ct],y[L*2+lt]),w.get(ae+te*2+Ct+ct)&&F.set(y[L*2+lt],y[b-1-L*2-ct]),w.get(ae+te*4+Ct+ct)&&F.set(y[b-1-L*2-ct],y[b-1-L*2-lt]),w.get(ae+te*6+Ct+ct)&&F.set(y[b-1-L*2-lt],y[L*2+ct])}ae+=te*8}if(de.drawModeMessage(F,o,O,p),o)de.drawBullsEye(F,Y.truncDivision(O,2),5);else{de.drawBullsEye(F,Y.truncDivision(O,2),7);for(let L=0,ae=0;L<Y.truncDivision(b,2)-1;L+=15,ae+=16)for(let te=Y.truncDivision(O,2)&1;te<O;te+=2)F.set(Y.truncDivision(O,2)-ae,te),F.set(Y.truncDivision(O,2)+ae,te),F.set(te,Y.truncDivision(O,2)-ae),F.set(te,Y.truncDivision(O,2)+ae)}let k=new Gr;return k.setCompact(o),k.setSize(O),k.setLayers(a),k.setCodeWords(E),k.setMatrix(F),k}static drawBullsEye(e,t,n){for(let r=0;r<n;r+=2)for(let i=t-r;i<=t+r;i++)e.set(i,t-r),e.set(i,t+r),e.set(t-r,i),e.set(t+r,i);e.set(t-n,t-n),e.set(t-n+1,t-n),e.set(t-n,t-n+1),e.set(t+n,t-n),e.set(t+n,t-n+1),e.set(t+n,t+n-1)}static generateModeMessage(e,t,n){let r=new ee;return e?(r.appendBits(t-1,2),r.appendBits(n-1,6),r=de.generateCheckWords(r,28,4)):(r.appendBits(t-1,5),r.appendBits(n-1,11),r=de.generateCheckWords(r,40,4)),r}static drawModeMessage(e,t,n,r){let i=Y.truncDivision(n,2);if(t)for(let s=0;s<7;s++){let o=i-3+s;r.get(s)&&e.set(o,i-5),r.get(s+7)&&e.set(i+5,o),r.get(20-s)&&e.set(o,i+5),r.get(27-s)&&e.set(i-5,o)}else for(let s=0;s<10;s++){let o=i-5+s+Y.truncDivision(s,5);r.get(s)&&e.set(o,i-7),r.get(s+10)&&e.set(i+7,o),r.get(29-s)&&e.set(o,i+7),r.get(39-s)&&e.set(i-7,o)}}static generateCheckWords(e,t,n){let r=e.getSize()/n,i=new ar(de.getGF(n)),s=Y.truncDivision(t,n),o=de.bitsToWords(e,n,s);i.encode(o,s-r);let a=t%n,l=new ee;l.appendBits(0,a);for(const c of Array.from(o))l.appendBits(c,n);return l}static bitsToWords(e,t,n){let r=new Int32Array(n),i,s;for(i=0,s=e.getSize()/t;i<s;i++){let o=0;for(let a=0;a<t;a++)o|=e.get(i*t+a)?1<<t-a-1:0;r[i]=o}return r}static getGF(e){switch(e){case 4:return xe.AZTEC_PARAM;case 6:return xe.AZTEC_DATA_6;case 8:return xe.AZTEC_DATA_8;case 10:return xe.AZTEC_DATA_10;case 12:return xe.AZTEC_DATA_12;default:throw new R("Unsupported word size "+e)}}static stuffBits(e,t){let n=new ee,r=e.getSize(),i=(1<<t)-2;for(let s=0;s<r;s+=t){let o=0;for(let a=0;a<t;a++)(s+a>=r||e.get(s+a))&&(o|=1<<t-1-a);(o&i)===i?(n.appendBits(o&i,t),s--):o&i?n.appendBits(o,t):(n.appendBits(o|1,t),s--)}return n}static totalBitsInLayer(e,t){return((t?88:112)+16*e)*e}}de.DEFAULT_EC_PERCENT=33,de.DEFAULT_AZTEC_LAYERS=0,de.MAX_NB_BITS=32,de.MAX_NB_BITS_COMPACT=4,de.WORD_SIZE=Int32Array.from([4,6,6,8,8,8,8,8,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12]);class Ln{encode(e,t,n,r){return this.encodeWithHints(e,t,n,r,null)}encodeWithHints(e,t,n,r,i){let s=cr.ISO_8859_1,o=de.DEFAULT_EC_PERCENT,a=de.DEFAULT_AZTEC_LAYERS;return i!=null&&(i.has(Ve.CHARACTER_SET)&&(s=Vr.forName(i.get(Ve.CHARACTER_SET).toString())),i.has(Ve.ERROR_CORRECTION)&&(o=Y.parseInt(i.get(Ve.ERROR_CORRECTION).toString())),i.has(Ve.AZTEC_LAYERS)&&(a=Y.parseInt(i.get(Ve.AZTEC_LAYERS).toString()))),Ln.encodeLayers(e,t,n,r,s,o,a)}static encodeLayers(e,t,n,r,i,s,o){if(t!==j.AZTEC)throw new R("Can only encode AZTEC, but got "+t);let a=de.encode(z.getBytes(e,i),s,o);return Ln.renderResult(a,n,r)}static renderResult(e,t,n){let r=e.getMatrix();if(r==null)throw new mt;let i=r.getWidth(),s=r.getHeight(),o=Math.max(t,i),a=Math.max(n,s),l=Math.min(o/i,a/s),c=(o-i*l)/2,f=(a-s*l)/2,w=new Me(o,a);for(let E=0,p=f;E<s;E++,p+=l)for(let b=0,y=c;b<i;b++,y+=l)r.get(b,E)&&w.setRegion(y,p,l,l);return w}}u.AbstractExpandedDecoder=Qn,u.ArgumentException=N,u.ArithmeticException=Tn,u.AztecCode=Gr,u.AztecCodeReader=Nn,u.AztecCodeWriter=Ln,u.AztecDecoder=pe,u.AztecDetector=Nr,u.AztecDetectorResult=yr,u.AztecEncoder=de,u.AztecHighLevelEncoder=Cn,u.AztecPoint=tt,u.BarcodeFormat=j,u.Binarizer=Pe,u.BinaryBitmap=le,u.BitArray=ee,u.BitMatrix=Me,u.BitSource=tr,u.BrowserAztecCodeReader=xi,u.BrowserBarcodeReader=Ei,u.BrowserCodeReader=Ut,u.BrowserDatamatrixCodeReader=Ii,u.BrowserMultiFormatReader=Mi,u.BrowserPDF417Reader=Bi,u.BrowserQRCodeReader=vi,u.BrowserQRCodeSvgWriter=Yt,u.CharacterSetECI=P,u.ChecksumException=$,u.Code128Reader=V,u.Code39Reader=ke,u.DataMatrixDecodedBitStreamParser=Bt,u.DataMatrixReader=vt,u.DecodeHintType=ue,u.DecoderResult=an,u.DefaultGridSampler=Sr,u.DetectorResult=Sn,u.EAN13Reader=Vt,u.EncodeHintType=Ve,u.Exception=A,u.FormatException=U,u.GenericGF=xe,u.GenericGFPoly=it,u.GlobalHistogramBinarizer=He,u.GridSampler=Zn,u.GridSamplerInstance=Dt,u.HTMLCanvasElementLuminanceSource=Rt,u.HybridBinarizer=ne,u.ITFReader=Ee,u.IllegalArgumentException=R,u.IllegalStateException=mt,u.InvertedLuminanceSource=Ot,u.LuminanceSource=on,u.MathUtils=fe,u.MultiFormatOneDReader=Qt,u.MultiFormatReader=Ur,u.MultiFormatWriter=Li,u.NotFoundException=D,u.OneDReader=ve,u.PDF417DecodedBitStreamParser=_,u.PDF417DecoderErrorCorrection=Br,u.PDF417Reader=Ke,u.PDF417ResultMetadata=Pr,u.PerspectiveTransform=wt,u.PlanarYUVLuminanceSource=Tt,u.QRCodeByteMatrix=vn,u.QRCodeDataMask=dt,u.QRCodeDecodedBitStreamParser=Ne,u.QRCodeDecoderErrorCorrectionLevel=be,u.QRCodeDecoderFormatInformation=Je,u.QRCodeEncoder=Te,u.QRCodeEncoderQRCode=Xt,u.QRCodeMaskUtil=Re,u.QRCodeMatrixUtil=q,u.QRCodeMode=K,u.QRCodeReader=Pt,u.QRCodeVersion=Z,u.QRCodeWriter=$t,u.RGBLuminanceSource=lr,u.RSS14Reader=Oe,u.RSSExpandedReader=v,u.ReaderException=Bn,u.ReedSolomonDecoder=cn,u.ReedSolomonEncoder=ar,u.ReedSolomonException=Zt,u.Result=et,u.ResultMetadataType=We,u.ResultPoint=X,u.StringUtils=z,u.UnsupportedOperationException=Le,u.VideoInputDevice=Tr,u.WhiteRectangleDetector=Nt,u.WriterException=me,u.ZXingArrays=J,u.ZXingCharset=Vr,u.ZXingInteger=Y,u.ZXingStandardCharsets=cr,u.ZXingStringBuilder=he,u.ZXingStringEncoding=Fe,u.ZXingSystem=ie,u.createAbstractExpandedDecoder=Dr,Object.defineProperty(u,"__esModule",{value:!0})})})(Ir,Ir.exports);var ye=Ir.exports;const Zs=$i(ye),Ks=bs({__proto__:null,default:Zs},[ye]);var ei=function(){function d(g,u,m){if(this.formatMap=new Map([[W.QR_CODE,ye.BarcodeFormat.QR_CODE],[W.AZTEC,ye.BarcodeFormat.AZTEC],[W.CODABAR,ye.BarcodeFormat.CODABAR],[W.CODE_39,ye.BarcodeFormat.CODE_39],[W.CODE_93,ye.BarcodeFormat.CODE_93],[W.CODE_128,ye.BarcodeFormat.CODE_128],[W.DATA_MATRIX,ye.BarcodeFormat.DATA_MATRIX],[W.MAXICODE,ye.BarcodeFormat.MAXICODE],[W.ITF,ye.BarcodeFormat.ITF],[W.EAN_13,ye.BarcodeFormat.EAN_13],[W.EAN_8,ye.BarcodeFormat.EAN_8],[W.PDF_417,ye.BarcodeFormat.PDF_417],[W.RSS_14,ye.BarcodeFormat.RSS_14],[W.RSS_EXPANDED,ye.BarcodeFormat.RSS_EXPANDED],[W.UPC_A,ye.BarcodeFormat.UPC_A],[W.UPC_E,ye.BarcodeFormat.UPC_E],[W.UPC_EAN_EXTENSION,ye.BarcodeFormat.UPC_EAN_EXTENSION]]),this.reverseFormatMap=this.createReverseFormatMap(),!Ks)throw"Use html5qrcode.min.js without edit, ZXing not found.";this.verbose=u,this.logger=m;var I=this.createZXingFormats(g),x=new Map;x.set(ye.DecodeHintType.POSSIBLE_FORMATS,I),x.set(ye.DecodeHintType.TRY_HARDER,!1),this.hints=x}return d.prototype.decodeAsync=function(g){var u=this;return new Promise(function(m,I){try{m(u.decode(g))}catch(x){I(x)}})},d.prototype.decode=function(g){var u=new ye.MultiFormatReader(this.verbose,this.hints),m=new ye.HTMLCanvasElementLuminanceSource(g),I=new ye.BinaryBitmap(new ye.HybridBinarizer(m)),x=u.decode(I);return{text:x.text,format:hi.create(this.toHtml5QrcodeSupportedFormats(x.format)),debugData:this.createDebugData()}},d.prototype.createReverseFormatMap=function(){var g=new Map;return this.formatMap.forEach(function(u,m,I){g.set(u,m)}),g},d.prototype.toHtml5QrcodeSupportedFormats=function(g){if(!this.reverseFormatMap.has(g))throw"reverseFormatMap doesn't have ".concat(g);return this.reverseFormatMap.get(g)},d.prototype.createZXingFormats=function(g){for(var u=[],m=0,I=g;m<I.length;m++){var x=I[m];this.formatMap.has(x)?u.push(this.formatMap.get(x)):this.logger.logError("".concat(x," is not supported by")+"ZXingHtml5QrcodeShim")}return u},d.prototype.createDebugData=function(){return{decoderName:"zxing-js"}},d}(),js=globalThis&&globalThis.__awaiter||function(d,g,u,m){function I(x){return x instanceof u?x:new u(function(T){T(x)})}return new(u||(u=Promise))(function(x,T){function M(N){try{A(m.next(N))}catch(R){T(R)}}function B(N){try{A(m.throw(N))}catch(R){T(R)}}function A(N){N.done?x(N.value):I(N.value).then(M,B)}A((m=m.apply(d,g||[])).next())})},qs=globalThis&&globalThis.__generator||function(d,g){var u={label:0,sent:function(){if(x[0]&1)throw x[1];return x[1]},trys:[],ops:[]},m,I,x,T;return T={next:M(0),throw:M(1),return:M(2)},typeof Symbol=="function"&&(T[Symbol.iterator]=function(){return this}),T;function M(A){return function(N){return B([A,N])}}function B(A){if(m)throw new TypeError("Generator is already executing.");for(;T&&(T=0,A[0]&&(u=0)),u;)try{if(m=1,I&&(x=A[0]&2?I.return:A[0]?I.throw||((x=I.return)&&x.call(I),0):I.next)&&!(x=x.call(I,A[1])).done)return x;switch(I=0,x&&(A=[A[0]&2,x.value]),A[0]){case 0:case 1:x=A;break;case 4:return u.label++,{value:A[1],done:!1};case 5:u.label++,I=A[1],A=[0];continue;case 7:A=u.ops.pop(),u.trys.pop();continue;default:if(x=u.trys,!(x=x.length>0&&x[x.length-1])&&(A[0]===6||A[0]===2)){u=0;continue}if(A[0]===3&&(!x||A[1]>x[0]&&A[1]<x[3])){u.label=A[1];break}if(A[0]===6&&u.label<x[1]){u.label=x[1],x=A;break}if(x&&u.label<x[2]){u.label=x[2],u.ops.push(A);break}x[2]&&u.ops.pop(),u.trys.pop();continue}A=g.call(d,u)}catch(N){A=[6,N],I=0}finally{m=x=0}if(A[0]&5)throw A[1];return{value:A[0]?A[1]:void 0,done:!0}}},ti=function(){function d(g,u,m){if(this.formatMap=new Map([[W.QR_CODE,"qr_code"],[W.AZTEC,"aztec"],[W.CODABAR,"codabar"],[W.CODE_39,"code_39"],[W.CODE_93,"code_93"],[W.CODE_128,"code_128"],[W.DATA_MATRIX,"data_matrix"],[W.ITF,"itf"],[W.EAN_13,"ean_13"],[W.EAN_8,"ean_8"],[W.PDF_417,"pdf417"],[W.UPC_A,"upc_a"],[W.UPC_E,"upc_e"]]),this.reverseFormatMap=this.createReverseFormatMap(),!d.isSupported())throw"Use html5qrcode.min.js without edit, Use BarcodeDetectorDelegate only if it isSupported();";this.verbose=u,this.logger=m;var I=this.createBarcodeDetectorFormats(g);if(this.detector=new BarcodeDetector(I),!this.detector)throw"BarcodeDetector detector not supported"}return d.isSupported=function(){if(!("BarcodeDetector"in window))return!1;var g=new BarcodeDetector({formats:["qr_code"]});return typeof g<"u"},d.prototype.decodeAsync=function(g){return js(this,void 0,void 0,function(){var u,m;return qs(this,function(I){switch(I.label){case 0:return[4,this.detector.detect(g)];case 1:if(u=I.sent(),!u||u.length===0)throw"No barcode or QR code detected.";return m=this.selectLargestBarcode(u),[2,{text:m.rawValue,format:hi.create(this.toHtml5QrcodeSupportedFormats(m.format)),debugData:this.createDebugData()}]}})})},d.prototype.selectLargestBarcode=function(g){for(var u=null,m=0,I=0,x=g;I<x.length;I++){var T=x[I],M=T.boundingBox.width*T.boundingBox.height;M>m&&(m=M,u=T)}if(!u)throw"No largest barcode found";return u},d.prototype.createBarcodeDetectorFormats=function(g){for(var u=[],m=0,I=g;m<I.length;m++){var x=I[m];this.formatMap.has(x)?u.push(this.formatMap.get(x)):this.logger.warn("".concat(x," is not supported by")+"BarcodeDetectorDelegate")}return{formats:u}},d.prototype.toHtml5QrcodeSupportedFormats=function(g){if(!this.reverseFormatMap.has(g))throw"reverseFormatMap doesn't have ".concat(g);return this.reverseFormatMap.get(g)},d.prototype.createReverseFormatMap=function(){var g=new Map;return this.formatMap.forEach(function(u,m,I){g.set(u,m)}),g},d.prototype.createDebugData=function(){return{decoderName:"BarcodeDetector"}},d}(),ni=globalThis&&globalThis.__awaiter||function(d,g,u,m){function I(x){return x instanceof u?x:new u(function(T){T(x)})}return new(u||(u=Promise))(function(x,T){function M(N){try{A(m.next(N))}catch(R){T(R)}}function B(N){try{A(m.throw(N))}catch(R){T(R)}}function A(N){N.done?x(N.value):I(N.value).then(M,B)}A((m=m.apply(d,g||[])).next())})},ri=globalThis&&globalThis.__generator||function(d,g){var u={label:0,sent:function(){if(x[0]&1)throw x[1];return x[1]},trys:[],ops:[]},m,I,x,T;return T={next:M(0),throw:M(1),return:M(2)},typeof Symbol=="function"&&(T[Symbol.iterator]=function(){return this}),T;function M(A){return function(N){return B([A,N])}}function B(A){if(m)throw new TypeError("Generator is already executing.");for(;T&&(T=0,A[0]&&(u=0)),u;)try{if(m=1,I&&(x=A[0]&2?I.return:A[0]?I.throw||((x=I.return)&&x.call(I),0):I.next)&&!(x=x.call(I,A[1])).done)return x;switch(I=0,x&&(A=[A[0]&2,x.value]),A[0]){case 0:case 1:x=A;break;case 4:return u.label++,{value:A[1],done:!1};case 5:u.label++,I=A[1],A=[0];continue;case 7:A=u.ops.pop(),u.trys.pop();continue;default:if(x=u.trys,!(x=x.length>0&&x[x.length-1])&&(A[0]===6||A[0]===2)){u=0;continue}if(A[0]===3&&(!x||A[1]>x[0]&&A[1]<x[3])){u.label=A[1];break}if(A[0]===6&&u.label<x[1]){u.label=x[1],x=A;break}if(x&&u.label<x[2]){u.label=x[2],u.ops.push(A);break}x[2]&&u.ops.pop(),u.trys.pop();continue}A=g.call(d,u)}catch(N){A=[6,N],I=0}finally{m=x=0}if(A[0]&5)throw A[1];return{value:A[0]?A[1]:void 0,done:!0}}},Qs=function(){function d(g,u,m,I){this.EXECUTIONS_TO_REPORT_PERFORMANCE=100,this.executions=0,this.executionResults=[],this.wasPrimaryDecoderUsedInLastDecode=!1,this.verbose=m,u&&ti.isSupported()?(this.primaryDecoder=new ti(g,m,I),this.secondaryDecoder=new ei(g,m,I)):this.primaryDecoder=new ei(g,m,I)}return d.prototype.decodeAsync=function(g){return ni(this,void 0,void 0,function(){var u;return ri(this,function(m){switch(m.label){case 0:u=performance.now(),m.label=1;case 1:return m.trys.push([1,,3,4]),[4,this.getDecoder().decodeAsync(g)];case 2:return[2,m.sent()];case 3:return this.possiblyLogPerformance(u),[7];case 4:return[2]}})})},d.prototype.decodeRobustlyAsync=function(g){return ni(this,void 0,void 0,function(){var u,m;return ri(this,function(I){switch(I.label){case 0:u=performance.now(),I.label=1;case 1:return I.trys.push([1,3,4,5]),[4,this.primaryDecoder.decodeAsync(g)];case 2:return[2,I.sent()];case 3:if(m=I.sent(),this.secondaryDecoder)return[2,this.secondaryDecoder.decodeAsync(g)];throw m;case 4:return this.possiblyLogPerformance(u),[7];case 5:return[2]}})})},d.prototype.getDecoder=function(){return this.secondaryDecoder?this.wasPrimaryDecoderUsedInLastDecode===!1?(this.wasPrimaryDecoderUsedInLastDecode=!0,this.primaryDecoder):(this.wasPrimaryDecoderUsedInLastDecode=!1,this.secondaryDecoder):this.primaryDecoder},d.prototype.possiblyLogPerformance=function(g){if(this.verbose){var u=performance.now()-g;this.executionResults.push(u),this.executions++,this.possiblyFlushPerformanceReport()}},d.prototype.possiblyFlushPerformanceReport=function(){if(!(this.executions<this.EXECUTIONS_TO_REPORT_PERFORMANCE)){for(var g=0,u=0,m=this.executionResults;u<m.length;u++){var I=m[u];g+=I}var x=g/this.executionResults.length;console.log("".concat(x," ms for ").concat(this.executionResults.length," last runs.")),this.executions=0,this.executionResults=[]}},d}(),br=globalThis&&globalThis.__extends||function(){var d=function(g,u){return d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,I){m.__proto__=I}||function(m,I){for(var x in I)Object.prototype.hasOwnProperty.call(I,x)&&(m[x]=I[x])},d(g,u)};return function(g,u){if(typeof u!="function"&&u!==null)throw new TypeError("Class extends value "+String(u)+" is not a constructor or null");d(g,u);function m(){this.constructor=g}g.prototype=u===null?Object.create(u):(m.prototype=u.prototype,new m)}}(),Hn=globalThis&&globalThis.__awaiter||function(d,g,u,m){function I(x){return x instanceof u?x:new u(function(T){T(x)})}return new(u||(u=Promise))(function(x,T){function M(N){try{A(m.next(N))}catch(R){T(R)}}function B(N){try{A(m.throw(N))}catch(R){T(R)}}function A(N){N.done?x(N.value):I(N.value).then(M,B)}A((m=m.apply(d,g||[])).next())})},Wn=globalThis&&globalThis.__generator||function(d,g){var u={label:0,sent:function(){if(x[0]&1)throw x[1];return x[1]},trys:[],ops:[]},m,I,x,T;return T={next:M(0),throw:M(1),return:M(2)},typeof Symbol=="function"&&(T[Symbol.iterator]=function(){return this}),T;function M(A){return function(N){return B([A,N])}}function B(A){if(m)throw new TypeError("Generator is already executing.");for(;T&&(T=0,A[0]&&(u=0)),u;)try{if(m=1,I&&(x=A[0]&2?I.return:A[0]?I.throw||((x=I.return)&&x.call(I),0):I.next)&&!(x=x.call(I,A[1])).done)return x;switch(I=0,x&&(A=[A[0]&2,x.value]),A[0]){case 0:case 1:x=A;break;case 4:return u.label++,{value:A[1],done:!1};case 5:u.label++,I=A[1],A=[0];continue;case 7:A=u.ops.pop(),u.trys.pop();continue;default:if(x=u.trys,!(x=x.length>0&&x[x.length-1])&&(A[0]===6||A[0]===2)){u=0;continue}if(A[0]===3&&(!x||A[1]>x[0]&&A[1]<x[3])){u.label=A[1];break}if(A[0]===6&&u.label<x[1]){u.label=x[1],x=A;break}if(x&&u.label<x[2]){u.label=x[2],u.ops.push(A);break}x[2]&&u.ops.pop(),u.trys.pop();continue}A=g.call(d,u)}catch(N){A=[6,N],I=0}finally{m=x=0}if(A[0]&5)throw A[1];return{value:A[0]?A[1]:void 0,done:!0}}},di=function(){function d(g,u){this.name=g,this.track=u}return d.prototype.isSupported=function(){return this.track.getCapabilities?this.name in this.track.getCapabilities():!1},d.prototype.apply=function(g){var u={};u[this.name]=g;var m={advanced:[u]};return this.track.applyConstraints(m)},d.prototype.value=function(){var g=this.track.getSettings();if(this.name in g){var u=g[this.name];return u}return null},d}(),Js=function(d){br(g,d);function g(u,m){return d.call(this,u,m)||this}return g.prototype.min=function(){return this.getCapabilities().min},g.prototype.max=function(){return this.getCapabilities().max},g.prototype.step=function(){return this.getCapabilities().step},g.prototype.apply=function(u){var m={};m[this.name]=u;var I={advanced:[m]};return this.track.applyConstraints(I)},g.prototype.getCapabilities=function(){this.failIfNotSupported();var u=this.track.getCapabilities(),m=u[this.name];return{min:m.min,max:m.max,step:m.step}},g.prototype.failIfNotSupported=function(){if(!this.isSupported())throw new Error("".concat(this.name," capability not supported"))},g}(di),$s=function(d){br(g,d);function g(u){return d.call(this,"zoom",u)||this}return g}(Js),eo=function(d){br(g,d);function g(u){return d.call(this,"torch",u)||this}return g}(di),to=function(){function d(g){this.track=g}return d.prototype.zoomFeature=function(){return new $s(this.track)},d.prototype.torchFeature=function(){return new eo(this.track)},d}(),no=function(){function d(g,u,m){this.isClosed=!1,this.parentElement=g,this.mediaStream=u,this.callbacks=m,this.surface=this.createVideoElement(this.parentElement.clientWidth),g.append(this.surface)}return d.prototype.createVideoElement=function(g){var u=document.createElement("video");return u.style.width="".concat(g,"px"),u.style.display="block",u.muted=!0,u.setAttribute("muted","true"),u.playsInline=!0,u},d.prototype.setupSurface=function(){var g=this;this.surface.onabort=function(){throw"RenderedCameraImpl video surface onabort() called"},this.surface.onerror=function(){throw"RenderedCameraImpl video surface onerror() called"};var u=function(){var m=g.surface.clientWidth,I=g.surface.clientHeight;g.callbacks.onRenderSurfaceReady(m,I),g.surface.removeEventListener("playing",u)};this.surface.addEventListener("playing",u),this.surface.srcObject=this.mediaStream,this.surface.play()},d.create=function(g,u,m,I){return Hn(this,void 0,void 0,function(){var x,T;return Wn(this,function(M){switch(M.label){case 0:return x=new d(g,u,I),m.aspectRatio?(T={aspectRatio:m.aspectRatio},[4,x.getFirstTrackOrFail().applyConstraints(T)]):[3,2];case 1:M.sent(),M.label=2;case 2:return x.setupSurface(),[2,x]}})})},d.prototype.failIfClosed=function(){if(this.isClosed)throw"The RenderedCamera has already been closed."},d.prototype.getFirstTrackOrFail=function(){if(this.failIfClosed(),this.mediaStream.getVideoTracks().length===0)throw"No video tracks found";return this.mediaStream.getVideoTracks()[0]},d.prototype.pause=function(){this.failIfClosed(),this.surface.pause()},d.prototype.resume=function(g){this.failIfClosed();var u=this,m=function(){setTimeout(g,200),u.surface.removeEventListener("playing",m)};this.surface.addEventListener("playing",m),this.surface.play()},d.prototype.isPaused=function(){return this.failIfClosed(),this.surface.paused},d.prototype.getSurface=function(){return this.failIfClosed(),this.surface},d.prototype.getRunningTrackCapabilities=function(){return this.getFirstTrackOrFail().getCapabilities()},d.prototype.getRunningTrackSettings=function(){return this.getFirstTrackOrFail().getSettings()},d.prototype.applyVideoConstraints=function(g){return Hn(this,void 0,void 0,function(){return Wn(this,function(u){if("aspectRatio"in g)throw"Changing 'aspectRatio' in run-time is not yet supported.";return[2,this.getFirstTrackOrFail().applyConstraints(g)]})})},d.prototype.close=function(){if(this.isClosed)return Promise.resolve();var g=this;return new Promise(function(u,m){var I=g.mediaStream.getVideoTracks(),x=I.length,T=0;g.mediaStream.getVideoTracks().forEach(function(M){g.mediaStream.removeTrack(M),M.stop(),++T,T>=x&&(g.isClosed=!0,g.parentElement.removeChild(g.surface),u())})})},d.prototype.getCapabilities=function(){return new to(this.getFirstTrackOrFail())},d}(),ro=function(){function d(g){this.mediaStream=g}return d.prototype.render=function(g,u,m){return Hn(this,void 0,void 0,function(){return Wn(this,function(I){return[2,no.create(g,this.mediaStream,u,m)]})})},d.create=function(g){return Hn(this,void 0,void 0,function(){var u,m;return Wn(this,function(I){switch(I.label){case 0:if(!navigator.mediaDevices)throw"navigator.mediaDevices not supported";return u={audio:!1,video:g},[4,navigator.mediaDevices.getUserMedia(u)];case 1:return m=I.sent(),[2,new d(m)]}})})},d}(),ii=globalThis&&globalThis.__awaiter||function(d,g,u,m){function I(x){return x instanceof u?x:new u(function(T){T(x)})}return new(u||(u=Promise))(function(x,T){function M(N){try{A(m.next(N))}catch(R){T(R)}}function B(N){try{A(m.throw(N))}catch(R){T(R)}}function A(N){N.done?x(N.value):I(N.value).then(M,B)}A((m=m.apply(d,g||[])).next())})},si=globalThis&&globalThis.__generator||function(d,g){var u={label:0,sent:function(){if(x[0]&1)throw x[1];return x[1]},trys:[],ops:[]},m,I,x,T;return T={next:M(0),throw:M(1),return:M(2)},typeof Symbol=="function"&&(T[Symbol.iterator]=function(){return this}),T;function M(A){return function(N){return B([A,N])}}function B(A){if(m)throw new TypeError("Generator is already executing.");for(;T&&(T=0,A[0]&&(u=0)),u;)try{if(m=1,I&&(x=A[0]&2?I.return:A[0]?I.throw||((x=I.return)&&x.call(I),0):I.next)&&!(x=x.call(I,A[1])).done)return x;switch(I=0,x&&(A=[A[0]&2,x.value]),A[0]){case 0:case 1:x=A;break;case 4:return u.label++,{value:A[1],done:!1};case 5:u.label++,I=A[1],A=[0];continue;case 7:A=u.ops.pop(),u.trys.pop();continue;default:if(x=u.trys,!(x=x.length>0&&x[x.length-1])&&(A[0]===6||A[0]===2)){u=0;continue}if(A[0]===3&&(!x||A[1]>x[0]&&A[1]<x[3])){u.label=A[1];break}if(A[0]===6&&u.label<x[1]){u.label=x[1],x=A;break}if(x&&u.label<x[2]){u.label=x[2],u.ops.push(A);break}x[2]&&u.ops.pop(),u.trys.pop();continue}A=g.call(d,u)}catch(N){A=[6,N],I=0}finally{m=x=0}if(A[0]&5)throw A[1];return{value:A[0]?A[1]:void 0,done:!0}}},io=function(){function d(){}return d.failIfNotSupported=function(){return ii(this,void 0,void 0,function(){return si(this,function(g){if(!navigator.mediaDevices)throw"navigator.mediaDevices not supported";return[2,new d]})})},d.prototype.create=function(g){return ii(this,void 0,void 0,function(){return si(this,function(u){return[2,ro.create(g)]})})},d}(),so=globalThis&&globalThis.__awaiter||function(d,g,u,m){function I(x){return x instanceof u?x:new u(function(T){T(x)})}return new(u||(u=Promise))(function(x,T){function M(N){try{A(m.next(N))}catch(R){T(R)}}function B(N){try{A(m.throw(N))}catch(R){T(R)}}function A(N){N.done?x(N.value):I(N.value).then(M,B)}A((m=m.apply(d,g||[])).next())})},oo=globalThis&&globalThis.__generator||function(d,g){var u={label:0,sent:function(){if(x[0]&1)throw x[1];return x[1]},trys:[],ops:[]},m,I,x,T;return T={next:M(0),throw:M(1),return:M(2)},typeof Symbol=="function"&&(T[Symbol.iterator]=function(){return this}),T;function M(A){return function(N){return B([A,N])}}function B(A){if(m)throw new TypeError("Generator is already executing.");for(;T&&(T=0,A[0]&&(u=0)),u;)try{if(m=1,I&&(x=A[0]&2?I.return:A[0]?I.throw||((x=I.return)&&x.call(I),0):I.next)&&!(x=x.call(I,A[1])).done)return x;switch(I=0,x&&(A=[A[0]&2,x.value]),A[0]){case 0:case 1:x=A;break;case 4:return u.label++,{value:A[1],done:!1};case 5:u.label++,I=A[1],A=[0];continue;case 7:A=u.ops.pop(),u.trys.pop();continue;default:if(x=u.trys,!(x=x.length>0&&x[x.length-1])&&(A[0]===6||A[0]===2)){u=0;continue}if(A[0]===3&&(!x||A[1]>x[0]&&A[1]<x[3])){u.label=A[1];break}if(A[0]===6&&u.label<x[1]){u.label=x[1],x=A;break}if(x&&u.label<x[2]){u.label=x[2],u.ops.push(A);break}x[2]&&u.ops.pop(),u.trys.pop();continue}A=g.call(d,u)}catch(N){A=[6,N],I=0}finally{m=x=0}if(A[0]&5)throw A[1];return{value:A[0]?A[1]:void 0,done:!0}}},ao=function(){function d(){}return d.retrieve=function(){if(navigator.mediaDevices)return d.getCamerasFromMediaDevices();var g=MediaStreamTrack;return MediaStreamTrack&&g.getSources?d.getCamerasFromMediaStreamTrack():d.rejectWithError()},d.rejectWithError=function(){var g=sn.unableToQuerySupportedDevices();return d.isHttpsOrLocalhost()||(g=sn.insecureContextCameraQueryError()),Promise.reject(g)},d.isHttpsOrLocalhost=function(){if(location.protocol==="https:")return!0;var g=location.host.split(":")[0];return g==="127.0.0.1"||g==="localhost"},d.getCamerasFromMediaDevices=function(){return so(this,void 0,void 0,function(){var g,u,m,I,x,T,M;return oo(this,function(B){switch(B.label){case 0:return g=function(A){for(var N=A.getVideoTracks(),R=0,le=N;R<le.length;R++){var $=le[R];$.enabled=!1,$.stop(),A.removeTrack($)}},[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 1:return u=B.sent(),[4,navigator.mediaDevices.enumerateDevices()];case 2:for(m=B.sent(),I=[],x=0,T=m;x<T.length;x++)M=T[x],M.kind==="videoinput"&&I.push({id:M.deviceId,label:M.label});return g(u),[2,I]}})})},d.getCamerasFromMediaStreamTrack=function(){return new Promise(function(g,u){var m=function(x){for(var T=[],M=0,B=x;M<B.length;M++){var A=B[M];A.kind==="video"&&T.push({id:A.id,label:A.label})}g(T)},I=MediaStreamTrack;I.getSources(m)})},d}(),De;(function(d){d[d.UNKNOWN=0]="UNKNOWN",d[d.NOT_STARTED=1]="NOT_STARTED",d[d.SCANNING=2]="SCANNING",d[d.PAUSED=3]="PAUSED"})(De||(De={}));var lo=function(){function d(){this.state=De.NOT_STARTED,this.onGoingTransactionNewState=De.UNKNOWN}return d.prototype.directTransition=function(g){this.failIfTransitionOngoing(),this.validateTransition(g),this.state=g},d.prototype.startTransition=function(g){return this.failIfTransitionOngoing(),this.validateTransition(g),this.onGoingTransactionNewState=g,this},d.prototype.execute=function(){if(this.onGoingTransactionNewState===De.UNKNOWN)throw"Transaction is already cancelled, cannot execute().";var g=this.onGoingTransactionNewState;this.onGoingTransactionNewState=De.UNKNOWN,this.directTransition(g)},d.prototype.cancel=function(){if(this.onGoingTransactionNewState===De.UNKNOWN)throw"Transaction is already cancelled, cannot cancel().";this.onGoingTransactionNewState=De.UNKNOWN},d.prototype.getState=function(){return this.state},d.prototype.failIfTransitionOngoing=function(){if(this.onGoingTransactionNewState!==De.UNKNOWN)throw"Cannot transition to a new state, already under transition"},d.prototype.validateTransition=function(g){switch(this.state){case De.UNKNOWN:throw"Transition from unknown is not allowed";case De.NOT_STARTED:this.failIfNewStateIs(g,[De.PAUSED]);break;case De.SCANNING:break;case De.PAUSED:break}},d.prototype.failIfNewStateIs=function(g,u){for(var m=0,I=u;m<I.length;m++){var x=I[m];if(g===x)throw"Cannot transition from ".concat(this.state," to ").concat(g)}},d}(),co=function(){function d(g){this.stateManager=g}return d.prototype.startTransition=function(g){return this.stateManager.startTransition(g)},d.prototype.directTransition=function(g){this.stateManager.directTransition(g)},d.prototype.getState=function(){return this.stateManager.getState()},d.prototype.canScanFile=function(){return this.stateManager.getState()===De.NOT_STARTED},d.prototype.isScanning=function(){return this.stateManager.getState()!==De.NOT_STARTED},d.prototype.isStrictlyScanning=function(){return this.stateManager.getState()===De.SCANNING},d.prototype.isPaused=function(){return this.stateManager.getState()===De.PAUSED},d}(),uo=function(){function d(){}return d.create=function(){return new co(new lo)},d}(),ho=globalThis&&globalThis.__extends||function(){var d=function(g,u){return d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,I){m.__proto__=I}||function(m,I){for(var x in I)Object.prototype.hasOwnProperty.call(I,x)&&(m[x]=I[x])},d(g,u)};return function(g,u){if(typeof u!="function"&&u!==null)throw new TypeError("Class extends value "+String(u)+" is not a constructor or null");d(g,u);function m(){this.constructor=g}g.prototype=u===null?Object.create(u):(m.prototype=u.prototype,new m)}}(),ht=function(d){ho(g,d);function g(){return d!==null&&d.apply(this,arguments)||this}return g.DEFAULT_WIDTH=300,g.DEFAULT_WIDTH_OFFSET=2,g.FILE_SCAN_MIN_HEIGHT=300,g.FILE_SCAN_HIDDEN_CANVAS_PADDING=100,g.MIN_QR_BOX_SIZE=50,g.SHADED_LEFT=1,g.SHADED_RIGHT=2,g.SHADED_TOP=3,g.SHADED_BOTTOM=4,g.SHADED_REGION_ELEMENT_ID="qr-shaded-region",g.VERBOSE=!1,g.BORDER_SHADER_DEFAULT_COLOR="#ffffff",g.BORDER_SHADER_MATCH_COLOR="rgb(90, 193, 56)",g}(Xs),fo=function(){function d(g,u){this.logger=u,this.fps=ht.SCAN_DEFAULT_FPS,g?(g.fps&&(this.fps=g.fps),this.disableFlip=g.disableFlip===!0,this.qrbox=g.qrbox,this.aspectRatio=g.aspectRatio,this.videoConstraints=g.videoConstraints):this.disableFlip=ht.DEFAULT_DISABLE_FLIP}return d.prototype.isMediaStreamConstraintsValid=function(){return this.videoConstraints?fi.isMediaStreamConstraintsValid(this.videoConstraints,this.logger):(this.logger.logError("Empty videoConstraints",!0),!1)},d.prototype.isShadedBoxEnabled=function(){return!_t(this.qrbox)},d.create=function(g,u){return new d(g,u)},d}(),oi=function(){function d(g,u){if(this.element=null,this.canvasElement=null,this.scannerPausedUiElement=null,this.hasBorderShaders=null,this.borderShaders=null,this.qrMatch=null,this.renderedCamera=null,this.qrRegion=null,this.context=null,this.lastScanImageFile=null,this.isScanning=!1,!document.getElementById(g))throw"HTML Element with id=".concat(g," not found");this.elementId=g,this.verbose=!1;var m;typeof u=="boolean"?this.verbose=u===!0:u&&(m=u,this.verbose=m.verbose===!0,m.experimentalFeatures),this.logger=new zs(this.verbose),this.qrcode=new Qs(this.getSupportedFormats(u),this.getUseBarCodeDetectorIfSupported(m),this.verbose,this.logger),this.foreverScanTimeout,this.shouldScan=!0,this.stateManagerProxy=uo.create()}return d.prototype.start=function(g,u,m,I){var x=this;if(!g)throw"cameraIdOrConfig is required";if(!m||typeof m!="function")throw"qrCodeSuccessCallback is required and should be a function.";var T;I?T=I:T=this.verbose?this.logger.log:function(){};var M=fo.create(u,this.logger);this.clearElement();var B=!1;M.videoConstraints&&(M.isMediaStreamConstraintsValid()?B=!0:this.logger.logError("'videoConstraints' is not valid 'MediaStreamConstraints, it will be ignored.'",!0));var A=B,N=document.getElementById(this.elementId);N.clientWidth?N.clientWidth:ht.DEFAULT_WIDTH,N.style.position="relative",this.shouldScan=!0,this.element=N;var R=this,le=this.stateManagerProxy.startTransition(De.SCANNING);return new Promise(function($,Pe){var ie=A?M.videoConstraints:R.createVideoConstraints(g);if(!ie){le.cancel(),Pe("videoConstraints should be defined");return}var rt={};(!A||M.aspectRatio)&&(rt.aspectRatio=M.aspectRatio);var oe={onRenderSurfaceReady:function(J,Y){R.setupUi(J,Y,M),R.isScanning=!0,R.foreverScan(M,m,T)}};io.failIfNotSupported().then(function(J){J.create(ie).then(function(Y){return Y.render(x.element,rt,oe).then(function(ee){R.renderedCamera=ee,le.execute(),$(null)}).catch(function(ee){le.cancel(),Pe(ee)})}).catch(function(Y){le.cancel(),Pe(sn.errorGettingUserMedia(Y))})}).catch(function(J){le.cancel(),Pe(sn.cameraStreamingNotSupported())})})},d.prototype.pause=function(g){if(!this.stateManagerProxy.isStrictlyScanning())throw"Cannot pause, scanner is not scanning.";this.stateManagerProxy.directTransition(De.PAUSED),this.showPausedState(),(_t(g)||g!==!0)&&(g=!1),g&&this.renderedCamera&&this.renderedCamera.pause()},d.prototype.resume=function(){if(!this.stateManagerProxy.isPaused())throw"Cannot result, scanner is not paused.";if(!this.renderedCamera)throw"renderedCamera doesn't exist while trying resume()";var g=this,u=function(){g.stateManagerProxy.directTransition(De.SCANNING),g.hidePausedState()};if(!this.renderedCamera.isPaused()){u();return}this.renderedCamera.resume(function(){u()})},d.prototype.getState=function(){return this.stateManagerProxy.getState()},d.prototype.stop=function(){var g=this;if(!this.stateManagerProxy.isScanning())throw"Cannot stop, scanner is not running or paused.";var u=this.stateManagerProxy.startTransition(De.NOT_STARTED);this.shouldScan=!1,this.foreverScanTimeout&&clearTimeout(this.foreverScanTimeout);var m=function(){if(g.element){var x=document.getElementById(ht.SHADED_REGION_ELEMENT_ID);x&&g.element.removeChild(x)}},I=this;return this.renderedCamera.close().then(function(){return I.renderedCamera=null,I.element&&(I.element.removeChild(I.canvasElement),I.canvasElement=null),m(),I.qrRegion&&(I.qrRegion=null),I.context&&(I.context=null),u.execute(),I.hidePausedState(),I.isScanning=!1,Promise.resolve()})},d.prototype.scanFile=function(g,u){return this.scanFileV2(g,u).then(function(m){return m.decodedText})},d.prototype.scanFileV2=function(g,u){var m=this;if(!g||!(g instanceof File))throw"imageFile argument is mandatory and should be instance of File. Use 'event.target.files[0]'.";if(_t(u)&&(u=!0),!this.stateManagerProxy.canScanFile())throw"Cannot start file scan - ongoing camera scan";return new Promise(function(I,x){m.possiblyCloseLastScanImageFile(),m.clearElement(),m.lastScanImageFile=URL.createObjectURL(g);var T=new Image;T.onload=function(){var M=T.width,B=T.height,A=document.getElementById(m.elementId),N=A.clientWidth?A.clientWidth:ht.DEFAULT_WIDTH,R=Math.max(A.clientHeight?A.clientHeight:B,ht.FILE_SCAN_MIN_HEIGHT),le=m.computeCanvasDrawConfig(M,B,N,R);if(u){var $=m.createCanvasElement(N,R,"qr-canvas-visible");$.style.display="inline-block",A.appendChild($);var Pe=$.getContext("2d");if(!Pe)throw"Unable to get 2d context from canvas";Pe.canvas.width=N,Pe.canvas.height=R,Pe.drawImage(T,0,0,M,B,le.x,le.y,le.width,le.height)}var ie=ht.FILE_SCAN_HIDDEN_CANVAS_PADDING,rt=Math.max(T.width,le.width),oe=Math.max(T.height,le.height),J=rt+2*ie,Y=oe+2*ie,ee=m.createCanvasElement(J,Y);A.appendChild(ee);var qe=ee.getContext("2d");if(!qe)throw"Unable to get 2d context from canvas";qe.canvas.width=J,qe.canvas.height=Y,qe.drawImage(T,0,0,M,B,ie,ie,rt,oe);try{m.qrcode.decodeRobustlyAsync(ee).then(function(ue){I($r.createFromQrcodeResult(ue))}).catch(x)}catch(ue){x("QR code parse error, error = ".concat(ue))}},T.onerror=x,T.onabort=x,T.onstalled=x,T.onsuspend=x,T.src=URL.createObjectURL(g)})},d.prototype.clear=function(){this.clearElement()},d.getCameras=function(){return ao.retrieve()},d.prototype.getRunningTrackCapabilities=function(){return this.getRenderedCameraOrFail().getRunningTrackCapabilities()},d.prototype.getRunningTrackSettings=function(){return this.getRenderedCameraOrFail().getRunningTrackSettings()},d.prototype.getRunningTrackCameraCapabilities=function(){return this.getRenderedCameraOrFail().getCapabilities()},d.prototype.applyVideoConstraints=function(g){if(g){if(!fi.isMediaStreamConstraintsValid(g,this.logger))throw"invalid videoConstaints passed, check logs for more details"}else throw"videoConstaints is required argument.";return this.getRenderedCameraOrFail().applyVideoConstraints(g)},d.prototype.getRenderedCameraOrFail=function(){if(this.renderedCamera==null)throw"Scanning is not in running state, call this API only when QR code scanning using camera is in running state.";return this.renderedCamera},d.prototype.getSupportedFormats=function(g){var u=[W.QR_CODE,W.AZTEC,W.CODABAR,W.CODE_39,W.CODE_93,W.CODE_128,W.DATA_MATRIX,W.MAXICODE,W.ITF,W.EAN_13,W.EAN_8,W.PDF_417,W.RSS_14,W.RSS_EXPANDED,W.UPC_A,W.UPC_E,W.UPC_EAN_EXTENSION];if(!g||typeof g=="boolean"||!g.formatsToSupport)return u;if(!Array.isArray(g.formatsToSupport))throw"configOrVerbosityFlag.formatsToSupport should be undefined or an array.";if(g.formatsToSupport.length===0)throw"Atleast 1 formatsToSupport is needed.";for(var m=[],I=0,x=g.formatsToSupport;I<x.length;I++){var T=x[I];Ws(T)?m.push(T):this.logger.warn("Invalid format: ".concat(T," passed in config, ignoring."))}if(m.length===0)throw"None of formatsToSupport match supported values.";return m},d.prototype.getUseBarCodeDetectorIfSupported=function(g){if(_t(g))return!0;if(!_t(g.useBarCodeDetectorIfSupported))return g.useBarCodeDetectorIfSupported!==!1;if(_t(g.experimentalFeatures))return!0;var u=g.experimentalFeatures;return _t(u.useBarCodeDetectorIfSupported)?!0:u.useBarCodeDetectorIfSupported!==!1},d.prototype.validateQrboxSize=function(g,u,m){var I=this,x=m.qrbox;this.validateQrboxConfig(x);var T=this.toQrdimensions(g,u,x),M=function(A){if(A<ht.MIN_QR_BOX_SIZE)throw"minimum size of 'config.qrbox' dimension value is"+" ".concat(ht.MIN_QR_BOX_SIZE,"px.")},B=function(A){return A>g&&(I.logger.warn("`qrbox.width` or `qrbox` is larger than the width of the root element. The width will be truncated to the width of root element."),A=g),A};M(T.width),M(T.height),T.width=B(T.width)},d.prototype.validateQrboxConfig=function(g){if(typeof g!="number"&&typeof g!="function"&&(g.width===void 0||g.height===void 0))throw"Invalid instance of QrDimensions passed for 'config.qrbox'. Both 'width' and 'height' should be set."},d.prototype.toQrdimensions=function(g,u,m){if(typeof m=="number")return{width:m,height:m};if(typeof m=="function")try{return m(g,u)}catch(I){throw new Error("qrbox config was passed as a function but it failed with unknown error"+I)}return m},d.prototype.setupUi=function(g,u,m){m.isShadedBoxEnabled()&&this.validateQrboxSize(g,u,m);var I=_t(m.qrbox)?{width:g,height:u}:m.qrbox;this.validateQrboxConfig(I);var x=this.toQrdimensions(g,u,I);x.height>u&&this.logger.warn("[Html5Qrcode] config.qrbox has height that isgreater than the height of the video stream. Shading will be ignored");var T=m.isShadedBoxEnabled()&&x.height<=u,M={x:0,y:0,width:g,height:u},B=T?this.getShadedRegionBounds(g,u,x):M,A=this.createCanvasElement(B.width,B.height),N={willReadFrequently:!0},R=A.getContext("2d",N);R.canvas.width=B.width,R.canvas.height=B.height,this.element.append(A),T&&this.possiblyInsertShadingElement(this.element,g,u,x),this.createScannerPausedUiElement(this.element),this.qrRegion=B,this.context=R,this.canvasElement=A},d.prototype.createScannerPausedUiElement=function(g){var u=document.createElement("div");u.innerText=sn.scannerPaused(),u.style.display="none",u.style.position="absolute",u.style.top="0px",u.style.zIndex="1",u.style.background="rgba(9, 9, 9, 0.46)",u.style.color="#FFECEC",u.style.textAlign="center",u.style.width="100%",g.appendChild(u),this.scannerPausedUiElement=u},d.prototype.scanContext=function(g,u){var m=this;return this.stateManagerProxy.isPaused()?Promise.resolve(!1):this.qrcode.decodeAsync(this.canvasElement).then(function(I){return g(I.text,$r.createFromQrcodeResult(I)),m.possiblyUpdateShaders(!0),!0}).catch(function(I){m.possiblyUpdateShaders(!1);var x=sn.codeParseError(I);return u(x,Ys.createFrom(x)),!1})},d.prototype.foreverScan=function(g,u,m){var I=this;if(this.shouldScan&&this.renderedCamera){var x=this.renderedCamera.getSurface(),T=x.videoWidth/x.clientWidth,M=x.videoHeight/x.clientHeight;if(!this.qrRegion)throw"qrRegion undefined when localMediaStream is ready.";var B=this.qrRegion.width*T,A=this.qrRegion.height*M,N=this.qrRegion.x*T,R=this.qrRegion.y*M;this.context.drawImage(x,N,R,B,A,0,0,this.qrRegion.width,this.qrRegion.height);var le=function(){I.foreverScanTimeout=setTimeout(function(){I.foreverScan(g,u,m)},I.getTimeoutFps(g.fps))};this.scanContext(u,m).then(function($){!$&&g.disableFlip!==!0?(I.context.translate(I.context.canvas.width,0),I.context.scale(-1,1),I.scanContext(u,m).finally(function(){le()})):le()}).catch(function($){I.logger.logError("Error happend while scanning context",$),le()})}},d.prototype.createVideoConstraints=function(g){if(typeof g=="string")return{deviceId:{exact:g}};if(typeof g=="object"){var u="facingMode",m="deviceId",I={user:!0,environment:!0},x="exact",T=function(Pe){if(Pe in I)return!0;throw"config has invalid 'facingMode' value = "+"'".concat(Pe,"'")},M=Object.keys(g);if(M.length!==1)throw"'cameraIdOrConfig' object should have exactly 1 key,"+" if passed as an object, found ".concat(M.length," keys");var B=Object.keys(g)[0];if(B!==u&&B!==m)throw"Only '".concat(u,"' and '").concat(m,"' ")+" are supported for 'cameraIdOrConfig'";if(B===u){var A=g.facingMode;if(typeof A=="string"){if(T(A))return{facingMode:A}}else if(typeof A=="object")if(x in A){if(T(A["".concat(x)]))return{facingMode:{exact:A["".concat(x)]}}}else throw"'facingMode' should be string or object with"+" ".concat(x," as key.");else{var N=typeof A;throw"Invalid type of 'facingMode' = ".concat(N)}}else{var R=g.deviceId;if(typeof R=="string")return{deviceId:R};if(typeof R=="object"){if(x in R)return{deviceId:{exact:R["".concat(x)]}};throw"'deviceId' should be string or object with"+" ".concat(x," as key.")}else{var le=typeof R;throw"Invalid type of 'deviceId' = ".concat(le)}}}var $=typeof g;throw"Invalid type of 'cameraIdOrConfig' = ".concat($)},d.prototype.computeCanvasDrawConfig=function(g,u,m,I){if(g<=m&&u<=I){var x=(m-g)/2,T=(I-u)/2;return{x,y:T,width:g,height:u}}else{var M=g,B=u;return g>m&&(u=m/g*u,g=m),u>I&&(g=I/u*g,u=I),this.logger.log("Image downsampled from "+"".concat(M,"X").concat(B)+" to ".concat(g,"X").concat(u,".")),this.computeCanvasDrawConfig(g,u,m,I)}},d.prototype.clearElement=function(){if(this.stateManagerProxy.isScanning())throw"Cannot clear while scan is ongoing, close it first.";var g=document.getElementById(this.elementId);g&&(g.innerHTML="")},d.prototype.possiblyUpdateShaders=function(g){this.qrMatch!==g&&(this.hasBorderShaders&&this.borderShaders&&this.borderShaders.length&&this.borderShaders.forEach(function(u){u.style.backgroundColor=g?ht.BORDER_SHADER_MATCH_COLOR:ht.BORDER_SHADER_DEFAULT_COLOR}),this.qrMatch=g)},d.prototype.possiblyCloseLastScanImageFile=function(){this.lastScanImageFile&&(URL.revokeObjectURL(this.lastScanImageFile),this.lastScanImageFile=null)},d.prototype.createCanvasElement=function(g,u,m){var I=g,x=u,T=document.createElement("canvas");return T.style.width="".concat(I,"px"),T.style.height="".concat(x,"px"),T.style.display="none",T.id=_t(m)?"qr-canvas":m,T},d.prototype.getShadedRegionBounds=function(g,u,m){if(m.width>g||m.height>u)throw"'config.qrbox' dimensions should not be greater than the dimensions of the root HTML element.";return{x:(g-m.width)/2,y:(u-m.height)/2,width:m.width,height:m.height}},d.prototype.possiblyInsertShadingElement=function(g,u,m,I){if(!(u-I.width<1||m-I.height<1)){var x=document.createElement("div");x.style.position="absolute";var T=(u-I.width)/2,M=(m-I.height)/2;if(x.style.borderLeft="".concat(T,"px solid rgba(0, 0, 0, 0.48)"),x.style.borderRight="".concat(T,"px solid rgba(0, 0, 0, 0.48)"),x.style.borderTop="".concat(M,"px solid rgba(0, 0, 0, 0.48)"),x.style.borderBottom="".concat(M,"px solid rgba(0, 0, 0, 0.48)"),x.style.boxSizing="border-box",x.style.top="0px",x.style.bottom="0px",x.style.left="0px",x.style.right="0px",x.id="".concat(ht.SHADED_REGION_ELEMENT_ID),u-I.width<11||m-I.height<11)this.hasBorderShaders=!1;else{var B=5,A=40;this.insertShaderBorders(x,A,B,-B,null,0,!0),this.insertShaderBorders(x,A,B,-B,null,0,!1),this.insertShaderBorders(x,A,B,null,-B,0,!0),this.insertShaderBorders(x,A,B,null,-B,0,!1),this.insertShaderBorders(x,B,A+B,-B,null,-B,!0),this.insertShaderBorders(x,B,A+B,null,-B,-B,!0),this.insertShaderBorders(x,B,A+B,-B,null,-B,!1),this.insertShaderBorders(x,B,A+B,null,-B,-B,!1),this.hasBorderShaders=!0}g.append(x)}},d.prototype.insertShaderBorders=function(g,u,m,I,x,T,M){var B=document.createElement("div");B.style.position="absolute",B.style.backgroundColor=ht.BORDER_SHADER_DEFAULT_COLOR,B.style.width="".concat(u,"px"),B.style.height="".concat(m,"px"),I!==null&&(B.style.top="".concat(I,"px")),x!==null&&(B.style.bottom="".concat(x,"px")),M?B.style.left="".concat(T,"px"):B.style.right="".concat(T,"px"),this.borderShaders||(this.borderShaders=[]),this.borderShaders.push(B),g.appendChild(B)},d.prototype.showPausedState=function(){if(!this.scannerPausedUiElement)throw"[internal error] scanner paused UI element not found";this.scannerPausedUiElement.style.display="block"},d.prototype.hidePausedState=function(){if(!this.scannerPausedUiElement)throw"[internal error] scanner paused UI element not found";this.scannerPausedUiElement.style.display="none"},d.prototype.getTimeoutFps=function(g){return 1e3/g},d}();globalThis&&globalThis.__awaiter;globalThis&&globalThis.__generator;globalThis&&globalThis.__awaiter;globalThis&&globalThis.__generator;var ai;(function(d){d[d.STATUS_DEFAULT=0]="STATUS_DEFAULT",d[d.STATUS_SUCCESS=1]="STATUS_SUCCESS",d[d.STATUS_WARNING=2]="STATUS_WARNING",d[d.STATUS_REQUESTING_PERMISSION=3]="STATUS_REQUESTING_PERMISSION"})(ai||(ai={}));const xo={id:"reader"},go=pn({__name:"Index",emits:["success"],setup(d,{expose:g,emit:u}){const m=u,I=zt(""),x=zt(""),T=zt(null);es(()=>{}),ts(()=>{console.log("qr-onUnmounted"),A()});const M=()=>{oi.getCameras().then(N=>{console.log("摄像头信息",N),N&&N.length&&(N.length>1?I.value=N[1].id:I.value=N[0].id,x.value=N,B())}).catch(N=>{alert(N),console.log("获取设备信息失败",N)})},B=()=>{T.value=new oi("reader"),console.log("html5QrCode",T),T.value.start(I.value,{fps:10,qrbox:{width:250,height:250}},(N,R)=>{console.log("扫描的结果",N,R),m("success",R),A()},N=>{console.log("暂无额扫描结果",N)}).catch(N=>{console.log(`Unable to start scanning, error: ${N}`)})},A=()=>{T.value.stop().then(N=>{console.log("QR Code scanning stopped.",N)}).catch(N=>{console.log("Unable to stop scanning.",N)})};return g({open:M,stop:A}),(N,R)=>(ns(),rs("div",xo))}});const So=is(go,[["__scopeId","data-v-7524a6b9"]]);export{So as Q,yo as S,To as a,vs as s};