@superdoc/mcp 1.3.0-next.9 → 1.3.0
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/dist/index.js +900 -404
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -31318,7 +31318,7 @@ var init_host = __esm(() => {
|
|
|
31318
31318
|
});
|
|
31319
31319
|
|
|
31320
31320
|
// ../../packages/sdk/langs/node/src/runtime/sdk-version.generated.ts
|
|
31321
|
-
var SDK_VERSION = "2.16.0
|
|
31321
|
+
var SDK_VERSION = "2.16.0";
|
|
31322
31322
|
|
|
31323
31323
|
// ../../packages/sdk/langs/node/src/runtime/embedded-platform.ts
|
|
31324
31324
|
import { chmodSync, existsSync } from "node:fs";
|
|
@@ -122430,7 +122430,7 @@ var init_paragraph_signal_index = __esm(() => {
|
|
|
122430
122430
|
RETAINED_PARAGRAPH_SIGNALS = Symbol("retained-paragraph-signals");
|
|
122431
122431
|
});
|
|
122432
122432
|
|
|
122433
|
-
//
|
|
122433
|
+
// ../../node_modules/.pnpm/xmlchars@2.2.0/node_modules/xmlchars/xml/1.0/ed5.js
|
|
122434
122434
|
var require_ed5 = __commonJS((exports) => {
|
|
122435
122435
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
122436
122436
|
exports.CHAR = `
|
|
@@ -122468,7 +122468,7 @@ var require_ed5 = __commonJS((exports) => {
|
|
|
122468
122468
|
exports.isNameChar = isNameChar;
|
|
122469
122469
|
});
|
|
122470
122470
|
|
|
122471
|
-
//
|
|
122471
|
+
// ../../node_modules/.pnpm/xmlchars@2.2.0/node_modules/xmlchars/xml/1.1/ed2.js
|
|
122472
122472
|
var require_ed2 = __commonJS((exports) => {
|
|
122473
122473
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
122474
122474
|
exports.CHAR = "\x01--�\uD800\uDC00-\uDBFF\uDFFF";
|
|
@@ -122515,7 +122515,7 @@ var require_ed2 = __commonJS((exports) => {
|
|
|
122515
122515
|
exports.isNameChar = isNameChar;
|
|
122516
122516
|
});
|
|
122517
122517
|
|
|
122518
|
-
//
|
|
122518
|
+
// ../../node_modules/.pnpm/xmlchars@2.2.0/node_modules/xmlchars/xmlns/1.0/ed3.js
|
|
122519
122519
|
var require_ed3 = __commonJS((exports) => {
|
|
122520
122520
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
122521
122521
|
exports.NC_NAME_START_CHAR = "A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ--⁰-Ⰰ-、-豈-﷏ﷰ-�\uD800\uDC00-\uDB7F\uDFFF";
|
|
@@ -122533,7 +122533,7 @@ var require_ed3 = __commonJS((exports) => {
|
|
|
122533
122533
|
exports.isNCNameChar = isNCNameChar;
|
|
122534
122534
|
});
|
|
122535
122535
|
|
|
122536
|
-
//
|
|
122536
|
+
// ../../node_modules/.pnpm/saxes@6.0.0/node_modules/saxes/saxes.js
|
|
122537
122537
|
var require_saxes = __commonJS((exports) => {
|
|
122538
122538
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
122539
122539
|
exports.SaxesParser = exports.EVENTS = undefined;
|
|
@@ -134761,6 +134761,20 @@ function isValidRevisionDate(value) {
|
|
|
134761
134761
|
const daysInMonth = [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
134762
134762
|
return day <= daysInMonth[month - 1];
|
|
134763
134763
|
}
|
|
134764
|
+
function parseRevisionMarkerAttributes(attributes) {
|
|
134765
|
+
const idAttributes = attributes.filter((attribute) => attribute.local === "id");
|
|
134766
|
+
const authorAttributes = attributes.filter((attribute) => attribute.local === "author");
|
|
134767
|
+
const dateAttributes = attributes.filter((attribute) => attribute.local === "date");
|
|
134768
|
+
const hasValidIdAttribute = idAttributes.length === 1 && idAttributes[0].uri === W_NS;
|
|
134769
|
+
const id = hasValidIdAttribute ? parseRevisionWId(idAttributes[0].value) : null;
|
|
134770
|
+
const hasValidAuthorAttribute = authorAttributes.length === 1 && authorAttributes[0].uri === W_NS;
|
|
134771
|
+
const author = hasValidAuthorAttribute ? authorAttributes[0].value : "";
|
|
134772
|
+
const hasValidDateAttributes = dateAttributes.every((attribute) => attribute.uri === W_NS && isValidRevisionDate(attribute.value));
|
|
134773
|
+
if (!hasValidIdAttribute || !hasValidAuthorAttribute || id === null || !author || !hasValidDateAttributes) {
|
|
134774
|
+
return null;
|
|
134775
|
+
}
|
|
134776
|
+
return { id, author, date: dateAttributes[0]?.value };
|
|
134777
|
+
}
|
|
134764
134778
|
function parseDirectRunSequence(xml, allowRevisions) {
|
|
134765
134779
|
const revisions = [];
|
|
134766
134780
|
const stack = [];
|
|
@@ -134815,21 +134829,13 @@ function parseDirectRunSequence(xml, allowRevisions) {
|
|
|
134815
134829
|
return;
|
|
134816
134830
|
}
|
|
134817
134831
|
if (allowRevisions && tag.uri === W_NS && (tag.local === "ins" || tag.local === "del") && !tag.isSelfClosing) {
|
|
134818
|
-
const
|
|
134819
|
-
|
|
134820
|
-
const authorAttributes = attributes.filter((attribute) => attribute.local === "author");
|
|
134821
|
-
const dateAttributes = attributes.filter((attribute) => attribute.local === "date");
|
|
134822
|
-
const hasValidIdAttribute = idAttributes.length === 1 && idAttributes[0].uri === W_NS;
|
|
134823
|
-
const idValue = hasValidIdAttribute ? idAttributes[0].value : "";
|
|
134824
|
-
const id = parseRevisionWId(idValue);
|
|
134825
|
-
const hasValidAuthorAttribute = authorAttributes.length === 1 && authorAttributes[0].uri === W_NS;
|
|
134826
|
-
const author = hasValidAuthorAttribute ? authorAttributes[0].value : "";
|
|
134827
|
-
if (!hasValidIdAttribute || !hasValidAuthorAttribute || id === null || !author || dateAttributes.some((attribute) => attribute.uri !== W_NS || !isValidRevisionDate(attribute.value)))
|
|
134832
|
+
const marker = parseRevisionMarkerAttributes(Object.values(tag.attributes));
|
|
134833
|
+
if (!marker)
|
|
134828
134834
|
valid = false;
|
|
134829
134835
|
activeRevision = tag.local;
|
|
134830
134836
|
activeRevisionRunCount = 0;
|
|
134831
|
-
if (
|
|
134832
|
-
revisions.push({ kind: tag.local, wId: id, author });
|
|
134837
|
+
if (marker)
|
|
134838
|
+
revisions.push({ kind: tag.local, wId: marker.id, author: marker.author });
|
|
134833
134839
|
stack.push("revision");
|
|
134834
134840
|
return;
|
|
134835
134841
|
}
|
|
@@ -134922,9 +134928,171 @@ function parseDirectRunSequence(xml, allowRevisions) {
|
|
|
134922
134928
|
return null;
|
|
134923
134929
|
return { currentText, originalText, revisions };
|
|
134924
134930
|
}
|
|
134931
|
+
function splitLeadingNoteMarkerRun(xml, family) {
|
|
134932
|
+
const firstRun = /^\s*<((?:[A-Za-z_][\w.-]*:)?r)\b(?:"[^"]*"|'[^']*'|[^>"'])*>[\s\S]*?<\/\1>/.exec(xml);
|
|
134933
|
+
if (!firstRun)
|
|
134934
|
+
return null;
|
|
134935
|
+
const markerRunXml = firstRun[0];
|
|
134936
|
+
const localName2 = family === "footnotes" ? "footnoteRef" : "endnoteRef";
|
|
134937
|
+
const markerTag = new RegExp(`<((?:[A-Za-z_][\\w.-]*:)?)${localName2}\\s*\\/>`, "g");
|
|
134938
|
+
const markers = [...markerRunXml.matchAll(markerTag)];
|
|
134939
|
+
if (markers.length !== 1)
|
|
134940
|
+
return null;
|
|
134941
|
+
let valid = true;
|
|
134942
|
+
let depth = 0;
|
|
134943
|
+
let markerCount = 0;
|
|
134944
|
+
const parser = new import_saxes3.SaxesParser({
|
|
134945
|
+
xmlns: true,
|
|
134946
|
+
additionalNamespaces: replayAdditionalNamespaces(markerRunXml)
|
|
134947
|
+
});
|
|
134948
|
+
parser.on("error", () => {
|
|
134949
|
+
valid = false;
|
|
134950
|
+
});
|
|
134951
|
+
parser.on("opentag", (tag) => {
|
|
134952
|
+
depth += 1;
|
|
134953
|
+
if (depth === 1 && tag.local === "replay")
|
|
134954
|
+
return;
|
|
134955
|
+
if (depth === 2 && tag.uri === W_NS && tag.local === "r")
|
|
134956
|
+
return;
|
|
134957
|
+
if (depth === 3 && tag.uri === W_NS && tag.local === "rPr")
|
|
134958
|
+
return;
|
|
134959
|
+
if (depth === 3 && tag.uri === W_NS && tag.local === localName2 && tag.isSelfClosing && Object.keys(tag.attributes).length === 0) {
|
|
134960
|
+
markerCount += 1;
|
|
134961
|
+
return;
|
|
134962
|
+
}
|
|
134963
|
+
if (depth === 3 || (tag.local === "footnoteRef" || tag.local === "endnoteRef"))
|
|
134964
|
+
valid = false;
|
|
134965
|
+
});
|
|
134966
|
+
parser.on("closetag", () => {
|
|
134967
|
+
depth -= 1;
|
|
134968
|
+
});
|
|
134969
|
+
try {
|
|
134970
|
+
parser.write(`<replay>${markerRunXml}</replay>`).close();
|
|
134971
|
+
} catch {
|
|
134972
|
+
valid = false;
|
|
134973
|
+
}
|
|
134974
|
+
const withoutMarker = markerRunXml.replace(markerTag, "<w:t/>");
|
|
134975
|
+
if (!valid || depth !== 0 || markerCount !== 1 || parseDirectRunSequence(withoutMarker, false)?.currentText !== "")
|
|
134976
|
+
return null;
|
|
134977
|
+
return { markerRunXml, remainingRunXml: xml.slice(markerRunXml.length) };
|
|
134978
|
+
}
|
|
134979
|
+
function sameNoteMarkerRunXml(base2, target) {
|
|
134980
|
+
const withoutRedundantWordNamespace = (xml) => xml.split(` xmlns:w="${W_NS}"`).join("").split(` xmlns:w='${W_NS}'`).join("");
|
|
134981
|
+
return withoutRedundantWordNamespace(base2) === withoutRedundantWordNamespace(target);
|
|
134982
|
+
}
|
|
134925
134983
|
function inspectDirectParagraphRevisionRuns(xml) {
|
|
134926
134984
|
return parseDirectRunSequence(xml, true);
|
|
134927
134985
|
}
|
|
134986
|
+
function inspectDirectRunSequence(xml) {
|
|
134987
|
+
return parseDirectRunSequence(xml, false);
|
|
134988
|
+
}
|
|
134989
|
+
function parseParagraphMarkRevisionMarker(pPrXml) {
|
|
134990
|
+
if (pPrXml === "")
|
|
134991
|
+
return null;
|
|
134992
|
+
let valid = true;
|
|
134993
|
+
const stack = [];
|
|
134994
|
+
let hasSectPr = false;
|
|
134995
|
+
let markerCount = 0;
|
|
134996
|
+
let marker = null;
|
|
134997
|
+
const parser = new import_saxes3.SaxesParser({
|
|
134998
|
+
xmlns: true,
|
|
134999
|
+
additionalNamespaces: replayAdditionalNamespaces(pPrXml)
|
|
135000
|
+
});
|
|
135001
|
+
parser.on("error", () => {
|
|
135002
|
+
valid = false;
|
|
135003
|
+
});
|
|
135004
|
+
parser.on("opentag", (tag) => {
|
|
135005
|
+
const parent = stack.at(-1);
|
|
135006
|
+
const grandparent = stack.at(-2);
|
|
135007
|
+
if (parent === undefined && (tag.local !== "pPr" || tag.uri !== W_NS))
|
|
135008
|
+
valid = false;
|
|
135009
|
+
if (tag.uri === W_NS && tag.local === "sectPr")
|
|
135010
|
+
hasSectPr = true;
|
|
135011
|
+
const parentIsLiveRPr = stack.length === 2 && parent !== undefined && parent.uri === W_NS && parent.local === "rPr" && grandparent !== undefined && grandparent.uri === W_NS && grandparent.local === "pPr";
|
|
135012
|
+
if (parentIsLiveRPr && tag.uri === W_NS && (tag.local === "ins" || tag.local === "del")) {
|
|
135013
|
+
markerCount += 1;
|
|
135014
|
+
if (!tag.isSelfClosing) {
|
|
135015
|
+
valid = false;
|
|
135016
|
+
} else {
|
|
135017
|
+
const attrs = parseRevisionMarkerAttributes(Object.values(tag.attributes));
|
|
135018
|
+
if (!attrs || marker !== null) {
|
|
135019
|
+
valid = false;
|
|
135020
|
+
} else {
|
|
135021
|
+
marker = { kind: tag.local, wId: attrs.id, author: attrs.author, date: attrs.date };
|
|
135022
|
+
}
|
|
135023
|
+
}
|
|
135024
|
+
} else if (parentIsLiveRPr && tag.uri === W_NS && (tag.local === "moveFrom" || tag.local === "moveTo")) {
|
|
135025
|
+
valid = false;
|
|
135026
|
+
}
|
|
135027
|
+
stack.push({ uri: tag.uri ?? "", local: tag.local ?? "" });
|
|
135028
|
+
});
|
|
135029
|
+
parser.on("closetag", () => {
|
|
135030
|
+
stack.pop();
|
|
135031
|
+
});
|
|
135032
|
+
try {
|
|
135033
|
+
parser.write(pPrXml).close();
|
|
135034
|
+
} catch {
|
|
135035
|
+
valid = false;
|
|
135036
|
+
}
|
|
135037
|
+
if (!valid || stack.length !== 0 || hasSectPr || markerCount !== 1 || marker === null)
|
|
135038
|
+
return null;
|
|
135039
|
+
return marker;
|
|
135040
|
+
}
|
|
135041
|
+
function removeProvenParagraphMarkMarker(xml, marker) {
|
|
135042
|
+
const baseBindings = new Map([["w", W_NS]]);
|
|
135043
|
+
const stack = [];
|
|
135044
|
+
let removal = null;
|
|
135045
|
+
let position = 0;
|
|
135046
|
+
while (position < xml.length) {
|
|
135047
|
+
const start = xml.indexOf("<", position);
|
|
135048
|
+
if (start < 0)
|
|
135049
|
+
break;
|
|
135050
|
+
if (xml.startsWith("<!--", start) || xml.startsWith("<![CDATA[", start) || xml.startsWith("<?", start)) {
|
|
135051
|
+
return null;
|
|
135052
|
+
}
|
|
135053
|
+
const end = findXmlTagEnd2(xml, start);
|
|
135054
|
+
if (end < 0)
|
|
135055
|
+
return null;
|
|
135056
|
+
const rawTag = xml.slice(start, end + 1);
|
|
135057
|
+
if (rawTag.startsWith("</")) {
|
|
135058
|
+
const close = /^<\/\s*([A-Za-z_][\w.-]*(?::[A-Za-z_][\w.-]*)?)\s*>$/.exec(rawTag);
|
|
135059
|
+
if (!close || stack.pop()?.qname !== close[1])
|
|
135060
|
+
return null;
|
|
135061
|
+
position = end + 1;
|
|
135062
|
+
continue;
|
|
135063
|
+
}
|
|
135064
|
+
const parsed = parseXmlStartTag(rawTag);
|
|
135065
|
+
if (!parsed)
|
|
135066
|
+
return null;
|
|
135067
|
+
const bindings = new Map(stack.at(-1)?.bindings ?? baseBindings);
|
|
135068
|
+
for (const attribute of parsed.attributes) {
|
|
135069
|
+
if (attribute.qname === "xmlns")
|
|
135070
|
+
bindings.set("", attribute.value);
|
|
135071
|
+
else if (attribute.prefix === "xmlns")
|
|
135072
|
+
bindings.set(attribute.localName, attribute.value);
|
|
135073
|
+
}
|
|
135074
|
+
const namespaceUri = bindings.get(parsed.prefix) ?? "";
|
|
135075
|
+
const parentEntry = stack.at(-1);
|
|
135076
|
+
const grandparentEntry = stack.at(-2);
|
|
135077
|
+
const isLiveRPrChild = stack.length === 2 && parentEntry?.localName === "rPr" && grandparentEntry?.localName === "pPr";
|
|
135078
|
+
if (isLiveRPrChild && namespaceUri === W_NS && parsed.localName === marker.kind && parsed.selfClosing) {
|
|
135079
|
+
const idValue = parsed.attributes.find((attribute) => attribute.localName === "id" && (bindings.get(attribute.prefix) ?? "") === W_NS)?.value;
|
|
135080
|
+
const authorValue = parsed.attributes.find((attribute) => attribute.localName === "author" && (bindings.get(attribute.prefix) ?? "") === W_NS)?.value;
|
|
135081
|
+
const dateValue = parsed.attributes.find((attribute) => attribute.localName === "date" && (bindings.get(attribute.prefix) ?? "") === W_NS)?.value;
|
|
135082
|
+
if (parseRevisionWId(idValue ?? "") === marker.wId && authorValue === marker.author && dateValue === marker.date) {
|
|
135083
|
+
if (removal !== null)
|
|
135084
|
+
return null;
|
|
135085
|
+
removal = { start, end: end + 1 };
|
|
135086
|
+
}
|
|
135087
|
+
}
|
|
135088
|
+
if (!parsed.selfClosing)
|
|
135089
|
+
stack.push({ qname: parsed.qname, localName: parsed.localName, bindings });
|
|
135090
|
+
position = end + 1;
|
|
135091
|
+
}
|
|
135092
|
+
if (stack.length > 0 || removal === null)
|
|
135093
|
+
return null;
|
|
135094
|
+
return xml.slice(0, removal.start) + xml.slice(removal.end);
|
|
135095
|
+
}
|
|
134928
135096
|
function trackedAnnotationEntries(annotations) {
|
|
134929
135097
|
return annotations?.find((capture) => capture.family === "tracked-changes")?.entries ?? [];
|
|
134930
135098
|
}
|
|
@@ -135265,9 +135433,21 @@ function parseXmlStartTag(rawTag) {
|
|
|
135265
135433
|
return null;
|
|
135266
135434
|
}
|
|
135267
135435
|
function validateRunContents(xml, options) {
|
|
135268
|
-
|
|
135436
|
+
const baseHasNoteMarker = options.baseRunXml !== undefined && /<(?:[A-Za-z_][\w.-]*:)?(?:footnoteRef|endnoteRef)\b/.test(options.baseRunXml);
|
|
135437
|
+
const targetHasNoteMarker = /<(?:[A-Za-z_][\w.-]*:)?(?:footnoteRef|endnoteRef)\b/.test(xml);
|
|
135438
|
+
let runs = xml;
|
|
135439
|
+
if (baseHasNoteMarker || targetHasNoteMarker) {
|
|
135440
|
+
const family = options.noteMarkerFamily;
|
|
135441
|
+
const target = family && splitLeadingNoteMarkerRun(xml, family);
|
|
135442
|
+
const base2 = family && options.baseRunXml !== undefined ? splitLeadingNoteMarkerRun(options.baseRunXml, family) : undefined;
|
|
135443
|
+
if (!target || options.baseRunXml !== undefined && (!base2 || !sameNoteMarkerRunXml(base2.markerRunXml, target.markerRunXml))) {
|
|
135444
|
+
return { ok: false, reason: "target runs change or misplace the note marker" };
|
|
135445
|
+
}
|
|
135446
|
+
runs = target.remainingRunXml;
|
|
135447
|
+
}
|
|
135448
|
+
if (runs === "")
|
|
135269
135449
|
return { ok: true };
|
|
135270
|
-
const replayXml = stripAllowedNoteReferences(
|
|
135450
|
+
const replayXml = stripAllowedNoteReferences(runs, options);
|
|
135271
135451
|
const withoutCarriers = replayXml !== null && options.baseRunXml ? stripRetainedCarrier(replayXml, options.baseRunXml, options.allowNamespaceDeclarationDifference === true) : replayXml;
|
|
135272
135452
|
const withoutBookmarks = withoutCarriers !== null && /<(?:[\w.-]+:)?bookmark(?:Start|End)\b/.test(withoutCarriers) ? preservedBookmarkRunTokens(withoutCarriers)?.strippedXml ?? null : withoutCarriers;
|
|
135273
135453
|
if (withoutBookmarks === null || UNSUPPORTED_XML.test(withoutBookmarks) || RELATIONSHIP_REFERENCE.test(withoutBookmarks)) {
|
|
@@ -135303,9 +135483,27 @@ function validateCompareReplayPayload(payload, options = {}) {
|
|
|
135303
135483
|
if (!dependencyResult.ok)
|
|
135304
135484
|
return dependencyResult;
|
|
135305
135485
|
if (payload.targetParagraphPropertiesXml !== undefined) {
|
|
135306
|
-
|
|
135307
|
-
|
|
135308
|
-
|
|
135486
|
+
if (payload.targetParagraphMarkRevisionReplay !== undefined) {
|
|
135487
|
+
const proof = payload.targetParagraphMarkRevisionReplay;
|
|
135488
|
+
if (proof.policy !== "preserve-target-paragraph-mark-revision") {
|
|
135489
|
+
return { ok: false, reason: "target paragraph mark revision replay policy is incomplete" };
|
|
135490
|
+
}
|
|
135491
|
+
const marker = parseParagraphMarkRevisionMarker(payload.targetParagraphPropertiesXml);
|
|
135492
|
+
if (!marker || marker.kind !== proof.kind || marker.wId !== proof.wId || marker.author !== proof.author || marker.date !== proof.date) {
|
|
135493
|
+
return { ok: false, reason: "target paragraph mark revision replay proof does not match the target paragraph properties" };
|
|
135494
|
+
}
|
|
135495
|
+
const strippedXml = removeProvenParagraphMarkMarker(payload.targetParagraphPropertiesXml, marker);
|
|
135496
|
+
if (strippedXml === null) {
|
|
135497
|
+
return { ok: false, reason: "target paragraph mark revision replay proof could not be isolated from the target paragraph properties" };
|
|
135498
|
+
}
|
|
135499
|
+
const result = validateParagraphProperties(strippedXml);
|
|
135500
|
+
if (!result.ok)
|
|
135501
|
+
return result;
|
|
135502
|
+
} else {
|
|
135503
|
+
const result = validateParagraphProperties(payload.targetParagraphPropertiesXml);
|
|
135504
|
+
if (!result.ok)
|
|
135505
|
+
return result;
|
|
135506
|
+
}
|
|
135309
135507
|
}
|
|
135310
135508
|
if (payload.targetRevisionReplay !== undefined) {
|
|
135311
135509
|
if (payload.targetRevisionReplay.policy !== "preserve-target-revision-set" || payload.targetRunXml === undefined) {
|
|
@@ -136103,14 +136301,27 @@ function validateBodyOperation(operation, label, problems, replayOptions = {}) {
|
|
|
136103
136301
|
}
|
|
136104
136302
|
}
|
|
136105
136303
|
}
|
|
136106
|
-
|
|
136107
|
-
if (
|
|
136304
|
+
let hasValidParagraphMarkReplayShape = operation.targetParagraphMarkRevisionReplay === undefined;
|
|
136305
|
+
if (operation.targetParagraphMarkRevisionReplay !== undefined) {
|
|
136306
|
+
const replay = operation.targetParagraphMarkRevisionReplay;
|
|
136307
|
+
const hasValidShape = isRecord9(replay) && replay.policy === "preserve-target-paragraph-mark-revision" && (replay.kind === "ins" || replay.kind === "del") && typeof replay.wId === "number" && Number.isSafeInteger(replay.wId) && isNonEmptyString2(replay.author) && (replay.date === undefined || typeof replay.date === "string");
|
|
136308
|
+
hasValidParagraphMarkReplayShape = hasValidShape;
|
|
136309
|
+
if (!hasValidShape) {
|
|
136310
|
+
problems.push(`${label}.targetParagraphMarkRevisionReplay: invalid target paragraph mark revision replay`);
|
|
136311
|
+
}
|
|
136312
|
+
if (operation.kind === "edit" || operation.kind === "formatEdit") {
|
|
136313
|
+
problems.push(`${label}.targetParagraphMarkRevisionReplay: ${operation.kind} does not support paragraph mark revision replay`);
|
|
136314
|
+
hasValidParagraphMarkReplayShape = false;
|
|
136315
|
+
}
|
|
136316
|
+
}
|
|
136317
|
+
const carriesReplayPayload = operation.kind !== "delete" && (operation.targetParagraphPropertiesXml !== undefined || operation.targetRunXml !== undefined || operation.replayDependencies !== undefined || operation.replayDependencyProofFailed !== undefined || operation.targetParagraphMarkRevisionReplay !== undefined);
|
|
136318
|
+
if (carriesReplayPayload && hasValidReplayPayloadShape && hasValidReplayShape && hasValidParagraphMarkReplayShape) {
|
|
136108
136319
|
const proof = validateCompareReplayPayload(operation, {
|
|
136109
136320
|
...replayOptions,
|
|
136110
136321
|
expectedCurrentText: operation.kind !== "delete" && typeof operation.text === "string" ? operation.text : undefined
|
|
136111
136322
|
});
|
|
136112
136323
|
if (!proof.ok) {
|
|
136113
|
-
const field = operation.targetRevisionReplay === undefined ? "replayPayload" : "targetRevisionReplay";
|
|
136324
|
+
const field = operation.targetRevisionReplay === undefined ? operation.targetParagraphMarkRevisionReplay === undefined ? "replayPayload" : "targetParagraphMarkRevisionReplay" : "targetRevisionReplay";
|
|
136114
136325
|
problems.push(`${label}.${field}: ${proof.reason}`);
|
|
136115
136326
|
}
|
|
136116
136327
|
}
|
|
@@ -136876,8 +137087,8 @@ function validatePlanDispositions(value, steps, problems) {
|
|
|
136876
137087
|
}
|
|
136877
137088
|
});
|
|
136878
137089
|
}
|
|
136879
|
-
const bodyHasTargetRevisionReplay = Array.isArray(value.bodyOperations) && value.bodyOperations.some((operation) => isRecord9(operation) && operation.targetRevisionReplay !== undefined);
|
|
136880
|
-
const storyHasTargetRevisionReplay = Array.isArray(value.storyOperations) && value.storyOperations.some((group) => isRecord9(group) && Array.isArray(group.operations) && group.operations.some((operation) => isRecord9(operation) && operation.targetRevisionReplay !== undefined));
|
|
137090
|
+
const bodyHasTargetRevisionReplay = Array.isArray(value.bodyOperations) && value.bodyOperations.some((operation) => isRecord9(operation) && (operation.targetRevisionReplay !== undefined || operation.targetParagraphMarkRevisionReplay !== undefined));
|
|
137091
|
+
const storyHasTargetRevisionReplay = Array.isArray(value.storyOperations) && value.storyOperations.some((group) => isRecord9(group) && Array.isArray(group.operations) && group.operations.some((operation) => isRecord9(operation) && (operation.targetRevisionReplay !== undefined || operation.targetParagraphMarkRevisionReplay !== undefined)));
|
|
136881
137092
|
if ((bodyHasTargetRevisionReplay || storyHasTargetRevisionReplay) && dispositions.get("tracked-changes") !== "supported") {
|
|
136882
137093
|
problems.push("target revision replay requires a supported tracked-changes step");
|
|
136883
137094
|
}
|
|
@@ -136990,7 +137201,8 @@ function validateCompareApplyPlan(value, baseBody = []) {
|
|
|
136990
137201
|
if (!isRecord9(group) || !Array.isArray(group.operations))
|
|
136991
137202
|
return;
|
|
136992
137203
|
group.operations.forEach((operation, operationIndex) => {
|
|
136993
|
-
|
|
137204
|
+
const noteMarkerFamily = (group.family === "footnotes" || group.family === "endnotes") && isRecord9(operation) && (operation.kind === "edit" || operation.kind === "formatEdit") ? group.family : undefined;
|
|
137205
|
+
validateBodyOperation(operation, `storyOperations[${index}].operations[${operationIndex}]`, problems, { noteMarkerFamily });
|
|
136994
137206
|
});
|
|
136995
137207
|
});
|
|
136996
137208
|
}
|
|
@@ -138970,6 +139182,33 @@ function matchingRevisionAnnotationKeys(annotations, revisions, partUri, paragra
|
|
|
138970
139182
|
}
|
|
138971
139183
|
return keys;
|
|
138972
139184
|
}
|
|
139185
|
+
function matchingParagraphMarkAnnotationKey(annotations, marker, structuralKind, paragraphStructuralAnnotationKeys) {
|
|
139186
|
+
const entries = annotations?.find((capture) => capture.family === "tracked-changes")?.entries ?? [];
|
|
139187
|
+
const exactKeys = paragraphStructuralAnnotationKeys === undefined ? null : new Set(paragraphStructuralAnnotationKeys);
|
|
139188
|
+
const matches = entries.filter((entry) => entry.label === `structural revision ${structuralKind}` && (entry.semanticKey?.startsWith(`structural:${structuralKind}|`) ?? false) && entry.key.includes(`|${marker.wId}|`) && (exactKeys === null || exactKeys.has(entry.key)));
|
|
139189
|
+
return matches.length === 1 ? matches[0].key : null;
|
|
139190
|
+
}
|
|
139191
|
+
function paragraphMarkTargetRevisionReplay(entry, annotations) {
|
|
139192
|
+
if (!entry)
|
|
139193
|
+
return null;
|
|
139194
|
+
const marker = parseParagraphMarkRevisionMarker(entry.paragraphPropertiesXml ?? "");
|
|
139195
|
+
if (!marker)
|
|
139196
|
+
return null;
|
|
139197
|
+
const structuralKind = marker.kind === "ins" ? "paragraph-mark-insertion" : "paragraph-mark-deletion";
|
|
139198
|
+
const key2 = matchingParagraphMarkAnnotationKey(annotations, marker, structuralKind, entry.structuralChangeAnnotationKeys);
|
|
139199
|
+
if (!key2)
|
|
139200
|
+
return null;
|
|
139201
|
+
return {
|
|
139202
|
+
key: key2,
|
|
139203
|
+
replay: {
|
|
139204
|
+
policy: "preserve-target-paragraph-mark-revision",
|
|
139205
|
+
kind: marker.kind,
|
|
139206
|
+
wId: marker.wId,
|
|
139207
|
+
author: marker.author,
|
|
139208
|
+
date: marker.date
|
|
139209
|
+
}
|
|
139210
|
+
};
|
|
139211
|
+
}
|
|
138973
139212
|
function attachExactTargetRevisionReplay(operations, baseEntries, targetEntries, entityMatch, baseAnnotations, targetAnnotations, basePartUri, targetPartUri, entityId = (blockId) => blockId) {
|
|
138974
139213
|
if (!entityMatch) {
|
|
138975
139214
|
return {
|
|
@@ -138988,51 +139227,69 @@ function attachExactTargetRevisionReplay(operations, baseEntries, targetEntries,
|
|
|
138988
139227
|
const replayOperations = operations.map((operation) => {
|
|
138989
139228
|
if (operation.kind === "insert" || operation.kind === "insertAtStart") {
|
|
138990
139229
|
const targetEntry2 = targetById.get(entityId(operation.blockId));
|
|
138991
|
-
|
|
138992
|
-
|
|
138993
|
-
|
|
138994
|
-
|
|
138995
|
-
|
|
139230
|
+
let targetRevisionReplayPatch;
|
|
139231
|
+
let targetParagraphMarkRevisionReplayPatch;
|
|
139232
|
+
if (targetEntry2) {
|
|
139233
|
+
const targetInspection2 = inspectDirectParagraphRevisionRuns(targetEntry2.runXml ?? "");
|
|
139234
|
+
if (targetInspection2 && targetInspection2.revisions.length > 0 && targetInspection2.currentText === targetEntry2.text) {
|
|
139235
|
+
const targetAnnotationKeys2 = matchingRevisionAnnotationKeys(targetAnnotations, targetInspection2.revisions, targetPartUri, targetEntry2.trackedChangeAnnotationKeys);
|
|
139236
|
+
if (targetAnnotationKeys2) {
|
|
139237
|
+
for (const key2 of targetAnnotationKeys2)
|
|
139238
|
+
coveredTargetAnnotations.add(key2);
|
|
139239
|
+
changedTrackedXmlReplayed = true;
|
|
139240
|
+
targetRevisionReplayPatch = {
|
|
139241
|
+
targetRevisionReplay: {
|
|
139242
|
+
policy: "preserve-target-revision-set",
|
|
139243
|
+
structuralAction: "insert",
|
|
139244
|
+
originalText: targetInspection2.originalText,
|
|
139245
|
+
revisionWIds: targetInspection2.revisions.map((revision) => revision.wId)
|
|
139246
|
+
}
|
|
139247
|
+
};
|
|
139248
|
+
}
|
|
139249
|
+
}
|
|
139250
|
+
const markResult = paragraphMarkTargetRevisionReplay(targetEntry2, targetAnnotations);
|
|
139251
|
+
if (markResult) {
|
|
139252
|
+
coveredTargetAnnotations.add(markResult.key);
|
|
139253
|
+
changedTrackedXmlReplayed = true;
|
|
139254
|
+
targetParagraphMarkRevisionReplayPatch = { targetParagraphMarkRevisionReplay: markResult.replay };
|
|
139255
|
+
}
|
|
138996
139256
|
}
|
|
138997
|
-
|
|
138998
|
-
if (!targetAnnotationKeys2)
|
|
139257
|
+
if (!targetRevisionReplayPatch && !targetParagraphMarkRevisionReplayPatch)
|
|
138999
139258
|
return operation;
|
|
139000
|
-
|
|
139001
|
-
coveredTargetAnnotations.add(key2);
|
|
139002
|
-
changedTrackedXmlReplayed = true;
|
|
139003
|
-
return {
|
|
139004
|
-
...operation,
|
|
139005
|
-
targetRevisionReplay: {
|
|
139006
|
-
policy: "preserve-target-revision-set",
|
|
139007
|
-
structuralAction: "insert",
|
|
139008
|
-
originalText: targetInspection2.originalText,
|
|
139009
|
-
revisionWIds: targetInspection2.revisions.map((revision) => revision.wId)
|
|
139010
|
-
}
|
|
139011
|
-
};
|
|
139259
|
+
return { ...operation, ...targetRevisionReplayPatch, ...targetParagraphMarkRevisionReplayPatch };
|
|
139012
139260
|
}
|
|
139013
139261
|
if (operation.kind === "delete") {
|
|
139014
139262
|
const baseEntry2 = baseById.get(entityId(operation.blockId));
|
|
139015
|
-
|
|
139016
|
-
|
|
139017
|
-
|
|
139018
|
-
|
|
139019
|
-
|
|
139263
|
+
let targetRevisionReplayPatch;
|
|
139264
|
+
let targetParagraphMarkRevisionReplayPatch;
|
|
139265
|
+
if (baseEntry2) {
|
|
139266
|
+
const baseInspection2 = inspectDirectParagraphRevisionRuns(baseEntry2.runXml ?? "");
|
|
139267
|
+
if (baseInspection2 && baseInspection2.revisions.length > 0 && baseInspection2.currentText === baseEntry2.text) {
|
|
139268
|
+
const baseAnnotationKeys2 = matchingRevisionAnnotationKeys(baseAnnotations, baseInspection2.revisions, basePartUri, baseEntry2.trackedChangeAnnotationKeys);
|
|
139269
|
+
if (baseAnnotationKeys2) {
|
|
139270
|
+
for (const key2 of baseAnnotationKeys2)
|
|
139271
|
+
coveredBaseAnnotations.add(key2);
|
|
139272
|
+
changedTrackedXmlReplayed = true;
|
|
139273
|
+
targetRevisionReplayPatch = {
|
|
139274
|
+
targetRevisionReplay: {
|
|
139275
|
+
policy: "preserve-target-revision-set",
|
|
139276
|
+
structuralAction: "delete",
|
|
139277
|
+
originalText: baseInspection2.originalText,
|
|
139278
|
+
revisionWIds: baseInspection2.revisions.map((revision) => revision.wId)
|
|
139279
|
+
}
|
|
139280
|
+
};
|
|
139281
|
+
}
|
|
139282
|
+
}
|
|
139283
|
+
const markResult = paragraphMarkTargetRevisionReplay(baseEntry2, baseAnnotations);
|
|
139284
|
+
if (markResult) {
|
|
139285
|
+
coveredBaseAnnotations.add(markResult.key);
|
|
139286
|
+
changedTrackedXmlReplayed = true;
|
|
139287
|
+
targetParagraphMarkRevisionReplayPatch = { targetParagraphMarkRevisionReplay: markResult.replay };
|
|
139288
|
+
}
|
|
139020
139289
|
}
|
|
139021
|
-
|
|
139022
|
-
if (!baseAnnotationKeys2)
|
|
139290
|
+
if (!targetRevisionReplayPatch && !targetParagraphMarkRevisionReplayPatch)
|
|
139023
139291
|
return operation;
|
|
139024
|
-
|
|
139025
|
-
coveredBaseAnnotations.add(key2);
|
|
139026
|
-
changedTrackedXmlReplayed = true;
|
|
139027
|
-
return {
|
|
139028
|
-
...operation,
|
|
139029
|
-
targetRevisionReplay: {
|
|
139030
|
-
policy: "preserve-target-revision-set",
|
|
139031
|
-
structuralAction: "delete",
|
|
139032
|
-
originalText: baseInspection2.originalText,
|
|
139033
|
-
revisionWIds: baseInspection2.revisions.map((revision) => revision.wId)
|
|
139034
|
-
}
|
|
139035
|
-
};
|
|
139292
|
+
return { ...operation, ...targetRevisionReplayPatch, ...targetParagraphMarkRevisionReplayPatch };
|
|
139036
139293
|
}
|
|
139037
139294
|
const baseEntryId = entityId(operation.blockId);
|
|
139038
139295
|
const baseEntry = baseById.get(baseEntryId);
|
|
@@ -139106,7 +139363,7 @@ function attachExactTargetRevisionReplayToStories(groups, base2, target, matchRe
|
|
|
139106
139363
|
});
|
|
139107
139364
|
return { groups: replayGroups, coveredBaseAnnotations, coveredTargetAnnotations, changedTrackedXmlReplayed };
|
|
139108
139365
|
}
|
|
139109
|
-
function firstUnsafeReplayReason(operations, noteLifecycle = [], targetStories = [], baseBody = []) {
|
|
139366
|
+
function firstUnsafeReplayReason(operations, noteLifecycle = [], targetStories = [], baseBody = [], noteMarkerFamily) {
|
|
139110
139367
|
const createdNoteReferences = noteLifecycle.filter((operation) => operation.kind === "create-note-definition" || operation.kind === "create-note-story").map((operation) => ({ family: operation.family, noteId: operation.noteId }));
|
|
139111
139368
|
const retainedNoteReferences = targetStories.flatMap((story) => (story.family === "footnotes" || story.family === "endnotes") && story.noteId ? [{ family: story.family, noteId: story.noteId }] : []);
|
|
139112
139369
|
const allowedNoteReferences = [...createdNoteReferences, ...retainedNoteReferences];
|
|
@@ -139116,7 +139373,7 @@ function firstUnsafeReplayReason(operations, noteLifecycle = [], targetStories =
|
|
|
139116
139373
|
continue;
|
|
139117
139374
|
const result = validateCompareReplayPayload(operation, {
|
|
139118
139375
|
allowedNoteReferences,
|
|
139119
|
-
...operation.kind === "edit" || operation.kind === "formatEdit" ? { baseRunXml: baseRunByBlockId.get(operation.blockId) } : {}
|
|
139376
|
+
...operation.kind === "edit" || operation.kind === "formatEdit" ? { baseRunXml: baseRunByBlockId.get(operation.blockId), noteMarkerFamily } : {}
|
|
139120
139377
|
});
|
|
139121
139378
|
if (!result.ok)
|
|
139122
139379
|
return result.reason;
|
|
@@ -139310,7 +139567,9 @@ function planCompare(base2, target) {
|
|
|
139310
139567
|
for (const group of storyOperations) {
|
|
139311
139568
|
if (!replayableStoryFamilies.has(group.family))
|
|
139312
139569
|
continue;
|
|
139313
|
-
const
|
|
139570
|
+
const noteMarkerFamily = group.family === "footnotes" || group.family === "endnotes" ? group.family : undefined;
|
|
139571
|
+
const baseStory = noteMarkerFamily ? base2.stories?.find((story) => story.storyId === group.storyId && story.family === group.family && story.noteId === group.noteId) : undefined;
|
|
139572
|
+
const unsafeStoryReason = firstUnsafeReplayReason(group.operations, [], [], baseStory?.entries ?? [], noteMarkerFamily);
|
|
139314
139573
|
if (!unsafeStoryReason || unsafeStoryFamilies.has(group.family))
|
|
139315
139574
|
continue;
|
|
139316
139575
|
unsafeStoryFamilies.add(group.family);
|
|
@@ -151132,7 +151391,7 @@ var init_history_text_replay = __esm(() => {
|
|
|
151132
151391
|
MAX_HISTORY_OWNER_BYTES = 512 * 1024;
|
|
151133
151392
|
});
|
|
151134
151393
|
|
|
151135
|
-
//
|
|
151394
|
+
// ../../node_modules/.pnpm/fflate@0.8.2/node_modules/fflate/esm/index.mjs
|
|
151136
151395
|
import { createRequire as createRequire3 } from "module";
|
|
151137
151396
|
function deflateSync(data, opts) {
|
|
151138
151397
|
return dopt(data, opts || {}, 0, 0);
|
|
@@ -221816,7 +222075,7 @@ function runCompareApplyCommit(input) {
|
|
|
221816
222075
|
if (input.options.expectedPackageRevision && input.options.expectedPackageRevision !== state.packageRevision) {
|
|
221817
222076
|
return rejected14(txId, "base-revision-drift");
|
|
221818
222077
|
}
|
|
221819
|
-
if (input.
|
|
222078
|
+
if (input.readCurrentComparePlanBinding() !== op.planBinding) {
|
|
221820
222079
|
return rejected14(txId, "base-revision-drift");
|
|
221821
222080
|
}
|
|
221822
222081
|
const changeMode = op.changeMode;
|
|
@@ -222476,7 +222735,7 @@ function hasTerminalTrackedParagraphDeletion(state, groups, storyPackageOperatio
|
|
|
222476
222735
|
if (!index)
|
|
222477
222736
|
return false;
|
|
222478
222737
|
return group.bodySteps.some((step2, stepIndex) => {
|
|
222479
|
-
if (step2.kind !== "delete" || step2.targetRevisionReplay !== undefined)
|
|
222738
|
+
if (step2.kind !== "delete" || step2.targetRevisionReplay !== undefined || step2.targetParagraphMarkRevisionReplay !== undefined)
|
|
222480
222739
|
return false;
|
|
222481
222740
|
if (isBodyReplayNoteReferenceRemoval(state, group.storyId, step2, storyPackageOperations))
|
|
222482
222741
|
return false;
|
|
@@ -222582,7 +222841,10 @@ function normalizeCompareBodyStep(step2, sectionSteps, referenceSteps, allowedNo
|
|
|
222582
222841
|
return step2.targetRevisionReplay === undefined || step2.targetRevisionReplay.structuralAction === "delete" ? step2 : null;
|
|
222583
222842
|
}
|
|
222584
222843
|
const baseRunXml = step2.kind === "edit" || step2.kind === "formatEdit" ? liveCompareBodyRunXml(state, storyId, step2.blockId) : undefined;
|
|
222585
|
-
|
|
222844
|
+
const noteMarkerFamily = step2.kind === "edit" || step2.kind === "formatEdit" ? storyId.startsWith("footnotes:") ? "footnotes" : storyId.startsWith("endnotes:") ? "endnotes" : undefined : undefined;
|
|
222845
|
+
if (noteMarkerFamily && baseRunXml && /<(?:[A-Za-z_][\w.-]*:)?(?:footnoteRef|endnoteRef)\b/.test(baseRunXml) && step2.targetRunXml === undefined)
|
|
222846
|
+
return null;
|
|
222847
|
+
if (!validateCompareBodyReplayPayload(step2, sectionSteps, referenceSteps, allowedNoteReferences, step2.text, baseRunXml, noteMarkerFamily))
|
|
222586
222848
|
return null;
|
|
222587
222849
|
const targetParagraphPropertiesXml = step2.targetParagraphPropertiesXml === undefined ? undefined : canonicalizeCompareBodyParagraphPropertiesXml(step2.targetParagraphPropertiesXml, sectionSteps);
|
|
222588
222850
|
const targetRunXml = step2.targetRunXml === undefined ? undefined : (step2.targetRunXml.includes("<w:drawing") || step2.targetRunXml.includes("<w:fldSimple")) && baseRunXml && referenceSteps.length === 0 ? step2.targetRunXml : canonicalizeCompareBodyRunXml(step2.targetRunXml, referenceSteps);
|
|
@@ -222597,8 +222859,9 @@ function normalizeCompareBodyStep(step2, sectionSteps, referenceSteps, allowedNo
|
|
|
222597
222859
|
targetParagraphPropertiesXml,
|
|
222598
222860
|
targetRunXml,
|
|
222599
222861
|
replayDependencies: "replayDependencies" in step2 ? step2.replayDependencies : undefined,
|
|
222600
|
-
targetRevisionReplay: "targetRevisionReplay" in step2 ? step2.targetRevisionReplay : undefined
|
|
222601
|
-
|
|
222862
|
+
targetRevisionReplay: "targetRevisionReplay" in step2 ? step2.targetRevisionReplay : undefined,
|
|
222863
|
+
targetParagraphMarkRevisionReplay: "targetParagraphMarkRevisionReplay" in step2 ? step2.targetParagraphMarkRevisionReplay : undefined
|
|
222864
|
+
}, sectionSteps, referenceSteps, allowedNoteReferences, step2.text, baseRunXml, noteMarkerFamily) ? normalized : null;
|
|
222602
222865
|
}
|
|
222603
222866
|
function liveCompareBodyRunXml(state, storyId, blockId) {
|
|
222604
222867
|
const entry = getStoryParagraphIndexFromState(state, storyId)?.byParaId(blockId);
|
|
@@ -222731,7 +222994,7 @@ function sourceProofBindsReference(proof, family) {
|
|
|
222731
222994
|
const childXml = wrappedSource.slice(child.start, child.end);
|
|
222732
222995
|
return isValidNoteReferenceReplayRunXml(childXml, family, proof.noteId, child.namespaceBindings) && replayCarrierXmlEquals(childXml, proof.referenceRunXml);
|
|
222733
222996
|
}
|
|
222734
|
-
function validateCompareBodyReplayPayload(payload, sectionSteps, referenceSteps, allowedNoteReferences, expectedCurrentText, baseRunXml) {
|
|
222997
|
+
function validateCompareBodyReplayPayload(payload, sectionSteps, referenceSteps, allowedNoteReferences, expectedCurrentText, baseRunXml, noteMarkerFamily) {
|
|
222735
222998
|
if (payload.targetRunXml !== undefined && expectedCurrentText !== undefined && projectCompareReplayCurrentText(payload.targetRunXml) !== expectedCurrentText.replace(/\uFFFC/g, "")) {
|
|
222736
222999
|
return false;
|
|
222737
223000
|
}
|
|
@@ -222739,7 +223002,12 @@ function validateCompareBodyReplayPayload(payload, sectionSteps, referenceSteps,
|
|
|
222739
223002
|
if (targetParagraphPropertiesXml === null)
|
|
222740
223003
|
return false;
|
|
222741
223004
|
const targetRunXml = payload.targetRunXml === undefined ? undefined : stripProtectedReferenceTokens(payload.targetRunXml, referenceSteps);
|
|
222742
|
-
return targetRunXml !== null && validateCompareReplayPayload({ ...payload, targetParagraphPropertiesXml, targetRunXml }, {
|
|
223005
|
+
return targetRunXml !== null && validateCompareReplayPayload({ ...payload, targetParagraphPropertiesXml, targetRunXml }, {
|
|
223006
|
+
allowedNoteReferences,
|
|
223007
|
+
baseRunXml,
|
|
223008
|
+
noteMarkerFamily,
|
|
223009
|
+
allowNamespaceDeclarationDifference: baseRunXml !== undefined
|
|
223010
|
+
}).ok;
|
|
222743
223011
|
}
|
|
222744
223012
|
function stripProtectedSectionTokens(xml, sectionSteps) {
|
|
222745
223013
|
const tokens = collectProtectedSectionTokens(xml, sectionSteps);
|
|
@@ -223090,8 +223358,8 @@ function runBodyStep(input, storyId, noteId, step2, changeMode, options, pushHis
|
|
|
223090
223358
|
if (!hasSuccessor)
|
|
223091
223359
|
return rejected14(txId, "unsupported-context");
|
|
223092
223360
|
}
|
|
223093
|
-
if (step2.targetRevisionReplay !== undefined) {
|
|
223094
|
-
if (step2.targetRevisionReplay.structuralAction !== "delete") {
|
|
223361
|
+
if (step2.targetRevisionReplay !== undefined || step2.targetParagraphMarkRevisionReplay !== undefined) {
|
|
223362
|
+
if (step2.targetRevisionReplay !== undefined && step2.targetRevisionReplay.structuralAction !== "delete") {
|
|
223095
223363
|
return rejected14(txId, "unsupported-context");
|
|
223096
223364
|
}
|
|
223097
223365
|
const entry = getStoryParagraphIndexFromState(state, storyId)?.byParaId(step2.blockId);
|
|
@@ -223230,7 +223498,10 @@ function prepareTrackedTerminalParagraphDeleteAtState(input) {
|
|
|
223230
223498
|
}
|
|
223231
223499
|
function resolveExactStructuralRevisionDeletion(state, storyId, step2) {
|
|
223232
223500
|
const replay = step2.targetRevisionReplay;
|
|
223233
|
-
|
|
223501
|
+
const markReplay = step2.targetParagraphMarkRevisionReplay;
|
|
223502
|
+
if (replay !== undefined && replay.structuralAction !== "delete")
|
|
223503
|
+
return null;
|
|
223504
|
+
if (replay === undefined && markReplay === undefined)
|
|
223234
223505
|
return null;
|
|
223235
223506
|
const entry = getStoryParagraphIndexFromState(state, storyId)?.byParaId(step2.blockId);
|
|
223236
223507
|
const bytes = entry ? state.packageBytes.get(entry.partUri) : undefined;
|
|
@@ -223238,9 +223509,22 @@ function resolveExactStructuralRevisionDeletion(state, storyId, step2) {
|
|
|
223238
223509
|
return null;
|
|
223239
223510
|
const paraXml = TD59.decode(bytes.subarray(entry.byteStart, entry.byteEnd));
|
|
223240
223511
|
const wrapper = readParagraphWrapper(paraXml, step2.blockId, bytes, entry.byteStart);
|
|
223241
|
-
const
|
|
223242
|
-
if (
|
|
223243
|
-
|
|
223512
|
+
const runContent = stripElements(paraXml.slice(wrapper.contentStart, paraXml.lastIndexOf("</")), "pPr");
|
|
223513
|
+
if (replay !== undefined && replay.structuralAction === "delete") {
|
|
223514
|
+
const inspection = inspectDirectParagraphRevisionRuns(runContent);
|
|
223515
|
+
if (!inspection || inspection.originalText !== replay.originalText || JSON.stringify(inspection.revisions.map((revision) => revision.wId)) !== JSON.stringify(replay.revisionWIds))
|
|
223516
|
+
return null;
|
|
223517
|
+
} else {
|
|
223518
|
+
const inspection = inspectDirectRunSequence(runContent);
|
|
223519
|
+
if (!inspection || inspection.revisions.length > 0)
|
|
223520
|
+
return null;
|
|
223521
|
+
}
|
|
223522
|
+
if (markReplay !== undefined) {
|
|
223523
|
+
const pPrXml = findFirstElement(paraXml, "pPr")?.xml ?? "";
|
|
223524
|
+
const marker = parseParagraphMarkRevisionMarker(pPrXml);
|
|
223525
|
+
if (!marker || marker.kind !== markReplay.kind || marker.wId !== markReplay.wId || marker.author !== markReplay.author || marker.date !== markReplay.date)
|
|
223526
|
+
return null;
|
|
223527
|
+
}
|
|
223244
223528
|
const parsedPart = collectXmlElementRanges(TD59.decode(bytes));
|
|
223245
223529
|
const paragraphCharStart = TD59.decode(bytes.subarray(0, entry.byteStart)).length;
|
|
223246
223530
|
const paragraphRange = parsedPart.ranges.find((range) => range.start === paragraphCharStart && range.tag.namespaceUri === NS_W && range.tag.localName === "p");
|
|
@@ -223255,7 +223539,7 @@ function resolveExactStructuralRevisionDeletion(state, storyId, step2) {
|
|
|
223255
223539
|
byteEnd: entry.byteEnd,
|
|
223256
223540
|
charStart: paragraphRange.start,
|
|
223257
223541
|
charEnd: paragraphRange.end,
|
|
223258
|
-
revisionWIds: replay.
|
|
223542
|
+
revisionWIds: [...replay?.revisionWIds ?? [], ...markReplay ? [markReplay.wId] : []]
|
|
223259
223543
|
};
|
|
223260
223544
|
}
|
|
223261
223545
|
function runTargetRevisionReplayCommit(input, storyId, step2, options, pushHistory) {
|
|
@@ -223383,7 +223667,7 @@ function incomingRevisionIdsCollide(input, targetPartUri, targetStart, targetEnd
|
|
|
223383
223667
|
return true;
|
|
223384
223668
|
if (liveTargetRunXml) {
|
|
223385
223669
|
const previousOwner = parseTargetRevisionReplayOwner(transferFrom);
|
|
223386
|
-
const previousInspection = previousOwner ? inspectDirectParagraphRevisionRuns(previousOwner.targetRunXml) : null;
|
|
223670
|
+
const previousInspection = previousOwner?.targetRunXml !== undefined ? inspectDirectParagraphRevisionRuns(previousOwner.targetRunXml) : null;
|
|
223387
223671
|
if (!previousInspection)
|
|
223388
223672
|
return true;
|
|
223389
223673
|
for (const { wId } of previousInspection.revisions) {
|
|
@@ -223425,7 +223709,7 @@ function transferableInPlaceRevisionReplayOwner(input) {
|
|
|
223425
223709
|
return null;
|
|
223426
223710
|
const previousKey = parseTargetRevisionReplayOwner(previousOwner);
|
|
223427
223711
|
const nextKey = parseTargetRevisionReplayOwner(input.replayOwner);
|
|
223428
|
-
if (!previousKey || !nextKey || previousKey.partUri !== input.targetPartUri || nextKey.partUri !== input.targetPartUri || previousKey.blockId !== nextKey.blockId || previousKey.targetParagraphPropertiesXml !== nextKey.targetParagraphPropertiesXml || !sameTargetRevisionReplayProvenance(previousKey.targetRevisionReplay, nextKey.targetRevisionReplay))
|
|
223712
|
+
if (!previousKey || !nextKey || previousKey.partUri !== input.targetPartUri || nextKey.partUri !== input.targetPartUri || previousKey.blockId !== nextKey.blockId || previousKey.targetParagraphPropertiesXml !== nextKey.targetParagraphPropertiesXml || !sameTargetRevisionReplayProvenance(previousKey.targetRevisionReplay, nextKey.targetRevisionReplay) || !sameTargetParagraphMarkRevisionReplay(previousKey.targetParagraphMarkRevisionReplay, nextKey.targetParagraphMarkRevisionReplay) || previousKey.targetRunXml === undefined || nextKey.targetRunXml === undefined)
|
|
223429
223713
|
return null;
|
|
223430
223714
|
const previousInspection = inspectDirectParagraphRevisionRuns(previousKey.targetRunXml);
|
|
223431
223715
|
if (!previousInspection || !liveInspection || JSON.stringify(previousInspection) !== JSON.stringify(liveInspection)) {
|
|
@@ -223459,7 +223743,7 @@ function transferableRevisionReplayOwner(input) {
|
|
|
223459
223743
|
const nextKey = parseTargetRevisionReplayOwner(input.replayOwner);
|
|
223460
223744
|
if (!previousKey || !nextKey || previousKey.blockId !== nextKey.blockId)
|
|
223461
223745
|
return null;
|
|
223462
|
-
if (previousKey.targetParagraphPropertiesXml !== nextKey.targetParagraphPropertiesXml || previousKey.targetRunXml !== nextKey.targetRunXml || !sameTargetRevisionReplaySet(previousKey.targetRevisionReplay, nextKey.targetRevisionReplay))
|
|
223746
|
+
if (previousKey.targetParagraphPropertiesXml !== nextKey.targetParagraphPropertiesXml || previousKey.targetRunXml !== nextKey.targetRunXml || !sameTargetRevisionReplaySet(previousKey.targetRevisionReplay, nextKey.targetRevisionReplay) || !sameTargetParagraphMarkRevisionReplay(previousKey.targetParagraphMarkRevisionReplay, nextKey.targetParagraphMarkRevisionReplay))
|
|
223463
223747
|
return null;
|
|
223464
223748
|
const previousDeletion = input.scheduledDeletions.find((deletion) => deletion.partUri === previousKey.partUri && deletion.blockId === previousKey.blockId && JSON.stringify(deletion.revisionWIds) === JSON.stringify(input.revisionWIds));
|
|
223465
223749
|
return previousDeletion && input.revisionWIds.every((id) => previousDeletion.completeLiveCarrierWIds?.includes(id)) ? previousOwner : null;
|
|
@@ -223467,21 +223751,24 @@ function transferableRevisionReplayOwner(input) {
|
|
|
223467
223751
|
function parseTargetRevisionReplayOwner(owner) {
|
|
223468
223752
|
try {
|
|
223469
223753
|
const key2 = JSON.parse(owner);
|
|
223470
|
-
if (!Array.isArray(key2) || key2.length !==
|
|
223754
|
+
if (!Array.isArray(key2) || key2.length !== 6 || typeof key2[0] !== "string" || typeof key2[1] !== "string" || key2[3] !== null && typeof key2[3] !== "string") {
|
|
223471
223755
|
return null;
|
|
223472
223756
|
}
|
|
223473
223757
|
return {
|
|
223474
223758
|
partUri: key2[0],
|
|
223475
223759
|
blockId: key2[1],
|
|
223476
223760
|
targetParagraphPropertiesXml: key2[2],
|
|
223477
|
-
targetRunXml: key2[3],
|
|
223478
|
-
targetRevisionReplay: key2[4]
|
|
223761
|
+
targetRunXml: key2[3] === null ? undefined : key2[3],
|
|
223762
|
+
targetRevisionReplay: key2[4] === null ? undefined : key2[4],
|
|
223763
|
+
targetParagraphMarkRevisionReplay: key2[5] === null ? undefined : key2[5]
|
|
223479
223764
|
};
|
|
223480
223765
|
} catch {
|
|
223481
223766
|
return null;
|
|
223482
223767
|
}
|
|
223483
223768
|
}
|
|
223484
223769
|
function sameTargetRevisionReplayProvenance(left, right) {
|
|
223770
|
+
if (left === undefined && right === undefined)
|
|
223771
|
+
return true;
|
|
223485
223772
|
if (!left || typeof left !== "object" || !right || typeof right !== "object")
|
|
223486
223773
|
return false;
|
|
223487
223774
|
const leftReplay = left;
|
|
@@ -223489,12 +223776,23 @@ function sameTargetRevisionReplayProvenance(left, right) {
|
|
|
223489
223776
|
return leftReplay.policy === "preserve-target-revision-set" && rightReplay.policy === "preserve-target-revision-set" && leftReplay.originalText === rightReplay.originalText;
|
|
223490
223777
|
}
|
|
223491
223778
|
function sameTargetRevisionReplaySet(left, right) {
|
|
223779
|
+
if (left === undefined && right === undefined)
|
|
223780
|
+
return true;
|
|
223492
223781
|
if (!sameTargetRevisionReplayProvenance(left, right))
|
|
223493
223782
|
return false;
|
|
223494
223783
|
const leftReplay = left;
|
|
223495
223784
|
const rightReplay = right;
|
|
223496
223785
|
return Array.isArray(leftReplay.revisionWIds) && Array.isArray(rightReplay.revisionWIds) && JSON.stringify(leftReplay.revisionWIds) === JSON.stringify(rightReplay.revisionWIds);
|
|
223497
223786
|
}
|
|
223787
|
+
function sameTargetParagraphMarkRevisionReplay(left, right) {
|
|
223788
|
+
if (left === undefined && right === undefined)
|
|
223789
|
+
return true;
|
|
223790
|
+
if (!left || typeof left !== "object" || !right || typeof right !== "object")
|
|
223791
|
+
return false;
|
|
223792
|
+
const leftReplay = left;
|
|
223793
|
+
const rightReplay = right;
|
|
223794
|
+
return leftReplay.policy === "preserve-target-paragraph-mark-revision" && rightReplay.policy === "preserve-target-paragraph-mark-revision" && leftReplay.kind === rightReplay.kind && leftReplay.wId === rightReplay.wId && leftReplay.author === rightReplay.author && leftReplay.date === rightReplay.date;
|
|
223795
|
+
}
|
|
223498
223796
|
function applyRevisionReplayOwnershipTransfers(state, transfers) {
|
|
223499
223797
|
const reservations = state.idReservations.revisionWIds.replayOwners;
|
|
223500
223798
|
for (const transfer of transfers) {
|
|
@@ -223580,22 +223878,36 @@ function targetRevisionReplayOwner(partUri, step2, fallbackParagraphPropertiesXm
|
|
|
223580
223878
|
step2.blockId,
|
|
223581
223879
|
step2.targetParagraphPropertiesXml ?? fallbackParagraphPropertiesXml ?? null,
|
|
223582
223880
|
step2.targetRunXml,
|
|
223583
|
-
step2.targetRevisionReplay
|
|
223881
|
+
step2.targetRevisionReplay,
|
|
223882
|
+
"targetParagraphMarkRevisionReplay" in step2 ? step2.targetParagraphMarkRevisionReplay : undefined
|
|
223584
223883
|
]);
|
|
223585
223884
|
}
|
|
223586
223885
|
function prepareExactTargetRevisionInsert(input, partUri, insertByte, step2) {
|
|
223587
223886
|
const replay = step2.targetRevisionReplay;
|
|
223588
|
-
|
|
223887
|
+
const markReplay = step2.targetParagraphMarkRevisionReplay;
|
|
223888
|
+
if (!replay && !markReplay)
|
|
223589
223889
|
return null;
|
|
223590
|
-
|
|
223591
|
-
|
|
223890
|
+
const revisionWIds = [];
|
|
223891
|
+
if (replay !== undefined) {
|
|
223892
|
+
if (replay.structuralAction !== "insert" || !step2.targetRunXml)
|
|
223893
|
+
return false;
|
|
223894
|
+
const inspection = inspectDirectParagraphRevisionRuns(step2.targetRunXml);
|
|
223895
|
+
if (!inspection || inspection.currentText !== step2.text || inspection.originalText !== replay.originalText || JSON.stringify(inspection.revisions.map((revision) => revision.wId)) !== JSON.stringify(replay.revisionWIds))
|
|
223896
|
+
return false;
|
|
223897
|
+
revisionWIds.push(...replay.revisionWIds);
|
|
223898
|
+
}
|
|
223899
|
+
if (markReplay !== undefined) {
|
|
223900
|
+
const marker = parseParagraphMarkRevisionMarker(step2.targetParagraphPropertiesXml ?? "");
|
|
223901
|
+
if (!marker || marker.kind !== markReplay.kind || marker.wId !== markReplay.wId || marker.author !== markReplay.author || marker.date !== markReplay.date)
|
|
223902
|
+
return false;
|
|
223903
|
+
revisionWIds.push(markReplay.wId);
|
|
223904
|
+
}
|
|
223592
223905
|
const replayOwner = targetRevisionReplayOwner(partUri, step2);
|
|
223593
223906
|
const ownershipTransfers = [];
|
|
223594
|
-
|
|
223595
|
-
if (!inspection || inspection.currentText !== step2.text || inspection.originalText !== replay.originalText || JSON.stringify(inspection.revisions.map((revision) => revision.wId)) !== JSON.stringify(replay.revisionWIds) || incomingRevisionIdsCollide(input, partUri, insertByte, insertByte, replay.revisionWIds, replayOwner, ownershipTransfers))
|
|
223907
|
+
if (incomingRevisionIdsCollide(input, partUri, insertByte, insertByte, revisionWIds, replayOwner, ownershipTransfers))
|
|
223596
223908
|
return false;
|
|
223597
223909
|
applyRevisionReplayOwnershipTransfers(input.state, ownershipTransfers);
|
|
223598
|
-
for (const wId of
|
|
223910
|
+
for (const wId of revisionWIds)
|
|
223599
223911
|
reserveRevisionWIdForReplay(input.state, wId, replayOwner);
|
|
223600
223912
|
return true;
|
|
223601
223913
|
}
|
|
@@ -223717,6 +224029,24 @@ function unchangedBookmarkReferenceSteps(oldRuns, targetRuns) {
|
|
|
223717
224029
|
afterNamespaceBindings: bookmarkBindings
|
|
223718
224030
|
}];
|
|
223719
224031
|
}
|
|
224032
|
+
function retainedNoteMarkerRuns(oldRuns, targetRuns, storyId) {
|
|
224033
|
+
const markerPattern = /<(?:[A-Za-z_][\w.-]*:)?(?:footnoteRef|endnoteRef)\b/;
|
|
224034
|
+
if (!markerPattern.test(oldRuns) && !markerPattern.test(targetRuns)) {
|
|
224035
|
+
return { markerRunXml: "", oldRuns, targetRuns };
|
|
224036
|
+
}
|
|
224037
|
+
const family = storyId.startsWith("footnotes:") ? "footnotes" : storyId.startsWith("endnotes:") ? "endnotes" : null;
|
|
224038
|
+
if (!family)
|
|
224039
|
+
return null;
|
|
224040
|
+
const oldMarker = splitLeadingNoteMarkerRun(oldRuns, family);
|
|
224041
|
+
const targetMarker = splitLeadingNoteMarkerRun(targetRuns, family);
|
|
224042
|
+
if (!oldMarker || !targetMarker || !sameNoteMarkerRunXml(oldMarker.markerRunXml, targetMarker.markerRunXml))
|
|
224043
|
+
return null;
|
|
224044
|
+
return {
|
|
224045
|
+
markerRunXml: oldMarker.markerRunXml,
|
|
224046
|
+
oldRuns: oldMarker.remainingRunXml,
|
|
224047
|
+
targetRuns: targetMarker.remainingRunXml
|
|
224048
|
+
};
|
|
224049
|
+
}
|
|
223720
224050
|
function runCompareBodyEditCommit(input, storyId, step2, changeMode, options, pushHistory, referenceSteps) {
|
|
223721
224051
|
const { state, txId } = input;
|
|
223722
224052
|
const partUri = storyPartUriFromStoryId2(storyId);
|
|
@@ -223738,6 +224068,9 @@ function runCompareBodyEditCommit(input, storyId, step2, changeMode, options, pu
|
|
|
223738
224068
|
const closeStart = paraXml.lastIndexOf("</");
|
|
223739
224069
|
const innerXml = closeStart > openEnd ? paraXml.slice(openEnd, closeStart) : "";
|
|
223740
224070
|
const oldRunsRaw = stripElements(innerXml, "pPr");
|
|
224071
|
+
const retainedMarker = retainedNoteMarkerRuns(oldRunsRaw, newRuns, storyId);
|
|
224072
|
+
if (!retainedMarker)
|
|
224073
|
+
return rejected14(txId, "unsupported-context");
|
|
223741
224074
|
const stableBookmarkSteps = unchangedBookmarkReferenceSteps(oldRunsRaw, newRuns);
|
|
223742
224075
|
if (stableBookmarkSteps === null && referenceSteps.length === 0)
|
|
223743
224076
|
return rejected14(txId, "unsupported-context");
|
|
@@ -223756,10 +224089,10 @@ function runCompareBodyEditCommit(input, storyId, step2, changeMode, options, pu
|
|
|
223756
224089
|
storyId
|
|
223757
224090
|
});
|
|
223758
224091
|
}
|
|
223759
|
-
const oldRunsDel =
|
|
224092
|
+
const oldRunsDel = retainedMarker.oldRuns.replace(/<((?:[\w.-]+:)?)t(\b[^>]*)>/g, "<$1delText$2>").replace(/<\/((?:[\w.-]+:)?)t>/g, "</$1delText>");
|
|
223760
224093
|
const hunkStamps = makeCompareHunkStampSource(stamps, input);
|
|
223761
|
-
const retainedCarrier =
|
|
223762
|
-
const protectedRuns = retainedCarrier ? protectedReferenceSteps.length === 0 ? renderTrackedRunsWithRetainedCarrier(
|
|
224094
|
+
const retainedCarrier = retainedMarker.targetRuns.includes("<w:drawing") || retainedMarker.targetRuns.includes("<w:fldSimple") && protectedReferenceSteps.length === 0;
|
|
224095
|
+
const protectedRuns = retainedCarrier ? protectedReferenceSteps.length === 0 ? renderTrackedRunsWithRetainedCarrier(retainedMarker.oldRuns, retainedMarker.targetRuns, hunkStamps.next, paragraphWrapper.wordprocessingPrefix, bytes, entry.byteStart, entry.byteEnd) : null : renderTrackedRunsWithProtectedReferences(retainedMarker.oldRuns, retainedMarker.targetRuns, protectedReferenceSteps, hunkStamps.next, paragraphWrapper.wordprocessingPrefix);
|
|
223763
224096
|
if (retainedCarrier && !protectedRuns)
|
|
223764
224097
|
return rejected14(txId, "unsupported-context");
|
|
223765
224098
|
if (!protectedRuns && stableBookmarkSteps?.length)
|
|
@@ -223772,10 +224105,10 @@ function runCompareBodyEditCommit(input, storyId, step2, changeMode, options, pu
|
|
|
223772
224105
|
} else {
|
|
223773
224106
|
const fallbackPair = hunkStamps.next();
|
|
223774
224107
|
delXml = oldRunsDel ? wrapTracked("del", oldRunsDel, fallbackPair.del, "rsidDel", paragraphWrapper.wordprocessingPrefix) : "";
|
|
223775
|
-
insXml =
|
|
224108
|
+
insXml = retainedMarker.targetRuns ? wrapTracked("ins", retainedMarker.targetRuns, fallbackPair.ins, "rsidR", paragraphWrapper.wordprocessingPrefix) : "";
|
|
223776
224109
|
}
|
|
223777
224110
|
const trackedPPrXml = buildTrackedParagraphProperties(targetParagraphPropertiesXml, pPrXml, stamps.paragraphProperties ?? stamps.ins, paragraphWrapper.wordprocessingPrefix);
|
|
223778
|
-
const assembledParaXml = `${paragraphWrapper.openTag}${trackedPPrXml}${delXml}${insXml}${paragraphWrapper.closeTag}`;
|
|
224111
|
+
const assembledParaXml = `${paragraphWrapper.openTag}${trackedPPrXml}` + `${retainedMarker.markerRunXml}${delXml}${insXml}${paragraphWrapper.closeTag}`;
|
|
223779
224112
|
if (hunkStamps.usedPairs.length === 0) {
|
|
223780
224113
|
newParaXml = assembledParaXml;
|
|
223781
224114
|
} else {
|
|
@@ -224068,6 +224401,9 @@ function runCompareBodyFormatEditCommit(input, storyId, step2, changeMode, optio
|
|
|
224068
224401
|
const closeStart = paraXml.lastIndexOf("</");
|
|
224069
224402
|
const innerXml = closeStart > openEnd ? paraXml.slice(openEnd, closeStart) : "";
|
|
224070
224403
|
const oldRunsRaw = stripElements(innerXml, "pPr");
|
|
224404
|
+
const retainedMarker = retainedNoteMarkerRuns(oldRunsRaw, targetRunXml, storyId);
|
|
224405
|
+
if (!retainedMarker)
|
|
224406
|
+
return rejected14(txId, "unsupported-context");
|
|
224071
224407
|
const paragraphPropertiesChanged = !equivalentParagraphProperties(targetPPrXml, pPrXml);
|
|
224072
224408
|
const stableBookmarkSteps = unchangedBookmarkReferenceSteps(oldRunsRaw, targetRunXml);
|
|
224073
224409
|
if (stableBookmarkSteps === null && referenceSteps.length === 0)
|
|
@@ -224135,12 +224471,12 @@ function runCompareBodyFormatEditCommit(input, storyId, step2, changeMode, optio
|
|
|
224135
224471
|
const stamps = compareTrackedStampPair(input, paragraphPropertiesChanged);
|
|
224136
224472
|
if (!stamps)
|
|
224137
224473
|
return rejected14(txId, "no-author-configured");
|
|
224138
|
-
const oldRunsDel =
|
|
224139
|
-
const protectedRuns = renderTrackedRunsWithProtectedReferences(
|
|
224474
|
+
const oldRunsDel = retainedMarker.oldRuns.replace(/<((?:[\w.-]+:)?)t(\b[^>]*)>/g, "<$1delText$2>").replace(/<\/((?:[\w.-]+:)?)t>/g, "</$1delText>");
|
|
224475
|
+
const protectedRuns = renderTrackedRunsWithProtectedReferences(retainedMarker.oldRuns, retainedMarker.targetRuns, protectedReferenceSteps, () => stamps, paragraphWrapper.wordprocessingPrefix);
|
|
224140
224476
|
if (!protectedRuns && stableBookmarkSteps?.length)
|
|
224141
224477
|
return rejected14(txId, "unsupported-context");
|
|
224142
224478
|
const delXml = protectedRuns?.xml ?? (oldRunsDel ? wrapTracked("del", oldRunsDel, stamps.del, "rsidDel", paragraphWrapper.wordprocessingPrefix) : "");
|
|
224143
|
-
const insXml = protectedRuns ? "" :
|
|
224479
|
+
const insXml = protectedRuns ? "" : retainedMarker.targetRuns ? wrapTracked("ins", retainedMarker.targetRuns, stamps.ins, "rsidR", paragraphWrapper.wordprocessingPrefix) : "";
|
|
224144
224480
|
if (delXml || insXml) {
|
|
224145
224481
|
createdRefs.push({ kind: "trackedChange", entityId: stamps.ins.rsid, storyId });
|
|
224146
224482
|
}
|
|
@@ -224152,7 +224488,7 @@ function runCompareBodyFormatEditCommit(input, storyId, step2, changeMode, optio
|
|
|
224152
224488
|
});
|
|
224153
224489
|
}
|
|
224154
224490
|
const trackedPPrXml = buildTrackedParagraphProperties(targetParagraphPropertiesXml, pPrXml, stamps.paragraphProperties ?? stamps.ins, paragraphWrapper.wordprocessingPrefix);
|
|
224155
|
-
newParaXml = `${paragraphWrapper.openTag}${trackedPPrXml}${delXml}${insXml}${paragraphWrapper.closeTag}`;
|
|
224491
|
+
newParaXml = `${paragraphWrapper.openTag}${trackedPPrXml}` + `${retainedMarker.markerRunXml}${delXml}${insXml}${paragraphWrapper.closeTag}`;
|
|
224156
224492
|
}
|
|
224157
224493
|
} else {
|
|
224158
224494
|
newParaXml = `${paragraphWrapper.openTag}${targetPPrXml}${targetRunXml}${paragraphWrapper.closeTag}`;
|
|
@@ -228689,13 +229025,14 @@ function changeIlvl(input, delta) {
|
|
|
228689
229025
|
const trackedFormatting = buildTrackedListFormattingMetadata(input, op.target.storyId);
|
|
228690
229026
|
if (trackedFormatting && "reason" in trackedFormatting)
|
|
228691
229027
|
return rejected15(input.txId, trackedFormatting.reason);
|
|
228692
|
-
const { target, bytes, paraXml, plan } = prepared;
|
|
229028
|
+
const { target, bytes, paraXml, plan, paragraphStyleId } = prepared;
|
|
228693
229029
|
return commitParagraphNumPrRewrite({
|
|
228694
229030
|
input,
|
|
228695
229031
|
target,
|
|
228696
229032
|
bytes,
|
|
228697
229033
|
paraXml,
|
|
228698
229034
|
numPr: { numId: plan.numId, ilvl: plan.ilvl },
|
|
229035
|
+
paragraphStyleId,
|
|
228699
229036
|
trackedFormatting
|
|
228700
229037
|
});
|
|
228701
229038
|
}
|
|
@@ -228716,10 +229053,30 @@ function prepareListLevelChange(state, op, delta, author) {
|
|
|
228716
229053
|
});
|
|
228717
229054
|
if (!structural.ok)
|
|
228718
229055
|
return structural;
|
|
228719
|
-
const
|
|
229056
|
+
const effective = resolveEffectiveListReferenceForState(state, paraXml);
|
|
229057
|
+
const plan = decideListLevelChange(effective, delta);
|
|
228720
229058
|
if (plan.kind === "reject")
|
|
228721
229059
|
return { ok: false, reason: plan.reason };
|
|
228722
|
-
|
|
229060
|
+
const targetStyle = resolveTargetLevelParagraphStyle(state, effective, plan.ilvl);
|
|
229061
|
+
if (!targetStyle.ok)
|
|
229062
|
+
return targetStyle;
|
|
229063
|
+
return { ok: true, target, bytes, paraXml, plan, paragraphStyleId: targetStyle.paragraphStyleId };
|
|
229064
|
+
}
|
|
229065
|
+
function resolveTargetLevelParagraphStyle(state, effective, ilvl) {
|
|
229066
|
+
if (effective.definition.status !== "resolved")
|
|
229067
|
+
return { ok: false, reason: effectiveListRejectionReason(effective) };
|
|
229068
|
+
const level = resolveNumberingLevel(effective.definition, ilvl);
|
|
229069
|
+
if (!level)
|
|
229070
|
+
return { ok: false, reason: "list-numbering-level-missing" };
|
|
229071
|
+
const paragraphStyleId = level.level.paragraphStyleId;
|
|
229072
|
+
if (paragraphStyleId === null)
|
|
229073
|
+
return { ok: true, paragraphStyleId: null };
|
|
229074
|
+
const styles = getEffectiveListResolverContextForState(state);
|
|
229075
|
+
const record3 = styles.styleIndex.get(paragraphStyleId);
|
|
229076
|
+
if (styles.stylesStatus !== "available" || !record3 || !isParagraphStyleRecord(record3) || record3.listCarrierStatus === "malformed") {
|
|
229077
|
+
return { ok: false, reason: "list-numbering-link-invalid" };
|
|
229078
|
+
}
|
|
229079
|
+
return { ok: true, paragraphStyleId };
|
|
228723
229080
|
}
|
|
228724
229081
|
function validateListLevelChange(state, op, author) {
|
|
228725
229082
|
const prepared = prepareListLevelChange(state, op, op.kind === "listIndent" ? 1 : -1, author);
|
|
@@ -228839,8 +229196,11 @@ function changeIlvlRange(input, delta) {
|
|
|
228839
229196
|
});
|
|
228840
229197
|
continue;
|
|
228841
229198
|
}
|
|
229199
|
+
const targetStyle = resolveTargetLevelParagraphStyle(input.state, ref3, nextIlvl);
|
|
229200
|
+
if (!targetStyle.ok)
|
|
229201
|
+
return rejected15(input.txId, targetStyle.reason);
|
|
228842
229202
|
const trackedFormatting = trackedAllocator && !("reason" in trackedAllocator) ? trackedAllocator.mint() : undefined;
|
|
228843
|
-
const rewrite = trackedFormatting ? rewriteParagraphNumPrTracked(paraXml, { numId: ref3.authoredNumId, ilvl: nextIlvl }, trackedFormatting) : rewriteParagraphNumPr(paraXml, { numId: ref3.authoredNumId, ilvl: nextIlvl });
|
|
229203
|
+
const rewrite = trackedFormatting ? rewriteParagraphNumPrTracked(paraXml, { numId: ref3.authoredNumId, ilvl: nextIlvl }, trackedFormatting, targetStyle.paragraphStyleId) : rewriteParagraphNumPr(paraXml, { numId: ref3.authoredNumId, ilvl: nextIlvl }, targetStyle.paragraphStyleId);
|
|
228844
229204
|
if (!rewrite.ok)
|
|
228845
229205
|
return rejected15(input.txId, rewrite.reason);
|
|
228846
229206
|
items.push({
|
|
@@ -229097,13 +229457,13 @@ function decodeByteRange2(bytes, startByte, endByte) {
|
|
|
229097
229457
|
return "";
|
|
229098
229458
|
return TD60.decode(bytes.subarray(startByte, endByte));
|
|
229099
229459
|
}
|
|
229100
|
-
function rewriteParagraphNumPr(paraXml, numPr) {
|
|
229460
|
+
function rewriteParagraphNumPr(paraXml, numPr, paragraphStyleId) {
|
|
229101
229461
|
const selfClosingParaMatch = paraXml.match(/^<((?:[\w.-]+:)?p)\b([^>]*)\/>$/);
|
|
229102
229462
|
if (selfClosingParaMatch) {
|
|
229103
229463
|
const paragraphQName = selfClosingParaMatch[1];
|
|
229104
229464
|
const attrs = selfClosingParaMatch[2] ?? "";
|
|
229105
229465
|
const names2 = wordNamesForQName(paragraphQName);
|
|
229106
|
-
const listParagraphStyleXml = renderParagraphStyle(names2, "ListParagraph");
|
|
229466
|
+
const listParagraphStyleXml = renderParagraphStyle(names2, paragraphStyleId ?? "ListParagraph");
|
|
229107
229467
|
const numPrXml2 = renderParagraphNumPr(names2, numPr);
|
|
229108
229468
|
return {
|
|
229109
229469
|
ok: true,
|
|
@@ -229121,7 +229481,7 @@ function rewriteParagraphNumPr(paraXml, numPr) {
|
|
|
229121
229481
|
const pPrName = names2.element("pPr");
|
|
229122
229482
|
return {
|
|
229123
229483
|
ok: true,
|
|
229124
|
-
xml: `${openTag}<${pPrName}>${renderParagraphStyle(names2, "ListParagraph")}` + `${renderParagraphNumPr(names2, numPr)}</${pPrName}>${inner}`
|
|
229484
|
+
xml: `${openTag}<${pPrName}>${renderParagraphStyle(names2, paragraphStyleId ?? "ListParagraph")}` + `${renderParagraphNumPr(names2, numPr)}</${pPrName}>${inner}`
|
|
229125
229485
|
};
|
|
229126
229486
|
}
|
|
229127
229487
|
const pPrQName = /^<((?:[\w.-]+:)?pPr)\b/.exec(split.pPr)?.[1];
|
|
@@ -229131,7 +229491,7 @@ function rewriteParagraphNumPr(paraXml, numPr) {
|
|
|
229131
229491
|
const children = readLivePPrChildren(split.pPr);
|
|
229132
229492
|
if (!children)
|
|
229133
229493
|
return { ok: false, reason: "list-target-not-found" };
|
|
229134
|
-
const withStyle = children.some((child) => child.localName === "pStyle") ? split.pPr : rewriteLivePPrChild(split.pPr, "pStyle", renderParagraphStyle(names, "ListParagraph"), { ordered: true });
|
|
229494
|
+
const withStyle = paragraphStyleId === null || paragraphStyleId === undefined ? children.some((child) => child.localName === "pStyle") ? split.pPr : rewriteLivePPrChild(split.pPr, "pStyle", renderParagraphStyle(names, "ListParagraph"), { ordered: true }) : rewriteLivePPrChild(split.pPr, "pStyle", renderParagraphStyle(names, paragraphStyleId), { ordered: true });
|
|
229135
229495
|
if (withStyle === null)
|
|
229136
229496
|
return { ok: false, reason: "list-target-not-found" };
|
|
229137
229497
|
const numPrXml = renderParagraphNumPr(names, numPr);
|
|
@@ -229229,7 +229589,7 @@ function readLivePPrChildren(pPrXml) {
|
|
|
229229
229589
|
return children;
|
|
229230
229590
|
}
|
|
229231
229591
|
function commitParagraphNumPrRewrite(args) {
|
|
229232
|
-
const rewrite = args.trackedFormatting ? rewriteParagraphNumPrTracked(args.paraXml, args.numPr, args.trackedFormatting) : rewriteParagraphNumPr(args.paraXml, args.numPr);
|
|
229592
|
+
const rewrite = args.trackedFormatting ? rewriteParagraphNumPrTracked(args.paraXml, args.numPr, args.trackedFormatting, args.paragraphStyleId) : rewriteParagraphNumPr(args.paraXml, args.numPr, args.paragraphStyleId);
|
|
229233
229593
|
if (!rewrite.ok)
|
|
229234
229594
|
return rejected15(args.input.txId, rewrite.reason);
|
|
229235
229595
|
return commitParagraphRewrite({
|
|
@@ -229330,8 +229690,8 @@ function buildTrackedListFormattingAllocator(input, storyId) {
|
|
|
229330
229690
|
}
|
|
229331
229691
|
};
|
|
229332
229692
|
}
|
|
229333
|
-
function rewriteParagraphNumPrTracked(paraXml, numPr, tracked) {
|
|
229334
|
-
const direct = rewriteParagraphNumPr(paraXml, numPr);
|
|
229693
|
+
function rewriteParagraphNumPrTracked(paraXml, numPr, tracked, paragraphStyleId) {
|
|
229694
|
+
const direct = rewriteParagraphNumPr(paraXml, numPr, paragraphStyleId);
|
|
229335
229695
|
if (!direct.ok)
|
|
229336
229696
|
return direct;
|
|
229337
229697
|
return wrapParagraphTrackedChange(direct.xml, paraXml, tracked);
|
|
@@ -239497,13 +239857,13 @@ function allocateTransactionId() {
|
|
|
239497
239857
|
return `tx-${time3}-${nextTx.toString(36)}-${random}`;
|
|
239498
239858
|
}
|
|
239499
239859
|
function createSDTransactionContext(input) {
|
|
239500
|
-
return new TxContext(input.state, input.author, input.
|
|
239860
|
+
return new TxContext(input.state, input.author, input.readCurrentComparePlanBinding, input.options, input.onCommitted);
|
|
239501
239861
|
}
|
|
239502
239862
|
|
|
239503
239863
|
class TxContext {
|
|
239504
|
-
constructor(state, author,
|
|
239864
|
+
constructor(state, author, readCurrentComparePlanBinding, options = {}, onCommitted) {
|
|
239505
239865
|
this.state = state;
|
|
239506
|
-
this.
|
|
239866
|
+
this.readCurrentComparePlanBinding = readCurrentComparePlanBinding;
|
|
239507
239867
|
this.options = options;
|
|
239508
239868
|
this.onCommitted = onCommitted;
|
|
239509
239869
|
this.txId = allocateTransactionId();
|
|
@@ -240102,7 +240462,7 @@ class TxContext {
|
|
|
240102
240462
|
author: this.author,
|
|
240103
240463
|
authorOverride: this.authorOverride,
|
|
240104
240464
|
txTimestamp: this.txTimestamp,
|
|
240105
|
-
|
|
240465
|
+
readCurrentComparePlanBinding: this.readCurrentComparePlanBinding,
|
|
240106
240466
|
options: this.options,
|
|
240107
240467
|
op,
|
|
240108
240468
|
pushHistory: (entry) => this.pushHistoryEntry(entry),
|
|
@@ -247981,7 +248341,12 @@ var init_comment_export_normalization = __esm(() => {
|
|
|
247981
248341
|
|
|
247982
248342
|
// ../../../v2/editor-core/dist/document/transactions/note-export-hygiene.js
|
|
247983
248343
|
function planNoteExportHygiene(state) {
|
|
247984
|
-
|
|
248344
|
+
return buildNoteExportHygienePlan(state, isNoteFreePackage(state));
|
|
248345
|
+
}
|
|
248346
|
+
function planNoteExportHygieneForFingerprint(state) {
|
|
248347
|
+
return buildNoteExportHygienePlan(state, isNoteFreePackageForFingerprint(state));
|
|
248348
|
+
}
|
|
248349
|
+
function buildNoteExportHygienePlan(state, noteFree) {
|
|
247985
248350
|
const removals = new Set;
|
|
247986
248351
|
if (noteFree) {
|
|
247987
248352
|
for (const partUri of [FOOTNOTES_PART_URI2, ENDNOTES_PART_URI2]) {
|
|
@@ -248011,6 +248376,12 @@ function transformXmlBytes(bytes, transform2) {
|
|
|
248011
248376
|
return next === xml ? bytes : TE41.encode(next);
|
|
248012
248377
|
}
|
|
248013
248378
|
function isNoteFreePackage(state) {
|
|
248379
|
+
return isNoteFreePackageCore(state, { pruneUnconfiguredOrphanSidecar: state.renderCommitSequence !== 0 });
|
|
248380
|
+
}
|
|
248381
|
+
function isNoteFreePackageForFingerprint(state) {
|
|
248382
|
+
return isNoteFreePackageCore(state, { pruneUnconfiguredOrphanSidecar: true });
|
|
248383
|
+
}
|
|
248384
|
+
function isNoteFreePackageCore(state, options) {
|
|
248014
248385
|
for (const partUri of listStoryPartUris2(state)) {
|
|
248015
248386
|
const bytes = state.packageBytes.get(partUri);
|
|
248016
248387
|
if (!bytes)
|
|
@@ -248032,7 +248403,7 @@ function isNoteFreePackage(state) {
|
|
|
248032
248403
|
if (hasConfiguredNoteSettings(settingsXml))
|
|
248033
248404
|
return false;
|
|
248034
248405
|
const hasNoteSidecar = state.packageBytes.has(FOOTNOTES_PART_URI2) || state.packageBytes.has(ENDNOTES_PART_URI2);
|
|
248035
|
-
if (
|
|
248406
|
+
if (!options.pruneUnconfiguredOrphanSidecar && hasNoteSidecar && !/<w:(?:footnotePr|endnotePr)\b/.test(settingsXml))
|
|
248036
248407
|
return false;
|
|
248037
248408
|
return true;
|
|
248038
248409
|
}
|
|
@@ -249150,6 +249521,45 @@ function computeSDDocumentSessionInternalPackageBinding(session) {
|
|
|
249150
249521
|
const payload = PACKAGE_BINDING_TEXT_ENCODER.encode(JSON.stringify({ version: "sd-package-binding/v1", parts }));
|
|
249151
249522
|
return `sha256:${sha256HexSync(payload)}`;
|
|
249152
249523
|
}
|
|
249524
|
+
function computeSDDocumentSessionInternalSemanticPackageBinding(session) {
|
|
249525
|
+
const internal = INTERNALS.get(session);
|
|
249526
|
+
if (!internal)
|
|
249527
|
+
throw new Error("internal: unknown SDDocumentSession instance");
|
|
249528
|
+
const noteHygienePlan = planNoteExportHygieneForFingerprint(internal.state);
|
|
249529
|
+
const partUris = new Set([
|
|
249530
|
+
...internal.state.parts.keys(),
|
|
249531
|
+
...internal.state.packageBytes.keys()
|
|
249532
|
+
]);
|
|
249533
|
+
const parts = [...partUris].filter((partUri) => !noteHygienePlan.removals.has(partUri)).map((partUri) => {
|
|
249534
|
+
const descriptor = internal.state.parts.get(partUri)?.descriptor ?? null;
|
|
249535
|
+
const sourcePartSize = internal.openResult.packageOpen.pkg.parts.get(partUri)?.uncompressedSize;
|
|
249536
|
+
const unchangedFromSource = descriptor?.revision === internal.state.sourcePartRevisions.get(partUri);
|
|
249537
|
+
const oversizedUnchangedSource = unchangedFromSource && sourcePartSize !== undefined && sourcePartSize > 64 * 1024 * 1024;
|
|
249538
|
+
const rawBytes = oversizedUnchangedSource ? null : descriptor ? getSDDocumentSessionInternalCapturePartBytes(session, partUri, unchangedFromSource ? 64 * 1024 * 1024 : Number.MAX_SAFE_INTEGER) : internal.state.packageBytes.get(partUri) ?? null;
|
|
249539
|
+
const bytes = rawBytes ? canonicalizePartBytesForSemanticBinding(partUri, rawBytes, noteHygienePlan) : null;
|
|
249540
|
+
return {
|
|
249541
|
+
partUri,
|
|
249542
|
+
contentType: descriptor?.contentType ?? null,
|
|
249543
|
+
kind: descriptor?.kind ?? null,
|
|
249544
|
+
byteLength: bytes?.length ?? null,
|
|
249545
|
+
bytesSha256: bytes ? sha256HexSync(bytes) : null
|
|
249546
|
+
};
|
|
249547
|
+
}).sort((a, b) => a.partUri.localeCompare(b.partUri));
|
|
249548
|
+
const payload = PACKAGE_BINDING_TEXT_ENCODER.encode(JSON.stringify({ version: "sd-package-binding-semantic/v1", parts }));
|
|
249549
|
+
return `sha256-semantic:${sha256HexSync(payload)}`;
|
|
249550
|
+
}
|
|
249551
|
+
function canonicalizePartBytesForSemanticBinding(partUri, bytes, noteHygienePlan) {
|
|
249552
|
+
const noteProjected = noteHygienePlan.transformPartBytes(partUri, bytes);
|
|
249553
|
+
const wordXmlNormalized = normalizeWordXmlForSave(partUri, noteProjected);
|
|
249554
|
+
if (!WORD_XML_PART_RE.test(partUri))
|
|
249555
|
+
return wordXmlNormalized;
|
|
249556
|
+
const xml = SAVE_XML_DECODER.decode(wordXmlNormalized);
|
|
249557
|
+
const stripped = stripSessionIssuedTrackedChangeIdsForFingerprint(xml);
|
|
249558
|
+
return stripped === xml ? wordXmlNormalized : SAVE_XML_ENCODER.encode(stripped);
|
|
249559
|
+
}
|
|
249560
|
+
function stripSessionIssuedTrackedChangeIdsForFingerprint(xml) {
|
|
249561
|
+
return xml.replace(RSID_ATTR_FOR_FINGERPRINT_RE, "").replace(SIMPLE_TRACKED_CHANGE_WRAPPER_OPEN_RE, (tag) => tag.replace(WRAPPER_ID_ATTR_FOR_FINGERPRINT_RE, ""));
|
|
249562
|
+
}
|
|
249153
249563
|
function markSDDocumentSessionInternalExactPackageSave(session, binding) {
|
|
249154
249564
|
var _a3;
|
|
249155
249565
|
const internal = INTERNALS.get(session);
|
|
@@ -250169,7 +250579,7 @@ function beginSDDocumentSessionInternalTransaction(session, options) {
|
|
|
250169
250579
|
return createSDTransactionContext({
|
|
250170
250580
|
state: internal.state,
|
|
250171
250581
|
author: internal.author,
|
|
250172
|
-
|
|
250582
|
+
readCurrentComparePlanBinding: () => computeSDDocumentSessionInternalSemanticPackageBinding(session),
|
|
250173
250583
|
options: mergedOptions,
|
|
250174
250584
|
onCommitted: internal.onMutationCommitted
|
|
250175
250585
|
});
|
|
@@ -252948,7 +253358,7 @@ async function waitForQueuedPreScan(controller, cancel) {
|
|
|
252948
253358
|
}
|
|
252949
253359
|
return outcome.value;
|
|
252950
253360
|
}
|
|
252951
|
-
var SAVE_XML_DECODER, SAVE_XML_ENCODER, PACKAGE_BINDING_TEXT_ENCODER, WORD_XML_PART_RE, REVIEW_SOURCE_COPY_CHUNK_BYTES, INTERNALS, LIVE_MAIN_STORY_SCAN_MEMO, RELS_DECODER, DEFAULT_SAVE_COMPRESSION_LEVEL = 6, SAVE_ZIP_ENTRY_MTIME, EMPTY_PART_URI_SET, ALREADY_COMPRESSED_PART_RE, RAW_FONT_PART_RE, SDSourceBackedSaveUnsupportedError, REMOTE_PROJECTION_GENERATIONS, COLLABORATION_ATTACHMENTS, FIELD_STABLE_ID_ALLOCATORS;
|
|
253361
|
+
var SAVE_XML_DECODER, SAVE_XML_ENCODER, PACKAGE_BINDING_TEXT_ENCODER, WORD_XML_PART_RE, REVIEW_SOURCE_COPY_CHUNK_BYTES, INTERNALS, LIVE_MAIN_STORY_SCAN_MEMO, RELS_DECODER, DEFAULT_SAVE_COMPRESSION_LEVEL = 6, SAVE_ZIP_ENTRY_MTIME, EMPTY_PART_URI_SET, ALREADY_COMPRESSED_PART_RE, RAW_FONT_PART_RE, RSID_ATTR_FOR_FINGERPRINT_RE, SIMPLE_TRACKED_CHANGE_WRAPPER_OPEN_RE, WRAPPER_ID_ATTR_FOR_FINGERPRINT_RE, SDSourceBackedSaveUnsupportedError, REMOTE_PROJECTION_GENERATIONS, COLLABORATION_ATTACHMENTS, FIELD_STABLE_ID_ALLOCATORS;
|
|
252952
253362
|
var init_sd_document_session = __esm(() => {
|
|
252953
253363
|
init_textbox_atom_replacement();
|
|
252954
253364
|
init_paragraph_signal_index();
|
|
@@ -253025,6 +253435,9 @@ var init_sd_document_session = __esm(() => {
|
|
|
253025
253435
|
EMPTY_PART_URI_SET = new Set;
|
|
253026
253436
|
ALREADY_COMPRESSED_PART_RE = /\.(png|jpe?g|gif|webp|bmp|ico|tiff?|emf|wmf|mp3|mp4|m4a|mov|avi|wmv|ogg|zip|gz|woff2?|eot)$/i;
|
|
253027
253437
|
RAW_FONT_PART_RE = /\.(ttf|otf|odttf)$/i;
|
|
253438
|
+
RSID_ATTR_FOR_FINGERPRINT_RE = /\s+w:rsid\w*="[^"]*"/g;
|
|
253439
|
+
SIMPLE_TRACKED_CHANGE_WRAPPER_OPEN_RE = /<w:(?:ins|del|rPrChange|pPrChange)\b[^>]*>/g;
|
|
253440
|
+
WRAPPER_ID_ATTR_FOR_FINGERPRINT_RE = /\s+w:id="[^"]*"/g;
|
|
253028
253441
|
SDSourceBackedSaveUnsupportedError = class SDSourceBackedSaveUnsupportedError extends Error {
|
|
253029
253442
|
constructor(code, partUri, message) {
|
|
253030
253443
|
super(message);
|
|
@@ -275384,7 +275797,7 @@ var init_word_bibliography = __esm(() => {
|
|
|
275384
275797
|
];
|
|
275385
275798
|
});
|
|
275386
275799
|
|
|
275387
|
-
//
|
|
275800
|
+
// ../../packages/layout-engine/style-engine/src/cascade.ts
|
|
275388
275801
|
function combineProperties(propertiesArray, options = {}) {
|
|
275389
275802
|
const { fullOverrideProps = [], specialHandling = {} } = options;
|
|
275390
275803
|
if (!propertiesArray || propertiesArray.length === 0) {
|
|
@@ -275484,14 +275897,14 @@ var init_cascade = __esm(() => {
|
|
|
275484
275897
|
];
|
|
275485
275898
|
});
|
|
275486
275899
|
|
|
275487
|
-
//
|
|
275900
|
+
// ../../packages/layout-engine/style-engine/src/index.ts
|
|
275488
275901
|
var sdtMetadataCache;
|
|
275489
275902
|
var init_src4 = __esm(() => {
|
|
275490
275903
|
init_cascade();
|
|
275491
275904
|
sdtMetadataCache = new Map;
|
|
275492
275905
|
});
|
|
275493
275906
|
|
|
275494
|
-
//
|
|
275907
|
+
// ../../packages/layout-engine/style-engine/src/ooxml/table-style-selection.ts
|
|
275495
275908
|
function isKnownTableStyleId(styleId, translatedLinkedStyles) {
|
|
275496
275909
|
if (!styleId || !translatedLinkedStyles?.styles)
|
|
275497
275910
|
return false;
|
|
@@ -275546,7 +275959,7 @@ var init_table_style_selection = __esm(() => {
|
|
|
275546
275959
|
};
|
|
275547
275960
|
});
|
|
275548
275961
|
|
|
275549
|
-
//
|
|
275962
|
+
// ../../packages/layout-engine/style-engine/src/ooxml/index.ts
|
|
275550
275963
|
function resolveRunProperties(params, inlineRpr, resolvedPpr, tableInfo = null, isListNumber = false, numberingDefinedInline = false) {
|
|
275551
275964
|
if (!params.translatedLinkedStyles?.styles) {
|
|
275552
275965
|
return inlineRpr ?? {};
|
|
@@ -276129,7 +276542,7 @@ var init_default_floors = __esm(() => {
|
|
|
276129
276542
|
};
|
|
276130
276543
|
});
|
|
276131
276544
|
|
|
276132
|
-
//
|
|
276545
|
+
// ../../node_modules/.pnpm/sax@1.6.0/node_modules/sax/lib/sax.js
|
|
276133
276546
|
var require_sax = __commonJS((exports) => {
|
|
276134
276547
|
(function(sax) {
|
|
276135
276548
|
sax.parser = function(strict, opt) {
|
|
@@ -277663,7 +278076,7 @@ Char: ` + parser.c;
|
|
|
277663
278076
|
})(typeof exports === "undefined" ? exports.sax = {} : exports);
|
|
277664
278077
|
});
|
|
277665
278078
|
|
|
277666
|
-
//
|
|
278079
|
+
// ../../node_modules/.pnpm/xml-js@1.6.11/node_modules/xml-js/lib/array-helper.js
|
|
277667
278080
|
var require_array_helper = __commonJS((exports, module) => {
|
|
277668
278081
|
module.exports = {
|
|
277669
278082
|
isArray: function(value) {
|
|
@@ -277675,7 +278088,7 @@ var require_array_helper = __commonJS((exports, module) => {
|
|
|
277675
278088
|
};
|
|
277676
278089
|
});
|
|
277677
278090
|
|
|
277678
|
-
//
|
|
278091
|
+
// ../../node_modules/.pnpm/xml-js@1.6.11/node_modules/xml-js/lib/options-helper.js
|
|
277679
278092
|
var require_options_helper = __commonJS((exports, module) => {
|
|
277680
278093
|
var isArray = require_array_helper().isArray;
|
|
277681
278094
|
module.exports = {
|
|
@@ -277714,7 +278127,7 @@ var require_options_helper = __commonJS((exports, module) => {
|
|
|
277714
278127
|
};
|
|
277715
278128
|
});
|
|
277716
278129
|
|
|
277717
|
-
//
|
|
278130
|
+
// ../../node_modules/.pnpm/xml-js@1.6.11/node_modules/xml-js/lib/xml2js.js
|
|
277718
278131
|
var require_xml2js = __commonJS((exports, module) => {
|
|
277719
278132
|
var sax = require_sax();
|
|
277720
278133
|
var expat = { on: function() {}, parse: function() {} };
|
|
@@ -278052,7 +278465,7 @@ var require_xml2js = __commonJS((exports, module) => {
|
|
|
278052
278465
|
};
|
|
278053
278466
|
});
|
|
278054
278467
|
|
|
278055
|
-
//
|
|
278468
|
+
// ../../node_modules/.pnpm/xml-js@1.6.11/node_modules/xml-js/lib/xml2json.js
|
|
278056
278469
|
var require_xml2json = __commonJS((exports, module) => {
|
|
278057
278470
|
var helper = require_options_helper();
|
|
278058
278471
|
var xml2js = require_xml2js();
|
|
@@ -278077,7 +278490,7 @@ var require_xml2json = __commonJS((exports, module) => {
|
|
|
278077
278490
|
};
|
|
278078
278491
|
});
|
|
278079
278492
|
|
|
278080
|
-
//
|
|
278493
|
+
// ../../node_modules/.pnpm/xml-js@1.6.11/node_modules/xml-js/lib/js2xml.js
|
|
278081
278494
|
var require_js2xml = __commonJS((exports, module) => {
|
|
278082
278495
|
var helper = require_options_helper();
|
|
278083
278496
|
var isArray = require_array_helper().isArray;
|
|
@@ -278409,7 +278822,7 @@ var require_js2xml = __commonJS((exports, module) => {
|
|
|
278409
278822
|
};
|
|
278410
278823
|
});
|
|
278411
278824
|
|
|
278412
|
-
//
|
|
278825
|
+
// ../../node_modules/.pnpm/xml-js@1.6.11/node_modules/xml-js/lib/json2xml.js
|
|
278413
278826
|
var require_json2xml = __commonJS((exports, module) => {
|
|
278414
278827
|
var js2xml = require_js2xml();
|
|
278415
278828
|
module.exports = function(json2, options) {
|
|
@@ -278430,7 +278843,7 @@ var require_json2xml = __commonJS((exports, module) => {
|
|
|
278430
278843
|
};
|
|
278431
278844
|
});
|
|
278432
278845
|
|
|
278433
|
-
//
|
|
278846
|
+
// ../../node_modules/.pnpm/xml-js@1.6.11/node_modules/xml-js/lib/index.js
|
|
278434
278847
|
var require_lib = __commonJS((exports, module) => {
|
|
278435
278848
|
var xml2js = require_xml2js();
|
|
278436
278849
|
var xml2json = require_xml2json();
|
|
@@ -278444,7 +278857,7 @@ var require_lib = __commonJS((exports, module) => {
|
|
|
278444
278857
|
};
|
|
278445
278858
|
});
|
|
278446
278859
|
|
|
278447
|
-
//
|
|
278860
|
+
// ../../packages/layout-engine/style-engine/src/ooxml/word-style-model/parse-xml.ts
|
|
278448
278861
|
function bytesToString(input) {
|
|
278449
278862
|
if (typeof input === "string")
|
|
278450
278863
|
return input;
|
|
@@ -278511,7 +278924,7 @@ var init_parse_xml = __esm(() => {
|
|
|
278511
278924
|
ST_OFF = new Set(["0", "false", "off"]);
|
|
278512
278925
|
});
|
|
278513
278926
|
|
|
278514
|
-
//
|
|
278927
|
+
// ../../packages/layout-engine/style-engine/src/ooxml/word-style-model/parse-theme.ts
|
|
278515
278928
|
function parseColorPalette(theme) {
|
|
278516
278929
|
if (!theme)
|
|
278517
278930
|
return;
|
|
@@ -281078,7 +281491,7 @@ var init_word_style_model = __esm(() => {
|
|
|
281078
281491
|
init_project_style_catalogue();
|
|
281079
281492
|
});
|
|
281080
281493
|
|
|
281081
|
-
//
|
|
281494
|
+
// ../../packages/layout-engine/style-engine/src/normalize/units.ts
|
|
281082
281495
|
function twipsToPx(value) {
|
|
281083
281496
|
return value * PX_PER_TWIP;
|
|
281084
281497
|
}
|
|
@@ -281092,7 +281505,7 @@ var init_units = __esm(() => {
|
|
|
281092
281505
|
PX_PER_EIGHTH_POINT = PX_PER_POINT / 8;
|
|
281093
281506
|
});
|
|
281094
281507
|
|
|
281095
|
-
//
|
|
281508
|
+
// ../../packages/layout-engine/style-engine/src/normalize/colors.ts
|
|
281096
281509
|
function normalizeHexColor(value) {
|
|
281097
281510
|
if (value == null)
|
|
281098
281511
|
return;
|
|
@@ -281169,12 +281582,12 @@ var init_colors = __esm(() => {
|
|
|
281169
281582
|
};
|
|
281170
281583
|
});
|
|
281171
281584
|
|
|
281172
|
-
//
|
|
281585
|
+
// ../../packages/layout-engine/style-engine/src/normalize/paragraph-attrs.ts
|
|
281173
281586
|
var init_paragraph_attrs = __esm(() => {
|
|
281174
281587
|
init_units();
|
|
281175
281588
|
init_colors();
|
|
281176
281589
|
});
|
|
281177
|
-
//
|
|
281590
|
+
// ../../packages/layout-engine/contracts/src/header-footer-resolution.ts
|
|
281178
281591
|
function createResolutionCache() {
|
|
281179
281592
|
const createVariantCache = () => ({ values: new Map, sectionIndices: [] });
|
|
281180
281593
|
const createKindCache = () => ({
|
|
@@ -281352,12 +281765,12 @@ var HEADER_FOOTER_VARIANTS3;
|
|
|
281352
281765
|
var init_header_footer_resolution = __esm(() => {
|
|
281353
281766
|
HEADER_FOOTER_VARIANTS3 = ["default", "first", "even", "odd"];
|
|
281354
281767
|
});
|
|
281355
|
-
//
|
|
281768
|
+
// ../../packages/layout-engine/contracts/src/justify-utils.ts
|
|
281356
281769
|
var SPACE_CHARS;
|
|
281357
281770
|
var init_justify_utils = __esm(() => {
|
|
281358
281771
|
SPACE_CHARS = new Set([" ", " "]);
|
|
281359
281772
|
});
|
|
281360
|
-
//
|
|
281773
|
+
// ../../packages/layout-engine/contracts/src/vertical-text.ts
|
|
281361
281774
|
function normalizeBaselineShift(baselineShift) {
|
|
281362
281775
|
if (!Number.isFinite(baselineShift)) {
|
|
281363
281776
|
return;
|
|
@@ -281366,14 +281779,14 @@ function normalizeBaselineShift(baselineShift) {
|
|
|
281366
281779
|
return Math.abs(normalizedShift) <= BASELINE_SHIFT_EPSILON ? undefined : normalizedShift;
|
|
281367
281780
|
}
|
|
281368
281781
|
var BASELINE_SHIFT_EPSILON = 0.000001;
|
|
281369
|
-
//
|
|
281782
|
+
// ../../packages/layout-engine/contracts/src/pm-range.ts
|
|
281370
281783
|
var init_pm_range = () => {};
|
|
281371
|
-
//
|
|
281784
|
+
// ../../packages/layout-engine/contracts/src/graphic-placement.ts
|
|
281372
281785
|
var init_graphic_placement = () => {};
|
|
281373
|
-
//
|
|
281786
|
+
// ../../packages/layout-engine/contracts/src/author-colors.ts
|
|
281374
281787
|
var init_author_colors = () => {};
|
|
281375
281788
|
|
|
281376
|
-
//
|
|
281789
|
+
// ../../packages/layout-engine/contracts/src/semantic-colors.ts
|
|
281377
281790
|
var TRACKED_CHANGE_CONFIGURABLE_SEMANTIC_COLOR_KEYS, CONFIGURABLE_SEMANTIC_COLOR_KEY_SET, TRACKED_CHANGE_AFFECTED_RANGE_KEYS;
|
|
281378
281791
|
var init_semantic_colors = __esm(() => {
|
|
281379
281792
|
init_author_colors();
|
|
@@ -281399,20 +281812,20 @@ var init_semantic_colors = __esm(() => {
|
|
|
281399
281812
|
]);
|
|
281400
281813
|
});
|
|
281401
281814
|
|
|
281402
|
-
//
|
|
281815
|
+
// ../../packages/layout-engine/contracts/src/sdt-container.ts
|
|
281403
281816
|
var idlessSdtContainerKeys;
|
|
281404
281817
|
var init_sdt_container = __esm(() => {
|
|
281405
281818
|
idlessSdtContainerKeys = new WeakMap;
|
|
281406
281819
|
});
|
|
281407
|
-
//
|
|
281820
|
+
// ../../packages/layout-engine/contracts/src/page-number-formatting.ts
|
|
281408
281821
|
var init_page_number_formatting = () => {};
|
|
281409
281822
|
|
|
281410
|
-
//
|
|
281823
|
+
// ../../packages/layout-engine/contracts/src/page-ref-anchor.ts
|
|
281411
281824
|
var init_page_ref_anchor = __esm(() => {
|
|
281412
281825
|
init_pm_range();
|
|
281413
281826
|
});
|
|
281414
281827
|
|
|
281415
|
-
//
|
|
281828
|
+
// ../../packages/layout-engine/contracts/src/drawing-taxonomy.ts
|
|
281416
281829
|
var DRAWING_DIAGNOSTIC_CODES, DRAWING_DIAGNOSTIC_CODE_ALIASES, DRAWING_SUPPORT_TAXONOMY, DRAWING_FAMILIES;
|
|
281417
281830
|
var init_drawing_taxonomy = __esm(() => {
|
|
281418
281831
|
DRAWING_DIAGNOSTIC_CODES = {
|
|
@@ -281641,7 +282054,7 @@ var init_drawing_taxonomy = __esm(() => {
|
|
|
281641
282054
|
};
|
|
281642
282055
|
DRAWING_FAMILIES = Object.keys(DRAWING_SUPPORT_TAXONOMY);
|
|
281643
282056
|
});
|
|
281644
|
-
//
|
|
282057
|
+
// ../../packages/layout-engine/contracts/src/incremental-dependency.ts
|
|
281645
282058
|
var PAGE_CHECKPOINT_DEPENDENCY_CLASSES, INCREMENTAL_DEPENDENCY_CERTIFICATE_CLASSES, DRAWING_KINDS, CERTIFICATE_CLASSES;
|
|
281646
282059
|
var init_incremental_dependency = __esm(() => {
|
|
281647
282060
|
PAGE_CHECKPOINT_DEPENDENCY_CLASSES = Object.freeze([
|
|
@@ -281671,10 +282084,10 @@ var init_incremental_dependency = __esm(() => {
|
|
|
281671
282084
|
DRAWING_KINDS = new Set(["image", "vectorShape", "textboxShape", "shapeGroup", "chart"]);
|
|
281672
282085
|
CERTIFICATE_CLASSES = new Set(INCREMENTAL_DEPENDENCY_CERTIFICATE_CLASSES);
|
|
281673
282086
|
});
|
|
281674
|
-
//
|
|
282087
|
+
// ../../packages/layout-engine/contracts/src/engines/index.ts
|
|
281675
282088
|
var init_engines = () => {};
|
|
281676
282089
|
|
|
281677
|
-
//
|
|
282090
|
+
// ../../packages/layout-engine/contracts/src/index.ts
|
|
281678
282091
|
var SHAPE_TEXT_BASELINE_WARP_PRESETS, SHAPE_TEXT_SINGLE_BAND_ENVELOPE_WARP_PRESETS;
|
|
281679
282092
|
var init_src5 = __esm(() => {
|
|
281680
282093
|
init_header_footer_resolution();
|
|
@@ -281697,7 +282110,7 @@ var init_src5 = __esm(() => {
|
|
|
281697
282110
|
SHAPE_TEXT_SINGLE_BAND_ENVELOPE_WARP_PRESETS = new Set(["textButton"]);
|
|
281698
282111
|
});
|
|
281699
282112
|
|
|
281700
|
-
//
|
|
282113
|
+
// ../../shared/font-utils/index.js
|
|
281701
282114
|
function mapWordFamilyFallback(wordFamily) {
|
|
281702
282115
|
if (!wordFamily)
|
|
281703
282116
|
return DEFAULT_GENERIC_FALLBACK;
|
|
@@ -281791,7 +282204,7 @@ var init_font_utils = __esm(() => {
|
|
|
281791
282204
|
]);
|
|
281792
282205
|
});
|
|
281793
282206
|
|
|
281794
|
-
//
|
|
282207
|
+
// ../../packages/layout-engine/style-engine/src/normalize/run-attrs.ts
|
|
281795
282208
|
function normalizeRunAttrsFromOoxml(props, context = {}) {
|
|
281796
282209
|
const out = {};
|
|
281797
282210
|
if (!props)
|
|
@@ -282058,7 +282471,7 @@ var init_run_attrs = __esm(() => {
|
|
|
282058
282471
|
};
|
|
282059
282472
|
});
|
|
282060
282473
|
|
|
282061
|
-
//
|
|
282474
|
+
// ../../packages/layout-engine/style-engine/src/normalize/index.ts
|
|
282062
282475
|
var init_normalize = __esm(() => {
|
|
282063
282476
|
init_paragraph_attrs();
|
|
282064
282477
|
init_run_attrs();
|
|
@@ -305804,14 +306217,14 @@ var init_formatting = __esm(() => {
|
|
|
305804
306217
|
];
|
|
305805
306218
|
PROJECTION_FONT_TABLE_PART_INDEX = STYLE_SIDECAR_PART_URIS.length;
|
|
305806
306219
|
});
|
|
305807
|
-
//
|
|
306220
|
+
// ../../packages/word-layout/src/unit-conversions.ts
|
|
305808
306221
|
var TWIPS_PER_INCH = 1440, PIXELS_PER_INCH = 96, TWIPS_PER_POINT2 = 20, POINTS_PER_TWIP, TWIPS_PER_PIXEL, PIXELS_PER_TWIP;
|
|
305809
306222
|
var init_unit_conversions = __esm(() => {
|
|
305810
306223
|
POINTS_PER_TWIP = 1 / TWIPS_PER_POINT2;
|
|
305811
306224
|
TWIPS_PER_PIXEL = Math.round(TWIPS_PER_INCH / PIXELS_PER_INCH);
|
|
305812
306225
|
PIXELS_PER_TWIP = 1 / TWIPS_PER_PIXEL;
|
|
305813
306226
|
});
|
|
305814
|
-
//
|
|
306227
|
+
// ../../packages/word-layout/src/numbering-manager.ts
|
|
305815
306228
|
function persistentTrieHash(key2) {
|
|
305816
306229
|
let hash2 = 2166136261;
|
|
305817
306230
|
for (let index = 0;index < key2.length; index += 1) {
|
|
@@ -306439,7 +306852,7 @@ var init_numbering_manager = __esm(() => {
|
|
|
306439
306852
|
});
|
|
306440
306853
|
});
|
|
306441
306854
|
|
|
306442
|
-
//
|
|
306855
|
+
// ../../shared/common/list-numbering/index.ts
|
|
306443
306856
|
var handleDecimal = (path6, lvlText) => generateNumbering(path6, lvlText, numberToStringFormatter), handleRoman = (path6, lvlText) => generateNumbering(path6, lvlText, intToRoman), handleLowerRoman = (path6, lvlText) => {
|
|
306444
306857
|
const result = handleRoman(path6, lvlText);
|
|
306445
306858
|
return result ? result.toLowerCase() : null;
|
|
@@ -306741,7 +307154,7 @@ var init_list_numbering = __esm(() => {
|
|
|
306741
307154
|
normalizeChars = new Set(["", "", "○", "o", "■", "□"]);
|
|
306742
307155
|
});
|
|
306743
307156
|
|
|
306744
|
-
//
|
|
307157
|
+
// ../../packages/word-layout/src/list-marker.ts
|
|
306745
307158
|
function computeWordListMarker(input) {
|
|
306746
307159
|
const { definition, manager, paragraphOrdinal } = input;
|
|
306747
307160
|
if (definition.ancestorStartSettings) {
|
|
@@ -306818,7 +307231,7 @@ var init_list_marker = __esm(() => {
|
|
|
306818
307231
|
init_list_numbering();
|
|
306819
307232
|
});
|
|
306820
307233
|
|
|
306821
|
-
//
|
|
307234
|
+
// ../../packages/word-layout/src/review-aware-numbering.ts
|
|
306822
307235
|
function createReviewAwareWordNumberingSequence(options = {}) {
|
|
306823
307236
|
const stateMode = options.stateMode ?? "snapshot";
|
|
306824
307237
|
let live = createManager(stateMode);
|
|
@@ -306915,7 +307328,7 @@ var init_review_aware_numbering = __esm(() => {
|
|
|
306915
307328
|
init_numbering_manager();
|
|
306916
307329
|
});
|
|
306917
307330
|
|
|
306918
|
-
//
|
|
307331
|
+
// ../../packages/word-layout/src/index.ts
|
|
306919
307332
|
var init_src7 = __esm(() => {
|
|
306920
307333
|
init_unit_conversions();
|
|
306921
307334
|
init_unit_conversions();
|
|
@@ -309653,7 +310066,7 @@ var init_adapter12 = __esm(() => {
|
|
|
309653
310066
|
init_document_reader();
|
|
309654
310067
|
});
|
|
309655
310068
|
|
|
309656
|
-
//
|
|
310069
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/common/unicode.js
|
|
309657
310070
|
function isSurrogate(cp) {
|
|
309658
310071
|
return cp >= 55296 && cp <= 57343;
|
|
309659
310072
|
}
|
|
@@ -309745,7 +310158,7 @@ var init_unicode = __esm(() => {
|
|
|
309745
310158
|
};
|
|
309746
310159
|
});
|
|
309747
310160
|
|
|
309748
|
-
//
|
|
310161
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/common/error-codes.js
|
|
309749
310162
|
var ERR;
|
|
309750
310163
|
var init_error_codes = __esm(() => {
|
|
309751
310164
|
(function(ERR2) {
|
|
@@ -309812,7 +310225,7 @@ var init_error_codes = __esm(() => {
|
|
|
309812
310225
|
})(ERR || (ERR = {}));
|
|
309813
310226
|
});
|
|
309814
310227
|
|
|
309815
|
-
//
|
|
310228
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/tokenizer/preprocessor.js
|
|
309816
310229
|
class Preprocessor {
|
|
309817
310230
|
constructor(handler) {
|
|
309818
310231
|
this.handler = handler;
|
|
@@ -309985,7 +310398,7 @@ var init_preprocessor = __esm(() => {
|
|
|
309985
310398
|
DEFAULT_BUFFER_WATERLINE = 1 << 16;
|
|
309986
310399
|
});
|
|
309987
310400
|
|
|
309988
|
-
//
|
|
310401
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/common/token.js
|
|
309989
310402
|
function getTokenAttr(token, attrName) {
|
|
309990
310403
|
for (let i2 = token.attrs.length - 1;i2 >= 0; i2--) {
|
|
309991
310404
|
if (token.attrs[i2].name === attrName) {
|
|
@@ -310009,7 +310422,7 @@ var init_token = __esm(() => {
|
|
|
310009
310422
|
})(TokenType || (TokenType = {}));
|
|
310010
310423
|
});
|
|
310011
310424
|
|
|
310012
|
-
//
|
|
310425
|
+
// ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/decode-codepoint.js
|
|
310013
310426
|
function replaceCodePoint(codePoint) {
|
|
310014
310427
|
if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) {
|
|
310015
310428
|
return 65533;
|
|
@@ -310050,7 +310463,7 @@ var init_decode_codepoint = __esm(() => {
|
|
|
310050
310463
|
]);
|
|
310051
310464
|
});
|
|
310052
310465
|
|
|
310053
|
-
//
|
|
310466
|
+
// ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/internal/decode-shared.js
|
|
310054
310467
|
function decodeBase64(input) {
|
|
310055
310468
|
const binary = atob(input);
|
|
310056
310469
|
const evenLength = binary.length & ~1;
|
|
@@ -310063,13 +310476,13 @@ function decodeBase64(input) {
|
|
|
310063
310476
|
return out;
|
|
310064
310477
|
}
|
|
310065
310478
|
|
|
310066
|
-
//
|
|
310479
|
+
// ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/generated/decode-data-html.js
|
|
310067
310480
|
var htmlDecodeTree;
|
|
310068
310481
|
var init_decode_data_html = __esm(() => {
|
|
310069
310482
|
htmlDecodeTree = /* @__PURE__ */ decodeBase64("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
|
|
310070
310483
|
});
|
|
310071
310484
|
|
|
310072
|
-
//
|
|
310485
|
+
// ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/internal/bin-trie-flags.js
|
|
310073
310486
|
var BinTrieFlags;
|
|
310074
310487
|
var init_bin_trie_flags = __esm(() => {
|
|
310075
310488
|
(function(BinTrieFlags2) {
|
|
@@ -310080,7 +310493,7 @@ var init_bin_trie_flags = __esm(() => {
|
|
|
310080
310493
|
})(BinTrieFlags || (BinTrieFlags = {}));
|
|
310081
310494
|
});
|
|
310082
310495
|
|
|
310083
|
-
//
|
|
310496
|
+
// ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/decode.js
|
|
310084
310497
|
function isNumber(code) {
|
|
310085
310498
|
return code >= CharCodes.ZERO && code <= CharCodes.NINE;
|
|
310086
310499
|
}
|
|
@@ -310362,7 +310775,7 @@ var init_decode = __esm(() => {
|
|
|
310362
310775
|
})(DecodingMode || (DecodingMode = {}));
|
|
310363
310776
|
});
|
|
310364
310777
|
|
|
310365
|
-
//
|
|
310778
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/common/html.js
|
|
310366
310779
|
function getTagID(tagName) {
|
|
310367
310780
|
var _a3;
|
|
310368
310781
|
return (_a3 = TAG_NAME_TO_ID.get(tagName)) !== null && _a3 !== undefined ? _a3 : TAG_ID.UNKNOWN;
|
|
@@ -310871,7 +311284,7 @@ var init_html = __esm(() => {
|
|
|
310871
311284
|
]);
|
|
310872
311285
|
});
|
|
310873
311286
|
|
|
310874
|
-
//
|
|
311287
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/tokenizer/index.js
|
|
310875
311288
|
function isAsciiDigit(cp) {
|
|
310876
311289
|
return cp >= CODE_POINTS.DIGIT_0 && cp <= CODE_POINTS.DIGIT_9;
|
|
310877
311290
|
}
|
|
@@ -313328,7 +313741,7 @@ var init_tokenizer = __esm(() => {
|
|
|
313328
313741
|
};
|
|
313329
313742
|
});
|
|
313330
313743
|
|
|
313331
|
-
//
|
|
313744
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/parser/open-element-stack.js
|
|
313332
313745
|
class OpenElementStack {
|
|
313333
313746
|
get currentTmplContentOrNode() {
|
|
313334
313747
|
return this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : this.current;
|
|
@@ -313643,7 +314056,7 @@ var init_open_element_stack = __esm(() => {
|
|
|
313643
314056
|
TABLE_CELLS = new Set([TAG_ID.TD, TAG_ID.TH]);
|
|
313644
314057
|
});
|
|
313645
314058
|
|
|
313646
|
-
//
|
|
314059
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/parser/formatting-element-list.js
|
|
313647
314060
|
class FormattingElementList {
|
|
313648
314061
|
constructor(treeAdapter) {
|
|
313649
314062
|
this.treeAdapter = treeAdapter;
|
|
@@ -313739,7 +314152,7 @@ var init_formatting_element_list = __esm(() => {
|
|
|
313739
314152
|
MARKER = { type: EntryType.Marker };
|
|
313740
314153
|
});
|
|
313741
314154
|
|
|
313742
|
-
//
|
|
314155
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/tree-adapters/default.js
|
|
313743
314156
|
var defaultTreeAdapter;
|
|
313744
314157
|
var init_default2 = __esm(() => {
|
|
313745
314158
|
init_html();
|
|
@@ -313909,7 +314322,7 @@ var init_default2 = __esm(() => {
|
|
|
313909
314322
|
};
|
|
313910
314323
|
});
|
|
313911
314324
|
|
|
313912
|
-
//
|
|
314325
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/common/doctype.js
|
|
313913
314326
|
function hasPrefix(publicId, prefixes) {
|
|
313914
314327
|
return prefixes.some((prefix) => publicId.startsWith(prefix));
|
|
313915
314328
|
}
|
|
@@ -314019,7 +314432,7 @@ var init_doctype = __esm(() => {
|
|
|
314019
314432
|
];
|
|
314020
314433
|
});
|
|
314021
314434
|
|
|
314022
|
-
//
|
|
314435
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/common/foreign-content.js
|
|
314023
314436
|
function causesExit(startTagToken) {
|
|
314024
314437
|
const tn = startTagToken.tagID;
|
|
314025
314438
|
const isFontWithAttrs = tn === TAG_ID.FONT && startTagToken.attrs.some(({ name }) => name === ATTRS2.COLOR || name === ATTRS2.SIZE || name === ATTRS2.FACE);
|
|
@@ -314241,7 +314654,7 @@ var init_foreign_content = __esm(() => {
|
|
|
314241
314654
|
]);
|
|
314242
314655
|
});
|
|
314243
314656
|
|
|
314244
|
-
//
|
|
314657
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/parser/index.js
|
|
314245
314658
|
class Parser {
|
|
314246
314659
|
constructor(options, document3, fragmentContext = null, scriptHandler = null) {
|
|
314247
314660
|
this.fragmentContext = fragmentContext;
|
|
@@ -317198,7 +317611,7 @@ var init_parser = __esm(() => {
|
|
|
317198
317611
|
TABLE_VOID_ELEMENTS = new Set([TAG_ID.CAPTION, TAG_ID.COL, TAG_ID.COLGROUP, TAG_ID.TBODY, TAG_ID.TD, TAG_ID.TFOOT, TAG_ID.TH, TAG_ID.THEAD, TAG_ID.TR]);
|
|
317199
317612
|
});
|
|
317200
317613
|
|
|
317201
|
-
//
|
|
317614
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/serializer/index.js
|
|
317202
317615
|
var VOID_ELEMENTS;
|
|
317203
317616
|
var init_serializer = __esm(() => {
|
|
317204
317617
|
init_html();
|
|
@@ -317225,7 +317638,7 @@ var init_serializer = __esm(() => {
|
|
|
317225
317638
|
]);
|
|
317226
317639
|
});
|
|
317227
317640
|
|
|
317228
|
-
//
|
|
317641
|
+
// ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/index.js
|
|
317229
317642
|
function parseFragment(fragmentContext, html, options) {
|
|
317230
317643
|
if (typeof fragmentContext === "string") {
|
|
317231
317644
|
options = html;
|
|
@@ -319681,10 +320094,10 @@ var init_html2 = __esm(() => {
|
|
|
319681
320094
|
init_converter();
|
|
319682
320095
|
});
|
|
319683
320096
|
|
|
319684
|
-
//
|
|
320097
|
+
// ../../node_modules/.pnpm/dequal@2.0.3/node_modules/dequal/dist/index.mjs
|
|
319685
320098
|
var init_dist4 = () => {};
|
|
319686
320099
|
|
|
319687
|
-
//
|
|
320100
|
+
// ../../node_modules/.pnpm/devlop@1.1.0/node_modules/devlop/lib/development.js
|
|
319688
320101
|
function ok2(value2, message) {
|
|
319689
320102
|
assert2(Boolean(value2), false, true, "ok", "Expected value to be truthy", message);
|
|
319690
320103
|
}
|
|
@@ -319713,7 +320126,7 @@ var init_development = __esm(() => {
|
|
|
319713
320126
|
};
|
|
319714
320127
|
});
|
|
319715
320128
|
|
|
319716
|
-
//
|
|
320129
|
+
// ../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js
|
|
319717
320130
|
function toString(value2, options) {
|
|
319718
320131
|
const settings = options || emptyOptions;
|
|
319719
320132
|
const includeImageAlt = typeof settings.includeImageAlt === "boolean" ? settings.includeImageAlt : true;
|
|
@@ -319753,12 +320166,12 @@ var init_lib = __esm(() => {
|
|
|
319753
320166
|
emptyOptions = {};
|
|
319754
320167
|
});
|
|
319755
320168
|
|
|
319756
|
-
//
|
|
320169
|
+
// ../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/index.js
|
|
319757
320170
|
var init_mdast_util_to_string = __esm(() => {
|
|
319758
320171
|
init_lib();
|
|
319759
320172
|
});
|
|
319760
320173
|
|
|
319761
|
-
//
|
|
320174
|
+
// ../../node_modules/.pnpm/character-entities@2.0.2/node_modules/character-entities/index.js
|
|
319762
320175
|
var characterEntities;
|
|
319763
320176
|
var init_character_entities = __esm(() => {
|
|
319764
320177
|
characterEntities = {
|
|
@@ -321891,7 +322304,7 @@ var init_character_entities = __esm(() => {
|
|
|
321891
322304
|
};
|
|
321892
322305
|
});
|
|
321893
322306
|
|
|
321894
|
-
//
|
|
322307
|
+
// ../../node_modules/.pnpm/decode-named-character-reference@1.3.0/node_modules/decode-named-character-reference/index.js
|
|
321895
322308
|
function decodeNamedCharacterReference(value2) {
|
|
321896
322309
|
return own.call(characterEntities, value2) ? characterEntities[value2] : false;
|
|
321897
322310
|
}
|
|
@@ -321901,7 +322314,7 @@ var init_decode_named_character_reference = __esm(() => {
|
|
|
321901
322314
|
own = {}.hasOwnProperty;
|
|
321902
322315
|
});
|
|
321903
322316
|
|
|
321904
|
-
//
|
|
322317
|
+
// ../../node_modules/.pnpm/micromark-util-symbol@2.0.1/node_modules/micromark-util-symbol/lib/codes.js
|
|
321905
322318
|
var codes;
|
|
321906
322319
|
var init_codes = __esm(() => {
|
|
321907
322320
|
codes = {
|
|
@@ -322044,7 +322457,7 @@ var init_codes = __esm(() => {
|
|
|
322044
322457
|
};
|
|
322045
322458
|
});
|
|
322046
322459
|
|
|
322047
|
-
//
|
|
322460
|
+
// ../../node_modules/.pnpm/micromark-util-symbol@2.0.1/node_modules/micromark-util-symbol/lib/constants.js
|
|
322048
322461
|
var constants;
|
|
322049
322462
|
var init_constants = __esm(() => {
|
|
322050
322463
|
constants = {
|
|
@@ -322085,7 +322498,7 @@ var init_constants = __esm(() => {
|
|
|
322085
322498
|
};
|
|
322086
322499
|
});
|
|
322087
322500
|
|
|
322088
|
-
//
|
|
322501
|
+
// ../../node_modules/.pnpm/micromark-util-symbol@2.0.1/node_modules/micromark-util-symbol/lib/types.js
|
|
322089
322502
|
var types9;
|
|
322090
322503
|
var init_types9 = __esm(() => {
|
|
322091
322504
|
types9 = {
|
|
@@ -322195,7 +322608,7 @@ var init_types9 = __esm(() => {
|
|
|
322195
322608
|
};
|
|
322196
322609
|
});
|
|
322197
322610
|
|
|
322198
|
-
//
|
|
322611
|
+
// ../../node_modules/.pnpm/micromark-util-symbol@2.0.1/node_modules/micromark-util-symbol/lib/values.js
|
|
322199
322612
|
var values;
|
|
322200
322613
|
var init_values = __esm(() => {
|
|
322201
322614
|
values = {
|
|
@@ -322302,7 +322715,7 @@ var init_values = __esm(() => {
|
|
|
322302
322715
|
};
|
|
322303
322716
|
});
|
|
322304
322717
|
|
|
322305
|
-
//
|
|
322718
|
+
// ../../node_modules/.pnpm/micromark-util-symbol@2.0.1/node_modules/micromark-util-symbol/lib/default.js
|
|
322306
322719
|
var init_default3 = __esm(() => {
|
|
322307
322720
|
init_codes();
|
|
322308
322721
|
init_constants();
|
|
@@ -322310,7 +322723,7 @@ var init_default3 = __esm(() => {
|
|
|
322310
322723
|
init_values();
|
|
322311
322724
|
});
|
|
322312
322725
|
|
|
322313
|
-
//
|
|
322726
|
+
// ../../node_modules/.pnpm/micromark-util-chunked@2.0.1/node_modules/micromark-util-chunked/dev/index.js
|
|
322314
322727
|
function splice(list, start, remove, items) {
|
|
322315
322728
|
const end = list.length;
|
|
322316
322729
|
let chunkStart = 0;
|
|
@@ -322348,7 +322761,7 @@ var init_dev = __esm(() => {
|
|
|
322348
322761
|
init_default3();
|
|
322349
322762
|
});
|
|
322350
322763
|
|
|
322351
|
-
//
|
|
322764
|
+
// ../../node_modules/.pnpm/micromark-util-combine-extensions@2.0.1/node_modules/micromark-util-combine-extensions/index.js
|
|
322352
322765
|
function combineExtensions(extensions) {
|
|
322353
322766
|
const all2 = {};
|
|
322354
322767
|
let index = -1;
|
|
@@ -322388,7 +322801,7 @@ var init_micromark_util_combine_extensions = __esm(() => {
|
|
|
322388
322801
|
hasOwnProperty = {}.hasOwnProperty;
|
|
322389
322802
|
});
|
|
322390
322803
|
|
|
322391
|
-
//
|
|
322804
|
+
// ../../node_modules/.pnpm/micromark-util-decode-numeric-character-reference@2.0.2/node_modules/micromark-util-decode-numeric-character-reference/dev/index.js
|
|
322392
322805
|
function decodeNumericCharacterReference(value2, base3) {
|
|
322393
322806
|
const code = Number.parseInt(value2, base3);
|
|
322394
322807
|
if (code < codes.ht || code === codes.vt || code > codes.cr && code < codes.space || code > codes.tilde && code < 160 || code > 55295 && code < 57344 || code > 64975 && code < 65008 || (code & 65535) === 65535 || (code & 65535) === 65534 || code > 1114111) {
|
|
@@ -322400,7 +322813,7 @@ var init_dev2 = __esm(() => {
|
|
|
322400
322813
|
init_default3();
|
|
322401
322814
|
});
|
|
322402
322815
|
|
|
322403
|
-
//
|
|
322816
|
+
// ../../node_modules/.pnpm/micromark-util-normalize-identifier@2.0.1/node_modules/micromark-util-normalize-identifier/dev/index.js
|
|
322404
322817
|
function normalizeIdentifier(value2) {
|
|
322405
322818
|
return value2.replace(/[\t\n\r ]+/g, values.space).replace(/^ | $/g, "").toLowerCase().toUpperCase();
|
|
322406
322819
|
}
|
|
@@ -322408,7 +322821,7 @@ var init_dev3 = __esm(() => {
|
|
|
322408
322821
|
init_default3();
|
|
322409
322822
|
});
|
|
322410
322823
|
|
|
322411
|
-
//
|
|
322824
|
+
// ../../node_modules/.pnpm/micromark-util-character@2.1.1/node_modules/micromark-util-character/dev/index.js
|
|
322412
322825
|
function asciiControl(code) {
|
|
322413
322826
|
return code !== null && (code < codes.space || code === codes.del);
|
|
322414
322827
|
}
|
|
@@ -322440,7 +322853,7 @@ var init_dev4 = __esm(() => {
|
|
|
322440
322853
|
unicodeWhitespace = regexCheck(/\s/);
|
|
322441
322854
|
});
|
|
322442
322855
|
|
|
322443
|
-
//
|
|
322856
|
+
// ../../node_modules/.pnpm/micromark-factory-space@2.0.1/node_modules/micromark-factory-space/dev/index.js
|
|
322444
322857
|
function factorySpace(effects2, ok3, type, max2) {
|
|
322445
322858
|
const limit = max2 ? max2 - 1 : Number.POSITIVE_INFINITY;
|
|
322446
322859
|
let size = 0;
|
|
@@ -322465,7 +322878,7 @@ var init_dev5 = __esm(() => {
|
|
|
322465
322878
|
init_dev4();
|
|
322466
322879
|
});
|
|
322467
322880
|
|
|
322468
|
-
//
|
|
322881
|
+
// ../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/dev/lib/initialize/content.js
|
|
322469
322882
|
function initializeContent(effects2) {
|
|
322470
322883
|
const contentStart = effects2.attempt(this.parser.constructs.contentInitial, afterContentStartConstruct, paragraphInitial);
|
|
322471
322884
|
let previous;
|
|
@@ -322522,7 +322935,7 @@ var init_content = __esm(() => {
|
|
|
322522
322935
|
content = { tokenize: initializeContent };
|
|
322523
322936
|
});
|
|
322524
322937
|
|
|
322525
|
-
//
|
|
322938
|
+
// ../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/dev/lib/initialize/document.js
|
|
322526
322939
|
function initializeDocument(effects2) {
|
|
322527
322940
|
const self = this;
|
|
322528
322941
|
const stack = [];
|
|
@@ -322714,7 +323127,7 @@ var init_document2 = __esm(() => {
|
|
|
322714
323127
|
containerConstruct = { tokenize: tokenizeContainer };
|
|
322715
323128
|
});
|
|
322716
323129
|
|
|
322717
|
-
//
|
|
323130
|
+
// ../../node_modules/.pnpm/micromark-util-classify-character@2.0.1/node_modules/micromark-util-classify-character/dev/index.js
|
|
322718
323131
|
function classifyCharacter(code) {
|
|
322719
323132
|
if (code === codes.eof || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {
|
|
322720
323133
|
return constants.characterGroupWhitespace;
|
|
@@ -322728,7 +323141,7 @@ var init_dev6 = __esm(() => {
|
|
|
322728
323141
|
init_default3();
|
|
322729
323142
|
});
|
|
322730
323143
|
|
|
322731
|
-
//
|
|
323144
|
+
// ../../node_modules/.pnpm/micromark-util-resolve-all@2.0.1/node_modules/micromark-util-resolve-all/index.js
|
|
322732
323145
|
function resolveAll(constructs2, events, context) {
|
|
322733
323146
|
const called = [];
|
|
322734
323147
|
let index = -1;
|
|
@@ -322742,7 +323155,7 @@ function resolveAll(constructs2, events, context) {
|
|
|
322742
323155
|
return events;
|
|
322743
323156
|
}
|
|
322744
323157
|
|
|
322745
|
-
//
|
|
323158
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/attention.js
|
|
322746
323159
|
function resolveAllAttention(events, context) {
|
|
322747
323160
|
let index = -1;
|
|
322748
323161
|
let open;
|
|
@@ -322878,7 +323291,7 @@ var init_attention = __esm(() => {
|
|
|
322878
323291
|
};
|
|
322879
323292
|
});
|
|
322880
323293
|
|
|
322881
|
-
//
|
|
323294
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/autolink.js
|
|
322882
323295
|
function tokenizeAutolink(effects2, ok3, nok) {
|
|
322883
323296
|
let size = 0;
|
|
322884
323297
|
return start;
|
|
@@ -322983,7 +323396,7 @@ var init_autolink = __esm(() => {
|
|
|
322983
323396
|
autolink = { name: "autolink", tokenize: tokenizeAutolink };
|
|
322984
323397
|
});
|
|
322985
323398
|
|
|
322986
|
-
//
|
|
323399
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/blank-line.js
|
|
322987
323400
|
function tokenizeBlankLine(effects2, ok3, nok) {
|
|
322988
323401
|
return start;
|
|
322989
323402
|
function start(code) {
|
|
@@ -323001,7 +323414,7 @@ var init_blank_line = __esm(() => {
|
|
|
323001
323414
|
blankLine = { partial: true, tokenize: tokenizeBlankLine };
|
|
323002
323415
|
});
|
|
323003
323416
|
|
|
323004
|
-
//
|
|
323417
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/block-quote.js
|
|
323005
323418
|
function tokenizeBlockQuoteStart(effects2, ok3, nok) {
|
|
323006
323419
|
const self = this;
|
|
323007
323420
|
return start;
|
|
@@ -323064,7 +323477,7 @@ var init_block_quote = __esm(() => {
|
|
|
323064
323477
|
};
|
|
323065
323478
|
});
|
|
323066
323479
|
|
|
323067
|
-
//
|
|
323480
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/character-escape.js
|
|
323068
323481
|
function tokenizeCharacterEscape(effects2, ok3, nok) {
|
|
323069
323482
|
return start;
|
|
323070
323483
|
function start(code) {
|
|
@@ -323097,7 +323510,7 @@ var init_character_escape = __esm(() => {
|
|
|
323097
323510
|
};
|
|
323098
323511
|
});
|
|
323099
323512
|
|
|
323100
|
-
//
|
|
323513
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/character-reference.js
|
|
323101
323514
|
function tokenizeCharacterReference(effects2, ok3, nok) {
|
|
323102
323515
|
const self = this;
|
|
323103
323516
|
let size = 0;
|
|
@@ -323170,7 +323583,7 @@ var init_character_reference = __esm(() => {
|
|
|
323170
323583
|
};
|
|
323171
323584
|
});
|
|
323172
323585
|
|
|
323173
|
-
//
|
|
323586
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/code-fenced.js
|
|
323174
323587
|
function tokenizeCodeFenced(effects2, ok3, nok) {
|
|
323175
323588
|
const self = this;
|
|
323176
323589
|
const closeStart = { partial: true, tokenize: tokenizeCloseStart };
|
|
@@ -323359,7 +323772,7 @@ var init_code_fenced = __esm(() => {
|
|
|
323359
323772
|
};
|
|
323360
323773
|
});
|
|
323361
323774
|
|
|
323362
|
-
//
|
|
323775
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/code-indented.js
|
|
323363
323776
|
function tokenizeCodeIndented(effects2, ok3, nok) {
|
|
323364
323777
|
const self = this;
|
|
323365
323778
|
return start;
|
|
@@ -323428,7 +323841,7 @@ var init_code_indented = __esm(() => {
|
|
|
323428
323841
|
furtherStart = { partial: true, tokenize: tokenizeFurtherStart };
|
|
323429
323842
|
});
|
|
323430
323843
|
|
|
323431
|
-
//
|
|
323844
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/code-text.js
|
|
323432
323845
|
function resolveCodeText(events) {
|
|
323433
323846
|
let tailExitIndex = events.length - 4;
|
|
323434
323847
|
let headEnterIndex = 3;
|
|
@@ -323551,7 +323964,7 @@ var init_code_text = __esm(() => {
|
|
|
323551
323964
|
};
|
|
323552
323965
|
});
|
|
323553
323966
|
|
|
323554
|
-
//
|
|
323967
|
+
// ../../node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/dev/lib/splice-buffer.js
|
|
323555
323968
|
class SpliceBuffer {
|
|
323556
323969
|
constructor(initial) {
|
|
323557
323970
|
this.left = initial ? [...initial] : [];
|
|
@@ -323637,7 +324050,7 @@ var init_splice_buffer = __esm(() => {
|
|
|
323637
324050
|
init_default3();
|
|
323638
324051
|
});
|
|
323639
324052
|
|
|
323640
|
-
//
|
|
324053
|
+
// ../../node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/dev/index.js
|
|
323641
324054
|
function subtokenize(eventsArray) {
|
|
323642
324055
|
const jumps = {};
|
|
323643
324056
|
let index = -1;
|
|
@@ -323796,7 +324209,7 @@ var init_dev7 = __esm(() => {
|
|
|
323796
324209
|
init_splice_buffer();
|
|
323797
324210
|
});
|
|
323798
324211
|
|
|
323799
|
-
//
|
|
324212
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/content.js
|
|
323800
324213
|
function resolveContent(events) {
|
|
323801
324214
|
subtokenize(events);
|
|
323802
324215
|
return events;
|
|
@@ -323874,7 +324287,7 @@ var init_content2 = __esm(() => {
|
|
|
323874
324287
|
continuationConstruct = { partial: true, tokenize: tokenizeContinuation };
|
|
323875
324288
|
});
|
|
323876
324289
|
|
|
323877
|
-
//
|
|
324290
|
+
// ../../node_modules/.pnpm/micromark-factory-destination@2.0.1/node_modules/micromark-factory-destination/dev/index.js
|
|
323878
324291
|
function factoryDestination(effects2, ok3, nok, type, literalType2, literalMarkerType, rawType, stringType2, max2) {
|
|
323879
324292
|
const limit = max2 || Number.POSITIVE_INFINITY;
|
|
323880
324293
|
let balance = 0;
|
|
@@ -323966,7 +324379,7 @@ var init_dev8 = __esm(() => {
|
|
|
323966
324379
|
init_default3();
|
|
323967
324380
|
});
|
|
323968
324381
|
|
|
323969
|
-
//
|
|
324382
|
+
// ../../node_modules/.pnpm/micromark-factory-label@2.0.1/node_modules/micromark-factory-label/dev/index.js
|
|
323970
324383
|
function factoryLabel(effects2, ok3, nok, type, markerType, stringType2) {
|
|
323971
324384
|
const self = this;
|
|
323972
324385
|
let size = 0;
|
|
@@ -324027,7 +324440,7 @@ var init_dev9 = __esm(() => {
|
|
|
324027
324440
|
init_default3();
|
|
324028
324441
|
});
|
|
324029
324442
|
|
|
324030
|
-
//
|
|
324443
|
+
// ../../node_modules/.pnpm/micromark-factory-title@2.0.1/node_modules/micromark-factory-title/dev/index.js
|
|
324031
324444
|
function factoryTitle(effects2, ok3, nok, type, markerType, stringType2) {
|
|
324032
324445
|
let marker;
|
|
324033
324446
|
return start;
|
|
@@ -324092,7 +324505,7 @@ var init_dev10 = __esm(() => {
|
|
|
324092
324505
|
init_default3();
|
|
324093
324506
|
});
|
|
324094
324507
|
|
|
324095
|
-
//
|
|
324508
|
+
// ../../node_modules/.pnpm/micromark-factory-whitespace@2.0.1/node_modules/micromark-factory-whitespace/dev/index.js
|
|
324096
324509
|
function factoryWhitespace(effects2, ok3) {
|
|
324097
324510
|
let seen;
|
|
324098
324511
|
return start;
|
|
@@ -324116,7 +324529,7 @@ var init_dev11 = __esm(() => {
|
|
|
324116
324529
|
init_default3();
|
|
324117
324530
|
});
|
|
324118
324531
|
|
|
324119
|
-
//
|
|
324532
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/definition.js
|
|
324120
324533
|
function tokenizeDefinition(effects2, ok3, nok) {
|
|
324121
324534
|
const self = this;
|
|
324122
324535
|
let identifier;
|
|
@@ -324190,7 +324603,7 @@ var init_definition = __esm(() => {
|
|
|
324190
324603
|
titleBefore = { partial: true, tokenize: tokenizeTitleBefore };
|
|
324191
324604
|
});
|
|
324192
324605
|
|
|
324193
|
-
//
|
|
324606
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.js
|
|
324194
324607
|
function tokenizeHardBreakEscape(effects2, ok3, nok) {
|
|
324195
324608
|
return start;
|
|
324196
324609
|
function start(code) {
|
|
@@ -324218,7 +324631,7 @@ var init_hard_break_escape = __esm(() => {
|
|
|
324218
324631
|
};
|
|
324219
324632
|
});
|
|
324220
324633
|
|
|
324221
|
-
//
|
|
324634
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/heading-atx.js
|
|
324222
324635
|
function resolveHeadingAtx(events, context) {
|
|
324223
324636
|
let contentEnd = events.length - 2;
|
|
324224
324637
|
let contentStart = 3;
|
|
@@ -324323,7 +324736,7 @@ var init_heading_atx = __esm(() => {
|
|
|
324323
324736
|
};
|
|
324324
324737
|
});
|
|
324325
324738
|
|
|
324326
|
-
//
|
|
324739
|
+
// ../../node_modules/.pnpm/micromark-util-html-tag-name@2.0.1/node_modules/micromark-util-html-tag-name/index.js
|
|
324327
324740
|
var htmlBlockNames, htmlRawNames;
|
|
324328
324741
|
var init_micromark_util_html_tag_name = __esm(() => {
|
|
324329
324742
|
htmlBlockNames = [
|
|
@@ -324393,7 +324806,7 @@ var init_micromark_util_html_tag_name = __esm(() => {
|
|
|
324393
324806
|
htmlRawNames = ["pre", "script", "style", "textarea"];
|
|
324394
324807
|
});
|
|
324395
324808
|
|
|
324396
|
-
//
|
|
324809
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/html-flow.js
|
|
324397
324810
|
function resolveToHtmlFlow(events) {
|
|
324398
324811
|
let index = events.length;
|
|
324399
324812
|
while (index--) {
|
|
@@ -324783,7 +325196,7 @@ var init_html_flow = __esm(() => {
|
|
|
324783
325196
|
};
|
|
324784
325197
|
});
|
|
324785
325198
|
|
|
324786
|
-
//
|
|
325199
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/html-text.js
|
|
324787
325200
|
function tokenizeHtmlText(effects2, ok3, nok) {
|
|
324788
325201
|
const self = this;
|
|
324789
325202
|
let marker;
|
|
@@ -325097,7 +325510,7 @@ var init_html_text = __esm(() => {
|
|
|
325097
325510
|
htmlText = { name: "htmlText", tokenize: tokenizeHtmlText };
|
|
325098
325511
|
});
|
|
325099
325512
|
|
|
325100
|
-
//
|
|
325513
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/label-end.js
|
|
325101
325514
|
function resolveAllLabelEnd(events) {
|
|
325102
325515
|
let index = -1;
|
|
325103
325516
|
const newEvents = [];
|
|
@@ -325329,7 +325742,7 @@ var init_label_end = __esm(() => {
|
|
|
325329
325742
|
referenceCollapsedConstruct = { tokenize: tokenizeReferenceCollapsed };
|
|
325330
325743
|
});
|
|
325331
325744
|
|
|
325332
|
-
//
|
|
325745
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/label-start-image.js
|
|
325333
325746
|
function tokenizeLabelStartImage(effects2, ok3, nok) {
|
|
325334
325747
|
const self = this;
|
|
325335
325748
|
return start;
|
|
@@ -325367,7 +325780,7 @@ var init_label_start_image = __esm(() => {
|
|
|
325367
325780
|
};
|
|
325368
325781
|
});
|
|
325369
325782
|
|
|
325370
|
-
//
|
|
325783
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/label-start-link.js
|
|
325371
325784
|
function tokenizeLabelStartLink(effects2, ok3, nok) {
|
|
325372
325785
|
const self = this;
|
|
325373
325786
|
return start;
|
|
@@ -325396,7 +325809,7 @@ var init_label_start_link = __esm(() => {
|
|
|
325396
325809
|
};
|
|
325397
325810
|
});
|
|
325398
325811
|
|
|
325399
|
-
//
|
|
325812
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/line-ending.js
|
|
325400
325813
|
function tokenizeLineEnding(effects2, ok3) {
|
|
325401
325814
|
return start;
|
|
325402
325815
|
function start(code) {
|
|
@@ -325416,7 +325829,7 @@ var init_line_ending = __esm(() => {
|
|
|
325416
325829
|
lineEnding = { name: "lineEnding", tokenize: tokenizeLineEnding };
|
|
325417
325830
|
});
|
|
325418
325831
|
|
|
325419
|
-
//
|
|
325832
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/thematic-break.js
|
|
325420
325833
|
function tokenizeThematicBreak(effects2, ok3, nok) {
|
|
325421
325834
|
let size = 0;
|
|
325422
325835
|
let marker;
|
|
@@ -325463,7 +325876,7 @@ var init_thematic_break = __esm(() => {
|
|
|
325463
325876
|
};
|
|
325464
325877
|
});
|
|
325465
325878
|
|
|
325466
|
-
//
|
|
325879
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/list.js
|
|
325467
325880
|
function tokenizeListStart(effects2, ok3, nok) {
|
|
325468
325881
|
const self = this;
|
|
325469
325882
|
const tail = self.events[self.events.length - 1];
|
|
@@ -325608,7 +326021,7 @@ var init_list = __esm(() => {
|
|
|
325608
326021
|
indentConstruct = { partial: true, tokenize: tokenizeIndent };
|
|
325609
326022
|
});
|
|
325610
326023
|
|
|
325611
|
-
//
|
|
326024
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/lib/setext-underline.js
|
|
325612
326025
|
function resolveToSetextUnderline(events, context) {
|
|
325613
326026
|
let index = events.length;
|
|
325614
326027
|
let content3;
|
|
@@ -325706,7 +326119,7 @@ var init_setext_underline = __esm(() => {
|
|
|
325706
326119
|
};
|
|
325707
326120
|
});
|
|
325708
326121
|
|
|
325709
|
-
//
|
|
326122
|
+
// ../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/dev/index.js
|
|
325710
326123
|
var init_dev12 = __esm(() => {
|
|
325711
326124
|
init_attention();
|
|
325712
326125
|
init_autolink();
|
|
@@ -325732,7 +326145,7 @@ var init_dev12 = __esm(() => {
|
|
|
325732
326145
|
init_thematic_break();
|
|
325733
326146
|
});
|
|
325734
326147
|
|
|
325735
|
-
//
|
|
326148
|
+
// ../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/dev/lib/initialize/flow.js
|
|
325736
326149
|
function initializeFlow(effects2) {
|
|
325737
326150
|
const self = this;
|
|
325738
326151
|
const initial = effects2.attempt(blankLine, atBlankEnding, effects2.attempt(this.parser.constructs.flowInitial, afterConstruct, factorySpace(effects2, effects2.attempt(this.parser.constructs.flow, afterConstruct, effects2.attempt(content2, afterConstruct)), types9.linePrefix)));
|
|
@@ -325772,7 +326185,7 @@ var init_flow = __esm(() => {
|
|
|
325772
326185
|
flow = { tokenize: initializeFlow };
|
|
325773
326186
|
});
|
|
325774
326187
|
|
|
325775
|
-
//
|
|
326188
|
+
// ../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/dev/lib/initialize/text.js
|
|
325776
326189
|
function initializeFactory(field) {
|
|
325777
326190
|
return {
|
|
325778
326191
|
resolveAll: createResolver(field === "text" ? resolveAllLineSuffixes : undefined),
|
|
@@ -325911,7 +326324,7 @@ var init_text = __esm(() => {
|
|
|
325911
326324
|
text = initializeFactory("text");
|
|
325912
326325
|
});
|
|
325913
326326
|
|
|
325914
|
-
//
|
|
326327
|
+
// ../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/dev/lib/constructs.js
|
|
325915
326328
|
var exports_constructs = {};
|
|
325916
326329
|
__export(exports_constructs, {
|
|
325917
326330
|
text: () => text2,
|
|
@@ -325986,7 +326399,7 @@ var init_constructs = __esm(() => {
|
|
|
325986
326399
|
disable = { null: [] };
|
|
325987
326400
|
});
|
|
325988
326401
|
|
|
325989
|
-
//
|
|
326402
|
+
// ../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js
|
|
325990
326403
|
var require_ms = __commonJS((exports, module) => {
|
|
325991
326404
|
var s = 1000;
|
|
325992
326405
|
var m = s * 60;
|
|
@@ -326096,7 +326509,7 @@ var require_ms = __commonJS((exports, module) => {
|
|
|
326096
326509
|
}
|
|
326097
326510
|
});
|
|
326098
326511
|
|
|
326099
|
-
//
|
|
326512
|
+
// ../../node_modules/.pnpm/debug@4.4.3_supports-color@5.5.0/node_modules/debug/src/common.js
|
|
326100
326513
|
var require_common = __commonJS((exports, module) => {
|
|
326101
326514
|
function setup(env) {
|
|
326102
326515
|
createDebug.debug = createDebug;
|
|
@@ -326271,7 +326684,7 @@ var require_common = __commonJS((exports, module) => {
|
|
|
326271
326684
|
module.exports = setup;
|
|
326272
326685
|
});
|
|
326273
326686
|
|
|
326274
|
-
//
|
|
326687
|
+
// ../../node_modules/.pnpm/debug@4.4.3_supports-color@5.5.0/node_modules/debug/src/browser.js
|
|
326275
326688
|
var require_browser = __commonJS((exports, module) => {
|
|
326276
326689
|
exports.formatArgs = formatArgs;
|
|
326277
326690
|
exports.save = save;
|
|
@@ -326431,36 +326844,30 @@ var require_browser = __commonJS((exports, module) => {
|
|
|
326431
326844
|
};
|
|
326432
326845
|
});
|
|
326433
326846
|
|
|
326434
|
-
//
|
|
326847
|
+
// ../../node_modules/.pnpm/has-flag@3.0.0/node_modules/has-flag/index.js
|
|
326435
326848
|
var require_has_flag = __commonJS((exports, module) => {
|
|
326436
|
-
module.exports = (flag, argv
|
|
326849
|
+
module.exports = (flag, argv) => {
|
|
326850
|
+
argv = argv || process.argv;
|
|
326437
326851
|
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
326438
|
-
const
|
|
326439
|
-
const
|
|
326440
|
-
return
|
|
326852
|
+
const pos = argv.indexOf(prefix + flag);
|
|
326853
|
+
const terminatorPos = argv.indexOf("--");
|
|
326854
|
+
return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
|
|
326441
326855
|
};
|
|
326442
326856
|
});
|
|
326443
326857
|
|
|
326444
|
-
//
|
|
326858
|
+
// ../../node_modules/.pnpm/supports-color@5.5.0/node_modules/supports-color/index.js
|
|
326445
326859
|
var require_supports_color = __commonJS((exports, module) => {
|
|
326446
326860
|
var os = __require("os");
|
|
326447
|
-
var tty = __require("tty");
|
|
326448
326861
|
var hasFlag = require_has_flag();
|
|
326449
|
-
var
|
|
326862
|
+
var env = process.env;
|
|
326450
326863
|
var forceColor;
|
|
326451
|
-
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")
|
|
326452
|
-
forceColor =
|
|
326864
|
+
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")) {
|
|
326865
|
+
forceColor = false;
|
|
326453
326866
|
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
|
|
326454
|
-
forceColor =
|
|
326867
|
+
forceColor = true;
|
|
326455
326868
|
}
|
|
326456
326869
|
if ("FORCE_COLOR" in env) {
|
|
326457
|
-
|
|
326458
|
-
forceColor = 1;
|
|
326459
|
-
} else if (env.FORCE_COLOR === "false") {
|
|
326460
|
-
forceColor = 0;
|
|
326461
|
-
} else {
|
|
326462
|
-
forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
|
|
326463
|
-
}
|
|
326870
|
+
forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;
|
|
326464
326871
|
}
|
|
326465
326872
|
function translateLevel(level) {
|
|
326466
326873
|
if (level === 0) {
|
|
@@ -326473,8 +326880,8 @@ var require_supports_color = __commonJS((exports, module) => {
|
|
|
326473
326880
|
has16m: level >= 3
|
|
326474
326881
|
};
|
|
326475
326882
|
}
|
|
326476
|
-
function supportsColor(
|
|
326477
|
-
if (forceColor ===
|
|
326883
|
+
function supportsColor(stream) {
|
|
326884
|
+
if (forceColor === false) {
|
|
326478
326885
|
return 0;
|
|
326479
326886
|
}
|
|
326480
326887
|
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
|
|
@@ -326483,22 +326890,19 @@ var require_supports_color = __commonJS((exports, module) => {
|
|
|
326483
326890
|
if (hasFlag("color=256")) {
|
|
326484
326891
|
return 2;
|
|
326485
326892
|
}
|
|
326486
|
-
if (
|
|
326893
|
+
if (stream && !stream.isTTY && forceColor !== true) {
|
|
326487
326894
|
return 0;
|
|
326488
326895
|
}
|
|
326489
|
-
const min = forceColor
|
|
326490
|
-
if (env.TERM === "dumb") {
|
|
326491
|
-
return min;
|
|
326492
|
-
}
|
|
326896
|
+
const min = forceColor ? 1 : 0;
|
|
326493
326897
|
if (process.platform === "win32") {
|
|
326494
326898
|
const osRelease = os.release().split(".");
|
|
326495
|
-
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
|
326899
|
+
if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
|
|
326496
326900
|
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
326497
326901
|
}
|
|
326498
326902
|
return 1;
|
|
326499
326903
|
}
|
|
326500
326904
|
if ("CI" in env) {
|
|
326501
|
-
if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"
|
|
326905
|
+
if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some((sign) => (sign in env)) || env.CI_NAME === "codeship") {
|
|
326502
326906
|
return 1;
|
|
326503
326907
|
}
|
|
326504
326908
|
return min;
|
|
@@ -326527,20 +326931,23 @@ var require_supports_color = __commonJS((exports, module) => {
|
|
|
326527
326931
|
if ("COLORTERM" in env) {
|
|
326528
326932
|
return 1;
|
|
326529
326933
|
}
|
|
326934
|
+
if (env.TERM === "dumb") {
|
|
326935
|
+
return min;
|
|
326936
|
+
}
|
|
326530
326937
|
return min;
|
|
326531
326938
|
}
|
|
326532
326939
|
function getSupportLevel(stream) {
|
|
326533
|
-
const level = supportsColor(stream
|
|
326940
|
+
const level = supportsColor(stream);
|
|
326534
326941
|
return translateLevel(level);
|
|
326535
326942
|
}
|
|
326536
326943
|
module.exports = {
|
|
326537
326944
|
supportsColor: getSupportLevel,
|
|
326538
|
-
stdout:
|
|
326539
|
-
stderr:
|
|
326945
|
+
stdout: getSupportLevel(process.stdout),
|
|
326946
|
+
stderr: getSupportLevel(process.stderr)
|
|
326540
326947
|
};
|
|
326541
326948
|
});
|
|
326542
326949
|
|
|
326543
|
-
//
|
|
326950
|
+
// ../../node_modules/.pnpm/debug@4.4.3_supports-color@5.5.0/node_modules/debug/src/node.js
|
|
326544
326951
|
var require_node = __commonJS((exports, module) => {
|
|
326545
326952
|
var tty = __require("tty");
|
|
326546
326953
|
var util3 = __require("util");
|
|
@@ -326711,7 +327118,7 @@ var require_node = __commonJS((exports, module) => {
|
|
|
326711
327118
|
};
|
|
326712
327119
|
});
|
|
326713
327120
|
|
|
326714
|
-
//
|
|
327121
|
+
// ../../node_modules/.pnpm/debug@4.4.3_supports-color@5.5.0/node_modules/debug/src/index.js
|
|
326715
327122
|
var require_src = __commonJS((exports, module) => {
|
|
326716
327123
|
if (typeof process === "undefined" || process.type === "renderer" || false || process.__nwjs) {
|
|
326717
327124
|
module.exports = require_browser();
|
|
@@ -326720,7 +327127,7 @@ var require_src = __commonJS((exports, module) => {
|
|
|
326720
327127
|
}
|
|
326721
327128
|
});
|
|
326722
327129
|
|
|
326723
|
-
//
|
|
327130
|
+
// ../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/dev/lib/create-tokenizer.js
|
|
326724
327131
|
function createTokenizer(parser, initialize, from) {
|
|
326725
327132
|
let point = {
|
|
326726
327133
|
_bufferIndex: -1,
|
|
@@ -327043,7 +327450,7 @@ var init_create_tokenizer = __esm(() => {
|
|
|
327043
327450
|
debug = import_debug.default("micromark");
|
|
327044
327451
|
});
|
|
327045
327452
|
|
|
327046
|
-
//
|
|
327453
|
+
// ../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/dev/lib/parse.js
|
|
327047
327454
|
function parse6(options) {
|
|
327048
327455
|
const settings = options || {};
|
|
327049
327456
|
const constructs2 = combineExtensions([exports_constructs, ...settings.extensions || []]);
|
|
@@ -327075,7 +327482,7 @@ var init_parse4 = __esm(() => {
|
|
|
327075
327482
|
init_create_tokenizer();
|
|
327076
327483
|
});
|
|
327077
327484
|
|
|
327078
|
-
//
|
|
327485
|
+
// ../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/dev/lib/postprocess.js
|
|
327079
327486
|
function postprocess(events) {
|
|
327080
327487
|
while (!subtokenize(events)) {}
|
|
327081
327488
|
return events;
|
|
@@ -327084,7 +327491,7 @@ var init_postprocess = __esm(() => {
|
|
|
327084
327491
|
init_dev7();
|
|
327085
327492
|
});
|
|
327086
327493
|
|
|
327087
|
-
//
|
|
327494
|
+
// ../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/dev/lib/preprocess.js
|
|
327088
327495
|
function preprocess2() {
|
|
327089
327496
|
let column = 1;
|
|
327090
327497
|
let buffer = "";
|
|
@@ -327170,14 +327577,14 @@ var init_preprocess = __esm(() => {
|
|
|
327170
327577
|
search = /[\0\t\n\r]/g;
|
|
327171
327578
|
});
|
|
327172
327579
|
|
|
327173
|
-
//
|
|
327580
|
+
// ../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/dev/index.js
|
|
327174
327581
|
var init_dev13 = __esm(() => {
|
|
327175
327582
|
init_parse4();
|
|
327176
327583
|
init_postprocess();
|
|
327177
327584
|
init_preprocess();
|
|
327178
327585
|
});
|
|
327179
327586
|
|
|
327180
|
-
//
|
|
327587
|
+
// ../../node_modules/.pnpm/micromark-util-decode-string@2.0.1/node_modules/micromark-util-decode-string/dev/index.js
|
|
327181
327588
|
function decodeString(value2) {
|
|
327182
327589
|
return value2.replace(characterEscapeOrReference, decode4);
|
|
327183
327590
|
}
|
|
@@ -327201,7 +327608,7 @@ var init_dev14 = __esm(() => {
|
|
|
327201
327608
|
characterEscapeOrReference = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;
|
|
327202
327609
|
});
|
|
327203
327610
|
|
|
327204
|
-
//
|
|
327611
|
+
// ../../node_modules/.pnpm/unist-util-stringify-position@4.0.0/node_modules/unist-util-stringify-position/lib/index.js
|
|
327205
327612
|
function stringifyPosition(value2) {
|
|
327206
327613
|
if (!value2 || typeof value2 !== "object") {
|
|
327207
327614
|
return "";
|
|
@@ -327227,10 +327634,10 @@ function index(value2) {
|
|
|
327227
327634
|
return value2 && typeof value2 === "number" ? value2 : 1;
|
|
327228
327635
|
}
|
|
327229
327636
|
|
|
327230
|
-
//
|
|
327637
|
+
// ../../node_modules/.pnpm/unist-util-stringify-position@4.0.0/node_modules/unist-util-stringify-position/index.js
|
|
327231
327638
|
var init_unist_util_stringify_position = () => {};
|
|
327232
327639
|
|
|
327233
|
-
//
|
|
327640
|
+
// ../../node_modules/.pnpm/mdast-util-from-markdown@2.0.3/node_modules/mdast-util-from-markdown/dev/lib/index.js
|
|
327234
327641
|
function fromMarkdown(value2, encoding, options) {
|
|
327235
327642
|
if (encoding && typeof encoding === "object") {
|
|
327236
327643
|
options = encoding;
|
|
@@ -327945,12 +328352,12 @@ var init_lib2 = __esm(() => {
|
|
|
327945
328352
|
own2 = {}.hasOwnProperty;
|
|
327946
328353
|
});
|
|
327947
328354
|
|
|
327948
|
-
//
|
|
328355
|
+
// ../../node_modules/.pnpm/mdast-util-from-markdown@2.0.3/node_modules/mdast-util-from-markdown/dev/index.js
|
|
327949
328356
|
var init_dev15 = __esm(() => {
|
|
327950
328357
|
init_lib2();
|
|
327951
328358
|
});
|
|
327952
328359
|
|
|
327953
|
-
//
|
|
328360
|
+
// ../../node_modules/.pnpm/ccount@2.0.1/node_modules/ccount/index.js
|
|
327954
328361
|
function ccount(value2, character) {
|
|
327955
328362
|
const source = String(value2);
|
|
327956
328363
|
if (typeof character !== "string") {
|
|
@@ -327965,7 +328372,7 @@ function ccount(value2, character) {
|
|
|
327965
328372
|
return count;
|
|
327966
328373
|
}
|
|
327967
328374
|
|
|
327968
|
-
//
|
|
328375
|
+
// ../../node_modules/.pnpm/escape-string-regexp@5.0.0/node_modules/escape-string-regexp/index.js
|
|
327969
328376
|
function escapeStringRegexp(string7) {
|
|
327970
328377
|
if (typeof string7 !== "string") {
|
|
327971
328378
|
throw new TypeError("Expected a string");
|
|
@@ -327973,7 +328380,7 @@ function escapeStringRegexp(string7) {
|
|
|
327973
328380
|
return string7.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
|
|
327974
328381
|
}
|
|
327975
328382
|
|
|
327976
|
-
//
|
|
328383
|
+
// ../../node_modules/.pnpm/unist-util-is@6.0.1/node_modules/unist-util-is/lib/index.js
|
|
327977
328384
|
function anyFactory(tests) {
|
|
327978
328385
|
const checks4 = [];
|
|
327979
328386
|
let index2 = -1;
|
|
@@ -328037,15 +328444,15 @@ var convert = function(test) {
|
|
|
328037
328444
|
throw new Error("Expected function, string, or object as test");
|
|
328038
328445
|
};
|
|
328039
328446
|
|
|
328040
|
-
//
|
|
328447
|
+
// ../../node_modules/.pnpm/unist-util-is@6.0.1/node_modules/unist-util-is/index.js
|
|
328041
328448
|
var init_unist_util_is = () => {};
|
|
328042
328449
|
|
|
328043
|
-
//
|
|
328450
|
+
// ../../node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/color.node.js
|
|
328044
328451
|
function color(d) {
|
|
328045
328452
|
return "\x1B[33m" + d + "\x1B[39m";
|
|
328046
328453
|
}
|
|
328047
328454
|
|
|
328048
|
-
//
|
|
328455
|
+
// ../../node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/index.js
|
|
328049
328456
|
function visitParents(tree, test, visitor, reverse) {
|
|
328050
328457
|
let check2;
|
|
328051
328458
|
if (typeof test === "function" && typeof visitor !== "function") {
|
|
@@ -328111,12 +328518,12 @@ var init_lib3 = __esm(() => {
|
|
|
328111
328518
|
empty2 = [];
|
|
328112
328519
|
});
|
|
328113
328520
|
|
|
328114
|
-
//
|
|
328521
|
+
// ../../node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/index.js
|
|
328115
328522
|
var init_unist_util_visit_parents = __esm(() => {
|
|
328116
328523
|
init_lib3();
|
|
328117
328524
|
});
|
|
328118
328525
|
|
|
328119
|
-
//
|
|
328526
|
+
// ../../node_modules/.pnpm/mdast-util-find-and-replace@3.0.2/node_modules/mdast-util-find-and-replace/lib/index.js
|
|
328120
328527
|
function findAndReplace(tree, list2, options) {
|
|
328121
328528
|
const settings = options || {};
|
|
328122
328529
|
const ignored = convert(settings.ignore || []);
|
|
@@ -328221,12 +328628,12 @@ var init_lib4 = __esm(() => {
|
|
|
328221
328628
|
init_unist_util_is();
|
|
328222
328629
|
});
|
|
328223
328630
|
|
|
328224
|
-
//
|
|
328631
|
+
// ../../node_modules/.pnpm/mdast-util-find-and-replace@3.0.2/node_modules/mdast-util-find-and-replace/index.js
|
|
328225
328632
|
var init_mdast_util_find_and_replace = __esm(() => {
|
|
328226
328633
|
init_lib4();
|
|
328227
328634
|
});
|
|
328228
328635
|
|
|
328229
|
-
//
|
|
328636
|
+
// ../../node_modules/.pnpm/mdast-util-gfm-autolink-literal@2.0.1/node_modules/mdast-util-gfm-autolink-literal/lib/index.js
|
|
328230
328637
|
function gfmAutolinkLiteralFromMarkdown() {
|
|
328231
328638
|
return {
|
|
328232
328639
|
transforms: [transformGfmAutolinkLiterals],
|
|
@@ -328344,12 +328751,12 @@ var init_lib5 = __esm(() => {
|
|
|
328344
328751
|
init_mdast_util_find_and_replace();
|
|
328345
328752
|
});
|
|
328346
328753
|
|
|
328347
|
-
//
|
|
328754
|
+
// ../../node_modules/.pnpm/mdast-util-gfm-autolink-literal@2.0.1/node_modules/mdast-util-gfm-autolink-literal/index.js
|
|
328348
328755
|
var init_mdast_util_gfm_autolink_literal = __esm(() => {
|
|
328349
328756
|
init_lib5();
|
|
328350
328757
|
});
|
|
328351
328758
|
|
|
328352
|
-
//
|
|
328759
|
+
// ../../node_modules/.pnpm/mdast-util-gfm-footnote@2.1.0/node_modules/mdast-util-gfm-footnote/lib/index.js
|
|
328353
328760
|
function enterFootnoteCallString() {
|
|
328354
328761
|
this.buffer();
|
|
328355
328762
|
}
|
|
@@ -328418,12 +328825,12 @@ var init_lib6 = __esm(() => {
|
|
|
328418
328825
|
footnoteReference.peek = footnoteReferencePeek;
|
|
328419
328826
|
});
|
|
328420
328827
|
|
|
328421
|
-
//
|
|
328828
|
+
// ../../node_modules/.pnpm/mdast-util-gfm-footnote@2.1.0/node_modules/mdast-util-gfm-footnote/index.js
|
|
328422
328829
|
var init_mdast_util_gfm_footnote = __esm(() => {
|
|
328423
328830
|
init_lib6();
|
|
328424
328831
|
});
|
|
328425
328832
|
|
|
328426
|
-
//
|
|
328833
|
+
// ../../node_modules/.pnpm/mdast-util-gfm-strikethrough@2.0.0/node_modules/mdast-util-gfm-strikethrough/lib/index.js
|
|
328427
328834
|
function gfmStrikethroughFromMarkdown() {
|
|
328428
328835
|
return {
|
|
328429
328836
|
canContainEols: ["delete"],
|
|
@@ -328457,12 +328864,12 @@ var init_lib7 = __esm(() => {
|
|
|
328457
328864
|
handleDelete.peek = peekDelete;
|
|
328458
328865
|
});
|
|
328459
328866
|
|
|
328460
|
-
//
|
|
328867
|
+
// ../../node_modules/.pnpm/mdast-util-gfm-strikethrough@2.0.0/node_modules/mdast-util-gfm-strikethrough/index.js
|
|
328461
328868
|
var init_mdast_util_gfm_strikethrough = __esm(() => {
|
|
328462
328869
|
init_lib7();
|
|
328463
328870
|
});
|
|
328464
328871
|
|
|
328465
|
-
//
|
|
328872
|
+
// ../../node_modules/.pnpm/mdast-util-gfm-table@2.0.0/node_modules/mdast-util-gfm-table/lib/index.js
|
|
328466
328873
|
function gfmTableFromMarkdown() {
|
|
328467
328874
|
return {
|
|
328468
328875
|
enter: {
|
|
@@ -328522,12 +328929,12 @@ var init_lib8 = __esm(() => {
|
|
|
328522
328929
|
init_development();
|
|
328523
328930
|
});
|
|
328524
328931
|
|
|
328525
|
-
//
|
|
328932
|
+
// ../../node_modules/.pnpm/mdast-util-gfm-table@2.0.0/node_modules/mdast-util-gfm-table/index.js
|
|
328526
328933
|
var init_mdast_util_gfm_table = __esm(() => {
|
|
328527
328934
|
init_lib8();
|
|
328528
328935
|
});
|
|
328529
328936
|
|
|
328530
|
-
//
|
|
328937
|
+
// ../../node_modules/.pnpm/mdast-util-gfm-task-list-item@2.0.0/node_modules/mdast-util-gfm-task-list-item/lib/index.js
|
|
328531
328938
|
function gfmTaskListItemFromMarkdown() {
|
|
328532
328939
|
return {
|
|
328533
328940
|
exit: {
|
|
@@ -328577,12 +328984,12 @@ var init_lib9 = __esm(() => {
|
|
|
328577
328984
|
init_development();
|
|
328578
328985
|
});
|
|
328579
328986
|
|
|
328580
|
-
//
|
|
328987
|
+
// ../../node_modules/.pnpm/mdast-util-gfm-task-list-item@2.0.0/node_modules/mdast-util-gfm-task-list-item/index.js
|
|
328581
328988
|
var init_mdast_util_gfm_task_list_item = __esm(() => {
|
|
328582
328989
|
init_lib9();
|
|
328583
328990
|
});
|
|
328584
328991
|
|
|
328585
|
-
//
|
|
328992
|
+
// ../../node_modules/.pnpm/mdast-util-gfm@3.1.0/node_modules/mdast-util-gfm/lib/index.js
|
|
328586
328993
|
function gfmFromMarkdown() {
|
|
328587
328994
|
return [
|
|
328588
328995
|
gfmAutolinkLiteralFromMarkdown(),
|
|
@@ -328600,12 +329007,12 @@ var init_lib10 = __esm(() => {
|
|
|
328600
329007
|
init_mdast_util_gfm_task_list_item();
|
|
328601
329008
|
});
|
|
328602
329009
|
|
|
328603
|
-
//
|
|
329010
|
+
// ../../node_modules/.pnpm/mdast-util-gfm@3.1.0/node_modules/mdast-util-gfm/index.js
|
|
328604
329011
|
var init_mdast_util_gfm = __esm(() => {
|
|
328605
329012
|
init_lib10();
|
|
328606
329013
|
});
|
|
328607
329014
|
|
|
328608
|
-
//
|
|
329015
|
+
// ../../node_modules/.pnpm/micromark-extension-gfm-autolink-literal@2.1.0/node_modules/micromark-extension-gfm-autolink-literal/dev/lib/syntax.js
|
|
328609
329016
|
function gfmAutolinkLiteral() {
|
|
328610
329017
|
return { text: text3 };
|
|
328611
329018
|
}
|
|
@@ -328936,12 +329343,12 @@ var init_syntax = __esm(() => {
|
|
|
328936
329343
|
text3[codes.lowercaseW] = [emailAutolink, wwwAutolink];
|
|
328937
329344
|
});
|
|
328938
329345
|
|
|
328939
|
-
//
|
|
329346
|
+
// ../../node_modules/.pnpm/micromark-extension-gfm-autolink-literal@2.1.0/node_modules/micromark-extension-gfm-autolink-literal/dev/index.js
|
|
328940
329347
|
var init_dev16 = __esm(() => {
|
|
328941
329348
|
init_syntax();
|
|
328942
329349
|
});
|
|
328943
329350
|
|
|
328944
|
-
//
|
|
329351
|
+
// ../../node_modules/.pnpm/micromark-extension-gfm-footnote@2.1.0/node_modules/micromark-extension-gfm-footnote/dev/lib/syntax.js
|
|
328945
329352
|
function gfmFootnote() {
|
|
328946
329353
|
return {
|
|
328947
329354
|
document: {
|
|
@@ -329205,12 +329612,12 @@ var init_syntax2 = __esm(() => {
|
|
|
329205
329612
|
indent = { tokenize: tokenizeIndent2, partial: true };
|
|
329206
329613
|
});
|
|
329207
329614
|
|
|
329208
|
-
//
|
|
329615
|
+
// ../../node_modules/.pnpm/micromark-extension-gfm-footnote@2.1.0/node_modules/micromark-extension-gfm-footnote/dev/index.js
|
|
329209
329616
|
var init_dev17 = __esm(() => {
|
|
329210
329617
|
init_syntax2();
|
|
329211
329618
|
});
|
|
329212
329619
|
|
|
329213
|
-
//
|
|
329620
|
+
// ../../node_modules/.pnpm/micromark-extension-gfm-strikethrough@2.1.0/node_modules/micromark-extension-gfm-strikethrough/dev/lib/syntax.js
|
|
329214
329621
|
function gfmStrikethrough(options) {
|
|
329215
329622
|
const options_ = options || {};
|
|
329216
329623
|
let single = options_.singleTilde;
|
|
@@ -329316,12 +329723,12 @@ var init_syntax3 = __esm(() => {
|
|
|
329316
329723
|
init_default3();
|
|
329317
329724
|
});
|
|
329318
329725
|
|
|
329319
|
-
//
|
|
329726
|
+
// ../../node_modules/.pnpm/micromark-extension-gfm-strikethrough@2.1.0/node_modules/micromark-extension-gfm-strikethrough/dev/index.js
|
|
329320
329727
|
var init_dev18 = __esm(() => {
|
|
329321
329728
|
init_syntax3();
|
|
329322
329729
|
});
|
|
329323
329730
|
|
|
329324
|
-
//
|
|
329731
|
+
// ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.js
|
|
329325
329732
|
class EditMap {
|
|
329326
329733
|
constructor() {
|
|
329327
329734
|
this.map = [];
|
|
@@ -329371,7 +329778,7 @@ function addImplementation(editMap, at, remove, add) {
|
|
|
329371
329778
|
editMap.map.push([at, remove, add]);
|
|
329372
329779
|
}
|
|
329373
329780
|
|
|
329374
|
-
//
|
|
329781
|
+
// ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/dev/lib/infer.js
|
|
329375
329782
|
function gfmTableAlign(events, index2) {
|
|
329376
329783
|
ok2(events[index2][1].type === "table", "expected table");
|
|
329377
329784
|
let inDelimiterRow = false;
|
|
@@ -329402,7 +329809,7 @@ var init_infer = __esm(() => {
|
|
|
329402
329809
|
init_development();
|
|
329403
329810
|
});
|
|
329404
329811
|
|
|
329405
|
-
//
|
|
329812
|
+
// ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/dev/lib/syntax.js
|
|
329406
329813
|
function gfmTable() {
|
|
329407
329814
|
return {
|
|
329408
329815
|
flow: {
|
|
@@ -329794,12 +330201,12 @@ var init_syntax4 = __esm(() => {
|
|
|
329794
330201
|
init_infer();
|
|
329795
330202
|
});
|
|
329796
330203
|
|
|
329797
|
-
//
|
|
330204
|
+
// ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/dev/index.js
|
|
329798
330205
|
var init_dev19 = __esm(() => {
|
|
329799
330206
|
init_syntax4();
|
|
329800
330207
|
});
|
|
329801
330208
|
|
|
329802
|
-
//
|
|
330209
|
+
// ../../node_modules/.pnpm/micromark-extension-gfm-task-list-item@2.1.0/node_modules/micromark-extension-gfm-task-list-item/dev/lib/syntax.js
|
|
329803
330210
|
function gfmTaskListItem() {
|
|
329804
330211
|
return {
|
|
329805
330212
|
text: { [codes.leftSquareBracket]: tasklistCheck }
|
|
@@ -329869,12 +330276,12 @@ var init_syntax5 = __esm(() => {
|
|
|
329869
330276
|
tasklistCheck = { name: "tasklistCheck", tokenize: tokenizeTasklistCheck };
|
|
329870
330277
|
});
|
|
329871
330278
|
|
|
329872
|
-
//
|
|
330279
|
+
// ../../node_modules/.pnpm/micromark-extension-gfm-task-list-item@2.1.0/node_modules/micromark-extension-gfm-task-list-item/dev/index.js
|
|
329873
330280
|
var init_dev20 = __esm(() => {
|
|
329874
330281
|
init_syntax5();
|
|
329875
330282
|
});
|
|
329876
330283
|
|
|
329877
|
-
//
|
|
330284
|
+
// ../../node_modules/.pnpm/micromark-extension-gfm@3.0.0/node_modules/micromark-extension-gfm/index.js
|
|
329878
330285
|
function gfm(options) {
|
|
329879
330286
|
return combineExtensions([
|
|
329880
330287
|
gfmAutolinkLiteral(),
|
|
@@ -357887,6 +358294,16 @@ function collectCellScopes(tableCatalog) {
|
|
|
357887
358294
|
function computeComparePackageFingerprint(context) {
|
|
357888
358295
|
return computeSDDocumentSessionInternalPackageBinding(context.session);
|
|
357889
358296
|
}
|
|
358297
|
+
function computeCompareSemanticPackageFingerprint(context) {
|
|
358298
|
+
return computeSDDocumentSessionInternalSemanticPackageBinding(context.session);
|
|
358299
|
+
}
|
|
358300
|
+
function resolveComparePlanBindingMatch(context, expectedBinding) {
|
|
358301
|
+
const liveSemanticBinding = computeCompareSemanticPackageFingerprint(context);
|
|
358302
|
+
if (liveSemanticBinding === expectedBinding)
|
|
358303
|
+
return { matched: true, liveSemanticBinding };
|
|
358304
|
+
const liveLegacyBinding = computeComparePackageFingerprint(context);
|
|
358305
|
+
return { matched: liveLegacyBinding === expectedBinding, liveSemanticBinding };
|
|
358306
|
+
}
|
|
357890
358307
|
var init_fingerprint = __esm(() => {
|
|
357891
358308
|
init_sd_document_session_internal();
|
|
357892
358309
|
});
|
|
@@ -358699,6 +359116,10 @@ function trackedChangeAnnotationKeysForParagraph(context, paragraph4) {
|
|
|
358699
359116
|
const fragments = getSDDocumentSessionInternalTrackedChangeCatalog(context.session).byPart.get(paragraph4.partUri) ?? [];
|
|
358700
359117
|
return fragments.filter((fragment3) => fragment3.storyId === paragraph4.storyId && fragment3.sourceByteStart >= paragraph4.byteStart && fragment3.sourceByteEnd <= paragraph4.byteEnd).map(trackedChangeAnnotationKey);
|
|
358701
359118
|
}
|
|
359119
|
+
function structuralChangeAnnotationKeysForParagraph(context, paragraph4) {
|
|
359120
|
+
const fragments = getSDDocumentSessionInternalTrackedChangeCatalog(context.session).structuralByPart.get(paragraph4.partUri) ?? [];
|
|
359121
|
+
return fragments.filter((fragment3) => fragment3.storyId === paragraph4.storyId && (fragment3.sourceByteStart ?? fragment3.byteStart) >= paragraph4.byteStart && (fragment3.sourceByteEnd ?? fragment3.byteEnd) <= paragraph4.byteEnd).map((fragment3) => fragment3.entityKey);
|
|
359122
|
+
}
|
|
358702
359123
|
function projectFieldsReferences(context) {
|
|
358703
359124
|
const entries = [];
|
|
358704
359125
|
let ordinal = 0;
|
|
@@ -359644,6 +360065,7 @@ function projectStories(context, slots) {
|
|
|
359644
360065
|
runSignature: runSignatureByOrdinal.get(p.ordinal),
|
|
359645
360066
|
runXml,
|
|
359646
360067
|
trackedChangeAnnotationKeys: trackedChangeAnnotationKeysForParagraph(context, p),
|
|
360068
|
+
structuralChangeAnnotationKeys: structuralChangeAnnotationKeysForParagraph(context, p),
|
|
359647
360069
|
paragraphPropertiesXml,
|
|
359648
360070
|
paragraphPropertiesSignature: computeParagraphPropertiesSignature2(paragraphPropertiesXml)
|
|
359649
360071
|
};
|
|
@@ -359729,6 +360151,7 @@ function projectBody(context) {
|
|
|
359729
360151
|
runSignature: runSignatures[ordinal],
|
|
359730
360152
|
runXml,
|
|
359731
360153
|
trackedChangeAnnotationKeys: trackedChangeAnnotationKeysForParagraph(context, p),
|
|
360154
|
+
structuralChangeAnnotationKeys: structuralChangeAnnotationKeysForParagraph(context, p),
|
|
359732
360155
|
paragraphPropertiesXml,
|
|
359733
360156
|
paragraphPropertiesSignature: computeParagraphPropertiesSignature2(paragraphPropertiesXml)
|
|
359734
360157
|
};
|
|
@@ -359771,7 +360194,7 @@ function projectCompareSnapshot(context, posture, options) {
|
|
|
359771
360194
|
return {
|
|
359772
360195
|
version: "sd-compare-snapshot/v1",
|
|
359773
360196
|
identity: {
|
|
359774
|
-
fingerprint:
|
|
360197
|
+
fingerprint: computeCompareSemanticPackageFingerprint(context),
|
|
359775
360198
|
...options.label !== undefined ? { label: options.label } : {}
|
|
359776
360199
|
},
|
|
359777
360200
|
sourcePosture: posture,
|
|
@@ -359837,10 +360260,11 @@ function compareOperationId(storyId, ordinal) {
|
|
|
359837
360260
|
function applyComparePlan(context, plan, options = {}) {
|
|
359838
360261
|
const reviewMarkup = options.reviewMarkup !== false;
|
|
359839
360262
|
const changeMode = reviewMarkup ? "tracked" : "direct";
|
|
359840
|
-
const
|
|
359841
|
-
if (
|
|
359842
|
-
throw new SDCompareError("PRECONDITION_FAILED", `compare plan is stale: live document binding ${
|
|
360263
|
+
const bindingResolution = resolveComparePlanBindingMatch(context, plan.planBinding);
|
|
360264
|
+
if (!bindingResolution.matched) {
|
|
360265
|
+
throw new SDCompareError("PRECONDITION_FAILED", `compare plan is stale: live document binding ${bindingResolution.liveSemanticBinding} ` + `does not match plan binding ${plan.planBinding}.`);
|
|
359843
360266
|
}
|
|
360267
|
+
const effectivePlanBinding = bindingResolution.liveSemanticBinding;
|
|
359844
360268
|
let operationOrdinal = plan.bodyOperations.length;
|
|
359845
360269
|
const storyGroups = (plan.storyOperations ?? []).filter((group) => group.operations.length > 0).map((group) => ({
|
|
359846
360270
|
storyId: group.storyId,
|
|
@@ -359914,7 +360338,7 @@ function applyComparePlan(context, plan, options = {}) {
|
|
|
359914
360338
|
tx.compareApply({
|
|
359915
360339
|
operationId: "v2-compare-apply",
|
|
359916
360340
|
storyId: mainStoryId,
|
|
359917
|
-
planBinding:
|
|
360341
|
+
planBinding: effectivePlanBinding,
|
|
359918
360342
|
changeMode,
|
|
359919
360343
|
bodySteps,
|
|
359920
360344
|
...storyGroups.length > 0 ? {
|
|
@@ -359952,7 +360376,7 @@ function applyComparePlan(context, plan, options = {}) {
|
|
|
359952
360376
|
const appliedFamilySet = new Set;
|
|
359953
360377
|
if (plan.bodyOperations.length > 0)
|
|
359954
360378
|
appliedFamilySet.add("body");
|
|
359955
|
-
const appliedTargetRevisionReplay = plan.bodyOperations.some((operation) => ("targetRevisionReplay" in operation) && operation.targetRevisionReplay !== undefined) || storyGroups.some((group) => group.bodySteps.some((step3) => step3.targetRevisionReplay !== undefined));
|
|
360379
|
+
const appliedTargetRevisionReplay = plan.bodyOperations.some((operation) => ("targetRevisionReplay" in operation) && operation.targetRevisionReplay !== undefined || ("targetParagraphMarkRevisionReplay" in operation) && operation.targetParagraphMarkRevisionReplay !== undefined) || storyGroups.some((group) => group.bodySteps.some((step3) => step3.targetRevisionReplay !== undefined || ("targetParagraphMarkRevisionReplay" in step3) && step3.targetParagraphMarkRevisionReplay !== undefined));
|
|
359956
360380
|
if (appliedTargetRevisionReplay)
|
|
359957
360381
|
appliedFamilySet.add("tracked-changes");
|
|
359958
360382
|
for (const group of storyGroups) {
|
|
@@ -363282,7 +363706,8 @@ function buildHeaderFooterLifecyclePlan(base3, target) {
|
|
|
363282
363706
|
const after = targetParts.get(partUri);
|
|
363283
363707
|
const kind = after?.kind ?? before.kind;
|
|
363284
363708
|
const relationshipsChanged = !headerFooterPartRelationshipsEqual(before?.relationshipsBytes ?? null, after?.relationshipsBytes ?? null);
|
|
363285
|
-
const
|
|
363709
|
+
const contentChanged = Boolean(before && after && (before.bytes.length !== after.bytes.length || before.bytes.some((value2, index2) => value2 !== after.bytes[index2])));
|
|
363710
|
+
const changed = !before || !after || contentChanged || relationshipsChanged;
|
|
363286
363711
|
if (!changed)
|
|
363287
363712
|
continue;
|
|
363288
363713
|
if (hasUnsafeRelationshipDependencyChange(before, after, relationshipsChanged)) {
|
|
@@ -363299,7 +363724,7 @@ function buildHeaderFooterLifecyclePlan(base3, target) {
|
|
|
363299
363724
|
});
|
|
363300
363725
|
} else if (before && !after) {
|
|
363301
363726
|
rewrites.push({ family: "header-footer-parts", partUri, kind: "remove" });
|
|
363302
|
-
} else if (before && after &&
|
|
363727
|
+
} else if (before && after && contentChanged) {
|
|
363303
363728
|
contentRewrites.push({
|
|
363304
363729
|
family: "header-footer-parts",
|
|
363305
363730
|
partUri,
|
|
@@ -364965,6 +365390,17 @@ function isCommentRelationshipSemanticKey(semanticKey) {
|
|
|
364965
365390
|
const relType = semanticKey.slice(sep + 1);
|
|
364966
365391
|
return /\/relationships\/(?:comments|commentsExtended|commentsIds|commentsExtensible|threadedComments|people)$/i.test(relType);
|
|
364967
365392
|
}
|
|
365393
|
+
function isResolutionSidecarAddition(key2, targetEntry) {
|
|
365394
|
+
if (!targetEntry)
|
|
365395
|
+
return false;
|
|
365396
|
+
if (key2 === "ct:override:/word/commentsExtended.xml") {
|
|
365397
|
+
return targetEntry.semanticKey === key2 && targetEntry.contentSignature === sha256HexSync(TE62.encode("override:/word/commentsExtended.xml=" + "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtended+xml"));
|
|
365398
|
+
}
|
|
365399
|
+
if (!key2.startsWith("rel:/word/document.xml|"))
|
|
365400
|
+
return false;
|
|
365401
|
+
const type = "http://schemas.microsoft.com/office/2011/relationships/commentsExtended";
|
|
365402
|
+
return targetEntry.semanticKey === `/word/document.xml|${type}` && targetEntry.contentSignature === sha256HexSync(TE62.encode(`type:${type}#mode:Internal#target:/word/commentsExtended.xml`));
|
|
365403
|
+
}
|
|
364968
365404
|
function isCommentScopedPackageKey(context, key2, presentInBase, hasCommentCreate, targetEntry) {
|
|
364969
365405
|
if (key2.startsWith("ct:")) {
|
|
364970
365406
|
const uri = key2.slice(key2.indexOf(":", 3) + 1);
|
|
@@ -365000,10 +365436,15 @@ function packageGraphKeysNotCoveredByComments(context, base3, target, steps) {
|
|
|
365000
365436
|
changedKeys.add(key2);
|
|
365001
365437
|
const hasCommentCreate = steps.some((s) => s.kind === "create");
|
|
365002
365438
|
const hasCommentDelete = steps.some((s) => s.kind === "delete");
|
|
365439
|
+
const hasRootResolution = steps.some((s) => s.kind === "set-resolved" && s.resolved && !s.targetIsReply && s.targetParentParaId === null);
|
|
365440
|
+
const addedResolutionSidecarKeys = [...changedKeys].filter((key2) => !baseSigs.has(key2) && targetSigs.has(key2) && isResolutionSidecarAddition(key2, targetEntries.get(key2)));
|
|
365441
|
+
const coversResolutionSidecar = hasRootResolution && addedResolutionSidecarKeys.length === 2 && addedResolutionSidecarKeys.includes("ct:override:/word/commentsExtended.xml");
|
|
365003
365442
|
const notCovered = [];
|
|
365004
365443
|
for (const key2 of changedKeys) {
|
|
365005
365444
|
const presentInBase = baseSigs.has(key2);
|
|
365006
365445
|
const presentInTarget = targetSigs.has(key2);
|
|
365446
|
+
if (coversResolutionSidecar && addedResolutionSidecarKeys.includes(key2))
|
|
365447
|
+
continue;
|
|
365007
365448
|
let lifecycleCoversEntry = false;
|
|
365008
365449
|
if (presentInBase !== presentInTarget) {
|
|
365009
365450
|
lifecycleCoversEntry = presentInBase ? hasCommentDelete : hasCommentCreate;
|
|
@@ -368176,7 +368617,12 @@ class V2DiffAdapter {
|
|
|
368176
368617
|
}
|
|
368177
368618
|
const liveFingerprint = liveSnapshot.identity.fingerprint;
|
|
368178
368619
|
const expectedBinding = payload.applyPlan.planBinding;
|
|
368179
|
-
|
|
368620
|
+
let bindingsMatch = liveFingerprint === payload.base.identity.fingerprint && liveFingerprint === expectedBinding;
|
|
368621
|
+
if (!bindingsMatch) {
|
|
368622
|
+
const liveLegacyFingerprint = computeComparePackageFingerprint(this.context);
|
|
368623
|
+
bindingsMatch = liveLegacyFingerprint === payload.base.identity.fingerprint && liveLegacyFingerprint === expectedBinding;
|
|
368624
|
+
}
|
|
368625
|
+
if (!bindingsMatch) {
|
|
368180
368626
|
throw diffValidationError("PRECONDITION_FAILED", `diff.apply: package binding mismatch — current=${liveFingerprint} ` + `expectedBase=${payload.base.identity.fingerprint} planBinding=${expectedBinding}.`, { current: liveFingerprint, expectedBase: payload.base.identity.fingerprint, planBinding: expectedBinding });
|
|
368181
368627
|
}
|
|
368182
368628
|
const physicalSourceProblems = [
|
|
@@ -369608,16 +370054,19 @@ function validateFullDiffApplyConsistency(diff, payload, physicalPlan, canonical
|
|
|
369608
370054
|
}
|
|
369609
370055
|
return problems;
|
|
369610
370056
|
}
|
|
370057
|
+
function hasAnyTargetRevisionReplay(operation) {
|
|
370058
|
+
return "targetRevisionReplay" in operation && operation.targetRevisionReplay !== undefined || "targetParagraphMarkRevisionReplay" in operation && operation.targetParagraphMarkRevisionReplay !== undefined;
|
|
370059
|
+
}
|
|
369611
370060
|
function buildApplyOperationCounts(applyPlan) {
|
|
369612
370061
|
const counts = new Map;
|
|
369613
370062
|
let revisionReplayCount = 0;
|
|
369614
370063
|
if (applyPlan.bodyOperations.length > 0) {
|
|
369615
370064
|
counts.set("body", applyPlan.bodyOperations.length);
|
|
369616
|
-
revisionReplayCount += applyPlan.bodyOperations.filter(
|
|
370065
|
+
revisionReplayCount += applyPlan.bodyOperations.filter(hasAnyTargetRevisionReplay).length;
|
|
369617
370066
|
}
|
|
369618
370067
|
for (const group of applyPlan.storyOperations ?? []) {
|
|
369619
370068
|
counts.set(group.family, (counts.get(group.family) ?? 0) + group.operations.length);
|
|
369620
|
-
revisionReplayCount += group.operations.filter(
|
|
370069
|
+
revisionReplayCount += group.operations.filter(hasAnyTargetRevisionReplay).length;
|
|
369621
370070
|
}
|
|
369622
370071
|
if (revisionReplayCount > 0)
|
|
369623
370072
|
counts.set("tracked-changes", revisionReplayCount);
|
|
@@ -369628,8 +370077,8 @@ function buildApplyOperationCounts(applyPlan) {
|
|
|
369628
370077
|
}
|
|
369629
370078
|
function setRuntimeBodyOperationCounts(counts, applyPlan, bodyOperations) {
|
|
369630
370079
|
counts.set("body", bodyOperations.length);
|
|
369631
|
-
const storyRevisionReplayCount = (applyPlan.storyOperations ?? []).reduce((total, group) => total + group.operations.filter(
|
|
369632
|
-
const bodyRevisionReplayCount = bodyOperations.filter(
|
|
370080
|
+
const storyRevisionReplayCount = (applyPlan.storyOperations ?? []).reduce((total, group) => total + group.operations.filter(hasAnyTargetRevisionReplay).length, 0);
|
|
370081
|
+
const bodyRevisionReplayCount = bodyOperations.filter(hasAnyTargetRevisionReplay).length;
|
|
369633
370082
|
const revisionReplayCount = storyRevisionReplayCount + bodyRevisionReplayCount;
|
|
369634
370083
|
if (revisionReplayCount > 0)
|
|
369635
370084
|
counts.set("tracked-changes", revisionReplayCount);
|
|
@@ -369677,16 +370126,27 @@ function throwLocalizedBodyCorrespondenceError(sectionSteps, referenceSteps) {
|
|
|
369677
370126
|
unsupportedReason: "section-reference-replay-unsafe"
|
|
369678
370127
|
});
|
|
369679
370128
|
}
|
|
370129
|
+
function paragraphMarkReplayOf(operation) {
|
|
370130
|
+
return operation.kind === "insert" || operation.kind === "insertAtStart" || operation.kind === "delete" ? operation.targetParagraphMarkRevisionReplay : undefined;
|
|
370131
|
+
}
|
|
369680
370132
|
function mergeCanonicalRevisionReplay(derivedOperations, canonicalOperations) {
|
|
369681
370133
|
return derivedOperations.map((derived) => {
|
|
369682
|
-
const candidates = canonicalOperations.filter((
|
|
370134
|
+
const candidates = canonicalOperations.filter((canonical2) => sameBodyOperationIdentity(derived, canonical2));
|
|
369683
370135
|
if (candidates.length !== 1)
|
|
369684
370136
|
return derived;
|
|
369685
|
-
const
|
|
369686
|
-
|
|
370137
|
+
const canonical = candidates[0];
|
|
370138
|
+
const replay = canonical.targetRevisionReplay;
|
|
370139
|
+
const markReplay = paragraphMarkReplayOf(canonical);
|
|
370140
|
+
const wantsReplay = replay !== undefined && derived.targetRevisionReplay === undefined;
|
|
370141
|
+
const wantsMarkReplay = markReplay !== undefined && paragraphMarkReplayOf(derived) === undefined;
|
|
370142
|
+
if (!wantsReplay && !wantsMarkReplay)
|
|
369687
370143
|
return derived;
|
|
369688
|
-
const merged = {
|
|
369689
|
-
|
|
370144
|
+
const merged = {
|
|
370145
|
+
...derived,
|
|
370146
|
+
...wantsReplay ? { targetRevisionReplay: replay } : {},
|
|
370147
|
+
...wantsMarkReplay ? { targetParagraphMarkRevisionReplay: markReplay } : {}
|
|
370148
|
+
};
|
|
370149
|
+
if (derived.kind === "delete" && (merged.targetRevisionReplay === undefined || merged.targetRevisionReplay.structuralAction === "delete"))
|
|
369690
370150
|
return merged;
|
|
369691
370151
|
return validateCompareReplayPayload(merged).ok ? merged : derived;
|
|
369692
370152
|
});
|
|
@@ -370011,8 +370471,9 @@ function findStructurallyUnsupportedOperationFamilies(context, runtimeApplyPlan,
|
|
|
370011
370471
|
return bodyStructuralIds.editDelete.has(op.blockId.toUpperCase()) && !localizedReferenceEditIsProtected(op.targetRunXml, referenceSteps) && !(referenceSteps.length === 0 && localizedRetainedFieldEditIsProtected(op.targetRunXml));
|
|
370012
370472
|
}
|
|
370013
370473
|
if (op.kind === "delete") {
|
|
370014
|
-
if (op.targetRevisionReplay?.structuralAction === "delete")
|
|
370474
|
+
if (op.targetRevisionReplay?.structuralAction === "delete" || op.targetParagraphMarkRevisionReplay !== undefined) {
|
|
370015
370475
|
return false;
|
|
370476
|
+
}
|
|
370016
370477
|
return bodyStructuralIds.editDelete.has(op.blockId.toUpperCase());
|
|
370017
370478
|
}
|
|
370018
370479
|
if (op.kind === "formatEdit")
|
|
@@ -370042,8 +370503,9 @@ function findStructurallyUnsupportedOperationFamilies(context, runtimeApplyPlan,
|
|
|
370042
370503
|
return storyStructuralIds.editDelete.has(op.blockId.toUpperCase());
|
|
370043
370504
|
}
|
|
370044
370505
|
if (op.kind === "delete") {
|
|
370045
|
-
if (op.targetRevisionReplay?.structuralAction === "delete")
|
|
370506
|
+
if (op.targetRevisionReplay?.structuralAction === "delete" || op.targetParagraphMarkRevisionReplay !== undefined) {
|
|
370046
370507
|
return false;
|
|
370508
|
+
}
|
|
370047
370509
|
return storyStructuralIds.editDelete.has(op.blockId.toUpperCase());
|
|
370048
370510
|
}
|
|
370049
370511
|
if (op.kind === "formatEdit")
|
|
@@ -370140,6 +370602,7 @@ var init_adapter24 = __esm(() => {
|
|
|
370140
370602
|
init_compare();
|
|
370141
370603
|
init_sd_document_session_internal();
|
|
370142
370604
|
init_part_fingerprint();
|
|
370605
|
+
init_fingerprint();
|
|
370143
370606
|
init_section_xml();
|
|
370144
370607
|
init_adapter23();
|
|
370145
370608
|
init_header_footer_lifecycle();
|
|
@@ -393612,7 +394075,7 @@ var init_capability_matrix = __esm(() => {
|
|
|
393612
394075
|
});
|
|
393613
394076
|
});
|
|
393614
394077
|
|
|
393615
|
-
//
|
|
394078
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/map.js
|
|
393616
394079
|
var create = () => new Map, copy = (m) => {
|
|
393617
394080
|
const r = create();
|
|
393618
394081
|
m.forEach((v, k) => {
|
|
@@ -393634,10 +394097,10 @@ var create = () => new Map, copy = (m) => {
|
|
|
393634
394097
|
return false;
|
|
393635
394098
|
};
|
|
393636
394099
|
|
|
393637
|
-
//
|
|
394100
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/set.js
|
|
393638
394101
|
var create2 = () => new Set;
|
|
393639
394102
|
|
|
393640
|
-
//
|
|
394103
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/array.js
|
|
393641
394104
|
var last = (arr) => arr[arr.length - 1], appendTo = (dest, src) => {
|
|
393642
394105
|
for (let i2 = 0;i2 < src.length; i2++) {
|
|
393643
394106
|
dest.push(src[i2]);
|
|
@@ -393655,7 +394118,7 @@ var init_array2 = __esm(() => {
|
|
|
393655
394118
|
isArray = Array.isArray;
|
|
393656
394119
|
});
|
|
393657
394120
|
|
|
393658
|
-
//
|
|
394121
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/observable.js
|
|
393659
394122
|
class ObservableV2 {
|
|
393660
394123
|
constructor() {
|
|
393661
394124
|
this._observers = create();
|
|
@@ -393722,7 +394185,7 @@ var init_observable = __esm(() => {
|
|
|
393722
394185
|
init_array2();
|
|
393723
394186
|
});
|
|
393724
394187
|
|
|
393725
|
-
//
|
|
394188
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/math.js
|
|
393726
394189
|
var floor, abs, min = (a, b) => a < b ? a : b, max2 = (a, b) => a > b ? a : b, pow, isNegativeZero = (n) => n !== 0 ? n < 0 : 1 / n < 0;
|
|
393727
394190
|
var init_math = __esm(() => {
|
|
393728
394191
|
floor = Math.floor;
|
|
@@ -393730,7 +394193,7 @@ var init_math = __esm(() => {
|
|
|
393730
394193
|
pow = Math.pow;
|
|
393731
394194
|
});
|
|
393732
394195
|
|
|
393733
|
-
//
|
|
394196
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/binary.js
|
|
393734
394197
|
var BIT1 = 1, BIT2 = 2, BIT3 = 4, BIT4 = 8, BIT6 = 32, BIT7 = 64, BIT8 = 128, BIT18, BIT19, BIT20, BIT21, BIT22, BIT23, BIT24, BIT25, BIT26, BIT27, BIT28, BIT29, BIT30, BIT31, BIT32, BITS5 = 31, BITS6 = 63, BITS7 = 127, BITS17, BITS18, BITS19, BITS20, BITS21, BITS22, BITS23, BITS24, BITS25, BITS26, BITS27, BITS28, BITS29, BITS30, BITS31 = 2147483647;
|
|
393735
394198
|
var init_binary = __esm(() => {
|
|
393736
394199
|
BIT18 = 1 << 17;
|
|
@@ -393764,7 +394227,7 @@ var init_binary = __esm(() => {
|
|
|
393764
394227
|
BITS30 = BIT31 - 1;
|
|
393765
394228
|
});
|
|
393766
394229
|
|
|
393767
|
-
//
|
|
394230
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/number.js
|
|
393768
394231
|
var MAX_SAFE_INTEGER, MIN_SAFE_INTEGER, LOWEST_INT32, isInteger2;
|
|
393769
394232
|
var init_number2 = __esm(() => {
|
|
393770
394233
|
init_math();
|
|
@@ -393774,7 +394237,7 @@ var init_number2 = __esm(() => {
|
|
|
393774
394237
|
isInteger2 = Number.isInteger || ((num) => typeof num === "number" && isFinite(num) && floor(num) === num);
|
|
393775
394238
|
});
|
|
393776
394239
|
|
|
393777
|
-
//
|
|
394240
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/string.js
|
|
393778
394241
|
var fromCharCode, fromCodePoint, MAX_UTF16_CHARACTER, toLowerCase = (s) => s.toLowerCase(), trimLeftRegex, trimLeft = (s) => s.replace(trimLeftRegex, ""), fromCamelCaseRegex, fromCamelCase = (s, separator) => trimLeft(s.replace(fromCamelCaseRegex, (match) => `${separator}${toLowerCase(match)}`)), _encodeUtf8Polyfill = (str) => {
|
|
393779
394242
|
const encodedString = unescape(encodeURIComponent(str));
|
|
393780
394243
|
const len = encodedString.length;
|
|
@@ -393798,7 +394261,7 @@ var init_string2 = __esm(() => {
|
|
|
393798
394261
|
}
|
|
393799
394262
|
});
|
|
393800
394263
|
|
|
393801
|
-
//
|
|
394264
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/encoding.js
|
|
393802
394265
|
class Encoder {
|
|
393803
394266
|
constructor() {
|
|
393804
394267
|
this.cpos = 0;
|
|
@@ -394064,14 +394527,14 @@ var init_encoding = __esm(() => {
|
|
|
394064
394527
|
};
|
|
394065
394528
|
});
|
|
394066
394529
|
|
|
394067
|
-
//
|
|
394530
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/error.js
|
|
394068
394531
|
var create3 = (s) => new Error(s), methodUnimplemented = () => {
|
|
394069
394532
|
throw create3("Method unimplemented");
|
|
394070
394533
|
}, unexpectedCase = () => {
|
|
394071
394534
|
throw create3("Unexpected case");
|
|
394072
394535
|
};
|
|
394073
394536
|
|
|
394074
|
-
//
|
|
394537
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/decoding.js
|
|
394075
394538
|
class Decoder {
|
|
394076
394539
|
constructor(uint8Array) {
|
|
394077
394540
|
this.arr = uint8Array;
|
|
@@ -394262,7 +394725,7 @@ var init_decoding = __esm(() => {
|
|
|
394262
394725
|
};
|
|
394263
394726
|
});
|
|
394264
394727
|
|
|
394265
|
-
//
|
|
394728
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/webcrypto.node.js
|
|
394266
394729
|
import { webcrypto } from "node:crypto";
|
|
394267
394730
|
var subtle, getRandomValues;
|
|
394268
394731
|
var init_webcrypto_node = __esm(() => {
|
|
@@ -394270,29 +394733,29 @@ var init_webcrypto_node = __esm(() => {
|
|
|
394270
394733
|
getRandomValues = webcrypto.getRandomValues.bind(webcrypto);
|
|
394271
394734
|
});
|
|
394272
394735
|
|
|
394273
|
-
//
|
|
394736
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/random.js
|
|
394274
394737
|
var uint322 = () => getRandomValues(new Uint32Array(1))[0], uuidv4Template, uuidv42 = () => uuidv4Template.replace(/[018]/g, (c) => (c ^ uint322() & 15 >> c / 4).toString(16));
|
|
394275
394738
|
var init_random = __esm(() => {
|
|
394276
394739
|
init_webcrypto_node();
|
|
394277
394740
|
uuidv4Template = [1e7] + -1000 + -4000 + -8000 + -100000000000;
|
|
394278
394741
|
});
|
|
394279
394742
|
|
|
394280
|
-
//
|
|
394743
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/time.js
|
|
394281
394744
|
var getUnixTime;
|
|
394282
394745
|
var init_time = __esm(() => {
|
|
394283
394746
|
getUnixTime = Date.now;
|
|
394284
394747
|
});
|
|
394285
394748
|
|
|
394286
|
-
//
|
|
394749
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/promise.js
|
|
394287
394750
|
var create4 = (f) => new Promise(f), all2;
|
|
394288
394751
|
var init_promise2 = __esm(() => {
|
|
394289
394752
|
all2 = Promise.all.bind(Promise);
|
|
394290
394753
|
});
|
|
394291
394754
|
|
|
394292
|
-
//
|
|
394755
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/conditions.js
|
|
394293
394756
|
var undefinedToNull = (v) => v === undefined ? null : v;
|
|
394294
394757
|
|
|
394295
|
-
//
|
|
394758
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/storage.js
|
|
394296
394759
|
class VarStoragePolyfill {
|
|
394297
394760
|
constructor() {
|
|
394298
394761
|
this.map = new Map;
|
|
@@ -394316,13 +394779,13 @@ var init_storage = __esm(() => {
|
|
|
394316
394779
|
varStorage = _localStorage;
|
|
394317
394780
|
});
|
|
394318
394781
|
|
|
394319
|
-
//
|
|
394782
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/trait/equality.js
|
|
394320
394783
|
var EqualityTraitSymbol, equals = (a, b) => a === b || !!a?.[EqualityTraitSymbol]?.(b) || false;
|
|
394321
394784
|
var init_equality = __esm(() => {
|
|
394322
394785
|
EqualityTraitSymbol = Symbol("Equality");
|
|
394323
394786
|
});
|
|
394324
394787
|
|
|
394325
|
-
//
|
|
394788
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/object.js
|
|
394326
394789
|
var assign, keys, forEach = (obj, f) => {
|
|
394327
394790
|
for (const key2 in obj) {
|
|
394328
394791
|
f(obj[key2], key2);
|
|
@@ -394361,7 +394824,7 @@ var init_object2 = __esm(() => {
|
|
|
394361
394824
|
freeze = Object.freeze;
|
|
394362
394825
|
});
|
|
394363
394826
|
|
|
394364
|
-
//
|
|
394827
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/function.js
|
|
394365
394828
|
var callAll = (fs, args, i2 = 0) => {
|
|
394366
394829
|
try {
|
|
394367
394830
|
for (;i2 < fs.length; i2++) {
|
|
@@ -394450,7 +394913,7 @@ var init_function = __esm(() => {
|
|
|
394450
394913
|
init_equality();
|
|
394451
394914
|
});
|
|
394452
394915
|
|
|
394453
|
-
//
|
|
394916
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/environment.js
|
|
394454
394917
|
var isNode, isBrowser, isMac, params, args, computeParams = () => {
|
|
394455
394918
|
if (params === undefined) {
|
|
394456
394919
|
if (isNode) {
|
|
@@ -394504,7 +394967,7 @@ var init_environment = __esm(() => {
|
|
|
394504
394967
|
supportsColor = forceColor || !hasParam2("--no-colors") && !hasConf("no-color") && (!isNode || process.stdout.isTTY) && (!isNode || hasParam2("--color") || getVariable("COLORTERM") !== null || (getVariable("TERM") || "").includes("color"));
|
|
394505
394968
|
});
|
|
394506
394969
|
|
|
394507
|
-
//
|
|
394970
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/buffer.js
|
|
394508
394971
|
var createUint8ArrayFromLen = (len) => new Uint8Array(len), createUint8ArrayViewFromArrayBuffer = (buffer, byteOffset, length2) => new Uint8Array(buffer, byteOffset, length2), createUint8ArrayFromArrayBuffer = (buffer) => new Uint8Array(buffer), toBase64Browser = (bytes) => {
|
|
394509
394972
|
let s = "";
|
|
394510
394973
|
for (let i2 = 0;i2 < bytes.byteLength; i2++) {
|
|
@@ -394533,13 +394996,13 @@ var init_buffer = __esm(() => {
|
|
|
394533
394996
|
fromBase64 = isBrowser ? fromBase64Browser : fromBase64Node;
|
|
394534
394997
|
});
|
|
394535
394998
|
|
|
394536
|
-
//
|
|
394999
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/symbol.js
|
|
394537
395000
|
var create5;
|
|
394538
395001
|
var init_symbol = __esm(() => {
|
|
394539
395002
|
create5 = Symbol;
|
|
394540
395003
|
});
|
|
394541
395004
|
|
|
394542
|
-
//
|
|
395005
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/logging.common.js
|
|
394543
395006
|
var BOLD, UNBOLD, BLUE, GREY, GREEN, RED, PURPLE, ORANGE, UNCOLOR, computeNoColorLoggingArgs = (args2) => {
|
|
394544
395007
|
if (args2.length === 1 && args2[0]?.constructor === Function) {
|
|
394545
395008
|
args2 = args2[0]();
|
|
@@ -394583,7 +395046,7 @@ var init_logging_common = __esm(() => {
|
|
|
394583
395046
|
lastLoggingTime = getUnixTime();
|
|
394584
395047
|
});
|
|
394585
395048
|
|
|
394586
|
-
//
|
|
395049
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/logging.node.js
|
|
394587
395050
|
var _nodeStyleMap, computeNodeLoggingArgs = (args2) => {
|
|
394588
395051
|
if (args2.length === 1 && args2[0]?.constructor === Function) {
|
|
394589
395052
|
args2 = args2[0]();
|
|
@@ -394640,7 +395103,7 @@ var init_logging_node = __esm(() => {
|
|
|
394640
395103
|
computeLoggingArgs = supportsColor ? computeNodeLoggingArgs : computeNoColorLoggingArgs;
|
|
394641
395104
|
});
|
|
394642
395105
|
|
|
394643
|
-
//
|
|
395106
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/iterator.js
|
|
394644
395107
|
var createIterator = (next) => ({
|
|
394645
395108
|
[Symbol.iterator]() {
|
|
394646
395109
|
return this;
|
|
@@ -394657,7 +395120,7 @@ var createIterator = (next) => ({
|
|
|
394657
395120
|
return { done, value: done ? undefined : fmap(value2) };
|
|
394658
395121
|
});
|
|
394659
395122
|
|
|
394660
|
-
//
|
|
395123
|
+
// ../../node_modules/.pnpm/yjs@13.6.31/node_modules/yjs/dist/yjs.mjs
|
|
394661
395124
|
class DeleteItem {
|
|
394662
395125
|
constructor(clock, len) {
|
|
394663
395126
|
this.clock = clock;
|
|
@@ -399400,7 +399863,7 @@ var init_yjs = __esm(() => {
|
|
|
399400
399863
|
glo[importIdentifier] = true;
|
|
399401
399864
|
});
|
|
399402
399865
|
|
|
399403
|
-
//
|
|
399866
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/broadcastchannel.js
|
|
399404
399867
|
class LocalStoragePolyfill {
|
|
399405
399868
|
constructor(room) {
|
|
399406
399869
|
this.room = room;
|
|
@@ -399446,7 +399909,7 @@ var init_broadcastchannel = __esm(() => {
|
|
|
399446
399909
|
BC = typeof BroadcastChannel === "undefined" ? LocalStoragePolyfill : BroadcastChannel;
|
|
399447
399910
|
});
|
|
399448
399911
|
|
|
399449
|
-
//
|
|
399912
|
+
// ../../node_modules/.pnpm/y-protocols@1.0.7_yjs@13.6.31/node_modules/y-protocols/sync.js
|
|
399450
399913
|
var messageYjsSyncStep1 = 0, messageYjsSyncStep2 = 1, messageYjsUpdate = 2, writeSyncStep1 = (encoder2, doc2) => {
|
|
399451
399914
|
writeVarUint(encoder2, messageYjsSyncStep1);
|
|
399452
399915
|
const sv = encodeStateVector(doc2);
|
|
@@ -399489,7 +399952,7 @@ var init_sync = __esm(() => {
|
|
|
399489
399952
|
readUpdate = readSyncStep2;
|
|
399490
399953
|
});
|
|
399491
399954
|
|
|
399492
|
-
//
|
|
399955
|
+
// ../../node_modules/.pnpm/y-protocols@1.0.7_yjs@13.6.31/node_modules/y-protocols/auth.js
|
|
399493
399956
|
var messagePermissionDenied = 0, readAuthMessage = (decoder9, y, permissionDeniedHandler) => {
|
|
399494
399957
|
switch (readVarUint(decoder9)) {
|
|
399495
399958
|
case messagePermissionDenied:
|
|
@@ -399500,7 +399963,7 @@ var init_auth = __esm(() => {
|
|
|
399500
399963
|
init_decoding();
|
|
399501
399964
|
});
|
|
399502
399965
|
|
|
399503
|
-
//
|
|
399966
|
+
// ../../node_modules/.pnpm/y-protocols@1.0.7_yjs@13.6.31/node_modules/y-protocols/awareness.js
|
|
399504
399967
|
var outdatedTimeout = 30000, Awareness, removeAwarenessStates = (awareness, clients, origin) => {
|
|
399505
399968
|
const removed = [];
|
|
399506
399969
|
for (let i2 = 0;i2 < clients.length; i2++) {
|
|
@@ -399683,13 +400146,13 @@ var init_awareness = __esm(() => {
|
|
|
399683
400146
|
};
|
|
399684
400147
|
});
|
|
399685
400148
|
|
|
399686
|
-
//
|
|
400149
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/url.js
|
|
399687
400150
|
var encodeQueryParams = (params2) => map3(params2, (val, key2) => `${encodeURIComponent(key2)}=${encodeURIComponent(val)}`).join("&");
|
|
399688
400151
|
var init_url = __esm(() => {
|
|
399689
400152
|
init_object2();
|
|
399690
400153
|
});
|
|
399691
400154
|
|
|
399692
|
-
//
|
|
400155
|
+
// ../../node_modules/.pnpm/y-websocket@3.0.0_yjs@13.6.31/node_modules/y-websocket/src/y-websocket.js
|
|
399693
400156
|
var messageSync = 0, messageQueryAwareness = 3, messageAwareness = 1, messageAuth = 2, messageHandlers, messageReconnectTimeout = 30000, permissionDeniedHandler = (provider, reason) => console.warn(`Permission denied to access ${provider.url}.
|
|
399694
400157
|
${reason}`), readMessage = (provider, buf, emitSynced) => {
|
|
399695
400158
|
const decoder9 = createDecoder(buf);
|
|
@@ -400482,7 +400945,7 @@ var init_y_websocket_single_doc = __esm(() => {
|
|
|
400482
400945
|
init_runtime4();
|
|
400483
400946
|
});
|
|
400484
400947
|
|
|
400485
|
-
//
|
|
400948
|
+
// ../../node_modules/.pnpm/@hocuspocus+common@2.15.3/node_modules/@hocuspocus/common/dist/hocuspocus-common.esm.js
|
|
400486
400949
|
var floor2, min2 = (a, b) => a < b ? a : b, max3 = (a, b) => a > b ? a : b, BIT82 = 128, BITS72 = 127, MAX_SAFE_INTEGER2, _encodeUtf8Polyfill2 = (str) => {
|
|
400487
400950
|
const encodedString = unescape(encodeURIComponent(str));
|
|
400488
400951
|
const len = encodedString.length;
|
|
@@ -400641,7 +401104,7 @@ var init_hocuspocus_common_esm = __esm(() => {
|
|
|
400641
401104
|
})(WsReadyStates || (WsReadyStates = {}));
|
|
400642
401105
|
});
|
|
400643
401106
|
|
|
400644
|
-
//
|
|
401107
|
+
// ../../node_modules/.pnpm/@lifeomic+attempt@3.1.0/node_modules/@lifeomic/attempt/dist/src/index.js
|
|
400645
401108
|
var require_src2 = __commonJS((exports) => {
|
|
400646
401109
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
400647
401110
|
exports.retry = exports.defaultCalculateDelay = exports.sleep = undefined;
|
|
@@ -400786,7 +401249,7 @@ var require_src2 = __commonJS((exports) => {
|
|
|
400786
401249
|
exports.retry = retry;
|
|
400787
401250
|
});
|
|
400788
401251
|
|
|
400789
|
-
//
|
|
401252
|
+
// ../../node_modules/.pnpm/@hocuspocus+provider@2.15.3_y-protocols@1.0.7_yjs@13.6.31__yjs@13.6.31/node_modules/@hocuspocus/provider/dist/hocuspocus-provider.esm.js
|
|
400790
401253
|
class VarStoragePolyfill2 {
|
|
400791
401254
|
constructor() {
|
|
400792
401255
|
this.map = new Map;
|
|
@@ -402536,7 +402999,7 @@ var init_hocuspocus_single_doc = __esm(() => {
|
|
|
402536
402999
|
init_runtime4();
|
|
402537
403000
|
});
|
|
402538
403001
|
|
|
402539
|
-
//
|
|
403002
|
+
// ../../node_modules/.pnpm/@liveblocks+core@3.15.5_@types+json-schema@7.0.15/node_modules/@liveblocks/core/dist/index.js
|
|
402540
403003
|
function error48(msg) {
|
|
402541
403004
|
if (false) {} else {
|
|
402542
403005
|
throw new Error(msg);
|
|
@@ -411508,7 +411971,7 @@ var init_dist6 = __esm(() => {
|
|
|
411508
411971
|
detectDupes(PKG_NAME, PKG_VERSION, PKG_FORMAT);
|
|
411509
411972
|
});
|
|
411510
411973
|
|
|
411511
|
-
//
|
|
411974
|
+
// ../../node_modules/.pnpm/@liveblocks+client@3.15.5_@types+json-schema@7.0.15/node_modules/@liveblocks/client/dist/index.js
|
|
411512
411975
|
var PKG_NAME2 = "@liveblocks/client", PKG_VERSION2 = "3.15.5", PKG_FORMAT2 = "esm";
|
|
411513
411976
|
var init_dist7 = __esm(() => {
|
|
411514
411977
|
init_dist6();
|
|
@@ -411516,7 +411979,7 @@ var init_dist7 = __esm(() => {
|
|
|
411516
411979
|
detectDupes(PKG_NAME2, PKG_VERSION2, PKG_FORMAT2);
|
|
411517
411980
|
});
|
|
411518
411981
|
|
|
411519
|
-
//
|
|
411982
|
+
// ../../node_modules/.pnpm/js-base64@3.7.8/node_modules/js-base64/base64.mjs
|
|
411520
411983
|
var version2 = "3.7.8", VERSION2, _hasBuffer, _TD, _TE, b64ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", b64chs, b64tab, b64re, _fromCC, _U8Afrom, _mkUriSafe = (src) => src.replace(/=/g, "").replace(/[+\/]/g, (m0) => m0 == "+" ? "-" : "_"), _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\+\/]/g, ""), btoaPolyfill = (bin) => {
|
|
411521
411984
|
let u32, c0, c1, c2, asc = "";
|
|
411522
411985
|
const pad = bin.length % 3;
|
|
@@ -411660,7 +412123,7 @@ var init_base64 = __esm(() => {
|
|
|
411660
412123
|
};
|
|
411661
412124
|
});
|
|
411662
412125
|
|
|
411663
|
-
//
|
|
412126
|
+
// ../../node_modules/.pnpm/lib0@0.2.117/node_modules/lib0/indexeddb.js
|
|
411664
412127
|
var rtop = (request) => create4((resolve, reject2) => {
|
|
411665
412128
|
request.onerror = (event) => reject2(new Error(event.target.error));
|
|
411666
412129
|
request.onsuccess = (event) => resolve(event.target.result);
|
|
@@ -411698,7 +412161,7 @@ var init_indexeddb = __esm(() => {
|
|
|
411698
412161
|
init_promise2();
|
|
411699
412162
|
});
|
|
411700
412163
|
|
|
411701
|
-
//
|
|
412164
|
+
// ../../node_modules/.pnpm/y-indexeddb@9.0.12_yjs@13.6.31/node_modules/y-indexeddb/src/y-indexeddb.js
|
|
411702
412165
|
var customStoreName = "custom", updatesStoreName = "updates", PREFERRED_TRIM_SIZE = 500, fetchUpdates = (idbPersistence, beforeApplyUpdatesCallback = () => {}, afterApplyUpdatesCallback = () => {}) => {
|
|
411703
412166
|
const [updatesStore] = transact2(idbPersistence.db, [updatesStoreName]);
|
|
411704
412167
|
return getAll(updatesStore, createIDBKeyRangeLowerBound(idbPersistence._dbref, false)).then((updates) => {
|
|
@@ -411810,7 +412273,7 @@ var init_y_indexeddb = __esm(() => {
|
|
|
411810
412273
|
};
|
|
411811
412274
|
});
|
|
411812
412275
|
|
|
411813
|
-
//
|
|
412276
|
+
// ../../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/esm/utils.js
|
|
411814
412277
|
function isBytes(a) {
|
|
411815
412278
|
return a instanceof Uint8Array || ArrayBuffer.isView(a) && a.constructor.name === "Uint8Array";
|
|
411816
412279
|
}
|
|
@@ -411870,7 +412333,7 @@ var init_utils = __esm(() => {
|
|
|
411870
412333
|
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
411871
412334
|
});
|
|
411872
412335
|
|
|
411873
|
-
//
|
|
412336
|
+
// ../../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/esm/_md.js
|
|
411874
412337
|
function setBigUint64(view, byteOffset, value2, isLE) {
|
|
411875
412338
|
if (typeof view.setBigUint64 === "function")
|
|
411876
412339
|
return view.setBigUint64(byteOffset, value2, isLE);
|
|
@@ -411994,7 +412457,7 @@ var init__md = __esm(() => {
|
|
|
411994
412457
|
]);
|
|
411995
412458
|
});
|
|
411996
412459
|
|
|
411997
|
-
//
|
|
412460
|
+
// ../../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/esm/sha2.js
|
|
411998
412461
|
var SHA256_K, SHA256_W, SHA256, sha256;
|
|
411999
412462
|
var init_sha2 = __esm(() => {
|
|
412000
412463
|
init__md();
|
|
@@ -412138,7 +412601,7 @@ var init_sha2 = __esm(() => {
|
|
|
412138
412601
|
sha256 = /* @__PURE__ */ createHasher(() => new SHA256);
|
|
412139
412602
|
});
|
|
412140
412603
|
|
|
412141
|
-
//
|
|
412604
|
+
// ../../node_modules/.pnpm/@liveblocks+yjs@3.15.5_@types+json-schema@7.0.15_yjs@13.6.31/node_modules/@liveblocks/yjs/dist/index.js
|
|
412142
412605
|
var PKG_NAME3 = "@liveblocks/yjs", PKG_VERSION3 = "3.15.5", PKG_FORMAT3 = "esm", create9 = () => /* @__PURE__ */ new Map, setIfUndefined3 = (map5, key2, createT) => {
|
|
412143
412606
|
let set3 = map5.get(key2);
|
|
412144
412607
|
if (set3 === undefined) {
|
|
@@ -432314,16 +432777,20 @@ function mirrorStoryBlocksFromSession(input) {
|
|
|
432314
432777
|
if (!tailBlockId) {
|
|
432315
432778
|
throw new Error("storyBlocks mirror could not resolve tail paragraph id for paragraphSplit");
|
|
432316
432779
|
}
|
|
432780
|
+
const context = loadStorySyncContext(input.session, input.storyId);
|
|
432781
|
+
const headPayload = readSessionBlockPayload(context, source.target.paraId);
|
|
432782
|
+
const tailPayload = readSessionBlockPayload(context, tailBlockId);
|
|
432317
432783
|
if (!findBlockMap(input.doc, tailBlockId)) {
|
|
432784
|
+
const offset = source.coordinateSpace === "tracked" ? parseParagraphXml(headPayload.xml, headPayload.namespaceBindings, trackedWrapperIdentityStateForPayload(headPayload)).visibleText.length : source.offset;
|
|
432318
432785
|
splitBlock({
|
|
432319
432786
|
doc: input.doc,
|
|
432320
432787
|
blockId: source.target.paraId,
|
|
432321
|
-
offset
|
|
432788
|
+
offset,
|
|
432322
432789
|
tailBlockId,
|
|
432323
432790
|
origin: STORY_SURFACE_BACKEND_ORIGIN
|
|
432324
432791
|
});
|
|
432325
432792
|
}
|
|
432326
|
-
|
|
432793
|
+
syncBlockPayloads(input.doc, [headPayload, tailPayload]);
|
|
432327
432794
|
writeParagraphMembershipTableOverlaysFromSession(input.session, input.prepared, input.storyId, input.doc, [source.target.paraId, tailBlockId], "paragraph.split");
|
|
432328
432795
|
return;
|
|
432329
432796
|
}
|
|
@@ -438696,7 +439163,7 @@ function createHeadlessCollabRoomCoordinator(options) {
|
|
|
438696
439163
|
const bytes = readPartBytesForSync(prepared, partUri);
|
|
438697
439164
|
if (!bytes)
|
|
438698
439165
|
return;
|
|
438699
|
-
syncRelationshipsPart(partUri, bytes);
|
|
439166
|
+
syncRelationshipsPart(prepared, partUri, bytes);
|
|
438700
439167
|
return;
|
|
438701
439168
|
}
|
|
438702
439169
|
if (isOpaquePackagePartUri(partUri)) {
|
|
@@ -438825,7 +439292,7 @@ function createHeadlessCollabRoomCoordinator(options) {
|
|
|
438825
439292
|
out.add(COMMENTS_PART_URI5);
|
|
438826
439293
|
return Array.from(out).sort();
|
|
438827
439294
|
}
|
|
438828
|
-
function syncRelationshipsPart(partUri, bytes) {
|
|
439295
|
+
function syncRelationshipsPart(prepared, partUri, bytes) {
|
|
438829
439296
|
const ownerPartUri2 = ownerPartUriForRels2(partUri);
|
|
438830
439297
|
const rels = ensureRelationshipsShard(ownerPartUri2, { seedWhenMissing: true });
|
|
438831
439298
|
if (!rels) {
|
|
@@ -438838,6 +439305,30 @@ function createHeadlessCollabRoomCoordinator(options) {
|
|
|
438838
439305
|
return resolveTargetUri(ownerPartUri2, target, targetMode);
|
|
438839
439306
|
}
|
|
438840
439307
|
});
|
|
439308
|
+
const createdMediaPartUris = new Set(Object.entries(prepared.localApplyBundle.perPart).filter(([uri, entry]) => isMediaPartUri(uri) && entry.kind === "create").map(([uri]) => uri));
|
|
439309
|
+
if (prepared.source.kind === "imageInsertInline" && createdMediaPartUris.size > 0) {
|
|
439310
|
+
const inserted = parsed.relationships.filter((relationship2) => relationship2.type === IMAGE_REL_TYPE4 && createdMediaPartUris.has(relationship2.resolvedTarget));
|
|
439311
|
+
if (inserted.length !== 1) {
|
|
439312
|
+
throw new Error(`image insertion requires one new relationship in ${partUri}; found ${inserted.length}`);
|
|
439313
|
+
}
|
|
439314
|
+
const target = collabUnitTargetOrDoc(rels.handle);
|
|
439315
|
+
const relationship = inserted[0];
|
|
439316
|
+
const existing = listRelationships(target).find((record3) => record3.rId === relationship.id);
|
|
439317
|
+
if (existing && (existing.type !== relationship.type || existing.target !== relationship.target)) {
|
|
439318
|
+
throw new Error(`image relationship ${relationship.id} already targets another part`);
|
|
439319
|
+
}
|
|
439320
|
+
upsertRelationship({
|
|
439321
|
+
doc: target,
|
|
439322
|
+
rId: relationship.id,
|
|
439323
|
+
type: relationship.type,
|
|
439324
|
+
target: relationship.target,
|
|
439325
|
+
targetMode: relationship.targetMode,
|
|
439326
|
+
external: false
|
|
439327
|
+
});
|
|
439328
|
+
bumpWatermark(target, ALLOCATOR_NAMESPACE.rId, numericSuffix(relationship.id, "rId"));
|
|
439329
|
+
recordManifestPart(relationshipsPartDescriptor(partUri, bytes.byteLength));
|
|
439330
|
+
return;
|
|
439331
|
+
}
|
|
438841
439332
|
resetPackagePartPayload(collabUnitTargetOrDoc(rels.handle));
|
|
438842
439333
|
let maxRId = 0;
|
|
438843
439334
|
for (const relationship of parsed.relationships) {
|
|
@@ -438967,16 +439458,19 @@ function createHeadlessCollabRoomCoordinator(options) {
|
|
|
438967
439458
|
});
|
|
438968
439459
|
}
|
|
438969
439460
|
function reconcileMediaPackageState(prepared) {
|
|
438970
|
-
const
|
|
438971
|
-
|
|
438972
|
-
|
|
438973
|
-
|
|
439461
|
+
const createdMediaPartUris = new Set(Object.entries(prepared.localApplyBundle.perPart).filter(([uri, entry]) => isMediaPartUri(uri) && entry.kind === "create").map(([uri]) => uri));
|
|
439462
|
+
const additiveInsert = prepared.source.kind === "imageInsertInline" && createdMediaPartUris.size > 0;
|
|
439463
|
+
const assets = buildActiveMediaAssetsFromSession(prepared).filter((asset) => !additiveInsert || createdMediaPartUris.has(asset.partUri)).map((asset) => ({ ...asset, payload: prepareBinaryPayload(asset.bytes, asset.sha256) }));
|
|
439464
|
+
if (additiveInsert && assets.length !== createdMediaPartUris.size) {
|
|
439465
|
+
throw new Error("image insertion media bytes are unavailable for shared package sync");
|
|
439466
|
+
}
|
|
438974
439467
|
const activePartUris = new Set(assets.map((asset) => asset.partUri));
|
|
438975
439468
|
const mediaShardId = packageShardId(options.rootId, SHARD_KIND.mediaManifest, MEDIA_OWNER_URI);
|
|
438976
439469
|
const existingHandle = options.graph.projectionHandles.get(mediaShardId);
|
|
438977
439470
|
if (assets.length > 0 || existingHandle) {
|
|
438978
439471
|
const mediaManifest = assets.length > 0 ? ensureMediaManifestShard().handle : existingHandle;
|
|
438979
|
-
|
|
439472
|
+
if (!additiveInsert)
|
|
439473
|
+
resetPackagePartPayload(collabUnitTargetOrDoc(mediaManifest));
|
|
438980
439474
|
const mediaAssets = ensureChildMap(getPartRecordsMap(collabUnitTargetOrDoc(mediaManifest)), "assets");
|
|
438981
439475
|
const mediaByPart = ensureChildMap(getPartIndexMap(collabUnitTargetOrDoc(mediaManifest)), "byPartKey");
|
|
438982
439476
|
let maxMediaOrdinal = 0;
|
|
@@ -439032,19 +439526,21 @@ function createHeadlessCollabRoomCoordinator(options) {
|
|
|
439032
439526
|
uncompressedSize: asset.byteLength
|
|
439033
439527
|
});
|
|
439034
439528
|
}
|
|
439035
|
-
|
|
439036
|
-
|
|
439037
|
-
const
|
|
439038
|
-
|
|
439039
|
-
|
|
439040
|
-
|
|
439041
|
-
|
|
439042
|
-
|
|
439043
|
-
|
|
439044
|
-
|
|
439045
|
-
|
|
439046
|
-
|
|
439047
|
-
|
|
439529
|
+
if (!additiveInsert) {
|
|
439530
|
+
const stalePartUris = [];
|
|
439531
|
+
for (const [partKey, rawValue] of getPackagePartsMap(options.rootDoc).entries()) {
|
|
439532
|
+
const descriptor = toManifestPartDescriptor(partKey, rawValue);
|
|
439533
|
+
if (!descriptor)
|
|
439534
|
+
continue;
|
|
439535
|
+
if (descriptor.partKind !== "image" && descriptor.partKind !== "media")
|
|
439536
|
+
continue;
|
|
439537
|
+
if (activePartUris.has(descriptor.partUri))
|
|
439538
|
+
continue;
|
|
439539
|
+
stalePartUris.push(descriptor.partUri);
|
|
439540
|
+
}
|
|
439541
|
+
for (const partUri of stalePartUris) {
|
|
439542
|
+
retireBinaryPart(partUri);
|
|
439543
|
+
}
|
|
439048
439544
|
}
|
|
439049
439545
|
}
|
|
439050
439546
|
function buildActiveMediaAssetsFromSession(prepared) {
|