@liquid-js/qr-code-styling 4.1.0 → 5.0.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/figures/corner-dot.d.ts +1 -22
- package/lib/figures/corner-square.d.ts +1 -22
- package/lib/figures/dot-elements.d.ts +25 -0
- package/lib/figures/dot.d.ts +1 -29
- package/lib/figures/square-elements.d.ts +10 -0
- package/lib/qr-code-styling-node.js +455 -731
- package/lib/qr-code-styling-node.js.map +1 -1
- package/lib/qr-code-styling.js +1 -1
- package/lib/qr-code-styling.js.map +1 -1
- package/lib/types/helper.d.ts +6 -12
- package/lib/utils/options.d.ts +15 -3
- package/lib/utils/svg.d.ts +7 -0
- package/package.json +1 -1
package/lib/qr-code-styling.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
class t{buffer;length;constructor(){this.buffer=[],this.length=0}getBuffer(){return this.buffer}getLengthInBits(){return this.length}toString(){let t="";for(let e=0;e<this.getLengthInBits();e+=1)t+=this.getBit(e)?"1":"0";return t}getBit(t){return 1==(this.buffer[~~(t/8)]>>>7-t%8&1)}put(t,e){for(let i=0;i<e;i+=1)this.putBit(1==(t>>>e-i-1&1))}putBit(t){this.length==8*this.buffer.length&&this.buffer.push(0),t&&(this.buffer[~~(this.length/8)]|=128>>>this.length%8),this.length+=1}}var e,i=e||={};i[i.L=1]="L",i[i.M=0]="M",i[i.Q=3]="Q",i[i.H=2]="H";class s{constructor(){throw Error("error")}static initialize=()=>{s.EXP_TABLE=[],s.LOG_TABLE=[];for(var t=0;t<256;t+=1)s.EXP_TABLE.push(t<8?1<<t:s.EXP_TABLE[t-4]^s.EXP_TABLE[t-5]^s.EXP_TABLE[t-6]^s.EXP_TABLE[t-8]),s.LOG_TABLE.push(0);for(t=0;t<255;t+=1)s.LOG_TABLE[s.EXP_TABLE[t]]=t};static EXP_TABLE;static LOG_TABLE;static glog(t){if(s.LOG_TABLE||s.initialize(),t<1)throw Error("log("+t+")");return s.LOG_TABLE[t]}static gexp(t){for(s.EXP_TABLE||s.initialize();t<0;)t+=255;for(;t>=256;)t-=255;return s.EXP_TABLE[t]}}class r{num;constructor(t,e=0){let i=0;for(;i<t.length&&0==t[i];)i+=1;this.num=[];let s=t.length-i;for(let e=0;e<s;e+=1)this.num.push(t[i+e]);for(t=0;t<e;t+=1)this.num.push(0)}getAt(t){return this.num[t]}getLength(){return this.num.length}toString(){let t="";for(let e=0;e<this.getLength();e+=1)e>0&&(t+=","),t+=this.getAt(e);return t.toString()}toLogString(){let t="";for(let e=0;e<this.getLength();e+=1)e>0&&(t+=","),t+=s.glog(this.getAt(e));return t.toString()}multiply(t){let e=[];for(var i=this.getLength()+t.getLength()-1,o=0;o<i;o+=1)e.push(0);for(i=0;i<this.getLength();i+=1)for(o=0;o<t.getLength();o+=1)e[i+o]^=s.gexp(s.glog(this.getAt(i))+s.glog(t.getAt(o)));return new r(e)}mod(t){if(this.getLength()-t.getLength()<0)return this;let e=s.glog(this.getAt(0))-s.glog(t.getAt(0)),i=[];for(var o=0;o<this.getLength();o+=1)i.push(this.getAt(o));for(o=0;o<t.getLength();o+=1)i[o]^=s.gexp(s.glog(t.getAt(o))+e);return new r(i).mod(t)}}var o,a=o||={};a[a.MODE_NUMBER=1]="MODE_NUMBER",a[a.MODE_ALPHA_NUM=2]="MODE_ALPHA_NUM",a[a.MODE_8BIT_BYTE=4]="MODE_8BIT_BYTE",a[a.MODE_KANJI=8]="MODE_KANJI";class n{mode;data;constructor(t,e){this.mode=t,this.data=e}getMode(){return this.mode}getData(){return this.data}getLengthInBits(t){if(1<=t&&t<10)switch(this.mode){case o.MODE_NUMBER:return 10;case o.MODE_ALPHA_NUM:return 9;case o.MODE_8BIT_BYTE:case o.MODE_KANJI:return 8;default:throw Error("mode:"+this.mode)}else if(t<27)switch(this.mode){case o.MODE_NUMBER:return 12;case o.MODE_ALPHA_NUM:return 11;case o.MODE_8BIT_BYTE:return 16;case o.MODE_KANJI:return 10;default:throw Error("mode:"+this.mode)}else{if(!(t<41))throw Error("typeNumber:"+t);switch(this.mode){case o.MODE_NUMBER:return 14;case o.MODE_ALPHA_NUM:return 13;case o.MODE_8BIT_BYTE:return 16;case o.MODE_KANJI:return 12;default:throw Error("mode:"+this.mode)}}}}class h extends n{stringToBytes;constructor(t,e){super(o.MODE_8BIT_BYTE,t),this.stringToBytes=e}write(t){this.stringToBytes(this.getData()).forEach(e=>t.put(e,8))}getLength(){return this.stringToBytes(this.getData()).length}}class l extends n{constructor(t){super(o.MODE_ALPHA_NUM,t)}write(t){let e=this.getData(),i=0;for(;i+1<e.length;)t.put(45*l.getCode(e.charAt(i))+l.getCode(e.charAt(i+1)),11),i+=2;i<e.length&&t.put(l.getCode(e.charAt(i)),6)}getLength(){return this.getData().length}static getCode(t){if("0"<=t&&t<="9")return t.charCodeAt(0)-48;if("A"<=t&&t<="Z")return t.charCodeAt(0)-65+10;switch(t){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw Error("illegal char :"+t)}}}class d extends n{stringToBytes;constructor(t,e){super(o.MODE_KANJI,t),this.stringToBytes=e}write(t){let e=this.stringToBytes(this.getData()),i=0;for(;i+1<e.length;){let s=(255&e[i])<<8|255&e[i+1];if(33088<=s&&s<=40956)s-=33088;else{if(!(57408<=s&&s<=60351))throw Error("illegal char at "+(i+1)+"/"+s);s-=49472}s=192*(s>>>8&255)+(255&s),t.put(s,13),i+=2}if(i<e.length)throw Error("illegal char at "+(i+1))}getLength(){return this.stringToBytes(this.getData()).length/2}}class u extends n{constructor(t){super(o.MODE_NUMBER,t)}write(t){let e=this.getData(),i=0;for(;i+2<e.length;)t.put(u.strToNum(e.substring(i,i+3)),10),i+=3;i<e.length&&(e.length-i==1?t.put(u.strToNum(e.substring(i,i+1)),4):e.length-i==2&&t.put(u.strToNum(e.substring(i,i+2)),7))}getLength(){return this.getData().length}static strToNum(t){let e=0;for(let i=0;i<t.length;i+=1)e=10*e+u.chatToNum(t.charAt(i));return e}static chatToNum(t){if("0"<=t&&t<="9")return t.charCodeAt(0)-48;throw Error("illegal char :"+t)}}var c,g=c||={};g[g.PATTERN000=0]="PATTERN000",g[g.PATTERN001=1]="PATTERN001",g[g.PATTERN010=2]="PATTERN010",g[g.PATTERN011=3]="PATTERN011",g[g.PATTERN100=4]="PATTERN100",g[g.PATTERN101=5]="PATTERN101",g[g.PATTERN110=6]="PATTERN110",g[g.PATTERN111=7]="PATTERN111";class p{constructor(){throw Error("error")}static getPatternPosition(t){return p.PATTERN_POSITION_TABLE[t-1]}static PATTERN_POSITION_TABLE=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]];static MAX_LENGTH=[[[41,25,17,10],[34,20,14,8],[27,16,11,7],[17,10,7,4]],[[77,47,32,20],[63,38,26,16],[48,29,20,12],[34,20,14,8]],[[127,77,53,32],[101,61,42,26],[77,47,32,20],[58,35,24,15]],[[187,114,78,48],[149,90,62,38],[111,67,46,28],[82,50,34,21]],[[255,154,106,65],[202,122,84,52],[144,87,60,37],[106,64,44,27]],[[322,195,134,82],[255,154,106,65],[178,108,74,45],[139,84,58,36]],[[370,224,154,95],[293,178,122,75],[207,125,86,53],[154,93,64,39]],[[461,279,192,118],[365,221,152,93],[259,157,108,66],[202,122,84,52]],[[552,335,230,141],[432,262,180,111],[312,189,130,80],[235,143,98,60]],[[652,395,271,167],[513,311,213,131],[364,221,151,93],[288,174,119,74]]];static getMaxLength(t,i,s){switch(s){case e.L:s=0;break;case e.M:s=1;break;case e.Q:s=2;break;case e.H:s=3;break;default:throw Error("e:"+s)}switch(i){case o.MODE_NUMBER:i=0;break;case o.MODE_ALPHA_NUM:i=1;break;case o.MODE_8BIT_BYTE:i=2;break;case o.MODE_KANJI:i=3;break;default:throw Error("m:"+i)}return p.MAX_LENGTH[t-1][s][i]}static getErrorCorrectPolynomial(t){let e=new r([1]);for(let i=0;i<t;i+=1)e=e.multiply(new r([1,s.gexp(i)]));return e}static getMaskFunc(t){switch(t){case c.PATTERN000:return(t,e)=>(t+e)%2==0;case c.PATTERN001:return t=>t%2==0;case c.PATTERN010:return(t,e)=>e%3==0;case c.PATTERN011:return(t,e)=>(t+e)%3==0;case c.PATTERN100:return(t,e)=>(~~(t/2)+~~(e/3))%2==0;case c.PATTERN101:return(t,e)=>t*e%2+t*e%3==0;case c.PATTERN110:return(t,e)=>(t*e%2+t*e%3)%2==0;case c.PATTERN111:return(t,e)=>(t*e%3+(t+e)%2)%2==0;default:throw Error("mask:"+t)}}static getLostPoint(t){let e=t.getModuleCount(),i=0;for(var s=0;s<e;s+=1)for(var r=0;r<e;r+=1){var o=0;let a=t.isDark(s,r);for(let i=-1;i<=1;i+=1)if(!(s+i<0||e<=s+i))for(let n=-1;n<=1;n+=1)r+n<0||e<=r+n||(0!=i||0!=n)&&a==t.isDark(s+i,r+n)&&(o+=1);o>5&&(i+=3+o-5)}for(s=0;s<e-1;s+=1)for(r=0;r<e-1;r+=1)o=0,t.isDark(s,r)&&(o+=1),t.isDark(s+1,r)&&(o+=1),t.isDark(s,r+1)&&(o+=1),t.isDark(s+1,r+1)&&(o+=1),(0==o||4==o)&&(i+=3);for(s=0;s<e;s+=1)for(r=0;r<e-6;r+=1)t.isDark(s,r)&&!t.isDark(s,r+1)&&t.isDark(s,r+2)&&t.isDark(s,r+3)&&t.isDark(s,r+4)&&!t.isDark(s,r+5)&&t.isDark(s,r+6)&&(i+=40);for(s=0;s<e;s+=1)for(r=0;r<e-6;r+=1)t.isDark(r,s)&&!t.isDark(r+1,s)&&t.isDark(r+2,s)&&t.isDark(r+3,s)&&t.isDark(r+4,s)&&!t.isDark(r+5,s)&&t.isDark(r+6,s)&&(i+=40);for(s=0,r=0;r<e;r+=1)for(o=0;o<e;o+=1)t.isDark(o,r)&&(s+=1);return i+Math.abs(100*s/e/e-50)/5*10}static getBCHTypeInfo(t){let e=t<<10;for(;p.getBCHDigit(e)-p.getBCHDigit(p.G15)>=0;)e^=p.G15<<p.getBCHDigit(e)-p.getBCHDigit(p.G15);return(t<<10|e)^p.G15_MASK}static getBCHTypeNumber(t){let e=t<<12;for(;p.getBCHDigit(e)-p.getBCHDigit(p.G18)>=0;)e^=p.G18<<p.getBCHDigit(e)-p.getBCHDigit(p.G18);return t<<12|e}static G15=1335;static G18=7973;static G15_MASK=21522;static getBCHDigit(t){let e=0;for(;0!=t;)e+=1,t>>>=1;return e}}class m{totalCount;dataCount;static RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];constructor(t,e){this.totalCount=t,this.dataCount=e}getDataCount(){return this.dataCount}getTotalCount(){return this.totalCount}static getRSBlocks(t,e){e=(t=m.getRsBlockTable(t,e)).length/3;let i=[];for(let s=0;s<e;s+=1){let e=t[3*s],r=t[3*s+1],o=t[3*s+2];for(let t=0;t<e;t+=1)i.push(new m(r,o))}return i}static getRsBlockTable(t,i){switch(i){case e.L:return m.RS_BLOCK_TABLE[4*(t-1)];case e.M:return m.RS_BLOCK_TABLE[4*(t-1)+1];case e.Q:return m.RS_BLOCK_TABLE[4*(t-1)+2];case e.H:return m.RS_BLOCK_TABLE[4*(t-1)+3]}throw Error("tn:"+t+"/ecl:"+i)}}let w=Array(41).fill(0).map((t,e)=>e);var b,$=b||={};$.L="L",$.M="M",$.Q="Q",$.H="H";var f,y=f||={};y.numeric="numeric",y.alphanumeric="alphanumeric",y.byte="byte",y.kanji="kanji",y.unicode="unicode";class M{static stringToBytesFuncs={default(t){let e=[];for(let i=0;i<t.length;i+=1){let s=t.charCodeAt(i);e.push(255&s)}return e}};static PAD0=236;static PAD1=17;typeNumber;errorCorrectLevel;qrDataList;modules=[];moduleCount=0;constructor(t=0,i=b.L){this.typeNumber=t,this.errorCorrectLevel=e[i],this.qrDataList=[]}getTypeNumber(){return this.typeNumber}setTypeNumber(t){this.typeNumber=t}getErrorCorrectLevel(){return this.errorCorrectLevel}setErrorCorrectLevel(t){this.errorCorrectLevel=t}clearData(){this.qrDataList=[]}addData(t,e=f.byte){if(t instanceof n)this.qrDataList.push(t);else{if("string"!=typeof t)throw Error(typeof t);switch(e){case f.numeric:this.qrDataList.push(new u(t));break;case f.alphanumeric:this.qrDataList.push(new l(t));break;case f.byte:this.qrDataList.push(new h(t,M.stringToBytesFuncs.default));break;case f.unicode:this.qrDataList.push(new h(t,M.stringToBytesFuncs.UTF8));break;case f.kanji:this.qrDataList.push(new d(t,M.stringToBytesFuncs.SJIS));break;default:throw Error("mode:"+e)}}}isDark(t,e){return null!=this.modules[t][e]&&this.modules[t][e]}getModuleCount(){return this.moduleCount}make(){if(this.typeNumber<1){let i=1;for(;i<40;i++){var e=m.getRSBlocks(i,this.errorCorrectLevel);let s=new t;if(this.qrDataList.forEach(t=>{s.put(t.getMode(),4),s.put(t.getLength(),t.getLengthInBits(i)),t.write(s)}),e=e.reduce((t,e)=>t+e.getDataCount(),0),s.getLengthInBits()<=8*e)break}this.typeNumber=i}this.makeImpl(!1,this.getBestMaskPattern())}getBestMaskPattern(){let t=0,e=0;for(let i=0;i<8;i+=1){this.makeImpl(!0,i);let s=p.getLostPoint(this);(0==i||t>s)&&(t=s,e=i)}return e}makeImpl(t,e){this.moduleCount=4*this.typeNumber+17,this.modules=[];for(let t=0;t<this.moduleCount;t+=1){this.modules.push([]);for(let e=0;e<this.moduleCount;e+=1)this.modules[t].push(null)}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(t,e),this.typeNumber>=7&&this.setupTypeNumber(t),t=M.createData(this.typeNumber,this.errorCorrectLevel,this.qrDataList),this.mapData(t,e)}mapData(t,e){let i=-1,s=this.moduleCount-1,r=7,o=0;e=p.getMaskFunc(e);for(let a=this.moduleCount-1;a>0;a-=2)for(6==a&&--a;;){for(let i=0;i<2;i+=1)if(null==this.modules[s][a-i]){let n=!1;o<t.length&&(n=1==(t[o]>>>r&1)),e(s,a-i)&&(n=!n),this.modules[s][a-i]=n,--r,-1==r&&(o+=1,r=7)}if(s+=i,s<0||this.moduleCount<=s){s-=i,i=-i;break}}}setupPositionAdjustPattern(){let t=p.getPatternPosition(this.typeNumber);t.forEach(e=>{t.forEach(t=>{if(null==this.modules[e][t])for(let i=-2;i<=2;i+=1)for(let s=-2;s<=2;s+=1)this.modules[e+i][t+s]=-2==i||2==i||-2==s||2==s||0==i&&0==s})})}setupPositionProbePattern(t,e){for(let i=-1;i<=7;i+=1)for(let s=-1;s<=7;s+=1)t+i<=-1||this.moduleCount<=t+i||e+s<=-1||this.moduleCount<=e+s||(this.modules[t+i][e+s]=0<=i&&i<=6&&(0==s||6==s)||0<=s&&s<=6&&(0==i||6==i)||2<=i&&i<=4&&2<=s&&s<=4)}setupTimingPattern(){for(var t=8;t<this.moduleCount-8;t+=1)null==this.modules[t][6]&&(this.modules[t][6]=t%2==0);for(t=8;t<this.moduleCount-8;t+=1)null==this.modules[6][t]&&(this.modules[6][t]=t%2==0)}setupTypeNumber(t){let e=p.getBCHTypeNumber(this.typeNumber);for(var i=0;i<18;i+=1)this.modules[~~(i/3)][i%3+this.moduleCount-8-3]=!t&&1==(e>>i&1);for(i=0;i<18;i+=1)this.modules[i%3+this.moduleCount-8-3][~~(i/3)]=!t&&1==(e>>i&1)}setupTypeInfo(t,e){e=p.getBCHTypeInfo(this.errorCorrectLevel<<3|e);for(var i=0;i<15;i+=1){var s=!t&&1==(e>>i&1);i<6?this.modules[i][8]=s:i<8?this.modules[i+1][8]=s:this.modules[this.moduleCount-15+i][8]=s}for(i=0;i<15;i+=1)s=!t&&1==(e>>i&1),i<8?this.modules[8][this.moduleCount-i-1]=s:i<9?this.modules[8][15-i-1+1]=s:this.modules[8][15-i-1]=s;this.modules[this.moduleCount-8][8]=!t}static createData(e,i,s){i=m.getRSBlocks(e,i);let r=new t;if(s.forEach(t=>{r.put(t.getMode(),4),r.put(t.getLength(),t.getLengthInBits(e)),t.write(r)}),s=i.reduce((t,e)=>t+e.getDataCount(),0),r.getLengthInBits()>8*s)throw Error("code length overflow. ("+r.getLengthInBits()+">"+8*s+")");for(r.getLengthInBits()+4<=8*s&&r.put(0,4);r.getLengthInBits()%8!=0;)r.putBit(!1);for(;!(r.getLengthInBits()>=8*s)&&(r.put(M.PAD0,8),!(r.getLengthInBits()>=8*s));)r.put(M.PAD1,8);return M.createBytes(r,i)}static createBytes(t,e){function i(t){let e=[];for(let i=0;i<t;i+=1)e.push(0);return e}var s=0,o=0;let a=0;var n=Array(e.length).map(()=>[]);let h=Array(e.length).map(()=>[]);for(var l=0;l<e.length;l+=1){var d=e[l].getDataCount(),u=e[l].getTotalCount()-d;o=Math.max(o,d),a=Math.max(a,u),n[l]=i(d);for(var c=0;c<n[l].length;c+=1)n[l][c]=255&t.getBuffer()[c+s];for(s+=d,u=p.getErrorCorrectPolynomial(u),d=new r(n[l],u.getLength()-1).mod(u),h[l]=i(u.getLength()-1),u=0;u<h[l].length;u+=1)c=u+d.getLength()-h[l].length,h[l][u]=c>=0?d.getAt(c):0}for(t=i(t=e.reduce((t,e)=>t+e.getTotalCount(),0)),s=0,l=0;l<o;l+=1)for(d=0;d<e.length;d+=1)l<n[d].length&&(t[s]=n[d][l],s+=1);for(o=0;o<a;o+=1)for(n=0;n<e.length;n+=1)o<h[n].length&&(t[s]=h[n][o],s+=1);return t}}let A=t=>!!t&&"object"==typeof t&&!Array.isArray(t);function v(t,...e){if(!e.length)return t;let i=e.shift();return void 0!==i&&A(t)&&A(i)?(t={...t},Object.keys(i).forEach(e=>{let s=t[e],r=i[e];Array.isArray(s)&&Array.isArray(r)?t[e]=r:A(s)&&A(r)?t[e]=v({...s},r):t[e]=r}),v(t,...e)):t}var x,E=x||={};function D(t){if(!(t={...t}).colorStops||!t.colorStops.length)throw Error("Field 'colorStops' is required in gradient");return t.rotation=t.rotation?Number(t.rotation):0,t.colorStops=t.colorStops.map(t=>({...t,offset:Number(t.offset)})),t}E.radial="radial",E.linear="linear";var _,k=_||={};k.dot="dot",k.randomDot="random-dot",k.rounded="rounded",k.extraRounded="extra-rounded",k.verticalLine="vertical-line",k.horizontalLine="horizontal-line",k.classy="classy",k.classyRounded="classy-rounded",k.square="square",k.smallSquare="small-square",k.tinySquare="tiny-square",k.diamond="diamond",k.wave="wave";var z,S=z||={};S.dot="dot",S.square="square",S.heart="heart",S.extraRounded="extra-rounded",S.classy="classy",S.outpoint="outpoint",S.inpoint="inpoint";var T,C=T||={};C.dot="dot",C.square="square",C.extraRounded="extra-rounded",C.classy="classy",C.outpoint="outpoint",C.inpoint="inpoint";var O,P=O||={};P.square="square",P.circle="circle";var N,L=N||={};L.center="center",L.overlay="overlay",L.background="background";let I={document:void 0,shape:O.square,width:void 0,height:void 0,data:"",qrOptions:{typeNumber:w[0],mode:void 0,errorCorrectionLevel:b.Q},imageOptions:{mode:N.center,imageSize:.4,crossOrigin:void 0,margin:0,fill:{color:"rgba(255,255,255,1)"}},dotsOptions:{type:_.square,color:"#000",size:10}};function q(t){return(t={...t}).imageOptions={...t.imageOptions,imageSize:Math.min(1,Number(t.imageOptions.imageSize))||1,margin:Number(t.imageOptions.margin),fill:{...t.imageOptions.fill}},t.imageOptions.mode==N.overlay&&(t.imageOptions.margin=0),t.imageOptions.fill.gradient&&(t.imageOptions.fill.gradient=D(t.imageOptions.fill.gradient)),t.dotsOptions={...t.dotsOptions},t.dotsOptions.gradient&&(t.dotsOptions.gradient=D(t.dotsOptions.gradient)),t.dotsOptions.size=Math.round(Math.max(0,t.dotsOptions.size)||10),t.cornersSquareOptions&&(t.cornersSquareOptions={...t.cornersSquareOptions},t.cornersSquareOptions.gradient&&(t.cornersSquareOptions.gradient=D(t.cornersSquareOptions.gradient))),t.cornersDotOptions&&(t.cornersDotOptions={...t.cornersDotOptions},t.cornersDotOptions.gradient&&(t.cornersDotOptions.gradient=D(t.cornersDotOptions.gradient))),t.backgroundOptions&&(t.backgroundOptions={...t.backgroundOptions},t.backgroundOptions.gradient&&(t.backgroundOptions.gradient=D(t.backgroundOptions.gradient))),t.document||(t.document=document),t}let B={[b.L]:.07,[b.M]:.15,[b.Q]:.25,[b.H]:.3};let R=/\.?0+$/;function G(t){return t.toFixed(7).replace(R,"")}function F(t,...e){return t.reduce((t,i,s)=>{let r="";return s&&(r=e[s-1]),"number"==typeof r&&(r=G(r)),`${t}${r}${i}`},"").trim().replace(/[\s\n\r]+/gim," ")}class H{type;document;_element;get element(){return this._element}constructor(t,e){this.type=t,this.document=e}draw(t){let e;switch(this.type){case z.square:e=this.drawSquare;break;case z.heart:e=this.drawHeart;break;case z.extraRounded:e=this.drawRounded;break;case z.classy:e=this.drawClassy;break;case z.inpoint:e=this.drawInpoint;break;case z.outpoint:e=this.drawOutpoint;break;default:e=this.drawDot}e.call(this,t)}rotateFigure({x:t,y:e,size:i,rotation:s=0,draw:r}){t+=i/2,e+=i/2,r(),this._element?.setAttribute("transform",`rotate(${G(180*s/Math.PI)},${t},${e})`)}basicDot(t){let{size:e,x:i,y:s}=t;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",G(i+e/2)),this._element.setAttribute("cy",G(s+e/2)),this._element.setAttribute("r",G(e/2))}})}basicSquare(t){let{size:e,x:i,y:s}=t;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",G(i)),this._element.setAttribute("y",G(s)),this._element.setAttribute("width",G(e)),this._element.setAttribute("height",G(e))}})}basicHeart(t){let{size:e,x:i,y:s}=t;this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path");let r=!1,o=0;this._element.setAttribute("d",["M",1,.3262506,"c",0,.0383376,-.0064626,.0758377,-.0193751,.1125001,"s",-.0356247,.076875,-.0681248,.1206252,"c",-.0325,.0437499,-.0762503,.0931247,-.1312501,.1481249,"C",.7262502,.7625008,.6566626,.8279132,.5724999,.9037505,"L",.5,.9687506,"L",.4275001,.9037505,"C",.3433374,.8279132,.2737499,.7625005,.21875,.7075007,"C",.1637501,.6525008,.1199999,.6031258,.0874999,.5593758,"S",.0322876,.4754133,.0193751,.4387506,"S",0,.3645881,0,.3262506,"c",0,-.0783374,.0262499,-.1437498,.07875,-.1962499,"s",.1179124,-.07875,.1962499,-.07875,"c",.0433376,0,.0845875,.0091625,.12375,.0274999,"S",.4716623,.1229131,.5,.1562506,"c",.0283374,-.0333375,.0620874,-.0591625,.1012502,-.0775,"c",.0391627,-.0183375,.0804126,-.0274999,.12375,-.0274999,"c",.0783374,0,.1437497,.0262499,.1962501,.07875,"S",1,.2479131,1,.3262506,"z"].map(t=>"string"==typeof t?(o=0,r=t.toUpperCase()==t,t):(o++,t*=e,r&&(t+=o%2==1?i:s),G(t))).join(" "))}basicRounded(t){let{size:e,x:i,y:s}=t;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",G(i)),this._element.setAttribute("y",G(s)),this._element.setAttribute("width",G(e)),this._element.setAttribute("height",G(e)),this._element.setAttribute("rx",G(e/4)),this._element.setAttribute("ry",G(e/4))}})}basicClassy(t){let{size:e,x:i,y:s}=t,r=e/7;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",F`M ${i} ${s+2.5*r} v ${2*r} a ${2.5*r} ${2.5*r}, 0, 0, 0, ${2.5*r} ${2.5*r} h ${4.5*r} v ${-4.5*r} a ${2.5*r} ${2.5*r}, 0, 0, 0, ${2.5*-r} ${2.5*-r} h ${-2*r} H ${i} z`)}})}basicInpoint(t){let{size:e,x:i,y:s}=t;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",F`M ${i} ${s+e/2} v ${e/4} a ${e/4}, ${e/4} 0 0 0 ${e/4}, ${e/4} h ${e/4*3} v ${-e/4*3} a ${e/4}, ${e/4} 0 0 0 ${-e/4}, ${-e/4} h ${-e/2} a ${e/4}, ${e/4} 0 0 0 ${-e/4}, ${e/4} z`)}})}drawDot({x:t,y:e,size:i,rotation:s}){this.basicDot({x:t,y:e,size:i,rotation:s})}drawSquare({x:t,y:e,size:i,rotation:s}){this.basicSquare({x:t,y:e,size:i,rotation:s})}drawHeart({x:t,y:e,size:i,rotation:s}){this.basicHeart({x:t,y:e,size:i,rotation:s})}drawRounded({x:t,y:e,size:i,rotation:s}){this.basicRounded({x:t,y:e,size:i,rotation:s})}drawClassy({x:t,y:e,size:i,rotation:s}){this.basicClassy({x:t,y:e,size:i,rotation:s})}drawInpoint({x:t,y:e,size:i,rotation:s}){this.basicInpoint({x:t,y:e,size:i,rotation:s})}drawOutpoint({x:t,y:e,size:i,rotation:s}){this.basicInpoint({x:t,y:e,size:i,rotation:(s||0)+Math.PI})}}class U{type;document;_element;_fill;get element(){return this._element}get fill(){return this._fill}constructor(t,e){this.type=t,this.document=e}draw(t){let e;switch(this.type){case T.square:e=this.drawSquare;break;case T.extraRounded:e=this.drawExtraRounded;break;case T.classy:e=this.drawClassy;break;case T.outpoint:e=this.drawOutpoint;break;case T.inpoint:e=this.drawInpoint;break;default:e=this.drawDot}e.call(this,t)}rotateFigure({x:t,y:e,size:i,rotation:s=0,draw:r}){t+=i/2,e+=i/2,r(),this._element?.setAttribute("transform",`rotate(${G(180*s/Math.PI)},${t},${e})`),this._fill?.setAttribute("transform",`rotate(${G(180*s/Math.PI)},${t},${e})`)}basicDot(t){let{size:e,x:i,y:s}=t,r=e/7;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",F`M ${i+e/2} ${s} a ${e/2} ${e/2} 0 1 0 0.1 0 z m 0 ${r} a ${e/2-r} ${e/2-r} 0 1 1 -0.1 0 Z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",F`M ${i+e/2} ${s-r} a ${e/2+r} ${e/2+r} 0 1 0 0.1 0 z`)}})}basicSquare(t){let{size:e,x:i,y:s}=t,r=e/7;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",F`M ${i} ${s} v ${e} h ${e} v ${-e} z M ${i+r} ${s+r} h ${e-2*r} v ${e-2*r} h ${2*r-e} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",F`M ${i-r} ${s-r} h ${e+2*r} v ${e+2*r} h ${-e-2*r} z`)}})}basicExtraRounded(t){let{size:e,x:i,y:s}=t,r=e/7;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",F`M ${i} ${s+2.5*r} v ${2*r} a ${2.5*r} ${2.5*r}, 0, 0, 0, ${2.5*r} ${2.5*r} h ${2*r} a ${2.5*r} ${2.5*r}, 0, 0, 0, ${2.5*r} ${2.5*-r} v ${-2*r} a ${2.5*r} ${2.5*r}, 0, 0, 0, ${2.5*-r} ${2.5*-r} h ${-2*r} a ${2.5*r} ${2.5*r}, 0, 0, 0, ${2.5*-r} ${2.5*r} z M ${i+2.5*r} ${s+r} h ${2*r} a ${1.5*r} ${1.5*r}, 0, 0, 1, ${1.5*r} ${1.5*r} v ${2*r} a ${1.5*r} ${1.5*r}, 0, 0, 1, ${1.5*-r} ${1.5*r} h ${-2*r} a ${1.5*r} ${1.5*r}, 0, 0, 1, ${1.5*-r} ${1.5*-r} v ${-2*r} a ${1.5*r} ${1.5*r}, 0, 0, 1, ${1.5*r} ${1.5*-r} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",F`M ${i-r} ${s+2.5*r} v ${2*r} a ${3.5*r} ${3.5*r}, 0, 0, 0, ${3.5*r} ${3.5*r} h ${2*r} a ${3.5*r} ${3.5*r}, 0, 0, 0, ${3.5*r} ${3.5*-r} v ${-2*r} a ${3.5*r} ${3.5*r}, 0, 0, 0, ${3.5*-r} ${3.5*-r} h ${-2*r} a ${3.5*r} ${3.5*r}, 0, 0, 0, ${3.5*-r} ${3.5*r} z`)}})}basicClassy(t){let{size:e,x:i,y:s}=t,r=e/7;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",F`M ${i} ${s+2.5*r} v ${2*r} a ${2.5*r} ${2.5*r}, 0, 0, 0, ${2.5*r} ${2.5*r} h ${4.5*r} v ${-4.5*r} a ${2.5*r} ${2.5*r}, 0, 0, 0, ${2.5*-r} ${2.5*-r} h ${-2*r} H ${i} z M ${i+2.5*r} ${s+r} h ${2*r} a ${1.5*r} ${1.5*r}, 0, 0, 1, ${1.5*r} ${1.5*r} v ${3.5*r} h ${-3.5*r} a ${1.5*r} ${1.5*r}, 0, 0, 1, ${1.5*-r} ${1.5*-r} v ${-3.5*r} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",F`M ${i+.5*r} ${s-r} h ${4*r} a ${3.5*r} ${3.5*r}, 0, 0, 1, ${3.5*r} ${3.5*r} v ${5.5*r} h ${-5.5*r} a ${3.5*r} ${3.5*r}, 0, 0, 1, ${3.5*-r} ${3.5*-r} v ${-5.5*r} z`)}})}basicInpoint(t){let{size:e,x:i,y:s}=t,r=e/7;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",F`M ${i} ${s+2.5*r} v ${2*r} a ${2.5*r} ${2.5*r}, 0, 0, 0, ${2.5*r} ${2.5*r} h ${4.5*r} v ${-4.5*r} a ${2.5*r} ${2.5*r}, 0, 0, 0, ${2.5*-r} ${2.5*-r} h ${-2*r} a ${2.5*r} ${2.5*r}, 0, 0, 0, ${2.5*-r} ${2.5*r} z M ${i+2.5*r} ${s+r} h ${2*r} a ${1.5*r} ${1.5*r}, 0, 0, 1, ${1.5*r} ${1.5*r} v ${3.5*r} h ${-3.5*r} a ${1.5*r} ${1.5*r}, 0, 0, 1, ${1.5*-r} ${1.5*-r} v ${-2*r} a ${1.5*r} ${1.5*r}, 0, 0, 1, ${1.5*r} ${1.5*-r} z`),this._fill=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._fill.setAttribute("clip-rule","evenodd"),this._fill.setAttribute("d",F`M ${i+.5*r} ${s-r} h ${4*r} a ${3.5*r} ${3.5*r}, 0, 0, 1, ${3.5*r} ${3.5*r} v ${5.5*r} h ${-5.5*r} a ${3.5*r} ${3.5*r}, 0, 0, 1, ${3.5*-r} ${3.5*-r} v ${-2*r} a ${3.5*r} ${3.5*r}, 0, 0, 1, ${3.5*r} ${3.5*-r} z`)}})}drawDot({x:t,y:e,size:i,rotation:s}){this.basicDot({x:t,y:e,size:i,rotation:s})}drawSquare({x:t,y:e,size:i,rotation:s}){this.basicSquare({x:t,y:e,size:i,rotation:s})}drawExtraRounded({x:t,y:e,size:i,rotation:s}){this.basicExtraRounded({x:t,y:e,size:i,rotation:s})}drawClassy({x:t,y:e,size:i,rotation:s}){this.basicClassy({x:t,y:e,size:i,rotation:s})}drawInpoint({x:t,y:e,size:i,rotation:s}){this.basicInpoint({x:t,y:e,size:i,rotation:s})}drawOutpoint({x:t,y:e,size:i,rotation:s}){this.basicInpoint({x:t,y:e,size:i,rotation:(s||0)+Math.PI})}}class X{type;document;_element;get element(){return this._element}constructor(t,e){this.type=t,this.document=e}draw(t){let e;switch(this.type){case _.dot:e=this.drawDot;break;case _.randomDot:e=this.drawRandomDot;break;case _.classy:e=this.drawClassy;break;case _.classyRounded:e=this.drawClassyRounded;break;case _.rounded:e=this.drawRounded;break;case _.verticalLine:e=this.drawVerticalLine;break;case _.horizontalLine:e=this.drawHorizontalLine;break;case _.extraRounded:e=this.drawExtraRounded;break;case _.diamond:e=this.drawDiamond;break;case _.smallSquare:e=this.drawSmallSquare;break;case _.tinySquare:e=this.drawTinySquare;break;case _.wave:e=this.drawWave;break;default:e=this.drawSquare}e.call(this,t)}rotateFigure({x:t,y:e,size:i,rotation:s=0,draw:r}){t+=i/2,e+=i/2,r(),this._element?.setAttribute("transform",`rotate(${G(180*s/Math.PI)},${t},${e})`)}basicDot(t){let{size:e,x:i,y:s}=t;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",G(i+e/2)),this._element.setAttribute("cy",G(s+e/2)),this._element.setAttribute("r",G(e/2))}})}basicSquare(t){let{size:e,x:i,y:s}=t;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",G(i)),this._element.setAttribute("y",G(s)),this._element.setAttribute("width",G(e)),this._element.setAttribute("height",G(e))}})}basicSideRounded(t){let{size:e,x:i,y:s}=t;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",F`M ${i} ${s} v ${e} h ${e/2} a ${e/2} ${e/2}, 0, 0, 0, 0 ${-e} z`)}})}basicCornerRounded(t){let{size:e,x:i,y:s}=t;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",F`M ${i} ${s} v ${e} h ${e} v ${-e/2} a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2} z`)}})}basicCornerExtraRounded(t){let{size:e,x:i,y:s}=t;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",F`M ${i} ${s} v ${e} h ${e} a ${e} ${e}, 0, 0, 0, ${-e} ${-e} z`)}})}basicCornersRounded(t){let{size:e,x:i,y:s}=t;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",F`M ${i} ${s} v ${e/2} a ${e/2} ${e/2}, 0, 0, 0, ${e/2} ${e/2} h ${e/2} v ${-e/2} a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2} z`)}})}basicWave(t){let{size:e,x:i,y:s}=t,r=5*Math.PI/180,o=65*Math.PI/180,a=e*(.95-.65*Math.cos(r)),n=e*(1-.65*Math.sin(r)),h=-e*Math.cos(o)/2,l=-e*Math.sin(o)/2;this.rotateFigure({...t,draw:()=>{this._element=this.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",F`M ${i} ${s} c 0 ${.65*e} ${a} ${n} ${.95*e} ${e} c ${h} ${l} ${e*(1-.95)} ${-e/2} ${e*(1-.95)} ${-e} z`)}})}drawDot({x:t,y:e,size:i}){this.basicDot({x:t,y:e,size:i,rotation:0})}drawRandomDot({x:t,y:e,size:i}){this.basicDot({x:t,y:e,size:i*(.25*Math.random()+.75),rotation:0})}drawSquare({x:t,y:e,size:i}){this.basicSquare({x:t,y:e,size:i,rotation:0})}drawSmallSquare({x:t,y:e,size:i}){let s=i;i=.7*s,t+=.15*s,e+=.15*s,this.basicSquare({x:t,y:e,size:i,rotation:0})}drawTinySquare({x:t,y:e,size:i}){let s=i;i=.3*s,t+=.35*s,e+=.35*s,this.basicSquare({x:t,y:e,size:i,rotation:0})}drawDiamond({x:t,y:e,size:i}){this.basicSquare({x:t,y:e,size:i,rotation:Math.PI/4})}drawRounded({x:t,y:e,size:i,getNeighbor:s}){var r=s?+s(-1,0):0;let o=s?+s(1,0):0,a=s?+s(0,-1):0;var n=r+o+a+(s=s?+s(0,1):0);0===n?this.basicDot({x:t,y:e,size:i,rotation:0}):n>2||r&&o||a&&s?this.basicSquare({x:t,y:e,size:i,rotation:0}):2===n?(n=0,r&&a?n=Math.PI/2:a&&o?n=Math.PI:o&&s&&(n=-Math.PI/2),this.basicCornerRounded({x:t,y:e,size:i,rotation:n})):1===n&&(r=0,a?r=Math.PI/2:o?r=Math.PI:s&&(r=-Math.PI/2),this.basicSideRounded({x:t,y:e,size:i,rotation:r}))}drawVerticalLine({x:t,y:e,size:i,getNeighbor:s}){let r=s?+s(-1,0):0,o=s?+s(1,0):0,a=s?+s(0,-1):0;r+o+a+(s=s?+s(0,1):0)===0||r&&!a&&!s||o&&!a&&!s?this.basicDot({x:t,y:e,size:i,rotation:0}):a&&s?this.basicSquare({x:t,y:e,size:i,rotation:0}):a&&!s?this.basicSideRounded({x:t,y:e,size:i,rotation:Math.PI/2}):s&&!a&&this.basicSideRounded({x:t,y:e,size:i,rotation:-Math.PI/2})}drawHorizontalLine({x:t,y:e,size:i,getNeighbor:s}){let r=s?+s(-1,0):0,o=s?+s(1,0):0,a=s?+s(0,-1):0;r+o+a+(s=s?+s(0,1):0)===0||a&&!r&&!o||s&&!r&&!o?this.basicDot({x:t,y:e,size:i,rotation:0}):r&&o?this.basicSquare({x:t,y:e,size:i,rotation:0}):r&&!o?this.basicSideRounded({x:t,y:e,size:i,rotation:0}):o&&!r&&this.basicSideRounded({x:t,y:e,size:i,rotation:Math.PI})}drawExtraRounded({x:t,y:e,size:i,getNeighbor:s}){var r=s?+s(-1,0):0;let o=s?+s(1,0):0,a=s?+s(0,-1):0;var n=r+o+a+(s=s?+s(0,1):0);0===n?this.basicDot({x:t,y:e,size:i,rotation:0}):n>2||r&&o||a&&s?this.basicSquare({x:t,y:e,size:i,rotation:0}):2===n?(n=0,r&&a?n=Math.PI/2:a&&o?n=Math.PI:o&&s&&(n=-Math.PI/2),this.basicCornerExtraRounded({x:t,y:e,size:i,rotation:n})):1===n&&(r=0,a?r=Math.PI/2:o?r=Math.PI:s&&(r=-Math.PI/2),this.basicSideRounded({x:t,y:e,size:i,rotation:r}))}drawClassy({x:t,y:e,size:i,getNeighbor:s}){let r=s?+s(-1,0):0,o=s?+s(1,0):0,a=s?+s(0,-1):0;r+o+a+(s=s?+s(0,1):0)===0?this.basicCornersRounded({x:t,y:e,size:i,rotation:Math.PI/2}):r||a?o||s?this.basicSquare({x:t,y:e,size:i,rotation:0}):this.basicCornerRounded({x:t,y:e,size:i,rotation:Math.PI/2}):this.basicCornerRounded({x:t,y:e,size:i,rotation:-Math.PI/2})}drawClassyRounded({x:t,y:e,size:i,getNeighbor:s}){let r=s?+s(-1,0):0,o=s?+s(1,0):0,a=s?+s(0,-1):0;r+o+a+(s=s?+s(0,1):0)===0?this.basicCornersRounded({x:t,y:e,size:i,rotation:Math.PI/2}):r||a?o||s?this.basicSquare({x:t,y:e,size:i,rotation:0}):this.basicCornerExtraRounded({x:t,y:e,size:i,rotation:Math.PI/2}):this.basicCornerExtraRounded({x:t,y:e,size:i,rotation:-Math.PI/2})}drawWave({x:t,y:e,size:i,getNeighbor:s}){let r=s?+s(-1,0):0,o=s?+s(1,0):0;var a=s?+s(0,-1):0,n=r+o+a+(s=s?+s(0,1):0);0===n?this.basicDot({x:t,y:e,size:i,rotation:0}):n>2||r&&o||a&&s?this.basicSquare({x:t,y:e,size:i,rotation:0}):2===n?(n=0,r&&a?n=Math.PI/2:a&&o?n=Math.PI:o&&s&&(n=-Math.PI/2),this.basicCornerExtraRounded({x:t,y:e,size:i,rotation:n})):1===n&&(a=0,o?a=Math.PI/2:s?a=Math.PI:r&&(a=-Math.PI/2),this.basicWave({x:t,y:e,size:i,rotation:a}))}}let j={toDataURL:t=>"string"==typeof t&&t.startsWith("data:")?Promise.resolve(t):new Promise((e,i)=>{if("string"==typeof t){const s=new XMLHttpRequest;s.onload=()=>{const t=new FileReader;t.onloadend=()=>{e(t.result)},t.readAsDataURL(s.response)},s.onerror=s.onabort=s.ontimeout=i,s.open("GET",t,!0),s.responseType="blob",s.send()}else{const i=new FileReader;i.onloadend=()=>{e(i.result)},i.readAsDataURL(t)}}),getSize:(t,e)=>new Promise((i,s)=>{const r=new Image;"string"===e&&(r.crossOrigin=e),r.onload=()=>{i({width:r.width,height:r.height})},r.onerror=r.onabort=s,"string"==typeof t?r.src=t:j.toDataURL(t).then(t=>r.src=t).catch(s)})};function V(t){var e=[];let i=1;if("#"===(t=t.toLowerCase())[0]){let s=(t=t.slice(1)).length;s<=4?(e=[parseInt(t[0]+t[0],16),parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16)],4===s&&(i=parseInt(t[3]+t[3],16)/255)):(e=[parseInt(t[0]+t[1],16),parseInt(t[2]+t[3],16),parseInt(t[4]+t[5],16)],8===s&&(i=parseInt(t[6]+t[7],16)/255)),e[0]||(e[0]=0),e[1]||(e[1]=0),e[2]||(e[2]=0)}else{if(!(e=/^((?:rgba?))\s*\(([^)]*)\)/.exec(t)))return{value:t,alpha:i};i=(e=(e=e[2].trim().split(/\s*[,/]\s*|\s+/)).map((t,e)=>"%"===t[t.length-1]?(t=parseFloat(t)/100,3===e?t:255*t):"none"===t?0:parseFloat(t))).length>3?e.pop():1}return{value:"#"+e.map(t=>Math.max(0,Math.min(255,t)).toString(16).padStart(2,"0")).join(""),alpha:Math.max(0,Math.min(1,i))}}let K=[[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],Q=new Set(Object.values(T));let Y=[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]],J=new Set(Object.values(z));class W{options;_element;get element(){return this._element}defs;backgroundMask;backgroundMaskGroup;dotsMask;dotsMaskGroup;lightDotsMask;lightDotsMaskGroup;qr;document;imageTools;constructor(t){this.options=t,this.document=t.document,this._element=this.document.createElementNS("http://www.w3.org/2000/svg","svg");let e=G(t.width),i=G(t.height);this._element.setAttribute("width",e),this._element.setAttribute("height",i),this._element.setAttribute("viewBox",`0 0 ${e} ${i}`),this.defs=this.document.createElementNS("http://www.w3.org/2000/svg","defs"),this._element.appendChild(this.defs),this.imageTools=t.imageTools||j}get width(){return this.options.width}get height(){return this.options.height}async drawQR(t){let e=t.getModuleCount();var i=parseInt(((e-17)/4).toFixed(0),10);let s=this.options.dotsOptions.size,r={hideXDots:0,hideYDots:0,width:0,height:0};if(this.qr=t,this.options.image){t=await this.imageTools.getSize(this.options.image,this.options.imageOptions.crossOrigin);let{imageOptions:a,errorCorrectionPercent:n}=this.options;if(a.mode==N.background){var o=this.options.backgroundOptions&&this.options.backgroundOptions.margin||0;i=(this.options.width-2*o*s)*a.imageSize,o=(this.options.height-2*o*s)*a.imageSize;let{width:e,height:n}=t;n=n/e*i,e=i,n>o&&(e=e/n*o,n=o),r={hideXDots:0,hideYDots:0,width:e,height:n}}else o=a.imageSize*n,i=p.getPatternPosition(i),r=function({originalHeight:t,originalWidth:e,maxHiddenDots:i,maxHiddenAxisDots:s,dotSize:r,margin:o}){if(t<=0||e<=0||i<=0||r<=0||4*o**2>i)return{height:0,width:0,hideYDots:0,hideXDots:0};s&&s%2==0&&(s=Math.max(1,s-1));var a=Math.max(e,t),n=Math.min(e,t),h=0;s=(s||i)-2*o;do{let t=h+(s-h)/2,e=Math.max(1,Math.ceil(t+2*o));e%2==0&&e++;let r=Math.max(1,Math.ceil(t*n/a+2*o));r%2==0&&r++,e*r>i?s=t:h=t}while(Math.abs(h-s)>.001);return(i=Math.max(1,Math.ceil(h+2*o)))%2==0&&i++,(n=Math.max(1,Math.ceil(h*n/a+2*o)))%2==0&&n++,e>t?a=i:(a=n,n=i),i=s=(a-2*o)*r,(s=s*t/e)>(h=(n-2*o)*r)&&(s=h,i=h*e/t),{height:Math.round(s+2*o*r),width:Math.round(i+2*o*r),hideYDots:n,hideXDots:a}}({originalWidth:t.width,originalHeight:t.height,maxHiddenDots:Math.floor(o*(e*e-192-2*(e-16)-i.length**2*25)),maxHiddenAxisDots:e-14,dotSize:s,margin:a.margin})}this.drawBackground(),this.options.imageOptions.mode!=N.overlay&&this.options.image&&r.width>0&&r.height>0&&await this.drawImage({width:r.width,height:r.height,count:e,dotSize:s}),this.drawDots((t,i)=>!(this.options.imageOptions.mode==N.center&&t>=(e-r.hideXDots)/2&&t<(e+r.hideXDots)/2&&i>=(e-r.hideYDots)/2&&i<(e+r.hideYDots)/2||t<8&&i<8||t>=e-8&&i<8||i>=e-8&&t<8)),this.options.imageOptions.mode==N.overlay&&this.options.image&&r.width>0&&r.height>0&&await this.drawImage({width:r.width,height:r.height,count:e,dotSize:s}),this.drawCorners()}drawBackground(){let t=this.options;if(this._element&&t.backgroundOptions){this.createColor({options:t.backgroundOptions.gradient,color:t.backgroundOptions.color,additionalRotation:0,x:0,y:0,height:t.height,width:t.width,name:"background-color"});let e=Math.min(t.width,t.height),i=this.document.createElementNS("http://www.w3.org/2000/svg","rect");[this.backgroundMask,this.backgroundMaskGroup]=this.createMask("mask-background-color"),this.defs.appendChild(this.backgroundMask),i.setAttribute("x",G((t.width-e)/2)),i.setAttribute("y",G((t.height-e)/2)),i.setAttribute("width",G(e)),i.setAttribute("height",G(e)),i.setAttribute("rx",G(e/2*(t.backgroundOptions.round||0))),this.backgroundMaskGroup.appendChild(i)}}drawDots(t){if(!this.qr)throw Error("QR code is not defined");let e=this.options;var i=this.qr.getModuleCount();if(i>e.width||i>e.height)throw Error("The canvas is too small");let s=this.options.dotsOptions.size;var r=Math.min(e.width,e.height);e.imageOptions.mode==N.background&&(r-=2*s*(e.imageOptions.margin||0));var o=Math.floor((e.width-i*s)/2),a=Math.floor((e.height-i*s)/2);let n=new X(e.dotsOptions.type,this.document),h=new X(_.tinySquare,this.document),l=new X(_.square,this.document);[this.dotsMask,this.dotsMaskGroup]=this.createMask("mask-dot-color"),this.defs.appendChild(this.dotsMask),e.imageOptions.mode==N.background&&([this.lightDotsMask,this.lightDotsMaskGroup]=this.createMask("mask-light-dot-color"),this.defs.appendChild(this.lightDotsMask));var d=0;let u=0;d=i,e.shape===O.circle?(d=this.options.backgroundOptions&&this.options.backgroundOptions.margin||0,u=Math.floor((r/s-i-2*d)/2),d=i+2*u):e.imageOptions.mode==N.background&&(u=1,d=i+2*u),r=o-u*s,a-=u*s,o=i+2*u;let c=Array(d);var g=Math.floor(d/2);for(let s=0;s<d;s++){c[s]=Array(d);for(let r=0;r<d;r++)if(s>u-1&&s<d-u&&r>u-1&&r<d-u){let e=s-u,i=r-u;t&&!t(e,i)?c[s][r]=void 0:c[s][r]=!!this.qr.isDark(i,e)}else c[s][r]=e.shape===O.circle&&Math.sqrt((s-g)*(s-g)+(r-g)*(r-g))>g?void 0:s==u-1||s==d-u||r==u-1||r==d-u?(r==u-1&&(s<u+8||s>d-u-9)||r==d-u&&s<u+8||s==u-1&&(r<u+8||r>d-u-9)||s==d-u&&r<u+8)&&void 0:this.qr.isDark(r-2*u<0?r:r>=i?r-2*u:r-u,s-2*u<0?s:s>=i?s-2*u:s-u)}t=p.getPatternPosition((i-17)/4);for(let e=0;e<d;e++){i=t.find(t=>e-u>t-3&&e-u<t+3);for(let o=0;o<d;o++)g=t.find(t=>o-u>t-3&&o-u<t+3),null!=c[e][o]&&(this.lightDotsMask&&(n=i&&g&&(i!=t[0]&&g!=t[0]||g!=t[0]&&g!=t[t.length-1]||i!=t[0]&&i!=t[t.length-1])?l:h),c[e][o]?(n.draw({x:r+e*s,y:a+o*s,size:s,getNeighbor:(t,i)=>!0===c[e+t]?.[o+i]}),n.element&&this.dotsMaskGroup&&this.dotsMaskGroup.appendChild(n.element)):this.lightDotsMask&&(n.draw({x:r+e*s,y:a+o*s,size:s,getNeighbor:(t,i)=>!1===c[e+t]?.[o+i]}),n.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(n.element)))}this.lightDotsMask&&this.createColor({options:e.imageOptions.fill.gradient,color:e.imageOptions.fill.color,additionalRotation:0,x:r,y:a,height:o*s,width:o*s,name:"light-dot-color"}),this.createColor({options:e.dotsOptions?.gradient,color:e.dotsOptions.color,additionalRotation:0,x:r,y:a,height:o*s,width:o*s,name:"dot-color"})}drawCorners(){if(!this.qr)throw Error("QR code is not defined");let t=this.options;if(!this._element)throw Error("Element code is not defined");let e=this.qr.getModuleCount(),i=this.options.dotsOptions.size,s=7*i,r=3*i,o=Math.floor((t.width-e*i)/2),a=Math.floor((t.height-e*i)/2);[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach(([n,h,l])=>{let d=o+n*i*(e-7),u=a+h*i*(e-7);var c=this.dotsMask;let g=this.dotsMaskGroup;var p=this.dotsMask;if(c=this.dotsMaskGroup,(t.cornersSquareOptions?.gradient||t.cornersSquareOptions?.color)&&([c,g]=this.createMask(`mask-corners-square-color-${n}-${h}`),this.defs.appendChild(c),p=c,c=g,this.createColor({options:t.cornersSquareOptions?.gradient,color:t.cornersSquareOptions?.color,additionalRotation:l,x:d,y:u,height:s,width:s,name:`corners-square-color-${n}-${h}`})),function(t){return!(!t||!Q.has(t))}(t.cornersSquareOptions?.type))(p=new U(t.cornersSquareOptions.type,this.document)).draw({x:d,y:u,size:s,rotation:l}),p.element&&g&&g.appendChild(p.element),p.fill&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(p.fill);else{p=new X(t.cornersSquareOptions?.type||t.dotsOptions.type,this.document);for(let t=0;t<K.length;t++)for(let e=0;e<K[t].length;e++)K[t]?.[e]?(p.draw({x:d+t*i,y:u+e*i,size:i,getNeighbor:(i,s)=>!!K[t+i]?.[e+s]}),p.element&&g&&g.appendChild(p.element)):this.lightDotsMask&&!Y[t]?.[e]&&(p.draw({x:d+t*i,y:u+e*i,size:i,getNeighbor:(i,s)=>!K[t+i]?.[e+s]&&!Y[t+i]?.[e+s]}),p.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(p.element));if(this.lightDotsMask)for(let t=-1;t<8;t++)for(let e=-1;e<8;e++)-1!=t&&7!=t&&-1!=e&&7!=e||(p.draw({x:d+t*i,y:u+e*i,size:i,getNeighbor:(i,s)=>(s=e+s,(i=t+i)>=-1&&i<=7&&s>=-1&&s<=7&&(-1==i||7==i||-1==s||7==s))}),p.element&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(p.element))}if((t.cornersDotOptions?.gradient||t.cornersDotOptions?.color)&&([p,c]=this.createMask(`mask-corners-dot-color-${n}-${h}`),this.defs.appendChild(p),this.createColor({options:t.cornersDotOptions?.gradient,color:t.cornersDotOptions?.color,additionalRotation:l,x:d+2*i,y:u+2*i,height:r,width:r,name:`corners-dot-color-${n}-${h}`})),function(t){return!(!t||!J.has(t))}(t.cornersDotOptions?.type))(n=new H(t.cornersDotOptions.type,this.document)).draw({x:d+2*i,y:u+2*i,size:r,rotation:l}),n.element&&c&&c.appendChild(n.element);else{l=new X(t.cornersDotOptions?.type||t.dotsOptions.type,this.document);for(let t=0;t<Y.length;t++)for(let e=0;e<Y[t].length;e++)Y[t]?.[e]&&(l.draw({x:d+t*i,y:u+e*i,size:i,getNeighbor:(i,s)=>!!Y[t+i]?.[e+s]}),l.element&&c&&c.appendChild(l.element))}})}async drawImage({width:t,height:e,count:i,dotSize:s}){var r=this.options,o=Math.floor((r.width-i*s)/2),a=Math.floor((r.height-i*s)/2),n=r.imageOptions.margin*s;if(r.imageOptions.mode==N.background&&(n=0),o=o+n+(i*s-t)/2,i=a+n+(i*s-e)/2,t-=2*n,e-=2*n,n=await this.imageTools.toDataURL(r.image||""),(r=this.document.createElementNS("http://www.w3.org/2000/svg","image")).setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n||""),n.startsWith("data:image/svg+xml;")){if(s=(n=n.substring(19)).indexOf(","),a=n.substring(0,s),n=n.substring(s+1),"base64"===a)n="function"==typeof atob?atob(n):Buffer.from(n,"base64").toString("utf8");else n="";n&&(n=(new DOMParser).parseFromString(n,"text/xml"),(n=Array.from(n.getElementsByTagName("svg"))).length&&(r=n[0]).setAttribute("overflow","visible"))}r.setAttribute("x",G(o)),r.setAttribute("y",G(i)),r.setAttribute("width",`${G(t)}px`),r.setAttribute("height",`${G(e)}px`),this._element.appendChild(r)}createColor({options:t,color:e,additionalRotation:i,x:s,y:r,height:o,width:a,name:n}){var h=a>o?a:o;let l=this.document.createElementNS("http://www.w3.org/2000/svg","rect");if(l.setAttribute("x",G(s)),l.setAttribute("y",G(r)),l.setAttribute("height",G(o)),l.setAttribute("width",G(a)),l.setAttribute("style",`mask:url(#mask-${n})`),t){let d;if(t.type===x.radial)d=this.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),d.setAttribute("id",n),d.setAttribute("gradientUnits","userSpaceOnUse"),d.setAttribute("fx",G(s+a/2)),d.setAttribute("fy",G(r+o/2)),d.setAttribute("cx",G(s+a/2)),d.setAttribute("cy",G(r+o/2)),d.setAttribute("r",G(h/2));else{h=s+a/2;let l=r+o/2;s+=a/2,r+=o/2,(i=((e=((t.rotation||0)+i)%(2*Math.PI))+2*Math.PI)%(2*Math.PI))>=0&&i<=.25*Math.PI||i>1.75*Math.PI&&i<=2*Math.PI?(h-=a/2,l-=o/2*Math.tan(e),s+=a/2,r+=o/2*Math.tan(e)):i>.25*Math.PI&&i<=.75*Math.PI?(l-=o/2,h-=a/2/Math.tan(e),r+=o/2,s+=a/2/Math.tan(e)):i>.75*Math.PI&&i<=1.25*Math.PI?(h+=a/2,l+=o/2*Math.tan(e),s-=a/2,r-=o/2*Math.tan(e)):i>1.25*Math.PI&&i<=1.75*Math.PI&&(l+=o/2,h+=a/2/Math.tan(e),r-=o/2,s-=a/2/Math.tan(e)),d=this.document.createElementNS("http://www.w3.org/2000/svg","linearGradient"),d.setAttribute("id",n),d.setAttribute("gradientUnits","userSpaceOnUse"),d.setAttribute("x1",G(h)),d.setAttribute("y1",G(l)),d.setAttribute("x2",G(s)),d.setAttribute("y2",G(r))}t.colorStops.forEach(t=>{let e=this.document.createElementNS("http://www.w3.org/2000/svg","stop");e.setAttribute("offset",`${G(100*t.offset)}%`),t=V(t.color),e.setAttribute("stop-color",t.value),t.alpha<1&&e.setAttribute("stop-opacity",t.alpha.toFixed(7)),d.appendChild(e)}),l.setAttribute("fill",`url(#${n})`),this.defs.appendChild(d)}else e&&(t=V(e),l.setAttribute("fill",t.value),t.alpha<1&&l.setAttribute("opacity",t.alpha.toFixed(7)));this._element.appendChild(l)}createMask(t){let e=this.options,i=this.document.createElementNS("http://www.w3.org/2000/svg","mask");return i.setAttribute("id",t),i.setAttribute("maskUnits","userSpaceOnUse"),i.setAttribute("x","0"),i.setAttribute("y","0"),i.setAttribute("width",G(e.width)),i.setAttribute("height",G(e.height)),(t=this.document.createElementNS("http://www.w3.org/2000/svg","g")).setAttribute("fill","#fff"),i.appendChild(t),[i,t]}}Object.assign(M.stringToBytesFuncs,{UTF8:t=>{const e=[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);s<128?e.push(s):s<2048?e.push(192|s>>6,128|63&s):s<55296||s>=57344?e.push(224|s>>12,128|s>>6&63,128|63&s):(i++,s=65536+((1023&s)<<10|1023&t.charCodeAt(i)),e.push(240|s>>18,128|s>>12&63,128|s>>6&63,128|63&s))}return e}});class Z{options;container;qr;extension;svgDrawingPromise;qrSVG;get size(){if(this.qrSVG)return{width:this.qrSVG.width,height:this.qrSVG.height}}constructor(t){this.options=t?q(v(I,t)):I,this.update()}update(t){this.container&&(this.container.innerHTML=""),this.options=t?q(v(this.options,t)):this.options,this.options.data&&(this.options.stringToBytesFuncs&&(Object.assign(M.stringToBytesFuncs,this.options.stringToBytesFuncs),delete this.options.stringToBytesFuncs),this.qr=new M(this.options.qrOptions.typeNumber,this.options.qrOptions.errorCorrectionLevel),t=this.options.qrOptions.mode||function(t){switch(!0){case/^[0-9]*$/.test(t):return f.numeric;case/^[0-9A-Z $%*+\-./:]*$/.test(t):return f.alphanumeric;case/[^\u0000-\u00ff]/.test(t):return f.unicode;default:return f.byte}}(this.options.data),this.qr.addData(this.options.data,t),this.qr.make(),this.setupSvg(),this.append(this.container))}append(t){t&&(this.qrSVG?.element&&t.appendChild(this.qrSVG.element),this.container=t)}applyExtension(t){if(!t)throw Error("Extension function should be defined.");this.extension=t,this.update()}deleteExtension(){this.extension=void 0,this.update()}async serialize(){if(!this.qr)throw Error("QR code is empty");if(this.qrSVG?.element&&this.svgDrawingPromise||this.setupSvg(),await this.svgDrawingPromise,this.qrSVG?.element)return'<?xml version="1.0" standalone="no"?>\r\n'+(new XMLSerializer).serializeToString(this.qrSVG.element)}setupSvg(){if(this.qr){var t=this.qr.getModuleCount();this.options.imageOptions.mode==N.background&&this.options.shape!=O.circle&&(t+=2),(t=Math.ceil((this.options.shape==O.circle?Math.sqrt(2):1)*t))%2==0&&--t;var e=this.options.backgroundOptions&&this.options.backgroundOptions.margin||0;this.options.imageOptions.mode==N.background&&(e+=this.options.imageOptions.margin||0),t=Math.ceil(this.options.dotsOptions.size*(t+2*e)),this.qrSVG=new W({...this.options,width:t,height:t,errorCorrectionPercent:B[this.options.qrOptions.errorCorrectionLevel]}),this.svgDrawingPromise=this.qrSVG.drawQR(this.qr).then(()=>{this.qrSVG?.element&&this.extension?.(this.qrSVG.element,this.options)})}}}let tt={width:300,height:300,margin:0};var et,it=et||={};function st(t,e){let{width:i,height:s,margin:r}=e?function(t){return(t={...t}).width=Number(t.width),t.height=Number(t.height),t.margin=Number(t.margin),t.margin>Math.min(t.width,t.height)&&(t.margin=Math.min(t.width,t.height)),t}(v(tt,e)):tt,o=document.createElement("canvas");o.width=i,o.height=s;let a=Math.min(i,s)-2*r;return t=t.serialize().then(t=>{if(t){var e="data:image/svg+xml;base64,"+btoa(t),r=new Image;return new Promise((t,n)=>{r.onload=()=>{const e=Math.ceil(2*a/Math.min(r.width,r.height));let n;try{n=new OffscreenCanvas(r.width*e,r.height*e)}catch(t){n=document.createElement("canvas"),n.width=r.width*e,n.height=r.height*e}n.getContext("2d")?.drawImage(r,0,0,n.width,n.height),o?.getContext("2d")?.drawImage(n,(i-a)/2,(s-a)/2,a,a),t()},r.onerror=r.onabort=n,r.src=e})}}),{canvas:o,canvasDrawingPromise:t}}function rt(t,e){let i=document.createElement("a");i.download=e,i.href=t,document.body.appendChild(i),i.click(),document.body.removeChild(i)}it.svg="svg",it.png="png",it.jpeg="jpeg",it.webp="webp";let ot=Object.freeze({__proto__:null,get FileExtension(){return et},download:async function(t,e,i){var s=et.png;let r="qr";if(e&&(e.name&&(r=e.name),e.extension&&(s=e.extension)),"svg"===s.toLowerCase())(s=await t.serialize())&&rt(s="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(s),`${r}.svg`);else if(t=st(t,i)){var{canvas:o,canvasDrawingPromise:a}=t;await a,rt(t=o.toDataURL(`image/${s}`),`${r}.${s}`)}},downloadURI:rt,drawToCanvas:st});export{z as CornerDotType,T as CornerSquareType,_ as DotType,b as ErrorCorrectionLevel,B as ErrorCorrectionPercents,et as FileExtension,x as GradientType,N as ImageMode,f as Mode,Z as QRCodeStyling,O as ShapeType,w as TypeNumber,ot as browserUtils};
|
|
1
|
+
class t{buffer;length;constructor(){this.buffer=[],this.length=0}getBuffer(){return this.buffer}getLengthInBits(){return this.length}toString(){let t="";for(let e=0;e<this.getLengthInBits();e+=1)t+=this.getBit(e)?"1":"0";return t}getBit(t){return 1==(this.buffer[~~(t/8)]>>>7-t%8&1)}put(t,e){for(let r=0;r<e;r+=1)this.putBit(1==(t>>>e-r-1&1))}putBit(t){this.length==8*this.buffer.length&&this.buffer.push(0),t&&(this.buffer[~~(this.length/8)]|=128>>>this.length%8),this.length+=1}}var e,r=e||={};r[r.L=1]="L",r[r.M=0]="M",r[r.Q=3]="Q",r[r.H=2]="H";class i{constructor(){throw Error("error")}static initialize=()=>{i.EXP_TABLE=[],i.LOG_TABLE=[];for(var t=0;t<256;t+=1)i.EXP_TABLE.push(t<8?1<<t:i.EXP_TABLE[t-4]^i.EXP_TABLE[t-5]^i.EXP_TABLE[t-6]^i.EXP_TABLE[t-8]),i.LOG_TABLE.push(0);for(t=0;t<255;t+=1)i.LOG_TABLE[i.EXP_TABLE[t]]=t};static EXP_TABLE;static LOG_TABLE;static glog(t){if(i.LOG_TABLE||i.initialize(),t<1)throw Error("log("+t+")");return i.LOG_TABLE[t]}static gexp(t){for(i.EXP_TABLE||i.initialize();t<0;)t+=255;for(;t>=256;)t-=255;return i.EXP_TABLE[t]}}class s{num;constructor(t,e=0){let r=0;for(;r<t.length&&0==t[r];)r+=1;this.num=[];let i=t.length-r;for(let e=0;e<i;e+=1)this.num.push(t[r+e]);for(t=0;t<e;t+=1)this.num.push(0)}getAt(t){return this.num[t]}getLength(){return this.num.length}toString(){let t="";for(let e=0;e<this.getLength();e+=1)e>0&&(t+=","),t+=this.getAt(e);return t.toString()}toLogString(){let t="";for(let e=0;e<this.getLength();e+=1)e>0&&(t+=","),t+=i.glog(this.getAt(e));return t.toString()}multiply(t){let e=[];for(var r=this.getLength()+t.getLength()-1,o=0;o<r;o+=1)e.push(0);for(r=0;r<this.getLength();r+=1)for(o=0;o<t.getLength();o+=1)e[r+o]^=i.gexp(i.glog(this.getAt(r))+i.glog(t.getAt(o)));return new s(e)}mod(t){if(this.getLength()-t.getLength()<0)return this;let e=i.glog(this.getAt(0))-i.glog(t.getAt(0)),r=[];for(var o=0;o<this.getLength();o+=1)r.push(this.getAt(o));for(o=0;o<t.getLength();o+=1)r[o]^=i.gexp(i.glog(t.getAt(o))+e);return new s(r).mod(t)}}var o,n=o||={};n[n.MODE_NUMBER=1]="MODE_NUMBER",n[n.MODE_ALPHA_NUM=2]="MODE_ALPHA_NUM",n[n.MODE_8BIT_BYTE=4]="MODE_8BIT_BYTE",n[n.MODE_KANJI=8]="MODE_KANJI";class a{mode;data;constructor(t,e){this.mode=t,this.data=e}getMode(){return this.mode}getData(){return this.data}getLengthInBits(t){if(1<=t&&t<10)switch(this.mode){case o.MODE_NUMBER:return 10;case o.MODE_ALPHA_NUM:return 9;case o.MODE_8BIT_BYTE:case o.MODE_KANJI:return 8;default:throw Error("mode:"+this.mode)}else if(t<27)switch(this.mode){case o.MODE_NUMBER:return 12;case o.MODE_ALPHA_NUM:return 11;case o.MODE_8BIT_BYTE:return 16;case o.MODE_KANJI:return 10;default:throw Error("mode:"+this.mode)}else{if(!(t<41))throw Error("typeNumber:"+t);switch(this.mode){case o.MODE_NUMBER:return 14;case o.MODE_ALPHA_NUM:return 13;case o.MODE_8BIT_BYTE:return 16;case o.MODE_KANJI:return 12;default:throw Error("mode:"+this.mode)}}}}class h extends a{stringToBytes;constructor(t,e){super(o.MODE_8BIT_BYTE,t),this.stringToBytes=e}write(t){this.stringToBytes(this.getData()).forEach(e=>t.put(e,8))}getLength(){return this.stringToBytes(this.getData()).length}}class u extends a{constructor(t){super(o.MODE_ALPHA_NUM,t)}write(t){let e=this.getData(),r=0;for(;r+1<e.length;)t.put(45*u.getCode(e.charAt(r))+u.getCode(e.charAt(r+1)),11),r+=2;r<e.length&&t.put(u.getCode(e.charAt(r)),6)}getLength(){return this.getData().length}static getCode(t){if("0"<=t&&t<="9")return t.charCodeAt(0)-48;if("A"<=t&&t<="Z")return t.charCodeAt(0)-65+10;switch(t){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw Error("illegal char :"+t)}}}class d extends a{stringToBytes;constructor(t,e){super(o.MODE_KANJI,t),this.stringToBytes=e}write(t){let e=this.stringToBytes(this.getData()),r=0;for(;r+1<e.length;){let i=(255&e[r])<<8|255&e[r+1];if(33088<=i&&i<=40956)i-=33088;else{if(!(57408<=i&&i<=60351))throw Error("illegal char at "+(r+1)+"/"+i);i-=49472}i=192*(i>>>8&255)+(255&i),t.put(i,13),r+=2}if(r<e.length)throw Error("illegal char at "+(r+1))}getLength(){return this.stringToBytes(this.getData()).length/2}}class l extends a{constructor(t){super(o.MODE_NUMBER,t)}write(t){let e=this.getData(),r=0;for(;r+2<e.length;)t.put(l.strToNum(e.substring(r,r+3)),10),r+=3;r<e.length&&(e.length-r==1?t.put(l.strToNum(e.substring(r,r+1)),4):e.length-r==2&&t.put(l.strToNum(e.substring(r,r+2)),7))}getLength(){return this.getData().length}static strToNum(t){let e=0;for(let r=0;r<t.length;r+=1)e=10*e+l.chatToNum(t.charAt(r));return e}static chatToNum(t){if("0"<=t&&t<="9")return t.charCodeAt(0)-48;throw Error("illegal char :"+t)}}var c,g=c||={};g[g.PATTERN000=0]="PATTERN000",g[g.PATTERN001=1]="PATTERN001",g[g.PATTERN010=2]="PATTERN010",g[g.PATTERN011=3]="PATTERN011",g[g.PATTERN100=4]="PATTERN100",g[g.PATTERN101=5]="PATTERN101",g[g.PATTERN110=6]="PATTERN110",g[g.PATTERN111=7]="PATTERN111";class p{constructor(){throw Error("error")}static getPatternPosition(t){return p.PATTERN_POSITION_TABLE[t-1]}static PATTERN_POSITION_TABLE=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]];static MAX_LENGTH=[[[41,25,17,10],[34,20,14,8],[27,16,11,7],[17,10,7,4]],[[77,47,32,20],[63,38,26,16],[48,29,20,12],[34,20,14,8]],[[127,77,53,32],[101,61,42,26],[77,47,32,20],[58,35,24,15]],[[187,114,78,48],[149,90,62,38],[111,67,46,28],[82,50,34,21]],[[255,154,106,65],[202,122,84,52],[144,87,60,37],[106,64,44,27]],[[322,195,134,82],[255,154,106,65],[178,108,74,45],[139,84,58,36]],[[370,224,154,95],[293,178,122,75],[207,125,86,53],[154,93,64,39]],[[461,279,192,118],[365,221,152,93],[259,157,108,66],[202,122,84,52]],[[552,335,230,141],[432,262,180,111],[312,189,130,80],[235,143,98,60]],[[652,395,271,167],[513,311,213,131],[364,221,151,93],[288,174,119,74]]];static getMaxLength(t,r,i){switch(i){case e.L:i=0;break;case e.M:i=1;break;case e.Q:i=2;break;case e.H:i=3;break;default:throw Error("e:"+i)}switch(r){case o.MODE_NUMBER:r=0;break;case o.MODE_ALPHA_NUM:r=1;break;case o.MODE_8BIT_BYTE:r=2;break;case o.MODE_KANJI:r=3;break;default:throw Error("m:"+r)}return p.MAX_LENGTH[t-1][i][r]}static getErrorCorrectPolynomial(t){let e=new s([1]);for(let r=0;r<t;r+=1)e=e.multiply(new s([1,i.gexp(r)]));return e}static getMaskFunc(t){switch(t){case c.PATTERN000:return(t,e)=>(t+e)%2==0;case c.PATTERN001:return t=>t%2==0;case c.PATTERN010:return(t,e)=>e%3==0;case c.PATTERN011:return(t,e)=>(t+e)%3==0;case c.PATTERN100:return(t,e)=>(~~(t/2)+~~(e/3))%2==0;case c.PATTERN101:return(t,e)=>t*e%2+t*e%3==0;case c.PATTERN110:return(t,e)=>(t*e%2+t*e%3)%2==0;case c.PATTERN111:return(t,e)=>(t*e%3+(t+e)%2)%2==0;default:throw Error("mask:"+t)}}static getLostPoint(t){let e=t.getModuleCount(),r=0;for(var i=0;i<e;i+=1)for(var s=0;s<e;s+=1){var o=0;let n=t.isDark(i,s);for(let r=-1;r<=1;r+=1)if(!(i+r<0||e<=i+r))for(let a=-1;a<=1;a+=1)s+a<0||e<=s+a||(0!=r||0!=a)&&n==t.isDark(i+r,s+a)&&(o+=1);o>5&&(r+=3+o-5)}for(i=0;i<e-1;i+=1)for(s=0;s<e-1;s+=1)o=0,t.isDark(i,s)&&(o+=1),t.isDark(i+1,s)&&(o+=1),t.isDark(i,s+1)&&(o+=1),t.isDark(i+1,s+1)&&(o+=1),(0==o||4==o)&&(r+=3);for(i=0;i<e;i+=1)for(s=0;s<e-6;s+=1)t.isDark(i,s)&&!t.isDark(i,s+1)&&t.isDark(i,s+2)&&t.isDark(i,s+3)&&t.isDark(i,s+4)&&!t.isDark(i,s+5)&&t.isDark(i,s+6)&&(r+=40);for(i=0;i<e;i+=1)for(s=0;s<e-6;s+=1)t.isDark(s,i)&&!t.isDark(s+1,i)&&t.isDark(s+2,i)&&t.isDark(s+3,i)&&t.isDark(s+4,i)&&!t.isDark(s+5,i)&&t.isDark(s+6,i)&&(r+=40);for(i=0,s=0;s<e;s+=1)for(o=0;o<e;o+=1)t.isDark(o,s)&&(i+=1);return r+Math.abs(100*i/e/e-50)/5*10}static getBCHTypeInfo(t){let e=t<<10;for(;p.getBCHDigit(e)-p.getBCHDigit(p.G15)>=0;)e^=p.G15<<p.getBCHDigit(e)-p.getBCHDigit(p.G15);return(t<<10|e)^p.G15_MASK}static getBCHTypeNumber(t){let e=t<<12;for(;p.getBCHDigit(e)-p.getBCHDigit(p.G18)>=0;)e^=p.G18<<p.getBCHDigit(e)-p.getBCHDigit(p.G18);return t<<12|e}static G15=1335;static G18=7973;static G15_MASK=21522;static getBCHDigit(t){let e=0;for(;0!=t;)e+=1,t>>>=1;return e}}class m{totalCount;dataCount;static RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];constructor(t,e){this.totalCount=t,this.dataCount=e}getDataCount(){return this.dataCount}getTotalCount(){return this.totalCount}static getRSBlocks(t,e){e=(t=m.getRsBlockTable(t,e)).length/3;let r=[];for(let i=0;i<e;i+=1){let e=t[3*i],s=t[3*i+1],o=t[3*i+2];for(let t=0;t<e;t+=1)r.push(new m(s,o))}return r}static getRsBlockTable(t,r){switch(r){case e.L:return m.RS_BLOCK_TABLE[4*(t-1)];case e.M:return m.RS_BLOCK_TABLE[4*(t-1)+1];case e.Q:return m.RS_BLOCK_TABLE[4*(t-1)+2];case e.H:return m.RS_BLOCK_TABLE[4*(t-1)+3]}throw Error("tn:"+t+"/ecl:"+r)}}let $=Array(41).fill(0).map((t,e)=>e);var w,f=w||={};f.L="L",f.M="M",f.Q="Q",f.H="H";var b,M=b||={};M.numeric="numeric",M.alphanumeric="alphanumeric",M.byte="byte",M.kanji="kanji",M.unicode="unicode";class A{static stringToBytesFuncs={default(t){let e=[];for(let r=0;r<t.length;r+=1){let i=t.charCodeAt(r);e.push(255&i)}return e}};static PAD0=236;static PAD1=17;typeNumber;errorCorrectLevel;qrDataList;modules=[];moduleCount=0;constructor(t=0,r=w.L){this.typeNumber=t,this.errorCorrectLevel=e[r],this.qrDataList=[]}getTypeNumber(){return this.typeNumber}setTypeNumber(t){this.typeNumber=t}getErrorCorrectLevel(){return this.errorCorrectLevel}setErrorCorrectLevel(t){this.errorCorrectLevel=t}clearData(){this.qrDataList=[]}addData(t,e=b.byte){if(t instanceof a)this.qrDataList.push(t);else{if("string"!=typeof t)throw Error(typeof t);switch(e){case b.numeric:this.qrDataList.push(new l(t));break;case b.alphanumeric:this.qrDataList.push(new u(t));break;case b.byte:this.qrDataList.push(new h(t,A.stringToBytesFuncs.default));break;case b.unicode:this.qrDataList.push(new h(t,A.stringToBytesFuncs.UTF8));break;case b.kanji:this.qrDataList.push(new d(t,A.stringToBytesFuncs.SJIS));break;default:throw Error("mode:"+e)}}}isDark(t,e){return null!=this.modules[t][e]&&this.modules[t][e]}getModuleCount(){return this.moduleCount}make(){if(this.typeNumber<1){let r=1;for(;r<40;r++){var e=m.getRSBlocks(r,this.errorCorrectLevel);let i=new t;if(this.qrDataList.forEach(t=>{i.put(t.getMode(),4),i.put(t.getLength(),t.getLengthInBits(r)),t.write(i)}),e=e.reduce((t,e)=>t+e.getDataCount(),0),i.getLengthInBits()<=8*e)break}this.typeNumber=r}this.makeImpl(!1,this.getBestMaskPattern())}getBestMaskPattern(){let t=0,e=0;for(let r=0;r<8;r+=1){this.makeImpl(!0,r);let i=p.getLostPoint(this);(0==r||t>i)&&(t=i,e=r)}return e}makeImpl(t,e){this.moduleCount=4*this.typeNumber+17,this.modules=[];for(let t=0;t<this.moduleCount;t+=1){this.modules.push([]);for(let e=0;e<this.moduleCount;e+=1)this.modules[t].push(null)}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(t,e),this.typeNumber>=7&&this.setupTypeNumber(t),t=A.createData(this.typeNumber,this.errorCorrectLevel,this.qrDataList),this.mapData(t,e)}mapData(t,e){let r=-1,i=this.moduleCount-1,s=7,o=0;e=p.getMaskFunc(e);for(let n=this.moduleCount-1;n>0;n-=2)for(6==n&&--n;;){for(let r=0;r<2;r+=1)if(null==this.modules[i][n-r]){let a=!1;o<t.length&&(a=1==(t[o]>>>s&1)),e(i,n-r)&&(a=!a),this.modules[i][n-r]=a,--s,-1==s&&(o+=1,s=7)}if(i+=r,i<0||this.moduleCount<=i){i-=r,r=-r;break}}}setupPositionAdjustPattern(){let t=p.getPatternPosition(this.typeNumber);t.forEach(e=>{t.forEach(t=>{if(null==this.modules[e][t])for(let r=-2;r<=2;r+=1)for(let i=-2;i<=2;i+=1)this.modules[e+r][t+i]=-2==r||2==r||-2==i||2==i||0==r&&0==i})})}setupPositionProbePattern(t,e){for(let r=-1;r<=7;r+=1)for(let i=-1;i<=7;i+=1)t+r<=-1||this.moduleCount<=t+r||e+i<=-1||this.moduleCount<=e+i||(this.modules[t+r][e+i]=0<=r&&r<=6&&(0==i||6==i)||0<=i&&i<=6&&(0==r||6==r)||2<=r&&r<=4&&2<=i&&i<=4)}setupTimingPattern(){for(var t=8;t<this.moduleCount-8;t+=1)null==this.modules[t][6]&&(this.modules[t][6]=t%2==0);for(t=8;t<this.moduleCount-8;t+=1)null==this.modules[6][t]&&(this.modules[6][t]=t%2==0)}setupTypeNumber(t){let e=p.getBCHTypeNumber(this.typeNumber);for(var r=0;r<18;r+=1)this.modules[~~(r/3)][r%3+this.moduleCount-8-3]=!t&&1==(e>>r&1);for(r=0;r<18;r+=1)this.modules[r%3+this.moduleCount-8-3][~~(r/3)]=!t&&1==(e>>r&1)}setupTypeInfo(t,e){e=p.getBCHTypeInfo(this.errorCorrectLevel<<3|e);for(var r=0;r<15;r+=1){var i=!t&&1==(e>>r&1);r<6?this.modules[r][8]=i:r<8?this.modules[r+1][8]=i:this.modules[this.moduleCount-15+r][8]=i}for(r=0;r<15;r+=1)i=!t&&1==(e>>r&1),r<8?this.modules[8][this.moduleCount-r-1]=i:r<9?this.modules[8][15-r-1+1]=i:this.modules[8][15-r-1]=i;this.modules[this.moduleCount-8][8]=!t}static createData(e,r,i){r=m.getRSBlocks(e,r);let s=new t;if(i.forEach(t=>{s.put(t.getMode(),4),s.put(t.getLength(),t.getLengthInBits(e)),t.write(s)}),i=r.reduce((t,e)=>t+e.getDataCount(),0),s.getLengthInBits()>8*i)throw Error("code length overflow. ("+s.getLengthInBits()+">"+8*i+")");for(s.getLengthInBits()+4<=8*i&&s.put(0,4);s.getLengthInBits()%8!=0;)s.putBit(!1);for(;!(s.getLengthInBits()>=8*i)&&(s.put(A.PAD0,8),!(s.getLengthInBits()>=8*i));)s.put(A.PAD1,8);return A.createBytes(s,r)}static createBytes(t,e){function r(t){let e=[];for(let r=0;r<t;r+=1)e.push(0);return e}var i=0,o=0;let n=0;var a=Array(e.length).map(()=>[]);let h=Array(e.length).map(()=>[]);for(var u=0;u<e.length;u+=1){var d=e[u].getDataCount(),l=e[u].getTotalCount()-d;o=Math.max(o,d),n=Math.max(n,l),a[u]=r(d);for(var c=0;c<a[u].length;c+=1)a[u][c]=255&t.getBuffer()[c+i];for(i+=d,l=p.getErrorCorrectPolynomial(l),d=new s(a[u],l.getLength()-1).mod(l),h[u]=r(l.getLength()-1),l=0;l<h[u].length;l+=1)c=l+d.getLength()-h[u].length,h[u][l]=c>=0?d.getAt(c):0}for(t=r(t=e.reduce((t,e)=>t+e.getTotalCount(),0)),i=0,u=0;u<o;u+=1)for(d=0;d<e.length;d+=1)u<a[d].length&&(t[i]=a[d][u],i+=1);for(o=0;o<n;o+=1)for(a=0;a<e.length;a+=1)o<h[a].length&&(t[i]=h[a][o],i+=1);return t}}let v=t=>!!t&&"object"==typeof t&&!Array.isArray(t);function y(t,...e){if(!e.length)return t;let r=e.shift();return void 0!==r&&v(t)&&v(r)?(t={...t},Object.keys(r).forEach(e=>{let i=t[e],s=r[e];Array.isArray(i)&&Array.isArray(s)?t[e]=s:v(i)&&v(s)?t[e]=y({...i},s):t[e]=s}),y(t,...e)):t}var E,D=E||={};function O(t){if(!(t={...t}).colorStops||!t.colorStops.length)throw Error("Field 'colorStops' is required in gradient");return t.rotation=t.rotation?Number(t.rotation):0,t.colorStops=t.colorStops.map(t=>({...t,offset:Number(t.offset)})),t}D.radial="radial",D.linear="linear";var T,k=T||={};k.dot="dot",k.randomDot="random-dot",k.rounded="rounded",k.extraRounded="extra-rounded",k.verticalLine="vertical-line",k.horizontalLine="horizontal-line",k.classy="classy",k.classyRounded="classy-rounded",k.square="square",k.smallSquare="small-square",k.tinySquare="tiny-square",k.diamond="diamond",k.wave="wave",k.heart="heart",k.star="star",k.weave="weave",k.pentagon="pentagon",k.hexagon="hexagon",k.zebraHorizontal="zebra-horizontal",k.zebraVertical="zebra-vertical";var x,z=x||={};z.dot="dot",z.square="square",z.heart="heart",z.extraRounded="extra-rounded",z.classy="classy",z.inpoint="inpoint",z.outpoint="outpoint",z.star="star",z.pentagon="pentagon",z.hexagon="hexagon",z.diamond="diamond";var N,L=N||={};L.dot="dot",L.square="square",L.extraRounded="extra-rounded",L.classy="classy",L.inpoint="inpoint",L.outpoint="outpoint",L.centerCircle="center-circle";var C,P=C||={};P.square="square",P.circle="circle";var S,B=S||={};B.center="center",B.overlay="overlay",B.background="background";let q={document:void 0,shape:C.square,width:void 0,height:void 0,data:"",qrOptions:{typeNumber:$[0],mode:void 0,errorCorrectionLevel:w.Q},imageOptions:{mode:S.center,imageSize:.4,crossOrigin:void 0,margin:0,fill:{color:"rgba(255,255,255,1)"}},dotsOptions:{type:T.square,color:"#000",size:10}};function R(t){return(t={...t}).imageOptions={...t.imageOptions,imageSize:Math.min(1,Number(t.imageOptions.imageSize))||1,margin:Number(t.imageOptions.margin),fill:{...t.imageOptions.fill}},t.imageOptions.mode==S.overlay&&(t.imageOptions.margin=0),t.imageOptions.fill.gradient&&(t.imageOptions.fill.gradient=O(t.imageOptions.fill.gradient)),t.dotsOptions={...t.dotsOptions},t.dotsOptions.gradient&&(t.dotsOptions.gradient=O(t.dotsOptions.gradient)),t.dotsOptions.size=Math.round(Math.max(0,t.dotsOptions.size)||10),t.cornersSquareOptions&&(t.cornersSquareOptions={...t.cornersSquareOptions},t.cornersSquareOptions.gradient&&(t.cornersSquareOptions.gradient=O(t.cornersSquareOptions.gradient))),t.cornersDotOptions&&(t.cornersDotOptions={...t.cornersDotOptions},t.cornersDotOptions.gradient&&(t.cornersDotOptions.gradient=O(t.cornersDotOptions.gradient))),t.backgroundOptions&&(t.backgroundOptions={...t.backgroundOptions},t.backgroundOptions.gradient&&(t.backgroundOptions.gradient=O(t.backgroundOptions.gradient))),t.document||(t.document=document),t}let I={[w.L]:.07,[w.M]:.15,[w.Q]:.25,[w.H]:.3};let _=/\.?0+$/;function G(t){return t.toFixed(7).replace(_,"")}function H(t,...e){return t.reduce((t,r,i)=>{let s="";return i&&(s=e[i-1]),"number"==typeof s&&(s=G(s)),`${t}${s}${r}`},"").trim().replace(/[\s\n\r]+/gim," ")}function U({draw:t,...e}){let{x:r,y:i,size:s,rotation:o=0}=e,n=r+s/2,a=i+s/2;return t=t(e),o&&(Array.isArray(t)?t:[t]).forEach(t=>t.setAttribute("transform",`rotate(${G(180*o/Math.PI)},${n},${a})`)),t}let F={dot:t=>{const{size:e,x:r,y:i,document:s}=t;return(t=s.createElementNS("http://www.w3.org/2000/svg","circle")).setAttribute("cx",G(r+e/2)),t.setAttribute("cy",G(i+e/2)),t.setAttribute("r",G(e/2)),t},square:(t,{width:e=t.size,height:r=t.size}={})=>{const{x:i,y:s,size:o,document:n}=t;return(t=n.createElementNS("http://www.w3.org/2000/svg","rect")).setAttribute("x",G(i+(o-e)/2)),t.setAttribute("y",G(s+(o-r)/2)),t.setAttribute("width",G(e)),t.setAttribute("height",G(r)),t},sideRounded:(t,{height:e=t.size}={})=>{const{size:r,x:i,y:s,document:o}=t;return(t=o.createElementNS("http://www.w3.org/2000/svg","path")).setAttribute("d",H`M ${i} ${s+(r-e)/2} v ${e} h ${r/2} a ${e/2} ${e/2} 0 0 0 0 ${-e} z`),t},cornerRounded:t=>{const{size:e,x:r,y:i,document:s}=t;return(t=s.createElementNS("http://www.w3.org/2000/svg","path")).setAttribute("d",H`M ${r} ${i} v ${e} h ${e} v ${-e/2} a ${e/2} ${e/2} 0 0 0 ${-e/2} ${-e/2} z`),t},cornerExtraRounded:t=>{const{size:e,x:r,y:i,document:s}=t;return(t=s.createElementNS("http://www.w3.org/2000/svg","path")).setAttribute("d",H`M ${r} ${i} v ${e} h ${e} a ${e} ${e} 0 0 0 ${-e} ${-e} z`),t},cornersRounded:t=>{const{size:e,x:r,y:i,document:s}=t;return(t=s.createElementNS("http://www.w3.org/2000/svg","path")).setAttribute("d",H`M ${r} ${i} v ${e/2} a ${e/2} ${e/2} 0 0 0 ${e/2} ${e/2} h ${e/2} v ${-e/2} a ${e/2} ${e/2} 0 0 0 ${-e/2} ${-e/2} z`),t},wave:t=>{const{size:e,x:r,y:i,document:s}=t;var o=5*Math.PI/180,n=65*Math.PI/180;t=e*(1-.65*Math.sin(o)),o=-e*(.95-.65*Math.cos(o));const a=-e*Math.sin(n)/2;n=e*Math.cos(n)/2;const h=s.createElementNS("http://www.w3.org/2000/svg","path");return h.setAttribute("d",H`M ${r} ${i+e} c ${.65*e} 0 ${t} ${o} ${e} ${.95*-e} c ${a} ${n} ${-e/2} ${e*(.95-1)} ${-e} ${e*(.95-1)} z`),h},heart:t=>{const{size:e,x:r,y:i,document:s}=t;return(t=s.createElementNS("http://www.w3.org/2000/svg","path")).setAttribute("d",function(t,{x:e,y:r,size:i}){let s=!1,o=0;return t.map(t=>"string"==typeof t?(o=0,s=t.toUpperCase()==t,t):(o++,t*=i,s&&(t+=o%2==1?e:r),G(t))).join(" ")}(["M",1,.31629,"c",-86e-5,.15702,-.10534,.26323,-.21876,.38123,"c",-.06736,.06834,-.18938,.17948,-.28124,.26126,"c",-.09188,-.08178,-.2139,-.19292,-.28124,-.26126,"c",-.11344,-.118,-.2179,-.22422,-.21876,-.38123,"c",-96e-5,-.27136,.33154,-.36842,.5,-.17,"c",.16844,-.19842,.50094,-.10136,.5,.17,"z"],{x:r,y:i,size:e})),t},rounded:t=>{const{size:e,x:r,y:i,document:s}=t;return(t=s.createElementNS("http://www.w3.org/2000/svg","rect")).setAttribute("x",G(r)),t.setAttribute("y",G(i)),t.setAttribute("width",G(e)),t.setAttribute("height",G(e)),t.setAttribute("rx",G(e/4)),t.setAttribute("ry",G(e/4)),t},classy:t=>{const{size:e,x:r,y:i,document:s}=t;t=e/7;const o=s.createElementNS("http://www.w3.org/2000/svg","path");return o.setAttribute("d",H`M ${r} ${i+2.5*t} v ${2*t} a ${2.5*t} ${2.5*t} 0 0 0 ${2.5*t} ${2.5*t} h ${4.5*t} v ${-4.5*t} a ${2.5*t} ${2.5*t} 0 0 0 ${2.5*-t} ${2.5*-t} h ${-2*t} H ${r} z`),o},inpoint:t=>{const{size:e,x:r,y:i,document:s}=t;return(t=s.createElementNS("http://www.w3.org/2000/svg","path")).setAttribute("d",H`M ${r} ${i+e/2} v ${e/4} a ${e/4} ${e/4} 0 0 0 ${e/4} ${e/4} h ${e/4*3} v ${-e/4*3} a ${e/4} ${e/4} 0 0 0 ${-e/4} ${-e/4} h ${-e/2} a ${e/4} ${e/4} 0 0 0 ${-e/4} ${e/4} z`),t},star:(t,{spikes:e=5,outerRadius:r=t.size/2,innerRadius:i=t.size/4}={})=>{const{size:s,x:o,y:n,document:a}=t,h=o+s/2,u=n+s/2,d=Math.PI/e;return(t=a.createElementNS("http://www.w3.org/2000/svg","path")).setAttribute("d",Array(2*e).fill(0).map((t,e)=>H`${0===e?"M":"L"} ${h+(t=e%2==0?r:i)*Math.sin(e*d)} ${u-t*Math.cos(e*d)}`).join(" ")),t},weave:t=>{const{size:e,x:r,y:i,document:s}=t,o=(e-(t=.6*e))/2,n=s.createElementNS("http://www.w3.org/2000/svg","path");return n.setAttribute("d",H`M ${r+o} ${i} l ${t} 0 l 0 ${o} l ${o} 0 l 0 ${t} l ${-o} 0 l 0 ${o} l ${-t} 0 l 0 ${-o} l ${-o} 0 l 0 ${-t} l ${o} 0 z`),n}},X={[x.dot]:t=>U({...t,draw:F.dot}),[x.square]:t=>U({...t,draw:F.square}),[x.heart]:t=>F.heart(t),[x.extraRounded]:t=>U({...t,draw:F.rounded}),[x.classy]:t=>U({...t,draw:F.classy}),[x.inpoint]:t=>U({...t,draw:F.inpoint}),[x.outpoint]:t=>U({...t,rotation:(t.rotation||0)+Math.PI,draw:F.inpoint}),[x.star]:t=>F.star(t),[x.pentagon]:t=>F.star(t,{spikes:2.5,outerRadius:t.size/2,innerRadius:t.size/2}),[x.hexagon]:t=>F.star(t,{spikes:3,outerRadius:t.size/2,innerRadius:t.size/2}),[x.diamond]:t=>U({...t,rotation:Math.PI/4,draw:t=>F.square(t,{width:.85*t.size,height:.85*t.size})})},j={dot:t=>{const{size:e,x:r,y:i,document:s}=t;t=e/7;const o=s.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("clip-rule","evenodd"),o.setAttribute("d",H`M ${r+e/2} ${i} a ${e/2} ${e/2} 0 1 0 0.1 0 z m 0 ${t} a ${e/2-t} ${e/2-t} 0 1 1 -0.1 0 Z`);const n=s.createElementNS("http://www.w3.org/2000/svg","path");return n.setAttribute("clip-rule","evenodd"),n.setAttribute("d",H`M ${r+e/2} ${i-t} a ${e/2+t} ${e/2+t} 0 1 0 0.1 0 z`),[o,n]},square:t=>{const{size:e,x:r,y:i,document:s}=t;t=e/7;const o=s.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("clip-rule","evenodd"),o.setAttribute("d",H`M ${r} ${i} v ${e} h ${e} v ${-e} z M ${r+t} ${i+t} h ${e-2*t} v ${e-2*t} h ${2*t-e} z`);const n=s.createElementNS("http://www.w3.org/2000/svg","path");return n.setAttribute("clip-rule","evenodd"),n.setAttribute("d",H`M ${r-t} ${i-t} h ${e+2*t} v ${e+2*t} h ${-e-2*t} z`),[o,n]},extraRounded:t=>{const{size:e,x:r,y:i,document:s}=t;t=e/7;const o=s.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("clip-rule","evenodd"),o.setAttribute("d",H`M ${r} ${i+2.5*t} v ${2*t} a ${2.5*t} ${2.5*t} 0 0 0 ${2.5*t} ${2.5*t} h ${2*t} a ${2.5*t} ${2.5*t} 0 0 0 ${2.5*t} ${2.5*-t} v ${-2*t} a ${2.5*t} ${2.5*t} 0 0 0 ${2.5*-t} ${2.5*-t} h ${-2*t} a ${2.5*t} ${2.5*t} 0 0 0 ${2.5*-t} ${2.5*t} z M ${r+2.5*t} ${i+t} h ${2*t} a ${1.5*t} ${1.5*t} 0 0 1 ${1.5*t} ${1.5*t} v ${2*t} a ${1.5*t} ${1.5*t} 0 0 1 ${1.5*-t} ${1.5*t} h ${-2*t} a ${1.5*t} ${1.5*t} 0 0 1 ${1.5*-t} ${1.5*-t} v ${-2*t} a ${1.5*t} ${1.5*t} 0 0 1 ${1.5*t} ${1.5*-t} z`);const n=s.createElementNS("http://www.w3.org/2000/svg","path");return n.setAttribute("clip-rule","evenodd"),n.setAttribute("d",H`M ${r-t} ${i+2.5*t} v ${2*t} a ${3.5*t} ${3.5*t} 0 0 0 ${3.5*t} ${3.5*t} h ${2*t} a ${3.5*t} ${3.5*t} 0 0 0 ${3.5*t} ${3.5*-t} v ${-2*t} a ${3.5*t} ${3.5*t} 0 0 0 ${3.5*-t} ${3.5*-t} h ${-2*t} a ${3.5*t} ${3.5*t} 0 0 0 ${3.5*-t} ${3.5*t} z`),[o,n]},classy:t=>{const{size:e,x:r,y:i,document:s}=t;t=e/7;const o=s.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("clip-rule","evenodd"),o.setAttribute("d",H`M ${r} ${i+2.5*t} v ${2*t} a ${2.5*t} ${2.5*t} 0 0 0 ${2.5*t} ${2.5*t} h ${4.5*t} v ${-4.5*t} a ${2.5*t} ${2.5*t} 0 0 0 ${2.5*-t} ${2.5*-t} h ${-2*t} H ${r} z M ${r+2.5*t} ${i+t} h ${2*t} a ${1.5*t} ${1.5*t} 0 0 1 ${1.5*t} ${1.5*t} v ${3.5*t} h ${-3.5*t} a ${1.5*t} ${1.5*t} 0 0 1 ${1.5*-t} ${1.5*-t} v ${-3.5*t} z`);const n=s.createElementNS("http://www.w3.org/2000/svg","path");return n.setAttribute("clip-rule","evenodd"),n.setAttribute("d",H`M ${r+.5*t} ${i-t} h ${4*t} a ${3.5*t} ${3.5*t} 0 0 1 ${3.5*t} ${3.5*t} v ${5.5*t} h ${-5.5*t} a ${3.5*t} ${3.5*t} 0 0 1 ${3.5*-t} ${3.5*-t} v ${-5.5*t} z`),[o,n]},inpoint:t=>{const{size:e,x:r,y:i,document:s}=t;t=e/7;const o=s.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("clip-rule","evenodd"),o.setAttribute("d",H`M ${r} ${i+2.5*t} v ${2*t} a ${2.5*t} ${2.5*t} 0 0 0 ${2.5*t} ${2.5*t} h ${4.5*t} v ${-4.5*t} a ${2.5*t} ${2.5*t} 0 0 0 ${2.5*-t} ${2.5*-t} h ${-2*t} a ${2.5*t} ${2.5*t} 0 0 0 ${2.5*-t} ${2.5*t} z M ${r+2.5*t} ${i+t} h ${2*t} a ${1.5*t} ${1.5*t} 0 0 1 ${1.5*t} ${1.5*t} v ${3.5*t} h ${-3.5*t} a ${1.5*t} ${1.5*t} 0 0 1 ${1.5*-t} ${1.5*-t} v ${-2*t} a ${1.5*t} ${1.5*t} 0 0 1 ${1.5*t} ${1.5*-t} z`);const n=s.createElementNS("http://www.w3.org/2000/svg","path");return n.setAttribute("clip-rule","evenodd"),n.setAttribute("d",H`M ${r+.5*t} ${i-t} h ${4*t} a ${3.5*t} ${3.5*t} 0 0 1 ${3.5*t} ${3.5*t} v ${5.5*t} h ${-5.5*t} a ${3.5*t} ${3.5*t} 0 0 1 ${3.5*-t} ${3.5*-t} v ${-2*t} a ${3.5*t} ${3.5*t} 0 0 1 ${3.5*t} ${3.5*-t} z`),[o,n]},centerCircle:t=>{const{x:e,y:r,size:i}=t;var s=i/2.5;const o=e+i/2,n=r+i/2;t=i/7;const a=document.createElementNS("http://www.w3.org/2000/svg","path");return a.setAttribute("clip-rule","evenodd"),a.setAttribute("d",H`M ${e} ${r} h ${i} v ${i} h ${-i} z M ${o-s} ${n} a ${s} ${s} 0 1 0 ${2*s} 0 a ${s} ${s} 0 1 0 ${2*-s} 0 z`),(s=document.createElementNS("http://www.w3.org/2000/svg","path")).setAttribute("clip-rule","evenodd"),s.setAttribute("d",H`M ${e-t} ${r-t} h ${i+2*t} v ${i+2*t} h ${-i-2*t} z`),[a,s]},cornerCut:t=>{const{x:e,y:r,size:i}=t;t=i/8;const s=document.createElementNS("http://www.w3.org/2000/svg","path");s.setAttribute("clip-rule","evenodd"),s.setAttribute("d",`M ${e} ${r} L ${e+i} ${r} L ${e+i} ${r+i-t} Q ${e+i} ${r+i} ${e+i-t} ${r+i} L ${e+t} ${r+i} Q ${e} ${r+i-t} ${e} ${r+i-t} Z M ${e+t} ${r+t} L ${e+i-t} ${r+t} L ${e+i-t} ${r+i-t} L ${e+t} ${r+i-t} Z`);const o=document.createElementNS("http://www.w3.org/2000/svg","path");return o.setAttribute("clip-rule","evenodd"),o.setAttribute("d",H`M ${e-t} ${r-t} h ${i+2*t} v ${i+2*t} h ${-i-2*t} z`),[s,o]}},Q={[N.dot]:t=>j.dot(t),[N.square]:t=>j.square(t),[N.extraRounded]:t=>j.extraRounded(t),[N.classy]:t=>U({...t,draw:j.classy}),[N.inpoint]:t=>U({...t,draw:j.inpoint}),[N.outpoint]:({rotation:t,...e})=>U({...e,rotation:(t||0)+Math.PI,draw:j.inpoint}),[N.centerCircle]:t=>j.centerCircle(t)},V=({x:t,y:e,size:r,document:i,getNeighbor:s},{corner:o=F.cornerRounded,end:n=F.sideRounded}={})=>{const a=s?+s(-1,0):0,h=s?+s(1,0):0,u=s?+s(0,-1):0,d=a+h+u+(s=s?+s(0,1):0);return 0===d?F.dot({x:t,y:e,size:r,document:i}):d>2||a&&h||u&&s?F.square({x:t,y:e,size:r,document:i}):2===d?(n=0,a&&u?n=Math.PI/2:u&&h?n=Math.PI:h&&s&&(n=-Math.PI/2),U({x:t,y:e,size:r,rotation:n,document:i,draw:o})):(o=0,u?o=Math.PI/2:h?o=Math.PI:s&&(o=-Math.PI/2),U({x:t,y:e,size:r,rotation:o,document:i,draw:n}))},K=({x:t,y:e,size:r,document:i,getNeighbor:s},{corner:o=F.cornerRounded}={})=>{const n=s?+s(-1,0):0,a=s?+s(1,0):0,h=s?+s(0,-1):0;return n+a+h+(s=s?+s(0,1):0)===0?U({x:t,y:e,size:r,rotation:Math.PI/2,document:i,draw:F.cornersRounded}):n||h?a||s?F.square({x:t,y:e,size:r,document:i}):U({x:t,y:e,size:r,rotation:Math.PI/2,document:i,draw:o}):U({x:t,y:e,size:r,rotation:-Math.PI/2,document:i,draw:o})},Y=({x:t,y:e,size:r,document:i,getNeighbor:s},{stripe:o=r,rotation:n=0}={})=>{const a=s?+s(0,-1):0;return s=s?+s(0,1):0,a&&s?U({x:t,y:e,size:r,rotation:n,document:i,draw:()=>F.square({x:t,y:e,size:r,document:i},{width:o})}):a&&!s?(n+=Math.PI/2,U({x:t,y:e,size:r,rotation:n,document:i,draw:t=>F.sideRounded(t,{height:o})})):s&&!a?(n-=Math.PI/2,U({x:t,y:e,size:r,rotation:n,document:i,draw:t=>F.sideRounded(t,{height:o})})):U({x:t,y:e,size:r,rotation:n,document:i,draw:()=>F.dot({x:t+(r-o)/2,y:e+(r-o)/2,size:o,document:i})})},J={[T.dot]:t=>F.dot(t),[T.randomDot]:({size:t,...e})=>F.dot({...e,size:t*(.25*Math.random()+.75)}),[T.rounded]:t=>V(t),[T.extraRounded]:t=>V(t,{corner:F.cornerExtraRounded}),[T.verticalLine]:t=>Y(t),[T.horizontalLine]:({getNeighbor:t,...e})=>Y({...e,getNeighbor:t?(e,r)=>t(r,e):void 0},{rotation:-Math.PI/2}),[T.classy]:t=>K(t),[T.classyRounded]:t=>K(t,{corner:F.cornerExtraRounded}),[T.square]:t=>F.square(t),[T.smallSquare]:({x:t,y:e,size:r,document:i})=>F.square({x:t+=.15*r,y:e+=.15*r,size:r=.7*r,document:i}),[T.tinySquare]:({x:t,y:e,size:r,document:i})=>F.square({x:t+=.35*r,y:e+=.35*r,size:r=.3*r,document:i}),[T.diamond]:t=>U({...t,rotation:Math.PI/4,draw:t=>F.square(t,{width:.85*t.size,height:.85*t.size})}),[T.wave]:t=>V(t,{corner:F.cornerExtraRounded,end:F.wave}),[T.heart]:t=>F.heart(t),[T.star]:t=>F.star(t),[T.weave]:t=>F.weave(t),[T.pentagon]:t=>F.star(t,{spikes:2.5,outerRadius:t.size/2,innerRadius:t.size/2}),[T.hexagon]:t=>F.star(t,{spikes:3,outerRadius:t.size/2,innerRadius:t.size/2}),[T.zebraVertical]:t=>Y(t,{stripe:.8*t.size}),[T.zebraHorizontal]:({getNeighbor:t,...e})=>Y({...e,getNeighbor:t?(e,r)=>t(r,e):void 0},{stripe:.8*e.size,rotation:-Math.PI/2})};function Z(t){return J[t]||J[T.square]}let W={toDataURL:t=>"string"==typeof t&&t.startsWith("data:")?Promise.resolve(t):new Promise((e,r)=>{if("string"==typeof t){const i=new XMLHttpRequest;i.onload=()=>{const t=new FileReader;t.onloadend=()=>{e(t.result)},t.readAsDataURL(i.response)},i.onerror=i.onabort=i.ontimeout=r,i.open("GET",t,!0),i.responseType="blob",i.send()}else{const r=new FileReader;r.onloadend=()=>{e(r.result)},r.readAsDataURL(t)}}),getSize:(t,e)=>new Promise((r,i)=>{const s=new Image;"string"===e&&(s.crossOrigin=e),s.onload=()=>{r({width:s.width,height:s.height})},s.onerror=s.onabort=i,"string"==typeof t?s.src=t:W.toDataURL(t).then(t=>s.src=t).catch(i)})};function tt(t){var e=[];let r=1;if("#"===(t=t.toLowerCase())[0]){let i=(t=t.slice(1)).length;i<=4?(e=[parseInt(t[0]+t[0],16),parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16)],4===i&&(r=parseInt(t[3]+t[3],16)/255)):(e=[parseInt(t[0]+t[1],16),parseInt(t[2]+t[3],16),parseInt(t[4]+t[5],16)],8===i&&(r=parseInt(t[6]+t[7],16)/255)),e[0]||(e[0]=0),e[1]||(e[1]=0),e[2]||(e[2]=0)}else{if(!(e=/^((?:rgba?))\s*\(([^)]*)\)/.exec(t)))return{value:t,alpha:r};r=(e=(e=e[2].trim().split(/\s*[,/]\s*|\s+/)).map((t,e)=>"%"===t[t.length-1]?(t=parseFloat(t)/100,3===e?t:255*t):"none"===t?0:parseFloat(t))).length>3?e.pop():1}return{value:"#"+e.map(t=>Math.max(0,Math.min(255,t)).toString(16).padStart(2,"0")).join(""),alpha:Math.max(0,Math.min(1,r))}}let et=[[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],rt=new Set(Object.values(N));let it=[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]],st=new Set(Object.values(x));class ot{options;_element;get element(){return this._element}defs;backgroundMask;backgroundMaskGroup;dotsMask;dotsMaskGroup;lightDotsMask;lightDotsMaskGroup;qr;document;imageTools;constructor(t){this.options=t,this.document=t.document,this._element=this.document.createElementNS("http://www.w3.org/2000/svg","svg");let e=G(t.width),r=G(t.height);this._element.setAttribute("width",e),this._element.setAttribute("height",r),this._element.setAttribute("viewBox",`0 0 ${e} ${r}`),this.defs=this.document.createElementNS("http://www.w3.org/2000/svg","defs"),this._element.appendChild(this.defs),this.imageTools=t.imageTools||W}get width(){return this.options.width}get height(){return this.options.height}async drawQR(t){let e=t.getModuleCount();var r=parseInt(((e-17)/4).toFixed(0),10);let i=this.options.dotsOptions.size,s={hideXDots:0,hideYDots:0,width:0,height:0};if(this.qr=t,this.options.image){t=await this.imageTools.getSize(this.options.image,this.options.imageOptions.crossOrigin);let{imageOptions:n,errorCorrectionPercent:a}=this.options;if(n.mode==S.background){var o=this.options.backgroundOptions&&this.options.backgroundOptions.margin||0;r=(this.options.width-2*o*i)*n.imageSize,o=(this.options.height-2*o*i)*n.imageSize;let{width:e,height:a}=t;a=a/e*r,e=r,a>o&&(e=e/a*o,a=o),s={hideXDots:0,hideYDots:0,width:e,height:a}}else o=n.imageSize*a,r=p.getPatternPosition(r),s=function({originalHeight:t,originalWidth:e,maxHiddenDots:r,maxHiddenAxisDots:i,dotSize:s,margin:o}){if(t<=0||e<=0||r<=0||s<=0||4*o**2>r)return{height:0,width:0,hideYDots:0,hideXDots:0};i&&i%2==0&&(i=Math.max(1,i-1));var n=Math.max(e,t),a=Math.min(e,t),h=0;i=(i||r)-2*o;do{let t=h+(i-h)/2,e=Math.max(1,Math.ceil(t+2*o));e%2==0&&e++;let s=Math.max(1,Math.ceil(t*a/n+2*o));s%2==0&&s++,e*s>r?i=t:h=t}while(Math.abs(h-i)>.001);return(r=Math.max(1,Math.ceil(h+2*o)))%2==0&&r++,(a=Math.max(1,Math.ceil(h*a/n+2*o)))%2==0&&a++,e>t?n=r:(n=a,a=r),r=i=(n-2*o)*s,(i=i*t/e)>(h=(a-2*o)*s)&&(i=h,r=h*e/t),{height:Math.round(i+2*o*s),width:Math.round(r+2*o*s),hideYDots:a,hideXDots:n}}({originalWidth:t.width,originalHeight:t.height,maxHiddenDots:Math.floor(o*(e*e-192-2*(e-16)-r.length**2*25)),maxHiddenAxisDots:e-14,dotSize:i,margin:n.margin})}this.drawBackground(),this.options.imageOptions.mode!=S.overlay&&this.options.image&&s.width>0&&s.height>0&&await this.drawImage({width:s.width,height:s.height,count:e,dotSize:i}),this.drawDots((t,r)=>!(this.options.imageOptions.mode==S.center&&t>=(e-s.hideXDots)/2&&t<(e+s.hideXDots)/2&&r>=(e-s.hideYDots)/2&&r<(e+s.hideYDots)/2||t<8&&r<8||t>=e-8&&r<8||r>=e-8&&t<8)),this.options.imageOptions.mode==S.overlay&&this.options.image&&s.width>0&&s.height>0&&await this.drawImage({width:s.width,height:s.height,count:e,dotSize:i}),this.drawCorners()}drawBackground(){let t=this.options;if(this._element&&t.backgroundOptions){this.createColor({options:t.backgroundOptions.gradient,color:t.backgroundOptions.color,additionalRotation:0,x:0,y:0,height:t.height,width:t.width,name:"background-color"});let e=Math.min(t.width,t.height),r=this.document.createElementNS("http://www.w3.org/2000/svg","rect");[this.backgroundMask,this.backgroundMaskGroup]=this.createMask("mask-background-color"),this.defs.appendChild(this.backgroundMask),r.setAttribute("x",G((t.width-e)/2)),r.setAttribute("y",G((t.height-e)/2)),r.setAttribute("width",G(e)),r.setAttribute("height",G(e)),r.setAttribute("rx",G(e/2*(t.backgroundOptions.round||0))),this.backgroundMaskGroup.appendChild(r)}}drawDots(t){if(!this.qr)throw Error("QR code is not defined");let e=this.options;var r=this.qr.getModuleCount();if(r>e.width||r>e.height)throw Error("The canvas is too small");let i=this.options.dotsOptions.size;var s=Math.min(e.width,e.height);e.imageOptions.mode==S.background&&(s-=2*i*(e.imageOptions.margin||0));var o=Math.floor((e.width-r*i)/2),n=Math.floor((e.height-r*i)/2);let a=Z(e.dotsOptions.type);[this.dotsMask,this.dotsMaskGroup]=this.createMask("mask-dot-color"),this.defs.appendChild(this.dotsMask),e.imageOptions.mode==S.background&&([this.lightDotsMask,this.lightDotsMaskGroup]=this.createMask("mask-light-dot-color"),this.defs.appendChild(this.lightDotsMask));var h=0;let u=0;h=r,e.shape===C.circle?(h=this.options.backgroundOptions&&this.options.backgroundOptions.margin||0,u=Math.floor((s/i-r-2*h)/2),h=r+2*u):e.imageOptions.mode==S.background&&(u=1,h=r+2*u),s=o-u*i,n-=u*i,o=r+2*u;let d=Array(h);var l=Math.floor(h/2);for(let i=0;i<h;i++){d[i]=Array(h);for(let s=0;s<h;s++)if(i>u-1&&i<h-u&&s>u-1&&s<h-u){let e=i-u,r=s-u;t&&!t(e,r)?d[i][s]=void 0:d[i][s]=!!this.qr.isDark(r,e)}else d[i][s]=e.shape===C.circle&&Math.sqrt((i-l)*(i-l)+(s-l)*(s-l))>l?void 0:i==u-1||i==h-u||s==u-1||s==h-u?(s==u-1&&(i<u+8||i>h-u-9)||s==h-u&&i<u+8||i==u-1&&(s<u+8||s>h-u-9)||i==h-u&&s<u+8)&&void 0:this.qr.isDark(s-2*u<0?s:s>=r?s-2*u:s-u,i-2*u<0?i:i>=r?i-2*u:i-u)}t=p.getPatternPosition((r-17)/4);for(let e=0;e<h;e++){r=t.find(t=>e-u>t-3&&e-u<t+3);for(let o=0;o<h;o++)l=t.find(t=>o-u>t-3&&o-u<t+3),null!=d[e][o]&&(this.lightDotsMask&&(a=r&&l&&(r!=t[0]&&l!=t[0]||l!=t[0]&&l!=t[t.length-1]||r!=t[0]&&r!=t[t.length-1])?Z(T.square):Z(T.tinySquare)),d[e][o]?this.dotsMaskGroup&&this.dotsMaskGroup.appendChild(a({x:s+e*i,y:n+o*i,size:i,document:this.options.document,getNeighbor:(t,r)=>!0===d[e+t]?.[o+r]})):this.lightDotsMask&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(a({x:s+e*i,y:n+o*i,size:i,document:this.options.document,getNeighbor:(t,r)=>!1===d[e+t]?.[o+r]})))}this.lightDotsMask&&this.createColor({options:e.imageOptions.fill.gradient,color:e.imageOptions.fill.color,additionalRotation:0,x:s,y:n,height:o*i,width:o*i,name:"light-dot-color"}),this.createColor({options:e.dotsOptions?.gradient,color:e.dotsOptions.color,additionalRotation:0,x:s,y:n,height:o*i,width:o*i,name:"dot-color"})}drawCorners(){if(!this.qr)throw Error("QR code is not defined");let t=this.options;if(!this._element)throw Error("Element code is not defined");let e=this.qr.getModuleCount(),r=this.options.dotsOptions.size,i=7*r,s=3*r,o=Math.floor((t.width-e*r)/2),n=Math.floor((t.height-e*r)/2);[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach(([a,h,u])=>{let d=o+a*r*(e-7),l=n+h*r*(e-7);var c=this.dotsMask;let g=this.dotsMaskGroup;var p=this.dotsMask;if(c=this.dotsMaskGroup,(t.cornersSquareOptions?.gradient||t.cornersSquareOptions?.color)&&([c,g]=this.createMask(`mask-corners-square-color-${a}-${h}`),this.defs.appendChild(c),p=c,c=g,this.createColor({options:t.cornersSquareOptions?.gradient,color:t.cornersSquareOptions?.color,additionalRotation:u,x:d,y:l,height:i,width:i,name:`corners-square-color-${a}-${h}`})),function(t){return!(!t||!rt.has(t))}(t.cornersSquareOptions?.type)){let[e,r]=(Q[t.cornersSquareOptions.type]||Q[N.square])({x:d,y:l,size:i,document:this.options.document,rotation:u});g&&g.appendChild(e),this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(r)}else{p=Z(t.cornersSquareOptions?.type||t.dotsOptions.type);for(let t=0;t<et.length;t++)for(let e=0;e<et[t].length;e++)et[t]?.[e]?g&&g.appendChild(p({x:d+t*r,y:l+e*r,size:r,document:this.options.document,getNeighbor:(r,i)=>!!et[t+r]?.[e+i]})):this.lightDotsMask&&!it[t]?.[e]&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(p({x:d+t*r,y:l+e*r,size:r,document:this.options.document,getNeighbor:(r,i)=>!et[t+r]?.[e+i]&&!it[t+r]?.[e+i]}));if(this.lightDotsMask)for(let t=-1;t<8;t++)for(let e=-1;e<8;e++)(-1==t||7==t||-1==e||7==e)&&this.lightDotsMaskGroup&&this.lightDotsMaskGroup.appendChild(p({x:d+t*r,y:l+e*r,size:r,document:this.options.document,getNeighbor:(r,i)=>(i=e+i,(r=t+r)>=-1&&r<=7&&i>=-1&&i<=7&&(-1==r||7==r||-1==i||7==i))}))}if((t.cornersDotOptions?.gradient||t.cornersDotOptions?.color)&&([p,c]=this.createMask(`mask-corners-dot-color-${a}-${h}`),this.defs.appendChild(p),this.createColor({options:t.cornersDotOptions?.gradient,color:t.cornersDotOptions?.color,additionalRotation:u,x:d+2*r,y:l+2*r,height:s,width:s,name:`corners-dot-color-${a}-${h}`})),function(t){return!(!t||!st.has(t))}(t.cornersDotOptions?.type))a=X[t.cornersDotOptions.type]||X[x.square],c&&c.appendChild(a({x:d+2*r,y:l+2*r,size:s,document:this.document,rotation:u}));else{u=Z(t.cornersDotOptions?.type||t.dotsOptions.type);for(let t=0;t<it.length;t++)for(let e=0;e<it[t].length;e++)it[t]?.[e]&&c&&c.appendChild(u({x:d+t*r,y:l+e*r,size:r,document:this.options.document,getNeighbor:(r,i)=>!!it[t+r]?.[e+i]}))}})}async drawImage({width:t,height:e,count:r,dotSize:i}){var s=this.options,o=Math.floor((s.width-r*i)/2),n=Math.floor((s.height-r*i)/2),a=s.imageOptions.margin*i;if(s.imageOptions.mode==S.background&&(a=0),o=o+a+(r*i-t)/2,r=n+a+(r*i-e)/2,t-=2*a,e-=2*a,a=await this.imageTools.toDataURL(s.image||""),(s=this.document.createElementNS("http://www.w3.org/2000/svg","image")).setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a||""),a.startsWith("data:image/svg+xml;")){if(i=(a=a.substring(19)).indexOf(","),n=a.substring(0,i),a=a.substring(i+1),"base64"===n)a="function"==typeof atob?atob(a):Buffer.from(a,"base64").toString("utf8");else a="";a&&(a=(new DOMParser).parseFromString(a,"text/xml"),(a=Array.from(a.getElementsByTagName("svg"))).length&&(s=a[0]).setAttribute("overflow","visible"))}s.setAttribute("x",G(o)),s.setAttribute("y",G(r)),s.setAttribute("width",`${G(t)}px`),s.setAttribute("height",`${G(e)}px`),this._element.appendChild(s)}createColor({options:t,color:e,additionalRotation:r,x:i,y:s,height:o,width:n,name:a}){var h=n>o?n:o;i-=this.options.dotsOptions.size,s-=this.options.dotsOptions.size,n+=2*this.options.dotsOptions.size,o+=2*this.options.dotsOptions.size;let u=this.document.createElementNS("http://www.w3.org/2000/svg","rect");if(u.setAttribute("x",G(i)),u.setAttribute("y",G(s)),u.setAttribute("height",G(o)),u.setAttribute("width",G(n)),u.setAttribute("style",`mask:url(#mask-${a})`),t){let d;if(t.type===E.radial)d=this.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),d.setAttribute("id",a),d.setAttribute("gradientUnits","userSpaceOnUse"),d.setAttribute("fx",G(i+n/2)),d.setAttribute("fy",G(s+o/2)),d.setAttribute("cx",G(i+n/2)),d.setAttribute("cy",G(s+o/2)),d.setAttribute("r",G(h/2));else{h=i+n/2;let u=s+o/2;i+=n/2,s+=o/2,(r=((e=((t.rotation||0)+r)%(2*Math.PI))+2*Math.PI)%(2*Math.PI))>=0&&r<=.25*Math.PI||r>1.75*Math.PI&&r<=2*Math.PI?(h-=n/2,u-=o/2*Math.tan(e),i+=n/2,s+=o/2*Math.tan(e)):r>.25*Math.PI&&r<=.75*Math.PI?(u-=o/2,h-=n/2/Math.tan(e),s+=o/2,i+=n/2/Math.tan(e)):r>.75*Math.PI&&r<=1.25*Math.PI?(h+=n/2,u+=o/2*Math.tan(e),i-=n/2,s-=o/2*Math.tan(e)):r>1.25*Math.PI&&r<=1.75*Math.PI&&(u+=o/2,h+=n/2/Math.tan(e),s-=o/2,i-=n/2/Math.tan(e)),d=this.document.createElementNS("http://www.w3.org/2000/svg","linearGradient"),d.setAttribute("id",a),d.setAttribute("gradientUnits","userSpaceOnUse"),d.setAttribute("x1",G(h)),d.setAttribute("y1",G(u)),d.setAttribute("x2",G(i)),d.setAttribute("y2",G(s))}t.colorStops.forEach(t=>{let e=this.document.createElementNS("http://www.w3.org/2000/svg","stop");e.setAttribute("offset",`${G(100*t.offset)}%`),t=tt(t.color),e.setAttribute("stop-color",t.value),t.alpha<1&&e.setAttribute("stop-opacity",t.alpha.toFixed(7)),d.appendChild(e)}),u.setAttribute("fill",`url(#${a})`),this.defs.appendChild(d)}else e&&(t=tt(e),u.setAttribute("fill",t.value),t.alpha<1&&u.setAttribute("opacity",t.alpha.toFixed(7)));this._element.appendChild(u)}createMask(t){let e=this.options,r=this.document.createElementNS("http://www.w3.org/2000/svg","mask");return r.setAttribute("id",t),r.setAttribute("maskUnits","userSpaceOnUse"),r.setAttribute("x","0"),r.setAttribute("y","0"),r.setAttribute("width",G(e.width)),r.setAttribute("height",G(e.height)),(t=this.document.createElementNS("http://www.w3.org/2000/svg","g")).setAttribute("fill","#fff"),r.appendChild(t),[r,t]}}Object.assign(A.stringToBytesFuncs,{UTF8:t=>{const e=[];for(let r=0;r<t.length;r++){let i=t.charCodeAt(r);i<128?e.push(i):i<2048?e.push(192|i>>6,128|63&i):i<55296||i>=57344?e.push(224|i>>12,128|i>>6&63,128|63&i):(r++,i=65536+((1023&i)<<10|1023&t.charCodeAt(r)),e.push(240|i>>18,128|i>>12&63,128|i>>6&63,128|63&i))}return e}});class nt{options;container;qr;extension;svgDrawingPromise;qrSVG;get size(){if(this.qrSVG)return{width:this.qrSVG.width,height:this.qrSVG.height}}constructor(t){this.options=t?R(y(q,t)):q,this.update()}update(t){this.container&&(this.container.innerHTML=""),this.options=t?R(y(this.options,t)):this.options,this.options.data&&(this.options.stringToBytesFuncs&&(Object.assign(A.stringToBytesFuncs,this.options.stringToBytesFuncs),delete this.options.stringToBytesFuncs),this.qr=new A(this.options.qrOptions.typeNumber,this.options.qrOptions.errorCorrectionLevel),t=this.options.qrOptions.mode||function(t){switch(!0){case/^[0-9]*$/.test(t):return b.numeric;case/^[0-9A-Z $%*+\-./:]*$/.test(t):return b.alphanumeric;case/[^\u0000-\u00ff]/.test(t):return b.unicode;default:return b.byte}}(this.options.data),this.qr.addData(this.options.data,t),this.qr.make(),this.setupSvg(),this.append(this.container))}append(t){t&&(this.qrSVG?.element&&t.appendChild(this.qrSVG.element),this.container=t)}applyExtension(t){if(!t)throw Error("Extension function should be defined.");this.extension=t,this.update()}deleteExtension(){this.extension=void 0,this.update()}async serialize(){if(!this.qr)throw Error("QR code is empty");if(this.qrSVG?.element&&this.svgDrawingPromise||this.setupSvg(),await this.svgDrawingPromise,this.qrSVG?.element)return'<?xml version="1.0" standalone="no"?>\r\n'+(new XMLSerializer).serializeToString(this.qrSVG.element)}setupSvg(){if(this.qr){var t=this.qr.getModuleCount();this.options.imageOptions.mode==S.background&&this.options.shape!=C.circle&&(t+=2),(t=Math.ceil((this.options.shape==C.circle?Math.sqrt(2):1)*t))%2==0&&--t;var e=this.options.backgroundOptions&&this.options.backgroundOptions.margin||0;this.options.imageOptions.mode==S.background&&(e+=this.options.imageOptions.margin||0),t=Math.ceil(this.options.dotsOptions.size*(t+2*e)),this.qrSVG=new ot({...this.options,width:t,height:t,errorCorrectionPercent:I[this.options.qrOptions.errorCorrectionLevel]}),this.svgDrawingPromise=this.qrSVG.drawQR(this.qr).then(()=>{this.qrSVG?.element&&this.extension?.(this.qrSVG.element,this.options)})}}}let at={width:300,height:300,margin:0};var ht,ut=ht||={};function dt(t,e){let{width:r,height:i,margin:s}=e?function(t){return(t={...t}).width=Number(t.width),t.height=Number(t.height),t.margin=Number(t.margin),t.margin>Math.min(t.width,t.height)&&(t.margin=Math.min(t.width,t.height)),t}(y(at,e)):at,o=document.createElement("canvas");o.width=r,o.height=i;let n=Math.min(r,i)-2*s;return t=t.serialize().then(t=>{if(t){var e="data:image/svg+xml;base64,"+btoa(t),s=new Image;return new Promise((t,a)=>{s.onload=()=>{const e=Math.ceil(2*n/Math.min(s.width,s.height));let a;try{a=new OffscreenCanvas(s.width*e,s.height*e)}catch(t){a=document.createElement("canvas"),a.width=s.width*e,a.height=s.height*e}a.getContext("2d")?.drawImage(s,0,0,a.width,a.height),o?.getContext("2d")?.drawImage(a,(r-n)/2,(i-n)/2,n,n),t()},s.onerror=s.onabort=a,s.src=e})}}),{canvas:o,canvasDrawingPromise:t}}function lt(t,e){let r=document.createElement("a");r.download=e,r.href=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}ut.svg="svg",ut.png="png",ut.jpeg="jpeg",ut.webp="webp";let ct=Object.freeze({__proto__:null,get FileExtension(){return ht},download:async function(t,e,r){var i=ht.png;let s="qr";if(e&&(e.name&&(s=e.name),e.extension&&(i=e.extension)),"svg"===i.toLowerCase())(i=await t.serialize())&<(i="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(i),`${s}.svg`);else if(t=dt(t,r)){var{canvas:o,canvasDrawingPromise:n}=t;await n,lt(t=o.toDataURL(`image/${i}`),`${s}.${i}`)}},downloadURI:lt,drawToCanvas:dt});export{x as CornerDotType,N as CornerSquareType,T as DotType,w as ErrorCorrectionLevel,I as ErrorCorrectionPercents,ht as FileExtension,E as GradientType,S as ImageMode,b as Mode,nt as QRCodeStyling,C as ShapeType,$ as TypeNumber,ct as browserUtils};
|
|
2
2
|
//# sourceMappingURL=qr-code-styling.js.map
|