1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-14 15:13:29 +01:00
invoiceninja/public/js/qrcode.min.js.map
2019-01-30 22:25:07 +11:00

1 line
63 KiB
Plaintext

{"version":3,"sources":["qrcode.js"],"names":["QRCode","QR8bitByte","data","this","mode","QRMode","MODE_8BIT_BYTE","parsedData","i","l","length","byteArray","code","charCodeAt","push","Array","prototype","concat","apply","unshift","QRCodeModel","typeNumber","errorCorrectLevel","modules","moduleCount","dataCache","dataList","QRPolynomial","num","shift","undefined","Error","offset","QRRSBlock","totalCount","dataCount","QRBitBuffer","buffer","_isSupportCanvas","CanvasRenderingContext2D","_getAndroid","android","sAgent","navigator","userAgent","test","aMat","toString","match","parseFloat","_getTypeNumber","sText","nCorrectLevel","nType","_getUTF8Length","len","QRCodeLimitLength","nLimit","QRErrorCorrectLevel","L","M","Q","H","replacedText","encodeURI","replace","getLength","write","put","addData","newData","isDark","row","col","getModuleCount","make","makeImpl","getBestMaskPattern","maskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","r","c","minLostPoint","pattern","lostPoint","QRUtil","getLostPoint","createMovieClip","target_mc","instance_name","depth","qr_mc","createEmptyMovieClip","cs","y","x","dark","beginFill","moveTo","lineTo","endFill","pos","getPatternPosition","j","bits","getBCHTypeNumber","mod","Math","floor","getBCHTypeInfo","inc","bitIndex","byteIndex","mask","getMask","PAD0","PAD1","rsBlocks","getRSBlocks","getLengthInBits","totalDataCount","putBit","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","max","rsPoly","getErrorCorrectPolynomial","rawPoly","modPoly","modIndex","get","totalCodeCount","index","MODE_NUMBER","MODE_ALPHA_NUM","MODE_KANJI","QRMaskPattern","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","d","getBCHDigit","digit","errorCorrectLength","a","multiply","QRMath","gexp","type","qrCode","sameCount","count","darkCount","ratio","abs","glog","n","LOG_TABLE","EXP_TABLE","e","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","list","bufIndex","bit","svgDrawer","Drawing","el","htOption","_el","_htOption","draw","oQRCode","makeSVG","tag","attrs","document","createElementNS","k","hasOwnProperty","setAttribute","nCount","width","height","clear","svg","viewBox","String","fill","colorLight","setAttributeNS","appendChild","colorDark","id","child","hasChildNodes","removeChild","lastChild","useSVG","documentElement","tagName","toLowerCase","_onMakeImage","_elImage","src","_elCanvas","toDataURL","style","display","_safeSetDataURI","fSuccess","fFail","self","_fFail","_fSuccess","_bSupportDataURI","createElement","fOnError","call","fOnSuccess","onabort","onerror","onload","_android","factor","window","devicePixelRatio","drawImage","image","sx","sy","sw","sh","dx","dy","dw","dh","nodeName","arguments","_bIsPainted","_oContext","getContext","alt","nWidth","nHeight","nRoundedWidth","round","nRoundedHeight","bIsDark","nLeft","nTop","strokeStyle","lineWidth","fillStyle","fillRect","strokeRect","ceil","makeImage","isPainted","clearRect","nNumber","aHTML","innerHTML","join","elTable","childNodes","nLeftMarginTable","offsetWidth","nTopMarginTable","offsetHeight","margin","vOption","correctLevel","text","getElementById","_oQRCode","_oDrawing","makeCode","title","CorrectLevel"],"mappings":"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A,EAAA,GAAA,KAAA,EAAA,GAAA,KAAA,EAAA,GAAA,KAAA,EAAA,GAAA,KAAA,EAAA,GAAA,KAAA,EAAA,GAAA,KAAA,EAAA,GAAA,KAAA,EAAA,IAAA,KAAA,EAAA,GAAA,KAAA,EAAA,GAAA,KAAA,EAAA,GAAA,IAAA,EAAA,IAAA,MAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,KAAA,EAAA,GAAA,KAAA,EAAA,GAAA,KAAA,EAAA,GAAA,KAAA,EAAA,GAAA,KAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,IAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,IAAA,MAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,IAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,IAAA,GAAA,EAAA,IAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,IAAA,MAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,MAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,IAAA,GAAA,EAAA,IAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,GAAA,GAAA,KAAA,EAAA,IAAA,GAAA,EAAA,IAAA,KAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,MAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,MAAA,EAAA,GAAA,GAAA,EAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,MAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,MAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,MAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,MAAA,GAAA,GAAA,KAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,MAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,MAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,MAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,IAAA,IAAA,EAAA,IAAA,MAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,MAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,EAAA,IAAA,IAAA,GAAA,IAAA,MAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,EAAA,IAAA,IAAA,EAAA,IAAA,MAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,EAAA,IAAA,IAAA,GAAA,IAAA,MAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,IAAA,IAAA,EAAA,IAAA,MAAA,EAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,IAAA,MAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,IAAA,IAAA,EAAA,IAAA,MAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,IAAA,IAAA,EAAA,IAAA,MAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,GAAA,GAAA,GAAA,EAAA,GAAA,KAAA,GAAA,IAAA,IAAA,EAAA,IAAA,MAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAAA,GAAA,GAAA,GAAA,GAAA,GAAA,KAA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","file":"qrcode.min.js","sourcesContent":["/**\n * @fileoverview\n * - Using the 'QRCode for Javascript library'\n * - Fixed dataset of 'QRCode for Javascript library' for support full-spec.\n * - this library has no dependencies.\n * \n * @author davidshimjs\n * @see <a href=\"http://www.d-project.com/\" target=\"_blank\">http://www.d-project.com/</a>\n * @see <a href=\"http://jeromeetienne.github.com/jquery-qrcode/\" target=\"_blank\">http://jeromeetienne.github.com/jquery-qrcode/</a>\n */\nvar QRCode;\n\n(function () {\n\t//---------------------------------------------------------------------\n\t// QRCode for JavaScript\n\t//\n\t// Copyright (c) 2009 Kazuhiko Arase\n\t//\n\t// URL: http://www.d-project.com/\n\t//\n\t// Licensed under the MIT license:\n\t// http://www.opensource.org/licenses/mit-license.php\n\t//\n\t// The word \"QR Code\" is registered trademark of \n\t// DENSO WAVE INCORPORATED\n\t// http://www.denso-wave.com/qrcode/faqpatent-e.html\n\t//\n\t//---------------------------------------------------------------------\n\tfunction QR8bitByte(data) {\n\t\tthis.mode = QRMode.MODE_8BIT_BYTE;\n\t\tthis.data = data;\n\t\tthis.parsedData = [];\n\n\t\t// Added to support UTF-8 Characters\n\t\tfor (var i = 0, l = this.data.length; i < l; i++) {\n\t\t\tvar byteArray = [];\n\t\t\tvar code = this.data.charCodeAt(i);\n\n\t\t\tif (code > 0x10000) {\n\t\t\t\tbyteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n\t\t\t\tbyteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n\t\t\t\tbyteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n\t\t\t\tbyteArray[3] = 0x80 | (code & 0x3F);\n\t\t\t} else if (code > 0x800) {\n\t\t\t\tbyteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n\t\t\t\tbyteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n\t\t\t\tbyteArray[2] = 0x80 | (code & 0x3F);\n\t\t\t} else if (code > 0x80) {\n\t\t\t\tbyteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n\t\t\t\tbyteArray[1] = 0x80 | (code & 0x3F);\n\t\t\t} else {\n\t\t\t\tbyteArray[0] = code;\n\t\t\t}\n\n\t\t\tthis.parsedData.push(byteArray);\n\t\t}\n\n\t\tthis.parsedData = Array.prototype.concat.apply([], this.parsedData);\n\n\t\tif (this.parsedData.length != this.data.length) {\n\t\t\tthis.parsedData.unshift(191);\n\t\t\tthis.parsedData.unshift(187);\n\t\t\tthis.parsedData.unshift(239);\n\t\t}\n\t}\n\n\tQR8bitByte.prototype = {\n\t\tgetLength: function (buffer) {\n\t\t\treturn this.parsedData.length;\n\t\t},\n\t\twrite: function (buffer) {\n\t\t\tfor (var i = 0, l = this.parsedData.length; i < l; i++) {\n\t\t\t\tbuffer.put(this.parsedData[i], 8);\n\t\t\t}\n\t\t}\n\t};\n\n\tfunction QRCodeModel(typeNumber, errorCorrectLevel) {\n\t\tthis.typeNumber = typeNumber;\n\t\tthis.errorCorrectLevel = errorCorrectLevel;\n\t\tthis.modules = null;\n\t\tthis.moduleCount = 0;\n\t\tthis.dataCache = null;\n\t\tthis.dataList = [];\n\t}\n\n\tQRCodeModel.prototype={addData:function(data){var newData=new QR8bitByte(data);this.dataList.push(newData);this.dataCache=null;},isDark:function(row,col){if(row<0||this.moduleCount<=row||col<0||this.moduleCount<=col){throw new Error(row+\",\"+col);}\n\treturn this.modules[row][col];},getModuleCount:function(){return this.moduleCount;},make:function(){this.makeImpl(false,this.getBestMaskPattern());},makeImpl:function(test,maskPattern){this.moduleCount=this.typeNumber*4+17;this.modules=new Array(this.moduleCount);for(var row=0;row<this.moduleCount;row++){this.modules[row]=new Array(this.moduleCount);for(var col=0;col<this.moduleCount;col++){this.modules[row][col]=null;}}\n\tthis.setupPositionProbePattern(0,0);this.setupPositionProbePattern(this.moduleCount-7,0);this.setupPositionProbePattern(0,this.moduleCount-7);this.setupPositionAdjustPattern();this.setupTimingPattern();this.setupTypeInfo(test,maskPattern);if(this.typeNumber>=7){this.setupTypeNumber(test);}\n\tif(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);}\n\tthis.mapData(this.dataCache,maskPattern);},setupPositionProbePattern:function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if((0<=r&&r<=6&&(c==0||c==6))||(0<=c&&c<=6&&(r==0||r==6))||(2<=r&&r<=4&&2<=c&&c<=4)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}},getBestMaskPattern:function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i;}}\n\treturn pattern;},createMovieClip:function(target_mc,instance_name,depth){var qr_mc=target_mc.createEmptyMovieClip(instance_name,depth);var cs=1;this.make();for(var row=0;row<this.modules.length;row++){var y=row*cs;for(var col=0;col<this.modules[row].length;col++){var x=col*cs;var dark=this.modules[row][col];if(dark){qr_mc.beginFill(0,100);qr_mc.moveTo(x,y);qr_mc.lineTo(x+cs,y);qr_mc.lineTo(x+cs,y+cs);qr_mc.lineTo(x,y+cs);qr_mc.endFill();}}}\n\treturn qr_mc;},setupTimingPattern:function(){for(var r=8;r<this.moduleCount-8;r++){if(this.modules[r][6]!=null){continue;}\n\tthis.modules[r][6]=(r%2==0);}\n\tfor(var c=8;c<this.moduleCount-8;c++){if(this.modules[6][c]!=null){continue;}\n\tthis.modules[6][c]=(c%2==0);}},setupPositionAdjustPattern:function(){var pos=QRUtil.getPatternPosition(this.typeNumber);for(var i=0;i<pos.length;i++){for(var j=0;j<pos.length;j++){var row=pos[i];var col=pos[j];if(this.modules[row][col]!=null){continue;}\n\tfor(var r=-2;r<=2;r++){for(var c=-2;c<=2;c++){if(r==-2||r==2||c==-2||c==2||(r==0&&c==0)){this.modules[row+r][col+c]=true;}else{this.modules[row+r][col+c]=false;}}}}}},setupTypeNumber:function(test){var bits=QRUtil.getBCHTypeNumber(this.typeNumber);for(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;}\n\tfor(var i=0;i<18;i++){var mod=(!test&&((bits>>i)&1)==1);this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod;}},setupTypeInfo:function(test,maskPattern){var data=(this.errorCorrectLevel<<3)|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<6){this.modules[i][8]=mod;}else if(i<8){this.modules[i+1][8]=mod;}else{this.modules[this.moduleCount-15+i][8]=mod;}}\n\tfor(var i=0;i<15;i++){var mod=(!test&&((bits>>i)&1)==1);if(i<8){this.modules[8][this.moduleCount-i-1]=mod;}else if(i<9){this.modules[8][15-i-1+1]=mod;}else{this.modules[8][15-i-1]=mod;}}\n\tthis.modules[this.moduleCount-8][8]=(!test);},mapData:function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex<data.length){dark=(((data[byteIndex]>>>bitIndex)&1)==1);}\n\tvar mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;}\n\tthis.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}}\n\trow+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break;}}}}};QRCodeModel.PAD0=0xEC;QRCodeModel.PAD1=0x11;QRCodeModel.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer();for(var i=0;i<dataList.length;i++){var data=dataList[i];buffer.put(data.mode,4);buffer.put(data.getLength(),QRUtil.getLengthInBits(data.mode,typeNumber));data.write(buffer);}\n\tvar totalDataCount=0;for(var i=0;i<rsBlocks.length;i++){totalDataCount+=rsBlocks[i].dataCount;}\n\tif(buffer.getLengthInBits()>totalDataCount*8){throw new Error(\"code length overflow. (\"\n\t+buffer.getLengthInBits()\n\t+\">\"\n\t+totalDataCount*8\n\t+\")\");}\n\tif(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);}\n\twhile(buffer.getLengthInBits()%8!=0){buffer.putBit(false);}\n\twhile(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;}\n\tbuffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;}\n\tbuffer.put(QRCodeModel.PAD1,8);}\n\treturn QRCodeModel.createBytes(buffer,rsBlocks);};QRCodeModel.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r<rsBlocks.length;r++){var dcCount=rsBlocks[r].dataCount;var ecCount=rsBlocks[r].totalCount-dcCount;maxDcCount=Math.max(maxDcCount,dcCount);maxEcCount=Math.max(maxEcCount,ecCount);dcdata[r]=new Array(dcCount);for(var i=0;i<dcdata[r].length;i++){dcdata[r][i]=0xff&buffer.buffer[i+offset];}\n\toffset+=dcCount;var rsPoly=QRUtil.getErrorCorrectPolynomial(ecCount);var rawPoly=new QRPolynomial(dcdata[r],rsPoly.getLength()-1);var modPoly=rawPoly.mod(rsPoly);ecdata[r]=new Array(rsPoly.getLength()-1);for(var i=0;i<ecdata[r].length;i++){var modIndex=i+modPoly.getLength()-ecdata[r].length;ecdata[r][i]=(modIndex>=0)?modPoly.get(modIndex):0;}}\n\tvar totalCodeCount=0;for(var i=0;i<rsBlocks.length;i++){totalCodeCount+=rsBlocks[i].totalCount;}\n\tvar data=new Array(totalCodeCount);var index=0;for(var i=0;i<maxDcCount;i++){for(var r=0;r<rsBlocks.length;r++){if(i<dcdata[r].length){data[index++]=dcdata[r][i];}}}\n\tfor(var i=0;i<maxEcCount;i++){for(var r=0;r<rsBlocks.length;r++){if(i<ecdata[r].length){data[index++]=ecdata[r][i];}}}\n\treturn data;};var QRMode={MODE_NUMBER:1<<0,MODE_ALPHA_NUM:1<<1,MODE_8BIT_BYTE:1<<2,MODE_KANJI:1<<3};var QRErrorCorrectLevel={L:1,M:0,Q:3,H:2};var QRMaskPattern={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var QRUtil={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]],G15:(1<<10)|(1<<8)|(1<<5)|(1<<4)|(1<<2)|(1<<1)|(1<<0),G18:(1<<12)|(1<<11)|(1<<10)|(1<<9)|(1<<8)|(1<<5)|(1<<2)|(1<<0),G15_MASK:(1<<14)|(1<<12)|(1<<10)|(1<<4)|(1<<1),getBCHTypeInfo:function(data){var d=data<<10;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)>=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));}\n\treturn((data<<10)|d)^QRUtil.G15_MASK;},getBCHTypeNumber:function(data){var d=data<<12;while(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)>=0){d^=(QRUtil.G18<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G18)));}\n\treturn(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;}\n\treturn digit;},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1];},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return(i*j)%2+(i*j)%3==0;case QRMaskPattern.PATTERN110:return((i*j)%2+(i*j)%3)%2==0;case QRMaskPattern.PATTERN111:return((i*j)%3+(i+j)%2)%2==0;default:throw new Error(\"bad maskPattern:\"+maskPattern);}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i<errorCorrectLength;i++){a=a.multiply(new QRPolynomial([1,QRMath.gexp(i)],0));}\n\treturn a;},getLengthInBits:function(mode,type){if(1<=type&&type<10){switch(mode){case QRMode.MODE_NUMBER:return 10;case QRMode.MODE_ALPHA_NUM:return 9;case QRMode.MODE_8BIT_BYTE:return 8;case QRMode.MODE_KANJI:return 8;default:throw new Error(\"mode:\"+mode);}}else if(type<27){switch(mode){case QRMode.MODE_NUMBER:return 12;case QRMode.MODE_ALPHA_NUM:return 11;case QRMode.MODE_8BIT_BYTE:return 16;case QRMode.MODE_KANJI:return 10;default:throw new Error(\"mode:\"+mode);}}else if(type<41){switch(mode){case QRMode.MODE_NUMBER:return 14;case QRMode.MODE_ALPHA_NUM:return 13;case QRMode.MODE_8BIT_BYTE:return 16;case QRMode.MODE_KANJI:return 12;default:throw new Error(\"mode:\"+mode);}}else{throw new Error(\"type:\"+type);}},getLostPoint:function(qrCode){var moduleCount=qrCode.getModuleCount();var lostPoint=0;for(var row=0;row<moduleCount;row++){for(var col=0;col<moduleCount;col++){var sameCount=0;var dark=qrCode.isDark(row,col);for(var r=-1;r<=1;r++){if(row+r<0||moduleCount<=row+r){continue;}\n\tfor(var c=-1;c<=1;c++){if(col+c<0||moduleCount<=col+c){continue;}\n\tif(r==0&&c==0){continue;}\n\tif(dark==qrCode.isDark(row+r,col+c)){sameCount++;}}}\n\tif(sameCount>5){lostPoint+=(3+sameCount-5);}}}\n\tfor(var row=0;row<moduleCount-1;row++){for(var col=0;col<moduleCount-1;col++){var count=0;if(qrCode.isDark(row,col))count++;if(qrCode.isDark(row+1,col))count++;if(qrCode.isDark(row,col+1))count++;if(qrCode.isDark(row+1,col+1))count++;if(count==0||count==4){lostPoint+=3;}}}\n\tfor(var row=0;row<moduleCount;row++){for(var col=0;col<moduleCount-6;col++){if(qrCode.isDark(row,col)&&!qrCode.isDark(row,col+1)&&qrCode.isDark(row,col+2)&&qrCode.isDark(row,col+3)&&qrCode.isDark(row,col+4)&&!qrCode.isDark(row,col+5)&&qrCode.isDark(row,col+6)){lostPoint+=40;}}}\n\tfor(var col=0;col<moduleCount;col++){for(var row=0;row<moduleCount-6;row++){if(qrCode.isDark(row,col)&&!qrCode.isDark(row+1,col)&&qrCode.isDark(row+2,col)&&qrCode.isDark(row+3,col)&&qrCode.isDark(row+4,col)&&!qrCode.isDark(row+5,col)&&qrCode.isDark(row+6,col)){lostPoint+=40;}}}\n\tvar darkCount=0;for(var col=0;col<moduleCount;col++){for(var row=0;row<moduleCount;row++){if(qrCode.isDark(row,col)){darkCount++;}}}\n\tvar ratio=Math.abs(100*darkCount/moduleCount/moduleCount-50)/5;lostPoint+=ratio*10;return lostPoint;}};var QRMath={glog:function(n){if(n<1){throw new Error(\"glog(\"+n+\")\");}\n\treturn QRMath.LOG_TABLE[n];},gexp:function(n){while(n<0){n+=255;}\n\twhile(n>=256){n-=255;}\n\treturn QRMath.EXP_TABLE[n];},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<<i;}\n\tfor(var i=8;i<256;i++){QRMath.EXP_TABLE[i]=QRMath.EXP_TABLE[i-4]^QRMath.EXP_TABLE[i-5]^QRMath.EXP_TABLE[i-6]^QRMath.EXP_TABLE[i-8];}\n\tfor(var i=0;i<255;i++){QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]]=i;}\n\tfunction QRPolynomial(num,shift){if(num.length==undefined){throw new Error(num.length+\"/\"+shift);}\n\tvar offset=0;while(offset<num.length&&num[offset]==0){offset++;}\n\tthis.num=new Array(num.length-offset+shift);for(var i=0;i<num.length-offset;i++){this.num[i]=num[i+offset];}}\n\tQRPolynomial.prototype={get:function(index){return this.num[index];},getLength:function(){return this.num.length;},multiply:function(e){var num=new Array(this.getLength()+e.getLength()-1);for(var i=0;i<this.getLength();i++){for(var j=0;j<e.getLength();j++){num[i+j]^=QRMath.gexp(QRMath.glog(this.get(i))+QRMath.glog(e.get(j)));}}\n\treturn new QRPolynomial(num,0);},mod:function(e){if(this.getLength()-e.getLength()<0){return this;}\n\tvar ratio=QRMath.glog(this.get(0))-QRMath.glog(e.get(0));var num=new Array(this.getLength());for(var i=0;i<this.getLength();i++){num[i]=this.get(i);}\n\tfor(var i=0;i<e.getLength();i++){num[i]^=QRMath.gexp(QRMath.glog(e.get(i))+ratio);}\n\treturn new QRPolynomial(num,0).mod(e);}};function QRRSBlock(totalCount,dataCount){this.totalCount=totalCount;this.dataCount=dataCount;}\n\tQRRSBlock.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],[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]];QRRSBlock.getRSBlocks=function(typeNumber,errorCorrectLevel){var rsBlock=QRRSBlock.getRsBlockTable(typeNumber,errorCorrectLevel);if(rsBlock==undefined){throw new Error(\"bad rs block @ typeNumber:\"+typeNumber+\"/errorCorrectLevel:\"+errorCorrectLevel);}\n\tvar length=rsBlock.length/3;var list=[];for(var i=0;i<length;i++){var count=rsBlock[i*3+0];var totalCount=rsBlock[i*3+1];var dataCount=rsBlock[i*3+2];for(var j=0;j<count;j++){list.push(new QRRSBlock(totalCount,dataCount));}}\n\treturn list;};QRRSBlock.getRsBlockTable=function(typeNumber,errorCorrectLevel){switch(errorCorrectLevel){case QRErrorCorrectLevel.L:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+0];case QRErrorCorrectLevel.M:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+1];case QRErrorCorrectLevel.Q:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+2];case QRErrorCorrectLevel.H:return QRRSBlock.RS_BLOCK_TABLE[(typeNumber-1)*4+3];default:return undefined;}};function QRBitBuffer(){this.buffer=[];this.length=0;}\n\tQRBitBuffer.prototype={get:function(index){var bufIndex=Math.floor(index/8);return((this.buffer[bufIndex]>>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i<length;i++){this.putBit(((num>>>(length-i-1))&1)==1);}},getLengthInBits:function(){return this.length;},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0);}\n\tif(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));}\n\tthis.length++;}};var QRCodeLimitLength=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];\n\t\n\tfunction _isSupportCanvas() {\n\t\treturn typeof CanvasRenderingContext2D != \"undefined\";\n\t}\n\t\n\t// android 2.x doesn't support Data-URI spec\n\tfunction _getAndroid() {\n\t\tvar android = false;\n\t\tvar sAgent = navigator.userAgent;\n\t\t\n\t\tif (/android/i.test(sAgent)) { // android\n\t\t\tandroid = true;\n\t\t\tvar aMat = sAgent.toString().match(/android ([0-9]\\.[0-9])/i);\n\t\t\t\n\t\t\tif (aMat && aMat[1]) {\n\t\t\t\tandroid = parseFloat(aMat[1]);\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn android;\n\t}\n\t\n\tvar svgDrawer = (function() {\n\n\t\tvar Drawing = function (el, htOption) {\n\t\t\tthis._el = el;\n\t\t\tthis._htOption = htOption;\n\t\t};\n\n\t\tDrawing.prototype.draw = function (oQRCode) {\n\t\t\tvar _htOption = this._htOption;\n\t\t\tvar _el = this._el;\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = Math.floor(_htOption.width / nCount);\n\t\t\tvar nHeight = Math.floor(_htOption.height / nCount);\n\n\t\t\tthis.clear();\n\n\t\t\tfunction makeSVG(tag, attrs) {\n\t\t\t\tvar el = document.createElementNS('http://www.w3.org/2000/svg', tag);\n\t\t\t\tfor (var k in attrs)\n\t\t\t\t\tif (attrs.hasOwnProperty(k)) el.setAttribute(k, attrs[k]);\n\t\t\t\treturn el;\n\t\t\t}\n\n\t\t\tvar svg = makeSVG(\"svg\" , {'viewBox': '0 0 ' + String(nCount) + \" \" + String(nCount), 'width': '100%', 'height': '100%', 'fill': _htOption.colorLight});\n\t\t\tsvg.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"xmlns:xlink\", \"http://www.w3.org/1999/xlink\");\n\t\t\t_el.appendChild(svg);\n\n\t\t\tsvg.appendChild(makeSVG(\"rect\", {\"fill\": _htOption.colorLight, \"width\": \"100%\", \"height\": \"100%\"}));\n\t\t\tsvg.appendChild(makeSVG(\"rect\", {\"fill\": _htOption.colorDark, \"width\": \"1\", \"height\": \"1\", \"id\": \"template\"}));\n\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\tif (oQRCode.isDark(row, col)) {\n\t\t\t\t\t\tvar child = makeSVG(\"use\", {\"x\": String(col), \"y\": String(row)});\n\t\t\t\t\t\tchild.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", \"#template\")\n\t\t\t\t\t\tsvg.appendChild(child);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tDrawing.prototype.clear = function () {\n\t\t\twhile (this._el.hasChildNodes())\n\t\t\t\tthis._el.removeChild(this._el.lastChild);\n\t\t};\n\t\treturn Drawing;\n\t})();\n\n\tvar useSVG = document.documentElement.tagName.toLowerCase() === \"svg\";\n\n\t// Drawing in DOM by using Table tag\n\tvar Drawing = useSVG ? svgDrawer : !_isSupportCanvas() ? (function () {\n\t\tvar Drawing = function (el, htOption) {\n\t\t\tthis._el = el;\n\t\t\tthis._htOption = htOption;\n\t\t};\n\t\t\t\n\t\t/**\n\t\t * Draw the QRCode\n\t\t * \n\t\t * @param {QRCode} oQRCode\n\t\t */\n\t\tDrawing.prototype.draw = function (oQRCode) {\n var _htOption = this._htOption;\n var _el = this._el;\n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = Math.floor(_htOption.width / nCount);\n\t\t\tvar nHeight = Math.floor(_htOption.height / nCount);\n\t\t\tvar aHTML = ['<table style=\"border:0;border-collapse:collapse;\">'];\n\t\t\t\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\taHTML.push('<tr>');\n\t\t\t\t\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\taHTML.push('<td style=\"border:0;border-collapse:collapse;padding:0;margin:0;width:' + nWidth + 'px;height:' + nHeight + 'px;background-color:' + (oQRCode.isDark(row, col) ? _htOption.colorDark : _htOption.colorLight) + ';\"></td>');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\taHTML.push('</tr>');\n\t\t\t}\n\t\t\t\n\t\t\taHTML.push('</table>');\n\t\t\t_el.innerHTML = aHTML.join('');\n\t\t\t\n\t\t\t// Fix the margin values as real size.\n\t\t\tvar elTable = _el.childNodes[0];\n\t\t\tvar nLeftMarginTable = (_htOption.width - elTable.offsetWidth) / 2;\n\t\t\tvar nTopMarginTable = (_htOption.height - elTable.offsetHeight) / 2;\n\t\t\t\n\t\t\tif (nLeftMarginTable > 0 && nTopMarginTable > 0) {\n\t\t\t\telTable.style.margin = nTopMarginTable + \"px \" + nLeftMarginTable + \"px\";\t\n\t\t\t}\n\t\t};\n\t\t\n\t\t/**\n\t\t * Clear the QRCode\n\t\t */\n\t\tDrawing.prototype.clear = function () {\n\t\t\tthis._el.innerHTML = '';\n\t\t};\n\t\t\n\t\treturn Drawing;\n\t})() : (function () { // Drawing in Canvas\n\t\tfunction _onMakeImage() {\n\t\t\tthis._elImage.src = this._elCanvas.toDataURL(\"image/png\");\n\t\t\tthis._elImage.style.display = \"block\";\n\t\t\tthis._elCanvas.style.display = \"none\";\t\t\t\n\t\t}\n\t\t\n\t\t// Android 2.1 bug workaround\n\t\t// http://code.google.com/p/android/issues/detail?id=5141\n\t\tif (this._android && this._android <= 2.1) {\n\t \tvar factor = 1 / window.devicePixelRatio;\n\t var drawImage = CanvasRenderingContext2D.prototype.drawImage; \n\t \tCanvasRenderingContext2D.prototype.drawImage = function (image, sx, sy, sw, sh, dx, dy, dw, dh) {\n\t \t\tif ((\"nodeName\" in image) && /img/i.test(image.nodeName)) {\n\t\t \tfor (var i = arguments.length - 1; i >= 1; i--) {\n\t\t \targuments[i] = arguments[i] * factor;\n\t\t \t}\n\t \t\t} else if (typeof dw == \"undefined\") {\n\t \t\t\targuments[1] *= factor;\n\t \t\t\targuments[2] *= factor;\n\t \t\t\targuments[3] *= factor;\n\t \t\t\targuments[4] *= factor;\n\t \t\t}\n\t \t\t\n\t \tdrawImage.apply(this, arguments); \n\t \t};\n\t\t}\n\t\t\n\t\t/**\n\t\t * Check whether the user's browser supports Data URI or not\n\t\t * \n\t\t * @private\n\t\t * @param {Function} fSuccess Occurs if it supports Data URI\n\t\t * @param {Function} fFail Occurs if it doesn't support Data URI\n\t\t */\n\t\tfunction _safeSetDataURI(fSuccess, fFail) {\n var self = this;\n self._fFail = fFail;\n self._fSuccess = fSuccess;\n\n // Check it just once\n if (self._bSupportDataURI === null) {\n var el = document.createElement(\"img\");\n var fOnError = function() {\n self._bSupportDataURI = false;\n\n if (self._fFail) {\n self._fFail.call(self);\n }\n };\n var fOnSuccess = function() {\n self._bSupportDataURI = true;\n\n if (self._fSuccess) {\n self._fSuccess.call(self);\n }\n };\n\n el.onabort = fOnError;\n el.onerror = fOnError;\n el.onload = fOnSuccess;\n el.src = \"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==\"; // the Image contains 1px data.\n return;\n } else if (self._bSupportDataURI === true && self._fSuccess) {\n self._fSuccess.call(self);\n } else if (self._bSupportDataURI === false && self._fFail) {\n self._fFail.call(self);\n }\n\t\t};\n\t\t\n\t\t/**\n\t\t * Drawing QRCode by using canvas\n\t\t * \n\t\t * @constructor\n\t\t * @param {HTMLElement} el\n\t\t * @param {Object} htOption QRCode Options \n\t\t */\n\t\tvar Drawing = function (el, htOption) {\n \t\tthis._bIsPainted = false;\n \t\tthis._android = _getAndroid();\n\t\t\n\t\t\tthis._htOption = htOption;\n\t\t\tthis._elCanvas = document.createElement(\"canvas\");\n\t\t\tthis._elCanvas.width = htOption.width;\n\t\t\tthis._elCanvas.height = htOption.height;\n\t\t\tel.appendChild(this._elCanvas);\n\t\t\tthis._el = el;\n\t\t\tthis._oContext = this._elCanvas.getContext(\"2d\");\n\t\t\tthis._bIsPainted = false;\n\t\t\tthis._elImage = document.createElement(\"img\");\n\t\t\tthis._elImage.alt = \"Scan me!\";\n\t\t\tthis._elImage.style.display = \"none\";\n\t\t\tthis._el.appendChild(this._elImage);\n\t\t\tthis._bSupportDataURI = null;\n\t\t};\n\t\t\t\n\t\t/**\n\t\t * Draw the QRCode\n\t\t * \n\t\t * @param {QRCode} oQRCode \n\t\t */\n\t\tDrawing.prototype.draw = function (oQRCode) {\n var _elImage = this._elImage;\n var _oContext = this._oContext;\n var _htOption = this._htOption;\n \n\t\t\tvar nCount = oQRCode.getModuleCount();\n\t\t\tvar nWidth = _htOption.width / nCount;\n\t\t\tvar nHeight = _htOption.height / nCount;\n\t\t\tvar nRoundedWidth = Math.round(nWidth);\n\t\t\tvar nRoundedHeight = Math.round(nHeight);\n\n\t\t\t_elImage.style.display = \"none\";\n\t\t\tthis.clear();\n\t\t\t\n\t\t\tfor (var row = 0; row < nCount; row++) {\n\t\t\t\tfor (var col = 0; col < nCount; col++) {\n\t\t\t\t\tvar bIsDark = oQRCode.isDark(row, col);\n\t\t\t\t\tvar nLeft = col * nWidth;\n\t\t\t\t\tvar nTop = row * nHeight;\n\t\t\t\t\t_oContext.strokeStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\n\t\t\t\t\t_oContext.lineWidth = 1;\n\t\t\t\t\t_oContext.fillStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\t\t\t\t\t\n\t\t\t\t\t_oContext.fillRect(nLeft, nTop, nWidth, nHeight);\n\t\t\t\t\t\n\t\t\t\t\t// 안티 앨리어싱 방지 처리\n\t\t\t\t\t_oContext.strokeRect(\n\t\t\t\t\t\tMath.floor(nLeft) + 0.5,\n\t\t\t\t\t\tMath.floor(nTop) + 0.5,\n\t\t\t\t\t\tnRoundedWidth,\n\t\t\t\t\t\tnRoundedHeight\n\t\t\t\t\t);\n\t\t\t\t\t\n\t\t\t\t\t_oContext.strokeRect(\n\t\t\t\t\t\tMath.ceil(nLeft) - 0.5,\n\t\t\t\t\t\tMath.ceil(nTop) - 0.5,\n\t\t\t\t\t\tnRoundedWidth,\n\t\t\t\t\t\tnRoundedHeight\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tthis._bIsPainted = true;\n\t\t};\n\t\t\t\n\t\t/**\n\t\t * Make the image from Canvas if the browser supports Data URI.\n\t\t */\n\t\tDrawing.prototype.makeImage = function () {\n\t\t\tif (this._bIsPainted) {\n\t\t\t\t_safeSetDataURI.call(this, _onMakeImage);\n\t\t\t}\n\t\t};\n\t\t\t\n\t\t/**\n\t\t * Return whether the QRCode is painted or not\n\t\t * \n\t\t * @return {Boolean}\n\t\t */\n\t\tDrawing.prototype.isPainted = function () {\n\t\t\treturn this._bIsPainted;\n\t\t};\n\t\t\n\t\t/**\n\t\t * Clear the QRCode\n\t\t */\n\t\tDrawing.prototype.clear = function () {\n\t\t\tthis._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height);\n\t\t\tthis._bIsPainted = false;\n\t\t};\n\t\t\n\t\t/**\n\t\t * @private\n\t\t * @param {Number} nNumber\n\t\t */\n\t\tDrawing.prototype.round = function (nNumber) {\n\t\t\tif (!nNumber) {\n\t\t\t\treturn nNumber;\n\t\t\t}\n\t\t\t\n\t\t\treturn Math.floor(nNumber * 1000) / 1000;\n\t\t};\n\t\t\n\t\treturn Drawing;\n\t})();\n\t\n\t/**\n\t * Get the type by string length\n\t * \n\t * @private\n\t * @param {String} sText\n\t * @param {Number} nCorrectLevel\n\t * @return {Number} type\n\t */\n\tfunction _getTypeNumber(sText, nCorrectLevel) {\t\t\t\n\t\tvar nType = 1;\n\t\tvar length = _getUTF8Length(sText);\n\t\t\n\t\tfor (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n\t\t\tvar nLimit = 0;\n\t\t\t\n\t\t\tswitch (nCorrectLevel) {\n\t\t\t\tcase QRErrorCorrectLevel.L :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][0];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.M :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.Q :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][2];\n\t\t\t\t\tbreak;\n\t\t\t\tcase QRErrorCorrectLevel.H :\n\t\t\t\t\tnLimit = QRCodeLimitLength[i][3];\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t\tif (length <= nLimit) {\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\tnType++;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (nType > QRCodeLimitLength.length) {\n\t\t\tthrow new Error(\"Too long data\");\n\t\t}\n\t\t\n\t\treturn nType;\n\t}\n\n\tfunction _getUTF8Length(sText) {\n\t\tvar replacedText = encodeURI(sText).toString().replace(/\\%[0-9a-fA-F]{2}/g, 'a');\n\t\treturn replacedText.length + (replacedText.length != sText ? 3 : 0);\n\t}\n\t\n\t/**\n\t * @class QRCode\n\t * @constructor\n\t * @example \n\t * new QRCode(document.getElementById(\"test\"), \"http://jindo.dev.naver.com/collie\");\n\t *\n\t * @example\n\t * var oQRCode = new QRCode(\"test\", {\n\t * text : \"http://naver.com\",\n\t * width : 128,\n\t * height : 128\n\t * });\n\t * \n\t * oQRCode.clear(); // Clear the QRCode.\n\t * oQRCode.makeCode(\"http://map.naver.com\"); // Re-create the QRCode.\n\t *\n\t * @param {HTMLElement|String} el target element or 'id' attribute of element.\n\t * @param {Object|String} vOption\n\t * @param {String} vOption.text QRCode link data\n\t * @param {Number} [vOption.width=256]\n\t * @param {Number} [vOption.height=256]\n\t * @param {String} [vOption.colorDark=\"#000000\"]\n\t * @param {String} [vOption.colorLight=\"#ffffff\"]\n\t * @param {QRCode.CorrectLevel} [vOption.correctLevel=QRCode.CorrectLevel.H] [L|M|Q|H] \n\t */\n\tQRCode = function (el, vOption) {\n\t\tthis._htOption = {\n\t\t\twidth : 256, \n\t\t\theight : 256,\n\t\t\ttypeNumber : 4,\n\t\t\tcolorDark : \"#000000\",\n\t\t\tcolorLight : \"#ffffff\",\n\t\t\tcorrectLevel : QRErrorCorrectLevel.H\n\t\t};\n\t\t\n\t\tif (typeof vOption === 'string') {\n\t\t\tvOption\t= {\n\t\t\t\ttext : vOption\n\t\t\t};\n\t\t}\n\t\t\n\t\t// Overwrites options\n\t\tif (vOption) {\n\t\t\tfor (var i in vOption) {\n\t\t\t\tthis._htOption[i] = vOption[i];\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (typeof el == \"string\") {\n\t\t\tel = document.getElementById(el);\n\t\t}\n\n\t\tif (this._htOption.useSVG) {\n\t\t\tDrawing = svgDrawer;\n\t\t}\n\t\t\n\t\tthis._android = _getAndroid();\n\t\tthis._el = el;\n\t\tthis._oQRCode = null;\n\t\tthis._oDrawing = new Drawing(this._el, this._htOption);\n\t\t\n\t\tif (this._htOption.text) {\n\t\t\tthis.makeCode(this._htOption.text);\t\n\t\t}\n\t};\n\t\n\t/**\n\t * Make the QRCode\n\t * \n\t * @param {String} sText link data\n\t */\n\tQRCode.prototype.makeCode = function (sText) {\n\t\tthis._oQRCode = new QRCodeModel(_getTypeNumber(sText, this._htOption.correctLevel), this._htOption.correctLevel);\n\t\tthis._oQRCode.addData(sText);\n\t\tthis._oQRCode.make();\n\t\tthis._el.title = sText;\n\t\tthis._oDrawing.draw(this._oQRCode);\t\t\t\n\t\tthis.makeImage();\n\t};\n\t\n\t/**\n\t * Make the Image from Canvas element\n\t * - It occurs automatically\n\t * - Android below 3 doesn't support Data-URI spec.\n\t * \n\t * @private\n\t */\n\tQRCode.prototype.makeImage = function () {\n\t\tif (typeof this._oDrawing.makeImage == \"function\" && (!this._android || this._android >= 3)) {\n\t\t\tthis._oDrawing.makeImage();\n\t\t}\n\t};\n\t\n\t/**\n\t * Clear the QRCode\n\t */\n\tQRCode.prototype.clear = function () {\n\t\tthis._oDrawing.clear();\n\t};\n\t\n\t/**\n\t * @name QRCode.CorrectLevel\n\t */\n\tQRCode.CorrectLevel = QRErrorCorrectLevel;\n})();\n"]}