@postman-cse/onboarding-bootstrap 2.9.5 → 2.9.7
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/README.md +2 -2
- package/action.yml +2 -2
- package/dist/action.cjs +220 -1158
- package/dist/cli.cjs +221 -1156
- package/dist/index.cjs +220 -1158
- package/package.json +4 -2
package/dist/cli.cjs
CHANGED
|
@@ -257726,6 +257726,18 @@ async function retry(operation, options = {}) {
|
|
|
257726
257726
|
}
|
|
257727
257727
|
throw new Error("Retry exhausted without returning or throwing");
|
|
257728
257728
|
}
|
|
257729
|
+
function fullJitterDelayMs(attempt, baseMs, capMs, random = Math.random) {
|
|
257730
|
+
const ceiling = Math.min(capMs, baseMs * 2 ** Math.max(0, attempt));
|
|
257731
|
+
return Math.floor(random() * Math.max(0, ceiling));
|
|
257732
|
+
}
|
|
257733
|
+
function parseRetryAfterMs2(value) {
|
|
257734
|
+
if (!value) return void 0;
|
|
257735
|
+
const trimmed = value.trim();
|
|
257736
|
+
if (/^\d+$/.test(trimmed)) return Number(trimmed) * 1e3;
|
|
257737
|
+
const when = Date.parse(trimmed);
|
|
257738
|
+
if (!Number.isNaN(when)) return Math.max(0, when - Date.now());
|
|
257739
|
+
return void 0;
|
|
257740
|
+
}
|
|
257729
257741
|
|
|
257730
257742
|
// src/lib/postman/postman-ec-client.ts
|
|
257731
257743
|
var EC_WRITE_MAX_ATTEMPTS = 3;
|
|
@@ -262339,6 +262351,12 @@ var BOOTSTRAP_BARE_UUID_RE = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9
|
|
|
262339
262351
|
function isMissingPatchValueError(error) {
|
|
262340
262352
|
return error instanceof HttpError && error.status === 400 && error.responseBody.includes("Remove operation must point to an existing value");
|
|
262341
262353
|
}
|
|
262354
|
+
function isRejectedPatchError(error) {
|
|
262355
|
+
return error instanceof HttpError && error.status === 400 && /REJECTED_PATCH|must update at least one/i.test(
|
|
262356
|
+
`${error.message}
|
|
262357
|
+
${error.responseBody ?? ""}`
|
|
262358
|
+
);
|
|
262359
|
+
}
|
|
262342
262360
|
function canonicalize(value) {
|
|
262343
262361
|
if (Array.isArray(value)) return value.map(canonicalize);
|
|
262344
262362
|
if (value && typeof value === "object") {
|
|
@@ -262402,6 +262420,7 @@ var PostmanGatewayAssetsClient = class _PostmanGatewayAssetsClient {
|
|
|
262402
262420
|
static DEFAULT_GENERATION_POLL_DELAY_MS = 2e3;
|
|
262403
262421
|
gateway;
|
|
262404
262422
|
sleep;
|
|
262423
|
+
random;
|
|
262405
262424
|
generationPollAttempts;
|
|
262406
262425
|
generationPollDelayMs;
|
|
262407
262426
|
createIdentity;
|
|
@@ -262409,6 +262428,7 @@ var PostmanGatewayAssetsClient = class _PostmanGatewayAssetsClient {
|
|
|
262409
262428
|
this.gateway = options.gateway;
|
|
262410
262429
|
this.createIdentity = options.createIdentity ?? import_node_crypto2.randomUUID;
|
|
262411
262430
|
this.sleep = options.sleep ?? ((delayMs) => new Promise((resolve4) => setTimeout(resolve4, delayMs)));
|
|
262431
|
+
this.random = options.random ?? Math.random;
|
|
262412
262432
|
this.generationPollAttempts = resolvePollBudget(
|
|
262413
262433
|
options.generationPollAttempts,
|
|
262414
262434
|
process.env.POSTMAN_GENERATION_POLL_ATTEMPTS,
|
|
@@ -263183,7 +263203,7 @@ ${error.responseBody ?? ""}`
|
|
|
263183
263203
|
if (!retriable || attempt === maxAttempts - 1) {
|
|
263184
263204
|
throw error;
|
|
263185
263205
|
}
|
|
263186
|
-
await this.sleep(
|
|
263206
|
+
await this.sleep(fullJitterDelayMs(attempt, 300, 2e3, this.random));
|
|
263187
263207
|
}
|
|
263188
263208
|
}
|
|
263189
263209
|
}
|
|
@@ -263434,14 +263454,19 @@ ${error.responseBody ?? ""}`
|
|
|
263434
263454
|
{ type: "afterResponse", code: exec.join("\n"), language: "text/javascript" }
|
|
263435
263455
|
];
|
|
263436
263456
|
for (const script of plan.scripts) {
|
|
263437
|
-
|
|
263438
|
-
|
|
263439
|
-
|
|
263440
|
-
|
|
263441
|
-
|
|
263442
|
-
|
|
263443
|
-
|
|
263444
|
-
|
|
263457
|
+
try {
|
|
263458
|
+
await this.gateway.requestJson({
|
|
263459
|
+
service: "collection",
|
|
263460
|
+
method: "patch",
|
|
263461
|
+
path: `/v3/collections/${cid}/items/${script.itemId}`,
|
|
263462
|
+
retry: "safe",
|
|
263463
|
+
headers: { "X-Entity-Type": "http-request" },
|
|
263464
|
+
body: [{ op: "add", path: "/scripts", value: toV3Scripts(script.exec) }]
|
|
263465
|
+
});
|
|
263466
|
+
} catch (error) {
|
|
263467
|
+
if (isRejectedPatchError(error)) continue;
|
|
263468
|
+
throw error;
|
|
263469
|
+
}
|
|
263445
263470
|
}
|
|
263446
263471
|
if (!items.some((i) => String(i.name ?? "") === "00 - Resolve Secrets")) {
|
|
263447
263472
|
const created = await this.gateway.requestJson({
|
|
@@ -263646,36 +263671,53 @@ ${error.responseBody ?? ""}`
|
|
|
263646
263671
|
async createItemTree(cid, items, parentId) {
|
|
263647
263672
|
for (const item of items) {
|
|
263648
263673
|
const kind = String(item.$kind ?? "http-request");
|
|
263649
|
-
|
|
263650
|
-
|
|
263651
|
-
|
|
263652
|
-
|
|
263653
|
-
|
|
263654
|
-
|
|
263655
|
-
|
|
263656
|
-
|
|
263657
|
-
|
|
263658
|
-
|
|
263659
|
-
|
|
263660
|
-
|
|
263661
|
-
|
|
263662
|
-
|
|
263663
|
-
if (
|
|
263664
|
-
|
|
263665
|
-
const
|
|
263666
|
-
|
|
263667
|
-
|
|
263668
|
-
|
|
263669
|
-
|
|
263670
|
-
|
|
263671
|
-
|
|
263672
|
-
|
|
263673
|
-
|
|
263674
|
-
|
|
263675
|
-
|
|
263676
|
-
|
|
263674
|
+
const maxAttempts = 4;
|
|
263675
|
+
let newId = "";
|
|
263676
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {
|
|
263677
|
+
let created;
|
|
263678
|
+
try {
|
|
263679
|
+
created = await this.gateway.requestJson({
|
|
263680
|
+
service: "collection",
|
|
263681
|
+
method: "post",
|
|
263682
|
+
path: `/v3/collections/${cid}/items/`,
|
|
263683
|
+
retry: "none",
|
|
263684
|
+
headers: { "X-Entity-Type": kind },
|
|
263685
|
+
body: this.buildItemCreateBody(item, parentId)
|
|
263686
|
+
});
|
|
263687
|
+
} catch (error) {
|
|
263688
|
+
if (!isAmbiguousTransportError(error)) throw error;
|
|
263689
|
+
const name = String(item.name ?? "Untitled");
|
|
263690
|
+
const findCommittedItem = async () => {
|
|
263691
|
+
const matches = (await this.listCollectionItems(cid)).filter((candidate) => {
|
|
263692
|
+
if (String(candidate.name ?? candidate.title ?? "") !== name) return false;
|
|
263693
|
+
if (String(candidate.$kind ?? candidate.type ?? "http-request") !== kind) return false;
|
|
263694
|
+
const position = asRecord8(candidate.position);
|
|
263695
|
+
const parent = asRecord8(position?.parent);
|
|
263696
|
+
const candidateParent = String(parent?.id ?? position?.parent ?? candidate.parent ?? "").trim();
|
|
263697
|
+
return Boolean(candidateParent) && this.bareModelId(candidateParent) === this.bareModelId(parentId);
|
|
263698
|
+
});
|
|
263699
|
+
return adoptExactMatch(
|
|
263700
|
+
`collection-item:${cid}:${parentId}:${kind}:${name}`,
|
|
263701
|
+
matches,
|
|
263702
|
+
(candidate) => String(candidate.id ?? "")
|
|
263703
|
+
);
|
|
263704
|
+
};
|
|
263705
|
+
let match = await findCommittedItem();
|
|
263706
|
+
if (!match) {
|
|
263707
|
+
await this.sleep(fullJitterDelayMs(attempt - 1, 300, 2e3, this.random));
|
|
263708
|
+
match = await findCommittedItem();
|
|
263709
|
+
}
|
|
263710
|
+
if (match) {
|
|
263711
|
+
created = { data: { id: match.id } };
|
|
263712
|
+
} else {
|
|
263713
|
+
const retriable = error instanceof HttpError && error.status >= 500;
|
|
263714
|
+
if (!retriable || attempt === maxAttempts) throw error;
|
|
263715
|
+
continue;
|
|
263716
|
+
}
|
|
263717
|
+
}
|
|
263718
|
+
newId = String(asRecord8(created?.data)?.id ?? "").trim();
|
|
263719
|
+
if (newId) break;
|
|
263677
263720
|
}
|
|
263678
|
-
const newId = String(asRecord8(created?.data)?.id ?? "").trim();
|
|
263679
263721
|
if (!newId) {
|
|
263680
263722
|
throw new Error(
|
|
263681
263723
|
`Item create did not return an id for ${String(item.name ?? "item")}`
|
|
@@ -263718,6 +263760,30 @@ ${error.responseBody ?? ""}`
|
|
|
263718
263760
|
* - `remove` of /description always works (field exists as "")
|
|
263719
263761
|
* - on update, GET the root first and only remove fields that currently exist
|
|
263720
263762
|
*/
|
|
263763
|
+
/**
|
|
263764
|
+
* GET a collection root, retrying through the v3 surface's read-after-write
|
|
263765
|
+
* 404 lag. A freshly generated/renamed collection can transiently report
|
|
263766
|
+
* RESOURCE_NOT_FOUND for a few seconds (worse under concurrent runner load);
|
|
263767
|
+
* retrying absorbs that instead of hard-failing the run.
|
|
263768
|
+
*/
|
|
263769
|
+
async getCollectionRoot(cid) {
|
|
263770
|
+
const got = await retry(
|
|
263771
|
+
() => this.gateway.requestJson({
|
|
263772
|
+
service: "collection",
|
|
263773
|
+
method: "get",
|
|
263774
|
+
path: `/v3/collections/${cid}`,
|
|
263775
|
+
retry: "none"
|
|
263776
|
+
}),
|
|
263777
|
+
{
|
|
263778
|
+
maxAttempts: 6,
|
|
263779
|
+
delayMs: 1e3,
|
|
263780
|
+
backoffMultiplier: 2,
|
|
263781
|
+
maxDelayMs: 8e3,
|
|
263782
|
+
shouldRetry: (error) => error instanceof HttpError && error.status === 404
|
|
263783
|
+
}
|
|
263784
|
+
);
|
|
263785
|
+
return asRecord8(got?.data);
|
|
263786
|
+
}
|
|
263721
263787
|
async applyCollectionLevelSettings(cid, v3, options = {}) {
|
|
263722
263788
|
const ops = [];
|
|
263723
263789
|
if (options.rename && typeof v3.name === "string" && v3.name) {
|
|
@@ -263725,12 +263791,7 @@ ${error.responseBody ?? ""}`
|
|
|
263725
263791
|
}
|
|
263726
263792
|
let current = null;
|
|
263727
263793
|
if (options.reconcileRemovals) {
|
|
263728
|
-
|
|
263729
|
-
service: "collection",
|
|
263730
|
-
method: "get",
|
|
263731
|
-
path: `/v3/collections/${cid}`
|
|
263732
|
-
});
|
|
263733
|
-
current = asRecord8(got?.data);
|
|
263794
|
+
current = await this.getCollectionRoot(cid);
|
|
263734
263795
|
}
|
|
263735
263796
|
const hasDescription = typeof v3.description === "string" && v3.description.length > 0;
|
|
263736
263797
|
if (hasDescription) {
|
|
@@ -263769,6 +263830,9 @@ ${error.responseBody ?? ""}`
|
|
|
263769
263830
|
if (isMissingPatchValueError(error) && ops.some((op) => op.op === "remove") && await this.verifyRootSettingsApplied(cid, ops)) {
|
|
263770
263831
|
return;
|
|
263771
263832
|
}
|
|
263833
|
+
if (isRejectedPatchError(error) && await this.verifyRootSettingsApplied(cid, ops)) {
|
|
263834
|
+
return;
|
|
263835
|
+
}
|
|
263772
263836
|
throw error;
|
|
263773
263837
|
}
|
|
263774
263838
|
}
|
|
@@ -263892,7 +263956,9 @@ ${error.responseBody ?? ""}`
|
|
|
263892
263956
|
}
|
|
263893
263957
|
/** Patch only the durable collection description without reconciling its item tree. */
|
|
263894
263958
|
async updateCollectionDescription(collectionUid, description) {
|
|
263895
|
-
|
|
263959
|
+
const cid = this.bareModelId(collectionUid);
|
|
263960
|
+
await this.getCollectionRoot(cid);
|
|
263961
|
+
await this.applyCollectionLevelSettings(cid, { description });
|
|
263896
263962
|
}
|
|
263897
263963
|
/**
|
|
263898
263964
|
* Full-replace reconcile of a curated local v2.1.0 or collection v3 payload: delete every
|
|
@@ -263975,6 +264041,7 @@ function detectInnerError(body2) {
|
|
|
263975
264041
|
return typeof innerStatus === "number" && innerStatus >= 400 ? innerStatus : 502;
|
|
263976
264042
|
}
|
|
263977
264043
|
function isTransientGatewayError(status, body2) {
|
|
264044
|
+
if (status === 429) return true;
|
|
263978
264045
|
if (status === 502 || status === 503 || status === 504) return true;
|
|
263979
264046
|
if (status >= 500 && (body2.includes("ESOCKETTIMEDOUT") || body2.includes("ETIMEDOUT") || body2.includes("ECONNRESET") || body2.includes("serverError") || body2.includes("downstream"))) {
|
|
263980
264047
|
return true;
|
|
@@ -263993,8 +264060,10 @@ var AccessTokenGatewayClient = class {
|
|
|
263993
264060
|
secretMasker;
|
|
263994
264061
|
maxRetries;
|
|
263995
264062
|
retryBaseDelayMs;
|
|
264063
|
+
retryMaxDelayMs;
|
|
263996
264064
|
requestTimeoutMs;
|
|
263997
264065
|
sleepImpl;
|
|
264066
|
+
randomImpl;
|
|
263998
264067
|
constructor(options) {
|
|
263999
264068
|
this.tokenProvider = options.tokenProvider;
|
|
264000
264069
|
this.bifrostBaseUrl = String(
|
|
@@ -264006,8 +264075,10 @@ var AccessTokenGatewayClient = class {
|
|
|
264006
264075
|
this.secretMasker = options.secretMasker ?? createSecretMasker([this.tokenProvider.current()]);
|
|
264007
264076
|
this.maxRetries = options.maxRetries ?? 3;
|
|
264008
264077
|
this.retryBaseDelayMs = options.retryBaseDelayMs ?? 400;
|
|
264078
|
+
this.retryMaxDelayMs = options.retryMaxDelayMs ?? 5e3;
|
|
264009
264079
|
this.requestTimeoutMs = options.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;
|
|
264010
264080
|
this.sleepImpl = options.sleepImpl ?? defaultSleep;
|
|
264081
|
+
this.randomImpl = options.randomImpl ?? Math.random;
|
|
264011
264082
|
}
|
|
264012
264083
|
configureTeamContext(teamId, orgMode) {
|
|
264013
264084
|
this.teamId = String(teamId || "").trim();
|
|
@@ -264067,7 +264138,7 @@ var AccessTokenGatewayClient = class {
|
|
|
264067
264138
|
response = await this.send(request);
|
|
264068
264139
|
} catch (error) {
|
|
264069
264140
|
if (retryMode === "safe" && attempt < this.maxRetries) {
|
|
264070
|
-
const delay = this.
|
|
264141
|
+
const delay = this.retryDelayMs(attempt);
|
|
264071
264142
|
attempt += 1;
|
|
264072
264143
|
await this.sleepImpl(delay);
|
|
264073
264144
|
continue;
|
|
@@ -264079,7 +264150,7 @@ var AccessTokenGatewayClient = class {
|
|
|
264079
264150
|
const innerStatus = detectInnerError(okBody);
|
|
264080
264151
|
if (innerStatus !== null) {
|
|
264081
264152
|
if (retryMode === "safe" && isTransientGatewayError(innerStatus, okBody) && attempt < this.maxRetries) {
|
|
264082
|
-
const delay = this.
|
|
264153
|
+
const delay = this.retryDelayMs(attempt);
|
|
264083
264154
|
attempt += 1;
|
|
264084
264155
|
await this.sleepImpl(delay);
|
|
264085
264156
|
continue;
|
|
@@ -264104,7 +264175,10 @@ var AccessTokenGatewayClient = class {
|
|
|
264104
264175
|
throw this.toHttpError(request, response, retryBody);
|
|
264105
264176
|
}
|
|
264106
264177
|
if (retryMode === "safe" && isTransientGatewayError(response.status, body2) && attempt < this.maxRetries) {
|
|
264107
|
-
const delay = this.
|
|
264178
|
+
const delay = this.retryDelayMs(
|
|
264179
|
+
attempt,
|
|
264180
|
+
parseRetryAfterMs2(response.headers.get("retry-after"))
|
|
264181
|
+
);
|
|
264108
264182
|
attempt += 1;
|
|
264109
264183
|
await this.sleepImpl(delay);
|
|
264110
264184
|
continue;
|
|
@@ -264112,6 +264186,18 @@ var AccessTokenGatewayClient = class {
|
|
|
264112
264186
|
throw this.toHttpError(request, response, body2);
|
|
264113
264187
|
}
|
|
264114
264188
|
}
|
|
264189
|
+
/**
|
|
264190
|
+
* Full-jitter backoff (uniform in [0, min(cap, base * 2^attempt))) so
|
|
264191
|
+
* concurrent CI runners that fail together never retry in lockstep against
|
|
264192
|
+
* the shared gateway. A server-sent Retry-After beats the heuristic: it is
|
|
264193
|
+
* authoritative backpressure, honored verbatim (capped by the ceiling).
|
|
264194
|
+
*/
|
|
264195
|
+
retryDelayMs(attempt, retryAfterMs) {
|
|
264196
|
+
if (retryAfterMs !== void 0) {
|
|
264197
|
+
return Math.min(this.retryMaxDelayMs, retryAfterMs);
|
|
264198
|
+
}
|
|
264199
|
+
return fullJitterDelayMs(attempt, this.retryBaseDelayMs, this.retryMaxDelayMs, this.randomImpl);
|
|
264200
|
+
}
|
|
264115
264201
|
/**
|
|
264116
264202
|
* The success path reads the body to inspect for an inner error, which
|
|
264117
264203
|
* consumes the stream. Hand callers a fresh Response over the buffered text so
|
|
@@ -264849,6 +264935,9 @@ function createTelemetryContext(options) {
|
|
|
264849
264935
|
var import_node_fs3 = require("node:fs");
|
|
264850
264936
|
var import_node_path3 = require("node:path");
|
|
264851
264937
|
function resolveActionVersion2() {
|
|
264938
|
+
if (false) {
|
|
264939
|
+
return void 0;
|
|
264940
|
+
}
|
|
264852
264941
|
try {
|
|
264853
264942
|
const raw = (0, import_node_fs3.readFileSync)((0, import_node_path3.join)(__dirname, "..", "package.json"), "utf8");
|
|
264854
264943
|
return JSON.parse(raw).version ?? "unknown";
|
|
@@ -297648,940 +297737,6 @@ function getPositionFromMatch(match) {
|
|
|
297648
297737
|
}
|
|
297649
297738
|
|
|
297650
297739
|
// node_modules/@nodable/entities/src/entities.js
|
|
297651
|
-
var BASIC_LATIN = {
|
|
297652
|
-
amp: "&",
|
|
297653
|
-
AMP: "&",
|
|
297654
|
-
lt: "<",
|
|
297655
|
-
LT: "<",
|
|
297656
|
-
gt: ">",
|
|
297657
|
-
GT: ">",
|
|
297658
|
-
quot: '"',
|
|
297659
|
-
QUOT: '"',
|
|
297660
|
-
apos: "'",
|
|
297661
|
-
lsquo: "\u2018",
|
|
297662
|
-
rsquo: "\u2019",
|
|
297663
|
-
ldquo: "\u201C",
|
|
297664
|
-
rdquo: "\u201D",
|
|
297665
|
-
lsquor: "\u201A",
|
|
297666
|
-
rsquor: "\u2019",
|
|
297667
|
-
ldquor: "\u201E",
|
|
297668
|
-
bdquo: "\u201E",
|
|
297669
|
-
comma: ",",
|
|
297670
|
-
period: ".",
|
|
297671
|
-
colon: ":",
|
|
297672
|
-
semi: ";",
|
|
297673
|
-
excl: "!",
|
|
297674
|
-
quest: "?",
|
|
297675
|
-
num: "#",
|
|
297676
|
-
dollar: "$",
|
|
297677
|
-
percent: "%",
|
|
297678
|
-
ast: "*",
|
|
297679
|
-
commat: "@",
|
|
297680
|
-
lowbar: "_",
|
|
297681
|
-
verbar: "|",
|
|
297682
|
-
vert: "|",
|
|
297683
|
-
sol: "/",
|
|
297684
|
-
bsol: "\\",
|
|
297685
|
-
lbrace: "{",
|
|
297686
|
-
rbrace: "}",
|
|
297687
|
-
lbrack: "[",
|
|
297688
|
-
rbrack: "]",
|
|
297689
|
-
lpar: "(",
|
|
297690
|
-
rpar: ")",
|
|
297691
|
-
nbsp: "\xA0",
|
|
297692
|
-
iexcl: "\xA1",
|
|
297693
|
-
cent: "\xA2",
|
|
297694
|
-
pound: "\xA3",
|
|
297695
|
-
curren: "\xA4",
|
|
297696
|
-
yen: "\xA5",
|
|
297697
|
-
brvbar: "\xA6",
|
|
297698
|
-
sect: "\xA7",
|
|
297699
|
-
uml: "\xA8",
|
|
297700
|
-
copy: "\xA9",
|
|
297701
|
-
COPY: "\xA9",
|
|
297702
|
-
ordf: "\xAA",
|
|
297703
|
-
laquo: "\xAB",
|
|
297704
|
-
not: "\xAC",
|
|
297705
|
-
shy: "\xAD",
|
|
297706
|
-
reg: "\xAE",
|
|
297707
|
-
REG: "\xAE",
|
|
297708
|
-
macr: "\xAF",
|
|
297709
|
-
deg: "\xB0",
|
|
297710
|
-
plusmn: "\xB1",
|
|
297711
|
-
sup2: "\xB2",
|
|
297712
|
-
sup3: "\xB3",
|
|
297713
|
-
acute: "\xB4",
|
|
297714
|
-
micro: "\xB5",
|
|
297715
|
-
para: "\xB6",
|
|
297716
|
-
middot: "\xB7",
|
|
297717
|
-
cedil: "\xB8",
|
|
297718
|
-
sup1: "\xB9",
|
|
297719
|
-
ordm: "\xBA",
|
|
297720
|
-
raquo: "\xBB",
|
|
297721
|
-
frac14: "\xBC",
|
|
297722
|
-
frac12: "\xBD",
|
|
297723
|
-
half: "\xBD",
|
|
297724
|
-
frac34: "\xBE",
|
|
297725
|
-
iquest: "\xBF",
|
|
297726
|
-
times: "\xD7",
|
|
297727
|
-
div: "\xF7",
|
|
297728
|
-
divide: "\xF7"
|
|
297729
|
-
};
|
|
297730
|
-
var LATIN_ACCENTS = {
|
|
297731
|
-
Agrave: "\xC0",
|
|
297732
|
-
agrave: "\xE0",
|
|
297733
|
-
Aacute: "\xC1",
|
|
297734
|
-
aacute: "\xE1",
|
|
297735
|
-
Acirc: "\xC2",
|
|
297736
|
-
acirc: "\xE2",
|
|
297737
|
-
Atilde: "\xC3",
|
|
297738
|
-
atilde: "\xE3",
|
|
297739
|
-
Auml: "\xC4",
|
|
297740
|
-
auml: "\xE4",
|
|
297741
|
-
Aring: "\xC5",
|
|
297742
|
-
aring: "\xE5",
|
|
297743
|
-
AElig: "\xC6",
|
|
297744
|
-
aelig: "\xE6",
|
|
297745
|
-
Ccedil: "\xC7",
|
|
297746
|
-
ccedil: "\xE7",
|
|
297747
|
-
Egrave: "\xC8",
|
|
297748
|
-
egrave: "\xE8",
|
|
297749
|
-
Eacute: "\xC9",
|
|
297750
|
-
eacute: "\xE9",
|
|
297751
|
-
Ecirc: "\xCA",
|
|
297752
|
-
ecirc: "\xEA",
|
|
297753
|
-
Euml: "\xCB",
|
|
297754
|
-
euml: "\xEB",
|
|
297755
|
-
Igrave: "\xCC",
|
|
297756
|
-
igrave: "\xEC",
|
|
297757
|
-
Iacute: "\xCD",
|
|
297758
|
-
iacute: "\xED",
|
|
297759
|
-
Icirc: "\xCE",
|
|
297760
|
-
icirc: "\xEE",
|
|
297761
|
-
Iuml: "\xCF",
|
|
297762
|
-
iuml: "\xEF",
|
|
297763
|
-
ETH: "\xD0",
|
|
297764
|
-
eth: "\xF0",
|
|
297765
|
-
Ntilde: "\xD1",
|
|
297766
|
-
ntilde: "\xF1",
|
|
297767
|
-
Ograve: "\xD2",
|
|
297768
|
-
ograve: "\xF2",
|
|
297769
|
-
Oacute: "\xD3",
|
|
297770
|
-
oacute: "\xF3",
|
|
297771
|
-
Ocirc: "\xD4",
|
|
297772
|
-
ocirc: "\xF4",
|
|
297773
|
-
Otilde: "\xD5",
|
|
297774
|
-
otilde: "\xF5",
|
|
297775
|
-
Ouml: "\xD6",
|
|
297776
|
-
ouml: "\xF6",
|
|
297777
|
-
Oslash: "\xD8",
|
|
297778
|
-
oslash: "\xF8",
|
|
297779
|
-
Ugrave: "\xD9",
|
|
297780
|
-
ugrave: "\xF9",
|
|
297781
|
-
Uacute: "\xDA",
|
|
297782
|
-
uacute: "\xFA",
|
|
297783
|
-
Ucirc: "\xDB",
|
|
297784
|
-
ucirc: "\xFB",
|
|
297785
|
-
Uuml: "\xDC",
|
|
297786
|
-
uuml: "\xFC",
|
|
297787
|
-
Yacute: "\xDD",
|
|
297788
|
-
yacute: "\xFD",
|
|
297789
|
-
THORN: "\xDE",
|
|
297790
|
-
thorn: "\xFE",
|
|
297791
|
-
szlig: "\xDF",
|
|
297792
|
-
yuml: "\xFF",
|
|
297793
|
-
Yuml: "\u0178"
|
|
297794
|
-
};
|
|
297795
|
-
var LATIN_EXTENDED = {
|
|
297796
|
-
Amacr: "\u0100",
|
|
297797
|
-
amacr: "\u0101",
|
|
297798
|
-
Abreve: "\u0102",
|
|
297799
|
-
abreve: "\u0103",
|
|
297800
|
-
Aogon: "\u0104",
|
|
297801
|
-
aogon: "\u0105",
|
|
297802
|
-
Cacute: "\u0106",
|
|
297803
|
-
cacute: "\u0107",
|
|
297804
|
-
Ccirc: "\u0108",
|
|
297805
|
-
ccirc: "\u0109",
|
|
297806
|
-
Cdot: "\u010A",
|
|
297807
|
-
cdot: "\u010B",
|
|
297808
|
-
Ccaron: "\u010C",
|
|
297809
|
-
ccaron: "\u010D",
|
|
297810
|
-
Dcaron: "\u010E",
|
|
297811
|
-
dcaron: "\u010F",
|
|
297812
|
-
Dstrok: "\u0110",
|
|
297813
|
-
dstrok: "\u0111",
|
|
297814
|
-
Emacr: "\u0112",
|
|
297815
|
-
emacr: "\u0113",
|
|
297816
|
-
Ecaron: "\u011A",
|
|
297817
|
-
ecaron: "\u011B",
|
|
297818
|
-
Edot: "\u0116",
|
|
297819
|
-
edot: "\u0117",
|
|
297820
|
-
Eogon: "\u0118",
|
|
297821
|
-
eogon: "\u0119",
|
|
297822
|
-
Gcirc: "\u011C",
|
|
297823
|
-
gcirc: "\u011D",
|
|
297824
|
-
Gbreve: "\u011E",
|
|
297825
|
-
gbreve: "\u011F",
|
|
297826
|
-
Gdot: "\u0120",
|
|
297827
|
-
gdot: "\u0121",
|
|
297828
|
-
Gcedil: "\u0122",
|
|
297829
|
-
Hcirc: "\u0124",
|
|
297830
|
-
hcirc: "\u0125",
|
|
297831
|
-
Hstrok: "\u0126",
|
|
297832
|
-
hstrok: "\u0127",
|
|
297833
|
-
Itilde: "\u0128",
|
|
297834
|
-
itilde: "\u0129",
|
|
297835
|
-
Imacr: "\u012A",
|
|
297836
|
-
imacr: "\u012B",
|
|
297837
|
-
Iogon: "\u012E",
|
|
297838
|
-
iogon: "\u012F",
|
|
297839
|
-
Idot: "\u0130",
|
|
297840
|
-
IJlig: "\u0132",
|
|
297841
|
-
ijlig: "\u0133",
|
|
297842
|
-
Jcirc: "\u0134",
|
|
297843
|
-
jcirc: "\u0135",
|
|
297844
|
-
Kcedil: "\u0136",
|
|
297845
|
-
kcedil: "\u0137",
|
|
297846
|
-
kgreen: "\u0138",
|
|
297847
|
-
Lacute: "\u0139",
|
|
297848
|
-
lacute: "\u013A",
|
|
297849
|
-
Lcedil: "\u013B",
|
|
297850
|
-
lcedil: "\u013C",
|
|
297851
|
-
Lcaron: "\u013D",
|
|
297852
|
-
lcaron: "\u013E",
|
|
297853
|
-
Lmidot: "\u013F",
|
|
297854
|
-
lmidot: "\u0140",
|
|
297855
|
-
Lstrok: "\u0141",
|
|
297856
|
-
lstrok: "\u0142",
|
|
297857
|
-
Nacute: "\u0143",
|
|
297858
|
-
nacute: "\u0144",
|
|
297859
|
-
Ncaron: "\u0147",
|
|
297860
|
-
ncaron: "\u0148",
|
|
297861
|
-
Ncedil: "\u0145",
|
|
297862
|
-
ncedil: "\u0146",
|
|
297863
|
-
ENG: "\u014A",
|
|
297864
|
-
eng: "\u014B",
|
|
297865
|
-
Omacr: "\u014C",
|
|
297866
|
-
omacr: "\u014D",
|
|
297867
|
-
Odblac: "\u0150",
|
|
297868
|
-
odblac: "\u0151",
|
|
297869
|
-
OElig: "\u0152",
|
|
297870
|
-
oelig: "\u0153",
|
|
297871
|
-
Racute: "\u0154",
|
|
297872
|
-
racute: "\u0155",
|
|
297873
|
-
Rcaron: "\u0158",
|
|
297874
|
-
rcaron: "\u0159",
|
|
297875
|
-
Rcedil: "\u0156",
|
|
297876
|
-
rcedil: "\u0157",
|
|
297877
|
-
Sacute: "\u015A",
|
|
297878
|
-
sacute: "\u015B",
|
|
297879
|
-
Scirc: "\u015C",
|
|
297880
|
-
scirc: "\u015D",
|
|
297881
|
-
Scedil: "\u015E",
|
|
297882
|
-
scedil: "\u015F",
|
|
297883
|
-
Scaron: "\u0160",
|
|
297884
|
-
scaron: "\u0161",
|
|
297885
|
-
Tcedil: "\u0162",
|
|
297886
|
-
tcedil: "\u0163",
|
|
297887
|
-
Tcaron: "\u0164",
|
|
297888
|
-
tcaron: "\u0165",
|
|
297889
|
-
Tstrok: "\u0166",
|
|
297890
|
-
tstrok: "\u0167",
|
|
297891
|
-
Utilde: "\u0168",
|
|
297892
|
-
utilde: "\u0169",
|
|
297893
|
-
Umacr: "\u016A",
|
|
297894
|
-
umacr: "\u016B",
|
|
297895
|
-
Ubreve: "\u016C",
|
|
297896
|
-
ubreve: "\u016D",
|
|
297897
|
-
Uring: "\u016E",
|
|
297898
|
-
uring: "\u016F",
|
|
297899
|
-
Udblac: "\u0170",
|
|
297900
|
-
udblac: "\u0171",
|
|
297901
|
-
Uogon: "\u0172",
|
|
297902
|
-
uogon: "\u0173",
|
|
297903
|
-
Wcirc: "\u0174",
|
|
297904
|
-
wcirc: "\u0175",
|
|
297905
|
-
Ycirc: "\u0176",
|
|
297906
|
-
ycirc: "\u0177",
|
|
297907
|
-
Zacute: "\u0179",
|
|
297908
|
-
zacute: "\u017A",
|
|
297909
|
-
Zdot: "\u017B",
|
|
297910
|
-
zdot: "\u017C",
|
|
297911
|
-
Zcaron: "\u017D",
|
|
297912
|
-
zcaron: "\u017E"
|
|
297913
|
-
};
|
|
297914
|
-
var GREEK = {
|
|
297915
|
-
Alpha: "\u0391",
|
|
297916
|
-
alpha: "\u03B1",
|
|
297917
|
-
Beta: "\u0392",
|
|
297918
|
-
beta: "\u03B2",
|
|
297919
|
-
Gamma: "\u0393",
|
|
297920
|
-
gamma: "\u03B3",
|
|
297921
|
-
Delta: "\u0394",
|
|
297922
|
-
delta: "\u03B4",
|
|
297923
|
-
Epsilon: "\u0395",
|
|
297924
|
-
epsilon: "\u03B5",
|
|
297925
|
-
epsiv: "\u03F5",
|
|
297926
|
-
varepsilon: "\u03F5",
|
|
297927
|
-
Zeta: "\u0396",
|
|
297928
|
-
zeta: "\u03B6",
|
|
297929
|
-
Eta: "\u0397",
|
|
297930
|
-
eta: "\u03B7",
|
|
297931
|
-
Theta: "\u0398",
|
|
297932
|
-
theta: "\u03B8",
|
|
297933
|
-
thetasym: "\u03D1",
|
|
297934
|
-
vartheta: "\u03D1",
|
|
297935
|
-
Iota: "\u0399",
|
|
297936
|
-
iota: "\u03B9",
|
|
297937
|
-
Kappa: "\u039A",
|
|
297938
|
-
kappa: "\u03BA",
|
|
297939
|
-
kappav: "\u03F0",
|
|
297940
|
-
varkappa: "\u03F0",
|
|
297941
|
-
Lambda: "\u039B",
|
|
297942
|
-
lambda: "\u03BB",
|
|
297943
|
-
Mu: "\u039C",
|
|
297944
|
-
mu: "\u03BC",
|
|
297945
|
-
Nu: "\u039D",
|
|
297946
|
-
nu: "\u03BD",
|
|
297947
|
-
Xi: "\u039E",
|
|
297948
|
-
xi: "\u03BE",
|
|
297949
|
-
Omicron: "\u039F",
|
|
297950
|
-
omicron: "\u03BF",
|
|
297951
|
-
Pi: "\u03A0",
|
|
297952
|
-
pi: "\u03C0",
|
|
297953
|
-
piv: "\u03D6",
|
|
297954
|
-
varpi: "\u03D6",
|
|
297955
|
-
Rho: "\u03A1",
|
|
297956
|
-
rho: "\u03C1",
|
|
297957
|
-
rhov: "\u03F1",
|
|
297958
|
-
varrho: "\u03F1",
|
|
297959
|
-
Sigma: "\u03A3",
|
|
297960
|
-
sigma: "\u03C3",
|
|
297961
|
-
sigmaf: "\u03C2",
|
|
297962
|
-
sigmav: "\u03C2",
|
|
297963
|
-
varsigma: "\u03C2",
|
|
297964
|
-
Tau: "\u03A4",
|
|
297965
|
-
tau: "\u03C4",
|
|
297966
|
-
Upsilon: "\u03A5",
|
|
297967
|
-
upsilon: "\u03C5",
|
|
297968
|
-
upsi: "\u03C5",
|
|
297969
|
-
Upsi: "\u03D2",
|
|
297970
|
-
upsih: "\u03D2",
|
|
297971
|
-
Phi: "\u03A6",
|
|
297972
|
-
phi: "\u03C6",
|
|
297973
|
-
phiv: "\u03D5",
|
|
297974
|
-
varphi: "\u03D5",
|
|
297975
|
-
Chi: "\u03A7",
|
|
297976
|
-
chi: "\u03C7",
|
|
297977
|
-
Psi: "\u03A8",
|
|
297978
|
-
psi: "\u03C8",
|
|
297979
|
-
Omega: "\u03A9",
|
|
297980
|
-
omega: "\u03C9",
|
|
297981
|
-
ohm: "\u03A9",
|
|
297982
|
-
Gammad: "\u03DC",
|
|
297983
|
-
gammad: "\u03DD",
|
|
297984
|
-
digamma: "\u03DD"
|
|
297985
|
-
};
|
|
297986
|
-
var CYRILLIC = {
|
|
297987
|
-
Afr: "\u{1D504}",
|
|
297988
|
-
afr: "\u{1D51E}",
|
|
297989
|
-
Acy: "\u0410",
|
|
297990
|
-
acy: "\u0430",
|
|
297991
|
-
Bcy: "\u0411",
|
|
297992
|
-
bcy: "\u0431",
|
|
297993
|
-
Vcy: "\u0412",
|
|
297994
|
-
vcy: "\u0432",
|
|
297995
|
-
Gcy: "\u0413",
|
|
297996
|
-
gcy: "\u0433",
|
|
297997
|
-
Dcy: "\u0414",
|
|
297998
|
-
dcy: "\u0434",
|
|
297999
|
-
IEcy: "\u0415",
|
|
298000
|
-
iecy: "\u0435",
|
|
298001
|
-
IOcy: "\u0401",
|
|
298002
|
-
iocy: "\u0451",
|
|
298003
|
-
ZHcy: "\u0416",
|
|
298004
|
-
zhcy: "\u0436",
|
|
298005
|
-
Zcy: "\u0417",
|
|
298006
|
-
zcy: "\u0437",
|
|
298007
|
-
Icy: "\u0418",
|
|
298008
|
-
icy: "\u0438",
|
|
298009
|
-
Jcy: "\u0419",
|
|
298010
|
-
jcy: "\u0439",
|
|
298011
|
-
Kcy: "\u041A",
|
|
298012
|
-
kcy: "\u043A",
|
|
298013
|
-
Lcy: "\u041B",
|
|
298014
|
-
lcy: "\u043B",
|
|
298015
|
-
Mcy: "\u041C",
|
|
298016
|
-
mcy: "\u043C",
|
|
298017
|
-
Ncy: "\u041D",
|
|
298018
|
-
ncy: "\u043D",
|
|
298019
|
-
Ocy: "\u041E",
|
|
298020
|
-
ocy: "\u043E",
|
|
298021
|
-
Pcy: "\u041F",
|
|
298022
|
-
pcy: "\u043F",
|
|
298023
|
-
Rcy: "\u0420",
|
|
298024
|
-
rcy: "\u0440",
|
|
298025
|
-
Scy: "\u0421",
|
|
298026
|
-
scy: "\u0441",
|
|
298027
|
-
Tcy: "\u0422",
|
|
298028
|
-
tcy: "\u0442",
|
|
298029
|
-
Ucy: "\u0423",
|
|
298030
|
-
ucy: "\u0443",
|
|
298031
|
-
Fcy: "\u0424",
|
|
298032
|
-
fcy: "\u0444",
|
|
298033
|
-
KHcy: "\u0425",
|
|
298034
|
-
khcy: "\u0445",
|
|
298035
|
-
TScy: "\u0426",
|
|
298036
|
-
tscy: "\u0446",
|
|
298037
|
-
CHcy: "\u0427",
|
|
298038
|
-
chcy: "\u0447",
|
|
298039
|
-
SHcy: "\u0428",
|
|
298040
|
-
shcy: "\u0448",
|
|
298041
|
-
SHCHcy: "\u0429",
|
|
298042
|
-
shchcy: "\u0449",
|
|
298043
|
-
HARDcy: "\u042A",
|
|
298044
|
-
hardcy: "\u044A",
|
|
298045
|
-
Ycy: "\u042B",
|
|
298046
|
-
ycy: "\u044B",
|
|
298047
|
-
SOFTcy: "\u042C",
|
|
298048
|
-
softcy: "\u044C",
|
|
298049
|
-
Ecy: "\u042D",
|
|
298050
|
-
ecy: "\u044D",
|
|
298051
|
-
YUcy: "\u042E",
|
|
298052
|
-
yucy: "\u044E",
|
|
298053
|
-
YAcy: "\u042F",
|
|
298054
|
-
yacy: "\u044F",
|
|
298055
|
-
DJcy: "\u0402",
|
|
298056
|
-
djcy: "\u0452",
|
|
298057
|
-
GJcy: "\u0403",
|
|
298058
|
-
gjcy: "\u0453",
|
|
298059
|
-
Jukcy: "\u0404",
|
|
298060
|
-
jukcy: "\u0454",
|
|
298061
|
-
DScy: "\u0405",
|
|
298062
|
-
dscy: "\u0455",
|
|
298063
|
-
Iukcy: "\u0406",
|
|
298064
|
-
iukcy: "\u0456",
|
|
298065
|
-
YIcy: "\u0407",
|
|
298066
|
-
yicy: "\u0457",
|
|
298067
|
-
Jsercy: "\u0408",
|
|
298068
|
-
jsercy: "\u0458",
|
|
298069
|
-
LJcy: "\u0409",
|
|
298070
|
-
ljcy: "\u0459",
|
|
298071
|
-
NJcy: "\u040A",
|
|
298072
|
-
njcy: "\u045A",
|
|
298073
|
-
TSHcy: "\u040B",
|
|
298074
|
-
tshcy: "\u045B",
|
|
298075
|
-
KJcy: "\u040C",
|
|
298076
|
-
kjcy: "\u045C",
|
|
298077
|
-
Ubrcy: "\u040E",
|
|
298078
|
-
ubrcy: "\u045E",
|
|
298079
|
-
DZcy: "\u040F",
|
|
298080
|
-
dzcy: "\u045F"
|
|
298081
|
-
};
|
|
298082
|
-
var MATH = {
|
|
298083
|
-
plus: "+",
|
|
298084
|
-
pm: "\xB1",
|
|
298085
|
-
times: "\xD7",
|
|
298086
|
-
div: "\xF7",
|
|
298087
|
-
divide: "\xF7",
|
|
298088
|
-
sdot: "\u22C5",
|
|
298089
|
-
star: "\u2606",
|
|
298090
|
-
starf: "\u2605",
|
|
298091
|
-
bigstar: "\u2605",
|
|
298092
|
-
lowast: "\u2217",
|
|
298093
|
-
ast: "*",
|
|
298094
|
-
midast: "*",
|
|
298095
|
-
compfn: "\u2218",
|
|
298096
|
-
smallcircle: "\u2218",
|
|
298097
|
-
bullet: "\u2022",
|
|
298098
|
-
bull: "\u2022",
|
|
298099
|
-
nbsp: "\xA0",
|
|
298100
|
-
hellip: "\u2026",
|
|
298101
|
-
mldr: "\u2026",
|
|
298102
|
-
prime: "\u2032",
|
|
298103
|
-
Prime: "\u2033",
|
|
298104
|
-
tprime: "\u2034",
|
|
298105
|
-
bprime: "\u2035",
|
|
298106
|
-
backprime: "\u2035",
|
|
298107
|
-
minus: "\u2212",
|
|
298108
|
-
minusd: "\u2238",
|
|
298109
|
-
dotminus: "\u2238",
|
|
298110
|
-
plusdo: "\u2214",
|
|
298111
|
-
dotplus: "\u2214",
|
|
298112
|
-
plusmn: "\xB1",
|
|
298113
|
-
minusplus: "\u2213",
|
|
298114
|
-
mnplus: "\u2213",
|
|
298115
|
-
mp: "\u2213",
|
|
298116
|
-
setminus: "\u2216",
|
|
298117
|
-
smallsetminus: "\u2216",
|
|
298118
|
-
Backslash: "\u2216",
|
|
298119
|
-
setmn: "\u2216",
|
|
298120
|
-
ssetmn: "\u2216",
|
|
298121
|
-
lowbar: "_",
|
|
298122
|
-
verbar: "|",
|
|
298123
|
-
vert: "|",
|
|
298124
|
-
VerticalLine: "|",
|
|
298125
|
-
colon: ":",
|
|
298126
|
-
Colon: "\u2237",
|
|
298127
|
-
Proportion: "\u2237",
|
|
298128
|
-
ratio: "\u2236",
|
|
298129
|
-
equals: "=",
|
|
298130
|
-
ne: "\u2260",
|
|
298131
|
-
nequiv: "\u2262",
|
|
298132
|
-
equiv: "\u2261",
|
|
298133
|
-
Congruent: "\u2261",
|
|
298134
|
-
sim: "\u223C",
|
|
298135
|
-
thicksim: "\u223C",
|
|
298136
|
-
thksim: "\u223C",
|
|
298137
|
-
sime: "\u2243",
|
|
298138
|
-
simeq: "\u2243",
|
|
298139
|
-
TildeEqual: "\u2243",
|
|
298140
|
-
asymp: "\u2248",
|
|
298141
|
-
approx: "\u2248",
|
|
298142
|
-
thickapprox: "\u2248",
|
|
298143
|
-
thkap: "\u2248",
|
|
298144
|
-
TildeTilde: "\u2248",
|
|
298145
|
-
ncong: "\u2247",
|
|
298146
|
-
cong: "\u2245",
|
|
298147
|
-
TildeFullEqual: "\u2245",
|
|
298148
|
-
asympeq: "\u224D",
|
|
298149
|
-
CupCap: "\u224D",
|
|
298150
|
-
bump: "\u224E",
|
|
298151
|
-
Bumpeq: "\u224E",
|
|
298152
|
-
HumpDownHump: "\u224E",
|
|
298153
|
-
bumpe: "\u224F",
|
|
298154
|
-
bumpeq: "\u224F",
|
|
298155
|
-
HumpEqual: "\u224F",
|
|
298156
|
-
le: "\u2264",
|
|
298157
|
-
LessEqual: "\u2264",
|
|
298158
|
-
ge: "\u2265",
|
|
298159
|
-
GreaterEqual: "\u2265",
|
|
298160
|
-
lesseqgtr: "\u22DA",
|
|
298161
|
-
lesseqqgtr: "\u2A8B",
|
|
298162
|
-
greater: ">",
|
|
298163
|
-
less: "<"
|
|
298164
|
-
};
|
|
298165
|
-
var MATH_ADVANCED = {
|
|
298166
|
-
alefsym: "\u2135",
|
|
298167
|
-
aleph: "\u2135",
|
|
298168
|
-
beth: "\u2136",
|
|
298169
|
-
gimel: "\u2137",
|
|
298170
|
-
daleth: "\u2138",
|
|
298171
|
-
forall: "\u2200",
|
|
298172
|
-
ForAll: "\u2200",
|
|
298173
|
-
part: "\u2202",
|
|
298174
|
-
PartialD: "\u2202",
|
|
298175
|
-
exist: "\u2203",
|
|
298176
|
-
Exists: "\u2203",
|
|
298177
|
-
nexist: "\u2204",
|
|
298178
|
-
nexists: "\u2204",
|
|
298179
|
-
empty: "\u2205",
|
|
298180
|
-
emptyset: "\u2205",
|
|
298181
|
-
emptyv: "\u2205",
|
|
298182
|
-
varnothing: "\u2205",
|
|
298183
|
-
nabla: "\u2207",
|
|
298184
|
-
Del: "\u2207",
|
|
298185
|
-
isin: "\u2208",
|
|
298186
|
-
isinv: "\u2208",
|
|
298187
|
-
in: "\u2208",
|
|
298188
|
-
Element: "\u2208",
|
|
298189
|
-
notin: "\u2209",
|
|
298190
|
-
notinva: "\u2209",
|
|
298191
|
-
ni: "\u220B",
|
|
298192
|
-
niv: "\u220B",
|
|
298193
|
-
SuchThat: "\u220B",
|
|
298194
|
-
ReverseElement: "\u220B",
|
|
298195
|
-
notni: "\u220C",
|
|
298196
|
-
notniva: "\u220C",
|
|
298197
|
-
prod: "\u220F",
|
|
298198
|
-
Product: "\u220F",
|
|
298199
|
-
coprod: "\u2210",
|
|
298200
|
-
Coproduct: "\u2210",
|
|
298201
|
-
sum: "\u2211",
|
|
298202
|
-
Sum: "\u2211",
|
|
298203
|
-
minus: "\u2212",
|
|
298204
|
-
mp: "\u2213",
|
|
298205
|
-
plusdo: "\u2214",
|
|
298206
|
-
dotplus: "\u2214",
|
|
298207
|
-
setminus: "\u2216",
|
|
298208
|
-
lowast: "\u2217",
|
|
298209
|
-
radic: "\u221A",
|
|
298210
|
-
Sqrt: "\u221A",
|
|
298211
|
-
prop: "\u221D",
|
|
298212
|
-
propto: "\u221D",
|
|
298213
|
-
Proportional: "\u221D",
|
|
298214
|
-
varpropto: "\u221D",
|
|
298215
|
-
infin: "\u221E",
|
|
298216
|
-
infintie: "\u29DD",
|
|
298217
|
-
ang: "\u2220",
|
|
298218
|
-
angle: "\u2220",
|
|
298219
|
-
angmsd: "\u2221",
|
|
298220
|
-
measuredangle: "\u2221",
|
|
298221
|
-
angsph: "\u2222",
|
|
298222
|
-
mid: "\u2223",
|
|
298223
|
-
VerticalBar: "\u2223",
|
|
298224
|
-
nmid: "\u2224",
|
|
298225
|
-
nsmid: "\u2224",
|
|
298226
|
-
npar: "\u2226",
|
|
298227
|
-
parallel: "\u2225",
|
|
298228
|
-
spar: "\u2225",
|
|
298229
|
-
nparallel: "\u2226",
|
|
298230
|
-
nspar: "\u2226",
|
|
298231
|
-
and: "\u2227",
|
|
298232
|
-
wedge: "\u2227",
|
|
298233
|
-
or: "\u2228",
|
|
298234
|
-
vee: "\u2228",
|
|
298235
|
-
cap: "\u2229",
|
|
298236
|
-
cup: "\u222A",
|
|
298237
|
-
int: "\u222B",
|
|
298238
|
-
Integral: "\u222B",
|
|
298239
|
-
conint: "\u222E",
|
|
298240
|
-
ContourIntegral: "\u222E",
|
|
298241
|
-
Conint: "\u222F",
|
|
298242
|
-
DoubleContourIntegral: "\u222F",
|
|
298243
|
-
Cconint: "\u2230",
|
|
298244
|
-
there4: "\u2234",
|
|
298245
|
-
therefore: "\u2234",
|
|
298246
|
-
Therefore: "\u2234",
|
|
298247
|
-
becaus: "\u2235",
|
|
298248
|
-
because: "\u2235",
|
|
298249
|
-
Because: "\u2235",
|
|
298250
|
-
ratio: "\u2236",
|
|
298251
|
-
Proportion: "\u2237",
|
|
298252
|
-
minusd: "\u2238",
|
|
298253
|
-
dotminus: "\u2238",
|
|
298254
|
-
mDDot: "\u223A",
|
|
298255
|
-
homtht: "\u223B",
|
|
298256
|
-
sim: "\u223C",
|
|
298257
|
-
bsimg: "\u223D",
|
|
298258
|
-
backsim: "\u223D",
|
|
298259
|
-
ac: "\u223E",
|
|
298260
|
-
mstpos: "\u223E",
|
|
298261
|
-
acd: "\u223F",
|
|
298262
|
-
VerticalTilde: "\u2240",
|
|
298263
|
-
wr: "\u2240",
|
|
298264
|
-
wreath: "\u2240",
|
|
298265
|
-
nsime: "\u2244",
|
|
298266
|
-
nsimeq: "\u2244",
|
|
298267
|
-
ncong: "\u2247",
|
|
298268
|
-
simne: "\u2246",
|
|
298269
|
-
ncongdot: "\u2A6D\u0338",
|
|
298270
|
-
ngsim: "\u2275",
|
|
298271
|
-
nsim: "\u2241",
|
|
298272
|
-
napprox: "\u2249",
|
|
298273
|
-
nap: "\u2249",
|
|
298274
|
-
ngeq: "\u2271",
|
|
298275
|
-
nge: "\u2271",
|
|
298276
|
-
nleq: "\u2270",
|
|
298277
|
-
nle: "\u2270",
|
|
298278
|
-
ngtr: "\u226F",
|
|
298279
|
-
ngt: "\u226F",
|
|
298280
|
-
nless: "\u226E",
|
|
298281
|
-
nlt: "\u226E",
|
|
298282
|
-
nprec: "\u2280",
|
|
298283
|
-
npr: "\u2280",
|
|
298284
|
-
nsucc: "\u2281",
|
|
298285
|
-
nsc: "\u2281"
|
|
298286
|
-
};
|
|
298287
|
-
var ARROWS = {
|
|
298288
|
-
larr: "\u2190",
|
|
298289
|
-
leftarrow: "\u2190",
|
|
298290
|
-
LeftArrow: "\u2190",
|
|
298291
|
-
uarr: "\u2191",
|
|
298292
|
-
uparrow: "\u2191",
|
|
298293
|
-
UpArrow: "\u2191",
|
|
298294
|
-
rarr: "\u2192",
|
|
298295
|
-
rightarrow: "\u2192",
|
|
298296
|
-
RightArrow: "\u2192",
|
|
298297
|
-
darr: "\u2193",
|
|
298298
|
-
downarrow: "\u2193",
|
|
298299
|
-
DownArrow: "\u2193",
|
|
298300
|
-
harr: "\u2194",
|
|
298301
|
-
leftrightarrow: "\u2194",
|
|
298302
|
-
LeftRightArrow: "\u2194",
|
|
298303
|
-
varr: "\u2195",
|
|
298304
|
-
updownarrow: "\u2195",
|
|
298305
|
-
UpDownArrow: "\u2195",
|
|
298306
|
-
nwarr: "\u2196",
|
|
298307
|
-
nwarrow: "\u2196",
|
|
298308
|
-
UpperLeftArrow: "\u2196",
|
|
298309
|
-
nearr: "\u2197",
|
|
298310
|
-
nearrow: "\u2197",
|
|
298311
|
-
UpperRightArrow: "\u2197",
|
|
298312
|
-
searr: "\u2198",
|
|
298313
|
-
searrow: "\u2198",
|
|
298314
|
-
LowerRightArrow: "\u2198",
|
|
298315
|
-
swarr: "\u2199",
|
|
298316
|
-
swarrow: "\u2199",
|
|
298317
|
-
LowerLeftArrow: "\u2199",
|
|
298318
|
-
lArr: "\u21D0",
|
|
298319
|
-
Leftarrow: "\u21D0",
|
|
298320
|
-
uArr: "\u21D1",
|
|
298321
|
-
Uparrow: "\u21D1",
|
|
298322
|
-
rArr: "\u21D2",
|
|
298323
|
-
Rightarrow: "\u21D2",
|
|
298324
|
-
dArr: "\u21D3",
|
|
298325
|
-
Downarrow: "\u21D3",
|
|
298326
|
-
hArr: "\u21D4",
|
|
298327
|
-
Leftrightarrow: "\u21D4",
|
|
298328
|
-
iff: "\u21D4",
|
|
298329
|
-
vArr: "\u21D5",
|
|
298330
|
-
Updownarrow: "\u21D5",
|
|
298331
|
-
lAarr: "\u21DA",
|
|
298332
|
-
Lleftarrow: "\u21DA",
|
|
298333
|
-
rAarr: "\u21DB",
|
|
298334
|
-
Rrightarrow: "\u21DB",
|
|
298335
|
-
lrarr: "\u21C6",
|
|
298336
|
-
leftrightarrows: "\u21C6",
|
|
298337
|
-
rlarr: "\u21C4",
|
|
298338
|
-
rightleftarrows: "\u21C4",
|
|
298339
|
-
lrhar: "\u21CB",
|
|
298340
|
-
leftrightharpoons: "\u21CB",
|
|
298341
|
-
ReverseEquilibrium: "\u21CB",
|
|
298342
|
-
rlhar: "\u21CC",
|
|
298343
|
-
rightleftharpoons: "\u21CC",
|
|
298344
|
-
Equilibrium: "\u21CC",
|
|
298345
|
-
udarr: "\u21C5",
|
|
298346
|
-
UpArrowDownArrow: "\u21C5",
|
|
298347
|
-
duarr: "\u21F5",
|
|
298348
|
-
DownArrowUpArrow: "\u21F5",
|
|
298349
|
-
llarr: "\u21C7",
|
|
298350
|
-
leftleftarrows: "\u21C7",
|
|
298351
|
-
rrarr: "\u21C9",
|
|
298352
|
-
rightrightarrows: "\u21C9",
|
|
298353
|
-
ddarr: "\u21CA",
|
|
298354
|
-
downdownarrows: "\u21CA",
|
|
298355
|
-
har: "\u21BD",
|
|
298356
|
-
lhard: "\u21BD",
|
|
298357
|
-
leftharpoondown: "\u21BD",
|
|
298358
|
-
lharu: "\u21BC",
|
|
298359
|
-
leftharpoonup: "\u21BC",
|
|
298360
|
-
rhard: "\u21C1",
|
|
298361
|
-
rightharpoondown: "\u21C1",
|
|
298362
|
-
rharu: "\u21C0",
|
|
298363
|
-
rightharpoonup: "\u21C0",
|
|
298364
|
-
lsh: "\u21B0",
|
|
298365
|
-
Lsh: "\u21B0",
|
|
298366
|
-
rsh: "\u21B1",
|
|
298367
|
-
Rsh: "\u21B1",
|
|
298368
|
-
ldsh: "\u21B2",
|
|
298369
|
-
rdsh: "\u21B3",
|
|
298370
|
-
hookleftarrow: "\u21A9",
|
|
298371
|
-
hookrightarrow: "\u21AA",
|
|
298372
|
-
mapstoleft: "\u21A4",
|
|
298373
|
-
mapstoup: "\u21A5",
|
|
298374
|
-
map: "\u21A6",
|
|
298375
|
-
mapsto: "\u21A6",
|
|
298376
|
-
mapstodown: "\u21A7",
|
|
298377
|
-
crarr: "\u21B5",
|
|
298378
|
-
nleftarrow: "\u219A",
|
|
298379
|
-
nleftrightarrow: "\u21AE",
|
|
298380
|
-
nrightarrow: "\u219B",
|
|
298381
|
-
nrarr: "\u219B",
|
|
298382
|
-
larrtl: "\u21A2",
|
|
298383
|
-
rarrtl: "\u21A3",
|
|
298384
|
-
leftarrowtail: "\u21A2",
|
|
298385
|
-
rightarrowtail: "\u21A3",
|
|
298386
|
-
twoheadleftarrow: "\u219E",
|
|
298387
|
-
twoheadrightarrow: "\u21A0",
|
|
298388
|
-
Larr: "\u219E",
|
|
298389
|
-
Rarr: "\u21A0",
|
|
298390
|
-
larrhk: "\u21A9",
|
|
298391
|
-
rarrhk: "\u21AA",
|
|
298392
|
-
larrlp: "\u21AB",
|
|
298393
|
-
looparrowleft: "\u21AB",
|
|
298394
|
-
rarrlp: "\u21AC",
|
|
298395
|
-
looparrowright: "\u21AC",
|
|
298396
|
-
harrw: "\u21AD",
|
|
298397
|
-
leftrightsquigarrow: "\u21AD",
|
|
298398
|
-
nrarrw: "\u219D\u0338",
|
|
298399
|
-
rarrw: "\u219D",
|
|
298400
|
-
rightsquigarrow: "\u219D",
|
|
298401
|
-
larrbfs: "\u291F",
|
|
298402
|
-
rarrbfs: "\u2920",
|
|
298403
|
-
nvHarr: "\u2904",
|
|
298404
|
-
nvlArr: "\u2902",
|
|
298405
|
-
nvrArr: "\u2903",
|
|
298406
|
-
larrfs: "\u291D",
|
|
298407
|
-
rarrfs: "\u291E",
|
|
298408
|
-
Map: "\u2905",
|
|
298409
|
-
larrsim: "\u2973",
|
|
298410
|
-
rarrsim: "\u2974",
|
|
298411
|
-
harrcir: "\u2948",
|
|
298412
|
-
Uarrocir: "\u2949",
|
|
298413
|
-
lurdshar: "\u294A",
|
|
298414
|
-
ldrdhar: "\u2967",
|
|
298415
|
-
ldrushar: "\u294B",
|
|
298416
|
-
rdldhar: "\u2969",
|
|
298417
|
-
lrhard: "\u296D",
|
|
298418
|
-
uharr: "\u21BE",
|
|
298419
|
-
uharl: "\u21BF",
|
|
298420
|
-
dharr: "\u21C2",
|
|
298421
|
-
dharl: "\u21C3",
|
|
298422
|
-
Uarr: "\u219F",
|
|
298423
|
-
Darr: "\u21A1",
|
|
298424
|
-
zigrarr: "\u21DD",
|
|
298425
|
-
nwArr: "\u21D6",
|
|
298426
|
-
neArr: "\u21D7",
|
|
298427
|
-
seArr: "\u21D8",
|
|
298428
|
-
swArr: "\u21D9",
|
|
298429
|
-
nharr: "\u21AE",
|
|
298430
|
-
nhArr: "\u21CE",
|
|
298431
|
-
nlarr: "\u219A",
|
|
298432
|
-
nlArr: "\u21CD",
|
|
298433
|
-
nrArr: "\u21CF",
|
|
298434
|
-
larrb: "\u21E4",
|
|
298435
|
-
LeftArrowBar: "\u21E4",
|
|
298436
|
-
rarrb: "\u21E5",
|
|
298437
|
-
RightArrowBar: "\u21E5"
|
|
298438
|
-
};
|
|
298439
|
-
var SHAPES = {
|
|
298440
|
-
square: "\u25A1",
|
|
298441
|
-
Square: "\u25A1",
|
|
298442
|
-
squ: "\u25A1",
|
|
298443
|
-
squf: "\u25AA",
|
|
298444
|
-
squarf: "\u25AA",
|
|
298445
|
-
blacksquar: "\u25AA",
|
|
298446
|
-
blacksquare: "\u25AA",
|
|
298447
|
-
FilledVerySmallSquare: "\u25AA",
|
|
298448
|
-
blk34: "\u2593",
|
|
298449
|
-
blk12: "\u2592",
|
|
298450
|
-
blk14: "\u2591",
|
|
298451
|
-
block: "\u2588",
|
|
298452
|
-
srect: "\u25AD",
|
|
298453
|
-
rect: "\u25AD",
|
|
298454
|
-
sdot: "\u22C5",
|
|
298455
|
-
sdotb: "\u22A1",
|
|
298456
|
-
dotsquare: "\u22A1",
|
|
298457
|
-
triangle: "\u25B5",
|
|
298458
|
-
tri: "\u25B5",
|
|
298459
|
-
trine: "\u25B5",
|
|
298460
|
-
utri: "\u25B5",
|
|
298461
|
-
triangledown: "\u25BF",
|
|
298462
|
-
dtri: "\u25BF",
|
|
298463
|
-
tridown: "\u25BF",
|
|
298464
|
-
triangleleft: "\u25C3",
|
|
298465
|
-
ltri: "\u25C3",
|
|
298466
|
-
triangleright: "\u25B9",
|
|
298467
|
-
rtri: "\u25B9",
|
|
298468
|
-
blacktriangle: "\u25B4",
|
|
298469
|
-
utrif: "\u25B4",
|
|
298470
|
-
blacktriangledown: "\u25BE",
|
|
298471
|
-
dtrif: "\u25BE",
|
|
298472
|
-
blacktriangleleft: "\u25C2",
|
|
298473
|
-
ltrif: "\u25C2",
|
|
298474
|
-
blacktriangleright: "\u25B8",
|
|
298475
|
-
rtrif: "\u25B8",
|
|
298476
|
-
loz: "\u25CA",
|
|
298477
|
-
lozenge: "\u25CA",
|
|
298478
|
-
blacklozenge: "\u29EB",
|
|
298479
|
-
lozf: "\u29EB",
|
|
298480
|
-
bigcirc: "\u25EF",
|
|
298481
|
-
xcirc: "\u25EF",
|
|
298482
|
-
circ: "\u02C6",
|
|
298483
|
-
Circle: "\u25CB",
|
|
298484
|
-
cir: "\u25CB",
|
|
298485
|
-
o: "\u25CB",
|
|
298486
|
-
bullet: "\u2022",
|
|
298487
|
-
bull: "\u2022",
|
|
298488
|
-
hellip: "\u2026",
|
|
298489
|
-
mldr: "\u2026",
|
|
298490
|
-
nldr: "\u2025",
|
|
298491
|
-
boxh: "\u2500",
|
|
298492
|
-
HorizontalLine: "\u2500",
|
|
298493
|
-
boxv: "\u2502",
|
|
298494
|
-
boxdr: "\u250C",
|
|
298495
|
-
boxdl: "\u2510",
|
|
298496
|
-
boxur: "\u2514",
|
|
298497
|
-
boxul: "\u2518",
|
|
298498
|
-
boxvr: "\u251C",
|
|
298499
|
-
boxvl: "\u2524",
|
|
298500
|
-
boxhd: "\u252C",
|
|
298501
|
-
boxhu: "\u2534",
|
|
298502
|
-
boxvh: "\u253C",
|
|
298503
|
-
boxH: "\u2550",
|
|
298504
|
-
boxV: "\u2551",
|
|
298505
|
-
boxdR: "\u2552",
|
|
298506
|
-
boxDr: "\u2553",
|
|
298507
|
-
boxDR: "\u2554",
|
|
298508
|
-
boxDl: "\u2555",
|
|
298509
|
-
boxdL: "\u2556",
|
|
298510
|
-
boxDL: "\u2557",
|
|
298511
|
-
boxuR: "\u2558",
|
|
298512
|
-
boxUr: "\u2559",
|
|
298513
|
-
boxUR: "\u255A",
|
|
298514
|
-
boxUl: "\u255C",
|
|
298515
|
-
boxuL: "\u255B",
|
|
298516
|
-
boxUL: "\u255D",
|
|
298517
|
-
boxvR: "\u255E",
|
|
298518
|
-
boxVr: "\u255F",
|
|
298519
|
-
boxVR: "\u2560",
|
|
298520
|
-
boxVl: "\u2562",
|
|
298521
|
-
boxvL: "\u2561",
|
|
298522
|
-
boxVL: "\u2563",
|
|
298523
|
-
boxHd: "\u2564",
|
|
298524
|
-
boxhD: "\u2565",
|
|
298525
|
-
boxHD: "\u2566",
|
|
298526
|
-
boxHu: "\u2567",
|
|
298527
|
-
boxhU: "\u2568",
|
|
298528
|
-
boxHU: "\u2569",
|
|
298529
|
-
boxvH: "\u256A",
|
|
298530
|
-
boxVh: "\u256B",
|
|
298531
|
-
boxVH: "\u256C"
|
|
298532
|
-
};
|
|
298533
|
-
var PUNCTUATION = {
|
|
298534
|
-
excl: "!",
|
|
298535
|
-
iexcl: "\xA1",
|
|
298536
|
-
brvbar: "\xA6",
|
|
298537
|
-
sect: "\xA7",
|
|
298538
|
-
uml: "\xA8",
|
|
298539
|
-
copy: "\xA9",
|
|
298540
|
-
ordf: "\xAA",
|
|
298541
|
-
laquo: "\xAB",
|
|
298542
|
-
not: "\xAC",
|
|
298543
|
-
shy: "\xAD",
|
|
298544
|
-
reg: "\xAE",
|
|
298545
|
-
macr: "\xAF",
|
|
298546
|
-
deg: "\xB0",
|
|
298547
|
-
plusmn: "\xB1",
|
|
298548
|
-
sup2: "\xB2",
|
|
298549
|
-
sup3: "\xB3",
|
|
298550
|
-
acute: "\xB4",
|
|
298551
|
-
micro: "\xB5",
|
|
298552
|
-
para: "\xB6",
|
|
298553
|
-
middot: "\xB7",
|
|
298554
|
-
cedil: "\xB8",
|
|
298555
|
-
sup1: "\xB9",
|
|
298556
|
-
ordm: "\xBA",
|
|
298557
|
-
raquo: "\xBB",
|
|
298558
|
-
frac14: "\xBC",
|
|
298559
|
-
frac12: "\xBD",
|
|
298560
|
-
frac34: "\xBE",
|
|
298561
|
-
iquest: "\xBF",
|
|
298562
|
-
nbsp: "\xA0",
|
|
298563
|
-
comma: ",",
|
|
298564
|
-
period: ".",
|
|
298565
|
-
colon: ":",
|
|
298566
|
-
semi: ";",
|
|
298567
|
-
vert: "|",
|
|
298568
|
-
Verbar: "\u2016",
|
|
298569
|
-
verbar: "|",
|
|
298570
|
-
dblac: "\u02DD",
|
|
298571
|
-
circ: "\u02C6",
|
|
298572
|
-
caron: "\u02C7",
|
|
298573
|
-
breve: "\u02D8",
|
|
298574
|
-
dot: "\u02D9",
|
|
298575
|
-
ring: "\u02DA",
|
|
298576
|
-
ogon: "\u02DB",
|
|
298577
|
-
tilde: "\u02DC",
|
|
298578
|
-
DiacriticalGrave: "`",
|
|
298579
|
-
DiacriticalAcute: "\xB4",
|
|
298580
|
-
DiacriticalTilde: "\u02DC",
|
|
298581
|
-
DiacriticalDot: "\u02D9",
|
|
298582
|
-
DiacriticalDoubleAcute: "\u02DD",
|
|
298583
|
-
grave: "`"
|
|
298584
|
-
};
|
|
298585
297740
|
var CURRENCY = {
|
|
298586
297741
|
cent: "\xA2",
|
|
298587
297742
|
pound: "\xA3",
|
|
@@ -298599,106 +297754,6 @@ var CURRENCY = {
|
|
|
298599
297754
|
yuan: "\xA5",
|
|
298600
297755
|
cedil: "\xB8"
|
|
298601
297756
|
};
|
|
298602
|
-
var FRACTIONS = {
|
|
298603
|
-
frac12: "\xBD",
|
|
298604
|
-
half: "\xBD",
|
|
298605
|
-
frac13: "\u2153",
|
|
298606
|
-
frac14: "\xBC",
|
|
298607
|
-
frac15: "\u2155",
|
|
298608
|
-
frac16: "\u2159",
|
|
298609
|
-
frac18: "\u215B",
|
|
298610
|
-
frac23: "\u2154",
|
|
298611
|
-
frac25: "\u2156",
|
|
298612
|
-
frac34: "\xBE",
|
|
298613
|
-
frac35: "\u2157",
|
|
298614
|
-
frac38: "\u215C",
|
|
298615
|
-
frac45: "\u2158",
|
|
298616
|
-
frac56: "\u215A",
|
|
298617
|
-
frac58: "\u215D",
|
|
298618
|
-
frac78: "\u215E",
|
|
298619
|
-
frasl: "\u2044"
|
|
298620
|
-
};
|
|
298621
|
-
var MISC_SYMBOLS = {
|
|
298622
|
-
trade: "\u2122",
|
|
298623
|
-
TRADE: "\u2122",
|
|
298624
|
-
telrec: "\u2315",
|
|
298625
|
-
target: "\u2316",
|
|
298626
|
-
ulcorn: "\u231C",
|
|
298627
|
-
ulcorner: "\u231C",
|
|
298628
|
-
urcorn: "\u231D",
|
|
298629
|
-
urcorner: "\u231D",
|
|
298630
|
-
dlcorn: "\u231E",
|
|
298631
|
-
llcorner: "\u231E",
|
|
298632
|
-
drcorn: "\u231F",
|
|
298633
|
-
lrcorner: "\u231F",
|
|
298634
|
-
intercal: "\u22BA",
|
|
298635
|
-
intcal: "\u22BA",
|
|
298636
|
-
oplus: "\u2295",
|
|
298637
|
-
CirclePlus: "\u2295",
|
|
298638
|
-
ominus: "\u2296",
|
|
298639
|
-
CircleMinus: "\u2296",
|
|
298640
|
-
otimes: "\u2297",
|
|
298641
|
-
CircleTimes: "\u2297",
|
|
298642
|
-
osol: "\u2298",
|
|
298643
|
-
odot: "\u2299",
|
|
298644
|
-
CircleDot: "\u2299",
|
|
298645
|
-
oast: "\u229B",
|
|
298646
|
-
circledast: "\u229B",
|
|
298647
|
-
odash: "\u229D",
|
|
298648
|
-
circleddash: "\u229D",
|
|
298649
|
-
ocirc: "\u229A",
|
|
298650
|
-
circledcirc: "\u229A",
|
|
298651
|
-
boxplus: "\u229E",
|
|
298652
|
-
plusb: "\u229E",
|
|
298653
|
-
boxminus: "\u229F",
|
|
298654
|
-
minusb: "\u229F",
|
|
298655
|
-
boxtimes: "\u22A0",
|
|
298656
|
-
timesb: "\u22A0",
|
|
298657
|
-
boxdot: "\u22A1",
|
|
298658
|
-
sdotb: "\u22A1",
|
|
298659
|
-
veebar: "\u22BB",
|
|
298660
|
-
vee: "\u2228",
|
|
298661
|
-
barvee: "\u22BD",
|
|
298662
|
-
and: "\u2227",
|
|
298663
|
-
wedge: "\u2227",
|
|
298664
|
-
Cap: "\u22D2",
|
|
298665
|
-
Cup: "\u22D3",
|
|
298666
|
-
Fork: "\u22D4",
|
|
298667
|
-
pitchfork: "\u22D4",
|
|
298668
|
-
epar: "\u22D5",
|
|
298669
|
-
ltlarr: "\u2976",
|
|
298670
|
-
nvap: "\u224D\u20D2",
|
|
298671
|
-
nvsim: "\u223C\u20D2",
|
|
298672
|
-
nvge: "\u2265\u20D2",
|
|
298673
|
-
nvle: "\u2264\u20D2",
|
|
298674
|
-
nvlt: "<\u20D2",
|
|
298675
|
-
nvgt: ">\u20D2",
|
|
298676
|
-
nvltrie: "\u22B4\u20D2",
|
|
298677
|
-
nvrtrie: "\u22B5\u20D2",
|
|
298678
|
-
Vdash: "\u22A9",
|
|
298679
|
-
dashv: "\u22A3",
|
|
298680
|
-
vDash: "\u22A8",
|
|
298681
|
-
Vvdash: "\u22AA",
|
|
298682
|
-
nvdash: "\u22AC",
|
|
298683
|
-
nvDash: "\u22AD",
|
|
298684
|
-
nVdash: "\u22AE",
|
|
298685
|
-
nVDash: "\u22AF"
|
|
298686
|
-
};
|
|
298687
|
-
var ALL_ENTITIES = {
|
|
298688
|
-
...BASIC_LATIN,
|
|
298689
|
-
...LATIN_ACCENTS,
|
|
298690
|
-
...LATIN_EXTENDED,
|
|
298691
|
-
...GREEK,
|
|
298692
|
-
...CYRILLIC,
|
|
298693
|
-
...MATH,
|
|
298694
|
-
...MATH_ADVANCED,
|
|
298695
|
-
...ARROWS,
|
|
298696
|
-
...SHAPES,
|
|
298697
|
-
...PUNCTUATION,
|
|
298698
|
-
...CURRENCY,
|
|
298699
|
-
...FRACTIONS,
|
|
298700
|
-
...MISC_SYMBOLS
|
|
298701
|
-
};
|
|
298702
297757
|
var XML = {
|
|
298703
297758
|
amp: "&",
|
|
298704
297759
|
apos: "'",
|
|
@@ -299342,7 +298397,7 @@ var XmlNode = class {
|
|
|
299342
298397
|
}
|
|
299343
298398
|
};
|
|
299344
298399
|
|
|
299345
|
-
// node_modules/xml-naming/src/index.js
|
|
298400
|
+
// node_modules/fast-xml-parser/node_modules/xml-naming/src/index.js
|
|
299346
298401
|
var nameStartChar10 = ":A-Za-z_\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u0486\u0488-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD";
|
|
299347
298402
|
var nameChar10 = nameStartChar10 + "\\-\\.\\d\xB7\u0300-\u036F\u203F-\u2040";
|
|
299348
298403
|
var nameStartChar11 = ":A-Za-z_\xC0-\u02FF\u0370-\u037D\u037F-\u0486\u0488-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}";
|
|
@@ -299361,8 +298416,14 @@ var buildRegexes = (startChar, char, flags = "") => {
|
|
|
299361
298416
|
};
|
|
299362
298417
|
var regexes10 = buildRegexes(nameStartChar10, nameChar10);
|
|
299363
298418
|
var regexes11 = buildRegexes(nameStartChar11, nameChar11, "u");
|
|
299364
|
-
var
|
|
299365
|
-
var
|
|
298419
|
+
var nameStartCharAscii = ":A-Za-z_";
|
|
298420
|
+
var nameCharAscii = nameStartCharAscii + "\\-\\.\\d";
|
|
298421
|
+
var regexesAscii = buildRegexes(nameStartCharAscii, nameCharAscii);
|
|
298422
|
+
var getRegexes = (xmlVersion = "1.0", asciiOnly = false) => {
|
|
298423
|
+
if (asciiOnly) return regexesAscii;
|
|
298424
|
+
return xmlVersion === "1.1" ? regexes11 : regexes10;
|
|
298425
|
+
};
|
|
298426
|
+
var qName = (str, { xmlVersion = "1.0", asciiOnly = false } = {}) => getRegexes(xmlVersion, asciiOnly).qName.test(str);
|
|
299366
298427
|
|
|
299367
298428
|
// node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js
|
|
299368
298429
|
var DocTypeReader = class {
|
|
@@ -300524,17 +299585,16 @@ var Matcher = class {
|
|
|
300524
299585
|
this.path[this.path.length - 1].values = void 0;
|
|
300525
299586
|
}
|
|
300526
299587
|
const currentLevel = this.path.length;
|
|
300527
|
-
|
|
300528
|
-
|
|
299588
|
+
let level = this.siblingStacks[currentLevel];
|
|
299589
|
+
if (!level) {
|
|
299590
|
+
level = { counts: /* @__PURE__ */ new Map(), total: 0 };
|
|
299591
|
+
this.siblingStacks[currentLevel] = level;
|
|
300529
299592
|
}
|
|
300530
|
-
const siblings = this.siblingStacks[currentLevel];
|
|
300531
299593
|
const siblingKey = namespace ? `${namespace}:${tagName}` : tagName;
|
|
300532
|
-
const counter =
|
|
300533
|
-
|
|
300534
|
-
|
|
300535
|
-
|
|
300536
|
-
}
|
|
300537
|
-
siblings.set(siblingKey, counter + 1);
|
|
299594
|
+
const counter = level.counts.get(siblingKey) || 0;
|
|
299595
|
+
const position = level.total;
|
|
299596
|
+
level.counts.set(siblingKey, counter + 1);
|
|
299597
|
+
level.total++;
|
|
300538
299598
|
const node = {
|
|
300539
299599
|
tag: tagName,
|
|
300540
299600
|
position,
|
|
@@ -300843,7 +299903,7 @@ var Matcher = class {
|
|
|
300843
299903
|
snapshot() {
|
|
300844
299904
|
return {
|
|
300845
299905
|
path: this.path.map((node) => ({ ...node })),
|
|
300846
|
-
siblingStacks: this.siblingStacks.map((
|
|
299906
|
+
siblingStacks: this.siblingStacks.map((level) => level ? { counts: new Map(level.counts), total: level.total } : level),
|
|
300847
299907
|
keptAttrs: this._keptAttrs.map((entry) => ({ ...entry }))
|
|
300848
299908
|
};
|
|
300849
299909
|
}
|
|
@@ -300854,7 +299914,7 @@ var Matcher = class {
|
|
|
300854
299914
|
restore(snapshot) {
|
|
300855
299915
|
this._pathStringCache = null;
|
|
300856
299916
|
this.path = snapshot.path.map((node) => ({ ...node }));
|
|
300857
|
-
this.siblingStacks = snapshot.siblingStacks.map((
|
|
299917
|
+
this.siblingStacks = snapshot.siblingStacks.map((level) => level ? { counts: new Map(level.counts), total: level.total } : level);
|
|
300858
299918
|
this._keptAttrs = (snapshot.keptAttrs || []).map((entry) => ({ ...entry }));
|
|
300859
299919
|
}
|
|
300860
299920
|
/**
|
|
@@ -301192,27 +300252,6 @@ var SQL_PATTERNS = [
|
|
|
301192
300252
|
];
|
|
301193
300253
|
var sql_default = SQL_PATTERNS;
|
|
301194
300254
|
|
|
301195
|
-
// node_modules/is-unsafe/src/contexts/sql-strict.js
|
|
301196
|
-
var SQL_STRICT_EXTRA = [
|
|
301197
|
-
{
|
|
301198
|
-
id: "sql-line-comment",
|
|
301199
|
-
description: "SQL line comment: -- followed by whitespace or end of string",
|
|
301200
|
-
pattern: /--(?:\s|$)/
|
|
301201
|
-
},
|
|
301202
|
-
{
|
|
301203
|
-
id: "sql-stacked-query",
|
|
301204
|
-
description: "Stacked queries: semicolon immediately followed by a SQL keyword",
|
|
301205
|
-
pattern: /;\s{0,10}(?:SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|EXEC)\b/i
|
|
301206
|
-
},
|
|
301207
|
-
{
|
|
301208
|
-
id: "sql-hex-encoding",
|
|
301209
|
-
description: "Hex-encoded string injection: 0x41414141 style (MySQL)",
|
|
301210
|
-
pattern: /\b0x[0-9a-f]{4,}/i
|
|
301211
|
-
}
|
|
301212
|
-
];
|
|
301213
|
-
var SQL_STRICT_PATTERNS = [...sql_default, ...SQL_STRICT_EXTRA];
|
|
301214
|
-
var sql_strict_default = SQL_STRICT_PATTERNS;
|
|
301215
|
-
|
|
301216
300255
|
// node_modules/is-unsafe/src/contexts/shell.js
|
|
301217
300256
|
var SHELL_PATTERNS = [
|
|
301218
300257
|
{
|
|
@@ -301524,8 +300563,38 @@ var LOG_PATTERNS = [
|
|
|
301524
300563
|
];
|
|
301525
300564
|
var log_default = LOG_PATTERNS;
|
|
301526
300565
|
|
|
301527
|
-
// node_modules/is-unsafe/src/
|
|
301528
|
-
var
|
|
300566
|
+
// node_modules/is-unsafe/src/contexts/sql-strict.js
|
|
300567
|
+
var SQL_STRICT_EXTRA = [
|
|
300568
|
+
{
|
|
300569
|
+
id: "sql-line-comment",
|
|
300570
|
+
description: "SQL line comment: -- followed by whitespace or end of string",
|
|
300571
|
+
pattern: /--(?:\s|$)/
|
|
300572
|
+
},
|
|
300573
|
+
{
|
|
300574
|
+
id: "sql-stacked-query",
|
|
300575
|
+
description: "Stacked queries: semicolon immediately followed by a SQL keyword",
|
|
300576
|
+
pattern: /;\s{0,10}(?:SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|EXEC)\b/i
|
|
300577
|
+
},
|
|
300578
|
+
{
|
|
300579
|
+
id: "sql-hex-encoding",
|
|
300580
|
+
description: "Hex-encoded string injection: 0x41414141 style (MySQL)",
|
|
300581
|
+
pattern: /\b0x[0-9a-f]{4,}/i
|
|
300582
|
+
}
|
|
300583
|
+
];
|
|
300584
|
+
var SQL_STRICT_PATTERNS = [...sql_default, ...SQL_STRICT_EXTRA];
|
|
300585
|
+
var sql_strict_default = SQL_STRICT_PATTERNS;
|
|
300586
|
+
|
|
300587
|
+
// node_modules/is-unsafe/src/index.js
|
|
300588
|
+
html_default.label = "HTML";
|
|
300589
|
+
xml_default.label = "XML";
|
|
300590
|
+
svg_default.label = "SVG";
|
|
300591
|
+
sql_default.label = "SQL";
|
|
300592
|
+
sql_strict_default.label = "SQL-STRICT";
|
|
300593
|
+
shell_default.label = "SHELL";
|
|
300594
|
+
redos_default.label = "REDOS";
|
|
300595
|
+
nosql_default.label = "NOSQL";
|
|
300596
|
+
log_default.label = "LOG";
|
|
300597
|
+
var VALID_CONTEXTS = Object.freeze({
|
|
301529
300598
|
HTML: html_default,
|
|
301530
300599
|
XML: xml_default,
|
|
301531
300600
|
SVG: svg_default,
|
|
@@ -301535,13 +300604,7 @@ var CONTEXT_REGISTRY = {
|
|
|
301535
300604
|
REDOS: redos_default,
|
|
301536
300605
|
NOSQL: nosql_default,
|
|
301537
300606
|
LOG: log_default
|
|
301538
|
-
};
|
|
301539
|
-
var registry_default = CONTEXT_REGISTRY;
|
|
301540
|
-
var VALID_CONTEXTS = Object.freeze(
|
|
301541
|
-
Object.fromEntries(Object.keys(CONTEXT_REGISTRY).map((k) => [k, k]))
|
|
301542
|
-
);
|
|
301543
|
-
|
|
301544
|
-
// node_modules/is-unsafe/src/index.js
|
|
300607
|
+
});
|
|
301545
300608
|
function assertString(value) {
|
|
301546
300609
|
if (typeof value !== "string") {
|
|
301547
300610
|
throw new TypeError(
|
|
@@ -301551,36 +300614,35 @@ function assertString(value) {
|
|
|
301551
300614
|
}
|
|
301552
300615
|
function assertContext(context) {
|
|
301553
300616
|
if (context instanceof RegExp) return;
|
|
301554
|
-
if (typeof context === "string") {
|
|
301555
|
-
if (!registry_default[context]) {
|
|
301556
|
-
throw new TypeError(
|
|
301557
|
-
`is-unsafe: unknown context "${context}". Valid contexts: ${Object.keys(VALID_CONTEXTS).join(", ")}`
|
|
301558
|
-
);
|
|
301559
|
-
}
|
|
301560
|
-
return;
|
|
301561
|
-
}
|
|
301562
300617
|
if (Array.isArray(context)) {
|
|
301563
300618
|
if (context.length === 0) {
|
|
301564
|
-
throw new TypeError("is-unsafe: context
|
|
300619
|
+
throw new TypeError("is-unsafe: context must not be an empty array");
|
|
301565
300620
|
}
|
|
301566
|
-
|
|
301567
|
-
|
|
301568
|
-
|
|
301569
|
-
|
|
301570
|
-
|
|
300621
|
+
if (Array.isArray(context[0])) {
|
|
300622
|
+
for (const list of context) {
|
|
300623
|
+
if (!Array.isArray(list) || list.length === 0) {
|
|
300624
|
+
throw new TypeError(
|
|
300625
|
+
"is-unsafe: each context in the array must be a non-empty pattern array (PatternList)"
|
|
300626
|
+
);
|
|
300627
|
+
}
|
|
301571
300628
|
}
|
|
301572
300629
|
}
|
|
301573
300630
|
return;
|
|
301574
300631
|
}
|
|
301575
300632
|
throw new TypeError(
|
|
301576
|
-
`is-unsafe: second argument must be a
|
|
300633
|
+
`is-unsafe: second argument must be a PatternList (e.g. HTML), an array of PatternLists (e.g. [HTML, XML]), or a RegExp. Got: ${typeof context}`
|
|
301577
300634
|
);
|
|
301578
300635
|
}
|
|
301579
|
-
function
|
|
301580
|
-
|
|
301581
|
-
|
|
300636
|
+
function normalise(context) {
|
|
300637
|
+
if (context instanceof RegExp) return { lists: null, regex: context };
|
|
300638
|
+
if (Array.isArray(context[0])) return { lists: context, regex: null };
|
|
300639
|
+
return { lists: [context], regex: null };
|
|
300640
|
+
}
|
|
300641
|
+
function matchList(value, list) {
|
|
300642
|
+
const label = list.label ?? "CUSTOM";
|
|
300643
|
+
for (const rule of list) {
|
|
301582
300644
|
if (rule.pattern.test(value)) {
|
|
301583
|
-
return { context:
|
|
300645
|
+
return { context: label, id: rule.id, description: rule.description, pattern: rule.pattern };
|
|
301584
300646
|
}
|
|
301585
300647
|
}
|
|
301586
300648
|
return null;
|
|
@@ -301588,14 +300650,10 @@ function matchContext(value, contextName) {
|
|
|
301588
300650
|
function isUnsafe(value, context) {
|
|
301589
300651
|
assertString(value);
|
|
301590
300652
|
assertContext(context);
|
|
301591
|
-
|
|
301592
|
-
|
|
301593
|
-
|
|
301594
|
-
|
|
301595
|
-
return matchContext(value, context) !== null;
|
|
301596
|
-
}
|
|
301597
|
-
for (const c of context) {
|
|
301598
|
-
if (matchContext(value, c) !== null) return true;
|
|
300653
|
+
const { lists, regex } = normalise(context);
|
|
300654
|
+
if (regex) return regex.test(value);
|
|
300655
|
+
for (const list of lists) {
|
|
300656
|
+
if (matchList(value, list) !== null) return true;
|
|
301599
300657
|
}
|
|
301600
300658
|
return false;
|
|
301601
300659
|
}
|
|
@@ -301644,6 +300702,7 @@ var OrderedObjParser = class {
|
|
|
301644
300702
|
this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);
|
|
301645
300703
|
this.entityExpansionCount = 0;
|
|
301646
300704
|
this.currentExpandedLength = 0;
|
|
300705
|
+
this.doctypefound = false;
|
|
301647
300706
|
let namedEntities = { ...XML };
|
|
301648
300707
|
if (this.options.entityDecoder) {
|
|
301649
300708
|
this.entityDecoder = this.options.entityDecoder;
|
|
@@ -301661,7 +300720,7 @@ var OrderedObjParser = class {
|
|
|
301661
300720
|
// onExternalEntity: (name, value) => isUnsafe(value) ? 'block' : 'allow',
|
|
301662
300721
|
onInputEntity: (name, value) => (
|
|
301663
300722
|
//TODO: VALID_CONTEXTS.HTML should be set only if this.options.htmlEntities
|
|
301664
|
-
isUnsafe(value, [
|
|
300723
|
+
isUnsafe(value, [html_default, xml_default]) ? ENTITY_ACTION.BLOCK : ENTITY_ACTION.ALLOW
|
|
301665
300724
|
)
|
|
301666
300725
|
//postCheck: resolved => resolved
|
|
301667
300726
|
});
|
|
@@ -301795,6 +300854,7 @@ var parseXml = function(xmlData) {
|
|
|
301795
300854
|
this.entityDecoder.reset();
|
|
301796
300855
|
this.entityExpansionCount = 0;
|
|
301797
300856
|
this.currentExpandedLength = 0;
|
|
300857
|
+
this.doctypefound = false;
|
|
301798
300858
|
const options = this.options;
|
|
301799
300859
|
const docTypeReader = new DocTypeReader(options.processEntities);
|
|
301800
300860
|
const xmlLen = xmlData.length;
|
|
@@ -301857,6 +300917,8 @@ var parseXml = function(xmlData) {
|
|
|
301857
300917
|
}
|
|
301858
300918
|
i = endIndex;
|
|
301859
300919
|
} else if (c1 === 33 && xmlData.charCodeAt(i + 2) === 68) {
|
|
300920
|
+
if (this.doctypefound) throw new Error("Multiple DOCTYPE declarations found.");
|
|
300921
|
+
this.doctypefound = true;
|
|
301860
300922
|
const result = docTypeReader.readDocType(xmlData, i);
|
|
301861
300923
|
this.entityDecoder.addInputEntities(result.entities);
|
|
301862
300924
|
i = result.i;
|
|
@@ -311225,8 +310287,8 @@ function resolveInputs(env = process.env) {
|
|
|
311225
310287
|
breakingSummaryPath: getInput("breaking-summary-path", env),
|
|
311226
310288
|
breakingLogPath: getInput("breaking-log-path", env),
|
|
311227
310289
|
governanceMappingJson: parseGovernanceMappingJson(getInput("governance-mapping-json", env)),
|
|
311228
|
-
postmanApiKey: getInput("postman-api-key", env)
|
|
311229
|
-
postmanAccessToken: getInput("postman-access-token", env),
|
|
310290
|
+
postmanApiKey: getInput("postman-api-key", env) || env.POSTMAN_API_KEY || "",
|
|
310291
|
+
postmanAccessToken: getInput("postman-access-token", env) || env.POSTMAN_ACCESS_TOKEN,
|
|
311230
310292
|
credentialPreflight: parseEnumInput(
|
|
311231
310293
|
"credential-preflight",
|
|
311232
310294
|
getInput("credential-preflight", env),
|
|
@@ -313033,6 +312095,9 @@ function wantsVersion(argv) {
|
|
|
313033
312095
|
return argv.includes("--version") || argv.includes("-V");
|
|
313034
312096
|
}
|
|
313035
312097
|
function resolvePackageVersion() {
|
|
312098
|
+
if (false) {
|
|
312099
|
+
return void 0;
|
|
312100
|
+
}
|
|
313036
312101
|
const candidates = [];
|
|
313037
312102
|
if (typeof __filename === "string" && __filename) {
|
|
313038
312103
|
candidates.push(import_node_path5.default.join(import_node_path5.default.dirname(__filename), "..", "package.json"));
|