@doenet/doenetml-iframe 0.7.20-dev.309 → 0.7.20-dev.311
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +346 -233
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React__default from "react";
|
|
2
2
|
import React__default__default, { createContext, useMemo, useCallback, useLayoutEffect, useEffect, useRef, useState, useContext, isValidElement } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { MathJaxBaseContext, MathJax } from "better-react-mathjax";
|
|
4
4
|
import { createRoot } from "react-dom/client";
|
|
5
5
|
import { createPortal } from "react-dom";
|
|
6
6
|
const proxyMarker = /* @__PURE__ */ Symbol("Comlink.proxy");
|
|
@@ -24971,20 +24971,20 @@ function getBeginEndFromDoenetMLRange(position2) {
|
|
|
24971
24971
|
}
|
|
24972
24972
|
function findAllNewlines(inText) {
|
|
24973
24973
|
let allNewlines = [];
|
|
24974
|
-
for (let
|
|
24975
|
-
if (inText[
|
|
24976
|
-
allNewlines.push(
|
|
24974
|
+
for (let i3 = 0; i3 < inText.length; i3++) {
|
|
24975
|
+
if (inText[i3] == "\n") {
|
|
24976
|
+
allNewlines.push(i3 + 1);
|
|
24977
24977
|
}
|
|
24978
24978
|
}
|
|
24979
24979
|
return allNewlines;
|
|
24980
24980
|
}
|
|
24981
24981
|
function findLineCharInfo(pos, allNewlines) {
|
|
24982
|
-
for (let
|
|
24983
|
-
if (pos <= allNewlines[
|
|
24984
|
-
if (
|
|
24982
|
+
for (let i3 = 0; i3 < allNewlines.length; i3++) {
|
|
24983
|
+
if (pos <= allNewlines[i3]) {
|
|
24984
|
+
if (i3 === 0) {
|
|
24985
24985
|
return { line: 1, character: pos };
|
|
24986
24986
|
} else {
|
|
24987
|
-
return { line:
|
|
24987
|
+
return { line: i3 + 1, character: pos - allNewlines[i3 - 1] };
|
|
24988
24988
|
}
|
|
24989
24989
|
}
|
|
24990
24990
|
}
|
|
@@ -25051,9 +25051,9 @@ function requireBase32$1() {
|
|
|
25051
25051
|
throw err;
|
|
25052
25052
|
};
|
|
25053
25053
|
var toUtf8String = function(bytes) {
|
|
25054
|
-
var str = "", length = bytes.length,
|
|
25055
|
-
while (
|
|
25056
|
-
b2 = bytes[
|
|
25054
|
+
var str = "", length = bytes.length, i3 = 0, followingChars = 0, b2, c2;
|
|
25055
|
+
while (i3 < length) {
|
|
25056
|
+
b2 = bytes[i3++];
|
|
25057
25057
|
if (b2 <= 127) {
|
|
25058
25058
|
str += String.fromCharCode(b2);
|
|
25059
25059
|
continue;
|
|
@@ -25067,21 +25067,21 @@ function requireBase32$1() {
|
|
|
25067
25067
|
c2 = b2 & 7;
|
|
25068
25068
|
followingChars = 3;
|
|
25069
25069
|
} else {
|
|
25070
|
-
throwInvalidUtf8(
|
|
25070
|
+
throwInvalidUtf8(i3, str);
|
|
25071
25071
|
}
|
|
25072
25072
|
for (var j2 = 0; j2 < followingChars; ++j2) {
|
|
25073
|
-
b2 = bytes[
|
|
25073
|
+
b2 = bytes[i3++];
|
|
25074
25074
|
if (b2 < 128 || b2 > 191) {
|
|
25075
|
-
throwInvalidUtf8(
|
|
25075
|
+
throwInvalidUtf8(i3, str);
|
|
25076
25076
|
}
|
|
25077
25077
|
c2 <<= 6;
|
|
25078
25078
|
c2 += b2 & 63;
|
|
25079
25079
|
}
|
|
25080
25080
|
if (c2 >= 55296 && c2 <= 57343) {
|
|
25081
|
-
throwInvalidUtf8(
|
|
25081
|
+
throwInvalidUtf8(i3, str);
|
|
25082
25082
|
}
|
|
25083
25083
|
if (c2 > 1114111) {
|
|
25084
|
-
throwInvalidUtf8(
|
|
25084
|
+
throwInvalidUtf8(i3, str);
|
|
25085
25085
|
}
|
|
25086
25086
|
if (c2 <= 65535) {
|
|
25087
25087
|
str += String.fromCharCode(c2);
|
|
@@ -25101,15 +25101,15 @@ function requireBase32$1() {
|
|
|
25101
25101
|
}
|
|
25102
25102
|
base32Str = base32Str.replace(/=/g, "");
|
|
25103
25103
|
var v1, v2, v3, v4, v5, v6, v7, v8, bytes = [], index2 = 0, length = base32Str.length;
|
|
25104
|
-
for (var
|
|
25105
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25106
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25107
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25108
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25109
|
-
v5 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25110
|
-
v6 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25111
|
-
v7 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25112
|
-
v8 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25104
|
+
for (var i3 = 0, count = length >> 3 << 3; i3 < count; ) {
|
|
25105
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25106
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25107
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25108
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25109
|
+
v5 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25110
|
+
v6 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25111
|
+
v7 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25112
|
+
v8 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25113
25113
|
bytes[index2++] = (v1 << 3 | v2 >>> 2) & 255;
|
|
25114
25114
|
bytes[index2++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;
|
|
25115
25115
|
bytes[index2++] = (v4 << 4 | v5 >>> 1) & 255;
|
|
@@ -25118,33 +25118,33 @@ function requireBase32$1() {
|
|
|
25118
25118
|
}
|
|
25119
25119
|
var remain = length - count;
|
|
25120
25120
|
if (remain === 2) {
|
|
25121
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25122
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25121
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25122
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25123
25123
|
bytes[index2++] = (v1 << 3 | v2 >>> 2) & 255;
|
|
25124
25124
|
} else if (remain === 4) {
|
|
25125
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25126
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25127
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25128
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25125
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25126
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25127
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25128
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25129
25129
|
bytes[index2++] = (v1 << 3 | v2 >>> 2) & 255;
|
|
25130
25130
|
bytes[index2++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;
|
|
25131
25131
|
} else if (remain === 5) {
|
|
25132
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25133
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25134
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25135
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25136
|
-
v5 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25132
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25133
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25134
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25135
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25136
|
+
v5 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25137
25137
|
bytes[index2++] = (v1 << 3 | v2 >>> 2) & 255;
|
|
25138
25138
|
bytes[index2++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;
|
|
25139
25139
|
bytes[index2++] = (v4 << 4 | v5 >>> 1) & 255;
|
|
25140
25140
|
} else if (remain === 7) {
|
|
25141
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25142
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25143
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25144
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25145
|
-
v5 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25146
|
-
v6 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25147
|
-
v7 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25141
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25142
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25143
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25144
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25145
|
+
v5 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25146
|
+
v6 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25147
|
+
v7 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25148
25148
|
bytes[index2++] = (v1 << 3 | v2 >>> 2) & 255;
|
|
25149
25149
|
bytes[index2++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;
|
|
25150
25150
|
bytes[index2++] = (v4 << 4 | v5 >>> 1) & 255;
|
|
@@ -25154,38 +25154,38 @@ function requireBase32$1() {
|
|
|
25154
25154
|
};
|
|
25155
25155
|
var encodeAscii = function(str) {
|
|
25156
25156
|
var v1, v2, v3, v4, v5, base32Str = "", length = str.length;
|
|
25157
|
-
for (var
|
|
25158
|
-
v1 = str.charCodeAt(
|
|
25159
|
-
v2 = str.charCodeAt(
|
|
25160
|
-
v3 = str.charCodeAt(
|
|
25161
|
-
v4 = str.charCodeAt(
|
|
25162
|
-
v5 = str.charCodeAt(
|
|
25157
|
+
for (var i3 = 0, count = parseInt(length / 5) * 5; i3 < count; ) {
|
|
25158
|
+
v1 = str.charCodeAt(i3++);
|
|
25159
|
+
v2 = str.charCodeAt(i3++);
|
|
25160
|
+
v3 = str.charCodeAt(i3++);
|
|
25161
|
+
v4 = str.charCodeAt(i3++);
|
|
25162
|
+
v5 = str.charCodeAt(i3++);
|
|
25163
25163
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] + BASE32_ENCODE_CHAR[v4 >>> 2 & 31] + BASE32_ENCODE_CHAR[(v4 << 3 | v5 >>> 5) & 31] + BASE32_ENCODE_CHAR[v5 & 31];
|
|
25164
25164
|
}
|
|
25165
25165
|
var remain = length - count;
|
|
25166
25166
|
if (remain === 1) {
|
|
25167
|
-
v1 = str.charCodeAt(
|
|
25167
|
+
v1 = str.charCodeAt(i3);
|
|
25168
25168
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[v1 << 2 & 31] + "======";
|
|
25169
25169
|
} else if (remain === 2) {
|
|
25170
|
-
v1 = str.charCodeAt(
|
|
25171
|
-
v2 = str.charCodeAt(
|
|
25170
|
+
v1 = str.charCodeAt(i3++);
|
|
25171
|
+
v2 = str.charCodeAt(i3);
|
|
25172
25172
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[v2 << 4 & 31] + "====";
|
|
25173
25173
|
} else if (remain === 3) {
|
|
25174
|
-
v1 = str.charCodeAt(
|
|
25175
|
-
v2 = str.charCodeAt(
|
|
25176
|
-
v3 = str.charCodeAt(
|
|
25174
|
+
v1 = str.charCodeAt(i3++);
|
|
25175
|
+
v2 = str.charCodeAt(i3++);
|
|
25176
|
+
v3 = str.charCodeAt(i3);
|
|
25177
25177
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[v3 << 1 & 31] + "===";
|
|
25178
25178
|
} else if (remain === 4) {
|
|
25179
|
-
v1 = str.charCodeAt(
|
|
25180
|
-
v2 = str.charCodeAt(
|
|
25181
|
-
v3 = str.charCodeAt(
|
|
25182
|
-
v4 = str.charCodeAt(
|
|
25179
|
+
v1 = str.charCodeAt(i3++);
|
|
25180
|
+
v2 = str.charCodeAt(i3++);
|
|
25181
|
+
v3 = str.charCodeAt(i3++);
|
|
25182
|
+
v4 = str.charCodeAt(i3);
|
|
25183
25183
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] + BASE32_ENCODE_CHAR[v4 >>> 2 & 31] + BASE32_ENCODE_CHAR[v4 << 3 & 31] + "=";
|
|
25184
25184
|
}
|
|
25185
25185
|
return base32Str;
|
|
25186
25186
|
};
|
|
25187
25187
|
var encodeUtf8 = function(str) {
|
|
25188
|
-
var v1, v2, v3, v4, v5, code, end = false, base32Str = "", index2 = 0,
|
|
25188
|
+
var v1, v2, v3, v4, v5, code, end = false, base32Str = "", index2 = 0, i3, start = 0, length = str.length;
|
|
25189
25189
|
if (str === "") {
|
|
25190
25190
|
return base32Str;
|
|
25191
25191
|
}
|
|
@@ -25193,45 +25193,45 @@ function requireBase32$1() {
|
|
|
25193
25193
|
blocks[0] = blocks[5];
|
|
25194
25194
|
blocks[1] = blocks[6];
|
|
25195
25195
|
blocks[2] = blocks[7];
|
|
25196
|
-
for (
|
|
25196
|
+
for (i3 = start; index2 < length && i3 < 5; ++index2) {
|
|
25197
25197
|
code = str.charCodeAt(index2);
|
|
25198
25198
|
if (code < 128) {
|
|
25199
|
-
blocks[
|
|
25199
|
+
blocks[i3++] = code;
|
|
25200
25200
|
} else if (code < 2048) {
|
|
25201
|
-
blocks[
|
|
25202
|
-
blocks[
|
|
25201
|
+
blocks[i3++] = 192 | code >> 6;
|
|
25202
|
+
blocks[i3++] = 128 | code & 63;
|
|
25203
25203
|
} else if (code < 55296 || code >= 57344) {
|
|
25204
|
-
blocks[
|
|
25205
|
-
blocks[
|
|
25206
|
-
blocks[
|
|
25204
|
+
blocks[i3++] = 224 | code >> 12;
|
|
25205
|
+
blocks[i3++] = 128 | code >> 6 & 63;
|
|
25206
|
+
blocks[i3++] = 128 | code & 63;
|
|
25207
25207
|
} else {
|
|
25208
25208
|
code = 65536 + ((code & 1023) << 10 | str.charCodeAt(++index2) & 1023);
|
|
25209
|
-
blocks[
|
|
25210
|
-
blocks[
|
|
25211
|
-
blocks[
|
|
25212
|
-
blocks[
|
|
25209
|
+
blocks[i3++] = 240 | code >> 18;
|
|
25210
|
+
blocks[i3++] = 128 | code >> 12 & 63;
|
|
25211
|
+
blocks[i3++] = 128 | code >> 6 & 63;
|
|
25212
|
+
blocks[i3++] = 128 | code & 63;
|
|
25213
25213
|
}
|
|
25214
25214
|
}
|
|
25215
|
-
start =
|
|
25215
|
+
start = i3 - 5;
|
|
25216
25216
|
if (index2 === length) {
|
|
25217
25217
|
++index2;
|
|
25218
25218
|
}
|
|
25219
|
-
if (index2 > length &&
|
|
25219
|
+
if (index2 > length && i3 < 6) {
|
|
25220
25220
|
end = true;
|
|
25221
25221
|
}
|
|
25222
25222
|
v1 = blocks[0];
|
|
25223
|
-
if (
|
|
25223
|
+
if (i3 > 4) {
|
|
25224
25224
|
v2 = blocks[1];
|
|
25225
25225
|
v3 = blocks[2];
|
|
25226
25226
|
v4 = blocks[3];
|
|
25227
25227
|
v5 = blocks[4];
|
|
25228
25228
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] + BASE32_ENCODE_CHAR[v4 >>> 2 & 31] + BASE32_ENCODE_CHAR[(v4 << 3 | v5 >>> 5) & 31] + BASE32_ENCODE_CHAR[v5 & 31];
|
|
25229
|
-
} else if (
|
|
25229
|
+
} else if (i3 === 1) {
|
|
25230
25230
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[v1 << 2 & 31] + "======";
|
|
25231
|
-
} else if (
|
|
25231
|
+
} else if (i3 === 2) {
|
|
25232
25232
|
v2 = blocks[1];
|
|
25233
25233
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[v2 << 4 & 31] + "====";
|
|
25234
|
-
} else if (
|
|
25234
|
+
} else if (i3 === 3) {
|
|
25235
25235
|
v2 = blocks[1];
|
|
25236
25236
|
v3 = blocks[2];
|
|
25237
25237
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[v3 << 1 & 31] + "===";
|
|
@@ -25246,32 +25246,32 @@ function requireBase32$1() {
|
|
|
25246
25246
|
};
|
|
25247
25247
|
var encodeBytes = function(bytes) {
|
|
25248
25248
|
var v1, v2, v3, v4, v5, base32Str = "", length = bytes.length;
|
|
25249
|
-
for (var
|
|
25250
|
-
v1 = bytes[
|
|
25251
|
-
v2 = bytes[
|
|
25252
|
-
v3 = bytes[
|
|
25253
|
-
v4 = bytes[
|
|
25254
|
-
v5 = bytes[
|
|
25249
|
+
for (var i3 = 0, count = parseInt(length / 5) * 5; i3 < count; ) {
|
|
25250
|
+
v1 = bytes[i3++];
|
|
25251
|
+
v2 = bytes[i3++];
|
|
25252
|
+
v3 = bytes[i3++];
|
|
25253
|
+
v4 = bytes[i3++];
|
|
25254
|
+
v5 = bytes[i3++];
|
|
25255
25255
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] + BASE32_ENCODE_CHAR[v4 >>> 2 & 31] + BASE32_ENCODE_CHAR[(v4 << 3 | v5 >>> 5) & 31] + BASE32_ENCODE_CHAR[v5 & 31];
|
|
25256
25256
|
}
|
|
25257
25257
|
var remain = length - count;
|
|
25258
25258
|
if (remain === 1) {
|
|
25259
|
-
v1 = bytes[
|
|
25259
|
+
v1 = bytes[i3];
|
|
25260
25260
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[v1 << 2 & 31] + "======";
|
|
25261
25261
|
} else if (remain === 2) {
|
|
25262
|
-
v1 = bytes[
|
|
25263
|
-
v2 = bytes[
|
|
25262
|
+
v1 = bytes[i3++];
|
|
25263
|
+
v2 = bytes[i3];
|
|
25264
25264
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[v2 << 4 & 31] + "====";
|
|
25265
25265
|
} else if (remain === 3) {
|
|
25266
|
-
v1 = bytes[
|
|
25267
|
-
v2 = bytes[
|
|
25268
|
-
v3 = bytes[
|
|
25266
|
+
v1 = bytes[i3++];
|
|
25267
|
+
v2 = bytes[i3++];
|
|
25268
|
+
v3 = bytes[i3];
|
|
25269
25269
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[v3 << 1 & 31] + "===";
|
|
25270
25270
|
} else if (remain === 4) {
|
|
25271
|
-
v1 = bytes[
|
|
25272
|
-
v2 = bytes[
|
|
25273
|
-
v3 = bytes[
|
|
25274
|
-
v4 = bytes[
|
|
25271
|
+
v1 = bytes[i3++];
|
|
25272
|
+
v2 = bytes[i3++];
|
|
25273
|
+
v3 = bytes[i3++];
|
|
25274
|
+
v4 = bytes[i3];
|
|
25275
25275
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] + BASE32_ENCODE_CHAR[v4 >>> 2 & 31] + BASE32_ENCODE_CHAR[v4 << 3 & 31] + "=";
|
|
25276
25276
|
}
|
|
25277
25277
|
return base32Str;
|
|
@@ -25302,43 +25302,43 @@ function requireBase32$1() {
|
|
|
25302
25302
|
if (length === -1) {
|
|
25303
25303
|
length = base32Str.length;
|
|
25304
25304
|
}
|
|
25305
|
-
for (var
|
|
25306
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25307
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25308
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25309
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25310
|
-
v5 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25311
|
-
v6 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25312
|
-
v7 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25313
|
-
v8 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25305
|
+
for (var i3 = 0, count = length >> 3 << 3; i3 < count; ) {
|
|
25306
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25307
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25308
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25309
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25310
|
+
v5 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25311
|
+
v6 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25312
|
+
v7 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25313
|
+
v8 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25314
25314
|
str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) + String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255) + String.fromCharCode((v4 << 4 | v5 >>> 1) & 255) + String.fromCharCode((v5 << 7 | v6 << 2 | v7 >>> 3) & 255) + String.fromCharCode((v7 << 5 | v8) & 255);
|
|
25315
25315
|
}
|
|
25316
25316
|
var remain = length - count;
|
|
25317
25317
|
if (remain === 2) {
|
|
25318
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25319
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25318
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25319
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25320
25320
|
str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255);
|
|
25321
25321
|
} else if (remain === 4) {
|
|
25322
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25323
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25324
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25325
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25322
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25323
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25324
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25325
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25326
25326
|
str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) + String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255);
|
|
25327
25327
|
} else if (remain === 5) {
|
|
25328
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25329
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25330
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25331
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25332
|
-
v5 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25328
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25329
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25330
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25331
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25332
|
+
v5 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25333
25333
|
str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) + String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255) + String.fromCharCode((v4 << 4 | v5 >>> 1) & 255);
|
|
25334
25334
|
} else if (remain === 7) {
|
|
25335
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25336
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25337
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25338
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25339
|
-
v5 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25340
|
-
v6 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25341
|
-
v7 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
25335
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25336
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25337
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25338
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25339
|
+
v5 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25340
|
+
v6 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25341
|
+
v7 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
25342
25342
|
str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) + String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255) + String.fromCharCode((v4 << 4 | v5 >>> 1) & 255) + String.fromCharCode((v5 << 7 | v6 << 2 | v7 >>> 3) & 255);
|
|
25343
25343
|
}
|
|
25344
25344
|
return str;
|
|
@@ -37675,6 +37675,119 @@ function KeyboardTray({
|
|
|
37675
37675
|
document.body
|
|
37676
37676
|
);
|
|
37677
37677
|
}
|
|
37678
|
+
const DEFAULT_MATHJAX_SRC = "https://cdn.jsdelivr.net/npm/mathjax@4.1.3/tex-mml-chtml.js";
|
|
37679
|
+
const GLOBAL_PROMISE_KEY = "__doenetMathJaxPromise";
|
|
37680
|
+
const DOENET_MATHJAX_SCRIPT_ATTR = "data-doenet-mathjax";
|
|
37681
|
+
const MATHJAX_SRC_PATTERN = /mathjax|tex-(chtml|mml|svg)|mml-chtml/i;
|
|
37682
|
+
const DEFAULT_TIMEOUT_MS = 3e4;
|
|
37683
|
+
function isMathJaxEngine(candidate) {
|
|
37684
|
+
if (!candidate || typeof candidate !== "object") {
|
|
37685
|
+
return false;
|
|
37686
|
+
}
|
|
37687
|
+
const startup = candidate.startup;
|
|
37688
|
+
return !!startup && typeof startup === "object" && typeof startup.promise?.then === "function";
|
|
37689
|
+
}
|
|
37690
|
+
function findMathJaxScript() {
|
|
37691
|
+
const scripts = document.querySelectorAll("script[src]");
|
|
37692
|
+
for (const script of scripts) {
|
|
37693
|
+
if (script.hasAttribute(DOENET_MATHJAX_SCRIPT_ATTR)) {
|
|
37694
|
+
continue;
|
|
37695
|
+
}
|
|
37696
|
+
if (MATHJAX_SRC_PATTERN.test(script.src)) {
|
|
37697
|
+
return script;
|
|
37698
|
+
}
|
|
37699
|
+
}
|
|
37700
|
+
return null;
|
|
37701
|
+
}
|
|
37702
|
+
function waitForExistingMathJax(timeoutMs) {
|
|
37703
|
+
return new Promise((resolve, reject2) => {
|
|
37704
|
+
const deadline = Date.now() + timeoutMs;
|
|
37705
|
+
function poll() {
|
|
37706
|
+
const mathJax = window.MathJax;
|
|
37707
|
+
if (isMathJaxEngine(mathJax)) {
|
|
37708
|
+
resolve(mathJax);
|
|
37709
|
+
return;
|
|
37710
|
+
}
|
|
37711
|
+
if (Date.now() > deadline) {
|
|
37712
|
+
const message = "DoenetViewer: timed out waiting for a host-provided MathJax. Ensure the page loads MathJax, or unset `useExistingMathJax`.";
|
|
37713
|
+
console.warn(message);
|
|
37714
|
+
reject2(new Error(message));
|
|
37715
|
+
return;
|
|
37716
|
+
}
|
|
37717
|
+
window.setTimeout(poll, 50);
|
|
37718
|
+
}
|
|
37719
|
+
poll();
|
|
37720
|
+
});
|
|
37721
|
+
}
|
|
37722
|
+
function injectMathJax(src, config2) {
|
|
37723
|
+
return new Promise((resolve, reject2) => {
|
|
37724
|
+
if (config2 && window.MathJax == null) {
|
|
37725
|
+
window.MathJax = config2;
|
|
37726
|
+
}
|
|
37727
|
+
const script = document.createElement("script");
|
|
37728
|
+
script.type = "text/javascript";
|
|
37729
|
+
script.src = src;
|
|
37730
|
+
script.async = true;
|
|
37731
|
+
script.setAttribute(DOENET_MATHJAX_SCRIPT_ATTR, "true");
|
|
37732
|
+
script.addEventListener("load", () => {
|
|
37733
|
+
resolve(window.MathJax);
|
|
37734
|
+
});
|
|
37735
|
+
script.addEventListener("error", () => {
|
|
37736
|
+
reject2(
|
|
37737
|
+
new Error(`DoenetViewer: failed to load MathJax from ${src}`)
|
|
37738
|
+
);
|
|
37739
|
+
});
|
|
37740
|
+
document.head.appendChild(script);
|
|
37741
|
+
});
|
|
37742
|
+
}
|
|
37743
|
+
function createMathJaxPromise(options) {
|
|
37744
|
+
const {
|
|
37745
|
+
config: config2,
|
|
37746
|
+
src = DEFAULT_MATHJAX_SRC,
|
|
37747
|
+
useExistingMathJax = false,
|
|
37748
|
+
timeoutMs = DEFAULT_TIMEOUT_MS
|
|
37749
|
+
} = options;
|
|
37750
|
+
if (isMathJaxEngine(window.MathJax)) {
|
|
37751
|
+
return Promise.resolve(window.MathJax);
|
|
37752
|
+
}
|
|
37753
|
+
if (useExistingMathJax || findMathJaxScript()) {
|
|
37754
|
+
return waitForExistingMathJax(timeoutMs);
|
|
37755
|
+
}
|
|
37756
|
+
return injectMathJax(src, config2);
|
|
37757
|
+
}
|
|
37758
|
+
function loadMathJax(options = {}) {
|
|
37759
|
+
if (typeof window === "undefined") {
|
|
37760
|
+
return Promise.reject(
|
|
37761
|
+
new Error("MathJax can only be loaded in a browser environment")
|
|
37762
|
+
);
|
|
37763
|
+
}
|
|
37764
|
+
const cached = window[GLOBAL_PROMISE_KEY];
|
|
37765
|
+
if (cached) {
|
|
37766
|
+
return cached;
|
|
37767
|
+
}
|
|
37768
|
+
const promise = createMathJaxPromise(options);
|
|
37769
|
+
window[GLOBAL_PROMISE_KEY] = promise;
|
|
37770
|
+
return promise;
|
|
37771
|
+
}
|
|
37772
|
+
function MathJaxContext({
|
|
37773
|
+
config: config2,
|
|
37774
|
+
src,
|
|
37775
|
+
useExistingMathJax,
|
|
37776
|
+
timeoutMs,
|
|
37777
|
+
version: version2 = 4,
|
|
37778
|
+
children
|
|
37779
|
+
}) {
|
|
37780
|
+
const value = useMemo(() => {
|
|
37781
|
+
const promise = loadMathJax({
|
|
37782
|
+
config: config2,
|
|
37783
|
+
src,
|
|
37784
|
+
useExistingMathJax,
|
|
37785
|
+
timeoutMs
|
|
37786
|
+
});
|
|
37787
|
+
return { version: version2, promise };
|
|
37788
|
+
}, [config2, src, useExistingMathJax, timeoutMs, version2]);
|
|
37789
|
+
return /* @__PURE__ */ React__default__default.createElement(MathJaxBaseContext.Provider, { value }, children);
|
|
37790
|
+
}
|
|
37678
37791
|
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
37679
37792
|
function getDefaultExportFromCjs(x2) {
|
|
37680
37793
|
return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
|
|
@@ -62229,9 +62342,9 @@ function requireBase32() {
|
|
|
62229
62342
|
throw err;
|
|
62230
62343
|
};
|
|
62231
62344
|
var toUtf8String = function(bytes) {
|
|
62232
|
-
var str = "", length = bytes.length,
|
|
62233
|
-
while (
|
|
62234
|
-
b2 = bytes[
|
|
62345
|
+
var str = "", length = bytes.length, i3 = 0, followingChars = 0, b2, c2;
|
|
62346
|
+
while (i3 < length) {
|
|
62347
|
+
b2 = bytes[i3++];
|
|
62235
62348
|
if (b2 <= 127) {
|
|
62236
62349
|
str += String.fromCharCode(b2);
|
|
62237
62350
|
continue;
|
|
@@ -62245,21 +62358,21 @@ function requireBase32() {
|
|
|
62245
62358
|
c2 = b2 & 7;
|
|
62246
62359
|
followingChars = 3;
|
|
62247
62360
|
} else {
|
|
62248
|
-
throwInvalidUtf8(
|
|
62361
|
+
throwInvalidUtf8(i3, str);
|
|
62249
62362
|
}
|
|
62250
62363
|
for (var j2 = 0; j2 < followingChars; ++j2) {
|
|
62251
|
-
b2 = bytes[
|
|
62364
|
+
b2 = bytes[i3++];
|
|
62252
62365
|
if (b2 < 128 || b2 > 191) {
|
|
62253
|
-
throwInvalidUtf8(
|
|
62366
|
+
throwInvalidUtf8(i3, str);
|
|
62254
62367
|
}
|
|
62255
62368
|
c2 <<= 6;
|
|
62256
62369
|
c2 += b2 & 63;
|
|
62257
62370
|
}
|
|
62258
62371
|
if (c2 >= 55296 && c2 <= 57343) {
|
|
62259
|
-
throwInvalidUtf8(
|
|
62372
|
+
throwInvalidUtf8(i3, str);
|
|
62260
62373
|
}
|
|
62261
62374
|
if (c2 > 1114111) {
|
|
62262
|
-
throwInvalidUtf8(
|
|
62375
|
+
throwInvalidUtf8(i3, str);
|
|
62263
62376
|
}
|
|
62264
62377
|
if (c2 <= 65535) {
|
|
62265
62378
|
str += String.fromCharCode(c2);
|
|
@@ -62279,15 +62392,15 @@ function requireBase32() {
|
|
|
62279
62392
|
}
|
|
62280
62393
|
base32Str = base32Str.replace(/=/g, "");
|
|
62281
62394
|
var v1, v2, v3, v4, v5, v6, v7, v8, bytes = [], index2 = 0, length = base32Str.length;
|
|
62282
|
-
for (var
|
|
62283
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62284
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62285
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62286
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62287
|
-
v5 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62288
|
-
v6 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62289
|
-
v7 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62290
|
-
v8 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62395
|
+
for (var i3 = 0, count = length >> 3 << 3; i3 < count; ) {
|
|
62396
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62397
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62398
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62399
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62400
|
+
v5 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62401
|
+
v6 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62402
|
+
v7 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62403
|
+
v8 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62291
62404
|
bytes[index2++] = (v1 << 3 | v2 >>> 2) & 255;
|
|
62292
62405
|
bytes[index2++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;
|
|
62293
62406
|
bytes[index2++] = (v4 << 4 | v5 >>> 1) & 255;
|
|
@@ -62296,33 +62409,33 @@ function requireBase32() {
|
|
|
62296
62409
|
}
|
|
62297
62410
|
var remain = length - count;
|
|
62298
62411
|
if (remain === 2) {
|
|
62299
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62300
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62412
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62413
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62301
62414
|
bytes[index2++] = (v1 << 3 | v2 >>> 2) & 255;
|
|
62302
62415
|
} else if (remain === 4) {
|
|
62303
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62304
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62305
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62306
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62416
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62417
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62418
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62419
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62307
62420
|
bytes[index2++] = (v1 << 3 | v2 >>> 2) & 255;
|
|
62308
62421
|
bytes[index2++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;
|
|
62309
62422
|
} else if (remain === 5) {
|
|
62310
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62311
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62312
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62313
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62314
|
-
v5 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62423
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62424
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62425
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62426
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62427
|
+
v5 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62315
62428
|
bytes[index2++] = (v1 << 3 | v2 >>> 2) & 255;
|
|
62316
62429
|
bytes[index2++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;
|
|
62317
62430
|
bytes[index2++] = (v4 << 4 | v5 >>> 1) & 255;
|
|
62318
62431
|
} else if (remain === 7) {
|
|
62319
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62320
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62321
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62322
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62323
|
-
v5 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62324
|
-
v6 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62325
|
-
v7 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62432
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62433
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62434
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62435
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62436
|
+
v5 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62437
|
+
v6 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62438
|
+
v7 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62326
62439
|
bytes[index2++] = (v1 << 3 | v2 >>> 2) & 255;
|
|
62327
62440
|
bytes[index2++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;
|
|
62328
62441
|
bytes[index2++] = (v4 << 4 | v5 >>> 1) & 255;
|
|
@@ -62332,38 +62445,38 @@ function requireBase32() {
|
|
|
62332
62445
|
};
|
|
62333
62446
|
var encodeAscii = function(str) {
|
|
62334
62447
|
var v1, v2, v3, v4, v5, base32Str = "", length = str.length;
|
|
62335
|
-
for (var
|
|
62336
|
-
v1 = str.charCodeAt(
|
|
62337
|
-
v2 = str.charCodeAt(
|
|
62338
|
-
v3 = str.charCodeAt(
|
|
62339
|
-
v4 = str.charCodeAt(
|
|
62340
|
-
v5 = str.charCodeAt(
|
|
62448
|
+
for (var i3 = 0, count = parseInt(length / 5) * 5; i3 < count; ) {
|
|
62449
|
+
v1 = str.charCodeAt(i3++);
|
|
62450
|
+
v2 = str.charCodeAt(i3++);
|
|
62451
|
+
v3 = str.charCodeAt(i3++);
|
|
62452
|
+
v4 = str.charCodeAt(i3++);
|
|
62453
|
+
v5 = str.charCodeAt(i3++);
|
|
62341
62454
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] + BASE32_ENCODE_CHAR[v4 >>> 2 & 31] + BASE32_ENCODE_CHAR[(v4 << 3 | v5 >>> 5) & 31] + BASE32_ENCODE_CHAR[v5 & 31];
|
|
62342
62455
|
}
|
|
62343
62456
|
var remain = length - count;
|
|
62344
62457
|
if (remain === 1) {
|
|
62345
|
-
v1 = str.charCodeAt(
|
|
62458
|
+
v1 = str.charCodeAt(i3);
|
|
62346
62459
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[v1 << 2 & 31] + "======";
|
|
62347
62460
|
} else if (remain === 2) {
|
|
62348
|
-
v1 = str.charCodeAt(
|
|
62349
|
-
v2 = str.charCodeAt(
|
|
62461
|
+
v1 = str.charCodeAt(i3++);
|
|
62462
|
+
v2 = str.charCodeAt(i3);
|
|
62350
62463
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[v2 << 4 & 31] + "====";
|
|
62351
62464
|
} else if (remain === 3) {
|
|
62352
|
-
v1 = str.charCodeAt(
|
|
62353
|
-
v2 = str.charCodeAt(
|
|
62354
|
-
v3 = str.charCodeAt(
|
|
62465
|
+
v1 = str.charCodeAt(i3++);
|
|
62466
|
+
v2 = str.charCodeAt(i3++);
|
|
62467
|
+
v3 = str.charCodeAt(i3);
|
|
62355
62468
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[v3 << 1 & 31] + "===";
|
|
62356
62469
|
} else if (remain === 4) {
|
|
62357
|
-
v1 = str.charCodeAt(
|
|
62358
|
-
v2 = str.charCodeAt(
|
|
62359
|
-
v3 = str.charCodeAt(
|
|
62360
|
-
v4 = str.charCodeAt(
|
|
62470
|
+
v1 = str.charCodeAt(i3++);
|
|
62471
|
+
v2 = str.charCodeAt(i3++);
|
|
62472
|
+
v3 = str.charCodeAt(i3++);
|
|
62473
|
+
v4 = str.charCodeAt(i3);
|
|
62361
62474
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] + BASE32_ENCODE_CHAR[v4 >>> 2 & 31] + BASE32_ENCODE_CHAR[v4 << 3 & 31] + "=";
|
|
62362
62475
|
}
|
|
62363
62476
|
return base32Str;
|
|
62364
62477
|
};
|
|
62365
62478
|
var encodeUtf8 = function(str) {
|
|
62366
|
-
var v1, v2, v3, v4, v5, code, end = false, base32Str = "", index2 = 0,
|
|
62479
|
+
var v1, v2, v3, v4, v5, code, end = false, base32Str = "", index2 = 0, i3, start = 0, length = str.length;
|
|
62367
62480
|
if (str === "") {
|
|
62368
62481
|
return base32Str;
|
|
62369
62482
|
}
|
|
@@ -62371,45 +62484,45 @@ function requireBase32() {
|
|
|
62371
62484
|
blocks[0] = blocks[5];
|
|
62372
62485
|
blocks[1] = blocks[6];
|
|
62373
62486
|
blocks[2] = blocks[7];
|
|
62374
|
-
for (
|
|
62487
|
+
for (i3 = start; index2 < length && i3 < 5; ++index2) {
|
|
62375
62488
|
code = str.charCodeAt(index2);
|
|
62376
62489
|
if (code < 128) {
|
|
62377
|
-
blocks[
|
|
62490
|
+
blocks[i3++] = code;
|
|
62378
62491
|
} else if (code < 2048) {
|
|
62379
|
-
blocks[
|
|
62380
|
-
blocks[
|
|
62492
|
+
blocks[i3++] = 192 | code >> 6;
|
|
62493
|
+
blocks[i3++] = 128 | code & 63;
|
|
62381
62494
|
} else if (code < 55296 || code >= 57344) {
|
|
62382
|
-
blocks[
|
|
62383
|
-
blocks[
|
|
62384
|
-
blocks[
|
|
62495
|
+
blocks[i3++] = 224 | code >> 12;
|
|
62496
|
+
blocks[i3++] = 128 | code >> 6 & 63;
|
|
62497
|
+
blocks[i3++] = 128 | code & 63;
|
|
62385
62498
|
} else {
|
|
62386
62499
|
code = 65536 + ((code & 1023) << 10 | str.charCodeAt(++index2) & 1023);
|
|
62387
|
-
blocks[
|
|
62388
|
-
blocks[
|
|
62389
|
-
blocks[
|
|
62390
|
-
blocks[
|
|
62500
|
+
blocks[i3++] = 240 | code >> 18;
|
|
62501
|
+
blocks[i3++] = 128 | code >> 12 & 63;
|
|
62502
|
+
blocks[i3++] = 128 | code >> 6 & 63;
|
|
62503
|
+
blocks[i3++] = 128 | code & 63;
|
|
62391
62504
|
}
|
|
62392
62505
|
}
|
|
62393
|
-
start =
|
|
62506
|
+
start = i3 - 5;
|
|
62394
62507
|
if (index2 === length) {
|
|
62395
62508
|
++index2;
|
|
62396
62509
|
}
|
|
62397
|
-
if (index2 > length &&
|
|
62510
|
+
if (index2 > length && i3 < 6) {
|
|
62398
62511
|
end = true;
|
|
62399
62512
|
}
|
|
62400
62513
|
v1 = blocks[0];
|
|
62401
|
-
if (
|
|
62514
|
+
if (i3 > 4) {
|
|
62402
62515
|
v2 = blocks[1];
|
|
62403
62516
|
v3 = blocks[2];
|
|
62404
62517
|
v4 = blocks[3];
|
|
62405
62518
|
v5 = blocks[4];
|
|
62406
62519
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] + BASE32_ENCODE_CHAR[v4 >>> 2 & 31] + BASE32_ENCODE_CHAR[(v4 << 3 | v5 >>> 5) & 31] + BASE32_ENCODE_CHAR[v5 & 31];
|
|
62407
|
-
} else if (
|
|
62520
|
+
} else if (i3 === 1) {
|
|
62408
62521
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[v1 << 2 & 31] + "======";
|
|
62409
|
-
} else if (
|
|
62522
|
+
} else if (i3 === 2) {
|
|
62410
62523
|
v2 = blocks[1];
|
|
62411
62524
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[v2 << 4 & 31] + "====";
|
|
62412
|
-
} else if (
|
|
62525
|
+
} else if (i3 === 3) {
|
|
62413
62526
|
v2 = blocks[1];
|
|
62414
62527
|
v3 = blocks[2];
|
|
62415
62528
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[v3 << 1 & 31] + "===";
|
|
@@ -62424,32 +62537,32 @@ function requireBase32() {
|
|
|
62424
62537
|
};
|
|
62425
62538
|
var encodeBytes = function(bytes) {
|
|
62426
62539
|
var v1, v2, v3, v4, v5, base32Str = "", length = bytes.length;
|
|
62427
|
-
for (var
|
|
62428
|
-
v1 = bytes[
|
|
62429
|
-
v2 = bytes[
|
|
62430
|
-
v3 = bytes[
|
|
62431
|
-
v4 = bytes[
|
|
62432
|
-
v5 = bytes[
|
|
62540
|
+
for (var i3 = 0, count = parseInt(length / 5) * 5; i3 < count; ) {
|
|
62541
|
+
v1 = bytes[i3++];
|
|
62542
|
+
v2 = bytes[i3++];
|
|
62543
|
+
v3 = bytes[i3++];
|
|
62544
|
+
v4 = bytes[i3++];
|
|
62545
|
+
v5 = bytes[i3++];
|
|
62433
62546
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] + BASE32_ENCODE_CHAR[v4 >>> 2 & 31] + BASE32_ENCODE_CHAR[(v4 << 3 | v5 >>> 5) & 31] + BASE32_ENCODE_CHAR[v5 & 31];
|
|
62434
62547
|
}
|
|
62435
62548
|
var remain = length - count;
|
|
62436
62549
|
if (remain === 1) {
|
|
62437
|
-
v1 = bytes[
|
|
62550
|
+
v1 = bytes[i3];
|
|
62438
62551
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[v1 << 2 & 31] + "======";
|
|
62439
62552
|
} else if (remain === 2) {
|
|
62440
|
-
v1 = bytes[
|
|
62441
|
-
v2 = bytes[
|
|
62553
|
+
v1 = bytes[i3++];
|
|
62554
|
+
v2 = bytes[i3];
|
|
62442
62555
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[v2 << 4 & 31] + "====";
|
|
62443
62556
|
} else if (remain === 3) {
|
|
62444
|
-
v1 = bytes[
|
|
62445
|
-
v2 = bytes[
|
|
62446
|
-
v3 = bytes[
|
|
62557
|
+
v1 = bytes[i3++];
|
|
62558
|
+
v2 = bytes[i3++];
|
|
62559
|
+
v3 = bytes[i3];
|
|
62447
62560
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[v3 << 1 & 31] + "===";
|
|
62448
62561
|
} else if (remain === 4) {
|
|
62449
|
-
v1 = bytes[
|
|
62450
|
-
v2 = bytes[
|
|
62451
|
-
v3 = bytes[
|
|
62452
|
-
v4 = bytes[
|
|
62562
|
+
v1 = bytes[i3++];
|
|
62563
|
+
v2 = bytes[i3++];
|
|
62564
|
+
v3 = bytes[i3++];
|
|
62565
|
+
v4 = bytes[i3];
|
|
62453
62566
|
base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] + BASE32_ENCODE_CHAR[v2 >>> 1 & 31] + BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] + BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] + BASE32_ENCODE_CHAR[v4 >>> 2 & 31] + BASE32_ENCODE_CHAR[v4 << 3 & 31] + "=";
|
|
62454
62567
|
}
|
|
62455
62568
|
return base32Str;
|
|
@@ -62480,43 +62593,43 @@ function requireBase32() {
|
|
|
62480
62593
|
if (length === -1) {
|
|
62481
62594
|
length = base32Str.length;
|
|
62482
62595
|
}
|
|
62483
|
-
for (var
|
|
62484
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62485
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62486
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62487
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62488
|
-
v5 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62489
|
-
v6 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62490
|
-
v7 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62491
|
-
v8 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62596
|
+
for (var i3 = 0, count = length >> 3 << 3; i3 < count; ) {
|
|
62597
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62598
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62599
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62600
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62601
|
+
v5 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62602
|
+
v6 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62603
|
+
v7 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62604
|
+
v8 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62492
62605
|
str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) + String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255) + String.fromCharCode((v4 << 4 | v5 >>> 1) & 255) + String.fromCharCode((v5 << 7 | v6 << 2 | v7 >>> 3) & 255) + String.fromCharCode((v7 << 5 | v8) & 255);
|
|
62493
62606
|
}
|
|
62494
62607
|
var remain = length - count;
|
|
62495
62608
|
if (remain === 2) {
|
|
62496
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62497
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62609
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62610
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62498
62611
|
str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255);
|
|
62499
62612
|
} else if (remain === 4) {
|
|
62500
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62501
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62502
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62503
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62613
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62614
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62615
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62616
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62504
62617
|
str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) + String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255);
|
|
62505
62618
|
} else if (remain === 5) {
|
|
62506
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62507
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62508
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62509
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62510
|
-
v5 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62619
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62620
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62621
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62622
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62623
|
+
v5 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62511
62624
|
str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) + String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255) + String.fromCharCode((v4 << 4 | v5 >>> 1) & 255);
|
|
62512
62625
|
} else if (remain === 7) {
|
|
62513
|
-
v1 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62514
|
-
v2 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62515
|
-
v3 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62516
|
-
v4 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62517
|
-
v5 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62518
|
-
v6 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62519
|
-
v7 = BASE32_DECODE_CHAR[base32Str.charAt(
|
|
62626
|
+
v1 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62627
|
+
v2 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62628
|
+
v3 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62629
|
+
v4 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62630
|
+
v5 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62631
|
+
v6 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62632
|
+
v7 = BASE32_DECODE_CHAR[base32Str.charAt(i3++)];
|
|
62520
62633
|
str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) + String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255) + String.fromCharCode((v4 << 4 | v5 >>> 1) & 255) + String.fromCharCode((v5 << 7 | v6 << 2 | v7 >>> 3) & 255);
|
|
62521
62634
|
}
|
|
62522
62635
|
return str;
|
|
@@ -62940,7 +63053,7 @@ function ExternalVirtualKeyboard({
|
|
|
62940
63053
|
}
|
|
62941
63054
|
);
|
|
62942
63055
|
}
|
|
62943
|
-
const version = "0.7.20-dev.
|
|
63056
|
+
const version = "0.7.20-dev.311";
|
|
62944
63057
|
const latestDoenetmlVersion = version;
|
|
62945
63058
|
function subscribeToPinnedTheme() {
|
|
62946
63059
|
return () => {
|