diff --git a/package-lock.json b/package-lock.json index 706a992..70b9945 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,9 +10,11 @@ "dependencies": { "buffer": "^6.0.3", "extend": "^3.0.2", + "file-saver": "^2.0.5", "opus-decoder": "^0.7.7", "readable-stream": "^4.7.0", - "socket.io-client": "^4.8.1" + "socket.io-client": "^4.8.1", + "tcadif": "^2.2.0" }, "devDependencies": { "@sveltejs/adapter-static": "^3.0.8", @@ -1290,6 +1292,18 @@ "node": ">= 0.6" } }, + "node_modules/csv-parse": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-5.6.0.tgz", + "integrity": "sha512-l3nz3euub2QMg5ouu5U09Ew9Wf6/wQ8I++ch1loQ0ljmzhmfZYrH9fflS22i/PQEvsPvxCwxgz5q7UB8K1JO4Q==", + "license": "MIT" + }, + "node_modules/csv-stringify": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-6.5.2.tgz", + "integrity": "sha512-RFPahj0sXcmUyjrObAK+DOWtMvMIFV328n4qZJhgX3x2RqkQgOTU2mCUmiFR0CzM6AzChlRSUErjiJeEt8BaQA==", + "license": "MIT" + }, "node_modules/daisyui": { "version": "5.0.17", "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-5.0.17.tgz", @@ -1480,6 +1494,12 @@ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "license": "MIT" }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", + "license": "MIT" + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -1819,6 +1839,15 @@ "@jridgewell/sourcemap-codec": "^1.5.0" } }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", @@ -2167,6 +2196,20 @@ "node": ">=6" } }, + "node_modules/tcadif": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tcadif/-/tcadif-2.2.0.tgz", + "integrity": "sha512-20UPYtzjBH7NagwNzBtBwJ7PIHnZwjJSPx9UhxGfkzkgUC+iAWRZzH3pJW/7nut37r3ofIMDQtw+UV4BQigylA==", + "license": "MIT", + "dependencies": { + "csv-parse": "^5.5.3", + "csv-stringify": "^6.4.5", + "moment": "^2.29.4" + }, + "bin": { + "tcadif": "bin/tcadif.js" + } + }, "node_modules/totalist": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", diff --git a/package.json b/package.json index 1fbc307..11f89ff 100644 --- a/package.json +++ b/package.json @@ -22,8 +22,10 @@ "dependencies": { "buffer": "^6.0.3", "extend": "^3.0.2", + "file-saver": "^2.0.5", "opus-decoder": "^0.7.7", "readable-stream": "^4.7.0", - "socket.io-client": "^4.8.1" + "socket.io-client": "^4.8.1", + "tcadif": "^2.2.0" } } diff --git a/src/app.css b/src/app.css index eb8a800..56b2480 100644 --- a/src/app.css +++ b/src/app.css @@ -4,4 +4,4 @@ @theme { --font-sans: "Inter", system-ui, "Roboto", sans-serif; --font-mono: "IBM Plex Mono", SFMono-Regular, monospace; -} +} \ No newline at end of file diff --git a/src/app.html b/src/app.html index 5f534fb..ec534e3 100644 --- a/src/app.html +++ b/src/app.html @@ -17,6 +17,7 @@ rel="stylesheet" /> + remoteham %sveltekit.head% diff --git a/src/lib/spectrogram.js b/src/lib/spectrogram.js new file mode 100644 index 0000000..db74e7d --- /dev/null +++ b/src/lib/spectrogram.js @@ -0,0 +1,530 @@ +// acquired from https://www.arc.id.au/Spectrogram.html + +/*================================================================= + Filename: Spectrogram-2v01.js + Rev: 2 + By: Dr A.R.Collins + Description: JavaScript graphics functions to draw Spectrograms. + + Date Description By + -------|----------------------------------------------------|--- + 12Nov18 First beta ARC + 17Nov18 Added offset into data buffer ARC + 08May19 this.imageURL URL added + bugfix: fixed isNaN test + Changed sgStart, sgStop to start, stop + Added options object to constructors ARC + 10May19 Enabled Left to Right as well as Top to Bottom ARC + 11May19 Added RasterscanSVG ARC + 12May19 Added blankline for horizontal raster scans ARC + 13May19 Eliminated unnecessary putImageData ARC + 14May19 Removed toDataURL, not used drawImage is better + bugfix: SVG RHC names swapped ARC + 02Jun19 bugfix: startOfs not honored in horizontalNewLine ARC + 03Jun19 Flipped the SVG and RHC names for waterfalls ARC + 04Jun19 Unflip SVG and RHC for horizontal mode ARC + Swap "SVG" & "RHC" strings to match fn names ARC + 05Jun19 bugfix: WaterfallSVG scrolling wrong way ARC + 10Jun19 bugfix: support lineRate=0 for static display + bugfix: ipBufPtr must be a ptr to a ptr ARC + 11Jun19 Make ipBuffers an Array of Arrays, if lineRate=0 + use all buffers else use only ipBuffer[0] ARC + 13Jun19 Use Waterfall and Rasterscan plus direction + Use Boolean rather than string compare ARC + 16Jun19 Use const and let ARC + 20Jun19 Change order of parameters ARC + 21Jun19 Add setLineRate method ARC + 06Jul19 Released as Rev 1v00 ARC + 25Jul21 Refactor using class, arrow functions etc + Added RasterImage object + Use object.buffer as input not array of arrays ARC + 25Jul21 Released as Rev 2v00 ARC + =================================================================*/ + + export var Waterfall, Rasterscan, RasterImage; + + (function(){ + class Spectrogram { + constructor(ipObj, w, h, sgMode, rhc, vert, options) { + const opt = (typeof options === 'object')? options: {}; // avoid undeclared object errors + const pxPerLine = w || 200; + const lines = h || 200; + const lineBuf = new ArrayBuffer(pxPerLine * 4); // 1 line + const lineBuf8 = new Uint8ClampedArray(lineBuf); + const lineImgData = new ImageData(lineBuf8, pxPerLine, 1); // 1 line of canvas pixels + const blankBuf = new ArrayBuffer(pxPerLine * 4); // 1 line + const blankBuf8 = new Uint8ClampedArray(blankBuf); + const blankImgData = new ImageData(blankBuf8, pxPerLine, 1); // 1 line of canvas pixels + const clearBuf = new ArrayBuffer(pxPerLine * lines * 4); // fills with 0s ie. rgba 0,0,0,0 = transparent + const clearBuf8 = new Uint8ClampedArray(clearBuf); + let offScreenCtx; // offscreen canvas drawing context + let clearImgData; + let lineRate = 30; // requested line rate for dynamic waterfalls + let interval = 0; // msec + let startOfs = 0; + let nextLine = 0; + let timerID = null; + let running = false; + let sgTime = 0; + let sgStartTime = 0; + + // Matlab Jet ref: stackoverflow.com grayscale-to-red-green-blue-matlab-jet-color-scale + let colMap = [[ 0, 0, 128, 255], [ 0, 0, 131, 255], [ 0, 0, 135, 255], [ 0, 0, 139, 255], + [ 0, 0, 143, 255], [ 0, 0, 147, 255], [ 0, 0, 151, 255], [ 0, 0, 155, 255], + [ 0, 0, 159, 255], [ 0, 0, 163, 255], [ 0, 0, 167, 255], [ 0, 0, 171, 255], + [ 0, 0, 175, 255], [ 0, 0, 179, 255], [ 0, 0, 183, 255], [ 0, 0, 187, 255], + [ 0, 0, 191, 255], [ 0, 0, 195, 255], [ 0, 0, 199, 255], [ 0, 0, 203, 255], + [ 0, 0, 207, 255], [ 0, 0, 211, 255], [ 0, 0, 215, 255], [ 0, 0, 219, 255], + [ 0, 0, 223, 255], [ 0, 0, 227, 255], [ 0, 0, 231, 255], [ 0, 0, 235, 255], + [ 0, 0, 239, 255], [ 0, 0, 243, 255], [ 0, 0, 247, 255], [ 0, 0, 251, 255], + [ 0, 0, 255, 255], [ 0, 4, 255, 255], [ 0, 8, 255, 255], [ 0, 12, 255, 255], + [ 0, 16, 255, 255], [ 0, 20, 255, 255], [ 0, 24, 255, 255], [ 0, 28, 255, 255], + [ 0, 32, 255, 255], [ 0, 36, 255, 255], [ 0, 40, 255, 255], [ 0, 44, 255, 255], + [ 0, 48, 255, 255], [ 0, 52, 255, 255], [ 0, 56, 255, 255], [ 0, 60, 255, 255], + [ 0, 64, 255, 255], [ 0, 68, 255, 255], [ 0, 72, 255, 255], [ 0, 76, 255, 255], + [ 0, 80, 255, 255], [ 0, 84, 255, 255], [ 0, 88, 255, 255], [ 0, 92, 255, 255], + [ 0, 96, 255, 255], [ 0, 100, 255, 255], [ 0, 104, 255, 255], [ 0, 108, 255, 255], + [ 0, 112, 255, 255], [ 0, 116, 255, 255], [ 0, 120, 255, 255], [ 0, 124, 255, 255], + [ 0, 128, 255, 255], [ 0, 131, 255, 255], [ 0, 135, 255, 255], [ 0, 139, 255, 255], + [ 0, 143, 255, 255], [ 0, 147, 255, 255], [ 0, 151, 255, 255], [ 0, 155, 255, 255], + [ 0, 159, 255, 255], [ 0, 163, 255, 255], [ 0, 167, 255, 255], [ 0, 171, 255, 255], + [ 0, 175, 255, 255], [ 0, 179, 255, 255], [ 0, 183, 255, 255], [ 0, 187, 255, 255], + [ 0, 191, 255, 255], [ 0, 195, 255, 255], [ 0, 199, 255, 255], [ 0, 203, 255, 255], + [ 0, 207, 255, 255], [ 0, 211, 255, 255], [ 0, 215, 255, 255], [ 0, 219, 255, 255], + [ 0, 223, 255, 255], [ 0, 227, 255, 255], [ 0, 231, 255, 255], [ 0, 235, 255, 255], + [ 0, 239, 255, 255], [ 0, 243, 255, 255], [ 0, 247, 255, 255], [ 0, 251, 255, 255], + [ 0, 255, 255, 255], [ 4, 255, 251, 255], [ 8, 255, 247, 255], [ 12, 255, 243, 255], + [ 16, 255, 239, 255], [ 20, 255, 235, 255], [ 24, 255, 231, 255], [ 28, 255, 227, 255], + [ 32, 255, 223, 255], [ 36, 255, 219, 255], [ 40, 255, 215, 255], [ 44, 255, 211, 255], + [ 48, 255, 207, 255], [ 52, 255, 203, 255], [ 56, 255, 199, 255], [ 60, 255, 195, 255], + [ 64, 255, 191, 255], [ 68, 255, 187, 255], [ 72, 255, 183, 255], [ 76, 255, 179, 255], + [ 80, 255, 175, 255], [ 84, 255, 171, 255], [ 88, 255, 167, 255], [ 92, 255, 163, 255], + [ 96, 255, 159, 255], [100, 255, 155, 255], [104, 255, 151, 255], [108, 255, 147, 255], + [112, 255, 143, 255], [116, 255, 139, 255], [120, 255, 135, 255], [124, 255, 131, 255], + [128, 255, 128, 255], [131, 255, 124, 255], [135, 255, 120, 255], [139, 255, 116, 255], + [143, 255, 112, 255], [147, 255, 108, 255], [151, 255, 104, 255], [155, 255, 100, 255], + [159, 255, 96, 255], [163, 255, 92, 255], [167, 255, 88, 255], [171, 255, 84, 255], + [175, 255, 80, 255], [179, 255, 76, 255], [183, 255, 72, 255], [187, 255, 68, 255], + [191, 255, 64, 255], [195, 255, 60, 255], [199, 255, 56, 255], [203, 255, 52, 255], + [207, 255, 48, 255], [211, 255, 44, 255], [215, 255, 40, 255], [219, 255, 36, 255], + [223, 255, 32, 255], [227, 255, 28, 255], [231, 255, 24, 255], [235, 255, 20, 255], + [239, 255, 16, 255], [243, 255, 12, 255], [247, 255, 8, 255], [251, 255, 4, 255], + [255, 255, 0, 255], [255, 251, 0, 255], [255, 247, 0, 255], [255, 243, 0, 255], + [255, 239, 0, 255], [255, 235, 0, 255], [255, 231, 0, 255], [255, 227, 0, 255], + [255, 223, 0, 255], [255, 219, 0, 255], [255, 215, 0, 255], [255, 211, 0, 255], + [255, 207, 0, 255], [255, 203, 0, 255], [255, 199, 0, 255], [255, 195, 0, 255], + [255, 191, 0, 255], [255, 187, 0, 255], [255, 183, 0, 255], [255, 179, 0, 255], + [255, 175, 0, 255], [255, 171, 0, 255], [255, 167, 0, 255], [255, 163, 0, 255], + [255, 159, 0, 255], [255, 155, 0, 255], [255, 151, 0, 255], [255, 147, 0, 255], + [255, 143, 0, 255], [255, 139, 0, 255], [255, 135, 0, 255], [255, 131, 0, 255], + [255, 128, 0, 255], [255, 124, 0, 255], [255, 120, 0, 255], [255, 116, 0, 255], + [255, 112, 0, 255], [255, 108, 0, 255], [255, 104, 0, 255], [255, 100, 0, 255], + [255, 96, 0, 255], [255, 92, 0, 255], [255, 88, 0, 255], [255, 84, 0, 255], + [255, 80, 0, 255], [255, 76, 0, 255], [255, 72, 0, 255], [255, 68, 0, 255], + [255, 64, 0, 255], [255, 60, 0, 255], [255, 56, 0, 255], [255, 52, 0, 255], + [255, 48, 0, 255], [255, 44, 0, 255], [255, 40, 0, 255], [255, 36, 0, 255], + [255, 32, 0, 255], [255, 28, 0, 255], [255, 24, 0, 255], [255, 20, 0, 255], + [255, 16, 0, 255], [255, 12, 0, 255], [255, 8, 0, 255], [255, 4, 0, 255], + [255, 0, 0, 255], [251, 0, 0, 255], [247, 0, 0, 255], [243, 0, 0, 255], + [239, 0, 0, 255], [235, 0, 0, 255], [231, 0, 0, 255], [227, 0, 0, 255], + [223, 0, 0, 255], [219, 0, 0, 255], [215, 0, 0, 255], [211, 0, 0, 255], + [207, 0, 0, 255], [203, 0, 0, 255], [199, 0, 0, 255], [195, 0, 0, 255], + [191, 0, 0, 255], [187, 0, 0, 255], [183, 0, 0, 255], [179, 0, 0, 255], + [175, 0, 0, 255], [171, 0, 0, 255], [167, 0, 0, 255], [163, 0, 0, 255], + [159, 0, 0, 255], [155, 0, 0, 255], [151, 0, 0, 255], [147, 0, 0, 255], + [143, 0, 0, 255], [139, 0, 0, 255], [135, 0, 0, 255], [131, 0, 0, 255], + [ 0, 0, 0, 0]]; + + const incrLine = ()=> + { + if ((vert && !rhc) || (!vert && rhc)) + { + nextLine++; + if (nextLine >= lines) + { + nextLine = 0; + } + } + else + { + nextLine--; + if (nextLine < 0) + { + nextLine = lines-1; + } + } + } + + const updateWaterfall = ()=> // update dynamic waterfalls at a fixed rate + { + let sgDiff; + + // grab latest line of data, write it to off screen buffer, inc 'nextLine' + this.newLine(); + // loop to write data data at the desired rate, data is being updated asynchronously + // ref for accurate timeout: http://www.sitepoint.com/creating-accurate-timers-in-javascript + sgTime += interval; + sgDiff = (Date.now() - sgStartTime) - sgTime; + if (running) + { + timerID = setTimeout(updateWaterfall, interval - sgDiff); + } + } + + const setProperty = (propertyName, value)=> + { + if ((typeof propertyName !== "string")||(value === undefined)) // null is OK, forces default + { + return; + } + switch (propertyName.toLowerCase()) + { + case "linerate": + this.setLineRate(value); // setLine does checks for number etc + break; + case "startbin": + if (!isNaN(value) && value > 0) + { + startOfs = value; + } + break; + case "onscreenparentid": + if (typeof value === "string" && document.getElementById(value)) + { + demoCvsId = value; + } + break; + case "colormap": + if (Array.isArray(value) && Array.isArray(value[0]) && value[0].length == 4) + { + colMap = value; // value must be an array of 4 element arrays to get here + if (colMap.length<256) // fill out the remaining colors with last color + { + for (let i=colMap.length; i<256; i++) + { + colMap[i] = colMap[colMap.length-1]; + } + } + } + break; + default: + break; + } + } + + const verticalNewLine = ()=> + { + let tmpImgData, ipBuf8; + + if (sgMode == "WF") + { + if (rhc) + { + // shift the current display down 1 line, oldest line drops off + tmpImgData = offScreenCtx.getImageData(0, 0, pxPerLine, lines-1); + offScreenCtx.putImageData(tmpImgData, 0, 1); + } + else + { + // shift the current display up 1 line, oldest line drops off + tmpImgData = offScreenCtx.getImageData(0, 1, pxPerLine, lines-1); + offScreenCtx.putImageData(tmpImgData, 0, 0); + } + } + ipBuf8 = Uint8ClampedArray.from(ipObj.buffer); + for (let sigVal, rgba, opIdx = 0, ipIdx = startOfs; ipIdx < pxPerLine+startOfs; opIdx += 4, ipIdx++) + { + sigVal = ipBuf8[ipIdx] || 0; // if input line too short add zeros + rgba = colMap[sigVal]; // array of rgba values + // byte reverse so number aa bb gg rr + lineBuf8[opIdx] = rgba[0]; // red + lineBuf8[opIdx+1] = rgba[1]; // green + lineBuf8[opIdx+2] = rgba[2]; // blue + lineBuf8[opIdx+3] = rgba[3]; // alpha + } + offScreenCtx.putImageData(lineImgData, 0, nextLine); + if (sgMode === "RS") + { + incrLine(); + // if not static draw a white line in front of the current line to indicate new data point + if (lineRate) + { + offScreenCtx.putImageData(blankImgData, 0, nextLine); + } + } + } + + const horizontalNewLine = ()=> + { + let tmpImgData, ipBuf8; + + if (sgMode == "WF") + { + if (rhc) + { + // shift the current display right 1 line, oldest line drops off + tmpImgData = offScreenCtx.getImageData(0, 0, lines-1, pxPerLine); + offScreenCtx.putImageData(tmpImgData, 1, 0); + } + else + { + // shift the current display left 1 line, oldest line drops off + tmpImgData = offScreenCtx.getImageData(1, 0, lines-1, pxPerLine); + offScreenCtx.putImageData(tmpImgData, 0, 0); + } + } + // refresh the page image (it was just shifted) + const pageImgData = offScreenCtx.getImageData(0, 0, lines, pxPerLine); + if (ipObj.buffer.constructor !== Uint8Array) + { + ipBuf8 = Uint8ClampedArray.from(ipObj.buffer); // clamp input values to 0..255 range + } + else + { + ipBuf8 = ipObj.buffer; // conversion already done + } + + for (let sigVal, rgba, opIdx, ipIdx=0; ipIdx < pxPerLine; ipIdx++) + { + sigVal = ipBuf8[ipIdx+startOfs] || 0; // if input line too short add zeros + rgba = colMap[sigVal]; // array of rgba values + opIdx = 4*((pxPerLine-ipIdx-1)*lines+nextLine); + // byte reverse so number aa bb gg rr + pageImgData.data[opIdx] = rgba[0]; // red + pageImgData.data[opIdx+1] = rgba[1]; // green + pageImgData.data[opIdx+2] = rgba[2]; // blue + pageImgData.data[opIdx+3] = rgba[3]; // alpha + } + if (sgMode === "RS") + { + incrLine(); + // if not draw a white line in front of the current line to indicate new data point + if (lineRate) + { + for (let j=0; j < pxPerLine; j++) + { + let opIdx; + if (rhc) + { + opIdx = 4*(j*lines+nextLine); + } + else + { + opIdx = 4*((pxPerLine-j-1)*lines+nextLine); + } + // byte reverse so number aa bb gg rr + pageImgData.data[opIdx] = 255; // red + pageImgData.data[opIdx+1] = 255; // green + pageImgData.data[opIdx+2] = 255; // blue + pageImgData.data[opIdx+3] = 255; // alpha + } + } + } + offScreenCtx.putImageData(pageImgData, 0, 0); + } + + const createOffScreenCanvas = ()=> + { + const cvs = document.createElement("canvas"); + if (vert) + { + cvs.setAttribute('width', pxPerLine); // reset canvas pixels width + cvs.setAttribute('height', lines); // don't use style for this + clearImgData = new ImageData(clearBuf8, pxPerLine, lines); + } + else // data written in columns + { + cvs.setAttribute('width', lines); // reset canvas pixels width + cvs.setAttribute('height', pxPerLine); // don't use style for this + clearImgData = new ImageData(clearBuf8, lines, pxPerLine); + } + offScreenCtx = cvs.getContext("2d"); + + return cvs; + } + + // ===== now make the exposed properties and methods =============== + + this.newLine = (vert)? verticalNewLine: horizontalNewLine; // function pointers + + this.offScreenCvs = createOffScreenCanvas(); + + this.setLineRate = function sgSetLineRate(newRate) + { + if (isNaN(newRate) || newRate > 50 || newRate < 0) + { + console.error("invalid line rate [0 <= lineRate < 50 lines/sec]"); + // don't change the lineRate; + } + else if (newRate === 0) // static (one pass) raster + { + lineRate = 0; + } + else + { + lineRate = newRate; + interval = 1000/lineRate; // msec + } + }; + + this.clear = function() + { + offScreenCtx.putImageData(clearImgData, 0, 0); + }; + + this.start = function() + { + sgStartTime = Date.now(); + sgTime = 0; + running = true; + updateWaterfall(); // start the update loop + }; + + this.stop = function() + { + running = false; + if (timerID) + { + clearTimeout(timerID); + } + // reset where the next line is to be written + if (sgMode === "RS") + { + if (vert) + { + nextLine = (rhc)? lines-1 : 0; + } + else + { + nextLine = (rhc)? 0 : lines-1; + } + } + else // WF + { + nextLine = (rhc)? 0 : lines-1; + } + }; + + //===== set all the options ================ + for (let prop in opt) + { + // check that this is opt's own property, not inherited from prototype + if (opt.hasOwnProperty(prop)) + { + setProperty(prop, opt[prop]); + } + } + + // make a white line, it will show the input line for RS displays + blankBuf8.fill(255); + // make a full canvas of the color map 0 values + for (let i=0; i // deps - import BufferQueueNode from "$lib/queue"; + import saveAs from "file-saver"; import { untrack } from "svelte"; import io from "socket.io-client"; + import ADIF from "tcadif/lib/ADIF"; import { fade } from "svelte/transition"; + import BufferQueueNode from "$lib/queue"; import { OpusDecoder } from "opus-decoder"; + import { Waterfall } from "$lib/spectrogram"; function clamp(val, min, max) { return Math.min(Math.max(val, min), max); @@ -14,6 +17,12 @@ return arr.reduce((prev, cur) => prev + cur, 0) / arr.length; } + const modes = { + voice: "Voice", + ft8: "FT8", + psk31: "PSK31", + }; + // state vars let status = $state("disconnected"); let remoteState = $state(); @@ -22,8 +31,13 @@ let dbm = $state(0); let dbmList = $state([0]); let pwr = $state(0); - let swr = $state(0); + let swrList = $state([0]); + let swr = $derived(avg(swrList)); let context = $state(); + let micGain = $state(1); + let outputGain = $state(1); + let micLevel = $state(0); + let clipping = $state(false); let recorder; let sunits = $derived.by(() => { let average = avg(dbmList); @@ -34,6 +48,33 @@ } }); let socket; + let canvas; + let bands = $state([]); + let currentBand = $derived.by(() => { + try { + let bandKeys = Object.keys(bands); + let bandValues = Object.values(bands); + return bandKeys[ + bandValues.indexOf( + bandValues.find( + (band) => + band.edges[0] <= remoteState.frequency && + band.edges[1] > remoteState.frequency + ) + ) + ]; + } catch { + return ""; + } + }); + let clubName = $state(""); + let clubEmail = $state(""); + let logbook = $state([]); + let outputGainNode; + let logCallsign = $state(""); + let logTime = $state(""); + let logRstTx = $state(""); + let logRstRx = $state(""); async function enableMic() { recorder = new Recorder({ @@ -49,9 +90,24 @@ context = new AudioContext({ sampleRate: 48000 }); } + // when output gain is changed + $effect(() => { + let gainNode = untrack(() => outputGainNode); + let gain = outputGain; + if (gainNode) gainNode.gain.value = gain; + }); + + // when mic gain is changed + $effect(() => { + let leRecorder = untrack(() => recorder); + let gain = micGain; + if (leRecorder) leRecorder.setRecordingGain(gain); + }); + // when the file is uploaded we do the thing $effect(async () => { if (files && files.length > 0) { + console.log("connecting :3"); status = "connecting"; let rawKey = await files[0].text(); try { @@ -65,11 +121,20 @@ let queueNode = new BufferQueueNode({ audioContext: context, }); - queueNode.connect(context.destination); + outputGainNode = new GainNode(context); + queueNode.connect(outputGainNode); + outputGainNode.connect(context.destination); + // temporary workaround to keep latency from getting too bad, need more empirical testing though + setInterval(() => { + queueNode.disconnect(outputGainNode); + queueNode = new BufferQueueNode({ + audioContext: context, + }); + queueNode.connect(outputGainNode); + }, 120 * 1000); socket = io(json.url); window.socket = socket; socket.on("connect", () => { - status = "connected"; socket.emit("auth", rawKey); }); socket.on("disconnect", () => { @@ -79,7 +144,7 @@ remoteState = state; }); socket.on("dbm", (d) => { - dbm = Math.min(d, -33); + dbm = clamp(d, -121, -33); dbmList.push(dbm); if (dbmList.length > 25) dbmList.shift(); }); @@ -87,7 +152,8 @@ pwr = p; }); socket.on("swr", (s) => { - swr = s; + swrList.push(swr); + if (swrList.length > 10) swrList.shift(); }); socket.on("audio", (chunk) => { queueNode._write( @@ -97,6 +163,37 @@ () => {} ); }); + socket.on("login", (info) => { + bands = info.bands; + clubName = info.clubName; + clubEmail = info.clubEmail; + socket.emit("getLogbook"); + status = "connected"; + }); + socket.on("logbook", (logs) => { + logbook = logs; + }); + socket.on("error", (err) => errors.unshift(err)); + // i'm actually not sure we need to do this but meh + let untrackedRecorder = untrack(() => recorder); + let scriptNode = + untrackedRecorder.audioContext.createScriptProcessor( + 4096, + 1, + 0 + ); + scriptNode.addEventListener("audioprocess", (e) => { + let data = e.inputBuffer.getChannelData(0); + clipping = false; + for (let i = 0; i < data.length; i++) { + if (Math.abs(data[i]) >= 1) { + clipping = true; + break; + } + } + micLevel = Math.min(avg(data.map((x) => Math.abs(x))), 1); + }); + untrackedRecorder.recordingGainNode.connect(scriptNode); } catch (e) { console.log(e); errors.unshift("Invalid key!"); @@ -105,6 +202,32 @@ } } }); + + // submit entry function + function submitEntry() { + if ( + logCallsign.length === 0 || + logRstRx.length === 0 || + logRstTx.length === 0 || + logTime.length === 0 || + !/^[0-9]{1,2}:[0-9]{2}$/.test(logTime) + ) + return; + let date = new Date(); + socket.emit("newEntry", { + TIME_ON: logTime.replace(":", "").padStart(4, "0").padEnd(6, "0"), + CALL: logCallsign.toUpperCase(), + MODE: "SSB", + QSO_DATE: `${date.getUTCFullYear()}${date.getUTCMonth().toString().padStart(2, "0")}${date.getUTCDate().toString().padStart(2, "0")}`, + RST_RCVD: logRstRx, + RST_SENT: logRstTx, + FREQ: (remoteState.frequency / 100000).toString(), + }); + logTime = ""; + logCallsign = ""; + logRstRx = ""; + logRstTx = ""; + } {#if status === "disconnected"} @@ -113,7 +236,7 @@ >

freeremote

{#if context} -

Please upload your key below to access your remote station.

+

Please upload your key below to access your remote station.

{:else} -

{remoteState?.frequency}

-

{dbm}

-

{sunits}

+
+ + {#if remoteState?.mode === "voice"} +
+
+
+
+
+
+ +
+
+ +
+
+ {#each [7, 6, 5, 4, 3, 2, 1] as i} +

{ + e.preventDefault(); + if (e.deltaY < 0) { + socket.emit( + "frequency", + remoteState.frequency + + 10 ** (i - 1) + ); + } else { + socket.emit( + "frequency", + remoteState.frequency - + 10 ** (i - 1) + ); + } + }} + > + {(() => { + let digit = Math.floor( + (remoteState?.frequency % + 10 ** i) / + 10 ** (i - 1) + ); + if (isNaN(digit)) return 0; + else return digit; + })()} +

+ {#if i === 3} +

.

+ {/if} + {/each} +
+
+
+
+ + + + + + + + + + + + + + + + + + + +
+ + +
+

{sunits}

+
+
+ + +
+

{pwr}W

+
+
+ + +
+

+ {(() => { + if (swr > 50) + return "∞"; + else + return ( + 1 + + Math.floor( + (swr / 11) * + 0.5 * + 10 + ) / + 10 + ); + })()}:1 +

+
+
+ + +
+

Mic

+
+
+
+
+
+

Output gain

+
+ +
+ | + | + | + | +
+
+ Muted + 100% + 200% + 300% +
+
+

Mic gain

+
+ +
+ | + | + | + | +
+
+ Muted + 100% + 200% + 300% +
+
+
+
+
+
+
+

Logbook

+ +
+
+
+ +
+ + +
+ + +
+
+ +
+
+ {#if logbook.length === 0} +
+

No entries found.

+
+ {:else} +
+ + + + + + + + + + + + + + + {#each logbook as entry, i} + + + + + + + + + + + {/each} + +
CallsignModeFreq (MHz)RST (sent)RST (rcvd)Date (UTC)Time (UTC)Delete
{entry.CALL}{entry.MODE}{entry.FREQ}{entry.RST_SENT}{entry.RST_RCVD}{entry.QSO_DATE}{entry.TIME_ON} + +
+
+ {/if} +
+
+
+
+ +
+ {/if} +
+ {/if}
diff --git a/static/encoderWorker.js b/static/encoderWorker.js index 3ec1dc1..157f6f8 100644 --- a/static/encoderWorker.js +++ b/static/encoderWorker.js @@ -3,10 +3,10 @@ var OggOpusEncoder, OpusEncoderLib; if(typeof require === 'function'){ - OpusEncoderLib = require('./libopus-encoder.js'); + OpusEncoderLib = require('./libopus-encoder.wasm.min.js'); OggOpusEncoder = require('./oggOpusEncoder.js').OggOpusEncoder; } else if (typeof importScripts === "function") { - importScripts('./libopus-encoder.js'); + importScripts('./libopus-encoder.wasm.min.js'); importScripts('./oggOpusEncoder.js'); } diff --git a/static/libopus-encoder.js b/static/libopus-encoder.js deleted file mode 100644 index 74d5e17..0000000 --- a/static/libopus-encoder.js +++ /dev/null @@ -1,34698 +0,0 @@ - - -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module !== 'undefined' ? Module : {}; - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - -(function (root, factory, globalExport) { - - var lib, env; - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['require'], function (req) { - lib = factory(root, req); - return lib; - }); - } else if (typeof module === 'object' && module.exports) { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like environments that support module.exports, - // like Node. - - // use process.env (if available) for reading Opus environment settings: - env = typeof process !== 'undefined' && process && process.env? process.env : root; - lib = factory(env, module.require); - module.exports = lib; - } else { - // Browser globals - lib = factory(root); - root[globalExport] = lib; - } - -}(typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : this, function (global, require) { -'use strict'; - -var Module = {}; -Module['isReady'] = false; -Module['onready'] = null; -Module['onRuntimeInitialized'] = function(){ - Module['isReady'] = true; - if(Module['onready']) setTimeout(Module['onready'], 0); -}; - -if(global && global.OPUS_SCRIPT_LOCATION){ - Module['locateFile'] = function(fileName){ - var path = global.OPUS_SCRIPT_LOCATION || ''; - if(path[fileName]) return path[fileName]; - path += path && !/\/$/.test(path)? '/' : ''; - return path + fileName; - }; -} - - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -var key; -for (key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = function(status, toThrow) { - throw toThrow; -}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; -ENVIRONMENT_IS_WEB = typeof window === 'object'; -ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string'; -ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var read_, - readAsync, - readBinary, - setWindowTitle; - -var nodeFS; -var nodePath; - -if (ENVIRONMENT_IS_NODE) { - if (ENVIRONMENT_IS_WORKER) { - scriptDirectory = require('path').dirname(scriptDirectory) + '/'; - } else { - scriptDirectory = __dirname + '/'; - } - -// include: node_shell_read.js - - -read_ = function shell_read(filename, binary) { - var ret = tryParseAsDataURI(filename); - if (ret) { - return binary ? ret : ret.toString(); - } - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - return nodeFS['readFileSync'](filename, binary ? null : 'utf8'); -}; - -readBinary = function readBinary(filename) { - var ret = read_(filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - assert(ret.buffer); - return ret; -}; - -// end include: node_shell_read.js - if (process['argv'].length > 1) { - thisProgram = process['argv'][1].replace(/\\/g, '/'); - } - - arguments_ = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - process['on']('unhandledRejection', abort); - - quit_ = function(status) { - process['exit'](status); - }; - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if (typeof read != 'undefined') { - read_ = function shell_read(f) { - var data = tryParseAsDataURI(f); - if (data) { - return intArrayToString(data); - } - return read(f); - }; - } - - readBinary = function readBinary(f) { - var data; - data = tryParseAsDataURI(f); - if (data) { - return data; - } - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - arguments_ = scriptArgs; - } else if (typeof arguments != 'undefined') { - arguments_ = arguments; - } - - if (typeof quit === 'function') { - quit_ = function(status) { - quit(status); - }; - } - - if (typeof print !== 'undefined') { - // Prefer to use print/printErr where they exist, as they usually work better. - if (typeof console === 'undefined') console = /** @type{!Console} */({}); - console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); - console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr !== 'undefined' ? printErr : print); - } - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document !== 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - if (scriptDirectory.indexOf('blob:') !== 0) { - scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1); - } else { - scriptDirectory = ''; - } - - // Differentiate the Web Worker from the Node Worker case, as reading must - // be done differently. - { - -// include: web_or_worker_shell_read.js - - - read_ = function(url) { - try { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - } catch (err) { - var data = tryParseAsDataURI(url); - if (data) { - return intArrayToString(data); - } - throw err; - } - }; - - if (ENVIRONMENT_IS_WORKER) { - readBinary = function(url) { - try { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - } catch (err) { - var data = tryParseAsDataURI(url); - if (data) { - return data; - } - throw err; - } - }; - } - - readAsync = function(url, onload, onerror) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = function() { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - onload(xhr.response); - return; - } - var data = tryParseAsDataURI(url); - if (data) { - onload(data.buffer); - return; - } - onerror(); - }; - xhr.onerror = onerror; - xhr.send(null); - }; - -// end include: web_or_worker_shell_read.js - } - - setWindowTitle = function(title) { document.title = title }; -} else -{ -} - -// Set up the out() and err() hooks, which are how we can print to stdout or -// stderr, respectively. -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.warn.bind(console); - -// Merge back in the overrides -for (key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = null; - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments']; - -if (Module['thisProgram']) thisProgram = Module['thisProgram']; - -if (Module['quit']) quit_ = Module['quit']; - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message - - - - -var STACK_ALIGN = 16; - -function alignMemory(size, factor) { - if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default - return Math.ceil(size / factor) * factor; -} - -function getNativeTypeSize(type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return 4; // A pointer - } else if (type[0] === 'i') { - var bits = Number(type.substr(1)); - assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); - return bits / 8; - } else { - return 0; - } - } - } -} - -function warnOnce(text) { - if (!warnOnce.shown) warnOnce.shown = {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - err(text); - } -} - -// include: runtime_functions.js - - -// Wraps a JS function as a wasm function with a given signature. -function convertJsFunctionToWasm(func, sig) { - return func; -} - -var freeTableIndexes = []; - -// Weak map of functions in the table to their indexes, created on first use. -var functionsInTableMap; - -function getEmptyTableSlot() { - // Reuse a free index if there is one, otherwise grow. - if (freeTableIndexes.length) { - return freeTableIndexes.pop(); - } - // Grow the table - try { - wasmTable.grow(1); - } catch (err) { - if (!(err instanceof RangeError)) { - throw err; - } - throw 'Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.'; - } - return wasmTable.length - 1; -} - -// Add a wasm function to the table. -function addFunctionWasm(func, sig) { - // Check if the function is already in the table, to ensure each function - // gets a unique index. First, create the map if this is the first use. - if (!functionsInTableMap) { - functionsInTableMap = new WeakMap(); - for (var i = 0; i < wasmTable.length; i++) { - var item = wasmTable.get(i); - // Ignore null values. - if (item) { - functionsInTableMap.set(item, i); - } - } - } - if (functionsInTableMap.has(func)) { - return functionsInTableMap.get(func); - } - - // It's not in the table, add it now. - - var ret = getEmptyTableSlot(); - - // Set the new value. - try { - // Attempting to call this with JS function will cause of table.set() to fail - wasmTable.set(ret, func); - } catch (err) { - if (!(err instanceof TypeError)) { - throw err; - } - var wrapped = convertJsFunctionToWasm(func, sig); - wasmTable.set(ret, wrapped); - } - - functionsInTableMap.set(func, ret); - - return ret; -} - -function removeFunction(index) { - functionsInTableMap.delete(wasmTable.get(index)); - freeTableIndexes.push(index); -} - -// 'sig' parameter is required for the llvm backend but only when func is not -// already a WebAssembly function. -function addFunction(func, sig) { - - return addFunctionWasm(func, sig); -} - -// end include: runtime_functions.js -// include: runtime_debug.js - - -// end include: runtime_debug.js -function makeBigInt(low, high, unsigned) { - return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0)); -} - -var tempRet0 = 0; - -var setTempRet0 = function(value) { - tempRet0 = value; -}; - -var getTempRet0 = function() { - return tempRet0; -}; - - - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary; -if (Module['wasmBinary']) wasmBinary = Module['wasmBinary']; -var noExitRuntime = Module['noExitRuntime'] || true; - -// include: wasm2js.js - - -// wasm2js.js - enough of a polyfill for the WebAssembly object so that we can load -// wasm2js code that way. - -// Emit "var WebAssembly" if definitely using wasm2js. Otherwise, in MAYBE_WASM2JS -// mode, we can't use a "var" since it would prevent normal wasm from working. -/** @suppress{duplicate, const} */ -var -WebAssembly = { - // Note that we do not use closure quoting (this['buffer'], etc.) on these - // functions, as they are just meant for internal use. In other words, this is - // not a fully general polyfill. - Memory: function(opts) { - this.buffer = new ArrayBuffer(opts['initial'] * 65536); - }, - - Module: function(binary) { - // TODO: use the binary and info somehow - right now the wasm2js output is embedded in - // the main JS - }, - - Instance: function(module, info) { - // TODO: use the module and info somehow - right now the wasm2js output is embedded in - // the main JS - // This will be replaced by the actual wasm2js code. - this.exports = ( -// EMSCRIPTEN_START_ASM -function instantiate(asmLibraryArg) { -function Table(ret) { - // grow method not included; table is not growable - ret.set = function(i, func) { - this[i] = func; - }; - ret.get = function(i) { - return this[i]; - }; - return ret; -} - - var bufferView; - var base64ReverseLookup = new Uint8Array(123/*'z'+1*/); - for (var i = 25; i >= 0; --i) { - base64ReverseLookup[48+i] = 52+i; // '0-9' - base64ReverseLookup[65+i] = i; // 'A-Z' - base64ReverseLookup[97+i] = 26+i; // 'a-z' - } - base64ReverseLookup[43] = 62; // '+' - base64ReverseLookup[47] = 63; // '/' - /** @noinline Inlining this function would mean expanding the base64 string 4x times in the source code, which Closure seems to be happy to do. */ - function base64DecodeToExistingUint8Array(uint8Array, offset, b64) { - var b1, b2, i = 0, j = offset, bLength = b64.length, end = offset + (bLength*3>>2) - (b64[bLength-2] == '=') - (b64[bLength-1] == '='); - for (; i < bLength; i += 4) { - b1 = base64ReverseLookup[b64.charCodeAt(i+1)]; - b2 = base64ReverseLookup[b64.charCodeAt(i+2)]; - uint8Array[j++] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4; - if (j < end) uint8Array[j++] = b1 << 4 | b2 >> 2; - if (j < end) uint8Array[j++] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i+3)]; - } - } -function initActiveSegments(imports) { - base64DecodeToExistingUint8Array(bufferView, 1025, "QAAAbCIAAEIPAAASBgAATQIAANs="); - base64DecodeToExistingUint8Array(bufferView, 1056, "7QAAAJkAAABJAAAAHgAAAAwAAAAH"); - base64DecodeToExistingUint8Array(bufferView, 1089, "QAAAk10AAL1wAADteQAAsn0AACR/AABIzQAALSsgICAwWDB4AChudWxsKQAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAAQAJCwsAAAkGCwAACwAGEQAAABEREQ=="); - base64DecodeToExistingUint8Array(bufferView, 1217, "CwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAAL"); - base64DecodeToExistingUint8Array(bufferView, 1275, "DA=="); - base64DecodeToExistingUint8Array(bufferView, 1287, "DAAAAAAMAAAAAAkMAAAAAAAMAAAM"); - base64DecodeToExistingUint8Array(bufferView, 1333, "Dg=="); - base64DecodeToExistingUint8Array(bufferView, 1345, "DQAAAAQNAAAAAAkOAAAAAAAOAAAO"); - base64DecodeToExistingUint8Array(bufferView, 1391, "EA=="); - base64DecodeToExistingUint8Array(bufferView, 1403, "DwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhIS"); - base64DecodeToExistingUint8Array(bufferView, 1458, "EgAAABISEgAAAAAAAAk="); - base64DecodeToExistingUint8Array(bufferView, 1507, "Cw=="); - base64DecodeToExistingUint8Array(bufferView, 1519, "CgAAAAAKAAAAAAkLAAAAAAALAAAL"); - base64DecodeToExistingUint8Array(bufferView, 1565, "DA=="); - base64DecodeToExistingUint8Array(bufferView, 1577, "DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGRmF0YWwgKGludGVybmFsKSBlcnJvciBpbiAlcywgbGluZSAlZDogJXMKAGFzc2VydGlvbiBmYWlsZWQ6IDAAY2VsdC9jZWx0LmMAAAAAAAAAAJ0+AEBePgDABD4AgO0+AECJPgAAAAAAwEw/AADNPQ=="); - base64DecodeToExistingUint8Array(bufferView, 1745, "/wD/AP8A/wD/AP4BAAH/AP4A/QIAAf8A/gD9AwAB/2Fzc2VydGlvbiBmYWlsZWQ6IE1BWF9GUkFNRV9MRU5HVEggPj0gcHNFbmNDLT5mcmFtZV9sZW5ndGgAc2lsay9WQUQuYwBhc3NlcnRpb24gZmFpbGVkOiBwc0VuY0MtPmZyYW1lX2xlbmd0aCA9PSA4ICogc2lsa19SU0hJRlQoIHBzRW5jQy0+ZnJhbWVfbGVuZ3RoLCAzICkAAAAAAAAwdQAAcBcAACDR//8g0f//YXNzZXJ0aW9uIGZhaWxlZDogZW5jQ29udHJvbCAhPSBOVUxMAHNpbGsvY2hlY2tfY29udHJvbF9pbnB1dC5jAGFzc2VydGlvbiBmYWlsZWQ6IDA="); - base64DecodeToExistingUint8Array(bufferView, 2048, "/fr06dS2loN4bmJVSDwxKCAZEw8NCwkIBwYFBAMCAQDS0M7Lx8G3qI5oSjQlGxQOCgYEAg=="); - base64DecodeToExistingUint8Array(bufferView, 2112, "38m3p5iKfG9iWE9GPjgyLCcjHxsYFRIQDgwKCAYEAwIBALywm4p3YUMrGgoApXdQPS8jGxQOCQQAcT8AAAAAAAwjPFNshJ20zuQPIDdNZX2Xr8nhEypCWXKJorjR5gwZMkhheJOsyN8aLEVacoeftM3hDRY1UGqCnLTN5A8ZLEBac46oxN4TGD5SZHiRqL7WFh8yT2d4l6rL4xUdLUFqfJarxOAeMUtheY6lutHlExk0Rl10j6bA2xoiPkthdpGnwtkZIThGW3GPpcTfFSIzSGF1kavE3hQdMkNadZCoxd0WHzBCX3WSqMTeGCEzTXSGnrTI4BUcRldqfJWqwtkaITVAU3WYrczhGyJBX2yBm67S4RQaSGNxg5qwyNsiKz1OXXKbsc3lFx02YXyKo7PR5R4mOFl2gZ6yyOcVHTE/VW+Oo8HeGzBNZ4Wes8TX6B0vSmN8l7DG3O0hKj1MXXmbrs/hHTVXcIiaqrzQ4xgeNFSDlqa6y+UlMEBUaHacscnmUQsKCQoJCgnvCO8ICgn8CBcJ7whICxQKWgk/CQoJ4gjiCOII4giSCLcJJAkkCQoJCgkKCSQJJAk/CTIJkAzOCiQJJAkKCeIIrQifCNUIkgicCaoJPwlaCVoJWglaCT8JZwkKCZcN8AtPCJ8I4gjiCOII7wgKCdUI0gxFDBQKWgnHCK0InwiSCJIIQggAEAUPrQg8CjwKZwkKCVoJPwkaCGoMrAw/Ca0I+QmCCSQJCgl3CK0ICg2gDaYKkgjVCJwJMgk/CZ8INQgyCXQJFwk/CVoJdAl0CXQJnAk/CcMOLQ6CCd8JPwniCOII/AifCAAItgyZDJkKHguPCRcJ/Aj8COIITwi/DOQMwQr2Co8J1QjVCMcITwg1CDkLpQtJCj8JZwkyCZIIxwjHCEIImQx9DEkKFAriCIUIxwitCK0IXQhqDO4MtApnCeII4gjiCO8IkghCCEUMyAycCQ0I7wjECT8JtwmCCYUIsw3SDAoJjApXCqoJPwlaCSQJTwhfDc8N3gvwC/wIngetCOII4gjiCEwNJg0nCH8KOQsyCXQJ4giqCewJsA6gDZ4HZApRC98JWgk/CZwJ1QjUC8gMtApIC7QKaghPCO8IugjHCG8OSQ7pB7EHZAqMChQKxAkXCT8JhwxVDTIJGghIC0gLJAm3CccIdwgKDSYNHgvcChcJagjiCO8IQggNCBcJ/AiFCHcIhQg/CUkKjAqMCvkJZwmCCa0I1QitCK0IJAl0CS8KjAreC6wM9gpIC6oJGgj8CAoJMglMCa0IaghPCO8IxAnpCukKPAoUCj8JXA6BDroILgeFCMEKpgpxCtEJnwjpClgMpgr5CR4L0QmFCFoJrQiFCNSylIFsYFVST009Ozk4MzEwLSopKCYkIh8eFQwKAwEA//X07Onh2cu+sK+hlYh9cmZbUUc8NCsjHBQTEgwLBQCzioyUl5WZl6N0Q1I7XEhkWVw="); - base64DecodeToExistingUint8Array(bufferView, 3232, "EAAAAABjQiQkIiQiIiIiU0UkNCJ0ZkZERLBmREQiQVVEVCR0jZiLqoS7uNiJhPmouYtoZmRERLLaubmq9Ni7u6r0u7vbimebuLmJdLebmIiE2bi4qqTZq5uL9Km4uaqk2N/aitaPvNqo9I2Im6qoitzbi6TbytiJqLr2uYt0udu5imRkhmRmIkREZESoy93aqKeaiGhGpPariYuJm9rbi//+/e4OAwIBAP/+/NojAwIBAP/++tA7BAIBAP/+9sJHCgIBAP/87LdSCAIBAP/867RaEQIBAP/44KthHgQBAP/+7K1fJQcB"); - base64DecodeToExistingUint8Array(bufferView, 3472, "////gwaR///////sXQ9g///////CUxlH3f////+iSSJCov///9J+SSs5rf///8l9RzA6gv///6ZuSTk+aNL///t7QTdEZKv/AAAAAAAAAAD6AAMABgADAAMAAwAEAAMAAwADAM0BAAAgAAoAFC5kAYAIAADACQAAQAwAAIAMAACgDAAAQA0AAJANAADgDQAABxcmNkVVZHSDk6KywdDf7w0ZKTdFU2Jwf46dq7vL3OwPFSIzPU5can6ImKe5zeHwChUkMj9PX25+jZ2tvc3d7REUJTM7Tllre4aWpLjN4PAKDyAzQ1FgcIGOnq29zNzsCBUlM0FPYnF+ipuos8DR2gwPIjc/TldsdoOUp7nL2+wQEyAkOE9bbHaImqu6zNztCxwrOkpZaXiHlqW0xNPi8QYQIS48S1xre4mcqbnH1uELEx4sOUpZaXmHmKm6ytrqDBMdLjlHWGR4hJSltsfY6REXIy44TVxqe4aYp7nM3u0OES01P0tZa3OEl6u8zt3wCRAdKDhHWGd3iZqrvc3e7RATJDA5TFdpdoSWp7nK2uwMER02R1FeaH6IlaS2yd3tDxwvPk9hc4GOm6i0wtDf7ggOHi0+Tl5vf4+fr8DP3+8RHjE+T1xrd4SRoK6+zNzrDhMkLT1MW2x5ipqsvc3e7gwSHy08TFtre4qaq7vM3ewNER8rNUZTZ3KDlae5y9ztERYjKjpOXW59i5uqvM7g8AgPIjJDU2Nzg5KissHR4O8NEClCSVZfb4CJlqO3zuHxERklND9LXGZ3hJCgr7/U5xMfMUFTZHWFk6Guu8jV4/ISHzREWGd1foqVo7HAz9/vEB0vPUxaaneFk6GwwdHg8A8VIzI9SVZhbneBja/G2u1JDm0LbQttC20LbQttC20LbQttC20LbQuTC5MLbQseC5AMDQycC/AL8AvCC8ILwguTC5MLwgucC0gLHgseC6YKUA+uD6ULhwyHDHYL8AseCzIMrAxtCx4LPAr5CdwKbQu8DX0MwgsfDMsLSAttC20LbQttC0gLSAtIC0gLSAvBCr4TvhN2C/UNOQ3wCw0M6QpYDFgMnAseC9EJ7AnBCkgLTBE1EIwKwQqcC8ILbQseC6ULywttC20LbQttC0gLpgokDssLnAvwC/ALOQv2CvALkAznC6UL2wzbDKUL7gyvC2sUlhPsCQoNxg05DX0MFgwwDaULjApXCn8K6QoeC3EK2RM2FAcSTBGcCVEL5wuHDGEMfwq0CkgLHgvpCh4LjAoyDEgLkwttC20LbQttC5MLkwuTC5MLbQttC5MLkwuTC2oQhwylCx8MwgtIC0gLbQucCzkLZAvLC5wLwgt9DDkLsA6wDqwMHwylC0gLbQtIC5wLdgvpCukKHgtIC0gLZAoOD64PhwwyDKwMdgvnC5MLkwsNDB4L6QrpCukK6QoUCgUP8A8dDbwNFgy0CsILdgsyDA0MHgseC1cKVwoeC/YKGxQeE5kMBQ9xDWEMUQtVDXsNjAoUCnEKtAoeC/YKwQoNEM0O2wxYDG0LSAtIC20L6Qq0CukKtArpCh4LSAv2CtkTvhPnC9kNrAzwCw0MgAsfDFELtAq0CrQKHgvpCjwK1RDVECwL3wmHDDANMA0DDAMMMA3wCx4LVwoUCqYKwQrwC2QL9gpIC7QKfwpRCx8MTgxODJAMYQzwC8ILkwseCxcRKg9tC0gLHgtICx4LHgtIC0gLSAseC0gLbQtICx4LpQtkC2QLpQulC/ALMgyQDE4M8AvCC5wLnAucC20LtAqFEDUQ7gwTDW0LkwtIC6ULpQseC+kKtAoeCx4LHgvpCvAPrg8fDMILbQttC20LSAttC20LHgseCx4L6QpIC9wKBxLfEWEMcQ2HDKULUQveCzIMtAp/Cn8Kfwq0CukKjAo1EK0QzQ5JDqYK3ApIC0gLwgucC20LHgt/Cn8K6QpIC3cQ4g3BCh4LHgtIC0gLSAttC20LSAttC20LbQuTC0gLNhQ5E9UIaA3NDpcNEw0eC+4Mlw1ODFELnAm3CcEKbQt7DWUOMgx9DB0N5wuHDIcMpQuQDA0MbQttC38K7AmCCaULwgvpCukKtArpCh4LnAvwCx8MTgxODE4MHwzCC8ILgAs5C38KpgrcCsILaA3ZDR0NrAzwC8ILkwttC0gLHgvLC4ALUQvCC8ILnAvLCx8M8AvwC8ILSAseC20LbQtIC1APfw/CC30MHQ2QDNsM2wyXDXgOcQ2mCoUInAkUCi8K4czJuLevnpqZh3dzcW5tY2JfT0Q0MjAtKyAfGxIKAwD/++vm1MnEtqemo5eKfG5oWk5MRkU5LSIYFQsGBQQDAK+UoLCyra6ksa7EtsbAtkQ+QjxIdVVadoiXjqCOmw=="); - base64DecodeToExistingUint8Array(bufferView, 5255, "AWRmZkREJCJgpGueubS5i2ZAQiQiIgABINCLjb+YuZtoYKtopmZmZoQBAAAAABAQAFBtTmu5i2dl0NSNi62Ze2ckAAAAAAAAATAAAAAAAAAgRId7d3dnRWJEZ3h2dmZHYoaInbi2mYuG0Kj4S72PeWsgMSIiIgARAtLri3u5iWmGYodotmS3q4ZkRkRGQkIig0CmZkQkAgEAhqZmRCIiQoTU9p6La2tXZmTbfXqJdmeEcoeJaatqMiKk1o2PuZd5Z8AiAAAAAAAB0G1Ku4b5n4lmbpp2V2V3ZQACACQkQkQjYKRmZCQAAiGniq5mZFQCAmRreHckxRgA//799AwDAgEA//784CYDAgEA//770TkEAgEA//70w0UEAgEA//vouFQHAgEA//7wulYOAgEA//7vslseBQEA//jjsWQTAgE="); - base64DecodeToExistingUint8Array(bufferView, 5584, "////nASa///////jZg9c///////VUxhI7P////+WTCE/1v///755TSs3uf////WJRys7i/////+DQjJCa8L//6Z0TDc1ff//AAAAAAAAAABkAAMAKAADAAMAAwAFAA4ADgAKAAsAAwAIAAkABwADAFsBAAAgABAAZiarASAOAAAgEAAAIBQAAGAUAACAFAAAgBUAANAVAAAgFgAAAAAAAFzKvti235rinOZ47Hr0zPw0A4YLiBNkGWYdSiBCJ6Q1+ff29fTq0srJyMWuUjs4NzYuFgwLCgkHAEAAy5YA18OmfW5SAAAAAKsWAACuFgAAeACAQADongoA5gDz3cC1AGQA8AAgAGQAzTwAMAAgq1UAwIBAAM2aZjMA1auAVSsA4MCggGBAIABkKBAHAwEAAApn8g5WzeQdCmfyDnVSggxZmgQZdVKCDEYRMQrtA2IURhExCtoC1wf5xq0P2gLXByK2UgXa+qQKIrZSBQAAAABG8y4eK+NLDh9mgBgcLB0K2mFIEu2c9AbsMBML45ClBO2kHQIK32sDAAAAAAAAAAAqr9XJz/9AABEAY/9hARD+owAnK71W2f8GAFsAVv+6ABcAgPzAGNhN7f/c/2YAp//o/0gBSfwICiU+AAAAAAAAh8c9yUAAgACG/yQANgEA/UgCMyRFRQwAgAASAHL/IAGL/5/8GxB7OAAAAAAAAAAAaAINyPb/JwA6ANL/rP94ALgAxf7j/QQFBBVAIwAAAADmPsbE8/8AABQAGgAFAOH/1f/8/0EAWgAHAGP/CP/U/1ECLwY0CscMAAAAAAAAAADkVwXFAwDy/+z/8f8CABkAJQAZAPD/uf+V/7H/MgAkAW8C1gMIBbgFAAAAAAAAAACUa2fEEQAMAAgAAQD2/+r/4v/g/+r/AwAsAGQAqADzAD0BfQGtAccBE/WV5lkS8ykfBlQg"); - base64DecodeToExistingUint8Array(bufferView, 6304, "vQCo/WkCZ3d1AGH/0vsIdDQA3QCo9nRu/P8RAury5WbQ//YCjPClXbD/iQN17wZTnf/MA4LvZkeV/8cDi/AnO5n/gANh8q4upf8FA8/0XiK5/2MCofeYFtL/qQGh+rQLYXNzZXJ0aW9uIGZhaWxlZDogMABzaWxrL3Jlc2FtcGxlcl9wcml2YXRlX2Rvd25fRklSLmMAYXNzZXJ0aW9uIGZhaWxlZDogMABzaWxrL3Jlc2FtcGxlci5jAAYAAwAHAwABCgACBhIKDAQAAgAAAAkEBwQAAwwHB2Fzc2VydGlvbiBmYWlsZWQ6IGluTGVuID49IFMtPkZzX2luX2tIegBhc3NlcnRpb24gZmFpbGVkOiBTLT5pbnB1dERlbGF5IDw9IFMtPkZzX2luX2tIegBhc3NlcnRpb24gZmFpbGVkOiBmc19rSHogPT0gOCB8fCBmc19rSHogPT0gMTIgfHwgZnNfa0h6ID09IDE2AHNpbGsvY29udHJvbF9jb2RlYy5jAGFzc2VydGlvbiBmYWlsZWQ6IHBzRW5jLT5zQ21uLm5iX3N1YmZyID09IDIgfHwgcHNFbmMtPnNDbW4ubmJfc3ViZnIgPT0gNABhc3NlcnRpb24gZmFpbGVkOiAoIHBzRW5jLT5zQ21uLnN1YmZyX2xlbmd0aCAqIHBzRW5jLT5zQ21uLm5iX3N1YmZyICkgPT0gcHNFbmMtPnNDbW4uZnJhbWVfbGVuZ3RoAGFzc2VydGlvbiBmYWlsZWQ6IENvbXBsZXhpdHkgPj0gMCAmJiBDb21wbGV4aXR5IDw9IDEwAGFzc2VydGlvbiBmYWlsZWQ6IHBzRW5jQy0+cGl0Y2hFc3RpbWF0aW9uTFBDT3JkZXIgPD0gTUFYX0ZJTkRfUElUQ0hfTFBDX09SREVSAGFzc2VydGlvbiBmYWlsZWQ6IF9mdD4xAGNlbHQvZW50ZW5jLmMAYXNzZXJ0aW9uIGZhaWxlZDogX2JpdHM+MABhc3NlcnRpb24gZmFpbGVkOiBfbmJpdHM8PUVDX1NZTV9CSVRTAGFzc2VydGlvbiBmYWlsZWQ6IF90aGlzLT5vZmZzK190aGlzLT5lbmRfb2Zmczw9X3NpemUAYXNzZXJ0aW9uIGZhaWxlZDogbiA8IDI1AHNpbGsvc3RlcmVvX2VuY29kZV9wcmVkLmMAYXNzZXJ0aW9uIGZhaWxlZDogaXhbIG4gXVsgMCBdIDwgMwBhc3NlcnRpb24gZmFpbGVkOiBpeFsgbiBdWyAxIF0gPCBTVEVSRU9fUVVBTlRfU1VCX1NURVBTAAAAAADgcCwPAwIBAP7twIRGFwQA//zimz0LAg=="); - base64DecodeToExistingUint8Array(bufferView, 7328, "+vXqy0cyKiYjIR8dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQCzYwBHOCseFQwG"); - base64DecodeToExistingUint8Array(bufferView, 7392, "x6WQfG1gVEc9MyogFw8IAPHh08e7r6SZjoR7cmlgWFBIQDkyLCYhHRgUEAwJBQIAzBwAAOAcAADwHAAAD4OKipubra0="); - base64DecodeToExistingUint8Array(bufferView, 7472, "RV1zdoOKjYqWlpuWm6CmoIOAho2NjZGRkZabm5uboKCgoKamra22wLbAwMDNwM3gHB0AADAdAABAHQAAAAAAAAQGGAcFAAACAAAMHCkN/PcPKhkOAf4+Kff2JUH8A/oEQgf4EA4m/SEAAAAAAAAAAA0WJxcM/yRAG/r5CjcrEQEBCAEBBvVKNff0N0z0CP0DXRv8Gic7A/gCAE0LCfgWLPoHKAkaAwn5FGX5BAP4KhoA8SFEAhf+Ny7+DwP/FRAp+hs9JwX1KlgEAf48QQb8//tJOAH3E14d9wAMYwYECO1mLvMDAg0DAgnrVEju9S5o6ggSJjAXAPBGU+sLBfV1Fvj6F3X0AwP4XxwE9g9NPPH/BHwC/AMmVBjnAg0qDR8V/Dgu//8jT/MT+UFY9/IUBFEx4xQASwPvBfcsXPgB/RZFH/pfKfQFJ0MQ/AEA+ng33PMsegToUQULAwcCAAkKWHAdAACgHQAA8B0AAC4CWlddW1Ji"); - base64DecodeToExistingUint8Array(bufferView, 7856, "bXh2DHFzdXdjO1dvP29wUH58fXyBeX4XhH9/f35/eoWChmV2d5F+Vnx4e3eqrWttnB4AALAeAADAHgAACBAgYXNzZXJ0aW9uIGZhaWxlZDogdHlwZU9mZnNldCA+PSAwICYmIHR5cGVPZmZzZXQgPCA2AHNpbGsvZW5jb2RlX2luZGljZXMuYwBhc3NlcnRpb24gZmFpbGVkOiBlbmNvZGVfTEJSUiA9PSAwIHx8IHR5cGVPZmZzZXQgPj0gMgBhc3NlcnRpb24gZmFpbGVkOiBwc0VuY0MtPnBzTkxTRl9DQi0+b3JkZXIgPT0gcHNFbmNDLT5wcmVkaWN0TFBDT3JkZXIACAoMEAAAAAAAAAB9MxoSDwwLCgkIBwYFBAMCAQDGaS0WDwwLCgkIBwYFBAMCAQDVonRTOysgGBIPDAkHBgUDAgDvu3Q7HBALCgkIBwYFBAMCAQD65byHVjMeEw0KCAYFBAMCAQD569W5nIBnU0I1KiEaFRENCgD++evOpHZNLhsQCgcFBAMCAQD//fnv3L+cd1U5JRcPCgYEAgD//fv27d/Ls5h8Yks3KB0VDwD//v333KJqQyocEgwJBgQDAg=="); - base64DecodeToExistingUint8Array(bufferView, 8320, "HzlroM3N////////////////RS9Db6bN////////////////UkpPX22AkaCtzc3N4P//4P/gfUo7RWGNtv//////////////rXNVSUxcc5GtzeDg////////poZxZmVma3Z9ipGbprbAwM2W4LaGZVNPVWF4ka3N4P///////+DAlnhlXFldZnaGoLbA4ODg/+DgtpuGdm1oZmpvdoORoK2D"); - base64DecodeToExistingUint8Array(bufferView, 8496, "8b6yhFdKKQ4A38GdjGo5JxI="); - base64DecodeToExistingUint8Array(bufferView, 8528, "g0qNT1CKX2iGX2NbfV1Me3N7"); - base64DecodeToExistingUint8Array(bufferView, 8560, "gADWKgDrgBUA9LhICwD41oAqBwD44apQGQUA++zGfjYSAwD67tOfUiMPBQD658uogFg1GQYA/O7YuZRsRygSBAD98+HHpoBaOR8NAwD+9unUt5NtSSwXCgIA//rw38amgFo6IRAGAQD/+/Tn0rWSbksuGQwFAQD//fju3cSkgFw8IxIIAwEA//358uXQtJJuTDAbDgcDAQ=="); - base64DecodeToExistingUint8Array(bufferView, 8720, "gQDPMgDsgRQA9blICgD51YEqBgD64qlXGwQA++nCgj4UBAD67M+gYy8RAwD/8Nm2g1EpCwEA//7pyZ9rPRQCAQD/+enOqoBWMhcHAQD/+u7ZupRsRicSBgEA//zz4simgFo4Hg0EAQD//PXn0bSSbkwvGQsEAQD//fjt28KjgF0+JRMIAwEA//768eLNsZFvTzMeDwYCAQ=="); - base64DecodeToExistingUint8Array(bufferView, 8880, "gQDLNgDqgRcA9bhJCgD614EpBQD86K1WGAMA/fDIgTgPAgD99NmkXiYKAQD99eK9hEcbBwEA/fbny59pOBcGAQD/+OvVs4VVLxMFAQD//vPdwp91RiUMAgEA//746tCrgFUwFggCAQD//vrw3L2Va0MkEAYCAQD//vvz48mmgFo3HQ0FAgEA//789urVt5NtSSsWCgQCAQ=="); - base64DecodeToExistingUint8Array(bufferView, 9040, "ggDIOgDnghoA9LhMDAD51oIrBgD86K1XGAMA/fHLgzgOAgD+9t2nXiMIAQD++ejBgkEXBQEA//vv06JjLQ8EAQD/+/PfuoNKIQsDAQD//PXmyp5pORgIAgEA//3369azhFQsEwcCAQD//vrw38SfcEUkDwYCAQD//v3159GwiF03GwsDAgEA//79/O/dwp51TCoSBAMCAQ=="); - base64DecodeToExistingUint8Array(bufferView, 9202, "AgUJDhQbIyw2QU1aaHeH"); - base64DecodeToExistingUint8Array(bufferView, 9232, "/jFDTVJdY8YLEhgfJC3/LkJOV15o0A4VICozQv9eaG1wc3b4NUVQWF9mYXNzZXJ0aW9uIGZhaWxlZDogX2Z0PjEAY2VsdC9lbnRkZWMuYwBhc3NlcnRpb24gZmFpbGVkOiBmcmFtZV9sZW5ndGggPT0gMTIgKiAxMABzaWxrL2VuY29kZV9wdWxzZXMuYwBhc3NlcnRpb24gZmFpbGVkOiB3aW5fdHlwZSA9PSAxIHx8IHdpbl90eXBlID09IDIAc2lsay9mbG9hdC9hcHBseV9zaW5lX3dpbmRvd19GTFAuYwBhc3NlcnRpb24gZmFpbGVkOiAoIGxlbmd0aCAmIDMgKSA9PSAwAGFzc2VydGlvbiBmYWlsZWQ6IG9yZGVyID49IDAgJiYgb3JkZXIgPD0gU0lMS19NQVhfT1JERVJfTFBDAHNpbGsvZmxvYXQvc2NodXJfRkxQLmMAYXNzZXJ0aW9uIGZhaWxlZDogT3JkZXIgPD0gbGVuZ3RoAHNpbGsvZmxvYXQvTFBDX2FuYWx5c2lzX2ZpbHRlcl9GTFAuYwBhc3NlcnRpb24gZmFpbGVkOiAwAGNlbHQvY2VsdF9scGMuYwBhc3NlcnRpb24gZmFpbGVkOiBuPjAAYXNzZXJ0aW9uIGZhaWxlZDogb3ZlcmxhcD49MABhc3NlcnRpb24gZmFpbGVkOiBtYXhfcGl0Y2g+MABjZWx0L3BpdGNoLmMAYXNzZXJ0aW9uIGZhaWxlZDogbGVuPjA="); - base64DecodeToExistingUint8Array(bufferView, 9816, "AwAAAAIAAAADAAAAAgAAAAUAAAACAAAAAwAAAAIAAAADAAAAAgAAAAUAAAACAAAAAwAAAAIAAABhc3NlcnRpb24gZmFpbGVkOiBsZW4+PTMALi9jZWx0L3BpdGNoLmgAYXNzZXJ0aW9uIGZhaWxlZDogSyA+IDAAc2lsay9mbG9hdC9zb3J0X0ZMUC5jAGFzc2VydGlvbiBmYWlsZWQ6IEwgPiAwAGFzc2VydGlvbiBmYWlsZWQ6IEwgPj0gSwAAAQAAAAEAAAAAAAH/Af8C/gL+A/0AAQAB/wL/Av4D/gP9B/4HAAAAAAAC////AAABAQABAAEAAAAAAAEAAAAAAAEAAAABAAAAAAD/AgEAAQEAAP//AAAAAAAAAf8AAf8A/wH+Av7+Av0CA/38A/wEBPsF+vsG+QYFCPcAAAEAAAAAAAAA/wEAAAH/AAH//wH/AgH/Av7+Av4CAgP9AAEAAAAAAAABAAEAAAH/AQAAAgH/Av//Av8CAv8D/v7+AwABAAABAAH/Av8C/wID/gP+/gQE/QX9/Ab8BgX7CPr7+QkAAAAAAAAAAPsI/wb/BvwK+gr+Bv8G+wr3DP0H/gf5DRAYImFzc2VydGlvbiBmYWlsZWQ6IEZzX2tIeiA9PSA4IHx8IEZzX2tIeiA9PSAxMiB8fCBGc19rSHogPT0gMTYAc2lsay9mbG9hdC9waXRjaF9hbmFseXNpc19jb3JlX0ZMUC5jAGFzc2VydGlvbiBmYWlsZWQ6IGNvbXBsZXhpdHkgPj0gU0lMS19QRV9NSU5fQ09NUExFWABhc3NlcnRpb24gZmFpbGVkOiBjb21wbGV4aXR5IDw9IFNJTEtfUEVfTUFYX0NPTVBMRVgAYXNzZXJ0aW9uIGZhaWxlZDogRnNfa0h6ID09IDgAYXNzZXJ0aW9uIGZhaWxlZDogdGFyZ2V0X3B0ciArIHNmX2xlbmd0aF84a0h6IDw9IGZyYW1lXzRrSHogKyBmcmFtZV9sZW5ndGhfNGtIegBhc3NlcnRpb24gZmFpbGVkOiBiYXNpc19wdHIgPj0gZnJhbWVfNGtIegBhc3NlcnRpb24gZmFpbGVkOiBiYXNpc19wdHIgKyBzZl9sZW5ndGhfOGtIeiA8PSBmcmFtZV80a0h6ICsgZnJhbWVfbGVuZ3RoXzRrSHoAYXNzZXJ0aW9uIGZhaWxlZDogbGVuZ3RoX2Rfc3JjaCA+IDAAYXNzZXJ0aW9uIGZhaWxlZDogKmxhZ0luZGV4ID49IDAAYXNzZXJ0aW9uIGZhaWxlZDogbmJfc3ViZnIgPT0gUEVfTUFYX05CX1NVQkZSID4+IDEAYXNzZXJ0aW9uIGZhaWxlZDogYnVmX2xlbiA+PSBwc0VuYy0+c0Ntbi5waXRjaF9MUENfd2luX2xlbmd0aABzaWxrL2Zsb2F0L2ZpbmRfcGl0Y2hfbGFnc19GTFAuYw=="); - base64DecodeToExistingUint8Array(bufferView, 10934, "4D8AAAAAAADgv2Fzc2VydGlvbiBmYWlsZWQ6ICggb3JkZXIgJiAxICkgPT0gMABzaWxrL2Zsb2F0L3dhcnBlZF9hdXRvY29ycmVsYXRpb25fRkxQLmMAAAAAXT1/Zp6g5j8AAAAAAIg5PUQXdfpSsOY/AAAAAAAA2Dz+2Qt1EsDmPwAAAAAAeCi9v3bU3dzP5j8AAAAAAMAePSkaZTyy3+Y/AAAAAAAA2LzjOlmYku/mPwAAAAAAALy8hpNR+X3/5j8AAAAAANgvvaMt9GZ0D+c/AAAAAACILL3DX+zodR/nPwAAAAAAwBM9Bc/qhoIv5z8AAAAAADA4vVKBpUiaP+c/AAAAAADAAL38zNc1vU/nPwAAAAAAiC898WdCVutf5z8AAAAAAOADPUhtq7EkcOc/AAAAAADQJ704Xd5PaYDnPwAAAAAAAN28AB2sOLmQ5z8AAAAAAADjPHgB63MUoec/AAAAAAAA7bxg0HYJe7HnPwAAAAAAQCA9M8EwAe3B5z8AAAAAAACgPDaG/2Jq0uc/AAAAAACQJr07Ts828+LnPwAAAAAA4AK96MORhIfz5z8AAAAAAFgkvU4bPlQnBOg/AAAAAAAAMz0aB9Gt0hToPwAAAAAAAA89fs1MmYkl6D8AAAAAAMAhvdBCuR5MNug/AAAAAADQKT21yiNGGkfoPwAAAAAAEEc9vFufF/RX6D8AAAAAAGAiPa+RRJvZaOg/AAAAAADEMr2VozHZynnoPwAAAAAAACO9uGWK2ceK6D8AAAAAAIAqvQBYeKTQm+g/AAAAAAAA7bwjoipC5azoPwAAAAAAKDM9+hnWugW+6D8AAAAAALRCPYNDtRYyz+g/AAAAAADQLr1MZgheauDoPwAAAAAAUCC9B3gVma7x6D8AAAAAACgoPQ4sKND+Auk/AAAAAACwHL2W/5ELWxTpPwAAAAAA4AW9+S+qU8Ml6T8AAAAAAED1PErGzbA3N+k/AAAAAAAgFz2umF8ruEjpPwAAAAAAAAm9y1LIy0Ra6T8AAAAAAGglPSFvdprda+k/AAAAAADQNr0qTt6fgn3pPwAAAAAAAAG9oyN65DOP6T8AAAAAAAAtPQQGynDxoOk/AAAAAACkOL2J/1NNu7LpPwAAAAAAXDU9W/GjgpHE6T8AAAAAALgmPcW4Sxl01uk/AAAAAAAA7LyOI+MZY+jpPwAAAAAA0Bc9AvMHjV766T8AAAAAAEAWPU3lXXtmDOo/AAAAAAAA9bz2uI7teh7qPwAAAAAA4Ak9Jy5K7Jsw6j8AAAAAANgqPV0KRoDJQuo/AAAAAADwGr2bJT6yA1XqPwAAAAAAYAs9E2L0ikpn6j8AAAAAAIg4PaezMBOeeeo/AAAAAAAgET2NLsFT/ovqPwAAAAAAwAY90vx5VWue6j8AAAAAALgpvbhvNSHlsOo/AAAAAABwKz2B89O/a8PqPwAAAAAAANk8gCc8Ov/V6j8AAAAAAADkPKPSWpmf6Oo/AAAAAACQLL1n8yLmTPvqPwAAAAAAUBY9kLeNKQcO6z8AAAAAANQvPamJmmzOIOs/AAAAAABwEj1LGk+4ojPrPwAAAAAAR00950e3FYRG6z8AAAAAADg4vTpZ5Y1yWes/AAAAAAAAmDxqxfEpbmzrPwAAAAAA0Ao9UF778nZ/6z8AAAAAAIDePLJJJ/KMkus/AAAAAADABL0DBqEwsKXrPwAAAAAAcA29Zm+at+C46z8AAAAAAJANPf/BS5AezOs/AAAAAACgAj1vofPDad/rPwAAAAAAeB+9uB3XW8Ly6z8AAAAAAKAQvemyQWEoBuw/AAAAAABAEb3gUoXdmxnsPwAAAAAA4As97mT62Rwt7D8AAAAAAEAJvS/Q/1+rQOw/AAAAAADQDr0V/fp4R1TsPwAAAAAAZjk9y9BXLvFn7D8AAAAAABAavbbBiImoe+w/AAAAAIBFWL0z5waUbY/sPwAAAAAASBq938RRV0Cj7D8AAAAAAADLPJSQ79wgt+w/AAAAAABAAT2JFm0uD8vsPwAAAAAAIPA8EsRdVQvf7D8AAAAAAGDzPDurW1sV8+w/AAAAAACQBr28iQdKLQftPwAAAAAAoAk9+sgIK1Mb7T8AAAAAAOAVvYWKDQiHL+0/AAAAAAAoHT0DosrqyEPtPwAAAAAAoAE9kaT73BhY7T8AAAAAAADfPKHmYuh2bO0/AAAAAACgA71Og8kW44DtPwAAAAAA2Ay9kGD/cV2V7T8AAAAAAMD0PK4y2wPmqe0/AAAAAACQ/zwlgzrWfL7tPwAAAAAAgOk8RbQB8yHT7T8AAAAAACD1vL8FHGTV5+0/AAAAAABwHb3smnszl/ztPwAAAAAAFBa9Xn0Za2cR7j8AAAAAAEgLPeej9RRGJu4/AAAAAADOQD1c7hY7MzvuPwAAAAAAaAw9tD+L5y5Q7j8AAAAAADAJvWhtZyQ5Ze4/AAAAAAAA5bxETMf7UXruPwAAAAAA+Ae9JrfNd3mP7j8AAAAAAHDzvOiQpKKvpO4/AAAAAADQ5TzkynyG9LnuPwAAAAAAGhY9DWiOLUjP7j8AAAAAAFD1PBSFGKKq5O4/AAAAAABAxjwTWmHuG/ruPwAAAAAAgO68BkG2HJwP7z8AAAAAAIj6vGO5azcrJe8/AAAAAACQLL11ct1IyTrvPwAAAAAAAKo8JEVuW3ZQ7z8AAAAAAPD0vP1EiHkyZu8/AAAAAACAyjw4vpyt/XvvPwAAAAAAvPo8gjwkAtiR7z8AAAAAAGDUvI6QnoHBp+8/AAAAAAAMC70R1ZI2ur3vPwAAAAAA4MC8lHGPK8LT7z8AAAAAgN4Qve4jKmvZ6e8/AAAAAABD7jwAAAAAAADwPwAAAAAAAAAAvrxa+hoL8D8AAAAAAECzvAMz+6k9FvA/AAAAAAAXEr2CAjsUaCHwPwAAAAAAQLo8bIB3Ppos8D8AAAAAAJjvPMq7ES7UN/A/AAAAAABAx7yJf27oFUPwPwAAAAAAMNg8Z1T2cl9O8D8AAAAAAD8avVqFFdOwWfA/AAAAAACEAr2VHzwOCmXwPwAAAAAAYPE8GvfdKWtw8D8AAAAAACQVPS2ocivUe/A/AAAAAACg6bzQm3UYRYfwPwAAAAAAQOY8yAdm9r2S8D8AAAAAAHgAvYPzxso+nvA/AAAAAAAAmLwwOR+bx6nwPwAAAAAAoP88/Ij5bFi18D8AAAAAAMj6vIps5EXxwPA/AAAAAADA2TwWSHIrkszwPwAAAAAAIAU92F05IzvY8D8AAAAAAND6vPPR0zLs4/A/AAAAAACsGz2mqd9fpe/wPwAAAAAA6AS98NL+r2b78D8AAAAAADANvUsj1ygwB/E/AAAAAABQ8TxbWxLQARPxPwAAAAAAAOw8+Speq9se8T8AAAAAALwWPdUxbMC9KvE/AAAAAABA6Dx9BPIUqDbxPwAAAAAA0A696S2prppC8T8AAAAAAODoPDgxT5OVTvE/AAAAAABA6zxxjqXImFrxPwAAAAAAMAU938NxVKRm8T8AAAAAADgDPRFSfTy4cvE/AAAAAADUKD2fu5WG1H7xPwAAAAAA0AW9k42MOPmK8T8AAAAAAIgcvWZdN1gml/E/AAAAAADwET2ny2/rW6PxPwAAAAAASBA944cT+Jmv8T8AAAAAADlHvVRdBITgu/E/AAAAAADkJD1DHCiVL8jxPwAAAAAAIAq9srloMYfU8T8AAAAAAIDjPDFAtF7n4PE/AAAAAADA6jw42fwiUO3xPwAAAAAAkAE99804hMH58T8AAAAAAHgbvY+NYog7BvI/AAAAAACULT0eqHg1vhLyPwAAAAAAANg8Qd19kUkf8j8AAAAAADQrPSMTeaLdK/I/AAAAAAD4GT3nYXVuejjyPwAAAAAAyBm9JxSC+x9F8j8AAAAAADACPQKmsk/OUfI/AAAAAABIE72wzh5xhV7yPwAAAAAAcBI9Fn3iZUVr8j8AAAAAANARPQ/gHTQOePI/AAAAAADuMT0+Y/Xh34TyPwAAAAAAwBS9MLuRdbqR8j8AAAAAANgTvQnfH/WdnvI/AAAAAACwCD2bDtFmiqvyPwAAAAAAfCK9Otra0H+48j8AAAAAADQqPfkadzl+xfI/AAAAAACAEL3ZAuSmhdLyPwAAAAAA0A69eRVkH5bf8j8AAAAAACD0vM8uPqmv7PI/AAAAAACYJL0iiL1K0vnyPwAAAAAAMBa9JbYxCv4G8z8AAAAAADYyvQul7u0yFPM/AAAAAIDfcL2410z8cCHzPwAAAAAASCK9oumoO7gu8z8AAAAAAJglvWYXZLIIPPM/AAAAAADQHj0n+uNmYknzPwAAAAAAANy8D5+SX8VW8z8AAAAAANgwvbmI3qIxZPM/AAAAAADIIj05qjo3p3HzPwAAAAAAYCA9/nQeIyZ/8z8AAAAAAGAWvTjYBW2ujPM/AAAAAADgCr3DPnEbQJrzPwAAAAAAckS9IKDlNNun8z8AAAAAACAIPZVu7L9/tfM/AAAAAACAPj3yqBPDLcPzPwAAAAAAgO88IuHtROXQ8z8AAAAAAKAXvbs0Ekym3vM/AAAAAAAwJj3MThzfcOzzPwAAAAAApki9jH6sBEX68z8AAAAAANw8vbugZ8MiCPQ/AAAAAAC4JT2VLvchChb0PwAAAAAAwB49RkYJJ/sj9D8AAAAAAGATvSCpUNn1MfQ/AAAAAACYIz3ruYQ/+j/0PwAAAAAAAPo8GYlhYAhO9D8AAAAAAMD2vAHSp0IgXPQ/AAAAAADAC70WAB3tQWr0PwAAAAAAgBK9JjOLZm149D8AAAAAAOAwPQA8wbWihvQ/AAAAAABALb0Er5Lh4ZT0PwAAAAAAIAw9ctPX8Cqj9D8AAAAAAFAevQG4bep9sfQ/AAAAAACABz3hKTbV2r/0PwAAAAAAgBO9MsEXuEHO9D8AAAAAAIAAPdvd/Zmy3PQ/AAAAAABwLD2Wq9iBLev0PwAAAAAA4By9Ai2ddrL59D8AAAAAACAZPcExRX9BCPU/AAAAAADACL0qZs+i2hb1PwAAAAAAAPq86lE/6H0l9T8AAAAAAAhKPdpOnVYrNPU/AAAAAADYJr0arPb04kL1PwAAAAAARDK925RdyqRR9T8AAAAAADxIPWsR6d1wYPU/AAAAAACwJD3eKbU2R2/1PwAAAAAAWkE9DsTi2yd+9T8AAAAAAOApvW/Hl9QSjfU/AAAAAAAII71MC/8nCJz1PwAAAAAA7E09J1RI3Qer9T8AAAAAAADEvPR6qPsRuvU/AAAAAAAIMD0LRlmKJsn1PwAAAAAAyCa9P46ZkEXY9T8AAAAAAJpGPeEgrRVv5/U/AAAAAABAG73K69wgo/b1PwAAAAAAcBc9uNx2ueEF9j8AAAAAAPgmPRX3zeYqFfY/AAAAAAAAAT0xVTqwfiT2PwAAAAAA0BW9tSkZHd0z9j8AAAAAANASvRPDzDRGQ/Y/AAAAAACA6rz6jrz+uVL2PwAAAAAAYCi9lzNVgjhi9j8AAAAAAP5xPY4yCMfBcfY/AAAAAAAgN71+qUzUVYH2PwAAAAAAgOY8cZSesfSQ9j8AAAAAAHgpvQAg/h/2H+of2B/CH6gfiB9iHzofCh/YHqAeYh4iHtwdkB1CHe4clhw6HNgbchsKG5waKhq0GToZvBg8GLYXLhegFhAWfhXoFE4UsBMQE24SyBEeEXQQxg8WD2QOrg34DEAMhAvICgoKSgmKCMYHAgc+BngFsgTqAyIDWgKSAcoAAAA2/27+pv3e/Bb8TvuI+sL5/vg6+Hb3tvb29Tj1fPTA8wjzUvKc8erwOvCM7+LuOO6S7fDsUOyy6xjrgurw6WDp0uhK6MTnROfG5kzm1uVk5fbkjuQo5MbjauMS477icOIk4t7hnuFg4Sjh9uDG4J7geOBY4D7gKOAW4ArgAuAA4A=="); - base64DecodeToExistingUint8Array(bufferView, 15393, "DwgHBAsMAwINCgUGCQ4BAAkGAwQFCAECB2Fzc2VydGlvbiBmYWlsZWQ6IGQ9PTEwIHx8IGQ9PTE2AHNpbGsvTkxTRjJBLmMAYXNzZXJ0aW9uIGZhaWxlZDogRCA+IDAAc2lsay9OTFNGX1ZRX3dlaWdodHNfbGFyb2lhLmMAYXNzZXJ0aW9uIGZhaWxlZDogKCBEICYgMSApID09IDAAYXNzZXJ0aW9uIGZhaWxlZDogaWZhY3RfUTIgPj0gMABzaWxrL2ludGVycG9sYXRlLmMAYXNzZXJ0aW9uIGZhaWxlZDogaWZhY3RfUTIgPD0gNABhc3NlcnRpb24gZmFpbGVkOiBLID4gMABzaWxrL3NvcnQuYwBhc3NlcnRpb24gZmFpbGVkOiBMID4gMABhc3NlcnRpb24gZmFpbGVkOiBMID49IEsAYXNzZXJ0aW9uIGZhaWxlZDogKCBMUENfb3JkZXIgJiAxICkgPT0gMABzaWxrL05MU0ZfVlEuYwBhc3NlcnRpb24gZmFpbGVkOiBzaWduYWxUeXBlID49IDAgJiYgc2lnbmFsVHlwZSA8PSAyAHNpbGsvTkxTRl9lbmNvZGUuYwBhc3NlcnRpb24gZmFpbGVkOiBwc0VuY0MtPnVzZUludGVycG9sYXRlZE5MU0ZzID09IDEgfHwgcHNFbmNDLT5pbmRpY2VzLk5MU0ZJbnRlcnBDb2VmX1EyID09ICggMSA8PCAyICkAc2lsay9wcm9jZXNzX05MU0ZzLmMAYXNzZXJ0aW9uIGZhaWxlZDogTkxTRl9tdV9RMjAgPiAwAGFzc2VydGlvbiBmYWlsZWQ6IHBzRW5jQy0+cHJlZGljdExQQ09yZGVyIDw9IE1BWF9MUENfT1JERVIAYXNzZXJ0aW9uIGZhaWxlZDogZCA+PSA2AHNpbGsvTFBDX2FuYWx5c2lzX2ZpbHRlci5jAGFzc2VydGlvbiBmYWlsZWQ6IChkICYgMSkgPT0gMABhc3NlcnRpb24gZmFpbGVkOiBkIDw9IGxlbgBhc3NlcnRpb24gZmFpbGVkOiBzdGFydF9pZHggPiAwAHNpbGsvTlNRX2RlbF9kZWMuYwBhc3NlcnRpb24gZmFpbGVkOiBuU3RhdGVzRGVsYXllZERlY2lzaW9uID4gMABhc3NlcnRpb24gZmFpbGVkOiAoIHNoYXBpbmdMUENPcmRlciAmIDEgKSA9PSAwAGFzc2VydGlvbiBmYWlsZWQ6IHN0YXJ0X2lkeCA+IDAAc2lsay9OU1EuYwBhc3NlcnRpb24gZmFpbGVkOiAoIHNoYXBpbmdMUENPcmRlciAmIDEgKSA9PSAwAGFzc2VydGlvbiBmYWlsZWQ6IGxhZyA+IDAgfHwgc2lnbmFsVHlwZSAhPSBUWVBFX1ZPSUNFRABhc3NlcnRpb24gZmFpbGVkOiBzdWJmcl9sZW5ndGggKiBuYl9zdWJmciA8PSBNQVhfRlJBTUVfU0laRQBzaWxrL2Zsb2F0L2J1cmdfbW9kaWZpZWRfRkxQLmMAYXNzZXJ0aW9uIGZhaWxlZDogcHNFbmNDLT5pbmRpY2VzLk5MU0ZJbnRlcnBDb2VmX1EyID09IDQgfHwgKCBwc0VuY0MtPnVzZUludGVycG9sYXRlZE5MU0ZzICYmICFwc0VuY0MtPmZpcnN0X2ZyYW1lX2FmdGVyX3Jlc2V0ICYmIHBzRW5jQy0+bmJfc3ViZnIgPT0gTUFYX05CX1NVQkZSICkAc2lsay9mbG9hdC9maW5kX0xQQ19GTFAuYwBhc3NlcnRpb24gZmFpbGVkOiBwc0VuYy0+c0Ntbi5sdHBfbWVtX2xlbmd0aCAtIHBzRW5jLT5zQ21uLnByZWRpY3RMUENPcmRlciA+PSBwc0VuY0N0cmwtPnBpdGNoTFsgMCBdICsgTFRQX09SREVSIC8gMgBzaWxrL2Zsb2F0L2ZpbmRfcHJlZF9jb2Vmc19GTFAuYwBhc3NlcnRpb24gZmFpbGVkOiBzUmFuZ2VFbmNfY29weTIub2ZmcyA8PSAxMjc1AHNpbGsvZmxvYXQvZW5jb2RlX2ZyYW1lX0ZMUC5jAGFzc2VydGlvbiBmYWlsZWQ6IHBzUmFuZ2VFbmMtPm9mZnMgPD0gMTI3NQ=="); - base64DecodeToExistingUint8Array(bufferView, 17025, "Dyc0PURKT1RYXF9jZmlsb3J1d3p8foGDhYeJi46PkZOVl5mbnZ6goqOlp6iqq62usLGztLa3ubq7vb7AwcLExcfIycvMzc/Q0dPU1dfY2dvc3d/g4ePk5ufo6uvs7u/x8vP19vj5+vz9/wAAAAAAAAAcKzQ7QUZKTlFVV1pdX2JkZmlrbW9xc3R2eHp7fX+AgoOFhoiJioyNj5CRk5SVl5iZmpydnp+goqOkpaanqKmrrK2ur7CxsrO0tba3uLm6u7y8vb6/wMHCw8TFxsfIycrLy8zNzs/Q0dLT1NXW1tfY2drb3N3e3+Dg4eLj5OXm5+jp6uvs7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAAAAAAAAAAgdKTE4PkJGSk1QU1ZYW11fYWNlZ2lrbG5wcXN0dnd5ent9fn+BgoOEhoeIiYqMjY6PkJGSk5SVlpeYmZqcnZ6fn6ChoqOkpaanqKmqq6usra6vsLGxsrO0tbW2t7i5ubq7vL29vr/AwMHCw8PExcbGx8jIycrLy8zNzs7P0NHR0tPT1NXW1tfY2Nna29vc3d3e3+Dg4eLi4+Tl5ebn6Ojp6urr7O3t7u/w8PHy8/P09fb29/j5+fr7/P3/YXNzZXJ0aW9uIGZhaWxlZDogMABzaWxrL2VuY19BUEkuYwBhc3NlcnRpb24gZmFpbGVkOiAhcmV0AGFzc2VydGlvbiBmYWlsZWQ6IGVuY0NvbnRyb2wtPm5DaGFubmVsc0ludGVybmFsID09IDEgfHwgcHNFbmMtPnN0YXRlX0Z4eFsgMCBdLnNDbW4uZnNfa0h6ID09IHBzRW5jLT5zdGF0ZV9GeHhbIDEgXS5zQ21uLmZzX2tIegBhc3NlcnRpb24gZmFpbGVkOiBlbmNDb250cm9sLT5uQ2hhbm5lbHNBUEkgPT0gMSAmJiBlbmNDb250cm9sLT5uQ2hhbm5lbHNJbnRlcm5hbCA9PSAxAGFzc2VydGlvbiBmYWlsZWQ6IHBzRW5jLT5zdGF0ZV9GeHhbIDAgXS5zQ21uLmlucHV0QnVmSXggPT0gcHNFbmMtPnN0YXRlX0Z4eFsgMCBdLnNDbW4uZnJhbWVfbGVuZ3RoAGFzc2VydGlvbiBmYWlsZWQ6IGVuY0NvbnRyb2wtPm5DaGFubmVsc0ludGVybmFsID09IDEgfHwgcHNFbmMtPnN0YXRlX0Z4eFsgMSBdLnNDbW4uaW5wdXRCdWZJeCA9PSBwc0VuYy0+c3RhdGVfRnh4WyAxIF0uc0Ntbi5mcmFtZV9sZW5ndGgAAACAuwAAeAAAABUAAAAVAAAAAJpZPwAAAAAAAIA/AACAP8BGAAADAAAACAAAAHgAAAALAAAA8EYAAOBHAAAQSAAAgAcAAAMAAADwSQAAEH4AAEB/AAD4fwAAMEoAAIgBAABQZgAAMGcAAMBo"); - base64DecodeToExistingUint8Array(bufferView, 18114, "AQACAAMABAAFAAYABwAIAAoADAAOABAAFAAYABwAIgAoADAAPABOAGQ="); - base64DecodeToExistingUint8Array(bufferView, 18181, "WlBLRT84MSgiHRQSCgAAAAAAAAAAbmRaVE5HQTozLScgGhQMAAAAAAAAdm5nXVZQS0ZBOzUvKB8XDwQAAAAAfndwaF9ZU05IQjw2LycgGREMAQAAhn94cmdhW1VOSEI8Ni8pIx0XEAoBkImCfHFrZV9YUkxGQDkzLSchGg8BmJGKhHt1b2liXFZQSkM9NzErJBQBopuUjoV/eXNsZmBaVE1HQTs1Lh4BrKWemI+Jg312cGpkXldRS0U/OC0UyMjIyMjIyMjGwby3sq2oo56ZlIFo"); - base64DecodeToExistingUint8Array(bufferView, 18416, "CAAIAAgACAAQABAAEAAVABUAGAAdACIAJAAAAAAAAABqHI04UrseOghp3DqC7Vc7iWOyOwMqBTww3Dk8tD53PByjnjzR8sU8/obxPJurED0FrSo9hMJGPVPmZD0RiYI9h5+TPcuypT3Rvrg9Or/MPVSv4T0Uivc9DiUHPtn0Ej5fMR8+aNcrPorjOD4wUkY+lB9UPr9HYj6OxnA+sJd/PlJbhz5gD48+mOWWPnnbnj5w7qY+2BuvPvtgtz4Ru78+RifIPrei0D54Ktk+lLvhPgxT6j7e7fI+Bon7Pr4QAj8fWgY/JJ8KP1DeDj8rFhM/QUUXPyVqGz9zgx8/zo8jP+aNJz90fCs/P1ovPxkmMz/n3jY/mYM6PzMTPj/FjEE/d+9EP386SD8nbUs/zoZOP+WGUT/xbFQ/jjhXP2npWT9Ff1w/+vleP3NZYT+vnWM/wcZlP8/UZz8RyGk/0qBrP25fbT9QBG8/9I9wP+YCcj+9XXM/H6F0P7/NdT9X5HY/sOV3P5fSeD/jq3k/c3J6Pycnez/nyns/nV58PzXjfD+cWX0/vcJ9P4Yffj/ecH4/q7d+P8/0fj8mKX8/hlV/P756fz+WmX8/zLJ/PxTHfz8c138/guN/P93sfz+2838/ivh/P8j7fz/W/X8/B/9/P6X/fz/o/38//f9/PwAAgD/gAQAAh4gIO/////8FAGAAAwAgAAQACAACAAQABAAB"); - base64DecodeToExistingUint8Array(bufferView, 18972, "cGkAADBt"); - base64DecodeToExistingUint8Array(bufferView, 18992, "//9/P47/fz9q/n8/k/x/Pwf6fz/I9n8/1vJ/PzDufz/W6H8/yOJ/Pwfcfz+T1H8/a8x/P4/Dfz8Aun8/va9/P8ekfz8dmX8/wIx/P7B/fz/scX8/dmN/P0tUfz9uRH8/3jN/P5oifz+jEH8/+v1+P53qfj+N1n4/y8F+P1asfj8uln4/U39+P8Znfj+GT34/lDZ+P+8cfj+YAn4/j+d9P9PLfT9mr30/RpJ9P3R0fT/xVX0/vDZ9P9UWfT889nw/8tR8P/ayfD9JkHw/62x8P9tIfD8bJHw/qf57P4fYez+0sXs/MIp7P/xhez8XOXs/gg97Pz3lej9Iuno/oo56P01iej9INXo/lAd6PzDZeT8dqnk/Wnp5P+lJeT/IGHk/+eZ4P3u0eD9OgXg/c014P+oYeD+y43c/za13Pzp3dz/5P3c/Cgh3P27Pdj8llnY/L1x2P4whdj885nU/QKp1P5dtdT9CMHU/QfJ0P5SzdD87dHQ/NzR0P4fzcz8ssnM/JnBzP3Ytcz8a6nI/FKZyP2Rhcj8KHHI/BdZxP1ePcT8ASHE///9wP1W3cD8CbnA/BiRwP2LZbz8Vjm8/IEJvP4T1bj8/qG4/U1puP8ALbj+GvG0/pWxtPx0cbT/vymw/G3lsP6EmbD+A02s/u39rP1Araz9A1mo/jIBqPzIqaj8102k/k3tpP00jaT9kymg/2HBoP6gWaD/Vu2c/YGBnP0gEZz+Pp2Y/M0pmPzbsZT+XjWU/Vy5lP3fOZD/1bWQ/1AxkPxKrYz+xSGM/sOViPxCCYj/RHWI/87hhP3dTYT9c7WA/pIZgP04fYD9bt18/y05fP57lXj/Ve14/cBFeP26mXT/SOl0/ms5cP8ZhXD9Z9Fs/UYZbP64XWz9yqFo/nThaPy7IWT8nV1k/h+VYP09zWD9/AFg/F41XPxgZVz+CpFY/Vi9WP5O5VT86Q1U/S8xUP8dUVD+u3FM/AWRTP7/qUj/pcFI/f/ZRP4J7UT/y/1A/z4NQPxoHUD/SiU8/+gtPP5CNTj+UDk4/CY9NP+0OTT9Bjkw/BQ1MPzuLSz/hCEs/+YVKP4MCSj9/fkk/7vlIP890SD8k70c/7WhHPyniRj/aWkY/ANNFP5tKRT+swUQ/MjhEPy+uQz+iI0M/jZhCP+8MQj/IgEE/GvRAP+VmQD8o2T8/5Uo/Pxu8Pj/MLD4/95w9P50MPT++ezw/XOo7P3VYOz8Kxjo/HTM6P62fOT+7Czk/R3c4P1HiNz/aTDc/47Y2P2sgNj90iTU//fE0PwdaND+TwTM/oCgzPzCPMj9C9TE/2FoxP/G/MD+OJDA/r4gvP1XsLj+BTy4/MrItP2kULT8ndiw/a9crPzc4Kz+LmCo/Z/gpP8xXKT+6tig/MhUoPzNzJz+/0CY/1i0mP3mKJT+n5iQ/YUIkP6mdIz99+CI/31IiP8+sIT9NBiE/W18gP/i3Hz8lEB8/4mcePzC/HT8QFh0/gWwcP4TCGz8aGBs/Q20aPwDCGT9RFhk/NmoYP7G9Fz/BEBc/Z2MWP6O1FT92BxU/4VgUP+SpEz9/+hI/s0oSP4CaET/n6RA/6DgQP4SHDz+71Q4/jiMOP/5wDT8Kvgw/swoMP/pWCz/fogo/Y+4JP4Y5CT9JhAg/rM4HP68YBz9UYgY/m6sFP4P0BD8PPQQ/PYUDPw/NAj+GFAI/oVsBP2GiAD+P0f8+p13+Pg7p/D7Cc/s+xv35PhuH+D7BD/c+upf1PgYf9D6opfI+nivxPuyw7z6RNe4+kLnsPug86z6av+k+qUHoPhXD5j7fQ+U+CMTjPpFD4j58wuA+yEDfPni+3T6MO9w+BrjaPuYz2T4ur9c+3ynWPvmj1D59HdM+bpbRPswO0D6Xhs4+0v3MPn10yz6Z6sk+J2DIPijVxj6fScU+ir3DPuwwwj7Go8A+GRa/PuaHvT4t+bs+8Wm6PjLauD7xSbc+L7m1Pu4ntD4vlrI+8gOxPjlxrz4E3q0+VkqsPi+2qj6QIak+eoynPu/2pT7vYKQ+fMqiPpczoT5AnJ8+egSePkRsnD6h05o+kTqZPhahlz4wB5Y+4WyUPinSkj4LN5E+h5uPPp7/jT5RY4w+osaKPpEpiT4gjIc+UO6FPiJQhD6XsYI+sBKBPt7mfj6pp3s+w2d4Pi8ndT7u5XE+BKRuPnNhaz48Hmg+YtpkPuiVYT7PUF4+GgtbPszEVz7mfVQ+azZRPl3uTT6/pUo+klxHPtoSRD6XyEA+zn09PoAyOj6u5jY+XZozPo1NMD5CAC0+fbIpPkJkJj6RFSM+bsYfPtt2HD7aJhk+bdYVPpiFEj5bNA8+uuILPreQCD5UPgU+lOsBPvAw/T0GivY9ceLvPTM66T1PkeI9z+fbPbU91T0Dk849wOfHPfI7wT2cj7o9w+KzPWw1rT2bh6Y9VdmfPZ8qmT1+e5I99suLPQschT2H13w9RnZvPV0UYj3WsVQ9uU5HPRDrOT3lhiw9QCIfPSy9ET2yVwQ9tePtPGAX0zx2Srg8C32dPDKvgjz6wU88/iQaPCoPyTuZpzs7Ln3WudJGcbur3uO7pownvIEpXbzhYom8oDCkvOz9vryzytm84Jb0vDGxB72TFhW9jHsivRPgL70eRD29padKvZ0KWL3+bGW9vs5yveoXgL0byIa97XeNvVwnlL1j1pq9/YShvSYzqL3Z4K69EY61vco6vL3+5sK9qpLJvcg90L1U6Na9SpLdvaQ75L1d5Oq9cozxvd0z+L2a2v69UsACvvwSBr5HZQm+MrcMvroIEL7dWRO+mKoWvur6Gb7QSh2+R5ogvk7pI77hNye+AIYqvqbTLb7TIDG+g200vrW5N75lBTu+k1A+vjqbQb5a5US+8C5Ivvl3S750wE6+XQhSvrNPVb5zlli+nNxbvioiX74bZ2K+batlvh/vaL4sMmy+lHRvvlS2cr5q93W+0zd5vo13fL6Wtn++dXqBvkUZg765t4S+0FWGvojzh77hkIm+2i2LvnDKjL6kZo6+dAKQvt+dkb7kOJO+gdOUvrZtlr6BB5i+4qCZvtc5m75f0py+eWqeviMCoL5emaG+JjCjvn3GpL5gXKa+zvGnvsaGqb5HG6u+UK+svuBCrr711a++j2ixvq36sr5NjLS+bh22vhCut74wPrm+z826vupcvL6C672+lHm/vh8Hwb4jlMK+nyDEvpGsxb74N8e+08LIviJNyr7i1su+E2DNvrXozr7FcNC+QvjRvi1/076DBdW+Q4vWvm0Q2L7/lNm++Rjbvlmc3L4dH96+RqHfvtMi4b7Bo+K+ECTkvr6j5b7MIue+OKHovgAf6r4knOu+ohjtvnqU7r6rD/C+M4rxvhIE875GffS+z/X1vqpt977Z5Pi+WFv6vijR+75HRv2+tbr+vjgXAL+70AC/5IkBv7JCAr8l+wK/O7MDv/ZqBL9TIgW/U9kFv/WPBr84Rge/HfwHv6KxCL/HZgm/jBsKv/DPCr/zgwu/kzcMv9HqDL+snQ2/JFAOvzgCD7/osw+/MmUQvxgWEb+XxhG/sHYSv2MmE7+u1RO/kYQUvw0zFb8f4RW/yI4Wvwg8F7/d6Be/SJUYv0hBGb/c7Bm/BJgav8BCG78P7Ru/8JYcv2NAHb9o6R2//pEevyU6H7/c4R+/I4kgv/ovIb9f1iG/Unwiv9QhI7/jxiO/f2skv6cPJb9csyW/nVYmv2j5Jr+/mye/oD0ovwvfKL//fym/fSAqv4PAKr8RYCu/J/8rv8SdLL/oOy2/ktktv8N2Lr95Ey+/tK8vv3NLML+35jC/f4Exv8sbMr+ZtTK/6k4zv73nM78SgDS/6Bc1vz+vNb8WRja/btw2v0VyN7+cBzi/cZw4v8UwOb+WxDm/5lc6v7LqOr/8fDu/wg48vwOgPL/BMD2/+sA9v61QPr/b3z6/g24/v6X8P79AikC/UxdBv+CjQb/kL0K/YLtCv1NGQ7++0EO/nlpEv/bjRL/CbEW/BfVFv7x8Rr/oA0e/iYpHv50QSL8llki/IBtJv46fSb9vI0q/waZKv4YpS7+8q0u/Yy1Mv3quTL8CL02/+q5Nv2IuTr85rU6/fitPvzOpT79VJlC/5qJQv+QeUb9QmlG/KBVSv22PUr8eCVO/O4JTv8P6U7+3clS/FupUv99gVb8S11W/sExWv7fBVr8nNle/AKpXv0IdWL/sj1i//gFZv3hzWb9Z5Fm/olRav1HEWr9mM1u/4qFbv8MPXL8KfVy/t+lcv8hVXb8+wV2/GCxev1eWXr/5/16//2hfv2jRX78zOWC/YqBgv/MGYb/lbGG/OtJhv/A2Yr8Im2K/gP5iv1lhY7+Sw2O/LCVkvyWGZL9+5mS/N0Zlv06lZb/FA2a/mmFmv82+Zr9eG2e/TXdnv5rSZ79ELWi/S4dov67gaL9vOWm/i5FpvwTpab/ZP2q/CZZqv5Trar97QGu/vJRrv1noa79PO2y/oI1sv0vfbL9PMG2/rYBtv2XQbb91H26/321uv6G7br+7CG+/LlVvv/igb78b7G+/lTZwv2eAcL+QyXC/DxJxv+ZZcb8ToXG/l+dxv3Etcr+gcnK/JrdyvwH7cr8yPnO/uIBzv5TCc7/EA3S/SUR0vyKEdL9Qw3S/0gF1v6g/db/SfHW/ULl1vyH1db9FMHa/vWp2v4ikdr+m3Xa/FhZ3v9lNd7/vhHe/V7t3vxHxd78dJni/elp4vyqOeL8rwXi/ffN4vyEleb8WVnm/XIZ5v/K1eb/a5Hm/EhN6v5pAer9zbXq/nZl6vxbFer/f73q/+Bl7v2FDe78abHu/IpR7v3q7e78g4nu/Fwh8v1wtfL/wUXy/03V8vwWZfL+Gu3y/Vd18v3P+fL/fHn2/mj59v6Ndfb/6e32/n5l9v5K2fb/T0n2/Yu59vz8Jfr9pI36/4Tx+v6dVfr+6bX6/G4V+v8mbfr/EsX6/Dcd+v6Lbfr+F736/tQJ/vzIVf7/8Jn+/Ezh/v3ZIf78nWH+/JGd/v251f78Fg3+/6I9/vxmcf7+Vp3+/X7J/v3S8f7/XxX+/hc5/v4HWf7/I3X+/XeR/vz3qf79q73+/4/N/v6n3f7+7+n+/Gf1/v8T+f7+7/3+/+v9/Pzn+fz+p+X8/S/J/Px7ofz8j238/Wct/P8G4fz9bo38/KIt/Pydwfz9aUn8/vzF/P1gOfz8l6H4/Jr9+P1yTfj/IZH4/aTN+P0H/fT9PyH0/lo59PxRSfT/LEn0/vNB8P+eLfD9NRHw/7/l7P82sez/pXHs/Qwp7P920ej+2XHo/0QF6Py6keT/OQ3k/suB4P9x6eD9MEng/BKd3PwQ5dz9PyHY/5FR2P8bedT/2ZXU/dep0P0RsdD9l63M/2mdzP6Phcj/CWHI/Oc1xPwk/cT80rnA/uxpwP6CEbz/k624/ilBuP5OybT8BEm0/1W5sPxHJaz+3IGs/yXVqP0nIaT85GGk/m2VoP2+wZz+6+GY/fD5mP7iBZT9vwmQ/pABkP1o8Yz+RdWI/TKxhP47gYD9ZEmA/rkFfP5FuXj8DmV0/CMFcP6DmWz/PCVs/mCpaP/tIWT/9ZFg/n35XP+WVVj/QqlU/Y71UP6HNUz+M21I/J+dRP3XwUD95908/NPxOP6v+TT/f/kw/1PxLP4z4Sj8K8kk/UulIP2XeRz9H0UY/+8FFP4SwRD/lnEM/IIdCPzpvQT80VUA/Ezk/P9gaPj+I+jw/Jtg7P7SzOj82jTk/r2Q4PyI6Nz+TDTY/Bd80P3yuMz/5ezI/gkcxPxkRMD/C2C4/f54tP1ZiLD9IJCs/WuQpP5CiKD/rXic/cRkmPyXSJD8JiSM/Iz4iP3XxID8Eox8/0lIeP+QAHT89rRs/4VcaP9MAGT8ZqBc/tE0WP6rxFD/9kxM/sjQSP8zTED9QcQ8/Qg0OP6SnDD98QAs/zdcJP5ptCD/pAQc/vZQFPxkmBD8DtgI/fkQBPxyj/z5uuvw++s75Psrg9j7k7/M+UfzwPhoG7j5HDes+4BHoPu0T5T53E+I+hxDfPiQL3D5YA9k+KvnVPqTs0j7N3c8+r8zMPlK5yT6/o8Y+/ovDPhhywD4WVr0+ADi6PuAXtz699bM+odGwPpWrrT6ig6o+z1mnPicupD6yAKE+edGdPoWgmj7fbZc+jzmUPqADkT4azI0+BZOKPmtYhz5WHIQ+zd6APrY/ez4Qv3Q+uztuPsm1Zz5NLWE+WaJaPv8UVD5RhU0+Y/NGPkZfQD4NyTk+yjAzPpCWLD5y+iU+glwfPtK8GD52GxI+f3gLPgHUBD4dXPw9cg3vPSm84T1maNQ9ThLHPQi6uT24X6w9hAOfPZKlkT0HRoQ9EsptPXoFUz2RPjg9pHUdPfyqAj3Kvc88ViOaPGEOSTzFp7s7PXpWuglG8bsS3WO8UIqnvEEk3bzjXQm9IygkvZbwPr3ytlm96np0vRqeh71C/ZS9yFqivYa2r71XEL29FmjKvZu9173DEOW9aWHyvWWv/71KfQa+aCENvvrDE77tZBq+LgQhvqyhJ75TPS6+ENc0vtJuO76GBEK+GZhIvnkpT76UuFW+VkVcvq7PYr6JV2m+1txvvoBfdr5433y+VK6BvoHrhL44J4i+cmGLviSajr5F0ZG+zQaVvrM6mL7ubJu+dJ2evj3Mob5A+aS+cySovs9Nq75Jda6+2pqxvni+tL4b4Le+uv+6vksdvr7HOMG+JVLEvltpx75hfsq+MJHNvryh0L4AsNO+8bvWvofF2b66zNy+gdHfvtPT4r6p0+W++tDovr3L677qw+6+eLnxvmCs9L6anPe+HIr6vt90/b5tLgC/A6EBvy0SA7/mgQS/LPAFv/pcB79MyAi/HjIKv2yaC78yAQ2/bGYOvxfKD78tLBG/rIwSv5DrE7/VSBW/dqQWv3H+F7/AVhm/Yq0av1ECHL+KVR2/Cacev8v2H7/MRCG/CZEiv3zbI78kJCW//WomvwKwJ78w8yi/hDQqv/pzK7+PsSy/P+0tvwcnL7/jXjC/0JQxv8rIMr/O+jO/2io1v+hYNr/3hDe/Aq84vwfXOb8D/Tq/8SA8v89CPb+aYj6/T4A/v+mbQL9otUG/xsxCvwHiQ78X9US/AwZGv8QUR79WIUi/titJv+EzSr/UOUu/jT1Mvwk/Tb9EPk6/PTtPv/A1UL9aLlG/eSRSv0oYU7/KCVS/9/hUv87lVb9N0Fa/cLhXvzeeWL+cgVm/oGJavz5BW791HVy/Qfdcv6LOXb+Uo16/FHZfvyJGYL+6E2G/2d5hv3+nYr+pbWO/VDFkv37yZL8msWW/SW1mv+UmZ7/43We/gJJov3tEab/o82m/w6BqvwxLa7/A8mu/3pdsv2Q6bb9Q2m2/oHduv1MSb79mqm+/2T9wv6nScL/VYnG/W/Bxvzp7cr9xA3O//Yhzv94LdL8RjHS/lgl1v2uEdb+P/HW/AHJ2v73kdr/GVHe/GMJ3v7IseL+TlHi/u/l4vyhceb/Zu3m/zRh6vwJzer95ynq/Lx97vyRxe79YwHu/yQx8v3ZWfL9fnXy/guF8v+Aifb93YX2/R519v0/Wfb+ODH6/BEB+v7Bwfr+Snn6/qcl+v/Xxfr91F3+/KTp/vxBaf78rd3+/eJF/v/iof7+qvX+/j89/v6Xef7/t6n+/ZvR/vxH7f7/t/n+/6v9/P+X4fz+m5n8/Lcl/P3ygfz+VbH8/eS1/Pyzjfj+xjX4/Cy1+Pz/BfT9SSn0/SMh8Pyg7fD/3ons/vf96P4BRej9ImHk/HtR4PwkFeD8TK3c/RkZ2P6xWdT9OXHQ/OFdzP3ZHcj8TLXE/HAhwP57Ybj+lnm0/QFpsP34Laz9rsmk/GU9oP5bhZj/yaWU/PuhjP4tcYj/qxmA/bSdfPyZ+XT8oy1s/hQ5aP1NIWD+jeFY/i59UPyC9Uj920VA/o9xOP73eTD/b10o/E8hIP3yvRj8ujkQ/QWRCP84xQD/s9j0/tLM7P0JoOT+tFDc/ELk0P4ZVMj8p6i8/FXctP2X8Kj81eig/ofAlP8ZfIz/AxyA/rCgeP6mCGz/U1Rg/SiIWPypoEz+TpxA/pOANP3sTCz85QAg//WYFP+eHAj8tRv8+W3H5PpeR8z4kp+0+RbLnPjyz4T5Mqts+upfVPsl7zz6+Vsk+3yjDPnDyvD63s7Y++2ywPoEeqj6SyKM+c2udPmwHlz7FnJA+xyuKPrm0gz7Hb3o+IWttPhFcYD4pQ1M+/SBGPiD2OD4mwys+pIgePi1HET5X/wM+bmPtPcK90j3aDrg93ledPfuZgj28rE89ZRwaPZkKyTwqpzs8wXjWui1EcbxX1+O8TIEnvZQPXb0VSom9WgakvW27vr0iaNm9Tgv0veNRB74vmBS+99chvqUQL76mQTy+ZGpJvk2KVr7NoGO+UK1wvkWvfb4NU4W+nsiLvg04kr4SoZi+ZgOfvr9epb7Ysqu+af+xvitEuL7YgL6+KrXEvtvgyr6lA9G+RR3XvnUt3b7xM+O+djDpvsAi776NCvW+m+f6vtNcAL84QAO/2x0Gv5v1CL9axwu/95IOv1RYEb9QFxS/zc8Wv6yBGb/QLBy/GtEev21uIb+rBCS/t5Mmv3QbKb/Hmyu/kxQuv7uFML8m7zK/t1A1v1WqN7/j+zm/SkU8v26GPr83v0C/i+9Cv1MXRb91Nke/2kxJv2taS78QX02/s1pPvz5NUb+aNlO/sxZVv3LtVr/Fuli/lX5av9A4XL9i6V2/OJBfv0AtYb9nwGK/nElkv87IZb/rPWe/46hov6cJar8nYGu/VKxsvx/ubb96JW+/WFJwv6t0cb9njHK/f5lzv+ebdL+Vk3W/foB2v5Zid7/UOXi/LwZ5v57Heb8Xfnq/lCl7vw3Ke796X3y/1el8vxhpfb8+3X2/QEZ+vxykfr/M9n6/TT5/v5x6f7+2q3+/mdF/v0Psf7+0+3+/pv9/P5Tjfz+cmn8/zCR/PziCfj/9sn0/P7d8PyqPez/zOno/1Lp4PxEPdz/2N3U/1TVzPwgJcT/xsW4/+TBsP5CGaT8vs2Y/U7djP4STYD9OSF0/RdZZPwM+Vj8rgFI/ZZ1OP16WSj/Ma0Y/ah5CP/muPT9AHjk/DW00PzKcLz+HrCo/654lPz90ID9tLRs/YcsVPw1PED9ouQo/awsFPy6M/j7d1PI+8fLmPn/o2j6mt84+iGLCPk7rtT4qVKk+UZ+cPv3Ojz5t5YI+zslrPmKfUT4wUDc+0+AcPvFVAj5iaM89fACaPST7SD0bpLs883dWu2Q98by7wGO9Z12nvRS93L0D+wi+c38jvjTnPb6kLVi+Jk5yvhIihr6JBZO+NM+fvtV8rL4zDLm+GnvFvlvH0b7N7t2+UO/pvsfG9b6QuQC/JnkGvyQhDL+NsBG/ZiYXv7qBHL+YwSG/FeUmv0rrK79W0zC/W5w1v4NFOr/9zT6//DRDv7x5R799m0u/hJlPvx9zU7+hJ1e/Y7Zav8YeXr8wYGG/D3pkv9hrZ78HNWq/H9Vsv6lLb783mHG/Yrpzv8mxdb8Wfne/9h55vyGUer9V3Xu/Wfp8v/rqfb8Or36/dEZ/vw+xf7/O7n+//////////////////////wAAAAAAAAAAKQApACkAUgBSAHsApADIAN4="); - base64DecodeToExistingUint8Array(bufferView, 26250, "KQApACkAKQB7AHsAewCkAKQA8AAKARsBJwEpACkAKQApACkAKQApACkAewB7AHsAewDwAPAA8AAKAQoBMQE+AUgBUAF7AHsAewB7AHsAewB7AHsA8ADwAPAA8AAxATEBMQE+AT4BVwFfAWYBbAHwAPAA8ADwAPAA8ADwAPAAMQExATEBMQFXAVcBVwFfAV8BcgF4AX4BgwE="); - base64DecodeToExistingUint8Array(bufferView, 26416, "KAcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcoDxccHyIkJicpKissLS4vLzEyMzQ1Njc3OTo7PD0+Pz9BQkNERUZHRygUISkwNTk9QEJFR0lLTE5QUlVXWVtcXmBiZWdpa2xucHJ1d3l7fH6AKBcnMzxDSU9TV1teYWRmaWtvc3Z5fH6Bg4eLjpGUlpmbn6OmqayusbMjHDFBTllja3J4foSIjZGVmZ+lq7C0ub3Ax83T2Nzh5ejv9fsVITpPYXB9iZSdpq62vcPJz9nj6/P7ESM/Vmp7i5ilsbvFztbe5u36GR83S1tpdYCKkpqhqK60ub7I0Nfe5evw9f8QJEFZboCQn625xM/Z4ury+gspSmeAl6y/0eHx/wkrT26Ko7rP4/YMJ0dje5CktsbW5PH9CSxRcY6owNbr/wcxWn+gv9z3BjNfhqrL6gcvV3ubuNTtBjRhia7Q8AU5apfA5wU7b57K8wU3Z5O74AU8caHO+ARBeq/gBEN/tuoAAAAAAAAAAODg4ODg4ODgoKCgoLm5ubKyqIY9JeDg4ODg4ODg8PDw8M/Pz8bGt5BCKKCgoKCgoKCgubm5ucHBwbe3rIpAJvDw8PDw8PDwz8/Pz8zMzMHBtI9CKLm5ubm5ubm5wcHBwcHBwbe3rIpBJ8/Pz8/Pz8/PzMzMzMnJyby8sI1CKMHBwcHBwcHBwcHBwcLCwri4rYtBJ8zMzMzMzMzMycnJycbGxru7r4xCKA=="); - base64DecodeToExistingUint8Array(bufferView, 26994, "YADAACABgAEgAIAA4ABAAaABQACgAAABYAHAAQgAaADIACgBiAEoAIgA6ABIAagBSACoAAgBaAHIARAAcADQADABkAEwAJAA8ABQAbABUACwABABcAHQARgAeADYADgBmAE4AJgA+ABYAbgBWAC4ABgBeAHYAQQAZADEACQBhAEkAIQA5ABEAaQBRACkAAQBZAHEAQwAbADMACwBjAEsAIwA7ABMAawBTACsAAwBbAHMARQAdADUADQBlAE0AJQA9ABUAbQBVAC0ABQBdAHUARwAfADcADwBnAE8AJwA/ABcAbwBXAC8ABwBfAHcAQEAYQDBACEBgQEhAIEA4QBBAaEBQQChAAEBYQHBAQkAaQDJACkBiQEpAIkA6QBJAakBSQCpAAkBaQHJAREAcQDRADEBkQExAJEA8QBRAbEBUQCxABEBcQHRARkAeQDZADkBmQE5AJkA+QBZAbkBWQC5ABkBeQHZAQUAZQDFACUBhQElAIUA5QBFAaUBRQClAAUBZQHFAQ0AbQDNAC0BjQEtAI0A7QBNAa0BTQCtAA0BbQHNARUAdQDVADUBlQE1AJUA9QBVAbUBVQC1ABUBdQHVAR0AfQDdAD0BnQE9AJ0A/QBdAb0BXQC9AB0BfQHdAQIAYgDCACIBggEiAIIA4gBCAaIBQgCiAAIBYgHCAQoAagDKACoBigEqAIoA6gBKAaoBSgCqAAoBagHKARIAcgDSADIBkgEyAJIA8gBSAbIBUgCyABIBcgHSARoAegDaADoBmgE6AJoA+gBaAboBWgC6ABoBegHaAQYAZgDGACYBhgEmAIYA5gBGAaYBRgCmAAYBZgHGAQ4AbgDOAC4BjgEuAI4A7gBOAa4BTgCuAA4BbgHOARYAdgDWADYBlgE2AJYA9gBWAbYBVgC2ABYBdgHWAR4AfgDeAD4BngE+AJ4A/gBeAb4BXgC+AB4BfgHeAQMAYwDDACMBgwEjAIMA4wBDAaMBQwCjAAMBYwHDAQsAawDLACsBiwErAIsA6wBLAasBSwCrAAsBawHLARMAcwDTADMBkwEzAJMA8wBTAbMBUwCzABMBcwHTARsAewDbADsBmwE7AJsA+wBbAbsBWwC7ABsBewHbAQcAZwDHACcBhwEnAIcA5wBHAacBRwCnAAcBZwHHAQ8AbwDPAC8BjwEvAI8A7wBPAa8BTwCvAA8BbwHPARcAdwDXADcBlwE3AJcA9wBXAbcBVwC3ABcBdwHXAR8AfwDfAD8BnwE/AJ8A/wBfAb8BXwC/AB8BfwHfAQAAgD8AAACAY/p/P791VryL6X8/CnHWvHnNfz/nziC9L6Z/PzpeVr2vc38/E/KFvfk1fz8qr6C9Eu1+PzNlu739mH4/BBPWvbw5fj9zt/C9Vc99P6ioBb7LWX0/u+8SviXZfD9cMCC+Z018P/VpLb6Ytns/85s6vr4Uez/CxUe+4md6P83mVL4JsHk/gv5hvjzteD9NDG++hB94P5wPfL7qRnc/7oOEvndjdj8++oq+NnV1P3Vqkb4wfHQ/TNSXvnF4cz96N56+A2pyP7eTpL70UHE/vOiqvk8tcD9BNrG+If9uPwF8t752xm0/tLm9vl6DbD8V78O+5zVrP94byr4e3mk/yT/QvhJ8aD+SWta+1A9nP/Nr3L50mWU/qnPivgEZZD9xcei+jY5iPwdl7r4o+mA/J070vuZbXz+QLPq+17NdPwAAAL8PAlw/G+QCv6BGWj93wgW/noFYP/aaCL8ds1Y/d20LvzHbVD/aOQ6/7/lSPwAAEb9sD1E/yr8Tv70bTz8YeRa/+B5NP80rGb80GUs/ytcbv4gKST/xfB6/CvNGPyQbIb/R0kQ/RrIjv/epQj86Qia/k3hAP+PKKL+9Pj4/JUwrv4/8Oz/jxS2/IrI5PwE4ML+QXzc/ZaIyv/MENT/zBDW/ZaIyP5BfN78BODA/IrI5v+PFLT+P/Du/JUwrP70+Pr/jyig/k3hAvzpCJj/3qUK/RrIjP9HSRL8kGyE/CvNGv/F8Hj+ICkm/ytcbPzQZS7/NKxk/+B5Nvxh5Fj+9G0+/yr8TP2wPUb8AABE/7/lSv9o5Dj8x21S/d20LPx2zVr/2mgg/noFYv3fCBT+gRlq/G+QCPw8CXL8AAAA/17Ndv5As+j7mW1+/J070Pij6YL8HZe4+jY5iv3Fx6D4BGWS/qnPiPnSZZb/za9w+1A9nv5Ja1j4SfGi/yT/QPh7eab/eG8o+5zVrvxXvwz5eg2y/tLm9PnbGbb8BfLc+If9uv0E2sT5PLXC/vOiqPvRQcb+3k6Q+A2pyv3o3nj5xeHO/TNSXPjB8dL91apE+NnV1vz76ij53Y3a/7oOEPupGd7+cD3w+hB94v00Mbz487Xi/gv5hPgmweb/N5lQ+4md6v8LFRz6+FHu/85s6Ppi2e7/1aS0+Z018v1wwID4l2Xy/u+8SPstZfb+oqAU+Vc99v3O38D28OX6/BBPWPf2Yfr8zZbs9Eu1+vyqvoD35NX+/E/KFPa9zf786XlY9L6Z/v+fOID15zX+/CnHWPIvpf7+/dVY8Y/p/vwAwjSQAAIC/v3VWvGP6f78Kcda8i+l/v+fOIL15zX+/Ol5WvS+mf78T8oW9r3N/vyqvoL35NX+/M2W7vRLtfr8EE9a9/Zh+v3O38L28OX6/qKgFvlXPfb+77xK+y1l9v1wwIL4l2Xy/9WktvmdNfL/zmzq+mLZ7v8LFR76+FHu/zeZUvuJner+C/mG+CbB5v00Mb7487Xi/nA98voQfeL/ug4S+6kZ3vz76ir53Y3a/dWqRvjZ1db9M1Je+MHx0v3o3nr5xeHO/t5OkvgNqcr+86Kq+9FBxv0E2sb5PLXC/AXy3viH/br+0ub2+dsZtvxXvw75eg2y/3hvKvuc1a7/JP9C+Ht5pv5Ja1r4SfGi/82vcvtQPZ7+qc+K+dJllv3Fx6L4BGWS/B2Xuvo2OYr8nTvS+KPpgv5As+r7mW1+/AAAAv9ezXb8b5AK/DwJcv3fCBb+gRlq/9poIv56BWL93bQu/HbNWv9o5Dr8x21S/AAARv+/5Ur/KvxO/bA9Rvxh5Fr+9G0+/zSsZv/geTb/K1xu/NBlLv/F8Hr+ICkm/JBshvwrzRr9GsiO/0dJEvzpCJr/3qUK/48oov5N4QL8lTCu/vT4+v+PFLb+P/Du/ATgwvyKyOb9lojK/kF83v/MENb/zBDW/kF83v2WiMr8isjm/ATgwv4/8O7/jxS2/vT4+vyVMK7+TeEC/48oov/epQr86Qia/0dJEv0ayI78K80a/JBshv4gKSb/xfB6/NBlLv8rXG7/4Hk2/zSsZv70bT78YeRa/bA9Rv8q/E7/v+VK/AAARvzHbVL/aOQ6/HbNWv3dtC7+egVi/9poIv6BGWr93wgW/DwJcvxvkAr/Xs12/AAAAv+ZbX7+QLPq+KPpgvydO9L6NjmK/B2XuvgEZZL9xcei+dJllv6pz4r7UD2e/82vcvhJ8aL+SWta+Ht5pv8k/0L7nNWu/3hvKvl6DbL8V78O+dsZtv7S5vb4h/26/AXy3vk8tcL9BNrG+9FBxv7zoqr4DanK/t5OkvnF4c796N56+MHx0v0zUl742dXW/dWqRvndjdr8++oq+6kZ3v+6DhL6EH3i/nA98vjzteL9NDG++CbB5v4L+Yb7iZ3q/zeZUvr4Ue7/CxUe+mLZ7v/ObOr5nTXy/9WktviXZfL9cMCC+y1l9v7vvEr5Vz32/qKgFvrw5fr9zt/C9/Zh+vwQT1r0S7X6/M2W7vfk1f78qr6C9r3N/vxPyhb0vpn+/Ol5WvXnNf7/nziC9i+l/vwpx1rxj+n+/v3VWvAAAgL8AMA2lY/p/v791VjyL6X+/CnHWPHnNf7/nziA9L6Z/vzpeVj2vc3+/E/KFPfk1f78qr6A9Eu1+vzNluz39mH6/BBPWPbw5fr9zt/A9Vc99v6ioBT7LWX2/u+8SPiXZfL9cMCA+Z018v/VpLT6Ytnu/85s6Pr4Ue7/CxUc+4md6v83mVD4JsHm/gv5hPjzteL9NDG8+hB94v5wPfD7qRne/7oOEPndjdr8++oo+NnV1v3VqkT4wfHS/TNSXPnF4c796N54+A2pyv7eTpD70UHG/vOiqPk8tcL9BNrE+If9uvwF8tz52xm2/tLm9Pl6DbL8V78M+5zVrv94byj4e3mm/yT/QPhJ8aL+SWtY+1A9nv/Nr3D50mWW/qnPiPgEZZL9xceg+jY5ivwdl7j4o+mC/J070PuZbX7+QLPo+17NdvwAAAD8PAly/G+QCP6BGWr93wgU/noFYv/aaCD8ds1a/d20LPzHbVL/aOQ4/7/lSvwAAET9sD1G/yr8TP70bT78YeRY/+B5Nv80rGT80GUu/ytcbP4gKSb/xfB4/CvNGvyQbIT/R0kS/RrIjP/epQr86QiY/k3hAv+PKKD+9Pj6/JUwrP4/8O7/jxS0/IrI5vwE4MD+QXze/ZaIyP/MENb/zBDU/ZaIyv5BfNz8BODC/IrI5P+PFLb+P/Ds/JUwrv70+Pj/jyii/k3hAPzpCJr/3qUI/RrIjv9HSRD8kGyG/CvNGP/F8Hr+ICkk/ytcbvzQZSz/NKxm/+B5NPxh5Fr+9G08/yr8Tv2wPUT8AABG/7/lSP9o5Dr8x21Q/d20Lvx2zVj/2mgi/noFYP3fCBb+gRlo/G+QCvw8CXD8AAAC/17NdP5As+r7mW18/J070vij6YD8HZe6+jY5iP3Fx6L4BGWQ/qnPivnSZZT/za9y+1A9nP5Ja1r4SfGg/yT/Qvh7eaT/eG8q+5zVrPxXvw75eg2w/tLm9vnbGbT8BfLe+If9uP0E2sb5PLXA/vOiqvvRQcT+3k6S+A2pyP3o3nr5xeHM/TNSXvjB8dD91apG+NnV1Pz76ir53Y3Y/7oOEvupGdz+cD3y+hB94P00Mb7487Xg/gv5hvgmweT/N5lS+4md6P8LFR76+FHs/85s6vpi2ez/1aS2+Z018P1wwIL4l2Xw/u+8SvstZfT+oqAW+Vc99P3O38L28OX4/BBPWvf2Yfj8zZbu9Eu1+PyqvoL35NX8/E/KFva9zfz86Xla9L6Z/P+fOIL15zX8/CnHWvIvpfz+/dVa8Y/p/PwDIU6UAAIA/v3VWPGP6fz8KcdY8i+l/P+fOID15zX8/Ol5WPS+mfz8T8oU9r3N/PyqvoD35NX8/M2W7PRLtfj8EE9Y9/Zh+P3O38D28OX4/qKgFPlXPfT+77xI+y1l9P1wwID4l2Xw/9WktPmdNfD/zmzo+mLZ7P8LFRz6+FHs/zeZUPuJnej+C/mE+CbB5P00Mbz487Xg/nA98PoQfeD/ug4Q+6kZ3Pz76ij53Y3Y/dWqRPjZ1dT9M1Jc+MHx0P3o3nj5xeHM/t5OkPgNqcj+86Ko+9FBxP0E2sT5PLXA/AXy3PiH/bj+0ub0+dsZtPxXvwz5eg2w/3hvKPuc1az/JP9A+Ht5pP5Ja1j4SfGg/82vcPtQPZz+qc+I+dJllP3Fx6D4BGWQ/B2XuPo2OYj8nTvQ+KPpgP5As+j7mW18/AAAAP9ezXT8b5AI/DwJcP3fCBT+gRlo/9poIP56BWD93bQs/HbNWP9o5Dj8x21Q/AAARP+/5Uj/KvxM/bA9RPxh5Fj+9G08/zSsZP/geTT/K1xs/NBlLP/F8Hj+ICkk/JBshPwrzRj9GsiM/0dJEPzpCJj/3qUI/48ooP5N4QD8lTCs/vT4+P+PFLT+P/Ds/ATgwPyKyOT9lojI/kF83P/MENT/zBDU/kF83P2WiMj8isjk/ATgwP4/8Oz/jxS0/vT4+PyVMKz+TeEA/48ooP/epQj86QiY/0dJEP0ayIz8K80Y/JBshP4gKST/xfB4/NBlLP8rXGz/4Hk0/zSsZP70bTz8YeRY/bA9RP8q/Ez/v+VI/AAARPzHbVD/aOQ4/HbNWP3dtCz+egVg/9poIP6BGWj93wgU/DwJcPxvkAj/Xs10/AAAAP+ZbXz+QLPo+KPpgPydO9D6NjmI/B2XuPgEZZD9xceg+dJllP6pz4j7UD2c/82vcPhJ8aD+SWtY+Ht5pP8k/0D7nNWs/3hvKPl6DbD8V78M+dsZtP7S5vT4h/24/AXy3Pk8tcD9BNrE+9FBxP7zoqj4DanI/t5OkPnF4cz96N54+MHx0P0zUlz42dXU/dWqRPndjdj8++oo+6kZ3P+6DhD6EH3g/nA98PjzteD9NDG8+CbB5P4L+YT7iZ3o/zeZUPr4Uez/CxUc+mLZ7P/ObOj5nTXw/9WktPiXZfD9cMCA+y1l9P7vvEj5Vz30/qKgFPrw5fj9zt/A9/Zh+PwQT1j0S7X4/M2W7Pfk1fz8qr6A9r3N/PxPyhT0vpn8/Ol5WPXnNfz/nziA9i+l/Pwpx1jxj+n8/v3VWPAAAMABgAJAAwAAQAEAAcACgANAAIABQAIAAsADgAAQANABkAJQAxAAUAEQAdACkANQAJABUAIQAtADkAAgAOABoAJgAyAAYAEgAeACoANgAKABYAIgAuADoAAwAPABsAJwAzAAcAEwAfACsANwALABcAIwAvADsAAEAMQBhAJEAwQARAEEAcQChANEAIQBRAIEAsQDhAAUANQBlAJUAxQAVAEUAdQClANUAJQBVAIUAtQDlAAkAOQBpAJkAyQAZAEkAeQCpANkAKQBZAIkAuQDpAA0APQBtAJ0AzQAdAE0AfQCtAN0ALQBdAI0AvQDtAAIAMgBiAJIAwgASAEIAcgCiANIAIgBSAIIAsgDiAAYANgBmAJYAxgAWAEYAdgCmANYAJgBWAIYAtgDmAAoAOgBqAJoAygAaAEoAegCqANoAKgBaAIoAugDqAA4APgBuAJ4AzgAeAE4AfgCuAN4ALgBeAI4AvgDuAAMAMwBjAJMAwwATAEMAcwCjANMAIwBTAIMAswDjAAcANwBnAJcAxwAXAEcAdwCnANcAJwBXAIcAtwDnAAsAOwBrAJsAywAbAEsAewCrANsAKwBbAIsAuwDrAA8APwBvAJ8AzwAfAE8AfwCvAN8ALwBfAI8AvwDvAPAAAACJiIg7AQAAAAUAMAADABAABAAEAAQAAQ=="); - base64DecodeToExistingUint8Array(bufferView, 32316, "MHwAADBt"); - base64DecodeToExistingUint8Array(bufferView, 32338, "GAAwAEgAYAAIACAAOABQAGgAEAAoAEAAWABwAAQAHAA0AEwAZAAMACQAPABUAGwAFAAsAEQAXAB0AAEAGQAxAEkAYQAJACEAOQBRAGkAEQApAEEAWQBxAAUAHQA1AE0AZQANACUAPQBVAG0AFQAtAEUAXQB1AAIAGgAyAEoAYgAKACIAOgBSAGoAEgAqAEIAWgByAAYAHgA2AE4AZgAOACYAPgBWAG4AFgAuAEYAXgB2AAMAGwAzAEsAYwALACMAOwBTAGsAEwArAEMAWwBzAAcAHwA3AE8AZwAPACcAPwBXAG8AFwAvAEcAXwB3AHgAAACIiAg8AgAAAAUAGAADAAgAAgAEAAQAAQ=="); - base64DecodeToExistingUint8Array(bufferView, 32620, "UH4AADBt"); - base64DecodeToExistingUint8Array(bufferView, 32642, "DAAYACQAMAAEABAAHAAoADQACAAUACAALAA4AAEADQAZACUAMQAFABEAHQApADUACQAVACEALQA5AAIADgAaACYAMgAGABIAHgAqADYACgAWACIALgA6AAMADwAbACcAMwAHABMAHwArADcACwAXACMALwA7ADwAAACJiIg8AwAAAAUADAADAAQABAAB"); - base64DecodeToExistingUint8Array(bufferView, 32804, "gH8AADBtAAAAAAAAlYsAADeYAAD/pQAABLUAAGfFAABF1wAAweoAAP//AABhc3NlcnRpb24gZmFpbGVkOiBmbCtmczw9MzI3NjgAY2VsdC9sYXBsYWNlLmMAYXNzZXJ0aW9uIGZhaWxlZDogZnM+MA=="); - base64DecodeToExistingUint8Array(bufferView, 32930, "zkAAAMhAAAC4QAAAqkAAAKJAAACaQAAAkEAAAIxAAACcQAAAlkAAAJJAAACOQAAAnEAAAJRAAACKQAAAkEAAAIxAAACUQAAAmEAAAI5AAABwQAAAcEAAAHBAAABwQAAAcEA="); - base64DecodeToExistingUint8Array(bufferView, 33040, "SH9BgUKAQYBAgD6AQIBAgFxOXE9cTlpPdClzKHIohBqEGpERoQywCrELGLMwijaHNoQ1hjiFN4Q3hD1yRmBKWEtYV0pZQltDZDtsMngoeiVhK04yU05UUVhLVkpXR1pJXUpdSm0ociR1InUijxGREpITogylCrIHvQa+CLEJF7I2cz9mQmJFY0pZR1tJW05ZVlBcQl1AZjtnPGg8dTR7LIojhR9hJk0tPVpdPGkqayluLXQmcSZwJnwahBuIE4wUmw6fEJ4Sqg2xCrsIwAavCZ8KFbI7bkdWS1VUU1tCWElXSFxLYkhpOms2czRyN3A4gTOEKJYhjB1iI00qKnlgQmwrbyh1LHsgeCR3IX8hhiKLFZMXmBSeGZoaphWtELgNuAqWDYsPFrI/ckpSVFNcUmc+YEhgQ2VJa0hxN3Y0fTR2NHU3hzGJJ50gkR1hIU0oAABmPwAATD8AACY/AAAAPwCGaz8AFC4/AHC9PgDQTD4CAQ=="); - base64DecodeToExistingUint8Array(bufferView, 33424, "AwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAABnERwDNZ8MACejcAFmDKgCLdsQAphyWAESv3QAZV9EApT4FAAUH/wAzfj8AwjLoAJhP3gC7fTIAJj3DAB5r7wCf+F4ANR86AH/yygDxhx0AfJAhAGokfADVbvoAMC13ABU7QwC1FMYAwxmdAK3EwgAsTUEADABdAIZ9RgDjcS0Am8aaADNiAAC00nwAtKeXADdV1QDXPvYAoxAYAE12/ABknSoAcNerAGN8+AB6sFcAFxXnAMBJVgA71tkAp4Q4ACQjywDWincAWlQjAAAfuQDxChsAGc7fAJ8x/wBmHmoAmVdhAKz7RwB+f9gAImW3ADLoiQDmv2AA78TNAGw2CQBdP9QAFt7XAFg73gDem5IA0iIoACiG6ADiWE0AxsoyAAjjFgDgfcsAF8BQAPMdpwAY4FsALhM0AIMSYgCDSAEA9Y5bAK2wfwAe6fIASEpDABBn0wCq3dgArl9CAGphzgAKKKQA05m0AAam8gBcd38Ao8KDAGE8iACKc3gAr4xaAG/XvQAtpmMA9L/LAI2B7wAmwWcAVcpFAMrZNgAoqNIAwmGNABLJdwAEJhQAEkabAMRZxADIxUQATbKRAAAX8wDUQ60AKUnlAP3VEAAAvvwAHpTMAHDO7gATPvUA7PGAALPnwwDH+CgAkwWUAMFxPgAuCbMAC0XzAIgSnACrIHsALrWfAEeSwgB7Mi8ADFVtAHKnkABr5x8AMcuWAHkWSgBBeeIA9N+JAOiUlwDi5oQAmTGXAIjtawBfXzYAu/0OAEiatABnpGwAcXJCAI1dMgCfFbgAvOUJAI0xJQD3dDkAMAUcAA0MAQBLCGgALO5YAEeqkAB05wIAvdYkAPd9pgBuSHIAnxbvAI6UpgC0kfYA0VNRAM8K8gAgmDMA9Ut+ALJjaADdPl8AQF0DAIWJfwBVUikAN2TAAG3YEAAySDIAW0x1AE5x1ABFVG4ACwnBACr1aQAUZtUAJwedAF0EUAC0O9sA6nbFAIf5FwBJa30AHSe6AJZpKQDGzKwArRRUAJDiagCI2YkALHJQAASkvgB3B5QA8zBwAAD8JwDqcagAZsJJAGTgPQCX3YMAoz+XAEOU/QANhowAMUHeAJI5nQDdcIwAF7fnAAjfOwAVNysAXICgAFqAkwAQEZIAD+jYAGyArwDb/0sAOJAPAFkYdgBipRUAYcu7AMeJuQAQQL0A0vIEAEl1JwDrtvYA2yK7AAoUqgCJJi8AZIN2AAk7MwAOlBoAUTqqAB2jwgCv7a4AXCYSAG3CTQAtepwAwFaXAAM/gwAJ8PYAK0CMAG0xmQA5tAcADCAVANjDWwD1ksQAxq1LAE7KpQCnN80A5qk2AKuSlADdQmgAGWPeAHaM7wBoi1IA/Ns3AK6hqwDfFTEAAK6hAAz72gBkTWYA7QW3ACllMABXVr8AR/86AGr5uQB1vvMAKJPfAKuAMABmjPYABMsVAPoiBgDZ5B0APbOkAFcbjwA2zQkATkLpABO+pAAzI7UA8KoaAE9lqADSwaUACz8PAFt4zQAj+XYAe4sEAIkXcgDGplMAb27iAO/rAACbSlgAxNq3AKpmugB2z88A0QIdALHxLQCMmcEAw613AIZI2gD3XaAAxoD0AKzwLwDd7JoAP1y8ANDebQCQxx8AKtu2AKMlOgAAr5oArVOTALZXBAApLbQAS4B+ANoHpwB2qg4Ae1mhABYSKgDcty0A+uX9AInb/gCJvv0A5HZsAAap/AA+gHAAhW4VAP2H/wAoPgcAYWczACoYhgBNveoAs+evAI9tbgCVZzkAMb9bAITXSAAw3xYAxy1DACVhNQDJcM4AMMu4AL9s/QCkAKIABWzkAFrdoAAhb0cAYhLSALlchABwYUkAa1bgAJlSAQBQVTcAHtW3ADPxxAATbl8AXTDkAIUuqQAdssMAoTI2AAi3pADqsdQAFvchAI9p5AAn/3cADAOAAI1ALQBPzaAAIKWZALOi0wAvXQoAtPlCABHaywB9vtAAm9vBAKsXvQDKooEACGpcAC5VFwAnAFUAfxTwAOEHhgAUC2QAlkGNAIe+3gDa/SoAayW2AHuJNAAF8/4Aub+eAGhqTwBKKqgAT8RaAC34vADXWpgA9MeVAA1NjQAgOqYApFdfABQ/sQCAOJUAzCABAHHdhgDJ3rYAv2D1AE1lEQABB2sAjLCsALLA0ABRVUgAHvsOAJVywwCjBjsAwEA1AAbcewDgRcwATin6ANbKyADo80EAfGTeAJtk2ADZvjEApJfDAHdY1ABp48UA8NoTALo6PABGGEYAVXVfANK99QBuksYArC5dAA5E7QAcPkIAYcSHACn96QDn1vMAInzKAG+RNQAI4MUA/9eNAG5q4gCw/cYAkwjBAHxddABrrbIAzW6dAD5yewDGEWoA98+pAClz3wC1yboAtwBRAOKyDQB0uiQA5X1gAHTYigANFSwAgRgMAH5mlAABKRYAn3p2AP39vgBWRe8A2X42AOzZEwCLurkAxJf8ADGoJwDxbsMAlMU2ANioVgC0qLUAz8wOABKJLQBvVzQALFaJAJnO4wDWILkAa16qAD4qnAARX8wA/QtKAOH0+wCOO20A4oYsAOnUhAD8tKkA7+7RAC41yQAvOWEAOCFEABvZyACB/AoA+0pqAC8c2ABTtIQATpmMAFQizAAqVdwAwMbWAAsZlgAacLgAaZVkACZaYAA/Uu4AfxEPAPS1EQD8y/UANLwtADS87gDoXcwA3V5gAGeOmwCSM+8AyRe4AGFYmwDhV7wAUYPGANg+EADdcUgALRzdAK8YoQAhLEYAWfPXANl6mACeVMAAT4b6AFYG/ADlea4AiSI2ADitIgBnk9wAVeiqAIImOADK55sAUQ2kAJkzsQCp1w4AaQVIAGWy8AB/iKcAiEyXAPnRNgAhkrMAe4JKAJjPIQBAn9wA3EdVAOF0OgBn60IA/p3fAF7UXwB7Z6QAuqx6AFX2ogAriCMAQbpVAFluCAAhKoYAOUeDAInj5gDlntQASftAAP9W6QAcD8oAxVmKAJT6KwDTwcUAD8XPANtargBHxYYAhUNiACGGOwAseZQAEGGHACpMewCALBoAQ78SAIgmkAB4PIkAqMTkAOXbewDEOsIAJvTqAPdnigANkr8AZaMrAD2TsQC9fAsApFHcACfdYwBp4d0AmpQZAKgplQBozigACe20AESfIABOmMoAcIJjAH58IwAPuTIAp/WOABRW5wAh8QgAtZ0qAG9+TQClGVEAtfmrAILf1gCW3WEAFjYCAMQ6nwCDoqEAcu1tADmNegCCuKkAazJcAEYnWwAANO0A0gB3APz0VQABWU0A4HGA"); - base64DecodeToExistingUint8Array(bufferView, 36211, "QPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNWFzc2VydGlvbiBmYWlsZWQ6IF9rPjAAY2VsdC9jd3JzLmM="); - base64DecodeToExistingUint8Array(bufferView, 36320, "QI4AAACRAAC8kwAAdJYAACiZAADYmwAAhJ4AAOyfAACooAAAHKEAAGihAACgoQAAwKEAANihAADkoQAAYXNzZXJ0aW9uIGZhaWxlZDogX24+PTI="); - base64DecodeToExistingUint8Array(bufferView, 36416, "AQ=="); - base64DecodeToExistingUint8Array(bufferView, 37124, "AQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAADAAAABQAAAAcAAAAJAAAACwAAAA0AAAAPAAAAEQAAABMAAAAVAAAAFwAAABkAAAAbAAAAHQAAAB8AAAAhAAAAIwAAACUAAAAnAAAAKQAAACsAAAAtAAAALwAAADEAAAAzAAAANQAAADcAAAA5AAAAOwAAAD0AAAA/AAAAQQAAAEMAAABFAAAARwAAAEkAAABLAAAATQAAAE8AAABRAAAAUwAAAFUAAABXAAAAWQAAAFsAAABdAAAAXwAAAGEAAABjAAAAZQAAAGcAAABpAAAAawAAAG0AAABvAAAAcQAAAHMAAAB1AAAAdwAAAHkAAAB7AAAAfQAAAH8AAACBAAAAgwAAAIUAAACHAAAAiQAAAIsAAACNAAAAjwAAAJEAAACTAAAAlQAAAJcAAACZAAAAmwAAAJ0AAACfAAAAoQAAAKMAAAClAAAApwAAAKkAAACrAAAArQAAAK8AAACxAAAAswAAALUAAAC3AAAAuQAAALsAAAC9AAAAvwAAAMEAAADDAAAAxQAAAMcAAADJAAAAywAAAM0AAADPAAAA0QAAANMAAADVAAAA1wAAANkAAADbAAAA3QAAAN8AAADhAAAA4wAAAOUAAADnAAAA6QAAAOsAAADtAAAA7wAAAPEAAADzAAAA9QAAAPcAAAD5AAAA+wAAAP0AAAD/AAAAAQEAAAMBAAAFAQAABwEAAAkBAAALAQAADQEAAA8BAAARAQAAEwEAABUBAAAXAQAAGQEAABsBAAAdAQAAHwEAACEBAAAjAQAAJQEAACcBAAApAQAAKwEAAC0BAAAvAQAAMQEAADMBAAA1AQAANwEAADkBAAA7AQAAPQEAAD8BAABBAQAAQwEAAEUBAABHAQAASQEAAEsBAABNAQAATwEAAFEBAABTAQAAVQEAAFcBAABZAQAAWwEAAF0BAABfAQAADQAAABkAAAApAAAAPQAAAFUAAABxAAAAkQAAALUAAADdAAAACQEAADkBAABtAQAApQEAAOEBAAAhAgAAZQIAAK0CAAD5AgAASQMAAJ0DAAD1AwAAUQQAALEEAAAVBQAAfQUAAOkFAABZBgAAzQYAAEUHAADBBwAAQQgAAMUIAABNCQAA2QkAAGkKAAD9CgAAlQsAADEMAADRDAAAdQ0AAB0OAADJDgAAeQ8AAC0QAADlEAAAoREAAGESAAAlEwAA7RMAALkUAACJFQAAXRYAADUXAAARGAAA8RgAANUZAAC9GgAAqRsAAJkcAACNHQAAhR4AAIEfAACBIAAAhSEAAI0iAACZIwAAqSQAAL0lAADVJgAA8ScAABEpAAA1KgAAXSsAAIksAAC5LQAA7S4AACUwAABhMQAAoTIAAOUzAAAtNQAAeTYAAMk3AAAdOQAAdToAANE7AAAxPQAAlT4AAP0/AABpQQAA2UIAAE1EAADFRQAAQUcAAMFIAABFSgAAzUsAAFlNAADpTgAAfVAAABVSAACxUwAAUVUAAPVWAACdWAAASVoAAPlbAACtXQAAZV8AACFhAADhYgAApWQAAG1mAAA5aAAACWoAAN1rAAC1bQAAkW8AAHFxAABVcwAAPXUAACl3AAAZeQAADXsAAAV9AAABfwAAAYEAAAWDAAANhQAAGYcAACmJAAA9iwAAVY0AAHGPAACRkQAAtZMAAN2VAAAJmAAAOZoAAG2cAAClngAA4aAAACGjAABlpQAAracAAPmpAABJrAAAna4AAPWwAABRswAAsbUAABW4AAB9ugAA6bwAAFm/AADNwQAARcQAAMHGAABByQAAxcsAAE3OAADZ0AAAadMAAP3VAACV2AAAMdsAANHdAAB14AAAHeMAAMnlAAB56AAALesAAOXtAACh8AAAPwAAAIEAAADnAAAAeQEAAD8CAABBAwAAhwQAABkGAAD/BwAAQQoAAOcMAAD5DwAAfxMAAIEXAAAHHAAAGSEAAL8mAAABLQAA5zMAAHk7AAC/QwAAwUwAAIdWAAAZYQAAf2wAAMF4AADnhQAA+ZMAAP+iAAABswAAB8QAABnWAAA/6QAAgf0AAOcSAQB5KQEAP0EBAEFaAQCHdAEAGZABAP+sAQBBywEA5+oBAPkLAgB/LgIAgVICAAd4AgAZnwIAv8cCAAHyAgDnHQMAeUsDAL96AwDBqwMAh94DABkTBAB/SQQAwYEEAOe7BAD59wQA/zUFAAF2BQAHuAUAGfwFAD9CBgCBigYA59QGAHkhBwA/cAcAQcEHAIcUCAAZaggA/8EIAEEcCQDneAkA+dcJAH85CgCBnQoABwQLABltCwC/2AsAAUcMAOe3DAB5Kw0Av6ENAMEaDgCHlg4AGRUPAH+WDwDBGhAA56EQAPkrEQD/uBEAAUkSAAfcEgAZchMAPwsUAIGnFADnRhUAeekVAD+PFgBBOBcAh+QXABmUGAD/RhkAQf0ZAOe2GgD5cxsAfzQcAIH4HAAHwB0AGYseAL9ZHwABLCAA5wEhAHnbIQC/uCIAwZkjAId+JAAZZyUAf1MmAMFDJwDnNygA+S8pAP8rKgABLCsABzAsABk4LQA/RC4AgVQvAOdoMAB5gTEAP54yAEG/MwCH5DQAGQ42AP87NwBBbjgA56Q5APnfOgB/HzwAgWM9AAesPgAZ+T8Av0pBAAGhQgDn+0MAeVtFAL+/RgDBKEgAh5ZJABkJSwB/gEwAwfxNAOd9TwD5A1EA/45SAAEfVAAHtFUAGU5XAD/tWACBkVoA5zpcAHnpXQA/nV8AQVZhAIcUYwAZ2GQA/6BmAEFvaADnQmoA+RtsAH/6bQBBAQAAqQIAAAkFAADBCAAAQQ4AAAkWAACpIAAAwS4AAAFBAAApWAAACXUAAIGYAACBwwAACfcAACk0AQABfAEAwc8BAKkwAgAJoAIAQR8DAMGvAwAJUwQAqQoFAEHYBQCBvQYAKbwHAAnWCAABDQoAAWMLAAnaDAApdA4AgTMQAEEaEgCpKhQACWcWAMHRGABBbRsACTweAKlAIQDBfSQAAfYnACmsKwAJoy8Agd0zAIFeOAAJKT0AKUBCAAGnRwDBYE0AqXBTAAnaWQBBoGAAwcZnAAlRbwCpQncAQZ9/AIFqiAApqJEACVybAAGKpQABNrAACWS7ACkYxwCBVtMAQSPgAKmC7QAJefsAwQoKAUE8GQEJEikBqZA5AcG8SgEBm1wBKTBvAQmBggGBkpYBgWmrAQkLwQEpfNcBAcLuAcHhBgKp4B8CCcQ5AkGRVALBTXACCf+MAqmqqgJBVskCgQfpAinECQMJkisDAXdOAwF5cgMJnpcDKey9A4Fp5QNBHA4EqQo4BAk7YwTBs48EQXu9BAmY7ASpEB0FwetOBQEwggUp5LYFCQ/tBYG3JAaB5F0GCZ2YBino1AYBzRIHwVJSB6mAkwcJXtYHQfIaCMFEYQgJXakIqULzCEH9PgmBlIwJKRDcCQl4LQoB1IAKASzWCgmILQsp8IYLgWziC0EFQAypwp8MCa0BDcHMZQ1BKswNCc40DqnAnw7BCg0PAbV8DynI7g8JTWMQgUzaEIHPUxEJ388RKYROEgHIzxLBs1MTqVDaEwmoYxRBw+8Uwat+FQlrEBapCqUWQZQ8F4ER1xcpjHQYCQ4VGQGhuBkBT18aCSIJGykkthuBX2YcQd4ZHamq0B0Jz4oewVVIH0FJCSAJtM0gqaCVIcEZYSIBKjAjKdwCJAk72SSBUbMlkwYAAEUOAAAPHAAAETMAAFtXAAANjgAAd90AADlNAQBj5gEAlbMCAB/BAwAhHQUAq9cGAN0CCQAHswsAyf4OADP/EgDlzxcAL48dADFeJAD7YCwArb41AJehQABZN00AA7FbADVDbAA/Jn8AQZaUAEvTrAB9IcgAJ8nmAOkWCQHTWy8Bhe1ZAU8miQFRZb0Bmw73AU2LNgK3SXwCeb3IAqNfHAPVrncDXy/bA2FrRwTr8rwEHVw8BUdDxgUJS1sGcxz8BiVnqQdv4WMIcUgsCTtgAwrt8+kK19XgC5nf6AxD8gIOdfYvD3/ccBCBnMYRizYyE72ytBRnIU8WKZsCGBNB0BnFPLkbj8C+HZEH4h/bVSQijfiGJPdFCye5nbIp42h+LBUacC+fLYkyoSnLNSueNzldJdA8h2OWQEkHjESzybJIZW4MTa/DmlGxol9We+9cWy2ZlGAXmghm2fe6a4PDrXG1GeN3vyJdfh0jAABxTQAAkZwAAP0mAQBlDAIA6XcDAJmiBQA11ggALXANAOHkEwAhwxwA7bcoAHWSOABZSE0AKfpnACX4iQA9x7QAUSbqALETLAHd0nwBhfLeAclSVQK5K+MCFRSMA00IVATBcT8FQS5TBs2XlAeVjAkJOXe4CklXqAwFyuAOXRNqETEnTRTRspMXvSZIG6XAdR+plSgk2ZxtKfW5Ui9tyOY1oaY5PWFBXEWtn2BOte5ZWBmOXGNpHH5v5YPVfP+9AAABqAEAj2sDAPGeBgA/IwwAwT0VAI+2IwDx/DkA/1FbAAH6iwAPddEAcb8yAT+auAHB3G0CD89fA3GOngT/ez0GAbZTCI+c/ArxYVgOP6eMEsElxRePZTQe8YEUJv/7py8BnDo7D2IiSXGGwFk/ioJtwVjjhAEOBACRIQkAESwTAEHuJQBBT0cAkUOAABH33QABRnMBAZJaAhEBuAORNbwFQY+nCEEGzgwRspsSkQ+aGgEadiUBTAc0kZ5XRxGdrGBBppGBI1EWAMWeMgAXuWsAmfbYAGuJoAENxP4CHwFQBSHZHQkzbDAP1aKkGKdnCCcp/X08e7XnWx13HYmvoC3JrY57AInmGQE5ll4CPRbYBLVjdwnhKMYRIQM0IHVIgjh9V1dgv1uvAoHYJwb3hF4N6f6tG3+L6zaBt+VoFwOcwcEM/w45aoUiGe6RS4F4K54z4QlUYXNzZXJ0aW9uIGZhaWxlZDogX24+MQAADwAAAAoAAAAFAAAAYXNzZXJ0aW9uIGZhaWxlZDogSz4wCmFsZ19xdWFudCgpIG5lZWRzIGF0IGxlYXN0IG9uZSBwdWxzZQBjZWx0L3ZxLmMAYXNzZXJ0aW9uIGZhaWxlZDogTj4xCmFsZ19xdWFudCgpIG5lZWRzIGF0IGxlYXN0IHR3byBkaW1lbnNpb25zAGFzc2VydGlvbiBmYWlsZWQ6IEs+MAphbGdfdW5xdWFudCgpIG5lZWRzIGF0IGxlYXN0IG9uZSBwdWxzZQBhc3NlcnRpb24gZmFpbGVkOiBOPjEKYWxnX3VucXVhbnQoKSBuZWVkcyBhdCBsZWFzdCB0d28gZGltZW5zaW9ucwBjZWx0L2JhbmRzLmMAYXNzZXJ0aW9uIGZhaWxlZDogZW5kPjAAYXNzZXJ0aW9uIGZhaWxlZDogbmJCYW5kcz4wAGFzc2VydGlvbiBmYWlsZWQ6IHN1bT49MABhc3NlcnRpb24gZmFpbGVkOiBOID4gMAAAAAAAAAAAAQEBAgMDAwIDAwMCAwMDAAMMDzAzPD/Aw8zP8PP8/2Fzc2VydGlvbiBmYWlsZWQ6IHN0cmlkZT4wAAAAAAAAAQAAAAAAAAADAAAAAAAAAAIAAAABAAAABwAAAAAAAAAEAAAAAwAAAAYAAAABAAAABQAAAAIAAAAPAAAAAAAAAAgAAAAHAAAADAAAAAMAAAALAAAABAAAAA4AAAABAAAACQAAAAYAAAANAAAAAgAAAAoAAAAFAAAAYXNzZXJ0aW9uIGZhaWxlZDogaXRoZXRhPj0w"); - base64DecodeToExistingUint8Array(bufferView, 42145, "QMpFG0z/UoJas2Kia2B1YXNzZXJ0aW9uIGZhaWxlZDogcW4gPD0gMjU2AAAAAAAACA0QExUXGBobHB0eHyAgISIiIyQkJSVhc3NlcnRpb24gZmFpbGVkOiBjb2RlZEJhbmRzID4gc3RhcnQAY2VsdC9yYXRlLmMAYXNzZXJ0aW9uIGZhaWxlZDogYml0c1tqXSA+PSAwAGFzc2VydGlvbiBmYWlsZWQ6IGViaXRzW2pdID49IDAAYXNzZXJ0aW9uIGZhaWxlZDogQyplYml0c1tqXTw8QklUUkVTID09IGJpdHNbal0AYXNzZXJ0aW9uIGZhaWxlZDogZmluICE9IGZvdXQKSW4tcGxhY2UgRkZUIG5vdCBzdXBwb3J0ZWQAY2VsdC9raXNzX2ZmdC5jAGFzc2VydGlvbiBmYWlsZWQ6IG09PTQAYXNzZXJ0aW9uIGZhaWxlZDogc3QtPnNpZ25hbGxpbmc9PTAAY2VsdC9jZWx0X2VuY29kZXIuYwACAQBhc3NlcnRpb24gZmFpbGVkOiAhY2VsdF9pc25hbihmcmVxWzBdKSAmJiAoQz09MSB8fCAhY2VsdF9pc25hbihmcmVxW05dKSkAYXNzZXJ0aW9uIGZhaWxlZDogY291bnQ+MAAZFwI="); - base64DecodeToExistingUint8Array(bufferView, 42642, "gD8AAABAAABAQAAAgEAAAKBAAADAQAAA4EAAAABBAACAQQAAwEEAABBCAAAwQgAASEIAAGBCAAB4QgAAhkIAAJBCAACeQgAAsEIAANRCAAAGQw=="); - base64DecodeToExistingUint8Array(bufferView, 42738, "gD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAABAQAAAQEAAAIBAAACgQAAAwEAAAABBAAAAQX58d21XKRMJBAIAAP//nG5WRjszLSglIR8cGhkXFhUUExIREBAPDw4NDQwMDAwLCwsKCgoJCQkJCQkICAgICAcHBwcHBwYGBgYGBgYGBgYGBgYGBgYFBQUFBQUFBQUFBQUEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAwMDAwMDAwMDAwMDAwMDAwMCYXNzZXJ0aW9uIGZhaWxlZDogIWNlbHRfaXNuYW4odG1wWzBdKQBhc3NlcnRpb24gZmFpbGVkOiAhY2VsdF9pc25hbihub3JtKQAAAAAAAAAz8AEN+/rw+Qv6ahoc8hXjBxLu7xXv9xTn/d4wC/Ph7OL3AvQF/wgJCQjzEu/e+xH1APwKAgoP+AL/AAUN/fAB+wMH5PMGJP0TxO/kB/Xi+QLW6/0G6iH3B+IV8hj17O779AzPzs8QCdv/CSLz4eEMECzWAvcI7voJJBMLDQzrA+T0AyEZ8gsBotkS9PXx+TE0CtUJOQgV+g7xLPgH4vP+9xn+gRL1zBrlGwr2BysG6CkK7uUKEQkK7/YU+hY3I7AkGejcDwntWBNAzd0RAPkp8BsED/8S8C/ZyvgN5+xm7vssC+RHAs37BQKt9+MIFcs62/kNJgki/9cVBOjc3+sgS/4BvP8v4yAUDL+pBRD0GCgPBxPm7xEG/tvi9yCB2QDh5QTqF/qzI8Mg2+gN9f/Y/RH5DQs77QoG7gANA/rpEwvvDf+wKMtF48oA/CHn/iYjJPEuAvPw+PgM6PfJ+/cgCwcM7vaq2jYl5xLVB+Xlyg0JFkYGI/kX8dT6B76rICjt9/kM8QcCBt0LHAAaDgEBBAwSIxbu/Q7/Bw748v0E/e35/+flGeb+Ierl5wT3BxUa4gr37AsbCgXuDvwC7/v59/MPHQH28PYjJPnq1BEeFhX/FvUg+PkF9gUe7B3s3gz8+gbzCvu8/xgJE+jAHxMb5kvTKSfWCAYX4hDnHiII2v0SEOEW/PcBFAkm4ADTAPrzC+fg6h/o9fX8/BTeFhQJ5xv7HOMdBhX67jYE0hcV8uEk1+gEFgoLByTg88zvGBzb3P8YCdojMBIC/y0KJxjaDQjwCBkLB+P1BxTi2tMO7uT3QT0Wy9rwJC4U2SDD+vrc3+7kOGUtC+Tp48MU0QIwG+8BKAEDzQ8jHBYjNcPjDPrrCgPsAucB+h8L/QH2zAZ+l3p/gH9/gH9sDH8wgNyAf3+AgH9ZgH+AgIB/f4CAo64UfUGufya2UVioTzPRkeYOU6iQGCObYp3Q0y5TxLEt7NcJBDQ2XfYEDQN7Bl6Ru/LhCgw1sfXr/tS4XEHHONp/yIB/f4BWdbWAf+2dkH+Af9BydoCAde/6eYB/gFI2ln9/32TZ6RKy3uP/4n/mf4B+gBvpsYiBf0hCHQe+yIuAIKgAAECoAAAZAAAAIA=="); - base64DecodeToExistingUint8Array(bufferView, 43904, "1hQQAGk8AZ8YPBINPhl/Ik83dn9fH/xXFQwC8hIXCBH/+AUEGCUVDSQNERIlHiEBCPD1++H9+wAGAzr5//AF8xAK/vIL/AP1AAAAAAAAAAAW//kHHeXh7/MhLPgLIRhODxMe/ugFMQUkHfL10N8V1tr0N9s2+AEkEQAzHzsH9DUEIPIwBfbw+AHwyOj6Ev4XBi769hQj1PHPJBAF+bG9DEb9scqr6C/qIRVF/wsWDvDw6uT1C9cf5t/t/BsgzgX22ur4I+EB1/H1LBzv1+kRAunm8/PvBg7h5wntJ/gEH//T9eSk0vEVduotzQvs7PEN65/j4OnWXgEX+D/90hPmINi25hr88x7s4ufy4dPVBMTQ9N4CAgMNDwsQBS73yfDHHQ4mzv7U9fg05dr5FC8RxQAvLsEj7xMhRO0CD/Ac8Jka3S/ZxB4f6czzdC/nHige6gIM5e4f9hv4vgwOBObk8wMN5s0lBQLrLwMNGdfl+PwFtN8cCgnSthMcGR82yUQm6OACBEQL/2MFEP62KBrmIR//vA76GQkdPD0H+QDoB00E/xD5DfHtHOHo8CUYDR4K4gsL9hY8HC392ML7mgng5coVD/sl1fUl7S/AgOWOFb47Lv30qfcEE4/cTjnm2rP2Bga1GZ/1IdIBDevf7BD6/fX85SYI1/7fEhPmAePq/PLJ9bD9CyJaMwsRKyR/4B1nCRsNQDhG8gP0CiUDDOr2LhwKFBroEgkHDiL7+R/yyAvu+O/59tgK3+DVBQkL/Aoy9PsuCQcBCw9b7wfOFwbinQDvDgj25+K7wh9/cull+8r66gfIJxLjAC4IsQTrEuA+9Pj0xh/gEQboGRgJ/O0tBhHyBeUQ/NcZ3AUPDDIbGRfUu/ft0PgEDPoN7eLcGiX//eLW8vbsGsrl1ARJ5logu+PwA2cP7yUY6eEh28AZDa/k4BsF3ekP6hP5CR4T6RvzKx3j+gnY39/gCQvQ+OnMLhHq1iPx1xAiH9bt9TcH2Vn13xTyFiAD7/oOIgE366b4EhsN4xUP38339QTw7hf8/DABBx3y9PARIwgA+f4JCBH6NeDrzgVjxPvLCuEM+wdQJBLhCWIkwd0E8+ToHPMSEP/u3goUBwQdCxn5JA4tGAHwHgYj+vXoDf8bJxQw9fzzHAvh7h/jFv7s8AUe9OT9XfAXEuMGytsc/f3R/dzJ/Sn2L/4XKvm55VPAB+gIGu8PDB/i2vPfyATvFBIB4vv64fLbABYK4iXvEgYFF9zgDhLzw8y7LOIQEvznDlEa+OnFNJgRd+AaEQEXLR3Ax/JJFfPzCbz5zAMY2SzxGw4T9+T1BQPe/gIW+ukEAw3q8/buHQYs8+j4Ah4OKwYRt/r5FLD5+eQPu9r7nN0PsRcd7uUVvtsI6tkwBPMB9wvjFgbPIPIv7vwszLYrHhfyBQDlBPkK/AoB8Avu/vsC9QDs/CZKOydA9hr92LwD4s0I7eXSMzQ2JFpcDg37ABDCEAvR2/r7FTbHICr6PvcQFRgJ9vwhMg3xAd3QEvXvvfMVJtQk8B0RBfYSEeACCBbI8eAoKxMu+ZygEzUYFebQm649Jqvk3v8/+/snJ9og9OQUKPgCHwzd8xTnHggD8/fsAvMYJfYhBhTw6Pr67fsWFQoL/Nn/BjEp8ccVwk278wC2Afna+AY/HAQazFI/DS3fLMy/69LPQO8gGETZ8PvmHAXD5AIYC/TfCdv95Bbb9BMA7v4OAQQI9/4r7/6+4TjYqdz+/NbT/x/V8Rs/9SD23xvtBA/m3h382b8O7Ovv3A07L9rfDdv42/n6tOH00gcY6+LyCQ/08y/l5//ZABT3BgcEAwcnMhb5DuwBRuQd1wrw++T+2yDuET717M4kFcL0yDQyEQMwLNfnAxD9ACH6Dxsi5xYJEfUkEP4MFcwt/vYuFe5D5PMeJSoQ9wtLB8DY9h056QU1swPv+y/J3dzzNMu5NJHp5uQd1TftK+029N/U2e324fYVJsfsAucI+jIMDxnnD+L6CRklE/wf6gIEAiQHA96wJPb++x/cMboU3BUYGdLNJMbQ2PY3Ry8K/wEC0rwQDQC240nM7vUH1K7guuT/2bz61wzq8Cj15zP3FQQE3geyEAba4v7UIAAWQAW4/vL28PjnDGbGJfbpDzEH+QLs4C36MBweIf8W+h5B7x1KJeb2D+gTvhb24f/u9wsl/C0FKREBARjGKQXNDggrEPb/LSDAA9/n/eW8DBf189vYBOv0IOntTCnp6NS///EBRz8FFP0V6R/gEv4bHy772fvdEu7Y9gMMAv7qKAX6PCQDHeUKGcoFGicj6NsepRz86+XZ+gUMgCbwHaHjUv4jAgwI6gpQ0QLnt7EQ4uC+MBXT9dEO5e/5D9Ty1ObgGukR+eQa+hwG5gIN8unyEy4QAt/rHO/WLNsB2RxU0g8KDdRI5hog5PStAgri1PbkNS1BAOc5JN8GHSzLCxP+5SMgMQQXJiQYCjPZBPkaJd0L0e4cEN0qEevXHA70C9MH1fES+ybYzuLrCZ4NDBdLyPn9/P/eDM8LGu7k7yEN8igYuNsKEfoWEBD69OLyCijpDA/98Q3I/OIB/e8bMvtA3O0HHRYZCfDGu9jDufIqXRoL+sb1RswTCeLfC9vR6+rYCi8E6REwKdAOCg8i6f7RF+Dz9ubm/BAm8gD0+fkULP/g5fAE+u4OBQTjHAf5D/Xs09wQVCLF4hZ+CERP7xW8JQUPPzF/plUrBxAJBtPH1TkL6fXjPOYAByroChfnCPnYE+8jBBvZpRvcIgIQ6BkH6wURCuriCe/D5iEVOs3yRdoUB1D8v/rlNfQv//EBPGax/AwJFiX4/CUC/fHw9fsT+tUU5+4K5QDk5fUK7v788BoO+gf6ATX+4xcJ4vr8+jhGAN/s7/foLvuXL9LNFBTLr//5S/vrvwzMFs70MTZMrwot18US7RkO4cv7DB9U6QIHAgrgJ/70AfcA9vUJD/j+Av8KDvvYE/n5GvwCAeUjIBXhGiv3BOAowswkFiYWJKAG9unPD9/u/QApFe0VF9np+gYvOARKAJ4d0fLcFeoWEA0MEPsNEfPxAd7mGgwgGw29GwIIChIQFO/vOcAFDhMf7tTS8ATnEYLoJwQIN+feJ/ADCUdI4ckGCucgq+sS+A8M5fkB6/77MPASAermEA7hG/rx6wTyEtwUQ50MKecx1CNRbi8ivvIOxCIdtwopI1kH3RYHG+z6OBpCBiHJNQHrDhFENzsAEvcF1wb7jvQdKukKUeUUy+LCKF8Z/AMS+PHjrgLH/cPj4zECyQW7nc/NBucMWSzfBSkBF9vb5NADBNfix93Z//PI+zIxKfz8Ier/ISISKNYMAfr+EhEnLAtBxNMKWxUJwvUIRSUY4hUa5QHkGEL4BrkiGCw6su05EcQBDP3/2BYL+xkMAUhPB84XEg0V9ewFTaIYDznNAyQ1/wQOHuEWKCD13tzFOhkVyukoLhIADDagncUFd9oyNwzwQwAiIycj/0UYG+Ld/LoC1Pn6E/c8LOv2JSvw/R7xvx/JEp5MQBkY7vm89iYbxCQhEB4i2dsfDDXKDubPgPP76vWrN/jN9d/24bTXFyzYyoGbE+nxDxs6xAgO3wEw9/WFAzUXBOQWAuO9JAwHN+tYFP/r7wMpIPby+8dDORUX/uW36HgVEt0q+QPT50zeMgvKpQOP7PsvD9ERG/3m+QoHSthA+fvoz+j99hvv+P0O5SENJxz52h0QLBM3/QnzxysrHwCj7xPIBPTnJavziiHvOEew/Ab17i/MGQkwlQEVFP0K8PwYER/D7s4Y9gxHGgv9BAEA+dgSJt4mEQjeAhV74OYrDt7/9yXwBu/CRBYRC7UhsD73tUwk1/jY9bko2T7PrxD3zDQ9EZnl9vjKxxUX8MwkEgr7CA/jBe3bCMsGE9sm7zAKAFEuRuNlCyzU/RgLAw73Cw7TDS79x0QsP2IZ5OkPIPY1+v73+hCV9fXkOznqJipTGwUd4gzr8x8m6zr29vH++wsMt+TaFgLnScz0ySDBFTMhNOY35uY54PzMwxXfpc1Fpsva1Ay07E3T+VYrk9+X2If2ALgtzbXP2v/CEv8e1PL2vSj23i7A4B3zIQPg+xzl510YRNg5F/3rxhHZ7+qnCxLSGxgufz1XH3/cL+kvf+hueh5kAGD0BjIs80kEN/XxMSr6FN06EiYqSBPrCwnbBx0fEO8NzhMF6TPw+wToTArL5Pm/Sijw4yDwz939O6DO1dXD8fjc3t/yC/3ZBI6F9c/rDsgBK8EaKBL25vLx3d31INS9AhYHA/fizeQcBuoQIufMyvj6BQgU8O/UGwMf+9D//XQLR+HRbTLq9McgQgjno8r2E7TeYTDc7uLZ5vQcDgz04SYCCgTYFBDDAkAnBQ8hKMPPXfYhHPXl7ifC+vo+C/gmvQwbJ+V77vq/U8AUE/UhGBE4TgfxNpv3c6AyMyMiGyXY9QjcKtMC6QBD+PfzMvLlBAD48h73HQ8J2iX4MtI2KfX49eYnLQ7m7+VFJidiQgAqe5vtrXXgOAoMqE/LOD9fwgkk87HwJdIj3g4RygUV+Qc/OA8btOcE5sEcvcwr0boo9Ci+2wAjJcsE780LFQ7e/BjWHRYHHAwlJ9ntQcTO/gFSJxPp1eq93d4gZlF/JEPTAb3M/CMUHEdW3fet3gwJ6QIOHOkH5y0HEdsA7R8aKOXwEQXrFxhgyTTt8voBMt5WyyYCzNzzPKuIIAf0Fkb5oia04ewP5AcGKDVYAyYS+OrpMyX3DeAZ6xsfFBL38wEV6PMnD/Xj3BIPCBsVov/qMUL/Bv3Y7gYcDCHFPjzQWv9sCRL+G02/UtDa7fV/MkIS8+o82ijy5vMmQzkeIRokJu8b5BQMwBIF3+UN5iAj+9DyXCvR8igLM0IWwfDDBOQbFN/i6+PLH9gYK/ztFUMUZPCjTvruzNv3QuH4GhIEGOoR/vMbAAju5wXr6PkSoxUHArVFMvvx7zzWNwH8AwouEPMt+fbUlDEC8cD0uCDa0wrKDfPl3MA6wptYqrnZ94AgD/w28Nnm3C4wwPYTHvMi+DI86vr14gUyIDgAGQZEC+Mt9/QEARLPANrtWh0jMwjQYP/09+DBv/kmWRyr5OnngDhP3GP62wfzu9LjGUDrEQEqvgFQGuAVDw8GBvYPfwUmG1fH5wtI6/sL875OJP0p6wjfF0kcOef7BOrRDwTHuCEBEgI1uZ3r/ZFsR/JSGT3QBQnN7Of9Dt8O/d4WDO3a8AIVEBrhSyzhEBpCEffq6hbUFhsCOvIKt9Y358NI/x7G5z8a0Nga4jwI7//u7Cvs/OR/lh1GQOUn3/uo2MwaLO8XAs8W9/hWMdXEAQotJMv8ISYwuAETFb8E+8Ib5xH6BtPZ0gQaf/cS3+79IQL7D+bqi8HvxT22B9HGgL0P8IAMAhQJ0NgrA9jw2vrq5PDF6gb7C/S+2BvC1O0m/Sf4KOgNFTLE6jXj+gEWxQAR2XOAqwAA0KsAANC0AAAgAAAAGAAAAA51"); - base64DecodeToExistingUint8Array(bufferView, 48048, "j6gfgILDVd12gMN/gO+Af2j3gCEtfwVTVICrgNMwy4Auf+99ddeLpYG8/6ewIGoHpLsAALC7AAAYAAAAAgAAAAE="); - base64DecodeToExistingUint8Array(bufferView, 48132, "BcEjPel9oz0llvQ94nQiPqwcSj7dJXE+NLqLPrR3nj7kv7A+rYjCPiXJ0z4YeuQ+GJX0PsgKAj8cfAk/SZ0QP8ptFz/A7R0/nx0kP1T+KT8ukS8/4Nc0P2PUOT/wiD4/0/dCP6sjRz8XD0s/2LxOP60vUj9qalU/zm9YP5pCWz+O5V0/S1tgP26mYj9kyWQ/m8ZmP2+gaD/3WGo/gPJrP99ubT8L0G4/yhdwP+BHcT/hYXI/TWdzP5ZZdD8MOnU//wl2P4rKdj+7fHc/wCF4P2K6eD+dR3k/S8p5PyRDej/ysno/Oxp7P8h5ez8g0ns/yCN8PzdvfD/ytHw/XvV8P+AwfT/sZ30/t5p9P7TJfT8G9X0/ER1+PxhCfj9OZH4/04N+P/2gfj/tu34/w9R+P7Prfj/vAH8/hxR/P40mfz9DN38/qkZ/P+NUfz8PYn8/L25/P2R5fz++g38/P41/PxiWfz84nn8/wqV/P6Osfz8Qs38/9bh/P3e+fz9yw38/Gch/P2zMfz9b0H8/BtR/P2/Xfz+D2n8/Zt1/PxXgfz+C4n8/zeR/P+bmfz/N6H8/kup/P0bsfz/I7X8/KO9/P3jwfz+m8X8/w/J/P7/zfz+69H8/lPV/P172fz8n938/z/d/P3f4fz/9+H8/lPl/Pwn6fz9/+n8/9Pp/P1n7fz+t+38/Afx/P1T8fz+Y/H8/2/x/Px79fz9Q/X8/gv1/P7X9fz/n/X8/Cf5/Pzv+fz9d/n8/fv5/P4/+fz+w/n8/0v5/P+P+fz/0/n8/Ff9/Pyb/fz83/38/R/9/P1j/fz9Y/38/af9/P3r/fz96/38/i/9/P5v/fz+b/38/m/9/P6z/fz+s/38/vf9/P73/fz+9/38/zv9/P87/fz/O/38/zv9/P87/fz/e/38/3v9/P97/fz/e/38/3v9/P97/fz/v/38/7/9/P+//fz/v/38/7/9/P+//fz/v/38/7/9/P+//fz/v/38/7/9/P+//fz/v/38/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8="); - base64DecodeToExistingUint8Array(bufferView, 48944, "5lo0OHdOMznT2ck5kpEzOsxgjDph+8k6mX4JO8uAMzvVJWM7dy6MO6iKqTtFuMk7h6bsO+guCTyuZh089wIzPJP/STxPWGI8XhF8PC6Rizy9x5k8XKyoPPM8uDyBecg87l/ZPDnw6jxjKv08NQcIPRDMET3N5Bs9YVAmPcsOMT0AHzw9/oBHPcY0Uz0/OF89aYtrPUUueD1pkII9ezCJPeD3jz2K5ZY9e/mdPbEzpT0hk6w9UBi0PTPCuz1PkcM9EoTLPQKb0z0f1ts91zPkPa+07D0hWPU9qB3+PaGCAz7yBgg+x5sMPt1AET409hU+RbsaPhGQHz5UdCQ+y2cpPjNqLj6NezM+Ups4PsXJPT4cBkM+WVBIPnqoTT63DVM+UoBYPggAXj5UjGM+8iRpPiXKbj4ke3Q+rDd6PgAAgD6r6YI++diFPoXNiD5Qx4s+N8aOPvfJkT6z0pQ+JuCXPg/ymj5sCJ4+HCOhPv9BpD7QZKc+sYuqPhy2rT5U5LA+0xW0PrpKtz7ogro++b29Pg38wD7iPMQ+VoDHPkfGyj6VDs4++1jRPnql1D7x89c+HETbPtmV3j4I6eE+pz3lPlOT6D4M6us+r0HvPhya8j4O8/U+iEz5PiKm/D4AAAA/76wBP7xZAz95BgU/8rIGPylfCD/6Cgo/VrYLPyxhDT98Cw8/E7UQP/JdEj8IBhQ/Q60VP4JTFz+2+Bg/3JwaP9U/HD+P4R0/+YEfPwQhIT+MviI/o1okPxf1JT/WjSc/8iQpPyi6Kj+YTSw/Ad8tP3JuLz/K+zA/+YYyP+0PND+nljU/BBs3P+WcOD9YHDo/PZk7P4MTPT8qiz4/AABAPxVyQT834UI/d01EP8O2RT/rHEc//n9IP+zfST+SPEs/4ZVMP+rrTT95Pk8/j41QPyvZUT8dIVM/c2VUPw2mVT/r4lY//BtYPy9RWT9zglo/ya9bPw7ZXD9D/l0/WB9fP0s8YD/8VGE/amliP4V5Yz88hWQ/oIxlP36PZj/WjWc/uodoP/Z8aT+cbWo/illrP9FAbD9PI20/BAFuP/HZbj/zrW8/HH1wP0lHcT98DHI/tMxyP/CHcz8QPnQ/E+90P/qadT+zQXY/P+N2P41/dz+tFng/fqh4PwE1eT80vHk/GD56P526ej/CMXs/d6N7P7sPfD+fdnw/Ath8P/QzfT9lin0/RNt9P7Mmfj+PbH4/66x+P6Pnfj/aHH8/f0x/P4F2fz8Cm38/0Ll/PxzTfz/F5n8/y/R/Py/9fz8AAIA/BAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAABAAAAAUAAAAGAAAABwAAAAiAAAAKAAAADAAAAA8A=="); - base64DecodeToExistingUint8Array(bufferView, 49986, "gD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD7QJbQ+lzmtPgmlnz767Ys+zaxlPvipKj40MNI9WvENPVrxDb00MNK9+Kkqvs2sZb767Yu+CaWfvpc5rb7QJbS+h4qxPhuDlj5gI0k+xEKNPcRCjb1gI0m+G4OWvoeKsb6HirG+G4OWvmAjSb7EQo29xEKNPWAjST4bg5Y+h4qxPpc5rT7NrGU+WvENPfipKr4JpZ++0CW0vvrti740MNK9NDDSPfrtiz7QJbQ+CaWfPvipKj5a8Q29zaxlvpc5rb59Pac+0osKPtKLCr59Pae+fT2nvtKLCr7Siwo+fT2nPn09pz7Siwo+0osKvn09p759Pae+0osKvtKLCj59Pac+CaWfPlrxDT367Yu+lzmtvjQw0r3NrGU+0CW0PvipKj74qSq+0CW0vs2sZb40MNI9lzmtPvrtiz5a8Q29CaWfvhuDlj7EQo29h4qxvmAjSb5gI0k+h4qxPsRCjT0bg5a+G4OWvsRCjT2HirE+YCNJPmAjSb6HirG+xEKNvRuDlj767Ys++Kkqvpc5rb5a8Q090CW0PjQw0j0JpZ++zaxlvs2sZT4JpZ8+NDDSvdAltL5a8Q29lzmtPvipKj767Yu+YXNzZXJ0aW9uIGZhaWxlZDogc3QtPm1vZGUgPT0gTU9ERV9IWUJSSUQgfHwgY3Vycl9iYW5kd2lkdGggPT0gT1BVU19CQU5EV0lEVEhfV0lERUJBTkQAc3JjL29wdXNfZW5jb2Rlci5jAGFzc2VydGlvbiBmYWlsZWQ6IHN0LT5zaWxrX21vZGUuaW50ZXJuYWxTYW1wbGVSYXRlID09IDE2MDAw"); - base64DecodeToExistingUint8Array(bufferView, 50672, "4C4AAOgDAACwNgAA6AMAAIA+AADoAwAAIE4AAOgDAADwVQAA6AM="); - base64DecodeToExistingUint8Array(bufferView, 50740, "4C4AABAnAAAQJwAA+CoAAPgqAACAPgAAvDQAALw0AACYOgAAmDoAACBOAACAPgAAgD4AAFBGAABQRgAAwF0AAFBGAABQRgAACFIAAAhSAAAAfQAA8FUAAPBVAABgbQAAYG0AAAD6AABwlAAAcJQAAFDDAABQwwAADQAAABEAAAARAAAAEwAAAAAAAAAIAAAABAAAAOF6VD/2KFw/nMcAABAAAAAEAAAAmplZP65HYT+cxwAAIAAAAAQAAADBymE/w/VoP5zHAAAwAAAACAAAALgeZT+DwGo/pMcAAEAAAAAIAAAAqMZrP9ejcD+kxwAAUAAAABAAAAAxCGw/16NwP6zHAABgAAAAEAAAANejcD+F63E/rMcAAIAAAAAQAAAAMzNzPzMzcz+sxwAAoAAAABAAAACPwnU/j8J1P6zHAADAAAAAIAAAANnOdz/Zznc/tMcAAAABAAAgAAAAmpl5P5qZeT+0xwAAwMcAACAAAADgyAAAIAAAAADKAAAgAAAAIMsAAEAAAAAAAAAAJZHguiDq7z8AAAAAAADwPyWR4Log6u8/3ksrz82o7z9aH/+a5jzvP1XPF7Xap+4/vqBk9qLr7T/XkG46uArtP4voz2UHCOw/td5vtOPm6j9YAHQU96rpPyJyVTQxWOg/UMWuabXy5j9Y5LYByH7lP5RFJ2y7AOQ/RytKS9184j+po+NqZPfgP6qpl6W+6N4/FsR6gkjv2z9LZsyPhQnZPz/p4VfuPdY/wmpufT+S0z+gvqdqaQvRPytyXzkIW80/J5liL5D3yD+hB8qvF/HEP8pirICMSsE/IsW+bFQKvD9hhQCFH0G2P4/ecB+5NbE/Q4TJnk7DqT8he3vfEXiiP/NHKOi855g/We0O5+l1jj8hAg6hSs1+PwAAAAAAAAAAwVNMzh7i7z8AAAAAAADwP8FTTM4e4u8/z0LImg2J7z8MbeeYf/buP4gSLXk8Le4/mk30twwx7T+1sMC6ngbsP8yZDhlms+o/3Hksx3U96T9RqyK7VqvnP5U2yU3cA+Y/davnpPdN5D93AJvei5DiPxOB6h9E0uA/xgDD0dky3j9TPgRVo9faP9kIYcE/ndc/qGoG4Z+M1D9uJH0YKa3RP1rvefZDCc4/GwBgK1cuyT9RlmsbkM7EP4vsWq3Z68A/6dYpXn4Kuz/fF/rUby61PwYNgUwAOLA/yr1E5fQvqD+mFfjtmHihP0v1U9J5Q5g/lM+f9I0BkD8Abjc9/6iDP95pGUbNmXU/4IWMy+EoYz/8qfHSTWJAPwAAAAAAAAAAuaajkCLa7z8AAAAAAADwP7mmo5Ai2u8/hQsW2ntp7z9ERs1417DuPyZTw4bAtO0/M9ouXVZ77D+pzhc5EwzrP6nqcSGHb+k/cuaRHgqv5z/W0WnEadTlP8CnpBSV6eM/OaAA5Ur44T/qgxvfzQngP1Vq1TJCTdw/Q13e+5+s2D8PWvbBhT7VPx8F28pDDdI/oGc3IxhBzj+Mi3rz4frIP/CuSIb7TMQ/dOMnH8w3wD/uYYrNIm+5PztOVcoAirM/6GEuyuhXrT8kM80qInmlP7tpbfnMgp4/Iix0b4/vlD8+Ed0W2YyLP13CX5umMoE/UAiy2AUHdD+ByCq+BBtlP9zuq5Ov21I/G8qaom1GNz8="); - base64DecodeToExistingUint8Array(bufferView, 52000, "yFEM0oT07z8AAAAAAADwP8hRDNKE9O8/9pUH6SnS7z/a08TxMpnvP9T9ENkPSu8/fp+7blvl7j9hwT+d2WvuPx3X8SV13u0/an9v7Dw+7T/J6jXBYIzsP3ckRQEuyus/Hrx+2gv56j860L80dxrqP/UlI4D+L+k/8kBDgz076D8OB1Pe2D3nP/fyr6N5OeY/TMjFIMkv5T/OuHiRbCLkP/+ZWhkBE+M/L5wx7RcD4j9j2QbNMvTgP01ahnKBz98/zY9k+zW+3T8VxjeQBbfbP+AHrag9vNk/YDMKk/PP1z/zHfzEAfTVP0qFZ/gFKtQ/5808FGBz0j+NyjQ3MtHQP9jRevDBiM4/ryd4Eiqbyz/ISJPeedrIP7XPWyMfR8Y/PVdCFB/hwz+1zQFAHajBP026kLvGNr8/LgwmONRzuz9mkgUKxAS4P4BUFsd55rQ/YkhOJm4Vsj+kFYSXhRuvP+yy6yCnlqo/l6hBRZOTpj8+eC/vWAmjP9XnrEfI3Z8/bM9NFzl2mj/08djo/8mVPw8LtaZ5x5E/VRds+h67jD/+pLEosveGPzy3lup+JYI/pfu1zFROfD9nH1R3n8J1PwXEfxU7dXA/dH+znJ1vaD/T8PMAksBhP/dS2/qnI1k/P8Gs7XlAUT/xQgCR+sJGP3uyzVM+gDw/JlGSIvCPMD/HVG5gehQhP32Jfzcgqws/8WjjiLX45D4="); - base64DecodeToExistingUint8Array(bufferView, 52545, "0VAAAAAAAAU="); - base64DecodeToExistingUint8Array(bufferView, 52564, "AQ=="); - base64DecodeToExistingUint8Array(bufferView, 52588, "AgAAAAMAAAC40A=="); - base64DecodeToExistingUint8Array(bufferView, 52612, "Ag=="); - base64DecodeToExistingUint8Array(bufferView, 52627, "//////8="); - base64DecodeToExistingUint8Array(bufferView, 52868, "4NA="); -} - - var scratchBuffer = new ArrayBuffer(16); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function wasm2js_scratch_load_i32(index) { - return i32ScratchView[index]; - } - - function wasm2js_scratch_store_i32(index, value) { - i32ScratchView[index] = value; - } - - function wasm2js_scratch_load_f64() { - return f64ScratchView[0]; - } - - function wasm2js_scratch_store_f64(value) { - f64ScratchView[0] = value; - } - - function wasm2js_scratch_store_f32(value) { - f32ScratchView[2] = value; - } - - function wasm2js_scratch_load_f32() { - return f32ScratchView[2]; - } - -function asmFunc(env) { - var memory = env.memory; - var buffer = memory.buffer; - var HEAP8 = new Int8Array(buffer); - var HEAP16 = new Int16Array(buffer); - var HEAP32 = new Int32Array(buffer); - var HEAPU8 = new Uint8Array(buffer); - var HEAPU16 = new Uint16Array(buffer); - var HEAPU32 = new Uint32Array(buffer); - var HEAPF32 = new Float32Array(buffer); - var HEAPF64 = new Float64Array(buffer); - var Math_imul = Math.imul; - var Math_fround = Math.fround; - var Math_abs = Math.abs; - var Math_clz32 = Math.clz32; - var Math_min = Math.min; - var Math_max = Math.max; - var Math_floor = Math.floor; - var Math_ceil = Math.ceil; - var Math_trunc = Math.trunc; - var Math_sqrt = Math.sqrt; - var abort = env.abort; - var nan = NaN; - var infinity = Infinity; - var emscripten_resize_heap = env.emscripten_resize_heap; - var emscripten_memcpy_big = env.emscripten_memcpy_big; - var __wasi_fd_close = env.fd_close; - var __wasi_fd_write = env.fd_write; - var abort = env.abort; - var setTempRet0 = env.setTempRet0; - var legalimport$__wasi_fd_seek = env.fd_seek; - var __stack_pointer = 5296384; - var i64toi32_i32$HIGH_BITS = 0; - // EMSCRIPTEN_START_FUNCS -function opus_encode_native($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) { - var $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = Math_fround(0), $18 = 0, $19 = 0, $20 = 0, $21 = Math_fround(0), $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = Math_fround(0), $27 = 0, $28 = Math_fround(0), $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = Math_fround(0), $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = Math_fround(0), $48 = Math_fround(0), $49 = Math_fround(0), $50 = 0, $51 = 0, $52 = 0; - $15 = __stack_pointer - 624 | 0; - __stack_pointer = $15; - $14 = $15; - HEAP32[$14 + 616 >> 2] = 0; - HEAP32[$0 + 18136 >> 2] = 0; - $13 = -1; - label$1 : { - if (($2 | 0) < 1) { - break label$1; - } - $23 = ($4 | 0) < 1276 ? $4 : 1276; - if (($23 | 0) < 1) { - break label$1; - } - if (($23 | 0) == 1) { - $13 = -2; - if (HEAP32[$0 + 144 >> 2] == (Math_imul($2, 10) | 0)) { - break label$1; - } - } - $19 = HEAP32[$0 >> 2] + $0 | 0; - $22 = HEAP32[$0 + 4 >> 2]; - $38 = HEAP32[$0 + 108 >> 2] != 2051 ? HEAP32[$0 + 116 >> 2] : $38; - $13 = HEAP32[$0 + 168 >> 2]; - HEAP32[$14 + 416 >> 2] = $14 + 612; - opus_custom_encoder_ctl($19, 10015, $14 + 416 | 0); - HEAP32[$14 + 544 >> 2] = 0; - $20 = ($5 | 0) < ($13 | 0) ? $5 : $13; - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - if (HEAP32[$0 + 44 >> 2] < 7) { - break label$9; - } - $29 = HEAP32[$0 + 144 >> 2]; - if (($29 | 0) < 16e3) { - break label$9; - } - $41 = 1; - $5 = Math_imul(HEAP32[$0 + 112 >> 2], $2); - if (($5 | 0) >= 1) { - $13 = 0; - while (1) { - $16 = HEAPF32[($13 << 2) + $1 >> 2]; - $21 = $16 > $21 ? $21 : $16; - $17 = $16 < $17 ? $17 : $16; - $13 = $13 + 1 | 0; - if (($13 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $24 = HEAP32[$0 + 7640 >> 2]; - $30 = HEAP32[$0 + 7636 >> 2]; - run_analysis($0 + 188 | 0, HEAP32[$14 + 612 >> 2], $6, $7, $2, $8, $9, $10, $29, $20, $11, $14 + 544 | 0); - $16 = Math_fround(-$21); - $5 = 0; - if (Math_fround(Math_fround(1) / Math_fround(1 << $20)) >= ($16 < $17 ? $17 : $16)) { - break label$4; - } - if (HEAPF32[$14 + 580 >> 2] > Math_fround(.10000000149011612) ^ 1) { - break label$5; - } - $21 = Math_fround(HEAPF32[$0 + 18128 >> 2] * Math_fround(.9990000128746033)); - $5 = Math_imul(HEAP32[$0 + 112 >> 2], $2); - if (($5 | 0) < 1) { - break label$8; - } - $13 = 0; - $16 = Math_fround(0); - while (1) { - $17 = HEAPF32[($13 << 2) + $1 >> 2]; - $16 = Math_fround($16 + Math_fround($17 * $17)); - $13 = $13 + 1 | 0; - if (($13 | 0) != ($5 | 0)) { - continue; - } - break; - } - $26 = Math_fround($5 | 0); - if (Math_fround($16 / $26) < $21) { - break label$6; - } - $13 = 0; - $16 = Math_fround(0); - while (1) { - $17 = HEAPF32[($13 << 2) + $1 >> 2]; - $16 = Math_fround($16 + Math_fround($17 * $17)); - $13 = $13 + 1 | 0; - if (($13 | 0) != ($5 | 0)) { - continue; - } - break; - } - break label$7; - } - $24 = -1; - if (HEAP32[$0 + 7648 >> 2]) { - tonality_analysis_reset($0 + 188 | 0); - } - $30 = -1; - break label$5; - } - $16 = Math_fround(0); - $26 = Math_fround($5 | 0); - if (Math_fround(Math_fround(0) / $26) < $21) { - break label$6; - } - } - $21 = Math_fround($16 / $26); - } - HEAPF32[$0 + 18128 >> 2] = $21; - } - HEAP32[$0 + 140 >> 2] = -1; - $41 = 0; - $5 = 1; - } - $51 = $5; - HEAP32[$0 + 18120 >> 2] = 0; - if (HEAP32[$14 + 544 >> 2]) { - if (HEAP32[$0 + 124 >> 2] == -1e3) { - $5 = $0; - label$19 : { - label$20 : { - $13 = HEAP32[$0 + 14228 >> 2]; - if (($13 | 0) != 1002) { - if ($13) { - break label$20; - } - $13 = $14 + 564 | 0; - break label$19; - } - $13 = $14 + 572 | 0; - break label$19; - } - $13 = $14 + 568 | 0; - } - $46 = Math_floor(+Math_fround(Math_fround(Math_fround(1) - HEAPF32[$13 >> 2]) * Math_fround(100)) + .5); - label$18 : { - if (Math_abs($46) < 2147483648) { - $13 = ~~$46; - break label$18; - } - $13 = -2147483648; - } - HEAP32[$5 + 140 >> 2] = $13; - } - $6 = $0; - $5 = HEAP32[$14 + 576 >> 2]; - $13 = 1101; - label$23 : { - if (($5 | 0) < 13) { - break label$23; - } - $13 = 1102; - if (($5 | 0) < 15) { - break label$23; - } - $13 = 1103; - if (($5 | 0) < 17) { - break label$23; - } - $13 = ($5 | 0) < 19 ? 1104 : 1105; - } - HEAP32[$6 + 18120 >> 2] = $13; - } - $16 = Math_fround(0); - if (!(HEAP32[$0 + 120 >> 2] == 1 | HEAP32[$0 + 112 >> 2] != 2)) { - $16 = compute_stereo_width($1, $2, HEAP32[$0 + 144 >> 2], $0 + 14260 | 0); - } - $5 = $2 ? $2 : HEAP32[$0 + 144 >> 2] / 400 | 0; - label$26 : { - label$27 : { - $13 = HEAP32[$0 + 164 >> 2]; - if (($13 | 0) != -1e3) { - if (($13 | 0) == -1) { - break label$27; - } - $6 = HEAP32[$0 + 144 >> 2]; - break label$26; - } - $6 = HEAP32[$0 + 144 >> 2]; - $13 = Math_imul($6, HEAP32[$0 + 112 >> 2]) + ((Math_imul($6, 60) | 0) / ($5 | 0) | 0) | 0; - break label$26; - } - $6 = HEAP32[$0 + 144 >> 2]; - $13 = (Math_imul($23, $6) << 3) / ($5 | 0) | 0; - } - HEAP32[$0 + 160 >> 2] = $13; - $5 = ($6 | 0) / ($2 | 0) | 0; - label$29 : { - label$30 : { - label$31 : { - $7 = HEAP32[$0 + 148 >> 2]; - label$32 : { - if (!$7) { - $8 = (Math_imul($6, 12) | 0) / ($2 | 0) | 0; - $13 = ((($8 | 0) / 2 | 0) + ((Math_imul($13, 12) | 0) / 8 | 0) | 0) / ($8 | 0) | 0; - $23 = ($13 | 0) < ($23 | 0) ? $13 : $23; - $13 = (Math_imul($8, $23) << 3) / 12 | 0; - HEAP32[$0 + 160 >> 2] = $13; - $8 = 1; - if (($23 | 0) < 2) { - break label$32; - } - } - label$34 : { - if (($23 | 0) < 3 | (Math_imul($5, 24) | 0) > ($13 | 0)) { - break label$34; - } - $29 = Math_imul($5, $23); - if (($5 | 0) > 49) { - break label$31; - } - if (($29 | 0) < 300) { - break label$34; - } - if (($13 | 0) >= 2400) { - break label$30; - } - } - $8 = $23; - } - $13 = HEAP32[$0 + 14240 >> 2]; - $13 = $13 ? $13 : 1101; - $6 = 0; - $2 = HEAP32[$0 + 14224 >> 2]; - $15 = ($5 | 0) > 100 ? 1002 : $2 ? $2 : 1e3; - $1 = ($5 | 0) == 25 & ($15 | 0) != 1e3; - $23 = $1 ? 50 : $5; - label$35 : { - if (($23 | 0) > 16) { - $2 = $23; - break label$35; - } - if (!(($23 | 0) == 10 | ($15 | 0) != 1e3 ? ($4 | 0) != 1 : 0)) { - $1 = ($23 | 0) < 13; - $15 = 1e3; - $2 = ($23 | 0) == 12 ? 25 : 16; - break label$35; - } - $6 = 50 / ($23 | 0) | 0; - $1 = 3; - $2 = 50; - } - label$39 : { - if (($13 | 0) >= 1104) { - $4 = 1103; - if (($15 | 0) == 1e3) { - break label$39; - } - } - if (($13 | 0) == 1102) { - $4 = 1101; - if (($15 | 0) == 1002) { - break label$39; - } - } - $4 = ($13 | 0) < 1105 ? ($15 | 0) == 1001 ? 1104 : $13 : $13; - } - $23 = HEAP32[$0 + 14192 >> 2]; - $13 = 0; - if (($2 | 0) <= 399) { - while (1) { - $13 = $13 + 1 | 0; - $2 = $2 << 1; - if (($2 | 0) < 400) { - continue; - } - break; - } - $13 = $13 << 3; - } - $2 = $3; - label$44 : { - label$45 : { - switch ($15 - 1e3 | 0) { - case 0: - $13 = $13 - 16 | ($4 << 5) + 96 & 224; - break label$44; - case 2: - $13 = ((($4 | 0) > 1102 ? $4 : 1102) << 5) - -64 & 96 | $13 | 128; - break label$44; - default: - break label$45; - } - } - $13 = $13 + 240 | $4 << 4 | 96; - } - HEAP8[$2 | 0] = $13 | ((($23 | 0) == 2) << 2 | $1); - $13 = $1 >>> 0 < 2; - if (($1 | 0) == 3) { - HEAP8[$3 + 1 | 0] = $6; - } - $13 = $13 ? 1 : 2; - if (HEAP32[$0 + 148 >> 2]) { - break label$1; - } - $0 = ($8 | 0) > ($13 | 0) ? $8 : $13; - $13 = opus_packet_pad($3, $13, $0) ? -3 : $0; - break label$1; - } - $42 = $29 << 3; - $9 = HEAP32[$0 + 40 >> 2]; - $34 = HEAP32[$0 + 44 >> 2]; - $8 = HEAP32[$0 + 112 >> 2]; - $10 = $13; - if (($5 | 0) == 50) { - break label$29; - } - $44 = 1; - $10 = Math_imul(Math_imul($8, -40) - 20 | 0, $5 - 50 | 0) + $13 | 0; - break label$29; - } - $42 = $29 << 3; - $9 = HEAP32[$0 + 40 >> 2]; - $34 = HEAP32[$0 + 44 >> 2]; - $8 = HEAP32[$0 + 112 >> 2]; - $10 = $13; - } - $10 = $7 ? $10 : (($10 | 0) / -12 | 0) + $10 | 0; - $32 = $34 + 90 | 0; - $25 = (Math_imul($10, $32) | 0) / 100 | 0; - $36 = Math_imul($9, 12) + 20 | 0; - $18 = (Math_imul($25, $9) | 0) / ($36 | 0) | 0; - $10 = 127; - label$49 : { - label$50 : { - switch (HEAP32[$0 + 124 >> 2] - 3001 | 0) { - case 1: - $10 = 0; - break label$49; - case 0: - break label$49; - default: - break label$50; - } - } - $10 = HEAP32[$0 + 140 >> 2]; - if (($10 | 0) >= 0) { - $10 = Math_imul($10, 327) >> 8; - if (HEAP32[$0 + 108 >> 2] != 2049) { - break label$49; - } - $10 = ($10 | 0) < 115 ? $10 : 115; - break label$49; - } - $10 = HEAP32[$0 + 108 >> 2] == 2048 ? 115 : 48; - } - $11 = HEAP32[$0 + 120 >> 2]; - label$53 : { - label$54 : { - if (($11 | 0) != -1e3) { - if (($8 | 0) != 2) { - break label$54; - } - HEAP32[$0 + 14192 >> 2] = $11; - $8 = $11; - break label$53; - } - if (($8 | 0) != 2) { - break label$54; - } - $8 = ((Math_imul(Math_imul($10, $10), 2e3) >>> 14 | 0) + (HEAP32[$0 + 14192 >> 2] == 2 ? 16e3 : 18e3) | 0) < ($25 - $18 | 0) ? 2 : 1; - } - HEAP32[$0 + 14192 >> 2] = $8; - } - $25 = !(HEAP32[$14 + 544 >> 2] | $41) & HEAP32[$0 + 184 >> 2] != 0; - HEAP32[$0 + 56 >> 2] = $25; - $11 = $44 ? Math_imul(Math_imul($8, -40) - 20 | 0, $5 - 50 | 0) + $13 | 0 : $13; - $11 = $7 ? $11 : (($11 | 0) / -12 | 0) + $11 | 0; - $11 = (Math_imul($32, $11) | 0) / 100 | 0; - $27 = (Math_imul($11, $9) | 0) / ($36 | 0) | 0; - $33 = HEAP32[$0 + 108 >> 2]; - label$57 : { - if (($33 | 0) == 2051) { - $11 = 1002; - HEAP32[$0 + 14224 >> 2] = 1002; - $25 = $0 + 14224 | 0; - $33 = (($6 | 0) / 100 | 0) > ($2 | 0); - break label$57; - } - $18 = HEAP32[$0 + 136 >> 2]; - label$59 : { - if (($18 | 0) == -1e3) { - $31 = $0; - $27 = $11 - $27 | 0; - $17 = Math_fround(Math_fround(1) - $16); - $21 = Math_fround(Math_fround($16 * Math_fround(1e4)) + Math_fround($17 * Math_fround(1e4))); - label$61 : { - if (Math_fround(Math_abs($21)) < Math_fround(2147483648)) { - $18 = ~~$21; - break label$61; - } - $18 = -2147483648; - } - $39 = $18; - $16 = Math_fround(Math_fround($16 * Math_fround(44e3)) + Math_fround($17 * Math_fround(64e3))); - label$63 : { - if (Math_fround(Math_abs($16)) < Math_fround(2147483648)) { - $11 = ~~$16; - break label$63; - } - $11 = -2147483648; - } - $11 = $39 + (Math_imul($11 - $18 | 0, Math_imul($10, $10)) >> 14) | 0; - $11 = ($33 | 0) == 2048 ? $11 + 8e3 | 0 : $11; - $18 = HEAP32[$0 + 14228 >> 2]; - $18 = ($27 | 0) < ((($18 | 0) == 1002 ? $11 - 4e3 | 0 : ($18 | 0) > 0 ? $11 + 4e3 | 0 : $11) | 0) ? 1e3 : 1002; - HEAP32[$31 + 14224 >> 2] = $18; - if (!(!HEAP32[$0 + 48 >> 2] | 128 - $10 >> 4 >= ($9 | 0))) { - HEAP32[$0 + 14224 >> 2] = 1e3; - $18 = 1e3; - } - $11 = (Math_imul($44 ? 9e3 : 6e3, $2) | 0) / ($6 << 3) | 0; - if (($23 | 0) >= ($11 | 0) ? !(($10 | 0) > 100 & $25) : 0) { - break label$59; - } - $18 = ($11 | 0) > ($23 | 0) ? 1002 : 1e3; - } - HEAP32[$0 + 14224 >> 2] = $18; - } - $25 = $0 + 14224 | 0; - $6 = ($6 | 0) / 100 | 0; - $33 = ($6 | 0) > ($2 | 0); - if (($2 | 0) >= ($6 | 0)) { - $11 = $18; - break label$57; - } - $11 = 1002; - if (($18 | 0) == 1002) { - $11 = $18; - break label$57; - } - HEAP32[$25 >> 2] = 1002; - } - if (HEAP32[$0 + 176 >> 2]) { - HEAP32[$25 >> 2] = 1002; - $11 = 1002; - } - $27 = 0; - label$69 : { - label$70 : { - label$71 : { - $18 = HEAP32[$0 + 14228 >> 2]; - if (($18 | 0) < 1) { - break label$71; - } - if (!(($11 | 0) != 1002 ? ($18 | 0) == 1002 : 0)) { - if (($11 | 0) != 1002) { - break label$71; - } - $6 = 1002; - if (($18 | 0) == 1002) { - break label$70; - } - } - $6 = 1002; - $45 = 1; - label$73 : { - if (($11 | 0) != 1002) { - $43 = 1; - $6 = $11; - break label$73; - } - $31 = 0; - if ($33) { - break label$69; - } - HEAP32[$25 >> 2] = $18; - $45 = 0; - $27 = 1; - $6 = $18; - } - $31 = 1; - break label$69; - } - $6 = $11; - } - $45 = 1; - $31 = 0; - } - label$75 : { - label$76 : { - if (($8 | 0) != 1 | HEAP32[$0 + 14232 >> 2] != 2 | (HEAP32[$0 + 68 >> 2] | ($18 | 0) == 1002)) { - break label$76; - } - if (($6 | 0) == 1002) { - break label$76; - } - $8 = 2; - HEAP32[$0 + 14192 >> 2] = 2; - HEAP32[$0 + 68 >> 2] = 1; - break label$75; - } - HEAP32[$0 + 68 >> 2] = 0; - } - $33 = $0 + $22 | 0; - $13 = $44 ? Math_imul(Math_imul($8, -40) - 20 | 0, $5 - 50 | 0) + $13 | 0 : $13; - $13 = $7 ? $13 : (($13 | 0) / -12 | 0) + $13 | 0; - $8 = (Math_imul($32, $13) | 0) / 100 | 0; - $39 = $0; - label$78 : { - label$79 : { - label$80 : { - label$81 : { - label$82 : { - label$83 : { - label$84 : { - if (($6 & -2) == 1e3) { - $7 = 1; - $11 = 1002; - $32 = 0; - $8 = ($34 | 0) <= 1 ? ($8 << 2) / 5 | 0 : $8; - $8 = $8 - ((Math_imul($8, $9) | 0) / (Math_imul($9, 6) + 10 | 0) | 0) | 0; - $9 = $8; - if (($6 | 0) != 1002) { - break label$84; - } - break label$83; - } - $11 = 1002; - if (($6 | 0) == 1002) { - $32 = 0; - $7 = 1; - if (($34 | 0) > 4) { - break label$83; - } - $8 = (Math_imul($8, 9) | 0) / 10 | 0; - break label$83; - } - $9 = $8 - ((Math_imul($8, $9) | 0) / ($36 | 0) | 0) | 0; - } - $8 = $9; - $32 = 0; - if (($18 | 0) == 1002) { - silk_InitEncoder($33, HEAP32[$0 + 180 >> 2], $14 + 440 | 0); - $32 = 1; - $6 = HEAP32[$0 + 14224 >> 2]; - } - $7 = 1; - if (($6 | 0) == 1002) { - break label$83; - } - $7 = 0; - if (HEAP32[$0 + 84 >> 2] ? 0 : !HEAP32[$0 + 14252 >> 2]) { - break label$82; - } - $11 = $6; - } - $13 = Math_imul($10, $10); - $9 = (Math_imul($13, 2e3) >> 14) + 12e3 | 0; - $10 = (Math_imul($13, 2500) >> 14) + 11e3 | 0; - label$89 : { - label$90 : { - $6 = HEAP32[$0 + 14252 >> 2]; - if (!$6) { - $13 = 1105; - $22 = 1; - if (((HEAP32[$0 + 14244 >> 2] < 1105 ? 2e3 : -2e3) + $9 | 0) <= ($8 | 0)) { - break label$80; - } - if ($6) { - break label$89; - } - if (HEAP32[$0 + 14244 >> 2] < 1104) { - break label$90; - } - $10 = $10 - 1e3 | 0; - break label$89; - } - if (($8 | 0) < ($9 | 0)) { - break label$89; - } - HEAP32[$0 + 14240 >> 2] = 1105; - HEAP32[$0 + 14244 >> 2] = 1105; - $13 = 1105; - break label$79; - } - $10 = $10 + 1e3 | 0; - } - if (($8 | 0) >= ($10 | 0)) { - $13 = 1104; - $22 = 1; - break label$80; - } - if (!$6) { - $13 = 1103; - $22 = 0; - if (((HEAP32[$0 + 14244 >> 2] < 1103 ? 9700 : 8300) | 0) <= ($8 | 0)) { - break label$80; - } - $13 = 9e3; - if ($6) { - break label$81; - } - $13 = HEAP32[$0 + 14244 >> 2] < 1102 ? 9700 : 8300; - break label$81; - } - $13 = 9e3; - if (($8 | 0) < 9e3) { - break label$81; - } - HEAP32[$0 + 14240 >> 2] = 1103; - HEAP32[$0 + 14244 >> 2] = 1103; - $13 = 1103; - break label$79; - } - $13 = HEAP32[$0 + 14240 >> 2]; - break label$78; - } - $13 = ($8 | 0) < ($13 | 0) ? 1101 : 1103; - $22 = 0; - } - HEAP32[$39 + 14240 >> 2] = $13; - HEAP32[$0 + 14244 >> 2] = $13; - if ($6 | $7 | (HEAP32[$0 + 88 >> 2] | $22 ^ 1)) { - break label$79; - } - $13 = 1103; - HEAP32[$0 + 14240 >> 2] = 1103; - } - $6 = $11; - } - $9 = HEAP32[$0 + 132 >> 2]; - if (($13 | 0) > ($9 | 0)) { - HEAP32[$0 + 14240 >> 2] = $9; - $13 = $9; - } - $9 = HEAP32[$0 + 128 >> 2]; - if (($9 | 0) != -1e3) { - HEAP32[$0 + 14240 >> 2] = $9; - $13 = $9; - } - if (!(($6 | 0) == 1002 | ($29 | 0) > 1874)) { - $13 = ($13 | 0) < 1103 ? $13 : 1103; - HEAP32[$0 + 14240 >> 2] = $13; - } - $6 = HEAP32[$0 + 144 >> 2]; - label$97 : { - if (($6 | 0) > 24e3) { - $22 = $13; - break label$97; - } - $22 = 1104; - label$99 : { - label$100 : { - label$101 : { - label$102 : { - if (($13 | 0) <= 1104) { - if (($6 | 0) >= 16001) { - $22 = $13; - break label$97; - } - if (($13 | 0) > 1103) { - break label$102; - } - if (($6 | 0) < 12001) { - break label$101; - } - $22 = $13; - break label$97; - } - HEAP32[$0 + 14240 >> 2] = 1104; - if (($6 | 0) >= 16001) { - break label$97; - } - } - $22 = 1103; - HEAP32[$0 + 14240 >> 2] = 1103; - if (($6 | 0) >= 12001) { - break label$97; - } - break label$100; - } - if (($13 | 0) > 1102) { - break label$100; - } - if (($6 | 0) > 8e3) { - $22 = $13; - break label$97; - } - $22 = $13; - if (($13 | 0) != 1102) { - break label$97; - } - break label$99; - } - $22 = 1102; - HEAP32[$0 + 14240 >> 2] = 1102; - if (($6 | 0) > 8e3) { - break label$97; - } - } - $22 = 1101; - HEAP32[$0 + 14240 >> 2] = 1101; - } - $13 = HEAP32[$0 + 18120 >> 2]; - if (!(!$13 | ($9 | 0) != -1e3)) { - $11 = $0; - $18 = $13; - $9 = HEAP32[$0 + 14192 >> 2]; - label$107 : { - label$108 : { - if ((Math_imul($9, 18e3) | 0) >= ($8 | 0)) { - $10 = 0; - if (!$7) { - break label$108; - } - $7 = 1; - $6 = 1101; - break label$107; - } - if ((Math_imul($9, 24e3) | 0) < ($8 | 0)) { - $10 = $7; - break label$108; - } - $10 = $7; - $6 = 1102; - if (!($7 ^ 1)) { - break label$107; - } - } - $7 = $10; - $6 = (Math_imul($9, 3e4) | 0) < ($8 | 0) ? (Math_imul($9, 44e3) | 0) < ($8 | 0) ? 1105 : 1104 : 1103; - } - $13 = ($6 | 0) < ($13 | 0) ? $18 : $6; - HEAP32[$11 + 18120 >> 2] = $13; - $22 = ($13 | 0) > ($22 | 0) ? $22 : $13; - HEAP32[$0 + 14240 >> 2] = $22; - } - $13 = 0; - label$113 : { - if (!HEAP32[$0 + 48 >> 2] | $7) { - break label$113; - } - $6 = HEAP32[$0 + 40 >> 2]; - if (!$6) { - break label$113; - } - $7 = 125 - (($6 | 0) < 25 ? $6 : 25) | 0; - $9 = HEAP32[$0 + 52 >> 2]; - $10 = ($9 | 0) == 1; - $11 = ($6 | 0) < 6; - $13 = $22; - label$114 : { - while (1) { - $6 = $13 << 3; - $18 = HEAP32[$6 + 41864 >> 2]; - $6 = HEAP32[$6 + 41868 >> 2]; - $6 = Math_imul(($18 - ($10 ? $6 : 0) | 0) + ($9 ? 0 : $6) | 0, $7); - $6 = (Math_imul($6 & 65535, 655) >>> 16 | 0) + Math_imul($6 >> 16, 655) | 0; - if (($8 | 0) > ($6 | 0) | $11) { - break label$114; - } - if (($13 | 0) > 1101) { - $13 = $13 - 1 | 0; - HEAP32[$0 + 14240 >> 2] = $13; - continue; - } - break; - } - HEAP32[$0 + 14240 >> 2] = $22; - $13 = 0; - break label$113; - } - $13 = ($6 | 0) < ($8 | 0); - } - HEAP32[$0 + 52 >> 2] = $13; - HEAP32[$14 + 400 >> 2] = $20; - opus_custom_encoder_ctl($19, 4036, $14 + 400 | 0); - $13 = HEAP32[$0 + 14224 >> 2]; - if (!(($13 | 0) != 1002 | HEAP32[$0 + 14240 >> 2] != 1102)) { - HEAP32[$0 + 14240 >> 2] = 1103; - } - label$118 : { - label$119 : { - label$120 : { - label$121 : { - label$122 : { - label$123 : { - if (HEAP32[$0 + 176 >> 2]) { - $11 = 1101; - HEAP32[$0 + 14240 >> 2] = 1101; - break label$123; - } - $11 = HEAP32[$0 + 14240 >> 2]; - if (($13 | 0) != 1e3) { - break label$123; - } - if (($11 | 0) > 1103) { - break label$122; - } - } - if (!(($13 | 0) != 1001 | ($11 | 0) > 1103)) { - HEAP32[$25 >> 2] = 1e3; - $13 = 1e3; - } - $7 = HEAP32[$0 + 144 >> 2]; - $6 = ($7 | 0) / 50 | 0; - if (($6 | 0) < ($2 | 0)) { - break label$121; - } - $9 = $13; - break label$120; - } - $9 = 1001; - HEAP32[$0 + 14224 >> 2] = 1001; - $7 = HEAP32[$0 + 144 >> 2]; - $6 = ($7 | 0) / 50 | 0; - if (($6 | 0) < ($2 | 0) | ((Math_imul($7, 3) | 0) / 50 | 0) < ($2 | 0)) { - break label$119; - } - break label$118; - } - $9 = 1e3; - if (($13 | 0) != 1e3) { - break label$119; - } - } - $13 = Math_imul($7, 3); - $10 = ($13 | 0) / 50 | 0; - if (($10 | 0) >= ($2 | 0)) { - break label$118; - } - if (($9 | 0) != 1e3) { - break label$119; - } - if ((($7 << 1) / 25 | 0) == ($2 | 0)) { - $6 = ($7 | 0) / 25 | 0; - break label$119; - } - $6 = (($13 | 0) / 25 | 0) == ($2 | 0) ? $10 : $6; - } - $13 = ($2 | 0) / ($6 | 0) | 0; - if (($30 | 0) != -1) { - HEAP32[$0 + 7640 >> 2] = $24; - HEAP32[$0 + 7636 >> 2] = $30; - } - $13 = encode_multiframe_packet($0, $1, $13, $6, $3, $4, $27, $20, $12); - break label$1; - } - if (HEAP32[$0 + 14248 >> 2]) { - HEAP32[$0 + 14248 >> 2] = 0; - $43 = 1; - $31 = 1; - $32 = 2; - } - $13 = HEAP32[$0 + 160 >> 2]; - $30 = 0; - label$129 : { - if (!$31) { - $18 = 0; - $4 = 0; - break label$129; - } - $18 = 0; - $4 = 0; - if (($9 | 0) == 1002) { - break label$129; - } - $6 = HEAP32[$0 + 14192 >> 2]; - $4 = Math_imul($6, 40) + 20 | 0; - $9 = (Math_imul(Math_imul($4, 200 - $5 | 0) + $13 | 0, 3) | 0) / 3200 | 0; - $4 = (((Math_imul(($23 << 3) - ($4 << 1) | 0, 240) | 0) / ((48e3 / ($5 | 0) | 0) + 240 | 0) | 0) + $4 | 0) / 8 | 0; - $4 = ($4 | 0) > ($9 | 0) ? $9 : $4; - $30 = ($6 << 3 | 4) < ($4 | 0) ? ($4 | 0) < 257 ? $4 : 257 : 0; - $18 = ($30 | 0) != 0; - $4 = $18; - } - $39 = $4; - $40 = $3 + 1 | 0; - $22 = $23 - 1 | 0; - ec_enc_init($14 + 440 | 0, $40, $22); - $34 = $2 + $38 | 0; - $4 = $15 - ((Math_imul($34, HEAP32[$0 + 112 >> 2]) << 2) + 15 & -16) | 0; - $20 = $4; - __stack_pointer = $4; - $31 = $0 + 14280 | 0; - $15 = HEAP32[$0 + 112 >> 2]; - $9 = memcpy($4, $31 + (Math_imul($15, HEAP32[$0 + 172 >> 2] - $38 | 0) << 2) | 0, Math_imul($15, $38) << 2); - $27 = (Math_imul($2, $13) | 0) / ($7 << 3) | 0; - $6 = $0; - label$131 : { - if (HEAP32[$0 + 14224 >> 2] == 1002) { - $13 = silk_lin2log(60) << 8; - break label$131; - } - $13 = HEAP32[$33 + 8 >> 2]; - } - $4 = HEAP32[$0 + 14200 >> 2]; - $13 = $13 - $4 | 0; - $13 = Math_imul($13 >> 16, 983) + $4 + (Math_imul($13 & 65535, 983) >>> 16) | 0; - HEAP32[$6 + 14200 >> 2] = $13; - $24 = $0 + 14208 | 0; - $15 = silk_log2lin($13 >> 8); - $6 = HEAP32[$0 + 112 >> 2]; - $13 = (Math_imul($38, $6) << 2) + $9 | 0; - $4 = HEAP32[$0 + 144 >> 2]; - label$133 : { - if (HEAP32[$0 + 108 >> 2] == 2048) { - $4 = (Math_imul($15 << 16 >> 16, 2471) | 0) / (($4 | 0) / 1e3 | 0) | 0; - if (($2 | 0) < 1) { - break label$133; - } - $15 = $4 << 16 >> 16; - $7 = ((Math_imul($15, $4 >> 16) + (Math_imul($4 & 65535, $15) >> 16) | 0) + Math_imul(($4 >> 15) + 1 >> 1, $4) | 0) - 8388608 | 0; - $10 = $7 << 16 >> 16; - $15 = Math_imul($4, -471) + 268435456 | 0; - $4 = $15 >> 6; - $37 = $4 & 65535; - $36 = $15 >> 22; - $35 = Math_fround(Math_fround(((Math_imul($10, $37) >> 16) + Math_imul($36, $10) | 0) + Math_imul(($7 >> 15) + 1 >> 1, $4) | 0) * Math_fround(3.725290298461914e-9)); - $7 = Math_imul(($15 >> 21) + 1 >> 1, $4); - $4 = $4 << 16 >> 16; - $47 = Math_fround(Math_fround(($7 + Math_imul($36, $4) | 0) + (Math_imul($4, $37) >> 16) | 0) * Math_fround(3.725290298461914e-9)); - $48 = Math_fround(Math_fround($15 | 0) * Math_fround(3.725290298461914e-9)); - $4 = 0; - $49 = Math_fround(Math_fround(0 - ($15 << 1) | 0) * Math_fround(3.725290298461914e-9)); - $17 = HEAPF32[$0 + 14212 >> 2]; - $21 = HEAPF32[$0 + 14208 >> 2]; - while (1) { - $15 = Math_imul($4, $6) << 2; - $26 = HEAPF32[$15 + $1 >> 2]; - $16 = Math_fround($48 * $26); - $28 = $16; - $16 = Math_fround($21 + $16); - $28 = Math_fround(Math_fround($28 - Math_fround($47 * $16)) + Math_fround(1.0000000031710769e-30)); - HEAPF32[$0 + 14212 >> 2] = $28; - $21 = Math_fround(Math_fround($49 * $26) + Math_fround($17 - Math_fround($35 * $16))); - HEAPF32[$0 + 14208 >> 2] = $21; - HEAPF32[$13 + $15 >> 2] = $16; - $17 = $28; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - if (($6 | 0) != 2) { - break label$133; - } - $7 = $13 + 4 | 0; - $10 = $1 + 4 | 0; - $17 = HEAPF32[$0 + 14220 >> 2]; - $21 = HEAPF32[$0 + 14216 >> 2]; - $4 = 0; - while (1) { - $15 = $4 << 3; - $26 = HEAPF32[$15 + $10 >> 2]; - $16 = Math_fround($48 * $26); - $28 = $16; - $16 = Math_fround($21 + $16); - $28 = Math_fround(Math_fround($28 - Math_fround($47 * $16)) + Math_fround(1.0000000031710769e-30)); - HEAPF32[$0 + 14220 >> 2] = $28; - $21 = Math_fround(Math_fround($49 * $26) + Math_fround($17 - Math_fround($35 * $16))); - HEAPF32[$0 + 14216 >> 2] = $21; - HEAPF32[$7 + $15 >> 2] = $16; - $17 = $28; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$133; - } - $17 = Math_fround(Math_fround(18.900001525878906) / Math_fround($4 | 0)); - $21 = Math_fround(Math_fround(1) - $17); - $16 = HEAPF32[$24 >> 2]; - if (($6 | 0) != 2) { - $4 = 0; - if (($2 | 0) > 0) { - while (1) { - $15 = $4 << 2; - $26 = HEAPF32[$15 + $1 >> 2]; - HEAPF32[$13 + $15 >> 2] = $26 - $16; - $16 = Math_fround(Math_fround($21 * $16) + Math_fround(Math_fround($17 * $26) + Math_fround(1.0000000031710769e-30))); - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAPF32[$24 >> 2] = $16; - break label$133; - } - $26 = HEAPF32[$0 + 14216 >> 2]; - if (($2 | 0) >= 1) { - $4 = 0; - while (1) { - $15 = $4 << 3; - $7 = $15 | 4; - $28 = HEAPF32[$7 + $1 >> 2]; - $35 = HEAPF32[$1 + $15 >> 2]; - HEAPF32[$13 + $15 >> 2] = $35 - $16; - HEAPF32[$7 + $13 >> 2] = $28 - $26; - $16 = Math_fround(Math_fround($21 * $16) + Math_fround(Math_fround($17 * $35) + Math_fround(1.0000000031710769e-30))); - $26 = Math_fround(Math_fround($21 * $26) + Math_fround(Math_fround($17 * $28) + Math_fround(1.0000000031710769e-30))); - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAPF32[$0 + 14216 >> 2] = $26; - HEAPF32[$0 + 14208 >> 2] = $16; - } - label$142 : { - if (!$12) { - break label$142; - } - $16 = Math_fround(0); - $15 = Math_imul($2, $6); - if (($15 | 0) >= 1) { - $4 = 0; - while (1) { - $17 = HEAPF32[($4 << 2) + $13 >> 2]; - $16 = Math_fround($16 + Math_fround($17 * $17)); - $4 = $4 + 1 | 0; - if (($15 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - if ($16 == $16 ? !($16 < Math_fround(1e9) ^ 1) : 0) { - break label$142; - } - memset($13, 0, $15 << 2); - HEAP32[$24 + 8 >> 2] = 0; - HEAP32[$24 + 12 >> 2] = 0; - HEAP32[$24 >> 2] = 0; - HEAP32[$24 + 4 >> 2] = 0; - } - $21 = Math_fround(1); - label$145 : { - if (HEAP32[$25 >> 2] != 1002) { - $4 = 1; - $36 = $20; - $10 = $20 - ((Math_imul($2, $6) << 1) + 15 & -16) | 0; - __stack_pointer = $10; - $26 = HEAPF32[$14 + 580 >> 2]; - $52 = HEAP32[$14 + 544 >> 2]; - $13 = $23 - $30 | 0; - $27 = Math_imul(((($13 | 0) < ($27 | 0) ? $13 : $27) << 3) - 8 | 0, $5); - label$147 : { - label$148 : { - label$149 : { - label$150 : { - label$151 : { - label$152 : { - $24 = HEAP32[$25 >> 2]; - if (($24 | 0) == 1001) { - $6 = (HEAP32[$0 + 52 >> 2] << 1) + (HEAP32[$0 + 144 >> 2] == (Math_imul($2, 50) | 0) ? 2 : 1) | 0; - $12 = HEAP32[$0 + 148 >> 2]; - $15 = HEAP32[$0 + 14192 >> 2]; - $13 = ($27 | 0) / ($15 | 0) | 0; - if (($13 | 0) < 12e3) { - break label$152; - } - $4 = 2; - if (($13 | 0) < 16e3) { - break label$152; - } - $4 = 3; - if (($13 | 0) < 2e4) { - break label$152; - } - $4 = 4; - if (($13 | 0) < 24e3) { - break label$152; - } - $4 = 5; - if (($13 | 0) < 32e3) { - break label$152; - } - $4 = 6; - if (($13 | 0) < 64e3) { - break label$152; - } - $4 = HEAP32[($6 << 2) + 50840 >> 2] + (($13 - 64e3 | 0) / 2 | 0) | 0; - break label$151; - } - HEAP32[$0 + 36 >> 2] = $27; - $12 = HEAP32[$0 + 14256 >> 2]; - if ($12) { - break label$150; - } - $6 = $27; - break label$147; - } - $4 = Math_imul($4, 20); - $7 = $4 + 50720 | 0; - $20 = HEAP32[$7 >> 2]; - $4 = $4 + 50700 | 0; - $6 = $6 << 2; - $37 = Math_imul($20 - $13 | 0, HEAP32[$4 + $6 >> 2]); - $4 = HEAP32[$4 >> 2]; - $4 = ($37 + Math_imul(HEAP32[$6 + $7 >> 2], $13 - $4 | 0) | 0) / ($20 - $4 | 0) | 0; - } - $4 = $12 ? $4 : $4 + 100 | 0; - $4 = Math_imul(($11 | 0) == 1104 ? $4 + 300 | 0 : $4, $15); - $6 = ($15 | 0) == 2 ? ($13 | 0) > 11999 ? $4 - 1e3 | 0 : $4 : $4; - HEAP32[$0 + 36 >> 2] = $6; - $12 = HEAP32[$0 + 14256 >> 2]; - if (!$12) { - break label$149; - } - $27 = $6; - } - if (HEAP32[$0 + 148 >> 2]) { - break label$148; - } - $6 = $27; - break label$147; - } - $21 = Math_fround(Math_fround(1) - Math_fround(exp(+Math_fround(Math_fround($6 - $27 | 0) * Math_fround(.0009765625)) * .6931471805599453))); - break label$147; - } - if (HEAP32[$0 + 176 >> 2]) { - $6 = $27; - break label$147; - } - $28 = Math_fround(8e3); - $7 = 13; - label$155 : { - label$156 : { - label$157 : { - $50 = HEAP32[$0 + 14240 >> 2]; - switch ($50 - 1101 | 0) { - case 0: - break label$155; - case 1: - break label$157; - default: - break label$156; - } - } - $28 = Math_fround(12e3); - $7 = 15; - break label$155; - } - $28 = Math_fround(16e3); - $7 = 17; - } - $17 = Math_fround(0); - $37 = HEAP32[$0 + 112 >> 2]; - if (($37 | 0) >= 1) { - $20 = 0; - while (1) { - $6 = Math_imul($20, 21); - $13 = 0; - while (1) { - $16 = HEAPF32[($6 + $13 << 2) + $12 >> 2]; - $35 = $16; - $4 = $16 < Math_fround(.5); - $15 = ($4 ? $16 : Math_fround(.5)) > Math_fround(-2); - $16 = $15 ? Math_fround(.5) : Math_fround(-2); - $16 = $15 ? $4 ? $35 : $16 : $16; - $17 = Math_fround($17 + ($16 > Math_fround(0) ? Math_fround($16 * Math_fround(.5)) : $16)); - $13 = $13 + 1 | 0; - if (($13 | 0) != ($7 | 0)) { - continue; - } - break; - } - $20 = $20 + 1 | 0; - if (($37 | 0) != ($20 | 0)) { - continue; - } - break; - } - } - $13 = (0 - ($27 << 1) | 0) / 3 | 0; - $16 = Math_fround($28 * Math_fround(Math_fround(Math_fround($17 / Math_fround($7 | 0)) * Math_fround($37 | 0)) + Math_fround(.20000000298023224))); - label$161 : { - if (Math_fround(Math_abs($16)) < Math_fround(2147483648)) { - $4 = ~~$16; - break label$161; - } - $4 = -2147483648; - } - $13 = ($4 | 0) > ($13 | 0) ? $4 : $13; - $13 = ($50 & -2) == 1104 ? (Math_imul($13, 3) | 0) / 5 | 0 : $13; - $6 = $27 + $13 | 0; - HEAP32[$0 + 36 >> 2] = $6; - } - $15 = HEAP32[$0 + 112 >> 2]; - HEAP32[$0 + 8 >> 2] = $15; - $7 = HEAP32[$0 + 14192 >> 2]; - HEAP32[$0 + 12 >> 2] = $7; - $4 = HEAP32[$0 + 144 >> 2]; - HEAP32[$0 + 32 >> 2] = (Math_imul($2, 1e3) | 0) / ($4 | 0); - $13 = 8e3; - $12 = 8e3; - label$164 : { - label$165 : { - switch ($11 - 1101 | 0) { - default: - $12 = 12e3; - $13 = 16e3; - if (($11 | 0) == 1103 | ($24 | 0) == 1001) { - break label$164; - } - celt_fatal(50496, 50583, 1755); - abort(); - case 0: - break label$164; - case 1: - break label$165; - } - } - $13 = 12e3; - $12 = 12e3; - } - HEAP32[$0 + 28 >> 2] = $13; - HEAP32[$0 + 20 >> 2] = 16e3; - HEAP32[$0 + 24 >> 2] = ($24 | 0) == 1001 ? 16e3 : 8e3; - label$167 : { - if (($24 | 0) != 1e3) { - break label$167; - } - $42 = $44 ? ($29 << 4) / 3 | 0 : $42; - if (($42 | 0) > 7999) { - break label$167; - } - HEAP32[$0 + 20 >> 2] = 12e3; - HEAP32[$0 + 28 >> 2] = $12; - if (($42 | 0) > 6999) { - break label$167; - } - HEAP32[$0 + 28 >> 2] = 8e3; - HEAP32[$0 + 20 >> 2] = 8e3; - } - $12 = $26 >= Math_fround(.10000000149011612); - $13 = $22 << 3; - HEAP32[$0 - -64 >> 2] = $13; - $20 = HEAP32[$0 + 148 >> 2]; - HEAP32[$0 + 60 >> 2] = !$20; - label$168 : { - label$169 : { - label$170 : { - label$171 : { - if (!($18 ^ 1 | ($30 | 0) < 2)) { - $13 = ($30 << 3 ^ -1) + $13 | 0; - HEAP32[$0 + 64 >> 2] = $13; - if (($24 | 0) != 1001) { - break label$168; - } - $13 = $13 - 20 | 0; - HEAP32[$0 + 64 >> 2] = $13; - if (!$20) { - break label$169; - } - break label$171; - } - if (!$20) { - break label$170; - } - if (($24 | 0) != 1001) { - break label$168; - } - } - $6 = 1; - $20 = (HEAP32[$0 + 52 >> 2] << 1) + ((Math_imul($2, 50) | 0) == ($4 | 0) ? 2 : 1) | 0; - $18 = $0; - label$173 : { - label$174 : { - $13 = ((Math_imul($4, $13) | 0) / ($2 | 0) | 0) / ($7 | 0) | 0; - if (($13 | 0) < 12e3) { - break label$174; - } - $6 = 2; - if (($13 | 0) < 16e3) { - break label$174; - } - $6 = 3; - if (($13 | 0) < 2e4) { - break label$174; - } - $6 = 4; - if (($13 | 0) < 24e3) { - break label$174; - } - $6 = 5; - if (($13 | 0) < 32e3) { - break label$174; - } - $6 = 6; - if (($13 | 0) < 64e3) { - break label$174; - } - $6 = HEAP32[($20 << 2) + 50840 >> 2] + (($13 - 64e3 | 0) / 2 | 0) | 0; - break label$173; - } - $6 = Math_imul($6, 20); - $29 = $6 + 50720 | 0; - $24 = HEAP32[$29 >> 2]; - $6 = $6 + 50700 | 0; - $20 = $20 << 2; - $27 = Math_imul($24 - $13 | 0, HEAP32[$6 + $20 >> 2]); - $6 = HEAP32[$6 >> 2]; - $6 = ($27 + Math_imul(HEAP32[$20 + $29 >> 2], $13 - $6 | 0) | 0) / ($24 - $6 | 0) | 0; - } - $6 = Math_imul(($11 | 0) == 1104 ? $6 + 300 | 0 : $6, $7); - HEAP32[$18 + 64 >> 2] = (Math_imul(($7 | 0) == 2 ? ($13 | 0) > 11999 ? $6 - 1e3 | 0 : $6 : $6, $2) | 0) / ($4 | 0); - break label$168; - } - if (($24 | 0) != 1001) { - break label$168; - } - } - $6 = (Math_imul($2, $6) | 0) / ($4 | 0) | 0; - HEAP32[$0 + 64 >> 2] = ($6 | 0) > ($13 | 0) ? $13 : $6; - } - $6 = $0 + 8 | 0; - $12 = $52 ? $12 : -1; - if ($32) { - $13 = 0; - HEAP32[$14 + 432 >> 2] = 0; - $7 = ($4 | 0) / 400 | 0; - $20 = Math_imul((HEAP32[$0 + 172 >> 2] - $7 | 0) - HEAP32[$0 + 116 >> 2] | 0, $15) << 2; - $29 = ($20 + $0 | 0) + 14280 | 0; - $24 = HEAP32[$14 + 612 >> 2]; - gain_fade($29, $29, Math_fround(0), Math_fround(1), HEAP32[$24 + 4 >> 2], $7, $15, HEAP32[$24 + 60 >> 2], $4); - memset($31, 0, $20); - $15 = HEAP32[$0 + 172 >> 2]; - $4 = Math_imul($15, HEAP32[$0 + 112 >> 2]); - if (($4 | 0) >= 1) { - while (1) { - $16 = Math_fround(HEAPF32[(($13 << 2) + $0 | 0) + 14280 >> 2] * Math_fround(32768)); - $16 = $16 > Math_fround(-32768) ? $16 : Math_fround(-32768); - HEAP16[($13 << 1) + $10 >> 1] = lrintf($16 < Math_fround(32767) ? $16 : Math_fround(32767)); - $13 = $13 + 1 | 0; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - silk_Encode($33, $6, $10, $15, 0, $14 + 432 | 0, $32, $12); - HEAP32[$0 + 72 >> 2] = 0; - $15 = HEAP32[$0 + 112 >> 2]; - } - $4 = Math_imul($2, $15); - if (($4 | 0) >= 1) { - $15 = Math_imul($15, $38); - $13 = 0; - while (1) { - $16 = Math_fround(HEAPF32[($13 + $15 << 2) + $9 >> 2] * Math_fround(32768)); - $16 = $16 > Math_fround(-32768) ? $16 : Math_fround(-32768); - HEAP16[($13 << 1) + $10 >> 1] = lrintf($16 < Math_fround(32767) ? $16 : Math_fround(32767)); - $13 = $13 + 1 | 0; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $13 = -3; - label$181 : { - if (!silk_Encode($33, $6, $10, $2, $14 + 440 | 0, $14 + 620 | 0, 0, $12)) { - $13 = HEAP32[$0 + 80 >> 2]; - label$183 : { - label$184 : { - $4 = HEAP32[$0 + 14224 >> 2]; - if (($4 | 0) == 1e3) { - if (($13 | 0) == 8e3) { - $11 = 1101; - break label$183; - } - if (($13 | 0) == 16e3) { - break label$184; - } - if (($13 | 0) != 12e3) { - break label$183; - } - $11 = 1102; - break label$183; - } - if (($13 | 0) == 16e3) { - break label$183; - } - celt_fatal(50602, 50583, 1863); - abort(); - } - $11 = 1103; - } - label$187 : { - if (HEAP32[$0 + 96 >> 2]) { - $13 = HEAP32[$0 + 18132 >> 2]; - HEAP32[$0 + 72 >> 2] = !$13; - if (!HEAP32[$14 + 620 >> 2]) { - break label$187; - } - if ($13) { - break label$181; - } - HEAP32[$0 + 14248 >> 2] = 1; - $43 = 0; - $4 = HEAP32[$0 + 14192 >> 2]; - $13 = Math_imul($4, 40) + 20 | 0; - $15 = (Math_imul(HEAP32[$0 + 160 >> 2] + Math_imul($13, 200 - $5 | 0) | 0, 3) | 0) / 3200 | 0; - $13 = (((Math_imul(($23 << 3) - ($13 << 1) | 0, 240) | 0) / ((48e3 / ($5 | 0) | 0) + 240 | 0) | 0) + $13 | 0) / 8 | 0; - $13 = ($13 | 0) > ($15 | 0) ? $15 : $13; - $30 = ($4 << 3 | 4) < ($13 | 0) ? ($13 | 0) < 257 ? $13 : 257 : 0; - $39 = ($30 | 0) != 0; - break label$181; - } - HEAP32[$0 + 72 >> 2] = 0; - if (HEAP32[$14 + 620 >> 2]) { - break label$181; - } - } - $13 = 0; - HEAP32[$0 + 18136 >> 2] = 0; - $1 = HEAP32[$0 + 14192 >> 2]; - $0 = HEAP32[$0 + 144 >> 2] / ($2 | 0) | 0; - if (($0 | 0) <= 399) { - while (1) { - $13 = $13 + 1 | 0; - $0 = $0 << 1; - if (($0 | 0) < 400) { - continue; - } - break; - } - $13 = $13 << 3; - } - label$191 : { - label$192 : { - switch ($4 - 1e3 | 0) { - case 0: - $0 = $13 - 16 | ($11 << 5) + 96 & 224; - break label$191; - case 2: - $0 = ((($11 | 0) > 1102 ? $11 : 1102) << 5) - -64 & 96 | $13 | 128; - break label$191; - default: - break label$192; - } - } - $0 = $13 + 240 | $11 << 4 | 96; - } - HEAP8[$3 | 0] = $0 | (($1 | 0) == 2) << 2; - $13 = 1; - } - break label$145; - } - $20 = $36; - } - $13 = 21; - $4 = $11 - 1101 | 0; - if ($4 >>> 0 <= 3) { - $13 = HEAP32[($4 << 2) + 50860 >> 2]; - } - HEAP32[$14 + 384 >> 2] = $13; - opus_custom_encoder_ctl($19, 10012, $14 + 384 | 0); - HEAP32[$14 + 368 >> 2] = HEAP32[$0 + 14192 >> 2]; - opus_custom_encoder_ctl($19, 10008, $14 + 368 | 0); - HEAP32[$14 + 352 >> 2] = -1; - opus_custom_encoder_ctl($19, 4002, $14 + 352 | 0); - label$196 : { - if (HEAP32[$0 + 14224 >> 2] == 1e3) { - $13 = HEAP32[$0 + 112 >> 2]; - $10 = $20 - (((Math_imul($13, HEAP32[$0 + 144 >> 2]) | 0) / 400 << 2) + 15 & -16) | 0; - __stack_pointer = $10; - break label$196; - } - HEAP32[$14 + 336 >> 2] = 0; - opus_custom_encoder_ctl($19, 4006, $14 + 336 | 0); - HEAP32[$14 + 320 >> 2] = !HEAP32[$0 + 76 >> 2] << 1; - opus_custom_encoder_ctl($19, 10002, $14 + 320 | 0); - $13 = HEAP32[$0 + 148 >> 2]; - $4 = HEAP32[$0 + 14224 >> 2]; - label$198 : { - label$199 : { - label$200 : { - if (($4 | 0) == 1001) { - if (!$13) { - $13 = HEAP32[$0 + 112 >> 2]; - $15 = HEAP32[$0 + 144 >> 2]; - $5 = (Math_imul($13, $15) | 0) / 400 | 0; - $10 = $20 - (($5 << 2) + 15 & -16) | 0; - __stack_pointer = $10; - $4 = 1001; - break label$198; - } - HEAP32[$14 + 256 >> 2] = HEAP32[$0 + 160 >> 2] - HEAP32[$0 + 36 >> 2]; - opus_custom_encoder_ctl($19, 4002, $14 + 256 | 0); - HEAP32[$14 + 240 >> 2] = 0; - opus_custom_encoder_ctl($19, 4020, $14 + 240 | 0); - break label$200; - } - if (!$13) { - break label$199; - } - HEAP32[$14 + 304 >> 2] = 1; - opus_custom_encoder_ctl($19, 4006, $14 + 304 | 0); - HEAP32[$14 + 288 >> 2] = HEAP32[$0 + 152 >> 2]; - opus_custom_encoder_ctl($19, 4020, $14 + 288 | 0); - HEAP32[$14 + 272 >> 2] = HEAP32[$0 + 160 >> 2]; - opus_custom_encoder_ctl($19, 4002, $14 + 272 | 0); - } - $4 = HEAP32[$25 >> 2]; - } - $13 = HEAP32[$0 + 112 >> 2]; - $15 = HEAP32[$0 + 144 >> 2]; - $5 = (Math_imul($13, $15) | 0) / 400 | 0; - $10 = $20 - (($5 << 2) + 15 & -16) | 0; - __stack_pointer = $10; - if (($4 | 0) == 1e3) { - break label$196; - } - } - $6 = HEAP32[$0 + 14228 >> 2]; - if (($6 | 0) == ($4 | 0) | ($6 | 0) < 1) { - break label$196; - } - memcpy($10, ((Math_imul(HEAP32[$0 + 172 >> 2] + ((($15 | 0) / -400 | 0) - $38 | 0) | 0, $13) << 2) + $0 | 0) + 14280 | 0, $5 << 2); - } - $4 = HEAP32[$0 + 172 >> 2]; - $15 = Math_imul($4 - $34 | 0, $13); - label$203 : { - if (($15 | 0) >= 1) { - $4 = $0 + 14280 | 0; - $15 = $15 << 2; - memmove($31, $4 + (Math_imul($2, $13) << 2) | 0, $15); - memcpy($4 + $15 | 0, $9, Math_imul($13, $34) << 2); - break label$203; - } - memcpy($31, (Math_imul($34 - $4 | 0, $13) << 2) + $9 | 0, Math_imul($4, $13) << 2); - } - $16 = HEAPF32[$0 + 14204 >> 2]; - if (!($16 < Math_fround(1) ^ 1 ? !($21 < Math_fround(1)) : 0)) { - $13 = HEAP32[$14 + 612 >> 2]; - gain_fade($9, $9, $16, $21, HEAP32[$13 + 4 >> 2], $2, HEAP32[$0 + 112 >> 2], HEAP32[$13 + 60 >> 2], HEAP32[$0 + 144 >> 2]); - } - HEAPF32[$0 + 14204 >> 2] = $21; - $5 = HEAP32[$0 + 14224 >> 2]; - if (!(HEAP32[$0 + 14192 >> 2] != 1 ? ($5 | 0) == 1001 : 0)) { - $4 = $0; - $13 = 16384; - label$208 : { - if (($8 | 0) > 32e3) { - break label$208; - } - $13 = 0; - if (($8 | 0) < 16e3) { - break label$208; - } - $13 = 16384 - ((65536e3 - ($8 << 11) | 0) / ($8 - 14e3 | 0) | 0) | 0; - } - HEAP32[$4 + 92 >> 2] = $13; - } - label$209 : { - if (HEAP32[$0 + 14256 >> 2] | HEAP32[$0 + 112 >> 2] != 2) { - break label$209; - } - $4 = HEAP16[$0 + 14196 >> 1]; - $8 = HEAP32[$0 + 92 >> 2]; - if (($8 | 0) > 16383 ? ($4 | 0) >= 16384 : 0) { - break label$209; - } - $21 = Math_fround(Math_fround(1) - Math_fround(Math_fround($8 | 0) * Math_fround(6103515625e-14))); - $13 = 0; - $15 = HEAP32[$14 + 612 >> 2]; - $12 = 48e3 / HEAP32[$0 + 144 >> 2] | 0; - $6 = HEAP32[$15 + 4 >> 2] / ($12 | 0) | 0; - if (($6 | 0) > 0) { - $26 = Math_fround(Math_fround(1) - Math_fround(Math_fround($4 | 0) * Math_fround(6103515625e-14))); - $7 = HEAP32[$15 + 60 >> 2]; - while (1) { - $4 = $13 << 3; - $15 = $9 + $4 | 0; - $16 = HEAPF32[$15 >> 2]; - $28 = $16; - $17 = HEAPF32[(Math_imul($12, $13) << 2) + $7 >> 2]; - $17 = Math_fround($17 * $17); - $35 = Math_fround(Math_fround($21 * $17) + Math_fround($26 * Math_fround(Math_fround(1) - $17))); - $4 = ($4 | 4) + $9 | 0; - $17 = HEAPF32[$4 >> 2]; - $16 = Math_fround($35 * Math_fround(Math_fround($16 - $17) * Math_fround(.5))); - HEAPF32[$15 >> 2] = $28 - $16; - HEAPF32[$4 >> 2] = $17 + $16; - $13 = $13 + 1 | 0; - if (($13 | 0) != ($6 | 0)) { - continue; - } - break; - } - $13 = $6; - } - if (($2 | 0) > ($13 | 0)) { - while (1) { - $4 = $13 << 3; - $15 = $9 + $4 | 0; - $16 = HEAPF32[$15 >> 2]; - $28 = $16; - $4 = ($4 | 4) + $9 | 0; - $17 = HEAPF32[$4 >> 2]; - $16 = Math_fround($21 * Math_fround(Math_fround($16 - $17) * Math_fround(.5))); - HEAPF32[$15 >> 2] = $28 - $16; - HEAPF32[$4 >> 2] = $17 + $16; - $13 = $13 + 1 | 0; - if (($13 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAP16[$0 + 14196 >> 1] = $8; - } - label$215 : { - label$216 : { - if (($5 | 0) == 1002 | (Math_clz32(HEAP32[$14 + 468 >> 2]) + (HEAP32[$14 + 460 >> 2] + (($5 | 0) == 1001 ? 5 : -15) | 0) | 0) > $22 << 3) { - break label$216; - } - if (($5 | 0) == 1001) { - ec_enc_bit_logp($14 + 440 | 0, $39, 12); - } - if (!$39) { - break label$216; - } - $6 = 1; - ec_enc_bit_logp($14 + 440 | 0, $43, 1); - $13 = HEAP32[$14 + 460 >> 2] + Math_clz32(HEAP32[$14 + 468 >> 2]) | 0; - $4 = $13 - 21 | 0; - $5 = $13 - 32 | 0; - $13 = HEAP32[$25 >> 2]; - $4 = $22 - ((($13 | 0) == 1001 ? $4 : $5) + 7 >> 3) | 0; - $4 = ($4 | 0) < ($30 | 0) ? $4 : $30; - $4 = ($4 | 0) > 2 ? $4 : 2; - $5 = ($4 | 0) < 257 ? $4 : 257; - $7 = 0; - if (($13 | 0) != 1001) { - break label$215; - } - ec_enc_uint($14 + 440 | 0, $5 - 2 | 0, 256); - break label$215; - } - $6 = 0; - HEAP32[$0 + 14248 >> 2] = 0; - $7 = 1; - $5 = 0; - } - $12 = HEAP32[$25 >> 2]; - label$218 : { - if (($12 | 0) == 1e3) { - $13 = HEAP32[$14 + 468 >> 2]; - $4 = HEAP32[$14 + 460 >> 2]; - ec_enc_done($14 + 440 | 0); - $13 = (Math_clz32($13) + $4 | 0) - 25 >> 3; - $15 = $13; - break label$218; - } - $13 = $22 - $5 | 0; - ec_enc_shrink($14 + 440 | 0, $13); - $15 = 0; - } - label$220 : { - if (!(HEAP32[$25 >> 2] != 1e3 | $6)) { - $4 = $43; - $8 = 0; - break label$220; - } - HEAP32[$14 + 224 >> 2] = $14 + 544; - opus_custom_encoder_ctl($19, 10022, $14 + 224 | 0); - if (HEAP32[$25 >> 2] == 1001) { - HEAP32[$14 + 432 >> 2] = HEAP32[$0 + 100 >> 2]; - HEAP32[$14 + 436 >> 2] = HEAP32[$0 + 104 >> 2]; - HEAP32[$14 + 208 >> 2] = $14 + 432; - opus_custom_encoder_ctl($19, 10028, $14 + 208 | 0); - } - $4 = $43; - $8 = 0; - if (!($6 & $4)) { - break label$220; - } - HEAP32[$14 + 192 >> 2] = 0; - opus_custom_encoder_ctl($19, 10010, $14 + 192 | 0); - HEAP32[$14 + 176 >> 2] = 0; - opus_custom_encoder_ctl($19, 4006, $14 + 176 | 0); - HEAP32[$14 + 160 >> 2] = -1; - opus_custom_encoder_ctl($19, 4002, $14 + 160 | 0); - if ((celt_encode_with_ec($19, $9, HEAP32[$0 + 144 >> 2] / 200 | 0, $13 + $40 | 0, $5, 0) | 0) < 0) { - $13 = -3; - break label$145; - } - HEAP32[$14 + 144 >> 2] = $14 + 616; - opus_custom_encoder_ctl($19, 4031, $14 + 144 | 0); - opus_custom_encoder_ctl($19, 4028, 0); - $4 = 1; - $8 = 1; - } - HEAP32[$14 + 128 >> 2] = ($12 | 0) == 1002 ? 0 : 17; - opus_custom_encoder_ctl($19, 10010, $14 + 128 | 0); - $12 = HEAP32[$25 >> 2]; - label$224 : { - if (($12 | 0) == 1e3) { - break label$224; - } - $20 = HEAP32[$0 + 14228 >> 2]; - if (!(($20 | 0) == ($12 | 0) | ($20 | 0) < 1)) { - opus_custom_encoder_ctl($19, 4028, 0); - celt_encode_with_ec($19, $10, HEAP32[$0 + 144 >> 2] / 400 | 0, $14 + 432 | 0, 2, 0); - HEAP32[$14 + 112 >> 2] = 0; - opus_custom_encoder_ctl($19, 10002, $14 + 112 | 0); - } - if (((HEAP32[$14 + 460 >> 2] + Math_clz32(HEAP32[$14 + 468 >> 2]) | 0) - 32 | 0) > $13 << 3) { - break label$224; - } - if (!(!HEAP32[$0 + 148 >> 2] | (!$8 | HEAP32[$25 >> 2] != 1001))) { - HEAP32[$14 + 96 >> 2] = HEAP32[$0 + 160 >> 2] - HEAP32[$0 + 36 >> 2]; - opus_custom_encoder_ctl($19, 4002, $14 + 96 | 0); - } - HEAP32[$14 + 80 >> 2] = HEAP32[$0 + 148 >> 2]; - opus_custom_encoder_ctl($19, 4006, $14 + 80 | 0); - $15 = celt_encode_with_ec($19, $9, $2, 0, $13, $14 + 440 | 0); - if (($15 | 0) < 0) { - $13 = -3; - break label$145; - } - if (!HEAP32[$0 + 148 >> 2] | (!$8 | HEAP32[$25 >> 2] != 1001)) { - break label$224; - } - memmove($15 + $40 | 0, $13 + $40 | 0, $5); - $13 = $5 + $13 | 0; - } - label$228 : { - if (!($4 | $7)) { - $4 = HEAP32[$0 + 144 >> 2]; - opus_custom_encoder_ctl($19, 4028, 0); - HEAP32[$14 + 64 >> 2] = 0; - opus_custom_encoder_ctl($19, 10010, $14 - -64 | 0); - HEAP32[$14 + 48 >> 2] = 0; - opus_custom_encoder_ctl($19, 10002, $14 + 48 | 0); - HEAP32[$14 + 32 >> 2] = 0; - opus_custom_encoder_ctl($19, 4006, $14 + 32 | 0); - HEAP32[$14 + 16 >> 2] = -1; - opus_custom_encoder_ctl($19, 4002, $14 + 16 | 0); - $12 = ($4 | 0) / 400 | 0; - $4 = ($4 | 0) / 200 | 0; - if (HEAP32[$0 + 14224 >> 2] == 1001) { - ec_enc_shrink($14 + 440 | 0, $15); - $13 = $15; - } - $7 = $2 - $4 | 0; - celt_encode_with_ec($19, (Math_imul(HEAP32[$0 + 112 >> 2], $7 - $12 | 0) << 2) + $9 | 0, $12, $14 + 432 | 0, 2, 0); - if ((celt_encode_with_ec($19, (Math_imul(HEAP32[$0 + 112 >> 2], $7) << 2) + $9 | 0, $4, $13 + $40 | 0, $5, 0) | 0) < 0) { - break label$228; - } - HEAP32[$14 >> 2] = $14 + 616; - opus_custom_encoder_ctl($19, 4031, $14); - } - $12 = HEAP32[$0 + 14192 >> 2]; - $7 = HEAP32[$0 + 14224 >> 2]; - $13 = 0; - $4 = HEAP32[$0 + 144 >> 2] / ($2 | 0) | 0; - if (($4 | 0) <= 399) { - while (1) { - $13 = $13 + 1 | 0; - $4 = $4 << 1; - if (($4 | 0) < 400) { - continue; - } - break; - } - $13 = $13 << 3; - } - $4 = $3; - label$233 : { - label$234 : { - switch ($7 - 1e3 | 0) { - case 0: - $13 = $13 - 16 | ($11 << 5) + 96 & 224; - break label$233; - case 2: - $13 = ((($11 | 0) > 1102 ? $11 : 1102) << 5) - -64 & 96 | $13 | 128; - break label$233; - default: - break label$234; - } - } - $13 = $13 + 240 | $11 << 4 | 96; - } - HEAP8[$4 | 0] = $13 | (($12 | 0) == 2) << 2; - $12 = HEAP32[$14 + 468 >> 2]; - HEAP32[$0 + 18136 >> 2] = $12 ^ HEAP32[$14 + 616 >> 2]; - $13 = 1002; - $13 = $45 ? HEAP32[$25 >> 2] : $13; - HEAP32[$0 + 14228 >> 2] = $13; - HEAP32[$0 + 14252 >> 2] = 0; - HEAP32[$0 + 14236 >> 2] = $2; - $7 = HEAP32[$0 + 14192 >> 2]; - HEAP32[$0 + 14232 >> 2] = $7; - label$238 : { - if (!(!HEAP32[$0 + 184 >> 2] | !(HEAP32[$14 + 544 >> 2] | $41))) { - label$240 : { - if (!($51 ^ 1 | HEAPF32[$14 + 580 >> 2] < Math_fround(.10000000149011612) ^ 1)) { - $21 = HEAPF32[$0 + 18128 >> 2]; - $16 = Math_fround(0); - $4 = Math_imul(HEAP32[$0 + 112 >> 2], $2); - if (($4 | 0) >= 1) { - $13 = 0; - while (1) { - $17 = HEAPF32[($13 << 2) + $1 >> 2]; - $16 = Math_fround($16 + Math_fround($17 * $17)); - $13 = $13 + 1 | 0; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $41 = Math_fround(Math_fround($16 / Math_fround($4 | 0)) * Math_fround(316.2300109863281)) <= $21; - } - if ($41) { - $13 = HEAP32[$0 + 18124 >> 2]; - HEAP32[$0 + 18124 >> 2] = $13 + 1; - if (($13 | 0) < 10) { - break label$238; - } - if (($13 | 0) < 30) { - break label$240; - } - HEAP32[$0 + 18124 >> 2] = 10; - break label$238; - } - HEAP32[$0 + 18124 >> 2] = 0; - break label$238; - } - $13 = 0; - HEAP32[$0 + 18136 >> 2] = 0; - $1 = HEAP32[$0 + 14224 >> 2]; - $0 = HEAP32[$0 + 144 >> 2] / ($2 | 0) | 0; - if (($0 | 0) <= 399) { - while (1) { - $13 = $13 + 1 | 0; - $0 = $0 << 1; - if (($0 | 0) < 400) { - continue; - } - break; - } - $13 = $13 << 3; - } - label$248 : { - label$249 : { - switch ($1 - 1e3 | 0) { - case 0: - $0 = $13 - 16 | ($11 << 5) + 96 & 224; - break label$248; - case 2: - $0 = ((($11 | 0) > 1102 ? $11 : 1102) << 5) - -64 & 96 | $13 | 128; - break label$248; - default: - break label$249; - } - } - $0 = $13 + 240 | $11 << 4 | 96; - } - HEAP8[$3 | 0] = $0 | (($7 | 0) == 2) << 2; - $13 = 1; - break label$145; - } - HEAP32[$0 + 18124 >> 2] = 0; - } - label$252 : { - if (((HEAP32[$14 + 460 >> 2] + Math_clz32($12) | 0) - 32 | 0) > $22 << 3) { - HEAP8[$40 | 0] = 0; - HEAP32[$0 + 18136 >> 2] = 0; - $15 = 1; - break label$252; - } - if (HEAP32[$25 >> 2] != 1e3 | $6 | ($15 | 0) < 3) { - break label$252; - } - while (1) { - if (HEAPU8[$3 + $15 | 0]) { - break label$252; - } - $13 = ($15 | 0) > 3; - $15 = $15 - 1 | 0; - if ($13) { - continue; - } - break; - } - $15 = 2; - } - $2 = ($5 + $15 | 0) + 1 | 0; - label$255 : { - if (HEAP32[$0 + 148 >> 2]) { - $23 = $2; - break label$255; - } - $13 = -3; - if (opus_packet_pad($3, $2, $23)) { - break label$145; - } - } - $13 = $23; - break label$145; - } - $13 = -3; - } - } - __stack_pointer = $14 + 624 | 0; - return $13; -} -function celt_encode_with_ec($0, $1, $2, $3, $4, $5) { - var $6 = Math_fround(0), $7 = 0, $8 = Math_fround(0), $9 = 0, $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = Math_fround(0), $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = Math_fround(0), $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = Math_fround(0), $64 = 0, $65 = 0, $66 = Math_fround(0), $67 = 0, $68 = Math_fround(0), $69 = Math_fround(0), $70 = 0, $71 = Math_fround(0), $72 = Math_fround(0); - $39 = __stack_pointer - 192 | 0; - __stack_pointer = $39; - $13 = HEAP32[$0 + 8 >> 2]; - $11 = HEAP32[$0 + 4 >> 2]; - $16 = $39; - HEAP32[$16 + 28 >> 2] = 15; - HEAP32[$16 + 24 >> 2] = 0; - HEAP32[$16 + 20 >> 2] = 0; - HEAP32[$16 + 16 >> 2] = 0; - HEAP32[$16 + 4 >> 2] = 0; - $14 = HEAP32[$0 + 36 >> 2]; - $20 = HEAP32[$0 + 32 >> 2]; - $19 = HEAP32[$0 >> 2]; - $18 = HEAP32[$19 + 32 >> 2]; - $24 = HEAP32[$19 + 4 >> 2]; - $30 = HEAP32[$19 + 8 >> 2]; - HEAP32[$16 + 12 >> 2] = 0; - $7 = -1; - label$1 : { - if (!$1 | ($4 | 0) < 2) { - break label$1; - } - $21 = HEAP32[$19 + 36 >> 2]; - if (($21 | 0) < 0) { - break label$1; - } - $37 = Math_imul(HEAP32[$0 + 28 >> 2], $2); - $28 = HEAP32[$19 + 44 >> 2]; - while (1) { - if ($28 << $15 != ($37 | 0)) { - $2 = ($15 | 0) < ($21 | 0); - $15 = $15 + 1 | 0; - if ($2) { - continue; - } - break label$1; - } - break; - } - label$4 : { - if (!$5) { - $57 = 1; - $9 = 1; - $17 = 0; - break label$4; - } - $57 = ec_tell_frac($5); - $2 = HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0; - $9 = $2 - 32 | 0; - $17 = $2 - 28 >> 3; - } - label$6 : { - label$7 : { - if (!HEAP32[$0 + 48 >> 2]) { - $21 = $24 + 1024 | 0; - $26 = ($4 | 0) < 1275 ? $4 : 1275; - $29 = $26 - $17 | 0; - $2 = HEAP32[$0 + 40 >> 2]; - label$9 : { - if (HEAP32[$0 + 44 >> 2]) { - if (($2 | 0) == -1) { - break label$7; - } - $28 = HEAP32[$19 >> 2]; - $42 = (Math_imul($2, $37) + ($28 >> 4) | 0) / ($28 >> 3) | 0; - $35 = $42 >> 6; - break label$9; - } - if (($2 | 0) == -1) { - break label$7; - } - $28 = HEAP32[$19 >> 2]; - $28 = ((Math_imul($2, $37) + (($9 | 0) > 1 ? $9 : 0) | 0) + ($28 << 2) | 0) / ($28 << 3) | 0; - $28 = ($28 | 0) > ($26 | 0) ? $26 : $28; - $26 = ($28 | 0) > 2 ? $28 : 2; - $35 = $26 - $17 | 0; - } - $7 = $2; - break label$6; - } - celt_fatal(42472, 42508, 1547); - abort(); - } - $35 = $29; - } - $2 = Math_imul($11, $21); - $48 = 3 - $15 | 0; - $21 = Math_imul($26, 400); - if (!$5) { - ec_enc_init($16 + 32 | 0, $3, $26); - $5 = $16 + 32 | 0; - } - $53 = $0 + 244 | 0; - $2 = $2 << 2; - $50 = Math_imul($11, $30); - $3 = $21 >> $48; - label$12 : { - if (!HEAP32[$0 + 52 >> 2] | ($42 | 0) < 1) { - break label$12; - } - $21 = (($9 | 0) == 1) << 1; - $28 = ($42 << 1) - HEAP32[$0 + 208 >> 2] >> 6; - $21 = ($21 | 0) > ($28 | 0) ? $21 : $28; - if (($29 | 0) <= ($21 | 0)) { - break label$12; - } - $26 = $17 + $21 | 0; - ec_enc_shrink($5, $26); - $29 = $21; - } - $21 = $2 + $53 | 0; - $27 = $50 << 2; - $12 = ($3 | 0) < ($7 | 0); - $31 = Math_imul($13, 40); - $32 = 400 >>> $15 | 0; - $23 = HEAP32[$19 + 12 >> 2]; - $4 = $24 + $37 | 0; - $33 = $39 - ((Math_imul($11, $4) << 2) + 15 & -16) | 0; - $38 = $33; - __stack_pointer = $33; - $34 = HEAPF32[$0 + 224 >> 2]; - $54 = HEAP32[$0 + 28 >> 2]; - $39 = (Math_imul($37 - $24 | 0, $13) | 0) / ($54 | 0) | 0; - label$13 : { - label$14 : { - if (($39 | 0) >= 1) { - $2 = 0; - while (1) { - $6 = HEAPF32[($2 << 2) + $1 >> 2]; - $10 = $6 > $10 ? $10 : $6; - $8 = $6 < $8 ? $8 : $6; - $2 = $2 + 1 | 0; - if (($39 | 0) != ($2 | 0)) { - continue; - } - break; - } - $6 = Math_fround(-$10); - if (($6 < $8 ? $8 : $6) < $34) { - break label$13; - } - $2 = 0; - $10 = Math_fround(0); - $8 = Math_fround(0); - while (1) { - $6 = HEAPF32[($2 << 2) + $1 >> 2]; - $10 = $6 > $10 ? $10 : $6; - $8 = $6 < $8 ? $8 : $6; - $2 = $2 + 1 | 0; - if (($39 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$14; - } - if ($34 > Math_fround(0)) { - break label$13; - } - } - $6 = Math_fround(-$10); - $34 = $6 < $8 ? $8 : $6; - } - $22 = Math_imul($11, $24); - $28 = $21 + $27 | 0; - $12 = $12 ? $3 : $7; - $25 = ($7 | 0) == -1; - $58 = $31 + 20 | 0; - $31 = $32 - 50 | 0; - $51 = 1; - $10 = Math_fround(0); - $7 = (Math_imul($13, $24) | 0) / ($54 | 0) | 0; - label$18 : { - if (($7 | 0) < 1) { - $8 = Math_fround(0); - break label$18; - } - $39 = ($39 << 2) + $1 | 0; - $2 = 0; - $8 = Math_fround(0); - while (1) { - $6 = HEAPF32[($2 << 2) + $39 >> 2]; - $10 = $6 > $10 ? $10 : $6; - $8 = $6 < $8 ? $8 : $6; - $2 = $2 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $2 = $22 << 2; - $39 = $27 + $28 | 0; - $7 = $25 ? $3 : $12; - $3 = Math_imul($31, $58); - $12 = ($14 | 0) > ($23 | 0); - $22 = $26 << 3; - $6 = Math_fround(-$10); - $6 = $6 < $8 ? $8 : $6; - HEAPF32[$0 + 224 >> 2] = $6; - $6 = $6 < $34 ? $34 : $6; - label$21 : { - if (($9 | 0) != 1) { - $31 = 0; - break label$21; - } - $9 = Math_fround(Math_fround(1) / Math_fround(1 << HEAP32[$0 + 60 >> 2])) >= $6; - ec_enc_bit_logp($5, $9, 15); - if ($9 ^ 1) { - $31 = 0; - $9 = 1; - break label$21; - } - $31 = 1; - label$24 : { - if (($42 | 0) < 1) { - $9 = $22; - break label$24; - } - $29 = 2; - $9 = $17 + 2 | 0; - $35 = ($9 | 0) > ($26 | 0) ? $26 : $9; - ec_enc_shrink($5, $35); - $26 = $35; - $9 = $26 << 3; - $22 = $9; - } - HEAP32[$5 + 20 >> 2] = ($9 - Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) + 32; - $51 = 0; - } - $17 = $2 + $53 | 0; - $53 = $27 + $39 | 0; - $43 = 1 << $15; - $46 = $7 - $3 | 0; - $25 = $12 ? $23 : $14; - $54 = ($11 | 0) > 1 ? $11 : 1; - $3 = $19 + 16 | 0; - $24 = ($24 << 2) + $33 | 0; - $2 = 0; - while (1) { - $7 = $2 << 2; - celt_preemphasis($7 + $1 | 0, (Math_imul($2, $4) << 2) + $24 | 0, $37, $11, HEAP32[$0 + 28 >> 2], $3, ($0 + $7 | 0) + 192 | 0, HEAP32[$0 + 16 >> 2] != 0 & $6 > Math_fround(65536)); - $2 = $2 + 1 | 0; - if (($54 | 0) != ($2 | 0)) { - continue; - } - break; - } - $2 = 0; - if (!(HEAP32[$0 + 20 >> 2] | (!(HEAP32[$0 + 64 >> 2] != 0 & ($29 | 0) > 3 | (Math_imul($13, 12) | 0) < ($29 | 0)) | ($20 | $31)))) { - $2 = HEAP32[$0 + 24 >> 2] > 4; - } - $64 = HEAP32[$0 + 100 >> 2]; - $52 = $0 + 120 | 0; - $59 = run_prefilter($0, $33, $17, $11, $37, $64, $16 + 28 | 0, $16 + 24 | 0, $16 + 80 | 0, $2, $29, $52); - $66 = HEAPF32[$16 + 24 >> 2]; - label$28 : { - if (!($66 > Math_fround(.4000000059604645))) { - $1 = 0; - if (HEAPF32[$0 + 108 >> 2] > Math_fround(.4000000059604645) ^ 1) { - break label$28; - } - } - if (HEAP32[$52 >> 2]) { - $1 = 0; - if (+HEAPF32[$0 + 124 >> 2] > .3 ^ 1) { - break label$28; - } - } - $60 = +HEAP32[$16 + 28 >> 2]; - $61 = +HEAP32[$0 + 104 >> 2]; - $1 = $60 > $61 * 1.26 | $61 * .79 > $60; - } - $65 = $1; - label$31 : { - if (!$59) { - if (($9 + 16 | 0) > ($22 | 0) | $20) { - break label$31; - } - ec_enc_bit_logp($5, 0, 1); - break label$31; - } - ec_enc_bit_logp($5, 1, 1); - $2 = HEAP32[$16 + 28 >> 2]; - $1 = $2 + 1 | 0; - $7 = Math_clz32($1); - $3 = 27 - $7 | 0; - ec_enc_uint($5, $3, 6); - ec_enc_bits($5, (-16 << $3) + $1 | 0, 31 - $7 | 0); - HEAP32[$16 + 28 >> 2] = $2; - ec_enc_bits($5, HEAP32[$16 + 80 >> 2], 3); - ec_enc_icdf($5, $64, 42528, 2); - } - $62 = 1; - if (!(HEAP32[$0 + 64 >> 2] | HEAP32[$0 + 24 >> 2] < 1)) { - $2 = 0; - $2 = !$20 | ($35 | 0) > 14 ? $2 : HEAP32[$0 + 184 >> 2] != 2; - $36 = transient_analysis($33, $4, $11, $16 + 12 | 0, $16 + 16 | 0, $2, $16 + 4 | 0); - } - $3 = $19; - label$35 : { - label$36 : { - if (!(!$15 | ((HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 29 | 0) > ($22 | 0))) { - if ($36) { - break label$36; - } - $62 = 0; - } - $32 = $38 - ((Math_imul($11, $37) << 2) + 15 & -16) | 0; - $2 = $32; - __stack_pointer = $2; - $1 = ($50 << 2) + 15 & -16; - $38 = $2 - $1 | 0; - $2 = $38; - __stack_pointer = $2; - $4 = $2 - $1 | 0; - $2 = $4; - __stack_pointer = $2; - $40 = Math_imul($13, $30); - $31 = $2 - (($40 << 2) + 15 & -16) | 0; - $7 = $31; - __stack_pointer = $7; - $55 = 1; - $36 = 0; - $56 = 0; - break label$35; - } - $32 = $38 - ((Math_imul($11, $37) << 2) + 15 & -16) | 0; - $2 = $32; - __stack_pointer = $2; - $1 = ($50 << 2) + 15 & -16; - $38 = $2 - $1 | 0; - $2 = $38; - __stack_pointer = $2; - $4 = $2 - $1 | 0; - $2 = $4; - __stack_pointer = $2; - $40 = Math_imul($13, $30); - $31 = $2 - (($40 << 2) + 15 & -16) | 0; - $7 = $31; - __stack_pointer = $7; - $1 = HEAP32[$0 + 24 >> 2]; - label$38 : { - if (($1 | 0) < 8) { - $62 = 0; - break label$38; - } - $62 = 0; - compute_mdcts($19, 0, $33, $32, $13, $11, $15, HEAP32[$0 + 28 >> 2], HEAP32[$0 + 72 >> 2]); - compute_band_energies($19, $32, $38, $25, $13, $15, HEAP32[$0 + 72 >> 2]); - amp2Log2($19, $25, $14, $38, $31, $13); - $49 = 1; - if (($40 | 0) < 1) { - break label$38; - } - $6 = Math_fround(Math_fround($15 | 0) * Math_fround(.5)); - $2 = 0; - while (1) { - $1 = ($2 << 2) + $31 | 0; - HEAPF32[$1 >> 2] = $6 + HEAPF32[$1 >> 2]; - $2 = $2 + 1 | 0; - if (($40 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $56 = $43; - } - compute_mdcts($3, $56, $33, $32, $13, $11, $15, HEAP32[$0 + 28 >> 2], HEAP32[$0 + 72 >> 2]); - label$41 : { - label$42 : { - $6 = HEAPF32[$32 >> 2]; - if ($6 == $6) { - if (($13 | 0) == 1) { - break label$42; - } - $6 = HEAPF32[($37 << 2) + $32 >> 2]; - $1 = 0; - if ($6 == $6) { - break label$41; - } - } - celt_fatal(42531, 42508, 1729); - abort(); - } - $1 = 0; - if (($11 | 0) != 2) { - break label$41; - } - HEAP32[$16 + 16 >> 2] = 0; - $1 = 1; - } - $70 = $1; - compute_band_energies($19, $32, $38, $25, $13, $15, HEAP32[$0 + 72 >> 2]); - if (!(!HEAP32[$0 + 64 >> 2] | ($14 | 0) < 3)) { - $2 = 2; - while (1) { - $1 = ($2 << 2) + $38 | 0; - $6 = HEAPF32[$1 >> 2]; - $8 = Math_fround(HEAPF32[$38 >> 2] * Math_fround(9999999747378752e-20)); - $6 = $6 < $8 ? $6 : $8; - HEAPF32[$1 >> 2] = $6 > Math_fround(1.0000000036274937e-15) ? $6 : Math_fround(1.0000000036274937e-15); - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - amp2Log2($19, $25, $14, $38, $4, $13); - $2 = $7 - (($40 << 2) + 15 & -16) | 0; - $44 = $2; - __stack_pointer = $2; - $67 = $14 << 2; - $45 = memset($2, 0, $67); - $6 = Math_fround(0); - label$46 : { - label$47 : { - if ($20) { - break label$47; - } - $9 = HEAP32[$0 + 236 >> 2]; - $6 = Math_fround(0); - if (!$9) { - break label$47; - } - $1 = HEAP32[$0 + 64 >> 2]; - if ($1) { - break label$46; - } - label$48 : { - label$49 : { - label$50 : { - if (($13 | 0) < 1) { - break label$50; - } - $2 = HEAP32[$0 + 92 >> 2]; - $1 = ($2 | 0) > 2 ? $2 : 2; - $47 = HEAPU16[$18 >> 1]; - $12 = 0; - $3 = 0; - $8 = Math_fround(0); - $10 = Math_fround(0); - while (1) { - $17 = Math_imul($12, $30); - $7 = $47; - $2 = 0; - while (1) { - $6 = HEAPF32[($2 + $17 << 2) + $9 >> 2]; - $41 = $6; - $24 = $6 < Math_fround(.25); - $27 = ($24 ? $6 : Math_fround(.25)) > Math_fround(-2); - $6 = $27 ? Math_fround(.25) : Math_fround(-2); - $6 = $27 ? $24 ? $41 : $6 : $6; - $6 = $6 > Math_fround(0) ? Math_fround($6 * Math_fround(.5)) : $6; - $8 = Math_fround($8 + Math_fround($6 * Math_fround(($2 << 1 | 1) - $1 | 0))); - $24 = $7 << 16; - $2 = $2 + 1 | 0; - $7 = HEAP16[($2 << 1) + $18 >> 1]; - $24 = $7 - ($24 >> 16) | 0; - $10 = Math_fround($10 + Math_fround($6 * Math_fround($24 | 0))); - $3 = $3 + $24 | 0; - if (($1 | 0) != ($2 | 0)) { - continue; - } - break; - } - $12 = $12 + 1 | 0; - if (($12 | 0) != ($13 | 0)) { - continue; - } - break; - } - $2 = 0; - if (($3 | 0) <= 0) { - break label$50; - } - $6 = Math_fround(Math_fround(Math_fround($8 * Math_fround(6)) / Math_fround(Math_imul($1 + 1 | 0, Math_imul($1 - 1 | 0, Math_imul($1, $13))) | 0)) * Math_fround(.5)); - $6 = $6 < Math_fround(.03099999949336052) ? $6 : Math_fround(.03099999949336052); - $8 = Math_fround($10 / Math_fround($3 | 0)); - $3 = HEAP16[($1 << 1) + $18 >> 1] / 2 << 16 >> 16; - while (1) { - $7 = $2; - $2 = $2 + 1 | 0; - if (HEAP16[($2 << 1) + $18 >> 1] < ($3 | 0)) { - continue; - } - break; - } - $34 = $6 > Math_fround(-.03099999949336052) ? $6 : Math_fround(-.03099999949336052); - $10 = Math_fround($8 + Math_fround(.20000000298023224)); - $2 = 0; - $24 = 0; - while (1) { - $8 = Math_fround($10 + Math_fround($34 * Math_fround($2 - $7 | 0))); - $3 = $2 << 2; - $6 = HEAPF32[$9 + $3 >> 2]; - if (($13 | 0) == 2) { - $63 = HEAPF32[($2 + $30 << 2) + $9 >> 2]; - $6 = $6 > $63 ? $6 : $63; - } - $6 = Math_fround(($6 < Math_fround(0) ? $6 : Math_fround(0)) - $8); - if (!($6 > Math_fround(.25) ^ 1)) { - HEAPF32[$3 + $45 >> 2] = $6 + Math_fround(-.25); - $24 = $24 + 1 | 0; - } - $2 = $2 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - if (($24 | 0) < 3) { - break label$48; - } - $6 = Math_fround($10 + Math_fround(.25)); - $10 = Math_fround(0); - if (!($6 > Math_fround(0) ^ 1)) { - break label$49; - } - $2 = 0; - while (1) { - $7 = ($2 << 2) + $45 | 0; - HEAPF32[$7 >> 2] = Math_max(Math_fround(HEAPF32[$7 >> 2] + Math_fround(-.25)), Math_fround(0)); - $2 = $2 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - $10 = $6; - break label$48; - } - celt_fatal(42604, 42508, 1770); - abort(); - } - memset($45, 0, $1 << 2); - $34 = Math_fround(0); - } - $71 = Math_fround($34 * Math_fround(64)); - $6 = Math_fround($10 + Math_fround(.20000000298023224)); - } - $63 = $6; - $1 = HEAP32[$0 + 64 >> 2]; - if ($1) { - break label$46; - } - $8 = Math_fround(0); - if (($14 | 0) > ($20 | 0)) { - $34 = $55 ? Math_fround(0) : Math_fround(Math_fround($15 | 0) * Math_fround(.5)); - $6 = Math_fround(-10); - $2 = $20; - while (1) { - $6 = Math_fround($6 + Math_fround(-1)); - $10 = Math_fround(HEAPF32[($2 << 2) + $4 >> 2] - $34); - $6 = $6 > $10 ? $6 : $10; - if (($13 | 0) == 2) { - $10 = Math_fround(HEAPF32[($2 + $30 << 2) + $4 >> 2] - $34); - $6 = $6 > $10 ? $6 : $10; - } - $8 = Math_fround($8 + $6); - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $6 = HEAPF32[$0 + 240 >> 2]; - $68 = Math_fround(Math_min(Math_fround(Math_max(Math_fround(Math_fround($8 / Math_fround($14 - $20 | 0)) - $6), Math_fround(-1.5))), Math_fround(3))); - HEAPF32[$0 + 240 >> 2] = $6 + Math_fround($68 * Math_fround(.019999999552965164)); - $1 = 0; - } - if (!$49) { - memcpy($31, $4, $40 << 2); - } - label$64 : { - if (!$15) { - break label$64; - } - $2 = (HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 29 | 0; - label$65 : { - if (($22 | 0) < ($2 | 0) | $36) { - break label$65; - } - $36 = 0; - if ($1 | $20 | HEAP32[$0 + 24 >> 2] < 5) { - break label$65; - } - $2 = 1; - $6 = HEAPF32[$21 >> 2]; - label$66 : { - label$67 : { - if (($13 | 0) == 1) { - HEAPF32[$16 + 80 >> 2] = $6; - if (($14 | 0) < 2) { - break label$66; - } - while (1) { - $6 = Math_fround($6 + Math_fround(-1)); - $1 = $2 << 2; - $8 = HEAPF32[$21 + $1 >> 2]; - $6 = $6 > $8 ? $6 : $8; - HEAPF32[($16 + 80 | 0) + $1 >> 2] = $6; - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$67; - } - $8 = HEAPF32[($30 << 2) + $21 >> 2]; - $6 = $6 > $8 ? $6 : $8; - HEAPF32[$16 + 80 >> 2] = $6; - if (($14 | 0) < 2) { - break label$66; - } - while (1) { - $6 = Math_fround($6 + Math_fround(-1)); - $1 = $2 << 2; - $8 = HEAPF32[$21 + $1 >> 2]; - $10 = HEAPF32[($2 + $30 << 2) + $21 >> 2]; - $8 = $8 > $10 ? $8 : $10; - $6 = $6 > $8 ? $6 : $8; - HEAPF32[($16 + 80 | 0) + $1 >> 2] = $6; - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - if (($14 | 0) < 2) { - break label$66; - } - $2 = $14 - 2 | 0; - while (1) { - $1 = ($16 + 80 | 0) + ($2 << 2) | 0; - $6 = HEAPF32[$1 >> 2]; - $8 = Math_fround(HEAPF32[$1 + 4 >> 2] + Math_fround(-1)); - HEAPF32[$1 >> 2] = $6 > $8 ? $6 : $8; - $1 = ($2 | 0) > 0; - $2 = $2 - 1 | 0; - if ($1) { - continue; - } - break; - } - } - $24 = ($13 | 0) > 1 ? $13 : 1; - $7 = $14 - 1 | 0; - $3 = 0; - $27 = ($14 | 0) < 4; - $6 = Math_fround(0); - while (1) { - if (!$27) { - $1 = Math_imul($3, $30); - $2 = 2; - while (1) { - $6 = Math_fround($6 + Math_fround(Math_max(Math_fround(Math_fround(Math_max(HEAPF32[($1 + $2 << 2) + $4 >> 2], Math_fround(0))) - Math_fround(Math_max(HEAPF32[($16 + 80 | 0) + ($2 << 2) >> 2], Math_fround(0)))), Math_fround(0)))); - $2 = $2 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $3 = $3 + 1 | 0; - if (($24 | 0) != ($3 | 0)) { - continue; - } - break; - } - if (!(Math_fround($6 / Math_fround(Math_imul($14 - 3 | 0, $13) | 0)) > Math_fround(1) ^ 1)) { - compute_mdcts($19, $43, $33, $32, $13, $11, $15, HEAP32[$0 + 28 >> 2], HEAP32[$0 + 72 >> 2]); - compute_band_energies($19, $32, $38, $25, $13, $15, HEAP32[$0 + 72 >> 2]); - amp2Log2($19, $25, $14, $38, $4, $13); - if (($40 | 0) >= 1) { - $6 = Math_fround(Math_fround($15 | 0) * Math_fround(.5)); - $2 = 0; - while (1) { - $1 = ($2 << 2) + $31 | 0; - HEAPF32[$1 >> 2] = $6 + HEAPF32[$1 >> 2]; - $2 = $2 + 1 | 0; - if (($40 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAP32[$16 + 12 >> 2] = 1045220557; - $56 = $43; - $36 = 1; - } - $2 = (HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 29 | 0; - } - if (($2 | 0) > ($22 | 0)) { - break label$64; - } - ec_enc_bit_logp($5, $36, 3); - } - $27 = $44 - ((Math_imul($13, $37) << 2) + 15 & -16) | 0; - $1 = $27; - __stack_pointer = $1; - normalise_bands($19, $32, $1, $38, $25, $13, $43); - $7 = 0; - if (!((Math_imul($13, 15) | 0) > ($35 | 0) | $20 | HEAP32[$0 + 24 >> 2] < 2)) { - $7 = !HEAP32[$0 + 64 >> 2]; - } - $2 = ($30 << 2) + 15 & -16; - $49 = $1 - $2 | 0; - $1 = $49; - __stack_pointer = $1; - $1 = $1 - $2 | 0; - __stack_pointer = $1; - $12 = $1 - $2 | 0; - $3 = $12; - __stack_pointer = $3; - $72 = dynalloc_analysis($4, $31, $30, $20, $14, $13, $49, HEAP32[$0 + 60 >> 2], HEAP32[$19 + 56 >> 2], $36, HEAP32[$0 + 44 >> 2], HEAP32[$0 + 52 >> 2], $18, $15, $35, $16 + 8 | 0, HEAP32[$0 + 64 >> 2], $45, $52, $1, $3); - $33 = $3 - $2 | 0; - $3 = $33; - __stack_pointer = $3; - label$79 : { - if ($7) { - $2 = 20480 / ($35 | 0) | 0; - $44 = tf_analysis($19, $25, $36, $33, ($2 | 0) < 78 ? 80 : $2 + 2 | 0, $27, $37, $15, HEAPF32[$16 + 12 >> 2], HEAP32[$16 + 16 >> 2], $1); - if (($14 | 0) <= ($23 | 0)) { - break label$79; - } - $2 = (($25 << 2) + $33 | 0) - 4 | 0; - while (1) { - HEAP32[($23 << 2) + $33 >> 2] = HEAP32[$2 >> 2]; - $23 = $23 + 1 | 0; - if (($23 | 0) != ($14 | 0)) { - continue; - } - break; - } - break label$79; - } - if (!(!$20 | !HEAP32[$16 + 4 >> 2])) { - $44 = 0; - if (($14 | 0) < 1) { - break label$79; - } - $2 = 0; - while (1) { - HEAP32[($2 << 2) + $33 >> 2] = 1; - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$79; - } - if (!(!$20 | ($35 | 0) > 14 | HEAP32[$0 + 184 >> 2] == 2)) { - $44 = $36; - if (($14 | 0) < 1) { - break label$79; - } - memset($33, 0, $67); - break label$79; - } - $44 = 0; - if (($14 | 0) < 1) { - break label$79; - } - $2 = 0; - while (1) { - HEAP32[($2 << 2) + $33 >> 2] = $36; - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $55 = $0 + 100 | 0; - $31 = ($13 | 0) > 1 ? $13 : 1; - $24 = $3 - (($40 << 2) + 15 & -16) | 0; - $45 = $24; - __stack_pointer = $24; - $9 = 0; - while (1) { - $32 = ($14 | 0) <= ($20 | 0); - if (!$32) { - $3 = Math_imul($9, $30); - $2 = $20; - while (1) { - $1 = $2 + $3 << 2; - $7 = $4 + $1 | 0; - $6 = HEAPF32[$7 >> 2]; - if (!(Math_fround(Math_abs(Math_fround($6 - HEAPF32[$1 + $21 >> 2]))) < Math_fround(2) ^ 1)) { - HEAPF32[$7 >> 2] = $6 + Math_fround(HEAPF32[$1 + $53 >> 2] * Math_fround(-.25)); - } - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $9 = $9 + 1 | 0; - if (($31 | 0) != ($9 | 0)) { - continue; - } - break; - } - quant_coarse_energy($19, $20, $14, $25, $4, $21, $22, $24, $5, $13, $15, $29, HEAP32[$0 + 12 >> 2], $0 + 84 | 0, HEAP32[$0 + 24 >> 2] > 3, HEAP32[$0 + 56 >> 2], HEAP32[$0 + 64 >> 2]); - $47 = 0; - $1 = HEAP32[$5 + 4 >> 2] << 3; - $7 = (HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 32 | 0; - $2 = $36 ? 2 : 4; - $23 = ($15 | 0) != 0 & $1 >>> 0 >= $7 + ($2 | 1) >>> 0; - $17 = 0; - label$90 : { - if ($32) { - break label$90; - } - $3 = ($20 << 2) + $33 | 0; - $11 = $1 - $23 | 0; - label$91 : { - if ($11 >>> 0 >= $2 + $7 >>> 0) { - ec_enc_bit_logp($5, HEAP32[$3 >> 2], $2); - $7 = (HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 32 | 0; - $17 = HEAP32[$3 >> 2]; - break label$91; - } - HEAP32[$3 >> 2] = 0; - $17 = 0; - } - $2 = $20 + 1 | 0; - if (($14 | 0) == ($2 | 0)) { - break label$90; - } - $3 = $36 ? 4 : 5; - $9 = $17; - while (1) { - $1 = ($2 << 2) + $33 | 0; - label$94 : { - if ($3 + $7 >>> 0 <= $11 >>> 0) { - ec_enc_bit_logp($5, HEAP32[$1 >> 2] ^ $9, $3); - $9 = HEAP32[$1 >> 2]; - $17 = $17 | $9; - $7 = (HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 32 | 0; - break label$94; - } - HEAP32[$1 >> 2] = $9; - } - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - label$96 : { - if (!$23) { - break label$96; - } - $2 = ($15 << 3) + 1744 | 0; - $1 = $36 << 2; - if (HEAPU8[$2 + ($17 + $1 | 0) | 0] == HEAPU8[(($1 | 2) + $17 | 0) + $2 | 0]) { - break label$96; - } - ec_enc_bit_logp($5, $44, 1); - $47 = $44 << 1; - } - if (!$32) { - $7 = ($36 << 2) + $47 | 0; - $3 = $15 << 3; - $2 = $20; - while (1) { - $1 = ($2 << 2) + $33 | 0; - HEAP32[$1 >> 2] = HEAP8[((HEAP32[$1 >> 2] + $7 | 0) + $3 | 0) + 1744 | 0]; - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - if (((HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 28 | 0) <= ($22 | 0)) { - label$100 : { - if (HEAP32[$0 + 64 >> 2]) { - $2 = 2; - HEAP32[$0 + 80 >> 2] = 2; - HEAP32[$0 + 100 >> 2] = 0; - break label$100; - } - $1 = $0; - label$102 : { - label$103 : { - label$104 : { - if ($20) { - if (!HEAP32[$0 + 24 >> 2]) { - break label$103; - } - if ($36) { - break label$104; - } - $2 = 3; - break label$102; - } - $2 = HEAP32[$0 + 24 >> 2]; - if (!(($2 | 0) > 2 ? !((Math_imul($13, 10) | 0) > ($29 | 0) | $56) : 0)) { - if (!$2) { - break label$103; - } - break label$104; - } - $2 = spreading_decision($19, $27, $0 + 88 | 0, HEAP32[$0 + 80 >> 2], $0 + 96 | 0, $55, ($59 | 0) != 0, $25, $13, $43, $12); - break label$102; - } - $2 = 2; - break label$102; - } - $2 = 0; - } - HEAP32[$1 + 80 >> 2] = $2; - } - ec_enc_icdf($5, $2, 42630, 5); - } - if (HEAP32[$0 + 64 >> 2]) { - HEAP32[$49 >> 2] = ($35 | 0) > 26 ? 8 : ($35 | 0) / 3 | 0; - } - $35 = $45 - (($30 << 2) + 15 & -16) | 0; - $45 = $35; - __stack_pointer = $35; - init_caps($19, $35, $15, $13); - $12 = $22 << 3; - $3 = 0; - $7 = ec_tell_frac($5); - if (!$32) { - $29 = 6; - $25 = $20; - while (1) { - $2 = $25; - $25 = $2 + 1 | 0; - $9 = $2 << 2; - $23 = $49 + $9 | 0; - $1 = 0; - label$111 : { - if ((($29 << 3) + $7 | 0) >= ($12 - $3 | 0)) { - break label$111; - } - label$112 : { - $22 = $9 + $35 | 0; - if (HEAP32[$22 >> 2] <= 0) { - $9 = 0; - break label$112; - } - $2 = Math_imul(HEAP16[($25 << 1) + $18 >> 1] - HEAP16[($2 << 1) + $18 >> 1] | 0, $13) << $15; - $7 = $2 << 3; - $2 = ($2 | 0) > 48 ? $2 : 48; - $17 = ($2 | 0) > ($7 | 0) ? $7 : $2; - $9 = $29; - $2 = 0; - while (1) { - $11 = HEAP32[$23 >> 2]; - ec_enc_bit_logp($5, ($11 | 0) > ($2 | 0), $9); - $7 = ec_tell_frac($5); - if (($2 | 0) >= ($11 | 0)) { - $9 = $2; - break label$112; - } - $1 = $1 + $17 | 0; - $3 = $3 + $17 | 0; - if (($7 + 8 | 0) < ($12 - $3 | 0)) { - $9 = 1; - $2 = $2 + 1 | 0; - if (HEAP32[$22 >> 2] <= ($1 | 0)) { - break label$112; - } - continue; - } - break; - } - $29 = ($29 | 0) > 2 ? $29 - 1 | 0 : 2; - break label$111; - } - if (!$9) { - break label$111; - } - $29 = ($29 | 0) > 2 ? $29 - 1 | 0 : 2; - } - HEAP32[$23 >> 2] = $1; - if (($14 | 0) != ($25 | 0)) { - continue; - } - break; - } - } - if (($13 | 0) == 2) { - if ($15) { - $18 = HEAP32[$19 + 32 >> 2]; - $17 = HEAPU16[$18 >> 1]; - $10 = Math_fround(1.0000000036274937e-15); - $9 = 0; - $34 = Math_fround(1.0000000036274937e-15); - while (1) { - $2 = $17 << 16 >> 16 << $15; - $9 = $9 + 1 | 0; - $17 = HEAP16[($9 << 1) + $18 >> 1]; - $1 = $17 << $15; - if (($2 | 0) < ($1 | 0)) { - while (1) { - $6 = HEAPF32[($2 << 2) + $27 >> 2]; - $8 = HEAPF32[($2 + $37 << 2) + $27 >> 2]; - $34 = Math_fround($34 + Math_fround(Math_fround(Math_abs(Math_fround($6 + $8))) + Math_fround(Math_abs(Math_fround($6 - $8))))); - $10 = Math_fround($10 + Math_fround(Math_fround(Math_abs($6)) + Math_fround(Math_abs($8)))); - $2 = $2 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (($9 | 0) != 13) { - continue; - } - break; - } - $2 = HEAP16[$18 + 26 >> 1] << $15 + 1; - HEAP32[$16 + 20 >> 2] = Math_fround(Math_fround($34 * Math_fround(.7071070075035095)) * Math_fround($2 + ($15 >>> 0 < 2 ? 5 : 13) | 0)) > Math_fround($10 * Math_fround($2 | 0)); - } - $2 = hysteresis_decision(Math_fround(($46 | 0) / 1e3 | 0), 42640, 42736, 21, HEAP32[$0 + 232 >> 2]); - $2 = ($2 | 0) < ($20 | 0) ? $20 : $2; - HEAP32[$0 + 232 >> 2] = ($2 | 0) > ($14 | 0) ? $14 : $2; - } - $9 = 5; - if (($7 + 48 | 0) <= ($12 - $3 | 0)) { - $22 = $5; - label$123 : { - if (!(HEAP32[$0 + 64 >> 2] ? 0 : ($20 | 0) <= 0)) { - HEAP32[$0 + 228 >> 2] = 0; - $9 = 5; - break label$123; - } - $12 = HEAP32[$0 + 232 >> 2]; - $34 = HEAPF32[$16 + 12 >> 2]; - $10 = Math_fround(4); - label$126 : { - if (($46 | 0) < 64e3) { - break label$126; - } - $10 = Math_fround(5); - if (($46 | 0) > 79999) { - break label$126; - } - $10 = Math_fround(Math_fround(Math_fround($46 - 64e3 >> 10) * Math_fround(.0625)) + Math_fround(4)); - } - if (($13 | 0) == 2) { - $23 = HEAP32[$19 + 32 >> 2]; - $11 = HEAPU16[$23 >> 1]; - $8 = Math_fround(0); - $18 = 0; - while (1) { - $2 = $11 << 16; - $6 = Math_fround(0); - $18 = $18 + 1 | 0; - $11 = HEAP16[($18 << 1) + $23 >> 1]; - $2 = $2 >> 16; - $7 = $11 - $2 << $15; - if (($7 | 0) >= 1) { - $2 = $2 << $15; - $9 = ($2 << 2) + $27 | 0; - $17 = ($2 + $37 << 2) + $27 | 0; - $2 = 0; - while (1) { - $1 = $2 << 2; - $6 = Math_fround($6 + Math_fround(HEAPF32[$9 + $1 >> 2] * HEAPF32[$1 + $17 >> 2])); - $2 = $2 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $8 = Math_fround($8 + $6); - if (($18 | 0) != 8) { - continue; - } - break; - } - $41 = Math_fround(Math_min(Math_fround(Math_abs(Math_fround($8 * Math_fround(.125)))), Math_fround(1))); - $8 = $41; - if (($12 | 0) >= 9) { - $11 = HEAPU16[$23 + 16 >> 1]; - $18 = 8; - $8 = $41; - while (1) { - $2 = $11 << 16; - $6 = Math_fround(0); - $18 = $18 + 1 | 0; - $11 = HEAP16[($18 << 1) + $23 >> 1]; - $2 = $2 >> 16; - $7 = $11 - $2 << $15; - if (($7 | 0) >= 1) { - $2 = $2 << $15; - $9 = ($2 << 2) + $27 | 0; - $17 = ($2 + $37 << 2) + $27 | 0; - $2 = 0; - while (1) { - $1 = $2 << 2; - $6 = Math_fround($6 + Math_fround(HEAPF32[$9 + $1 >> 2] * HEAPF32[$1 + $17 >> 2])); - $2 = $2 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $6 = Math_fround(Math_abs($6)); - $8 = $6 > $8 ? $8 : $6; - if (($12 | 0) != ($18 | 0)) { - continue; - } - break; - } - } - $61 = log(+Math_fround(Math_fround(1.0010000467300415) - Math_fround($41 * $41))); - $6 = Math_fround(Math_min(Math_fround(Math_abs($8)), Math_fround(1))); - $60 = log(+Math_fround(Math_fround(1.0010000467300415) - Math_fround($6 * $6))); - $6 = Math_fround(HEAPF32[$0 + 228 >> 2] + Math_fround(.25)); - $8 = Math_fround($61 * 1.4426950408889634); - $41 = Math_fround($8 * Math_fround(.5)); - $69 = Math_fround($60 * 1.4426950408889634); - $41 = Math_fround(($41 > $69 ? $41 : $69) * Math_fround(-.5)); - HEAPF32[$0 + 228 >> 2] = $6 < $41 ? $6 : $41; - $10 = Math_fround($10 + Math_fround(Math_max(Math_fround($8 * Math_fround(.75)), Math_fround(-4)))); - } - $7 = $14 - 1 | 0; - $9 = 2 - $14 | 0; - $6 = Math_fround(0); - $17 = 0; - while (1) { - if (($14 | 0) >= 2) { - $1 = Math_imul(HEAP32[$19 + 8 >> 2], $17); - $2 = 0; - while (1) { - $6 = Math_fround($6 + Math_fround(HEAPF32[($1 + $2 << 2) + $4 >> 2] * Math_fround(($2 << 1) + $9 | 0))); - $2 = $2 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $17 = $17 + 1 | 0; - if (($31 | 0) != ($17 | 0)) { - continue; - } - break; - } - $6 = Math_fround(Math_fround(Math_fround($6 / Math_fround(Math_imul($7, $13) | 0)) + Math_fround(1)) / Math_fround(6)); - $2 = $6 > Math_fround(2); - $1 = $6 < Math_fround(-2); - $8 = $1 ? $2 ? Math_fround(2) : Math_fround(-2) : Math_fround(2); - $6 = Math_fround(Math_fround(Math_fround($10 - ($1 ? $8 : $2 ? $8 : $6)) - $71) - Math_fround($34 + $34)); - if (HEAP32[$52 >> 2]) { - $8 = Math_fround(HEAPF32[$0 + 128 >> 2] + Math_fround(.05000000074505806)); - $8 = Math_fround($8 + $8); - $2 = $8 > Math_fround(2); - $1 = $8 < Math_fround(-2); - $10 = $1 ? $2 ? Math_fround(2) : Math_fround(-2) : Math_fround(2); - $6 = Math_fround($6 - ($1 ? $10 : $2 ? $10 : $8)); - } - $6 = Math_fround(Math_floor(Math_fround($6 + Math_fround(.5)))); - label$138 : { - if (Math_fround(Math_abs($6)) < Math_fround(2147483648)) { - $2 = ~~$6; - break label$138; - } - $2 = -2147483648; - } - $2 = ($2 | 0) < 10 ? $2 : 10; - $9 = ($2 | 0) > 0 ? $2 : 0; - } - ec_enc_icdf($22, $9, 42820, 7); - $7 = ec_tell_frac($5); - } - if (($42 | 0) >= 1) { - $2 = 1275 >>> $48 | 0; - $4 = HEAP32[$19 + 36 >> 2]; - if ($20) { - $1 = (Math_imul($13, -72) + $42 | 0) - 32 | 0; - $1 = ($1 | 0) > 0 ? $1 : 0; - } else { - $1 = $42 - ($58 << 3) | 0; - } - $11 = ($2 | 0) > ($26 | 0); - $18 = $4 - $15 | 0; - $17 = HEAP32[$0 + 52 >> 2]; - $1 = $17 ? (HEAP32[$0 + 216 >> 2] >> $18) + $1 | 0 : $1; - $2 = $11 ? $26 : $2; - $44 = $2; - label$146 : { - label$147 : { - label$148 : { - if (!$20) { - $23 = HEAP32[$19 + 32 >> 2]; - $4 = HEAP32[$0 + 92 >> 2]; - $26 = HEAP32[$19 + 8 >> 2]; - $12 = $4 ? $4 : $26; - $11 = HEAP16[$23 + ($12 << 1) >> 1] << $15; - $29 = HEAP32[$0 + 236 >> 2]; - $25 = HEAP32[$0 + 64 >> 2]; - $8 = HEAPF32[$0 + 228 >> 2]; - $22 = HEAP32[$0 + 232 >> 2]; - $6 = HEAPF32[$16 + 12 >> 2]; - $48 = HEAP32[$16 + 8 >> 2]; - $11 = ($13 | 0) == 2 ? (HEAP16[((($12 | 0) > ($22 | 0) ? $22 : $12) << 1) + $23 >> 1] << $15) + $11 | 0 : $11; - $47 = HEAP32[$52 >> 2]; - $4 = $1; - label$151 : { - if (!$47) { - break label$151; - } - $10 = HEAPF32[$0 + 136 >> 2]; - $4 = $1; - if (+$10 < .4 ^ 1) { - break label$151; - } - $43 = $1; - $10 = Math_fround(Math_fround(Math_fround(.4000000059604645) - $10) * Math_fround($11 << 3)); - label$152 : { - if (Math_fround(Math_abs($10)) < Math_fround(2147483648)) { - $4 = ~~$10; - break label$152; - } - $4 = -2147483648; - } - $4 = $43 - $4 | 0; - } - if (($13 | 0) == 2) { - $43 = $4; - $12 = ($12 | 0) > ($22 | 0) ? $22 : $12; - $12 = (HEAP16[($12 << 1) + $23 >> 1] << $15) - $12 | 0; - $10 = Math_fround(Math_fround(Math_fround(Math_fround($12 | 0) * Math_fround(.800000011920929)) / Math_fround($11 | 0)) * Math_fround($4 | 0)); - $8 = Math_fround(Math_fround(($8 < Math_fround(1) ? $8 : Math_fround(1)) + Math_fround(-.10000000149011612)) * Math_fround($12 << 3)); - $8 = $8 > $10 ? $10 : $8; - label$157 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $12 = ~~$8; - break label$157; - } - $12 = -2147483648; - } - $4 = $43 - $12 | 0; - } - $4 = ((-19 << $15) + $48 | 0) + $4 | 0; - $8 = Math_fround(Math_fround($6 + Math_fround(-.04399999976158142)) * Math_fround($4 | 0)); - label$154 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $12 = ~~$8; - break label$154; - } - $12 = -2147483648; - } - $4 = $12 + $4 | 0; - if (!(!$47 | $25)) { - $8 = Math_fround($11 << 3); - $10 = Math_fround(HEAPF32[$0 + 124 >> 2] + Math_fround(-.15000000596046448)); - $10 = Math_fround(Math_fround($8 * Math_fround(1.2000000476837158)) * ($10 < Math_fround(0) ? Math_fround(-.11999999731779099) : Math_fround($10 + Math_fround(-.11999999731779099)))); - label$161 : { - if (Math_fround(Math_abs($10)) < Math_fround(2147483648)) { - $12 = ~~$10; - break label$161; - } - $12 = -2147483648; - } - $8 = Math_fround($8 * Math_fround(.800000011920929)); - label$163 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $22 = ~~$8; - break label$163; - } - $22 = -2147483648; - } - $4 = $12 + (($65 ? $22 : 0) + $4 | 0) | 0; - } - $12 = !$29 | ($25 | 0) != 0; - if (!$12) { - $22 = ($4 | 0) / 4 | 0; - $25 = $22; - $8 = Math_fround($63 * Math_fround($11 << 3)); - label$166 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $11 = ~~$8; - break label$166; - } - $11 = -2147483648; - } - $4 = $11 + $4 | 0; - $4 = ($4 | 0) < ($22 | 0) ? $25 : $4; - } - $11 = $4 >> 2; - $22 = $4; - $8 = Math_fround($72 * Math_fround(Math_imul(HEAP16[(($26 << 1) + $23 | 0) - 4 >> 1] << $15, $13) << 3)); - label$168 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $23 = ~~$8; - break label$168; - } - $23 = -2147483648; - } - $11 = ($11 | 0) < ($23 | 0) ? $23 : $11; - $4 = ($4 | 0) < ($11 | 0) ? $22 : $11; - if (!(!$17 | $12 ^ 1)) { - $8 = Math_fround(Math_fround($4 - $1 | 0) * Math_fround(.6700000166893005)); - label$171 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $4 = ~~$8; - break label$171; - } - $4 = -2147483648; - } - $4 = $4 + $1 | 0; - } - $12 = $4; - if ($29 | $6 < Math_fround(.20000000298023224) ^ 1) { - break label$147; - } - $11 = 96e3 - $46 | 0; - $11 = ($11 | 0) < 32e3 ? $11 : 32e3; - $6 = Math_fround(Math_fround((($11 | 0) < 0 ? Math_fround(0) : Math_fround(Math_fround($11 | 0) * Math_fround(3099999958067201e-21))) * $68) * Math_fround($4 | 0)); - if (!(Math_fround(Math_abs($6)) < Math_fround(2147483648))) { - break label$148; - } - $12 = ~~$6 + $4 | 0; - break label$147; - } - $4 = HEAP32[$0 + 188 >> 2]; - $1 = ((($4 | 0) < 100 ? 96 >>> $48 | 0 : 0) + $1 | 0) - (($4 | 0) > 100 ? 144 >>> $48 | 0 : 0) | 0; - $6 = HEAPF32[$16 + 12 >> 2]; - $8 = Math_fround(Math_fround($6 + Math_fround(-.25)) * Math_fround(400)); - label$173 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $4 = ~~$8; - break label$173; - } - $4 = -2147483648; - } - $1 = $1 + $4 | 0; - $4 = $6 > Math_fround(.699999988079071) ? ($1 | 0) > 400 ? $1 : 400 : $1; - $1 = (($3 + $7 | 0) + 63 >> 6) + 2 | 0; - $3 = ($3 + $57 | 0) + 359 >> 6; - $1 = ($1 | 0) > ($3 | 0) ? $1 : $3; - break label$146; - } - $12 = $4 - -2147483648 | 0; - } - $4 = $12; - $1 = $1 << 1; - $4 = ($1 | 0) < ($4 | 0) ? $1 : $4; - $1 = (($3 + $7 | 0) + 63 >> 6) + 2 | 0; - } - $4 = $4 + $7 | 0; - $7 = $4 + 32 >> 6; - $1 = ($1 | 0) > ($7 | 0) ? $1 : $7; - $7 = ($1 | 0) > ($2 | 0) ? $44 : $1; - $6 = Math_fround(.0010000000474974513); - $1 = HEAP32[$0 + 220 >> 2]; - if (($1 | 0) <= 969) { - HEAP32[$0 + 220 >> 2] = $1 + 1; - $6 = Math_fround(Math_fround(1) / Math_fround($1 + 21 | 0)); - } - $1 = $51 ? $7 : 2; - label$176 : { - if (!$17) { - break label$176; - } - $7 = HEAP32[$0 + 208 >> 2] + (($51 ? $7 << 6 : 128) - $42 | 0) | 0; - HEAP32[$0 + 208 >> 2] = $7; - $12 = $0; - $3 = (($51 ? $4 - $42 | 0 : 0) << $18) - HEAP32[$0 + 216 >> 2] | 0; - $4 = HEAP32[$0 + 212 >> 2]; - $6 = Math_fround($6 * Math_fround($3 - $4 | 0)); - label$177 : { - if (Math_fround(Math_abs($6)) < Math_fround(2147483648)) { - $3 = ~~$6; - break label$177; - } - $3 = -2147483648; - } - $4 = $3 + $4 | 0; - HEAP32[$12 + 212 >> 2] = $4; - HEAP32[$0 + 216 >> 2] = 0 - $4; - if (($7 | 0) > -1) { - break label$176; - } - HEAP32[$0 + 208 >> 2] = 0; - $1 = ($51 ? ($7 | 0) / -64 | 0 : 0) + $1 | 0; - } - $26 = ($1 | 0) > ($2 | 0) ? $2 : $1; - ec_enc_shrink($5, $26); - } - $1 = ($30 << 2) + 15 & -16; - $2 = $45 - $1 | 0; - __stack_pointer = $2; - $4 = $2 - $1 | 0; - $7 = $4; - __stack_pointer = $7; - $3 = $7 - $1 | 0; - $11 = $3; - __stack_pointer = $3; - $23 = $26 << 6; - $7 = $23 + (ec_tell_frac($5) ^ -1) | 0; - $17 = 0; - $22 = $19; - $29 = $20; - $25 = $14; - $55 = $0 + 232 | 0; - $57 = $16 + 20 | 0; - $12 = $7; - $1 = 0; - label$179 : { - if ($15 >>> 0 < 2) { - break label$179; - } - $1 = 0; - if (!$36) { - break label$179; - } - $17 = (($15 << 3) + 16 | 0) <= ($7 | 0); - $1 = $17 << 3; - } - $18 = $12 - $1 | 0; - $58 = $16 + 80 | 0; - $45 = $4; - $44 = $2; - $43 = $3; - $47 = $13; - $65 = $15; - $42 = $5; - $59 = HEAP32[$0 + 92 >> 2]; - if (HEAP32[$52 >> 2]) { - $12 = HEAP32[$0 + 152 >> 2]; - $48 = $12; - $7 = 13; - label$181 : { - if ((Math_imul($13, 32e3) | 0) > ($46 | 0)) { - break label$181; - } - $7 = 16; - if ((Math_imul($13, 48e3) | 0) > ($46 | 0)) { - break label$181; - } - $7 = 18; - if ((Math_imul($13, 6e4) | 0) > ($46 | 0)) { - break label$181; - } - $7 = (Math_imul($13, 8e4) | 0) > ($46 | 0) ? 19 : 20; - } - $7 = ($7 | 0) < ($12 | 0) ? $48 : $7; - } else { - $7 = $14 - 1 | 0; - } - $7 = clt_compute_allocation($22, $29, $25, $49, $35, $9, $55, $57, $18, $58, $45, $44, $43, $47, $65, $42, 1, $59, HEAP32[$0 + 64 >> 2] ? 1 : $7); - $9 = $7; - $18 = HEAP32[$0 + 92 >> 2]; - if ($18) { - $9 = $18 + 1 | 0; - $18 = $18 - 1 | 0; - $18 = ($7 | 0) < ($18 | 0) ? $18 : $7; - $9 = ($9 | 0) < ($18 | 0) ? $9 : $18; - } - $18 = $26 << 3; - HEAP32[$0 + 92 >> 2] = $9; - quant_fine_energy($19, $20, $14, $21, $24, $2, $5, $13); - $9 = 0; - $11 = $11 - ($40 + 15 & -16) | 0; - __stack_pointer = $11; - quant_all_bands(1, $19, $20, $14, $27, ($13 | 0) == 2 ? ($37 << 2) + $27 | 0 : 0, $11, $38, $4, $56, HEAP32[$0 + 80 >> 2], HEAP32[$16 + 20 >> 2], HEAP32[$0 + 232 >> 2], $33, $23 - $1 | 0, HEAP32[$16 + 80 >> 2], $5, $15, $7, $0 + 76 | 0, HEAP32[$0 + 24 >> 2], HEAP32[$0 + 72 >> 2], HEAP32[$0 + 68 >> 2]); - if ($17) { - ec_enc_bits($5, HEAP32[$0 + 116 >> 2] < 2, 1); - } - quant_energy_finalise($19, $20, $14, $21, $24, $2, $3, (($18 - HEAP32[$5 + 20 >> 2] | 0) - Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) + 32 | 0, $5, $13); - $27 = $50 << 2; - $3 = memset($53, 0, $27); - while (1) { - if (!$32) { - $4 = Math_imul($9, $30); - $2 = $20; - while (1) { - $1 = $2 + $4 << 2; - $12 = $3 + $1 | 0; - $6 = HEAPF32[$1 + $24 >> 2]; - $1 = $6 > Math_fround(.5); - $7 = ($1 ? Math_fround(.5) : $6) < Math_fround(-.5); - $8 = $7 ? Math_fround(-.5) : Math_fround(.5); - HEAPF32[$12 >> 2] = $1 ? $8 : $7 ? $8 : $6; - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $9 = $9 + 1 | 0; - if (($31 | 0) != ($9 | 0)) { - continue; - } - break; - } - if (!(!($51 ^ 1) | ($40 | 0) < 1)) { - $2 = 0; - while (1) { - HEAP32[($2 << 2) + $21 >> 2] = -1042284544; - $2 = $2 + 1 | 0; - if (($40 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $2 = HEAP32[$16 + 28 >> 2]; - HEAP32[$0 + 112 >> 2] = $64; - HEAPF32[$0 + 108 >> 2] = $66; - HEAP32[$0 + 104 >> 2] = $2; - if ($70) { - $2 = $30 << 2; - memcpy($21 + $2 | 0, $21, $2); - } - label$190 : { - if ($36) { - $2 = 0; - if (($50 | 0) <= 0) { - break label$190; - } - while (1) { - $1 = $2 << 2; - $7 = $28 + $1 | 0; - $6 = HEAPF32[$7 >> 2]; - $8 = HEAPF32[$1 + $21 >> 2]; - HEAPF32[$7 >> 2] = $6 < $8 ? $6 : $8; - $2 = $2 + 1 | 0; - if (($50 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$190; - } - memcpy($39, $28, $27); - memcpy($28, $21, $27); - } - $3 = ($20 | 0) < 1; - $4 = 0; - while (1) { - if (!$3) { - $7 = Math_imul($4, $30); - $2 = 0; - while (1) { - $1 = $2 + $7 << 2; - HEAP32[$21 + $1 >> 2] = 0; - HEAP32[$1 + $39 >> 2] = -1042284544; - HEAP32[$1 + $28 >> 2] = -1042284544; - $2 = $2 + 1 | 0; - if (($20 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - if (($14 | 0) < ($30 | 0)) { - $7 = Math_imul($4, $30); - $2 = $14; - while (1) { - $1 = $2 + $7 << 2; - HEAP32[$21 + $1 >> 2] = 0; - HEAP32[$1 + $39 >> 2] = -1042284544; - HEAP32[$1 + $28 >> 2] = -1042284544; - $2 = $2 + 1 | 0; - if (($30 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $4 = $4 + 1 | 0; - if (($54 | 0) != ($4 | 0)) { - continue; - } - break; - } - $2 = 0; - $2 = !$36 & ($62 ^ -1) ? $2 : HEAP32[$0 + 116 >> 2] + 1 | 0; - HEAP32[$0 + 116 >> 2] = $2; - HEAP32[$0 + 76 >> 2] = HEAP32[$5 + 28 >> 2]; - ec_enc_done($5); - $7 = HEAP32[$5 + 44 >> 2] ? -3 : $26; - } - __stack_pointer = $16 + 192 | 0; - return $7; -} -function run_analysis($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { - var $12 = Math_fround(0), $13 = Math_fround(0), $14 = 0, $15 = 0, $16 = 0, $17 = Math_fround(0), $18 = Math_fround(0), $19 = Math_fround(0), $20 = Math_fround(0), $21 = Math_fround(0), $22 = 0, $23 = Math_fround(0), $24 = Math_fround(0), $25 = Math_fround(0), $26 = Math_fround(0), $27 = 0, $28 = 0, $29 = Math_fround(0), $30 = Math_fround(0), $31 = Math_fround(0), $32 = 0, $33 = Math_fround(0), $34 = 0, $35 = Math_fround(0), $36 = 0, $37 = Math_fround(0), $38 = Math_fround(0), $39 = Math_fround(0), $40 = Math_fround(0), $41 = Math_fround(0), $42 = Math_fround(0), $43 = Math_fround(0), $44 = Math_fround(0), $45 = Math_fround(0), $46 = Math_fround(0), $47 = Math_fround(0), $48 = 0, $49 = Math_fround(0), $50 = 0, $51 = 0, $52 = Math_fround(0), $53 = 0, $54 = Math_fround(0), $55 = 0, $56 = Math_fround(0), $57 = Math_fround(0), $58 = 0, $59 = Math_fround(0), $60 = Math_fround(0), $61 = Math_fround(0), $62 = Math_fround(0), $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = Math_fround(0), $68 = Math_fround(0), $69 = Math_fround(0), $70 = Math_fround(0), $71 = 0, $72 = 0, $73 = Math_fround(0); - $14 = __stack_pointer - 11360 | 0; - __stack_pointer = $14; - if ($2) { - $15 = (Math_imul($8, 95) | 0) / 50 | 0; - $3 = $3 & -2; - $63 = ($3 | 0) > ($15 | 0) ? $15 : $3; - $50 = HEAP32[$0 + 7440 >> 2]; - $51 = $63 - $50 | 0; - if (($51 | 0) >= 1) { - $64 = $0 + 7464 | 0; - $71 = $0 + 3852 | 0; - $72 = $0 + 4812 | 0; - $65 = $0 + 7592 | 0; - $53 = $0 + 2892 | 0; - $55 = ($8 | 0) / 50 | 0; - $12 = Math_fround(Math_fround(.0005699999746866524) / Math_fround(1 << (($9 | 0) > 8 ? $9 : 8) - 8)); - $56 = Math_fround($12 * $12); - $73 = Math_fround($56 * Math_fround(3)); - while (1) { - $8 = ($51 | 0) > ($55 | 0); - if (!HEAP32[$0 + 7460 >> 2]) { - HEAP32[$0 + 7460 >> 2] = 1; - HEAP32[$0 + 5772 >> 2] = 240; - } - $22 = $8 ? $55 : $51; - $48 = HEAP32[$0 + 7436 >> 2]; - $8 = HEAP32[$0 + 8 >> 2]; - label$5 : { - if (($8 | 0) != 16e3) { - $16 = $50; - if (($8 | 0) != 48e3) { - break label$5; - } - $22 = ($22 | 0) / 2 | 0; - $16 = ($50 | 0) / 2 | 0; - break label$5; - } - $22 = (Math_imul($22, 3) | 0) / 2 | 0; - $16 = (Math_imul($50, 3) | 0) / 2 | 0; - } - $28 = HEAP32[$1 + 72 >> 2]; - $3 = HEAP32[$0 + 5772 >> 2]; - $15 = (($3 << 2) + $0 | 0) + 2892 | 0; - $3 = 720 - $3 | 0; - $45 = Math_fround(downmix_and_resample($10, $2, $15, $65, ($3 | 0) > ($22 | 0) ? $22 : $3, $16, $5, $6, $7, $8) + HEAPF32[$0 + 7456 >> 2]); - HEAPF32[$0 + 7456 >> 2] = $45; - $8 = HEAP32[$0 + 5772 >> 2] + $22 | 0; - label$7 : { - if (($8 | 0) <= 719) { - HEAP32[$0 + 5772 >> 2] = $8; - break label$7; - } - $8 = $48 + 1 | 0; - $57 = Math_fround(Math_fround(1) / Math_fround((($48 | 0) < 100 ? $8 : 100) | 0)); - $46 = Math_fround(Math_fround(1) / Math_fround((($48 | 0) < 25 ? $8 : 25) | 0)); - $29 = Math_fround(Math_fround(1) / Math_fround((($48 | 0) < 10 ? $8 : 10) | 0)); - $32 = HEAP32[$0 + 7444 >> 2]; - HEAP32[$0 + 7444 >> 2] = $32 + (($32 | 0) > 98 ? -99 : 1); - $27 = is_digital_silence($53, 720, 1, $9); - $8 = 0; - while (1) { - $3 = ($14 + 5760 | 0) + ($8 << 3) | 0; - $15 = $8 << 2; - $12 = HEAPF32[$15 + 48944 >> 2]; - $15 = $15 + $53 | 0; - HEAPF32[$3 >> 2] = $12 * HEAPF32[$15 >> 2]; - HEAPF32[$3 + 4 >> 2] = $12 * HEAPF32[$15 + 960 >> 2]; - $3 = 479 - $8 | 0; - $15 = ($14 + 5760 | 0) + ($3 << 3) | 0; - HEAPF32[$15 >> 2] = $12 * HEAPF32[($3 << 2) + $53 >> 2]; - HEAPF32[$15 + 4 >> 2] = $12 * HEAPF32[(719 - $8 << 2) + $53 >> 2]; - $8 = $8 + 1 | 0; - if (($8 | 0) != 240) { - continue; - } - break; - } - memcpy($53, $72, 960); - $8 = HEAP32[$0 + 5772 >> 2]; - $3 = $22 + $8 | 0; - $12 = downmix_and_resample($10, $2, $71, $65, $3 - 720 | 0, ($16 - $8 | 0) + 720 | 0, $5, $6, $7, HEAP32[$0 + 8 >> 2]); - HEAP32[$0 + 5772 >> 2] = $3 - 480; - HEAPF32[$0 + 7456 >> 2] = $12; - $36 = ($32 << 6) + $0 | 0; - $34 = $36 + 7604 | 0; - if ($27) { - $8 = HEAP32[$0 + 7444 >> 2]; - $8 = ($8 + (($8 | 0) < 2 ? 98 : -2) << 6) + $0 | 0; - $16 = $8 + 7660 | 0; - $15 = HEAP32[$16 >> 2]; - $3 = HEAP32[$16 + 4 >> 2]; - $16 = $15; - $15 = $34; - HEAP32[$15 + 56 >> 2] = $16; - HEAP32[$15 + 60 >> 2] = $3; - $16 = $8 + 7652 | 0; - $3 = HEAP32[$16 >> 2]; - $15 = HEAP32[$16 + 4 >> 2]; - $16 = $3; - $3 = $34; - HEAP32[$3 + 48 >> 2] = $16; - HEAP32[$3 + 52 >> 2] = $15; - $16 = $8 + 7644 | 0; - $15 = HEAP32[$16 >> 2]; - $3 = HEAP32[$16 + 4 >> 2]; - $16 = $15; - $15 = $34; - HEAP32[$15 + 40 >> 2] = $16; - HEAP32[$15 + 44 >> 2] = $3; - $16 = $8 + 7636 | 0; - $3 = HEAP32[$16 >> 2]; - $15 = HEAP32[$16 + 4 >> 2]; - $16 = $3; - $3 = $34; - HEAP32[$3 + 32 >> 2] = $16; - HEAP32[$3 + 36 >> 2] = $15; - $16 = $8 + 7628 | 0; - $15 = HEAP32[$16 >> 2]; - $3 = HEAP32[$16 + 4 >> 2]; - $16 = $15; - $15 = $34; - HEAP32[$15 + 24 >> 2] = $16; - HEAP32[$15 + 28 >> 2] = $3; - $16 = $8 + 7620 | 0; - $3 = HEAP32[$16 >> 2]; - $15 = HEAP32[$16 + 4 >> 2]; - $16 = $3; - $3 = $34; - HEAP32[$3 + 16 >> 2] = $16; - HEAP32[$3 + 20 >> 2] = $15; - $16 = $8 + 7612 | 0; - $15 = HEAP32[$16 >> 2]; - $3 = HEAP32[$16 + 4 >> 2]; - $16 = $15; - $15 = $34; - HEAP32[$15 + 8 >> 2] = $16; - HEAP32[$15 + 12 >> 2] = $3; - $16 = $8 + 7604 | 0; - $3 = HEAP32[$16 >> 2]; - $15 = HEAP32[$16 + 4 >> 2]; - $8 = $3; - $3 = $34; - HEAP32[$3 >> 2] = $8; - HEAP32[$3 + 4 >> 2] = $15; - break label$7; - } - opus_fft_c($28, $14 + 5760 | 0, $14 + 1920 | 0); - $8 = 1; - $25 = HEAPF32[$14 + 1920 >> 2]; - if ($25 != $25) { - HEAP32[$34 >> 2] = 0; - break label$7; - } - while (1) { - $3 = ((0 - $8 << 3) + $14 | 0) + 5760 | 0; - $19 = HEAPF32[$3 >> 2]; - $15 = ($14 + 1920 | 0) + ($8 << 3) | 0; - $18 = HEAPF32[$15 >> 2]; - $12 = Math_fround($19 - $18); - $17 = HEAPF32[$15 + 4 >> 2]; - $26 = HEAPF32[$3 + 4 >> 2]; - $13 = Math_fround($17 + $26); - $20 = Math_fround(0); - $3 = $8 << 2; - $15 = $3 + $0 | 0; - $28 = $15; - $27 = $15; - $23 = Math_fround($18 + $19); - $19 = Math_fround($23 * $23); - $18 = Math_fround($17 - $26); - $17 = Math_fround($18 * $18); - $24 = Math_fround(0); - label$13 : { - if (Math_fround($19 + $17) < Math_fround(1.000000045813705e-18)) { - break label$13; - } - $24 = Math_fround(($18 < Math_fround(0) ? Math_fround(-1.5707963705062866) : Math_fround(1.5707963705062866)) - Math_fround(Math_fround(Math_fround($18 * $23) * Math_fround(Math_fround($19 * Math_fround(.43157973885536194)) + $17)) / Math_fround(Math_fround(Math_fround($19 * Math_fround(.6784840226173401)) + $17) * Math_fround(Math_fround($19 * Math_fround(.0859554186463356)) + $17)))); - if (!($19 < $17 ^ 1)) { - break label$13; - } - $24 = $18 < Math_fround(0) ? Math_fround(-1.5707963705062866) : Math_fround(1.5707963705062866); - $18 = Math_fround($23 * $18); - $24 = Math_fround(Math_fround($24 + Math_fround(Math_fround($18 * Math_fround($19 + Math_fround($17 * Math_fround(.43157973885536194)))) / Math_fround(Math_fround($19 + Math_fround($17 * Math_fround(.6784840226173401))) * Math_fround($19 + Math_fround($17 * Math_fround(.0859554186463356)))))) - ($18 < Math_fround(0) ? Math_fround(-1.5707963705062866) : Math_fround(1.5707963705062866))); - } - $24 = Math_fround($24 * Math_fround(.15915493667125702)); - $22 = $15 + 12 | 0; - $23 = Math_fround($24 - HEAPF32[$22 >> 2]); - $16 = $15 + 972 | 0; - $19 = Math_fround($23 - HEAPF32[$16 >> 2]); - $18 = Math_fround($12 * $12); - $17 = Math_fround($13 * $13); - label$14 : { - if (Math_fround($18 + $17) < Math_fround(1.000000045813705e-18)) { - break label$14; - } - if (!($18 > $17 ^ 1)) { - $20 = Math_fround(($12 < Math_fround(0) ? Math_fround(-1.5707963705062866) : Math_fround(1.5707963705062866)) - Math_fround(Math_fround(Math_fround($12 * $13) * Math_fround($18 + Math_fround($17 * Math_fround(.43157973885536194)))) / Math_fround(Math_fround($18 + Math_fround($17 * Math_fround(.6784840226173401))) * Math_fround($18 + Math_fround($17 * Math_fround(.0859554186463356)))))); - break label$14; - } - $20 = $12 < Math_fround(0) ? Math_fround(-1.5707963705062866) : Math_fround(1.5707963705062866); - $12 = Math_fround($12 * $13); - $20 = Math_fround(Math_fround($20 + Math_fround(Math_fround($12 * Math_fround(Math_fround($18 * Math_fround(.43157973885536194)) + $17)) / Math_fround(Math_fround(Math_fround($18 * Math_fround(.6784840226173401)) + $17) * Math_fround(Math_fround($18 * Math_fround(.0859554186463356)) + $17)))) - ($12 < Math_fround(0) ? Math_fround(-1.5707963705062866) : Math_fround(1.5707963705062866))); - } - $18 = Math_fround($20 * Math_fround(.15915493667125702)); - $17 = Math_fround($18 - $24); - $12 = Math_fround($17 - $23); - $32 = lrintf($12); - $16 = $3 + $14 | 0; - $13 = Math_fround($19 - Math_fround(lrintf($19) | 0)); - $12 = Math_fround($12 - Math_fround($32 | 0)); - HEAPF32[$16 >> 2] = Math_fround(Math_abs($13)) + Math_fround(Math_abs($12)); - $15 = $15 + 1932 | 0; - $19 = HEAPF32[$15 >> 2]; - $12 = Math_fround($12 * $12); - $12 = Math_fround($12 * $12); - HEAPF32[($14 + 1e4 | 0) + $3 >> 2] = Math_fround(Math_fround(1) / Math_fround(Math_fround($12 * Math_fround(62341.81640625)) + Math_fround(1))) + Math_fround(-.014999999664723873); - $13 = Math_fround($13 * $13); - HEAPF32[($14 + 960 | 0) + $3 >> 2] = Math_fround(Math_fround(1) / Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($19 + Math_fround($13 * $13)) + Math_fround($12 + $12)) * Math_fround(.25)) * Math_fround(62341.81640625)) + Math_fround(1))) + Math_fround(-.014999999664723873); - HEAPF32[$28 + 12 >> 2] = $18; - HEAPF32[$27 + 972 >> 2] = $17; - HEAPF32[$15 >> 2] = $12; - $8 = $8 + 1 | 0; - if (($8 | 0) != 240) { - continue; - } - break; - } - $8 = 2; - $12 = HEAPF32[$14 + 10008 >> 2]; - while (1) { - $3 = $8 << 2; - $15 = $3 + ($14 + 960 | 0) | 0; - $19 = HEAPF32[$15 >> 2]; - $18 = HEAPF32[($3 + $14 | 0) + 9996 >> 2]; - $3 = $8 + 1 | 0; - $13 = HEAPF32[($14 + 1e4 | 0) + ($3 << 2) >> 2]; - $18 = $13 < $18 ? $18 : $13; - $12 = Math_fround(($12 < $18 ? $12 : $18) + Math_fround(-.10000000149011612)); - HEAPF32[$15 >> 2] = ($12 < $19 ? $19 : $12) * Math_fround(.8999999761581421); - $12 = $13; - $8 = $3; - if (($8 | 0) != 239) { - continue; - } - break; - } - $58 = $36 + 7620 | 0; - HEAP32[$58 >> 2] = 0; - $27 = HEAP32[$0 + 7436 >> 2]; - if (!$27) { - HEAP32[$0 + 7008 >> 2] = 1343554297; - HEAP32[$0 + 7012 >> 2] = 1343554297; - HEAP32[$0 + 7080 >> 2] = -803929351; - HEAP32[$0 + 7084 >> 2] = -803929351; - HEAP32[$0 + 7088 >> 2] = -803929351; - HEAP32[$0 + 7092 >> 2] = -803929351; - HEAP32[$0 + 7016 >> 2] = 1343554297; - HEAP32[$0 + 7020 >> 2] = 1343554297; - HEAP32[$0 + 7096 >> 2] = -803929351; - HEAP32[$0 + 7100 >> 2] = -803929351; - HEAP32[$0 + 7024 >> 2] = 1343554297; - HEAP32[$0 + 7028 >> 2] = 1343554297; - HEAP32[$0 + 7104 >> 2] = -803929351; - HEAP32[$0 + 7108 >> 2] = -803929351; - HEAP32[$0 + 7032 >> 2] = 1343554297; - HEAP32[$0 + 7036 >> 2] = 1343554297; - HEAP32[$0 + 7112 >> 2] = -803929351; - HEAP32[$0 + 7116 >> 2] = -803929351; - HEAP32[$0 + 7040 >> 2] = 1343554297; - HEAP32[$0 + 7044 >> 2] = 1343554297; - HEAP32[$0 + 7048 >> 2] = 1343554297; - HEAP32[$0 + 7052 >> 2] = 1343554297; - HEAP32[$0 + 7120 >> 2] = -803929351; - HEAP32[$0 + 7124 >> 2] = -803929351; - HEAP32[$0 + 7056 >> 2] = 1343554297; - HEAP32[$0 + 7060 >> 2] = 1343554297; - HEAP32[$0 + 7136 >> 2] = -803929351; - HEAP32[$0 + 7140 >> 2] = -803929351; - HEAP32[$0 + 7128 >> 2] = -803929351; - HEAP32[$0 + 7132 >> 2] = -803929351; - HEAP32[$0 + 7064 >> 2] = 1343554297; - HEAP32[$0 + 7068 >> 2] = 1343554297; - HEAP32[$0 + 7072 >> 2] = 1343554297; - HEAP32[$0 + 7144 >> 2] = -803929351; - HEAP32[$0 + 7148 >> 2] = -803929351; - HEAP32[$0 + 7076 >> 2] = 1343554297; - } - $12 = Math_fround($25 + $25); - $17 = Math_fround($12 * $12); - $12 = HEAPF32[$14 + 1924 >> 2]; - $12 = Math_fround($12 + $12); - $17 = Math_fround($17 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 1928 >> 2]; - $20 = Math_fround($12 * $12); - $12 = HEAPF32[$14 + 5752 >> 2]; - $20 = Math_fround($20 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 1932 >> 2]; - $20 = Math_fround($20 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 5756 >> 2]; - $17 = Math_fround($17 + Math_fround($20 + Math_fround($12 * $12))); - $12 = HEAPF32[$14 + 1936 >> 2]; - $20 = Math_fround($12 * $12); - $12 = HEAPF32[$14 + 5744 >> 2]; - $20 = Math_fround($20 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 1940 >> 2]; - $20 = Math_fround($20 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 5748 >> 2]; - $17 = Math_fround($17 + Math_fround($20 + Math_fround($12 * $12))); - $12 = HEAPF32[$14 + 1944 >> 2]; - $20 = Math_fround($12 * $12); - $12 = HEAPF32[$14 + 5736 >> 2]; - $20 = Math_fround($20 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 1948 >> 2]; - $20 = Math_fround($20 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 5740 >> 2]; - $23 = Math_fround(Math_fround(log(+Math_fround(Math_fround($17 + Math_fround($20 + Math_fround($12 * $12))) + Math_fround(1.000000013351432e-10)))) * Math_fround(.7213475108146667)); - HEAPF32[$14 + 9888 >> 2] = $23; - $24 = Math_fround(0); - $16 = 0; - $8 = 4; - $35 = Math_fround(0); - $30 = Math_fround(0); - $31 = Math_fround(0); - $49 = Math_fround(0); - $37 = Math_fround(0); - $38 = Math_fround(0); - while (1) { - $19 = Math_fround(0); - $18 = Math_fround(0); - $13 = Math_fround(0); - $32 = $16 + 1 | 0; - $28 = $32 << 2; - $22 = HEAP32[$28 + 49904 >> 2]; - if (($22 | 0) > ($8 | 0)) { - while (1) { - $3 = ($14 + 1920 | 0) + ($8 << 3) | 0; - $12 = HEAPF32[$3 >> 2]; - $17 = Math_fround($12 * $12); - $15 = ((0 - $8 << 3) + $14 | 0) + 5760 | 0; - $12 = HEAPF32[$15 >> 2]; - $17 = Math_fround($17 + Math_fround($12 * $12)); - $12 = HEAPF32[$3 + 4 >> 2]; - $17 = Math_fround($17 + Math_fround($12 * $12)); - $12 = HEAPF32[$15 + 4 >> 2]; - $12 = Math_fround($17 + Math_fround($12 * $12)); - $13 = Math_fround($13 + $12); - $3 = $8 << 2; - $18 = Math_fround($18 + Math_fround($12 * Math_fround(Math_max(HEAPF32[$3 + ($14 + 960 | 0) >> 2], Math_fround(0))))); - $19 = Math_fround($19 + Math_fround(Math_fround($12 + $12) * Math_fround(Math_fround(.5) - HEAPF32[$3 + $14 >> 2]))); - $8 = $8 + 1 | 0; - if (($22 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - if (!($13 == $13 ? !($13 < Math_fround(1e9) ^ 1) : 0)) { - HEAP32[$34 >> 2] = 0; - break label$7; - } - $3 = $16 << 2; - $8 = $3 + (Math_imul(HEAP32[$0 + 7432 >> 2], 72) + $0 | 0) | 0; - HEAPF32[$8 + 5856 >> 2] = $13; - $15 = ($14 + 9888 | 0) + $28 | 0; - $26 = Math_fround($13 + Math_fround(1.000000013351432e-10)); - $12 = Math_fround(log(+$26)); - HEAPF32[$15 >> 2] = $12 * Math_fround(.7213475108146667); - HEAPF32[($14 + 11200 | 0) + $3 >> 2] = $12; - HEAPF32[$8 + 6432 >> 2] = $12; - label$22 : { - if ($27) { - $8 = $0 + $3 | 0; - $17 = HEAPF32[$8 + 7008 >> 2]; - $20 = HEAPF32[$8 + 7080 >> 2]; - break label$22; - } - $8 = $0 + $3 | 0; - HEAPF32[$8 + 7080 >> 2] = $12; - HEAPF32[$8 + 7008 >> 2] = $12; - $17 = $12; - $20 = $12; - } - $8 = $0 + $3 | 0; - $15 = $8 + 7008 | 0; - $28 = $8 + 7080 | 0; - label$24 : { - if (+$20 > +$17 + 7.5 ^ 1) { - break label$24; - } - if (!(Math_fround($20 - $12) > Math_fround($12 - $17) ^ 1)) { - $20 = Math_fround($20 + Math_fround(-.009999999776482582)); - HEAPF32[$28 >> 2] = $20; - break label$24; - } - $17 = Math_fround($17 + Math_fround(.009999999776482582)); - HEAPF32[$15 >> 2] = $17; - } - $13 = Math_fround($13 + Math_fround(1.0000000036274937e-15)); - label$26 : { - if (!($12 > $20 ^ 1)) { - HEAPF32[$28 >> 2] = $12; - $20 = Math_fround($12 + Math_fround(-15)); - $17 = $17 < $20 ? $20 : $17; - HEAPF32[$15 >> 2] = $17; - $20 = $12; - break label$26; - } - if ($12 < $17 ^ 1) { - break label$26; - } - HEAPF32[$15 >> 2] = $12; - $17 = Math_fround($12 + Math_fround(15)); - $20 = $17 < $20 ? $17 : $20; - HEAPF32[$28 >> 2] = $20; - $17 = $12; - } - $26 = Math_fround(Math_sqrt($26)); - $19 = Math_fround($19 / $13); - $13 = Math_fround($18 / $13); - $15 = $8 + 5776 | 0; - $18 = HEAPF32[$8 + 5856 >> 2]; - $25 = HEAPF32[$8 + 5928 >> 2]; - $33 = HEAPF32[$8 + 6e3 >> 2]; - $39 = HEAPF32[$8 + 6072 >> 2]; - $40 = HEAPF32[$8 + 6144 >> 2]; - $41 = HEAPF32[$8 + 6216 >> 2]; - $42 = HEAPF32[$8 + 6288 >> 2]; - $43 = HEAPF32[$8 + 6360 >> 2]; - $18 = Math_fround(Math_min(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_sqrt($18)) + Math_fround(0)) + Math_fround(Math_sqrt($25))) + Math_fround(Math_sqrt($33))) + Math_fround(Math_sqrt($39))) + Math_fround(Math_sqrt($40))) + Math_fround(Math_sqrt($41))) + Math_fround(Math_sqrt($42))) + Math_fround(Math_sqrt($43))) / Math_fround(Math_sqrt(+Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($18 + Math_fround(0)) + $25) + $33) + $39) + $40) + $41) + $42) + $43) * Math_fround(8)) + 1e-15))), Math_fround(.9900000095367432))); - $18 = Math_fround($18 * $18); - $18 = Math_fround($18 * $18); - $25 = Math_fround(HEAPF32[$15 >> 2] * $18); - $13 = $13 > $25 ? $13 : $25; - HEAPF32[($14 + 11280 | 0) + $3 >> 2] = $13; - $24 = Math_fround($24 + $13); - $12 = Math_fround(Math_fround($12 - $17) / Math_fround(Math_fround($20 - $17) + Math_fround(9999999747378752e-21))); - $24 = $16 >>> 0 >= 9 ? Math_fround($24 - HEAPF32[($3 + $14 | 0) + 11244 >> 2]) : $24; - $38 = Math_fround($38 + $26); - $30 = Math_fround($30 + $19); - $49 = Math_fround($49 + $18); - $37 = Math_fround($37 + $12); - HEAPF32[$15 >> 2] = $13; - $12 = Math_fround(Math_fround(Math_fround(Math_fround($16 - 18 | 0) * Math_fround(.029999999329447746)) + Math_fround(1)) * $24); - $35 = $12 < $35 ? $35 : $12; - $31 = Math_fround($31 + Math_fround($13 * Math_fround($16 - 8 | 0))); - $8 = $22; - $16 = $32; - if (($16 | 0) != 18) { - continue; - } - break; - } - HEAPF32[$14 + 9808 >> 2] = $23; - $13 = Math_fround($23 + Math_fround(-2.5)); - HEAPF32[$14 + 9728 >> 2] = $13; - $3 = 1; - $15 = 4; - $19 = $23; - while (1) { - $8 = $3 << 2; - $22 = HEAP32[$8 + 49904 >> 2]; - $12 = Math_fround($22 - $15 | 0); - $18 = Math_fround(Math_fround($12 + $12) * Math_fround(.25)); - $19 = Math_fround($19 + $18); - $12 = HEAPF32[($14 + 9888 | 0) + $8 >> 2]; - $19 = $12 > $19 ? $19 : $12; - HEAPF32[($14 + 9808 | 0) + $8 >> 2] = $19; - $13 = Math_fround($13 - $18); - $12 = Math_fround($12 + Math_fround(-2.5)); - $13 = $12 < $13 ? $13 : $12; - HEAPF32[($14 + 9728 | 0) + $8 >> 2] = $13; - $15 = $22; - $3 = $3 + 1 | 0; - if (($3 | 0) != 19) { - continue; - } - break; - } - $3 = 16; - $15 = 192; - $12 = HEAPF32[$14 + 9796 >> 2]; - $13 = HEAPF32[$14 + 9876 >> 2]; - while (1) { - $8 = $3; - $3 = $8 << 2; - $22 = $3 + ($14 + 9808 | 0) | 0; - $16 = HEAP32[$3 + 49904 >> 2]; - $19 = Math_fround($15 - $16 | 0); - $19 = Math_fround(Math_fround($19 + $19) * Math_fround(.25)); - $13 = Math_fround($13 + $19); - $18 = HEAPF32[$22 >> 2]; - $13 = $13 < $18 ? $13 : $18; - HEAPF32[$22 >> 2] = $13; - $12 = Math_fround($12 - $19); - $3 = ($14 + 9728 | 0) + $3 | 0; - $19 = HEAPF32[$3 >> 2]; - $12 = $12 > $19 ? $12 : $19; - HEAPF32[$3 >> 2] = $12; - $3 = $8 - 1 | 0; - $15 = $16; - if ($8) { - continue; - } - break; - } - $8 = 0; - while (1) { - $44 = Math_fround(0); - $15 = ($8 + $36 | 0) + 7648 | 0; - $3 = $8 << 2; - $66 = Math_floor(+Math_fround(Math_fround(Math_fround(Math_max(Math_fround(HEAPF32[$3 + ($14 + 9728 | 0) >> 2] - $23), Math_fround(0))) + Math_fround(Math_max(Math_fround($23 - Math_fround(HEAPF32[($14 + 9808 | 0) + $3 >> 2] + Math_fround(2.5))), Math_fround(0)))) * Math_fround(64)) + .5); - label$32 : { - if (Math_abs($66) < 2147483648) { - $3 = ~~$66; - break label$32; - } - $3 = -2147483648; - } - HEAP8[$15 | 0] = ($3 | 0) < 255 ? $3 : 255; - $15 = 0; - $8 = $8 + 1 | 0; - if (($8 | 0) != 19) { - $23 = HEAPF32[($14 + 9888 | 0) + ($8 << 2) >> 2]; - continue; - } - break; - } - while (1) { - $8 = Math_imul($15, 72) + $0 | 0; - $19 = HEAPF32[$8 + 6500 >> 2]; - $18 = HEAPF32[$8 + 6496 >> 2]; - $17 = HEAPF32[$8 + 6448 >> 2]; - $20 = HEAPF32[$8 + 6444 >> 2]; - $24 = HEAPF32[$8 + 6440 >> 2]; - $23 = HEAPF32[$8 + 6436 >> 2]; - $26 = HEAPF32[$8 + 6432 >> 2]; - $25 = HEAPF32[$8 + 6492 >> 2]; - $33 = HEAPF32[$8 + 6488 >> 2]; - $39 = HEAPF32[$8 + 6484 >> 2]; - $40 = HEAPF32[$8 + 6480 >> 2]; - $41 = HEAPF32[$8 + 6476 >> 2]; - $42 = HEAPF32[$8 + 6472 >> 2]; - $43 = HEAPF32[$8 + 6468 >> 2]; - $54 = HEAPF32[$8 + 6464 >> 2]; - $47 = HEAPF32[$8 + 6460 >> 2]; - $59 = HEAPF32[$8 + 6456 >> 2]; - $52 = HEAPF32[$8 + 6452 >> 2]; - $12 = Math_fround(999999986991104); - $3 = 0; - while (1) { - $8 = Math_imul($3, 72) + $0 | 0; - $13 = Math_fround($26 - HEAPF32[$8 + 6432 >> 2]); - $21 = Math_fround(Math_fround($13 * $13) + Math_fround(0)); - $13 = Math_fround($23 - HEAPF32[$8 + 6436 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($24 - HEAPF32[$8 + 6440 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($20 - HEAPF32[$8 + 6444 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($17 - HEAPF32[$8 + 6448 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($52 - HEAPF32[$8 + 6452 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($59 - HEAPF32[$8 + 6456 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($47 - HEAPF32[$8 + 6460 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($54 - HEAPF32[$8 + 6464 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($43 - HEAPF32[$8 + 6468 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($42 - HEAPF32[$8 + 6472 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($41 - HEAPF32[$8 + 6476 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($40 - HEAPF32[$8 + 6480 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($39 - HEAPF32[$8 + 6484 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($33 - HEAPF32[$8 + 6488 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($25 - HEAPF32[$8 + 6492 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($18 - HEAPF32[$8 + 6496 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($19 - HEAPF32[$8 + 6500 >> 2]); - $13 = Math_fround($21 + Math_fround($13 * $13)); - $12 = ($3 | 0) == ($15 | 0) ? $12 : $12 < $13 ? $12 : $13; - $3 = $3 + 1 | 0; - if (($3 | 0) != 8) { - continue; - } - break; - } - $44 = Math_fround($44 + $12); - $15 = $15 + 1 | 0; - if (($15 | 0) != 8) { - continue; - } - break; - } - $17 = Math_fround(0); - $26 = ($48 | 0) < 2 ? Math_fround(0) : Math_fround(Math_fround(1) - $57); - $25 = Math_fround($44 * Math_fround(.125)); - $48 = HEAP32[$0 + 5852 >> 2]; - $16 = 0; - $28 = 4; - $27 = 0; - $20 = Math_fround(0); - $18 = Math_fround(0); - $19 = Math_fround(0); - while (1) { - $12 = Math_fround(0); - $8 = $28; - $32 = $16 + 1 | 0; - $22 = HEAP32[($32 << 2) + 49904 >> 2]; - if (($8 | 0) < ($22 | 0)) { - while (1) { - $3 = ($14 + 1920 | 0) + ($8 << 3) | 0; - $13 = HEAPF32[$3 >> 2]; - $23 = Math_fround($13 * $13); - $15 = ((0 - $8 << 3) + $14 | 0) + 5760 | 0; - $13 = HEAPF32[$15 >> 2]; - $23 = Math_fround($23 + Math_fround($13 * $13)); - $13 = HEAPF32[$3 + 4 >> 2]; - $23 = Math_fround($23 + Math_fround($13 * $13)); - $13 = HEAPF32[$15 + 4 >> 2]; - $12 = Math_fround($12 + Math_fround($23 + Math_fround($13 * $13))); - $8 = $8 + 1 | 0; - if (($22 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - $3 = $16 << 2; - $8 = ($3 + $0 | 0) + 7152 | 0; - $13 = Math_fround($26 * HEAPF32[$8 >> 2]); - $13 = $12 < $13 ? $13 : $12; - HEAPF32[$8 >> 2] = $13; - $8 = $16 >>> 0 < 11; - $24 = Math_fround($18 + $12); - $23 = Math_fround($19 + $12); - $20 = $12 < $20 ? $20 : $12; - if (!($20 < Math_fround($12 * Math_fround(1e9)) ^ 1)) { - $33 = $12 > $13 ? $12 : $13; - $13 = Math_fround($22 - $28 | 0); - $27 = Math_fround($56 * $13) < $12 ? $32 : $33 > Math_fround($73 * $13) ? $32 : $27; - } - $18 = $8 ? $24 : $18; - $19 = $8 ? $19 : $23; - HEAP32[($14 + 10960 | 0) + $3 >> 2] = Math_fround($17 * (($16 | 0) < ($48 | 0) ? Math_fround(.009999999776482582) : Math_fround(.05000000074505806))) > $12; - $13 = Math_fround($17 * Math_fround(.05000000074505806)); - $17 = $12 < $13 ? $13 : $12; - $28 = $22; - $16 = $32; - if (($16 | 0) != 18) { - continue; - } - break; - } - if (HEAP32[$0 + 8 >> 2] == 48e3) { - $13 = Math_fround($26 * HEAPF32[$0 + 7224 >> 2]); - $12 = Math_fround($45 * Math_fround(.00027777778450399637)); - $13 = $12 < $13 ? $13 : $12; - HEAPF32[$0 + 7224 >> 2] = $13; - $20 = $12 > $13 ? $12 : $13; - $8 = ($48 | 0) == 20; - $13 = $8 ? Math_fround(10) : Math_fround(30); - $27 = (Math_fround(Math_fround($56 * $13) * Math_fround(160)) < $12 ^ 1 ? !($20 > Math_fround(Math_fround($56 * Math_fround($13 * Math_fround(3))) * Math_fround(160))) : 0) ? $27 : 20; - HEAP32[$14 + 11032 >> 2] = Math_fround(($8 ? Math_fround(.009999999776482582) : Math_fround(.05000000074505806)) * $17) > $12; - $19 = Math_fround($12 + $19); - } - $12 = Math_fround($25 / Math_fround(18)); - HEAPF32[$36 + 7644 >> 2] = $19 > $18 ? Math_fround($18 / $19) : Math_fround(1); - label$44 : { - if (($27 | 0) == 20) { - $27 = HEAP32[$14 + 11032 >> 2] ? 18 : 20; - break label$44; - } - $8 = $27 - 1 | 0; - if ($8 >>> 0 > 17) { - break label$44; - } - $27 = HEAP32[($14 + 10960 | 0) + ($8 << 2) >> 2] ? $8 : $27; - } - $59 = Math_fround(Math_sqrt($12)); - $13 = Math_fround(HEAPF32[$0 + 7424 >> 2] + Math_fround(-.003000000026077032)); - $12 = Math_fround(Math_fround(log10(+$38)) * Math_fround(20)); - $13 = $12 < $13 ? $13 : $12; - HEAPF32[$0 + 7424 >> 2] = $13; - $19 = Math_fround(Math_fround(Math_fround(1) - $46) * HEAPF32[$0 + 7428 >> 2]); - HEAPF32[$0 + 7428 >> 2] = Math_fround($13 + Math_fround(-30)) > $12 ? Math_fround($46 + $19) : $19; - $16 = HEAP32[$0 + 7436 >> 2]; - $3 = 0; - $12 = HEAPF32[$14 + 11204 >> 2]; - $13 = HEAPF32[$14 + 11200 >> 2]; - $19 = HEAPF32[$14 + 11260 >> 2]; - $18 = HEAPF32[$14 + 11256 >> 2]; - $17 = HEAPF32[$14 + 11252 >> 2]; - $20 = HEAPF32[$14 + 11248 >> 2]; - $24 = HEAPF32[$14 + 11244 >> 2]; - $23 = HEAPF32[$14 + 11240 >> 2]; - $26 = HEAPF32[$14 + 11236 >> 2]; - $25 = HEAPF32[$14 + 11232 >> 2]; - $33 = HEAPF32[$14 + 11228 >> 2]; - $39 = HEAPF32[$14 + 11224 >> 2]; - $40 = HEAPF32[$14 + 11220 >> 2]; - $41 = HEAPF32[$14 + 11216 >> 2]; - $42 = HEAPF32[$14 + 11212 >> 2]; - $43 = HEAPF32[$14 + 11208 >> 2]; - while (1) { - $8 = $3 << 6; - HEAPF32[($14 + 11168 | 0) + ($3 << 2) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($13 * HEAPF32[$8 + 49984 >> 2]) + Math_fround(0)) + Math_fround($12 * HEAPF32[($8 | 4) + 49984 >> 2])) + Math_fround($43 * HEAPF32[($8 | 8) + 49984 >> 2])) + Math_fround($42 * HEAPF32[($8 | 12) + 49984 >> 2])) + Math_fround($41 * HEAPF32[($8 | 16) + 49984 >> 2])) + Math_fround($40 * HEAPF32[($8 | 20) + 49984 >> 2])) + Math_fround($39 * HEAPF32[($8 | 24) + 49984 >> 2])) + Math_fround($33 * HEAPF32[($8 | 28) + 49984 >> 2])) + Math_fround($25 * HEAPF32[($8 | 32) + 49984 >> 2])) + Math_fround($26 * HEAPF32[($8 | 36) + 49984 >> 2])) + Math_fround($23 * HEAPF32[($8 | 40) + 49984 >> 2])) + Math_fround($24 * HEAPF32[($8 | 44) + 49984 >> 2])) + Math_fround($20 * HEAPF32[($8 | 48) + 49984 >> 2])) + Math_fround($17 * HEAPF32[($8 | 52) + 49984 >> 2])) + Math_fround($18 * HEAPF32[($8 | 56) + 49984 >> 2])) + Math_fround($19 * HEAPF32[($8 | 60) + 49984 >> 2]); - $3 = $3 + 1 | 0; - if (($3 | 0) != 8) { - continue; - } - break; - } - $22 = 0; - while (1) { - $15 = $22 << 4; - $12 = Math_fround(0); - $8 = 0; - while (1) { - $3 = ($8 << 2) + $0 | 0; - $12 = Math_fround($12 + Math_fround(Math_fround(HEAPF32[($8 + $15 << 2) + 49984 >> 2] * Math_fround(.5)) * Math_fround(HEAPF32[$3 + 7080 >> 2] + HEAPF32[$3 + 7008 >> 2]))); - $8 = $8 + 1 | 0; - if (($8 | 0) != 16) { - continue; - } - break; - } - HEAPF32[($14 + 9968 | 0) + ($22 << 2) >> 2] = $12; - $22 = $22 + 1 | 0; - if (($22 | 0) != 8) { - continue; - } - break; - } - $20 = Math_fround($30 / Math_fround(18)); - HEAPF32[$58 >> 2] = $20 + Math_fround(Math_fround(Math_fround(1) - $20) * (($16 | 0) < 10 ? Math_fround(.5) : Math_fround($37 / Math_fround(18)))); - $12 = Math_fround($35 / Math_fround(9)); - $13 = Math_fround(HEAPF32[$0 + 5848 >> 2] * Math_fround(.800000011920929)); - $12 = $12 > $13 ? $12 : $13; - HEAPF32[$0 + 5848 >> 2] = $12; - $3 = $36 + 7612 | 0; - HEAPF32[$3 >> 2] = $31 * Math_fround(.015625); - $15 = ($16 | 0) < 9999 ? $16 + 1 | 0 : 1e4; - HEAP32[$0 + 7436 >> 2] = $15; - HEAP32[$0 + 7432 >> 2] = (HEAP32[$0 + 7432 >> 2] + 1 | 0) % 8; - $22 = $36 + 7608 | 0; - HEAPF32[$22 >> 2] = $12; - $24 = HEAPF32[$0 + 7260 >> 2]; - $23 = HEAPF32[$0 + 7228 >> 2]; - $26 = HEAPF32[$0 + 7292 >> 2]; - $47 = Math_fround($23 + $26); - $13 = HEAPF32[$14 + 11168 >> 2]; - $52 = HEAPF32[$0 + 7324 >> 2]; - $35 = Math_fround($13 + $52); - $44 = HEAPF32[$0 + 7356 >> 2]; - $21 = Math_fround(Math_fround(Math_fround($24 * Math_fround(.6969299912452698)) + Math_fround(Math_fround($47 * Math_fround(.49195000529289246)) - Math_fround($35 * Math_fround(.12298999726772308)))) - Math_fround($44 * Math_fround(1.4349000453948975))); - HEAPF32[$14 + 11056 >> 2] = $21; - $25 = HEAPF32[$0 + 7264 >> 2]; - $33 = HEAPF32[$0 + 7232 >> 2]; - $39 = HEAPF32[$0 + 7296 >> 2]; - $30 = Math_fround($33 + $39); - $19 = HEAPF32[$14 + 11172 >> 2]; - $31 = HEAPF32[$0 + 7328 >> 2]; - $37 = Math_fround($19 + $31); - $38 = HEAPF32[$0 + 7360 >> 2]; - $60 = Math_fround(Math_fround(Math_fround($25 * Math_fround(.6969299912452698)) + Math_fround(Math_fround($30 * Math_fround(.49195000529289246)) - Math_fround($37 * Math_fround(.12298999726772308)))) - Math_fround($38 * Math_fround(1.4349000453948975))); - HEAPF32[$14 + 11060 >> 2] = $60; - $40 = HEAPF32[$0 + 7268 >> 2]; - $41 = HEAPF32[$0 + 7236 >> 2]; - $42 = HEAPF32[$0 + 7300 >> 2]; - $45 = Math_fround($41 + $42); - $18 = HEAPF32[$14 + 11176 >> 2]; - $46 = HEAPF32[$0 + 7332 >> 2]; - $57 = Math_fround($18 + $46); - $67 = HEAPF32[$0 + 7364 >> 2]; - $61 = Math_fround(Math_fround(Math_fround($40 * Math_fround(.6969299912452698)) + Math_fround(Math_fround($45 * Math_fround(.49195000529289246)) - Math_fround($57 * Math_fround(.12298999726772308)))) - Math_fround($67 * Math_fround(1.4349000453948975))); - HEAPF32[$14 + 11064 >> 2] = $61; - $68 = HEAPF32[$0 + 7272 >> 2]; - $43 = HEAPF32[$0 + 7240 >> 2]; - $54 = HEAPF32[$0 + 7304 >> 2]; - $17 = HEAPF32[$14 + 11180 >> 2]; - $69 = HEAPF32[$0 + 7336 >> 2]; - $70 = HEAPF32[$0 + 7368 >> 2]; - $62 = Math_fround(Math_fround(Math_fround($68 * Math_fround(.6969299912452698)) + Math_fround(Math_fround(Math_fround($43 + $54) * Math_fround(.49195000529289246)) - Math_fround(Math_fround($17 + $69) * Math_fround(.12298999726772308)))) - Math_fround($70 * Math_fround(1.4349000453948975))); - HEAPF32[$14 + 11068 >> 2] = $62; - $12 = Math_fround(Math_fround(1) - $29); - HEAPF32[$0 + 7368 >> 2] = Math_fround($29 * $17) + Math_fround($70 * $12); - HEAPF32[$0 + 7364 >> 2] = Math_fround($29 * $18) + Math_fround($12 * $67); - HEAPF32[$0 + 7360 >> 2] = Math_fround($29 * $19) + Math_fround($12 * $38); - HEAPF32[$0 + 7356 >> 2] = Math_fround($29 * $13) + Math_fround($12 * $44); - HEAPF32[$14 + 11096 >> 2] = Math_fround(Math_fround($57 * Math_fround(.5345199704170227)) - Math_fround($45 * Math_fround(.26725998520851135))) - Math_fround($40 * Math_fround(.5345199704170227)); - HEAPF32[$14 + 11092 >> 2] = Math_fround(Math_fround($37 * Math_fround(.5345199704170227)) - Math_fround($30 * Math_fround(.26725998520851135))) - Math_fround($25 * Math_fround(.5345199704170227)); - $35 = Math_fround(Math_fround(Math_fround($35 * Math_fround(.5345199704170227)) - Math_fround($47 * Math_fround(.26725998520851135))) - Math_fround($24 * Math_fround(.5345199704170227))); - HEAPF32[$14 + 11088 >> 2] = $35; - $44 = Math_fround(Math_fround(Math_fround($17 - $69) * Math_fround(.6324599981307983)) + Math_fround(Math_fround($43 - $54) * Math_fround(.31622999906539917))); - HEAPF32[$14 + 11084 >> 2] = $44; - $30 = Math_fround(Math_fround(Math_fround($18 - $46) * Math_fround(.6324599981307983)) + Math_fround(Math_fround($41 - $42) * Math_fround(.31622999906539917))); - HEAPF32[$14 + 11080 >> 2] = $30; - $31 = Math_fround(Math_fround(Math_fround($19 - $31) * Math_fround(.6324599981307983)) + Math_fround(Math_fround($33 - $39) * Math_fround(.31622999906539917))); - HEAPF32[$14 + 11076 >> 2] = $31; - $37 = Math_fround(Math_fround(Math_fround($13 - $52) * Math_fround(.6324599981307983)) + Math_fround(Math_fround($23 - $26) * Math_fround(.31622999906539917))); - HEAPF32[$14 + 11072 >> 2] = $37; - $8 = ($16 | 0) < 3 ? 20 : $27; - $52 = Math_fround($49 / Math_fround(18)); - $47 = HEAPF32[$0 + 7388 >> 2]; - label$49 : { - if (($15 | 0) <= 5) { - $12 = HEAPF32[$0 + 7420 >> 2]; - $30 = HEAPF32[$0 + 7412 >> 2]; - $31 = HEAPF32[$0 + 7408 >> 2]; - $49 = HEAPF32[$0 + 7404 >> 2]; - $38 = HEAPF32[$0 + 7400 >> 2]; - $45 = HEAPF32[$0 + 7396 >> 2]; - $46 = HEAPF32[$0 + 7392 >> 2]; - break label$49; - } - $47 = Math_fround(Math_fround($21 * Math_fround($29 * $21)) + Math_fround($12 * $47)); - HEAPF32[$0 + 7388 >> 2] = $47; - $46 = Math_fround(Math_fround($60 * Math_fround($29 * $60)) + Math_fround($12 * HEAPF32[$0 + 7392 >> 2])); - HEAPF32[$0 + 7392 >> 2] = $46; - $45 = Math_fround(Math_fround($61 * Math_fround($29 * $61)) + Math_fround($12 * HEAPF32[$0 + 7396 >> 2])); - HEAPF32[$0 + 7396 >> 2] = $45; - $38 = Math_fround(Math_fround($62 * Math_fround($29 * $62)) + Math_fround($12 * HEAPF32[$0 + 7400 >> 2])); - HEAPF32[$0 + 7400 >> 2] = $38; - $49 = Math_fround(Math_fround($37 * Math_fround($29 * $37)) + Math_fround($12 * HEAPF32[$0 + 7404 >> 2])); - HEAPF32[$0 + 7404 >> 2] = $49; - $31 = Math_fround(Math_fround($31 * Math_fround($29 * $31)) + Math_fround($12 * HEAPF32[$0 + 7408 >> 2])); - HEAPF32[$0 + 7408 >> 2] = $31; - $30 = Math_fround(Math_fround($30 * Math_fround($29 * $30)) + Math_fround($12 * HEAPF32[$0 + 7412 >> 2])); - HEAPF32[$0 + 7412 >> 2] = $30; - HEAPF32[$0 + 7416 >> 2] = Math_fround($44 * Math_fround($29 * $44)) + Math_fround($12 * HEAPF32[$0 + 7416 >> 2]); - $12 = Math_fround(Math_fround($35 * Math_fround($29 * $35)) + Math_fround($12 * HEAPF32[$0 + 7420 >> 2])); - HEAPF32[$0 + 7420 >> 2] = $12; - } - HEAPF32[$14 + 11056 >> 2] = $13 - HEAPF32[$14 + 9968 >> 2]; - HEAPF32[$14 + 11060 >> 2] = $19 - HEAPF32[$14 + 9972 >> 2]; - HEAPF32[$14 + 11064 >> 2] = $18 - HEAPF32[$14 + 9976 >> 2]; - HEAPF32[$14 + 11068 >> 2] = $17 - HEAPF32[$14 + 9980 >> 2]; - HEAPF32[$0 + 7260 >> 2] = $23; - HEAPF32[$0 + 7328 >> 2] = $39; - HEAPF32[$0 + 7228 >> 2] = $13; - HEAPF32[$0 + 7296 >> 2] = $25; - HEAPF32[$0 + 7264 >> 2] = $33; - HEAPF32[$0 + 7332 >> 2] = $42; - HEAPF32[$0 + 7232 >> 2] = $19; - HEAPF32[$0 + 7300 >> 2] = $40; - HEAPF32[$0 + 7268 >> 2] = $41; - HEAPF32[$0 + 7336 >> 2] = $54; - HEAPF32[$0 + 7236 >> 2] = $18; - HEAPF32[$0 + 7304 >> 2] = $68; - HEAPF32[$0 + 7272 >> 2] = $43; - HEAPF32[$0 + 7240 >> 2] = $17; - HEAPF32[$0 + 7324 >> 2] = $26; - HEAPF32[$0 + 7292 >> 2] = $24; - $15 = HEAP32[$0 + 7308 >> 2]; - HEAP32[$0 + 7308 >> 2] = HEAP32[$0 + 7276 >> 2]; - HEAP32[$0 + 7340 >> 2] = $15; - HEAP32[$0 + 7276 >> 2] = HEAP32[$0 + 7244 >> 2]; - HEAP32[$0 + 7244 >> 2] = HEAP32[$14 + 11184 >> 2]; - HEAP32[$0 + 7344 >> 2] = HEAP32[$0 + 7312 >> 2]; - HEAP32[$0 + 7312 >> 2] = HEAP32[$0 + 7280 >> 2]; - HEAP32[$0 + 7280 >> 2] = HEAP32[$0 + 7248 >> 2]; - HEAP32[$0 + 7248 >> 2] = HEAP32[$14 + 11188 >> 2]; - HEAP32[$0 + 7348 >> 2] = HEAP32[$0 + 7316 >> 2]; - HEAP32[$0 + 7316 >> 2] = HEAP32[$0 + 7284 >> 2]; - HEAP32[$0 + 7284 >> 2] = HEAP32[$0 + 7252 >> 2]; - HEAP32[$0 + 7252 >> 2] = HEAP32[$14 + 11192 >> 2]; - HEAP32[$0 + 7352 >> 2] = HEAP32[$0 + 7320 >> 2]; - HEAP32[$0 + 7320 >> 2] = HEAP32[$0 + 7288 >> 2]; - HEAP32[$0 + 7288 >> 2] = HEAP32[$0 + 7256 >> 2]; - HEAP32[$0 + 7256 >> 2] = HEAP32[$14 + 11196 >> 2]; - HEAPF32[$14 + 11132 >> 2] = Math_fround(Math_sqrt($12)) + Math_fround(-1.9187949895858765); - HEAPF32[$14 + 11124 >> 2] = Math_fround(Math_sqrt($30)) + Math_fround(-1.260756015777588); - HEAPF32[$14 + 11120 >> 2] = Math_fround(Math_sqrt($31)) + Math_fround(-2.1633129119873047); - HEAPF32[$14 + 11116 >> 2] = Math_fround(Math_sqrt($49)) + Math_fround(-3.7732150554656982); - HEAPF32[$14 + 11112 >> 2] = Math_fround(Math_sqrt($38)) + Math_fround(-1.599784016609192); - HEAPF32[$14 + 11108 >> 2] = Math_fround(Math_sqrt($45)) + Math_fround(-1.7706340551376343); - HEAPF32[$14 + 11104 >> 2] = Math_fround(Math_sqrt($46)) + Math_fround(-3.475287914276123); - HEAPF32[$14 + 11100 >> 2] = Math_fround(Math_sqrt($47)) + Math_fround(-5.6849470138549805); - HEAPF32[$14 + 11128 >> 2] = $59 + Math_fround(-.7799999713897705); - HEAPF32[$14 + 11136 >> 2] = HEAPF32[$22 >> 2] + Math_fround(-.15472300350666046); - $12 = HEAPF32[$58 >> 2]; - HEAPF32[$14 + 11144 >> 2] = $52 + Math_fround(-.7437170147895813); - HEAPF32[$14 + 11140 >> 2] = $12 + Math_fround(-.7246429920196533); - HEAPF32[$14 + 11148 >> 2] = HEAPF32[$3 >> 2] + Math_fround(.06921599805355072); - HEAPF32[$14 + 11152 >> 2] = HEAPF32[$0 + 7428 >> 2] + Math_fround(-.06792999804019928); - compute_dense(43872, $14 + 9600 | 0, $14 + 11056 | 0); - compute_gru(48016, $64, $14 + 9600 | 0); - compute_dense(48096, $14 + 11048 | 0, $64); - HEAP32[$36 + 7640 >> 2] = HEAP32[$14 + 11052 >> 2]; - $3 = HEAP32[$14 + 11048 >> 2]; - HEAP32[$36 + 7636 >> 2] = $8; - HEAP32[$36 + 7624 >> 2] = $3; - HEAP32[$0 + 5852 >> 2] = $8; - HEAPF32[$36 + 7616 >> 2] = $20; - HEAP32[$34 >> 2] = 1; - } - $50 = $50 + $55 | 0; - $51 = $51 - $55 | 0; - if (($51 | 0) > 0) { - continue; - } - break; - } - } - HEAP32[$0 + 7440 >> 2] = $63 - $4; - } - tonality_get_info($0, $11, $4); - __stack_pointer = $14 + 11360 | 0; -} -function dlmalloc($0) { - $0 = $0 | 0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - $12 = __stack_pointer - 16 | 0; - __stack_pointer = $12; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - label$10 : { - label$11 : { - label$12 : { - if ($0 >>> 0 <= 244) { - $6 = HEAP32[13232]; - $4 = $0 >>> 0 < 11 ? 16 : $0 + 11 & -8; - $2 = $4 >>> 3 | 0; - $0 = $6 >>> $2 | 0; - if ($0 & 3) { - $4 = (($0 ^ -1) & 1) + $2 | 0; - $3 = $4 << 3; - $2 = HEAP32[$3 + 52976 >> 2]; - $0 = $2 + 8 | 0; - $1 = HEAP32[$2 + 8 >> 2]; - $3 = $3 + 52968 | 0; - label$15 : { - if (($1 | 0) == ($3 | 0)) { - HEAP32[13232] = __wasm_rotl_i32(-2, $4) & $6; - break label$15; - } - HEAP32[$1 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $1; - } - $1 = $4 << 3; - HEAP32[$2 + 4 >> 2] = $1 | 3; - $2 = $2 + $1 | 0; - HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 4 >> 2] | 1; - break label$1; - } - $9 = HEAP32[13234]; - if ($9 >>> 0 >= $4 >>> 0) { - break label$12; - } - if ($0) { - $1 = $0 << $2; - $0 = 2 << $2; - $0 = $1 & ($0 | 0 - $0); - $0 = ($0 & 0 - $0) - 1 | 0; - $1 = $0; - $0 = $0 >>> 12 & 16; - $2 = $1 >>> $0 | 0; - $1 = $2 >>> 5 & 8; - $3 = $0 | $1; - $0 = $2 >>> $1 | 0; - $2 = $0 >>> 2 & 4; - $1 = $3 | $2; - $0 = $0 >>> $2 | 0; - $2 = $0 >>> 1 & 2; - $1 = $1 | $2; - $0 = $0 >>> $2 | 0; - $2 = $0 >>> 1 & 1; - $1 = ($1 | $2) + ($0 >>> $2 | 0) | 0; - $3 = $1 << 3; - $2 = HEAP32[$3 + 52976 >> 2]; - $0 = HEAP32[$2 + 8 >> 2]; - $3 = $3 + 52968 | 0; - label$18 : { - if (($0 | 0) == ($3 | 0)) { - $6 = __wasm_rotl_i32(-2, $1) & $6; - HEAP32[13232] = $6; - break label$18; - } - HEAP32[$0 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $0; - } - $0 = $2 + 8 | 0; - HEAP32[$2 + 4 >> 2] = $4 | 3; - $3 = $2 + $4 | 0; - $5 = $1 << 3; - $1 = $5 - $4 | 0; - HEAP32[$3 + 4 >> 2] = $1 | 1; - HEAP32[$2 + $5 >> 2] = $1; - if ($9) { - $5 = $9 >>> 3 | 0; - $4 = ($5 << 3) + 52968 | 0; - $2 = HEAP32[13237]; - $5 = 1 << $5; - label$21 : { - if (!($6 & $5)) { - HEAP32[13232] = $5 | $6; - $5 = $4; - break label$21; - } - $5 = HEAP32[$4 + 8 >> 2]; - } - HEAP32[$4 + 8 >> 2] = $2; - HEAP32[$5 + 12 >> 2] = $2; - HEAP32[$2 + 12 >> 2] = $4; - HEAP32[$2 + 8 >> 2] = $5; - } - HEAP32[13237] = $3; - HEAP32[13234] = $1; - break label$1; - } - $8 = HEAP32[13233]; - if (!$8) { - break label$12; - } - $0 = (0 - $8 & $8) - 1 | 0; - $1 = $0; - $0 = $0 >>> 12 & 16; - $2 = $1 >>> $0 | 0; - $1 = $2 >>> 5 & 8; - $3 = $0 | $1; - $0 = $2 >>> $1 | 0; - $2 = $0 >>> 2 & 4; - $1 = $3 | $2; - $0 = $0 >>> $2 | 0; - $2 = $0 >>> 1 & 2; - $1 = $1 | $2; - $0 = $0 >>> $2 | 0; - $2 = $0 >>> 1 & 1; - $3 = HEAP32[(($1 | $2) + ($0 >>> $2 | 0) << 2) + 53232 >> 2]; - $2 = (HEAP32[$3 + 4 >> 2] & -8) - $4 | 0; - $1 = $3; - while (1) { - label$24 : { - $0 = HEAP32[$1 + 16 >> 2]; - if (!$0) { - $0 = HEAP32[$1 + 20 >> 2]; - if (!$0) { - break label$24; - } - } - $1 = (HEAP32[$0 + 4 >> 2] & -8) - $4 | 0; - $5 = $1; - $1 = $2 >>> 0 > $1 >>> 0; - $2 = $1 ? $5 : $2; - $3 = $1 ? $0 : $3; - $1 = $0; - continue; - } - break; - } - $10 = $3 + $4 | 0; - if ($10 >>> 0 <= $3 >>> 0) { - break label$11; - } - $11 = HEAP32[$3 + 24 >> 2]; - $5 = HEAP32[$3 + 12 >> 2]; - if (($5 | 0) != ($3 | 0)) { - $0 = HEAP32[$3 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $5; - HEAP32[$5 + 8 >> 2] = $0; - break label$2; - } - $1 = $3 + 20 | 0; - $0 = HEAP32[$1 >> 2]; - if (!$0) { - $0 = HEAP32[$3 + 16 >> 2]; - if (!$0) { - break label$10; - } - $1 = $3 + 16 | 0; - } - while (1) { - $7 = $1; - $5 = $0; - $1 = $0 + 20 | 0; - $0 = HEAP32[$1 >> 2]; - if ($0) { - continue; - } - $1 = $5 + 16 | 0; - $0 = HEAP32[$5 + 16 >> 2]; - if ($0) { - continue; - } - break; - } - HEAP32[$7 >> 2] = 0; - break label$2; - } - $4 = -1; - if ($0 >>> 0 > 4294967231) { - break label$12; - } - $0 = $0 + 11 | 0; - $4 = $0 & -8; - $9 = HEAP32[13233]; - if (!$9) { - break label$12; - } - $7 = 31; - if ($4 >>> 0 <= 16777215) { - $0 = $0 >>> 8 | 0; - $1 = $0; - $0 = $0 + 1048320 >>> 16 & 8; - $2 = $1 << $0; - $1 = $2; - $2 = $2 + 520192 >>> 16 & 4; - $1 = $1 << $2; - $3 = $1; - $1 = $1 + 245760 >>> 16 & 2; - $0 = ($3 << $1 >>> 15 | 0) - ($0 | $2 | $1) | 0; - $7 = ($0 << 1 | $4 >>> $0 + 21 & 1) + 28 | 0; - } - $2 = 0 - $4 | 0; - $1 = HEAP32[($7 << 2) + 53232 >> 2]; - label$31 : { - label$32 : { - label$33 : { - if (!$1) { - $0 = 0; - break label$33; - } - $0 = 0; - $3 = $4 << (($7 | 0) == 31 ? 0 : 25 - ($7 >>> 1 | 0) | 0); - while (1) { - label$36 : { - $6 = (HEAP32[$1 + 4 >> 2] & -8) - $4 | 0; - if ($6 >>> 0 >= $2 >>> 0) { - break label$36; - } - $5 = $1; - $2 = $6; - if ($2) { - break label$36; - } - $2 = 0; - $0 = $1; - break label$32; - } - $6 = HEAP32[$1 + 20 >> 2]; - $1 = HEAP32[(($3 >>> 29 & 4) + $1 | 0) + 16 >> 2]; - $0 = $6 ? ($6 | 0) == ($1 | 0) ? $0 : $6 : $0; - $3 = $3 << 1; - if ($1) { - continue; - } - break; - } - } - if (!($0 | $5)) { - $0 = 2 << $7; - $0 = ($0 | 0 - $0) & $9; - if (!$0) { - break label$12; - } - $0 = (0 - $0 & $0) - 1 | 0; - $1 = $0; - $0 = $0 >>> 12 & 16; - $1 = $1 >>> $0 | 0; - $3 = $1 >>> 5 & 8; - $6 = $0 | $3; - $0 = $1 >>> $3 | 0; - $1 = $0 >>> 2 & 4; - $3 = $6 | $1; - $0 = $0 >>> $1 | 0; - $1 = $0 >>> 1 & 2; - $3 = $3 | $1; - $0 = $0 >>> $1 | 0; - $1 = $0 >>> 1 & 1; - $0 = HEAP32[(($3 | $1) + ($0 >>> $1 | 0) << 2) + 53232 >> 2]; - } - if (!$0) { - break label$31; - } - } - while (1) { - $6 = (HEAP32[$0 + 4 >> 2] & -8) - $4 | 0; - $3 = $6 >>> 0 < $2 >>> 0; - $2 = $3 ? $6 : $2; - $5 = $3 ? $0 : $5; - $1 = HEAP32[$0 + 16 >> 2]; - if (!$1) { - $1 = HEAP32[$0 + 20 >> 2]; - } - $0 = $1; - if ($0) { - continue; - } - break; - } - } - if (!$5 | HEAP32[13234] - $4 >>> 0 <= $2 >>> 0) { - break label$12; - } - $7 = $4 + $5 | 0; - if ($7 >>> 0 <= $5 >>> 0) { - break label$11; - } - $8 = HEAP32[$5 + 24 >> 2]; - $3 = HEAP32[$5 + 12 >> 2]; - if (($5 | 0) != ($3 | 0)) { - $0 = HEAP32[$5 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $0; - break label$3; - } - $1 = $5 + 20 | 0; - $0 = HEAP32[$1 >> 2]; - if (!$0) { - $0 = HEAP32[$5 + 16 >> 2]; - if (!$0) { - break label$9; - } - $1 = $5 + 16 | 0; - } - while (1) { - $6 = $1; - $3 = $0; - $1 = $0 + 20 | 0; - $0 = HEAP32[$1 >> 2]; - if ($0) { - continue; - } - $1 = $3 + 16 | 0; - $0 = HEAP32[$3 + 16 >> 2]; - if ($0) { - continue; - } - break; - } - HEAP32[$6 >> 2] = 0; - break label$3; - } - $0 = HEAP32[13234]; - if ($4 >>> 0 <= $0 >>> 0) { - $2 = HEAP32[13237]; - $1 = $0 - $4 | 0; - label$45 : { - if ($1 >>> 0 >= 16) { - HEAP32[13234] = $1; - $3 = $2 + $4 | 0; - HEAP32[13237] = $3; - HEAP32[$3 + 4 >> 2] = $1 | 1; - HEAP32[$0 + $2 >> 2] = $1; - HEAP32[$2 + 4 >> 2] = $4 | 3; - break label$45; - } - HEAP32[13237] = 0; - HEAP32[13234] = 0; - HEAP32[$2 + 4 >> 2] = $0 | 3; - $0 = $0 + $2 | 0; - HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 1; - } - $0 = $2 + 8 | 0; - break label$1; - } - $3 = HEAP32[13235]; - if ($4 >>> 0 < $3 >>> 0) { - $2 = $3 - $4 | 0; - HEAP32[13235] = $2; - $0 = HEAP32[13238]; - $1 = $4 + $0 | 0; - HEAP32[13238] = $1; - HEAP32[$1 + 4 >> 2] = $2 | 1; - HEAP32[$0 + 4 >> 2] = $4 | 3; - $0 = $0 + 8 | 0; - break label$1; - } - $0 = 0; - $9 = $4 + 47 | 0; - $1 = $9; - if (HEAP32[13350]) { - $2 = HEAP32[13352]; - } else { - HEAP32[13353] = -1; - HEAP32[13354] = -1; - HEAP32[13351] = 4096; - HEAP32[13352] = 4096; - HEAP32[13350] = $12 + 12 & -16 ^ 1431655768; - HEAP32[13355] = 0; - HEAP32[13343] = 0; - $2 = 4096; - } - $6 = $1 + $2 | 0; - $7 = 0 - $2 | 0; - $5 = $6 & $7; - if ($5 >>> 0 <= $4 >>> 0) { - break label$1; - } - $2 = HEAP32[13342]; - if ($2) { - $1 = HEAP32[13340]; - $8 = $5 + $1 | 0; - if ($2 >>> 0 < $8 >>> 0 | $1 >>> 0 >= $8 >>> 0) { - break label$1; - } - } - if (HEAPU8[53372] & 4) { - break label$6; - } - label$51 : { - label$52 : { - $2 = HEAP32[13238]; - if ($2) { - $0 = 53376; - while (1) { - $1 = HEAP32[$0 >> 2]; - if (HEAP32[$0 + 4 >> 2] + $1 >>> 0 > $2 >>> 0 ? $1 >>> 0 <= $2 >>> 0 : 0) { - break label$52; - } - $0 = HEAP32[$0 + 8 >> 2]; - if ($0) { - continue; - } - break; - } - } - $3 = sbrk(0); - if (($3 | 0) == -1) { - break label$7; - } - $6 = $5; - $0 = HEAP32[13351]; - $2 = $0 - 1 | 0; - if ($3 & $2) { - $6 = ($5 - $3 | 0) + ($2 + $3 & 0 - $0) | 0; - } - if ($6 >>> 0 > 2147483646 | $4 >>> 0 >= $6 >>> 0) { - break label$7; - } - $0 = HEAP32[13342]; - if ($0) { - $2 = HEAP32[13340]; - $1 = $6 + $2 | 0; - if ($0 >>> 0 < $1 >>> 0 | $2 >>> 0 >= $1 >>> 0) { - break label$7; - } - } - $0 = sbrk($6); - if (($3 | 0) != ($0 | 0)) { - break label$51; - } - break label$5; - } - $6 = $6 - $3 & $7; - if ($6 >>> 0 > 2147483646) { - break label$7; - } - $3 = sbrk($6); - if (($3 | 0) == (HEAP32[$0 >> 2] + HEAP32[$0 + 4 >> 2] | 0)) { - break label$8; - } - $0 = $3; - } - if (!(($0 | 0) == -1 | $4 + 48 >>> 0 <= $6 >>> 0)) { - $2 = HEAP32[13352]; - $2 = $2 + ($9 - $6 | 0) & 0 - $2; - if ($2 >>> 0 > 2147483646) { - $3 = $0; - break label$5; - } - if ((sbrk($2) | 0) != -1) { - $6 = $2 + $6 | 0; - $3 = $0; - break label$5; - } - sbrk(0 - $6 | 0); - break label$7; - } - $3 = $0; - if (($0 | 0) != -1) { - break label$5; - } - break label$7; - } - abort(); - } - $5 = 0; - break label$2; - } - $3 = 0; - break label$3; - } - if (($3 | 0) != -1) { - break label$5; - } - } - HEAP32[13343] = HEAP32[13343] | 4; - } - if ($5 >>> 0 > 2147483646) { - break label$4; - } - $3 = sbrk($5); - $1 = ($3 | 0) == -1; - $0 = sbrk(0); - if ($1 | $3 >>> 0 >= $0 >>> 0 | ($0 | 0) == -1) { - break label$4; - } - $6 = $0 - $3 | 0; - if ($6 >>> 0 <= $4 + 40 >>> 0) { - break label$4; - } - } - $0 = HEAP32[13340] + $6 | 0; - HEAP32[13340] = $0; - if (HEAPU32[13341] < $0 >>> 0) { - HEAP32[13341] = $0; - } - label$62 : { - label$63 : { - label$64 : { - $2 = HEAP32[13238]; - if ($2) { - $0 = 53376; - while (1) { - $1 = HEAP32[$0 >> 2]; - $5 = HEAP32[$0 + 4 >> 2]; - if (($1 + $5 | 0) == ($3 | 0)) { - break label$64; - } - $0 = HEAP32[$0 + 8 >> 2]; - if ($0) { - continue; - } - break; - } - break label$63; - } - $0 = HEAP32[13236]; - if (!($0 >>> 0 <= $3 >>> 0 ? $0 : 0)) { - HEAP32[13236] = $3; - } - $0 = 0; - HEAP32[13345] = $6; - HEAP32[13344] = $3; - HEAP32[13240] = -1; - HEAP32[13241] = HEAP32[13350]; - HEAP32[13347] = 0; - while (1) { - $2 = $0 << 3; - $1 = $2 + 52968 | 0; - HEAP32[$2 + 52976 >> 2] = $1; - HEAP32[$2 + 52980 >> 2] = $1; - $0 = $0 + 1 | 0; - if (($0 | 0) != 32) { - continue; - } - break; - } - $0 = $6 - 40 | 0; - $2 = $3 + 8 & 7 ? -8 - $3 & 7 : 0; - $1 = $0 - $2 | 0; - HEAP32[13235] = $1; - $2 = $2 + $3 | 0; - HEAP32[13238] = $2; - HEAP32[$2 + 4 >> 2] = $1 | 1; - HEAP32[($0 + $3 | 0) + 4 >> 2] = 40; - HEAP32[13239] = HEAP32[13354]; - break label$62; - } - if (HEAP32[$0 + 12 >> 2] & 8 | ($2 >>> 0 < $1 >>> 0 | $2 >>> 0 >= $3 >>> 0)) { - break label$63; - } - HEAP32[$0 + 4 >> 2] = $5 + $6; - $0 = $2 + 8 & 7 ? -8 - $2 & 7 : 0; - $1 = $2 + $0 | 0; - HEAP32[13238] = $1; - $3 = HEAP32[13235] + $6 | 0; - $0 = $3 - $0 | 0; - HEAP32[13235] = $0; - HEAP32[$1 + 4 >> 2] = $0 | 1; - HEAP32[($2 + $3 | 0) + 4 >> 2] = 40; - HEAP32[13239] = HEAP32[13354]; - break label$62; - } - $5 = HEAP32[13236]; - if ($5 >>> 0 > $3 >>> 0) { - HEAP32[13236] = $3; - } - $1 = $3 + $6 | 0; - $0 = 53376; - label$70 : { - label$71 : { - label$72 : { - label$73 : { - label$74 : { - label$75 : { - while (1) { - if (HEAP32[$0 >> 2] != ($1 | 0)) { - $0 = HEAP32[$0 + 8 >> 2]; - if ($0) { - continue; - } - break label$75; - } - break; - } - if (!(HEAPU8[$0 + 12 | 0] & 8)) { - break label$74; - } - } - $0 = 53376; - while (1) { - $1 = HEAP32[$0 >> 2]; - if ($1 >>> 0 <= $2 >>> 0) { - $1 = HEAP32[$0 + 4 >> 2] + $1 | 0; - if ($1 >>> 0 > $2 >>> 0) { - break label$73; - } - } - $0 = HEAP32[$0 + 8 >> 2]; - continue; - } - } - HEAP32[$0 >> 2] = $3; - HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] + $6; - $7 = ($3 + 8 & 7 ? -8 - $3 & 7 : 0) + $3 | 0; - HEAP32[$7 + 4 >> 2] = $4 | 3; - $6 = ($1 + 8 & 7 ? -8 - $1 & 7 : 0) + $1 | 0; - $1 = ($6 - $7 | 0) - $4 | 0; - $4 = $4 + $7 | 0; - if (($2 | 0) == ($6 | 0)) { - HEAP32[13238] = $4; - $0 = HEAP32[13235] + $1 | 0; - HEAP32[13235] = $0; - HEAP32[$4 + 4 >> 2] = $0 | 1; - break label$71; - } - if (HEAP32[13237] == ($6 | 0)) { - HEAP32[13237] = $4; - $0 = HEAP32[13234] + $1 | 0; - HEAP32[13234] = $0; - HEAP32[$4 + 4 >> 2] = $0 | 1; - HEAP32[$0 + $4 >> 2] = $0; - break label$71; - } - $0 = HEAP32[$6 + 4 >> 2]; - if (($0 & 3) == 1) { - $9 = $0 & -8; - label$83 : { - if ($0 >>> 0 <= 255) { - $8 = $0 >>> 3 | 0; - $0 = ($8 << 3) + 52968 | 0; - $3 = HEAP32[$6 + 8 >> 2]; - $2 = HEAP32[$6 + 12 >> 2]; - if (($3 | 0) == ($2 | 0)) { - HEAP32[13232] = HEAP32[13232] & __wasm_rotl_i32(-2, $8); - break label$83; - } - HEAP32[$3 + 12 >> 2] = $2; - HEAP32[$2 + 8 >> 2] = $3; - break label$83; - } - $8 = HEAP32[$6 + 24 >> 2]; - $3 = HEAP32[$6 + 12 >> 2]; - label$86 : { - if (($6 | 0) != ($3 | 0)) { - $0 = HEAP32[$6 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $0; - break label$86; - } - label$89 : { - $0 = $6 + 20 | 0; - $2 = HEAP32[$0 >> 2]; - if ($2) { - break label$89; - } - $0 = $6 + 16 | 0; - $2 = HEAP32[$0 >> 2]; - if ($2) { - break label$89; - } - $3 = 0; - break label$86; - } - while (1) { - $5 = $0; - $3 = $2; - $0 = $2 + 20 | 0; - $2 = HEAP32[$0 >> 2]; - if ($2) { - continue; - } - $0 = $3 + 16 | 0; - $2 = HEAP32[$3 + 16 >> 2]; - if ($2) { - continue; - } - break; - } - HEAP32[$5 >> 2] = 0; - } - if (!$8) { - break label$83; - } - $2 = HEAP32[$6 + 28 >> 2]; - $0 = ($2 << 2) + 53232 | 0; - label$91 : { - if (HEAP32[$0 >> 2] == ($6 | 0)) { - HEAP32[$0 >> 2] = $3; - if ($3) { - break label$91; - } - HEAP32[13233] = HEAP32[13233] & __wasm_rotl_i32(-2, $2); - break label$83; - } - HEAP32[(HEAP32[$8 + 16 >> 2] == ($6 | 0) ? 16 : 20) + $8 >> 2] = $3; - if (!$3) { - break label$83; - } - } - HEAP32[$3 + 24 >> 2] = $8; - $0 = HEAP32[$6 + 16 >> 2]; - if ($0) { - HEAP32[$3 + 16 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = $3; - } - $0 = HEAP32[$6 + 20 >> 2]; - if (!$0) { - break label$83; - } - HEAP32[$3 + 20 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = $3; - } - $6 = $6 + $9 | 0; - $1 = $1 + $9 | 0; - } - HEAP32[$6 + 4 >> 2] = HEAP32[$6 + 4 >> 2] & -2; - HEAP32[$4 + 4 >> 2] = $1 | 1; - HEAP32[$1 + $4 >> 2] = $1; - if ($1 >>> 0 <= 255) { - $2 = $1 >>> 3 | 0; - $0 = ($2 << 3) + 52968 | 0; - $2 = 1 << $2; - $1 = HEAP32[13232]; - label$95 : { - if (!($2 & $1)) { - HEAP32[13232] = $2 | $1; - $2 = $0; - break label$95; - } - $2 = HEAP32[$0 + 8 >> 2]; - } - HEAP32[$0 + 8 >> 2] = $4; - HEAP32[$2 + 12 >> 2] = $4; - HEAP32[$4 + 12 >> 2] = $0; - HEAP32[$4 + 8 >> 2] = $2; - break label$71; - } - $0 = 31; - if ($1 >>> 0 <= 16777215) { - $0 = $1 >>> 8 | 0; - $3 = $0; - $0 = $0 + 1048320 >>> 16 & 8; - $2 = $3 << $0; - $3 = $2; - $2 = $2 + 520192 >>> 16 & 4; - $3 = $3 << $2; - $5 = $3; - $3 = $3 + 245760 >>> 16 & 2; - $0 = ($5 << $3 >>> 15 | 0) - ($0 | $2 | $3) | 0; - $0 = ($0 << 1 | $1 >>> $0 + 21 & 1) + 28 | 0; - } - HEAP32[$4 + 28 >> 2] = $0; - HEAP32[$4 + 16 >> 2] = 0; - HEAP32[$4 + 20 >> 2] = 0; - $2 = ($0 << 2) + 53232 | 0; - $3 = HEAP32[13233]; - $5 = 1 << $0; - label$98 : { - if (!($3 & $5)) { - HEAP32[13233] = $3 | $5; - HEAP32[$2 >> 2] = $4; - break label$98; - } - $0 = $1 << (($0 | 0) == 31 ? 0 : 25 - ($0 >>> 1 | 0) | 0); - $3 = HEAP32[$2 >> 2]; - while (1) { - $2 = $3; - if ((HEAP32[$2 + 4 >> 2] & -8) == ($1 | 0)) { - break label$72; - } - $3 = $0 >>> 29 | 0; - $0 = $0 << 1; - $6 = ($3 & 4) + $2 | 0; - $5 = $6 + 16 | 0; - $3 = HEAP32[$5 >> 2]; - if ($3) { - continue; - } - break; - } - HEAP32[$6 + 16 >> 2] = $4; - } - HEAP32[$4 + 24 >> 2] = $2; - HEAP32[$4 + 12 >> 2] = $4; - HEAP32[$4 + 8 >> 2] = $4; - break label$71; - } - $0 = $6 - 40 | 0; - $5 = $3 + 8 & 7 ? -8 - $3 & 7 : 0; - $7 = $0 - $5 | 0; - HEAP32[13235] = $7; - $5 = $3 + $5 | 0; - HEAP32[13238] = $5; - HEAP32[$5 + 4 >> 2] = $7 | 1; - HEAP32[($0 + $3 | 0) + 4 >> 2] = 40; - HEAP32[13239] = HEAP32[13354]; - $0 = (($1 - 39 & 7 ? 39 - $1 & 7 : 0) + $1 | 0) - 47 | 0; - $5 = $2 + 16 >>> 0 > $0 >>> 0 ? $2 : $0; - HEAP32[$5 + 4 >> 2] = 27; - $0 = HEAP32[13347]; - $7 = HEAP32[13346]; - HEAP32[$5 + 16 >> 2] = $7; - HEAP32[$5 + 20 >> 2] = $0; - $7 = HEAP32[13345]; - $0 = HEAP32[13344]; - HEAP32[$5 + 8 >> 2] = $0; - HEAP32[$5 + 12 >> 2] = $7; - HEAP32[13346] = $5 + 8; - HEAP32[13345] = $6; - HEAP32[13344] = $3; - HEAP32[13347] = 0; - $0 = $5 + 24 | 0; - while (1) { - HEAP32[$0 + 4 >> 2] = 7; - $3 = $0 + 8 | 0; - $0 = $0 + 4 | 0; - if ($1 >>> 0 > $3 >>> 0) { - continue; - } - break; - } - if (($2 | 0) == ($5 | 0)) { - break label$62; - } - HEAP32[$5 + 4 >> 2] = HEAP32[$5 + 4 >> 2] & -2; - $6 = $5 - $2 | 0; - HEAP32[$2 + 4 >> 2] = $6 | 1; - HEAP32[$5 >> 2] = $6; - if ($6 >>> 0 <= 255) { - $1 = $6 >>> 3 | 0; - $0 = ($1 << 3) + 52968 | 0; - $1 = 1 << $1; - $3 = HEAP32[13232]; - label$103 : { - if (!($1 & $3)) { - HEAP32[13232] = $1 | $3; - $1 = $0; - break label$103; - } - $1 = HEAP32[$0 + 8 >> 2]; - } - HEAP32[$0 + 8 >> 2] = $2; - HEAP32[$1 + 12 >> 2] = $2; - HEAP32[$2 + 12 >> 2] = $0; - HEAP32[$2 + 8 >> 2] = $1; - break label$62; - } - $0 = 31; - HEAP32[$2 + 16 >> 2] = 0; - HEAP32[$2 + 20 >> 2] = 0; - if ($6 >>> 0 <= 16777215) { - $0 = $6 >>> 8 | 0; - $1 = $0; - $0 = $0 + 1048320 >>> 16 & 8; - $1 = $1 << $0; - $3 = $1; - $1 = $1 + 520192 >>> 16 & 4; - $3 = $3 << $1; - $5 = $3; - $3 = $3 + 245760 >>> 16 & 2; - $0 = ($5 << $3 >>> 15 | 0) - ($0 | $1 | $3) | 0; - $0 = ($0 << 1 | $6 >>> $0 + 21 & 1) + 28 | 0; - } - HEAP32[$2 + 28 >> 2] = $0; - $1 = ($0 << 2) + 53232 | 0; - $3 = HEAP32[13233]; - $5 = 1 << $0; - label$106 : { - if (!($3 & $5)) { - HEAP32[13233] = $3 | $5; - HEAP32[$1 >> 2] = $2; - break label$106; - } - $0 = $6 << (($0 | 0) == 31 ? 0 : 25 - ($0 >>> 1 | 0) | 0); - $3 = HEAP32[$1 >> 2]; - while (1) { - $1 = $3; - if ((HEAP32[$1 + 4 >> 2] & -8) == ($6 | 0)) { - break label$70; - } - $3 = $0 >>> 29 | 0; - $0 = $0 << 1; - $7 = ($3 & 4) + $1 | 0; - $5 = $7 + 16 | 0; - $3 = HEAP32[$5 >> 2]; - if ($3) { - continue; - } - break; - } - HEAP32[$7 + 16 >> 2] = $2; - } - HEAP32[$2 + 24 >> 2] = $1; - HEAP32[$2 + 12 >> 2] = $2; - HEAP32[$2 + 8 >> 2] = $2; - break label$62; - } - $0 = HEAP32[$2 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $4; - HEAP32[$2 + 8 >> 2] = $4; - HEAP32[$4 + 24 >> 2] = 0; - HEAP32[$4 + 12 >> 2] = $2; - HEAP32[$4 + 8 >> 2] = $0; - } - $0 = $7 + 8 | 0; - break label$1; - } - $0 = HEAP32[$1 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $2; - HEAP32[$1 + 8 >> 2] = $2; - HEAP32[$2 + 24 >> 2] = 0; - HEAP32[$2 + 12 >> 2] = $1; - HEAP32[$2 + 8 >> 2] = $0; - } - $0 = HEAP32[13235]; - if ($4 >>> 0 >= $0 >>> 0) { - break label$4; - } - $2 = $0 - $4 | 0; - HEAP32[13235] = $2; - $0 = HEAP32[13238]; - $1 = $4 + $0 | 0; - HEAP32[13238] = $1; - HEAP32[$1 + 4 >> 2] = $2 | 1; - HEAP32[$0 + 4 >> 2] = $4 | 3; - $0 = $0 + 8 | 0; - break label$1; - } - HEAP32[__errno_location() >> 2] = 48; - $0 = 0; - break label$1; - } - label$109 : { - if (!$8) { - break label$109; - } - $1 = HEAP32[$5 + 28 >> 2]; - $0 = ($1 << 2) + 53232 | 0; - label$110 : { - if (HEAP32[$0 >> 2] == ($5 | 0)) { - HEAP32[$0 >> 2] = $3; - if ($3) { - break label$110; - } - $9 = __wasm_rotl_i32(-2, $1) & $9; - HEAP32[13233] = $9; - break label$109; - } - HEAP32[(HEAP32[$8 + 16 >> 2] == ($5 | 0) ? 16 : 20) + $8 >> 2] = $3; - if (!$3) { - break label$109; - } - } - HEAP32[$3 + 24 >> 2] = $8; - $0 = HEAP32[$5 + 16 >> 2]; - if ($0) { - HEAP32[$3 + 16 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = $3; - } - $0 = HEAP32[$5 + 20 >> 2]; - if (!$0) { - break label$109; - } - HEAP32[$3 + 20 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = $3; - } - label$113 : { - if ($2 >>> 0 <= 15) { - $0 = $2 + $4 | 0; - HEAP32[$5 + 4 >> 2] = $0 | 3; - $0 = $0 + $5 | 0; - HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 1; - break label$113; - } - HEAP32[$5 + 4 >> 2] = $4 | 3; - HEAP32[$7 + 4 >> 2] = $2 | 1; - HEAP32[$2 + $7 >> 2] = $2; - if ($2 >>> 0 <= 255) { - $2 = $2 >>> 3 | 0; - $0 = ($2 << 3) + 52968 | 0; - $2 = 1 << $2; - $1 = HEAP32[13232]; - label$116 : { - if (!($2 & $1)) { - HEAP32[13232] = $2 | $1; - $2 = $0; - break label$116; - } - $2 = HEAP32[$0 + 8 >> 2]; - } - HEAP32[$0 + 8 >> 2] = $7; - HEAP32[$2 + 12 >> 2] = $7; - HEAP32[$7 + 12 >> 2] = $0; - HEAP32[$7 + 8 >> 2] = $2; - break label$113; - } - $0 = 31; - if ($2 >>> 0 <= 16777215) { - $0 = $2 >>> 8 | 0; - $1 = $0; - $0 = $0 + 1048320 >>> 16 & 8; - $1 = $1 << $0; - $3 = $1; - $1 = $1 + 520192 >>> 16 & 4; - $4 = $3 << $1; - $3 = $4; - $4 = $4 + 245760 >>> 16 & 2; - $0 = ($3 << $4 >>> 15 | 0) - ($0 | $1 | $4) | 0; - $0 = ($0 << 1 | $2 >>> $0 + 21 & 1) + 28 | 0; - } - HEAP32[$7 + 28 >> 2] = $0; - HEAP32[$7 + 16 >> 2] = 0; - HEAP32[$7 + 20 >> 2] = 0; - $1 = ($0 << 2) + 53232 | 0; - label$119 : { - $4 = 1 << $0; - label$120 : { - if (!($9 & $4)) { - HEAP32[13233] = $4 | $9; - HEAP32[$1 >> 2] = $7; - break label$120; - } - $0 = $2 << (($0 | 0) == 31 ? 0 : 25 - ($0 >>> 1 | 0) | 0); - $4 = HEAP32[$1 >> 2]; - while (1) { - $1 = $4; - if ((HEAP32[$1 + 4 >> 2] & -8) == ($2 | 0)) { - break label$119; - } - $4 = $0 >>> 29 | 0; - $0 = $0 << 1; - $6 = ($4 & 4) + $1 | 0; - $3 = $6 + 16 | 0; - $4 = HEAP32[$3 >> 2]; - if ($4) { - continue; - } - break; - } - HEAP32[$6 + 16 >> 2] = $7; - } - HEAP32[$7 + 24 >> 2] = $1; - HEAP32[$7 + 12 >> 2] = $7; - HEAP32[$7 + 8 >> 2] = $7; - break label$113; - } - $0 = HEAP32[$1 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $7; - HEAP32[$1 + 8 >> 2] = $7; - HEAP32[$7 + 24 >> 2] = 0; - HEAP32[$7 + 12 >> 2] = $1; - HEAP32[$7 + 8 >> 2] = $0; - } - $0 = $5 + 8 | 0; - break label$1; - } - label$123 : { - if (!$11) { - break label$123; - } - $1 = HEAP32[$3 + 28 >> 2]; - $0 = ($1 << 2) + 53232 | 0; - label$124 : { - if (HEAP32[$0 >> 2] == ($3 | 0)) { - HEAP32[$0 >> 2] = $5; - if ($5) { - break label$124; - } - HEAP32[13233] = __wasm_rotl_i32(-2, $1) & $8; - break label$123; - } - HEAP32[(HEAP32[$11 + 16 >> 2] == ($3 | 0) ? 16 : 20) + $11 >> 2] = $5; - if (!$5) { - break label$123; - } - } - HEAP32[$5 + 24 >> 2] = $11; - $0 = HEAP32[$3 + 16 >> 2]; - if ($0) { - HEAP32[$5 + 16 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = $5; - } - $0 = HEAP32[$3 + 20 >> 2]; - if (!$0) { - break label$123; - } - HEAP32[$5 + 20 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = $5; - } - label$127 : { - if ($2 >>> 0 <= 15) { - $0 = $2 + $4 | 0; - HEAP32[$3 + 4 >> 2] = $0 | 3; - $0 = $0 + $3 | 0; - HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 1; - break label$127; - } - HEAP32[$3 + 4 >> 2] = $4 | 3; - HEAP32[$10 + 4 >> 2] = $2 | 1; - HEAP32[$2 + $10 >> 2] = $2; - if ($9) { - $4 = $9 >>> 3 | 0; - $1 = ($4 << 3) + 52968 | 0; - $0 = HEAP32[13237]; - $4 = 1 << $4; - label$130 : { - if (!($6 & $4)) { - HEAP32[13232] = $4 | $6; - $4 = $1; - break label$130; - } - $4 = HEAP32[$1 + 8 >> 2]; - } - HEAP32[$1 + 8 >> 2] = $0; - HEAP32[$4 + 12 >> 2] = $0; - HEAP32[$0 + 12 >> 2] = $1; - HEAP32[$0 + 8 >> 2] = $4; - } - HEAP32[13237] = $10; - HEAP32[13234] = $2; - } - $0 = $3 + 8 | 0; - } - __stack_pointer = $12 + 16 | 0; - return $0 | 0; -} -function silk_pitch_analysis_core_FLP($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = Math_fround(0), $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = Math_fround(0), $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = Math_fround(0), $33 = 0, $34 = 0, $35 = 0, $36 = Math_fround(0), $37 = 0, $38 = Math_fround(0), $39 = 0, $40 = Math_fround(0), $41 = Math_fround(0), $42 = Math_fround(0), $43 = 0; - $15 = __stack_pointer - 11552 | 0; - __stack_pointer = $15; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - if (!(!(1 << $8 & 69888) | $8 >>> 0 > 16)) { - if (($9 | 0) <= -1) { - break label$8; - } - if (($9 | 0) >= 3) { - break label$7; - } - $16 = Math_imul($10, 5); - $17 = $16 + 20 | 0; - $19 = $17 << 3; - $20 = Math_imul($8, $17); - label$10 : { - if (($8 | 0) == 16) { - if (($20 | 0) >= 1) { - $12 = $20; - while (1) { - $13 = $12 - 1 | 0; - $22 = ($15 + 2720 | 0) + ($13 << 1) | 0; - $14 = lrintf(HEAPF32[($13 << 2) + $0 >> 2]); - $14 = ($14 | 0) > -32768 ? $14 : -32768; - HEAP16[$22 >> 1] = ($14 | 0) < 32767 ? $14 : 32767; - $14 = ($12 | 0) > 1; - $12 = $13; - if ($14) { - continue; - } - break; - } - } - HEAP32[$15 + 8544 >> 2] = 0; - HEAP32[$15 + 8548 >> 2] = 0; - silk_resampler_down2($15 + 8544 | 0, $15 + 8896 | 0, $15 + 2720 | 0, $20); - if (($16 | 0) < -19) { - break label$10; - } - $12 = $19; - while (1) { - $13 = $12 - 1 | 0; - HEAPF32[($15 + 10176 | 0) + ($13 << 2) >> 2] = HEAP16[($15 + 8896 | 0) + ($13 << 1) >> 1]; - $14 = ($12 | 0) > 1; - $12 = $13; - if ($14) { - continue; - } - break; - } - break label$10; - } - if (($8 | 0) == 12) { - if (($20 | 0) >= 1) { - $12 = $20; - while (1) { - $13 = $12 - 1 | 0; - $22 = ($15 + 2720 | 0) + ($13 << 1) | 0; - $14 = lrintf(HEAPF32[($13 << 2) + $0 >> 2]); - $14 = ($14 | 0) > -32768 ? $14 : -32768; - HEAP16[$22 >> 1] = ($14 | 0) < 32767 ? $14 : 32767; - $14 = ($12 | 0) > 1; - $12 = $13; - if ($14) { - continue; - } - break; - } - } - $22 = $15 + 8560 | 0; - HEAP32[$22 >> 2] = 0; - HEAP32[$22 + 4 >> 2] = 0; - HEAP32[$15 + 8552 >> 2] = 0; - HEAP32[$15 + 8556 >> 2] = 0; - HEAP32[$15 + 8544 >> 2] = 0; - HEAP32[$15 + 8548 >> 2] = 0; - silk_resampler_down2_3($15 + 8544 | 0, $15 + 8896 | 0, $15 + 2720 | 0, $20); - if (($16 | 0) < -19) { - break label$10; - } - $12 = $19; - while (1) { - $13 = $12 - 1 | 0; - HEAPF32[($15 + 10176 | 0) + ($13 << 2) >> 2] = HEAP16[($15 + 8896 | 0) + ($13 << 1) >> 1]; - $14 = ($12 | 0) > 1; - $12 = $13; - if ($14) { - continue; - } - break; - } - break label$10; - } - if (($8 | 0) != 8) { - break label$6; - } - if (($16 | 0) < -19) { - break label$10; - } - $12 = $19; - while (1) { - $13 = $12 - 1 | 0; - $22 = ($15 + 8896 | 0) + ($13 << 1) | 0; - $14 = lrintf(HEAPF32[($13 << 2) + $0 >> 2]); - $14 = ($14 | 0) > -32768 ? $14 : -32768; - HEAP16[$22 >> 1] = ($14 | 0) < 32767 ? $14 : 32767; - $14 = ($12 | 0) > 1; - $12 = $13; - if ($14) { - continue; - } - break; - } - } - $17 = $17 << 2; - HEAP32[$15 + 8544 >> 2] = 0; - HEAP32[$15 + 8548 >> 2] = 0; - silk_resampler_down2($15 + 8544 | 0, $15 + 8576 | 0, $15 + 8896 | 0, $19); - label$20 : { - if (($16 | 0) < -19) { - break label$20; - } - $12 = $17; - while (1) { - $13 = $12 - 1 | 0; - HEAPF32[($15 + 9536 | 0) + ($13 << 2) >> 2] = HEAP16[($15 + 8576 | 0) + ($13 << 1) >> 1]; - $14 = ($12 | 0) > 1; - $12 = $13; - if ($14) { - continue; - } - break; - } - if (($16 | 0) < -19) { - break label$20; - } - $12 = $17; - while (1) { - $25 = HEAPF32[(($12 << 2) + $15 | 0) + 9528 >> 2]; - $13 = $12 - 1 | 0; - $14 = ($15 + 9536 | 0) + ($13 << 2) | 0; - $18 = HEAPF32[$14 >> 2]; - label$23 : { - if (Math_fround(Math_abs($18)) < Math_fround(2147483648)) { - $16 = ~~$18; - break label$23; - } - $16 = -2147483648; - } - $25 = Math_fround($25 + Math_fround($16 | 0)); - $18 = Math_fround(32767); - label$26 : { - if ($25 > Math_fround(32767)) { - break label$26; - } - $18 = Math_fround(-32768); - if ($25 < Math_fround(-32768)) { - break label$26; - } - $18 = $25; - } - label$25 : { - if (Math_fround(Math_abs($18)) < Math_fround(2147483648)) { - $16 = ~~$18; - break label$25; - } - $16 = -2147483648; - } - HEAPF32[$14 >> 2] = $16 | 0; - $14 = ($12 | 0) > 2; - $12 = $13; - if ($14) { - continue; - } - break; - } - } - $16 = 0; - memset($15 + 6160 | 0, 0, Math_imul($10, 596)); - if (($10 | 0) >= 2) { - $12 = $10 >> 1; - $19 = ($12 | 0) > 1 ? $12 : 1; - $17 = ($15 + 9536 | 0) + ($17 << 2) | 0; - $12 = $15 + 9856 | 0; - while (1) { - $20 = $12 + 160 | 0; - if ($20 >>> 0 > $17 >>> 0) { - break label$5; - } - $13 = $12 - 32 | 0; - if ($13 >>> 0 < $15 + 9536 >>> 0) { - break label$4; - } - if ($12 + 128 >>> 0 > $17 >>> 0) { - break label$3; - } - celt_pitch_xcorr_c($12, $12 - 288 | 0, $15 + 5888 | 0, 40, 65, $11); - $18 = HEAPF32[$15 + 6144 >> 2]; - $21 = silk_energy_FLP($12, 40); - $23 = silk_energy_FLP($13, 40); - $34 = +$18; - $21 = $21 + $23 + 16e4; - HEAPF32[$15 + 6192 >> 2] = HEAPF32[$15 + 6192 >> 2] + Math_fround(($34 + $34) / $21); - $12 = 9; - while (1) { - $14 = ($15 + 6160 | 0) + ($12 << 2) | 0; - $22 = $14; - $18 = HEAPF32[$14 >> 2]; - $23 = +HEAPF32[((0 - $12 << 2) + $15 | 0) + 6176 >> 2]; - $34 = $23 + $23; - $14 = $13 - 4 | 0; - $23 = +HEAPF32[$14 >> 2]; - $39 = $23 * $23; - $23 = +HEAPF32[$13 + 156 >> 2]; - $21 = $21 + ($39 - $23 * $23); - HEAPF32[$22 >> 2] = $18 + Math_fround($34 / $21); - $13 = $14; - $12 = $12 + 1 | 0; - if (($12 | 0) != 73) { - continue; - } - break; - } - $12 = $20; - $16 = $16 + 1 | 0; - if (($19 | 0) != ($16 | 0)) { - continue; - } - break; - } - } - $27 = $8 << 1; - $35 = Math_imul($8, 5); - $30 = Math_imul($8, 18); - $31 = $30 - 1 | 0; - $14 = $10 << 2; - $12 = 72; - while (1) { - $13 = ($15 + 6160 | 0) + ($12 << 2) | 0; - $18 = HEAPF32[$13 >> 2]; - HEAPF32[$13 >> 2] = $18 + Math_fround(Math_fround($18 * Math_fround($12 | 0)) * Math_fround(-.000244140625)); - $13 = $12 >>> 0 > 8; - $12 = $12 - 1 | 0; - if ($13) { - continue; - } - break; - } - $13 = ($9 << 1) + 4 | 0; - silk_insertion_sort_decreasing_FLP($15 + 6192 | 0, $15 + 5744 | 0, 65, $13); - label$32 : { - $18 = HEAPF32[$15 + 6192 >> 2]; - label$33 : { - if (!($18 < Math_fround(.20000000298023224) ^ 1)) { - memset($1, 0, $14); - break label$33; - } - label$35 : { - if (($9 | 0) < -1) { - break label$35; - } - $18 = Math_fround($18 * $6); - $16 = ($13 | 0) > 1 ? $13 : 1; - $12 = 0; - while (1) { - $14 = $12 << 2; - if (HEAPF32[($14 + $15 | 0) + 6192 >> 2] > $18 ^ 1) { - $13 = $12; - break label$35; - } - $14 = ($15 + 5744 | 0) + $14 | 0; - HEAP32[$14 >> 2] = (HEAP32[$14 >> 2] << 1) + 16; - $12 = $12 + 1 | 0; - if (($16 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $12 = 0; - if (($13 | 0) <= 0) { - break label$2; - } - memset($15 + 5462 | 0, 0, 274); - while (1) { - HEAP16[($15 + 5440 | 0) + (HEAP32[($15 + 5744 | 0) + ($12 << 2) >> 2] << 1) >> 1] = 1; - $12 = $12 + 1 | 0; - if (($13 | 0) != ($12 | 0)) { - continue; - } - break; - } - $12 = 146; - $14 = HEAPU16[$15 + 5730 >> 1]; - while (1) { - $13 = ($15 + 5440 | 0) + ($12 << 1) | 0; - $16 = HEAPU16[$13 - 4 >> 1]; - HEAP16[$13 >> 1] = HEAPU16[$13 >> 1] + ($14 + $16 | 0); - $13 = 16; - $17 = $12 >>> 0 > 16; - $14 = $16; - $12 = $12 - 1 | 0; - if ($17) { - continue; - } - break; - } - while (1) { - $12 = $13 + 1 | 0; - if (HEAP16[($15 + 5440 | 0) + ($12 << 1) >> 1] >= 1) { - HEAP32[($15 + 5744 | 0) + ($28 << 2) >> 2] = $13; - $28 = $28 + 1 | 0; - } - $13 = $12; - if (($12 | 0) != 144) { - continue; - } - break; - } - $13 = 146; - $14 = HEAPU16[$15 + 5728 >> 1]; - $16 = HEAPU16[$15 + 5730 >> 1]; - while (1) { - $17 = $14; - $22 = $14 + $16 | 0; - $12 = ($15 + 5440 | 0) + ($13 << 1) | 0; - $14 = HEAPU16[$12 - 6 >> 1]; - HEAP16[$12 >> 1] = HEAPU16[$12 >> 1] + ($14 + $22 | 0); - $12 = 16; - $20 = $13 >>> 0 > 16; - $16 = $17; - $13 = $13 - 1 | 0; - if ($20) { - continue; - } - break; - } - $17 = 0; - while (1) { - if (HEAP16[($15 + 5440 | 0) + ($12 << 1) >> 1] >= 1) { - HEAP16[($15 + 5440 | 0) + ($17 << 1) >> 1] = $12 - 2; - $17 = $17 + 1 | 0; - } - $12 = $12 + 1 | 0; - if (($12 | 0) != 147) { - continue; - } - break; - } - $20 = 0; - memset($15 + 6160 | 0, 0, 2384); - if (($10 | 0) >= 1) { - $13 = ($8 | 0) == 8 ? $0 + 640 | 0 : $15 + 10816 | 0; - $19 = ($17 | 0) < 1; - while (1) { - $21 = silk_energy_FLP($13, 40); - if (!$19) { - $23 = $21 + 1; - $12 = 0; - while (1) { - $18 = Math_fround(0); - $14 = HEAP16[($15 + 5440 | 0) + ($12 << 1) >> 1] << 2; - $16 = $13 - $14 | 0; - $21 = silk_inner_product_FLP($16, $13, 40); - if (!($21 > 0 ^ 1)) { - $18 = Math_fround(($21 + $21) / ($23 + silk_energy_FLP($16, 40))); - } - HEAPF32[(($15 + 6160 | 0) + Math_imul($20, 596) | 0) + $14 >> 2] = $18; - $12 = $12 + 1 | 0; - if (($17 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $13 = $13 + 160 | 0; - $20 = $20 + 1 | 0; - if (($20 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - if (($5 | 0) < 1) { - $6 = Math_fround(0); - } else { - $5 = ($8 | 0) == 12 ? ($5 << 1) / 3 | 0 : $5 >>> (($8 | 0) == 16) | 0; - $6 = Math_fround(log10(+Math_fround($5 | 0)) * 3.32192809488736); - } - $40 = $6; - if (($28 | 0) >= 1) { - $12 = ($10 | 0) == 4; - $20 = $12 ? ($8 | 0) == 8 ? ($9 | 0) > 0 ? 11 : 3 : 3 : 3; - $16 = $12 ? 10048 : 10007; - $17 = $12 ? 11 : 3; - $36 = Math_fround($10 | 0); - $41 = Math_fround($36 * $7); - $38 = Math_fround($36 * Math_fround(.20000000298023224)); - $24 = -1; - $7 = Math_fround(-1e3); - $6 = Math_fround(0); - $29 = ($10 | 0) < 1; - $37 = ($5 | 0) < 1; - $5 = 0; - while (1) { - $14 = HEAP32[($15 + 5744 | 0) + ($26 << 2) >> 2]; - $13 = 0; - while (1) { - $19 = ($15 + 5840 | 0) + ($13 << 2) | 0; - HEAP32[$19 >> 2] = 0; - $18 = Math_fround(0); - $12 = 0; - if (!$29) { - while (1) { - $18 = Math_fround(HEAPF32[(($15 + 6160 | 0) + Math_imul($12, 596) | 0) + (HEAP8[(Math_imul($12, $17) + $13 | 0) + $16 | 0] + $14 << 2) >> 2] + $18); - $12 = $12 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - HEAPF32[$19 >> 2] = $18; - } - $13 = $13 + 1 | 0; - if (($20 | 0) != ($13 | 0)) { - continue; - } - break; - } - $18 = Math_fround(-1e3); - $12 = 0; - $13 = 0; - while (1) { - $25 = HEAPF32[($15 + 5840 | 0) + ($12 << 2) >> 2]; - $19 = $25 > $18; - $18 = $19 ? $25 : $18; - $13 = $19 ? $12 : $13; - $12 = $12 + 1 | 0; - if (($20 | 0) != ($12 | 0)) { - continue; - } - break; - } - $32 = Math_fround(log10(+Math_fround($14 | 0)) * 3.32192809488736); - $25 = Math_fround($18 - Math_fround($38 * $32)); - $42 = $18; - if (!$37) { - $32 = Math_fround($32 - $40); - $32 = Math_fround($32 * $32); - $25 = Math_fround($25 - Math_fround(Math_fround($32 * Math_fround($38 * HEAPF32[$4 >> 2])) / Math_fround($32 + Math_fround(.5)))); - } - $12 = $7 < $25 & $18 > $41; - $6 = $12 ? $42 : $6; - $7 = $12 ? $25 : $7; - $24 = $12 ? $14 : $24; - $5 = $12 ? $13 : $5; - $26 = $26 + 1 | 0; - if (($26 | 0) != ($28 | 0)) { - continue; - } - break; - } - if (($24 | 0) != -1) { - break label$32; - } - } - $22 = $1; - HEAP32[$22 >> 2] = 0; - HEAP32[$22 + 4 >> 2] = 0; - HEAP32[$22 + 8 >> 2] = 0; - HEAP32[$22 + 12 >> 2] = 0; - } - HEAP32[$4 >> 2] = 0; - HEAP16[$2 >> 1] = 0; - HEAP8[$3 | 0] = 0; - $12 = 1; - break label$1; - } - HEAPF32[$4 >> 2] = $6 / $36; - $43 = $2; - label$62 : { - if (($8 | 0) <= 8) { - $12 = 0; - if (($10 | 0) > 0) { - while (1) { - $13 = HEAP8[(Math_imul($12, $17) + $5 | 0) + $16 | 0] + $24 | 0; - $13 = ($13 | 0) > 16 ? $13 : 16; - HEAP32[($12 << 2) + $1 >> 2] = ($13 | 0) < 144 ? $13 : 144; - $12 = $12 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - $12 = $24 - 16 | 0; - break label$62; - } - label$66 : { - if (($8 | 0) == 12) { - $12 = Math_imul($24 << 16 >> 16, 3); - $12 = ($12 >> 1) + ($12 & 1) | 0; - break label$66; - } - $12 = $24 << 1; - } - label$68 : { - if (($27 | 0) >= ($30 | 0)) { - $26 = $27; - if (($12 | 0) > ($27 | 0)) { - break label$68; - } - $26 = ($12 | 0) < ($31 | 0) ? $31 : $12; - break label$68; - } - $26 = $31; - if (($12 | 0) >= ($30 | 0)) { - break label$68; - } - $26 = ($12 | 0) < ($27 | 0) ? $27 : $12; - } - $29 = 10016; - $24 = 10040; - $17 = 12; - $4 = 12; - label$70 : { - switch ($10 - 2 | 0) { - default: - celt_fatal(10770, 10329, 518); - abort(); - case 2: - $24 = ($9 << 3) + 10240 | 0; - $17 = HEAP8[$9 + 10264 | 0]; - $29 = 10096; - $4 = 34; - break; - case 0: - break label$70; - } - } - $12 = $26 + 2 | 0; - $31 = ($12 | 0) < ($31 | 0) ? $12 : $31; - $12 = $26 - 2 | 0; - $28 = ($12 | 0) > ($27 | 0) ? $12 : $27; - $37 = 0 - $28 << 2; - $8 = Math_imul($8, 80) + $0 | 0; - $5 = $8; - $16 = 0; - while (1) { - $12 = $16 << 1; - $14 = HEAP8[($12 | 1) + $24 | 0]; - $19 = HEAP8[$12 + $24 | 0]; - $12 = 1 - $19 | 0; - celt_pitch_xcorr_c($5, ($5 + $37 | 0) - ($14 << 2) | 0, $15 + 2720 | 0, $35, $14 + $12 | 0, $11); - $13 = ($14 | 0) < ($19 | 0); - if (!$13) { - $20 = ($13 ? $19 : $14) + $12 | 0; - $12 = 0; - $13 = $19; - while (1) { - HEAP32[($15 + 11456 | 0) + ($12 << 2) >> 2] = HEAP32[($15 + 2720 | 0) + ($14 - $13 << 2) >> 2]; - $13 = $13 + 1 | 0; - $12 = $12 + 1 | 0; - if (($20 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - if (($17 | 0) >= 1) { - $20 = Math_imul($4, $16); - $19 = ($15 + 11456 | 0) + (0 - $19 << 2) | 0; - $12 = 0; - while (1) { - $14 = (HEAP8[($12 + $20 | 0) + $29 | 0] << 2) + $19 | 0; - $33 = HEAP32[$14 >> 2]; - $22 = HEAP32[$14 + 4 >> 2]; - $13 = (Math_imul($16, 680) + $15 | 0) + Math_imul($12, 20) | 0; - HEAP32[$13 >> 2] = $33; - HEAP32[$13 + 4 >> 2] = $22; - HEAP32[$13 + 16 >> 2] = HEAP32[$14 + 16 >> 2]; - $33 = HEAP32[$14 + 12 >> 2]; - $22 = HEAP32[$14 + 8 >> 2]; - HEAP32[$13 + 8 >> 2] = $22; - HEAP32[$13 + 12 >> 2] = $33; - $12 = $12 + 1 | 0; - if (($17 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $5 = ($35 << 2) + $5 | 0; - $16 = $16 + 1 | 0; - if (($16 | 0) != ($10 | 0)) { - continue; - } - break; - } - $29 = 10016; - $24 = 10040; - $17 = 12; - $0 = 12; - label$78 : { - switch ($10 - 2 | 0) { - default: - celt_fatal(10770, 10329, 584); - abort(); - case 2: - $24 = ($9 << 3) + 10240 | 0; - $17 = HEAP8[$9 + 10264 | 0]; - $29 = 10096; - $0 = 34; - break; - case 0: - break label$78; - } - } - $5 = $8; - $16 = 0; - while (1) { - $12 = $16 << 1; - $19 = HEAP8[$24 + $12 | 0]; - $13 = $5 - ($28 + $19 << 2) | 0; - $21 = silk_energy_FLP($13, $35) + .001; - HEAPF32[$15 + 11456 >> 2] = $21; - $14 = HEAP8[($12 | 1) + $24 | 0]; - if (($19 | 0) < ($14 | 0)) { - $12 = 1; - $20 = ($14 - $19 | 0) + 1 | 0; - while (1) { - $23 = +HEAPF32[($35 - $12 << 2) + $13 >> 2]; - $23 = $21 - $23 * $23; - $14 = $12 << 2; - $21 = +HEAPF32[$13 - $14 >> 2]; - $21 = $23 + $21 * $21; - HEAPF32[($15 + 11456 | 0) + $14 >> 2] = $21; - $12 = $12 + 1 | 0; - if (($20 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - if (($17 | 0) >= 1) { - $20 = Math_imul($0, $16); - $19 = ($15 + 11456 | 0) + (0 - $19 << 2) | 0; - $12 = 0; - while (1) { - $14 = (HEAP8[($12 + $20 | 0) + $29 | 0] << 2) + $19 | 0; - $33 = HEAP32[$14 >> 2]; - $22 = HEAP32[$14 + 4 >> 2]; - $13 = (($15 + 2720 | 0) + Math_imul($16, 680) | 0) + Math_imul($12, 20) | 0; - HEAP32[$13 >> 2] = $33; - HEAP32[$13 + 4 >> 2] = $22; - HEAP32[$13 + 16 >> 2] = HEAP32[$14 + 16 >> 2]; - $33 = HEAP32[$14 + 12 >> 2]; - $22 = HEAP32[$14 + 8 >> 2]; - HEAP32[$13 + 8 >> 2] = $22; - HEAP32[$13 + 12 >> 2] = $33; - $12 = $12 + 1 | 0; - if (($17 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $5 = ($35 << 2) + $5 | 0; - $16 = $16 + 1 | 0; - if (($16 | 0) != ($10 | 0)) { - continue; - } - break; - } - label$86 : { - if (($10 | 0) != 4) { - $24 = 10016; - $0 = 12; - $19 = 12; - break label$86; - } - $24 = 10096; - $0 = 34; - $19 = HEAP8[$9 + 10264 | 0]; - } - $21 = silk_energy_FLP($8, Math_imul($10, $35)); - $5 = 0; - if (($28 | 0) <= ($31 | 0)) { - $7 = Math_fround(Math_fround(.05000000074505806) / Math_fround($26 | 0)); - $34 = $21 + 1; - $25 = Math_fround(-1e3); - $29 = ($10 | 0) < 1; - $20 = 0; - while (1) { - $17 = 0; - if (($19 | 0) > 0) { - while (1) { - $18 = Math_fround(0); - label$92 : { - if ($29) { - break label$92; - } - $21 = 0; - $12 = 0; - $23 = $34; - while (1) { - $16 = $20 << 2; - $14 = Math_imul($17, 20); - $13 = Math_imul($12, 680); - $23 = $23 + +HEAPF32[$16 + ($14 + ($13 + ($15 + 2720 | 0) | 0) | 0) >> 2]; - $21 = $21 + +HEAPF32[(($13 + $15 | 0) + $14 | 0) + $16 >> 2]; - $12 = $12 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - if ($21 > 0 ^ 1) { - break label$92; - } - $18 = Math_fround(Math_fround(Math_fround(1) - Math_fround($7 * Math_fround($17 | 0))) * Math_fround(($21 + $21) / $23)); - } - if (!($18 > $25 ^ 1)) { - $12 = (HEAP8[$17 + 10096 | 0] + $28 | 0) < ($30 | 0); - $26 = $12 ? $28 : $26; - $25 = $12 ? $18 : $25; - $5 = $12 ? $17 : $5; - } - $17 = $17 + 1 | 0; - if (($19 | 0) != ($17 | 0)) { - continue; - } - break; - } - } - $20 = $20 + 1 | 0; - $12 = ($28 | 0) < ($31 | 0); - $28 = $28 + 1 | 0; - if ($12) { - continue; - } - break; - } - } - if (($10 | 0) >= 1) { - $12 = 0; - while (1) { - $16 = ($12 << 2) + $1 | 0; - $13 = HEAP8[(Math_imul($0, $12) + $5 | 0) + $24 | 0] + $26 | 0; - HEAP32[$16 >> 2] = $13; - label$97 : { - if (($27 | 0) > ($30 | 0)) { - $14 = $27; - if (($14 | 0) < ($13 | 0)) { - break label$97; - } - $14 = ($13 | 0) < ($30 | 0) ? $30 : $13; - break label$97; - } - $14 = $30; - if (($14 | 0) < ($13 | 0)) { - break label$97; - } - $14 = ($13 | 0) < ($27 | 0) ? $27 : $13; - } - HEAP32[$16 >> 2] = $14; - $12 = $12 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - $12 = $26 - $27 | 0; - } - HEAP16[$43 >> 1] = $12; - HEAP8[$3 | 0] = $5; - $12 = 0; - if (HEAP16[$2 >> 1] > -1) { - break label$1; - } - celt_fatal(10737, 10329, 474); - abort(); - } - celt_fatal(10267, 10329, 112); - abort(); - } - celt_fatal(10366, 10329, 115); - abort(); - } - celt_fatal(10418, 10329, 116); - abort(); - } - celt_fatal(10470, 10329, 151); - abort(); - } - celt_fatal(10500, 10329, 173); - abort(); - } - celt_fatal(10580, 10329, 178); - abort(); - } - celt_fatal(10622, 10329, 179); - abort(); - } - celt_fatal(10701, 10329, 241); - abort(); - } - __stack_pointer = $15 + 11552 | 0; - return $12; -} -function opus_encoder_ctl($0, $1, $2) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $3 = __stack_pointer - 208 | 0; - __stack_pointer = $3; - HEAP32[$3 + 204 >> 2] = $2; - $4 = HEAP32[$0 >> 2] + $0 | 0; - $2 = -5; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - label$10 : { - label$11 : { - label$12 : { - label$13 : { - label$14 : { - label$15 : { - label$16 : { - label$17 : { - label$18 : { - label$19 : { - label$20 : { - label$21 : { - label$22 : { - label$23 : { - label$24 : { - label$25 : { - switch ($1 - 4e3 | 0) { - default: - label$46 : { - switch ($1 - 10015 | 0) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 10: - break label$1; - case 0: - break label$2; - case 11: - break label$4; - case 9: - break label$5; - default: - break label$46; - } - } - switch ($1 - 11002 | 0) { - case 17: - break label$23; - case 16: - break label$24; - case 0: - break label$6; - default: - break label$1; - } - case 0: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - $4 = $1 - 2048 | 0; - if ($4 >>> 0 > 3 | ($4 | 0) == 2 | (HEAP32[$0 + 108 >> 2] != ($1 | 0) ? !HEAP32[$0 + 14252 >> 2] : 0)) { - break label$1; - } - HEAP32[$0 + 108 >> 2] = $1; - HEAP32[$0 + 192 >> 2] = $1; - $2 = 0; - break label$1; - case 1: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 108 >> 2]; - $2 = 0; - break label$1; - case 2: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $4 = $0; - $1 = HEAP32[$2 >> 2]; - label$49 : { - if (($1 | 0) == -1e3) { - $5 = $1; - break label$49; - } - $2 = -1; - $5 = $1; - if (($1 | 0) == -1) { - break label$49; - } - if (($1 | 0) < 1) { - break label$1; - } - $5 = 500; - if (($1 | 0) < 501) { - break label$49; - } - $2 = Math_imul(HEAP32[$0 + 112 >> 2], 3e5); - $5 = ($1 | 0) > ($2 | 0) ? $2 : $1; - } - $2 = $5; - HEAP32[$4 + 164 >> 2] = $2; - $2 = 0; - break label$1; - case 3: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - if (!$1) { - $2 = -1; - break label$1; - } - $4 = HEAP32[$0 + 14236 >> 2]; - if (!$4) { - $4 = HEAP32[$0 + 144 >> 2] / 400 | 0; - } - $2 = HEAP32[$0 + 164 >> 2]; - label$53 : { - if (($2 | 0) != -1) { - if (($2 | 0) != -1e3) { - break label$53; - } - $2 = HEAP32[$0 + 112 >> 2]; - $0 = HEAP32[$0 + 144 >> 2]; - $2 = Math_imul($2, $0) + ((Math_imul($0, 60) | 0) / ($4 | 0) | 0) | 0; - break label$53; - } - $2 = (Math_imul(HEAP32[$0 + 144 >> 2], 10208) | 0) / ($4 | 0) | 0; - } - HEAP32[$1 >> 2] = $2; - $2 = 0; - break label$1; - case 22: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - label$55 : { - if (($1 | 0) >= 1) { - $2 = -1; - if (HEAP32[$0 + 112 >> 2] >= ($1 | 0)) { - break label$55; - } - break label$1; - } - $2 = -1; - if (($1 | 0) != -1e3) { - break label$1; - } - } - HEAP32[$0 + 120 >> 2] = $1; - $2 = 0; - break label$1; - case 23: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 120 >> 2]; - $2 = 0; - break label$1; - case 4: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 - 1101 >>> 0 > 4) { - break label$1; - } - HEAP32[$0 + 132 >> 2] = $1; - if (($1 | 0) == 1101) { - HEAP32[$0 + 20 >> 2] = 8e3; - $2 = 0; - break label$1; - } - if (($1 | 0) == 1102) { - HEAP32[$0 + 20 >> 2] = 12e3; - $2 = 0; - break label$1; - } - HEAP32[$0 + 20 >> 2] = 16e3; - $2 = 0; - break label$1; - case 5: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 132 >> 2]; - $2 = 0; - break label$1; - case 8: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - if ($1 - 1101 >>> 0 >= 5) { - $2 = -1; - if (($1 | 0) != -1e3) { - break label$1; - } - } - HEAP32[$0 + 128 >> 2] = $1; - if (($1 | 0) == 1101) { - HEAP32[$0 + 20 >> 2] = 8e3; - $2 = 0; - break label$1; - } - if (($1 | 0) == 1102) { - HEAP32[$0 + 20 >> 2] = 12e3; - $2 = 0; - break label$1; - } - HEAP32[$0 + 20 >> 2] = 16e3; - $2 = 0; - break label$1; - case 9: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 14240 >> 2]; - $2 = 0; - break label$1; - case 16: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 184 >> 2] = $1; - $2 = 0; - break label$1; - case 17: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 184 >> 2]; - $2 = 0; - break label$1; - case 10: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 10) { - break label$1; - } - HEAP32[$0 + 44 >> 2] = $1; - HEAP32[$3 >> 2] = $1; - opus_custom_encoder_ctl($4, 4010, $3); - $2 = 0; - break label$1; - case 11: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 44 >> 2]; - $2 = 0; - break label$1; - case 12: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 48 >> 2] = $1; - $2 = 0; - break label$1; - case 13: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 48 >> 2]; - $2 = 0; - break label$1; - case 14: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 100) { - break label$1; - } - HEAP32[$0 + 40 >> 2] = $1; - HEAP32[$3 + 16 >> 2] = $1; - opus_custom_encoder_ctl($4, 4014, $3 + 16 | 0); - $2 = 0; - break label$1; - case 15: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 40 >> 2]; - $2 = 0; - break label$1; - case 6: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 148 >> 2] = $1; - HEAP32[$0 + 60 >> 2] = 1 - $1; - $2 = 0; - break label$1; - case 18: - case 19: - case 26: - case 30: - case 32: - case 33: - case 34: - case 35: - case 38: - case 39: - case 44: - case 45: - case 48: - break label$1; - case 43: - break label$10; - case 42: - break label$11; - case 41: - break label$12; - case 40: - break label$13; - case 37: - break label$14; - case 36: - break label$15; - case 31: - break label$16; - case 29: - break label$17; - case 27: - break label$18; - case 25: - break label$19; - case 24: - break label$20; - case 21: - break label$21; - case 20: - break label$22; - case 7: - break label$25; - case 49: - break label$3; - case 28: - break label$7; - case 47: - break label$8; - case 46: - break label$9; - } - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 148 >> 2]; - $2 = 0; - break label$1; - } - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 + 1 >>> 0 > 101) { - break label$1; - } - HEAP32[$0 + 140 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 140 >> 2]; - $2 = 0; - break label$1; - } - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 152 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 152 >> 2]; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - if ($1 - 3001 >>> 0 >= 2) { - $2 = -1; - if (($1 | 0) != -1e3) { - break label$1; - } - } - HEAP32[$0 + 124 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 124 >> 2]; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - if (!$1) { - $2 = -1; - break label$1; - } - $4 = HEAP32[$0 + 144 >> 2] / 400 | 0; - HEAP32[$1 >> 2] = $4; - $2 = 0; - if (HEAP32[$0 + 108 >> 2] == 2051) { - break label$1; - } - HEAP32[$1 >> 2] = HEAP32[$0 + 116 >> 2] + $4; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 144 >> 2]; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 18136 >> 2]; - $2 = 0; - break label$1; - } - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 - 8 >>> 0 > 16) { - break label$1; - } - HEAP32[$0 + 168 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 168 >> 2]; - $2 = 0; - break label$1; - } - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 - 5e3 >>> 0 > 9) { - break label$1; - } - HEAP32[$0 + 156 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 156 >> 2]; - $2 = 0; - break label$1; - } - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 76 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 76 >> 2]; - $2 = 0; - break label$1; - } - $0 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $0 + 4; - $2 = -1; - $0 = HEAP32[$0 >> 2]; - if ($0 >>> 0 > 1) { - break label$1; - } - HEAP32[$3 + 32 >> 2] = $0; - opus_custom_encoder_ctl($4, 4046, $3 + 32 | 0); - $2 = 0; - break label$1; - } - $0 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $0 + 4; - $0 = HEAP32[$0 >> 2]; - if (!$0) { - $2 = -1; - break label$1; - } - HEAP32[$3 + 48 >> 2] = $0; - opus_custom_encoder_ctl($4, 4047, $3 + 48 | 0); - $2 = 0; - break label$1; - } - $1 = HEAP32[$0 + 4 >> 2]; - tonality_analysis_reset($0 + 188 | 0); - $2 = 0; - memset($0 + 14192 | 0, 0, 3948); - opus_custom_encoder_ctl($4, 4028, 0); - silk_InitEncoder($0 + $1 | 0, HEAP32[$0 + 180 >> 2], $3 + 104 | 0); - HEAP32[$0 + 14252 >> 2] = 1; - HEAP32[$0 + 14204 >> 2] = 1065353216; - HEAP16[$0 + 14196 >> 1] = 16384; - HEAP32[$0 + 14240 >> 2] = 1105; - HEAP32[$0 + 14224 >> 2] = 1001; - HEAP32[$0 + 14192 >> 2] = HEAP32[$0 + 112 >> 2]; - HEAP32[$0 + 14200 >> 2] = silk_lin2log(60) << 8; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - if ($1 - 1e3 >>> 0 >= 3) { - $2 = -1; - if (($1 | 0) != -1e3) { - break label$1; - } - } - HEAP32[$0 + 136 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - HEAP32[$0 + 176 >> 2] = $2; - HEAP32[$3 + 64 >> 2] = $2; - $2 = opus_custom_encoder_ctl($4, 10024, $3 - -64 | 0); - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - HEAP32[$0 + 14256 >> 2] = $2; - HEAP32[$3 + 80 >> 2] = $2; - $2 = opus_custom_encoder_ctl($4, 10026, $3 + 80 | 0); - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $6 = HEAP32[$2 >> 2]; - if (!$6) { - $2 = -1; - break label$1; - } - if (!(!HEAP32[$0 + 56 >> 2] | (HEAP32[$0 + 14228 >> 2] & -2) != 1e3)) { - $2 = HEAP32[$0 + 4 >> 2]; - HEAP32[$6 >> 2] = 1; - if (HEAP32[$0 + 12 >> 2] < 1) { - $2 = 0; - break label$1; - } - $7 = $0 + $2 | 0; - $4 = 0; - $5 = 1; - while (1) { - $1 = 0; - $1 = $5 ? HEAP32[(Math_imul($4, 10064) + $7 | 0) + 6084 >> 2] > 9 : $1; - HEAP32[$6 >> 2] = $1; - $2 = 0; - $5 = $1; - $4 = $4 + 1 | 0; - if (($4 | 0) < HEAP32[$0 + 12 >> 2]) { - continue; - } - break; - } - break label$1; - } - if (HEAP32[$0 + 184 >> 2]) { - HEAP32[$6 >> 2] = HEAP32[$0 + 18124 >> 2] > 9; - $2 = 0; - break label$1; - } - $2 = 0; - HEAP32[$6 >> 2] = 0; - break label$1; - } - $0 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $0 + 4; - $0 = HEAP32[$0 >> 2]; - if (!$0) { - $2 = -1; - break label$1; - } - HEAP32[$3 + 96 >> 2] = $0; - $2 = opus_custom_encoder_ctl($4, 10015, $3 + 96 | 0); - } - __stack_pointer = $3 + 208 | 0; - return $2 | 0; -} -function silk_Encode($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - $16 = __stack_pointer - 32 | 0; - $15 = $16; - __stack_pointer = $15; - if (HEAP32[$1 + 68 >> 2]) { - HEAP32[$0 + 14728 >> 2] = 1; - HEAP32[$0 + 4664 >> 2] = 1; - } - HEAP32[$0 + 5748 >> 2] = 0; - HEAP32[$0 + 15812 >> 2] = 0; - if (!check_control_input($1)) { - $34 = $0 + 10064 | 0; - HEAP32[$1 + 88 >> 2] = 0; - label$3 : { - if (HEAP32[$1 + 4 >> 2] <= HEAP32[$0 + 20196 >> 2]) { - break label$3; - } - $14 = silk_init_encoder($34, HEAP32[$0 + 5092 >> 2]); - HEAP32[$0 + 20144 >> 2] = 1; - HEAP32[$0 + 20148 >> 2] = 0; - HEAP32[$0 + 20136 >> 2] = 0; - HEAP32[$0 + 20140 >> 2] = 0; - HEAP32[$0 + 20128 >> 2] = 0; - HEAP32[$0 + 20152 >> 2] = 1; - HEAP32[$0 + 20156 >> 2] = 16384; - if (HEAP32[$0 + 20192 >> 2] != 2) { - break label$3; - } - memcpy($0 + 15840 | 0, $0 + 5776 | 0, 300); - $20 = HEAP32[$0 + 4 >> 2]; - $12 = HEAP32[$0 >> 2]; - HEAP32[$0 + 10064 >> 2] = $12; - HEAP32[$0 + 10068 >> 2] = $20; - } - $24 = HEAP32[$1 + 24 >> 2]; - label$4 : { - if (($24 | 0) != HEAP32[$0 + 4612 >> 2]) { - $8 = HEAP32[$1 + 4 >> 2]; - $21 = 1; - break label$4; - } - $8 = HEAP32[$1 + 4 >> 2]; - $21 = ($8 | 0) != HEAP32[$0 + 20196 >> 2]; - } - $9 = HEAP32[$1 >> 2]; - HEAP32[$0 + 20196 >> 2] = $8; - HEAP32[$0 + 20192 >> 2] = $9; - $10 = Math_imul($3, 100); - $9 = HEAP32[$1 + 8 >> 2]; - $18 = ($10 | 0) / ($9 | 0) | 0; - label$6 : { - label$7 : { - label$8 : { - label$9 : { - if ($6) { - if (($18 | 0) != 1) { - break label$6; - } - if (($6 | 0) == 2) { - $12 = HEAP32[$0 + 28 >> 2]; - $20 = HEAP32[$0 + 24 >> 2]; - HEAP32[$15 + 24 >> 2] = $20; - HEAP32[$15 + 28 >> 2] = $12; - $20 = HEAP32[$0 + 20 >> 2]; - $12 = HEAP32[$0 + 16 >> 2]; - HEAP32[$15 + 16 >> 2] = $12; - HEAP32[$15 + 20 >> 2] = $20; - $13 = HEAP32[$0 + 4576 >> 2]; - } - $9 = 0; - label$12 : { - if (($8 | 0) > 0) { - $11 = ($6 | 0) != 2; - $23 = $15; - break label$12; - } - HEAP32[$1 + 24 >> 2] = 10; - $35 = HEAP32[$1 + 36 >> 2]; - HEAP32[$1 + 36 >> 2] = 0; - break label$9; - } - label$14 : { - while (1) { - $8 = Math_imul($9, 10064) + $0 | 0; - $10 = silk_init_encoder($8, HEAP32[$8 + 5092 >> 2]); - if (!$11) { - $12 = HEAP32[$15 + 20 >> 2]; - $20 = HEAP32[$15 + 16 >> 2]; - HEAP32[$8 + 16 >> 2] = $20; - HEAP32[$8 + 20 >> 2] = $12; - $20 = HEAP32[$23 + 28 >> 2]; - $12 = HEAP32[$23 + 24 >> 2]; - HEAP32[$8 + 24 >> 2] = $12; - HEAP32[$8 + 28 >> 2] = $20; - HEAP32[$8 + 32 >> 2] = $13; - } - if (!$10) { - $8 = HEAP32[$1 + 4 >> 2]; - $9 = $9 + 1 | 0; - if (($8 | 0) <= ($9 | 0)) { - break label$14; - } - continue; - } - break; - } - celt_fatal(17522, 17507, 222); - abort(); - } - $24 = HEAP32[$1 + 24 >> 2]; - HEAP32[$1 + 24 >> 2] = 10; - $35 = HEAP32[$1 + 36 >> 2]; - $14 = 0; - HEAP32[$1 + 36 >> 2] = 0; - if (($8 | 0) < 1) { - break label$9; - } - while (1) { - $9 = Math_imul($14, 10064) + $0 | 0; - HEAP32[$9 + 4680 >> 2] = 1; - HEAP32[$9 + 4668 >> 2] = 0; - $14 = $14 + 1 | 0; - if (($14 | 0) != ($8 | 0)) { - continue; - } - break; - } - $14 = 0; - break label$9; - } - if ((Math_imul($9, $18) | 0) != ($10 | 0) | ($3 | 0) < 0) { - break label$7; - } - $9 = Math_imul($9, $24); - $24 = 0; - if ((Math_imul($3, 1e3) | 0) > ($9 | 0)) { - break label$8; - } - } - label$19 : { - label$20 : { - label$21 : { - label$22 : { - if (($8 | 0) < 1) { - break label$22; - } - $11 = $21 ^ -1; - $10 = 0; - while (1) { - $8 = 0; - $9 = Math_imul($10, 10064) + $0 | 0; - $8 = ($10 | 0) == 1 ? HEAP32[$0 + 4576 >> 2] : $8; - $14 = silk_control_encoder($9, $1, HEAP32[$0 + 20208 >> 2], $10, $8); - if ($14) { - break label$20; - } - label$26 : { - if (!HEAP32[$9 + 4664 >> 2] & $11) { - break label$26; - } - $8 = 0; - if (HEAP32[$0 + 5744 >> 2] < 1) { - break label$26; - } - while (1) { - HEAP32[(($8 << 2) + $9 | 0) + 4724 >> 2] = 0; - $8 = $8 + 1 | 0; - if (($8 | 0) < HEAP32[$0 + 5744 >> 2]) { - continue; - } - break; - } - } - HEAP32[$9 + 6080 >> 2] = HEAP32[$9 + 6076 >> 2]; - $8 = HEAP32[$1 + 4 >> 2]; - $10 = $10 + 1 | 0; - if (($8 | 0) > ($10 | 0)) { - continue; - } - break; - } - $14 = 0; - if (($8 | 0) != 1) { - break label$22; - } - $8 = HEAP32[$0 + 4576 >> 2]; - break label$21; - } - $8 = HEAP32[$0 + 4576 >> 2]; - if (($8 | 0) != HEAP32[$0 + 14640 >> 2]) { - break label$19; - } - } - $27 = ($18 | 0) > 1 ? $18 >> 1 : 1; - $39 = $27 << 1; - $40 = $27 - 1 | 0; - $41 = $0 + 10212 | 0; - $20 = $0 + 17232 | 0; - $36 = $0 + 14784 | 0; - $42 = $0 + 15164 | 0; - $43 = $0 + 5100 | 0; - $44 = $0 + 20128 | 0; - $25 = $0 + 20180 | 0; - $45 = $0 + 14788 | 0; - $29 = $0 + 20162 | 0; - $30 = $0 + 15160 | 0; - $31 = $0 + 15840 | 0; - $26 = $0 + 5096 | 0; - $28 = $0 + 5776 | 0; - $37 = Math_imul($18, 10); - $32 = Math_imul($37, $8); - $22 = $16 - (((Math_imul($32, HEAP32[$0 + 4556 >> 2]) | 0) / (Math_imul($8, 1e3) | 0) << 1) + 15 & -16) | 0; - __stack_pointer = $22; - $21 = 0; - label$28 : { - while (1) { - $10 = HEAP32[$0 + 5740 >> 2]; - $8 = HEAP32[$0 + 4584 >> 2] - $10 | 0; - $11 = ($8 | 0) < ($32 | 0) ? $8 : $32; - $19 = (Math_imul($11, HEAP32[$0 + 4556 >> 2]) | 0) / (Math_imul(HEAP32[$0 + 4576 >> 2], 1e3) | 0) | 0; - label$30 : { - label$31 : { - label$32 : { - label$33 : { - label$34 : { - label$35 : { - label$36 : { - switch (HEAP32[$1 >> 2] - 1 | 0) { - case 1: - label$38 : { - switch (HEAP32[$1 + 4 >> 2] - 1 | 0) { - case 1: - $9 = HEAP32[$0 + 5748 >> 2]; - $8 = 0; - $13 = ($19 | 0) < 1; - if (!$13) { - while (1) { - HEAP16[($8 << 1) + $22 >> 1] = HEAPU16[($8 << 2) + $2 >> 1]; - $8 = $8 + 1 | 0; - if (($19 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - if (!(HEAP32[$0 + 20200 >> 2] != 1 | $9)) { - memcpy($31, $28, 300); - } - $8 = silk_resampler($28, (($10 << 1) + $26 | 0) + 4 | 0, $22, $19); - HEAP32[$0 + 5740 >> 2] = HEAP32[$0 + 5740 >> 2] + $11; - $9 = HEAP32[$0 + 15804 >> 2]; - $10 = HEAP32[$0 + 14648 >> 2] - $9 | 0; - $11 = Math_imul(HEAP32[$0 + 14640 >> 2], $37); - $10 = ($10 | 0) < ($11 | 0) ? $10 : $11; - $11 = $8 + $14 | 0; - $8 = 0; - if (!$13) { - while (1) { - HEAP16[($8 << 1) + $22 >> 1] = HEAPU16[($8 << 2 | 2) + $2 >> 1]; - $8 = $8 + 1 | 0; - if (($19 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - $8 = silk_resampler($31, (($9 << 1) + $30 | 0) + 4 | 0, $22, $19); - HEAP32[$0 + 15804 >> 2] = HEAP32[$0 + 15804 >> 2] + $10; - $14 = $8 + $11 | 0; - $8 = HEAP32[$0 + 5740 >> 2]; - break label$35; - case 0: - break label$38; - default: - break label$34; - } - } - $8 = 0; - if (($19 | 0) >= 1) { - while (1) { - $9 = $8 << 2; - $9 = HEAP16[($9 | 2) + $2 >> 1] + HEAP16[$2 + $9 >> 1] | 0; - HEAP16[($8 << 1) + $22 >> 1] = ($9 >>> 1 | 0) + ($9 & 1); - $8 = $8 + 1 | 0; - if (($19 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - $14 = silk_resampler($28, (($10 << 1) + $26 | 0) + 4 | 0, $22, $19) + $14 | 0; - label$47 : { - if (HEAP32[$0 + 5748 >> 2] | HEAP32[$0 + 20200 >> 2] != 2) { - break label$47; - } - $14 = silk_resampler($31, ((HEAP32[$0 + 15804 >> 2] << 1) + $30 | 0) + 4 | 0, $22, $19) + $14 | 0; - $13 = HEAP32[$0 + 4584 >> 2]; - if (($13 | 0) < 1) { - break label$47; - } - $17 = HEAP32[$0 + 15804 >> 2]; - $18 = HEAP32[$0 + 5740 >> 2]; - $8 = 0; - while (1) { - $9 = $8 + 2 | 0; - $10 = ($18 + $9 << 1) + $26 | 0; - HEAP16[$10 >> 1] = HEAP16[($9 + $17 << 1) + $30 >> 1] + HEAP16[$10 >> 1] >>> 1; - $8 = $8 + 1 | 0; - if (($13 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - $8 = HEAP32[$0 + 5740 >> 2] + $11 | 0; - HEAP32[$0 + 5740 >> 2] = $8; - break label$35; - case 0: - break label$36; - default: - break label$34; - } - } - if (HEAP32[$1 + 4 >> 2] != 1) { - break label$34; - } - $9 = silk_resampler($28, (($10 << 1) + $26 | 0) + 4 | 0, memcpy($22, $2, $19 << 1), $19); - $8 = HEAP32[$0 + 5740 >> 2] + $11 | 0; - HEAP32[$0 + 5740 >> 2] = $8; - $14 = $9 + $14 | 0; - } - $46 = HEAP32[$1 >> 2]; - HEAP32[$0 + 20208 >> 2] = 0; - $9 = HEAP32[$0 + 4584 >> 2]; - $12 = 0; - if (($9 | 0) > ($8 | 0)) { - break label$28; - } - if (($8 | 0) != ($9 | 0)) { - break label$33; - } - $8 = HEAP32[$1 + 4 >> 2]; - if (HEAP32[$0 + 15804 >> 2] != HEAP32[$0 + 14648 >> 2] ? ($8 | 0) != 1 : 0) { - break label$32; - } - if (HEAP32[$0 + 5748 >> 2] | $6) { - break label$30; - } - $17 = 0; - HEAP16[$15 + 14 >> 1] = 0; - HEAP8[$15 + 14 | 0] = 0 - (256 >>> Math_imul(HEAP32[$0 + 5744 >> 2] + 1 | 0, $8) | 0); - ec_enc_icdf($4, 0, $15 + 14 | 0, 8); - $11 = HEAP32[$1 + 4 >> 2]; - if (($11 | 0) <= 0) { - break label$31; - } - while (1) { - $8 = 0; - $9 = 0; - $13 = Math_imul($17, 10064) + $0 | 0; - $10 = HEAP32[$13 + 5744 >> 2]; - if (($10 | 0) >= 1) { - while (1) { - $9 = HEAP32[(($8 << 2) + $13 | 0) + 4724 >> 2] << $8 | $9; - $8 = $8 + 1 | 0; - if (($10 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - HEAP8[$13 + 4723 | 0] = ($9 | 0) > 0; - if (!(!$9 | ($10 | 0) < 2)) { - ec_enc_icdf($4, $9 - 1 | 0, HEAP32[($10 << 2) + 5808 >> 2], 8); - $11 = HEAP32[$1 + 4 >> 2]; - } - $17 = $17 + 1 | 0; - if (($17 | 0) < ($11 | 0)) { - continue; - } - break; - } - break label$31; - } - celt_fatal(17672, 17507, 320); - abort(); - } - celt_fatal(17758, 17507, 336); - abort(); - } - celt_fatal(17857, 17507, 337); - abort(); - } - $10 = 0; - if (HEAP32[$0 + 5744 >> 2] > 0) { - while (1) { - if (($11 | 0) >= 1) { - $17 = $10 - 1 | 0; - $33 = $10 + $25 | 0; - $13 = $10 << 2; - $18 = $45 + $13 | 0; - $16 = Math_imul($10, 6) + $29 | 0; - $9 = 0; - while (1) { - $8 = Math_imul($9, 10064) + $0 | 0; - if (HEAP32[($13 + $8 | 0) + 4724 >> 2]) { - label$59 : { - if (($11 | 0) != 2 | $9) { - break label$59; - } - silk_stereo_encode_pred($4, $16); - if (HEAP32[$18 >> 2]) { - break label$59; - } - silk_stereo_encode_mid_only($4, HEAP8[$33 | 0]); - } - $12 = $8; - $23 = $4; - $47 = $10; - label$60 : { - if ($10) { - $11 = 2; - if (HEAP32[(($17 << 2) + $8 | 0) + 4724 >> 2]) { - break label$60; - } - } - $11 = 0; - } - silk_encode_indices($12, $23, $47, 1, $11); - $11 = Math_imul($10, 36) + $8 | 0; - silk_encode_pulses($4, HEAP8[$11 + 6129 | 0], HEAP8[$11 + 6130 | 0], (Math_imul($10, 320) + $8 | 0) + 6208 | 0, HEAP32[$8 + 4584 >> 2]); - $11 = HEAP32[$1 + 4 >> 2]; - } - $9 = $9 + 1 | 0; - if (($11 | 0) > ($9 | 0)) { - continue; - } - break; - } - } - $10 = $10 + 1 | 0; - if (($10 | 0) < HEAP32[$0 + 5744 >> 2]) { - continue; - } - break; - } - } - $8 = 0; - if (($11 | 0) > 0) { - while (1) { - $9 = Math_imul($8, 10064) + $0 | 0; - HEAP32[$9 + 4724 >> 2] = 0; - HEAP32[$9 + 4728 >> 2] = 0; - HEAP32[$9 + 4732 >> 2] = 0; - $8 = $8 + 1 | 0; - if (($8 | 0) < HEAP32[$1 + 4 >> 2]) { - continue; - } - break; - } - } - HEAP32[$0 + 20184 >> 2] = (HEAP32[$4 + 20 >> 2] + Math_clz32(HEAP32[$4 + 28 >> 2]) | 0) - 32; - } - silk_HP_variable_cutoff($0); - $8 = HEAP32[$1 + 28 >> 2]; - $10 = HEAP32[$1 + 24 >> 2]; - $9 = (Math_imul($8, $10) | 0) / 1e3 | 0; - $9 = $6 ? $9 : $9 - HEAP32[$0 + 20184 >> 2] | 0; - $11 = ($9 | 0) / HEAP32[$0 + 5744 >> 2] | 0; - $9 = Math_imul($11 << 16 >> 16, ($10 | 0) == 10 ? 100 : 50) - (HEAP32[$0 + 20188 >> 2] << 1) | 0; - label$65 : { - if ($6) { - break label$65; - } - $10 = HEAP32[$0 + 5748 >> 2]; - if (($10 | 0) < 1) { - break label$65; - } - $9 = ((HEAP32[$0 + 20184 >> 2] + ((Math_imul($10, $11) - HEAP32[$4 + 20 >> 2] | 0) - Math_clz32(HEAP32[$4 + 28 >> 2]) | 0) << 1) + $9 | 0) - -64 | 0; - } - label$66 : { - if (($8 | 0) >= 5001) { - $16 = $8; - if (($8 | 0) < ($9 | 0)) { - break label$66; - } - $16 = ($9 | 0) > 5e3 ? $9 : 5e3; - break label$66; - } - $16 = 5e3; - if (($9 | 0) > 5e3) { - break label$66; - } - $16 = ($8 | 0) > ($9 | 0) ? $8 : $9; - } - label$68 : { - if (HEAP32[$1 + 4 >> 2] == 2) { - $8 = HEAP32[$0 + 5748 >> 2]; - silk_stereo_LR_to_MS($44, $43, $42, Math_imul($8, 6) + $29 | 0, $8 + $25 | 0, $15 + 16 | 0, $16, HEAP32[$0 + 4532 >> 2], HEAP32[$1 + 60 >> 2], HEAP32[$0 + 4576 >> 2], HEAP32[$0 + 4584 >> 2]); - $8 = HEAP32[$0 + 5748 >> 2]; - label$70 : { - if (!HEAPU8[$25 + $8 | 0]) { - if (HEAP32[$0 + 20212 >> 2] == 1) { - $12 = $20; - HEAP32[$12 >> 2] = 0; - HEAP32[$12 + 4 >> 2] = 0; - HEAP32[$12 + 8 >> 2] = 0; - HEAP32[$0 + 10080 >> 2] = 0; - HEAP32[$0 + 10084 >> 2] = 0; - memset($41, 0, 4384); - HEAP8[$0 + 17232 | 0] = 10; - HEAP32[$0 + 14540 >> 2] = 100; - HEAP32[$0 + 14608 >> 2] = 100; - HEAP8[$0 + 14605 | 0] = 0; - HEAP32[$0 + 14728 >> 2] = 1; - HEAP32[$0 + 14556 >> 2] = 65536; - } - silk_encode_do_VAD_FLP($34, $7); - break label$70; - } - HEAP8[$8 + $36 | 0] = 0; - } - if ($6) { - break label$68; - } - silk_stereo_encode_pred($4, Math_imul(HEAP32[$0 + 5748 >> 2], 6) + $29 | 0); - $8 = HEAP32[$0 + 5748 >> 2]; - if (HEAPU8[$36 + $8 | 0]) { - break label$68; - } - silk_stereo_encode_mid_only($4, HEAP8[$8 + $25 | 0]); - break label$68; - } - HEAP32[$0 + 5096 >> 2] = HEAP32[$0 + 20132 >> 2]; - $12 = (HEAP32[$0 + 4584 >> 2] << 1) + $26 | 0; - HEAP32[$0 + 20132 >> 2] = HEAPU16[$12 >> 1] | HEAPU16[$12 + 2 >> 1] << 16; - } - $33 = Math_imul($19, $46); - silk_encode_do_VAD_FLP($0, $7); - $13 = HEAP32[$1 + 4 >> 2]; - if (($13 | 0) >= 1) { - $18 = !$21 & ($27 | 0) == 2; - $8 = 0; - while (1) { - $10 = HEAP32[$1 + 56 >> 2]; - $11 = (Math_imul($10, 3) | 0) / 5 | 0; - label$75 : { - if ($18) { - break label$75; - } - $11 = $10; - if (($27 | 0) != 3) { - break label$75; - } - $11 = ($10 << 1) / 5 | 0; - if (!$21) { - break label$75; - } - $11 = $10; - if (($21 | 0) != 1) { - break label$75; - } - $11 = (Math_imul($10, 3) | 0) / 4 | 0; - } - $17 = ($21 | 0) == ($40 | 0) & HEAP32[$1 + 52 >> 2] != 0; - label$76 : { - if (($13 | 0) == 1) { - $9 = $16; - break label$76; - } - $9 = HEAP32[($15 + 16 | 0) + ($8 << 2) >> 2]; - if (HEAP32[$15 + 20 >> 2] < 1 | $8) { - break label$76; - } - $11 = $11 - (($10 | 0) / ($39 | 0) | 0) | 0; - $17 = 0; - } - if (($9 | 0) >= 1) { - $10 = Math_imul($8, 10064) + $0 | 0; - silk_control_SNR($10, $9); - $12 = $5; - $23 = $4; - $9 = 0; - label$79 : { - if (HEAP32[$0 + 5748 >> 2] <= ($8 | 0)) { - break label$79; - } - if ($8) { - $9 = 1; - if (HEAP32[$0 + 20212 >> 2]) { - break label$79; - } - } - $9 = 2; - } - $14 = silk_encode_frame_FLP($10, $12, $23, $9, $11, $17); - $13 = HEAP32[$1 + 4 >> 2]; - } - $9 = Math_imul($8, 10064) + $0 | 0; - HEAP32[$9 + 5740 >> 2] = 0; - HEAP32[$9 + 4668 >> 2] = 0; - HEAP32[$9 + 5748 >> 2] = HEAP32[$9 + 5748 >> 2] + 1; - $8 = $8 + 1 | 0; - if (($13 | 0) > ($8 | 0)) { - continue; - } - break; - } - } - $18 = $33 << 1; - $3 = $3 - $19 | 0; - $16 = HEAP32[$0 + 5748 >> 2]; - HEAP32[$0 + 20212 >> 2] = HEAP8[($25 + $16 | 0) - 1 | 0]; - label$81 : { - if (HEAP32[$0 + 5744 >> 2] != ($16 | 0) | HEAP32[$5 >> 2] < 1) { - break label$81; - } - $17 = 0; - $8 = 0; - if (($13 | 0) >= 1) { - while (1) { - $9 = $8 << 1; - $8 = 0; - $10 = Math_imul($17, 10064) + $0 | 0; - $11 = HEAP32[$10 + 5744 >> 2]; - if (($11 | 0) >= 1) { - while (1) { - $9 = (HEAP8[($8 + $10 | 0) + 4720 | 0] | $9) << 1; - $8 = $8 + 1 | 0; - if (($11 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - $8 = HEAP8[$10 + 4723 | 0] | $9; - $17 = $17 + 1 | 0; - if (($17 | 0) != ($13 | 0)) { - continue; - } - break; - } - } - if (!$6) { - ec_enc_patch_initial_bits($4, $8, Math_imul($16 + 1 | 0, $13)); - } - if (!(!HEAP32[$0 + 6080 >> 2] | (HEAP32[$0 + 16144 >> 2] ? 0 : HEAP32[$1 + 4 >> 2] != 1))) { - HEAP32[$5 >> 2] = 0; - } - $9 = HEAP32[$1 + 24 >> 2]; - $8 = (HEAP32[$0 + 20188 >> 2] + (HEAP32[$5 >> 2] << 3) | 0) + ((Math_imul($9, HEAP32[$1 + 28 >> 2]) | 0) / -1e3 | 0) | 0; - $8 = ($8 | 0) > 0 ? $8 : 0; - HEAP32[$0 + 20188 >> 2] = ($8 | 0) < 1e4 ? $8 : 1e4; - $8 = HEAP32[$0 + 20204 >> 2]; - if (HEAP32[$0 + 4532 >> 2] < ((Math_imul($8 << 16 >> 16, 3188) >> 16) + 13 | 0)) { - HEAP32[$0 + 20204 >> 2] = 0; - HEAP32[$0 + 20208 >> 2] = 1; - break label$81; - } - HEAP32[$0 + 20208 >> 2] = 0; - HEAP32[$0 + 20204 >> 2] = $8 + $9; - } - $2 = $2 + $18 | 0; - $21 = $21 + 1 | 0; - if ($3) { - continue; - } - break; - } - $12 = HEAP32[$0 + 20208 >> 2]; - } - $10 = HEAP32[$1 + 4 >> 2]; - HEAP32[$0 + 20200 >> 2] = $10; - $8 = $12; - HEAP32[$1 + 76 >> 2] = $8; - $8 = HEAP32[$0 + 4576 >> 2]; - $38 = ($8 | 0) == 16 ? !HEAP32[$0 + 28 >> 2] : $38; - HEAP32[$1 + 80 >> 2] = $38; - HEAP32[$1 + 72 >> 2] = Math_imul($8 << 16 >> 16, 1e3); - $8 = 0; - $8 = HEAP32[$1 + 60 >> 2] ? $8 : HEAP16[$0 + 20156 >> 1]; - HEAP32[$1 + 84 >> 2] = $8; - label$93 : { - if (!$6) { - break label$93; - } - HEAP32[$1 + 36 >> 2] = $35; - HEAP32[$1 + 24 >> 2] = $24; - if (($10 | 0) < 1) { - break label$93; - } - $8 = 0; - while (1) { - $9 = Math_imul($8, 10064) + $0 | 0; - HEAP32[$9 + 4680 >> 2] = 0; - HEAP32[$9 + 4668 >> 2] = 0; - $8 = $8 + 1 | 0; - if (($10 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - $8 = HEAP8[$0 + 4765 | 0]; - HEAP32[$1 + 92 >> 2] = $8; - HEAP32[$1 + 96 >> 2] = HEAP16[(($8 << 1 & -4) + (HEAP8[$0 + 4766 | 0] << 1) | 0) + 5840 >> 1]; - } - __stack_pointer = $15 + 32 | 0; - return $14; - } - celt_fatal(17545, 17507, 262); - abort(); - } - celt_fatal(17487, 17507, 241); - abort(); - } - celt_fatal(17487, 17507, 235); - abort(); - } - celt_fatal(17487, 17507, 206); - abort(); - } - celt_fatal(17487, 17507, 170); - abort(); -} -function quant_all_bands($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22) { - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = Math_fround(0), $34 = Math_fround(0), $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = Math_fround(0), $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = Math_fround(0), $87 = 0, $88 = 0, $89 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = Math_fround(0); - $27 = __stack_pointer - 1568 | 0; - $25 = $27; - __stack_pointer = $25; - $28 = 1; - $37 = HEAP32[$1 + 32 >> 2]; - $63 = $37 + ($2 << 1) | 0; - $41 = HEAP16[$63 >> 1] << $17; - $49 = $5 ? 2 : 1; - $31 = $25 - ((Math_imul($49, (HEAP16[((HEAP32[$1 + 8 >> 2] << 1) + $37 | 0) - 2 >> 1] << $17) - $41 | 0) << 2) + 15 & -16) | 0; - $26 = $31; - __stack_pointer = $26; - $27 = HEAP32[$1 + 8 >> 2]; - $29 = HEAP16[(($27 << 1) + $37 | 0) - 2 >> 1]; - $38 = $29 << $17 << 2; - $50 = !$11 & (($0 | 0) != 0 & ($5 | 0) != 0) & ($20 | 0) > 7; - $59 = $50 | !$0; - $39 = $9 ? 1 << $17 : 1; - label$1 : { - if ($50) { - $28 = HEAP16[($27 << 1) + $37 >> 1] - $29 << $17; - $32 = $26 - (($28 << 2) + 15 & -16) | 0; - $26 = $32; - __stack_pointer = $26; - break label$1; - } - $32 = $4 + $38 | 0; - } - $27 = ($28 << 2) + 15 & -16; - $64 = $26 - $27 | 0; - $26 = $64; - __stack_pointer = $26; - $65 = $26 - $27 | 0; - $26 = $65; - __stack_pointer = $26; - $66 = $26 - $27 | 0; - $26 = $66; - __stack_pointer = $26; - $67 = $26 - $27 | 0; - $26 = $67; - __stack_pointer = $26; - $60 = $26 - $27 | 0; - __stack_pointer = $60; - HEAP32[$25 + 1532 >> 2] = $16; - HEAP32[$25 + 1540 >> 2] = $7; - HEAP32[$25 + 1520 >> 2] = $12; - HEAP32[$25 + 1504 >> 2] = $0; - HEAP32[$25 + 1512 >> 2] = $1; - $27 = HEAP32[$19 >> 2]; - HEAP32[$25 + 1556 >> 2] = $22; - HEAP32[$25 + 1548 >> 2] = $21; - HEAP32[$25 + 1524 >> 2] = $10; - HEAP32[$25 + 1544 >> 2] = $27; - $0 = ($39 | 0) > 1; - HEAP32[$25 + 1560 >> 2] = $0; - HEAP32[$25 + 1552 >> 2] = 0; - HEAP32[$25 + 1508 >> 2] = $59; - if (($2 | 0) < ($3 | 0)) { - $101 = $5 ? $31 : 0; - $102 = ($10 | 0) != 3 | $0; - $45 = $16 + 28 | 0; - $46 = $16 + 8 | 0; - $103 = $59 ^ 1; - $21 = $49 - 1 | 0; - $68 = $2 + 2 | 0; - $51 = $2 + 1 | 0; - $69 = $3 - 1 | 0; - $27 = 0 - $41 << 2; - $38 = ($31 + $38 | 0) - ($41 << 2) | 0; - $104 = $27 + $38 | 0; - $42 = $27 + $31 | 0; - $70 = -1 << $39 ^ -1; - $52 = $2; - $10 = 1; - while (1) { - $22 = $52; - HEAP32[$25 + 1516 >> 2] = $22; - label$5 : { - label$6 : { - $52 = $22 + 1 | 0; - $35 = ($22 << 1) + $37 | 0; - $0 = HEAP16[$35 >> 1] << $17; - $27 = (HEAP16[($52 << 1) + $37 >> 1] << $17) - $0 | 0; - if (($27 | 0) > 0) { - $61 = ec_tell_frac($16); - $26 = $14 - $61 | 0; - HEAP32[$25 + 1536 >> 2] = $26 - 1; - $71 = $15 - (($2 | 0) == ($22 | 0) ? 0 : $61) | 0; - $36 = 0; - label$8 : { - if (($18 | 0) <= ($22 | 0)) { - break label$8; - } - $15 = $18 - $22 | 0; - $15 = HEAP32[($22 << 2) + $8 >> 2] + (($71 | 0) / ((($15 | 0) < 3 ? $15 : 3) | 0) | 0) | 0; - $15 = ($15 | 0) > ($26 | 0) ? $26 : $15; - $36 = 16383; - if (($15 | 0) > 16383) { - break label$8; - } - $36 = ($15 | 0) > 0 ? $15 : 0; - } - $15 = $0 << 2; - $40 = !$59 | (((HEAP16[$35 >> 1] << $17) - $27 | 0) < HEAP16[$63 >> 1] << $17 ? ($22 | 0) != ($51 | 0) : 0) ? $40 : $10 ? $22 : $40 ? $40 : $22; - $0 = $5 + $15 | 0; - $72 = ($22 | 0) != ($51 | 0); - label$11 : { - if ($72) { - break label$11; - } - $26 = HEAP32[$1 + 32 >> 2]; - $28 = HEAP16[$26 + ($51 << 1) >> 1]; - $10 = $28 - HEAP16[($2 << 1) + $26 >> 1] << $17; - $9 = $10 << 2; - $26 = HEAP16[($68 << 1) + $26 >> 1] - $28 << $17; - $28 = ($10 << 1) - $26 << 2; - $26 = $26 - $10 << 2; - memcpy($31 + $9 | 0, $31 + $28 | 0, $26); - if (!$11) { - break label$11; - } - memcpy($9 + $38 | 0, $28 + $38 | 0, $26); - } - $43 = $5 ? $0 : 0; - $20 = $4 + $15 | 0; - $62 = $22 << 2; - $15 = HEAP32[$62 + $13 >> 2]; - HEAP32[$25 + 1528 >> 2] = $15; - $29 = HEAP32[$1 + 12 >> 2] > ($22 | 0); - $32 = $29 ? $32 : 0; - $44 = ($22 | 0) == ($69 | 0); - $47 = $44 ? 0 : $32; - $30 = -1; - label$12 : { - if (!$40) { - $0 = $70; - $26 = $0; - break label$12; - } - $0 = $70; - $26 = $0; - if (!(($15 | 0) < 0 | $102)) { - break label$12; - } - $15 = ((HEAP16[($40 << 1) + $37 >> 1] << $17) - $41 | 0) - $27 | 0; - $30 = ($15 | 0) > 0 ? $15 : 0; - $0 = $41 + $30 | 0; - $15 = $40; - while (1) { - $26 = $15; - $15 = $15 - 1 | 0; - if (HEAP16[($15 << 1) + $37 >> 1] << $17 > ($0 | 0)) { - continue; - } - break; - } - $9 = $0 + $27 | 0; - $10 = $40 - 1 | 0; - $28 = (($22 | 0) < ($40 | 0) ? $40 : $22) - 1 | 0; - while (1) { - label$16 : { - $0 = $10; - if (($28 | 0) == ($0 | 0)) { - $0 = $28; - break label$16; - } - $10 = $0 + 1 | 0; - if (HEAP16[($10 << 1) + $37 >> 1] << $17 < ($9 | 0)) { - continue; - } - } - break; - } - $28 = ($0 | 0) < ($26 | 0) ? $15 : $0; - $0 = 0; - $26 = 0; - while (1) { - $10 = Math_imul($15, $49); - $0 = HEAPU8[$10 + $6 | 0] | $0; - $26 = HEAPU8[($10 + $21 | 0) + $6 | 0] | $26; - $10 = ($15 | 0) != ($28 | 0); - $15 = $15 + 1 | 0; - if ($10) { - continue; - } - break; - } - } - $32 = $50 ? $32 : $47; - $20 = $29 ? $20 : $31; - $9 = $29 ? $43 : $101; - if (!$11) { - break label$6; - } - if (!(($12 | 0) != ($22 | 0) | $103)) { - $15 = HEAP16[$35 >> 1] << $17; - if (($41 | 0) >= ($15 | 0)) { - break label$6; - } - $15 = $15 - $41 | 0; - $29 = ($15 | 0) > 1 ? $15 : 1; - $15 = 0; - while (1) { - $10 = $15 << 2; - $28 = $31 + $10 | 0; - HEAPF32[$28 >> 2] = Math_fround(HEAPF32[$28 >> 2] + HEAPF32[$10 + $38 >> 2]) * Math_fround(.5); - $15 = $15 + 1 | 0; - if (($29 | 0) != ($15 | 0)) { - continue; - } - break; - } - break label$6; - } - if (($12 | 0) == ($22 | 0)) { - break label$6; - } - $10 = $30 << 2; - $28 = ($30 | 0) == -1; - $29 = $28 ? 0 : $31 + $10 | 0; - $15 = $36 >>> 1 | 0; - label$21 : { - if (($22 | 0) == ($69 | 0)) { - $30 = 0; - $10 = $28 ? 0 : $10 + $38 | 0; - $20 = quant_band($25 + 1504 | 0, $20, $27, $15, $39, $29, $17, 0, Math_fround(1), $32, $0); - break label$21; - } - $10 = $28 ? 0 : $10 + $38 | 0; - $20 = quant_band($25 + 1504 | 0, $20, $27, $15, $39, $29, $17, (HEAP16[$35 >> 1] << $17 << 2) + $42 | 0, Math_fround(1), $32, $0); - $30 = (HEAP16[$35 >> 1] << $17 << 2) + $104 | 0; - } - $15 = quant_band($25 + 1504 | 0, $9, $27, $15, $39, $10, $17, $30, Math_fround(1), $32, $26); - break label$5; - } - celt_fatal(41890, 41800, 1495); - abort(); - } - label$23 : { - if ($9) { - if (!($50 ^ 1 | ($12 | 0) <= ($22 | 0))) { - $33 = HEAPF32[$7 + $62 >> 2]; - $34 = HEAPF32[(HEAP32[$1 + 8 >> 2] + $22 << 2) + $7 >> 2]; - $73 = HEAP32[$16 + 4 >> 2]; - $74 = HEAP32[$16 >> 2]; - $24 = $46; - $23 = HEAP32[$24 + 8 >> 2]; - $15 = HEAP32[$24 + 12 >> 2]; - $10 = $23; - $75 = $25 + 1496 | 0; - $23 = $75; - HEAP32[$23 >> 2] = $10; - HEAP32[$23 + 4 >> 2] = $15; - $23 = HEAP32[$24 + 4 >> 2]; - $15 = HEAP32[$24 >> 2]; - $10 = $15; - $15 = $25; - HEAP32[$15 + 1488 >> 2] = $10; - HEAP32[$15 + 1492 >> 2] = $23; - $47 = HEAP32[$16 + 24 >> 2]; - $76 = $15 + 1480 | 0; - HEAP32[$76 >> 2] = HEAP32[$45 + 16 >> 2]; - $77 = $15 + 1472 | 0; - $24 = $45; - $23 = HEAP32[$24 + 8 >> 2]; - $15 = HEAP32[$24 + 12 >> 2]; - $10 = $23; - $23 = $77; - HEAP32[$23 >> 2] = $10; - HEAP32[$23 + 4 >> 2] = $15; - $23 = HEAP32[$24 + 4 >> 2]; - $15 = HEAP32[$24 >> 2]; - $10 = $15; - $15 = $25; - HEAP32[$15 + 1464 >> 2] = $10; - HEAP32[$15 + 1468 >> 2] = $23; - $78 = $15 + 1408 | 0; - $53 = $15 + 1560 | 0; - HEAP32[$78 >> 2] = HEAP32[$53 >> 2]; - $79 = $15 + 1400 | 0; - $43 = $15 + 1552 | 0; - $24 = $43; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $10 = $23; - $23 = $79; - HEAP32[$23 >> 2] = $10; - HEAP32[$23 + 4 >> 2] = $15; - $54 = $25 + 1544 | 0; - $24 = $54; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $10 = $15; - $80 = $25 + 1392 | 0; - $15 = $80; - HEAP32[$15 >> 2] = $10; - HEAP32[$15 + 4 >> 2] = $23; - $55 = $25 + 1536 | 0; - $24 = $55; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $10 = $23; - $81 = $25 + 1384 | 0; - $23 = $81; - HEAP32[$23 >> 2] = $10; - HEAP32[$23 + 4 >> 2] = $15; - $56 = $25 + 1528 | 0; - $24 = $56; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $10 = $15; - $82 = $25 + 1376 | 0; - $15 = $82; - HEAP32[$15 >> 2] = $10; - HEAP32[$15 + 4 >> 2] = $23; - $57 = $25 + 1520 | 0; - $24 = $57; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $10 = $23; - $83 = $25 + 1368 | 0; - $23 = $83; - HEAP32[$23 >> 2] = $10; - HEAP32[$23 + 4 >> 2] = $15; - $58 = $25 + 1512 | 0; - $24 = $58; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $10 = $15; - $84 = $25 + 1360 | 0; - $15 = $84; - HEAP32[$15 >> 2] = $10; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $25; - $23 = HEAP32[$24 + 1504 >> 2]; - $15 = HEAP32[$24 + 1508 >> 2]; - $10 = $23; - $23 = $24; - HEAP32[$23 + 1352 >> 2] = $10; - HEAP32[$23 + 1356 >> 2] = $15; - $11 = $27 << 2; - $10 = memcpy($64, $20, $11); - $28 = memcpy($65, $9, $11); - HEAP32[$43 >> 2] = -1; - $15 = 0; - $85 = $0 | $26; - $0 = 0; - $48 = Math_fround(($33 < $34 ? $33 : $34) / Math_fround(3)); - $86 = Math_fround($34 + $48); - $48 = Math_fround($33 + $48); - $33 = Math_fround(0); - $30 = ($30 | 0) == -1 ? 0 : ($30 << 2) + $31 | 0; - $0 = $44 ? $0 : (HEAP16[$35 >> 1] << $17 << 2) + $42 | 0; - $105 = quant_band_stereo($23 + 1504 | 0, $20, $9, $27, $36, $39, $30, $17, $0, $32, $85); - $34 = Math_fround(0); - while (1) { - $0 = $15 << 2; - $34 = Math_fround($34 + Math_fround(HEAPF32[$10 + $0 >> 2] * HEAPF32[$0 + $20 >> 2])); - $15 = $15 + 1 | 0; - if (($27 | 0) != ($15 | 0)) { - continue; - } - break; - } - $15 = 0; - while (1) { - $0 = $15 << 2; - $33 = Math_fround($33 + Math_fround(HEAPF32[$28 + $0 >> 2] * HEAPF32[$0 + $9 >> 2])); - $15 = $15 + 1 | 0; - if (($27 | 0) != ($15 | 0)) { - continue; - } - break; - } - $24 = $16; - $15 = HEAP32[$24 + 40 >> 2]; - $23 = HEAP32[$24 + 44 >> 2]; - $0 = $15; - $87 = $25 + 1456 | 0; - $15 = $87; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $15 = HEAP32[$24 + 36 >> 2]; - $23 = HEAP32[$24 + 32 >> 2]; - $0 = $23; - $88 = $25 + 1448 | 0; - $23 = $88; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $23 = HEAP32[$24 + 28 >> 2]; - $15 = HEAP32[$24 + 24 >> 2]; - $0 = $15; - $89 = $25 + 1440 | 0; - $15 = $89; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $15 = HEAP32[$24 + 20 >> 2]; - $23 = HEAP32[$24 + 16 >> 2]; - $0 = $23; - $90 = $25 + 1432 | 0; - $23 = $90; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $46; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $91 = $25 + 1424 | 0; - $15 = $91; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $16; - $23 = HEAP32[$24 >> 2]; - $26 = $23; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $24 = $58; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $24 = $15; - $92 = $25 + 1296 | 0; - $15 = $92; - HEAP32[$15 >> 2] = $24; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $57; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $24 = $23; - $93 = $25 + 1304 | 0; - $23 = $93; - HEAP32[$23 >> 2] = $24; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $56; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $24 = $15; - $94 = $25 + 1312 | 0; - $15 = $94; - HEAP32[$15 >> 2] = $24; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $55; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $24 = $23; - $95 = $25 + 1320 | 0; - $23 = $95; - HEAP32[$23 >> 2] = $24; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $54; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $24 = $15; - $96 = $25 + 1328 | 0; - $15 = $96; - HEAP32[$15 >> 2] = $24; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $43; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $24 = $23; - $97 = $25 + 1336 | 0; - $23 = $97; - HEAP32[$23 >> 2] = $24; - HEAP32[$23 + 4 >> 2] = $15; - $98 = $25 + 1344 | 0; - HEAP32[$98 >> 2] = HEAP32[$53 >> 2]; - $23 = $25; - HEAP32[$23 + 1416 >> 2] = $26; - $15 = $0; - HEAP32[$23 + 1420 >> 2] = $15; - $24 = $23; - $15 = HEAP32[$23 + 1504 >> 2]; - $23 = HEAP32[$23 + 1508 >> 2]; - $0 = $15; - $15 = $24; - HEAP32[$15 + 1288 >> 2] = $0; - HEAP32[$15 + 1292 >> 2] = $23; - $106 = memcpy($66, $20, $11); - $107 = memcpy($67, $9, $11); - if (!$44) { - memcpy($60, (HEAP16[$35 >> 1] << $17 << 2) + $42 | 0, $11); - } - $99 = $47 + $74 | 0; - $100 = $73 - $47 | 0; - $29 = memcpy($25, $99, $100); - HEAP32[$16 + 4 >> 2] = $73; - HEAP32[$16 >> 2] = $74; - $24 = $75; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $46; - HEAP32[$23 + 8 >> 2] = $0; - HEAP32[$23 + 12 >> 2] = $15; - $24 = $29; - $15 = HEAP32[$24 + 1488 >> 2]; - $23 = HEAP32[$24 + 1492 >> 2]; - $0 = $15; - $15 = $46; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - HEAP32[$16 + 24 >> 2] = $47; - HEAP32[$45 + 16 >> 2] = HEAP32[$76 >> 2]; - $24 = $77; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $45; - HEAP32[$23 + 8 >> 2] = $0; - HEAP32[$23 + 12 >> 2] = $15; - $24 = $29; - $15 = HEAP32[$24 + 1464 >> 2]; - $23 = HEAP32[$24 + 1468 >> 2]; - $0 = $15; - $15 = $45; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $84; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $58; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $83; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $57; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $82; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $56; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $81; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $55; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $80; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $54; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $79; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $43; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - HEAP32[$53 >> 2] = HEAP32[$78 >> 2]; - $24 = $29; - $23 = HEAP32[$24 + 1352 >> 2]; - $15 = HEAP32[$24 + 1356 >> 2]; - $0 = $23; - $23 = $24; - HEAP32[$23 + 1504 >> 2] = $0; - HEAP32[$23 + 1508 >> 2] = $15; - $26 = memcpy($20, $10, $11); - $9 = memcpy($9, $28, $11); - if (!$72) { - $15 = HEAP32[$1 + 32 >> 2]; - $20 = HEAP16[$15 + ($51 << 1) >> 1]; - $0 = $20 - HEAP16[($2 << 1) + $15 >> 1] << $17; - $15 = HEAP16[($68 << 1) + $15 >> 1] - $20 << $17; - memcpy(($0 << 2) + $31 | 0, (($0 << 1) - $15 << 2) + $31 | 0, $15 - $0 << 2); - } - HEAP32[$29 + 1552 >> 2] = 1; - $15 = 0; - $0 = 0; - $34 = Math_fround($48 * $34); - $33 = Math_fround($86 * $33); - $108 = Math_fround($34 + $33); - $33 = Math_fround(0); - $0 = $44 ? $0 : (HEAP16[$35 >> 1] << $17 << 2) + $42 | 0; - $20 = quant_band_stereo($29 + 1504 | 0, $26, $9, $27, $36, $39, $30, $17, $0, $32, $85); - $34 = Math_fround(0); - while (1) { - $0 = $15 << 2; - $34 = Math_fround($34 + Math_fround(HEAPF32[$10 + $0 >> 2] * HEAPF32[$0 + $26 >> 2])); - $15 = $15 + 1 | 0; - if (($27 | 0) != ($15 | 0)) { - continue; - } - break; - } - $15 = 0; - while (1) { - $0 = $15 << 2; - $33 = Math_fround($33 + Math_fround(HEAPF32[$28 + $0 >> 2] * HEAPF32[$0 + $9 >> 2])); - $15 = $15 + 1 | 0; - if (($27 | 0) != ($15 | 0)) { - continue; - } - break; - } - if (!(Math_fround(Math_fround($48 * $34) + Math_fround($86 * $33)) <= $108 ^ 1)) { - $15 = HEAP32[$29 + 1416 >> 2]; - $23 = HEAP32[$24 + 1420 >> 2]; - $0 = $15; - $15 = $16; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $87; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $16; - HEAP32[$23 + 40 >> 2] = $0; - HEAP32[$23 + 44 >> 2] = $15; - $24 = $88; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $16; - HEAP32[$15 + 32 >> 2] = $0; - HEAP32[$15 + 36 >> 2] = $23; - $24 = $89; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $16; - HEAP32[$23 + 24 >> 2] = $0; - HEAP32[$23 + 28 >> 2] = $15; - $24 = $90; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $16; - HEAP32[$15 + 16 >> 2] = $0; - HEAP32[$15 + 20 >> 2] = $23; - $24 = $91; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $46; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $92; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $58; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $93; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $57; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $94; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $56; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $95; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $55; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $96; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $54; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $97; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $43; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - HEAP32[$53 >> 2] = HEAP32[$98 >> 2]; - $24 = $29; - $15 = HEAP32[$24 + 1288 >> 2]; - $23 = HEAP32[$24 + 1292 >> 2]; - $0 = $15; - $15 = $24; - HEAP32[$15 + 1504 >> 2] = $0; - HEAP32[$15 + 1508 >> 2] = $23; - memcpy($26, $106, $11); - memcpy($9, $107, $11); - if (!$44) { - memcpy((HEAP16[$35 >> 1] << $17 << 2) + $42 | 0, $60, $11); - } - memcpy($99, $29, $100); - $20 = $105; - } - $11 = 0; - break label$23; - } - $11 = 0; - HEAP32[$25 + 1552 >> 2] = 0; - $15 = 0; - $10 = ($30 | 0) == -1 ? 0 : ($30 << 2) + $31 | 0; - $15 = $44 ? $15 : (HEAP16[$35 >> 1] << $17 << 2) + $42 | 0; - $20 = quant_band_stereo($25 + 1504 | 0, $20, $9, $27, $36, $39, $10, $17, $15, $32, $0 | $26); - break label$23; - } - $11 = 0; - $15 = 0; - $10 = ($30 | 0) == -1 ? 0 : ($30 << 2) + $31 | 0; - $15 = $44 ? $15 : (HEAP16[$35 >> 1] << $17 << 2) + $42 | 0; - $20 = quant_band($25 + 1504 | 0, $20, $27, $36, $39, $10, $17, $15, Math_fround(1), $32, $0 | $26); - } - $15 = $20; - } - $0 = Math_imul($22, $49); - HEAP8[$6 + $0 | 0] = $20; - HEAP8[($0 + $21 | 0) + $6 | 0] = $15; - $15 = HEAP32[$8 + $62 >> 2]; - HEAP32[$25 + 1560 >> 2] = 0; - $15 = ($61 + $71 | 0) + $15 | 0; - $10 = $27 << 3 < ($36 | 0); - if (($3 | 0) != ($52 | 0)) { - continue; - } - break; - } - $27 = HEAP32[$25 + 1544 >> 2]; - } - HEAP32[$19 >> 2] = $27; - __stack_pointer = $25 + 1568 | 0; -} -function silk_NSQ_c($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) { - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0; - $15 = __stack_pointer; - $60 = $15; - HEAP32[$1 + 4340 >> 2] = HEAP8[$2 + 34 | 0]; - $32 = HEAP32[$1 + 4328 >> 2]; - $19 = HEAPU8[$2 + 31 | 0]; - $23 = HEAP8[$2 + 29 | 0]; - $22 = HEAP8[$2 + 30 | 0]; - $18 = HEAP32[$0 + 4592 >> 2]; - $17 = HEAP32[$0 + 4584 >> 2]; - $16 = $18 + $17 | 0; - $34 = $15 - (($16 << 2) + 15 & -16) | 0; - $15 = $34; - __stack_pointer = $15; - $39 = $15 - (($16 << 1) + 15 & -16) | 0; - $16 = $39; - __stack_pointer = $16; - $15 = HEAP32[$0 + 4588 >> 2]; - $40 = $16 - (($15 << 2) + 15 & -16) | 0; - __stack_pointer = $40; - HEAP32[$1 + 4332 >> 2] = $18; - HEAP32[$1 + 4336 >> 2] = $18; - label$1 : { - label$2 : { - label$3 : { - $16 = HEAP32[$0 + 4580 >> 2]; - if (($16 | 0) >= 1) { - $30 = $13 << 16 >> 16; - $25 = HEAP16[(($23 << 1 & -4) + ($22 << 1) | 0) + 5840 >> 1]; - $41 = $25 + 944 | 0; - $46 = Math_imul($30, $41 << 16 >> 16); - $47 = $25 - 944 | 0; - $61 = Math_imul(0 - ($47 << 16) >> 16, $30); - $48 = ($19 & 255) == 4; - $62 = $48 ? 3 : 1; - $63 = $25 - 80 | 0; - $64 = $1 + 3900 | 0; - $16 = $13 >>> 1 | 0; - $65 = 512 - $16 | 0; - $42 = $16 - 512 | 0; - $49 = $14 << 16 >> 16; - $43 = ($18 << 1) + $1 | 0; - $44 = Math_imul($25, $30); - $66 = ($13 | 0) < 2049; - $28 = $1 + 3840 | 0; - $67 = $28; - while (1) { - $22 = $24 << 2; - $29 = HEAP32[$22 + $8 >> 2]; - HEAP32[$1 + 4348 >> 2] = 0; - $19 = 1; - $21 = (($24 >>> 1 | $48) << 5) + $5 | 0; - label$6 : { - if (($23 & 255) != 2) { - break label$6; - } - $23 = 2; - $32 = HEAP32[($24 << 2) + $12 >> 2]; - if ($24 & $62) { - break label$6; - } - $18 = HEAP32[$0 + 4592 >> 2]; - $13 = HEAP32[$0 + 4640 >> 2]; - $16 = ($18 - $32 | 0) - $13 | 0; - if (($16 | 0) <= 2) { - break label$3; - } - $16 = $16 - 2 | 0; - silk_LPC_analysis_filter(($16 << 1) + $39 | 0, (Math_imul($15, $24) + $16 << 1) + $1 | 0, $21, $18 - $16 | 0, $13, HEAP32[$0 + 5092 >> 2]); - HEAP32[$1 + 4348 >> 2] = 1; - HEAP32[$1 + 4332 >> 2] = HEAP32[$0 + 4592 >> 2]; - $23 = HEAPU8[$2 + 29 | 0]; - $19 = 0; - } - $20 = $11 + $22 | 0; - $14 = HEAP32[$20 >> 2]; - $16 = ($14 | 0) > 1 ? $14 : 1; - $13 = Math_clz32($16); - $15 = $16 << $13 - 1; - $18 = $15 >> 16; - $17 = 536870911 / ($18 | 0) | 0; - $35 = ($17 >> 15) + 1 >> 1; - $26 = $15 & 65535; - $17 = $17 << 16; - $15 = $17 >> 16; - $18 = 0 - ((Math_imul($26, $15) >> 16) + Math_imul($15, $18) << 3) | 0; - $15 = ((Math_imul($18, $35) + $17 | 0) + Math_imul($18 >> 16, $15) | 0) + (Math_imul($18 & 65528, $15) >> 16) | 0; - $18 = 15 - $13 | 0; - $27 = HEAP32[$12 + $22 >> 2]; - label$7 : { - if ($16 >>> 0 <= 131071) { - $16 = 0 - $18 | 0; - $18 = 2147483647 >>> $16 | 0; - $13 = -2147483648 >> $16; - $17 = (($15 | 0) > ($18 | 0) ? $18 : ($13 | 0) > ($15 | 0) ? $13 : $15) << $16; - break label$7; - } - $17 = $15 >> $18; - } - $33 = HEAP32[$0 + 4588 >> 2]; - if (($33 | 0) >= 1) { - $15 = ($17 >> 4) + 1 | 0; - $18 = $15 << 15 >> 16; - $13 = ($15 >> 16) + 1 >> 1; - $15 = 0; - while (1) { - $16 = HEAP16[($15 << 1) + $3 >> 1]; - HEAP32[($15 << 2) + $40 >> 2] = (Math_imul($16 >> 16, $18) + Math_imul($13, $16) | 0) + (Math_imul($16 & 65535, $18) >> 16); - $15 = $15 + 1 | 0; - if (($33 | 0) != ($15 | 0)) { - continue; - } - break; - } - } - label$11 : { - if ($19) { - break label$11; - } - $17 = $24 ? $17 : Math_imul($17 >> 16, $49) + (Math_imul($17 & 65535, $49) >> 16) << 2; - $18 = HEAP32[$1 + 4332 >> 2]; - $15 = ($18 - $27 | 0) - 2 | 0; - if (($15 | 0) >= ($18 | 0)) { - break label$11; - } - $13 = $17 & 65535; - $17 = $17 >> 16; - while (1) { - $16 = HEAP16[($15 << 1) + $39 >> 1]; - HEAP32[($15 << 2) + $34 >> 2] = (Math_imul($16, $13) >> 16) + Math_imul($16, $17); - $15 = $15 + 1 | 0; - if (($18 | 0) != ($15 | 0)) { - continue; - } - break; - } - } - $15 = HEAP32[$1 + 4344 >> 2]; - if (($15 | 0) != ($14 | 0)) { - $16 = $15 >> 31; - $18 = Math_clz32($16 ^ $15 + $16); - $16 = $15 << $18 - 1; - $35 = $16; - $15 = $14 >> 31; - $13 = Math_clz32($15 ^ $14 + $15); - $17 = $14 << $13 - 1; - $15 = 536870911 / ($17 >> 16) << 16 >> 16; - $16 = (Math_imul($15, $16 & 65535) >> 16) + Math_imul($16 >> 16, $15) | 0; - $19 = $16 >> 31; - $26 = $19; - $19 = $17 >> 31; - $14 = $19; - $19 = $26; - $14 = __wasm_i64_mul($16, $19, $17, $14); - $17 = $14; - $19 = i64toi32_i32$HIGH_BITS; - $17 = $35 - ((($19 & 536870911) << 3 | $17 >>> 29) & -8) | 0; - $15 = (Math_imul($17 >> 16, $15) + $16 | 0) + (Math_imul($17 & 65535, $15) >> 16) | 0; - $16 = $18 - $13 | 0; - $18 = $16 + 13 | 0; - $16 = $16 + 29 | 0; - label$15 : { - if (($16 | 0) <= 15) { - $16 = 0 - $18 | 0; - $18 = 2147483647 >>> $16 | 0; - $13 = -2147483648 >> $16; - $18 = (($15 | 0) > ($18 | 0) ? $18 : ($13 | 0) > ($15 | 0) ? $13 : $15) << $16; - break label$15; - } - $18 = ($16 | 0) < 48 ? $15 >> $18 : 0; - } - $15 = HEAP32[$0 + 4592 >> 2]; - if (($15 | 0) >= 1) { - $17 = $18 & 65535; - $14 = $18 >> 16; - $15 = HEAP32[$1 + 4336 >> 2] - $15 | 0; - while (1) { - $16 = (($15 << 2) + $1 | 0) + 1280 | 0; - $19 = $16; - $16 = HEAP32[$16 >> 2]; - $13 = $16 << 16 >> 16; - HEAP32[$19 >> 2] = ((Math_imul($17, $13) >> 16) + Math_imul($13, $14) | 0) + Math_imul(($16 >> 15) + 1 >> 1, $18); - $15 = $15 + 1 | 0; - if (($15 | 0) < HEAP32[$1 + 4336 >> 2]) { - continue; - } - break; - } - } - label$19 : { - if (HEAP32[$1 + 4348 >> 2] | ($23 & 255) != 2) { - break label$19; - } - $17 = HEAP32[$1 + 4332 >> 2]; - $15 = ($17 - $27 | 0) - 2 | 0; - if (($15 | 0) >= ($17 | 0)) { - break label$19; - } - $14 = $18 & 65535; - $19 = $18 >> 16; - while (1) { - $16 = ($15 << 2) + $34 | 0; - $26 = $16; - $16 = HEAP32[$16 >> 2]; - $13 = $16 << 16 >> 16; - HEAP32[$26 >> 2] = ((Math_imul($14, $13) >> 16) + Math_imul($13, $19) | 0) + Math_imul(($16 >> 15) + 1 >> 1, $18); - $15 = $15 + 1 | 0; - if (($17 | 0) != ($15 | 0)) { - continue; - } - break; - } - } - $13 = $18 & 65535; - $15 = HEAP32[$1 + 4320 >> 2]; - $16 = $15 << 16 >> 16; - $17 = $18 >> 16; - HEAP32[$1 + 4320 >> 2] = ((Math_imul($13, $16) >> 16) + Math_imul($17, $16) | 0) + Math_imul(($15 >> 15) + 1 >> 1, $18); - $15 = HEAP32[$1 + 4324 >> 2]; - $16 = $15 << 16 >> 16; - HEAP32[$1 + 4324 >> 2] = ((Math_imul($16, $13) >> 16) + Math_imul($16, $17) | 0) + Math_imul(($15 >> 15) + 1 >> 1, $18); - $15 = 0; - $16 = 0; - while (1) { - $14 = (($16 << 2) + $1 | 0) + 3840 | 0; - $26 = $14; - $14 = HEAP32[$14 >> 2]; - $19 = $14 << 16 >> 16; - HEAP32[$26 >> 2] = ((Math_imul($19, $13) >> 16) + Math_imul($17, $19) | 0) + Math_imul(($14 >> 15) + 1 >> 1, $18); - $16 = $16 + 1 | 0; - if (($16 | 0) != 16) { - continue; - } - break; - } - while (1) { - $16 = (($15 << 2) + $1 | 0) + 4224 | 0; - $19 = $16; - $16 = HEAP32[$16 >> 2]; - $14 = $16 << 16 >> 16; - HEAP32[$19 >> 2] = ((Math_imul($14, $13) >> 16) + Math_imul($14, $17) | 0) + Math_imul(($16 >> 15) + 1 >> 1, $18); - $15 = $15 + 1 | 0; - if (($15 | 0) != 24) { - continue; - } - break; - } - HEAP32[$1 + 4344 >> 2] = HEAP32[$20 >> 2]; - $33 = HEAP32[$0 + 4588 >> 2]; - $14 = HEAP32[$20 >> 2]; - } - if (($33 | 0) >= 1) { - $36 = Math_imul($24, 10) + $6 | 0; - $27 = 0; - $50 = ($23 & 255) != 2; - $68 = $50 | ($32 | 0) > 0; - $15 = $29 >> 2; - $51 = ($15 | $29 << 15) >> 16; - $16 = HEAP32[$10 + $22 >> 2]; - $52 = $16 >> 16; - $29 = HEAP32[$0 + 4636 >> 2]; - $69 = $29 >> 1; - $70 = $29 & 1; - $53 = HEAP32[$0 + 4640 >> 2]; - $71 = $53 >> 1; - $54 = $14 << 10 >> 16; - $55 = $15 << 16 >> 16; - $56 = $16 << 16 >> 16; - $72 = ($14 >> 21) + 1 >> 1; - $14 = Math_imul($24, 48) + $7 | 0; - $15 = $29 - 1 | 0; - $35 = $14 + ($15 << 1) | 0; - $26 = (($15 << 2) + $1 | 0) + 4224 | 0; - $37 = ((HEAP32[$1 + 4336 >> 2] - $32 << 2) + $1 | 0) + 1284 | 0; - $31 = ((HEAP32[$1 + 4332 >> 2] - $32 << 2) + $34 | 0) + 8 | 0; - $57 = HEAP16[$9 + $22 >> 1]; - $15 = HEAP32[$1 + 4340 >> 2]; - $20 = $64; - while (1) { - HEAP32[$1 + 4340 >> 2] = Math_imul($15, 196314165) + 907633515; - $16 = HEAP16[$21 >> 1]; - $15 = HEAP32[$20 >> 2]; - $13 = (Math_imul($16, $15 >> 16) + $71 | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 2 >> 1]; - $15 = HEAP32[$20 - 4 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 4 >> 1]; - $15 = HEAP32[$20 - 8 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 6 >> 1]; - $15 = HEAP32[$20 - 12 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 8 >> 1]; - $15 = HEAP32[$20 - 16 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 10 >> 1]; - $15 = HEAP32[$20 - 20 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 12 >> 1]; - $15 = HEAP32[$20 - 24 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 14 >> 1]; - $15 = HEAP32[$20 - 28 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 16 >> 1]; - $15 = HEAP32[$20 - 32 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 18 >> 1]; - $15 = HEAP32[$20 - 36 >> 2]; - $38 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - if (($53 | 0) == 16) { - $16 = HEAP16[$21 + 20 >> 1]; - $15 = HEAP32[$20 - 40 >> 2]; - $13 = (Math_imul($16, $15 >> 16) + $38 | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 22 >> 1]; - $15 = HEAP32[$20 - 44 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 24 >> 1]; - $15 = HEAP32[$20 - 48 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 26 >> 1]; - $15 = HEAP32[$20 - 52 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 28 >> 1]; - $15 = HEAP32[$20 - 56 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 30 >> 1]; - $15 = HEAP32[$20 - 60 >> 2]; - $38 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - } - $45 = 0; - if (!$50) { - $16 = HEAP16[$36 >> 1]; - $15 = HEAP32[$31 >> 2]; - $13 = Math_imul($16, $15 >> 16) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$36 + 2 >> 1]; - $15 = HEAP32[$31 - 4 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$36 + 4 >> 1]; - $15 = HEAP32[$31 - 8 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$36 + 6 >> 1]; - $15 = HEAP32[$31 - 12 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$36 + 8 >> 1]; - $15 = HEAP32[$31 - 16 >> 2]; - $45 = (($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0) + 2 | 0; - $31 = $31 + 4 | 0; - } - if ($70) { - break label$2; - } - $16 = HEAP32[$1 + 4224 >> 2]; - $15 = HEAP32[$1 + 4324 >> 2]; - HEAP32[$1 + 4224 >> 2] = $15; - $18 = HEAP16[$14 >> 1]; - $17 = (Math_imul($18, $15 >> 16) + $69 | 0) + (Math_imul($15 & 65535, $18) >> 16) | 0; - $15 = 2; - if (($29 | 0) >= 3) { - while (1) { - $13 = $1 + 4224 | 0; - $19 = $15 - 1 | 0; - $22 = $13 + ($19 << 2) | 0; - $18 = HEAP32[$22 >> 2]; - HEAP32[$22 >> 2] = $16; - $22 = ($15 << 2) + $13 | 0; - $23 = HEAP32[$22 >> 2]; - $13 = HEAP16[($19 << 1) + $14 >> 1]; - HEAP32[$22 >> 2] = $18; - $13 = (Math_imul($16 >> 16, $13) + $17 | 0) + (Math_imul($16 & 65535, $13) >> 16) | 0; - $16 = HEAP16[($15 << 1) + $14 >> 1]; - $17 = ($13 + Math_imul($16, $18 >> 16) | 0) + (Math_imul($18 & 65535, $16) >> 16) | 0; - $16 = $23; - $15 = $15 + 2 | 0; - if (($29 | 0) > ($15 | 0)) { - continue; - } - break; - } - } - HEAP32[$26 >> 2] = $16; - if (!$68) { - break label$1; - } - $15 = HEAP32[$1 + 4320 >> 2]; - $18 = $15 & 65535; - $15 = $15 >> 16; - $13 = HEAP16[$35 >> 1]; - $22 = ((Math_imul($57, $18) >> 16) + Math_imul($57, $15) | 0) + ((Math_imul($13, $16 >> 16) + $17 | 0) + (Math_imul($16 & 65535, $13) >> 16) << 1) | 0; - $13 = Math_imul($15, $52) + (Math_imul($18, $52) >> 16) | 0; - $15 = HEAP32[((HEAP32[$1 + 4336 >> 2] << 2) + $1 | 0) + 1276 >> 2]; - $23 = ($13 + Math_imul($15 >> 16, $56) | 0) + (Math_imul($15 & 65535, $56) >> 16) | 0; - $15 = (($38 << 2) - $22 | 0) - $23 | 0; - label$29 : { - if (($32 | 0) >= 1) { - $13 = ($15 << 1) + $45 | 0; - $15 = HEAP32[$37 - 4 >> 2]; - $16 = HEAP32[$37 - 8 >> 2] + HEAP32[$37 >> 2] | 0; - $15 = $13 - (((Math_imul($15 >> 16, $51) + Math_imul($16 >> 16, $55) | 0) + (Math_imul($16 & 65535, $55) >> 16) | 0) + (Math_imul($15 & 65535, $51) >> 16) << 1) >> 2; - $37 = $37 + 4 | 0; - break label$29; - } - $15 = $15 >> 1; - } - label$31 : { - label$32 : { - label$33 : { - label$34 : { - $58 = ($27 << 2) + $40 | 0; - $15 = HEAP32[$58 >> 2] - ($15 + 1 >> 1) | 0; - $15 = HEAP32[$1 + 4340 >> 2] < 0 ? 0 - $15 | 0 : $15; - $15 = ($15 | 0) > -31744 ? $15 : -31744; - $13 = ($15 | 0) < 30720 ? $15 : 30720; - $15 = $13 - $25 | 0; - $16 = $15; - label$35 : { - if ($66) { - break label$35; - } - $16 = $15 - $42 | 0; - if (($15 | 0) > ($42 | 0)) { - break label$35; - } - if (($15 | 0) >= ($65 | 0)) { - break label$34; - } - $16 = $15 + $42 | 0; - } - $15 = $16; - if (($15 | 0) >= 1024) { - $16 = ($15 & -1024) + $63 | 0; - $17 = Math_imul($16 << 16 >> 16, $30); - $18 = $16 + 1024 | 0; - $19 = Math_imul($18 << 16 >> 16, $30); - break label$31; - } - $16 = $25; - $18 = $41; - $17 = $44; - $19 = $46; - switch (($15 >> 10) + 1 | 0) { - case 1: - break label$31; - case 0: - break label$33; - default: - break label$32; - } - } - $16 = $25; - $18 = $41; - $17 = $44; - $19 = $46; - if (($15 | 0) >= 0) { - break label$31; - } - } - $16 = $47; - $18 = $25; - $17 = $61; - $19 = $44; - break label$31; - } - $16 = ($15 & -1024 | 80) + $25 | 0; - $17 = Math_imul(0 - ($16 << 16) >> 16, $30); - $18 = $16 + 1024 | 0; - $19 = Math_imul(0 - ($18 << 16) >> 16, $30); - } - $59 = $4 + $27 | 0; - $15 = $13 - $18 << 16 >> 16; - $19 = Math_imul($15, $15) + $19 | 0; - $15 = $13 - $16 << 16 >> 16; - $15 = ($19 | 0) < (Math_imul($15, $15) + $17 | 0) ? $18 : $16; - HEAP8[$59 | 0] = ($15 >>> 9 | 0) + 1 >>> 1; - $15 = $15 << 4; - $18 = ($45 << 1) + (HEAP32[$1 + 4340 >> 2] < 0 ? 0 - $15 | 0 : $15) | 0; - $15 = $18 + ($38 << 4) | 0; - $16 = (Math_imul($15 >> 16, $54) + Math_imul($15, $72) | 0) + (Math_imul($15 & 65534, $54) >> 16) | 0; - HEAP16[($27 << 1) + $43 >> 1] = ($16 | 0) > 8388479 ? 32767 : ($16 | 0) < -8388736 ? -32768 : ($16 >>> 7 | 0) + 1 >>> 1 | 0; - HEAP32[$20 + 4 >> 2] = $15; - $15 = $15 - (HEAP32[$58 >> 2] << 4) | 0; - HEAP32[$1 + 4324 >> 2] = $15; - $15 = $15 - ($22 << 2) | 0; - HEAP32[$1 + 4320 >> 2] = $15; - HEAP32[((HEAP32[$1 + 4336 >> 2] << 2) + $1 | 0) + 1280 >> 2] = $15 - ($23 << 2); - $15 = HEAP32[$1 + 4332 >> 2]; - HEAP32[($15 << 2) + $34 >> 2] = $18 << 1; - HEAP32[$1 + 4332 >> 2] = $15 + 1; - HEAP32[$1 + 4336 >> 2] = HEAP32[$1 + 4336 >> 2] + 1; - $15 = HEAP32[$1 + 4340 >> 2] + HEAP8[$59 | 0] | 0; - HEAP32[$1 + 4340 >> 2] = $15; - $20 = $20 + 4 | 0; - $27 = $27 + 1 | 0; - if (($33 | 0) != ($27 | 0)) { - continue; - } - break; - } - } - $15 = ($33 << 2) + $1 | 0; - $19 = $15 + 3896 | 0; - $14 = HEAP32[$19 >> 2]; - $17 = HEAP32[$19 + 4 >> 2]; - $13 = $14; - $14 = $67; - HEAP32[$14 + 56 >> 2] = $13; - HEAP32[$14 + 60 >> 2] = $17; - $19 = $15 + 3888 | 0; - $17 = HEAP32[$19 >> 2]; - $14 = HEAP32[$19 + 4 >> 2]; - $13 = $17; - $17 = $28; - HEAP32[$17 + 48 >> 2] = $13; - HEAP32[$17 + 52 >> 2] = $14; - $19 = $15 + 3880 | 0; - $14 = HEAP32[$19 >> 2]; - $17 = HEAP32[$19 + 4 >> 2]; - $13 = $14; - $14 = $28; - HEAP32[$14 + 40 >> 2] = $13; - HEAP32[$14 + 44 >> 2] = $17; - $19 = $15 + 3872 | 0; - $17 = HEAP32[$19 >> 2]; - $14 = HEAP32[$19 + 4 >> 2]; - $13 = $17; - $17 = $28; - HEAP32[$17 + 32 >> 2] = $13; - HEAP32[$17 + 36 >> 2] = $14; - $19 = $15 + 3864 | 0; - $14 = HEAP32[$19 >> 2]; - $17 = HEAP32[$19 + 4 >> 2]; - $13 = $14; - $14 = $28; - HEAP32[$14 + 24 >> 2] = $13; - HEAP32[$14 + 28 >> 2] = $17; - $19 = $15 + 3856 | 0; - $17 = HEAP32[$19 >> 2]; - $14 = HEAP32[$19 + 4 >> 2]; - $13 = $17; - $17 = $28; - HEAP32[$17 + 16 >> 2] = $13; - HEAP32[$17 + 20 >> 2] = $14; - $19 = $15 + 3848 | 0; - $14 = HEAP32[$19 >> 2]; - $17 = HEAP32[$19 + 4 >> 2]; - $13 = $14; - $14 = $28; - HEAP32[$14 + 8 >> 2] = $13; - HEAP32[$14 + 12 >> 2] = $17; - $19 = $15 + 3840 | 0; - $17 = HEAP32[$19 >> 2]; - $14 = HEAP32[$19 + 4 >> 2]; - $13 = $17; - $17 = $28; - HEAP32[$17 >> 2] = $13; - HEAP32[$17 + 4 >> 2] = $14; - $16 = HEAP32[$0 + 4580 >> 2]; - $24 = $24 + 1 | 0; - if (($16 | 0) > ($24 | 0)) { - $15 = HEAP32[$0 + 4588 >> 2]; - $4 = $15 + $4 | 0; - $16 = $15 << 1; - $3 = $16 + $3 | 0; - $43 = $16 + $43 | 0; - $23 = HEAPU8[$2 + 29 | 0]; - continue; - } - break; - } - $17 = HEAP32[$0 + 4584 >> 2]; - $18 = HEAP32[$0 + 4592 >> 2]; - } - HEAP32[$1 + 4328 >> 2] = HEAP32[(($16 << 2) + $12 | 0) - 4 >> 2]; - $15 = memmove($1, ($17 << 1) + $1 | 0, $18 << 1) + 1280 | 0; - memmove($15, (HEAP32[$0 + 4584 >> 2] << 2) + $15 | 0, HEAP32[$0 + 4592 >> 2] << 2); - __stack_pointer = $60; - return; - } - celt_fatal(16318, 16350, 146); - abort(); - } - celt_fatal(16361, 16350, 250); - abort(); - } - celt_fatal(16408, 16350, 258); - abort(); -} -function silk_encode_frame_FLP($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = Math_fround(0), $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - $9 = __stack_pointer - 13584 | 0; - __stack_pointer = $9; - HEAP32[$9 + 40 >> 2] = 0; - HEAP32[$9 + 44 >> 2] = 0; - HEAP32[$9 + 32 >> 2] = 0; - HEAP32[$9 + 36 >> 2] = 0; - $10 = HEAP32[$0 + 4620 >> 2]; - HEAP8[$0 + 4770 | 0] = $10 & 3; - HEAP32[$0 + 4620 >> 2] = $10 + 1; - $10 = HEAP32[$0 + 4592 >> 2]; - silk_LP_variable_cutoff($0 + 16 | 0, $0 + 5098 | 0, HEAP32[$0 + 4584 >> 2]); - $14 = $10 << 2; - $28 = $0 + 7180 | 0; - $15 = $14 + $28 | 0; - $11 = Math_imul(HEAP32[$0 + 4576 >> 2], 5); - $12 = $15 + ($11 << 2) | 0; - $13 = HEAP32[$0 + 4584 >> 2]; - if (($13 | 0) >= 1) { - $10 = $13; - while (1) { - $6 = $10 - 1 | 0; - HEAPF32[($6 << 2) + $12 >> 2] = HEAP16[(($10 << 1) + $0 | 0) + 5096 >> 1]; - $7 = ($10 | 0) > 1; - $10 = $6; - if ($7) { - continue; - } - break; - } - } - HEAPF32[$12 >> 2] = HEAPF32[$12 >> 2] + Math_fround(9.999999974752427e-7); - $10 = $13 >> 3; - $6 = ($11 + $10 << 2) + $15 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] + Math_fround(9.999999974752427e-7); - $6 = (($10 << 1) + $11 << 2) + $15 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] + Math_fround(-9.999999974752427e-7); - $6 = (Math_imul($10, 3) + $11 << 2) + $15 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] + Math_fround(-9.999999974752427e-7); - $6 = (($10 << 2) + $11 << 2) + $15 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] + Math_fround(9.999999974752427e-7); - $6 = (Math_imul($10, 5) + $11 << 2) + $15 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] + Math_fround(9.999999974752427e-7); - $6 = (Math_imul($10, 6) + $11 << 2) + $15 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] + Math_fround(-9.999999974752427e-7); - $10 = (Math_imul($10, 7) + $11 << 2) + $15 | 0; - HEAPF32[$10 >> 2] = HEAPF32[$10 >> 2] + Math_fround(-9.999999974752427e-7); - label$3 : { - if (HEAP32[$0 + 4680 >> 2]) { - break label$3; - } - $20 = $0 + 4736 | 0; - silk_find_pitch_lags_FLP($0, $9 + 8480 | 0, $9 + 5792 | 0, $15, HEAP32[$0 + 5092 >> 2]); - $10 = ($9 + 5792 | 0) + $14 | 0; - silk_noise_shape_analysis_FLP($0, $9 + 8480 | 0, $10, $15); - silk_find_pred_coefs_FLP($0, $9 + 8480 | 0, $10, $15, $3); - silk_process_gains_FLP($0, $9 + 8480 | 0, $3); - if (!(!HEAP32[$0 + 6092 >> 2] | HEAP32[$0 + 4532 >> 2] < 78)) { - $10 = HEAP32[$0 + 5748 >> 2]; - HEAP32[(($10 << 2) + $0 | 0) + 4724 >> 2] = 1; - memcpy($9 + 9232 | 0, $0 + 148 | 0, 4352); - $12 = (Math_imul($10, 36) + $0 | 0) + 6100 | 0; - $7 = $0 + 4768 | 0; - $7 = HEAPU16[$7 >> 1] | HEAPU16[$7 + 2 >> 1] << 16; - HEAP16[$12 + 32 >> 1] = $7; - HEAP16[$12 + 34 >> 1] = $7 >>> 16; - $8 = $0 + 4760 | 0; - $6 = HEAPU16[$8 >> 1] | HEAPU16[$8 + 2 >> 1] << 16; - $7 = HEAPU16[$8 + 4 >> 1] | HEAPU16[$8 + 6 >> 1] << 16; - $8 = $6; - $6 = $12; - HEAP16[$6 + 24 >> 1] = $8; - HEAP16[$6 + 26 >> 1] = $8 >>> 16; - HEAP16[$6 + 28 >> 1] = $7; - HEAP16[$6 + 30 >> 1] = $7 >>> 16; - $8 = $0 + 4752 | 0; - $7 = HEAPU16[$8 >> 1] | HEAPU16[$8 + 2 >> 1] << 16; - $6 = HEAPU16[$8 + 4 >> 1] | HEAPU16[$8 + 6 >> 1] << 16; - $8 = $7; - $7 = $12; - HEAP16[$7 + 16 >> 1] = $8; - HEAP16[$7 + 18 >> 1] = $8 >>> 16; - HEAP16[$7 + 20 >> 1] = $6; - HEAP16[$7 + 22 >> 1] = $6 >>> 16; - $8 = $0 + 4744 | 0; - $6 = HEAPU16[$8 >> 1] | HEAPU16[$8 + 2 >> 1] << 16; - $7 = HEAPU16[$8 + 4 >> 1] | HEAPU16[$8 + 6 >> 1] << 16; - $8 = $6; - $6 = $12; - HEAP16[$6 + 8 >> 1] = $8; - HEAP16[$6 + 10 >> 1] = $8 >>> 16; - HEAP16[$6 + 12 >> 1] = $7; - HEAP16[$6 + 14 >> 1] = $7 >>> 16; - $6 = HEAPU16[$0 + 4740 >> 1] | HEAPU16[$0 + 4742 >> 1] << 16; - $7 = HEAPU16[$0 + 4736 >> 1] | HEAPU16[$0 + 4738 >> 1] << 16; - $8 = $7; - $7 = $12; - HEAP16[$7 >> 1] = $8; - HEAP16[$7 + 2 >> 1] = $8 >>> 16; - HEAP16[$7 + 4 >> 1] = $6; - HEAP16[$7 + 6 >> 1] = $6 >>> 16; - $10 = HEAP32[$0 + 4580 >> 2]; - memcpy($9 + 48 | 0, $9 + 8480 | 0, $10 << 2); - $8 = $9 + 1344 | 0; - $11 = $0 + 4540 | 0; - $14 = ($3 | 0) == 2; - $6 = HEAP32[$0 + 5748 >> 2]; - if (!(HEAP32[(($6 << 2) + $0 | 0) + 4720 >> 2] ? $6 : 0)) { - HEAP8[$0 + 4540 | 0] = HEAPU8[$0 + 7168 | 0]; - $10 = HEAPU8[$12 | 0] + HEAPU8[$0 + 6096 | 0] | 0; - HEAP8[$12 | 0] = $10 << 24 >> 24 < 63 ? $10 : 63; - $10 = HEAP32[$0 + 4580 >> 2]; - } - silk_gains_dequant($8, $7, $11, $14, $10); - $7 = HEAP32[$0 + 4580 >> 2]; - if (($7 | 0) >= 1) { - $10 = 0; - while (1) { - $6 = $10 << 2; - HEAPF32[$6 + ($9 + 8480 | 0) >> 2] = Math_fround(HEAP32[($9 + 1344 | 0) + $6 >> 2]) * Math_fround(152587890625e-16); - $10 = $10 + 1 | 0; - if (($7 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - silk_NSQ_wrapper_FLP($0, $9 + 8480 | 0, $12, $9 + 9232 | 0, (Math_imul(HEAP32[$0 + 5748 >> 2], 320) + $0 | 0) + 6208 | 0, $15); - memcpy($9 + 8480 | 0, $9 + 48 | 0, HEAP32[$0 + 4580 >> 2] << 2); - } - $16 = silk_gains_ID($20, HEAP32[$0 + 4580 >> 2]); - $8 = $2; - $6 = HEAP32[$8 + 40 >> 2]; - $7 = HEAP32[$8 + 44 >> 2]; - $11 = $6; - $29 = $9 + 5784 | 0; - $6 = $29; - HEAP32[$6 >> 2] = $11; - HEAP32[$6 + 4 >> 2] = $7; - $6 = HEAP32[$8 + 36 >> 2]; - $7 = HEAP32[$8 + 32 >> 2]; - $11 = $7; - $30 = $9 + 5776 | 0; - $7 = $30; - HEAP32[$7 >> 2] = $11; - HEAP32[$7 + 4 >> 2] = $6; - $7 = HEAP32[$8 + 28 >> 2]; - $6 = HEAP32[$8 + 24 >> 2]; - $11 = $6; - $31 = $9 + 5768 | 0; - $6 = $31; - HEAP32[$6 >> 2] = $11; - HEAP32[$6 + 4 >> 2] = $7; - $6 = HEAP32[$8 + 20 >> 2]; - $7 = HEAP32[$8 + 16 >> 2]; - $11 = $7; - $32 = $9 + 5760 | 0; - $7 = $32; - HEAP32[$7 >> 2] = $11; - HEAP32[$7 + 4 >> 2] = $6; - $7 = HEAP32[$8 + 12 >> 2]; - $6 = HEAP32[$8 + 8 >> 2]; - $11 = $6; - $33 = $9 + 5752 | 0; - $6 = $33; - HEAP32[$6 >> 2] = $11; - HEAP32[$6 + 4 >> 2] = $7; - $6 = HEAP32[$8 + 4 >> 2]; - $7 = HEAP32[$8 >> 2]; - HEAP32[$9 + 5744 >> 2] = $7; - HEAP32[$9 + 5748 >> 2] = $6; - $21 = $0 + 148 | 0; - memcpy($9 + 9232 | 0, $21, 4352); - $41 = $0 + 4736 | 0; - $34 = ($3 | 0) == 2; - $42 = $4 - 5 | 0; - $26 = $0 + 7168 | 0; - $24 = $0 + 4772 | 0; - $35 = HEAP32[$0 + 5768 >> 2]; - $36 = HEAPU16[$0 + 5772 >> 1]; - $43 = HEAPU8[$0 + 4770 | 0]; - $13 = 256; - $27 = -1; - $14 = -1; - while (1) { - $10 = ($16 | 0) == ($27 | 0); - label$10 : { - if ($10) { - $11 = $25; - break label$10; - } - if (($14 | 0) == ($16 | 0)) { - $11 = $22; - break label$10; - } - if ($17) { - $7 = HEAP32[$9 + 5748 >> 2]; - $6 = HEAP32[$9 + 5744 >> 2]; - $8 = $6; - $6 = $2; - HEAP32[$6 >> 2] = $8; - HEAP32[$6 + 4 >> 2] = $7; - $8 = $29; - $7 = HEAP32[$8 >> 2]; - $6 = HEAP32[$8 + 4 >> 2]; - $8 = $7; - $7 = $2; - HEAP32[$7 + 40 >> 2] = $8; - HEAP32[$7 + 44 >> 2] = $6; - $8 = $30; - $6 = HEAP32[$8 >> 2]; - $7 = HEAP32[$8 + 4 >> 2]; - $8 = $6; - $6 = $2; - HEAP32[$6 + 32 >> 2] = $8; - HEAP32[$6 + 36 >> 2] = $7; - $8 = $31; - $7 = HEAP32[$8 >> 2]; - $6 = HEAP32[$8 + 4 >> 2]; - $8 = $7; - $7 = $2; - HEAP32[$7 + 24 >> 2] = $8; - HEAP32[$7 + 28 >> 2] = $6; - $8 = $32; - $6 = HEAP32[$8 >> 2]; - $7 = HEAP32[$8 + 4 >> 2]; - $8 = $6; - $6 = $2; - HEAP32[$6 + 16 >> 2] = $8; - HEAP32[$6 + 20 >> 2] = $7; - $8 = $33; - $7 = HEAP32[$8 >> 2]; - $6 = HEAP32[$8 + 4 >> 2]; - $8 = $7; - $7 = $2; - HEAP32[$7 + 8 >> 2] = $8; - HEAP32[$7 + 12 >> 2] = $6; - memcpy($21, $9 + 9232 | 0, 4352); - HEAP16[$0 + 5772 >> 1] = $36; - HEAP8[$0 + 4770 | 0] = $43; - HEAP32[$0 + 5768 >> 2] = $35; - } - silk_NSQ_wrapper_FLP($0, $9 + 8480 | 0, $20, $21, $24, $15); - if (!(($17 | 0) != 6 | $19)) { - $8 = $2; - $6 = HEAP32[$8 + 16 >> 2]; - $7 = HEAP32[$8 + 20 >> 2]; - $11 = $6; - $6 = $9 + 5736 | 0; - HEAP32[$6 >> 2] = $11; - HEAP32[$6 + 4 >> 2] = $7; - $6 = HEAP32[$8 + 12 >> 2]; - $7 = HEAP32[$8 + 8 >> 2]; - $11 = $7; - $7 = $9 + 5728 | 0; - HEAP32[$7 >> 2] = $11; - HEAP32[$7 + 4 >> 2] = $6; - $7 = HEAP32[$8 + 4 >> 2]; - $6 = HEAP32[$8 >> 2]; - HEAP32[$9 + 5720 >> 2] = $6; - HEAP32[$9 + 5724 >> 2] = $7; - $18 = HEAP32[$8 + 24 >> 2]; - $6 = HEAP32[$8 + 40 >> 2]; - $7 = HEAP32[$8 + 36 >> 2]; - $11 = $7; - $7 = $9 + 5704 | 0; - HEAP32[$7 >> 2] = $11; - HEAP32[$7 + 4 >> 2] = $6; - HEAP32[$9 + 5712 >> 2] = HEAP32[$8 + 44 >> 2]; - $7 = HEAP32[$8 + 32 >> 2]; - $6 = HEAP32[$8 + 28 >> 2]; - HEAP32[$9 + 5696 >> 2] = $6; - HEAP32[$9 + 5700 >> 2] = $7; - } - silk_encode_indices($0, $2, HEAP32[$0 + 5748 >> 2], 0, $3); - silk_encode_pulses($2, HEAP8[$0 + 4765 | 0], HEAP8[$0 + 4766 | 0], $24, HEAP32[$0 + 4584 >> 2]); - $11 = (HEAP32[$2 + 20 >> 2] + Math_clz32(HEAP32[$2 + 28 >> 2]) | 0) - 32 | 0; - if (!($19 | ($11 | 0) <= ($4 | 0) | ($17 | 0) != 6)) { - $6 = HEAP32[$9 + 5724 >> 2]; - $7 = HEAP32[$9 + 5720 >> 2]; - $8 = $7; - $7 = $2; - HEAP32[$7 >> 2] = $8; - HEAP32[$7 + 4 >> 2] = $6; - $8 = $9 + 5736 | 0; - $6 = HEAP32[$8 >> 2]; - $7 = HEAP32[$8 + 4 >> 2]; - $8 = $6; - $6 = $2; - HEAP32[$6 + 16 >> 2] = $8; - HEAP32[$6 + 20 >> 2] = $7; - $8 = $9 + 5728 | 0; - $7 = HEAP32[$8 >> 2]; - $6 = HEAP32[$8 + 4 >> 2]; - $8 = $7; - $7 = $2; - HEAP32[$7 + 8 >> 2] = $8; - HEAP32[$7 + 12 >> 2] = $6; - HEAP32[$7 + 24 >> 2] = $18; - HEAP32[$7 + 44 >> 2] = HEAP32[$9 + 5712 >> 2]; - $8 = $9 + 5704 | 0; - $6 = HEAP32[$8 >> 2]; - $7 = HEAP32[$8 + 4 >> 2]; - $8 = $6; - $6 = $2; - HEAP32[$6 + 36 >> 2] = $8; - HEAP32[$6 + 40 >> 2] = $7; - $6 = HEAP32[$9 + 5700 >> 2]; - $7 = HEAP32[$9 + 5696 >> 2]; - $8 = $7; - $7 = $2; - HEAP32[$7 + 28 >> 2] = $8; - HEAP32[$7 + 32 >> 2] = $6; - $7 = HEAPU8[$9 + 9224 | 0]; - HEAP8[$0 + 7168 | 0] = $7; - $6 = HEAP32[$0 + 4580 >> 2]; - if (($6 | 0) >= 1) { - memset($41, 4, $6); - } - if (!$34) { - HEAP8[$20 | 0] = $7; - } - HEAP32[$0 + 5768 >> 2] = $35; - HEAP16[$0 + 5772 >> 1] = $36; - $6 = HEAP32[$0 + 4584 >> 2]; - if (($6 | 0) >= 1) { - memset($24, 0, $6); - } - silk_encode_indices($0, $2, HEAP32[$0 + 5748 >> 2], 0, $3); - silk_encode_pulses($2, HEAP8[$0 + 4765 | 0], HEAP8[$0 + 4766 | 0], $24, HEAP32[$0 + 4584 >> 2]); - $11 = (HEAP32[$2 + 20 >> 2] + Math_clz32(HEAP32[$2 + 28 >> 2]) | 0) - 32 | 0; - } - if ($5 | $17) { - break label$10; - } - if (($4 | 0) >= ($11 | 0)) { - break label$3; - } - } - label$19 : { - label$20 : { - label$21 : { - label$22 : { - label$23 : { - label$24 : { - if (($17 | 0) == 6) { - if (!$19 | !(($4 | 0) < ($11 | 0) | $10)) { - break label$3; - } - $7 = HEAP32[$9 + 5724 >> 2]; - $6 = HEAP32[$9 + 5720 >> 2]; - $3 = $6; - $6 = $2; - HEAP32[$6 >> 2] = $3; - HEAP32[$6 + 4 >> 2] = $7; - $8 = $9 + 5736 | 0; - $7 = HEAP32[$8 >> 2]; - $6 = HEAP32[$8 + 4 >> 2]; - $3 = $7; - $7 = $2; - HEAP32[$7 + 16 >> 2] = $3; - HEAP32[$7 + 20 >> 2] = $6; - $8 = $9 + 5728 | 0; - $6 = HEAP32[$8 >> 2]; - $7 = HEAP32[$8 + 4 >> 2]; - $3 = $6; - $6 = $2; - HEAP32[$6 + 8 >> 2] = $3; - HEAP32[$6 + 12 >> 2] = $7; - HEAP32[$6 + 24 >> 2] = $18; - HEAP32[$6 + 44 >> 2] = HEAP32[$9 + 5712 >> 2]; - $8 = $9 + 5704 | 0; - $7 = HEAP32[$8 >> 2]; - $6 = HEAP32[$8 + 4 >> 2]; - $3 = $7; - $7 = $2; - HEAP32[$7 + 36 >> 2] = $3; - HEAP32[$7 + 40 >> 2] = $6; - $7 = HEAP32[$9 + 5700 >> 2]; - $6 = HEAP32[$9 + 5696 >> 2]; - $3 = $6; - $6 = $2; - HEAP32[$6 + 28 >> 2] = $3; - HEAP32[$6 + 32 >> 2] = $7; - if ($18 >>> 0 >= 1276) { - break label$24; - } - memcpy(HEAP32[$2 >> 2], $9 + 48 | 0, $18); - memcpy($21, $9 + 1344 | 0, 4352); - HEAP8[$26 | 0] = $44; - break label$3; - } - label$26 : { - label$27 : { - label$28 : { - label$29 : { - if (($4 | 0) < ($11 | 0)) { - if ($17 >>> 0 < 2 | $19) { - break label$29; - } - $37 = Math_fround(HEAPF32[$9 + 9172 >> 2] * Math_fround(1.5)); - HEAPF32[$9 + 9172 >> 2] = $37 > Math_fround(1.5) ? $37 : Math_fround(1.5); - $38 = 0; - HEAP8[$0 + 4766 | 0] = 0; - $16 = -1; - break label$28; - } - if (($11 | 0) >= ($42 | 0)) { - break label$3; - } - if (!$10) { - $8 = $2; - $7 = HEAP32[$8 + 16 >> 2]; - $6 = HEAP32[$8 + 20 >> 2]; - $12 = $7; - $7 = $9 + 5736 | 0; - HEAP32[$7 >> 2] = $12; - HEAP32[$7 + 4 >> 2] = $6; - $7 = HEAP32[$8 + 12 >> 2]; - $6 = HEAP32[$8 + 8 >> 2]; - $12 = $6; - $6 = $9 + 5728 | 0; - HEAP32[$6 >> 2] = $12; - HEAP32[$6 + 4 >> 2] = $7; - $6 = HEAP32[$8 + 4 >> 2]; - $7 = HEAP32[$8 >> 2]; - HEAP32[$9 + 5720 >> 2] = $7; - HEAP32[$9 + 5724 >> 2] = $6; - $18 = HEAP32[$8 + 24 >> 2]; - $7 = HEAP32[$8 + 40 >> 2]; - $6 = HEAP32[$8 + 36 >> 2]; - $12 = $6; - $6 = $9 + 5704 | 0; - HEAP32[$6 >> 2] = $12; - HEAP32[$6 + 4 >> 2] = $7; - HEAP32[$9 + 5712 >> 2] = HEAP32[$8 + 44 >> 2]; - $6 = HEAP32[$8 + 32 >> 2]; - $7 = HEAP32[$8 + 28 >> 2]; - HEAP32[$9 + 5696 >> 2] = $7; - HEAP32[$9 + 5700 >> 2] = $6; - if ($18 >>> 0 >= 1276) { - break label$23; - } - memcpy($9 + 48 | 0, HEAP32[$2 >> 2], $18); - memcpy($9 + 1344 | 0, $21, 4352); - $44 = HEAPU8[$26 | 0]; - } - $23 = $13 << 16 >> 16; - $19 = 1; - if (!$38) { - break label$22; - } - $25 = $11; - $11 = $22; - $27 = $16; - break label$26; - } - $39 = $13 << 16 >> 16; - $38 = 1; - if ($19) { - break label$27; - } - $22 = $11; - } - $40 = HEAP32[$0 + 4580 >> 2]; - if (($40 | 0) < 1) { - break label$21; - } - $11 = 0; - $14 = HEAP32[$0 + 4588 >> 2]; - $12 = $14; - while (1) { - $6 = 0; - $10 = Math_imul($11, $14); - $8 = $11 + 1 | 0; - if (($10 | 0) < (Math_imul($8, $14) | 0)) { - while (1) { - $7 = HEAP8[($0 + $10 | 0) + 4772 | 0]; - $45 = $7; - $7 = $7 >> 31; - $6 = ($7 ^ $7 + $45) + $6 | 0; - $10 = $10 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - label$35 : { - label$36 : { - if ($17) { - $10 = $11 << 2; - if (HEAP32[$10 + $9 >> 2] <= ($6 | 0) | HEAP32[($9 + 32 | 0) + $10 >> 2]) { - break label$36; - } - } - HEAP16[($9 + 24 | 0) + ($11 << 1) >> 1] = $13; - HEAP32[($11 << 2) + $9 >> 2] = $6; - break label$35; - } - HEAP32[($9 + 32 | 0) + $10 >> 2] = 1; - } - $12 = $12 + $14 | 0; - $11 = $8; - if (($40 | 0) != ($11 | 0)) { - continue; - } - break; - } - break label$21; - } - $14 = $16; - $16 = $14; - if (!$19) { - break label$20; - } - } - $10 = $39 - $23 | 0; - $6 = ((Math_imul($10, $4 - $25 | 0) | 0) / ($11 - $25 | 0) | 0) + $23 | 0; - $7 = $6 << 16 >> 16; - $10 = $10 >> 2; - $13 = $23 + $10 | 0; - if (($7 | 0) > ($13 | 0)) { - break label$19; - } - $10 = $39 - $10 | 0; - $13 = ($10 | 0) > ($7 | 0) ? $10 : $6; - break label$19; - } - celt_fatal(16895, 16942, 251); - abort(); - } - celt_fatal(16972, 16942, 281); - abort(); - } - $10 = silk_log2lin((($11 - $4 << 7) / HEAP32[$0 + 4584 >> 2] | 0) + 2048 | 0); - $13 = (Math_imul($10 & 65535, $23) >>> 16 | 0) + Math_imul($10 >> 16, $23) | 0; - $25 = $11; - $11 = $22; - $27 = $16; - break label$19; - } - $11 = $22; - } - $14 = $16; - $13 = $13 << 16 >> 16 < 16384 ? $13 << 1 : 32767; - } - $10 = 0; - $12 = HEAP32[$0 + 4580 >> 2]; - if (($12 | 0) >= 1) { - while (1) { - $7 = $13; - $6 = $10 << 2; - $7 = HEAP32[$6 + ($9 + 32 | 0) >> 2] ? HEAPU16[($9 + 24 | 0) + ($10 << 1) >> 1] : $7; - $8 = ($9 + 1328 | 0) + $6 | 0; - $7 = $7 << 16 >> 16; - $6 = HEAP32[($9 + $6 | 0) + 9208 >> 2]; - $6 = (Math_imul($7, $6 & 65535) >> 16) + Math_imul($6 >> 16, $7) | 0; - $6 = ($6 | 0) > -8388608 ? $6 : -8388608; - HEAP32[$8 >> 2] = (($6 | 0) < 8388607 ? $6 : 8388607) << 8; - $10 = $10 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - HEAP8[$0 + 7168 | 0] = HEAPU8[$9 + 9224 | 0]; - silk_gains_quant($20, $9 + 1328 | 0, $26, $34, $12); - $16 = silk_gains_ID($20, HEAP32[$0 + 4580 >> 2]); - $10 = 0; - $7 = HEAP32[$0 + 4580 >> 2]; - if (($7 | 0) >= 1) { - while (1) { - $6 = $10 << 2; - HEAPF32[$6 + ($9 + 8480 | 0) >> 2] = Math_fround(HEAP32[($9 + 1328 | 0) + $6 >> 2]) * Math_fround(152587890625e-16); - $10 = $10 + 1 | 0; - if (($7 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - $17 = $17 + 1 | 0; - $22 = $11; - continue; - } - } - memmove($28, ((HEAP32[$0 + 4584 >> 2] << 2) + $0 | 0) + 7180 | 0, HEAP32[$0 + 4592 >> 2] + Math_imul(HEAP32[$0 + 4576 >> 2], 5) << 2); - $10 = 0; - if (!HEAP32[$0 + 4680 >> 2]) { - $10 = HEAP32[((HEAP32[$0 + 4580 >> 2] << 2) + $9 | 0) + 8704 >> 2]; - HEAP32[$0 + 4664 >> 2] = 0; - HEAP8[$0 + 4541 | 0] = HEAPU8[$0 + 4765 | 0]; - HEAP32[$0 + 4544 >> 2] = $10; - $10 = (HEAP32[$2 + 20 >> 2] + Math_clz32(HEAP32[$2 + 28 >> 2]) | 0) - 25 >> 3; - } - HEAP32[$1 >> 2] = $10; - __stack_pointer = $9 + 13584 | 0; - return 0; -} -function printf_core($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - $7 = __stack_pointer - 80 | 0; - __stack_pointer = $7; - HEAP32[$7 + 76 >> 2] = $1; - $22 = $7 + 55 | 0; - $20 = $7 + 56 | 0; - $1 = 0; - label$1 : { - label$2 : while (1) { - label$3 : { - if (($17 | 0) < 0) { - break label$3; - } - if ((2147483647 - $17 | 0) < ($1 | 0)) { - HEAP32[__errno_location() >> 2] = 61; - $17 = -1; - break label$3; - } - $17 = $1 + $17 | 0; - } - label$5 : { - label$7 : { - label$8 : { - $13 = HEAP32[$7 + 76 >> 2]; - $1 = $13; - $8 = HEAPU8[$1 | 0]; - if ($8) { - while (1) { - label$11 : { - $8 = $8 & 255; - label$12 : { - if (!$8) { - $8 = $1; - break label$12; - } - if (($8 | 0) != 37) { - break label$11; - } - $8 = $1; - while (1) { - if (HEAPU8[$1 + 1 | 0] != 37) { - break label$12; - } - $9 = $1 + 2 | 0; - HEAP32[$7 + 76 >> 2] = $9; - $8 = $8 + 1 | 0; - $12 = HEAPU8[$1 + 2 | 0]; - $1 = $9; - if (($12 | 0) == 37) { - continue; - } - break; - } - } - $1 = $8 - $13 | 0; - if ($0) { - out($0, $13, $1); - } - if ($1) { - continue label$2; - } - $1 = isdigit(HEAP8[HEAP32[$7 + 76 >> 2] + 1 | 0]); - $10 = $7; - $8 = HEAP32[$7 + 76 >> 2]; - label$16 : { - if (!(!$1 | HEAPU8[$8 + 2 | 0] != 36)) { - $21 = 1; - $1 = $8 + 3 | 0; - $19 = HEAP8[$8 + 1 | 0] - 48 | 0; - break label$16; - } - $1 = $8 + 1 | 0; - $19 = -1; - } - HEAP32[$10 + 76 >> 2] = $1; - $18 = 0; - $12 = HEAP8[$1 | 0]; - $9 = $12 - 32 | 0; - label$18 : { - if ($9 >>> 0 > 31) { - $8 = $1; - break label$18; - } - $8 = $1; - $9 = 1 << $9; - if (!($9 & 75913)) { - break label$18; - } - while (1) { - $8 = $1 + 1 | 0; - HEAP32[$7 + 76 >> 2] = $8; - $18 = $9 | $18; - $12 = HEAP8[$1 + 1 | 0]; - $9 = $12 - 32 | 0; - if ($9 >>> 0 >= 32) { - break label$18; - } - $1 = $8; - $9 = 1 << $9; - if ($9 & 75913) { - continue; - } - break; - } - } - label$21 : { - if (($12 | 0) == 42) { - $10 = $7; - label$23 : { - label$24 : { - if (!isdigit(HEAP8[$8 + 1 | 0])) { - break label$24; - } - $8 = HEAP32[$7 + 76 >> 2]; - if (HEAPU8[$8 + 2 | 0] != 36) { - break label$24; - } - HEAP32[((HEAP8[$8 + 1 | 0] << 2) + $4 | 0) - 192 >> 2] = 10; - $15 = HEAP32[((HEAP8[$8 + 1 | 0] << 3) + $3 | 0) - 384 >> 2]; - $21 = 1; - $1 = $8 + 3 | 0; - break label$23; - } - if ($21) { - break label$8; - } - $21 = 0; - $15 = 0; - if ($0) { - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $15 = HEAP32[$1 >> 2]; - } - $1 = HEAP32[$7 + 76 >> 2] + 1 | 0; - } - HEAP32[$10 + 76 >> 2] = $1; - if (($15 | 0) > -1) { - break label$21; - } - $15 = 0 - $15 | 0; - $18 = $18 | 8192; - break label$21; - } - $15 = getint($7 + 76 | 0); - if (($15 | 0) < 0) { - break label$8; - } - $1 = HEAP32[$7 + 76 >> 2]; - } - $11 = -1; - label$26 : { - if (HEAPU8[$1 | 0] != 46) { - break label$26; - } - if (HEAPU8[$1 + 1 | 0] == 42) { - label$28 : { - if (!isdigit(HEAP8[$1 + 2 | 0])) { - break label$28; - } - $1 = HEAP32[$7 + 76 >> 2]; - if (HEAPU8[$1 + 3 | 0] != 36) { - break label$28; - } - HEAP32[((HEAP8[$1 + 2 | 0] << 2) + $4 | 0) - 192 >> 2] = 10; - $11 = HEAP32[((HEAP8[$1 + 2 | 0] << 3) + $3 | 0) - 384 >> 2]; - $1 = $1 + 4 | 0; - HEAP32[$7 + 76 >> 2] = $1; - break label$26; - } - if ($21) { - break label$8; - } - if ($0) { - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $11 = HEAP32[$1 >> 2]; - } else { - $11 = 0; - } - $1 = HEAP32[$7 + 76 >> 2] + 2 | 0; - HEAP32[$7 + 76 >> 2] = $1; - break label$26; - } - HEAP32[$7 + 76 >> 2] = $1 + 1; - $11 = getint($7 + 76 | 0); - $1 = HEAP32[$7 + 76 >> 2]; - } - $8 = 0; - while (1) { - $9 = $8; - $16 = -1; - if (HEAP8[$1 | 0] - 65 >>> 0 > 57) { - break label$1; - } - $12 = $1 + 1 | 0; - HEAP32[$7 + 76 >> 2] = $12; - $8 = HEAP8[$1 | 0]; - $1 = $12; - $8 = HEAPU8[(Math_imul($9, 58) + $8 | 0) + 1071 | 0]; - if ($8 - 1 >>> 0 < 8) { - continue; - } - break; - } - label$32 : { - label$33 : { - if (($8 | 0) != 19) { - if (!$8) { - break label$1; - } - if (($19 | 0) >= 0) { - HEAP32[($19 << 2) + $4 >> 2] = $8; - $10 = ($19 << 3) + $3 | 0; - $14 = HEAP32[$10 >> 2]; - $10 = HEAP32[$10 + 4 >> 2]; - HEAP32[$7 + 64 >> 2] = $14; - HEAP32[$7 + 68 >> 2] = $10; - break label$33; - } - if (!$0) { - break label$5; - } - pop_arg($7 - -64 | 0, $8, $2, $6); - $12 = HEAP32[$7 + 76 >> 2]; - break label$32; - } - if (($19 | 0) > -1) { - break label$1; - } - } - $1 = 0; - if (!$0) { - continue label$2; - } - } - $14 = $18 & -65537; - $8 = $18 & 8192 ? $14 : $18; - $16 = 0; - $19 = 1116; - $18 = $20; - label$36 : { - label$37 : { - label$38 : { - label$39 : { - label$40 : { - label$41 : { - label$42 : { - label$43 : { - label$44 : { - label$45 : { - label$46 : { - label$47 : { - label$48 : { - label$49 : { - label$50 : { - label$51 : { - $1 = HEAP8[$12 - 1 | 0]; - $1 = $9 ? ($1 & 15) == 3 ? $1 & -33 : $1 : $1; - switch ($1 - 88 | 0) { - case 11: - break label$36; - case 9: - case 13: - case 14: - case 15: - break label$37; - case 27: - break label$42; - case 12: - case 17: - break label$45; - case 23: - break label$46; - case 0: - case 32: - break label$47; - case 24: - break label$48; - case 22: - break label$49; - case 29: - break label$50; - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 10: - case 16: - case 18: - case 19: - case 20: - case 21: - case 25: - case 26: - case 28: - case 30: - case 31: - break label$7; - default: - break label$51; - } - } - label$52 : { - switch ($1 - 65 | 0) { - case 0: - case 4: - case 5: - case 6: - break label$37; - case 2: - break label$40; - case 1: - case 3: - break label$7; - default: - break label$52; - } - } - if (($1 | 0) == 83) { - break label$41; - } - break label$7; - } - $10 = HEAP32[$7 + 64 >> 2]; - $9 = $10; - $14 = HEAP32[$7 + 68 >> 2]; - $1 = $14; - $19 = 1116; - break label$44; - } - $1 = 0; - label$53 : { - switch ($9 & 255) { - case 0: - HEAP32[HEAP32[$7 + 64 >> 2] >> 2] = $17; - continue label$2; - case 1: - HEAP32[HEAP32[$7 + 64 >> 2] >> 2] = $17; - continue label$2; - case 2: - $10 = $17; - $14 = $10 >> 31; - $10 = HEAP32[$7 + 64 >> 2]; - HEAP32[$10 >> 2] = $17; - HEAP32[$10 + 4 >> 2] = $14; - continue label$2; - case 3: - HEAP16[HEAP32[$7 + 64 >> 2] >> 1] = $17; - continue label$2; - case 4: - HEAP8[HEAP32[$7 + 64 >> 2]] = $17; - continue label$2; - case 6: - HEAP32[HEAP32[$7 + 64 >> 2] >> 2] = $17; - continue label$2; - case 7: - break label$53; - default: - continue label$2; - } - } - $10 = $17; - $14 = $10 >> 31; - $10 = HEAP32[$7 + 64 >> 2]; - HEAP32[$10 >> 2] = $17; - HEAP32[$10 + 4 >> 2] = $14; - continue label$2; - } - $11 = $11 >>> 0 > 8 ? $11 : 8; - $8 = $8 | 8; - $1 = 120; - } - $14 = HEAP32[$7 + 64 >> 2]; - $10 = HEAP32[$7 + 68 >> 2]; - $13 = fmt_x($14, $10, $20, $1 & 32); - if (!($8 & 8)) { - break label$43; - } - $10 = HEAP32[$7 + 64 >> 2]; - $14 = HEAP32[$7 + 68 >> 2]; - if (!($10 | $14)) { - break label$43; - } - $19 = ($1 >>> 4 | 0) + 1116 | 0; - $16 = 2; - break label$43; - } - $14 = HEAP32[$7 + 64 >> 2]; - $10 = HEAP32[$7 + 68 >> 2]; - $13 = fmt_o($14, $10, $20); - if (!($8 & 8)) { - break label$43; - } - $1 = $20 - $13 | 0; - $11 = ($1 | 0) < ($11 | 0) ? $11 : $1 + 1 | 0; - break label$43; - } - $14 = HEAP32[$7 + 68 >> 2]; - $1 = $14; - $10 = HEAP32[$7 + 64 >> 2]; - $9 = $10; - if (($14 | 0) < -1 ? 1 : ($14 | 0) <= -1) { - $10 = $9; - $9 = 0 - $10 | 0; - $14 = $1; - $10 = $14 + (($10 | 0) != 0) | 0; - $10 = 0 - $10 | 0; - $1 = $10; - HEAP32[$7 + 64 >> 2] = $9; - HEAP32[$7 + 68 >> 2] = $10; - $16 = 1; - $19 = 1116; - break label$44; - } - if ($8 & 2048) { - $16 = 1; - $19 = 1117; - break label$44; - } - $16 = $8 & 1; - $19 = $16 ? 1118 : 1116; - } - $10 = $1; - $13 = fmt_u($9, $10, $20); - } - $8 = ($11 | 0) > -1 ? $8 & -65537 : $8; - $10 = HEAP32[$7 + 64 >> 2]; - $9 = $10; - $1 = HEAP32[$7 + 68 >> 2]; - if (!(!!($10 | $1) | $11)) { - $11 = 0; - $13 = $20; - break label$7; - } - $1 = !($9 | $1) + ($20 - $13 | 0) | 0; - $11 = ($1 | 0) < ($11 | 0) ? $11 : $1; - break label$7; - } - $1 = HEAP32[$7 + 64 >> 2]; - $13 = $1 ? $1 : 1126; - $1 = memchr($13, 0, $11); - $18 = $1 ? $1 : $11 + $13 | 0; - $8 = $14; - $11 = $1 ? $1 - $13 | 0 : $11; - break label$7; - } - $9 = HEAP32[$7 + 64 >> 2]; - if ($11) { - break label$39; - } - $1 = 0; - pad($0, 32, $15, 0, $8); - break label$38; - } - HEAP32[$7 + 12 >> 2] = 0; - HEAP32[$7 + 8 >> 2] = HEAP32[$7 + 64 >> 2]; - HEAP32[$7 + 64 >> 2] = $7 + 8; - $11 = -1; - $9 = $7 + 8 | 0; - } - $1 = 0; - label$64 : { - while (1) { - $12 = HEAP32[$9 >> 2]; - if (!$12) { - break label$64; - } - $12 = wctomb($7 + 4 | 0, $12); - $13 = ($12 | 0) < 0; - if (!($13 | $11 - $1 >>> 0 < $12 >>> 0)) { - $9 = $9 + 4 | 0; - $1 = $1 + $12 | 0; - if ($11 >>> 0 > $1 >>> 0) { - continue; - } - break label$64; - } - break; - } - $16 = -1; - if ($13) { - break label$1; - } - } - pad($0, 32, $15, $1, $8); - if (!$1) { - $1 = 0; - break label$38; - } - $9 = 0; - $12 = HEAP32[$7 + 64 >> 2]; - while (1) { - $13 = HEAP32[$12 >> 2]; - if (!$13) { - break label$38; - } - $13 = wctomb($7 + 4 | 0, $13); - $9 = $13 + $9 | 0; - if (($9 | 0) > ($1 | 0)) { - break label$38; - } - out($0, $7 + 4 | 0, $13); - $12 = $12 + 4 | 0; - if ($1 >>> 0 > $9 >>> 0) { - continue; - } - break; - } - } - pad($0, 32, $15, $1, $8 ^ 8192); - $1 = ($1 | 0) < ($15 | 0) ? $15 : $1; - continue label$2; - } - $1 = FUNCTION_TABLE[$5 | 0]($0, HEAPF64[$7 + 64 >> 3], $15, $11, $8, $1) | 0; - continue label$2; - } - $10 = HEAP32[$7 + 64 >> 2]; - HEAP8[$7 + 55 | 0] = $10; - $11 = 1; - $13 = $22; - $8 = $14; - break label$7; - } - $9 = $1 + 1 | 0; - HEAP32[$7 + 76 >> 2] = $9; - $8 = HEAPU8[$1 + 1 | 0]; - $1 = $9; - continue; - } - } - $16 = $17; - if ($0) { - break label$1; - } - if (!$21) { - break label$5; - } - $1 = 1; - while (1) { - $8 = HEAP32[($1 << 2) + $4 >> 2]; - if ($8) { - pop_arg(($1 << 3) + $3 | 0, $8, $2, $6); - $16 = 1; - $1 = $1 + 1 | 0; - if (($1 | 0) != 10) { - continue; - } - break label$1; - } - break; - } - $16 = 1; - if ($1 >>> 0 >= 10) { - break label$1; - } - while (1) { - if (HEAP32[($1 << 2) + $4 >> 2]) { - break label$8; - } - $1 = $1 + 1 | 0; - if (($1 | 0) != 10) { - continue; - } - break; - } - break label$1; - } - $16 = -1; - break label$1; - } - $12 = $18 - $13 | 0; - $18 = ($11 | 0) < ($12 | 0) ? $12 : $11; - $9 = $18 + $16 | 0; - $1 = ($9 | 0) > ($15 | 0) ? $9 : $15; - pad($0, 32, $1, $9, $8); - out($0, $19, $16); - pad($0, 48, $1, $9, $8 ^ 65536); - pad($0, 48, $18, $12, 0); - out($0, $13, $12); - pad($0, 32, $1, $9, $8 ^ 8192); - continue; - } - break; - } - $16 = 0; - } - __stack_pointer = $7 + 80 | 0; - return $16; -} -function silk_NSQ_del_dec_c($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) { - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - $15 = __stack_pointer - 176 | 0; - $28 = $15; - __stack_pointer = $15; - $30 = HEAP32[$1 + 4328 >> 2]; - $15 = $15 - (Math_imul(HEAP32[$0 + 4628 >> 2], 1300) + 15 & -16) | 0; - $29 = $15; - __stack_pointer = $15; - $21 = HEAP32[$0 + 4628 >> 2]; - $27 = memset($15, 0, Math_imul($21, 1300)); - if (($21 | 0) >= 1) { - $17 = $1 + 4224 | 0; - $16 = $1 + 3840 | 0; - $22 = HEAP32[((HEAP32[$0 + 4592 >> 2] << 2) + $1 | 0) + 1276 >> 2]; - $24 = HEAP32[$1 + 4324 >> 2]; - $25 = HEAP32[$1 + 4320 >> 2]; - $31 = HEAPU8[$2 + 34 | 0]; - while (1) { - $15 = Math_imul($18, 1300) + $27 | 0; - HEAP32[$15 + 1296 >> 2] = 0; - $19 = $18 + $31 & 3; - HEAP32[$15 + 1292 >> 2] = $19; - HEAP32[$15 + 1288 >> 2] = $19; - HEAP32[$15 + 1284 >> 2] = $24; - HEAP32[$15 + 1280 >> 2] = $25; - HEAP32[$15 + 1024 >> 2] = $22; - $20 = HEAP32[$16 + 4 >> 2]; - $23 = HEAP32[$16 >> 2]; - HEAP32[$15 >> 2] = $23; - HEAP32[$15 + 4 >> 2] = $20; - $23 = HEAP32[$16 + 12 >> 2]; - $20 = HEAP32[$16 + 8 >> 2]; - HEAP32[$15 + 8 >> 2] = $20; - HEAP32[$15 + 12 >> 2] = $23; - $20 = HEAP32[$16 + 20 >> 2]; - $23 = HEAP32[$16 + 16 >> 2]; - HEAP32[$15 + 16 >> 2] = $23; - HEAP32[$15 + 20 >> 2] = $20; - $23 = HEAP32[$16 + 28 >> 2]; - $20 = HEAP32[$16 + 24 >> 2]; - HEAP32[$15 + 24 >> 2] = $20; - HEAP32[$15 + 28 >> 2] = $23; - $20 = HEAP32[$16 + 36 >> 2]; - $23 = HEAP32[$16 + 32 >> 2]; - HEAP32[$15 + 32 >> 2] = $23; - HEAP32[$15 + 36 >> 2] = $20; - $23 = HEAP32[$16 + 44 >> 2]; - $20 = HEAP32[$16 + 40 >> 2]; - HEAP32[$15 + 40 >> 2] = $20; - HEAP32[$15 + 44 >> 2] = $23; - $20 = HEAP32[$16 + 52 >> 2]; - $23 = HEAP32[$16 + 48 >> 2]; - HEAP32[$15 + 48 >> 2] = $23; - HEAP32[$15 + 52 >> 2] = $20; - $23 = HEAP32[$16 + 60 >> 2]; - $20 = HEAP32[$16 + 56 >> 2]; - HEAP32[$15 + 56 >> 2] = $20; - HEAP32[$15 + 60 >> 2] = $23; - memcpy($15 + 1184 | 0, $17, 96); - $18 = $18 + 1 | 0; - if (($21 | 0) != ($18 | 0)) { - continue; - } - break; - } - } - $24 = HEAPU8[$2 + 29 | 0]; - $17 = HEAP8[$2 + 30 | 0]; - HEAP32[$28 + 172 >> 2] = 0; - $18 = HEAP32[$0 + 4588 >> 2]; - $26 = ($18 | 0) < 40 ? $18 : 40; - label$3 : { - if (($24 | 0) == 2) { - $19 = HEAP32[$0 + 4580 >> 2]; - if (($19 | 0) < 1) { - break label$3; - } - $15 = 0; - while (1) { - $16 = HEAP32[($15 << 2) + $12 >> 2] - 3 | 0; - $26 = ($16 | 0) > ($26 | 0) ? $26 : $16; - $15 = $15 + 1 | 0; - if (($19 | 0) != ($15 | 0)) { - continue; - } - break; - } - break label$3; - } - if (($30 | 0) < 1) { - break label$3; - } - $15 = $30 - 3 | 0; - $26 = ($15 | 0) > ($26 | 0) ? $26 : $15; - } - $22 = HEAPU8[$2 + 31 | 0]; - $15 = HEAP32[$0 + 4592 >> 2]; - $16 = $15 + HEAP32[$0 + 4584 >> 2] | 0; - $35 = $29 - (($16 << 2) + 15 & -16) | 0; - $19 = $35; - __stack_pointer = $19; - $38 = $19 - (($16 << 1) + 15 & -16) | 0; - $16 = $38; - __stack_pointer = $16; - $31 = $16 - (($18 << 2) + 15 & -16) | 0; - __stack_pointer = $31; - HEAP32[$1 + 4332 >> 2] = $15; - HEAP32[$1 + 4336 >> 2] = $15; - $32 = ($15 << 1) + $1 | 0; - label$6 : { - $25 = HEAP32[$0 + 4580 >> 2]; - if (($25 | 0) >= 1) { - $46 = HEAP16[(($24 << 24 >> 24 << 1 & -4) + ($17 << 1) | 0) + 5840 >> 1]; - $42 = ($22 & 255) == 4; - $47 = $42 ? 3 : 1; - $43 = $14 << 16 >> 16; - $14 = 0; - while (1) { - $33 = $14 << 2; - $25 = HEAP32[$33 + $8 >> 2]; - HEAP32[$1 + 4348 >> 2] = 0; - $36 = 1; - $44 = (($14 >>> 1 | $42) << 5) + $5 | 0; - label$9 : { - if (($24 & 255) != 2) { - break label$9; - } - $24 = 2; - $30 = HEAP32[($14 << 2) + $12 >> 2]; - if ($14 & $47) { - break label$9; - } - label$10 : { - if (($14 | 0) != 2) { - break label$10; - } - $16 = 0; - $15 = 0; - $21 = HEAP32[$0 + 4628 >> 2]; - if (($21 | 0) >= 2) { - $19 = HEAP32[$27 + 1296 >> 2]; - $18 = 1; - while (1) { - $17 = HEAP32[(Math_imul($18, 1300) + $27 | 0) + 1296 >> 2]; - $20 = $17; - $17 = ($19 | 0) > ($17 | 0); - $19 = $17 ? $20 : $19; - $15 = $17 ? $18 : $15; - $18 = $18 + 1 | 0; - if (($21 | 0) != ($18 | 0)) { - continue; - } - break; - } - } - if (($21 | 0) > 0) { - while (1) { - if (($15 | 0) != ($16 | 0)) { - $18 = Math_imul($16, 1300) + $27 | 0; - HEAP32[$18 + 1296 >> 2] = HEAP32[$18 + 1296 >> 2] + 134217727; - } - $16 = $16 + 1 | 0; - if (($21 | 0) != ($16 | 0)) { - continue; - } - break; - } - } - if (($26 | 0) < 1) { - $37 = 0; - break label$10; - } - $17 = HEAP32[$28 + 172 >> 2] + $26 | 0; - $37 = 0; - $16 = 0; - while (1) { - $18 = $16 - $26 | 0; - $19 = ($17 - 1 | 0) % 40 | 0; - $17 = ($19 | 0) < 0 ? $19 + 40 | 0 : $19; - $19 = (Math_imul($15, 1300) + $27 | 0) + ($17 << 2) | 0; - HEAP8[$18 + $4 | 0] = (HEAP32[$19 + 544 >> 2] >>> 9 | 0) + 1 >>> 1; - $22 = HEAP32[$11 + 4 >> 2]; - $24 = $22 << 16 >> 16; - $21 = HEAP32[$19 + 704 >> 2]; - $21 = ((Math_imul($24, $21 & 65535) >> 16) + Math_imul($21 >> 16, $24) | 0) + Math_imul(($22 >> 15) + 1 >> 1, $21) | 0; - HEAP16[($18 << 1) + $32 >> 1] = ($21 | 0) > 536862719 ? 32767 : ($21 | 0) < -536879104 ? -32768 : ($21 >>> 13 | 0) + 1 >>> 1 | 0; - HEAP32[((HEAP32[$1 + 4336 >> 2] + $18 << 2) + $1 | 0) + 1280 >> 2] = HEAP32[$19 + 1024 >> 2]; - $16 = $16 + 1 | 0; - if (($26 | 0) != ($16 | 0)) { - continue; - } - break; - } - } - $16 = HEAP32[$0 + 4592 >> 2]; - $18 = HEAP32[$0 + 4640 >> 2]; - $15 = ($16 - $30 | 0) - $18 | 0; - if (($15 | 0) <= 2) { - break label$6; - } - $15 = $15 - 2 | 0; - silk_LPC_analysis_filter(($15 << 1) + $38 | 0, (Math_imul(HEAP32[$0 + 4588 >> 2], $14) + $15 << 1) + $1 | 0, $44, $16 - $15 | 0, $18, HEAP32[$0 + 5092 >> 2]); - $15 = HEAP32[$0 + 4592 >> 2]; - HEAP32[$1 + 4348 >> 2] = 1; - HEAP32[$1 + 4332 >> 2] = $15; - $24 = HEAPU8[$2 + 29 | 0]; - $36 = 0; - } - $39 = $11 + $33 | 0; - $22 = HEAP32[$39 >> 2]; - $16 = ($22 | 0) > 1 ? $22 : 1; - $19 = Math_clz32($16); - $15 = $16 << $19 - 1; - $18 = $15 >> 16; - $21 = 536870911 / ($18 | 0) | 0; - $17 = ($21 >> 15) + 1 >> 1; - $20 = $15 & 65535; - $21 = $21 << 16; - $15 = $21 >> 16; - $18 = 0 - ((Math_imul($20, $15) >> 16) + Math_imul($15, $18) << 3) | 0; - $15 = ((Math_imul($18, $17) + $21 | 0) + Math_imul($18 >> 16, $15) | 0) + (Math_imul($18 & 65528, $15) >> 16) | 0; - $18 = 15 - $19 | 0; - $45 = HEAP32[$12 + $33 >> 2]; - $29 = HEAP32[$0 + 4628 >> 2]; - label$18 : { - if ($16 >>> 0 <= 131071) { - $16 = 0 - $18 | 0; - $18 = 2147483647 >>> $16 | 0; - $19 = -2147483648 >> $16; - $17 = (($15 | 0) > ($18 | 0) ? $18 : ($15 | 0) < ($19 | 0) ? $19 : $15) << $16; - break label$18; - } - $17 = $15 >> $18; - } - $34 = $25 << 15; - $19 = HEAP32[$0 + 4588 >> 2]; - if (($19 | 0) >= 1) { - $15 = ($17 >> 4) + 1 | 0; - $18 = $15 << 15 >> 16; - $21 = ($15 >> 16) + 1 >> 1; - $15 = 0; - while (1) { - $16 = HEAP16[($15 << 1) + $3 >> 1]; - HEAP32[($15 << 2) + $31 >> 2] = (Math_imul($16 >> 16, $18) + Math_imul($16, $21) | 0) + (Math_imul($16 & 65535, $18) >> 16); - $15 = $15 + 1 | 0; - if (($19 | 0) != ($15 | 0)) { - continue; - } - break; - } - } - $25 = $25 >> 2; - $34 = $34 & -65536; - $40 = Math_imul($14, 48); - $41 = Math_imul($14, 10); - $20 = $24 << 24; - label$22 : { - if ($36) { - break label$22; - } - $17 = $14 ? $17 : Math_imul($17 >> 16, $43) + (Math_imul($17 & 65535, $43) >> 16) << 2; - $18 = HEAP32[$1 + 4332 >> 2]; - $15 = ($18 - $45 | 0) - 2 | 0; - if (($15 | 0) >= ($18 | 0)) { - break label$22; - } - $21 = $17 & 65535; - $17 = $17 >> 16; - while (1) { - $16 = HEAP16[($15 << 1) + $38 >> 1]; - HEAP32[($15 << 2) + $35 >> 2] = (Math_imul($21, $16) >> 16) + Math_imul($16, $17); - $15 = $15 + 1 | 0; - if (($18 | 0) != ($15 | 0)) { - continue; - } - break; - } - } - $36 = $25 | $34; - $34 = $7 + $40 | 0; - $40 = $6 + $41 | 0; - $41 = $20 >> 24; - $15 = HEAP32[$1 + 4344 >> 2]; - if (($22 | 0) != ($15 | 0)) { - $16 = $15 >> 31; - $18 = Math_clz32($16 ^ $15 + $16); - $16 = $15 << $18 - 1; - $25 = $16; - $15 = $22 >> 31; - $19 = Math_clz32($15 ^ $15 + $22); - $21 = $22 << $19 - 1; - $15 = 536870911 / ($21 >> 16) << 16 >> 16; - $16 = (Math_imul($15, $16 & 65535) >> 16) + Math_imul($16 >> 16, $15) | 0; - $23 = $16 >> 31; - $17 = $23; - $23 = $21 >> 31; - $20 = $23; - $23 = $17; - $20 = __wasm_i64_mul($16, $23, $21, $20); - $17 = $20; - $23 = i64toi32_i32$HIGH_BITS; - $21 = $25 - ((($23 & 536870911) << 3 | $17 >>> 29) & -8) | 0; - $15 = (Math_imul($21 >> 16, $15) + $16 | 0) + (Math_imul($21 & 65535, $15) >> 16) | 0; - $16 = $18 - $19 | 0; - $18 = $16 + 13 | 0; - $16 = $16 + 29 | 0; - label$26 : { - if (($16 | 0) <= 15) { - $16 = 0 - $18 | 0; - $18 = 2147483647 >>> $16 | 0; - $19 = -2147483648 >> $16; - $15 = (($15 | 0) > ($18 | 0) ? $18 : ($15 | 0) < ($19 | 0) ? $19 : $15) << $16; - break label$26; - } - $15 = ($16 | 0) < 48 ? $15 >> $18 : 0; - } - $16 = HEAP32[$0 + 4592 >> 2]; - if (($16 | 0) >= 1) { - $21 = $15 & 65535; - $17 = $15 >> 16; - $16 = HEAP32[$1 + 4336 >> 2] - $16 | 0; - while (1) { - $18 = (($16 << 2) + $1 | 0) + 1280 | 0; - $20 = $18; - $18 = HEAP32[$18 >> 2]; - $19 = $18 << 16 >> 16; - HEAP32[$20 >> 2] = ((Math_imul($21, $19) >> 16) + Math_imul($19, $17) | 0) + Math_imul(($18 >> 15) + 1 >> 1, $15); - $16 = $16 + 1 | 0; - if (($16 | 0) < HEAP32[$1 + 4336 >> 2]) { - continue; - } - break; - } - } - label$30 : { - if (HEAP32[$1 + 4348 >> 2] | ($24 & 255) != 2) { - break label$30; - } - $18 = HEAP32[$1 + 4332 >> 2]; - $16 = ($18 - $45 | 0) - 2 | 0; - $21 = $18 - $26 | 0; - if (($16 | 0) >= ($21 | 0)) { - break label$30; - } - $17 = $15 & 65535; - $22 = $15 >> 16; - while (1) { - $18 = ($16 << 2) + $35 | 0; - $20 = $18; - $18 = HEAP32[$18 >> 2]; - $19 = $18 << 16 >> 16; - HEAP32[$20 >> 2] = ((Math_imul($17, $19) >> 16) + Math_imul($19, $22) | 0) + Math_imul(($18 >> 15) + 1 >> 1, $15); - $16 = $16 + 1 | 0; - if (($21 | 0) != ($16 | 0)) { - continue; - } - break; - } - } - if (($29 | 0) >= 1) { - $16 = $15 & 65535; - $18 = $15 >> 16; - $25 = 0; - while (1) { - $21 = Math_imul($25, 1300) + $27 | 0; - $19 = HEAP32[$21 + 1280 >> 2]; - $17 = $19 << 16 >> 16; - HEAP32[$21 + 1280 >> 2] = (Math_imul($18, $17) + (Math_imul($16, $17) >> 16) | 0) + Math_imul(($19 >> 15) + 1 >> 1, $15); - $19 = HEAP32[$21 + 1284 >> 2]; - $17 = $19 << 16 >> 16; - HEAP32[$21 + 1284 >> 2] = ((Math_imul($17, $16) >> 16) + Math_imul($18, $17) | 0) + Math_imul(($19 >> 15) + 1 >> 1, $15); - $17 = 0; - while (1) { - $19 = ($17 << 2) + $21 | 0; - $20 = $19; - $19 = HEAP32[$19 >> 2]; - $22 = $19 << 16 >> 16; - HEAP32[$20 >> 2] = ((Math_imul($22, $16) >> 16) + Math_imul($18, $22) | 0) + Math_imul(($19 >> 15) + 1 >> 1, $15); - $19 = 0; - $17 = $17 + 1 | 0; - if (($17 | 0) != 16) { - continue; - } - break; - } - $17 = 0; - while (1) { - $22 = (($17 << 2) + $21 | 0) + 1184 | 0; - $20 = $22; - $22 = HEAP32[$22 >> 2]; - $24 = $22 << 16 >> 16; - HEAP32[$20 >> 2] = ((Math_imul($24, $16) >> 16) + Math_imul($18, $24) | 0) + Math_imul(($22 >> 15) + 1 >> 1, $15); - $17 = $17 + 1 | 0; - if (($17 | 0) != 24) { - continue; - } - break; - } - while (1) { - $17 = ($19 << 2) + $21 | 0; - $22 = $17 + 864 | 0; - $20 = $22; - $22 = HEAP32[$17 + 864 >> 2]; - $24 = $22 << 16 >> 16; - HEAP32[$20 >> 2] = ((Math_imul($24, $16) >> 16) + Math_imul($18, $24) | 0) + Math_imul(($22 >> 15) + 1 >> 1, $15); - $17 = $17 + 1024 | 0; - $20 = $17; - $17 = HEAP32[$17 >> 2]; - $22 = $17 << 16 >> 16; - HEAP32[$20 >> 2] = ((Math_imul($22, $16) >> 16) + Math_imul($18, $22) | 0) + Math_imul(($17 >> 15) + 1 >> 1, $15); - $19 = $19 + 1 | 0; - if (($19 | 0) != 40) { - continue; - } - break; - } - $25 = $25 + 1 | 0; - if (($29 | 0) != ($25 | 0)) { - continue; - } - break; - } - } - HEAP32[$1 + 4344 >> 2] = HEAP32[$39 >> 2]; - $29 = HEAP32[$0 + 4628 >> 2]; - $22 = HEAP32[$39 >> 2]; - $19 = HEAP32[$0 + 4588 >> 2]; - } - silk_noise_shape_quantizer_del_dec($1, $27, $41, $31, $4, $32, $35, $28, $44, $40, $34, $30, $36, HEAP32[$9 + $33 >> 2], HEAP32[$10 + $33 >> 2], $22, $13, $46, $19, $37, HEAP32[$0 + 4636 >> 2], HEAP32[$0 + 4640 >> 2], HEAP32[$0 + 4672 >> 2], $29, $28 + 172 | 0, $26); - $18 = HEAP32[$0 + 4588 >> 2]; - $4 = $18 + $4 | 0; - $15 = $18 << 1; - $32 = $32 + $15 | 0; - $14 = $14 + 1 | 0; - $25 = HEAP32[$0 + 4580 >> 2]; - if (($14 | 0) < ($25 | 0)) { - $37 = $37 + 1 | 0; - $3 = $3 + $15 | 0; - $24 = HEAPU8[$2 + 29 | 0]; - continue; - } - break; - } - $21 = HEAP32[$0 + 4628 >> 2]; - } - $19 = 0; - if (($21 | 0) >= 2) { - $16 = HEAP32[$27 + 1296 >> 2]; - $15 = 1; - while (1) { - $17 = HEAP32[(Math_imul($15, 1300) + $27 | 0) + 1296 >> 2]; - $3 = $17; - $17 = ($16 | 0) > ($17 | 0); - $16 = $17 ? $3 : $16; - $19 = $17 ? $15 : $19; - $15 = $15 + 1 | 0; - if (($21 | 0) != ($15 | 0)) { - continue; - } - break; - } - } - $22 = Math_imul($19, 1300) + $27 | 0; - HEAP8[$2 + 34 | 0] = HEAP32[$22 + 1292 >> 2]; - if (($26 | 0) >= 1) { - $21 = HEAP32[$28 + 172 >> 2] + $26 | 0; - $15 = HEAP32[(($25 << 2) + $11 | 0) - 4 >> 2]; - $17 = $15 << 10 >> 16; - $24 = ($15 >> 21) + 1 >> 1; - $15 = 0; - while (1) { - $16 = $15 - $26 | 0; - $18 = ($21 - 1 | 0) % 40 | 0; - $21 = ($18 | 0) < 0 ? $18 + 40 | 0 : $18; - $18 = ($21 << 2) + $22 | 0; - HEAP8[$16 + $4 | 0] = (HEAP32[$18 + 544 >> 2] >>> 9 | 0) + 1 >>> 1; - $19 = HEAP32[$18 + 704 >> 2]; - $19 = (Math_imul($19 >> 16, $17) + Math_imul($19, $24) | 0) + (Math_imul($19 & 65535, $17) >> 16) | 0; - HEAP16[($16 << 1) + $32 >> 1] = ($19 | 0) > 8388479 ? 32767 : ($19 | 0) < -8388736 ? -32768 : ($19 >>> 7 | 0) + 1 >>> 1 | 0; - HEAP32[((HEAP32[$1 + 4336 >> 2] + $16 << 2) + $1 | 0) + 1280 >> 2] = HEAP32[$18 + 1024 >> 2]; - $15 = $15 + 1 | 0; - if (($26 | 0) != ($15 | 0)) { - continue; - } - break; - } - $18 = HEAP32[$0 + 4588 >> 2]; - } - $15 = ($18 << 2) + $22 | 0; - $17 = HEAP32[$15 + 4 >> 2]; - $20 = HEAP32[$15 >> 2]; - HEAP32[$1 + 3840 >> 2] = $20; - HEAP32[$1 + 3844 >> 2] = $17; - $20 = HEAP32[$15 + 60 >> 2]; - $17 = HEAP32[$15 + 56 >> 2]; - $2 = $17; - $17 = $1 + 3896 | 0; - HEAP32[$17 >> 2] = $2; - HEAP32[$17 + 4 >> 2] = $20; - $17 = HEAP32[$15 + 52 >> 2]; - $20 = HEAP32[$15 + 48 >> 2]; - $2 = $20; - $20 = $1 + 3888 | 0; - HEAP32[$20 >> 2] = $2; - HEAP32[$20 + 4 >> 2] = $17; - $20 = HEAP32[$15 + 44 >> 2]; - $17 = HEAP32[$15 + 40 >> 2]; - $2 = $17; - $17 = $1 + 3880 | 0; - HEAP32[$17 >> 2] = $2; - HEAP32[$17 + 4 >> 2] = $20; - $17 = HEAP32[$15 + 36 >> 2]; - $20 = HEAP32[$15 + 32 >> 2]; - $2 = $20; - $20 = $1 + 3872 | 0; - HEAP32[$20 >> 2] = $2; - HEAP32[$20 + 4 >> 2] = $17; - $20 = HEAP32[$15 + 28 >> 2]; - $17 = HEAP32[$15 + 24 >> 2]; - $2 = $17; - $17 = $1 + 3864 | 0; - HEAP32[$17 >> 2] = $2; - HEAP32[$17 + 4 >> 2] = $20; - $17 = HEAP32[$15 + 20 >> 2]; - $20 = HEAP32[$15 + 16 >> 2]; - $2 = $20; - $20 = $1 + 3856 | 0; - HEAP32[$20 >> 2] = $2; - HEAP32[$20 + 4 >> 2] = $17; - $20 = HEAP32[$15 + 12 >> 2]; - $17 = HEAP32[$15 + 8 >> 2]; - $2 = $17; - $17 = $1 + 3848 | 0; - HEAP32[$17 >> 2] = $2; - HEAP32[$17 + 4 >> 2] = $20; - memcpy($1 + 4224 | 0, $22 + 1184 | 0, 96); - HEAP32[$1 + 4320 >> 2] = HEAP32[$22 + 1280 >> 2]; - HEAP32[$1 + 4324 >> 2] = HEAP32[$22 + 1284 >> 2]; - HEAP32[$1 + 4328 >> 2] = HEAP32[((HEAP32[$0 + 4580 >> 2] << 2) + $12 | 0) - 4 >> 2]; - $15 = memmove($1, (HEAP32[$0 + 4584 >> 2] << 1) + $1 | 0, HEAP32[$0 + 4592 >> 2] << 1) + 1280 | 0; - memmove($15, (HEAP32[$0 + 4584 >> 2] << 2) + $15 | 0, HEAP32[$0 + 4592 >> 2] << 2); - __stack_pointer = $28 + 176 | 0; - return; - } - celt_fatal(16175, 16207, 253); - abort(); -} -function silk_noise_shape_quantizer_del_dec($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25) { - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - $26 = __stack_pointer; - $63 = $26; - label$1 : { - if (($23 | 0) > 0) { - $30 = $26 - (Math_imul($23, 56) + 15 & -16) | 0; - __stack_pointer = $30; - if (($18 | 0) >= 1) { - $64 = $15 >> 6; - $31 = $16 << 16 >> 16; - $38 = Math_imul($31, $17 << 16 >> 16); - $39 = $17 + 944 | 0; - $42 = Math_imul($39 << 16 >> 16, $31); - $43 = $17 - 944 | 0; - $65 = Math_imul(0 - ($43 << 16) >> 16, $31); - $66 = $17 - 80 | 0; - $44 = $14 >> 16; - $67 = $20 >> 1; - $68 = $20 & 1; - $69 = $21 >> 1; - $45 = $12 >> 16; - $26 = $16 >>> 1 | 0; - $70 = 512 - $26 | 0; - $40 = $26 - 512 | 0; - $46 = $14 << 16 >> 16; - $47 = $13 << 16 >> 16; - $14 = $22 << 16 >> 16; - $48 = $12 << 16 >> 16; - $49 = $20 - 1 | 0; - $71 = ($49 << 1) + $10 | 0; - $34 = ((HEAP32[$0 + 4336 >> 2] - $11 << 2) + $0 | 0) + 1284 | 0; - $32 = ((HEAP32[$0 + 4332 >> 2] - $11 << 2) + $6 | 0) + 8 | 0; - $72 = ($2 | 0) != 2; - $73 = ($20 | 0) < 3; - $74 = ($16 | 0) < 2049; - $75 = ($19 | 0) > 0; - while (1) { - label$5 : { - if ($72) { - $37 = 0; - break label$5; - } - $12 = HEAP16[$9 >> 1]; - $16 = HEAP32[$32 >> 2]; - $2 = Math_imul($12, $16 >> 16) + (Math_imul($16 & 65535, $12) >> 16) | 0; - $12 = HEAP16[$9 + 2 >> 1]; - $16 = HEAP32[$32 - 4 >> 2]; - $2 = ($2 + Math_imul($12, $16 >> 16) | 0) + (Math_imul($16 & 65535, $12) >> 16) | 0; - $12 = HEAP16[$9 + 4 >> 1]; - $16 = HEAP32[$32 - 8 >> 2]; - $2 = ($2 + Math_imul($12, $16 >> 16) | 0) + (Math_imul($16 & 65535, $12) >> 16) | 0; - $12 = HEAP16[$9 + 6 >> 1]; - $16 = HEAP32[$32 - 12 >> 2]; - $2 = ($2 + Math_imul($12, $16 >> 16) | 0) + (Math_imul($16 & 65535, $12) >> 16) | 0; - $12 = HEAP16[$9 + 8 >> 1]; - $16 = HEAP32[$32 - 16 >> 2]; - $37 = (($2 + Math_imul($12, $16 >> 16) | 0) + (Math_imul($16 & 65535, $12) >> 16) << 1) + 4 | 0; - $32 = $32 + 4 | 0; - } - $35 = 0; - label$7 : { - if (($11 | 0) < 1) { - $50 = 0; - break label$7; - } - $16 = HEAP32[$34 - 4 >> 2]; - $12 = HEAP32[$34 - 8 >> 2] + HEAP32[$34 >> 2] | 0; - $50 = $37 - (((Math_imul($16 >> 16, $45) + Math_imul($12 >> 16, $48) | 0) + (Math_imul($12 & 65535, $48) >> 16) | 0) + (Math_imul($16 & 65535, $45) >> 16) << 2) | 0; - $34 = $34 + 4 | 0; - } - $76 = $33 + 15 | 0; - $36 = $33 << 2; - $77 = $36 + $3 | 0; - $51 = HEAP16[$8 + 18 >> 1]; - $52 = HEAP16[$8 + 16 >> 1]; - $53 = HEAP16[$8 + 14 >> 1]; - $54 = HEAP16[$8 + 12 >> 1]; - $55 = HEAP16[$8 + 10 >> 1]; - $56 = HEAP16[$8 + 8 >> 1]; - $57 = HEAP16[$8 + 6 >> 1]; - $58 = HEAP16[$8 + 4 >> 1]; - $59 = HEAP16[$8 + 2 >> 1]; - $60 = HEAP16[$8 >> 1]; - while (1) { - $27 = Math_imul($35, 1300) + $1 | 0; - HEAP32[$27 + 1288 >> 2] = Math_imul(HEAP32[$27 + 1288 >> 2], 196314165) + 907633515; - $16 = ($76 << 2) + $27 | 0; - $12 = HEAP32[$16 >> 2]; - $2 = (Math_imul($12 >> 16, $60) + $69 | 0) + (Math_imul($12 & 65535, $60) >> 16) | 0; - $12 = HEAP32[$16 - 4 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $59) | 0) + (Math_imul($12 & 65535, $59) >> 16) | 0; - $12 = HEAP32[$16 - 8 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $58) | 0) + (Math_imul($12 & 65535, $58) >> 16) | 0; - $12 = HEAP32[$16 - 12 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $57) | 0) + (Math_imul($12 & 65535, $57) >> 16) | 0; - $12 = HEAP32[$16 - 16 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $56) | 0) + (Math_imul($12 & 65535, $56) >> 16) | 0; - $12 = HEAP32[$16 - 20 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $55) | 0) + (Math_imul($12 & 65535, $55) >> 16) | 0; - $12 = HEAP32[$16 - 24 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $54) | 0) + (Math_imul($12 & 65535, $54) >> 16) | 0; - $12 = HEAP32[$16 - 28 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $53) | 0) + (Math_imul($12 & 65535, $53) >> 16) | 0; - $12 = HEAP32[$16 - 32 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $52) | 0) + (Math_imul($12 & 65535, $52) >> 16) | 0; - $12 = HEAP32[$16 - 36 >> 2]; - $12 = ($2 + Math_imul($12 >> 16, $51) | 0) + (Math_imul($12 & 65535, $51) >> 16) | 0; - if (($21 | 0) == 16) { - $2 = HEAP16[$8 + 20 >> 1]; - $26 = HEAP32[$16 - 40 >> 2]; - $2 = (Math_imul($2, $26 >> 16) + $12 | 0) + (Math_imul($26 & 65535, $2) >> 16) | 0; - $26 = HEAP16[$8 + 22 >> 1]; - $12 = HEAP32[$16 - 44 >> 2]; - $2 = ($2 + Math_imul($26, $12 >> 16) | 0) + (Math_imul($12 & 65535, $26) >> 16) | 0; - $26 = HEAP16[$8 + 24 >> 1]; - $12 = HEAP32[$16 - 48 >> 2]; - $2 = ($2 + Math_imul($26, $12 >> 16) | 0) + (Math_imul($12 & 65535, $26) >> 16) | 0; - $26 = HEAP16[$8 + 26 >> 1]; - $12 = HEAP32[$16 - 52 >> 2]; - $2 = ($2 + Math_imul($26, $12 >> 16) | 0) + (Math_imul($12 & 65535, $26) >> 16) | 0; - $12 = HEAP16[$8 + 28 >> 1]; - $16 = HEAP32[$16 - 56 >> 2]; - $2 = ($2 + Math_imul($12, $16 >> 16) | 0) + (Math_imul($16 & 65535, $12) >> 16) | 0; - $12 = HEAP16[$8 + 30 >> 1]; - $16 = HEAP32[$27 + $36 >> 2]; - $12 = ($2 + Math_imul($12, $16 >> 16) | 0) + (Math_imul($16 & 65535, $12) >> 16) | 0; - } - if ($68) { - break label$1; - } - $41 = $12 << 4; - $12 = HEAP32[$27 + 1184 >> 2]; - $16 = (HEAP32[$27 + 1284 >> 2] + Math_imul($12 >> 16, $14) | 0) + (Math_imul($12 & 65535, $14) >> 16) | 0; - HEAP32[$27 + 1184 >> 2] = $16; - $26 = HEAP16[$10 >> 1]; - $15 = (Math_imul($26, $16 >> 16) + $67 | 0) + (Math_imul($16 & 65535, $26) >> 16) | 0; - $16 = HEAP32[$27 + 1188 >> 2] - $16 | 0; - $16 = (Math_imul($16 >> 16, $14) + $12 | 0) + (Math_imul($16 & 65535, $14) >> 16) | 0; - $12 = 2; - if (!$73) { - while (1) { - $26 = $27 + 1184 | 0; - $13 = $12 - 1 | 0; - $19 = $26 + ($13 << 2) | 0; - $22 = HEAP32[$19 >> 2]; - $28 = $12 << 2; - $29 = $28 + $26 | 0; - $2 = HEAP32[$29 >> 2]; - HEAP32[$19 >> 2] = $16; - $19 = HEAP32[($28 | 4) + $26 >> 2]; - $13 = HEAP16[($13 << 1) + $10 >> 1]; - $26 = $2 - $16 | 0; - $26 = (Math_imul($26 >> 16, $14) + $22 | 0) + (Math_imul($26 & 65535, $14) >> 16) | 0; - HEAP32[$29 >> 2] = $26; - $13 = (Math_imul($16 >> 16, $13) + $15 | 0) + (Math_imul($16 & 65535, $13) >> 16) | 0; - $16 = HEAP16[($12 << 1) + $10 >> 1]; - $15 = ($13 + Math_imul($16, $26 >> 16) | 0) + (Math_imul($26 & 65535, $16) >> 16) | 0; - $16 = $19 - $26 | 0; - $16 = (Math_imul($16 >> 16, $14) + $2 | 0) + (Math_imul($16 & 65535, $14) >> 16) | 0; - $12 = $12 + 2 | 0; - if (($20 | 0) > ($12 | 0)) { - continue; - } - break; - } - } - HEAP32[(($49 << 2) + $27 | 0) + 1184 >> 2] = $16; - label$13 : { - label$14 : { - label$15 : { - label$16 : { - $61 = HEAP32[$77 >> 2]; - $12 = HEAP32[$27 + 1280 >> 2]; - $26 = $12 & 65535; - $12 = $12 >> 16; - $2 = HEAP16[$71 >> 1]; - $13 = ((Math_imul($47, $26) >> 16) + Math_imul($47, $12) | 0) + ((Math_imul($2, $16 >> 16) + $15 | 0) + (Math_imul($16 & 65535, $2) >> 16) << 1) << 2; - $62 = HEAP32[$24 >> 2]; - $16 = HEAP32[(($62 << 2) + $27 | 0) + 1024 >> 2]; - $15 = ((Math_imul($12, $44) + (Math_imul($26, $44) >> 16) | 0) + Math_imul($16 >> 16, $46) | 0) + (Math_imul($16 & 65535, $46) >> 16) << 2; - $16 = $61 - (((($41 + $50 | 0) - $13 | 0) - $15 >> 3) + 1 >> 1) | 0; - $19 = HEAP32[$27 + 1288 >> 2] < 0; - $16 = $19 ? 0 - $16 | 0 : $16; - $16 = ($16 | 0) > -31744 ? $16 : -31744; - $2 = ($16 | 0) < 30720 ? $16 : 30720; - $16 = $2 - $17 | 0; - $12 = $16; - label$17 : { - if ($74) { - break label$17; - } - $12 = $16 - $40 | 0; - if (($16 | 0) > ($40 | 0)) { - break label$17; - } - if (($16 | 0) >= ($70 | 0)) { - break label$16; - } - $12 = $16 + $40 | 0; - } - $16 = $12; - if (($16 | 0) >= 1024) { - $12 = ($16 & -1024) + $66 | 0; - $28 = Math_imul($12 << 16 >> 16, $31); - $26 = $12 + 1024 | 0; - $29 = Math_imul($26 << 16 >> 16, $31); - break label$13; - } - $28 = $38; - $29 = $42; - $12 = $17; - $26 = $39; - switch (($16 >> 10) + 1 | 0) { - case 1: - break label$13; - case 0: - break label$15; - default: - break label$14; - } - } - $28 = $38; - $29 = $42; - $12 = $17; - $26 = $39; - if (($16 | 0) >= 0) { - break label$13; - } - } - $28 = $65; - $29 = $38; - $12 = $43; - $26 = $17; - break label$13; - } - $12 = ($16 & -1024 | 80) + $17 | 0; - $28 = Math_imul(0 - ($12 << 16) >> 16, $31); - $26 = $12 + 1024 | 0; - $29 = Math_imul(0 - ($26 << 16) >> 16, $31); - } - $22 = HEAP32[$27 + 1296 >> 2]; - $16 = Math_imul($35, 56) + $30 | 0; - $27 = $2 - $12 << 16 >> 16; - $28 = Math_imul($27, $27) + $28 >> 10; - $2 = $2 - $26 << 16 >> 16; - $29 = Math_imul($2, $2) + $29 >> 10; - $2 = ($28 | 0) < ($29 | 0); - $27 = $2 ? $26 : $12; - HEAP32[$16 + 28 >> 2] = $27; - $12 = $2 ? $12 : $26; - HEAP32[$16 >> 2] = $12; - HEAP32[$16 + 32 >> 2] = ($2 ? $29 : $28) + $22; - HEAP32[$16 + 4 >> 2] = ($2 ? $28 : $29) + $22; - $12 = $12 << 4; - $12 = ($19 ? 0 - $12 | 0 : $12) + $37 | 0; - HEAP32[$16 + 24 >> 2] = $12; - $26 = $27 << 4; - $26 = ($19 ? 0 - $26 | 0 : $26) + $37 | 0; - HEAP32[$16 + 52 >> 2] = $26; - $12 = $12 + $41 | 0; - HEAP32[$16 + 8 >> 2] = $12; - $26 = $26 + $41 | 0; - HEAP32[$16 + 36 >> 2] = $26; - $2 = $61 << 4; - $12 = $12 - $2 | 0; - HEAP32[$16 + 16 >> 2] = $12; - $26 = $26 - $2 | 0; - HEAP32[$16 + 44 >> 2] = $26; - $12 = $12 - $13 | 0; - HEAP32[$16 + 12 >> 2] = $12; - $26 = $26 - $13 | 0; - HEAP32[$16 + 40 >> 2] = $26; - HEAP32[$16 + 20 >> 2] = $12 - $15; - HEAP32[$16 + 48 >> 2] = $26 - $15; - $35 = $35 + 1 | 0; - if (($35 | 0) != ($23 | 0)) { - continue; - } - break; - } - $16 = 0; - $12 = ($62 - 1 | 0) % 40 | 0; - $12 = ($12 | 0) < 0 ? $12 + 40 | 0 : $12; - HEAP32[$24 >> 2] = $12; - $15 = ($12 + $25 | 0) % 40 | 0; - $2 = 0; - $19 = ($23 | 0) < 2; - if (!$19) { - $26 = HEAP32[$30 + 4 >> 2]; - $12 = 1; - while (1) { - $13 = HEAP32[(Math_imul($12, 56) + $30 | 0) + 4 >> 2]; - $22 = $13; - $13 = ($13 | 0) < ($26 | 0); - $26 = $13 ? $22 : $26; - $2 = $13 ? $12 : $2; - $12 = $12 + 1 | 0; - if (($23 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $15 = $15 << 2; - $28 = $15 + (Math_imul($2, 1300) + $1 | 0) | 0; - $26 = HEAP32[$28 + 384 >> 2]; - while (1) { - if (HEAP32[((Math_imul($16, 1300) + $1 | 0) + $15 | 0) + 384 >> 2] != ($26 | 0)) { - $12 = Math_imul($16, 56) + $30 | 0; - HEAP32[$12 + 4 >> 2] = HEAP32[$12 + 4 >> 2] + 134217727; - $2 = $12; - $12 = $12 + 32 | 0; - HEAP32[$12 >> 2] = HEAP32[$2 + 32 >> 2] + 134217727; - } - $16 = $16 + 1 | 0; - if (($23 | 0) != ($16 | 0)) { - continue; - } - break; - } - $12 = HEAP32[$30 + 32 >> 2]; - $26 = HEAP32[$30 + 4 >> 2]; - $2 = 0; - $16 = 1; - $13 = 0; - if (!$19) { - while (1) { - $19 = Math_imul($16, 56) + $30 | 0; - $22 = HEAP32[$19 + 4 >> 2]; - $29 = $22; - $22 = ($22 | 0) > ($26 | 0); - $26 = $22 ? $29 : $26; - $19 = HEAP32[$19 + 32 >> 2]; - $29 = $19; - $19 = ($12 | 0) > ($19 | 0); - $12 = $19 ? $29 : $12; - $13 = $22 ? $16 : $13; - $2 = $19 ? $16 : $2; - $16 = $16 + 1 | 0; - if (($23 | 0) != ($16 | 0)) { - continue; - } - break; - } - } - if (($12 | 0) < ($26 | 0)) { - memcpy((Math_imul($13, 1300) + $1 | 0) + $36 | 0, (Math_imul($2, 1300) + $1 | 0) + $36 | 0, 1300 - $36 | 0); - $16 = Math_imul($13, 56) + $30 | 0; - $12 = Math_imul($2, 56) + $30 | 0; - HEAP32[$16 + 24 >> 2] = HEAP32[$12 + 52 >> 2]; - $13 = HEAP32[$12 + 48 >> 2]; - $2 = HEAP32[$12 + 44 >> 2]; - HEAP32[$16 + 16 >> 2] = $2; - HEAP32[$16 + 20 >> 2] = $13; - $2 = HEAP32[$12 + 40 >> 2]; - $13 = HEAP32[$12 + 36 >> 2]; - HEAP32[$16 + 8 >> 2] = $13; - HEAP32[$16 + 12 >> 2] = $2; - $13 = HEAP32[$12 + 32 >> 2]; - $2 = HEAP32[$12 + 28 >> 2]; - HEAP32[$16 >> 2] = $2; - HEAP32[$16 + 4 >> 2] = $13; - } - if (!(($25 | 0) > ($33 | 0) ? !$75 : 0)) { - $16 = $33 - $25 | 0; - HEAP8[$16 + $4 | 0] = (HEAP32[$28 + 544 >> 2] >>> 9 | 0) + 1 >>> 1; - $2 = ($16 << 1) + $5 | 0; - $12 = HEAP32[$7 + $15 >> 2]; - $26 = $12 << 16 >> 16; - $16 = HEAP32[$28 + 704 >> 2]; - $16 = ((Math_imul($26, $16 & 65535) >> 16) + Math_imul($16 >> 16, $26) | 0) + Math_imul(($12 >> 15) + 1 >> 1, $16) | 0; - HEAP16[$2 >> 1] = ($16 | 0) > 8388479 ? 32767 : ($16 | 0) < -8388736 ? -32768 : ($16 >>> 7 | 0) + 1 >>> 1 | 0; - HEAP32[((HEAP32[$0 + 4336 >> 2] - $25 << 2) + $0 | 0) + 1280 >> 2] = HEAP32[$28 + 1024 >> 2]; - HEAP32[(HEAP32[$0 + 4332 >> 2] - $25 << 2) + $6 >> 2] = HEAP32[$28 + 864 >> 2]; - } - HEAP32[$0 + 4336 >> 2] = HEAP32[$0 + 4336 >> 2] + 1; - HEAP32[$0 + 4332 >> 2] = HEAP32[$0 + 4332 >> 2] + 1; - $13 = $33 + 16 | 0; - $26 = 0; - while (1) { - $16 = Math_imul($26, 1300) + $1 | 0; - $12 = Math_imul($26, 56) + $30 | 0; - HEAP32[$16 + 1280 >> 2] = HEAP32[$12 + 12 >> 2]; - HEAP32[$16 + 1284 >> 2] = HEAP32[$12 + 16 >> 2]; - $2 = HEAP32[$12 + 8 >> 2]; - HEAP32[($13 << 2) + $16 >> 2] = $2; - HEAP32[((HEAP32[$24 >> 2] << 2) + $16 | 0) + 704 >> 2] = $2; - $2 = HEAP32[$12 >> 2]; - HEAP32[((HEAP32[$24 >> 2] << 2) + $16 | 0) + 544 >> 2] = $2; - HEAP32[((HEAP32[$24 >> 2] << 2) + $16 | 0) + 864 >> 2] = HEAP32[$12 + 24 >> 2] << 1; - HEAP32[((HEAP32[$24 >> 2] << 2) + $16 | 0) + 1024 >> 2] = HEAP32[$12 + 20 >> 2]; - $2 = HEAP32[$16 + 1288 >> 2] + (($2 >> 9) + 1 >> 1) | 0; - HEAP32[$16 + 1288 >> 2] = $2; - HEAP32[((HEAP32[$24 >> 2] << 2) + $16 | 0) + 384 >> 2] = $2; - HEAP32[$16 + 1296 >> 2] = HEAP32[$12 + 4 >> 2]; - $26 = $26 + 1 | 0; - if (($26 | 0) != ($23 | 0)) { - continue; - } - break; - } - HEAP32[(HEAP32[$24 >> 2] << 2) + $7 >> 2] = $64; - $33 = $33 + 1 | 0; - if (($33 | 0) != ($18 | 0)) { - continue; - } - break; - } - } - $14 = 0; - $26 = $18 << 2; - while (1) { - $16 = Math_imul($14, 1300) + $1 | 0; - $12 = $26 + $16 | 0; - $13 = HEAP32[$12 >> 2]; - $2 = HEAP32[$12 + 4 >> 2]; - HEAP32[$16 >> 2] = $13; - HEAP32[$16 + 4 >> 2] = $2; - $13 = HEAP32[$12 + 60 >> 2]; - $2 = HEAP32[$12 + 56 >> 2]; - HEAP32[$16 + 56 >> 2] = $2; - HEAP32[$16 + 60 >> 2] = $13; - $2 = HEAP32[$12 + 52 >> 2]; - $13 = HEAP32[$12 + 48 >> 2]; - HEAP32[$16 + 48 >> 2] = $13; - HEAP32[$16 + 52 >> 2] = $2; - $13 = HEAP32[$12 + 44 >> 2]; - $2 = HEAP32[$12 + 40 >> 2]; - HEAP32[$16 + 40 >> 2] = $2; - HEAP32[$16 + 44 >> 2] = $13; - $2 = HEAP32[$12 + 36 >> 2]; - $13 = HEAP32[$12 + 32 >> 2]; - HEAP32[$16 + 32 >> 2] = $13; - HEAP32[$16 + 36 >> 2] = $2; - $13 = HEAP32[$12 + 28 >> 2]; - $2 = HEAP32[$12 + 24 >> 2]; - HEAP32[$16 + 24 >> 2] = $2; - HEAP32[$16 + 28 >> 2] = $13; - $2 = HEAP32[$12 + 20 >> 2]; - $13 = HEAP32[$12 + 16 >> 2]; - HEAP32[$16 + 16 >> 2] = $13; - HEAP32[$16 + 20 >> 2] = $2; - $13 = HEAP32[$12 + 12 >> 2]; - $2 = HEAP32[$12 + 8 >> 2]; - HEAP32[$16 + 8 >> 2] = $2; - HEAP32[$16 + 12 >> 2] = $13; - $14 = $14 + 1 | 0; - if (($23 | 0) != ($14 | 0)) { - continue; - } - break; - } - __stack_pointer = $63; - return; - } - celt_fatal(16226, 16207, 364); - abort(); - } - celt_fatal(16271, 16207, 422); - abort(); -} -function dynalloc_analysis($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20) { - var $21 = Math_fround(0), $22 = 0, $23 = Math_fround(0), $24 = 0, $25 = 0, $26 = Math_fround(0), $27 = Math_fround(0), $28 = Math_fround(0), $29 = 0, $30 = 0, $31 = Math_fround(0), $32 = 0, $33 = Math_fround(0), $34 = 0, $35 = 0, $36 = Math_fround(0), $37 = 0, $38 = 0, $39 = 0, $40 = Math_fround(0), $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = Math_fround(0); - $24 = __stack_pointer; - $41 = $24; - $22 = (Math_imul($2, $5) << 2) + 15 & -16; - $30 = $24 - $22 | 0; - $24 = $30; - __stack_pointer = $24; - $32 = $24 - $22 | 0; - $29 = $32; - __stack_pointer = $29; - $24 = 0; - $38 = memset($6, 0, $2 << 2); - $25 = ($4 | 0) < 1; - if (!$25) { - $21 = Math_fround(9 - $7 | 0); - $6 = 0; - while (1) { - $22 = $6 << 2; - $7 = $6 + 5 | 0; - HEAPF32[$32 + $22 >> 2] = Math_fround(Math_fround(Math_imul($7, $7) | 0) * Math_fround(.006200000178068876)) + Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAP16[($6 << 1) + $8 >> 1]) * Math_fround(.0625)) + Math_fround(.5)) + $21) - HEAPF32[$22 + 32928 >> 2]); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $37 = ($5 | 0) > 1 ? $5 : 1; - $33 = Math_fround(-31.899999618530273); - label$3 : { - label$4 : { - label$5 : { - label$6 : { - while (1) { - if (!$25) { - $22 = Math_imul($2, $24); - $6 = 0; - while (1) { - $21 = Math_fround(HEAPF32[($6 + $22 << 2) + $0 >> 2] - HEAPF32[($6 << 2) + $32 >> 2]); - $33 = $21 < $33 ? $33 : $21; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - $24 = $24 + 1 | 0; - if (($37 | 0) != ($24 | 0)) { - continue; - } - $24 = $29; - $22 = ($2 << 2) + 15 & -16; - $6 = $24 - $22 | 0; - __stack_pointer = $6; - $22 = $6 - $22 | 0; - __stack_pointer = $22; - if (($4 | 0) < 1) { - break label$6; - } - $7 = 0; - while (1) { - $25 = $7 << 2; - HEAPF32[$25 + $6 >> 2] = HEAPF32[$0 + $25 >> 2] - HEAPF32[$25 + $32 >> 2]; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (!(($5 | 0) != 2 | ($4 | 0) < 1)) { - $7 = 0; - while (1) { - $25 = $7 << 2; - $8 = $25 + $6 | 0; - $21 = HEAPF32[$8 >> 2]; - $23 = Math_fround(HEAPF32[($2 + $7 << 2) + $0 >> 2] - HEAPF32[$25 + $32 >> 2]); - HEAPF32[$8 >> 2] = $21 > $23 ? $21 : $23; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $8 = memcpy($22, $6, $4 << 2); - if (($4 | 0) > 1) { - break label$5; - } - $34 = $4 - 2 | 0; - $35 = 0; - break label$4; - } - $24 = $24 + 1 | 0; - if (($37 | 0) != ($24 | 0)) { - continue; - } - break; - } - $24 = $29; - $22 = ($2 << 2) + 15 & -16; - $6 = $24 - $22 | 0; - __stack_pointer = $6; - $22 = $6 - $22 | 0; - __stack_pointer = $22; - } - memcpy($22, $6, $4 << 2); - $34 = $4 - 2 | 0; - $39 = ($5 | 0) == 2; - break label$3; - } - $21 = HEAPF32[$6 >> 2]; - $22 = 1; - while (1) { - $7 = ($22 << 2) + $6 | 0; - $23 = HEAPF32[$7 >> 2]; - $21 = Math_fround($21 + Math_fround(-2)); - $21 = $21 < $23 ? $23 : $21; - HEAPF32[$7 >> 2] = $21; - $22 = $22 + 1 | 0; - if (($22 | 0) != ($4 | 0)) { - continue; - } - break; - } - $34 = $4 - 2 | 0; - $35 = 0; - if (($4 | 0) <= 1) { - break label$4; - } - $22 = $34; - while (1) { - $7 = ($22 << 2) + $6 | 0; - $21 = HEAPF32[$7 >> 2]; - $23 = Math_fround(HEAPF32[$7 + 4 >> 2] + Math_fround(-3)); - HEAPF32[$7 >> 2] = $21 > $23 ? $21 : $23; - $7 = ($22 | 0) > 0; - $22 = $22 - 1 | 0; - if ($7) { - continue; - } - break; - } - $35 = 1; - } - $39 = ($5 | 0) == 2; - if (($4 | 0) < 1) { - break label$3; - } - $21 = Math_fround(Math_max(Math_fround($33 + Math_fround(-12)), Math_fround(0))); - $22 = 0; - while (1) { - $7 = $22 << 2; - $23 = HEAPF32[$7 + $6 >> 2]; - $23 = Math_fround(Math_floor(Math_fround(Math_fround(HEAPF32[$7 + $8 >> 2] - ($21 > $23 ? $21 : $23)) + Math_fround(.5)))); - label$16 : { - if (Math_fround(Math_abs($23)) < Math_fround(2147483648)) { - $24 = ~~$23; - break label$16; - } - $24 = -2147483648; - } - $29 = $7 + $20 | 0; - $25 = $24; - $7 = ($25 | 0) > 0 ? 0 : 0 - $25 | 0; - HEAP32[$29 >> 2] = 32 >>> (($7 | 0) < 5 ? $7 : 5); - $22 = $22 + 1 | 0; - if (($22 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - label$18 : { - if (!($16 | (($13 | 0) < 1 | ($14 | 0) < 51))) { - $42 = $4 - 3 | 0; - $8 = 0; - $43 = ($4 | 0) > 4; - $44 = $4 - 1 << 2; - $16 = 0; - while (1) { - $7 = Math_imul($2, $16); - $6 = $7 << 2; - $24 = $30 + $6 | 0; - $20 = $1 + $6 | 0; - $36 = HEAPF32[$20 >> 2]; - $6 = HEAP32[$20 >> 2]; - HEAP32[$24 >> 2] = $6; - $23 = $36; - $6 = 1; - if ($35) { - while (1) { - $22 = ($6 + $7 << 2) + $1 | 0; - $26 = HEAPF32[$22 - 4 >> 2]; - $23 = Math_fround($23 + Math_fround(1.5)); - $21 = HEAPF32[$22 >> 2]; - $23 = $21 > $23 ? $23 : $21; - HEAPF32[($6 << 2) + $24 >> 2] = $23; - $8 = Math_fround($26 + Math_fround(.5)) < $21 ? $6 : $8; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - if (($8 | 0) >= 1) { - $21 = HEAPF32[($8 << 2) + $24 >> 2]; - $6 = $8; - while (1) { - $22 = $6 - 1 | 0; - $25 = ($22 << 2) + $24 | 0; - $23 = HEAPF32[$25 >> 2]; - $21 = Math_fround($21 + Math_fround(2)); - $26 = HEAPF32[($7 + $22 << 2) + $1 >> 2]; - $21 = $21 < $26 ? $21 : $26; - $21 = $21 > $23 ? $23 : $21; - HEAPF32[$25 >> 2] = $21; - $25 = ($6 | 0) > 1; - $6 = $22; - if ($25) { - continue; - } - break; - } - } - $6 = 2; - if ($43) { - while (1) { - $22 = ($6 + $7 << 2) + $1 | 0; - $25 = $22 - 8 | 0; - $21 = HEAPF32[$25 >> 2]; - $23 = HEAPF32[$25 + 4 >> 2]; - $25 = $21 > $23; - $26 = HEAPF32[$22 + 4 >> 2]; - $27 = HEAPF32[$22 + 8 >> 2]; - $29 = $26 > $27; - $28 = $25 ? $21 : $23; - $40 = $29 ? $26 : $27; - $21 = $25 ? $23 : $21; - $23 = $29 ? $27 : $26; - $25 = $21 > $23; - $31 = $25 ? $28 : $40; - $21 = $25 ? $21 : $23; - $29 = ($6 << 2) + $24 | 0; - $23 = HEAPF32[$29 >> 2]; - $45 = $23; - $26 = HEAPF32[$22 >> 2]; - $27 = $25 ? $40 : $28; - $22 = $26 > $27 ^ 1; - label$27 : { - if (!$22) { - $28 = $21 > $26 ? $26 : $21; - if (!($21 > $27 ^ 1)) { - break label$27; - } - $28 = $27 > $31 ? $31 : $27; - break label$27; - } - $28 = $21 > $27 ? $27 : $21; - if (!($21 > $26 ^ 1)) { - break label$27; - } - $28 = $26 < $31 ? $26 : $31; - } - if (!(Math_fround($28 + Math_fround(-1)) < $45)) { - label$30 : { - if (!$22) { - $28 = $21 > $26 ? $26 : $21; - if (!($21 > $27 ^ 1)) { - break label$30; - } - $28 = $27 > $31 ? $31 : $27; - break label$30; - } - $28 = $21 > $27 ? $27 : $21; - if (!($21 > $26 ^ 1)) { - break label$30; - } - $28 = $26 < $31 ? $26 : $31; - } - $21 = $28; - $23 = Math_fround($21 + Math_fround(-1)); - } - HEAPF32[$29 >> 2] = $23; - $6 = $6 + 1 | 0; - if (($34 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $21 = HEAPF32[$20 + 4 >> 2]; - $6 = $36 > $21; - $26 = HEAPF32[$24 >> 2]; - $27 = $6 ? $36 : $21; - $23 = HEAPF32[$20 + 8 >> 2]; - $21 = $6 ? $21 : $36; - $21 = Math_fround(($23 > $27 ? $27 : $21 < $23 ? $23 : $21) + Math_fround(-1)); - HEAPF32[$24 >> 2] = $21 < $26 ? $26 : $21; - $23 = HEAPF32[$24 + 4 >> 2]; - HEAPF32[$24 + 4 >> 2] = $21 < $23 ? $23 : $21; - $6 = ($34 << 2) + $24 | 0; - $20 = $6; - $27 = HEAPF32[$6 >> 2]; - $6 = ($7 + $42 << 2) + $1 | 0; - $21 = HEAPF32[$6 >> 2]; - $23 = HEAPF32[$6 + 4 >> 2]; - $22 = $21 > $23; - $31 = $22 ? $21 : $23; - $26 = HEAPF32[$6 + 8 >> 2]; - $21 = $22 ? $23 : $21; - $21 = Math_fround(($26 > $31 ? $31 : $21 < $26 ? $26 : $21) + Math_fround(-1)); - HEAPF32[$20 >> 2] = $21 < $27 ? $27 : $21; - $6 = $24 + $44 | 0; - $23 = HEAPF32[$6 >> 2]; - HEAPF32[$6 >> 2] = $21 < $23 ? $23 : $21; - $6 = 0; - if (($4 | 0) >= 1) { - while (1) { - $22 = $6 << 2; - $7 = $24 + $22 | 0; - $21 = HEAPF32[$7 >> 2]; - $23 = HEAPF32[$22 + $32 >> 2]; - HEAPF32[$7 >> 2] = $21 > $23 ? $21 : $23; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $16 = $16 + 1 | 0; - if (($37 | 0) != ($16 | 0)) { - continue; - } - break; - } - label$34 : { - label$35 : { - if (!$39) { - if (($3 | 0) >= ($4 | 0)) { - break label$34; - } - $6 = $3; - while (1) { - $24 = $6 << 2; - $22 = $30 + $24 | 0; - HEAPF32[$22 >> 2] = Math_max(Math_fround(HEAPF32[$0 + $24 >> 2] - HEAPF32[$22 >> 2]), Math_fround(0)); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$35; - } - if (($3 | 0) >= ($4 | 0)) { - break label$34; - } - $6 = $3; - while (1) { - $1 = $2 + $6 << 2; - $22 = $30 + $1 | 0; - $21 = HEAPF32[$22 >> 2]; - $7 = $6 << 2; - $24 = $30 + $7 | 0; - $23 = Math_fround(HEAPF32[$24 >> 2] + Math_fround(-4)); - $21 = $21 > $23 ? $21 : $23; - HEAPF32[$22 >> 2] = $21; - $23 = HEAPF32[$24 >> 2]; - $21 = Math_fround($21 + Math_fround(-4)); - $21 = $21 < $23 ? $23 : $21; - HEAPF32[$24 >> 2] = $21; - HEAPF32[$24 >> 2] = Math_fround(Math_fround(Math_max(Math_fround(HEAPF32[$0 + $7 >> 2] - $21), Math_fround(0))) + Math_fround(Math_max(Math_fround(HEAPF32[$0 + $1 >> 2] - HEAPF32[$22 >> 2]), Math_fround(0)))) * Math_fround(.5); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $1 = ($3 | 0) < ($4 | 0); - if (!$1) { - break label$34; - } - $6 = $3; - while (1) { - $24 = $6 << 2; - $22 = $30 + $24 | 0; - $21 = HEAPF32[$22 >> 2]; - $23 = HEAPF32[$17 + $24 >> 2]; - HEAPF32[$22 >> 2] = $21 > $23 ? $21 : $23; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (!$1) { - break label$34; - } - $6 = $3; - while (1) { - $24 = $6 << 2; - $21 = HEAPF32[$30 + $24 >> 2]; - $21 = Math_fround(Math_floor(Math_fround(Math_fround(Math_fround(exp(+($21 < Math_fround(4) ? $21 : Math_fround(4)) * .6931471805599453)) * Math_fround(13)) + Math_fround(.5)))); - label$41 : { - if (Math_fround(Math_abs($21)) < Math_fround(2147483648)) { - $22 = ~~$21; - break label$41; - } - $22 = -2147483648; - } - HEAP32[$19 + $24 >> 2] = $22; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $1 = ($3 | 0) >= ($4 | 0); - if (!(!$11 & ($10 | 0) != 0 | ($9 | $1))) { - $6 = $3; - while (1) { - $24 = ($6 << 2) + $30 | 0; - HEAPF32[$24 >> 2] = HEAPF32[$24 >> 2] * Math_fround(.5); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - if (!$1) { - $6 = $3; - while (1) { - $21 = Math_fround(2); - label$47 : { - if (($6 | 0) >= 8) { - $21 = Math_fround(.5); - if (($6 | 0) < 12) { - break label$47; - } - } - $24 = ($6 << 2) + $30 | 0; - HEAPF32[$24 >> 2] = HEAPF32[$24 >> 2] * $21; - } - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - label$49 : { - if (!HEAP32[$18 >> 2]) { - break label$49; - } - $22 = ($4 | 0) < 19 ? $4 : 19; - if (($22 | 0) <= ($3 | 0)) { - break label$49; - } - $6 = $3; - while (1) { - $24 = ($6 << 2) + $30 | 0; - HEAPF32[$24 >> 2] = HEAPF32[$24 >> 2] + Math_fround(Math_fround(HEAPU8[($6 + $18 | 0) + 44 | 0]) * Math_fround(.015625)); - $6 = $6 + 1 | 0; - if (($22 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $22 = 0; - if ($1) { - break label$18; - } - $8 = ($14 << 1) / 3 | 0; - $1 = 0; - $7 = HEAPU16[($3 << 1) + $12 >> 1]; - $29 = (!$10 | !$9 & ($11 | 0) != 0) ^ 1; - while (1) { - $25 = $3 << 2; - $6 = $30 + $25 | 0; - $21 = HEAPF32[$6 >> 2]; - $21 = $21 < Math_fround(4) ? $21 : Math_fround(4); - HEAPF32[$6 >> 2] = $21; - $6 = $7 << 16; - $24 = $3 + 1 | 0; - $7 = HEAP16[($24 << 1) + $12 >> 1]; - $22 = Math_imul($7 - ($6 >> 16) | 0, $5) << $13; - label$52 : { - if (($22 | 0) <= 5) { - if (Math_fround(Math_abs($21)) < Math_fround(2147483648)) { - $6 = ~~$21; - } else { - $6 = -2147483648; - } - $22 = Math_imul($22, $6) << 3; - break label$52; - } - if (($22 | 0) >= 49) { - $21 = Math_fround($21 * Math_fround(8)); - label$57 : { - if (Math_fround(Math_abs($21)) < Math_fround(2147483648)) { - $6 = ~~$21; - break label$57; - } - $6 = -2147483648; - } - $22 = (Math_imul($22, $6) << 3) / 8 | 0; - break label$52; - } - $21 = Math_fround(Math_fround($21 * Math_fround($22 | 0)) / Math_fround(6)); - label$59 : { - if (Math_fround(Math_abs($21)) < Math_fround(2147483648)) { - $6 = ~~$21; - break label$59; - } - $6 = -2147483648; - } - $22 = Math_imul($6, 48); - } - $22 = $22 + $1 | 0; - if (!($22 >> 6 <= ($8 | 0) | $29)) { - $22 = $8 << 6; - HEAP32[($3 << 2) + $38 >> 2] = $22 - $1; - break label$18; - } - HEAP32[$25 + $38 >> 2] = $6; - $3 = $24; - $1 = $22; - if (($4 | 0) != ($24 | 0)) { - continue; - } - break; - } - break label$18; - } - $22 = 0; - if (($3 | 0) >= ($4 | 0)) { - break label$18; - } - while (1) { - HEAP32[($3 << 2) + $19 >> 2] = 13; - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - HEAP32[$15 >> 2] = $22; - __stack_pointer = $41; - return $33; -} -function opus_fft_impl($0, $1) { - var $2 = 0, $3 = Math_fround(0), $4 = 0, $5 = Math_fround(0), $6 = Math_fround(0), $7 = 0, $8 = Math_fround(0), $9 = 0, $10 = 0, $11 = Math_fround(0), $12 = 0, $13 = Math_fround(0), $14 = 0, $15 = Math_fround(0), $16 = Math_fround(0), $17 = Math_fround(0), $18 = 0, $19 = Math_fround(0), $20 = Math_fround(0), $21 = 0, $22 = Math_fround(0), $23 = Math_fround(0), $24 = Math_fround(0), $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = Math_fround(0), $32 = Math_fround(0), $33 = Math_fround(0), $34 = 0, $35 = 0, $36 = 0, $37 = Math_fround(0), $38 = 0, $39 = 0, $40 = Math_fround(0), $41 = Math_fround(0), $42 = Math_fround(0), $43 = Math_fround(0), $44 = Math_fround(0), $45 = Math_fround(0), $46 = Math_fround(0), $47 = Math_fround(0), $48 = Math_fround(0), $49 = Math_fround(0), $50 = 0; - $29 = __stack_pointer - 32 | 0; - __stack_pointer = $29; - $14 = HEAP32[$0 + 8 >> 2]; - HEAP32[$29 >> 2] = 1; - $7 = $0 + 12 | 0; - $9 = 1; - while (1) { - $2 = $4; - $10 = $2 << 2; - $18 = HEAPU16[($10 | 2) + $7 >> 1]; - $4 = $2 + 1 | 0; - $9 = Math_imul(HEAP16[$7 + $10 >> 1], $9); - HEAP32[($4 << 2) + $29 >> 2] = $9; - if (($18 | 0) != 1) { - continue; - } - break; - } - $38 = ($14 | 0) > 0 ? $14 : 0; - $35 = HEAP16[(($4 << 2) + $0 | 0) + 10 >> 1]; - label$2 : { - while (1) { - $12 = $35; - $4 = 0; - $35 = 1; - $30 = $2; - if ($2) { - $35 = HEAP16[(($30 << 2) + $0 | 0) + 10 >> 1]; - $4 = $30 << 1; - } - label$5 : { - label$6 : { - switch (HEAP16[(($4 << 1) + $0 | 0) + 12 >> 1] - 2 | 0) { - case 0: - if (($12 | 0) != 4) { - break label$2; - } - $4 = 0; - $2 = $1; - $10 = HEAP32[($30 << 2) + $29 >> 2]; - if (($10 | 0) <= 0) { - break label$5; - } - while (1) { - $6 = HEAPF32[$2 >> 2]; - $3 = HEAPF32[$2 + 32 >> 2]; - HEAPF32[$2 + 32 >> 2] = $6 - $3; - HEAPF32[$2 >> 2] = $3 + $6; - $7 = $2 + 36 | 0; - $6 = HEAPF32[$7 >> 2]; - $3 = HEAPF32[$2 + 4 >> 2]; - HEAPF32[$2 + 4 >> 2] = $6 + $3; - HEAPF32[$2 + 36 >> 2] = $3 - $6; - $6 = HEAPF32[$2 + 8 >> 2]; - $3 = HEAPF32[$2 + 40 >> 2]; - $7 = $2 + 44 | 0; - $5 = HEAPF32[$7 >> 2]; - $8 = Math_fround(Math_fround($3 + $5) * Math_fround(.7071067690849304)); - HEAPF32[$2 + 40 >> 2] = $6 - $8; - $9 = $2 + 12 | 0; - $11 = HEAPF32[$9 >> 2]; - $3 = Math_fround(Math_fround($5 - $3) * Math_fround(.7071067690849304)); - HEAPF32[$2 + 44 >> 2] = $11 - $3; - HEAPF32[$2 + 8 >> 2] = $6 + $8; - HEAPF32[$2 + 12 >> 2] = $3 + $11; - $6 = HEAPF32[$2 + 48 >> 2]; - $3 = HEAPF32[$2 + 16 >> 2]; - $7 = $2 + 52 | 0; - $5 = HEAPF32[$7 >> 2]; - HEAPF32[$2 + 48 >> 2] = $3 - $5; - $9 = $2 + 20 | 0; - $8 = HEAPF32[$9 >> 2]; - HEAPF32[$2 + 52 >> 2] = $6 + $8; - HEAPF32[$2 + 20 >> 2] = $8 - $6; - HEAPF32[$2 + 16 >> 2] = $5 + $3; - $6 = HEAPF32[$2 + 24 >> 2]; - $7 = $2 + 60 | 0; - $3 = HEAPF32[$7 >> 2]; - $5 = HEAPF32[$2 + 56 >> 2]; - $8 = Math_fround(Math_fround($3 - $5) * Math_fround(.7071067690849304)); - HEAPF32[$2 + 56 >> 2] = $6 - $8; - $9 = $2 + 28 | 0; - $11 = HEAPF32[$9 >> 2]; - $3 = Math_fround(Math_fround($3 + $5) * Math_fround(-.7071067690849304)); - HEAPF32[$2 + 60 >> 2] = $11 - $3; - HEAPF32[$2 + 28 >> 2] = $3 + $11; - HEAPF32[$2 + 24 >> 2] = $6 + $8; - $2 = $2 - -64 | 0; - $4 = $4 + 1 | 0; - if (($10 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$5; - case 2: - $34 = HEAP32[($30 << 2) + $29 >> 2]; - if (($12 | 0) == 1) { - $4 = 0; - $2 = $1; - if (($34 | 0) < 1) { - break label$5; - } - while (1) { - $6 = HEAPF32[$2 >> 2]; - $3 = HEAPF32[$2 + 16 >> 2]; - $5 = Math_fround($6 + $3); - $8 = HEAPF32[$2 + 8 >> 2]; - $11 = HEAPF32[$2 + 24 >> 2]; - $15 = Math_fround($8 + $11); - HEAPF32[$2 + 16 >> 2] = $5 - $15; - HEAPF32[$2 >> 2] = $5 + $15; - $7 = $2 + 20 | 0; - $12 = $7; - $5 = HEAPF32[$2 + 4 >> 2]; - $15 = HEAPF32[$2 + 20 >> 2]; - $20 = Math_fround($5 + $15); - $7 = $2 + 12 | 0; - $22 = HEAPF32[$7 >> 2]; - $9 = $2 + 28 | 0; - $16 = HEAPF32[$9 >> 2]; - $17 = Math_fround($22 + $16); - HEAPF32[$12 >> 2] = $20 - $17; - $5 = Math_fround($5 - $15); - $8 = Math_fround($8 - $11); - HEAPF32[$2 + 28 >> 2] = $5 + $8; - $6 = Math_fround($6 - $3); - $3 = Math_fround($22 - $16); - HEAPF32[$2 + 24 >> 2] = $6 - $3; - HEAPF32[$2 + 12 >> 2] = $5 - $8; - HEAPF32[$2 + 8 >> 2] = $6 + $3; - HEAPF32[$2 + 4 >> 2] = $20 + $17; - $2 = $2 + 32 | 0; - $4 = $4 + 1 | 0; - if (($34 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$5; - } - if (($34 | 0) < 1) { - break label$5; - } - $26 = Math_imul($12, 3); - $27 = $12 << 1; - $21 = $34 << $38; - $28 = Math_imul($21, 3); - $39 = $21 << 1; - $50 = HEAP32[$0 + 48 >> 2]; - $36 = 0; - while (1) { - if (($12 | 0) >= 1) { - $2 = (Math_imul($35, $36) << 3) + $1 | 0; - $25 = 0; - $4 = $50; - $7 = $4; - $9 = $4; - while (1) { - $10 = ($12 << 3) + $2 | 0; - $6 = HEAPF32[$10 + 4 >> 2]; - $3 = HEAPF32[$10 >> 2]; - $18 = ($26 << 3) + $2 | 0; - $5 = HEAPF32[$18 + 4 >> 2]; - $8 = HEAPF32[$18 >> 2]; - $11 = HEAPF32[$9 >> 2]; - $15 = HEAPF32[$9 + 4 >> 2]; - $20 = HEAPF32[$4 >> 2]; - $22 = HEAPF32[$4 + 4 >> 2]; - $16 = HEAPF32[$7 >> 2]; - $14 = ($27 << 3) + $2 | 0; - $17 = HEAPF32[$14 + 4 >> 2]; - $13 = HEAPF32[$14 >> 2]; - $19 = HEAPF32[$7 + 4 >> 2]; - $31 = Math_fround(Math_fround($16 * $17) + Math_fround($13 * $19)); - $23 = HEAPF32[$2 + 4 >> 2]; - $24 = Math_fround($31 + $23); - HEAPF32[$2 + 4 >> 2] = $24; - $16 = Math_fround(Math_fround($13 * $16) - Math_fround($17 * $19)); - $17 = HEAPF32[$2 >> 2]; - $13 = Math_fround($16 + $17); - HEAPF32[$2 >> 2] = $13; - $19 = Math_fround(Math_fround($11 * $6) + Math_fround($3 * $15)); - $32 = Math_fround(Math_fround($20 * $5) + Math_fround($8 * $22)); - $33 = Math_fround($19 + $32); - HEAPF32[$14 + 4 >> 2] = $24 - $33; - $6 = Math_fround(Math_fround($3 * $11) - Math_fround($6 * $15)); - $3 = Math_fround(Math_fround($8 * $20) - Math_fround($5 * $22)); - $5 = Math_fround($6 + $3); - HEAPF32[$14 >> 2] = $13 - $5; - HEAPF32[$2 >> 2] = $5 + HEAPF32[$2 >> 2]; - HEAPF32[$2 + 4 >> 2] = $33 + HEAPF32[$2 + 4 >> 2]; - $5 = Math_fround($23 - $31); - $6 = Math_fround($6 - $3); - HEAPF32[$10 + 4 >> 2] = $5 - $6; - $3 = Math_fround($17 - $16); - $8 = Math_fround($19 - $32); - HEAPF32[$10 >> 2] = $3 + $8; - HEAPF32[$18 + 4 >> 2] = $5 + $6; - HEAPF32[$18 >> 2] = $3 - $8; - $2 = $2 + 8 | 0; - $4 = ($28 << 3) + $4 | 0; - $7 = ($39 << 3) + $7 | 0; - $9 = ($21 << 3) + $9 | 0; - $25 = $25 + 1 | 0; - if (($25 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $36 = $36 + 1 | 0; - if (($36 | 0) != ($34 | 0)) { - continue; - } - break; - } - break label$5; - case 1: - $28 = HEAP32[($30 << 2) + $29 >> 2]; - if (($28 | 0) < 1) { - break label$5; - } - $25 = $12 << 1; - $27 = HEAP32[$0 + 48 >> 2]; - $14 = $28 << $38; - $6 = HEAPF32[($27 + (Math_imul($14, $12) << 3) | 0) + 4 >> 2]; - $21 = $14 << 1; - $26 = 0; - while (1) { - $2 = (Math_imul($26, $35) << 3) + $1 | 0; - $7 = $27; - $9 = $7; - $18 = $12; - while (1) { - $4 = ($12 << 3) + $2 | 0; - $3 = HEAPF32[$4 >> 2]; - $5 = HEAPF32[$9 >> 2]; - $8 = HEAPF32[$4 + 4 >> 2]; - $11 = HEAPF32[$9 + 4 >> 2]; - $15 = Math_fround(Math_fround($3 * $5) - Math_fround($8 * $11)); - $10 = ($25 << 3) + $2 | 0; - $20 = HEAPF32[$10 >> 2]; - $22 = HEAPF32[$7 >> 2]; - $16 = HEAPF32[$10 + 4 >> 2]; - $17 = HEAPF32[$7 + 4 >> 2]; - $13 = Math_fround(Math_fround($20 * $22) - Math_fround($16 * $17)); - $19 = Math_fround($15 + $13); - HEAPF32[$4 >> 2] = HEAPF32[$2 >> 2] - Math_fround($19 * Math_fround(.5)); - $3 = Math_fround(Math_fround($5 * $8) + Math_fround($3 * $11)); - $5 = Math_fround(Math_fround($22 * $16) + Math_fround($20 * $17)); - $8 = Math_fround($3 + $5); - HEAPF32[$4 + 4 >> 2] = HEAPF32[$2 + 4 >> 2] - Math_fround($8 * Math_fround(.5)); - HEAPF32[$2 >> 2] = $19 + HEAPF32[$2 >> 2]; - HEAPF32[$2 + 4 >> 2] = $8 + HEAPF32[$2 + 4 >> 2]; - $3 = Math_fround($6 * Math_fround($3 - $5)); - HEAPF32[$10 >> 2] = $3 + HEAPF32[$4 >> 2]; - $5 = Math_fround($6 * Math_fround($15 - $13)); - HEAPF32[$10 + 4 >> 2] = HEAPF32[$4 + 4 >> 2] - $5; - HEAPF32[$4 >> 2] = HEAPF32[$4 >> 2] - $3; - HEAPF32[$4 + 4 >> 2] = $5 + HEAPF32[$4 + 4 >> 2]; - $2 = $2 + 8 | 0; - $7 = ($21 << 3) + $7 | 0; - $9 = ($14 << 3) + $9 | 0; - $18 = $18 - 1 | 0; - if ($18) { - continue; - } - break; - } - $26 = $26 + 1 | 0; - if (($28 | 0) != ($26 | 0)) { - continue; - } - break; - } - break label$5; - case 3: - break label$6; - default: - break label$5; - } - } - $28 = HEAP32[($30 << 2) + $29 >> 2]; - if (($28 | 0) < 1) { - break label$5; - } - $18 = HEAP32[$0 + 48 >> 2]; - $26 = $28 << $38; - $2 = Math_imul($26, $12); - $4 = $18 + ($2 << 4) | 0; - $6 = HEAPF32[$4 + 4 >> 2]; - $3 = HEAPF32[$4 >> 2]; - $2 = ($2 << 3) + $18 | 0; - $5 = HEAPF32[$2 + 4 >> 2]; - $8 = HEAPF32[$2 >> 2]; - $39 = $12 << 2; - $36 = Math_imul($12, 3); - $34 = $12 << 1; - $27 = 0; - while (1) { - if (($12 | 0) >= 1) { - $2 = (Math_imul($27, $35) << 3) + $1 | 0; - $4 = $2 + ($12 << 3) | 0; - $7 = ($34 << 3) + $2 | 0; - $9 = ($36 << 3) + $2 | 0; - $10 = ($39 << 3) + $2 | 0; - $25 = 0; - while (1) { - $11 = HEAPF32[$2 >> 2]; - $15 = HEAPF32[$2 + 4 >> 2]; - $14 = Math_imul($25, $26); - $21 = ($14 << 4) + $18 | 0; - $16 = HEAPF32[$21 >> 2]; - $17 = HEAPF32[$7 + 4 >> 2]; - $13 = HEAPF32[$7 >> 2]; - $19 = HEAPF32[$21 + 4 >> 2]; - $31 = Math_fround(Math_fround($16 * $17) + Math_fround($13 * $19)); - $21 = Math_imul($14, 24) + $18 | 0; - $23 = HEAPF32[$21 >> 2]; - $24 = HEAPF32[$9 + 4 >> 2]; - $32 = HEAPF32[$9 >> 2]; - $33 = HEAPF32[$21 + 4 >> 2]; - $37 = Math_fround(Math_fround($23 * $24) + Math_fround($32 * $33)); - $20 = Math_fround($31 + $37); - $21 = ($14 << 3) + $18 | 0; - $40 = HEAPF32[$21 >> 2]; - $41 = HEAPF32[$4 + 4 >> 2]; - $42 = HEAPF32[$4 >> 2]; - $43 = HEAPF32[$21 + 4 >> 2]; - $44 = Math_fround(Math_fround($40 * $41) + Math_fround($42 * $43)); - $14 = ($14 << 5) + $18 | 0; - $45 = HEAPF32[$14 >> 2]; - $46 = HEAPF32[$10 + 4 >> 2]; - $47 = HEAPF32[$10 >> 2]; - $48 = HEAPF32[$14 + 4 >> 2]; - $49 = Math_fround(Math_fround($45 * $46) + Math_fround($47 * $48)); - $22 = Math_fround($44 + $49); - HEAPF32[$2 + 4 >> 2] = $15 + Math_fround($20 + $22); - $13 = Math_fround(Math_fround($13 * $16) - Math_fround($17 * $19)); - $19 = Math_fround(Math_fround($32 * $23) - Math_fround($24 * $33)); - $16 = Math_fround($13 + $19); - $23 = Math_fround(Math_fround($42 * $40) - Math_fround($41 * $43)); - $24 = Math_fround(Math_fround($47 * $45) - Math_fround($46 * $48)); - $17 = Math_fround($23 + $24); - HEAPF32[$2 >> 2] = $11 + Math_fround($16 + $17); - $13 = Math_fround($13 - $19); - $19 = Math_fround($23 - $24); - $23 = Math_fround(Math_fround($6 * $13) + Math_fround($5 * $19)); - $24 = Math_fround($15 + Math_fround(Math_fround($3 * $20) + Math_fround($8 * $22))); - HEAPF32[$4 + 4 >> 2] = $23 + $24; - $32 = Math_fround($11 + Math_fround(Math_fround($3 * $16) + Math_fround($8 * $17))); - $31 = Math_fround($31 - $37); - $33 = Math_fround($44 - $49); - $37 = Math_fround(Math_fround($6 * $31) + Math_fround($5 * $33)); - HEAPF32[$4 >> 2] = $32 - $37; - HEAPF32[$10 + 4 >> 2] = $24 - $23; - HEAPF32[$10 >> 2] = $37 + $32; - $13 = Math_fround(Math_fround($6 * $19) - Math_fround($5 * $13)); - $15 = Math_fround($15 + Math_fround(Math_fround($8 * $20) + Math_fround($3 * $22))); - HEAPF32[$7 + 4 >> 2] = $13 + $15; - $20 = Math_fround(Math_fround($5 * $31) - Math_fround($6 * $33)); - $11 = Math_fround($11 + Math_fround(Math_fround($8 * $16) + Math_fround($3 * $17))); - HEAPF32[$7 >> 2] = $20 + $11; - HEAPF32[$9 + 4 >> 2] = $15 - $13; - HEAPF32[$9 >> 2] = $11 - $20; - $10 = $10 + 8 | 0; - $9 = $9 + 8 | 0; - $7 = $7 + 8 | 0; - $4 = $4 + 8 | 0; - $2 = $2 + 8 | 0; - $25 = $25 + 1 | 0; - if (($25 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $27 = $27 + 1 | 0; - if (($28 | 0) != ($27 | 0)) { - continue; - } - break; - } - } - $2 = $30 - 1 | 0; - if (($30 | 0) > 0) { - continue; - } - break; - } - __stack_pointer = $29 + 32 | 0; - return; - } - celt_fatal(42449, 42433, 76); - abort(); -} -function clt_compute_allocation($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18) { - var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; - $19 = __stack_pointer; - $41 = $19; - $8 = ($8 | 0) > 0 ? $8 : 0; - $39 = (($8 | 0) > 7) << 3; - $33 = $8 - $39 | 0; - $37 = HEAP32[$0 + 8 >> 2]; - label$1 : { - if (($13 | 0) != 2) { - break label$1; - } - $35 = HEAPU8[($2 - $1 | 0) + 42192 | 0]; - if (($35 | 0) > ($33 | 0)) { - $35 = 0; - break label$1; - } - $8 = $33 - $35 | 0; - $36 = (($8 | 0) > 7) << 3; - $33 = $8 - $36 | 0; - } - $8 = ($37 << 2) + 15 & -16; - $23 = $19 - $8 | 0; - $19 = $23; - __stack_pointer = $19; - $30 = $19 - $8 | 0; - $19 = $30; - __stack_pointer = $19; - $27 = $19 - $8 | 0; - $19 = $27; - __stack_pointer = $19; - $28 = $13 << 3; - $34 = $19 - $8 | 0; - __stack_pointer = $34; - $38 = ($1 | 0) >= ($2 | 0); - if (!$38) { - $25 = $14 + 3 | 0; - $24 = Math_imul(($5 - $14 | 0) - 5 | 0, $13); - $26 = HEAP32[$0 + 32 >> 2]; - $20 = HEAPU16[$26 + ($1 << 1) >> 1]; - $8 = $1; - while (1) { - $5 = $20 << 16; - $21 = $8 << 2; - $19 = $8 + 1 | 0; - $20 = HEAP16[($19 << 1) + $26 >> 1]; - $5 = $20 - ($5 >> 16) | 0; - $22 = Math_imul($5, 3) << $14 << 3 >> 4; - HEAP32[$27 + $21 >> 2] = ($22 | 0) < ($28 | 0) ? $28 : $22; - HEAP32[$21 + $34 >> 2] = (Math_imul(Math_imul(($8 ^ -1) + $2 | 0, $24), $5) << $25 >> 6) - ($5 << $14 == 1 ? $28 : 0); - $8 = $19; - if (($2 | 0) != ($19 | 0)) { - continue; - } - break; - } - } - $40 = HEAP32[$0 + 48 >> 2]; - $32 = $40 - 1 | 0; - $29 = 1; - label$6 : { - while (1) { - $31 = $29 + $32 >> 1; - if (!$38) { - $25 = Math_imul($31, $37); - $24 = HEAP32[$0 + 32 >> 2]; - $21 = HEAPU16[$24 + ($2 << 1) >> 1]; - $26 = HEAP32[$0 + 52 >> 2]; - $20 = 0; - $8 = $2; - $22 = 0; - while (1) { - $5 = $21 << 16 >> 16; - $8 = $8 - 1 | 0; - $21 = HEAP16[($8 << 1) + $24 >> 1]; - $5 = Math_imul(Math_imul($5 - $21 | 0, $13), HEAPU8[($8 + $25 | 0) + $26 | 0]) << $14; - $19 = $5 >> 2; - $22 = !$22; - if (($5 | 0) >= 4) { - $19 = HEAP32[($8 << 2) + $34 >> 2] + $19 | 0; - $19 = ($19 | 0) > 0 ? $19 : 0; - } - $5 = $8 << 2; - $19 = HEAP32[$5 + $3 >> 2] + $19 | 0; - label$11 : { - if (!(($19 | 0) < HEAP32[$5 + $27 >> 2] ? $22 : 0)) { - $5 = HEAP32[$4 + $5 >> 2]; - $19 = ($5 | 0) > ($19 | 0) ? $19 : $5; - $22 = 1; - break label$11; - } - $19 = ($19 | 0) < ($28 | 0) ? 0 : $28; - $22 = 0; - } - $20 = $20 + $19 | 0; - if (($1 | 0) < ($8 | 0)) { - continue; - } - break; - } - $8 = ($20 | 0) > ($33 | 0); - $29 = $8 ? $29 : $31 + 1 | 0; - $32 = $8 ? $31 - 1 | 0 : $32; - if (($29 | 0) <= ($32 | 0)) { - continue; - } - $31 = $1; - if ($38) { - break label$6; - } - $42 = Math_imul($29, $37); - $26 = Math_imul($29 - 1 | 0, $37); - $32 = HEAP32[$0 + 32 >> 2]; - $25 = HEAPU16[$32 + ($1 << 1) >> 1]; - $24 = HEAP32[$0 + 52 >> 2]; - $8 = $1; - $31 = $8; - while (1) { - $19 = $25 << 16; - $5 = $8 + 1 | 0; - $25 = HEAP16[($5 << 1) + $32 >> 1]; - $19 = Math_imul($25 - ($19 >> 16) | 0, $13); - $20 = Math_imul($19, HEAPU8[($8 + $26 | 0) + $24 | 0]) << $14; - if (($29 | 0) >= ($40 | 0)) { - $19 = HEAP32[($8 << 2) + $4 >> 2]; - } else { - $19 = Math_imul(HEAPU8[($8 + $42 | 0) + $24 | 0], $19) << $14 >> 2; - } - $21 = $20 >> 2; - if (($20 | 0) >= 4) { - $20 = HEAP32[($8 << 2) + $34 >> 2] + $21 | 0; - $21 = ($20 | 0) > 0 ? $20 : 0; - } - if (($19 | 0) >= 1) { - $19 = HEAP32[($8 << 2) + $34 >> 2] + $19 | 0; - $19 = ($19 | 0) > 0 ? $19 : 0; - } - $20 = $8 << 2; - $22 = HEAP32[$20 + $3 >> 2]; - $21 = (($29 | 0) > 1 ? $22 : 0) + $21 | 0; - HEAP32[$20 + $23 >> 2] = $21; - $19 = ($19 - $21 | 0) + $22 | 0; - HEAP32[$20 + $30 >> 2] = ($19 | 0) > 0 ? $19 : 0; - $31 = ($22 | 0) > 0 ? $8 : $31; - $8 = $5; - if (($8 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$6; - } - $8 = ($33 | 0) < 0; - $29 = $8 ? $29 : $31 + 1 | 0; - $32 = $8 ? $31 - 1 | 0 : $32; - if (($29 | 0) <= ($32 | 0)) { - continue; - } - break; - } - $31 = $1; - } - $3 = ($13 | 0) > 1; - $24 = 64; - $25 = 0; - $26 = 0; - while (1) { - label$20 : { - $22 = $24 + $25 >> 1; - $5 = $2; - $20 = 0; - $21 = 0; - if (!$38) { - while (1) { - $5 = $5 - 1 | 0; - $8 = $5 << 2; - $19 = (Math_imul(HEAP32[$30 + $8 >> 2], $22) >> 6) + HEAP32[$8 + $23 >> 2] | 0; - label$23 : { - if (!(($19 | 0) < HEAP32[$8 + $27 >> 2] ? !$21 : 0)) { - $8 = HEAP32[$4 + $8 >> 2]; - $8 = ($8 | 0) > ($19 | 0) ? $19 : $8; - $21 = 1; - break label$23; - } - $8 = ($19 | 0) < ($28 | 0) ? 0 : $28; - $21 = 0; - } - $20 = $20 + $8 | 0; - if (($1 | 0) < ($5 | 0)) { - continue; - } - break; - } - $8 = ($20 | 0) > ($33 | 0); - $25 = $8 ? $25 : $22; - $24 = $8 ? $22 : $24; - $26 = $26 + 1 | 0; - if (($26 | 0) != 6) { - continue; - } - $8 = 0; - $20 = $2; - $21 = 0; - while (1) { - $20 = $20 - 1 | 0; - $19 = $20 << 2; - $5 = HEAP32[$19 + $23 >> 2] + (Math_imul(HEAP32[$19 + $30 >> 2], $25) >> 6) | 0; - $22 = ($5 | 0) >= HEAP32[$19 + $27 >> 2]; - $24 = $19 + $10 | 0; - $5 = $21 ? $5 : $22 ? $5 : ($5 | 0) < ($28 | 0) ? 0 : $28; - $19 = HEAP32[$4 + $19 >> 2]; - $19 = ($5 | 0) < ($19 | 0) ? $5 : $19; - HEAP32[$24 >> 2] = $19; - $8 = $8 + $19 | 0; - $21 = $21 | $22; - if (($1 | 0) < ($20 | 0)) { - continue; - } - break; - } - break label$20; - } - $8 = 0; - $19 = ($33 | 0) < 0; - $25 = $19 ? $25 : $22; - $24 = $19 ? $22 : $24; - $26 = $26 + 1 | 0; - if (($26 | 0) != 6) { - continue; - } - } - break; - } - $22 = $2 - 1 | 0; - label$27 : { - label$28 : { - if (($31 | 0) >= ($22 | 0)) { - $5 = $2; - $19 = $35; - break label$28; - } - $32 = $1 + 2 | 0; - $30 = $28 + 8 | 0; - $21 = $2; - while (1) { - $19 = HEAP32[$0 + 32 >> 2]; - $20 = HEAP16[$19 + ($21 << 1) >> 1]; - $5 = $22; - $25 = HEAP16[($5 << 1) + $19 >> 1]; - $29 = $20 - $25 | 0; - $34 = $5 << 2; - $22 = $34 + $10 | 0; - $23 = HEAP32[$22 >> 2]; - $24 = $33 - $8 | 0; - $19 = HEAP16[($1 << 1) + $19 >> 1]; - $26 = ($24 >>> 0) / ($20 - $19 >>> 0) | 0; - $19 = Math_imul($19 - $20 | 0, $26) + $24 + ($19 - $25) | 0; - $20 = ($23 + Math_imul($29, $26) | 0) + (($19 | 0) > 0 ? $19 : 0) | 0; - $19 = HEAP32[$27 + $34 >> 2]; - if (($20 | 0) >= ((($19 | 0) > ($30 | 0) ? $19 : $30) | 0)) { - label$32 : { - label$33 : { - if ($16) { - if (!(($21 | 0) <= ($32 | 0) | (Math_imul(($21 | 0) > 17 ? ($17 | 0) < ($21 | 0) ? 9 : 7 : 0, $29) << $14 << 3 >> 4 < ($20 | 0) ? ($5 | 0) <= ($18 | 0) : 0))) { - ec_enc_bit_logp($15, 0, 1); - break label$32; - } - ec_enc_bit_logp($15, 1, 1); - break label$33; - } - if (!ec_dec_bit_logp($15, 1)) { - break label$32; - } - } - $5 = $21; - $19 = $35; - break label$27; - } - $20 = $20 - 8 | 0; - $23 = HEAP32[$22 >> 2]; - $8 = $8 + 8 | 0; - } - $19 = $35; - if (($19 | 0) >= 1) { - $19 = HEAPU8[($5 - $1 | 0) + 42192 | 0]; - } - $20 = ($20 | 0) < ($28 | 0) ? 0 : $28; - HEAP32[$22 >> 2] = $20; - $8 = (($8 - ($23 + $35 | 0) | 0) + $20 | 0) + $19 | 0; - $35 = $19; - $21 = $5; - $22 = $21 - 1 | 0; - if (($31 | 0) < ($22 | 0)) { - continue; - } - break; - } - } - $33 = $33 + $39 | 0; - } - label$38 : { - label$39 : { - label$40 : { - if (($1 | 0) < ($5 | 0)) { - label$42 : { - label$43 : { - label$44 : { - label$45 : { - $17 = $36; - label$46 : { - if (($19 | 0) >= 1) { - if (!$16) { - break label$45; - } - $19 = HEAP32[$6 >> 2]; - $19 = ($5 | 0) > ($19 | 0) ? $19 : $5; - HEAP32[$6 >> 2] = $19; - ec_enc_uint($15, $19 - $1 | 0, ($5 - $1 | 0) + 1 | 0); - $19 = HEAP32[$6 >> 2]; - break label$46; - } - HEAP32[$6 >> 2] = 0; - $19 = 0; - } - $20 = ($19 | 0) > ($1 | 0); - $19 = $20 ? 0 : $17; - if (!$36 | !$20) { - break label$43; - } - if (!$16) { - break label$44; - } - ec_enc_bit_logp($15, HEAP32[$7 >> 2], 1); - break label$42; - } - $19 = ec_dec_uint($15, ($5 - $1 | 0) + 1 | 0) + $1 | 0; - HEAP32[$6 >> 2] = $19; - $20 = ($1 | 0) < ($19 | 0); - $19 = $20 ? 0 : $36; - if (!$36 | !$20) { - break label$43; - } - } - HEAP32[$7 >> 2] = ec_dec_bit_logp($15, 1); - break label$42; - } - HEAP32[$7 >> 2] = 0; - } - $31 = $14 << 3; - $22 = HEAP32[$0 + 32 >> 2]; - $30 = HEAP16[$22 + ($1 << 1) >> 1]; - $25 = ($33 - $8 | 0) + $19 | 0; - $20 = HEAP16[($5 << 1) + $22 >> 1]; - $23 = ($25 >>> 0) / ($20 - $30 >>> 0) | 0; - $24 = Math_imul($23, $30 - $20 | 0); - $20 = $30; - $8 = $1; - while (1) { - $21 = $20 << 16; - $27 = ($8 << 2) + $10 | 0; - $19 = $8 + 1 | 0; - $20 = HEAP16[($19 << 1) + $22 >> 1]; - HEAP32[$27 >> 2] = HEAP32[$27 >> 2] + Math_imul($20 - ($21 >> 16) | 0, $23); - $8 = $19; - if (($5 | 0) != ($19 | 0)) { - continue; - } - break; - } - $8 = $24 + $25 | 0; - $21 = $30; - $19 = $1; - while (1) { - $27 = $21 << 16; - $23 = ($19 << 2) + $10 | 0; - $20 = $19 + 1 | 0; - $21 = HEAP16[($20 << 1) + $22 >> 1]; - $19 = $21 - ($27 >> 16) | 0; - $19 = ($8 | 0) < ($19 | 0) ? $8 : $19; - HEAP32[$23 >> 2] = $19 + HEAP32[$23 >> 2]; - $8 = $8 - $19 | 0; - $19 = $20; - if (($19 | 0) != ($5 | 0)) { - continue; - } - break; - } - $29 = ($13 | 0) > 1 ? 4 : 3; - $27 = 0; - label$50 : { - while (1) { - if (($1 | 0) == ($5 | 0)) { - break label$50; - } - $8 = $1 << 2; - $19 = $10 + $8 | 0; - $20 = HEAP32[$19 >> 2]; - if (($20 | 0) <= -1) { - break label$40; - } - $23 = $30 << 16; - $21 = $20 + $27 | 0; - $25 = $1 + 1 | 0; - $30 = HEAP16[($25 << 1) + $22 >> 1]; - $23 = $30 - ($23 >> 16) << $14; - label$52 : { - if (($23 | 0) >= 2) { - $26 = 0; - $20 = $21 - HEAP32[$4 + $8 >> 2] | 0; - $20 = ($20 | 0) > 0 ? $20 : 0; - $24 = $21 - $20 | 0; - HEAP32[$19 >> 2] = $24; - $21 = Math_imul($13, $23); - if (!(HEAP32[$7 >> 2] | (($23 | 0) == 2 | ($13 | 0) != 2))) { - $26 = HEAP32[$6 >> 2] > ($1 | 0); - } - $21 = $21 + $26 | 0; - $26 = $21 << 3; - $15 = (($23 | 0) == 2 ? $26 >> 2 : 0) + Math_imul($21, -21) | 0; - $23 = Math_imul(HEAP16[HEAP32[$0 + 56 >> 2] + ($1 << 1) >> 1] + $31 | 0, $21); - $1 = $15 + ($23 >> 1) | 0; - $34 = $24 + $1 | 0; - label$55 : { - if (($34 | 0) < $21 << 4) { - $1 = ($23 >> 2) + $1 | 0; - break label$55; - } - if ((Math_imul($21, 24) | 0) <= ($34 | 0)) { - break label$55; - } - $1 = ($23 >> 3) + $1 | 0; - } - $23 = $8 + $11 | 0; - $24 = (($21 << 2) + $24 | 0) + $1 | 0; - $21 = ((($24 | 0) > 0 ? $24 : 0) >>> 0) / ($21 >>> 0) >>> 3 | 0; - HEAP32[$23 >> 2] = $21; - $24 = HEAP32[$19 >> 2]; - if ((Math_imul($13, $21) | 0) > $24 >> 3) { - $21 = $24 >> $3 >> 3; - HEAP32[$23 >> 2] = $21; - } - $21 = ($21 | 0) < 8 ? $21 : 8; - HEAP32[$23 >> 2] = $21; - HEAP32[$8 + $12 >> 2] = (HEAP32[$19 >> 2] + $1 | 0) <= (Math_imul($21, $26) | 0); - HEAP32[$19 >> 2] = HEAP32[$19 >> 2] - Math_imul(HEAP32[$23 >> 2], $28); - break label$52; - } - $1 = $21 - $28 | 0; - $20 = ($1 | 0) > 0 ? $1 : 0; - HEAP32[$19 >> 2] = $21 - $20; - HEAP32[$8 + $11 >> 2] = 0; - HEAP32[$8 + $12 >> 2] = 1; - } - if ($20) { - $1 = $8 + $11 | 0; - $15 = $1; - $21 = $20 >>> $29 | 0; - $1 = HEAP32[$1 >> 2]; - $23 = 8 - $1 | 0; - $21 = ($21 | 0) < ($23 | 0) ? $21 : $23; - HEAP32[$15 >> 2] = $1 + $21; - $1 = Math_imul($21, $28); - HEAP32[$8 + $12 >> 2] = ($1 | 0) >= ($20 - $27 | 0); - $27 = $20 - $1 | 0; - } else { - $27 = 0; - } - if (HEAP32[$19 >> 2] <= -1) { - break label$39; - } - $1 = $25; - if (HEAP32[$8 + $11 >> 2] > -1) { - continue; - } - break; - } - celt_fatal(42296, 42253, 514); - abort(); - } - HEAP32[$9 >> 2] = $27; - if (($2 | 0) > ($5 | 0)) { - $8 = $5; - while (1) { - $19 = $8 << 2; - $20 = $19 + $11 | 0; - $1 = $10 + $19 | 0; - $21 = HEAP32[$1 >> 2] >> $3 >> 3; - HEAP32[$20 >> 2] = $21; - if (HEAP32[$1 >> 2] != (Math_imul($21, $28) | 0)) { - break label$38; - } - HEAP32[$1 >> 2] = 0; - HEAP32[$12 + $19 >> 2] = HEAP32[$20 >> 2] < 1; - $8 = $8 + 1 | 0; - if (($8 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $41; - return $5; - } - celt_fatal(42216, 42253, 391); - abort(); - } - celt_fatal(42265, 42253, 442); - abort(); - } - celt_fatal(42265, 42253, 513); - abort(); - } - celt_fatal(42328, 42253, 524); - abort(); -} -function compute_theta($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { - var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = Math_fround(0), $16 = Math_fround(0), $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = Math_fround(0), $22 = 0, $23 = 0, $24 = 0, $25 = 0; - $22 = HEAP32[$0 + 36 >> 2]; - $14 = HEAP32[$0 + 28 >> 2]; - $12 = HEAP32[$0 + 16 >> 2]; - $23 = HEAP32[$0 >> 2]; - $11 = 1; - $19 = HEAP32[$5 >> 2]; - $24 = HEAP32[$0 + 8 >> 2]; - $20 = HEAP32[$0 + 12 >> 2]; - $8 = HEAP16[HEAP32[$24 + 56 >> 2] + ($20 << 1) >> 1] + ($8 << 3) | 0; - $13 = ($19 - $8 | 0) - 32 | 0; - $17 = $8 >> 1; - $8 = ($4 | 0) == 2 & ($9 | 0) != 0; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - label$10 : { - label$11 : { - label$12 : { - $17 = $17 + ($8 ? -16 : -4) | 0; - $8 = ($4 << 1) + ($8 ? -2 : -1) | 0; - $8 = (Math_imul($17, $8) + $19 | 0) / ($8 | 0) | 0; - $8 = ($8 | 0) > ($13 | 0) ? $13 : $8; - $8 = ($8 | 0) < 64 ? $8 : 64; - if (($8 | 0) >= 4) { - $11 = (HEAP16[(($8 & 7) << 1) + 42144 >> 1] >> 14 - ($8 >>> 3 | 0)) + 1 & -2; - if (($11 | 0) >= 257) { - break label$12; - } - } - $11 = ($12 | 0) > ($20 | 0) ? $11 : $9 ? 1 : $11; - label$14 : { - label$15 : { - label$16 : { - if ($23) { - $8 = stereo_itheta($2, $3, $9, $4, HEAP32[$0 + 44 >> 2]); - $19 = ec_tell_frac($14); - if (($11 | 0) == 1) { - break label$14; - } - label$18 : { - label$19 : { - if ($9) { - $0 = HEAP32[$0 + 48 >> 2]; - if ($0) { - break label$19; - } - $0 = Math_imul($8, $11) - -8192 >> 14; - break label$18; - } - $8 = Math_imul($8, $11); - $13 = $8 - -8192 | 0; - $12 = $13 >> 14; - label$21 : { - if (($12 | 0) >= ($11 | 0)) { - $0 = $12; - break label$21; - } - if (($8 | 0) < 8192) { - $0 = $12; - break label$21; - } - if (!HEAP32[$0 + 56 >> 2]) { - $0 = $12; - break label$21; - } - $0 = $11; - $13 = (($13 & -16384) >>> 0) / ($0 >>> 0) << 16; - $8 = Math_imul($13 >> 13, $13 >> 16) + 32768 >> 16; - $18 = ((Math_imul($8, ((Math_imul((Math_imul($8, -626) + 16384 >> 15) + 8277 | 0, $8) << 1) + 32768 & -65536) - 501415936 >> 16) + 16384 >>> 15 | 0) - $8 << 16) - -2147483648 >> 16; - $17 = Math_clz32($18); - $8 = 1073741824 - $13 | 0; - $8 = Math_imul($8 >> 13, $8 >> 16) + 32768 >> 16; - $8 = ((Math_imul($8, ((Math_imul((Math_imul($8, -626) + 16384 >> 15) + 8277 | 0, $8) << 1) + 32768 & -65536) - 501415936 >> 16) + 16384 >>> 15 | 0) - $8 << 16) - -2147483648 >> 16; - $13 = Math_clz32($8); - $18 = $18 << $17 - 17 << 16 >> 16; - $8 = $8 << $13 - 17 << 16 >> 16; - $8 = Math_imul(($17 - $13 << 11) - (Math_imul($18, (Math_imul($18, -2597) + 16384 >> 15) + 7932 | 0) + 16384 >>> 15 | 0) + (Math_imul($8, (Math_imul($8, -2597) + 16384 >> 15) + 7932 | 0) + 16384 >>> 15) << 16 >> 16, ($4 << 23) - 8388608 >> 16) + 16384 >> 15; - $13 = HEAP32[$5 >> 2]; - if (($8 | 0) > ($13 | 0)) { - break label$21; - } - $0 = (0 - $13 | 0) > ($8 | 0) ? 0 : $12; - } - if (($7 | 0) < 2) { - break label$16; - } - break label$9; - } - $8 = Math_imul($8, $11) + (((($8 | 0) > 8192 ? 32767 : -32767) | 0) / ($11 | 0) | 0) | 0; - $8 = ($8 | 0) < 0 ? 0 : $8 >> 14; - $0 = (($0 ^ -1) >>> 31 | 0) + (($8 | 0) < ($11 | 0) ? $8 : $11 - 1 | 0) | 0; - } - if (($4 | 0) <= 2) { - break label$9; - } - $8 = ($11 | 0) / 2 | 0; - $12 = Math_imul($8, 3) + 3 | 0; - $13 = Math_imul($0, 3); - $7 = ($0 | 0) > ($8 | 0); - ec_encode($14, $7 ? ($12 + ($8 ^ -1) | 0) + $0 | 0 : $13, $7 ? ($12 - $8 | 0) + $0 | 0 : $13 + 3 | 0, $8 + $12 | 0); - break label$8; - } - $19 = ec_tell_frac($14); - if (($11 | 0) == 1) { - break label$11; - } - if (!(!$9 | ($4 | 0) < 3)) { - $17 = $14; - $8 = ($11 | 0) / 2 | 0; - $7 = $8 + 1 | 0; - $12 = Math_imul($7, 3); - $13 = $8 + $12 | 0; - $0 = ec_decode($14, $13); - label$26 : { - if (($12 | 0) > ($0 | 0)) { - $0 = ($0 | 0) / 3 | 0; - break label$26; - } - $0 = $0 - ($7 << 1) | 0; - } - $7 = Math_imul($0, 3); - $18 = ($0 | 0) > ($8 | 0); - ec_dec_update($17, $18 ? (($8 ^ -1) + $12 | 0) + $0 | 0 : $7, $18 ? ($12 - $8 | 0) + $0 | 0 : $7 + 3 | 0, $13); - break label$8; - } - if ($9 ? 0 : ($7 | 0) <= 1) { - break label$15; - } - $0 = ec_dec_uint($14, $11 + 1 | 0); - break label$8; - } - $18 = $11 - $0 | 0; - $17 = $18 + 1 | 0; - $25 = $0 + 1 | 0; - $8 = $11 >> 1; - $13 = ($8 | 0) < ($0 | 0); - $7 = $13 ? $17 : $25; - $8 = $8 + 1 | 0; - $12 = Math_imul($8, $8); - $8 = $13 ? $12 - (Math_imul($18 + 2 | 0, $17) >> 1) | 0 : Math_imul($0, $25) >> 1; - ec_encode($14, $8, $7 + $8 | 0, $12); - break label$8; - } - $7 = $14; - $2 = $11 >> 1; - $9 = $2 + 1 | 0; - $3 = Math_imul($9, $9); - $0 = ec_decode($14, $3); - label$30 : { - if (($0 | 0) < Math_imul($2, $9) >> 1) { - $9 = isqrt32($0 << 3 | 1) - 1 >>> 1 | 0; - $0 = $9 + 1 | 0; - $2 = Math_imul($0, $9) >>> 1 | 0; - break label$30; - } - $9 = $11 + 1 | 0; - $2 = $9; - $9 = ($9 << 1) - isqrt32(($0 ^ -1) + $3 << 3 | 1) >>> 1 | 0; - $0 = $2 - $9 | 0; - $2 = $3 - (Math_imul($0, ($11 - $9 | 0) + 2 | 0) >> 1) | 0; - } - ec_dec_update($7, $2, $0 + $2 | 0, $3); - $8 = ($9 << 14 >>> 0) / ($11 >>> 0) | 0; - break label$5; - } - if (!$9) { - break label$5; - } - $9 = 0; - $12 = 0; - label$32 : { - if (($8 | 0) < 8193) { - break label$32; - } - $11 = HEAP32[$0 + 52 >> 2]; - if ($11) { - break label$32; - } - $12 = 1; - if (($4 | 0) < 1) { - break label$32; - } - $12 = !$11; - $11 = 0; - while (1) { - $8 = ($11 << 2) + $3 | 0; - HEAPF32[$8 >> 2] = -HEAPF32[$8 >> 2]; - $11 = $11 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - if (($4 | 0) < 1) { - break label$10; - } - $15 = HEAPF32[($20 << 2) + $22 >> 2]; - $16 = HEAPF32[(HEAP32[$24 + 8 >> 2] + $20 << 2) + $22 >> 2]; - $21 = Math_fround(Math_fround(Math_sqrt(Math_fround(Math_fround(Math_fround($15 * $15) + Math_fround(1.0000000036274937e-15)) + Math_fround($16 * $16)))) + Math_fround(1.0000000036274937e-15)); - $16 = Math_fround($16 / $21); - $15 = Math_fround($15 / $21); - while (1) { - $11 = $9 << 2; - $8 = $11 + $2 | 0; - HEAPF32[$8 >> 2] = Math_fround($15 * HEAPF32[$8 >> 2]) + Math_fround($16 * HEAPF32[$3 + $11 >> 2]); - $9 = $9 + 1 | 0; - if (($9 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$10; - } - celt_fatal(42160, 41800, 669); - abort(); - } - $12 = 0; - if (!$9) { - break label$7; - } - } - $4 = 0; - label$35 : { - if (HEAP32[$5 >> 2] < 17) { - break label$35; - } - $4 = 0; - if (HEAP32[$0 + 32 >> 2] < 17) { - break label$35; - } - if ($23) { - ec_enc_bit_logp($14, $12, 2); - $4 = $12; - break label$35; - } - $4 = ec_dec_bit_logp($14, 2); - } - $12 = HEAP32[$0 + 52 >> 2] ? 0 : $4; - break label$7; - } - ec_enc_uint($14, $0, $11 + 1 | 0); - } - if (($0 | 0) <= -1) { - break label$6; - } - $0 = $0 << 14; - $8 = ($0 >>> 0) / ($11 >>> 0) | 0; - if (!$9 | !$23) { - break label$5; - } - if ($0 >>> 0 < $11 >>> 0) { - $12 = 0; - if (($4 | 0) < 1) { - break label$7; - } - $15 = HEAPF32[($20 << 2) + $22 >> 2]; - $16 = HEAPF32[(HEAP32[$24 + 8 >> 2] + $20 << 2) + $22 >> 2]; - $21 = Math_fround(Math_fround(Math_sqrt(Math_fround(Math_fround(Math_fround($15 * $15) + Math_fround(1.0000000036274937e-15)) + Math_fround($16 * $16)))) + Math_fround(1.0000000036274937e-15)); - $16 = Math_fround($16 / $21); - $15 = Math_fround($15 / $21); - $9 = 0; - while (1) { - $0 = $9 << 2; - $11 = $2 + $0 | 0; - HEAPF32[$11 >> 2] = Math_fround($15 * HEAPF32[$11 >> 2]) + Math_fround($16 * HEAPF32[$0 + $3 >> 2]); - $9 = $9 + 1 | 0; - if (($9 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$7; - } - if (($4 | 0) < 1) { - break label$5; - } - $9 = 0; - while (1) { - $0 = $9 << 2; - $11 = $2 + $0 | 0; - $16 = Math_fround(HEAPF32[$11 >> 2] * Math_fround(.7071067690849304)); - $0 = $0 + $3 | 0; - $15 = Math_fround(HEAPF32[$0 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$11 >> 2] = $16 + $15; - HEAPF32[$0 >> 2] = $15 - $16; - $9 = $9 + 1 | 0; - if (($9 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$5; - } - $4 = ec_tell_frac($14); - $0 = $4 - $19 | 0; - HEAP32[$5 >> 2] = HEAP32[$5 >> 2] - $0; - break label$4; - } - celt_fatal(42104, 41800, 838); - abort(); - } - $9 = ec_tell_frac($14); - $0 = $9 - $19 | 0; - HEAP32[$5 >> 2] = HEAP32[$5 >> 2] - $0; - $9 = 16384; - if (($8 | 0) == 16384) { - break label$3; - } - if ($8) { - break label$2; - } - $12 = $8; - } - HEAP32[$10 >> 2] = HEAP32[$10 >> 2] & (-1 << $6 ^ -1); - $4 = -16384; - $3 = 32767; - $9 = 0; - $2 = 0; - break label$1; - } - HEAP32[$10 >> 2] = HEAP32[$10 >> 2] & (-1 << $6 ^ -1) << $6; - $2 = 32767; - $12 = 0; - $3 = 0; - $4 = 16384; - break label$1; - } - $2 = $8 << 16; - $9 = Math_imul($2 >> 13, $2 >> 16) + 32768 >> 16; - $3 = ((Math_imul($9, ((Math_imul((Math_imul($9, -626) + 16384 >> 15) + 8277 | 0, $9) << 1) + 32768 & -65536) - 501415936 >> 16) + 16384 >>> 15 | 0) - $9 << 16) - -2147483648 >> 16; - $11 = Math_clz32($3); - $9 = 1073741824 - $2 | 0; - $9 = Math_imul($9 >> 13, $9 >> 16) + 32768 >> 16; - $2 = ((Math_imul($9, ((Math_imul((Math_imul($9, -626) + 16384 >> 15) + 8277 | 0, $9) << 1) + 32768 & -65536) - 501415936 >> 16) + 16384 >>> 15 | 0) - $9 << 16) - -2147483648 >> 16; - $9 = Math_clz32($2); - $5 = $11 - $9 << 11; - $11 = $3 << $11 - 17 << 16 >> 16; - $9 = $2 << $9 - 17 << 16 >> 16; - $4 = Math_imul($5 - (Math_imul($11, (Math_imul($11, -2597) + 16384 >> 15) + 7932 | 0) + 16384 >>> 15 | 0) + (Math_imul($9, (Math_imul($9, -2597) + 16384 >> 15) + 7932 | 0) + 16384 >>> 15) << 16 >> 16, ($4 << 23) - 8388608 >> 16) + 16384 >> 15; - $12 = 0; - $9 = $8; - } - HEAP32[$1 + 20 >> 2] = $0; - HEAP32[$1 + 16 >> 2] = $9; - HEAP32[$1 + 12 >> 2] = $4; - HEAP32[$1 + 8 >> 2] = $2; - HEAP32[$1 + 4 >> 2] = $3; - HEAP32[$1 >> 2] = $12; -} -function silk_noise_shape_analysis_FLP($0, $1, $2, $3) { - var $4 = 0, $5 = Math_fround(0), $6 = 0, $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0, $12 = Math_fround(0), $13 = 0, $14 = Math_fround(0), $15 = 0, $16 = Math_fround(0), $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = Math_fround(0), $22 = Math_fround(0), $23 = Math_fround(0), $24 = 0, $25 = 0, $26 = 0; - $11 = __stack_pointer - 1184 | 0; - __stack_pointer = $11; - $13 = HEAP32[$0 + 4600 >> 2]; - $4 = HEAP32[$0 + 4716 >> 2]; - $5 = Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4700 >> 2] + HEAP32[$0 + 4696 >> 2] | 0) * Math_fround(.5)) * Math_fround(30517578125e-15)); - HEAPF32[$1 + 696 >> 2] = $5; - $10 = Math_fround($4 | 0); - $12 = Math_fround($10 * Math_fround(.0078125)); - $9 = Math_fround(1 / (exp(+Math_fround(Math_fround($12 + Math_fround(-20)) * Math_fround(-.25))) + 1)); - HEAPF32[$1 + 700 >> 2] = $9; - if (!HEAP32[$0 + 4676 >> 2]) { - $14 = Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4532 >> 2]) * Math_fround(-.00390625)) + Math_fround(1)); - $12 = Math_fround($12 - Math_fround($14 * Math_fround($14 * Math_fround(Math_fround(Math_fround($5 * Math_fround(.5)) + Math_fround(.5)) * Math_fround($9 + $9))))); - } - label$2 : { - if (HEAPU8[$0 + 4765 | 0] == 2) { - HEAP8[$0 + 4766 | 0] = 0; - $5 = HEAPF32[$0 + 10060 >> 2]; - $21 = Math_fround($12 + Math_fround($5 + $5)); - break label$2; - } - $16 = Math_fround(Math_fround(Math_fround(Math_fround($10 * Math_fround(-.4000000059604645)) * Math_fround(.0078125)) + Math_fround(6)) * Math_fround(Math_fround(1) - $5)); - $4 = Math_imul(HEAP16[$0 + 4580 >> 1], 5); - $6 = ($4 | 0) / 2 | 0; - $5 = Math_fround(0); - if (($4 | 0) >= 2) { - $7 = HEAP32[$0 + 4576 >> 2] << 1; - $14 = Math_fround($7 | 0); - $9 = Math_fround(0); - $4 = 0; - $8 = $7 << 2; - while (1) { - $10 = Math_fround(log10(+Math_fround($14 + Math_fround(silk_energy_FLP($2, $7)))) * 3.32192809488736); - $5 = $4 ? Math_fround($5 + Math_fround(Math_abs(Math_fround($10 - $9)))) : $5; - $2 = $2 + $8 | 0; - $9 = $10; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $21 = Math_fround($16 + $12); - if (!(Math_fround(Math_fround($6 - 1 | 0) * Math_fround(.6000000238418579)) < $5 ^ 1)) { - HEAP8[$0 + 4766 | 0] = 0; - break label$2; - } - HEAP8[$0 + 4766 | 0] = 1; - } - $2 = HEAP32[$0 + 4580 >> 2]; - label$7 : { - if (($2 | 0) < 1) { - $4 = 0; - break label$7; - } - $15 = $3 - ($13 << 2) | 0; - $5 = Math_fround(HEAPF32[$1 + 704 >> 2] * Math_fround(.0010000000474974513)); - $23 = Math_fround(Math_fround(.9399999976158142) / Math_fround(Math_fround($5 * $5) + Math_fround(1))); - $10 = Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4672 >> 2]) * Math_fround(152587890625e-16)) + Math_fround(HEAPF32[$1 + 700 >> 2] * Math_fround(.009999999776482582))); - $22 = Math_fround(Math_fround(1) - Math_fround($10 * $10)); - $16 = Math_fround(-$10); - while (1) { - $4 = HEAP32[$0 + 4576 >> 2]; - $6 = Math_imul($4, 3); - $2 = (HEAP32[$0 + 4604 >> 2] - $6 | 0) / 2 | 0; - silk_apply_sine_window_FLP($11 + 224 | 0, $15, 1, $2); - $7 = $2 << 2; - memcpy($7 + ($11 + 224 | 0) | 0, $7 + $15 | 0, Math_imul($4, 12)); - $4 = $2 + $6 << 2; - silk_apply_sine_window_FLP($4 + ($11 + 224 | 0) | 0, $4 + $15 | 0, 2, $2); - $8 = HEAP32[$0 + 4588 >> 2]; - $2 = HEAP32[$0 + 4636 >> 2]; - $4 = HEAP32[$0 + 4604 >> 2]; - label$10 : { - if (HEAP32[$0 + 4672 >> 2] >= 1) { - silk_warped_autocorrelation_FLP($11 + 112 | 0, $11 + 224 | 0, $10, $4, $2); - break label$10; - } - silk_autocorrelation_FLP($11 + 112 | 0, $11 + 224 | 0, $4, $2 + 1 | 0); - } - $5 = HEAPF32[$11 + 112 >> 2]; - HEAPF32[$11 + 112 >> 2] = $5 + Math_fround(Math_fround($5 * Math_fround(29999999242136255e-21)) + Math_fround(1)); - $5 = silk_schur_FLP($11, $11 + 112 | 0, HEAP32[$0 + 4636 >> 2]); - $2 = (Math_imul($17, 96) + $1 | 0) + 244 | 0; - silk_k2a_FLP($2, $11, HEAP32[$0 + 4636 >> 2]); - $3 = ($17 << 2) + $1 | 0; - $9 = Math_fround(Math_sqrt($5)); - HEAPF32[$3 >> 2] = $9; - $7 = HEAP32[$0 + 4636 >> 2]; - if (HEAP32[$0 + 4672 >> 2] >= 1) { - $5 = Math_fround(HEAPF32[(($7 << 2) + $2 | 0) - 4 >> 2] * $16); - if (($7 | 0) >= 2) { - $4 = $7 - 2 | 0; - while (1) { - $5 = Math_fround(Math_fround($5 + HEAPF32[($4 << 2) + $2 >> 2]) * $16); - $6 = ($4 | 0) > 0; - $4 = $4 - 1 | 0; - if ($6) { - continue; - } - break; - } - } - HEAPF32[$3 >> 2] = $9 * Math_fround(Math_fround(1) / Math_fround(Math_fround(1) - $5)); - } - $24 = $8 << 2; - silk_bwexpander_FLP($2, $7, $23); - $6 = HEAP32[$0 + 4636 >> 2]; - label$15 : { - if (HEAP32[$0 + 4672 >> 2] >= 1) { - $18 = $6 - 1 | 0; - $20 = ($6 | 0) < 2; - if (!$20) { - $5 = HEAPF32[($18 << 2) + $2 >> 2]; - $4 = $18; - while (1) { - $7 = $4 - 1 | 0; - $8 = ($7 << 2) + $2 | 0; - $5 = Math_fround(HEAPF32[$8 >> 2] - Math_fround($10 * $5)); - HEAPF32[$8 >> 2] = $5; - $8 = ($4 | 0) > 1; - $4 = $7; - if ($8) { - continue; - } - break; - } - } - $7 = ($6 | 0) < 1; - if ($7) { - break label$15; - } - $5 = HEAPF32[$2 >> 2]; - $12 = Math_fround($22 / Math_fround(Math_fround($10 * $5) + Math_fround(1))); - HEAPF32[$2 >> 2] = $12 * $5; - $13 = 1; - if (($6 | 0) != 1) { - while (1) { - $4 = ($13 << 2) + $2 | 0; - HEAPF32[$4 >> 2] = $12 * HEAPF32[$4 >> 2]; - $13 = $13 + 1 | 0; - if (($13 | 0) != ($6 | 0)) { - continue; - } - break; - } - if ($7) { - break label$15; - } - $13 = ($6 | 0) == 1; - } - $25 = ($18 << 2) + $2 | 0; - $19 = 0; - $7 = 0; - while (1) { - $5 = Math_fround(-1); - $4 = 0; - while (1) { - $9 = Math_fround(Math_abs(HEAPF32[($4 << 2) + $2 >> 2])); - $8 = $9 > $5; - $5 = $8 ? $9 : $5; - $7 = $8 ? $4 : $7; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - if ($5 <= Math_fround(3.999000072479248)) { - break label$15; - } - if (!$20) { - $9 = HEAPF32[$2 >> 2]; - $4 = 1; - while (1) { - $8 = ($4 << 2) + $2 | 0; - $14 = HEAPF32[$8 >> 2]; - HEAPF32[$8 - 4 >> 2] = $9 + Math_fround($10 * $14); - $9 = $14; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $9 = Math_fround(Math_fround(1) / $12); - $4 = 0; - while (1) { - $8 = ($4 << 2) + $2 | 0; - HEAPF32[$8 >> 2] = $9 * HEAPF32[$8 >> 2]; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - silk_bwexpander_FLP($2, $6, Math_fround(Math_fround(.9900000095367432) - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($19 | 0) * Math_fround(.10000000149011612)) + Math_fround(.800000011920929)) * Math_fround($5 + Math_fround(-3.999000072479248))) / Math_fround($5 * Math_fround($7 + 1 | 0))))); - if (!$20) { - $5 = HEAPF32[$25 >> 2]; - $4 = $18; - while (1) { - $8 = $4 - 1 | 0; - $3 = ($8 << 2) + $2 | 0; - $5 = Math_fround(HEAPF32[$3 >> 2] - Math_fround($10 * $5)); - HEAPF32[$3 >> 2] = $5; - $3 = ($4 | 0) > 1; - $4 = $8; - if ($3) { - continue; - } - break; - } - } - $5 = HEAPF32[$2 >> 2]; - $12 = Math_fround($22 / Math_fround(Math_fround($10 * $5) + Math_fround(1))); - HEAPF32[$2 >> 2] = $12 * $5; - $4 = 1; - if (!$13) { - while (1) { - $8 = ($4 << 2) + $2 | 0; - HEAPF32[$8 >> 2] = $12 * HEAPF32[$8 >> 2]; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $19 = $19 + 1 | 0; - if (($19 | 0) != 10) { - continue; - } - break; - } - break label$15; - } - $3 = 0; - $7 = 0; - if (($6 | 0) < 1) { - break label$15; - } - while (1) { - $5 = Math_fround(-1); - $4 = 0; - while (1) { - $9 = Math_fround(Math_abs(HEAPF32[($4 << 2) + $2 >> 2])); - $8 = $9 > $5; - $5 = $8 ? $9 : $5; - $7 = $8 ? $4 : $7; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - if ($5 <= Math_fround(3.999000072479248)) { - break label$15; - } - silk_bwexpander_FLP($2, $6, Math_fround(Math_fround(.9900000095367432) - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($3 | 0) * Math_fround(.10000000149011612)) + Math_fround(.800000011920929)) * Math_fround($5 + Math_fround(-3.999000072479248))) / Math_fround($5 * Math_fround($7 + 1 | 0))))); - $3 = $3 + 1 | 0; - if (($3 | 0) != 10) { - continue; - } - break; - } - } - $15 = $15 + $24 | 0; - $2 = HEAP32[$0 + 4580 >> 2]; - $17 = $17 + 1 | 0; - if (($2 | 0) > ($17 | 0)) { - continue; - } - break; - } - $4 = 0; - $26 = exp2(+Math_fround($21 * Math_fround(-.1599999964237213))); - if (($2 | 0) < 1) { - break label$7; - } - $7 = ($2 | 0) > 0; - $5 = Math_fround($26); - while (1) { - $6 = ($4 << 2) + $1 | 0; - HEAPF32[$6 >> 2] = Math_fround(HEAPF32[$6 >> 2] * $5) + Math_fround(1.2483305931091309); - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - $4 = $7; - } - $14 = Math_fround(HEAP32[$0 + 4532 >> 2]); - $9 = Math_fround(Math_fround($14 * Math_fround(.00390625)) * Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4696 >> 2]) * Math_fround(30517578125e-15)) + Math_fround(-1)) * Math_fround(.5)) + Math_fround(1)) * Math_fround(4))); - $13 = HEAPU8[$0 + 4765 | 0]; - label$33 : { - label$34 : { - label$35 : { - if (($13 | 0) == 2) { - if ($4) { - $10 = Math_fround(Math_fround(.20000000298023224) / Math_fround(HEAP32[$0 + 4576 >> 2])); - $6 = 0; - while (1) { - $7 = ($6 << 2) + $1 | 0; - $5 = Math_fround($10 + Math_fround(Math_fround(3) / Math_fround(HEAP32[$7 + 228 >> 2]))); - HEAPF32[$7 + 628 >> 2] = $5 + Math_fround(-1); - HEAPF32[$7 + 644 >> 2] = Math_fround(Math_fround(1) - $5) - Math_fround($9 * $5); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $9 = Math_fround(Math_fround(Math_fround($14 * Math_fround(-.26249998807907104)) * Math_fround(.00390625)) + Math_fround(-.25)); - break label$35; - } - $5 = Math_fround(Math_fround(1.2999999523162842) / Math_fround(HEAP32[$0 + 4576 >> 2])); - $10 = Math_fround($5 + Math_fround(-1)); - HEAPF32[$1 + 628 >> 2] = $10; - HEAPF32[$1 + 644 >> 2] = Math_fround(Math_fround(1) - $5) + Math_fround(Math_fround($9 * $5) * Math_fround(-.6000000238418579)); - if (($2 | 0) <= 1) { - if (!$4) { - break label$33; - } - $9 = Math_fround(-.25); - $10 = Math_fround(0); - break label$34; - } - HEAPF32[$1 + 632 >> 2] = $10; - HEAP32[$1 + 648 >> 2] = HEAP32[$1 + 644 >> 2]; - $6 = 2; - $9 = Math_fround(-.25); - if (($2 | 0) == 2) { - break label$35; - } - $8 = $1 + 628 | 0; - $3 = $1 + 644 | 0; - while (1) { - $7 = $6 << 2; - HEAP32[$8 + $7 >> 2] = HEAP32[$1 + 628 >> 2]; - HEAP32[$3 + $7 >> 2] = HEAP32[$1 + 644 >> 2]; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - if (($13 | 0) == 2) { - if (!$4) { - break label$33; - } - $10 = Math_fround(Math_fround(Math_sqrt(HEAPF32[$0 + 10060 >> 2])) * Math_fround(Math_fround(Math_fround(Math_fround(1) - Math_fround(Math_fround(Math_fround(1) - HEAPF32[$1 + 700 >> 2]) * HEAPF32[$1 + 696 >> 2])) * Math_fround(.20000000298023224)) + Math_fround(.30000001192092896))); - break label$34; - } - $10 = Math_fround(0); - if (!$4) { - break label$33; - } - } - $4 = 0; - while (1) { - $5 = HEAPF32[$0 + 7172 >> 2]; - $5 = Math_fround($5 + Math_fround(Math_fround($10 - $5) * Math_fround(.4000000059604645))); - HEAPF32[$0 + 7172 >> 2] = $5; - $6 = ($4 << 2) + $1 | 0; - HEAPF32[$6 + 676 >> 2] = $5; - $5 = HEAPF32[$0 + 7176 >> 2]; - $5 = Math_fround($5 + Math_fround(Math_fround($9 - $5) * Math_fround(.4000000059604645))); - HEAPF32[$0 + 7176 >> 2] = $5; - HEAPF32[$6 + 660 >> 2] = $5; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $11 + 1184 | 0; -} -function silk_VAD_GetSA_Q8_c($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0; - $4 = __stack_pointer - 48 | 0; - $10 = $4; - __stack_pointer = $4; - $2 = HEAP32[$0 + 4584 >> 2]; - if (($2 | 0) < 321) { - if (($2 & -8) == ($2 | 0)) { - HEAP32[$10 >> 2] = 0; - $3 = $2 >> 3; - $6 = $2 >> 2; - $7 = $3 + $6 | 0; - HEAP32[$10 + 4 >> 2] = $7; - $8 = $3 + $7 | 0; - HEAP32[$10 + 8 >> 2] = $8; - $9 = $6 + $8 | 0; - HEAP32[$10 + 12 >> 2] = $9; - $13 = $2 >> 1; - $5 = $4 - (($13 + $9 << 1) + 15 & -16) | 0; - __stack_pointer = $5; - silk_ana_filt_bank_1($1, $0 + 36 | 0, $5, ($9 << 1) + $5 | 0, HEAP32[$0 + 4584 >> 2]); - silk_ana_filt_bank_1($5, $0 + 44 | 0, $5, ($8 << 1) + $5 | 0, $13); - silk_ana_filt_bank_1($5, $0 + 52 | 0, $5, ($7 << 1) + $5 | 0, $6); - $4 = $3 - 1 | 0; - $3 = ($4 << 1) + $5 | 0; - $8 = HEAP16[$3 >> 1] >> 1; - HEAP16[$3 >> 1] = $8; - if (($2 | 0) >= 16) { - $3 = $8; - while (1) { - $6 = $4 - 1 | 0; - $2 = ($6 << 1) + $5 | 0; - $1 = $2; - $2 = HEAP16[$2 >> 1] >> 1; - HEAP16[$1 >> 1] = $2; - HEAP16[($4 << 1) + $5 >> 1] = $3 - $2; - $7 = ($4 | 0) > 1; - $3 = $2; - $4 = $6; - if ($7) { - continue; - } - break; - } - } - $4 = $0 + 92 | 0; - HEAP16[$5 >> 1] = HEAPU16[$5 >> 1] - HEAPU16[$4 >> 1]; - HEAP16[$0 + 92 >> 1] = $8; - while (1) { - $2 = HEAP32[$0 + 4584 >> 2]; - $4 = $11 << 2; - $13 = $4 + ($10 + 32 | 0) | 0; - $16 = $0 + $4 | 0; - $9 = $16 + 60 | 0; - $9 = HEAP32[$9 >> 2]; - HEAP32[$13 >> 2] = $9; - $3 = 4 - $11 | 0; - $12 = $2 >> ($3 >>> 0 < 3 ? $3 : 3); - $15 = ($12 | 0) > 3; - label$6 : { - if (!$15) { - $1 = ($9 | 0) > -1 ? $9 : 2147483647; - $4 = 0; - break label$6; - } - $8 = $12 >> 2; - $6 = ($8 | 0) > 1 ? $8 : 1; - $14 = $4 + $10 | 0; - $7 = HEAP32[$14 >> 2]; - $4 = 0; - $2 = 0; - while (1) { - $3 = HEAP16[($4 + $7 << 1) + $5 >> 1] >> 3; - $2 = Math_imul($3, $3) + $2 | 0; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - $4 = $2 + $9 | 0; - $1 = ($4 | 0) > -1 ? $4 : 2147483647; - $4 = 0; - if (!$15) { - break label$6; - } - $7 = HEAP32[$14 >> 2]; - $2 = 0; - while (1) { - $3 = HEAP16[(($4 + $8 | 0) + $7 << 1) + $5 >> 1] >> 3; - $2 = Math_imul($3, $3) + $2 | 0; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - $4 = $1 + $2 | 0; - $1 = ($4 | 0) > -1 ? $4 : 2147483647; - $4 = 0; - $12 = ($12 | 0) < 4; - if ($12) { - break label$6; - } - $7 = $8 << 1; - $9 = HEAP32[$14 >> 2]; - $2 = 0; - while (1) { - $3 = HEAP16[(($4 + $7 | 0) + $9 << 1) + $5 >> 1] >> 3; - $2 = Math_imul($3, $3) + $2 | 0; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - $4 = $1 + $2 | 0; - $1 = ($4 | 0) > -1 ? $4 : 2147483647; - $4 = 0; - if ($12) { - break label$6; - } - $7 = Math_imul($8, 3); - $8 = HEAP32[$14 >> 2]; - $2 = 0; - while (1) { - $3 = HEAP16[(($2 + $7 | 0) + $8 << 1) + $5 >> 1] >> 3; - $4 = Math_imul($3, $3) + $4 | 0; - $2 = $2 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $2 = ($4 >>> 1 | 0) + $1 | 0; - HEAP32[$13 >> 2] = ($2 | 0) > -1 ? $2 : 2147483647; - HEAP32[$16 + 60 >> 2] = $4; - $11 = $11 + 1 | 0; - if (($11 | 0) != 4) { - continue; - } - break; - } - $4 = 0; - $2 = HEAP32[$0 + 144 >> 2]; - if (($2 | 0) <= 999) { - HEAP32[$0 + 144 >> 2] = $2 + 1; - $4 = 32767 / (($2 >> 4) + 1 | 0) | 0; - } - $2 = 128; - $12 = HEAP32[$10 + 32 >> 2]; - $3 = $12 + HEAP32[$0 + 128 >> 2] | 0; - $6 = ($3 | 0) > -1 ? $3 : 2147483647; - $5 = 2147483647 / ($6 | 0) | 0; - $3 = 128; - $7 = HEAP32[$0 + 96 >> 2]; - label$13 : { - if ($7 << 3 < ($6 | 0)) { - break label$13; - } - $3 = 1024; - if (($6 | 0) < ($7 | 0)) { - break label$13; - } - $3 = $7 << 16 >> 16; - $3 = (Math_imul($3, $5 >> 16) + Math_imul(($7 >> 15) + 1 >> 1, $5) | 0) + (Math_imul($5 & 65535, $3) >> 16) | 0; - $3 = $3 >> 16 << 11 | $3 >>> 5 & 2047; - } - $6 = $0 + 112 | 0; - $1 = $6; - $6 = HEAP32[$0 + 112 >> 2]; - $5 = $5 - $6 | 0; - $3 = (($3 | 0) > ($4 | 0) ? $3 : $4) << 16 >> 16; - $3 = (Math_imul($3, $5 >> 16) + $6 | 0) + (Math_imul($5 & 65535, $3) >> 16) | 0; - HEAP32[$1 >> 2] = $3; - $3 = 2147483647 / ($3 | 0) | 0; - $5 = ($3 | 0) < 16777215 ? $3 : 16777215; - HEAP32[$0 + 96 >> 2] = $5; - $15 = HEAP32[$10 + 36 >> 2]; - $3 = $15 + HEAP32[$0 + 132 >> 2] | 0; - $6 = ($3 | 0) > -1 ? $3 : 2147483647; - $3 = 2147483647 / ($6 | 0) | 0; - $7 = HEAP32[$0 + 100 >> 2]; - label$14 : { - if ($7 << 3 < ($6 | 0)) { - break label$14; - } - $2 = 1024; - if (($6 | 0) < ($7 | 0)) { - break label$14; - } - $2 = $7 << 16 >> 16; - $2 = (Math_imul($2, $3 >> 16) + Math_imul(($7 >> 15) + 1 >> 1, $3) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $2 = $2 >> 16 << 11 | $2 >>> 5 & 2047; - } - $6 = $0 + 116 | 0; - $1 = $6; - $6 = HEAP32[$0 + 116 >> 2]; - $3 = $3 - $6 | 0; - $2 = (($2 | 0) > ($4 | 0) ? $2 : $4) << 16 >> 16; - $2 = (Math_imul($2, $3 >> 16) + $6 | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - HEAP32[$1 >> 2] = $2; - $2 = 2147483647 / ($2 | 0) | 0; - HEAP32[$0 + 100 >> 2] = ($2 | 0) < 16777215 ? $2 : 16777215; - $14 = HEAP32[$10 + 40 >> 2]; - $2 = $14 + HEAP32[$0 + 136 >> 2] | 0; - $7 = ($2 | 0) > -1 ? $2 : 2147483647; - $6 = 2147483647 / ($7 | 0) | 0; - $2 = 128; - $3 = 128; - $8 = HEAP32[$0 + 104 >> 2]; - label$15 : { - if ($8 << 3 < ($7 | 0)) { - break label$15; - } - $3 = 1024; - if (($7 | 0) < ($8 | 0)) { - break label$15; - } - $3 = $8 << 16 >> 16; - $3 = (Math_imul($3, $6 >> 16) + Math_imul(($8 >> 15) + 1 >> 1, $6) | 0) + (Math_imul($6 & 65535, $3) >> 16) | 0; - $3 = $3 >> 16 << 11 | $3 >>> 5 & 2047; - } - $7 = $0 + 120 | 0; - $1 = $7; - $7 = HEAP32[$0 + 120 >> 2]; - $6 = $6 - $7 | 0; - $3 = (($3 | 0) > ($4 | 0) ? $3 : $4) << 16 >> 16; - $3 = (Math_imul($3, $6 >> 16) + $7 | 0) + (Math_imul($6 & 65535, $3) >> 16) | 0; - HEAP32[$1 >> 2] = $3; - $3 = 2147483647 / ($3 | 0) | 0; - HEAP32[$0 + 104 >> 2] = ($3 | 0) < 16777215 ? $3 : 16777215; - $17 = HEAP32[$10 + 44 >> 2]; - $3 = $17 + HEAP32[$0 + 140 >> 2] | 0; - $6 = ($3 | 0) > -1 ? $3 : 2147483647; - $3 = 2147483647 / ($6 | 0) | 0; - $7 = HEAP32[$0 + 108 >> 2]; - label$16 : { - if ($7 << 3 < ($6 | 0)) { - break label$16; - } - $2 = 1024; - if (($6 | 0) < ($7 | 0)) { - break label$16; - } - $2 = $7 << 16 >> 16; - $2 = (Math_imul($2, $3 >> 16) + Math_imul(($7 >> 15) + 1 >> 1, $3) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $2 = $2 >> 16 << 11 | $2 >>> 5 & 2047; - } - $4 = (($2 | 0) > ($4 | 0) ? $2 : $4) << 16 >> 16; - $2 = HEAP32[$0 + 124 >> 2]; - $3 = $3 - $2 | 0; - $6 = $0 + 124 | 0; - $4 = (Math_imul($3 >> 16, $4) + $2 | 0) + (Math_imul($3 & 65535, $4) >> 16) | 0; - HEAP32[$6 >> 2] = $4; - $4 = 2147483647 / ($4 | 0) | 0; - HEAP32[$0 + 108 >> 2] = ($4 | 0) < 16777215 ? $4 : 16777215; - $3 = $12; - $7 = 0; - $6 = 0; - $4 = 0; - while (1) { - $2 = $3 - $5 | 0; - label$18 : { - if (($2 | 0) >= 1) { - $8 = $4 << 2; - $9 = $3 >>> 0 < 8388608; - $3 = (($9 ? $3 << 8 : $3) | 0) / (($9 ? $5 : $5 >> 8) + 1 | 0) | 0; - HEAP32[$8 + ($10 + 16 | 0) >> 2] = $3; - $3 = (silk_lin2log($3) << 16) - 67108864 >> 16; - $9 = Math_imul($3, $3); - $6 = $9 + $6 | 0; - if (($2 | 0) <= 1048575) { - $5 = Math_clz32($2); - $1 = 24 - $5 | 0; - $9 = 0 - $1 | 0; - $11 = $2; - label$21 : { - if (!$1) { - break label$21; - } - $11 = $2 << $9 | $2 >>> 56 - $5; - if ($2 >>> 0 <= 127) { - break label$21; - } - $11 = $2 << $5 + 8 | $2 >>> $1; - } - $16 = Math_imul($11 & 127, 13959168) >>> 16 | 0; - $11 = ($5 & 1 ? 32768 : 46214) >>> ($5 >>> 1) | 0; - $13 = Math_imul($11 + (Math_imul($11, $16) >>> 16 | 0) >>> 10 | 0, $3); - label$22 : { - if (!$1) { - break label$22; - } - if ($2 >>> 0 <= 127) { - $2 = $2 << $9 | $2 >>> 56 - $5; - break label$22; - } - $2 = $2 << $5 + 8 | $2 >>> $1; - } - $3 = Math_imul((Math_imul(Math_imul($2 & 127, 13959168) >>> 16 | 0, $11) >>> 16 | 0) + $11 << 6 & 65472, $3) + ($13 << 16) >> 16; - } - $2 = HEAP32[$8 + 1936 >> 2]; - $7 = (Math_imul($2 >> 16, $3) + $7 | 0) + (Math_imul($2 & 65535, $3) >> 16) | 0; - break label$18; - } - HEAP32[($10 + 16 | 0) + ($4 << 2) >> 2] = 256; - } - $4 = $4 + 1 | 0; - if (($4 | 0) != 4) { - $2 = $4 << 2; - $3 = HEAP32[$2 + ($10 + 32 | 0) >> 2]; - $5 = HEAP32[($0 + $2 | 0) + 96 >> 2]; - continue; - } - break; - } - $4 = ($6 | 0) / 4 | 0; - $2 = -128; - if (($6 | 0) >= 4) { - $2 = Math_clz32($4); - $3 = 24 - $2 | 0; - label$27 : { - if (!$3) { - break label$27; - } - if ($4 >>> 0 <= 127) { - $4 = $4 << 0 - $3 | $4 >>> 56 - $2; - break label$27; - } - $4 = $4 << $2 + 8 | $4 >>> $3; - } - $1 = Math_imul($4 & 127, 13959168) >>> 16 | 0; - $4 = ($2 & 1 ? 32768 : 46214) >>> ($2 >>> 1) | 0; - $2 = (Math_imul(Math_imul($4 + (Math_imul($4, $1) >>> 16 | 0) | 0, 196608) >> 16, 45e3) >> 16) - 128 | 0; - } - $4 = silk_sigm_Q15($2); - HEAP32[$0 + 4712 >> 2] = (silk_sigm_Q15($7) << 1) - 32768; - $2 = HEAP32[$0 + 4584 >> 2]; - $3 = HEAP32[$0 + 4576 >> 2]; - $5 = ((($15 - HEAP32[$0 + 100 >> 2] >> 4 << 1) + ($12 - HEAP32[$0 + 96 >> 2] >> 4) | 0) + Math_imul($14 - HEAP32[$0 + 104 >> 2] >> 4, 3) | 0) + ($17 - HEAP32[$0 + 108 >> 2] >> 4 << 2) >> (($2 | 0) == (Math_imul($3, 20) | 0)); - label$29 : { - if (($5 | 0) <= 0) { - $4 = $4 >> 1; - break label$29; - } - if (($5 | 0) > 16383) { - break label$29; - } - $4 = $4 << 16 >> 16; - $6 = $5 << 16; - $5 = Math_clz32($6); - $7 = ($5 & 1 ? 32768 : 46214) >>> ($5 >>> 1) | 0; - $5 = ($7 + (Math_imul((wasm2js_i32$0 = 0, wasm2js_i32$1 = Math_imul(__wasm_rotl_i32($6, $5 + 8 | 0) & 127, 13959168) >>> 16 | 0, wasm2js_i32$2 = ($5 | 0) == 24, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1), $7) >>> 16 | 0) | 0) + 32768 | 0; - $4 = (Math_imul($4, $5 & 65535) >> 16) + Math_imul($5 >>> 16 | 0, $4) | 0; - } - $5 = $4 >> 7; - HEAP32[$0 + 4532 >> 2] = ($5 | 0) < 255 ? $5 : 255; - $5 = $0 + 76 | 0; - $1 = $5; - $5 = HEAP32[$0 + 76 >> 2]; - $6 = HEAP32[$10 + 16 >> 2] - $5 | 0; - $4 = Math_imul($4 << 16 >> 16, $4) >> ((Math_imul($3, 10) | 0) == ($2 | 0) ? 21 : 20); - $2 = (Math_imul($4, $6 >> 16) + $5 | 0) + (Math_imul($6 & 65535, $4) >> 16) | 0; - HEAP32[$1 >> 2] = $2; - HEAP32[$0 + 4696 >> 2] = silk_sigm_Q15(Math_imul(silk_lin2log($2), 3) - 5120 >> 4); - $2 = $0 + 80 | 0; - $1 = $2; - $2 = HEAP32[$0 + 80 >> 2]; - $3 = HEAP32[$10 + 20 >> 2] - $2 | 0; - $2 = (Math_imul($3 >> 16, $4) + $2 | 0) + (Math_imul($3 & 65535, $4) >> 16) | 0; - HEAP32[$1 >> 2] = $2; - HEAP32[$0 + 4700 >> 2] = silk_sigm_Q15(Math_imul(silk_lin2log($2), 3) - 5120 >> 4); - $2 = $0 + 84 | 0; - $1 = $2; - $2 = HEAP32[$0 + 84 >> 2]; - $3 = HEAP32[$10 + 24 >> 2] - $2 | 0; - $2 = (Math_imul($3 >> 16, $4) + $2 | 0) + (Math_imul($3 & 65535, $4) >> 16) | 0; - HEAP32[$1 >> 2] = $2; - HEAP32[$0 + 4704 >> 2] = silk_sigm_Q15(Math_imul(silk_lin2log($2), 3) - 5120 >> 4); - $2 = $0 + 88 | 0; - $1 = $2; - $2 = HEAP32[$0 + 88 >> 2]; - $3 = HEAP32[$10 + 28 >> 2] - $2 | 0; - $4 = (Math_imul($3 >> 16, $4) + $2 | 0) + (Math_imul($3 & 65535, $4) >> 16) | 0; - HEAP32[$1 >> 2] = $4; - HEAP32[$0 + 4708 >> 2] = silk_sigm_Q15(Math_imul(silk_lin2log($4), 3) - 5120 >> 4); - __stack_pointer = $10 + 48 | 0; - return 0; - } - celt_fatal(1846, 1835, 106); - abort(); - } - celt_fatal(1776, 1835, 104); - abort(); -} -function opus_custom_encoder_ctl($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $3 = __stack_pointer - 16 | 0; - __stack_pointer = $3; - HEAP32[$3 + 12 >> 2] = $2; - $2 = -5; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - label$10 : { - label$11 : { - label$12 : { - label$13 : { - label$14 : { - label$15 : { - label$16 : { - label$17 : { - label$18 : { - label$19 : { - label$20 : { - label$21 : { - label$22 : { - label$23 : { - switch ($1 - 4002 | 0) { - default: - switch ($1 - 10002 | 0) { - case 6: - break label$15; - case 0: - break label$20; - case 10: - break label$21; - case 8: - break label$22; - case 24: - break label$3; - case 22: - break label$4; - case 13: - break label$6; - case 26: - break label$7; - case 20: - break label$8; - case 14: - break label$9; - default: - break label$1; - } - case 1: - case 2: - case 3: - case 5: - case 6: - case 7: - case 9: - case 10: - case 11: - case 13: - case 14: - case 15: - case 16: - case 17: - case 19: - case 20: - case 21: - case 22: - case 23: - case 24: - case 25: - case 27: - case 28: - case 30: - case 31: - case 32: - case 33: - case 36: - case 37: - case 38: - case 39: - case 40: - case 41: - case 42: - case 43: - break label$1; - case 26: - break label$10; - case 45: - break label$11; - case 44: - break label$12; - case 35: - break label$13; - case 34: - break label$14; - case 0: - break label$16; - case 4: - break label$17; - case 18: - break label$18; - case 12: - break label$19; - case 8: - break label$23; - case 29: - break label$5; - } - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 10) { - break label$1; - } - HEAP32[$0 + 24 >> 2] = $1; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if (($1 | 0) < 0 | HEAP32[HEAP32[$0 >> 2] + 8 >> 2] <= ($1 | 0)) { - break label$1; - } - HEAP32[$0 + 32 >> 2] = $1; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if (($1 | 0) < 1 | HEAP32[HEAP32[$0 >> 2] + 8 >> 2] < ($1 | 0)) { - break label$1; - } - HEAP32[$0 + 36 >> 2] = $1; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 2) { - break label$1; - } - HEAP32[$0 + 12 >> 2] = !$1; - HEAP32[$0 + 20 >> 2] = ($1 | 0) != 2; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 100) { - break label$1; - } - HEAP32[$0 + 56 >> 2] = $1; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - HEAP32[$0 + 52 >> 2] = HEAP32[$2 >> 2]; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - HEAP32[$0 + 44 >> 2] = HEAP32[$2 >> 2]; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - if (($1 | 0) <= 500) { - $2 = -1; - if (($1 | 0) != -1) { - break label$1; - } - } - $2 = Math_imul(HEAP32[$0 + 4 >> 2], 26e4); - HEAP32[$0 + 40 >> 2] = ($1 | 0) < ($2 | 0) ? $1 : $2; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 - 1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 8 >> 2] = $1; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 - 8 >>> 0 > 16) { - break label$1; - } - HEAP32[$0 + 60 >> 2] = $1; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - HEAP32[HEAP32[$2 >> 2] >> 2] = HEAP32[$0 + 60 >> 2]; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 68 >> 2] = $1; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 68 >> 2]; - break label$2; - } - $2 = 0; - $1 = HEAP32[$0 + 4 >> 2]; - $5 = HEAP32[$0 >> 2]; - $4 = HEAP32[$5 + 4 >> 2]; - $6 = HEAP32[$5 + 8 >> 2]; - memset($0 + 76 | 0, 0, Math_imul($1, (($4 << 2) + ($6 << 4) | 0) + 4096 | 0) + 168 | 0); - $5 = Math_imul(HEAP32[$5 + 8 >> 2], $1); - if (($5 | 0) >= 1) { - $4 = (Math_imul($4 + 1024 | 0, $1) << 2) + $0 | 0; - $1 = Math_imul($1, $6) << 2; - $4 = ($4 + $1 | 0) + 244 | 0; - $6 = $1 + $4 | 0; - while (1) { - $1 = $2 << 2; - HEAP32[$6 + $1 >> 2] = -1042284544; - HEAP32[$1 + $4 >> 2] = -1042284544; - $2 = $2 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $2 = 0; - HEAP32[$0 + 216 >> 2] = 0; - HEAP32[$0 + 96 >> 2] = 0; - HEAP32[$0 + 100 >> 2] = 0; - HEAP32[$0 + 88 >> 2] = 256; - HEAP32[$0 + 80 >> 2] = 2; - HEAP32[$0 + 84 >> 2] = 1065353216; - break label$1; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - HEAP32[$0 + 48 >> 2] = HEAP32[$2 >> 2]; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = 0; - $1 = HEAP32[$1 >> 2]; - if (!$1) { - break label$1; - } - $5 = HEAP32[$1 + 4 >> 2]; - $4 = HEAP32[$1 >> 2]; - HEAP32[$0 + 120 >> 2] = $4; - HEAP32[$0 + 124 >> 2] = $5; - $4 = HEAP32[$1 + 60 >> 2]; - $5 = HEAP32[$1 + 56 >> 2]; - HEAP32[$0 + 176 >> 2] = $5; - HEAP32[$0 + 180 >> 2] = $4; - $5 = HEAP32[$1 + 52 >> 2]; - $4 = HEAP32[$1 + 48 >> 2]; - HEAP32[$0 + 168 >> 2] = $4; - HEAP32[$0 + 172 >> 2] = $5; - $4 = HEAP32[$1 + 44 >> 2]; - $5 = HEAP32[$1 + 40 >> 2]; - HEAP32[$0 + 160 >> 2] = $5; - HEAP32[$0 + 164 >> 2] = $4; - $5 = HEAP32[$1 + 36 >> 2]; - $4 = HEAP32[$1 + 32 >> 2]; - HEAP32[$0 + 152 >> 2] = $4; - HEAP32[$0 + 156 >> 2] = $5; - $4 = HEAP32[$1 + 28 >> 2]; - $5 = HEAP32[$1 + 24 >> 2]; - HEAP32[$0 + 144 >> 2] = $5; - HEAP32[$0 + 148 >> 2] = $4; - $5 = HEAP32[$1 + 20 >> 2]; - $4 = HEAP32[$1 + 16 >> 2]; - HEAP32[$0 + 136 >> 2] = $4; - HEAP32[$0 + 140 >> 2] = $5; - $4 = HEAP32[$1 + 12 >> 2]; - $5 = HEAP32[$1 + 8 >> 2]; - HEAP32[$0 + 128 >> 2] = $5; - HEAP32[$0 + 132 >> 2] = $4; - break label$1; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = 0; - $1 = HEAP32[$1 >> 2]; - if (!$1) { - break label$1; - } - $5 = HEAP32[$1 + 4 >> 2]; - $4 = HEAP32[$1 >> 2]; - HEAP32[$0 + 184 >> 2] = $4; - HEAP32[$0 + 188 >> 2] = $5; - break label$1; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 >> 2]; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 76 >> 2]; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - HEAP32[$0 + 64 >> 2] = HEAP32[$2 >> 2]; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - HEAP32[$0 + 236 >> 2] = HEAP32[$2 >> 2]; - } - $2 = 0; - } - __stack_pointer = $3 + 16 | 0; - return $2; -} -function silk_resampler_private_down_FIR($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - $10 = __stack_pointer; - $20 = $10; - $6 = HEAP32[$0 + 268 >> 2]; - $8 = HEAP32[$0 + 276 >> 2]; - $10 = $10 - (($6 + $8 << 2) + 15 & -16) | 0; - __stack_pointer = $10; - $17 = $0 + 24 | 0; - $12 = memcpy($10, $17, $8 << 2); - $10 = HEAP32[$0 + 296 >> 2]; - $18 = $10 + 4 | 0; - $15 = HEAP32[$0 + 272 >> 2]; - $5 = $10; - while (1) { - $13 = ($3 | 0) < ($6 | 0) ? $3 : $6; - silk_resampler_private_AR2($0, ($8 << 2) + $12 | 0, $2, $5, $13); - $14 = $13 << 16; - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - $16 = HEAP32[$0 + 276 >> 2]; - switch ($16 - 18 | 0) { - case 18: - break label$3; - case 6: - break label$5; - case 0: - break label$6; - default: - break label$4; - } - } - if (($14 | 0) < 1) { - break label$2; - } - $19 = HEAP32[$0 + 280 >> 2]; - $21 = $19 << 16 >> 16; - $5 = 0; - while (1) { - $7 = Math_imul($5 & 65535, $21) >> 16; - $8 = Math_imul($7, 18) + $18 | 0; - $9 = HEAP16[$8 >> 1]; - $6 = ($5 >> 16 << 2) + $12 | 0; - $4 = HEAP32[$6 >> 2]; - $11 = (Math_imul($9, $4 & 65535) >> 16) + Math_imul($4 >> 16, $9) | 0; - $9 = HEAP16[$8 + 2 >> 1]; - $4 = HEAP32[$6 + 4 >> 2]; - $11 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $9 = HEAP16[$8 + 4 >> 1]; - $4 = HEAP32[$6 + 8 >> 2]; - $11 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $9 = HEAP16[$8 + 6 >> 1]; - $4 = HEAP32[$6 + 12 >> 2]; - $11 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $9 = HEAP16[$8 + 8 >> 1]; - $4 = HEAP32[$6 + 16 >> 2]; - $11 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $9 = HEAP16[$8 + 10 >> 1]; - $4 = HEAP32[$6 + 20 >> 2]; - $11 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $9 = HEAP16[$8 + 12 >> 1]; - $4 = HEAP32[$6 + 24 >> 2]; - $11 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $9 = HEAP16[$8 + 14 >> 1]; - $4 = HEAP32[$6 + 28 >> 2]; - $9 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $8 = HEAP16[$8 + 16 >> 1]; - $4 = HEAP32[$6 + 32 >> 2]; - $9 = ($9 + Math_imul($8, $4 >> 16) | 0) + (Math_imul($4 & 65535, $8) >> 16) | 0; - $8 = Math_imul(($7 ^ -1) + $19 | 0, 18) + $18 | 0; - $7 = HEAP16[$8 >> 1]; - $4 = HEAP32[$6 + 68 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 2 >> 1]; - $4 = HEAP32[$6 + 64 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 4 >> 1]; - $4 = HEAP32[$6 + 60 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 6 >> 1]; - $4 = HEAP32[$6 + 56 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 8 >> 1]; - $4 = HEAP32[$6 + 52 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 10 >> 1]; - $4 = HEAP32[$6 + 48 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 12 >> 1]; - $4 = HEAP32[$6 + 44 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 14 >> 1]; - $4 = HEAP32[$6 + 40 >> 2]; - $8 = HEAP16[$8 + 16 >> 1]; - $6 = HEAP32[$6 + 36 >> 2]; - $6 = ((($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0) + Math_imul($8, $6 >> 16) | 0) + (Math_imul($6 & 65535, $8) >> 16) | 0; - $8 = ($6 >> 5) + 1 >> 1; - HEAP16[$1 >> 1] = ($6 | 0) > 2097119 ? 32767 : ($8 | 0) > -32768 ? $8 : -32768; - $1 = $1 + 2 | 0; - $5 = $5 + $15 | 0; - if (($14 | 0) > ($5 | 0)) { - continue; - } - break; - } - break label$2; - } - $8 = 0; - if (($14 | 0) <= 0) { - break label$2; - } - while (1) { - $4 = HEAP16[$10 + 4 >> 1]; - $6 = ($8 >> 16 << 2) + $12 | 0; - $5 = HEAP32[$6 + 92 >> 2] + HEAP32[$6 >> 2] | 0; - $7 = (Math_imul($4, $5 & 65535) >> 16) + Math_imul($5 >> 16, $4) | 0; - $4 = HEAP16[$10 + 6 >> 1]; - $5 = HEAP32[$6 + 88 >> 2] + HEAP32[$6 + 4 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 8 >> 1]; - $5 = HEAP32[$6 + 84 >> 2] + HEAP32[$6 + 8 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 10 >> 1]; - $5 = HEAP32[$6 + 80 >> 2] + HEAP32[$6 + 12 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 12 >> 1]; - $5 = HEAP32[$6 + 76 >> 2] + HEAP32[$6 + 16 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 14 >> 1]; - $5 = HEAP32[$6 + 72 >> 2] + HEAP32[$6 + 20 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 16 >> 1]; - $5 = HEAP32[$6 + 68 >> 2] + HEAP32[$6 + 24 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 18 >> 1]; - $5 = HEAP32[$6 + 64 >> 2] + HEAP32[$6 + 28 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 20 >> 1]; - $5 = HEAP32[$6 + 60 >> 2] + HEAP32[$6 + 32 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 22 >> 1]; - $5 = HEAP32[$6 + 56 >> 2] + HEAP32[$6 + 36 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 24 >> 1]; - $5 = HEAP32[$6 + 52 >> 2] + HEAP32[$6 + 40 >> 2] | 0; - $4 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $5 = HEAP16[$10 + 26 >> 1]; - $6 = HEAP32[$6 + 48 >> 2] + HEAP32[$6 + 44 >> 2] | 0; - $6 = ($4 + Math_imul($5, $6 >> 16) | 0) + (Math_imul($6 & 65535, $5) >> 16) | 0; - $5 = ($6 >> 5) + 1 >> 1; - HEAP16[$1 >> 1] = ($6 | 0) > 2097119 ? 32767 : ($5 | 0) > -32768 ? $5 : -32768; - $1 = $1 + 2 | 0; - $8 = $8 + $15 | 0; - if (($14 | 0) > ($8 | 0)) { - continue; - } - break; - } - break label$2; - } - celt_fatal(6400, 6420, 139); - abort(); - } - $8 = 0; - if (($14 | 0) <= 0) { - break label$2; - } - while (1) { - $4 = HEAP16[$10 + 4 >> 1]; - $6 = ($8 >> 16 << 2) + $12 | 0; - $5 = HEAP32[$6 + 140 >> 2] + HEAP32[$6 >> 2] | 0; - $7 = (Math_imul($4, $5 & 65535) >> 16) + Math_imul($5 >> 16, $4) | 0; - $4 = HEAP16[$10 + 6 >> 1]; - $5 = HEAP32[$6 + 136 >> 2] + HEAP32[$6 + 4 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 8 >> 1]; - $5 = HEAP32[$6 + 132 >> 2] + HEAP32[$6 + 8 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 10 >> 1]; - $5 = HEAP32[$6 + 128 >> 2] + HEAP32[$6 + 12 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 12 >> 1]; - $5 = HEAP32[$6 + 124 >> 2] + HEAP32[$6 + 16 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 14 >> 1]; - $5 = HEAP32[$6 + 120 >> 2] + HEAP32[$6 + 20 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 16 >> 1]; - $5 = HEAP32[$6 + 116 >> 2] + HEAP32[$6 + 24 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 18 >> 1]; - $5 = HEAP32[$6 + 112 >> 2] + HEAP32[$6 + 28 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 20 >> 1]; - $5 = HEAP32[$6 + 108 >> 2] + HEAP32[$6 + 32 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 22 >> 1]; - $5 = HEAP32[$6 + 104 >> 2] + HEAP32[$6 + 36 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 24 >> 1]; - $5 = HEAP32[$6 + 100 >> 2] + HEAP32[$6 + 40 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 26 >> 1]; - $5 = HEAP32[$6 + 96 >> 2] + HEAP32[$6 + 44 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 28 >> 1]; - $5 = HEAP32[$6 + 92 >> 2] + HEAP32[$6 + 48 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 30 >> 1]; - $5 = HEAP32[$6 + 88 >> 2] + HEAP32[$6 + 52 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 32 >> 1]; - $5 = HEAP32[$6 + 84 >> 2] + HEAP32[$6 + 56 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 34 >> 1]; - $5 = HEAP32[$6 + 80 >> 2] + HEAP32[$6 + 60 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 36 >> 1]; - $5 = HEAP32[$6 + 76 >> 2] + HEAP32[$6 + 64 >> 2] | 0; - $4 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $5 = HEAP16[$10 + 38 >> 1]; - $6 = HEAP32[$6 + 72 >> 2] + HEAP32[$6 + 68 >> 2] | 0; - $6 = ($4 + Math_imul($5, $6 >> 16) | 0) + (Math_imul($6 & 65535, $5) >> 16) | 0; - $5 = ($6 >> 5) + 1 >> 1; - HEAP16[$1 >> 1] = ($6 | 0) > 2097119 ? 32767 : ($5 | 0) > -32768 ? $5 : -32768; - $1 = $1 + 2 | 0; - $8 = $8 + $15 | 0; - if (($14 | 0) > ($8 | 0)) { - continue; - } - break; - } - } - $3 = $3 - $13 | 0; - if (($3 | 0) >= 2) { - memcpy($12, ($13 << 2) + $12 | 0, $16 << 2); - $2 = ($13 << 1) + $2 | 0; - $5 = HEAP32[$0 + 296 >> 2]; - $8 = HEAP32[$0 + 276 >> 2]; - $6 = HEAP32[$0 + 268 >> 2]; - continue; - } - break; - } - memcpy($17, ($13 << 2) + $12 | 0, $16 << 2); - __stack_pointer = $20; -} -function silk_stereo_LR_to_MS($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { - var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - $11 = __stack_pointer - 16 | 0; - $16 = $11; - __stack_pointer = $11; - $23 = $1 - 4 | 0; - $13 = $10 + 2 | 0; - $24 = $11 - (($13 << 1) + 15 & -16) | 0; - $18 = $24; - __stack_pointer = $18; - if (($10 | 0) >= -1) { - $21 = ($13 | 0) > 1 ? $13 : 1; - $11 = 0; - while (1) { - $13 = $11 << 1; - $15 = $13 - 4 | 0; - $12 = HEAP16[$15 + $2 >> 1]; - $15 = HEAP16[$1 + $15 >> 1]; - $14 = $15 + $12 | 0; - HEAP16[$13 + $23 >> 1] = ($14 >>> 1 | 0) + ($14 & 1); - $19 = $13 + $24 | 0; - $13 = $15 - $12 | 0; - $13 = ($13 >> 1) + ($13 & 1) | 0; - $13 = ($13 | 0) > -32768 ? $13 : -32768; - HEAP16[$19 >> 1] = ($13 | 0) < 32767 ? $13 : 32767; - $11 = $11 + 1 | 0; - if (($21 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $19 = HEAP32[$0 + 4 >> 2]; - HEAP16[$23 >> 1] = $19; - HEAP16[$23 + 2 >> 1] = $19 >>> 16; - $14 = HEAP32[$0 + 8 >> 2]; - HEAP32[$24 >> 2] = $14; - $11 = $10 << 1; - $19 = $23 + $11 | 0; - HEAP32[$0 + 4 >> 2] = HEAPU16[$19 >> 1] | HEAPU16[$19 + 2 >> 1] << 16; - $19 = $11 + $24 | 0; - HEAP32[$0 + 8 >> 2] = HEAPU16[$19 >> 1] | HEAPU16[$19 + 2 >> 1] << 16; - $13 = $11 + 15 & -16; - $18 = $18 - $13 | 0; - $15 = $18; - __stack_pointer = $15; - $11 = 0; - $17 = $15 - $13 | 0; - $20 = $17; - __stack_pointer = $17; - label$3 : { - if (($10 | 0) <= 0) { - $11 = ($10 << 1) + 15 & -16; - $20 = $20 - $11 | 0; - $13 = $20; - __stack_pointer = $13; - $22 = $13 - $11 | 0; - __stack_pointer = $22; - break label$3; - } - $21 = $14 >>> 16 | 0; - $13 = HEAPU16[$23 >> 1]; - while (1) { - $15 = $11 << 1; - $19 = HEAP16[$15 + $1 >> 1] + ($13 << 16 >> 16) | 0; - $11 = $11 + 1 | 0; - $13 = HEAP16[($11 << 1) + $23 >> 1]; - $12 = (($13 << 1) + $19 >>> 1 | 0) + 1 >>> 1 | 0; - HEAP16[$15 + $18 >> 1] = $12; - HEAP16[$15 + $17 >> 1] = $13 - $12; - if (($10 | 0) != ($11 | 0)) { - continue; - } - break; - } - $11 = ($10 << 1) + 15 & -16; - $20 = $20 - $11 | 0; - $13 = $20; - __stack_pointer = $13; - $22 = $13 - $11 | 0; - __stack_pointer = $22; - if (($10 | 0) < 1) { - break label$3; - } - $13 = 0; - while (1) { - $11 = $21; - $15 = $13 << 1; - $21 = HEAP16[($24 + $15 | 0) + 4 >> 1]; - $12 = (($21 + ($14 << 16 >> 16) | 0) + ($11 << 16 >> 16 << 1) >>> 1 | 0) + 1 >>> 1 | 0; - HEAP16[$15 + $20 >> 1] = $12; - HEAP16[$15 + $22 >> 1] = $11 - $12; - $14 = $11; - $13 = $13 + 1 | 0; - if (($13 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - $11 = (Math_imul($9, 10) | 0) == ($10 | 0); - $13 = $11 ? 328 : 655; - $15 = $7 << 16 >> 16; - $15 = Math_imul($15, $15); - $13 = (Math_imul($13, $15 & 65535) >>> 16 | 0) + Math_imul($15 >>> 16 | 0, $13) | 0; - $7 = silk_stereo_find_predictor($16 + 4 | 0, $18, $20, $0 + 12 | 0, $10, $13); - HEAP32[$16 + 8 >> 2] = $7; - $26 = silk_stereo_find_predictor($16, $17, $22, $0 + 20 | 0, $10, $13); - HEAP32[$16 + 12 >> 2] = $26; - $21 = ($11 ? -1200 : -600) + $6 | 0; - $15 = ($21 | 0) > 1 ? $21 : 1; - $14 = Math_clz32($15); - $12 = $15 << $14 - 1; - $17 = $12; - $11 = HEAP32[$16 >> 2] + Math_imul(HEAP16[$16 + 4 >> 1], 3) | 0; - $22 = ($11 | 0) < 65536 ? $11 : 65536; - $20 = Math_imul($22, 3); - $11 = $20 + 851968 | 0; - $18 = $11 >> 31; - $18 = Math_clz32($18 ^ $11 + $18); - $11 = $11 << $18 - 1; - $27 = $11; - $6 = $11 >> 31; - $25 = $6; - $11 = 536870911 / ($11 >> 16) << 16 >> 16; - $12 = (Math_imul($11, $12 & 65535) >> 16) + Math_imul($12 >> 16, $11) | 0; - $6 = $12 >> 31; - $19 = $6; - $6 = $25; - $19 = __wasm_i64_mul($27, $6, $12, $19); - $25 = $19; - $6 = i64toi32_i32$HIGH_BITS; - $17 = $17 - ((($6 & 536870911) << 3 | $25 >>> 29) & -8) | 0; - $12 = (Math_imul($17 >> 16, $11) + $12 | 0) + (Math_imul($17 & 65535, $11) >> 16) | 0; - $11 = Math_imul($9 << 16 >> 16, 600) + 2e3 | 0; - $6 = $5; - $14 = ($14 - $18 | 0) + 10 | 0; - label$7 : { - if (($14 | 0) <= -1) { - $14 = 0 - $14 | 0; - $18 = 2147483647 >>> $14 | 0; - $17 = -2147483648 >> $14; - $12 = (($12 | 0) > ($18 | 0) ? $18 : ($12 | 0) < ($17 | 0) ? $17 : $12) << $14; - break label$7; - } - $12 = ($14 | 0) < 32 ? $12 >> $14 : 0; - } - HEAP32[$6 >> 2] = $12; - label$9 : { - if (($11 | 0) > ($12 | 0)) { - HEAP32[$5 >> 2] = $11; - $12 = $15 - $11 | 0; - HEAP32[$5 + 4 >> 2] = $12; - $12 = ($12 << 1) - $11 | 0; - $14 = $12 >> 31; - $18 = Math_clz32($14 ^ $12 + $14); - $14 = $12 << $18 - 1; - $27 = $14; - $17 = $11 << 16 >> 16; - $12 = $20 + 65536 | 0; - $12 = (Math_imul($17, $12 & 65535) >> 16) + Math_imul($12 >> 16, $17) | 0; - $17 = $12 >> 31; - $17 = Math_clz32($17 ^ $12 + $17); - $20 = $12 << $17 - 1; - $12 = 536870911 / ($20 >> 16) << 16 >> 16; - $14 = (Math_imul($12, $14 & 65535) >> 16) + Math_imul($14 >> 16, $12) | 0; - $19 = $14 >> 31; - $6 = $19; - $19 = $20 >> 31; - $25 = $19; - $19 = $6; - $25 = __wasm_i64_mul($14, $19, $20, $25); - $6 = $25; - $19 = i64toi32_i32$HIGH_BITS; - $20 = $27 - ((($19 & 536870911) << 3 | $6 >>> 29) & -8) | 0; - $12 = (Math_imul($20 >> 16, $12) + $14 | 0) + (Math_imul($20 & 65535, $12) >> 16) | 0; - $14 = ($18 - $17 | 0) + 13 | 0; - label$11 : { - if (($14 | 0) <= -1) { - $14 = 0 - $14 | 0; - $18 = 2147483647 >>> $14 | 0; - $17 = -2147483648 >> $14; - $12 = (($12 | 0) > ($18 | 0) ? $18 : ($12 | 0) < ($17 | 0) ? $17 : $12) << $14; - break label$11; - } - $12 = ($14 | 0) < 32 ? $12 >> $14 : 0; - } - $12 = ($12 | 0) > 0 ? $12 : 0; - $12 = ($12 | 0) < 16384 ? $12 : 16384; - break label$9; - } - HEAP32[$5 + 4 >> 2] = $15 - $12; - $12 = 16384; - } - $14 = HEAP16[$0 + 28 >> 1]; - $12 = $12 - $14 | 0; - HEAP16[$0 + 28 >> 1] = (Math_imul($12 >>> 16 | 0, $13) + (Math_imul($12 & 65535, $13 << 16 >> 16) >>> 16 | 0) | 0) + $14; - $6 = 0; - HEAP8[$4 | 0] = 0; - label$13 : { - label$14 : { - label$15 : { - label$16 : { - label$17 : { - label$18 : { - if ($8) { - HEAP32[$16 + 8 >> 2] = 0; - HEAP32[$16 + 12 >> 2] = 0; - silk_stereo_quant_pred($16 + 8 | 0, $3); - break label$18; - } - $13 = $15 << 3; - label$20 : { - if (!HEAPU16[$0 + 30 >> 1]) { - label$22 : { - if ((Math_imul($11, 13) | 0) > ($13 | 0)) { - $11 = HEAP16[$0 + 28 >> 1]; - break label$22; - } - $11 = HEAP16[$0 + 28 >> 1]; - if (((Math_imul($11, $22 & 65535) >> 16) + Math_imul($22 >> 16, $11) | 0) > 818) { - break label$20; - } - } - HEAP32[$16 + 12 >> 2] = Math_imul($26 << 16 >> 16, $11) >> 14; - HEAP32[$16 + 8 >> 2] = Math_imul($7 << 16 >> 16, $11) >> 14; - silk_stereo_quant_pred($16 + 8 | 0, $3); - HEAP32[$16 + 8 >> 2] = 0; - HEAP32[$16 + 12 >> 2] = 0; - HEAP32[$5 + 4 >> 2] = 0; - HEAP32[$5 >> 2] = $15; - HEAP8[$4 | 0] = 1; - break label$17; - } - label$24 : { - if ((Math_imul($11, 11) | 0) > ($13 | 0)) { - $11 = HEAP16[$0 + 28 >> 1]; - break label$24; - } - $11 = HEAP16[$0 + 28 >> 1]; - if (((Math_imul($11, $22 & 65535) >> 16) + Math_imul($22 >> 16, $11) | 0) > 327) { - break label$20; - } - } - HEAP32[$16 + 12 >> 2] = Math_imul($26 << 16 >> 16, $11) >> 14; - HEAP32[$16 + 8 >> 2] = Math_imul($7 << 16 >> 16, $11) >> 14; - silk_stereo_quant_pred($16 + 8 | 0, $3); - HEAP32[$16 + 8 >> 2] = 0; - HEAP32[$16 + 12 >> 2] = 0; - break label$18; - } - if (($11 | 0) >= 15566) { - silk_stereo_quant_pred($16 + 8 | 0, $3); - $6 = 16384; - break label$18; - } - HEAP32[$16 + 12 >> 2] = Math_imul($26 << 16 >> 16, $11) >> 14; - HEAP32[$16 + 8 >> 2] = Math_imul($7 << 16 >> 16, $11) >> 14; - silk_stereo_quant_pred($16 + 8 | 0, $3); - $6 = HEAP16[$0 + 28 >> 1]; - } - if (HEAPU8[$4 | 0] != 1) { - break label$16; - } - } - $11 = HEAPU16[$0 + 32 >> 1] + ($10 - ($9 << 3) | 0) | 0; - HEAP16[$0 + 32 >> 1] = $11; - if ((Math_imul($9, 5) | 0) > $11 << 16 >> 16) { - HEAP8[$4 | 0] = 0; - break label$14; - } - HEAP16[$0 + 32 >> 1] = 1e4; - break label$15; - } - HEAP16[$0 + 32 >> 1] = 0; - } - if (HEAPU8[$4 | 0]) { - break label$13; - } - } - if (HEAP32[$5 + 4 >> 2] > 0) { - break label$13; - } - HEAP32[$5 + 4 >> 2] = 1; - HEAP32[$5 >> 2] = ($15 | 0) > 2 ? $21 - 1 | 0 : 1; - } - $11 = $9 << 3; - $13 = 65536 / ($11 | 0) | 0; - $7 = HEAP32[$16 + 12 >> 2]; - $8 = HEAP32[$16 + 8 >> 2]; - if (($9 | 0) >= 1) { - $13 = $13 << 16 >> 16; - $15 = HEAP16[$0 + 30 >> 1]; - $12 = $6 - $15 | 0; - $22 = (Math_imul($13, $12 & 65535) >> 16) + Math_imul($12 >> 16, $13) << 10; - $12 = HEAP16[$0 + 2 >> 1]; - $9 = (Math_imul($7 - $12 << 16 >> 16, $13) >> 15) + 1 >> 1; - $14 = HEAP16[$0 >> 1]; - $5 = (Math_imul($8 - $14 << 16 >> 16, $13) >> 15) + 1 >> 1; - $4 = ($11 | 0) > 1 ? $11 : 1; - $13 = 0; - $21 = 0 - $14 | 0; - $18 = 0 - $12 | 0; - $15 = $15 << 10; - while (1) { - $12 = $13 << 1; - $14 = $13 + 1 | 0; - $13 = $14 << 1; - $17 = HEAP16[$24 + $13 >> 1]; - $15 = $15 + $22 | 0; - $18 = $18 - $9 | 0; - $20 = $18 << 16 >> 16; - $13 = HEAP16[$13 + $23 >> 1]; - $19 = ((Math_imul($17, $15 >> 16) + Math_imul($20, $13 >> 5) | 0) + (Math_imul($15 & 64512, $17) >> 16) | 0) + (Math_imul($13 << 11 & 63488, $20) >> 16) | 0; - $13 = (HEAP16[$1 + $12 >> 1] + HEAP16[$12 + $23 >> 1] | 0) + ($13 << 1) | 0; - $3 = ($12 + $2 | 0) - 2 | 0; - $21 = $21 - $5 | 0; - $12 = $21 << 16 >> 16; - $13 = (Math_imul($12, $13 >> 7) + $19 | 0) + (Math_imul($13 << 9 & 65024, $12) >> 16) | 0; - $12 = ($13 >> 7) + 1 >> 1; - HEAP16[$3 >> 1] = ($13 | 0) > 8388479 ? 32767 : ($12 | 0) > -32768 ? $12 : -32768; - $13 = $14; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - if (($10 | 0) > ($11 | 0)) { - $18 = $6 >> 6; - $17 = $6 << 10 & 64512; - $12 = 0 - ($7 << 16) >> 16; - $14 = 0 - ($8 << 16) >> 16; - while (1) { - $13 = $11 << 1; - $3 = ($13 + $2 | 0) - 2 | 0; - $11 = $11 + 1 | 0; - $15 = $11 << 1; - $21 = HEAP16[$24 + $15 >> 1]; - $15 = HEAP16[$15 + $23 >> 1]; - $13 = (HEAP16[$1 + $13 >> 1] + HEAP16[$13 + $23 >> 1] | 0) + ($15 << 1) | 0; - $13 = ((((Math_imul($18, $21) + Math_imul($15 >> 5, $12) | 0) + (Math_imul($17, $21) >> 16) | 0) + (Math_imul($15 << 11 & 63488, $12) >> 16) | 0) + Math_imul($13 >> 7, $14) | 0) + (Math_imul($13 << 9 & 65024, $14) >> 16) | 0; - $15 = ($13 >> 7) + 1 >> 1; - HEAP16[$3 >> 1] = ($13 | 0) > 8388479 ? 32767 : ($15 | 0) > -32768 ? $15 : -32768; - if (($10 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - HEAP16[$0 + 30 >> 1] = $6; - HEAP16[$0 + 2 >> 1] = $7; - HEAP16[$0 >> 1] = $8; - __stack_pointer = $16 + 16 | 0; -} -function __rem_pio2_large($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - $8 = __stack_pointer - 560 | 0; - __stack_pointer = $8; - $7 = ($2 - 3 | 0) / 24 | 0; - $19 = ($7 | 0) > 0 ? $7 : 0; - $13 = Math_imul($19, -24) + $2 | 0; - $12 = HEAP32[($4 << 2) + 33424 >> 2]; - $15 = $3 - 1 | 0; - if (($12 + $15 | 0) >= 0) { - $6 = $3 + $12 | 0; - $2 = $19 - $15 | 0; - $7 = 0; - while (1) { - $5 = ($2 | 0) < 0 ? 0 : +HEAP32[($2 << 2) + 33440 >> 2]; - HEAPF64[($8 + 320 | 0) + ($7 << 3) >> 3] = $5; - $2 = $2 + 1 | 0; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $18 = $13 - 24 | 0; - $6 = 0; - $10 = ($12 | 0) > 0 ? $12 : 0; - $11 = ($3 | 0) < 1; - while (1) { - label$6 : { - if ($11) { - $5 = 0; - break label$6; - } - $7 = $6 + $15 | 0; - $2 = 0; - $5 = 0; - while (1) { - $5 = $5 + HEAPF64[($2 << 3) + $0 >> 3] * HEAPF64[($8 + 320 | 0) + ($7 - $2 << 3) >> 3]; - $2 = $2 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAPF64[($6 << 3) + $8 >> 3] = $5; - $2 = ($6 | 0) == ($10 | 0); - $6 = $6 + 1 | 0; - if (!$2) { - continue; - } - break; - } - $23 = 47 - $13 | 0; - $21 = 48 - $13 | 0; - $24 = $13 - 25 | 0; - $6 = $12; - label$9 : { - while (1) { - $5 = HEAPF64[($6 << 3) + $8 >> 3]; - $2 = 0; - $7 = $6; - $15 = ($6 | 0) < 1; - if (!$15) { - while (1) { - $10 = $2 << 2; - $10 = $10 + ($8 + 480 | 0) | 0; - $16 = $5; - $9 = $5 * 5.960464477539063e-8; - label$14 : { - if (Math_abs($9) < 2147483648) { - $11 = ~~$9; - break label$14; - } - $11 = -2147483648; - } - $9 = +($11 | 0); - $5 = $16 + $9 * -16777216; - label$13 : { - if (Math_abs($5) < 2147483648) { - $11 = ~~$5; - break label$13; - } - $11 = -2147483648; - } - HEAP32[$10 >> 2] = $11; - $7 = $7 - 1 | 0; - $5 = HEAPF64[($7 << 3) + $8 >> 3] + $9; - $2 = $2 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $5 = scalbn($5, $18); - $5 = $5 + floor($5 * .125) * -8; - label$17 : { - if (Math_abs($5) < 2147483648) { - $17 = ~~$5; - break label$17; - } - $17 = -2147483648; - } - $5 = $5 - +($17 | 0); - label$19 : { - label$20 : { - label$21 : { - $22 = ($18 | 0) < 1; - label$22 : { - if (!$22) { - $7 = ($6 << 2) + $8 | 0; - $2 = $7 + 476 | 0; - $11 = $2; - $2 = HEAP32[$7 + 476 >> 2]; - $7 = $2; - $2 = $2 >> $21; - $7 = $7 - ($2 << $21) | 0; - HEAP32[$11 >> 2] = $7; - $17 = $2 + $17 | 0; - $14 = $7 >> $23; - break label$22; - } - if ($18) { - break label$21; - } - $14 = HEAP32[(($6 << 2) + $8 | 0) + 476 >> 2] >> 23; - } - if (($14 | 0) < 1) { - break label$19; - } - break label$20; - } - $14 = 2; - if (!($5 >= .5 ^ 1)) { - break label$20; - } - $14 = 0; - break label$19; - } - $2 = 0; - $11 = 0; - if (!$15) { - while (1) { - $15 = ($8 + 480 | 0) + ($2 << 2) | 0; - $7 = HEAP32[$15 >> 2]; - $10 = 16777215; - label$26 : { - label$27 : { - if ($11) { - break label$27; - } - $10 = 16777216; - if ($7) { - break label$27; - } - $11 = 0; - break label$26; - } - HEAP32[$15 >> 2] = $10 - $7; - $11 = 1; - } - $2 = $2 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - label$28 : { - if ($22) { - break label$28; - } - label$29 : { - switch ($24 | 0) { - case 0: - $7 = ($6 << 2) + $8 | 0; - $2 = $7 + 476 | 0; - HEAP32[$2 >> 2] = HEAP32[$7 + 476 >> 2] & 8388607; - break label$28; - case 1: - break label$29; - default: - break label$28; - } - } - $7 = ($6 << 2) + $8 | 0; - $2 = $7 + 476 | 0; - HEAP32[$2 >> 2] = HEAP32[$7 + 476 >> 2] & 4194303; - } - $17 = $17 + 1 | 0; - if (($14 | 0) != 2) { - break label$19; - } - $5 = 1 - $5; - $14 = 2; - if (!$11) { - break label$19; - } - $5 = $5 - scalbn(1, $18); - } - if ($5 == 0) { - $7 = 0; - label$32 : { - $2 = $6; - if (($12 | 0) >= ($2 | 0)) { - break label$32; - } - while (1) { - $2 = $2 - 1 | 0; - $7 = HEAP32[($8 + 480 | 0) + ($2 << 2) >> 2] | $7; - if (($2 | 0) > ($12 | 0)) { - continue; - } - break; - } - if (!$7) { - break label$32; - } - $13 = $18; - while (1) { - $13 = $13 - 24 | 0; - $6 = $6 - 1 | 0; - if (!HEAP32[($8 + 480 | 0) + ($6 << 2) >> 2]) { - continue; - } - break; - } - break label$9; - } - $2 = 1; - while (1) { - $7 = $2; - $2 = $2 + 1 | 0; - if (!HEAP32[($8 + 480 | 0) + ($12 - $7 << 2) >> 2]) { - continue; - } - break; - } - $10 = $6 + $7 | 0; - while (1) { - $7 = $3 + $6 | 0; - $6 = $6 + 1 | 0; - HEAPF64[($8 + 320 | 0) + ($7 << 3) >> 3] = HEAP32[($19 + $6 << 2) + 33440 >> 2]; - $2 = 0; - $5 = 0; - if (($3 | 0) >= 1) { - while (1) { - $5 = $5 + HEAPF64[($2 << 3) + $0 >> 3] * HEAPF64[($8 + 320 | 0) + ($7 - $2 << 3) >> 3]; - $2 = $2 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAPF64[($6 << 3) + $8 >> 3] = $5; - if (($6 | 0) < ($10 | 0)) { - continue; - } - break; - } - $6 = $10; - continue; - } - break; - } - $5 = scalbn($5, 24 - $13 | 0); - label$39 : { - if (!($5 >= 16777216 ^ 1)) { - $3 = $6 << 2; - $3 = $3 + ($8 + 480 | 0) | 0; - $16 = $5; - $9 = $5 * 5.960464477539063e-8; - label$42 : { - if (Math_abs($9) < 2147483648) { - $2 = ~~$9; - break label$42; - } - $2 = -2147483648; - } - $5 = $16 + +($2 | 0) * -16777216; - label$41 : { - if (Math_abs($5) < 2147483648) { - $7 = ~~$5; - break label$41; - } - $7 = -2147483648; - } - HEAP32[$3 >> 2] = $7; - $6 = $6 + 1 | 0; - break label$39; - } - if (Math_abs($5) < 2147483648) { - $2 = ~~$5; - } else { - $2 = -2147483648; - } - $13 = $18; - } - HEAP32[($8 + 480 | 0) + ($6 << 2) >> 2] = $2; - } - $5 = scalbn(1, $13); - label$47 : { - if (($6 | 0) <= -1) { - break label$47; - } - $2 = $6; - while (1) { - HEAPF64[($2 << 3) + $8 >> 3] = $5 * +HEAP32[($8 + 480 | 0) + ($2 << 2) >> 2]; - $5 = $5 * 5.960464477539063e-8; - $3 = ($2 | 0) > 0; - $2 = $2 - 1 | 0; - if ($3) { - continue; - } - break; - } - $10 = 0; - if (($6 | 0) < 0) { - break label$47; - } - $12 = ($12 | 0) > 0 ? $12 : 0; - $7 = $6; - while (1) { - $0 = $10 >>> 0 > $12 >>> 0 ? $12 : $10; - $11 = $6 - $7 | 0; - $2 = 0; - $5 = 0; - while (1) { - $5 = $5 + HEAPF64[($2 << 3) + 36208 >> 3] * HEAPF64[($2 + $7 << 3) + $8 >> 3]; - $3 = ($0 | 0) != ($2 | 0); - $2 = $2 + 1 | 0; - if ($3) { - continue; - } - break; - } - HEAPF64[($8 + 160 | 0) + ($11 << 3) >> 3] = $5; - $7 = $7 - 1 | 0; - $2 = ($6 | 0) != ($10 | 0); - $10 = $10 + 1 | 0; - if ($2) { - continue; - } - break; - } - } - label$51 : { - label$52 : { - label$53 : { - switch ($4 | 0) { - case 3: - label$56 : { - if (($6 | 0) < 1) { - break label$56; - } - $5 = HEAPF64[($8 + 160 | 0) + ($6 << 3) >> 3]; - $2 = $6; - while (1) { - $3 = $2 - 1 | 0; - $7 = ($8 + 160 | 0) + ($3 << 3) | 0; - $9 = HEAPF64[$7 >> 3]; - $16 = $9; - $9 = $9 + $5; - HEAPF64[($8 + 160 | 0) + ($2 << 3) >> 3] = $5 + ($16 - $9); - HEAPF64[$7 >> 3] = $9; - $7 = ($2 | 0) > 1; - $5 = $9; - $2 = $3; - if ($7) { - continue; - } - break; - } - if (($6 | 0) < 2) { - break label$56; - } - $5 = HEAPF64[($8 + 160 | 0) + ($6 << 3) >> 3]; - $2 = $6; - while (1) { - $3 = $2 - 1 | 0; - $7 = ($8 + 160 | 0) + ($3 << 3) | 0; - $9 = HEAPF64[$7 >> 3]; - $16 = $9; - $9 = $9 + $5; - HEAPF64[($8 + 160 | 0) + ($2 << 3) >> 3] = $5 + ($16 - $9); - HEAPF64[$7 >> 3] = $9; - $7 = ($2 | 0) > 2; - $5 = $9; - $2 = $3; - if ($7) { - continue; - } - break; - } - if (($6 | 0) <= 1) { - break label$56; - } - while (1) { - $20 = $20 + HEAPF64[($8 + 160 | 0) + ($6 << 3) >> 3]; - $2 = ($6 | 0) > 2; - $6 = $6 - 1 | 0; - if ($2) { - continue; - } - break; - } - } - $5 = HEAPF64[$8 + 160 >> 3]; - if ($14) { - break label$52; - } - HEAPF64[$1 >> 3] = $5; - $5 = HEAPF64[$8 + 168 >> 3]; - HEAPF64[$1 + 16 >> 3] = $20; - HEAPF64[$1 + 8 >> 3] = $5; - break label$51; - case 0: - $5 = 0; - if (($6 | 0) >= 0) { - while (1) { - $5 = $5 + HEAPF64[($8 + 160 | 0) + ($6 << 3) >> 3]; - $2 = ($6 | 0) > 0; - $6 = $6 - 1 | 0; - if ($2) { - continue; - } - break; - } - } - HEAPF64[$1 >> 3] = $14 ? -$5 : $5; - break label$51; - case 1: - case 2: - break label$53; - default: - break label$51; - } - } - $5 = 0; - if (($6 | 0) >= 0) { - $2 = $6; - while (1) { - $5 = $5 + HEAPF64[($8 + 160 | 0) + ($2 << 3) >> 3]; - $3 = ($2 | 0) > 0; - $2 = $2 - 1 | 0; - if ($3) { - continue; - } - break; - } - } - HEAPF64[$1 >> 3] = $14 ? -$5 : $5; - $5 = HEAPF64[$8 + 160 >> 3] - $5; - $2 = 1; - if (($6 | 0) >= 1) { - while (1) { - $5 = $5 + HEAPF64[($8 + 160 | 0) + ($2 << 3) >> 3]; - $3 = ($2 | 0) != ($6 | 0); - $2 = $2 + 1 | 0; - if ($3) { - continue; - } - break; - } - } - HEAPF64[$1 + 8 >> 3] = $14 ? -$5 : $5; - break label$51; - } - HEAPF64[$1 >> 3] = -$5; - $5 = HEAPF64[$8 + 168 >> 3]; - HEAPF64[$1 + 16 >> 3] = -$20; - HEAPF64[$1 + 8 >> 3] = -$5; - } - __stack_pointer = $8 + 560 | 0; - return $17 & 7; -} -function silk_NLSF_del_dec_quant($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - $10 = __stack_pointer - 320 | 0; - __stack_pointer = $10; - $16 = $6 << 16 >> 16; - $6 = -10; - while (1) { - $11 = $6 << 10; - label$2 : { - if (($6 | 0) >= 1) { - $13 = $11 | 922; - $11 = $11 - 102 | 0; - break label$2; - } - if (!$6) { - $13 = $11 | 922; - break label$2; - } - $12 = $11 + 1024 | 0; - $13 = ($6 | 0) == -1 ? $12 : $12 | 102; - $11 = $11 | 102; - } - $12 = ($6 << 2) + 40 | 0; - HEAP32[$12 + $10 >> 2] = Math_imul($13 << 16 >> 16, $16) >> 16; - HEAP32[($10 + 80 | 0) + $12 >> 2] = Math_imul($11 << 16 >> 16, $16) >> 16; - $6 = $6 + 1 | 0; - if (($6 | 0) != 10) { - continue; - } - break; - } - HEAP16[$10 + 224 >> 1] = 0; - HEAP32[$10 + 192 >> 2] = 0; - if (($9 | 0) < 1) { - $20 = 0; - } else { - $20 = $8 << 16 >> 16; - $8 = $9; - $16 = 1; - while (1) { - $24 = $8; - $8 = $8 - 1 | 0; - label$8 : { - label$9 : { - label$10 : { - $23 = ($16 | 0) < 1; - label$11 : { - if ($23) { - break label$11; - } - $6 = $8 << 1; - $22 = HEAP16[$6 + $4 >> 1] + $5 | 0; - $12 = HEAPU16[$1 + $6 >> 1]; - $21 = HEAPU8[$3 + $8 | 0]; - $15 = HEAP16[$2 + $6 >> 1]; - $6 = 0; - while (1) { - $17 = ($10 + 224 | 0) + ($6 << 1) | 0; - $13 = Math_imul(HEAP16[$17 >> 1], $21) >> 8; - $11 = Math_imul($12 - $13 << 16 >> 16, $7) >> 16; - $11 = ($11 | 0) > -10 ? $11 : -10; - $11 = ($11 | 0) < 9 ? $11 : 9; - HEAP8[(($10 + 240 | 0) + ($6 << 4) | 0) + $8 | 0] = $11; - $14 = ($11 << 2) + 40 | 0; - $18 = HEAP32[$14 + ($10 + 80 | 0) >> 2] + $13 | 0; - HEAP16[$17 >> 1] = $18; - $17 = $6 + $16 | 0; - $13 = HEAP32[$10 + $14 >> 2] + $13 | 0; - HEAP16[($10 + 224 | 0) + ($17 << 1) >> 1] = $13; - label$13 : { - if (($11 | 0) >= 3) { - if (($11 | 0) == 3) { - $19 = 280; - $14 = HEAPU8[$22 + 7 | 0]; - break label$13; - } - $11 = Math_imul($11, 43); - $19 = $11 + 151 | 0; - $14 = $11 + 108 | 0; - break label$13; - } - if (($11 | 0) <= -4) { - if (($11 | 0) == -4) { - $19 = HEAPU8[$22 + 1 | 0]; - $14 = 280; - break label$13; - } - $11 = Math_imul($11, -43); - $19 = $11 + 65 | 0; - $14 = $11 + 108 | 0; - break label$13; - } - $11 = $11 + $22 | 0; - $19 = HEAPU8[$11 + 5 | 0]; - $14 = HEAPU8[$11 + 4 | 0]; - } - $11 = ($10 + 192 | 0) + ($6 << 2) | 0; - $25 = $11; - $11 = HEAP32[$11 >> 2]; - $26 = $11 + Math_imul($20, $14) | 0; - $14 = $12 - $18 << 16 >> 16; - HEAP32[$25 >> 2] = $26 + Math_imul(Math_imul($14, $14), $15); - $14 = Math_imul($19, $20) + $11 | 0; - $11 = $12 - $13 << 16 >> 16; - HEAP32[($10 + 192 | 0) + ($17 << 2) >> 2] = $14 + Math_imul(Math_imul($11, $11), $15); - $6 = $6 + 1 | 0; - if (($16 | 0) != ($6 | 0)) { - continue; - } - break; - } - if (($16 | 0) >= 3) { - $11 = 0; - $6 = HEAP32[$10 + 208 >> 2]; - $12 = HEAP32[$10 + 192 >> 2]; - if (($6 | 0) < ($12 | 0)) { - break label$10; - } - $15 = $6; - $6 = $12; - break label$9; - } - $6 = 0; - if ($23) { - break label$11; - } - while (1) { - HEAP8[(($10 + 240 | 0) + ($6 + $16 << 4) | 0) + $8 | 0] = HEAPU8[(($10 + 240 | 0) + ($6 << 4) | 0) + $8 | 0] + 1; - $6 = $6 + 1 | 0; - if (($16 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $16 = $16 << 1; - $6 = $16; - if (($6 | 0) > 3) { - break label$8; - } - while (1) { - HEAP8[(($10 + 240 | 0) + ($6 << 4) | 0) + $8 | 0] = HEAPU8[(($10 + 240 | 0) + ($6 - $16 << 4) | 0) + $8 | 0]; - $6 = $6 + 1 | 0; - if (($6 | 0) != 4) { - continue; - } - break; - } - break label$8; - } - HEAP32[$10 + 208 >> 2] = $12; - HEAP32[$10 + 192 >> 2] = $6; - $11 = HEAPU16[$10 + 224 >> 1]; - HEAP16[$10 + 224 >> 1] = HEAPU16[$10 + 232 >> 1]; - HEAP16[$10 + 232 >> 1] = $11; - $11 = 4; - $15 = $12; - } - HEAP32[$10 + 176 >> 2] = $6; - HEAP32[$10 + 160 >> 2] = $15; - HEAP32[$10 + 304 >> 2] = $11; - $12 = 1; - $11 = HEAP32[$10 + 212 >> 2]; - $13 = HEAP32[$10 + 196 >> 2]; - label$21 : { - if (($11 | 0) >= ($13 | 0)) { - $17 = $11; - $11 = $13; - break label$21; - } - HEAP32[$10 + 212 >> 2] = $13; - HEAP32[$10 + 196 >> 2] = $11; - $12 = HEAPU16[$10 + 226 >> 1]; - HEAP16[$10 + 226 >> 1] = HEAPU16[$10 + 234 >> 1]; - HEAP16[$10 + 234 >> 1] = $12; - $12 = 5; - $17 = $13; - } - HEAP32[$10 + 180 >> 2] = $11; - HEAP32[$10 + 164 >> 2] = $17; - HEAP32[$10 + 308 >> 2] = $12; - $12 = 2; - $13 = HEAP32[$10 + 216 >> 2]; - $14 = HEAP32[$10 + 200 >> 2]; - label$23 : { - if (($13 | 0) >= ($14 | 0)) { - $18 = $13; - $13 = $14; - break label$23; - } - HEAP32[$10 + 216 >> 2] = $14; - HEAP32[$10 + 200 >> 2] = $13; - $12 = HEAPU16[$10 + 228 >> 1]; - HEAP16[$10 + 228 >> 1] = HEAPU16[$10 + 236 >> 1]; - HEAP16[$10 + 236 >> 1] = $12; - $12 = 6; - $18 = $14; - } - HEAP32[$10 + 184 >> 2] = $13; - HEAP32[$10 + 168 >> 2] = $18; - HEAP32[$10 + 312 >> 2] = $12; - $19 = 3; - $12 = HEAP32[$10 + 220 >> 2]; - $21 = HEAP32[$10 + 204 >> 2]; - label$25 : { - if (($12 | 0) >= ($21 | 0)) { - $14 = $12; - $12 = $21; - break label$25; - } - HEAP32[$10 + 220 >> 2] = $21; - HEAP32[$10 + 204 >> 2] = $12; - $14 = HEAPU16[$10 + 230 >> 1]; - HEAP16[$10 + 230 >> 1] = HEAPU16[$10 + 238 >> 1]; - HEAP16[$10 + 238 >> 1] = $14; - $19 = 7; - $14 = $21; - } - HEAP32[$10 + 188 >> 2] = $12; - HEAP32[$10 + 172 >> 2] = $14; - HEAP32[$10 + 316 >> 2] = $19; - while (1) { - $19 = ($15 | 0) > ($17 | 0); - $15 = $19 ? $17 : $15; - $17 = ($18 | 0) < ($15 | 0); - $15 = $17 ? $18 : $15; - $18 = ($14 | 0) < ($15 | 0); - $21 = $18 ? $14 : $15; - $6 = ($6 | 0) > 0 ? $6 : 0; - $15 = ($11 | 0) > ($6 | 0); - $6 = $15 ? $11 : $6; - $11 = ($13 | 0) > ($6 | 0); - $6 = $11 ? $13 : $6; - $14 = $6; - $6 = ($6 | 0) < ($12 | 0); - if (($21 | 0) < (($6 ? $12 : $14) | 0)) { - $6 = $6 ? 3 : $11 ? 2 : $15; - $11 = $6 << 2; - $12 = $18 ? 3 : $17 ? 2 : $19; - $13 = $12 << 2; - HEAP32[($11 | $10 + 304) >> 2] = HEAP32[($13 | $10 + 304) >> 2] ^ 4; - $15 = $12 | 4; - HEAP32[($10 + 192 | $11) >> 2] = HEAP32[($10 + 192 | 0) + ($15 << 2) >> 2]; - HEAP32[($10 + 176 | $11) >> 2] = 0; - HEAP16[($10 + 224 | $6 << 1) >> 1] = HEAPU16[($10 + 224 | $15 << 1) >> 1]; - HEAP32[($10 + 160 | $13) >> 2] = 2147483647; - $11 = ($10 + 240 | 0) + ($12 << 4) | 0; - $14 = HEAP32[$11 >> 2]; - $12 = HEAP32[$11 + 4 >> 2]; - $6 = ($10 + 240 | 0) + ($6 << 4) | 0; - HEAP32[$6 >> 2] = $14; - HEAP32[$6 + 4 >> 2] = $12; - $14 = HEAP32[$11 + 12 >> 2]; - $12 = HEAP32[$11 + 8 >> 2]; - HEAP32[$6 + 8 >> 2] = $12; - HEAP32[$6 + 12 >> 2] = $14; - $12 = HEAP32[$10 + 188 >> 2]; - $14 = HEAP32[$10 + 172 >> 2]; - $13 = HEAP32[$10 + 184 >> 2]; - $18 = HEAP32[$10 + 168 >> 2]; - $11 = HEAP32[$10 + 180 >> 2]; - $17 = HEAP32[$10 + 164 >> 2]; - $6 = HEAP32[$10 + 176 >> 2]; - $15 = HEAP32[$10 + 160 >> 2]; - continue; - } - break; - } - $6 = ($10 + 240 | 0) + $8 | 0; - HEAP8[$6 | 0] = HEAPU8[$6 | 0] + (HEAP32[$10 + 304 >> 2] >>> 2 | 0); - $11 = $6 + 16 | 0; - HEAP8[$11 | 0] = HEAPU8[$6 + 16 | 0] + (HEAP32[$10 + 308 >> 2] >>> 2 | 0); - $11 = $6 + 48 | 0; - HEAP8[$11 | 0] = HEAPU8[$6 + 48 | 0] + (HEAP32[$10 + 316 >> 2] >>> 2 | 0); - $14 = $6; - $6 = $6 + 32 | 0; - HEAP8[$6 | 0] = HEAPU8[$14 + 32 | 0] + (HEAP32[$10 + 312 >> 2] >>> 2 | 0); - } - if (($24 | 0) > 1) { - continue; - } - break; - } - $6 = HEAP32[$10 + 220 >> 2]; - $11 = HEAP32[$10 + 216 >> 2]; - $16 = HEAP32[$10 + 212 >> 2]; - $12 = HEAP32[$10 + 208 >> 2]; - $13 = HEAP32[$10 + 204 >> 2]; - $8 = HEAP32[$10 + 200 >> 2]; - $15 = HEAP32[$10 + 196 >> 2]; - $20 = HEAP32[$10 + 192 >> 2]; - } - $17 = ($20 | 0) > ($15 | 0); - $15 = $17 ? $15 : $20; - $20 = ($15 | 0) > ($8 | 0); - $8 = $20 ? $8 : $15; - $15 = ($13 | 0) < ($8 | 0); - $13 = $15 ? $13 : $8; - $8 = ($13 | 0) > ($12 | 0); - $12 = $8 ? $12 : $13; - $13 = ($16 | 0) < ($12 | 0); - $16 = $13 ? $16 : $12; - $12 = ($16 | 0) > ($11 | 0); - $1 = $12 ? 6 : $13 ? 5 : $8 ? 4 : $15 ? 3 : $20 ? 2 : $17; - $16 = $12 ? $11 : $16; - $12 = ($16 | 0) > ($6 | 0); - $11 = $12 ? 7 : $1; - if (($9 | 0) > 0) { - memcpy($0, ($10 + 240 | 0) + (($11 & 3) << 4) | 0, $9); - } - HEAP8[$0 | 0] = HEAPU8[$0 | 0] + ($11 >>> 2 | 0); - __stack_pointer = $10 + 320 | 0; - return $12 ? $6 : $16; -} -function silk_control_encoder($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0; - HEAP32[$0 + 6076 >> 2] = HEAP32[$1 + 48 >> 2]; - HEAP32[$0 + 4676 >> 2] = HEAP32[$1 + 52 >> 2]; - $6 = HEAP32[$1 + 8 >> 2]; - HEAP32[$0 + 4556 >> 2] = $6; - HEAP32[$0 + 4564 >> 2] = HEAP32[$1 + 12 >> 2]; - HEAP32[$0 + 4568 >> 2] = HEAP32[$1 + 16 >> 2]; - HEAP32[$0 + 4572 >> 2] = HEAP32[$1 + 20 >> 2]; - HEAP32[$0 + 6088 >> 2] = HEAP32[$1 + 40 >> 2]; - HEAP32[$0 + 5752 >> 2] = HEAP32[$1 >> 2]; - $5 = HEAP32[$1 + 4 >> 2]; - HEAP32[$0 + 5760 >> 2] = $3; - HEAP32[$0 + 4536 >> 2] = $2; - HEAP32[$0 + 5756 >> 2] = $5; - label$1 : { - label$2 : { - if (!(HEAP32[$0 + 4680 >> 2] | !HEAP32[$0 + 4668 >> 2])) { - $1 = 0; - if (HEAP32[$0 + 4560 >> 2] == ($6 | 0)) { - break label$2; - } - $4 = HEAP32[$0 + 4576 >> 2]; - if (($4 | 0) < 1) { - break label$2; - } - return silk_setup_resamplers($0, $4); - } - $4 = (wasm2js_i32$0 = $4, wasm2js_i32$1 = silk_control_audio_bandwidth($0, $1), wasm2js_i32$2 = $4, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1); - $8 = silk_setup_resamplers($0, $4); - $6 = 0; - $2 = HEAP32[$1 + 24 >> 2]; - if (($2 | 0) != HEAP32[$0 + 4612 >> 2]) { - label$5 : { - label$6 : { - switch ($2 - 10 | 0) { - default: - if (($2 | 0) == 40 | ($2 | 0) == 60) { - break label$5; - } - break; - case 0: - case 10: - break label$5; - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - break label$6; - } - } - $6 = -103; - } - label$8 : { - if (($2 | 0) <= 10) { - HEAP32[$0 + 5744 >> 2] = 1; - HEAP32[$0 + 4580 >> 2] = ($2 | 0) == 10 ? 2 : 1; - $3 = $4 << 16 >> 16; - HEAP32[$0 + 4584 >> 2] = Math_imul($3, $2 << 16 >> 16); - HEAP32[$0 + 4548 >> 2] = Math_imul($3, 14); - if (HEAP32[$0 + 4576 >> 2] == 8) { - HEAP32[$0 + 4688 >> 2] = 2169; - break label$8; - } - HEAP32[$0 + 4688 >> 2] = 2157; - break label$8; - } - HEAP32[$0 + 4580 >> 2] = 4; - HEAP32[$0 + 5744 >> 2] = ($2 >>> 0) / 20; - $3 = $4 << 16 >> 16; - HEAP32[$0 + 4584 >> 2] = Math_imul($3, 20); - HEAP32[$0 + 4548 >> 2] = Math_imul($3, 24); - if (HEAP32[$0 + 4576 >> 2] == 8) { - HEAP32[$0 + 4688 >> 2] = 2146; - break label$8; - } - HEAP32[$0 + 4688 >> 2] = 2112; - } - HEAP32[$0 + 4608 >> 2] = 0; - HEAP32[$0 + 4612 >> 2] = $2; - } - label$12 : { - label$13 : { - label$14 : { - label$15 : { - if (!(!(1 << $4 & 69888) | $4 >>> 0 > 16)) { - label$17 : { - label$18 : { - $2 = HEAP32[$0 + 4580 >> 2]; - switch ($2 - 2 | 0) { - case 0: - case 2: - break label$17; - default: - break label$18; - } - } - celt_fatal(6692, 6671, 242); - abort(); - } - label$19 : { - if (HEAP32[$0 + 4576 >> 2] == ($4 | 0)) { - $5 = HEAP32[$0 + 4584 >> 2]; - $3 = HEAP32[$0 + 4588 >> 2]; - break label$19; - } - HEAP32[$0 + 7168 >> 2] = 0; - HEAP32[$0 + 7172 >> 2] = 0; - HEAP32[$0 + 5748 >> 2] = 0; - HEAP32[$0 + 5740 >> 2] = 0; - HEAP32[$0 + 16 >> 2] = 0; - HEAP32[$0 + 20 >> 2] = 0; - HEAP32[$0 + 4608 >> 2] = 0; - HEAP32[$0 + 7176 >> 2] = 0; - memset($0 + 148 | 0, 0, 4384); - $3 = 10; - HEAP8[$0 + 7168 | 0] = 10; - HEAP32[$0 + 4664 >> 2] = 1; - HEAP32[$0 + 4544 >> 2] = 100; - HEAP32[$0 + 4576 >> 2] = $4; - HEAP8[$0 + 4541 | 0] = 0; - HEAP32[$0 + 4492 >> 2] = 65536; - HEAP32[$0 + 4476 >> 2] = 100; - label$21 : { - if (($4 | 0) == 8) { - HEAP32[$0 + 4688 >> 2] = ($2 | 0) == 4 ? 2146 : 2169; - $5 = 3576; - break label$21; - } - HEAP32[$0 + 4688 >> 2] = ($2 | 0) == 4 ? 2112 : 2157; - $3 = ($4 | 0) == 12; - $5 = $3 ? 3576 : 5700; - $3 = $3 ? 10 : 16; - } - HEAP32[$0 + 4692 >> 2] = $5; - HEAP32[$0 + 4640 >> 2] = $3; - $3 = Math_imul($4, 5); - HEAP32[$0 + 4588 >> 2] = $3; - HEAP32[$0 + 4596 >> 2] = $4 << 1; - HEAP32[$0 + 4592 >> 2] = Math_imul($4, 20); - HEAP32[$0 + 4552 >> 2] = Math_imul($4, 18); - $5 = Math_imul(Math_imul($4, 327680) >> 16, $2); - HEAP32[$0 + 4584 >> 2] = $5; - HEAP32[$0 + 4548 >> 2] = Math_imul(($2 | 0) == 4 ? 24 : 14, $4); - if (($4 | 0) == 16) { - HEAP32[$0 + 4684 >> 2] = 5872; - $3 = 80; - break label$19; - } - if (($4 | 0) == 12) { - HEAP32[$0 + 4684 >> 2] = 5866; - $3 = 60; - break label$19; - } - HEAP32[$0 + 4684 >> 2] = 5857; - } - if ((Math_imul($2, $3) | 0) != ($5 | 0)) { - break label$15; - } - $2 = HEAP32[$1 + 36 >> 2]; - if ($2 >>> 0 >= 11) { - break label$14; - } - label$25 : { - $3 = $0; - label$26 : { - if (!$2) { - HEAP32[$0 + 4652 >> 2] = 52429; - HEAP32[$0 + 4644 >> 2] = 0; - HEAP32[$0 + 4648 >> 2] = 6; - HEAP32[$0 + 4636 >> 2] = 12; - HEAP32[$0 + 4660 >> 2] = 2; - HEAP32[$0 + 4628 >> 2] = 1; - HEAP32[$0 + 4632 >> 2] = 0; - $5 = Math_imul($4, 3); - break label$26; - } - if (($2 | 0) <= 1) { - HEAP32[$0 + 4652 >> 2] = 49807; - HEAP32[$0 + 4644 >> 2] = 1; - HEAP32[$0 + 4648 >> 2] = 8; - HEAP32[$0 + 4636 >> 2] = 14; - HEAP32[$0 + 4660 >> 2] = 3; - HEAP32[$0 + 4628 >> 2] = 1; - HEAP32[$0 + 4632 >> 2] = 0; - break label$13; - } - if (($2 | 0) != 2) { - break label$25; - } - HEAP32[$0 + 4652 >> 2] = 52429; - HEAP32[$0 + 4644 >> 2] = 0; - HEAP32[$0 + 4648 >> 2] = 6; - HEAP32[$0 + 4636 >> 2] = 12; - HEAP32[$0 + 4660 >> 2] = 2; - HEAP32[$0 + 4628 >> 2] = 2; - HEAP32[$0 + 4632 >> 2] = 0; - $5 = Math_imul($4, 3); - } - HEAP32[$3 + 4600 >> 2] = $5; - $3 = 6; - break label$12; - } - if (($2 | 0) <= 3) { - HEAP32[$0 + 4652 >> 2] = 49807; - HEAP32[$0 + 4644 >> 2] = 1; - HEAP32[$0 + 4648 >> 2] = 8; - HEAP32[$0 + 4636 >> 2] = 14; - HEAP32[$0 + 4660 >> 2] = 4; - HEAP32[$0 + 4628 >> 2] = 2; - HEAP32[$0 + 4632 >> 2] = 0; - break label$13; - } - if (($2 | 0) <= 5) { - HEAP32[$0 + 4652 >> 2] = 48497; - HEAP32[$0 + 4644 >> 2] = 1; - HEAP32[$0 + 4648 >> 2] = 10; - HEAP32[$0 + 4636 >> 2] = 16; - HEAP32[$0 + 4660 >> 2] = 6; - HEAP32[$0 + 4628 >> 2] = 2; - HEAP32[$0 + 4632 >> 2] = 1; - $5 = Math_imul($4, 5); - HEAP32[$0 + 4600 >> 2] = $5; - $7 = Math_imul($4, 983); - $3 = 10; - break label$12; - } - if (($2 | 0) <= 7) { - HEAP32[$0 + 4652 >> 2] = 47186; - HEAP32[$0 + 4644 >> 2] = 1; - HEAP32[$0 + 4648 >> 2] = 12; - HEAP32[$0 + 4636 >> 2] = 20; - HEAP32[$0 + 4660 >> 2] = 8; - HEAP32[$0 + 4628 >> 2] = 3; - HEAP32[$0 + 4632 >> 2] = 1; - $5 = Math_imul($4, 5); - HEAP32[$0 + 4600 >> 2] = $5; - $7 = Math_imul($4, 983); - $3 = 12; - break label$12; - } - HEAP32[$0 + 4652 >> 2] = 45875; - HEAP32[$0 + 4644 >> 2] = 2; - HEAP32[$0 + 4648 >> 2] = 16; - HEAP32[$0 + 4636 >> 2] = 24; - HEAP32[$0 + 4660 >> 2] = 16; - HEAP32[$0 + 4628 >> 2] = 4; - HEAP32[$0 + 4632 >> 2] = 1; - $5 = Math_imul($4, 5); - HEAP32[$0 + 4600 >> 2] = $5; - $7 = Math_imul($4, 983); - $3 = 16; - break label$12; - } - celt_fatal(6609, 6671, 241); - abort(); - } - celt_fatal(6765, 6671, 302); - abort(); - } - celt_fatal(6863, 6671, 315); - abort(); - } - $5 = Math_imul($4, 5); - HEAP32[$0 + 4600 >> 2] = $5; - $3 = 8; - } - HEAP32[$0 + 4672 >> 2] = $7; - HEAP32[$0 + 4624 >> 2] = $2; - HEAP32[$0 + 4604 >> 2] = Math_imul($4, 5) + ($5 << 1); - $4 = HEAP32[$0 + 4640 >> 2]; - $4 = ($3 | 0) < ($4 | 0) ? $3 : $4; - HEAP32[$0 + 4648 >> 2] = $4; - if (($4 | 0) >= 17) { - break label$1; - } - $4 = HEAP32[$1 + 32 >> 2]; - HEAP32[$0 + 4616 >> 2] = $4; - $2 = HEAP32[$0 + 6092 >> 2]; - $1 = HEAP32[$1 + 44 >> 2]; - HEAP32[$0 + 6092 >> 2] = $1; - if ($1) { - $3 = $0; - if ($2) { - $1 = (Math_imul($4 >> 16, -26214) - (Math_imul($4 & 65535, 26214) >>> 16 | 0) | 0) + 7 | 0; - $1 = ($1 | 0) > 2 ? $1 : 2; - } else { - $1 = 7; - } - HEAP32[$3 + 6096 >> 2] = $1; - } - $1 = $6 + $8 | 0; - HEAP32[$0 + 4668 >> 2] = 1; - } - return $1; - } - celt_fatal(6917, 6671, 393); - abort(); -} -function silk_encode_pulses($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - $5 = __stack_pointer - 32 | 0; - __stack_pointer = $5; - $10 = $5; - HEAP32[$5 + 24 >> 2] = 0; - HEAP32[$5 + 28 >> 2] = 0; - HEAP32[$5 + 16 >> 2] = 0; - HEAP32[$5 + 20 >> 2] = 0; - HEAP32[$5 + 8 >> 2] = 0; - HEAP32[$5 + 12 >> 2] = 0; - HEAP32[$5 >> 2] = 0; - HEAP32[$5 + 4 >> 2] = 0; - label$1 : { - label$2 : { - label$3 : { - $7 = $4 & -16; - if (($7 | 0) < ($4 | 0)) { - if (($4 | 0) != 120) { - break label$3; - } - HEAP8[$3 + 120 | 0] = 0; - HEAP8[$3 + 121 | 0] = 0; - HEAP8[$3 + 122 | 0] = 0; - HEAP8[$3 + 123 | 0] = 0; - HEAP8[$3 + 124 | 0] = 0; - HEAP8[$3 + 125 | 0] = 0; - HEAP8[$3 + 126 | 0] = 0; - HEAP8[$3 + 127 | 0] = 0; - $7 = 128; - HEAP8[$3 + 128 | 0] = 0; - HEAP8[$3 + 129 | 0] = 0; - HEAP8[$3 + 130 | 0] = 0; - HEAP8[$3 + 131 | 0] = 0; - HEAP8[$3 + 132 | 0] = 0; - HEAP8[$3 + 133 | 0] = 0; - HEAP8[$3 + 134 | 0] = 0; - HEAP8[$3 + 135 | 0] = 0; - $15 = $5 - 512 | 0; - $8 = $15; - __stack_pointer = $8; - $17 = 8; - break label$2; - } - $17 = $4 >> 4; - $15 = $5 - ($7 << 2) | 0; - $8 = $15; - __stack_pointer = $8; - if (($4 | 0) > 15) { - break label$2; - } - $5 = ($17 << 2) + 15 & -16; - $16 = $8 - $5 | 0; - $6 = $16; - __stack_pointer = $6; - $19 = $6 - $5 | 0; - __stack_pointer = $19; - break label$1; - } - celt_fatal(9312, 9354, 89); - abort(); - } - $5 = 0; - while (1) { - $6 = HEAP8[$3 + $5 | 0]; - $9 = $6; - $6 = $6 >> 31; - HEAP32[($5 << 2) + $15 >> 2] = $6 ^ $6 + $9; - $6 = $5 | 1; - $11 = ($6 << 2) + $15 | 0; - $6 = HEAP8[$3 + $6 | 0]; - $9 = $6; - $6 = $6 >> 31; - HEAP32[$11 >> 2] = $6 ^ $6 + $9; - $6 = $5 | 2; - $11 = ($6 << 2) + $15 | 0; - $6 = HEAP8[$3 + $6 | 0]; - $9 = $6; - $6 = $6 >> 31; - HEAP32[$11 >> 2] = $6 ^ $6 + $9; - $6 = $5 | 3; - $11 = ($6 << 2) + $15 | 0; - $6 = HEAP8[$3 + $6 | 0]; - $9 = $6; - $6 = $6 >> 31; - HEAP32[$11 >> 2] = $6 ^ $6 + $9; - $5 = $5 + 4 | 0; - if (($7 | 0) > ($5 | 0)) { - continue; - } - break; - } - $5 = ($17 << 2) + 15 & -16; - $16 = $8 - $5 | 0; - $6 = $16; - __stack_pointer = $6; - $19 = $6 - $5 | 0; - __stack_pointer = $19; - $24 = HEAPU8[8120]; - $23 = HEAPU8[8119]; - $20 = HEAPU8[8118]; - $14 = HEAPU8[8117]; - $6 = 0; - $5 = $15; - while (1) { - $7 = $22 << 2; - $18 = $19 + $7 | 0; - HEAP32[$18 >> 2] = 0; - $25 = $7 + $16 | 0; - $7 = HEAP32[$5 + 4 >> 2]; - $8 = HEAP32[$5 >> 2]; - while (1) { - $13 = 1; - label$8 : { - label$9 : { - $7 = $7 + $8 | 0; - if (($14 | 0) < ($7 | 0)) { - $9 = $12; - $7 = $6; - break label$9; - } - HEAP32[$10 >> 2] = $7; - $9 = HEAP32[$5 + 12 >> 2] + HEAP32[$5 + 8 >> 2] | 0; - if (($14 | 0) < ($9 | 0)) { - $9 = $12; - break label$9; - } - HEAP32[$10 + 4 >> 2] = $9; - $6 = HEAP32[$5 + 20 >> 2] + HEAP32[$5 + 16 >> 2] | 0; - if (($14 | 0) < ($6 | 0)) { - break label$9; - } - HEAP32[$10 + 8 >> 2] = $6; - $6 = HEAP32[$5 + 28 >> 2] + HEAP32[$5 + 24 >> 2] | 0; - if (($14 | 0) < ($6 | 0)) { - break label$9; - } - HEAP32[$10 + 12 >> 2] = $6; - $6 = HEAP32[$5 + 36 >> 2] + HEAP32[$5 + 32 >> 2] | 0; - if (($14 | 0) < ($6 | 0)) { - break label$9; - } - HEAP32[$10 + 16 >> 2] = $6; - $6 = HEAP32[$5 + 44 >> 2] + HEAP32[$5 + 40 >> 2] | 0; - if (($14 | 0) < ($6 | 0)) { - break label$9; - } - HEAP32[$10 + 20 >> 2] = $6; - $6 = HEAP32[$5 + 52 >> 2] + HEAP32[$5 + 48 >> 2] | 0; - if (($14 | 0) < ($6 | 0)) { - break label$9; - } - HEAP32[$10 + 24 >> 2] = $6; - $6 = HEAP32[$5 + 60 >> 2] + HEAP32[$5 + 56 >> 2] | 0; - if (($14 | 0) < ($6 | 0)) { - break label$9; - } - HEAP32[$10 + 28 >> 2] = $6; - $21 = 0; - break label$8; - } - $21 = 1; - } - $8 = $7 + $9 | 0; - label$12 : { - if (($20 | 0) < ($8 | 0)) { - $11 = $9; - $8 = $7; - break label$12; - } - HEAP32[$10 >> 2] = $8; - $11 = HEAP32[$10 + 12 >> 2] + HEAP32[$10 + 8 >> 2] | 0; - if (($20 | 0) < ($11 | 0)) { - $11 = $9; - break label$12; - } - HEAP32[$10 + 4 >> 2] = $11; - $6 = HEAP32[$10 + 20 >> 2] + HEAP32[$10 + 16 >> 2] | 0; - if (($20 | 0) < ($6 | 0)) { - break label$12; - } - HEAP32[$10 + 8 >> 2] = $6; - $6 = HEAP32[$10 + 28 >> 2] + HEAP32[$10 + 24 >> 2] | 0; - if (($20 | 0) < ($6 | 0)) { - break label$12; - } - HEAP32[$10 + 12 >> 2] = $6; - $13 = 0; - } - $7 = -1; - $6 = $8 + $11 | 0; - label$15 : { - if (($23 | 0) < ($6 | 0)) { - $12 = $11; - $6 = $8; - break label$15; - } - HEAP32[$10 >> 2] = $6; - $12 = HEAP32[$10 + 12 >> 2] + HEAP32[$10 + 8 >> 2] | 0; - if (($23 | 0) < ($12 | 0)) { - $12 = $11; - break label$15; - } - HEAP32[$10 + 4 >> 2] = $12; - $7 = 0; - } - $8 = $13 + $21 | 0; - label$18 : { - $9 = $6 + $12 | 0; - if (($24 | 0) >= ($9 | 0)) { - HEAP32[$25 >> 2] = $9; - if (($7 | 0) == ($8 | 0)) { - break label$18; - } - } - HEAP32[$18 >> 2] = HEAP32[$18 >> 2] + 1; - $8 = HEAP32[$5 >> 2] >> 1; - HEAP32[$5 >> 2] = $8; - $7 = HEAP32[$5 + 4 >> 2] >> 1; - HEAP32[$5 + 4 >> 2] = $7; - HEAP32[$5 + 8 >> 2] = HEAP32[$5 + 8 >> 2] >> 1; - HEAP32[$5 + 12 >> 2] = HEAP32[$5 + 12 >> 2] >> 1; - HEAP32[$5 + 16 >> 2] = HEAP32[$5 + 16 >> 2] >> 1; - HEAP32[$5 + 20 >> 2] = HEAP32[$5 + 20 >> 2] >> 1; - HEAP32[$5 + 24 >> 2] = HEAP32[$5 + 24 >> 2] >> 1; - HEAP32[$5 + 28 >> 2] = HEAP32[$5 + 28 >> 2] >> 1; - HEAP32[$5 + 32 >> 2] = HEAP32[$5 + 32 >> 2] >> 1; - HEAP32[$5 + 36 >> 2] = HEAP32[$5 + 36 >> 2] >> 1; - HEAP32[$5 + 40 >> 2] = HEAP32[$5 + 40 >> 2] >> 1; - HEAP32[$5 + 44 >> 2] = HEAP32[$5 + 44 >> 2] >> 1; - HEAP32[$5 + 48 >> 2] = HEAP32[$5 + 48 >> 2] >> 1; - HEAP32[$5 + 52 >> 2] = HEAP32[$5 + 52 >> 2] >> 1; - HEAP32[$5 + 56 >> 2] = HEAP32[$5 + 56 >> 2] >> 1; - HEAP32[$5 + 60 >> 2] = HEAP32[$5 + 60 >> 2] >> 1; - continue; - } - break; - } - $5 = $5 - -64 | 0; - $18 = 1; - $22 = $22 + 1 | 0; - if (($22 | 0) != ($17 | 0)) { - continue; - } - break; - } - } - $13 = 2147483647; - $20 = $1 >> 1; - $14 = Math_imul($20, 9); - $11 = 0; - $21 = 0; - while (1) { - $7 = HEAPU8[($11 + $14 | 0) + 8528 | 0]; - if ($18) { - $9 = Math_imul($11, 18); - $12 = $9 + 8337 | 0; - $5 = 0; - while (1) { - $6 = $12; - $8 = $5 << 2; - if (HEAP32[$19 + $8 >> 2] <= 0) { - $6 = (HEAP32[$8 + $16 >> 2] + $9 | 0) + 8320 | 0; - } - $7 = HEAPU8[$6 | 0] + $7 | 0; - $5 = $5 + 1 | 0; - if (($17 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $5 = ($7 | 0) < ($13 | 0); - $21 = $5 ? $11 : $21; - $13 = $5 ? $7 : $13; - $11 = $11 + 1 | 0; - if (($11 | 0) != 9) { - continue; - } - break; - } - ec_enc_icdf($0, $21, Math_imul($20, 9) + 8496 | 0, 8); - label$24 : { - if (!$18) { - break label$24; - } - $12 = Math_imul($21, 18) + 8128 | 0; - $7 = 0; - while (1) { - $8 = $7 << 2; - $5 = HEAP32[$19 + $8 >> 2]; - label$26 : { - if (!$5) { - ec_enc_icdf($0, HEAP32[$8 + $16 >> 2], $12, 8); - break label$26; - } - ec_enc_icdf($0, 17, $12, 8); - if (($5 | 0) >= 2) { - $6 = $5 - 1 | 0; - $5 = 0; - while (1) { - ec_enc_icdf($0, 17, 8290, 8); - $5 = $5 + 1 | 0; - if (($6 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - ec_enc_icdf($0, HEAP32[$8 + $16 >> 2], 8290, 8); - } - $7 = $7 + 1 | 0; - if (($17 | 0) != ($7 | 0)) { - continue; - } - break; - } - if (!$18) { - break label$24; - } - $5 = 0; - while (1) { - if (HEAP32[($5 << 2) + $16 >> 2] >= 1) { - silk_shell_encoder($0, ($5 << 6) + $15 | 0); - } - $5 = $5 + 1 | 0; - if (($17 | 0) != ($5 | 0)) { - continue; - } - break; - } - if (!$18) { - break label$24; - } - $13 = 0; - while (1) { - $9 = HEAP32[($13 << 2) + $19 >> 2]; - if (($9 | 0) >= 1) { - $11 = ($13 << 4) + $3 | 0; - $12 = 0; - while (1) { - $5 = HEAP8[$12 + $11 | 0]; - $6 = $5; - $5 = $5 >> 31; - $8 = ($5 ^ $5 + $6) << 24 >> 24; - $5 = $9; - if (($5 | 0) != 1) { - while (1) { - $6 = $5 - 1 | 0; - ec_enc_icdf($0, $8 >>> $6 & 1, 5824, 8); - $7 = ($5 | 0) > 2; - $5 = $6; - if ($7) { - continue; - } - break; - } - } - ec_enc_icdf($0, $8 & 1, 5824, 8); - $12 = $12 + 1 | 0; - if (($12 | 0) != 16) { - continue; - } - break; - } - } - $13 = $13 + 1 | 0; - if (($17 | 0) != ($13 | 0)) { - continue; - } - break; - } - } - silk_encode_signs($0, $3, $4, $1, $2, $16); - __stack_pointer = $10 + 32 | 0; -} -function compute_gru($0, $1, $2) { - var $3 = Math_fround(0), $4 = 0, $5 = 0, $6 = Math_fround(0), $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = Math_fround(0); - $9 = __stack_pointer - 512 | 0; - __stack_pointer = $9; - $7 = HEAP32[$0 + 16 >> 2]; - label$1 : { - if (($7 | 0) < 1) { - break label$1; - } - $10 = Math_imul($7, 3); - $13 = HEAP32[$0 + 12 >> 2]; - $5 = HEAP32[$0 >> 2]; - while (1) { - HEAPF32[($9 + 256 | 0) + ($4 << 2) >> 2] = HEAP8[$4 + $5 | 0]; - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $14 = HEAP32[$0 + 4 >> 2]; - $5 = 0; - $8 = ($13 | 0) < 1; - while (1) { - if (!$8) { - $12 = ($9 + 256 | 0) + ($5 << 2) | 0; - $3 = HEAPF32[$12 >> 2]; - $4 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($4 << 2) + $2 >> 2] * Math_fround(HEAP8[(Math_imul($4, $10) + $5 | 0) + $14 | 0]))); - $4 = $4 + 1 | 0; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAPF32[$12 >> 2] = $3; - } - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - $12 = HEAP32[$0 + 8 >> 2]; - $5 = 0; - while (1) { - $8 = ($9 + 256 | 0) + ($5 << 2) | 0; - $3 = HEAPF32[$8 >> 2]; - $4 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($4 << 2) + $1 >> 2] * Math_fround(HEAP8[(Math_imul($4, $10) + $5 | 0) + $12 | 0]))); - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAPF32[$8 >> 2] = $3; - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - $4 = 0; - if (($7 | 0) <= 0) { - break label$1; - } - while (1) { - $3 = Math_fround(1); - $5 = ($9 + 256 | 0) + ($4 << 2) | 0; - $6 = Math_fround(Math_fround(HEAPF32[$5 >> 2] * Math_fround(.0078125)) * Math_fround(.5)); - label$9 : { - if ($6 < Math_fround(8) ^ 1) { - break label$9; - } - $3 = Math_fround(0); - if ($6 > Math_fround(-8) ^ 1) { - break label$9; - } - $3 = Math_fround(.5); - if ($6 != $6) { - break label$9; - } - $11 = $6 < Math_fround(0); - $6 = $11 ? Math_fround(-$6) : $6; - $3 = Math_fround(Math_floor(Math_fround(Math_fround($6 * Math_fround(25)) + Math_fround(.5)))); - label$10 : { - if (Math_fround(Math_abs($3)) < Math_fround(2147483648)) { - $8 = ~~$3; - break label$10; - } - $8 = -2147483648; - } - $3 = HEAPF32[($8 << 2) + 48128 >> 2]; - $6 = Math_fround($6 + Math_fround(Math_fround($8 | 0) * Math_fround(-.03999999910593033))); - $3 = Math_fround($3 + Math_fround(Math_fround(Math_fround(1) - Math_fround($3 * $6)) * Math_fround($6 * Math_fround(Math_fround(1) - Math_fround($3 * $3))))); - $3 = Math_fround(Math_fround(($11 ? Math_fround(-$3) : $3) * Math_fround(.5)) + Math_fround(.5)); - } - HEAPF32[$5 >> 2] = $3; - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $5 = HEAP32[$0 >> 2]; - $4 = 0; - while (1) { - HEAPF32[($9 + 128 | 0) + ($4 << 2) >> 2] = HEAP8[($4 + $7 | 0) + $5 | 0]; - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $8 = $7 + $14 | 0; - $5 = 0; - $15 = ($13 | 0) < 1; - while (1) { - if (!$15) { - $11 = ($9 + 128 | 0) + ($5 << 2) | 0; - $3 = HEAPF32[$11 >> 2]; - $4 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($4 << 2) + $2 >> 2] * Math_fround(HEAP8[(Math_imul($4, $10) + $5 | 0) + $8 | 0]))); - $4 = $4 + 1 | 0; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAPF32[$11 >> 2] = $3; - } - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - $8 = $7 + $12 | 0; - $5 = 0; - while (1) { - $11 = ($9 + 128 | 0) + ($5 << 2) | 0; - $3 = HEAPF32[$11 >> 2]; - $4 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($4 << 2) + $1 >> 2] * Math_fround(HEAP8[(Math_imul($4, $10) + $5 | 0) + $8 | 0]))); - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAPF32[$11 >> 2] = $3; - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - $4 = 0; - if (($7 | 0) <= 0) { - break label$1; - } - while (1) { - $3 = Math_fround(1); - $5 = ($9 + 128 | 0) + ($4 << 2) | 0; - $6 = Math_fround(Math_fround(HEAPF32[$5 >> 2] * Math_fround(.0078125)) * Math_fround(.5)); - label$19 : { - if ($6 < Math_fround(8) ^ 1) { - break label$19; - } - $3 = Math_fround(0); - if ($6 > Math_fround(-8) ^ 1) { - break label$19; - } - $3 = Math_fround(.5); - if ($6 != $6) { - break label$19; - } - $11 = $6 < Math_fround(0); - $6 = $11 ? Math_fround(-$6) : $6; - $3 = Math_fround(Math_floor(Math_fround(Math_fround($6 * Math_fround(25)) + Math_fround(.5)))); - label$20 : { - if (Math_fround(Math_abs($3)) < Math_fround(2147483648)) { - $8 = ~~$3; - break label$20; - } - $8 = -2147483648; - } - $3 = HEAPF32[($8 << 2) + 48128 >> 2]; - $6 = Math_fround($6 + Math_fround(Math_fround($8 | 0) * Math_fround(-.03999999910593033))); - $3 = Math_fround($3 + Math_fround(Math_fround(Math_fround(1) - Math_fround($3 * $6)) * Math_fround($6 * Math_fround(Math_fround(1) - Math_fround($3 * $3))))); - $3 = Math_fround(Math_fround(($11 ? Math_fround(-$3) : $3) * Math_fround(.5)) + Math_fround(.5)); - } - HEAPF32[$5 >> 2] = $3; - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $5 = $7 << 1; - $8 = HEAP32[$0 >> 2]; - $4 = 0; - while (1) { - HEAPF32[($4 << 2) + $9 >> 2] = HEAP8[($4 + $5 | 0) + $8 | 0]; - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - $4 = 0; - if (($7 | 0) <= 0) { - break label$1; - } - while (1) { - $5 = $4 << 2; - HEAPF32[$5 + ($9 + 384 | 0) >> 2] = HEAPF32[$1 + $5 >> 2] * HEAPF32[($9 + 128 | 0) + $5 >> 2]; - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $0 = $7 << 1; - $14 = $14 + $0 | 0; - $5 = 0; - $11 = ($13 | 0) < 1; - while (1) { - if (!$11) { - $8 = ($5 << 2) + $9 | 0; - $3 = HEAPF32[$8 >> 2]; - $4 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($4 << 2) + $2 >> 2] * Math_fround(HEAP8[(Math_imul($4, $10) + $5 | 0) + $14 | 0]))); - $4 = $4 + 1 | 0; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAPF32[$8 >> 2] = $3; - } - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - $12 = $0 + $12 | 0; - $5 = 0; - while (1) { - $13 = ($5 << 2) + $9 | 0; - $3 = HEAPF32[$13 >> 2]; - $4 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($9 + 384 | 0) + ($4 << 2) >> 2] * Math_fround(HEAP8[(Math_imul($4, $10) + $5 | 0) + $12 | 0]))); - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAPF32[$13 >> 2] = $3; - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - $4 = 0; - if (($7 | 0) <= 0) { - break label$1; - } - while (1) { - $10 = $4 << 2; - $3 = HEAPF32[$10 + ($9 + 256 | 0) >> 2]; - $16 = Math_fround($3 * HEAPF32[$1 + $10 >> 2]); - $17 = Math_fround(Math_fround(1) - $3); - $3 = Math_fround(1); - $10 = $9 + $10 | 0; - $6 = Math_fround(HEAPF32[$10 >> 2] * Math_fround(.0078125)); - label$30 : { - if ($6 < Math_fround(8) ^ 1) { - break label$30; - } - $3 = Math_fround(-1); - if ($6 > Math_fround(-8) ^ 1) { - break label$30; - } - $3 = Math_fround(0); - if ($6 != $6) { - break label$30; - } - $12 = $6 < Math_fround(0); - $6 = $12 ? Math_fround(-$6) : $6; - $3 = Math_fround(Math_floor(Math_fround(Math_fround($6 * Math_fround(25)) + Math_fround(.5)))); - label$31 : { - if (Math_fround(Math_abs($3)) < Math_fround(2147483648)) { - $5 = ~~$3; - break label$31; - } - $5 = -2147483648; - } - $3 = HEAPF32[($5 << 2) + 48128 >> 2]; - $6 = Math_fround($6 + Math_fround(Math_fround($5 | 0) * Math_fround(-.03999999910593033))); - $3 = Math_fround($3 + Math_fround(Math_fround(Math_fround(1) - Math_fround($3 * $6)) * Math_fround($6 * Math_fround(Math_fround(1) - Math_fround($3 * $3))))); - $3 = $12 ? Math_fround(-$3) : $3; - } - HEAPF32[$10 >> 2] = $16 + Math_fround($17 * $3); - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - memcpy($1, $9, $7 << 2); - } - __stack_pointer = $9 + 512 | 0; -} -function quant_band($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { - var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = Math_fround(0), $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - $22 = ($2 >>> 0) / ($4 >>> 0) | 0; - $24 = HEAP32[$0 >> 2]; - label$1 : { - if (($2 | 0) == 1) { - $5 = 0; - if (HEAP32[$0 + 32 >> 2] >= 8) { - $9 = HEAP32[$0 + 28 >> 2]; - label$4 : { - if ($24) { - $5 = HEAPF32[$1 >> 2] < Math_fround(0); - ec_enc_bits($9, $5, 1); - break label$4; - } - $5 = ec_dec_bits($9, 1); - } - HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] - 8; - } - if (HEAP32[$0 + 4 >> 2]) { - HEAPF32[$1 >> 2] = $5 ? Math_fround(-1) : Math_fround(1); - } - $10 = 1; - if (!$7) { - break label$1; - } - HEAP32[$7 >> 2] = HEAP32[$1 >> 2]; - return 1; - } - $21 = HEAP32[$0 + 24 >> 2]; - $11 = ($21 | 0) > 0; - label$7 : { - if (!$5) { - $9 = $5; - break label$7; - } - if (!$9) { - $9 = $5; - break label$7; - } - if (!(!($22 & 1) & ($21 | 0) != 0 | (($21 | 0) > 0 | ($4 | 0) > 1))) { - $9 = $5; - break label$7; - } - memcpy($9, $5, $2 << 2); - } - $19 = $11 ? $21 : 0; - if (($21 | 0) >= 1) { - while (1) { - label$13 : { - if ($24) { - if (($12 | 0) == 31) { - break label$13; - } - $15 = $2 >> $12; - $5 = $15 >> 1; - $20 = ($5 | 0) > 1 ? $5 : 1; - $14 = 1 << $12; - $18 = $14 << 1; - $11 = 0; - while (1) { - $5 = 0; - if (($15 | 0) >= 2) { - while (1) { - $13 = (Math_imul($5, $18) + $11 << 2) + $1 | 0; - $23 = $13; - $16 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - $13 = ((($5 << 1 | 1) << $12) + $11 << 2) + $1 | 0; - $17 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$23 >> 2] = $16 + $17; - HEAPF32[$13 >> 2] = $16 - $17; - $5 = $5 + 1 | 0; - if (($20 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $11 = $11 + 1 | 0; - if (($14 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - if (!$9 | ($12 | 0) == 31) { - break label$13; - } - $15 = $2 >> $12; - $5 = $15 >> 1; - $20 = ($5 | 0) > 1 ? $5 : 1; - $14 = 1 << $12; - $18 = $14 << 1; - $11 = 0; - while (1) { - $5 = 0; - if (($15 | 0) >= 2) { - while (1) { - $13 = (Math_imul($5, $18) + $11 << 2) + $9 | 0; - $23 = $13; - $16 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - $13 = ((($5 << 1 | 1) << $12) + $11 << 2) + $9 | 0; - $17 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$23 >> 2] = $16 + $17; - HEAPF32[$13 >> 2] = $16 - $17; - $5 = $5 + 1 | 0; - if (($20 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $11 = $11 + 1 | 0; - if (($14 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $10 = HEAPU8[($10 & 15) + 41920 | 0] | HEAPU8[($10 >> 4) + 41920 | 0] << 2; - $12 = $12 + 1 | 0; - if (($19 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $12 = $4 >> $19; - $15 = $22 << $19; - label$21 : { - if (!($15 & 1 | ($21 | 0) > -1)) { - $22 = $21; - while (1) { - if (!(!$24 | ($12 | 0) < 1)) { - $5 = $15 >> 1; - $20 = ($5 | 0) > 1 ? $5 : 1; - $18 = $12 << 1; - $11 = 0; - while (1) { - $5 = 0; - if (($15 | 0) >= 2) { - while (1) { - $13 = (Math_imul($5, $18) + $11 << 2) + $1 | 0; - $14 = $13; - $16 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - $13 = (Math_imul($5 << 1 | 1, $12) + $11 << 2) + $1 | 0; - $17 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$14 >> 2] = $16 + $17; - HEAPF32[$13 >> 2] = $16 - $17; - $5 = $5 + 1 | 0; - if (($20 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $11 = $11 + 1 | 0; - if (($12 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $14 = $15 >> 1; - if (!(!$9 | ($12 | 0) < 1)) { - $20 = ($14 | 0) > 1 ? $14 : 1; - $18 = $12 << 1; - $11 = 0; - while (1) { - $5 = 0; - if (($15 | 0) >= 2) { - while (1) { - $13 = (Math_imul($5, $18) + $11 << 2) + $9 | 0; - $23 = $13; - $16 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - $13 = (Math_imul($5 << 1 | 1, $12) + $11 << 2) + $9 | 0; - $17 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$23 >> 2] = $16 + $17; - HEAPF32[$13 >> 2] = $16 - $17; - $5 = $5 + 1 | 0; - if (($20 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $11 = $11 + 1 | 0; - if (($12 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $25 = $25 + 1 | 0; - $5 = $12 << 1; - $10 = $10 << $12 | $10; - if ($15 & 2) { - break label$21; - } - $11 = ($22 | 0) < -1; - $22 = $22 + 1 | 0; - $12 = $5; - $15 = $14; - if ($11) { - continue; - } - break; - } - break label$21; - } - $14 = $15; - $5 = $12; - } - $11 = ($4 | 0) == 1; - label$32 : { - if (($5 | 0) < 2) { - break label$32; - } - if ($24) { - deinterleave_hadamard($1, $14 >> $19, $5 << $19, $11); - } - if (!$9) { - break label$32; - } - deinterleave_hadamard($9, $14 >> $19, $5 << $19, $11); - } - $10 = quant_partition($0, $1, $2, $3, $5, $9, $6, $8, $10); - if (!HEAP32[$0 + 4 >> 2]) { - break label$1; - } - if (($5 | 0) >= 2) { - interleave_hadamard($1, $14 >> $19, $5 << $19, $11); - } - label$35 : { - if (!$25) { - $13 = $5; - break label$35; - } - $18 = 0; - while (1) { - $14 = $14 << 1; - $13 = $5 >> 1; - $15 = $10 >>> $13 | 0; - if (($5 | 0) >= 2) { - $9 = $14 >> 1; - $12 = ($9 | 0) > 1 ? $9 : 1; - $20 = $5 & -2; - $9 = 0; - while (1) { - $5 = 0; - if (($14 | 0) >= 2) { - while (1) { - $11 = (Math_imul($5, $20) + $9 << 2) + $1 | 0; - $0 = $11; - $16 = Math_fround(HEAPF32[$11 >> 2] * Math_fround(.7071067690849304)); - $11 = (Math_imul($5 << 1 | 1, $13) + $9 << 2) + $1 | 0; - $17 = Math_fround(HEAPF32[$11 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$0 >> 2] = $16 + $17; - HEAPF32[$11 >> 2] = $16 - $17; - $5 = $5 + 1 | 0; - if (($12 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $9 = $9 + 1 | 0; - if (($13 | 0) != ($9 | 0)) { - continue; - } - break; - } - } - $10 = $10 | $15; - $5 = $13; - $18 = $18 + 1 | 0; - if (($25 | 0) != ($18 | 0)) { - continue; - } - break; - } - } - $12 = 0; - if (($21 | 0) > 0) { - while (1) { - $10 = HEAPU8[$10 + 41936 | 0]; - if (($12 | 0) != 31) { - $15 = $2 >> $12; - $5 = $15 >> 1; - $20 = ($5 | 0) > 1 ? $5 : 1; - $14 = 1 << $12; - $18 = $14 << 1; - $9 = 0; - while (1) { - $5 = 0; - if (($15 | 0) >= 2) { - while (1) { - $11 = (Math_imul($5, $18) + $9 << 2) + $1 | 0; - $0 = $11; - $16 = Math_fround(HEAPF32[$11 >> 2] * Math_fround(.7071067690849304)); - $11 = ((($5 << 1 | 1) << $12) + $9 << 2) + $1 | 0; - $17 = Math_fround(HEAPF32[$11 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$0 >> 2] = $16 + $17; - HEAPF32[$11 >> 2] = $16 - $17; - $5 = $5 + 1 | 0; - if (($20 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $9 = $9 + 1 | 0; - if (($14 | 0) != ($9 | 0)) { - continue; - } - break; - } - } - $12 = $12 + 1 | 0; - if (($19 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $11 = $13 << $19; - if (!(!$7 | ($2 | 0) < 1)) { - $16 = Math_fround(Math_sqrt(+($2 | 0))); - $5 = 0; - while (1) { - $9 = $5 << 2; - HEAPF32[$9 + $7 >> 2] = HEAPF32[$1 + $9 >> 2] * $16; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $10 = (-1 << $11 ^ -1) & $10; - } - return $10; -} -function update_filter($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = Math_fround(0), $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; - $2 = HEAP32[$0 + 8 >> 2]; - $1 = HEAP32[$0 + 12 >> 2]; - $5 = ($2 >>> 0) / ($1 >>> 0) | 0; - HEAP32[$0 + 36 >> 2] = $5; - $3 = Math_imul(HEAP32[$0 + 16 >> 2], 20); - $6 = HEAP32[$3 + 50884 >> 2]; - HEAP32[$0 + 48 >> 2] = $6; - $11 = HEAP32[$0 + 24 >> 2]; - $4 = HEAP32[$3 + 50880 >> 2]; - HEAP32[$0 + 24 >> 2] = $4; - HEAP32[$0 + 40 >> 2] = $2 - Math_imul($1, $5); - $17 = HEAP32[$0 + 28 >> 2]; - label$1 : { - label$2 : { - label$3 : { - if ($1 >>> 0 < $2 >>> 0) { - HEAPF32[$0 + 44 >> 2] = Math_fround(HEAPF32[$3 + 50888 >> 2] * Math_fround($1 >>> 0)) / Math_fround($2 >>> 0); - $3 = ($4 >>> 0) / ($1 >>> 0) | 0; - $5 = $4 - Math_imul($3, $1) | 0; - $4 = 4294967295 / ($2 >>> 0) | 0; - if ($5 >>> 0 > $4 >>> 0 | $3 >>> 0 > $4 >>> 0) { - break label$2; - } - $4 = Math_imul($2, $3); - $3 = (Math_imul($2, $5) >>> 0) / ($1 >>> 0) | 0; - if ($4 >>> 0 > ($3 ^ -1) >>> 0) { - break label$2; - } - $4 = ($3 + $4 | 0) + 7 & -8; - HEAP32[$0 + 24 >> 2] = $4; - $3 = $1 << 1 >>> 0 < $2 >>> 0; - $5 = $1 << 2 >>> 0 < $2 >>> 0; - $7 = $1 << 3; - $6 = $6 >>> $3 >>> $5 >>> ($7 >>> 0 < $2 >>> 0) | 0; - if (!($2 >>> 0 <= $7 >>> 0 ? !($3 | $5) : 0)) { - HEAP32[$0 + 48 >> 2] = $6; - } - $3 = $1 << 4 >>> 0 < $2 >>> 0; - $2 = $6 >>> $3 | 0; - if ($2 ? !$3 : 0) { - break label$3; - } - $6 = $2 ? $2 : 1; - HEAP32[$0 + 48 >> 2] = $6; - break label$3; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$3 + 50892 >> 2]; - } - $2 = Math_imul($1, $4); - $5 = Math_imul($4, $6) + 8 | 0; - label$7 : { - if ($2 >>> 0 <= $5 >>> 0) { - $3 = 1; - if (536870911 / ($1 >>> 0) >>> 0 >= $4 >>> 0) { - break label$7; - } - } - $3 = 0; - $2 = $5; - if (536870903 / ($6 >>> 0) >>> 0 < $4 >>> 0) { - break label$2; - } - } - if (HEAPU32[$0 + 80 >> 2] < $2 >>> 0) { - $1 = dlrealloc(HEAP32[$0 + 76 >> 2], $2 << 2); - if (!$1) { - break label$2; - } - HEAP32[$0 + 80 >> 2] = $2; - HEAP32[$0 + 76 >> 2] = $1; - } - $9 = $0; - label$10 : { - label$11 : { - label$12 : { - if (!$3) { - $1 = -4; - $2 = HEAP32[$0 + 24 >> 2]; - $6 = HEAP32[$0 + 48 >> 2]; - $4 = Math_imul($2, $6) + 4 | 0; - if (($4 | 0) > -4) { - break label$12; - } - $5 = HEAP32[$0 + 16 >> 2]; - break label$11; - } - $2 = HEAP32[$0 + 24 >> 2]; - $8 = HEAP32[$0 + 12 >> 2]; - if ($8) { - $5 = ($2 | 0) / -2 | 0; - $13 = Math_fround($8 >>> 0); - $7 = 0; - while (1) { - if ($2) { - $4 = Math_imul($2, $7); - $14 = Math_fround(Math_fround($7 >>> 0) / $13); - $3 = HEAP32[Math_imul(HEAP32[$0 + 16 >> 2], 20) + 50896 >> 2]; - $6 = HEAP32[$0 + 76 >> 2]; - $1 = 0; - while (1) { - $10 = ($1 + $4 << 2) + $6 | 0; - $1 = $1 + 1 | 0; - HEAPF32[$10 >> 2] = sinc(HEAPF32[$0 + 44 >> 2], Math_fround(Math_fround($5 + $1 | 0) - $14), $2, $3); - if (($1 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $7 = $7 + 1 | 0; - if (($8 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - $1 = HEAP32[$0 + 16 >> 2] > 8 ? 5 : 6; - break label$10; - } - $14 = Math_fround($2 >>> 1 >>> 0); - $5 = HEAP32[$0 + 16 >> 2]; - $3 = HEAP32[Math_imul($5, 20) + 50896 >> 2]; - $13 = Math_fround($6 >>> 0); - $6 = HEAP32[$0 + 76 >> 2]; - while (1) { - HEAPF32[(($1 << 2) + $6 | 0) + 16 >> 2] = sinc(HEAPF32[$0 + 44 >> 2], Math_fround(Math_fround(Math_fround($1 | 0) / $13) - $14), $2, $3); - $1 = $1 + 1 | 0; - if (($4 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $1 = ($5 | 0) > 8 ? 7 : 8; - } - HEAP32[$9 + 84 >> 2] = $1; - $1 = (HEAP32[$0 + 32 >> 2] + $2 | 0) - 1 | 0; - $2 = HEAP32[$0 + 28 >> 2]; - if ($1 >>> 0 > $2 >>> 0) { - $2 = HEAP32[$0 + 20 >> 2]; - if (536870911 / ($2 >>> 0) >>> 0 < $1 >>> 0) { - break label$2; - } - $2 = dlrealloc(HEAP32[$0 + 72 >> 2], Math_imul($1, $2) << 2); - if (!$2) { - break label$2; - } - HEAP32[$0 + 28 >> 2] = $1; - HEAP32[$0 + 72 >> 2] = $2; - $2 = $1; - } - if (!HEAP32[$0 + 56 >> 2]) { - $1 = Math_imul(HEAP32[$0 + 20 >> 2], $2); - if (!$1) { - return 0; - } - memset(HEAP32[$0 + 72 >> 2], 0, $1 << 2); - return 0; - } - $2 = HEAP32[$0 + 24 >> 2]; - if ($11 >>> 0 < $2 >>> 0) { - $8 = HEAP32[$0 + 20 >> 2]; - if (!$8) { - return 0; - } - $18 = $11 - 1 | 0; - $19 = ($8 << 2) - 4 | 0; - $20 = HEAP32[$0 + 68 >> 2]; - while (1) { - $7 = $12 << 2; - $8 = $8 - 1 | 0; - $15 = $8 << 2; - $5 = $15 + $20 | 0; - $4 = HEAP32[$5 >> 2]; - $9 = $4 << 1; - $1 = $4 + $18 | 0; - if ($1) { - $3 = Math_imul($8, $17); - $6 = Math_imul(HEAP32[$0 + 28 >> 2], $8); - $2 = HEAP32[$0 + 72 >> 2]; - while (1) { - $1 = $1 - 1 | 0; - HEAP32[(($4 + $1 | 0) + $6 << 2) + $2 >> 2] = HEAP32[($1 + $3 << 2) + $2 >> 2]; - if ($1) { - continue; - } - break; - } - } - $16 = $19 - $7 | 0; - $9 = $9 + $11 | 0; - if ($4) { - memset(HEAP32[$0 + 72 >> 2] + Math_imul(HEAP32[$0 + 28 >> 2], $16) | 0, 0, $4 << 2); - } - HEAP32[$5 >> 2] = 0; - $10 = HEAP32[$0 + 24 >> 2]; - label$28 : { - if ($10 >>> 0 > $9 >>> 0) { - $6 = $9 - 1 | 0; - if ($6) { - $5 = $10 - 2 | 0; - $7 = $9 - 2 | 0; - $4 = Math_imul(HEAP32[$0 + 28 >> 2], $8); - $3 = HEAP32[$0 + 72 >> 2]; - $1 = 0; - $2 = 0; - while (1) { - HEAP32[(($1 + $5 | 0) + $4 << 2) + $3 >> 2] = HEAP32[(($1 + $7 | 0) + $4 << 2) + $3 >> 2]; - $1 = $2 ^ -1; - $2 = $2 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $1 = $10 - 1 | 0; - if ($6 >>> 0 < $1 >>> 0) { - memset(HEAP32[$0 + 72 >> 2] + Math_imul(HEAP32[$0 + 28 >> 2], $16) | 0, 0, $1 - $6 << 2); - } - $1 = HEAP32[$0 + 60 >> 2] + $15 | 0; - HEAP32[$1 >> 2] = HEAP32[$1 >> 2] + ($10 - $9 >>> 1 | 0); - break label$28; - } - $3 = $9 - $10 >>> 1 | 0; - HEAP32[$5 >> 2] = $3; - $1 = $3 - 1 | 0; - $2 = HEAP32[$0 + 24 >> 2]; - if (($1 | 0) == (0 - $2 | 0)) { - break label$28; - } - $1 = $1 + $2 | 0; - $6 = $1 >>> 0 > 1 ? $1 : 1; - $5 = Math_imul(HEAP32[$0 + 28 >> 2], $8); - $2 = HEAP32[$0 + 72 >> 2]; - $1 = 0; - while (1) { - $4 = $1 + $5 | 0; - HEAP32[($4 << 2) + $2 >> 2] = HEAP32[($3 + $4 << 2) + $2 >> 2]; - $1 = $1 + 1 | 0; - if (($6 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $12 = $12 + 1 | 0; - if ($8) { - continue; - } - break; - } - return 0; - } - $1 = 0; - if (!HEAP32[$0 + 20 >> 2] | $2 >>> 0 >= $11 >>> 0) { - break label$1; - } - $12 = HEAP32[$0 + 68 >> 2]; - $7 = 0; - while (1) { - $8 = ($7 << 2) + $12 | 0; - $1 = HEAP32[$8 >> 2]; - $3 = $11 - $2 >>> 1 | 0; - HEAP32[$8 >> 2] = $3; - $9 = $1 + $3 | 0; - $1 = $9 - 1 | 0; - $2 = HEAP32[$0 + 24 >> 2]; - if (($1 | 0) != (0 - $2 | 0)) { - $1 = $1 + $2 | 0; - $6 = $1 >>> 0 > 1 ? $1 : 1; - $5 = Math_imul(HEAP32[$0 + 28 >> 2], $7); - $2 = HEAP32[$0 + 72 >> 2]; - $1 = 0; - while (1) { - $4 = $1 + $5 | 0; - HEAP32[($4 << 2) + $2 >> 2] = HEAP32[($3 + $4 << 2) + $2 >> 2]; - $1 = $1 + 1 | 0; - if (($6 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - HEAP32[$8 >> 2] = $9; - $7 = $7 + 1 | 0; - if ($7 >>> 0 >= HEAPU32[$0 + 20 >> 2]) { - return 0; - } else { - $2 = HEAP32[$0 + 24 >> 2]; - continue; - } - } - } - HEAP32[$0 + 24 >> 2] = $11; - HEAP32[$0 + 84 >> 2] = 9; - $1 = 1; - } - return $1; -} -function dlfree($0) { - $0 = $0 | 0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - label$1 : { - label$2 : { - if (!$0) { - break label$2; - } - $3 = $0 - 8 | 0; - $1 = HEAP32[$0 - 4 >> 2]; - $0 = $1 & -8; - $5 = $3 + $0 | 0; - label$3 : { - if ($1 & 1) { - break label$3; - } - if (!($1 & 3)) { - break label$2; - } - $1 = HEAP32[$3 >> 2]; - $3 = $3 - $1 | 0; - $4 = HEAP32[13236]; - if ($3 >>> 0 < $4 >>> 0) { - break label$2; - } - $0 = $0 + $1 | 0; - if (HEAP32[13237] != ($3 | 0)) { - if ($1 >>> 0 <= 255) { - $7 = $1 >>> 3 | 0; - $1 = ($7 << 3) + 52968 | 0; - $6 = HEAP32[$3 + 8 >> 2]; - $2 = HEAP32[$3 + 12 >> 2]; - if (($6 | 0) == ($2 | 0)) { - HEAP32[13232] = HEAP32[13232] & __wasm_rotl_i32(-2, $7); - break label$3; - } - HEAP32[$6 + 12 >> 2] = $2; - HEAP32[$2 + 8 >> 2] = $6; - break label$3; - } - $7 = HEAP32[$3 + 24 >> 2]; - $2 = HEAP32[$3 + 12 >> 2]; - label$7 : { - if (($2 | 0) != ($3 | 0)) { - $1 = HEAP32[$3 + 8 >> 2]; - HEAP32[$1 + 12 >> 2] = $2; - HEAP32[$2 + 8 >> 2] = $1; - break label$7; - } - label$10 : { - $1 = $3 + 20 | 0; - $4 = HEAP32[$1 >> 2]; - if ($4) { - break label$10; - } - $1 = $3 + 16 | 0; - $4 = HEAP32[$1 >> 2]; - if ($4) { - break label$10; - } - $2 = 0; - break label$7; - } - while (1) { - $6 = $1; - $2 = $4; - $1 = $2 + 20 | 0; - $4 = HEAP32[$1 >> 2]; - if ($4) { - continue; - } - $1 = $2 + 16 | 0; - $4 = HEAP32[$2 + 16 >> 2]; - if ($4) { - continue; - } - break; - } - HEAP32[$6 >> 2] = 0; - } - if (!$7) { - break label$3; - } - $4 = HEAP32[$3 + 28 >> 2]; - $1 = ($4 << 2) + 53232 | 0; - label$12 : { - if (HEAP32[$1 >> 2] == ($3 | 0)) { - HEAP32[$1 >> 2] = $2; - if ($2) { - break label$12; - } - HEAP32[13233] = HEAP32[13233] & __wasm_rotl_i32(-2, $4); - break label$3; - } - HEAP32[(HEAP32[$7 + 16 >> 2] == ($3 | 0) ? 16 : 20) + $7 >> 2] = $2; - if (!$2) { - break label$3; - } - } - HEAP32[$2 + 24 >> 2] = $7; - $1 = HEAP32[$3 + 16 >> 2]; - if ($1) { - HEAP32[$2 + 16 >> 2] = $1; - HEAP32[$1 + 24 >> 2] = $2; - } - $1 = HEAP32[$3 + 20 >> 2]; - if (!$1) { - break label$3; - } - HEAP32[$2 + 20 >> 2] = $1; - HEAP32[$1 + 24 >> 2] = $2; - break label$3; - } - $1 = HEAP32[$5 + 4 >> 2]; - if (($1 & 3) != 3) { - break label$3; - } - HEAP32[13234] = $0; - HEAP32[$5 + 4 >> 2] = $1 & -2; - break label$1; - } - if ($3 >>> 0 >= $5 >>> 0) { - break label$2; - } - $1 = HEAP32[$5 + 4 >> 2]; - if (!($1 & 1)) { - break label$2; - } - label$15 : { - if (!($1 & 2)) { - if (HEAP32[13238] == ($5 | 0)) { - HEAP32[13238] = $3; - $0 = HEAP32[13235] + $0 | 0; - HEAP32[13235] = $0; - HEAP32[$3 + 4 >> 2] = $0 | 1; - if (HEAP32[13237] != ($3 | 0)) { - break label$2; - } - HEAP32[13234] = 0; - HEAP32[13237] = 0; - return; - } - if (HEAP32[13237] == ($5 | 0)) { - HEAP32[13237] = $3; - $0 = HEAP32[13234] + $0 | 0; - HEAP32[13234] = $0; - break label$1; - } - $0 = ($1 & -8) + $0 | 0; - label$19 : { - if ($1 >>> 0 <= 255) { - $4 = HEAP32[$5 + 12 >> 2]; - $2 = HEAP32[$5 + 8 >> 2]; - $5 = $1 >>> 3 | 0; - if (($2 | 0) == ($4 | 0)) { - HEAP32[13232] = HEAP32[13232] & __wasm_rotl_i32(-2, $5); - break label$19; - } - HEAP32[$2 + 12 >> 2] = $4; - HEAP32[$4 + 8 >> 2] = $2; - break label$19; - } - $7 = HEAP32[$5 + 24 >> 2]; - $2 = HEAP32[$5 + 12 >> 2]; - label$24 : { - if (($5 | 0) != ($2 | 0)) { - $1 = HEAP32[$5 + 8 >> 2]; - HEAP32[$1 + 12 >> 2] = $2; - HEAP32[$2 + 8 >> 2] = $1; - break label$24; - } - label$27 : { - $1 = $5 + 20 | 0; - $4 = HEAP32[$1 >> 2]; - if ($4) { - break label$27; - } - $1 = $5 + 16 | 0; - $4 = HEAP32[$1 >> 2]; - if ($4) { - break label$27; - } - $2 = 0; - break label$24; - } - while (1) { - $6 = $1; - $2 = $4; - $1 = $2 + 20 | 0; - $4 = HEAP32[$1 >> 2]; - if ($4) { - continue; - } - $1 = $2 + 16 | 0; - $4 = HEAP32[$2 + 16 >> 2]; - if ($4) { - continue; - } - break; - } - HEAP32[$6 >> 2] = 0; - } - if (!$7) { - break label$19; - } - $4 = HEAP32[$5 + 28 >> 2]; - $1 = ($4 << 2) + 53232 | 0; - label$29 : { - if (HEAP32[$1 >> 2] == ($5 | 0)) { - HEAP32[$1 >> 2] = $2; - if ($2) { - break label$29; - } - HEAP32[13233] = HEAP32[13233] & __wasm_rotl_i32(-2, $4); - break label$19; - } - HEAP32[(HEAP32[$7 + 16 >> 2] == ($5 | 0) ? 16 : 20) + $7 >> 2] = $2; - if (!$2) { - break label$19; - } - } - HEAP32[$2 + 24 >> 2] = $7; - $1 = HEAP32[$5 + 16 >> 2]; - if ($1) { - HEAP32[$2 + 16 >> 2] = $1; - HEAP32[$1 + 24 >> 2] = $2; - } - $1 = HEAP32[$5 + 20 >> 2]; - if (!$1) { - break label$19; - } - HEAP32[$2 + 20 >> 2] = $1; - HEAP32[$1 + 24 >> 2] = $2; - } - HEAP32[$3 + 4 >> 2] = $0 | 1; - HEAP32[$0 + $3 >> 2] = $0; - if (HEAP32[13237] != ($3 | 0)) { - break label$15; - } - HEAP32[13234] = $0; - return; - } - HEAP32[$5 + 4 >> 2] = $1 & -2; - HEAP32[$3 + 4 >> 2] = $0 | 1; - HEAP32[$0 + $3 >> 2] = $0; - } - if ($0 >>> 0 <= 255) { - $1 = $0 >>> 3 | 0; - $0 = ($1 << 3) + 52968 | 0; - $1 = 1 << $1; - $4 = HEAP32[13232]; - label$33 : { - if (!($1 & $4)) { - HEAP32[13232] = $1 | $4; - $1 = $0; - break label$33; - } - $1 = HEAP32[$0 + 8 >> 2]; - } - HEAP32[$0 + 8 >> 2] = $3; - HEAP32[$1 + 12 >> 2] = $3; - HEAP32[$3 + 12 >> 2] = $0; - HEAP32[$3 + 8 >> 2] = $1; - return; - } - $1 = 31; - HEAP32[$3 + 16 >> 2] = 0; - HEAP32[$3 + 20 >> 2] = 0; - if ($0 >>> 0 <= 16777215) { - $1 = $0 >>> 8 | 0; - $2 = $1; - $1 = $1 + 1048320 >>> 16 & 8; - $4 = $2 << $1; - $2 = $4; - $4 = $4 + 520192 >>> 16 & 4; - $2 = $2 << $4; - $6 = $2; - $2 = $2 + 245760 >>> 16 & 2; - $1 = ($6 << $2 >>> 15 | 0) - ($1 | $4 | $2) | 0; - $1 = ($1 << 1 | $0 >>> $1 + 21 & 1) + 28 | 0; - } - HEAP32[$3 + 28 >> 2] = $1; - $4 = ($1 << 2) + 53232 | 0; - label$36 : { - label$37 : { - $2 = HEAP32[13233]; - $5 = 1 << $1; - label$38 : { - if (!($2 & $5)) { - HEAP32[13233] = $2 | $5; - HEAP32[$4 >> 2] = $3; - break label$38; - } - $1 = $0 << (($1 | 0) == 31 ? 0 : 25 - ($1 >>> 1 | 0) | 0); - $2 = HEAP32[$4 >> 2]; - while (1) { - $4 = $2; - if ((HEAP32[$2 + 4 >> 2] & -8) == ($0 | 0)) { - break label$37; - } - $2 = $1 >>> 29 | 0; - $1 = $1 << 1; - $6 = ($2 & 4) + $4 | 0; - $5 = $6 + 16 | 0; - $2 = HEAP32[$5 >> 2]; - if ($2) { - continue; - } - break; - } - HEAP32[$6 + 16 >> 2] = $3; - } - HEAP32[$3 + 24 >> 2] = $4; - HEAP32[$3 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $3; - break label$36; - } - $0 = HEAP32[$4 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $3; - HEAP32[$4 + 8 >> 2] = $3; - HEAP32[$3 + 24 >> 2] = 0; - HEAP32[$3 + 12 >> 2] = $4; - HEAP32[$3 + 8 >> 2] = $0; - } - $3 = HEAP32[13240] - 1 | 0; - HEAP32[13240] = $3 ? $3 : -1; - } - return; - } - HEAP32[$3 + 4 >> 2] = $0 | 1; - HEAP32[$0 + $3 >> 2] = $0; -} -function dispose_chunk($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $5 = $0 + $1 | 0; - label$1 : { - label$2 : { - $2 = HEAP32[$0 + 4 >> 2]; - if ($2 & 1) { - break label$2; - } - if (!($2 & 3)) { - break label$1; - } - $2 = HEAP32[$0 >> 2]; - $1 = $2 + $1 | 0; - $0 = $0 - $2 | 0; - if (($0 | 0) != HEAP32[13237]) { - if ($2 >>> 0 <= 255) { - $6 = $2 >>> 3 | 0; - $2 = ($6 << 3) + 52968 | 0; - $3 = HEAP32[$0 + 8 >> 2]; - $4 = HEAP32[$0 + 12 >> 2]; - if (($4 | 0) == ($3 | 0)) { - HEAP32[13232] = HEAP32[13232] & __wasm_rotl_i32(-2, $6); - break label$2; - } - HEAP32[$3 + 12 >> 2] = $4; - HEAP32[$4 + 8 >> 2] = $3; - break label$2; - } - $6 = HEAP32[$0 + 24 >> 2]; - $3 = HEAP32[$0 + 12 >> 2]; - label$6 : { - if (($3 | 0) != ($0 | 0)) { - $2 = HEAP32[$0 + 8 >> 2]; - HEAP32[$2 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $2; - break label$6; - } - label$9 : { - $2 = $0 + 20 | 0; - $4 = HEAP32[$2 >> 2]; - if ($4) { - break label$9; - } - $2 = $0 + 16 | 0; - $4 = HEAP32[$2 >> 2]; - if ($4) { - break label$9; - } - $3 = 0; - break label$6; - } - while (1) { - $7 = $2; - $3 = $4; - $2 = $3 + 20 | 0; - $4 = HEAP32[$2 >> 2]; - if ($4) { - continue; - } - $2 = $3 + 16 | 0; - $4 = HEAP32[$3 + 16 >> 2]; - if ($4) { - continue; - } - break; - } - HEAP32[$7 >> 2] = 0; - } - if (!$6) { - break label$2; - } - $4 = HEAP32[$0 + 28 >> 2]; - $2 = ($4 << 2) + 53232 | 0; - label$11 : { - if (HEAP32[$2 >> 2] == ($0 | 0)) { - HEAP32[$2 >> 2] = $3; - if ($3) { - break label$11; - } - HEAP32[13233] = HEAP32[13233] & __wasm_rotl_i32(-2, $4); - break label$2; - } - HEAP32[(HEAP32[$6 + 16 >> 2] == ($0 | 0) ? 16 : 20) + $6 >> 2] = $3; - if (!$3) { - break label$2; - } - } - HEAP32[$3 + 24 >> 2] = $6; - $2 = HEAP32[$0 + 16 >> 2]; - if ($2) { - HEAP32[$3 + 16 >> 2] = $2; - HEAP32[$2 + 24 >> 2] = $3; - } - $2 = HEAP32[$0 + 20 >> 2]; - if (!$2) { - break label$2; - } - HEAP32[$3 + 20 >> 2] = $2; - HEAP32[$2 + 24 >> 2] = $3; - break label$2; - } - $2 = HEAP32[$5 + 4 >> 2]; - if (($2 & 3) != 3) { - break label$2; - } - HEAP32[13234] = $1; - HEAP32[$5 + 4 >> 2] = $2 & -2; - HEAP32[$0 + 4 >> 2] = $1 | 1; - HEAP32[$5 >> 2] = $1; - return; - } - $2 = HEAP32[$5 + 4 >> 2]; - label$14 : { - if (!($2 & 2)) { - if (HEAP32[13238] == ($5 | 0)) { - HEAP32[13238] = $0; - $1 = HEAP32[13235] + $1 | 0; - HEAP32[13235] = $1; - HEAP32[$0 + 4 >> 2] = $1 | 1; - if (HEAP32[13237] != ($0 | 0)) { - break label$1; - } - HEAP32[13234] = 0; - HEAP32[13237] = 0; - return; - } - if (HEAP32[13237] == ($5 | 0)) { - HEAP32[13237] = $0; - $1 = HEAP32[13234] + $1 | 0; - HEAP32[13234] = $1; - HEAP32[$0 + 4 >> 2] = $1 | 1; - HEAP32[$0 + $1 >> 2] = $1; - return; - } - $1 = ($2 & -8) + $1 | 0; - label$18 : { - if ($2 >>> 0 <= 255) { - $4 = HEAP32[$5 + 12 >> 2]; - $3 = HEAP32[$5 + 8 >> 2]; - $5 = $2 >>> 3 | 0; - if (($3 | 0) == ($4 | 0)) { - HEAP32[13232] = HEAP32[13232] & __wasm_rotl_i32(-2, $5); - break label$18; - } - HEAP32[$3 + 12 >> 2] = $4; - HEAP32[$4 + 8 >> 2] = $3; - break label$18; - } - $6 = HEAP32[$5 + 24 >> 2]; - $3 = HEAP32[$5 + 12 >> 2]; - label$21 : { - if (($5 | 0) != ($3 | 0)) { - $2 = HEAP32[$5 + 8 >> 2]; - HEAP32[$2 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $2; - break label$21; - } - label$24 : { - $4 = $5 + 20 | 0; - $2 = HEAP32[$4 >> 2]; - if ($2) { - break label$24; - } - $4 = $5 + 16 | 0; - $2 = HEAP32[$4 >> 2]; - if ($2) { - break label$24; - } - $3 = 0; - break label$21; - } - while (1) { - $7 = $4; - $3 = $2; - $4 = $2 + 20 | 0; - $2 = HEAP32[$4 >> 2]; - if ($2) { - continue; - } - $4 = $3 + 16 | 0; - $2 = HEAP32[$3 + 16 >> 2]; - if ($2) { - continue; - } - break; - } - HEAP32[$7 >> 2] = 0; - } - if (!$6) { - break label$18; - } - $4 = HEAP32[$5 + 28 >> 2]; - $2 = ($4 << 2) + 53232 | 0; - label$26 : { - if (HEAP32[$2 >> 2] == ($5 | 0)) { - HEAP32[$2 >> 2] = $3; - if ($3) { - break label$26; - } - HEAP32[13233] = HEAP32[13233] & __wasm_rotl_i32(-2, $4); - break label$18; - } - HEAP32[(HEAP32[$6 + 16 >> 2] == ($5 | 0) ? 16 : 20) + $6 >> 2] = $3; - if (!$3) { - break label$18; - } - } - HEAP32[$3 + 24 >> 2] = $6; - $2 = HEAP32[$5 + 16 >> 2]; - if ($2) { - HEAP32[$3 + 16 >> 2] = $2; - HEAP32[$2 + 24 >> 2] = $3; - } - $2 = HEAP32[$5 + 20 >> 2]; - if (!$2) { - break label$18; - } - HEAP32[$3 + 20 >> 2] = $2; - HEAP32[$2 + 24 >> 2] = $3; - } - HEAP32[$0 + 4 >> 2] = $1 | 1; - HEAP32[$0 + $1 >> 2] = $1; - if (HEAP32[13237] != ($0 | 0)) { - break label$14; - } - HEAP32[13234] = $1; - return; - } - HEAP32[$5 + 4 >> 2] = $2 & -2; - HEAP32[$0 + 4 >> 2] = $1 | 1; - HEAP32[$0 + $1 >> 2] = $1; - } - if ($1 >>> 0 <= 255) { - $2 = $1 >>> 3 | 0; - $1 = ($2 << 3) + 52968 | 0; - $2 = 1 << $2; - $4 = HEAP32[13232]; - label$30 : { - if (!($2 & $4)) { - HEAP32[13232] = $2 | $4; - $2 = $1; - break label$30; - } - $2 = HEAP32[$1 + 8 >> 2]; - } - HEAP32[$1 + 8 >> 2] = $0; - HEAP32[$2 + 12 >> 2] = $0; - HEAP32[$0 + 12 >> 2] = $1; - HEAP32[$0 + 8 >> 2] = $2; - return; - } - $2 = 31; - HEAP32[$0 + 16 >> 2] = 0; - HEAP32[$0 + 20 >> 2] = 0; - if ($1 >>> 0 <= 16777215) { - $2 = $1 >>> 8 | 0; - $3 = $2; - $2 = $2 + 1048320 >>> 16 & 8; - $4 = $3 << $2; - $3 = $4; - $4 = $4 + 520192 >>> 16 & 4; - $3 = $3 << $4; - $7 = $3; - $3 = $3 + 245760 >>> 16 & 2; - $2 = ($7 << $3 >>> 15 | 0) - ($2 | $4 | $3) | 0; - $2 = ($2 << 1 | $1 >>> $2 + 21 & 1) + 28 | 0; - } - HEAP32[$0 + 28 >> 2] = $2; - $4 = ($2 << 2) + 53232 | 0; - label$33 : { - $3 = HEAP32[13233]; - $5 = 1 << $2; - label$34 : { - if (!($3 & $5)) { - HEAP32[13233] = $3 | $5; - HEAP32[$4 >> 2] = $0; - break label$34; - } - $2 = $1 << (($2 | 0) == 31 ? 0 : 25 - ($2 >>> 1 | 0) | 0); - $3 = HEAP32[$4 >> 2]; - while (1) { - $4 = $3; - if ((HEAP32[$3 + 4 >> 2] & -8) == ($1 | 0)) { - break label$33; - } - $3 = $2 >>> 29 | 0; - $2 = $2 << 1; - $7 = ($3 & 4) + $4 | 0; - $5 = $7 + 16 | 0; - $3 = HEAP32[$5 >> 2]; - if ($3) { - continue; - } - break; - } - HEAP32[$7 + 16 >> 2] = $0; - } - HEAP32[$0 + 24 >> 2] = $4; - HEAP32[$0 + 12 >> 2] = $0; - HEAP32[$0 + 8 >> 2] = $0; - return; - } - $1 = HEAP32[$4 + 8 >> 2]; - HEAP32[$1 + 12 >> 2] = $0; - HEAP32[$4 + 8 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = 0; - HEAP32[$0 + 12 >> 2] = $4; - HEAP32[$0 + 8 >> 2] = $1; - } -} -function tf_analysis($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { - var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = Math_fround(0), $24 = 0, $25 = 0, $26 = 0, $27 = Math_fround(0), $28 = 0, $29 = 0, $30 = Math_fround(0), $31 = 0, $32 = 0, $33 = 0, $34 = Math_fround(0); - $11 = __stack_pointer; - $28 = $11; - $20 = 1; - $12 = ($1 << 2) + 15 & -16; - $21 = $11 - $12 | 0; - $13 = $21; - __stack_pointer = $13; - $11 = HEAP32[$0 + 32 >> 2]; - $24 = $1 - 1 | 0; - $14 = (HEAP16[$11 + ($1 << 1) >> 1] - HEAP16[($24 << 1) + $11 >> 1] << $7 << 2) + 15 & -16; - $22 = $13 - $14 | 0; - $13 = $22; - __stack_pointer = $13; - $29 = $13 - $14 | 0; - $13 = $29; - __stack_pointer = $13; - $25 = $13 - $12 | 0; - $13 = $25; - __stack_pointer = $13; - $26 = $13 - $12 | 0; - __stack_pointer = $26; - if (($1 | 0) >= 1) { - $27 = Math_fround(Math_fround(Math_max(Math_fround(Math_fround(.5) - $8), Math_fround(-.25))) * Math_fround(.03999999910593033)); - $30 = Math_fround($27 * Math_fround(($2 ? $7 : 0) | 0)); - $31 = 1 << $7; - $32 = Math_imul($6, $9); - $33 = 0 - ($7 << 1) | 0; - $34 = Math_fround($27 * Math_fround($7 + 1 | 0)); - while (1) { - $12 = HEAP16[($16 << 1) + $11 >> 1]; - $6 = (($12 << $7) + $32 << 2) + $5 | 0; - $18 = $16 + 1 | 0; - $9 = HEAP16[($18 << 1) + $11 >> 1] - $12 | 0; - $12 = $9 << $7; - $14 = $12 << 2; - $13 = memcpy($22, $6, $14); - $8 = Math_fround(0); - $11 = 0; - $15 = ($12 | 0) < 1; - if (!$15) { - while (1) { - $8 = Math_fround($8 + Math_fround(Math_abs(HEAPF32[($11 << 2) + $13 >> 2]))); - $11 = $11 + 1 | 0; - if (($12 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $23 = Math_fround($8 + Math_fround($30 * $8)); - $11 = 0; - $6 = 0; - label$5 : { - if (!$2) { - break label$5; - } - $6 = 0; - if (($9 | 0) == 1) { - break label$5; - } - $6 = memcpy($29, $13, $14); - haar1($6, $12 >> $7, $31); - $14 = 0; - $8 = Math_fround(0); - if (!$15) { - while (1) { - $8 = Math_fround($8 + Math_fround(Math_abs(HEAPF32[($14 << 2) + $6 >> 2]))); - $14 = $14 + 1 | 0; - if (($14 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $8 = Math_fround($8 + Math_fround($34 * $8)); - $6 = 0; - if ($23 > $8 ^ 1) { - break label$5; - } - $23 = $8; - $6 = -1; - } - $19 = ($9 | 0) != 1; - $17 = ($19 & !$2) + $7 | 0; - if (($17 | 0) >= 1) { - while (1) { - haar1($13, $12 >> $11, 1 << $11); - $14 = $11 + 1 | 0; - $9 = $2 ? ($11 ^ -1) + $7 | 0 : $14; - $11 = 0; - $8 = Math_fround(0); - if (!$15) { - while (1) { - $8 = Math_fround($8 + Math_fround(Math_abs(HEAPF32[($11 << 2) + $13 >> 2]))); - $11 = $11 + 1 | 0; - if (($12 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $8 = Math_fround($8 + Math_fround(Math_fround($27 * Math_fround($9 | 0)) * $8)); - $11 = $23 > $8; - $23 = $11 ? $8 : $23; - $6 = $11 ? $14 : $6; - $11 = $14; - if (($17 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $12 = ($16 << 2) + $21 | 0; - $11 = $6 << 1; - $11 = $2 ? $11 : 0 - $11 | 0; - HEAP32[$12 >> 2] = $11; - if (!((($11 | 0) != ($33 | 0) ? $11 : 0) | $19)) { - HEAP32[$12 >> 2] = $11 - 1; - } - if (($1 | 0) != ($18 | 0)) { - $11 = HEAP32[$0 + 32 >> 2]; - $16 = $18; - continue; - } - break; - } - $18 = HEAP32[$21 >> 2]; - } - $0 = $2 << 2; - $16 = ($7 << 3) + 1744 | 0; - $15 = HEAP8[$0 + $16 | 0] << 1; - $11 = $18 - $15 | 0; - $5 = $11; - $19 = HEAP32[$10 >> 2]; - $11 = $11 >> 31; - $11 = Math_imul($19, $11 ^ $11 + $5); - $17 = HEAP8[($0 | 1) + $16 | 0] << 1; - $12 = $18 - $17 | 0; - $6 = $12; - $5 = $2 ? 0 : $4; - $12 = $12 >> 31; - $12 = $5 + Math_imul($12 ^ $12 + $6, $19) | 0; - label$14 : { - if (($1 | 0) <= 1) { - $6 = $12; - break label$14; - } - while (1) { - $13 = $4 + $11 | 0; - $14 = $20 << 2; - $6 = HEAP32[$21 + $14 >> 2]; - $9 = $6 - $15 | 0; - $22 = $9; - $14 = HEAP32[$10 + $14 >> 2]; - $9 = $9 >> 31; - $22 = Math_imul($14, $9 ^ $9 + $22); - $9 = $4 + $12 | 0; - $11 = $22 + (($9 | 0) > ($11 | 0) ? $11 : $9) | 0; - $6 = $6 - $17 | 0; - $9 = $6; - $6 = $6 >> 31; - $6 = Math_imul($6 ^ $6 + $9, $14) + (($12 | 0) > ($13 | 0) ? $13 : $12) | 0; - $12 = $6; - $20 = $20 + 1 | 0; - if (($20 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $14 = 1; - $17 = HEAP8[($0 | 2) + $16 | 0] << 1; - $12 = $18 - $17 | 0; - $9 = $12; - $12 = $12 >> 31; - $12 = Math_imul($12 ^ $12 + $9, $19); - $16 = HEAP8[($0 | 3) + $16 | 0] << 1; - $13 = $18 - $16 | 0; - $9 = $13; - $13 = $13 >> 31; - $13 = Math_imul($13 ^ $13 + $9, $19) + $5 | 0; - $20 = ($6 | 0) > ($11 | 0) ? $11 : $6; - label$17 : { - if (($1 | 0) <= 1) { - $11 = $13; - break label$17; - } - while (1) { - $11 = $4 + $12 | 0; - $6 = $14 << 2; - $9 = HEAP32[$21 + $6 >> 2]; - $15 = $9 - $17 | 0; - $5 = $15; - $6 = HEAP32[$6 + $10 >> 2]; - $15 = $15 >> 31; - $5 = Math_imul($6, $15 ^ $15 + $5); - $15 = $4 + $13 | 0; - $12 = $5 + (($12 | 0) < ($15 | 0) ? $12 : $15) | 0; - $9 = $9 - $16 | 0; - $5 = $9; - $9 = $9 >> 31; - $11 = Math_imul($9 ^ $9 + $5, $6) + (($11 | 0) < ($13 | 0) ? $11 : $13) | 0; - $13 = $11; - $14 = $14 + 1 | 0; - if (($14 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $14 = 1; - $16 = ($2 | 0) != 0 & ((($11 | 0) > ($12 | 0) ? $12 : $11) | 0) < ($20 | 0); - $12 = ($16 ? 2 : 0) | $0; - $13 = ($7 << 3) + 1744 | 0; - $15 = HEAP8[$12 + $13 | 0] << 1; - $11 = $18 - $15 | 0; - $0 = $11; - $11 = $11 >> 31; - $11 = Math_imul($11 ^ $11 + $0, $19); - $17 = HEAP8[($12 | 1) + $13 | 0] << 1; - $12 = $18 - $17 | 0; - $0 = $12; - $12 = $12 >> 31; - $12 = Math_imul($12 ^ $12 + $0, $19) + ($2 ? 0 : $4) | 0; - if (($1 | 0) <= 1) { - HEAP32[($24 << 2) + $3 >> 2] = ($11 | 0) >= ($12 | 0); - __stack_pointer = $28; - return $16; - } - while (1) { - $13 = $14 << 2; - $6 = $4 + $12 | 0; - HEAP32[$25 + $13 >> 2] = ($11 | 0) >= ($6 | 0); - $9 = $4 + $11 | 0; - HEAP32[$13 + $26 >> 2] = ($12 | 0) <= ($9 | 0); - $7 = HEAP32[$13 + $21 >> 2]; - $2 = $7 - $17 | 0; - $0 = $2; - $13 = HEAP32[$10 + $13 >> 2]; - $2 = $2 >> 31; - $12 = Math_imul($13, $2 ^ $2 + $0) + (($9 | 0) < ($12 | 0) ? $9 : $12) | 0; - $9 = $7 - $15 | 0; - $0 = $9; - $9 = $9 >> 31; - $11 = Math_imul($9 ^ $9 + $0, $13) + (($6 | 0) > ($11 | 0) ? $11 : $6) | 0; - $14 = $14 + 1 | 0; - if (($14 | 0) != ($1 | 0)) { - continue; - } - break; - } - $12 = ($11 | 0) >= ($12 | 0); - HEAP32[($24 << 2) + $3 >> 2] = $12; - if (($1 | 0) >= 2) { - $11 = $1 - 2 | 0; - while (1) { - $13 = $11 << 2; - $12 = HEAP32[($13 + (($12 | 0) == 1 ? $26 : $25) | 0) + 4 >> 2]; - HEAP32[$3 + $13 >> 2] = $12; - $13 = ($11 | 0) > 0; - $11 = $11 - 1 | 0; - if ($13) { - continue; - } - break; - } - } - __stack_pointer = $28; - return $16; -} -function silk_burg_modified_FLP($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = Math_fround(0), $27 = Math_fround(0), $28 = Math_fround(0), $29 = 0; - $7 = __stack_pointer - 992 | 0; - __stack_pointer = $7; - $6 = Math_imul($3, $4); - if (($6 | 0) < 385) { - $19 = silk_energy_FLP($1, $6); - memset($7 + 800 | 0, 0, 192); - if (($4 | 0) >= 1) { - while (1) { - $6 = 1; - if (($5 | 0) >= 1) { - $9 = (Math_imul($3, $14) << 2) + $1 | 0; - while (1) { - $13 = ($6 << 3) + $7 | 0; - $11 = $13 + 792 | 0; - HEAPF64[$11 >> 3] = silk_inner_product_FLP($9, ($6 << 2) + $9 | 0, $3 - $6 | 0) + HEAPF64[$13 + 792 >> 3]; - $11 = ($5 | 0) != ($6 | 0); - $6 = $6 + 1 | 0; - if ($11) { - continue; - } - break; - } - } - $14 = $14 + 1 | 0; - if (($14 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - memcpy($7 + 608 | 0, $7 + 800 | 0, 192); - $24 = $19 * 9999999747378752e-21; - $10 = $19 + $24 + 9.999999717180685e-10; - HEAPF64[$7 + 192 >> 3] = $10; - HEAPF64[$7 + 400 >> 3] = $10; - label$6 : { - label$7 : { - if (($5 | 0) < 1) { - $12 = 1; - break label$7; - } - $25 = +$2; - $11 = 0; - $21 = 2; - $20 = 1; - $22 = 1; - while (1) { - if (($4 | 0) >= 1) { - $17 = $3 - $11 | 0; - $18 = $17 - 1 | 0; - $16 = 0; - while (1) { - $9 = (Math_imul($3, $16) << 2) + $1 | 0; - $26 = HEAPF32[$9 + ($18 << 2) >> 2]; - $8 = +$26; - $27 = HEAPF32[($11 << 2) + $9 >> 2]; - $10 = +$27; - $6 = 0; - if ($11) { - while (1) { - $14 = $6 << 3; - $13 = $14 + ($7 + 800 | 0) | 0; - $2 = HEAPF32[(($6 ^ -1) + $11 << 2) + $9 >> 2]; - HEAPF64[$13 >> 3] = HEAPF64[$13 >> 3] - +Math_fround($27 * $2); - $13 = ($7 + 608 | 0) + $14 | 0; - $28 = HEAPF32[($6 + $17 << 2) + $9 >> 2]; - HEAPF64[$13 >> 3] = HEAPF64[$13 >> 3] - +Math_fround($26 * $28); - $12 = HEAPF64[$7 + $14 >> 3]; - $10 = $10 + $12 * +$2; - $8 = $8 + $12 * +$28; - $6 = $6 + 1 | 0; - if (($11 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $6 = 0; - while (1) { - $14 = $6 << 3; - $13 = $14 + ($7 + 400 | 0) | 0; - HEAPF64[$13 >> 3] = HEAPF64[$13 >> 3] - $10 * +HEAPF32[($11 - $6 << 2) + $9 >> 2]; - $14 = ($7 + 192 | 0) + $14 | 0; - HEAPF64[$14 >> 3] = HEAPF64[$14 >> 3] - $8 * +HEAPF32[($6 + $18 << 2) + $9 >> 2]; - $6 = $6 + 1 | 0; - if (($20 | 0) != ($6 | 0)) { - continue; - } - break; - } - $16 = $16 + 1 | 0; - if (($16 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $18 = $11 << 3; - $10 = HEAPF64[$18 + ($7 + 608 | 0) >> 3]; - $8 = HEAPF64[($7 + 800 | 0) + $18 >> 3]; - $6 = 0; - if ($11) { - while (1) { - $12 = HEAPF64[($6 << 3) + $7 >> 3]; - $9 = ($6 ^ -1) + $11 << 3; - $10 = $10 + $12 * HEAPF64[$9 + ($7 + 800 | 0) >> 3]; - $8 = $8 + $12 * HEAPF64[($7 + 608 | 0) + $9 >> 3]; - $6 = $6 + 1 | 0; - if (($11 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $13 = $11 + 1 | 0; - $6 = $13 << 3; - HEAPF64[$6 + ($7 + 400 | 0) >> 3] = $8; - $17 = ($7 + 192 | 0) + $6 | 0; - HEAPF64[$17 >> 3] = $10; - $6 = 0; - $12 = HEAPF64[$7 + 192 >> 3]; - $23 = HEAPF64[$7 + 400 >> 3]; - $15 = $23; - if ($11) { - while (1) { - $8 = HEAPF64[($6 << 3) + $7 >> 3]; - $9 = $6 + 1 | 0; - $14 = $9 << 3; - $15 = $15 + $8 * HEAPF64[$14 + ($7 + 400 | 0) >> 3]; - $12 = $12 + $8 * HEAPF64[($7 + 192 | 0) + $14 >> 3]; - $10 = $10 + $8 * HEAPF64[($7 + 192 | 0) + ($11 - $6 << 3) >> 3]; - $6 = $9; - if (($11 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $16 = 1; - $8 = $10 * -2 / ($15 + $12); - $15 = $22 * (1 - $8 * $8); - if (!($25 >= $15 ^ 1)) { - $16 = 0; - $15 = $25; - $8 = Math_sqrt(1 - $15 / $22); - $8 = $10 > 0 ? -$8 : $8; - } - if ($13 & 2147483646) { - $14 = $20 >>> 1 | 0; - $6 = 0; - while (1) { - $9 = ($6 << 3) + $7 | 0; - $29 = $9; - $10 = HEAPF64[$9 >> 3]; - $9 = (($6 ^ -1) + $11 << 3) + $7 | 0; - $12 = HEAPF64[$9 >> 3]; - HEAPF64[$29 >> 3] = $10 + $8 * $12; - HEAPF64[$9 >> 3] = $12 + $8 * $10; - $6 = $6 + 1 | 0; - if (($14 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - HEAPF64[$7 + $18 >> 3] = $8; - label$22 : { - if ($16) { - $10 = HEAPF64[$17 >> 3]; - HEAPF64[$17 >> 3] = $10 + $8 * $23; - HEAPF64[$7 + 400 >> 3] = $23 + $8 * $10; - $6 = 1; - while (1) { - $9 = ($7 + 192 | 0) + ($13 - $6 << 3) | 0; - $11 = $9; - $10 = HEAPF64[$9 >> 3]; - $9 = ($7 + 400 | 0) + ($6 << 3) | 0; - $12 = HEAPF64[$9 >> 3]; - HEAPF64[$11 >> 3] = $10 + $8 * $12; - HEAPF64[$9 >> 3] = $12 + $8 * $10; - $6 = $6 + 1 | 0; - if (($21 | 0) != ($6 | 0)) { - continue; - } - break; - } - break label$22; - } - if (($5 | 0) > ($13 | 0)) { - memset(($13 << 3) + $7 | 0, 0, $5 - $13 << 3); - } - $6 = 0; - while (1) { - HEAPF32[($6 << 2) + $0 >> 2] = -Math_fround(HEAPF64[($6 << 3) + $7 >> 3]); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($5 | 0)) { - continue; - } - break; - } - $6 = 0; - if (($4 | 0) > 0) { - while (1) { - $19 = $19 - silk_energy_FLP((Math_imul($3, $6) << 2) + $1 | 0, $5); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $8 = $15 * $19; - break label$6; - } - $21 = $21 + 1 | 0; - $20 = $20 + 1 | 0; - $22 = $15; - $11 = $13; - if (($11 | 0) != ($5 | 0)) { - continue; - } - break; - } - $12 = 1; - $10 = HEAPF64[$7 + 400 >> 3]; - if (($5 | 0) < 1) { - break label$7; - } - $6 = 0; - while (1) { - $9 = $6 + 1 | 0; - $15 = HEAPF64[($7 + 400 | 0) + ($9 << 3) >> 3]; - $8 = HEAPF64[($6 << 3) + $7 >> 3]; - HEAPF32[($6 << 2) + $0 >> 2] = -Math_fround($8); - $10 = $10 + $8 * $15; - $12 = $12 + $8 * $8; - $6 = $9; - if (($6 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $8 = $10 - $24 * $12; - } - __stack_pointer = $7 + 992 | 0; - return Math_fround($8); - } - celt_fatal(16463, 16523, 55); - abort(); -} -function quant_coarse_energy($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16) { - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = Math_fround(0), $24 = 0, $25 = 0, $26 = 0, $27 = Math_fround(0), $28 = 0, $29 = 0, $30 = Math_fround(0), $31 = 0, $32 = 0, $33 = 0; - $25 = __stack_pointer - 96 | 0; - $21 = $25; - __stack_pointer = $21; - $26 = 1; - label$1 : { - if ($12) { - break label$1; - } - $26 = 0; - if ($14) { - break label$1; - } - $12 = Math_imul($2 - $1 | 0, $9); - if (HEAPF32[$13 >> 2] > Math_fround($12 << 1) ^ 1) { - break label$1; - } - $26 = ($11 | 0) > ($12 | 0); - } - $30 = Math_fround(Math_fround(Math_fround(HEAPF32[$13 >> 2] * Math_fround($6 >>> 0)) * Math_fround($15 | 0)) / Math_fround($9 << 9)); - $18 = ($9 | 0) > 1 ? $9 : 1; - $22 = HEAP32[$0 + 8 >> 2]; - while (1) { - if (($1 | 0) < ($3 | 0)) { - $24 = Math_imul($20, $22); - $12 = $1; - while (1) { - $15 = $12 + $24 << 2; - $23 = Math_fround(HEAPF32[$15 + $4 >> 2] - HEAPF32[$5 + $15 >> 2]); - $27 = Math_fround($27 + Math_fround($23 * $23)); - $12 = $12 + 1 | 0; - if (($12 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $20 = $20 + 1 | 0; - if (($18 | 0) != ($20 | 0)) { - continue; - } - break; - } - $24 = HEAP32[$8 + 20 >> 2]; - $20 = HEAP32[$8 + 28 >> 2]; - $19 = $8; - $18 = HEAP32[$19 + 16 >> 2]; - $17 = HEAP32[$19 + 20 >> 2]; - $3 = $18; - $18 = $21; - HEAP32[$18 + 88 >> 2] = $3; - HEAP32[$18 + 92 >> 2] = $17; - $18 = HEAP32[$19 + 12 >> 2]; - $17 = HEAP32[$19 + 8 >> 2]; - $3 = $17; - $17 = $21; - HEAP32[$17 + 80 >> 2] = $3; - HEAP32[$17 + 84 >> 2] = $18; - $17 = HEAP32[$19 + 4 >> 2]; - $18 = HEAP32[$19 >> 2]; - $3 = $18; - $18 = $21; - HEAP32[$18 + 72 >> 2] = $3; - HEAP32[$18 + 76 >> 2] = $17; - $3 = HEAP32[$19 + 24 >> 2]; - $18 = HEAP32[$19 + 40 >> 2]; - $17 = HEAP32[$19 + 36 >> 2]; - $12 = $17; - $17 = $21; - HEAP32[$17 + 56 >> 2] = $12; - HEAP32[$17 + 60 >> 2] = $18; - HEAP32[$17 - -64 >> 2] = HEAP32[$19 + 44 >> 2]; - $17 = HEAP32[$19 + 32 >> 2]; - $18 = HEAP32[$19 + 28 >> 2]; - $12 = $18; - $18 = $21; - HEAP32[$18 + 48 >> 2] = $12; - HEAP32[$18 + 52 >> 2] = $17; - $15 = $25 - ((Math_imul($9, $22) << 2) + 15 & -16) | 0; - $12 = $15; - __stack_pointer = $12; - $22 = Math_imul(HEAP32[$0 + 8 >> 2], $9) << 2; - $12 = $12 - ($22 + 15 & -16) | 0; - $28 = $12; - __stack_pointer = $12; - $15 = memcpy($15, $5, $22); - $23 = ($2 - $1 | 0) > 10 ? Math_fround(Math_min(Math_fround(Math_fround($11 | 0) * Math_fround(.125)), Math_fround(16))) : Math_fround(16); - $25 = 0; - $24 = Math_clz32($20) + $24 | 0; - $20 = $24 - 29 >>> 0 > $6 >>> 0; - $14 = $20 ? 0 : $14; - $20 = $20 ? 0 : $26; - $22 = $14 | $20; - if (Math_fround(Math_abs($30)) < Math_fround(2147483648)) { - $26 = ~~$30; - } else { - $26 = -2147483648; - } - $23 = $16 ? Math_fround(3) : $23; - $24 = $24 - 32 | 0; - if ($22) { - $25 = quant_coarse_energy_impl($0, $1, $2, $4, $15, $6, $24, Math_imul($10, 84) + 33082 | 0, $12, $8, $9, $10, 1, $23, $16); - } - $27 = Math_fround(Math_min($27, Math_fround(200))); - label$8 : { - label$9 : { - if (!$20) { - $33 = ec_tell_frac($8); - $11 = HEAP32[$8 >> 2]; - HEAP32[$21 + 40 >> 2] = HEAP32[$8 + 20 >> 2]; - $17 = HEAP32[$8 + 12 >> 2]; - $18 = HEAP32[$19 + 16 >> 2]; - $20 = $17; - $17 = $21; - HEAP32[$17 + 32 >> 2] = $20; - HEAP32[$17 + 36 >> 2] = $18; - $17 = HEAP32[$19 + 8 >> 2]; - $18 = HEAP32[$19 + 4 >> 2]; - $20 = $18; - $18 = $21; - HEAP32[$18 + 24 >> 2] = $20; - HEAP32[$18 + 28 >> 2] = $17; - $31 = HEAP32[$19 + 24 >> 2]; - $20 = $19 + 28 | 0; - $19 = $20 + 8 | 0; - $17 = HEAP32[$19 >> 2]; - $18 = HEAP32[$19 + 4 >> 2]; - $19 = $17; - $17 = $21; - HEAP32[$17 + 8 >> 2] = $19; - HEAP32[$17 + 12 >> 2] = $18; - HEAP32[$17 + 16 >> 2] = HEAP32[$20 + 16 >> 2]; - $19 = $20; - $18 = HEAP32[$19 >> 2]; - $17 = HEAP32[$19 + 4 >> 2]; - $19 = $18; - $18 = $21; - HEAP32[$18 >> 2] = $19; - HEAP32[$18 + 4 >> 2] = $17; - $22 = $31 - $3 | 0; - $28 = $28 - (($22 ? $22 : 1) + 15 & -16) | 0; - __stack_pointer = $28; - $32 = $3 + $11 | 0; - $28 = memcpy($28, $32, $22); - $19 = $18; - $17 = HEAP32[$19 + 88 >> 2]; - $18 = HEAP32[$19 + 92 >> 2]; - $29 = $17; - $17 = $8; - HEAP32[$17 + 16 >> 2] = $29; - HEAP32[$17 + 20 >> 2] = $18; - $17 = HEAP32[$19 + 84 >> 2]; - $18 = HEAP32[$19 + 80 >> 2]; - $29 = $18; - $18 = $8; - HEAP32[$18 + 8 >> 2] = $29; - HEAP32[$18 + 12 >> 2] = $17; - $18 = HEAP32[$19 + 76 >> 2]; - $17 = HEAP32[$19 + 72 >> 2]; - $29 = $17; - $17 = $8; - HEAP32[$17 >> 2] = $29; - HEAP32[$17 + 4 >> 2] = $18; - HEAP32[$17 + 24 >> 2] = $3; - HEAP32[$20 + 16 >> 2] = HEAP32[$19 - -64 >> 2]; - $17 = HEAP32[$19 + 60 >> 2]; - $18 = HEAP32[$19 + 56 >> 2]; - $3 = $18; - $18 = $20; - HEAP32[$18 + 8 >> 2] = $3; - HEAP32[$18 + 12 >> 2] = $17; - $18 = HEAP32[$19 + 52 >> 2]; - $17 = HEAP32[$19 + 48 >> 2]; - $3 = $17; - $17 = $20; - HEAP32[$17 >> 2] = $3; - HEAP32[$17 + 4 >> 2] = $18; - $3 = quant_coarse_energy_impl($0, $1, $2, $4, $5, $6, $24, Math_imul($10, 84) + 33040 | 0, $7, $8, $9, $10, 0, $23, $16); - if (!$14) { - break label$9; - } - if (($3 | 0) <= ($25 | 0)) { - if (($3 | 0) != ($25 | 0)) { - break label$9; - } - if ((ec_tell_frac($8) + $26 | 0) <= ($33 | 0)) { - break label$9; - } - } - HEAP32[$8 >> 2] = $11; - $3 = $8 + 4 | 0; - HEAP32[$3 + 16 >> 2] = HEAP32[$21 + 40 >> 2]; - $18 = HEAP32[$21 + 32 >> 2]; - $17 = HEAP32[$19 + 36 >> 2]; - $1 = $18; - $18 = $8; - HEAP32[$18 + 12 >> 2] = $1; - HEAP32[$18 + 16 >> 2] = $17; - $18 = HEAP32[$19 + 28 >> 2]; - $17 = HEAP32[$19 + 24 >> 2]; - $1 = $17; - $17 = $8; - HEAP32[$17 + 4 >> 2] = $1; - HEAP32[$17 + 8 >> 2] = $18; - HEAP32[$17 + 24 >> 2] = $31; - HEAP32[$20 + 16 >> 2] = HEAP32[$19 + 16 >> 2]; - $17 = HEAP32[$19 + 12 >> 2]; - $18 = HEAP32[$19 + 8 >> 2]; - $1 = $18; - $18 = $20; - HEAP32[$18 + 8 >> 2] = $1; - HEAP32[$18 + 12 >> 2] = $17; - $18 = HEAP32[$19 + 4 >> 2]; - $17 = HEAP32[$19 >> 2]; - $1 = $17; - $17 = $20; - HEAP32[$17 >> 2] = $1; - HEAP32[$17 + 4 >> 2] = $18; - memcpy($32, $28, $22); - $3 = $9 << 2; - memcpy($5, $15, Math_imul($3, HEAP32[$0 + 8 >> 2])); - memcpy($7, $12, Math_imul(HEAP32[$0 + 8 >> 2], $3)); - break label$8; - } - $3 = $9 << 2; - memcpy($5, $15, Math_imul($3, HEAP32[$0 + 8 >> 2])); - memcpy($7, $12, Math_imul(HEAP32[$0 + 8 >> 2], $3)); - break label$8; - } - $23 = HEAPF32[($10 << 2) + 33376 >> 2]; - $27 = Math_fround($27 + Math_fround(Math_fround($23 * $23) * HEAPF32[$13 >> 2])); - } - HEAPF32[$13 >> 2] = $27; - __stack_pointer = $21 + 96 | 0; -} -function tonality_get_info($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = Math_fround(0), $6 = 0, $7 = 0, $8 = Math_fround(0), $9 = Math_fround(0), $10 = 0, $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = Math_fround(0), $15 = Math_fround(0), $16 = 0, $17 = Math_fround(0), $18 = Math_fround(0); - $4 = HEAP32[$0 + 8 >> 2]; - $3 = HEAP32[$0 + 7452 >> 2] + (($2 | 0) / (($4 | 0) / 400 | 0) | 0) | 0; - HEAP32[$0 + 7452 >> 2] = $3; - $10 = HEAP32[$0 + 7444 >> 2]; - $12 = HEAP32[$0 + 7448 >> 2]; - $7 = $12; - if (($3 | 0) >= 8) { - $11 = ($3 - (($3 | 0) < 15 ? $3 : 15) | 0) + 7 | 0; - $7 = (($11 >>> 3 | 0) + $12 | 0) + 1 | 0; - HEAP32[$0 + 7448 >> 2] = $7; - HEAP32[$0 + 7452 >> 2] = ($3 - ($11 & -8) | 0) - 8; - } - if (($7 | 0) >= 100) { - HEAP32[$0 + 7448 >> 2] = $7 - 100; - } - $11 = 6; - $3 = $12 + 1 | 0; - $3 = ($10 | 0) == ($12 | 0) ? $12 : (($4 | 0) / 50 | 0) >= ($2 | 0) ? $12 : ($3 | 0) == 100 ? 0 : $3; - $3 = $3 - (($3 | 0) == ($10 | 0)) | 0; - $2 = ($3 | 0) < 0 ? 99 : $3; - $3 = ($2 << 6) + $0 | 0; - $6 = $3 + 7660 | 0; - $7 = HEAP32[$6 >> 2]; - $4 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 56 >> 2] = $7; - HEAP32[$1 + 60 >> 2] = $4; - $6 = $3 + 7652 | 0; - $4 = HEAP32[$6 >> 2]; - $7 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 48 >> 2] = $4; - HEAP32[$1 + 52 >> 2] = $7; - $6 = $3 + 7644 | 0; - $7 = HEAP32[$6 >> 2]; - $4 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 40 >> 2] = $7; - HEAP32[$1 + 44 >> 2] = $4; - $6 = $3 + 7636 | 0; - $4 = HEAP32[$6 >> 2]; - $7 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 32 >> 2] = $4; - HEAP32[$1 + 36 >> 2] = $7; - $6 = $3 + 7628 | 0; - $7 = HEAP32[$6 >> 2]; - $4 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 24 >> 2] = $7; - HEAP32[$1 + 28 >> 2] = $4; - $6 = $3 + 7620 | 0; - $4 = HEAP32[$6 >> 2]; - $7 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 16 >> 2] = $4; - HEAP32[$1 + 20 >> 2] = $7; - $6 = $3 + 7612 | 0; - $7 = HEAP32[$6 >> 2]; - $4 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = $7; - HEAP32[$1 + 12 >> 2] = $4; - $6 = $3 + 7604 | 0; - $4 = HEAP32[$6 >> 2]; - $7 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 >> 2] = $4; - HEAP32[$1 + 4 >> 2] = $7; - if ($4) { - $3 = $10 - $12 | 0; - $10 = ($3 | 0) < 0; - $7 = $3 + 100 | 0; - $5 = HEAPF32[$1 + 4 >> 2]; - $8 = Math_fround(1); - $16 = $2 + 1 | 0; - $4 = ($16 | 0) == 100 ? 0 : $16; - $12 = HEAP32[$0 + 7444 >> 2]; - label$4 : { - if (($4 | 0) == ($12 | 0)) { - $9 = $5; - break label$4; - } - $11 = ($4 << 6) + $0 | 0; - $8 = HEAPF32[$11 + 7608 >> 2]; - $6 = HEAP32[$1 + 32 >> 2]; - $11 = HEAP32[$11 + 7636 >> 2]; - $11 = ($11 | 0) < ($6 | 0) ? $6 : $11; - HEAP32[$1 + 32 >> 2] = $11; - $9 = $5 > $8 ? $5 : $8; - $5 = Math_fround($5 + $8); - $4 = $4 + 1 | 0; - $4 = ($4 | 0) == 100 ? 0 : $4; - if (($12 | 0) == ($4 | 0)) { - $11 = 5; - $8 = Math_fround(2); - break label$4; - } - $6 = ($4 << 6) + $0 | 0; - $8 = HEAPF32[$6 + 7608 >> 2]; - $6 = HEAP32[$6 + 7636 >> 2]; - $11 = ($11 | 0) > ($6 | 0) ? $11 : $6; - HEAP32[$1 + 32 >> 2] = $11; - $9 = $8 < $9 ? $9 : $8; - $5 = Math_fround($5 + $8); - $4 = $4 + 1 | 0; - $4 = ($4 | 0) == 100 ? 0 : $4; - if (($12 | 0) == ($4 | 0)) { - $11 = 4; - $8 = Math_fround(3); - break label$4; - } - $4 = ($4 << 6) + $0 | 0; - $8 = HEAPF32[$4 + 7608 >> 2]; - $4 = HEAP32[$4 + 7636 >> 2]; - HEAP32[$1 + 32 >> 2] = ($4 | 0) < ($11 | 0) ? $11 : $4; - $9 = $8 < $9 ? $9 : $8; - $5 = Math_fround($5 + $8); - $11 = 3; - $8 = Math_fround(4); - } - $6 = $10 ? $7 : $3; - $10 = 0; - $3 = $2; - while (1) { - $3 = ($3 | 0) < 1 ? 99 : $3 - 1 | 0; - if (($12 | 0) != ($3 | 0)) { - $7 = HEAP32[$1 + 32 >> 2]; - $4 = HEAP32[(($3 << 6) + $0 | 0) + 7636 >> 2]; - HEAP32[$1 + 32 >> 2] = ($4 | 0) < ($7 | 0) ? $7 : $4; - $10 = $10 + 1 | 0; - if (($11 | 0) != ($10 | 0)) { - continue; - } - } - break; - } - $5 = Math_fround($5 / $8); - $9 = Math_fround($9 + Math_fround(-.20000000298023224)); - HEAPF32[$1 + 4 >> 2] = $5 > $9 ? $5 : $9; - $10 = $2; - $3 = $10; - if (($6 | 0) >= 16) { - $10 = (($2 | 0) > 94 ? -95 : 5) + $2 | 0; - $16 = $10 + 1 | 0; - $3 = (($2 | 0) > 98 ? -99 : 1) + $2 | 0; - } - $7 = $0 + 7604 | 0; - $17 = HEAPF32[($7 + ($3 << 6) | 0) + 36 >> 2]; - $5 = Math_fround(Math_max($17, Math_fround(.10000000149011612))); - $9 = Math_fround(HEAPF32[(($10 << 6) + $7 | 0) + 20 >> 2] * $5); - $10 = ($16 | 0) == 100 ? 0 : $16; - label$11 : { - if (($12 | 0) == ($10 | 0)) { - $8 = Math_fround(1); - break label$11; - } - $8 = Math_fround(1); - while (1) { - $3 = $3 + 1 | 0; - $3 = ($3 | 0) == 100 ? 0 : $3; - if (($12 | 0) == ($3 | 0)) { - break label$11; - } - $13 = HEAPF32[(($3 << 6) + $7 | 0) + 36 >> 2]; - $15 = Math_fround(Math_fround($17 - $13) * Math_fround(10)); - $18 = Math_fround(Math_fround($9 + $15) / $5); - $14 = $14 < $18 ? $18 : $14; - $15 = Math_fround(Math_fround($9 - $15) / $5); - $8 = $8 > $15 ? $15 : $8; - $13 = Math_fround(Math_max($13, Math_fround(.10000000149011612))); - $9 = Math_fround($9 + Math_fround(HEAPF32[(($10 << 6) + $7 | 0) + 20 >> 2] * $13)); - $5 = Math_fround($5 + $13); - $10 = $10 + 1 | 0; - $10 = ($10 | 0) == 100 ? 0 : $10; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - $5 = Math_fround($9 / $5); - HEAPF32[$1 + 20 >> 2] = $5; - $9 = $5 > $14 ? $5 : $14; - $14 = $9 < Math_fround(1) ? $9 : Math_fround(1); - $5 = $5 < $8 ? $5 : $8; - $13 = $5 > Math_fround(0) ? $5 : Math_fround(0); - if (($6 | 0) <= 9) { - $9 = $13; - $8 = $14; - $3 = HEAP32[$0 + 7436 >> 2]; - if (($3 | 0) >= 2) { - $3 = ($3 | 0) > 15 ? 15 : $3 - 1 | 0; - $12 = ($3 | 0) > 1 ? $3 : 1; - $3 = 0; - while (1) { - $2 = ($2 | 0) < 1 ? 99 : $2 - 1 | 0; - $5 = HEAPF32[(($2 << 6) + $0 | 0) + 7624 >> 2]; - $8 = $5 < $8 ? $8 : $5; - $9 = $5 > $9 ? $9 : $5; - $3 = $3 + 1 | 0; - if (($12 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $5 = Math_fround(Math_fround(1) - Math_fround(Math_fround($6 | 0) * Math_fround(.10000000149011612))); - $15 = Math_fround($17 * Math_fround(.10000000149011612)); - $14 = Math_fround($14 + Math_fround($5 * Math_fround(Math_fround(Math_min(Math_fround($15 + $8), Math_fround(1))) - $14))); - $13 = Math_fround($13 + Math_fround($5 * Math_fround(Math_fround(Math_max(Math_fround($9 - $15), Math_fround(0))) - $13))); - } - HEAPF32[$1 + 28 >> 2] = $14; - HEAPF32[$1 + 24 >> 2] = $13; - } -} -function silk_NLSF2A($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - $6 = __stack_pointer - 320 | 0; - __stack_pointer = $6; - label$1 : { - switch ($2 - 10 | 0) { - default: - celt_fatal(15418, 15451, 89); - abort(); - case 0: - case 6: - break label$1; - } - } - $12 = ($2 | 0) == 16 ? 15392 : 15408; - while (1) { - $8 = HEAP16[($5 << 1) + $1 >> 1]; - $7 = $8 >> 8 << 1; - $3 = HEAP16[$7 + 15122 >> 1]; - $7 = HEAP16[$7 + 15120 >> 1]; - HEAP32[($6 + 224 | 0) + (HEAPU8[$5 + $12 | 0] << 2) >> 2] = (Math_imul($3 - $7 | 0, $8 & 255) + ($7 << 8) >> 3) + 1 >> 1; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - $7 = 65536; - HEAP32[$6 + 160 >> 2] = 65536; - $1 = 0 - HEAP32[$6 + 224 >> 2] | 0; - HEAP32[$6 + 164 >> 2] = $1; - $5 = 1; - $19 = $2 >> 1; - label$4 : { - $20 = ($2 | 0) < 4; - if ($20) { - break label$4; - } - while (1) { - $17 = HEAP32[($6 + 224 | 0) + ($5 << 3) >> 2]; - $3 = $17; - $4 = $3 >> 31; - $14 = $3; - $15 = $4; - $3 = $1; - $4 = $3 >> 31; - $3 = $4; - $13 = $5 + 1 | 0; - $18 = ($6 + 160 | 0) + ($13 << 2) | 0; - $4 = $15; - $3 = __wasm_i64_mul($14, $4, $1, $3); - $9 = $3; - $4 = i64toi32_i32$HIGH_BITS; - $3 = $4 >>> 15 | 0; - $4 = ($4 & 32767) << 17 | $9 >>> 15; - $10 = $4 + 1 | 0; - $11 = $10 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $10; - HEAP32[$18 >> 2] = ($7 << 1) - (($11 & 1) << 31 | $3 >>> 1); - $8 = $5 << 2; - $16 = $8 + ($6 + 160 | 0) | 0; - label$6 : { - if ($5 >>> 0 < 2) { - break label$6; - } - $8 = HEAP32[($6 + $8 | 0) + 152 >> 2]; - $1 = $8 + $1 | 0; - $3 = $7; - $4 = $3 >> 31; - $3 = $15; - $3 = __wasm_i64_mul($7, $4, $14, $3); - $11 = $3; - $4 = i64toi32_i32$HIGH_BITS; - $3 = $4 >>> 15 | 0; - $4 = ($4 & 32767) << 17 | $11 >>> 15; - $9 = $4 + 1 | 0; - $10 = $9 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $9; - HEAP32[$16 >> 2] = $1 - (($10 & 1) << 31 | $3 >>> 1); - if (($5 | 0) == 2) { - break label$6; - } - while (1) { - $7 = $5 - 1 | 0; - $1 = ($6 + 160 | 0) + ($7 << 2) | 0; - $12 = HEAP32[(($5 << 2) + $6 | 0) + 148 >> 2]; - $21 = $12 + HEAP32[$1 >> 2] | 0; - $3 = $8; - $4 = $3 >> 31; - $3 = $15; - $3 = __wasm_i64_mul($8, $4, $14, $3); - $10 = $3; - $4 = i64toi32_i32$HIGH_BITS; - $3 = $4 >>> 15 | 0; - $4 = ($4 & 32767) << 17 | $10 >>> 15; - $11 = $4 + 1 | 0; - $9 = $11 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $11; - HEAP32[$1 >> 2] = $21 - (($9 & 1) << 31 | $3 >>> 1); - $1 = ($5 | 0) > 3; - $5 = $7; - $8 = $12; - if ($1) { - continue; - } - break; - } - } - HEAP32[$6 + 164 >> 2] = HEAP32[$6 + 164 >> 2] - $17; - if (($13 | 0) == ($19 | 0)) { - break label$4; - } - $1 = HEAP32[$18 >> 2]; - $7 = HEAP32[$16 >> 2]; - $5 = $13; - continue; - } - } - $7 = 65536; - HEAP32[$6 + 96 >> 2] = 65536; - $1 = 0 - HEAP32[$6 + 228 >> 2] | 0; - HEAP32[$6 + 100 >> 2] = $1; - label$8 : { - if ($20) { - break label$8; - } - $20 = $6 + 224 | 4; - $5 = 1; - while (1) { - $17 = HEAP32[($5 << 3) + $20 >> 2]; - $3 = $17; - $4 = $3 >> 31; - $14 = $3; - $15 = $4; - $3 = $1; - $4 = $3 >> 31; - $3 = $4; - $13 = $5 + 1 | 0; - $18 = ($6 + 96 | 0) + ($13 << 2) | 0; - $4 = $15; - $3 = __wasm_i64_mul($14, $4, $1, $3); - $9 = $3; - $4 = i64toi32_i32$HIGH_BITS; - $3 = $4 >>> 15 | 0; - $4 = ($4 & 32767) << 17 | $9 >>> 15; - $10 = $4 + 1 | 0; - $11 = $10 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $10; - HEAP32[$18 >> 2] = ($7 << 1) - (($11 & 1) << 31 | $3 >>> 1); - $8 = $5 << 2; - $16 = $8 + ($6 + 96 | 0) | 0; - label$10 : { - if ($5 >>> 0 < 2) { - break label$10; - } - $8 = HEAP32[($6 + $8 | 0) + 88 >> 2]; - $1 = $8 + $1 | 0; - $3 = $7; - $4 = $3 >> 31; - $3 = $15; - $3 = __wasm_i64_mul($7, $4, $14, $3); - $11 = $3; - $4 = i64toi32_i32$HIGH_BITS; - $3 = $4 >>> 15 | 0; - $4 = ($4 & 32767) << 17 | $11 >>> 15; - $9 = $4 + 1 | 0; - $10 = $9 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $9; - HEAP32[$16 >> 2] = $1 - (($10 & 1) << 31 | $3 >>> 1); - if (($5 | 0) == 2) { - break label$10; - } - while (1) { - $7 = $5 - 1 | 0; - $1 = ($6 + 96 | 0) + ($7 << 2) | 0; - $12 = HEAP32[(($5 << 2) + $6 | 0) + 84 >> 2]; - $21 = $12 + HEAP32[$1 >> 2] | 0; - $3 = $8; - $4 = $3 >> 31; - $3 = $15; - $3 = __wasm_i64_mul($8, $4, $14, $3); - $10 = $3; - $4 = i64toi32_i32$HIGH_BITS; - $3 = $4 >>> 15 | 0; - $4 = ($4 & 32767) << 17 | $10 >>> 15; - $11 = $4 + 1 | 0; - $9 = $11 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $11; - HEAP32[$1 >> 2] = $21 - (($9 & 1) << 31 | $3 >>> 1); - $1 = ($5 | 0) > 3; - $5 = $7; - $8 = $12; - if ($1) { - continue; - } - break; - } - } - HEAP32[$6 + 100 >> 2] = HEAP32[$6 + 100 >> 2] - $17; - if (($13 | 0) == ($19 | 0)) { - break label$8; - } - $1 = HEAP32[$18 >> 2]; - $7 = HEAP32[$16 >> 2]; - $5 = $13; - continue; - } - } - if (($2 | 0) >= 2) { - $16 = ($19 | 0) > 1 ? $19 : 1; - $7 = HEAP32[$6 + 96 >> 2]; - $1 = HEAP32[$6 + 160 >> 2]; - $5 = 0; - while (1) { - $8 = $5 + 1 | 0; - $12 = $8 << 2; - $13 = HEAP32[$12 + ($6 + 96 | 0) >> 2]; - $7 = $13 - $7 | 0; - $12 = HEAP32[($6 + 160 | 0) + $12 >> 2]; - $1 = $12 + $1 | 0; - HEAP32[($5 << 2) + $6 >> 2] = 0 - ($7 + $1 | 0); - HEAP32[(($5 ^ -1) + $2 << 2) + $6 >> 2] = $7 - $1; - $7 = $13; - $1 = $12; - $5 = $8; - if (($16 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - silk_LPC_fit($0, $6, 12, 17, $2); - label$14 : { - if (silk_LPC_inverse_pred_gain_c($0, $2)) { - break label$14; - } - $8 = 0; - while (1) { - silk_bwexpander_32($6, $2, (-2 << $8) + 65536 | 0); - $5 = 0; - while (1) { - HEAP16[($5 << 1) + $0 >> 1] = (HEAP32[($5 << 2) + $6 >> 2] >>> 4 | 0) + 1 >>> 1; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - $5 = silk_LPC_inverse_pred_gain_c($0, $2); - if ($8 >>> 0 > 14) { - break label$14; - } - $8 = $8 + 1 | 0; - if (!$5) { - continue; - } - break; - } - } - __stack_pointer = $6 + 320 | 0; -} -function celt_pitch_xcorr_c($0, $1, $2, $3, $4, $5) { - var $6 = Math_fround(0), $7 = 0, $8 = Math_fround(0), $9 = 0, $10 = 0, $11 = 0, $12 = Math_fround(0), $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = 0, $18 = Math_fround(0), $19 = 0, $20 = Math_fround(0), $21 = Math_fround(0), $22 = Math_fround(0), $23 = Math_fround(0), $24 = Math_fround(0), $25 = Math_fround(0), $26 = Math_fround(0), $27 = Math_fround(0), $28 = Math_fround(0), $29 = 0, $30 = 0, $31 = Math_fround(0), $32 = 0, $33 = 0, $34 = 0; - if (($4 | 0) >= 1) { - label$2 : { - if (($4 | 0) < 4) { - break label$2; - } - if (($3 | 0) >= 3) { - $32 = $4 - 3 | 0; - $19 = $3 - 3 | 0; - $33 = ($3 | 0) == 3; - $29 = $3 & -4; - $30 = $29 | 1; - $34 = ($30 + 1 | 0) >= ($3 | 0); - while (1) { - $17 = $11 << 2; - $5 = $17 + $1 | 0; - $7 = $5 + 12 | 0; - $8 = HEAPF32[$5 + 8 >> 2]; - $18 = HEAPF32[$5 + 4 >> 2]; - $16 = HEAPF32[$5 >> 2]; - $12 = Math_fround(0); - $25 = Math_fround(0); - $26 = Math_fround(0); - $27 = Math_fround(0); - $5 = $0; - $10 = 0; - $9 = 0; - $13 = 0; - $14 = 0; - $15 = 0; - if (!$33) { - while (1) { - $20 = HEAPF32[$5 >> 2]; - $6 = HEAPF32[$7 >> 2]; - $21 = HEAPF32[$5 + 4 >> 2]; - $22 = HEAPF32[$7 + 4 >> 2]; - $23 = HEAPF32[$5 + 8 >> 2]; - $28 = HEAPF32[$7 + 8 >> 2]; - $24 = HEAPF32[$5 + 12 >> 2]; - $31 = HEAPF32[$7 + 12 >> 2]; - $12 = Math_fround(Math_fround(Math_fround(Math_fround($12 + Math_fround($20 * $6)) + Math_fround($21 * $22)) + Math_fround($23 * $28)) + Math_fround($24 * $31)); - $25 = Math_fround(Math_fround(Math_fround(Math_fround($25 + Math_fround($8 * $20)) + Math_fround($6 * $21)) + Math_fround($22 * $23)) + Math_fround($28 * $24)); - $26 = Math_fround(Math_fround(Math_fround(Math_fround($26 + Math_fround($18 * $20)) + Math_fround($8 * $21)) + Math_fround($6 * $23)) + Math_fround($22 * $24)); - $27 = Math_fround(Math_fround(Math_fround(Math_fround($27 + Math_fround($16 * $20)) + Math_fround($18 * $21)) + Math_fround($8 * $23)) + Math_fround($6 * $24)); - $7 = $7 + 16 | 0; - $5 = $5 + 16 | 0; - $16 = $22; - $8 = $31; - $18 = $28; - $10 = $10 + 4 | 0; - if (($19 | 0) > ($10 | 0)) { - continue; - } - break; - } - $13 = (wasm2js_scratch_store_f32($26), wasm2js_scratch_load_i32(2)); - $14 = (wasm2js_scratch_store_f32($25), wasm2js_scratch_load_i32(2)); - $15 = (wasm2js_scratch_store_f32($12), wasm2js_scratch_load_i32(2)); - $12 = $6; - $9 = (wasm2js_scratch_store_f32($27), wasm2js_scratch_load_i32(2)); - } - label$7 : { - if (($3 | 0) <= ($29 | 0)) { - break label$7; - } - $6 = HEAPF32[$5 >> 2]; - $12 = HEAPF32[$7 >> 2]; - $15 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($6 * $12) + (wasm2js_scratch_store_i32(2, $15), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $14 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($8 * $6) + (wasm2js_scratch_store_i32(2, $14), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $13 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($18 * $6) + (wasm2js_scratch_store_i32(2, $13), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $9 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($16 * $6) + (wasm2js_scratch_store_i32(2, $9), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $7 = $7 + 4 | 0; - $5 = $5 + 4 | 0; - } - $10 = $7; - label$9 : { - if (($3 | 0) <= ($30 | 0)) { - $7 = $10; - break label$9; - } - $6 = HEAPF32[$5 >> 2]; - $16 = HEAPF32[$10 >> 2]; - $15 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($6 * $16) + (wasm2js_scratch_store_i32(2, $15), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $14 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($12 * $6) + (wasm2js_scratch_store_i32(2, $14), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $13 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($8 * $6) + (wasm2js_scratch_store_i32(2, $13), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $9 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($18 * $6) + (wasm2js_scratch_store_i32(2, $9), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $5 = $5 + 4 | 0; - $7 = $10 + 4 | 0; - } - if (!$34) { - $6 = HEAPF32[$5 >> 2]; - $15 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($6 * HEAPF32[$7 >> 2]) + (wasm2js_scratch_store_i32(2, $15), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $14 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($16 * $6) + (wasm2js_scratch_store_i32(2, $14), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $13 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($12 * $6) + (wasm2js_scratch_store_i32(2, $13), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $9 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($8 * $6) + (wasm2js_scratch_store_i32(2, $9), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - } - HEAP32[$2 + $17 >> 2] = $9; - HEAP32[($17 | 4) + $2 >> 2] = $13; - HEAP32[($17 | 8) + $2 >> 2] = $14; - HEAP32[($17 | 12) + $2 >> 2] = $15; - $11 = $11 + 4 | 0; - if (($32 | 0) > ($11 | 0)) { - continue; - } - break; - } - break label$2; - } - celt_fatal(9872, 9897, 69); - abort(); - } - if (($4 | 0) > ($11 | 0)) { - $9 = ($3 | 0) < 1; - while (1) { - $19 = $11 << 2; - $8 = Math_fround(0); - if (!$9) { - $10 = $1 + $19 | 0; - $7 = 0; - while (1) { - $5 = $7 << 2; - $8 = Math_fround($8 + Math_fround(HEAPF32[$5 + $0 >> 2] * HEAPF32[$5 + $10 >> 2])); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - HEAPF32[$2 + $19 >> 2] = $8; - $11 = $11 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(9738, 9768, 251); - abort(); -} -function quant_band_stereo($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { - var $11 = Math_fround(0), $12 = 0, $13 = 0, $14 = 0, $15 = Math_fround(0), $16 = 0, $17 = 0, $18 = Math_fround(0), $19 = Math_fround(0), $20 = 0, $21 = 0, $22 = 0, $23 = Math_fround(0); - $12 = __stack_pointer - 32 | 0; - __stack_pointer = $12; - HEAP32[$12 + 24 >> 2] = $10; - HEAP32[$12 + 28 >> 2] = $4; - $4 = HEAP32[$0 + 28 >> 2]; - $16 = HEAP32[$0 >> 2]; - label$1 : { - if (($3 | 0) == 1) { - $3 = 0; - $10 = HEAP32[$0 + 32 >> 2]; - if (($10 | 0) >= 8) { - label$4 : { - if ($16) { - $3 = HEAPF32[$1 >> 2] < Math_fround(0); - ec_enc_bits($4, $3, 1); - break label$4; - } - $3 = ec_dec_bits($4, 1); - } - $10 = HEAP32[$0 + 32 >> 2] - 8 | 0; - HEAP32[$0 + 32 >> 2] = $10; - } - if (HEAP32[$0 + 4 >> 2]) { - HEAPF32[$1 >> 2] = $3 ? Math_fround(-1) : Math_fround(1); - } - if ($2) { - $3 = $2 ? 2 : 1; - $7 = $3 >>> 0 > 1 ? $3 : 1; - $5 = 1; - while (1) { - $3 = 0; - if (($10 | 0) >= 8) { - label$10 : { - if ($16) { - $3 = HEAPF32[$2 >> 2] < Math_fround(0); - ec_enc_bits($4, $3, 1); - break label$10; - } - $3 = ec_dec_bits($4, 1); - } - $10 = HEAP32[$0 + 32 >> 2] - 8 | 0; - HEAP32[$0 + 32 >> 2] = $10; - } - if (HEAP32[$0 + 4 >> 2]) { - HEAPF32[$2 >> 2] = $3 ? Math_fround(-1) : Math_fround(1); - } - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $7 = 1; - if (!$8) { - break label$1; - } - HEAP32[$8 >> 2] = HEAP32[$1 >> 2]; - break label$1; - } - compute_theta($0, $12, $1, $2, $3, $12 + 28 | 0, $5, $5, $7, 1, $12 + 24 | 0); - $11 = Math_fround(Math_fround(HEAP32[$12 + 8 >> 2]) * Math_fround(30517578125e-15)); - $19 = Math_fround(Math_fround(HEAP32[$12 + 4 >> 2]) * Math_fround(30517578125e-15)); - $14 = HEAP32[$12 + 28 >> 2]; - $17 = HEAP32[$12 + 20 >> 2]; - $13 = HEAP32[$12 + 16 >> 2]; - $22 = HEAP32[$12 >> 2]; - label$13 : { - if (($3 | 0) == 2) { - $21 = $13 & -16385; - $20 = (($21 | 0) != 0) << 3; - HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] - ($20 + $17 | 0); - $13 = ($13 | 0) > 8192; - $17 = $13 ? $1 : $2; - $13 = $13 ? $2 : $1; - $20 = $14 - $20 | 0; - $14 = 0; - label$15 : { - if (!$21) { - break label$15; - } - if ($16) { - $14 = Math_fround(Math_fround(HEAPF32[$13 >> 2] * HEAPF32[$17 + 4 >> 2]) - Math_fround(HEAPF32[$13 + 4 >> 2] * HEAPF32[$17 >> 2])) < Math_fround(0); - ec_enc_bits($4, $14, 1); - break label$15; - } - $14 = ec_dec_bits($4, 1); - } - $7 = quant_band($0, $13, 2, $20, $5, $6, $7, $8, Math_fround(1), $9, $10); - $5 = 1 - ($14 << 1) | 0; - HEAPF32[$17 >> 2] = HEAPF32[$13 + 4 >> 2] * Math_fround(0 - $5 | 0); - HEAPF32[$17 + 4 >> 2] = HEAPF32[$13 >> 2] * Math_fround($5 | 0); - if (!HEAP32[$0 + 4 >> 2]) { - break label$13; - } - HEAPF32[$1 >> 2] = $19 * HEAPF32[$1 >> 2]; - HEAPF32[$1 + 4 >> 2] = $19 * HEAPF32[$1 + 4 >> 2]; - $15 = Math_fround($11 * HEAPF32[$2 >> 2]); - HEAPF32[$2 >> 2] = $15; - HEAPF32[$2 + 4 >> 2] = $11 * HEAPF32[$2 + 4 >> 2]; - $11 = HEAPF32[$1 >> 2]; - HEAPF32[$1 >> 2] = $11 - $15; - HEAPF32[$2 >> 2] = $11 + HEAPF32[$2 >> 2]; - $11 = HEAPF32[$1 + 4 >> 2]; - HEAPF32[$1 + 4 >> 2] = $11 - HEAPF32[$2 + 4 >> 2]; - HEAPF32[$2 + 4 >> 2] = $11 + HEAPF32[$2 + 4 >> 2]; - break label$13; - } - $10 = HEAP32[$12 + 12 >> 2]; - $17 = HEAP32[$0 + 32 >> 2] - $17 | 0; - HEAP32[$0 + 32 >> 2] = $17; - $4 = HEAP32[$12 + 24 >> 2]; - $10 = ($14 - $10 | 0) / 2 | 0; - $10 = ($10 | 0) > ($14 | 0) ? $14 : $10; - $10 = ($10 | 0) > 0 ? $10 : 0; - $16 = $14 - $10 | 0; - if (($10 | 0) >= ($16 | 0)) { - $6 = quant_band($0, $1, $3, $10, $5, $6, $7, $8, Math_fround(1), $9, $4); - $10 = (HEAP32[$0 + 32 >> 2] - $17 | 0) + $10 | 0; - $7 = $6 | quant_band($0, $2, $3, ($13 ? ($10 | 0) > 24 ? $10 - 24 | 0 : 0 : 0) + $16 | 0, $5, 0, $7, 0, $11, 0, $4 >> $5); - break label$13; - } - $14 = quant_band($0, $2, $3, $16, $5, 0, $7, 0, $11, 0, $4 >> $5); - $16 = (HEAP32[$0 + 32 >> 2] - $17 | 0) + $16 | 0; - $7 = $14 | quant_band($0, $1, $3, (($13 | 0) != 16384 ? ($16 | 0) > 24 ? $16 - 24 | 0 : 0 : 0) + $10 | 0, $5, $6, $7, $8, Math_fround(1), $9, $4); - } - if (!HEAP32[$0 + 4 >> 2]) { - break label$1; - } - label$18 : { - if (($3 | 0) == 2) { - break label$18; - } - $15 = Math_fround(0); - if (($3 | 0) >= 1) { - $0 = 0; - while (1) { - $5 = $0 << 2; - $11 = HEAPF32[$5 + $2 >> 2]; - $18 = Math_fround($18 + Math_fround($11 * HEAPF32[$1 + $5 >> 2])); - $15 = Math_fround($15 + Math_fround($11 * $11)); - $0 = $0 + 1 | 0; - if (($3 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - label$22 : { - $15 = Math_fround(Math_fround($19 * $19) + $15); - $11 = Math_fround($19 * $18); - $11 = Math_fround($11 + $11); - $18 = Math_fround($15 + $11); - if (!($18 < Math_fround(.0006000000284984708))) { - $11 = Math_fround($15 - $11); - if ($11 < Math_fround(.0006000000284984708) ^ 1) { - break label$22; - } - } - memcpy($2, $1, $3 << 2); - break label$18; - } - if (($3 | 0) < 1) { - break label$1; - } - $18 = Math_fround(Math_fround(1) / Math_fround(Math_sqrt($18))); - $23 = Math_fround(Math_fround(1) / Math_fround(Math_sqrt($11))); - $0 = 0; - while (1) { - $5 = $0 << 2; - $10 = $5 + $1 | 0; - $11 = Math_fround($19 * HEAPF32[$10 >> 2]); - $5 = $2 + $5 | 0; - $15 = HEAPF32[$5 >> 2]; - HEAPF32[$10 >> 2] = $23 * Math_fround($11 - $15); - HEAPF32[$5 >> 2] = $18 * Math_fround($11 + $15); - $0 = $0 + 1 | 0; - if (($3 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - if (!$22 | ($3 | 0) < 1) { - break label$1; - } - $0 = 0; - while (1) { - $5 = ($0 << 2) + $2 | 0; - HEAPF32[$5 >> 2] = -HEAPF32[$5 >> 2]; - $0 = $0 + 1 | 0; - if (($3 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $12 + 32 | 0; - return $7; -} -function silk_LPC_inverse_pred_gain_c($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - $13 = __stack_pointer - 96 | 0; - label$1 : { - if (($1 | 0) >= 1) { - while (1) { - $8 = HEAP16[($6 << 1) + $0 >> 1]; - HEAP32[($6 << 2) + $13 >> 2] = $8 << 12; - $10 = $8 + $10 | 0; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($1 | 0)) { - continue; - } - break; - } - if (($10 | 0) > 4095) { - break label$1; - } - } - $10 = $1 - 1 | 0; - $8 = HEAP32[($10 << 2) + $13 >> 2]; - $6 = $8 + 16773022 >>> 0 > 33546044; - $9 = 1073741824; - if (($1 | 0) >= 2) { - while (1) { - if ($6 & 1) { - return 0; - } - $7 = 0 - ($8 << 7) | 0; - $3 = $7 >> 31; - $12 = $7; - $17 = $3; - $7 = __wasm_i64_mul($12, $3, $12, $3); - $3 = i64toi32_i32$HIGH_BITS; - $6 = 1073741824 - $3 | 0; - $2 = $6; - $7 = $2 >> 31; - $2 = $7; - $7 = $11; - $2 = __wasm_i64_mul($9, $7, $6, $2); - $3 = $2; - $7 = i64toi32_i32$HIGH_BITS; - $18 = (($7 & 1073741823) << 2 | $3 >>> 30) & -4; - if (($18 | 0) < 107374) { - break label$1; - } - $15 = $10; - $10 = 0; - $8 = $6 >> 31; - $16 = Math_clz32($8 ^ $6 + $8); - $8 = $6 << $16 - 1; - $0 = $8 >> 16; - $6 = 536870911 / ($0 | 0) | 0; - $3 = ($6 >> 15) + 1 >> 1; - $14 = $6 << 16; - $6 = $14 >> 16; - $8 = 0 - ((Math_imul($6, $8 & 65535) >> 16) + Math_imul($0, $6) << 3) | 0; - $3 = ((Math_imul($8, $3) + $14 | 0) + Math_imul($8 >> 16, $6) | 0) + (Math_imul($8 & 65528, $6) >> 16) | 0; - $2 = $3 >> 31; - $19 = $3; - $20 = $2; - $6 = $1 >>> 1 | 0; - $23 = $6 >>> 0 > 1 ? $6 : 1; - $21 = 31 - $16 | 0; - while (1) { - $14 = ($10 << 2) + $13 | 0; - $6 = HEAP32[$14 >> 2]; - $22 = (($10 ^ -1) + $15 << 2) + $13 | 0; - $8 = HEAP32[$22 >> 2]; - $3 = $8; - $2 = $3 >> 31; - $3 = $17; - $3 = __wasm_i64_mul($8, $2, $12, $3); - $7 = $3; - $2 = i64toi32_i32$HIGH_BITS; - $3 = $2 >>> 30 | 0; - $2 = ($2 & 1073741823) << 2 | $7 >>> 30; - $4 = $2 + 1 | 0; - $1 = $4 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $4; - $1 = ($1 & 1) << 31 | $3 >>> 1; - $0 = $6 - $1 | 0; - $3 = $0; - $0 = ($0 | 0) > -1; - $3 = ((($0 ? $1 : $6) ^ -2147483648) & ($0 ? $6 : $1)) > -1 ? $3 : $0 ? -2147483648 : 2147483647; - $2 = $3 >> 31; - $0 = $3; - $3 = $20; - $3 = __wasm_i64_mul($0, $2, $19, $3); - $9 = $3; - $2 = i64toi32_i32$HIGH_BITS; - $11 = $2; - $1 = $3; - $7 = $3 & 1; - $3 = 0; - $4 = $3; - $3 = $2; - $2 = $1; - $5 = ($3 & 1) << 31 | $2 >>> 1; - $0 = ($16 | 0) != 31; - $1 = $3 >> 1; - $2 = $1; - $1 = $4; - $4 = $2 + $1 | 0; - $3 = $7; - $7 = $3 + $5 | 0; - $4 = $7 >>> 0 < $5 >>> 0 ? $4 + 1 | 0 : $4; - $1 = $7; - label$8 : { - if (!$0) { - break label$8; - } - $4 = $11; - $1 = $9; - $5 = $21; - $2 = $5 & 31; - if (($5 & 63) >>> 0 >= 32) { - $3 = $4 >> 31; - $4 = $4 >> $2; - } else { - $3 = $4 >> $2; - $4 = ((1 << $2) - 1 & $4) << 32 - $2 | $1 >>> $2; - } - $2 = $4 + 1 | 0; - $7 = $2 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $2; - $1 = ($7 & 1) << 31 | $3 >>> 1; - $4 = $7 >> 1; - } - $2 = $4; - $9 = $1; - $7 = $9; - $1 = $7 - -2147483648 | 0; - $2 = $1 >>> 0 < 2147483648 ? $2 + 1 | 0 : $2; - if ($2) { - break label$1; - } - HEAP32[$14 >> 2] = $9; - $2 = $6; - $4 = $2 >> 31; - $2 = $17; - $2 = __wasm_i64_mul($6, $4, $12, $2); - $5 = $2; - $4 = i64toi32_i32$HIGH_BITS; - $2 = $4 >>> 30 | 0; - $4 = ($4 & 1073741823) << 2 | $5 >>> 30; - $3 = $4 + 1 | 0; - $1 = $3 >>> 0 < 1 ? $2 + 1 | 0 : $2; - $2 = $3; - $6 = ($1 & 1) << 31 | $2 >>> 1; - $1 = $8 - $6 | 0; - $3 = $1; - $1 = ($1 | 0) > -1; - $2 = ((($1 ? $6 : $8) ^ -2147483648) & ($1 ? $8 : $6)) > -1 ? $3 : $1 ? -2147483648 : 2147483647; - $4 = $2 >> 31; - $1 = $2; - $2 = $20; - $2 = __wasm_i64_mul($1, $4, $19, $2); - $9 = $2; - $4 = i64toi32_i32$HIGH_BITS; - $11 = $4; - if ($0) { - $4 = $11; - $1 = $9; - $7 = $21; - $5 = $7 & 31; - if (($7 & 63) >>> 0 >= 32) { - $2 = $4 >> 31; - $4 = $4 >> $5; - } else { - $2 = $4 >> $5; - $4 = ((1 << $5) - 1 & $4) << 32 - $5 | $1 >>> $5; - } - $5 = $4 + 1 | 0; - $3 = $5 >>> 0 < 1 ? $2 + 1 | 0 : $2; - $2 = $5; - $9 = ($3 & 1) << 31 | $2 >>> 1; - $4 = $3 >> 1; - $5 = $4; - } else { - $3 = $9; - $1 = $3 & 1; - $2 = 0; - $0 = $2; - $4 = $11; - $2 = $4; - $7 = ($2 & 1) << 31 | $3 >>> 1; - $3 = $2 >> 1; - $4 = $3; - $3 = $0; - $5 = $3 + $4 | 0; - $2 = $1; - $1 = $7 + $2 | 0; - $9 = $1; - $5 = $1 >>> 0 < $7 >>> 0 ? $5 + 1 | 0 : $5; - } - $11 = $5; - $3 = $9; - $4 = $3 - -2147483648 | 0; - $1 = $4 >>> 0 < 2147483648 ? $5 + 1 | 0 : $5; - $3 = 0; - if ($1) { - break label$1; - } - HEAP32[$22 >> 2] = $9; - $10 = $10 + 1 | 0; - if (($23 | 0) != ($10 | 0)) { - continue; - } - break; - } - $10 = $15 - 1 | 0; - $8 = HEAP32[($10 << 2) + $13 >> 2]; - $6 = $8 + 16773022 >>> 0 > 33546044; - $1 = $18; - $5 = $1 >> 31; - $9 = $1; - $11 = $5; - $1 = $15; - if (($1 | 0) > 1) { - continue; - } - break; - } - } - if ($6) { - break label$1; - } - $1 = 0 - (HEAP32[$13 >> 2] << 7) | 0; - $5 = $1 >> 31; - $12 = $1; - $1 = __wasm_i64_mul($12, $5, $12, $5); - $2 = 0 - 0 | 0; - $5 = i64toi32_i32$HIGH_BITS; - $1 = $5 & 2147483647; - $4 = $1 + (($3 | 0) != 0) | 0; - $4 = 1073741824 - $4 | 0; - $5 = $4 >> 31; - $1 = $11; - $1 = __wasm_i64_mul($4, $5, $9, $1); - $4 = $1; - $5 = i64toi32_i32$HIGH_BITS; - $6 = (($5 & 1073741823) << 2 | $4 >>> 30) & -4; - $24 = ($6 | 0) < 107374 ? 0 : $6; - } - return $24; -} -function opus_packet_parse_impl($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - $15 = -1; - label$1 : { - if (!$5 | ($1 | 0) < 0) { - break label$1; - } - $15 = -4; - if (!$1) { - break label$1; - } - $16 = HEAPU8[$0 | 0]; - label$2 : { - if ($16 & 128) { - $11 = (48e3 << ($16 >>> 3 & 3) >>> 0) / 400 | 0; - break label$2; - } - $11 = $16 & 8 ? 960 : 480; - if (($16 & 96) == 96) { - break label$2; - } - $9 = $16 >>> 3 & 3; - $11 = 2880; - if (($9 | 0) == 3) { - break label$2; - } - $11 = (48e3 << $9 >>> 0) / 100 | 0; - } - $10 = 1; - $9 = $0 + 1 | 0; - $8 = $1 - 1 | 0; - $12 = $8; - $13 = $16 & 3; - $17 = $13; - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - switch ($13 | 0) { - case 1: - if ($2) { - $10 = 2; - $13 = 1; - $17 = 0; - $12 = $8; - break label$6; - } - if ($8 & 1) { - break label$1; - } - $12 = $8 >>> 1 | 0; - HEAP16[$5 >> 1] = $12; - $10 = 2; - $17 = 0; - break label$5; - case 2: - if (($1 | 0) <= 1) { - HEAP16[$5 >> 1] = 65535; - return -4; - } - $13 = HEAPU8[$9 | 0]; - if ($13 >>> 0 >= 252) { - $10 = 2; - if (($1 | 0) <= 2) { - HEAP16[$5 >> 1] = 65535; - return -4; - } - $13 = (HEAPU8[$0 + 2 | 0] << 2) + $13 | 0; - } - HEAP16[$5 >> 1] = $13; - $8 = $8 - $10 | 0; - if (($13 | 0) > ($8 | 0)) { - break label$1; - } - $12 = $8 - $13 | 0; - $9 = $9 + $10 | 0; - $13 = 0; - $10 = 2; - $17 = 0; - break label$7; - case 0: - break label$7; - default: - break label$8; - } - } - if (($1 | 0) < 2) { - break label$1; - } - $14 = HEAPU8[$0 + 1 | 0]; - $10 = $14 & 63; - if (!$10 | Math_imul($10, $11) >>> 0 > 5760) { - break label$1; - } - $13 = $0 + 2 | 0; - $1 = $1 - 2 | 0; - $17 = 0; - label$15 : { - if (!($14 & 64)) { - $9 = $13; - break label$15; - } - while (1) { - if (($1 | 0) < 1) { - break label$1; - } - $9 = HEAPU8[$13 | 0]; - $12 = ($9 | 0) == 255; - $9 = ($12 ? -2 : $9) & 255; - $17 = $17 + $9 | 0; - $1 = ($9 ^ -1) + $1 | 0; - $9 = $13 + 1 | 0; - $13 = $9; - if ($12) { - continue; - } - break; - } - if (($1 | 0) < 0) { - break label$1; - } - } - $13 = $14 >>> 7 ^ 1; - if ($14 & 128) { - if ($10 >>> 0 < 2) { - $8 = $1; - $12 = $1; - break label$7; - } - $19 = $10 - 1 | 0; - $14 = 0; - $12 = $1; - $8 = $1; - while (1) { - $18 = ($14 << 1) + $5 | 0; - if (($8 | 0) <= 0) { - HEAP16[$18 >> 1] = 65535; - return -4; - } - $11 = 1; - $1 = HEAPU8[$9 | 0]; - if ($1 >>> 0 >= 252) { - if (($8 | 0) <= 1) { - HEAP16[$18 >> 1] = 65535; - return -4; - } - $11 = 2; - $1 = (HEAPU8[$9 + 1 | 0] << 2) + $1 | 0; - } - HEAP16[$18 >> 1] = $1; - $8 = $8 - $11 | 0; - if (($8 | 0) < ($1 | 0)) { - break label$1; - } - $9 = $9 + $11 | 0; - $12 = ($12 - $11 | 0) - $1 | 0; - $14 = $14 + 1 | 0; - if (($19 | 0) != ($14 | 0)) { - continue; - } - break; - } - if (($12 | 0) >= 0) { - break label$7; - } - break label$1; - } - if ($2) { - $12 = $8; - $8 = $1; - break label$6; - } - $12 = ($1 | 0) / ($10 | 0) | 0; - if ((Math_imul($12, $10) | 0) != ($1 | 0)) { - break label$1; - } - if ($10 >>> 0 < 2) { - break label$5; - } - $11 = $10 - 1 | 0; - $8 = 0; - while (1) { - HEAP16[($8 << 1) + $5 >> 1] = $12; - $8 = $8 + 1 | 0; - if (($11 | 0) != ($8 | 0)) { - continue; - } - break; - } - $8 = $1; - } - if (!$2) { - break label$5; - } - } - $11 = (($10 << 1) + $5 | 0) - 2 | 0; - $1 = 65535; - $2 = -1; - label$26 : { - if (($8 | 0) < 1) { - break label$26; - } - $14 = HEAPU8[$9 | 0]; - if ($14 >>> 0 < 252) { - $1 = $14; - $2 = 1; - break label$26; - } - $2 = -1; - if (($8 | 0) < 2) { - break label$26; - } - $1 = (HEAPU8[$9 + 1 | 0] << 2) + $14 | 0; - $2 = 2; - } - HEAP16[$11 >> 1] = $1; - $11 = $1 << 16 >> 16; - if (($11 | 0) < 0) { - break label$1; - } - $8 = $8 - $2 | 0; - if (($11 | 0) > ($8 | 0)) { - break label$1; - } - $9 = $2 + $9 | 0; - if ($13) { - if ((Math_imul($10, $11) | 0) > ($8 | 0)) { - break label$1; - } - if ($10 >>> 0 < 2) { - break label$4; - } - HEAP16[$5 >> 1] = $1; - $1 = 1; - $15 = $10 - 1 | 0; - if (($15 | 0) == 1) { - break label$4; - } - $2 = ($15 << 1) + $5 | 0; - while (1) { - HEAP16[($1 << 1) + $5 >> 1] = HEAPU16[$2 >> 1]; - $1 = $1 + 1 | 0; - if (($15 | 0) != ($1 | 0)) { - continue; - } - break; - } - break label$4; - } - if (($2 + $11 | 0) > ($12 | 0)) { - break label$1; - } - break label$4; - } - if (($12 | 0) > 1275) { - break label$1; - } - HEAP16[(($10 << 1) + $5 | 0) - 2 >> 1] = $12; - } - if ($6) { - HEAP32[$6 >> 2] = $9 - $0; - } - if ($10) { - $1 = 0; - while (1) { - if ($4) { - HEAP32[($1 << 2) + $4 >> 2] = $9; - } - $9 = HEAP16[($1 << 1) + $5 >> 1] + $9 | 0; - $1 = $1 + 1 | 0; - if (($10 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if ($7) { - HEAP32[$7 >> 2] = ($17 - $0 | 0) + $9; - } - if ($3) { - HEAP8[$3 | 0] = $16; - } - $15 = $10; - } - return $15; -} -function silk_LPC_analysis_filter_FLP($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0; - label$1 : { - if (($3 | 0) >= ($4 | 0)) { - label$3 : { - label$4 : { - switch ($4 - 6 | 0) { - case 0: - if (($3 | 0) < 7) { - break label$3; - } - $6 = 6; - while (1) { - $5 = $6 << 2; - $7 = $5 + $0 | 0; - $5 = $2 + $5 | 0; - HEAPF32[$7 >> 2] = HEAPF32[$5 >> 2] - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[$5 - 4 >> 2] * HEAPF32[$1 >> 2]) + Math_fround(HEAPF32[$5 - 8 >> 2] * HEAPF32[$1 + 4 >> 2])) + Math_fround(HEAPF32[$5 - 12 >> 2] * HEAPF32[$1 + 8 >> 2])) + Math_fround(HEAPF32[$5 - 16 >> 2] * HEAPF32[$1 + 12 >> 2])) + Math_fround(HEAPF32[$5 - 20 >> 2] * HEAPF32[$1 + 16 >> 2])) + Math_fround(HEAPF32[$5 - 24 >> 2] * HEAPF32[$1 + 20 >> 2])); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - break label$3; - case 2: - if (($3 | 0) < 9) { - break label$3; - } - $6 = 8; - while (1) { - $5 = $6 << 2; - $7 = $5 + $0 | 0; - $5 = $2 + $5 | 0; - HEAPF32[$7 >> 2] = HEAPF32[$5 >> 2] - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[$5 - 4 >> 2] * HEAPF32[$1 >> 2]) + Math_fround(HEAPF32[$5 - 8 >> 2] * HEAPF32[$1 + 4 >> 2])) + Math_fround(HEAPF32[$5 - 12 >> 2] * HEAPF32[$1 + 8 >> 2])) + Math_fround(HEAPF32[$5 - 16 >> 2] * HEAPF32[$1 + 12 >> 2])) + Math_fround(HEAPF32[$5 - 20 >> 2] * HEAPF32[$1 + 16 >> 2])) + Math_fround(HEAPF32[$5 - 24 >> 2] * HEAPF32[$1 + 20 >> 2])) + Math_fround(HEAPF32[$5 - 28 >> 2] * HEAPF32[$1 + 24 >> 2])) + Math_fround(HEAPF32[$5 - 32 >> 2] * HEAPF32[$1 + 28 >> 2])); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - break label$3; - case 4: - if (($3 | 0) < 11) { - break label$3; - } - $6 = 10; - while (1) { - $5 = $6 << 2; - $7 = $5 + $0 | 0; - $5 = $2 + $5 | 0; - HEAPF32[$7 >> 2] = HEAPF32[$5 >> 2] - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[$5 - 4 >> 2] * HEAPF32[$1 >> 2]) + Math_fround(HEAPF32[$5 - 8 >> 2] * HEAPF32[$1 + 4 >> 2])) + Math_fround(HEAPF32[$5 - 12 >> 2] * HEAPF32[$1 + 8 >> 2])) + Math_fround(HEAPF32[$5 - 16 >> 2] * HEAPF32[$1 + 12 >> 2])) + Math_fround(HEAPF32[$5 - 20 >> 2] * HEAPF32[$1 + 16 >> 2])) + Math_fround(HEAPF32[$5 - 24 >> 2] * HEAPF32[$1 + 20 >> 2])) + Math_fround(HEAPF32[$5 - 28 >> 2] * HEAPF32[$1 + 24 >> 2])) + Math_fround(HEAPF32[$5 - 32 >> 2] * HEAPF32[$1 + 28 >> 2])) + Math_fround(HEAPF32[$5 - 36 >> 2] * HEAPF32[$1 + 32 >> 2])) + Math_fround(HEAPF32[$5 - 40 >> 2] * HEAPF32[$1 + 36 >> 2])); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - break label$3; - case 6: - if (($3 | 0) < 13) { - break label$3; - } - $6 = 12; - while (1) { - $5 = $6 << 2; - $7 = $5 + $0 | 0; - $5 = $2 + $5 | 0; - HEAPF32[$7 >> 2] = HEAPF32[$5 >> 2] - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[$5 - 4 >> 2] * HEAPF32[$1 >> 2]) + Math_fround(HEAPF32[$5 - 8 >> 2] * HEAPF32[$1 + 4 >> 2])) + Math_fround(HEAPF32[$5 - 12 >> 2] * HEAPF32[$1 + 8 >> 2])) + Math_fround(HEAPF32[$5 - 16 >> 2] * HEAPF32[$1 + 12 >> 2])) + Math_fround(HEAPF32[$5 - 20 >> 2] * HEAPF32[$1 + 16 >> 2])) + Math_fround(HEAPF32[$5 - 24 >> 2] * HEAPF32[$1 + 20 >> 2])) + Math_fround(HEAPF32[$5 - 28 >> 2] * HEAPF32[$1 + 24 >> 2])) + Math_fround(HEAPF32[$5 - 32 >> 2] * HEAPF32[$1 + 28 >> 2])) + Math_fround(HEAPF32[$5 - 36 >> 2] * HEAPF32[$1 + 32 >> 2])) + Math_fround(HEAPF32[$5 - 40 >> 2] * HEAPF32[$1 + 36 >> 2])) + Math_fround(HEAPF32[$5 - 44 >> 2] * HEAPF32[$1 + 40 >> 2])) + Math_fround(HEAPF32[$5 - 48 >> 2] * HEAPF32[$1 + 44 >> 2])); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - break label$3; - case 10: - break label$4; - default: - break label$1; - } - } - if (($3 | 0) < 17) { - break label$3; - } - $6 = 16; - while (1) { - $5 = $6 << 2; - $7 = $5 + $0 | 0; - $5 = $2 + $5 | 0; - HEAPF32[$7 >> 2] = HEAPF32[$5 >> 2] - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[$5 - 4 >> 2] * HEAPF32[$1 >> 2]) + Math_fround(HEAPF32[$5 - 8 >> 2] * HEAPF32[$1 + 4 >> 2])) + Math_fround(HEAPF32[$5 - 12 >> 2] * HEAPF32[$1 + 8 >> 2])) + Math_fround(HEAPF32[$5 - 16 >> 2] * HEAPF32[$1 + 12 >> 2])) + Math_fround(HEAPF32[$5 - 20 >> 2] * HEAPF32[$1 + 16 >> 2])) + Math_fround(HEAPF32[$5 - 24 >> 2] * HEAPF32[$1 + 20 >> 2])) + Math_fround(HEAPF32[$5 - 28 >> 2] * HEAPF32[$1 + 24 >> 2])) + Math_fround(HEAPF32[$5 - 32 >> 2] * HEAPF32[$1 + 28 >> 2])) + Math_fround(HEAPF32[$5 - 36 >> 2] * HEAPF32[$1 + 32 >> 2])) + Math_fround(HEAPF32[$5 - 40 >> 2] * HEAPF32[$1 + 36 >> 2])) + Math_fround(HEAPF32[$5 - 44 >> 2] * HEAPF32[$1 + 40 >> 2])) + Math_fround(HEAPF32[$5 - 48 >> 2] * HEAPF32[$1 + 44 >> 2])) + Math_fround(HEAPF32[$5 - 52 >> 2] * HEAPF32[$1 + 48 >> 2])) + Math_fround(HEAPF32[$5 - 56 >> 2] * HEAPF32[$1 + 52 >> 2])) + Math_fround(HEAPF32[$5 - 60 >> 2] * HEAPF32[$1 + 56 >> 2])) + Math_fround(HEAPF32[$5 + -64 >> 2] * HEAPF32[$1 + 60 >> 2])); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - memset($0, 0, $4 << 2); - return; - } - celt_fatal(9580, 9614, 218); - abort(); - } - celt_fatal(9651, 9614, 242); - abort(); -} -function remove_doubling($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = Math_fround(0), $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0, $14 = Math_fround(0), $15 = 0, $16 = 0, $17 = Math_fround(0), $18 = 0, $19 = Math_fround(0), $20 = 0, $21 = 0, $22 = Math_fround(0), $23 = Math_fround(0), $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = Math_fround(0), $29 = 0, $30 = 0, $31 = 0, $32 = Math_fround(0), $33 = Math_fround(0), $34 = Math_fround(0), $35 = Math_fround(0), $36 = Math_fround(0); - $11 = HEAP32[$4 >> 2] / 2 | 0; - $20 = ($1 | 0) / 2 | 0; - $15 = ($11 | 0) < ($20 | 0) ? $11 : $20 - 1 | 0; - HEAP32[$4 >> 2] = $15; - $12 = $20 << 2; - $11 = $12 + $0 | 0; - $18 = ($3 | 0) / 2 | 0; - $29 = ($5 | 0) / -2 | 0; - $13 = __stack_pointer; - $21 = $13 - ($12 + 19 & -16) | 0; - if (($3 | 0) >= 2) { - $13 = $11 - ($15 << 2) | 0; - $5 = 0; - while (1) { - $0 = $5 << 2; - $8 = HEAPF32[$11 + $0 >> 2]; - $22 = Math_fround($22 + Math_fround($8 * HEAPF32[$0 + $13 >> 2])); - $14 = Math_fround($14 + Math_fround($8 * $8)); - $5 = $5 + 1 | 0; - if (($18 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - HEAPF32[$21 >> 2] = $14; - if (($1 | 0) >= 2) { - $5 = 1; - $8 = $14; - while (1) { - $0 = $5 << 2; - $9 = HEAPF32[$11 - $0 >> 2]; - $10 = Math_fround($8 + Math_fround($9 * $9)); - $8 = HEAPF32[($18 - $5 << 2) + $11 >> 2]; - $8 = Math_fround($10 - Math_fround($8 * $8)); - HEAPF32[$0 + $21 >> 2] = Math_max($8, Math_fround(0)); - $0 = ($5 | 0) != ($20 | 0); - $5 = $5 + 1 | 0; - if ($0) { - continue; - } - break; - } - } - $24 = ($2 | 0) / 2 | 0; - $30 = $24 << 1; - $31 = Math_imul($24, 3); - $32 = Math_fround($6 * Math_fround(.5)); - $25 = $15 << 1; - $23 = HEAPF32[($15 << 2) + $21 >> 2]; - $19 = Math_fround($22 / Math_fround(Math_sqrt(Math_fround(Math_fround($14 * $23) + Math_fround(1))))); - $33 = Math_fround($19 * Math_fround(.8500000238418579)); - $34 = Math_fround($19 * Math_fround(.8999999761581421)); - $35 = Math_fround($19 * Math_fround(.699999988079071)); - $12 = 2; - $7 = $15; - while (1) { - $5 = $12 << 1; - $16 = ($12 + $25 >>> 0) / ($5 >>> 0) | 0; - if (($24 | 0) <= ($16 | 0)) { - label$8 : { - if (($12 | 0) == 2) { - $5 = $15 + $16 | 0; - $5 = ($5 | 0) > ($20 | 0) ? $15 : $5; - break label$8; - } - $5 = (Math_imul(HEAP32[($12 << 2) + 9808 >> 2], $25) + $12 >>> 0) / ($5 >>> 0) | 0; - } - $26 = $5 << 2; - $27 = $16 << 2; - $8 = Math_fround(0); - label$10 : { - if (($3 | 0) < 2) { - $9 = Math_fround(0); - break label$10; - } - $13 = $11 - $26 | 0; - $1 = $11 - $27 | 0; - $5 = 0; - $9 = Math_fround(0); - while (1) { - $0 = $5 << 2; - $10 = HEAPF32[$11 + $0 >> 2]; - $8 = Math_fround($8 + Math_fround($10 * HEAPF32[$0 + $13 >> 2])); - $9 = Math_fround($9 + Math_fround($10 * HEAPF32[$0 + $1 >> 2])); - $5 = $5 + 1 | 0; - if (($18 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $9 = Math_fround(Math_fround($9 + $8) * Math_fround(.5)); - $28 = Math_fround(Math_fround(HEAPF32[$21 + $27 >> 2] + HEAPF32[$21 + $26 >> 2]) * Math_fround(.5)); - $10 = Math_fround(Math_sqrt(Math_fround(Math_fround($14 * $28) + Math_fround(1)))); - $10 = Math_fround($9 / $10); - $36 = $10; - $17 = $33; - $5 = $16 + $29 | 0; - $0 = $5; - $8 = $6; - $5 = $5 >> 31; - $5 = $5 ^ $5 + $0; - label$13 : { - if (($5 | 0) < 2) { - break label$13; - } - $8 = Math_fround(0); - if (($5 | 0) != 2) { - break label$13; - } - $8 = (Math_imul(Math_imul($12, $12), 5) | 0) < ($15 | 0) ? $32 : Math_fround(0); - } - $17 = Math_fround(Math_max(Math_fround($17 - $8), Math_fround(.4000000059604645))); - label$14 : { - if (($16 | 0) < ($31 | 0)) { - break label$14; - } - $17 = Math_fround(Math_max(Math_fround($35 - $8), Math_fround(.30000001192092896))); - if (($16 | 0) >= ($30 | 0)) { - break label$14; - } - $17 = Math_fround(Math_max(Math_fround($34 - $8), Math_fround(.5))); - } - $8 = $17; - if (!($36 > $8 ^ 1)) { - $7 = $16; - $23 = $28; - $22 = $9; - $19 = $10; - } - $12 = $12 + 1 | 0; - if (($12 | 0) != 16) { - continue; - } - } - break; - } - $8 = Math_fround(0); - $14 = Math_fround(1); - $9 = Math_fround(Math_max($22, Math_fround(0))); - if (!($23 <= $9)) { - $14 = Math_fround($9 / Math_fround($23 + Math_fround(1))); - } - label$17 : { - if (($3 | 0) < 2) { - $9 = Math_fround(0); - $10 = Math_fround(0); - break label$17; - } - $13 = ($11 - ($7 << 2) | 0) + 4 | 0; - $5 = 0; - while (1) { - $0 = $5 << 2; - $8 = Math_fround($8 + Math_fround(HEAPF32[$11 + $0 >> 2] * HEAPF32[$0 + $13 >> 2])); - $5 = $5 + 1 | 0; - if (($18 | 0) != ($5 | 0)) { - continue; - } - break; - } - $9 = Math_fround(0); - if (($3 | 0) <= 1) { - $10 = Math_fround(0); - break label$17; - } - $13 = $11 - ($7 << 2) | 0; - $5 = 0; - while (1) { - $0 = $5 << 2; - $9 = Math_fround($9 + Math_fround(HEAPF32[$11 + $0 >> 2] * HEAPF32[$0 + $13 >> 2])); - $5 = $5 + 1 | 0; - if (($18 | 0) != ($5 | 0)) { - continue; - } - break; - } - $10 = Math_fround(0); - if (($3 | 0) < 2) { - break label$17; - } - $13 = (($7 ^ -1) << 2) + $11 | 0; - $5 = 0; - while (1) { - $0 = $5 << 2; - $10 = Math_fround($10 + Math_fround(HEAPF32[$11 + $0 >> 2] * HEAPF32[$0 + $13 >> 2])); - $5 = $5 + 1 | 0; - if (($18 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $5 = 1; - $5 = Math_fround($10 - $8) > Math_fround(Math_fround($9 - $8) * Math_fround(.699999988079071)) ? $5 : Math_fround($8 - $10) > Math_fround(Math_fround($9 - $10) * Math_fround(.699999988079071)) ? -1 : 0; - $5 = $5 + ($7 << 1) | 0; - HEAP32[$4 >> 2] = ($2 | 0) > ($5 | 0) ? $2 : $5; - return $14 > $19 ? $19 : $14; -} -function quant_partition($0, $1, $2, $3, $4, $5, $6, $7, $8) { - var $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = Math_fround(0), $18 = 0, $19 = 0, $20 = 0, $21 = 0; - $13 = __stack_pointer - 32 | 0; - __stack_pointer = $13; - HEAP32[$13 + 24 >> 2] = $8; - HEAP32[$13 + 28 >> 2] = $3; - $9 = HEAP32[$0 + 8 >> 2]; - $10 = HEAP32[$9 + 100 >> 2] + HEAP16[HEAP32[$9 + 96 >> 2] + (HEAP32[$0 + 12 >> 2] + Math_imul(HEAP32[$9 + 8 >> 2], $6 + 1 | 0) << 1) >> 1] | 0; - $9 = HEAPU8[$10 | 0]; - $15 = -1; - $18 = HEAP32[$0 + 28 >> 2]; - $19 = HEAP32[$0 + 20 >> 2]; - $20 = HEAP32[$0 >> 2]; - label$1 : { - if (!(($6 | 0) == -1 | ($2 | 0) < 3 | (HEAPU8[$9 + $10 | 0] + 12 | 0) >= ($3 | 0))) { - $9 = $6 - 1 | 0; - $3 = $2 >>> 1 | 0; - $2 = ($3 << 2) + $1 | 0; - if (($4 | 0) == 1) { - HEAP32[$13 + 24 >> 2] = $8 & 1 | $8 << 1; - } - $14 = $4 + 1 >> 1; - compute_theta($0, $13, $1, $2, $3, $13 + 28 | 0, $14, $4, $9, 0, $13 + 24 | 0); - $16 = Math_fround(HEAP32[$13 + 8 >> 2]); - $17 = Math_fround(HEAP32[$13 + 4 >> 2]); - $8 = HEAP32[$13 + 20 >> 2]; - $10 = HEAP32[$13 + 12 >> 2]; - $15 = HEAP32[$13 + 16 >> 2]; - $11 = $10; - label$4 : { - if (!($15 & 16383) | ($4 | 0) < 2) { - break label$4; - } - $11 = $10 - ($10 >> 5 - $6) | 0; - if (($15 | 0) >= 8193) { - break label$4; - } - $6 = ($3 << 3 >> 6 - $6) + $10 | 0; - $11 = $6 & $6 >> 31; - } - $10 = $11; - $16 = Math_fround($16 * Math_fround(30517578125e-15)); - $17 = Math_fround($17 * Math_fround(30517578125e-15)); - $6 = HEAP32[$13 + 28 >> 2]; - $8 = HEAP32[$0 + 32 >> 2] - $8 | 0; - HEAP32[$0 + 32 >> 2] = $8; - $12 = $5 ? ($3 << 2) + $5 | 0 : 0; - $10 = ($6 - $10 | 0) / 2 | 0; - $10 = ($6 | 0) < ($10 | 0) ? $6 : $10; - $10 = ($10 | 0) > 0 ? $10 : 0; - $6 = $6 - $10 | 0; - if (($6 | 0) <= ($10 | 0)) { - $11 = HEAP32[$13 + 24 >> 2]; - $1 = quant_partition($0, $1, $3, $10, $14, $5, $9, Math_fround($17 * $7), $11); - $10 = (HEAP32[$0 + 32 >> 2] - $8 | 0) + $10 | 0; - $9 = $1 | quant_partition($0, $2, $3, ($15 ? ($10 | 0) > 24 ? $10 - 24 | 0 : 0 : 0) + $6 | 0, $14, $12, $9, Math_fround($16 * $7), $11 >> $14) << ($4 >> 1); - break label$1; - } - $11 = HEAP32[$13 + 24 >> 2]; - $2 = quant_partition($0, $2, $3, $6, $14, $12, $9, Math_fround($16 * $7), $11 >> $14); - $6 = (HEAP32[$0 + 32 >> 2] - $8 | 0) + $6 | 0; - $9 = quant_partition($0, $1, $3, (($15 | 0) != 16384 ? ($6 | 0) > 24 ? $6 - 24 | 0 : 0 : 0) + $10 | 0, $14, $5, $9, Math_fround($17 * $7), $11) | $2 << ($4 >> 1); - break label$1; - } - $6 = $3 - 1 | 0; - $12 = $9 + 1 >>> 1 | 0; - $3 = ($6 | 0) > HEAPU8[$12 + $10 | 0]; - $9 = $3 ? $9 : $12; - $11 = $9; - $12 = $3 ? $12 : 0; - $3 = ($12 + $9 | 0) + 1 >>> 1 | 0; - $9 = HEAPU8[$10 + $3 | 0] < ($6 | 0); - $11 = $9 ? $11 : $3; - $9 = $9 ? $3 : $12; - $3 = ($11 + $9 | 0) + 1 >>> 1 | 0; - $12 = HEAPU8[$10 + $3 | 0] < ($6 | 0); - $9 = $12 ? $3 : $9; - $11 = $12 ? $11 : $3; - $3 = ($9 + $11 | 0) + 1 >>> 1 | 0; - $12 = HEAPU8[$10 + $3 | 0] < ($6 | 0); - $9 = $12 ? $3 : $9; - $11 = $12 ? $11 : $3; - $3 = ($9 + $11 | 0) + 1 >> 1; - $12 = HEAPU8[$10 + $3 | 0] < ($6 | 0); - $11 = $12 ? $11 : $3; - $21 = $11; - $12 = $12 ? $3 : $9; - $3 = ($11 + $12 | 0) + 1 >> 1; - $11 = HEAPU8[$10 + $3 | 0] < ($6 | 0); - $9 = $11 ? $21 : $3; - $3 = $11 ? $3 : $12; - if ($3) { - $15 = HEAPU8[$3 + $10 | 0]; - } - $3 = ($6 - $15 | 0) > (HEAPU8[$9 + $10 | 0] - $6 | 0) ? $9 : $3; - if ($3) { - $14 = HEAPU8[$3 + $10 | 0] + 1 | 0; - } - $9 = HEAP32[$0 + 32 >> 2] - $14 | 0; - HEAP32[$0 + 32 >> 2] = $9; - label$9 : { - label$10 : { - if (($9 | 0) > -1) { - $6 = $3; - break label$10; - } - if (($3 | 0) < 1) { - $6 = $3; - break label$10; - } - while (1) { - $9 = $9 + $14 | 0; - HEAP32[$0 + 32 >> 2] = $9; - $6 = $3 - 1 | 0; - if (!$6) { - HEAP32[$0 + 32 >> 2] = $9; - break label$9; - } - $14 = HEAPU8[$6 + $10 | 0] + 1 | 0; - $9 = $9 - $14 | 0; - HEAP32[$0 + 32 >> 2] = $9; - if (($9 | 0) > -1) { - break label$10; - } - $15 = ($3 | 0) > 1; - $3 = $6; - if ($15) { - continue; - } - break; - } - } - if (!$6) { - break label$9; - } - $6 = ($6 | 0) >= 8 ? ($6 & 7 | 8) << ($6 >>> 3 | 0) - 1 : $6; - if ($20) { - $9 = alg_quant($1, $2, $6, $19, $4, $18, $7, HEAP32[$0 + 4 >> 2], HEAP32[$0 + 44 >> 2]); - break label$1; - } - $9 = alg_unquant($1, $2, $6, $19, $4, $18, $7); - break label$1; - } - if (!HEAP32[$0 + 4 >> 2]) { - $9 = 0; - break label$1; - } - $9 = -1 << $4 ^ -1; - $14 = $9 & $8; - HEAP32[$13 + 24 >> 2] = $14; - if (!$14) { - $9 = 0; - memset($1, 0, $2 << 2); - break label$1; - } - label$19 : { - if ($5) { - if (($2 | 0) >= 1) { - $3 = HEAP32[$0 + 40 >> 2]; - $6 = 0; - while (1) { - $9 = $6 << 2; - $3 = Math_imul($3, 1664525) + 1013904223 | 0; - HEAPF32[$9 + $1 >> 2] = HEAPF32[$5 + $9 >> 2] + ($3 & 32768 ? Math_fround(.00390625) : Math_fround(-.00390625)); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - HEAP32[$0 + 40 >> 2] = $3; - } - $9 = $14; - break label$19; - } - if (($2 | 0) < 1) { - break label$19; - } - $3 = HEAP32[$0 + 40 >> 2]; - $6 = 0; - while (1) { - $3 = Math_imul($3, 1664525) + 1013904223 | 0; - HEAPF32[($6 << 2) + $1 >> 2] = $3 >> 20; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - HEAP32[$0 + 40 >> 2] = $3; - } - renormalise_vector($1, $2, $7, HEAP32[$0 + 44 >> 2]); - } - __stack_pointer = $13 + 32 | 0; - return $9; -} -function pitch_search($0, $1, $2, $3, $4, $5) { - var $6 = Math_fround(0), $7 = Math_fround(0), $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = Math_fround(0), $13 = Math_fround(0), $14 = Math_fround(0), $15 = 0, $16 = 0, $17 = Math_fround(0), $18 = 0, $19 = 0, $20 = Math_fround(0), $21 = 0; - $5 = __stack_pointer; - $21 = $5; - label$1 : { - if (($2 | 0) > 0) { - if (($3 | 0) <= 0) { - break label$1; - } - $11 = $2 >>> 2 | 0; - $8 = $5 - (($11 << 2) + 15 & -16) | 0; - $5 = $8; - __stack_pointer = $5; - $9 = $2 + $3 | 0; - $10 = $5 - (($9 & -4) + 15 & -16) | 0; - $5 = $10; - __stack_pointer = $5; - $15 = $3 >>> 1 | 0; - $16 = $5 - (($15 << 2) + 15 & -16) | 0; - __stack_pointer = $16; - if ($11) { - $5 = 0; - while (1) { - HEAP32[($5 << 2) + $8 >> 2] = HEAP32[($5 << 3) + $0 >> 2]; - $5 = $5 + 1 | 0; - if (($11 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - if (($9 | 0) >= 4) { - $5 = $9 >> 2; - $9 = ($5 | 0) > 1 ? $5 : 1; - $5 = 0; - while (1) { - HEAP32[($5 << 2) + $10 >> 2] = HEAP32[($5 << 3) + $1 >> 2]; - $5 = $5 + 1 | 0; - if (($9 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $9 = $3 >> 2; - celt_pitch_xcorr_c($8, $10, $16, $11, $9, $5); - $7 = Math_fround(1); - if ($11) { - $5 = 0; - while (1) { - $6 = HEAPF32[($5 << 2) + $10 >> 2]; - $7 = Math_fround($7 + Math_fround($6 * $6)); - $5 = $5 + 1 | 0; - if (($11 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $18 = 1; - if (($3 | 0) > 3) { - $13 = Math_fround(-1); - $5 = 0; - $14 = Math_fround(-1); - while (1) { - $8 = $5 << 2; - $6 = HEAPF32[$16 + $8 >> 2]; - label$11 : { - if ($6 > Math_fround(0) ^ 1) { - break label$11; - } - $6 = Math_fround($6 * Math_fround(9.999999960041972e-13)); - $6 = Math_fround($6 * $6); - if (Math_fround($12 * $6) > Math_fround($14 * $7) ^ 1) { - break label$11; - } - if (Math_fround($17 * $6) > Math_fround($13 * $7)) { - $18 = $19; - $19 = $5; - $14 = $13; - $13 = $6; - $12 = $17; - $17 = $7; - break label$11; - } - $18 = $5; - $14 = $6; - $12 = $7; - } - $6 = HEAPF32[($5 + $11 << 2) + $10 >> 2]; - $20 = Math_fround($6 * $6); - $6 = HEAPF32[$10 + $8 >> 2]; - $7 = Math_fround(Math_max(Math_fround($7 + Math_fround($20 - Math_fround($6 * $6))), Math_fround(1))); - $5 = $5 + 1 | 0; - if (($9 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - label$13 : { - if (!$15) { - $11 = $2 >> 1; - break label$13; - } - $11 = $2 >> 1; - $18 = $18 << 1; - $19 = $19 << 1; - $9 = 0; - while (1) { - $10 = $9 << 2; - $3 = $16 + $10 | 0; - HEAP32[$3 >> 2] = 0; - $5 = $9 - $19 | 0; - $8 = $5; - $5 = $5 >> 31; - label$16 : { - if (($5 ^ $5 + $8) >= 3) { - $5 = $9 - $18 | 0; - $8 = $5; - $5 = $5 >> 31; - if (($5 ^ $5 + $8) > 2) { - break label$16; - } - } - $7 = Math_fround(0); - if (($2 | 0) >= 2) { - $8 = $1 + $10 | 0; - $5 = 0; - while (1) { - $10 = $5 << 2; - $7 = Math_fround($7 + Math_fround(HEAPF32[$10 + $0 >> 2] * HEAPF32[$10 + $8 >> 2])); - $5 = $5 + 1 | 0; - if (($11 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - HEAPF32[$3 >> 2] = Math_max($7, Math_fround(-1)); - } - $9 = $9 + 1 | 0; - if (($15 | 0) != ($9 | 0)) { - continue; - } - break; - } - } - $7 = Math_fround(1); - if (($2 | 0) > 1) { - $5 = 0; - while (1) { - $6 = HEAPF32[($5 << 2) + $1 >> 2]; - $7 = Math_fround($7 + Math_fround($6 * $6)); - $5 = $5 + 1 | 0; - if (($11 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $8 = 0; - label$22 : { - if (!$15) { - $0 = 0; - break label$22; - } - $13 = Math_fround(-1); - $17 = Math_fround(0); - $0 = 0; - $5 = 0; - $12 = Math_fround(0); - $14 = Math_fround(-1); - while (1) { - $10 = $5 << 2; - $6 = HEAPF32[$16 + $10 >> 2]; - label$25 : { - if ($6 > Math_fround(0) ^ 1) { - break label$25; - } - $6 = Math_fround($6 * Math_fround(9.999999960041972e-13)); - $6 = Math_fround($6 * $6); - if (Math_fround($12 * $6) > Math_fround($14 * $7) ^ 1) { - break label$25; - } - if (Math_fround($17 * $6) > Math_fround($13 * $7)) { - $0 = $5; - $14 = $13; - $13 = $6; - $12 = $17; - $17 = $7; - break label$25; - } - $14 = $6; - $12 = $7; - } - $6 = HEAPF32[($5 + $11 << 2) + $1 >> 2]; - $20 = Math_fround($6 * $6); - $6 = HEAPF32[$1 + $10 >> 2]; - $7 = Math_fround(Math_max(Math_fround($7 + Math_fround($20 - Math_fround($6 * $6))), Math_fround(1))); - $5 = $5 + 1 | 0; - if (($15 | 0) != ($5 | 0)) { - continue; - } - break; - } - if (($0 | 0) < 1 | ($15 - 1 | 0) <= ($0 | 0)) { - break label$22; - } - $8 = -1; - $5 = ($0 << 2) + $16 | 0; - $6 = HEAPF32[$5 + 4 >> 2]; - $7 = HEAPF32[$5 - 4 >> 2]; - $12 = HEAPF32[$5 >> 2]; - if (Math_fround($6 - $7) > Math_fround(Math_fround($12 - $7) * Math_fround(.699999988079071))) { - break label$22; - } - $8 = Math_fround($7 - $6) > Math_fround(Math_fround($12 - $6) * Math_fround(.699999988079071)); - } - HEAP32[$4 >> 2] = ($0 << 1) + $8; - __stack_pointer = $21; - return; - } - celt_fatal(9781, 9768, 302); - abort(); - } - celt_fatal(9738, 9768, 303); - abort(); -} -function exp_rotation($0, $1, $2, $3, $4, $5) { - var $6 = Math_fround(0), $7 = 0, $8 = Math_fround(0), $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; - label$1 : { - if (!$5 | $4 << 1 >= ($1 | 0)) { - break label$1; - } - $9 = Math_fround(Math_fround($1 | 0) / Math_fround(Math_imul(HEAP32[($5 << 2) + 41524 >> 2], $4) + $1 | 0)); - $9 = Math_fround(Math_fround($9 * $9) * Math_fround(.5)); - $18 = cos(+Math_fround($9 * Math_fround(1.5707963705062866))); - $19 = cos(+Math_fround(Math_fround(Math_fround(1) - $9) * Math_fround(1.5707963705062866))); - $5 = 0; - if ($3 << 3 <= ($1 | 0)) { - $7 = $3 >> 2; - $4 = 1; - while (1) { - $5 = $4; - $4 = $4 + 1 | 0; - if ((Math_imul(Math_imul($5, $5) + $5 | 0, $3) + $7 | 0) < ($1 | 0)) { - continue; - } - break; - } - } - if (($3 | 0) < 1) { - break label$1; - } - $9 = Math_fround($18); - $10 = Math_fround($19); - $14 = ($1 >>> 0) / ($3 >>> 0) | 0; - $15 = $14 - $5 | 0; - $12 = $14 - 3 | 0; - $16 = $14 - 1 | 0; - $13 = ($5 << 1 ^ -1) + $14 | 0; - $20 = ($2 | 0) > -1; - $2 = 0; - while (1) { - $11 = Math_imul($2, $14); - label$5 : { - if (!$20) { - label$7 : { - if (!$5) { - break label$7; - } - $1 = 0; - $17 = ($11 << 2) + $0 | 0; - $4 = $17; - if (($15 | 0) >= 1) { - while (1) { - $7 = ($5 << 2) + $4 | 0; - $8 = HEAPF32[$7 >> 2]; - $6 = HEAPF32[$4 >> 2]; - HEAPF32[$7 >> 2] = Math_fround($6 * $9) + Math_fround($8 * $10); - HEAPF32[$4 >> 2] = Math_fround($6 * $10) - Math_fround($8 * $9); - $4 = $4 + 4 | 0; - $1 = $1 + 1 | 0; - if (($15 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (($13 | 0) < 0) { - break label$7; - } - $4 = ($13 << 2) + $17 | 0; - $1 = $13; - while (1) { - $7 = ($5 << 2) + $4 | 0; - $8 = HEAPF32[$7 >> 2]; - $6 = HEAPF32[$4 >> 2]; - HEAPF32[$7 >> 2] = Math_fround($6 * $9) + Math_fround($8 * $10); - HEAPF32[$4 >> 2] = Math_fround($6 * $10) - Math_fround($8 * $9); - $4 = $4 - 4 | 0; - $7 = ($1 | 0) > 0; - $1 = $1 - 1 | 0; - if ($7) { - continue; - } - break; - } - } - $7 = ($11 << 2) + $0 | 0; - if (($16 | 0) >= 1) { - $6 = HEAPF32[$7 >> 2]; - $1 = 0; - $4 = $7; - while (1) { - $8 = HEAPF32[$4 + 4 >> 2]; - HEAPF32[$4 >> 2] = Math_fround($6 * $9) - Math_fround($8 * $10); - $6 = Math_fround(Math_fround($6 * $10) + Math_fround($8 * $9)); - HEAPF32[$4 + 4 >> 2] = $6; - $4 = $4 + 4 | 0; - $1 = $1 + 1 | 0; - if (($16 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (($12 | 0) < 0) { - break label$5; - } - $4 = ($12 << 2) + $7 | 0; - $1 = $12; - while (1) { - $6 = HEAPF32[$4 >> 2]; - $8 = HEAPF32[$4 + 4 >> 2]; - HEAPF32[$4 + 4 >> 2] = Math_fround($6 * $10) + Math_fround($8 * $9); - HEAPF32[$4 >> 2] = Math_fround($6 * $9) - Math_fround($8 * $10); - $4 = $4 - 4 | 0; - $7 = ($1 | 0) > 0; - $1 = $1 - 1 | 0; - if ($7) { - continue; - } - break; - } - break label$5; - } - $11 = ($11 << 2) + $0 | 0; - if (($16 | 0) >= 1) { - $6 = HEAPF32[$11 >> 2]; - $1 = 0; - $4 = $11; - while (1) { - $8 = HEAPF32[$4 + 4 >> 2]; - HEAPF32[$4 >> 2] = Math_fround($6 * $9) + Math_fround($8 * $10); - $6 = Math_fround(Math_fround($8 * $9) - Math_fround($6 * $10)); - HEAPF32[$4 + 4 >> 2] = $6; - $4 = $4 + 4 | 0; - $1 = $1 + 1 | 0; - if (($16 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (($12 | 0) >= 0) { - $4 = ($12 << 2) + $11 | 0; - $1 = $12; - while (1) { - $6 = HEAPF32[$4 + 4 >> 2]; - $8 = HEAPF32[$4 >> 2]; - HEAPF32[$4 + 4 >> 2] = Math_fround($6 * $9) - Math_fround($8 * $10); - HEAPF32[$4 >> 2] = Math_fround($8 * $9) + Math_fround($6 * $10); - $4 = $4 - 4 | 0; - $7 = ($1 | 0) > 0; - $1 = $1 - 1 | 0; - if ($7) { - continue; - } - break; - } - } - if (!$5) { - break label$5; - } - $1 = 0; - $4 = $11; - if (($15 | 0) >= 1) { - while (1) { - $7 = ($5 << 2) + $4 | 0; - $6 = HEAPF32[$7 >> 2]; - $8 = HEAPF32[$4 >> 2]; - HEAPF32[$7 >> 2] = Math_fround($6 * $10) - Math_fround($8 * $9); - HEAPF32[$4 >> 2] = Math_fround($8 * $10) + Math_fround($6 * $9); - $4 = $4 + 4 | 0; - $1 = $1 + 1 | 0; - if (($15 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (($13 | 0) < 0) { - break label$5; - } - $4 = ($13 << 2) + $11 | 0; - $1 = $13; - while (1) { - $7 = ($5 << 2) + $4 | 0; - $6 = HEAPF32[$7 >> 2]; - $8 = HEAPF32[$4 >> 2]; - HEAPF32[$7 >> 2] = Math_fround($6 * $10) - Math_fround($8 * $9); - HEAPF32[$4 >> 2] = Math_fround($8 * $10) + Math_fround($6 * $9); - $4 = $4 - 4 | 0; - $7 = ($1 | 0) > 0; - $1 = $1 - 1 | 0; - if ($7) { - continue; - } - break; - } - } - $2 = $2 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - } -} -function __rem_pio2($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - $6 = __stack_pointer - 48 | 0; - __stack_pointer = $6; - label$1 : { - label$2 : { - wasm2js_scratch_store_f64(+$0); - $4 = wasm2js_scratch_load_i32(1) | 0; - $8 = wasm2js_scratch_load_i32(0) | 0; - $3 = $4; - $7 = $4 & 2147483647; - label$3 : { - if ($7 >>> 0 <= 1074752122) { - if (($3 & 1048575) == 598523) { - break label$3; - } - if ($7 >>> 0 <= 1073928572) { - if (($4 | 0) > 0 ? 1 : ($4 | 0) >= 0) { - $0 = $0 + -1.5707963267341256; - $2 = $0 + -6.077100506506192e-11; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + -6.077100506506192e-11; - $3 = 1; - break label$1; - } - $0 = $0 + 1.5707963267341256; - $2 = $0 + 6.077100506506192e-11; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + 6.077100506506192e-11; - $3 = -1; - break label$1; - } - if (($4 | 0) > 0 ? 1 : ($4 | 0) >= 0) { - $0 = $0 + -3.1415926534682512; - $2 = $0 + -1.2154201013012384e-10; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + -1.2154201013012384e-10; - $3 = 2; - break label$1; - } - $0 = $0 + 3.1415926534682512; - $2 = $0 + 1.2154201013012384e-10; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + 1.2154201013012384e-10; - $3 = -2; - break label$1; - } - if ($7 >>> 0 <= 1075594811) { - if ($7 >>> 0 <= 1075183036) { - if (($7 | 0) == 1074977148) { - break label$3; - } - if (($4 | 0) > 0 ? 1 : ($4 | 0) >= 0) { - $0 = $0 + -4.712388980202377; - $2 = $0 + -1.8231301519518578e-10; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + -1.8231301519518578e-10; - $3 = 3; - break label$1; - } - $0 = $0 + 4.712388980202377; - $2 = $0 + 1.8231301519518578e-10; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + 1.8231301519518578e-10; - $3 = -3; - break label$1; - } - if (($7 | 0) == 1075388923) { - break label$3; - } - if (($4 | 0) > 0 ? 1 : ($4 | 0) >= 0) { - $0 = $0 + -6.2831853069365025; - $2 = $0 + -2.430840202602477e-10; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + -2.430840202602477e-10; - $3 = 4; - break label$1; - } - $0 = $0 + 6.2831853069365025; - $2 = $0 + 2.430840202602477e-10; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + 2.430840202602477e-10; - $3 = -4; - break label$1; - } - if ($7 >>> 0 > 1094263290) { - break label$2; - } - } - $2 = $0 * .6366197723675814 + 6755399441055744 + -6755399441055744; - $9 = $0 + $2 * -1.5707963267341256; - $11 = $2 * 6.077100506506192e-11; - $0 = $9 - $11; - HEAPF64[$1 >> 3] = $0; - $10 = $7 >>> 20 | 0; - wasm2js_scratch_store_f64(+$0); - $5 = wasm2js_scratch_load_i32(1) | 0; - wasm2js_scratch_load_i32(0) | 0; - $5 = ($10 - ($5 >>> 20 & 2047) | 0) < 17; - if (Math_abs($2) < 2147483648) { - $3 = ~~$2; - } else { - $3 = -2147483648; - } - label$14 : { - if ($5) { - break label$14; - } - $0 = $2 * 6.077100506303966e-11; - $12 = $9 - $0; - $11 = $2 * 2.0222662487959506e-21 - ($9 - $12 - $0); - $0 = $12 - $11; - HEAPF64[$1 >> 3] = $0; - wasm2js_scratch_store_f64(+$0); - $5 = wasm2js_scratch_load_i32(1) | 0; - wasm2js_scratch_load_i32(0) | 0; - if (($10 - ($5 >>> 20 & 2047) | 0) < 50) { - $9 = $12; - break label$14; - } - $0 = $2 * 2.0222662487111665e-21; - $9 = $12 - $0; - $11 = $2 * 8.4784276603689e-32 - ($12 - $9 - $0); - $0 = $9 - $11; - HEAPF64[$1 >> 3] = $0; - } - HEAPF64[$1 + 8 >> 3] = $9 - $0 - $11; - break label$1; - } - if ($7 >>> 0 >= 2146435072) { - $0 = $0 - $0; - HEAPF64[$1 >> 3] = $0; - HEAPF64[$1 + 8 >> 3] = $0; - $3 = 0; - break label$1; - } - $5 = $4 & 1048575; - $5 = $5 | 1096810496; - wasm2js_scratch_store_i32(0, $8 | 0); - wasm2js_scratch_store_i32(1, $5 | 0); - $0 = +wasm2js_scratch_load_f64(); - $3 = 0; - $5 = 1; - while (1) { - $3 = ($6 + 16 | 0) + ($3 << 3) | 0; - if (Math_abs($0) < 2147483648) { - $10 = ~~$0; - } else { - $10 = -2147483648; - } - $2 = +($10 | 0); - HEAPF64[$3 >> 3] = $2; - $0 = ($0 - $2) * 16777216; - $3 = 1; - $10 = $5 & 1; - $5 = 0; - if ($10) { - continue; - } - break; - } - HEAPF64[$6 + 32 >> 3] = $0; - label$20 : { - if ($0 != 0) { - $3 = 2; - break label$20; - } - $5 = 1; - while (1) { - $3 = $5; - $5 = $3 - 1 | 0; - if (HEAPF64[($6 + 16 | 0) + ($3 << 3) >> 3] == 0) { - continue; - } - break; - } - } - $3 = __rem_pio2_large($6 + 16 | 0, $6, ($7 >>> 20 | 0) - 1046 | 0, $3 + 1 | 0, 1); - $0 = HEAPF64[$6 >> 3]; - if (($4 | 0) < -1 ? 1 : ($4 | 0) <= -1) { - HEAPF64[$1 >> 3] = -$0; - HEAPF64[$1 + 8 >> 3] = -HEAPF64[$6 + 8 >> 3]; - $3 = 0 - $3 | 0; - break label$1; - } - HEAPF64[$1 >> 3] = $0; - HEAPF64[$1 + 8 >> 3] = HEAPF64[$6 + 8 >> 3]; - } - __stack_pointer = $6 + 48 | 0; - return $3; -} -function silk_stereo_find_predictor($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - $13 = __stack_pointer - 16 | 0; - __stack_pointer = $13; - silk_sum_sqr_shift($13 + 4 | 0, $13 + 12 | 0, $1, $4); - silk_sum_sqr_shift($13, $13 + 8 | 0, $2, $4); - $6 = HEAP32[$13 + 12 >> 2]; - $11 = HEAP32[$13 + 8 >> 2]; - $9 = ($6 | 0) > ($11 | 0) ? $6 : $11; - $9 = $9 + ($9 & 1) | 0; - HEAP32[$13 >> 2] = HEAP32[$13 >> 2] >> $9 - $11; - $6 = HEAP32[$13 + 4 >> 2] >> $9 - $6; - HEAP32[$13 + 4 >> 2] = ($6 | 0) > 1 ? $6 : 1; - $1 = silk_inner_prod_aligned_scale($1, $2, $9, $4); - $4 = $1 >> 31; - $11 = Math_clz32($4 ^ $1 + $4); - $6 = $1 << $11 - 1; - $15 = $6; - $4 = HEAP32[$13 + 4 >> 2]; - $2 = $4 >> 31; - $8 = Math_clz32($2 ^ $2 + $4); - $12 = $4 << $8 - 1; - $2 = 536870911 / ($12 >> 16) << 16 >> 16; - $6 = (Math_imul($2, $6 & 65535) >> 16) + Math_imul($6 >> 16, $2) | 0; - $10 = $6 >> 31; - $7 = $10; - $10 = $12 >> 31; - $14 = $10; - $10 = $7; - $7 = $14; - $7 = __wasm_i64_mul($6, $10, $12, $7); - $14 = $7; - $10 = i64toi32_i32$HIGH_BITS; - $12 = $15 - ((($10 & 536870911) << 3 | $14 >>> 29) & -8) | 0; - $2 = (Math_imul($12 >> 16, $2) + $6 | 0) + (Math_imul($12 & 65535, $2) >> 16) | 0; - $7 = $5; - $6 = ($11 - $8 | 0) + 16 | 0; - label$1 : { - if (($6 | 0) <= -1) { - $6 = 0 - $6 | 0; - $11 = 2147483647 >>> $6 | 0; - $8 = -2147483648 >> $6; - $2 = (($2 | 0) > ($11 | 0) ? $11 : ($2 | 0) < ($8 | 0) ? $8 : $2) << $6; - break label$1; - } - $2 = ($6 | 0) < 32 ? $2 >> $6 : 0; - } - $2 = ($2 | 0) > -16384 ? $2 : -16384; - $2 = ($2 | 0) < 16384 ? $2 : 16384; - $11 = (Math_imul($2, $2 & 65535) >> 16) + Math_imul($2 >> 16, $2) | 0; - $6 = $11 >> 31; - $6 = $6 ^ $6 + $11; - $7 = ($5 | 0) > ($6 | 0) ? $7 : $6; - $5 = $9 >> 1; - $8 = 0; - $6 = HEAP32[$3 >> 2]; - $14 = $3; - $15 = $6; - label$3 : { - if (($4 | 0) <= 0) { - $9 = $7 << 16 >> 16; - $10 = Math_imul($9, 0 - $6 >> 16); - break label$3; - } - $8 = Math_clz32($4); - $10 = 24 - $8 | 0; - $17 = 0 - $10 | 0; - $12 = ($8 & 1 ? 32768 : 46214) >>> ($8 >>> 1) | 0; - $16 = $12; - $9 = $4; - label$5 : { - if (!$10) { - break label$5; - } - $9 = $4 << $17 | $4 >>> 56 - $8; - if ($4 >>> 0 <= 127) { - break label$5; - } - $9 = $4 << $8 + 8 | $4 >>> $10; - } - $16 = ((Math_imul(Math_imul($9 & 127, 13959168) >>> 16 | 0, $16) >>> 16 | 0) + $12 << $5) - $6 >> 16; - $9 = $7 << 16 >> 16; - $7 = $4; - label$6 : { - if (!$10) { - break label$6; - } - $7 = $4 << $17 | $4 >>> 56 - $8; - if ($4 >>> 0 <= 127) { - break label$6; - } - $7 = $4 << $8 + 8 | $4 >>> $10; - } - $8 = (Math_imul(Math_imul($7 & 127, 13959168) >>> 16 | 0, $12) >>> 16 | 0) + $12 | 0; - $10 = Math_imul($9, $16); - } - $6 = ($15 + $10 | 0) + (Math_imul(($8 << $5) - $6 & 65535, $9) >> 16) | 0; - HEAP32[$14 >> 2] = $6; - $7 = HEAP32[$13 >> 2] - (Math_imul($1 >> 16, $2) + (Math_imul($1 & 65535, $2) >> 16) << 4) | 0; - $1 = $11 << 16 >> 16; - $4 = $7 + ((Math_imul($1, $4 & 65535) >> 16) + Math_imul($4 >> 16, $1) << 6) | 0; - HEAP32[$13 >> 2] = $4; - $14 = $3; - $1 = HEAP32[$3 + 4 >> 2]; - $3 = $1; - label$7 : { - if (($4 | 0) < 1) { - $11 = 0; - break label$7; - } - $11 = Math_clz32($4); - $12 = 24 - $11 | 0; - $7 = 0 - $12 | 0; - $8 = $4; - label$9 : { - if (!$12) { - break label$9; - } - $8 = $4 << $7 | $4 >>> 56 - $11; - if ($4 >>> 0 <= 127) { - break label$9; - } - $8 = $4 << $11 + 8 | $4 >>> $12; - } - $10 = Math_imul($8 & 127, 13959168) >>> 16 | 0; - $8 = ($11 & 1 ? 32768 : 46214) >>> ($11 >>> 1) | 0; - $10 = $8 + (Math_imul($8, $10) >>> 16 | 0) | 0; - label$10 : { - if (!$12) { - break label$10; - } - if ($4 >>> 0 <= 127) { - $4 = $4 << $7 | $4 >>> 56 - $11; - break label$10; - } - $4 = $4 << $11 + 8 | $4 >>> $12; - } - $18 = (Math_imul(Math_imul($4 & 127, 13959168) >>> 16 | 0, $8) >>> 16 | 0) + $8 | 0; - $11 = $10 << $5; - } - $4 = $18; - $4 = ($3 + Math_imul($11 - $1 >> 16, $9) | 0) + (Math_imul(($4 << $5) - $1 & 65535, $9) >> 16) | 0; - HEAP32[$14 + 4 >> 2] = $4; - $3 = $4 >> 31; - $1 = Math_clz32($3 ^ $3 + $4); - $3 = $4 << $1 - 1; - $8 = $3; - $4 = ($6 | 0) > 1 ? $6 : 1; - $9 = Math_clz32($4); - $5 = $4 << $9 - 1; - $4 = 536870911 / ($5 >> 16) << 16 >> 16; - $3 = (Math_imul($4, $3 & 65535) >> 16) + Math_imul($3 >> 16, $4) | 0; - $7 = $3 >> 31; - $10 = $7; - $7 = $5 >> 31; - $14 = $7; - $7 = $10; - $14 = __wasm_i64_mul($3, $7, $5, $14); - $10 = $14; - $7 = i64toi32_i32$HIGH_BITS; - $5 = $8 - ((($7 & 536870911) << 3 | $10 >>> 29) & -8) | 0; - $4 = (Math_imul($5 >> 16, $4) + $3 | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $3 = ($1 - $9 | 0) + 15 | 0; - label$12 : { - if (($3 | 0) <= -1) { - $3 = 0 - $3 | 0; - $1 = 2147483647 >>> $3 | 0; - $9 = -2147483648 >> $3; - $4 = (($1 | 0) < ($4 | 0) ? $1 : ($4 | 0) < ($9 | 0) ? $9 : $4) << $3; - break label$12; - } - $4 = ($3 | 0) < 32 ? $4 >> $3 : 0; - } - $4 = ($4 | 0) > 0 ? $4 : 0; - HEAP32[$0 >> 2] = ($4 | 0) < 32767 ? $4 : 32767; - __stack_pointer = $13 + 16 | 0; - return $2; -} -function transient_analysis($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = Math_fround(0), $9 = Math_fround(0), $10 = 0, $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = Math_fround(0), $15 = Math_fround(0), $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = Math_fround(0), $21 = 0, $22 = Math_fround(0), $23 = 0, $24 = 0, $25 = Math_fround(0), $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - $10 = __stack_pointer; - $21 = $10; - $10 = $10 - (($1 << 2) + 15 & -16) | 0; - __stack_pointer = $10; - HEAP32[$6 >> 2] = 0; - $16 = ($1 | 0) / 2 | 0; - label$1 : { - label$2 : { - label$3 : { - if (($2 | 0) < 1) { - break label$3; - } - $22 = $5 ? Math_fround(.03125) : Math_fround(.0625); - $23 = $16 - 5 | 0; - $24 = Math_imul($16, 6) - 102 | 0; - $25 = Math_fround($16 | 0); - $26 = +($16 | 0); - $27 = ($1 | 0) < 1; - $28 = $10; - $29 = $10; - $30 = $10; - $31 = $10; - $32 = $10; - $33 = ($1 | 0) < 36; - while (1) { - if (!$27) { - $12 = Math_imul($1, $18); - $13 = Math_fround(0); - $7 = 0; - $14 = Math_fround(0); - while (1) { - $9 = HEAPF32[($7 + $12 << 2) + $0 >> 2]; - $8 = Math_fround($13 + $9); - HEAPF32[($7 << 2) + $10 >> 2] = $8; - $13 = Math_fround(Math_fround($14 + $8) - Math_fround($9 + $9)); - $14 = Math_fround($9 + Math_fround($8 * Math_fround(-.5))); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - HEAP32[$10 >> 2] = 0; - HEAP32[$10 + 4 >> 2] = 0; - $7 = $28; - HEAP32[$7 + 40 >> 2] = 0; - HEAP32[$7 + 44 >> 2] = 0; - HEAP32[$29 + 32 >> 2] = 0; - HEAP32[$7 + 36 >> 2] = 0; - HEAP32[$30 + 24 >> 2] = 0; - HEAP32[$7 + 28 >> 2] = 0; - HEAP32[$31 + 16 >> 2] = 0; - HEAP32[$7 + 20 >> 2] = 0; - HEAP32[$32 + 8 >> 2] = 0; - HEAP32[$7 + 12 >> 2] = 0; - $7 = 0; - $13 = Math_fround(0); - $9 = Math_fround(0); - $20 = Math_fround(0); - $8 = Math_fround(0); - $11 = ($1 | 0) > 1; - $15 = $8; - label$7 : { - if (!$11) { - break label$7; - } - while (1) { - $12 = $7 << 3; - $8 = HEAPF32[$12 + $10 >> 2]; - $15 = Math_fround($8 * $8); - $8 = HEAPF32[($12 | 4) + $10 >> 2]; - $8 = Math_fround($15 + Math_fround($8 * $8)); - $9 = Math_fround($9 + Math_fround($22 * Math_fround($8 - $9))); - HEAPF32[($7 << 2) + $10 >> 2] = $9; - $13 = Math_fround($13 + $8); - $7 = $7 + 1 | 0; - if (($16 | 0) != ($7 | 0)) { - continue; - } - break; - } - $7 = $16; - $14 = Math_fround(0); - $20 = $13; - $8 = Math_fround(0); - $15 = $8; - if (!$11) { - break label$7; - } - while (1) { - $12 = $7 - 1 | 0; - $11 = ($12 << 2) + $10 | 0; - $8 = Math_fround($8 + Math_fround(Math_fround(HEAPF32[$11 >> 2] - $8) * Math_fround(.125))); - HEAPF32[$11 >> 2] = $8; - $14 = $8 < $14 ? $14 : $8; - $11 = ($7 | 0) > 1; - $7 = $12; - if ($11) { - continue; - } - break; - } - $15 = $14; - } - $8 = $15; - $9 = $20; - $13 = HEAPF32[$10 >> 2]; - if ($13 != $13) { - break label$2; - } - $9 = Math_fround($25 / Math_fround(Math_fround(Math_sqrt(+Math_fround($9 * $8) * .5 * $26)) + Math_fround(1.0000000036274937e-15))); - if ($9 != $9) { - break label$1; - } - $12 = 0; - if (!$33) { - $8 = Math_fround($9 * Math_fround(64)); - $7 = 12; - while (1) { - $9 = Math_fround(Math_floor(Math_fround($8 * Math_fround(HEAPF32[($7 << 2) + $10 >> 2] + Math_fround(1.0000000036274937e-15))))); - $11 = Math_fround(Math_min($9, Math_fround(127))) < Math_fround(0); - $17 = $11 ? 0 : 127; - $17 = $9 > Math_fround(127) ? $17 : $11 ? $17 : +$9; - label$12 : { - if (Math_abs($17) < 2147483648) { - $11 = ~~$17; - break label$12; - } - $11 = -2147483648; - } - $12 = HEAPU8[$11 + 42832 | 0] + $12 | 0; - $7 = $7 + 4 | 0; - if (($23 | 0) > ($7 | 0)) { - continue; - } - break; - } - } - $7 = ($12 << 8) / ($24 | 0) | 0; - if (($19 | 0) < ($7 | 0)) { - HEAP32[$4 >> 2] = $18; - $19 = $7; - } - $18 = $18 + 1 | 0; - if (($18 | 0) != ($2 | 0)) { - continue; - } - break; - } - $7 = ($19 | 0) > 200; - if (!$5 | $19 - 201 >>> 0 > 398) { - break label$3; - } - HEAP32[$6 >> 2] = 1; - $7 = 0; - } - HEAPF32[$3 >> 2] = Math_sqrt(Math_max(+Math_fround(Math_fround(Math_min(Math_fround(Math_max(Math_fround(Math_fround(Math_sqrt(+(Math_imul($19, 27) | 0))) + Math_fround(-42)), Math_fround(0))), Math_fround(163))) * Math_fround(.006899999920278788)) + -.139, 0)); - __stack_pointer = $21; - return $7; - } - celt_fatal(42960, 42508, 369); - abort(); - } - celt_fatal(42998, 42508, 370); - abort(); -} -function run_prefilter($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { - var $12 = 0, $13 = Math_fround(0), $14 = 0, $15 = 0, $16 = 0, $17 = Math_fround(0), $18 = 0, $19 = Math_fround(0), $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = Math_fround(0), $27 = 0, $28 = 0, $29 = 0; - $12 = __stack_pointer - 16 | 0; - __stack_pointer = $12; - $21 = HEAP32[$0 >> 2]; - $20 = HEAP32[$21 + 4 >> 2]; - $15 = $4 + 1024 | 0; - $14 = $12 - ((Math_imul($15, $3) << 2) + 15 & -16) | 0; - $18 = $14; - __stack_pointer = $14; - $16 = $12; - HEAP32[$12 + 12 >> 2] = ($15 << 2) + $14; - HEAP32[$12 + 8 >> 2] = $14; - $23 = ($3 | 0) > 1 ? $3 : 1; - $22 = $4 << 2; - $24 = $4 + $20 | 0; - $14 = ($20 << 2) + $1 | 0; - $12 = 0; - while (1) { - memcpy(memcpy(HEAP32[($16 + 8 | 0) + ($12 << 2) >> 2], ($12 << 12) + $2 | 0, 4096) + 4096 | 0, (Math_imul($12, $24) << 2) + $14 | 0, $22); - $12 = $12 + 1 | 0; - if (($23 | 0) != ($12 | 0)) { - continue; - } - break; - } - label$2 : { - if ($9) { - $14 = $18; - $12 = $14 - (($15 << 1 & -4) + 15 & -16) | 0; - __stack_pointer = $12; - pitch_downsample($16 + 8 | 0, $12, $15, $3, HEAP32[$0 + 72 >> 2]); - pitch_search($12 + 2048 | 0, $12, $4, 979, $16 + 4 | 0, HEAP32[$0 + 72 >> 2]); - HEAP32[$16 + 4 >> 2] = 1024 - HEAP32[$16 + 4 >> 2]; - $13 = remove_doubling($12, 1024, 15, $4, $16 + 4 | 0, HEAP32[$0 + 104 >> 2], HEAPF32[$0 + 108 >> 2], HEAP32[$0 + 72 >> 2]); - if (HEAP32[$16 + 4 >> 2] >= 1023) { - HEAP32[$16 + 4 >> 2] = 1022; - } - $13 = Math_fround($13 * Math_fround(.699999988079071)); - $12 = HEAP32[$0 + 56 >> 2]; - $13 = ($12 | 0) > 2 ? Math_fround($13 * Math_fround(.5)) : $13; - $13 = ($12 | 0) > 8 ? Math_fround(0) : ($12 | 0) > 4 ? Math_fround($13 * Math_fround(.5)) : $13; - break label$2; - } - HEAP32[$16 + 4 >> 2] = 15; - $13 = Math_fround(0); - } - $12 = HEAP32[$16 + 4 >> 2]; - $3 = HEAP32[$0 + 104 >> 2]; - $14 = $12 - $3 | 0; - $9 = $14; - $13 = HEAP32[$11 >> 2] ? Math_fround($13 * HEAPF32[$11 + 40 >> 2]) : $13; - $14 = $14 >> 31; - $17 = (Math_imul($14 ^ $14 + $9, 10) | 0) > ($12 | 0) ? Math_fround(.4000000059604645) : Math_fround(.20000000298023224); - $17 = ($10 | 0) < 25 ? Math_fround($17 + Math_fround(.10000000149011612)) : $17; - $19 = ($10 | 0) < 35 ? Math_fround($17 + Math_fround(.10000000149011612)) : $17; - $17 = HEAPF32[$0 + 108 >> 2]; - $19 = $17 > Math_fround(.4000000059604645) ? Math_fround($19 + Math_fround(-.10000000149011612)) : $19; - $19 = $17 > Math_fround(.550000011920929) ? Math_fround($19 + Math_fround(-.10000000149011612)) : $19; - if (!($13 < ($19 > Math_fround(.20000000298023224) ? $19 : Math_fround(.20000000298023224)))) { - $27 = 1; - $13 = Math_fround(Math_floor(Math_fround(Math_fround(Math_fround((Math_fround(Math_abs(Math_fround($13 - $17))) < Math_fround(.10000000149011612) ? $17 : $13) * Math_fround(32)) / Math_fround(3)) + Math_fround(.5)))); - label$8 : { - if (Math_fround(Math_abs($13)) < Math_fround(2147483648)) { - $12 = ~~$13; - break label$8; - } - $12 = -2147483648; - } - $12 = ($12 | 0) > 7 ? 7 : $12 - 1 | 0; - $25 = ($12 | 0) > 0 ? $12 : 0; - $26 = Math_fround(Math_fround($25 + 1 | 0) * Math_fround(.09375)); - } - $28 = 4096 - $22 | 0; - $14 = $20 << 2; - $17 = Math_fround(-$26); - $9 = ($4 | 0) < 1025; - $29 = 0 - $4 << 2; - $12 = 0; - while (1) { - $15 = HEAP32[$21 + 44 >> 2]; - HEAP32[$0 + 104 >> 2] = ($3 | 0) > 15 ? $3 : 15; - $10 = ((Math_imul($12, $20) << 2) + $0 | 0) + 244 | 0; - $3 = memcpy((Math_imul($12, $24) << 2) + $1 | 0, $10, $14); - $15 = $15 - $20 | 0; - if ($15) { - $11 = HEAP32[$0 + 104 >> 2]; - $13 = Math_fround(-HEAPF32[$0 + 108 >> 2]); - $18 = HEAP32[$0 + 112 >> 2]; - comb_filter($3 + $14 | 0, HEAP32[($16 + 8 | 0) + ($12 << 2) >> 2] + 4096 | 0, $11, $11, $15, $13, $13, $18, $18, 0, 0, HEAP32[$0 + 72 >> 2]); - } - $11 = $15 << 2; - $18 = ($16 + 8 | 0) + ($12 << 2) | 0; - comb_filter($11 + ($3 + $14 | 0) | 0, (HEAP32[$18 >> 2] + $11 | 0) + 4096 | 0, HEAP32[$0 + 104 >> 2], HEAP32[$16 + 4 >> 2], $4 - $15 | 0, Math_fround(-HEAPF32[$0 + 108 >> 2]), $17, HEAP32[$0 + 112 >> 2], $5, HEAP32[$21 + 60 >> 2], $20, HEAP32[$0 + 72 >> 2]); - $15 = $4 << 2; - memcpy($10, $15 + $3 | 0, $14); - $3 = ($12 << 12) + $2 | 0; - label$12 : { - if (!$9) { - memcpy($3, HEAP32[$18 >> 2] + $15 | 0, 4096); - break label$12; - } - memcpy((memmove($3, $3 + $15 | 0, $28) + $29 | 0) + 4096 | 0, HEAP32[$18 >> 2] + 4096 | 0, $22); - } - $12 = $12 + 1 | 0; - if (($23 | 0) != ($12 | 0)) { - $3 = HEAP32[$0 + 104 >> 2]; - continue; - } - break; - } - HEAPF32[$7 >> 2] = $26; - HEAP32[$6 >> 2] = HEAP32[$16 + 4 >> 2]; - HEAP32[$8 >> 2] = $25; - __stack_pointer = $16 + 16 | 0; - return $27; -} -function opus_repacketizer_out_range_impl($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - $7 = -1; - label$1 : { - if (($1 | 0) < 0 | ($1 | 0) >= ($2 | 0) | HEAP32[$0 + 4 >> 2] < ($2 | 0)) { - break label$1; - } - $10 = $2 - $1 | 0; - $11 = (($1 << 1) + $0 | 0) + 200 | 0; - $8 = $5 ? HEAP16[(($10 << 1) + $11 | 0) - 2 >> 1] > 251 ? 2 : 1 : 0; - label$4 : { - label$5 : { - label$6 : { - label$7 : { - switch ($10 - 1 | 0) { - case 0: - $7 = -2; - $8 = (HEAP16[$11 >> 1] + $8 | 0) + 1 | 0; - if (($8 | 0) > ($4 | 0)) { - break label$1; - } - HEAP8[$3 | 0] = HEAPU8[$0 | 0] & 252; - $7 = $3 + 1 | 0; - break label$6; - case 1: - $7 = HEAPU16[$11 >> 1]; - $9 = $7 << 16 >> 16; - $12 = HEAPU16[$11 + 2 >> 1]; - if (($12 | 0) == ($7 | 0)) { - $7 = -2; - $8 = ($9 << 1 | 1) + $8 | 0; - if (($8 | 0) > ($4 | 0)) { - break label$1; - } - HEAP8[$3 | 0] = HEAPU8[$0 | 0] & 252 | 1; - $7 = $3 + 1 | 0; - break label$6; - } - $7 = -2; - $8 = (((($12 << 16 >> 16) + $8 | 0) + $9 | 0) + (($9 | 0) > 251) | 0) + 2 | 0; - if (($8 | 0) > ($4 | 0)) { - break label$1; - } - HEAP8[$3 | 0] = HEAPU8[$0 | 0] & 252 | 2; - $7 = $3 + 1 | 0; - $7 = $7 + encode_size(HEAP16[$11 >> 1], $7) | 0; - break label$6; - default: - break label$7; - } - } - $7 = $3; - if (($10 | 0) > 2) { - break label$5; - } - } - if (!$6 | ($4 | 0) <= ($8 | 0)) { - break label$4; - } - } - $12 = $5 ? HEAP16[(($10 << 1) + $11 | 0) - 2 >> 1] > 251 ? 4 : 3 : 2; - $7 = 1; - $9 = HEAP16[$11 >> 1]; - label$13 : { - label$14 : { - if (($10 | 0) <= 1) { - break label$14; - } - $8 = $9 & 65535; - while (1) { - if (HEAPU16[($7 << 1) + $11 >> 1] == ($8 | 0)) { - $7 = $7 + 1 | 0; - if (($10 | 0) != ($7 | 0)) { - continue; - } - break label$14; - } - break; - } - $7 = 1; - $8 = ($9 + $12 | 0) + (($9 | 0) > 251 ? 2 : 1) | 0; - $13 = $10 - 1 | 0; - $12 = ($1 ^ -1) + $2 | 0; - if (($12 | 0) >= 2) { - while (1) { - $9 = HEAP16[($7 << 1) + $11 >> 1]; - $8 = ($9 + $8 | 0) + (($9 | 0) > 251 ? 2 : 1) | 0; - $7 = $7 + 1 | 0; - if (($12 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - $7 = -2; - $8 = HEAP16[($13 << 1) + $11 >> 1] + $8 | 0; - if (($8 | 0) > ($4 | 0)) { - break label$1; - } - $7 = HEAPU8[$0 | 0]; - $9 = $10 | -128; - HEAP8[$3 + 1 | 0] = $9; - HEAP8[$3 | 0] = $7 | 3; - $7 = 0; - break label$13; - } - $7 = -2; - $8 = Math_imul($9, $10) + $12 | 0; - if (($8 | 0) > ($4 | 0)) { - break label$1; - } - $7 = HEAPU8[$0 | 0]; - HEAP8[$3 + 1 | 0] = $10; - HEAP8[$3 | 0] = $7 | 3; - $9 = $10; - $7 = 1; - } - $13 = $7; - $7 = $3 + 2 | 0; - label$19 : { - if (!$6) { - break label$19; - } - $12 = $4 - $8 | 0; - if (!$12) { - break label$19; - } - HEAP8[$3 + 1 | 0] = $9 | 64; - $14 = ($12 - 1 | 0) / 255 | 0; - if (($12 | 0) >= 256) { - $9 = ($14 | 0) > 1 ? $14 : 1; - memset($7, 255, $9); - $8 = 0; - while (1) { - $7 = $7 + 1 | 0; - $8 = $8 + 1 | 0; - if (($9 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - HEAP8[$7 | 0] = (Math_imul($14, -255) + $12 | 0) - 1; - $7 = $7 + 1 | 0; - $8 = $4; - } - if (($10 | 0) < 2 | $13) { - break label$4; - } - $2 = ($1 ^ -1) + $2 | 0; - $9 = ($2 | 0) > 1 ? $2 : 1; - $2 = 0; - while (1) { - $7 = encode_size(HEAP16[($2 << 1) + $11 >> 1], $7) + $7 | 0; - $2 = $2 + 1 | 0; - if (($9 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - if ($5) { - $7 = encode_size(HEAP16[(($10 << 1) + $11 | 0) - 2 >> 1], $7) + $7 | 0; - } - if (($10 | 0) >= 1) { - $0 = (($1 << 2) + $0 | 0) + 8 | 0; - $1 = 0; - while (1) { - $2 = ($1 << 1) + $11 | 0; - $7 = memmove($7, HEAP32[($1 << 2) + $0 >> 2], HEAP16[$2 >> 1]) + HEAP16[$2 >> 1] | 0; - $1 = $1 + 1 | 0; - if (($10 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (!(!$6 | $3 + $4 >>> 0 <= $7 >>> 0)) { - memset($7, 0, ($4 - $7 | 0) + $3 | 0); - } - $7 = $8; - } - return $7; -} -function try_realloc_chunk($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $6 = HEAP32[$0 + 4 >> 2]; - $3 = $6 & 3; - $5 = $6 & -8; - $2 = $5 + $0 | 0; - label$2 : { - if (!$3) { - $3 = 0; - if ($1 >>> 0 < 256) { - break label$2; - } - if ($1 + 4 >>> 0 <= $5 >>> 0) { - $3 = $0; - if ($5 - $1 >>> 0 <= HEAP32[13352] << 1 >>> 0) { - break label$2; - } - } - return 0; - } - label$5 : { - if ($1 >>> 0 <= $5 >>> 0) { - $3 = $5 - $1 | 0; - if ($3 >>> 0 < 16) { - break label$5; - } - HEAP32[$0 + 4 >> 2] = $6 & 1 | $1 | 2; - $1 = $0 + $1 | 0; - HEAP32[$1 + 4 >> 2] = $3 | 3; - HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 4 >> 2] | 1; - dispose_chunk($1, $3); - break label$5; - } - $3 = 0; - if (HEAP32[13238] == ($2 | 0)) { - $2 = HEAP32[13235] + $5 | 0; - if ($2 >>> 0 <= $1 >>> 0) { - break label$2; - } - HEAP32[$0 + 4 >> 2] = $6 & 1 | $1 | 2; - $3 = $0 + $1 | 0; - $1 = $2 - $1 | 0; - HEAP32[$3 + 4 >> 2] = $1 | 1; - HEAP32[13235] = $1; - HEAP32[13238] = $3; - break label$5; - } - if (HEAP32[13237] == ($2 | 0)) { - $2 = HEAP32[13234] + $5 | 0; - if ($2 >>> 0 < $1 >>> 0) { - break label$2; - } - $3 = $2 - $1 | 0; - label$9 : { - if ($3 >>> 0 >= 16) { - HEAP32[$0 + 4 >> 2] = $6 & 1 | $1 | 2; - $1 = $0 + $1 | 0; - HEAP32[$1 + 4 >> 2] = $3 | 1; - $2 = $0 + $2 | 0; - HEAP32[$2 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 4 >> 2] & -2; - break label$9; - } - HEAP32[$0 + 4 >> 2] = $6 & 1 | $2 | 2; - $1 = $0 + $2 | 0; - HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] | 1; - $3 = 0; - $1 = 0; - } - HEAP32[13237] = $1; - HEAP32[13234] = $3; - break label$5; - } - $4 = HEAP32[$2 + 4 >> 2]; - if ($4 & 2) { - break label$2; - } - $7 = ($4 & -8) + $5 | 0; - if ($7 >>> 0 < $1 >>> 0) { - break label$2; - } - $9 = $7 - $1 | 0; - label$11 : { - if ($4 >>> 0 <= 255) { - $3 = HEAP32[$2 + 12 >> 2]; - $2 = HEAP32[$2 + 8 >> 2]; - $4 = $4 >>> 3 | 0; - $5 = ($4 << 3) + 52968 | 0; - if (($2 | 0) == ($3 | 0)) { - HEAP32[13232] = HEAP32[13232] & __wasm_rotl_i32(-2, $4); - break label$11; - } - HEAP32[$2 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $2; - break label$11; - } - $8 = HEAP32[$2 + 24 >> 2]; - $4 = HEAP32[$2 + 12 >> 2]; - label$14 : { - if (($4 | 0) != ($2 | 0)) { - $3 = HEAP32[$2 + 8 >> 2]; - HEAP32[$3 + 12 >> 2] = $4; - HEAP32[$4 + 8 >> 2] = $3; - break label$14; - } - label$17 : { - $3 = $2 + 20 | 0; - $5 = HEAP32[$3 >> 2]; - if ($5) { - break label$17; - } - $3 = $2 + 16 | 0; - $5 = HEAP32[$3 >> 2]; - if ($5) { - break label$17; - } - $4 = 0; - break label$14; - } - while (1) { - $10 = $3; - $4 = $5; - $3 = $4 + 20 | 0; - $5 = HEAP32[$3 >> 2]; - if ($5) { - continue; - } - $3 = $4 + 16 | 0; - $5 = HEAP32[$4 + 16 >> 2]; - if ($5) { - continue; - } - break; - } - HEAP32[$10 >> 2] = 0; - } - if (!$8) { - break label$11; - } - $5 = HEAP32[$2 + 28 >> 2]; - $3 = ($5 << 2) + 53232 | 0; - label$19 : { - if (HEAP32[$3 >> 2] == ($2 | 0)) { - HEAP32[$3 >> 2] = $4; - if ($4) { - break label$19; - } - HEAP32[13233] = HEAP32[13233] & __wasm_rotl_i32(-2, $5); - break label$11; - } - HEAP32[(HEAP32[$8 + 16 >> 2] == ($2 | 0) ? 16 : 20) + $8 >> 2] = $4; - if (!$4) { - break label$11; - } - } - HEAP32[$4 + 24 >> 2] = $8; - $3 = HEAP32[$2 + 16 >> 2]; - if ($3) { - HEAP32[$4 + 16 >> 2] = $3; - HEAP32[$3 + 24 >> 2] = $4; - } - $2 = HEAP32[$2 + 20 >> 2]; - if (!$2) { - break label$11; - } - HEAP32[$4 + 20 >> 2] = $2; - HEAP32[$2 + 24 >> 2] = $4; - } - if ($9 >>> 0 <= 15) { - HEAP32[$0 + 4 >> 2] = $6 & 1 | $7 | 2; - $1 = $0 + $7 | 0; - HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] | 1; - break label$5; - } - HEAP32[$0 + 4 >> 2] = $6 & 1 | $1 | 2; - $1 = $0 + $1 | 0; - HEAP32[$1 + 4 >> 2] = $9 | 3; - $2 = $0 + $7 | 0; - HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 4 >> 2] | 1; - dispose_chunk($1, $9); - } - $3 = $0; - } - return $3; -} -function silk_A2NLSF($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - $6 = __stack_pointer - 144 | 0; - __stack_pointer = $6; - HEAP32[$6 + 12 >> 2] = $6 + 16; - HEAP32[$6 + 8 >> 2] = $6 + 80; - $10 = $2 >> 1; - silk_A2NLSF_init($1, $6 + 80 | 0, $6 + 16 | 0, $10); - $13 = $6 + 80 | 0; - $15 = HEAP16[7560]; - $3 = silk_A2NLSF_eval_poly($6 + 80 | 0, $15, $10); - if (($3 | 0) <= -1) { - HEAP16[$0 >> 1] = 0; - $13 = $6 + 16 | 0; - $3 = silk_A2NLSF_eval_poly($6 + 16 | 0, $15, $10); - $14 = 1; - } - label$2 : while (1) { - $8 = 1; - $9 = $15; - while (1) { - label$4 : { - $19 = $8 << 1; - $4 = HEAP16[$19 + 15120 >> 1]; - $16 = silk_A2NLSF_eval_poly($13, $4, $10); - label$5 : { - label$6 : { - $7 = ($3 | 0) > 0; - if (!(($3 | 0) < 0 | (0 - $5 | 0) < ($16 | 0) ? !(($5 | 0) <= ($16 | 0) ? !$7 : 0) : 0)) { - $5 = $4 + $9 | 0; - $11 = ($5 >> 1) + ($5 & 1) | 0; - $12 = silk_A2NLSF_eval_poly($13, $11, $10); - label$9 : { - label$10 : { - if ($7) { - break label$10; - } - $5 = -256; - if (($12 | 0) <= -1) { - break label$10; - } - $7 = $11; - $17 = $12; - break label$9; - } - $5 = ($12 | 0) < 1 & ($3 | 0) > -1; - $17 = $5 ? $12 : $16; - $3 = $5 ? $3 : $12; - $7 = $5 ? $11 : $4; - $9 = $5 ? $9 : $11; - $5 = $5 ? -256 : -128; - } - $4 = $7 + $9 | 0; - $12 = ($4 >> 1) + ($4 & 1) | 0; - $4 = silk_A2NLSF_eval_poly($13, $12, $10); - if (($4 | 0) <= -1 | ($3 | 0) > 0) { - break label$6; - } - $17 = $4; - $7 = $12; - break label$5; - } - $7 = ($8 | 0) < 128; - $5 = 0; - $9 = $4; - $3 = $16; - $8 = $8 + 1 | 0; - if ($7) { - continue; - } - if ($18 >>> 0 >= 16) { - $3 = 32768 / ($2 + 1 | 0) | 0; - HEAP16[$0 >> 1] = $3; - $8 = 2; - if (($2 | 0) < 2) { - break label$4; - } - $3 = $3 << 1; - HEAP16[$0 + 2 >> 1] = $3; - if (($2 | 0) == 2) { - break label$4; - } - while (1) { - $3 = HEAPU16[$0 >> 1] + $3 | 0; - HEAP16[($8 << 1) + $0 >> 1] = $3; - $8 = $8 + 1 | 0; - if (($8 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$4; - } - silk_bwexpander_32($1, $2, (-2 << $18) + 65536 | 0); - silk_A2NLSF_init($1, $6 + 80 | 0, $6 + 16 | 0, $10); - $14 = 0; - $13 = $6 + 80 | 0; - $8 = $18 + 1 | 0; - $18 = $8; - $3 = silk_A2NLSF_eval_poly($6 + 80 | 0, $15, $10); - if (($3 | 0) > -1) { - continue label$2; - } - HEAP16[$0 >> 1] = 0; - $14 = 1; - $13 = $6 + 16 | 0; - $3 = silk_A2NLSF_eval_poly($6 + 16 | 0, $15, $10); - $18 = $8; - continue label$2; - } - $11 = ($4 | 0) < 1 & ($3 | 0) > -1; - $17 = $11 ? $4 : $17; - $3 = $11 ? $3 : $4; - $9 = $11 ? $9 : $12; - $5 = $11 ? $5 : $5 | 64; - $7 = $11 ? $12 : $7; - } - $4 = $9 + $7 | 0; - $4 = silk_A2NLSF_eval_poly($13, ($4 >> 1) + ($4 & 1) | 0, $10); - label$13 : { - if (!(($4 | 0) <= -1 | ($3 | 0) > 0)) { - $7 = $4; - break label$13; - } - $9 = ($4 | 0) < 1 & ($3 | 0) > -1; - $7 = $9 ? $4 : $17; - $3 = $9 ? $3 : $4; - $5 = $9 ? $5 : $5 + 32 | 0; - } - $4 = $3 - $7 | 0; - $7 = $3 >> 31; - label$15 : { - if (($7 ^ $3 + $7) >= 65536) { - $5 = (($3 | 0) / ($4 >> 5) | 0) + $5 | 0; - break label$15; - } - if (!$4) { - break label$15; - } - $5 = ((($3 << 5) + ($4 >> 1) | 0) / ($4 | 0) | 0) + $5 | 0; - } - $3 = ($8 << 8) + $5 | 0; - HEAP16[($14 << 1) + $0 >> 1] = ($3 | 0) < 32767 ? $3 : 32767; - $14 = $14 + 1 | 0; - if (($14 | 0) >= ($2 | 0)) { - break label$4; - } - $5 = !$16; - $3 = 4096 - ($14 << 12 & 8192) | 0; - $9 = HEAP16[$19 + 15118 >> 1]; - $13 = HEAP32[($6 + 8 | 0) + (($14 & 1) << 2) >> 2]; - continue; - } - break; - } - break; - } - __stack_pointer = $6 + 144 | 0; -} -function ec_enc_done($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $2 = HEAP32[$0 + 28 >> 2]; - $4 = Math_clz32($2); - $1 = 2147483647 >>> $4 | 0; - $3 = HEAP32[$0 + 32 >> 2]; - $5 = $1 + $3 & -2147483648 >> $4; - label$1 : { - label$2 : { - if ($2 + $3 >>> 0 <= ($1 | $5) >>> 0) { - $1 = $1 >>> 1 | 0; - $5 = $3 + $1 & ($1 ^ -1); - $4 = $4 + 1 | 0; - break label$2; - } - if (!$4) { - break label$1; - } - } - $6 = $4; - while (1) { - $7 = $5 >>> 23 | 0; - label$5 : { - if (($7 | 0) != 255) { - $3 = $5 >>> 31 | 0; - $2 = HEAP32[$0 + 40 >> 2]; - if (($2 | 0) >= 0) { - $1 = -1; - $4 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $4 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $4 + 1; - HEAP8[HEAP32[$0 >> 2] + $4 | 0] = $2 + $3; - $1 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $1; - } - $1 = HEAP32[$0 + 36 >> 2]; - if ($1) { - $4 = $3 - 1 | 0; - while (1) { - $3 = -1; - $2 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $2 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $2 + 1; - HEAP8[HEAP32[$0 >> 2] + $2 | 0] = $4; - $3 = 0; - $1 = HEAP32[$0 + 36 >> 2]; - } - $1 = $1 - 1 | 0; - HEAP32[$0 + 36 >> 2] = $1; - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - if ($1) { - continue; - } - break; - } - } - HEAP32[$0 + 40 >> 2] = $7 & 255; - break label$5; - } - HEAP32[$0 + 36 >> 2] = HEAP32[$0 + 36 >> 2] + 1; - } - $5 = $5 << 8 & 2147483392; - $1 = ($6 | 0) > 8; - $4 = $6 - 8 | 0; - $6 = $4; - if ($1) { - continue; - } - break; - } - } - $1 = -1; - $3 = HEAP32[$0 + 40 >> 2]; - label$12 : { - label$13 : { - label$14 : { - if (($3 | 0) <= -1) { - $1 = HEAP32[$0 + 36 >> 2]; - if ($1) { - break label$14; - } - break label$12; - } - $2 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $2 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $2 + 1; - HEAP8[HEAP32[$0 >> 2] + $2 | 0] = $3; - $1 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $1; - $1 = HEAP32[$0 + 36 >> 2]; - if (!$1) { - break label$13; - } - } - while (1) { - $3 = -1; - $2 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $2 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $2 + 1; - HEAP8[HEAP32[$0 >> 2] + $2 | 0] = 255; - $3 = 0; - $1 = HEAP32[$0 + 36 >> 2]; - } - $1 = $1 - 1 | 0; - HEAP32[$0 + 36 >> 2] = $1; - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - if ($1) { - continue; - } - break; - } - } - HEAP32[$0 + 40 >> 2] = 0; - } - $3 = HEAP32[$0 + 12 >> 2]; - $5 = HEAP32[$0 + 16 >> 2]; - label$19 : { - if (($5 | 0) <= 7) { - $6 = HEAP32[$0 + 44 >> 2]; - break label$19; - } - $1 = $5; - while (1) { - $2 = -1; - $6 = HEAP32[$0 + 4 >> 2]; - $5 = HEAP32[$0 + 8 >> 2]; - if ($6 >>> 0 > $5 + HEAP32[$0 + 24 >> 2] >>> 0) { - $2 = $5 + 1 | 0; - HEAP32[$0 + 8 >> 2] = $2; - HEAP8[HEAP32[$0 >> 2] + ($6 - $2 | 0) | 0] = $3; - $2 = 0; - } - $6 = HEAP32[$0 + 44 >> 2] | $2; - HEAP32[$0 + 44 >> 2] = $6; - $3 = $3 >>> 8 | 0; - $2 = ($1 | 0) > 15; - $5 = $1 - 8 | 0; - $1 = $5; - if ($2) { - continue; - } - break; - } - } - label$23 : { - if ($6) { - break label$23; - } - $1 = HEAP32[$0 + 24 >> 2]; - memset($1 + HEAP32[$0 >> 2] | 0, 0, (HEAP32[$0 + 4 >> 2] - $1 | 0) - HEAP32[$0 + 8 >> 2] | 0); - if (($5 | 0) < 1) { - break label$23; - } - $1 = HEAP32[$0 + 8 >> 2]; - $2 = HEAP32[$0 + 4 >> 2]; - if ($1 >>> 0 >= $2 >>> 0) { - HEAP32[$0 + 44 >> 2] = -1; - return; - } - $4 = 0 - $4 | 0; - if (!(HEAP32[$0 + 24 >> 2] + $1 >>> 0 < $2 >>> 0 | ($5 | 0) <= ($4 | 0))) { - HEAP32[$0 + 44 >> 2] = -1; - $3 = (-1 << $4 ^ -1) & $3; - } - $0 = HEAP32[$0 >> 2] + (($1 ^ -1) + $2 | 0) | 0; - HEAP8[$0 | 0] = HEAPU8[$0 | 0] | $3; - } -} -function silk_encode_indices($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $7 = __stack_pointer - 48 | 0; - __stack_pointer = $7; - label$1 : { - label$2 : { - $2 = $3 ? (Math_imul($2, 36) + $0 | 0) + 6100 | 0 : $0 + 4736 | 0; - $5 = (HEAP8[$2 + 29 | 0] << 1) + HEAP8[$2 + 30 | 0] | 0; - if ($5 >>> 0 < 6) { - if (($5 | 0) <= 1 ? $3 : 0) { - break label$2; - } - label$4 : { - if (!(($5 | 0) < 2 ? !$3 : 0)) { - ec_enc_icdf($1, $5 - 2 | 0, 5829, 8); - break label$4; - } - ec_enc_icdf($1, $5, 5833, 8); - } - $3 = HEAP8[$2 | 0]; - label$6 : { - if (($4 | 0) == 2) { - ec_enc_icdf($1, $3, 7328, 8); - break label$6; - } - ec_enc_icdf($1, $3 >> 3, (HEAP8[$2 + 29 | 0] << 3) + 7296 | 0, 8); - ec_enc_icdf($1, HEAPU8[$2 | 0] & 7, 5872, 8); - } - if (HEAP32[$0 + 4580 >> 2] >= 2) { - $3 = 1; - while (1) { - ec_enc_icdf($1, HEAP8[$2 + $3 | 0], 7328, 8); - $3 = $3 + 1 | 0; - if (($3 | 0) < HEAP32[$0 + 4580 >> 2]) { - continue; - } - break; - } - } - $3 = HEAP32[$0 + 4692 >> 2]; - ec_enc_icdf($1, HEAP8[$2 + 8 | 0], HEAP32[$3 + 16 >> 2] + Math_imul(HEAP16[$3 >> 1], HEAP8[$2 + 29 | 0] >> 1) | 0, 8); - silk_NLSF_unpack($7 + 16 | 0, $7, HEAP32[$0 + 4692 >> 2], HEAP8[$2 + 8 | 0]); - $5 = HEAP32[$0 + 4692 >> 2]; - $6 = HEAP16[$5 + 2 >> 1]; - if (($6 | 0) != HEAP32[$0 + 4640 >> 2]) { - break label$1; - } - $3 = 0; - if (($6 | 0) > 0) { - while (1) { - $6 = $3; - $3 = $3 + 1 | 0; - $8 = $3 + $2 | 0; - $9 = HEAP8[$8 + 8 | 0]; - label$12 : { - if (($9 | 0) >= 4) { - ec_enc_icdf($1, 8, HEAP32[$5 + 28 >> 2] + HEAP16[($7 + 16 | 0) + ($6 << 1) >> 1] | 0, 8); - ec_enc_icdf($1, HEAP8[$8 + 8 | 0] - 4 | 0, 5880, 8); - break label$12; - } - if (($9 | 0) <= -4) { - ec_enc_icdf($1, 0, HEAP32[$5 + 28 >> 2] + HEAP16[($7 + 16 | 0) + ($6 << 1) >> 1] | 0, 8); - ec_enc_icdf($1, -4 - HEAP8[$8 + 8 | 0] | 0, 5880, 8); - break label$12; - } - ec_enc_icdf($1, $9 + 4 | 0, HEAP32[$5 + 28 >> 2] + HEAP16[($7 + 16 | 0) + ($6 << 1) >> 1] | 0, 8); - } - $5 = HEAP32[$0 + 4692 >> 2]; - if (HEAP16[$5 + 2 >> 1] > ($3 | 0)) { - continue; - } - break; - } - } - if (HEAP32[$0 + 4580 >> 2] == 4) { - ec_enc_icdf($1, HEAP8[$2 + 31 | 0], 5835, 8); - } - label$16 : { - if (HEAPU8[$2 + 29 | 0] != 2) { - break label$16; - } - label$17 : { - if (!(($4 | 0) != 2 | HEAP32[$0 + 5768 >> 2] != 2)) { - $3 = HEAP16[$2 + 26 >> 1] - HEAP16[$0 + 5772 >> 1] | 0; - $6 = $3 + 9 | 0; - $3 = $3 + 8 | 0; - ec_enc_icdf($1, $3 >>> 0 > 19 ? 0 : $6, 2080, 8); - if ($3 >>> 0 < 20) { - break label$17; - } - } - $3 = HEAP16[$2 + 26 >> 1]; - $5 = HEAP32[$0 + 4576 >> 2] >> 1; - $6 = ($3 | 0) / ($5 | 0) | 0; - ec_enc_icdf($1, $6, 2048, 8); - ec_enc_icdf($1, $3 - Math_imul($6 << 16 >> 16, $5 << 16 >> 16) | 0, HEAP32[$0 + 4684 >> 2], 8); - } - HEAP16[$0 + 5772 >> 1] = HEAPU16[$2 + 26 >> 1]; - ec_enc_icdf($1, HEAP8[$2 + 28 | 0], HEAP32[$0 + 4688 >> 2], 8); - ec_enc_icdf($1, HEAP8[$2 + 32 | 0], 7369, 8); - if (HEAP32[$0 + 4580 >> 2] >= 1) { - $3 = 0; - while (1) { - ec_enc_icdf($1, HEAP8[($2 + $3 | 0) + 4 | 0], HEAP32[(HEAP8[$2 + 32 | 0] << 2) + 7440 >> 2], 8); - $3 = $3 + 1 | 0; - if (($3 | 0) < HEAP32[$0 + 4580 >> 2]) { - continue; - } - break; - } - } - if ($4) { - break label$16; - } - ec_enc_icdf($1, HEAP8[$2 + 33 | 0], 5826, 8); - } - HEAP32[$0 + 5768 >> 2] = HEAP8[$2 + 29 | 0]; - ec_enc_icdf($1, HEAP8[$2 + 34 | 0], 5857, 8); - __stack_pointer = $7 + 48 | 0; - return; - } - celt_fatal(7919, 7971, 59); - abort(); - } - celt_fatal(7993, 7971, 60); - abort(); - } - celt_fatal(8047, 7971, 93); - abort(); -} -function pitch_downsample($0, $1, $2, $3, $4) { - var $5 = Math_fround(0), $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = Math_fround(0), $11 = Math_fround(0), $12 = Math_fround(0), $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = Math_fround(0), $18 = Math_fround(0), $19 = Math_fround(0), $20 = Math_fround(0), $21 = Math_fround(0), $22 = Math_fround(0); - $6 = __stack_pointer - 48 | 0; - __stack_pointer = $6; - $13 = $2 >> 1; - $8 = HEAP32[$0 >> 2]; - if (($2 | 0) >= 4) { - $15 = ($13 | 0) > 2 ? $13 : 2; - $7 = 1; - while (1) { - $9 = $7 << 3; - $14 = $9 + $8 | 0; - HEAPF32[($7 << 2) + $1 >> 2] = Math_fround(HEAPF32[$14 >> 2] + Math_fround(Math_fround(HEAPF32[$14 - 4 >> 2] + HEAPF32[($9 | 4) + $8 >> 2]) * Math_fround(.5))) * Math_fround(.5); - $7 = $7 + 1 | 0; - if (($15 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - $5 = Math_fround(Math_fround(Math_fround(HEAPF32[$8 + 4 >> 2] * Math_fround(.5)) + HEAPF32[$8 >> 2]) * Math_fround(.5)); - HEAPF32[$1 >> 2] = $5; - if (($3 | 0) == 2) { - $8 = HEAP32[$0 + 4 >> 2]; - if (($2 | 0) >= 4) { - $15 = ($13 | 0) > 2 ? $13 : 2; - $7 = 1; - while (1) { - $9 = ($7 << 2) + $1 | 0; - $0 = $9; - $5 = HEAPF32[$9 >> 2]; - $9 = $7 << 3; - $14 = $9 + $8 | 0; - HEAPF32[$0 >> 2] = $5 + Math_fround(Math_fround(HEAPF32[$14 >> 2] + Math_fround(Math_fround(HEAPF32[$14 - 4 >> 2] + HEAPF32[($9 | 4) + $8 >> 2]) * Math_fround(.5))) * Math_fround(.5)); - $7 = $7 + 1 | 0; - if (($15 | 0) != ($7 | 0)) { - continue; - } - break; - } - $5 = HEAPF32[$1 >> 2]; - } - HEAPF32[$1 >> 2] = $5 + Math_fround(Math_fround(Math_fround(HEAPF32[$8 + 4 >> 2] * Math_fround(.5)) + HEAPF32[$8 >> 2]) * Math_fround(.5)); - } - $7 = 0; - _celt_autocorr($1, $6 + 16 | 0, 0, 0, 4, $13, $4); - HEAPF32[$6 + 16 >> 2] = HEAPF32[$6 + 16 >> 2] * Math_fround(1.000100016593933); - $5 = HEAPF32[$6 + 20 >> 2]; - HEAPF32[$6 + 20 >> 2] = $5 - Math_fround(Math_fround($5 * Math_fround(.00800000037997961)) * Math_fround(.00800000037997961)); - $5 = HEAPF32[$6 + 24 >> 2]; - HEAPF32[$6 + 24 >> 2] = $5 - Math_fround(Math_fround($5 * Math_fround(.01600000075995922)) * Math_fround(.01600000075995922)); - $5 = HEAPF32[$6 + 28 >> 2]; - HEAPF32[$6 + 28 >> 2] = $5 - Math_fround(Math_fround($5 * Math_fround(.024000000208616257)) * Math_fround(.024000000208616257)); - $5 = HEAPF32[$6 + 32 >> 2]; - HEAPF32[$6 + 32 >> 2] = $5 - Math_fround(Math_fround($5 * Math_fround(.03200000151991844)) * Math_fround(.03200000151991844)); - _celt_lpc($6, $6 + 16 | 0, 4); - $5 = Math_fround(HEAPF32[$6 + 8 >> 2] * Math_fround(.7289999127388)); - HEAPF32[$6 + 8 >> 2] = $5; - $10 = Math_fround(HEAPF32[$6 + 12 >> 2] * Math_fround(.6560999155044556)); - HEAPF32[$6 + 12 >> 2] = $10; - $11 = Math_fround(HEAPF32[$6 + 4 >> 2] * Math_fround(.809999942779541)); - HEAPF32[$6 + 4 >> 2] = $11; - $12 = Math_fround(HEAPF32[$6 >> 2] * Math_fround(.8999999761581421)); - HEAPF32[$6 >> 2] = $12; - if (($2 | 0) >= 2) { - $17 = Math_fround($10 + Math_fround($5 * Math_fround(.800000011920929))); - $18 = Math_fround($5 + Math_fround($11 * Math_fround(.800000011920929))); - $19 = Math_fround($11 + Math_fround($12 * Math_fround(.800000011920929))); - $20 = Math_fround($10 * Math_fround(.800000011920929)); - $21 = Math_fround($12 + Math_fround(.800000011920929)); - $5 = Math_fround(0); - $10 = Math_fround(0); - $11 = Math_fround(0); - $12 = Math_fround(0); - while (1) { - $8 = ($7 << 2) + $1 | 0; - $16 = HEAPF32[$8 >> 2]; - HEAPF32[$8 >> 2] = Math_fround($20 * $22) + Math_fround(Math_fround($17 * $5) + Math_fround(Math_fround($18 * $10) + Math_fround(Math_fround($19 * $11) + Math_fround(Math_fround($21 * $12) + $16)))); - $22 = $5; - $5 = $10; - $10 = $11; - $11 = $12; - $12 = $16; - $7 = $7 + 1 | 0; - if (($13 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $6 + 48 | 0; -} -function quant_coarse_energy_impl($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) { - var $15 = 0, $16 = Math_fround(0), $17 = Math_fround(0), $18 = 0, $19 = Math_fround(0), $20 = Math_fround(0), $21 = Math_fround(0), $22 = 0, $23 = Math_fround(0), $24 = Math_fround(0), $25 = 0, $26 = Math_fround(0), $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - $15 = __stack_pointer - 16 | 0; - __stack_pointer = $15; - HEAP32[$15 + 8 >> 2] = 0; - HEAP32[$15 + 12 >> 2] = 0; - if (($6 + 3 | 0) <= ($5 | 0)) { - ec_enc_bit_logp($9, $12, 3); - } - if ($12) { - $19 = Math_fround(.149993896484375); - } else { - $12 = $11 << 2; - $26 = HEAPF32[$12 + 33376 >> 2]; - $19 = HEAPF32[$12 + 33392 >> 2]; - } - if (($1 | 0) < ($2 | 0)) { - $27 = ($10 | 0) > 1 ? $10 : 1; - $28 = Math_imul($10, 3); - $29 = $5 + 32 | 0; - $5 = HEAP32[$0 + 8 >> 2]; - $11 = $1; - while (1) { - $30 = ($14 | 0) != 0 & ($11 | 0) > 1; - $31 = Math_imul($11 - $2 | 0, $28); - $12 = (($11 | 0) < 20 ? $11 : 20) << 1; - $32 = $12 + $7 | 0; - $33 = ($12 | 1) + $7 | 0; - $10 = 0; - while (1) { - $12 = Math_imul($5, $10) + $11 << 2; - $16 = HEAPF32[$12 + $3 >> 2]; - $17 = HEAPF32[$4 + $12 >> 2]; - $20 = Math_fround(Math_fround(Math_max($17, Math_fround(-28))) - $13); - $5 = $16 < $20 ^ 1; - $21 = Math_fround($26 * Math_fround(Math_max($17, Math_fround(-9)))); - $22 = ($15 + 8 | 0) + ($10 << 2) | 0; - $17 = HEAPF32[$22 >> 2]; - $23 = Math_fround(Math_fround($16 - $21) - $17); - $24 = Math_fround(Math_floor(Math_fround($23 + Math_fround(.5)))); - label$7 : { - if (Math_fround(Math_abs($24)) < Math_fround(2147483648)) { - $12 = ~~$24; - break label$7; - } - $12 = -2147483648; - } - if (!($5 | ($12 | 0) > -1)) { - $16 = Math_fround($20 - $16); - label$10 : { - if (Math_fround(Math_abs($16)) < Math_fround(2147483648)) { - $5 = ~~$16; - break label$10; - } - $5 = -2147483648; - } - $12 = $12 + $5 | 0; - $12 = $12 & $12 >> 31; - } - HEAP32[$15 + 4 >> 2] = $12; - $6 = ($29 - HEAP32[$9 + 20 >> 2] | 0) - Math_clz32(HEAP32[$9 + 28 >> 2]) | 0; - $5 = $12; - label$12 : { - if (($1 | 0) == ($11 | 0)) { - break label$12; - } - $18 = $6 + $31 | 0; - if (($18 | 0) > 23) { - break label$12; - } - $5 = ($12 | 0) < 1 ? $12 : 1; - HEAP32[$15 + 4 >> 2] = $5; - if (($18 | 0) > 15) { - break label$12; - } - $5 = ($5 | 0) > -1 ? $5 : -1; - HEAP32[$15 + 4 >> 2] = $5; - } - if ($30) { - $5 = $5 >> 31 & $5; - HEAP32[$15 + 4 >> 2] = $5; - } - label$14 : { - if (($6 | 0) >= 15) { - ec_laplace_encode($9, $15 + 4 | 0, HEAPU8[$32 | 0] << 7, HEAPU8[$33 | 0] << 6); - break label$14; - } - if (($6 | 0) >= 2) { - $5 = ($5 | 0) < 1 ? $5 : 1; - $5 = ($5 | 0) > -1 ? $5 : -1; - HEAP32[$15 + 4 >> 2] = $5; - ec_enc_icdf($9, $5 << 1 ^ $5 >> 31, 33408, 2); - break label$14; - } - if (($6 | 0) == 1) { - $5 = $5 >> 31 & $5; - HEAP32[$15 + 4 >> 2] = $5; - ec_enc_bit_logp($9, 0 - $5 | 0, 1); - break label$14; - } - HEAP32[$15 + 4 >> 2] = -1; - } - $5 = HEAP32[$0 + 8 >> 2]; - $6 = Math_imul($10, $5) + $11 << 2; - $18 = HEAP32[$15 + 4 >> 2]; - $16 = Math_fround($18 | 0); - HEAPF32[$8 + $6 >> 2] = $23 - $16; - HEAPF32[$4 + $6 >> 2] = Math_fround($17 + $21) + $16; - HEAPF32[$22 >> 2] = Math_fround($17 + $16) - Math_fround($19 * $16); - $12 = $12 - $18 | 0; - $6 = $12; - $12 = $12 >> 31; - $25 = ($12 ^ $12 + $6) + $25 | 0; - $10 = $10 + 1 | 0; - if (($27 | 0) != ($10 | 0)) { - continue; - } - break; - } - $11 = $11 + 1 | 0; - if (($11 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $15 + 16 | 0; - return $14 ? 0 : $25; -} -function compute_dense($0, $1, $2) { - var $3 = Math_fround(0), $4 = Math_fround(0), $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $7 = HEAP32[$0 + 12 >> 2]; - label$1 : { - if (($7 | 0) < 1) { - break label$1; - } - $9 = HEAP32[$0 + 8 >> 2]; - $6 = HEAP32[$0 >> 2]; - while (1) { - HEAPF32[($5 << 2) + $1 >> 2] = HEAP8[$5 + $6 | 0]; - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $10 = HEAP32[$0 + 4 >> 2]; - $6 = 0; - $11 = ($9 | 0) < 1; - while (1) { - if (!$11) { - $8 = ($6 << 2) + $1 | 0; - $3 = HEAPF32[$8 >> 2]; - $5 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($5 << 2) + $2 >> 2] * Math_fround(HEAP8[(Math_imul($5, $7) + $6 | 0) + $10 | 0]))); - HEAPF32[$8 >> 2] = $3; - $5 = $5 + 1 | 0; - if (($9 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $6 = $6 + 1 | 0; - if (($7 | 0) != ($6 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $5 = 0; - while (1) { - $6 = ($5 << 2) + $1 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] * Math_fround(.0078125); - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - label$7 : { - if (HEAP32[$0 + 16 >> 2]) { - $5 = 0; - if (($7 | 0) <= 0) { - break label$7; - } - while (1) { - $3 = Math_fround(1); - $6 = ($5 << 2) + $1 | 0; - $4 = Math_fround(HEAPF32[$6 >> 2] * Math_fround(.5)); - label$10 : { - if ($4 < Math_fround(8) ^ 1) { - break label$10; - } - $3 = Math_fround(0); - if ($4 > Math_fround(-8) ^ 1) { - break label$10; - } - $3 = Math_fround(.5); - if ($4 != $4) { - break label$10; - } - $9 = $4 < Math_fround(0); - $4 = $9 ? Math_fround(-$4) : $4; - $3 = Math_fround(Math_floor(Math_fround(Math_fround($4 * Math_fround(25)) + Math_fround(.5)))); - label$11 : { - if (Math_fround(Math_abs($3)) < Math_fround(2147483648)) { - $8 = ~~$3; - break label$11; - } - $8 = -2147483648; - } - $3 = HEAPF32[($8 << 2) + 48128 >> 2]; - $4 = Math_fround($4 + Math_fround(Math_fround($8 | 0) * Math_fround(-.03999999910593033))); - $3 = Math_fround($3 + Math_fround(Math_fround(Math_fround(1) - Math_fround($3 * $4)) * Math_fround($4 * Math_fround(Math_fround(1) - Math_fround($3 * $3))))); - $3 = Math_fround(Math_fround(($9 ? Math_fround(-$3) : $3) * Math_fround(.5)) + Math_fround(.5)); - } - HEAPF32[$6 >> 2] = $3; - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - break label$7; - } - $5 = 0; - if (($7 | 0) <= 0) { - break label$7; - } - while (1) { - $3 = Math_fround(1); - $6 = ($5 << 2) + $1 | 0; - $4 = HEAPF32[$6 >> 2]; - label$14 : { - if ($4 < Math_fround(8) ^ 1) { - break label$14; - } - $3 = Math_fround(-1); - if ($4 > Math_fround(-8) ^ 1) { - break label$14; - } - $3 = Math_fround(0); - if ($4 != $4) { - break label$14; - } - $9 = $4 < Math_fround(0); - $4 = $9 ? Math_fround(-$4) : $4; - $3 = Math_fround(Math_floor(Math_fround(Math_fround($4 * Math_fround(25)) + Math_fround(.5)))); - label$15 : { - if (Math_fround(Math_abs($3)) < Math_fround(2147483648)) { - $8 = ~~$3; - break label$15; - } - $8 = -2147483648; - } - $3 = HEAPF32[($8 << 2) + 48128 >> 2]; - $4 = Math_fround($4 + Math_fround(Math_fround($8 | 0) * Math_fround(-.03999999910593033))); - $3 = Math_fround($3 + Math_fround(Math_fround(Math_fround(1) - Math_fround($3 * $4)) * Math_fround($4 * Math_fround(Math_fround(1) - Math_fround($3 * $3))))); - $3 = $9 ? Math_fround(-$3) : $3; - } - HEAPF32[$6 >> 2] = $3; - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - } -} -function silk_NLSF_stabilize($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - $12 = ($2 << 1) + $1 | 0; - $13 = $2 - 1 | 0; - $11 = ($13 << 1) + $0 | 0; - $16 = ($2 | 0) < 2; - label$1 : { - while (1) { - $5 = HEAP16[$0 >> 1]; - $9 = HEAP16[$1 >> 1]; - $3 = $5 - $9 | 0; - $4 = 1; - $6 = 0; - if (!$16) { - while (1) { - $7 = $5 << 16; - $10 = $4 << 1; - $5 = HEAP16[$10 + $0 >> 1]; - $7 = ($5 - ($7 >> 16) | 0) - HEAP16[$1 + $10 >> 1] | 0; - $8 = $7; - $7 = ($3 | 0) > ($7 | 0); - $3 = $7 ? $8 : $3; - $6 = $7 ? $4 : $6; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $5 = HEAP16[$12 >> 1]; - $4 = 32768 - ($5 + HEAP16[$11 >> 1] | 0) | 0; - $8 = $4; - $4 = ($3 | 0) > ($4 | 0); - if ((($4 ? $8 : $3) | 0) > -1) { - break label$1; - } - $3 = $4 ? $2 : $6; - label$5 : { - if (!$3) { - HEAP16[$0 >> 1] = $9; - break label$5; - } - label$7 : { - label$8 : { - if (($2 | 0) != ($3 | 0)) { - if (($3 | 0) >= 1) { - break label$8; - } - $9 = 0; - break label$7; - } - HEAP16[$11 >> 1] = -32768 - $5; - break label$5; - } - $4 = 1; - if (($3 | 0) == 1) { - break label$7; - } - while (1) { - $9 = HEAP16[($4 << 1) + $1 >> 1] + $9 | 0; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $8 = $3 << 1; - $14 = $8 + $1 | 0; - $10 = HEAP16[$14 >> 1] >> 1; - $7 = $10 + $9 | 0; - $6 = 32768; - label$11 : { - if (($2 | 0) <= ($3 | 0)) { - break label$11; - } - $6 = 32768 - $5 | 0; - $4 = $13; - if (($4 | 0) <= ($3 | 0)) { - break label$11; - } - while (1) { - $6 = $6 - HEAP16[($4 << 1) + $1 >> 1] | 0; - $4 = $4 - 1 | 0; - if (($4 | 0) > ($3 | 0)) { - continue; - } - break; - } - } - $4 = $0 + $8 | 0; - $9 = $4 - 2 | 0; - $3 = HEAP16[$4 >> 1] + HEAP16[$9 >> 1] | 0; - $3 = ($3 >> 1) + ($3 & 1) | 0; - $6 = $6 - $10 | 0; - label$13 : { - if (($7 | 0) > ($6 | 0)) { - $5 = $7; - $8 = $5; - if (($3 | 0) > ($5 | 0)) { - break label$13; - } - $8 = ($3 | 0) < ($6 | 0) ? $6 : $3; - break label$13; - } - $5 = $6; - $8 = $5; - if (($3 | 0) > ($5 | 0)) { - break label$13; - } - $8 = ($3 | 0) < ($7 | 0) ? $7 : $3; - } - $5 = $8; - $3 = $5 - $10 | 0; - HEAP16[$9 >> 1] = $3; - HEAP16[$4 >> 1] = HEAPU16[$14 >> 1] + $3; - } - $15 = $15 + 1 | 0; - if (($15 | 0) != 20) { - continue; - } - break; - } - silk_insertion_sort_increasing_all_values_int16($0, $2); - $4 = HEAP16[$0 >> 1]; - $3 = HEAP16[$1 >> 1]; - $3 = ($3 | 0) < ($4 | 0) ? $4 : $3; - HEAP16[$0 >> 1] = $3; - $7 = ($2 | 0) < 2; - if (!$7) { - $4 = 1; - while (1) { - $6 = $4 << 1; - $5 = $6 + $0 | 0; - $8 = $5; - $5 = HEAP16[$5 >> 1]; - $3 = HEAP16[$1 + $6 >> 1] + ($3 << 16 >> 16) | 0; - $3 = ($3 | 0) < 32767 ? $3 : 32767; - $3 = ($3 | 0) > -32768 ? $3 : -32768; - $3 = ($3 | 0) < ($5 | 0) ? $5 : $3; - HEAP16[$8 >> 1] = $3; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $4 = HEAP16[$11 >> 1]; - $3 = 32768 - HEAP16[$12 >> 1] | 0; - $3 = ($3 | 0) > ($4 | 0) ? $4 : $3; - HEAP16[$11 >> 1] = $3; - if ($7) { - break label$1; - } - $4 = $2 - 2 | 0; - while (1) { - $6 = $4 << 1; - $5 = $6 + $0 | 0; - $2 = $5; - $5 = HEAP16[$5 >> 1]; - $3 = ($3 << 16 >> 16) - HEAP16[($1 + $6 | 0) + 2 >> 1] | 0; - $3 = ($3 | 0) > ($5 | 0) ? $5 : $3; - HEAP16[$2 >> 1] = $3; - $6 = ($4 | 0) > 0; - $4 = $4 - 1 | 0; - if ($6) { - continue; - } - break; - } - } -} -function clt_mdct_forward_c($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = Math_fround(0), $15 = 0, $16 = 0, $17 = Math_fround(0), $18 = 0, $19 = Math_fround(0), $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = Math_fround(0), $25 = 0; - $7 = __stack_pointer; - $22 = $7; - $15 = HEAP32[$0 >> 2]; - $9 = $15 >> 1; - $20 = HEAP32[(($5 << 2) + $0 | 0) + 8 >> 2]; - $17 = HEAPF32[$20 + 4 >> 2]; - $16 = HEAP32[$0 + 24 >> 2]; - if (($5 | 0) >= 1) { - $0 = 0; - while (1) { - $15 = $9; - $9 = $9 >> 1; - $16 = ($15 << 2) + $16 | 0; - $0 = $0 + 1 | 0; - if (($5 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - $0 = $4 << 1 & -4; - $10 = $9 << 2; - $5 = ($0 + ($10 + $1 | 0) | 0) - 4 | 0; - $10 = $7 - ($10 + 15 & -16) | 0; - $7 = $10; - __stack_pointer = $7; - $21 = $4 + 3 >> 2; - $1 = $0 + $1 | 0; - $11 = $15 >> 2; - $12 = $7 - (($11 << 3) + 15 & -16) | 0; - __stack_pointer = $12; - label$3 : { - if (($4 | 0) < 1) { - $7 = 0; - $0 = $10; - break label$3; - } - $7 = ($21 | 0) > 1 ? $21 : 1; - $8 = $0 + $3 | 0; - $18 = $8 - 4 | 0; - $25 = 0 - $9 << 2; - $0 = $10; - while (1) { - $13 = HEAPF32[$18 >> 2]; - $14 = HEAPF32[$8 >> 2]; - HEAPF32[$0 >> 2] = Math_fround($13 * HEAPF32[($9 << 2) + $1 >> 2]) + Math_fround($14 * HEAPF32[$5 >> 2]); - HEAPF32[$0 + 4 >> 2] = Math_fround($14 * HEAPF32[$1 >> 2]) - Math_fround($13 * HEAPF32[$5 + $25 >> 2]); - $18 = $18 - 8 | 0; - $8 = $8 + 8 | 0; - $5 = $5 - 8 | 0; - $1 = $1 + 8 | 0; - $0 = $0 + 8 | 0; - $23 = $23 + 1 | 0; - if (($23 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - $8 = $11 - $21 | 0; - if (($8 | 0) > ($7 | 0)) { - while (1) { - HEAP32[$0 >> 2] = HEAP32[$5 >> 2]; - HEAP32[$0 + 4 >> 2] = HEAP32[$1 >> 2]; - $5 = $5 - 8 | 0; - $1 = $1 + 8 | 0; - $0 = $0 + 8 | 0; - $7 = $7 + 1 | 0; - if (($8 | 0) > ($7 | 0)) { - continue; - } - break; - } - $7 = $8; - } - if (($7 | 0) < ($11 | 0)) { - $8 = (($4 << 2) + $3 | 0) - 4 | 0; - $18 = 0 - $9 << 2; - while (1) { - HEAPF32[$0 >> 2] = Math_fround(HEAPF32[$8 >> 2] * HEAPF32[$5 >> 2]) - Math_fround(HEAPF32[$3 >> 2] * HEAPF32[$1 + $18 >> 2]); - HEAPF32[$0 + 4 >> 2] = Math_fround(HEAPF32[$8 >> 2] * HEAPF32[$1 >> 2]) + Math_fround(HEAPF32[$3 >> 2] * HEAPF32[($9 << 2) + $5 >> 2]); - $8 = $8 - 8 | 0; - $3 = $3 + 8 | 0; - $5 = $5 - 8 | 0; - $1 = $1 + 8 | 0; - $0 = $0 + 8 | 0; - $7 = $7 + 1 | 0; - if (($11 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - if (($15 | 0) <= 3) { - opus_fft_impl($20, $12); - __stack_pointer = $22; - return; - } - $1 = ($11 | 0) > 1 ? $11 : 1; - $0 = 0; - while (1) { - $5 = (HEAP16[HEAP32[$20 + 44 >> 2] + ($0 << 1) >> 1] << 3) + $12 | 0; - $13 = HEAPF32[($0 + $11 << 2) + $16 >> 2]; - $14 = HEAPF32[$10 >> 2]; - $19 = HEAPF32[($0 << 2) + $16 >> 2]; - $24 = HEAPF32[$10 + 4 >> 2]; - HEAPF32[$5 + 4 >> 2] = $17 * Math_fround(Math_fround($13 * $14) + Math_fround($19 * $24)); - HEAPF32[$5 >> 2] = $17 * Math_fround(Math_fround($19 * $14) - Math_fround($13 * $24)); - $10 = $10 + 8 | 0; - $0 = $0 + 1 | 0; - if (($1 | 0) != ($0 | 0)) { - continue; - } - break; - } - opus_fft_impl($20, $12); - if (($15 | 0) >= 4) { - $1 = ($11 | 0) > 1 ? $11 : 1; - $0 = 0; - $5 = (Math_imul($9 - 1 | 0, $6) << 2) + $2 | 0; - $7 = $6 << 1; - $9 = 0 - $7 << 2; - while (1) { - $13 = HEAPF32[$12 + 4 >> 2]; - $14 = HEAPF32[($0 + $11 << 2) + $16 >> 2]; - $17 = HEAPF32[$12 >> 2]; - $19 = HEAPF32[($0 << 2) + $16 >> 2]; - HEAPF32[$2 >> 2] = Math_fround($13 * $14) - Math_fround($17 * $19); - HEAPF32[$5 >> 2] = Math_fround($14 * $17) + Math_fround($13 * $19); - $12 = $12 + 8 | 0; - $5 = $5 + $9 | 0; - $2 = ($7 << 2) + $2 | 0; - $0 = $0 + 1 | 0; - if (($1 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $22; -} -function speex_resampler_process_float($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; - $8 = __stack_pointer - 16 | 0; - __stack_pointer = $8; - $16 = HEAP32[$0 + 24 >> 2]; - $17 = $16 - 1 | 0; - $13 = HEAP32[$0 + 72 >> 2]; - $18 = HEAP32[$0 + 28 >> 2]; - $19 = Math_imul($18, $1); - $14 = $13 + ($19 << 2) | 0; - $20 = HEAP32[$0 + 88 >> 2]; - $11 = HEAP32[$5 >> 2]; - $12 = HEAP32[$3 >> 2]; - $6 = $1 << 2; - $7 = $6 + HEAP32[$0 + 68 >> 2] | 0; - label$1 : { - if (HEAP32[$7 >> 2]) { - HEAP32[$8 + 12 >> 2] = $11; - HEAP32[$8 + 8 >> 2] = HEAP32[$7 >> 2]; - HEAP32[$0 + 56 >> 2] = 1; - $9 = FUNCTION_TABLE[HEAP32[$0 + 84 >> 2]]($0, $1, $14, $8 + 8 | 0, $4, $8 + 12 | 0) | 0; - $7 = HEAP32[$8 + 8 >> 2]; - $6 = HEAP32[$0 + 60 >> 2] + $6 | 0; - $10 = HEAP32[$6 >> 2]; - if (($7 | 0) > ($10 | 0)) { - HEAP32[$8 + 8 >> 2] = $10; - $7 = $10; - } - HEAP32[$8 + 12 >> 2] = $9; - HEAP32[$6 >> 2] = HEAP32[$6 >> 2] - $7; - $7 = HEAP32[$8 + 8 >> 2]; - if (($16 | 0) >= 2) { - $6 = 0; - while (1) { - HEAP32[($6 << 2) + $14 >> 2] = HEAP32[($6 + $7 << 2) + $14 >> 2]; - $6 = $6 + 1 | 0; - if (($17 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $15 = HEAP32[$0 + 68 >> 2] + ($1 << 2) | 0; - $9 = HEAP32[$15 >> 2] - $7 | 0; - HEAP32[$15 >> 2] = $9; - if ($9) { - $6 = 0; - $10 = HEAP32[$8 + 8 >> 2]; - while (1) { - $7 = $6 + $17 | 0; - HEAP32[($7 << 2) + $14 >> 2] = HEAP32[($7 + $10 << 2) + $14 >> 2]; - $6 = $6 + 1 | 0; - if (($9 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $6 = HEAP32[$8 + 12 >> 2]; - $11 = $11 - $6 | 0; - if (HEAP32[$15 >> 2]) { - break label$1; - } - $4 = (Math_imul(HEAP32[$0 + 92 >> 2], $6) << 2) + $4 | 0; - } - if (!$11 | !$12) { - break label$1; - } - $15 = $18 - $17 | 0; - $18 = (($16 + $19 << 2) + $13 | 0) - 4 | 0; - while (1) { - $7 = $12 >>> 0 > $15 >>> 0 ? $15 : $12; - HEAP32[$8 + 12 >> 2] = $7; - HEAP32[$8 + 8 >> 2] = $11; - label$9 : { - if ($2) { - $6 = 0; - if (!$7) { - break label$9; - } - while (1) { - HEAP32[($6 + $17 << 2) + $14 >> 2] = HEAP32[(Math_imul($6, $20) << 2) + $2 >> 2]; - $6 = $6 + 1 | 0; - if (($7 | 0) != ($6 | 0)) { - continue; - } - break; - } - break label$9; - } - if (!$7) { - break label$9; - } - memset($18, 0, $7 << 2); - } - HEAP32[$0 + 56 >> 2] = 1; - $10 = HEAP32[$0 + 24 >> 2]; - $7 = HEAP32[$0 + 72 >> 2] + (Math_imul(HEAP32[$0 + 28 >> 2], $1) << 2) | 0; - $16 = FUNCTION_TABLE[HEAP32[$0 + 84 >> 2]]($0, $1, $7, $8 + 12 | 0, $4, $8 + 8 | 0) | 0; - $9 = HEAP32[$8 + 12 >> 2]; - $6 = HEAP32[$0 + 60 >> 2] + ($1 << 2) | 0; - $13 = HEAP32[$6 >> 2]; - if (($9 | 0) > ($13 | 0)) { - HEAP32[$8 + 12 >> 2] = $13; - $9 = $13; - } - HEAP32[$8 + 8 >> 2] = $16; - HEAP32[$6 >> 2] = HEAP32[$6 >> 2] - $9; - $9 = HEAP32[$8 + 12 >> 2]; - $6 = $9; - if (($10 | 0) >= 2) { - $10 = $10 - 1 | 0; - $6 = 0; - while (1) { - HEAP32[($6 << 2) + $7 >> 2] = HEAP32[($6 + $9 << 2) + $7 >> 2]; - $6 = $6 + 1 | 0; - if (($10 | 0) != ($6 | 0)) { - continue; - } - break; - } - $6 = HEAP32[$8 + 12 >> 2]; - } - $12 = $12 - $9 | 0; - $7 = HEAP32[$8 + 8 >> 2]; - $11 = $11 - $7 | 0; - if (!$11) { - break label$1; - } - $2 = $2 ? (Math_imul($6, $20) << 2) + $2 | 0 : 0; - $4 = (Math_imul(HEAP32[$0 + 92 >> 2], $7) << 2) + $4 | 0; - if ($12) { - continue; - } - break; - } - } - HEAP32[$3 >> 2] = HEAP32[$3 >> 2] - $12; - HEAP32[$5 >> 2] = HEAP32[$5 >> 2] - $11; - __stack_pointer = $8 + 16 | 0; - $6 = HEAP32[$0 + 84 >> 2]; - return ($6 | 0) == 9; -} -function check_control_input($0) { - var $1 = 0, $2 = 0, $3 = 0; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - label$10 : { - if ($0) { - $1 = HEAP32[$0 + 8 >> 2]; - label$12 : { - if (($1 | 0) <= 23999) { - if (($1 | 0) == 8e3 | ($1 | 0) == 12e3) { - break label$12; - } - if (($1 | 0) != 16e3) { - break label$1; - } - break label$12; - } - if (($1 | 0) <= 44099) { - if (($1 | 0) == 24e3 | ($1 | 0) == 32e3) { - break label$12; - } - break label$1; - } - if (($1 | 0) == 48e3) { - break label$12; - } - if (($1 | 0) != 44100) { - break label$1; - } - } - $1 = HEAP32[$0 + 20 >> 2]; - if (($1 | 0) != 12e3 ? !(($1 | 0) == 8e3 | ($1 | 0) == 16e3) : 0) { - break label$1; - } - $2 = HEAP32[$0 + 12 >> 2]; - if (($2 | 0) != 12e3 ? !(($2 | 0) == 8e3 | ($2 | 0) == 16e3) : 0) { - break label$1; - } - $3 = HEAP32[$0 + 16 >> 2]; - if ((($3 | 0) != 12e3 ? !(($3 | 0) == 8e3 | ($3 | 0) == 16e3) : 0) | (($1 | 0) < ($3 | 0) | ($1 | 0) > ($2 | 0))) { - break label$1; - } - if (($2 | 0) < ($3 | 0)) { - break label$1; - } - label$18 : { - label$19 : { - $1 = HEAP32[$0 + 24 >> 2]; - switch ($1 - 10 | 0) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - break label$10; - case 0: - case 10: - break label$18; - default: - break label$19; - } - } - if (($1 | 0) == 40) { - break label$18; - } - if (($1 | 0) != 60) { - break label$10; - } - } - if (HEAPU32[$0 + 32 >> 2] >= 101) { - break label$9; - } - if (HEAPU32[$0 + 48 >> 2] >= 2) { - break label$8; - } - if (HEAPU32[$0 + 52 >> 2] >= 2) { - break label$7; - } - if (HEAPU32[$0 + 40 >> 2] >= 2) { - break label$6; - } - $1 = HEAP32[$0 >> 2]; - if ($1 - 1 >>> 0 >= 2) { - break label$5; - } - $2 = HEAP32[$0 + 4 >> 2]; - if ($2 - 1 >>> 0 >= 2) { - break label$4; - } - if (($1 | 0) < ($2 | 0)) { - break label$3; - } - if (HEAPU32[$0 + 36 >> 2] >= 11) { - break label$2; - } - return 0; - } - celt_fatal(1952, 1989, 41); - abort(); - } - celt_fatal(2016, 1989, 69); - abort(); - } - celt_fatal(2016, 1989, 73); - abort(); - } - celt_fatal(2016, 1989, 77); - abort(); - } - celt_fatal(2016, 1989, 81); - abort(); - } - celt_fatal(2016, 1989, 85); - abort(); - } - celt_fatal(2016, 1989, 89); - abort(); - } - celt_fatal(2016, 1989, 93); - abort(); - } - celt_fatal(2016, 1989, 97); - abort(); - } - celt_fatal(2016, 1989, 101); - abort(); - } - celt_fatal(2016, 1989, 62); - abort(); -} -function silk_NLSF_encode($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - $7 = __stack_pointer - 128 | 0; - $10 = $7; - __stack_pointer = $7; - if ($6 >>> 0 < 3) { - silk_NLSF_stabilize($1, HEAP32[$2 + 36 >> 2], HEAP16[$2 + 2 >> 1]); - $7 = $7 - ((HEAPU16[$2 >> 1] << 2) + 15 & 524272) | 0; - __stack_pointer = $7; - silk_NLSF_VQ($7, $1, HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], HEAP16[$2 >> 1], HEAP16[$2 + 2 >> 1]); - $9 = ($5 << 2) + 15 & -16; - $18 = $7 - $9 | 0; - $8 = $18; - __stack_pointer = $8; - silk_insertion_sort_increasing($7, $8, HEAP16[$2 >> 1], $5); - $15 = $8 - $9 | 0; - $7 = $15; - __stack_pointer = $7; - $19 = $7 - ($5 << 4) | 0; - __stack_pointer = $19; - if (($5 | 0) >= 1) { - $23 = $6 >>> 1 | 0; - $24 = $4 << 14 >> 16; - while (1) { - $22 = $16 << 2; - $17 = HEAP32[$22 + $18 >> 2]; - $20 = HEAP16[$2 + 2 >> 1]; - if (($20 | 0) >= 1) { - $7 = Math_imul($17, $20); - $25 = $7 + HEAP32[$2 + 8 >> 2] | 0; - $26 = HEAP32[$2 + 12 >> 2] + ($7 << 1) | 0; - $6 = 0; - while (1) { - $7 = $6 << 1; - $8 = HEAP16[$26 + $7 >> 1]; - HEAP16[($10 + 80 | 0) + $7 >> 1] = Math_imul(HEAPU16[$1 + $7 >> 1] - (HEAPU8[$6 + $25 | 0] << 7) << 16 >> 16, $8) >>> 14; - $9 = HEAP16[$3 + $7 >> 1]; - $11 = $9 >> 31; - $11 = Math_clz32($11 ^ $9 + $11); - $9 = $9 << $11 - 1; - $27 = $9; - $8 = Math_imul($8, $8); - $14 = Math_clz32($8); - $13 = $8 << $14 - 1; - $8 = 536870911 / ($13 >> 16) << 16 >> 16; - $9 = (Math_imul($8, $9 & 65535) >> 16) + Math_imul($9 >> 16, $8) | 0; - $12 = $9 >> 31; - $21 = $12; - $12 = $13 >> 31; - $28 = $12; - $12 = $21; - $21 = __wasm_i64_mul($9, $12, $13, $28); - $12 = i64toi32_i32$HIGH_BITS; - $13 = $27 - ((($12 & 536870911) << 3 | $21 >>> 29) & -8) | 0; - $8 = (Math_imul($13 >> 16, $8) + $9 | 0) + (Math_imul($13 & 65535, $8) >> 16) | 0; - $9 = $11 - $14 | 0; - $11 = $9 + 8 | 0; - $7 = ($10 + 48 | 0) + $7 | 0; - $9 = $9 + 29 | 0; - label$6 : { - if (($9 | 0) <= 20) { - $9 = 0 - $11 | 0; - $11 = 2147483647 >>> $9 | 0; - $14 = -2147483648 >> $9; - $8 = (($8 | 0) > ($11 | 0) ? $11 : ($8 | 0) < ($14 | 0) ? $14 : $8) << $9; - break label$6; - } - $8 = ($9 | 0) < 53 ? $8 >> $11 : 0; - } - HEAP16[$7 >> 1] = $8; - $6 = $6 + 1 | 0; - if (($20 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - silk_NLSF_unpack($10, $10 + 32 | 0, $2, $17); - $6 = $15 + $22 | 0; - HEAP32[$6 >> 2] = silk_NLSF_del_dec_quant(($16 << 4) + $19 | 0, $10 + 80 | 0, $10 + 48 | 0, $10 + 32 | 0, $10, HEAP32[$2 + 32 >> 2], HEAP16[$2 + 4 >> 1], HEAP16[$2 + 6 >> 1], $4, HEAP16[$2 + 2 >> 1]); - $7 = HEAP32[$2 + 16 >> 2] + Math_imul(HEAP16[$2 >> 1], $23) | 0; - $12 = $6; - if ($17) { - $7 = $7 + $17 | 0; - $8 = HEAPU8[$7 - 1 | 0]; - } else { - $8 = 256; - } - HEAP32[$12 >> 2] = Math_imul(67108864 - (silk_lin2log($8 - HEAPU8[$7 | 0] | 0) << 16) >> 16, $24) + HEAP32[$6 >> 2]; - $16 = $16 + 1 | 0; - if (($16 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - silk_insertion_sort_increasing($15, $10 + 124 | 0, $5, 1); - $7 = HEAP32[$10 + 124 >> 2]; - HEAP8[$0 | 0] = HEAP32[($7 << 2) + $18 >> 2]; - memcpy($0 + 1 | 0, ($7 << 4) + $19 | 0, HEAP16[$2 + 2 >> 1]); - silk_NLSF_decode($1, $0, $2); - __stack_pointer = $10 + 128 | 0; - $7 = HEAP32[$15 >> 2]; - return $7; - } - celt_fatal(15776, 15829, 63); - abort(); -} -function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - label$11 : { - $5 = $1; - if ($5) { - $7 = $2; - if (!$7) { - break label$11; - } - $4 = $3; - if (!$4) { - break label$9; - } - $5 = Math_clz32($4) - Math_clz32($5) | 0; - if ($5 >>> 0 <= 31) { - break label$8; - } - break label$2; - } - $4 = $3; - if (($4 | 0) == 1 | $4 >>> 0 > 1) { - break label$2; - } - $5 = $0; - $7 = $2; - $5 = ($5 >>> 0) / ($7 >>> 0) | 0; - i64toi32_i32$HIGH_BITS = 0; - return $5; - } - $7 = $3; - if (!$0) { - break label$7; - } - if (!$7) { - break label$6; - } - $4 = $7 - 1 | 0; - if ($4 & $7) { - break label$6; - } - $9 = $5 >>> __wasm_ctz_i32($7) | 0; - i64toi32_i32$HIGH_BITS = 0; - return $9; - } - if (!($7 - 1 & $7)) { - break label$5; - } - $5 = (Math_clz32($7) + 33 | 0) - Math_clz32($5) | 0; - $7 = 0 - $5 | 0; - break label$3; - } - $7 = 63 - $5 | 0; - $5 = $5 + 1 | 0; - break label$3; - } - $4 = ($5 >>> 0) / ($7 >>> 0) | 0; - i64toi32_i32$HIGH_BITS = 0; - return $4; - } - $5 = Math_clz32($7) - Math_clz32($5) | 0; - if ($5 >>> 0 < 31) { - break label$4; - } - break label$2; - } - if (($7 | 0) == 1) { - break label$1; - } - $4 = $1; - $9 = $0; - $10 = 0; - $8 = __wasm_ctz_i32($7); - $6 = $8 & 31; - if (($8 & 63) >>> 0 >= 32) { - $9 = $4 >>> $6 | 0; - } else { - $10 = $4 >>> $6 | 0; - $9 = ((1 << $6) - 1 & $4) << 32 - $6 | $9 >>> $6; - } - i64toi32_i32$HIGH_BITS = $10; - return $9; - } - $7 = 63 - $5 | 0; - $5 = $5 + 1 | 0; - } - $9 = $1; - $4 = $0; - $10 = 0; - $8 = $5 & 63; - $6 = $8 & 31; - if (($8 & 63) >>> 0 >= 32) { - $12 = $9 >>> $6 | 0; - } else { - $10 = $9 >>> $6 | 0; - $12 = ((1 << $6) - 1 & $9) << 32 - $6 | $4 >>> $6; - } - $13 = $10; - $10 = $1; - $9 = $0; - $8 = $7 & 63; - $6 = $8 & 31; - if (($8 & 63) >>> 0 >= 32) { - $4 = $9 << $6; - $0 = 0; - } else { - $4 = (1 << $6) - 1 & $9 >>> 32 - $6 | $10 << $6; - $0 = $9 << $6; - } - $1 = $4; - if ($5) { - $4 = $3 - 1 | 0; - $6 = $2 - 1 | 0; - $4 = ($6 | 0) != -1 ? $4 + 1 | 0 : $4; - $7 = $6; - $9 = $4; - while (1) { - $4 = $12; - $8 = $4 << 1; - $4 = $13 << 1 | $4 >>> 31; - $12 = $8 | $1 >>> 31; - $11 = $12; - $10 = $4; - $4 = $7; - $8 = $11; - $6 = $9 - (($4 >>> 0 < $8 >>> 0) + $10 | 0) | 0; - $13 = $3 & $6 >> 31; - $4 = $8; - $11 = $6 >> 31; - $8 = $11 & $2; - $12 = $4 - $8 | 0; - $13 = $10 - (($4 >>> 0 < $8 >>> 0) + $13 | 0) | 0; - $4 = $1 << 1 | $0 >>> 31; - $0 = $0 << 1 | $14; - $1 = $4 | $16; - $15 = 0; - $11 = $11 & 1; - $14 = $11; - $5 = $5 - 1 | 0; - if ($5) { - continue; - } - break; - } - } - i64toi32_i32$HIGH_BITS = $15 | ($1 << 1 | $0 >>> 31); - return $0 << 1 | $11; - } - $0 = 0; - $1 = 0; - } - i64toi32_i32$HIGH_BITS = $1; - return $0; -} -function silk_NSQ_wrapper_FLP($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0; - $7 = __stack_pointer - 1008 | 0; - __stack_pointer = $7; - label$1 : { - label$2 : { - $10 = HEAP32[$0 + 4580 >> 2]; - if (($10 | 0) < 1) { - break label$2; - } - $11 = HEAP32[$0 + 4636 >> 2]; - $13 = ($11 | 0) < 1; - while (1) { - if (!$13) { - $9 = Math_imul($12, 24); - $6 = 0; - while (1) { - $8 = $6 + $9 | 0; - HEAP16[($7 + 48 | 0) + ($8 << 1) >> 1] = lrintf(Math_fround(HEAPF32[(($8 << 2) + $1 | 0) + 244 >> 2] * Math_fround(8192))); - $6 = $6 + 1 | 0; - if (($11 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $12 = $12 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - $9 = 0; - if (($10 | 0) <= 0) { - break label$2; - } - while (1) { - $6 = $9 << 2; - $8 = $6 + $1 | 0; - $11 = lrintf(Math_fround(HEAPF32[$8 + 644 >> 2] * Math_fround(16384))); - HEAP32[($7 + 32 | 0) + $6 >> 2] = lrintf(Math_fround(HEAPF32[$8 + 628 >> 2] * Math_fround(16384))) & 65535 | $11 << 16; - HEAP32[($7 + 16 | 0) + $6 >> 2] = lrintf(Math_fround(HEAPF32[$8 + 660 >> 2] * Math_fround(16384))); - HEAP32[$6 + $7 >> 2] = lrintf(Math_fround(HEAPF32[$8 + 676 >> 2] * Math_fround(16384))); - $9 = $9 + 1 | 0; - if (($10 | 0) != ($9 | 0)) { - continue; - } - break; - } - $11 = lrintf(Math_fround(HEAPF32[$1 + 692 >> 2] * Math_fround(1024))); - if (($10 | 0) < 1) { - break label$1; - } - $6 = Math_imul($10, 5); - $8 = ($6 | 0) > 1 ? $6 : 1; - $6 = 0; - while (1) { - HEAP16[($7 + 240 | 0) + ($6 << 1) >> 1] = lrintf(Math_fround(HEAPF32[(($6 << 2) + $1 | 0) + 144 >> 2] * Math_fround(16384))); - $6 = $6 + 1 | 0; - if (($8 | 0) != ($6 | 0)) { - continue; - } - break; - } - break label$1; - } - $11 = lrintf(Math_fround(HEAPF32[$1 + 692 >> 2] * Math_fround(1024))); - } - $6 = 0; - $8 = HEAP32[$0 + 4640 >> 2]; - label$8 : { - if (($8 | 0) <= 0) { - break label$8; - } - while (1) { - HEAP16[($7 + 288 | 0) + ($6 << 1) >> 1] = lrintf(Math_fround(HEAPF32[(($6 << 2) + $1 | 0) + 16 >> 2] * Math_fround(4096))); - $6 = $6 + 1 | 0; - if (($8 | 0) != ($6 | 0)) { - continue; - } - break; - } - $6 = 0; - if (($8 | 0) <= 0) { - break label$8; - } - while (1) { - HEAP16[(($6 << 1) + $7 | 0) + 320 >> 1] = lrintf(Math_fround(HEAPF32[(($6 << 2) + $1 | 0) + 80 >> 2] * Math_fround(4096))); - $6 = $6 + 1 | 0; - if (($8 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $6 = 0; - if (($10 | 0) > 0) { - while (1) { - $8 = $6 << 2; - HEAP32[$8 + ($7 + 352 | 0) >> 2] = lrintf(Math_fround(HEAPF32[$1 + $8 >> 2] * Math_fround(65536))); - $6 = $6 + 1 | 0; - if (($10 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $6 = 0; - $9 = 0; - $9 = HEAPU8[$2 + 29 | 0] == 2 ? HEAP16[(HEAP8[$2 + 33 | 0] << 1) + 5848 >> 1] : $9; - $8 = HEAP32[$0 + 4584 >> 2]; - if (($8 | 0) >= 1) { - while (1) { - HEAP16[($7 + 368 | 0) + ($6 << 1) >> 1] = lrintf(HEAPF32[($6 << 2) + $5 >> 2]); - $6 = $6 + 1 | 0; - if (($8 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - label$16 : { - if (!(HEAP32[$0 + 4672 >> 2] < 1 ? HEAP32[$0 + 4628 >> 2] <= 1 : 0)) { - silk_NSQ_del_dec_c($0, $3, $2, $7 + 368 | 0, $4, $7 + 288 | 0, $7 + 240 | 0, $7 + 48 | 0, $7, $7 + 16 | 0, $7 + 32 | 0, $7 + 352 | 0, $1 + 228 | 0, $11, $9); - break label$16; - } - silk_NSQ_c($0, $3, $2, $7 + 368 | 0, $4, $7 + 288 | 0, $7 + 240 | 0, $7 + 48 | 0, $7, $7 + 16 | 0, $7 + 32 | 0, $7 + 352 | 0, $1 + 228 | 0, $11, $9); - } - __stack_pointer = $7 + 1008 | 0; -} -function ec_dec_uint($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - if ($1 >>> 0 > 1) { - $10 = $1 - 1 | 0; - label$2 : { - if ($10 >>> 0 >= 256) { - $4 = HEAP32[$0 + 28 >> 2]; - $7 = 24 - Math_clz32($10) | 0; - $2 = $10 >>> $7 | 0; - $3 = $2 + 1 | 0; - $1 = ($4 >>> 0) / ($3 >>> 0) | 0; - HEAP32[$0 + 36 >> 2] = $1; - $5 = HEAP32[$0 + 32 >> 2]; - $8 = $5; - $5 = ($5 >>> 0) / ($1 >>> 0) | 0; - $6 = $5 + 1 | 0; - $3 = $6 - $3 | 0; - $11 = ($3 >>> 0 > $6 >>> 0 ? 0 : $3) + ($2 - $5 | 0) | 0; - $2 = Math_imul($2 - $11 | 0, $1); - $3 = $8 - $2 | 0; - HEAP32[$0 + 32 >> 2] = $3; - $2 = $11 ? $1 : $4 - $2 | 0; - HEAP32[$0 + 28 >> 2] = $2; - if ($2 >>> 0 <= 8388608) { - $4 = HEAP32[$0 + 24 >> 2]; - $5 = HEAP32[$0 + 40 >> 2]; - $6 = HEAP32[$0 + 20 >> 2]; - $12 = HEAP32[$0 + 4 >> 2]; - while (1) { - $8 = $2 << 8; - HEAP32[$0 + 28 >> 2] = $8; - $6 = $6 + 8 | 0; - HEAP32[$0 + 20 >> 2] = $6; - $1 = 0; - if ($4 >>> 0 < $12 >>> 0) { - $9 = $4 + 1 | 0; - HEAP32[$0 + 24 >> 2] = $9; - $1 = HEAPU8[HEAP32[$0 >> 2] + $4 | 0]; - $4 = $9; - } - HEAP32[$0 + 40 >> 2] = $1; - $3 = (($5 << 8 | $1) >>> 1 & 255 | $3 << 8 & 2147483392) ^ 255; - HEAP32[$0 + 32 >> 2] = $3; - $9 = $2 >>> 0 < 32769; - $5 = $1; - $2 = $8; - if ($9) { - continue; - } - break; - } - } - $8 = $11 << $7; - $3 = HEAP32[$0 + 12 >> 2]; - $1 = HEAP32[$0 + 16 >> 2]; - label$7 : { - if ($7 >>> 0 <= $1 >>> 0) { - $6 = $1; - break label$7; - } - $2 = HEAP32[$0 + 8 >> 2]; - $5 = HEAP32[$0 + 4 >> 2]; - while (1) { - $4 = 0; - if ($2 >>> 0 < $5 >>> 0) { - $2 = $2 + 1 | 0; - HEAP32[$0 + 8 >> 2] = $2; - $4 = HEAPU8[HEAP32[$0 >> 2] + ($5 - $2 | 0) | 0]; - } - $3 = $4 << $1 | $3; - $4 = ($1 | 0) < 17; - $6 = $1 + 8 | 0; - $1 = $6; - if ($4) { - continue; - } - break; - } - } - HEAP32[$0 + 16 >> 2] = $6 - $7; - HEAP32[$0 + 12 >> 2] = $3 >>> $7; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + $7; - $7 = (-1 << $7 ^ -1) & $3 | $8; - if ($10 >>> 0 >= $7 >>> 0) { - break label$2; - } - HEAP32[$0 + 44 >> 2] = 1; - return $10; - } - $4 = HEAP32[$0 + 28 >> 2]; - $2 = ($4 >>> 0) / ($1 >>> 0) | 0; - HEAP32[$0 + 36 >> 2] = $2; - $3 = HEAP32[$0 + 32 >> 2]; - $8 = $3; - $3 = ($3 >>> 0) / ($2 >>> 0) | 0; - $9 = ($3 ^ -1) + $1 | 0; - $3 = $3 + 1 | 0; - $5 = $3 - $1 | 0; - $7 = $9 + ($3 >>> 0 < $5 >>> 0 ? 0 : $5) | 0; - $1 = Math_imul(($7 ^ -1) + $1 | 0, $2); - $3 = $8 - $1 | 0; - HEAP32[$0 + 32 >> 2] = $3; - $2 = $7 ? $2 : $4 - $1 | 0; - HEAP32[$0 + 28 >> 2] = $2; - if ($2 >>> 0 > 8388608) { - break label$2; - } - $4 = HEAP32[$0 + 24 >> 2]; - $5 = HEAP32[$0 + 40 >> 2]; - $6 = HEAP32[$0 + 20 >> 2]; - $12 = HEAP32[$0 + 4 >> 2]; - while (1) { - $8 = $2 << 8; - HEAP32[$0 + 28 >> 2] = $8; - $6 = $6 + 8 | 0; - HEAP32[$0 + 20 >> 2] = $6; - $1 = 0; - if ($4 >>> 0 < $12 >>> 0) { - $9 = $4 + 1 | 0; - HEAP32[$0 + 24 >> 2] = $9; - $1 = HEAPU8[HEAP32[$0 >> 2] + $4 | 0]; - $4 = $9; - } - HEAP32[$0 + 40 >> 2] = $1; - $3 = (($5 << 8 | $1) >>> 1 & 255 | $3 << 8 & 2147483392) ^ 255; - HEAP32[$0 + 32 >> 2] = $3; - $9 = $2 >>> 0 < 32769; - $5 = $1; - $2 = $8; - if ($9) { - continue; - } - break; - } - } - return $7; - } - celt_fatal(9274, 9298, 203); - abort(); -} -function downmix_and_resample($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { - var $10 = Math_fround(0), $11 = 0, $12 = Math_fround(0), $13 = Math_fround(0), $14 = Math_fround(0), $15 = Math_fround(0), $16 = 0, $17 = Math_fround(0), $18 = Math_fround(0), $19 = Math_fround(0), $20 = 0; - $11 = __stack_pointer; - $16 = $11; - if (!$4) { - __stack_pointer = $16; - return Math_fround(0); - } - label$2 : { - if (($9 | 0) == 48e3) { - $5 = $5 << 1; - $4 = $4 << 1; - break label$2; - } - if (($9 | 0) != 16e3) { - break label$2; - } - $5 = ($5 << 1) / 3 | 0; - $4 = ($4 << 1) / 3 | 0; - } - $11 = $11 - (($4 << 2) + 15 & -16) | 0; - $20 = $11; - __stack_pointer = $11; - FUNCTION_TABLE[$0 | 0]($1, $11, $4, $5, $6, $7, $8); - $10 = ($7 | 0) == -2 ? Math_fround(Math_fround(30517578125e-15) / Math_fround($8 | 0)) : ($7 | 0) > -1 ? Math_fround(152587890625e-16) : Math_fround(30517578125e-15); - if (($4 | 0) >= 1) { - $7 = 0; - while (1) { - $5 = ($7 << 2) + $11 | 0; - HEAPF32[$5 >> 2] = $10 * HEAPF32[$5 >> 2]; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - label$8 : { - if (($9 | 0) == 48e3) { - $9 = ($4 | 0) / 2 | 0; - if (($4 | 0) < 2) { - break label$8; - } - $7 = 0; - while (1) { - $5 = $7 << 3; - $10 = HEAPF32[$11 + $5 >> 2]; - $12 = HEAPF32[$3 >> 2]; - $13 = Math_fround(Math_fround($10 - $12) * Math_fround(.6074370741844177)); - HEAPF32[$3 >> 2] = $10 + $13; - $10 = HEAPF32[($5 | 4) + $11 >> 2]; - $14 = HEAPF32[$3 + 4 >> 2]; - $15 = Math_fround(Math_fround($10 - $14) * Math_fround(.15062999725341797)); - HEAPF32[$3 + 4 >> 2] = $10 + $15; - $17 = HEAPF32[$3 + 8 >> 2]; - $18 = Math_fround(Math_fround(Math_fround(-$10) - $17) * Math_fround(.15062999725341797)); - HEAPF32[$3 + 8 >> 2] = $18 - $10; - $10 = Math_fround($12 + $13); - HEAPF32[($7 << 2) + $2 >> 2] = Math_fround(Math_fround($14 + $10) + $15) * Math_fround(.5); - $10 = Math_fround(Math_fround($10 + $17) + $18); - $19 = Math_fround($19 + Math_fround($10 * $10)); - $7 = $7 + 1 | 0; - if (($9 | 0) != ($7 | 0)) { - continue; - } - break; - } - break label$8; - } - if (($9 | 0) != 16e3) { - if (($9 | 0) != 24e3) { - break label$8; - } - memcpy($2, $11, $4 << 2); - break label$8; - } - $1 = $20; - $0 = Math_imul($4, 3); - $8 = $1 - (($0 << 2) + 15 & -16) | 0; - __stack_pointer = $8; - if (($4 | 0) >= 1) { - $7 = 0; - while (1) { - $5 = Math_imul($7, 12) + $8 | 0; - $9 = HEAP32[($7 << 2) + $11 >> 2]; - HEAP32[$5 + 8 >> 2] = $9; - HEAP32[$5 + 4 >> 2] = $9; - HEAP32[$5 >> 2] = $9; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $5 = ($0 | 0) / 2 | 0; - if (($0 | 0) >= 2) { - $7 = 0; - while (1) { - $11 = $7 << 3; - $10 = HEAPF32[$11 + $8 >> 2]; - $12 = HEAPF32[$3 >> 2]; - $13 = Math_fround(Math_fround($10 - $12) * Math_fround(.6074370741844177)); - HEAPF32[$3 >> 2] = $10 + $13; - $10 = HEAPF32[($11 | 4) + $8 >> 2]; - $14 = HEAPF32[$3 + 4 >> 2]; - $15 = Math_fround(Math_fround($10 - $14) * Math_fround(.15062999725341797)); - HEAPF32[$3 + 4 >> 2] = $10 + $15; - HEAPF32[$3 + 8 >> 2] = Math_fround(Math_fround(Math_fround(-$10) - HEAPF32[$3 + 8 >> 2]) * Math_fround(.15062999725341797)) - $10; - HEAPF32[($7 << 2) + $2 >> 2] = Math_fround(Math_fround($14 + Math_fround($12 + $13)) + $15) * Math_fround(.5); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - } - __stack_pointer = $16; - return $19; -} -function op_pvq_search_c($0, $1, $2, $3, $4) { - var $5 = 0, $6 = Math_fround(0), $7 = Math_fround(0), $8 = 0, $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = 0, $18 = Math_fround(0); - $4 = __stack_pointer; - $17 = $4; - $5 = ($3 << 2) + 15 & -16; - $4 = $4 - $5 | 0; - __stack_pointer = $4; - $14 = $4 - $5 | 0; - __stack_pointer = $14; - $11 = ($3 | 0) > 1 ? $3 : 1; - $12 = memset($4, 0, $11 << 2); - $4 = 0; - while (1) { - $5 = $4 << 2; - $8 = $5 + $0 | 0; - $6 = HEAPF32[$8 >> 2]; - HEAP32[$5 + $14 >> 2] = $6 < Math_fround(0); - HEAPF32[$8 >> 2] = Math_abs($6); - HEAP32[$1 + $5 >> 2] = 0; - $4 = $4 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - $6 = Math_fround(0); - if (($2 | 0) > $3 >> 1) { - $4 = 0; - while (1) { - $6 = Math_fround($6 + HEAPF32[($4 << 2) + $0 >> 2]); - $4 = $4 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (!($6 < Math_fround(64) ? !($6 > Math_fround(1.0000000036274937e-15) ^ 1) : 0)) { - HEAP32[$0 >> 2] = 1065353216; - memset($0 + 4 | 0, 0, ((($3 | 0) > 2 ? $3 : 2) << 2) - 4 | 0); - $6 = Math_fround(1); - } - $9 = Math_fround(Math_fround(Math_fround($2 | 0) + Math_fround(.800000011920929)) * Math_fround(Math_fround(1) / $6)); - $5 = 0; - $6 = Math_fround(0); - while (1) { - $8 = $5 << 2; - $15 = $8 + $1 | 0; - $10 = HEAPF32[$0 + $8 >> 2]; - $7 = Math_fround(Math_floor(Math_fround($9 * $10))); - label$7 : { - if (Math_fround(Math_abs($7)) < Math_fround(2147483648)) { - $4 = ~~$7; - break label$7; - } - $4 = -2147483648; - } - HEAP32[$15 >> 2] = $4; - $7 = Math_fround($4 | 0); - HEAPF32[$8 + $12 >> 2] = $7 + $7; - $13 = Math_fround($13 + Math_fround($10 * $7)); - $2 = $2 - $4 | 0; - $6 = Math_fround($6 + Math_fround($7 * $7)); - $5 = $5 + 1 | 0; - if (($11 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - label$9 : { - if (($3 + 3 | 0) < ($2 | 0)) { - $10 = HEAPF32[$12 >> 2]; - HEAP32[$1 >> 2] = HEAP32[$1 >> 2] + $2; - $7 = Math_fround($2 | 0); - $6 = Math_fround(Math_fround($6 + Math_fround($7 * $7)) + Math_fround($10 * $7)); - break label$9; - } - if (($2 | 0) < 1) { - break label$9; - } - $15 = ($3 | 0) > 2 ? $3 : 2; - $18 = HEAPF32[$0 >> 2]; - $3 = 0; - while (1) { - $16 = Math_fround($6 + Math_fround(1)); - $6 = Math_fround($16 + HEAPF32[$12 >> 2]); - $7 = Math_fround($13 + $18); - $7 = Math_fround($7 * $7); - $4 = 1; - $8 = 0; - while (1) { - $5 = $4 << 2; - $10 = Math_fround($16 + HEAPF32[$12 + $5 >> 2]); - $9 = Math_fround($13 + HEAPF32[$0 + $5 >> 2]); - $9 = Math_fround($9 * $9); - $5 = Math_fround($6 * $9) > Math_fround($7 * $10); - $6 = $5 ? $10 : $6; - $7 = $5 ? $9 : $7; - $8 = $5 ? $4 : $8; - $4 = $4 + 1 | 0; - if (($15 | 0) != ($4 | 0)) { - continue; - } - break; - } - $4 = $8 << 2; - $7 = HEAPF32[$4 + $0 >> 2]; - $5 = $4 + $12 | 0; - $6 = HEAPF32[$5 >> 2]; - HEAPF32[$5 >> 2] = $6 + Math_fround(2); - $4 = $1 + $4 | 0; - HEAP32[$4 >> 2] = HEAP32[$4 >> 2] + 1; - $6 = Math_fround($16 + $6); - $13 = Math_fround($13 + $7); - $3 = $3 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $4 = 0; - while (1) { - $5 = $4 << 2; - $8 = $5 + $1 | 0; - $5 = HEAP32[$5 + $14 >> 2]; - HEAP32[$8 >> 2] = $5 + (HEAP32[$8 >> 2] ^ 0 - $5); - $4 = $4 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - __stack_pointer = $17; - return $6; -} -function silk_LP_variable_cutoff($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - $5 = __stack_pointer - 32 | 0; - __stack_pointer = $5; - $11 = HEAP32[$0 + 12 >> 2]; - if ($11) { - $12 = HEAP32[$0 + 8 >> 2]; - $3 = 262144 - ($12 << 10) | 0; - label$2 : { - if (($3 | 0) <= 262143) { - $7 = $3 >> 16; - $4 = $3 & 64512; - if ($4) { - $10 = $7 + 1 | 0; - $3 = $4 << 16 >> 16; - if ($4 >>> 0 >= 32768) { - $4 = Math_imul($10, 12); - $8 = HEAP32[$4 + 5896 >> 2]; - $6 = Math_imul($7, 12); - $9 = $8 - HEAP32[$6 + 5896 >> 2] | 0; - HEAP32[$5 + 24 >> 2] = (Math_imul($9 >> 16, $3) + $8 | 0) + (Math_imul($9 & 65535, $3) >> 16); - $8 = HEAP32[$4 + 5892 >> 2]; - $9 = $8 - HEAP32[$6 + 5892 >> 2] | 0; - HEAP32[$5 + 20 >> 2] = (Math_imul($9 >> 16, $3) + $8 | 0) + (Math_imul($9 & 65535, $3) >> 16); - $4 = HEAP32[$4 + 5888 >> 2]; - $6 = $4 - HEAP32[$6 + 5888 >> 2] | 0; - HEAP32[$5 + 16 >> 2] = (Math_imul($6 >> 16, $3) + $4 | 0) + (Math_imul($6 & 65535, $3) >> 16); - $4 = $10 << 3; - $10 = HEAP32[$4 + 5956 >> 2]; - $7 = $7 << 3; - $6 = $10 - HEAP32[$7 + 5956 >> 2] | 0; - HEAP32[$5 + 12 >> 2] = (Math_imul($6 >> 16, $3) + $10 | 0) + (Math_imul($6 & 65535, $3) >> 16); - $4 = HEAP32[$4 + 5952 >> 2]; - $7 = $4 - HEAP32[$7 + 5952 >> 2] | 0; - HEAP32[$5 + 8 >> 2] = (Math_imul($7 >> 16, $3) + $4 | 0) + (Math_imul($7 & 65535, $3) >> 16); - break label$2; - } - $4 = Math_imul($10, 12); - $6 = Math_imul($7, 12); - $8 = HEAP32[$6 + 5896 >> 2]; - $9 = HEAP32[$4 + 5896 >> 2] - $8 | 0; - HEAP32[$5 + 24 >> 2] = (Math_imul($9 >> 16, $3) + $8 | 0) + (Math_imul($9 & 65535, $3) >> 16); - $8 = HEAP32[$6 + 5892 >> 2]; - $9 = HEAP32[$4 + 5892 >> 2] - $8 | 0; - HEAP32[$5 + 20 >> 2] = (Math_imul($9 >> 16, $3) + $8 | 0) + (Math_imul($9 & 65535, $3) >> 16); - $8 = HEAP32[$4 + 5888 >> 2]; - $4 = HEAP32[$6 + 5888 >> 2]; - $6 = $8 - $4 | 0; - HEAP32[$5 + 16 >> 2] = (Math_imul($6 >> 16, $3) + $4 | 0) + (Math_imul($6 & 65535, $3) >> 16); - $4 = $10 << 3; - $7 = $7 << 3; - $10 = HEAP32[$7 + 5956 >> 2]; - $6 = HEAP32[$4 + 5956 >> 2] - $10 | 0; - HEAP32[$5 + 12 >> 2] = (Math_imul($6 >> 16, $3) + $10 | 0) + (Math_imul($6 & 65535, $3) >> 16); - $7 = HEAP32[$7 + 5952 >> 2]; - $4 = HEAP32[$4 + 5952 >> 2] - $7 | 0; - HEAP32[$5 + 8 >> 2] = (Math_imul($4 >> 16, $3) + $7 | 0) + (Math_imul($4 & 65535, $3) >> 16); - break label$2; - } - $3 = Math_imul($7, 12); - HEAP32[$5 + 24 >> 2] = HEAP32[$3 + 5896 >> 2]; - $6 = $3 + 5888 | 0; - $4 = HEAP32[$6 >> 2]; - $3 = HEAP32[$6 + 4 >> 2]; - HEAP32[$5 + 16 >> 2] = $4; - HEAP32[$5 + 20 >> 2] = $3; - $6 = ($7 << 3) + 5952 | 0; - $3 = HEAP32[$6 >> 2]; - $4 = HEAP32[$6 + 4 >> 2]; - HEAP32[$5 + 8 >> 2] = $3; - HEAP32[$5 + 12 >> 2] = $4; - break label$2; - } - HEAP32[$5 + 24 >> 2] = HEAP32[1486]; - $3 = HEAP32[1485]; - $4 = HEAP32[1484]; - HEAP32[$5 + 16 >> 2] = $4; - HEAP32[$5 + 20 >> 2] = $3; - $4 = HEAP32[1497]; - $3 = HEAP32[1496]; - HEAP32[$5 + 8 >> 2] = $3; - HEAP32[$5 + 12 >> 2] = $4; - } - $3 = $11 + $12 | 0; - $3 = ($3 | 0) > 0 ? $3 : 0; - HEAP32[$0 + 8 >> 2] = ($3 | 0) < 256 ? $3 : 256; - silk_biquad_alt_stride1($1, $5 + 16 | 0, $5 + 8 | 0, $0, $1, $2); - } - __stack_pointer = $5 + 32 | 0; -} -function silk_resampler_init($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - label$1 : { - label$2 : { - $4 = memset($0, 0, 300); - $0 = $4; - label$3 : { - if ($3) { - label$5 : { - if (($1 | 0) <= 15999) { - if (($1 | 0) == 8e3 | ($1 | 0) == 12e3) { - break label$5; - } - break label$1; - } - if (($1 | 0) == 16e3 | ($1 | 0) == 48e3) { - break label$5; - } - if (($1 | 0) != 24e3) { - break label$1; - } - } - if (($2 | 0) != 16e3 ? !(($2 | 0) == 8e3 | ($2 | 0) == 12e3) : 0) { - break label$1; - } - $3 = (Math_imul(($1 >>> 12 | 0) - (($1 | 0) > 16e3) >> (($1 | 0) > 24e3), 3) + ($2 >>> 12 | 0) | 0) + 6487 | 0; - break label$3; - } - if (($1 | 0) != 12e3 ? !(($1 | 0) == 8e3 | ($1 | 0) == 16e3) : 0) { - break label$2; - } - label$9 : { - if (($2 | 0) <= 15999) { - if (($2 | 0) == 8e3 | ($2 | 0) == 12e3) { - break label$9; - } - break label$2; - } - if (($2 | 0) == 16e3 | ($2 | 0) == 24e3) { - break label$9; - } - if (($2 | 0) != 48e3) { - break label$2; - } - } - $3 = (Math_imul($1 >>> 12 | 0, 5) + (($2 >>> 12 | 0) - (($2 | 0) > 16e3) >> (($2 | 0) > 24e3)) | 0) + 6500 | 0; - } - HEAP32[$0 + 292 >> 2] = HEAP8[$3 | 0]; - HEAP32[$4 + 288 >> 2] = (($2 & 65535) >>> 0) / 1e3; - $3 = (($1 & 65535) >>> 0) / 1e3 | 0; - HEAP32[$4 + 284 >> 2] = $3; - HEAP32[$4 + 268 >> 2] = Math_imul($3, 10); - label$11 : { - if (($1 | 0) < ($2 | 0)) { - $5 = 1; - if ($1 << 1 == ($2 | 0)) { - HEAP32[$4 + 264 >> 2] = 1; - $5 = 0; - break label$11; - } - HEAP32[$4 + 264 >> 2] = 2; - break label$11; - } - if (($1 | 0) > ($2 | 0)) { - HEAP32[$4 + 264 >> 2] = 3; - $3 = $2 << 2; - if (($3 | 0) == (Math_imul($1, 3) | 0)) { - HEAP32[$4 + 296 >> 2] = 6e3; - HEAP32[$4 + 276 >> 2] = 18; - HEAP32[$4 + 280 >> 2] = 3; - break label$11; - } - $0 = Math_imul($2, 3); - if (($0 | 0) == $1 << 1) { - HEAP32[$4 + 296 >> 2] = 6064; - HEAP32[$4 + 276 >> 2] = 18; - HEAP32[$4 + 280 >> 2] = 2; - break label$11; - } - if ($2 << 1 == ($1 | 0)) { - HEAP32[$4 + 296 >> 2] = 6112; - HEAP32[$4 + 276 >> 2] = 24; - HEAP32[$4 + 280 >> 2] = 1; - break label$11; - } - if (($0 | 0) == ($1 | 0)) { - HEAP32[$4 + 296 >> 2] = 6144; - HEAP32[$4 + 276 >> 2] = 36; - HEAP32[$4 + 280 >> 2] = 1; - break label$11; - } - if (($1 | 0) == ($3 | 0)) { - HEAP32[$4 + 296 >> 2] = 6192; - HEAP32[$4 + 276 >> 2] = 36; - HEAP32[$4 + 280 >> 2] = 1; - break label$11; - } - if ((Math_imul($2, 6) | 0) == ($1 | 0)) { - HEAP32[$4 + 296 >> 2] = 6240; - HEAP32[$4 + 276 >> 2] = 36; - HEAP32[$4 + 280 >> 2] = 1; - break label$11; - } - celt_fatal(6454, 6474, 154); - abort(); - } - HEAP32[$4 + 264 >> 2] = 0; - } - $0 = $1 << $5; - $3 = $2 << 16 >> 16; - $6 = ($2 >>> 15 | 0) + 1 >>> 1 | 0; - $1 = ($1 << ($5 | 14)) / ($2 | 0) << 2; - while (1) { - $2 = $1; - $1 = $2 + 1 | 0; - if (((Math_imul($2 >> 16, $3) + Math_imul($2, $6) | 0) + (Math_imul($2 & 65535, $3) >> 16) | 0) < ($0 | 0)) { - continue; - } - break; - } - HEAP32[$4 + 272 >> 2] = $2; - return 0; - } - celt_fatal(6454, 6474, 101); - abort(); - } - celt_fatal(6454, 6474, 94); - abort(); -} -function comb_filter($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { - var $12 = Math_fround(0), $13 = Math_fround(0), $14 = Math_fround(0), $15 = Math_fround(0), $16 = 0, $17 = Math_fround(0), $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = Math_fround(0), $23 = Math_fround(0), $24 = Math_fround(0), $25 = Math_fround(0), $26 = Math_fround(0), $27 = Math_fround(0), $28 = Math_fround(0), $29 = Math_fround(0), $30 = Math_fround(0); - label$1 : { - if (!($5 != Math_fround(0) | $6 != Math_fround(0))) { - if (($0 | 0) == ($1 | 0)) { - break label$1; - } - memmove($0, $1, $4 << 2); - return; - } - $11 = ($3 | 0) > 15 ? $3 : 15; - $18 = -2 - $11 | 0; - $19 = $11 ^ -1; - $20 = 1 - $11 | 0; - $21 = 0 - $11 | 0; - $3 = Math_imul($8, 12); - $22 = Math_fround(HEAPF32[$3 + 1704 >> 2] * $6); - $23 = Math_fround(HEAPF32[$3 + 1700 >> 2] * $6); - $24 = Math_fround(HEAPF32[$3 + 1696 >> 2] * $6); - $3 = $5 == $6 ? ($7 | 0) == ($8 | 0) ? 0 : $10 : $10; - $8 = ($2 | 0) > 15 ? $2 : 15; - $3 = ($11 | 0) == ($8 | 0) ? $3 : $10; - if (($3 | 0) >= 1) { - $10 = Math_imul($7, 12); - $25 = Math_fround(HEAPF32[$10 + 1704 >> 2] * $5); - $26 = Math_fround(HEAPF32[$10 + 1700 >> 2] * $5); - $27 = Math_fround(HEAPF32[$10 + 1696 >> 2] * $5); - $7 = 2 - $11 | 0; - $12 = HEAPF32[($20 << 2) + $1 >> 2]; - $13 = HEAPF32[($21 << 2) + $1 >> 2]; - $14 = HEAPF32[($19 << 2) + $1 >> 2]; - $5 = HEAPF32[($18 << 2) + $1 >> 2]; - $10 = 0; - while (1) { - $2 = $10 << 2; - $16 = $2 + $0 | 0; - $15 = HEAPF32[($7 + $10 << 2) + $1 >> 2]; - $17 = Math_fround($5 + $15); - $5 = HEAPF32[$2 + $9 >> 2]; - $5 = Math_fround($5 * $5); - $17 = Math_fround($17 * Math_fround($22 * $5)); - $28 = Math_fround(Math_fround($12 + $14) * Math_fround($23 * $5)); - $29 = Math_fround($13 * Math_fround($24 * $5)); - $30 = HEAPF32[$1 + $2 >> 2]; - $2 = ($10 - $8 << 2) + $1 | 0; - $5 = Math_fround(Math_fround(1) - $5); - HEAPF32[$16 >> 2] = $17 + Math_fround($28 + Math_fround($29 + Math_fround(Math_fround(Math_fround($30 + Math_fround(HEAPF32[$2 >> 2] * Math_fround($27 * $5))) + Math_fround(Math_fround($26 * $5) * Math_fround(HEAPF32[$2 + 4 >> 2] + HEAPF32[$2 - 4 >> 2]))) + Math_fround(Math_fround($25 * $5) * Math_fround(HEAPF32[$2 + 8 >> 2] + HEAPF32[$2 - 8 >> 2]))))); - $5 = $14; - $14 = $13; - $13 = $12; - $12 = $15; - $10 = $10 + 1 | 0; - if (($10 | 0) != ($3 | 0)) { - continue; - } - break; - } - $16 = $3; - } - if ($6 == Math_fround(0)) { - if (($0 | 0) == ($1 | 0)) { - break label$1; - } - $10 = $3 << 2; - memmove($10 + $0 | 0, $1 + $10 | 0, $4 - $3 << 2); - return; - } - $3 = $4 - $16 | 0; - if (($3 | 0) < 1) { - break label$1; - } - $10 = $16 << 2; - $0 = $10 + $0 | 0; - $9 = 2 - $11 | 0; - $2 = $1 + $10 | 0; - $14 = HEAPF32[$2 + ($18 << 2) >> 2]; - $5 = HEAPF32[($19 << 2) + $2 >> 2]; - $12 = HEAPF32[($21 << 2) + $2 >> 2]; - $13 = HEAPF32[($20 << 2) + $2 >> 2]; - $10 = 0; - while (1) { - $1 = $10 << 2; - $15 = HEAPF32[($9 + $10 << 2) + $2 >> 2]; - HEAPF32[$1 + $0 >> 2] = Math_fround($22 * Math_fround($14 + $15)) + Math_fround(Math_fround($23 * Math_fround($5 + $13)) + Math_fround(Math_fround($24 * $12) + HEAPF32[$1 + $2 >> 2])); - $14 = $5; - $5 = $12; - $12 = $13; - $13 = $15; - $10 = $10 + 1 | 0; - if (($10 | 0) != ($3 | 0)) { - continue; - } - break; - } - } -} -function compute_stereo_width($0, $1, $2, $3) { - var $4 = Math_fround(0), $5 = Math_fround(0), $6 = Math_fround(0), $7 = Math_fround(0), $8 = Math_fround(0), $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0, $12 = Math_fround(0), $13 = Math_fround(0), $14 = Math_fround(0), $15 = Math_fround(0), $16 = Math_fround(0), $17 = 0; - $11 = ($2 | 0) / ($1 | 0) | 0; - $12 = Math_fround(Math_fround(Math_fround(-25) / Math_fround((($11 | 0) > 50 ? $11 : 50) | 0)) + Math_fround(1)); - label$1 : { - label$2 : { - if (($1 | 0) >= 4) { - $17 = $1 - 3 | 0; - $2 = 0; - while (1) { - $1 = $2 << 3; - $4 = HEAPF32[$1 + $0 >> 2]; - $5 = HEAPF32[($1 | 4) + $0 >> 2]; - $6 = HEAPF32[($1 | 8) + $0 >> 2]; - $7 = HEAPF32[($1 | 12) + $0 >> 2]; - $8 = HEAPF32[($1 | 16) + $0 >> 2]; - $13 = HEAPF32[($1 | 20) + $0 >> 2]; - $14 = HEAPF32[($1 | 24) + $0 >> 2]; - $15 = HEAPF32[($1 | 28) + $0 >> 2]; - $16 = Math_fround($16 + Math_fround(Math_fround(Math_fround(Math_fround($4 * $5) + Math_fround($6 * $7)) + Math_fround($8 * $13)) + Math_fround($14 * $15))); - $9 = Math_fround($9 + Math_fround(Math_fround(Math_fround(Math_fround($5 * $5) + Math_fround($7 * $7)) + Math_fround($13 * $13)) + Math_fround($15 * $15))); - $10 = Math_fround($10 + Math_fround(Math_fround(Math_fround(Math_fround($4 * $4) + Math_fround($6 * $6)) + Math_fround($8 * $8)) + Math_fround($14 * $14))); - $2 = $2 + 4 | 0; - if (($17 | 0) > ($2 | 0)) { - continue; - } - break; - } - if ($10 < Math_fround(1e9) ^ 1) { - break label$2; - } - } - if ($9 < Math_fround(1e9) ^ 1) { - break label$2; - } - if ($9 == $9 & $10 == $10) { - break label$1; - } - } - $9 = Math_fround(0); - $16 = Math_fround(0); - $10 = Math_fround(0); - } - $4 = HEAPF32[$3 + 8 >> 2]; - $4 = Math_fround(Math_max(Math_fround($4 + Math_fround($12 * Math_fround($9 - $4))), Math_fround(0))); - HEAPF32[$3 + 8 >> 2] = $4; - $5 = HEAPF32[$3 + 4 >> 2]; - $6 = Math_fround(Math_max(Math_fround($5 + Math_fround($12 * Math_fround($16 - $5))), Math_fround(0))); - HEAPF32[$3 + 4 >> 2] = $6; - $5 = HEAPF32[$3 >> 2]; - $5 = Math_fround(Math_max(Math_fround($5 + Math_fround($12 * Math_fround($10 - $5))), Math_fround(0))); - HEAPF32[$3 >> 2] = $5; - label$6 : { - if (!(($4 < $5 ? $5 : $4) > Math_fround(.0007999999797903001))) { - $4 = HEAPF32[$3 + 16 >> 2]; - break label$6; - } - $5 = Math_fround(Math_sqrt($5)); - $7 = Math_fround(Math_sqrt($4)); - $4 = Math_fround($5 * $7); - $6 = $4 > $6 ? $6 : $4; - HEAPF32[$3 + 4 >> 2] = $6; - $5 = Math_fround(Math_sqrt($5)); - $7 = Math_fround(Math_sqrt($7)); - $4 = Math_fround($6 / Math_fround($4 + Math_fround(1.0000000036274937e-15))); - $8 = HEAPF32[$3 + 12 >> 2]; - $4 = Math_fround(Math_fround(Math_fround(Math_fround(Math_abs(Math_fround($5 - $7))) / Math_fround(Math_fround($5 + Math_fround(1.0000000036274937e-15)) + $7)) * Math_fround(Math_sqrt(Math_fround(Math_fround(1) - Math_fround($4 * $4))))) - $8); - $5 = Math_fround($11 | 0); - $4 = Math_fround($8 + Math_fround($4 / $5)); - HEAPF32[$3 + 12 >> 2] = $4; - $5 = Math_fround(HEAPF32[$3 + 16 >> 2] + Math_fround(Math_fround(-.019999999552965164) / $5)); - $4 = $4 < $5 ? $5 : $4; - HEAPF32[$3 + 16 >> 2] = $4; - } - return Math_fround(Math_min(Math_fround($4 * Math_fround(20)), Math_fround(1))); -} -function silk_process_gains_FLP($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = Math_fround(0), $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = 0; - $7 = __stack_pointer - 16 | 0; - __stack_pointer = $7; - label$1 : { - if (HEAPU8[$0 + 4765 | 0] != 2) { - $5 = HEAP32[$0 + 4580 >> 2]; - break label$1; - } - $8 = exp(+Math_fround(Math_fround(HEAPF32[$1 + 708 >> 2] + Math_fround(-12)) * Math_fround(-.25))); - $5 = HEAP32[$0 + 4580 >> 2]; - if (($5 | 0) < 1) { - break label$1; - } - $6 = Math_fround(Math_fround(Math_fround(1 / ($8 + 1)) * Math_fround(-.5)) + Math_fround(1)); - while (1) { - $4 = ($3 << 2) + $1 | 0; - HEAPF32[$4 >> 2] = $6 * HEAPF32[$4 >> 2]; - $3 = $3 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $3 = 0; - $4 = HEAP32[$0 + 4588 >> 2]; - $8 = exp2(+Math_fround(Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4716 >> 2]) * Math_fround(-.0078125)) + Math_fround(21)) * Math_fround(.33000001311302185))); - label$4 : { - if (($5 | 0) <= 0) { - break label$4; - } - $9 = Math_fround($8 / +($4 | 0)); - while (1) { - $4 = ($3 << 2) + $1 | 0; - $6 = HEAPF32[$4 >> 2]; - $6 = Math_fround(Math_sqrt(Math_fround(Math_fround($6 * $6) + Math_fround(HEAPF32[$4 + 712 >> 2] * $9)))); - HEAPF32[$4 >> 2] = $6 < Math_fround(32767) ? $6 : Math_fround(32767); - $3 = $3 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - $3 = 0; - if (($5 | 0) <= 0) { - break label$4; - } - while (1) { - $4 = $3 << 2; - $10 = $7 + $4 | 0; - $6 = Math_fround(HEAPF32[$1 + $4 >> 2] * Math_fround(65536)); - label$7 : { - if (Math_fround(Math_abs($6)) < Math_fround(2147483648)) { - $4 = ~~$6; - break label$7; - } - $4 = -2147483648; - } - HEAP32[$10 >> 2] = $4; - $3 = $3 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - memcpy($1 + 728 | 0, $7, $5 << 2); - HEAP8[$1 + 744 | 0] = HEAPU8[$0 + 7168 | 0]; - silk_gains_quant($0 + 4736 | 0, $7, $0 + 7168 | 0, ($2 | 0) == 2, HEAP32[$0 + 4580 >> 2]); - $5 = HEAP32[$0 + 4580 >> 2]; - if (($5 | 0) >= 1) { - $3 = 0; - while (1) { - $4 = $3 << 2; - HEAPF32[$4 + $1 >> 2] = Math_fround(HEAP32[$4 + $7 >> 2]) * Math_fround(152587890625e-16); - $3 = $3 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $4 = HEAPU8[$0 + 4765 | 0]; - label$11 : { - if (($4 | 0) != 2) { - $3 = HEAP8[$0 + 4766 | 0]; - break label$11; - } - $3 = Math_fround(HEAPF32[$1 + 708 >> 2] + Math_fround(Math_fround(HEAP32[$0 + 4712 >> 2]) * Math_fround(30517578125e-15))) > Math_fround(1) ^ 1; - HEAP8[$0 + 4766 | 0] = $3; - } - HEAPF32[$1 + 692 >> 2] = Math_fround(Math_fround(Math_fround(HEAP16[(($4 << 24 >> 24 << 1 & -4) + ($3 << 1) | 0) + 5840 >> 1]) * Math_fround(.0009765625)) * Math_fround(.800000011920929)) + Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4628 >> 2]) * Math_fround(-.05000000074505806)) + Math_fround(1.2000000476837158)) + Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4532 >> 2]) * Math_fround(.20000000298023224)) * Math_fround(-.00390625))) + Math_fround(HEAPF32[$1 + 696 >> 2] * Math_fround(-.10000000149011612))) - Math_fround(HEAPF32[$1 + 700 >> 2] * Math_fround(.20000000298023224))); - __stack_pointer = $7 + 16 | 0; -} -function silk_find_pred_coefs_FLP($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = Math_fround(0); - $5 = __stack_pointer - 2064 | 0; - __stack_pointer = $5; - label$1 : { - label$2 : { - $7 = HEAP32[$0 + 4580 >> 2]; - label$3 : { - if (($7 | 0) >= 1) { - while (1) { - $8 = $6 << 2; - HEAPF32[$8 + ($5 + 1568 | 0) >> 2] = Math_fround(1) / HEAPF32[$1 + $8 >> 2]; - $6 = $6 + 1 | 0; - if (($7 | 0) != ($6 | 0)) { - continue; - } - break; - } - if (HEAPU8[$0 + 4765 | 0] == 2) { - break label$3; - } - if (($7 | 0) < 1) { - break label$2; - } - $4 = HEAP32[$0 + 4640 >> 2]; - $6 = $3 - ($4 << 2) | 0; - $8 = HEAP32[$0 + 4588 >> 2]; - $3 = 0; - $2 = $5; - while (1) { - silk_scale_copy_vector_FLP($2, $6, HEAPF32[($5 + 1568 | 0) + ($3 << 2) >> 2], $4 + $8 | 0); - $8 = HEAP32[$0 + 4588 >> 2]; - $6 = ($8 << 2) + $6 | 0; - $4 = HEAP32[$0 + 4640 >> 2]; - $2 = ($8 + $4 << 2) + $2 | 0; - $3 = $3 + 1 | 0; - $7 = HEAP32[$0 + 4580 >> 2]; - if (($3 | 0) < ($7 | 0)) { - continue; - } - break; - } - break label$2; - } - if (HEAPU8[$0 + 4765 | 0] != 2) { - break label$2; - } - } - if ((HEAP32[$1 + 228 >> 2] + 2 | 0) <= (HEAP32[$0 + 4592 >> 2] - HEAP32[$0 + 4640 >> 2] | 0)) { - $6 = $1 + 228 | 0; - silk_find_LTP_FLP($5 + 1664 | 0, $5 + 1584 | 0, $2, $6, HEAP32[$0 + 4588 >> 2], $7); - $8 = $1 + 144 | 0; - silk_quant_LTP_gains_FLP($8, $0 + 4740 | 0, $0 + 4768 | 0, $0 + 4656 | 0, $1 + 708 | 0, $5 + 1664 | 0, $5 + 1584 | 0, HEAP32[$0 + 4588 >> 2], HEAP32[$0 + 4580 >> 2], HEAP32[$0 + 5092 >> 2]); - silk_LTP_scale_ctrl_FLP($0, $1, $4); - $7 = HEAP32[$0 + 4640 >> 2]; - silk_LTP_analysis_filter_FLP($5, $3 - ($7 << 2) | 0, $8, $6, $5 + 1568 | 0, HEAP32[$0 + 4588 >> 2], HEAP32[$0 + 4580 >> 2], $7); - break label$1; - } - celt_fatal(16745, 16862, 62); - abort(); - } - memset($1 + 144 | 0, 0, Math_imul($7, 20)); - HEAP32[$1 + 708 >> 2] = 0; - HEAP32[$0 + 4656 >> 2] = 0; - } - $9 = Math_fround(.009999999776482582); - $2 = $0; - $4 = $5 + 1536 | 0; - $3 = $5; - if (!HEAP32[$0 + 4664 >> 2]) { - $9 = HEAPF32[$1 + 700 >> 2]; - $9 = Math_fround(Math_fround(Math_fround(exp2(+Math_fround(HEAPF32[$1 + 708 >> 2] / Math_fround(3)))) / Math_fround(1e4)) / Math_fround(Math_fround($9 * Math_fround(.75)) + Math_fround(.25))); - } - silk_find_LPC_FLP($2, $4, $3, $9); - $6 = $1 + 16 | 0; - silk_process_NLSFs_FLP($0, $6, $5 + 1536 | 0, $0 + 4500 | 0); - silk_residual_energy_FLP($1 + 712 | 0, $5, $6, $1, HEAP32[$0 + 4588 >> 2], HEAP32[$0 + 4580 >> 2], HEAP32[$0 + 4640 >> 2]); - $3 = $5 + 1560 | 0; - $2 = HEAP32[$3 >> 2]; - $1 = HEAP32[$3 + 4 >> 2]; - $3 = $2; - $2 = $0 + 4524 | 0; - HEAP32[$2 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = $1; - $3 = $5 + 1552 | 0; - $1 = HEAP32[$3 >> 2]; - $2 = HEAP32[$3 + 4 >> 2]; - $3 = $1; - $1 = $0 + 4516 | 0; - HEAP32[$1 >> 2] = $3; - HEAP32[$1 + 4 >> 2] = $2; - $1 = HEAP32[$5 + 1548 >> 2]; - $2 = HEAP32[$5 + 1544 >> 2]; - $3 = $2; - $2 = $0 + 4508 | 0; - HEAP32[$2 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = $1; - $2 = HEAP32[$5 + 1540 >> 2]; - $1 = HEAP32[$5 + 1536 >> 2]; - HEAP32[$0 + 4500 >> 2] = $1; - HEAP32[$0 + 4504 >> 2] = $2; - __stack_pointer = $5 + 2064 | 0; -} -function spreading_decision($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { - var $11 = 0, $12 = 0, $13 = 0, $14 = Math_fround(0), $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = Math_fround(0); - label$1 : { - label$2 : { - if (($7 | 0) > 0) { - $18 = HEAP32[$0 + 32 >> 2]; - $12 = $18 + ($7 << 1) | 0; - label$4 : { - if ((Math_imul(HEAP16[$12 >> 1] - HEAP16[$12 - 2 >> 1] | 0, $9) | 0) < 9) { - break label$4; - } - $25 = Math_imul(HEAP32[$0 + 44 >> 2], $9); - $26 = ($8 | 0) > 1 ? $8 : 1; - $27 = HEAPU16[$18 >> 1]; - while (1) { - $28 = (Math_imul($19, $25) << 2) + $1 | 0; - $20 = $27; - $15 = 0; - while (1) { - $11 = $20 << 16; - $24 = $15 + 1 | 0; - $20 = HEAP16[($24 << 1) + $18 >> 1]; - $11 = $11 >> 16; - $13 = Math_imul($20 - $11 | 0, $9); - if (($13 | 0) >= 9) { - $29 = (Math_imul($9, $11) << 2) + $28 | 0; - $30 = Math_fround($13 | 0); - $21 = 0; - $12 = 0; - $16 = 0; - $11 = 0; - while (1) { - $14 = HEAPF32[($11 << 2) + $29 >> 2]; - $14 = Math_fround(Math_fround($14 * $14) * $30); - $21 = ($14 < Math_fround(.015625)) + $21 | 0; - $12 = ($14 < Math_fround(.0625)) + $12 | 0; - $16 = ($14 < Math_fround(.25)) + $16 | 0; - $11 = $11 + 1 | 0; - if (($13 | 0) != ($11 | 0)) { - continue; - } - break; - } - $11 = HEAP32[($15 << 2) + $10 >> 2]; - $22 = Math_imul($11, (($12 << 1 >= ($13 | 0)) + ($16 << 1 >= ($13 | 0)) | 0) + ($21 << 1 >= ($13 | 0)) | 0) + $22 | 0; - $23 = $11 + $23 | 0; - $17 = (HEAP32[$0 + 8 >> 2] - 4 | 0) < ($15 | 0) ? (($12 + $16 << 5 >>> 0) / ($13 >>> 0) | 0) + $17 | 0 : $17; - } - $15 = $24; - if (($15 | 0) != ($7 | 0)) { - continue; - } - break; - } - $19 = $19 + 1 | 0; - if (($26 | 0) != ($19 | 0)) { - continue; - } - break; - } - if ($6) { - $11 = $17 ? ($17 >>> 0) / (Math_imul(($7 - HEAP32[$0 + 8 >> 2] | 0) + 4 | 0, $8) >>> 0) | 0 : 0; - $11 = $11 + HEAP32[$4 >> 2] >> 1; - HEAP32[$4 >> 2] = $11; - label$13 : { - label$14 : { - switch (HEAP32[$5 >> 2]) { - case 2: - $11 = $11 + 4 | 0; - break label$13; - case 0: - break label$14; - default: - break label$13; - } - } - $11 = $11 - 4 | 0; - } - HEAP32[$5 >> 2] = ($11 | 0) > 22 ? 2 : ($11 | 0) > 18; - } - if (($23 | 0) <= 0) { - break label$2; - } - if (($22 | 0) <= -1) { - break label$1; - } - $12 = HEAP32[$2 >> 2] + (($22 << 8 >>> 0) / ($23 >>> 0) | 0) >> 1; - HEAP32[$2 >> 2] = $12; - $11 = 3; - $12 = (Math_imul($12, 3) - ($3 << 7) | 0) + 448 | 0; - if (($12 | 0) < 318) { - break label$4; - } - $11 = 2; - if (($12 | 0) < 1022) { - break label$4; - } - $11 = ($12 | 0) < 1534; - } - return $11; - } - celt_fatal(41813, 41800, 489); - abort(); - } - celt_fatal(41837, 41800, 545); - abort(); - } - celt_fatal(41865, 41800, 546); - abort(); -} -function decode_pulses($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = Math_fround(0), $7 = 0, $8 = Math_fround(0), $9 = 0, $10 = 0, $11 = 0; - $4 = $2 + 1 | 0; - $5 = ($1 | 0) > ($2 | 0); - $5 = ec_dec_uint($3, HEAP32[HEAP32[(($5 ? $4 : $1) << 2) + 36320 >> 2] + ((($1 | 0) > ($4 | 0) ? $1 : $4) << 2) >> 2] + HEAP32[HEAP32[((($1 | 0) < ($2 | 0) ? $1 : $2) << 2) + 36320 >> 2] + (($5 ? $1 : $2) << 2) >> 2] | 0); - label$1 : { - if (($2 | 0) > 0) { - if (($1 | 0) < 2) { - break label$1; - } - if (($1 | 0) != 2) { - while (1) { - $9 = $1; - label$5 : { - if (($1 | 0) <= ($2 | 0)) { - $3 = $2; - $7 = $9 << 2; - $10 = HEAP32[$7 + 36320 >> 2]; - $4 = HEAP32[($10 + ($2 << 2) | 0) + 4 >> 2]; - $11 = $5 >>> 0 >= $4 >>> 0 ? -1 : 0; - $4 = $5 - ($4 & $11) | 0; - label$7 : { - if ($4 >>> 0 < HEAPU32[$7 + $10 >> 2]) { - while (1) { - $1 = $1 - 1 | 0; - $5 = HEAP32[HEAP32[($1 << 2) + 36320 >> 2] + $7 >> 2]; - if ($5 >>> 0 > $4 >>> 0) { - continue; - } - break label$7; - } - } - while (1) { - $1 = $3; - $3 = $1 - 1 | 0; - $5 = HEAP32[($1 << 2) + $10 >> 2]; - if ($5 >>> 0 > $4 >>> 0) { - continue; - } - break; - } - } - $3 = (($2 + $11 | 0) - $1 ^ $11) << 16 >> 16; - HEAP32[$0 >> 2] = $3; - $6 = Math_fround($3 | 0); - $8 = Math_fround($8 + Math_fround($6 * $6)); - $2 = $1; - $5 = $4 - $5 | 0; - break label$5; - } - $4 = $9 << 2; - $3 = $2 << 2; - $1 = HEAP32[$4 + HEAP32[$3 + 36324 >> 2] >> 2]; - $3 = HEAP32[HEAP32[$3 + 36320 >> 2] + $4 >> 2]; - if (!($5 >>> 0 < $3 >>> 0 | $1 >>> 0 <= $5 >>> 0)) { - HEAP32[$0 >> 2] = 0; - $5 = $5 - $3 | 0; - break label$5; - } - $7 = $1 >>> 0 <= $5 >>> 0 ? -1 : 0; - $3 = $5 - ($7 & $1) | 0; - $1 = $2; - while (1) { - $1 = $1 - 1 | 0; - $5 = HEAP32[HEAP32[($1 << 2) + 36320 >> 2] + $4 >> 2]; - if ($5 >>> 0 > $3 >>> 0) { - continue; - } - break; - } - $4 = (($2 + $7 | 0) - $1 ^ $7) << 16 >> 16; - HEAP32[$0 >> 2] = $4; - $6 = Math_fround($4 | 0); - $8 = Math_fround($8 + Math_fround($6 * $6)); - $2 = $1; - $5 = $3 - $5 | 0; - } - $1 = $9 - 1 | 0; - $0 = $0 + 4 | 0; - if (($9 | 0) > 3) { - continue; - } - break; - } - } - $1 = $2 << 1 | 1; - $4 = $5 >>> 0 >= $1 >>> 0; - $2 = $2 - $4 | 0; - $4 = $4 ? -1 : 0; - $3 = $5 - ($4 & $1) | 0; - $5 = $3 + 1 | 0; - $1 = $5 >>> 1 | 0; - $4 = ($2 - $1 ^ $4) << 16 >> 16; - HEAP32[$0 >> 2] = $4; - $3 = $3 - ($1 ? ($5 & -2) - 1 | 0 : 0) | 0; - $1 = ($1 - $3 ^ 0 - $3) << 16 >> 16; - HEAP32[$0 + 4 >> 2] = $1; - $6 = Math_fround($4 | 0); - $6 = Math_fround($8 + Math_fround($6 * $6)); - $8 = Math_fround($1 | 0); - return Math_fround($6 + Math_fround($8 * $8)); - } - celt_fatal(36272, 36295, 469); - abort(); - } - celt_fatal(41504, 36295, 470); - abort(); -} -function resampler_basic_interpolate_single($0, $1, $2, $3, $4, $5) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $5 = $5 | 0; - var $6 = Math_fround(0), $7 = Math_fround(0), $8 = Math_fround(0), $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = Math_fround(0), $15 = Math_fround(0), $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = Math_fround(0), $22 = Math_fround(0), $23 = 0, $24 = 0, $25 = 0, $26 = Math_fround(0), $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = Math_fround(0); - $1 = $1 << 2; - $16 = $1 + HEAP32[$0 + 64 >> 2] | 0; - $12 = HEAP32[$16 >> 2]; - $17 = HEAP32[$0 + 60 >> 2] + $1 | 0; - $9 = HEAP32[$17 >> 2]; - $18 = HEAP32[$3 >> 2]; - label$1 : { - if (($9 | 0) >= ($18 | 0)) { - break label$1; - } - $23 = HEAP32[$0 + 40 >> 2]; - $24 = HEAP32[$0 + 36 >> 2]; - $25 = HEAP32[$0 + 92 >> 2]; - $3 = HEAP32[$5 >> 2]; - $19 = ($3 | 0) > 0 ? $3 : 0; - $10 = HEAP32[$0 + 12 >> 2]; - $26 = Math_fround($10 >>> 0); - $20 = HEAP32[$0 + 24 >> 2]; - $27 = ($20 | 0) < 1; - while (1) { - if (($11 | 0) == ($19 | 0)) { - $11 = $19; - break label$1; - } - $5 = HEAP32[$0 + 48 >> 2]; - $3 = Math_imul($12, $5); - $1 = $3; - $3 = ($3 >>> 0) / ($10 >>> 0) | 0; - $7 = Math_fround(Math_fround($1 - Math_imul($10, $3) >>> 0) / $26); - label$4 : { - if ($27) { - $8 = Math_fround(0); - $13 = Math_fround(0); - $14 = Math_fround(0); - $15 = Math_fround(0); - break label$4; - } - $28 = ($9 << 2) + $2 | 0; - $29 = 4 - $3 | 0; - $30 = HEAP32[$0 + 76 >> 2]; - $3 = 0; - $15 = Math_fround(0); - $14 = Math_fround(0); - $13 = Math_fround(0); - $8 = Math_fround(0); - while (1) { - $6 = HEAPF32[($3 << 2) + $28 >> 2]; - $3 = $3 + 1 | 0; - $1 = (Math_imul($5, $3) + $29 << 2) + $30 | 0; - $14 = Math_fround($14 + Math_fround($6 * HEAPF32[$1 >> 2])); - $15 = Math_fround($15 + Math_fround($6 * HEAPF32[$1 + 4 >> 2])); - $13 = Math_fround($13 + Math_fround($6 * HEAPF32[$1 - 4 >> 2])); - $8 = Math_fround($8 + Math_fround($6 * HEAPF32[$1 - 8 >> 2])); - if (($3 | 0) != ($20 | 0)) { - continue; - } - break; - } - } - $6 = Math_fround($7 * Math_fround(.16666999459266663)); - $21 = Math_fround($7 * Math_fround($7 * $6)); - $22 = Math_fround($21 - $6); - $31 = Math_fround($22 * $8); - $6 = Math_fround($7 * Math_fround($7 * Math_fround(.5))); - $8 = Math_fround(Math_fround($7 + $6) - Math_fround($7 * $6)); - $6 = Math_fround(Math_fround($6 + Math_fround($7 * Math_fround(-.3333300054073334))) - $21); - HEAPF32[(Math_imul($11, $25) << 2) + $4 >> 2] = Math_fround(Math_fround($31 + Math_fround($8 * $13)) + Math_fround($14 * Math_fround(1 - +$22 - +$8 - +$6))) + Math_fround($6 * $15); - $3 = $12 + $23 | 0; - $12 = $3 - ($3 >>> 0 < $10 >>> 0 ? 0 : $10) | 0; - $11 = $11 + 1 | 0; - $9 = ($9 + $24 | 0) + ($3 >>> 0 >= $10 >>> 0) | 0; - if (($18 | 0) > ($9 | 0)) { - continue; - } - break; - } - } - HEAP32[$17 >> 2] = $9; - HEAP32[$16 >> 2] = $12; - return $11 | 0; -} -function opus_encoder_init($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - $4 = __stack_pointer - 32 | 0; - __stack_pointer = $4; - $6 = -1; - label$1 : { - label$2 : { - if (($1 | 0) <= 15999) { - if (($1 | 0) == 8e3 | ($1 | 0) == 12e3) { - break label$2; - } - break label$1; - } - if (($1 | 0) == 16e3 | ($1 | 0) == 48e3) { - break label$2; - } - if (($1 | 0) != 24e3) { - break label$1; - } - } - if ($2 - 1 >>> 0 > 1) { - break label$1; - } - $5 = $3 - 2048 | 0; - if ($5 >>> 0 > 3 | ($5 | 0) == 2) { - break label$1; - } - $5 = 0; - if (!silk_Get_Encoder_Size($4 + 28 | 0)) { - HEAP32[$4 + 28 >> 2] = HEAP32[$4 + 28 >> 2] + 3 & -4; - $5 = (celt_encoder_get_size($2) + HEAP32[$4 + 28 >> 2] | 0) + 18140 | 0; - } - $0 = memset($0, 0, $5); - if (silk_Get_Encoder_Size($4 + 28 | 0)) { - break label$1; - } - $6 = HEAP32[$4 + 28 >> 2] + 3 & -4; - HEAP32[$4 + 28 >> 2] = $6; - HEAP32[$0 + 14192 >> 2] = $2; - HEAP32[$0 + 112 >> 2] = $2; - HEAP32[$0 + 4 >> 2] = 18140; - HEAP32[$0 + 180 >> 2] = 0; - HEAP32[$0 + 144 >> 2] = $1; - $5 = $6 + 18140 | 0; - HEAP32[$0 >> 2] = $5; - $6 = -3; - if (silk_InitEncoder($0 + 18140 | 0, 0, $0 + 8 | 0)) { - break label$1; - } - HEAP32[$0 + 8 >> 2] = $2; - HEAP32[$0 + 12 >> 2] = $2; - HEAP32[$0 + 76 >> 2] = 0; - HEAP32[$0 + 56 >> 2] = 0; - HEAP32[$0 + 60 >> 2] = 0; - HEAP32[$0 + 44 >> 2] = 9; - HEAP32[$0 + 48 >> 2] = 0; - HEAP32[$0 + 36 >> 2] = 25e3; - HEAP32[$0 + 40 >> 2] = 0; - HEAP32[$0 + 28 >> 2] = 16e3; - HEAP32[$0 + 32 >> 2] = 20; - HEAP32[$0 + 20 >> 2] = 16e3; - HEAP32[$0 + 24 >> 2] = 8e3; - HEAP32[$0 + 16 >> 2] = HEAP32[$0 + 144 >> 2]; - $5 = $0 + $5 | 0; - if (celt_encoder_init($5, $1, $2, HEAP32[$0 + 180 >> 2])) { - break label$1; - } - $6 = 0; - HEAP32[$4 + 16 >> 2] = 0; - opus_custom_encoder_ctl($5, 10016, $4 + 16 | 0); - HEAP32[$4 >> 2] = HEAP32[$0 + 44 >> 2]; - opus_custom_encoder_ctl($5, 4010, $4); - HEAP32[$0 + 148 >> 2] = 1; - HEAP32[$0 + 152 >> 2] = 1; - HEAP32[$0 + 160 >> 2] = Math_imul($1, $2) + 3e3; - HEAP32[$0 + 128 >> 2] = -1e3; - HEAP32[$0 + 132 >> 2] = 1105; - HEAP32[$0 + 108 >> 2] = $3; - HEAP32[$0 + 136 >> 2] = -1e3; - HEAP32[$0 + 140 >> 2] = -1; - HEAP32[$0 + 120 >> 2] = -1e3; - HEAP32[$0 + 124 >> 2] = -1e3; - HEAP32[$0 + 164 >> 2] = -1e3; - HEAP32[$0 + 168 >> 2] = 24; - HEAP32[$0 + 156 >> 2] = 5e3; - HEAP32[$0 + 14204 >> 2] = 1065353216; - HEAP16[$0 + 14196 >> 1] = 16384; - $1 = HEAP32[$0 + 144 >> 2]; - HEAP32[$0 + 172 >> 2] = ($1 | 0) / 100; - HEAP32[$0 + 116 >> 2] = ($1 | 0) / 250; - $1 = silk_lin2log(60); - HEAP32[$0 + 14252 >> 2] = 1; - HEAP32[$0 + 14240 >> 2] = 1105; - HEAP32[$0 + 14224 >> 2] = 1001; - HEAP32[$0 + 14200 >> 2] = $1 << 8; - tonality_analysis_init($0 + 188 | 0, HEAP32[$0 + 144 >> 2]); - HEAP32[$0 + 192 >> 2] = HEAP32[$0 + 108 >> 2]; - } - __stack_pointer = $4 + 32 | 0; - return $6; -} -function resampler_basic_interpolate_double($0, $1, $2, $3, $4, $5) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $5 = $5 | 0; - var $6 = Math_fround(0), $7 = 0, $8 = Math_fround(0), $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = Math_fround(0), $23 = 0, $24 = 0, $25 = 0, $26 = Math_fround(0), $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0; - $1 = $1 << 2; - $17 = $1 + HEAP32[$0 + 64 >> 2] | 0; - $13 = HEAP32[$17 >> 2]; - $18 = HEAP32[$0 + 60 >> 2] + $1 | 0; - $9 = HEAP32[$18 >> 2]; - $19 = HEAP32[$3 >> 2]; - label$1 : { - if (($9 | 0) >= ($19 | 0)) { - break label$1; - } - $23 = HEAP32[$0 + 40 >> 2]; - $24 = HEAP32[$0 + 36 >> 2]; - $25 = HEAP32[$0 + 92 >> 2]; - $3 = HEAP32[$5 >> 2]; - $20 = ($3 | 0) > 0 ? $3 : 0; - $10 = HEAP32[$0 + 12 >> 2]; - $26 = Math_fround($10 >>> 0); - $21 = HEAP32[$0 + 24 >> 2]; - $27 = ($21 | 0) < 1; - while (1) { - if (($12 | 0) == ($20 | 0)) { - $12 = $20; - break label$1; - } - $5 = HEAP32[$0 + 48 >> 2]; - $3 = Math_imul($13, $5); - $1 = $3; - $3 = ($3 >>> 0) / ($10 >>> 0) | 0; - $8 = Math_fround(Math_fround($1 - Math_imul($10, $3) >>> 0) / $26); - label$4 : { - if ($27) { - $7 = 0; - $11 = 0; - $14 = 0; - $15 = 0; - break label$4; - } - $28 = ($9 << 2) + $2 | 0; - $29 = 4 - $3 | 0; - $30 = HEAP32[$0 + 76 >> 2]; - $3 = 0; - $15 = 0; - $14 = 0; - $11 = 0; - $7 = 0; - while (1) { - $6 = HEAPF32[($3 << 2) + $28 >> 2]; - $3 = $3 + 1 | 0; - $1 = (Math_imul($5, $3) + $29 << 2) + $30 | 0; - $14 = $14 + +Math_fround($6 * HEAPF32[$1 >> 2]); - $15 = $15 + +Math_fround($6 * HEAPF32[$1 + 4 >> 2]); - $11 = $11 + +Math_fround($6 * HEAPF32[$1 - 4 >> 2]); - $7 = $7 + +Math_fround($6 * HEAPF32[$1 - 8 >> 2]); - if (($3 | 0) != ($21 | 0)) { - continue; - } - break; - } - } - $6 = Math_fround($8 * Math_fround(.16666999459266663)); - $22 = Math_fround($8 * Math_fround($8 * $6)); - $16 = +Math_fround($22 - $6); - $31 = $7 * $16; - $6 = Math_fround($8 * Math_fround($8 * Math_fround(.5))); - $7 = +Math_fround(Math_fround($8 + $6) - Math_fround($8 * $6)); - $11 = $31 + $11 * $7; - $16 = 1 - $16 - $7; - $7 = +Math_fround(Math_fround($6 + Math_fround($8 * Math_fround(-.3333300054073334))) - $22); - HEAPF32[(Math_imul($12, $25) << 2) + $4 >> 2] = $11 + $14 * +Math_fround($16 - $7) + $15 * $7; - $3 = $13 + $23 | 0; - $13 = $3 - ($3 >>> 0 < $10 >>> 0 ? 0 : $10) | 0; - $12 = $12 + 1 | 0; - $9 = ($9 + $24 | 0) + ($3 >>> 0 >= $10 >>> 0) | 0; - if (($19 | 0) > ($9 | 0)) { - continue; - } - break; - } - } - HEAP32[$18 >> 2] = $9; - HEAP32[$17 >> 2] = $13; - return $12 | 0; -} -function silk_find_pitch_lags_FLP($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = 0, $11 = 0, $12 = 0; - $5 = __stack_pointer - 1744 | 0; - __stack_pointer = $5; - $7 = HEAP32[$0 + 4548 >> 2]; - $8 = HEAP32[$0 + 4596 >> 2]; - $6 = $8 + HEAP32[$0 + 4584 >> 2] | 0; - $10 = HEAP32[$0 + 4592 >> 2]; - $11 = $6 + $10 | 0; - if (($7 | 0) <= ($11 | 0)) { - $6 = (($6 << 2) + $3 | 0) - ($7 << 2) | 0; - silk_apply_sine_window_FLP($5, $6, 1, $8); - $8 = HEAP32[$0 + 4596 >> 2]; - $7 = $8 << 2; - $12 = $7 + $5 | 0; - $7 = $7 + $6 | 0; - $6 = HEAP32[$0 + 4548 >> 2] - ($8 << 1) << 2; - silk_apply_sine_window_FLP($6 + memcpy($12, $7, $6) | 0, $7 + $6 | 0, 2, $8); - silk_autocorrelation_FLP($5 + 1664 | 0, $5, HEAP32[$0 + 4548 >> 2], HEAP32[$0 + 4648 >> 2] + 1 | 0); - $9 = HEAPF32[$5 + 1664 >> 2]; - HEAPF32[$5 + 1664 >> 2] = $9 + Math_fround(Math_fround($9 * Math_fround(.0010000000474974513)) + Math_fround(1)); - $9 = silk_schur_FLP($5 + 1536 | 0, $5 + 1664 | 0, HEAP32[$0 + 4648 >> 2]); - HEAPF32[$1 + 704 >> 2] = HEAPF32[$5 + 1664 >> 2] / ($9 > Math_fround(1) ? $9 : Math_fround(1)); - silk_k2a_FLP($5 + 1600 | 0, $5 + 1536 | 0, HEAP32[$0 + 4648 >> 2]); - silk_bwexpander_FLP($5 + 1600 | 0, HEAP32[$0 + 4648 >> 2], Math_fround(.9900000095367432)); - silk_LPC_analysis_filter_FLP($2, $5 + 1600 | 0, $3 - ($10 << 2) | 0, $11, HEAP32[$0 + 4648 >> 2]); - label$2 : { - if (!(HEAP32[$0 + 4664 >> 2] | !HEAPU8[$0 + 4765 | 0])) { - if (!silk_pitch_analysis_core_FLP($2, $1 + 228 | 0, $0 + 4762 | 0, $0 + 4764 | 0, $0 + 10060 | 0, HEAP32[$0 + 4544 >> 2], Math_fround(Math_fround(HEAP32[$0 + 4652 >> 2]) * Math_fround(152587890625e-16)), Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4648 >> 2]) * Math_fround(-.004000000189989805)) + Math_fround(.6000000238418579)) + Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4532 >> 2]) * Math_fround(.10000000149011612)) * Math_fround(-.00390625))) + Math_fround(Math_fround(HEAP8[$0 + 4541 | 0] >> 1) * Math_fround(-.15000000596046448))) + Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4712 >> 2]) * Math_fround(.10000000149011612)) * Math_fround(-30517578125e-15))), HEAP32[$0 + 4576 >> 2], HEAP32[$0 + 4644 >> 2], HEAP32[$0 + 4580 >> 2], $4)) { - HEAP8[$0 + 4765 | 0] = 2; - break label$2; - } - HEAP8[$0 + 4765 | 0] = 1; - break label$2; - } - HEAP32[$1 + 228 >> 2] = 0; - HEAP32[$1 + 232 >> 2] = 0; - HEAP32[$1 + 236 >> 2] = 0; - HEAP32[$1 + 240 >> 2] = 0; - HEAP32[$0 + 10060 >> 2] = 0; - HEAP8[$0 + 4764 | 0] = 0; - HEAP16[$0 + 4762 >> 1] = 0; - } - __stack_pointer = $5 + 1744 | 0; - return; - } - celt_fatal(10821, 10883, 59); - abort(); -} -function stereo_itheta($0, $1, $2, $3, $4) { - var $5 = Math_fround(0), $6 = Math_fround(0), $7 = Math_fround(0), $8 = Math_fround(0), $9 = Math_fround(0); - label$1 : { - if ($2) { - $6 = Math_fround(1.0000000036274937e-15); - if (($3 | 0) < 1) { - $5 = Math_fround(1.0000000036274937e-15); - break label$1; - } - $2 = 0; - $5 = Math_fround(1.0000000036274937e-15); - while (1) { - $4 = $2 << 2; - $7 = HEAPF32[$4 + $0 >> 2]; - $8 = HEAPF32[$1 + $4 >> 2]; - $9 = Math_fround($7 - $8); - $5 = Math_fround($5 + Math_fround($9 * $9)); - $7 = Math_fround($7 + $8); - $6 = Math_fround($6 + Math_fround($7 * $7)); - $2 = $2 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$1; - } - if (($3 | 0) < 1) { - $5 = Math_fround(1.0000000036274937e-15); - $6 = Math_fround(1.0000000036274937e-15); - break label$1; - } - $2 = 0; - while (1) { - $5 = HEAPF32[($2 << 2) + $0 >> 2]; - $6 = Math_fround($6 + Math_fround($5 * $5)); - $2 = $2 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - $6 = Math_fround($6 + Math_fround(1.0000000036274937e-15)); - $2 = 0; - $5 = Math_fround(0); - while (1) { - $7 = HEAPF32[($2 << 2) + $1 >> 2]; - $5 = Math_fround($5 + Math_fround($7 * $7)); - $2 = $2 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - $5 = Math_fround($5 + Math_fround(1.0000000036274937e-15)); - } - $8 = Math_fround(Math_sqrt($5)); - $5 = Math_fround($8 * $8); - $9 = Math_fround(Math_sqrt($6)); - $6 = Math_fround($9 * $9); - $7 = Math_fround(0); - label$8 : { - if (Math_fround($5 + $6) < Math_fround(1.000000045813705e-18)) { - break label$8; - } - $7 = Math_fround(Math_fround(1.5707963705062866) - Math_fround(Math_fround(Math_fround($8 * $9) * Math_fround($5 + Math_fround($6 * Math_fround(.43157973885536194)))) / Math_fround(Math_fround($5 + Math_fround($6 * Math_fround(.6784840226173401))) * Math_fround($5 + Math_fround($6 * Math_fround(.0859554186463356)))))); - if (!($5 > $6 ^ 1)) { - break label$8; - } - $7 = Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($8 * $9) * Math_fround($6 + Math_fround($5 * Math_fround(.43157973885536194)))) / Math_fround(Math_fround($6 + Math_fround($5 * Math_fround(.6784840226173401))) * Math_fround($6 + Math_fround($5 * Math_fround(.0859554186463356))))) + Math_fround(1.5707963705062866)) + Math_fround(-1.5707963705062866)); - } - $6 = Math_fround(Math_floor(Math_fround(Math_fround($7 * Math_fround(10430.3818359375)) + Math_fround(.5)))); - if (Math_fround(Math_abs($6)) < Math_fround(2147483648)) { - return ~~$6; - } - return -2147483648; -} -function silk_resampler_down2_3($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - $6 = __stack_pointer - 1936 | 0; - __stack_pointer = $6; - $5 = $0; - $7 = HEAP32[$5 >> 2]; - $4 = HEAP32[$5 + 4 >> 2]; - HEAP32[$6 >> 2] = $7; - HEAP32[$6 + 4 >> 2] = $4; - $7 = HEAP32[$5 + 12 >> 2]; - $4 = HEAP32[$5 + 8 >> 2]; - HEAP32[$6 + 8 >> 2] = $4; - HEAP32[$6 + 12 >> 2] = $7; - $20 = $5 + 16 | 0; - $11 = HEAP16[3144]; - $15 = HEAP16[3145]; - $12 = HEAP16[3143]; - $13 = HEAP16[3142]; - $21 = $6 + 16 | 0; - while (1) { - $9 = ($3 | 0) < 480 ? $3 : 480; - silk_resampler_private_AR2($20, $21, $2, 6280, $9); - if (($9 | 0) >= 3) { - $4 = HEAP32[$6 >> 2]; - $5 = $6; - $7 = $9; - while (1) { - $14 = Math_imul($4 >> 16, $13) + (Math_imul($4 & 65535, $13) >> 16) | 0; - $4 = HEAP32[$5 + 4 >> 2]; - $8 = $4 >> 16; - $10 = $4 & 65535; - $4 = HEAP32[$5 + 8 >> 2]; - $16 = (Math_imul($4 & 65535, $15) >> 16) + Math_imul($4 >> 16, $15) | 0; - $4 = HEAP32[$5 + 12 >> 2]; - $17 = $4 >> 16; - $18 = $4 & 65535; - $14 = (($16 + ((Math_imul($8, $12) + $14 | 0) + (Math_imul($12, $10) >> 16) | 0) | 0) + Math_imul($17, $11) | 0) + (Math_imul($18, $11) >> 16) | 0; - $19 = ($14 >> 5) + 1 >> 1; - HEAP16[$1 >> 1] = ($14 | 0) > 2097119 ? 32767 : ($19 | 0) > -32768 ? $19 : -32768; - $10 = (((Math_imul($12, $17) + (Math_imul($12, $18) >> 16) | 0) + Math_imul($8, $11) | 0) + $16 | 0) + (Math_imul($11, $10) >> 16) | 0; - $8 = HEAP32[$5 + 16 >> 2]; - $8 = ($10 + Math_imul($8 >> 16, $13) | 0) + (Math_imul($8 & 65535, $13) >> 16) | 0; - $10 = ($8 >> 5) + 1 >> 1; - HEAP16[$1 + 2 >> 1] = ($8 | 0) > 2097119 ? 32767 : ($10 | 0) > -32768 ? $10 : -32768; - $1 = $1 + 4 | 0; - $5 = $5 + 12 | 0; - $8 = ($7 | 0) > 5; - $7 = $7 - 3 | 0; - if ($8) { - continue; - } - break; - } - } - $3 = $3 - $9 | 0; - if (($3 | 0) >= 1) { - $5 = ($9 << 2) + $6 | 0; - $7 = HEAP32[$5 >> 2]; - $4 = HEAP32[$5 + 4 >> 2]; - HEAP32[$6 >> 2] = $7; - HEAP32[$6 + 4 >> 2] = $4; - $7 = HEAP32[$5 + 12 >> 2]; - $4 = HEAP32[$5 + 8 >> 2]; - HEAP32[$6 + 8 >> 2] = $4; - HEAP32[$6 + 12 >> 2] = $7; - $2 = ($9 << 1) + $2 | 0; - continue; - } - break; - } - $5 = ($9 << 2) + $6 | 0; - $7 = HEAP32[$5 >> 2]; - $4 = HEAP32[$5 + 4 >> 2]; - $1 = $7; - $7 = $0; - HEAP32[$7 >> 2] = $1; - HEAP32[$7 + 4 >> 2] = $4; - $7 = HEAP32[$5 + 12 >> 2]; - $4 = HEAP32[$5 + 8 >> 2]; - $1 = $4; - $4 = $0; - HEAP32[$4 + 8 >> 2] = $1; - HEAP32[$4 + 12 >> 2] = $7; - __stack_pointer = $6 + 1936 | 0; -} -function memcpy($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0; - if ($2 >>> 0 >= 512) { - emscripten_memcpy_big($0 | 0, $1 | 0, $2 | 0) | 0; - return $0; - } - $4 = $0 + $2 | 0; - label$2 : { - if (!(($0 ^ $1) & 3)) { - label$4 : { - if (($2 | 0) < 1) { - $2 = $0; - break label$4; - } - if (!($0 & 3)) { - $2 = $0; - break label$4; - } - $2 = $0; - while (1) { - HEAP8[$2 | 0] = HEAPU8[$1 | 0]; - $1 = $1 + 1 | 0; - $2 = $2 + 1 | 0; - if ($4 >>> 0 <= $2 >>> 0) { - break label$4; - } - if ($2 & 3) { - continue; - } - break; - } - } - $3 = $4 & -4; - label$8 : { - if ($3 >>> 0 < 64) { - break label$8; - } - $5 = $3 + -64 | 0; - if ($5 >>> 0 < $2 >>> 0) { - break label$8; - } - while (1) { - HEAP32[$2 >> 2] = HEAP32[$1 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$1 + 8 >> 2]; - HEAP32[$2 + 12 >> 2] = HEAP32[$1 + 12 >> 2]; - HEAP32[$2 + 16 >> 2] = HEAP32[$1 + 16 >> 2]; - HEAP32[$2 + 20 >> 2] = HEAP32[$1 + 20 >> 2]; - HEAP32[$2 + 24 >> 2] = HEAP32[$1 + 24 >> 2]; - HEAP32[$2 + 28 >> 2] = HEAP32[$1 + 28 >> 2]; - HEAP32[$2 + 32 >> 2] = HEAP32[$1 + 32 >> 2]; - HEAP32[$2 + 36 >> 2] = HEAP32[$1 + 36 >> 2]; - HEAP32[$2 + 40 >> 2] = HEAP32[$1 + 40 >> 2]; - HEAP32[$2 + 44 >> 2] = HEAP32[$1 + 44 >> 2]; - HEAP32[$2 + 48 >> 2] = HEAP32[$1 + 48 >> 2]; - HEAP32[$2 + 52 >> 2] = HEAP32[$1 + 52 >> 2]; - HEAP32[$2 + 56 >> 2] = HEAP32[$1 + 56 >> 2]; - HEAP32[$2 + 60 >> 2] = HEAP32[$1 + 60 >> 2]; - $1 = $1 - -64 | 0; - $2 = $2 - -64 | 0; - if ($5 >>> 0 >= $2 >>> 0) { - continue; - } - break; - } - } - if ($2 >>> 0 >= $3 >>> 0) { - break label$2; - } - while (1) { - HEAP32[$2 >> 2] = HEAP32[$1 >> 2]; - $1 = $1 + 4 | 0; - $2 = $2 + 4 | 0; - if ($3 >>> 0 > $2 >>> 0) { - continue; - } - break; - } - break label$2; - } - if ($4 >>> 0 < 4) { - $2 = $0; - break label$2; - } - $3 = $4 - 4 | 0; - if ($3 >>> 0 < $0 >>> 0) { - $2 = $0; - break label$2; - } - $2 = $0; - while (1) { - HEAP8[$2 | 0] = HEAPU8[$1 | 0]; - HEAP8[$2 + 1 | 0] = HEAPU8[$1 + 1 | 0]; - HEAP8[$2 + 2 | 0] = HEAPU8[$1 + 2 | 0]; - HEAP8[$2 + 3 | 0] = HEAPU8[$1 + 3 | 0]; - $1 = $1 + 4 | 0; - $2 = $2 + 4 | 0; - if ($3 >>> 0 >= $2 >>> 0) { - continue; - } - break; - } - } - if ($2 >>> 0 < $4 >>> 0) { - while (1) { - HEAP8[$2 | 0] = HEAPU8[$1 | 0]; - $1 = $1 + 1 | 0; - $2 = $2 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - return $0; -} -function silk_VQ_WMat_EC_c($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - $12 = HEAP32[$5 + 8 >> 2]; - $13 = HEAP32[$5 + 4 >> 2]; - $15 = HEAP32[$5 >> 2]; - $14 = HEAP32[$5 + 12 >> 2]; - $5 = HEAP32[$5 + 16 >> 2]; - HEAP32[$2 >> 2] = 2147483647; - HEAP32[$1 >> 2] = 2147483647; - HEAP8[$0 | 0] = 0; - if (($11 | 0) >= 1) { - $17 = $5 << 8; - $18 = $14 << 7; - $19 = $15 << 7; - $20 = $13 << 7; - $21 = $12 << 7; - $22 = $9 << 16 >> 16; - $15 = 0; - while (1) { - $14 = HEAP8[$6 | 0]; - $13 = HEAP8[$6 + 1 | 0]; - $12 = HEAP8[$6 + 2 | 0]; - $9 = HEAP8[$6 + 3 | 0]; - $5 = HEAP8[$6 + 4 | 0]; - $16 = Math_imul($14, HEAP32[$4 >> 2]) + ((((Math_imul($13, HEAP32[$4 + 4 >> 2]) - $19 | 0) + Math_imul($12, HEAP32[$4 + 8 >> 2]) | 0) + Math_imul($9, HEAP32[$4 + 12 >> 2]) | 0) + Math_imul($5, HEAP32[$4 + 16 >> 2]) << 1) | 0; - $16 = Math_imul($16 >> 16, $14) + (Math_imul($16 & 65535, $14) >> 16) | 0; - $14 = Math_imul(HEAP32[$4 + 24 >> 2], $13) + (((Math_imul(HEAP32[$4 + 28 >> 2], $12) - $20 | 0) + Math_imul(HEAP32[$4 + 32 >> 2], $9) | 0) + Math_imul(HEAP32[$4 + 36 >> 2], $5) << 1) | 0; - $14 = ($16 + Math_imul($14 >> 16, $13) | 0) + (Math_imul($14 & 65535, $13) >> 16) | 0; - $13 = Math_imul(HEAP32[$4 + 48 >> 2], $12) + ((Math_imul(HEAP32[$4 + 52 >> 2], $9) - $21 | 0) + Math_imul(HEAP32[$4 + 56 >> 2], $5) << 1) | 0; - $14 = ($14 + Math_imul($13 >> 16, $12) | 0) + (Math_imul($13 & 65535, $12) >> 16) | 0; - $12 = Math_imul(HEAP32[$4 + 96 >> 2], $5) - $17 | 0; - $13 = Math_imul(HEAP32[$4 + 72 >> 2], $9) + (Math_imul(HEAP32[$4 + 76 >> 2], $5) - $18 << 1) | 0; - $5 = (((($14 + Math_imul($12 >> 16, $5) | 0) + Math_imul($13 >> 16, $9) | 0) + (Math_imul($12 & 65535, $5) >> 16) | 0) + (Math_imul($13 & 65535, $9) >> 16) | 0) + 32801 | 0; - label$3 : { - if (($5 | 0) < 0) { - break label$3; - } - $12 = HEAPU8[$7 + $15 | 0]; - $9 = $12 - $10 | 0; - $5 = ((($9 | 0) > 0 ? $9 : 0) << 11) + $5 | 0; - $9 = Math_imul((silk_lin2log($5) << 16) - 125829120 >> 16, $22) + (HEAPU8[$8 + $15 | 0] << 2) | 0; - if (($9 | 0) > HEAP32[$2 >> 2]) { - break label$3; - } - HEAP32[$2 >> 2] = $9; - HEAP32[$1 >> 2] = $5; - HEAP8[$0 | 0] = $15; - HEAP32[$3 >> 2] = $12; - } - $6 = $6 + 5 | 0; - $15 = $15 + 1 | 0; - if (($15 | 0) != ($11 | 0)) { - continue; - } - break; - } - } -} -function silk_quant_LTP_gains($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - $11 = __stack_pointer - 16 | 0; - __stack_pointer = $11; - $19 = ($8 | 0) < 1; - $18 = 2147483647; - while (1) { - $12 = HEAP32[$3 >> 2]; - label$2 : { - if ($19) { - $16 = 0; - $15 = 0; - $9 = $12; - break label$2; - } - $20 = HEAP8[$17 + 7916 | 0]; - $10 = $17 << 2; - $21 = HEAP32[$10 + 7904 >> 2]; - $22 = HEAP32[$10 + 7824 >> 2]; - $23 = HEAP32[$10 + 7520 >> 2]; - $10 = 0; - $15 = 0; - $16 = 0; - $13 = $6; - $14 = $5; - while (1) { - silk_VQ_WMat_EC_c(($11 + 12 | 0) + $10 | 0, $11 + 8 | 0, $11 + 4 | 0, $11, $14, $13, $22, $21, $23, $7, silk_log2lin(6229 - $12 | 0) - 51 | 0, $20); - $15 = HEAP32[$11 + 4 >> 2] + $15 | 0; - $24 = ($15 | 0) > -1; - $16 = HEAP32[$11 + 8 >> 2] + $16 | 0; - $25 = ($16 | 0) > -1; - $9 = 0; - if ((silk_lin2log(HEAP32[$11 >> 2] + 51 | 0) + $12 | 0) >= 896) { - $9 = (silk_lin2log(HEAP32[$11 >> 2] + 51 | 0) + $12 | 0) - 896 | 0; - } - $15 = $24 ? $15 : 2147483647; - $16 = $25 ? $16 : 2147483647; - $13 = $13 + 20 | 0; - $14 = $14 + 100 | 0; - $12 = $9; - $10 = $10 + 1 | 0; - if (($10 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - if (($15 | 0) <= ($18 | 0)) { - HEAP8[$2 | 0] = $17; - memcpy($1, $11 + 12 | 0, $8); - $26 = $9; - $18 = $15; - } - $17 = $17 + 1 | 0; - if (($17 | 0) != 3) { - continue; - } - break; - } - if (($8 | 0) >= 1) { - $12 = HEAP32[(HEAP8[$2 | 0] << 2) + 7824 >> 2]; - $14 = 0; - while (1) { - $10 = Math_imul($14, 10) + $0 | 0; - $13 = $1 + $14 | 0; - HEAP16[$10 >> 1] = HEAP8[Math_imul(HEAP8[$13 | 0], 5) + $12 | 0] << 7; - HEAP16[$10 + 2 >> 1] = HEAP8[(Math_imul(HEAP8[$13 | 0], 5) + $12 | 0) + 1 | 0] << 7; - HEAP16[$10 + 4 >> 1] = HEAP8[(Math_imul(HEAP8[$13 | 0], 5) + $12 | 0) + 2 | 0] << 7; - HEAP16[$10 + 6 >> 1] = HEAP8[(Math_imul(HEAP8[$13 | 0], 5) + $12 | 0) + 3 | 0] << 7; - HEAP16[$10 + 8 >> 1] = HEAP8[(Math_imul(HEAP8[$13 | 0], 5) + $12 | 0) + 4 | 0] << 7; - $14 = $14 + 1 | 0; - if (($14 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - HEAP32[$3 >> 2] = $26; - HEAP32[$4 >> 2] = Math_imul((silk_lin2log($16 >> (($8 | 0) == 2 ? 1 : 2)) << 16) - 125829120 >> 16, -3); - __stack_pointer = $11 + 16 | 0; -} -function silk_insertion_sort_decreasing_FLP($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0; - label$1 : { - label$2 : { - if (($3 | 0) > 0) { - if (($2 | 0) <= 0) { - break label$2; - } - if (($2 | 0) < ($3 | 0)) { - break label$1; - } - while (1) { - HEAP32[($4 << 2) + $1 >> 2] = $4; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - $6 = 1; - if (($3 | 0) > 1) { - while (1) { - $9 = HEAPF32[($6 << 2) + $0 >> 2]; - $4 = $6; - label$7 : { - while (1) { - $7 = $4 - 1 | 0; - $5 = $7 << 2; - $10 = HEAPF32[$5 + $0 >> 2]; - if ($10 < $9 ^ 1) { - break label$7; - } - $8 = $4 << 2; - HEAPF32[$8 + $0 >> 2] = $10; - HEAP32[$1 + $8 >> 2] = HEAP32[$1 + $5 >> 2]; - $5 = ($4 | 0) > 1; - $4 = $7; - if ($5) { - continue; - } - break; - } - $4 = 0; - } - $4 = $4 << 2; - HEAPF32[$4 + $0 >> 2] = $9; - HEAP32[$1 + $4 >> 2] = $6; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - if (($2 | 0) > ($3 | 0)) { - $6 = $3 - 2 | 0; - $11 = (($3 << 2) + $0 | 0) - 4 | 0; - $8 = $3; - while (1) { - $9 = HEAPF32[($8 << 2) + $0 >> 2]; - if (!($9 > HEAPF32[$11 >> 2] ^ 1)) { - $4 = $6; - $5 = $4; - label$12 : { - if (($3 | 0) < 2) { - break label$12; - } - while (1) { - $7 = $4 << 2; - $10 = HEAPF32[$7 + $0 >> 2]; - if ($10 < $9 ^ 1) { - $5 = $4; - break label$12; - } - $5 = $7 + 4 | 0; - HEAPF32[$5 + $0 >> 2] = $10; - HEAP32[$1 + $5 >> 2] = HEAP32[$1 + $7 >> 2]; - $5 = -1; - $7 = ($4 | 0) > 0; - $4 = $4 - 1 | 0; - if ($7) { - continue; - } - break; - } - } - $4 = ($5 << 2) + 4 | 0; - HEAPF32[$4 + $0 >> 2] = $9; - HEAP32[$1 + $4 >> 2] = $8; - } - $8 = $8 + 1 | 0; - if (($8 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(9912, 9936, 50); - abort(); - } - celt_fatal(9958, 9936, 51); - abort(); - } - celt_fatal(9982, 9936, 52); - abort(); -} -function silk_insertion_sort_increasing($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - label$1 : { - label$2 : { - if (($3 | 0) > 0) { - if (($2 | 0) <= 0) { - break label$2; - } - if (($2 | 0) < ($3 | 0)) { - break label$1; - } - while (1) { - HEAP32[($4 << 2) + $1 >> 2] = $4; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - $6 = 1; - if (($3 | 0) > 1) { - while (1) { - $7 = HEAP32[($6 << 2) + $0 >> 2]; - $4 = $6; - label$7 : { - while (1) { - $8 = $4 - 1 | 0; - $5 = $8 << 2; - $10 = HEAP32[$5 + $0 >> 2]; - if (($10 | 0) <= ($7 | 0)) { - break label$7; - } - $9 = $4 << 2; - HEAP32[$9 + $0 >> 2] = $10; - HEAP32[$1 + $9 >> 2] = HEAP32[$1 + $5 >> 2]; - $5 = ($4 | 0) > 1; - $4 = $8; - if ($5) { - continue; - } - break; - } - $4 = 0; - } - $4 = $4 << 2; - HEAP32[$4 + $0 >> 2] = $7; - HEAP32[$1 + $4 >> 2] = $6; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - if (($2 | 0) > ($3 | 0)) { - $6 = $3 - 2 | 0; - $11 = (($3 << 2) + $0 | 0) - 4 | 0; - $7 = $3; - while (1) { - $9 = HEAP32[($7 << 2) + $0 >> 2]; - if (($9 | 0) < HEAP32[$11 >> 2]) { - $4 = $6; - $5 = $4; - label$12 : { - if (($3 | 0) < 2) { - break label$12; - } - while (1) { - $8 = $4 << 2; - $5 = HEAP32[$8 + $0 >> 2]; - if (($9 | 0) >= ($5 | 0)) { - $5 = $4; - break label$12; - } - $10 = $8 + 4 | 0; - HEAP32[$10 + $0 >> 2] = $5; - HEAP32[$1 + $10 >> 2] = HEAP32[$1 + $8 >> 2]; - $5 = -1; - $8 = ($4 | 0) > 0; - $4 = $4 - 1 | 0; - if ($8) { - continue; - } - break; - } - } - $4 = ($5 << 2) + 4 | 0; - HEAP32[$4 + $0 >> 2] = $9; - HEAP32[$1 + $4 >> 2] = $7; - } - $7 = $7 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(15635, 15659, 51); - abort(); - } - celt_fatal(15671, 15659, 52); - abort(); - } - celt_fatal(15695, 15659, 53); - abort(); -} -function silk_stereo_quant_pred($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; - $13 = 1; - while (1) { - $10 = ($4 << 2) + $0 | 0; - $7 = Math_imul($4, 3) + $1 | 0; - $11 = $7; - $3 = 2147483647; - $4 = 0; - label$2 : { - label$3 : { - while (1) { - $14 = $4 + 1 | 0; - $6 = HEAP16[($4 << 1) + 5744 >> 1]; - $5 = HEAP16[($14 << 1) + 5744 >> 1] - $6 | 0; - $15 = Math_imul($5 & 65535, 6554) >>> 16 | 0; - $16 = $5 >> 16; - $5 = Math_imul($16, 6554) + $15 | 0; - $12 = $5 + $6 | 0; - $2 = HEAP32[$10 >> 2] - $12 | 0; - $8 = $2; - $2 = $2 >> 31; - $2 = $2 ^ $2 + $8; - if (($2 | 0) >= ($3 | 0)) { - $4 = HEAPU8[$7 | 0]; - break label$2; - } - HEAP8[$7 | 0] = $4; - HEAP8[$11 + 1 | 0] = 0; - $9 = Math_imul($5, 3) + $6 | 0; - $3 = HEAP32[$10 >> 2] - $9 | 0; - $8 = $3; - $3 = $3 >> 31; - $3 = $3 ^ $3 + $8; - if (($2 | 0) <= ($3 | 0)) { - $9 = $12; - break label$2; - } - HEAP8[$7 | 0] = $4; - HEAP8[$11 + 1 | 0] = 1; - $17 = Math_imul($5, 5) + $6 | 0; - $2 = HEAP32[$10 >> 2] - $17 | 0; - $8 = $2; - $2 = $2 >> 31; - $2 = $2 ^ $2 + $8; - if (($2 | 0) >= ($3 | 0)) { - break label$2; - } - HEAP8[$7 | 0] = $4; - HEAP8[$11 + 1 | 0] = 2; - $9 = Math_imul($5, 7) + $6 | 0; - $3 = HEAP32[$10 >> 2] - $9 | 0; - $8 = $3; - $3 = $3 >> 31; - $12 = $3 ^ $3 + $8; - if (($12 | 0) >= ($2 | 0)) { - break label$3; - } - HEAP8[$7 | 0] = $4; - HEAP8[$11 + 1 | 0] = 3; - $5 = HEAP32[$10 >> 2] - (Math_imul($5, 9) + $6 | 0) | 0; - $2 = $5; - $5 = $5 >> 31; - $3 = $5 ^ $5 + $2; - if (($12 | 0) <= ($3 | 0)) { - break label$2; - } - $9 = (Math_imul($16, 58986) + Math_imul($15, 9) | 0) + $6 | 0; - HEAP8[$7 | 0] = $4; - HEAP8[$11 + 1 | 0] = 4; - $4 = $14; - if (($4 | 0) != 15) { - continue; - } - break; - } - $4 = 14; - break label$2; - } - $9 = $17; - } - $6 = ($4 << 24 >> 24) / 3 | 0; - HEAP8[$7 + 2 | 0] = $6; - HEAP8[$7 | 0] = Math_imul($6, -3) + $4; - HEAP32[$10 >> 2] = $9; - $4 = 1; - $6 = $13; - $13 = 0; - if ($6) { - continue; - } - break; - } - HEAP32[$0 >> 2] = HEAP32[$0 >> 2] - HEAP32[$0 + 4 >> 2]; -} -function quant_energy_finalise($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = 0, $18 = 0, $19 = 0; - $17 = ($9 | 0) > 1 ? $9 : 1; - $18 = ($1 | 0) >= ($2 | 0); - label$1 : { - if ($18 | ($7 | 0) < ($9 | 0)) { - break label$1; - } - $11 = $1; - while (1) { - $10 = $11 << 2; - $19 = $10 + $5 | 0; - if (!(HEAP32[$19 >> 2] > 7 | HEAP32[$6 + $10 >> 2])) { - $12 = HEAP32[$0 + 8 >> 2]; - $10 = 0; - while (1) { - $13 = HEAPF32[(Math_imul($10, $12) + $11 << 2) + $4 >> 2] < Math_fround(0); - ec_enc_bits($8, $13 ^ 1, 1); - $12 = HEAP32[$0 + 8 >> 2]; - $14 = Math_imul($12, $10) + $11 << 2; - $15 = $14 + $3 | 0; - $16 = Math_fround(Math_fround(($13 ? Math_fround(-.5) : Math_fround(.5)) * Math_fround(1 << 13 - HEAP32[$19 >> 2])) * Math_fround(6103515625e-14)); - HEAPF32[$15 >> 2] = HEAPF32[$15 >> 2] + $16; - $13 = $4 + $14 | 0; - HEAPF32[$13 >> 2] = HEAPF32[$13 >> 2] - $16; - $10 = $10 + 1 | 0; - if (($17 | 0) != ($10 | 0)) { - continue; - } - break; - } - $7 = $7 - $17 | 0; - } - $11 = $11 + 1 | 0; - if (($11 | 0) >= ($2 | 0)) { - break label$1; - } - if (($7 | 0) >= ($9 | 0)) { - continue; - } - break; - } - } - label$5 : { - if (($7 | 0) < ($9 | 0) | $18) { - break label$5; - } - while (1) { - $10 = $1 << 2; - $15 = $10 + $5 | 0; - if (!(HEAP32[$15 >> 2] > 7 | HEAP32[$6 + $10 >> 2] != 1)) { - $11 = HEAP32[$0 + 8 >> 2]; - $10 = 0; - while (1) { - $12 = HEAPF32[(Math_imul($10, $11) + $1 << 2) + $4 >> 2] < Math_fround(0); - ec_enc_bits($8, $12 ^ 1, 1); - $11 = HEAP32[$0 + 8 >> 2]; - $13 = Math_imul($11, $10) + $1 << 2; - $14 = $13 + $3 | 0; - $16 = Math_fround(Math_fround(($12 ? Math_fround(-.5) : Math_fround(.5)) * Math_fround(1 << 13 - HEAP32[$15 >> 2])) * Math_fround(6103515625e-14)); - HEAPF32[$14 >> 2] = HEAPF32[$14 >> 2] + $16; - $12 = $4 + $13 | 0; - HEAPF32[$12 >> 2] = HEAPF32[$12 >> 2] - $16; - $10 = $10 + 1 | 0; - if (($17 | 0) != ($10 | 0)) { - continue; - } - break; - } - $7 = $7 - $17 | 0; - } - $1 = $1 + 1 | 0; - if (($2 | 0) <= ($1 | 0)) { - break label$5; - } - if (($7 | 0) >= ($9 | 0)) { - continue; - } - break; - } - } -} - - - -function silk_resampler_private_IIR_FIR($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - $6 = __stack_pointer; - $11 = $6; - $4 = HEAP32[$0 + 268 >> 2]; - $7 = $6 - (($4 << 2) + 31 & -16) | 0; - __stack_pointer = $7; - $6 = HEAP32[$0 + 36 >> 2]; - $5 = HEAP32[$0 + 32 >> 2]; - HEAP32[$7 + 8 >> 2] = $5; - HEAP32[$7 + 12 >> 2] = $6; - $5 = HEAP32[$0 + 28 >> 2]; - $6 = HEAP32[$0 + 24 >> 2]; - HEAP32[$7 >> 2] = $6; - HEAP32[$7 + 4 >> 2] = $5; - $12 = $7 + 16 | 0; - $13 = HEAP32[$0 + 272 >> 2]; - while (1) { - $8 = ($3 | 0) < ($4 | 0) ? $3 : $4; - silk_resampler_private_up2_HQ($0, $12, $2, $8); - $6 = 0; - $9 = $8 << 17; - if (($9 | 0) >= 1) { - while (1) { - $10 = Math_imul($6 & 65535, 12) >>> 16 | 0; - $5 = $10 << 3; - $4 = ($6 >> 16 << 1) + $7 | 0; - $14 = ((Math_imul(HEAP16[$5 + 6306 >> 1], HEAP16[$4 + 2 >> 1]) + Math_imul(HEAP16[$5 + 6304 >> 1], HEAP16[$4 >> 1]) | 0) + Math_imul(HEAP16[$5 + 6308 >> 1], HEAP16[$4 + 4 >> 1]) | 0) + Math_imul(HEAP16[$5 + 6310 >> 1], HEAP16[$4 + 6 >> 1]) | 0; - $5 = 11 - $10 << 3; - $4 = ((($14 + Math_imul(HEAP16[$5 + 6310 >> 1], HEAP16[$4 + 8 >> 1]) | 0) + Math_imul(HEAP16[$5 + 6308 >> 1], HEAP16[$4 + 10 >> 1]) | 0) + Math_imul(HEAP16[$5 + 6306 >> 1], HEAP16[$4 + 12 >> 1]) | 0) + Math_imul(HEAP16[$5 + 6304 >> 1], HEAP16[$4 + 14 >> 1]) | 0; - $5 = ($4 >> 14) + 1 >> 1; - HEAP16[$1 >> 1] = ($4 | 0) > 1073725439 ? 32767 : ($5 | 0) > -32768 ? $5 : -32768; - $1 = $1 + 2 | 0; - $6 = $6 + $13 | 0; - if (($9 | 0) > ($6 | 0)) { - continue; - } - break; - } - } - $3 = $3 - $8 | 0; - if (($3 | 0) >= 1) { - $4 = ($8 << 2) + $7 | 0; - $6 = HEAP32[$4 + 4 >> 2]; - $5 = HEAP32[$4 >> 2]; - HEAP32[$7 >> 2] = $5; - HEAP32[$7 + 4 >> 2] = $6; - $5 = HEAP32[$4 + 12 >> 2]; - $6 = HEAP32[$4 + 8 >> 2]; - HEAP32[$7 + 8 >> 2] = $6; - HEAP32[$7 + 12 >> 2] = $5; - $2 = ($8 << 1) + $2 | 0; - $4 = HEAP32[$0 + 268 >> 2]; - continue; - } - break; - } - $4 = ($8 << 2) + $7 | 0; - $6 = HEAP32[$4 + 4 >> 2]; - $5 = HEAP32[$4 >> 2]; - HEAP32[$0 + 24 >> 2] = $5; - HEAP32[$0 + 28 >> 2] = $6; - $5 = HEAP32[$4 + 12 >> 2]; - $6 = HEAP32[$4 + 8 >> 2]; - HEAP32[$0 + 32 >> 2] = $6; - HEAP32[$0 + 36 >> 2] = $5; - __stack_pointer = $11; -} -function silk_shell_encoder($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - $2 = HEAP32[$1 + 4 >> 2] + HEAP32[$1 >> 2] | 0; - $9 = HEAP32[$1 + 12 >> 2] + HEAP32[$1 + 8 >> 2] | 0; - $3 = $2 + $9 | 0; - $4 = HEAP32[$1 + 20 >> 2] + HEAP32[$1 + 16 >> 2] | 0; - $10 = HEAP32[$1 + 28 >> 2] + HEAP32[$1 + 24 >> 2] | 0; - $11 = $4 + $10 | 0; - $5 = $3 + $11 | 0; - $6 = HEAP32[$1 + 36 >> 2] + HEAP32[$1 + 32 >> 2] | 0; - $12 = HEAP32[$1 + 44 >> 2] + HEAP32[$1 + 40 >> 2] | 0; - $7 = $6 + $12 | 0; - $8 = HEAP32[$1 + 52 >> 2] + HEAP32[$1 + 48 >> 2] | 0; - $13 = HEAP32[$1 + 60 >> 2] + HEAP32[$1 + 56 >> 2] | 0; - $14 = $8 + $13 | 0; - $15 = $7 + $14 | 0; - $16 = $5 + $15 | 0; - if (($16 | 0) >= 1) { - ec_enc_icdf($0, $5, HEAPU8[$16 + 9200 | 0] + 9040 | 0, 8); - } - if (($5 | 0) >= 1) { - ec_enc_icdf($0, $3, HEAPU8[$5 + 9200 | 0] + 8880 | 0, 8); - } - if (($3 | 0) >= 1) { - ec_enc_icdf($0, $2, HEAPU8[$3 + 9200 | 0] + 8720 | 0, 8); - } - if (($2 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 >> 2], HEAPU8[$2 + 9200 | 0] + 8560 | 0, 8); - } - if (($9 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 8 >> 2], HEAPU8[$9 + 9200 | 0] + 8560 | 0, 8); - } - if (($11 | 0) >= 1) { - ec_enc_icdf($0, $4, HEAPU8[$11 + 9200 | 0] + 8720 | 0, 8); - } - if (($4 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 16 >> 2], HEAPU8[$4 + 9200 | 0] + 8560 | 0, 8); - } - if (($10 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 24 >> 2], HEAPU8[$10 + 9200 | 0] + 8560 | 0, 8); - } - if (($15 | 0) >= 1) { - ec_enc_icdf($0, $7, HEAPU8[$15 + 9200 | 0] + 8880 | 0, 8); - } - if (($7 | 0) >= 1) { - ec_enc_icdf($0, $6, HEAPU8[$7 + 9200 | 0] + 8720 | 0, 8); - } - if (($6 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 32 >> 2], HEAPU8[$6 + 9200 | 0] + 8560 | 0, 8); - } - if (($12 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 40 >> 2], HEAPU8[$12 + 9200 | 0] + 8560 | 0, 8); - } - if (($14 | 0) >= 1) { - ec_enc_icdf($0, $8, HEAPU8[$14 + 9200 | 0] + 8720 | 0, 8); - } - if (($8 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 48 >> 2], HEAPU8[$8 + 9200 | 0] + 8560 | 0, 8); - } - if (($13 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 56 >> 2], HEAPU8[$13 + 9200 | 0] + 8560 | 0, 8); - } -} -function silk_process_NLSFs($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $5 = __stack_pointer - 96 | 0; - __stack_pointer = $5; - label$1 : { - label$2 : { - if (!(HEAPU8[$0 + 4767 | 0] != 4 ? HEAP32[$0 + 4632 >> 2] != 1 : 0)) { - $4 = HEAP16[$0 + 4532 >> 1]; - $4 = (Math_imul($4, -5) + (Math_imul($4, 59246) >> 16) | 0) + 3146 | 0; - $6 = $4 + (HEAP32[$0 + 4580 >> 2] == 2 ? $4 >> 1 : 0) | 0; - if (($6 | 0) <= 0) { - break label$2; - } - silk_NLSF_VQ_weights_laroia($5 + 32 | 0, $2, HEAP32[$0 + 4640 >> 2]); - label$5 : { - if (HEAP32[$0 + 4632 >> 2] != 1) { - break label$5; - } - $4 = HEAP8[$0 + 4767 | 0]; - if (($4 | 0) > 3) { - break label$5; - } - silk_interpolate($5 - -64 | 0, $3, $2, $4, HEAP32[$0 + 4640 >> 2]); - silk_NLSF_VQ_weights_laroia($5, $5 - -64 | 0, HEAP32[$0 + 4640 >> 2]); - $10 = 1; - $7 = HEAP32[$0 + 4640 >> 2]; - if (($7 | 0) < 1) { - break label$5; - } - $4 = HEAP8[$0 + 4767 | 0]; - $11 = Math_imul($4, $4) << 27 >> 16; - $4 = 0; - while (1) { - $8 = $4 << 1; - $9 = $8 + ($5 + 32 | 0) | 0; - HEAP16[$9 >> 1] = (HEAP16[$9 >> 1] >>> 1) + (Math_imul(HEAP16[$5 + $8 >> 1], $11) >>> 16); - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - silk_NLSF_encode($0 + 4744 | 0, $2, HEAP32[$0 + 4692 >> 2], $5 + 32 | 0, $6, HEAP32[$0 + 4660 >> 2], HEAP8[$0 + 4765 | 0]); - $4 = $1 + 32 | 0; - silk_NLSF2A($4, $2, HEAP32[$0 + 4640 >> 2], HEAP32[$0 + 5092 >> 2]); - label$7 : { - if ($10) { - silk_interpolate($5 - -64 | 0, $3, $2, HEAP8[$0 + 4767 | 0], HEAP32[$0 + 4640 >> 2]); - silk_NLSF2A($1, $5 - -64 | 0, HEAP32[$0 + 4640 >> 2], HEAP32[$0 + 5092 >> 2]); - break label$7; - } - $0 = HEAP32[$0 + 4640 >> 2]; - if (($0 | 0) >= 17) { - break label$1; - } - memcpy($1, $4, $0 << 1); - } - __stack_pointer = $5 + 96 | 0; - return; - } - celt_fatal(15848, 15951, 51); - abort(); - } - celt_fatal(15972, 15951, 63); - abort(); - } - celt_fatal(16006, 15951, 104); - abort(); -} -function encode_multiframe_packet($0, $1, $2, $3, $4, $5, $6, $7, $8) { - var $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; - $9 = __stack_pointer - 304 | 0; - $12 = $9; - __stack_pointer = $9; - $14 = $2 - 1 | 0; - $10 = ($2 | 0) == 2 ? 3 : ($14 << 1) + 2 | 0; - if (!(HEAP32[$0 + 148 >> 2] | HEAP32[$0 + 164 >> 2] == -1)) { - $11 = (Math_imul(HEAP32[$0 + 160 >> 2], 3) | 0) / ((Math_imul(HEAP32[$0 + 144 >> 2], 24) | 0) / (Math_imul($2, $3) | 0) | 0) | 0; - $5 = ($5 | 0) > ($11 | 0) ? $11 : $5; - } - $10 = ($5 - $10 | 0) / ($2 | 0) | 0; - $10 = ($10 | 0) < 1276 ? $10 + 1 | 0 : 1276; - $15 = $9 - (Math_imul($10, $2) + 15 & -16) | 0; - __stack_pointer = $15; - opus_repacketizer_init($12); - $18 = HEAP32[$0 + 136 >> 2]; - HEAP32[$0 + 136 >> 2] = HEAP32[$0 + 14224 >> 2]; - $19 = HEAP32[$0 + 128 >> 2]; - HEAP32[$0 + 128 >> 2] = HEAP32[$0 + 14240 >> 2]; - $20 = HEAP32[$0 + 120 >> 2]; - $9 = HEAP32[$0 + 14192 >> 2]; - HEAP32[$0 + 120 >> 2] = $9; - $16 = HEAP32[$0 + 68 >> 2]; - label$2 : { - if ($16) { - HEAP32[$0 + 120 >> 2] = 1; - break label$2; - } - HEAP32[$0 + 14232 >> 2] = $9; - } - label$4 : { - if (($2 | 0) >= 1) { - $9 = 0; - while (1) { - HEAP32[$0 + 68 >> 2] = 0; - HEAP32[$0 + 18132 >> 2] = ($9 | 0) < ($14 | 0); - if (!(!$6 | ($9 | 0) != ($14 | 0))) { - HEAP32[$0 + 136 >> 2] = 1002; - } - $13 = -3; - $11 = Math_imul($9, $10) + $15 | 0; - $17 = opus_encode_native($0, (Math_imul(HEAP32[$0 + 112 >> 2], Math_imul($3, $9)) << 2) + $1 | 0, $3, $11, $10, $7, 0, 0, 0, 0, 0, 0, $8); - if (($17 | 0) < 0) { - break label$4; - } - if ((opus_repacketizer_cat($12, $11, $17) | 0) < 0) { - break label$4; - } - $9 = $9 + 1 | 0; - if (($9 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $13 = opus_repacketizer_out_range_impl($12, 0, $2, $4, $5, 0, !HEAP32[$0 + 148 >> 2]); - if (($13 | 0) < 0) { - $13 = -3; - break label$4; - } - HEAP32[$0 + 128 >> 2] = $19; - HEAP32[$0 + 136 >> 2] = $18; - HEAP32[$0 + 120 >> 2] = $20; - HEAP32[$0 + 68 >> 2] = $16; - } - __stack_pointer = $12 + 304 | 0; - return $13; -} -function log10($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0; - wasm2js_scratch_store_f64(+$0); - $2 = wasm2js_scratch_load_i32(1) | 0; - $3 = wasm2js_scratch_load_i32(0) | 0; - $5 = $2; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - if (($2 | 0) > 0 ? 1 : ($2 | 0) >= 0) { - $1 = $5; - if ($1 >>> 0 > 1048575) { - break label$4; - } - } - $2 = $5; - $1 = $2 & 2147483647; - if (!($1 | $3)) { - return -1 / ($0 * $0); - } - $1 = $5; - if (($1 | 0) > -1) { - break label$3; - } - return ($0 - $0) / 0; - } - if ($1 >>> 0 > 2146435071) { - break label$1; - } - $2 = 1072693248; - $9 = -1023; - if (($1 | 0) != 1072693248) { - $2 = $1; - break label$2; - } - if ($3) { - break label$2; - } - return 0; - } - wasm2js_scratch_store_f64(+($0 * 0x40000000000000)); - $2 = wasm2js_scratch_load_i32(1) | 0; - $3 = wasm2js_scratch_load_i32(0) | 0; - $9 = -1077; - } - $1 = $2 + 614242 | 0; - $10 = +(($1 >>> 20 | 0) + $9 | 0); - $4 = $10 * .30102999566361177; - $1 = ($1 & 1048575) + 1072079006 | 0; - $2 = 0; - $1 = $2 | $1; - wasm2js_scratch_store_i32(0, $3 | 0); - wasm2js_scratch_store_i32(1, $1 | 0); - $0 = +wasm2js_scratch_load_f64() + -1; - $7 = $0 * ($0 * .5); - wasm2js_scratch_store_f64(+($0 - $7)); - $1 = wasm2js_scratch_load_i32(1) | 0; - wasm2js_scratch_load_i32(0) | 0; - wasm2js_scratch_store_i32(0, 0); - wasm2js_scratch_store_i32(1, $1 | 0); - $8 = +wasm2js_scratch_load_f64(); - $6 = $8 * .4342944818781689; - $11 = $4 + $6; - $12 = $6 + ($4 - $11); - $13 = $0 - $8 - $7; - $0 = $0 / ($0 + 2); - $6 = $0; - $4 = $0 * $0; - $0 = $4 * $4; - $0 = $13 + $6 * ($7 + ($0 * ($0 * ($0 * .15313837699209373 + .22222198432149784) + .3999999999940942) + $4 * ($0 * ($0 * ($0 * .14798198605116586 + .1818357216161805) + .2857142874366239) + .6666666666666735))); - $0 = $11 + ($12 + ($0 * .4342944818781689 + ($10 * 3.694239077158931e-13 + ($0 + $8) * 2.5082946711645275e-11))); - } - return $0; -} -function silk_LPC_fit($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $7 = $3 - $2 | 0; - $10 = $7 - 1 | 0; - $11 = ($4 | 0) < 1; - label$1 : { - label$2 : { - while (1) { - $3 = 0; - $2 = 0; - if (!$11) { - while (1) { - $6 = HEAP32[($3 << 2) + $1 >> 2]; - $8 = $6; - $6 = $6 >> 31; - $6 = $6 ^ $6 + $8; - $8 = $6; - $6 = ($2 | 0) < ($6 | 0); - $2 = $6 ? $8 : $2; - $5 = $6 ? $3 : $5; - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $3 = ($7 | 0) == 1 ? ($2 & 1) + ($2 >> 1) | 0 : ($2 >> $10) + 1 >> 1; - if (($3 | 0) >= 32768) { - $3 = ($3 | 0) < 163838 ? $3 : 163838; - silk_bwexpander_32($1, $4, 65470 - ((($3 << 14) - 536854528 | 0) / (Math_imul($5 + 1 | 0, $3) >> 2) | 0) | 0); - $9 = $9 + 1 | 0; - if (($9 | 0) != 10) { - continue; - } - break label$2; - } - break; - } - if (($9 | 0) == 10) { - break label$2; - } - $3 = 0; - if (($4 | 0) <= 0) { - break label$1; - } - $5 = ($7 | 0) != 1; - while (1) { - $2 = HEAP32[($3 << 2) + $1 >> 2]; - $2 = $5 ? ($2 >> $10) + 1 >> 1 : ($2 & 1) + ($2 >> 1) | 0; - HEAP16[($3 << 1) + $0 >> 1] = $2; - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - break label$1; - } - if (($4 | 0) < 1) { - break label$1; - } - $3 = 0; - $9 = ($7 | 0) != 1; - while (1) { - $6 = ($3 << 2) + $1 | 0; - $5 = HEAP32[$6 >> 2]; - $8 = ($3 << 1) + $0 | 0; - label$13 : { - if (!$9) { - $5 = ($5 & 1) + ($5 >> 1) | 0; - $2 = 32767; - if (($5 | 0) > 32767) { - break label$13; - } - $2 = ($5 | 0) > -32768 ? $5 : -32768; - break label$13; - } - $5 = $5 >> $10; - $2 = 32767; - if (($5 | 0) > 65534) { - break label$13; - } - $2 = $5 + 1 >> 1; - $2 = ($2 | 0) > -32768 ? $2 : -32768; - } - HEAP16[$8 >> 1] = $2; - HEAP32[$6 >> 2] = $2 << 16 >> 16 << $7; - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } -} -function silk_control_audio_bandwidth($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $2 = HEAP32[$0 + 4576 >> 2]; - if (!$2) { - $2 = HEAP32[$0 + 32 >> 2]; - } - $3 = $2 << 16; - if (!$3) { - $2 = HEAP32[$0 + 4572 >> 2]; - $0 = HEAP32[$0 + 4556 >> 2]; - return ((($0 | 0) > ($2 | 0) ? $2 : $0) | 0) / 1e3 | 0; - } - $3 = Math_imul($3 >> 16, 1e3); - $4 = HEAP32[$0 + 4556 >> 2]; - $5 = HEAP32[$0 + 4564 >> 2]; - if (!(HEAP32[$0 + 4568 >> 2] <= ($3 | 0) ? !(($3 | 0) > ($4 | 0) | ($5 | 0) < ($3 | 0)) : 0)) { - $2 = ($4 | 0) < ($5 | 0) ? $4 : $5; - $0 = HEAP32[$0 + 4568 >> 2]; - return ((($0 | 0) < ($2 | 0) ? $2 : $0) | 0) / 1e3 | 0; - } - $4 = HEAP32[$0 + 24 >> 2]; - if (($4 | 0) >= 256) { - HEAP32[$0 + 28 >> 2] = 0; - } - label$7 : { - label$8 : { - if (HEAP32[$1 + 64 >> 2] ? 0 : !HEAP32[$0 + 4536 >> 2]) { - break label$8; - } - $5 = HEAP32[$0 + 4572 >> 2]; - if (($5 | 0) < ($3 | 0)) { - label$11 : { - label$12 : { - if (HEAP32[$0 + 28 >> 2]) { - if (HEAP32[$1 + 64 >> 2]) { - break label$12; - } - if (($4 | 0) > 0) { - break label$11; - } - break label$7; - } - HEAP32[$0 + 16 >> 2] = 0; - HEAP32[$0 + 20 >> 2] = 0; - HEAP32[$0 + 24 >> 2] = 256; - if (!HEAP32[$1 + 64 >> 2]) { - break label$11; - } - } - HEAP32[$0 + 28 >> 2] = 0; - return ($2 | 0) == 16 ? 12 : 8; - } - HEAP32[$0 + 28 >> 2] = -2; - return $2; - } - if (($3 | 0) < ($5 | 0)) { - if (HEAP32[$1 + 64 >> 2]) { - HEAP32[$0 + 16 >> 2] = 0; - HEAP32[$0 + 20 >> 2] = 0; - HEAP32[$0 + 24 >> 2] = 0; - HEAP32[$0 + 28 >> 2] = 1; - return ($2 | 0) == 8 ? 12 : 16; - } - if (!HEAP32[$0 + 28 >> 2]) { - break label$7; - } - HEAP32[$0 + 28 >> 2] = 1; - return $2; - } - if (HEAP32[$0 + 28 >> 2] > -1) { - break label$8; - } - HEAP32[$0 + 28 >> 2] = 1; - } - return $2; - } - HEAP32[$1 + 88 >> 2] = 1; - $0 = HEAP32[$1 + 56 >> 2]; - HEAP32[$1 + 56 >> 2] = $0 - ((Math_imul($0, 5) | 0) / (HEAP32[$1 + 24 >> 2] + 5 | 0) | 0); - return $2; -} -function silk_A2NLSF_init($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - $4 = $3 << 2; - HEAP32[$4 + $1 >> 2] = 65536; - HEAP32[$2 + $4 >> 2] = 65536; - $4 = 0; - label$1 : { - if (($3 | 0) <= 0) { - break label$1; - } - while (1) { - $5 = $4 << 2; - $6 = ($3 + $4 << 2) + $0 | 0; - $7 = (($4 ^ -1) + $3 << 2) + $0 | 0; - HEAP32[$5 + $1 >> 2] = 0 - (HEAP32[$6 >> 2] + HEAP32[$7 >> 2] | 0); - HEAP32[$2 + $5 >> 2] = HEAP32[$6 >> 2] - HEAP32[$7 >> 2]; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - if (($3 | 0) <= 0) { - break label$1; - } - $4 = $3; - while (1) { - $0 = $4 - 1 | 0; - $5 = $0 << 2; - $6 = $5 + $1 | 0; - $7 = $6; - $8 = HEAP32[$6 >> 2]; - $6 = $4 << 2; - HEAP32[$7 >> 2] = $8 - HEAP32[$6 + $1 >> 2]; - $5 = $2 + $5 | 0; - HEAP32[$5 >> 2] = HEAP32[$5 >> 2] + HEAP32[$2 + $6 >> 2]; - $5 = ($4 | 0) > 1; - $4 = $0; - if ($5) { - continue; - } - break; - } - $7 = 2; - if (($3 | 0) < 2) { - break label$1; - } - while (1) { - $4 = $3; - if (($7 | 0) < ($4 | 0)) { - while (1) { - $0 = ($4 << 2) + $1 | 0; - $5 = $0 - 8 | 0; - HEAP32[$5 >> 2] = HEAP32[$5 >> 2] - HEAP32[$0 >> 2]; - $4 = $4 - 1 | 0; - if (($7 | 0) < ($4 | 0)) { - continue; - } - break; - } - } - $6 = 2; - $4 = ($7 << 2) + $1 | 0; - $0 = $4 - 8 | 0; - HEAP32[$0 >> 2] = HEAP32[$0 >> 2] - (HEAP32[$4 >> 2] << 1); - $4 = ($3 | 0) != ($7 | 0); - $7 = $7 + 1 | 0; - if ($4) { - continue; - } - break; - } - while (1) { - $4 = $3; - if (($6 | 0) < ($4 | 0)) { - while (1) { - $0 = ($4 << 2) + $2 | 0; - $5 = $0 - 8 | 0; - HEAP32[$5 >> 2] = HEAP32[$5 >> 2] - HEAP32[$0 >> 2]; - $4 = $4 - 1 | 0; - if (($6 | 0) < ($4 | 0)) { - continue; - } - break; - } - } - $4 = ($6 << 2) + $2 | 0; - $0 = $4 - 8 | 0; - HEAP32[$0 >> 2] = HEAP32[$0 >> 2] - (HEAP32[$4 >> 2] << 1); - $4 = ($3 | 0) != ($6 | 0); - $6 = $6 + 1 | 0; - if ($4) { - continue; - } - break; - } - } -} -function resampler_basic_direct_double($0, $1, $2, $3, $4, $5) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $5 = $5 | 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - $1 = $1 << 2; - $16 = $1 + HEAP32[$0 + 64 >> 2] | 0; - $9 = HEAP32[$16 >> 2]; - $17 = HEAP32[$0 + 60 >> 2] + $1 | 0; - $6 = HEAP32[$17 >> 2]; - $18 = HEAP32[$3 >> 2]; - label$1 : { - if (($6 | 0) >= ($18 | 0)) { - break label$1; - } - $13 = HEAP32[$0 + 12 >> 2]; - $20 = HEAP32[$0 + 40 >> 2]; - $21 = HEAP32[$0 + 36 >> 2]; - $22 = HEAP32[$0 + 92 >> 2]; - $23 = HEAP32[$0 + 76 >> 2]; - $3 = HEAP32[$5 >> 2]; - $19 = ($3 | 0) > 0 ? $3 : 0; - $14 = HEAP32[$0 + 24 >> 2]; - $24 = ($14 | 0) < 1; - while (1) { - if (($7 | 0) == ($19 | 0)) { - $7 = $19; - break label$1; - } - $15 = 0; - label$4 : { - if ($24) { - $10 = 0; - $11 = 0; - $12 = 0; - break label$4; - } - $3 = ($6 << 2) + $2 | 0; - $1 = (Math_imul($9, $14) << 2) + $23 | 0; - $5 = 0; - $12 = 0; - $11 = 0; - $10 = 0; - while (1) { - $0 = $5 << 2; - $10 = $10 + +Math_fround(HEAPF32[$1 + $0 >> 2] * HEAPF32[$0 + $3 >> 2]); - $8 = $0 | 12; - $15 = $15 + +Math_fround(HEAPF32[$8 + $1 >> 2] * HEAPF32[$3 + $8 >> 2]); - $8 = $0 | 8; - $12 = $12 + +Math_fround(HEAPF32[$8 + $1 >> 2] * HEAPF32[$3 + $8 >> 2]); - $0 = $0 | 4; - $11 = $11 + +Math_fround(HEAPF32[$1 + $0 >> 2] * HEAPF32[$0 + $3 >> 2]); - $5 = $5 + 4 | 0; - if (($14 | 0) > ($5 | 0)) { - continue; - } - break; - } - } - HEAPF32[(Math_imul($7, $22) << 2) + $4 >> 2] = $10 + $11 + $12 + $15; - $0 = $9 + $20 | 0; - $9 = $0 - ($0 >>> 0 < $13 >>> 0 ? 0 : $13) | 0; - $7 = $7 + 1 | 0; - $6 = ($6 + $21 | 0) + ($0 >>> 0 >= $13 >>> 0) | 0; - if (($18 | 0) > ($6 | 0)) { - continue; - } - break; - } - } - HEAP32[$17 >> 2] = $6; - HEAP32[$16 >> 2] = $9; - return $7 | 0; -} -function silk_find_LPC_FLP($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = Math_fround(0), $9 = Math_fround(0), $10 = 0, $11 = 0, $12 = 0; - $4 = __stack_pointer - 1696 | 0; - __stack_pointer = $4; - HEAP8[$0 + 4767 | 0] = 4; - $6 = HEAP32[$0 + 4640 >> 2]; - $7 = $6 + HEAP32[$0 + 4588 >> 2] | 0; - $8 = silk_burg_modified_FLP($4 + 1632 | 0, $2, $3, $7, HEAP32[$0 + 4580 >> 2], $6); - label$1 : { - if (HEAP32[$0 + 4664 >> 2] | !HEAP32[$0 + 4632 >> 2] | HEAP32[$0 + 4580 >> 2] != 4) { - break label$1; - } - $5 = 3; - $3 = silk_burg_modified_FLP($4 + 1536 | 0, ($7 << 3) + $2 | 0, $3, $7, 2, HEAP32[$0 + 4640 >> 2]); - silk_A2NLSF_FLP($1, $4 + 1536 | 0, HEAP32[$0 + 4640 >> 2]); - $10 = $0 + 4500 | 0; - $11 = $7 << 1; - $8 = Math_fround($8 - $3); - $9 = Math_fround(3.4028234663852886e+38); - while (1) { - $6 = $5; - silk_interpolate($4 + 1600 | 0, $10, $1, $6, HEAP32[$0 + 4640 >> 2]); - silk_NLSF2A_FLP($4 + 1536 | 0, $4 + 1600 | 0, HEAP32[$0 + 4640 >> 2], HEAP32[$0 + 5092 >> 2]); - silk_LPC_analysis_filter_FLP($4, $4 + 1536 | 0, $2, $11, HEAP32[$0 + 4640 >> 2]); - $5 = HEAP32[$0 + 4640 >> 2]; - $12 = silk_energy_FLP(($5 << 2) + $4 | 0, $7 - $5 | 0); - $5 = HEAP32[$0 + 4640 >> 2]; - $3 = Math_fround($12 + silk_energy_FLP((($5 << 2) + $4 | 0) + ($7 << 2) | 0, $7 - $5 | 0)); - label$3 : { - if (!($8 > $3 ^ 1)) { - HEAP8[$0 + 4767 | 0] = $6; - $8 = $3; - break label$3; - } - if ($3 > $9) { - break label$1; - } - } - $5 = $6 - 1 | 0; - $9 = $3; - if ($6) { - continue; - } - break; - } - } - label$5 : { - if (HEAPU8[$0 + 4767 | 0] == 4) { - silk_A2NLSF_FLP($1, $4 + 1632 | 0, HEAP32[$0 + 4640 >> 2]); - if (HEAPU8[$0 + 4767 | 0] == 4) { - break label$5; - } - } - if (HEAP32[$0 + 4580 >> 2] == 4 ? !(HEAP32[$0 + 4664 >> 2] | !HEAP32[$0 + 4632 >> 2]) : 0) { - break label$5; - } - celt_fatal(16554, 16719, 103); - abort(); - } - __stack_pointer = $4 + 1696 | 0; -} -function ec_enc_icdf($0, $1, $2, $3) { - var $4 = 0, $5 = 0; - $4 = HEAP32[$0 + 28 >> 2]; - $3 = $4 >>> $3 | 0; - $5 = $0; - label$1 : { - if (($1 | 0) >= 1) { - $1 = $1 + $2 | 0; - $2 = $1 - 1 | 0; - HEAP32[$0 + 32 >> 2] = (HEAP32[$0 + 32 >> 2] + $4 | 0) - Math_imul(HEAPU8[$2 | 0], $3); - $3 = Math_imul(HEAPU8[$2 | 0] - HEAPU8[$1 | 0] | 0, $3); - break label$1; - } - $3 = $4 - Math_imul(HEAPU8[$1 + $2 | 0], $3) | 0; - } - HEAP32[$5 + 28 >> 2] = $3; - if ($3 >>> 0 <= 8388608) { - $1 = HEAP32[$0 + 32 >> 2]; - while (1) { - $5 = $1 >>> 23 | 0; - label$5 : { - if (($5 | 0) != 255) { - $3 = $1 >>> 31 | 0; - $2 = HEAP32[$0 + 40 >> 2]; - if (($2 | 0) >= 0) { - $1 = -1; - $4 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $4 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $4 + 1; - HEAP8[HEAP32[$0 >> 2] + $4 | 0] = $2 + $3; - $1 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $1; - } - $1 = HEAP32[$0 + 36 >> 2]; - if ($1) { - $4 = $3 - 1 | 0; - while (1) { - $3 = -1; - $2 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $2 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $2 + 1; - HEAP8[HEAP32[$0 >> 2] + $2 | 0] = $4; - $3 = 0; - $1 = HEAP32[$0 + 36 >> 2]; - } - $1 = $1 - 1 | 0; - HEAP32[$0 + 36 >> 2] = $1; - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - if ($1) { - continue; - } - break; - } - } - HEAP32[$0 + 40 >> 2] = $5 & 255; - $3 = HEAP32[$0 + 28 >> 2]; - $1 = HEAP32[$0 + 32 >> 2]; - break label$5; - } - HEAP32[$0 + 36 >> 2] = HEAP32[$0 + 36 >> 2] + 1; - } - $3 = $3 << 8; - HEAP32[$0 + 28 >> 2] = $3; - $1 = $1 << 8 & 2147483392; - HEAP32[$0 + 32 >> 2] = $1; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + 8; - if ($3 >>> 0 < 8388609) { - continue; - } - break; - } - } -} -function exp($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - wasm2js_scratch_store_f64(+$0); - $1 = wasm2js_scratch_load_i32(1) | 0; - $4 = wasm2js_scratch_load_i32(0) | 0; - $5 = $1 >>> 31 | 0; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - $3 = $0; - label$5 : { - label$6 : { - $6 = $1; - $1 = $6 & 2147483647; - label$7 : { - if ($1 >>> 0 >= 1082532651) { - $4 = __DOUBLE_BITS($0); - $6 = $4; - $1 = i64toi32_i32$HIGH_BITS; - $4 = $1 & 2147483647; - $1 = $6; - if (($4 | 0) == 2146435072 & ($1 | 0) != 0 | $4 >>> 0 > 2146435072) { - return $0; - } - if (!($0 > 709.782712893384 ^ 1)) { - return $0 * 8.98846567431158e+307; - } - if (!($0 < -745.1332191019411) | $0 < -708.3964185322641 ^ 1) { - break label$7; - } - break label$2; - } - if ($1 >>> 0 < 1071001155) { - break label$4; - } - if ($1 >>> 0 < 1072734898) { - break label$6; - } - } - $2 = $0 * 1.4426950408889634 + HEAPF64[($5 << 3) + 10928 >> 3]; - if (Math_abs($2) < 2147483648) { - $1 = ~~$2; - break label$5; - } - $1 = -2147483648; - break label$5; - } - $1 = ($5 ^ 1) - $5 | 0; - } - $2 = +($1 | 0); - $0 = $3 + $2 * -.6931471803691238; - $7 = $2 * 1.9082149292705877e-10; - $3 = $0 - $7; - break label$3; - } - if ($1 >>> 0 <= 1043333120) { - break label$1; - } - $1 = 0; - $3 = $0; - } - $2 = $3 * $3; - $2 = $3 - $2 * ($2 * ($2 * ($2 * ($2 * 4.1381367970572385e-8 + -16533902205465252e-22) + 6613756321437934e-20) + -.0027777777777015593) + .16666666666666602); - $2 = $0 + ($3 * $2 / (2 - $2) - $7) + 1; - if (!$1) { - break label$2; - } - $2 = scalbn($2, $1); - } - return $2; - } - return $0 + 1; -} -function memmove($0, $1, $2) { - var $3 = 0; - label$1 : { - if (($0 | 0) == ($1 | 0)) { - break label$1; - } - if (($1 - $0 | 0) - $2 >>> 0 <= 0 - ($2 << 1) >>> 0) { - return memcpy($0, $1, $2); - } - $3 = ($0 ^ $1) & 3; - label$3 : { - label$4 : { - if ($0 >>> 0 < $1 >>> 0) { - if ($3) { - $3 = $0; - break label$3; - } - if (!($0 & 3)) { - $3 = $0; - break label$4; - } - $3 = $0; - while (1) { - if (!$2) { - break label$1; - } - HEAP8[$3 | 0] = HEAPU8[$1 | 0]; - $1 = $1 + 1 | 0; - $2 = $2 - 1 | 0; - $3 = $3 + 1 | 0; - if ($3 & 3) { - continue; - } - break; - } - break label$4; - } - label$9 : { - if ($3) { - break label$9; - } - if ($0 + $2 & 3) { - while (1) { - if (!$2) { - break label$1; - } - $2 = $2 - 1 | 0; - $3 = $2 + $0 | 0; - HEAP8[$3 | 0] = HEAPU8[$1 + $2 | 0]; - if ($3 & 3) { - continue; - } - break; - } - } - if ($2 >>> 0 <= 3) { - break label$9; - } - while (1) { - $2 = $2 - 4 | 0; - HEAP32[$2 + $0 >> 2] = HEAP32[$1 + $2 >> 2]; - if ($2 >>> 0 > 3) { - continue; - } - break; - } - } - if (!$2) { - break label$1; - } - while (1) { - $2 = $2 - 1 | 0; - HEAP8[$2 + $0 | 0] = HEAPU8[$1 + $2 | 0]; - if ($2) { - continue; - } - break; - } - break label$1; - } - if ($2 >>> 0 <= 3) { - break label$3; - } - while (1) { - HEAP32[$3 >> 2] = HEAP32[$1 >> 2]; - $1 = $1 + 4 | 0; - $3 = $3 + 4 | 0; - $2 = $2 - 4 | 0; - if ($2 >>> 0 > 3) { - continue; - } - break; - } - } - if (!$2) { - break label$1; - } - while (1) { - HEAP8[$3 | 0] = HEAPU8[$1 | 0]; - $3 = $3 + 1 | 0; - $1 = $1 + 1 | 0; - $2 = $2 - 1 | 0; - if ($2) { - continue; - } - break; - } - } - return $0; -} -function silk_resampler_private_up2_HQ($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - if (($3 | 0) >= 1) { - $9 = HEAP32[$0 + 20 >> 2]; - $7 = HEAP32[$0 + 16 >> 2]; - $4 = HEAP32[$0 + 12 >> 2]; - $6 = HEAP32[$0 + 8 >> 2]; - $8 = HEAP32[$0 + 4 >> 2]; - $5 = HEAP32[$0 >> 2]; - while (1) { - $13 = HEAP16[($12 << 1) + $2 >> 1] << 10; - $10 = $13 - $5 | 0; - $10 = (Math_imul($10 & 65535, 1746) >>> 16 | 0) + Math_imul($10 >> 16, 1746) | 0; - $14 = $10 + $5 | 0; - $5 = $14 - $8 | 0; - $15 = (Math_imul($5 & 65535, 14986) >>> 16 | 0) + Math_imul($5 >> 16, 14986) | 0; - $5 = $15 + $8 | 0; - $8 = $5 - $6 | 0; - $11 = $12 << 2; - $5 = (Math_imul($8 >> 16, -26453) + (Math_imul($8 & 65535, -26453) >> 16) | 0) + $5 | 0; - $6 = ($5 >> 9) + 1 >> 1; - HEAP16[$11 + $1 >> 1] = ($5 | 0) > 33553919 ? 32767 : ($6 | 0) > -32768 ? $6 : -32768; - $18 = ($11 | 2) + $1 | 0; - $6 = $13 - $4 | 0; - $11 = (Math_imul($6 & 65535, 6854) >>> 16 | 0) + Math_imul($6 >> 16, 6854) | 0; - $16 = $11 + $4 | 0; - $4 = $16 - $7 | 0; - $17 = (Math_imul($4 & 65535, 25769) >>> 16 | 0) + Math_imul($4 >> 16, 25769) | 0; - $4 = $17 + $7 | 0; - $7 = $4 - $9 | 0; - $4 = (Math_imul($7 >> 16, -9994) + (Math_imul($7 & 65535, -9994) >> 16) | 0) + $4 | 0; - $9 = ($4 >> 9) + 1 >> 1; - HEAP16[$18 >> 1] = ($4 | 0) > 33553919 ? 32767 : ($9 | 0) > -32768 ? $9 : -32768; - $9 = $4 + $7 | 0; - $6 = $5 + $8 | 0; - $7 = $16 + $17 | 0; - $8 = $14 + $15 | 0; - $4 = $13 + $11 | 0; - $5 = $13 + $10 | 0; - $12 = $12 + 1 | 0; - if (($12 | 0) != ($3 | 0)) { - continue; - } - break; - } - HEAP32[$0 + 20 >> 2] = $9; - HEAP32[$0 + 16 >> 2] = $7; - HEAP32[$0 + 12 >> 2] = $4; - HEAP32[$0 + 8 >> 2] = $6; - HEAP32[$0 + 4 >> 2] = $8; - HEAP32[$0 >> 2] = $5; - } -} -function ec_encode_bin($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - $4 = -1 << $3; - $5 = HEAP32[$0 + 28 >> 2]; - $3 = $5 >>> $3 | 0; - $6 = $0; - label$1 : { - if ($1) { - HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] + (Math_imul($1 + $4 | 0, $3) + $5 | 0); - $3 = Math_imul($2 - $1 | 0, $3); - break label$1; - } - $3 = Math_imul($2 + $4 | 0, $3) + $5 | 0; - } - HEAP32[$6 + 28 >> 2] = $3; - if ($3 >>> 0 <= 8388608) { - $1 = HEAP32[$0 + 32 >> 2]; - while (1) { - $5 = $1 >>> 23 | 0; - label$5 : { - if (($5 | 0) != 255) { - $3 = $1 >>> 31 | 0; - $2 = HEAP32[$0 + 40 >> 2]; - if (($2 | 0) >= 0) { - $1 = -1; - $4 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $4 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $4 + 1; - HEAP8[HEAP32[$0 >> 2] + $4 | 0] = $2 + $3; - $1 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $1; - } - $1 = HEAP32[$0 + 36 >> 2]; - if ($1) { - $4 = $3 - 1 | 0; - while (1) { - $3 = -1; - $2 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $2 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $2 + 1; - HEAP8[HEAP32[$0 >> 2] + $2 | 0] = $4; - $3 = 0; - $1 = HEAP32[$0 + 36 >> 2]; - } - $1 = $1 - 1 | 0; - HEAP32[$0 + 36 >> 2] = $1; - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - if ($1) { - continue; - } - break; - } - } - HEAP32[$0 + 40 >> 2] = $5 & 255; - $3 = HEAP32[$0 + 28 >> 2]; - $1 = HEAP32[$0 + 32 >> 2]; - break label$5; - } - HEAP32[$0 + 36 >> 2] = HEAP32[$0 + 36 >> 2] + 1; - } - $3 = $3 << 8; - HEAP32[$0 + 28 >> 2] = $3; - $1 = $1 << 8 & 2147483392; - HEAP32[$0 + 32 >> 2] = $1; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + 8; - if ($3 >>> 0 < 8388609) { - continue; - } - break; - } - } -} -function ec_encode($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - $5 = HEAP32[$0 + 28 >> 2]; - $4 = ($5 >>> 0) / ($3 >>> 0) | 0; - $6 = $0; - label$1 : { - if ($1) { - HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] + (Math_imul($1 - $3 | 0, $4) + $5 | 0); - $3 = Math_imul($2 - $1 | 0, $4); - break label$1; - } - $3 = Math_imul($2 - $3 | 0, $4) + $5 | 0; - } - HEAP32[$6 + 28 >> 2] = $3; - if ($3 >>> 0 <= 8388608) { - $1 = HEAP32[$0 + 32 >> 2]; - while (1) { - $5 = $1 >>> 23 | 0; - label$5 : { - if (($5 | 0) != 255) { - $3 = $1 >>> 31 | 0; - $4 = HEAP32[$0 + 40 >> 2]; - if (($4 | 0) >= 0) { - $1 = -1; - $2 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $2 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $2 + 1; - HEAP8[HEAP32[$0 >> 2] + $2 | 0] = $3 + $4; - $1 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $1; - } - $1 = HEAP32[$0 + 36 >> 2]; - if ($1) { - $2 = $3 - 1 | 0; - while (1) { - $3 = -1; - $4 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $4 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $4 + 1; - HEAP8[HEAP32[$0 >> 2] + $4 | 0] = $2; - $3 = 0; - $1 = HEAP32[$0 + 36 >> 2]; - } - $1 = $1 - 1 | 0; - HEAP32[$0 + 36 >> 2] = $1; - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - if ($1) { - continue; - } - break; - } - } - HEAP32[$0 + 40 >> 2] = $5 & 255; - $3 = HEAP32[$0 + 28 >> 2]; - $1 = HEAP32[$0 + 32 >> 2]; - break label$5; - } - HEAP32[$0 + 36 >> 2] = HEAP32[$0 + 36 >> 2] + 1; - } - $3 = $3 << 8; - HEAP32[$0 + 28 >> 2] = $3; - $1 = $1 << 8 & 2147483392; - HEAP32[$0 + 32 >> 2] = $1; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + 8; - if ($3 >>> 0 < 8388609) { - continue; - } - break; - } - } -} -function silk_setup_resamplers($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $2 = __stack_pointer - 304 | 0; - $8 = $2; - __stack_pointer = $2; - $3 = HEAP32[$0 + 4576 >> 2]; - label$1 : { - if (($3 | 0) == ($1 | 0)) { - $5 = 0; - if (HEAP32[$0 + 4560 >> 2] == HEAP32[$0 + 4556 >> 2]) { - break label$1; - } - } - if (!$3) { - $5 = silk_resampler_init($0 + 5776 | 0, HEAP32[$0 + 4556 >> 2], Math_imul($1, 1e3), 1); - break label$1; - } - $9 = Math_imul(HEAP32[$0 + 4580 >> 2], 10) + 5 | 0; - $6 = Math_imul($9, $3); - $5 = Math_imul($1, $9); - $7 = $2 - (((($5 | 0) < ($6 | 0) ? $6 : $5) << 1) + 15 & -16) | 0; - $10 = $7; - __stack_pointer = $7; - if (($6 | 0) >= 1) { - $2 = $6; - while (1) { - $3 = $2 - 1 | 0; - $11 = ($3 << 1) + $7 | 0; - $4 = lrintf(HEAPF32[(($3 << 2) + $0 | 0) + 7180 >> 2]); - $4 = ($4 | 0) > -32768 ? $4 : -32768; - HEAP16[$11 >> 1] = ($4 | 0) < 32767 ? $4 : 32767; - $4 = ($2 | 0) > 1; - $2 = $3; - if ($4) { - continue; - } - break; - } - } - $3 = silk_resampler_init($8, Math_imul(HEAP16[$0 + 4576 >> 1], 1e3), HEAP32[$0 + 4556 >> 2], 0); - $4 = Math_imul(HEAP32[$0 + 4556 >> 2] / 1e3 | 0, $9); - $2 = $10 - (($4 << 1) + 15 & -16) | 0; - __stack_pointer = $2; - $6 = silk_resampler($8, $2, $7, $6) + $3 | 0; - $3 = $0 + 5776 | 0; - $1 = $6 + silk_resampler_init($3, HEAP32[$0 + 4556 >> 2], Math_imul($1 << 16 >> 16, 1e3), 1) | 0; - $4 = silk_resampler($3, $7, $2, $4); - if (($5 | 0) >= 1) { - while (1) { - $2 = $5 - 1 | 0; - HEAPF32[(($2 << 2) + $0 | 0) + 7180 >> 2] = HEAP16[($2 << 1) + $7 >> 1]; - $3 = ($5 | 0) > 1; - $5 = $2; - if ($3) { - continue; - } - break; - } - } - $5 = $1 + $4 | 0; - } - HEAP32[$0 + 4560 >> 2] = HEAP32[$0 + 4556 >> 2]; - __stack_pointer = $8 + 304 | 0; - return $5; -} -function compute_mdcts($0, $1, $2, $3, $4, $5, $6, $7, $8) { - var $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = Math_fround(0); - $10 = HEAP32[$0 + 44 >> 2]; - $12 = HEAP32[$0 + 4 >> 2]; - if ($1) { - $15 = HEAP32[$0 + 36 >> 2]; - } else { - $10 = $10 << $6; - $1 = 1; - $15 = HEAP32[$0 + 36 >> 2] - $6 | 0; - } - $16 = ($5 | 0) > 1 ? $5 : 1; - $17 = $0 - -64 | 0; - $9 = Math_imul($1, $10); - $18 = $12 + $9 | 0; - while (1) { - if (($1 | 0) >= 1) { - $11 = Math_imul($9, $13); - $14 = (Math_imul($13, $18) << 2) + $2 | 0; - $6 = 0; - while (1) { - clt_mdct_forward_c($17, (Math_imul($6, $10) << 2) + $14 | 0, ($6 + $11 << 2) + $3 | 0, HEAP32[$0 + 60 >> 2], $12, $15, $1, $8); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $13 = $13 + 1 | 0; - if (($16 | 0) != ($13 | 0)) { - continue; - } - break; - } - if (!(($4 | 0) != 1 | ($5 | 0) != 2 | ($9 | 0) < 1)) { - $6 = 0; - while (1) { - $1 = ($6 << 2) + $3 | 0; - HEAPF32[$1 >> 2] = Math_fround(HEAPF32[$1 >> 2] * Math_fround(.5)) + Math_fround(HEAPF32[($6 + $9 << 2) + $3 >> 2] * Math_fround(.5)); - $6 = $6 + 1 | 0; - if (($9 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - if (($7 | 0) != 1) { - $10 = ($4 | 0) > 1 ? $4 : 1; - $11 = ($9 | 0) / ($7 | 0) | 0; - $12 = $9 - $11 << 2; - $19 = Math_fround($7 | 0); - $0 = 0; - while (1) { - $14 = Math_imul($0, $9); - $6 = 0; - if (($11 | 0) >= 1) { - while (1) { - $1 = ($6 + $14 << 2) + $3 | 0; - HEAPF32[$1 >> 2] = HEAPF32[$1 >> 2] * $19; - $6 = $6 + 1 | 0; - if (($11 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - memset(($11 + $14 << 2) + $3 | 0, 0, $12); - $0 = $0 + 1 | 0; - if (($10 | 0) != ($0 | 0)) { - continue; - } - break; - } - } -} -function celt_preemphasis($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = Math_fround(0), $9 = Math_fround(0), $10 = 0, $11 = Math_fround(0), $12 = Math_fround(0); - $9 = HEAPF32[$6 >> 2]; - $11 = HEAPF32[$5 >> 2]; - label$1 : { - if (!(($4 | 0) != 1 | $7 | HEAPF32[$5 + 4 >> 2] != Math_fround(0))) { - if (($2 | 0) < 1) { - break label$1; - } - $5 = 0; - while (1) { - $8 = Math_fround(HEAPF32[(Math_imul($3, $5) << 2) + $0 >> 2] * Math_fround(32768)); - HEAPF32[($5 << 2) + $1 >> 2] = $8 - $9; - $9 = Math_fround($11 * $8); - $5 = $5 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$1; - } - $10 = ($2 | 0) / ($4 | 0) | 0; - if (($4 | 0) != 1) { - memset($1, 0, $2 << 2); - } - label$5 : { - if (($10 | 0) < 1) { - break label$5; - } - $5 = 0; - while (1) { - HEAPF32[(Math_imul($4, $5) << 2) + $1 >> 2] = HEAPF32[(Math_imul($3, $5) << 2) + $0 >> 2] * Math_fround(32768); - $5 = $5 + 1 | 0; - if (($10 | 0) != ($5 | 0)) { - continue; - } - break; - } - if (!$7 | ($10 | 0) < 1) { - break label$5; - } - $5 = 0; - while (1) { - $0 = (Math_imul($4, $5) << 2) + $1 | 0; - $7 = $0; - $8 = HEAPF32[$0 >> 2]; - $0 = $8 > Math_fround(65536); - $3 = ($0 ? Math_fround(65536) : $8) < Math_fround(-65536); - $12 = $3 ? Math_fround(-65536) : Math_fround(65536); - HEAPF32[$7 >> 2] = $0 ? $12 : $3 ? $12 : $8; - $5 = $5 + 1 | 0; - if (($10 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - if (($2 | 0) < 1) { - break label$1; - } - $5 = 0; - while (1) { - $0 = ($5 << 2) + $1 | 0; - $8 = HEAPF32[$0 >> 2]; - HEAPF32[$0 >> 2] = $8 - $9; - $9 = Math_fround($11 * $8); - $5 = $5 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAPF32[$6 >> 2] = $9; -} -function silk_LTP_analysis_filter_FLP($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = Math_fround(0), $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0); - $9 = __stack_pointer - 32 | 0; - if (($6 | 0) >= 1) { - $14 = $5 + $7 | 0; - $15 = ($14 | 0) < 1; - while (1) { - $7 = $13 << 2; - $16 = HEAPF32[$7 + $4 >> 2]; - $11 = HEAP32[$3 + $7 >> 2]; - $7 = Math_imul($13, 20) + $2 | 0; - HEAP32[$9 + 16 >> 2] = HEAP32[$7 + 16 >> 2]; - $12 = HEAP32[$7 + 4 >> 2]; - $10 = HEAP32[$7 >> 2]; - HEAP32[$9 >> 2] = $10; - HEAP32[$9 + 4 >> 2] = $12; - $10 = HEAP32[$7 + 12 >> 2]; - $12 = HEAP32[$7 + 8 >> 2]; - HEAP32[$9 + 8 >> 2] = $12; - HEAP32[$9 + 12 >> 2] = $10; - if (!$15) { - $7 = $1 - ($11 << 2) | 0; - $12 = 0; - while (1) { - $10 = $12 << 2; - $11 = $10 + $0 | 0; - $10 = $1 + $10 | 0; - $8 = HEAPF32[$10 >> 2]; - $10 = HEAP32[$10 >> 2]; - HEAP32[$11 >> 2] = $10; - $8 = Math_fround($8 - Math_fround(HEAPF32[$9 >> 2] * HEAPF32[$7 + 8 >> 2])); - HEAPF32[$11 >> 2] = $8; - $8 = Math_fround($8 - Math_fround(HEAPF32[$9 + 4 >> 2] * HEAPF32[$7 + 4 >> 2])); - HEAPF32[$11 >> 2] = $8; - $8 = Math_fround($8 - Math_fround(HEAPF32[$9 + 8 >> 2] * HEAPF32[$7 >> 2])); - HEAPF32[$11 >> 2] = $8; - $8 = Math_fround($8 - Math_fround(HEAPF32[$9 + 12 >> 2] * HEAPF32[$7 - 4 >> 2])); - HEAPF32[$11 >> 2] = $8; - HEAPF32[$11 >> 2] = $16 * Math_fround($8 - Math_fround(HEAPF32[$9 + 16 >> 2] * HEAPF32[$7 - 8 >> 2])); - $7 = $7 + 4 | 0; - $12 = $12 + 1 | 0; - if (($14 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $1 = ($5 << 2) + $1 | 0; - $0 = ($14 << 2) + $0 | 0; - $13 = $13 + 1 | 0; - if (($13 | 0) != ($6 | 0)) { - continue; - } - break; - } - } -} -function __stdio_write($0, $1, $2) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $3 = __stack_pointer - 32 | 0; - __stack_pointer = $3; - $4 = HEAP32[$0 + 28 >> 2]; - HEAP32[$3 + 16 >> 2] = $4; - $5 = HEAP32[$0 + 20 >> 2]; - HEAP32[$3 + 28 >> 2] = $2; - HEAP32[$3 + 24 >> 2] = $1; - $1 = $5 - $4 | 0; - HEAP32[$3 + 20 >> 2] = $1; - $8 = $1 + $2 | 0; - $9 = 2; - $1 = $3 + 16 | 0; - label$1 : { - label$2 : { - label$3 : { - if (!__wasi_syscall_ret(__wasi_fd_write(HEAP32[$0 + 60 >> 2], $3 + 16 | 0, 2, $3 + 12 | 0) | 0)) { - while (1) { - $4 = HEAP32[$3 + 12 >> 2]; - if (($8 | 0) == ($4 | 0)) { - break label$3; - } - if (($4 | 0) <= -1) { - break label$2; - } - $6 = HEAP32[$1 + 4 >> 2]; - $5 = $6 >>> 0 < $4 >>> 0; - $7 = ($5 << 3) + $1 | 0; - $6 = $4 - ($5 ? $6 : 0) | 0; - HEAP32[$7 >> 2] = $6 + HEAP32[$7 >> 2]; - $7 = ($5 ? 12 : 4) + $1 | 0; - HEAP32[$7 >> 2] = HEAP32[$7 >> 2] - $6; - $8 = $8 - $4 | 0; - $1 = $5 ? $1 + 8 | 0 : $1; - $9 = $9 - $5 | 0; - if (!__wasi_syscall_ret(__wasi_fd_write(HEAP32[$0 + 60 >> 2], $1 | 0, $9 | 0, $3 + 12 | 0) | 0)) { - continue; - } - break; - } - } - if (($8 | 0) != -1) { - break label$2; - } - } - $1 = HEAP32[$0 + 44 >> 2]; - HEAP32[$0 + 28 >> 2] = $1; - HEAP32[$0 + 20 >> 2] = $1; - HEAP32[$0 + 16 >> 2] = HEAP32[$0 + 48 >> 2] + $1; - $0 = $2; - break label$1; - } - HEAP32[$0 + 28 >> 2] = 0; - HEAP32[$0 + 16 >> 2] = 0; - HEAP32[$0 + 20 >> 2] = 0; - HEAP32[$0 >> 2] = HEAP32[$0 >> 2] | 32; - $0 = 0; - if (($9 | 0) == 2) { - break label$1; - } - $0 = $2 - HEAP32[$1 + 4 >> 2] | 0; - } - __stack_pointer = $3 + 32 | 0; - $4 = $0; - return $4 | 0; -} -function ec_enc_bit_logp($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0; - $3 = HEAP32[$0 + 28 >> 2]; - $2 = $3 >>> $2 | 0; - $3 = $3 - $2 | 0; - label$1 : { - if (!$1) { - $2 = $3; - break label$1; - } - HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] + $3; - } - HEAP32[$0 + 28 >> 2] = $2; - if ($2 >>> 0 <= 8388608) { - $1 = HEAP32[$0 + 32 >> 2]; - while (1) { - $5 = $1 >>> 23 | 0; - label$5 : { - if (($5 | 0) != 255) { - $2 = $1 >>> 31 | 0; - $3 = HEAP32[$0 + 40 >> 2]; - if (($3 | 0) >= 0) { - $1 = -1; - $4 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $4 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $4 + 1; - HEAP8[HEAP32[$0 >> 2] + $4 | 0] = $2 + $3; - $1 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $1; - } - $1 = HEAP32[$0 + 36 >> 2]; - if ($1) { - $4 = $2 - 1 | 0; - while (1) { - $2 = -1; - $3 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $3 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $3 + 1; - HEAP8[HEAP32[$0 >> 2] + $3 | 0] = $4; - $2 = 0; - $1 = HEAP32[$0 + 36 >> 2]; - } - $1 = $1 - 1 | 0; - HEAP32[$0 + 36 >> 2] = $1; - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $2; - if ($1) { - continue; - } - break; - } - } - HEAP32[$0 + 40 >> 2] = $5 & 255; - $2 = HEAP32[$0 + 28 >> 2]; - $1 = HEAP32[$0 + 32 >> 2]; - break label$5; - } - HEAP32[$0 + 36 >> 2] = HEAP32[$0 + 36 >> 2] + 1; - } - $2 = $2 << 8; - HEAP32[$0 + 28 >> 2] = $2; - $1 = $1 << 8 & 2147483392; - HEAP32[$0 + 32 >> 2] = $1; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + 8; - if ($2 >>> 0 < 8388609) { - continue; - } - break; - } - } -} -function silk_gains_quant($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - if (($4 | 0) >= 1) { - while (1) { - $10 = ($9 << 2) + $1 | 0; - silk_lin2log(HEAP32[$10 >> 2]); - $6 = $0 + $9 | 0; - $7 = Math_imul((silk_lin2log(HEAP32[$10 >> 2]) << 16) - 136970240 >> 16, 2251); - $5 = $7 >>> 16 | 0; - HEAP8[$6 | 0] = $5; - if (HEAP8[$2 | 0] > $7 << 8 >> 24) { - $5 = $5 + 1 | 0; - HEAP8[$6 | 0] = $5; - } - $5 = $5 << 24 >> 24 > 0 ? $5 : 0; - $7 = $5 << 24 >> 24 < 63 ? $5 : 63; - HEAP8[$6 | 0] = $7; - $5 = HEAP8[$2 | 0]; - label$4 : { - if (!($3 | $9)) { - $8 = $5 - 4 | 0; - $7 = $7 & 255; - $5 = ($5 | 0) > 67 ? 63 : ($7 | 0) < ($8 | 0) ? $8 : $7; - HEAP8[$6 | 0] = $5; - HEAP8[$2 | 0] = $5; - break label$4; - } - $5 = $7 - $5 | 0; - HEAP8[$6 | 0] = $5; - $7 = HEAP8[$2 | 0] + 8 | 0; - $8 = $5 << 24 >> 24; - if (($7 | 0) < ($8 | 0)) { - $5 = (($8 - $7 | 0) + 1 >>> 1 | 0) + $7 | 0; - HEAP8[$6 | 0] = $5; - } - $5 = $5 << 24 >> 24 > -4 ? $5 : -4; - $5 = $5 << 24 >> 24 < 36 ? $5 : 36; - HEAP8[$6 | 0] = $5; - $11 = $2; - $8 = $5 << 24 >> 24; - label$7 : { - if (($8 | 0) > ($7 | 0)) { - $5 = HEAPU8[$2 | 0] + (($8 << 1) - $7 | 0) | 0; - HEAP8[$2 | 0] = $5; - $5 = $5 << 24 >> 24 < 63 ? $5 : 63; - break label$7; - } - $5 = HEAPU8[$2 | 0] + $5 | 0; - } - HEAP8[$11 | 0] = $5; - HEAP8[$6 | 0] = HEAPU8[$6 | 0] + 4; - $5 = HEAPU8[$2 | 0]; - } - $6 = $5 << 24 >> 24; - $6 = (Math_imul($6, 7281) >> 16) + Math_imul($6, 29) | 0; - HEAP32[$10 >> 2] = silk_log2lin((($6 | 0) < 1877 ? $6 : 1877) + 2090 | 0); - $9 = $9 + 1 | 0; - if (($9 | 0) != ($4 | 0)) { - continue; - } - break; - } - } -} -function silk_warped_autocorrelation_FLP($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - $5 = __stack_pointer - 416 | 0; - __stack_pointer = $5; - memset($5 + 208 | 0, 0, 200); - $5 = memset($5, 0, 200); - if (!($4 & 1)) { - if (($3 | 0) >= 1) { - $6 = $4 << 3; - $11 = $6 + $5 | 0; - $18 = ($5 + 208 | 0) + $6 | 0; - $12 = +$2; - $19 = ($4 | 0) < 1; - while (1) { - $8 = +HEAPF32[($9 << 2) + $1 >> 2]; - $6 = 0; - if (!$19) { - while (1) { - $7 = $6 << 3; - $13 = $7 | 8; - $14 = $13 + ($5 + 208 | 0) | 0; - $15 = HEAPF64[$14 >> 3]; - HEAPF64[($5 + 208 | 0) + $7 >> 3] = $8; - $7 = $5 + $7 | 0; - $16 = HEAPF64[$5 + 208 >> 3]; - HEAPF64[$7 >> 3] = HEAPF64[$7 >> 3] + $8 * $16; - $6 = $6 + 2 | 0; - $17 = HEAPF64[($5 + 208 | 0) + ($6 << 3) >> 3]; - $8 = $10 + ($15 - $8) * $12; - HEAPF64[$14 >> 3] = $8; - $7 = $5 + $13 | 0; - HEAPF64[$7 >> 3] = $16 * $8 + HEAPF64[$7 >> 3]; - $8 = $15 + ($17 - $8) * $12; - $10 = $17; - if (($4 | 0) > ($6 | 0)) { - continue; - } - break; - } - } - HEAPF64[$18 >> 3] = $8; - $10 = HEAPF64[$5 + 208 >> 3]; - HEAPF64[$11 >> 3] = HEAPF64[$11 >> 3] + $8 * $10; - $9 = $9 + 1 | 0; - if (($9 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $6 = 0; - if (($4 | 0) >= 0) { - while (1) { - HEAPF32[($6 << 2) + $0 >> 2] = HEAPF64[($6 << 3) + $5 >> 3]; - $7 = ($4 | 0) != ($6 | 0); - $6 = $6 + 1 | 0; - if ($7) { - continue; - } - break; - } - } - __stack_pointer = $5 + 416 | 0; - return; - } - celt_fatal(10944, 10981, 49); - abort(); -} -function pop_arg($0, $1, $2, $3) { - label$1 : { - if ($1 >>> 0 > 20) { - break label$1; - } - label$2 : { - switch ($1 - 9 | 0) { - case 0: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; - return; - case 1: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $1 = HEAP32[$1 >> 2]; - $2 = $1 >> 31; - HEAP32[$0 >> 2] = $1; - HEAP32[$0 + 4 >> 2] = $2; - return; - case 2: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $2 = HEAP32[$1 >> 2]; - HEAP32[$0 >> 2] = $2; - HEAP32[$0 + 4 >> 2] = 0; - return; - case 3: - $1 = HEAP32[$2 >> 2] + 7 & -8; - HEAP32[$2 >> 2] = $1 + 8; - $2 = HEAP32[$1 + 4 >> 2]; - $1 = HEAP32[$1 >> 2]; - HEAP32[$0 >> 2] = $1; - HEAP32[$0 + 4 >> 2] = $2; - return; - case 4: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $2 = HEAP16[$1 >> 1]; - $1 = $2 >> 31; - HEAP32[$0 >> 2] = $2; - HEAP32[$0 + 4 >> 2] = $1; - return; - case 5: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $1 = HEAPU16[$1 >> 1]; - HEAP32[$0 >> 2] = $1; - HEAP32[$0 + 4 >> 2] = 0; - return; - case 6: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $2 = HEAP8[$1 | 0]; - $1 = $2 >> 31; - HEAP32[$0 >> 2] = $2; - HEAP32[$0 + 4 >> 2] = $1; - return; - case 7: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $1 = HEAPU8[$1 | 0]; - HEAP32[$0 >> 2] = $1; - HEAP32[$0 + 4 >> 2] = 0; - return; - case 8: - $1 = HEAP32[$2 >> 2] + 7 & -8; - HEAP32[$2 >> 2] = $1 + 8; - HEAPF64[$0 >> 3] = HEAPF64[$1 >> 3]; - return; - case 9: - break label$2; - default: - break label$1; - } - } - FUNCTION_TABLE[$3 | 0]($0, $2); - } -} -function speex_resampler_init_frac($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0; - label$1 : { - label$2 : { - if (!(!$2 | (!$0 | !$1))) { - if ($5 >>> 0 < 11) { - break label$2; - } - } - if (!$6) { - break label$1; - } - HEAP32[$6 >> 2] = 3; - return 0; - } - $7 = dlcalloc(96, 1); - if (!$7) { - $7 = 0; - if (!$6) { - break label$1; - } - HEAP32[$6 >> 2] = 1; - return 0; - } - HEAP32[$7 >> 2] = 0; - HEAP32[$7 + 4 >> 2] = 0; - HEAP32[$7 + 44 >> 2] = 1065353216; - HEAP32[$7 + 16 >> 2] = -1; - HEAP32[$7 + 88 >> 2] = 1; - HEAP32[$7 + 92 >> 2] = 1; - HEAP32[$7 + 20 >> 2] = $0; - HEAP32[$7 + 32 >> 2] = 160; - HEAP32[$7 + 8 >> 2] = 0; - HEAP32[$7 + 12 >> 2] = 0; - $0 = $0 << 2; - $8 = dlcalloc($0, 1); - HEAP32[$7 + 60 >> 2] = $8; - label$5 : { - if (!$8) { - break label$5; - } - $8 = dlcalloc($0, 1); - HEAP32[$7 + 68 >> 2] = $8; - if (!$8) { - break label$5; - } - $0 = dlcalloc($0, 1); - HEAP32[$7 + 64 >> 2] = $0; - if (!$0) { - break label$5; - } - HEAP32[$7 + 16 >> 2] = $5; - speex_resampler_set_rate_frac($7, $1, $2, $3, $4); - $0 = update_filter($7); - label$6 : { - if (!$0) { - HEAP32[$7 + 52 >> 2] = 1; - break label$6; - } - dlfree(HEAP32[$7 + 72 >> 2]); - dlfree(HEAP32[$7 + 76 >> 2]); - dlfree(HEAP32[$7 + 60 >> 2]); - dlfree(HEAP32[$7 + 68 >> 2]); - dlfree(HEAP32[$7 + 64 >> 2]); - dlfree($7); - $7 = 0; - } - if (!$6) { - break label$1; - } - HEAP32[$6 >> 2] = $0; - return $7; - } - if ($6) { - HEAP32[$6 >> 2] = 1; - } - dlfree(HEAP32[$7 + 76 >> 2]); - dlfree(HEAP32[$7 + 60 >> 2]); - dlfree(HEAP32[$7 + 68 >> 2]); - dlfree(HEAP32[$7 + 64 >> 2]); - dlfree($7); - $7 = 0; - } - return $7; -} -function speex_resampler_set_rate_frac($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $6 = 3; - label$1 : { - if (!$1 | !$2) { - break label$1; - } - if (!(HEAP32[$0 >> 2] != ($3 | 0) | HEAP32[$0 + 4 >> 2] != ($4 | 0) | HEAP32[$0 + 8 >> 2] != ($1 | 0))) { - $6 = 0; - if (HEAP32[$0 + 12 >> 2] == ($2 | 0)) { - break label$1; - } - } - HEAP32[$0 + 8 >> 2] = $1; - HEAP32[$0 + 4 >> 2] = $4; - HEAP32[$0 >> 2] = $3; - $7 = HEAP32[$0 + 12 >> 2]; - HEAP32[$0 + 12 >> 2] = $2; - $5 = $1; - $3 = $2; - while (1) { - $4 = $3; - $3 = ($5 >>> 0) % ($3 >>> 0) | 0; - $5 = $4; - if ($3) { - continue; - } - break; - } - $3 = ($2 >>> 0) / ($4 >>> 0) | 0; - HEAP32[$0 + 12 >> 2] = $3; - HEAP32[$0 + 8 >> 2] = ($1 >>> 0) / ($4 >>> 0); - label$4 : { - if (!$7 | !HEAP32[$0 + 20 >> 2]) { - break label$4; - } - $9 = HEAP32[$0 + 64 >> 2]; - $4 = 0; - while (1) { - $6 = 5; - $2 = 4294967295 / ($3 >>> 0) | 0; - $1 = ($4 << 2) + $9 | 0; - $5 = HEAP32[$1 >> 2]; - $8 = $5; - $5 = ($5 >>> 0) / ($7 >>> 0) | 0; - $8 = $8 - Math_imul($7, $5) | 0; - if ($2 >>> 0 < $8 >>> 0 | $2 >>> 0 < $5 >>> 0) { - break label$1; - } - $5 = Math_imul($3, $5); - $3 = (Math_imul($3, $8) >>> 0) / ($7 >>> 0) | 0; - if ($5 >>> 0 > ($3 ^ -1) >>> 0) { - break label$1; - } - $3 = $3 + $5 | 0; - HEAP32[$1 >> 2] = $3; - $5 = HEAP32[$0 + 12 >> 2]; - if ($5 >>> 0 <= $3 >>> 0) { - HEAP32[$1 >> 2] = $5 - 1; - } - $4 = $4 + 1 | 0; - if ($4 >>> 0 >= HEAPU32[$0 + 20 >> 2]) { - break label$4; - } - $3 = HEAP32[$0 + 12 >> 2]; - continue; - } - } - if (!HEAP32[$0 + 52 >> 2]) { - return 0; - } - $6 = update_filter($0); - } - return $6; -} -function log($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - wasm2js_scratch_store_f64(+$0); - $2 = wasm2js_scratch_load_i32(1) | 0; - $4 = wasm2js_scratch_load_i32(0) | 0; - $5 = $2; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - if (($2 | 0) > 0 ? 1 : ($2 | 0) >= 0) { - $1 = $5; - if ($1 >>> 0 > 1048575) { - break label$4; - } - } - $2 = $5; - $1 = $2 & 2147483647; - if (!($1 | $4)) { - return -1 / ($0 * $0); - } - $1 = $5; - if (($1 | 0) > -1) { - break label$3; - } - return ($0 - $0) / 0; - } - if ($1 >>> 0 > 2146435071) { - break label$1; - } - $2 = 1072693248; - $6 = -1023; - if (($1 | 0) != 1072693248) { - $2 = $1; - break label$2; - } - if ($4) { - break label$2; - } - return 0; - } - wasm2js_scratch_store_f64(+($0 * 0x40000000000000)); - $2 = wasm2js_scratch_load_i32(1) | 0; - $4 = wasm2js_scratch_load_i32(0) | 0; - $6 = -1077; - } - $1 = $2 + 614242 | 0; - $3 = +(($1 >>> 20 | 0) + $6 | 0); - $8 = $3 * .6931471803691238; - $1 = ($1 & 1048575) + 1072079006 | 0; - $2 = 0; - $1 = $2 | $1; - wasm2js_scratch_store_i32(0, $4 | 0); - wasm2js_scratch_store_i32(1, $1 | 0); - $0 = +wasm2js_scratch_load_f64() + -1; - $9 = $0; - $10 = $3 * 1.9082149292705877e-10; - $3 = $0 / ($0 + 2); - $11 = $3; - $7 = $0 * ($0 * .5); - $3 = $3 * $3; - $0 = $3 * $3; - $0 = $8 + ($9 + ($10 + $11 * ($7 + ($0 * ($0 * ($0 * .15313837699209373 + .22222198432149784) + .3999999999940942) + $3 * ($0 * ($0 * ($0 * .14798198605116586 + .1818357216161805) + .2857142874366239) + .6666666666666735))) - $7)); - } - return $0; -} -function memset($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - label$1 : { - if (!$2) { - break label$1; - } - $3 = $0 + $2 | 0; - HEAP8[$3 - 1 | 0] = $1; - HEAP8[$0 | 0] = $1; - if ($2 >>> 0 < 3) { - break label$1; - } - HEAP8[$3 - 2 | 0] = $1; - HEAP8[$0 + 1 | 0] = $1; - HEAP8[$3 - 3 | 0] = $1; - HEAP8[$0 + 2 | 0] = $1; - if ($2 >>> 0 < 7) { - break label$1; - } - HEAP8[$3 - 4 | 0] = $1; - HEAP8[$0 + 3 | 0] = $1; - if ($2 >>> 0 < 9) { - break label$1; - } - $4 = 0 - $0 & 3; - $3 = $4 + $0 | 0; - $1 = Math_imul($1 & 255, 16843009); - HEAP32[$3 >> 2] = $1; - $4 = $2 - $4 & -4; - $2 = $4 + $3 | 0; - HEAP32[$2 - 4 >> 2] = $1; - if ($4 >>> 0 < 9) { - break label$1; - } - HEAP32[$3 + 8 >> 2] = $1; - HEAP32[$3 + 4 >> 2] = $1; - HEAP32[$2 - 8 >> 2] = $1; - HEAP32[$2 - 12 >> 2] = $1; - if ($4 >>> 0 < 25) { - break label$1; - } - HEAP32[$3 + 24 >> 2] = $1; - HEAP32[$3 + 20 >> 2] = $1; - HEAP32[$3 + 16 >> 2] = $1; - HEAP32[$3 + 12 >> 2] = $1; - HEAP32[$2 - 16 >> 2] = $1; - HEAP32[$2 - 20 >> 2] = $1; - HEAP32[$2 - 24 >> 2] = $1; - HEAP32[$2 - 28 >> 2] = $1; - $6 = $3 & 4 | 24; - $2 = $4 - $6 | 0; - if ($2 >>> 0 < 32) { - break label$1; - } - $5 = __wasm_i64_mul($1, 0, 1, 1); - $4 = i64toi32_i32$HIGH_BITS; - $7 = $4; - $1 = $3 + $6 | 0; - while (1) { - HEAP32[$1 + 24 >> 2] = $5; - $4 = $7; - HEAP32[$1 + 28 >> 2] = $4; - HEAP32[$1 + 16 >> 2] = $5; - HEAP32[$1 + 20 >> 2] = $4; - HEAP32[$1 + 8 >> 2] = $5; - HEAP32[$1 + 12 >> 2] = $4; - HEAP32[$1 >> 2] = $5; - HEAP32[$1 + 4 >> 2] = $4; - $1 = $1 + 32 | 0; - $2 = $2 - 32 | 0; - if ($2 >>> 0 > 31) { - continue; - } - break; - } - } - return $0; -} -function silk_LPC_analysis_filter($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - label$1 : { - label$2 : { - if (($4 | 0) > 5) { - if ($4 & 1) { - break label$2; - } - if (($3 | 0) < ($4 | 0)) { - break label$1; - } - if (($3 | 0) > ($4 | 0)) { - $12 = ($4 | 0) < 7; - $5 = $4; - while (1) { - $11 = $5 << 1; - $7 = $11 + $1 | 0; - $8 = $7 - 2 | 0; - $9 = ((((Math_imul(HEAP16[$2 + 2 >> 1], HEAP16[$7 - 4 >> 1]) + Math_imul(HEAP16[$2 >> 1], HEAP16[$8 >> 1]) | 0) + Math_imul(HEAP16[$2 + 4 >> 1], HEAP16[$7 - 6 >> 1]) | 0) + Math_imul(HEAP16[$2 + 6 >> 1], HEAP16[$7 - 8 >> 1]) | 0) + Math_imul(HEAP16[$2 + 8 >> 1], HEAP16[$7 - 10 >> 1]) | 0) + Math_imul(HEAP16[$2 + 10 >> 1], HEAP16[$7 - 12 >> 1]) | 0; - $6 = 6; - if (!$12) { - while (1) { - $10 = $6 << 1; - $9 = (Math_imul(HEAP16[$10 + $2 >> 1], HEAP16[$8 - $10 >> 1]) + $9 | 0) + Math_imul(HEAP16[($10 | 2) + $2 >> 1], HEAP16[(($6 ^ -1) << 1) + $8 >> 1]) | 0; - $6 = $6 + 2 | 0; - if (($6 | 0) < ($4 | 0)) { - continue; - } - break; - } - } - $6 = ((HEAP16[$7 >> 1] << 12) - $9 >> 11) + 1 >> 1; - $6 = ($6 | 0) > -32768 ? $6 : -32768; - HEAP16[$0 + $11 >> 1] = ($6 | 0) < 32767 ? $6 : 32767; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - memset($0, 0, $4 << 1); - return; - } - celt_fatal(16065, 16090, 67); - abort(); - } - celt_fatal(16117, 16090, 68); - abort(); - } - celt_fatal(16148, 16090, 69); - abort(); -} -function silk_corrMatrix_FLP($0, $1, $2, $3) { - var $4 = 0, $5 = Math_fround(0), $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = Math_fround(0); - $10 = $2 - 1 | 0; - $8 = ($10 << 2) + $0 | 0; - $6 = silk_energy_FLP($8, $1); - HEAPF32[$3 >> 2] = $6; - label$1 : { - if (($2 | 0) < 2) { - break label$1; - } - $4 = 1; - while (1) { - $5 = HEAPF32[$8 - ($4 << 2) >> 2]; - $12 = Math_fround($5 * $5); - $5 = HEAPF32[($1 - $4 << 2) + $8 >> 2]; - $6 = $6 + +Math_fround($12 - Math_fround($5 * $5)); - HEAPF32[(Math_imul($2, $4) + $4 << 2) + $3 >> 2] = $6; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - if (($2 | 0) < 2) { - break label$1; - } - $0 = (($2 << 2) + $0 | 0) - 8 | 0; - $7 = 1; - while (1) { - $4 = (Math_imul($2, $7) << 2) + $3 | 0; - $6 = silk_inner_product_FLP($8, $0, $1); - $5 = Math_fround($6); - HEAPF32[$4 >> 2] = $5; - HEAPF32[($7 << 2) + $3 >> 2] = $5; - $4 = 1; - if (($2 - $7 | 0) >= 2) { - while (1) { - $11 = $4 + $7 | 0; - $9 = $4 << 2; - $5 = Math_fround(HEAPF32[$8 - $9 >> 2] * HEAPF32[$0 - $9 >> 2]); - $9 = $1 - $4 << 2; - $6 = $6 + +Math_fround($5 - Math_fround(HEAPF32[$9 + $8 >> 2] * HEAPF32[$0 + $9 >> 2])); - $5 = Math_fround($6); - HEAPF32[(Math_imul($11, $2) + $4 << 2) + $3 >> 2] = $5; - HEAPF32[(Math_imul($2, $4) + $11 << 2) + $3 >> 2] = $5; - $4 = $4 + 1 | 0; - if (($10 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $10 = $10 - 1 | 0; - $0 = $0 - 4 | 0; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } -} -function quant_fine_energy($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = 0, $9 = 0, $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = Math_fround(0), $19 = Math_fround(0); - if (($1 | 0) < ($2 | 0)) { - $16 = ($7 | 0) > 1 ? $7 : 1; - while (1) { - $14 = ($1 << 2) + $5 | 0; - $9 = HEAP32[$14 >> 2]; - if (($9 | 0) >= 1) { - $12 = 65536 << $9 >> 16; - $17 = $12 - 1 | 0; - $18 = Math_fround($12 | 0); - $8 = HEAP32[$0 + 8 >> 2]; - $7 = 0; - while (1) { - $13 = $6; - $10 = Math_fround(Math_floor(Math_fround(Math_fround(HEAPF32[(Math_imul($7, $8) + $1 << 2) + $4 >> 2] + Math_fround(.5)) * $18))); - label$5 : { - if (Math_fround(Math_abs($10)) < Math_fround(2147483648)) { - $8 = ~~$10; - break label$5; - } - $8 = -2147483648; - } - $8 = ($8 | 0) < ($12 | 0) ? $8 : $17; - $11 = ($8 | 0) > 0 ? $8 : 0; - ec_enc_bits($13, $11, $9); - $8 = HEAP32[$0 + 8 >> 2]; - $15 = Math_imul($8, $7) + $1 << 2; - $9 = $15 + $3 | 0; - $13 = $9; - $19 = HEAPF32[$9 >> 2]; - $9 = HEAP32[$14 >> 2]; - $10 = Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($11 | 0) + Math_fround(.5)) * Math_fround(1 << 14 - $9)) * Math_fround(6103515625e-14)) + Math_fround(-.5)); - HEAPF32[$13 >> 2] = $19 + $10; - $11 = $4 + $15 | 0; - HEAPF32[$11 >> 2] = HEAPF32[$11 >> 2] - $10; - $7 = $7 + 1 | 0; - if (($16 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - $1 = $1 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - } -} -function silk_HP_variable_cutoff($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - if (HEAPU8[$0 + 4541 | 0] == 2) { - $1 = silk_lin2log((Math_imul(HEAP32[$0 + 4576 >> 2], 65536e3) | 0) / HEAP32[$0 + 4544 >> 2] | 0); - $2 = HEAP32[$0 + 4696 >> 2]; - $3 = silk_lin2log(3932160); - $6 = silk_lin2log(3932160); - $4 = 0 - ($2 << 2) | 0; - $5 = HEAP32[$0 + 8 >> 2]; - $2 = $2 << 16 >> 16; - $2 = (Math_imul($2, $4 & 65532) >> 16) + Math_imul($4 >> 16, $2) | 0; - $1 = ((($1 - ($5 >> 8) | 0) + Math_imul($2 >> 16, $1 - $3 << 16 >> 16) | 0) + (Math_imul($2 & 65535, $1 - $6 << 16 >> 16) >> 16) | 0) - 2048 | 0; - $1 = ($1 | 0) < 0 ? Math_imul($1, 3) : $1; - $1 = ($1 | 0) > -51 ? $1 : -51; - $1 = Math_imul(HEAP16[$0 + 4532 >> 1], ($1 | 0) < 51 ? $1 : 51); - HEAP32[$0 + 8 >> 2] = Math_imul($1 >> 16, 6554) + $5 + (Math_imul($1 & 65535, 6554) >>> 16); - $1 = silk_lin2log(60); - $2 = silk_lin2log(100); - $3 = HEAP32[$0 + 8 >> 2]; - $4 = $0; - label$2 : { - label$3 : { - if ($1 << 8 > $2 << 8) { - if (silk_lin2log(60) << 8 < ($3 | 0)) { - $1 = silk_lin2log(60) << 8; - break label$2; - } - if (HEAP32[$0 + 8 >> 2] >= silk_lin2log(100) << 8) { - break label$3; - } - $1 = silk_lin2log(100) << 8; - break label$2; - } - if (silk_lin2log(100) << 8 < ($3 | 0)) { - $1 = silk_lin2log(100) << 8; - break label$2; - } - if (HEAP32[$0 + 8 >> 2] >= silk_lin2log(60) << 8) { - break label$3; - } - $1 = silk_lin2log(60) << 8; - break label$2; - } - $1 = HEAP32[$0 + 8 >> 2]; - } - HEAP32[$4 + 8 >> 2] = $1; - } -} -function silk_A2NLSF_eval_poly($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $4 = $1 << 4; - $3 = HEAP32[($2 << 2) + $0 >> 2]; - if (($2 | 0) != 8) { - if (($2 | 0) >= 1) { - $1 = $1 << 20 >> 16; - $5 = ($4 >> 15) + 1 >> 1; - while (1) { - $4 = $2 - 1 | 0; - $3 = HEAP32[($4 << 2) + $0 >> 2] + ((Math_imul($3 >> 16, $1) + Math_imul($3, $5) | 0) + (Math_imul($3 & 65535, $1) >> 16) | 0) | 0; - $6 = ($2 | 0) > 1; - $2 = $4; - if ($6) { - continue; - } - break; - } - } - return $3; - } - $2 = $1 << 20 >> 16; - $1 = ($4 >> 15) + 1 >> 1; - $3 = HEAP32[$0 + 28 >> 2] + ((Math_imul($2, $3 >> 16) + Math_imul($3, $1) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0) | 0; - $3 = ((HEAP32[$0 + 24 >> 2] + Math_imul($1, $3) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $3 = ((HEAP32[$0 + 20 >> 2] + Math_imul($3, $1) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $3 = ((HEAP32[$0 + 16 >> 2] + Math_imul($3, $1) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $3 = ((HEAP32[$0 + 12 >> 2] + Math_imul($3, $1) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $3 = ((HEAP32[$0 + 8 >> 2] + Math_imul($3, $1) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $3 = ((HEAP32[$0 + 4 >> 2] + Math_imul($3, $1) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - return ((HEAP32[$0 >> 2] + Math_imul($3, $1) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; -} -function resampler_basic_direct_single($0, $1, $2, $3, $4, $5) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $5 = $5 | 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; - $1 = $1 << 2; - $11 = $1 + HEAP32[$0 + 64 >> 2] | 0; - $8 = HEAP32[$11 >> 2]; - $12 = HEAP32[$0 + 60 >> 2] + $1 | 0; - $6 = HEAP32[$12 >> 2]; - $13 = HEAP32[$3 >> 2]; - label$1 : { - if (($6 | 0) >= ($13 | 0)) { - break label$1; - } - $9 = HEAP32[$0 + 12 >> 2]; - $15 = HEAP32[$0 + 40 >> 2]; - $16 = HEAP32[$0 + 36 >> 2]; - $17 = HEAP32[$0 + 92 >> 2]; - $18 = HEAP32[$0 + 76 >> 2]; - $3 = HEAP32[$5 >> 2]; - $14 = ($3 | 0) > 0 ? $3 : 0; - $1 = HEAP32[$0 + 24 >> 2]; - $19 = ($1 | 0) < 1; - while (1) { - if (($7 | 0) == ($14 | 0)) { - $7 = $14; - break label$1; - } - $10 = Math_fround(0); - if (!$19) { - $5 = ($6 << 2) + $2 | 0; - $20 = (Math_imul($1, $8) << 2) + $18 | 0; - $0 = 0; - while (1) { - $3 = $0 << 2; - $10 = Math_fround($10 + Math_fround(HEAPF32[$20 + $3 >> 2] * HEAPF32[$3 + $5 >> 2])); - $0 = $0 + 1 | 0; - if (($1 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - HEAPF32[(Math_imul($7, $17) << 2) + $4 >> 2] = $10; - $0 = $8 + $15 | 0; - $8 = $0 - ($0 >>> 0 < $9 >>> 0 ? 0 : $9) | 0; - $7 = $7 + 1 | 0; - $6 = ($6 + $16 | 0) + ($0 >>> 0 >= $9 >>> 0) | 0; - if (($13 | 0) > ($6 | 0)) { - continue; - } - break; - } - } - HEAP32[$12 >> 2] = $6; - HEAP32[$11 >> 2] = $8; - return $7 | 0; -} -function silk_schur_FLP($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $6 = __stack_pointer - 400 | 0; - __stack_pointer = $6; - if ($2 >>> 0 <= 24) { - while (1) { - $4 = ($3 << 4) + $6 | 0; - $5 = +HEAPF32[($3 << 2) + $1 >> 2]; - HEAPF64[$4 >> 3] = $5; - HEAPF64[$4 + 8 >> 3] = $5; - $4 = ($2 | 0) != ($3 | 0); - $3 = $3 + 1 | 0; - if ($4) { - continue; - } - break; - } - if ($2) { - $1 = 0; - $9 = $2; - while (1) { - $3 = $1; - $1 = $3 + 1 | 0; - $4 = ($1 << 4) + $6 | 0; - $7 = HEAPF64[$6 + 8 >> 3]; - $5 = -HEAPF64[$4 >> 3] / ($7 > 9.999999717180685e-10 ? $7 : 9.999999717180685e-10); - HEAPF32[($3 << 2) + $0 >> 2] = $5; - label$5 : { - if (($2 | 0) <= ($3 | 0)) { - break label$5; - } - $8 = HEAPF64[$4 >> 3]; - HEAPF64[$4 >> 3] = $8 + $5 * $7; - HEAPF64[$6 + 8 >> 3] = $7 + $5 * $8; - $3 = 1; - if (($9 | 0) == 1) { - break label$5; - } - while (1) { - $4 = ($1 + $3 << 4) + $6 | 0; - $10 = $4; - $7 = HEAPF64[$4 >> 3]; - $4 = ($3 << 4) + $6 | 0; - $8 = HEAPF64[$4 + 8 >> 3]; - HEAPF64[$10 >> 3] = $7 + $5 * $8; - HEAPF64[$4 + 8 >> 3] = $8 + $5 * $7; - $3 = $3 + 1 | 0; - if (($9 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $9 = $9 - 1 | 0; - if (($1 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $6 + 400 | 0; - $5 = HEAPF64[$6 + 8 >> 3]; - return Math_fround($5); - } - celt_fatal(9497, 9557, 44); - abort(); -} -function gain_fade($0, $1, $2, $3, $4, $5, $6, $7, $8) { - var $9 = Math_fround(0), $10 = 0, $11 = 0; - $10 = 48e3 / ($8 | 0) | 0; - $11 = ($4 | 0) / ($10 | 0) | 0; - label$1 : { - if (($6 | 0) != 1) { - $4 = 0; - if (($11 | 0) <= 0) { - break label$1; - } - while (1) { - $8 = $4 << 3; - $9 = HEAPF32[(Math_imul($4, $10) << 2) + $7 >> 2]; - $9 = Math_fround($9 * $9); - $9 = Math_fround(Math_fround($9 * $3) + Math_fround(Math_fround(Math_fround(1) - $9) * $2)); - HEAPF32[$8 + $1 >> 2] = HEAPF32[$0 + $8 >> 2] * $9; - $8 = $8 | 4; - HEAPF32[$8 + $1 >> 2] = HEAPF32[$0 + $8 >> 2] * $9; - $4 = $4 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$1; - } - if (($11 | 0) < 1) { - break label$1; - } - $4 = 0; - while (1) { - $8 = $4 << 2; - $9 = HEAPF32[(Math_imul($4, $10) << 2) + $7 >> 2]; - $9 = Math_fround($9 * $9); - HEAPF32[$8 + $1 >> 2] = HEAPF32[$0 + $8 >> 2] * Math_fround(Math_fround($9 * $3) + Math_fround(Math_fround(Math_fround(1) - $9) * $2)); - $4 = $4 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $10 = ($6 | 0) > 1 ? $6 : 1; - $7 = 0; - while (1) { - $4 = $11; - if (($5 | 0) > ($4 | 0)) { - while (1) { - $8 = Math_imul($4, $6) + $7 << 2; - HEAPF32[$8 + $1 >> 2] = HEAPF32[$0 + $8 >> 2] * $3; - $4 = $4 + 1 | 0; - if (($5 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $7 = $7 + 1 | 0; - if (($10 | 0) != ($7 | 0)) { - continue; - } - break; - } -} -function _celt_lpc($0, $1, $2) { - var $3 = Math_fround(0), $4 = 0, $5 = Math_fround(0), $6 = 0, $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0; - $5 = HEAPF32[$1 >> 2]; - $0 = memset($0, 0, $2 << 2); - label$1 : { - if (HEAPF32[$1 >> 2] == Math_fround(0)) { - break label$1; - } - $11 = ($2 | 0) > 0 ? $2 : 0; - $7 = 1; - while (1) { - if (($4 | 0) == ($11 | 0)) { - break label$1; - } - $2 = 0; - $3 = Math_fround(0); - if ($4) { - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($2 << 2) + $0 >> 2] * HEAPF32[($4 - $2 << 2) + $1 >> 2])); - $2 = $2 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $8 = $4 + 1 | 0; - $3 = Math_fround(Math_fround(-Math_fround($3 + HEAPF32[($8 << 2) + $1 >> 2])) / $5); - HEAPF32[($4 << 2) + $0 >> 2] = $3; - if ($4) { - $12 = $7 >>> 1 | 0; - $2 = 0; - while (1) { - $6 = ($2 << 2) + $0 | 0; - $13 = $6; - $9 = HEAPF32[$6 >> 2]; - $6 = (($2 ^ -1) + $4 << 2) + $0 | 0; - $10 = HEAPF32[$6 >> 2]; - HEAPF32[$13 >> 2] = $9 + Math_fround($3 * $10); - HEAPF32[$6 >> 2] = $10 + Math_fround($3 * $9); - $2 = $2 + 1 | 0; - if (($12 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $7 = $7 + 1 | 0; - $4 = $8; - $5 = Math_fround($5 - Math_fround($5 * Math_fround($3 * $3))); - if ($5 < Math_fround(HEAPF32[$1 >> 2] * Math_fround(.0010000000474974513)) ^ 1) { - continue; - } - break; - } - } -} -function silk_resampler($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - label$1 : { - $4 = HEAP32[$0 + 284 >> 2]; - if (($4 | 0) <= ($3 | 0)) { - $6 = HEAP32[$0 + 292 >> 2]; - if (($6 | 0) > ($4 | 0)) { - break label$1; - } - $5 = $0 + 168 | 0; - $4 = $4 - $6 << 1; - memcpy($5 + ($6 << 1) | 0, $2, $4); - label$3 : { - label$4 : { - switch (HEAP32[$0 + 264 >> 2] - 1 | 0) { - case 0: - silk_resampler_private_up2_HQ_wrapper($0, $1, $5, HEAP32[$0 + 284 >> 2]); - silk_resampler_private_up2_HQ_wrapper($0, (HEAP32[$0 + 288 >> 2] << 1) + $1 | 0, $2 + $4 | 0, $3 - HEAP32[$0 + 284 >> 2] | 0); - break label$3; - case 1: - silk_resampler_private_IIR_FIR($0, $1, $5, HEAP32[$0 + 284 >> 2]); - silk_resampler_private_IIR_FIR($0, (HEAP32[$0 + 288 >> 2] << 1) + $1 | 0, $2 + $4 | 0, $3 - HEAP32[$0 + 284 >> 2] | 0); - break label$3; - case 2: - silk_resampler_private_down_FIR($0, $1, $5, HEAP32[$0 + 284 >> 2]); - silk_resampler_private_down_FIR($0, (HEAP32[$0 + 288 >> 2] << 1) + $1 | 0, $2 + $4 | 0, $3 - HEAP32[$0 + 284 >> 2] | 0); - break label$3; - default: - break label$4; - } - } - memcpy(memcpy($1, $5, HEAP32[$0 + 284 >> 2] << 1) + (HEAP32[$0 + 288 >> 2] << 1) | 0, $2 + $4 | 0, $3 - HEAP32[$0 + 284 >> 2] << 1); - } - $0 = HEAP32[$0 + 292 >> 2]; - memcpy($5, ($3 - $0 << 1) + $2 | 0, $0 << 1); - return 0; - } - celt_fatal(6521, 6474, 184); - abort(); - } - celt_fatal(6561, 6474, 186); - abort(); -} -function silk_quant_LTP_gains_FLP($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { - var $10 = 0, $11 = 0, $12 = 0, $13 = 0; - $11 = __stack_pointer - 528 | 0; - __stack_pointer = $11; - $13 = Math_imul($8, 25); - if (($13 | 0) > 0) { - while (1) { - $12 = $10 << 2; - HEAP32[$12 + ($11 + 80 | 0) >> 2] = lrintf(Math_fround(HEAPF32[$5 + $12 >> 2] * Math_fround(131072))); - $10 = $10 + 1 | 0; - if (($13 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - label$3 : { - if (($8 | 0) >= 1) { - $10 = Math_imul($8, 5); - $5 = ($10 | 0) > 1 ? $10 : 1; - $10 = 0; - while (1) { - $12 = $10 << 2; - HEAP32[$12 + $11 >> 2] = lrintf(Math_fround(HEAPF32[$6 + $12 >> 2] * Math_fround(131072))); - $10 = $10 + 1 | 0; - if (($10 | 0) != ($5 | 0)) { - continue; - } - break; - } - silk_quant_LTP_gains($11 + 480 | 0, $1, $2, $3, $11 + 524 | 0, $11 + 80 | 0, $11, $7, $8, $9); - if (($8 | 0) < 1) { - break label$3; - } - $10 = Math_imul($8, 5); - $12 = ($10 | 0) > 1 ? $10 : 1; - $10 = 0; - while (1) { - HEAPF32[($10 << 2) + $0 >> 2] = Math_fround(HEAP16[($11 + 480 | 0) + ($10 << 1) >> 1]) * Math_fround(6103515625e-14); - $10 = $10 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - break label$3; - } - silk_quant_LTP_gains($11 + 480 | 0, $1, $2, $3, $11 + 524 | 0, $11 + 80 | 0, $11, $7, $8, $9); - } - HEAPF32[$4 >> 2] = Math_fround(HEAP32[$11 + 524 >> 2]) * Math_fround(.0078125); - __stack_pointer = $11 + 528 | 0; -} -function __vfprintf_internal($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0; - $5 = __stack_pointer - 208 | 0; - __stack_pointer = $5; - HEAP32[$5 + 204 >> 2] = $2; - $2 = 0; - memset($5 + 160 | 0, 0, 40); - HEAP32[$5 + 200 >> 2] = HEAP32[$5 + 204 >> 2]; - label$1 : { - if ((printf_core(0, $1, $5 + 200 | 0, $5 + 80 | 0, $5 + 160 | 0, $3, $4) | 0) < 0) { - $1 = -1; - break label$1; - } - if (HEAP32[$0 + 76 >> 2] >= 0) { - $2 = __lockfile($0); - } - $6 = HEAP32[$0 >> 2]; - if (HEAP8[$0 + 74 | 0] <= 0) { - HEAP32[$0 >> 2] = $6 & -33; - } - $6 = $6 & 32; - label$5 : { - if (HEAP32[$0 + 48 >> 2]) { - $4 = printf_core($0, $1, $5 + 200 | 0, $5 + 80 | 0, $5 + 160 | 0, $3, $4); - break label$5; - } - HEAP32[$0 + 48 >> 2] = 80; - HEAP32[$0 + 16 >> 2] = $5 + 80; - HEAP32[$0 + 28 >> 2] = $5; - HEAP32[$0 + 20 >> 2] = $5; - $7 = HEAP32[$0 + 44 >> 2]; - HEAP32[$0 + 44 >> 2] = $5; - $1 = printf_core($0, $1, $5 + 200 | 0, $5 + 80 | 0, $5 + 160 | 0, $3, $4); - $4 = $1; - if (!$7) { - break label$5; - } - FUNCTION_TABLE[HEAP32[$0 + 36 >> 2]]($0, 0, 0) | 0; - HEAP32[$0 + 48 >> 2] = 0; - HEAP32[$0 + 44 >> 2] = $7; - HEAP32[$0 + 28 >> 2] = 0; - HEAP32[$0 + 16 >> 2] = 0; - $3 = HEAP32[$0 + 20 >> 2]; - HEAP32[$0 + 20 >> 2] = 0; - $4 = $3 ? $1 : -1; - } - $3 = HEAP32[$0 >> 2]; - HEAP32[$0 >> 2] = $6 | $3; - $1 = $4; - $1 = $3 & 32 ? -1 : $1; - if (!$2) { - break label$1; - } - __unlockfile($0); - } - __stack_pointer = $5 + 208 | 0; - return $1; -} -function _celt_autocorr($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = 0, $11 = 0; - $7 = __stack_pointer; - $11 = $7; - $7 = $7 - (($5 << 2) + 15 & -16) | 0; - __stack_pointer = $7; - label$1 : { - if (($5 | 0) > 0) { - if (($3 | 0) <= -1) { - break label$1; - } - if ($3) { - $10 = memcpy($7, $0, $5 << 2); - $7 = 0; - while (1) { - $8 = $7 << 2; - $9 = HEAPF32[$8 + $2 >> 2]; - HEAPF32[$8 + $10 >> 2] = HEAPF32[$0 + $8 >> 2] * $9; - $8 = ($7 ^ -1) + $5 << 2; - HEAPF32[$10 + $8 >> 2] = $9 * HEAPF32[$0 + $8 >> 2]; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($3 | 0)) { - continue; - } - break; - } - $0 = $10; - } - $2 = $5 - $4 | 0; - celt_pitch_xcorr_c($0, $0, $1, $2, $4 + 1 | 0, $6); - $8 = 0; - if (($4 | 0) >= 0) { - while (1) { - $9 = Math_fround(0); - $7 = $8 + $2 | 0; - if (($7 | 0) < ($5 | 0)) { - while (1) { - $9 = Math_fround($9 + Math_fround(HEAPF32[($7 << 2) + $0 >> 2] * HEAPF32[($7 - $8 << 2) + $0 >> 2])); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $7 = ($8 << 2) + $1 | 0; - HEAPF32[$7 >> 2] = $9 + HEAPF32[$7 >> 2]; - $7 = ($4 | 0) != ($8 | 0); - $8 = $8 + 1 | 0; - if ($7) { - continue; - } - break; - } - } - __stack_pointer = $11; - return 0; - } - celt_fatal(9687, 9671, 228); - abort(); - } - celt_fatal(9709, 9671, 229); - abort(); -} -function silk_biquad_alt_stride1($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - if (($5 | 0) >= 1) { - $7 = 0 - HEAP32[$2 + 4 >> 2] | 0; - $11 = $7 & 16383; - $2 = 0 - HEAP32[$2 >> 2] | 0; - $12 = $2 & 16383; - $13 = $7 << 2 >> 16; - $14 = $2 << 2 >> 16; - $6 = HEAP32[$3 + 4 >> 2]; - $8 = HEAP32[$3 >> 2]; - while (1) { - $15 = $10 << 1; - $2 = HEAP16[$15 + $0 >> 1]; - $7 = HEAP32[$1 >> 2]; - $7 = (Math_imul($2, $7 >> 16) + $8 | 0) + (Math_imul($7 & 65535, $2) >> 16) << 2; - $8 = $7 >> 16; - $9 = Math_imul($14, $8) + $6 | 0; - $6 = $7 & 65532; - $16 = ($9 + (Math_imul($14, $6) >> 16) | 0) + ((Math_imul($8, $12) + (Math_imul($6, $12) >>> 16 | 0) >> 13) + 1 >> 1) | 0; - HEAP32[$3 >> 2] = $16; - $9 = HEAP32[$1 + 4 >> 2]; - $6 = (Math_imul($8, $13) + (Math_imul($6, $13) >> 16) | 0) + ((Math_imul($8, $11) + (Math_imul($6, $11) >>> 16 | 0) >> 13) + 1 >> 1) | 0; - HEAP32[$3 + 4 >> 2] = $6; - $8 = (Math_imul($9 >> 16, $2) + (Math_imul($9 & 65535, $2) >> 16) | 0) + $16 | 0; - HEAP32[$3 >> 2] = $8; - $9 = HEAP32[$1 + 8 >> 2]; - $6 = ((Math_imul($9 & 65535, $2) >> 16) + Math_imul($9 >> 16, $2) | 0) + $6 | 0; - HEAP32[$3 + 4 >> 2] = $6; - $2 = $7 + 16383 >> 14; - HEAP16[$4 + $15 >> 1] = ($7 | 0) > 536854528 ? 32767 : ($2 | 0) > -32768 ? $2 : -32768; - $10 = $10 + 1 | 0; - if (($10 | 0) != ($5 | 0)) { - continue; - } - break; - } - } -} -function downmix_float($0, $1, $2, $3, $4, $5, $6) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $5 = $5 | 0; - $6 = $6 | 0; - var $7 = 0, $8 = 0; - label$1 : { - label$2 : { - if (($2 | 0) >= 1) { - while (1) { - HEAPF32[($7 << 2) + $1 >> 2] = HEAPF32[(Math_imul($3 + $7 | 0, $6) + $4 << 2) + $0 >> 2] * Math_fround(32768); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - if (($5 | 0) <= -1) { - break label$2; - } - if (($2 | 0) < 1) { - break label$1; - } - $7 = 0; - while (1) { - $4 = ($7 << 2) + $1 | 0; - HEAPF32[$4 >> 2] = HEAPF32[$4 >> 2] + Math_fround(HEAPF32[(Math_imul($3 + $7 | 0, $6) + $5 << 2) + $0 >> 2] * Math_fround(32768)); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$1; - } - if (($5 | 0) > -1) { - break label$1; - } - } - if (($5 | 0) != -2 | ($6 | 0) < 2) { - break label$1; - } - $5 = 1; - $8 = ($2 | 0) < 1; - while (1) { - $7 = 0; - if (!$8) { - while (1) { - $4 = ($7 << 2) + $1 | 0; - HEAPF32[$4 >> 2] = HEAPF32[$4 >> 2] + Math_fround(HEAPF32[(Math_imul($3 + $7 | 0, $6) + $5 << 2) + $0 >> 2] * Math_fround(32768)); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $5 = $5 + 1 | 0; - if (($6 | 0) != ($5 | 0)) { - continue; - } - break; - } - } -} -function alg_quant($0, $1, $2, $3, $4, $5, $6, $7, $8) { - var $9 = 0, $10 = 0, $11 = Math_fround(0); - $8 = __stack_pointer; - $10 = $8; - label$1 : { - if (($2 | 0) > 0) { - if (($1 | 0) <= 1) { - break label$1; - } - $8 = $8 - (($1 << 2) + 27 & -16) | 0; - __stack_pointer = $8; - exp_rotation($0, $1, 1, $4, $2, $3); - $11 = op_pvq_search_c($0, $8, $2, $1, $5); - encode_pulses($8, $1, $2, $5); - if ($7) { - $6 = Math_fround(Math_fround(Math_fround(1) / Math_fround(Math_sqrt($11))) * $6); - $5 = 0; - while (1) { - $7 = $5 << 2; - HEAPF32[$7 + $0 >> 2] = $6 * Math_fround(HEAP32[$7 + $8 >> 2]); - $5 = $5 + 1 | 0; - if (($5 | 0) != ($1 | 0)) { - continue; - } - break; - } - exp_rotation($0, $1, -1, $4, $2, $3); - } - $3 = 1; - if (($4 | 0) >= 2) { - $9 = ($1 >>> 0) / ($4 >>> 0) | 0; - $0 = ($9 | 0) > 1 ? $9 : 1; - $3 = 0; - $2 = 0; - while (1) { - $1 = Math_imul($2, $9); - $5 = 0; - $7 = 0; - while (1) { - $7 = HEAP32[($1 + $5 << 2) + $8 >> 2] | $7; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($0 | 0)) { - continue; - } - break; - } - $3 = (($7 | 0) != 0) << $2 | $3; - $2 = $2 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $10; - return $3; - } - celt_fatal(41540, 41599, 338); - abort(); - } - celt_fatal(41609, 41599, 339); - abort(); -} -function silk_NLSF_VQ_weights_laroia($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - label$1 : { - if (($2 | 0) > 0) { - $3 = 1; - if ($2 & 1) { - break label$1; - } - $5 = HEAP16[$1 >> 1]; - $4 = HEAP16[$1 + 2 >> 1] - $5 | 0; - $4 = 131072 / ((($4 | 0) > 1 ? $4 : 1) >>> 0) | 0; - $5 = $4 + (131072 / ((($5 | 0) > 1 ? $5 : 1) >>> 0) | 0) | 0; - HEAP16[$0 >> 1] = $5 >>> 0 < 32767 ? $5 : 32767; - $6 = $2 - 1 | 0; - if (($2 | 0) >= 3) { - while (1) { - $2 = $3 << 1; - $8 = $2 + $0 | 0; - $5 = $2 + 2 | 0; - $7 = $5 + $1 | 0; - $2 = HEAP16[$7 >> 1] - HEAP16[$1 + $2 >> 1] | 0; - $2 = 131072 / ((($2 | 0) > 1 ? $2 : 1) >>> 0) | 0; - $4 = $4 + $2 | 0; - HEAP16[$8 >> 1] = $4 >>> 0 < 32767 ? $4 : 32767; - $3 = $3 + 2 | 0; - $4 = HEAP16[($3 << 1) + $1 >> 1] - HEAP16[$7 >> 1] | 0; - $4 = 131072 / ((($4 | 0) > 1 ? $4 : 1) >>> 0) | 0; - $2 = $4 + $2 | 0; - HEAP16[$0 + $5 >> 1] = $2 >>> 0 < 32767 ? $2 : 32767; - if (($3 | 0) < ($6 | 0)) { - continue; - } - break; - } - } - $3 = $6 << 1; - $0 = $3 + $0 | 0; - $3 = 32768 - HEAP16[$1 + $3 >> 1] | 0; - $3 = (131072 / ((($3 | 0) > 1 ? $3 : 1) >>> 0) | 0) + $4 | 0; - HEAP16[$0 >> 1] = $3 >>> 0 < 32767 ? $3 : 32767; - return; - } - celt_fatal(15465, 15489, 51); - abort(); - } - celt_fatal(15519, 15489, 52); - abort(); -} -function silk_NLSF_decode($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $6 = __stack_pointer - 80 | 0; - __stack_pointer = $6; - silk_NLSF_unpack($6 + 32 | 0, $6 - -64 | 0, $2, HEAP8[$1 | 0]); - $4 = HEAPU16[$2 + 2 >> 1]; - $7 = $4 << 16 >> 16; - $9 = ($7 | 0) < 1; - if (!$9) { - $8 = HEAP16[$2 + 4 >> 1]; - while (1) { - $5 = HEAP8[$1 + $4 | 0]; - $3 = $5 << 10; - $5 = ($5 | 0) > 0 ? $3 - 102 | 0 : ($3 | 102) & $5 >> 31; - $3 = $4 - 1 | 0; - $10 = (Math_imul($5 >> 16, $8) + (Math_imul(HEAPU8[$3 + ($6 - -64 | 0) | 0], $10 << 16 >> 16) >> 8) | 0) + (Math_imul($5 & 65534, $8) >> 16) | 0; - HEAP16[($3 << 1) + $6 >> 1] = $10; - $5 = ($4 | 0) > 1; - $4 = $3; - if ($5) { - continue; - } - break; - } - } - if (!$9) { - $4 = Math_imul(HEAP8[$1 | 0], $7); - $5 = $4 + HEAP32[$2 + 8 >> 2] | 0; - $8 = HEAP32[$2 + 12 >> 2] + ($4 << 1) | 0; - $4 = 0; - while (1) { - $3 = $4 << 1; - $1 = $3 + $0 | 0; - $3 = ((HEAP16[$3 + $6 >> 1] << 14) / HEAP16[$3 + $8 >> 1] | 0) + (HEAPU8[$4 + $5 | 0] << 7) | 0; - $3 = ($3 | 0) > 0 ? $3 : 0; - HEAP16[$1 >> 1] = ($3 | 0) < 32767 ? $3 : 32767; - $4 = $4 + 1 | 0; - $7 = HEAP16[$2 + 2 >> 1]; - if (($4 | 0) < ($7 | 0)) { - continue; - } - break; - } - } - silk_NLSF_stabilize($0, HEAP32[$2 + 36 >> 2], $7); - __stack_pointer = $6 + 80 | 0; -} -function ec_enc_uint($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - label$1 : { - if ($2 >>> 0 > 1) { - $3 = $2 - 1 | 0; - if ($3 >>> 0 >= 256) { - $4 = 24 - Math_clz32($3) | 0; - $2 = $1 >>> $4 | 0; - ec_encode($0, $2, $2 + 1 | 0, ($3 >>> $4 | 0) + 1 | 0); - if (!$4) { - break label$1; - } - $7 = (-1 << $4 ^ -1) & $1; - $1 = HEAP32[$0 + 12 >> 2]; - $2 = HEAP32[$0 + 16 >> 2]; - $3 = $4 + $2 | 0; - label$4 : { - if ($3 >>> 0 < 33) { - $5 = $2; - break label$4; - } - while (1) { - $3 = -1; - $6 = HEAP32[$0 + 4 >> 2]; - $5 = HEAP32[$0 + 8 >> 2]; - if ($6 >>> 0 > $5 + HEAP32[$0 + 24 >> 2] >>> 0) { - $3 = $5 + 1 | 0; - HEAP32[$0 + 8 >> 2] = $3; - HEAP8[HEAP32[$0 >> 2] + ($6 - $3 | 0) | 0] = $1; - $3 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - $1 = $1 >>> 8 | 0; - $3 = ($2 | 0) > 15; - $5 = $2 - 8 | 0; - $2 = $5; - if ($3) { - continue; - } - break; - } - $3 = $4 + $5 | 0; - } - HEAP32[$0 + 16 >> 2] = $3; - HEAP32[$0 + 12 >> 2] = $7 << $5 | $1; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + $4; - return; - } - ec_encode($0, $1, $1 + 1 | 0, $2); - return; - } - celt_fatal(6995, 7019, 180); - abort(); - } - celt_fatal(7033, 7019, 198); - abort(); -} -function opus_encoder_create($0, $1, $2, $3) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - var $4 = 0, $5 = 0; - $5 = __stack_pointer - 16 | 0; - __stack_pointer = $5; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - if (($0 | 0) <= 15999) { - if (($0 | 0) == 8e3 | ($0 | 0) == 12e3) { - break label$4; - } - break label$3; - } - if (($0 | 0) == 16e3 | ($0 | 0) == 48e3) { - break label$4; - } - if (($0 | 0) != 24e3) { - break label$3; - } - } - if ($1 - 1 >>> 0 > 1) { - break label$3; - } - $4 = $2 - 2048 | 0; - if ($4 >>> 0 > 3) { - break label$3; - } - if (($4 | 0) != 2) { - break label$2; - } - } - $4 = 0; - if (!$3) { - break label$1; - } - HEAP32[$3 >> 2] = -1; - break label$1; - } - $4 = 0; - if (!silk_Get_Encoder_Size($5 + 12 | 0)) { - HEAP32[$5 + 12 >> 2] = HEAP32[$5 + 12 >> 2] + 3 & -4; - $4 = (celt_encoder_get_size($1) + HEAP32[$5 + 12 >> 2] | 0) + 18140 | 0; - } - $4 = dlmalloc($4); - if (!$4) { - $4 = 0; - if (!$3) { - break label$1; - } - HEAP32[$3 >> 2] = -7; - break label$1; - } - $0 = opus_encoder_init($4, $0, $1, $2); - if ($3) { - HEAP32[$3 >> 2] = $0; - } - if (!$0) { - break label$1; - } - dlfree($4); - $4 = 0; - } - __stack_pointer = $5 + 16 | 0; - return $4 | 0; -} -function deinterleave_hadamard($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $5 = __stack_pointer; - $9 = $5; - $8 = Math_imul($1, $2); - $5 = $5 - (($8 << 2) + 15 & -16) | 0; - __stack_pointer = $5; - if (($2 | 0) > 0) { - label$2 : { - if (!$3) { - $6 = ($1 | 0) < 1; - while (1) { - if (!$6) { - $7 = Math_imul($1, $4); - $3 = 0; - while (1) { - HEAP32[($3 + $7 << 2) + $5 >> 2] = HEAP32[(Math_imul($2, $3) + $4 << 2) + $0 >> 2]; - $3 = $3 + 1 | 0; - if (($3 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$2; - } - $10 = ($2 << 2) + 41976 | 0; - $6 = ($1 | 0) < 1; - while (1) { - if (!$6) { - $7 = Math_imul(HEAP32[($4 << 2) + $10 >> 2], $1); - $3 = 0; - while (1) { - HEAP32[($3 + $7 << 2) + $5 >> 2] = HEAP32[(Math_imul($2, $3) + $4 << 2) + $0 >> 2]; - $3 = $3 + 1 | 0; - if (($3 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - memcpy($0, $5, $8 << 2); - __stack_pointer = $9; - return; - } - celt_fatal(41952, 41800, 591); - abort(); -} -function ec_laplace_encode($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - label$1 : { - label$2 : { - $7 = HEAP32[$1 >> 2]; - if ($7) { - $5 = 1; - $4 = Math_imul(16384 - $3 | 0, 32736 - $2 | 0) >>> 15 | 0; - $6 = $7 >> 31; - $8 = $6 ^ $6 + $7; - label$5 : { - if (!$4 | ($8 | 0) < 2) { - break label$5; - } - while (1) { - $9 = $4 << 1; - $4 = Math_imul($9, $3) >>> 15 | 0; - $2 = ($2 + $9 | 0) + 2 | 0; - $5 = $5 + 1 | 0; - if (($8 | 0) <= ($5 | 0)) { - break label$5; - } - if ($4) { - continue; - } - break; - } - } - label$7 : { - if (!$4) { - $3 = $5 + $6 | 0; - $4 = $8 - $5 | 0; - $5 = (($7 >>> 31 | 32768) - $2 >> 1) - 1 | 0; - $4 = ($4 | 0) < ($5 | 0) ? $4 : $5; - HEAP32[$1 >> 2] = $3 + $4 ^ $6; - $4 = ($2 + $6 | 0) + ($4 << 1 | 1) | 0; - $2 = ($4 | 0) != 32768; - break label$7; - } - $5 = $4 + 1 | 0; - $4 = ($5 & ($6 ^ -1)) + $2 | 0; - $2 = $5; - } - if ($2 + $4 >>> 0 >= 32769) { - break label$2; - } - if (!$2) { - break label$1; - } - } - ec_encode_bin($0, $4, $2 + $4 | 0, 15); - return; - } - celt_fatal(32848, 32879, 88); - abort(); - } - celt_fatal(32894, 32879, 89); - abort(); -} -function alg_unquant($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $7 = __stack_pointer; - $10 = $7; - label$1 : { - if (($2 | 0) > 0) { - if (($1 | 0) <= 1) { - break label$1; - } - $8 = $7 - (($1 << 2) + 15 & -16) | 0; - __stack_pointer = $8; - $6 = Math_fround(Math_fround(Math_fround(1) / Math_fround(Math_sqrt(decode_pulses($8, $1, $2, $5)))) * $6); - $5 = 0; - while (1) { - $7 = $5 << 2; - HEAPF32[$7 + $0 >> 2] = $6 * Math_fround(HEAP32[$7 + $8 >> 2]); - $5 = $5 + 1 | 0; - if (($5 | 0) != ($1 | 0)) { - continue; - } - break; - } - exp_rotation($0, $1, -1, $4, $2, $3); - $3 = 1; - if (($4 | 0) >= 2) { - $9 = ($1 >>> 0) / ($4 >>> 0) | 0; - $0 = ($9 | 0) > 1 ? $9 : 1; - $3 = 0; - $2 = 0; - while (1) { - $1 = Math_imul($2, $9); - $5 = 0; - $7 = 0; - while (1) { - $7 = HEAP32[($1 + $5 << 2) + $8 >> 2] | $7; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($0 | 0)) { - continue; - } - break; - } - $3 = (($7 | 0) != 0) << $2 | $3; - $2 = $2 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $10; - return $3; - } - celt_fatal(41673, 41599, 371); - abort(); - } - celt_fatal(41734, 41599, 372); - abort(); -} -function interleave_hadamard($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $5 = __stack_pointer; - $9 = $5; - $8 = Math_imul($1, $2); - $5 = $5 - (($8 << 2) + 15 & -16) | 0; - __stack_pointer = $5; - label$1 : { - if (!$3) { - if (($2 | 0) < 1) { - break label$1; - } - $6 = ($1 | 0) < 1; - while (1) { - if (!$6) { - $7 = Math_imul($1, $4); - $3 = 0; - while (1) { - HEAP32[(Math_imul($2, $3) + $4 << 2) + $5 >> 2] = HEAP32[($3 + $7 << 2) + $0 >> 2]; - $3 = $3 + 1 | 0; - if (($3 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$1; - } - if (($2 | 0) < 1) { - break label$1; - } - $10 = ($2 << 2) + 41976 | 0; - $6 = ($1 | 0) < 1; - while (1) { - if (!$6) { - $7 = Math_imul(HEAP32[($4 << 2) + $10 >> 2], $1); - $3 = 0; - while (1) { - HEAP32[(Math_imul($2, $3) + $4 << 2) + $5 >> 2] = HEAP32[($3 + $7 << 2) + $0 >> 2]; - $3 = $3 + 1 | 0; - if (($3 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - memcpy($0, $5, $8 << 2); - __stack_pointer = $9; -} -function encode_pulses($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - label$1 : { - if (($2 | 0) > 0) { - if (($1 | 0) <= 1) { - break label$1; - } - $8 = $1 - 1 | 0; - $4 = HEAP32[($8 << 2) + $0 >> 2]; - $5 = $4 >> 31; - $5 = $5 ^ $4 + $5; - $7 = $4 >>> 31 | 0; - while (1) { - $9 = $8 - 1 | 0; - $4 = $1 - $9 | 0; - $7 = HEAP32[HEAP32[((($4 | 0) < ($5 | 0) ? $4 : $5) << 2) + 36320 >> 2] + ((($4 | 0) > ($5 | 0) ? $4 : $5) << 2) >> 2] + $7 | 0; - $6 = HEAP32[($9 << 2) + $0 >> 2]; - $10 = $6 >> 31; - $5 = ($10 ^ $6 + $10) + $5 | 0; - if (($6 | 0) <= -1) { - $6 = $5 + 1 | 0; - $7 = HEAP32[HEAP32[((($4 | 0) > ($5 | 0) ? $6 : $4) << 2) + 36320 >> 2] + ((($4 | 0) > ($6 | 0) ? $4 : $6) << 2) >> 2] + $7 | 0; - } - $4 = ($8 | 0) > 1; - $8 = $9; - if ($4) { - continue; - } - break; - } - $5 = $2 + 1 | 0; - $4 = ($1 | 0) > ($2 | 0); - ec_enc_uint($3, $7, HEAP32[HEAP32[(($4 ? $5 : $1) << 2) + 36320 >> 2] + ((($1 | 0) > ($5 | 0) ? $1 : $5) << 2) >> 2] + HEAP32[HEAP32[((($1 | 0) < ($2 | 0) ? $1 : $2) << 2) + 36320 >> 2] + (($4 ? $1 : $2) << 2) >> 2] | 0); - return; - } - celt_fatal(36272, 36295, 459); - abort(); - } - celt_fatal(36380, 36295, 444); - abort(); -} -function silk_apply_sine_window_FLP($0, $1, $2, $3) { - var $4 = Math_fround(0), $5 = Math_fround(0), $6 = 0, $7 = Math_fround(0), $8 = 0; - label$1 : { - if ($2 - 1 >>> 0 < 2) { - if ($3 & 3) { - break label$1; - } - if (($3 | 0) >= 1) { - $4 = Math_fround(Math_fround(3.1415927410125732) / Math_fround($3 + 1 | 0)); - $7 = Math_fround(Math_fround(2) - Math_fround($4 * $4)); - $2 = ($2 | 0) < 2; - $4 = $2 ? $4 : Math_fround($7 * Math_fround(.5)); - $5 = $2 ? Math_fround(0) : Math_fround(1); - while (1) { - $2 = $8 << 2; - HEAPF32[$2 + $0 >> 2] = Math_fround($5 + $4) * Math_fround(HEAPF32[$1 + $2 >> 2] * Math_fround(.5)); - $6 = $2 | 4; - HEAPF32[$6 + $0 >> 2] = $4 * HEAPF32[$1 + $6 >> 2]; - $6 = $2 | 8; - $5 = Math_fround(Math_fround($7 * $4) - $5); - HEAPF32[$6 + $0 >> 2] = Math_fround($4 + $5) * Math_fround(HEAPF32[$1 + $6 >> 2] * Math_fround(.5)); - $2 = $2 | 12; - HEAPF32[$2 + $0 >> 2] = $5 * HEAPF32[$1 + $2 >> 2]; - $4 = Math_fround(Math_fround($7 * $5) - $4); - $8 = $8 + 4 | 0; - if (($8 | 0) < ($3 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(9375, 9424, 48); - abort(); - } - celt_fatal(9459, 9424, 51); - abort(); -} -function silk_sum_sqr_shift($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $9 = $3 - 1 | 0; - $10 = Math_clz32($3); - $7 = 31 - $10 | 0; - label$1 : { - if (($3 | 0) < 2) { - $5 = $3; - break label$1; - } - $5 = $3; - while (1) { - $6 = $4 << 1; - $8 = HEAP16[($6 | 2) + $2 >> 1]; - $6 = HEAP16[$2 + $6 >> 1]; - $5 = (Math_imul($8, $8) + Math_imul($6, $6) >>> $7 | 0) + $5 | 0; - $4 = $4 + 2 | 0; - if (($9 | 0) > ($4 | 0)) { - continue; - } - break; - } - $4 = $3 & -2; - } - $6 = 0; - if (($3 | 0) > ($4 | 0)) { - $4 = HEAP16[($4 << 1) + $2 >> 1]; - $5 = (Math_imul($4, $4) >>> $7 | 0) + $5 | 0; - } - $4 = 34 - (Math_clz32($5) + $10 | 0) | 0; - $7 = ($4 | 0) > 0 ? $4 : 0; - if (($3 | 0) < 2) { - $4 = 0; - } else { - $4 = 0; - while (1) { - $5 = $4 << 1; - $8 = HEAP16[($5 | 2) + $2 >> 1]; - $5 = HEAP16[$2 + $5 >> 1]; - $6 = (Math_imul($8, $8) + Math_imul($5, $5) >>> $7 | 0) + $6 | 0; - $4 = $4 + 2 | 0; - if (($9 | 0) > ($4 | 0)) { - continue; - } - break; - } - $4 = $3 & -2; - } - if (($4 | 0) < ($3 | 0)) { - $2 = HEAP16[($4 << 1) + $2 >> 1]; - $6 = (Math_imul($2, $2) >>> $7 | 0) + $6 | 0; - } - HEAP32[$1 >> 2] = $7; - HEAP32[$0 >> 2] = $6; -} -function sinc($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = Math_fround(0), $9 = 0, $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - $4 = +$1; - $6 = Math_abs($4); - if ($6 < 1e-6) { - return $0; - } - $7 = +($2 | 0); - if (!($7 * .5 < $6)) { - $1 = Math_fround($0 * $1); - $2 = HEAP32[$3 >> 2]; - $8 = Math_fround(Math_fround(Math_abs(Math_fround(($4 + $4) / $7))) * Math_fround(HEAP32[$3 + 4 >> 2])); - $10 = Math_fround(Math_floor($8)); - label$3 : { - if (Math_fround(Math_abs($10)) < Math_fround(2147483648)) { - $3 = ~~$10; - break label$3; - } - $3 = -2147483648; - } - $2 = $2 + ($3 << 3) | 0; - $6 = HEAPF64[$2 + 8 >> 3]; - $7 = HEAPF64[$2 >> 3]; - $13 = HEAPF64[$2 + 16 >> 3]; - $9 = HEAPF64[$2 + 24 >> 3]; - $4 = +$1 * 3.141592653589793; - $14 = sin($4) * +$0 / $4; - $1 = Math_fround($8 - Math_fround($3 | 0)); - $0 = Math_fround($1 * $1); - $5 = +Math_fround($1 * $0); - $11 = $5 * .1666666667; - $4 = +$1; - $12 = $11 - $4 * .1666666667; - $15 = $9 * $12; - $9 = +$0 * .5; - $5 = $9 + $4 - $5 * .5; - $4 = $9 + $4 * -.3333333333 - $11; - $8 = Math_fround($14 * ($15 + ($13 * $5 + ($7 * $4 + $6 * (1 - $12 - $5 - $4))))); - } - return $8; -} -function compute_band_energies($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = 0, $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - $14 = ($4 | 0) > 1 ? $4 : 1; - $15 = HEAP32[$0 + 44 >> 2] << $5; - $10 = HEAP32[$0 + 32 >> 2]; - while (1) { - if (($3 | 0) >= 1) { - $16 = Math_imul($7, $15); - $17 = Math_imul(HEAP32[$0 + 8 >> 2], $7); - $8 = HEAPU16[$10 >> 1]; - $6 = 0; - while (1) { - $4 = $8 << 16; - $9 = Math_fround(0); - $11 = $6 + 1 | 0; - $8 = HEAP16[($11 << 1) + $10 >> 1]; - $4 = $4 >> 16; - $12 = $8 - $4 << $5; - if (($12 | 0) >= 1) { - $18 = (($4 << $5) + $16 << 2) + $1 | 0; - $4 = 0; - while (1) { - $13 = HEAPF32[($4 << 2) + $18 >> 2]; - $9 = Math_fround($9 + Math_fround($13 * $13)); - $4 = $4 + 1 | 0; - if (($12 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - HEAPF32[($6 + $17 << 2) + $2 >> 2] = Math_sqrt(Math_fround($9 + Math_fround(1.0000000272452012e-27))); - $6 = $11; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $7 = $7 + 1 | 0; - if (($14 | 0) != ($7 | 0)) { - continue; - } - break; - } -} -function opus_encode_float($0, $1, $2, $3, $4) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $9 = -1; - $5 = HEAP32[$0 + 144 >> 2]; - $7 = ($5 | 0) / 400 | 0; - label$1 : { - if (($7 | 0) > ($2 | 0)) { - break label$1; - } - $6 = $2; - $8 = HEAP32[$0 + 156 >> 2]; - if (($8 | 0) != 5e3) { - $6 = $8 - 5001 | 0; - if ($6 >>> 0 > 8) { - break label$1; - } - $6 = ($8 | 0) <= 5005 ? $7 << $6 : (Math_imul($8 - 5003 | 0, $5) | 0) / 50 | 0; - if (($6 | 0) > ($2 | 0)) { - break label$1; - } - } - label$5 : { - if ((Math_imul($6, 100) | 0) == ($5 | 0) | (Math_imul($6, 400) | 0) == ($5 | 0) | (Math_imul($6, 200) | 0) == ($5 | 0)) { - break label$5; - } - $7 = Math_imul($6, 50); - if (($7 | 0) == (Math_imul($5, 6) | 0) | (Math_imul($5, 5) | 0) == ($7 | 0) | ($5 << 2 == ($7 | 0) | (Math_imul($5, 3) | 0) == ($7 | 0))) { - break label$5; - } - if (($5 | 0) == ($7 | 0)) { - break label$5; - } - if ((Math_imul($6, 25) | 0) != ($5 | 0)) { - break label$1; - } - } - $9 = $6; - } - return opus_encode_native($0, $1, $9, $3, $4, 24, $1, $2, 0, -2, HEAP32[$0 + 112 >> 2], 4, 1) | 0; -} -function silk_InitEncoder($0, $1, $2) { - var $3 = 0; - label$1 : { - $0 = memset($0, 0, 20216); - if (silk_init_encoder($0, $1)) { - break label$1; - } - if (silk_init_encoder($0 + 10064 | 0, $1)) { - break label$1; - } - HEAP32[$0 + 20192 >> 2] = 1; - HEAP32[$0 + 20196 >> 2] = 1; - HEAP32[$2 >> 2] = 1; - HEAP32[$2 + 4 >> 2] = 1; - HEAP32[$2 + 8 >> 2] = HEAP32[$0 + 4556 >> 2]; - HEAP32[$2 + 12 >> 2] = HEAP32[$0 + 4564 >> 2]; - HEAP32[$2 + 16 >> 2] = HEAP32[$0 + 4568 >> 2]; - HEAP32[$2 + 20 >> 2] = HEAP32[$0 + 4572 >> 2]; - HEAP32[$2 + 24 >> 2] = HEAP32[$0 + 4612 >> 2]; - HEAP32[$2 + 28 >> 2] = HEAP32[$0 + 4608 >> 2]; - HEAP32[$2 + 32 >> 2] = HEAP32[$0 + 4616 >> 2]; - HEAP32[$2 + 36 >> 2] = HEAP32[$0 + 4624 >> 2]; - HEAP32[$2 + 40 >> 2] = HEAP32[$0 + 6088 >> 2]; - HEAP32[$2 + 48 >> 2] = HEAP32[$0 + 6076 >> 2]; - HEAP32[$2 + 52 >> 2] = HEAP32[$0 + 4676 >> 2]; - $3 = HEAP32[$0 + 4576 >> 2]; - HEAP32[$2 + 72 >> 2] = Math_imul($3 << 16 >> 16, 1e3); - HEAP32[$2 + 76 >> 2] = HEAP32[$0 + 4536 >> 2]; - $1 = 0; - $1 = ($3 | 0) == 16 ? !HEAP32[$0 + 28 >> 2] : $1; - HEAP32[$2 + 80 >> 2] = $1; - return 0; - } - celt_fatal(17487, 17507, 85); - abort(); -} -function silk_NLSF_VQ($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0; - if (!($5 & 1)) { - if (($4 | 0) >= 1) { - $12 = ($5 | 0) < 2; - while (1) { - $10 = $5; - $6 = 0; - $7 = 0; - if (!$12) { - while (1) { - $8 = $10 - 1 | 0; - $9 = $8 << 1; - $8 = Math_imul(HEAPU16[$9 + $1 >> 1] - (HEAPU8[$2 + $8 | 0] << 7) << 16 >> 16, HEAP16[$3 + $9 >> 1]); - $6 = $8 - ($6 >> 1) | 0; - $9 = $6; - $6 = $6 >> 31; - $13 = ($6 ^ $6 + $9) + $7 | 0; - $6 = $10 - 2 | 0; - $7 = $6 << 1; - $9 = Math_imul(HEAPU16[$7 + $1 >> 1] - (HEAPU8[$2 + $6 | 0] << 7) << 16 >> 16, HEAP16[$3 + $7 >> 1]); - $7 = $9 - ($8 >> 1) | 0; - $8 = $7; - $7 = $7 >> 31; - $7 = ($7 ^ $7 + $8) + $13 | 0; - $8 = ($10 | 0) > 3; - $10 = $6; - $6 = $9; - if ($8) { - continue; - } - break; - } - } - HEAP32[($11 << 2) + $0 >> 2] = $7; - $2 = $2 + $5 | 0; - $3 = ($5 << 1) + $3 | 0; - $11 = $11 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(15720, 15761, 49); - abort(); -} -function exp2($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - label$1 : { - wasm2js_scratch_store_f64(+$0); - $1 = wasm2js_scratch_load_i32(1) | 0; - $5 = wasm2js_scratch_load_i32(0) | 0; - $3 = $1; - $1 = $1 & 2147483647; - label$2 : { - if ($1 >>> 0 >= 1083174912) { - if (!(($3 | 0) < 0 | $1 >>> 0 < 1083179008)) { - return $0 * 8.98846567431158e+307; - } - if ($1 >>> 0 >= 2146435072) { - return -1 / $0; - } - if ($0 <= -1075 ^ 1) { - break label$1; - } - $1 = $3; - $2 = 0; - if (($1 | 0) < -1 ? 1 : ($1 | 0) <= -1) { - break label$2; - } - break label$1; - } - if ($1 >>> 0 > 1016070143) { - break label$1; - } - $2 = $0 + 1; - } - return $2; - } - $2 = $0 + 26388279066624; - wasm2js_scratch_store_f64(+$2); - wasm2js_scratch_load_i32(1) | 0; - $1 = (wasm2js_scratch_load_i32(0) | 0) + 128 | 0; - $3 = $1 << 4 & 4080; - $4 = HEAPF64[$3 + 11024 >> 3]; - $0 = $0 - ($2 + -26388279066624) - HEAPF64[($3 | 8) + 11024 >> 3]; - return scalbn($4 + $4 * $0 * ($0 * ($0 * ($0 * ($0 * .0013333559164630223 + .009618129842126066) + .0555041086648214) + .2402265069591) + .6931471805599453), ($1 & -256) / 256 | 0); -} -function normalise_bands($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = Math_fround(0); - $13 = ($5 | 0) > 1 ? $5 : 1; - $14 = Math_imul(HEAP32[$0 + 44 >> 2], $6); - $11 = HEAP32[$0 + 32 >> 2]; - while (1) { - if (($4 | 0) >= 1) { - $15 = Math_imul($8, $14); - $16 = Math_imul(HEAP32[$0 + 8 >> 2], $8); - $10 = HEAP16[$11 >> 1]; - $9 = 0; - while (1) { - $5 = Math_imul($6, $10); - $7 = $9; - $9 = $7 + 1 | 0; - $10 = HEAP16[($9 << 1) + $11 >> 1]; - $12 = Math_imul($10, $6); - if (($5 | 0) < ($12 | 0)) { - $17 = Math_fround(Math_fround(1) / Math_fround(HEAPF32[($7 + $16 << 2) + $3 >> 2] + Math_fround(1.0000000272452012e-27))); - while (1) { - $7 = $5 + $15 << 2; - HEAPF32[$7 + $2 >> 2] = $17 * HEAPF32[$1 + $7 >> 2]; - $5 = $5 + 1 | 0; - if (($12 | 0) > ($5 | 0)) { - continue; - } - break; - } - } - if (($4 | 0) != ($9 | 0)) { - continue; - } - break; - } - } - $8 = $8 + 1 | 0; - if (($13 | 0) != ($8 | 0)) { - continue; - } - break; - } -} -function silk_ana_filt_bank_1($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - if (($4 | 0) >= 2) { - $4 = $4 >> 1; - $12 = ($4 | 0) > 1 ? $4 : 1; - $5 = HEAP32[$1 + 4 >> 2]; - $6 = HEAP32[$1 >> 2]; - $4 = 0; - while (1) { - $7 = $4 << 2; - $9 = HEAP16[($7 | 2) + $0 >> 1] << 10; - $8 = $9 - $5 | 0; - $8 = (Math_imul($8 & 65535, 10788) >>> 16 | 0) + Math_imul($8 >> 16, 10788) | 0; - $10 = $8 + $5 | 0; - $5 = HEAP16[$0 + $7 >> 1] << 10; - $6 = $5 - $6 | 0; - $11 = $4 << 1; - $7 = (Math_imul($6 >> 16, -24290) + (Math_imul($6 & 65535, -24290) >> 16) | 0) + $5 | 0; - $5 = $10 + $7 | 0; - HEAP16[$11 + $2 >> 1] = ($5 | 0) > 67107839 ? 32767 : ($5 | 0) < -67109888 ? -32768 : ($5 >>> 10 | 0) + 1 >>> 1 | 0; - $5 = $10 - $7 | 0; - HEAP16[$3 + $11 >> 1] = ($5 | 0) > 67107839 ? 32767 : ($5 | 0) < -67109888 ? -32768 : ($5 >>> 10 | 0) + 1 >>> 1 | 0; - $5 = $8 + $9 | 0; - $6 = $6 + $7 | 0; - $4 = $4 + 1 | 0; - if (($12 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAP32[$1 + 4 >> 2] = $5; - HEAP32[$1 >> 2] = $6; - } -} -function memchr($0, $1, $2) { - var $3 = 0, $4 = 0; - $3 = ($2 | 0) != 0; - label$1 : { - label$2 : { - label$3 : { - if (!$2 | !($0 & 3)) { - break label$3; - } - $4 = $1 & 255; - while (1) { - if (HEAPU8[$0 | 0] == ($4 | 0)) { - break label$2; - } - $0 = $0 + 1 | 0; - $2 = $2 - 1 | 0; - $3 = ($2 | 0) != 0; - if (!$2) { - break label$3; - } - if ($0 & 3) { - continue; - } - break; - } - } - if (!$3) { - break label$1; - } - } - label$5 : { - if (HEAPU8[$0 | 0] == ($1 & 255) | $2 >>> 0 < 4) { - break label$5; - } - $4 = Math_imul($1 & 255, 16843009); - while (1) { - $3 = HEAP32[$0 >> 2] ^ $4; - if (($3 ^ -1) & $3 - 16843009 & -2139062144) { - break label$5; - } - $0 = $0 + 4 | 0; - $2 = $2 - 4 | 0; - if ($2 >>> 0 > 3) { - continue; - } - break; - } - } - if (!$2) { - break label$1; - } - $3 = $1 & 255; - while (1) { - if (HEAPU8[$0 | 0] == ($3 | 0)) { - return $0; - } - $0 = $0 + 1 | 0; - $2 = $2 - 1 | 0; - if ($2) { - continue; - } - break; - } - } - return 0; -} -function resampler_basic_zero($0, $1, $2, $3, $4, $5) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $5 = $5 | 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - $2 = $1 << 2; - $7 = $2 + HEAP32[$0 + 64 >> 2] | 0; - $6 = HEAP32[$7 >> 2]; - $1 = 0; - $8 = HEAP32[$0 + 60 >> 2] + $2 | 0; - $2 = HEAP32[$8 >> 2]; - $9 = HEAP32[$3 >> 2]; - label$1 : { - if (($2 | 0) >= ($9 | 0)) { - break label$1; - } - $3 = HEAP32[$0 + 12 >> 2]; - $10 = HEAP32[$0 + 40 >> 2]; - $11 = HEAP32[$0 + 36 >> 2]; - $12 = HEAP32[$0 + 92 >> 2]; - $1 = HEAP32[$5 >> 2]; - $5 = ($1 | 0) > 0 ? $1 : 0; - $1 = 0; - while (1) { - if (($1 | 0) == ($5 | 0)) { - $1 = $5; - break label$1; - } - HEAP32[(Math_imul($1, $12) << 2) + $4 >> 2] = 0; - $0 = $6 + $10 | 0; - $6 = $0 - ($0 >>> 0 < $3 >>> 0 ? 0 : $3) | 0; - $1 = $1 + 1 | 0; - $2 = ($2 + $11 | 0) + ($0 >>> 0 >= $3 >>> 0) | 0; - if (($9 | 0) > ($2 | 0)) { - continue; - } - break; - } - } - HEAP32[$8 >> 2] = $2; - HEAP32[$7 >> 2] = $6; - return $1 | 0; -} -function ec_dec_bit_logp($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $2 = HEAP32[$0 + 28 >> 2]; - $1 = $2 >>> $1 | 0; - $3 = HEAP32[$0 + 32 >> 2]; - $6 = $1 >>> 0 > $3 >>> 0; - if (!$6) { - $3 = $3 - $1 | 0; - HEAP32[$0 + 32 >> 2] = $3; - } - $2 = $6 ? $1 : $2 - $1 | 0; - HEAP32[$0 + 28 >> 2] = $2; - if ($2 >>> 0 <= 8388608) { - $4 = HEAP32[$0 + 24 >> 2]; - $8 = HEAP32[$0 + 40 >> 2]; - $7 = HEAP32[$0 + 20 >> 2]; - $10 = HEAP32[$0 + 4 >> 2]; - while (1) { - $9 = $2 << 8; - HEAP32[$0 + 28 >> 2] = $9; - $7 = $7 + 8 | 0; - HEAP32[$0 + 20 >> 2] = $7; - $1 = 0; - if ($4 >>> 0 < $10 >>> 0) { - $5 = $4 + 1 | 0; - HEAP32[$0 + 24 >> 2] = $5; - $1 = HEAPU8[HEAP32[$0 >> 2] + $4 | 0]; - $4 = $5; - } - HEAP32[$0 + 40 >> 2] = $1; - $3 = ($3 << 8 & 2147483392 | ($8 << 8 | $1) >>> 1 & 255) ^ 255; - HEAP32[$0 + 32 >> 2] = $3; - $5 = $2 >>> 0 < 32769; - $8 = $1; - $2 = $9; - if ($5) { - continue; - } - break; - } - } - return $6; -} -function ec_dec_update($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $4 = HEAP32[$0 + 36 >> 2]; - $3 = Math_imul($4, $3 - $2 | 0); - $5 = HEAP32[$0 + 32 >> 2] - $3 | 0; - HEAP32[$0 + 32 >> 2] = $5; - $2 = $1 ? Math_imul($2 - $1 | 0, $4) : HEAP32[$0 + 28 >> 2] - $3 | 0; - HEAP32[$0 + 28 >> 2] = $2; - if ($2 >>> 0 <= 8388608) { - $3 = HEAP32[$0 + 24 >> 2]; - $4 = HEAP32[$0 + 40 >> 2]; - $7 = HEAP32[$0 + 20 >> 2]; - $9 = HEAP32[$0 + 4 >> 2]; - while (1) { - $8 = $2 << 8; - HEAP32[$0 + 28 >> 2] = $8; - $7 = $7 + 8 | 0; - HEAP32[$0 + 20 >> 2] = $7; - $1 = 0; - if ($3 >>> 0 < $9 >>> 0) { - $6 = $3 + 1 | 0; - HEAP32[$0 + 24 >> 2] = $6; - $1 = HEAPU8[HEAP32[$0 >> 2] + $3 | 0]; - $3 = $6; - } - HEAP32[$0 + 40 >> 2] = $1; - $5 = ($5 << 8 & 2147483392 | ($4 << 8 | $1) >>> 1 & 255) ^ 255; - HEAP32[$0 + 32 >> 2] = $5; - $6 = $2 >>> 0 < 32769; - $4 = $1; - $2 = $8; - if ($6) { - continue; - } - break; - } - } -} -function wcrtomb($0, $1, $2) { - $2 = 1; - label$1 : { - if ($0) { - if ($1 >>> 0 <= 127) { - break label$1; - } - label$3 : { - if (!HEAP32[HEAP32[__pthread_self() + 172 >> 2] >> 2]) { - if (($1 & -128) == 57216) { - break label$1; - } - break label$3; - } - if ($1 >>> 0 <= 2047) { - HEAP8[$0 + 1 | 0] = $1 & 63 | 128; - HEAP8[$0 | 0] = $1 >>> 6 | 192; - return 2; - } - if (!(($1 & -8192) != 57344 ? $1 >>> 0 >= 55296 : 0)) { - HEAP8[$0 + 2 | 0] = $1 & 63 | 128; - HEAP8[$0 | 0] = $1 >>> 12 | 224; - HEAP8[$0 + 1 | 0] = $1 >>> 6 & 63 | 128; - return 3; - } - if ($1 - 65536 >>> 0 <= 1048575) { - HEAP8[$0 + 3 | 0] = $1 & 63 | 128; - HEAP8[$0 | 0] = $1 >>> 18 | 240; - HEAP8[$0 + 2 | 0] = $1 >>> 6 & 63 | 128; - HEAP8[$0 + 1 | 0] = $1 >>> 12 & 63 | 128; - return 4; - } - } - HEAP32[__errno_location() >> 2] = 25; - $2 = -1; - } - return $2; - } - HEAP8[$0 | 0] = $1; - return 1; -} -function opus_repacketizer_cat_impl($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $5 = __stack_pointer - 16 | 0; - __stack_pointer = $5; - $4 = -4; - label$1 : { - if (($2 | 0) < 1) { - break label$1; - } - label$2 : { - if (!HEAP32[$0 + 4 >> 2]) { - HEAP8[$0 | 0] = HEAPU8[$1 | 0]; - HEAP32[$0 + 296 >> 2] = opus_packet_get_samples_per_frame($1, 8e3); - break label$2; - } - if ((HEAPU8[$1 | 0] ^ HEAPU8[$0 | 0]) >>> 0 > 3) { - break label$1; - } - } - $6 = opus_packet_get_nb_frames($1, $2); - if (($6 | 0) < 1) { - break label$1; - } - $7 = HEAP32[$0 + 4 >> 2]; - if ((Math_imul(HEAP32[$0 + 296 >> 2], $7 + $6 | 0) | 0) > 960) { - break label$1; - } - $4 = opus_packet_parse_impl($1, $2, $3, $5 + 15 | 0, (($7 << 2) + $0 | 0) + 8 | 0, (($7 << 1) + $0 | 0) + 200 | 0, 0, 0); - if (($4 | 0) < 1) { - break label$1; - } - HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] + $6; - $4 = 0; - } - __stack_pointer = $5 + 16 | 0; - return $4; -} -function cos($0) { - var $1 = 0, $2 = 0, $3 = 0; - $1 = __stack_pointer - 16 | 0; - __stack_pointer = $1; - wasm2js_scratch_store_f64(+$0); - $3 = wasm2js_scratch_load_i32(1) | 0; - wasm2js_scratch_load_i32(0) | 0; - $3 = $3 & 2147483647; - label$1 : { - if ($3 >>> 0 <= 1072243195) { - $2 = 1; - if ($3 >>> 0 < 1044816030) { - break label$1; - } - $2 = __cos($0, 0); - break label$1; - } - $2 = $0 - $0; - if ($3 >>> 0 >= 2146435072) { - break label$1; - } - label$3 : { - switch (__rem_pio2($0, $1) & 3) { - case 0: - $2 = __cos(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3]); - break label$1; - case 1: - $2 = -__sin(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3], 1); - break label$1; - case 2: - $2 = -__cos(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3]); - break label$1; - default: - break label$3; - } - } - $2 = __sin(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3], 1); - } - __stack_pointer = $1 + 16 | 0; - return $2; -} -function silk_resampler_down2($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - if (($3 | 0) >= 2) { - $3 = $3 >> 1; - $10 = ($3 | 0) > 1 ? $3 : 1; - $4 = HEAP32[$0 + 4 >> 2]; - $5 = HEAP32[$0 >> 2]; - $3 = 0; - while (1) { - $6 = $3 << 2; - $7 = HEAP16[$6 + $2 >> 1] << 10; - $5 = $7 - $5 | 0; - $7 = (Math_imul($5 >> 16, -25727) + (Math_imul($5 & 65535, -25727) >> 16) | 0) + $7 | 0; - $8 = $7 + $4 | 0; - $6 = HEAP16[($6 | 2) + $2 >> 1] << 10; - $4 = $6 - $4 | 0; - $4 = (Math_imul($4 & 65535, 9872) >>> 16 | 0) + Math_imul($4 >> 16, 9872) | 0; - $8 = $8 + $4 | 0; - $9 = ($8 >> 10) + 1 >> 1; - HEAP16[($3 << 1) + $1 >> 1] = ($8 | 0) > 67107839 ? 32767 : ($9 | 0) > -32768 ? $9 : -32768; - $4 = $4 + $6 | 0; - $5 = $5 + $7 | 0; - $3 = $3 + 1 | 0; - if (($10 | 0) != ($3 | 0)) { - continue; - } - break; - } - HEAP32[$0 + 4 >> 2] = $4; - HEAP32[$0 >> 2] = $5; - } -} -function celt_encoder_init($0, $1, $2, $3) { - var $4 = 0, $5 = 0; - $5 = -1; - $4 = opus_custom_mode_create(48e3, 960, 0); - label$1 : { - if ($2 >>> 0 > 2) { - break label$1; - } - $5 = -7; - if (!$0 | !$4) { - break label$1; - } - $5 = 0; - $0 = memset($0, 0, Math_imul(((HEAP32[$4 + 4 >> 2] << 2) + (HEAP32[$4 + 8 >> 2] << 4) | 0) + 4096 | 0, $2) + 244 | 0); - HEAP32[$0 + 28 >> 2] = 1; - HEAP32[$0 + 32 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = $2; - HEAP32[$0 + 4 >> 2] = $2; - HEAP32[$0 >> 2] = $4; - $2 = HEAP32[$4 + 12 >> 2]; - HEAP32[$0 + 24 >> 2] = 5; - HEAP32[$0 + 60 >> 2] = 24; - HEAP32[$0 + 12 >> 2] = 0; - HEAP32[$0 + 16 >> 2] = 1; - HEAP32[$0 + 40 >> 2] = -1; - HEAP32[$0 + 44 >> 2] = 0; - HEAP32[$0 + 72 >> 2] = $3; - HEAP32[$0 + 48 >> 2] = 1; - HEAP32[$0 + 52 >> 2] = 1; - HEAP32[$0 + 36 >> 2] = $2; - opus_custom_encoder_ctl($0, 4028, 0); - HEAP32[$0 + 28 >> 2] = resampling_factor($1); - } - return $5; -} -function __fwritex($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0; - $3 = HEAP32[$2 + 16 >> 2]; - label$1 : { - if (!$3) { - if (__towrite($2)) { - break label$1; - } - $3 = HEAP32[$2 + 16 >> 2]; - } - $5 = HEAP32[$2 + 20 >> 2]; - if ($3 - $5 >>> 0 < $1 >>> 0) { - return FUNCTION_TABLE[HEAP32[$2 + 36 >> 2]]($2, $0, $1) | 0; - } - label$5 : { - if (HEAP8[$2 + 75 | 0] < 0) { - $3 = 0; - break label$5; - } - $4 = $1; - while (1) { - $3 = $4; - if (!$3) { - $3 = 0; - break label$5; - } - $4 = $3 - 1 | 0; - if (HEAPU8[$4 + $0 | 0] != 10) { - continue; - } - break; - } - $4 = FUNCTION_TABLE[HEAP32[$2 + 36 >> 2]]($2, $0, $3) | 0; - if ($4 >>> 0 < $3 >>> 0) { - break label$1; - } - $0 = $0 + $3 | 0; - $1 = $1 - $3 | 0; - $5 = HEAP32[$2 + 20 >> 2]; - } - memcpy($5, $0, $1); - HEAP32[$2 + 20 >> 2] = HEAP32[$2 + 20 >> 2] + $1; - $4 = $1 + $3 | 0; - } - return $4; -} -function sin($0) { - var $1 = 0, $2 = 0; - $1 = __stack_pointer - 16 | 0; - __stack_pointer = $1; - wasm2js_scratch_store_f64(+$0); - $2 = wasm2js_scratch_load_i32(1) | 0; - wasm2js_scratch_load_i32(0) | 0; - $2 = $2 & 2147483647; - label$1 : { - if ($2 >>> 0 <= 1072243195) { - if ($2 >>> 0 < 1045430272) { - break label$1; - } - $0 = __sin($0, 0, 0); - break label$1; - } - if ($2 >>> 0 >= 2146435072) { - $0 = $0 - $0; - break label$1; - } - label$4 : { - switch (__rem_pio2($0, $1) & 3) { - case 0: - $0 = __sin(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3], 1); - break label$1; - case 1: - $0 = __cos(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3]); - break label$1; - case 2: - $0 = -__sin(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3], 1); - break label$1; - default: - break label$4; - } - } - $0 = -__cos(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3]); - } - __stack_pointer = $1 + 16 | 0; - return $0; -} -function ec_enc_bits($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - if ($2) { - $6 = HEAP32[$0 + 12 >> 2]; - $5 = HEAP32[$0 + 16 >> 2]; - $3 = $5 + $2 | 0; - label$2 : { - if ($3 >>> 0 < 33) { - $4 = $5; - break label$2; - } - while (1) { - $3 = -1; - $7 = HEAP32[$0 + 4 >> 2]; - $4 = HEAP32[$0 + 8 >> 2]; - if ($7 >>> 0 > $4 + HEAP32[$0 + 24 >> 2] >>> 0) { - $3 = $4 + 1 | 0; - HEAP32[$0 + 8 >> 2] = $3; - HEAP8[HEAP32[$0 >> 2] + ($7 - $3 | 0) | 0] = $6; - $3 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - $6 = $6 >>> 8 | 0; - $3 = ($5 | 0) > 15; - $4 = $5 - 8 | 0; - $5 = $4; - if ($3) { - continue; - } - break; - } - $3 = $2 + $4 | 0; - } - HEAP32[$0 + 16 >> 2] = $3; - HEAP32[$0 + 12 >> 2] = $1 << $4 | $6; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + $2; - return; - } - celt_fatal(7033, 7019, 198); - abort(); -} -function speex_resampler_process_interleaved_float($0, $1, $2, $3, $4) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $7 = HEAP32[$0 + 92 >> 2]; - $8 = HEAP32[$2 >> 2]; - $9 = HEAP32[$4 >> 2]; - $5 = HEAP32[$0 + 20 >> 2]; - HEAP32[$0 + 92 >> 2] = $5; - $10 = HEAP32[$0 + 88 >> 2]; - HEAP32[$0 + 88 >> 2] = $5; - if ($5) { - $5 = 0; - while (1) { - HEAP32[$4 >> 2] = $9; - HEAP32[$2 >> 2] = $8; - label$3 : { - if ($1) { - $6 = $5 << 2; - speex_resampler_process_float($0, $5, $6 + $1 | 0, $2, $3 + $6 | 0, $4); - break label$3; - } - speex_resampler_process_float($0, $5, 0, $2, ($5 << 2) + $3 | 0, $4); - } - $5 = $5 + 1 | 0; - if ($5 >>> 0 < HEAPU32[$0 + 20 >> 2]) { - continue; - } - break; - } - } - HEAP32[$0 + 92 >> 2] = $7; - HEAP32[$0 + 88 >> 2] = $10; - return HEAP32[$0 + 84 >> 2] == 9 | 0; -} -function silk_VAD_Init($0) { - var $1 = 0; - $1 = $0; - HEAP32[$1 >> 2] = 0; - HEAP32[$1 + 4 >> 2] = 0; - HEAP32[$1 + 56 >> 2] = 0; - HEAP32[$1 + 60 >> 2] = 5e3; - HEAP32[$1 + 32 >> 2] = 0; - HEAP32[$1 + 36 >> 2] = 0; - HEAP32[$1 + 24 >> 2] = 0; - HEAP32[$1 + 28 >> 2] = 0; - HEAP32[$1 + 16 >> 2] = 0; - HEAP32[$1 + 20 >> 2] = 0; - HEAP32[$1 + 8 >> 2] = 0; - HEAP32[$1 + 12 >> 2] = 0; - HEAP32[$1 + 96 >> 2] = 25; - HEAP32[$1 + 100 >> 2] = 16; - HEAP32[$1 + 80 >> 2] = 858993; - HEAP32[$1 + 84 >> 2] = 1342177; - $1 = $1 - -64 | 0; - HEAP32[$1 >> 2] = 2500; - HEAP32[$1 + 4 >> 2] = 1600; - $1 = $0; - HEAP32[$1 + 104 >> 2] = 12; - HEAP32[$1 + 108 >> 2] = 15; - HEAP32[$1 + 88 >> 2] = 1789569; - HEAP32[$1 + 92 >> 2] = 50; - HEAP32[$1 + 72 >> 2] = 1200; - HEAP32[$1 + 76 >> 2] = 429496; - HEAP32[$1 + 40 >> 2] = 25600; - HEAP32[$1 + 44 >> 2] = 25600; - HEAP32[$1 + 48 >> 2] = 25600; - HEAP32[$1 + 52 >> 2] = 25600; - return 0; -} -function silk_residual_energy_FLP($0, $1, $2, $3, $4, $5, $6) { - var $7 = Math_fround(0), $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $8 = __stack_pointer - 768 | 0; - __stack_pointer = $8; - $9 = $4 + $6 | 0; - $10 = $9 << 1; - silk_LPC_analysis_filter_FLP($8, $2, $1, $10, $6); - $7 = HEAPF32[$3 >> 2]; - $11 = ($6 << 2) + $8 | 0; - HEAPF32[$0 >> 2] = silk_energy_FLP($11, $4) * +Math_fround($7 * $7); - $7 = HEAPF32[$3 + 4 >> 2]; - $9 = ($9 << 2) + $11 | 0; - HEAPF32[$0 + 4 >> 2] = silk_energy_FLP($9, $4) * +Math_fround($7 * $7); - if (($5 | 0) == 4) { - silk_LPC_analysis_filter_FLP($8, $2 - -64 | 0, ($10 << 2) + $1 | 0, $10, $6); - $7 = HEAPF32[$3 + 8 >> 2]; - HEAPF32[$0 + 8 >> 2] = silk_energy_FLP($11, $4) * +Math_fround($7 * $7); - $7 = HEAPF32[$3 + 12 >> 2]; - HEAPF32[$0 + 12 >> 2] = silk_energy_FLP($9, $4) * +Math_fround($7 * $7); - } - __stack_pointer = $8 + 768 | 0; -} -function silk_gains_dequant($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - if (($4 | 0) >= 1) { - while (1) { - $5 = HEAP8[$1 + $7 | 0]; - $9 = $2; - label$3 : { - if (!($3 | $7)) { - $6 = HEAP8[$2 | 0] - 16 | 0; - $5 = ($5 | 0) > ($6 | 0) ? $5 : $6; - break label$3; - } - $5 = $5 - 4 | 0; - $6 = HEAP8[$2 | 0]; - $8 = $6 + 8 | 0; - if (($5 | 0) > ($8 | 0)) { - $5 = (($5 << 1) - $8 | 0) + $6 | 0; - break label$3; - } - $5 = $5 + $6 | 0; - } - $5 = $5 << 24 >> 24 > 0 ? $5 : 0; - $5 = $5 << 24 >> 24 < 63 ? $5 : 63; - HEAP8[$9 | 0] = $5; - $5 = $5 & 255; - $5 = (Math_imul($5, 7281) >>> 16 | 0) + Math_imul($5, 29) | 0; - HEAP32[($7 << 2) + $0 >> 2] = silk_log2lin(($5 >>> 0 < 1877 ? $5 : 1877) + 2090 | 0); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - } -} -function silk_k2a_FLP($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = Math_fround(0), $8 = 0, $9 = 0, $10 = Math_fround(0), $11 = Math_fround(0), $12 = 0, $13 = 0; - $6 = 1; - if (($2 | 0) >= 1) { - while (1) { - $8 = $5 << 2; - $7 = HEAPF32[$8 + $1 >> 2]; - $9 = $5 + 1 | 0; - if ($9 & 2147483646) { - $12 = $6 >>> 1 | 0; - $3 = 0; - while (1) { - $4 = ($3 << 2) + $0 | 0; - $13 = $4; - $10 = HEAPF32[$4 >> 2]; - $4 = (($3 ^ -1) + $5 << 2) + $0 | 0; - $11 = HEAPF32[$4 >> 2]; - HEAPF32[$13 >> 2] = $10 + Math_fround($7 * $11); - HEAPF32[$4 >> 2] = $11 + Math_fround($7 * $10); - $3 = $3 + 1 | 0; - if (($12 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - HEAPF32[$0 + $8 >> 2] = -$7; - $6 = $6 + 1 | 0; - $5 = $9; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - } -} -function silk_encode_signs($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0; - $6 = __stack_pointer - 16 | 0; - __stack_pointer = $6; - HEAP8[$6 + 15 | 0] = 0; - if (($2 | 0) >= 8) { - $8 = Math_imul(($3 << 1) + $4 << 16 >> 16, 7) + 9232 | 0; - $2 = $2 + 8 >> 4; - $3 = ($2 | 0) > 1 ? $2 : 1; - while (1) { - $2 = HEAP32[($7 << 2) + $5 >> 2]; - if (($2 | 0) >= 1) { - $2 = $2 & 31; - HEAP8[$6 + 14 | 0] = HEAPU8[($2 >>> 0 < 6 ? $2 : 6) + $8 | 0]; - $2 = 0; - while (1) { - $4 = HEAPU8[$1 + $2 | 0]; - if ($4) { - ec_enc_icdf($0, ($4 << 24 >> 24 >>> 7 | 0) + 1 & 255, $6 + 14 | 0, 8); - } - $2 = $2 + 1 | 0; - if (($2 | 0) != 16) { - continue; - } - break; - } - } - $1 = $1 + 16 | 0; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $6 + 16 | 0; -} -function haar1($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = Math_fround(0), $6 = Math_fround(0), $7 = 0, $8 = 0, $9 = 0, $10 = 0; - if (($2 | 0) >= 1) { - $3 = $1 >> 1; - $7 = ($3 | 0) > 1 ? $3 : 1; - $8 = $2 << 1; - $3 = 0; - $9 = ($1 | 0) < 2; - while (1) { - $1 = 0; - if (!$9) { - while (1) { - $4 = (Math_imul($1, $8) + $3 << 2) + $0 | 0; - $10 = $4; - $5 = Math_fround(HEAPF32[$4 >> 2] * Math_fround(.7071067690849304)); - $4 = (Math_imul($1 << 1 | 1, $2) + $3 << 2) + $0 | 0; - $6 = Math_fround(HEAPF32[$4 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$10 >> 2] = $5 + $6; - HEAPF32[$4 >> 2] = $5 - $6; - $1 = $1 + 1 | 0; - if (($7 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $3 = $3 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - } -} -function silk_find_LTP_FLP($0, $1, $2, $3, $4, $5) { - var $6 = Math_fround(0), $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = 0; - if (($5 | 0) >= 1) { - $10 = $4 + 5 | 0; - while (1) { - $8 = ($2 - (HEAP32[($7 << 2) + $3 >> 2] << 2) | 0) - 8 | 0; - silk_corrMatrix_FLP($8, $4, 5, $0); - silk_corrVector_FLP($8, $2, $4, 5, $1); - $6 = Math_fround(silk_energy_FLP($2, $10)); - $9 = Math_fround(Math_fround(Math_fround(HEAPF32[$0 >> 2] + HEAPF32[$0 + 96 >> 2]) * Math_fround(.014999999664723873)) + Math_fround(1)); - $6 = Math_fround(Math_fround(1) / ($6 > $9 ? $6 : $9)); - silk_scale_vector_FLP($0, $6, 25); - silk_scale_vector_FLP($1, $6, 5); - $1 = $1 + 20 | 0; - $0 = $0 + 100 | 0; - $2 = ($4 << 2) + $2 | 0; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - } -} -function silk_stereo_encode_pred($0, $1) { - var $2 = 0; - label$1 : { - label$2 : { - $2 = HEAP8[$1 + 5 | 0] + Math_imul(HEAP8[$1 + 2 | 0], 5) | 0; - if (($2 | 0) < 25) { - ec_enc_icdf($0, $2, 5776, 8); - $2 = HEAP8[$1 | 0]; - if (($2 | 0) >= 3) { - break label$2; - } - if (HEAP8[$1 + 1 | 0] >= 5) { - break label$1; - } - ec_enc_icdf($0, $2, 5854, 8); - ec_enc_icdf($0, HEAP8[$1 + 1 | 0], 5861, 8); - $2 = HEAP8[$1 + 3 | 0]; - if (($2 | 0) > 2) { - break label$2; - } - if (HEAP8[$1 + 4 | 0] > 4) { - break label$1; - } - ec_enc_icdf($0, $2, 5854, 8); - ec_enc_icdf($0, HEAP8[$1 + 4 | 0], 5861, 8); - return; - } - celt_fatal(7150, 7175, 44); - abort(); - } - celt_fatal(7201, 7175, 47); - abort(); - } - celt_fatal(7236, 7175, 48); - abort(); -} -function silk_encode_do_VAD_FLP($0, $1) { - var $2 = 0; - silk_VAD_GetSA_Q8_c($0, $0 + 5098 | 0); - $2 = HEAP32[$0 + 4532 >> 2]; - label$1 : { - label$2 : { - label$3 : { - if (!$1) { - if (($2 | 0) < 13) { - break label$3; - } - HEAP32[$0 + 4532 >> 2] = 12; - break label$3; - } - if (($2 | 0) > 12) { - break label$2; - } - } - $1 = 0; - HEAP8[$0 + 4765 | 0] = 0; - $2 = HEAP32[$0 + 6084 >> 2]; - HEAP32[$0 + 6084 >> 2] = $2 + 1; - if (($2 | 0) >= 10) { - if (($2 | 0) < 30) { - break label$1; - } - HEAP32[$0 + 6084 >> 2] = 10; - } - HEAP32[$0 + 6080 >> 2] = 0; - break label$1; - } - HEAP32[$0 + 6080 >> 2] = 0; - HEAP32[$0 + 6084 >> 2] = 0; - $1 = 1; - HEAP8[$0 + 4765 | 0] = 1; - } - HEAP8[(HEAP32[$0 + 5748 >> 2] + $0 | 0) + 4720 | 0] = $1; -} -function amp2Log2($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $8 = ($5 | 0) > 1 ? $5 : 1; - while (1) { - if (($1 | 0) >= 1) { - $9 = Math_imul(HEAP32[$0 + 8 >> 2], $6); - $5 = 0; - while (1) { - $7 = $5 + $9 << 2; - HEAPF32[$7 + $4 >> 2] = Math_fround(log(+HEAPF32[$3 + $7 >> 2]) * 1.4426950408889634) - HEAPF32[($5 << 2) + 32928 >> 2]; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (($1 | 0) < ($2 | 0)) { - $7 = Math_imul(HEAP32[$0 + 8 >> 2], $6); - $5 = $1; - while (1) { - HEAP32[($5 + $7 << 2) + $4 >> 2] = -1050673152; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $6 = $6 + 1 | 0; - if (($8 | 0) != ($6 | 0)) { - continue; - } - break; - } -} -function silk_process_NLSFs_FLP($0, $1, $2, $3) { - var $4 = 0; - $4 = __stack_pointer + -64 | 0; - __stack_pointer = $4; - silk_process_NLSFs($0, $4, $2, $3); - $2 = HEAP32[$0 + 4640 >> 2]; - label$1 : { - if (($2 | 0) < 1) { - break label$1; - } - $0 = 0; - while (1) { - HEAPF32[($0 << 2) + $1 >> 2] = Math_fround(HEAP16[($0 << 1) + $4 >> 1]) * Math_fround(.000244140625); - $0 = $0 + 1 | 0; - if (($2 | 0) != ($0 | 0)) { - continue; - } - break; - } - if (($2 | 0) < 1) { - break label$1; - } - $0 = 0; - while (1) { - HEAPF32[(($0 << 2) + $1 | 0) - -64 >> 2] = Math_fround(HEAP16[(($0 << 1) + $4 | 0) + 32 >> 1]) * Math_fround(.000244140625); - $0 = $0 + 1 | 0; - if (($2 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $4 - -64 | 0; -} -function silk_inner_product_FLP($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - if (($2 | 0) > 3) { - $7 = $2 - 3 | 0; - while (1) { - $3 = $4 << 2; - $5 = $3 | 4; - $8 = +HEAPF32[$0 + $3 >> 2] * +HEAPF32[$1 + $3 >> 2] + +HEAPF32[$0 + $5 >> 2] * +HEAPF32[$1 + $5 >> 2]; - $5 = $3 | 8; - $3 = $3 | 12; - $6 = $6 + ($8 + +HEAPF32[$5 + $0 >> 2] * +HEAPF32[$1 + $5 >> 2] + +HEAPF32[$3 + $0 >> 2] * +HEAPF32[$1 + $3 >> 2]); - $4 = $4 + 4 | 0; - if (($7 | 0) > ($4 | 0)) { - continue; - } - break; - } - $4 = $2 & -4; - } - if (($2 | 0) > ($4 | 0)) { - while (1) { - $3 = $4 << 2; - $6 = $6 + +HEAPF32[$3 + $0 >> 2] * +HEAPF32[$1 + $3 >> 2]; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - return $6; -} -function silk_bwexpander_32($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - $4 = $2 >> 16; - $5 = $1 - 1 | 0; - if (($1 | 0) >= 2) { - $7 = $2 - 65536 | 0; - $1 = 0; - while (1) { - $3 = ($1 << 2) + $0 | 0; - $8 = $3; - $3 = HEAP32[$3 >> 2]; - $6 = $3 << 16 >> 16; - HEAP32[$8 >> 2] = ((Math_imul($6, $2 & 65535) >> 16) + Math_imul($4, $6) | 0) + Math_imul(($3 >> 15) + 1 >> 1, $2); - $2 = ((Math_imul($2, $7) >> 15) + 1 >> 1) + $2 | 0; - $4 = $2 >> 16; - $1 = $1 + 1 | 0; - if (($5 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $1 = ($5 << 2) + $0 | 0; - $0 = $1; - $1 = HEAP32[$1 >> 2]; - $3 = $1 << 16 >> 16; - HEAP32[$0 >> 2] = ((Math_imul($3, $2 & 65535) >> 16) + Math_imul($3, $4) | 0) + Math_imul(($1 >> 15) + 1 >> 1, $2); -} -function silk_NLSF_unpack($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - $4 = HEAP16[$2 + 2 >> 1]; - if (($4 | 0) >= 1) { - $5 = HEAP32[$2 + 24 >> 2] + ((Math_imul($4 & 65535, $3) | 0) / 2 | 0) | 0; - $3 = 0; - while (1) { - $4 = HEAPU8[$5 | 0]; - HEAP16[($3 << 1) + $0 >> 1] = Math_imul($4 >>> 1 & 7, 9); - HEAP8[$1 + $3 | 0] = HEAPU8[HEAP32[$2 + 20 >> 2] + (Math_imul(HEAP16[$2 + 2 >> 1] - 1 | 0, $4 & 1) + $3 | 0) | 0]; - $6 = $3 | 1; - HEAP16[($6 << 1) + $0 >> 1] = Math_imul($4 >>> 5 | 0, 9); - HEAP8[$1 + $6 | 0] = HEAPU8[HEAP32[$2 + 20 >> 2] + (Math_imul(HEAP16[$2 + 2 >> 1] - 1 | 0, $4 >>> 4 & 1) + $6 | 0) | 0]; - $5 = $5 + 1 | 0; - $3 = $3 + 2 | 0; - if (($3 | 0) < HEAP16[$2 + 2 >> 1]) { - continue; - } - break; - } - } -} -function silk_insertion_sort_increasing_all_values_int16($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $3 = 1; - if (($1 | 0) >= 1) { - if (($1 | 0) != 1) { - while (1) { - $5 = HEAP16[($3 << 1) + $0 >> 1]; - $2 = $3; - label$4 : { - while (1) { - $6 = $2 - 1 | 0; - $4 = HEAP16[($6 << 1) + $0 >> 1]; - if (($5 | 0) >= ($4 | 0)) { - break label$4; - } - HEAP16[($2 << 1) + $0 >> 1] = $4; - $4 = ($2 | 0) > 1; - $2 = $6; - if ($4) { - continue; - } - break; - } - $2 = 0; - } - HEAP16[($2 << 1) + $0 >> 1] = $5; - $3 = $3 + 1 | 0; - if (($3 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(15671, 15659, 144); - abort(); -} -function ec_dec_bits($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $4 = HEAP32[$0 + 12 >> 2]; - $2 = HEAP32[$0 + 16 >> 2]; - label$1 : { - if ($2 >>> 0 >= $1 >>> 0) { - $6 = $2; - break label$1; - } - $3 = HEAP32[$0 + 8 >> 2]; - $7 = HEAP32[$0 + 4 >> 2]; - while (1) { - $5 = 0; - if ($3 >>> 0 < $7 >>> 0) { - $3 = $3 + 1 | 0; - HEAP32[$0 + 8 >> 2] = $3; - $5 = HEAPU8[HEAP32[$0 >> 2] + ($7 - $3 | 0) | 0]; - } - $4 = $5 << $2 | $4; - $5 = ($2 | 0) < 17; - $6 = $2 + 8 | 0; - $2 = $6; - if ($5) { - continue; - } - break; - } - } - HEAP32[$0 + 16 >> 2] = $6 - $1; - HEAP32[$0 + 12 >> 2] = $4 >>> $1; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + $1; - return (-1 << $1 ^ -1) & $4; -} -function silk_scale_vector_FLP($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $6 = $2 & 65532; - if ($6) { - while (1) { - $3 = $4 << 2; - $5 = $3 + $0 | 0; - HEAPF32[$5 >> 2] = HEAPF32[$5 >> 2] * $1; - $5 = ($3 | 4) + $0 | 0; - HEAPF32[$5 >> 2] = HEAPF32[$5 >> 2] * $1; - $5 = ($3 | 8) + $0 | 0; - HEAPF32[$5 >> 2] = HEAPF32[$5 >> 2] * $1; - $3 = ($3 | 12) + $0 | 0; - HEAPF32[$3 >> 2] = HEAPF32[$3 >> 2] * $1; - $4 = $4 + 4 | 0; - if ($6 >>> 0 > $4 >>> 0) { - continue; - } - break; - } - } - if (($2 | 0) > ($4 | 0)) { - while (1) { - $3 = ($4 << 2) + $0 | 0; - HEAPF32[$3 >> 2] = HEAPF32[$3 >> 2] * $1; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } -} -function silk_scale_copy_vector_FLP($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $7 = $3 & 65532; - if ($7) { - while (1) { - $4 = $5 << 2; - HEAPF32[$4 + $0 >> 2] = HEAPF32[$1 + $4 >> 2] * $2; - $6 = $4 | 4; - HEAPF32[$6 + $0 >> 2] = HEAPF32[$1 + $6 >> 2] * $2; - $6 = $4 | 8; - HEAPF32[$6 + $0 >> 2] = HEAPF32[$1 + $6 >> 2] * $2; - $4 = $4 | 12; - HEAPF32[$4 + $0 >> 2] = HEAPF32[$1 + $4 >> 2] * $2; - $5 = $5 + 4 | 0; - if ($7 >>> 0 > $5 >>> 0) { - continue; - } - break; - } - } - if (($3 | 0) > ($5 | 0)) { - while (1) { - $4 = $5 << 2; - HEAPF32[$4 + $0 >> 2] = HEAPF32[$1 + $4 >> 2] * $2; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - } -} -function fmt_u($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0; - label$1 : { - if ($1 >>> 0 < 1) { - $5 = $0; - $3 = $1; - $6 = $3; - break label$1; - } - while (1) { - $2 = $2 - 1 | 0; - $3 = $1; - $5 = __wasm_i64_udiv($0, $3, 10, 0); - $3 = i64toi32_i32$HIGH_BITS; - $6 = $3; - $4 = __wasm_i64_mul($5, $3, 10, 0); - $3 = $1; - HEAP8[$2 | 0] = $0 - $4 | 48; - $4 = $3 >>> 0 > 9; - $0 = $5; - $3 = $6; - $1 = $3; - if ($4) { - continue; - } - break; - } - } - $4 = $5; - if ($4) { - while (1) { - $2 = $2 - 1 | 0; - $0 = ($4 >>> 0) / 10 | 0; - HEAP8[$2 | 0] = $4 - Math_imul($0, 10) | 48; - $1 = $4 >>> 0 > 9; - $4 = $0; - if ($1) { - continue; - } - break; - } - } - return $2; -} -function silk_energy_FLP($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - if (($1 | 0) > 3) { - $7 = $1 - 3 | 0; - while (1) { - $5 = $3 << 2; - $2 = +HEAPF32[$5 + $0 >> 2]; - $4 = $2 * $2; - $2 = +HEAPF32[($5 | 4) + $0 >> 2]; - $4 = $4 + $2 * $2; - $2 = +HEAPF32[($5 | 8) + $0 >> 2]; - $4 = $4 + $2 * $2; - $2 = +HEAPF32[($5 | 12) + $0 >> 2]; - $6 = $6 + ($4 + $2 * $2); - $3 = $3 + 4 | 0; - if (($7 | 0) > ($3 | 0)) { - continue; - } - break; - } - $3 = $1 & -4; - } - if (($1 | 0) > ($3 | 0)) { - while (1) { - $2 = +HEAPF32[($3 << 2) + $0 >> 2]; - $6 = $6 + $2 * $2; - $3 = $3 + 1 | 0; - if (($3 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - return $6; -} -function renormalise_vector($0, $1, $2, $3) { - var $4 = 0, $5 = Math_fround(0), $6 = Math_fround(0); - label$1 : { - if (($1 | 0) < 1) { - break label$1; - } - while (1) { - $6 = HEAPF32[($4 << 2) + $0 >> 2]; - $5 = Math_fround($5 + Math_fround($6 * $6)); - $4 = $4 + 1 | 0; - if (($4 | 0) != ($1 | 0)) { - continue; - } - break; - } - if (($1 | 0) < 1) { - break label$1; - } - $5 = Math_fround(Math_fround(Math_fround(1) / Math_fround(Math_sqrt(Math_fround($5 + Math_fround(1.0000000036274937e-15))))) * $2); - $4 = 0; - while (1) { - HEAPF32[$0 >> 2] = $5 * HEAPF32[$0 >> 2]; - $0 = $0 + 4 | 0; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($1 | 0)) { - continue; - } - break; - } - } -} -function hysteresis_decision($0, $1, $2, $3, $4) { - var $5 = 0; - label$1 : { - if (($3 | 0) < 1) { - break label$1; - } - while (1) { - if (HEAPF32[($5 << 2) + $1 >> 2] > $0) { - break label$1; - } - $5 = $5 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - $5 = $3; - } - label$3 : { - label$4 : { - if (($4 | 0) < ($5 | 0)) { - $3 = $4 << 2; - if (Math_fround(HEAPF32[$3 + $1 >> 2] + HEAPF32[$2 + $3 >> 2]) > $0) { - break label$4; - } - } - if (($4 | 0) <= ($5 | 0)) { - break label$3; - } - $3 = ($4 << 2) - 4 | 0; - if (Math_fround(HEAPF32[$3 + $1 >> 2] - HEAPF32[$2 + $3 >> 2]) < $0 ^ 1) { - break label$3; - } - } - $5 = $4; - } - return $5; -} -function silk_LTP_scale_ctrl_FLP($0, $1, $2) { - var $3 = 0, $4 = Math_fround(0), $5 = 0; - $5 = $0 + 4769 | 0; - $3 = 0; - label$1 : { - if ($2) { - break label$1; - } - $3 = 2; - $4 = Math_fround(Math_fround(HEAPF32[$1 + 708 >> 2] * Math_fround(HEAP32[$0 + 5744 >> 2] + HEAP32[$0 + 4616 >> 2] | 0)) * Math_fround(.10000000149011612)); - if ($4 > Math_fround(2)) { - break label$1; - } - $3 = 0; - if ($4 < Math_fround(0)) { - break label$1; - } - $3 = ~~$4; - if (Math_fround(Math_abs($4)) < Math_fround(2147483648)) { - break label$1; - } - $3 = -2147483648; - } - HEAP8[$5 | 0] = $3; - HEAPF32[$1 + 224 >> 2] = Math_fround(HEAP16[($3 << 1) + 5848 >> 1]) * Math_fround(6103515625e-14); -} -function scalbn($0, $1) { - label$1 : { - if (($1 | 0) >= 1024) { - $0 = $0 * 8.98846567431158e+307; - if (($1 | 0) < 2047) { - $1 = $1 - 1023 | 0; - break label$1; - } - $0 = $0 * 8.98846567431158e+307; - $1 = (($1 | 0) < 3069 ? $1 : 3069) - 2046 | 0; - break label$1; - } - if (($1 | 0) > -1023) { - break label$1; - } - $0 = $0 * 2.2250738585072014e-308; - if (($1 | 0) > -2045) { - $1 = $1 + 1022 | 0; - break label$1; - } - $0 = $0 * 2.2250738585072014e-308; - $1 = (($1 | 0) > -3066 ? $1 : -3066) + 2044 | 0; - } - $1 = $1 + 1023 << 20; - wasm2js_scratch_store_i32(0, 0); - wasm2js_scratch_store_i32(1, $1 | 0); - return $0 * +wasm2js_scratch_load_f64(); -} -function silk_resampler_private_AR2($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - if (($4 | 0) >= 1) { - $5 = HEAP32[$0 >> 2]; - $6 = HEAP16[$3 + 2 >> 1]; - $7 = HEAP16[$3 >> 1]; - $3 = 0; - while (1) { - $5 = (HEAP16[($3 << 1) + $2 >> 1] << 8) + $5 | 0; - HEAP32[($3 << 2) + $1 >> 2] = $5; - $9 = HEAP32[$0 + 4 >> 2]; - $5 = $5 << 2; - $8 = $5 & 65532; - $5 = $5 >> 16; - HEAP32[$0 + 4 >> 2] = (Math_imul($8, $6) >> 16) + Math_imul($6, $5); - $5 = (Math_imul($5, $7) + $9 | 0) + (Math_imul($7, $8) >> 16) | 0; - HEAP32[$0 >> 2] = $5; - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } -} -function silk_control_SNR($0, $1) { - var $2 = 0, $3 = 0, $4 = 0; - HEAP32[$0 + 4608 >> 2] = $1; - $2 = HEAP32[$0 + 4576 >> 2]; - $1 = HEAP32[$0 + 4580 >> 2] == 2 ? ((($2 | 0) / -16 | 0) + $1 | 0) - 2e3 | 0 : $1; - $4 = 17024; - $3 = 106; - label$2 : { - label$3 : { - switch ($2 - 8 | 0) { - case 4: - $4 = 17136; - $3 = 154; - break label$2; - case 0: - break label$2; - default: - break label$3; - } - } - $4 = 17296; - $3 = 190; - } - $2 = 0; - $1 = (($1 + 200 | 0) / 400 | 0) - 10 | 0; - $1 = ($1 | 0) < ($3 | 0) ? $1 : $3; - if (($1 | 0) >= 1) { - $2 = Math_imul(HEAPU8[$1 + $4 | 0], 21); - } - HEAP32[$0 + 4716 >> 2] = $2; - return 0; -} -function opus_fft_c($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = Math_fround(0), $6 = 0, $7 = 0, $8 = 0, $9 = Math_fround(0); - if (($1 | 0) != ($2 | 0)) { - $4 = HEAP32[$0 >> 2]; - if (($4 | 0) >= 1) { - $5 = HEAPF32[$0 + 4 >> 2]; - $8 = HEAP32[$0 + 44 >> 2]; - while (1) { - $6 = ($3 << 3) + $1 | 0; - $9 = HEAPF32[$6 >> 2]; - $7 = (HEAP16[($3 << 1) + $8 >> 1] << 3) + $2 | 0; - HEAPF32[$7 + 4 >> 2] = $5 * HEAPF32[$6 + 4 >> 2]; - HEAPF32[$7 >> 2] = $5 * $9; - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - opus_fft_impl($0, $2); - return; - } - celt_fatal(42376, 42433, 580); - abort(); -} -function ec_enc_patch_initial_bits($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0; - if ($2 >>> 0 < 9) { - $3 = 8 - $2 | 0; - $4 = (-1 << $2 ^ -1) << $3; - if (HEAP32[$0 + 24 >> 2]) { - $2 = HEAP32[$0 >> 2]; - HEAP8[$2 | 0] = HEAPU8[$2 | 0] & ($4 ^ -1) | $1 << $3; - return; - } - $5 = HEAP32[$0 + 40 >> 2]; - if (($5 | 0) >= 0) { - HEAP32[$0 + 40 >> 2] = ($4 ^ -1) & $5 | $1 << $3; - return; - } - if (HEAPU32[$0 + 28 >> 2] <= -2147483648 >>> $2 >>> 0) { - HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] & ($4 << 23 ^ -1) | $1 << 31 - $2; - return; - } - HEAP32[$0 + 44 >> 2] = -1; - return; - } - celt_fatal(7059, 7019, 217); - abort(); -} -function init_caps($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $4 = HEAP32[$0 + 8 >> 2]; - if (($4 | 0) >= 1) { - $9 = (($2 << 1) + $3 | 0) - 1 | 0; - $10 = HEAP32[$0 + 104 >> 2]; - $7 = HEAP32[$0 + 32 >> 2]; - $6 = HEAPU16[$7 >> 1]; - while (1) { - $11 = $6 << 16; - $8 = $5 + 1 | 0; - $6 = HEAP16[($8 << 1) + $7 >> 1]; - HEAP32[($5 << 2) + $1 >> 2] = Math_imul(HEAPU8[(Math_imul($4, $9) + $5 | 0) + $10 | 0] - -64 | 0, Math_imul($6 - ($11 >> 16) << $2, $3)) >> 2; - $5 = $8; - $4 = HEAP32[$0 + 8 >> 2]; - if (($5 | 0) < ($4 | 0)) { - continue; - } - break; - } - } -} -function opus_packet_pad($0, $1, $2) { - var $3 = 0, $4 = 0; - $3 = __stack_pointer - 304 | 0; - __stack_pointer = $3; - $4 = -1; - label$1 : { - if (($1 | 0) < 1) { - break label$1; - } - $4 = 0; - if (($1 | 0) == ($2 | 0)) { - break label$1; - } - $4 = -1; - if (($1 | 0) > ($2 | 0)) { - break label$1; - } - HEAP32[$3 + 4 >> 2] = 0; - $4 = opus_repacketizer_cat_impl($3, memmove(($0 + $2 | 0) - $1 | 0, $0, $1), $1, 0); - if ($4) { - break label$1; - } - $1 = opus_repacketizer_out_range_impl($3, 0, HEAP32[$3 + 4 >> 2], $0, $2, 0, 1); - $4 = $1 & $1 >> 31; - } - __stack_pointer = $3 + 304 | 0; - return $4; -} -function resampling_factor($0) { - var $1 = 0; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - if (($0 | 0) <= 15999) { - if (($0 | 0) == 8e3) { - break label$4; - } - if (($0 | 0) != 12e3) { - break label$3; - } - return 4; - } - if (($0 | 0) == 16e3) { - break label$2; - } - $1 = 1; - if (($0 | 0) == 48e3) { - break label$1; - } - if (($0 | 0) != 24e3) { - break label$3; - } - return 2; - } - return 6; - } - celt_fatal(1659, 1679, 84); - abort(); - } - $1 = 3; - } - return $1; -} -function silk_interpolate($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0; - label$1 : { - if (($3 | 0) > -1) { - if (($3 | 0) > 4) { - break label$1; - } - if (($4 | 0) > 0) { - while (1) { - $6 = $5 << 1; - $7 = HEAPU16[$6 + $1 >> 1]; - HEAP16[$0 + $6 >> 1] = (Math_imul(HEAPU16[$2 + $6 >> 1] - $7 << 16 >> 16, $3) >>> 2 | 0) + $7; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(15552, 15584, 45); - abort(); - } - celt_fatal(15603, 15584, 46); - abort(); -} -function opus_custom_mode_create($0, $1, $2) { - var $3 = 0; - label$1 : { - label$2 : { - $3 = ($0 | 0) != 48e3; - if ((($1 | 0) == 960 ? !$3 : 0) | (($1 & 2147483647) == 480 ? !$3 : 0)) { - break label$2; - } - $0 = ($0 | 0) != 48e3; - if ((($1 & 1073741823) == 240 ? !$0 : 0) | (($1 & 536870911) == 120 ? !$0 : 0)) { - break label$2; - } - $1 = 0; - if (!$2) { - break label$1; - } - HEAP32[$2 >> 2] = -1; - break label$1; - } - $1 = 17996; - if (!$2) { - break label$1; - } - HEAP32[$2 >> 2] = 0; - return 17996; - } - return $1; -} -function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0, $1, $2, $3) { - var $4 = 0, $5 = 0; - $4 = $2 >>> 16 | 0; - $5 = $0 >>> 16 | 0; - $3 = (Math_imul($4, $5) + Math_imul($1, $2) | 0) + Math_imul($3, $0) | 0; - $2 = $2 & 65535; - $0 = $0 & 65535; - $1 = Math_imul($2, $0); - $2 = ($1 >>> 16 | 0) + Math_imul($2, $5) | 0; - $3 = $3 + ($2 >>> 16 | 0) | 0; - $2 = Math_imul($0, $4) + ($2 & 65535) | 0; - i64toi32_i32$HIGH_BITS = $3 + ($2 >>> 16 | 0) | 0; - return $1 & 65535 | $2 << 16; -} -function is_digital_silence($0, $1, $2, $3) { - var $4 = Math_fround(0), $5 = Math_fround(0), $6 = Math_fround(0); - $1 = Math_imul($1, $2); - if (($1 | 0) >= 1) { - $2 = 0; - while (1) { - $4 = HEAPF32[($2 << 2) + $0 >> 2]; - $6 = $4 > $6 ? $6 : $4; - $5 = $4 < $5 ? $5 : $4; - $2 = $2 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $4 = Math_fround(-$6); - return Math_fround(Math_fround(1) / Math_fround(1 << $3)) >= ($4 < $5 ? $5 : $4); -} -function dlrealloc($0, $1) { - var $2 = 0, $3 = 0; - if (!$0) { - return dlmalloc($1); - } - if ($1 >>> 0 >= 4294967232) { - HEAP32[__errno_location() >> 2] = 48; - return 0; - } - $2 = try_realloc_chunk($0 - 8 | 0, $1 >>> 0 < 11 ? 16 : $1 + 11 & -8); - if ($2) { - return $2 + 8 | 0; - } - $2 = dlmalloc($1); - if (!$2) { - return 0; - } - $3 = HEAP32[$0 - 4 >> 2]; - $3 = ($3 & 3 ? -4 : -8) + ($3 & -8) | 0; - memcpy($2, $0, $1 >>> 0 > $3 >>> 0 ? $3 : $1); - dlfree($0); - return $2; -} -function silk_bwexpander_FLP($0, $1, $2) { - var $3 = Math_fround(0), $4 = 0, $5 = 0; - $4 = $1 - 1 | 0; - label$1 : { - if (($1 | 0) < 2) { - $3 = $2; - break label$1; - } - $1 = 0; - $3 = $2; - while (1) { - $5 = ($1 << 2) + $0 | 0; - HEAPF32[$5 >> 2] = $3 * HEAPF32[$5 >> 2]; - $3 = Math_fround($3 * $2); - $1 = $1 + 1 | 0; - if (($4 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $1 = ($4 << 2) + $0 | 0; - HEAPF32[$1 >> 2] = $3 * HEAPF32[$1 >> 2]; -} -function silk_log2lin($0) { - var $1 = 0, $2 = 0, $3 = 0; - $1 = 0; - label$1 : { - if (($0 | 0) < 0) { - break label$1; - } - $1 = 2147483647; - if (($0 | 0) > 3966) { - break label$1; - } - $1 = $0 & 127; - $2 = $0 >>> 7 | 0; - $3 = 1 << $2; - $0 = ($0 | 0) <= 2047 ? (Math_imul(Math_imul(128 - $1 | 0, $1), -174) >> 16) + $1 << $2 >> 7 : Math_imul((Math_imul(Math_imul(128 - $1 | 0, $1), -174) >> 16) + $1 | 0, $3 >>> 7 | 0); - $1 = $3 + $0 | 0; - } - return $1; -} -function silk_sigm_Q15($0) { - var $1 = 0; - label$1 : { - if (($0 | 0) <= -1) { - $1 = 0; - if (($0 | 0) < -191) { - break label$1; - } - $0 = 0 - $0 | 0; - $1 = $0 >>> 3 & 536870908; - return HEAP32[$1 + 1024 >> 2] - Math_imul(HEAP16[$1 + 1056 >> 1], $0 & 31) | 0; - } - $1 = 32767; - if (($0 | 0) > 191) { - break label$1; - } - $1 = $0 >>> 3 & 536870908; - $1 = Math_imul(HEAP16[$1 + 1056 >> 1], $0 & 31) + HEAP32[$1 + 1088 >> 2] | 0; - } - return $1; -} -function pad($0, $1, $2, $3, $4) { - var $5 = 0; - $5 = __stack_pointer - 256 | 0; - __stack_pointer = $5; - if (!($4 & 73728 | ($2 | 0) <= ($3 | 0))) { - $2 = $2 - $3 | 0; - $3 = $2 >>> 0 < 256; - memset($5, $1 & 255, $3 ? $2 : 256); - if (!$3) { - while (1) { - out($0, $5, 256); - $2 = $2 - 256 | 0; - if ($2 >>> 0 > 255) { - continue; - } - break; - } - } - out($0, $5, $2); - } - __stack_pointer = $5 + 256 | 0; -} -function __stdio_seek($0, $1, $2, $3) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - var $4 = 0; - $4 = __stack_pointer - 16 | 0; - __stack_pointer = $4; - $0 = __wasi_syscall_ret(legalfunc$__wasi_fd_seek(HEAP32[$0 + 60 >> 2], $1, $2, $3 & 255, $4 + 8 | 0)); - __stack_pointer = $4 + 16 | 0; - $2 = HEAP32[$4 + 12 >> 2]; - i64toi32_i32$HIGH_BITS = $0 ? -1 : $2; - $1 = HEAP32[$4 + 8 >> 2]; - return ($0 ? -1 : $1) | 0; -} -function silk_A2NLSF_FLP($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0; - $3 = __stack_pointer + -64 | 0; - __stack_pointer = $3; - if (($2 | 0) >= 1) { - while (1) { - $5 = $4 << 2; - HEAP32[$5 + $3 >> 2] = lrintf(Math_fround(HEAPF32[$1 + $5 >> 2] * Math_fround(65536))); - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - silk_A2NLSF($0, $3, $2); - __stack_pointer = $3 - -64 | 0; -} -function silk_NLSF2A_FLP($0, $1, $2, $3) { - var $4 = 0; - $4 = __stack_pointer - 32 | 0; - __stack_pointer = $4; - silk_NLSF2A($4, $1, $2, $3); - if (($2 | 0) >= 1) { - $1 = 0; - while (1) { - HEAPF32[($1 << 2) + $0 >> 2] = Math_fround(HEAP16[($1 << 1) + $4 >> 1]) * Math_fround(.000244140625); - $1 = $1 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $4 + 32 | 0; -} -function sbrk($0) { - var $1 = 0, $2 = 0; - $1 = HEAP32[13136]; - $2 = $0 + 3 & -4; - $0 = $1 + $2 | 0; - label$1 : { - if ($0 >>> 0 <= $1 >>> 0 ? ($2 | 0) >= 1 : 0) { - break label$1; - } - if (__wasm_memory_size() << 16 >>> 0 < $0 >>> 0) { - if (!(emscripten_resize_heap($0 | 0) | 0)) { - break label$1; - } - } - HEAP32[13136] = $0; - return $1; - } - HEAP32[__errno_location() >> 2] = 48; - return -1; -} -function __wasm_nearest_f32($0) { - var $1 = Math_fround(0), $2 = Math_fround(0); - $1 = Math_fround(Math_floor($0)); - $2 = Math_fround($0 - $1); - if (!($2 < Math_fround(.5))) { - $0 = Math_fround(Math_ceil($0)); - if ($2 > Math_fround(.5)) { - return $0; - } - $2 = Math_fround($1 * Math_fround(.5)); - $1 = Math_fround($2 - Math_fround(Math_floor($2))) == Math_fround(0) ? $1 : $0; - } - return $1; -} -function __sin($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0; - $3 = $0 * $0; - $5 = $3 * ($3 * $3) * ($3 * 1.58969099521155e-10 + -2.5050760253406863e-8) + ($3 * ($3 * 27557313707070068e-22 + -.0001984126982985795) + .00833333333332249); - $4 = $3 * $0; - if (!$2) { - return $4 * ($3 * $5 + -.16666666666666632) + $0; - } - return $0 - ($3 * ($1 * .5 - $4 * $5) - $1 + $4 * .16666666666666632); -} -function opus_packet_get_nb_frames($0, $1) { - var $2 = 0; - $2 = 1; - if (($1 | 0) < 1) { - return -1; - } - label$2 : { - label$3 : { - switch ((HEAPU8[$0 | 0] & 3) - 1 | 0) { - case 0: - case 1: - return 2; - case 2: - break label$3; - default: - break label$2; - } - } - $2 = -4; - if (($1 | 0) < 2) { - break label$2; - } - $2 = HEAPU8[$0 + 1 | 0] & 63; - } - return $2; -} -function dlcalloc($0, $1) { - var $2 = 0, $3 = 0, $4 = 0; - $2 = 0; - label$2 : { - if (!$0) { - break label$2; - } - $3 = __wasm_i64_mul($0, 0, $1, 0); - $4 = i64toi32_i32$HIGH_BITS; - $2 = $3; - if (($0 | $1) >>> 0 < 65536) { - break label$2; - } - $2 = $4 ? -1 : $3; - } - $3 = $2; - $0 = dlmalloc($3); - if (!(!$0 | !(HEAPU8[$0 - 4 | 0] & 3))) { - memset($0, 0, $3); - } - return $0; -} -function __towrite($0) { - var $1 = 0; - $1 = HEAPU8[$0 + 74 | 0]; - HEAP8[$0 + 74 | 0] = $1 | $1 - 1; - $1 = HEAP32[$0 >> 2]; - if ($1 & 8) { - HEAP32[$0 >> 2] = $1 | 32; - return -1; - } - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - $1 = HEAP32[$0 + 44 >> 2]; - HEAP32[$0 + 28 >> 2] = $1; - HEAP32[$0 + 20 >> 2] = $1; - HEAP32[$0 + 16 >> 2] = HEAP32[$0 + 48 >> 2] + $1; - return 0; -} -function silk_lin2log($0) { - var $1 = 0, $2 = 0; - $1 = Math_clz32($0); - $2 = 24 - $1 | 0; - label$1 : { - if (!$2) { - break label$1; - } - if ($0 >>> 0 <= 127) { - $0 = $0 << 0 - $2 | $0 >>> 56 - $1; - break label$1; - } - $0 = $0 << $1 + 8 | $0 >>> $2; - } - $0 = $0 & 127; - return ($0 - ($1 << 7) + (Math_imul(Math_imul(128 - $0 | 0, $0), 179) >>> 16) | 0) + 3968 | 0; -} -function isqrt32($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $2 = 31 - Math_clz32($0) >> 1; - $3 = 1 << $2; - while (1) { - $1 = ($4 << 1) + $3 << $2; - $5 = $1; - $1 = $0 >>> 0 < $1 >>> 0; - $0 = $0 - ($1 ? 0 : $5) | 0; - $4 = ($1 ? 0 : $3) + $4 | 0; - $1 = ($2 | 0) > 0; - $3 = $3 >>> 1 | 0; - $2 = $2 - 1 | 0; - if ($1) { - continue; - } - break; - } - return $4; -} -function ec_enc_init($0, $1, $2) { - HEAP32[$0 + 24 >> 2] = 0; - HEAP32[$0 + 28 >> 2] = -2147483648; - HEAP32[$0 + 16 >> 2] = 0; - HEAP32[$0 + 20 >> 2] = 33; - HEAP32[$0 + 8 >> 2] = 0; - HEAP32[$0 + 12 >> 2] = 0; - HEAP32[$0 >> 2] = $1; - HEAP32[$0 + 32 >> 2] = 0; - HEAP32[$0 + 36 >> 2] = 0; - HEAP32[$0 + 40 >> 2] = -1; - HEAP32[$0 + 44 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = $2; -} -function opus_packet_get_samples_per_frame($0, $1) { - $0 = HEAPU8[$0 | 0]; - if ($0 & 128) { - return ($1 << ($0 >>> 3 & 3)) / 400 | 0; - } - if (($0 & 96) == 96) { - if ($0 & 8) { - return ($1 | 0) / 50 | 0; - } - return ($1 | 0) / 100 | 0; - } - $0 = $0 >>> 3 & 3; - if (($0 | 0) == 3) { - return (Math_imul($1, 60) | 0) / 1e3 | 0; - } - return ($1 << $0) / 100 | 0; -} -function __cos($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $2 = $0 * $0; - $3 = $2 * .5; - $4 = 1 - $3; - $5 = 1 - $4 - $3; - $3 = $2 * $2; - return $4 + ($5 + ($2 * ($2 * ($2 * ($2 * 2480158728947673e-20 + -.001388888888887411) + .0416666666666666) + $3 * $3 * ($2 * ($2 * -1.1359647557788195e-11 + 2.087572321298175e-9) + -2.7557314351390663e-7)) - $0 * $1)); -} -function silk_autocorrelation_FLP($0, $1, $2, $3) { - var $4 = 0, $5 = 0; - $4 = ($2 | 0) < ($3 | 0) ? $2 : $3; - if (($4 | 0) >= 1) { - $3 = 0; - while (1) { - $5 = $3 << 2; - HEAPF32[$5 + $0 >> 2] = silk_inner_product_FLP($1, $1 + $5 | 0, $2 - $3 | 0); - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } -} -function silk_inner_prod_aligned_scale($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - if (($3 | 0) >= 1) { - while (1) { - $5 = $4 << 1; - $6 = (Math_imul(HEAP16[$5 + $1 >> 1], HEAP16[$0 + $5 >> 1]) >> $2) + $6 | 0; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - return $6; -} -function silk_corrVector_FLP($0, $1, $2, $3, $4) { - var $5 = 0; - if (($3 | 0) >= 1) { - $0 = (($3 << 2) + $0 | 0) - 4 | 0; - while (1) { - HEAPF32[($5 << 2) + $4 >> 2] = silk_inner_product_FLP($0, $1, $2); - $0 = $0 - 4 | 0; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - } -} -function getint($0) { - var $1 = 0, $2 = 0, $3 = 0; - if (isdigit(HEAP8[HEAP32[$0 >> 2]])) { - while (1) { - $1 = HEAP32[$0 >> 2]; - $3 = HEAP8[$1 | 0]; - HEAP32[$0 >> 2] = $1 + 1; - $2 = (Math_imul($2, 10) + $3 | 0) - 48 | 0; - if (isdigit(HEAP8[$1 + 1 | 0])) { - continue; - } - break; - } - } - return $2; -} -function ec_tell_frac($0) { - var $1 = 0, $2 = 0, $3 = 0; - $2 = HEAP32[$0 + 20 >> 2] << 3; - $0 = HEAP32[$0 + 28 >> 2]; - $1 = Math_clz32($0); - $0 = $0 >>> 16 - $1 | 0; - $3 = $0; - $0 = ($0 >>> 12 | 0) - 8 | 0; - return ((($2 + ($1 << 3) | 0) - ($3 >>> 0 > HEAPU32[($0 << 2) + 32816 >> 2]) | 0) - $0 | 0) - 256 | 0; -} -function ec_enc_shrink($0, $1) { - var $2 = 0, $3 = 0; - $2 = HEAP32[$0 + 8 >> 2]; - if ($2 + HEAP32[$0 + 24 >> 2] >>> 0 > $1 >>> 0) { - celt_fatal(7097, 7019, 238); - abort(); - } - $3 = HEAP32[$0 >> 2]; - memmove(($3 + $1 | 0) - $2 | 0, (HEAP32[$0 + 4 >> 2] + $3 | 0) - $2 | 0, $2); - HEAP32[$0 + 4 >> 2] = $1; -} -function silk_init_encoder($0, $1) { - $0 = memset($0, 0, 10064); - HEAP32[$0 + 5092 >> 2] = $1; - $1 = silk_lin2log(3932160); - HEAP32[$0 + 4664 >> 2] = 1; - $1 = ($1 << 8) - 524288 | 0; - HEAP32[$0 + 12 >> 2] = $1; - HEAP32[$0 + 8 >> 2] = $1; - return silk_VAD_Init($0 + 36 | 0); -} -function ec_decode($0, $1) { - var $2 = 0; - $2 = HEAPU32[$0 + 28 >> 2] / ($1 >>> 0) | 0; - HEAP32[$0 + 36 >> 2] = $2; - $0 = HEAPU32[$0 + 32 >> 2] / ($2 >>> 0) | 0; - $2 = ($0 ^ -1) + $1 | 0; - $0 = $0 + 1 | 0; - $1 = $0 - $1 | 0; - return $2 + ($0 >>> 0 < $1 >>> 0 ? 0 : $1) | 0; -} -function fmt_x($0, $1, $2, $3) { - if ($0 | $1) { - while (1) { - $2 = $2 - 1 | 0; - HEAP8[$2 | 0] = HEAPU8[($0 & 15) + 1600 | 0] | $3; - $0 = ($1 & 15) << 28 | $0 >>> 4; - $1 = $1 >>> 4 | 0; - if ($0 | $1) { - continue; - } - break; - } - } - return $2; -} -function fmt_o($0, $1, $2) { - if ($0 | $1) { - while (1) { - $2 = $2 - 1 | 0; - HEAP8[$2 | 0] = $0 & 7 | 48; - $0 = ($1 & 7) << 29 | $0 >>> 3; - $1 = $1 >>> 3 | 0; - if ($0 | $1) { - continue; - } - break; - } - } - return $2; -} -function silk_gains_ID($0, $1) { - var $2 = 0, $3 = 0; - if (($1 | 0) >= 1) { - while (1) { - $3 = HEAP8[$0 + $2 | 0] + ($3 << 8) | 0; - $2 = $2 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - return $3; -} -function celt_fatal($0, $1, $2) { - var $3 = 0; - $3 = __stack_pointer - 16 | 0; - __stack_pointer = $3; - HEAP32[$3 + 8 >> 2] = $0; - HEAP32[$3 + 4 >> 2] = $2; - HEAP32[$3 >> 2] = $1; - fiprintf(HEAP32[278], 1616, $3); - abort(); - abort(); -} -function legalstub$dynCall_jiji($0, $1, $2, $3, $4) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $0 = dynCall_jiji($0, $1, $2, $3, $4); - $2 = i64toi32_i32$HIGH_BITS; - setTempRet0($2 | 0); - return $0 | 0; -} -function speex_resampler_destroy($0) { - $0 = $0 | 0; - dlfree(HEAP32[$0 + 72 >> 2]); - dlfree(HEAP32[$0 + 76 >> 2]); - dlfree(HEAP32[$0 + 60 >> 2]); - dlfree(HEAP32[$0 + 68 >> 2]); - dlfree(HEAP32[$0 + 64 >> 2]); - dlfree($0); -} -function __DOUBLE_BITS($0) { - var $1 = 0, $2 = 0; - wasm2js_scratch_store_f64(+$0); - $1 = wasm2js_scratch_load_i32(1) | 0; - $2 = wasm2js_scratch_load_i32(0) | 0; - i64toi32_i32$HIGH_BITS = $1; - return $2; -} -function celt_encoder_get_size($0) { - var $1 = 0; - $1 = opus_custom_mode_create(48e3, 960, 0); - return Math_imul(((HEAP32[$1 + 4 >> 2] << 2) + (HEAP32[$1 + 8 >> 2] << 4) | 0) + 4096 | 0, $0) + 244 | 0; -} -function fiprintf($0, $1, $2) { - var $3 = 0; - $3 = __stack_pointer - 16 | 0; - __stack_pointer = $3; - HEAP32[$3 + 12 >> 2] = $2; - $2 = vfiprintf($0, $1, $2); - __stack_pointer = $3 + 16 | 0; - return $2; -} -function encode_size($0, $1) { - var $2 = 0; - if (($0 | 0) <= 251) { - HEAP8[$1 | 0] = $0; - return 1; - } - $2 = $0 | -4; - HEAP8[$1 | 0] = $2; - HEAP8[$1 + 1 | 0] = $0 - ($2 & 255) >>> 2; - return 2; -} -function speex_resampler_init($0, $1, $2, $3, $4) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - return speex_resampler_init_frac($0, $1, $2, $1, $2, $3, $4) | 0; -} -function __wasm_i64_udiv($0, $1, $2, $3) { - $3 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E($0, $1, $2, $3); - return $3; -} -function __wasm_rotl_i32($0, $1) { - var $2 = 0; - $2 = $1 & 31; - $1 = 0 - $1 & 31; - return (-1 >>> $2 & $0) << $2 | (-1 << $1 & $0) >>> $1; -} -function lrintf($0) { - $0 = rintf($0); - if (Math_fround(Math_abs($0)) < Math_fround(2147483648)) { - return ~~$0; - } - return -2147483648; -} -function legalfunc$__wasi_fd_seek($0, $1, $2, $3, $4) { - return legalimport$__wasi_fd_seek($0 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0) | 0; -} -function __wasm_i64_mul($0, $1, $2, $3) { - $3 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0, $1, $2, $3); - return $3; -} -function tonality_analysis_init($0, $1) { - HEAP32[$0 + 8 >> 2] = $1; - HEAP32[$0 >> 2] = 0; - memset($0 + 12 | 0, 0, 13992); -} -function stackAlloc($0) { - $0 = $0 | 0; - $0 = __stack_pointer - $0 & -16; - __stack_pointer = $0; - return $0 | 0; -} -function silk_resampler_private_up2_HQ_wrapper($0, $1, $2, $3) { - silk_resampler_private_up2_HQ($0, $1, $2, $3); -} -function __wasi_syscall_ret($0) { - if (!$0) { - return 0; - } - HEAP32[__errno_location() >> 2] = $0; - return -1; -} -function dynCall_jiji($0, $1, $2, $3, $4) { - $3 = FUNCTION_TABLE[$0 | 0]($1, $2, $3, $4) | 0; - return $3; -} -function __stdio_close($0) { - $0 = $0 | 0; - return __wasi_fd_close(dummy(HEAP32[$0 + 60 >> 2]) | 0) | 0; -} -function __wasm_ctz_i32($0) { - if ($0) { - return 31 - Math_clz32($0 - 1 ^ $0) | 0; - } - return 32; -} - - - -function opus_repacketizer_cat($0, $1, $2) { - return opus_repacketizer_cat_impl($0, $1, $2, 0); -} -function out($0, $1, $2) { - if (!(HEAPU8[$0 | 0] & 32)) { - __fwritex($1, $2, $0); - } -} -function wctomb($0, $1) { - if (!$0) { - return 0; - } - return wcrtomb($0, $1, 0); -} -function vfiprintf($0, $1, $2) { - return __vfprintf_internal($0, $1, $2, 0, 0); -} -function silk_stereo_encode_mid_only($0, $1) { - ec_enc_icdf($0, $1, 5801, 8); -} -function opus_repacketizer_init($0) { - HEAP32[$0 + 4 >> 2] = 0; - return $0; -} -function silk_Get_Encoder_Size($0) { - HEAP32[$0 >> 2] = 20216; - return 0; -} -function tonality_analysis_reset($0) { - memset($0 + 12 | 0, 0, 13992); -} -function stackRestore($0) { - $0 = $0 | 0; - __stack_pointer = $0; -} -function opus_encoder_destroy($0) { - $0 = $0 | 0; - dlfree($0); -} -function rintf($0) { - return __wasm_nearest_f32($0); -} -function stackSave() { - return __stack_pointer | 0; -} -function isdigit($0) { - return $0 - 48 >>> 0 < 10; -} -function floor($0) { - return Math_floor($0); -} -function __errno_location() { - return 52924; -} -function __pthread_self() { - return 52696; -} -function __lockfile($0) { - return 1; -} -function dummy($0) { - return $0; -} -function __wasm_call_ctors() {} -function __unlockfile($0) {} - -// EMSCRIPTEN_END_FUNCS - -; - bufferView = HEAPU8; - initActiveSegments(env); - var FUNCTION_TABLE = Table([null, __stdio_close, __stdio_write, __stdio_seek, downmix_float, resampler_basic_direct_double, resampler_basic_direct_single, resampler_basic_interpolate_double, resampler_basic_interpolate_single, resampler_basic_zero]); - function __wasm_memory_size() { - return buffer.byteLength / 65536 | 0; -} - - return { - "__wasm_call_ctors": __wasm_call_ctors, - "opus_encoder_create": opus_encoder_create, - "opus_encode_float": opus_encode_float, - "opus_encoder_ctl": opus_encoder_ctl, - "opus_encoder_destroy": opus_encoder_destroy, - "speex_resampler_init": speex_resampler_init, - "speex_resampler_destroy": speex_resampler_destroy, - "speex_resampler_process_interleaved_float": speex_resampler_process_interleaved_float, - "__errno_location": __errno_location, - "stackSave": stackSave, - "stackRestore": stackRestore, - "stackAlloc": stackAlloc, - "malloc": dlmalloc, - "free": dlfree, - "__indirect_function_table": FUNCTION_TABLE, - "dynCall_jiji": legalstub$dynCall_jiji -}; -} - - return asmFunc(asmLibraryArg); -} -// EMSCRIPTEN_END_ASM - - - - -)(asmLibraryArg); - }, - - instantiate: /** @suppress{checkTypes} */ function(binary, info) { - return { - then: function(ok) { - var module = new WebAssembly.Module(binary); - ok({ - 'instance': new WebAssembly.Instance(module) - }); - } - }; - }, - - RuntimeError: Error -}; - -// We don't need to actually download a wasm binary, mark it as present but empty. -wasmBinary = []; - -// end include: wasm2js.js -if (typeof WebAssembly !== 'object') { - abort('no native wasm support detected'); -} - -// include: runtime_safe_heap.js - - -// In MINIMAL_RUNTIME, setValue() and getValue() are only available when building with safe heap enabled, for heap safety checking. -// In traditional runtime, setValue() and getValue() are always available (although their use is highly discouraged due to perf penalties) - -/** @param {number} ptr - @param {number} value - @param {string} type - @param {number|boolean=} noSafe */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': HEAP8[((ptr)>>0)] = value; break; - case 'i8': HEAP8[((ptr)>>0)] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)] = tempI64[0],HEAP32[(((ptr)+(4))>>2)] = tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - default: abort('invalid type for setValue: ' + type); - } -} - -/** @param {number} ptr - @param {string} type - @param {number|boolean=} noSafe */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for getValue: ' + type); - } - return null; -} - -// end include: runtime_safe_heap.js -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); - return func; -} - -// C calling interface. -/** @param {string|null=} returnType - @param {Array=} argTypes - @param {Arguments|Array=} args - @param {Object=} opts */ -function ccall(ident, returnType, argTypes, args, opts) { - // For fast lookup of conversion functions - var toC = { - 'string': function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - var len = (str.length << 2) + 1; - ret = stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - }, - 'array': function(arr) { - var ret = stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - } - }; - - function convertReturnValue(ret) { - if (returnType === 'string') return UTF8ToString(ret); - if (returnType === 'boolean') return Boolean(ret); - return ret; - } - - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - - ret = convertReturnValue(ret); - if (stack !== 0) stackRestore(stack); - return ret; -} - -/** @param {string=} returnType - @param {Array=} argTypes - @param {Object=} opts */ -function cwrap(ident, returnType, argTypes, opts) { - argTypes = argTypes || []; - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = returnType !== 'string'; - if (numericRet && numericArgs && !opts) { - return getCFunc(ident); - } - return function() { - return ccall(ident, returnType, argTypes, arguments, opts); - } -} - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((Uint8Array|Array), number)} */ -function allocate(slab, allocator) { - var ret; - - if (allocator == ALLOC_STACK) { - ret = stackAlloc(slab.length); - } else { - ret = _malloc(slab.length); - } - - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */(slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; -} - -// include: runtime_strings.js - - -// runtime_strings.js: Strings related runtime functions that are part of both MINIMAL_RUNTIME and regular runtime. - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; - -/** - * @param {number} idx - * @param {number=} maxBytesToRead - * @return {string} - */ -function UTF8ArrayToString(heap, idx, maxBytesToRead) { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity) - while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { - return UTF8Decoder.decode(heap.subarray(idx, endPtr)); - } else { - var str = ''; - // If building with TextDecoder, we have already computed the string length above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heap[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heap[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heap[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } - return str; -} - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns a -// copy of that string as a Javascript String object. -// maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit -// this parameter to scan the string until the first \0 byte. If maxBytesToRead is -// passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the -// middle, then the string will cut short at that byte index (i.e. maxBytesToRead will -// not produce a string of exact length [ptr, ptr+maxBytesToRead[) -// N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may -// throw JS JIT optimizations off, so it is worth to consider consistently using one -// style or the other. -/** - * @param {number} ptr - * @param {number=} maxBytesToRead - * @return {string} - */ -function UTF8ToString(ptr, maxBytesToRead) { - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; -} - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// heap: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. -// This count should include the null terminator, -// i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) ++len; - else if (u <= 0x7FF) len += 2; - else if (u <= 0xFFFF) len += 3; - else len += 4; - } - return len; -} - -// end include: runtime_strings.js -// include: runtime_strings_extra.js - - -// runtime_strings_extra.js: Strings related runtime functions that are available only in regular runtime. - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAPU8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; - -function UTF16ToString(ptr, maxBytesToRead) { - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - var maxIdx = idx + maxBytesToRead / 2; - // If maxBytesToRead is not passed explicitly, it will be undefined, and this - // will always evaluate to true. This saves on code size. - while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var str = ''; - - // If maxBytesToRead is not passed explicitly, it will be undefined, and the for-loop's condition - // will always evaluate to true. The loop is then terminated on the first null char. - for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) break; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - - return str; - } -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)] = codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)] = 0; - return outPtr - startPtr; -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - -function UTF32ToString(ptr, maxBytesToRead) { - var i = 0; - - var str = ''; - // If maxBytesToRead is not passed explicitly, it will be undefined, and this - // will always evaluate to true. This saves on code size. - while (!(i >= maxBytesToRead / 4)) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) break; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } - return str; -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)] = codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)] = 0; - return outPtr - startPtr; -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - -// Allocate heap space for a JS string, and write it there. -// It is the responsibility of the caller to free() that memory. -function allocateUTF8(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = _malloc(size); - if (ret) stringToUTF8Array(str, HEAP8, ret, size); - return ret; -} - -// Allocate stack space for a JS string, and write it there. -function allocateUTF8OnStack(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8Array(str, HEAP8, ret, size); - return ret; -} - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated - @param {boolean=} dontAddNull */ -function writeStringToMemory(string, buffer, dontAddNull) { - warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} - -function writeArrayToMemory(array, buffer) { - HEAP8.set(array, buffer); -} - -/** @param {boolean=} dontAddNull */ -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - HEAP8[((buffer++)>>0)] = str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)] = 0; -} - -// end include: runtime_strings_extra.js -// Memory management - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - HEAPF64; - -function updateGlobalBufferAndViews(buf) { - buffer = buf; - Module['HEAP8'] = HEAP8 = new Int8Array(buf); - Module['HEAP16'] = HEAP16 = new Int16Array(buf); - Module['HEAP32'] = HEAP32 = new Int32Array(buf); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buf); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buf); -} - -var TOTAL_STACK = 5242880; - -var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216; - -// In non-standalone/normal mode, we create the memory here. -// include: runtime_init_memory.js - - -// Create the wasm memory. (Note: this only applies if IMPORTED_MEMORY is defined) - - if (Module['wasmMemory']) { - wasmMemory = Module['wasmMemory']; - } else - { - wasmMemory = new WebAssembly.Memory({ - 'initial': INITIAL_MEMORY / 65536 - , - 'maximum': INITIAL_MEMORY / 65536 - }); - } - -if (wasmMemory) { - buffer = wasmMemory.buffer; -} - -// If the user provides an incorrect length, just use that length instead rather than providing the user to -// specifically provide the memory length with Module['INITIAL_MEMORY']. -INITIAL_MEMORY = buffer.byteLength; -updateGlobalBufferAndViews(buffer); - -// end include: runtime_init_memory.js - -// include: runtime_init_table.js -// In regular non-RELOCATABLE mode the table is exported -// from the wasm module and this will be assigned once -// the exports are available. -var wasmTable; - -// end include: runtime_init_table.js -// include: runtime_stack_check.js - - -// end include: runtime_stack_check.js -// include: runtime_assertions.js - - -// end include: runtime_assertions.js -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the main() is called - -var runtimeInitialized = false; -var runtimeExited = false; - -__ATINIT__.push({ func: function() { ___wasm_call_ctors() } }); - -function preRun() { - - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - - callRuntimeCallbacks(__ATPRERUN__); -} - -function initRuntime() { - runtimeInitialized = true; - - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - runtimeExited = true; -} - -function postRun() { - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} - -function addOnExit(cb) { -} - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} - -// include: runtime_math.js - - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc - -// end include: runtime_math.js -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled - -function getUniqueRunDependency(id) { - return id; -} - -function addRunDependency(id) { - runDependencies++; - - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - -} - -function removeRunDependency(id) { - runDependencies--; - - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - -/** @param {string|number=} what */ -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - what += ''; - err(what); - - ABORT = true; - EXITSTATUS = 1; - - what = 'abort(' + what + '). Build with -s ASSERTIONS=1 for more info.'; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -// {{MEM_INITIALIZER}} - -// include: memoryprofiler.js - - -// end include: memoryprofiler.js -// include: URIUtils.js - - -function hasPrefix(str, prefix) { - return String.prototype.startsWith ? - str.startsWith(prefix) : - str.indexOf(prefix) === 0; -} - -// Prefix of data URIs emitted by SINGLE_FILE and related options. -var dataURIPrefix = 'data:application/octet-stream;base64,'; - -// Indicates whether filename is a base64 data URI. -function isDataURI(filename) { - return hasPrefix(filename, dataURIPrefix); -} - -var fileURIPrefix = "file://"; - -// Indicates whether filename is delivered via file protocol (as opposed to http/https) -function isFileURI(filename) { - return hasPrefix(filename, fileURIPrefix); -} - -// end include: URIUtils.js -var wasmBinaryFile = '<<< WASM_BINARY_FILE >>>'; -if (!isDataURI(wasmBinaryFile)) { - wasmBinaryFile = locateFile(wasmBinaryFile); -} - -function getBinary(file) { - try { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - var binary = tryParseAsDataURI(file); - if (binary) { - return binary; - } - if (readBinary) { - return readBinary(file); - } else { - throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; - } - } - catch (err) { - abort(err); - } -} - -function getBinaryPromise() { - // If we don't have the binary yet, try to to load it asynchronously. - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. - if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { - if (typeof fetch === 'function' - && !isFileURI(wasmBinaryFile) - ) { - return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { - if (!response['ok']) { - throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; - } - return response['arrayBuffer'](); - }).catch(function () { - return getBinary(wasmBinaryFile); - }); - } - else { - if (readAsync) { - // fetch is not available or url is file => try XHR (readAsync uses XHR internally) - return new Promise(function(resolve, reject) { - readAsync(wasmBinaryFile, function(response) { resolve(new Uint8Array(/** @type{!ArrayBuffer} */(response))) }, reject) - }); - } - } - } - - // Otherwise, getBinary should be able to get it synchronously - return Promise.resolve().then(function() { return getBinary(wasmBinaryFile); }); -} - -function instantiateSync(file, info) { - var instance; - var module; - var binary; - try { - binary = getBinary(file); - module = new WebAssembly.Module(binary); - instance = new WebAssembly.Instance(module, info); - } catch (e) { - var str = e.toString(); - err('failed to compile wasm module: ' + str); - if (str.indexOf('imported Memory') >= 0 || - str.indexOf('memory import') >= 0) { - err('Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time).'); - } - throw e; - } - return [instance, module]; -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -function createWasm() { - // prepare imports - var info = { - 'env': asmLibraryArg, - 'wasi_snapshot_preview1': asmLibraryArg, - }; - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - var exports = instance.exports; - - Module['asm'] = exports; - - wasmTable = Module['asm']['__indirect_function_table']; - - removeRunDependency('wasm-instantiate'); - } - // we can't run yet (except in a pthread, where we have a custom sync instantiator) - addRunDependency('wasm-instantiate'); - - function receiveInstantiatedSource(output) { - // 'output' is a WebAssemblyInstantiatedSource object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above USE_PTHREADS-enabled path. - receiveInstance(output['instance']); - } - - function instantiateArrayBuffer(receiver) { - return getBinaryPromise().then(function(binary) { - return WebAssembly.instantiate(binary, info); - }).then(receiver, function(reason) { - err('failed to asynchronously prepare wasm: ' + reason); - - abort(reason); - }); - } - - // Prefer streaming instantiation if available. - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel - // to any other async startup actions they are performing. - if (Module['instantiateWasm']) { - try { - var exports = Module['instantiateWasm'](info, receiveInstance); - return exports; - } catch(e) { - err('Module.instantiateWasm callback failed with error: ' + e); - return false; - } - } - - var result = instantiateSync(wasmBinaryFile, info); - receiveInstance(result[0], result[1]); - return Module['asm']; // exports were assigned here -} - -// Globals used by JS i64 conversions (see makeSetValue) -var tempDouble; -var tempI64; - -// === Body === - -var ASM_CONSTS = { - -}; - - - - - - - function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(Module); // Pass the module as the first argument. - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - wasmTable.get(func)(); - } else { - wasmTable.get(func)(callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } - } - - function demangle(func) { - return func; - } - - function demangleAll(text) { - var regex = - /\b_Z[\w\d_]+/g; - return text.replace(regex, - function(x) { - var y = demangle(x); - return x === y ? x : (y + ' [' + x + ']'); - }); - } - - function jsStackTrace() { - var error = new Error(); - if (!error.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - try { - throw new Error(); - } catch(e) { - error = e; - } - if (!error.stack) { - return '(no stack trace available)'; - } - } - return error.stack.toString(); - } - - function stackTrace() { - var js = jsStackTrace(); - if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); - return demangleAll(js); - } - - function _abort() { - abort(); - } - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.copyWithin(dest, src, src + num); - } - - function _emscripten_get_heap_size() { - return HEAPU8.length; - } - - function abortOnCannotGrowMemory(requestedSize) { - abort('OOM'); - } - function _emscripten_resize_heap(requestedSize) { - abortOnCannotGrowMemory(requestedSize); - } - - var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream, curr) { - var buffer = SYSCALLS.buffers[stream]; - if (curr === 0 || curr === 10) { - (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0)); - buffer.length = 0; - } else { - buffer.push(curr); - } - },varargs:undefined,get:function() { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function(ptr) { - var ret = UTF8ToString(ptr); - return ret; - },get64:function(low, high) { - return low; - }}; - function _fd_close(fd) { - return 0; - } - - function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { - } - - function flush_NO_FILESYSTEM() { - // flush anything remaining in the buffers during shutdown - if (typeof _fflush !== 'undefined') _fflush(0); - var buffers = SYSCALLS.buffers; - if (buffers[1].length) SYSCALLS.printChar(1, 10); - if (buffers[2].length) SYSCALLS.printChar(2, 10); - } - function _fd_write(fd, iov, iovcnt, pnum) { - // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 - var num = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - for (var j = 0; j < len; j++) { - SYSCALLS.printChar(fd, HEAPU8[ptr+j]); - } - num += len; - } - HEAP32[((pnum)>>2)] = num - return 0; - } - - function _setTempRet0($i) { - setTempRet0(($i) | 0); - } -var ASSERTIONS = false; - - - -/** @type {function(string, boolean=, number=)} */ -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - if (ASSERTIONS) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - } - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} - - -// Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149 - -// This code was written by Tyler Akins and has been placed in the -// public domain. It would be nice if you left this header intact. -// Base64 code from Tyler Akins -- http://rumkin.com - -/** - * Decodes a base64 string. - * @param {string} input The string to decode. - */ -var decodeBase64 = typeof atob === 'function' ? atob : function (input) { - var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; - - var output = ''; - var chr1, chr2, chr3; - var enc1, enc2, enc3, enc4; - var i = 0; - // remove all characters that are not A-Z, a-z, 0-9, +, /, or = - input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); - do { - enc1 = keyStr.indexOf(input.charAt(i++)); - enc2 = keyStr.indexOf(input.charAt(i++)); - enc3 = keyStr.indexOf(input.charAt(i++)); - enc4 = keyStr.indexOf(input.charAt(i++)); - - chr1 = (enc1 << 2) | (enc2 >> 4); - chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); - chr3 = ((enc3 & 3) << 6) | enc4; - - output = output + String.fromCharCode(chr1); - - if (enc3 !== 64) { - output = output + String.fromCharCode(chr2); - } - if (enc4 !== 64) { - output = output + String.fromCharCode(chr3); - } - } while (i < input.length); - return output; -}; - -// Converts a string of base64 into a byte array. -// Throws error on invalid input. -function intArrayFromBase64(s) { - if (typeof ENVIRONMENT_IS_NODE === 'boolean' && ENVIRONMENT_IS_NODE) { - var buf; - try { - // TODO: Update Node.js externs, Closure does not recognize the following Buffer.from() - /**@suppress{checkTypes}*/ - buf = Buffer.from(s, 'base64'); - } catch (_) { - buf = new Buffer(s, 'base64'); - } - return new Uint8Array(buf['buffer'], buf['byteOffset'], buf['byteLength']); - } - - try { - var decoded = decodeBase64(s); - var bytes = new Uint8Array(decoded.length); - for (var i = 0 ; i < decoded.length ; ++i) { - bytes[i] = decoded.charCodeAt(i); - } - return bytes; - } catch (_) { - throw new Error('Converting base64 string to bytes failed.'); - } -} - -// If filename is a base64 data URI, parses and returns data (Buffer on node, -// Uint8Array otherwise). If filename is not a base64 data URI, returns undefined. -function tryParseAsDataURI(filename) { - if (!isDataURI(filename)) { - return; - } - - return intArrayFromBase64(filename.slice(dataURIPrefix.length)); -} - - -var asmLibraryArg = { - "abort": _abort, - "emscripten_memcpy_big": _emscripten_memcpy_big, - "emscripten_resize_heap": _emscripten_resize_heap, - "fd_close": _fd_close, - "fd_seek": _fd_seek, - "fd_write": _fd_write, - "getTempRet0": getTempRet0, - "memory": wasmMemory, - "setTempRet0": setTempRet0 -}; -var asm = createWasm(); -/** @type {function(...*):?} */ -var ___wasm_call_ctors = Module["___wasm_call_ctors"] = asm["__wasm_call_ctors"] - -/** @type {function(...*):?} */ -var _opus_encoder_create = Module["_opus_encoder_create"] = asm["opus_encoder_create"] - -/** @type {function(...*):?} */ -var _opus_encode_float = Module["_opus_encode_float"] = asm["opus_encode_float"] - -/** @type {function(...*):?} */ -var _opus_encoder_ctl = Module["_opus_encoder_ctl"] = asm["opus_encoder_ctl"] - -/** @type {function(...*):?} */ -var _opus_encoder_destroy = Module["_opus_encoder_destroy"] = asm["opus_encoder_destroy"] - -/** @type {function(...*):?} */ -var _speex_resampler_init = Module["_speex_resampler_init"] = asm["speex_resampler_init"] - -/** @type {function(...*):?} */ -var _speex_resampler_destroy = Module["_speex_resampler_destroy"] = asm["speex_resampler_destroy"] - -/** @type {function(...*):?} */ -var _speex_resampler_process_interleaved_float = Module["_speex_resampler_process_interleaved_float"] = asm["speex_resampler_process_interleaved_float"] - -/** @type {function(...*):?} */ -var ___errno_location = Module["___errno_location"] = asm["__errno_location"] - -/** @type {function(...*):?} */ -var stackSave = Module["stackSave"] = asm["stackSave"] - -/** @type {function(...*):?} */ -var stackRestore = Module["stackRestore"] = asm["stackRestore"] - -/** @type {function(...*):?} */ -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"] - -/** @type {function(...*):?} */ -var _malloc = Module["_malloc"] = asm["malloc"] - -/** @type {function(...*):?} */ -var _free = Module["_free"] = asm["free"] - -/** @type {function(...*):?} */ -var dynCall_jiji = Module["dynCall_jiji"] = asm["dynCall_jiji"] - - - - - -// === Auto-generated postamble setup entry stuff === - - - -var calledRun; - -/** - * @constructor - * @this {ExitStatus} - */ -function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status; -} - -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!calledRun) run(); - if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -}; - -/** @type {function(Array=)} */ -function run(args) { - args = args || arguments_; - - if (runDependencies > 0) { - return; - } - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - if (calledRun) return; - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(function() { - setTimeout(function() { - Module['setStatus'](''); - }, 1); - doRun(); - }, 1); - } else - { - doRun(); - } -} -Module['run'] = run; - -/** @param {boolean|number=} implicit */ -function exit(status, implicit) { - - // if this is just main exit-ing implicitly, and the status is 0, then we - // don't need to do anything here and can just leave. if the status is - // non-zero, though, then we need to report it. - // (we may have warned about this earlier, if a situation justifies doing so) - if (implicit && noExitRuntime && status === 0) { - return; - } - - if (noExitRuntime) { - } else { - - EXITSTATUS = status; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - - ABORT = true; - } - - quit_(status, new ExitStatus(status)); -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -run(); - - - - - - -return Module; -}, 'OpusEncoderLib'));//END: UMD wrapper - diff --git a/static/libopus-encoder.min.js b/static/libopus-encoder.min.js deleted file mode 100644 index f7394ab..0000000 --- a/static/libopus-encoder.min.js +++ /dev/null @@ -1,27 +0,0 @@ -var Module=typeof Module!=="undefined"?Module:{};(function(root,factory,globalExport){var lib,env;if(typeof define==="function"&&define.amd){define(["require"],function(req){lib=factory(root,req);return lib})}else if(typeof module==="object"&&module.exports){env=typeof process!=="undefined"&&process&&process.env?process.env:root;lib=factory(env,module.require);module.exports=lib}else{lib=factory(root);root[globalExport]=lib}})(typeof self!=="undefined"?self:typeof window!=="undefined"?window:typeof global!=="undefined"?global:this,function(global,require){null;var Module={};Module["isReady"]=false;Module["onready"]=null;Module["onRuntimeInitialized"]=function(){Module["isReady"]=true;if(Module["onready"])setTimeout(Module["onready"],0)};if(global&&global.OPUS_SCRIPT_LOCATION){Module["locateFile"]=function(fileName){var path=global.OPUS_SCRIPT_LOCATION||"";if(path[fileName])return path[fileName];path+=path&&!/\/$/.test(path)?"/":"";return path+fileName}}var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( -// EMSCRIPTEN_START_ASM -function instantiate(ue){function le(ve){ve.set=(function(we,xe){this[we]=xe});ve.get=(function(we){return this[we]});return ve}var a;var b=new ArrayBuffer(16);var c=new Int32Array(b);var d=new Float32Array(b);var e=new Float64Array(b);function me(ye){return c[ye]}function ne(ye,ze){c[ye]=ze}function oe(){return e[0]}function pe(ze){e[0]=ze}function qe(ze){d[2]=ze}function re(){return d[2]}function se(Ae){var f=Ae.a;var g=f.buffer;var h=new Int8Array(g);var i=new Int16Array(g);var j=new Int32Array(g);var k=new Uint8Array(g);var l=new Uint16Array(g);var m=new Uint32Array(g);var n=new Float32Array(g);var o=new Float64Array(g);var p=Math.imul;var q=Math.fround;var r=Math.abs;var s=Math.clz32;var t=Math.min;var u=Math.max;var v=Math.floor;var w=Math.ceil;var x=Math.trunc;var y=Math.sqrt;var z=Ae.abort;var A=NaN;var B=Infinity;var C=Ae.b;var D=Ae.c;var E=Ae.d;var F=Ae.e;var G=Ae.f;var H=Ae.g;var I=5296384;var J=0; -// EMSCRIPTEN_START_FUNCS -function ob(a,b,c,d,e,f,g,l,m,o,t,u){var w=0,x=0,y=q(0),A=0,B=q(0),C=q(0),D=0,E=0,F=0,G=q(0),H=0,J=0,K=0,N=0,R=0,S=0,V=0,W=0,X=0,Y=0,Z=q(0),_=0,$=0,aa=0,ba=0,ca=0,da=q(0),ea=0,ha=0,ja=0,ka=q(0),la=0,ma=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=q(0),va=q(0);x=I-624|0;I=x;j[x+616>>2]=0;j[a+18136>>2]=0;w=-1;a:{if((c|0)<1){break a}J=(e|0)<1276?e:1276;if((J|0)<1){break a}if((J|0)==1){w=-2;if(j[a+144>>2]==(p(c,10)|0)){break a}}E=j[a>>2]+a|0;ea=j[a+4>>2];aa=j[a+108>>2]!=2051?j[a+116>>2]:aa;w=j[a+168>>2];j[x+416>>2]=x+612;P(E,10015,x+416|0);j[x+544>>2]=0;X=(f|0)<(w|0)?f:w;b:{c:{d:{e:{f:{g:{if(j[a+44>>2]<7){break g}f=j[a+144>>2];if((f|0)<16e3){break g}ja=1;A=p(j[a+112>>2],c);if((A|0)>=1){w=0;while(1){B=n[(w<<2)+b>>2];C=B>C?C:B;y=y>B?y:B;w=w+1|0;if((A|0)!=(w|0)){continue}break}}$=j[a+7640>>2];V=j[a+7636>>2];Wc(a+188|0,j[x+612>>2],g,l,c,m,o,f,X,t,x+544|0);B=q(-C);qa=0;if(q(q(1)/q(1<=(y>B?y:B)){break b}if(n[x+580>>2]>q(.10000000149011612)^1){break c}C=q(n[a+18128>>2]*q(.9990000128746033));f=p(j[a+112>>2],c);if((f|0)<1){break f}w=0;y=q(0);while(1){B=y;y=n[(w<<2)+b>>2];y=q(B+q(y*y));w=w+1|0;if((f|0)!=(w|0)){continue}break}B=q(f|0);if(q(y/B)>2];y=q(C+q(y*y));w=w+1|0;if((f|0)!=(w|0)){continue}break}break e}$=-1;if(j[a+7648>>2]){ub(a+188|0)}V=-1;break c}y=q(0);B=q(f|0);if(q(q(0)/B)>2]=C}j[a+140>>2]=-1;ja=0;qa=1}j[a+18120>>2]=0;if(j[x+544>>2]){if(j[a+124>>2]==-1e3){f=a;h:{i:{g=j[a+14228>>2];if((g|0)!=1002){if(g){break i}g=x+564|0;break h}g=x+572|0;break h}g=x+568|0}sa=v(+q(q(q(1)-n[g>>2])*q(100))+.5);j:{if(r(sa)<2147483648){g=~~sa;break j}g=-2147483648}j[f+140>>2]=g}f=a;l=j[x+576>>2];g=1101;k:{if((l|0)<13){break k}g=1102;if((l|0)<15){break k}g=1103;if((l|0)<17){break k}g=(l|0)<19?1104:1105}j[f+18120>>2]=g}y=q(0);if(!(j[a+120>>2]==1|j[a+112>>2]!=2)){y=Oc(b,c,j[a+144>>2],a+14260|0)}f=c;if(!f){f=j[a+144>>2]/400|0}l:{m:{w=j[a+164>>2];if((w|0)!=-1e3){if((w|0)==-1){break m}g=j[a+144>>2];break l}g=j[a+144>>2];w=p(g,j[a+112>>2])+((p(g,60)|0)/(f|0)|0)|0;break l}g=j[a+144>>2];w=(p(J,g)<<3)/(f|0)|0}j[a+160>>2]=w;S=(g|0)/(c|0)|0;n:{o:{p:{Y=j[a+148>>2];q:{if(!Y){f=(p(g,12)|0)/(c|0)|0;l=(((f|0)/2|0)+((p(w,12)|0)/8|0)|0)/(f|0)|0;J=(l|0)<(J|0)?l:J;w=(p(J,f)<<3)/12|0;j[a+160>>2]=w;f=1;if((J|0)<2){break q}}r:{if((J|0)<3|(p(S,24)|0)>(w|0)){break r}ba=p(J,S);if((S|0)>49){break p}if((ba|0)<300){break r}if((w|0)>=2400){break o}}f=J}b=j[a+14240>>2];l=b?b:1101;g=0;m=j[a+14192>>2];w=0;b=j[a+14224>>2];A=(S|0)>100?1002:b?b:1e3;b=(S|0)==25&(A|0)!=1e3;c=b?50:S;s:{if((c|0)>16){break s}if(!((c|0)==10|(A|0)!=1e3?(e|0)!=1:0)){b=(c|0)<13;A=1e3;c=(c|0)==12?25:16;break s}g=50/(c|0)|0;b=3;c=50}if((c|0)<=399){while(1){w=w+1|0;c=c<<1;if((c|0)<400){continue}break}w=w<<3}t:{if((l|0)>=1104){c=1103;if((A|0)==1e3){break t}}if((l|0)==1102){c=1101;if((A|0)==1002){break t}}c=(l|0)<1105?(A|0)==1001?1104:l:l}e=d;u:{v:{switch(A-1e3|0){case 0:c=w-16|(c<<5)+96&224;break u;case 2:c=(((c|0)>1102?c:1102)<<5)- -64&96|w|128;break u;default:break v}}c=w+240|c<<4|96}h[e|0]=c|(((m|0)==2)<<2|b);if((b|0)==3){h[d+1|0]=g}w=b>>>0<2?1:2;if(j[a+148>>2]){break a}a=(f|0)>(w|0)?f:w;w=pb(d,w,a)?-3:a;break a}ta=ba<<3;m=j[a+40>>2];R=j[a+44>>2];D=j[a+112>>2];f=w;if((S|0)==50){break n}ca=1;f=p(p(D,-40)-20|0,S-50|0)+w|0;break n}ta=ba<<3;m=j[a+40>>2];R=j[a+44>>2];D=j[a+112>>2];f=w}l=R+90|0;t=(p(l,Y?f:f+((f|0)/-12|0)|0)|0)/100|0;N=p(m,12)+20|0;A=(p(t,m)|0)/(N|0)|0;o=127;w:{x:{switch(j[a+124>>2]-3001|0){case 1:o=0;break w;case 0:break w;default:break x}}f=j[a+140>>2];if((f|0)>=0){o=p(f,327)>>8;if(j[a+108>>2]!=2049){break w}o=(o|0)<115?o:115;break w}o=j[a+108>>2]==2048?115:48}f=j[a+120>>2];y:{z:{if((f|0)!=-1e3){if((D|0)!=2){break z}j[a+14192>>2]=f;D=f;break y}if((D|0)!=2){break z}D=((p(p(o,o),2e3)>>>14|0)+(j[a+14192>>2]==2?16e3:18e3)|0)<(t-A|0)?2:1}j[a+14192>>2]=D}_=!(j[x+544>>2]|ja)&j[a+184>>2]!=0;j[a+56>>2]=_;t=ca?p(p(D,-40)-20|0,S-50|0)+w|0:w;A=(p(Y?t:((t|0)/-12|0)+t|0,l)|0)/100|0;F=(p(A,m)|0)/(N|0)|0;K=j[a+108>>2];A:{if((K|0)==2051){t=1002;j[a+14224>>2]=1002;K=a+14224|0;F=((g|0)/100|0)>(c|0);break A}f=j[a+136>>2];B:{if((f|0)==-1e3){H=a;F=A-F|0;B=q(q(1)-y);C=q(q(y*q(1e4))+q(B*q(1e4)));C:{if(q(r(C))>14)|0;f=(K|0)==2048?f+8e3|0:f;W=f-4e3|0;A=f+4e3|0;t=f;f=j[a+14228>>2];f=(F|0)<(((f|0)==1002?W:(f|0)>0?A:t)|0)?1e3:1002;j[H+14224>>2]=f;if(!(!j[a+48>>2]|128-o>>4>=(m|0))){j[a+14224>>2]=1e3;f=1e3}t=(p(ca?9e3:6e3,c)|0)/(g<<3)|0;if((t|0)<=(J|0)?!(_&(o|0)>100):0){break B}f=(t|0)>(J|0)?1002:1e3}j[a+14224>>2]=f}K=a+14224|0;g=(g|0)/100|0;F=(g|0)>(c|0);if((c|0)>=(g|0)){t=f;break A}t=1002;if((f|0)==1002){t=f;break A}j[K>>2]=1002}if(j[a+176>>2]){j[K>>2]=1002;t=1002}A=0;E:{F:{G:{f=j[a+14228>>2];if((f|0)<1){break G}if(!((t|0)!=1002?(f|0)==1002:0)){if((t|0)!=1002){break G}g=1002;if((f|0)==1002){break F}}g=1002;ra=1;H:{if((t|0)!=1002){_=1;g=t;break H}_=0;t=0;if(F){break E}j[K>>2]=f;ra=0;A=1;g=f}t=1;break E}g=t}ra=1;_=0;t=0}F=t;I:{J:{if((D|0)!=1|j[a+14232>>2]!=2|(j[a+68>>2]|(f|0)==1002)){break J}if((g|0)==1002){break J}D=2;j[a+14192>>2]=2;j[a+68>>2]=1;break I}j[a+68>>2]=0}ea=a+ea|0;w=ca?p(p(D,-40)-20|0,S-50|0)+w|0:w;D=(p(Y?w:((w|0)/-12|0)+w|0,l)|0)/100|0;K:{L:{M:{N:{O:{P:{Q:{if((g&-2)==1e3){l=1;t=1002;Y=0;w=(R|0)<=1?(D<<2)/5|0:D;D=w-((p(m,w)|0)/(p(m,6)+10|0)|0)|0;m=D;if((g|0)!=1002){break Q}break P}t=1002;if((g|0)==1002){Y=0;l=1;if((R|0)>4){break P}D=(p(D,9)|0)/10|0;break P}m=D-((p(m,D)|0)/(N|0)|0)|0}D=m;Y=0;l=1;if((f|0)==1002){Ja(ea,j[a+180>>2],x+440|0);Y=1;g=j[a+14224>>2]}if((g|0)==1002){break P}l=0;if(j[a+84>>2]?0:!j[a+14252>>2]){break O}t=g}f=p(o,o);m=(p(f,2e3)>>14)+12e3|0;o=(p(f,2500)>>14)+11e3|0;R:{S:{f=j[a+14252>>2];if(!f){w=1105;g=1;if((m+(j[a+14244>>2]<1105?2e3:-2e3)|0)<=(D|0)){break M}if(f){break R}if(j[a+14244>>2]<1104){break S}o=o-1e3|0;break R}if((m|0)>(D|0)){break R}j[a+14240>>2]=1105;j[a+14244>>2]=1105;w=1105;break L}o=o+1e3|0}if((o|0)<=(D|0)){w=1104;g=1;break M}if(!f){w=1103;g=0;if(((j[a+14244>>2]<1103?9700:8300)|0)<=(D|0)){break M}w=9e3;if(f){break N}w=j[a+14244>>2]<1102?9700:8300;break N}w=9e3;if((D|0)<9e3){break N}j[a+14240>>2]=1103;j[a+14244>>2]=1103;w=1103;break L}w=j[a+14240>>2];break K}w=(w|0)>(D|0)?1101:1103;g=0}j[a+14240>>2]=w;j[a+14244>>2]=w;if(f|l|(j[a+88>>2]|g^1)){break L}w=1103;j[a+14240>>2]=1103}g=t}f=j[a+132>>2];if((f|0)<(w|0)){j[a+14240>>2]=f;w=f}m=j[a+128>>2];if((m|0)!=-1e3){j[a+14240>>2]=m;w=m}if(!((g|0)==1002|(ba|0)>1874)){w=(w|0)<1103?w:1103;j[a+14240>>2]=w}g=j[a+144>>2];T:{if((g|0)>24e3){f=w;break T}f=1104;U:{V:{W:{X:{if((w|0)<=1104){if((g|0)>=16001){f=w;break T}if((w|0)>1103){break X}if((g|0)<12001){break W}f=w;break T}j[a+14240>>2]=1104;if((g|0)>=16001){break T}}f=1103;j[a+14240>>2]=1103;if((g|0)>=12001){break T}break V}if((w|0)>1102){break V}if((g|0)>8e3){f=w;break T}f=w;if((w|0)!=1102){break T}break U}f=1102;j[a+14240>>2]=1102;if((g|0)>8e3){break T}}f=1101;j[a+14240>>2]=1101}t=j[a+18120>>2];if(!(!t|(m|0)!=-1e3)){w=a;m=t;R=j[a+14192>>2];Y:{Z:{if((p(R,18e3)|0)>=(D|0)){o=0;if(!l){break Z}l=1;g=1101;break Y}if((p(R,24e3)|0)<(D|0)){o=l;break Z}o=l;g=1102;if(!(l^1)){break Y}}l=o;g=(p(R,3e4)|0)<(D|0)?(p(R,44e3)|0)<(D|0)?1105:1104:1103}g=(g|0)<(t|0)?m:g;j[w+18120>>2]=g;f=(f|0)<(g|0)?f:g;j[a+14240>>2]=f}w=0;_:{if(!j[a+48>>2]|l){break _}g=j[a+40>>2];if(!g){break _}l=125-((g|0)<25?g:25)|0;m=j[a+52>>2];o=(m|0)==1;t=(g|0)<6;w=f;$:{while(1){R=w<<3;g=j[R+41868>>2];g=p(l,(j[R+41864>>2]-(o?g:0)|0)+(m?0:g)|0);g=(p(g&65535,655)>>>16|0)+p(g>>16,655)|0;if((g|0)<(D|0)|t){break $}if((w|0)>1101){w=w-1|0;j[a+14240>>2]=w;continue}break}j[a+14240>>2]=f;w=0;break _}w=(g|0)<(D|0)}j[a+52>>2]=w;j[x+400>>2]=X;P(E,4036,x+400|0);w=j[a+14224>>2];if(!((w|0)!=1002|j[a+14240>>2]!=1102)){j[a+14240>>2]=1103}aa:{ba:{ca:{da:{ea:{fa:{if(j[a+176>>2]){t=1101;j[a+14240>>2]=1101;break fa}t=j[a+14240>>2];if((w|0)!=1e3){break fa}if((t|0)>1103){break ea}}if(!((w|0)!=1001|(t|0)>1103)){j[K>>2]=1e3;w=1e3}l=j[a+144>>2];g=(l|0)/50|0;if((g|0)<(c|0)){break da}m=w;break ca}m=1001;j[a+14224>>2]=1001;l=j[a+144>>2];g=(l|0)/50|0;if((g|0)<(c|0)|((p(l,3)|0)/50|0)<(c|0)){break ba}break aa}m=1e3;if((w|0)!=1e3){break ba}}f=p(l,3);o=(f|0)/50|0;if((o|0)>=(c|0)){break aa}if((m|0)!=1e3){break ba}if(((l<<1)/25|0)==(c|0)){g=(l|0)/25|0;break ba}g=((f|0)/25|0)==(c|0)?o:g}c=(c|0)/(g|0)|0;if((V|0)!=-1){j[a+7640>>2]=$;j[a+7636>>2]=V}w=Lc(a,b,c,g,d,e,A,X,u);break a}if(j[a+14248>>2]){j[a+14248>>2]=0;Y=2;F=1;_=1}e=j[a+160>>2];V=0;ga:{if(!F){f=0;g=0;break ga}f=0;g=0;if((m|0)==1002){break ga}g=j[a+14192>>2];f=p(g,40)+20|0;m=(p(e+p(f,200-S|0)|0,3)|0)/3200|0;f=(f+((p((J<<3)-(f<<1)|0,240)|0)/((48e3/(S|0)|0)+240|0)|0)|0)/8|0;f=(f|0)>(m|0)?m:f;V=(f|0)>(g<<3|4)?(f|0)<257?f:257:0;f=(V|0)!=0;g=f}R=g;X=d+1|0;$=J-1|0;ab(x+440|0,X,$);ma=c+aa|0;g=x-((p(ma,j[a+112>>2])<<2)+15&-16)|0;I=g;oa=a+14280|0;m=j[a+112>>2];F=M(g,oa+(p(m,j[a+172>>2]-aa|0)<<2)|0,p(m,aa)<<2);A=(p(c,e)|0)/(l<<3)|0;m=a;ha:{if(j[a+14224>>2]==1002){l=Q(60)<<8;break ha}l=j[ea+8>>2]}e=j[a+14200>>2];l=l-e|0;e=p(l>>16,983)+e+(p(l&65535,983)>>>16)|0;j[m+14200>>2]=e;m=a+14208|0;w=na(e>>8);o=j[a+112>>2];l=F+(p(o,aa)<<2)|0;e=j[a+144>>2];ia:{if(j[a+108>>2]==2048){if((c|0)<1){break ia}e=(p(w<<16>>16,2471)|0)/((e|0)/1e3|0)|0;w=e<<16>>16;N=((p(w,e>>16)+(p(w,e&65535)>>16)|0)+p(e,(e>>15)+1>>1)|0)-8388608|0;H=N<<16>>16;w=p(e,-471)+268435456|0;e=w>>6;pa=e&65535;ha=p(H,pa)>>16;W=H;H=w>>22;da=q(q((ha+p(W,H)|0)+p(e,(N>>15)+1>>1)|0)*q(3.725290298461914e-9));W=p(e,(w>>21)+1>>1);e=e<<16>>16;ka=q(q((W+p(e,H)|0)+(p(e,pa)>>16)|0)*q(3.725290298461914e-9));ua=q(q(w|0)*q(3.725290298461914e-9));e=0;va=q(q(0-(w<<1)|0)*q(3.725290298461914e-9));y=n[a+14212>>2];C=n[a+14208>>2];while(1){Z=C;w=p(e,o)<<2;C=n[w+b>>2];B=q(ua*C);G=q(Z+B);B=q(q(B-q(ka*G))+q(1.0000000031710769e-30));n[a+14212>>2]=B;C=q(q(va*C)+q(y-q(da*G)));n[a+14208>>2]=C;n[l+w>>2]=G;y=B;e=e+1|0;if((e|0)!=(c|0)){continue}break}if((o|0)!=2){break ia}w=l+4|0;N=b+4|0;y=n[a+14220>>2];C=n[a+14216>>2];e=0;while(1){Z=C;H=e<<3;C=n[H+N>>2];B=q(ua*C);G=q(Z+B);B=q(q(B-q(ka*G))+q(1.0000000031710769e-30));n[a+14220>>2]=B;C=q(q(va*C)+q(y-q(da*G)));n[a+14216>>2]=C;n[w+H>>2]=G;y=B;e=e+1|0;if((e|0)!=(c|0)){continue}break}break ia}C=q(q(18.900001525878906)/q(e|0));G=q(q(1)-C);y=n[m>>2];if((o|0)!=2){e=0;if((c|0)>0){while(1){w=e<<2;B=n[w+b>>2];n[l+w>>2]=B-y;y=q(q(G*y)+q(q(C*B)+q(1.0000000031710769e-30)));e=e+1|0;if((e|0)!=(c|0)){continue}break}}n[m>>2]=y;break ia}B=n[a+14216>>2];if((c|0)>=1){e=0;while(1){w=e<<3;N=w|4;da=n[N+b>>2];ka=n[b+w>>2];n[l+w>>2]=ka-y;n[l+N>>2]=da-B;y=q(q(G*y)+q(q(C*ka)+q(1.0000000031710769e-30)));B=q(q(G*B)+q(q(C*da)+q(1.0000000031710769e-30)));e=e+1|0;if((e|0)!=(c|0)){continue}break}}n[a+14216>>2]=B;n[a+14208>>2]=y}ja:{if(!u){break ja}y=q(0);u=p(c,o);if((u|0)>=1){e=0;while(1){B=y;y=n[l+(e<<2)>>2];y=q(B+q(y*y));e=e+1|0;if((u|0)!=(e|0)){continue}break}}if(y==y?!(y>2]=0;j[m+12>>2]=0;j[m>>2]=0;j[m+4>>2]=0}C=q(1);ka:{if(j[K>>2]!=1002){e=1;m=g;N=g-((p(c,o)<<1)+15&-16)|0;I=N;da=n[x+580>>2];pa=j[x+544>>2];g=J-V|0;A=p((((g|0)<(A|0)?g:A)<<3)-8|0,S);la:{ma:{na:{W=a;oa:{pa:{qa:{o=j[K>>2];if((o|0)==1001){l=(j[a+52>>2]<<1)+(j[a+144>>2]==(p(c,50)|0)?2:1)|0;H=j[a+148>>2];u=j[a+14192>>2];g=(A|0)/(u|0)|0;if((g|0)<12e3){break qa}e=2;if((g|0)<16e3){break qa}e=3;if((g|0)<2e4){break qa}e=4;if((g|0)<24e3){break qa}e=5;if((g|0)<32e3){break qa}e=6;if((g|0)<64e3){break qa}e=j[(l<<2)+50840>>2]+((g-64e3|0)/2|0)|0;break pa}j[a+36>>2]=A;u=j[a+14256>>2];if(u){break oa}g=A;break la}w=p(e,20);la=w+50720|0;e=j[la>>2];ha=w+50700|0;w=j[ha>>2];l=l<<2;e=(p(j[l+ha>>2],e-g|0)+p(j[l+la>>2],g-w|0)|0)/(e-w|0)|0}e=H?e:e+100|0;e=p((t|0)==1104?e+300|0:e,u);g=(u|0)==2?(g|0)>11999?e-1e3|0:e:e;j[W+36>>2]=g;u=j[a+14256>>2];if(!u){break na}A=g}if(j[a+148>>2]){break ma}g=A;break la}C=q(q(1)-q(xa(+q(q(g-A|0)*q(.0009765625))*.6931471805599453)));break la}if(j[a+176>>2]){g=A;break la}B=q(8e3);l=13;ra:{sa:{ta:{la=j[a+14240>>2];switch(la-1101|0){case 0:break ra;case 1:break ta;default:break sa}}B=q(12e3);l=15;break ra}B=q(16e3);l=17}y=q(0);e=j[a+112>>2];if((e|0)>=1){g=0;while(1){ha=p(g,21);w=0;while(1){G=n[(w+ha<<2)+u>>2];H=Gq(-2);y=W?q(.5):q(-2);y=W?H?G:y:y;y=q(Z+(y>q(0)?q(y*q(.5)):y));w=w+1|0;if((w|0)!=(l|0)){continue}break}g=g+1|0;if((e|0)!=(g|0)){continue}break}}g=(0-(A<<1)|0)/3|0;y=q(B*q(q(q(y/q(l|0))*q(e|0))+q(.20000000298023224)));ua:{if(q(r(y))(g|0)?e:g;g=a;if((la&-2)==1104){e=(p(e,3)|0)/5|0}l=g;g=e+A|0;j[l+36>>2]=g}A=j[a+112>>2];j[a+8>>2]=A;H=j[a+14192>>2];j[a+12>>2]=H;l=j[a+144>>2];j[a+32>>2]=(p(c,1e3)|0)/(l|0);w=8e3;u=8e3;va:{wa:{switch(t-1101|0){default:u=12e3;w=16e3;if((t|0)==1103|(o|0)==1001){break va}L(50496,50583,1755);z();case 0:break va;case 1:break wa}}w=12e3;u=12e3}j[a+28>>2]=w;j[a+20>>2]=16e3;j[a+24>>2]=(o|0)==1001?16e3:8e3;xa:{if((o|0)!=1e3){break xa}e=ca?(ba<<4)/3|0:ta;if((e|0)>7999){break xa}j[a+20>>2]=12e3;j[a+28>>2]=u;if((e|0)>6999){break xa}j[a+28>>2]=8e3;j[a+20>>2]=8e3}ba=da>=q(.10000000149011612);w=$<<3;j[a- -64>>2]=w;e=j[a+148>>2];j[a+60>>2]=!e;ya:{za:{Aa:{Ba:{if(!(f^1|(V|0)<2)){f=(V<<3^-1)+w|0;j[a+64>>2]=f;if((o|0)!=1001){break ya}w=f-20|0;j[a+64>>2]=w;if(!e){break za}break Ba}if(!e){break Aa}if((o|0)!=1001){break ya}}g=1;o=(j[a+52>>2]<<1)+((l|0)==(p(c,50)|0)?2:1)|0;W=a;e=H;Ca:{Da:{f=((p(l,w)|0)/(c|0)|0)/(H|0)|0;if((f|0)<12e3){break Da}g=2;if((f|0)<16e3){break Da}g=3;if((f|0)<2e4){break Da}g=4;if((f|0)<24e3){break Da}g=5;if((f|0)<32e3){break Da}g=6;if((f|0)<64e3){break Da}g=j[(o<<2)+50840>>2]+((f-64e3|0)/2|0)|0;break Ca}u=p(g,20);w=u+50720|0;g=j[w>>2];ca=u+50700|0;u=j[ca>>2];o=o<<2;g=(p(j[o+ca>>2],g-f|0)+p(j[o+w>>2],f-u|0)|0)/(g-u|0)|0}e=p(e,(t|0)==1104?g+300|0:g);j[W+64>>2]=(p((H|0)==2?(f|0)>11999?e-1e3|0:e:e,c)|0)/(l|0);break ya}if((o|0)!=1001){break ya}}e=(p(c,g)|0)/(l|0)|0;j[a+64>>2]=(e|0)>(w|0)?w:e}e=a+8|0;f=pa?ba:-1;if(Y){w=0;j[x+432>>2]=0;g=(l|0)/400|0;o=p((j[a+172>>2]-g|0)-j[a+116>>2]|0,A)<<2;u=(o+a|0)+14280|0;H=u;u=j[x+612>>2];nb(H,H,q(0),q(1),j[u+4>>2],g,A,j[u+60>>2],l);O(oa,0,o);l=j[a+172>>2];o=p(l,j[a+112>>2]);if((o|0)>=1){while(1){g=N+(w<<1)|0;y=q(n[((w<<2)+a|0)+14280>>2]*q(32768));y=y>q(-32768)?y:q(-32768);y=je(y>1]=u;w=w+1|0;if((o|0)!=(w|0)){continue}break}}Eb(ea,e,N,l,0,x+432|0,Y,f);j[a+72>>2]=0;A=j[a+112>>2]}l=p(c,A);if((l|0)>=1){o=p(A,aa);w=0;while(1){g=N+(w<<1)|0;y=q(n[F+(o+w<<2)>>2]*q(32768));y=y>q(-32768)?y:q(-32768);y=je(y>1]=u;w=w+1|0;if((l|0)!=(w|0)){continue}break}}Ga:{if(Eb(ea,e,N,c,x+440|0,x+620|0,0,f)){m=-3}else{e=j[a+80>>2];Ha:{Ia:{f=j[a+14224>>2];if((f|0)==1e3){if((e|0)==8e3){t=1101;break Ha}if((e|0)==16e3){break Ia}if((e|0)!=12e3){break Ha}t=1102;break Ha}if((e|0)==16e3){break Ha}L(50602,50583,1863);z()}t=1103}Ja:{if(j[a+96>>2]){e=j[a+18132>>2];j[a+72>>2]=!e;if(!j[x+620>>2]){break Ja}if(e){break Ga}j[a+14248>>2]=1;_=0;f=j[a+14192>>2];e=p(f,40)+20|0;g=(p(j[a+160>>2]+p(e,200-S|0)|0,3)|0)/3200|0;e=(e+((p((J<<3)-(e<<1)|0,240)|0)/((48e3/(S|0)|0)+240|0)|0)|0)/8|0;e=(e|0)>(g|0)?g:e;V=(e|0)>(f<<3|4)?(e|0)<257?e:257:0;R=(V|0)!=0;break Ga}j[a+72>>2]=0;if(j[x+620>>2]){break Ga}}w=0;j[a+18136>>2]=0;b=j[a+14192>>2];a=j[a+144>>2]/(c|0)|0;if((a|0)<=399){while(1){w=w+1|0;a=a<<1;if((a|0)<400){continue}break}w=w<<3}Ka:{La:{switch(f-1e3|0){case 0:a=w-16|(t<<5)+96&224;break Ka;case 2:a=(((t|0)>1102?t:1102)<<5)- -64&96|w|128;break Ka;default:break La}}a=w+240|t<<4|96}h[d|0]=a|((b|0)==2)<<2;m=1}break ka}g=m}e=x;f=t-1101|0;if(f>>>0<=3){f=j[(f<<2)+50860>>2]}else{f=21}j[e+384>>2]=f;P(E,10012,x+384|0);j[x+368>>2]=j[a+14192>>2];P(E,10008,x+368|0);j[x+352>>2]=-1;P(E,4002,x+352|0);Ma:{if(j[a+14224>>2]==1e3){w=j[a+112>>2];o=g-(((p(w,j[a+144>>2])|0)/400<<2)+15&-16)|0;I=o;break Ma}j[x+336>>2]=0;P(E,4006,x+336|0);j[x+320>>2]=!j[a+76>>2]<<1;P(E,10002,x+320|0);f=j[a+148>>2];e=j[a+14224>>2];Na:{Oa:{Pa:{if((e|0)==1001){if(!f){w=j[a+112>>2];A=j[a+144>>2];f=(p(w,A)|0)/400|0;o=g-((f<<2)+15&-16)|0;I=o;e=1001;break Na}j[x+256>>2]=j[a+160>>2]-j[a+36>>2];P(E,4002,x+256|0);j[x+240>>2]=0;P(E,4020,x+240|0);break Pa}if(!f){break Oa}j[x+304>>2]=1;P(E,4006,x+304|0);j[x+288>>2]=j[a+152>>2];P(E,4020,x+288|0);j[x+272>>2]=j[a+160>>2];P(E,4002,x+272|0)}e=j[K>>2]}w=j[a+112>>2];A=j[a+144>>2];f=(p(w,A)|0)/400|0;o=g-((f<<2)+15&-16)|0;I=o;if((e|0)==1e3){break Ma}}g=e;e=j[a+14228>>2];if((g|0)==(e|0)|(e|0)<1){break Ma}M(o,((p(j[a+172>>2]+(((A|0)/-400|0)-aa|0)|0,w)<<2)+a|0)+14280|0,f<<2)}e=j[a+172>>2];f=p(e-ma|0,w);Qa:{if((f|0)>=1){e=a+14280|0;f=f<<2;U(oa,e+(p(c,w)<<2)|0,f);M(e+f|0,F,p(w,ma)<<2);break Qa}M(oa,F+(p(ma-e|0,w)<<2)|0,p(e,w)<<2)}y=n[a+14204>>2];if(!(y>2];nb(F,F,y,C,j[e+4>>2],c,j[a+112>>2],j[e+60>>2],j[a+144>>2])}n[a+14204>>2]=C;f=j[a+14224>>2];if(!(j[a+14192>>2]!=1?(f|0)==1001:0)){e=a;g=16384;Ra:{if((D|0)>32e3){break Ra}g=0;if((D|0)<16e3){break Ra}g=16384-((65536e3-(D<<11)|0)/(D-14e3|0)|0)|0}j[e+92>>2]=g}Sa:{if(j[a+14256>>2]|j[a+112>>2]!=2){break Sa}l=i[a+14196>>1];g=j[a+92>>2];if((g|0)>16383?(l|0)>=16384:0){break Sa}y=q(q(1)-q(q(g|0)*q(6103515625e-14)));w=0;m=j[x+612>>2];u=48e3/j[a+144>>2]|0;e=j[m+4>>2]/(u|0)|0;if((e|0)>0){C=q(q(1)-q(q(l|0)*q(6103515625e-14)));l=j[m+60>>2];while(1){m=w<<3;A=m+F|0;B=n[A>>2];Z=B;G=n[l+(p(u,w)<<2)>>2];G=q(G*G);m=F+(m|4)|0;B=n[m>>2];G=q(q(q(y*G)+q(C*q(q(1)-G)))*q(q(Z-B)*q(.5)));n[A>>2]=Z-G;n[m>>2]=B+G;w=w+1|0;if((e|0)!=(w|0)){continue}break}w=e}if((c|0)>(w|0)){while(1){e=w<<3;l=e+F|0;B=n[l>>2];Z=B;e=F+(e|4)|0;B=n[e>>2];C=q(y*q(q(Z-B)*q(.5)));n[l>>2]=Z-C;n[e>>2]=B+C;w=w+1|0;if((w|0)!=(c|0)){continue}break}}i[a+14196>>1]=g}Ta:{Ua:{if((f|0)==1002|(s(j[x+468>>2])+(j[x+460>>2]+((f|0)==1001?5:-15)|0)|0)>$<<3){break Ua}if((f|0)==1001){T(x+440|0,R,12)}if(!R){break Ua}g=1;T(x+440|0,_,1);e=j[x+460>>2]+s(j[x+468>>2])|0;l=e-21|0;f=e-32|0;e=j[K>>2];f=$-(((e|0)==1001?l:f)+7>>3)|0;f=(f|0)<(V|0)?f:V;f=(f|0)>2?f:2;f=(f|0)<257?f:257;l=0;if((e|0)!=1001){break Ta}ga(x+440|0,f-2|0,256);break Ta}g=0;j[a+14248>>2]=0;l=1;f=0}D=j[K>>2];Va:{if((D|0)==1e3){e=j[x+468>>2];m=j[x+460>>2];$a(x+440|0);w=(m+s(e)|0)-25>>3;A=w;break Va}w=$-f|0;fa(x+440|0,w);A=0}Wa:{if(!(j[K>>2]!=1e3|g)){e=_;u=0;break Wa}j[x+224>>2]=x+544;P(E,10022,x+224|0);if(j[K>>2]==1001){j[x+432>>2]=j[a+100>>2];j[x+436>>2]=j[a+104>>2];j[x+208>>2]=x+432;P(E,10028,x+208|0)}e=_;u=0;if(!(g&e)){break Wa}j[x+192>>2]=0;P(E,10010,x+192|0);j[x+176>>2]=0;P(E,4006,x+176|0);j[x+160>>2]=-1;P(E,4002,x+160|0);m=-3;if((ia(E,F,j[a+144>>2]/200|0,w+X|0,f,0)|0)<0){break ka}j[x+144>>2]=x+616;P(E,4031,x+144|0);P(E,4028,0);e=1;u=1}j[x+128>>2]=(D|0)==1002?0:17;P(E,10010,x+128|0);m=j[K>>2];Xa:{if((m|0)==1e3){break Xa}D=m;m=j[a+14228>>2];if(!((D|0)==(m|0)|(m|0)<1)){P(E,4028,0);ia(E,o,j[a+144>>2]/400|0,x+432|0,2,0);j[x+112>>2]=0;P(E,10002,x+112|0)}if(((j[x+460>>2]+s(j[x+468>>2])|0)-32|0)>w<<3){break Xa}if(!(!j[a+148>>2]|(!u|j[K>>2]!=1001))){j[x+96>>2]=j[a+160>>2]-j[a+36>>2];P(E,4002,x+96|0)}j[x+80>>2]=j[a+148>>2];P(E,4006,x+80|0);A=ia(E,F,c,0,w,x+440|0);m=-3;if((A|0)<0){break ka}if(!j[a+148>>2]|(!u|j[K>>2]!=1001)){break Xa}U(A+X|0,w+X|0,f);w=f+w|0}Ya:{if(!(e|l)){e=j[a+144>>2];P(E,4028,0);j[x+64>>2]=0;P(E,10010,x- -64|0);j[x+48>>2]=0;P(E,10002,x+48|0);j[x+32>>2]=0;P(E,4006,x+32|0);j[x+16>>2]=-1;P(E,4002,x+16|0);if(j[a+14224>>2]==1001){fa(x+440|0,A);w=A}l=(e|0)/200|0;m=c-l|0;e=(e|0)/400|0;ia(E,F+(p(j[a+112>>2],m-e|0)<<2)|0,e,x+432|0,2,0);if((ia(E,F+(p(m,j[a+112>>2])<<2)|0,l,w+X|0,f,0)|0)<0){break Ya}j[x>>2]=x+616;P(E,4031,x)}m=j[a+14192>>2];l=j[a+14224>>2];w=0;e=j[a+144>>2]/(c|0)|0;if((e|0)<=399){while(1){w=w+1|0;e=e<<1;if((e|0)<400){continue}break}w=w<<3}e=d;Za:{_a:{switch(l-1e3|0){case 0:l=w-16|(t<<5)+96&224;break Za;case 2:l=(((t|0)>1102?t:1102)<<5)- -64&96|w|128;break Za;default:break _a}}l=w+240|t<<4|96}h[e|0]=l|((m|0)==2)<<2;m=j[x+468>>2];j[a+18136>>2]=m^j[x+616>>2];j[a+14228>>2]=ra?j[K>>2]:1002;j[a+14252>>2]=0;j[a+14236>>2]=c;l=j[a+14192>>2];j[a+14232>>2]=l;$a:{if(!(!j[a+184>>2]|!(j[x+544>>2]|ja))){if(!(qa^1|n[x+580>>2]>2];y=q(0);e=p(j[a+112>>2],c);if((e|0)>=1){w=0;while(1){C=y;y=n[(w<<2)+b>>2];y=q(C+q(y*y));w=w+1|0;if((e|0)!=(w|0)){continue}break}}ja=B>=q(q(y/q(e|0))*q(316.2300109863281))}ab:{if(ja){b=j[a+18124>>2];j[a+18124>>2]=b+1;if((b|0)<10){break $a}if((b|0)<30){break ab}j[a+18124>>2]=10;break $a}j[a+18124>>2]=0;break $a}w=0;j[a+18136>>2]=0;b=j[a+14224>>2];a=j[a+144>>2]/(c|0)|0;if((a|0)<=399){while(1){w=w+1|0;a=a<<1;if((a|0)<400){continue}break}w=w<<3}bb:{cb:{switch(b-1e3|0){case 0:a=w-16|(t<<5)+96&224;break bb;case 2:a=(((t|0)>1102?t:1102)<<5)- -64&96|w|128;break bb;default:break cb}}a=w+240|t<<4|96}h[d|0]=a|((l|0)==2)<<2;m=1;break ka}j[a+18124>>2]=0}db:{if(((j[x+460>>2]+s(m)|0)-32|0)>$<<3){h[X|0]=0;j[a+18136>>2]=0;A=1;break db}if(j[K>>2]!=1e3|g|(A|0)<3){break db}while(1){if(k[d+A|0]){break db}b=(A|0)>3;A=A-1|0;if(b){continue}break}A=2}b=(f+A|0)+1|0;eb:{if(j[a+148>>2]){J=b;break eb}m=-3;if(pb(d,b,J)){break ka}}m=J;break ka}m=-3}w=m}I=x+624|0;return w}function ia(a,b,c,d,e,f){var g=q(0),m=q(0),o=0,w=q(0),x=q(0),y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,P=0,Q=0,R=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,ha=0,ia=0,ja=0,ka=0,la=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=q(0),Ba=0,Ca=0,Ea=0,Fa=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=q(0),Oa=0,Pa=0,Qa=q(0),Ra=q(0),Sa=q(0),Ta=0,Ua=q(0),Va=q(0);F=I-192|0;I=F;D=j[a+8>>2];Z=j[a+4>>2];j[F+28>>2]=15;j[F+24>>2]=0;j[F+20>>2]=0;j[F+16>>2]=0;j[F+4>>2]=0;E=j[a+36>>2];J=j[a+32>>2];H=j[a>>2];P=j[H+32>>2];ia=j[H+4>>2];_=j[H+8>>2];j[F+12>>2]=0;C=-1;a:{if(!b|(e|0)<2){break a}o=j[H+36>>2];if((o|0)<0){break a}ca=p(j[a+28>>2],c);c=j[H+44>>2];while(1){if(c<(G|0);G=G+1|0;if(y){continue}break a}break}b:{if(!f){va=1;o=1;B=0;break b}va=V(f);c=j[f+20>>2]+s(j[f+28>>2])|0;o=c-32|0;B=c-28>>3}c:{d:{if(!j[a+48>>2]){aa=ia+1024|0;Q=(e|0)<1275?e:1275;A=Q-B|0;c=j[a+40>>2];e:{if(j[a+44>>2]){if((c|0)==-1){break d}e=j[H>>2];ka=(p(c,ca)+(e>>4)|0)/(e>>3)|0;y=ka>>6;break e}if((c|0)==-1){break d}e=j[H>>2];e=((p(c,ca)+((o|0)>1?o:0)|0)+(e<<2)|0)/(e<<3)|0;e=(e|0)>(Q|0)?Q:e;Q=(e|0)>2?e:2;y=Q-B|0}C=c;break c}L(42472,42508,1547);z()}y=A}if(!f){ab(F+32|0,d,Q);f=F+32|0}e=a+244|0;d=p(Z,aa)<<2;wa=p(Z,_);oa=3-G|0;da=p(Q,400)>>oa;f:{if(!j[a+52>>2]|(ka|0)<1){break f}c=((o|0)==1)<<1;aa=(ka<<1)-j[a+208>>2]>>6;c=(c|0)>(aa|0)?c:aa;if((c|0)>=(A|0)){break f}Q=c+B|0;fa(f,Q);A=c}ba=d+e|0;pa=wa<<2;aa=(C|0)>(da|0);Ba=p(D,40);ua=400>>>G|0;R=j[H+12>>2];qa=ca+ia|0;$=F-((p(qa,Z)<<2)+15&-16)|0;S=$;I=$;x=n[a+224>>2];U=j[a+28>>2];d=(p(ca-ia|0,D)|0)/(U|0)|0;g:{h:{if((d|0)>=1){c=0;while(1){w=n[(c<<2)+b>>2];g=gw?m:w;c=c+1|0;if((d|0)!=(c|0)){continue}break}g=q(-g);if((g>2];g=gx?m:x;c=c+1|0;if((d|0)!=(c|0)){continue}break}break h}if(x>q(0)){break g}}g=q(-g);x=g>2];g=gw?m:w;c=c+1|0;if((C|0)!=(c|0)){continue}break}}c=K<<2;d=(E|0)>(R|0);K=Q<<3;g=q(-g);g=g>2]=g;g=g>2]));T(f,o,15);if(o^1){o=1;break j}Y=1;k:{if((ka|0)<1){o=K;break k}A=2;o=B+2|0;y=(o|0)>(Q|0)?Q:o;fa(f,y);Q=y;o=y<<3;K=o}j[f+20>>2]=(o-s(j[f+28>>2])|0)+32;xa=0}e=c+e|0;aa=1<1?Z:1;d=H+16|0;C=$+(ia<<2)|0;c=0;while(1){B=c<<2;cd(B+b|0,C+(p(c,qa)<<2)|0,ca,Z,j[a+28>>2],d,(a+B|0)+192|0,j[a+16>>2]!=0&g>q(65536));c=c+1|0;if((Ma|0)!=(c|0)){continue}break}c=0;if(!(j[a+20>>2]|(!(j[a+64>>2]!=0&(A|0)>3|(p(D,12)|0)<(A|0))|(J|Y)))){c=j[a+24>>2]>4}Ka=j[a+100>>2];sa=a+120|0;ya=bd(a,$,e,Z,ca,Ka,F+28|0,F+24|0,F+80|0,c,A,sa);Na=n[F+24>>2];l:{if(!(Na>q(.4000000059604645))){b=0;if(n[a+108>>2]>q(.4000000059604645)^1){break l}}if(j[sa>>2]){b=0;if(+n[a+124>>2]>.3^1){break l}}Ea=+j[F+28>>2];Fa=+j[a+104>>2];b=Ea>Fa*1.26|Ea(K|0)|J){break m}T(f,0,1);break m}T(f,1,1);b=j[F+28>>2];c=b+1|0;d=s(c);e=27-d|0;ga(f,e,6);W(f,c+(-16<>2]=b;W(f,j[F+80>>2],3);N(f,Ka,42528,2)}Ha=1;U=0;if(!(j[a+64>>2]|j[a+24>>2]<1)){c=0;U=ad($,qa,Z,F+12|0,F+16|0,!J|(y|0)>14?c:j[a+184>>2]!=2,F+4|0)}b=H;n:{o:{if(!(!G|((j[f+20>>2]+s(j[f+28>>2])|0)-29|0)>(K|0))){if(U){break o}Ha=0}o=S-((p(Z,ca)<<2)+15&-16)|0;I=o;c=(wa<<2)+15&-16;ea=o-c|0;d=ea;I=d;e=d-c|0;c=e;I=c;ha=p(D,_);Y=c-((ha<<2)+15&-16)|0;C=Y;I=C;Ja=1;U=0;ia=0;break n}o=S-((p(Z,ca)<<2)+15&-16)|0;I=o;c=(wa<<2)+15&-16;ea=o-c|0;d=ea;I=d;e=d-c|0;c=e;I=c;ha=p(D,_);Y=c-((ha<<2)+15&-16)|0;C=Y;I=C;p:{if(j[a+24>>2]<8){Ha=0;break p}Ha=0;Da(H,0,$,o,D,Z,G,j[a+28>>2]);Ga(H,o,ea,X,D,G);Ia(H,X,E,ea,Y,D);Ca=1;if((ha|0)<1){break p}g=q(q(G|0)*q(.5));c=0;while(1){d=(c<<2)+Y|0;n[d>>2]=g+n[d>>2];c=c+1|0;if((ha|0)!=(c|0)){continue}break}}ia=aa}Da(b,ia,$,o,D,Z,G,j[a+28>>2]);q:{r:{g=n[o>>2];if(g==g){if((D|0)==1){break r}g=n[(ca<<2)+o>>2];qa=0;if(g==g){break q}}L(42531,42508,1729);z()}qa=0;if((Z|0)!=2){break q}j[F+16>>2]=0;qa=1}Ga(H,o,ea,X,D,G);if(!(!j[a+64>>2]|(E|0)<3)){c=2;while(1){b=(c<<2)+ea|0;g=n[b>>2];m=q(n[ea>>2]*q(9999999747378752e-20));g=g>2]=g>q(1.0000000036274937e-15)?g:q(1.0000000036274937e-15);c=c+1|0;if((E|0)!=(c|0)){continue}break}}Ia(H,X,E,ea,e,D);b=C-((ha<<2)+15&-16)|0;za=b;I=b;Oa=E<<2;la=O(b,0,Oa);g=q(0);s:{t:{if(J){break t}na=j[a+236>>2];g=q(0);if(!na){break t}b=j[a+64>>2];if(b){break s}u:{v:{w:{if((D|0)<1){break w}b=j[a+92>>2];S=(b|0)>2?b:2;b=l[P>>1];B=0;d=0;m=q(0);g=q(0);while(1){Ta=p(B,_);C=b;c=0;while(1){x=n[na+(c+Ta<<2)>>2];ja=xq(-2);m=Pa?q(.25):q(-2);m=Pa?ja?x:m:m;x=m>q(0)?q(m*q(.5)):m;m=q(Aa+q(x*q((c<<1|1)-S|0)));ja=C<<16;c=c+1|0;C=i[P+(c<<1)>>1];ja=C-(ja>>16)|0;g=q(g+q(x*q(ja|0)));d=d+ja|0;if((c|0)!=(S|0)){continue}break}B=B+1|0;if((B|0)!=(D|0)){continue}break}c=0;if((d|0)<=0){break w}m=q(q(q(m*q(6))/q(p(S+1|0,p(S-1|0,p(D,S)))|0))*q(.5));m=m>1]/2<<16>>16;while(1){b=c;c=c+1|0;if((d|0)>i[P+(c<<1)>>1]){continue}break}x=m>q(-.03099999949336052)?m:q(-.03099999949336052);g=q(g+q(.20000000298023224));c=0;d=0;while(1){C=c<<2;w=n[C+na>>2];if((D|0)==2){m=n[na+(c+_<<2)>>2];w=mq(.25)^1)){n[C+la>>2]=m+q(-.25);d=d+1|0}c=c+1|0;if((S|0)!=(c|0)){continue}break}if((d|0)<3){break u}m=q(g+q(.25));g=q(0);if(!(m>q(0)^1)){break v}c=0;while(1){b=la+(c<<2)|0;n[b>>2]=u(q(n[b>>2]+q(-.25)),q(0));c=c+1|0;if((S|0)!=(c|0)){continue}break}g=m;break u}L(42604,42508,1770);z()}O(la,0,S<<2);x=q(0)}Ua=q(g+q(.20000000298023224));g=q(x*q(64))}Aa=g;b=j[a+64>>2];if(b){break s}m=q(0);if((E|0)>(J|0)){g=Ja?q(0):q(q(G|0)*q(.5));w=q(-10);c=J;while(1){x=q(w+q(-1));w=q(n[(c<<2)+e>>2]-g);w=w>2]-g);w=w>x?w:x}m=q(m+w);c=c+1|0;if((E|0)!=(c|0)){continue}break}}g=n[a+240>>2];Qa=q(t(q(u(q(q(m/q(E-J|0))-g),q(-1.5))),q(3)));n[a+240>>2]=g+q(Qa*q(.019999999552965164));b=0}if(!Ca){M(Y,e,ha<<2)}c=pa;pa=ba+pa|0;ja=c+pa|0;Ja=c+ja|0;c=ta?da:ra;ra=Ba+20|0;da=c-p(ra,ua-50|0)|0;x:{if(!G){break x}c=(j[f+20>>2]+s(j[f+28>>2])|0)-29|0;y:{if((K|0)<(c|0)|U){break y}U=0;if(b|J|j[a+24>>2]<5){break y}c=1;w=n[ba>>2];z:{A:{if((D|0)==1){n[F+80>>2]=w;if((E|0)<2){break z}while(1){g=q(w+q(-1));b=c<<2;m=n[b+ba>>2];w=g>m?g:m;n[b+(F+80|0)>>2]=w;c=c+1|0;if((E|0)!=(c|0)){continue}break}break A}g=n[(_<<2)+ba>>2];w=g>2]=w;if((E|0)<2){break z}while(1){g=q(w+q(-1));b=c<<2;m=n[b+ba>>2];x=n[(c+_<<2)+ba>>2];m=m>x?m:x;w=g>m?g:m;n[b+(F+80|0)>>2]=w;c=c+1|0;if((E|0)!=(c|0)){continue}break}}if((E|0)<2){break z}c=E-2|0;while(1){b=(F+80|0)+(c<<2)|0;g=n[b>>2];m=q(n[b+4>>2]+q(-1));n[b>>2]=g>m?g:m;b=(c|0)>0;c=c-1|0;if(b){continue}break}}b=(D|0)>1?D:1;C=E-1|0;d=0;B=(E|0)<4;w=q(0);while(1){if(!B){U=p(d,_);c=2;while(1){w=q(w+q(u(q(q(u(n[(c+U<<2)+e>>2],q(0)))-q(u(n[(F+80|0)+(c<<2)>>2],q(0)))),q(0))));c=c+1|0;if((C|0)!=(c|0)){continue}break}}d=d+1|0;if((b|0)!=(d|0)){continue}break}U=0;if(!(q(w/q(p(E-3|0,D)|0))>q(1)^1)){Da(H,aa,$,o,D,Z,G,j[a+28>>2]);Ga(H,o,ea,X,D,G);Ia(H,X,E,ea,e,D);if((ha|0)>=1){g=q(q(G|0)*q(.5));c=0;while(1){b=(c<<2)+Y|0;n[b>>2]=g+n[b>>2];c=c+1|0;if((ha|0)!=(c|0)){continue}break}}j[F+12>>2]=1045220557;U=1;ia=aa}c=(j[f+20>>2]+s(j[f+28>>2])|0)-29|0}if((c|0)>(K|0)){break x}T(f,U,3)}$=za-((p(D,ca)<<2)+15&-16)|0;b=$;I=b;ld(H,o,b,ea,X,D,aa);C=0;if(!((p(D,15)|0)>(y|0)|J|j[a+24>>2]<2)){C=!j[a+64>>2]}c=b;b=(_<<2)+15&-16;Z=c-b|0;c=Z;I=c;c=c-b|0;I=c;ta=c-b|0;d=ta;I=d;Va=_c(e,Y,_,J,E,D,Z,j[a+60>>2],j[H+56>>2],U,j[a+44>>2],j[a+52>>2],P,G,y,F+8|0,j[a+64>>2],la,sa,c,d);Y=d-b|0;d=Y;I=d;B:{if(C){b=20480/(y|0)|0;b=Zc(H,X,U,Y,(b|0)<78?80:b+2|0,$,ca,G,n[F+12>>2],j[F+16>>2],c);if((E|0)<=(R|0)){break B}c=(Y+(X<<2)|0)-4|0;while(1){j[Y+(R<<2)>>2]=j[c>>2];R=R+1|0;if((R|0)!=(E|0)){continue}break}break B}if(!(!J|!j[F+4>>2])){b=0;if((E|0)<1){break B}c=0;while(1){j[Y+(c<<2)>>2]=1;c=c+1|0;if((E|0)!=(c|0)){continue}break}break B}if(!(!J|(y|0)>14|j[a+184>>2]==2)){b=U;if((E|0)<1){break B}O(Y,0,Oa);break B}b=0;if((E|0)<1){break B}c=0;while(1){j[Y+(c<<2)>>2]=U;c=c+1|0;if((E|0)!=(c|0)){continue}break}}Ba=(D|0)>1?D:1;la=d-((ha<<2)+15&-16)|0;Ca=la;I=la;o=0;while(1){na=(E|0)<=(J|0);if(!na){C=p(o,_);c=J;while(1){d=c+C<<2;B=d+e|0;g=n[B>>2];if(!(q(r(q(g-n[d+ba>>2])))>2]=g+q(n[d+Ja>>2]*q(-.25))}c=c+1|0;if((E|0)!=(c|0)){continue}break}}o=o+1|0;if((Ba|0)!=(o|0)){continue}break}zd(H,J,E,X,e,ba,K,la,f,D,G,A,j[a+12>>2],a+84|0,j[a+24>>2]>3,j[a+56>>2],j[a+64>>2]);R=0;o=j[f+4>>2]<<3;C=(j[f+20>>2]+s(j[f+28>>2])|0)-32|0;d=U?2:4;S=(G|0)!=0&o>>>0>=C+(d|1)>>>0;B=0;C:{if(na){break C}c=Y+(J<<2)|0;za=o-S|0;D:{if(za>>>0>=d+C>>>0){T(f,j[c>>2],d);C=(j[f+20>>2]+s(j[f+28>>2])|0)-32|0;B=j[c>>2];break D}j[c>>2]=0;B=0}c=J+1|0;if((E|0)==(c|0)){break C}ua=U?4:5;o=B;while(1){d=Y+(c<<2)|0;E:{if(za>>>0>=C+ua>>>0){T(f,j[d>>2]^o,ua);o=j[d>>2];B=B|o;C=(j[f+20>>2]+s(j[f+28>>2])|0)-32|0;break E}j[d>>2]=o}c=c+1|0;if((E|0)!=(c|0)){continue}break}}F:{if(!S){break F}d=(G<<3)+1744|0;c=U<<2;if(k[d+(c+B|0)|0]==k[d+((c|2)+B|0)|0]){break F}T(f,b,1);R=b<<1}if(!na){b=(U<<2)+R|0;d=G<<3;c=J;while(1){o=Y+(c<<2)|0;j[o>>2]=h[(d+(b+j[o>>2]|0)|0)+1744|0];c=c+1|0;if((E|0)!=(c|0)){continue}break}}d=a+100|0;if(((j[f+20>>2]+s(j[f+28>>2])|0)-28|0)<=(K|0)){G:{if(j[a+64>>2]){c=2;j[a+80>>2]=2;j[a+100>>2]=0;break G}b=a;H:{I:{J:{if(J){if(!j[a+24>>2]){break I}if(U){break J}c=3;break H}c=j[a+24>>2];if(!((c|0)>2?!((p(D,10)|0)>(A|0)|ia):0)){if(!c){break I}break J}c=jd(H,$,a+88|0,j[a+80>>2],a+96|0,d,(ya|0)!=0,X,D,aa,ta);break H}c=2;break H}c=0}j[b+80>>2]=c}N(f,c,42630,5)}if(j[a+64>>2]){j[Z>>2]=(y|0)>26?8:(y|0)/3|0}aa=Ca-((_<<2)+15&-16)|0;ya=aa;I=aa;rc(H,aa,G,D);K=K<<3;d=0;C=V(f);if(!na){A=6;y=J;while(1){c=y;y=c+1|0;o=c<<2;B=o+Z|0;b=0;K:{if(((A<<3)+C|0)>=(K-d|0)){break K}L:{R=o+aa|0;if(j[R>>2]<=0){o=0;break L}c=p(i[P+(y<<1)>>1]-i[P+(c<<1)>>1]|0,D)<48?c:48;X=(c|0)>(o|0)?o:c;o=A;c=0;while(1){S=j[B>>2];T(f,(S|0)>(c|0),o);C=V(f);if((c|0)>=(S|0)){o=c;break L}b=b+X|0;d=d+X|0;if((C+8|0)<(K-d|0)){o=1;c=c+1|0;if(j[R>>2]<=(b|0)){break L}continue}break}A=(A|0)>2?A-1|0:2;break K}if(!o){break K}A=(A|0)>2?A-1|0:2}j[B>>2]=b;if((E|0)!=(y|0)){continue}break}}if((D|0)==2){if(G){b=j[H+32>>2];B=l[b>>1];g=q(1.0000000036274937e-15);o=0;x=q(1.0000000036274937e-15);while(1){c=B<<16>>16<>1];y=B<>2];w=n[$+(c+ca<<2)>>2];x=q(x+q(q(r(q(m+w)))+q(r(q(m-w)))));g=q(g+q(q(r(m))+q(r(w))));c=c+1|0;if((y|0)!=(c|0)){continue}break}}if((o|0)!=13){continue}break}b=i[b+26>>1]<>2]=q(q(x*q(.7071070075035095))*q(b+(G>>>0<2?5:13)|0))>q(g*q(b|0))}b=md(q((da|0)/1e3|0),j[a+232>>2]);b=(b|0)<(J|0)?J:b;j[a+232>>2]=(b|0)>(E|0)?E:b}o=5;if((C+48|0)<=(K-d|0)){y=f;M:{if(!(j[a+64>>2]?0:(J|0)<=0)){j[a+228>>2]=0;o=5;break M}C=j[a+232>>2];Ra=n[F+12>>2];g=q(4);N:{if((da|0)<64e3){break N}g=q(5);if((da|0)>79999){break N}g=q(q(q(da-64e3>>10)*q(.0625))+q(4))}if((D|0)==2){o=j[H+32>>2];A=l[o>>1];m=q(0);b=0;while(1){c=A<<16;w=q(0);b=b+1|0;A=i[o+(b<<1)>>1];c=c>>16;B=A-c<=1){c=c<>2]*n[X+R>>2]));c=c+1|0;if((B|0)!=(c|0)){continue}break}}m=q(m+w);if((b|0)!=8){continue}break}x=q(t(q(r(q(m*q(.125)))),q(1)));m=x;if((C|0)>=9){A=l[o+16>>1];b=8;m=x;while(1){c=A<<16;w=q(0);b=b+1|0;A=i[o+(b<<1)>>1];c=c>>16;B=A-c<=1){c=c<>2]*n[X+R>>2]));c=c+1|0;if((B|0)!=(c|0)){continue}break}}w=q(r(w));m=m>2]+q(.25));x=q(Fa*1.4426950408889634);w=q(x*q(.5));Sa=q(Ea*1.4426950408889634);w=q((w>Sa?w:Sa)*q(-.5));n[a+228>>2]=m=2){A=p(j[H+8>>2],B);c=0;while(1){w=q(w+q(n[(c+A<<2)+e>>2]*q(o+(c<<1)|0)));c=c+1|0;if((b|0)!=(c|0)){continue}break}}B=B+1|0;if((Ba|0)!=(B|0)){continue}break}x=g;g=q(q(q(w/q(p(b,D)|0))+q(1))/q(6));b=g>q(2);c=g>2]){x=g;g=q(n[a+128>>2]+q(.05000000074505806));g=q(g+g);b=g>q(2);c=g0?b:0}N(y,o,42820,7);C=V(f)}if((ka|0)>=1){c=j[H+36>>2];if(J){b=(p(D,-72)+ka|0)-32|0;b=(b|0)>0?b:0}else{b=ka-(ra<<3)|0}X=c-G|0;R=j[a+52>>2];b=R?(j[a+216>>2]>>X)+b|0:b;c=1275>>>oa|0;Q=(c|0)>(Q|0)?Q:c;ta=Q;P:{Q:{R:{if(!J){K=j[H+32>>2];c=j[a+92>>2];oa=j[H+8>>2];y=c?c:oa;A=i[K+(y<<1)>>1]<>2];P=j[a+64>>2];g=n[a+228>>2];B=j[a+232>>2];m=n[F+12>>2];va=j[F+8>>2];A=(D|0)==2?(i[K+(((B|0)<(y|0)?B:y)<<1)>>1]<>2];c=b;S:{if(!ra){break S}x=n[a+136>>2];c=b;if(+x<.4^1){break S}c=b;x=q(q(q(.4000000059604645)-x)*q(A<<3));T:{if(q(r(x))>1]<Aa?Aa:g;U:{if(q(r(g))>2]+q(-.15000000596046448));x=q(q(g*q(1.2000000476837158))*(x>2;P=e;g=q(Va*q(p(i[(K+(oa<<1)|0)-4>>1]<(e|0)?P:c;if(!(!R|B^1)){g=q(q(e-b|0)*q(.6700000166893005));_:{if(q(r(g))>2];c=(c+((b|0)<100?96>>>oa|0:0)|0)-((b|0)>100?144>>>oa|0:0)|0;g=n[F+12>>2];m=q(q(g+q(-.25))*q(400));$:{if(q(r(m))q(.699999988079071)?(b|0)>400?b:400:b;b=((d+C|0)+63>>6)+2|0;c=(d+va|0)+359>>6;b=(b|0)>(c|0)?b:c;break P}c=e- -2147483648|0}e=c;b=b<<1;e=(b|0)<(e|0)?b:e;b=((d+C|0)+63>>6)+2|0}e=e+C|0;c=e+32>>6;b=(b|0)>(c|0)?b:c;c=(b|0)>(Q|0)?ta:b;w=q(.0010000000474974513);b=j[a+220>>2];if((b|0)<=969){j[a+220>>2]=b+1;w=q(q(1)/q(b+21|0))}b=xa?c:2;aa:{if(!R){break aa}d=j[a+208>>2]+((xa?c<<6:128)-ka|0)|0;j[a+208>>2]=d;c=a;C=c;y=j[c+212>>2];g=q(w*q((((xa?e-ka|0:0)<>2]|0)-y|0));ba:{if(q(r(g))>2]=c;j[a+216>>2]=0-c;if((d|0)>-1){break aa}j[a+208>>2]=0;b=(xa?(d|0)/-64|0:0)+b|0}Q=(b|0)>(Q|0)?Q:b;fa(f,Q)}c=(_<<2)+15&-16;b=ya-c|0;I=b;e=b-c|0;d=e;I=d;c=d-c|0;oa=c;I=c;B=0;y=H;C=J;A=E;R=a+232|0;X=F+20|0;ua=Q<<6;K=ua+(V(f)^-1)|0;S=K;d=0;ca:{if(G>>>0<2){break ca}d=0;if(!U){break ca}B=(K|0)>=((G<<3)+16|0);d=B<<3}K=d;ka=S-K|0;ra=F+80|0;d=e;S=b;ta=c;ya=D;za=G;Ca=f;va=j[a+92>>2];if(j[sa>>2]){sa=j[a+152>>2];La=sa;P=13;da:{if((da|0)<(p(D,32e3)|0)){break da}P=16;if((da|0)<(p(D,48e3)|0)){break da}P=18;if((da|0)<(p(D,6e4)|0)){break da}P=(da|0)<(p(D,8e4)|0)?19:20}P=(P|0)<(sa|0)?La:P}else{P=E-1|0}y=gd(y,C,A,Z,aa,o,R,X,ka,ra,d,S,ta,ya,za,Ca,va,j[a+64>>2]?1:P);d=y;o=a;A=j[a+92>>2];if(A){d=A+1|0;A=A-1|0;A=(A|0)>(y|0)?A:y;d=(d|0)<(A|0)?d:A}j[o+92>>2]=d;xd(H,J,E,ba,la,b,f,D);o=0;d=oa-(ha+15&-16)|0;I=d;id(H,J,E,$,(D|0)==2?$+(ca<<2)|0:0,d,ea,e,ia,j[a+80>>2],j[F+20>>2],j[a+232>>2],Y,ua-K|0,j[F+80>>2],f,G,y,a+76|0,j[a+24>>2],j[a+72>>2],j[a+68>>2]);if(B){W(f,j[a+116>>2]<2,1)}wd(H,J,E,ba,la,b,c,(((Q<<3)-j[f+20>>2]|0)-s(j[f+28>>2])|0)+32|0,f,D);b=wa<<2;e=O(Ja,0,b);while(1){if(!na){y=p(o,_);c=J;while(1){A=c+y<<2;g=n[A+la>>2];d=g>q(.5);C=e+A|0;A=(d?q(.5):g)>2]=d?m:A?m:g;c=c+1|0;if((E|0)!=(c|0)){continue}break}}o=o+1|0;if((Ba|0)!=(o|0)){continue}break}if(!(!(xa^1)|(ha|0)<1)){c=0;while(1){j[(c<<2)+ba>>2]=-1042284544;c=c+1|0;if((ha|0)!=(c|0)){continue}break}}c=j[F+28>>2];j[a+112>>2]=Ka;n[a+108>>2]=Na;j[a+104>>2]=c;if(qa){c=_<<2;M(c+ba|0,ba,c)}ea:{if(U){c=0;if((wa|0)<=0){break ea}while(1){b=c<<2;d=b+pa|0;g=n[d>>2];m=n[b+ba>>2];n[d>>2]=g>2]=0;j[b+ja>>2]=-1042284544;j[b+pa>>2]=-1042284544;c=c+1|0;if((J|0)!=(c|0)){continue}break}}if((E|0)<(_|0)){o=p(e,_);c=E;while(1){b=c+o<<2;j[b+ba>>2]=0;j[b+ja>>2]=-1042284544;j[b+pa>>2]=-1042284544;c=c+1|0;if((_|0)!=(c|0)){continue}break}}e=e+1|0;if((Ma|0)!=(e|0)){continue}break}j[a+116>>2]=!U&(Ha^-1)?0:j[a+116>>2]+1|0;j[a+76>>2]=j[f+28>>2];$a(f);C=j[f+44>>2]?-3:Q}I=F+192|0;return C}function Wc(a,b,c,d,e,f,g,i,k,l,m){var o=q(0),s=0,w=q(0),x=q(0),z=0,A=q(0),B=q(0),C=q(0),D=q(0),E=q(0),F=0,G=0,H=q(0),J=0,K=q(0),L=0,N=0,O=q(0),P=q(0),Q=q(0),R=q(0),S=q(0),T=0,U=q(0),V=q(0),W=q(0),X=q(0),Y=q(0),Z=q(0),_=0,$=q(0),aa=q(0),ba=q(0),ca=q(0),da=q(0),ea=q(0),fa=q(0),ga=q(0),ha=q(0),ia=0,ja=0,ka=q(0),la=q(0),na=0,pa=0,qa=0,ra=q(0),sa=q(0),ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=q(0),Ba=q(0),Ca=q(0),Da=q(0),Ea=q(0),Fa=0,Ga=0,Ha=q(0),Ia=q(0);s=I-11360|0;I=s;if(c){z=(p(i,95)|0)/50|0;d=d&-2;va=(d|0)>(z|0)?z:d;ia=j[a+7440>>2];ja=va-ia|0;if((ja|0)>=1){wa=a+7464|0;Fa=a+3852|0;Ga=a+4812|0;xa=a+7592|0;na=a+2892|0;qa=(i|0)/50|0;o=q(q(.0005699999746866524)/q(1<<((k|0)>8?k:8)-8));ra=q(o*o);Ha=q(ra*q(3));while(1){if(!j[a+7460>>2]){j[a+7460>>2]=1;j[a+5772>>2]=240}z=(ja|0)>(qa|0)?qa:ja;pa=j[a+7436>>2];i=j[a+8>>2];a:{if((i|0)!=16e3){d=ia;if((i|0)!=48e3){break a}z=(z|0)/2|0;d=(ia|0)/2|0;break a}z=(p(z,3)|0)/2|0;d=(p(ia,3)|0)/2|0}G=j[b+72>>2];J=j[a+5772>>2];F=720-J|0;Z=q(tb(l,c,((J<<2)+a|0)+2892|0,xa,(z|0)<(F|0)?z:F,d,f,g,i)+n[a+7456>>2]);n[a+7456>>2]=Z;i=j[a+5772>>2]+z|0;b:{if((i|0)<=719){j[a+5772>>2]=i;break b}ta=pa+1|0;fa=q(q(1)/q(((pa|0)<100?ta:100)|0));F=j[a+7444>>2];j[a+7444>>2]=((F|0)>98?-99:1)+F;L=Nc(na,k);i=0;while(1){J=(s+5760|0)+(i<<3)|0;N=i<<2;o=n[N+48944>>2];N=N+na|0;n[J>>2]=o*n[N>>2];n[J+4>>2]=o*n[N+960>>2];J=479-i|0;N=(s+5760|0)+(J<<3)|0;n[N>>2]=o*n[(J<<2)+na>>2];n[N+4>>2]=o*n[(719-i<<2)+na>>2];i=i+1|0;if((i|0)!=240){continue}break}M(na,Ga,960);i=j[a+5772>>2];z=i+z|0;o=tb(l,c,Fa,xa,z-720|0,(d-i|0)+720|0,f,g,j[a+8>>2]);j[a+5772>>2]=z-480;n[a+7456>>2]=o;N=(F<<6)+a|0;J=N+7604|0;if(L){d=j[a+7444>>2];d=(((d|0)<2?98:-2)+d<<6)+a|0;i=d+7660|0;z=j[i+4>>2];j[J+56>>2]=j[i>>2];j[J+60>>2]=z;i=d+7652|0;z=j[i+4>>2];j[J+48>>2]=j[i>>2];j[J+52>>2]=z;i=d+7644|0;z=j[i+4>>2];j[J+40>>2]=j[i>>2];j[J+44>>2]=z;i=d+7636|0;z=j[i+4>>2];j[J+32>>2]=j[i>>2];j[J+36>>2]=z;i=d+7628|0;z=j[i+4>>2];j[J+24>>2]=j[i>>2];j[J+28>>2]=z;i=d+7620|0;z=j[i+4>>2];j[J+16>>2]=j[i>>2];j[J+20>>2]=z;i=d+7612|0;z=j[i+4>>2];j[J+8>>2]=j[i>>2];j[J+12>>2]=z;d=d+7604|0;i=j[d+4>>2];j[J>>2]=j[d>>2];j[J+4>>2]=i;break b}fd(G,s+5760|0,s+1920|0);i=1;K=n[s+1920>>2];if(K!=K){j[J>>2]=0;break b}while(1){d=((0-i<<3)+s|0)+5760|0;o=n[d>>2];z=(s+1920|0)+(i<<3)|0;x=n[z>>2];D=q(o-x);A=n[z+4>>2];P=n[d+4>>2];E=q(A+P);w=q(0);F=i<<2;z=F+a|0;L=z;O=q(x+o);o=q(O*O);A=q(A-P);x=q(A*A);C=q(0);c:{if(q(o+x)>2]);o=q(O-n[z+972>>2]);x=q(D*D);A=q(E*E);d:{if(q(x+A)A^1)){w=q((D>2]=q(r(w))+q(r(o));d=z+1932|0;D=n[d>>2];o=q(o*o);o=q(o*o);n[F+(s+1e4|0)>>2]=q(q(1)/q(q(o*q(62341.81640625))+q(1)))+q(-.014999999664723873);w=q(w*w);n[F+(s+960|0)>>2]=q(q(1)/q(q(q(q(q(D+q(w*w))+q(o+o))*q(.25))*q(62341.81640625))+q(1)))+q(-.014999999664723873);n[L+12>>2]=x;n[z+972>>2]=A;n[d>>2]=o;i=i+1|0;if((i|0)!=240){continue}break}i=2;o=n[s+10008>>2];while(1){d=i<<2;z=d+(s+960|0)|0;x=n[z>>2];A=n[(d+s|0)+9996>>2];i=i+1|0;w=n[(s+1e4|0)+(i<<2)>>2];A=w>2]=(o>2]=0;_=j[a+7436>>2];if(!_){j[a+7008>>2]=1343554297;j[a+7012>>2]=1343554297;j[a+7080>>2]=-803929351;j[a+7084>>2]=-803929351;j[a+7088>>2]=-803929351;j[a+7092>>2]=-803929351;j[a+7016>>2]=1343554297;j[a+7020>>2]=1343554297;j[a+7096>>2]=-803929351;j[a+7100>>2]=-803929351;j[a+7024>>2]=1343554297;j[a+7028>>2]=1343554297;j[a+7104>>2]=-803929351;j[a+7108>>2]=-803929351;j[a+7032>>2]=1343554297;j[a+7036>>2]=1343554297;j[a+7112>>2]=-803929351;j[a+7116>>2]=-803929351;j[a+7040>>2]=1343554297;j[a+7044>>2]=1343554297;j[a+7048>>2]=1343554297;j[a+7052>>2]=1343554297;j[a+7120>>2]=-803929351;j[a+7124>>2]=-803929351;j[a+7056>>2]=1343554297;j[a+7060>>2]=1343554297;j[a+7136>>2]=-803929351;j[a+7140>>2]=-803929351;j[a+7128>>2]=-803929351;j[a+7132>>2]=-803929351;j[a+7064>>2]=1343554297;j[a+7068>>2]=1343554297;j[a+7072>>2]=1343554297;j[a+7144>>2]=-803929351;j[a+7148>>2]=-803929351;j[a+7076>>2]=1343554297}o=q(K+K);w=q(o*o);o=n[s+1924>>2];o=q(o+o);w=q(w+q(o*o));o=n[s+1928>>2];x=q(o*o);o=n[s+5752>>2];x=q(x+q(o*o));o=n[s+1932>>2];x=q(x+q(o*o));o=n[s+5756>>2];w=q(w+q(x+q(o*o)));o=n[s+1936>>2];x=q(o*o);o=n[s+5744>>2];x=q(x+q(o*o));o=n[s+1940>>2];x=q(x+q(o*o));o=n[s+5748>>2];w=q(w+q(x+q(o*o)));o=n[s+1944>>2];x=q(o*o);o=n[s+5736>>2];x=q(x+q(o*o));o=n[s+1948>>2];x=q(x+q(o*o));o=n[s+5740>>2];D=q(q(ma(+q(q(w+q(x+q(o*o)))+q(1.000000013351432e-10))))*q(.7213475108146667));n[s+9888>>2]=D;K=q(0);d=0;i=4;$=q(0);O=q(0);P=q(0);ga=q(0);ha=q(0);Q=q(0);while(1){A=q(0);H=q(0);E=q(0);F=d+1|0;L=F<<2;z=j[L+49904>>2];if((z|0)>(i|0)){while(1){G=(s+1920|0)+(i<<3)|0;o=n[G>>2];w=q(o*o);T=((0-i<<3)+s|0)+5760|0;o=n[T>>2];w=q(w+q(o*o));o=n[G+4>>2];w=q(w+q(o*o));o=n[T+4>>2];o=q(w+q(o*o));E=q(E+o);G=i<<2;H=q(H+q(o*q(u(n[G+(s+960|0)>>2],q(0)))));A=q(A+q(q(o+o)*q(q(.5)-n[s+G>>2])));i=i+1|0;if((z|0)!=(i|0)){continue}break}}if(!(E==E?!(E>2]=0;break b}G=d<<2;i=G+(p(j[a+7432>>2],72)+a|0)|0;n[i+5856>>2]=E;V=q(E+q(1.000000013351432e-10));o=q(ma(+V));n[L+(s+9888|0)>>2]=o*q(.7213475108146667);n[G+(s+11200|0)>>2]=o;n[i+6432>>2]=o;g:{if(_){i=a+G|0;x=n[i+7008>>2];w=n[i+7080>>2];break g}i=a+G|0;n[i+7080>>2]=o;n[i+7008>>2]=o;x=o;w=o}i=a+G|0;L=i+7008|0;T=i+7080|0;h:{if(+w>+x+7.5^1){break h}if(!(q(w-o)>q(o-x)^1)){w=q(w+q(-.009999999776482582));n[T>>2]=w;break h}x=q(x+q(.009999999776482582));n[L>>2]=x}R=q(E+q(1.0000000036274937e-15));i:{if(!(o>w^1)){n[T>>2]=o;w=q(o+q(-15));x=w>x?w:x;n[L>>2]=x;w=o;break i}if(o>2]=o;x=q(o+q(15));w=w>x?x:w;n[T>>2]=w;x=o}E=q(H/R);L=i+5776|0;H=n[i+5856>>2];S=n[i+5928>>2];W=n[i+6e3>>2];X=n[i+6072>>2];Y=n[i+6144>>2];aa=n[i+6216>>2];ba=n[i+6288>>2];U=n[i+6360>>2];H=q(t(q(q(q(q(q(q(q(q(q(q(y(H))+q(0))+q(y(S)))+q(y(W)))+q(y(X)))+q(y(Y)))+q(y(aa)))+q(y(ba)))+q(y(U)))/q(y(+q(q(q(q(q(q(q(q(q(H+q(0))+S)+W)+X)+Y)+aa)+ba)+U)*q(8))+1e-15))),q(.9900000095367432)));H=q(H*H);H=q(H*H);S=q(n[L>>2]*H);E=E>S?E:S;n[G+(s+11280|0)>>2]=E;K=q(K+E);K=d>>>0>=9?q(K-n[(s+G|0)+11244>>2]):K;Q=q(Q+q(y(V)));O=q(O+q(A/R));ga=q(ga+H);ha=q(ha+q(q(o-x)/q(q(w-x)+q(9999999747378752e-21))));n[L>>2]=E;o=q(q(q(q(d-18|0)*q(.029999999329447746))+q(1))*K);$=o<$?$:o;P=q(P+q(E*q(d-8|0)));i=z;d=F;if((d|0)!=18){continue}break}n[s+9808>>2]=D;E=q(D+q(-2.5));n[s+9728>>2]=E;d=1;z=4;A=D;while(1){F=d<<2;i=j[F+49904>>2];o=q(i-z|0);x=q(q(o+o)*q(.25));o=q(A+x);w=n[F+(s+9888|0)>>2];A=o>2]=A;o=q(E-x);w=q(w+q(-2.5));E=o>w?o:w;n[F+(s+9728|0)>>2]=E;z=i;d=d+1|0;if((d|0)!=19){continue}break}d=16;z=192;o=n[s+9796>>2];E=n[s+9876>>2];while(1){i=d;F=i<<2;G=F+(s+9808|0)|0;d=z;z=j[F+49904>>2];w=q(d-z|0);w=q(q(w+w)*q(.25));x=q(E+w);A=n[G>>2];E=x>2]=E;o=q(o-w);F=F+(s+9728|0)|0;w=n[F>>2];o=o>w?o:w;n[F>>2]=o;d=i-1|0;if(i){continue}break}i=0;while(1){E=q(0);z=(i+N|0)+7648|0;d=i<<2;ya=v(+q(q(q(u(q(n[d+(s+9728|0)>>2]-D),q(0)))+q(u(q(D-q(n[d+(s+9808|0)>>2]+q(2.5))),q(0))))*q(64))+.5);j:{if(r(ya)<2147483648){d=~~ya;break j}d=-2147483648}h[z|0]=(d|0)<255?d:255;z=0;i=i+1|0;if((i|0)!=19){D=n[(s+9888|0)+(i<<2)>>2];continue}break}while(1){d=p(z,72)+a|0;w=n[d+6500>>2];x=n[d+6496>>2];A=n[d+6448>>2];D=n[d+6444>>2];K=n[d+6440>>2];H=n[d+6436>>2];R=n[d+6432>>2];V=n[d+6492>>2];S=n[d+6488>>2];W=n[d+6484>>2];X=n[d+6480>>2];Y=n[d+6476>>2];aa=n[d+6472>>2];ba=n[d+6468>>2];U=n[d+6464>>2];ca=n[d+6460>>2];da=n[d+6456>>2];ea=n[d+6452>>2];o=q(999999986991104);d=0;while(1){i=p(d,72)+a|0;B=q(R-n[i+6432>>2]);C=q(q(B*B)+q(0));B=q(H-n[i+6436>>2]);C=q(C+q(B*B));B=q(K-n[i+6440>>2]);C=q(C+q(B*B));B=q(D-n[i+6444>>2]);C=q(C+q(B*B));B=q(A-n[i+6448>>2]);C=q(C+q(B*B));B=q(ea-n[i+6452>>2]);C=q(C+q(B*B));B=q(da-n[i+6456>>2]);C=q(C+q(B*B));B=q(ca-n[i+6460>>2]);C=q(C+q(B*B));B=q(U-n[i+6464>>2]);C=q(C+q(B*B));B=q(ba-n[i+6468>>2]);C=q(C+q(B*B));B=q(aa-n[i+6472>>2]);C=q(C+q(B*B));B=q(Y-n[i+6476>>2]);C=q(C+q(B*B));B=q(X-n[i+6480>>2]);C=q(C+q(B*B));B=q(W-n[i+6484>>2]);C=q(C+q(B*B));B=q(S-n[i+6488>>2]);C=q(C+q(B*B));B=q(V-n[i+6492>>2]);C=q(C+q(B*B));B=q(x-n[i+6496>>2]);C=q(C+q(B*B));B=q(w-n[i+6500>>2]);B=q(C+q(B*B));o=(d|0)==(z|0)?o:o>2];d=0;z=4;L=0;w=q(0);H=q(0);A=q(0);while(1){o=q(0);i=z;F=d+1|0;G=j[(F<<2)+49904>>2];if((i|0)<(G|0)){while(1){D=o;_=(s+1920|0)+(i<<3)|0;o=n[_>>2];C=q(o*o);za=((0-i<<3)+s|0)+5760|0;o=n[za>>2];C=q(C+q(o*o));o=n[_+4>>2];C=q(C+q(o*o));o=n[za+4>>2];o=q(D+q(C+q(o*o)));i=i+1|0;if((G|0)!=(i|0)){continue}break}}i=d<<2;_=(i+a|0)+7152|0;D=q(K*n[_>>2]);D=o>2]=D;w=oD?o:D)?F:L}z=d>>>0<11;H=z?q(H+o):H;A=z?A:q(A+o);j[i+(s+10960|0)>>2]=q(x*((d|0)<(T|0)?q(.009999999776482582):q(.05000000074505806)))>o;x=q(x*q(.05000000074505806));x=o>2]==48e3){w=q(K*n[a+7224>>2]);o=q(Z*q(.00027777778450399637));w=o>2]=w;d=(T|0)==20;D=d?q(10):q(30);L=(o>q(q(ra*D)*q(160))^1?!(q(q(ra*q(D*q(3)))*q(160))<(o>w?o:w)):0)?L:20;j[s+11032>>2]=o>2]=A>H?q(H/A):q(1);k:{if((L|0)==20){L=j[s+11032>>2]?18:20;break k}d=L-1|0;if(d>>>0>17){break k}L=j[(s+10960|0)+(d<<2)>>2]?d:L}Ia=q(y(x));A=q(n[a+7424>>2]+q(-.003000000026077032));x=q(q(oa(+Q))*q(20));A=x>2]=A;D=o;o=q(q(q(1)-o)*n[a+7428>>2]);n[a+7428>>2]=x>2];d=0;o=n[s+11204>>2];x=n[s+11200>>2];A=n[s+11260>>2];D=n[s+11256>>2];E=n[s+11252>>2];K=n[s+11248>>2];H=n[s+11244>>2];Q=n[s+11240>>2];R=n[s+11236>>2];Z=n[s+11232>>2];fa=n[s+11228>>2];V=n[s+11224>>2];S=n[s+11220>>2];W=n[s+11216>>2];X=n[s+11212>>2];Y=n[s+11208>>2];while(1){i=d<<6;n[(s+11168|0)+(d<<2)>>2]=q(q(q(q(q(q(q(q(q(q(q(q(q(q(q(q(x*n[i+49984>>2])+q(0))+q(o*n[(i|4)+49984>>2]))+q(Y*n[(i|8)+49984>>2]))+q(X*n[(i|12)+49984>>2]))+q(W*n[(i|16)+49984>>2]))+q(S*n[(i|20)+49984>>2]))+q(V*n[(i|24)+49984>>2]))+q(fa*n[(i|28)+49984>>2]))+q(Z*n[(i|32)+49984>>2]))+q(R*n[(i|36)+49984>>2]))+q(Q*n[(i|40)+49984>>2]))+q(H*n[(i|44)+49984>>2]))+q(K*n[(i|48)+49984>>2]))+q(E*n[(i|52)+49984>>2]))+q(D*n[(i|56)+49984>>2]))+q(A*n[(i|60)+49984>>2]);d=d+1|0;if((d|0)!=8){continue}break}z=0;while(1){d=z<<4;o=q(0);i=0;while(1){G=(i<<2)+a|0;o=q(o+q(q(n[(d+i<<2)+49984>>2]*q(.5))*q(n[G+7080>>2]+n[G+7008>>2])));i=i+1|0;if((i|0)!=16){continue}break}n[(s+9968|0)+(z<<2)>>2]=o;z=z+1|0;if((z|0)!=8){continue}break}H=q(O/q(18));n[ua>>2]=H+q(q(q(1)-H)*((F|0)<10?q(.5):q(ha/q(18))));o=q($/q(9));x=q(n[a+5848>>2]*q(.800000011920929));o=o>x?o:x;n[a+5848>>2]=o;i=N+7612|0;n[i>>2]=P*q(.015625);z=(F|0)<9999?F+1|0:1e4;j[a+7436>>2]=z;j[a+7432>>2]=(j[a+7432>>2]+1|0)%8;G=N+7608|0;n[G>>2]=o;$=n[a+7260>>2];ha=n[a+7228>>2];R=n[a+7292>>2];K=q(ha+R);x=n[s+11168>>2];B=n[a+7324>>2];U=q(x+B);ca=n[a+7356>>2];O=q(q(q($*q(.6969299912452698))+q(q(K*q(.49195000529289246))-q(U*q(.12298999726772308))))-q(ca*q(1.4349000453948975)));n[s+11056>>2]=O;Z=n[a+7264>>2];fa=n[a+7232>>2];V=n[a+7296>>2];da=q(fa+V);A=n[s+11172>>2];ea=n[a+7328>>2];ka=q(A+ea);la=n[a+7360>>2];P=q(q(q(Z*q(.6969299912452698))+q(q(da*q(.49195000529289246))-q(ka*q(.12298999726772308))))-q(la*q(1.4349000453948975)));n[s+11060>>2]=P;S=n[a+7268>>2];W=n[a+7236>>2];X=n[a+7300>>2];sa=q(W+X);D=n[s+11176>>2];Aa=n[a+7332>>2];Ba=q(D+Aa);Ca=n[a+7364>>2];Q=q(q(q(S*q(.6969299912452698))+q(q(sa*q(.49195000529289246))-q(Ba*q(.12298999726772308))))-q(Ca*q(1.4349000453948975)));n[s+11064>>2]=Q;Da=n[a+7272>>2];Y=n[a+7240>>2];aa=n[a+7304>>2];E=n[s+11180>>2];Ea=n[a+7336>>2];o=n[a+7368>>2];ba=q(q(q(Da*q(.6969299912452698))+q(q(q(Y+aa)*q(.49195000529289246))-q(q(E+Ea)*q(.12298999726772308))))-q(o*q(1.4349000453948975)));n[s+11068>>2]=ba;C=o;o=q(q(1)-w);n[a+7368>>2]=q(w*E)+q(C*o);n[a+7364>>2]=q(w*D)+q(o*Ca);n[a+7360>>2]=q(w*A)+q(o*la);n[a+7356>>2]=q(w*x)+q(o*ca);n[s+11096>>2]=q(q(Ba*q(.5345199704170227))-q(sa*q(.26725998520851135)))-q(S*q(.5345199704170227));n[s+11092>>2]=q(q(ka*q(.5345199704170227))-q(da*q(.26725998520851135)))-q(Z*q(.5345199704170227));U=q(q(q(U*q(.5345199704170227))-q(K*q(.26725998520851135)))-q($*q(.5345199704170227)));n[s+11088>>2]=U;ca=q(q(q(E-Ea)*q(.6324599981307983))+q(q(Y-aa)*q(.31622999906539917)));n[s+11084>>2]=ca;da=q(q(q(D-Aa)*q(.6324599981307983))+q(q(W-X)*q(.31622999906539917)));n[s+11080>>2]=da;ea=q(q(q(A-ea)*q(.6324599981307983))+q(q(fa-V)*q(.31622999906539917)));n[s+11076>>2]=ea;B=q(q(q(x-B)*q(.6324599981307983))+q(q(ha-R)*q(.31622999906539917)));n[s+11072>>2]=B;d=(F|0)<3?20:L;sa=q(ga/q(18));K=n[a+7388>>2];l:{if((z|0)<=5){o=n[a+7420>>2];O=n[a+7412>>2];P=n[a+7408>>2];ga=n[a+7404>>2];Q=n[a+7400>>2];ka=n[a+7396>>2];la=n[a+7392>>2];break l}K=q(q(O*q(w*O))+q(o*K));n[a+7388>>2]=K;la=q(q(P*q(w*P))+q(o*n[a+7392>>2]));n[a+7392>>2]=la;ka=q(q(Q*q(w*Q))+q(o*n[a+7396>>2]));n[a+7396>>2]=ka;Q=q(q(ba*q(w*ba))+q(o*n[a+7400>>2]));n[a+7400>>2]=Q;ga=q(q(B*q(w*B))+q(o*n[a+7404>>2]));n[a+7404>>2]=ga;P=q(q(ea*q(w*ea))+q(o*n[a+7408>>2]));n[a+7408>>2]=P;O=q(q(da*q(w*da))+q(o*n[a+7412>>2]));n[a+7412>>2]=O;n[a+7416>>2]=q(ca*q(w*ca))+q(o*n[a+7416>>2]);o=q(q(U*q(w*U))+q(o*n[a+7420>>2]));n[a+7420>>2]=o}n[s+11056>>2]=x-n[s+9968>>2];n[s+11060>>2]=A-n[s+9972>>2];n[s+11064>>2]=D-n[s+9976>>2];n[s+11068>>2]=E-n[s+9980>>2];n[a+7260>>2]=ha;n[a+7328>>2]=V;n[a+7228>>2]=x;n[a+7296>>2]=Z;n[a+7264>>2]=fa;n[a+7332>>2]=X;n[a+7232>>2]=A;n[a+7300>>2]=S;n[a+7268>>2]=W;n[a+7336>>2]=aa;n[a+7236>>2]=D;n[a+7304>>2]=Da;n[a+7272>>2]=Y;n[a+7240>>2]=E;n[a+7324>>2]=R;n[a+7292>>2]=$;z=j[a+7308>>2];j[a+7308>>2]=j[a+7276>>2];j[a+7340>>2]=z;j[a+7276>>2]=j[a+7244>>2];j[a+7244>>2]=j[s+11184>>2];j[a+7344>>2]=j[a+7312>>2];j[a+7312>>2]=j[a+7280>>2];j[a+7280>>2]=j[a+7248>>2];j[a+7248>>2]=j[s+11188>>2];j[a+7348>>2]=j[a+7316>>2];j[a+7316>>2]=j[a+7284>>2];j[a+7284>>2]=j[a+7252>>2];j[a+7252>>2]=j[s+11192>>2];j[a+7352>>2]=j[a+7320>>2];j[a+7320>>2]=j[a+7288>>2];j[a+7288>>2]=j[a+7256>>2];j[a+7256>>2]=j[s+11196>>2];n[s+11132>>2]=q(y(o))+q(-1.9187949895858765);n[s+11124>>2]=q(y(O))+q(-1.260756015777588);n[s+11120>>2]=q(y(P))+q(-2.1633129119873047);n[s+11116>>2]=q(y(ga))+q(-3.7732150554656982);n[s+11112>>2]=q(y(Q))+q(-1.599784016609192);n[s+11108>>2]=q(y(ka))+q(-1.7706340551376343);n[s+11104>>2]=q(y(la))+q(-3.475287914276123);n[s+11100>>2]=q(y(K))+q(-5.6849470138549805);n[s+11128>>2]=Ia+q(-.7799999713897705);n[s+11136>>2]=n[G>>2]+q(-.15472300350666046);o=n[ua>>2];n[s+11144>>2]=sa+q(-.7437170147895813);n[s+11140>>2]=o+q(-.7246429920196533);n[s+11148>>2]=n[i>>2]+q(.06921599805355072);n[s+11152>>2]=n[a+7428>>2]+q(-.06792999804019928);vb(43872,s+9600|0,s+11056|0);Yc(wa,s+9600|0);vb(48096,s+11048|0,wa);j[N+7640>>2]=j[s+11052>>2];i=j[s+11048>>2];j[N+7636>>2]=d;j[N+7624>>2]=i;j[a+5852>>2]=d;n[N+7616>>2]=H;j[J>>2]=1}ia=ia+qa|0;ja=ja-qa|0;if((ja|0)>0){continue}break}}j[a+7440>>2]=va-e}Xc(a,m,e);I=s+11360|0}function ha(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0;p=I-16|0;I=p;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{if(a>>>0<=244){f=j[13232];i=a>>>0<11?16:a+11&-8;c=i>>>3|0;b=f>>>c|0;if(b&3){d=c+((b^-1)&1)|0;b=d<<3;e=j[b+52976>>2];a=e+8|0;c=j[e+8>>2];b=b+52968|0;m:{if((c|0)==(b|0)){j[13232]=ke(-2,d)&f;break m}j[c+12>>2]=b;j[b+8>>2]=c}b=d<<3;j[e+4>>2]=b|3;b=b+e|0;j[b+4>>2]=j[b+4>>2]|1;break a}n=j[13234];if(n>>>0>=i>>>0){break l}if(b){a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;c=(c|a)+(b>>>a|0)|0;a=c<<3;g=j[a+52976>>2];b=j[g+8>>2];a=a+52968|0;n:{if((b|0)==(a|0)){f=ke(-2,c)&f;j[13232]=f;break n}j[b+12>>2]=a;j[a+8>>2]=b}a=g+8|0;j[g+4>>2]=i|3;d=g+i|0;b=c<<3;e=b-i|0;j[d+4>>2]=e|1;j[b+g>>2]=e;if(n){b=n>>>3|0;c=(b<<3)+52968|0;g=j[13237];b=1<>2]}j[c+8>>2]=g;j[b+12>>2]=g;j[g+12>>2]=c;j[g+8>>2]=b}j[13237]=d;j[13234]=e;break a}h=j[13233];if(!h){break l}b=(h&0-h)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;b=j[((c|a)+(b>>>a|0)<<2)+53232>>2];e=(j[b+4>>2]&-8)-i|0;c=b;while(1){p:{a=j[c+16>>2];if(!a){a=j[c+20>>2];if(!a){break p}}c=(j[a+4>>2]&-8)-i|0;d=c>>>0>>0;e=d?c:e;b=d?a:b;c=a;continue}break}l=b+i|0;if(l>>>0<=b>>>0){break k}o=j[b+24>>2];d=j[b+12>>2];if((d|0)!=(b|0)){a=j[b+8>>2];j[a+12>>2]=d;j[d+8>>2]=a;break b}c=b+20|0;a=j[c>>2];if(!a){a=j[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;d=a;c=a+20|0;a=j[c>>2];if(a){continue}c=d+16|0;a=j[d+16>>2];if(a){continue}break}j[g>>2]=0;break b}i=-1;if(a>>>0>4294967231){break l}a=a+11|0;i=a&-8;l=j[13233];if(!l){break l}f=31;e=0-i|0;if(i>>>0<=16777215){a=a>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;f=(a<<1|i>>>a+21&1)+28|0}c=j[(f<<2)+53232>>2];q:{r:{s:{if(!c){a=0;break s}a=0;b=i<<((f|0)==31?0:25-(f>>>1|0)|0);while(1){t:{g=(j[c+4>>2]&-8)-i|0;if(g>>>0>=e>>>0){break t}d=c;e=g;if(e){break t}e=0;a=c;break r}g=j[c+20>>2];c=j[((b>>>29&4)+c|0)+16>>2];a=g?(g|0)==(c|0)?a:g:a;b=b<<1;if(c){continue}break}}if(!(a|d)){a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;a=j[((c|a)+(b>>>a|0)<<2)+53232>>2]}if(!a){break q}}while(1){b=(j[a+4>>2]&-8)-i|0;c=b>>>0>>0;e=c?b:e;d=c?a:d;b=j[a+16>>2];if(b){a=b}else{a=j[a+20>>2]}if(a){continue}break}}if(!d|j[13234]-i>>>0<=e>>>0){break l}h=d+i|0;if(h>>>0<=d>>>0){break k}f=j[d+24>>2];b=j[d+12>>2];if((d|0)!=(b|0)){a=j[d+8>>2];j[a+12>>2]=b;j[b+8>>2]=a;break c}c=d+20|0;a=j[c>>2];if(!a){a=j[d+16>>2];if(!a){break i}c=d+16|0}while(1){g=c;b=a;c=a+20|0;a=j[c>>2];if(a){continue}c=b+16|0;a=j[b+16>>2];if(a){continue}break}j[g>>2]=0;break c}c=j[13234];if(c>>>0>=i>>>0){d=j[13237];b=c-i|0;u:{if(b>>>0>=16){j[13234]=b;a=d+i|0;j[13237]=a;j[a+4>>2]=b|1;j[c+d>>2]=b;j[d+4>>2]=i|3;break u}j[13237]=0;j[13234]=0;j[d+4>>2]=c|3;a=c+d|0;j[a+4>>2]=j[a+4>>2]|1}a=d+8|0;break a}h=j[13235];if(h>>>0>i>>>0){b=h-i|0;j[13235]=b;c=j[13238];a=c+i|0;j[13238]=a;j[a+4>>2]=b|1;j[c+4>>2]=i|3;a=c+8|0;break a}a=0;l=i+47|0;b=l;if(j[13350]){c=j[13352]}else{j[13353]=-1;j[13354]=-1;j[13351]=4096;j[13352]=4096;j[13350]=p+12&-16^1431655768;j[13355]=0;j[13343]=0;c=4096}g=b+c|0;e=0-c|0;c=g&e;if(c>>>0<=i>>>0){break a}d=j[13342];if(d){b=j[13340];f=b+c|0;if(d>>>0>>0|b>>>0>=f>>>0){break a}}if(k[53372]&4){break f}v:{w:{d=j[13238];if(d){a=53376;while(1){b=j[a>>2];if(d>>>0>2]>>>0?b>>>0<=d>>>0:0){break w}a=j[a+8>>2];if(a){continue}break}}b=$(0);if((b|0)==-1){break g}f=c;d=j[13351];a=d-1|0;if(a&b){f=(c-b|0)+(a+b&0-d)|0}if(f>>>0<=i>>>0|f>>>0>2147483646){break g}d=j[13342];if(d){a=j[13340];e=a+f|0;if(d>>>0>>0|a>>>0>=e>>>0){break g}}a=$(f);if((b|0)!=(a|0)){break v}break e}f=e&g-h;if(f>>>0>2147483646){break g}b=$(f);if((b|0)==(j[a>>2]+j[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|i+48>>>0<=f>>>0)){b=j[13352];b=b+(l-f|0)&0-b;if(b>>>0>2147483646){b=a;break e}if(($(b)|0)!=-1){f=b+f|0;b=a;break e}$(0-f|0);break g}b=a;if((a|0)!=-1){break e}break g}z()}d=0;break b}b=0;break c}if((b|0)!=-1){break e}}j[13343]=j[13343]|4}if(c>>>0>2147483646){break d}b=$(c);a=$(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}f=a-b|0;if(f>>>0<=i+40>>>0){break d}}a=j[13340]+f|0;j[13340]=a;if(a>>>0>m[13341]){j[13341]=a}x:{y:{z:{g=j[13238];if(g){a=53376;while(1){d=j[a>>2];c=j[a+4>>2];if((d+c|0)==(b|0)){break z}a=j[a+8>>2];if(a){continue}break}break y}a=j[13236];if(!(a>>>0<=b>>>0?a:0)){j[13236]=b}a=0;j[13345]=f;j[13344]=b;j[13240]=-1;j[13241]=j[13350];j[13347]=0;while(1){d=a<<3;c=d+52968|0;j[d+52976>>2]=c;j[d+52980>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=f-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;j[13235]=c;a=a+b|0;j[13238]=a;j[a+4>>2]=c|1;j[(b+d|0)+4>>2]=40;j[13239]=j[13354];break x}if(j[a+12>>2]&8|(b>>>0<=g>>>0|d>>>0>g>>>0)){break y}j[a+4>>2]=c+f;a=g+8&7?-8-g&7:0;c=a+g|0;j[13238]=c;b=j[13235]+f|0;a=b-a|0;j[13235]=a;j[c+4>>2]=a|1;j[(b+g|0)+4>>2]=40;j[13239]=j[13354];break x}d=j[13236];if(d>>>0>b>>>0){j[13236]=b;d=0}c=b+f|0;a=53376;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=j[a>>2]){a=j[a+8>>2];if(a){continue}break F}break}if(!(k[a+12|0]&8)){break E}}a=53376;while(1){c=j[a>>2];if(c>>>0<=g>>>0){e=c+j[a+4>>2]|0;if(e>>>0>g>>>0){break D}}a=j[a+8>>2];continue}}j[a>>2]=b;j[a+4>>2]=j[a+4>>2]+f;l=(b+8&7?-8-b&7:0)+b|0;j[l+4>>2]=i|3;f=c+(c+8&7?-8-c&7:0)|0;c=(f-l|0)-i|0;h=i+l|0;if((f|0)==(g|0)){j[13238]=h;a=j[13235]+c|0;j[13235]=a;j[h+4>>2]=a|1;break B}if(j[13237]==(f|0)){j[13237]=h;a=j[13234]+c|0;j[13234]=a;j[h+4>>2]=a|1;j[a+h>>2]=a;break B}a=j[f+4>>2];if((a&3)==1){g=a&-8;G:{if(a>>>0<=255){d=j[f+8>>2];a=a>>>3|0;b=j[f+12>>2];if((b|0)==(d|0)){j[13232]=j[13232]&ke(-2,a);break G}j[d+12>>2]=b;j[b+8>>2]=d;break G}i=j[f+24>>2];b=j[f+12>>2];H:{if((f|0)!=(b|0)){a=j[f+8>>2];j[a+12>>2]=b;j[b+8>>2]=a;break H}I:{a=f+20|0;e=j[a>>2];if(e){break I}a=f+16|0;e=j[a>>2];if(e){break I}b=0;break H}while(1){d=a;b=e;a=b+20|0;e=j[a>>2];if(e){continue}a=b+16|0;e=j[b+16>>2];if(e){continue}break}j[d>>2]=0}if(!i){break G}d=j[f+28>>2];a=(d<<2)+53232|0;J:{if(j[a>>2]==(f|0)){j[a>>2]=b;if(b){break J}j[13233]=j[13233]&ke(-2,d);break G}j[i+(j[i+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break G}}j[b+24>>2]=i;a=j[f+16>>2];if(a){j[b+16>>2]=a;j[a+24>>2]=b}a=j[f+20>>2];if(!a){break G}j[b+20>>2]=a;j[a+24>>2]=b}f=f+g|0;c=c+g|0}j[f+4>>2]=j[f+4>>2]&-2;j[h+4>>2]=c|1;j[c+h>>2]=c;if(c>>>0<=255){a=c>>>3|0;b=(a<<3)+52968|0;c=j[13232];a=1<>2]}j[b+8>>2]=h;j[a+12>>2]=h;j[h+12>>2]=b;j[h+8>>2]=a;break B}a=31;if(c>>>0<=16777215){a=c>>>8|0;e=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(d|e))|0;a=(a<<1|c>>>a+21&1)+28|0}j[h+28>>2]=a;j[h+16>>2]=0;j[h+20>>2]=0;e=(a<<2)+53232|0;d=j[13233];b=1<>2]=h;j[h+24>>2]=e;break L}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);b=j[e>>2];while(1){d=b;if((j[b+4>>2]&-8)==(c|0)){break C}b=a>>>29|0;a=a<<1;e=d+(b&4)|0;b=j[e+16>>2];if(b){continue}break}j[e+16>>2]=h;j[h+24>>2]=d}j[h+12>>2]=h;j[h+8>>2]=h;break B}d=f-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;j[13235]=c;a=a+b|0;j[13238]=a;j[a+4>>2]=c|1;j[(b+d|0)+4>>2]=40;j[13239]=j[13354];a=(e+(e-39&7?39-e&7:0)|0)-47|0;c=a>>>0>>0?g:a;j[c+4>>2]=27;a=j[13347];j[c+16>>2]=j[13346];j[c+20>>2]=a;a=j[13345];j[c+8>>2]=j[13344];j[c+12>>2]=a;j[13346]=c+8;j[13345]=f;j[13344]=b;j[13347]=0;a=c+24|0;while(1){j[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((c|0)==(g|0)){break x}j[c+4>>2]=j[c+4>>2]&-2;e=c-g|0;j[g+4>>2]=e|1;j[c>>2]=e;if(e>>>0<=255){a=e>>>3|0;b=(a<<3)+52968|0;c=j[13232];a=1<>2]}j[b+8>>2]=g;j[a+12>>2]=g;j[g+12>>2]=b;j[g+8>>2]=a;break x}a=31;j[g+16>>2]=0;j[g+20>>2]=0;if(e>>>0<=16777215){a=e>>>8|0;d=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|d))|0;a=(a<<1|e>>>a+21&1)+28|0}j[g+28>>2]=a;d=(a<<2)+53232|0;c=j[13233];b=1<>2]=g;j[g+24>>2]=d;break N}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);b=j[d>>2];while(1){c=b;if((e|0)==(j[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;d=c+(b&4)|0;b=j[d+16>>2];if(b){continue}break}j[d+16>>2]=g;j[g+24>>2]=c}j[g+12>>2]=g;j[g+8>>2]=g;break x}a=j[d+8>>2];j[a+12>>2]=h;j[d+8>>2]=h;j[h+24>>2]=0;j[h+12>>2]=d;j[h+8>>2]=a}a=l+8|0;break a}a=j[c+8>>2];j[a+12>>2]=g;j[c+8>>2]=g;j[g+24>>2]=0;j[g+12>>2]=c;j[g+8>>2]=a}a=j[13235];if(a>>>0<=i>>>0){break d}b=a-i|0;j[13235]=b;c=j[13238];a=c+i|0;j[13238]=a;j[a+4>>2]=b|1;j[c+4>>2]=i|3;a=c+8|0;break a}j[13231]=48;a=0;break a}O:{if(!f){break O}c=j[d+28>>2];a=(c<<2)+53232|0;P:{if(j[a>>2]==(d|0)){j[a>>2]=b;if(b){break P}l=ke(-2,c)&l;j[13233]=l;break O}j[f+(j[f+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break O}}j[b+24>>2]=f;a=j[d+16>>2];if(a){j[b+16>>2]=a;j[a+24>>2]=b}a=j[d+20>>2];if(!a){break O}j[b+20>>2]=a;j[a+24>>2]=b}Q:{if(e>>>0<=15){a=e+i|0;j[d+4>>2]=a|3;a=a+d|0;j[a+4>>2]=j[a+4>>2]|1;break Q}j[d+4>>2]=i|3;j[h+4>>2]=e|1;j[e+h>>2]=e;if(e>>>0<=255){a=e>>>3|0;b=(a<<3)+52968|0;c=j[13232];a=1<>2]}j[b+8>>2]=h;j[a+12>>2]=h;j[h+12>>2]=b;j[h+8>>2]=a;break Q}a=31;if(e>>>0<=16777215){a=e>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;a=(a<<1|e>>>a+21&1)+28|0}j[h+28>>2]=a;j[h+16>>2]=0;j[h+20>>2]=0;c=(a<<2)+53232|0;S:{b=1<>2]=h;j[h+24>>2]=c;break T}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);i=j[c>>2];while(1){b=i;if((j[b+4>>2]&-8)==(e|0)){break S}c=a>>>29|0;a=a<<1;c=b+(c&4)|0;i=j[c+16>>2];if(i){continue}break}j[c+16>>2]=h;j[h+24>>2]=b}j[h+12>>2]=h;j[h+8>>2]=h;break Q}a=j[b+8>>2];j[a+12>>2]=h;j[b+8>>2]=h;j[h+24>>2]=0;j[h+12>>2]=b;j[h+8>>2]=a}a=d+8|0;break a}U:{if(!o){break U}c=j[b+28>>2];a=(c<<2)+53232|0;V:{if(j[a>>2]==(b|0)){j[a>>2]=d;if(d){break V}j[13233]=ke(-2,c)&h;break U}j[(j[o+16>>2]==(b|0)?16:20)+o>>2]=d;if(!d){break U}}j[d+24>>2]=o;a=j[b+16>>2];if(a){j[d+16>>2]=a;j[a+24>>2]=d}a=j[b+20>>2];if(!a){break U}j[d+20>>2]=a;j[a+24>>2]=d}W:{if(e>>>0<=15){a=e+i|0;j[b+4>>2]=a|3;a=a+b|0;j[a+4>>2]=j[a+4>>2]|1;break W}j[b+4>>2]=i|3;j[l+4>>2]=e|1;j[e+l>>2]=e;if(n){a=n>>>3|0;c=(a<<3)+52968|0;d=j[13237];a=1<>2]}j[c+8>>2]=d;j[a+12>>2]=d;j[d+12>>2]=c;j[d+8>>2]=a}j[13237]=l;j[13234]=e}a=b+8|0}I=p+16|0;return a|0}function Vb(a,b,c,d,e,f,g,k,m,o,s){var t=0,u=0,v=0,w=0,x=0,y=0,A=q(0),B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=q(0),K=0,M=0,N=0,P=0,Q=0,R=q(0),T=0,U=q(0),V=0,W=0,X=q(0),Y=q(0),Z=0,_=q(0),$=q(0);u=I-11552|0;I=u;a:{b:{c:{d:{e:{f:{g:{h:{if(!(!(1<>>0>16)){if((o|0)<=-1){break h}if((o|0)>=3){break g}E=p(s,5);K=E+20|0;v=K<<3;w=p(m,K);i:{if((m|0)==16){if((w|0)>=1){t=w;while(1){y=t-1|0;D=(u+2720|0)+(y<<1)|0;A=je(n[(y<<2)+a>>2]);j:{if(q(r(A))-32768?F:-32768;i[D>>1]=(x|0)<32767?x:32767;x=(t|0)>1;t=y;if(x){continue}break}}j[u+8544>>2]=0;j[u+8548>>2]=0;Pa(u+8544|0,u+8896|0,u+2720|0,w);if((E|0)<-19){break i}t=v;while(1){w=t-1|0;n[(u+10176|0)+(w<<2)>>2]=i[(u+8896|0)+(w<<1)>>1];y=(t|0)>1;t=w;if(y){continue}break}break i}if((m|0)==12){if((w|0)>=1){t=w;while(1){y=t-1|0;D=(u+2720|0)+(y<<1)|0;A=je(n[(y<<2)+a>>2]);k:{if(q(r(A))-32768?F:-32768;i[D>>1]=(x|0)<32767?x:32767;x=(t|0)>1;t=y;if(x){continue}break}}t=u+8560|0;j[t>>2]=0;j[t+4>>2]=0;j[u+8552>>2]=0;j[u+8556>>2]=0;j[u+8544>>2]=0;j[u+8548>>2]=0;bc(u+8544|0,u+8896|0,u+2720|0,w);if((E|0)<-19){break i}t=v;while(1){w=t-1|0;n[(u+10176|0)+(w<<2)>>2]=i[(u+8896|0)+(w<<1)>>1];y=(t|0)>1;t=w;if(y){continue}break}break i}if((m|0)!=8){break f}if((E|0)<-19){break i}t=v;while(1){w=t-1|0;F=(u+8896|0)+(w<<1)|0;A=je(n[(w<<2)+a>>2]);l:{if(q(r(A))-32768?x:-32768;i[F>>1]=(y|0)<32767?y:32767;y=(t|0)>1;t=w;if(y){continue}break}}w=K<<2;j[u+8544>>2]=0;j[u+8548>>2]=0;Pa(u+8544|0,u+8576|0,u+8896|0,v);m:{if((E|0)<-19){break m}t=w;while(1){v=t-1|0;n[(u+9536|0)+(v<<2)>>2]=i[(u+8576|0)+(v<<1)>>1];y=(t|0)>1;t=v;if(y){continue}break}if((E|0)<-19){break m}t=w;while(1){R=n[((t<<2)+u|0)+9528>>2];v=t-1|0;y=(u+9536|0)+(v<<2)|0;A=n[y>>2];n:{if(q(r(A))q(32767)){break o}A=q(-32768);if(R>2]=x|0;y=(t|0)>2;t=v;if(y){continue}break}}O(u+6160|0,0,p(s,596));if((s|0)>=2){t=s>>1;x=(t|0)>1?t:1;K=(u+9536|0)+(w<<2)|0;t=u+9856|0;while(1){y=t+160|0;if(y>>>0>K>>>0){break e}v=t-32|0;if(v>>>0>>0){break d}if(K>>>0>>0){break c}pa(t,t-288|0,u+5888|0,40,65);A=n[u+6144>>2];M=S(t,40)+S(v,40)+16e4;C=+A;n[u+6192>>2]=n[u+6192>>2]+q((C+C)/M);t=9;while(1){w=(u+6160|0)+(t<<2)|0;F=w;R=n[w>>2];C=+n[((0-t<<2)+u|0)+6176>>2];Q=C+C;w=v-4|0;C=+n[w>>2];Z=C*C;C=+n[v+156>>2];M=M+(Z-C*C);n[F>>2]=R+q(Q/M);v=w;t=t+1|0;if((t|0)!=73){continue}break}t=y;B=B+1|0;if((x|0)!=(B|0)){continue}break}}y=m<<1;V=p(m,5);F=p(m,18);K=F-1|0;w=s<<2;t=72;while(1){v=(u+6160|0)+(t<<2)|0;A=n[v>>2];n[v>>2]=A+q(q(A*q(t|0))*q(-.000244140625));v=t>>>0>8;t=t-1|0;if(v){continue}break}v=(o<<1)+4|0;Wb(u+6192|0,u+5744|0,v);q:{A=n[u+6192>>2];r:{if(!(A1?v:1;t=0;while(1){w=t<<2;if(g>2]^1){v=t;break s}w=w+(u+5744|0)|0;j[w>>2]=(j[w>>2]<<1)+16;t=t+1|0;if((x|0)!=(t|0)){continue}break}}t=0;if((v|0)<=0){break b}O(u+5462|0,0,274);while(1){i[(u+5440|0)+(j[(u+5744|0)+(t<<2)>>2]<<1)>>1]=1;t=t+1|0;if((v|0)!=(t|0)){continue}break}t=146;x=l[u+5730>>1];while(1){v=x;w=(u+5440|0)+(t<<1)|0;x=l[w-4>>1];i[w>>1]=l[w>>1]+(v+x|0);v=16;w=t>>>0>16;t=t-1|0;if(w){continue}break}while(1){t=v+1|0;if(i[(u+5440|0)+(t<<1)>>1]>=1){j[(u+5744|0)+(P<<2)>>2]=v;P=P+1|0}v=t;if((t|0)!=144){continue}break}v=146;x=l[u+5728>>1];B=l[u+5730>>1];while(1){w=x;t=(u+5440|0)+(v<<1)|0;x=l[t-6>>1];i[t>>1]=l[t>>1]+((w+B|0)+x|0);t=16;E=v>>>0>16;B=w;v=v-1|0;if(E){continue}break}while(1){if(i[(u+5440|0)+(t<<1)>>1]>=1){i[(u+5440|0)+(G<<1)>>1]=t-2;G=G+1|0}t=t+1|0;if((t|0)!=147){continue}break}B=0;O(u+6160|0,0,2384);if((s|0)>=1){v=(m|0)==8?a+640|0:u+10816|0;E=(G|0)<1;while(1){C=S(v,40);if(!E){C=C+1;t=0;while(1){J=q(0);x=i[(u+5440|0)+(t<<1)>>1]<<2;w=v-x|0;Q=da(w,v,40);if(!(Q>0^1)){J=q((Q+Q)/(C+S(w,40)))}n[x+((u+6160|0)+p(B,596)|0)>>2]=J;t=t+1|0;if((G|0)!=(t|0)){continue}break}}v=v+160|0;B=B+1|0;if((B|0)!=(s|0)){continue}break}}if((f|0)<1){R=q(0)}else{f=(m|0)==12?(f<<1)/3|0:f>>>((m|0)==16)|0;R=q(oa(+q(f|0))*3.32192809488736)}if((P|0)>=1){E=0;t=(s|0)==4;D=t?(m|0)==8?(o|0)>0?11:3:3:3;W=t?10048:10007;N=t?11:3;X=q(s|0);_=q(X*k);Y=q(X*q(.20000000298023224));H=-1;k=q(-1e3);g=q(0);B=(s|0)<1;x=(f|0)<1;f=0;while(1){T=j[(u+5744|0)+(E<<2)>>2];v=0;while(1){w=(u+5840|0)+(v<<2)|0;j[w>>2]=0;J=q(0);t=0;if(!B){while(1){J=q(n[((u+6160|0)+p(t,596)|0)+(T+h[W+(p(t,N)+v|0)|0]<<2)>>2]+J);t=t+1|0;if((t|0)!=(s|0)){continue}break}n[w>>2]=J}v=v+1|0;if((D|0)!=(v|0)){continue}break}J=q(-1e3);t=0;v=0;while(1){A=n[(u+5840|0)+(t<<2)>>2];w=A>J;J=w?A:J;v=w?t:v;t=t+1|0;if((D|0)!=(t|0)){continue}break}U=q(oa(+q(T|0))*3.32192809488736);A=q(J-q(Y*U));$=J;if(!x){U=q(U-R);U=q(U*U);A=q(A-q(q(U*q(Y*n[e>>2]))/q(U+q(.5))))}t=k_;g=t?$:g;k=t?A:k;H=t?T:H;f=t?v:f;E=E+1|0;if((P|0)!=(E|0)){continue}break}if((H|0)!=-1){break q}}j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[b+12>>2]=0}j[e>>2]=0;i[c>>1]=0;h[d|0]=0;t=1;break a}n[e>>2]=g/X;w=c;t:{if((m|0)<=8){t=0;if((s|0)>0){while(1){a=h[W+(p(t,N)+f|0)|0]+H|0;a=(a|0)>16?a:16;j[(t<<2)+b>>2]=(a|0)<144?a:144;t=t+1|0;if((t|0)!=(s|0)){continue}break}}a=H-16|0;break t}u:{if((m|0)==12){e=p(H<<16>>16,3);f=(e>>1)+(e&1)|0;break u}f=H<<1}v:{if((y|0)>=(F|0)){e=y;if((f|0)>(y|0)){break v}e=(f|0)<(K|0)?K:f;break v}e=K;if((f|0)>=(F|0)){break v}e=(f|0)<(y|0)?y:f}E=e;x=10016;H=10040;G=12;e=12;w:{switch(s-2|0){default:L(10770,10329,518);z();case 2:H=(o<<3)+10240|0;G=h[o+10264|0];x=10096;e=34;break;case 0:break w}}f=E+2|0;W=(f|0)<(K|0)?f:K;f=E-2|0;P=(f|0)>(y|0)?f:y;N=0-P<<2;K=p(m,80)+a|0;f=K;B=0;while(1){a=B<<1;D=h[(a|1)+H|0];a=h[a+H|0];t=1-a|0;pa(f,(f+N|0)-(D<<2)|0,u+2720|0,V,t+D|0);m=(a|0)>(D|0);if(!m){m=t+(m?a:D)|0;t=0;v=a;while(1){j[(u+11456|0)+(t<<2)>>2]=j[(u+2720|0)+(D-v<<2)>>2];v=v+1|0;t=t+1|0;if((m|0)!=(t|0)){continue}break}}if((G|0)>=1){v=p(e,B);m=(u+11456|0)+(0-a<<2)|0;t=0;while(1){D=m+(h[(t+v|0)+x|0]<<2)|0;a=j[D+4>>2];T=(p(B,680)+u|0)+p(t,20)|0;j[T>>2]=j[D>>2];j[T+4>>2]=a;j[T+16>>2]=j[D+16>>2];a=j[D+12>>2];j[T+8>>2]=j[D+8>>2];j[T+12>>2]=a;t=t+1|0;if((G|0)!=(t|0)){continue}break}}f=(V<<2)+f|0;B=B+1|0;if((B|0)!=(s|0)){continue}break}x=10016;H=10040;G=12;a=12;x:{switch(s-2|0){default:L(10770,10329,584);z();case 2:H=(o<<3)+10240|0;G=h[o+10264|0];x=10096;a=34;break;case 0:break x}}f=K;B=0;while(1){e=B<<1;N=h[e+H|0];v=f-(N+P<<2)|0;M=S(v,V)+.001;n[u+11456>>2]=M;e=h[(e|1)+H|0];if((e|0)>(N|0)){t=1;m=(e-N|0)+1|0;while(1){C=+n[v+(V-t<<2)>>2];Q=M-C*C;e=t<<2;C=+n[v-e>>2];M=Q+C*C;n[e+(u+11456|0)>>2]=M;t=t+1|0;if((m|0)!=(t|0)){continue}break}}if((G|0)>=1){v=p(a,B);m=(u+11456|0)+(0-N<<2)|0;t=0;while(1){N=m+(h[(t+v|0)+x|0]<<2)|0;e=j[N+4>>2];D=((u+2720|0)+p(B,680)|0)+p(t,20)|0;j[D>>2]=j[N>>2];j[D+4>>2]=e;j[D+16>>2]=j[N+16>>2];e=j[N+12>>2];j[D+8>>2]=j[N+8>>2];j[D+12>>2]=e;t=t+1|0;if((G|0)!=(t|0)){continue}break}}f=(V<<2)+f|0;B=B+1|0;if((B|0)!=(s|0)){continue}break}y:{if((s|0)!=4){H=10016;x=12;m=12;break y}x=h[o+10264|0];H=10096;m=34}C=S(K,p(s,V));f=0;if((P|0)<=(W|0)){g=q(q(.05000000074505806)/q(E|0));C=C+1;A=q(-1e3);v=(s|0)<1;B=0;while(1){G=0;if((x|0)>0){while(1){J=q(0);z:{if(v){break z}M=0;t=0;Q=C;while(1){a=B<<2;e=p(G,20);o=p(t,680);Q=Q+ +n[a+(e+(o+(u+2720|0)|0)|0)>>2];M=M+ +n[a+(e+(o+u|0)|0)>>2];t=t+1|0;if((t|0)!=(s|0)){continue}break}if(M>0^1){break z}J=q(q(q(1)-q(g*q(G|0)))*q((M+M)/Q))}if(!(A=1){t=0;while(1){e=(t<<2)+b|0;o=h[(p(m,t)+f|0)+H|0]+E|0;j[e>>2]=o;v=e;A:{if((y|0)>(F|0)){e=y;if((o|0)>(y|0)){break A}e=(o|0)<(F|0)?F:o;break A}a=F;e=a;if((a|0)<(o|0)){break A}e=(o|0)<(y|0)?y:o}j[v>>2]=e;t=t+1|0;if((t|0)!=(s|0)){continue}break}}a=E-y|0}i[w>>1]=a;h[d|0]=f;t=0;if(i[c>>1]>-1){break a}L(10737,10329,474);z()}L(10267,10329,112);z()}L(10366,10329,115);z()}L(10418,10329,116);z()}L(10470,10329,151);z()}L(10500,10329,173);z()}L(10580,10329,178);z()}L(10622,10329,179);z()}L(10701,10329,241);z()}I=u+11552|0;return t}function Qd(a,b,c,d,e,f,g,l,m,n,o,q,r,t,u){var v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;v=I;ha=v;j[b+4340>>2]=h[c+34|0];O=j[b+4328>>2];aa=k[c+31|0];H=h[c+29|0];E=h[c+30|0];y=j[a+4592>>2];v=j[a+4584>>2];P=y+v|0;T=ha-((P<<2)+15&-16)|0;w=T;I=w;ba=w-((P<<1)+15&-16)|0;w=ba;I=w;x=j[a+4588>>2];ca=w-((x<<2)+15&-16)|0;I=ca;j[b+4332>>2]=y;j[b+4336>>2]=y;a:{b:{c:{w=j[a+4580>>2];if((w|0)>=1){M=t<<16>>16;E=i[((H<<1&-4)+(E<<1)|0)+5840>>1];da=E+944|0;ia=p(M,da<<16>>16);ja=E-944|0;va=p(0-(ja<<16)>>16,M);ka=(aa|0)==4;wa=ka?3:1;xa=E-80|0;aa=b+3900|0;v=t>>>1|0;ya=512-v|0;ea=v-512|0;la=u<<16>>16;fa=(y<<1)+b|0;P=p(E,M);za=(t|0)<2049;D=b+3840|0;ma=D;while(1){K=F<<2;Z=j[K+m>>2];j[b+4348>>2]=0;t=1;C=((F>>>1|ka)<<5)+f|0;d:{if((H&255)!=2){break d}H=2;O=j[(F<<2)+r>>2];if(F&wa){break d}v=j[a+4592>>2];u=j[a+4640>>2];t=(v-O|0)-u|0;if((t|0)<=2){break c}t=t-2|0;Mb((t<<1)+ba|0,(t+p(x,F)<<1)+b|0,C,v-t|0,u);j[b+4348>>2]=1;j[b+4332>>2]=j[a+4592>>2];H=k[c+29|0];t=0}V=q+K|0;u=j[V>>2];Q=(u|0)>1?u:1;B=s(Q);A=Q<>16;w=536870911/(y|0)|0;v=w<<16;G=v>>16;x=(w>>15)+1>>1;w=0-(p(y,G)+(p(G,A&65535)>>16)<<3)|0;A=((v+p(x,w)|0)+p(G,w>>16)|0)+(p(G,w&65528)>>16)|0;v=15-B|0;G=j[r+K>>2];e:{if(Q>>>0<=131071){y=0-v|0;w=2147483647>>>y|0;v=-2147483648>>y;v=((w|0)<(A|0)?w:(v|0)>(A|0)?v:A)<>v}R=j[a+4588>>2];if((R|0)>=1){w=(v>>4)+1|0;A=w<<15>>16;w=(w>>16)+1>>1;x=0;while(1){y=i[(x<<1)+d>>1];j[(x<<2)+ca>>2]=(p(A,y>>16)+p(w,y)|0)+(p(A,y&65535)>>16);x=x+1|0;if((R|0)!=(x|0)){continue}break}}f:{if(t){break f}v=F?v:p(v>>16,la)+(p(v&65535,la)>>16)<<2;y=j[b+4332>>2];x=(y-G|0)-2|0;if((x|0)>=(y|0)){break f}w=v&65535;v=v>>16;while(1){t=i[(x<<1)+ba>>1];j[(x<<2)+T>>2]=(p(t,w)>>16)+p(t,v);x=x+1|0;if((y|0)!=(x|0)){continue}break}}t=j[b+4344>>2];if((t|0)!=(u|0)){v=t;t=t>>31;w=s(v+t^t);y=v<>31;v=s(t+u^t);t=u<>16)<<16>>16;y=(p(A,y&65535)>>16)+p(A,y>>16)|0;t=ie(y,y>>31,t,t>>31);t=x-(((J&536870911)<<3|t>>>29)&-8)|0;y=(p(t>>16,A)+y|0)+(p(A,t&65535)>>16)|0;t=w-v|0;u=t+13|0;t=t+29|0;g:{if((t|0)<=15){v=0-u|0;u=2147483647>>>v|0;t=-2147483648>>v;t=((u|0)<(y|0)?u:(t|0)>(y|0)?t:y)<>u:0}u=j[a+4592>>2];if((u|0)>=1){y=t&65535;w=t>>16;x=j[b+4336>>2]-u|0;while(1){v=((x<<2)+b|0)+1280|0;u=j[v>>2];A=u<<16>>16;j[v>>2]=(p(w,A)+(p(y,A)>>16)|0)+p(t,(u>>15)+1>>1);x=x+1|0;if((x|0)>2]){continue}break}}h:{if(j[b+4348>>2]|(H&255)!=2){break h}B=j[b+4332>>2];x=(B-G|0)-2|0;if((x|0)>=(B|0)){break h}y=t&65535;w=t>>16;while(1){v=(x<<2)+T|0;u=j[v>>2];A=u<<16>>16;j[v>>2]=(p(w,A)+(p(y,A)>>16)|0)+p(t,(u>>15)+1>>1);x=x+1|0;if((B|0)!=(x|0)){continue}break}}v=j[b+4320>>2];u=v<<16>>16;B=t&65535;A=t>>16;j[b+4320>>2]=((p(u,B)>>16)+p(A,u)|0)+p(t,(v>>15)+1>>1);v=j[b+4324>>2];u=v<<16>>16;j[b+4324>>2]=((p(u,B)>>16)+p(u,A)|0)+p(t,(v>>15)+1>>1);x=0;w=0;while(1){v=((w<<2)+b|0)+3840|0;u=j[v>>2];y=u<<16>>16;j[v>>2]=(p(y,A)+(p(y,B)>>16)|0)+p(t,(u>>15)+1>>1);w=w+1|0;if((w|0)!=16){continue}break}while(1){v=((x<<2)+b|0)+4224|0;u=j[v>>2];w=u<<16>>16;j[v>>2]=(p(w,A)+(p(w,B)>>16)|0)+p(t,(u>>15)+1>>1);x=x+1|0;if((x|0)!=24){continue}break}j[b+4344>>2]=j[V>>2];R=j[a+4588>>2];u=j[V>>2]}if((R|0)>=1){W=p(F,10)+g|0;S=0;na=(H&255)!=2;Aa=na|(O|0)>0;v=Z>>2;oa=(v|Z<<15)>>16;t=j[o+K>>2];pa=t>>16;X=j[a+4636>>2];Ba=X>>1;Ca=X&1;qa=j[a+4640>>2];Da=qa>>1;ra=u<<10>>16;sa=v<<16>>16;ta=t<<16>>16;H=(u>>21)+1>>1;_=p(F,48)+l|0;t=X-1|0;Z=_+(t<<1)|0;V=((t<<2)+b|0)+4224|0;Y=((j[b+4336>>2]-O<<2)+b|0)+1284|0;N=((j[b+4332>>2]-O<<2)+T|0)+8|0;ua=i[n+K>>1];x=j[b+4340>>2];u=aa;while(1){j[b+4340>>2]=p(x,196314165)+907633515;t=i[C>>1];v=j[u>>2];w=(p(t,v>>16)+Da|0)+(p(t,v&65535)>>16)|0;t=i[C+2>>1];v=j[u-4>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+4>>1];v=j[u-8>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+6>>1];v=j[u-12>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+8>>1];v=j[u-16>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+10>>1];v=j[u-20>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+12>>1];v=j[u-24>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+14>>1];v=j[u-28>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+16>>1];v=j[u-32>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+18>>1];v=j[u-36>>2];$=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;if((qa|0)==16){t=i[C+20>>1];v=j[u-40>>2];w=(p(t,v>>16)+$|0)+(p(t,v&65535)>>16)|0;t=i[C+22>>1];v=j[u-44>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+24>>1];v=j[u-48>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+26>>1];v=j[u-52>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+28>>1];v=j[u-56>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+30>>1];v=j[u-60>>2];$=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0}ga=0;if(!na){t=i[W>>1];v=j[N>>2];w=p(t,v>>16)+(p(t,v&65535)>>16)|0;t=i[W+2>>1];v=j[N-4>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[W+4>>1];v=j[N-8>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[W+6>>1];v=j[N-12>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[W+8>>1];v=j[N-16>>2];ga=((w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0)+2|0;N=N+4|0}if(Ca){break b}w=j[b+4224>>2];v=j[b+4324>>2];j[b+4224>>2]=v;t=i[_>>1];v=(p(t,v>>16)+Ba|0)+(p(t,v&65535)>>16)|0;x=2;if((X|0)>=3){while(1){y=b+4224|0;A=x-1|0;t=y+(A<<2)|0;B=j[t>>2];j[t>>2]=w;y=y+(x<<2)|0;t=j[y>>2];A=i[(A<<1)+_>>1];j[y>>2]=B;w=(p(A,w>>16)+v|0)+(p(A,w&65535)>>16)|0;v=i[(x<<1)+_>>1];v=(w+p(v,B>>16)|0)+(p(v,B&65535)>>16)|0;w=t;x=x+2|0;if((X|0)>(x|0)){continue}break}}j[V>>2]=w;if(!Aa){break a}t=j[b+4320>>2];A=t&65535;y=t>>16;t=i[Z>>1];Q=((p(A,ua)>>16)+p(y,ua)|0)+((p(t,w>>16)+v|0)+(p(t,w&65535)>>16)<<1)|0;t=j[((j[b+4336>>2]<<2)+b|0)+1276>>2];G=((p(y,pa)+(p(A,pa)>>16)|0)+p(t>>16,ta)|0)+(p(t&65535,ta)>>16)|0;t=(($<<2)-Q|0)-G|0;i:{if((O|0)>=1){w=(t<<1)+ga|0;v=j[Y-4>>2];t=j[Y-8>>2]+j[Y>>2]|0;x=w-(((p(v>>16,oa)+p(t>>16,sa)|0)+(p(t&65535,sa)>>16)|0)+(p(v&65535,oa)>>16)<<1)>>2;Y=Y+4|0;break i}x=t>>1}j:{k:{l:{m:{B=(S<<2)+ca|0;t=j[B>>2]-(x+1>>1)|0;t=j[b+4340>>2]<0?0-t|0:t;t=(t|0)>-31744?t:-31744;K=(t|0)<30720?t:30720;x=K-E|0;t=x;n:{if(za){break n}t=x-ea|0;if((x|0)>(ea|0)){break n}if((x|0)>=(ya|0)){break m}t=x+ea|0}A=t;if((A|0)>=1024){w=(A&-1024)+xa|0;v=p(w<<16>>16,M);y=w+1024|0;t=p(y<<16>>16,M);break j}w=E;y=da;v=P;t=ia;switch((A>>10)+1|0){case 1:break j;case 0:break l;default:break k}}w=E;y=da;v=P;t=ia;if((x|0)>=0){break j}}w=ja;y=E;v=va;t=P;break j}w=E+(A&-1024|80)|0;v=p(0-(w<<16)>>16,M);y=w+1024|0;t=p(0-(y<<16)>>16,M)}A=e+S|0;x=t;t=K-y<<16>>16;x=x+p(t,t)|0;t=K-w<<16>>16;t=(x|0)<(p(t,t)+v|0)?y:w;h[A|0]=(t>>>9|0)+1>>>1;t=t<<4;v=(ga<<1)+(j[b+4340>>2]<0?0-t|0:t)|0;w=v+($<<4)|0;t=(p(w>>16,ra)+p(w,H)|0)+(p(w&65534,ra)>>16)|0;i[(S<<1)+fa>>1]=(t|0)>8388479?32767:(t|0)<-8388736?-32768:(t>>>7|0)+1>>>1|0;j[u+4>>2]=w;t=w-(j[B>>2]<<4)|0;j[b+4324>>2]=t;t=t-(Q<<2)|0;j[b+4320>>2]=t;j[((j[b+4336>>2]<<2)+b|0)+1280>>2]=t-(G<<2);t=j[b+4332>>2];j[(t<<2)+T>>2]=v<<1;j[b+4332>>2]=t+1;j[b+4336>>2]=j[b+4336>>2]+1;x=j[b+4340>>2]+h[A|0]|0;j[b+4340>>2]=x;u=u+4|0;S=S+1|0;if((S|0)!=(R|0)){continue}break}}v=(R<<2)+b|0;u=v+3896|0;t=j[u+4>>2];j[ma+56>>2]=j[u>>2];j[ma+60>>2]=t;u=v+3888|0;t=j[u+4>>2];j[D+48>>2]=j[u>>2];j[D+52>>2]=t;u=v+3880|0;t=j[u+4>>2];j[D+40>>2]=j[u>>2];j[D+44>>2]=t;u=v+3872|0;t=j[u+4>>2];j[D+32>>2]=j[u>>2];j[D+36>>2]=t;u=v+3864|0;t=j[u+4>>2];j[D+24>>2]=j[u>>2];j[D+28>>2]=t;u=v+3856|0;t=j[u+4>>2];j[D+16>>2]=j[u>>2];j[D+20>>2]=t;u=v+3848|0;t=j[u+4>>2];j[D+8>>2]=j[u>>2];j[D+12>>2]=t;u=v+3840|0;t=j[u+4>>2];j[D>>2]=j[u>>2];j[D+4>>2]=t;w=j[a+4580>>2];F=F+1|0;if((w|0)>(F|0)){x=j[a+4588>>2];e=x+e|0;t=x<<1;d=t+d|0;fa=t+fa|0;H=k[c+29|0];continue}break}y=j[a+4592>>2];v=j[a+4584>>2]}j[b+4328>>2]=j[((w<<2)+r|0)-4>>2];b=U(b,(v<<1)+b|0,y<<1)+1280|0;U(b,b+(j[a+4584>>2]<<2)|0,j[a+4592>>2]<<2);I=ha;return}L(16318,16350,146);z()}L(16361,16350,250);z()}L(16408,16350,258);z()}function Eb(a,b,c,d,e,f,g,m){var n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;x=I-32|0;y=x;I=x;if(j[b+68>>2]){j[a+14728>>2]=1;j[a+4664>>2]=1}j[a+5748>>2]=0;j[a+15812>>2]=0;if(!oc(b)){V=a+10064|0;j[b+88>>2]=0;a:{if(j[b+4>>2]<=j[a+20196>>2]){break a}v=wa(V,j[a+5092>>2]);j[a+20144>>2]=1;j[a+20148>>2]=0;j[a+20136>>2]=0;j[a+20140>>2]=0;j[a+20128>>2]=0;j[a+20152>>2]=1;j[a+20156>>2]=16384;if(j[a+20192>>2]!=2){break a}M(a+15840|0,a+5776|0,300);n=j[a+4>>2];j[a+10064>>2]=j[a>>2];j[a+10068>>2]=n}D=j[b+24>>2];b:{if((D|0)!=j[a+4612>>2]){o=j[b+4>>2];n=1;break b}o=j[b+4>>2];n=(o|0)!=j[a+20196>>2]}q=j[b>>2];j[a+20196>>2]=o;j[a+20192>>2]=q;t=p(d,100);q=j[b+8>>2];u=(t|0)/(q|0)|0;c:{d:{e:{f:{if(g){if((u|0)!=1){break c}if((g|0)==2){q=j[a+28>>2];j[y+24>>2]=j[a+24>>2];j[y+28>>2]=q;q=j[a+20>>2];j[y+16>>2]=j[a+16>>2];j[y+20>>2]=q;A=j[a+4576>>2]}g:{if((o|0)>0){t=(g|0)!=2;break g}j[b+24>>2]=10;W=j[b+36>>2];j[b+36>>2]=0;break f}h:{while(1){q=p(r,10064)+a|0;K=wa(q,j[q+5092>>2]);if(!t){o=j[y+20>>2];j[q+16>>2]=j[y+16>>2];j[q+20>>2]=o;o=j[y+28>>2];j[q+24>>2]=j[y+24>>2];j[q+28>>2]=o;j[q+32>>2]=A}if(!K){o=j[b+4>>2];r=r+1|0;if((o|0)<=(r|0)){break h}continue}break}L(17522,17507,222);z()}D=j[b+24>>2];j[b+24>>2]=10;W=j[b+36>>2];v=0;j[b+36>>2]=0;if((o|0)<1){break f}while(1){q=p(v,10064)+a|0;j[q+4680>>2]=1;j[q+4668>>2]=0;v=v+1|0;if((v|0)!=(o|0)){continue}break}v=0;break f}if((t|0)!=(p(q,u)|0)|(d|0)<0){break d}q=p(q,D);D=0;if((q|0)<(p(d,1e3)|0)){break e}}i:{j:{k:{l:{if((o|0)<1){break l}w=n^-1;n=0;while(1){o=0;r=p(n,10064)+a|0;v=mc(r,b,j[a+20208>>2],n,(n|0)==1?j[a+4576>>2]:0);if(v){break j}if(!(w&!j[r+4664>>2]|j[a+5744>>2]<1)){while(1){j[(r+(o<<2)|0)+4724>>2]=0;o=o+1|0;if((o|0)>2]){continue}break}}j[r+6080>>2]=j[r+6076>>2];n=n+1|0;q=j[b+4>>2];if((n|0)<(q|0)){continue}break}v=0;if((q|0)!=1){break l}o=j[a+4576>>2];break k}o=j[a+4576>>2];if((o|0)!=j[a+14640>>2]){break i}}H=(u|0)>1?u>>1:1;$=H<<1;aa=H-1|0;ba=a+10212|0;K=a+17232|0;X=a+14784|0;ca=a+15164|0;da=a+5100|0;ea=a+20128|0;E=a+20180|0;fa=a+14788|0;P=a+20162|0;Q=a+15160|0;R=a+15840|0;F=a+5096|0;J=a+5776|0;Y=p(u,10);S=p(Y,o);B=x-(((p(S,j[a+4556>>2])|0)/(p(o,1e3)|0)<<1)+15&-16)|0;I=B;m:{while(1){n=j[a+5740>>2];q=j[a+4584>>2]-n|0;q=(q|0)<(S|0)?q:S;x=(p(q,j[a+4556>>2])|0)/(p(j[a+4576>>2],1e3)|0)|0;n:{o:{p:{q:{r:{s:{t:{switch(j[b>>2]-1|0){case 1:u:{switch(j[b+4>>2]-1|0){case 1:t=j[a+5748>>2];o=0;r=(x|0)<1;if(!r){while(1){i[(o<<1)+B>>1]=l[(o<<2)+c>>1];o=o+1|0;if((x|0)!=(o|0)){continue}break}}if(!(j[a+20200>>2]!=1|t)){M(R,J,300)}n=Z(J,((n<<1)+F|0)+4|0,B,x);j[a+5740>>2]=q+j[a+5740>>2];q=j[a+15804>>2];t=j[a+14648>>2]-q|0;u=p(j[a+14640>>2],Y);t=(t|0)<(u|0)?t:u;o=0;if(!r){while(1){i[(o<<1)+B>>1]=l[(o<<2|2)+c>>1];o=o+1|0;if((x|0)!=(o|0)){continue}break}}q=Z(R,((q<<1)+Q|0)+4|0,B,x);j[a+15804>>2]=t+j[a+15804>>2];v=q+(n+v|0)|0;o=j[a+5740>>2];break s;case 0:break u;default:break r}}o=0;if((x|0)>=1){while(1){t=o<<2;t=i[(t|2)+c>>1]+i[c+t>>1]|0;i[(o<<1)+B>>1]=(t>>>1|0)+(t&1);o=o+1|0;if((x|0)!=(o|0)){continue}break}}v=Z(J,((n<<1)+F|0)+4|0,B,x)+v|0;v:{if(j[a+5748>>2]|j[a+20200>>2]!=2){break v}v=Z(R,((j[a+15804>>2]<<1)+Q|0)+4|0,B,x)+v|0;n=j[a+4584>>2];if((n|0)<1){break v}t=j[a+15804>>2];r=j[a+5740>>2];o=0;while(1){u=o+2|0;w=(u+r<<1)+F|0;i[w>>1]=i[(t+u<<1)+Q>>1]+i[w>>1]>>>1;o=o+1|0;if((n|0)!=(o|0)){continue}break}}o=q+j[a+5740>>2]|0;j[a+5740>>2]=o;break s;case 0:break t;default:break r}}if(j[b+4>>2]!=1){break r}n=Z(J,((n<<1)+F|0)+4|0,M(B,c,x<<1),x);o=q+j[a+5740>>2]|0;j[a+5740>>2]=o;v=n+v|0}ga=j[b>>2];j[a+20208>>2]=0;q=j[a+4584>>2];n=0;if((q|0)>(o|0)){break m}if((o|0)!=(q|0)){break q}n=j[b+4>>2];if(j[a+15804>>2]!=j[a+14648>>2]?(n|0)!=1:0){break p}if(j[a+5748>>2]|g){break n}w=0;i[y+14>>1]=0;h[y+14|0]=0-(256>>>p(n,j[a+5744>>2]+1|0)|0);N(e,0,y+14|0,8);u=j[b+4>>2];if((u|0)<=0){break o}while(1){o=0;r=0;q=p(w,10064)+a|0;n=j[q+5744>>2];if((n|0)>=1){while(1){r=j[(q+(o<<2)|0)+4724>>2]<0;if(!(!r|(n|0)<2)){N(e,r-1|0,j[(n<<2)+5808>>2],8);u=j[b+4>>2]}w=w+1|0;if((w|0)<(u|0)){continue}break}break o}L(17672,17507,320);z()}L(17758,17507,336);z()}L(17857,17507,337);z()}n=0;if(j[a+5744>>2]>0){while(1){if((u|0)>=1){A=n-1|0;T=n+E|0;_=n<<2;w=_+fa|0;o=p(n,6)+P|0;r=0;while(1){q=p(r,10064)+a|0;if(j[(q+_|0)+4724>>2]){w:{if((u|0)!=2|r){break w}_a(e,o);if(j[w>>2]){break w}Za(e,h[T|0])}t=q;u=e;C=n;x:{if(n){U=2;if(j[(q+(A<<2)|0)+4724>>2]){break x}}U=0}za(t,u,C,1,U);t=q+p(n,36)|0;ya(e,h[t+6129|0],h[t+6130|0],(q+p(n,320)|0)+6208|0,j[q+4584>>2]);u=j[b+4>>2]}r=r+1|0;if((r|0)<(u|0)){continue}break}}n=n+1|0;if((n|0)>2]){continue}break}}o=0;if((u|0)>0){while(1){n=p(o,10064)+a|0;j[n+4724>>2]=0;j[n+4728>>2]=0;j[n+4732>>2]=0;o=o+1|0;if((o|0)>2]){continue}break}}j[a+20184>>2]=(j[e+20>>2]+s(j[e+28>>2])|0)-32}gc(a);t=j[b+24>>2];n=j[b+28>>2];q=(p(t,n)|0)/1e3|0;if(!g){q=q-j[a+20184>>2]|0}q=(q|0)/j[a+5744>>2]|0;r=p(q<<16>>16,(t|0)==10?100:50)-(j[a+20188>>2]<<1)|0;y:{if(g){break y}t=j[a+5748>>2];if((t|0)<1){break y}r=((j[a+20184>>2]+((p(q,t)-j[e+20>>2]|0)-s(j[e+28>>2])|0)<<1)+r|0)- -64|0}z:{if((n|0)>=5001){q=n;if((n|0)<(r|0)){break z}q=(r|0)>5e3?r:5e3;break z}q=5e3;if((r|0)>5e3){break z}q=(n|0)>(r|0)?n:r}A:{if(j[b+4>>2]==2){n=j[a+5748>>2];ec(ea,da,ca,p(n,6)+P|0,n+E|0,y+16|0,q,j[a+4532>>2],j[b+60>>2],j[a+4576>>2],j[a+4584>>2]);n=j[a+5748>>2];B:{if(!k[n+E|0]){if(j[a+20212>>2]==1){n=K;j[n>>2]=0;j[n+4>>2]=0;j[n+8>>2]=0;j[a+10080>>2]=0;j[a+10084>>2]=0;O(ba,0,4384);h[a+17232|0]=10;j[a+14540>>2]=100;j[a+14608>>2]=100;h[a+14605|0]=0;j[a+14728>>2]=1;j[a+14556>>2]=65536}Fb(V,m);break B}h[n+X|0]=0}if(g){break A}_a(e,p(j[a+5748>>2],6)+P|0);n=j[a+5748>>2];if(k[n+X|0]){break A}Za(e,h[n+E|0]);break A}j[a+5096>>2]=j[a+20132>>2];n=(j[a+4584>>2]<<1)+F|0;j[a+20132>>2]=l[n>>1]|l[n+2>>1]<<16}Fb(a,m);A=j[b+4>>2];if((A|0)>=1){T=!G&(H|0)==2;o=0;while(1){t=j[b+56>>2];n=(p(t,3)|0)/5|0;C:{if(T){break C}n=t;if((H|0)!=3){break C}n=(t<<1)/5|0;if(!G){break C}n=t;if((G|0)!=1){break C}n=(p(t,3)|0)/4|0}u=n;w=(G|0)==(aa|0)&j[b+52>>2]!=0;D:{if((A|0)==1){r=q;break D}r=j[(y+16|0)+(o<<2)>>2];if(j[y+20>>2]<1|o){break D}u=u-((t|0)/($|0)|0)|0;w=0}if((r|0)>=1){n=p(o,10064)+a|0;Bd(n,r);t=f;r=e;C=0;E:{if(j[a+5748>>2]<=(o|0)){break E}if(o){C=1;if(j[a+20212>>2]){break E}}C=2}v=Cd(n,t,r,C,u,w);A=j[b+4>>2]}n=p(o,10064)+a|0;j[n+5740>>2]=0;j[n+4668>>2]=0;j[n+5748>>2]=j[n+5748>>2]+1;o=o+1|0;if((A|0)>(o|0)){continue}break}}t=p(x,ga)<<1;d=d-x|0;n=j[a+5748>>2];j[a+20212>>2]=h[(n+E|0)-1|0];F:{if((n|0)!=j[a+5744>>2]|j[f>>2]<1){break F}w=0;o=0;if((A|0)>=1){while(1){r=o<<1;o=0;q=p(w,10064)+a|0;u=j[q+5744>>2];if((u|0)>=1){while(1){r=(h[(o+q|0)+4720|0]|r)<<1;o=o+1|0;if((u|0)!=(o|0)){continue}break}}o=h[q+4723|0]|r;w=w+1|0;if((w|0)!=(A|0)){continue}break}}if(!g){kc(e,o,p(n+1|0,A))}if(!(!j[a+6080>>2]|(j[a+16144>>2]?0:j[b+4>>2]!=1))){j[f>>2]=0}n=j[b+24>>2];q=(j[a+20188>>2]+(j[f>>2]<<3)|0)+((p(n,j[b+28>>2])|0)/-1e3|0)|0;q=(q|0)>0?q:0;j[a+20188>>2]=(q|0)<1e4?q:1e4;q=j[a+20204>>2];if(j[a+4532>>2]<((p(q<<16>>16,3188)>>16)+13|0)){j[a+20204>>2]=0;j[a+20208>>2]=1;break F}j[a+20208>>2]=0;j[a+20204>>2]=n+q}c=c+t|0;G=G+1|0;if(d){continue}break}n=j[a+20208>>2]}d=j[b+4>>2];j[a+20200>>2]=d;j[b+76>>2]=n;f=j[a+4576>>2];j[b+80>>2]=(f|0)==16?!j[a+28>>2]:0;j[b+72>>2]=p(f<<16>>16,1e3);o=0;j[b+84>>2]=j[b+60>>2]?0:i[a+20156>>1];G:{if(!g){break G}j[b+36>>2]=W;j[b+24>>2]=D;if((d|0)<1){break G}while(1){c=p(o,10064)+a|0;j[c+4680>>2]=0;j[c+4668>>2]=0;o=o+1|0;if((d|0)!=(o|0)){continue}break}}c=h[a+4765|0];j[b+92>>2]=c;j[b+96>>2]=i[((c<<1&-4)+(h[a+4766|0]<<1)|0)+5840>>1]}I=y+32|0;return v}L(17545,17507,262);z()}L(17487,17507,241);z()}L(17487,17507,235);z()}L(17487,17507,206);z()}L(17487,17507,170);z()}function id(a,b,c,d,e,f,g,l,m,o,r,s,t,u,v,w,x,y,A,B,C,D){var E=0,F=0,G=0,H=0,J=0,K=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=q(0),fa=q(0),ga=0,ha=q(0),ia=q(0),ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=q(0),qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0;E=I-1568|0;I=E;F=1;T=j[a+32>>2];Pa=T+(b<<1)|0;Y=i[Pa>>1]<>2]<<1)+T|0)-2>>1]<>2];Q=i[((H<<1)+T|0)-2>>1];ja=Q<7;qa=ma;U=m?1<>1]-Q<>2]=w;j[E+1540>>2]=g;j[E+1520>>2]=s;j[E+1504>>2]=1;j[E+1512>>2]=a;m=j[A>>2];j[E+1556>>2]=D;j[E+1548>>2]=C;j[E+1524>>2]=o;j[E+1544>>2]=m;B=(U|0)>1;j[E+1560>>2]=B;j[E+1552>>2]=0;j[E+1508>>2]=qa;eb=A;if((b|0)<(c|0)){fb=e?N:0;gb=B|(o|0)!=3;hb=qa^1;Ua=la-1|0;Va=b+2|0;na=b+1|0;Wa=c-1|0;ga=(N+ja|0)-(Y<<2)|0;m=0-Y<<2;ib=ga+m|0;Z=m+N|0;ja=-1<>2]=H;b:{c:{C=H+1|0;S=(H<<1)+T|0;B=i[S>>1]<>1]<0){sa=V(w);m=u-sa|0;j[E+1536>>2]=m-1;Xa=v-((b|0)==(H|0)?0:sa)|0;A=0;d:{if((y|0)<=(H|0)){break d}v=y-H|0;v=j[(H<<2)+l>>2]+((Xa|0)/(((v|0)<3?v:3)|0)|0)|0;m=(m|0)<(v|0)?m:v;A=16383;if((m|0)>16383){break d}A=(m|0)>0?m:0}m=B<<2;Q=!qa|(((i[S>>1]<>1]<>2];F=i[o+(na<<1)>>1];v=F-i[o+(b<<1)>>1]<>1]-F<>2];j[E+1528>>2]=o;G=(H|0)>2];J=G?R:0;_=(H|0)==(Wa|0);R=_?0:J;P=-1;f:{if(!Q){m=ja;K=m;break f}m=ja;K=m;if(!((o|0)<0|gb)){break f}m=((i[(Q<<1)+T>>1]<0?m:0;m=Y+P|0;v=Q;while(1){F=v;v=v-1|0;if((m|0)>1]<i[(o<<1)+T>>1]<>1]<1?o:1;v=0;while(1){r=v<<2;G=r+N|0;n[G>>2]=q(n[G>>2]+n[r+ga>>2])*q(.5);v=v+1|0;if((o|0)!=(v|0)){continue}break}break c}if((s|0)==(H|0)){break c}o=P<<2;G=(P|0)==-1;O=G?0:o+N|0;v=A>>>1|0;h:{if((H|0)==(Wa|0)){o=G?0:o+ga|0;B=X(E+1504|0,B,D,v,U,O,x,0,q(1),R,m);m=0;break h}o=G?0:o+ga|0;B=X(E+1504|0,B,D,v,U,O,x,(i[S>>1]<>1]<>2];ia=n[(H+j[a+8>>2]<<2)+g>>2];Za=j[w+4>>2];_a=j[w>>2];r=j[w+20>>2];ua=E+1496|0;o=ua;j[o>>2]=j[w+16>>2];j[o+4>>2]=r;o=j[w+12>>2];j[E+1488>>2]=j[w+8>>2];j[E+1492>>2]=o;ka=j[w+24>>2];$a=E+1480|0;j[$a>>2]=j[w+44>>2];r=j[w+40>>2];va=E+1472|0;o=va;j[o>>2]=j[w+36>>2];j[o+4>>2]=r;o=j[w+32>>2];j[E+1464>>2]=j[w+28>>2];j[E+1468>>2]=o;ab=E+1408|0;oa=E+1560|0;j[ab>>2]=j[oa>>2];W=E+1552|0;r=W;v=j[r+4>>2];wa=E+1400|0;o=wa;j[o>>2]=j[r>>2];j[o+4>>2]=v;$=E+1544|0;r=$;v=j[r+4>>2];xa=E+1392|0;o=xa;j[o>>2]=j[r>>2];j[o+4>>2]=v;aa=E+1536|0;r=aa;v=j[r+4>>2];ya=E+1384|0;o=ya;j[o>>2]=j[r>>2];j[o+4>>2]=v;ba=E+1528|0;r=ba;v=j[r+4>>2];za=E+1376|0;o=za;j[o>>2]=j[r>>2];j[o+4>>2]=v;ca=E+1520|0;r=ca;v=j[r+4>>2];Aa=E+1368|0;o=Aa;j[o>>2]=j[r>>2];j[o+4>>2]=v;da=E+1512|0;r=da;v=j[r+4>>2];Ba=E+1360|0;o=Ba;j[o>>2]=j[r>>2];j[o+4>>2]=v;o=j[E+1508>>2];j[E+1352>>2]=j[E+1504>>2];j[E+1356>>2]=o;O=D<<2;Ca=M(Qa,B,O);Da=M(Ra,F,O);j[W>>2]=-1;v=0;bb=m|K;ea=q(0);K=(P|0)==-1?0:(P<<2)+N|0;r=Fa(E+1504|0,B,F,D,A,U,K,x,_?0:(i[S>>1]<>2]*n[m+B>>2]));v=v+1|0;if((D|0)!=(v|0)){continue}break}v=0;while(1){m=v<<2;ea=q(ea+q(n[m+Da>>2]*n[m+F>>2]));v=v+1|0;if((D|0)!=(v|0)){continue}break}o=j[w+44>>2];P=E+1456|0;m=P;j[m>>2]=j[w+40>>2];j[m+4>>2]=o;o=j[w+36>>2];Ea=E+1448|0;m=Ea;j[m>>2]=j[w+32>>2];j[m+4>>2]=o;o=j[w+28>>2];Ga=E+1440|0;m=Ga;j[m>>2]=j[w+24>>2];j[m+4>>2]=o;o=j[w+20>>2];Ha=E+1432|0;m=Ha;j[m>>2]=j[w+16>>2];j[m+4>>2]=o;o=j[w+12>>2];Ia=E+1424|0;m=Ia;j[m>>2]=j[w+8>>2];j[m+4>>2]=o;m=j[w>>2];o=j[w+4>>2];G=j[da+4>>2];Ja=E+1296|0;v=Ja;j[v>>2]=j[da>>2];j[v+4>>2]=G;G=j[ca+4>>2];Ka=E+1304|0;v=Ka;j[v>>2]=j[ca>>2];j[v+4>>2]=G;G=j[ba+4>>2];La=E+1312|0;v=La;j[v>>2]=j[ba>>2];j[v+4>>2]=G;G=j[aa+4>>2];Ma=E+1320|0;v=Ma;j[v>>2]=j[aa>>2];j[v+4>>2]=G;G=j[$+4>>2];Na=E+1328|0;v=Na;j[v>>2]=j[$>>2];j[v+4>>2]=G;G=j[W+4>>2];Oa=E+1336|0;v=Oa;j[v>>2]=j[W>>2];j[v+4>>2]=G;G=E+1344|0;j[G>>2]=j[oa>>2];j[E+1416>>2]=m;j[E+1420>>2]=o;m=j[E+1508>>2];j[E+1288>>2]=j[E+1504>>2];j[E+1292>>2]=m;jb=M(Sa,B,O);kb=M(Ta,F,O);if(!_){M(ra,(i[S>>1]<>2]=Za;j[w>>2]=_a;m=j[ua+4>>2];j[w+16>>2]=j[ua>>2];j[w+20>>2]=m;m=j[J+1492>>2];j[w+8>>2]=j[J+1488>>2];j[w+12>>2]=m;j[w+24>>2]=ka;j[w+44>>2]=j[$a>>2];m=j[va+4>>2];j[w+36>>2]=j[va>>2];j[w+40>>2]=m;m=j[J+1468>>2];j[w+28>>2]=j[J+1464>>2];j[w+32>>2]=m;m=j[Ba+4>>2];j[da>>2]=j[Ba>>2];j[da+4>>2]=m;m=j[Aa+4>>2];j[ca>>2]=j[Aa>>2];j[ca+4>>2]=m;m=j[za+4>>2];j[ba>>2]=j[za>>2];j[ba+4>>2]=m;m=j[ya+4>>2];j[aa>>2]=j[ya>>2];j[aa+4>>2]=m;m=j[xa+4>>2];j[$>>2]=j[xa>>2];j[$+4>>2]=m;m=j[wa+4>>2];j[W>>2]=j[wa>>2];j[W+4>>2]=m;j[oa>>2]=j[ab>>2];m=j[J+1356>>2];j[J+1504>>2]=j[J+1352>>2];j[J+1508>>2]=m;m=M(B,Ca,O);o=M(F,Da,O);if(!Ya){v=j[a+32>>2];F=i[v+(na<<1)>>1];B=F-i[v+(b<<1)>>1]<>1]-F<>2]=1;v=0;pa=q((ia>ha?ha:ia)/q(3));ia=q(ia+pa);ha=q(ha+pa);pa=q(q(ha*fa)+q(ia*ea));ea=q(0);B=Fa(J+1504|0,m,o,D,A,U,K,x,_?0:(i[S>>1]<>2]*n[m+F>>2]));v=v+1|0;if((D|0)!=(v|0)){continue}break}v=0;while(1){F=v<<2;ea=q(ea+q(n[F+Da>>2]*n[o+F>>2]));v=v+1|0;if((D|0)!=(v|0)){continue}break}if(!(pa>=q(q(ha*fa)+q(ia*ea))^1)){v=j[J+1420>>2];j[w>>2]=j[J+1416>>2];j[w+4>>2]=v;v=j[P+4>>2];j[w+40>>2]=j[P>>2];j[w+44>>2]=v;v=j[Ea+4>>2];j[w+32>>2]=j[Ea>>2];j[w+36>>2]=v;v=j[Ga+4>>2];j[w+24>>2]=j[Ga>>2];j[w+28>>2]=v;v=j[Ha+4>>2];j[w+16>>2]=j[Ha>>2];j[w+20>>2]=v;v=j[Ia+4>>2];j[w+8>>2]=j[Ia>>2];j[w+12>>2]=v;v=j[Ja+4>>2];j[da>>2]=j[Ja>>2];j[da+4>>2]=v;v=j[Ka+4>>2];j[ca>>2]=j[Ka>>2];j[ca+4>>2]=v;v=j[La+4>>2];j[ba>>2]=j[La>>2];j[ba+4>>2]=v;v=j[Ma+4>>2];j[aa>>2]=j[Ma>>2];j[aa+4>>2]=v;v=j[Na+4>>2];j[$>>2]=j[Na>>2];j[$+4>>2]=v;v=j[Oa+4>>2];j[W>>2]=j[Oa>>2];j[W+4>>2]=v;j[oa>>2]=j[G>>2];v=j[J+1292>>2];j[J+1504>>2]=j[J+1288>>2];j[J+1508>>2]=v;M(m,jb,O);M(o,kb,O);if(!_){M((i[S>>1]<>2]=0;B=Fa(E+1504|0,B,F,D,A,U,(P|0)==-1?0:(P<<2)+N|0,x,_?0:(i[S>>1]<>1]<>2];j[E+1560>>2]=0;v=m+(sa+Xa|0)|0;o=D<<3<(A|0);if((c|0)!=(C|0)){continue}break}m=j[E+1544>>2]}j[eb>>2]=m;I=E+1568|0}function Cd(a,b,c,d,e,f){var g=0,m=0,o=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,N=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=q(0),_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;o=I-13584|0;I=o;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;g=j[a+4620>>2];h[a+4770|0]=g&3;j[a+4620>>2]=g+1;g=j[a+4592>>2];cc(a+16|0,a+5098|0,j[a+4584>>2]);V=a+7180|0;B=g<<2;w=V+B|0;r=p(j[a+4576>>2],5);u=w+(r<<2)|0;g=j[a+4584>>2];if((g|0)>=1){t=g;while(1){m=t-1|0;n[u+(m<<2)>>2]=i[((t<<1)+a|0)+5096>>1];A=(t|0)>1;t=m;if(A){continue}break}}n[u>>2]=n[u>>2]+q(9.999999974752427e-7);g=g>>3;m=(g+r<<2)+w|0;n[m>>2]=n[m>>2]+q(9.999999974752427e-7);m=(r+(g<<1)<<2)+w|0;n[m>>2]=n[m>>2]+q(-9.999999974752427e-7);m=(r+p(g,3)<<2)+w|0;n[m>>2]=n[m>>2]+q(-9.999999974752427e-7);m=(r+(g<<2)<<2)+w|0;n[m>>2]=n[m>>2]+q(9.999999974752427e-7);m=(r+p(g,5)<<2)+w|0;n[m>>2]=n[m>>2]+q(9.999999974752427e-7);m=(r+p(g,6)<<2)+w|0;n[m>>2]=n[m>>2]+q(-9.999999974752427e-7);g=(r+p(g,7)<<2)+w|0;n[g>>2]=n[g>>2]+q(-9.999999974752427e-7);a:{if(j[a+4680>>2]){break a}F=a+4736|0;fe(a,o+8480|0,o+5792|0,w);g=B+(o+5792|0)|0;de(a,o+8480|0,g,w);Gd(a,o+8480|0,g,w,d);Ed(a,o+8480|0,d);if(!(!j[a+6092>>2]|j[a+4532>>2]<78)){g=j[a+5748>>2];j[((g<<2)+a|0)+4724>>2]=1;M(o+9232|0,a+148|0,4352);g=(p(g,36)+a|0)+6100|0;m=a+4768|0;m=l[m>>1]|l[m+2>>1]<<16;i[g+32>>1]=m;i[g+34>>1]=m>>>16;m=a+4760|0;r=l[m+4>>1]|l[m+6>>1]<<16;m=l[m>>1]|l[m+2>>1]<<16;i[g+24>>1]=m;i[g+26>>1]=m>>>16;i[g+28>>1]=r;i[g+30>>1]=r>>>16;m=a+4752|0;r=l[m+4>>1]|l[m+6>>1]<<16;m=l[m>>1]|l[m+2>>1]<<16;i[g+16>>1]=m;i[g+18>>1]=m>>>16;i[g+20>>1]=r;i[g+22>>1]=r>>>16;m=a+4744|0;r=l[m+4>>1]|l[m+6>>1]<<16;m=l[m>>1]|l[m+2>>1]<<16;i[g+8>>1]=m;i[g+10>>1]=m>>>16;i[g+12>>1]=r;i[g+14>>1]=r>>>16;m=l[a+4740>>1]|l[a+4742>>1]<<16;r=l[a+4736>>1]|l[a+4738>>1]<<16;i[g>>1]=r;i[g+2>>1]=r>>>16;i[g+4>>1]=m;i[g+6>>1]=m>>>16;t=j[a+4580>>2];M(o+48|0,o+8480|0,t<<2);u=o+1344|0;r=g;A=a+4540|0;B=(d|0)==2;m=j[a+5748>>2];if(!(j[((m<<2)+a|0)+4720>>2]?m:0)){h[a+4540|0]=k[a+7168|0];m=k[g|0]+k[a+6096|0]|0;h[g|0]=m<<24>>24<63?m:63;t=j[a+4580>>2]}Fd(u,r,A,B,t);m=j[a+4580>>2];if((m|0)>=1){t=0;while(1){r=t<<2;n[r+(o+8480|0)>>2]=q(j[r+(o+1344|0)>>2])*q(152587890625e-16);t=t+1|0;if((m|0)!=(t|0)){continue}break}}Jb(a,o+8480|0,g,o+9232|0,(p(j[a+5748>>2],320)+a|0)+6208|0,w);M(o+8480|0,o+48|0,j[a+4580>>2]<<2)}r=Gb(F,j[a+4580>>2]);m=j[c+44>>2];K=o+5784|0;g=K;j[g>>2]=j[c+40>>2];j[g+4>>2]=m;m=j[c+36>>2];N=o+5776|0;g=N;j[g>>2]=j[c+32>>2];j[g+4>>2]=m;m=j[c+28>>2];P=o+5768|0;g=P;j[g>>2]=j[c+24>>2];j[g+4>>2]=m;m=j[c+20>>2];Q=o+5760|0;g=Q;j[g>>2]=j[c+16>>2];j[g+4>>2]=m;m=j[c+12>>2];R=o+5752|0;g=R;j[g>>2]=j[c+8>>2];j[g+4>>2]=m;g=j[c+4>>2];j[o+5744>>2]=j[c>>2];j[o+5748>>2]=g;G=a+148|0;M(o+9232|0,G,4352);da=a+4736|0;W=(d|0)==2;ea=e-5|0;S=a+7168|0;J=a+4772|0;X=j[a+5768>>2];Y=l[a+5772>>1];fa=k[a+4770|0];x=256;B=-1;u=0;m=0;A=-1;while(1){t=(r|0)==(B|0);b:{if(t){g=u;break b}if((r|0)==(A|0)){g=m;break b}if(C){g=j[o+5748>>2];j[c>>2]=j[o+5744>>2];j[c+4>>2]=g;g=j[K+4>>2];j[c+40>>2]=j[K>>2];j[c+44>>2]=g;g=j[N+4>>2];j[c+32>>2]=j[N>>2];j[c+36>>2]=g;g=j[P+4>>2];j[c+24>>2]=j[P>>2];j[c+28>>2]=g;g=j[Q+4>>2];j[c+16>>2]=j[Q>>2];j[c+20>>2]=g;g=j[R+4>>2];j[c+8>>2]=j[R>>2];j[c+12>>2]=g;M(G,o+9232|0,4352);i[a+5772>>1]=Y;h[a+4770|0]=fa;j[a+5768>>2]=X}Jb(a,o+8480|0,F,G,J,w);if(!((C|0)!=6|D)){y=j[c+20>>2];g=o+5736|0;j[g>>2]=j[c+16>>2];j[g+4>>2]=y;y=j[c+12>>2];g=o+5728|0;j[g>>2]=j[c+8>>2];j[g+4>>2]=y;g=j[c+4>>2];j[o+5720>>2]=j[c>>2];j[o+5724>>2]=g;y=j[c+24>>2];v=j[c+40>>2];g=o+5704|0;j[g>>2]=j[c+36>>2];j[g+4>>2]=v;j[o+5712>>2]=j[c+44>>2];g=j[c+32>>2];j[o+5696>>2]=j[c+28>>2];j[o+5700>>2]=g}za(a,c,j[a+5748>>2],0,d);ya(c,h[a+4765|0],h[a+4766|0],J,j[a+4584>>2]);g=(j[c+20>>2]+s(j[c+28>>2])|0)-32|0;if(!(D|(g|0)<=(e|0)|(C|0)!=6)){g=j[o+5724>>2];j[c>>2]=j[o+5720>>2];j[c+4>>2]=g;g=o+5736|0;v=j[g+4>>2];j[c+16>>2]=j[g>>2];j[c+20>>2]=v;g=o+5728|0;v=j[g+4>>2];j[c+8>>2]=j[g>>2];j[c+12>>2]=v;j[c+24>>2]=y;j[c+44>>2]=j[o+5712>>2];g=o+5704|0;v=j[g+4>>2];j[c+36>>2]=j[g>>2];j[c+40>>2]=v;g=j[o+5700>>2];j[c+28>>2]=j[o+5696>>2];j[c+32>>2]=g;g=k[o+9224|0];h[a+7168|0]=g;v=j[a+4580>>2];if((v|0)>=1){O(da,4,v)}if(!W){h[F|0]=g}j[a+5768>>2]=X;i[a+5772>>1]=Y;g=j[a+4584>>2];if((g|0)>=1){O(J,0,g)}za(a,c,j[a+5748>>2],0,d);ya(c,h[a+4765|0],h[a+4766|0],J,j[a+4584>>2]);g=(j[c+20>>2]+s(j[c+28>>2])|0)-32|0}if(f|C){break b}if((e|0)>=(g|0)){break a}}c:{d:{e:{f:{g:{h:{if((C|0)==6){if(!D|!(t|(e|0)<(g|0))){break a}d=j[o+5724>>2];j[c>>2]=j[o+5720>>2];j[c+4>>2]=d;d=o+5736|0;e=j[d+4>>2];j[c+16>>2]=j[d>>2];j[c+20>>2]=e;d=o+5728|0;e=j[d+4>>2];j[c+8>>2]=j[d>>2];j[c+12>>2]=e;j[c+24>>2]=y;j[c+44>>2]=j[o+5712>>2];d=o+5704|0;e=j[d+4>>2];j[c+36>>2]=j[d>>2];j[c+40>>2]=e;d=j[o+5700>>2];j[c+28>>2]=j[o+5696>>2];j[c+32>>2]=d;if(y>>>0>=1276){break h}M(j[c>>2],o+48|0,y);M(G,o+1344|0,4352);h[S|0]=ga;break a}i:{j:{k:{l:{if((e|0)<(g|0)){if(C>>>0<2|D){break l}Z=q(n[o+9172>>2]*q(1.5));n[o+9172>>2]=Z>q(1.5)?Z:q(1.5);_=0;h[a+4766|0]=0;r=-1;break k}if((g|0)>=(ea|0)){break a}if(!t){t=j[c+20>>2];u=o+5736|0;j[u>>2]=j[c+16>>2];j[u+4>>2]=t;t=j[c+12>>2];u=o+5728|0;j[u>>2]=j[c+8>>2];j[u+4>>2]=t;u=j[c+4>>2];j[o+5720>>2]=j[c>>2];j[o+5724>>2]=u;y=j[c+24>>2];t=j[c+40>>2];u=o+5704|0;j[u>>2]=j[c+36>>2];j[u+4>>2]=t;j[o+5712>>2]=j[c+44>>2];u=j[c+32>>2];j[o+5696>>2]=j[c+28>>2];j[o+5700>>2]=u;if(y>>>0>=1276){break g}M(o+48|0,j[c>>2],y);M(o+1344|0,G,4352);ga=k[S|0]}H=x<<16>>16;D=1;if(!_){break f}u=g;g=m;B=r;break i}$=x<<16>>16;_=1;if(D){break j}m=g}aa=j[a+4580>>2];if((aa|0)<1){break e}g=0;E=j[a+4588>>2];T=E;while(1){v=0;t=p(g,E);A=g+1|0;if((t|0)<(p(A,E)|0)){while(1){ba=h[(a+t|0)+4772|0];ca=ba>>31;v=(ca^ca+ba)+v|0;t=t+1|0;if((T|0)!=(t|0)){continue}break}}m:{n:{if(C){t=g<<2;if(j[t+o>>2]<=(v|0)|j[t+(o+32|0)>>2]){break n}}i[(o+24|0)+(g<<1)>>1]=x;j[(g<<2)+o>>2]=v;break m}j[t+(o+32|0)>>2]=1}T=E+T|0;g=A;if((aa|0)!=(g|0)){continue}break}break e}A=r;if(!D){break d}}r=$-H|0;t=((p(r,e-u|0)|0)/(g-u|0)|0)+H|0;m=t<<16>>16;r=r>>2;x=r+H|0;if((m|0)>(x|0)){break c}r=$-r|0;x=(m|0)<(r|0)?r:t;break c}L(16895,16942,251);z()}L(16972,16942,281);z()}u=na(((g-e<<7)/j[a+4584>>2]|0)+2048|0);x=(p(u&65535,H)>>>16|0)+p(u>>16,H)|0;u=g;g=m;B=r;break c}g=m}A=r;x=x<<16>>16<16384?x<<1:32767}t=0;r=j[a+4580>>2];if((r|0)>=1){while(1){m=x;v=t<<2;m=j[v+(o+32|0)>>2]?i[(o+24|0)+(t<<1)>>1]:m;E=v+(o+1328|0)|0;m=m<<16>>16;v=j[(o+v|0)+9208>>2];m=(p(m,v&65535)>>16)+p(m,v>>16)|0;m=(m|0)>-8388608?m:-8388608;j[E>>2]=((m|0)<8388607?m:8388607)<<8;t=t+1|0;if((r|0)!=(t|0)){continue}break}}h[a+7168|0]=k[o+9224|0];Hb(F,o+1328|0,S,W,r);r=Gb(F,j[a+4580>>2]);t=0;m=j[a+4580>>2];if((m|0)>=1){while(1){v=t<<2;n[v+(o+8480|0)>>2]=q(j[v+(o+1328|0)>>2])*q(152587890625e-16);t=t+1|0;if((m|0)!=(t|0)){continue}break}}C=C+1|0;m=g;continue}}U(V,((j[a+4584>>2]<<2)+a|0)+7180|0,j[a+4592>>2]+p(j[a+4576>>2],5)<<2);if(j[a+4680>>2]){a=0}else{d=j[((j[a+4580>>2]<<2)+o|0)+8704>>2];j[a+4664>>2]=0;h[a+4541|0]=k[a+4765|0];j[a+4544>>2]=d;a=(j[c+20>>2]+s(j[c+28>>2])|0)-25>>3}j[b>>2]=a;I=o+13584|0;return 0}function Sd(a,b,c,d,e,f,g,l,m,n,o,q,r,t,u){var v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,N=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;v=I-176|0;R=v;I=v;S=j[b+4328>>2];v=v-(p(j[a+4628>>2],1300)+15&-16)|0;y=v;I=v;A=j[a+4628>>2];K=O(v,0,p(A,1300));if((A|0)>=1){F=b+4224|0;x=b+3840|0;C=j[((j[a+4592>>2]<<2)+b|0)+1276>>2];D=j[b+4324>>2];N=j[b+4320>>2];P=k[c+34|0];while(1){B=p(w,1300)+K|0;j[B+1296>>2]=0;v=w+P&3;j[B+1292>>2]=v;j[B+1288>>2]=v;j[B+1284>>2]=D;j[B+1280>>2]=N;j[B+1024>>2]=C;v=x;G=j[v+4>>2];j[B>>2]=j[v>>2];j[B+4>>2]=G;G=j[v+12>>2];j[B+8>>2]=j[v+8>>2];j[B+12>>2]=G;G=j[v+20>>2];j[B+16>>2]=j[v+16>>2];j[B+20>>2]=G;G=j[v+28>>2];j[B+24>>2]=j[v+24>>2];j[B+28>>2]=G;G=j[v+36>>2];j[B+32>>2]=j[v+32>>2];j[B+36>>2]=G;G=j[v+44>>2];j[B+40>>2]=j[v+40>>2];j[B+44>>2]=G;G=j[v+52>>2];j[B+48>>2]=j[v+48>>2];j[B+52>>2]=G;G=j[v+60>>2];j[B+56>>2]=j[v+56>>2];j[B+60>>2]=G;M(B+1184|0,F,96);w=w+1|0;if((A|0)!=(w|0)){continue}break}}F=k[c+29|0];x=h[c+30|0];j[R+172>>2]=0;w=j[a+4588>>2];B=(w|0)<40?w:40;a:{if((F|0)==2){C=j[a+4580>>2];if((C|0)<1){break a}v=0;while(1){D=j[(v<<2)+r>>2]-3|0;B=(B|0)<(D|0)?B:D;v=v+1|0;if((C|0)!=(v|0)){continue}break}break a}if((S|0)<1){break a}v=S-3|0;B=(v|0)>(B|0)?B:v}D=k[c+31|0];C=y;v=j[a+4592>>2];y=v+j[a+4584>>2]|0;T=C-((y<<2)+15&-16)|0;C=T;I=C;V=C-((y<<1)+15&-16)|0;y=V;I=y;W=y-((w<<2)+15&-16)|0;I=W;j[b+4332>>2]=v;j[b+4336>>2]=v;N=(v<<1)+b|0;b:{C=j[a+4580>>2];if((C|0)>=1){ba=i[((F<<24>>24<<1&-4)+(x<<1)|0)+5840>>1];Y=(D|0)==4;ca=Y?3:1;Z=u<<16>>16;u=0;P=0;while(1){G=u<<2;_=j[G+m>>2];j[b+4348>>2]=0;A=1;$=((u>>>1|Y)<<5)+f|0;c:{if((F|0)!=2){break c}F=2;S=j[(u<<2)+r>>2];if(u&ca){break c}d:{if((u|0)!=2){break d}x=0;v=0;A=j[a+4628>>2];if((A|0)>=2){y=j[K+1296>>2];w=1;while(1){C=j[(p(w,1300)+K|0)+1296>>2];F=(C|0)<(y|0);y=F?C:y;v=F?w:v;w=w+1|0;if((A|0)!=(w|0)){continue}break}}if((A|0)>0){while(1){if((v|0)!=(x|0)){w=p(x,1300)+K|0;j[w+1296>>2]=j[w+1296>>2]+134217727}x=x+1|0;if((A|0)!=(x|0)){continue}break}}if((B|0)<1){P=0;break d}w=j[R+172>>2]+B|0;P=0;x=0;while(1){y=x-B|0;w=(w-1|0)%40|0;w=(w|0)<0?w+40|0:w;A=(p(v,1300)+K|0)+(w<<2)|0;h[y+e|0]=(j[A+544>>2]>>>9|0)+1>>>1;C=j[q+4>>2];D=C<<16>>16;F=j[A+704>>2];F=((p(D,F&65535)>>16)+p(D,F>>16)|0)+p(F,(C>>15)+1>>1)|0;i[(y<<1)+N>>1]=(F|0)>536862719?32767:(F|0)<-536879104?-32768:(F>>>13|0)+1>>>1|0;j[((y+j[b+4336>>2]<<2)+b|0)+1280>>2]=j[A+1024>>2];x=x+1|0;if((B|0)!=(x|0)){continue}break}}v=j[a+4592>>2];x=j[a+4640>>2];w=(v-S|0)-x|0;if((w|0)<=2){break b}w=w-2|0;Mb((w<<1)+V|0,(w+p(j[a+4588>>2],u)<<1)+b|0,$,v-w|0,x);w=j[a+4592>>2];j[b+4348>>2]=1;j[b+4332>>2]=w;F=k[c+29|0];A=0}X=q+G|0;x=j[X>>2];v=(x|0)>1?x:1;y=s(v);C=v<>16;Q=536870911/(D|0)|0;E=Q<<16;w=E>>16;C=0-(p(w,D)+(p(w,C&65535)>>16)<<3)|0;w=((E+p(C,(Q>>15)+1>>1)|0)+p(w,C>>16)|0)+(p(w,C&65528)>>16)|0;y=15-y|0;C=j[r+G>>2];Q=j[a+4628>>2];e:{if(v>>>0<=131071){v=0-y|0;y=2147483647>>>v|0;D=-2147483648>>v;w=((w|0)>(y|0)?y:(w|0)<(D|0)?D:w)<>y}y=j[a+4588>>2];if((y|0)>=1){v=(w>>4)+1|0;D=v<<15>>16;H=(v>>16)+1>>1;v=0;while(1){E=i[(v<<1)+d>>1];j[(v<<2)+W>>2]=(p(D,E>>16)+p(E,H)|0)+(p(D,E&65535)>>16);v=v+1|0;if((y|0)!=(v|0)){continue}break}}f:{if(A){break f}w=u?w:p(w>>16,Z)+(p(w&65535,Z)>>16)<<2;A=j[b+4332>>2];v=(A-C|0)-2|0;if((v|0)>=(A|0)){break f}D=w&65535;w=w>>16;while(1){E=i[(v<<1)+V>>1];j[(v<<2)+T>>2]=(p(E,D)>>16)+p(w,E);v=v+1|0;if((A|0)!=(v|0)){continue}break}}w=j[b+4344>>2];if((w|0)!=(x|0)){v=w;w=w>>31;y=s(v+w^w);v=v<>31;A=s(w+x^w);x=x<>16)<<16>>16;v=(p(w,v&65535)>>16)+p(w,v>>16)|0;x=ie(v,v>>31,x,x>>31);x=D-(((J&536870911)<<3|x>>>29)&-8)|0;w=(p(x>>16,w)+v|0)+(p(w,x&65535)>>16)|0;x=y-A|0;v=x+13|0;x=x+29|0;g:{if((x|0)<=15){v=0-v|0;x=2147483647>>>v|0;y=-2147483648>>v;v=((w|0)>(x|0)?x:(w|0)<(y|0)?y:w)<>v:0}w=j[a+4592>>2];if((w|0)>=1){y=v&65535;A=v>>16;x=j[b+4336>>2]-w|0;while(1){D=((x<<2)+b|0)+1280|0;E=j[D>>2];w=E<<16>>16;j[D>>2]=(p(w,A)+(p(w,y)>>16)|0)+p(v,(E>>15)+1>>1);x=x+1|0;if((x|0)>2]){continue}break}}h:{if(j[b+4348>>2]|(F|0)!=2){break h}w=j[b+4332>>2];x=(w-C|0)-2|0;y=w-B|0;if((x|0)>=(y|0)){break h}A=v&65535;C=v>>16;while(1){D=(x<<2)+T|0;E=j[D>>2];w=E<<16>>16;j[D>>2]=(p(w,C)+(p(w,A)>>16)|0)+p(v,(E>>15)+1>>1);x=x+1|0;if((y|0)!=(x|0)){continue}break}}if((Q|0)>=1){x=v&65535;A=v>>16;C=0;while(1){D=p(C,1300)+K|0;y=j[D+1280>>2];w=y<<16>>16;j[D+1280>>2]=(p(w,A)+(p(w,x)>>16)|0)+p(v,(y>>15)+1>>1);w=j[D+1284>>2];y=w<<16>>16;j[D+1284>>2]=((p(y,x)>>16)+p(y,A)|0)+p(v,(w>>15)+1>>1);w=0;while(1){E=D+(w<<2)|0;H=j[E>>2];y=H<<16>>16;j[E>>2]=(p(y,A)+(p(x,y)>>16)|0)+p(v,(H>>15)+1>>1);y=0;w=w+1|0;if((w|0)!=16){continue}break}w=0;while(1){H=(D+(w<<2)|0)+1184|0;aa=j[H>>2];E=aa<<16>>16;j[H>>2]=(p(A,E)+(p(x,E)>>16)|0)+p(v,(aa>>15)+1>>1);w=w+1|0;if((w|0)!=24){continue}break}while(1){w=D+(y<<2)|0;E=j[w+864>>2];H=E<<16>>16;j[w+864>>2]=((p(H,x)>>16)+p(A,H)|0)+p(v,(E>>15)+1>>1);E=w+1024|0;H=j[E>>2];w=H<<16>>16;j[E>>2]=(p(w,A)+(p(w,x)>>16)|0)+p(v,(H>>15)+1>>1);y=y+1|0;if((y|0)!=40){continue}break}C=C+1|0;if((Q|0)!=(C|0)){continue}break}}j[b+4344>>2]=j[X>>2];Q=j[a+4628>>2];y=j[a+4588>>2];x=j[X>>2]}Rd(b,K,F<<24>>24,W,e,N,T,R,$,p(u,10)+g|0,p(u,48)+l|0,S,_<<15&-65536|_>>2,j[n+G>>2],j[o+G>>2],x,t,ba,y,P,j[a+4636>>2],j[a+4640>>2],j[a+4672>>2],Q,R+172|0,B);w=j[a+4588>>2];e=w+e|0;v=w<<1;N=v+N|0;u=u+1|0;C=j[a+4580>>2];if((u|0)<(C|0)){P=P+1|0;d=d+v|0;F=k[c+29|0];continue}break}A=j[a+4628>>2]}y=0;if((A|0)>=2){x=j[K+1296>>2];v=1;while(1){f=j[(p(v,1300)+K|0)+1296>>2];d=(f|0)<(x|0);x=d?f:x;y=d?v:y;v=v+1|0;if((A|0)!=(v|0)){continue}break}}d=c;c=p(y,1300)+K|0;h[d+34|0]=j[c+1292>>2];d=b;f=c;if((B|0)>=1){A=j[R+172>>2]+B|0;l=j[((C<<2)+q|0)-4>>2];g=l<<10>>16;o=(l>>21)+1>>1;v=0;while(1){l=v-B|0;m=(A-1|0)%40|0;A=(m|0)<0?m+40|0:m;m=c+(A<<2)|0;h[l+e|0]=(j[m+544>>2]>>>9|0)+1>>>1;n=j[m+704>>2];n=(p(g,n>>16)+p(n,o)|0)+(p(g,n&65535)>>16)|0;i[(l<<1)+N>>1]=(n|0)>8388479?32767:(n|0)<-8388736?-32768:(n>>>7|0)+1>>>1|0;j[((l+j[b+4336>>2]<<2)+b|0)+1280>>2]=j[m+1024>>2];v=v+1|0;if((B|0)!=(v|0)){continue}break}w=j[a+4588>>2]}e=(w<<2)+f|0;f=j[e+4>>2];j[d+3840>>2]=j[e>>2];j[d+3844>>2]=f;f=j[e+60>>2];d=b+3896|0;j[d>>2]=j[e+56>>2];j[d+4>>2]=f;f=j[e+52>>2];d=b+3888|0;j[d>>2]=j[e+48>>2];j[d+4>>2]=f;f=j[e+44>>2];d=b+3880|0;j[d>>2]=j[e+40>>2];j[d+4>>2]=f;f=j[e+36>>2];d=b+3872|0;j[d>>2]=j[e+32>>2];j[d+4>>2]=f;f=j[e+28>>2];d=b+3864|0;j[d>>2]=j[e+24>>2];j[d+4>>2]=f;f=j[e+20>>2];d=b+3856|0;j[d>>2]=j[e+16>>2];j[d+4>>2]=f;f=j[e+12>>2];d=b+3848|0;j[d>>2]=j[e+8>>2];j[d+4>>2]=f;M(b+4224|0,c+1184|0,96);j[b+4320>>2]=j[c+1280>>2];j[b+4324>>2]=j[c+1284>>2];j[b+4328>>2]=j[((j[a+4580>>2]<<2)+r|0)-4>>2];b=U(b,(j[a+4584>>2]<<1)+b|0,j[a+4592>>2]<<1)+1280|0;U(b,b+(j[a+4584>>2]<<2)|0,j[a+4592>>2]<<2);I=R+176|0;return}L(16175,16207,253);z()}function Rd(a,b,c,d,e,f,g,k,l,m,n,o,q,r,s,t,u,v,w,x,y,A,B,C,D,E){var F=0,G=0,H=0,J=0,K=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Q=I;ua=Q;a:{if((C|0)>0){H=Q-(p(C,56)+15&-16)|0;I=H;if((w|0)>=1){va=t>>6;K=u<<16>>16;Q=p(K,v<<16>>16);X=v+944|0;ba=p(X<<16>>16,K);ca=v-944|0;wa=p(0-(ca<<16)>>16,K);xa=v-80|0;da=s>>16;ya=y>>1;za=y&1;Aa=A>>1;ea=q>>16;t=u>>>1|0;Ba=512-t|0;Y=t-512|0;fa=s<<16>>16;ga=r<<16>>16;J=B<<16>>16;ha=q<<16>>16;ia=y-1|0;Ca=(ia<<1)+n|0;R=((j[a+4336>>2]-o<<2)+a|0)+1284|0;N=((j[a+4332>>2]-o<<2)+g|0)+8|0;Da=(c|0)!=2;Ea=(y|0)<3;Fa=(u|0)<2049;Ga=(x|0)>0;while(1){b:{if(Da){W=0;break b}c=i[m>>1];q=j[N>>2];r=p(c,q>>16)+(p(c,q&65535)>>16)|0;c=i[m+2>>1];q=j[N-4>>2];r=(r+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[m+4>>1];q=j[N-8>>2];r=(r+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[m+6>>1];q=j[N-12>>2];r=(r+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[m+8>>1];q=j[N-16>>2];W=((r+p(c,q>>16)|0)+(p(c,q&65535)>>16)<<1)+4|0;N=N+4|0}S=0;c:{if((o|0)<1){ja=0;break c}q=j[R-4>>2];c=j[R-8>>2]+j[R>>2]|0;ja=W-(((p(q>>16,ea)+p(c>>16,ha)|0)+(p(c&65535,ha)>>16)|0)+(p(q&65535,ea)>>16)<<2)|0;R=R+4|0}P=O+15|0;T=O<<2;U=T+d|0;ka=i[l+18>>1];la=i[l+16>>1];ma=i[l+14>>1];na=i[l+12>>1];oa=i[l+10>>1];pa=i[l+8>>1];qa=i[l+6>>1];ra=i[l+4>>1];sa=i[l+2>>1];ta=i[l>>1];while(1){F=p(S,1300)+b|0;j[F+1288>>2]=p(j[F+1288>>2],196314165)+907633515;r=F+(P<<2)|0;c=j[r>>2];q=(p(c>>16,ta)+Aa|0)+(p(c&65535,ta)>>16)|0;c=j[r-4>>2];q=(q+p(c>>16,sa)|0)+(p(c&65535,sa)>>16)|0;c=j[r-8>>2];q=(q+p(c>>16,ra)|0)+(p(c&65535,ra)>>16)|0;c=j[r-12>>2];q=(q+p(c>>16,qa)|0)+(p(c&65535,qa)>>16)|0;c=j[r-16>>2];q=(q+p(c>>16,pa)|0)+(p(c&65535,pa)>>16)|0;c=j[r-20>>2];q=(q+p(c>>16,oa)|0)+(p(c&65535,oa)>>16)|0;c=j[r-24>>2];q=(q+p(c>>16,na)|0)+(p(c&65535,na)>>16)|0;c=j[r-28>>2];q=(q+p(c>>16,ma)|0)+(p(c&65535,ma)>>16)|0;c=j[r-32>>2];q=(q+p(c>>16,la)|0)+(p(c&65535,la)>>16)|0;c=j[r-36>>2];q=(q+p(c>>16,ka)|0)+(p(c&65535,ka)>>16)|0;if((A|0)==16){s=q;c=i[l+20>>1];q=j[r-40>>2];s=(s+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[l+22>>1];q=j[r-44>>2];s=(s+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[l+24>>1];q=j[r-48>>2];s=(s+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[l+26>>1];q=j[r-52>>2];s=(s+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[l+28>>1];q=j[r-56>>2];r=(s+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[l+30>>1];q=j[F+T>>2];q=(r+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0}if(za){break a}Z=q<<4;q=j[F+1184>>2];r=(j[F+1284>>2]+p(J,q>>16)|0)+(p(J,q&65535)>>16)|0;j[F+1184>>2]=r;c=i[n>>1];t=(p(c,r>>16)+ya|0)+(p(c,r&65535)>>16)|0;c=j[F+1188>>2]-r|0;u=(q+p(J,c>>16)|0)+(p(J,c&65535)>>16)|0;q=2;if(!Ea){while(1){G=F+1184|0;B=q-1|0;x=G+(B<<2)|0;s=j[x>>2];r=q<<2;c=r+G|0;V=j[c>>2];j[x>>2]=u;r=j[G+(r|4)>>2];x=i[(B<<1)+n>>1];B=c;c=V-u|0;s=(s+p(J,c>>16)|0)+(p(J,c&65535)>>16)|0;j[B>>2]=s;c=i[(q<<1)+n>>1];t=(((p(x,u>>16)+t|0)+(p(x,u&65535)>>16)|0)+p(c,s>>16)|0)+(p(c,s&65535)>>16)|0;c=r-s|0;u=(V+p(J,c>>16)|0)+(p(J,c&65535)>>16)|0;q=q+2|0;if((y|0)>(q|0)){continue}break}}j[(F+(ia<<2)|0)+1184>>2]=u;d:{e:{f:{g:{B=j[U>>2];c=j[F+1280>>2];r=c&65535;q=c>>16;c=i[Ca>>1];_=((p(r,ga)>>16)+p(q,ga)|0)+((p(c,u>>16)+t|0)+(p(c,u&65535)>>16)<<1)<<2;x=j[D>>2];c=j[(F+(x<<2)|0)+1024>>2];$=((p(q,da)+(p(r,da)>>16)|0)+p(c>>16,fa)|0)+(p(c&65535,fa)>>16)<<2;c=B-((((Z+ja|0)-_|0)-$>>3)+1>>1)|0;aa=j[F+1288>>2]<0;c=aa?0-c|0:c;c=(c|0)>-31744?c:-31744;G=(c|0)<30720?c:30720;u=G-v|0;t=u;h:{if(Fa){break h}t=u-Y|0;if((u|0)>(Y|0)){break h}if((u|0)>=(Ba|0)){break g}t=u+Y|0}if((t|0)>=1024){q=(t&-1024)+xa|0;c=p(q<<16>>16,K);s=q+1024|0;r=p(s<<16>>16,K);break d}c=Q;r=ba;q=v;s=X;switch((t>>10)+1|0){case 1:break d;case 0:break f;default:break e}}c=Q;r=ba;q=v;s=X;if((u|0)>=0){break d}}c=wa;r=Q;q=ca;s=v;break d}q=(t&-1024|80)+v|0;c=p(0-(q<<16)>>16,K);s=q+1024|0;r=p(0-(s<<16)>>16,K)}V=j[F+1296>>2];F=p(S,56)+H|0;t=c;c=G-q<<16>>16;u=t+p(c,c)>>10;c=G-s<<16>>16;r=p(c,c)+r>>10;G=(u|0)<(r|0);t=G?s:q;j[F+28>>2]=t;c=G?q:s;j[F>>2]=c;j[F+32>>2]=V+(G?r:u);j[F+4>>2]=V+(G?u:r);c=c<<4;r=(aa?0-c|0:c)+W|0;j[F+24>>2]=r;c=t<<4;q=(aa?0-c|0:c)+W|0;j[F+52>>2]=q;c=r+Z|0;j[F+8>>2]=c;r=q+Z|0;j[F+36>>2]=r;q=c;c=B<<4;q=q-c|0;j[F+16>>2]=q;c=r-c|0;j[F+44>>2]=c;q=q-_|0;j[F+12>>2]=q;c=c-_|0;j[F+40>>2]=c;j[F+20>>2]=q-$;j[F+48>>2]=c-$;S=S+1|0;if((S|0)!=(C|0)){continue}break}u=0;c=(x-1|0)%40|0;x=(c|0)<0?c+40|0:c;j[D>>2]=x;c=0;t=(C|0)<2;if(!t){s=j[H+4>>2];q=1;while(1){r=j[(p(q,56)+H|0)+4>>2];B=(r|0)<(s|0);s=B?r:s;c=B?q:c;q=q+1|0;if((C|0)!=(q|0)){continue}break}}U=(x+E|0)%40<<2;P=U+(p(c,1300)+b|0)|0;c=j[P+384>>2];while(1){if((c|0)!=j[(U+(p(u,1300)+b|0)|0)+384>>2]){q=p(u,56)+H|0;j[q+4>>2]=j[q+4>>2]+134217727;j[q+32>>2]=j[q+32>>2]+134217727}u=u+1|0;if((C|0)!=(u|0)){continue}break}q=j[H+32>>2];s=j[H+4>>2];c=0;u=1;r=0;if(!t){while(1){x=p(u,56)+H|0;t=j[x+4>>2];B=(t|0)>(s|0);s=B?t:s;t=j[x+32>>2];x=(t|0)<(q|0);q=x?t:q;r=B?u:r;c=x?u:c;u=u+1|0;if((C|0)!=(u|0)){continue}break}}if((q|0)<(s|0)){M((p(r,1300)+b|0)+T|0,(p(c,1300)+b|0)+T|0,1300-T|0);r=p(r,56)+H|0;q=p(c,56)+H|0;j[r+24>>2]=j[q+52>>2];c=j[q+48>>2];j[r+16>>2]=j[q+44>>2];j[r+20>>2]=c;c=j[q+40>>2];j[r+8>>2]=j[q+36>>2];j[r+12>>2]=c;c=j[q+32>>2];j[r>>2]=j[q+28>>2];j[r+4>>2]=c}if(!((E|0)>(O|0)?!Ga:0)){c=O-E|0;h[c+e|0]=(j[P+544>>2]>>>9|0)+1>>>1;s=(c<<1)+f|0;q=j[k+U>>2];c=q<<16>>16;r=j[P+704>>2];c=((p(c,r&65535)>>16)+p(c,r>>16)|0)+p(r,(q>>15)+1>>1)|0;i[s>>1]=(c|0)>8388479?32767:(c|0)<-8388736?-32768:(c>>>7|0)+1>>>1|0;j[((j[a+4336>>2]-E<<2)+a|0)+1280>>2]=j[P+1024>>2];j[(j[a+4332>>2]-E<<2)+g>>2]=j[P+864>>2]}j[a+4336>>2]=j[a+4336>>2]+1;j[a+4332>>2]=j[a+4332>>2]+1;q=O+16|0;s=0;while(1){t=p(s,1300)+b|0;r=p(s,56)+H|0;j[t+1280>>2]=j[r+12>>2];j[t+1284>>2]=j[r+16>>2];c=j[r+8>>2];j[t+(q<<2)>>2]=c;j[(t+(j[D>>2]<<2)|0)+704>>2]=c;c=j[r>>2];j[(t+(j[D>>2]<<2)|0)+544>>2]=c;j[(t+(j[D>>2]<<2)|0)+864>>2]=j[r+24>>2]<<1;j[(t+(j[D>>2]<<2)|0)+1024>>2]=j[r+20>>2];c=j[t+1288>>2]+((c>>9)+1>>1)|0;j[t+1288>>2]=c;j[(t+(j[D>>2]<<2)|0)+384>>2]=c;j[t+1296>>2]=j[r+4>>2];s=s+1|0;if((C|0)!=(s|0)){continue}break}j[(j[D>>2]<<2)+k>>2]=va;O=O+1|0;if((O|0)!=(w|0)){continue}break}}s=0;c=w<<2;while(1){e=p(s,1300)+b|0;d=e+c|0;a=j[d+4>>2];j[e>>2]=j[d>>2];j[e+4>>2]=a;a=j[d+60>>2];j[e+56>>2]=j[d+56>>2];j[e+60>>2]=a;a=j[d+52>>2];j[e+48>>2]=j[d+48>>2];j[e+52>>2]=a;a=j[d+44>>2];j[e+40>>2]=j[d+40>>2];j[e+44>>2]=a;a=j[d+36>>2];j[e+32>>2]=j[d+32>>2];j[e+36>>2]=a;a=j[d+28>>2];j[e+24>>2]=j[d+24>>2];j[e+28>>2]=a;a=j[d+20>>2];j[e+16>>2]=j[d+16>>2];j[e+20>>2]=a;a=j[d+12>>2];j[e+8>>2]=j[d+8>>2];j[e+12>>2]=a;s=s+1|0;if((C|0)!=(s|0)){continue}break}I=ua;return}L(16226,16207,364);z()}L(16271,16207,422);z()}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=I-208|0;I=d;j[d+204>>2]=c;e=j[a>>2]+a|0;c=-5;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{x:{y:{switch(b-4e3|0){default:z:{switch(b-10015|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:break a;case 0:break b;case 11:break d;case 9:break e;default:break z}}switch(b-11002|0){case 17:break w;case 16:break x;case 0:break f;default:break a};case 0:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];e=b-2048|0;if(e>>>0>3|(e|0)==2|((b|0)!=j[a+108>>2]?!j[a+14252>>2]:0)){break a}j[a+108>>2]=b;j[a+192>>2]=b;c=0;break a;case 1:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+108>>2];c=0;break a;case 2:b=j[d+204>>2];j[d+204>>2]=b+4;f=a;b=j[b>>2];A:{if((b|0)==-1e3){e=b;break A}c=-1;e=b;if((b|0)==-1){break A}if((b|0)<1){break a}e=500;if((b|0)<501){break A}a=p(j[a+112>>2],3e5);e=(a|0)<(b|0)?a:b}j[f+164>>2]=e;c=0;break a;case 3:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}f=j[a+14236>>2];if(!f){f=j[a+144>>2]/400|0}c=j[a+164>>2];B:{if((c|0)!=-1){if((c|0)!=-1e3){break B}c=j[a+112>>2];a=j[a+144>>2];c=p(c,a)+((p(a,60)|0)/(f|0)|0)|0;break B}c=(p(j[a+144>>2],10208)|0)/(f|0)|0}j[b>>2]=c;c=0;break a;case 22:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];C:{if((b|0)>=1){c=-1;if((b|0)<=j[a+112>>2]){break C}break a}c=-1;if((b|0)!=-1e3){break a}}j[a+120>>2]=b;c=0;break a;case 23:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+120>>2];c=0;break a;case 4:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b-1101>>>0>4){break a}j[a+132>>2]=b;if((b|0)==1101){j[a+20>>2]=8e3;c=0;break a}if((b|0)==1102){j[a+20>>2]=12e3;c=0;break a}j[a+20>>2]=16e3;c=0;break a;case 5:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+132>>2];c=0;break a;case 8:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(b-1101>>>0>=5){c=-1;if((b|0)!=-1e3){break a}}j[a+128>>2]=b;if((b|0)==1101){j[a+20>>2]=8e3;c=0;break a}if((b|0)==1102){j[a+20>>2]=12e3;c=0;break a}j[a+20>>2]=16e3;c=0;break a;case 9:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+14240>>2];c=0;break a;case 16:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>1){break a}j[a+184>>2]=b;c=0;break a;case 17:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+184>>2];c=0;break a;case 10:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>10){break a}j[a+44>>2]=b;j[d>>2]=b;P(e,4010,d);c=0;break a;case 11:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+44>>2];c=0;break a;case 12:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>1){break a}j[a+48>>2]=b;c=0;break a;case 13:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+48>>2];c=0;break a;case 14:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>100){break a}j[a+40>>2]=b;j[d+16>>2]=b;P(e,4014,d+16|0);c=0;break a;case 15:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+40>>2];c=0;break a;case 6:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>1){break a}j[a+148>>2]=b;j[a+60>>2]=1-b;c=0;break a;case 18:case 19:case 26:case 30:case 32:case 33:case 34:case 35:case 38:case 39:case 44:case 45:case 48:break a;case 43:break j;case 42:break k;case 41:break l;case 40:break m;case 37:break n;case 36:break o;case 31:break p;case 29:break q;case 27:break r;case 25:break s;case 24:break t;case 21:break u;case 20:break v;case 7:break y;case 49:break c;case 28:break g;case 47:break h;case 46:break i}}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+148>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b+1>>>0>101){break a}j[a+140>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+140>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>1){break a}j[a+152>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+152>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(b-3001>>>0>=2){c=-1;if((b|0)!=-1e3){break a}}j[a+124>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+124>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}e=j[a+144>>2]/400|0;j[b>>2]=e;c=0;if(j[a+108>>2]==2051){break a}j[b>>2]=e+j[a+116>>2];break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+144>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+18136>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b-8>>>0>16){break a}j[a+168>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+168>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b-5e3>>>0>9){break a}j[a+156>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+156>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>1){break a}j[a+76>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+76>>2];c=0;break a}a=j[d+204>>2];j[d+204>>2]=a+4;c=-1;a=j[a>>2];if(a>>>0>1){break a}j[d+32>>2]=a;P(e,4046,d+32|0);c=0;break a}a=j[d+204>>2];j[d+204>>2]=a+4;a=j[a>>2];if(!a){c=-1;break a}j[d+48>>2]=a;P(e,4047,d+48|0);c=0;break a}b=j[a+4>>2];ub(a+188|0);c=0;O(a+14192|0,0,3948);P(e,4028,0);Ja(a+b|0,j[a+180>>2],d+104|0);j[a+14252>>2]=1;j[a+14204>>2]=1065353216;i[a+14196>>1]=16384;j[a+14240>>2]=1105;j[a+14224>>2]=1001;j[a+14192>>2]=j[a+112>>2];j[a+14200>>2]=Q(60)<<8;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(b-1e3>>>0>=3){c=-1;if((b|0)!=-1e3){break a}}j[a+136>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=a;a=j[b>>2];j[c+176>>2]=a;j[d+64>>2]=a;c=P(e,10024,d- -64|0);break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=a;a=j[b>>2];j[c+14256>>2]=a;j[d+80>>2]=a;c=P(e,10026,d+80|0);break a}b=j[d+204>>2];j[d+204>>2]=b+4;g=j[b>>2];if(!g){c=-1;break a}if(!(!j[a+56>>2]|(j[a+14228>>2]&-2)!=1e3)){b=j[a+4>>2];j[g>>2]=1;if(j[a+12>>2]<1){c=0;break a}h=a+b|0;e=1;while(1){b=0;b=e?j[(p(f,10064)+h|0)+6084>>2]>9:b;j[g>>2]=b;c=0;e=b;f=f+1|0;if((f|0)>2]){continue}break}break a}if(j[a+184>>2]){j[g>>2]=j[a+18124>>2]>9;c=0;break a}c=0;j[g>>2]=0;break a}a=j[d+204>>2];j[d+204>>2]=a+4;a=j[a>>2];if(!a){c=-1;break a}j[d+96>>2]=a;c=P(e,10015,d+96|0)}I=d+208|0;return c|0}function pc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;g=I-48|0;n=g;I=g;m=j[a+4584>>2];if((m|0)<321){if((m|0)==(m&-8)){j[n>>2]=0;k=m>>3;e=m>>2;d=k+e|0;j[n+4>>2]=d;f=d+k|0;j[n+8>>2]=f;c=f+e|0;j[n+12>>2]=c;h=g;g=m>>1;h=h-((g+c<<1)+15&-16)|0;I=h;Ka(b,a+36|0,h,h+(c<<1)|0,j[a+4584>>2]);Ka(h,a+44|0,h,h+(f<<1)|0,g);Ka(h,a+52|0,h,h+(d<<1)|0,e);d=k-1|0;b=h+(d<<1)|0;f=i[b>>1]>>1;i[b>>1]=f;if((m|0)>=16){b=f;while(1){g=d-1|0;e=h+(g<<1)|0;c=i[e>>1]>>1;i[e>>1]=c;i[h+(d<<1)>>1]=b-c;e=(d|0)>1;b=c;d=g;if(e){continue}break}}i[h>>1]=l[h>>1]-l[a+92>>1];i[a+92>>1]=f;while(1){b=j[a+4584>>2];g=o<<2;u=g+(n+32|0)|0;m=a+g|0;k=j[m+60>>2];j[u>>2]=k;e=b;b=4-o|0;e=e>>(b>>>0<3?b:3);c=(e|0)>3;a:{if(!c){b=(k|0)>-1?k:2147483647;d=0;break a}q=e>>2;r=(q|0)>1?q:1;t=g+n|0;g=j[t>>2];d=0;f=0;while(1){b=i[h+(d+g<<1)>>1]>>3;f=p(b,b)+f|0;d=d+1|0;if((r|0)!=(d|0)){continue}break}b=f+k|0;b=(b|0)>-1?b:2147483647;d=0;if(!c){break a}c=j[t>>2];f=0;while(1){g=i[h+(c+(d+q|0)<<1)>>1]>>3;f=p(g,g)+f|0;d=d+1|0;if((r|0)!=(d|0)){continue}break}b=b+f|0;b=(b|0)>-1?b:2147483647;d=0;k=(e|0)<4;if(k){break a}e=q<<1;c=j[t>>2];f=0;while(1){g=i[h+(c+(d+e|0)<<1)>>1]>>3;f=p(g,g)+f|0;d=d+1|0;if((r|0)!=(d|0)){continue}break}b=b+f|0;b=(b|0)>-1?b:2147483647;d=0;if(k){break a}e=p(q,3);c=j[t>>2];f=0;while(1){g=i[h+(c+(f+e|0)<<1)>>1]>>3;d=p(g,g)+d|0;f=f+1|0;if((r|0)!=(f|0)){continue}break}}b=(d>>>1|0)+b|0;j[u>>2]=(b|0)>-1?b:2147483647;j[m+60>>2]=d;o=o+1|0;if((o|0)!=4){continue}break}d=0;b=j[a+144>>2];if((b|0)<=999){j[a+144>>2]=b+1;d=32767/((b>>4)+1|0)|0}f=128;g=j[n+32>>2];b=g+j[a+128>>2]|0;c=(b|0)>-1?b:2147483647;m=2147483647/(c|0)|0;b=a;e=j[b+96>>2];k=128;b:{if((c|0)>e<<3){break b}k=1024;if((c|0)<(e|0)){break b}c=e<<16>>16;c=(p(c,m>>16)+p(m,(e>>15)+1>>1)|0)+(p(c,m&65535)>>16)|0;k=c>>16<<11|c>>>5&2047}h=b;b=((d|0)<(k|0)?k:d)<<16>>16;e=j[a+112>>2];c=m-e|0;b=(p(b,c>>16)+e|0)+(p(b,c&65535)>>16)|0;j[h+112>>2]=b;b=2147483647/(b|0)|0;o=(b|0)<16777215?b:16777215;j[a+96>>2]=o;t=j[n+36>>2];b=t+j[a+132>>2]|0;b=(b|0)>-1?b:2147483647;e=2147483647/(b|0)|0;c=j[a+100>>2];c:{if((b|0)>c<<3){break c}f=1024;if((b|0)<(c|0)){break c}b=c<<16>>16;b=(p(b,e>>16)+p(e,(c>>15)+1>>1)|0)+(p(b,e&65535)>>16)|0;f=b>>16<<11|b>>>5&2047}b=((d|0)<(f|0)?f:d)<<16>>16;f=e;e=j[a+116>>2];c=f-e|0;b=(p(b,c>>16)+e|0)+(p(b,c&65535)>>16)|0;j[a+116>>2]=b;b=2147483647/(b|0)|0;j[a+100>>2]=(b|0)<16777215?b:16777215;u=j[n+40>>2];b=u+j[a+136>>2]|0;c=(b|0)>-1?b:2147483647;m=2147483647/(c|0)|0;f=128;b=a;e=j[b+104>>2];k=128;d:{if((c|0)>e<<3){break d}k=1024;if((c|0)<(e|0)){break d}c=e<<16>>16;c=(p(c,m>>16)+p(m,(e>>15)+1>>1)|0)+(p(c,m&65535)>>16)|0;k=c>>16<<11|c>>>5&2047}h=b;b=((d|0)<(k|0)?k:d)<<16>>16;e=j[a+120>>2];c=m-e|0;b=(p(b,c>>16)+e|0)+(p(b,c&65535)>>16)|0;j[h+120>>2]=b;b=2147483647/(b|0)|0;j[a+104>>2]=(b|0)<16777215?b:16777215;m=j[n+44>>2];b=m+j[a+140>>2]|0;b=(b|0)>-1?b:2147483647;e=2147483647/(b|0)|0;c=j[a+108>>2];e:{if((b|0)>c<<3){break e}f=1024;if((b|0)<(c|0)){break e}b=c<<16>>16;b=(p(b,e>>16)+p(e,(c>>15)+1>>1)|0)+(p(b,e&65535)>>16)|0;f=b>>16<<11|b>>>5&2047}b=((d|0)<(f|0)?f:d)<<16>>16;f=e;e=j[a+124>>2];c=f-e|0;b=(p(b,c>>16)+e|0)+(p(b,c&65535)>>16)|0;j[a+124>>2]=b;b=2147483647/(b|0)|0;j[a+108>>2]=(b|0)<16777215?b:16777215;b=g;h=0;e=0;d=0;while(1){f=b-o|0;f:{if((f|0)>=1){k=d<<2;q=b<<8;c=b;b=b>>>0<8388608;b=((b?q:c)|0)/((b?o:o>>8)+1|0)|0;j[k+(n+16|0)>>2]=b;b=(Q(b)<<16)-67108864>>16;e=p(b,b)+e|0;v=h;if((f|0)<=1048575){h=s(f);o=24-h|0;r=0-o|0;q=(h&1?32768:46214)>>>(h>>>1)|0;w=q;c=f;g:{if(!o){break g}c=f<>>56-h;if(f>>>0<=127){break g}c=f<>>o}c=p((p(w,p(c&127,13959168)>>>16|0)>>>16|0)+q>>>10|0,b);h:{if(!o){break h}if(f>>>0<=127){f=f<>>56-h;break h}f=f<>>o}b=p(q+(p(q,p(f&127,13959168)>>>16|0)>>>16|0)<<6&65472,b)+(c<<16)>>16}c=j[k+1936>>2];h=(v+p(c>>16,b)|0)+(p(c&65535,b)>>16)|0;break f}j[(n+16|0)+(d<<2)>>2]=256}d=d+1|0;if((d|0)!=4){c=d<<2;b=j[c+(n+32|0)>>2];o=j[(a+c|0)+96>>2];continue}break}d=(e|0)/4|0;if((e|0)>=4){c=s(d);b=24-c|0;i:{if(!b){break i}if(d>>>0<=127){d=d<<0-b|d>>>56-c;break i}d=d<>>b}b=(c&1?32768:46214)>>>(c>>>1)|0;b=(p(p((p(b,p(d&127,13959168)>>>16|0)>>>16|0)+b|0,196608)>>16,45e3)>>16)-128|0}else{b=-128}d=ba(b);j[a+4712>>2]=(ba(h)<<1)-32768;c=j[a+4584>>2];f=j[a+4576>>2];b=(((t-j[a+100>>2]>>4<<1)+(g-j[a+96>>2]>>4)|0)+p(u-j[a+104>>2]>>4,3)|0)+(m-j[a+108>>2]>>4<<2)>>((c|0)==(p(f,20)|0));j:{if((b|0)<=0){d=d>>1;break j}if((b|0)>16383){break j}b=b<<16;e=s(b);g=(e&1?32768:46214)>>>(e>>>1)|0;g=(g+(p(g,(x=0,y=p(ke(b,e+8|0)&127,13959168)>>>16|0,A=(e|0)==24,A?x:y))>>>16|0)|0)+32768|0;b=d<<16>>16;d=(p(g&65535,b)>>16)+p(b,g>>>16|0)|0}b=d>>7;j[a+4532>>2]=(b|0)<255?b:255;c=p(d<<16>>16,d)>>((c|0)==(p(f,10)|0)?21:20);g=j[a+76>>2];b=j[n+16>>2]-g|0;b=(p(c,b>>16)+g|0)+(p(c,b&65535)>>16)|0;j[a+76>>2]=b;j[a+4696>>2]=ba(p(Q(b),3)-5120>>4);g=j[a+80>>2];b=j[n+20>>2]-g|0;b=(p(c,b>>16)+g|0)+(p(c,b&65535)>>16)|0;j[a+80>>2]=b;j[a+4700>>2]=ba(p(Q(b),3)-5120>>4);g=j[a+84>>2];b=j[n+24>>2]-g|0;b=(p(c,b>>16)+g|0)+(p(c,b&65535)>>16)|0;j[a+84>>2]=b;j[a+4704>>2]=ba(p(Q(b),3)-5120>>4);g=j[a+88>>2];b=j[n+28>>2]-g|0;b=(p(c,b>>16)+g|0)+(p(c,b&65535)>>16)|0;j[a+88>>2]=b;j[a+4708>>2]=ba(p(Q(b),3)-5120>>4);I=n+48|0;return}L(1846,1835,106);z()}L(1776,1835,104);z()}function _c(a,b,c,d,e,f,g,h,m,o,s,t,w,x,y,z,A,B,C,D,E){var F=q(0),G=q(0),H=0,J=q(0),K=0,L=q(0),N=q(0),P=0,Q=0,R=q(0),S=0,T=q(0),U=q(0),V=0,W=0,X=0,Y=q(0),Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;_=I;H=(p(c,f)<<2)+15&-16;S=_-H|0;I=S;V=S-H|0;K=V;I=K;H=0;$=O(g,0,c<<2);Q=(e|0)<1;if(!Q){F=q(9-h|0);g=0;while(1){h=g<<2;W=g+5|0;n[h+V>>2]=q(q(p(W,W)|0)*q(.006200000178068876))+q(q(q(q(q(i[(g<<1)+m>>1])*q(.0625))+q(.5))+F)-n[h+32928>>2]);g=g+1|0;if((g|0)!=(e|0)){continue}break}}W=(f|0)>1?f:1;Y=q(-31.899999618530273);a:{b:{c:{d:{while(1){if(!Q){h=p(c,H);g=0;while(1){F=q(n[(g+h<<2)+a>>2]-n[(g<<2)+V>>2]);Y=F>2]=n[a+H>>2]-n[H+V>>2];h=h+1|0;if((h|0)!=(e|0)){continue}break}if(!((f|0)!=2|(e|0)<1)){h=0;while(1){H=h<<2;K=H+g|0;F=n[K>>2];G=q(n[(c+h<<2)+a>>2]-n[H+V>>2]);n[K>>2]=F>G?F:G;h=h+1|0;if((h|0)!=(e|0)){continue}break}}P=M(m,g,e<<2);if((e|0)>1){break c}h=e-2|0;H=0;break b}H=H+1|0;if((W|0)!=(H|0)){continue}break}h=(c<<2)+15&-16;g=K-h|0;I=g;m=g-h|0;I=m}M(m,g,e<<2);h=e-2|0;aa=(f|0)==2;H=0;break a}F=n[g>>2];m=1;while(1){h=(m<<2)+g|0;G=n[h>>2];F=q(F+q(-2));F=F>2]=F;m=m+1|0;if((m|0)!=(e|0)){continue}break}h=e-2|0;H=0;if((e|0)<=1){break b}m=h;while(1){H=(m<<2)+g|0;F=n[H>>2];G=q(n[H+4>>2]+q(-3));n[H>>2]=F>G?F:G;H=(m|0)>0;m=m-1|0;if(H){continue}break}H=1}aa=(f|0)==2;if((e|0)<1){break a}F=q(u(q(Y+q(-12)),q(0)));m=0;while(1){Q=m<<2;G=n[Q+g>>2];G=q(v(q(q(n[P+Q>>2]-(F>G?F:G))+q(.5))));e:{if(q(r(G))0?0:0-K|0;j[E+Q>>2]=32>>>((K|0)<5?K:5);m=m+1|0;if((m|0)!=(e|0)){continue}break}}f:{if(!(A|((x|0)<1|(y|0)<51))){ba=e-3|0;m=0;ca=(e|0)>4;da=e-1<<2;A=0;while(1){Q=p(c,A);g=Q<<2;K=g+S|0;Z=b+g|0;g=Z;G=n[g>>2];j[K>>2]=j[g>>2];F=G;g=1;if(H){while(1){E=(g+Q<<2)+b|0;J=n[E-4>>2];F=q(F+q(1.5));L=n[E>>2];F=F>2]=F;m=L>q(J+q(.5))?g:m;g=g+1|0;if((g|0)!=(e|0)){continue}break}}if((m|0)>=1){F=n[K+(m<<2)>>2];g=m;while(1){E=g-1|0;P=K+(E<<2)|0;L=n[P>>2];F=q(F+q(2));J=n[(E+Q<<2)+b>>2];F=FL?L:F;n[P>>2]=F;P=(g|0)>1;g=E;if(P){continue}break}}g=2;if(ca){while(1){P=(g+Q<<2)+b|0;E=P-8|0;F=n[E>>2];L=n[E+4>>2];E=F>L;J=n[P+4>>2];N=n[P+8>>2];X=J>N;R=E?F:L;T=X?J:N;F=E?L:F;L=X?N:J;X=F>L;U=X?R:T;J=X?F:L;E=K+(g<<2)|0;F=n[E>>2];L=F;N=n[P>>2];R=X?T:R;P=N>R^1;g:{if(!P){T=J>N?N:J;if(!(J>R^1)){break g}T=R>U?U:R;break g}T=J>R?R:J;if(!(J>N^1)){break g}T=Nq(T+q(-1)))){h:{if(!P){F=J>N?N:J;if(!(J>R^1)){break h}F=R>U?U:R;break h}F=J>R?R:J;if(!(J>N^1)){break h}F=N>2]=F;g=g+1|0;if((h|0)!=(g|0)){continue}break}}F=n[Z+4>>2];g=F>2];N=g?G:F;L=n[Z+8>>2];F=g?F:G;F=q((N>2]=F>2];n[K+4>>2]=F>2];g=(Q+ba<<2)+b|0;F=n[g>>2];L=n[g+4>>2];E=F>L;N=E?F:L;J=n[g+8>>2];F=E?L:F;F=q((J>N?N:F>2]=F>2];n[g>>2]=F=1){while(1){E=g<<2;Q=E+K|0;F=n[Q>>2];G=n[E+V>>2];n[Q>>2]=F>G?F:G;g=g+1|0;if((g|0)!=(e|0)){continue}break}}A=A+1|0;if((W|0)!=(A|0)){continue}break}i:{j:{if(!aa){if((d|0)>=(e|0)){break i}g=d;while(1){b=g<<2;c=b+S|0;n[c>>2]=u(q(n[a+b>>2]-n[c>>2]),q(0));g=g+1|0;if((g|0)!=(e|0)){continue}break}break j}if((d|0)>=(e|0)){break i}g=d;while(1){m=c+g<<2;h=m+S|0;F=n[h>>2];A=g<<2;b=A+S|0;G=q(n[b>>2]+q(-4));F=F>G?F:G;n[h>>2]=F;G=n[b>>2];F=q(F+q(-4));F=F>2]=F;n[b>>2]=q(q(u(q(n[a+A>>2]-F),q(0)))+q(u(q(n[a+m>>2]-n[h>>2]),q(0))))*q(.5);g=g+1|0;if((g|0)!=(e|0)){continue}break}}a=(d|0)<(e|0);if(!a){break i}g=d;while(1){b=g<<2;c=b+S|0;F=n[c>>2];G=n[b+B>>2];n[c>>2]=F>G?F:G;g=g+1|0;if((g|0)!=(e|0)){continue}break}if(!a){break i}g=d;while(1){b=g<<2;F=n[b+S>>2];F=q(v(q(q(q(xa(+(F>2]=a;g=g+1|0;if((g|0)!=(e|0)){continue}break}}a=(d|0)>=(e|0);if(!(!t&(s|0)!=0|(o|a))){g=d;while(1){b=(g<<2)+S|0;n[b>>2]=n[b>>2]*q(.5);g=g+1|0;if((g|0)!=(e|0)){continue}break}}if(!a){g=d;while(1){F=q(2);l:{if((g|0)>=8){F=q(.5);if((g|0)<12){break l}}b=(g<<2)+S|0;n[b>>2]=n[b>>2]*F}g=g+1|0;if((g|0)!=(e|0)){continue}break}}m:{if(!j[C>>2]){break m}b=(e|0)<19?e:19;if((b|0)<=(d|0)){break m}g=d;while(1){c=(g<<2)+S|0;n[c>>2]=n[c>>2]+q(q(k[(g+C|0)+44|0])*q(.015625));g=g+1|0;if((b|0)!=(g|0)){continue}break}}m=0;if(a){break f}y=(y<<1)/3|0;b=0;h=l[(d<<1)+w>>1];o=(!s|!o&(t|0)!=0)^1;while(1){s=d<<2;a=s+S|0;F=n[a>>2];F=F>2]=F;a=h<<16;t=o;A=y;c=d+1|0;h=i[(c<<1)+w>>1];a=p(h-(a>>16)|0,f)<=49){F=q(F*q(8));o:{if(q(r(F))=m>>6)){m=y<<6;j[(d<<2)+$>>2]=m-b;break f}j[s+$>>2]=g;b=m;d=c;if((e|0)!=(d|0)){continue}break}break f}m=0;if((d|0)>=(e|0)){break f}while(1){j[(d<<2)+D>>2]=13;d=d+1|0;if((e|0)!=(d|0)){continue}break}}j[z>>2]=m;I=_;return Y}function de(a,b,c,d){var e=0,f=q(0),g=q(0),l=0,m=0,o=0,s=0,t=q(0),u=q(0),v=q(0),w=0,x=0,z=q(0),A=q(0),B=0,C=0,D=0,E=0,F=q(0),G=q(0),H=0,J=0,K=0;s=I-1184|0;I=s;o=j[a+4600>>2];e=j[a+4716>>2];v=q(q(q(j[a+4700>>2]+j[a+4696>>2]|0)*q(.5))*q(30517578125e-15));n[b+696>>2]=v;z=q(e|0);t=q(z*q(.0078125));f=q(1/(xa(+q(q(t+q(-20))*q(-.25)))+1));n[b+700>>2]=f;if(!j[a+4676>>2]){u=q(q(q(j[a+4532>>2])*q(-.00390625))+q(1));t=q(t-q(u*q(u*q(q(q(v*q(.5))+q(.5))*q(f+f)))))}a:{if(k[a+4765|0]==2){h[a+4766|0]=0;f=n[a+10060>>2];z=q(t+q(f+f));break a}e=p(i[a+4580>>1],5);l=(e|0)/2|0;if((e|0)>=2){m=j[a+4576>>2]<<1;A=q(m|0);f=q(0);e=0;w=m<<2;while(1){u=q(oa(+q(A+q(S(c,m))))*3.32192809488736);g=e?q(g+q(r(q(u-f)))):g;c=c+w|0;f=u;e=e+1|0;if((l|0)!=(e|0)){continue}break}}z=q(q(q(q(q(z*q(-.4000000059604645))*q(.0078125))+q(6))*q(q(1)-v))+t);if(!(q(q(l-1|0)*q(.6000000238418579))>2];b:{if((c|0)<1){break b}w=d-(o<<2)|0;f=q(n[b+704>>2]*q(.0010000000474974513));G=q(q(.9399999976158142)/q(q(f*f)+q(1)));v=q(q(q(j[a+4672>>2])*q(152587890625e-16))+q(n[b+700>>2]*q(.009999999776482582)));A=q(q(1)-q(v*v));F=q(-v);while(1){d=j[a+4576>>2];e=p(d,3);c=(j[a+4604>>2]-e|0)/2|0;sa(s+224|0,w,1,c);l=c<<2;M(l+(s+224|0)|0,l+w|0,p(d,12));d=c+e<<2;sa(d+(s+224|0)|0,d+w|0,2,c);m=j[a+4588>>2];c=j[a+4636>>2];d=j[a+4604>>2];c:{if(j[a+4672>>2]>=1){ee(s+112|0,s+224|0,v,d,c);break c}Sa(s+112|0,s+224|0,d,c+1|0)}f=n[s+112>>2];n[s+112>>2]=f+q(q(f*q(29999999242136255e-21))+q(1));f=Ra(s,s+112|0,j[a+4636>>2]);l=(p(B,96)+b|0)+244|0;Qa(l,s,j[a+4636>>2]);d=(B<<2)+b|0;f=q(y(f));n[d>>2]=f;c=j[a+4636>>2];if(j[a+4672>>2]>=1){g=q(n[(l+(c<<2)|0)-4>>2]*F);if((c|0)>=2){e=c-2|0;while(1){g=q(q(g+n[l+(e<<2)>>2])*F);o=(e|0)>0;e=e-1|0;if(o){continue}break}}n[d>>2]=f*q(q(1)/q(q(1)-g))}H=m<<2;ra(l,c,G);m=j[a+4636>>2];d:{if(j[a+4672>>2]>=1){c=m-1|0;E=(m|0)<2;if(!E){g=n[l+(c<<2)>>2];e=c;while(1){d=e-1|0;o=l+(d<<2)|0;g=q(n[o>>2]-q(v*g));n[o>>2]=g;o=(e|0)>1;e=d;if(o){continue}break}}d=(m|0)<1;if(d){break d}f=n[l>>2];t=q(A/q(q(v*f)+q(1)));n[l>>2]=t*f;x=1;if((m|0)!=1){while(1){e=l+(x<<2)|0;n[e>>2]=t*n[e>>2];x=x+1|0;if((m|0)!=(x|0)){continue}break}if(d){break d}x=(m|0)==1}J=l+(c<<2)|0;C=0;o=0;while(1){g=q(-1);e=0;while(1){f=q(r(n[l+(e<<2)>>2]));d=f>g;g=d?f:g;o=d?e:o;e=e+1|0;if((m|0)!=(e|0)){continue}break}if(g<=q(3.999000072479248)){break d}if(!E){f=n[l>>2];e=1;while(1){u=f;d=l+(e<<2)|0;f=n[d>>2];n[d-4>>2]=u+q(v*f);e=e+1|0;if((m|0)!=(e|0)){continue}break}}f=q(q(1)/t);e=0;while(1){d=l+(e<<2)|0;n[d>>2]=f*n[d>>2];e=e+1|0;if((m|0)!=(e|0)){continue}break}ra(l,m,q(q(.9900000095367432)-q(q(q(q(q(C|0)*q(.10000000149011612))+q(.800000011920929))*q(g+q(-3.999000072479248)))/q(g*q(o+1|0)))));if(!E){g=n[J>>2];e=c;while(1){d=e-1|0;D=l+(d<<2)|0;g=q(n[D>>2]-q(v*g));n[D>>2]=g;D=(e|0)>1;e=d;if(D){continue}break}}f=n[l>>2];t=q(A/q(q(v*f)+q(1)));n[l>>2]=t*f;e=1;if(!x){while(1){d=l+(e<<2)|0;n[d>>2]=t*n[d>>2];e=e+1|0;if((m|0)!=(e|0)){continue}break}}C=C+1|0;if((C|0)!=10){continue}break}break d}d=0;o=0;if((m|0)<1){break d}while(1){g=q(-1);e=0;while(1){f=q(r(n[l+(e<<2)>>2]));c=f>g;g=c?f:g;o=c?e:o;e=e+1|0;if((m|0)!=(e|0)){continue}break}if(g<=q(3.999000072479248)){break d}ra(l,m,q(q(.9900000095367432)-q(q(q(q(q(d|0)*q(.10000000149011612))+q(.800000011920929))*q(g+q(-3.999000072479248)))/q(g*q(o+1|0)))));d=d+1|0;if((d|0)!=10){continue}break}}w=w+H|0;c=j[a+4580>>2];B=B+1|0;if((c|0)>(B|0)){continue}break}K=Oa(+q(z*q(-.1599999964237213)));e=0;l=0;if((c|0)<1){break b}l=(c|0)>0;f=q(K);while(1){d=(e<<2)+b|0;n[d>>2]=q(n[d>>2]*f)+q(1.2483305931091309);e=e+1|0;if((e|0)!=(c|0)){continue}break}}g=q(j[a+4532>>2]);u=q(q(g*q(.00390625))*q(q(q(q(q(q(j[a+4696>>2])*q(30517578125e-15))+q(-1))*q(.5))+q(1))*q(4)));m=k[a+4765|0];e:{f:{g:{if((m|0)==2){if(l){t=q(q(.20000000298023224)/q(j[a+4576>>2]));d=0;while(1){e=(d<<2)+b|0;f=q(t+q(q(3)/q(j[e+228>>2])));n[e+628>>2]=f+q(-1);n[e+644>>2]=q(q(1)-f)-q(u*f);d=d+1|0;if((d|0)!=(c|0)){continue}break}}f=q(q(q(g*q(-.26249998807907104))*q(.00390625))+q(-.25));break g}f=q(q(1.2999999523162842)/q(j[a+4576>>2]));g=q(f+q(-1));n[b+628>>2]=g;n[b+644>>2]=q(q(1)-f)+q(q(u*f)*q(-.6000000238418579));if((c|0)<=1){if(!l){break e}f=q(-.25);u=q(0);break f}n[b+632>>2]=g;j[b+648>>2]=j[b+644>>2];d=2;f=q(-.25);if((c|0)==2){break g}e=b+628|0;o=b+644|0;while(1){w=d<<2;j[w+e>>2]=j[b+628>>2];j[o+w>>2]=j[b+644>>2];d=d+1|0;if((d|0)!=(c|0)){continue}break}}if((m|0)==2){if(!l){break e}u=q(q(y(n[a+10060>>2]))*q(q(q(q(1)-q(q(q(1)-n[b+700>>2])*n[b+696>>2]))*q(.20000000298023224))+q(.30000001192092896)));break f}u=q(0);if(!l){break e}}e=0;while(1){g=n[a+7172>>2];g=q(g+q(q(u-g)*q(.4000000059604645)));n[a+7172>>2]=g;d=(e<<2)+b|0;n[d+676>>2]=g;g=n[a+7176>>2];g=q(g+q(q(f-g)*q(.4000000059604645)));n[a+7176>>2]=g;n[d+660>>2]=g;e=e+1|0;if((e|0)!=(c|0)){continue}break}}I=s+1184|0}function gd(a,b,c,d,e,f,g,h,m,n,o,q,r,s,t,u,v,w){var x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,U=0,V=0,W=0,X=0;x=I;X=x;m=(m|0)>0?m:0;W=((m|0)>7)<<3;H=m-W|0;J=j[a+8>>2];a:{if((s|0)!=2){break a}G=k[(c-b|0)+42192|0];if((G|0)>(H|0)){G=0;break a}m=H-G|0;P=((m|0)>7)<<3;H=m-P|0}m=(J<<2)+15&-16;K=x-m|0;x=K;I=x;M=x-m|0;x=M;I=x;Q=x-m|0;x=Q;I=x;F=s<<3;N=x-m|0;I=N;O=(b|0)>=(c|0);if(!O){y=t+3|0;B=p((f-t|0)-5|0,s);E=j[a+32>>2];A=l[E+(b<<1)>>1];m=b;while(1){x=A<<16;C=m<<2;f=m+1|0;A=i[E+(f<<1)>>1];x=A-(x>>16)|0;D=p(x,3)<>4;j[C+Q>>2]=(D|0)<(F|0)?F:D;j[C+N>>2]=(p(x,p(B,(m^-1)+c|0))<>6)-(x<>2];C=R-1|0;D=1;b:{while(1){x=C+D>>1;if(!O){V=p(x,J);S=j[a+32>>2];y=l[S+(c<<1)>>1];U=j[a+52>>2];A=0;m=c;B=0;while(1){f=y<<16>>16;m=m-1|0;y=i[S+(m<<1)>>1];E=p(p(f-y|0,s),k[U+(m+V|0)|0])<>2;if((E|0)>=4){f=f+j[N+(m<<2)>>2]|0;f=(f|0)>0?f:0}E=m<<2;f=j[E+d>>2]+f|0;c:{if(!((f|0)>2]?!B:0)){B=1;E=j[e+E>>2];f=(f|0)<(E|0)?f:E;break c}B=0;f=(f|0)<(F|0)?0:F}A=f+A|0;if((b|0)<(m|0)){continue}break}f=(A|0)>(H|0);D=f?D:x+1|0;C=f?x-1|0:C;if((D|0)<=(C|0)){continue}E=b;if(O){break b}V=p(D,J);S=p(J,D-1|0);U=j[a+32>>2];C=l[U+(b<<1)>>1];A=j[a+52>>2];m=b;E=m;while(1){x=C<<16;f=m+1|0;C=i[U+(f<<1)>>1];x=p(C-(x>>16)|0,s);B=p(x,k[A+(m+S|0)|0])<=(R|0)){x=j[(m<<2)+e>>2]}else{x=p(x,k[A+(m+V|0)|0])<>2}y=B>>2;if((B|0)>=4){y=j[N+(m<<2)>>2]+y|0;y=(y|0)>0?y:0}if((x|0)>=1){x=j[N+(m<<2)>>2]+x|0;x=(x|0)>0?x:0}J=y;y=m<<2;B=j[y+d>>2];J=J+((D|0)>1?B:0)|0;j[y+K>>2]=J;x=B+(x-J|0)|0;j[y+M>>2]=(x|0)>0?x:0;E=(B|0)>0?m:E;m=f;if((m|0)!=(c|0)){continue}break}break b}f=(H|0)<0;D=f?D:x+1|0;C=f?x-1|0:C;if((D|0)<=(C|0)){continue}break}E=b}J=(s|0)>1;B=64;C=0;x=0;while(1){d:{d=B+C>>1;f=c;A=0;y=0;if(!O){while(1){f=f-1|0;D=f<<2;m=(p(d,j[D+M>>2])>>6)+j[D+K>>2]|0;e:{if(!((m|0)>2]?!y:0)){y=1;D=j[e+D>>2];m=(m|0)<(D|0)?m:D;break e}y=0;m=(m|0)<(F|0)?0:F}A=m+A|0;if((b|0)<(f|0)){continue}break}f=(A|0)>(H|0);C=f?C:d;B=f?d:B;x=x+1|0;if((x|0)!=6){continue}m=0;A=c;y=0;while(1){A=A-1|0;d=A<<2;f=j[d+K>>2]+(p(j[d+M>>2],C)>>6)|0;x=f;B=d+o|0;f=(x|0)>=j[d+Q>>2];x=y?x:f?x:(x|0)<(F|0)?0:F;d=j[d+e>>2];d=(d|0)>(x|0)?x:d;j[B>>2]=d;m=d+m|0;y=f|y;if((b|0)<(A|0)){continue}break}break d}m=0;f=(H|0)<0;C=f?C:d;B=f?d:B;x=x+1|0;if((x|0)!=6){continue}}break}B=c-1|0;f:{g:{if((E|0)>=(B|0)){f=c;x=G;break g}N=b+2|0;d=F+8|0;y=c;while(1){x=j[a+32>>2];A=i[x+(y<<1)>>1];f=B;K=i[x+(f<<1)>>1];B=A-K|0;M=f<<2;D=M+o|0;C=j[D>>2];O=H-m|0;x=i[x+(b<<1)>>1];R=(O>>>0)/(A-x>>>0)|0;x=O+p(R,x-A|0)+(x-K)|0;A=(C+p(R,B)|0)+((x|0)>0?x:0)|0;x=j[M+Q>>2];if((A|0)>=(((d|0)<(x|0)?x:d)|0)){h:{if(!((y|0)<=(N|0)|(p(B,(y|0)>17?(v|0)<(y|0)?9:7:0)<>4<(A|0)?(f|0)<=(w|0):0))){T(u,0,1);break h}T(u,1,1);f=y;x=G;break f}A=A-8|0;C=j[D>>2];m=m+8|0}x=G;if((x|0)>=1){x=k[(f-b|0)+42192|0]}y=(A|0)<(F|0)?0:F;j[D>>2]=y;m=(y+(m-(C+G|0)|0)|0)+x|0;G=x;y=f;B=f-1|0;if((E|0)<(B|0)){continue}break}}H=H+W|0}i:{j:{k:{if((b|0)<(f|0)){w=P;l:{if((x|0)>=1){v=j[g>>2];v=(f|0)>(v|0)?v:f;j[g>>2]=v;ga(u,v-b|0,(f-b|0)+1|0);d=j[g>>2];break l}j[g>>2]=0;d=0}d=(d|0)>(b|0);v=d?0:w;m:{if(!(!P|!d)){T(u,j[h>>2],1);break m}j[h>>2]=0}C=t<<3;G=j[a+32>>2];d=i[G+(b<<1)>>1];v=v+(H-m|0)|0;m=i[G+(f<<1)>>1];u=(v>>>0)/(m-d>>>0)|0;w=p(u,d-m|0);A=d;m=b;while(1){x=A<<16;y=(m<<2)+o|0;m=m+1|0;A=i[G+(m<<1)>>1];j[y>>2]=j[y>>2]+p(u,A-(x>>16)|0);if((f|0)!=(m|0)){continue}break}m=v+w|0;y=d;x=b;while(1){u=y<<16;v=(x<<2)+o|0;x=x+1|0;y=i[G+(x<<1)>>1];u=y-(u>>16)|0;u=(m|0)<(u|0)?m:u;j[v>>2]=u+j[v>>2];m=m-u|0;if((f|0)!=(x|0)){continue}break}H=(s|0)>1?4:3;B=0;n:{while(1){if((b|0)==(f|0)){break n}u=b<<2;v=u+o|0;m=j[v>>2];if((m|0)<=-1){break k}x=d<<16;w=m+B|0;m=b+1|0;d=i[G+(m<<1)>>1];y=d-(x>>16)<=2){x=0;E=w;w=w-j[e+u>>2]|0;A=(w|0)>0?w:0;E=E-A|0;j[v>>2]=E;w=p(s,y);if(!(j[h>>2]|((y|0)==2|(s|0)!=2))){x=j[g>>2]>(b|0)}w=w+x|0;P=w<<3;x=p(w,C+i[j[a+56>>2]+(b<<1)>>1]|0);b=(p(w,-21)+((y|0)==2?P>>2:0)|0)+(x>>1)|0;y=E+b|0;p:{if((y|0)>2)+b|0;break p}if((y|0)>=(p(w,24)|0)){break p}b=(x>>3)+b|0}x=q+u|0;y=(E+(w<<2)|0)+b|0;y=(((y|0)>0?y:0)>>>0)/(w>>>0)>>>3|0;j[x>>2]=y;w=j[v>>2];if((p(s,y)|0)>w>>3){y=w>>J>>3;j[x>>2]=y}w=(y|0)<8?y:8;j[x>>2]=w;j[r+u>>2]=(j[v>>2]+b|0)<=(p(w,P)|0);j[v>>2]=j[v>>2]-p(j[x>>2],F);break o}b=w-F|0;A=(b|0)>0?b:0;j[v>>2]=w-A;j[q+u>>2]=0;j[r+u>>2]=1}if(A){b=A>>>H|0;w=q+u|0;x=j[w>>2];y=8-x|0;b=(b|0)<(y|0)?b:y;j[w>>2]=b+x;b=p(b,F);j[r+u>>2]=(b|0)>=(A-B|0);B=A-b|0}else{B=0}if(j[v>>2]<=-1){break j}b=m;if(j[q+u>>2]>-1){continue}break}L(42296,42253,514);z()}j[n>>2]=B;if((c|0)>(f|0)){m=f;while(1){a=m<<2;d=a+q|0;b=a+o|0;e=j[b>>2]>>J>>3;j[d>>2]=e;if(j[b>>2]!=(p(e,F)|0)){break i}j[b>>2]=0;j[a+r>>2]=j[d>>2]<1;m=m+1|0;if((m|0)!=(c|0)){continue}break}}I=X;return f}L(42216,42253,391);z()}L(42265,42253,442);z()}L(42265,42253,513);z()}L(42328,42253,524);z()}function cb(a,b,c,d){var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=I;x=m;e=j[a+268>>2];l=j[a+276>>2];m=m-((e+l<<2)+15&-16)|0;I=m;v=a+24|0;q=M(m,v,l<<2);m=j[a+296>>2];w=m+4|0;t=j[a+272>>2];h=m;while(1){r=(d|0)<(e|0)?d:e;db(a,(l<<2)+q|0,c,h,r);s=r<<16;a:{b:{c:{d:{e:{u=j[a+276>>2];switch(u-18|0){case 18:break b;case 6:break d;case 0:break e;default:break c}}if((s|0)<1){break a}g=j[a+280>>2];y=g<<16>>16;h=0;while(1){n=p(h&65535,y)>>16;e=p(n,18)+w|0;k=i[e>>1];l=(h>>16<<2)+q|0;f=j[l>>2];o=(p(k,f&65535)>>16)+p(k,f>>16)|0;k=i[e+2>>1];f=j[l+4>>2];o=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;k=i[e+4>>1];f=j[l+8>>2];o=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;k=i[e+6>>1];f=j[l+12>>2];o=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;k=i[e+8>>1];f=j[l+16>>2];o=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;k=i[e+10>>1];f=j[l+20>>2];o=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;k=i[e+12>>1];f=j[l+24>>2];o=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;k=i[e+14>>1];f=j[l+28>>2];k=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;e=i[e+16>>1];f=j[l+32>>2];k=(k+p(e,f>>16)|0)+(p(e,f&65535)>>16)|0;e=p(g+(n^-1)|0,18)+w|0;n=i[e>>1];f=j[l+68>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+2>>1];f=j[l+64>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+4>>1];f=j[l+60>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+6>>1];f=j[l+56>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+8>>1];f=j[l+52>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+10>>1];f=j[l+48>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+12>>1];f=j[l+44>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+14>>1];f=j[l+40>>2];e=i[e+16>>1];l=j[l+36>>2];l=(((k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0)+p(e,l>>16)|0)+(p(e,l&65535)>>16)|0;e=(l>>5)+1>>1;i[b>>1]=(l|0)>2097119?32767:(e|0)>-32768?e:-32768;b=b+2|0;h=h+t|0;if((s|0)>(h|0)){continue}break}break a}l=0;if((s|0)<=0){break a}while(1){g=i[m+4>>1];h=(l>>16<<2)+q|0;e=j[h+92>>2]+j[h>>2]|0;f=(p(g,e&65535)>>16)+p(g,e>>16)|0;g=i[m+6>>1];e=j[h+88>>2]+j[h+4>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+8>>1];e=j[h+84>>2]+j[h+8>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+10>>1];e=j[h+80>>2]+j[h+12>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+12>>1];e=j[h+76>>2]+j[h+16>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+14>>1];e=j[h+72>>2]+j[h+20>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+16>>1];e=j[h+68>>2]+j[h+24>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+18>>1];e=j[h+64>>2]+j[h+28>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+20>>1];e=j[h+60>>2]+j[h+32>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+22>>1];e=j[h+56>>2]+j[h+36>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+24>>1];e=j[h+52>>2]+j[h+40>>2]|0;g=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;e=i[m+26>>1];h=j[h+48>>2]+j[h+44>>2]|0;h=(g+p(e,h>>16)|0)+(p(e,h&65535)>>16)|0;e=(h>>5)+1>>1;i[b>>1]=(h|0)>2097119?32767:(e|0)>-32768?e:-32768;b=b+2|0;l=l+t|0;if((s|0)>(l|0)){continue}break}break a}L(6400,6420,139);z()}l=0;if((s|0)<=0){break a}while(1){g=i[m+4>>1];h=(l>>16<<2)+q|0;e=j[h+140>>2]+j[h>>2]|0;f=(p(g,e&65535)>>16)+p(g,e>>16)|0;g=i[m+6>>1];e=j[h+136>>2]+j[h+4>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+8>>1];e=j[h+132>>2]+j[h+8>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+10>>1];e=j[h+128>>2]+j[h+12>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+12>>1];e=j[h+124>>2]+j[h+16>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+14>>1];e=j[h+120>>2]+j[h+20>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+16>>1];e=j[h+116>>2]+j[h+24>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+18>>1];e=j[h+112>>2]+j[h+28>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+20>>1];e=j[h+108>>2]+j[h+32>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+22>>1];e=j[h+104>>2]+j[h+36>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+24>>1];e=j[h+100>>2]+j[h+40>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+26>>1];e=j[h+96>>2]+j[h+44>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+28>>1];e=j[h+92>>2]+j[h+48>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+30>>1];e=j[h+88>>2]+j[h+52>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+32>>1];e=j[h+84>>2]+j[h+56>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+34>>1];e=j[h+80>>2]+j[h+60>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+36>>1];e=j[h+76>>2]+j[h+64>>2]|0;g=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;e=i[m+38>>1];h=j[h+72>>2]+j[h+68>>2]|0;h=(g+p(e,h>>16)|0)+(p(e,h&65535)>>16)|0;e=(h>>5)+1>>1;i[b>>1]=(h|0)>2097119?32767:(e|0)>-32768?e:-32768;b=b+2|0;l=l+t|0;if((s|0)>(l|0)){continue}break}}d=d-r|0;if((d|0)>=2){M(q,(r<<2)+q|0,u<<2);c=(r<<1)+c|0;h=j[a+296>>2];l=j[a+276>>2];e=j[a+268>>2];continue}break}M(v,(r<<2)+q|0,u<<2);I=x}function Ca(a,b,c,d){var e=0,f=0,g=0,l=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=I-80|0;I=f;j[f+76>>2]=1616;z=f+55|0;w=f+56|0;a:{b:while(1){c:{if((t|0)<0){break c}if((2147483647-t|0)<(e|0)){j[13231]=61;t=-1;break c}t=e+t|0}d:{e:{f:{m=j[f+76>>2];e=m;g=k[e|0];if(g){while(1){g:{g=g&255;h:{if(!g){g=e;break h}if((g|0)!=37){break g}g=e;while(1){if(k[e+1|0]!=37){break h}l=e+2|0;j[f+76>>2]=l;g=g+1|0;n=k[e+2|0];e=l;if((n|0)==37){continue}break}}e=g-m|0;if(a){aa(a,m,e)}if(e){continue b}g=f;e=j[f+76>>2];i:{if(!(k[e+2|0]!=36|h[j[f+76>>2]+1|0]-48>>>0>=10)){v=h[e+1|0]-48|0;x=1;e=e+3|0;break i}v=-1;e=e+1|0}j[g+76>>2]=e;q=0;u=h[e|0];l=u-32|0;j:{if(l>>>0>31){g=e;break j}g=e;l=1<>2]=g;q=l|q;u=h[e+1|0];l=u-32|0;if(l>>>0>=32){break j}e=g;l=1<>>0>=10){break m}e=j[f+76>>2];if(k[e+2|0]!=36){break m}j[((h[e+1|0]<<2)+d|0)-192>>2]=10;r=j[((h[e+1|0]<<3)+c|0)-384>>2];x=1;e=e+3|0;break l}if(x){break f}x=0;r=0;if(a){e=j[b>>2];j[b>>2]=e+4;r=j[e>>2]}e=j[f+76>>2]+1|0}j[l+76>>2]=e;if((r|0)>-1){break k}r=0-r|0;q=q|8192;break k}r=jb(f+76|0);if((r|0)<0){break f}e=j[f+76>>2]}n=-1;n:{if(k[e|0]!=46){break n}if(k[e+1|0]==42){o:{if(h[e+2|0]-48>>>0>=10){break o}e=j[f+76>>2];if(k[e+3|0]!=36){break o}j[((h[e+2|0]<<2)+d|0)-192>>2]=10;n=j[((h[e+2|0]<<3)+c|0)-384>>2];e=e+4|0;j[f+76>>2]=e;break n}if(x){break f}if(a){e=j[b>>2];j[b>>2]=e+4;n=j[e>>2]}else{n=0}e=j[f+76>>2]+2|0;j[f+76>>2]=e;break n}j[f+76>>2]=e+1;n=jb(f+76|0);e=j[f+76>>2]}g=0;while(1){y=g;s=-1;if(h[e|0]-65>>>0>57){break a}u=e+1|0;j[f+76>>2]=u;g=h[e|0];e=u;g=k[(g+p(y,58)|0)+1071|0];if(g-1>>>0<8){continue}break}p:{q:{if((g|0)!=19){if(!g){break a}if((v|0)>=0){j[(v<<2)+d>>2]=g;e=(v<<3)+c|0;g=j[e+4>>2];j[f+64>>2]=j[e>>2];j[f+68>>2]=g;break q}if(!a){break d}ib(f- -64|0,g,b);u=j[f+76>>2];break p}if((v|0)>-1){break a}}e=0;if(!a){continue b}}l=q&-65537;g=q&8192?l:q;s=0;v=1116;q=w;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{e=h[u-1|0];e=y?(e&15)==3?e&-33:e:e;switch(e-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break e;default:break G}}H:{switch(e-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break e;default:break H}}if((e|0)==83){break w}break e}e=j[f+64>>2];m=j[f+68>>2];v=1116;break z}e=0;I:{switch(y&255){case 0:j[j[f+64>>2]>>2]=t;continue b;case 1:j[j[f+64>>2]>>2]=t;continue b;case 2:g=j[f+64>>2];j[g>>2]=t;j[g+4>>2]=t>>31;continue b;case 3:i[j[f+64>>2]>>1]=t;continue b;case 4:h[j[f+64>>2]]=t;continue b;case 6:j[j[f+64>>2]>>2]=t;continue b;case 7:break I;default:continue b}}g=j[f+64>>2];j[g>>2]=t;j[g+4>>2]=t>>31;continue b}n=n>>>0>8?n:8;g=g|8;e=120}m=wc(j[f+64>>2],j[f+68>>2],w,e&32);if(!(g&8)|!(j[f+64>>2]|j[f+68>>2])){break y}v=(e>>>4|0)+1116|0;s=2;break y}m=vc(j[f+64>>2],j[f+68>>2],w);if(!(g&8)){break y}e=w-m|0;n=(e|0)<(n|0)?n:e+1|0;break y}l=j[f+68>>2];m=l;e=j[f+64>>2];if((l|0)<-1?1:(l|0)<=-1){m=0-(m+((e|0)!=0)|0)|0;e=0-e|0;j[f+64>>2]=e;j[f+68>>2]=m;s=1;v=1116;break z}if(g&2048){s=1;v=1117;break z}s=g&1;v=s?1118:1116}m=uc(e,m,w)}g=(n|0)>-1?g&-65537:g;e=j[f+64>>2];l=j[f+68>>2];if(!(!!(e|l)|n)){n=0;m=w;break e}e=!(e|l)+(w-m|0)|0;n=(e|0)<(n|0)?n:e;break e}e=j[f+64>>2];m=e?e:1126;e=sd(m,n);q=e?e:n+m|0;g=l;n=e?e-m|0:n;break e}l=j[f+64>>2];if(n){break u}e=0;_(a,32,r,0,g);break t}j[f+12>>2]=0;j[f+8>>2]=j[f+64>>2];j[f+64>>2]=f+8;n=-1;l=f+8|0}e=0;J:{while(1){m=j[l>>2];if(!m){break J}m=wb(f+4|0,m);q=(m|0)<0;if(!(q|m>>>0>n-e>>>0)){l=l+4|0;e=e+m|0;if(n>>>0>e>>>0){continue}break J}break}s=-1;if(q){break a}}_(a,32,r,e,g);if(!e){e=0;break t}l=0;u=j[f+64>>2];while(1){m=j[u>>2];if(!m){break t}m=wb(f+4|0,m);l=m+l|0;if((l|0)>(e|0)){break t}aa(a,f+4|0,m);u=u+4|0;if(e>>>0>l>>>0){continue}break}}_(a,32,r,e,g^8192);e=(e|0)<(r|0)?r:e;continue b}e=K[0](a,o[f+64>>3],r,n,g,e)|0;continue b}h[f+55|0]=j[f+64>>2];n=1;m=z;g=l;break e}l=e+1|0;j[f+76>>2]=l;g=k[e+1|0];e=l;continue}}s=t;if(a){break a}if(!x){break d}e=1;while(1){a=j[(e<<2)+d>>2];if(a){ib((e<<3)+c|0,a,b);s=1;e=e+1|0;if((e|0)!=10){continue}break a}break}s=1;if(e>>>0>=10){break a}while(1){if(j[(e<<2)+d>>2]){break f}e=e+1|0;if((e|0)!=10){continue}break}break a}s=-1;break a}q=q-m|0;n=(n|0)<(q|0)?q:n;l=n+s|0;e=(l|0)>(r|0)?l:r;_(a,32,e,l,g);aa(a,v,s);_(a,48,e,l,g^65536);_(a,48,n,q,0);aa(a,m,q);_(a,32,e,l,g^8192);continue}break}s=0}I=f+80|0;return s}function Ea(a,b){var c=0,d=q(0),e=q(0),f=q(0),g=q(0),h=0,k=0,m=q(0),o=0,r=0,s=0,t=0,u=q(0),v=q(0),w=q(0),x=q(0),y=0,A=0,B=0,C=q(0),D=q(0),E=0,F=0,G=0,H=q(0),J=0,K=0,M=0,N=q(0),O=0,P=q(0),Q=0,R=0,S=0,T=q(0),U=q(0),V=q(0),W=q(0),X=q(0),Y=q(0),Z=q(0),_=q(0),$=0,aa=q(0),ba=q(0),ca=q(0),da=q(0),ea=q(0),fa=q(0);J=I-32|0;I=J;B=j[a+8>>2];j[J>>2]=1;G=a+12|0;o=1;while(1){c=h;r=c<<2;k=l[G+(r|2)>>1];h=c+1|0;o=p(i[r+G>>1],o);j[(h<<2)+J>>2]=o;if((k|0)!=1){continue}break}$=(B|0)>0?B:0;G=i[((h<<2)+a|0)+10>>1];a:{while(1){k=G;h=0;G=1;B=c;b:{c:{d:{e:{f:{if(c){G=i[((B<<2)+a|0)+10>>1];c=B<<1}else{c=0}switch(i[((c<<1)+a|0)+12>>1]-2|0){case 3:break c;case 1:break d;case 2:break e;case 0:break f;default:break b}}if((k|0)!=4){break a}c=b;k=j[(B<<2)+J>>2];if((k|0)<=0){break b}while(1){e=n[c>>2];d=n[c+32>>2];n[c+32>>2]=e-d;n[c>>2]=d+e;e=n[c+36>>2];d=n[c+4>>2];n[c+4>>2]=e+d;n[c+36>>2]=d-e;m=n[c+8>>2];g=n[c+40>>2];d=n[c+44>>2];f=q(q(g+d)*q(.7071067690849304));n[c+40>>2]=m-f;e=n[c+12>>2];d=q(q(d-g)*q(.7071067690849304));n[c+44>>2]=e-d;n[c+8>>2]=m+f;n[c+12>>2]=d+e;g=n[c+48>>2];f=n[c+16>>2];e=n[c+52>>2];n[c+48>>2]=f-e;d=n[c+20>>2];n[c+52>>2]=g+d;n[c+20>>2]=d-g;n[c+16>>2]=e+f;m=n[c+24>>2];g=n[c+60>>2];d=n[c+56>>2];f=q(q(g-d)*q(.7071067690849304));n[c+56>>2]=m-f;e=n[c+28>>2];d=q(q(g+d)*q(-.7071067690849304));n[c+60>>2]=e-d;n[c+28>>2]=d+e;n[c+24>>2]=m+f;c=c- -64|0;h=h+1|0;if((k|0)!=(h|0)){continue}break}break b}Q=j[(B<<2)+J>>2];if((k|0)==1){c=b;if((Q|0)<1){break b}while(1){u=n[c>>2];C=n[c+16>>2];e=q(u+C);D=n[c+8>>2];v=n[c+24>>2];d=q(D+v);n[c+16>>2]=e-d;n[c>>2]=e+d;f=n[c+4>>2];e=n[c+20>>2];w=q(f+e);x=n[c+12>>2];d=n[c+28>>2];m=q(x+d);n[c+20>>2]=w-m;g=q(f-e);f=q(D-v);n[c+28>>2]=g+f;e=q(u-C);d=q(x-d);n[c+24>>2]=e-d;n[c+12>>2]=g-f;n[c+8>>2]=e+d;n[c+4>>2]=w+m;c=c+32|0;h=h+1|0;if((Q|0)!=(h|0)){continue}break}break b}if((Q|0)<1){break b}K=p(k,3);O=k<<1;A=Q<<$;R=p(A,3);S=A<<1;r=j[a+48>>2];E=0;while(1){if((k|0)>=1){c=(p(E,G)<<3)+b|0;M=0;h=r;t=h;o=h;while(1){F=(k<<3)+c|0;T=n[F+4>>2];U=n[F>>2];s=(K<<3)+c|0;V=n[s+4>>2];W=n[s>>2];H=n[o>>2];X=n[o+4>>2];N=n[h>>2];u=n[h+4>>2];m=n[t>>2];y=(O<<3)+c|0;g=n[y+4>>2];f=n[y>>2];d=n[t+4>>2];C=q(q(m*g)+q(f*d));D=n[c+4>>2];e=q(C+D);n[c+4>>2]=e;v=q(q(f*m)-q(g*d));w=n[c>>2];d=q(v+w);n[c>>2]=d;x=q(q(H*T)+q(U*X));m=q(q(N*V)+q(W*u));g=q(x+m);n[y+4>>2]=e-g;P=d;f=q(q(U*H)-q(T*X));e=q(q(W*N)-q(V*u));d=q(f+e);n[y>>2]=P-d;n[c>>2]=d+n[c>>2];n[c+4>>2]=g+n[c+4>>2];g=q(D-C);f=q(f-e);n[F+4>>2]=g-f;e=q(w-v);d=q(x-m);n[F>>2]=e+d;n[s+4>>2]=g+f;n[s>>2]=e-d;c=c+8|0;h=(R<<3)+h|0;t=(S<<3)+t|0;o=(A<<3)+o|0;M=M+1|0;if((k|0)!=(M|0)){continue}break}}E=E+1|0;if((Q|0)!=(E|0)){continue}break}break b}K=j[(B<<2)+J>>2];if((K|0)<1){break b}R=k<<1;r=j[a+48>>2];O=K<<$;N=n[(r+(p(O,k)<<3)|0)+4>>2];S=O<<1;y=0;while(1){c=(p(y,G)<<3)+b|0;t=r;o=r;h=k;while(1){s=(k<<3)+c|0;u=n[s>>2];C=n[o>>2];D=n[s+4>>2];f=n[o+4>>2];v=q(q(u*C)-q(D*f));A=(R<<3)+c|0;w=n[A>>2];x=n[t>>2];e=n[A+4>>2];d=n[t+4>>2];m=q(q(w*x)-q(e*d));g=q(v+m);n[s>>2]=n[c>>2]-q(g*q(.5));f=q(q(C*D)+q(u*f));e=q(q(x*e)+q(w*d));d=q(f+e);n[s+4>>2]=n[c+4>>2]-q(d*q(.5));n[c>>2]=g+n[c>>2];n[c+4>>2]=d+n[c+4>>2];e=q(N*q(f-e));n[A>>2]=e+n[s>>2];d=q(N*q(v-m));n[A+4>>2]=n[s+4>>2]-d;n[s>>2]=n[s>>2]-e;n[s+4>>2]=d+n[s+4>>2];c=c+8|0;t=(S<<3)+t|0;o=(O<<3)+o|0;h=h-1|0;if(h){continue}break}y=y+1|0;if((K|0)!=(y|0)){continue}break}break b}A=j[(B<<2)+J>>2];if((A|0)<1){break b}F=j[a+48>>2];K=A<<$;c=p(K,k);h=F+(c<<4)|0;P=n[h+4>>2];Y=n[h>>2];h=F+(c<<3)|0;Z=n[h+4>>2];_=n[h>>2];O=k<<2;R=p(k,3);S=k<<1;s=0;while(1){if((k|0)>=1){c=(p(s,G)<<3)+b|0;h=c+(k<<3)|0;t=(S<<3)+c|0;o=(R<<3)+c|0;E=(O<<3)+c|0;M=0;while(1){aa=n[c>>2];ba=n[c+4>>2];y=p(K,M);r=F+(y<<4)|0;ea=n[r>>2];fa=n[t+4>>2];T=n[t>>2];g=n[r+4>>2];U=q(q(ea*fa)+q(T*g));r=F+p(y,24)|0;V=n[r>>2];W=n[o+4>>2];H=n[o>>2];f=n[r+4>>2];X=q(q(V*W)+q(H*f));ca=q(U+X);r=F+(y<<3)|0;N=n[r>>2];u=n[h+4>>2];v=n[h>>2];e=n[r+4>>2];C=q(q(N*u)+q(v*e));r=F+(y<<5)|0;w=n[r>>2];x=n[E+4>>2];m=n[E>>2];d=n[r+4>>2];D=q(q(w*x)+q(m*d));da=q(C+D);n[c+4>>2]=ba+q(ca+da);g=q(q(T*ea)-q(fa*g));f=q(q(H*V)-q(W*f));H=q(g+f);e=q(q(v*N)-q(u*e));d=q(q(m*w)-q(x*d));u=q(e+d);n[c>>2]=aa+q(H+u);v=q(g-f);w=q(e-d);x=q(q(P*v)+q(Z*w));g=q(ba+q(q(Y*ca)+q(_*da)));n[h+4>>2]=x+g;f=q(aa+q(q(Y*H)+q(_*u)));m=q(U-X);e=q(C-D);d=q(q(P*m)+q(Z*e));n[h>>2]=f-d;n[E+4>>2]=g-x;n[E>>2]=d+f;g=q(q(P*w)-q(Z*v));f=q(ba+q(q(_*ca)+q(Y*da)));n[t+4>>2]=g+f;e=q(q(Z*m)-q(P*e));d=q(aa+q(q(_*H)+q(Y*u)));n[t>>2]=e+d;n[o+4>>2]=f-g;n[o>>2]=d-e;E=E+8|0;o=o+8|0;t=t+8|0;h=h+8|0;c=c+8|0;M=M+1|0;if((k|0)!=(M|0)){continue}break}}s=s+1|0;if((A|0)!=(s|0)){continue}break}}c=B-1|0;if((B|0)>0){continue}break}I=J+32|0;return}L(42449,42433,76);z()}function ec(a,b,c,d,e,f,g,m,n,o,q){var r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;r=I-16|0;w=r;I=r;C=b-4|0;r=q+2|0;F=w-((r<<1)+15&-16)|0;v=F;I=v;if((q|0)>=-1){A=(r|0)>1?r:1;r=0;while(1){t=r<<1;y=t-4|0;x=i[y+c>>1];y=i[b+y>>1];u=y+x|0;i[t+C>>1]=(u>>>1|0)+(u&1);B=t+F|0;t=y-x|0;t=(t>>1)+(t&1)|0;t=(t|0)>-32768?t:-32768;i[B>>1]=(t|0)<32767?t:32767;r=r+1|0;if((A|0)!=(r|0)){continue}break}}r=j[a+4>>2];i[C>>1]=r;i[C+2>>1]=r>>>16;x=j[a+8>>2];j[F>>2]=x;r=q<<1;t=r+C|0;j[a+4>>2]=l[t>>1]|l[t+2>>1]<<16;t=r+F|0;j[a+8>>2]=l[t>>1]|l[t+2>>1]<<16;t=r+15&-16;D=v-t|0;v=D;I=v;r=0;A=v-t|0;y=A;I=y;a:{if((q|0)<=0){r=(q<<1)+15&-16;y=y-r|0;t=y;I=t;u=t-r|0;I=u;break a}t=x>>>16|0;v=l[C>>1];while(1){u=r<<1;v=i[u+b>>1]+(v<<16>>16)|0;B=v;r=r+1|0;v=i[(r<<1)+C>>1];z=(B+(v<<1)>>>1|0)+1>>>1|0;i[u+D>>1]=z;i[u+A>>1]=v-z;if((q|0)!=(r|0)){continue}break}r=(q<<1)+15&-16;y=y-r|0;v=y;I=v;u=v-r|0;I=u;if((q|0)<1){break a}v=0;while(1){r=t;z=v<<1;t=i[(z+F|0)+4>>1];x=((t+(x<<16>>16)|0)+(r<<16>>16<<1)>>>1|0)+1>>>1|0;i[z+y>>1]=x;i[u+z>>1]=r-x;x=r;v=v+1|0;if((v|0)!=(q|0)){continue}break}}r=(p(o,10)|0)==(q|0);t=r?328:655;m=m<<16>>16;m=p(m,m);v=(p(t,m&65535)>>>16|0)+p(t,m>>>16|0)|0;y=Ua(w+4|0,D,y,a+12|0,q,v);j[w+8>>2]=y;A=Ua(w,A,u,a+20|0,q,v);j[w+12>>2]=A;D=(r?-1200:-600)+g|0;t=(D|0)>1?D:1;u=s(t);g=j[w>>2]+p(i[w+4>>1],3)|0;x=(g|0)<65536?g:65536;z=p(x,3);g=z+851968|0;m=g>>31;r=t<>31;g=536870911/(g>>16)<<16>>16;m=(p(g,r&65535)>>16)+p(g,r>>16)|0;r=ie(B,H,m,m>>31);r=G-(((J&536870911)<<3|r>>>29)&-8)|0;g=(p(r>>16,g)+m|0)+(p(g,r&65535)>>16)|0;r=p(o<<16>>16,600)+2e3|0;B=f;u=(u-E|0)+10|0;b:{if((u|0)<=-1){u=0-u|0;E=2147483647>>>u|0;m=-2147483648>>u;g=((g|0)>(E|0)?E:(g|0)<(m|0)?m:g)<>u:0}j[B>>2]=g;G=a;c:{if((g|0)<(r|0)){j[f>>2]=r;g=t-r|0;j[f+4>>2]=g;g=(g<<1)-r|0;m=g>>31;u=z+65536|0;z=r<<16>>16;u=(p(u&65535,z)>>16)+p(z,u>>16)|0;z=u>>31;E=s(m^g+m);m=g<>16)<<16>>16;m=(p(g,m&65535)>>16)+p(g,m>>16)|0;u=ie(m,m>>31,u,u>>31);u=B-(((J&536870911)<<3|u>>>29)&-8)|0;g=(p(u>>16,g)+m|0)+(p(g,u&65535)>>16)|0;m=(E-z|0)+13|0;d:{if((m|0)<=-1){m=0-m|0;u=2147483647>>>m|0;z=-2147483648>>m;g=((g|0)>(u|0)?u:(g|0)<(z|0)?z:g)<>m:0}g=(g|0)>0?g:0;m=(g|0)<16384?g:16384;break c}j[f+4>>2]=t-g;m=16384}g=i[a+28>>1];m=m-g|0;i[G+28>>1]=((p(m&65535,v<<16>>16)>>>16|0)+p(v,m>>>16|0)|0)+g;g=0;h[e|0]=0;e:{f:{g:{h:{i:{j:{if(n){j[w+8>>2]=0;j[w+12>>2]=0;ea(w+8|0,d);break j}m=t<<3;k:{if(!l[a+30>>1]){l:{if((m|0)<(p(r,13)|0)){r=i[a+28>>1];break l}r=i[a+28>>1];if(((p(r,x&65535)>>16)+p(x>>16,r)|0)>818){break k}}j[w+12>>2]=p(A<<16>>16,r)>>14;j[w+8>>2]=p(y<<16>>16,r)>>14;ea(w+8|0,d);j[w+8>>2]=0;j[w+12>>2]=0;j[f+4>>2]=0;j[f>>2]=t;h[e|0]=1;break i}m:{if((m|0)<(p(r,11)|0)){r=i[a+28>>1];break m}r=i[a+28>>1];if(((p(r,x&65535)>>16)+p(x>>16,r)|0)>327){break k}}j[w+12>>2]=p(A<<16>>16,r)>>14;j[w+8>>2]=p(y<<16>>16,r)>>14;ea(w+8|0,d);j[w+8>>2]=0;j[w+12>>2]=0;break j}if((r|0)>=15566){ea(w+8|0,d);g=16384;break j}j[w+12>>2]=p(A<<16>>16,r)>>14;j[w+8>>2]=p(y<<16>>16,r)>>14;ea(w+8|0,d);g=i[a+28>>1]}if(k[e|0]!=1){break h}}d=l[a+32>>1]+(q-(o<<3)|0)|0;i[a+32>>1]=d;if((p(o,5)|0)>d<<16>>16){h[e|0]=0;break f}i[a+32>>1]=1e4;break g}i[a+32>>1]=0}if(k[e|0]){break e}}if(j[f+4>>2]>0){break e}j[f+4>>2]=1;j[f>>2]=(t|0)>2?D-1|0:1}r=o<<3;f=65536/(r|0)|0;d=j[w+12>>2];e=j[w+8>>2];if((o|0)>=1){f=f<<16>>16;n=i[a+30>>1];m=g-n|0;y=(p(f,m&65535)>>16)+p(f,m>>16)<<10;m=i[a+2>>1];u=(p(f,d-m<<16>>16)>>15)+1>>1;o=i[a>>1];D=(p(f,e-o<<16>>16)>>15)+1>>1;z=(r|0)>1?r:1;v=0;t=0-o|0;m=0-m|0;f=n<<10;while(1){n=v<<1;v=v+1|0;x=v<<1;o=i[x+F>>1];x=i[x+C>>1];A=(i[b+n>>1]+i[n+C>>1]|0)+(x<<1)|0;B=(c+n|0)-2|0;f=f+y|0;m=m-u|0;n=m<<16>>16;o=((p(o,f>>16)+p(n,x>>5)|0)+(p(o,f&64512)>>16)|0)+(p(n,x<<11&63488)>>16)|0;t=t-D|0;n=t<<16>>16;n=(o+p(n,A>>7)|0)+(p(n,A<<9&65024)>>16)|0;o=(n>>7)+1>>1;i[B>>1]=(n|0)>8388479?32767:(o|0)>-32768?o:-32768;if((v|0)!=(z|0)){continue}break}}if((q|0)>(r|0)){v=g>>6;A=g<<10&64512;m=0-(d<<16)>>16;n=0-(e<<16)>>16;while(1){f=r<<1;r=r+1|0;t=r<<1;o=i[t+F>>1];t=i[t+C>>1];x=(i[b+f>>1]+i[f+C>>1]|0)+(t<<1)|0;y=(c+f|0)-2|0;f=((((p(o,v)+p(m,t>>5)|0)+(p(o,A)>>16)|0)+(p(m,t<<11&63488)>>16)|0)+p(n,x>>7)|0)+(p(n,x<<9&65024)>>16)|0;o=(f>>7)+1>>1;i[y>>1]=(f|0)>8388479?32767:(o|0)>-32768?o:-32768;if((q|0)!=(r|0)){continue}break}}i[a+30>>1]=g;i[a+2>>1]=d;i[a>>1]=e;I=w+16|0}function xb(a,b,c,d,e,f,g,h,k,l,m){var o=0,r=0,t=0,u=0,v=q(0),w=q(0),x=0,A=0,B=0,C=0,D=q(0),E=0,F=0,G=0;E=j[a+36>>2];x=j[a+28>>2];o=j[a+16>>2];F=j[a>>2];r=1;t=(e|0)==2&(l|0)!=0;B=(e<<1)+(t?-2:-1)|0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{u=j[f>>2];G=j[a+8>>2];C=j[a+12>>2];k=i[j[G+56>>2]+(C<<1)>>1]+(k<<3)|0;A=(u-k|0)-32|0;k=(u+p(B,(k>>1)+(t?-16:-4)|0)|0)/(B|0)|0;k=(k|0)>(A|0)?A:k;k=(k|0)<64?k:64;if((k|0)>=4){r=(i[((k&7)<<1)+42144>>1]>>14-(k>>>3|0))+1&-2;if((r|0)>=257){break l}}r=(o|0)>(C|0)?r:l?1:r;m:{n:{o:{if(F){k=nd(c,d,l,e);B=V(x);if((r|0)==1){break m}p:{q:{if(l){a=j[a+48>>2];if(a){break q}a=p(k,r)- -8192>>14;break p}o=p(k,r);t=o- -8192|0;k=t>>14;r:{if((k|0)>=(r|0)){a=k;break r}if((o|0)<8192){a=k;break r}if(!j[a+56>>2]){a=k;break r}a=r;t=((t&-16384)>>>0)/(a>>>0)<<16;o=p(t>>13,t>>16)+32768>>16;u=((p(((p((p(o,-626)+16384>>15)+8277|0,o)<<1)+32768&-65536)-501415936>>16,o)+16384>>>15|0)-o<<16)- -2147483648>>16;A=s(u);o=1073741824-t|0;o=p(o>>13,o>>16)+32768>>16;o=((p(((p((p(o,-626)+16384>>15)+8277|0,o)<<1)+32768&-65536)-501415936>>16,o)+16384>>>15|0)-o<<16)- -2147483648>>16;t=s(o);u=u<>16;o=o<>16;o=p((A-t<<11)-(p((p(u,-2597)+16384>>15)+7932|0,u)+16384>>>15|0)+(p((p(o,-2597)+16384>>15)+7932|0,o)+16384>>>15)<<16>>16,(e<<23)-8388608>>16)+16384>>15;t=j[f>>2];if((o|0)>(t|0)){break r}a=(o|0)<(0-t|0)?0:k}if((h|0)<2){break o}break i}h=(a^-1)>>>31|0;a=p(k,r)+((((k|0)>8192?32767:-32767)|0)/(r|0)|0)|0;a=(a|0)<0?0:a>>14;a=h+((a|0)<(r|0)?a:r-1|0)|0}if((e|0)<=2){break i}h=(r|0)/2|0;k=p(h,3)+3|0;o=p(a,3);t=(a|0)>(h|0);va(x,t?(k+(h^-1)|0)+a|0:o,t?(k-h|0)+a|0:o+3|0,h+k|0);break h}B=V(x);if((r|0)==1){break k}if(!(!l|(e|0)<3)){h=x;A=h;k=(r|0)/2|0;t=k+1|0;o=p(t,3);u=k+o|0;a=Ya(h,u);s:{if((o|0)>(a|0)){a=(a|0)/3|0;break s}a=a-(t<<1)|0}t=p(a,3);h=(a|0)>(k|0);Xa(A,h?a+(o+(k^-1)|0)|0:t,h?(o-k|0)+a|0:t+3|0,u);break h}if(l?0:(h|0)<=1){break n}a=Wa(x,r+1|0);break h}k=r-a|0;t=k+1|0;u=a+1|0;h=r>>1;A=(h|0)<(a|0);h=h+1|0;o=p(h,h);k=A?o-(p(t,k+2|0)>>1)|0:p(a,u)>>1;va(x,k,k+(A?t:u)|0,o);break h}c=x;A=c;k=r>>1;h=k+1|0;d=p(h,h);a=Ya(c,d);t:{if((a|0)>1){l=Ab(a<<3|1)-1>>>1|0;a=l+1|0;h=p(a,l)>>>1|0;break t}h=r+1|0;l=(h<<1)-Ab(d+(a^-1)<<3|1)>>>1|0;a=h-l|0;h=d-(p(a,(r-l|0)+2|0)>>1)|0}Xa(A,h,a+h|0,d);k=(l<<14>>>0)/(r>>>0)|0;break e}if(!l){break e}l=0;h=0;u:{if((k|0)<8193){break u}k=j[a+52>>2];if(k){break u}h=1;if((e|0)<1){break u}h=!k;r=0;while(1){k=(r<<2)+d|0;n[k>>2]=-n[k>>2];r=r+1|0;if((r|0)!=(e|0)){continue}break}}if((e|0)<1){break j}v=n[(C<<2)+E>>2];w=n[(j[G+8>>2]+C<<2)+E>>2];D=q(q(y(q(q(q(v*v)+q(1.0000000036274937e-15))+q(w*w))))+q(1.0000000036274937e-15));w=q(w/D);v=q(v/D);while(1){k=l<<2;r=k+c|0;n[r>>2]=q(v*n[r>>2])+q(w*n[d+k>>2]);l=l+1|0;if((l|0)!=(e|0)){continue}break}break j}L(42160,41800,669);z()}h=0;if(!l){break g}}c=0;v:{if(j[f>>2]<17){break v}c=0;if(j[a+32>>2]<17){break v}if(F){T(x,h,2);c=h;break v}c=jc(x)}h=j[a+52>>2]?0:c;break g}ga(x,a,r+1|0)}if((a|0)<=-1){break f}a=a<<14;k=(a>>>0)/(r>>>0)|0;if(!l|!F){break e}if(a>>>0>>0){h=0;if((e|0)<1){break g}v=n[(C<<2)+E>>2];w=n[(j[G+8>>2]+C<<2)+E>>2];D=q(q(y(q(q(q(v*v)+q(1.0000000036274937e-15))+q(w*w))))+q(1.0000000036274937e-15));w=q(w/D);v=q(v/D);l=0;while(1){a=l<<2;k=a+c|0;n[k>>2]=q(v*n[k>>2])+q(w*n[a+d>>2]);l=l+1|0;if((l|0)!=(e|0)){continue}break}break g}if((e|0)<1){break e}l=0;while(1){a=l<<2;h=a+c|0;v=q(n[h>>2]*q(.7071067690849304));a=a+d|0;w=q(n[a>>2]*q(.7071067690849304));n[h>>2]=v+w;n[a>>2]=w-v;l=l+1|0;if((l|0)!=(e|0)){continue}break}break e}a=V(x)-B|0;j[f>>2]=j[f>>2]-a;break d}L(42104,41800,838);z()}a=V(x)-B|0;j[f>>2]=j[f>>2]-a;l=16384;if((k|0)==16384){break c}if(k){break b}h=k}j[m>>2]=j[m>>2]&(-1<>2]=j[m>>2]&(-1<>13,f>>16)+32768>>16;d=((p(((p((p(c,-626)+16384>>15)+8277|0,c)<<1)+32768&-65536)-501415936>>16,c)+16384>>>15|0)-c<<16)- -2147483648>>16;g=s(d);c=1073741824-f|0;c=p(c>>13,c>>16)+32768>>16;c=((p(((p((p(c,-626)+16384>>15)+8277|0,c)<<1)+32768&-65536)-501415936>>16,c)+16384>>>15|0)-c<<16)- -2147483648>>16;f=s(c);k=g-f<<11;g=d<>16;f=c<>16;e=p(k-(p((p(g,-2597)+16384>>15)+7932|0,g)+16384>>>15|0)+(p((p(f,-2597)+16384>>15)+7932|0,f)+16384>>>15)<<16>>16,(e<<23)-8388608>>16)+16384>>15}j[b+20>>2]=a;j[b+16>>2]=l;j[b+12>>2]=e;j[b+8>>2]=c;j[b+4>>2]=d;j[b>>2]=h}function mc(a,b,c,d,e){var f=0,g=0,i=0,k=0,l=0,m=0,n=0;j[a+6076>>2]=j[b+48>>2];j[a+4676>>2]=j[b+52>>2];f=j[b+8>>2];j[a+4556>>2]=f;j[a+4564>>2]=j[b+12>>2];j[a+4568>>2]=j[b+16>>2];j[a+4572>>2]=j[b+20>>2];j[a+6088>>2]=j[b+40>>2];j[a+5752>>2]=j[b>>2];g=j[b+4>>2];j[a+5760>>2]=d;j[a+4536>>2]=c;j[a+5756>>2]=g;a:{b:{if(!(j[a+4680>>2]|!j[a+4668>>2])){b=0;if((f|0)==j[a+4560>>2]){break b}c=j[a+4576>>2];if((c|0)<1){break b}return bb(a,c)}f=(l=e,m=nc(a,b),n=e,n?l:m);i=bb(a,f);c=j[b+24>>2];if((c|0)!=j[a+4612>>2]){c:{d:{switch(c-10|0){default:if((c|0)==40|(c|0)==60){break c}break;case 0:case 10:break c;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:break d}}k=-103}e:{if((c|0)<=10){j[a+5744>>2]=1;j[a+4580>>2]=(c|0)==10?2:1;d=f<<16>>16;j[a+4584>>2]=p(d,c<<16>>16);j[a+4548>>2]=p(d,14);if(j[a+4576>>2]==8){j[a+4688>>2]=2169;break e}j[a+4688>>2]=2157;break e}j[a+4580>>2]=4;j[a+5744>>2]=(c>>>0)/20;d=f<<16>>16;j[a+4584>>2]=p(d,20);j[a+4548>>2]=p(d,24);if(j[a+4576>>2]==8){j[a+4688>>2]=2146;break e}j[a+4688>>2]=2112}j[a+4608>>2]=0;j[a+4612>>2]=c}f:{g:{h:{i:{if(!(!(1<>>0>16)){j:{k:{c=j[a+4580>>2];switch(c-2|0){case 0:case 2:break j;default:break k}}L(6692,6671,242);z()}l:{if((f|0)==j[a+4576>>2]){e=j[a+4584>>2];d=j[a+4588>>2];break l}j[a+7168>>2]=0;j[a+7172>>2]=0;j[a+5748>>2]=0;j[a+5740>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+4608>>2]=0;j[a+7176>>2]=0;O(a+148|0,0,4384);d=10;h[a+7168|0]=10;j[a+4664>>2]=1;j[a+4544>>2]=100;j[a+4576>>2]=f;h[a+4541|0]=0;j[a+4492>>2]=65536;j[a+4476>>2]=100;m:{if((f|0)==8){j[a+4688>>2]=(c|0)==4?2146:2169;e=3576;break m}j[a+4688>>2]=(c|0)==4?2112:2157;d=(f|0)==12;e=d?3576:5700;d=d?10:16}j[a+4692>>2]=e;j[a+4640>>2]=d;d=p(f,5);j[a+4588>>2]=d;j[a+4596>>2]=f<<1;j[a+4592>>2]=p(f,20);j[a+4552>>2]=p(f,18);e=p(c,p(f,327680)>>16);j[a+4584>>2]=e;j[a+4548>>2]=p(f,(c|0)==4?24:14);if((f|0)==16){j[a+4684>>2]=5872;d=80;break l}if((f|0)==12){j[a+4684>>2]=5866;d=60;break l}j[a+4684>>2]=5857}if((p(c,d)|0)!=(e|0)){break i}d=j[b+36>>2];if(d>>>0>=11){break h}n:{c=a;o:{if(!d){j[a+4652>>2]=52429;j[a+4644>>2]=0;j[a+4648>>2]=6;j[a+4636>>2]=12;j[a+4660>>2]=2;j[a+4628>>2]=1;j[a+4632>>2]=0;e=p(f,3);break o}if((d|0)<=1){j[a+4652>>2]=49807;j[a+4644>>2]=1;j[a+4648>>2]=8;j[a+4636>>2]=14;j[a+4660>>2]=3;j[a+4628>>2]=1;j[a+4632>>2]=0;break g}if((d|0)!=2){break n}j[a+4652>>2]=52429;j[a+4644>>2]=0;j[a+4648>>2]=6;j[a+4636>>2]=12;j[a+4660>>2]=2;j[a+4628>>2]=2;j[a+4632>>2]=0;e=p(f,3)}j[c+4600>>2]=e;g=0;c=6;break f}if((d|0)<=3){j[a+4652>>2]=49807;j[a+4644>>2]=1;j[a+4648>>2]=8;j[a+4636>>2]=14;j[a+4660>>2]=4;j[a+4628>>2]=2;j[a+4632>>2]=0;break g}if((d|0)<=5){j[a+4652>>2]=48497;j[a+4644>>2]=1;j[a+4648>>2]=10;j[a+4636>>2]=16;j[a+4660>>2]=6;j[a+4628>>2]=2;j[a+4632>>2]=1;e=p(f,5);j[a+4600>>2]=e;g=p(f,983);c=10;break f}if((d|0)<=7){j[a+4652>>2]=47186;j[a+4644>>2]=1;j[a+4648>>2]=12;j[a+4636>>2]=20;j[a+4660>>2]=8;j[a+4628>>2]=3;j[a+4632>>2]=1;e=p(f,5);j[a+4600>>2]=e;g=p(f,983);c=12;break f}j[a+4652>>2]=45875;j[a+4644>>2]=2;j[a+4648>>2]=16;j[a+4636>>2]=24;j[a+4660>>2]=16;j[a+4628>>2]=4;j[a+4632>>2]=1;e=p(f,5);j[a+4600>>2]=e;g=p(f,983);c=16;break f}L(6609,6671,241);z()}L(6765,6671,302);z()}L(6863,6671,315);z()}e=p(f,5);j[a+4600>>2]=e;g=0;c=8}j[a+4672>>2]=g;j[a+4624>>2]=d;j[a+4604>>2]=p(f,5)+(e<<1);d=j[a+4640>>2];c=(c|0)<(d|0)?c:d;j[a+4648>>2]=c;if((c|0)>=17){break a}c=j[b+32>>2];j[a+4616>>2]=c;d=j[a+6092>>2];b=j[b+44>>2];j[a+6092>>2]=b;if(b){b=a;if(d){c=(p(c>>16,-26214)-(p(c&65535,26214)>>>16|0)|0)+7|0;c=(c|0)>2?c:2}else{c=7}j[b+6096>>2]=c}b=i+k|0;j[a+4668>>2]=1}return b}L(6917,6671,393);z()}function Wd(a,b,c,d,e,f,g,m,n,o){var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;q=I-320|0;I=q;x=g<<16>>16;g=-10;while(1){r=g<<10;a:{if((g|0)>=1){t=r|922;r=r-102|0;break a}if(!g){t=r|922;break a}s=r+1024|0;t=(g|0)==-1?s:s|102;r=r|102}s=(g<<2)+40|0;j[s+q>>2]=p(t<<16>>16,x)>>16;j[(q+80|0)+s>>2]=p(r<<16>>16,x)>>16;g=g+1|0;if((g|0)!=10){continue}break}i[q+224>>1]=0;j[q+192>>2]=0;if((o|0)<1){b=0}else{C=n<<16>>16;n=o;x=1;while(1){F=n;n=n-1|0;b:{c:{d:{A=(x|0)<1;e:{if(A){break e}g=n<<1;s=i[g+e>>1]+f|0;t=l[b+g>>1];z=k[d+n|0];w=i[c+g>>1];g=0;while(1){y=(q+224|0)+(g<<1)|0;v=p(z,i[y>>1])>>8;r=p(t-v<<16>>16,m)>>16;r=(r|0)>-10?r:-10;r=(r|0)<9?r:9;h[((q+240|0)+(g<<4)|0)+n|0]=r;u=y;y=(r<<2)+40|0;D=v+j[y+(q+80|0)>>2]|0;i[u>>1]=D;E=g+x|0;y=v+j[q+y>>2]|0;i[(q+224|0)+(E<<1)>>1]=y;u=(q+192|0)+(g<<2)|0;v=j[u>>2];G=u;H=v;f:{if((r|0)>=3){if((r|0)==3){u=280;B=k[s+7|0];break f}r=p(r,43);u=r+151|0;B=r+108|0;break f}if((r|0)<=-4){if((r|0)==-4){u=k[s+1|0];B=280;break f}r=p(r,-43);u=r+65|0;B=r+108|0;break f}r=r+s|0;u=k[r+5|0];B=k[r+4|0]}r=t-D<<16>>16;j[G>>2]=(H+p(B,C)|0)+p(w,p(r,r));r=t-y<<16>>16;j[(q+192|0)+(E<<2)>>2]=(v+p(u,C)|0)+p(w,p(r,r));g=g+1|0;if((x|0)!=(g|0)){continue}break}if((x|0)>=3){r=0;g=j[q+208>>2];s=j[q+192>>2];if((g|0)<(s|0)){break d}w=g;g=s;break c}g=0;if(A){break e}while(1){h[((q+240|0)+(g+x<<4)|0)+n|0]=k[((q+240|0)+(g<<4)|0)+n|0]+1;g=g+1|0;if((x|0)!=(g|0)){continue}break}}x=x<<1;g=x;if((g|0)>3){break b}while(1){h[((q+240|0)+(g<<4)|0)+n|0]=k[((q+240|0)+(g-x<<4)|0)+n|0];g=g+1|0;if((g|0)!=4){continue}break}break b}j[q+208>>2]=s;j[q+192>>2]=g;r=l[q+224>>1];i[q+224>>1]=l[q+232>>1];i[q+232>>1]=r;r=4;w=s}j[q+176>>2]=g;j[q+160>>2]=w;j[q+304>>2]=r;s=1;r=j[q+212>>2];t=j[q+196>>2];g:{if((r|0)>=(t|0)){v=r;r=t;break g}j[q+212>>2]=t;j[q+196>>2]=r;s=l[q+226>>1];i[q+226>>1]=l[q+234>>1];i[q+234>>1]=s;s=5;v=t}j[q+180>>2]=r;j[q+164>>2]=v;j[q+308>>2]=s;s=2;t=j[q+216>>2];z=j[q+200>>2];h:{if((t|0)>=(z|0)){A=t;t=z;break h}j[q+216>>2]=z;j[q+200>>2]=t;s=l[q+228>>1];i[q+228>>1]=l[q+236>>1];i[q+236>>1]=s;s=6;A=z}j[q+184>>2]=t;j[q+168>>2]=A;j[q+312>>2]=s;u=3;s=j[q+220>>2];y=j[q+204>>2];i:{if((s|0)>=(y|0)){z=s;s=y;break i}j[q+220>>2]=y;j[q+204>>2]=s;z=l[q+230>>1];i[q+230>>1]=l[q+238>>1];i[q+238>>1]=z;u=7;z=y}j[q+188>>2]=s;j[q+172>>2]=z;j[q+316>>2]=u;while(1){y=(w|0)>(v|0);v=y?v:w;w=(v|0)>(A|0);A=w?A:v;v=(A|0)>(z|0);u=(g|0)>0?g:0;g=(u|0)<(r|0);u=g?r:u;r=(u|0)<(t|0);u=r?t:u;t=(u|0)<(s|0);if(((v?z:A)|0)<((t?s:u)|0)){g=t?3:r?2:g;r=g<<2;s=v?3:w?2:y;t=s<<2;j[(r|q+304)>>2]=j[(t|q+304)>>2]^4;w=s|4;j[(r|q+192)>>2]=j[(q+192|0)+(w<<2)>>2];j[(r|q+176)>>2]=0;i[(q+224|g<<1)>>1]=l[(q+224|w<<1)>>1];j[(t|q+160)>>2]=2147483647;r=(q+240|0)+(s<<4)|0;s=j[r+4>>2];g=(q+240|0)+(g<<4)|0;j[g>>2]=j[r>>2];j[g+4>>2]=s;s=j[r+12>>2];j[g+8>>2]=j[r+8>>2];j[g+12>>2]=s;s=j[q+188>>2];z=j[q+172>>2];t=j[q+184>>2];A=j[q+168>>2];r=j[q+180>>2];v=j[q+164>>2];g=j[q+176>>2];w=j[q+160>>2];continue}break}g=(q+240|0)+n|0;h[g|0]=k[g|0]+(j[q+304>>2]>>>2|0);h[g+16|0]=k[g+16|0]+(j[q+308>>2]>>>2|0);h[g+48|0]=k[g+48|0]+(j[q+316>>2]>>>2|0);h[g+32|0]=k[g+32|0]+(j[q+312>>2]>>>2|0)}if((F|0)>1){continue}break}g=j[q+220>>2];r=j[q+216>>2];x=j[q+212>>2];s=j[q+208>>2];t=j[q+204>>2];n=j[q+200>>2];w=j[q+196>>2];b=j[q+192>>2]}c=(b|0)>(w|0);d=c;b=c?w:b;c=(b|0)>(n|0);d=c?2:d;b=c?n:b;c=(b|0)>(t|0);d=c?3:d;b=c?t:b;c=(b|0)>(s|0);d=c?4:d;b=c?s:b;c=(b|0)>(x|0);d=c?5:d;b=c?x:b;c=(b|0)>(r|0);e=c?6:d;c=c?r:b;d=(c|0)>(g|0);b=d?7:e;if((o|0)>0){M(a,(q+240|0)+((b&3)<<4)|0,o)}h[a|0]=k[a|0]+(b>>>2|0);I=q+320|0;return d?g:c}function ya(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0;l=I-32|0;I=l;j[l+24>>2]=0;j[l+28>>2]=0;j[l+16>>2]=0;j[l+20>>2]=0;j[l+8>>2]=0;j[l+12>>2]=0;j[l>>2]=0;j[l+4>>2]=0;a:{b:{c:{m=e&-16;if((m|0)<(e|0)){if((e|0)!=120){break c}h[d+120|0]=0;h[d+121|0]=0;h[d+122|0]=0;h[d+123|0]=0;h[d+124|0]=0;h[d+125|0]=0;h[d+126|0]=0;h[d+127|0]=0;m=128;h[d+128|0]=0;h[d+129|0]=0;h[d+130|0]=0;h[d+131|0]=0;h[d+132|0]=0;h[d+133|0]=0;h[d+134|0]=0;h[d+135|0]=0;t=l-512|0;o=t;I=o;v=8;break b}v=e>>4;t=l-(m<<2)|0;o=t;I=o;if((e|0)>15){break b}g=(v<<2)+15&-16;u=o-g|0;i=u;I=i;w=i-g|0;I=w;break a}L(9312,9354,89);z()}while(1){i=h[d+f|0];g=i>>31;j[(f<<2)+t>>2]=g^g+i;i=f|1;n=h[i+d|0];g=n>>31;j[(i<<2)+t>>2]=g^g+n;i=f|2;n=h[i+d|0];g=n>>31;j[(i<<2)+t>>2]=g^g+n;i=f|3;n=h[i+d|0];g=n>>31;j[(i<<2)+t>>2]=g^g+n;f=f+4|0;if((m|0)>(f|0)){continue}break}g=(v<<2)+15&-16;u=o-g|0;i=u;I=i;w=i-g|0;I=w;D=k[8120];y=k[8119];x=k[8118];s=k[8117];i=0;f=t;while(1){g=B<<2;C=g+w|0;j[C>>2]=0;E=g+u|0;m=j[f+4>>2];o=j[f>>2];while(1){q=1;d:{e:{m=m+o|0;if((s|0)<(m|0)){n=i;m=r;break e}j[l>>2]=m;n=j[f+12>>2]+j[f+8>>2]|0;if((s|0)<(n|0)){n=i;break e}j[l+4>>2]=n;g=j[f+20>>2]+j[f+16>>2]|0;if((g|0)>(s|0)){break e}j[l+8>>2]=g;g=j[f+28>>2]+j[f+24>>2]|0;if((g|0)>(s|0)){break e}j[l+12>>2]=g;g=j[f+36>>2]+j[f+32>>2]|0;if((g|0)>(s|0)){break e}j[l+16>>2]=g;g=j[f+44>>2]+j[f+40>>2]|0;if((g|0)>(s|0)){break e}j[l+20>>2]=g;g=j[f+52>>2]+j[f+48>>2]|0;if((g|0)>(s|0)){break e}j[l+24>>2]=g;g=j[f+60>>2]+j[f+56>>2]|0;if((g|0)>(s|0)){break e}j[l+28>>2]=g;A=0;break d}A=1}o=m+n|0;f:{if((x|0)<(o|0)){g=n;o=m;break f}j[l>>2]=o;g=j[l+12>>2]+j[l+8>>2]|0;if((x|0)<(g|0)){g=n;break f}j[l+4>>2]=g;i=j[l+20>>2]+j[l+16>>2]|0;if((i|0)>(x|0)){break f}j[l+8>>2]=i;i=j[l+28>>2]+j[l+24>>2]|0;if((i|0)>(x|0)){break f}j[l+12>>2]=i;q=0}m=-1;r=g+o|0;g:{if((y|0)<(r|0)){i=g;r=o;break g}j[l>>2]=r;i=j[l+12>>2]+j[l+8>>2]|0;if((y|0)<(i|0)){i=g;break g}j[l+4>>2]=i;m=0}g=q+A|0;h:{n=i+r|0;if((n|0)<=(D|0)){j[E>>2]=n;if((g|0)==(m|0)){break h}}j[C>>2]=j[C>>2]+1;o=j[f>>2]>>1;j[f>>2]=o;m=j[f+4>>2]>>1;j[f+4>>2]=m;j[f+8>>2]=j[f+8>>2]>>1;j[f+12>>2]=j[f+12>>2]>>1;j[f+16>>2]=j[f+16>>2]>>1;j[f+20>>2]=j[f+20>>2]>>1;j[f+24>>2]=j[f+24>>2]>>1;j[f+28>>2]=j[f+28>>2]>>1;j[f+32>>2]=j[f+32>>2]>>1;j[f+36>>2]=j[f+36>>2]>>1;j[f+40>>2]=j[f+40>>2]>>1;j[f+44>>2]=j[f+44>>2]>>1;j[f+48>>2]=j[f+48>>2]>>1;j[f+52>>2]=j[f+52>>2]>>1;j[f+56>>2]=j[f+56>>2]>>1;j[f+60>>2]=j[f+60>>2]>>1;continue}break}f=f- -64|0;n=1;B=B+1|0;if((B|0)!=(v|0)){continue}break}}q=2147483647;A=b>>1;s=p(A,9);g=0;r=0;while(1){m=k[(g+s|0)+8528|0];if(n){x=p(g,18);o=x+8337|0;f=0;while(1){i=o;y=f<<2;if(j[y+w>>2]<=0){i=(x+j[u+y>>2]|0)+8320|0}m=k[i|0]+m|0;f=f+1|0;if((v|0)!=(f|0)){continue}break}}i=(m|0)<(q|0);r=i?g:r;q=i?m:q;g=g+1|0;if((g|0)!=9){continue}break}N(a,r,p(A,9)+8496|0,8);i:{if(!n){break i}g=p(r,18)+8128|0;m=0;while(1){i=m<<2;f=j[i+w>>2];j:{if(!f){N(a,j[i+u>>2],g,8);break j}N(a,17,g,8);if((f|0)>=2){o=f-1|0;f=0;while(1){N(a,17,8290,8);f=f+1|0;if((o|0)!=(f|0)){continue}break}}N(a,j[i+u>>2],8290,8)}m=m+1|0;if((v|0)!=(m|0)){continue}break}if(!n){break i}f=0;while(1){if(j[(f<<2)+u>>2]>=1){ic(a,(f<<6)+t|0)}f=f+1|0;if((v|0)!=(f|0)){continue}break}if(!n){break i}q=0;while(1){g=j[(q<<2)+w>>2];if((g|0)>=1){o=(q<<4)+d|0;i=0;while(1){f=h[i+o|0];n=f>>31;m=(n^f+n)<<24>>24;f=g;if((f|0)!=1){while(1){n=f-1|0;N(a,m>>>n&1,5824,8);r=(f|0)>2;f=n;if(r){continue}break}}N(a,m&1,5824,8);i=i+1|0;if((i|0)!=16){continue}break}}q=q+1|0;if((v|0)!=(q|0)){continue}break}}hc(a,d,e,b,c,u);I=l+32|0}function Yc(a,b){var c=q(0),d=0,e=0,f=q(0),g=0,i=0,k=0,l=0,m=0,o=0,s=0,t=0,u=0,w=q(0),x=q(0);i=I-512|0;I=i;g=j[12008];a:{if((g|0)<1){break a}l=j[12007];e=j[12004];while(1){n[(i+256|0)+(d<<2)>>2]=h[d+e|0];d=d+1|0;if((g|0)!=(d|0)){continue}break}if((g|0)<1){break a}o=p(g,3);s=j[12005];e=0;t=(l|0)<1;while(1){if(!t){k=(i+256|0)+(e<<2)|0;c=n[k>>2];d=0;while(1){c=q(c+q(n[(d<<2)+b>>2]*q(h[s+(p(d,o)+e|0)|0])));d=d+1|0;if((l|0)!=(d|0)){continue}break}n[k>>2]=c}e=e+1|0;if((g|0)!=(e|0)){continue}break}t=j[12006];e=0;while(1){k=(i+256|0)+(e<<2)|0;c=n[k>>2];d=0;while(1){c=q(c+q(n[(d<<2)+a>>2]*q(h[t+(p(d,o)+e|0)|0])));d=d+1|0;if((g|0)!=(d|0)){continue}break}n[k>>2]=c;e=e+1|0;if((g|0)!=(e|0)){continue}break}d=0;if((g|0)<=0){break a}while(1){k=(i+256|0)+(d<<2)|0;c=q(q(n[k>>2]*q(.0078125))*q(.5));f=q(1);b:{if(cq(-8)^1){break b}f=q(.5);if(c!=c){break b}m=c>2];f=q(f+q(q(e|0)*q(-.03999999910593033)));c=q(c+q(q(q(1)-q(c*f))*q(f*q(q(1)-q(c*c)))));f=q(q((m?q(-c):c)*q(.5))+q(.5))}n[k>>2]=f;d=d+1|0;if((g|0)!=(d|0)){continue}break}if((g|0)<1){break a}e=j[12004];d=0;while(1){n[(i+128|0)+(d<<2)>>2]=h[e+(d+g|0)|0];d=d+1|0;if((g|0)!=(d|0)){continue}break}if((g|0)<1){break a}k=g+s|0;e=0;m=(l|0)<1;while(1){if(!m){u=(i+128|0)+(e<<2)|0;c=n[u>>2];d=0;while(1){c=q(c+q(n[(d<<2)+b>>2]*q(h[k+(p(d,o)+e|0)|0])));d=d+1|0;if((l|0)!=(d|0)){continue}break}n[u>>2]=c}e=e+1|0;if((g|0)!=(e|0)){continue}break}k=g+t|0;e=0;while(1){m=(i+128|0)+(e<<2)|0;c=n[m>>2];d=0;while(1){c=q(c+q(n[(d<<2)+a>>2]*q(h[k+(p(d,o)+e|0)|0])));d=d+1|0;if((g|0)!=(d|0)){continue}break}n[m>>2]=c;e=e+1|0;if((g|0)!=(e|0)){continue}break}d=0;if((g|0)<=0){break a}while(1){k=(i+128|0)+(d<<2)|0;c=q(q(n[k>>2]*q(.0078125))*q(.5));f=q(1);d:{if(cq(-8)^1){break d}f=q(.5);if(c!=c){break d}m=c>2];f=q(f+q(q(e|0)*q(-.03999999910593033)));c=q(c+q(q(q(1)-q(c*f))*q(f*q(q(1)-q(c*c)))));f=q(q((m?q(-c):c)*q(.5))+q(.5))}n[k>>2]=f;d=d+1|0;if((g|0)!=(d|0)){continue}break}if((g|0)<1){break a}e=g<<1;k=j[12004];d=0;while(1){n[(d<<2)+i>>2]=h[k+(d+e|0)|0];d=d+1|0;if((g|0)!=(d|0)){continue}break}d=0;if((g|0)<=0){break a}while(1){e=d<<2;n[e+(i+384|0)>>2]=n[a+e>>2]*n[e+(i+128|0)>>2];d=d+1|0;if((g|0)!=(d|0)){continue}break}if((g|0)<1){break a}e=s;s=g<<1;k=e+s|0;e=0;m=(l|0)<1;while(1){if(!m){u=(e<<2)+i|0;c=n[u>>2];d=0;while(1){c=q(c+q(n[(d<<2)+b>>2]*q(h[k+(p(d,o)+e|0)|0])));d=d+1|0;if((l|0)!=(d|0)){continue}break}n[u>>2]=c}e=e+1|0;if((g|0)!=(e|0)){continue}break}b=s+t|0;e=0;while(1){l=(e<<2)+i|0;c=n[l>>2];d=0;while(1){c=q(c+q(n[(i+384|0)+(d<<2)>>2]*q(h[b+(p(d,o)+e|0)|0])));d=d+1|0;if((g|0)!=(d|0)){continue}break}n[l>>2]=c;e=e+1|0;if((g|0)!=(e|0)){continue}break}d=0;if((g|0)<=0){break a}while(1){b=d<<2;c=n[b+(i+256|0)>>2];w=q(c*n[a+b>>2]);x=q(q(1)-c);e=b+i|0;c=q(n[e>>2]*q(.0078125));f=q(1);f:{if(cq(-8)^1){break f}f=q(0);if(c!=c){break f}l=c>2];f=q(f+q(q(b|0)*q(-.03999999910593033)));c=q(c+q(q(q(1)-q(c*f))*q(f*q(q(1)-q(c*c)))));f=l?q(-c):c}n[e>>2]=w+q(x*f);d=d+1|0;if((g|0)!=(d|0)){continue}break}if((g|0)<1){break a}M(a,i,g<<2)}I=i+512|0}function P(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=I-16|0;I=d;j[d+12>>2]=c;c=-5;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{switch(b-4002|0){default:switch(b-10002|0){case 6:break o;case 0:break t;case 10:break u;case 8:break v;case 24:break c;case 22:break d;case 13:break f;case 26:break g;case 20:break h;case 14:break i;default:break a};case 1:case 2:case 3:case 5:case 6:case 7:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 27:case 28:case 30:case 31:case 32:case 33:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:break a;case 26:break j;case 45:break k;case 44:break l;case 35:break m;case 34:break n;case 0:break p;case 4:break q;case 18:break r;case 12:break s;case 8:break w;case 29:break e}}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>10){break a}j[a+24>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if((b|0)<0|(b|0)>=j[j[a>>2]+8>>2]){break a}j[a+32>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if((b|0)<1|(b|0)>j[j[a>>2]+8>>2]){break a}j[a+36>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>2){break a}j[a+12>>2]=!b;j[a+20>>2]=(b|0)!=2;break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>100){break a}j[a+56>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;j[a+52>>2]=j[b>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;j[a+44>>2]=j[b>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;b=j[b>>2];if((b|0)<=500){c=-1;if((b|0)!=-1){break a}}c=a;a=p(j[a+4>>2],26e4);j[c+40>>2]=(a|0)>(b|0)?b:a;break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if(b-1>>>0>1){break a}j[a+8>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if(b-8>>>0>16){break a}j[a+60>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;j[j[b>>2]>>2]=j[a+60>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>1){break a}j[a+68>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+68>>2];break b}c=0;b=j[a+4>>2];e=j[a>>2];f=j[e+4>>2];g=j[e+8>>2];O(a+76|0,0,p(b,((f<<2)+(g<<4)|0)+4096|0)+168|0);e=p(b,j[e+8>>2]);if((e|0)>=1){h=(p(b,f+1024|0)<<2)+a|0;f=p(b,g)<<2;b=(h+f|0)+244|0;f=b+f|0;while(1){g=c<<2;j[g+f>>2]=-1042284544;j[b+g>>2]=-1042284544;c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=0;j[a+216>>2]=0;j[a+96>>2]=0;j[a+100>>2]=0;j[a+88>>2]=256;j[a+80>>2]=2;j[a+84>>2]=1065353216;break a}b=j[d+12>>2];j[d+12>>2]=b+4;j[a+48>>2]=j[b>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=0;b=j[b>>2];if(!b){break a}e=j[b+4>>2];j[a+120>>2]=j[b>>2];j[a+124>>2]=e;e=j[b+60>>2];j[a+176>>2]=j[b+56>>2];j[a+180>>2]=e;e=j[b+52>>2];j[a+168>>2]=j[b+48>>2];j[a+172>>2]=e;e=j[b+44>>2];j[a+160>>2]=j[b+40>>2];j[a+164>>2]=e;e=j[b+36>>2];j[a+152>>2]=j[b+32>>2];j[a+156>>2]=e;e=j[b+28>>2];j[a+144>>2]=j[b+24>>2];j[a+148>>2]=e;e=j[b+20>>2];j[a+136>>2]=j[b+16>>2];j[a+140>>2]=e;e=j[b+12>>2];j[a+128>>2]=j[b+8>>2];j[a+132>>2]=e;break a}b=j[d+12>>2];j[d+12>>2]=b+4;c=0;b=j[b>>2];if(!b){break a}e=j[b+4>>2];j[a+184>>2]=j[b>>2];j[a+188>>2]=e;break a}b=j[d+12>>2];j[d+12>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+76>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;j[a+64>>2]=j[b>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;j[a+236>>2]=j[b>>2]}c=0}I=d+16|0;return c}function mb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,o=0,r=0,s=q(0),t=q(0),u=0,v=0,w=0,x=0,y=0,z=0;b=j[a+8>>2];c=j[a+12>>2];g=(b>>>0)/(c>>>0)|0;j[a+36>>2]=g;d=p(j[a+16>>2],20);f=j[d+50884>>2];j[a+48>>2]=f;l=j[a+24>>2];e=j[d+50880>>2];j[a+24>>2]=e;j[a+40>>2]=b-p(c,g);v=j[a+28>>2];a:{b:{c:{if(b>>>0>c>>>0){n[a+44>>2]=q(n[d+50888>>2]*q(c>>>0))/q(b>>>0);d=(e>>>0)/(c>>>0)|0;e=e-p(d,c)|0;g=4294967295/(b>>>0)|0;if(e>>>0>g>>>0|d>>>0>g>>>0){break b}d=p(b,d);e=(p(b,e)>>>0)/(c>>>0)|0;if(d>>>0>(e^-1)>>>0){break b}e=(d+e|0)+7&-8;j[a+24>>2]=e;d=b>>>0>c<<1>>>0;g=b>>>0>c<<2>>>0;h=c<<3;f=f>>>d>>>g>>>(h>>>0>>0)|0;if(!(b>>>0<=h>>>0?!(d|g):0)){j[a+48>>2]=f}d=b>>>0>c<<4>>>0;b=f>>>d|0;if(b?!d:0){break c}f=b?b:1;j[a+48>>2]=f;break c}j[a+44>>2]=j[d+50892>>2]}b=p(c,e);d=p(e,f)+8|0;d:{if(b>>>0<=d>>>0){g=1;if(536870911/(c>>>0)>>>0>=e>>>0){break d}}g=0;b=d;if(536870903/(f>>>0)>>>0>>0){break b}}if(m[a+80>>2]>>0){d=Ta(j[a+76>>2],b<<2);if(!d){break b}j[a+80>>2]=b;j[a+76>>2]=d}d=a;e:{f:{g:{if(!g){c=-4;b=j[a+24>>2];e=j[a+48>>2];g=p(b,e)+4|0;if((g|0)>-4){break g}f=j[a+16>>2];break f}b=j[a+24>>2];e=j[a+12>>2];if(e){g=(b|0)/-2|0;s=q(e>>>0);f=0;while(1){if(b){h=p(b,f);t=q(q(f>>>0)/s);i=j[p(j[a+16>>2],20)+50896>>2];k=j[a+76>>2];c=0;while(1){o=k+(c+h<<2)|0;c=c+1|0;n[o>>2]=lb(n[a+44>>2],q(q(g+c|0)-t),b,i);if((b|0)!=(c|0)){continue}break}}f=f+1|0;if((e|0)!=(f|0)){continue}break}}o=j[a+16>>2]>8?5:6;break e}s=q(b>>>1>>>0);f=j[a+16>>2];h=j[p(f,20)+50896>>2];t=q(e>>>0);e=j[a+76>>2];while(1){n[(e+(c<<2)|0)+16>>2]=lb(n[a+44>>2],q(q(q(c|0)/t)-s),b,h);c=c+1|0;if((g|0)!=(c|0)){continue}break}}o=(f|0)>8?7:8}j[d+84>>2]=o;d=(j[a+32>>2]+b|0)-1|0;b=j[a+28>>2];if(d>>>0>b>>>0){b=j[a+20>>2];if(d>>>0>536870911/(b>>>0)>>>0){break b}b=Ta(j[a+72>>2],p(b,d)<<2);if(!b){break b}j[a+28>>2]=d;j[a+72>>2]=b;b=d}if(!j[a+56>>2]){b=p(j[a+20>>2],b);if(!b){return 0}O(j[a+72>>2],0,b<<2);return 0}b=j[a+24>>2];if(l>>>0>>0){f=j[a+20>>2];if(!f){return 0}w=l-1|0;x=(f<<2)-4|0;y=j[a+68>>2];g=0;while(1){f=f-1|0;u=f<<2;h=u+y|0;b=j[h>>2];e=b<<1;c=b+w|0;if(c){i=p(f,v);k=p(j[a+28>>2],f);d=j[a+72>>2];while(1){c=c-1|0;j[d+(k+(b+c|0)<<2)>>2]=j[d+(c+i<<2)>>2];if(c){continue}break}}i=x-(g<<2)|0;if(b){O(j[a+72>>2]+p(i,j[a+28>>2])|0,0,b<<2)}j[h>>2]=0;d=e+l|0;e=j[a+24>>2];h:{if(d>>>0>>0){h=d-1|0;if(h){z=e-2|0;o=d-2|0;k=p(j[a+28>>2],f);r=j[a+72>>2];c=0;b=0;while(1){j[r+(k+(c+z|0)<<2)>>2]=j[r+(k+(c+o|0)<<2)>>2];c=b^-1;b=b+1|0;if((h|0)!=(b|0)){continue}break}}b=e-1|0;if(b>>>0>h>>>0){O(j[a+72>>2]+p(i,j[a+28>>2])|0,0,b-h<<2)}b=j[a+60>>2]+u|0;j[b>>2]=j[b>>2]+(e-d>>>1|0);break h}b=d-e>>>1|0;j[h>>2]=b;c=b-1|0;d=j[a+24>>2];if((c|0)==(0-d|0)){break h}d=c+d|0;e=d>>>0>1?d:1;h=p(j[a+28>>2],f);d=j[a+72>>2];c=0;while(1){i=c+h|0;j[d+(i<<2)>>2]=j[d+(b+i<<2)>>2];c=c+1|0;if((e|0)!=(c|0)){continue}break}}g=g+1|0;if(f){continue}break}return 0}d=0;if(!j[a+20>>2]|b>>>0>=l>>>0){break a}g=j[a+68>>2];f=0;while(1){d=g+(f<<2)|0;c=j[d>>2];b=l-b>>>1|0;j[d>>2]=b;h=b+c|0;c=h-1|0;e=j[a+24>>2];if((c|0)!=(0-e|0)){c=c+e|0;i=c>>>0>1?c:1;k=p(j[a+28>>2],f);e=j[a+72>>2];c=0;while(1){r=c+k|0;j[e+(r<<2)>>2]=j[e+(b+r<<2)>>2];c=c+1|0;if((i|0)!=(c|0)){continue}break}}j[d>>2]=h;f=f+1|0;if(f>>>0>=m[a+20>>2]){return 0}else{b=j[a+24>>2];continue}}}j[a+24>>2]=l;j[a+84>>2]=9;d=1}return d}function vd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;h=I-560|0;I=h;f=c;c=(c-3|0)/24|0;u=(c|0)>0?c:0;l=f+p(u,-24)|0;n=j[8357];i=d-1|0;if((n+i|0)>=0){f=d+n|0;c=u-i|0;while(1){o[(h+320|0)+(g<<3)>>3]=(c|0)<0?0:+j[(c<<2)+33440>>2];c=c+1|0;g=g+1|0;if((f|0)!=(g|0)){continue}break}}q=l-24|0;f=0;g=(n|0)>0?n:0;m=(d|0)<1;while(1){a:{if(m){e=0;break a}k=f+i|0;c=0;e=0;while(1){e=e+o[(c<<3)+a>>3]*o[(h+320|0)+(k-c<<3)>>3];c=c+1|0;if((d|0)!=(c|0)){continue}break}}o[(f<<3)+h>>3]=e;c=(f|0)==(g|0);f=f+1|0;if(!c){continue}break}z=47-l|0;w=48-l|0;A=l-25|0;f=n;b:{while(1){e=o[(f<<3)+h>>3];c=0;g=f;k=(f|0)<1;if(!k){while(1){m=(h+480|0)+(c<<2)|0;s=e;e=e*5.960464477539063e-8;c:{if(r(e)<2147483648){i=~~e;break c}i=-2147483648}e=+(i|0);s=s+e*-16777216;d:{if(r(s)<2147483648){i=~~s;break d}i=-2147483648}j[m>>2]=i;g=g-1|0;e=o[(g<<3)+h>>3]+e;c=c+1|0;if((f|0)!=(c|0)){continue}break}}e=ca(e,q);e=e+v(e*.125)*-8;e:{if(r(e)<2147483648){m=~~e;break e}m=-2147483648}e=e- +(m|0);f:{g:{h:{x=(q|0)<1;i:{if(!x){g=(f<<2)+h|0;i=j[g+476>>2];c=i>>w;t=g;g=i-(c<>2]=g;m=c+m|0;i=g>>z;break i}if(q){break h}i=j[((f<<2)+h|0)+476>>2]>>23}if((i|0)<1){break f}break g}i=2;if(!(e>=.5^1)){break g}i=0;break f}c=0;g=0;if(!k){while(1){t=(h+480|0)+(c<<2)|0;y=j[t>>2];k=16777215;j:{k:{if(g){break k}k=16777216;if(y){break k}g=0;break j}j[t>>2]=k-y;g=1}c=c+1|0;if((f|0)!=(c|0)){continue}break}}l:{if(x){break l}m:{switch(A|0){case 0:c=(f<<2)+h|0;j[c+476>>2]=j[c+476>>2]&8388607;break l;case 1:break m;default:break l}}c=(f<<2)+h|0;j[c+476>>2]=j[c+476>>2]&4194303}m=m+1|0;if((i|0)!=2){break f}e=1-e;i=2;if(!g){break f}e=e-ca(1,q)}if(e==0){g=0;n:{c=f;if((n|0)>=(c|0)){break n}while(1){c=c-1|0;g=j[(h+480|0)+(c<<2)>>2]|g;if((c|0)>(n|0)){continue}break}if(!g){break n}l=q;while(1){l=l-24|0;f=f-1|0;if(!j[(h+480|0)+(f<<2)>>2]){continue}break}break b}c=1;while(1){g=c;c=c+1|0;if(!j[(h+480|0)+(n-g<<2)>>2]){continue}break}g=f+g|0;while(1){i=d+f|0;f=f+1|0;o[(h+320|0)+(i<<3)>>3]=j[(u+f<<2)+33440>>2];c=0;e=0;if((d|0)>=1){while(1){e=e+o[(c<<3)+a>>3]*o[(h+320|0)+(i-c<<3)>>3];c=c+1|0;if((d|0)!=(c|0)){continue}break}}o[(f<<3)+h>>3]=e;if((f|0)<(g|0)){continue}break}f=g;continue}break}e=ca(e,24-l|0);o:{if(!(e>=16777216^1)){d=(h+480|0)+(f<<2)|0;s=e;e=e*5.960464477539063e-8;p:{if(r(e)<2147483648){c=~~e;break p}c=-2147483648}e=s+ +(c|0)*-16777216;q:{if(r(e)<2147483648){a=~~e;break q}a=-2147483648}j[d>>2]=a;f=f+1|0;break o}if(r(e)<2147483648){c=~~e}else{c=-2147483648}l=q}j[(h+480|0)+(f<<2)>>2]=c}e=ca(1,l);r:{if((f|0)<=-1){break r}c=f;while(1){o[(c<<3)+h>>3]=e*+j[(h+480|0)+(c<<2)>>2];e=e*5.960464477539063e-8;a=(c|0)>0;c=c-1|0;if(a){continue}break}k=0;if((f|0)<0){break r}a=(n|0)>0?n:0;g=f;while(1){d=a>>>0>>0?a:k;l=f-g|0;c=0;e=0;while(1){e=e+o[(c<<3)+36208>>3]*o[(c+g<<3)+h>>3];q=(c|0)!=(d|0);c=c+1|0;if(q){continue}break}o[(h+160|0)+(l<<3)>>3]=e;g=g-1|0;c=(f|0)!=(k|0);k=k+1|0;if(c){continue}break}}e=0;if((f|0)>=0){c=f;while(1){e=e+o[(h+160|0)+(c<<3)>>3];a=(c|0)>0;c=c-1|0;if(a){continue}break}}o[b>>3]=i?-e:e;e=o[h+160>>3]-e;c=1;if((f|0)>=1){while(1){e=e+o[(h+160|0)+(c<<3)>>3];a=(c|0)!=(f|0);c=c+1|0;if(a){continue}break}}o[b+8>>3]=i?-e:e;I=h+560|0;return m&7}function X(a,b,c,d,e,f,g,h,i,l,m){var o=0,r=0,s=0,t=0,u=0,v=q(0),w=0,x=0,z=q(0),A=0,B=0,C=0,D=0,E=0,F=0;u=(c>>>0)/(e>>>0)|0;E=j[a>>2];a:{if((c|0)==1){f=0;if(j[a+32>>2]>=8){c=j[a+28>>2];b:{if(E){f=n[b>>2]>2]=j[a+32>>2]-8}if(j[a+4>>2]){n[b>>2]=f?q(-1):q(1)}m=1;if(!h){break a}j[h>>2]=j[b>>2];return 1}B=j[a+24>>2];o=(B|0)>0;c:{if(!f){l=f;break c}if(!l){l=f;break c}if(!(!(u&1)&(B|0)!=0|((B|0)>0|(e|0)>1))){l=f;break c}M(l,f,c<<2)}w=o?B:0;if((B|0)>=1){o=0;while(1){d:{if(E){if((o|0)==31){break d}r=c>>o;f=r>>1;C=(f|0)>1?f:1;A=1<=2){while(1){t=(p(f,D)+s<<2)+b|0;v=q(n[t>>2]*q(.7071067690849304));x=t;t=(((f<<1|1)<>2]*q(.7071067690849304));n[x>>2]=v+z;n[t>>2]=v-z;f=f+1|0;if((C|0)!=(f|0)){continue}break}}s=s+1|0;if((A|0)!=(s|0)){continue}break}}if(!l|(o|0)==31){break d}r=c>>o;f=r>>1;C=(f|0)>1?f:1;A=1<=2){while(1){t=(p(f,D)+s<<2)+l|0;v=q(n[t>>2]*q(.7071067690849304));x=t;t=(((f<<1|1)<>2]*q(.7071067690849304));n[x>>2]=v+z;n[t>>2]=v-z;f=f+1|0;if((C|0)!=(f|0)){continue}break}}s=s+1|0;if((A|0)!=(s|0)){continue}break}}m=k[(m&15)+41920|0]|k[(m>>4)+41920|0]<<2;o=o+1|0;if((w|0)!=(o|0)){continue}break}}o=e>>w;A=0;r=u<-1)){C=B;while(1){if(!(!E|(o|0)<1)){f=r>>1;u=(f|0)>1?f:1;D=o<<1;s=0;while(1){f=0;if((r|0)>=2){while(1){t=(p(f,D)+s<<2)+b|0;v=q(n[t>>2]*q(.7071067690849304));x=t;t=(p(f<<1|1,o)+s<<2)+b|0;z=q(n[t>>2]*q(.7071067690849304));n[x>>2]=v+z;n[t>>2]=v-z;f=f+1|0;if((u|0)!=(f|0)){continue}break}}s=s+1|0;if((s|0)!=(o|0)){continue}break}}u=r>>1;if(!(!l|(o|0)<1)){D=(u|0)>1?u:1;t=o<<1;s=0;while(1){f=0;if((r|0)>=2){while(1){x=(p(f,t)+s<<2)+l|0;v=q(n[x>>2]*q(.7071067690849304));F=x;x=(p(f<<1|1,o)+s<<2)+l|0;z=q(n[x>>2]*q(.7071067690849304));n[F>>2]=v+z;n[x>>2]=v-z;f=f+1|0;if((D|0)!=(f|0)){continue}break}}s=s+1|0;if((s|0)!=(o|0)){continue}break}}A=A+1|0;f=o<<1;m=m<>w,f<>w,f<>2]){break a}if((f|0)>=2){hd(b,u>>w,f<>1;e=m>>>a|0;if((f|0)>=2){g=u>>1;g=(g|0)>1?g:1;o=f&-2;l=0;while(1){f=0;if((u|0)>=2){while(1){r=(p(f,o)+l<<2)+b|0;i=q(n[r>>2]*q(.7071067690849304));t=r;r=(p(f<<1|1,a)+l<<2)+b|0;v=q(n[r>>2]*q(.7071067690849304));n[t>>2]=i+v;n[r>>2]=i-v;f=f+1|0;if((g|0)!=(f|0)){continue}break}}l=l+1|0;if((l|0)!=(a|0)){continue}break}}m=e|m;f=a;d=d+1|0;if((A|0)!=(d|0)){continue}break}}o=0;if((B|0)>0){while(1){m=k[m+41936|0];if((o|0)!=31){d=c>>o;e=d>>1;e=(e|0)>1?e:1;g=1<=2){while(1){r=(p(f,u)+l<<2)+b|0;i=q(n[r>>2]*q(.7071067690849304));t=r;r=(((f<<1|1)<>2]*q(.7071067690849304));n[t>>2]=i+v;n[r>>2]=i-v;f=f+1|0;if((e|0)!=(f|0)){continue}break}}l=l+1|0;if((g|0)!=(l|0)){continue}break}}o=o+1|0;if((w|0)!=(o|0)){continue}break}}a=a<>2]=n[b+d>>2]*i;f=f+1|0;if((f|0)!=(c|0)){continue}break}}m=(-1<>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=j[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=j[d+8>>2];b=b>>>3|0;c=j[d+12>>2];if((c|0)==(e|0)){j[13232]=j[13232]&ke(-2,b);break b}j[e+12>>2]=c;j[c+8>>2]=e;break b}h=j[d+24>>2];b=j[d+12>>2];c:{if((d|0)!=(b|0)){c=j[d+8>>2];j[c+12>>2]=b;j[b+8>>2]=c;break c}d:{e=d+20|0;c=j[e>>2];if(c){break d}e=d+16|0;c=j[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=j[e>>2];if(c){continue}e=b+16|0;c=j[b+16>>2];if(c){continue}break}j[g>>2]=0}if(!h){break b}e=j[d+28>>2];c=(e<<2)+53232|0;e:{if(j[c>>2]==(d|0)){j[c>>2]=b;if(b){break e}j[13233]=j[13233]&ke(-2,e);break b}j[h+(j[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}j[b+24>>2]=h;c=j[d+16>>2];if(c){j[b+16>>2]=c;j[c+24>>2]=b}c=j[d+20>>2];if(!c){break b}j[b+20>>2]=c;j[c+24>>2]=b;break b}b=j[f+4>>2];if((b&3)!=3){break b}j[13234]=a;j[f+4>>2]=b&-2;j[d+4>>2]=a|1;j[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=j[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(j[13238]==(f|0)){j[13238]=d;a=j[13235]+a|0;j[13235]=a;j[d+4>>2]=a|1;if(j[13237]!=(d|0)){break a}j[13234]=0;j[13237]=0;return}if(j[13237]==(f|0)){j[13237]=d;a=j[13234]+a|0;j[13234]=a;j[d+4>>2]=a|1;j[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){c=j[f+8>>2];b=b>>>3|0;e=j[f+12>>2];if((c|0)==(e|0)){j[13232]=j[13232]&ke(-2,b);break g}j[c+12>>2]=e;j[e+8>>2]=c;break g}h=j[f+24>>2];b=j[f+12>>2];h:{if((f|0)!=(b|0)){c=j[f+8>>2];j[c+12>>2]=b;j[b+8>>2]=c;break h}i:{e=f+20|0;c=j[e>>2];if(c){break i}e=f+16|0;c=j[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=j[e>>2];if(c){continue}e=b+16|0;c=j[b+16>>2];if(c){continue}break}j[g>>2]=0}if(!h){break g}e=j[f+28>>2];c=(e<<2)+53232|0;j:{if(j[c>>2]==(f|0)){j[c>>2]=b;if(b){break j}j[13233]=j[13233]&ke(-2,e);break g}j[h+(j[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}j[b+24>>2]=h;c=j[f+16>>2];if(c){j[b+16>>2]=c;j[c+24>>2]=b}c=j[f+20>>2];if(!c){break g}j[b+20>>2]=c;j[c+24>>2]=b}j[d+4>>2]=a|1;j[a+d>>2]=a;if(j[13237]!=(d|0)){break f}j[13234]=a;return}j[f+4>>2]=b&-2;j[d+4>>2]=a|1;j[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;b=(a<<3)+52968|0;c=j[13232];a=1<>2]}j[b+8>>2]=d;j[a+12>>2]=d;j[d+12>>2]=b;j[d+8>>2]=a;return}e=31;j[d+16>>2]=0;j[d+20>>2]=0;if(a>>>0<=16777215){b=a>>>8|0;g=b+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15|0)-(c|(e|g))|0;e=(b<<1|a>>>b+21&1)+28|0}j[d+28>>2]=e;g=(e<<2)+53232|0;l:{m:{c=j[13233];b=1<>2]=d;j[d+24>>2]=g;break n}e=a<<((e|0)==31?0:25-(e>>>1|0)|0);b=j[g>>2];while(1){c=b;if((j[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=j[g+16>>2];if(b){continue}break}j[g+16>>2]=d;j[d+24>>2]=c}j[d+12>>2]=d;j[d+8>>2]=d;break l}a=j[c+8>>2];j[a+12>>2]=d;j[c+8>>2]=d;j[d+24>>2]=0;j[d+12>>2]=c;j[d+8>>2]=a}a=j[13240]-1|0;j[13240]=a?a:-1}}function Tb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;f=a+b|0;a:{b:{c=j[a+4>>2];if(c&1){break b}if(!(c&3)){break a}c=j[a>>2];b=c+b|0;a=a-c|0;if((a|0)!=j[13237]){if(c>>>0<=255){e=j[a+8>>2];c=c>>>3|0;d=j[a+12>>2];if((d|0)==(e|0)){j[13232]=j[13232]&ke(-2,c);break b}j[e+12>>2]=d;j[d+8>>2]=e;break b}h=j[a+24>>2];c=j[a+12>>2];c:{if((c|0)!=(a|0)){d=j[a+8>>2];j[d+12>>2]=c;j[c+8>>2]=d;break c}d:{e=a+20|0;d=j[e>>2];if(d){break d}e=a+16|0;d=j[e>>2];if(d){break d}c=0;break c}while(1){g=e;c=d;e=c+20|0;d=j[e>>2];if(d){continue}e=c+16|0;d=j[c+16>>2];if(d){continue}break}j[g>>2]=0}if(!h){break b}e=j[a+28>>2];d=(e<<2)+53232|0;e:{if(j[d>>2]==(a|0)){j[d>>2]=c;if(c){break e}j[13233]=j[13233]&ke(-2,e);break b}j[h+(j[h+16>>2]==(a|0)?16:20)>>2]=c;if(!c){break b}}j[c+24>>2]=h;d=j[a+16>>2];if(d){j[c+16>>2]=d;j[d+24>>2]=c}d=j[a+20>>2];if(!d){break b}j[c+20>>2]=d;j[d+24>>2]=c;break b}c=j[f+4>>2];if((c&3)!=3){break b}j[13234]=b;j[f+4>>2]=c&-2;j[a+4>>2]=b|1;j[f>>2]=b;return}c=j[f+4>>2];f:{if(!(c&2)){if(j[13238]==(f|0)){j[13238]=a;b=j[13235]+b|0;j[13235]=b;j[a+4>>2]=b|1;if(j[13237]!=(a|0)){break a}j[13234]=0;j[13237]=0;return}if(j[13237]==(f|0)){j[13237]=a;b=j[13234]+b|0;j[13234]=b;j[a+4>>2]=b|1;j[a+b>>2]=b;return}b=(c&-8)+b|0;g:{if(c>>>0<=255){e=j[f+8>>2];c=c>>>3|0;d=j[f+12>>2];if((d|0)==(e|0)){j[13232]=j[13232]&ke(-2,c);break g}j[e+12>>2]=d;j[d+8>>2]=e;break g}h=j[f+24>>2];c=j[f+12>>2];h:{if((f|0)!=(c|0)){d=j[f+8>>2];j[d+12>>2]=c;j[c+8>>2]=d;break h}i:{d=f+20|0;e=j[d>>2];if(e){break i}d=f+16|0;e=j[d>>2];if(e){break i}c=0;break h}while(1){g=d;c=e;d=c+20|0;e=j[d>>2];if(e){continue}d=c+16|0;e=j[c+16>>2];if(e){continue}break}j[g>>2]=0}if(!h){break g}e=j[f+28>>2];d=(e<<2)+53232|0;j:{if(j[d>>2]==(f|0)){j[d>>2]=c;if(c){break j}j[13233]=j[13233]&ke(-2,e);break g}j[h+(j[h+16>>2]==(f|0)?16:20)>>2]=c;if(!c){break g}}j[c+24>>2]=h;d=j[f+16>>2];if(d){j[c+16>>2]=d;j[d+24>>2]=c}d=j[f+20>>2];if(!d){break g}j[c+20>>2]=d;j[d+24>>2]=c}j[a+4>>2]=b|1;j[a+b>>2]=b;if(j[13237]!=(a|0)){break f}j[13234]=b;return}j[f+4>>2]=c&-2;j[a+4>>2]=b|1;j[a+b>>2]=b}if(b>>>0<=255){b=b>>>3|0;c=(b<<3)+52968|0;d=j[13232];b=1<>2]}j[c+8>>2]=a;j[b+12>>2]=a;j[a+12>>2]=c;j[a+8>>2]=b;return}e=31;j[a+16>>2]=0;j[a+20>>2]=0;if(b>>>0<=16777215){c=b>>>8|0;g=c+1048320>>>16&8;c=c<>>16&4;c=c<>>16&2;c=(c<>>15|0)-(d|(e|g))|0;e=(c<<1|b>>>c+21&1)+28|0}j[a+28>>2]=e;g=(e<<2)+53232|0;l:{d=j[13233];c=1<>2]=a;j[a+24>>2]=g;break m}e=b<<((e|0)==31?0:25-(e>>>1|0)|0);c=j[g>>2];while(1){d=c;if((j[c+4>>2]&-8)==(b|0)){break l}c=e>>>29|0;e=e<<1;g=d+(c&4)|0;c=j[g+16>>2];if(c){continue}break}j[g+16>>2]=a;j[a+24>>2]=d}j[a+12>>2]=a;j[a+8>>2]=a;return}b=j[d+8>>2];j[b+12>>2]=a;j[d+8>>2]=a;j[a+24>>2]=0;j[a+12>>2]=d;j[a+8>>2]=b}}function Zc(a,b,c,d,e,f,g,k,l,m,o){var s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=q(0),G=0,H=0,J=0,K=q(0),L=0,N=0,O=q(0),P=0,Q=0,R=q(0),S=0;s=I;L=s;z=1;t=(b<<2)+15&-16;D=s-t|0;I=D;s=j[a+32>>2];G=b-1|0;v=(i[s+(b<<1)>>1]-i[(G<<1)+s>>1]<=1){K=q(q(u(q(q(.5)-l),q(-.25)))*q(.03999999910593033));O=q(K*q((c?k:0)|0));E=1<>1];y=i[(B<<1)+s>>1]-g|0;v=y<>2])));s=s+1|0;if((v|0)!=(s|0)){continue}break}}F=q(l+q(O*l));s=0;g=0;a:{if(!c){break a}g=0;if((y|0)==1){break a}g=M(A,x,t);zb(g,v>>k,E);t=0;l=q(0);if(!C){while(1){l=q(l+q(r(n[g+(t<<2)>>2])));t=t+1|0;if((v|0)!=(t|0)){continue}break}}l=q(l+q(R*l));g=0;if(l=1){while(1){zb(x,v>>s,1<>2])));s=s+1|0;if((v|0)!=(s|0)){continue}break}}l=q(l+q(q(K*q(S|0))*l));s=l>2]=g;if(!(((g|0)!=(Q|0)?g:0)|y)){j[m>>2]=g-1}if((b|0)!=(B|0)){s=j[a+32>>2];m=B;continue}break}B=j[D>>2]}f=(k<<3)+1744|0;v=c<<2;x=h[f+v|0]<<1;g=B-x|0;a=g>>31;m=j[o>>2];s=p(m,a^a+g);y=h[f+(v|1)|0]<<1;g=B-y|0;a=g>>31;C=c?0:e;a=C+p(m,a^a+g)|0;b:{if((b|0)<=1){g=a;break b}while(1){g=e+s|0;w=z<<2;A=j[w+D>>2];E=A-x|0;t=E>>31;w=j[o+w>>2];E=p(w,t^t+E);t=a+e|0;s=E+((s|0)<(t|0)?s:t)|0;A=A-y|0;t=A>>31;g=p(t^t+A,w)+((a|0)>(g|0)?g:a)|0;a=g;z=z+1|0;if((z|0)!=(b|0)){continue}break}}t=1;x=h[f+(v|2)|0]<<1;z=B-x|0;a=z>>31;a=p(m,a^a+z);z=h[f+(v|3)|0]<<1;y=B-z|0;f=y>>31;f=p(m,f^f+y)+C|0;y=(g|0)>(s|0)?s:g;c:{if((b|0)<=1){s=f;break c}while(1){g=a+e|0;C=t<<2;w=j[C+D>>2];A=w-x|0;s=A>>31;C=j[o+C>>2];A=p(C,s^s+A);s=e+f|0;a=A+((a|0)<(s|0)?a:s)|0;w=w-z|0;s=w>>31;s=p(s^s+w,C)+((f|0)>(g|0)?g:f)|0;f=s;t=t+1|0;if((t|0)!=(b|0)){continue}break}}t=1;g=(k<<3)+1744|0;f=(c|0)!=0&(y|0)>(((a|0)<(s|0)?a:s)|0);k=v|(f?2:0);v=h[g+k|0]<<1;s=B-v|0;a=s>>31;s=p(m,a^a+s);a=B;B=h[g+(k|1)|0]<<1;g=a-B|0;a=g>>31;a=p(a^a+g,m)+(c?0:e)|0;if((b|0)<=1){j[(G<<2)+d>>2]=(a|0)<=(s|0);I=L;return f}while(1){c=t<<2;g=a+e|0;j[c+H>>2]=(g|0)<=(s|0);k=e+s|0;j[c+J>>2]=(k|0)>=(a|0);x=j[c+D>>2];z=x-B|0;m=z>>31;w=m^m+z;m=j[c+o>>2];a=p(w,m)+((a|0)>(k|0)?k:a)|0;k=x-v|0;c=k>>31;s=p(m,c^c+k)+((g|0)>(s|0)?s:g)|0;t=t+1|0;if((t|0)!=(b|0)){continue}break}a=(a|0)<=(s|0);j[(G<<2)+d>>2]=a;if((b|0)>=2){s=b-2|0;while(1){b=s<<2;a=j[(b+((a|0)==1?J:H)|0)+4>>2];j[b+d>>2]=a;b=(s|0)>0;s=s-1|0;if(b){continue}break}}I=L;return f}function Xc(a,b,c){var d=0,e=0,f=q(0),g=q(0),h=q(0),i=0,k=0,l=q(0),m=0,o=q(0),p=0,r=0,s=0,v=q(0),w=0,x=q(0),y=q(0);e=j[a+8>>2];i=j[a+7452>>2]+((c|0)/((e|0)/400|0)|0)|0;j[a+7452>>2]=i;m=j[a+7444>>2];k=j[a+7448>>2];p=k;if((i|0)>=8){d=(i-((i|0)<15?i:15)|0)+7|0;p=(k+(d>>>3|0)|0)+1|0;j[a+7448>>2]=p;j[a+7452>>2]=(i-(d&-8)|0)-8}if((p|0)>=100){j[a+7448>>2]=p-100}p=6;d=k+1|0;c=(k|0)==(m|0)?k:((e|0)/50|0)>=(c|0)?k:(d|0)==100?0:d;c=c-((c|0)==(m|0))|0;c=(c|0)<0?99:c;i=(c<<6)+a|0;e=i+7660|0;d=j[e+4>>2];j[b+56>>2]=j[e>>2];j[b+60>>2]=d;e=i+7652|0;d=j[e+4>>2];j[b+48>>2]=j[e>>2];j[b+52>>2]=d;e=i+7644|0;d=j[e+4>>2];j[b+40>>2]=j[e>>2];j[b+44>>2]=d;e=i+7636|0;d=j[e+4>>2];j[b+32>>2]=j[e>>2];j[b+36>>2]=d;e=i+7628|0;d=j[e+4>>2];j[b+24>>2]=j[e>>2];j[b+28>>2]=d;e=i+7620|0;d=j[e+4>>2];j[b+16>>2]=j[e>>2];j[b+20>>2]=d;e=i+7612|0;d=j[e+4>>2];j[b+8>>2]=j[e>>2];j[b+12>>2]=d;d=i+7604|0;e=j[d+4>>2];d=j[d>>2];j[b>>2]=d;j[b+4>>2]=e;if(d){w=m-k|0;i=(w|0)<0;m=w+100|0;f=n[b+4>>2];g=q(1);s=c+1|0;k=(s|0)==100?0:s;r=j[a+7444>>2];a:{if((k|0)==(r|0)){h=f;break a}d=(k<<6)+a|0;g=n[d+7608>>2];e=j[b+32>>2];d=j[d+7636>>2];e=(d|0)<(e|0)?e:d;j[b+32>>2]=e;h=f>g?f:g;f=q(f+g);d=k+1|0;k=(d|0)==100?0:d;if((k|0)==(r|0)){p=5;g=q(2);break a}d=(k<<6)+a|0;g=n[d+7608>>2];d=j[d+7636>>2];e=(d|0)<(e|0)?e:d;j[b+32>>2]=e;h=g>2];d=j[d+7636>>2];j[b+32>>2]=(d|0)<(e|0)?e:d;h=g>2];m=j[((e<<6)+a|0)+7636>>2];j[b+32>>2]=(i|0)>(m|0)?i:m;d=d+1|0;if((p|0)!=(d|0)){continue}}break}f=q(f/g);h=q(h+q(-.20000000298023224));n[b+4>>2]=f>h?f:h;d=c;e=d;if((k|0)>=16){d=((c|0)>94?-95:5)+c|0;s=d+1|0;e=((c|0)>98?-99:1)+c|0}m=a+7604|0;x=n[(m+(e<<6)|0)+36>>2];f=q(u(x,q(.10000000149011612)));h=q(n[(m+(d<<6)|0)+20>>2]*f);d=(s|0)==100?0:s;b:{if((r|0)==(d|0)){g=q(1);break b}g=q(1);while(1){e=e+1|0;e=(e|0)==100?0:e;if((r|0)==(e|0)){break b}y=n[(m+(e<<6)|0)+36>>2];v=q(q(x-y)*q(10));l=q(q(h+v)/f);o=l>o?l:o;l=q(q(h-v)/f);g=g>l?l:g;l=q(u(y,q(.10000000149011612)));h=q(h+q(n[(m+(d<<6)|0)+20>>2]*l));f=q(f+l);d=d+1|0;d=(d|0)==100?0:d;if((r|0)!=(d|0)){continue}break}}f=q(h/f);n[b+20>>2]=f;h=f>o?f:o;o=hq(0)?h:q(0);if((k|0)<=9){h=f;g=o;d=j[a+7436>>2];if((d|0)>=2){d=(d|0)>15?15:d-1|0;d=(d|0)>1?d:1;e=0;while(1){c=(c|0)<1?99:c-1|0;l=n[((c<<6)+a|0)+7624>>2];g=g>l?g:l;h=h>2]=o;n[b+24>>2]=f}}function Ib(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=q(0),J=q(0),K=q(0);h=I-992|0;I=h;g=p(d,e);if((g|0)<385){x=S(b,g);O(h+800|0,0,192);if((e|0)>=1){while(1){g=1;if((f|0)>=1){m=(p(d,i)<<2)+b|0;while(1){r=(g<<3)+h|0;o[r+792>>3]=da(m,m+(g<<2)|0,d-g|0)+o[r+792>>3];r=(f|0)!=(g|0);g=g+1|0;if(r){continue}break}}i=i+1|0;if((i|0)!=(e|0)){continue}break}}M(h+608|0,h+800|0,192);G=x*9999999747378752e-21;l=x+G+9.999999717180685e-10;o[h+192>>3]=l;o[h+400>>3]=l;a:{b:{if((f|0)<1){j=1;break b}A=+c;i=0;C=2;B=1;u=1;while(1){if((e|0)>=1){v=d-i|0;w=v-1|0;r=0;while(1){m=(p(d,r)<<2)+b|0;c=n[m+(w<<2)>>2];j=+c;H=n[m+(i<<2)>>2];l=+H;g=0;if(i){while(1){t=g<<3;s=t+(h+800|0)|0;J=n[m+((g^-1)+i<<2)>>2];o[s>>3]=o[s>>3]- +q(H*J);s=t+(h+608|0)|0;K=n[m+(g+v<<2)>>2];o[s>>3]=o[s>>3]- +q(c*K);k=o[h+t>>3];l=l+k*+J;j=j+k*+K;g=g+1|0;if((i|0)!=(g|0)){continue}break}}g=0;while(1){t=g<<3;s=t+(h+400|0)|0;o[s>>3]=o[s>>3]-l*+n[m+(i-g<<2)>>2];t=t+(h+192|0)|0;o[t>>3]=o[t>>3]-j*+n[m+(g+w<<2)>>2];g=g+1|0;if((B|0)!=(g|0)){continue}break}r=r+1|0;if((r|0)!=(e|0)){continue}break}}w=i<<3;l=o[w+(h+608|0)>>3];j=o[w+(h+800|0)>>3];g=0;if(i){while(1){k=o[(g<<3)+h>>3];m=(g^-1)+i<<3;l=l+k*o[m+(h+800|0)>>3];j=j+k*o[m+(h+608|0)>>3];g=g+1|0;if((i|0)!=(g|0)){continue}break}}m=i+1|0;g=m<<3;o[g+(h+400|0)>>3]=j;t=g+(h+192|0)|0;o[t>>3]=l;g=0;j=o[h+192>>3];D=o[h+400>>3];k=D;if(i){while(1){E=o[(g<<3)+h>>3];r=g+1|0;v=r<<3;k=k+E*o[v+(h+400|0)>>3];j=j+E*o[v+(h+192|0)>>3];l=l+E*o[(h+192|0)+(i-g<<3)>>3];g=r;if((i|0)!=(g|0)){continue}break}}r=1;j=l*-2/(k+j);k=u*(1-j*j);if(!(A>=k^1)){k=y(1-A/u);j=l>0?-k:k;r=0;k=A}if(m&2147483646){v=B>>>1|0;g=0;while(1){s=(g<<3)+h|0;u=o[s>>3];F=s;s=((g^-1)+i<<3)+h|0;l=o[s>>3];o[F>>3]=u+j*l;o[s>>3]=l+j*u;g=g+1|0;if((v|0)!=(g|0)){continue}break}}o[h+w>>3]=j;c:{if(r){u=o[t>>3];o[t>>3]=u+j*D;o[h+400>>3]=D+j*u;g=1;while(1){i=(h+192|0)+(m-g<<3)|0;u=o[i>>3];F=i;i=(h+400|0)+(g<<3)|0;l=o[i>>3];o[F>>3]=u+j*l;o[i>>3]=l+j*u;g=g+1|0;if((C|0)!=(g|0)){continue}break}break c}if((f|0)>(m|0)){O((m<<3)+h|0,0,f-m<<3)}g=0;while(1){n[(g<<2)+a>>2]=-q(o[(g<<3)+h>>3]);g=g+1|0;if((g|0)!=(f|0)){continue}break}g=0;if((e|0)>0){while(1){x=x-S((p(d,g)<<2)+b|0,f);g=g+1|0;if((g|0)!=(e|0)){continue}break}}k=k*x;break a}C=C+1|0;B=B+1|0;u=k;i=m;if((i|0)!=(f|0)){continue}break}j=1;l=o[h+400>>3];if((f|0)<1){break b}g=0;while(1){b=g+1|0;A=o[(h+400|0)+(b<<3)>>3];k=o[(g<<3)+h>>3];n[(g<<2)+a>>2]=-q(k);l=l+k*A;j=j+k*k;g=b;if((g|0)!=(f|0)){continue}break}}k=l-G*j}I=h+992|0;return q(k)}L(16463,16523,55);z()}function Ma(a,b,c){var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=I-320|0;I=f;a:{switch(c-10|0){default:L(15418,15451,89);z();case 0:case 6:break a}}g=(c|0)==16?15392:15408;while(1){h=i[(e<<1)+b>>1];d=h>>8<<1;l=i[d+15120>>1];j[(f+224|0)+(k[e+g|0]<<2)>>2]=(p(i[d+15122>>1]-l|0,h&255)+(l<<8)>>3)+1>>1;e=e+1|0;if((e|0)!=(c|0)){continue}break}g=65536;j[f+160>>2]=65536;b=0-j[f+224>>2]|0;j[f+164>>2]=b;e=1;m=c>>1;b:{v=(c|0)<4;if(v){break b}while(1){o=j[(f+224|0)+(e<<3)>>2];l=o;s=l;q=l>>31;l=ie(l,q,b,b>>31);h=J;d=h>>>15|0;h=((h&32767)<<17|l>>>15)+1|0;if(h>>>0<1){d=d+1|0}l=e+1|0;t=(f+160|0)+(l<<2)|0;j[t>>2]=(g<<1)-((d&1)<<31|h>>>1);d=e<<2;u=d+(f+160|0)|0;c:{if(e>>>0<2){break c}h=b;r=u;b=j[(d+f|0)+152>>2];n=h+b|0;g=ie(g,g>>31,s,q);h=J;d=h>>>15|0;g=((h&32767)<<17|g>>>15)+1|0;if(g>>>0<1){d=d+1|0}j[r>>2]=n-((d&1)<<31|g>>>1);if((e|0)==2){break c}while(1){g=e-1|0;d=(f+160|0)+(g<<2)|0;r=d;h=j[((e<<2)+f|0)+148>>2];w=h+j[d>>2]|0;b=ie(b,b>>31,s,q);n=J;d=n>>>15|0;b=((n&32767)<<17|b>>>15)+1|0;if(b>>>0<1){d=d+1|0}j[r>>2]=w-((d&1)<<31|b>>>1);d=(e|0)>3;e=g;b=h;if(d){continue}break}}j[f+164>>2]=j[f+164>>2]-o;if((l|0)==(m|0)){break b}b=j[t>>2];g=j[u>>2];e=l;continue}}g=65536;j[f+96>>2]=65536;b=0-j[f+228>>2]|0;j[f+100>>2]=b;d:{if(v){break d}v=f+224|4;e=1;while(1){o=j[v+(e<<3)>>2];l=o;s=l;q=l>>31;l=ie(l,q,b,b>>31);h=J;d=h>>>15|0;h=((h&32767)<<17|l>>>15)+1|0;if(h>>>0<1){d=d+1|0}l=e+1|0;t=(f+96|0)+(l<<2)|0;j[t>>2]=(g<<1)-((d&1)<<31|h>>>1);d=e<<2;u=d+(f+96|0)|0;e:{if(e>>>0<2){break e}h=b;r=u;b=j[(d+f|0)+88>>2];n=h+b|0;g=ie(g,g>>31,s,q);h=J;d=h>>>15|0;g=((h&32767)<<17|g>>>15)+1|0;if(g>>>0<1){d=d+1|0}j[r>>2]=n-((d&1)<<31|g>>>1);if((e|0)==2){break e}while(1){g=e-1|0;d=(f+96|0)+(g<<2)|0;r=d;h=j[((e<<2)+f|0)+84>>2];w=h+j[d>>2]|0;b=ie(b,b>>31,s,q);n=J;d=n>>>15|0;b=((n&32767)<<17|b>>>15)+1|0;if(b>>>0<1){d=d+1|0}j[r>>2]=w-((d&1)<<31|b>>>1);d=(e|0)>3;e=g;b=h;if(d){continue}break}}j[f+100>>2]=j[f+100>>2]-o;if((l|0)==(m|0)){break d}b=j[t>>2];g=j[u>>2];e=l;continue}}if((c|0)>=2){d=(m|0)>1?m:1;g=j[f+96>>2];b=j[f+160>>2];e=0;while(1){l=e+1|0;m=l<<2;h=j[m+(f+96|0)>>2];g=h-g|0;o=b;b=j[m+(f+160|0)>>2];m=o+b|0;j[(e<<2)+f>>2]=0-(g+m|0);j[((e^-1)+c<<2)+f>>2]=g-m;g=h;e=l;if((d|0)!=(e|0)){continue}break}}Zd(a,f,c);f:{if(Qb(a,c)){break f}b=0;while(1){Na(f,c,(-2<>1]=(j[(e<<2)+f>>2]>>>4|0)+1>>>1;e=e+1|0;if((e|0)!=(c|0)){continue}break}e=Qb(a,c);if(b>>>0>14){break f}b=b+1|0;if(!e){continue}break}}I=f+320|0}function Jb(a,b,c,d,e,f){var g=0,l=q(0),m=0,o=0,s=0,t=0,u=0,v=0,w=0,x=0;m=I-1008|0;I=m;a:{b:{v=j[a+4580>>2];if((v|0)<1){break b}s=j[a+4636>>2];u=(s|0)<1;while(1){if(!u){w=p(o,24);g=0;while(1){t=g+w|0;x=(m+48|0)+(t<<1)|0;l=je(q(n[((t<<2)+b|0)+244>>2]*q(8192)));c:{if(q(r(l))>1]=t;g=g+1|0;if((s|0)!=(g|0)){continue}break}}o=o+1|0;if((v|0)!=(o|0)){continue}break}o=0;if((v|0)<=0){break b}while(1){g=o<<2;s=g+b|0;l=je(q(n[s+644>>2]*q(16384)));d:{if(q(r(l))>2]*q(16384)));e:{if(q(r(l))>2]=u&65535|t<<16;u=g+(m+16|0)|0;l=je(q(n[s+660>>2]*q(16384)));f:{if(q(r(l))>2]=t;g=g+m|0;l=je(q(n[s+676>>2]*q(16384)));g:{if(q(r(l))>2]=t;o=o+1|0;if((v|0)!=(o|0)){continue}break}l=je(q(n[b+692>>2]*q(1024)));h:{if(q(r(l))1?g:1;g=0;while(1){u=(m+240|0)+(g<<1)|0;l=je(q(n[((g<<2)+b|0)+144>>2]*q(16384)));i:{if(q(r(l))>1]=o;g=g+1|0;if((s|0)!=(g|0)){continue}break}break a}l=je(q(n[b+692>>2]*q(1024)));j:{if(q(r(l))>2];k:{if((o|0)<=0){break k}while(1){u=(m+288|0)+(g<<1)|0;l=je(q(n[((g<<2)+b|0)+16>>2]*q(4096)));l:{if(q(r(l))>1]=s;g=g+1|0;if((o|0)!=(g|0)){continue}break}g=0;if((o|0)<=0){break k}while(1){u=(g<<1)+m|0;l=je(q(n[((g<<2)+b|0)+80>>2]*q(4096)));m:{if(q(r(l))>1]=s;g=g+1|0;if((o|0)!=(g|0)){continue}break}}g=0;if((v|0)>0){while(1){o=g<<2;s=o+(m+352|0)|0;l=je(q(n[b+o>>2]*q(65536)));n:{if(q(r(l))>2]=o;g=g+1|0;if((v|0)!=(g|0)){continue}break}}g=0;o=0;o=k[c+29|0]==2?i[(h[c+33|0]<<1)+5848>>1]:o;s=j[a+4584>>2];if((s|0)>=1){while(1){u=(m+368|0)+(g<<1)|0;l=je(n[(g<<2)+f>>2]);o:{if(q(r(l))>1]=v;g=g+1|0;if((s|0)!=(g|0)){continue}break}}p:{if(!(j[a+4672>>2]<1?j[a+4628>>2]<=1:0)){Sd(a,d,c,m+368|0,e,m+288|0,m+240|0,m+48|0,m,m+16|0,m+32|0,m+352|0,b+228|0,t,o);break p}Qd(a,d,c,m+368|0,e,m+288|0,m+240|0,m+48|0,m,m+16|0,m+32|0,m+352|0,b+228|0,t,o)}I=m+1008|0}function Cb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=I-48|0;I=g;pe(+a);d=me(1)|0;f=me(0)|0;a:{b:{e=d;d=e;h=e&2147483647;c:{if(h>>>0<=1074752122){if((d&1048575)==598523){break c}if(h>>>0<=1073928572){if((e|0)>0?1:(e|0)>=0){a=a+ -1.5707963267341256;c=a+ -6.077100506506192e-11;o[b>>3]=c;o[b+8>>3]=a-c+ -6.077100506506192e-11;d=1;break a}a=a+1.5707963267341256;c=a+6.077100506506192e-11;o[b>>3]=c;o[b+8>>3]=a-c+6.077100506506192e-11;d=-1;break a}if((e|0)>0?1:(e|0)>=0){a=a+ -3.1415926534682512;c=a+ -1.2154201013012384e-10;o[b>>3]=c;o[b+8>>3]=a-c+ -1.2154201013012384e-10;d=2;break a}a=a+3.1415926534682512;c=a+1.2154201013012384e-10;o[b>>3]=c;o[b+8>>3]=a-c+1.2154201013012384e-10;d=-2;break a}if(h>>>0<=1075594811){if(h>>>0<=1075183036){if((h|0)==1074977148){break c}if((e|0)>0?1:(e|0)>=0){a=a+ -4.712388980202377;c=a+ -1.8231301519518578e-10;o[b>>3]=c;o[b+8>>3]=a-c+ -1.8231301519518578e-10;d=3;break a}a=a+4.712388980202377;c=a+1.8231301519518578e-10;o[b>>3]=c;o[b+8>>3]=a-c+1.8231301519518578e-10;d=-3;break a}if((h|0)==1075388923){break c}if((e|0)>0?1:(e|0)>=0){a=a+ -6.2831853069365025;c=a+ -2.430840202602477e-10;o[b>>3]=c;o[b+8>>3]=a-c+ -2.430840202602477e-10;d=4;break a}a=a+6.2831853069365025;c=a+2.430840202602477e-10;o[b>>3]=c;o[b+8>>3]=a-c+2.430840202602477e-10;d=-4;break a}if(h>>>0>1094263290){break b}}j=a*.6366197723675814+6755399441055744+ -6755399441055744;c=a+j*-1.5707963267341256;i=j*6.077100506506192e-11;a=c-i;o[b>>3]=a;pe(+a);d=me(1)|0;me(0)|0;e=h>>>20|0;f=(e-(d>>>20&2047)|0)<17;if(r(j)<2147483648){d=~~j}else{d=-2147483648}d:{if(f){break d}i=c;a=j*6.077100506303966e-11;c=c-a;i=j*2.0222662487959506e-21-(i-c-a);a=c-i;o[b>>3]=a;f=e;pe(+a);e=me(1)|0;me(0)|0;if((f-(e>>>20&2047)|0)<50){break d}i=c;a=j*2.0222662487111665e-21;c=c-a;i=j*8.4784276603689e-32-(i-c-a);a=c-i;o[b>>3]=a}o[b+8>>3]=c-a-i;break a}if(h>>>0>=2146435072){a=a-a;o[b>>3]=a;o[b+8>>3]=a;d=0;break a}ne(0,f|0);ne(1,e&1048575|1096810496);a=+oe();d=0;f=1;while(1){k=(g+16|0)+(d<<3)|0;if(r(a)<2147483648){d=~~a}else{d=-2147483648}c=+(d|0);o[k>>3]=c;a=(a-c)*16777216;d=1;k=f&1;f=0;if(k){continue}break}o[g+32>>3]=a;e:{if(a!=0){d=2;break e}f=1;while(1){d=f;f=d-1|0;if(o[(g+16|0)+(d<<3)>>3]==0){continue}break}}d=vd(g+16|0,g,(h>>>20|0)-1046|0,d+1|0);a=o[g>>3];if((e|0)<-1?1:(e|0)<=-1){o[b>>3]=-a;o[b+8>>3]=-o[g+8>>3];d=0-d|0;break a}o[b>>3]=a;o[b+8>>3]=o[g+8>>3]}I=g+48|0;return d}function zd(a,b,c,d,e,f,g,h,i,k,l,m,o,u,v,w,x){var y=0,z=0,A=q(0),B=0,C=0,D=0,E=0,F=0,G=q(0),H=0,J=q(0),K=0,L=0,N=0;z=I-96|0;y=z;I=y;F=1;a:{if(o){break a}F=0;if(v){break a}o=p(c-b|0,k);if(n[u>>2]>q(o<<1)^1){break a}F=(m|0)>(o|0)}G=q(q(q(n[u>>2]*q(g>>>0))*q(w|0))/q(k<<9));D=(k|0)>1?k:1;C=j[a+8>>2];w=0;while(1){if((b|0)<(d|0)){H=p(w,C);o=b;while(1){J=A;B=o+H<<2;A=q(n[B+e>>2]-n[f+B>>2]);A=q(J+q(A*A));o=o+1|0;if((o|0)!=(d|0)){continue}break}}w=w+1|0;if((D|0)!=(w|0)){continue}break}d=j[i+20>>2];D=j[i+28>>2];o=j[i+20>>2];j[y+88>>2]=j[i+16>>2];j[y+92>>2]=o;o=j[i+12>>2];j[y+80>>2]=j[i+8>>2];j[y+84>>2]=o;o=j[i+4>>2];j[y+72>>2]=j[i>>2];j[y+76>>2]=o;o=j[i+24>>2];w=j[i+40>>2];j[y+56>>2]=j[i+36>>2];j[y+60>>2]=w;j[y- -64>>2]=j[i+44>>2];w=j[i+32>>2];j[y+48>>2]=j[i+28>>2];j[y+52>>2]=w;C=z-((p(k,C)<<2)+15&-16)|0;w=C;I=w;z=p(j[a+8>>2],k)<<2;w=w-(z+15&-16)|0;B=w;I=w;C=M(C,f,z);J=(c-b|0)>10?q(t(q(q(m|0)*q(.125)),q(16))):q(16);m=0;z=v;v=d+s(D)|0;d=v-29>>>0>g>>>0;L=d?0:z;z=d?0:F;D=L|z;if(q(r(G))>2];j[y+40>>2]=j[i+20>>2];v=j[i+16>>2];j[y+32>>2]=j[i+12>>2];j[y+36>>2]=v;v=j[i+8>>2];j[y+24>>2]=j[i+4>>2];j[y+28>>2]=v;D=j[i+24>>2];H=i+28|0;v=H+8|0;K=j[v+4>>2];j[y+8>>2]=j[v>>2];j[y+12>>2]=K;j[y+16>>2]=j[i+44>>2];v=j[i+32>>2];j[y>>2]=j[i+28>>2];j[y+4>>2]=v;v=D-o|0;B=B-((v?v:1)+15&-16)|0;I=B;E=B;B=o+z|0;K=M(E,B,v);E=j[y+92>>2];j[i+16>>2]=j[y+88>>2];j[i+20>>2]=E;E=j[y+84>>2];j[i+8>>2]=j[y+80>>2];j[i+12>>2]=E;E=j[y+76>>2];j[i>>2]=j[y+72>>2];j[i+4>>2]=E;j[i+24>>2]=o;j[i+44>>2]=j[y- -64>>2];o=j[y+60>>2];j[H+8>>2]=j[y+56>>2];j[H+12>>2]=o;o=j[y+52>>2];j[i+28>>2]=j[y+48>>2];j[i+32>>2]=o;b=Db(a,b,c,e,f,g,F,p(l,84)+33040|0,h,i,k,l,0,G,x);if(!L){break c}if((b|0)<=(m|0)){if((b|0)!=(m|0)){break c}if((N|0)>=(V(i)+d|0)){break c}}j[i>>2]=z;j[i+20>>2]=j[y+40>>2];b=j[y+36>>2];j[i+12>>2]=j[y+32>>2];j[i+16>>2]=b;b=j[y+28>>2];j[i+4>>2]=j[y+24>>2];j[i+8>>2]=b;j[i+24>>2]=D;j[i+44>>2]=j[y+16>>2];b=j[y+12>>2];j[i+36>>2]=j[y+8>>2];j[i+40>>2]=b;b=j[y+4>>2];j[i+28>>2]=j[y>>2];j[i+32>>2]=b;M(B,K,v);b=k<<2;M(f,C,p(b,j[a+8>>2]));M(h,w,p(b,j[a+8>>2]));break b}b=k<<2;M(f,C,p(b,j[a+8>>2]));M(h,w,p(b,j[a+8>>2]));break b}J=A;A=n[(l<<2)+33376>>2];A=q(J+q(q(A*A)*n[u>>2]))}n[u>>2]=A;I=y+96|0}function Fa(a,b,c,d,e,f,g,h,i,k,l){var m=q(0),o=0,p=0,r=0,s=0,t=q(0),u=q(0),v=q(0),w=0,x=0,z=0,A=q(0),B=0;o=I-32|0;I=o;j[o+24>>2]=l;j[o+28>>2]=e;e=j[a+28>>2];x=j[a>>2];a:{if((d|0)==1){d=0;l=j[a+32>>2];if((l|0)>=8){b:{if(x){d=n[b>>2]>2]-8|0;j[a+32>>2]=l}if(j[a+4>>2]){n[b>>2]=d?q(-1):q(1)}if(c){d=c?2:1;g=d>>>0>1?d:1;f=1;while(1){d=0;if((l|0)>=8){c:{if(x){d=n[c>>2]>2]-8|0;j[a+32>>2]=l}if(j[a+4>>2]){n[c>>2]=d?q(-1):q(1)}f=f+1|0;if((g|0)!=(f|0)){continue}break}}h=1;if(!i){break a}j[i>>2]=j[b>>2];break a}xb(a,o,b,c,d,o+28|0,f,f,h,1,o+24|0);m=q(q(j[o+8>>2])*q(30517578125e-15));v=q(q(j[o+4>>2])*q(30517578125e-15));p=j[o+28>>2];s=j[o+20>>2];r=j[o+16>>2];B=j[o>>2];d:{if((d|0)==2){z=r&-16385;w=((z|0)!=0)<<3;j[a+32>>2]=j[a+32>>2]-(w+s|0);r=(r|0)>8192;s=r?b:c;r=r?c:b;w=p-w|0;p=0;e:{if(!z){break e}if(x){p=q(q(n[r>>2]*n[s+4>>2])-q(n[r+4>>2]*n[s>>2]))>2]=n[r+4>>2]*q(0-e|0);n[s+4>>2]=n[r>>2]*q(e|0);if(!j[a+4>>2]){break d}n[b>>2]=v*n[b>>2];n[b+4>>2]=v*n[b+4>>2];t=q(m*n[c>>2]);n[c>>2]=t;n[c+4>>2]=m*n[c+4>>2];m=n[b>>2];n[b>>2]=m-t;n[c>>2]=m+n[c>>2];m=n[b+4>>2];n[b+4>>2]=m-n[c+4>>2];n[c+4>>2]=m+n[c+4>>2];break d}l=j[o+12>>2];s=j[a+32>>2]-s|0;j[a+32>>2]=s;e=j[o+24>>2];l=(p-l|0)/2|0;l=(l|0)>(p|0)?p:l;l=(l|0)>0?l:0;p=p-l|0;if((l|0)>=(p|0)){i=X(a,b,d,l,f,g,h,i,q(1),k,e);g=l+(j[a+32>>2]-s|0)|0;h=i|X(a,c,d,p+(r?(g|0)>24?g-24|0:0:0)|0,f,0,h,0,m,0,e>>f);break d}x=X(a,c,d,p,f,0,h,0,m,0,e>>f);w=l;l=p+(j[a+32>>2]-s|0)|0;h=x|X(a,b,d,w+((r|0)!=16384?(l|0)>24?l-24|0:0:0)|0,f,g,h,i,q(1),k,e)}if(!j[a+4>>2]){break a}f:{if((d|0)==2){break f}t=q(0);g:{if((d|0)<1){m=q(0);break g}a=0;m=q(0);while(1){e=a<<2;u=n[e+c>>2];m=q(m+q(u*n[b+e>>2]));t=q(t+q(u*u));a=a+1|0;if((d|0)!=(a|0)){continue}break}}h:{t=q(q(v*v)+t);m=q(v*m);m=q(m+m);u=q(t+m);if(!(u>2]);e=c+e|0;A=n[e>>2];n[f>>2]=u*q(m-A);n[e>>2]=t*q(m+A);a=a+1|0;if((d|0)!=(a|0)){continue}break}}if(!B|(d|0)<1){break a}a=0;while(1){b=(a<<2)+c|0;n[b>>2]=-n[b>>2];a=a+1|0;if((d|0)!=(a|0)){continue}break}}I=o+32|0;return h}function ja(a,b,c,d,e,f,g,h,l){var m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=q(0),z=q(0),A=0;r=I-32|0;I=r;j[r+24>>2]=l;j[r+28>>2]=d;m=j[a+8>>2];s=j[m+100>>2]+i[j[m+96>>2]+(j[a+12>>2]+p(j[m+8>>2],g+1|0)<<1)>>1]|0;o=k[s|0];t=-1;u=j[a+28>>2];v=j[a+20>>2];x=j[a>>2];a:{if(!((g|0)==-1|(c|0)<3|(k[o+s|0]+12|0)>=(d|0))){t=c>>>1|0;m=(t<<2)+b|0;if((e|0)==1){j[r+24>>2]=l&1|l<<1}u=e+1>>1;v=g-1|0;xb(a,r,b,m,t,r+28|0,u,e,v,0,r+24|0);y=q(j[r+8>>2]);z=q(j[r+4>>2]);d=j[r+20>>2];l=j[r+12>>2];x=j[r+16>>2];c=l;b:{if(!(x&16383)|(e|0)<2){break b}c=l-(l>>5-g)|0;if((x|0)>=8193){break b}c=(t<<3>>6-g)+l|0;c=c>>31&c}l=c;y=q(y*q(30517578125e-15));z=q(z*q(30517578125e-15));o=j[r+28>>2];g=j[a+32>>2]-d|0;j[a+32>>2]=g;d=f?(t<<2)+f|0:0;s=o;c=(o-l|0)/2|0;c=(c|0)>(o|0)?o:c;o=(c|0)>0?c:0;l=s-o|0;if((l|0)<=(o|0)){c=b;b=j[r+24>>2];f=ja(a,c,t,o,u,f,v,q(z*h),b);c=a;a=o+(j[a+32>>2]-g|0)|0;m=f|ja(c,m,t,l+(x?(a|0)>24?a-24|0:0:0)|0,u,d,v,q(y*h),b>>u)<<(e>>1);break a}c=d;d=j[r+24>>2];c=ja(a,m,t,l,u,c,v,q(y*h),d>>u);m=a;a=l+(j[a+32>>2]-g|0)|0;m=ja(m,b,t,o+((x|0)!=16384?(a|0)>24?a-24|0:0:0)|0,u,f,v,q(z*h),d)|c<<(e>>1);break a}w=d-1|0;m=o+1>>>1|0;d=(w|0)>k[m+s|0];g=d?o:m;d=d?m:0;o=(g+d|0)+1>>>1|0;m=(w|0)>k[o+s|0];g=m?g:o;d=m?o:d;o=(g+d|0)+1>>>1|0;m=(w|0)>k[o+s|0];g=m?g:o;d=m?o:d;o=(g+d|0)+1>>>1|0;m=(w|0)>k[o+s|0];g=m?g:o;d=m?o:d;o=(g+d|0)+1>>1;m=(w|0)>k[o+s|0];g=m?g:o;d=m?o:d;o=(g+d|0)+1>>1;m=(w|0)>k[o+s|0];g=m?g:o;d=m?o:d;if(d){t=k[d+s|0]}d=(w-t|0)>(k[g+s|0]-w|0)?g:d;if(d){A=k[d+s|0]+1|0}m=j[a+32>>2]-A|0;j[a+32>>2]=m;c:{d:{if((m|0)>-1){g=d;break d}if((d|0)<1){g=d;break d}while(1){m=m+A|0;j[a+32>>2]=m;g=d-1|0;if(!g){j[a+32>>2]=m;break c}A=k[g+s|0]+1|0;m=m-A|0;j[a+32>>2]=m;if((m|0)>-1){break d}o=(d|0)>1;d=g;if(o){continue}break}}if(!g){break c}g=(g|0)>=8?(g&7|8)<<(g>>>3|0)-1:g;if(x){m=qd(b,c,g,v,e,u,h,j[a+4>>2]);break a}m=pd(b,c,g,v,e,u,h);break a}if(!j[a+4>>2]){m=0;break a}m=-1<>2]=e;if(!e){m=0;O(b,0,c<<2);break a}e:{if(f){if((c|0)>=1){d=j[a+40>>2];g=0;while(1){l=g<<2;d=p(d,1664525)+1013904223|0;n[l+b>>2]=n[f+l>>2]+(d&32768?q(.00390625):q(-.00390625));g=g+1|0;if((g|0)!=(c|0)){continue}break}j[a+40>>2]=d}m=e;break e}if((c|0)<1){break e}d=j[a+40>>2];g=0;while(1){d=p(d,1664525)+1013904223|0;n[(g<<2)+b>>2]=d>>20;g=g+1|0;if((g|0)!=(c|0)){continue}break}j[a+40>>2]=d}od(b,c,h)}I=r+32|0;return m}function qa(a,b,c,d,e){var f=0,g=0,h=0;a:{if((d|0)>=(e|0)){b:{c:{switch(e-6|0){case 0:if((d|0)<7){break b}g=6;while(1){h=g<<2;f=h+c|0;n[a+h>>2]=n[f>>2]-q(q(q(q(q(q(n[f-4>>2]*n[b>>2])+q(n[f-8>>2]*n[b+4>>2]))+q(n[f-12>>2]*n[b+8>>2]))+q(n[f-16>>2]*n[b+12>>2]))+q(n[f-20>>2]*n[b+16>>2]))+q(n[f-24>>2]*n[b+20>>2]));g=g+1|0;if((g|0)!=(d|0)){continue}break}break b;case 2:if((d|0)<9){break b}g=8;while(1){h=g<<2;f=h+c|0;n[a+h>>2]=n[f>>2]-q(q(q(q(q(q(q(q(n[f-4>>2]*n[b>>2])+q(n[f-8>>2]*n[b+4>>2]))+q(n[f-12>>2]*n[b+8>>2]))+q(n[f-16>>2]*n[b+12>>2]))+q(n[f-20>>2]*n[b+16>>2]))+q(n[f-24>>2]*n[b+20>>2]))+q(n[f-28>>2]*n[b+24>>2]))+q(n[f-32>>2]*n[b+28>>2]));g=g+1|0;if((g|0)!=(d|0)){continue}break}break b;case 4:if((d|0)<11){break b}g=10;while(1){h=g<<2;f=h+c|0;n[a+h>>2]=n[f>>2]-q(q(q(q(q(q(q(q(q(q(n[f-4>>2]*n[b>>2])+q(n[f-8>>2]*n[b+4>>2]))+q(n[f-12>>2]*n[b+8>>2]))+q(n[f-16>>2]*n[b+12>>2]))+q(n[f-20>>2]*n[b+16>>2]))+q(n[f-24>>2]*n[b+20>>2]))+q(n[f-28>>2]*n[b+24>>2]))+q(n[f-32>>2]*n[b+28>>2]))+q(n[f-36>>2]*n[b+32>>2]))+q(n[f-40>>2]*n[b+36>>2]));g=g+1|0;if((g|0)!=(d|0)){continue}break}break b;case 6:if((d|0)<13){break b}g=12;while(1){h=g<<2;f=h+c|0;n[a+h>>2]=n[f>>2]-q(q(q(q(q(q(q(q(q(q(q(q(n[f-4>>2]*n[b>>2])+q(n[f-8>>2]*n[b+4>>2]))+q(n[f-12>>2]*n[b+8>>2]))+q(n[f-16>>2]*n[b+12>>2]))+q(n[f-20>>2]*n[b+16>>2]))+q(n[f-24>>2]*n[b+20>>2]))+q(n[f-28>>2]*n[b+24>>2]))+q(n[f-32>>2]*n[b+28>>2]))+q(n[f-36>>2]*n[b+32>>2]))+q(n[f-40>>2]*n[b+36>>2]))+q(n[f-44>>2]*n[b+40>>2]))+q(n[f-48>>2]*n[b+44>>2]));g=g+1|0;if((g|0)!=(d|0)){continue}break}break b;case 10:break c;default:break a}}if((d|0)<17){break b}g=16;while(1){h=g<<2;f=h+c|0;n[a+h>>2]=n[f>>2]-q(q(q(q(q(q(q(q(q(q(q(q(q(q(q(q(n[f-4>>2]*n[b>>2])+q(n[f-8>>2]*n[b+4>>2]))+q(n[f-12>>2]*n[b+8>>2]))+q(n[f-16>>2]*n[b+12>>2]))+q(n[f-20>>2]*n[b+16>>2]))+q(n[f-24>>2]*n[b+20>>2]))+q(n[f-28>>2]*n[b+24>>2]))+q(n[f-32>>2]*n[b+28>>2]))+q(n[f-36>>2]*n[b+32>>2]))+q(n[f-40>>2]*n[b+36>>2]))+q(n[f-44>>2]*n[b+40>>2]))+q(n[f-48>>2]*n[b+44>>2]))+q(n[f-52>>2]*n[b+48>>2]))+q(n[f-56>>2]*n[b+52>>2]))+q(n[f-60>>2]*n[b+56>>2]))+q(n[f+ -64>>2]*n[b+60>>2]));g=g+1|0;if((g|0)!=(d|0)){continue}break}}O(a,0,e<<2);return}L(9580,9614,218);z()}L(9651,9614,242);z()}function Ua(a,b,c,d,e,f){var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0;i=I-16|0;I=i;Va(i+4|0,i+12|0,b,e);Va(i,i+8|0,c,e);g=j[i+12>>2];l=j[i+8>>2];h=(g|0)>(l|0)?g:l;h=(h&1)+h|0;j[i>>2]=j[i>>2]>>h-l;g=j[i+4>>2]>>h-g;j[i+4>>2]=(g|0)>1?g:1;l=fc(b,c,h,e);c=l>>31;b=j[i+4>>2];e=b>>31;n=s(c^c+l);g=l<>16)<<16>>16;g=(p(c,g&65535)>>16)+p(c,g>>16)|0;e=ie(g,g>>31,e,e>>31);e=k-(((J&536870911)<<3|e>>>29)&-8)|0;e=(p(e>>16,c)+g|0)+(p(c,e&65535)>>16)|0;c=f;g=(n-m|0)+16|0;a:{if((g|0)<=-1){g=0-g|0;n=2147483647>>>g|0;m=-2147483648>>g;e=((e|0)>(n|0)?n:(e|0)<(m|0)?m:e)<>g:0}e=(e|0)>-16384?e:-16384;g=(e|0)<16384?e:16384;r=(p(g&65535,g)>>16)+p(g,g>>16)|0;e=r>>31;k=c;c=e^e+r;e=(c|0)<(f|0)?k:c;n=h>>1;f=0;m=j[d>>2];t=d;b:{if((b|0)<=0){c=e<<16>>16;e=p(c,0-m>>16);break b}f=s(b);o=24-f|0;h=0-o|0;k=(f&1?32768:46214)>>>(f>>>1)|0;q=k;c=b;c:{if(!o){break c}c=b<>>56-f;if(b>>>0<=127){break c}c=b<>>o}u=((p(q,p(c&127,13959168)>>>16|0)>>>16|0)+k<>16;c=e<<16>>16;q=k;e=b;d:{if(!o){break d}e=b<>>56-f;if(b>>>0<=127){break d}e=b<>>o}f=q+(p(k,p(e&127,13959168)>>>16|0)>>>16|0)|0;e=p(c,u)}m=(e+m|0)+(p((f<>16)|0;j[t>>2]=m;e=r<<16>>16;e=(j[i>>2]-(p(g,l>>16)+(p(g,l&65535)>>16)<<4)|0)+((p(e,b&65535)>>16)+p(e,b>>16)<<6)|0;j[i>>2]=e;f=d;o=j[d+4>>2];t=o;e:{if((e|0)<1){e=0;b=0;break e}d=s(e);h=24-d|0;k=0-h|0;l=(d&1?32768:46214)>>>(d>>>1)|0;q=l;b=e;f:{if(!h){break f}b=e<>>56-d;if(e>>>0<=127){break f}b=e<>>h}b=(p(q,p(b&127,13959168)>>>16|0)>>>16|0)+l|0;g:{if(!h){break g}if(e>>>0<=127){e=e<>>56-d;break g}e=e<>>h}e=l+(p(l,p(e&127,13959168)>>>16|0)>>>16|0)|0;b=b<>16,c)|0)+(p((e<>16)|0;j[f+4>>2]=b;e=(m|0)>1?m:1;c=s(e);d=b;b=b>>31;f=s(d+b^b);d=d<>16)<<16>>16;d=(p(b,d&65535)>>16)+p(b,d>>16)|0;e=ie(d,d>>31,e,e>>31);e=k-(((J&536870911)<<3|e>>>29)&-8)|0;b=(p(e>>16,b)+d|0)+(p(b,e&65535)>>16)|0;k=a;c=(f-c|0)+15|0;h:{if((c|0)<=-1){c=0-c|0;d=2147483647>>>c|0;e=-2147483648>>c;b=((b|0)>(d|0)?d:(b|0)<(e|0)?e:b)<>c:0}a=(b|0)>0?b:0;j[k>>2]=(a|0)<32767?a:32767;I=i+16|0;return g}function Qb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;l=I-96|0;a:{if((b|0)>=1){while(1){g=i[(d<<1)+a>>1];j[(d<<2)+l>>2]=g<<12;f=f+g|0;d=d+1|0;if((d|0)!=(b|0)){continue}break}if((f|0)>4095){break a}}f=b-1|0;c=j[(f<<2)+l>>2];d=c+16773022>>>0>33546044;a=1073741824;if((b|0)>=2){while(1){if(d&1){return 0}e=a;g=k;a=0-(c<<7)|0;k=a>>31;o=a;ie(a,k,a,k);a=1073741824-J|0;g=ie(e,g,a,a>>31);q=((J&1073741823)<<2|g>>>30)&-4;if((q|0)<107374){break a}g=f;f=0;c=a;a=a>>31;n=s(c+a^a);d=c<>16;e=536870911/(c|0)|0;h=e<<16;a=h>>16;d=0-(p(a,c)+(p(a,d&65535)>>16)<<3)|0;a=((h+p(d,(e>>15)+1>>1)|0)+p(a,d>>16)|0)+(p(a,d&65528)>>16)|0;r=a;t=a>>31;a=b>>>1|0;y=a>>>0>1?a:1;d=31-n|0;while(1){u=(f<<2)+l|0;h=j[u>>2];e=h;v=(g+(f^-1)<<2)+l|0;m=j[v>>2];a=m;c=ie(a,a>>31,o,k);b=J;a=b>>>30|0;b=((b&1073741823)<<2|c>>>30)+1|0;if(b>>>0<1){a=a+1|0}b=(a&1)<<31|b>>>1;c=e-b|0;a=(c|0)>-1;a=(((a?b:h)^-2147483648)&(a?h:b))>-1?c:a?-2147483648:2147483647;a=ie(a,a>>31,r,t);b=J;e=b;w=(n|0)!=31;x=(b&1)<<31|a>>>1;c=x+(a&1)|0;b=b>>1;b=c>>>0>>0?b+1|0:b;b:{if(!w){break b}b=e;e=a;a=d;c=a&31;if((a&63)>>>0>=32){a=b>>31;b=b>>c}else{a=b>>c;b=((1<>>c}b=b+1|0;if(b>>>0<1){a=a+1|0}c=b;b=a>>1;c=(a&1)<<31|c>>>1}a=b;if(c- -2147483648>>>0<2147483648?a+1|0:a){break a}j[u>>2]=c;c=ie(h,h>>31,o,k);b=J;a=b>>>30|0;b=((b&1073741823)<<2|c>>>30)+1|0;if(b>>>0<1){a=a+1|0}b=(a&1)<<31|b>>>1;c=m-b|0;a=(c|0)>-1;a=(((a?b:m)^-2147483648)&(a?m:b))>-1?c:a?-2147483648:2147483647;c=ie(a,a>>31,r,t);a=J;if(w){b=a;e=c;a=d;c=a&31;if((a&63)>>>0>=32){a=b>>31;b=b>>c}else{a=b>>c;b=((1<>>c}b=b+1|0;if(b>>>0<1){a=a+1|0}c=(a&1)<<31|b>>>1;a=a>>1}else{e=c&1;b=a;a=a>>1;c=(b&1)<<31|c>>>1;b=e+c|0;a=b>>>0>>0?a+1|0:a;c=b}if(c- -2147483648>>>0<2147483648?a+1|0:a){break a}j[v>>2]=c;f=f+1|0;if((y|0)!=(f|0)){continue}break}f=g-1|0;c=j[(f<<2)+l>>2];d=c+16773022>>>0>33546044;a=q;k=a>>31;b=g;if((b|0)>1){continue}break}}if(d){break a}c=a;b=0-(j[l>>2]<<7)|0;a=b>>31;ie(b,a,b,a);b=1073741824-(J&2147483647)|0;a=ie(c,k,b,b>>31);a=((J&1073741823)<<2|a>>>30)&-4;z=(a|0)<107374?0:a}return z}function Xb(a,b,c,d,e){var f=q(0),g=0,h=0,i=q(0),k=0,l=q(0),m=0,o=q(0),r=0,s=q(0),t=0,v=0,w=q(0),x=q(0),z=q(0),A=0,B=0,C=0,D=q(0),E=0,F=q(0),G=q(0),H=q(0),J=q(0),K=0,L=0,M=q(0);g=j[c>>2]/2|0;g=(g|0)<512?g:511;j[c>>2]=g;k=a+2048|0;r=(b|0)/2|0;E=(d|0)/-2|0;if((b|0)>=2){a=k-(g<<2)|0;d=0;while(1){h=d<<2;f=n[h+k>>2];x=q(x+q(f*n[a+h>>2]));o=q(o+q(f*f));d=d+1|0;if((r|0)!=(d|0)){continue}break}}t=I-2064|0;n[t>>2]=o;d=1;f=o;while(1){i=f;a=d<<2;f=n[k-a>>2];i=q(i+q(f*f));f=n[(r-d<<2)+k>>2];f=q(i-q(f*f));n[a+t>>2]=u(f,q(0));a=(d|0)!=512;d=d+1|0;if(a){continue}break}F=q(e*q(.5));B=g<<1;z=n[(g<<2)+t>>2];s=q(x/q(y(q(q(o*z)+q(1)))));G=q(s*q(.8500000238418579));H=q(s*q(.8999999761581421));J=q(s*q(.699999988079071));m=2;a=g;while(1){d=m<<1;h=(m+B>>>0)/(d>>>0)|0;if((h|0)>=7){a:{if((m|0)==2){d=g+h|0;d=(d|0)>512?g:d;break a}d=(p(j[(m<<2)+9808>>2],B)+m>>>0)/(d>>>0)|0}v=d<<2;C=h<<2;f=q(0);b:{if((b|0)<2){l=q(0);break b}K=k-v|0;L=k-C|0;d=0;l=q(0);while(1){A=d<<2;w=n[A+k>>2];f=q(f+q(w*n[A+K>>2]));l=q(l+q(w*n[A+L>>2]));d=d+1|0;if((r|0)!=(d|0)){continue}break}}l=q(q(l+f)*q(.5));w=q(q(n[t+C>>2]+n[t+v>>2])*q(.5));f=q(l/q(y(q(q(o*w)+q(1)))));M=G;v=h+E|0;d=v>>31;d=d^d+v;i=e;c:{if((d|0)<2){break c}i=q(0);if((d|0)!=2){break c}i=(g|0)>(p(p(m,m),5)|0)?F:q(0)}D=i;i=q(u(q(M-i),q(.4000000059604645)));d:{if((h|0)<21){break d}i=q(u(q(J-D),q(.30000001192092896)));if((h|0)>=14){break d}i=q(u(q(H-D),q(.5)))}if(!(i=z)){o=q(e/q(z+q(1)))}e:{if((b|0)<2){l=q(0);e=q(0);break e}g=(k-(a<<2)|0)+4|0;d=0;while(1){h=d<<2;f=q(f+q(n[h+k>>2]*n[g+h>>2]));d=d+1|0;if((r|0)!=(d|0)){continue}break}l=q(0);if((b|0)<=1){e=q(0);break e}g=k-(a<<2)|0;d=0;while(1){h=d<<2;l=q(l+q(n[h+k>>2]*n[g+h>>2]));d=d+1|0;if((r|0)!=(d|0)){continue}break}e=q(0);if((b|0)<2){break e}b=((a^-1)<<2)+k|0;d=0;while(1){g=d<<2;e=q(e+q(n[g+k>>2]*n[b+g>>2]));d=d+1|0;if((r|0)!=(d|0)){continue}break}}a=(a<<1)+(q(e-f)>q(q(l-f)*q(.699999988079071))?1:q(f-e)>q(q(l-e)*q(.699999988079071))?-1:0)|0;j[c>>2]=(a|0)<15?15:a;return o>s?s:o}function bd(a,b,c,d,e,f,g,h,i,k,l,m){var o=0,s=q(0),t=0,u=0,w=q(0),x=0,y=q(0),z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=q(0),H=0,J=q(0),K=0,L=0,N=0;t=I-16|0;I=t;B=j[a>>2];z=j[B+4>>2];x=e+1024|0;o=t-((p(x,d)<<2)+15&-16)|0;u=o;I=o;j[t+12>>2]=o+(x<<2);j[t+8>>2]=o;E=(d|0)>1?d:1;C=e<<2;F=e+z|0;D=(z<<2)+b|0;o=0;while(1){M(M(j[(t+8|0)+(o<<2)>>2],(o<<12)+c|0,4096)+4096|0,D+(p(o,F)<<2)|0,C);o=o+1|0;if((E|0)!=(o|0)){continue}break}a:{if(k){k=u-((x<<1&-4)+15&-16)|0;I=k;Zb(t+8|0,k,x,d);Yb(k+2048|0,k,e,t+4|0);j[t+4>>2]=1024-j[t+4>>2];s=Xb(k,e,t+4|0,j[a+104>>2],n[a+108>>2]);if(j[t+4>>2]>=1023){j[t+4>>2]=1022}s=q(s*q(.699999988079071));d=j[a+56>>2];s=(d|0)>2?q(s*q(.5)):s;s=(d|0)>8?q(0):(d|0)>4?q(s*q(.5)):s;break a}j[t+4>>2]=15;s=q(0)}s=j[m>>2]?q(s*n[m+40>>2]):s;m=0;x=0;o=j[t+4>>2];d=j[a+104>>2];u=o-d|0;k=u>>31;w=(o|0)<(p(k^k+u,10)|0)?q(.4000000059604645):q(.20000000298023224);w=(l|0)<25?q(w+q(.10000000149011612)):w;w=(l|0)<35?q(w+q(.10000000149011612)):w;J=q(w+q(-.10000000149011612));y=w;w=n[a+108>>2];y=w>q(.4000000059604645)?J:y;y=w>q(.550000011920929)?q(y+q(-.10000000149011612)):y;if(!((y>q(.20000000298023224)?y:q(.20000000298023224))>s)){s=q(v(q(q(q((q(r(q(s-w)))7?7:k-1|0;m=(k|0)>0?k:0;G=q(q(m+1|0)*q(.09375));x=1}D=4096-C|0;k=z<<2;s=q(-G);K=(e|0)<1025;L=0-e<<2;o=0;while(1){l=j[B+44>>2];j[a+104>>2]=(d|0)>15?d:15;H=((p(o,z)<<2)+a|0)+244|0;d=M((p(o,F)<<2)+b|0,H,k);l=l-z|0;if(l){u=j[a+104>>2];A=u;w=q(-n[a+108>>2]);u=j[a+112>>2];hb(d+k|0,j[(t+8|0)+(o<<2)>>2]+4096|0,A,A,l,w,w,u,u,0,0)}u=l<<2;N=u+(d+k|0)|0;A=u;u=(t+8|0)+(o<<2)|0;hb(N,(A+j[u>>2]|0)+4096|0,j[a+104>>2],j[t+4>>2],e-l|0,q(-n[a+108>>2]),s,j[a+112>>2],f,j[B+60>>2],z);l=e<<2;M(H,l+d|0,k);d=(o<<12)+c|0;c:{if(!K){M(d,l+j[u>>2]|0,4096);break c}M((U(d,d+l|0,D)+L|0)+4096|0,j[u>>2]+4096|0,C)}o=o+1|0;if((E|0)!=(o|0)){d=j[a+104>>2];continue}break}n[h>>2]=G;j[g>>2]=j[t+4>>2];j[i>>2]=m;I=t+16|0;return x}function Ha(a,b,c,d,e,f){var g=q(0),h=q(0),i=q(0),k=0,l=q(0),m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;a:{if(!f|e<<1>=(b|0)){break a}i=q(q(b|0)/q(p(j[(f<<2)+41524>>2],e)+b|0));i=q(q(i*i)*q(.5));w=Bb(+q(i*q(1.5707963705062866)));x=Bb(+q(q(q(1)-i)*q(1.5707963705062866)));f=0;if(d<<3<=(b|0)){o=d>>2;e=1;while(1){f=e;e=e+1|0;if((o+p(p(f,f)+f|0,d)|0)<(b|0)){continue}break}}if((d|0)<1){break a}i=q(w);l=q(x);s=(b>>>0)/(d>>>0)|0;t=s-f|0;o=s-3|0;u=s-1|0;r=(f<<1^-1)+s|0;y=(c|0)>-1;c=0;while(1){k=p(c,s);b:{if(!y){c:{if(!f){break c}b=0;m=(k<<2)+a|0;e=m;if((t|0)>=1){while(1){v=(f<<2)+e|0;g=n[v>>2];h=n[e>>2];n[v>>2]=q(h*i)+q(g*l);n[e>>2]=q(h*l)-q(g*i);e=e+4|0;b=b+1|0;if((t|0)!=(b|0)){continue}break}}if((r|0)<0){break c}e=m+(r<<2)|0;b=r;while(1){m=(f<<2)+e|0;g=n[m>>2];h=n[e>>2];n[m>>2]=q(h*i)+q(g*l);n[e>>2]=q(h*l)-q(g*i);e=e-4|0;m=(b|0)>0;b=b-1|0;if(m){continue}break}}k=(k<<2)+a|0;if((u|0)>=1){g=n[k>>2];b=0;e=k;while(1){h=n[e+4>>2];n[e>>2]=q(g*i)-q(h*l);g=q(q(g*l)+q(h*i));n[e+4>>2]=g;e=e+4|0;b=b+1|0;if((u|0)!=(b|0)){continue}break}}if((o|0)<0){break b}e=k+(o<<2)|0;b=o;while(1){g=n[e>>2];h=n[e+4>>2];n[e+4>>2]=q(g*l)+q(h*i);n[e>>2]=q(g*i)-q(h*l);e=e-4|0;k=(b|0)>0;b=b-1|0;if(k){continue}break}break b}k=(k<<2)+a|0;if((u|0)>=1){g=n[k>>2];b=0;e=k;while(1){h=n[e+4>>2];n[e>>2]=q(g*i)+q(h*l);g=q(q(h*i)-q(g*l));n[e+4>>2]=g;e=e+4|0;b=b+1|0;if((u|0)!=(b|0)){continue}break}}if((o|0)>=0){e=k+(o<<2)|0;b=o;while(1){g=n[e+4>>2];h=n[e>>2];n[e+4>>2]=q(g*i)-q(h*l);n[e>>2]=q(h*i)+q(g*l);e=e-4|0;m=(b|0)>0;b=b-1|0;if(m){continue}break}}if(!f){break b}b=0;e=k;if((t|0)>=1){while(1){m=(f<<2)+e|0;g=n[m>>2];h=n[e>>2];n[m>>2]=q(g*l)-q(h*i);n[e>>2]=q(h*l)+q(g*i);e=e+4|0;b=b+1|0;if((t|0)!=(b|0)){continue}break}}if((r|0)<0){break b}e=k+(r<<2)|0;b=r;while(1){k=(f<<2)+e|0;g=n[k>>2];h=n[e>>2];n[k>>2]=q(g*l)-q(h*i);n[e>>2]=q(h*l)+q(g*i);e=e-4|0;k=(b|0)>0;b=b-1|0;if(k){continue}break}}c=c+1|0;if((d|0)!=(c|0)){continue}break}}}function Yb(a,b,c,d){var e=0,f=q(0),g=q(0),h=0,i=0,k=q(0),l=q(0),m=q(0),o=0,p=0,r=q(0),s=0,t=0,v=0,w=q(0),x=0,y=0;e=I;y=e;if((c|0)>0){o=c>>>2|0;h=e-((o<<2)+15&-16)|0;e=h;I=e;i=c+979|0;p=e-((i&-4)+15&-16)|0;e=p;I=e;s=e-1968|0;I=s;if(o){e=0;while(1){j[h+(e<<2)>>2]=j[(e<<3)+a>>2];e=e+1|0;if((o|0)!=(e|0)){continue}break}}if((i|0)>=4){e=i>>2;i=(e|0)>1?e:1;e=0;while(1){j[p+(e<<2)>>2]=j[(e<<3)+b>>2];e=e+1|0;if((i|0)!=(e|0)){continue}break}}pa(h,p,s,o,244);f=q(1);if(o){e=0;while(1){k=n[p+(e<<2)>>2];f=q(f+q(k*k));e=e+1|0;if((o|0)!=(e|0)){continue}break}}i=0;h=1;r=q(-1);e=0;k=q(-1);while(1){t=e<<2;g=n[t+s>>2];a:{if(g>q(0)^1){break a}g=q(g*q(9.999999960041972e-13));g=q(g*g);if(q(m*g)>q(k*f)^1){break a}if(q(l*g)>q(r*f)){h=i;i=e;k=r;r=g;m=l;l=f;break a}h=e;k=g;m=f}g=f;f=n[p+(e+o<<2)>>2];w=q(f*f);f=n[p+t>>2];f=q(u(q(g+q(w-q(f*f))),q(1)));e=e+1|0;if((e|0)!=244){continue}break}x=c>>1;o=h<<1;p=i<<1;while(1){i=v<<2;t=i+s|0;j[t>>2]=0;e=v-p|0;h=e>>31;b:{if((h^e+h)>=3){e=v-o|0;h=e>>31;if((h^e+h)>2){break b}}f=q(0);if((c|0)>=2){h=b+i|0;e=0;while(1){i=e<<2;f=q(f+q(n[i+a>>2]*n[h+i>>2]));e=e+1|0;if((x|0)!=(e|0)){continue}break}}n[t>>2]=u(f,q(-1))}v=v+1|0;if((v|0)!=489){continue}break}f=q(1);if((c|0)>1){e=0;while(1){l=n[(e<<2)+b>>2];f=q(f+q(l*l));e=e+1|0;if((x|0)!=(e|0)){continue}break}}h=0;r=q(-1);l=q(0);a=0;e=0;m=q(0);k=q(-1);while(1){c=e<<2;g=n[c+s>>2];c:{if(g>q(0)^1){break c}g=q(g*q(9.999999960041972e-13));g=q(g*g);if(q(m*g)>q(k*f)^1){break c}if(q(l*g)>q(r*f)){a=e;k=r;r=g;m=l;l=f;break c}k=g;m=f}g=f;f=n[(e+x<<2)+b>>2];w=q(f*f);f=n[b+c>>2];f=q(u(q(g+q(w-q(f*f))),q(1)));e=e+1|0;if((e|0)!=489){continue}break}d:{if((a|0)<1|(a|0)>=488){break d}h=-1;b=(a<<2)+s|0;k=n[b+4>>2];m=n[b-4>>2];l=n[b>>2];if(q(k-m)>q(q(l-m)*q(.699999988079071))){break d}h=q(m-k)>q(q(l-k)*q(.699999988079071))}j[d>>2]=(a<<1)+h;I=y;return}L(9781,9768,302);z()}function pa(a,b,c,d,e){var f=0,g=0,h=q(0),i=q(0),k=0,l=q(0),m=0,o=0,p=0,r=q(0),s=0,t=0,u=q(0),v=0,w=q(0),x=q(0),y=q(0),A=q(0),B=q(0),C=q(0),D=q(0),E=q(0),F=q(0),G=0,H=0,I=q(0),J=0,K=0,M=0,N=0;if((e|0)>=1){a:{if((e|0)<4){break a}if((d|0)>=3){J=e-3|0;K=d-3|0;M=(d|0)==3;G=d&-4;H=G|1;N=(H+1|0)>=(d|0);while(1){v=p<<2;f=v+b|0;g=f+12|0;i=n[f+8>>2];l=n[f+4>>2];u=n[f>>2];r=q(0);C=q(0);D=q(0);E=q(0);f=a;m=0;o=0;k=0;s=0;t=0;if(!M){while(1){w=n[f>>2];h=n[g>>2];x=n[f+4>>2];y=n[g+4>>2];A=n[f+8>>2];F=n[g+8>>2];B=n[f+12>>2];I=n[g+12>>2];r=q(q(q(q(r+q(w*h))+q(x*y))+q(A*F))+q(B*I));C=q(q(q(q(C+q(i*w))+q(h*x))+q(y*A))+q(F*B));D=q(q(q(q(D+q(l*w))+q(i*x))+q(h*A))+q(y*B));E=q(q(q(q(E+q(u*w))+q(l*x))+q(i*A))+q(h*B));g=g+16|0;f=f+16|0;u=y;i=I;l=F;m=m+4|0;if((K|0)>(m|0)){continue}break}o=(qe(E),me(2));k=(qe(D),me(2));s=(qe(C),me(2));t=(qe(r),me(2));r=h}if(!((d|0)<=(G|0))){h=n[f>>2];r=n[g>>2];t=(qe(q(q(h*r)+(ne(2,t),re()))),me(2));s=(qe(q(q(i*h)+(ne(2,s),re()))),me(2));k=(qe(q(q(l*h)+(ne(2,k),re()))),me(2));o=(qe(q(q(u*h)+(ne(2,o),re()))),me(2));g=g+4|0;f=f+4|0}m=f;f=g;if(!((d|0)<=(H|0))){h=n[m>>2];u=n[f>>2];t=(qe(q(q(h*u)+(ne(2,t),re()))),me(2));s=(qe(q(q(r*h)+(ne(2,s),re()))),me(2));k=(qe(q(q(i*h)+(ne(2,k),re()))),me(2));o=(qe(q(q(l*h)+(ne(2,o),re()))),me(2));m=m+4|0;f=f+4|0}g=f;f=c+v|0;if(!N){l=n[m>>2];t=(qe(q(q(l*n[g>>2])+(ne(2,t),re()))),me(2));s=(qe(q(q(u*l)+(ne(2,s),re()))),me(2));k=(qe(q(q(r*l)+(ne(2,k),re()))),me(2));o=(qe(q(q(i*l)+(ne(2,o),re()))),me(2))}j[f>>2]=o;j[(v|4)+c>>2]=k;j[(v|8)+c>>2]=s;j[(v|12)+c>>2]=t;p=p+4|0;if((J|0)>(p|0)){continue}break}break a}L(9872,9897,69);z()}if((e|0)>(p|0)){m=(d|0)<1;while(1){f=p<<2;i=q(0);if(!m){o=b+f|0;g=0;while(1){k=g<<2;i=q(i+q(n[k+a>>2]*n[o+k>>2]));g=g+1|0;if((g|0)!=(d|0)){continue}break}}n[c+f>>2]=i;p=p+1|0;if((p|0)!=(e|0)){continue}break}}return}L(9738,9768,251);z()}function $a(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0;e=j[a+28>>2];g=s(e);b=2147483647>>>g|0;c=j[a+32>>2];d=b+c&-2147483648>>g;a:{b:{if((d|b)>>>0>=c+e>>>0){b=b>>>1|0;d=b+c&(b^-1);g=g+1|0;break b}if(!g){break a}}c=g;while(1){i=d>>>23|0;c:{if((i|0)!=255){g=d>>>31|0;f=j[a+40>>2];if((f|0)>=0){b=a;e=j[a+24>>2];if(m[a+4>>2]>e+j[a+8>>2]>>>0){j[a+24>>2]=e+1;h[e+j[a>>2]|0]=g+f;f=0}else{f=-1}j[b+44>>2]=f|j[a+44>>2]}b=j[a+36>>2];if(b){l=g-1|0;while(1){e=-1;g=a;f=j[a+24>>2];if(m[a+4>>2]>f+j[a+8>>2]>>>0){j[a+24>>2]=f+1;h[f+j[a>>2]|0]=l;e=0;b=j[a+36>>2]}b=b-1|0;j[g+36>>2]=b;j[a+44>>2]=j[a+44>>2]|e;if(b){continue}break}}j[a+40>>2]=i&255;break c}j[a+36>>2]=j[a+36>>2]+1}d=d<<8&2147483392;b=(c|0)>8;g=c-8|0;c=g;if(b){continue}break}}c=j[a+40>>2];d:{e:{f:{if((c|0)<=-1){b=j[a+36>>2];if(b){break f}break d}b=a;d=j[a+24>>2];if(m[a+4>>2]>d+j[a+8>>2]>>>0){j[a+24>>2]=d+1;h[d+j[a>>2]|0]=c;d=0}else{d=-1}j[b+44>>2]=d|j[a+44>>2];b=j[a+36>>2];if(!b){break e}}while(1){e=-1;d=a;c=j[a+24>>2];if(m[a+4>>2]>c+j[a+8>>2]>>>0){j[a+24>>2]=c+1;h[c+j[a>>2]|0]=255;e=0;b=j[a+36>>2]}b=b-1|0;j[d+36>>2]=b;j[a+44>>2]=j[a+44>>2]|e;if(b){continue}break}}j[a+40>>2]=0}e=j[a+12>>2];d=j[a+16>>2];g:{if((d|0)<=7){c=j[a+44>>2];break g}b=d;while(1){d=a;f=j[a+4>>2];c=j[a+8>>2];if(f>>>0>c+j[a+24>>2]>>>0){c=c+1|0;j[a+8>>2]=c;h[j[a>>2]+(f-c|0)|0]=e;c=0}else{c=-1}c=c|j[a+44>>2];j[d+44>>2]=c;e=e>>>8|0;f=(b|0)>15;d=b-8|0;b=d;if(f){continue}break}}h:{if(c){break h}b=j[a+24>>2];O(b+j[a>>2]|0,0,(j[a+4>>2]-b|0)-j[a+8>>2]|0);if((d|0)<1){break h}b=j[a+8>>2];c=j[a+4>>2];if(b>>>0>=c>>>0){j[a+44>>2]=-1;return}f=d;d=0-g|0;if(!((f|0)<=(d|0)|c>>>0>b+j[a+24>>2]>>>0)){j[a+44>>2]=-1;e=(-1<>2]+(c+(b^-1)|0)|0;h[a|0]=k[a|0]|e}}function ad(a,b,c,d,e,f,g){var h=0,i=q(0),l=0,m=q(0),o=0,s=q(0),w=q(0),x=0,A=0,B=0,C=0,D=0,E=0,F=q(0),G=0,H=0,J=q(0),K=0,M=0,N=0,O=q(0);h=I;E=h;l=h-((b<<2)+15&-16)|0;I=l;j[g>>2]=0;A=(b|0)/2|0;a:{b:{h=0;c:{if((c|0)<1){break c}F=f?q(.03125):q(.0625);G=A-5|0;H=p(A,6)-102|0;J=q(A|0);K=+(A|0);M=(b|0)<1;N=(b|0)<36;while(1){if(!M){x=p(b,C);m=q(0);h=0;s=q(0);while(1){i=n[(h+x<<2)+a>>2];w=q(m+i);n[(h<<2)+l>>2]=w;m=q(q(s+w)-q(i+i));s=q(i+q(w*q(-.5)));h=h+1|0;if((h|0)!=(b|0)){continue}break}}j[l>>2]=0;j[l+4>>2]=0;j[l+40>>2]=0;j[l+44>>2]=0;j[l+32>>2]=0;j[l+36>>2]=0;j[l+24>>2]=0;j[l+28>>2]=0;j[l+16>>2]=0;j[l+20>>2]=0;j[l+8>>2]=0;j[l+12>>2]=0;h=0;m=q(0);w=q(0);s=q(0);x=(b|0)>1;i=q(0);d:{if(!x){break d}while(1){o=h<<3;i=n[o+l>>2];O=q(i*i);i=n[(o|4)+l>>2];i=q(O+q(i*i));s=q(s+q(F*q(i-s)));n[(h<<2)+l>>2]=s;m=q(m+i);h=h+1|0;if((A|0)!=(h|0)){continue}break}h=A;s=q(0);i=m;if(!x){break d}while(1){x=h-1|0;o=(x<<2)+l|0;w=q(w+q(q(n[o>>2]-w)*q(.125)));n[o>>2]=w;s=w1;h=x;if(o){continue}break}w=s;i=m}m=n[l>>2];if(m!=m){break b}m=q(J/q(q(y(+q(i*w)*.5*K))+q(1.0000000036274937e-15)));if(m!=m){break a}x=0;if(!N){i=q(m*q(64));h=12;while(1){m=q(v(q(i*q(n[(h<<2)+l>>2]+q(1.0000000036274937e-15)))));o=q(t(m,q(127)))q(127)?B:o?B:+m;e:{if(r(B)<2147483648){o=~~B;break e}o=-2147483648}x=k[o+42832|0]+x|0;h=h+4|0;if((G|0)>(h|0)){continue}break}}h=(x<<8)/(H|0)|0;if((h|0)>(D|0)){j[e>>2]=C;D=h}C=C+1|0;if((C|0)!=(c|0)){continue}break}h=(D|0)>200;if(!f|D-201>>>0>398){break c}j[g>>2]=1;h=0}n[d>>2]=y(u(+q(q(t(q(u(q(q(y(+(p(D,27)|0)))+q(-42)),q(0))),q(163)))*q(.006899999920278788))+ -.139,0));I=E;return h}L(42960,42508,369);z()}L(42998,42508,370);z()}function ac(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0;g=j[a+4>>2];c=g&3;d=g&-8;f=d+a|0;a:{if(!c){c=0;if(b>>>0<256){break a}if(d>>>0>=b+4>>>0){c=a;if(d-b>>>0<=j[13352]<<1>>>0){break a}}return 0}b:{if(b>>>0<=d>>>0){c=d-b|0;if(c>>>0<16){break b}j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=c|3;j[f+4>>2]=j[f+4>>2]|1;Tb(b,c);break b}c=0;if(j[13238]==(f|0)){d=d+j[13235]|0;if(d>>>0<=b>>>0){break a}j[a+4>>2]=g&1|b|2;c=a+b|0;b=d-b|0;j[c+4>>2]=b|1;j[13235]=b;j[13238]=c;break b}if(j[13237]==(f|0)){d=d+j[13234]|0;if(d>>>0>>0){break a}c=d-b|0;c:{if(c>>>0>=16){j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=c|1;d=a+d|0;j[d>>2]=c;j[d+4>>2]=j[d+4>>2]&-2;break c}j[a+4>>2]=d|g&1|2;b=a+d|0;j[b+4>>2]=j[b+4>>2]|1;c=0;b=0}j[13237]=b;j[13234]=c;break b}e=j[f+4>>2];if(e&2){break a}h=d+(e&-8)|0;if(h>>>0>>0){break a}k=h-b|0;d:{if(e>>>0<=255){c=j[f+8>>2];e=e>>>3|0;d=j[f+12>>2];if((d|0)==(c|0)){j[13232]=j[13232]&ke(-2,e);break d}j[c+12>>2]=d;j[d+8>>2]=c;break d}i=j[f+24>>2];d=j[f+12>>2];e:{if((f|0)!=(d|0)){c=j[f+8>>2];j[c+12>>2]=d;j[d+8>>2]=c;break e}f:{c=f+20|0;e=j[c>>2];if(e){break f}c=f+16|0;e=j[c>>2];if(e){break f}d=0;break e}while(1){l=c;d=e;c=d+20|0;e=j[c>>2];if(e){continue}c=d+16|0;e=j[d+16>>2];if(e){continue}break}j[l>>2]=0}if(!i){break d}c=j[f+28>>2];e=(c<<2)+53232|0;g:{if(j[e>>2]==(f|0)){j[e>>2]=d;if(d){break g}j[13233]=j[13233]&ke(-2,c);break d}j[i+(j[i+16>>2]==(f|0)?16:20)>>2]=d;if(!d){break d}}j[d+24>>2]=i;c=j[f+16>>2];if(c){j[d+16>>2]=c;j[c+24>>2]=d}c=j[f+20>>2];if(!c){break d}j[d+20>>2]=c;j[c+24>>2]=d}if(k>>>0<=15){j[a+4>>2]=g&1|h|2;b=a+h|0;j[b+4>>2]=j[b+4>>2]|1;break b}j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=k|3;c=a+h|0;j[c+4>>2]=j[c+4>>2]|1;Tb(b,k)}c=a}return c}function za(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0;m=I-48|0;I=m;a:{b:{f=d?(p(c,36)+a|0)+6100|0:a+4736|0;c=(h[f+29|0]<<1)+h[f+30|0]|0;if(c>>>0<6){if((c|0)<=1?d:0){break b}c:{if(!((c|0)<2?!d:0)){N(b,c-2|0,5829,8);break c}N(b,c,5833,8)}c=h[f|0];d:{if((e|0)==2){N(b,c,7328,8);break d}N(b,c>>3,(h[f+29|0]<<3)+7296|0,8);N(b,k[f|0]&7,5872,8)}if(j[a+4580>>2]>=2){d=1;while(1){N(b,h[d+f|0],7328,8);d=d+1|0;if((d|0)>2]){continue}break}}c=j[a+4692>>2];N(b,h[f+8|0],j[c+16>>2]+p(i[c>>1],h[f+29|0]>>1)|0,8);Aa(m+16|0,m,j[a+4692>>2],h[f+8|0]);g=j[a+4692>>2];c=i[g+2>>1];if((c|0)!=j[a+4640>>2]){break a}d=0;if((c|0)>0){while(1){c=d;d=c+1|0;n=f+d|0;o=h[n+8|0];e:{if((o|0)>=4){N(b,8,j[g+28>>2]+i[(m+16|0)+(c<<1)>>1]|0,8);N(b,h[n+8|0]-4|0,5880,8);break e}if((o|0)<=-4){N(b,0,j[g+28>>2]+i[(m+16|0)+(c<<1)>>1]|0,8);N(b,-4-h[n+8|0]|0,5880,8);break e}N(b,o+4|0,j[g+28>>2]+i[(m+16|0)+(c<<1)>>1]|0,8)}g=j[a+4692>>2];if(i[g+2>>1]>(d|0)){continue}break}}if(j[a+4580>>2]==4){N(b,h[f+31|0],5835,8)}f:{if(k[f+29|0]!=2){break f}g:{if(!((e|0)!=2|j[a+5768>>2]!=2)){d=i[f+26>>1]-i[a+5772>>1]|0;c=d+8|0;N(b,c>>>0>19?0:d+9|0,2080,8);if(c>>>0<20){break g}}c=i[f+26>>1];d=j[a+4576>>2]>>1;g=(c|0)/(d|0)|0;N(b,g,2048,8);N(b,c-p(g<<16>>16,d<<16>>16)|0,j[a+4684>>2],8)}i[a+5772>>1]=l[f+26>>1];N(b,h[f+28|0],j[a+4688>>2],8);N(b,h[f+32|0],7369,8);if(j[a+4580>>2]>=1){d=0;while(1){N(b,h[(d+f|0)+4|0],j[(h[f+32|0]<<2)+7440>>2],8);d=d+1|0;if((d|0)>2]){continue}break}}if(e){break f}N(b,h[f+33|0],5826,8)}j[a+5768>>2]=h[f+29|0];N(b,h[f+34|0],5857,8);I=m+48|0;return}L(7919,7971,59);z()}L(7993,7971,60);z()}L(8047,7971,93);z()}function qb(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0;f=-1;a:{if(j[a+4>>2]<(b|0)|(b|0)<=0){break a}o=a+200|0;b:{c:{d:{e:{f:{g:{n=b;switch(b-1|0){case 1:break f;case 0:break g;default:break e}}g=i[o>>1]+1|0;f=-2;if((g|0)>(d|0)){break a}h[c|0]=k[a|0]&252;f=c+1|0;break d}g=l[o>>1];m=g<<16>>16;f=g;g=l[o+2>>1];if((f|0)==(g|0)){g=m<<1|1;f=-2;if((g|0)>(d|0)){break a}h[c|0]=k[a|0]&252|1;f=c+1|0;break d}g=((m+(g<<16>>16)|0)+((m|0)>251)|0)+2|0;f=-2;if((g|0)>(d|0)){break a}h[c|0]=k[a|0]&252|2;f=c+1|0;f=sb(i[o>>1],f)+f|0;break d}f=c;if((n|0)>2){break c}}if(!e|(d|0)<=(g|0)){break b}}f=1;m=i[o>>1];h:{i:{if((n|0)<=1){break i}g=m&65535;while(1){if((g|0)==l[(f<<1)+o>>1]){f=f+1|0;if((n|0)!=(f|0)){continue}break i}break}f=1;g=(m+2|0)+((m|0)>251?2:1)|0;m=b-1|0;if((m|0)>=2){while(1){q=g;g=i[(f<<1)+o>>1];g=(q+g|0)+((g|0)>251?2:1)|0;f=f+1|0;if((m|0)!=(f|0)){continue}break}}g=i[(n-1<<1)+o>>1]+g|0;f=-2;if((g|0)>(d|0)){break a}f=k[a|0];q=n|-128;h[c+1|0]=q;h[c|0]=f|3;m=0;break h}g=p(m,n)+2|0;f=-2;if((g|0)>(d|0)){break a}f=k[a|0];h[c+1|0]=n;h[c|0]=f|3;q=n;m=1}f=c+2|0;j:{if(!e){break j}r=d-g|0;if(!r){break j}h[c+1|0]=q|64;s=(r-1|0)/255|0;if((r|0)>=256){q=(s|0)>1?s:1;O(f,255,q);g=0;while(1){f=f+1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}}h[f|0]=(r+p(s,-255)|0)-1;f=f+1|0;g=d}if((n|0)<2|m){break b}b=b-1|0;m=(b|0)>1?b:1;b=0;while(1){f=sb(i[(b<<1)+o>>1],f)+f|0;b=b+1|0;if((m|0)!=(b|0)){continue}break}}if((n|0)>=1){m=a+8|0;a=0;while(1){b=(a<<1)+o|0;f=U(f,j[m+(a<<2)>>2],i[b>>1])+i[b>>1]|0;a=a+1|0;if((n|0)!=(a|0)){continue}break}}if(!(!e|c+d>>>0<=f>>>0)){O(f,0,(d-f|0)+c|0)}f=g}return f}function Zb(a,b,c,d){var e=q(0),f=0,g=0,h=0,i=q(0),k=q(0),l=q(0),m=0,o=0,p=0,r=0,s=q(0),t=q(0),u=q(0),v=q(0),w=q(0),x=q(0),y=q(0);f=I-48|0;I=f;m=c>>1;h=j[a>>2];if((c|0)>=4){o=(m|0)>2?m:2;g=1;while(1){p=g<<3;r=h+p|0;n[(g<<2)+b>>2]=q(n[r>>2]+q(q(n[r-4>>2]+n[h+(p|4)>>2])*q(.5)))*q(.5);g=g+1|0;if((o|0)!=(g|0)){continue}break}}e=q(q(q(n[h+4>>2]*q(.5))+n[h>>2])*q(.5));n[b>>2]=e;if((d|0)==2){a=j[a+4>>2];p=b;if((c|0)>=4){d=(m|0)>2?m:2;g=1;while(1){h=(g<<2)+b|0;r=h;e=n[h>>2];h=g<<3;o=h+a|0;n[r>>2]=e+q(q(n[o>>2]+q(q(n[o-4>>2]+n[a+(h|4)>>2])*q(.5)))*q(.5));g=g+1|0;if((d|0)!=(g|0)){continue}break}e=n[b>>2]}n[p>>2]=e+q(q(q(n[a+4>>2]*q(.5))+n[a>>2])*q(.5))}g=0;_b(b,f+16|0,m);n[f+16>>2]=n[f+16>>2]*q(1.000100016593933);e=n[f+20>>2];n[f+20>>2]=e-q(q(e*q(.00800000037997961))*q(.00800000037997961));e=n[f+24>>2];n[f+24>>2]=e-q(q(e*q(.01600000075995922))*q(.01600000075995922));e=n[f+28>>2];n[f+28>>2]=e-q(q(e*q(.024000000208616257))*q(.024000000208616257));e=n[f+32>>2];n[f+32>>2]=e-q(q(e*q(.03200000151991844))*q(.03200000151991844));$b(f,f+16|0);e=q(n[f+8>>2]*q(.7289999127388));n[f+8>>2]=e;i=q(n[f+12>>2]*q(.6560999155044556));n[f+12>>2]=i;k=q(n[f+4>>2]*q(.809999942779541));n[f+4>>2]=k;l=q(n[f>>2]*q(.8999999761581421));n[f>>2]=l;if((c|0)>=2){t=q(i+q(e*q(.800000011920929)));u=q(e+q(k*q(.800000011920929)));v=q(k+q(l*q(.800000011920929)));w=q(i*q(.800000011920929));x=q(l+q(.800000011920929));e=q(0);i=q(0);k=q(0);l=q(0);while(1){a=(g<<2)+b|0;s=n[a>>2];n[a>>2]=q(w*y)+q(q(t*e)+q(q(u*i)+q(q(v*k)+q(q(x*l)+s))));y=e;e=i;i=k;k=l;l=s;g=g+1|0;if((m|0)!=(g|0)){continue}break}}I=f+48|0}function ed(a,b,c,d,e,f,g){var h=0,k=0,l=0,m=0,o=0,r=0,s=q(0),t=q(0),u=0,v=0,w=q(0),x=q(0),y=0,z=0,A=0,B=0,C=0,D=q(0),E=0;k=I;B=k;u=j[a>>2];o=u>>1;y=j[((f<<2)+a|0)+8>>2];w=n[y+4>>2];v=j[a+24>>2];if((f|0)>=1){a=0;while(1){u=o;o=o>>1;v=(u<<2)+v|0;a=a+1|0;if((f|0)!=(a|0)){continue}break}}a=e<<1&-4;h=o<<2;f=(a+(h+b|0)|0)-4|0;k=k-(h+15&-16)|0;h=k;I=h;z=e+3>>2;b=a+b|0;l=u>>2;r=h-((l<<3)+15&-16)|0;I=r;a:{if((e|0)<1){a=k;break a}m=(z|0)>1?z:1;h=a+d|0;A=h-4|0;E=0-o<<2;a=k;while(1){s=n[A>>2];t=n[h>>2];n[a>>2]=q(s*n[(o<<2)+b>>2])+q(t*n[f>>2]);n[a+4>>2]=q(t*n[b>>2])-q(s*n[f+E>>2]);A=A-8|0;h=h+8|0;f=f-8|0;b=b+8|0;a=a+8|0;C=C+1|0;if((C|0)!=(m|0)){continue}break}}h=l-z|0;if((h|0)>(m|0)){while(1){j[a>>2]=j[f>>2];j[a+4>>2]=j[b>>2];f=f-8|0;b=b+8|0;a=a+8|0;m=m+1|0;if((h|0)>(m|0)){continue}break}m=h}if((l|0)>(m|0)){h=((e<<2)+d|0)-4|0;e=0-o<<2;while(1){n[a>>2]=q(n[h>>2]*n[f>>2])-q(n[d>>2]*n[b+e>>2]);n[a+4>>2]=q(n[h>>2]*n[b>>2])+q(n[d>>2]*n[(o<<2)+f>>2]);h=h-8|0;d=d+8|0;f=f-8|0;b=b+8|0;a=a+8|0;m=m+1|0;if((m|0)!=(l|0)){continue}break}}if((u|0)<=3){Ea(y,r);I=B;return}b=(l|0)>1?l:1;a=0;while(1){d=(i[j[y+44>>2]+(a<<1)>>1]<<3)+r|0;s=n[(a+l<<2)+v>>2];t=n[k>>2];x=n[(a<<2)+v>>2];D=n[k+4>>2];n[d+4>>2]=w*q(q(s*t)+q(x*D));n[d>>2]=w*q(q(x*t)-q(s*D));k=k+8|0;a=a+1|0;if((b|0)!=(a|0)){continue}break}Ea(y,r);if((u|0)>=4){b=(l|0)>1?l:1;a=0;f=(p(o-1|0,g)<<2)+c|0;d=g<<1;e=0-d<<2;while(1){w=n[r+4>>2];s=n[(a+l<<2)+v>>2];t=n[r>>2];x=n[(a<<2)+v>>2];n[c>>2]=q(w*s)-q(t*x);n[f>>2]=q(s*t)+q(w*x);r=r+8|0;f=e+f|0;c=(d<<2)+c|0;a=a+1|0;if((b|0)!=(a|0)){continue}break}}I=B}function _d(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=I-144|0;I=g;j[g+12>>2]=g+16;j[g+8>>2]=g+80;n=c>>1;Rb(b,g+80|0,g+16|0,n);q=g+80|0;t=i[7560];d=Y(g+80|0,t,n);if((d|0)<=-1){i[a>>1]=0;q=g+16|0;r=1;d=Y(g+16|0,t,n)}a:while(1){o=1;e=t;while(1){b:{c:{d:{h=(d|0)>0;w=o<<1;p=i[w+15120>>1];u=Y(q,p,n);if(!((d|0)<0|(0-k|0)<(u|0)?!((u|0)>=(k|0)?!h:0):0)){f=e+p|0;s=(f>>1)+(f&1)|0;f=Y(q,s,n);e:{f:{if(h){break f}k=-256;if((f|0)<=-1){break f}h=f;f=s;break e}m=(f|0)<1&(d|0)>-1;h=m?f:u;d=m?d:f;e=m?e:s;k=m?-256:-128;f=m?s:p}s=f;f=f+e|0;p=(f>>1)+(f&1)|0;f=Y(q,p,n);if((f|0)<=-1|(d|0)>0){break d}h=f;break c}h=(o|0)<128;k=0;e=p;d=u;o=o+1|0;if(h){continue}if(v>>>0>=16){b=32768/(c+1|0)|0;i[a>>1]=b;o=2;if((c|0)<2){break b}d=b<<1;i[a+2>>1]=d;if((c|0)==2){break b}while(1){d=l[a>>1]+d|0;i[(o<<1)+a>>1]=d;o=o+1|0;if((o|0)!=(c|0)){continue}break}break b}Na(b,c,(-2<-1){continue a}i[a>>1]=0;r=1;q=g+16|0;d=Y(g+16|0,t,n);v=e;continue a}m=(f|0)<1&(d|0)>-1;h=m?f:h;d=m?d:f;e=m?e:p;k=m?k:k|64;p=m?p:s}e=e+p|0;e=Y(q,(e>>1)+(e&1)|0,n);g:{if(!((e|0)<=-1|(d|0)>0)){h=e;break g}f=(e|0)<1&(d|0)>-1;h=f?e:h;d=f?d:e;k=f?k:k+32|0}e=d-h|0;h=d>>31;h:{if((h+d^h)>=65536){k=((d|0)/(e>>5)|0)+k|0;break h}if(!e){break h}k=(((d<<5)+(e>>1)|0)/(e|0)|0)+k|0}e=(o<<8)+k|0;i[(r<<1)+a>>1]=(e|0)<32767?e:32767;r=r+1|0;if((r|0)>=(c|0)){break b}k=!u;d=4096-(r<<12&8192)|0;e=i[w+15118>>1];q=j[(g+8|0)+((r&1)<<2)>>2];continue}break}break}I=g+144|0}function kb(a,b,c,d,e,f){var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=I-16|0;I=i;m=j[a+24>>2];t=m-1|0;u=j[a+72>>2];o=j[a+28>>2];q=p(o,b);r=u+(q<<2)|0;v=j[a+88>>2];l=j[f>>2];n=j[d>>2];h=b<<2;g=h+j[a+68>>2]|0;a:{if(j[g>>2]){j[i+12>>2]=l;j[i+8>>2]=j[g>>2];j[a+56>>2]=1;s=K[j[a+84>>2]](a,b,r,i+8|0,e,i+12|0)|0;g=j[i+8>>2];k=h+j[a+60>>2]|0;h=j[k>>2];if((g|0)>(h|0)){j[i+8>>2]=h;g=h}j[i+12>>2]=s;j[k>>2]=j[k>>2]-g;h=j[i+8>>2];if((m|0)>=2){g=0;while(1){j[(g<<2)+r>>2]=j[(g+h<<2)+r>>2];g=g+1|0;if((t|0)!=(g|0)){continue}break}}k=j[a+68>>2]+(b<<2)|0;h=j[k>>2]-h|0;j[k>>2]=h;if(h){g=0;s=j[i+8>>2];while(1){w=g+t|0;j[(w<<2)+r>>2]=j[(s+w<<2)+r>>2];g=g+1|0;if((h|0)!=(g|0)){continue}break}}g=j[i+12>>2];l=l-g|0;if(j[k>>2]){break a}e=(p(g,j[a+92>>2])<<2)+e|0}if(!l|!n){break a}k=o-t|0;u=(u+(m+q<<2)|0)-4|0;while(1){h=k>>>0>>0?k:n;j[i+12>>2]=h;j[i+8>>2]=l;b:{if(c){g=0;if(!h){break b}while(1){j[(g+t<<2)+r>>2]=j[(p(g,v)<<2)+c>>2];g=g+1|0;if((h|0)!=(g|0)){continue}break}break b}if(!h){break b}O(u,0,h<<2)}j[a+56>>2]=1;m=j[a+24>>2];o=j[a+72>>2]+(p(j[a+28>>2],b)<<2)|0;s=K[j[a+84>>2]](a,b,o,i+12|0,e,i+8|0)|0;g=j[i+12>>2];q=j[a+60>>2]+(b<<2)|0;h=j[q>>2];if((g|0)>(h|0)){j[i+12>>2]=h;g=h}j[i+8>>2]=s;j[q>>2]=j[q>>2]-g;h=j[i+12>>2];g=h;if((m|0)>=2){m=m-1|0;g=0;while(1){j[o+(g<<2)>>2]=j[o+(g+h<<2)>>2];g=g+1|0;if((m|0)!=(g|0)){continue}break}g=j[i+12>>2]}n=n-h|0;h=j[i+8>>2];l=l-h|0;if(!l){break a}c=c?(p(g,v)<<2)+c|0:0;e=(p(h,j[a+92>>2])<<2)+e|0;if(n){continue}break}}j[d>>2]=j[d>>2]-n;j[f>>2]=j[f>>2]-l;I=i+16|0}function Ba(a,b,c,d){var e=0,f=0,g=0;a:{b:{e=O(a,0,300);a=e;c:{if(d){d:{if((b|0)<=15999){if((b|0)==8e3|(b|0)==12e3){break d}break a}if((b|0)==16e3|(b|0)==48e3){break d}if((b|0)!=24e3){break a}}if((c|0)!=16e3?!((c|0)==8e3|(c|0)==12e3):0){break a}d=(p((b>>>12|0)-((b|0)>16e3)>>((b|0)>24e3),3)+(c>>>12|0)|0)+6487|0;break c}if((b|0)!=12e3?!((b|0)==8e3|(b|0)==16e3):0){break b}e:{if((c|0)<=15999){if((c|0)==8e3|(c|0)==12e3){break e}break b}if((c|0)==16e3|(c|0)==24e3){break e}if((c|0)!=48e3){break b}}d=(p(b>>>12|0,5)+((c>>>12|0)-((c|0)>16e3)>>((c|0)>24e3))|0)+6500|0}j[a+292>>2]=h[d|0];j[e+288>>2]=((c&65535)>>>0)/1e3;a=((b&65535)>>>0)/1e3|0;j[e+284>>2]=a;j[e+268>>2]=p(a,10);f:{if((b|0)<(c|0)){a=1;if(b<<1==(c|0)){j[e+264>>2]=1;a=0;break f}j[e+264>>2]=2;break f}if((b|0)>(c|0)){j[e+264>>2]=3;a=c<<2;if((a|0)==(p(b,3)|0)){j[e+296>>2]=6e3;j[e+276>>2]=18;j[e+280>>2]=3;a=0;break f}d=p(c,3);if((d|0)==b<<1){j[e+296>>2]=6064;j[e+276>>2]=18;j[e+280>>2]=2;a=0;break f}if(c<<1==(b|0)){j[e+296>>2]=6112;j[e+276>>2]=24;j[e+280>>2]=1;a=0;break f}if((b|0)==(d|0)){j[e+296>>2]=6144;j[e+276>>2]=36;j[e+280>>2]=1;a=0;break f}if((a|0)==(b|0)){j[e+296>>2]=6192;j[e+276>>2]=36;j[e+280>>2]=1;a=0;break f}if((p(c,6)|0)==(b|0)){j[e+296>>2]=6240;j[e+276>>2]=36;j[e+280>>2]=1;a=0;break f}L(6454,6474,154);z()}a=0;j[e+264>>2]=0}f=b<>16;g=(c>>>15|0)+1>>>1|0;b=(b<<(a|14))/(c|0)<<2;while(1){a=b;b=b+1|0;if(((p(d,a>>16)+p(a,g)|0)+(p(d,a&65535)>>16)|0)<(f|0)){continue}break}j[e+272>>2]=a;return 0}L(6454,6474,101);z()}L(6454,6474,94);z()}function Tc(a,b,c,d,e){var f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;r=-1;a:{if(!e|(b|0)<0){break a}r=-4;if(!b){break a}o=k[a|0];b:{if(o&128){g=(48e3<<(o>>>3&3)>>>0)/400|0;break b}g=o&8?960:480;if((o&96)==96){break b}f=o>>>3&3;g=2880;if((f|0)==3){break b}g=(48e3<>>0)/100|0}l=1;m=a+1|0;n=b-1|0;f=n;c:{d:{switch(o&3){case 1:if(n&1){break a}f=n>>>1|0;i[e>>1]=f;l=2;break c;case 2:if((b|0)<=1){i[e>>1]=65535;return-4}f=k[m|0];if(f>>>0>=252){l=2;if((b|0)<=2){i[e>>1]=65535;return-4}f=(k[a+2|0]<<2)+f|0}i[e>>1]=f;a=n-l|0;if((a|0)<(f|0)){break a}f=a-f|0;m=l+m|0;l=2;break c;case 0:break c;default:break d}}if((b|0)<2){break a}q=k[a+1|0];l=q&63;if(!l|p(l,g)>>>0>5760){break a}f=a+2|0;b=b-2|0;a=0;e:{if(!(q&64)){m=f;break e}while(1){if((b|0)<1){break a}g=k[f|0];n=(g|0)==255;g=(n?-2:g)&255;a=g+a|0;b=(g^-1)+b|0;m=f+1|0;f=m;if(n){continue}break}if((b|0)<0){break a}}if(q&128){if(l>>>0<2){f=b;break c}n=l-1|0;f=b;g=b;while(1){q=(s<<1)+e|0;if((g|0)<=0){i[q>>1]=65535;return-4}a=1;b=k[m|0];if(b>>>0>=252){if((g|0)<=1){i[q>>1]=65535;return-4}b=(k[m+1|0]<<2)+b|0;a=2}i[q>>1]=b;g=g-a|0;if((g|0)<(b|0)){break a}m=a+m|0;f=(f-a|0)-b|0;s=s+1|0;if((n|0)!=(s|0)){continue}break}if((f|0)>=0){break c}break a}f=(b|0)/(l|0)|0;if((p(l,f)|0)!=(b|0)){break a}if(l>>>0<2){break c}a=l-1|0;g=0;while(1){i[(g<<1)+e>>1]=f;g=g+1|0;if((a|0)!=(g|0)){continue}break}}if((f|0)>1275){break a}i[((l<<1)+e|0)-2>>1]=f;if(l){b=0;while(1){if(d){j[(b<<2)+d>>2]=m}m=i[(b<<1)+e>>1]+m|0;b=b+1|0;if((l|0)!=(b|0)){continue}break}}if(c){h[c|0]=o}r=l}return r}function Nb(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;o=(c<<1)+b|0;m=c-1|0;n=(m<<1)+a|0;s=(c|0)<2;a:{while(1){d=i[a>>1];g=i[b>>1];f=d-g|0;e=1;j=0;if(!s){while(1){h=d<<16;k=e<<1;d=i[k+a>>1];k=(d-(h>>16)|0)-i[b+k>>1]|0;h=(k|0)<(f|0);f=h?k:f;j=h?e:j;e=e+1|0;if((e|0)!=(c|0)){continue}break}}h=i[o>>1];e=32768-(h+i[n>>1]|0)|0;d=(e|0)<(f|0);if(((d?e:f)|0)>-1){break a}d=d?c:j;b:{if(!d){i[a>>1]=g;break b}c:{d:{if((c|0)!=(d|0)){if((d|0)>=1){break d}g=0;break c}i[n>>1]=-32768-h;break b}e=1;if((d|0)==1){break c}while(1){g=i[(e<<1)+b>>1]+g|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=g;g=d<<1;p=g+b|0;k=i[p>>1]>>1;f=e+k|0;j=32768;e:{if((c|0)<=(d|0)){break e}j=32768-h|0;e=m;if((d|0)>=(e|0)){break e}while(1){j=j-i[(e<<1)+b>>1]|0;e=e-1|0;if((d|0)<(e|0)){continue}break}}h=a+g|0;q=h-2|0;d=i[h>>1]+i[q>>1]|0;g=(d>>1)+(d&1)|0;e=j-k|0;f:{if((e|0)<(f|0)){d=f;if((g|0)>(d|0)){break f}d=(e|0)>(g|0)?e:g;break f}d=e;if((g|0)>(d|0)){break f}d=(f|0)>(g|0)?f:g}d=d-k|0;i[q>>1]=d;i[h>>1]=d+l[p>>1]}r=r+1|0;if((r|0)!=20){continue}break}Yd(a,c);d=i[a>>1];e=i[b>>1];f=(d|0)>(e|0)?d:e;i[a>>1]=f;m=(c|0)<2;if(!m){e=1;while(1){j=e<<1;g=j+a|0;d=i[g>>1];f=i[b+j>>1]+(f<<16>>16)|0;f=(f|0)<32767?f:32767;f=(f|0)>-32768?f:-32768;f=(d|0)>(f|0)?d:f;i[g>>1]=f;e=e+1|0;if((e|0)!=(c|0)){continue}break}}d=i[n>>1];e=32768-i[o>>1]|0;f=(d|0)<(e|0)?d:e;i[n>>1]=f;if(m){break a}e=c-2|0;while(1){d=e<<1;m=d+a|0;c=i[m>>1];d=(f<<16>>16)-i[(b+d|0)+2>>1]|0;f=(c|0)<(d|0)?c:d;i[m>>1]=f;c=(e|0)>0;e=e-1|0;if(c){continue}break}}}function Wa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;if(b>>>0>1){m=b-1|0;a:{if(m>>>0>=256){d=j[a+28>>2];i=24-s(m)|0;c=m>>>i|0;g=c+1|0;b=(d>>>0)/(g>>>0)|0;j[a+36>>2]=b;f=j[a+32>>2];l=(f>>>0)/(b>>>0)|0;e=l+1|0;g=e-g|0;n=(g>>>0>e>>>0?0:g)+(c-l|0)|0;c=p(b,c-n|0);h=f-c|0;j[a+32>>2]=h;c=n?b:d-c|0;j[a+28>>2]=c;if(c>>>0<=8388608){d=j[a+24>>2];g=j[a+40>>2];f=j[a+20>>2];o=j[a+4>>2];while(1){l=c<<8;j[a+28>>2]=l;f=f+8|0;j[a+20>>2]=f;b=0;if(d>>>0>>0){e=d+1|0;j[a+24>>2]=e;b=k[j[a>>2]+d|0];d=e}j[a+40>>2]=b;h=((g<<8|b)>>>1&255|h<<8&2147483392)^255;j[a+32>>2]=h;e=c>>>0<32769;g=b;c=l;if(e){continue}break}}l=n<>2];b=j[a+16>>2];b:{if(i>>>0<=b>>>0){f=b;break b}c=j[a+8>>2];d=j[a+4>>2];while(1){if(c>>>0>>0){c=c+1|0;j[a+8>>2]=c;e=k[j[a>>2]+(d-c|0)|0]}else{e=0}h=e<>2]=f-i;j[a+12>>2]=h>>>i;j[a+20>>2]=i+j[a+20>>2];i=l|(-1<>>0>=i>>>0){break a}j[a+44>>2]=1;return m}g=j[a+28>>2];c=(g>>>0)/(b>>>0)|0;j[a+36>>2]=c;f=j[a+32>>2];l=(f>>>0)/(c>>>0)|0;e=l+1|0;d=e-b|0;i=((l^-1)+b|0)+(d>>>0>e>>>0?0:d)|0;b=p(c,(i^-1)+b|0);h=f-b|0;j[a+32>>2]=h;c=i?c:g-b|0;j[a+28>>2]=c;if(c>>>0>8388608){break a}d=j[a+24>>2];g=j[a+40>>2];f=j[a+20>>2];m=j[a+4>>2];while(1){l=c<<8;j[a+28>>2]=l;f=f+8|0;j[a+20>>2]=f;b=0;if(d>>>0>>0){e=d+1|0;j[a+24>>2]=e;b=k[j[a>>2]+d|0];d=e}j[a+40>>2]=b;h=((g<<8|b)>>>1&255|h<<8&2147483392)^255;j[a+32>>2]=h;e=c>>>0<32769;g=b;c=l;if(e){continue}break}}return i}L(9274,9298,203);z()}function cc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;e=I-32|0;I=e;m=j[a+12>>2];if(m){n=j[a+8>>2];d=262144-(n<<10)|0;a:{if((d|0)<=262143){g=d>>16;f=d&64512;if(f){i=g+1|0;d=f<<16>>16;if(f>>>0>=32768){f=p(i,12);k=j[f+5896>>2];h=p(g,12);l=k-j[h+5896>>2]|0;j[e+24>>2]=(p(d,l>>16)+k|0)+(p(d,l&65535)>>16);k=j[f+5892>>2];l=k-j[h+5892>>2]|0;j[e+20>>2]=(p(d,l>>16)+k|0)+(p(d,l&65535)>>16);f=j[f+5888>>2];h=f-j[h+5888>>2]|0;j[e+16>>2]=(p(d,h>>16)+f|0)+(p(d,h&65535)>>16);i=i<<3;f=j[i+5956>>2];g=g<<3;h=f-j[g+5956>>2]|0;j[e+12>>2]=(p(d,h>>16)+f|0)+(p(d,h&65535)>>16);i=j[i+5952>>2];g=i-j[g+5952>>2]|0;j[e+8>>2]=(p(d,g>>16)+i|0)+(p(d,g&65535)>>16);break a}f=p(i,12);h=p(g,12);k=j[h+5896>>2];l=j[f+5896>>2]-k|0;j[e+24>>2]=(p(d,l>>16)+k|0)+(p(d,l&65535)>>16);k=j[h+5892>>2];l=j[f+5892>>2]-k|0;j[e+20>>2]=(p(d,l>>16)+k|0)+(p(d,l&65535)>>16);k=j[f+5888>>2];f=j[h+5888>>2];h=k-f|0;j[e+16>>2]=(p(d,h>>16)+f|0)+(p(d,h&65535)>>16);i=i<<3;g=g<<3;f=j[g+5956>>2];h=j[i+5956>>2]-f|0;j[e+12>>2]=(p(d,h>>16)+f|0)+(p(d,h&65535)>>16);g=j[g+5952>>2];i=j[i+5952>>2]-g|0;j[e+8>>2]=(p(d,i>>16)+g|0)+(p(d,i&65535)>>16);break a}d=p(g,12);j[e+24>>2]=j[d+5896>>2];d=d+5888|0;i=j[d+4>>2];j[e+16>>2]=j[d>>2];j[e+20>>2]=i;d=(g<<3)+5952|0;g=j[d+4>>2];j[e+8>>2]=j[d>>2];j[e+12>>2]=g;break a}j[e+24>>2]=j[1486];d=j[1485];j[e+16>>2]=j[1484];j[e+20>>2]=d;d=j[1497];j[e+8>>2]=j[1496];j[e+12>>2]=d}d=m+n|0;d=(d|0)>0?d:0;j[a+8>>2]=(d|0)<256?d:256;dc(b,e+16|0,e+8|0,a,b,c)}I=e+32|0}function tb(a,b,c,d,e,f,g,h,i){var k=q(0),l=0,m=q(0),o=q(0),r=q(0),s=q(0),t=q(0),u=0,v=q(0),w=q(0),x=0;l=I;u=l;if(!e){I=u;return q(0)}a:{if((i|0)==48e3){f=f<<1;e=e<<1;break a}if((i|0)!=16e3){break a}f=(f<<1)/3|0;e=(e<<1)/3|0}l=l-((e<<2)+15&-16)|0;x=l;I=l;K[a|0](b,l,e,f,0,g,h);m=(g|0)==-2?q(q(30517578125e-15)/q(h|0)):(g|0)>-1?q(152587890625e-16):q(30517578125e-15);if((e|0)>=1){g=0;while(1){a=l+(g<<2)|0;n[a>>2]=m*n[a>>2];g=g+1|0;if((g|0)!=(e|0)){continue}break}}b:{if((i|0)==48e3){m=q(0);if((e|0)<2){break b}a=(e|0)/2|0;g=0;while(1){b=g<<3;k=n[b+l>>2];o=n[d>>2];r=q(q(k-o)*q(.6074370741844177));n[d>>2]=k+r;k=n[l+(b|4)>>2];s=n[d+4>>2];t=q(q(k-s)*q(.15062999725341797));n[d+4>>2]=k+t;v=n[d+8>>2];w=q(q(q(-k)-v)*q(.15062999725341797));n[d+8>>2]=w-k;k=q(o+r);n[(g<<2)+c>>2]=q(q(s+k)+t)*q(.5);o=m;m=q(q(k+v)+w);m=q(o+q(m*m));g=g+1|0;if((a|0)!=(g|0)){continue}break}break b}m=q(0);if((i|0)!=16e3){if((i|0)!=24e3){break b}M(c,l,e<<2);break b}b=p(e,3);a=x-((b<<2)+15&-16)|0;I=a;if((e|0)>=1){g=0;while(1){f=a+p(g,12)|0;h=j[l+(g<<2)>>2];j[f+8>>2]=h;j[f+4>>2]=h;j[f>>2]=h;g=g+1|0;if((g|0)!=(e|0)){continue}break}}e=(b|0)/2|0;if((b|0)>=2){g=0;while(1){b=g<<3;k=n[b+a>>2];o=n[d>>2];r=q(q(k-o)*q(.6074370741844177));n[d>>2]=k+r;k=n[a+(b|4)>>2];s=n[d+4>>2];t=q(q(k-s)*q(.15062999725341797));n[d+4>>2]=k+t;n[d+8>>2]=q(q(q(-k)-n[d+8>>2])*q(.15062999725341797))-k;n[(g<<2)+c>>2]=q(q(s+q(o+r))+t)*q(.5);g=g+1|0;if((e|0)!=(g|0)){continue}break}}}I=u;return m}function vb(a,b,c){var d=q(0),e=q(0),f=0,g=0,i=0,k=0,l=0,m=0,o=0;i=j[a+12>>2];a:{if((i|0)<1){break a}k=j[a+8>>2];g=j[a>>2];while(1){n[(f<<2)+b>>2]=h[f+g|0];f=f+1|0;if((i|0)!=(f|0)){continue}break}if((i|0)<1){break a}m=j[a+4>>2];g=0;o=(k|0)<1;while(1){if(!o){l=(g<<2)+b|0;d=n[l>>2];f=0;while(1){d=q(d+q(n[(f<<2)+c>>2]*q(h[(p(f,i)+g|0)+m|0])));n[l>>2]=d;f=f+1|0;if((k|0)!=(f|0)){continue}break}}g=g+1|0;if((g|0)!=(i|0)){continue}break}if((i|0)<1){break a}f=0;while(1){c=(f<<2)+b|0;n[c>>2]=n[c>>2]*q(.0078125);f=f+1|0;if((i|0)!=(f|0)){continue}break}}b:{if(j[a+16>>2]){f=0;if((i|0)<=0){break b}while(1){c=(f<<2)+b|0;d=q(n[c>>2]*q(.5));e=q(1);c:{if(dq(-8)^1){break c}e=q(.5);if(d!=d){break c}g=d>2];e=q(e+q(q(a|0)*q(-.03999999910593033)));d=q(d+q(q(q(1)-q(d*e))*q(e*q(q(1)-q(d*d)))));e=q(q((g?q(-d):d)*q(.5))+q(.5))}n[c>>2]=e;f=f+1|0;if((i|0)!=(f|0)){continue}break}break b}f=0;if((i|0)<=0){break b}while(1){c=(f<<2)+b|0;d=n[c>>2];e=q(1);e:{if(dq(-8)^1){break e}e=q(0);if(d!=d){break e}g=d>2];e=q(e+q(q(a|0)*q(-.03999999910593033)));d=q(d+q(q(q(1)-q(d*e))*q(e*q(q(1)-q(d*d)))));e=g?q(-d):d}n[c>>2]=e;f=f+1|0;if((i|0)!=(f|0)){continue}break}}}function Db(a,b,c,d,e,f,g,h,i,l,m,o,t,w,x){var y=0,z=q(0),A=0,B=q(0),C=0,D=q(0),E=q(0),F=q(0),G=0,H=q(0),J=q(0),K=q(0),L=0,M=0,O=0,P=0,Q=0,R=0,S=0;y=I-16|0;I=y;j[y+8>>2]=0;j[y+12>>2]=0;if((g+3|0)<=(f|0)){T(l,t,3)}if(t){D=q(.149993896484375)}else{g=o<<2;K=n[g+33376>>2];D=n[g+33392>>2]}g=0;if((b|0)<(c|0)){L=(m|0)>1?m:1;M=p(m,3);O=f+32|0;f=j[a+8>>2];o=b;while(1){P=(x|0)!=0&(o|0)>1;Q=p(o-c|0,M);m=((o|0)<20?o:20)<<1;R=m+h|0;S=(m|1)+h|0;m=0;while(1){f=p(f,m)+o<<2;z=n[f+d>>2];B=n[e+f>>2];E=q(q(u(B,q(-28)))-w);f=z>2];H=q(q(z-F)-B);J=q(v(q(H+q(.5))));a:{if(q(r(J))-1)){z=q(E-z);b:{if(q(r(z))>31&f}j[y+4>>2]=t;A=(O-j[l+20>>2]|0)-s(j[l+28>>2])|0;f=t;c:{if((b|0)==(o|0)){break c}C=A+Q|0;if((C|0)>23){break c}f=(t|0)<1?t:1;j[y+4>>2]=f;if((C|0)>15){break c}f=(f|0)>-1?f:-1;j[y+4>>2]=f}if(P){f=f>>31&f;j[y+4>>2]=f}d:{if((A|0)>=15){Ad(l,y+4|0,k[R|0]<<7,k[S|0]<<6);break d}if((A|0)>=2){f=(f|0)<1?f:1;f=(f|0)>-1?f:-1;j[y+4>>2]=f;N(l,f<<1^f>>31,33408,2);break d}if((A|0)==1){f=f>>31&f;j[y+4>>2]=f;T(l,0-f|0,1);break d}j[y+4>>2]=-1}f=j[a+8>>2];A=p(m,f)+o<<2;C=j[y+4>>2];z=q(C|0);n[A+i>>2]=H-z;n[e+A>>2]=q(B+F)+z;n[G>>2]=q(B+z)-q(D*z);A=t-C|0;t=A>>31;g=(t^t+A)+g|0;m=m+1|0;if((L|0)!=(m|0)){continue}break}o=o+1|0;if((o|0)!=(c|0)){continue}break}}I=y+16|0;return x?0:g}function Ed(a,b,c){var d=0,e=0,f=0,g=q(0),l=0,m=0,o=q(0),p=0;l=I-16|0;I=l;a:{if(k[a+4765|0]!=2){f=j[a+4580>>2];break a}m=xa(+q(q(n[b+708>>2]+q(-12))*q(-.25)));f=j[a+4580>>2];if((f|0)<1){break a}g=q(q(q(1/(m+1))*q(-.5))+q(1));while(1){e=(d<<2)+b|0;n[e>>2]=g*n[e>>2];d=d+1|0;if((f|0)!=(d|0)){continue}break}}d=0;e=j[a+4588>>2];m=Oa(+q(q(q(q(j[a+4716>>2])*q(-.0078125))+q(21))*q(.33000001311302185)));b:{if((f|0)<=0){break b}o=q(m/+(e|0));while(1){e=(d<<2)+b|0;g=n[e>>2];g=q(y(q(q(g*g)+q(n[e+712>>2]*o))));n[e>>2]=g>2]*q(65536));c:{if(q(r(g))>2]=e;d=d+1|0;if((f|0)!=(d|0)){continue}break}}M(b+728|0,l,f<<2);h[b+744|0]=k[a+7168|0];Hb(a+4736|0,l,a+7168|0,(c|0)==2,j[a+4580>>2]);c=j[a+4580>>2];if((c|0)>=1){d=0;while(1){f=d<<2;n[f+b>>2]=q(j[f+l>>2])*q(152587890625e-16);d=d+1|0;if((c|0)!=(d|0)){continue}break}}c=k[a+4765|0];d:{if((c|0)!=2){d=h[a+4766|0];break d}d=q(n[b+708>>2]+q(q(j[a+4712>>2])*q(30517578125e-15)))>q(1)^1;h[a+4766|0]=d}n[b+692>>2]=q(q(q(i[((c<<24>>24<<1&-4)+(d<<1)|0)+5840>>1])*q(.0009765625))*q(.800000011920929))+q(q(q(q(q(q(j[a+4628>>2])*q(-.05000000074505806))+q(1.2000000476837158))+q(q(q(j[a+4532>>2])*q(.20000000298023224))*q(-.00390625)))+q(n[b+696>>2]*q(-.10000000149011612)))-q(n[b+700>>2]*q(.20000000298023224)));I=l+16|0}function Ud(a,b,c,d,e,f,g){var m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;m=I-128|0;r=m;I=m;if(g>>>0<3){Nb(b,j[c+36>>2],i[c+2>>1]);m=m-((l[c>>1]<<2)+15&524272)|0;I=m;Xd(m,b,j[c+8>>2],j[c+12>>2],i[c>>1],i[c+2>>1]);t=(f<<2)+15&-16;v=m-t|0;n=v;I=n;Ob(m,n,i[c>>1],f);w=n-t|0;m=w;I=m;x=m-(f<<4)|0;I=x;if((f|0)>=1){E=g>>>1|0;F=e<<14>>16;t=0;while(1){B=t<<2;u=j[B+v>>2];y=i[c+2>>1];if((y|0)>=1){g=p(u,y);G=g+j[c+8>>2]|0;H=j[c+12>>2]+(g<<1)|0;g=0;while(1){m=g<<1;n=i[m+H>>1];i[m+(r+80|0)>>1]=p(n,l[b+m>>1]-(k[g+G|0]<<7)<<16>>16)>>>14;o=i[d+m>>1];q=o>>31;n=p(n,n);C=s(n);D=s(q^o+q);o=o<>16)<<16>>16;o=(p(n,o&65535)>>16)+p(n,o>>16)|0;q=ie(o,o>>31,q,q>>31);q=A-(((J&536870911)<<3|q>>>29)&-8)|0;n=(p(q>>16,n)+o|0)+(p(n,q&65535)>>16)|0;q=D-C|0;o=q+8|0;A=m+(r+48|0)|0;m=q+29|0;a:{if((m|0)<=20){m=0-o|0;o=2147483647>>>m|0;q=-2147483648>>m;m=((n|0)>(o|0)?o:(n|0)<(q|0)?q:n)<>o:0}i[A>>1]=m;g=g+1|0;if((y|0)!=(g|0)){continue}break}}Aa(r,r+32|0,c,u);m=w+B|0;j[m>>2]=Wd((t<<4)+x|0,r+80|0,r+48|0,r+32|0,r,j[c+32>>2],i[c+4>>1],i[c+6>>1],e,i[c+2>>1]);g=j[c+16>>2]+p(i[c>>1],E)|0;n=m;if(u){g=g+u|0;o=k[g-1|0]}else{o=256}j[n>>2]=p(67108864-(Q(o-k[g|0]|0)<<16)>>16,F)+j[m>>2];t=t+1|0;if((t|0)!=(f|0)){continue}break}}Ob(w,r+124|0,f,1);d=j[r+124>>2];h[a|0]=j[(d<<2)+v>>2];M(a+1|0,(d<<4)+x|0,i[c+2>>1]);Vd(b,a,c);I=r+128|0;return}L(15776,15829,63);z()}function rd(a,b,c,d){var e=0,f=q(0),g=q(0),h=0,i=0,k=q(0),l=0,m=0,o=q(0),p=q(0),s=q(0),t=0,u=0,w=0,x=q(0),y=q(0);w=I;h=(d<<2)+15&-16;e=w-h|0;I=e;t=e-h|0;I=t;l=(d|0)>1?d:1;m=O(e,0,l<<2);e=0;while(1){h=e<<2;i=h+a|0;f=n[i>>2];j[h+t>>2]=f>2]=r(f);j[b+h>>2]=0;e=e+1|0;if((l|0)!=(e|0)){continue}break}f=q(0);if(d>>1<(c|0)){e=0;while(1){f=q(f+n[(e<<2)+a>>2]);e=e+1|0;if((l|0)!=(e|0)){continue}break}g=q(q(c|0)+q(.800000011920929));if(!(fq(1.0000000036274937e-15)^1):0)){j[a>>2]=1065353216;O(a+4|0,0,(((d|0)>2?d:2)<<2)-4|0);f=q(1)}o=q(g*q(q(1)/f));h=0;f=q(0);while(1){i=h<<2;u=i+b|0;p=n[a+i>>2];g=q(v(q(o*p)));a:{if(q(r(g))>2]=e;g=q(e|0);n[i+m>>2]=g+g;k=q(k+q(p*g));c=c-e|0;f=q(f+q(g*g));h=h+1|0;if((l|0)!=(h|0)){continue}break}}b:{if((d+3|0)<(c|0)){k=n[m>>2];j[b>>2]=j[b>>2]+c;s=f;f=q(c|0);f=q(q(s+q(f*f))+q(k*f));break b}if((c|0)<1){break b}u=(d|0)>2?d:2;p=n[a>>2];d=0;while(1){o=q(f+q(1));f=q(o+n[m>>2]);g=q(k+p);g=q(g*g);e=1;h=0;while(1){i=e<<2;x=q(o+n[i+m>>2]);s=f;f=q(k+n[a+i>>2]);y=q(f*f);i=q(s*y)>q(g*x);f=i?x:s;g=i?y:g;h=i?e:h;e=e+1|0;if((u|0)!=(e|0)){continue}break}e=h<<2;g=n[e+a>>2];h=e+m|0;f=n[h>>2];n[h>>2]=f+q(2);e=b+e|0;j[e>>2]=j[e>>2]+1;f=q(o+f);k=q(k+g);d=d+1|0;if((d|0)!=(c|0)){continue}break}}e=0;while(1){a=e<<2;c=a+b|0;a=j[a+t>>2];j[c>>2]=(j[c>>2]^0-a)+a;e=e+1|0;if((l|0)!=(e|0)){continue}break}I=w;return f}function Rc(a,b,c,d){var e=0,f=0,g=0;e=I-32|0;I=e;g=-1;a:{b:{if((b|0)<=15999){if((b|0)==8e3|(b|0)==12e3){break b}break a}if((b|0)==16e3|(b|0)==48e3){break b}if((b|0)!=24e3){break a}}if(c-1>>>0>1){break a}f=d-2048|0;if(f>>>0>3|(f|0)==2){break a}j[e+28>>2]=20216;j[e+28>>2]=j[e+28>>2]+3&-4;a=O(a,0,(j[e+28>>2]+p(((j[4500]<<2)+(j[4501]<<4)|0)+4096|0,c)|0)+18384|0);j[e+28>>2]=20216;g=j[e+28>>2]+3&-4;j[e+28>>2]=g;j[a+14192>>2]=c;j[a+112>>2]=c;j[a+4>>2]=18140;j[a+180>>2]=0;j[a+144>>2]=b;f=g+18140|0;j[a>>2]=f;g=-3;if(Ja(a+18140|0,0,a+8|0)){break a}j[a+8>>2]=c;j[a+12>>2]=c;j[a+76>>2]=0;j[a+56>>2]=0;j[a+60>>2]=0;j[a+44>>2]=9;j[a+48>>2]=0;j[a+36>>2]=25e3;j[a+40>>2]=0;j[a+28>>2]=16e3;j[a+32>>2]=20;j[a+20>>2]=16e3;j[a+24>>2]=8e3;j[a+16>>2]=j[a+144>>2];f=a+f|0;if(dd(f,b,c,j[a+180>>2])){break a}g=0;j[e+16>>2]=0;P(f,10016,e+16|0);j[e>>2]=j[a+44>>2];P(f,4010,e);j[a+148>>2]=1;j[a+152>>2]=1;j[a+160>>2]=p(b,c)+3e3;j[a+128>>2]=-1e3;j[a+132>>2]=1105;j[a+108>>2]=d;j[a+136>>2]=-1e3;j[a+140>>2]=-1;j[a+120>>2]=-1e3;j[a+124>>2]=-1e3;j[a+164>>2]=-1e3;j[a+168>>2]=24;j[a+156>>2]=5e3;j[a+14204>>2]=1065353216;i[a+14196>>1]=16384;b=j[a+144>>2];j[a+172>>2]=(b|0)/100;j[a+116>>2]=(b|0)/250;b=Q(60);j[a+14252>>2]=1;j[a+14240>>2]=1105;j[a+14224>>2]=1001;j[a+14200>>2]=b<<8;b=a+188|0;j[b+8>>2]=j[a+144>>2];j[b>>2]=0;O(b+12|0,0,13992);j[a+192>>2]=j[a+108>>2]}I=e+32|0;return g}function Gd(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=q(0);f=I-2064|0;I=f;a:{b:{h=j[a+4580>>2];c:{if((h|0)>=1){while(1){i=g<<2;n[i+(f+1568|0)>>2]=q(1)/n[b+i>>2];g=g+1|0;if((h|0)!=(g|0)){continue}break}if(k[a+4765|0]==2){break c}if((h|0)<1){break b}e=j[a+4640>>2];g=d-(e<<2)|0;i=j[a+4588>>2];d=0;c=f;while(1){ce(c,g,n[(f+1568|0)+(d<<2)>>2],e+i|0);i=j[a+4588>>2];g=(i<<2)+g|0;e=j[a+4640>>2];c=(i+e<<2)+c|0;d=d+1|0;h=j[a+4580>>2];if((d|0)<(h|0)){continue}break}break b}if(k[a+4765|0]!=2){break b}}if((j[b+228>>2]+2|0)<=(j[a+4592>>2]-j[a+4640>>2]|0)){g=c;c=b+228|0;$d(f+1664|0,f+1584|0,g,c,j[a+4588>>2],h);g=b+144|0;Md(g,a+4740|0,a+4768|0,a+4656|0,b+708|0,f+1664|0,f+1584|0,j[a+4588>>2],j[a+4580>>2]);Kd(a,b,e);e=d;d=j[a+4640>>2];Jd(f,e-(d<<2)|0,g,c,f+1568|0,j[a+4588>>2],j[a+4580>>2],d);break a}L(16745,16862,62);z()}O(b+144|0,0,p(h,20));j[b+708>>2]=0;j[a+4656>>2]=0}c=a;e=f+1536|0;d=f;if(j[a+4664>>2]){l=q(.009999999776482582)}else{l=n[b+700>>2];l=q(q(q(Oa(+q(n[b+708>>2]/q(3))))/q(1e4))/q(q(l*q(.75))+q(.25)))}Id(c,e,d,l);c=b+16|0;Nd(a,c,f+1536|0,a+4500|0);Hd(b+712|0,f,c,b,j[a+4588>>2],j[a+4580>>2],j[a+4640>>2]);c=f+1560|0;d=j[c+4>>2];b=a+4524|0;j[b>>2]=j[c>>2];j[b+4>>2]=d;c=f+1552|0;d=j[c+4>>2];b=a+4516|0;j[b>>2]=j[c>>2];j[b+4>>2]=d;c=j[f+1548>>2];b=a+4508|0;j[b>>2]=j[f+1544>>2];j[b+4>>2]=c;b=j[f+1540>>2];j[a+4500>>2]=j[f+1536>>2];j[a+4504>>2]=b;I=f+2064|0}function td(a,b,c,d){var e=0,f=0,g=q(0),h=0,i=q(0),k=0,l=0,n=0;h=d;d=c+1|0;e=(b|0)>(c|0);e=Wa(h,j[j[((e?d:b)<<2)+36320>>2]+(((b|0)>(d|0)?b:d)<<2)>>2]+j[j[(((b|0)<(c|0)?b:c)<<2)+36320>>2]+((e?b:c)<<2)>>2]|0);a:{if((c|0)>0){if((b|0)<2){break a}if((b|0)!=2){while(1){h=b;b:{if((b|0)<=(c|0)){d=c;f=e;k=h<<2;l=j[k+36320>>2];e=j[(l+(c<<2)|0)+4>>2];n=f>>>0>=e>>>0?-1:0;f=f-(n&e)|0;c:{if(f>>>0>2]){while(1){b=b-1|0;e=j[k+j[(b<<2)+36320>>2]>>2];if(f>>>0>>0){continue}break c}}while(1){b=d;d=b-1|0;e=j[(b<<2)+l>>2];if(f>>>0>>0){continue}break}}c=((c+n|0)-b^n)<<16>>16;j[a>>2]=c;i=g;g=q(c|0);g=q(i+q(g*g));c=b;e=f-e|0;break b}d=h<<2;f=c<<2;b=j[d+j[f+36324>>2]>>2];f=j[d+j[f+36320>>2]>>2];if(!(b>>>0<=e>>>0|f>>>0>e>>>0)){j[a>>2]=0;e=e-f|0;break b}f=e;e=b>>>0<=e>>>0?-1:0;f=f-(e&b)|0;b=c;while(1){b=b-1|0;k=j[d+j[(b<<2)+36320>>2]>>2];if(k>>>0>f>>>0){continue}break}c=(e^(c+e|0)-b)<<16>>16;j[a>>2]=c;i=g;g=q(c|0);g=q(i+q(g*g));c=b;e=f-k|0}b=h-1|0;a=a+4|0;if((h|0)>3){continue}break}}d=c<<1|1;h=d>>>0<=e>>>0;b=h?-1:0;h=c-h|0;d=e-(b&d)|0;e=d+1|0;c=e>>>1|0;b=(b^h-c)<<16>>16;j[a>>2]=b;h=a;a=d-(c?(e&-2)-1|0:0)|0;a=(c-a^0-a)<<16>>16;j[h+4>>2]=a;i=g;g=q(b|0);i=q(i+q(g*g));g=q(a|0);return q(i+q(g*g))}L(36272,36295,469);z()}L(41504,36295,470);z()}function hb(a,b,c,d,e,f,g,h,i,j,k){var l=0,m=q(0),o=q(0),r=q(0),s=q(0),t=q(0),u=0,v=q(0),w=0,x=0,y=0,z=0,A=q(0),B=q(0),C=q(0),D=q(0),E=q(0),F=q(0),G=q(0);a:{if(!(f!=q(0)|g!=q(0))){if((a|0)==(b|0)){break a}U(a,b,e<<2);return}l=(d|0)>15?d:15;w=-2-l|0;x=l^-1;y=1-l|0;z=0-l|0;d=p(i,12);A=q(n[d+1704>>2]*g);B=q(n[d+1700>>2]*g);C=q(n[d+1696>>2]*g);d=f==g?(h|0)==(i|0)?0:k:k;i=(c|0)>15?c:15;c=(i|0)==(l|0)?d:k;if((c|0)>=1){d=p(h,12);D=q(n[d+1704>>2]*f);E=q(n[d+1700>>2]*f);F=q(n[d+1696>>2]*f);d=2-l|0;m=n[(y<<2)+b>>2];o=n[(z<<2)+b>>2];r=n[(x<<2)+b>>2];f=n[(w<<2)+b>>2];k=0;while(1){h=k<<2;s=n[h+j>>2];t=q(s*s);v=q(q(1)-t);u=a+h|0;s=n[(d+k<<2)+b>>2];G=n[b+h>>2];h=(k-i<<2)+b|0;n[u>>2]=q(q(f+s)*q(A*t))+q(q(q(m+r)*q(B*t))+q(q(o*q(C*t))+q(q(q(G+q(n[h>>2]*q(F*v)))+q(q(E*v)*q(n[h+4>>2]+n[h-4>>2])))+q(q(D*v)*q(n[h+8>>2]+n[h-8>>2])))));f=r;r=o;o=m;m=s;k=k+1|0;if((c|0)!=(k|0)){continue}break}u=c}if(g==q(0)){if((a|0)==(b|0)){break a}d=c<<2;U(a+d|0,b+d|0,e-c<<2);return}h=e-u|0;if((h|0)<1){break a}e=u<<2;d=a+e|0;c=2-l|0;b=b+e|0;r=n[b+(w<<2)>>2];f=n[b+(x<<2)>>2];m=n[b+(z<<2)>>2];o=n[b+(y<<2)>>2];k=0;while(1){a=k<<2;g=n[b+(c+k<<2)>>2];n[a+d>>2]=q(A*q(r+g))+q(q(B*q(f+o))+q(q(C*m)+n[a+b>>2]));r=f;f=m;m=o;o=g;k=k+1|0;if((h|0)!=(k|0)){continue}break}}}function jd(a,b,c,d,e,f,g,h,k,m,o){var r=0,s=0,t=0,u=q(0),v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=q(0);a:{b:{if((h|0)>0){y=j[a+32>>2];s=y+(h<<1)|0;c:{if((p(i[s>>1]-i[s-2>>1]|0,m)|0)<9){break c}G=p(j[a+44>>2],m);H=(k|0)>1?k:1;I=l[y>>1];while(1){J=(p(A,G)<<2)+b|0;B=I;s=0;while(1){r=B<<16;F=s+1|0;B=i[(F<<1)+y>>1];r=r>>16;t=p(B-r|0,m);if((t|0)>=9){K=(p(m,r)<<2)+J|0;M=q(t|0);C=0;v=0;w=0;r=0;while(1){u=n[(r<<2)+K>>2];u=q(q(u*u)*M);C=(u>2]-4|0)<(s|0)?((v+w<<5>>>0)/(t>>>0)|0)+x|0:x;s=j[(s<<2)+o>>2];D=p(s,((v<<1>=(t|0))+(w<<1>=(t|0))|0)+(C<<1>=(t|0))|0)+D|0;E=s+E|0}s=F;if((s|0)!=(h|0)){continue}break}A=A+1|0;if((H|0)!=(A|0)){continue}break}if(g){r=j[e>>2]+(x?(x>>>0)/(p((h-j[a+8>>2]|0)+4|0,k)>>>0)|0:0)>>1;j[e>>2]=r;d:{e:{switch(j[f>>2]){case 2:r=r+4|0;break d;case 0:break e;default:break d}}r=r-4|0}j[f>>2]=(r|0)>22?2:(r|0)>18}if((E|0)<=0){break b}if((D|0)<=-1){break a}a=j[c>>2]+((D<<8>>>0)/(E>>>0)|0)>>1;j[c>>2]=a;r=3;a=(p(a,3)-(d<<7)|0)+448|0;if((a|0)<318){break c}r=2;if((a|0)<1022){break c}r=(a|0)<1534}return r}L(41813,41800,489);z()}L(41837,41800,545);z()}L(41865,41800,546);z()}function fe(a,b,c,d){var e=0,f=0,g=0,l=0,m=q(0),o=0,p=0,r=0;e=I-1744|0;I=e;o=j[a+4592>>2];l=j[a+4596>>2];g=l+j[a+4584>>2]|0;p=o+g|0;f=j[a+4548>>2];if((p|0)>=(f|0)){g=((g<<2)+d|0)-(f<<2)|0;sa(e,g,1,l);l=j[a+4596>>2];f=l<<2;g=f+g|0;r=e+f|0;f=j[a+4548>>2]-(l<<1)<<2;sa(M(r,g,f)+f|0,g+f|0,2,l);Sa(e+1664|0,e,j[a+4548>>2],j[a+4648>>2]+1|0);m=n[e+1664>>2];n[e+1664>>2]=m+q(q(m*q(.0010000000474974513))+q(1));m=Ra(e+1536|0,e+1664|0,j[a+4648>>2]);n[b+704>>2]=n[e+1664>>2]/(m>q(1)?m:q(1));Qa(e+1600|0,e+1536|0,j[a+4648>>2]);ra(e+1600|0,j[a+4648>>2],q(.9900000095367432));qa(c,e+1600|0,d-(o<<2)|0,p,j[a+4648>>2]);a:{if(!(j[a+4664>>2]|!k[a+4765|0])){if(!Vb(c,b+228|0,a+4762|0,a+4764|0,a+10060|0,j[a+4544>>2],q(q(j[a+4652>>2])*q(152587890625e-16)),q(q(q(q(q(q(j[a+4648>>2])*q(-.004000000189989805))+q(.6000000238418579))+q(q(q(j[a+4532>>2])*q(.10000000149011612))*q(-.00390625)))+q(q(h[a+4541|0]>>1)*q(-.15000000596046448)))+q(q(q(j[a+4712>>2])*q(.10000000149011612))*q(-30517578125e-15))),j[a+4576>>2],j[a+4644>>2],j[a+4580>>2])){h[a+4765|0]=2;break a}h[a+4765|0]=1;break a}j[b+228>>2]=0;j[b+232>>2]=0;j[b+236>>2]=0;j[b+240>>2]=0;j[a+10060>>2]=0;h[a+4764|0]=0;i[a+4762>>1]=0}I=e+1744|0;return}L(10821,10883,59);z()}function Oc(a,b,c,d){var e=q(0),f=q(0),g=q(0),h=q(0),i=q(0),j=0,k=q(0),l=q(0),m=q(0),o=q(0),p=q(0),s=q(0),v=q(0),w=0;j=(c|0)/(b|0)|0;i=q(q(q(-25)/q(((j|0)>50?j:50)|0))+q(1));a:{b:{if((b|0)>=4){w=b-3|0;c=0;while(1){b=c<<3;g=n[b+a>>2];k=n[(b|4)+a>>2];l=n[(b|8)+a>>2];m=n[(b|12)+a>>2];o=n[(b|16)+a>>2];p=n[(b|20)+a>>2];s=n[(b|24)+a>>2];v=n[(b|28)+a>>2];h=q(h+q(q(q(q(g*k)+q(l*m))+q(o*p))+q(s*v)));e=q(e+q(q(q(q(k*k)+q(m*m))+q(p*p))+q(v*v)));f=q(f+q(q(q(q(g*g)+q(l*l))+q(o*o))+q(s*s)));c=c+4|0;if((w|0)>(c|0)){continue}break}if(f>2];e=q(u(q(g+q(i*q(e-g))),q(0)));n[d+8>>2]=e;g=n[d+4>>2];h=q(u(q(g+q(i*q(h-g))),q(0)));n[d+4>>2]=h;g=n[d>>2];f=q(u(q(g+q(i*q(f-g))),q(0)));n[d>>2]=f;c:{if(!((eq(.0007999999797903001))){e=n[d+16>>2];break c}f=q(y(f));i=q(y(e));e=q(f*i);h=e>h?h:e;n[d+4>>2]=h;g=n[d+12>>2];f=q(y(f));i=q(y(i));e=q(h/q(e+q(1.0000000036274937e-15)));e=q(q(q(q(r(q(f-i)))/q(q(f+q(1.0000000036274937e-15))+i))*q(y(q(q(1)-q(e*e)))))-g);f=q(j|0);e=q(g+q(e/f));n[d+12>>2]=e;f=q(n[d+16>>2]+q(q(-.019999999552965164)/f));e=e>2]=e}return q(t(q(e*q(20)),q(1)))}function oc(a){var b=0,c=0,d=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{if(a){b=j[a+8>>2];k:{if((b|0)<=23999){if((b|0)==8e3|(b|0)==12e3){break k}if((b|0)!=16e3){break a}break k}if((b|0)<=44099){if((b|0)==24e3|(b|0)==32e3){break k}break a}if((b|0)==48e3){break k}if((b|0)!=44100){break a}}b=j[a+20>>2];if((b|0)!=12e3?!((b|0)==8e3|(b|0)==16e3):0){break a}c=j[a+12>>2];if((c|0)!=12e3?!((c|0)==8e3|(c|0)==16e3):0){break a}d=j[a+16>>2];if(((d|0)!=12e3?!((d|0)==8e3|(d|0)==16e3):0)|((b|0)<(d|0)|(b|0)>(c|0))){break a}if((c|0)<(d|0)){break a}l:{m:{b=j[a+24>>2];switch(b-10|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:break j;case 0:case 10:break l;default:break m}}if((b|0)==40){break l}if((b|0)!=60){break j}}if(m[a+32>>2]>=101){break i}if(m[a+48>>2]>=2){break h}if(m[a+52>>2]>=2){break g}if(m[a+40>>2]>=2){break f}b=j[a>>2];if(b-1>>>0>=2){break e}c=j[a+4>>2];if(c-1>>>0>=2){break d}if((b|0)<(c|0)){break c}if(m[a+36>>2]>=11){break b}return 0}L(1952,1989,41);z()}L(2016,1989,69);z()}L(2016,1989,73);z()}L(2016,1989,77);z()}L(2016,1989,81);z()}L(2016,1989,85);z()}L(2016,1989,89);z()}L(2016,1989,93);z()}L(2016,1989,97);z()}L(2016,1989,101);z()}L(2016,1989,62);z()}function nd(a,b,c,d){var e=q(0),f=q(0),g=q(0),h=q(0),i=q(0),j=0;a:{if(c){f=q(1.0000000036274937e-15);if((d|0)<1){e=q(1.0000000036274937e-15);break a}c=0;e=q(1.0000000036274937e-15);while(1){g=e;j=c<<2;h=n[j+a>>2];i=n[b+j>>2];e=q(h-i);e=q(g+q(e*e));g=f;f=q(h+i);f=q(g+q(f*f));c=c+1|0;if((d|0)!=(c|0)){continue}break}break a}if((d|0)<1){e=q(1.0000000036274937e-15);f=q(1.0000000036274937e-15);break a}c=0;while(1){e=n[(c<<2)+a>>2];f=q(f+q(e*e));c=c+1|0;if((d|0)!=(c|0)){continue}break}f=q(f+q(1.0000000036274937e-15));c=0;e=q(0);while(1){g=e;e=n[(c<<2)+b>>2];e=q(g+q(e*e));c=c+1|0;if((d|0)!=(c|0)){continue}break}e=q(e+q(1.0000000036274937e-15))}h=q(y(e));e=q(h*h);i=q(y(f));f=q(i*i);g=q(0);b:{if(q(e+f)f^1)){break b}g=q(q(q(q(q(h*i)*q(f+q(e*q(.43157973885536194))))/q(q(f+q(e*q(.6784840226173401)))*q(f+q(e*q(.0859554186463356)))))+q(1.5707963705062866))+q(-1.5707963705062866))}e=q(v(q(q(g*q(10430.3818359375))+q(.5))));if(q(r(e))>2]|0;o=j[u>>2];b=0;v=i+j[a+60>>2]|0;m=j[v>>2];w=j[d>>2];a:{if((m|0)>=(w|0)){break a}B=j[a+40>>2];C=j[a+36>>2];D=j[a+92>>2];b=j[f>>2];f=(b|0)>0?b:0;i=j[a+12>>2];E=q(i>>>0);x=j[a+24>>2];F=(x|0)<1;b=0;while(1){if((b|0)==(f|0)){b=f;break a}y=j[a+48>>2];l=p(y,o);d=(l>>>0)/(i>>>0)|0;g=q(q(l-p(d,i)>>>0)/E);b:{if(F){k=q(0);r=q(0);s=q(0);t=q(0);break b}G=(m<<2)+c|0;H=4-d|0;I=j[a+76>>2];d=0;t=q(0);s=q(0);r=q(0);k=q(0);while(1){h=n[(d<<2)+G>>2];d=d+1|0;l=(p(y,d)+H<<2)+I|0;s=q(s+q(h*n[l>>2]));t=q(t+q(h*n[l+4>>2]));r=q(r+q(h*n[l-4>>2]));k=q(k+q(h*n[l-8>>2]));if((d|0)!=(x|0)){continue}break}}h=q(g*q(.16666999459266663));z=q(g*q(g*h));h=q(z-h);J=q(h*k);k=q(g*q(g*q(.5)));A=q(q(g+k)-q(g*k));g=q(q(k+q(g*q(-.3333300054073334)))-z);n[(p(b,D)<<2)+e>>2]=q(q(J+q(A*r))+q(s*q(1- +h- +A- +g)))+q(g*t);d=o+B|0;o=d-(d>>>0>>0?0:i)|0;b=b+1|0;m=(m+C|0)+(d>>>0>=i>>>0)|0;if((w|0)>(m|0)){continue}break}}j[v>>2]=m;j[u>>2]=o;return b|0}function M(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){G(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){h[c|0]=k[b|0];b=b+1|0;c=c+1|0;if(e>>>0<=c>>>0){break b}if(c&3){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+ -64|0;if(f>>>0>>0){break c}while(1){j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=j[b+16>>2];j[c+20>>2]=j[b+20>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=j[b+28>>2];j[c+32>>2]=j[b+32>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=j[b+40>>2];j[c+44>>2]=j[b+44>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=j[b+52>>2];j[c+56>>2]=j[b+56>>2];j[c+60>>2]=j[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){h[c|0]=k[b|0];h[c+1|0]=k[b+1|0];h[c+2|0]=k[b+2|0];h[c+3|0]=k[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){h[c|0]=k[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function bc(a,b,c,d){var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=I-1936|0;I=e;g=a;f=j[g+4>>2];j[e>>2]=j[g>>2];j[e+4>>2]=f;f=j[g+12>>2];j[e+8>>2]=j[g+8>>2];j[e+12>>2]=f;x=g+16|0;n=i[3144];s=i[3145];o=i[3143];q=i[3142];y=e+16|0;while(1){g=(d|0)<480?d:480;db(x,y,c,6280,g);if((g|0)>=3){h=j[e>>2];f=e;l=g;while(1){r=p(h>>16,q)+(p(h&65535,q)>>16)|0;h=j[f+4>>2];k=h>>16;m=h&65535;h=j[f+8>>2];t=(p(h&65535,s)>>16)+p(h>>16,s)|0;h=j[f+12>>2];u=h>>16;v=h&65535;r=((((r+p(k,o)|0)+(p(m,o)>>16)|0)+t|0)+p(u,n)|0)+(p(v,n)>>16)|0;w=(r>>5)+1>>1;i[b>>1]=(r|0)>2097119?32767:(w|0)>-32768?w:-32768;m=(t+((p(o,u)+(p(o,v)>>16)|0)+p(k,n)|0)|0)+(p(n,m)>>16)|0;k=j[f+16>>2];k=(m+p(k>>16,q)|0)+(p(k&65535,q)>>16)|0;m=(k>>5)+1>>1;i[b+2>>1]=(k|0)>2097119?32767:(m|0)>-32768?m:-32768;b=b+4|0;f=f+12|0;k=(l|0)>5;l=l-3|0;if(k){continue}break}}d=d-g|0;if((d|0)>=1){f=(g<<2)+e|0;l=j[f+4>>2];j[e>>2]=j[f>>2];j[e+4>>2]=l;l=j[f+12>>2];j[e+8>>2]=j[f+8>>2];j[e+12>>2]=l;c=(g<<1)+c|0;continue}break}b=(g<<2)+e|0;c=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=c;c=j[b+12>>2];j[a+8>>2]=j[b+8>>2];j[a+12>>2]=c;I=e+1936|0}function Bc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=q(0),h=0,i=0,k=q(0),l=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=q(0),C=0,D=0,E=0,F=q(0),G=0,H=0,I=0,J=0;i=b<<2;w=i+j[a+64>>2]|0;r=j[w>>2];b=0;x=i+j[a+60>>2]|0;o=j[x>>2];y=j[d>>2];a:{if((o|0)>=(y|0)){break a}C=j[a+40>>2];D=j[a+36>>2];E=j[a+92>>2];b=j[f>>2];f=(b|0)>0?b:0;i=j[a+12>>2];F=q(i>>>0);z=j[a+24>>2];G=(z|0)<1;b=0;while(1){if((b|0)==(f|0)){b=f;break a}A=j[a+48>>2];l=p(A,r);d=(l>>>0)/(i>>>0)|0;k=q(q(l-p(d,i)>>>0)/F);b:{if(G){h=0;m=0;s=0;t=0;break b}H=(o<<2)+c|0;I=4-d|0;J=j[a+76>>2];d=0;t=0;s=0;m=0;h=0;while(1){g=n[(d<<2)+H>>2];d=d+1|0;l=(p(A,d)+I<<2)+J|0;s=s+ +q(g*n[l>>2]);t=t+ +q(g*n[l+4>>2]);m=m+ +q(g*n[l-4>>2]);h=h+ +q(g*n[l-8>>2]);if((d|0)!=(z|0)){continue}break}}u=h;g=q(k*q(.16666999459266663));B=q(k*q(k*g));h=+q(B-g);v=m;g=q(k*q(k*q(.5)));m=+q(q(k+g)-q(k*g));u=u*h+v*m;v=1-h-m;h=+q(q(g+q(k*q(-.3333300054073334)))-B);n[(p(b,E)<<2)+e>>2]=u+s*+q(v-h)+t*h;d=r+C|0;r=d-(d>>>0>>0?0:i)|0;b=b+1|0;o=(o+D|0)+(d>>>0>=i>>>0)|0;if((y|0)>(o|0)){continue}break}}j[x>>2]=o;j[w>>2]=r;return b|0}function Pd(a,b,c,d,e,f,g,i,l,m,n,o){var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;t=j[f+8>>2];q=j[f+4>>2];r=j[f>>2];s=j[f+12>>2];f=j[f+16>>2];j[c>>2]=2147483647;j[b>>2]=2147483647;h[a|0]=0;if((o|0)>=1){v=f<<8;w=s<<7;x=r<<7;y=q<<7;z=t<<7;A=m<<16>>16;m=0;while(1){s=h[g|0];r=h[g+1|0];q=h[g+2|0];t=h[g+3|0];f=h[g+4|0];u=p(s,j[e>>2])+((((p(r,j[e+4>>2])-x|0)+p(q,j[e+8>>2])|0)+p(t,j[e+12>>2])|0)+p(f,j[e+16>>2])<<1)|0;u=p(u>>16,s)+(p(s,u&65535)>>16)|0;s=p(r,j[e+24>>2])+(((p(q,j[e+28>>2])-y|0)+p(t,j[e+32>>2])|0)+p(f,j[e+36>>2])<<1)|0;s=(u+p(r,s>>16)|0)+(p(r,s&65535)>>16)|0;r=p(q,j[e+48>>2])+((p(t,j[e+52>>2])-z|0)+p(f,j[e+56>>2])<<1)|0;s=(s+p(q,r>>16)|0)+(p(q,r&65535)>>16)|0;q=p(f,j[e+96>>2])-v|0;r=p(t,j[e+72>>2])+(p(f,j[e+76>>2])-w<<1)|0;f=((((s+p(f,q>>16)|0)+p(t,r>>16)|0)+(p(f,q&65535)>>16)|0)+(p(t,r&65535)>>16)|0)+32801|0;a:{if((f|0)<0){break a}t=k[i+m|0];q=t-n|0;q=f+(((q|0)>0?q:0)<<11)|0;f=p((Q(q)<<16)-125829120>>16,A)+(k[l+m|0]<<2)|0;if((f|0)>j[c>>2]){break a}j[c>>2]=f;j[b>>2]=q;h[a|0]=m;j[d>>2]=t}g=g+5|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}}function ic(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=j[b+4>>2]+j[b>>2]|0;l=j[b+12>>2]+j[b+8>>2]|0;d=c+l|0;e=j[b+20>>2]+j[b+16>>2]|0;m=j[b+28>>2]+j[b+24>>2]|0;n=e+m|0;f=d+n|0;g=j[b+36>>2]+j[b+32>>2]|0;o=j[b+44>>2]+j[b+40>>2]|0;h=g+o|0;i=j[b+52>>2]+j[b+48>>2]|0;p=j[b+60>>2]+j[b+56>>2]|0;q=i+p|0;r=h+q|0;s=f+r|0;if((s|0)>=1){N(a,f,k[s+9200|0]+9040|0,8)}if((f|0)>=1){N(a,d,k[f+9200|0]+8880|0,8)}if((d|0)>=1){N(a,c,k[d+9200|0]+8720|0,8)}if((c|0)>=1){N(a,j[b>>2],k[c+9200|0]+8560|0,8)}if((l|0)>=1){N(a,j[b+8>>2],k[l+9200|0]+8560|0,8)}if((n|0)>=1){N(a,e,k[n+9200|0]+8720|0,8)}if((e|0)>=1){N(a,j[b+16>>2],k[e+9200|0]+8560|0,8)}if((m|0)>=1){N(a,j[b+24>>2],k[m+9200|0]+8560|0,8)}if((r|0)>=1){N(a,h,k[r+9200|0]+8880|0,8)}if((h|0)>=1){N(a,g,k[h+9200|0]+8720|0,8)}if((g|0)>=1){N(a,j[b+32>>2],k[g+9200|0]+8560|0,8)}if((o|0)>=1){N(a,j[b+40>>2],k[o+9200|0]+8560|0,8)}if((q|0)>=1){N(a,i,k[q+9200|0]+8720|0,8)}if((i|0)>=1){N(a,j[b+48>>2],k[i+9200|0]+8560|0,8)}if((p|0)>=1){N(a,j[b+56>>2],k[p+9200|0]+8560|0,8)}}function Lb(a,b,c,d,e,f,g,k,l){var m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;m=I-16|0;I=m;x=(l|0)<1;w=2147483647;while(1){s=j[d>>2];a:{if(x){r=0;o=0;q=s;break a}y=h[t+7916|0];q=t<<2;z=j[q+7904>>2];A=j[q+7824>>2];B=j[q+7520>>2];u=0;o=0;r=0;v=g;n=f;while(1){Pd((m+12|0)+u|0,m+8|0,m+4|0,m,n,v,A,z,B,k,na(6229-s|0)-51|0,y);q=0;o=j[m+4>>2]+o|0;o=(o|0)>-1?o:2147483647;r=j[m+8>>2]+r|0;r=(r|0)>-1?r:2147483647;v=v+20|0;n=n+100|0;if((Q(j[m>>2]+51|0)+s|0)>=896){q=(Q(j[m>>2]+51|0)+s|0)-896|0}s=q;u=u+1|0;if((u|0)!=(l|0)){continue}break}}if((o|0)<=(w|0)){h[c|0]=t;M(b,m+12|0,l);C=q;w=o}t=t+1|0;if((t|0)!=3){continue}break}if((l|0)>=1){c=j[(h[c|0]<<2)+7824>>2];n=0;while(1){f=p(n,10)+a|0;g=b+n|0;i[f>>1]=h[c+p(h[g|0],5)|0]<<7;i[f+2>>1]=h[(c+p(h[g|0],5)|0)+1|0]<<7;i[f+4>>1]=h[(c+p(h[g|0],5)|0)+2|0]<<7;i[f+6>>1]=h[(c+p(h[g|0],5)|0)+3|0]<<7;i[f+8>>1]=h[(c+p(h[g|0],5)|0)+4|0]<<7;n=n+1|0;if((n|0)!=(l|0)){continue}break}}j[d>>2]=C;j[e>>2]=p((Q(r>>((l|0)==2?1:2))<<16)-125829120>>16,-3);I=m+16|0}function eb(a,b,c,d){var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;f=I;n=f;e=j[a+268>>2];f=f-((e<<2)+31&-16)|0;I=f;h=j[a+36>>2];j[f+8>>2]=j[a+32>>2];j[f+12>>2]=h;h=j[a+28>>2];j[f>>2]=j[a+24>>2];j[f+4>>2]=h;o=f+16|0;q=j[a+272>>2];while(1){h=(d|0)<(e|0)?d:e;gb(a,o,c,h);k=0;l=h<<17;if((l|0)>=1){while(1){m=p(k&65535,12)>>>16|0;g=m<<3;e=f+(k>>16<<1)|0;r=((p(i[g+6306>>1],i[e+2>>1])+p(i[g+6304>>1],i[e>>1])|0)+p(i[g+6308>>1],i[e+4>>1])|0)+p(i[g+6310>>1],i[e+6>>1])|0;g=11-m<<3;e=(((r+p(i[g+6310>>1],i[e+8>>1])|0)+p(i[g+6308>>1],i[e+10>>1])|0)+p(i[g+6306>>1],i[e+12>>1])|0)+p(i[g+6304>>1],i[e+14>>1])|0;g=(e>>14)+1>>1;i[b>>1]=(e|0)>1073725439?32767:(g|0)>-32768?g:-32768;b=b+2|0;k=k+q|0;if((l|0)>(k|0)){continue}break}}d=d-h|0;if((d|0)>=1){e=f+(h<<2)|0;k=j[e+4>>2];j[f>>2]=j[e>>2];j[f+4>>2]=k;k=j[e+12>>2];j[f+8>>2]=j[e+8>>2];j[f+12>>2]=k;c=(h<<1)+c|0;e=j[a+268>>2];continue}break}b=f+(h<<2)|0;c=j[b+4>>2];j[a+24>>2]=j[b>>2];j[a+28>>2]=c;c=j[b+12>>2];j[a+32>>2]=j[b+8>>2];j[a+36>>2]=c;I=n}function Lc(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=I-304|0;n=k;I=k;q=c-1|0;l=(c|0)==2?3:(q<<1)+2|0;o=k;if(!(j[a+148>>2]|j[a+164>>2]==-1)){m=(p(j[a+160>>2],3)|0)/((p(j[a+144>>2],24)|0)/(p(c,d)|0)|0)|0;f=(f|0)>(m|0)?m:f}k=(f-l|0)/(c|0)|0;m=(k|0)<1276?k+1|0:1276;o=o-(p(m,c)+15&-16)|0;I=o;j[n+4>>2]=0;u=j[a+136>>2];j[a+136>>2]=j[a+14224>>2];v=j[a+128>>2];j[a+128>>2]=j[a+14240>>2];w=j[a+120>>2];k=j[a+14192>>2];j[a+120>>2]=k;r=j[a+68>>2];a:{if(r){j[a+120>>2]=1;break a}j[a+14232>>2]=k}b:{if((c|0)>=1){k=0;while(1){j[a+68>>2]=0;j[a+18132>>2]=(k|0)<(q|0);if(!(!g|(k|0)!=(q|0))){j[a+136>>2]=1002}l=-3;s=p(k,m)+o|0;t=ob(a,(p(j[a+112>>2],p(d,k))<<2)+b|0,d,s,m,h,0,0,0,0,0,i);if((t|0)<0){break b}if((rb(n,s,t)|0)<0){break b}k=k+1|0;if((k|0)!=(c|0)){continue}break}}l=qb(n,c,e,f,!j[a+148>>2]);if((l|0)<0){l=-3;break b}j[a+128>>2]=v;j[a+136>>2]=u;j[a+120>>2]=w;j[a+68>>2]=r}I=n+304|0;return l}function ea(a,b){var c=0,d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=1;while(1){r=(c<<2)+a|0;l=p(c,3)+b|0;s=l;e=2147483647;c=0;a:{b:{while(1){n=c+1|0;o=i[(c<<1)+5744>>1];f=i[(n<<1)+5744>>1]-o|0;v=p(f&65535,6554)>>>16|0;w=f>>16;m=p(w,6554)+v|0;f=m+o|0;g=j[r>>2]-f|0;d=g>>31;d=d^d+g;if((d|0)>=(e|0)){c=k[l|0];break a}h[l|0]=c;h[s+1|0]=0;q=p(m,3)+o|0;g=j[r>>2]-q|0;e=g>>31;t=d;d=e^e+g;if((t|0)<=(d|0)){q=f;break a}h[l|0]=c;h[s+1|0]=1;f=p(m,5)+o|0;g=j[r>>2]-f|0;e=g>>31;t=d;d=e^e+g;if((t|0)<=(d|0)){break a}h[l|0]=c;h[s+1|0]=2;q=p(m,7)+o|0;g=j[r>>2]-q|0;e=g>>31;t=d;d=e^e+g;if((t|0)<=(d|0)){break b}h[l|0]=c;h[s+1|0]=3;m=j[r>>2]-(p(m,9)+o|0)|0;f=m>>31;e=f^f+m;if((d|0)<=(e|0)){break a}q=(p(w,58986)+p(v,9)|0)+o|0;h[l|0]=c;h[s+1|0]=4;c=n;if((c|0)!=15){continue}break}c=14;break a}q=f}n=(c<<24>>24)/3|0;h[l+2|0]=n;h[l|0]=p(n,-3)+c;j[r>>2]=q;c=1;n=u;u=0;if(n){continue}break}j[a>>2]=j[a>>2]-j[a+4>>2]}function wd(a,b,c,d,e,f,g,h,i,k){var l=0,m=0,o=0,r=0,s=0,t=0,u=q(0),v=0,w=0,x=0;v=(k|0)>1?k:1;o=(b|0)>=(c|0);a:{if(o|(h|0)<(k|0)){break a}m=b;while(1){l=m<<2;t=l+f|0;if(!(j[t>>2]>7|j[g+l>>2])){s=j[a+8>>2];l=0;while(1){r=n[(p(l,s)+m<<2)+e>>2]>2];w=p(s,l)+m<<2;x=w+d|0;u=q(q((r?q(-.5):q(.5))*q(1<<13-j[t>>2]))*q(6103515625e-14));n[x>>2]=n[x>>2]+u;r=e+w|0;n[r>>2]=n[r>>2]-u;l=l+1|0;if((v|0)!=(l|0)){continue}break}h=h-v|0}m=m+1|0;if((m|0)>=(c|0)){break a}if((h|0)>=(k|0)){continue}break}}b:{if((h|0)<(k|0)|o){break b}while(1){m=b<<2;s=m+f|0;if(!(j[s>>2]>7|j[g+m>>2]!=1)){m=j[a+8>>2];l=0;while(1){o=n[(p(l,m)+b<<2)+e>>2]>2];t=p(m,l)+b<<2;r=t+d|0;u=q(q((o?q(-.5):q(.5))*q(1<<13-j[s>>2]))*q(6103515625e-14));n[r>>2]=n[r>>2]+u;o=e+t|0;n[o>>2]=n[o>>2]-u;l=l+1|0;if((v|0)!=(l|0)){continue}break}h=h-v|0}b=b+1|0;if((c|0)<=(b|0)){break b}if((h|0)>=(k|0)){continue}break}}}function nc(a,b){var c=0,d=0,e=0,f=0;c=j[a+4576>>2];if(!c){c=j[a+32>>2]}d=c<<16;if(!d){b=j[a+4572>>2];a=j[a+4556>>2];return(((a|0)>(b|0)?b:a)|0)/1e3|0}d=p(d>>16,1e3);e=j[a+4556>>2];f=j[a+4564>>2];if(!((d|0)>=j[a+4568>>2]?!((d|0)>(e|0)|(d|0)>(f|0)):0)){b=(e|0)<(f|0)?e:f;a=j[a+4568>>2];return(((a|0)<(b|0)?b:a)|0)/1e3|0}f=j[a+24>>2];if((f|0)>=256){j[a+28>>2]=0}a:{b:{if(j[b+64>>2]?0:!j[a+4536>>2]){break b}e=j[a+4572>>2];if((e|0)<(d|0)){c:{d:{if(j[a+28>>2]){if(j[b+64>>2]){break d}if((f|0)>0){break c}break a}j[a+16>>2]=0;j[a+20>>2]=0;j[a+24>>2]=256;if(!j[b+64>>2]){break c}}j[a+28>>2]=0;return(c|0)==16?12:8}j[a+28>>2]=-2;return c}if((d|0)<(e|0)){if(j[b+64>>2]){j[a+16>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+28>>2]=1;return(c|0)==8?12:16}if(!j[a+28>>2]){break a}j[a+28>>2]=1;return c}if(j[a+28>>2]>-1){break b}j[a+28>>2]=1}return c}j[b+88>>2]=1;a=j[b+56>>2];j[b+56>>2]=a-((p(a,5)|0)/(j[b+24>>2]+5|0)|0);return c}function Rb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=d<<2;j[e+b>>2]=65536;j[c+e>>2]=65536;e=0;a:{if((d|0)<=0){break a}while(1){f=e<<2;g=(d+e<<2)+a|0;h=((e^-1)+d<<2)+a|0;j[f+b>>2]=0-(j[g>>2]+j[h>>2]|0);j[c+f>>2]=j[g>>2]-j[h>>2];e=e+1|0;if((e|0)!=(d|0)){continue}break}if((d|0)<=0){break a}e=d;while(1){a=e-1|0;f=a<<2;g=f+b|0;h=g;i=j[g>>2];g=e<<2;j[h>>2]=i-j[g+b>>2];f=c+f|0;j[f>>2]=j[f>>2]+j[c+g>>2];f=(e|0)>1;e=a;if(f){continue}break}a=2;if((d|0)<2){break a}while(1){e=d;if((e|0)>(a|0)){while(1){f=(e<<2)+b|0;g=f-8|0;j[g>>2]=j[g>>2]-j[f>>2];e=e-1|0;if((e|0)>(a|0)){continue}break}}f=2;e=(a<<2)+b|0;g=e-8|0;j[g>>2]=j[g>>2]-(j[e>>2]<<1);e=(a|0)!=(d|0);a=a+1|0;if(e){continue}break}while(1){e=d;if((f|0)<(e|0)){while(1){a=(e<<2)+c|0;b=a-8|0;j[b>>2]=j[b>>2]-j[a>>2];e=e-1|0;if((f|0)<(e|0)){continue}break}}a=(f<<2)+c|0;b=a-8|0;j[b>>2]=j[b>>2]-(j[a>>2]<<1);a=(d|0)!=(f|0);f=f+1|0;if(a){continue}break}}}function oa(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;pe(+a);b=me(1)|0;d=me(0)|0;a:{b:{c:{d:{if((b|0)>0?1:(b|0)>=0){e=b;if(b>>>0>1048575){break d}}if(!(b&2147483647|d)){return-1/(a*a)}if((b|0)>-1){break c}return(a-a)/0}if(e>>>0>2146435071){break a}b=1072693248;k=-1023;if((e|0)!=1072693248){b=e;break b}if(d){break b}return 0}pe(+(a*0x40000000000000));b=me(1)|0;d=me(0)|0;k=-1077}b=b+614242|0;l=+((b>>>20|0)+k|0);f=l*.30102999566361177;ne(0,d|0);ne(1,(b&1048575)+1072079006|0);c=+oe()+ -1;g=c*(c*.5);h=c/(c+2);i=h*h;a=i*i;pe(+(c-g));b=me(1)|0;me(0)|0;ne(0,0);ne(1,b|0);j=+oe();m=j*.4342944818781689;n=f+m;a=c-j-g+h*(g+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));a=n+(m+(f-n)+(a*.4342944818781689+(l*3.694239077158931e-13+(a+j)*2.5082946711645275e-11)))}return a}function Td(a,b,c,d){var e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0;f=I-96|0;I=f;a:{b:{if(!(k[a+4767|0]!=4?j[a+4632>>2]!=1:0)){e=i[a+4532>>1];e=(p(e,-5)+(p(e,59246)>>16)|0)+3146|0;g=(j[a+4580>>2]==2?e>>1:0)+e|0;if((g|0)<=0){break b}Pb(f+32|0,c,j[a+4640>>2]);c:{if(j[a+4632>>2]!=1){break c}e=h[a+4767|0];if((e|0)>3){break c}La(f- -64|0,d,c,e,j[a+4640>>2]);Pb(f,f- -64|0,j[a+4640>>2]);o=1;l=j[a+4640>>2];if((l|0)<1){break c}e=h[a+4767|0];q=p(e,e)<<27>>16;e=0;while(1){m=e<<1;n=m+(f+32|0)|0;i[n>>1]=(i[n>>1]>>>1)+(p(i[f+m>>1],q)>>>16);e=e+1|0;if((l|0)!=(e|0)){continue}break}}Ud(a+4744|0,c,j[a+4692>>2],f+32|0,g,j[a+4660>>2],h[a+4765|0]);e=b+32|0;Ma(e,c,j[a+4640>>2]);d:{if(o){La(f- -64|0,d,c,h[a+4767|0],j[a+4640>>2]);Ma(b,f- -64|0,j[a+4640>>2]);break d}a=j[a+4640>>2];if((a|0)>=17){break a}M(b,e,a<<1)}I=f+96|0;return}L(15848,15951,51);z()}L(15972,15951,63);z()}L(16006,15951,104);z()}function bb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=q(0),o=0,s=0;f=I-304|0;k=f;I=f;d=j[a+4576>>2];a:{if((d|0)==(b|0)){c=0;if(j[a+4560>>2]==j[a+4556>>2]){break a}}if(!d){c=Ba(a+5776|0,j[a+4556>>2],p(b,1e3),1);break a}c=f;l=p(j[a+4580>>2],10)+5|0;d=p(l,d);f=p(b,l);h=c-((((d|0)>(f|0)?d:f)<<1)+15&-16)|0;o=h;I=h;if((d|0)>=1){c=d;while(1){g=c-1|0;s=(g<<1)+h|0;m=je(n[((g<<2)+a|0)+7180>>2]);b:{if(q(r(m))-32768?e:-32768;i[s>>1]=(e|0)<32767?e:32767;e=(c|0)>1;c=g;if(e){continue}break}}g=Ba(k,p(i[a+4576>>1],1e3),j[a+4556>>2],0);e=p(l,j[a+4556>>2]/1e3|0);c=o-((e<<1)+15&-16)|0;I=c;g=Z(k,c,h,d)+g|0;d=a+5776|0;g=g+Ba(d,j[a+4556>>2],p(b<<16>>16,1e3),1)|0;c=Z(d,h,c,e);if((f|0)>=1){while(1){b=f-1|0;n[((b<<2)+a|0)+7180>>2]=i[(b<<1)+h>>1];d=(f|0)>1;f=b;if(d){continue}break}}c=c+g|0}j[a+4560>>2]=j[a+4556>>2];I=k+304|0;return c}function gb(a,b,c,d){var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0;if((d|0)>=1){l=j[a+20>>2];g=j[a+16>>2];e=j[a+12>>2];h=j[a+8>>2];k=j[a+4>>2];f=j[a>>2];while(1){m=o<<2;q=i[(o<<1)+c>>1]<<10;n=q-f|0;n=(p(n&65535,1746)>>>16|0)+p(n>>16,1746)|0;s=f+n|0;f=s-k|0;t=(p(f&65535,14986)>>>16|0)+p(f>>16,14986)|0;f=k+t|0;k=f-h|0;f=((p(k&65535,-26453)>>16)+p(k>>16,-26453)|0)+f|0;h=(f>>9)+1>>1;i[m+b>>1]=(f|0)>33553919?32767:(h|0)>-32768?h:-32768;h=(m|2)+b|0;r=e;e=q-e|0;m=(p(e&65535,6854)>>>16|0)+p(e>>16,6854)|0;u=r+m|0;e=u-g|0;r=(p(e&65535,25769)>>>16|0)+p(e>>16,25769)|0;e=g+r|0;g=e-l|0;e=((p(g&65535,-9994)>>16)+p(g>>16,-9994)|0)+e|0;l=(e>>9)+1>>1;i[h>>1]=(e|0)>33553919?32767:(l|0)>-32768?l:-32768;l=e+g|0;h=f+k|0;g=u+r|0;k=s+t|0;e=m+q|0;f=q+n|0;o=o+1|0;if((o|0)!=(d|0)){continue}break}j[a+20>>2]=l;j[a+16>>2]=g;j[a+12>>2]=e;j[a+8>>2]=h;j[a+4>>2]=k;j[a>>2]=f}}function Ob(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;a:{b:{if((d|0)>0){if((c|0)<=0){break b}if((c|0)<(d|0)){break a}while(1){j[(e<<2)+b>>2]=e;e=e+1|0;if((e|0)!=(d|0)){continue}break}f=1;if((d|0)>1){while(1){k=j[(f<<2)+a>>2];e=f;c:{while(1){g=e-1|0;h=g<<2;l=j[h+a>>2];if((l|0)<=(k|0)){break c}i=e<<2;j[i+a>>2]=l;j[b+i>>2]=j[b+h>>2];h=(e|0)>1;e=g;if(h){continue}break}e=0}e=e<<2;j[e+a>>2]=k;j[b+e>>2]=f;f=f+1|0;if((f|0)!=(d|0)){continue}break}}if((c|0)>(d|0)){k=d-2|0;l=((d<<2)+a|0)-4|0;f=d;while(1){h=j[(f<<2)+a>>2];if((h|0)>2]){e=k;g=e;d:{if((d|0)<2){break d}while(1){g=e<<2;i=j[g+a>>2];if((i|0)<=(h|0)){g=e;break d}m=g+4|0;j[m+a>>2]=i;j[b+m>>2]=j[b+g>>2];g=-1;i=(e|0)>0;e=e-1|0;if(i){continue}break}}e=(g<<2)+4|0;j[e+a>>2]=h;j[b+e>>2]=f}f=f+1|0;if((f|0)!=(c|0)){continue}break}}return}L(15635,15659,51);z()}L(15671,15659,52);z()}L(15695,15659,53);z()}function xa(a){var b=0,c=0,d=0,e=0,f=0,g=0;pe(+a);e=me(1)|0;me(0)|0;b=e;e=b>>>31|0;a:{b:{c:{d:{d=a;e:{f:{b=b&2147483647;g:{if(b>>>0>=1082532651){pe(+a);b=me(1)|0;b=b&2147483647;if((b|0)==2146435072&(me(0)|0)!=0|b>>>0>2146435072){return a}if(!(a>709.782712893384^1)){return a*8.98846567431158e+307}if(!(a<-745.1332191019411)|a<-708.3964185322641^1){break g}break b}if(b>>>0<1071001155){break d}if(b>>>0<1072734898){break f}}a=a*1.4426950408889634+o[(e<<3)+10928>>3];if(r(a)<2147483648){b=~~a;break e}b=-2147483648;break e}b=(e^1)-e|0}c=+(b|0);a=d+c*-.6931471803691238;f=c*1.9082149292705877e-10;d=a-f;break c}if(b>>>0<=1043333120){break a}b=0;d=a}c=d;g=a;c=c*c;a=d-c*(c*(c*(c*(c*4.1381367970572385e-8+ -16533902205465252e-22)+6613756321437934e-20)+ -.0027777777777015593)+.16666666666666602);c=g+(d*a/(2-a)-f)+1;if(!b){break b}c=ca(c,b)}return c}return a+1}function Dc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=b<<2;v=g+j[a+64>>2]|0;k=j[v>>2];b=0;w=g+j[a+60>>2]|0;g=j[w>>2];x=j[d>>2];a:{if((g|0)>=(x|0)){break a}s=j[a+12>>2];y=j[a+40>>2];z=j[a+36>>2];A=j[a+92>>2];B=j[a+76>>2];b=j[f>>2];d=(b|0)>0?b:0;t=j[a+24>>2];C=(t|0)<1;b=0;while(1){if((b|0)==(d|0)){b=d;break a}u=0;b:{if(C){l=0;m=0;o=0;break b}a=(g<<2)+c|0;r=(p(k,t)<<2)+B|0;f=0;o=0;m=0;l=0;while(1){h=f<<2;l=l+ +q(n[h+r>>2]*n[a+h>>2]);i=h|12;u=u+ +q(n[i+r>>2]*n[a+i>>2]);i=h|8;o=o+ +q(n[i+r>>2]*n[a+i>>2]);h=h|4;m=m+ +q(n[h+r>>2]*n[a+h>>2]);f=f+4|0;if((t|0)>(f|0)){continue}break}}n[(p(b,A)<<2)+e>>2]=l+m+o+u;a=k+y|0;k=a-(a>>>0>>0?0:s)|0;b=b+1|0;g=(g+z|0)+(a>>>0>=s>>>0)|0;if((x|0)>(g|0)){continue}break}}j[w>>2]=g;j[v>>2]=k;return b|0}function Id(a,b,c,d){var e=0,f=0,g=0,i=0,l=q(0),m=q(0),n=0,o=0,p=0;e=I-1696|0;I=e;h[a+4767|0]=4;g=j[a+4640>>2];i=g+j[a+4588>>2]|0;l=Ib(e+1632|0,c,d,i,j[a+4580>>2],g);a:{if(j[a+4664>>2]|!j[a+4632>>2]|j[a+4580>>2]!=4){break a}f=3;d=Ib(e+1536|0,(i<<3)+c|0,d,i,2,j[a+4640>>2]);Kb(b,e+1536|0,j[a+4640>>2]);n=a+4500|0;o=i<<1;l=q(l-d);m=q(3.4028234663852886e+38);while(1){g=f;La(e+1600|0,n,b,g,j[a+4640>>2]);Od(e+1536|0,e+1600|0,j[a+4640>>2]);qa(e,e+1536|0,c,o,j[a+4640>>2]);f=j[a+4640>>2];p=S((f<<2)+e|0,i-f|0);f=j[a+4640>>2];d=q(p+S(((f<<2)+e|0)+(i<<2)|0,i-f|0));b:{if(!(dm){break a}}f=g-1|0;m=d;if(g){continue}break}}c:{if(k[a+4767|0]==4){Kb(b,e+1632|0,j[a+4640>>2]);if(k[a+4767|0]==4){break c}}if(j[a+4580>>2]==4?!(j[a+4664>>2]|!j[a+4632>>2]):0){break c}L(16554,16719,103);z()}I=e+1696|0}function N(a,b,c,d){var e=0,f=0,g=0;f=j[a+28>>2];d=f>>>d|0;e=a;a:{if((b|0)>=1){b=b+c|0;c=b-1|0;j[a+32>>2]=(f+j[a+32>>2]|0)-p(d,k[c|0]);d=p(d,k[c|0]-k[b|0]|0);break a}d=f-p(d,k[b+c|0])|0}j[e+28>>2]=d;if(d>>>0<=8388608){b=j[a+32>>2];while(1){f=b>>>23|0;b:{if((f|0)!=255){c=b>>>31|0;e=j[a+40>>2];if((e|0)>=0){b=a;d=j[a+24>>2];if(m[a+4>>2]>d+j[a+8>>2]>>>0){j[a+24>>2]=d+1;h[d+j[a>>2]|0]=c+e;d=0}else{d=-1}j[b+44>>2]=d|j[a+44>>2]}b=j[a+36>>2];if(b){g=c-1|0;while(1){d=-1;c=a;e=j[a+24>>2];if(m[a+4>>2]>e+j[a+8>>2]>>>0){j[a+24>>2]=e+1;h[e+j[a>>2]|0]=g;d=0;b=j[a+36>>2]}b=b-1|0;j[c+36>>2]=b;j[a+44>>2]=j[a+44>>2]|d;if(b){continue}break}}j[a+40>>2]=f&255;d=j[a+28>>2];b=j[a+32>>2];break b}j[a+36>>2]=j[a+36>>2]+1}d=d<<8;j[a+28>>2]=d;b=b<<8&2147483392;j[a+32>>2]=b;j[a+20>>2]=j[a+20>>2]+8;if(d>>>0<8388609){continue}break}}}function Wb(a,b,c){var d=0,e=0,f=0,g=q(0),h=0,i=q(0),k=0,l=0;a:{if((c|0)>0){if((c|0)>65){break a}while(1){j[(d<<2)+b>>2]=d;d=d+1|0;if((d|0)!=(c|0)){continue}break}e=1;if((c|0)>1){while(1){g=n[(e<<2)+a>>2];d=e;b:{while(1){f=d-1|0;h=f<<2;i=n[h+a>>2];if(i>2]=i;j[b+k>>2]=j[b+h>>2];h=(d|0)>1;d=f;if(h){continue}break}d=0}d=d<<2;n[d+a>>2]=g;j[b+d>>2]=e;e=e+1|0;if((e|0)!=(c|0)){continue}break}}if((c|0)<65){h=c-2|0;k=((c<<2)+a|0)-4|0;e=c;while(1){g=n[(e<<2)+a>>2];if(!(g>n[k>>2]^1)){d=h;f=d;c:{if((c|0)<2){break c}while(1){f=d<<2;i=n[f+a>>2];if(i>2]=i;j[b+l>>2]=j[b+f>>2];f=-1;l=(d|0)>0;d=d-1|0;if(l){continue}break}}d=(f<<2)+4|0;n[d+a>>2]=g;j[b+d>>2]=e}e=e+1|0;if((e|0)!=65){continue}break}}return}L(9912,9936,50);z()}L(9982,9936,52);z()}function Da(a,b,c,d,e,f,g,h){var i=0,k=0,l=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=q(0);k=j[a+44>>2];m=j[a+4>>2];if(b){o=j[a+36>>2]}else{k=k<>2]-g|0}r=(f|0)>1?f:1;s=a- -64|0;i=p(b,k);t=m+i|0;while(1){if((b|0)>=1){u=p(i,l);v=(p(l,t)<<2)+c|0;g=0;while(1){ed(s,(p(g,k)<<2)+v|0,(g+u<<2)+d|0,j[a+60>>2],m,o,b);g=g+1|0;if((g|0)!=(b|0)){continue}break}}l=l+1|0;if((r|0)!=(l|0)){continue}break}if(!((e|0)!=1|(f|0)!=2|(i|0)<1)){g=0;while(1){a=(g<<2)+d|0;n[a>>2]=q(n[a>>2]*q(.5))+q(n[(g+i<<2)+d>>2]*q(.5));g=g+1|0;if((i|0)!=(g|0)){continue}break}}if((h|0)!=1){e=(e|0)>1?e:1;b=(i|0)/(h|0)|0;f=i-b<<2;w=q(h|0);a=0;while(1){c=p(a,i);g=0;if((b|0)>=1){while(1){h=(c+g<<2)+d|0;n[h>>2]=n[h>>2]*w;g=g+1|0;if((b|0)!=(g|0)){continue}break}}O((b+c<<2)+d|0,0,f);a=a+1|0;if((e|0)!=(a|0)){continue}break}}}function lc(a,b,c){var d=0,e=0,f=0,g=0;f=j[a+28>>2];d=f>>>15|0;e=a;a:{if(b){j[a+32>>2]=j[a+32>>2]+(f+p(d,b-32768|0)|0);c=p(d,c-b|0);break a}c=f+p(d,c-32768|0)|0}j[e+28>>2]=c;if(c>>>0<=8388608){b=j[a+32>>2];while(1){f=b>>>23|0;b:{if((f|0)!=255){c=b>>>31|0;d=j[a+40>>2];if((d|0)>=0){b=a;e=j[a+24>>2];if(m[a+4>>2]>e+j[a+8>>2]>>>0){j[a+24>>2]=e+1;h[e+j[a>>2]|0]=c+d;e=0}else{e=-1}j[b+44>>2]=e|j[a+44>>2]}b=j[a+36>>2];if(b){g=c-1|0;while(1){c=-1;e=a;d=j[a+24>>2];if(m[a+4>>2]>d+j[a+8>>2]>>>0){j[a+24>>2]=d+1;h[d+j[a>>2]|0]=g;c=0;b=j[a+36>>2]}b=b-1|0;j[e+36>>2]=b;j[a+44>>2]=j[a+44>>2]|c;if(b){continue}break}}j[a+40>>2]=f&255;c=j[a+28>>2];b=j[a+32>>2];break b}j[a+36>>2]=j[a+36>>2]+1}c=c<<8;j[a+28>>2]=c;b=b<<8&2147483392;j[a+32>>2]=b;j[a+20>>2]=j[a+20>>2]+8;if(c>>>0<8388609){continue}break}}}function Dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,k=0;e=I-32|0;I=e;g=j[a+28>>2];j[e+16>>2]=g;d=j[a+20>>2];j[e+28>>2]=c;j[e+24>>2]=b;b=d-g|0;j[e+20>>2]=b;g=b+c|0;k=2;b=e+16|0;a:{b:{f=C(j[a+60>>2],e+16|0,2,e+12|0)|0;d=0;c:{if(!f){break c}j[13231]=f;d=-1}d:{if(!d){while(1){d=j[e+12>>2];if((d|0)==(g|0)){break d}if((d|0)<=-1){break b}h=j[b+4>>2];f=h>>>0>>0;i=(f<<3)+b|0;h=d-(f?h:0)|0;j[i>>2]=h+j[i>>2];i=(f?12:4)+b|0;j[i>>2]=j[i>>2]-h;g=g-d|0;b=f?b+8|0:b;k=k-f|0;f=C(j[a+60>>2],b|0,k|0,e+12|0)|0;d=0;e:{if(!f){break e}j[13231]=f;d=-1}if(!d){continue}break}}if((g|0)!=-1){break b}}b=j[a+44>>2];j[a+28>>2]=b;j[a+20>>2]=b;j[a+16>>2]=b+j[a+48>>2];a=c;break a}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a>>2]=j[a>>2]|32;a=0;if((k|0)==2){break a}a=c-j[b+4>>2]|0}I=e+32|0;return a|0}function va(a,b,c,d){var e=0,f=0,g=0;g=j[a+28>>2];f=(g>>>0)/(d>>>0)|0;e=a;a:{if(b){j[a+32>>2]=j[a+32>>2]+(g+p(f,b-d|0)|0);d=p(f,c-b|0);break a}d=g+p(f,c-d|0)|0}j[e+28>>2]=d;if(d>>>0<=8388608){b=j[a+32>>2];while(1){f=b>>>23|0;b:{if((f|0)!=255){c=b>>>31|0;e=j[a+40>>2];if((e|0)>=0){b=a;d=j[a+24>>2];if(m[a+4>>2]>d+j[a+8>>2]>>>0){j[a+24>>2]=d+1;h[d+j[a>>2]|0]=c+e;d=0}else{d=-1}j[b+44>>2]=d|j[a+44>>2]}b=j[a+36>>2];if(b){g=c-1|0;while(1){d=-1;c=a;e=j[a+24>>2];if(m[a+4>>2]>e+j[a+8>>2]>>>0){j[a+24>>2]=e+1;h[e+j[a>>2]|0]=g;d=0;b=j[a+36>>2]}b=b-1|0;j[c+36>>2]=b;j[a+44>>2]=j[a+44>>2]|d;if(b){continue}break}}j[a+40>>2]=f&255;d=j[a+28>>2];b=j[a+32>>2];break b}j[a+36>>2]=j[a+36>>2]+1}d=d<<8;j[a+28>>2]=d;b=b<<8&2147483392;j[a+32>>2]=b;j[a+20>>2]=j[a+20>>2]+8;if(d>>>0<8388609){continue}break}}}function Y(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,k=0;e=b<<4;d=j[(c<<2)+a>>2];if((c|0)!=8){if((c|0)>=1){f=b<<20>>16;e=(e>>15)+1>>1;while(1){b=c-1|0;d=j[(b<<2)+a>>2]+((p(d>>16,f)+p(d,e)|0)+(p(d&65535,f)>>16)|0)|0;g=(c|0)>1;c=b;if(g){continue}break}}return d}b=b<<20>>16;c=(e>>15)+1>>1;d=j[a+28>>2]+((p(b,d>>16)+p(c,d)|0)+(p(b,d&65535)>>16)|0)|0;e=j[a>>2];f=j[a+4>>2];g=j[a+8>>2];h=j[a+12>>2];i=j[a+16>>2];k=j[a+20>>2];a=((j[a+24>>2]+p(c,d)|0)+p(b,d>>16)|0)+(p(b,d&65535)>>16)|0;a=((k+p(a,c)|0)+p(b,a>>16)|0)+(p(b,a&65535)>>16)|0;a=((i+p(a,c)|0)+p(b,a>>16)|0)+(p(b,a&65535)>>16)|0;a=((h+p(a,c)|0)+p(b,a>>16)|0)+(p(b,a&65535)>>16)|0;a=((g+p(a,c)|0)+p(b,a>>16)|0)+(p(b,a&65535)>>16)|0;a=((f+p(a,c)|0)+p(b,a>>16)|0)+(p(b,a&65535)>>16)|0;return((e+p(a,c)|0)+p(b,a>>16)|0)+(p(b,a&65535)>>16)|0}function Hb(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0;if((e|0)>=1){while(1){n=(m<<2)+b|0;Q(j[n>>2]);i=a+m|0;g=p((Q(j[n>>2])<<16)-136970240>>16,2251);f=g>>>16|0;h[i|0]=f;if(h[c|0]>g<<8>>24){f=f+1|0;h[i|0]=f}f=f<<24>>24>0?f:0;g=f<<24>>24<63?f:63;h[i|0]=g;f=h[c|0];a:{if(!(d|m)){o=i;i=f-4|0;g=g&255;f=(f|0)>67?63:(g|0)<(i|0)?i:g;h[o|0]=f;h[c|0]=f;break a}f=g-f|0;h[i|0]=f;g=h[c|0]+8|0;l=f<<24>>24;if((g|0)<(l|0)){f=g+((l-g|0)+1>>>1|0)|0;h[i|0]=f}f=f<<24>>24>-4?f:-4;l=f<<24>>24<36?f:36;h[i|0]=l;o=c;f=l<<24>>24;b:{if((f|0)>(g|0)){g=k[c|0]+((f<<1)-g|0)|0;h[c|0]=g;f=g<<24>>24<63?g:63;break b}f=l+k[c|0]|0}h[o|0]=f;h[i|0]=k[i|0]+4;f=k[c|0]}f=f<<24>>24;f=(p(f,7281)>>16)+p(f,29)|0;j[n>>2]=na(((f|0)<1877?f:1877)+2090|0);m=m+1|0;if((m|0)!=(e|0)){continue}break}}}function Md(a,b,c,d,e,f,g,h,k){var l=0,m=0,o=0,s=0,t=q(0),u=0;l=I-528|0;I=l;o=p(k,25);if((o|0)>0){while(1){s=m<<2;u=s+(l+80|0)|0;t=je(q(n[f+s>>2]*q(131072)));a:{if(q(r(t))>2]=s;m=m+1|0;if((o|0)!=(m|0)){continue}break}}b:{if((k|0)>=1){f=p(k,5);f=(f|0)>1?f:1;m=0;while(1){o=m<<2;s=o+l|0;t=je(q(n[g+o>>2]*q(131072)));c:{if(q(r(t))>2]=o;m=m+1|0;if((f|0)!=(m|0)){continue}break}Lb(l+480|0,b,c,d,l+524|0,l+80|0,l,h,k);if((k|0)<1){break b}b=p(k,5);b=(b|0)>1?b:1;m=0;while(1){n[(m<<2)+a>>2]=q(i[(l+480|0)+(m<<1)>>1])*q(6103515625e-14);m=m+1|0;if((b|0)!=(m|0)){continue}break}break b}Lb(l+480|0,b,c,d,l+524|0,l+80|0,l,h,k)}n[e>>2]=q(j[l+524>>2])*q(.0078125);I=l+528|0}function cd(a,b,c,d,e,f,g,h){var i=q(0),j=q(0),k=0,l=q(0),m=q(0);j=n[g>>2];l=n[f>>2];a:{if(!((e|0)!=1|h|n[f+4>>2]!=q(0))){if((c|0)<1){break a}f=0;while(1){i=q(n[(p(d,f)<<2)+a>>2]*q(32768));n[(f<<2)+b>>2]=i-j;j=q(l*i);f=f+1|0;if((f|0)!=(c|0)){continue}break}break a}k=(c|0)/(e|0)|0;if((e|0)!=1){O(b,0,c<<2)}b:{if((k|0)<1){break b}f=0;while(1){n[(p(e,f)<<2)+b>>2]=n[(p(d,f)<<2)+a>>2]*q(32768);f=f+1|0;if((k|0)!=(f|0)){continue}break}if(!h|(k|0)<1){break b}f=0;while(1){d=(p(e,f)<<2)+b|0;i=n[d>>2];a=i>q(65536);h=d;d=(a?q(65536):i)>2]=a?m:d?m:i;f=f+1|0;if((k|0)!=(f|0)){continue}break}}if((c|0)<1){break a}f=0;while(1){a=(f<<2)+b|0;i=n[a>>2];n[a>>2]=i-j;j=q(l*i);f=f+1|0;if((f|0)!=(c|0)){continue}break}}n[g>>2]=j}function ma(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;pe(+a);b=me(1)|0;e=me(0)|0;a:{b:{c:{d:{if((b|0)>0?1:(b|0)>=0){f=b;if(b>>>0>1048575){break d}}if(!(b&2147483647|e)){return-1/(a*a)}if((b|0)>-1){break c}return(a-a)/0}if(f>>>0>2146435071){break a}b=1072693248;g=-1023;if((f|0)!=1072693248){b=f;break b}if(e){break b}return 0}pe(+(a*0x40000000000000));b=me(1)|0;e=me(0)|0;g=-1077}b=b+614242|0;d=+((b>>>20|0)+g|0);ne(0,e|0);ne(1,(b&1048575)+1072079006|0);a=+oe()+ -1;c=a/(a+2);h=d*.6931471803691238;i=a;j=d*1.9082149292705877e-10;k=c;d=a*(a*.5);c=c*c;a=c*c;a=h+(i+(j+k*(d+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+c*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-d))}return a}function T(a,b,c){var d=0,e=0,f=0,g=0;d=j[a+28>>2];c=d>>>c|0;d=d-c|0;a:{if(!b){c=d;break a}j[a+32>>2]=d+j[a+32>>2]}j[a+28>>2]=c;if(c>>>0<=8388608){b=j[a+32>>2];while(1){f=b>>>23|0;b:{if((f|0)!=255){c=b>>>31|0;e=j[a+40>>2];if((e|0)>=0){b=a;d=j[a+24>>2];if(m[a+4>>2]>d+j[a+8>>2]>>>0){j[a+24>>2]=d+1;h[d+j[a>>2]|0]=c+e;d=0}else{d=-1}j[b+44>>2]=d|j[a+44>>2]}b=j[a+36>>2];if(b){g=c-1|0;while(1){c=-1;d=a;e=j[a+24>>2];if(m[a+4>>2]>e+j[a+8>>2]>>>0){j[a+24>>2]=e+1;h[e+j[a>>2]|0]=g;c=0;b=j[a+36>>2]}b=b-1|0;j[d+36>>2]=b;j[a+44>>2]=j[a+44>>2]|c;if(b){continue}break}}j[a+40>>2]=f&255;c=j[a+28>>2];b=j[a+32>>2];break b}j[a+36>>2]=j[a+36>>2]+1}c=c<<8;j[a+28>>2]=c;b=b<<8&2147483392;j[a+32>>2]=b;j[a+20>>2]=j[a+20>>2]+8;if(c>>>0<8388609){continue}break}}}function U(a,b,c){var d=0;a:{if((a|0)==(b|0)){break a}if((b-a|0)-c>>>0<=0-(c<<1)>>>0){return M(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}h[d|0]=k[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(a+c&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;h[d|0]=k[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;j[c+a>>2]=j[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;h[c+a|0]=k[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){j[d>>2]=j[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function Ec(a,b,c,d,e){var f=0,g=0,h=0,i=0;a:{if(!b|!c){break a}if(!(j[a>>2]!=(d|0)|j[a+4>>2]!=(e|0)|j[a+8>>2]!=(b|0))){if(j[a+12>>2]==(c|0)){break a}}j[a+8>>2]=b;j[a+4>>2]=e;j[a>>2]=d;g=j[a+12>>2];j[a+12>>2]=c;e=b;d=c;while(1){f=e;e=d;d=(f>>>0)%(e>>>0)|0;if(d){continue}break}d=(c>>>0)/(e>>>0)|0;j[a+12>>2]=d;j[a+8>>2]=(b>>>0)/(e>>>0);b:{if(!g|!j[a+20>>2]){break b}i=j[a+64>>2];e=0;while(1){c=(e<<2)+i|0;f=j[c>>2];b=(f>>>0)/(g>>>0)|0;f=f-p(b,g)|0;h=4294967295/(d>>>0)|0;if(f>>>0>h>>>0|b>>>0>h>>>0){break a}b=p(b,d);f=(p(d,f)>>>0)/(g>>>0)|0;if(b>>>0>(f^-1)>>>0){break a}b=b+f|0;j[c>>2]=b;d=b;b=j[a+12>>2];if(d>>>0>=b>>>0){j[c>>2]=b-1}e=e+1|0;if(e>>>0>=m[a+20>>2]){break b}d=j[a+12>>2];continue}}if(!j[a+52>>2]){return}mb(a)}}function Zd(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=(c|0)<1;a:{b:{while(1){d=0;e=0;if(!l){while(1){f=j[(d<<2)+b>>2];h=f>>31;f=h^h+f;h=(f|0)>(e|0);e=h?f:e;k=h?d:k;d=d+1|0;if((d|0)!=(c|0)){continue}break}}d=(e>>4)+1>>1;if((d|0)>=32768){d=(d|0)<163838?d:163838;Na(b,c,65470-(((d<<14)-536854528|0)/(p(d,k+1|0)>>2)|0)|0);g=g+1|0;if((g|0)!=10){continue}break b}break}if((g|0)==10){break b}d=0;if((c|0)<=0){break a}while(1){i[(d<<1)+a>>1]=(j[(d<<2)+b>>2]>>4)+1>>1;d=d+1|0;if((d|0)!=(c|0)){continue}break}break a}if((c|0)<1){break a}d=0;while(1){f=(d<<1)+a|0;k=(d<<2)+b|0;g=j[k>>2]>>4;e=32767;c:{if((g|0)>65534){break c}e=g+1>>1;e=(e|0)>-32768?e:-32768}i[f>>1]=e;j[k>>2]=e<<16>>16<<5;d=d+1|0;if((d|0)!=(c|0)){continue}break}}}function O(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}f=a+c|0;h[f-1|0]=b;h[a|0]=b;if(c>>>0<3){break a}h[f-2|0]=b;h[a+1|0]=b;h[f-3|0]=b;h[a+2|0]=b;if(c>>>0<7){break a}h[f-4|0]=b;h[a+3|0]=b;if(c>>>0<9){break a}f=0-a&3;e=f+a|0;d=p(b&255,16843009);j[e>>2]=d;b=c-f&-4;c=b+e|0;j[c-4>>2]=d;if(b>>>0<9){break a}j[e+8>>2]=d;j[e+4>>2]=d;j[c-8>>2]=d;j[c-12>>2]=d;if(b>>>0<25){break a}j[e+24>>2]=d;j[e+20>>2]=d;j[e+16>>2]=d;j[e+12>>2]=d;j[c-16>>2]=d;j[c-20>>2]=d;j[c-24>>2]=d;j[c-28>>2]=d;c=b;b=e&4|24;c=c-b|0;if(c>>>0<32){break a}d=ie(d,0,1,1);f=J;b=b+e|0;while(1){j[b+24>>2]=d;e=f;j[b+28>>2]=e;j[b+16>>2]=d;j[b+20>>2]=e;j[b+8>>2]=d;j[b+12>>2]=e;j[b>>2]=d;j[b+4>>2]=e;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function ee(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=I-416|0;I=f;O(f+208|0,0,200);f=O(f,0,200);if(!(e&1)){if((d|0)>=1){g=e<<3;l=g+f|0;u=g+(f+208|0)|0;m=+c;v=(e|0)<1;while(1){j=+n[(k<<2)+b>>2];g=0;if(!v){while(1){h=g<<3;p=h|8;q=p+(f+208|0)|0;r=o[q>>3];o[h+(f+208|0)>>3]=j;h=f+h|0;s=o[f+208>>3];o[h>>3]=o[h>>3]+j*s;g=g+2|0;t=o[(f+208|0)+(g<<3)>>3];i=i+(r-j)*m;o[q>>3]=i;h=f+p|0;o[h>>3]=s*i+o[h>>3];j=r+(t-i)*m;i=t;if((e|0)>(g|0)){continue}break}}o[u>>3]=j;i=o[f+208>>3];o[l>>3]=o[l>>3]+j*i;k=k+1|0;if((k|0)!=(d|0)){continue}break}}g=0;if((e|0)>=0){while(1){n[(g<<2)+a>>2]=o[f+(g<<3)>>3];b=(e|0)!=(g|0);g=g+1|0;if(b){continue}break}}I=f+416|0;return}L(10944,10981,49);z()} - - - -function ib(a,b,c){a:{if(b>>>0>20){break a}b:{switch(b-9|0){case 0:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=j[b>>2];return;case 1:b=j[c>>2];j[c>>2]=b+4;b=j[b>>2];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 2:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=j[b>>2];j[a+4>>2]=0;return;case 3:b=j[c>>2]+7&-8;j[c>>2]=b+8;c=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=c;return;case 4:b=j[c>>2];j[c>>2]=b+4;b=i[b>>1];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 5:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=l[b>>1];j[a+4>>2]=0;return;case 6:b=j[c>>2];j[c>>2]=b+4;b=h[b|0];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 7:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=k[b|0];j[a+4>>2]=0;return;case 8:b=j[c>>2]+7&-8;j[c>>2]=b+8;o[a>>3]=o[b>>3];return;case 9:break b;default:break a}}K[0](a,c)}}function Fc(a,b,c,d,e,f,g){var h=0,i=0;a:{b:{if(!(!c|(!a|!b))){if(f>>>0<11){break b}}if(!g){break a}j[g>>2]=3;return 0}h=ta(96);if(!h){h=0;if(!g){break a}j[g>>2]=1;return 0}j[h>>2]=0;j[h+4>>2]=0;j[h+44>>2]=1065353216;j[h+16>>2]=-1;j[h+88>>2]=1;j[h+92>>2]=1;j[h+20>>2]=a;j[h+32>>2]=160;j[h+8>>2]=0;j[h+12>>2]=0;a=a<<2;i=ta(a);j[h+60>>2]=i;c:{if(!i){break c}i=ta(a);j[h+68>>2]=i;if(!i){break c}a=ta(a);j[h+64>>2]=a;if(!a){break c}j[h+16>>2]=f;Ec(h,b,c,d,e);a=mb(h);d:{if(!a){j[h+52>>2]=1;break d}R(j[h+72>>2]);R(j[h+76>>2]);R(j[h+60>>2]);R(j[h+68>>2]);R(j[h+64>>2]);R(h);h=0}if(!g){break a}j[g>>2]=a;return h}if(g){j[g>>2]=1}R(j[h+76>>2]);R(j[h+60>>2]);R(j[h+68>>2]);R(j[h+64>>2]);R(h);h=0}return h}function Mb(a,b,c,d,e){var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;a:{b:{if((e|0)>5){if(e&1){break b}if((d|0)<(e|0)){break a}if((d|0)>(e|0)){n=(e|0)<7;h=e;while(1){m=h<<1;f=m+b|0;j=f-2|0;k=((((p(i[c+2>>1],i[f-4>>1])+p(i[c>>1],i[j>>1])|0)+p(i[c+4>>1],i[f-6>>1])|0)+p(i[c+6>>1],i[f-8>>1])|0)+p(i[c+8>>1],i[f-10>>1])|0)+p(i[c+10>>1],i[f-12>>1])|0;g=6;if(!n){while(1){l=g<<1;k=(k+p(i[l+c>>1],i[j-l>>1])|0)+p(i[(l|2)+c>>1],i[((g^-1)<<1)+j>>1])|0;g=g+2|0;if((g|0)<(e|0)){continue}break}}f=((i[f>>1]<<12)-k>>11)+1>>1;f=(f|0)>-32768?f:-32768;i[a+m>>1]=(f|0)<32767?f:32767;h=h+1|0;if((h|0)!=(d|0)){continue}break}}O(a,0,e<<1);return}L(16065,16090,67);z()}L(16117,16090,68);z()}L(16148,16090,69);z()}function gc(a){var b=0,c=0,d=0,e=0,f=0,g=0;if(k[a+4541|0]==2){b=Q((p(j[a+4576>>2],65536e3)|0)/j[a+4544>>2]|0);c=j[a+4696>>2];d=Q(3932160);e=Q(3932160);f=j[a+8>>2];g=c<<16>>16;c=0-(c<<2)|0;c=(p(g,c&65532)>>16)+p(c>>16,g)|0;b=(((b-(f>>8)|0)+p(c>>16,b-d<<16>>16)|0)+(p(c&65535,b-e<<16>>16)>>16)|0)-2048|0;b=(b|0)<0?p(b,3):b;b=(b|0)>-51?b:-51;b=p(i[a+4532>>1],(b|0)<51?b:51);j[a+8>>2]=p(b>>16,6554)+f+(p(b&65535,6554)>>>16);d=Q(60);e=Q(100);c=j[a+8>>2];b=a;a:{b:{if(d<<8>e<<8){if((c|0)>Q(60)<<8){a=Q(60)<<8;break a}if(j[a+8>>2]>=Q(100)<<8){break b}a=Q(100)<<8;break a}if((c|0)>Q(100)<<8){a=Q(100)<<8;break a}if(j[a+8>>2]>=Q(60)<<8){break b}a=Q(60)<<8;break a}a=j[a+8>>2]}j[b+8>>2]=a}}function dc(a,b,c,d,e,f){var g=0,h=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;if((f|0)>=1){h=0-j[c+4>>2]|0;n=h&16383;c=0-j[c>>2]|0;o=c&16383;q=h<<2>>16;r=c<<2>>16;c=j[d+4>>2];k=j[d>>2];while(1){l=c;s=m<<1;c=i[s+a>>1];h=j[b>>2];h=(p(c,h>>16)+k|0)+(p(c,h&65535)>>16)<<2;k=h>>16;g=h&65532;t=((l+p(k,r)|0)+(p(g,r)>>16)|0)+((p(k,o)+(p(g,o)>>>16|0)>>13)+1>>1)|0;j[d>>2]=t;l=j[b+4>>2];g=(p(k,q)+(p(g,q)>>16)|0)+((p(k,n)+(p(g,n)>>>16|0)>>13)+1>>1)|0;j[d+4>>2]=g;k=(p(c,l>>16)+(p(c,l&65535)>>16)|0)+t|0;j[d>>2]=k;l=g;g=j[b+8>>2];c=l+((p(c,g&65535)>>16)+p(c,g>>16)|0)|0;j[d+4>>2]=c;g=h+16383>>14;i[e+s>>1]=(h|0)>536854528?32767:(g|0)>-32768?g:-32768;m=m+1|0;if((m|0)!=(f|0)){continue}break}}}function Cc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=q(0),l=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=b<<2;l=g+j[a+64>>2]|0;h=j[l>>2];b=0;m=g+j[a+60>>2]|0;g=j[m>>2];o=j[d>>2];a:{if((g|0)>=(o|0)){break a}i=j[a+12>>2];s=j[a+40>>2];t=j[a+36>>2];u=j[a+92>>2];v=j[a+76>>2];b=j[f>>2];d=(b|0)>0?b:0;f=j[a+24>>2];w=(f|0)<1;b=0;while(1){if((b|0)==(d|0)){b=d;break a}k=q(0);if(!w){x=(g<<2)+c|0;y=(p(f,h)<<2)+v|0;a=0;while(1){r=a<<2;k=q(k+q(n[r+y>>2]*n[x+r>>2]));a=a+1|0;if((f|0)!=(a|0)){continue}break}}n[(p(b,u)<<2)+e>>2]=k;a=h+s|0;h=a-(a>>>0>>0?0:i)|0;b=b+1|0;g=(g+t|0)+(a>>>0>=i>>>0)|0;if((o|0)>(g|0)){continue}break}}j[m>>2]=g;j[l>>2]=h;return b|0}function Jd(a,b,c,d,e,f,g,h){var i=q(0),k=0,l=0,m=0,o=0,r=0,s=0,t=0,u=q(0);k=I-32|0;if((g|0)>=1){s=f+h|0;t=(s|0)<1;while(1){h=r<<2;u=n[h+e>>2];l=j[d+h>>2];h=p(r,20)+c|0;j[k+16>>2]=j[h+16>>2];m=j[h+4>>2];j[k>>2]=j[h>>2];j[k+4>>2]=m;m=j[h+12>>2];j[k+8>>2]=j[h+8>>2];j[k+12>>2]=m;if(!t){h=b-(l<<2)|0;m=0;while(1){o=m<<2;l=o+a|0;o=b+o|0;i=n[o>>2];j[l>>2]=j[o>>2];i=q(i-q(n[k>>2]*n[h+8>>2]));n[l>>2]=i;i=q(i-q(n[k+4>>2]*n[h+4>>2]));n[l>>2]=i;i=q(i-q(n[k+8>>2]*n[h>>2]));n[l>>2]=i;i=q(i-q(n[k+12>>2]*n[h-4>>2]));n[l>>2]=i;n[l>>2]=u*q(i-q(n[k+16>>2]*n[h-8>>2]));h=h+4|0;m=m+1|0;if((s|0)!=(m|0)){continue}break}}b=(f<<2)+b|0;a=(s<<2)+a|0;r=r+1|0;if((r|0)!=(g|0)){continue}break}}}function Ra(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=I-400|0;I=e;if(c>>>0<=24){while(1){f=(d<<4)+e|0;h=+n[(d<<2)+b>>2];o[f>>3]=h;o[f+8>>3]=h;f=(c|0)!=(d|0);d=d+1|0;if(f){continue}break}if(c){b=0;f=c;while(1){d=b;b=d+1|0;g=(b<<4)+e|0;i=o[e+8>>3];h=-o[g>>3]/(i>9.999999717180685e-10?i:9.999999717180685e-10);n[(d<<2)+a>>2]=h;a:{if((c|0)<=(d|0)){break a}j=o[g>>3];o[g>>3]=j+h*i;o[e+8>>3]=i+h*j;d=1;if((f|0)==1){break a}while(1){g=(b+d<<4)+e|0;i=o[g>>3];k=g;g=(d<<4)+e|0;j=o[g+8>>3];o[k>>3]=i+h*j;o[g+8>>3]=j+h*i;d=d+1|0;if((f|0)!=(d|0)){continue}break}}f=f-1|0;if((b|0)!=(c|0)){continue}break}}I=e+400|0;return q(o[e+8>>3])}L(9497,9557,44);z()}function Pb(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0;a:{if((c|0)>0){f=1;if(c&1){break a}e=i[b>>1];d=i[b+2>>1]-e|0;d=131072/(((d|0)>1?d:1)>>>0)|0;e=d+(131072/(((e|0)>1?e:1)>>>0)|0)|0;i[a>>1]=e>>>0<32767?e:32767;e=c-1|0;if((c|0)>=3){while(1){k=d;c=f<<1;g=c+2|0;h=g+b|0;d=i[h>>1]-i[b+c>>1]|0;j=131072/(((d|0)>1?d:1)>>>0)|0;d=k+j|0;i[a+c>>1]=d>>>0<32767?d:32767;f=f+2|0;c=i[(f<<1)+b>>1]-i[h>>1]|0;d=131072/(((c|0)>1?c:1)>>>0)|0;c=j+d|0;i[a+g>>1]=c>>>0<32767?c:32767;if((e|0)>(f|0)){continue}break}}c=e<<1;b=32768-i[c+b>>1]|0;b=(131072/(((b|0)>1?b:1)>>>0)|0)+d|0;i[a+c>>1]=b>>>0<32767?b:32767;return}L(15465,15489,51);z()}L(15519,15489,52);z()}function nb(a,b,c,d,e,f,g,h,i){var j=q(0),k=0,l=0;l=48e3/(i|0)|0;i=(e|0)/(l|0)|0;a:{if((g|0)!=1){e=0;if((i|0)<=0){break a}while(1){k=e<<3;j=n[(p(e,l)<<2)+h>>2];j=q(j*j);j=q(q(j*d)+q(q(q(1)-j)*c));n[k+b>>2]=n[a+k>>2]*j;k=k|4;n[k+b>>2]=n[a+k>>2]*j;e=e+1|0;if((i|0)!=(e|0)){continue}break}break a}if((i|0)<1){break a}e=0;while(1){k=e<<2;j=n[(p(e,l)<<2)+h>>2];j=q(j*j);n[k+b>>2]=n[a+k>>2]*q(q(j*d)+q(q(q(1)-j)*c));e=e+1|0;if((i|0)!=(e|0)){continue}break}}l=(g|0)>1?g:1;h=0;while(1){e=i;if((f|0)>(e|0)){while(1){k=p(e,g)+h<<2;n[k+b>>2]=n[a+k>>2]*d;e=e+1|0;if((f|0)!=(e|0)){continue}break}}h=h+1|0;if((l|0)!=(h|0)){continue}break}}function Pc(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;a:{b:{if((c|0)>=1){while(1){n[(h<<2)+b>>2]=n[(p(d+h|0,g)+e<<2)+a>>2]*q(32768);h=h+1|0;if((h|0)!=(c|0)){continue}break}if((f|0)<=-1){break b}if((c|0)<1){break a}h=0;while(1){e=(h<<2)+b|0;n[e>>2]=n[e>>2]+q(n[(p(d+h|0,g)+f<<2)+a>>2]*q(32768));h=h+1|0;if((h|0)!=(c|0)){continue}break}break a}if((f|0)>-1){break a}}if((f|0)!=-2|(g|0)<2){break a}f=1;e=(c|0)<1;while(1){h=0;if(!e){while(1){i=(h<<2)+b|0;n[i>>2]=n[i>>2]+q(n[(p(d+h|0,g)+f<<2)+a>>2]*q(32768));h=h+1|0;if((h|0)!=(c|0)){continue}break}}f=f+1|0;if((g|0)!=(f|0)){continue}break}}}function xd(a,b,c,d,e,f,g,h){var i=0,k=0,l=0,m=q(0),o=0,s=0,t=0,u=0,w=0,x=0,y=q(0),z=q(0);if((b|0)<(c|0)){w=(h|0)>1?h:1;while(1){t=(b<<2)+f|0;i=j[t>>2];if((i|0)>=1){o=65536<>16;x=o-1|0;y=q(o|0);l=j[a+8>>2];h=0;while(1){s=g;m=q(v(q(q(n[(p(h,l)+b<<2)+e>>2]+q(.5))*y)));a:{if(q(r(m))0?k:0;W(s,k,i);l=j[a+8>>2];u=p(l,h)+b<<2;i=u+d|0;s=i;z=n[i>>2];i=j[t>>2];m=q(q(q(q(q(k|0)+q(.5))*q(1<<14-i))*q(6103515625e-14))+q(-.5));n[s>>2]=z+m;k=e+u|0;n[k>>2]=n[k>>2]-m;h=h+1|0;if((w|0)!=(h|0)){continue}break}}b=b+1|0;if((c|0)!=(b|0)){continue}break}}}function Z(a,b,c,d){var e=0,f=0,g=0;a:{e=j[a+284>>2];if((e|0)<=(d|0)){g=j[a+292>>2];if((e|0)<(g|0)){break a}f=a+168|0;e=e-g<<1;M(f+(g<<1)|0,c,e);b:{c:{switch(j[a+264>>2]-1|0){case 0:fb(a,b,f,j[a+284>>2]);fb(a,(j[a+288>>2]<<1)+b|0,c+e|0,d-j[a+284>>2]|0);break b;case 1:eb(a,b,f,j[a+284>>2]);eb(a,(j[a+288>>2]<<1)+b|0,c+e|0,d-j[a+284>>2]|0);break b;case 2:cb(a,b,f,j[a+284>>2]);cb(a,(j[a+288>>2]<<1)+b|0,c+e|0,d-j[a+284>>2]|0);break b;default:break c}}M(M(b,f,j[a+284>>2]<<1)+(j[a+288>>2]<<1)|0,c+e|0,d-j[a+284>>2]<<1)}a=j[a+292>>2];M(f,(d-a<<1)+c|0,a<<1);return 0}L(6521,6474,184);z()}L(6561,6474,186);z()}function ud(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0;a:{if((c|0)>0){if((b|0)<=1){break a}k=b-1|0;g=j[(k<<2)+a>>2];e=g>>31;e=e^e+g;h=g>>>31|0;while(1){g=k-1|0;f=b-g|0;h=j[j[(((e|0)>(f|0)?f:e)<<2)+36320>>2]+(((e|0)<(f|0)?f:e)<<2)>>2]+h|0;i=j[(g<<2)+a>>2];l=i>>31;e=(l^i+l)+e|0;if((i|0)<=-1){i=h;h=e+1|0;h=i+j[j[(((e|0)<(f|0)?h:f)<<2)+36320>>2]+(((h|0)<(f|0)?f:h)<<2)>>2]|0}f=(k|0)>1;k=g;if(f){continue}break}g=d;a=c+1|0;d=(b|0)>(c|0);ga(g,h,j[j[((d?a:b)<<2)+36320>>2]+(((a|0)<(b|0)?b:a)<<2)>>2]+j[j[(((b|0)<(c|0)?b:c)<<2)+36320>>2]+((d?b:c)<<2)>>2]|0);return}L(36272,36295,459);z()}L(36380,36295,444);z()}function Vd(a,b,c){var d=0,e=0,f=0,g=0,m=0,n=0,o=0,q=0;g=I-80|0;I=g;Aa(g+32|0,g- -64|0,c,h[b|0]);d=l[c+2>>1];n=d<<16>>16;m=(n|0)<1;if(!m){o=i[c+4>>1];while(1){e=h[b+d|0];f=e<<10;e=(e|0)>0?f-102|0:(f|102)&e>>31;f=d-1|0;q=(p(e>>16,o)+(p(k[f+(g- -64|0)|0],q<<16>>16)>>8)|0)+(p(e&65534,o)>>16)|0;i[(f<<1)+g>>1]=q;e=(d|0)>1;d=f;if(e){continue}break}}if(!m){b=p(h[b|0],n);e=b+j[c+8>>2]|0;f=j[c+12>>2]+(b<<1)|0;d=0;while(1){m=d<<1;b=((i[m+g>>1]<<14)/i[f+m>>1]|0)+(k[d+e|0]<<7)|0;b=(b|0)>0?b:0;i[a+m>>1]=(b|0)<32767?b:32767;d=d+1|0;n=i[c+2>>1];if((d|0)<(n|0)){continue}break}}Nb(a,j[c+36>>2],n);I=g+80|0}function $b(a,b){var c=0,d=q(0),e=0,f=q(0),g=0,h=0,i=0,j=q(0),k=q(0),l=0,m=0;f=n[b>>2];h=O(a,0,16);a:{if(n[b>>2]==q(0)){break a}i=1;while(1){if((e|0)==4){break a}c=0;d=q(0);if(e){while(1){d=q(d+q(n[(c<<2)+h>>2]*n[(e-c<<2)+b>>2]));c=c+1|0;if((e|0)!=(c|0)){continue}break}}a=e+1|0;d=q(q(-q(d+n[(a<<2)+b>>2]))/f);n[(e<<2)+h>>2]=d;if(e){l=i>>>1|0;c=0;while(1){g=(c<<2)+h|0;j=n[g>>2];m=g;g=((c^-1)+e<<2)+h|0;k=n[g>>2];n[m>>2]=j+q(d*k);n[g>>2]=k+q(d*j);c=c+1|0;if((l|0)!=(c|0)){continue}break}}i=i+1|0;e=a;f=q(f-q(f*q(d*d)));if(f>2]*q(.0010000000474974513))^1){continue}break}}}function Oa(a){var b=0,c=0,d=0,e=0;a:{pe(+a);b=me(1)|0;me(0)|0;c=b;b=b&2147483647;b:{if(b>>>0>=1083174912){if(!((c|0)<0|b>>>0<1083179008)){return a*8.98846567431158e+307}if(b>>>0>=2146435072){return-1/a}if(a<=-1075^1){break a}d=0;if((c|0)<-1?1:(c|0)<=-1){break b}break a}if(b>>>0>1016070143){break a}d=a+1}return d}e=a+26388279066624;pe(+e);me(1)|0;c=(me(0)|0)+128|0;b=c<<4&4080;d=o[b+11024>>3];a=a-(e+ -26388279066624)-o[(b|8)+11024>>3];return ca(d+d*a*(a*(a*(a*(a*.0013333559164630223+.009618129842126066)+.0555041086648214)+.2402265069591)+.6931471805599453),(c&-256)/256|0)}function ae(a,b,c){var d=0,e=q(0),f=0,g=0,h=0,i=0,j=0,k=0,l=q(0);j=4;h=a+16|0;f=S(h,b);n[c>>2]=f;d=1;while(1){e=n[h-(d<<2)>>2];l=q(e*e);e=n[(b-d<<2)+h>>2];f=f+ +q(l-q(e*e));n[(p(d,5)+d<<2)+c>>2]=f;d=d+1|0;if((d|0)!=5){continue}break}a=a+12|0;g=1;while(1){f=da(h,a,b);e=q(f);n[(p(g,5)<<2)+c>>2]=e;n[(g<<2)+c>>2]=e;d=1;if((5-g|0)>=2){while(1){k=d+g|0;i=d<<2;e=q(n[h-i>>2]*n[a-i>>2]);i=b-d<<2;f=f+ +q(e-q(n[i+h>>2]*n[a+i>>2]));e=q(f);n[(p(k,5)+d<<2)+c>>2]=e;n[(p(d,5)+k<<2)+c>>2]=e;d=d+1|0;if((j|0)!=(d|0)){continue}break}}j=j-1|0;a=a-4|0;g=g+1|0;if((g|0)!=5){continue}break}}function qd(a,b,c,d,e,f,g,h){var i=0,k=0,l=q(0),m=0;i=I;k=i;a:{if((c|0)>0){if((b|0)<=1){break a}i=i-((b<<2)+27&-16)|0;I=i;Ha(a,b,1,e,c,d);l=rd(a,i,c,b);ud(i,b,c,f);if(h){g=q(q(q(1)/q(y(l)))*g);f=0;while(1){h=f<<2;n[h+a>>2]=g*q(j[h+i>>2]);f=f+1|0;if((f|0)!=(b|0)){continue}break}Ha(a,b,-1,e,c,d)}d=1;if((e|0)>=2){a=(b>>>0)/(e>>>0)|0;b=(a|0)>1?a:1;d=0;c=0;while(1){m=p(a,c);f=0;h=0;while(1){h=j[i+(f+m<<2)>>2]|h;f=f+1|0;if((b|0)!=(f|0)){continue}break}d=((h|0)!=0)<>>0>1){d=c-1|0;if(d>>>0>=256){f=24-s(d)|0;c=b>>>f|0;va(a,c,c+1|0,(d>>>f|0)+1|0);if(!f){break a}g=(-1<>2];c=j[a+16>>2];e=f+c|0;b:{if(e>>>0<33){d=c;break b}while(1){i=a;d=j[a+4>>2];e=j[a+8>>2];if(d>>>0>e+j[a+24>>2]>>>0){e=e+1|0;j[a+8>>2]=e;h[j[a>>2]+(d-e|0)|0]=b;d=0}else{d=-1}j[i+44>>2]=d|j[a+44>>2];b=b>>>8|0;e=(c|0)>15;d=c-8|0;c=d;if(e){continue}break}e=d+f|0}j[a+16>>2]=e;j[a+12>>2]=g<>2]=j[a+20>>2]+f;return}va(a,b,b+1|0,c);return}L(6995,7019,180);z()}L(7033,7019,198);z()}function Qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=I-16|0;I=f;a:{b:{c:{d:{if((a|0)<=15999){if((a|0)==8e3|(a|0)==12e3){break d}break c}if((a|0)==16e3|(a|0)==48e3){break d}if((a|0)!=24e3){break c}}if(b-1>>>0>1){break c}e=c-2048|0;if(e>>>0>3){break c}if((e|0)!=2){break b}}e=0;if(!d){break a}j[d>>2]=-1;break a}j[f+12>>2]=20216;j[f+12>>2]=j[f+12>>2]+3&-4;e=ha((j[f+12>>2]+p(((j[4500]<<2)+(j[4501]<<4)|0)+4096|0,b)|0)+18384|0);if(!e){e=0;if(!d){break a}j[d>>2]=-7;break a}a=Rc(e,a,b,c);if(d){j[d>>2]=a}if(!a){break a}R(e);e=0}I=f+16|0;return e|0}function yb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0;e=I;k=e;i=p(b,c);f=e-((i<<2)+15&-16)|0;I=f;if((c|0)>0){a:{if(!d){e=0;g=(b|0)<1;while(1){if(!g){h=p(b,e);d=0;while(1){j[(d+h<<2)+f>>2]=j[(p(c,d)+e<<2)+a>>2];d=d+1|0;if((d|0)!=(b|0)){continue}break}}e=e+1|0;if((e|0)!=(c|0)){continue}break}break a}g=(c<<2)+41976|0;e=0;h=(b|0)<1;while(1){if(!h){l=p(j[g+(e<<2)>>2],b);d=0;while(1){j[(d+l<<2)+f>>2]=j[(p(c,d)+e<<2)+a>>2];d=d+1|0;if((d|0)!=(b|0)){continue}break}}e=e+1|0;if((e|0)!=(c|0)){continue}break}}M(a,f,i<<2);I=k;return}L(41952,41800,591);z()}function hd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0;e=I;k=e;i=p(b,c);f=e-((i<<2)+15&-16)|0;I=f;a:{if(!d){if((c|0)<1){break a}e=0;g=(b|0)<1;while(1){if(!g){h=p(b,e);d=0;while(1){j[(p(c,d)+e<<2)+f>>2]=j[(d+h<<2)+a>>2];d=d+1|0;if((d|0)!=(b|0)){continue}break}}e=e+1|0;if((e|0)!=(c|0)){continue}break}break a}if((c|0)<1){break a}g=(c<<2)+41976|0;e=0;h=(b|0)<1;while(1){if(!h){l=p(j[g+(e<<2)>>2],b);d=0;while(1){j[(p(c,d)+e<<2)+f>>2]=j[(d+l<<2)+a>>2];d=d+1|0;if((d|0)!=(b|0)){continue}break}}e=e+1|0;if((e|0)!=(c|0)){continue}break}}M(a,f,i<<2);I=k}function Va(a,b,c,d){var e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=d-1|0;h=s(d);f=31-h|0;a:{if((d|0)<2){e=d;break a}e=d;while(1){k=e;e=g<<1;m=i[(e|2)+c>>1];e=i[c+e>>1];e=k+(p(m,m)+p(e,e)>>>f|0)|0;g=g+2|0;if((l|0)>(g|0)){continue}break}g=d&-2}if((d|0)>(g|0)){k=e;e=i[(g<<1)+c>>1];e=k+(p(e,e)>>>f|0)|0}f=0;e=34-(h+s(e)|0)|0;h=(e|0)>0?e:0;if((d|0)<2){e=0}else{g=0;while(1){k=f;e=g<<1;f=i[(e|2)+c>>1];e=i[c+e>>1];f=k+(p(f,f)+p(e,e)>>>h|0)|0;g=g+2|0;if((l|0)>(g|0)){continue}break}e=d&-2}if((e|0)<(d|0)){c=i[(e<<1)+c>>1];f=(p(c,c)>>>h|0)+f|0}j[b>>2]=h;j[a>>2]=f}function Kc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,k=0;i=-1;f=j[a+144>>2];k=(f|0)/400|0;a:{if((k|0)>(c|0)){break a}g=c;h=j[a+156>>2];if((h|0)!=5e3){g=h-5001|0;if(g>>>0>8){break a}g=(h|0)<=5005?k<(c|0)){break a}}b:{if((p(g,100)|0)==(f|0)|(p(g,400)|0)==(f|0)|(p(g,200)|0)==(f|0)){break b}h=p(g,50);if((h|0)==(p(f,6)|0)|(h|0)==(p(f,5)|0)|((h|0)==f<<2|(h|0)==(p(f,3)|0))){break b}if((f|0)==(h|0)){break b}if((p(g,25)|0)!=(f|0)){break a}}i=g}return ob(a,b,i,d,e,24,b,c,-2,j[a+112>>2],4,1)|0}function Ka(a,b,c,d,e){var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;if((e|0)>=2){e=e>>1;o=(e|0)>1?e:1;f=j[b+4>>2];g=j[b>>2];e=0;while(1){l=e<<1;h=e<<2;m=i[(h|2)+a>>1]<<10;k=m-f|0;k=(p(k&65535,10788)>>>16|0)+p(k>>16,10788)|0;n=f+k|0;f=i[a+h>>1]<<10;g=f-g|0;h=((p(g&65535,-24290)>>16)+p(g>>16,-24290)|0)+f|0;f=n+h|0;i[l+c>>1]=(f|0)>67107839?32767:(f|0)<-67109888?-32768:(f>>>10|0)+1>>>1|0;f=n-h|0;i[d+l>>1]=(f|0)>67107839?32767:(f|0)<-67109888?-32768:(f>>>10|0)+1>>>1|0;f=k+m|0;g=g+h|0;e=e+1|0;if((o|0)!=(e|0)){continue}break}j[b+4>>2]=f;j[b>>2]=g}}function Ja(a,b,c){a:{a=O(a,0,20216);if(wa(a,b)){break a}if(wa(a+10064|0,b)){break a}j[a+20192>>2]=1;j[a+20196>>2]=1;j[c>>2]=1;j[c+4>>2]=1;j[c+8>>2]=j[a+4556>>2];j[c+12>>2]=j[a+4564>>2];j[c+16>>2]=j[a+4568>>2];j[c+20>>2]=j[a+4572>>2];j[c+24>>2]=j[a+4612>>2];j[c+28>>2]=j[a+4608>>2];j[c+32>>2]=j[a+4616>>2];j[c+36>>2]=j[a+4624>>2];j[c+40>>2]=j[a+6088>>2];j[c+48>>2]=j[a+6076>>2];j[c+52>>2]=j[a+4676>>2];b=j[a+4576>>2];j[c+72>>2]=p(b<<16>>16,1e3);j[c+76>>2]=j[a+4536>>2];j[c+80>>2]=(b|0)==16?!j[a+28>>2]:0;return 0}L(17487,17507,85);z()}function lb(a,b,c,d){var e=0,f=0,g=q(0),h=0,i=0,k=0,l=0,m=0,n=q(0),p=0,s=0,t=0,u=0;e=+b;h=r(e);if(h<1e-6){return a}i=+(c|0);if(h>i*.5){a=q(0)}else{n=q(a*b);p=j[d>>2];b=q(q(r(q((e+e)/i)))*q(j[d+4>>2]));g=q(v(b));a:{if(q(r(g))>3];i=o[d>>3];k=o[d+16>>3];e=o[d+24>>3];b=q(b-q(c|0));g=q(b*b);f=+n*3.141592653589793;s=Hc(f)*+a/f;t=e;f=+q(b*g);l=f*.1666666667;e=+b;m=l-e*.1666666667;u=k;k=+g*.5;f=k+e-f*.5;e=k+e*-.3333333333-l;a=q(s*(t*m+(u*f+(i*e+h*(1-m-f-e)))))}return a}function Mc(a,b){var c=0,d=0,e=0;c=I-208|0;I=c;j[c+204>>2]=b;O(c+160|0,0,40);j[c+200>>2]=j[c+204>>2];a:{if((Ca(0,c+200|0,c+80|0,c+160|0)|0)<0){break a}d=j[a+76>>2]>=0;b=j[a>>2];if(h[a+74|0]<=0){j[a>>2]=b&-33}e=b&32;b:{if(j[a+48>>2]){Ca(a,c+200|0,c+80|0,c+160|0);break b}j[a+48>>2]=80;j[a+16>>2]=c+80;j[a+28>>2]=c;j[a+20>>2]=c;b=j[a+44>>2];j[a+44>>2]=c;Ca(a,c+200|0,c+80|0,c+160|0);if(!b){break b}K[j[a+36>>2]](a,0,0)|0;j[a+48>>2]=0;j[a+44>>2]=b;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0}j[a>>2]=j[a>>2]|e;if(!d){break a}}I=c+208|0}function pd(a,b,c,d,e,f,g){var h=0,i=0,k=0,l=0;h=I;k=h;a:{if((c|0)>0){if((b|0)<=1){break a}h=h-((b<<2)+15&-16)|0;I=h;g=q(q(q(1)/q(y(td(h,b,c,f))))*g);f=0;while(1){i=f<<2;n[i+a>>2]=g*q(j[h+i>>2]);f=f+1|0;if((f|0)!=(b|0)){continue}break}Ha(a,b,-1,e,c,d);d=1;if((e|0)>=2){b=(b>>>0)/(e>>>0)|0;i=(b|0)>1?b:1;d=0;c=0;while(1){l=p(b,c);f=0;a=0;while(1){a=j[h+(f+l<<2)>>2]|a;f=f+1|0;if((i|0)!=(f|0)){continue}break}d=((a|0)!=0)<>2];if(h){g=1;e=p(16384-d|0,32736-c|0)>>>15|0;f=h>>31;i=f^f+h;c:{if(!e|(i|0)<2){break c}while(1){k=e<<1;e=p(k,d)>>>15|0;c=(c+k|0)+2|0;g=g+1|0;if((i|0)<=(g|0)){break c}if(e){continue}break}}d:{if(!e){e=b;b=i-g|0;d=((h>>>31|32768)-c>>1)-1|0;b=(b|0)<(d|0)?b:d;j[e>>2]=b+(f+g|0)^f;e=(c+f|0)+(b<<1|1)|0;c=(e|0)!=32768;break d}b=c;c=e+1|0;e=b+(c&(f^-1))|0}if(c+e>>>0>=32769){break b}if(!c){break a}}lc(a,e,c+e|0);return}L(32848,32879,88);z()}L(32894,32879,89);z()}function Ga(a,b,c,d,e,f){var g=q(0),h=0,k=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=q(0);t=(e|0)>1?e:1;u=j[a+44>>2]<>2];while(1){if((d|0)>=1){v=p(h,u);w=p(j[a+8>>2],h);m=l[o>>1];k=0;while(1){e=m<<16;g=q(0);r=k+1|0;m=i[(r<<1)+o>>1];e=e>>16;s=m-e<=1){x=((e<>2];g=q(z+q(g*g));e=e+1|0;if((s|0)!=(e|0)){continue}break}}n[(k+w<<2)+c>>2]=y(q(g+q(1.0000000272452012e-27)));k=r;if((k|0)!=(d|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}function Xd(a,b,c,d,e,f){var g=0,h=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0;if(!(f&1)){if((e|0)>=1){u=(f|0)<2;while(1){o=f;h=0;q=0;if(!u){while(1){m=o-1|0;g=m<<1;n=p(l[g+b>>1]-(k[c+m|0]<<7)<<16>>16,i[d+g>>1]);s=n-(h>>1)|0;g=s>>31;m=o-2|0;h=m<<1;h=p(l[h+b>>1]-(k[c+m|0]<<7)<<16>>16,i[d+h>>1]);t=h-(n>>1)|0;n=t>>31;q=((g^g+s)+q|0)+(n^n+t)|0;g=(o|0)>3;o=m;if(g){continue}break}}j[(r<<2)+a>>2]=q;c=c+f|0;d=(f<<1)+d|0;r=r+1|0;if((r|0)!=(e|0)){continue}break}}return}L(15720,15761,49);z()}function ld(a,b,c,d,e,f,g){var h=0,k=0,l=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=q(0);s=(f|0)>1?f:1;t=p(j[a+44>>2],g);o=j[a+32>>2];while(1){if((e|0)>=1){u=p(k,t);v=p(j[a+8>>2],k);m=i[o>>1];l=0;while(1){f=p(g,m);h=l;l=h+1|0;m=i[(l<<1)+o>>1];r=p(m,g);if((f|0)<(r|0)){w=q(q(1)/q(n[(h+v<<2)+d>>2]+q(1.0000000272452012e-27)));while(1){h=f+u<<2;n[h+c>>2]=w*n[b+h>>2];f=f+1|0;if((r|0)>(f|0)){continue}break}}if((e|0)!=(l|0)){continue}break}}k=k+1|0;if((s|0)!=(k|0)){continue}break}}function jc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;c=j[a+32>>2];d=j[a+28>>2];b=d>>>2|0;g=c>>>0>>0;if(!g){c=c-b|0;j[a+32>>2]=c}b=g?b:d-b|0;j[a+28>>2]=b;if(b>>>0<=8388608){d=j[a+24>>2];i=j[a+40>>2];h=j[a+20>>2];m=j[a+4>>2];while(1){l=b<<8;j[a+28>>2]=l;h=h+8|0;j[a+20>>2]=h;e=0;if(d>>>0>>0){f=d+1|0;j[a+24>>2]=f;e=k[j[a>>2]+d|0];d=f}j[a+40>>2]=e;c=(c<<8&2147483392|(i<<8|e)>>>1&255)^255;j[a+32>>2]=c;f=b>>>0<32769;i=e;b=l;if(f){continue}break}}return g}function zc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0;g=b<<2;h=g+j[a+64>>2]|0;c=j[h>>2];b=0;i=g+j[a+60>>2]|0;g=j[i>>2];k=j[d>>2];a:{if((g|0)>=(k|0)){break a}d=j[a+12>>2];l=j[a+40>>2];m=j[a+36>>2];n=j[a+92>>2];a=j[f>>2];a=(a|0)>0?a:0;while(1){if((a|0)==(b|0)){b=a;break a}j[(p(b,n)<<2)+e>>2]=0;f=c+l|0;c=f-(d>>>0>f>>>0?0:d)|0;b=b+1|0;g=(g+m|0)+(d>>>0<=f>>>0)|0;if((k|0)>(g|0)){continue}break}}j[i>>2]=g;j[h>>2]=c;return b|0}function sa(a,b,c,d){var e=q(0),f=q(0),g=0,h=q(0),i=0;a:{if(c-1>>>0<2){if(d&3){break a}if((d|0)>=1){e=q(q(3.1415927410125732)/q(d+1|0));h=q(q(2)-q(e*e));c=(c|0)<2;e=c?e:q(h*q(.5));f=c?q(0):q(1);while(1){c=i<<2;n[c+a>>2]=q(f+e)*q(n[b+c>>2]*q(.5));g=c|4;n[g+a>>2]=e*n[b+g>>2];g=c|8;f=q(q(h*e)-f);n[g+a>>2]=q(e+f)*q(n[b+g>>2]*q(.5));c=c|12;n[c+a>>2]=f*n[b+c>>2];e=q(q(h*f)-e);i=i+4|0;if((i|0)<(d|0)){continue}break}}return}L(9375,9424,48);z()}L(9459,9424,51);z()}function he(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=b;if(!c){J=0;return(a>>>0)/10|0}g=61-s(c)|0;f=0-g|0;e=g&63;d=e&31;if(e>>>0>=32){e=0;d=c>>>d|0}else{e=c>>>d|0;d=((1<>>d}f=f&63;c=f&31;if(f>>>0>=32){b=a<>>32-c|b<>>31;f=c;e=e<<1|d>>>31;c=0-(e+(c>>>0>9)|0)>>31;h=c&10;d=f-h|0;e=e-(f>>>0>>0)|0;b=b<<1|a>>>31;a=i|a<<1;h=c&1;i=h;g=g-1|0;if(g){continue}break}}J=b<<1|a>>>31;return h|a<<1}function qc(a){var b=0;j[a>>2]=0;j[a+4>>2]=0;j[a+56>>2]=0;j[a+60>>2]=5e3;j[a+32>>2]=0;j[a+36>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;j[a+96>>2]=25;j[a+100>>2]=16;j[a+80>>2]=858993;j[a+84>>2]=1342177;b=a- -64|0;j[b>>2]=2500;j[b+4>>2]=1600;j[a+104>>2]=12;j[a+108>>2]=15;j[a+88>>2]=1789569;j[a+92>>2]=50;j[a+72>>2]=1200;j[a+76>>2]=429496;j[a+40>>2]=25600;j[a+44>>2]=25600;j[a+48>>2]=25600;j[a+52>>2]=25600;return 0}function kd(a,b){a:{if(a){if(b>>>0<=127){break a}b:{if(!j[j[13217]>>2]){if((b&-128)==57216){break a}break b}if(b>>>0<=2047){h[a+1|0]=b&63|128;h[a|0]=b>>>6|192;return 2}if(!((b&-8192)!=57344?b>>>0>=55296:0)){h[a+2|0]=b&63|128;h[a|0]=b>>>12|224;h[a+1|0]=b>>>6&63|128;return 3}if(b-65536>>>0<=1048575){h[a+3|0]=b&63|128;h[a|0]=b>>>18|240;h[a+2|0]=b>>>6&63|128;h[a+1|0]=b>>>12&63|128;return 4}}j[13231]=25;a=-1}else{a=1}return a}h[a|0]=b;return 1}function Xa(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,l=0;e=j[a+36>>2];f=p(e,d-c|0);g=j[a+32>>2]-f|0;j[a+32>>2]=g;c=b?p(e,c-b|0):j[a+28>>2]-f|0;j[a+28>>2]=c;if(c>>>0<=8388608){d=j[a+24>>2];e=j[a+40>>2];i=j[a+20>>2];l=j[a+4>>2];while(1){f=c<<8;j[a+28>>2]=f;i=i+8|0;j[a+20>>2]=i;b=0;if(d>>>0>>0){h=d+1|0;j[a+24>>2]=h;b=k[j[a>>2]+d|0];d=h}j[a+40>>2]=b;g=(g<<8&2147483392|(e<<8|b)>>>1&255)^255;j[a+32>>2]=g;h=c>>>0<32769;e=b;c=f;if(h){continue}break}}}function Pa(a,b,c,d){var e=0,f=0,g=0,h=0,k=0,l=0,m=0;if((d|0)>=2){d=d>>1;m=(d|0)>1?d:1;e=j[a+4>>2];f=j[a>>2];d=0;while(1){g=d<<2;h=i[g+c>>1]<<10;f=h-f|0;h=((p(f&65535,-25727)>>16)+p(f>>16,-25727)|0)+h|0;k=h+e|0;g=i[(g|2)+c>>1]<<10;e=g-e|0;e=(p(e&65535,9872)>>>16|0)+p(e>>16,9872)|0;k=k+e|0;l=(k>>10)+1>>1;i[(d<<1)+b>>1]=(k|0)>67107839?32767:(l|0)>-32768?l:-32768;e=e+g|0;f=f+h|0;d=d+1|0;if((m|0)!=(d|0)){continue}break}j[a+4>>2]=e;j[a>>2]=f}}function sd(a,b){var c=0;c=(b|0)!=0;a:{b:{c:{if(!b|!(a&3)){break c}while(1){if(!k[a|0]){break b}a=a+1|0;b=b-1|0;c=(b|0)!=0;if(!b){break c}if(a&3){continue}break}}if(!c){break a}}d:{if(!k[a|0]|b>>>0<4){break d}while(1){c=j[a>>2];if((c^-1)&c-16843009&-2139062144){break d}a=a+4|0;b=b-4|0;if(b>>>0>3){continue}break}}if(!b){break a}while(1){if(!k[a|0]){return a}a=a+1|0;b=b-1|0;if(b){continue}break}}return 0}function Bb(a){var b=0,c=0,d=0;b=I-16|0;I=b;pe(+a);d=me(1)|0;me(0)|0;d=d&2147483647;a:{if(d>>>0<=1072243195){c=1;if(d>>>0<1044816030){break a}c=la(a,0);break a}c=a-a;if(d>>>0>=2146435072){break a}b:{switch(Cb(a,b)&3){case 0:c=la(o[b>>3],o[b+8>>3]);break a;case 1:c=-ka(o[b>>3],o[b+8>>3],1);break a;case 2:c=-la(o[b>>3],o[b+8>>3]);break a;default:break b}}c=ka(o[b>>3],o[b+8>>3],1)}a=c;I=b+16|0;return a}function W(a,b,c){var d=0,e=0,f=0,g=0,i=0;if(c){g=j[a+12>>2];f=j[a+16>>2];d=f+c|0;a:{if(d>>>0<33){e=f;break a}while(1){i=a;e=j[a+4>>2];d=j[a+8>>2];if(e>>>0>d+j[a+24>>2]>>>0){d=d+1|0;j[a+8>>2]=d;h[j[a>>2]+(e-d|0)|0]=g;e=0}else{e=-1}j[i+44>>2]=e|j[a+44>>2];g=g>>>8|0;d=(f|0)>15;e=f-8|0;f=e;if(d){continue}break}d=c+e|0}j[a+16>>2]=d;j[a+12>>2]=b<>2]=j[a+20>>2]+c;return}L(7033,7019,198);z()}function Hc(a){var b=0,c=0;b=I-16|0;I=b;pe(+a);c=me(1)|0;me(0)|0;c=c&2147483647;a:{if(c>>>0<=1072243195){if(c>>>0<1045430272){break a}a=ka(a,0,0);break a}if(c>>>0>=2146435072){a=a-a;break a}b:{switch(Cb(a,b)&3){case 0:a=ka(o[b>>3],o[b+8>>3],1);break a;case 1:a=la(o[b>>3],o[b+8>>3]);break a;case 2:a=-ka(o[b>>3],o[b+8>>3],1);break a;default:break b}}a=-la(o[b>>3],o[b+8>>3])}I=b+16|0;return a}function Fd(a,b,c,d,e){var f=0,g=0,i=0,k=0,l=0;if((e|0)>=1){while(1){f=h[b+i|0];l=c;a:{if(!(d|i)){g=h[c|0]-16|0;f=(f|0)>(g|0)?f:g;break a}g=h[c|0];k=g+8|0;f=f-4|0;if((k|0)<(f|0)){f=g+((f<<1)-k|0)|0;break a}f=f+g|0}f=f<<24>>24>0?f:0;f=f<<24>>24<63?f:63;h[l|0]=f;f=f&255;f=(p(f,7281)>>>16|0)+p(f,29)|0;j[(i<<2)+a>>2]=na((f>>>0<1877?f:1877)+2090|0);i=i+1|0;if((i|0)!=(e|0)){continue}break}}}function Ia(a,b,c,d,e,f){var g=0,h=0,i=0,k=0;k=(f|0)>1?f:1;while(1){if((b|0)>=1){h=p(j[a+8>>2],g);f=0;while(1){i=f+h<<2;n[e+i>>2]=q(ma(+n[i+d>>2])*1.4426950408889634)-n[(f<<2)+32928>>2];f=f+1|0;if((f|0)!=(b|0)){continue}break}}if((b|0)<(c|0)){h=p(j[a+8>>2],g);f=b;while(1){j[(f+h<<2)+e>>2]=-1050673152;f=f+1|0;if((f|0)!=(c|0)){continue}break}}g=g+1|0;if((k|0)!=(g|0)){continue}break}}function dd(a,b,c,d){var e=0;e=-1;a:{if(c>>>0>2){break a}e=-7;if(!a){break a}a=O(a,0,p(((j[4500]<<2)+(j[4501]<<4)|0)+4096|0,c)+244|0);j[a+28>>2]=1;j[a+32>>2]=0;j[a+8>>2]=c;j[a+4>>2]=c;j[a>>2]=17996;c=j[4502];j[a+24>>2]=5;j[a+60>>2]=24;j[a+12>>2]=0;j[a+16>>2]=1;j[a+40>>2]=-1;j[a+44>>2]=0;j[a+72>>2]=d;j[a+48>>2]=1;j[a+52>>2]=1;j[a+36>>2]=c;P(a,4028,0);j[a+28>>2]=sc(b);e=0}return e}function hc(a,b,c,d,e,f){var g=0,i=0,l=0;g=I-16|0;I=g;h[g+15|0]=0;if((c|0)>=8){d=p((d<<1)+e<<16>>16,7)+9232|0;c=c+8>>4;e=(c|0)>1?c:1;while(1){c=j[(i<<2)+f>>2];if((c|0)>=1){c=c&31;h[g+14|0]=k[d+(c>>>0<6?c:6)|0];c=0;while(1){l=k[b+c|0];if(l){N(a,(l<<24>>24>>>7|0)+1&255,g+14|0,8)}c=c+1|0;if((c|0)!=16){continue}break}}b=b+16|0;i=i+1|0;if((e|0)!=(i|0)){continue}break}}I=g+16|0}function rb(a,b,c){var d=0,e=0,f=0,g=0;e=I-16|0;I=e;d=-4;a:{if((c|0)<1){break a}b:{if(!j[a+4>>2]){h[a|0]=k[b|0];j[a+296>>2]=Vc(b);break b}if((k[b|0]^k[a|0])>>>0>3){break a}}f=Sc(b,c);if((f|0)<1){break a}g=j[a+4>>2];if((p(j[a+296>>2],g+f|0)|0)>960){break a}d=Tc(b,c,e+15|0,((g<<2)+a|0)+8|0,((g<<1)+a|0)+200|0);if((d|0)<1){break a}j[a+4>>2]=j[a+4>>2]+f;d=0}I=e+16|0;return d}function xc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,k=0,l=0;h=j[a+92>>2];i=j[c>>2];k=j[e>>2];f=j[a+20>>2];j[a+92>>2]=f;l=j[a+88>>2];j[a+88>>2]=f;if(f){f=0;while(1){j[e>>2]=k;j[c>>2]=i;a:{if(b){g=f<<2;kb(a,f,g+b|0,c,d+g|0,e);break a}kb(a,f,0,c,(f<<2)+d|0,e)}f=f+1|0;if(f>>>0>2]){continue}break}}j[a+92>>2]=h;j[a+88>>2]=l;return j[a+84>>2]==9|0}function zb(a,b,c){var d=0,e=0,f=q(0),g=q(0),h=0,i=0,j=0,k=0;if((c|0)>=1){d=b>>1;h=(d|0)>1?d:1;i=c<<1;d=0;j=(b|0)<2;while(1){b=0;if(!j){while(1){e=(p(b,i)+d<<2)+a|0;f=q(n[e>>2]*q(.7071067690849304));k=e;e=(p(b<<1|1,c)+d<<2)+a|0;g=q(n[e>>2]*q(.7071067690849304));n[k>>2]=f+g;n[e>>2]=f-g;b=b+1|0;if((h|0)!=(b|0)){continue}break}}d=d+1|0;if((d|0)!=(c|0)){continue}break}}}function Qa(a,b,c){var d=0,e=0,f=0,g=0,h=q(0),i=0,j=0,k=q(0),l=q(0),m=0,o=0;g=1;if((c|0)>=1){while(1){i=f<<2;h=n[i+b>>2];j=f+1|0;if(j&2147483646){m=g>>>1|0;d=0;while(1){e=(d<<2)+a|0;k=n[e>>2];o=e;e=((d^-1)+f<<2)+a|0;l=n[e>>2];n[o>>2]=k+q(h*l);n[e>>2]=l+q(h*k);d=d+1|0;if((m|0)!=(d|0)){continue}break}}n[a+i>>2]=-h;g=g+1|0;f=j;if((f|0)!=(c|0)){continue}break}}}function Uc(a,b,c){var d=0,e=0,f=0;a:{d=b;e=j[c+16>>2];if(!e){if($c(c)){break a}e=j[c+16>>2]}f=j[c+20>>2];if(e-f>>>0>>0){K[j[c+36>>2]](c,a,b)|0;return}b:{if(h[c+75|0]<0){break b}e=b;while(1){d=e;if(!d){break b}e=d-1|0;if(k[e+a|0]!=10){continue}break}if(K[j[c+36>>2]](c,a,d)>>>0>>0){break a}a=a+d|0;b=b-d|0;f=j[c+20>>2]}M(f,a,b);j[c+20>>2]=j[c+20>>2]+b}}function da(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;if((c|0)>3){h=c-3|0;while(1){d=e<<2;f=d|4;i=+n[a+d>>2]*+n[b+d>>2]+ +n[a+f>>2]*+n[b+f>>2];f=d|8;d=d|12;g=g+(i+ +n[f+a>>2]*+n[b+f>>2]+ +n[d+a>>2]*+n[b+d>>2]);e=e+4|0;if((h|0)>(e|0)){continue}break}e=c&-4}if((c|0)>(e|0)){while(1){d=e<<2;g=g+ +n[d+a>>2]*+n[b+d>>2];e=e+1|0;if((e|0)!=(c|0)){continue}break}}return g}function Na(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=c>>16;d=b-1|0;if((b|0)>=2){i=c-65536|0;b=0;while(1){f=(b<<2)+a|0;g=j[f>>2];h=g<<16>>16;j[f>>2]=(p(e,h)+(p(c&65535,h)>>16)|0)+p((g>>15)+1>>1,c);c=((p(c,i)>>15)+1>>1)+c|0;e=c>>16;b=b+1|0;if((d|0)!=(b|0)){continue}break}}b=(d<<2)+a|0;d=j[b>>2];a=d<<16>>16;j[b>>2]=(p(a,e)+(p(a,c&65535)>>16)|0)+p((d>>15)+1>>1,c)}function _b(a,b,c){var d=0,e=0,f=q(0),g=0,h=0;e=I;h=e;I=e-((c<<2)+15&-16)|0;if((c|0)>0){g=c-4|0;pa(a,a,b,g,5);e=0;while(1){f=q(0);d=e+g|0;if((d|0)<(c|0)){while(1){f=q(f+q(n[(d<<2)+a>>2]*n[(d-e<<2)+a>>2]));d=d+1|0;if((d|0)!=(c|0)){continue}break}}d=(e<<2)+b|0;n[d>>2]=f+n[d>>2];d=(e|0)!=4;e=e+1|0;if(d){continue}break}I=h;return}L(9687,9671,228);z()}function Nd(a,b,c,d){var e=0;e=I+ -64|0;I=e;Td(a,e,c,d);c=j[a+4640>>2];a:{if((c|0)<1){break a}a=0;while(1){n[(a<<2)+b>>2]=q(i[(a<<1)+e>>1])*q(.000244140625);a=a+1|0;if((c|0)!=(a|0)){continue}break}if((c|0)<1){break a}a=0;while(1){n[((a<<2)+b|0)- -64>>2]=q(i[((a<<1)+e|0)+32>>1])*q(.000244140625);a=a+1|0;if((c|0)!=(a|0)){continue}break}}I=e- -64|0}function ca(a,b){a:{if((b|0)>=1024){a=a*8.98846567431158e+307;if((b|0)<2047){b=b-1023|0;break a}a=a*8.98846567431158e+307;b=((b|0)<3069?b:3069)-2046|0;break a}if((b|0)>-1023){break a}a=a*2.2250738585072014e-308;if((b|0)>-2045){b=b+1022|0;break a}a=a*2.2250738585072014e-308;b=((b|0)>-3066?b:-3066)+2044|0}ne(0,0);ne(1,b+1023<<20);return a*+oe()}function Aa(a,b,c,d){var e=0,f=0,g=0;e=i[c+2>>1];if((e|0)>=1){e=j[c+24>>2]+((p(e&65535,d)|0)/2|0)|0;d=0;while(1){f=k[e|0];i[(d<<1)+a>>1]=p(f>>>1&7,9);h[b+d|0]=k[j[c+20>>2]+(p(i[c+2>>1]-1|0,f&1)+d|0)|0];g=d|1;i[(g<<1)+a>>1]=p(f>>>5|0,9);h[b+g|0]=k[j[c+20>>2]+(p(i[c+2>>1]-1|0,f>>>4&1)+g|0)|0];e=e+1|0;d=d+2|0;if((d|0)>1]){continue}break}}}function Fb(a,b){var c=0;pc(a,a+5098|0);c=j[a+4532>>2];a:{b:{c:{if(!b){if((c|0)<13){break c}j[a+4532>>2]=12;break c}if((c|0)>12){break b}}b=0;h[a+4765|0]=0;c=j[a+6084>>2];j[a+6084>>2]=c+1;if((c|0)>=10){if((c|0)<30){break a}j[a+6084>>2]=10}j[a+6080>>2]=0;break a}j[a+6080>>2]=0;j[a+6084>>2]=0;b=1;h[a+4765|0]=1}h[(j[a+5748>>2]+a|0)+4720|0]=b}function S(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;if((b|0)>3){h=b-3|0;while(1){g=c;f=d<<2;c=+n[f+a>>2];e=c*c;c=+n[(f|4)+a>>2];e=e+c*c;c=+n[(f|8)+a>>2];e=e+c*c;c=+n[(f|12)+a>>2];c=g+(e+c*c);d=d+4|0;if((h|0)>(d|0)){continue}break}d=b&-4}if((b|0)>(d|0)){while(1){g=c;c=+n[(d<<2)+a>>2];c=g+c*c;d=d+1|0;if((d|0)!=(b|0)){continue}break}}return c}function _a(a,b){var c=0;a:{b:{c=h[b+5|0]+p(h[b+2|0],5)|0;if((c|0)<25){N(a,c,5776,8);c=h[b|0];if((c|0)>=3){break b}if(h[b+1|0]>=5){break a}N(a,c,5854,8);N(a,h[b+1|0],5861,8);c=h[b+3|0];if((c|0)>2){break b}if(h[b+4|0]>4){break a}N(a,c,5854,8);N(a,h[b+4|0],5861,8);return}L(7150,7175,44);z()}L(7201,7175,47);z()}L(7236,7175,48);z()}function Sb(a,b,c){var d=0,e=0,f=0,g=0;g=c&65532;if(g){while(1){d=e<<2;f=d+a|0;n[f>>2]=n[f>>2]*b;f=(d|4)+a|0;n[f>>2]=n[f>>2]*b;f=(d|8)+a|0;n[f>>2]=n[f>>2]*b;d=(d|12)+a|0;n[d>>2]=n[d>>2]*b;e=e+4|0;if(g>>>0>e>>>0){continue}break}}if((c|0)>(e|0)){while(1){d=(e<<2)+a|0;n[d>>2]=n[d>>2]*b;e=e+1|0;if((e|0)!=(c|0)){continue}break}}}function $d(a,b,c,d,e,f){var g=q(0),h=0,i=0,k=q(0),l=0;if((f|0)>=1){l=e+5|0;while(1){i=(c-(j[(h<<2)+d>>2]<<2)|0)-8|0;ae(i,e,a);be(i,c,e,b);g=q(S(c,l));k=q(q(q(n[a>>2]+n[a+96>>2])*q(.014999999664723873))+q(1));g=q(q(1)/(g>k?g:k));Sb(a,g,25);Sb(b,g,5);b=b+20|0;a=a+100|0;c=(e<<2)+c|0;h=h+1|0;if((h|0)!=(f|0)){continue}break}}}function Hd(a,b,c,d,e,f,g){var h=q(0),i=0,j=0,k=0,l=0;i=I-768|0;I=i;j=e+g|0;k=j<<1;qa(i,c,b,k,g);h=n[d>>2];l=(g<<2)+i|0;n[a>>2]=S(l,e)*+q(h*h);h=n[d+4>>2];j=(j<<2)+l|0;n[a+4>>2]=S(j,e)*+q(h*h);if((f|0)==4){qa(i,c- -64|0,(k<<2)+b|0,k,g);h=n[d+8>>2];n[a+8>>2]=S(l,e)*+q(h*h);h=n[d+12>>2];n[a+12>>2]=S(j,e)*+q(h*h)}I=i+768|0}function ua(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=j[a+12>>2];b=j[a+16>>2];a:{if(b>>>0>=1){c=b;break a}d=j[a+8>>2];f=j[a+4>>2];while(1){if(d>>>0>>0){d=d+1|0;j[a+8>>2]=d;c=k[j[a>>2]+(f-d|0)|0]}else{c=0}e=c<>2]=c-1;j[a+12>>2]=e>>>1;j[a+20>>2]=j[a+20>>2]+1;return e&1}function ce(a,b,c,d){var e=0,f=0,g=0,h=0;h=d&65532;if(h){while(1){e=f<<2;n[e+a>>2]=n[b+e>>2]*c;g=e|4;n[g+a>>2]=n[b+g>>2]*c;g=e|8;n[g+a>>2]=n[b+g>>2]*c;e=e|12;n[e+a>>2]=n[b+e>>2]*c;f=f+4|0;if(h>>>0>f>>>0){continue}break}}if((d|0)>(f|0)){while(1){e=f<<2;n[e+a>>2]=n[b+e>>2]*c;f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function Bd(a,b){var c=0,d=0,e=0;j[a+4608>>2]=b;e=j[a+4576>>2];b=j[a+4580>>2]==2?(((e|0)/-16|0)+b|0)-2e3|0:b;d=17024;c=106;a:{b:{switch(e-8|0){case 4:d=17136;c=154;break a;case 0:break a;default:break b}}d=17296;c=190}b=((b+200|0)/400|0)-10|0;b=(b|0)<(c|0)?b:c;if((b|0)>=1){b=p(k[b+d|0],21)}else{b=0}j[a+4716>>2]=b}function kc(a,b,c){var d=0,e=0,f=0;if(c>>>0<9){d=8-c|0;e=(-1<>2]){a=j[a>>2];h[a|0]=k[a|0]&(e^-1)|b<>2];if((f|0)>=0){j[a+40>>2]=(e^-1)&f|b<>2]<=-2147483648>>>c>>>0){j[a+32>>2]=j[a+32>>2]&(e<<23^-1)|b<<31-c;return}j[a+44>>2]=-1;return}L(7059,7019,217);z()}function Yd(a,b){var c=0,d=0,e=0,f=0,g=0;d=1;if((b|0)>=1){if((b|0)!=1){while(1){f=i[(d<<1)+a>>1];c=d;a:{while(1){g=c-1|0;e=i[(g<<1)+a>>1];if((e|0)<=(f|0)){break a}i[(c<<1)+a>>1]=e;e=(c|0)>1;c=g;if(e){continue}break}c=0}i[(c<<1)+a>>1]=f;d=d+1|0;if((d|0)!=(b|0)){continue}break}}return}L(15671,15659,144);z()}function Kd(a,b,c){var d=0,e=q(0),f=0;f=a+4769|0;d=0;a:{if(c){break a}e=q(q(n[b+708>>2]*q(j[a+5744>>2]+j[a+4616>>2]|0))*q(.10000000149011612));d=2;if(e>q(2)){break a}d=0;if(e>2]=q(i[(d<<1)+5848>>1])*q(6103515625e-14)}function rc(a,b,c,d){var e=0,f=0,g=0,h=0,m=0,n=0,o=0,q=0;e=j[a+8>>2];if((e|0)>=1){m=((c<<1)+d|0)-1|0;n=j[a+104>>2];h=j[a+32>>2];g=l[h>>1];while(1){o=g<<16;q=(f<<2)+b|0;e=k[(p(e,m)+f|0)+n|0]- -64|0;f=f+1|0;g=i[(f<<1)+h>>1];j[q>>2]=p(e,p(g-(o>>16)<>2;e=j[a+8>>2];if((e|0)>(f|0)){continue}break}}}function od(a,b,c){var d=0,e=q(0),f=q(0);a:{if((b|0)<1){break a}while(1){f=e;e=n[(d<<2)+a>>2];e=q(f+q(e*e));d=d+1|0;if((d|0)!=(b|0)){continue}break}if((b|0)<1){break a}c=q(q(q(1)/q(y(q(e+q(1.0000000036274937e-15)))))*c);d=0;while(1){n[a>>2]=c*n[a>>2];a=a+4|0;d=d+1|0;if((d|0)!=(b|0)){continue}break}}}function db(a,b,c,d,e){var f=0,g=0,h=0,k=0,l=0;if((e|0)>=1){f=j[a>>2];g=i[d+2>>1];h=i[d>>1];d=0;while(1){f=(i[(d<<1)+c>>1]<<8)+f|0;j[(d<<2)+b>>2]=f;l=j[a+4>>2];f=f<<2;k=f&65532;f=f>>16;j[a+4>>2]=(p(k,g)>>16)+p(f,g);f=(p(f,h)+l|0)+(p(h,k)>>16)|0;j[a>>2]=f;d=d+1|0;if((e|0)!=(d|0)){continue}break}}}function fd(a,b,c){var d=0,e=0,f=q(0),g=0,h=0,k=0,l=q(0);if((b|0)!=(c|0)){e=j[a>>2];if((e|0)>=1){f=n[a+4>>2];k=j[a+44>>2];while(1){g=(d<<3)+b|0;l=n[g>>2];h=(i[(d<<1)+k>>1]<<3)+c|0;n[h+4>>2]=f*n[g+4>>2];n[h>>2]=f*l;d=d+1|0;if((e|0)!=(d|0)){continue}break}}Ea(a,c);return}L(42376,42433,580);z()}function md(a,b){var c=0,d=0;a:{while(1){if(n[(c<<2)+42640>>2]>a){break a}c=c+1|0;if((c|0)!=21){continue}break}c=21}b:{c:{if((b|0)<(c|0)){d=b<<2;if(q(n[d+42640>>2]+n[d+42736>>2])>a){break c}}if((b|0)<=(c|0)){break b}d=(b<<2)-4|0;if(q(n[d+42640>>2]-n[d+42736>>2])>>0<1){d=a;break a}while(1){d=he(a,b);e=J;f=e;c=c-1|0;h[c|0]=a-ie(d,e,10,0)|48;e=b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c-1|0;a=(d>>>0)/10|0;h[c|0]=d-p(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function Kb(a,b,c){var d=0,e=0,f=0,g=q(0),h=0;e=I+ -64|0;I=e;if((c|0)>=1){while(1){d=f<<2;h=d+e|0;g=je(q(n[b+d>>2]*q(65536)));a:{if(q(r(g))>2]=d;f=f+1|0;if((f|0)!=(c|0)){continue}break}}_d(a,e,c);I=e- -64|0}function La(a,b,c,d,e){var f=0,g=0,h=0;a:{if((d|0)>-1){if((d|0)>4){break a}if((e|0)>0){while(1){g=f<<1;h=l[g+b>>1];i[a+g>>1]=(p(l[c+g>>1]-h<<16>>16,d)>>>2|0)+h;f=f+1|0;if((f|0)!=(e|0)){continue}break}}return}L(15552,15584,45);z()}L(15603,15584,46);z()}function la(a,b){var c=0,d=0,e=0,f=0;c=a*a;d=c*.5;e=1-d;f=1-e-d;d=c*c;return e+(f+(c*(c*(c*(c*2480158728947673e-20+ -.001388888888887411)+.0416666666666666)+d*d*(c*(c*-1.1359647557788195e-11+2.087572321298175e-9)+ -2.7557314351390663e-7))-a*b))}function pb(a,b,c){var d=0,e=0;d=I-304|0;I=d;e=-1;a:{if((b|0)<1){break a}e=0;if((b|0)==(c|0)){break a}e=-1;if((b|0)>(c|0)){break a}j[d+4>>2]=0;e=rb(d,U((a+c|0)-b|0,a,b),b);if(e){break a}a=qb(d,j[d+4>>2],a,c,1);e=a>>31&a}I=d+304|0;return e}function Ta(a,b){var c=0,d=0;if(!a){return ha(b)}if(b>>>0>=4294967232){j[13231]=48;return 0}c=ac(a-8|0,b>>>0<11?16:b+11&-8);if(c){return c+8|0}c=ha(b);if(!c){return 0}d=j[a-4>>2];d=(d&3?-4:-8)+(d&-8)|0;M(c,a,b>>>0>d>>>0?d:b);R(a);return c}function sc(a){var b=0;a:{b:{c:{d:{if((a|0)<=15999){if((a|0)==8e3){break d}if((a|0)!=12e3){break c}return 4}if((a|0)==16e3){break b}b=1;if((a|0)==48e3){break a}if((a|0)!=24e3){break c}return 2}return 6}L(1659,1679,84);z()}b=3}return b}function ba(a){var b=0;a:{if((a|0)<=-1){b=0;if((a|0)<-191){break a}a=0-a|0;b=a>>>3&536870908;return j[b+1024>>2]-p(i[b+1056>>1],a&31)|0}b=32767;if((a|0)>191){break a}b=a>>>3&536870908;b=p(i[b+1056>>1],a&31)+j[b+1088>>2]|0}return b}function na(a){var b=0,c=0,d=0;b=0;a:{if((a|0)<0){break a}b=2147483647;if((a|0)>3966){break a}b=a&127;c=a>>>7|0;d=1<>16)+b<>7:p((p(p(128-b|0,b),-174)>>16)+b|0,d>>>7|0))|0}return b}function ge(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=p(e,f);g=c&65535;h=a&65535;i=p(g,h);f=(i>>>16|0)+p(f,g)|0;e=(f&65535)+p(e,h)|0;a=(p(b,c)+j|0)+p(a,d)+(f>>>16)+(e>>>16)|0;b=i&65535|e<<16;J=a;return b}function ra(a,b,c){var d=q(0),e=0,f=0;e=b-1|0;a:{if((b|0)<2){d=c;break a}b=0;d=c;while(1){f=(b<<2)+a|0;n[f>>2]=d*n[f>>2];d=q(d*c);b=b+1|0;if((e|0)!=(b|0)){continue}break}}a=(e<<2)+a|0;n[a>>2]=d*n[a>>2]}function _(a,b,c,d,e){var f=0;f=I-256|0;I=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;O(f,b&255,d?c:256);if(!d){while(1){aa(a,f,256);c=c-256|0;if(c>>>0>255){continue}break}}aa(a,f,c)}I=f+256|0}function yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=I-16|0;I=e;a=D(j[a+60>>2],b|0,c|0,d&255,e+8|0)|0;b=0;a:{if(!a){break a}j[13231]=a;b=-1}a=b;I=e+16|0;J=a?-1:j[e+12>>2];return(a?-1:j[e+8>>2])|0}function $c(a){var b=0;b=k[a+74|0];h[a+74|0]=b-1|b;b=j[a>>2];if(b&8){j[a>>2]=b|32;return-1}j[a+4>>2]=0;j[a+8>>2]=0;b=j[a+44>>2];j[a+28>>2]=b;j[a+20>>2]=b;j[a+16>>2]=b+j[a+48>>2];return 0}function ab(a,b,c){j[a+24>>2]=0;j[a+28>>2]=-2147483648;j[a+16>>2]=0;j[a+20>>2]=33;j[a+8>>2]=0;j[a+12>>2]=0;j[a>>2]=b;j[a+32>>2]=0;j[a+36>>2]=0;j[a+40>>2]=-1;j[a+44>>2]=0;j[a+4>>2]=c}function Sc(a,b){var c=0;c=1;if((b|0)<1){return-1}a:{b:{switch((k[a|0]&3)-1|0){case 0:case 1:return 2;case 2:break b;default:break a}}c=-4;if((b|0)<2){break a}c=k[a+1|0]&63}return c}function Ab(a){var b=0,c=0,d=0,e=0,f=0;b=31-s(a)>>1;c=1<>>0>a>>>0;a=a-(d?0:f)|0;e=(d?0:c)+e|0;d=(b|0)>0;c=c>>>1|0;b=b-1|0;if(d){continue}break}return e}function $(a){var b=0,c=0;b=j[13136];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?(c|0)>=1:0){break a}if(a>>>0>te()<<16>>>0){if(!(H(a|0)|0)){break a}}j[13136]=a;return b}j[13231]=48;return-1}function Q(a){var b=0,c=0;b=s(a);c=24-b|0;a:{if(!c){break a}if(a>>>0<=127){a=a<<0-c|a>>>56-b;break a}a=a<>>c}a=a&127;return(a-(b<<7)+(p(p(a,128-a|0),179)>>>16)|0)+3968|0}function Od(a,b,c){var d=0;d=I-32|0;I=d;Ma(d,b,c);if((c|0)>=1){b=0;while(1){n[(b<<2)+a>>2]=q(i[(b<<1)+d>>1])*q(.000244140625);b=b+1|0;if((c|0)!=(b|0)){continue}break}}I=d+32|0}function Nc(a,b){var c=q(0),d=q(0),e=q(0),f=0;while(1){d=n[(f<<2)+a>>2];c=cd?e:d;f=f+1|0;if((f|0)!=720){continue}break}c=q(-c);return q(q(1)/q(1<=(c>2]]-48>>>0<10){while(1){b=j[a>>2];d=h[b|0];j[a>>2]=b+1;c=(p(c,10)+d|0)-48|0;if(h[b+1|0]-48>>>0<10){continue}break}}return c}function Vc(a){a=k[a|0];if(a&128){return(8e3<<(a>>>3&3))/400|0}if((a&96)==96){if(a&8){return 160}return 80}a=a>>>3&3;if((a|0)==3){return 480}return(8e3<>2];c=s(b);d=b>>>16-c|0;b=(d>>>12|0)-8|0;return((((j[a+20>>2]<<3)+(c<<3)|0)-(m[(b<<2)+32816>>2]>>0)|0)-b|0)-256|0}function fc(a,b,c,d){var e=0,f=0,g=0;if((d|0)>=1){while(1){g=e;e=f<<1;e=g+(p(i[e+b>>1],i[a+e>>1])>>c)|0;f=f+1|0;if((f|0)!=(d|0)){continue}break}}return e}function Sa(a,b,c,d){var e=0,f=0;e=(c|0)<(d|0)?c:d;if((e|0)>=1){d=0;while(1){f=d<<2;n[f+a>>2]=da(b,b+f|0,c-d|0);d=d+1|0;if((e|0)!=(d|0)){continue}break}}}function je(a){var b=q(0),c=q(0);b=q(v(a));c=q(a-b);if(!(cq(.5)){return a}c=a;a=q(b*q(.5));b=q(a-q(v(a)))==q(0)?b:c}return b}function fa(a,b){var c=0,d=0;c=j[a+8>>2];if(c+j[a+24>>2]>>>0>b>>>0){L(7097,7019,238);z()}d=j[a>>2];U((d+b|0)-c|0,(j[a+4>>2]+d|0)-c|0,c);j[a+4>>2]=b}function ta(a){var b=0,c=0;b=0;a:{if(!a){break a}c=a;b=a;if((a|1)>>>0<65536){break a}b=c}c=b;a=ha(b);if(!(!a|!(k[a-4|0]&3))){O(a,0,c)}return a}function Ya(a,b){var c=0,d=0;c=m[a+28>>2]/(b>>>0)|0;j[a+36>>2]=c;c=m[a+32>>2]/(c>>>0)|0;d=c+1|0;a=d-b|0;return((c^-1)+b|0)+(a>>>0>d>>>0?0:a)|0}function wa(a,b){a=O(a,0,10064);j[a+5092>>2]=b;b=Q(3932160);j[a+4664>>2]=1;b=(b<<8)-524288|0;j[a+12>>2]=b;j[a+8>>2]=b;return qc(a+36|0)}function wc(a,b,c,d){if(a|b){while(1){c=c-1|0;h[c|0]=k[(a&15)+1600|0]|d;a=(b&15)<<28|a>>>4;b=b>>>4|0;if(a|b){continue}break}}return c}function Gb(a,b){var c=0,d=0;if((b|0)>=1){while(1){d=h[a+c|0]+(d<<8)|0;c=c+1|0;if((c|0)!=(b|0)){continue}break}}return d}function vc(a,b,c){if(a|b){while(1){c=c-1|0;h[c|0]=a&7|48;a=(b&7)<<29|a>>>3;b=b>>>3|0;if(a|b){continue}break}}return c}function be(a,b,c,d){var e=0;a=a+16|0;while(1){n[(e<<2)+d>>2]=da(a,b,c);a=a-4|0;e=e+1|0;if((e|0)!=5){continue}break}}function sb(a,b){var c=0;if((a|0)<=251){h[b|0]=a;return 1}c=a|-4;h[b|0]=c;h[b+1|0]=a-(c&255)>>>2;return 2}function yc(a){a=a|0;R(j[a+72>>2]);R(j[a+76>>2]);R(j[a+60>>2]);R(j[a+68>>2]);R(j[a+64>>2]);R(a)}function L(a,b,c){var d=0;d=I-16|0;I=d;j[d+8>>2]=a;j[d+4>>2]=c;j[d>>2]=b;tc(j[278],d);E();z()}function ke(a,b){var c=0,d=0;c=b&31;d=(-1>>>c&a)<>>a} - - - -function Gc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Fc(a,b,c,b,c,d,e)|0}function tc(a,b){var c=0;c=I-16|0;I=c;j[c+12>>2]=b;Mc(a,b);I=c+16|0}function wb(a,b){if(!a){return 0}return kd(a,b)}function aa(a,b,c){if(!(k[a|0]&32)){Uc(b,c,a)}}function ie(a,b,c,d){a=ge(a,b,c,d);return a}function Ld(a){a=a|0;return F(j[a+60>>2])|0}function ub(a){O(a+12|0,0,13992)}function fb(a,b,c,d){gb(a,b,c,d)}function Za(a,b){N(a,b,5801,8)}function Ic(a){a=a|0;R(a)}function Ub(){} - - - - -// EMSCRIPTEN_END_FUNCS -a=k;var K=le([null,Ld,Dd,yd,Pc,Dc,Cc,Bc,Ac,zc]);function te(){return g.byteLength/65536|0}return{"h":Ub,"i":Qc,"j":Kc,"k":Jc,"l":Ic,"m":Gc,"n":yc,"o":xc,"p":ha,"q":R,"r":K}}return se(ue)} - - -// EMSCRIPTEN_END_ASM - - - - -)(asmLibraryArg)},instantiate:function(binary,info){return{then:function(ok){var module=new WebAssembly.Module(binary);ok({"instance":new WebAssembly.Instance(module)})}}},RuntimeError:Error};wasmBinary=[];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":INITIAL_MEMORY/65536})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var memoryInitializer="libopus-encoder.min.js.mem";function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var wasmBinaryFile="libopus-encoder.min.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}}catch(err){abort(err)}}function instantiateSync(file,info){var instance;var module;var binary;try{binary=getBinary(file);module=new WebAssembly.Module(binary);instance=new WebAssembly.Instance(module,info)}catch(e){var str=e.toString();err("failed to compile wasm module: "+str);if(str.indexOf("imported Memory")>=0||str.indexOf("memory import")>=0){err("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time).")}throw e}return[instance,module]}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;runMemoryInitializer();wasmTable=Module["asm"]["r"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}var result=instantiateSync(wasmBinaryFile,info);receiveInstance(result[0],result[1]);return Module["asm"]}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function _abort(){abort()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function _fd_close(fd){return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}var asmLibraryArg={"d":_abort,"f":_emscripten_memcpy_big,"g":_emscripten_resize_heap,"e":_fd_close,"c":_fd_seek,"b":_fd_write,"a":wasmMemory};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=asm["h"];var _opus_encoder_create=Module["_opus_encoder_create"]=asm["i"];var _opus_encode_float=Module["_opus_encode_float"]=asm["j"];var _opus_encoder_ctl=Module["_opus_encoder_ctl"]=asm["k"];var _opus_encoder_destroy=Module["_opus_encoder_destroy"]=asm["l"];var _speex_resampler_init=Module["_speex_resampler_init"]=asm["m"];var _speex_resampler_destroy=Module["_speex_resampler_destroy"]=asm["n"];var _speex_resampler_process_interleaved_float=Module["_speex_resampler_process_interleaved_float"]=asm["o"];var _malloc=Module["_malloc"]=asm["p"];var _free=Module["_free"]=asm["q"];function runMemoryInitializer(){if(!memoryInitializer)return;if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,1024)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,1024);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){var e=new Error("could not load memory initializer "+memoryInitializer);throw e})};if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();return Module},"OpusEncoderLib"); diff --git a/static/libopus-encoder.min.js.mem b/static/libopus-encoder.min.js.mem deleted file mode 100644 index d5aed01..0000000 Binary files a/static/libopus-encoder.min.js.mem and /dev/null differ diff --git a/static/libopus-encoder.wasm.js b/static/libopus-encoder.wasm.js deleted file mode 100644 index fed27a1..0000000 --- a/static/libopus-encoder.wasm.js +++ /dev/null @@ -1,1815 +0,0 @@ - - -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module !== 'undefined' ? Module : {}; - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - -(function (root, factory, globalExport) { - - var lib, env; - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['require'], function (req) { - lib = factory(root, req); - return lib; - }); - } else if (typeof module === 'object' && module.exports) { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like environments that support module.exports, - // like Node. - - // use process.env (if available) for reading Opus environment settings: - env = typeof process !== 'undefined' && process && process.env? process.env : root; - lib = factory(env, module.require); - module.exports = lib; - } else { - // Browser globals - lib = factory(root); - root[globalExport] = lib; - } - -}(typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : this, function (global, require) { -'use strict'; - -var Module = {}; -Module['isReady'] = false; -Module['onready'] = null; -Module['onRuntimeInitialized'] = function(){ - Module['isReady'] = true; - if(Module['onready']) setTimeout(Module['onready'], 0); -}; - -if(global && global.OPUS_SCRIPT_LOCATION){ - Module['locateFile'] = function(fileName){ - var path = global.OPUS_SCRIPT_LOCATION || ''; - if(path[fileName]) return path[fileName]; - path += path && !/\/$/.test(path)? '/' : ''; - return path + fileName; - }; -} - - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -var key; -for (key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = function(status, toThrow) { - throw toThrow; -}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; -ENVIRONMENT_IS_WEB = typeof window === 'object'; -ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string'; -ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var read_, - readAsync, - readBinary, - setWindowTitle; - -var nodeFS; -var nodePath; - -if (ENVIRONMENT_IS_NODE) { - if (ENVIRONMENT_IS_WORKER) { - scriptDirectory = require('path').dirname(scriptDirectory) + '/'; - } else { - scriptDirectory = __dirname + '/'; - } - -// include: node_shell_read.js - - -read_ = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - return nodeFS['readFileSync'](filename, binary ? null : 'utf8'); -}; - -readBinary = function readBinary(filename) { - var ret = read_(filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - assert(ret.buffer); - return ret; -}; - -// end include: node_shell_read.js - if (process['argv'].length > 1) { - thisProgram = process['argv'][1].replace(/\\/g, '/'); - } - - arguments_ = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - process['on']('unhandledRejection', abort); - - quit_ = function(status) { - process['exit'](status); - }; - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if (typeof read != 'undefined') { - read_ = function shell_read(f) { - return read(f); - }; - } - - readBinary = function readBinary(f) { - var data; - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - arguments_ = scriptArgs; - } else if (typeof arguments != 'undefined') { - arguments_ = arguments; - } - - if (typeof quit === 'function') { - quit_ = function(status) { - quit(status); - }; - } - - if (typeof print !== 'undefined') { - // Prefer to use print/printErr where they exist, as they usually work better. - if (typeof console === 'undefined') console = /** @type{!Console} */({}); - console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); - console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr !== 'undefined' ? printErr : print); - } - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document !== 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - if (scriptDirectory.indexOf('blob:') !== 0) { - scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1); - } else { - scriptDirectory = ''; - } - - // Differentiate the Web Worker from the Node Worker case, as reading must - // be done differently. - { - -// include: web_or_worker_shell_read.js - - - read_ = function(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - readBinary = function(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = function(url, onload, onerror) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = function() { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - onload(xhr.response); - return; - } - onerror(); - }; - xhr.onerror = onerror; - xhr.send(null); - }; - -// end include: web_or_worker_shell_read.js - } - - setWindowTitle = function(title) { document.title = title }; -} else -{ -} - -// Set up the out() and err() hooks, which are how we can print to stdout or -// stderr, respectively. -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.warn.bind(console); - -// Merge back in the overrides -for (key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = null; - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments']; - -if (Module['thisProgram']) thisProgram = Module['thisProgram']; - -if (Module['quit']) quit_ = Module['quit']; - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message - - - - -var STACK_ALIGN = 16; - -function alignMemory(size, factor) { - if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default - return Math.ceil(size / factor) * factor; -} - -function getNativeTypeSize(type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return 4; // A pointer - } else if (type[0] === 'i') { - var bits = Number(type.substr(1)); - assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); - return bits / 8; - } else { - return 0; - } - } - } -} - -function warnOnce(text) { - if (!warnOnce.shown) warnOnce.shown = {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - err(text); - } -} - -// include: runtime_functions.js - - -// Wraps a JS function as a wasm function with a given signature. -function convertJsFunctionToWasm(func, sig) { - - // If the type reflection proposal is available, use the new - // "WebAssembly.Function" constructor. - // Otherwise, construct a minimal wasm module importing the JS function and - // re-exporting it. - if (typeof WebAssembly.Function === "function") { - var typeNames = { - 'i': 'i32', - 'j': 'i64', - 'f': 'f32', - 'd': 'f64' - }; - var type = { - parameters: [], - results: sig[0] == 'v' ? [] : [typeNames[sig[0]]] - }; - for (var i = 1; i < sig.length; ++i) { - type.parameters.push(typeNames[sig[i]]); - } - return new WebAssembly.Function(type, func); - } - - // The module is static, with the exception of the type section, which is - // generated based on the signature passed in. - var typeSection = [ - 0x01, // id: section, - 0x00, // length: 0 (placeholder) - 0x01, // count: 1 - 0x60, // form: func - ]; - var sigRet = sig.slice(0, 1); - var sigParam = sig.slice(1); - var typeCodes = { - 'i': 0x7f, // i32 - 'j': 0x7e, // i64 - 'f': 0x7d, // f32 - 'd': 0x7c, // f64 - }; - - // Parameters, length + signatures - typeSection.push(sigParam.length); - for (var i = 0; i < sigParam.length; ++i) { - typeSection.push(typeCodes[sigParam[i]]); - } - - // Return values, length + signatures - // With no multi-return in MVP, either 0 (void) or 1 (anything else) - if (sigRet == 'v') { - typeSection.push(0x00); - } else { - typeSection = typeSection.concat([0x01, typeCodes[sigRet]]); - } - - // Write the overall length of the type section back into the section header - // (excepting the 2 bytes for the section id and length) - typeSection[1] = typeSection.length - 2; - - // Rest of the module is static - var bytes = new Uint8Array([ - 0x00, 0x61, 0x73, 0x6d, // magic ("\0asm") - 0x01, 0x00, 0x00, 0x00, // version: 1 - ].concat(typeSection, [ - 0x02, 0x07, // import section - // (import "e" "f" (func 0 (type 0))) - 0x01, 0x01, 0x65, 0x01, 0x66, 0x00, 0x00, - 0x07, 0x05, // export section - // (export "f" (func 0 (type 0))) - 0x01, 0x01, 0x66, 0x00, 0x00, - ])); - - // We can compile this wasm module synchronously because it is very small. - // This accepts an import (at "e.f"), that it reroutes to an export (at "f") - var module = new WebAssembly.Module(bytes); - var instance = new WebAssembly.Instance(module, { - 'e': { - 'f': func - } - }); - var wrappedFunc = instance.exports['f']; - return wrappedFunc; -} - -var freeTableIndexes = []; - -// Weak map of functions in the table to their indexes, created on first use. -var functionsInTableMap; - -function getEmptyTableSlot() { - // Reuse a free index if there is one, otherwise grow. - if (freeTableIndexes.length) { - return freeTableIndexes.pop(); - } - // Grow the table - try { - wasmTable.grow(1); - } catch (err) { - if (!(err instanceof RangeError)) { - throw err; - } - throw 'Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.'; - } - return wasmTable.length - 1; -} - -// Add a wasm function to the table. -function addFunctionWasm(func, sig) { - // Check if the function is already in the table, to ensure each function - // gets a unique index. First, create the map if this is the first use. - if (!functionsInTableMap) { - functionsInTableMap = new WeakMap(); - for (var i = 0; i < wasmTable.length; i++) { - var item = wasmTable.get(i); - // Ignore null values. - if (item) { - functionsInTableMap.set(item, i); - } - } - } - if (functionsInTableMap.has(func)) { - return functionsInTableMap.get(func); - } - - // It's not in the table, add it now. - - var ret = getEmptyTableSlot(); - - // Set the new value. - try { - // Attempting to call this with JS function will cause of table.set() to fail - wasmTable.set(ret, func); - } catch (err) { - if (!(err instanceof TypeError)) { - throw err; - } - var wrapped = convertJsFunctionToWasm(func, sig); - wasmTable.set(ret, wrapped); - } - - functionsInTableMap.set(func, ret); - - return ret; -} - -function removeFunction(index) { - functionsInTableMap.delete(wasmTable.get(index)); - freeTableIndexes.push(index); -} - -// 'sig' parameter is required for the llvm backend but only when func is not -// already a WebAssembly function. -function addFunction(func, sig) { - - return addFunctionWasm(func, sig); -} - -// end include: runtime_functions.js -// include: runtime_debug.js - - -// end include: runtime_debug.js -function makeBigInt(low, high, unsigned) { - return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0)); -} - -var tempRet0 = 0; - -var setTempRet0 = function(value) { - tempRet0 = value; -}; - -var getTempRet0 = function() { - return tempRet0; -}; - - - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary; -if (Module['wasmBinary']) wasmBinary = Module['wasmBinary']; -var noExitRuntime = Module['noExitRuntime'] || true; - -if (typeof WebAssembly !== 'object') { - abort('no native wasm support detected'); -} - -// include: runtime_safe_heap.js - - -// In MINIMAL_RUNTIME, setValue() and getValue() are only available when building with safe heap enabled, for heap safety checking. -// In traditional runtime, setValue() and getValue() are always available (although their use is highly discouraged due to perf penalties) - -/** @param {number} ptr - @param {number} value - @param {string} type - @param {number|boolean=} noSafe */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': HEAP8[((ptr)>>0)] = value; break; - case 'i8': HEAP8[((ptr)>>0)] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)] = tempI64[0],HEAP32[(((ptr)+(4))>>2)] = tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - default: abort('invalid type for setValue: ' + type); - } -} - -/** @param {number} ptr - @param {string} type - @param {number|boolean=} noSafe */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for getValue: ' + type); - } - return null; -} - -// end include: runtime_safe_heap.js -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); - return func; -} - -// C calling interface. -/** @param {string|null=} returnType - @param {Array=} argTypes - @param {Arguments|Array=} args - @param {Object=} opts */ -function ccall(ident, returnType, argTypes, args, opts) { - // For fast lookup of conversion functions - var toC = { - 'string': function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - var len = (str.length << 2) + 1; - ret = stackAlloc(len); - stringToUTF8(str, ret, len); - } - return ret; - }, - 'array': function(arr) { - var ret = stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - } - }; - - function convertReturnValue(ret) { - if (returnType === 'string') return UTF8ToString(ret); - if (returnType === 'boolean') return Boolean(ret); - return ret; - } - - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - - ret = convertReturnValue(ret); - if (stack !== 0) stackRestore(stack); - return ret; -} - -/** @param {string=} returnType - @param {Array=} argTypes - @param {Object=} opts */ -function cwrap(ident, returnType, argTypes, opts) { - argTypes = argTypes || []; - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = returnType !== 'string'; - if (numericRet && numericArgs && !opts) { - return getCFunc(ident); - } - return function() { - return ccall(ident, returnType, argTypes, arguments, opts); - } -} - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((Uint8Array|Array), number)} */ -function allocate(slab, allocator) { - var ret; - - if (allocator == ALLOC_STACK) { - ret = stackAlloc(slab.length); - } else { - ret = _malloc(slab.length); - } - - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */(slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; -} - -// include: runtime_strings.js - - -// runtime_strings.js: Strings related runtime functions that are part of both MINIMAL_RUNTIME and regular runtime. - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; - -/** - * @param {number} idx - * @param {number=} maxBytesToRead - * @return {string} - */ -function UTF8ArrayToString(heap, idx, maxBytesToRead) { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity) - while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { - return UTF8Decoder.decode(heap.subarray(idx, endPtr)); - } else { - var str = ''; - // If building with TextDecoder, we have already computed the string length above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heap[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heap[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heap[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } - return str; -} - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns a -// copy of that string as a Javascript String object. -// maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit -// this parameter to scan the string until the first \0 byte. If maxBytesToRead is -// passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the -// middle, then the string will cut short at that byte index (i.e. maxBytesToRead will -// not produce a string of exact length [ptr, ptr+maxBytesToRead[) -// N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may -// throw JS JIT optimizations off, so it is worth to consider consistently using one -// style or the other. -/** - * @param {number} ptr - * @param {number=} maxBytesToRead - * @return {string} - */ -function UTF8ToString(ptr, maxBytesToRead) { - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; -} - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// heap: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. -// This count should include the null terminator, -// i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) ++len; - else if (u <= 0x7FF) len += 2; - else if (u <= 0xFFFF) len += 3; - else len += 4; - } - return len; -} - -// end include: runtime_strings.js -// include: runtime_strings_extra.js - - -// runtime_strings_extra.js: Strings related runtime functions that are available only in regular runtime. - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAPU8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; - -function UTF16ToString(ptr, maxBytesToRead) { - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - var maxIdx = idx + maxBytesToRead / 2; - // If maxBytesToRead is not passed explicitly, it will be undefined, and this - // will always evaluate to true. This saves on code size. - while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var str = ''; - - // If maxBytesToRead is not passed explicitly, it will be undefined, and the for-loop's condition - // will always evaluate to true. The loop is then terminated on the first null char. - for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) break; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - - return str; - } -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)] = codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)] = 0; - return outPtr - startPtr; -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - -function UTF32ToString(ptr, maxBytesToRead) { - var i = 0; - - var str = ''; - // If maxBytesToRead is not passed explicitly, it will be undefined, and this - // will always evaluate to true. This saves on code size. - while (!(i >= maxBytesToRead / 4)) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) break; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } - return str; -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)] = codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)] = 0; - return outPtr - startPtr; -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - -// Allocate heap space for a JS string, and write it there. -// It is the responsibility of the caller to free() that memory. -function allocateUTF8(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = _malloc(size); - if (ret) stringToUTF8Array(str, HEAP8, ret, size); - return ret; -} - -// Allocate stack space for a JS string, and write it there. -function allocateUTF8OnStack(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8Array(str, HEAP8, ret, size); - return ret; -} - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated - @param {boolean=} dontAddNull */ -function writeStringToMemory(string, buffer, dontAddNull) { - warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} - -function writeArrayToMemory(array, buffer) { - HEAP8.set(array, buffer); -} - -/** @param {boolean=} dontAddNull */ -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - HEAP8[((buffer++)>>0)] = str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)] = 0; -} - -// end include: runtime_strings_extra.js -// Memory management - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - HEAPF64; - -function updateGlobalBufferAndViews(buf) { - buffer = buf; - Module['HEAP8'] = HEAP8 = new Int8Array(buf); - Module['HEAP16'] = HEAP16 = new Int16Array(buf); - Module['HEAP32'] = HEAP32 = new Int32Array(buf); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buf); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buf); -} - -var TOTAL_STACK = 5242880; - -var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216; - -// include: runtime_init_table.js -// In regular non-RELOCATABLE mode the table is exported -// from the wasm module and this will be assigned once -// the exports are available. -var wasmTable; - -// end include: runtime_init_table.js -// include: runtime_stack_check.js - - -// end include: runtime_stack_check.js -// include: runtime_assertions.js - - -// end include: runtime_assertions.js -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the main() is called - -var runtimeInitialized = false; -var runtimeExited = false; - -__ATINIT__.push({ func: function() { ___wasm_call_ctors() } }); - -function preRun() { - - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - - callRuntimeCallbacks(__ATPRERUN__); -} - -function initRuntime() { - runtimeInitialized = true; - - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - runtimeExited = true; -} - -function postRun() { - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} - -function addOnExit(cb) { -} - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} - -// include: runtime_math.js - - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc - -// end include: runtime_math.js -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled - -function getUniqueRunDependency(id) { - return id; -} - -function addRunDependency(id) { - runDependencies++; - - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - -} - -function removeRunDependency(id) { - runDependencies--; - - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - -/** @param {string|number=} what */ -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - what += ''; - err(what); - - ABORT = true; - EXITSTATUS = 1; - - what = 'abort(' + what + '). Build with -s ASSERTIONS=1 for more info.'; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -// {{MEM_INITIALIZER}} - -// include: memoryprofiler.js - - -// end include: memoryprofiler.js -// include: URIUtils.js - - -function hasPrefix(str, prefix) { - return String.prototype.startsWith ? - str.startsWith(prefix) : - str.indexOf(prefix) === 0; -} - -// Prefix of data URIs emitted by SINGLE_FILE and related options. -var dataURIPrefix = 'data:application/octet-stream;base64,'; - -// Indicates whether filename is a base64 data URI. -function isDataURI(filename) { - return hasPrefix(filename, dataURIPrefix); -} - -var fileURIPrefix = "file://"; - -// Indicates whether filename is delivered via file protocol (as opposed to http/https) -function isFileURI(filename) { - return hasPrefix(filename, fileURIPrefix); -} - -// end include: URIUtils.js -var wasmBinaryFile = 'libopus-encoder.wasm.wasm'; -if (!isDataURI(wasmBinaryFile)) { - wasmBinaryFile = locateFile(wasmBinaryFile); -} - -function getBinary(file) { - try { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } else { - throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; - } - } - catch (err) { - abort(err); - } -} - -function getBinaryPromise() { - // If we don't have the binary yet, try to to load it asynchronously. - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. - if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { - if (typeof fetch === 'function' - && !isFileURI(wasmBinaryFile) - ) { - return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { - if (!response['ok']) { - throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; - } - return response['arrayBuffer'](); - }).catch(function () { - return getBinary(wasmBinaryFile); - }); - } - else { - if (readAsync) { - // fetch is not available or url is file => try XHR (readAsync uses XHR internally) - return new Promise(function(resolve, reject) { - readAsync(wasmBinaryFile, function(response) { resolve(new Uint8Array(/** @type{!ArrayBuffer} */(response))) }, reject) - }); - } - } - } - - // Otherwise, getBinary should be able to get it synchronously - return Promise.resolve().then(function() { return getBinary(wasmBinaryFile); }); -} - -function instantiateSync(file, info) { - var instance; - var module; - var binary; - try { - binary = getBinary(file); - module = new WebAssembly.Module(binary); - instance = new WebAssembly.Instance(module, info); - } catch (e) { - var str = e.toString(); - err('failed to compile wasm module: ' + str); - if (str.indexOf('imported Memory') >= 0 || - str.indexOf('memory import') >= 0) { - err('Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time).'); - } - throw e; - } - return [instance, module]; -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -function createWasm() { - // prepare imports - var info = { - 'env': asmLibraryArg, - 'wasi_snapshot_preview1': asmLibraryArg, - }; - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - var exports = instance.exports; - - Module['asm'] = exports; - - wasmMemory = Module['asm']['memory']; - updateGlobalBufferAndViews(wasmMemory.buffer); - - wasmTable = Module['asm']['__indirect_function_table']; - - removeRunDependency('wasm-instantiate'); - } - // we can't run yet (except in a pthread, where we have a custom sync instantiator) - addRunDependency('wasm-instantiate'); - - function receiveInstantiatedSource(output) { - // 'output' is a WebAssemblyInstantiatedSource object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above USE_PTHREADS-enabled path. - receiveInstance(output['instance']); - } - - function instantiateArrayBuffer(receiver) { - return getBinaryPromise().then(function(binary) { - return WebAssembly.instantiate(binary, info); - }).then(receiver, function(reason) { - err('failed to asynchronously prepare wasm: ' + reason); - - abort(reason); - }); - } - - // Prefer streaming instantiation if available. - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel - // to any other async startup actions they are performing. - if (Module['instantiateWasm']) { - try { - var exports = Module['instantiateWasm'](info, receiveInstance); - return exports; - } catch(e) { - err('Module.instantiateWasm callback failed with error: ' + e); - return false; - } - } - - var result = instantiateSync(wasmBinaryFile, info); - receiveInstance(result[0], result[1]); - return Module['asm']; // exports were assigned here -} - -// Globals used by JS i64 conversions (see makeSetValue) -var tempDouble; -var tempI64; - -// === Body === - -var ASM_CONSTS = { - -}; - - - - - - - function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(Module); // Pass the module as the first argument. - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - wasmTable.get(func)(); - } else { - wasmTable.get(func)(callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } - } - - function demangle(func) { - return func; - } - - function demangleAll(text) { - var regex = - /\b_Z[\w\d_]+/g; - return text.replace(regex, - function(x) { - var y = demangle(x); - return x === y ? x : (y + ' [' + x + ']'); - }); - } - - function jsStackTrace() { - var error = new Error(); - if (!error.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - try { - throw new Error(); - } catch(e) { - error = e; - } - if (!error.stack) { - return '(no stack trace available)'; - } - } - return error.stack.toString(); - } - - function stackTrace() { - var js = jsStackTrace(); - if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); - return demangleAll(js); - } - - function _abort() { - abort(); - } - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.copyWithin(dest, src, src + num); - } - - function _emscripten_get_heap_size() { - return HEAPU8.length; - } - - function abortOnCannotGrowMemory(requestedSize) { - abort('OOM'); - } - function _emscripten_resize_heap(requestedSize) { - abortOnCannotGrowMemory(requestedSize); - } - - var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream, curr) { - var buffer = SYSCALLS.buffers[stream]; - if (curr === 0 || curr === 10) { - (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0)); - buffer.length = 0; - } else { - buffer.push(curr); - } - },varargs:undefined,get:function() { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function(ptr) { - var ret = UTF8ToString(ptr); - return ret; - },get64:function(low, high) { - return low; - }}; - function _fd_close(fd) { - return 0; - } - - function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { - } - - function flush_NO_FILESYSTEM() { - // flush anything remaining in the buffers during shutdown - if (typeof _fflush !== 'undefined') _fflush(0); - var buffers = SYSCALLS.buffers; - if (buffers[1].length) SYSCALLS.printChar(1, 10); - if (buffers[2].length) SYSCALLS.printChar(2, 10); - } - function _fd_write(fd, iov, iovcnt, pnum) { - // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 - var num = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - for (var j = 0; j < len; j++) { - SYSCALLS.printChar(fd, HEAPU8[ptr+j]); - } - num += len; - } - HEAP32[((pnum)>>2)] = num - return 0; - } - - function _setTempRet0($i) { - setTempRet0(($i) | 0); - } -var ASSERTIONS = false; - - - -/** @type {function(string, boolean=, number=)} */ -function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - if (ASSERTIONS) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - } - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} - - -var asmLibraryArg = { - "abort": _abort, - "emscripten_memcpy_big": _emscripten_memcpy_big, - "emscripten_resize_heap": _emscripten_resize_heap, - "fd_close": _fd_close, - "fd_seek": _fd_seek, - "fd_write": _fd_write, - "setTempRet0": _setTempRet0 -}; -var asm = createWasm(); -/** @type {function(...*):?} */ -var ___wasm_call_ctors = Module["___wasm_call_ctors"] = asm["__wasm_call_ctors"] - -/** @type {function(...*):?} */ -var _opus_encoder_create = Module["_opus_encoder_create"] = asm["opus_encoder_create"] - -/** @type {function(...*):?} */ -var _opus_encode_float = Module["_opus_encode_float"] = asm["opus_encode_float"] - -/** @type {function(...*):?} */ -var _opus_encoder_ctl = Module["_opus_encoder_ctl"] = asm["opus_encoder_ctl"] - -/** @type {function(...*):?} */ -var _opus_encoder_destroy = Module["_opus_encoder_destroy"] = asm["opus_encoder_destroy"] - -/** @type {function(...*):?} */ -var _speex_resampler_init = Module["_speex_resampler_init"] = asm["speex_resampler_init"] - -/** @type {function(...*):?} */ -var _speex_resampler_destroy = Module["_speex_resampler_destroy"] = asm["speex_resampler_destroy"] - -/** @type {function(...*):?} */ -var _speex_resampler_process_interleaved_float = Module["_speex_resampler_process_interleaved_float"] = asm["speex_resampler_process_interleaved_float"] - -/** @type {function(...*):?} */ -var ___errno_location = Module["___errno_location"] = asm["__errno_location"] - -/** @type {function(...*):?} */ -var stackSave = Module["stackSave"] = asm["stackSave"] - -/** @type {function(...*):?} */ -var stackRestore = Module["stackRestore"] = asm["stackRestore"] - -/** @type {function(...*):?} */ -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"] - -/** @type {function(...*):?} */ -var _malloc = Module["_malloc"] = asm["malloc"] - -/** @type {function(...*):?} */ -var _free = Module["_free"] = asm["free"] - -/** @type {function(...*):?} */ -var dynCall_jiji = Module["dynCall_jiji"] = asm["dynCall_jiji"] - - - - - -// === Auto-generated postamble setup entry stuff === - - - -var calledRun; - -/** - * @constructor - * @this {ExitStatus} - */ -function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status; -} - -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!calledRun) run(); - if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -}; - -/** @type {function(Array=)} */ -function run(args) { - args = args || arguments_; - - if (runDependencies > 0) { - return; - } - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - if (calledRun) return; - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(function() { - setTimeout(function() { - Module['setStatus'](''); - }, 1); - doRun(); - }, 1); - } else - { - doRun(); - } -} -Module['run'] = run; - -/** @param {boolean|number=} implicit */ -function exit(status, implicit) { - - // if this is just main exit-ing implicitly, and the status is 0, then we - // don't need to do anything here and can just leave. if the status is - // non-zero, though, then we need to report it. - // (we may have warned about this earlier, if a situation justifies doing so) - if (implicit && noExitRuntime && status === 0) { - return; - } - - if (noExitRuntime) { - } else { - - EXITSTATUS = status; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - - ABORT = true; - } - - quit_(status, new ExitStatus(status)); -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -run(); - - - - - - -return Module; -}, 'OpusEncoderLib'));//END: UMD wrapper - diff --git a/static/libopus-encoder.wasm.wasm b/static/libopus-encoder.wasm.wasm deleted file mode 100644 index 482a747..0000000 Binary files a/static/libopus-encoder.wasm.wasm and /dev/null differ diff --git a/svelte.config.js b/svelte.config.js index 794d526..c1c9318 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,5 +1,12 @@ -import adapter from '@sveltejs/adapter-static'; +import adapter from "@sveltejs/adapter-static"; -const config = { kit: { adapter: adapter() } }; +const config = { + kit: { adapter: adapter() }, + compilerOptions: { + warningFilter: (warning) => + !warning.filename?.includes("node_modules") && + !warning.code.startsWith("a11y"), + }, +}; export default config;