@savvy-web/silk 3.15.2 → 4.0.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.
@@ -30,11 +30,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
30
30
  enumerable: true
31
31
  }) : target, mod));
32
32
  //#endregion
33
- let _effected_templates = require("@effected/templates");
34
33
  let effect = require("effect");
34
+ let _effected_templates = require("@effected/templates");
35
+ let _effected_workspaces = require("@effected/workspaces");
35
36
  let node_path = require("node:path");
36
37
  node_path = __toESM(node_path, 1);
37
- let _effected_workspaces = require("@effected/workspaces");
38
38
  let node_fs_promises = require("node:fs/promises");
39
39
  node_fs_promises = __toESM(node_fs_promises, 1);
40
40
  let node_util = require("node:util");
@@ -75,7 +75,7 @@ let semver_functions_gt_js = require("semver/functions/gt.js");
75
75
  semver_functions_gt_js = __toESM(semver_functions_gt_js, 1);
76
76
  let semver_functions_inc_js = require("semver/functions/inc.js");
77
77
  semver_functions_inc_js = __toESM(semver_functions_inc_js, 1);
78
- //#region ../silk-effects/dist/dev/pkg/errors/ChangesetConfigError.js
78
+ //#region ../silk-core/dist/dev/pkg/errors/ChangesetConfigError.js
79
79
  /**
80
80
  * Raised when the `.changeset/config.json` file cannot be read or decoded.
81
81
  *
@@ -92,7 +92,441 @@ var ChangesetConfigError = class extends effect.Data.TaggedError("ChangesetConfi
92
92
  }
93
93
  };
94
94
  //#endregion
95
- //#region ../silk-effects/dist/dev/pkg/schemas/VersioningSchemas.js
95
+ //#region ../silk-core/dist/dev/pkg/errors/PublishTargetBindingError.js
96
+ /**
97
+ * Raised when publishability detection selects a directory that the package's
98
+ * `dist/prod/targets.json` binding does not describe.
99
+ *
100
+ * @remarks
101
+ * The bundler's prod build writes `targets.json` naming every byte-group
102
+ * directory it produced. Once that binding exists it is authoritative: the only
103
+ * directories whose bytes may be published are the ones it lists. A detector
104
+ * that returns anything else — most often `publishConfig.directory` pointing at
105
+ * a **dev** build, because silk mode was misdetected — is about to pack an
106
+ * unresolved workspace manifest and ship it to a registry.
107
+ *
108
+ * That is the `yaml-effect@0.7.1` failure: detection picked `dist/dev/pkg`, the
109
+ * dev manifest still carried `catalog:` specifiers, and the published package
110
+ * was uninstallable (`EUNSUPPORTEDPROTOCOL`).
111
+ *
112
+ * @since 3.1.0
113
+ * @public
114
+ */
115
+ var PublishTargetBindingError = class extends effect.Data.TaggedError("PublishTargetBindingError") {
116
+ get message() {
117
+ return `Package ${this.pkg} resolved publish directory "${this.directory}", which is not one of the directories bound by dist/prod/targets.json (${this.boundDirectories.join(", ")}). This means publishability detection did not select the prod build output — refusing to publish before packing an unresolved manifest.`;
118
+ }
119
+ };
120
+ //#endregion
121
+ //#region ../../node_modules/.pnpm/@effected+github-references@0.3.0_effect@4.0.0-rc.115/node_modules/@effected/github-references/IssueReferences.js
122
+ /**
123
+ * GitHub's closing-keyword issue-reference grammar, as pure functions.
124
+ *
125
+ * @remarks
126
+ * GitHub links an issue to a pull request when the PR's description carries
127
+ * `<keyword> #<number>` for one of nine documented keywords. Consumers speak
128
+ * that grammar in two distinct dialects, and this module models exactly those
129
+ * two — no service, no layer, nothing but strings in and values out:
130
+ *
131
+ * - **Inline-in-prose** ({@link harvestIssueReferences}): a reference may appear anywhere in
132
+ * running text — `"fixes #12 and closes #13"` — with mandatory whitespace
133
+ * and **no colon**, because that is the spelling GitHub itself scans PR
134
+ * bodies for. This is the dialect a release pipeline harvests from commit
135
+ * subjects and PR descriptions.
136
+ * - **Bare-line** ({@link parseBareLineReference}): the whole line, after trimming, *is*
137
+ * the reference — `"Closes: #12"` — with an **optional colon**, because a
138
+ * generated references region writes one reference per line and a colon
139
+ * reads better there. GitHub does not require the colon; the region format
140
+ * allows it, so the parser must too. The dialects differ because their
141
+ * producers do: prose is written by humans for GitHub's scanner, the region
142
+ * is written by tooling for humans.
143
+ *
144
+ * Deliberately out of scope this round: cross-repo references
145
+ * (`owner/repo#N`) and full-URL references
146
+ * (`https://github.com/owner/repo/issues/N`). Both are real GitHub spellings;
147
+ * neither dialect's consumers emit them yet, and guessing at their shape here
148
+ * would freeze an API nobody has driven.
149
+ */
150
+ /**
151
+ * The nine closing keywords GitHub documents, lowercased.
152
+ *
153
+ * @public
154
+ */
155
+ const CLOSING_KEYWORDS = [
156
+ "close",
157
+ "closes",
158
+ "closed",
159
+ "fix",
160
+ "fixes",
161
+ "fixed",
162
+ "resolve",
163
+ "resolves",
164
+ "resolved"
165
+ ];
166
+ /**
167
+ * Both patterns derive from {@link CLOSING_KEYWORDS} so the constant and the
168
+ * grammar cannot drift. Alternation order is safe: the regex engine backtracks
169
+ * through alternatives, so `close` matching inside `closes` fails at the
170
+ * mandatory `#`-introducer and retries the longer keyword.
171
+ */
172
+ const KEYWORDS = CLOSING_KEYWORDS.join("|");
173
+ new RegExp(`\\b(${KEYWORDS})\\s+#(\\d+)`, "gi");
174
+ new RegExp(`^(${KEYWORDS}):?[ \\t]+#(\\d+)$`, "i");
175
+ //#endregion
176
+ //#region ../../node_modules/.pnpm/@effected+github-references@0.3.0_effect@4.0.0-rc.115/node_modules/@effected/github-references/ClosingList.js
177
+ /**
178
+ * The closing-list dialect: one whole line naming several issues at once.
179
+ *
180
+ * @remarks
181
+ * The third dialect, alongside the two in `IssueReferences`: after trimming,
182
+ * the **entire** line must be `<keyword>[:] <list>` — keyword
183
+ * case-insensitive (lowercased to canonical form in the result), colon
184
+ * optional, and the list one or more `#<digits>` items separated by `,`,
185
+ * `and`, or the Oxford `, and`. Whitespace inside the line is `[ \t]` only,
186
+ * so an embedded newline cannot smuggle two lines past a parser whose
187
+ * contract is one — the same posture as the bare-line pattern. Any trailing
188
+ * content after the list rejects the line; duplicates are preserved in order,
189
+ * because whether `#1, #1` means one issue or two is the caller's business.
190
+ *
191
+ * Two keyword sets play here. {@link parseClosingList} accepts only the nine
192
+ * closing keywords and yields a {@link ClosingList}; {@link parseReferenceList}
193
+ * additionally accepts the non-closing {@link REFERENCE_KEYWORDS} (`ref`,
194
+ * `refs`, `references`) and reports which set matched via
195
+ * {@link ReferenceList}'s `closing` flag.
196
+ *
197
+ * An item whose digits exceed `Number.MAX_SAFE_INTEGER` rejects the **whole
198
+ * line**, where `harvestIssueReferences` merely skips the one match. The
199
+ * asymmetry is deliberate: a harvest drops one reference out of running
200
+ * prose, but a list line is a single claim about a set of issues, and
201
+ * returning the parseable subset would misrepresent the line as claiming
202
+ * less than it does.
203
+ *
204
+ * Complexity posture: parsing is a single left-to-right character scan —
205
+ * this module contains **no regular expressions at all** — so worst-case
206
+ * time is linear in the line length by construction. There is no
207
+ * backtracking engine to feed, no polynomial blow-up for a scanner to flag,
208
+ * and therefore no input truncation.
209
+ *
210
+ * Beyond the whole-line parsers, {@link harvestReferenceLists} generalizes
211
+ * the same list grammar to the inline-in-prose posture — several lists on
212
+ * one line of running text — and {@link parseClosingLists} /
213
+ * {@link parseReferenceLists} apply the whole-line parsers per line of a
214
+ * multi-line text. All of them ride the same character scan; the no-regex
215
+ * promise above covers every export here.
216
+ */
217
+ /**
218
+ * The non-closing reference keywords the list dialect accepts, lowercased.
219
+ *
220
+ * @remarks
221
+ * GitHub does not act on these — they associate without closing — but a
222
+ * references region writes them, so the parser must read them.
223
+ *
224
+ * @public
225
+ */
226
+ const REFERENCE_KEYWORDS = [
227
+ "ref",
228
+ "refs",
229
+ "references"
230
+ ];
231
+ /**
232
+ * Both keyword tables ARE the exported constants — membership sets built from
233
+ * them once — so the constants and the grammar cannot drift.
234
+ */
235
+ const ALL_KEYWORDS = /* @__PURE__ */ new Set([...CLOSING_KEYWORDS, ...REFERENCE_KEYWORDS]);
236
+ /** Membership test for reporting `closing`, widened once so no call casts. */
237
+ const CLOSING_SET = new Set(CLOSING_KEYWORDS);
238
+ const HASH = 35;
239
+ const COLON = 58;
240
+ const COMMA = 44;
241
+ /** `[ \t]` — the only whitespace the dialect admits, per the module remarks. */
242
+ const isSpaceTab = (code) => code === 32 || code === 9;
243
+ const isDigit$2 = (code) => code >= 48 && code <= 57;
244
+ const isAsciiLetter = (code) => code >= 65 && code <= 90 || code >= 97 && code <= 122;
245
+ /** The index after the run of `[ \t]` starting at `from` (possibly `from` itself). */
246
+ const skipSpaceTab = (line, from) => {
247
+ let index = from;
248
+ while (index < line.length && isSpaceTab(line.charCodeAt(index))) index += 1;
249
+ return index;
250
+ };
251
+ /**
252
+ * One list item at exactly `from`: `#<digits>` and the index one past it.
253
+ * Digits exceeding `Number.MAX_SAFE_INTEGER` report `"unsafe"` rather than a
254
+ * silently rounded issue number, still carrying the index one past the digit
255
+ * run so a caller can skip the item's extent; the whole-line parsers reject
256
+ * on it and {@link harvestReferenceLists} abandons the entire candidate —
257
+ * see the module remarks for why a list never yields a partial reading.
258
+ * Anything that is not `#<digits>` at all is `undefined`.
259
+ */
260
+ const readItem = (line, from) => {
261
+ if (line.charCodeAt(from) !== HASH) return void 0;
262
+ const start = from + 1;
263
+ let index = start;
264
+ while (index < line.length && isDigit$2(line.charCodeAt(index))) index += 1;
265
+ if (index === start) return void 0;
266
+ const value = Number(line.slice(start, index));
267
+ return Number.isSafeInteger(value) ? {
268
+ kind: "item",
269
+ value,
270
+ next: index
271
+ } : {
272
+ kind: "unsafe",
273
+ next: index
274
+ };
275
+ };
276
+ /**
277
+ * One separator at exactly `from`: a comma with optional surrounding `[ \t]`
278
+ * and an optional Oxford `and` (consumed only when its own trailing `[ \t]+`
279
+ * is present), or a bare `and` requiring `[ \t]+` on both sides. `and` is
280
+ * lowercase-only — the keyword head is case-insensitive, the separator is
281
+ * not. Returns the index where the next item must start, or `undefined` when
282
+ * no separator is present.
283
+ */
284
+ const scanSeparator = (line, from) => {
285
+ const afterLeading = skipSpaceTab(line, from);
286
+ if (line.charCodeAt(afterLeading) === COMMA) {
287
+ const afterComma = skipSpaceTab(line, afterLeading + 1);
288
+ if (line.startsWith("and", afterComma)) {
289
+ const afterAnd = skipSpaceTab(line, afterComma + 3);
290
+ if (afterAnd > afterComma + 3) return afterAnd;
291
+ }
292
+ return afterComma;
293
+ }
294
+ if (afterLeading > from && line.startsWith("and", afterLeading)) {
295
+ const afterAnd = skipSpaceTab(line, afterLeading + 3);
296
+ if (afterAnd > afterLeading + 3) return afterAnd;
297
+ }
298
+ };
299
+ /**
300
+ * The scan walk: item, then separator, then item, until the cursor stands
301
+ * exactly at the end of the string. Anything else — a malformed item, an
302
+ * unknown separator, trailing content, an unsafe issue number — is
303
+ * `undefined`, and the caller rejects the whole line.
304
+ */
305
+ const parseItems = (line, from) => {
306
+ const issueNumbers = [];
307
+ let cursor = from;
308
+ for (;;) {
309
+ const item = readItem(line, cursor);
310
+ if (item === void 0 || item.kind === "unsafe") return void 0;
311
+ issueNumbers.push(item.value);
312
+ cursor = item.next;
313
+ if (cursor === line.length) return issueNumbers;
314
+ const next = scanSeparator(line, cursor);
315
+ if (next === void 0) return void 0;
316
+ cursor = next;
317
+ }
318
+ };
319
+ /**
320
+ * The list a whole line carries under either keyword set, or `Option.none()`.
321
+ *
322
+ * @remarks
323
+ * Accepts the nine closing keywords plus {@link REFERENCE_KEYWORDS}, and
324
+ * reports which set matched in the result's `closing` flag. Grammar,
325
+ * whole-line posture and the whole-line rejection of unsafe issue numbers
326
+ * are in the module remarks.
327
+ *
328
+ * @public
329
+ */
330
+ const parseReferenceList = (line) => {
331
+ const trimmed = line.trim();
332
+ let letters = 0;
333
+ while (letters < trimmed.length && isAsciiLetter(trimmed.charCodeAt(letters))) letters += 1;
334
+ if (letters === 0) return effect.Option.none();
335
+ const keyword = trimmed.slice(0, letters).toLowerCase();
336
+ if (!ALL_KEYWORDS.has(keyword)) return effect.Option.none();
337
+ let cursor = letters;
338
+ if (trimmed.charCodeAt(cursor) === COLON) cursor += 1;
339
+ const afterWhitespace = skipSpaceTab(trimmed, cursor);
340
+ if (afterWhitespace === cursor) return effect.Option.none();
341
+ const issueNumbers = parseItems(trimmed, afterWhitespace);
342
+ if (issueNumbers === void 0) return effect.Option.none();
343
+ return effect.Option.some({
344
+ keyword,
345
+ closing: CLOSING_SET.has(keyword),
346
+ issueNumbers
347
+ });
348
+ };
349
+ /**
350
+ * Every reference list a text carries, line by line, across both postures.
351
+ *
352
+ * @remarks
353
+ * The trailer/prose interleave consumers otherwise hand-roll: each line is
354
+ * tried as a whole-line reference list first ({@link parseReferenceList} —
355
+ * colon-tolerant, per the line dialect), and only a line that is not one is
356
+ * harvested inline ({@link harvestReferenceLists} — no colon, per the inline
357
+ * dialect). The preference means a colon-less trailer line contributes its
358
+ * list exactly once, never once per posture.
359
+ *
360
+ * Results carry no offsets, deliberately: this is the line-granular
361
+ * composition, and a consumer that needs spans uses
362
+ * {@link harvestReferenceLists} directly. Duplicates are preserved, in
363
+ * document order.
364
+ *
365
+ * @public
366
+ */
367
+ const collectReferenceLists = (text) => {
368
+ const lists = [];
369
+ for (const line of text.split("\n")) {
370
+ const whole = parseReferenceList(line);
371
+ if (effect.Option.isSome(whole)) {
372
+ lists.push(whole.value);
373
+ continue;
374
+ }
375
+ for (const harvested of harvestReferenceLists(line)) lists.push({
376
+ keyword: harvested.keyword,
377
+ closing: harvested.closing,
378
+ issueNumbers: harvested.issueNumbers
379
+ });
380
+ }
381
+ return lists;
382
+ };
383
+ /** `[A-Za-z0-9_]` — the word-boundary alphabet the inline dialects use. */
384
+ const isWordChar = (code) => isAsciiLetter(code) || isDigit$2(code) || code === 95;
385
+ /**
386
+ * The full JavaScript `\s` set, spelled as a predicate so the module keeps
387
+ * its no-regex promise: ASCII whitespace, NEL-adjacent controls, and the
388
+ * Unicode space separators. Only the keyword→first-item gap of
389
+ * {@link harvestReferenceLists} admits this set — everything inside a list
390
+ * stays `[ \t]`, per the module remarks.
391
+ */
392
+ const isAnyWhitespace = (code) => code === 32 || code >= 9 && code <= 13 || code === 160 || code === 5760 || code >= 8192 && code <= 8202 || code === 8232 || code === 8233 || code === 8239 || code === 8287 || code === 12288 || code === 65279;
393
+ /**
394
+ * Every reference list found inline in `text`, in document order.
395
+ *
396
+ * @remarks
397
+ * The inline-in-prose posture generalized to lists:
398
+ * `Closes #123, Fixes #456` in one line of a commit body yields two
399
+ * single-item lists, where
400
+ * `harvestIssueReferences` reads only the first reference of each and the
401
+ * whole-line parsers read neither. The grammar per candidate:
402
+ *
403
+ * - The keyword is case-insensitive, drawn from either keyword set,
404
+ * lowercased to canonical form in the result, with `closing` reported by
405
+ * set membership. Word boundaries hold on both sides: the characters
406
+ * immediately before and after the keyword's letter run must not be
407
+ * `[A-Za-z0-9_]`, so `recloses #1` and `1closes #1` do not match.
408
+ * - **No colon** — exactly like `harvestIssueReferences`, the colon spelling
409
+ * belongs to the line dialects ({@link parseReferenceList} and the
410
+ * bare-line parser), so `closes: #1` inline yields nothing.
411
+ * - The keyword→first-item gap is any run of whitespace **including
412
+ * newlines**, mirroring the inline dialect's `\s+`.
413
+ * - List continuation uses the `,` / `and` / Oxford separators with `[ \t]`
414
+ * whitespace only, so a list cannot continue past a newline — a later
415
+ * line makes its own claims.
416
+ * - Items are `#<digits>`; duplicates are preserved in order.
417
+ *
418
+ * A list ends at its last valid item: in `closes #1 and fixes #2` the
419
+ * ` and ` before `fixes` fails as a separator because what follows is not
420
+ * `#`, so the text yields `closes: [1]` then `fixes: [2]`. An item past
421
+ * `Number.MAX_SAFE_INTEGER` anywhere in a candidate skips the **entire**
422
+ * candidate — never a partial list, for the same reason
423
+ * {@link parseReferenceList} rejects the whole line — and scanning resumes
424
+ * after the candidate's scanned extent.
425
+ *
426
+ * Like everything in this module, the harvest is a single left-to-right
427
+ * character scan with no regular expressions, so time stays linear in the
428
+ * text length and no input is truncated.
429
+ *
430
+ * @public
431
+ */
432
+ const harvestReferenceLists = (text) => {
433
+ const lists = [];
434
+ let index = 0;
435
+ while (index < text.length) {
436
+ if (!isAsciiLetter(text.charCodeAt(index))) {
437
+ index += 1;
438
+ continue;
439
+ }
440
+ const runStart = index;
441
+ let runEnd = index + 1;
442
+ while (runEnd < text.length && isAsciiLetter(text.charCodeAt(runEnd))) runEnd += 1;
443
+ if (runStart > 0 && isWordChar(text.charCodeAt(runStart - 1)) || runEnd < text.length && isWordChar(text.charCodeAt(runEnd))) {
444
+ index = runEnd;
445
+ continue;
446
+ }
447
+ const keyword = text.slice(runStart, runEnd).toLowerCase();
448
+ if (!ALL_KEYWORDS.has(keyword)) {
449
+ index = runEnd;
450
+ continue;
451
+ }
452
+ let cursor = runEnd;
453
+ while (cursor < text.length && isAnyWhitespace(text.charCodeAt(cursor))) cursor += 1;
454
+ const first = cursor === runEnd ? void 0 : readItem(text, cursor);
455
+ if (first === void 0) {
456
+ index = runEnd;
457
+ continue;
458
+ }
459
+ if (first.kind === "unsafe") {
460
+ index = first.next;
461
+ continue;
462
+ }
463
+ const issueNumbers = [first.value];
464
+ let end = first.next;
465
+ let unsafeNext;
466
+ for (;;) {
467
+ const next = scanSeparator(text, end);
468
+ if (next === void 0) break;
469
+ const item = readItem(text, next);
470
+ if (item === void 0) break;
471
+ if (item.kind === "unsafe") {
472
+ unsafeNext = item.next;
473
+ break;
474
+ }
475
+ issueNumbers.push(item.value);
476
+ end = item.next;
477
+ }
478
+ if (unsafeNext !== void 0) {
479
+ index = unsafeNext;
480
+ continue;
481
+ }
482
+ lists.push({
483
+ keyword,
484
+ closing: CLOSING_SET.has(keyword),
485
+ issueNumbers,
486
+ start: runStart,
487
+ end
488
+ });
489
+ index = end;
490
+ }
491
+ return lists;
492
+ };
493
+ //#endregion
494
+ //#region ../../node_modules/.pnpm/@effected+github-references@0.3.0_effect@4.0.0-rc.115/node_modules/@effected/github-references/KeywordFamily.js
495
+ /**
496
+ * The projection table IS the totality proof: `Record` over the union of
497
+ * both keyword types makes a keyword added to either constant without an
498
+ * entry here fail to compile.
499
+ */
500
+ const FAMILIES = {
501
+ close: "close",
502
+ closes: "close",
503
+ closed: "close",
504
+ fix: "fix",
505
+ fixes: "fix",
506
+ fixed: "fix",
507
+ resolve: "resolve",
508
+ resolves: "resolve",
509
+ resolved: "resolve",
510
+ ref: "ref",
511
+ refs: "ref",
512
+ references: "ref"
513
+ };
514
+ /**
515
+ * The family a keyword belongs to.
516
+ *
517
+ * @remarks
518
+ * Total over both keyword sets by construction — see the module remarks for
519
+ * why an explicit record beats a `startsWith` heuristic. `close`, `closes`
520
+ * and `closed` map to `"close"`; the `fix` and `resolve` conjugations
521
+ * likewise; `ref`, `refs` and `references` map to `"ref"`. The evidence for
522
+ * the projection is downstream: categorized harvesters key maps by family,
523
+ * and each was hand-rolling this collapse.
524
+ *
525
+ * @public
526
+ */
527
+ const keywordFamily = (keyword) => FAMILIES[keyword];
528
+ //#endregion
529
+ //#region ../silk-core/dist/dev/pkg/schemas/VersioningSchemas.js
96
530
  /**
97
531
  * Configuration for how private packages are handled during versioning.
98
532
  *
@@ -164,7 +598,7 @@ const ChangesetConfigFile = effect.Schema.Struct({
164
598
  *
165
599
  * @remarks
166
600
  * Extends {@link (ChangesetConfigFile:type)} with a `_isSilk` marker flag that is automatically
167
- * set to `true`. Detected by {@link ChangesetConfigReader} when the `changelog` field
601
+ * set to `true`. Detected by `ChangesetConfigReader` when the `changelog` field
168
602
  * references `@savvy-web/changesets`.
169
603
  *
170
604
  * @since 0.1.0
@@ -175,6 +609,25 @@ const SilkChangesetConfigFile = effect.Schema.Struct({
175
609
  _isSilk: effect.Schema.Boolean.pipe(effect.Schema.withDecodingDefaultType(effect.Effect.succeed(true)), effect.Schema.withConstructorDefault(effect.Effect.succeed(true)))
176
610
  });
177
611
  //#endregion
612
+ //#region ../silk-core/dist/dev/pkg/utils/TrailingSlash.js
613
+ /**
614
+ * Trim trailing slashes from a string.
615
+ *
616
+ * @remarks
617
+ * Trims trailing slashes with an index scan rather than `/\/+$/`. That regex is
618
+ * unanchored at the start, so the engine retries the match from every position
619
+ * and degrades to O(n²) on a string of many slashes (CodeQL `js/polynomial-redos`).
620
+ * Only a trailing run of slashes is removed; interior slash runs are untouched.
621
+ *
622
+ * @since 0.1.0
623
+ * @public
624
+ */
625
+ const trimTrailingSlashes = (s) => {
626
+ let end = s.length;
627
+ while (end > 0 && s[end - 1] === "/") end -= 1;
628
+ return s.slice(0, end);
629
+ };
630
+ //#endregion
178
631
  //#region ../silk-effects/dist/dev/pkg/services/ChangesetConfigReader.js
179
632
  /**
180
633
  * Substrings that identify a Silk changelog adapter entry in `.changeset/config.json`.
@@ -204,8 +657,8 @@ function isSilkChangelog(changelog) {
204
657
  *
205
658
  * @remarks
206
659
  * Automatically detects whether the config uses the Silk changelog adapter
207
- * (`@savvy-web/changesets`) and decodes as {@link (SilkChangesetConfigFile:type)} or the
208
- * standard {@link (ChangesetConfigFile:type)} accordingly.
660
+ * (`@savvy-web/changesets`) and decodes as `SilkChangesetConfigFile` or the
661
+ * standard `ChangesetConfigFile` accordingly.
209
662
  *
210
663
  * @example
211
664
  * ```typescript
@@ -283,32 +736,6 @@ var ChangesetConfigReader = class extends effect.Context.Service()("@savvy-web/s
283
736
  }));
284
737
  };
285
738
  //#endregion
286
- //#region ../silk-effects/dist/dev/pkg/errors/PublishTargetBindingError.js
287
- /**
288
- * Raised when publishability detection selects a directory that the package's
289
- * `dist/prod/targets.json` binding does not describe.
290
- *
291
- * @remarks
292
- * The bundler's prod build writes `targets.json` naming every byte-group
293
- * directory it produced. Once that binding exists it is authoritative: the only
294
- * directories whose bytes may be published are the ones it lists. A detector
295
- * that returns anything else — most often `publishConfig.directory` pointing at
296
- * a **dev** build, because silk mode was misdetected — is about to pack an
297
- * unresolved workspace manifest and ship it to a registry.
298
- *
299
- * That is the `yaml-effect@0.7.1` failure: detection picked `dist/dev/pkg`, the
300
- * dev manifest still carried `catalog:` specifiers, and the published package
301
- * was uninstallable (`EUNSUPPORTEDPROTOCOL`).
302
- *
303
- * @since 3.1.0
304
- * @public
305
- */
306
- var PublishTargetBindingError = class extends effect.Data.TaggedError("PublishTargetBindingError") {
307
- get message() {
308
- return `Package ${this.pkg} resolved publish directory "${this.directory}", which is not one of the directories bound by dist/prod/targets.json (${this.boundDirectories.join(", ")}). This means publishability detection did not select the prod build output — refusing to publish before packing an unresolved manifest.`;
309
- }
310
- };
311
- //#endregion
312
739
  //#region ../silk-effects/dist/dev/pkg/services/ChangesetConfig.js
313
740
  const isSilk = (cfg) => "_isSilk" in cfg && cfg._isSilk === true;
314
741
  /**
@@ -385,22 +812,6 @@ var ChangesetConfig = class ChangesetConfig extends effect.Context.Service()("@s
385
812
  }));
386
813
  };
387
814
  //#endregion
388
- //#region ../silk-effects/dist/dev/pkg/utils/TrailingSlash.js
389
- /**
390
- * Trim trailing slashes from a string.
391
- *
392
- * @remarks
393
- * Trims trailing slashes with an index scan rather than `/\/+$/`. That regex is
394
- * unanchored at the start, so the engine retries the match from every position
395
- * and degrades to O(n²) on a string of many slashes (CodeQL `js/polynomial-redos`).
396
- * Only a trailing run of slashes is removed; interior slash runs are untouched.
397
- */
398
- const trimTrailingSlashes = (s) => {
399
- let end = s.length;
400
- while (end > 0 && s[end - 1] === "/") end -= 1;
401
- return s.slice(0, end);
402
- };
403
- //#endregion
404
815
  //#region ../silk-effects/dist/dev/pkg/services/SilkPublishability.js
405
816
  const NPM_DEFAULT = "https://registry.npmjs.org/";
406
817
  /**
@@ -523,7 +934,7 @@ var SilkPublishability = class SilkPublishability {
523
934
  * directories it names. A directory outside the binding means detection did
524
935
  * not select the prod output — the `yaml-effect@0.7.1` shape, where a dev
525
936
  * manifest carrying `catalog:` specifiers was packed and published. Rather
526
- * than ship those bytes, fail with {@link PublishTargetBindingError}.
937
+ * than ship those bytes, fail with `PublishTargetBindingError`.
527
938
  *
528
939
  * Before the prod build runs there is no binding, and the detector's
529
940
  * placeholder directories are left alone.
@@ -2651,6 +3062,66 @@ function makeGitHubTest(responses) {
2651
3062
  } });
2652
3063
  }
2653
3064
  //#endregion
3065
+ //#region ../silk-effects/dist/dev/pkg/changesets/utils/logger.js
3066
+ /**
3067
+ * Warning output for changelog generation, parameterised by a
3068
+ * {@link ChangesetLogMode} reference instead of an ambient environment read.
3069
+ *
3070
+ * @remarks
3071
+ * This module is engine code shared by every front end, so it must not read
3072
+ * `process` — a `process.env` read here would bake one host's environment
3073
+ * into every other. The mode is a `Context.Reference` with a default of
3074
+ * `"stderr"`; a front end that knows it runs under GitHub Actions or a test
3075
+ * runner provides `"github"` or `"silent"` from its own `process.env` read.
3076
+ *
3077
+ * @packageDocumentation
3078
+ */
3079
+ /**
3080
+ * The reference that selects the {@link ChangesetLogModeValue}.
3081
+ *
3082
+ * @remarks
3083
+ * Defaults to `"stderr"` when no front end provides it, so a program that
3084
+ * never touches the reference still reports. Provide with
3085
+ * `Layer.succeed(ChangesetLogMode, "github")` or
3086
+ * `Effect.provideService(ChangesetLogMode, "silent")`.
3087
+ *
3088
+ * @example
3089
+ * ```typescript
3090
+ * import { Effect } from "effect";
3091
+ * import { Changesets } from "\@savvy-web/silk-effects";
3092
+ *
3093
+ * const mode = process.env.GITHUB_ACTIONS === "true" ? "github" : "stderr";
3094
+ * program.pipe(Effect.provideService(Changesets.ChangesetLogMode, mode));
3095
+ * ```
3096
+ *
3097
+ * @public
3098
+ */
3099
+ const ChangesetLogMode = effect.Context.Reference("@savvy-web/silk-effects/Changesets/ChangesetLogMode", { defaultValue: () => "stderr" });
3100
+ /**
3101
+ * Log a warning message according to the {@link ChangesetLogMode} in context.
3102
+ *
3103
+ * @param message - The warning message
3104
+ * @param args - Additional arguments (concatenated with a space in `"github"` mode)
3105
+ * @returns An `Effect` that never fails
3106
+ *
3107
+ * @internal
3108
+ */
3109
+ function logWarning(message, ...args) {
3110
+ return effect.Effect.gen(function* () {
3111
+ switch (yield* ChangesetLogMode) {
3112
+ case "silent": return;
3113
+ case "github": {
3114
+ const text = args.length > 0 ? `${message} ${args.join(" ")}` : message;
3115
+ console.warn(`::warning::${text}`);
3116
+ return;
3117
+ }
3118
+ case "stderr":
3119
+ console.warn(message, ...args);
3120
+ return;
3121
+ }
3122
+ });
3123
+ }
3124
+ //#endregion
2654
3125
  //#region ../silk-effects/dist/dev/pkg/changesets/schemas/primitives.js
2655
3126
  /**
2656
3127
  * Primitive reusable schemas for common constrained types.
@@ -2930,7 +3401,7 @@ const DependencyTableRowSchema = effect.Schema.Struct({
2930
3401
  */
2931
3402
  const DependencyTableSchema = effect.Schema.Array(DependencyTableRowSchema).check(effect.Schema.isMinLength(1));
2932
3403
  //#endregion
2933
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/MarkdownNode.js
3404
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/MarkdownNode.js
2934
3405
  /**
2935
3406
  * A single point in a source document: 1-based `line` and `column`, 0-based
2936
3407
  * `offset`.
@@ -3731,7 +4202,7 @@ effect.Schema.suspend(() => effect.Schema.Union([
3731
4202
  TableContent
3732
4203
  ]));
3733
4204
  //#endregion
3734
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/frontmatter.js
4205
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/frontmatter.js
3735
4206
  const FENCES = /* @__PURE__ */ new Map([
3736
4207
  ["---", {
3737
4208
  format: "yaml",
@@ -3785,7 +4256,7 @@ const scanFrontmatter = (lines, text) => {
3785
4256
  return null;
3786
4257
  };
3787
4258
  //#endregion
3788
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/JsoncNode.js
4259
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/JsoncNode.js
3789
4260
  /**
3790
4261
  * Discriminator values for JSONC AST node types: the JSON value types
3791
4262
  * (`string`/`number`/`boolean`/`null`), the structural types
@@ -3960,10 +4431,10 @@ function evaluateNode(node, depth) {
3960
4431
  }
3961
4432
  }
3962
4433
  //#endregion
3963
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/internal/scanner.js
4434
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/internal/scanner.js
3964
4435
  const isWhitespace = (ch) => ch === 32 || ch === 9 || ch === 11 || ch === 12 || ch === 160 || ch === 65279;
3965
4436
  const isLineBreak$1 = (ch) => ch === 10 || ch === 13 || ch === 8232 || ch === 8233;
3966
- const isDigit$2 = (ch) => ch >= 48 && ch <= 57;
4437
+ const isDigit$1 = (ch) => ch >= 48 && ch <= 57;
3967
4438
  /**
3968
4439
  * Create a stateful {@link Scanner} for the given JSONC string.
3969
4440
  *
@@ -4068,31 +4539,31 @@ const createScanner$1 = (text, ignoreTrivia = false) => {
4068
4539
  if (text.charCodeAt(pos) === 45) pos++;
4069
4540
  if (text.charCodeAt(pos) === 48) pos++;
4070
4541
  else {
4071
- if (!isDigit$2(text.charCodeAt(pos))) {
4542
+ if (!isDigit$1(text.charCodeAt(pos))) {
4072
4543
  tokenError = "UnexpectedEndOfNumber";
4073
4544
  return text.substring(start, pos);
4074
4545
  }
4075
4546
  pos++;
4076
- while (pos < len && isDigit$2(text.charCodeAt(pos))) pos++;
4547
+ while (pos < len && isDigit$1(text.charCodeAt(pos))) pos++;
4077
4548
  }
4078
4549
  if (pos < len && text.charCodeAt(pos) === 46) {
4079
4550
  pos++;
4080
- if (!isDigit$2(text.charCodeAt(pos))) {
4551
+ if (!isDigit$1(text.charCodeAt(pos))) {
4081
4552
  tokenError = "UnexpectedEndOfNumber";
4082
4553
  return text.substring(start, pos);
4083
4554
  }
4084
4555
  pos++;
4085
- while (pos < len && isDigit$2(text.charCodeAt(pos))) pos++;
4556
+ while (pos < len && isDigit$1(text.charCodeAt(pos))) pos++;
4086
4557
  }
4087
4558
  if (pos < len && (text.charCodeAt(pos) === 69 || text.charCodeAt(pos) === 101)) {
4088
4559
  pos++;
4089
4560
  if (pos < len && (text.charCodeAt(pos) === 43 || text.charCodeAt(pos) === 45)) pos++;
4090
- if (!isDigit$2(text.charCodeAt(pos))) {
4561
+ if (!isDigit$1(text.charCodeAt(pos))) {
4091
4562
  tokenError = "UnexpectedEndOfNumber";
4092
4563
  return text.substring(start, pos);
4093
4564
  }
4094
4565
  pos++;
4095
- while (pos < len && isDigit$2(text.charCodeAt(pos))) pos++;
4566
+ while (pos < len && isDigit$1(text.charCodeAt(pos))) pos++;
4096
4567
  }
4097
4568
  return text.substring(start, pos);
4098
4569
  };
@@ -4198,7 +4669,7 @@ const createScanner$1 = (text, ignoreTrivia = false) => {
4198
4669
  return token;
4199
4670
  }
4200
4671
  case 45:
4201
- if (pos + 1 < len && isDigit$2(text.charCodeAt(pos + 1))) {
4672
+ if (pos + 1 < len && isDigit$1(text.charCodeAt(pos + 1))) {
4202
4673
  tokenValue = scanNumber();
4203
4674
  token = "Number";
4204
4675
  return token;
@@ -4209,7 +4680,7 @@ const createScanner$1 = (text, ignoreTrivia = false) => {
4209
4680
  tokenError = "InvalidSymbol";
4210
4681
  return token;
4211
4682
  default:
4212
- if (isDigit$2(ch)) {
4683
+ if (isDigit$1(ch)) {
4213
4684
  tokenValue = scanNumber();
4214
4685
  token = "Number";
4215
4686
  return token;
@@ -4261,7 +4732,7 @@ const createScanner$1 = (text, ignoreTrivia = false) => {
4261
4732
  };
4262
4733
  };
4263
4734
  //#endregion
4264
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/internal/skip.js
4735
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/internal/skip.js
4265
4736
  /**
4266
4737
  * Iteratively consume the value beginning at the cursor's current token and
4267
4738
  * return its tight end offset (excludes trailing whitespace/comments).
@@ -4291,7 +4762,7 @@ const skipBalancedValue = (cursor) => {
4291
4762
  return end;
4292
4763
  };
4293
4764
  //#endregion
4294
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/internal/parser.js
4765
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/internal/parser.js
4295
4766
  /**
4296
4767
  * The public parse-error code vocabulary. The facade builds its `@public`
4297
4768
  * `JsoncParseErrorCode` schema from this array; the parser produces these codes
@@ -4704,7 +5175,7 @@ const parseTree$2 = (text, flags) => {
4704
5175
  };
4705
5176
  };
4706
5177
  //#endregion
4707
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/Jsonc.js
5178
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/Jsonc.js
4708
5179
  /**
4709
5180
  * The single public parse-error code vocabulary, appearing as the `code` field
4710
5181
  * of {@link JsoncParseErrorDetail}.
@@ -5164,7 +5635,7 @@ var Jsonc = class Jsonc {
5164
5635
  */
5165
5636
  static fromString(options) {
5166
5637
  const flags = toFlags(options);
5167
- return effect.Schema.String.pipe(effect.Schema.decodeTo(effect.Schema.Unknown, effect.SchemaTransformation.transformOrFail({
5638
+ return effect.Schema.String.pipe(effect.Schema.decodeTo(effect.Schema.Unknown, effect.SchemaTransformation.transformEffect({
5168
5639
  decode: (input) => {
5169
5640
  const { value, errors } = parseValue(input, flags);
5170
5641
  if (errors.length > 0) {
@@ -5308,7 +5779,7 @@ var JsoncEdit = class extends effect.Schema.Class("JsoncEdit")({
5308
5779
  }
5309
5780
  };
5310
5781
  //#endregion
5311
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/internal/navigate.js
5782
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/internal/navigate.js
5312
5783
  /**
5313
5784
  * Resolve `path` against `text`, returning where the target is (or where it
5314
5785
  * would be inserted). `path` must be non-empty — the whole-document case is
@@ -5435,7 +5906,7 @@ function navigate(text, path) {
5435
5906
  return { _tag: "NoOp" };
5436
5907
  }
5437
5908
  //#endregion
5438
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/JsoncModifier.js
5909
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/JsoncModifier.js
5439
5910
  /**
5440
5911
  * Raised when `JsoncModifier.modify` cannot navigate the requested path: the
5441
5912
  * value at `depth` is not the container kind (`expected`) the next path segment
@@ -5563,7 +6034,7 @@ var JsoncModifier = class {
5563
6034
  });
5564
6035
  };
5565
6036
  //#endregion
5566
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/carriers.js
6037
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/carriers.js
5567
6038
  /**
5568
6039
  * P1's error-code vocabulary. Widens as later phases add parse-error kinds;
5569
6040
  * P1 registers exactly one, the hardening-guard trip.
@@ -5603,7 +6074,7 @@ var GuardExceeded$1 = class extends Error {
5603
6074
  /** Narrows `unknown` to {@link GuardExceeded}; never a bare `instanceof` at a call site. */
5604
6075
  const isGuardExceeded$1 = (u) => u instanceof GuardExceeded$1;
5605
6076
  //#endregion
5606
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/MarkdownDiagnostic.js
6077
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/MarkdownDiagnostic.js
5607
6078
  /**
5608
6079
  * Error codes `Markdown.parse`/`MarkdownDocument.parse` can fail with. P1
5609
6080
  * registers exactly the hardening-guard trip; later phases widen the union
@@ -5683,7 +6154,7 @@ function lineChar(text, offset) {
5683
6154
  };
5684
6155
  }
5685
6156
  //#endregion
5686
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blockTypes.js
6157
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blockTypes.js
5687
6158
  /** Narrow materialized children to the flow content most constructs contain. */
5688
6159
  const flowChildren = (children) => children.filter((child) => child.type !== "root" && child.type !== "listItem" && child.type !== "tableRow" && child.type !== "tableCell");
5689
6160
  /** Narrow materialized children to the list items a list contains. */
@@ -5708,7 +6179,7 @@ const makeBlockNode = (type, startOffset, startLine, depth = 0) => ({
5708
6179
  data: {}
5709
6180
  });
5710
6181
  //#endregion
5711
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/preprocess.js
6182
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/preprocess.js
5712
6183
  /**
5713
6184
  * Split `text` into lines, preserving each line's absolute start offset.
5714
6185
  *
@@ -5762,7 +6233,7 @@ const peekCode = (line, position) => position >= 0 && position < line.length ? l
5762
6233
  */
5763
6234
  const columnsToNextTabStop = (column) => 4 - column % 4;
5764
6235
  //#endregion
5765
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/htmlTags.js
6236
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/htmlTags.js
5766
6237
  const TAGNAME = "[A-Za-z][A-Za-z0-9-]*";
5767
6238
  /** An opening tag, with any attributes and an optional self-closing slash. */
5768
6239
  const OPENTAG = `<${TAGNAME}(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*/?>`;
@@ -5773,7 +6244,7 @@ const HTMLTAG = `(?:${OPENTAG}|${CLOSETAG}|<!-->|<!--->|<!--[\\s\\S]*?-->|[<][?]
5773
6244
  /** {@link HTMLTAG}, anchored for matching at a cursor. */
5774
6245
  const reHtmlTag = new RegExp(`^${HTMLTAG}`);
5775
6246
  //#endregion
5776
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/htmlBlock.js
6247
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/htmlBlock.js
5777
6248
  const C_LESSTHAN$3 = 60;
5778
6249
  const reHtmlBlockOpen = [
5779
6250
  /./,
@@ -5839,7 +6310,7 @@ const htmlBlockStart = {
5839
6310
  }
5840
6311
  };
5841
6312
  //#endregion
5842
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/atxHeading.js
6313
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/atxHeading.js
5843
6314
  const reATXHeadingMarker = /^#{1,6}(?:[ \t]+|$)/;
5844
6315
  const reOnlyTrailingHashes = /^[ \t]*#+[ \t]*$/;
5845
6316
  const reClosingHashes = /[ \t]+#+[ \t]*$/;
@@ -5889,7 +6360,7 @@ const atxHeadingStart = {
5889
6360
  }
5890
6361
  };
5891
6362
  //#endregion
5892
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/blockquote.js
6363
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/blockquote.js
5893
6364
  const C_GREATERTHAN = 62;
5894
6365
  /** Blockquote: continues while each line carries its `>` marker. */
5895
6366
  const blockquoteConstruct = {
@@ -5923,11 +6394,11 @@ const blockquoteStart = {
5923
6394
  }
5924
6395
  };
5925
6396
  //#endregion
5926
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/entityMap.js
6397
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/entityMap.js
5927
6398
  /** The HTML5 named character references, keyed without `&` or `;`. */
5928
6399
  const ENTITY_MAP = new Map(JSON.parse("[[\"AElig\",\"Æ\"],[\"AMP\",\"&\"],[\"Aacute\",\"Á\"],[\"Abreve\",\"Ă\"],[\"Acirc\",\"Â\"],[\"Acy\",\"А\"],[\"Afr\",\"𝔄\"],[\"Agrave\",\"À\"],[\"Alpha\",\"Α\"],[\"Amacr\",\"Ā\"],[\"And\",\"⩓\"],[\"Aogon\",\"Ą\"],[\"Aopf\",\"𝔸\"],[\"ApplyFunction\",\"⁡\"],[\"Aring\",\"Å\"],[\"Ascr\",\"𝒜\"],[\"Assign\",\"≔\"],[\"Atilde\",\"Ã\"],[\"Auml\",\"Ä\"],[\"Backslash\",\"∖\"],[\"Barv\",\"⫧\"],[\"Barwed\",\"⌆\"],[\"Bcy\",\"Б\"],[\"Because\",\"∵\"],[\"Bernoullis\",\"ℬ\"],[\"Beta\",\"Β\"],[\"Bfr\",\"𝔅\"],[\"Bopf\",\"𝔹\"],[\"Breve\",\"˘\"],[\"Bscr\",\"ℬ\"],[\"Bumpeq\",\"≎\"],[\"CHcy\",\"Ч\"],[\"COPY\",\"©\"],[\"Cacute\",\"Ć\"],[\"Cap\",\"⋒\"],[\"CapitalDifferentialD\",\"ⅅ\"],[\"Cayleys\",\"ℭ\"],[\"Ccaron\",\"Č\"],[\"Ccedil\",\"Ç\"],[\"Ccirc\",\"Ĉ\"],[\"Cconint\",\"∰\"],[\"Cdot\",\"Ċ\"],[\"Cedilla\",\"¸\"],[\"CenterDot\",\"·\"],[\"Cfr\",\"ℭ\"],[\"Chi\",\"Χ\"],[\"CircleDot\",\"⊙\"],[\"CircleMinus\",\"⊖\"],[\"CirclePlus\",\"⊕\"],[\"CircleTimes\",\"⊗\"],[\"ClockwiseContourIntegral\",\"∲\"],[\"CloseCurlyDoubleQuote\",\"”\"],[\"CloseCurlyQuote\",\"’\"],[\"Colon\",\"∷\"],[\"Colone\",\"⩴\"],[\"Congruent\",\"≡\"],[\"Conint\",\"∯\"],[\"ContourIntegral\",\"∮\"],[\"Copf\",\"ℂ\"],[\"Coproduct\",\"∐\"],[\"CounterClockwiseContourIntegral\",\"∳\"],[\"Cross\",\"⨯\"],[\"Cscr\",\"𝒞\"],[\"Cup\",\"⋓\"],[\"CupCap\",\"≍\"],[\"DD\",\"ⅅ\"],[\"DDotrahd\",\"⤑\"],[\"DJcy\",\"Ђ\"],[\"DScy\",\"Ѕ\"],[\"DZcy\",\"Џ\"],[\"Dagger\",\"‡\"],[\"Darr\",\"↡\"],[\"Dashv\",\"⫤\"],[\"Dcaron\",\"Ď\"],[\"Dcy\",\"Д\"],[\"Del\",\"∇\"],[\"Delta\",\"Δ\"],[\"Dfr\",\"𝔇\"],[\"DiacriticalAcute\",\"´\"],[\"DiacriticalDot\",\"˙\"],[\"DiacriticalDoubleAcute\",\"˝\"],[\"DiacriticalGrave\",\"`\"],[\"DiacriticalTilde\",\"˜\"],[\"Diamond\",\"⋄\"],[\"DifferentialD\",\"ⅆ\"],[\"Dopf\",\"𝔻\"],[\"Dot\",\"¨\"],[\"DotDot\",\"⃜\"],[\"DotEqual\",\"≐\"],[\"DoubleContourIntegral\",\"∯\"],[\"DoubleDot\",\"¨\"],[\"DoubleDownArrow\",\"⇓\"],[\"DoubleLeftArrow\",\"⇐\"],[\"DoubleLeftRightArrow\",\"⇔\"],[\"DoubleLeftTee\",\"⫤\"],[\"DoubleLongLeftArrow\",\"⟸\"],[\"DoubleLongLeftRightArrow\",\"⟺\"],[\"DoubleLongRightArrow\",\"⟹\"],[\"DoubleRightArrow\",\"⇒\"],[\"DoubleRightTee\",\"⊨\"],[\"DoubleUpArrow\",\"⇑\"],[\"DoubleUpDownArrow\",\"⇕\"],[\"DoubleVerticalBar\",\"∥\"],[\"DownArrow\",\"↓\"],[\"DownArrowBar\",\"⤓\"],[\"DownArrowUpArrow\",\"⇵\"],[\"DownBreve\",\"̑\"],[\"DownLeftRightVector\",\"⥐\"],[\"DownLeftTeeVector\",\"⥞\"],[\"DownLeftVector\",\"↽\"],[\"DownLeftVectorBar\",\"⥖\"],[\"DownRightTeeVector\",\"⥟\"],[\"DownRightVector\",\"⇁\"],[\"DownRightVectorBar\",\"⥗\"],[\"DownTee\",\"⊤\"],[\"DownTeeArrow\",\"↧\"],[\"Downarrow\",\"⇓\"],[\"Dscr\",\"𝒟\"],[\"Dstrok\",\"Đ\"],[\"ENG\",\"Ŋ\"],[\"ETH\",\"Ð\"],[\"Eacute\",\"É\"],[\"Ecaron\",\"Ě\"],[\"Ecirc\",\"Ê\"],[\"Ecy\",\"Э\"],[\"Edot\",\"Ė\"],[\"Efr\",\"𝔈\"],[\"Egrave\",\"È\"],[\"Element\",\"∈\"],[\"Emacr\",\"Ē\"],[\"EmptySmallSquare\",\"◻\"],[\"EmptyVerySmallSquare\",\"▫\"],[\"Eogon\",\"Ę\"],[\"Eopf\",\"𝔼\"],[\"Epsilon\",\"Ε\"],[\"Equal\",\"⩵\"],[\"EqualTilde\",\"≂\"],[\"Equilibrium\",\"⇌\"],[\"Escr\",\"ℰ\"],[\"Esim\",\"⩳\"],[\"Eta\",\"Η\"],[\"Euml\",\"Ë\"],[\"Exists\",\"∃\"],[\"ExponentialE\",\"ⅇ\"],[\"Fcy\",\"Ф\"],[\"Ffr\",\"𝔉\"],[\"FilledSmallSquare\",\"◼\"],[\"FilledVerySmallSquare\",\"▪\"],[\"Fopf\",\"𝔽\"],[\"ForAll\",\"∀\"],[\"Fouriertrf\",\"ℱ\"],[\"Fscr\",\"ℱ\"],[\"GJcy\",\"Ѓ\"],[\"GT\",\">\"],[\"Gamma\",\"Γ\"],[\"Gammad\",\"Ϝ\"],[\"Gbreve\",\"Ğ\"],[\"Gcedil\",\"Ģ\"],[\"Gcirc\",\"Ĝ\"],[\"Gcy\",\"Г\"],[\"Gdot\",\"Ġ\"],[\"Gfr\",\"𝔊\"],[\"Gg\",\"⋙\"],[\"Gopf\",\"𝔾\"],[\"GreaterEqual\",\"≥\"],[\"GreaterEqualLess\",\"⋛\"],[\"GreaterFullEqual\",\"≧\"],[\"GreaterGreater\",\"⪢\"],[\"GreaterLess\",\"≷\"],[\"GreaterSlantEqual\",\"⩾\"],[\"GreaterTilde\",\"≳\"],[\"Gscr\",\"𝒢\"],[\"Gt\",\"≫\"],[\"HARDcy\",\"Ъ\"],[\"Hacek\",\"ˇ\"],[\"Hat\",\"^\"],[\"Hcirc\",\"Ĥ\"],[\"Hfr\",\"ℌ\"],[\"HilbertSpace\",\"ℋ\"],[\"Hopf\",\"ℍ\"],[\"HorizontalLine\",\"─\"],[\"Hscr\",\"ℋ\"],[\"Hstrok\",\"Ħ\"],[\"HumpDownHump\",\"≎\"],[\"HumpEqual\",\"≏\"],[\"IEcy\",\"Е\"],[\"IJlig\",\"IJ\"],[\"IOcy\",\"Ё\"],[\"Iacute\",\"Í\"],[\"Icirc\",\"Î\"],[\"Icy\",\"И\"],[\"Idot\",\"İ\"],[\"Ifr\",\"ℑ\"],[\"Igrave\",\"Ì\"],[\"Im\",\"ℑ\"],[\"Imacr\",\"Ī\"],[\"ImaginaryI\",\"ⅈ\"],[\"Implies\",\"⇒\"],[\"Int\",\"∬\"],[\"Integral\",\"∫\"],[\"Intersection\",\"⋂\"],[\"InvisibleComma\",\"⁣\"],[\"InvisibleTimes\",\"⁢\"],[\"Iogon\",\"Į\"],[\"Iopf\",\"𝕀\"],[\"Iota\",\"Ι\"],[\"Iscr\",\"ℐ\"],[\"Itilde\",\"Ĩ\"],[\"Iukcy\",\"І\"],[\"Iuml\",\"Ï\"],[\"Jcirc\",\"Ĵ\"],[\"Jcy\",\"Й\"],[\"Jfr\",\"𝔍\"],[\"Jopf\",\"𝕁\"],[\"Jscr\",\"𝒥\"],[\"Jsercy\",\"Ј\"],[\"Jukcy\",\"Є\"],[\"KHcy\",\"Х\"],[\"KJcy\",\"Ќ\"],[\"Kappa\",\"Κ\"],[\"Kcedil\",\"Ķ\"],[\"Kcy\",\"К\"],[\"Kfr\",\"𝔎\"],[\"Kopf\",\"𝕂\"],[\"Kscr\",\"𝒦\"],[\"LJcy\",\"Љ\"],[\"LT\",\"<\"],[\"Lacute\",\"Ĺ\"],[\"Lambda\",\"Λ\"],[\"Lang\",\"⟪\"],[\"Laplacetrf\",\"ℒ\"],[\"Larr\",\"↞\"],[\"Lcaron\",\"Ľ\"],[\"Lcedil\",\"Ļ\"],[\"Lcy\",\"Л\"],[\"LeftAngleBracket\",\"⟨\"],[\"LeftArrow\",\"←\"],[\"LeftArrowBar\",\"⇤\"],[\"LeftArrowRightArrow\",\"⇆\"],[\"LeftCeiling\",\"⌈\"],[\"LeftDoubleBracket\",\"⟦\"],[\"LeftDownTeeVector\",\"⥡\"],[\"LeftDownVector\",\"⇃\"],[\"LeftDownVectorBar\",\"⥙\"],[\"LeftFloor\",\"⌊\"],[\"LeftRightArrow\",\"↔\"],[\"LeftRightVector\",\"⥎\"],[\"LeftTee\",\"⊣\"],[\"LeftTeeArrow\",\"↤\"],[\"LeftTeeVector\",\"⥚\"],[\"LeftTriangle\",\"⊲\"],[\"LeftTriangleBar\",\"⧏\"],[\"LeftTriangleEqual\",\"⊴\"],[\"LeftUpDownVector\",\"⥑\"],[\"LeftUpTeeVector\",\"⥠\"],[\"LeftUpVector\",\"↿\"],[\"LeftUpVectorBar\",\"⥘\"],[\"LeftVector\",\"↼\"],[\"LeftVectorBar\",\"⥒\"],[\"Leftarrow\",\"⇐\"],[\"Leftrightarrow\",\"⇔\"],[\"LessEqualGreater\",\"⋚\"],[\"LessFullEqual\",\"≦\"],[\"LessGreater\",\"≶\"],[\"LessLess\",\"⪡\"],[\"LessSlantEqual\",\"⩽\"],[\"LessTilde\",\"≲\"],[\"Lfr\",\"𝔏\"],[\"Ll\",\"⋘\"],[\"Lleftarrow\",\"⇚\"],[\"Lmidot\",\"Ŀ\"],[\"LongLeftArrow\",\"⟵\"],[\"LongLeftRightArrow\",\"⟷\"],[\"LongRightArrow\",\"⟶\"],[\"Longleftarrow\",\"⟸\"],[\"Longleftrightarrow\",\"⟺\"],[\"Longrightarrow\",\"⟹\"],[\"Lopf\",\"𝕃\"],[\"LowerLeftArrow\",\"↙\"],[\"LowerRightArrow\",\"↘\"],[\"Lscr\",\"ℒ\"],[\"Lsh\",\"↰\"],[\"Lstrok\",\"Ł\"],[\"Lt\",\"≪\"],[\"Map\",\"⤅\"],[\"Mcy\",\"М\"],[\"MediumSpace\",\" \"],[\"Mellintrf\",\"ℳ\"],[\"Mfr\",\"𝔐\"],[\"MinusPlus\",\"∓\"],[\"Mopf\",\"𝕄\"],[\"Mscr\",\"ℳ\"],[\"Mu\",\"Μ\"],[\"NJcy\",\"Њ\"],[\"Nacute\",\"Ń\"],[\"Ncaron\",\"Ň\"],[\"Ncedil\",\"Ņ\"],[\"Ncy\",\"Н\"],[\"NegativeMediumSpace\",\"​\"],[\"NegativeThickSpace\",\"​\"],[\"NegativeThinSpace\",\"​\"],[\"NegativeVeryThinSpace\",\"​\"],[\"NestedGreaterGreater\",\"≫\"],[\"NestedLessLess\",\"≪\"],[\"NewLine\",\"\\n\"],[\"Nfr\",\"𝔑\"],[\"NoBreak\",\"⁠\"],[\"NonBreakingSpace\",\"\xA0\"],[\"Nopf\",\"ℕ\"],[\"Not\",\"⫬\"],[\"NotCongruent\",\"≢\"],[\"NotCupCap\",\"≭\"],[\"NotDoubleVerticalBar\",\"∦\"],[\"NotElement\",\"∉\"],[\"NotEqual\",\"≠\"],[\"NotEqualTilde\",\"≂̸\"],[\"NotExists\",\"∄\"],[\"NotGreater\",\"≯\"],[\"NotGreaterEqual\",\"≱\"],[\"NotGreaterFullEqual\",\"≧̸\"],[\"NotGreaterGreater\",\"≫̸\"],[\"NotGreaterLess\",\"≹\"],[\"NotGreaterSlantEqual\",\"⩾̸\"],[\"NotGreaterTilde\",\"≵\"],[\"NotHumpDownHump\",\"≎̸\"],[\"NotHumpEqual\",\"≏̸\"],[\"NotLeftTriangle\",\"⋪\"],[\"NotLeftTriangleBar\",\"⧏̸\"],[\"NotLeftTriangleEqual\",\"⋬\"],[\"NotLess\",\"≮\"],[\"NotLessEqual\",\"≰\"],[\"NotLessGreater\",\"≸\"],[\"NotLessLess\",\"≪̸\"],[\"NotLessSlantEqual\",\"⩽̸\"],[\"NotLessTilde\",\"≴\"],[\"NotNestedGreaterGreater\",\"⪢̸\"],[\"NotNestedLessLess\",\"⪡̸\"],[\"NotPrecedes\",\"⊀\"],[\"NotPrecedesEqual\",\"⪯̸\"],[\"NotPrecedesSlantEqual\",\"⋠\"],[\"NotReverseElement\",\"∌\"],[\"NotRightTriangle\",\"⋫\"],[\"NotRightTriangleBar\",\"⧐̸\"],[\"NotRightTriangleEqual\",\"⋭\"],[\"NotSquareSubset\",\"⊏̸\"],[\"NotSquareSubsetEqual\",\"⋢\"],[\"NotSquareSuperset\",\"⊐̸\"],[\"NotSquareSupersetEqual\",\"⋣\"],[\"NotSubset\",\"⊂⃒\"],[\"NotSubsetEqual\",\"⊈\"],[\"NotSucceeds\",\"⊁\"],[\"NotSucceedsEqual\",\"⪰̸\"],[\"NotSucceedsSlantEqual\",\"⋡\"],[\"NotSucceedsTilde\",\"≿̸\"],[\"NotSuperset\",\"⊃⃒\"],[\"NotSupersetEqual\",\"⊉\"],[\"NotTilde\",\"≁\"],[\"NotTildeEqual\",\"≄\"],[\"NotTildeFullEqual\",\"≇\"],[\"NotTildeTilde\",\"≉\"],[\"NotVerticalBar\",\"∤\"],[\"Nscr\",\"𝒩\"],[\"Ntilde\",\"Ñ\"],[\"Nu\",\"Ν\"],[\"OElig\",\"Œ\"],[\"Oacute\",\"Ó\"],[\"Ocirc\",\"Ô\"],[\"Ocy\",\"О\"],[\"Odblac\",\"Ő\"],[\"Ofr\",\"𝔒\"],[\"Ograve\",\"Ò\"],[\"Omacr\",\"Ō\"],[\"Omega\",\"Ω\"],[\"Omicron\",\"Ο\"],[\"Oopf\",\"𝕆\"],[\"OpenCurlyDoubleQuote\",\"“\"],[\"OpenCurlyQuote\",\"‘\"],[\"Or\",\"⩔\"],[\"Oscr\",\"𝒪\"],[\"Oslash\",\"Ø\"],[\"Otilde\",\"Õ\"],[\"Otimes\",\"⨷\"],[\"Ouml\",\"Ö\"],[\"OverBar\",\"‾\"],[\"OverBrace\",\"⏞\"],[\"OverBracket\",\"⎴\"],[\"OverParenthesis\",\"⏜\"],[\"PartialD\",\"∂\"],[\"Pcy\",\"П\"],[\"Pfr\",\"𝔓\"],[\"Phi\",\"Φ\"],[\"Pi\",\"Π\"],[\"PlusMinus\",\"±\"],[\"Poincareplane\",\"ℌ\"],[\"Popf\",\"ℙ\"],[\"Pr\",\"⪻\"],[\"Precedes\",\"≺\"],[\"PrecedesEqual\",\"⪯\"],[\"PrecedesSlantEqual\",\"≼\"],[\"PrecedesTilde\",\"≾\"],[\"Prime\",\"″\"],[\"Product\",\"∏\"],[\"Proportion\",\"∷\"],[\"Proportional\",\"∝\"],[\"Pscr\",\"𝒫\"],[\"Psi\",\"Ψ\"],[\"QUOT\",\"\\\"\"],[\"Qfr\",\"𝔔\"],[\"Qopf\",\"ℚ\"],[\"Qscr\",\"𝒬\"],[\"RBarr\",\"⤐\"],[\"REG\",\"®\"],[\"Racute\",\"Ŕ\"],[\"Rang\",\"⟫\"],[\"Rarr\",\"↠\"],[\"Rarrtl\",\"⤖\"],[\"Rcaron\",\"Ř\"],[\"Rcedil\",\"Ŗ\"],[\"Rcy\",\"Р\"],[\"Re\",\"ℜ\"],[\"ReverseElement\",\"∋\"],[\"ReverseEquilibrium\",\"⇋\"],[\"ReverseUpEquilibrium\",\"⥯\"],[\"Rfr\",\"ℜ\"],[\"Rho\",\"Ρ\"],[\"RightAngleBracket\",\"⟩\"],[\"RightArrow\",\"→\"],[\"RightArrowBar\",\"⇥\"],[\"RightArrowLeftArrow\",\"⇄\"],[\"RightCeiling\",\"⌉\"],[\"RightDoubleBracket\",\"⟧\"],[\"RightDownTeeVector\",\"⥝\"],[\"RightDownVector\",\"⇂\"],[\"RightDownVectorBar\",\"⥕\"],[\"RightFloor\",\"⌋\"],[\"RightTee\",\"⊢\"],[\"RightTeeArrow\",\"↦\"],[\"RightTeeVector\",\"⥛\"],[\"RightTriangle\",\"⊳\"],[\"RightTriangleBar\",\"⧐\"],[\"RightTriangleEqual\",\"⊵\"],[\"RightUpDownVector\",\"⥏\"],[\"RightUpTeeVector\",\"⥜\"],[\"RightUpVector\",\"↾\"],[\"RightUpVectorBar\",\"⥔\"],[\"RightVector\",\"⇀\"],[\"RightVectorBar\",\"⥓\"],[\"Rightarrow\",\"⇒\"],[\"Ropf\",\"ℝ\"],[\"RoundImplies\",\"⥰\"],[\"Rrightarrow\",\"⇛\"],[\"Rscr\",\"ℛ\"],[\"Rsh\",\"↱\"],[\"RuleDelayed\",\"⧴\"],[\"SHCHcy\",\"Щ\"],[\"SHcy\",\"Ш\"],[\"SOFTcy\",\"Ь\"],[\"Sacute\",\"Ś\"],[\"Sc\",\"⪼\"],[\"Scaron\",\"Š\"],[\"Scedil\",\"Ş\"],[\"Scirc\",\"Ŝ\"],[\"Scy\",\"С\"],[\"Sfr\",\"𝔖\"],[\"ShortDownArrow\",\"↓\"],[\"ShortLeftArrow\",\"←\"],[\"ShortRightArrow\",\"→\"],[\"ShortUpArrow\",\"↑\"],[\"Sigma\",\"Σ\"],[\"SmallCircle\",\"∘\"],[\"Sopf\",\"𝕊\"],[\"Sqrt\",\"√\"],[\"Square\",\"□\"],[\"SquareIntersection\",\"⊓\"],[\"SquareSubset\",\"⊏\"],[\"SquareSubsetEqual\",\"⊑\"],[\"SquareSuperset\",\"⊐\"],[\"SquareSupersetEqual\",\"⊒\"],[\"SquareUnion\",\"⊔\"],[\"Sscr\",\"𝒮\"],[\"Star\",\"⋆\"],[\"Sub\",\"⋐\"],[\"Subset\",\"⋐\"],[\"SubsetEqual\",\"⊆\"],[\"Succeeds\",\"≻\"],[\"SucceedsEqual\",\"⪰\"],[\"SucceedsSlantEqual\",\"≽\"],[\"SucceedsTilde\",\"≿\"],[\"SuchThat\",\"∋\"],[\"Sum\",\"∑\"],[\"Sup\",\"⋑\"],[\"Superset\",\"⊃\"],[\"SupersetEqual\",\"⊇\"],[\"Supset\",\"⋑\"],[\"THORN\",\"Þ\"],[\"TRADE\",\"™\"],[\"TSHcy\",\"Ћ\"],[\"TScy\",\"Ц\"],[\"Tab\",\"\\t\"],[\"Tau\",\"Τ\"],[\"Tcaron\",\"Ť\"],[\"Tcedil\",\"Ţ\"],[\"Tcy\",\"Т\"],[\"Tfr\",\"𝔗\"],[\"Therefore\",\"∴\"],[\"Theta\",\"Θ\"],[\"ThickSpace\",\"  \"],[\"ThinSpace\",\" \"],[\"Tilde\",\"∼\"],[\"TildeEqual\",\"≃\"],[\"TildeFullEqual\",\"≅\"],[\"TildeTilde\",\"≈\"],[\"Topf\",\"𝕋\"],[\"TripleDot\",\"⃛\"],[\"Tscr\",\"𝒯\"],[\"Tstrok\",\"Ŧ\"],[\"Uacute\",\"Ú\"],[\"Uarr\",\"↟\"],[\"Uarrocir\",\"⥉\"],[\"Ubrcy\",\"Ў\"],[\"Ubreve\",\"Ŭ\"],[\"Ucirc\",\"Û\"],[\"Ucy\",\"У\"],[\"Udblac\",\"Ű\"],[\"Ufr\",\"𝔘\"],[\"Ugrave\",\"Ù\"],[\"Umacr\",\"Ū\"],[\"UnderBar\",\"_\"],[\"UnderBrace\",\"⏟\"],[\"UnderBracket\",\"⎵\"],[\"UnderParenthesis\",\"⏝\"],[\"Union\",\"⋃\"],[\"UnionPlus\",\"⊎\"],[\"Uogon\",\"Ų\"],[\"Uopf\",\"𝕌\"],[\"UpArrow\",\"↑\"],[\"UpArrowBar\",\"⤒\"],[\"UpArrowDownArrow\",\"⇅\"],[\"UpDownArrow\",\"↕\"],[\"UpEquilibrium\",\"⥮\"],[\"UpTee\",\"⊥\"],[\"UpTeeArrow\",\"↥\"],[\"Uparrow\",\"⇑\"],[\"Updownarrow\",\"⇕\"],[\"UpperLeftArrow\",\"↖\"],[\"UpperRightArrow\",\"↗\"],[\"Upsi\",\"ϒ\"],[\"Upsilon\",\"Υ\"],[\"Uring\",\"Ů\"],[\"Uscr\",\"𝒰\"],[\"Utilde\",\"Ũ\"],[\"Uuml\",\"Ü\"],[\"VDash\",\"⊫\"],[\"Vbar\",\"⫫\"],[\"Vcy\",\"В\"],[\"Vdash\",\"⊩\"],[\"Vdashl\",\"⫦\"],[\"Vee\",\"⋁\"],[\"Verbar\",\"‖\"],[\"Vert\",\"‖\"],[\"VerticalBar\",\"∣\"],[\"VerticalLine\",\"|\"],[\"VerticalSeparator\",\"❘\"],[\"VerticalTilde\",\"≀\"],[\"VeryThinSpace\",\" \"],[\"Vfr\",\"𝔙\"],[\"Vopf\",\"𝕍\"],[\"Vscr\",\"𝒱\"],[\"Vvdash\",\"⊪\"],[\"Wcirc\",\"Ŵ\"],[\"Wedge\",\"⋀\"],[\"Wfr\",\"𝔚\"],[\"Wopf\",\"𝕎\"],[\"Wscr\",\"𝒲\"],[\"Xfr\",\"𝔛\"],[\"Xi\",\"Ξ\"],[\"Xopf\",\"𝕏\"],[\"Xscr\",\"𝒳\"],[\"YAcy\",\"Я\"],[\"YIcy\",\"Ї\"],[\"YUcy\",\"Ю\"],[\"Yacute\",\"Ý\"],[\"Ycirc\",\"Ŷ\"],[\"Ycy\",\"Ы\"],[\"Yfr\",\"𝔜\"],[\"Yopf\",\"𝕐\"],[\"Yscr\",\"𝒴\"],[\"Yuml\",\"Ÿ\"],[\"ZHcy\",\"Ж\"],[\"Zacute\",\"Ź\"],[\"Zcaron\",\"Ž\"],[\"Zcy\",\"З\"],[\"Zdot\",\"Ż\"],[\"ZeroWidthSpace\",\"​\"],[\"Zeta\",\"Ζ\"],[\"Zfr\",\"ℨ\"],[\"Zopf\",\"ℤ\"],[\"Zscr\",\"𝒵\"],[\"aacute\",\"á\"],[\"abreve\",\"ă\"],[\"ac\",\"∾\"],[\"acE\",\"∾̳\"],[\"acd\",\"∿\"],[\"acirc\",\"â\"],[\"acute\",\"´\"],[\"acy\",\"а\"],[\"aelig\",\"æ\"],[\"af\",\"⁡\"],[\"afr\",\"𝔞\"],[\"agrave\",\"à\"],[\"alefsym\",\"ℵ\"],[\"aleph\",\"ℵ\"],[\"alpha\",\"α\"],[\"amacr\",\"ā\"],[\"amalg\",\"⨿\"],[\"amp\",\"&\"],[\"and\",\"∧\"],[\"andand\",\"⩕\"],[\"andd\",\"⩜\"],[\"andslope\",\"⩘\"],[\"andv\",\"⩚\"],[\"ang\",\"∠\"],[\"ange\",\"⦤\"],[\"angle\",\"∠\"],[\"angmsd\",\"∡\"],[\"angmsdaa\",\"⦨\"],[\"angmsdab\",\"⦩\"],[\"angmsdac\",\"⦪\"],[\"angmsdad\",\"⦫\"],[\"angmsdae\",\"⦬\"],[\"angmsdaf\",\"⦭\"],[\"angmsdag\",\"⦮\"],[\"angmsdah\",\"⦯\"],[\"angrt\",\"∟\"],[\"angrtvb\",\"⊾\"],[\"angrtvbd\",\"⦝\"],[\"angsph\",\"∢\"],[\"angst\",\"Å\"],[\"angzarr\",\"⍼\"],[\"aogon\",\"ą\"],[\"aopf\",\"𝕒\"],[\"ap\",\"≈\"],[\"apE\",\"⩰\"],[\"apacir\",\"⩯\"],[\"ape\",\"≊\"],[\"apid\",\"≋\"],[\"apos\",\"'\"],[\"approx\",\"≈\"],[\"approxeq\",\"≊\"],[\"aring\",\"å\"],[\"ascr\",\"𝒶\"],[\"ast\",\"*\"],[\"asymp\",\"≈\"],[\"asympeq\",\"≍\"],[\"atilde\",\"ã\"],[\"auml\",\"ä\"],[\"awconint\",\"∳\"],[\"awint\",\"⨑\"],[\"bNot\",\"⫭\"],[\"backcong\",\"≌\"],[\"backepsilon\",\"϶\"],[\"backprime\",\"‵\"],[\"backsim\",\"∽\"],[\"backsimeq\",\"⋍\"],[\"barvee\",\"⊽\"],[\"barwed\",\"⌅\"],[\"barwedge\",\"⌅\"],[\"bbrk\",\"⎵\"],[\"bbrktbrk\",\"⎶\"],[\"bcong\",\"≌\"],[\"bcy\",\"б\"],[\"bdquo\",\"„\"],[\"becaus\",\"∵\"],[\"because\",\"∵\"],[\"bemptyv\",\"⦰\"],[\"bepsi\",\"϶\"],[\"bernou\",\"ℬ\"],[\"beta\",\"β\"],[\"beth\",\"ℶ\"],[\"between\",\"≬\"],[\"bfr\",\"𝔟\"],[\"bigcap\",\"⋂\"],[\"bigcirc\",\"◯\"],[\"bigcup\",\"⋃\"],[\"bigodot\",\"⨀\"],[\"bigoplus\",\"⨁\"],[\"bigotimes\",\"⨂\"],[\"bigsqcup\",\"⨆\"],[\"bigstar\",\"★\"],[\"bigtriangledown\",\"▽\"],[\"bigtriangleup\",\"△\"],[\"biguplus\",\"⨄\"],[\"bigvee\",\"⋁\"],[\"bigwedge\",\"⋀\"],[\"bkarow\",\"⤍\"],[\"blacklozenge\",\"⧫\"],[\"blacksquare\",\"▪\"],[\"blacktriangle\",\"▴\"],[\"blacktriangledown\",\"▾\"],[\"blacktriangleleft\",\"◂\"],[\"blacktriangleright\",\"▸\"],[\"blank\",\"␣\"],[\"blk12\",\"▒\"],[\"blk14\",\"░\"],[\"blk34\",\"▓\"],[\"block\",\"█\"],[\"bne\",\"=⃥\"],[\"bnequiv\",\"≡⃥\"],[\"bnot\",\"⌐\"],[\"bopf\",\"𝕓\"],[\"bot\",\"⊥\"],[\"bottom\",\"⊥\"],[\"bowtie\",\"⋈\"],[\"boxDL\",\"╗\"],[\"boxDR\",\"╔\"],[\"boxDl\",\"╖\"],[\"boxDr\",\"╓\"],[\"boxH\",\"═\"],[\"boxHD\",\"╦\"],[\"boxHU\",\"╩\"],[\"boxHd\",\"╤\"],[\"boxHu\",\"╧\"],[\"boxUL\",\"╝\"],[\"boxUR\",\"╚\"],[\"boxUl\",\"╜\"],[\"boxUr\",\"╙\"],[\"boxV\",\"║\"],[\"boxVH\",\"╬\"],[\"boxVL\",\"╣\"],[\"boxVR\",\"╠\"],[\"boxVh\",\"╫\"],[\"boxVl\",\"╢\"],[\"boxVr\",\"╟\"],[\"boxbox\",\"⧉\"],[\"boxdL\",\"╕\"],[\"boxdR\",\"╒\"],[\"boxdl\",\"┐\"],[\"boxdr\",\"┌\"],[\"boxh\",\"─\"],[\"boxhD\",\"╥\"],[\"boxhU\",\"╨\"],[\"boxhd\",\"┬\"],[\"boxhu\",\"┴\"],[\"boxminus\",\"⊟\"],[\"boxplus\",\"⊞\"],[\"boxtimes\",\"⊠\"],[\"boxuL\",\"╛\"],[\"boxuR\",\"╘\"],[\"boxul\",\"┘\"],[\"boxur\",\"└\"],[\"boxv\",\"│\"],[\"boxvH\",\"╪\"],[\"boxvL\",\"╡\"],[\"boxvR\",\"╞\"],[\"boxvh\",\"┼\"],[\"boxvl\",\"┤\"],[\"boxvr\",\"├\"],[\"bprime\",\"‵\"],[\"breve\",\"˘\"],[\"brvbar\",\"¦\"],[\"bscr\",\"𝒷\"],[\"bsemi\",\"⁏\"],[\"bsim\",\"∽\"],[\"bsime\",\"⋍\"],[\"bsol\",\"\\\\\"],[\"bsolb\",\"⧅\"],[\"bsolhsub\",\"⟈\"],[\"bull\",\"•\"],[\"bullet\",\"•\"],[\"bump\",\"≎\"],[\"bumpE\",\"⪮\"],[\"bumpe\",\"≏\"],[\"bumpeq\",\"≏\"],[\"cacute\",\"ć\"],[\"cap\",\"∩\"],[\"capand\",\"⩄\"],[\"capbrcup\",\"⩉\"],[\"capcap\",\"⩋\"],[\"capcup\",\"⩇\"],[\"capdot\",\"⩀\"],[\"caps\",\"∩︀\"],[\"caret\",\"⁁\"],[\"caron\",\"ˇ\"],[\"ccaps\",\"⩍\"],[\"ccaron\",\"č\"],[\"ccedil\",\"ç\"],[\"ccirc\",\"ĉ\"],[\"ccups\",\"⩌\"],[\"ccupssm\",\"⩐\"],[\"cdot\",\"ċ\"],[\"cedil\",\"¸\"],[\"cemptyv\",\"⦲\"],[\"cent\",\"¢\"],[\"centerdot\",\"·\"],[\"cfr\",\"𝔠\"],[\"chcy\",\"ч\"],[\"check\",\"✓\"],[\"checkmark\",\"✓\"],[\"chi\",\"χ\"],[\"cir\",\"○\"],[\"cirE\",\"⧃\"],[\"circ\",\"ˆ\"],[\"circeq\",\"≗\"],[\"circlearrowleft\",\"↺\"],[\"circlearrowright\",\"↻\"],[\"circledR\",\"®\"],[\"circledS\",\"Ⓢ\"],[\"circledast\",\"⊛\"],[\"circledcirc\",\"⊚\"],[\"circleddash\",\"⊝\"],[\"cire\",\"≗\"],[\"cirfnint\",\"⨐\"],[\"cirmid\",\"⫯\"],[\"cirscir\",\"⧂\"],[\"clubs\",\"♣\"],[\"clubsuit\",\"♣\"],[\"colon\",\":\"],[\"colone\",\"≔\"],[\"coloneq\",\"≔\"],[\"comma\",\",\"],[\"commat\",\"@\"],[\"comp\",\"∁\"],[\"compfn\",\"∘\"],[\"complement\",\"∁\"],[\"complexes\",\"ℂ\"],[\"cong\",\"≅\"],[\"congdot\",\"⩭\"],[\"conint\",\"∮\"],[\"copf\",\"𝕔\"],[\"coprod\",\"∐\"],[\"copy\",\"©\"],[\"copysr\",\"℗\"],[\"crarr\",\"↵\"],[\"cross\",\"✗\"],[\"cscr\",\"𝒸\"],[\"csub\",\"⫏\"],[\"csube\",\"⫑\"],[\"csup\",\"⫐\"],[\"csupe\",\"⫒\"],[\"ctdot\",\"⋯\"],[\"cudarrl\",\"⤸\"],[\"cudarrr\",\"⤵\"],[\"cuepr\",\"⋞\"],[\"cuesc\",\"⋟\"],[\"cularr\",\"↶\"],[\"cularrp\",\"⤽\"],[\"cup\",\"∪\"],[\"cupbrcap\",\"⩈\"],[\"cupcap\",\"⩆\"],[\"cupcup\",\"⩊\"],[\"cupdot\",\"⊍\"],[\"cupor\",\"⩅\"],[\"cups\",\"∪︀\"],[\"curarr\",\"↷\"],[\"curarrm\",\"⤼\"],[\"curlyeqprec\",\"⋞\"],[\"curlyeqsucc\",\"⋟\"],[\"curlyvee\",\"⋎\"],[\"curlywedge\",\"⋏\"],[\"curren\",\"¤\"],[\"curvearrowleft\",\"↶\"],[\"curvearrowright\",\"↷\"],[\"cuvee\",\"⋎\"],[\"cuwed\",\"⋏\"],[\"cwconint\",\"∲\"],[\"cwint\",\"∱\"],[\"cylcty\",\"⌭\"],[\"dArr\",\"⇓\"],[\"dHar\",\"⥥\"],[\"dagger\",\"†\"],[\"daleth\",\"ℸ\"],[\"darr\",\"↓\"],[\"dash\",\"‐\"],[\"dashv\",\"⊣\"],[\"dbkarow\",\"⤏\"],[\"dblac\",\"˝\"],[\"dcaron\",\"ď\"],[\"dcy\",\"д\"],[\"dd\",\"ⅆ\"],[\"ddagger\",\"‡\"],[\"ddarr\",\"⇊\"],[\"ddotseq\",\"⩷\"],[\"deg\",\"°\"],[\"delta\",\"δ\"],[\"demptyv\",\"⦱\"],[\"dfisht\",\"⥿\"],[\"dfr\",\"𝔡\"],[\"dharl\",\"⇃\"],[\"dharr\",\"⇂\"],[\"diam\",\"⋄\"],[\"diamond\",\"⋄\"],[\"diamondsuit\",\"♦\"],[\"diams\",\"♦\"],[\"die\",\"¨\"],[\"digamma\",\"ϝ\"],[\"disin\",\"⋲\"],[\"div\",\"÷\"],[\"divide\",\"÷\"],[\"divideontimes\",\"⋇\"],[\"divonx\",\"⋇\"],[\"djcy\",\"ђ\"],[\"dlcorn\",\"⌞\"],[\"dlcrop\",\"⌍\"],[\"dollar\",\"$\"],[\"dopf\",\"𝕕\"],[\"dot\",\"˙\"],[\"doteq\",\"≐\"],[\"doteqdot\",\"≑\"],[\"dotminus\",\"∸\"],[\"dotplus\",\"∔\"],[\"dotsquare\",\"⊡\"],[\"doublebarwedge\",\"⌆\"],[\"downarrow\",\"↓\"],[\"downdownarrows\",\"⇊\"],[\"downharpoonleft\",\"⇃\"],[\"downharpoonright\",\"⇂\"],[\"drbkarow\",\"⤐\"],[\"drcorn\",\"⌟\"],[\"drcrop\",\"⌌\"],[\"dscr\",\"𝒹\"],[\"dscy\",\"ѕ\"],[\"dsol\",\"⧶\"],[\"dstrok\",\"đ\"],[\"dtdot\",\"⋱\"],[\"dtri\",\"▿\"],[\"dtrif\",\"▾\"],[\"duarr\",\"⇵\"],[\"duhar\",\"⥯\"],[\"dwangle\",\"⦦\"],[\"dzcy\",\"џ\"],[\"dzigrarr\",\"⟿\"],[\"eDDot\",\"⩷\"],[\"eDot\",\"≑\"],[\"eacute\",\"é\"],[\"easter\",\"⩮\"],[\"ecaron\",\"ě\"],[\"ecir\",\"≖\"],[\"ecirc\",\"ê\"],[\"ecolon\",\"≕\"],[\"ecy\",\"э\"],[\"edot\",\"ė\"],[\"ee\",\"ⅇ\"],[\"efDot\",\"≒\"],[\"efr\",\"𝔢\"],[\"eg\",\"⪚\"],[\"egrave\",\"è\"],[\"egs\",\"⪖\"],[\"egsdot\",\"⪘\"],[\"el\",\"⪙\"],[\"elinters\",\"⏧\"],[\"ell\",\"ℓ\"],[\"els\",\"⪕\"],[\"elsdot\",\"⪗\"],[\"emacr\",\"ē\"],[\"empty\",\"∅\"],[\"emptyset\",\"∅\"],[\"emptyv\",\"∅\"],[\"emsp\",\" \"],[\"emsp13\",\" \"],[\"emsp14\",\" \"],[\"eng\",\"ŋ\"],[\"ensp\",\" \"],[\"eogon\",\"ę\"],[\"eopf\",\"𝕖\"],[\"epar\",\"⋕\"],[\"eparsl\",\"⧣\"],[\"eplus\",\"⩱\"],[\"epsi\",\"ε\"],[\"epsilon\",\"ε\"],[\"epsiv\",\"ϵ\"],[\"eqcirc\",\"≖\"],[\"eqcolon\",\"≕\"],[\"eqsim\",\"≂\"],[\"eqslantgtr\",\"⪖\"],[\"eqslantless\",\"⪕\"],[\"equals\",\"=\"],[\"equest\",\"≟\"],[\"equiv\",\"≡\"],[\"equivDD\",\"⩸\"],[\"eqvparsl\",\"⧥\"],[\"erDot\",\"≓\"],[\"erarr\",\"⥱\"],[\"escr\",\"ℯ\"],[\"esdot\",\"≐\"],[\"esim\",\"≂\"],[\"eta\",\"η\"],[\"eth\",\"ð\"],[\"euml\",\"ë\"],[\"euro\",\"€\"],[\"excl\",\"!\"],[\"exist\",\"∃\"],[\"expectation\",\"ℰ\"],[\"exponentiale\",\"ⅇ\"],[\"fallingdotseq\",\"≒\"],[\"fcy\",\"ф\"],[\"female\",\"♀\"],[\"ffilig\",\"ffi\"],[\"fflig\",\"ff\"],[\"ffllig\",\"ffl\"],[\"ffr\",\"𝔣\"],[\"filig\",\"fi\"],[\"fjlig\",\"fj\"],[\"flat\",\"♭\"],[\"fllig\",\"fl\"],[\"fltns\",\"▱\"],[\"fnof\",\"ƒ\"],[\"fopf\",\"𝕗\"],[\"forall\",\"∀\"],[\"fork\",\"⋔\"],[\"forkv\",\"⫙\"],[\"fpartint\",\"⨍\"],[\"frac12\",\"½\"],[\"frac13\",\"⅓\"],[\"frac14\",\"¼\"],[\"frac15\",\"⅕\"],[\"frac16\",\"⅙\"],[\"frac18\",\"⅛\"],[\"frac23\",\"⅔\"],[\"frac25\",\"⅖\"],[\"frac34\",\"¾\"],[\"frac35\",\"⅗\"],[\"frac38\",\"⅜\"],[\"frac45\",\"⅘\"],[\"frac56\",\"⅚\"],[\"frac58\",\"⅝\"],[\"frac78\",\"⅞\"],[\"frasl\",\"⁄\"],[\"frown\",\"⌢\"],[\"fscr\",\"𝒻\"],[\"gE\",\"≧\"],[\"gEl\",\"⪌\"],[\"gacute\",\"ǵ\"],[\"gamma\",\"γ\"],[\"gammad\",\"ϝ\"],[\"gap\",\"⪆\"],[\"gbreve\",\"ğ\"],[\"gcirc\",\"ĝ\"],[\"gcy\",\"г\"],[\"gdot\",\"ġ\"],[\"ge\",\"≥\"],[\"gel\",\"⋛\"],[\"geq\",\"≥\"],[\"geqq\",\"≧\"],[\"geqslant\",\"⩾\"],[\"ges\",\"⩾\"],[\"gescc\",\"⪩\"],[\"gesdot\",\"⪀\"],[\"gesdoto\",\"⪂\"],[\"gesdotol\",\"⪄\"],[\"gesl\",\"⋛︀\"],[\"gesles\",\"⪔\"],[\"gfr\",\"𝔤\"],[\"gg\",\"≫\"],[\"ggg\",\"⋙\"],[\"gimel\",\"ℷ\"],[\"gjcy\",\"ѓ\"],[\"gl\",\"≷\"],[\"glE\",\"⪒\"],[\"gla\",\"⪥\"],[\"glj\",\"⪤\"],[\"gnE\",\"≩\"],[\"gnap\",\"⪊\"],[\"gnapprox\",\"⪊\"],[\"gne\",\"⪈\"],[\"gneq\",\"⪈\"],[\"gneqq\",\"≩\"],[\"gnsim\",\"⋧\"],[\"gopf\",\"𝕘\"],[\"grave\",\"`\"],[\"gscr\",\"ℊ\"],[\"gsim\",\"≳\"],[\"gsime\",\"⪎\"],[\"gsiml\",\"⪐\"],[\"gt\",\">\"],[\"gtcc\",\"⪧\"],[\"gtcir\",\"⩺\"],[\"gtdot\",\"⋗\"],[\"gtlPar\",\"⦕\"],[\"gtquest\",\"⩼\"],[\"gtrapprox\",\"⪆\"],[\"gtrarr\",\"⥸\"],[\"gtrdot\",\"⋗\"],[\"gtreqless\",\"⋛\"],[\"gtreqqless\",\"⪌\"],[\"gtrless\",\"≷\"],[\"gtrsim\",\"≳\"],[\"gvertneqq\",\"≩︀\"],[\"gvnE\",\"≩︀\"],[\"hArr\",\"⇔\"],[\"hairsp\",\" \"],[\"half\",\"½\"],[\"hamilt\",\"ℋ\"],[\"hardcy\",\"ъ\"],[\"harr\",\"↔\"],[\"harrcir\",\"⥈\"],[\"harrw\",\"↭\"],[\"hbar\",\"ℏ\"],[\"hcirc\",\"ĥ\"],[\"hearts\",\"♥\"],[\"heartsuit\",\"♥\"],[\"hellip\",\"…\"],[\"hercon\",\"⊹\"],[\"hfr\",\"𝔥\"],[\"hksearow\",\"⤥\"],[\"hkswarow\",\"⤦\"],[\"hoarr\",\"⇿\"],[\"homtht\",\"∻\"],[\"hookleftarrow\",\"↩\"],[\"hookrightarrow\",\"↪\"],[\"hopf\",\"𝕙\"],[\"horbar\",\"―\"],[\"hscr\",\"𝒽\"],[\"hslash\",\"ℏ\"],[\"hstrok\",\"ħ\"],[\"hybull\",\"⁃\"],[\"hyphen\",\"‐\"],[\"iacute\",\"í\"],[\"ic\",\"⁣\"],[\"icirc\",\"î\"],[\"icy\",\"и\"],[\"iecy\",\"е\"],[\"iexcl\",\"¡\"],[\"iff\",\"⇔\"],[\"ifr\",\"𝔦\"],[\"igrave\",\"ì\"],[\"ii\",\"ⅈ\"],[\"iiiint\",\"⨌\"],[\"iiint\",\"∭\"],[\"iinfin\",\"⧜\"],[\"iiota\",\"℩\"],[\"ijlig\",\"ij\"],[\"imacr\",\"ī\"],[\"image\",\"ℑ\"],[\"imagline\",\"ℐ\"],[\"imagpart\",\"ℑ\"],[\"imath\",\"ı\"],[\"imof\",\"⊷\"],[\"imped\",\"Ƶ\"],[\"in\",\"∈\"],[\"incare\",\"℅\"],[\"infin\",\"∞\"],[\"infintie\",\"⧝\"],[\"inodot\",\"ı\"],[\"int\",\"∫\"],[\"intcal\",\"⊺\"],[\"integers\",\"ℤ\"],[\"intercal\",\"⊺\"],[\"intlarhk\",\"⨗\"],[\"intprod\",\"⨼\"],[\"iocy\",\"ё\"],[\"iogon\",\"į\"],[\"iopf\",\"𝕚\"],[\"iota\",\"ι\"],[\"iprod\",\"⨼\"],[\"iquest\",\"¿\"],[\"iscr\",\"𝒾\"],[\"isin\",\"∈\"],[\"isinE\",\"⋹\"],[\"isindot\",\"⋵\"],[\"isins\",\"⋴\"],[\"isinsv\",\"⋳\"],[\"isinv\",\"∈\"],[\"it\",\"⁢\"],[\"itilde\",\"ĩ\"],[\"iukcy\",\"і\"],[\"iuml\",\"ï\"],[\"jcirc\",\"ĵ\"],[\"jcy\",\"й\"],[\"jfr\",\"𝔧\"],[\"jmath\",\"ȷ\"],[\"jopf\",\"𝕛\"],[\"jscr\",\"𝒿\"],[\"jsercy\",\"ј\"],[\"jukcy\",\"є\"],[\"kappa\",\"κ\"],[\"kappav\",\"ϰ\"],[\"kcedil\",\"ķ\"],[\"kcy\",\"к\"],[\"kfr\",\"𝔨\"],[\"kgreen\",\"ĸ\"],[\"khcy\",\"х\"],[\"kjcy\",\"ќ\"],[\"kopf\",\"𝕜\"],[\"kscr\",\"𝓀\"],[\"lAarr\",\"⇚\"],[\"lArr\",\"⇐\"],[\"lAtail\",\"⤛\"],[\"lBarr\",\"⤎\"],[\"lE\",\"≦\"],[\"lEg\",\"⪋\"],[\"lHar\",\"⥢\"],[\"lacute\",\"ĺ\"],[\"laemptyv\",\"⦴\"],[\"lagran\",\"ℒ\"],[\"lambda\",\"λ\"],[\"lang\",\"⟨\"],[\"langd\",\"⦑\"],[\"langle\",\"⟨\"],[\"lap\",\"⪅\"],[\"laquo\",\"«\"],[\"larr\",\"←\"],[\"larrb\",\"⇤\"],[\"larrbfs\",\"⤟\"],[\"larrfs\",\"⤝\"],[\"larrhk\",\"↩\"],[\"larrlp\",\"↫\"],[\"larrpl\",\"⤹\"],[\"larrsim\",\"⥳\"],[\"larrtl\",\"↢\"],[\"lat\",\"⪫\"],[\"latail\",\"⤙\"],[\"late\",\"⪭\"],[\"lates\",\"⪭︀\"],[\"lbarr\",\"⤌\"],[\"lbbrk\",\"❲\"],[\"lbrace\",\"{\"],[\"lbrack\",\"[\"],[\"lbrke\",\"⦋\"],[\"lbrksld\",\"⦏\"],[\"lbrkslu\",\"⦍\"],[\"lcaron\",\"ľ\"],[\"lcedil\",\"ļ\"],[\"lceil\",\"⌈\"],[\"lcub\",\"{\"],[\"lcy\",\"л\"],[\"ldca\",\"⤶\"],[\"ldquo\",\"“\"],[\"ldquor\",\"„\"],[\"ldrdhar\",\"⥧\"],[\"ldrushar\",\"⥋\"],[\"ldsh\",\"↲\"],[\"le\",\"≤\"],[\"leftarrow\",\"←\"],[\"leftarrowtail\",\"↢\"],[\"leftharpoondown\",\"↽\"],[\"leftharpoonup\",\"↼\"],[\"leftleftarrows\",\"⇇\"],[\"leftrightarrow\",\"↔\"],[\"leftrightarrows\",\"⇆\"],[\"leftrightharpoons\",\"⇋\"],[\"leftrightsquigarrow\",\"↭\"],[\"leftthreetimes\",\"⋋\"],[\"leg\",\"⋚\"],[\"leq\",\"≤\"],[\"leqq\",\"≦\"],[\"leqslant\",\"⩽\"],[\"les\",\"⩽\"],[\"lescc\",\"⪨\"],[\"lesdot\",\"⩿\"],[\"lesdoto\",\"⪁\"],[\"lesdotor\",\"⪃\"],[\"lesg\",\"⋚︀\"],[\"lesges\",\"⪓\"],[\"lessapprox\",\"⪅\"],[\"lessdot\",\"⋖\"],[\"lesseqgtr\",\"⋚\"],[\"lesseqqgtr\",\"⪋\"],[\"lessgtr\",\"≶\"],[\"lesssim\",\"≲\"],[\"lfisht\",\"⥼\"],[\"lfloor\",\"⌊\"],[\"lfr\",\"𝔩\"],[\"lg\",\"≶\"],[\"lgE\",\"⪑\"],[\"lhard\",\"↽\"],[\"lharu\",\"↼\"],[\"lharul\",\"⥪\"],[\"lhblk\",\"▄\"],[\"ljcy\",\"љ\"],[\"ll\",\"≪\"],[\"llarr\",\"⇇\"],[\"llcorner\",\"⌞\"],[\"llhard\",\"⥫\"],[\"lltri\",\"◺\"],[\"lmidot\",\"ŀ\"],[\"lmoust\",\"⎰\"],[\"lmoustache\",\"⎰\"],[\"lnE\",\"≨\"],[\"lnap\",\"⪉\"],[\"lnapprox\",\"⪉\"],[\"lne\",\"⪇\"],[\"lneq\",\"⪇\"],[\"lneqq\",\"≨\"],[\"lnsim\",\"⋦\"],[\"loang\",\"⟬\"],[\"loarr\",\"⇽\"],[\"lobrk\",\"⟦\"],[\"longleftarrow\",\"⟵\"],[\"longleftrightarrow\",\"⟷\"],[\"longmapsto\",\"⟼\"],[\"longrightarrow\",\"⟶\"],[\"looparrowleft\",\"↫\"],[\"looparrowright\",\"↬\"],[\"lopar\",\"⦅\"],[\"lopf\",\"𝕝\"],[\"loplus\",\"⨭\"],[\"lotimes\",\"⨴\"],[\"lowast\",\"∗\"],[\"lowbar\",\"_\"],[\"loz\",\"◊\"],[\"lozenge\",\"◊\"],[\"lozf\",\"⧫\"],[\"lpar\",\"(\"],[\"lparlt\",\"⦓\"],[\"lrarr\",\"⇆\"],[\"lrcorner\",\"⌟\"],[\"lrhar\",\"⇋\"],[\"lrhard\",\"⥭\"],[\"lrm\",\"‎\"],[\"lrtri\",\"⊿\"],[\"lsaquo\",\"‹\"],[\"lscr\",\"𝓁\"],[\"lsh\",\"↰\"],[\"lsim\",\"≲\"],[\"lsime\",\"⪍\"],[\"lsimg\",\"⪏\"],[\"lsqb\",\"[\"],[\"lsquo\",\"‘\"],[\"lsquor\",\"‚\"],[\"lstrok\",\"ł\"],[\"lt\",\"<\"],[\"ltcc\",\"⪦\"],[\"ltcir\",\"⩹\"],[\"ltdot\",\"⋖\"],[\"lthree\",\"⋋\"],[\"ltimes\",\"⋉\"],[\"ltlarr\",\"⥶\"],[\"ltquest\",\"⩻\"],[\"ltrPar\",\"⦖\"],[\"ltri\",\"◃\"],[\"ltrie\",\"⊴\"],[\"ltrif\",\"◂\"],[\"lurdshar\",\"⥊\"],[\"luruhar\",\"⥦\"],[\"lvertneqq\",\"≨︀\"],[\"lvnE\",\"≨︀\"],[\"mDDot\",\"∺\"],[\"macr\",\"¯\"],[\"male\",\"♂\"],[\"malt\",\"✠\"],[\"maltese\",\"✠\"],[\"map\",\"↦\"],[\"mapsto\",\"↦\"],[\"mapstodown\",\"↧\"],[\"mapstoleft\",\"↤\"],[\"mapstoup\",\"↥\"],[\"marker\",\"▮\"],[\"mcomma\",\"⨩\"],[\"mcy\",\"м\"],[\"mdash\",\"—\"],[\"measuredangle\",\"∡\"],[\"mfr\",\"𝔪\"],[\"mho\",\"℧\"],[\"micro\",\"µ\"],[\"mid\",\"∣\"],[\"midast\",\"*\"],[\"midcir\",\"⫰\"],[\"middot\",\"·\"],[\"minus\",\"−\"],[\"minusb\",\"⊟\"],[\"minusd\",\"∸\"],[\"minusdu\",\"⨪\"],[\"mlcp\",\"⫛\"],[\"mldr\",\"…\"],[\"mnplus\",\"∓\"],[\"models\",\"⊧\"],[\"mopf\",\"𝕞\"],[\"mp\",\"∓\"],[\"mscr\",\"𝓂\"],[\"mstpos\",\"∾\"],[\"mu\",\"μ\"],[\"multimap\",\"⊸\"],[\"mumap\",\"⊸\"],[\"nGg\",\"⋙̸\"],[\"nGt\",\"≫⃒\"],[\"nGtv\",\"≫̸\"],[\"nLeftarrow\",\"⇍\"],[\"nLeftrightarrow\",\"⇎\"],[\"nLl\",\"⋘̸\"],[\"nLt\",\"≪⃒\"],[\"nLtv\",\"≪̸\"],[\"nRightarrow\",\"⇏\"],[\"nVDash\",\"⊯\"],[\"nVdash\",\"⊮\"],[\"nabla\",\"∇\"],[\"nacute\",\"ń\"],[\"nang\",\"∠⃒\"],[\"nap\",\"≉\"],[\"napE\",\"⩰̸\"],[\"napid\",\"≋̸\"],[\"napos\",\"ʼn\"],[\"napprox\",\"≉\"],[\"natur\",\"♮\"],[\"natural\",\"♮\"],[\"naturals\",\"ℕ\"],[\"nbsp\",\"\xA0\"],[\"nbump\",\"≎̸\"],[\"nbumpe\",\"≏̸\"],[\"ncap\",\"⩃\"],[\"ncaron\",\"ň\"],[\"ncedil\",\"ņ\"],[\"ncong\",\"≇\"],[\"ncongdot\",\"⩭̸\"],[\"ncup\",\"⩂\"],[\"ncy\",\"н\"],[\"ndash\",\"–\"],[\"ne\",\"≠\"],[\"neArr\",\"⇗\"],[\"nearhk\",\"⤤\"],[\"nearr\",\"↗\"],[\"nearrow\",\"↗\"],[\"nedot\",\"≐̸\"],[\"nequiv\",\"≢\"],[\"nesear\",\"⤨\"],[\"nesim\",\"≂̸\"],[\"nexist\",\"∄\"],[\"nexists\",\"∄\"],[\"nfr\",\"𝔫\"],[\"ngE\",\"≧̸\"],[\"nge\",\"≱\"],[\"ngeq\",\"≱\"],[\"ngeqq\",\"≧̸\"],[\"ngeqslant\",\"⩾̸\"],[\"nges\",\"⩾̸\"],[\"ngsim\",\"≵\"],[\"ngt\",\"≯\"],[\"ngtr\",\"≯\"],[\"nhArr\",\"⇎\"],[\"nharr\",\"↮\"],[\"nhpar\",\"⫲\"],[\"ni\",\"∋\"],[\"nis\",\"⋼\"],[\"nisd\",\"⋺\"],[\"niv\",\"∋\"],[\"njcy\",\"њ\"],[\"nlArr\",\"⇍\"],[\"nlE\",\"≦̸\"],[\"nlarr\",\"↚\"],[\"nldr\",\"‥\"],[\"nle\",\"≰\"],[\"nleftarrow\",\"↚\"],[\"nleftrightarrow\",\"↮\"],[\"nleq\",\"≰\"],[\"nleqq\",\"≦̸\"],[\"nleqslant\",\"⩽̸\"],[\"nles\",\"⩽̸\"],[\"nless\",\"≮\"],[\"nlsim\",\"≴\"],[\"nlt\",\"≮\"],[\"nltri\",\"⋪\"],[\"nltrie\",\"⋬\"],[\"nmid\",\"∤\"],[\"nopf\",\"𝕟\"],[\"not\",\"¬\"],[\"notin\",\"∉\"],[\"notinE\",\"⋹̸\"],[\"notindot\",\"⋵̸\"],[\"notinva\",\"∉\"],[\"notinvb\",\"⋷\"],[\"notinvc\",\"⋶\"],[\"notni\",\"∌\"],[\"notniva\",\"∌\"],[\"notnivb\",\"⋾\"],[\"notnivc\",\"⋽\"],[\"npar\",\"∦\"],[\"nparallel\",\"∦\"],[\"nparsl\",\"⫽⃥\"],[\"npart\",\"∂̸\"],[\"npolint\",\"⨔\"],[\"npr\",\"⊀\"],[\"nprcue\",\"⋠\"],[\"npre\",\"⪯̸\"],[\"nprec\",\"⊀\"],[\"npreceq\",\"⪯̸\"],[\"nrArr\",\"⇏\"],[\"nrarr\",\"↛\"],[\"nrarrc\",\"⤳̸\"],[\"nrarrw\",\"↝̸\"],[\"nrightarrow\",\"↛\"],[\"nrtri\",\"⋫\"],[\"nrtrie\",\"⋭\"],[\"nsc\",\"⊁\"],[\"nsccue\",\"⋡\"],[\"nsce\",\"⪰̸\"],[\"nscr\",\"𝓃\"],[\"nshortmid\",\"∤\"],[\"nshortparallel\",\"∦\"],[\"nsim\",\"≁\"],[\"nsime\",\"≄\"],[\"nsimeq\",\"≄\"],[\"nsmid\",\"∤\"],[\"nspar\",\"∦\"],[\"nsqsube\",\"⋢\"],[\"nsqsupe\",\"⋣\"],[\"nsub\",\"⊄\"],[\"nsubE\",\"⫅̸\"],[\"nsube\",\"⊈\"],[\"nsubset\",\"⊂⃒\"],[\"nsubseteq\",\"⊈\"],[\"nsubseteqq\",\"⫅̸\"],[\"nsucc\",\"⊁\"],[\"nsucceq\",\"⪰̸\"],[\"nsup\",\"⊅\"],[\"nsupE\",\"⫆̸\"],[\"nsupe\",\"⊉\"],[\"nsupset\",\"⊃⃒\"],[\"nsupseteq\",\"⊉\"],[\"nsupseteqq\",\"⫆̸\"],[\"ntgl\",\"≹\"],[\"ntilde\",\"ñ\"],[\"ntlg\",\"≸\"],[\"ntriangleleft\",\"⋪\"],[\"ntrianglelefteq\",\"⋬\"],[\"ntriangleright\",\"⋫\"],[\"ntrianglerighteq\",\"⋭\"],[\"nu\",\"ν\"],[\"num\",\"#\"],[\"numero\",\"№\"],[\"numsp\",\" \"],[\"nvDash\",\"⊭\"],[\"nvHarr\",\"⤄\"],[\"nvap\",\"≍⃒\"],[\"nvdash\",\"⊬\"],[\"nvge\",\"≥⃒\"],[\"nvgt\",\">⃒\"],[\"nvinfin\",\"⧞\"],[\"nvlArr\",\"⤂\"],[\"nvle\",\"≤⃒\"],[\"nvlt\",\"<⃒\"],[\"nvltrie\",\"⊴⃒\"],[\"nvrArr\",\"⤃\"],[\"nvrtrie\",\"⊵⃒\"],[\"nvsim\",\"∼⃒\"],[\"nwArr\",\"⇖\"],[\"nwarhk\",\"⤣\"],[\"nwarr\",\"↖\"],[\"nwarrow\",\"↖\"],[\"nwnear\",\"⤧\"],[\"oS\",\"Ⓢ\"],[\"oacute\",\"ó\"],[\"oast\",\"⊛\"],[\"ocir\",\"⊚\"],[\"ocirc\",\"ô\"],[\"ocy\",\"о\"],[\"odash\",\"⊝\"],[\"odblac\",\"ő\"],[\"odiv\",\"⨸\"],[\"odot\",\"⊙\"],[\"odsold\",\"⦼\"],[\"oelig\",\"œ\"],[\"ofcir\",\"⦿\"],[\"ofr\",\"𝔬\"],[\"ogon\",\"˛\"],[\"ograve\",\"ò\"],[\"ogt\",\"⧁\"],[\"ohbar\",\"⦵\"],[\"ohm\",\"Ω\"],[\"oint\",\"∮\"],[\"olarr\",\"↺\"],[\"olcir\",\"⦾\"],[\"olcross\",\"⦻\"],[\"oline\",\"‾\"],[\"olt\",\"⧀\"],[\"omacr\",\"ō\"],[\"omega\",\"ω\"],[\"omicron\",\"ο\"],[\"omid\",\"⦶\"],[\"ominus\",\"⊖\"],[\"oopf\",\"𝕠\"],[\"opar\",\"⦷\"],[\"operp\",\"⦹\"],[\"oplus\",\"⊕\"],[\"or\",\"∨\"],[\"orarr\",\"↻\"],[\"ord\",\"⩝\"],[\"order\",\"ℴ\"],[\"orderof\",\"ℴ\"],[\"ordf\",\"ª\"],[\"ordm\",\"º\"],[\"origof\",\"⊶\"],[\"oror\",\"⩖\"],[\"orslope\",\"⩗\"],[\"orv\",\"⩛\"],[\"oscr\",\"ℴ\"],[\"oslash\",\"ø\"],[\"osol\",\"⊘\"],[\"otilde\",\"õ\"],[\"otimes\",\"⊗\"],[\"otimesas\",\"⨶\"],[\"ouml\",\"ö\"],[\"ovbar\",\"⌽\"],[\"par\",\"∥\"],[\"para\",\"¶\"],[\"parallel\",\"∥\"],[\"parsim\",\"⫳\"],[\"parsl\",\"⫽\"],[\"part\",\"∂\"],[\"pcy\",\"п\"],[\"percnt\",\"%\"],[\"period\",\".\"],[\"permil\",\"‰\"],[\"perp\",\"⊥\"],[\"pertenk\",\"‱\"],[\"pfr\",\"𝔭\"],[\"phi\",\"φ\"],[\"phiv\",\"ϕ\"],[\"phmmat\",\"ℳ\"],[\"phone\",\"☎\"],[\"pi\",\"π\"],[\"pitchfork\",\"⋔\"],[\"piv\",\"ϖ\"],[\"planck\",\"ℏ\"],[\"planckh\",\"ℎ\"],[\"plankv\",\"ℏ\"],[\"plus\",\"+\"],[\"plusacir\",\"⨣\"],[\"plusb\",\"⊞\"],[\"pluscir\",\"⨢\"],[\"plusdo\",\"∔\"],[\"plusdu\",\"⨥\"],[\"pluse\",\"⩲\"],[\"plusmn\",\"±\"],[\"plussim\",\"⨦\"],[\"plustwo\",\"⨧\"],[\"pm\",\"±\"],[\"pointint\",\"⨕\"],[\"popf\",\"𝕡\"],[\"pound\",\"£\"],[\"pr\",\"≺\"],[\"prE\",\"⪳\"],[\"prap\",\"⪷\"],[\"prcue\",\"≼\"],[\"pre\",\"⪯\"],[\"prec\",\"≺\"],[\"precapprox\",\"⪷\"],[\"preccurlyeq\",\"≼\"],[\"preceq\",\"⪯\"],[\"precnapprox\",\"⪹\"],[\"precneqq\",\"⪵\"],[\"precnsim\",\"⋨\"],[\"precsim\",\"≾\"],[\"prime\",\"′\"],[\"primes\",\"ℙ\"],[\"prnE\",\"⪵\"],[\"prnap\",\"⪹\"],[\"prnsim\",\"⋨\"],[\"prod\",\"∏\"],[\"profalar\",\"⌮\"],[\"profline\",\"⌒\"],[\"profsurf\",\"⌓\"],[\"prop\",\"∝\"],[\"propto\",\"∝\"],[\"prsim\",\"≾\"],[\"prurel\",\"⊰\"],[\"pscr\",\"𝓅\"],[\"psi\",\"ψ\"],[\"puncsp\",\" \"],[\"qfr\",\"𝔮\"],[\"qint\",\"⨌\"],[\"qopf\",\"𝕢\"],[\"qprime\",\"⁗\"],[\"qscr\",\"𝓆\"],[\"quaternions\",\"ℍ\"],[\"quatint\",\"⨖\"],[\"quest\",\"?\"],[\"questeq\",\"≟\"],[\"quot\",\"\\\"\"],[\"rAarr\",\"⇛\"],[\"rArr\",\"⇒\"],[\"rAtail\",\"⤜\"],[\"rBarr\",\"⤏\"],[\"rHar\",\"⥤\"],[\"race\",\"∽̱\"],[\"racute\",\"ŕ\"],[\"radic\",\"√\"],[\"raemptyv\",\"⦳\"],[\"rang\",\"⟩\"],[\"rangd\",\"⦒\"],[\"range\",\"⦥\"],[\"rangle\",\"⟩\"],[\"raquo\",\"»\"],[\"rarr\",\"→\"],[\"rarrap\",\"⥵\"],[\"rarrb\",\"⇥\"],[\"rarrbfs\",\"⤠\"],[\"rarrc\",\"⤳\"],[\"rarrfs\",\"⤞\"],[\"rarrhk\",\"↪\"],[\"rarrlp\",\"↬\"],[\"rarrpl\",\"⥅\"],[\"rarrsim\",\"⥴\"],[\"rarrtl\",\"↣\"],[\"rarrw\",\"↝\"],[\"ratail\",\"⤚\"],[\"ratio\",\"∶\"],[\"rationals\",\"ℚ\"],[\"rbarr\",\"⤍\"],[\"rbbrk\",\"❳\"],[\"rbrace\",\"}\"],[\"rbrack\",\"]\"],[\"rbrke\",\"⦌\"],[\"rbrksld\",\"⦎\"],[\"rbrkslu\",\"⦐\"],[\"rcaron\",\"ř\"],[\"rcedil\",\"ŗ\"],[\"rceil\",\"⌉\"],[\"rcub\",\"}\"],[\"rcy\",\"р\"],[\"rdca\",\"⤷\"],[\"rdldhar\",\"⥩\"],[\"rdquo\",\"”\"],[\"rdquor\",\"”\"],[\"rdsh\",\"↳\"],[\"real\",\"ℜ\"],[\"realine\",\"ℛ\"],[\"realpart\",\"ℜ\"],[\"reals\",\"ℝ\"],[\"rect\",\"▭\"],[\"reg\",\"®\"],[\"rfisht\",\"⥽\"],[\"rfloor\",\"⌋\"],[\"rfr\",\"𝔯\"],[\"rhard\",\"⇁\"],[\"rharu\",\"⇀\"],[\"rharul\",\"⥬\"],[\"rho\",\"ρ\"],[\"rhov\",\"ϱ\"],[\"rightarrow\",\"→\"],[\"rightarrowtail\",\"↣\"],[\"rightharpoondown\",\"⇁\"],[\"rightharpoonup\",\"⇀\"],[\"rightleftarrows\",\"⇄\"],[\"rightleftharpoons\",\"⇌\"],[\"rightrightarrows\",\"⇉\"],[\"rightsquigarrow\",\"↝\"],[\"rightthreetimes\",\"⋌\"],[\"ring\",\"˚\"],[\"risingdotseq\",\"≓\"],[\"rlarr\",\"⇄\"],[\"rlhar\",\"⇌\"],[\"rlm\",\"‏\"],[\"rmoust\",\"⎱\"],[\"rmoustache\",\"⎱\"],[\"rnmid\",\"⫮\"],[\"roang\",\"⟭\"],[\"roarr\",\"⇾\"],[\"robrk\",\"⟧\"],[\"ropar\",\"⦆\"],[\"ropf\",\"𝕣\"],[\"roplus\",\"⨮\"],[\"rotimes\",\"⨵\"],[\"rpar\",\")\"],[\"rpargt\",\"⦔\"],[\"rppolint\",\"⨒\"],[\"rrarr\",\"⇉\"],[\"rsaquo\",\"›\"],[\"rscr\",\"𝓇\"],[\"rsh\",\"↱\"],[\"rsqb\",\"]\"],[\"rsquo\",\"’\"],[\"rsquor\",\"’\"],[\"rthree\",\"⋌\"],[\"rtimes\",\"⋊\"],[\"rtri\",\"▹\"],[\"rtrie\",\"⊵\"],[\"rtrif\",\"▸\"],[\"rtriltri\",\"⧎\"],[\"ruluhar\",\"⥨\"],[\"rx\",\"℞\"],[\"sacute\",\"ś\"],[\"sbquo\",\"‚\"],[\"sc\",\"≻\"],[\"scE\",\"⪴\"],[\"scap\",\"⪸\"],[\"scaron\",\"š\"],[\"sccue\",\"≽\"],[\"sce\",\"⪰\"],[\"scedil\",\"ş\"],[\"scirc\",\"ŝ\"],[\"scnE\",\"⪶\"],[\"scnap\",\"⪺\"],[\"scnsim\",\"⋩\"],[\"scpolint\",\"⨓\"],[\"scsim\",\"≿\"],[\"scy\",\"с\"],[\"sdot\",\"⋅\"],[\"sdotb\",\"⊡\"],[\"sdote\",\"⩦\"],[\"seArr\",\"⇘\"],[\"searhk\",\"⤥\"],[\"searr\",\"↘\"],[\"searrow\",\"↘\"],[\"sect\",\"§\"],[\"semi\",\";\"],[\"seswar\",\"⤩\"],[\"setminus\",\"∖\"],[\"setmn\",\"∖\"],[\"sext\",\"✶\"],[\"sfr\",\"𝔰\"],[\"sfrown\",\"⌢\"],[\"sharp\",\"♯\"],[\"shchcy\",\"щ\"],[\"shcy\",\"ш\"],[\"shortmid\",\"∣\"],[\"shortparallel\",\"∥\"],[\"shy\",\"­\"],[\"sigma\",\"σ\"],[\"sigmaf\",\"ς\"],[\"sigmav\",\"ς\"],[\"sim\",\"∼\"],[\"simdot\",\"⩪\"],[\"sime\",\"≃\"],[\"simeq\",\"≃\"],[\"simg\",\"⪞\"],[\"simgE\",\"⪠\"],[\"siml\",\"⪝\"],[\"simlE\",\"⪟\"],[\"simne\",\"≆\"],[\"simplus\",\"⨤\"],[\"simrarr\",\"⥲\"],[\"slarr\",\"←\"],[\"smallsetminus\",\"∖\"],[\"smashp\",\"⨳\"],[\"smeparsl\",\"⧤\"],[\"smid\",\"∣\"],[\"smile\",\"⌣\"],[\"smt\",\"⪪\"],[\"smte\",\"⪬\"],[\"smtes\",\"⪬︀\"],[\"softcy\",\"ь\"],[\"sol\",\"/\"],[\"solb\",\"⧄\"],[\"solbar\",\"⌿\"],[\"sopf\",\"𝕤\"],[\"spades\",\"♠\"],[\"spadesuit\",\"♠\"],[\"spar\",\"∥\"],[\"sqcap\",\"⊓\"],[\"sqcaps\",\"⊓︀\"],[\"sqcup\",\"⊔\"],[\"sqcups\",\"⊔︀\"],[\"sqsub\",\"⊏\"],[\"sqsube\",\"⊑\"],[\"sqsubset\",\"⊏\"],[\"sqsubseteq\",\"⊑\"],[\"sqsup\",\"⊐\"],[\"sqsupe\",\"⊒\"],[\"sqsupset\",\"⊐\"],[\"sqsupseteq\",\"⊒\"],[\"squ\",\"□\"],[\"square\",\"□\"],[\"squarf\",\"▪\"],[\"squf\",\"▪\"],[\"srarr\",\"→\"],[\"sscr\",\"𝓈\"],[\"ssetmn\",\"∖\"],[\"ssmile\",\"⌣\"],[\"sstarf\",\"⋆\"],[\"star\",\"☆\"],[\"starf\",\"★\"],[\"straightepsilon\",\"ϵ\"],[\"straightphi\",\"ϕ\"],[\"strns\",\"¯\"],[\"sub\",\"⊂\"],[\"subE\",\"⫅\"],[\"subdot\",\"⪽\"],[\"sube\",\"⊆\"],[\"subedot\",\"⫃\"],[\"submult\",\"⫁\"],[\"subnE\",\"⫋\"],[\"subne\",\"⊊\"],[\"subplus\",\"⪿\"],[\"subrarr\",\"⥹\"],[\"subset\",\"⊂\"],[\"subseteq\",\"⊆\"],[\"subseteqq\",\"⫅\"],[\"subsetneq\",\"⊊\"],[\"subsetneqq\",\"⫋\"],[\"subsim\",\"⫇\"],[\"subsub\",\"⫕\"],[\"subsup\",\"⫓\"],[\"succ\",\"≻\"],[\"succapprox\",\"⪸\"],[\"succcurlyeq\",\"≽\"],[\"succeq\",\"⪰\"],[\"succnapprox\",\"⪺\"],[\"succneqq\",\"⪶\"],[\"succnsim\",\"⋩\"],[\"succsim\",\"≿\"],[\"sum\",\"∑\"],[\"sung\",\"♪\"],[\"sup\",\"⊃\"],[\"sup1\",\"¹\"],[\"sup2\",\"²\"],[\"sup3\",\"³\"],[\"supE\",\"⫆\"],[\"supdot\",\"⪾\"],[\"supdsub\",\"⫘\"],[\"supe\",\"⊇\"],[\"supedot\",\"⫄\"],[\"suphsol\",\"⟉\"],[\"suphsub\",\"⫗\"],[\"suplarr\",\"⥻\"],[\"supmult\",\"⫂\"],[\"supnE\",\"⫌\"],[\"supne\",\"⊋\"],[\"supplus\",\"⫀\"],[\"supset\",\"⊃\"],[\"supseteq\",\"⊇\"],[\"supseteqq\",\"⫆\"],[\"supsetneq\",\"⊋\"],[\"supsetneqq\",\"⫌\"],[\"supsim\",\"⫈\"],[\"supsub\",\"⫔\"],[\"supsup\",\"⫖\"],[\"swArr\",\"⇙\"],[\"swarhk\",\"⤦\"],[\"swarr\",\"↙\"],[\"swarrow\",\"↙\"],[\"swnwar\",\"⤪\"],[\"szlig\",\"ß\"],[\"target\",\"⌖\"],[\"tau\",\"τ\"],[\"tbrk\",\"⎴\"],[\"tcaron\",\"ť\"],[\"tcedil\",\"ţ\"],[\"tcy\",\"т\"],[\"tdot\",\"⃛\"],[\"telrec\",\"⌕\"],[\"tfr\",\"𝔱\"],[\"there4\",\"∴\"],[\"therefore\",\"∴\"],[\"theta\",\"θ\"],[\"thetasym\",\"ϑ\"],[\"thetav\",\"ϑ\"],[\"thickapprox\",\"≈\"],[\"thicksim\",\"∼\"],[\"thinsp\",\" \"],[\"thkap\",\"≈\"],[\"thksim\",\"∼\"],[\"thorn\",\"þ\"],[\"tilde\",\"˜\"],[\"times\",\"×\"],[\"timesb\",\"⊠\"],[\"timesbar\",\"⨱\"],[\"timesd\",\"⨰\"],[\"tint\",\"∭\"],[\"toea\",\"⤨\"],[\"top\",\"⊤\"],[\"topbot\",\"⌶\"],[\"topcir\",\"⫱\"],[\"topf\",\"𝕥\"],[\"topfork\",\"⫚\"],[\"tosa\",\"⤩\"],[\"tprime\",\"‴\"],[\"trade\",\"™\"],[\"triangle\",\"▵\"],[\"triangledown\",\"▿\"],[\"triangleleft\",\"◃\"],[\"trianglelefteq\",\"⊴\"],[\"triangleq\",\"≜\"],[\"triangleright\",\"▹\"],[\"trianglerighteq\",\"⊵\"],[\"tridot\",\"◬\"],[\"trie\",\"≜\"],[\"triminus\",\"⨺\"],[\"triplus\",\"⨹\"],[\"trisb\",\"⧍\"],[\"tritime\",\"⨻\"],[\"trpezium\",\"⏢\"],[\"tscr\",\"𝓉\"],[\"tscy\",\"ц\"],[\"tshcy\",\"ћ\"],[\"tstrok\",\"ŧ\"],[\"twixt\",\"≬\"],[\"twoheadleftarrow\",\"↞\"],[\"twoheadrightarrow\",\"↠\"],[\"uArr\",\"⇑\"],[\"uHar\",\"⥣\"],[\"uacute\",\"ú\"],[\"uarr\",\"↑\"],[\"ubrcy\",\"ў\"],[\"ubreve\",\"ŭ\"],[\"ucirc\",\"û\"],[\"ucy\",\"у\"],[\"udarr\",\"⇅\"],[\"udblac\",\"ű\"],[\"udhar\",\"⥮\"],[\"ufisht\",\"⥾\"],[\"ufr\",\"𝔲\"],[\"ugrave\",\"ù\"],[\"uharl\",\"↿\"],[\"uharr\",\"↾\"],[\"uhblk\",\"▀\"],[\"ulcorn\",\"⌜\"],[\"ulcorner\",\"⌜\"],[\"ulcrop\",\"⌏\"],[\"ultri\",\"◸\"],[\"umacr\",\"ū\"],[\"uml\",\"¨\"],[\"uogon\",\"ų\"],[\"uopf\",\"𝕦\"],[\"uparrow\",\"↑\"],[\"updownarrow\",\"↕\"],[\"upharpoonleft\",\"↿\"],[\"upharpoonright\",\"↾\"],[\"uplus\",\"⊎\"],[\"upsi\",\"υ\"],[\"upsih\",\"ϒ\"],[\"upsilon\",\"υ\"],[\"upuparrows\",\"⇈\"],[\"urcorn\",\"⌝\"],[\"urcorner\",\"⌝\"],[\"urcrop\",\"⌎\"],[\"uring\",\"ů\"],[\"urtri\",\"◹\"],[\"uscr\",\"𝓊\"],[\"utdot\",\"⋰\"],[\"utilde\",\"ũ\"],[\"utri\",\"▵\"],[\"utrif\",\"▴\"],[\"uuarr\",\"⇈\"],[\"uuml\",\"ü\"],[\"uwangle\",\"⦧\"],[\"vArr\",\"⇕\"],[\"vBar\",\"⫨\"],[\"vBarv\",\"⫩\"],[\"vDash\",\"⊨\"],[\"vangrt\",\"⦜\"],[\"varepsilon\",\"ϵ\"],[\"varkappa\",\"ϰ\"],[\"varnothing\",\"∅\"],[\"varphi\",\"ϕ\"],[\"varpi\",\"ϖ\"],[\"varpropto\",\"∝\"],[\"varr\",\"↕\"],[\"varrho\",\"ϱ\"],[\"varsigma\",\"ς\"],[\"varsubsetneq\",\"⊊︀\"],[\"varsubsetneqq\",\"⫋︀\"],[\"varsupsetneq\",\"⊋︀\"],[\"varsupsetneqq\",\"⫌︀\"],[\"vartheta\",\"ϑ\"],[\"vartriangleleft\",\"⊲\"],[\"vartriangleright\",\"⊳\"],[\"vcy\",\"в\"],[\"vdash\",\"⊢\"],[\"vee\",\"∨\"],[\"veebar\",\"⊻\"],[\"veeeq\",\"≚\"],[\"vellip\",\"⋮\"],[\"verbar\",\"|\"],[\"vert\",\"|\"],[\"vfr\",\"𝔳\"],[\"vltri\",\"⊲\"],[\"vnsub\",\"⊂⃒\"],[\"vnsup\",\"⊃⃒\"],[\"vopf\",\"𝕧\"],[\"vprop\",\"∝\"],[\"vrtri\",\"⊳\"],[\"vscr\",\"𝓋\"],[\"vsubnE\",\"⫋︀\"],[\"vsubne\",\"⊊︀\"],[\"vsupnE\",\"⫌︀\"],[\"vsupne\",\"⊋︀\"],[\"vzigzag\",\"⦚\"],[\"wcirc\",\"ŵ\"],[\"wedbar\",\"⩟\"],[\"wedge\",\"∧\"],[\"wedgeq\",\"≙\"],[\"weierp\",\"℘\"],[\"wfr\",\"𝔴\"],[\"wopf\",\"𝕨\"],[\"wp\",\"℘\"],[\"wr\",\"≀\"],[\"wreath\",\"≀\"],[\"wscr\",\"𝓌\"],[\"xcap\",\"⋂\"],[\"xcirc\",\"◯\"],[\"xcup\",\"⋃\"],[\"xdtri\",\"▽\"],[\"xfr\",\"𝔵\"],[\"xhArr\",\"⟺\"],[\"xharr\",\"⟷\"],[\"xi\",\"ξ\"],[\"xlArr\",\"⟸\"],[\"xlarr\",\"⟵\"],[\"xmap\",\"⟼\"],[\"xnis\",\"⋻\"],[\"xodot\",\"⨀\"],[\"xopf\",\"𝕩\"],[\"xoplus\",\"⨁\"],[\"xotime\",\"⨂\"],[\"xrArr\",\"⟹\"],[\"xrarr\",\"⟶\"],[\"xscr\",\"𝓍\"],[\"xsqcup\",\"⨆\"],[\"xuplus\",\"⨄\"],[\"xutri\",\"△\"],[\"xvee\",\"⋁\"],[\"xwedge\",\"⋀\"],[\"yacute\",\"ý\"],[\"yacy\",\"я\"],[\"ycirc\",\"ŷ\"],[\"ycy\",\"ы\"],[\"yen\",\"¥\"],[\"yfr\",\"𝔶\"],[\"yicy\",\"ї\"],[\"yopf\",\"𝕪\"],[\"yscr\",\"𝓎\"],[\"yucy\",\"ю\"],[\"yuml\",\"ÿ\"],[\"zacute\",\"ź\"],[\"zcaron\",\"ž\"],[\"zcy\",\"з\"],[\"zdot\",\"ż\"],[\"zeetrf\",\"ℨ\"],[\"zeta\",\"ζ\"],[\"zfr\",\"𝔷\"],[\"zhcy\",\"ж\"],[\"zigrarr\",\"⇝\"],[\"zopf\",\"𝕫\"],[\"zscr\",\"𝓏\"],[\"zwj\",\"‍\"],[\"zwnj\",\"‌\"]]"));
5929
6400
  //#endregion
5930
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/entities.js
6401
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/entities.js
5931
6402
  /** The largest code point Unicode defines. */
5932
6403
  const MAX_CODE_POINT = 1114111;
5933
6404
  /**
@@ -5949,7 +6420,7 @@ const decodeEntity = (entity) => {
5949
6420
  return String.fromCodePoint(code);
5950
6421
  };
5951
6422
  //#endregion
5952
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/unescape.js
6423
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/unescape.js
5953
6424
  /** The punctuation set a backslash may escape, per the spec. */
5954
6425
  const ESCAPABLE$1 = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
5955
6426
  /** One entity, in any of the three spec forms. */
@@ -5963,7 +6434,7 @@ const unescapeChar = (source) => {
5963
6434
  /** Replace every backslash escape and character reference with its literal. */
5964
6435
  const unescapeString = (source) => reBackslashOrAmp.test(source) ? source.replace(reEntityOrEscapedChar, unescapeChar) : source;
5965
6436
  //#endregion
5966
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/code.js
6437
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/code.js
5967
6438
  const reBlankLine = /^[ \t]*$/;
5968
6439
  const reClosingCodeFence = /^(?:`{3,}|~{3,})(?=[ \t]*$)/;
5969
6440
  /**
@@ -6047,7 +6518,7 @@ const codeConstruct = {
6047
6518
  }
6048
6519
  };
6049
6520
  //#endregion
6050
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/document.js
6521
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/document.js
6051
6522
  /** The document root: contains everything except a bare list item. */
6052
6523
  const documentConstruct = {
6053
6524
  type: "document",
@@ -6060,7 +6531,7 @@ const documentConstruct = {
6060
6531
  })
6061
6532
  };
6062
6533
  //#endregion
6063
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/fencedCode.js
6534
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/fencedCode.js
6064
6535
  const reCodeFence = /^`{3,}(?!.*`)|^~{3,}/;
6065
6536
  const fenceCharOf = (char) => char === "`" || char === "~" ? char : void 0;
6066
6537
  /** The fenced-code block start: three or more backticks or tildes. */
@@ -6084,7 +6555,7 @@ const fencedCodeStart = {
6084
6555
  }
6085
6556
  };
6086
6557
  //#endregion
6087
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/patterns.js
6558
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/patterns.js
6088
6559
  const stickyCache = /* @__PURE__ */ new WeakMap();
6089
6560
  const globalCache = /* @__PURE__ */ new WeakMap();
6090
6561
  const clone = (pattern, flag, dropCaret) => {
@@ -6108,7 +6579,7 @@ const globalOf = (pattern) => {
6108
6579
  return made;
6109
6580
  };
6110
6581
  //#endregion
6111
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/references.js
6582
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/references.js
6112
6583
  const ESCAPABLE = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
6113
6584
  const ESCAPED_CHAR = `\\\\${ESCAPABLE}`;
6114
6585
  const reLinkTitle = new RegExp(`^(?:"(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\"\\x00])*"|'(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\'\\x00])*'|\\((${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\()\\x00])*\\))`);
@@ -6282,7 +6753,7 @@ const parseReference = (text) => {
6282
6753
  };
6283
6754
  };
6284
6755
  //#endregion
6285
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/footnoteDefinition.js
6756
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/footnoteDefinition.js
6286
6757
  /**
6287
6758
  * `_scan_footnote_definition` from `src/scanners.re`:
6288
6759
  *
@@ -6359,7 +6830,7 @@ const footnoteDefinitionStart = {
6359
6830
  }
6360
6831
  };
6361
6832
  //#endregion
6362
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/indentedCode.js
6833
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/indentedCode.js
6363
6834
  /** The indented-code block start: four columns of indentation. */
6364
6835
  const indentedCodeStart = {
6365
6836
  name: "indentedCode",
@@ -6373,7 +6844,7 @@ const indentedCodeStart = {
6373
6844
  }
6374
6845
  };
6375
6846
  //#endregion
6376
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/segments.js
6847
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/segments.js
6377
6848
  /**
6378
6849
  * The absolute source offset of `textIndex` within a segmented content run.
6379
6850
  *
@@ -6407,7 +6878,7 @@ const sliceWithSegments = (segments, from, to) => {
6407
6878
  return sliced;
6408
6879
  };
6409
6880
  //#endregion
6410
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/linkReferenceDefinition.js
6881
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/linkReferenceDefinition.js
6411
6882
  const C_OPEN_BRACKET$1 = 91;
6412
6883
  /**
6413
6884
  * Split every leading link reference definition out of `block`, inserting one
@@ -6472,7 +6943,7 @@ const definitionConstruct = {
6472
6943
  }
6473
6944
  };
6474
6945
  //#endregion
6475
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/list.js
6946
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/list.js
6476
6947
  const reBulletListMarker = /^[*+-]/;
6477
6948
  const reOrderedListMarker = /^(\d{1,9})([.)])/;
6478
6949
  const reNonSpace$1 = /[^ \t\f\v\r\n]/;
@@ -6625,7 +7096,7 @@ const listItemStart = {
6625
7096
  }
6626
7097
  };
6627
7098
  //#endregion
6628
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/paragraph.js
7099
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/paragraph.js
6629
7100
  /** Paragraph: absorbs lines until a blank one, and contains nothing. */
6630
7101
  const paragraphConstruct = {
6631
7102
  type: "paragraph",
@@ -6647,7 +7118,7 @@ const paragraphConstruct = {
6647
7118
  }
6648
7119
  };
6649
7120
  //#endregion
6650
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/setextHeading.js
7121
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/setextHeading.js
6651
7122
  const reSetextHeadingLine = /^(?:=+|-+)[ \t]*$/;
6652
7123
  /** The setext heading block start: a run of `=` or `-` under a paragraph. */
6653
7124
  const setextHeadingStart = {
@@ -6667,7 +7138,7 @@ const setextHeadingStart = {
6667
7138
  }
6668
7139
  };
6669
7140
  //#endregion
6670
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/table.js
7141
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/table.js
6671
7142
  /**
6672
7143
  * Upstream's `MAX_AUTOCOMPLETED_CELLS`: the ceiling on cells the parser
6673
7144
  * invents to pad short rows, which is what stops a wide header followed by a
@@ -7038,7 +7509,7 @@ const tableCellConstruct = {
7038
7509
  }
7039
7510
  };
7040
7511
  //#endregion
7041
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/taskListItem.js
7512
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/taskListItem.js
7042
7513
  /**
7043
7514
  * `_scan_tasklist`, as the generated scanner accepts it.
7044
7515
  *
@@ -7072,7 +7543,7 @@ const taskListItemStart = {
7072
7543
  }
7073
7544
  };
7074
7545
  //#endregion
7075
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/thematicBreak.js
7546
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/thematicBreak.js
7076
7547
  const reThematicBreak = /^(?:\*[ \t]*){3,}$|^(?:_[ \t]*){3,}$|^(?:-[ \t]*){3,}$/;
7077
7548
  const markerCharOf$1 = (char) => char === "-" || char === "_" || char === "*" ? char : void 0;
7078
7549
  /** Thematic break: one line, no children. */
@@ -7103,7 +7574,7 @@ const thematicBreakStart = {
7103
7574
  }
7104
7575
  };
7105
7576
  //#endregion
7106
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blockRegistry.js
7577
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blockRegistry.js
7107
7578
  const constructTable = (constructs) => new Map(constructs.map((construct) => [construct.type, construct]));
7108
7579
  const commonmarkDialect$1 = {
7109
7580
  constructs: constructTable([
@@ -7175,7 +7646,7 @@ const blockDialect = (dialect) => {
7175
7646
  return found;
7176
7647
  };
7177
7648
  //#endregion
7178
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/lineIndex.js
7649
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/lineIndex.js
7179
7650
  /**
7180
7651
  * A precomputed index of line-start offsets over a fixed source text,
7181
7652
  * answering `positionAt(offset)` in `O(log n)` via binary search rather than
@@ -7249,7 +7720,7 @@ var LineIndex = class LineIndex {
7249
7720
  }
7250
7721
  };
7251
7722
  //#endregion
7252
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlineNode.js
7723
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlineNode.js
7253
7724
  /** Open a node with no links. */
7254
7725
  const makeInlineNode = (type, start, end, value = "") => ({
7255
7726
  type,
@@ -7301,7 +7772,7 @@ const childrenOf = (node) => {
7301
7772
  return children;
7302
7773
  };
7303
7774
  //#endregion
7304
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/emphasis.js
7775
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/emphasis.js
7305
7776
  const C_ASTERISK$1 = 42;
7306
7777
  const C_UNDERSCORE$1 = 95;
7307
7778
  const rePunctuation = /^[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\p{P}\p{S}]/u;
@@ -7378,7 +7849,7 @@ const emphasisConstruct = {
7378
7849
  parse: (scanner) => handleDelim(scanner, scanner.peek())
7379
7850
  };
7380
7851
  //#endregion
7381
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/strikethrough.js
7852
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/strikethrough.js
7382
7853
  /**
7383
7854
  * Consume a `~` run as literal text and, when it is a viable one- or
7384
7855
  * two-tilde run, push it onto the shared delimiter stack.
@@ -7452,7 +7923,7 @@ const strikethroughConstruct = {
7452
7923
  parse: (scanner) => handleTilde(scanner)
7453
7924
  };
7454
7925
  //#endregion
7455
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/autolink.js
7926
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/autolink.js
7456
7927
  const C_LESSTHAN$1 = 60;
7457
7928
  const reEmailAutolink = /^<([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/;
7458
7929
  const reAutolink = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\0- ]*>/i;
@@ -7484,7 +7955,7 @@ const autolinkConstruct = {
7484
7955
  }
7485
7956
  };
7486
7957
  //#endregion
7487
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/autolinkLiteral.js
7958
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/autolinkLiteral.js
7488
7959
  const C_LOWER_W = 119;
7489
7960
  const C_COLON = 58;
7490
7961
  /** `cmark_isspace`: ASCII only, deliberately — upstream's URL scan uses it. */
@@ -7854,7 +8325,7 @@ const linkifyEmails = (root) => {
7854
8325
  }
7855
8326
  };
7856
8327
  //#endregion
7857
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/codeSpan.js
8328
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/codeSpan.js
7858
8329
  const C_BACKTICK$1 = 96;
7859
8330
  const reTicksHere = /^`+/;
7860
8331
  const reNewline = /\n/gm;
@@ -7882,7 +8353,7 @@ const codeSpanConstruct = {
7882
8353
  }
7883
8354
  };
7884
8355
  //#endregion
7885
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/entity.js
8356
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/entity.js
7886
8357
  const C_AMPERSAND = 38;
7887
8358
  const reEntityHere = new RegExp(`^${ENTITY}`, "i");
7888
8359
  /** A named, decimal or hexadecimal character reference. */
@@ -7898,7 +8369,7 @@ const entityConstruct = {
7898
8369
  }
7899
8370
  };
7900
8371
  //#endregion
7901
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/escape.js
8372
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/escape.js
7902
8373
  const C_BACKSLASH = 92;
7903
8374
  const C_NEWLINE$1 = 10;
7904
8375
  const reEscapable = new RegExp(`^${ESCAPABLE$1}`);
@@ -7927,7 +8398,7 @@ const escapeConstruct = {
7927
8398
  }
7928
8399
  };
7929
8400
  //#endregion
7930
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/link.js
8401
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/link.js
7931
8402
  const C_BANG = 33;
7932
8403
  const C_CARET$1 = 94;
7933
8404
  const C_OPEN_BRACKET = 91;
@@ -8134,7 +8605,7 @@ const makeLinkCloseConstruct = (onNoMatch) => ({
8134
8605
  /** `]` — closes a link or image, or stays literal. The CommonMark spelling. */
8135
8606
  const linkCloseConstruct = makeLinkCloseConstruct();
8136
8607
  //#endregion
8137
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/footnoteReference.js
8608
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/footnoteReference.js
8138
8609
  const C_CARET = 94;
8139
8610
  /**
8140
8611
  * Whether the bracket that just closed looks like `[^...]` with something
@@ -8191,7 +8662,7 @@ const gfmLinkCloseConstruct = makeLinkCloseConstruct(footnoteReferenceFallback);
8191
8662
  */
8192
8663
  const gfmImageOpenConstruct = makeImageOpenConstruct(false);
8193
8664
  //#endregion
8194
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/lineBreak.js
8665
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/lineBreak.js
8195
8666
  const C_NEWLINE = 10;
8196
8667
  const reInitialSpace = /^ */;
8197
8668
  /** A soft or hard line break. */
@@ -8212,7 +8683,7 @@ const lineBreakConstruct = {
8212
8683
  }
8213
8684
  };
8214
8685
  //#endregion
8215
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/rawHtml.js
8686
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/rawHtml.js
8216
8687
  const C_LESSTHAN = 60;
8217
8688
  /** The raw-HTML forms that scan forward for a fixed closing sequence. */
8218
8689
  const UNTERMINATED_FORMS = [
@@ -8234,7 +8705,7 @@ const rawHtmlConstruct = {
8234
8705
  }
8235
8706
  };
8236
8707
  //#endregion
8237
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/text.js
8708
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/text.js
8238
8709
  const reMain = /^[^\n`[\]\\!<&*_'"]+/;
8239
8710
  const reMainGfm = /^[^\n`[\]\\!<&*_'"~w:]+/;
8240
8711
  /** Consume a run of ordinary characters, stopping before any construct's. */
@@ -8254,7 +8725,7 @@ const textConstruct = runConstruct("text", reMain);
8254
8725
  /** Ordinary text under `gfm`, which has three more characters to yield to. */
8255
8726
  const gfmTextConstruct = runConstruct("text", reMainGfm);
8256
8727
  //#endregion
8257
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlineRegistry.js
8728
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlineRegistry.js
8258
8729
  const triggerTable = (constructs) => {
8259
8730
  const table = /* @__PURE__ */ new Map();
8260
8731
  for (const construct of constructs) for (const trigger of construct.triggers) {
@@ -8307,7 +8778,7 @@ const inlineDialect = (dialect) => {
8307
8778
  return found;
8308
8779
  };
8309
8780
  //#endregion
8310
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlineParser.js
8781
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlineParser.js
8311
8782
  const C_UNDERSCORE = 95;
8312
8783
  const C_ASTERISK = 42;
8313
8784
  const reTrailingSpaces = / +$/;
@@ -8701,7 +9172,7 @@ var InlineParser = class {
8701
9172
  */
8702
9173
  const parseInlines = (source, refmap, position, dialect = "commonmark", footnoteLabels = /* @__PURE__ */ new Set()) => new InlineParser(source, inlineDialect(dialect), position, refmap, footnoteLabels).parse();
8703
9174
  //#endregion
8704
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/rawInline.js
9175
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/rawInline.js
8705
9176
  const reWhitespace = /\s/;
8706
9177
  const reCmarkSpace = /[ \t\n\r]/;
8707
9178
  /**
@@ -8756,7 +9227,7 @@ const prepareInline = (block, position, refmap, dialect = "commonmark", footnote
8756
9227
  };
8757
9228
  };
8758
9229
  //#endregion
8759
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blockParser.js
9230
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blockParser.js
8760
9231
  /** Upstream's cheap pre-filter: a line that cannot start any block. */
8761
9232
  const reMaybeSpecial = /^[#`~*+_=<>0-9-]/;
8762
9233
  var BlockParser = class {
@@ -9163,7 +9634,7 @@ var BlockParser = class {
9163
9634
  */
9164
9635
  const parseBlocks = (text, dialect = "commonmark", frontmatter = false) => new BlockParser(text, blockDialect(dialect), dialect, frontmatter).parse();
9165
9636
  //#endregion
9166
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/phrasing.js
9637
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/phrasing.js
9167
9638
  const EMPTY_REFMAP = /* @__PURE__ */ new Map();
9168
9639
  const EMPTY_FOOTNOTE_LABELS = /* @__PURE__ */ new Set();
9169
9640
  /**
@@ -9212,7 +9683,7 @@ const parsePhrasingText = (text, dialect) => {
9212
9683
  }, EMPTY_REFMAP, positionOf, dialect, EMPTY_FOOTNOTE_LABELS);
9213
9684
  };
9214
9685
  //#endregion
9215
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/stringify.js
9686
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/stringify.js
9216
9687
  const FLOW_CONTEXT = {
9217
9688
  singleLine: false,
9218
9689
  inTable: false,
@@ -9908,7 +10379,7 @@ const stringifyTree = (root) => {
9908
10379
  return body === "" ? "" : `${body}\n`;
9909
10380
  };
9910
10381
  //#endregion
9911
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/Markdown.js
10382
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/Markdown.js
9912
10383
  /**
9913
10384
  * The markdown dialects the parser can be pointed at. `"gfm"` — CommonMark
9914
10385
  * 0.31.2 plus the GitHub extensions (tables, strikethrough, autolink
@@ -10272,7 +10743,7 @@ var Markdown = class Markdown {
10272
10743
  * @returns A `Schema.Codec<Root, string>`.
10273
10744
  */
10274
10745
  static fromString(options) {
10275
- return effect.Schema.String.pipe(effect.Schema.decodeTo(Root, effect.SchemaTransformation.transformOrFail({
10746
+ return effect.Schema.String.pipe(effect.Schema.decodeTo(Root, effect.SchemaTransformation.transformEffect({
10276
10747
  decode: (input) => effect.Effect.mapError(Markdown.parse(input, options), (error) => new effect.SchemaIssue.InvalidValue({ message: error.message }, input)),
10277
10748
  encode: (value) => effect.Effect.mapError(Markdown.stringify(value), (error) => new effect.SchemaIssue.InvalidValue({ message: error.message }, value))
10278
10749
  })));
@@ -10284,7 +10755,7 @@ var Markdown = class Markdown {
10284
10755
  static MarkdownFromString = Markdown.fromString();
10285
10756
  };
10286
10757
  //#endregion
10287
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/Mdast.js
10758
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/Mdast.js
10288
10759
  /**
10289
10760
  * The remark-ecosystem interop boundary: projection between this package's
10290
10761
  * node classes and plain mdast JSON.
@@ -24694,7 +25165,7 @@ function gfmStrikethrough(options) {
24694
25165
  }
24695
25166
  }
24696
25167
  //#endregion
24697
- //#region ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/edit-map.js
25168
+ //#region ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.2/node_modules/micromark-extension-gfm-table/lib/edit-map.js
24698
25169
  /**
24699
25170
  * @import {Event} from 'micromark-util-types'
24700
25171
  */
@@ -24716,14 +25187,25 @@ var EditMap = class {
24716
25187
  * @type {Array<Change>}
24717
25188
  */
24718
25189
  this.map = [];
25190
+ /**
25191
+ * Changes by index, so `add` does not scan `map` (quadratic on
25192
+ * table-heavy documents).
25193
+ *
25194
+ * @type {Map<number, Change>}
25195
+ */
25196
+ this.index = /* @__PURE__ */ new Map();
24719
25197
  }
24720
25198
  /**
24721
25199
  * Create an edit: a remove and/or add at a certain place.
24722
25200
  *
24723
25201
  * @param {number} index
25202
+ * Index at which to apply the edit.
24724
25203
  * @param {number} remove
25204
+ * Count of items to remove at the index.
24725
25205
  * @param {Array<Event>} add
25206
+ * Items to add at the index.
24726
25207
  * @returns {undefined}
25208
+ * Nothing.
24727
25209
  */
24728
25210
  add(index, remove, add) {
24729
25211
  addImplementation(this, index, remove, add);
@@ -24732,7 +25214,9 @@ var EditMap = class {
24732
25214
  * Done, change the events.
24733
25215
  *
24734
25216
  * @param {Array<Event>} events
25217
+ * List of events to apply the edits to.
24735
25218
  * @returns {undefined}
25219
+ * Nothing.
24736
25220
  */
24737
25221
  consume(events) {
24738
25222
  this.map.sort(function(a, b) {
@@ -24756,37 +25240,43 @@ var EditMap = class {
24756
25240
  slice = vecs.pop();
24757
25241
  }
24758
25242
  this.map.length = 0;
25243
+ this.index.clear();
24759
25244
  }
24760
25245
  };
24761
25246
  /**
24762
25247
  * Create an edit.
24763
25248
  *
24764
25249
  * @param {EditMap} editMap
25250
+ * Edit map to apply to.
24765
25251
  * @param {number} at
25252
+ * Index at which to apply the edit.
24766
25253
  * @param {number} remove
25254
+ * Count of items to remove at the index.
24767
25255
  * @param {Array<Event>} add
25256
+ * Items to add at the index.
24768
25257
  * @returns {undefined}
25258
+ * Nothing.
24769
25259
  */
24770
25260
  function addImplementation(editMap, at, remove, add) {
24771
- let index = 0;
24772
25261
  /* c8 ignore next 3 -- `resolve` is never called without tables, so without edits. */
24773
25262
  if (remove === 0 && add.length === 0) return;
24774
- while (index < editMap.map.length) {
24775
- if (editMap.map[index][0] === at) {
24776
- editMap.map[index][1] += remove;
24777
- editMap.map[index][2].push(...add);
24778
- return;
24779
- }
24780
- index += 1;
25263
+ const existing = editMap.index.get(at);
25264
+ if (existing) {
25265
+ existing[1] += remove;
25266
+ existing[2].push(...add);
25267
+ return;
24781
25268
  }
24782
- editMap.map.push([
25269
+ /** @type {Change} */
25270
+ const change = [
24783
25271
  at,
24784
25272
  remove,
24785
25273
  add
24786
- ]);
25274
+ ];
25275
+ editMap.map.push(change);
25276
+ editMap.index.set(at, change);
24787
25277
  }
24788
25278
  //#endregion
24789
- //#region ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/infer.js
25279
+ //#region ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.2/node_modules/micromark-extension-gfm-table/lib/infer.js
24790
25280
  /**
24791
25281
  * @import {Event} from 'micromark-util-types'
24792
25282
  */
@@ -24824,7 +25314,7 @@ function gfmTableAlign(events, index) {
24824
25314
  return align;
24825
25315
  }
24826
25316
  //#endregion
24827
- //#region ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/syntax.js
25317
+ //#region ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.2/node_modules/micromark-extension-gfm-table/lib/syntax.js
24828
25318
  /**
24829
25319
  * @import {Event, Extension, Point, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'
24830
25320
  */
@@ -24850,6 +25340,8 @@ function gfmTable() {
24850
25340
  } } };
24851
25341
  }
24852
25342
  /**
25343
+ * Tokenizer for GFM tables.
25344
+ *
24853
25345
  * @this {TokenizeContext}
24854
25346
  * @type {Tokenizer}
24855
25347
  */
@@ -24879,7 +25371,7 @@ function tokenizeTable(effects, ok, nok) {
24879
25371
  function start(code) {
24880
25372
  let index = self.events.length - 1;
24881
25373
  while (index > -1) {
24882
- const type = self.events[index][1].type;
25374
+ const { type } = self.events[index][1];
24883
25375
  if (type === "lineEnding" || type === "linePrefix") index--;
24884
25376
  else break;
24885
25377
  }
@@ -25408,12 +25900,19 @@ function resolveTable(events, context) {
25408
25900
  * Generate a cell.
25409
25901
  *
25410
25902
  * @param {EditMap} map
25903
+ * Edit map to apply to.
25411
25904
  * @param {Readonly<TokenizeContext>} context
25905
+ * Tokenize context.
25412
25906
  * @param {Readonly<Range>} range
25907
+ * Range of the cell within events.
25413
25908
  * @param {RowKind} rowKind
25909
+ * Type of row.
25414
25910
  * @param {number | undefined} rowEnd
25911
+ * Index of the end of the row, if known.
25415
25912
  * @param {Token | undefined} previousCell
25913
+ * Previous cell token, if any.
25416
25914
  * @returns {Token | undefined}
25915
+ * Current cell token after flushing, if any.
25417
25916
  */
25418
25917
  function flushCell(map, context, range, rowKind, rowEnd, previousCell) {
25419
25918
  const groupName = rowKind === 1 ? "tableHeader" : rowKind === 2 ? "tableDelimiter" : "tableData";
@@ -25484,10 +25983,17 @@ function flushCell(map, context, range, rowKind, rowEnd, previousCell) {
25484
25983
  * Generate table end (and table body end).
25485
25984
  *
25486
25985
  * @param {Readonly<EditMap>} map
25986
+ * Edit map to apply to.
25487
25987
  * @param {Readonly<TokenizeContext>} context
25988
+ * Tokenize context.
25488
25989
  * @param {number} index
25990
+ * Index within the events where the table end should be inserted.
25489
25991
  * @param {Token} table
25992
+ * Table token.
25490
25993
  * @param {Token | undefined} tableBody
25994
+ * Table body token, if any.
25995
+ * @returns {undefined}
25996
+ * Nothing.
25491
25997
  */
25492
25998
  function flushTableEnd(map, context, index, table, tableBody) {
25493
25999
  /** @type {Array<Event>} */
@@ -25510,9 +26016,14 @@ function flushTableEnd(map, context, index, table, tableBody) {
25510
26016
  map.add(index + 1, 0, exits);
25511
26017
  }
25512
26018
  /**
26019
+ * Get the point (start or end) for a given event in the list of events.
26020
+ *
25513
26021
  * @param {Readonly<Array<Event>>} events
26022
+ * List of events.
25514
26023
  * @param {number} index
26024
+ * Index of the event to get the point for.
25515
26025
  * @returns {Readonly<Point>}
26026
+ * Start point for enter and end point for exit.
25516
26027
  */
25517
26028
  function getPoint(events, index) {
25518
26029
  const event = events[index];
@@ -30940,414 +31451,6 @@ function parseCommitMessage(message) {
30940
31451
  return { description: message };
30941
31452
  }
30942
31453
  //#endregion
30943
- //#region ../../node_modules/.pnpm/@effected+github-references@0.2.0_effect@4.0.0-rc.112/node_modules/@effected/github-references/IssueReferences.js
30944
- /**
30945
- * GitHub's closing-keyword issue-reference grammar, as pure functions.
30946
- *
30947
- * @remarks
30948
- * GitHub links an issue to a pull request when the PR's description carries
30949
- * `<keyword> #<number>` for one of nine documented keywords. Consumers speak
30950
- * that grammar in two distinct dialects, and this module models exactly those
30951
- * two — no service, no layer, nothing but strings in and values out:
30952
- *
30953
- * - **Inline-in-prose** ({@link harvestIssueReferences}): a reference may appear anywhere in
30954
- * running text — `"fixes #12 and closes #13"` — with mandatory whitespace
30955
- * and **no colon**, because that is the spelling GitHub itself scans PR
30956
- * bodies for. This is the dialect a release pipeline harvests from commit
30957
- * subjects and PR descriptions.
30958
- * - **Bare-line** ({@link parseBareLineReference}): the whole line, after trimming, *is*
30959
- * the reference — `"Closes: #12"` — with an **optional colon**, because a
30960
- * generated references region writes one reference per line and a colon
30961
- * reads better there. GitHub does not require the colon; the region format
30962
- * allows it, so the parser must too. The dialects differ because their
30963
- * producers do: prose is written by humans for GitHub's scanner, the region
30964
- * is written by tooling for humans.
30965
- *
30966
- * Deliberately out of scope this round: cross-repo references
30967
- * (`owner/repo#N`) and full-URL references
30968
- * (`https://github.com/owner/repo/issues/N`). Both are real GitHub spellings;
30969
- * neither dialect's consumers emit them yet, and guessing at their shape here
30970
- * would freeze an API nobody has driven.
30971
- */
30972
- /**
30973
- * The nine closing keywords GitHub documents, lowercased.
30974
- *
30975
- * @public
30976
- */
30977
- const CLOSING_KEYWORDS = [
30978
- "close",
30979
- "closes",
30980
- "closed",
30981
- "fix",
30982
- "fixes",
30983
- "fixed",
30984
- "resolve",
30985
- "resolves",
30986
- "resolved"
30987
- ];
30988
- /**
30989
- * Both patterns derive from {@link CLOSING_KEYWORDS} so the constant and the
30990
- * grammar cannot drift. Alternation order is safe: the regex engine backtracks
30991
- * through alternatives, so `close` matching inside `closes` fails at the
30992
- * mandatory `#`-introducer and retries the longer keyword.
30993
- */
30994
- const KEYWORDS = CLOSING_KEYWORDS.join("|");
30995
- new RegExp(`\\b(${KEYWORDS})\\s+#(\\d+)`, "gi");
30996
- new RegExp(`^(${KEYWORDS}):?[ \\t]+#(\\d+)$`, "i");
30997
- //#endregion
30998
- //#region ../../node_modules/.pnpm/@effected+github-references@0.2.0_effect@4.0.0-rc.112/node_modules/@effected/github-references/ClosingList.js
30999
- /**
31000
- * The closing-list dialect: one whole line naming several issues at once.
31001
- *
31002
- * @remarks
31003
- * The third dialect, alongside the two in `IssueReferences`: after trimming,
31004
- * the **entire** line must be `<keyword>[:] <list>` — keyword
31005
- * case-insensitive (lowercased to canonical form in the result), colon
31006
- * optional, and the list one or more `#<digits>` items separated by `,`,
31007
- * `and`, or the Oxford `, and`. Whitespace inside the line is `[ \t]` only,
31008
- * so an embedded newline cannot smuggle two lines past a parser whose
31009
- * contract is one — the same posture as the bare-line pattern. Any trailing
31010
- * content after the list rejects the line; duplicates are preserved in order,
31011
- * because whether `#1, #1` means one issue or two is the caller's business.
31012
- *
31013
- * Two keyword sets play here. {@link parseClosingList} accepts only the nine
31014
- * closing keywords and yields a {@link ClosingList}; {@link parseReferenceList}
31015
- * additionally accepts the non-closing {@link REFERENCE_KEYWORDS} (`ref`,
31016
- * `refs`, `references`) and reports which set matched via
31017
- * {@link ReferenceList}'s `closing` flag.
31018
- *
31019
- * An item whose digits exceed `Number.MAX_SAFE_INTEGER` rejects the **whole
31020
- * line**, where `harvestIssueReferences` merely skips the one match. The
31021
- * asymmetry is deliberate: a harvest drops one reference out of running
31022
- * prose, but a list line is a single claim about a set of issues, and
31023
- * returning the parseable subset would misrepresent the line as claiming
31024
- * less than it does.
31025
- *
31026
- * Complexity posture: parsing is a single left-to-right character scan —
31027
- * this module contains **no regular expressions at all** — so worst-case
31028
- * time is linear in the line length by construction. There is no
31029
- * backtracking engine to feed, no polynomial blow-up for a scanner to flag,
31030
- * and therefore no input truncation.
31031
- *
31032
- * Beyond the whole-line parsers, {@link harvestReferenceLists} generalizes
31033
- * the same list grammar to the inline-in-prose posture — several lists on
31034
- * one line of running text — and {@link parseClosingLists} /
31035
- * {@link parseReferenceLists} apply the whole-line parsers per line of a
31036
- * multi-line text. All of them ride the same character scan; the no-regex
31037
- * promise above covers every export here.
31038
- */
31039
- /**
31040
- * The non-closing reference keywords the list dialect accepts, lowercased.
31041
- *
31042
- * @remarks
31043
- * GitHub does not act on these — they associate without closing — but a
31044
- * references region writes them, so the parser must read them.
31045
- *
31046
- * @public
31047
- */
31048
- const REFERENCE_KEYWORDS = [
31049
- "ref",
31050
- "refs",
31051
- "references"
31052
- ];
31053
- /**
31054
- * Both keyword tables ARE the exported constants — membership sets built from
31055
- * them once — so the constants and the grammar cannot drift.
31056
- */
31057
- const ALL_KEYWORDS = /* @__PURE__ */ new Set([...CLOSING_KEYWORDS, ...REFERENCE_KEYWORDS]);
31058
- /** Membership test for reporting `closing`, widened once so no call casts. */
31059
- const CLOSING_SET = new Set(CLOSING_KEYWORDS);
31060
- const HASH = 35;
31061
- const COLON = 58;
31062
- const COMMA = 44;
31063
- /** `[ \t]` — the only whitespace the dialect admits, per the module remarks. */
31064
- const isSpaceTab = (code) => code === 32 || code === 9;
31065
- const isDigit$1 = (code) => code >= 48 && code <= 57;
31066
- const isAsciiLetter = (code) => code >= 65 && code <= 90 || code >= 97 && code <= 122;
31067
- /** The index after the run of `[ \t]` starting at `from` (possibly `from` itself). */
31068
- const skipSpaceTab = (line, from) => {
31069
- let index = from;
31070
- while (index < line.length && isSpaceTab(line.charCodeAt(index))) index += 1;
31071
- return index;
31072
- };
31073
- /**
31074
- * One list item at exactly `from`: `#<digits>` and the index one past it.
31075
- * Digits exceeding `Number.MAX_SAFE_INTEGER` report `"unsafe"` rather than a
31076
- * silently rounded issue number, still carrying the index one past the digit
31077
- * run so a caller can skip the item's extent; the whole-line parsers reject
31078
- * on it and {@link harvestReferenceLists} abandons the entire candidate —
31079
- * see the module remarks for why a list never yields a partial reading.
31080
- * Anything that is not `#<digits>` at all is `undefined`.
31081
- */
31082
- const readItem = (line, from) => {
31083
- if (line.charCodeAt(from) !== HASH) return void 0;
31084
- const start = from + 1;
31085
- let index = start;
31086
- while (index < line.length && isDigit$1(line.charCodeAt(index))) index += 1;
31087
- if (index === start) return void 0;
31088
- const value = Number(line.slice(start, index));
31089
- return Number.isSafeInteger(value) ? {
31090
- kind: "item",
31091
- value,
31092
- next: index
31093
- } : {
31094
- kind: "unsafe",
31095
- next: index
31096
- };
31097
- };
31098
- /**
31099
- * One separator at exactly `from`: a comma with optional surrounding `[ \t]`
31100
- * and an optional Oxford `and` (consumed only when its own trailing `[ \t]+`
31101
- * is present), or a bare `and` requiring `[ \t]+` on both sides. `and` is
31102
- * lowercase-only — the keyword head is case-insensitive, the separator is
31103
- * not. Returns the index where the next item must start, or `undefined` when
31104
- * no separator is present.
31105
- */
31106
- const scanSeparator = (line, from) => {
31107
- const afterLeading = skipSpaceTab(line, from);
31108
- if (line.charCodeAt(afterLeading) === COMMA) {
31109
- const afterComma = skipSpaceTab(line, afterLeading + 1);
31110
- if (line.startsWith("and", afterComma)) {
31111
- const afterAnd = skipSpaceTab(line, afterComma + 3);
31112
- if (afterAnd > afterComma + 3) return afterAnd;
31113
- }
31114
- return afterComma;
31115
- }
31116
- if (afterLeading > from && line.startsWith("and", afterLeading)) {
31117
- const afterAnd = skipSpaceTab(line, afterLeading + 3);
31118
- if (afterAnd > afterLeading + 3) return afterAnd;
31119
- }
31120
- };
31121
- /**
31122
- * The scan walk: item, then separator, then item, until the cursor stands
31123
- * exactly at the end of the string. Anything else — a malformed item, an
31124
- * unknown separator, trailing content, an unsafe issue number — is
31125
- * `undefined`, and the caller rejects the whole line.
31126
- */
31127
- const parseItems = (line, from) => {
31128
- const issueNumbers = [];
31129
- let cursor = from;
31130
- for (;;) {
31131
- const item = readItem(line, cursor);
31132
- if (item === void 0 || item.kind === "unsafe") return void 0;
31133
- issueNumbers.push(item.value);
31134
- cursor = item.next;
31135
- if (cursor === line.length) return issueNumbers;
31136
- const next = scanSeparator(line, cursor);
31137
- if (next === void 0) return void 0;
31138
- cursor = next;
31139
- }
31140
- };
31141
- /**
31142
- * The list a whole line carries under either keyword set, or `Option.none()`.
31143
- *
31144
- * @remarks
31145
- * Accepts the nine closing keywords plus {@link REFERENCE_KEYWORDS}, and
31146
- * reports which set matched in the result's `closing` flag. Grammar,
31147
- * whole-line posture and the whole-line rejection of unsafe issue numbers
31148
- * are in the module remarks.
31149
- *
31150
- * @public
31151
- */
31152
- const parseReferenceList = (line) => {
31153
- const trimmed = line.trim();
31154
- let letters = 0;
31155
- while (letters < trimmed.length && isAsciiLetter(trimmed.charCodeAt(letters))) letters += 1;
31156
- if (letters === 0) return effect.Option.none();
31157
- const keyword = trimmed.slice(0, letters).toLowerCase();
31158
- if (!ALL_KEYWORDS.has(keyword)) return effect.Option.none();
31159
- let cursor = letters;
31160
- if (trimmed.charCodeAt(cursor) === COLON) cursor += 1;
31161
- const afterWhitespace = skipSpaceTab(trimmed, cursor);
31162
- if (afterWhitespace === cursor) return effect.Option.none();
31163
- const issueNumbers = parseItems(trimmed, afterWhitespace);
31164
- if (issueNumbers === void 0) return effect.Option.none();
31165
- return effect.Option.some({
31166
- keyword,
31167
- closing: CLOSING_SET.has(keyword),
31168
- issueNumbers
31169
- });
31170
- };
31171
- /**
31172
- * Every reference list a text carries, line by line, across both postures.
31173
- *
31174
- * @remarks
31175
- * The trailer/prose interleave consumers otherwise hand-roll: each line is
31176
- * tried as a whole-line reference list first ({@link parseReferenceList} —
31177
- * colon-tolerant, per the line dialect), and only a line that is not one is
31178
- * harvested inline ({@link harvestReferenceLists} — no colon, per the inline
31179
- * dialect). The preference means a colon-less trailer line contributes its
31180
- * list exactly once, never once per posture.
31181
- *
31182
- * Results carry no offsets, deliberately: this is the line-granular
31183
- * composition, and a consumer that needs spans uses
31184
- * {@link harvestReferenceLists} directly. Duplicates are preserved, in
31185
- * document order.
31186
- *
31187
- * @public
31188
- */
31189
- const collectReferenceLists = (text) => {
31190
- const lists = [];
31191
- for (const line of text.split("\n")) {
31192
- const whole = parseReferenceList(line);
31193
- if (effect.Option.isSome(whole)) {
31194
- lists.push(whole.value);
31195
- continue;
31196
- }
31197
- for (const harvested of harvestReferenceLists(line)) lists.push({
31198
- keyword: harvested.keyword,
31199
- closing: harvested.closing,
31200
- issueNumbers: harvested.issueNumbers
31201
- });
31202
- }
31203
- return lists;
31204
- };
31205
- /** `[A-Za-z0-9_]` — the word-boundary alphabet the inline dialects use. */
31206
- const isWordChar = (code) => isAsciiLetter(code) || isDigit$1(code) || code === 95;
31207
- /**
31208
- * The full JavaScript `\s` set, spelled as a predicate so the module keeps
31209
- * its no-regex promise: ASCII whitespace, NEL-adjacent controls, and the
31210
- * Unicode space separators. Only the keyword→first-item gap of
31211
- * {@link harvestReferenceLists} admits this set — everything inside a list
31212
- * stays `[ \t]`, per the module remarks.
31213
- */
31214
- const isAnyWhitespace = (code) => code === 32 || code >= 9 && code <= 13 || code === 160 || code === 5760 || code >= 8192 && code <= 8202 || code === 8232 || code === 8233 || code === 8239 || code === 8287 || code === 12288 || code === 65279;
31215
- /**
31216
- * Every reference list found inline in `text`, in document order.
31217
- *
31218
- * @remarks
31219
- * The inline-in-prose posture generalized to lists:
31220
- * `Closes #123, Fixes #456` in one line of a commit body yields two
31221
- * single-item lists, where
31222
- * `harvestIssueReferences` reads only the first reference of each and the
31223
- * whole-line parsers read neither. The grammar per candidate:
31224
- *
31225
- * - The keyword is case-insensitive, drawn from either keyword set,
31226
- * lowercased to canonical form in the result, with `closing` reported by
31227
- * set membership. Word boundaries hold on both sides: the characters
31228
- * immediately before and after the keyword's letter run must not be
31229
- * `[A-Za-z0-9_]`, so `recloses #1` and `1closes #1` do not match.
31230
- * - **No colon** — exactly like `harvestIssueReferences`, the colon spelling
31231
- * belongs to the line dialects ({@link parseReferenceList} and the
31232
- * bare-line parser), so `closes: #1` inline yields nothing.
31233
- * - The keyword→first-item gap is any run of whitespace **including
31234
- * newlines**, mirroring the inline dialect's `\s+`.
31235
- * - List continuation uses the `,` / `and` / Oxford separators with `[ \t]`
31236
- * whitespace only, so a list cannot continue past a newline — a later
31237
- * line makes its own claims.
31238
- * - Items are `#<digits>`; duplicates are preserved in order.
31239
- *
31240
- * A list ends at its last valid item: in `closes #1 and fixes #2` the
31241
- * ` and ` before `fixes` fails as a separator because what follows is not
31242
- * `#`, so the text yields `closes: [1]` then `fixes: [2]`. An item past
31243
- * `Number.MAX_SAFE_INTEGER` anywhere in a candidate skips the **entire**
31244
- * candidate — never a partial list, for the same reason
31245
- * {@link parseReferenceList} rejects the whole line — and scanning resumes
31246
- * after the candidate's scanned extent.
31247
- *
31248
- * Like everything in this module, the harvest is a single left-to-right
31249
- * character scan with no regular expressions, so time stays linear in the
31250
- * text length and no input is truncated.
31251
- *
31252
- * @public
31253
- */
31254
- const harvestReferenceLists = (text) => {
31255
- const lists = [];
31256
- let index = 0;
31257
- while (index < text.length) {
31258
- if (!isAsciiLetter(text.charCodeAt(index))) {
31259
- index += 1;
31260
- continue;
31261
- }
31262
- const runStart = index;
31263
- let runEnd = index + 1;
31264
- while (runEnd < text.length && isAsciiLetter(text.charCodeAt(runEnd))) runEnd += 1;
31265
- if (runStart > 0 && isWordChar(text.charCodeAt(runStart - 1)) || runEnd < text.length && isWordChar(text.charCodeAt(runEnd))) {
31266
- index = runEnd;
31267
- continue;
31268
- }
31269
- const keyword = text.slice(runStart, runEnd).toLowerCase();
31270
- if (!ALL_KEYWORDS.has(keyword)) {
31271
- index = runEnd;
31272
- continue;
31273
- }
31274
- let cursor = runEnd;
31275
- while (cursor < text.length && isAnyWhitespace(text.charCodeAt(cursor))) cursor += 1;
31276
- const first = cursor === runEnd ? void 0 : readItem(text, cursor);
31277
- if (first === void 0) {
31278
- index = runEnd;
31279
- continue;
31280
- }
31281
- if (first.kind === "unsafe") {
31282
- index = first.next;
31283
- continue;
31284
- }
31285
- const issueNumbers = [first.value];
31286
- let end = first.next;
31287
- let unsafeNext;
31288
- for (;;) {
31289
- const next = scanSeparator(text, end);
31290
- if (next === void 0) break;
31291
- const item = readItem(text, next);
31292
- if (item === void 0) break;
31293
- if (item.kind === "unsafe") {
31294
- unsafeNext = item.next;
31295
- break;
31296
- }
31297
- issueNumbers.push(item.value);
31298
- end = item.next;
31299
- }
31300
- if (unsafeNext !== void 0) {
31301
- index = unsafeNext;
31302
- continue;
31303
- }
31304
- lists.push({
31305
- keyword,
31306
- closing: CLOSING_SET.has(keyword),
31307
- issueNumbers,
31308
- start: runStart,
31309
- end
31310
- });
31311
- index = end;
31312
- }
31313
- return lists;
31314
- };
31315
- //#endregion
31316
- //#region ../../node_modules/.pnpm/@effected+github-references@0.2.0_effect@4.0.0-rc.112/node_modules/@effected/github-references/KeywordFamily.js
31317
- /**
31318
- * The projection table IS the totality proof: `Record` over the union of
31319
- * both keyword types makes a keyword added to either constant without an
31320
- * entry here fail to compile.
31321
- */
31322
- const FAMILIES = {
31323
- close: "close",
31324
- closes: "close",
31325
- closed: "close",
31326
- fix: "fix",
31327
- fixes: "fix",
31328
- fixed: "fix",
31329
- resolve: "resolve",
31330
- resolves: "resolve",
31331
- resolved: "resolve",
31332
- ref: "ref",
31333
- refs: "ref",
31334
- references: "ref"
31335
- };
31336
- /**
31337
- * The family a keyword belongs to.
31338
- *
31339
- * @remarks
31340
- * Total over both keyword sets by construction — see the module remarks for
31341
- * why an explicit record beats a `startsWith` heuristic. `close`, `closes`
31342
- * and `closed` map to `"close"`; the `fix` and `resolve` conjugations
31343
- * likewise; `ref`, `refs` and `references` map to `"ref"`. The evidence for
31344
- * the projection is downstream: categorized harvesters key maps by family,
31345
- * and each was hand-rolling this collapse.
31346
- *
31347
- * @public
31348
- */
31349
- const keywordFamily = (keyword) => FAMILIES[keyword];
31350
- //#endregion
31351
31454
  //#region ../silk-effects/dist/dev/pkg/changesets/utils/issue-refs.js
31352
31455
  /**
31353
31456
  * The output category each keyword family lands in.
@@ -31414,41 +31517,6 @@ function parseIssueReferences(commitMessage) {
31414
31517
  return references;
31415
31518
  }
31416
31519
  //#endregion
31417
- //#region ../silk-effects/dist/dev/pkg/changesets/utils/logger.js
31418
- /**
31419
- * Log a warning message.
31420
- *
31421
- * @remarks
31422
- * Detection order:
31423
- * 1. If `process.env.VITEST` is set, the message is silently discarded.
31424
- * 2. If `process.env.GITHUB_ACTIONS === "true"`, the message is emitted
31425
- * as a `::warning::` annotation.
31426
- * 3. Otherwise, `console.warn` is used.
31427
- *
31428
- * @param message - The warning message
31429
- * @param args - Additional arguments (concatenated with a space in CI mode)
31430
- *
31431
- * @example
31432
- * ```typescript
31433
- * import { logWarning } from "../utils/logger.js";
31434
- *
31435
- * logWarning("Duplicate dependency entry", "effect@3.19.0");
31436
- * // In CI: "::warning::Duplicate dependency entry effect@3.19.0"
31437
- * // Locally: console.warn("Duplicate dependency entry", "effect@3.19.0")
31438
- * ```
31439
- *
31440
- * @internal
31441
- */
31442
- function logWarning(message, ...args) {
31443
- /* v8 ignore start — environment-specific */
31444
- if (typeof process !== "undefined" && process.env.VITEST) return;
31445
- if (typeof process !== "undefined" && process.env.GITHUB_ACTIONS === "true") {
31446
- const text = args.length > 0 ? `${message} ${args.join(" ")}` : message;
31447
- console.warn(`::warning::${text}`);
31448
- } else console.warn(message, ...args);
31449
- /* v8 ignore stop */
31450
- }
31451
- //#endregion
31452
31520
  //#region ../silk-effects/dist/dev/pkg/changesets/utils/section-parser.js
31453
31521
  /**
31454
31522
  * Parse a changeset summary into structured sections.
@@ -31818,10 +31886,7 @@ function getReleaseLine(changeset, versionType, options) {
31818
31886
  if (changeset.commit) commitInfo = yield* (yield* GitHubService).getInfo({
31819
31887
  commit: changeset.commit,
31820
31888
  repo: options.repo
31821
- }).pipe(effect.Effect.flatMap((raw) => effect.Schema.decodeUnknownEffect(GitHubInfoSchema)(raw).pipe(effect.Effect.map(() => raw), effect.Effect.catch(() => effect.Effect.succeed(raw)))), effect.Effect.catch((error) => {
31822
- logWarning("Could not fetch GitHub info for commit:", changeset.commit ?? "", String(error));
31823
- return effect.Effect.succeed(null);
31824
- }));
31889
+ }).pipe(effect.Effect.flatMap((raw) => effect.Schema.decodeUnknownEffect(GitHubInfoSchema)(raw).pipe(effect.Effect.map(() => raw), effect.Effect.catch(() => effect.Effect.succeed(raw)))), effect.Effect.catch((error) => logWarning("Could not fetch GitHub info for commit:", changeset.commit ?? "", String(error)).pipe(effect.Effect.as(null))));
31825
31890
  const parsed = parseChangesetSections(changeset.summary);
31826
31891
  const firstLine = changeset.summary.split("\n")[0];
31827
31892
  const commitMsg = parseCommitMessage(firstLine);
@@ -31916,29 +31981,48 @@ function getReleaseLine(changeset, versionType, options) {
31916
31981
  */
31917
31982
  const MainLayer = GitHubService.layer;
31918
31983
  /**
31919
- * Changesets API `ChangelogFunctions` implementation.
31984
+ * Build a Changesets `ChangelogFunctions` implementation bound to a warning
31985
+ * mode.
31920
31986
  *
31921
- * This object satisfies the `ChangelogFunctions` contract from
31922
- * `\@changesets/types`. Each method validates options, runs the
31923
- * corresponding Effect program with the merged service layer, and
31924
- * returns a `Promise<string>`.
31987
+ * @remarks
31988
+ * This module is engine code and reads no environment; the host that installs
31989
+ * the functions (the `\@savvy-web/changelog` package under the changesets CLI)
31990
+ * decides the mode from its own `process.env` and passes it here. Each method
31991
+ * validates options, runs the corresponding Effect program with the merged
31992
+ * service layer and the chosen {@link ChangesetLogMode}, and returns a
31993
+ * `Promise<string>`.
31925
31994
  *
31926
- * @internal
31995
+ * @param options - The warning mode to provide
31996
+ * @returns A `ChangelogFunctions` object for `.changeset/config.json`
31997
+ *
31998
+ * @public
31927
31999
  */
31928
- const changelogFunctions$2 = {
31929
- getReleaseLine: async (changeset, versionType, options) => {
31930
- const program = effect.Effect.gen(function* () {
32000
+ function makeChangelogFunctions(options = {}) {
32001
+ const run = (program) => {
32002
+ const provided = program.pipe(effect.Effect.provide(MainLayer));
32003
+ return effect.Effect.runPromise(options.logMode === void 0 ? provided : provided.pipe(effect.Effect.provideService(ChangesetLogMode, options.logMode)));
32004
+ };
32005
+ return {
32006
+ getReleaseLine: async (changeset, versionType, options) => run(effect.Effect.gen(function* () {
31931
32007
  return yield* getReleaseLine(changeset, versionType, yield* validateChangesetOptions(options));
31932
- });
31933
- return effect.Effect.runPromise(program.pipe(effect.Effect.provide(MainLayer)));
31934
- },
31935
- getDependencyReleaseLine: async (changesets, dependenciesUpdated, options) => {
31936
- const program = effect.Effect.gen(function* () {
32008
+ })),
32009
+ getDependencyReleaseLine: async (changesets, dependenciesUpdated, options) => run(effect.Effect.gen(function* () {
31937
32010
  return yield* getDependencyReleaseLine(changesets, dependenciesUpdated, yield* validateChangesetOptions(options));
31938
- });
31939
- return effect.Effect.runPromise(program.pipe(effect.Effect.provide(MainLayer)));
31940
- }
31941
- };
32011
+ }))
32012
+ };
32013
+ }
32014
+ /**
32015
+ * Changesets API `ChangelogFunctions` implementation with the default warning
32016
+ * mode (`"stderr"`).
32017
+ *
32018
+ * @remarks
32019
+ * Equivalent to `makeChangelogFunctions()`. A host that runs under GitHub
32020
+ * Actions or a test runner should call {@link makeChangelogFunctions} with the
32021
+ * mode it detects instead.
32022
+ *
32023
+ * @internal
32024
+ */
32025
+ const changelogFunctions$2 = makeChangelogFunctions();
31942
32026
  //#endregion
31943
32027
  //#region ../silk-effects/dist/dev/pkg/changesets/api/changelog.js
31944
32028
  /**
@@ -32043,10 +32127,13 @@ var Changelog = class {
32043
32127
  * @param versionType - The semantic version bump type (`"major"`, `"minor"`, or `"patch"`)
32044
32128
  * @param options - Configuration object; must include `repo` in `"owner/repo"` format.
32045
32129
  * Pass `null` to use defaults (no GitHub link resolution).
32130
+ * @param logMode - How a failed GitHub lookup is reported (`"stderr"` when omitted);
32131
+ * the host reads its own environment and passes `"github"` / `"silent"` — this
32132
+ * engine never does. See `ChangesetLogMode`.
32046
32133
  * @returns A promise resolving to the formatted markdown string
32047
32134
  */
32048
- static async formatReleaseLine(changeset, versionType, options) {
32049
- return changelogFunctions$2.getReleaseLine(changeset, versionType, options);
32135
+ static async formatReleaseLine(changeset, versionType, options, logMode) {
32136
+ return makeChangelogFunctions(logMode === void 0 ? {} : { logMode }).getReleaseLine(changeset, versionType, options);
32050
32137
  }
32051
32138
  /**
32052
32139
  * Format dependency update release lines into a markdown table.
@@ -32061,11 +32148,13 @@ var Changelog = class {
32061
32148
  * old/new versions and package metadata
32062
32149
  * @param options - Configuration object; must include `repo` in `"owner/repo"` format.
32063
32150
  * Pass `null` to use defaults.
32151
+ * @param logMode - How a failed GitHub lookup is reported (`"stderr"` when omitted);
32152
+ * see {@link Changelog.formatReleaseLine}.
32064
32153
  * @returns A promise resolving to the formatted markdown string containing
32065
32154
  * the dependency update table
32066
32155
  */
32067
- static async formatDependencyReleaseLine(changesets, dependenciesUpdated, options) {
32068
- return changelogFunctions$2.getDependencyReleaseLine(changesets, dependenciesUpdated, options);
32156
+ static async formatDependencyReleaseLine(changesets, dependenciesUpdated, options, logMode) {
32157
+ return makeChangelogFunctions(logMode === void 0 ? {} : { logMode }).getDependencyReleaseLine(changesets, dependenciesUpdated, options);
32069
32158
  }
32070
32159
  };
32071
32160
  //#endregion
@@ -33811,7 +33900,7 @@ _effected_templates.SectionId.make({
33811
33900
  commentStyle: _effected_templates.CommentStyle.hash
33812
33901
  });
33813
33902
  //#endregion
33814
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/limits.js
33903
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/limits.js
33815
33904
  /** Hard cap on pattern length. Upstream minimatch's MAX_PATTERN_LENGTH (64KB). */
33816
33905
  const MAX_PATTERN_LENGTH = 65536;
33817
33906
  /** Default brace-expansion output budget. Upstream brace-expansion's EXPANSION_MAX. */
@@ -33845,7 +33934,7 @@ const assertCap = (name, value) => {
33845
33934
  return value;
33846
33935
  };
33847
33936
  //#endregion
33848
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/unescape.js
33937
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/unescape.js
33849
33938
  /**
33850
33939
  * Un-escape a string that has been escaped with `escape`.
33851
33940
  *
@@ -33868,11 +33957,11 @@ const unescapePattern = (s, { windowsPathsNoEscape = false, magicalBraces = true
33868
33957
  return windowsPathsNoEscape ? s.replace(/\[([^/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^/\\{}])\]/g, "$1$2").replace(/\\([^/{}])/g, "$1");
33869
33958
  };
33870
33959
  //#endregion
33871
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/types.js
33960
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/types.js
33872
33961
  /** The globstar marker in a compiled pattern set. */
33873
33962
  const GLOBSTAR = Symbol("globstar **");
33874
33963
  //#endregion
33875
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/escape.js
33964
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/escape.js
33876
33965
  /**
33877
33966
  * Escape all magic characters in a glob pattern.
33878
33967
  *
@@ -33890,13 +33979,13 @@ const escapePattern = (s, { windowsPathsNoEscape = false, magicalBraces = false
33890
33979
  return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
33891
33980
  };
33892
33981
  //#endregion
33893
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/assertValidPattern.js
33982
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/assertValidPattern.js
33894
33983
  const assertValidPattern = (pattern) => {
33895
33984
  if (typeof pattern !== "string") throw new TypeError("invalid pattern");
33896
33985
  if (pattern.length > 65536) throw new GuardExceeded("PatternTooLong", MAX_PATTERN_LENGTH, pattern.length);
33897
33986
  };
33898
33987
  //#endregion
33899
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/braceExpressions.js
33988
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/braceExpressions.js
33900
33989
  const posixClasses = {
33901
33990
  "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
33902
33991
  "[:alpha:]": ["\\p{L}\\p{Nl}", true],
@@ -34019,7 +34108,7 @@ const parseClass = (glob, position) => {
34019
34108
  ];
34020
34109
  };
34021
34110
  //#endregion
34022
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/ast.js
34111
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/ast.js
34023
34112
  const types = /* @__PURE__ */ new Set([
34024
34113
  "!",
34025
34114
  "?",
@@ -34536,7 +34625,7 @@ var AST = class AST {
34536
34625
  }
34537
34626
  };
34538
34627
  //#endregion
34539
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/balancedMatch.js
34628
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/balancedMatch.js
34540
34629
  const maybeMatch = (reg, str) => {
34541
34630
  const m = str.match(reg);
34542
34631
  return m ? m[0] : null;
@@ -34594,7 +34683,7 @@ const range = (a, b, str) => {
34594
34683
  return result;
34595
34684
  };
34596
34685
  //#endregion
34597
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/braceExpansion.js
34686
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/braceExpansion.js
34598
34687
  const escSlash = `\0SLASH${Math.random()}\0`;
34599
34688
  const escOpen = `\0OPEN${Math.random()}\0`;
34600
34689
  const escClose = `\0CLOSE${Math.random()}\0`;
@@ -34741,7 +34830,7 @@ function expand_(str, max, isTopInput, depth) {
34741
34830
  }
34742
34831
  }
34743
34832
  //#endregion
34744
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/minimatch.js
34833
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/minimatch.js
34745
34834
  const starDotExtRE = /^\*+([^+@!?*[(]*)$/;
34746
34835
  const starDotExtTest = (ext) => (f) => !f.startsWith(".") && f.endsWith(ext);
34747
34836
  const starDotExtTestDot = (ext) => (f) => f.endsWith(ext);
@@ -35314,7 +35403,7 @@ var Minimatch = class {
35314
35403
  }
35315
35404
  };
35316
35405
  //#endregion
35317
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/GlobPattern.js
35406
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/GlobPattern.js
35318
35407
  /**
35319
35408
  * Typed failure raised when a glob pattern trips a compile-time guard:
35320
35409
  * over-length, brace-expansion budget exhaustion, or nesting past the depth
@@ -35593,7 +35682,7 @@ var GlobPattern = class GlobPattern extends effect.Schema.Class("GlobPattern")(e
35593
35682
  })));
35594
35683
  };
35595
35684
  //#endregion
35596
- //#region ../../node_modules/.pnpm/@effected+walker@0.7.0_@effected+glob@0.5.0_effect@4.0.0-rc.112__effect@4.0.0-rc.112/node_modules/@effected/walker/Descend.js
35685
+ //#region ../../node_modules/.pnpm/@effected+walker@0.8.0_@effected+glob@0.6.0_effect@4.0.0-rc.115__effect@4.0.0-rc.115/node_modules/@effected/walker/Descend.js
35597
35686
  /**
35598
35687
  * Typed failure raised by `descend`: a directory mid-walk was unreadable
35599
35688
  * (under `onUnreadable: "fail"`), or the walk descended past `maxDepth`. Depth
@@ -35711,7 +35800,7 @@ function descend(pattern, options) {
35711
35800
  return descendImpl(pattern, options);
35712
35801
  }
35713
35802
  //#endregion
35714
- //#region ../../node_modules/.pnpm/@effected+walker@0.7.0_@effected+glob@0.5.0_effect@4.0.0-rc.112__effect@4.0.0-rc.112/node_modules/@effected/walker/Expand.js
35803
+ //#region ../../node_modules/.pnpm/@effected+walker@0.8.0_@effected+glob@0.6.0_effect@4.0.0-rc.115__effect@4.0.0-rc.115/node_modules/@effected/walker/Expand.js
35715
35804
  /**
35716
35805
  * Typed failure raised by {@link compileAndExpand}: the single error the
35717
35806
  * compile+expand recipe fails with, so a caller catches one tag rather than
@@ -40711,7 +40800,7 @@ function globSync(globInput, options) {
40711
40800
  return crawler ? formatPaths(crawler.sync(), relative) : [];
40712
40801
  }
40713
40802
  //#endregion
40714
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/identity.js
40803
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/identity.js
40715
40804
  var require_identity = /* @__PURE__ */ __commonJSMin(((exports) => {
40716
40805
  const ALIAS = Symbol.for("yaml.alias");
40717
40806
  const DOC = Symbol.for("yaml.document");
@@ -40761,7 +40850,7 @@ var require_identity = /* @__PURE__ */ __commonJSMin(((exports) => {
40761
40850
  exports.isSeq = isSeq;
40762
40851
  }));
40763
40852
  //#endregion
40764
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/visit.js
40853
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/visit.js
40765
40854
  var require_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
40766
40855
  var identity = require_identity();
40767
40856
  const BREAK = Symbol("break visit");
@@ -40952,7 +41041,7 @@ var require_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
40952
41041
  exports.visitAsync = visitAsync;
40953
41042
  }));
40954
41043
  //#endregion
40955
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/directives.js
41044
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/directives.js
40956
41045
  var require_directives = /* @__PURE__ */ __commonJSMin(((exports) => {
40957
41046
  var identity = require_identity();
40958
41047
  var visit = require_visit();
@@ -41116,7 +41205,7 @@ var require_directives = /* @__PURE__ */ __commonJSMin(((exports) => {
41116
41205
  exports.Directives = Directives;
41117
41206
  }));
41118
41207
  //#endregion
41119
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/anchors.js
41208
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/anchors.js
41120
41209
  var require_anchors = /* @__PURE__ */ __commonJSMin(((exports) => {
41121
41210
  var identity = require_identity();
41122
41211
  var visit = require_visit();
@@ -41183,7 +41272,7 @@ var require_anchors = /* @__PURE__ */ __commonJSMin(((exports) => {
41183
41272
  exports.findNewAnchor = findNewAnchor;
41184
41273
  }));
41185
41274
  //#endregion
41186
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/applyReviver.js
41275
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/applyReviver.js
41187
41276
  var require_applyReviver = /* @__PURE__ */ __commonJSMin(((exports) => {
41188
41277
  /**
41189
41278
  * Applies the JSON.parse reviver algorithm as defined in the ECMA-262 spec,
@@ -41225,7 +41314,7 @@ var require_applyReviver = /* @__PURE__ */ __commonJSMin(((exports) => {
41225
41314
  exports.applyReviver = applyReviver;
41226
41315
  }));
41227
41316
  //#endregion
41228
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/toJS.js
41317
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/toJS.js
41229
41318
  var require_toJS = /* @__PURE__ */ __commonJSMin(((exports) => {
41230
41319
  var identity = require_identity();
41231
41320
  /**
@@ -41262,7 +41351,7 @@ var require_toJS = /* @__PURE__ */ __commonJSMin(((exports) => {
41262
41351
  exports.toJS = toJS;
41263
41352
  }));
41264
41353
  //#endregion
41265
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Node.js
41354
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Node.js
41266
41355
  var require_Node = /* @__PURE__ */ __commonJSMin(((exports) => {
41267
41356
  var applyReviver = require_applyReviver();
41268
41357
  var identity = require_identity();
@@ -41296,7 +41385,7 @@ var require_Node = /* @__PURE__ */ __commonJSMin(((exports) => {
41296
41385
  exports.NodeBase = NodeBase;
41297
41386
  }));
41298
41387
  //#endregion
41299
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Alias.js
41388
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Alias.js
41300
41389
  var require_Alias = /* @__PURE__ */ __commonJSMin(((exports) => {
41301
41390
  var anchors = require_anchors();
41302
41391
  var visit = require_visit();
@@ -41331,29 +41420,31 @@ var require_Alias = /* @__PURE__ */ __commonJSMin(((exports) => {
41331
41420
  if (node === this) break;
41332
41421
  if (node.anchor === this.source) found = node;
41333
41422
  }
41423
+ if (found && ctx) {
41424
+ const { anchors, doc, maxAliasCount } = ctx;
41425
+ let data = anchors.get(found);
41426
+ if (!data) {
41427
+ toJS.toJS(found, null, ctx);
41428
+ data = anchors.get(found);
41429
+ }
41430
+ /* istanbul ignore if */
41431
+ if (data?.res === void 0) throw new ReferenceError("This should not happen: Alias anchor was not resolved?");
41432
+ if (maxAliasCount >= 0) {
41433
+ data.count += 1;
41434
+ if (data.aliasCount === 0) data.aliasCount = getAliasCount(doc, found, anchors);
41435
+ if (data.count * data.aliasCount > maxAliasCount) throw new ReferenceError("Excessive alias count indicates a resource exhaustion attack");
41436
+ }
41437
+ }
41334
41438
  return found;
41335
41439
  }
41336
41440
  toJSON(_arg, ctx) {
41337
41441
  if (!ctx) return { source: this.source };
41338
- const { anchors, doc, maxAliasCount } = ctx;
41339
- const source = this.resolve(doc, ctx);
41442
+ const source = this.resolve(ctx.doc, ctx);
41340
41443
  if (!source) {
41341
41444
  const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
41342
41445
  throw new ReferenceError(msg);
41343
41446
  }
41344
- let data = anchors.get(source);
41345
- if (!data) {
41346
- toJS.toJS(source, null, ctx);
41347
- data = anchors.get(source);
41348
- }
41349
- /* istanbul ignore if */
41350
- if (data?.res === void 0) throw new ReferenceError("This should not happen: Alias anchor was not resolved?");
41351
- if (maxAliasCount >= 0) {
41352
- data.count += 1;
41353
- if (data.aliasCount === 0) data.aliasCount = getAliasCount(doc, source, anchors);
41354
- if (data.count * data.aliasCount > maxAliasCount) throw new ReferenceError("Excessive alias count indicates a resource exhaustion attack");
41355
- }
41356
- return data.res;
41447
+ return ctx.anchors.get(source).res;
41357
41448
  }
41358
41449
  toString(ctx, _onComment, _onChompKeep) {
41359
41450
  const src = `*${this.source}`;
@@ -41390,7 +41481,7 @@ var require_Alias = /* @__PURE__ */ __commonJSMin(((exports) => {
41390
41481
  exports.Alias = Alias;
41391
41482
  }));
41392
41483
  //#endregion
41393
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Scalar.js
41484
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Scalar.js
41394
41485
  var require_Scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
41395
41486
  var identity = require_identity();
41396
41487
  var Node = require_Node();
@@ -41417,7 +41508,7 @@ var require_Scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
41417
41508
  exports.isScalarValue = isScalarValue;
41418
41509
  }));
41419
41510
  //#endregion
41420
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/createNode.js
41511
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/createNode.js
41421
41512
  var require_createNode = /* @__PURE__ */ __commonJSMin(((exports) => {
41422
41513
  var Alias = require_Alias();
41423
41514
  var identity = require_identity();
@@ -41480,7 +41571,7 @@ var require_createNode = /* @__PURE__ */ __commonJSMin(((exports) => {
41480
41571
  exports.createNode = createNode;
41481
41572
  }));
41482
41573
  //#endregion
41483
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Collection.js
41574
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Collection.js
41484
41575
  var require_Collection = /* @__PURE__ */ __commonJSMin(((exports) => {
41485
41576
  var createNode = require_createNode();
41486
41577
  var identity = require_identity();
@@ -41601,7 +41692,7 @@ var require_Collection = /* @__PURE__ */ __commonJSMin(((exports) => {
41601
41692
  exports.isEmptyPath = isEmptyPath;
41602
41693
  }));
41603
41694
  //#endregion
41604
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyComment.js
41695
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringifyComment.js
41605
41696
  var require_stringifyComment = /* @__PURE__ */ __commonJSMin(((exports) => {
41606
41697
  /**
41607
41698
  * Stringifies a comment.
@@ -41621,7 +41712,7 @@ var require_stringifyComment = /* @__PURE__ */ __commonJSMin(((exports) => {
41621
41712
  exports.stringifyComment = stringifyComment;
41622
41713
  }));
41623
41714
  //#endregion
41624
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/foldFlowLines.js
41715
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/foldFlowLines.js
41625
41716
  var require_foldFlowLines = /* @__PURE__ */ __commonJSMin(((exports) => {
41626
41717
  const FOLD_FLOW = "flow";
41627
41718
  const FOLD_BLOCK = "block";
@@ -41741,7 +41832,7 @@ var require_foldFlowLines = /* @__PURE__ */ __commonJSMin(((exports) => {
41741
41832
  exports.foldFlowLines = foldFlowLines;
41742
41833
  }));
41743
41834
  //#endregion
41744
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyString.js
41835
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringifyString.js
41745
41836
  var require_stringifyString = /* @__PURE__ */ __commonJSMin(((exports) => {
41746
41837
  var Scalar = require_Scalar();
41747
41838
  var foldFlowLines = require_foldFlowLines();
@@ -41965,7 +42056,7 @@ var require_stringifyString = /* @__PURE__ */ __commonJSMin(((exports) => {
41965
42056
  exports.stringifyString = stringifyString;
41966
42057
  }));
41967
42058
  //#endregion
41968
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringify.js
42059
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringify.js
41969
42060
  var require_stringify$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
41970
42061
  var anchors = require_anchors();
41971
42062
  var identity = require_identity();
@@ -42073,7 +42164,7 @@ var require_stringify$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42073
42164
  exports.stringify = stringify;
42074
42165
  }));
42075
42166
  //#endregion
42076
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyPair.js
42167
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringifyPair.js
42077
42168
  var require_stringifyPair = /* @__PURE__ */ __commonJSMin(((exports) => {
42078
42169
  var identity = require_identity();
42079
42170
  var Scalar = require_Scalar();
@@ -42170,7 +42261,7 @@ var require_stringifyPair = /* @__PURE__ */ __commonJSMin(((exports) => {
42170
42261
  exports.stringifyPair = stringifyPair;
42171
42262
  }));
42172
42263
  //#endregion
42173
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/log.js
42264
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/log.js
42174
42265
  var require_log = /* @__PURE__ */ __commonJSMin(((exports) => {
42175
42266
  var node_process$3 = require("process");
42176
42267
  function debug(logLevel, ...messages) {
@@ -42186,7 +42277,7 @@ var require_log = /* @__PURE__ */ __commonJSMin(((exports) => {
42186
42277
  exports.warn = warn;
42187
42278
  }));
42188
42279
  //#endregion
42189
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/merge.js
42280
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/merge.js
42190
42281
  var require_merge = /* @__PURE__ */ __commonJSMin(((exports) => {
42191
42282
  var identity = require_identity();
42192
42283
  var Scalar = require_Scalar();
@@ -42229,7 +42320,7 @@ var require_merge = /* @__PURE__ */ __commonJSMin(((exports) => {
42229
42320
  exports.merge = merge;
42230
42321
  }));
42231
42322
  //#endregion
42232
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/addPairToJSMap.js
42323
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/addPairToJSMap.js
42233
42324
  var require_addPairToJSMap = /* @__PURE__ */ __commonJSMin(((exports) => {
42234
42325
  var log = require_log();
42235
42326
  var merge = require_merge();
@@ -42280,7 +42371,7 @@ var require_addPairToJSMap = /* @__PURE__ */ __commonJSMin(((exports) => {
42280
42371
  exports.addPairToJSMap = addPairToJSMap;
42281
42372
  }));
42282
42373
  //#endregion
42283
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Pair.js
42374
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Pair.js
42284
42375
  var require_Pair = /* @__PURE__ */ __commonJSMin(((exports) => {
42285
42376
  var createNode = require_createNode();
42286
42377
  var stringifyPair = require_stringifyPair();
@@ -42313,7 +42404,7 @@ var require_Pair = /* @__PURE__ */ __commonJSMin(((exports) => {
42313
42404
  exports.createPair = createPair;
42314
42405
  }));
42315
42406
  //#endregion
42316
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyCollection.js
42407
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringifyCollection.js
42317
42408
  var require_stringifyCollection = /* @__PURE__ */ __commonJSMin(((exports) => {
42318
42409
  var identity = require_identity();
42319
42410
  var stringify = require_stringify$1();
@@ -42431,7 +42522,7 @@ var require_stringifyCollection = /* @__PURE__ */ __commonJSMin(((exports) => {
42431
42522
  exports.stringifyCollection = stringifyCollection;
42432
42523
  }));
42433
42524
  //#endregion
42434
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/YAMLMap.js
42525
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/YAMLMap.js
42435
42526
  var require_YAMLMap = /* @__PURE__ */ __commonJSMin(((exports) => {
42436
42527
  var stringifyCollection = require_stringifyCollection();
42437
42528
  var addPairToJSMap = require_addPairToJSMap();
@@ -42540,7 +42631,7 @@ var require_YAMLMap = /* @__PURE__ */ __commonJSMin(((exports) => {
42540
42631
  exports.findPair = findPair;
42541
42632
  }));
42542
42633
  //#endregion
42543
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/common/map.js
42634
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/common/map.js
42544
42635
  var require_map = /* @__PURE__ */ __commonJSMin(((exports) => {
42545
42636
  var identity = require_identity();
42546
42637
  var YAMLMap = require_YAMLMap();
@@ -42557,7 +42648,7 @@ var require_map = /* @__PURE__ */ __commonJSMin(((exports) => {
42557
42648
  };
42558
42649
  }));
42559
42650
  //#endregion
42560
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/YAMLSeq.js
42651
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/YAMLSeq.js
42561
42652
  var require_YAMLSeq = /* @__PURE__ */ __commonJSMin(((exports) => {
42562
42653
  var createNode = require_createNode();
42563
42654
  var stringifyCollection = require_stringifyCollection();
@@ -42663,7 +42754,7 @@ var require_YAMLSeq = /* @__PURE__ */ __commonJSMin(((exports) => {
42663
42754
  exports.YAMLSeq = YAMLSeq;
42664
42755
  }));
42665
42756
  //#endregion
42666
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/common/seq.js
42757
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/common/seq.js
42667
42758
  var require_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
42668
42759
  var identity = require_identity();
42669
42760
  var YAMLSeq = require_YAMLSeq();
@@ -42680,7 +42771,7 @@ var require_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
42680
42771
  };
42681
42772
  }));
42682
42773
  //#endregion
42683
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/common/string.js
42774
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/common/string.js
42684
42775
  var require_string = /* @__PURE__ */ __commonJSMin(((exports) => {
42685
42776
  var stringifyString = require_stringifyString();
42686
42777
  exports.string = {
@@ -42695,7 +42786,7 @@ var require_string = /* @__PURE__ */ __commonJSMin(((exports) => {
42695
42786
  };
42696
42787
  }));
42697
42788
  //#endregion
42698
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/common/null.js
42789
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/common/null.js
42699
42790
  var require_null = /* @__PURE__ */ __commonJSMin(((exports) => {
42700
42791
  var Scalar = require_Scalar();
42701
42792
  const nullTag = {
@@ -42710,7 +42801,7 @@ var require_null = /* @__PURE__ */ __commonJSMin(((exports) => {
42710
42801
  exports.nullTag = nullTag;
42711
42802
  }));
42712
42803
  //#endregion
42713
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/core/bool.js
42804
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/core/bool.js
42714
42805
  var require_bool$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42715
42806
  var Scalar = require_Scalar();
42716
42807
  const boolTag = {
@@ -42729,7 +42820,7 @@ var require_bool$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42729
42820
  exports.boolTag = boolTag;
42730
42821
  }));
42731
42822
  //#endregion
42732
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyNumber.js
42823
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringifyNumber.js
42733
42824
  var require_stringifyNumber = /* @__PURE__ */ __commonJSMin(((exports) => {
42734
42825
  function stringifyNumber({ format, minFractionDigits, tag, value }) {
42735
42826
  if (typeof value === "bigint") return String(value);
@@ -42750,7 +42841,7 @@ var require_stringifyNumber = /* @__PURE__ */ __commonJSMin(((exports) => {
42750
42841
  exports.stringifyNumber = stringifyNumber;
42751
42842
  }));
42752
42843
  //#endregion
42753
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/core/float.js
42844
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/core/float.js
42754
42845
  var require_float$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42755
42846
  var Scalar = require_Scalar();
42756
42847
  var stringifyNumber = require_stringifyNumber();
@@ -42791,7 +42882,7 @@ var require_float$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42791
42882
  exports.floatNaN = floatNaN;
42792
42883
  }));
42793
42884
  //#endregion
42794
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/core/int.js
42885
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/core/int.js
42795
42886
  var require_int$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42796
42887
  var stringifyNumber = require_stringifyNumber();
42797
42888
  const intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
@@ -42832,7 +42923,7 @@ var require_int$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42832
42923
  exports.intOct = intOct;
42833
42924
  }));
42834
42925
  //#endregion
42835
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/core/schema.js
42926
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/core/schema.js
42836
42927
  var require_schema$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
42837
42928
  var map = require_map();
42838
42929
  var _null = require_null();
@@ -42856,7 +42947,7 @@ var require_schema$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
42856
42947
  ];
42857
42948
  }));
42858
42949
  //#endregion
42859
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/json/schema.js
42950
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/json/schema.js
42860
42951
  var require_schema$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42861
42952
  var Scalar = require_Scalar();
42862
42953
  var map = require_map();
@@ -42918,7 +43009,7 @@ var require_schema$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42918
43009
  });
42919
43010
  }));
42920
43011
  //#endregion
42921
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/binary.js
43012
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/binary.js
42922
43013
  var require_binary = /* @__PURE__ */ __commonJSMin(((exports) => {
42923
43014
  var node_buffer = require("buffer");
42924
43015
  var Scalar = require_Scalar();
@@ -42974,7 +43065,7 @@ var require_binary = /* @__PURE__ */ __commonJSMin(((exports) => {
42974
43065
  };
42975
43066
  }));
42976
43067
  //#endregion
42977
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/pairs.js
43068
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/pairs.js
42978
43069
  var require_pairs = /* @__PURE__ */ __commonJSMin(((exports) => {
42979
43070
  var identity = require_identity();
42980
43071
  var Pair = require_Pair();
@@ -43035,7 +43126,7 @@ var require_pairs = /* @__PURE__ */ __commonJSMin(((exports) => {
43035
43126
  exports.resolvePairs = resolvePairs;
43036
43127
  }));
43037
43128
  //#endregion
43038
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/omap.js
43129
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/omap.js
43039
43130
  var require_omap = /* @__PURE__ */ __commonJSMin(((exports) => {
43040
43131
  var identity = require_identity();
43041
43132
  var toJS = require_toJS();
@@ -43100,7 +43191,7 @@ var require_omap = /* @__PURE__ */ __commonJSMin(((exports) => {
43100
43191
  exports.omap = omap;
43101
43192
  }));
43102
43193
  //#endregion
43103
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/bool.js
43194
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/bool.js
43104
43195
  var require_bool = /* @__PURE__ */ __commonJSMin(((exports) => {
43105
43196
  var Scalar = require_Scalar();
43106
43197
  function boolStringify({ value, source }, ctx) {
@@ -43127,7 +43218,7 @@ var require_bool = /* @__PURE__ */ __commonJSMin(((exports) => {
43127
43218
  exports.trueTag = trueTag;
43128
43219
  }));
43129
43220
  //#endregion
43130
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/float.js
43221
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/float.js
43131
43222
  var require_float = /* @__PURE__ */ __commonJSMin(((exports) => {
43132
43223
  var Scalar = require_Scalar();
43133
43224
  var stringifyNumber = require_stringifyNumber();
@@ -43171,7 +43262,7 @@ var require_float = /* @__PURE__ */ __commonJSMin(((exports) => {
43171
43262
  exports.floatNaN = floatNaN;
43172
43263
  }));
43173
43264
  //#endregion
43174
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/int.js
43265
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/int.js
43175
43266
  var require_int = /* @__PURE__ */ __commonJSMin(((exports) => {
43176
43267
  var stringifyNumber = require_stringifyNumber();
43177
43268
  const intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
@@ -43244,7 +43335,7 @@ var require_int = /* @__PURE__ */ __commonJSMin(((exports) => {
43244
43335
  exports.intOct = intOct;
43245
43336
  }));
43246
43337
  //#endregion
43247
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/set.js
43338
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/set.js
43248
43339
  var require_set = /* @__PURE__ */ __commonJSMin(((exports) => {
43249
43340
  var identity = require_identity();
43250
43341
  var Pair = require_Pair();
@@ -43313,7 +43404,7 @@ var require_set = /* @__PURE__ */ __commonJSMin(((exports) => {
43313
43404
  exports.set = set;
43314
43405
  }));
43315
43406
  //#endregion
43316
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
43407
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
43317
43408
  var require_timestamp = /* @__PURE__ */ __commonJSMin(((exports) => {
43318
43409
  var stringifyNumber = require_stringifyNumber();
43319
43410
  /** Internal types handle bigint as number, because TS can't figure it out. */
@@ -43396,7 +43487,7 @@ var require_timestamp = /* @__PURE__ */ __commonJSMin(((exports) => {
43396
43487
  exports.timestamp = timestamp;
43397
43488
  }));
43398
43489
  //#endregion
43399
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/schema.js
43490
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/schema.js
43400
43491
  var require_schema = /* @__PURE__ */ __commonJSMin(((exports) => {
43401
43492
  var map = require_map();
43402
43493
  var _null = require_null();
@@ -43436,7 +43527,7 @@ var require_schema = /* @__PURE__ */ __commonJSMin(((exports) => {
43436
43527
  ];
43437
43528
  }));
43438
43529
  //#endregion
43439
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/tags.js
43530
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/tags.js
43440
43531
  var require_tags = /* @__PURE__ */ __commonJSMin(((exports) => {
43441
43532
  var map = require_map();
43442
43533
  var _null = require_null();
@@ -43522,7 +43613,7 @@ var require_tags = /* @__PURE__ */ __commonJSMin(((exports) => {
43522
43613
  exports.getTags = getTags;
43523
43614
  }));
43524
43615
  //#endregion
43525
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/Schema.js
43616
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/Schema.js
43526
43617
  var require_Schema = /* @__PURE__ */ __commonJSMin(((exports) => {
43527
43618
  var identity = require_identity();
43528
43619
  var map = require_map();
@@ -43550,7 +43641,7 @@ var require_Schema = /* @__PURE__ */ __commonJSMin(((exports) => {
43550
43641
  };
43551
43642
  }));
43552
43643
  //#endregion
43553
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyDocument.js
43644
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringifyDocument.js
43554
43645
  var require_stringifyDocument = /* @__PURE__ */ __commonJSMin(((exports) => {
43555
43646
  var identity = require_identity();
43556
43647
  var stringify = require_stringify$1();
@@ -43612,7 +43703,7 @@ var require_stringifyDocument = /* @__PURE__ */ __commonJSMin(((exports) => {
43612
43703
  exports.stringifyDocument = stringifyDocument;
43613
43704
  }));
43614
43705
  //#endregion
43615
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/Document.js
43706
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/Document.js
43616
43707
  var require_Document = /* @__PURE__ */ __commonJSMin(((exports) => {
43617
43708
  var Alias = require_Alias();
43618
43709
  var Collection = require_Collection();
@@ -43893,7 +43984,7 @@ var require_Document = /* @__PURE__ */ __commonJSMin(((exports) => {
43893
43984
  exports.Document = Document;
43894
43985
  }));
43895
43986
  //#endregion
43896
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/errors.js
43987
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/errors.js
43897
43988
  var require_errors = /* @__PURE__ */ __commonJSMin(((exports) => {
43898
43989
  var YAMLError = class extends Error {
43899
43990
  constructor(name, pos, code, message) {
@@ -43946,7 +44037,7 @@ var require_errors = /* @__PURE__ */ __commonJSMin(((exports) => {
43946
44037
  exports.prettifyError = prettifyError;
43947
44038
  }));
43948
44039
  //#endregion
43949
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-props.js
44040
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-props.js
43950
44041
  var require_resolve_props = /* @__PURE__ */ __commonJSMin(((exports) => {
43951
44042
  function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIndent, startOnNewline }) {
43952
44043
  let spaceBefore = false;
@@ -44053,7 +44144,7 @@ var require_resolve_props = /* @__PURE__ */ __commonJSMin(((exports) => {
44053
44144
  exports.resolveProps = resolveProps;
44054
44145
  }));
44055
44146
  //#endregion
44056
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/util-contains-newline.js
44147
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/util-contains-newline.js
44057
44148
  var require_util_contains_newline = /* @__PURE__ */ __commonJSMin(((exports) => {
44058
44149
  function containsNewline(key) {
44059
44150
  if (!key) return null;
@@ -44082,7 +44173,7 @@ var require_util_contains_newline = /* @__PURE__ */ __commonJSMin(((exports) =>
44082
44173
  exports.containsNewline = containsNewline;
44083
44174
  }));
44084
44175
  //#endregion
44085
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/util-flow-indent-check.js
44176
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/util-flow-indent-check.js
44086
44177
  var require_util_flow_indent_check = /* @__PURE__ */ __commonJSMin(((exports) => {
44087
44178
  var utilContainsNewline = require_util_contains_newline();
44088
44179
  function flowIndentCheck(indent, fc, onError) {
@@ -44094,7 +44185,7 @@ var require_util_flow_indent_check = /* @__PURE__ */ __commonJSMin(((exports) =>
44094
44185
  exports.flowIndentCheck = flowIndentCheck;
44095
44186
  }));
44096
44187
  //#endregion
44097
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/util-map-includes.js
44188
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/util-map-includes.js
44098
44189
  var require_util_map_includes = /* @__PURE__ */ __commonJSMin(((exports) => {
44099
44190
  var identity = require_identity();
44100
44191
  function mapIncludes(ctx, items, search) {
@@ -44106,7 +44197,7 @@ var require_util_map_includes = /* @__PURE__ */ __commonJSMin(((exports) => {
44106
44197
  exports.mapIncludes = mapIncludes;
44107
44198
  }));
44108
44199
  //#endregion
44109
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-block-map.js
44200
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-block-map.js
44110
44201
  var require_resolve_block_map = /* @__PURE__ */ __commonJSMin(((exports) => {
44111
44202
  var Pair = require_Pair();
44112
44203
  var YAMLMap = require_YAMLMap();
@@ -44194,7 +44285,7 @@ var require_resolve_block_map = /* @__PURE__ */ __commonJSMin(((exports) => {
44194
44285
  exports.resolveBlockMap = resolveBlockMap;
44195
44286
  }));
44196
44287
  //#endregion
44197
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-block-seq.js
44288
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-block-seq.js
44198
44289
  var require_resolve_block_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
44199
44290
  var YAMLSeq = require_YAMLSeq();
44200
44291
  var resolveProps = require_resolve_props();
@@ -44239,7 +44330,7 @@ var require_resolve_block_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
44239
44330
  exports.resolveBlockSeq = resolveBlockSeq;
44240
44331
  }));
44241
44332
  //#endregion
44242
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-end.js
44333
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-end.js
44243
44334
  var require_resolve_end = /* @__PURE__ */ __commonJSMin(((exports) => {
44244
44335
  function resolveEnd(end, offset, reqSpace, onError) {
44245
44336
  let comment = "";
@@ -44277,7 +44368,7 @@ var require_resolve_end = /* @__PURE__ */ __commonJSMin(((exports) => {
44277
44368
  exports.resolveEnd = resolveEnd;
44278
44369
  }));
44279
44370
  //#endregion
44280
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-flow-collection.js
44371
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-flow-collection.js
44281
44372
  var require_resolve_flow_collection = /* @__PURE__ */ __commonJSMin(((exports) => {
44282
44373
  var identity = require_identity();
44283
44374
  var Pair = require_Pair();
@@ -44440,7 +44531,7 @@ var require_resolve_flow_collection = /* @__PURE__ */ __commonJSMin(((exports) =
44440
44531
  exports.resolveFlowCollection = resolveFlowCollection;
44441
44532
  }));
44442
44533
  //#endregion
44443
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/compose-collection.js
44534
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/compose-collection.js
44444
44535
  var require_compose_collection = /* @__PURE__ */ __commonJSMin(((exports) => {
44445
44536
  var identity = require_identity();
44446
44537
  var Scalar = require_Scalar();
@@ -44492,7 +44583,7 @@ var require_compose_collection = /* @__PURE__ */ __commonJSMin(((exports) => {
44492
44583
  exports.composeCollection = composeCollection;
44493
44584
  }));
44494
44585
  //#endregion
44495
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-block-scalar.js
44586
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-block-scalar.js
44496
44587
  var require_resolve_block_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44497
44588
  var Scalar = require_Scalar();
44498
44589
  function resolveBlockScalar(ctx, scalar, onError) {
@@ -44669,7 +44760,7 @@ var require_resolve_block_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44669
44760
  exports.resolveBlockScalar = resolveBlockScalar;
44670
44761
  }));
44671
44762
  //#endregion
44672
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-flow-scalar.js
44763
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-flow-scalar.js
44673
44764
  var require_resolve_flow_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44674
44765
  var Scalar = require_Scalar();
44675
44766
  var resolveEnd = require_resolve_end();
@@ -44739,40 +44830,41 @@ var require_resolve_flow_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44739
44830
  case "`": badChar = `reserved character ${source[0]}`;
44740
44831
  }
44741
44832
  if (badChar) onError(0, "BAD_SCALAR_START", `Plain value cannot start with ${badChar}`);
44742
- return foldLines(source);
44833
+ return unfoldLines(source);
44743
44834
  }
44744
44835
  function singleQuotedValue(source, onError) {
44745
44836
  if (source[source.length - 1] !== "'" || source.length === 1) onError(source.length, "MISSING_CHAR", "Missing closing 'quote");
44746
- return foldLines(source.slice(1, -1)).replace(/''/g, "'");
44837
+ return unfoldLines(source.slice(1, -1)).replace(/''/g, "'");
44747
44838
  }
44748
- function foldLines(source) {
44839
+ function unfoldLines(source) {
44840
+ const line = /(.*?)\r?\n/sy;
44841
+ let match = line.exec(source);
44842
+ if (!match) return source;
44749
44843
  /**
44750
- * The negative lookbehind here and in the `re` RegExp is to
44844
+ * The negative lookbehinds in these RegExps are to
44751
44845
  * prevent causing a polynomial search time in certain cases.
44752
44846
  *
44753
- * The try-catch is for Safari, which doesn't support this yet:
44847
+ * The try-catch is for Safari < 16.4 and other old browsers:
44754
44848
  * https://caniuse.com/js-regexp-lookbehind
44755
44849
  */
44756
- let first, line;
44850
+ let trimEnd, trimBoth;
44757
44851
  try {
44758
- first = new RegExp("(.*?)(?<![ ])[ ]*\r?\n", "sy");
44759
- line = new RegExp("[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?\n", "sy");
44852
+ trimEnd = new RegExp("(?<![ ])[ ]+$");
44853
+ trimBoth = new RegExp("^[ ]+|(?<![ ])[ ]+$", "g");
44760
44854
  } catch {
44761
- first = /(.*?)[ \t]*\r?\n/sy;
44762
- line = /[ \t]*(.*?)[ \t]*\r?\n/sy;
44855
+ trimEnd = /[ \t]+$/;
44856
+ trimBoth = /^[ \t]+|[ \t]+$/g;
44763
44857
  }
44764
- let match = first.exec(source);
44765
- if (!match) return source;
44766
- let res = match[1];
44858
+ let res = match[1].replace(trimEnd, "");
44767
44859
  let sep = " ";
44768
- let pos = first.lastIndex;
44769
- line.lastIndex = pos;
44860
+ let pos = line.lastIndex;
44770
44861
  while (match = line.exec(source)) {
44771
- if (match[1] === "") {
44862
+ const lm = match[1].replace(trimBoth, "");
44863
+ if (lm === "") {
44772
44864
  if (sep === "\n") res += sep;
44773
44865
  else sep = "\n";
44774
44866
  } else {
44775
- res += sep + match[1];
44867
+ res += sep + lm;
44776
44868
  sep = " ";
44777
44869
  }
44778
44870
  pos = line.lastIndex;
@@ -44873,7 +44965,7 @@ var require_resolve_flow_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44873
44965
  exports.resolveFlowScalar = resolveFlowScalar;
44874
44966
  }));
44875
44967
  //#endregion
44876
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/compose-scalar.js
44968
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/compose-scalar.js
44877
44969
  var require_compose_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44878
44970
  var identity = require_identity();
44879
44971
  var Scalar = require_Scalar();
@@ -44934,7 +45026,7 @@ var require_compose_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44934
45026
  exports.composeScalar = composeScalar;
44935
45027
  }));
44936
45028
  //#endregion
44937
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/util-empty-scalar-position.js
45029
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/util-empty-scalar-position.js
44938
45030
  var require_util_empty_scalar_position = /* @__PURE__ */ __commonJSMin(((exports) => {
44939
45031
  function emptyScalarPosition(offset, before, pos) {
44940
45032
  if (before) {
@@ -44961,7 +45053,7 @@ var require_util_empty_scalar_position = /* @__PURE__ */ __commonJSMin(((exports
44961
45053
  exports.emptyScalarPosition = emptyScalarPosition;
44962
45054
  }));
44963
45055
  //#endregion
44964
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/compose-node.js
45056
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/compose-node.js
44965
45057
  var require_compose_node = /* @__PURE__ */ __commonJSMin(((exports) => {
44966
45058
  var Alias = require_Alias();
44967
45059
  var identity = require_identity();
@@ -45052,7 +45144,7 @@ var require_compose_node = /* @__PURE__ */ __commonJSMin(((exports) => {
45052
45144
  exports.composeNode = composeNode;
45053
45145
  }));
45054
45146
  //#endregion
45055
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/compose-doc.js
45147
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/compose-doc.js
45056
45148
  var require_compose_doc = /* @__PURE__ */ __commonJSMin(((exports) => {
45057
45149
  var Document = require_Document();
45058
45150
  var composeNode = require_compose_node();
@@ -45094,7 +45186,7 @@ var require_compose_doc = /* @__PURE__ */ __commonJSMin(((exports) => {
45094
45186
  exports.composeDoc = composeDoc;
45095
45187
  }));
45096
45188
  //#endregion
45097
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/composer.js
45189
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/composer.js
45098
45190
  var require_composer = /* @__PURE__ */ __commonJSMin(((exports) => {
45099
45191
  var node_process$2 = require("process");
45100
45192
  var directives = require_directives();
@@ -45292,7 +45384,7 @@ var require_composer = /* @__PURE__ */ __commonJSMin(((exports) => {
45292
45384
  exports.Composer = Composer;
45293
45385
  }));
45294
45386
  //#endregion
45295
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/cst-scalar.js
45387
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/cst-scalar.js
45296
45388
  var require_cst_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
45297
45389
  var resolveBlockScalar = require_resolve_block_scalar();
45298
45390
  var resolveFlowScalar = require_resolve_flow_scalar();
@@ -45559,7 +45651,7 @@ var require_cst_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
45559
45651
  exports.setScalarValue = setScalarValue;
45560
45652
  }));
45561
45653
  //#endregion
45562
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/cst-stringify.js
45654
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/cst-stringify.js
45563
45655
  var require_cst_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
45564
45656
  /**
45565
45657
  * Stringify a CST document, token, or collection item
@@ -45610,7 +45702,7 @@ var require_cst_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
45610
45702
  exports.stringify = stringify;
45611
45703
  }));
45612
45704
  //#endregion
45613
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/cst-visit.js
45705
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/cst-visit.js
45614
45706
  var require_cst_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
45615
45707
  const BREAK = Symbol("break visit");
45616
45708
  const SKIP = Symbol("skip children");
@@ -45701,7 +45793,7 @@ var require_cst_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
45701
45793
  exports.visit = visit;
45702
45794
  }));
45703
45795
  //#endregion
45704
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/cst.js
45796
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/cst.js
45705
45797
  var require_cst = /* @__PURE__ */ __commonJSMin(((exports) => {
45706
45798
  var cstScalar = require_cst_scalar();
45707
45799
  var cstStringify = require_cst_stringify();
@@ -45780,7 +45872,7 @@ var require_cst = /* @__PURE__ */ __commonJSMin(((exports) => {
45780
45872
  exports.tokenType = tokenType;
45781
45873
  }));
45782
45874
  //#endregion
45783
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/lexer.js
45875
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/lexer.js
45784
45876
  var require_lexer = /* @__PURE__ */ __commonJSMin(((exports) => {
45785
45877
  var cst = require_cst();
45786
45878
  function isEmpty(ch) {
@@ -46313,7 +46405,7 @@ var require_lexer = /* @__PURE__ */ __commonJSMin(((exports) => {
46313
46405
  exports.Lexer = Lexer;
46314
46406
  }));
46315
46407
  //#endregion
46316
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/line-counter.js
46408
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/line-counter.js
46317
46409
  var require_line_counter = /* @__PURE__ */ __commonJSMin(((exports) => {
46318
46410
  /**
46319
46411
  * Tracks newlines during parsing in order to provide an efficient API for
@@ -46360,7 +46452,7 @@ var require_line_counter = /* @__PURE__ */ __commonJSMin(((exports) => {
46360
46452
  exports.LineCounter = LineCounter;
46361
46453
  }));
46362
46454
  //#endregion
46363
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/parser.js
46455
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/parser.js
46364
46456
  var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
46365
46457
  var node_process$1 = require("process");
46366
46458
  var cst = require_cst();
@@ -47226,7 +47318,7 @@ var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
47226
47318
  exports.Parser = Parser;
47227
47319
  }));
47228
47320
  //#endregion
47229
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/public-api.js
47321
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/public-api.js
47230
47322
  var require_public_api = /* @__PURE__ */ __commonJSMin(((exports) => {
47231
47323
  var composer = require_composer();
47232
47324
  var Document = require_Document();
@@ -47315,7 +47407,7 @@ var require_public_api = /* @__PURE__ */ __commonJSMin(((exports) => {
47315
47407
  exports.stringify = stringify;
47316
47408
  }));
47317
47409
  //#endregion
47318
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/index.js
47410
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/index.js
47319
47411
  var require_dist = /* @__PURE__ */ __commonJSMin(((exports) => {
47320
47412
  var composer = require_composer();
47321
47413
  var Document = require_Document();
@@ -55693,17 +55785,8 @@ const SilkChangesetsRules = [
55693
55785
  DependencyTableFormatRule
55694
55786
  ];
55695
55787
  //#endregion
55696
- //#region src/changesets/changelog.ts
55697
- /**
55698
- * Changesets API changelog formatter shim for \@savvy-web/silk.
55699
- *
55700
- * Drop-in replacement for \@savvy-web/changesets/changelog.
55701
- * The default export is the ChangelogFunctions object consumed by the
55702
- * Changesets CLI via the changelog field in .changeset/config.json.
55703
- *
55704
- * @packageDocumentation
55705
- */
55706
- const changelogFunctions = (/* @__PURE__ */ __exportAll({
55788
+ //#region ../silk-effects/dist/dev/pkg/changesets/index.js
55789
+ var changesets_exports = /* @__PURE__ */ __exportAll({
55707
55790
  AggregateDependencyTablesPlugin: () => AggregateDependencyTablesPlugin,
55708
55791
  AppliedReleaseEntrySchema: () => AppliedReleaseEntrySchema,
55709
55792
  AppliedReleaseSchema: () => AppliedReleaseSchema,
@@ -55717,6 +55800,7 @@ const changelogFunctions = (/* @__PURE__ */ __exportAll({
55717
55800
  ChangelogTransformer: () => ChangelogTransformer,
55718
55801
  ChangesetIOError: () => ChangesetIOError,
55719
55802
  ChangesetLinter: () => ChangesetLinter,
55803
+ ChangesetLogMode: () => ChangesetLogMode,
55720
55804
  ChangesetOptionsSchema: () => ChangesetOptionsSchema,
55721
55805
  ChangesetPreviewSchema: () => ChangesetPreviewSchema,
55722
55806
  ChangesetSchema: () => ChangesetSchema,
@@ -55803,6 +55887,7 @@ const changelogFunctions = (/* @__PURE__ */ __exportAll({
55803
55887
  isPureDependencyChangeset: () => isPureDependencyChangeset,
55804
55888
  listPublishablePackageNames: () => listPublishablePackageNames,
55805
55889
  makeBranchAnalyzerTest: () => makeBranchAnalyzerTest,
55890
+ makeChangelogFunctions: () => makeChangelogFunctions,
55806
55891
  makeConfigInspectorTest: () => makeConfigInspectorTest,
55807
55892
  makeDepsRegenDefault: () => makeDepsRegenDefault,
55808
55893
  makeGitHubTest: () => makeGitHubTest,
@@ -55810,6 +55895,28 @@ const changelogFunctions = (/* @__PURE__ */ __exportAll({
55810
55895
  parseChangesetPackages: () => parseChangesetPackages,
55811
55896
  serializeDependencyTableToMarkdown: () => serializeDependencyTableToMarkdown,
55812
55897
  vanillaChangelogFunctions: () => vanillaChangelogFunctions
55813
- })).changelogFunctions;
55898
+ });
55899
+ //#endregion
55900
+ //#region src/changesets/changelog.ts
55901
+ /**
55902
+ * Changesets API changelog formatter shim for \@savvy-web/silk.
55903
+ *
55904
+ * Drop-in replacement for \@savvy-web/changesets/changelog (superseded by
55905
+ * \@savvy-web/changelog, which this mirrors exactly). The default export is
55906
+ * the ChangelogFunctions object consumed by the Changesets CLI via the
55907
+ * changelog field in .changeset/config.json.
55908
+ *
55909
+ * This shim is the host adapter for the changesets CLI, a foreign process
55910
+ * that supplies no context of its own, so the warning mode is read from
55911
+ * `process.env` HERE and handed to the engine, which never reads it.
55912
+ *
55913
+ * @packageDocumentation
55914
+ */
55915
+ const logMode = () => {
55916
+ if (process.env.VITEST) return "silent";
55917
+ if (process.env.GITHUB_ACTIONS === "true") return "github";
55918
+ return "stderr";
55919
+ };
55920
+ const changelogFunctions = changesets_exports.makeChangelogFunctions({ logMode: logMode() });
55814
55921
  //#endregion
55815
55922
  module.exports = changelogFunctions;