From 49e4f1c4f9b06ca575bc96c6ce75ef617dfbf5c7 Mon Sep 17 00:00:00 2001 From: Chris Aughinbaugh Date: Wed, 10 Jun 2026 14:52:33 -0700 Subject: [PATCH] fix: correct ProductType TLV to use installerIconType instead of specificDeviceClass The ProductType TLV was incorrectly encoding the specific device class twice. This fix uses the correct installerIconType field as the second TLV value and rebuilds the bundle. --- build/script.js | 2 +- build/script.js.map | 4 ++-- src/script.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/script.js b/build/script.js index 6ef3d98..a1cec53 100644 --- a/build/script.js +++ b/build/script.js @@ -2944,7 +2944,7 @@ async function generateQRCode(info, size = 256) { false, [ uint16(info.genericDeviceClass << 8 | info.specificDeviceClass), - uint16(info.specificDeviceClass) + uint16(info.installerIconType) ].join("") ); partsAfterChecksum.push(productType); diff --git a/build/script.js.map b/build/script.js.map index 3555e73..6a80785 100644 --- a/build/script.js.map +++ b/build/script.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../node_modules/qrcode-svg/lib/qrcode.js", "../src/script.ts", "../node_modules/@zwave-js/shared/src/uint8array-extras.ts", "../node_modules/@zwave-js/shared/src/Bytes.ts", "../node_modules/@zwave-js/core/src/crypto/shared.ts", "../node_modules/@zwave-js/core/src/crypto/primitives/primitives.browser.ts", "../node_modules/@zwave-js/core/src/crypto/operations.ts", "../node_modules/@zwave-js/core/src/error/ZWaveError.ts", "../node_modules/@zwave-js/core/src/definitions/Protocol.ts", "../node_modules/@zwave-js/core/src/definitions/SecurityClass.ts", "../node_modules/@zwave-js/core/src/dsk/index.ts", "../node_modules/@zwave-js/core/src/qr/definitions.ts", "../node_modules/@zwave-js/core/src/values/Primitive.ts", "../node_modules/@zwave-js/core/src/qr/utils.ts", "../node_modules/@zwave-js/core/src/qr/parse.ts"], - "sourcesContent": ["/**\n * @fileoverview\n * - modified davidshimjs/qrcodejs library for use in node.js\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 * @version 0.9.1 (2016-02-12)\n * @author davidshimjs, papnkukn\n * @see http://www.d-project.com/\n * @see http://jeromeetienne.github.com/jquery-qrcode/\n * @see https://github.com/davidshimjs/qrcodejs\n */\n\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of \n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\nfunction QR8bitByte(data) {\n this.mode = QRMode.MODE_8BIT_BYTE;\n this.data = data;\n this.parsedData = [];\n\n // Added to support UTF-8 Characters\n for (var i = 0, l = this.data.length; i < l; i++) {\n var byteArray = [];\n var code = this.data.charCodeAt(i);\n\n if (code > 0x10000) {\n byteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n byteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n byteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[3] = 0x80 | (code & 0x3F);\n } else if (code > 0x800) {\n byteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n byteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[2] = 0x80 | (code & 0x3F);\n } else if (code > 0x80) {\n byteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n byteArray[1] = 0x80 | (code & 0x3F);\n } else {\n byteArray[0] = code;\n }\n\n this.parsedData.push(byteArray);\n }\n\n this.parsedData = Array.prototype.concat.apply([], this.parsedData);\n\n if (this.parsedData.length != this.data.length) {\n this.parsedData.unshift(191);\n this.parsedData.unshift(187);\n this.parsedData.unshift(239);\n }\n}\n\nQR8bitByte.prototype = {\n getLength: function (buffer) {\n return this.parsedData.length;\n },\n write: function (buffer) {\n for (var i = 0, l = this.parsedData.length; i < l; i++) {\n buffer.put(this.parsedData[i], 8);\n }\n }\n};\n\nfunction QRCodeModel(typeNumber, errorCorrectLevel) {\n this.typeNumber = typeNumber;\n this.errorCorrectLevel = errorCorrectLevel;\n this.modules = null;\n this.moduleCount = 0;\n this.dataCache = null;\n this.dataList = [];\n}\n\nQRCodeModel.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);}\nreturn 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=7){this.setupTypeNumber(test);}\nif(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);}\nthis.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;}}\nreturn 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>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;}\nfor(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;}}\nfor(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;}}\nthis.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>>bitIndex)&1)==1);}\nvar mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;}\nthis.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}}\nrow+=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;itotalDataCount*8){throw new Error(\"code length overflow. (\"\n+buffer.getLengthInBits()\n+\">\"\n+totalDataCount*8\n+\")\");}\nif(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);}\nwhile(buffer.getLengthInBits()%8!=0){buffer.putBit(false);}\nwhile(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;}\nbuffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;}\nbuffer.put(QRCodeModel.PAD1,8);}\nreturn 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=0)?modPoly.get(modIndex):0;}}\nvar totalCodeCount=0;for(var i=0;i=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));}\nreturn((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)));}\nreturn(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;}\nreturn 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;i5){lostPoint+=(3+sameCount-5);}}}\nfor(var row=0;row=256){n-=255;}\nreturn 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<>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i>>(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);}\nif(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));}\nthis.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\n\n/** Constructor */\nfunction QRCode(options) {\n var instance = this;\n \n //Default options\n this.options = {\n padding: 4,\n width: 256, \n height: 256,\n typeNumber: 4,\n color: \"#000000\",\n background: \"#ffffff\",\n ecl: \"M\"\n };\n \n //In case the options is string\n if (typeof options === 'string') {\n options = {\n content: options\n };\n }\n \n //Merge options\n if (options) {\n for (var i in options) {\n this.options[i] = options[i];\n }\n }\n \n if (typeof this.options.content !== 'string') {\n throw new Error(\"Expected 'content' as string!\");\n }\n \n if (this.options.content.length === 0 /* || this.options.content.length > 7089 */) {\n throw new Error(\"Expected 'content' to be non-empty!\");\n }\n \n if (!(this.options.padding >= 0)) {\n throw new Error(\"Expected 'padding' value to be non-negative!\");\n }\n \n if (!(this.options.width > 0) || !(this.options.height > 0)) {\n throw new Error(\"Expected 'width' or 'height' value to be higher than zero!\");\n }\n \n //Gets the error correction level\n function _getErrorCorrectLevel(ecl) {\n switch (ecl) {\n case \"L\":\n return QRErrorCorrectLevel.L;\n \n case \"M\":\n return QRErrorCorrectLevel.M;\n \n case \"Q\":\n return QRErrorCorrectLevel.Q;\n \n case \"H\":\n return QRErrorCorrectLevel.H;\n \n default:\n throw new Error(\"Unknwon error correction level: \" + ecl);\n }\n }\n \n //Get type number\n function _getTypeNumber(content, ecl) { \n var length = _getUTF8Length(content);\n \n var type = 1;\n var limit = 0;\n for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n var table = QRCodeLimitLength[i];\n if (!table) {\n throw new Error(\"Content too long: expected \" + limit + \" but got \" + length);\n }\n \n switch (ecl) {\n case \"L\":\n limit = table[0];\n break;\n \n case \"M\":\n limit = table[1];\n break;\n \n case \"Q\":\n limit = table[2];\n break;\n \n case \"H\":\n limit = table[3];\n break;\n \n default:\n throw new Error(\"Unknwon error correction level: \" + ecl);\n }\n \n if (length <= limit) {\n break;\n }\n \n type++;\n }\n \n if (type > QRCodeLimitLength.length) {\n throw new Error(\"Content too long\");\n }\n \n return type;\n }\n\n //Gets text length\n function _getUTF8Length(content) {\n var result = encodeURI(content).toString().replace(/\\%[0-9a-fA-F]{2}/g, 'a');\n return result.length + (result.length != content ? 3 : 0);\n }\n \n //Generate QR Code matrix\n var content = this.options.content;\n var type = _getTypeNumber(content, this.options.ecl);\n var ecl = _getErrorCorrectLevel(this.options.ecl);\n this.qrcode = new QRCodeModel(type, ecl);\n this.qrcode.addData(content);\n this.qrcode.make();\n}\n\n/** Generates QR Code as SVG image */\nQRCode.prototype.svg = function(opt) {\n var options = this.options || { };\n var modules = this.qrcode.modules;\n \n if (typeof opt == \"undefined\") {\n opt = { container: options.container || \"svg\" };\n }\n \n //Apply new lines and indents in SVG?\n var pretty = typeof options.pretty != \"undefined\" ? !!options.pretty : true;\n \n var indent = pretty ? ' ' : '';\n var EOL = pretty ? '\\r\\n' : '';\n var width = options.width;\n var height = options.height;\n var length = modules.length;\n var xsize = width / (length + 2 * options.padding);\n var ysize = height / (length + 2 * options.padding);\n \n //Join (union, merge) rectangles into one shape?\n var join = typeof options.join != \"undefined\" ? !!options.join : false;\n \n //Swap the X and Y modules, pull request #2\n var swap = typeof options.swap != \"undefined\" ? !!options.swap : false;\n \n //Apply declaration in SVG?\n var xmlDeclaration = typeof options.xmlDeclaration != \"undefined\" ? !!options.xmlDeclaration : true;\n \n //Populate with predefined shape instead of \"rect\" elements, thanks to @kkocdko\n var predefined = typeof options.predefined != \"undefined\" ? !!options.predefined : false;\n var defs = predefined ? indent + '' + EOL : '';\n \n //Background rectangle\n var bgrect = indent + '' + EOL;\n \n //Rectangles representing modules\n var modrect = '';\n var pathdata = '';\n\n for (var y = 0; y < length; y++) {\n for (var x = 0; x < length; x++) {\n var module = modules[x][y];\n if (module) {\n \n var px = (x * xsize + options.padding * xsize);\n var py = (y * ysize + options.padding * ysize);\n \n //Some users have had issues with the QR Code, thanks to @danioso for the solution\n if (swap) {\n var t = px;\n px = py;\n py = t;\n }\n \n if (join) {\n //Module as a part of svg path data, thanks to @danioso\n var w = xsize + px\n var h = ysize + py\n\n px = (Number.isInteger(px))? Number(px): px.toFixed(2);\n py = (Number.isInteger(py))? Number(py): py.toFixed(2);\n w = (Number.isInteger(w))? Number(w): w.toFixed(2);\n h = (Number.isInteger(h))? Number(h): h.toFixed(2);\n\n pathdata += ('M' + px + ',' + py + ' V' + h + ' H' + w + ' V' + py + ' H' + px + ' Z ');\n }\n else if (predefined) {\n //Module as a predefined shape, thanks to @kkocdko\n modrect += indent + '' + EOL;\n }\n else {\n //Module as rectangle element\n modrect += indent + '' + EOL;\n }\n }\n }\n }\n \n if (join) {\n modrect = indent + '';\n }\n\n var svg = \"\";\n switch (opt.container) {\n //Wrapped in SVG document\n case \"svg\":\n if (xmlDeclaration) {\n svg += '' + EOL;\n }\n svg += '' + EOL;\n svg += defs + bgrect + modrect;\n svg += '';\n break;\n \n //Viewbox for responsive use in a browser, thanks to @danioso\n case \"svg-viewbox\":\n if (xmlDeclaration) {\n svg += '' + EOL;\n }\n svg += '' + EOL;\n svg += defs + bgrect + modrect;\n svg += '';\n break;\n \n \n //Wrapped in group element \n case \"g\":\n svg += '' + EOL;\n svg += defs + bgrect + modrect;\n svg += '';\n break;\n \n //Without a container\n default:\n svg += (defs + bgrect + modrect).replace(/^\\s+/, \"\"); //Clear indents on each line\n break;\n }\n \n return svg;\n};\n\n/** Writes QR Code image to a file */\nQRCode.prototype.save = function(file, callback) {\n var data = this.svg();\n if (typeof callback != \"function\") {\n callback = function(error, result) { };\n }\n try {\n //Package 'fs' is available in node.js but not in a web browser\n var fs = require('fs');\n fs.writeFile(file, data, callback);\n }\n catch (e) {\n //Sorry, 'fs' is not available\n callback(e);\n }\n};\n\nif (typeof module != \"undefined\") {\n module.exports = QRCode;\n}\n", "import QRCode from \"qrcode-svg\";\nimport {\n QRCodeVersion,\n type QRProvisioningInformation as QRProvisioningInformationFull,\n ProvisioningInformationType,\n parseQRCodeString,\n} from \"@zwave-js/core\";\nimport { isValidDSK } from \"@zwave-js/core/dsk\";\nimport { SecurityClass, Protocols } from \"@zwave-js/core/definitions\";\n\nconst Z = \"Z\".charCodeAt(0);\n\n/** Writes a number between 0 and 99 (2 decimal digits) */\nfunction level(val: number): string {\n if (val < 0 || val > 99) throw new Error(\"Value must be between 0 and 99\");\n return val.toString(10).padStart(2, \"0\");\n}\n\n/** Writes a byte (3 decimal digits) */\nfunction uint8(val: number): string {\n if (val < 0 || val > 255) throw new Error(\"Value must be between 0 and 255\");\n return val.toString(10).padStart(3, \"0\");\n}\n\n/** Writes a 2-byte value (5 decimal digits) */\nfunction uint16(val: number): string {\n if (val < 0 || val > 65535)\n throw new Error(\"Value must be between 0 and 65535\");\n return val.toString(10).padStart(5, \"0\");\n}\n\nfunction encodeTLV(\n type: ProvisioningInformationType,\n critical: boolean,\n data: string\n): string {\n const typeCritical = (type << 1) | (critical ? 1 : 0);\n return `${level(typeCritical)}${level(data.length)}${data}`;\n}\n\n/** Serializes a numeric array with a given maximum into a bit mask */\nfunction encodeBitMask(\n values: readonly number[],\n maxValue: number = Math.max(...values),\n startValue: number = 1\n): number {\n let ret = 0;\n for (let val = startValue; val <= maxValue; val++) {\n if (!values.includes(val)) continue;\n ret |= 2 ** (val - startValue);\n }\n return ret;\n}\n\nfunction dskFromString(dsk: string): number[] {\n if (!isValidDSK(dsk)) {\n throw new Error(\n `The DSK must be in the form \"aaaaa-bbbbb-ccccc-ddddd-eeeee-fffff-11111-22222\"`\n );\n }\n\n return dsk.split(\"-\").map((part) => parseInt(part, 10));\n}\n\nfunction hexToBytes(hex: string): number[] {\n let bytes: number[] = [];\n for (let c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.slice(c, c + 2), 16));\n return bytes;\n}\n\nexport type QRProvisioningInformation = Omit<\n QRProvisioningInformationFull,\n \"requestedSecurityClasses\"\n>;\n\nexport async function generateQRCode(\n info: QRProvisioningInformation,\n size: number = 256\n): Promise<{ text: string; svg: string }> {\n const partsAfterChecksum: string[] = [];\n\n const securityClasses = uint8(\n encodeBitMask(\n info.securityClasses,\n undefined,\n SecurityClass.S2_Unauthenticated\n )\n );\n partsAfterChecksum.push(securityClasses);\n\n const dsk = dskFromString(info.dsk).map((part) => uint16(part));\n partsAfterChecksum.push(...dsk);\n\n const productType = encodeTLV(\n ProvisioningInformationType.ProductType,\n false,\n [\n uint16((info.genericDeviceClass << 8) | info.specificDeviceClass),\n uint16(info.specificDeviceClass),\n ].join(\"\")\n );\n partsAfterChecksum.push(productType);\n\n const applicationVersion = info.applicationVersion\n .split(\".\", 2)\n .map((part) => parseInt(part, 10));\n const productId = encodeTLV(\n ProvisioningInformationType.ProductId,\n false,\n [\n uint16(info.manufacturerId),\n uint16(info.productType),\n uint16(info.productId),\n uint16((applicationVersion[0] << 8) | applicationVersion[1]),\n ].join(\"\")\n );\n partsAfterChecksum.push(productId);\n\n if (info.maxInclusionRequestInterval !== undefined) {\n const maxInclusionRequestInterval = encodeTLV(\n ProvisioningInformationType.MaxInclusionRequestInterval,\n false,\n uint16(info.maxInclusionRequestInterval)\n );\n partsAfterChecksum.push(maxInclusionRequestInterval);\n }\n\n if (info.uuid !== undefined) {\n const bytes = hexToBytes(info.uuid);\n const words: number[] = [];\n for (let i = 0; i < bytes.length; i += 2) {\n // TODO: Check if this is correct or if we need to reverse the bytes\n words.push((bytes[i] << 8) | bytes[i + 1]);\n }\n const uuid = encodeTLV(\n ProvisioningInformationType.UUID16,\n false,\n words.map((w) => uint16(w)).join(\"\")\n );\n partsAfterChecksum.push(uuid);\n }\n\n if (info.supportedProtocols !== undefined) {\n const supportedProtocols = encodeTLV(\n ProvisioningInformationType.SupportedProtocols,\n false,\n level(encodeBitMask(info.supportedProtocols, undefined, Protocols.ZWave))\n );\n partsAfterChecksum.push(supportedProtocols);\n }\n\n // Other TLV types are not supported yet\n\n // Calculate the checksum, first 16 bits of the SHA1 of the rest\n const textAfterChecksum = partsAfterChecksum.join(\"\");\n const checksumData = new TextEncoder().encode(textAfterChecksum);\n const checksumBuffer = Array.from(\n new Uint8Array(await window.crypto.subtle.digest(\"SHA-1\", checksumData))\n );\n const checksum = (checksumBuffer[0] << 8) | checksumBuffer[1];\n\n const text = `${level(Z)}${level(info.version)}${uint16(\n checksum\n )}${textAfterChecksum}`;\n const svg = new QRCode({\n content: text,\n container: \"none\",\n xmlDeclaration: false,\n width: size,\n height: size,\n }).svg();\n\n return { text, svg };\n}\n\nconst chkS2AccessControl = document.getElementById(\n \"security-class_s2-access\"\n) as HTMLInputElement;\nconst chkS2Authenticated = document.getElementById(\n \"security-class_s2-authenticated\"\n) as HTMLInputElement;\nconst chkS2Unauthenticated = document.getElementById(\n \"security-class_s2-unauthenticated\"\n) as HTMLInputElement;\nconst chkS0 = document.getElementById(\"security-class_s0\") as HTMLInputElement;\n\nconst chkProtocol = document.getElementById(\"protocol\") as HTMLInputElement;\nconst chkProtocolZWave = document.getElementById(\n \"protocol_zwave\"\n) as HTMLInputElement;\nconst chkProtocolZWaveLR = document.getElementById(\n \"protocol_zwlr\"\n) as HTMLInputElement;\n\nconst txtDSK = document.getElementById(\"dsk\") as HTMLInputElement;\n\nconst txtDeviceClassGeneric = document.getElementById(\n \"device-class_generic\"\n) as HTMLInputElement;\nconst txtDeviceClassSpecific = document.getElementById(\n \"device-class_specific\"\n) as HTMLInputElement;\nconst txtDeviceClassIcon = document.getElementById(\n \"device-class_icon\"\n) as HTMLInputElement;\nconst lblDeviceClassGenericHex = document.getElementById(\n \"device-class_generic_hex\"\n) as HTMLSpanElement;\nconst lblDeviceClassSpecificHex = document.getElementById(\n \"device-class_specific_hex\"\n) as HTMLSpanElement;\nconst lblDeviceClassIconHex = document.getElementById(\n \"device-class_icon_hex\"\n) as HTMLSpanElement;\n\nconst txtManufacturerId = document.getElementById(\n \"manufacturer-id\"\n) as HTMLInputElement;\nconst txtProductType = document.getElementById(\n \"product-type\"\n) as HTMLInputElement;\nconst txtProductId = document.getElementById(\"product-id\") as HTMLInputElement;\nconst txtVersionMajor = document.getElementById(\n \"version-major\"\n) as HTMLInputElement;\nconst txtVersionMinor = document.getElementById(\n \"version-minor\"\n) as HTMLInputElement;\nconst lblManufacturerIdHex = document.getElementById(\n \"manufacturer-id_hex\"\n) as HTMLSpanElement;\nconst lblProductTypeHex = document.getElementById(\n \"product-type_hex\"\n) as HTMLSpanElement;\nconst lblProductIdHex = document.getElementById(\n \"product-id_hex\"\n) as HTMLSpanElement;\n\nconst lblErrorMessage = document.getElementById(\n \"error-message\"\n) as HTMLDivElement;\n\nconst btnGenerate = document.getElementById(\"generate\") as HTMLButtonElement;\nconst btnParse = document.getElementById(\"parse\") as HTMLButtonElement;\n\nconst lblQRText = document.getElementById(\n \"qr-code-text\"\n) as HTMLTextAreaElement;\nconst svgQRCode = document.getElementById(\"qr-code\")!;\n\nfunction parseDecimal(elem: HTMLInputElement): number | undefined {\n const value = elem.value.trim();\n if (/^[0-9]+$/.test(value)) {\n return parseInt(value, 10);\n }\n return undefined;\n}\n\nfunction parseHexOrDecimal(elem: HTMLInputElement): number | undefined {\n const value = elem.value.trim();\n if (/^[0-9]+$/.test(value)) {\n return parseInt(value, 10);\n } else if (/^(0x)?[0-9a-fA-F]+$/.test(value)) {\n if (value.startsWith(\"0x\")) {\n return parseInt(value.slice(2), 16);\n } else {\n return parseInt(value, 16);\n }\n }\n return undefined;\n}\n\nfunction onProtocolToggled() {\n chkProtocolZWave.disabled = !chkProtocol.checked;\n chkProtocolZWaveLR.disabled = !chkProtocol.checked;\n update();\n}\n\nfunction onTextboxChangedHex(txt: HTMLInputElement, lbl: HTMLSpanElement) {\n let value = parseHexOrDecimal(txt);\n const min = parseInt(txt.min);\n const max = parseInt(txt.max);\n\n if (value === undefined) {\n lbl.innerText = \"(invalid)\";\n } else {\n value = Math.min(max, Math.max(min, value));\n lbl.innerText = \"0x\" + value.toString(16).padStart(4, \"0\");\n }\n}\n\nfunction onTextboxBlurHex(txt: HTMLInputElement, lbl: HTMLSpanElement) {\n let value = parseHexOrDecimal(txt);\n const min = parseInt(txt.min);\n const max = parseInt(txt.max);\n if (value === undefined) {\n txt.value = txt.min;\n lbl.innerText = \"0x\" + parseInt(txt.min).toString(16).padStart(4, \"0\");\n } else {\n value = Math.min(max, Math.max(min, value));\n // Format the value as decimal\n txt.value = value.toString(10);\n lbl.innerText = \"0x\" + value.toString(16).padStart(4, \"0\");\n update();\n }\n}\n\nfunction onTextboxBlurDecimal(txt: HTMLInputElement) {\n let value = parseDecimal(txt);\n const min = parseInt(txt.min);\n const max = parseInt(txt.max);\n if (value === undefined) {\n txt.value = txt.min;\n } else {\n value = Math.min(max, Math.max(min, value));\n txt.value = value.toString(10);\n\n update();\n }\n}\n\nfunction tryParse(): QRProvisioningInformation | undefined {\n const securityClasses: SecurityClass[] = [];\n if (chkS2AccessControl.checked)\n securityClasses.push(SecurityClass.S2_AccessControl);\n if (chkS2Authenticated.checked)\n securityClasses.push(SecurityClass.S2_Authenticated);\n if (chkS2Unauthenticated.checked)\n securityClasses.push(SecurityClass.S2_Unauthenticated);\n if (chkS0.checked) securityClasses.push(SecurityClass.S0_Legacy);\n\n let supportedProtocols: Protocols[] | undefined;\n if (chkProtocol.checked) {\n supportedProtocols = [];\n if (chkProtocolZWave.checked) supportedProtocols.push(Protocols.ZWave);\n if (chkProtocolZWaveLR.checked)\n supportedProtocols.push(Protocols.ZWaveLongRange);\n }\n\n const dsk = txtDSK.value.trim();\n if (!isValidDSK(dsk)) {\n lblErrorMessage.innerText =\n \"The DSK is not valid. It must be in the form 'xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx' with each block between 0 and 65535.\";\n return;\n }\n\n const genericDeviceClass = parseHexOrDecimal(txtDeviceClassGeneric);\n if (genericDeviceClass === undefined) {\n lblErrorMessage.innerText = \"The generic device class must be a number\";\n return;\n }\n const specificDeviceClass = parseHexOrDecimal(txtDeviceClassSpecific);\n if (specificDeviceClass === undefined) {\n lblErrorMessage.innerText = \"The specific device class must be a number\";\n return;\n }\n const installerIconType = parseHexOrDecimal(txtDeviceClassIcon);\n if (installerIconType === undefined) {\n lblErrorMessage.innerText = \"The installer icon type must be a number\";\n return;\n }\n\n const manufacturerId = parseHexOrDecimal(txtManufacturerId);\n if (manufacturerId === undefined) {\n lblErrorMessage.innerText = \"The manufacturer ID must be a number\";\n return;\n }\n const productType = parseHexOrDecimal(txtProductType);\n if (productType === undefined) {\n lblErrorMessage.innerText = \"The product type must be a number\";\n return;\n }\n const productId = parseHexOrDecimal(txtProductId);\n if (productId === undefined) {\n lblErrorMessage.innerText = \"The product ID must be a number\";\n return;\n }\n\n const versionMajor = parseDecimal(txtVersionMajor);\n if (versionMajor === undefined) {\n lblErrorMessage.innerText = \"The major version must be a number\";\n return;\n }\n const versionMinor = parseDecimal(txtVersionMinor);\n if (versionMinor === undefined) {\n lblErrorMessage.innerText = \"The minor version must be a number\";\n return;\n }\n const applicationVersion = `${versionMajor}.${versionMinor}`;\n\n const info: QRProvisioningInformation = {\n version: QRCodeVersion.SmartStart,\n securityClasses,\n supportedProtocols,\n dsk,\n genericDeviceClass,\n specificDeviceClass,\n manufacturerId,\n productType,\n productId,\n installerIconType,\n applicationVersion,\n };\n\n return info;\n}\n\nasync function update() {\n const info = tryParse();\n if (!info) {\n btnGenerate.disabled = true;\n return;\n } else {\n btnGenerate.disabled = false;\n }\n\n const { text, svg } = await generateQRCode(\n info,\n svgQRCode.clientWidth || svgQRCode.clientHeight\n );\n\n lblQRText.value = text;\n svgQRCode.innerHTML = svg;\n}\n\nasync function parseQR() {\n let qr: QRProvisioningInformation;\n try {\n qr = await parseQRCodeString(lblQRText.value);\n } catch (e) {\n lblErrorMessage.innerText = e.message;\n return;\n }\n \n chkS2AccessControl.checked =\n qr.securityClasses.includes(SecurityClass.S2_AccessControl);\n chkS2Authenticated.checked =\n qr.securityClasses.includes(SecurityClass.S2_Authenticated);\n chkS2Unauthenticated.checked =\n qr.securityClasses.includes(SecurityClass.S2_Unauthenticated);\n chkS0.checked = qr.securityClasses.includes(SecurityClass.S0_Legacy);\n chkProtocol.checked = qr.supportedProtocols !== undefined;\n chkProtocolZWave.checked =\n qr.supportedProtocols?.includes(Protocols.ZWave) ?? false;\n chkProtocolZWaveLR.checked =\n qr.supportedProtocols?.includes(Protocols.ZWaveLongRange) ?? false;\n txtDSK.value = qr.dsk;\n txtDeviceClassGeneric.value = qr.genericDeviceClass.toString(10);\n lblDeviceClassGenericHex.innerText =\n \"0x\" + qr.genericDeviceClass.toString(16).padStart(4, \"0\");\n txtDeviceClassSpecific.value = qr.specificDeviceClass.toString(10);\n lblDeviceClassSpecificHex.innerText =\n \"0x\" + qr.specificDeviceClass.toString(16).padStart(4, \"0\");\n txtDeviceClassIcon.value = qr.installerIconType.toString(10);\n lblDeviceClassIconHex.innerText =\n \"0x\" + qr.installerIconType.toString(16).padStart(4, \"0\");\n txtManufacturerId.value = qr.manufacturerId.toString(10);\n lblManufacturerIdHex.innerText =\n \"0x\" + qr.manufacturerId.toString(16).padStart(4, \"0\");\n txtProductType.value = qr.productType.toString(10);\n lblProductTypeHex.innerText =\n \"0x\" + qr.productType.toString(16).padStart(4, \"0\");\n txtProductId.value = qr.productId.toString(10);\n lblProductIdHex.innerText =\n \"0x\" + qr.productId.toString(16).padStart(4, \"0\");\n txtVersionMajor.value = qr.applicationVersion.split(\".\")[0];\n txtVersionMinor.value = qr.applicationVersion.split(\".\")[1];\n}\n\n// Update when the checkboxes are toggled\nfor (const chk of [\n chkS0,\n chkS2AccessControl,\n chkS2Authenticated,\n chkS2Unauthenticated,\n chkProtocolZWave,\n chkProtocolZWaveLR,\n]) {\n chk.addEventListener(\"change\", update);\n}\n\n// Update when the supported protocols are enabled or disabled\nchkProtocol.addEventListener(\"change\", onProtocolToggled);\n\n// Update the QR code and helper labels when a hexadecimal textbox is changed\nfor (const [txt, lbl] of [\n [txtDeviceClassGeneric, lblDeviceClassGenericHex],\n [txtDeviceClassSpecific, lblDeviceClassSpecificHex],\n [txtDeviceClassIcon, lblDeviceClassIconHex],\n [txtManufacturerId, lblManufacturerIdHex],\n [txtProductType, lblProductTypeHex],\n [txtProductId, lblProductIdHex],\n] as const) {\n txt.addEventListener(\"input\", () => onTextboxChangedHex(txt, lbl));\n txt.addEventListener(\"blur\", () => onTextboxBlurHex(txt, lbl));\n}\n\n// Update the QR code when a decimal textbox is changed and left\nfor (const txt of [txtVersionMajor, txtVersionMinor]) {\n txt.addEventListener(\"blur\", () => onTextboxBlurDecimal(txt));\n}\n\ntxtDSK.onblur = update;\n\nbtnGenerate.onclick = update;\nbtnParse.onclick = parseQR;", null, null, null, null, null, null, null, null, null, null, null, null, null], - "mappings": "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AAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,IAAG,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,IAAG,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,IAAG,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,E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", + "sourcesContent": ["/**\n * @fileoverview\n * - modified davidshimjs/qrcodejs library for use in node.js\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 * @version 0.9.1 (2016-02-12)\n * @author davidshimjs, papnkukn\n * @see http://www.d-project.com/\n * @see http://jeromeetienne.github.com/jquery-qrcode/\n * @see https://github.com/davidshimjs/qrcodejs\n */\n\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of \n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\nfunction QR8bitByte(data) {\n this.mode = QRMode.MODE_8BIT_BYTE;\n this.data = data;\n this.parsedData = [];\n\n // Added to support UTF-8 Characters\n for (var i = 0, l = this.data.length; i < l; i++) {\n var byteArray = [];\n var code = this.data.charCodeAt(i);\n\n if (code > 0x10000) {\n byteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n byteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n byteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[3] = 0x80 | (code & 0x3F);\n } else if (code > 0x800) {\n byteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n byteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[2] = 0x80 | (code & 0x3F);\n } else if (code > 0x80) {\n byteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n byteArray[1] = 0x80 | (code & 0x3F);\n } else {\n byteArray[0] = code;\n }\n\n this.parsedData.push(byteArray);\n }\n\n this.parsedData = Array.prototype.concat.apply([], this.parsedData);\n\n if (this.parsedData.length != this.data.length) {\n this.parsedData.unshift(191);\n this.parsedData.unshift(187);\n this.parsedData.unshift(239);\n }\n}\n\nQR8bitByte.prototype = {\n getLength: function (buffer) {\n return this.parsedData.length;\n },\n write: function (buffer) {\n for (var i = 0, l = this.parsedData.length; i < l; i++) {\n buffer.put(this.parsedData[i], 8);\n }\n }\n};\n\nfunction QRCodeModel(typeNumber, errorCorrectLevel) {\n this.typeNumber = typeNumber;\n this.errorCorrectLevel = errorCorrectLevel;\n this.modules = null;\n this.moduleCount = 0;\n this.dataCache = null;\n this.dataList = [];\n}\n\nQRCodeModel.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);}\nreturn 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=7){this.setupTypeNumber(test);}\nif(this.dataCache==null){this.dataCache=QRCodeModel.createData(this.typeNumber,this.errorCorrectLevel,this.dataList);}\nthis.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;}}\nreturn 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>i)&1)==1);this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod;}\nfor(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;}}\nfor(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;}}\nthis.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>>bitIndex)&1)==1);}\nvar mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark;}\nthis.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7;}}}\nrow+=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;itotalDataCount*8){throw new Error(\"code length overflow. (\"\n+buffer.getLengthInBits()\n+\">\"\n+totalDataCount*8\n+\")\");}\nif(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4);}\nwhile(buffer.getLengthInBits()%8!=0){buffer.putBit(false);}\nwhile(true){if(buffer.getLengthInBits()>=totalDataCount*8){break;}\nbuffer.put(QRCodeModel.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break;}\nbuffer.put(QRCodeModel.PAD1,8);}\nreturn 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=0)?modPoly.get(modIndex):0;}}\nvar totalCodeCount=0;for(var i=0;i=0){d^=(QRUtil.G15<<(QRUtil.getBCHDigit(d)-QRUtil.getBCHDigit(QRUtil.G15)));}\nreturn((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)));}\nreturn(data<<12)|d;},getBCHDigit:function(data){var digit=0;while(data!=0){digit++;data>>>=1;}\nreturn 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;i5){lostPoint+=(3+sameCount-5);}}}\nfor(var row=0;row=256){n-=255;}\nreturn 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<>>(7-index%8))&1)==1;},put:function(num,length){for(var i=0;i>>(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);}\nif(bit){this.buffer[bufIndex]|=(0x80>>>(this.length%8));}\nthis.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\n\n/** Constructor */\nfunction QRCode(options) {\n var instance = this;\n \n //Default options\n this.options = {\n padding: 4,\n width: 256, \n height: 256,\n typeNumber: 4,\n color: \"#000000\",\n background: \"#ffffff\",\n ecl: \"M\"\n };\n \n //In case the options is string\n if (typeof options === 'string') {\n options = {\n content: options\n };\n }\n \n //Merge options\n if (options) {\n for (var i in options) {\n this.options[i] = options[i];\n }\n }\n \n if (typeof this.options.content !== 'string') {\n throw new Error(\"Expected 'content' as string!\");\n }\n \n if (this.options.content.length === 0 /* || this.options.content.length > 7089 */) {\n throw new Error(\"Expected 'content' to be non-empty!\");\n }\n \n if (!(this.options.padding >= 0)) {\n throw new Error(\"Expected 'padding' value to be non-negative!\");\n }\n \n if (!(this.options.width > 0) || !(this.options.height > 0)) {\n throw new Error(\"Expected 'width' or 'height' value to be higher than zero!\");\n }\n \n //Gets the error correction level\n function _getErrorCorrectLevel(ecl) {\n switch (ecl) {\n case \"L\":\n return QRErrorCorrectLevel.L;\n \n case \"M\":\n return QRErrorCorrectLevel.M;\n \n case \"Q\":\n return QRErrorCorrectLevel.Q;\n \n case \"H\":\n return QRErrorCorrectLevel.H;\n \n default:\n throw new Error(\"Unknwon error correction level: \" + ecl);\n }\n }\n \n //Get type number\n function _getTypeNumber(content, ecl) { \n var length = _getUTF8Length(content);\n \n var type = 1;\n var limit = 0;\n for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n var table = QRCodeLimitLength[i];\n if (!table) {\n throw new Error(\"Content too long: expected \" + limit + \" but got \" + length);\n }\n \n switch (ecl) {\n case \"L\":\n limit = table[0];\n break;\n \n case \"M\":\n limit = table[1];\n break;\n \n case \"Q\":\n limit = table[2];\n break;\n \n case \"H\":\n limit = table[3];\n break;\n \n default:\n throw new Error(\"Unknwon error correction level: \" + ecl);\n }\n \n if (length <= limit) {\n break;\n }\n \n type++;\n }\n \n if (type > QRCodeLimitLength.length) {\n throw new Error(\"Content too long\");\n }\n \n return type;\n }\n\n //Gets text length\n function _getUTF8Length(content) {\n var result = encodeURI(content).toString().replace(/\\%[0-9a-fA-F]{2}/g, 'a');\n return result.length + (result.length != content ? 3 : 0);\n }\n \n //Generate QR Code matrix\n var content = this.options.content;\n var type = _getTypeNumber(content, this.options.ecl);\n var ecl = _getErrorCorrectLevel(this.options.ecl);\n this.qrcode = new QRCodeModel(type, ecl);\n this.qrcode.addData(content);\n this.qrcode.make();\n}\n\n/** Generates QR Code as SVG image */\nQRCode.prototype.svg = function(opt) {\n var options = this.options || { };\n var modules = this.qrcode.modules;\n \n if (typeof opt == \"undefined\") {\n opt = { container: options.container || \"svg\" };\n }\n \n //Apply new lines and indents in SVG?\n var pretty = typeof options.pretty != \"undefined\" ? !!options.pretty : true;\n \n var indent = pretty ? ' ' : '';\n var EOL = pretty ? '\\r\\n' : '';\n var width = options.width;\n var height = options.height;\n var length = modules.length;\n var xsize = width / (length + 2 * options.padding);\n var ysize = height / (length + 2 * options.padding);\n \n //Join (union, merge) rectangles into one shape?\n var join = typeof options.join != \"undefined\" ? !!options.join : false;\n \n //Swap the X and Y modules, pull request #2\n var swap = typeof options.swap != \"undefined\" ? !!options.swap : false;\n \n //Apply declaration in SVG?\n var xmlDeclaration = typeof options.xmlDeclaration != \"undefined\" ? !!options.xmlDeclaration : true;\n \n //Populate with predefined shape instead of \"rect\" elements, thanks to @kkocdko\n var predefined = typeof options.predefined != \"undefined\" ? !!options.predefined : false;\n var defs = predefined ? indent + '' + EOL : '';\n \n //Background rectangle\n var bgrect = indent + '' + EOL;\n \n //Rectangles representing modules\n var modrect = '';\n var pathdata = '';\n\n for (var y = 0; y < length; y++) {\n for (var x = 0; x < length; x++) {\n var module = modules[x][y];\n if (module) {\n \n var px = (x * xsize + options.padding * xsize);\n var py = (y * ysize + options.padding * ysize);\n \n //Some users have had issues with the QR Code, thanks to @danioso for the solution\n if (swap) {\n var t = px;\n px = py;\n py = t;\n }\n \n if (join) {\n //Module as a part of svg path data, thanks to @danioso\n var w = xsize + px\n var h = ysize + py\n\n px = (Number.isInteger(px))? Number(px): px.toFixed(2);\n py = (Number.isInteger(py))? Number(py): py.toFixed(2);\n w = (Number.isInteger(w))? Number(w): w.toFixed(2);\n h = (Number.isInteger(h))? Number(h): h.toFixed(2);\n\n pathdata += ('M' + px + ',' + py + ' V' + h + ' H' + w + ' V' + py + ' H' + px + ' Z ');\n }\n else if (predefined) {\n //Module as a predefined shape, thanks to @kkocdko\n modrect += indent + '' + EOL;\n }\n else {\n //Module as rectangle element\n modrect += indent + '' + EOL;\n }\n }\n }\n }\n \n if (join) {\n modrect = indent + '';\n }\n\n var svg = \"\";\n switch (opt.container) {\n //Wrapped in SVG document\n case \"svg\":\n if (xmlDeclaration) {\n svg += '' + EOL;\n }\n svg += '' + EOL;\n svg += defs + bgrect + modrect;\n svg += '';\n break;\n \n //Viewbox for responsive use in a browser, thanks to @danioso\n case \"svg-viewbox\":\n if (xmlDeclaration) {\n svg += '' + EOL;\n }\n svg += '' + EOL;\n svg += defs + bgrect + modrect;\n svg += '';\n break;\n \n \n //Wrapped in group element \n case \"g\":\n svg += '' + EOL;\n svg += defs + bgrect + modrect;\n svg += '';\n break;\n \n //Without a container\n default:\n svg += (defs + bgrect + modrect).replace(/^\\s+/, \"\"); //Clear indents on each line\n break;\n }\n \n return svg;\n};\n\n/** Writes QR Code image to a file */\nQRCode.prototype.save = function(file, callback) {\n var data = this.svg();\n if (typeof callback != \"function\") {\n callback = function(error, result) { };\n }\n try {\n //Package 'fs' is available in node.js but not in a web browser\n var fs = require('fs');\n fs.writeFile(file, data, callback);\n }\n catch (e) {\n //Sorry, 'fs' is not available\n callback(e);\n }\n};\n\nif (typeof module != \"undefined\") {\n module.exports = QRCode;\n}\n", "import QRCode from \"qrcode-svg\";\nimport {\n QRCodeVersion,\n type QRProvisioningInformation as QRProvisioningInformationFull,\n ProvisioningInformationType,\n parseQRCodeString,\n} from \"@zwave-js/core\";\nimport { isValidDSK } from \"@zwave-js/core/dsk\";\nimport { SecurityClass, Protocols } from \"@zwave-js/core/definitions\";\n\nconst Z = \"Z\".charCodeAt(0);\n\n/** Writes a number between 0 and 99 (2 decimal digits) */\nfunction level(val: number): string {\n if (val < 0 || val > 99) throw new Error(\"Value must be between 0 and 99\");\n return val.toString(10).padStart(2, \"0\");\n}\n\n/** Writes a byte (3 decimal digits) */\nfunction uint8(val: number): string {\n if (val < 0 || val > 255) throw new Error(\"Value must be between 0 and 255\");\n return val.toString(10).padStart(3, \"0\");\n}\n\n/** Writes a 2-byte value (5 decimal digits) */\nfunction uint16(val: number): string {\n if (val < 0 || val > 65535)\n throw new Error(\"Value must be between 0 and 65535\");\n return val.toString(10).padStart(5, \"0\");\n}\n\nfunction encodeTLV(\n type: ProvisioningInformationType,\n critical: boolean,\n data: string\n): string {\n const typeCritical = (type << 1) | (critical ? 1 : 0);\n return `${level(typeCritical)}${level(data.length)}${data}`;\n}\n\n/** Serializes a numeric array with a given maximum into a bit mask */\nfunction encodeBitMask(\n values: readonly number[],\n maxValue: number = Math.max(...values),\n startValue: number = 1\n): number {\n let ret = 0;\n for (let val = startValue; val <= maxValue; val++) {\n if (!values.includes(val)) continue;\n ret |= 2 ** (val - startValue);\n }\n return ret;\n}\n\nfunction dskFromString(dsk: string): number[] {\n if (!isValidDSK(dsk)) {\n throw new Error(\n `The DSK must be in the form \"aaaaa-bbbbb-ccccc-ddddd-eeeee-fffff-11111-22222\"`\n );\n }\n\n return dsk.split(\"-\").map((part) => parseInt(part, 10));\n}\n\nfunction hexToBytes(hex: string): number[] {\n let bytes: number[] = [];\n for (let c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.slice(c, c + 2), 16));\n return bytes;\n}\n\nexport type QRProvisioningInformation = Omit<\n QRProvisioningInformationFull,\n \"requestedSecurityClasses\"\n>;\n\nexport async function generateQRCode(\n info: QRProvisioningInformation,\n size: number = 256\n): Promise<{ text: string; svg: string }> {\n const partsAfterChecksum: string[] = [];\n\n const securityClasses = uint8(\n encodeBitMask(\n info.securityClasses,\n undefined,\n SecurityClass.S2_Unauthenticated\n )\n );\n partsAfterChecksum.push(securityClasses);\n\n const dsk = dskFromString(info.dsk).map((part) => uint16(part));\n partsAfterChecksum.push(...dsk);\n\n const productType = encodeTLV(\n ProvisioningInformationType.ProductType,\n false,\n [\n uint16((info.genericDeviceClass << 8) | info.specificDeviceClass),\n uint16(info.installerIconType),\n ].join(\"\")\n );\n partsAfterChecksum.push(productType);\n\n const applicationVersion = info.applicationVersion\n .split(\".\", 2)\n .map((part) => parseInt(part, 10));\n const productId = encodeTLV(\n ProvisioningInformationType.ProductId,\n false,\n [\n uint16(info.manufacturerId),\n uint16(info.productType),\n uint16(info.productId),\n uint16((applicationVersion[0] << 8) | applicationVersion[1]),\n ].join(\"\")\n );\n partsAfterChecksum.push(productId);\n\n if (info.maxInclusionRequestInterval !== undefined) {\n const maxInclusionRequestInterval = encodeTLV(\n ProvisioningInformationType.MaxInclusionRequestInterval,\n false,\n uint16(info.maxInclusionRequestInterval)\n );\n partsAfterChecksum.push(maxInclusionRequestInterval);\n }\n\n if (info.uuid !== undefined) {\n const bytes = hexToBytes(info.uuid);\n const words: number[] = [];\n for (let i = 0; i < bytes.length; i += 2) {\n // TODO: Check if this is correct or if we need to reverse the bytes\n words.push((bytes[i] << 8) | bytes[i + 1]);\n }\n const uuid = encodeTLV(\n ProvisioningInformationType.UUID16,\n false,\n words.map((w) => uint16(w)).join(\"\")\n );\n partsAfterChecksum.push(uuid);\n }\n\n if (info.supportedProtocols !== undefined) {\n const supportedProtocols = encodeTLV(\n ProvisioningInformationType.SupportedProtocols,\n false,\n level(encodeBitMask(info.supportedProtocols, undefined, Protocols.ZWave))\n );\n partsAfterChecksum.push(supportedProtocols);\n }\n\n // Other TLV types are not supported yet\n\n // Calculate the checksum, first 16 bits of the SHA1 of the rest\n const textAfterChecksum = partsAfterChecksum.join(\"\");\n const checksumData = new TextEncoder().encode(textAfterChecksum);\n const checksumBuffer = Array.from(\n new Uint8Array(await window.crypto.subtle.digest(\"SHA-1\", checksumData))\n );\n const checksum = (checksumBuffer[0] << 8) | checksumBuffer[1];\n\n const text = `${level(Z)}${level(info.version)}${uint16(\n checksum\n )}${textAfterChecksum}`;\n const svg = new QRCode({\n content: text,\n container: \"none\",\n xmlDeclaration: false,\n width: size,\n height: size,\n }).svg();\n\n return { text, svg };\n}\n\nconst chkS2AccessControl = document.getElementById(\n \"security-class_s2-access\"\n) as HTMLInputElement;\nconst chkS2Authenticated = document.getElementById(\n \"security-class_s2-authenticated\"\n) as HTMLInputElement;\nconst chkS2Unauthenticated = document.getElementById(\n \"security-class_s2-unauthenticated\"\n) as HTMLInputElement;\nconst chkS0 = document.getElementById(\"security-class_s0\") as HTMLInputElement;\n\nconst chkProtocol = document.getElementById(\"protocol\") as HTMLInputElement;\nconst chkProtocolZWave = document.getElementById(\n \"protocol_zwave\"\n) as HTMLInputElement;\nconst chkProtocolZWaveLR = document.getElementById(\n \"protocol_zwlr\"\n) as HTMLInputElement;\n\nconst txtDSK = document.getElementById(\"dsk\") as HTMLInputElement;\n\nconst txtDeviceClassGeneric = document.getElementById(\n \"device-class_generic\"\n) as HTMLInputElement;\nconst txtDeviceClassSpecific = document.getElementById(\n \"device-class_specific\"\n) as HTMLInputElement;\nconst txtDeviceClassIcon = document.getElementById(\n \"device-class_icon\"\n) as HTMLInputElement;\nconst lblDeviceClassGenericHex = document.getElementById(\n \"device-class_generic_hex\"\n) as HTMLSpanElement;\nconst lblDeviceClassSpecificHex = document.getElementById(\n \"device-class_specific_hex\"\n) as HTMLSpanElement;\nconst lblDeviceClassIconHex = document.getElementById(\n \"device-class_icon_hex\"\n) as HTMLSpanElement;\n\nconst txtManufacturerId = document.getElementById(\n \"manufacturer-id\"\n) as HTMLInputElement;\nconst txtProductType = document.getElementById(\n \"product-type\"\n) as HTMLInputElement;\nconst txtProductId = document.getElementById(\"product-id\") as HTMLInputElement;\nconst txtVersionMajor = document.getElementById(\n \"version-major\"\n) as HTMLInputElement;\nconst txtVersionMinor = document.getElementById(\n \"version-minor\"\n) as HTMLInputElement;\nconst lblManufacturerIdHex = document.getElementById(\n \"manufacturer-id_hex\"\n) as HTMLSpanElement;\nconst lblProductTypeHex = document.getElementById(\n \"product-type_hex\"\n) as HTMLSpanElement;\nconst lblProductIdHex = document.getElementById(\n \"product-id_hex\"\n) as HTMLSpanElement;\n\nconst lblErrorMessage = document.getElementById(\n \"error-message\"\n) as HTMLDivElement;\n\nconst btnGenerate = document.getElementById(\"generate\") as HTMLButtonElement;\nconst btnParse = document.getElementById(\"parse\") as HTMLButtonElement;\n\nconst lblQRText = document.getElementById(\n \"qr-code-text\"\n) as HTMLTextAreaElement;\nconst svgQRCode = document.getElementById(\"qr-code\")!;\n\nfunction parseDecimal(elem: HTMLInputElement): number | undefined {\n const value = elem.value.trim();\n if (/^[0-9]+$/.test(value)) {\n return parseInt(value, 10);\n }\n return undefined;\n}\n\nfunction parseHexOrDecimal(elem: HTMLInputElement): number | undefined {\n const value = elem.value.trim();\n if (/^[0-9]+$/.test(value)) {\n return parseInt(value, 10);\n } else if (/^(0x)?[0-9a-fA-F]+$/.test(value)) {\n if (value.startsWith(\"0x\")) {\n return parseInt(value.slice(2), 16);\n } else {\n return parseInt(value, 16);\n }\n }\n return undefined;\n}\n\nfunction onProtocolToggled() {\n chkProtocolZWave.disabled = !chkProtocol.checked;\n chkProtocolZWaveLR.disabled = !chkProtocol.checked;\n update();\n}\n\nfunction onTextboxChangedHex(txt: HTMLInputElement, lbl: HTMLSpanElement) {\n let value = parseHexOrDecimal(txt);\n const min = parseInt(txt.min);\n const max = parseInt(txt.max);\n\n if (value === undefined) {\n lbl.innerText = \"(invalid)\";\n } else {\n value = Math.min(max, Math.max(min, value));\n lbl.innerText = \"0x\" + value.toString(16).padStart(4, \"0\");\n }\n}\n\nfunction onTextboxBlurHex(txt: HTMLInputElement, lbl: HTMLSpanElement) {\n let value = parseHexOrDecimal(txt);\n const min = parseInt(txt.min);\n const max = parseInt(txt.max);\n if (value === undefined) {\n txt.value = txt.min;\n lbl.innerText = \"0x\" + parseInt(txt.min).toString(16).padStart(4, \"0\");\n } else {\n value = Math.min(max, Math.max(min, value));\n // Format the value as decimal\n txt.value = value.toString(10);\n lbl.innerText = \"0x\" + value.toString(16).padStart(4, \"0\");\n update();\n }\n}\n\nfunction onTextboxBlurDecimal(txt: HTMLInputElement) {\n let value = parseDecimal(txt);\n const min = parseInt(txt.min);\n const max = parseInt(txt.max);\n if (value === undefined) {\n txt.value = txt.min;\n } else {\n value = Math.min(max, Math.max(min, value));\n txt.value = value.toString(10);\n\n update();\n }\n}\n\nfunction tryParse(): QRProvisioningInformation | undefined {\n const securityClasses: SecurityClass[] = [];\n if (chkS2AccessControl.checked)\n securityClasses.push(SecurityClass.S2_AccessControl);\n if (chkS2Authenticated.checked)\n securityClasses.push(SecurityClass.S2_Authenticated);\n if (chkS2Unauthenticated.checked)\n securityClasses.push(SecurityClass.S2_Unauthenticated);\n if (chkS0.checked) securityClasses.push(SecurityClass.S0_Legacy);\n\n let supportedProtocols: Protocols[] | undefined;\n if (chkProtocol.checked) {\n supportedProtocols = [];\n if (chkProtocolZWave.checked) supportedProtocols.push(Protocols.ZWave);\n if (chkProtocolZWaveLR.checked)\n supportedProtocols.push(Protocols.ZWaveLongRange);\n }\n\n const dsk = txtDSK.value.trim();\n if (!isValidDSK(dsk)) {\n lblErrorMessage.innerText =\n \"The DSK is not valid. It must be in the form 'xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx' with each block between 0 and 65535.\";\n return;\n }\n\n const genericDeviceClass = parseHexOrDecimal(txtDeviceClassGeneric);\n if (genericDeviceClass === undefined) {\n lblErrorMessage.innerText = \"The generic device class must be a number\";\n return;\n }\n const specificDeviceClass = parseHexOrDecimal(txtDeviceClassSpecific);\n if (specificDeviceClass === undefined) {\n lblErrorMessage.innerText = \"The specific device class must be a number\";\n return;\n }\n const installerIconType = parseHexOrDecimal(txtDeviceClassIcon);\n if (installerIconType === undefined) {\n lblErrorMessage.innerText = \"The installer icon type must be a number\";\n return;\n }\n\n const manufacturerId = parseHexOrDecimal(txtManufacturerId);\n if (manufacturerId === undefined) {\n lblErrorMessage.innerText = \"The manufacturer ID must be a number\";\n return;\n }\n const productType = parseHexOrDecimal(txtProductType);\n if (productType === undefined) {\n lblErrorMessage.innerText = \"The product type must be a number\";\n return;\n }\n const productId = parseHexOrDecimal(txtProductId);\n if (productId === undefined) {\n lblErrorMessage.innerText = \"The product ID must be a number\";\n return;\n }\n\n const versionMajor = parseDecimal(txtVersionMajor);\n if (versionMajor === undefined) {\n lblErrorMessage.innerText = \"The major version must be a number\";\n return;\n }\n const versionMinor = parseDecimal(txtVersionMinor);\n if (versionMinor === undefined) {\n lblErrorMessage.innerText = \"The minor version must be a number\";\n return;\n }\n const applicationVersion = `${versionMajor}.${versionMinor}`;\n\n const info: QRProvisioningInformation = {\n version: QRCodeVersion.SmartStart,\n securityClasses,\n supportedProtocols,\n dsk,\n genericDeviceClass,\n specificDeviceClass,\n manufacturerId,\n productType,\n productId,\n installerIconType,\n applicationVersion,\n };\n\n return info;\n}\n\nasync function update() {\n const info = tryParse();\n if (!info) {\n btnGenerate.disabled = true;\n return;\n } else {\n btnGenerate.disabled = false;\n }\n\n const { text, svg } = await generateQRCode(\n info,\n svgQRCode.clientWidth || svgQRCode.clientHeight\n );\n\n lblQRText.value = text;\n svgQRCode.innerHTML = svg;\n}\n\nasync function parseQR() {\n let qr: QRProvisioningInformation;\n try {\n qr = await parseQRCodeString(lblQRText.value);\n } catch (e) {\n lblErrorMessage.innerText = e.message;\n return;\n }\n \n chkS2AccessControl.checked =\n qr.securityClasses.includes(SecurityClass.S2_AccessControl);\n chkS2Authenticated.checked =\n qr.securityClasses.includes(SecurityClass.S2_Authenticated);\n chkS2Unauthenticated.checked =\n qr.securityClasses.includes(SecurityClass.S2_Unauthenticated);\n chkS0.checked = qr.securityClasses.includes(SecurityClass.S0_Legacy);\n chkProtocol.checked = qr.supportedProtocols !== undefined;\n chkProtocolZWave.checked =\n qr.supportedProtocols?.includes(Protocols.ZWave) ?? false;\n chkProtocolZWaveLR.checked =\n qr.supportedProtocols?.includes(Protocols.ZWaveLongRange) ?? false;\n txtDSK.value = qr.dsk;\n txtDeviceClassGeneric.value = qr.genericDeviceClass.toString(10);\n lblDeviceClassGenericHex.innerText =\n \"0x\" + qr.genericDeviceClass.toString(16).padStart(4, \"0\");\n txtDeviceClassSpecific.value = qr.specificDeviceClass.toString(10);\n lblDeviceClassSpecificHex.innerText =\n \"0x\" + qr.specificDeviceClass.toString(16).padStart(4, \"0\");\n txtDeviceClassIcon.value = qr.installerIconType.toString(10);\n lblDeviceClassIconHex.innerText =\n \"0x\" + qr.installerIconType.toString(16).padStart(4, \"0\");\n txtManufacturerId.value = qr.manufacturerId.toString(10);\n lblManufacturerIdHex.innerText =\n \"0x\" + qr.manufacturerId.toString(16).padStart(4, \"0\");\n txtProductType.value = qr.productType.toString(10);\n lblProductTypeHex.innerText =\n \"0x\" + qr.productType.toString(16).padStart(4, \"0\");\n txtProductId.value = qr.productId.toString(10);\n lblProductIdHex.innerText =\n \"0x\" + qr.productId.toString(16).padStart(4, \"0\");\n txtVersionMajor.value = qr.applicationVersion.split(\".\")[0];\n txtVersionMinor.value = qr.applicationVersion.split(\".\")[1];\n}\n\n// Update when the checkboxes are toggled\nfor (const chk of [\n chkS0,\n chkS2AccessControl,\n chkS2Authenticated,\n chkS2Unauthenticated,\n chkProtocolZWave,\n chkProtocolZWaveLR,\n]) {\n chk.addEventListener(\"change\", update);\n}\n\n// Update when the supported protocols are enabled or disabled\nchkProtocol.addEventListener(\"change\", onProtocolToggled);\n\n// Update the QR code and helper labels when a hexadecimal textbox is changed\nfor (const [txt, lbl] of [\n [txtDeviceClassGeneric, lblDeviceClassGenericHex],\n [txtDeviceClassSpecific, lblDeviceClassSpecificHex],\n [txtDeviceClassIcon, lblDeviceClassIconHex],\n [txtManufacturerId, lblManufacturerIdHex],\n [txtProductType, lblProductTypeHex],\n [txtProductId, lblProductIdHex],\n] as const) {\n txt.addEventListener(\"input\", () => onTextboxChangedHex(txt, lbl));\n txt.addEventListener(\"blur\", () => onTextboxBlurHex(txt, lbl));\n}\n\n// Update the QR code when a decimal textbox is changed and left\nfor (const txt of [txtVersionMajor, txtVersionMinor]) {\n txt.addEventListener(\"blur\", () => onTextboxBlurDecimal(txt));\n}\n\ntxtDSK.onblur = update;\n\nbtnGenerate.onclick = update;\nbtnParse.onclick = parseQR;", null, null, null, null, null, null, null, null, null, null, null, null, null], + "mappings": "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AAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,IAAG,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,IAAG,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,IAAG,GAAE,KAAI,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,GAAE,IAAG,EAAE,GAAE,CAAC,IAAG,KAAI,KAAI,GAAE,KAAI,GAAG,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,KAAI,KAAI,IAAG,KAAI,GAAG,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,CAAC,GAAE,IAAG,IAAG,IAAG,IAAG,E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", "names": ["i", "QRCode", "ecl", "content", "type", "module", "decryptAES128OFB", "encryptAES128CBC", "encryptAES128ECB", "encryptAES128OFB", "encryptAES128CCM", "decryptAES128CCM", "decryptAES256CBC", "randomBytes", "digest", "generateECDHKeyPair", "deriveSharedECDHSecret", "keyPairFromRawECDHPrivateKey", "ZWaveErrorCodes", "Protocols", "ZWaveDataRate", "ProtocolDataRate", "RouteProtocolDataRate", "ZnifferProtocolDataRate", "ProtocolType", "LongRangeChannel", "ProtocolVersion", "SecurityClass", "QRCodeVersion", "ProvisioningInformationType", "digest", "QRCode"] } diff --git a/src/script.ts b/src/script.ts index adf56d4..4b1b747 100644 --- a/src/script.ts +++ b/src/script.ts @@ -97,7 +97,7 @@ export async function generateQRCode( false, [ uint16((info.genericDeviceClass << 8) | info.specificDeviceClass), - uint16(info.specificDeviceClass), + uint16(info.installerIconType), ].join("") ); partsAfterChecksum.push(productType);