securemark 0.248.1 → 0.250.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.
Files changed (49) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/dist/index.js +351 -284
  4. package/karma.conf.js +1 -1
  5. package/markdown.d.ts +11 -5
  6. package/package.json +12 -12
  7. package/src/parser/api/parse.test.ts +6 -6
  8. package/src/parser/block/blockquote.test.ts +2 -2
  9. package/src/parser/block/dlist.test.ts +2 -1
  10. package/src/parser/block/dlist.ts +4 -4
  11. package/src/parser/block/extension/figure.ts +3 -3
  12. package/src/parser/block/heading.test.ts +1 -0
  13. package/src/parser/block/heading.ts +4 -4
  14. package/src/parser/block/olist.ts +3 -2
  15. package/src/parser/block/paragraph.test.ts +10 -10
  16. package/src/parser/block/paragraph.ts +2 -2
  17. package/src/parser/block/reply.ts +2 -2
  18. package/src/parser/block/ulist.ts +4 -3
  19. package/src/parser/inline/annotation.test.ts +2 -2
  20. package/src/parser/inline/annotation.ts +3 -4
  21. package/src/parser/inline/comment.test.ts +44 -44
  22. package/src/parser/inline/comment.ts +3 -3
  23. package/src/parser/inline/deletion.ts +3 -3
  24. package/src/parser/inline/emphasis.test.ts +5 -4
  25. package/src/parser/inline/emphasis.ts +8 -3
  26. package/src/parser/inline/emstrong.ts +14 -6
  27. package/src/parser/inline/extension/index.test.ts +4 -4
  28. package/src/parser/inline/extension/placeholder.test.ts +4 -4
  29. package/src/parser/inline/html.test.ts +5 -2
  30. package/src/parser/inline/html.ts +10 -14
  31. package/src/parser/inline/insertion.ts +3 -3
  32. package/src/parser/inline/link.test.ts +2 -2
  33. package/src/parser/inline/link.ts +3 -4
  34. package/src/parser/inline/mark.test.ts +5 -4
  35. package/src/parser/inline/mark.ts +3 -3
  36. package/src/parser/inline/reference.test.ts +5 -5
  37. package/src/parser/inline/reference.ts +7 -9
  38. package/src/parser/inline/strong.test.ts +5 -4
  39. package/src/parser/inline/strong.ts +7 -3
  40. package/src/parser/inline.test.ts +2 -2
  41. package/src/parser/source/escapable.test.ts +4 -3
  42. package/src/parser/source/escapable.ts +3 -3
  43. package/src/parser/source/text.test.ts +4 -4
  44. package/src/parser/source/text.ts +3 -3
  45. package/src/parser/source/unescapable.test.ts +4 -3
  46. package/src/parser/source/unescapable.ts +3 -3
  47. package/src/parser/util.ts +26 -13
  48. package/src/renderer/render/media/image.ts +3 -3
  49. package/src/renderer/render/media/video.ts +2 -2
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! securemark v0.248.1 https://github.com/falsandtru/securemark | (c) 2017, falsandtru | UNLICENSED License */
1
+ /*! securemark v0.250.0 https://github.com/falsandtru/securemark | (c) 2017, falsandtru | UNLICENSED License */
2
2
  (function webpackUniversalModuleDefinition(root, factory) {
3
3
  if(typeof exports === 'object' && typeof module === 'object')
4
4
  module.exports = factory(require("DOMPurify"), require("Prism"));
@@ -64,50 +64,18 @@ __exportStar(__webpack_require__(256), exports);
64
64
  Object.defineProperty(exports, "__esModule", ({
65
65
  value: true
66
66
  }));
67
- exports.isArray = exports.ObjectValues = exports.ObjectSetPrototypeOf = exports.ObjectSeal = exports.ObjectPreventExtensions = exports.ObjectKeys = exports.isSealed = exports.isFrozen = exports.isExtensible = exports.ObjectIs = exports.ObjectGetPrototypeOf = exports.ObjectGetOwnPropertySymbols = exports.ObjectGetOwnPropertyNames = exports.ObjectGetOwnPropertyDescriptors = exports.ObjectGetOwnPropertyDescriptor = exports.ObjectFromEntries = exports.ObjectFreeze = exports.ObjectEntries = exports.ObjectDefineProperty = exports.ObjectDefineProperties = exports.ObjectCreate = exports.ObjectAssign = exports.toString = exports.isEnumerable = exports.isPrototypeOf = exports.hasOwnProperty = exports.SymbolKeyFor = exports.SymbolFor = exports.sign = exports.round = exports.random = exports.min = exports.max = exports.floor = exports.ceil = exports.abs = exports.parseInt = exports.parseFloat = exports.isSafeInteger = exports.isNaN = exports.isInteger = exports.isFinite = exports[NaN] = void 0;
67
+ exports.ObjectSetPrototypeOf = exports.ObjectGetPrototypeOf = exports.ObjectCreate = exports.ObjectAssign = exports.toString = exports.isEnumerable = exports.isPrototypeOf = exports.hasOwnProperty = exports.isArray = exports.sign = exports.round = exports.random = exports.min = exports.max = exports.floor = exports.ceil = exports.abs = exports.parseInt = exports.parseFloat = exports.isSafeInteger = exports.isNaN = exports.isInteger = exports.isFinite = exports[NaN] = void 0;
68
68
  exports[NaN] = Number.NaN, exports.isFinite = Number.isFinite, exports.isInteger = Number.isInteger, exports.isNaN = Number.isNaN, exports.isSafeInteger = Number.isSafeInteger, exports.parseFloat = Number.parseFloat, exports.parseInt = Number.parseInt;
69
- exports.abs = Math.abs, exports.ceil = Math.ceil, exports.floor = Math.floor, exports.max = Math.max, exports.min = Math.min, exports.random = Math.random, exports.round = Math.round, exports.sign = Math.sign; //export const SymbolAsyncIterator: typeof Symbol.asyncIterator = Symbol.asyncIterator;
70
-
71
- exports.SymbolFor = Symbol.for; //export const SymbolHasInstance: typeof Symbol.hasInstance = Symbol.hasInstance;
72
- //export const SymbolIsConcatSpreadable: typeof Symbol.isConcatSpreadable = Symbol.isConcatSpreadable;
73
- //export const SymbolIterator: typeof Symbol.iterator = Symbol.iterator;
74
-
75
- exports.SymbolKeyFor = Symbol.keyFor; //export const SymbolMatch: typeof Symbol.match = Symbol.match;
76
- //export const SymbolReplace: typeof Symbol.replace = Symbol.replace;
77
- //export const SymbolSearch: typeof Symbol.search = Symbol.search;
78
- //export const SymbolSpecies: typeof Symbol.species = Symbol.species;
79
- //export const SymbolSplit: typeof Symbol.split = Symbol.split;
80
- //export const SymbolToPrimitive: typeof Symbol.toPrimitive = Symbol.toPrimitive;
81
- //export const SymbolToStringTag: typeof Symbol.toStringTag = Symbol.toStringTag;
82
- //export const SymbolUnscopables: typeof Symbol.unscopables = Symbol.unscopables;
83
-
69
+ exports.abs = Math.abs, exports.ceil = Math.ceil, exports.floor = Math.floor, exports.max = Math.max, exports.min = Math.min, exports.random = Math.random, exports.round = Math.round, exports.sign = Math.sign;
70
+ exports.isArray = Array.isArray;
84
71
  exports.hasOwnProperty = Object.prototype.hasOwnProperty.call.bind(Object.prototype.hasOwnProperty);
85
72
  exports.isPrototypeOf = Object.prototype.isPrototypeOf.call.bind(Object.prototype.isPrototypeOf);
86
73
  exports.isEnumerable = Object.prototype.propertyIsEnumerable.call.bind(Object.prototype.propertyIsEnumerable);
87
74
  exports.toString = Object.prototype.toString.call.bind(Object.prototype.toString);
88
75
  exports.ObjectAssign = Object.assign;
89
76
  exports.ObjectCreate = Object.create;
90
- exports.ObjectDefineProperties = Object.defineProperties;
91
- exports.ObjectDefineProperty = Object.defineProperty;
92
- exports.ObjectEntries = Object.entries;
93
- exports.ObjectFreeze = Object.freeze; // @ts-ignore
94
-
95
- exports.ObjectFromEntries = Object.fromEntries;
96
- exports.ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
97
- exports.ObjectGetOwnPropertyDescriptors = Object.getOwnPropertyDescriptors;
98
- exports.ObjectGetOwnPropertyNames = Object.getOwnPropertyNames;
99
- exports.ObjectGetOwnPropertySymbols = Object.getOwnPropertySymbols;
100
77
  exports.ObjectGetPrototypeOf = Object.getPrototypeOf;
101
- exports.ObjectIs = Object.is;
102
- exports.isExtensible = Object.isExtensible;
103
- exports.isFrozen = Object.isFrozen;
104
- exports.isSealed = Object.isSealed;
105
- exports.ObjectKeys = Object.keys;
106
- exports.ObjectPreventExtensions = Object.preventExtensions;
107
- exports.ObjectSeal = Object.seal;
108
78
  exports.ObjectSetPrototypeOf = Object.setPrototypeOf;
109
- exports.ObjectValues = Object.values;
110
- exports.isArray = Array.isArray;
111
79
 
112
80
  /***/ }),
113
81
 
@@ -120,7 +88,7 @@ exports.isArray = Array.isArray;
120
88
  Object.defineProperty(exports, "__esModule", ({
121
89
  value: true
122
90
  }));
123
- exports.join = exports.splice = exports.pop = exports.push = exports.shift = exports.unshift = exports.indexOf = void 0;
91
+ exports.splice = exports.pop = exports.push = exports.shift = exports.unshift = exports.indexOf = void 0;
124
92
 
125
93
  const global_1 = __webpack_require__(4128);
126
94
 
@@ -218,18 +186,6 @@ function splice(as, index, count, ...inserts) {
218
186
 
219
187
  exports.splice = splice;
220
188
 
221
- function join(as, sep = '') {
222
- let acc = '';
223
-
224
- for (let i = 0; i < as.length; ++i) {
225
- acc += i === 0 ? as[i] : sep + as[i];
226
- }
227
-
228
- return acc;
229
- }
230
-
231
- exports.join = join;
232
-
233
189
  /***/ }),
234
190
 
235
191
  /***/ 4401:
@@ -368,7 +324,7 @@ function template(strategy) {
368
324
  const source = sources[i];
369
325
  if (source === target) continue;
370
326
  if ((0, type_1.isPrimitive)(source)) continue;
371
- const keys = (0, alias_1.ObjectKeys)(source);
327
+ const keys = global_1.Object.keys(source);
372
328
 
373
329
  for (let i = 0; i < keys.length; ++i) {
374
330
  strategy(keys[i], target, source);
@@ -404,6 +360,8 @@ const clock_1 = __webpack_require__(7681);
404
360
 
405
361
  const invlist_1 = __webpack_require__(7452);
406
362
 
363
+ const heap_1 = __webpack_require__(818);
364
+
407
365
  const assign_1 = __webpack_require__(4401);
408
366
 
409
367
  const tuple_1 = __webpack_require__(5341);
@@ -414,26 +372,21 @@ class Cache {
414
372
  capacity: 0,
415
373
  space: global_1.Infinity,
416
374
  age: global_1.Infinity,
417
- life: 10,
418
- limit: 95,
375
+ earlyExpiring: false,
376
+ limit: 950,
419
377
  capture: {
420
378
  delete: true,
421
379
  clear: true
422
380
  }
423
381
  };
424
- this.SIZE = 0; // 1041 days < 2 ** 53 / 100,000,000 / 3600 / 24.
425
- // Hit counter only for LFU.
426
-
427
- this.clock = global_1.Number.MIN_SAFE_INTEGER; // LRU access counter only for LRU.
428
-
429
- this.clockR = global_1.Number.MIN_SAFE_INTEGER;
382
+ this.overlap = 0;
383
+ this.SIZE = 0;
430
384
  this.memory = new global_1.Map();
431
385
  this.indexes = {
432
386
  LRU: new invlist_1.List(),
433
- LFU: new invlist_1.List(),
434
- // expiryとLFUのclockを消すなら消せる
435
- OVL: new invlist_1.List()
387
+ LFU: new invlist_1.List()
436
388
  };
389
+ this.expiries = new heap_1.Heap((a, b) => a.value.expiry - b.value.expiry);
437
390
  this.stats = {
438
391
  LRU: (0, tuple_1.tuple)(0, 0),
439
392
  LFU: (0, tuple_1.tuple)(0, 0),
@@ -459,7 +412,7 @@ class Cache {
459
412
  }
460
413
 
461
414
  };
462
- this.ratio = 50;
415
+ this.ratio = 500;
463
416
 
464
417
  if (typeof capacity === 'object') {
465
418
  opts = capacity;
@@ -472,8 +425,9 @@ class Cache {
472
425
  this.capacity = this.settings.capacity;
473
426
  if (this.capacity >= 1 === false) throw new Error(`Spica: Cache: Capacity must be 1 or more.`);
474
427
  this.space = this.settings.space;
475
- this.life = this.capacity * this.settings.life;
476
428
  this.limit = this.settings.limit;
429
+ this.earlyExpiring = this.settings.earlyExpiring;
430
+ this.disposer = this.settings.disposer;
477
431
  }
478
432
 
479
433
  get length() {
@@ -485,43 +439,30 @@ class Cache {
485
439
  return this.SIZE;
486
440
  }
487
441
 
488
- evict(node, record, callback) {
442
+ evict(node, callback) {
489
443
  const index = node.value;
490
- callback &&= !!this.settings.disposer;
491
- record = callback ? record ?? this.memory.get(index.key) : record;
444
+ callback &&= !!this.disposer;
445
+ this.overlap -= +(index.region === 'LFU' && node.list === this.indexes.LRU);
446
+ index.enode && this.expiries.delete(index.enode);
492
447
  node.delete();
493
- node.value.overlap?.delete();
494
448
  this.memory.delete(index.key);
495
449
  this.SIZE -= index.size;
496
- callback && this.settings.disposer?.(record.value, index.key);
450
+ callback && this.disposer?.(node.value.value, index.key);
497
451
  }
498
452
 
499
453
  ensure(margin, skip) {
500
- if (skip) {
501
- // Prevent wrong disposal of `skip`.
502
- skip.value.clock = this.clock;
503
- skip.value.expiry = global_1.Infinity;
504
- }
505
-
506
454
  let size = skip?.value.size ?? 0;
507
455
  if (margin - size <= 0) return;
508
456
  const {
509
457
  LRU,
510
- LFU,
511
- OVL
458
+ LFU
512
459
  } = this.indexes;
513
460
 
514
461
  while (this.length === this.capacity || this.size + margin - size > this.space) {
515
- const lastNode = OVL.last ?? LFU.last;
516
- const lastIndex = lastNode?.value;
517
462
  let target;
518
463
 
519
464
  switch (true) {
520
- // NOTE: The following conditions must be ensured that they won't be true if `lastNode` is `skip`.
521
- // LRUの下限を5%以上確保すればわずかな性能低下と引き換えにクロックを消せる
522
- case lastIndex && lastIndex.clock < this.clock - this.life:
523
- case lastIndex && lastIndex.expiry !== global_1.Infinity && lastIndex.expiry < (0, clock_1.now)():
524
- target = lastNode.list === OVL ? lastNode.value.node : lastNode;
465
+ case (target = this.expiries.peek()) && target !== skip && target.value.expiry < (0, clock_1.now)():
525
466
  break;
526
467
 
527
468
  case LRU.length === 0:
@@ -529,49 +470,56 @@ class Cache {
529
470
  break;
530
471
  // @ts-expect-error
531
472
 
532
- case LFU.length > this.capacity * this.ratio / 100:
473
+ case LFU.length > this.capacity * this.ratio / 1000:
533
474
  target = LFU.last !== skip ? LFU.last : LFU.length >= 2 ? LFU.last.prev : skip;
534
475
 
535
476
  if (target !== skip) {
536
- if (this.ratio >= 50) break;
477
+ if (this.ratio > 500) break;
537
478
  LRU.unshiftNode(target);
538
- LRU.head.value.node = LRU.head;
539
- LRU.head.value.overlap = OVL.unshift(LRU.head.value);
479
+ ++this.overlap;
540
480
  }
541
481
 
482
+ // fallthrough
483
+
542
484
  default:
543
485
  target = LRU.last !== skip ? LRU.last : LRU.length >= 2 ? LRU.last.prev : LFU.last;
544
486
  }
545
487
 
546
- this.evict(target, void 0, true);
488
+ this.evict(target, true);
547
489
  skip = skip?.list && skip;
548
490
  size = skip?.value.size ?? 0;
549
491
  }
550
492
  }
551
493
 
552
- put(key, value, size = 1, age = this.settings.age) {
553
- if (size >= 1 === false) throw new Error(`Spica: Cache: Size must be 1 or more.`);
554
- if (age >= 1 === false) throw new Error(`Spica: Cache: Age must be 1 or more.`);
555
-
494
+ put(key, value, {
495
+ size = 1,
496
+ age = this.settings.age
497
+ } = {}) {
556
498
  if (size > this.space || age <= 0) {
557
- this.settings.disposer?.(value, key);
499
+ this.disposer?.(value, key);
558
500
  return false;
559
501
  }
560
502
 
561
503
  const expiry = age === global_1.Infinity ? global_1.Infinity : (0, clock_1.now)() + age;
562
- const record = this.memory.get(key);
504
+ const node = this.memory.get(key);
563
505
 
564
- if (record) {
565
- const node = record.index;
566
- const val = record.value;
506
+ if (node) {
507
+ const val = node.value.value;
567
508
  const index = node.value;
568
509
  this.ensure(size, node);
569
- index.clock = index.region === 'LRU' ? ++this.clockR : ++this.clock;
570
- index.expiry = expiry;
571
510
  this.SIZE += size - index.size;
572
511
  index.size = size;
573
- record.value = value;
574
- this.settings.disposer?.(val, key);
512
+ index.expiry = expiry;
513
+
514
+ if (this.earlyExpiring && expiry !== global_1.Infinity) {
515
+ index.enode ? this.expiries.update(index.enode) : index.enode = this.expiries.insert(node);
516
+ } else if (index.enode) {
517
+ this.expiries.delete(index.enode);
518
+ index.enode = void 0;
519
+ }
520
+
521
+ node.value.value = value;
522
+ this.disposer?.(val, key);
575
523
  return true;
576
524
  }
577
525
 
@@ -580,51 +528,52 @@ class Cache {
580
528
  LRU
581
529
  } = this.indexes;
582
530
  this.SIZE += size;
583
- this.memory.set(key, {
584
- index: LRU.unshift({
585
- key,
586
- size,
587
- clock: ++this.clockR,
588
- expiry,
589
- region: 'LRU'
590
- }),
591
- value
592
- });
531
+ this.memory.set(key, LRU.unshift({
532
+ key,
533
+ value,
534
+ size,
535
+ expiry,
536
+ region: 'LRU'
537
+ }));
538
+
539
+ if (this.earlyExpiring && expiry !== global_1.Infinity) {
540
+ LRU.head.value.enode = this.expiries.insert(LRU.head);
541
+ }
542
+
593
543
  return false;
594
544
  }
595
545
 
596
- set(key, value, size, age) {
597
- this.put(key, value, size, age);
546
+ set(key, value, opts) {
547
+ this.put(key, value, opts);
598
548
  return this;
599
549
  }
600
550
 
601
551
  get(key) {
602
- const record = this.memory.get(key);
603
- if (!record) return;
604
- const node = record.index;
552
+ const node = this.memory.get(key);
553
+ if (!node) return;
605
554
  const expiry = node.value.expiry;
606
555
 
607
556
  if (expiry !== global_1.Infinity && expiry < (0, clock_1.now)()) {
608
- this.evict(node, record, true);
557
+ this.evict(node, true);
609
558
  return;
610
559
  } // Optimization for memoize.
611
560
 
612
561
 
613
- if (this.capacity >= 10 && node === node.list.head) return record.value;
562
+ if (this.capacity > 3 && node === node.list.head) return node.value.value;
614
563
  this.access(node);
615
564
  this.slide();
616
- return record.value;
565
+ return node.value.value;
617
566
  }
618
567
 
619
568
  has(key) {
620
569
  //assert(this.memory.has(key) === (this.indexes.LFU.has(key) || this.indexes.LRU.has(key)));
621
570
  //assert(this.memory.size === this.indexes.LFU.length + this.indexes.LRU.length);
622
- const record = this.memory.get(key);
623
- if (!record) return false;
624
- const expiry = record.index.value.expiry;
571
+ const node = this.memory.get(key);
572
+ if (!node) return false;
573
+ const expiry = node.value.expiry;
625
574
 
626
575
  if (expiry !== global_1.Infinity && expiry < (0, clock_1.now)()) {
627
- this.evict(record.index, record, true);
576
+ this.evict(node, true);
628
577
  return false;
629
578
  }
630
579
 
@@ -632,33 +581,38 @@ class Cache {
632
581
  }
633
582
 
634
583
  delete(key) {
635
- const record = this.memory.get(key);
636
- if (!record) return false;
637
- this.evict(record.index, record, this.settings.capture.delete === true);
584
+ const node = this.memory.get(key);
585
+ if (!node) return false;
586
+ this.evict(node, this.settings.capture.delete === true);
638
587
  return true;
639
588
  }
640
589
 
641
590
  clear() {
591
+ this.overlap = 0;
642
592
  this.SIZE = 0;
643
- this.ratio = 50;
593
+ this.ratio = 500;
644
594
  this.stats.clear();
645
595
  this.indexes.LRU.clear();
646
596
  this.indexes.LFU.clear();
647
- this.indexes.OVL.clear();
648
- if (!this.settings.disposer || !this.settings.capture.clear) return void this.memory.clear();
597
+ this.expiries.clear();
598
+ if (!this.disposer || !this.settings.capture.clear) return void this.memory.clear();
649
599
  const memory = this.memory;
650
600
  this.memory = new global_1.Map();
651
601
 
652
602
  for (const [key, {
653
- value
603
+ value: {
604
+ value
605
+ }
654
606
  }] of memory) {
655
- this.settings.disposer(value, key);
607
+ this.disposer(value, key);
656
608
  }
657
609
  }
658
610
 
659
611
  *[Symbol.iterator]() {
660
612
  for (const [key, {
661
- value
613
+ value: {
614
+ value
615
+ }
662
616
  }] of this.memory) {
663
617
  yield [key, value];
664
618
  }
@@ -678,25 +632,26 @@ class Cache {
678
632
  indexes
679
633
  } = this;
680
634
  const window = capacity;
681
- LRU[0] + LFU[0] === window && this.stats.slide();
682
- if ((LRU[0] + LFU[0]) * 100 % capacity || LRU[1] + LFU[1] === 0) return;
635
+ const total = LRU[0] + LFU[0];
636
+ total === window && this.stats.slide();
637
+ if (total * 1000 % capacity || !LRU[1] || !LFU[1]) return;
683
638
  const lenR = indexes.LRU.length;
684
639
  const lenF = indexes.LFU.length;
685
- const lenV = indexes.OVL.length;
686
- const r = (lenF + lenV) * 1000 / (lenR + lenF) | 0;
687
- const rateR0 = rate(window, LRU[0], LRU[0] + LFU[0], LRU[1], LRU[1] + LFU[1], 0) * (1 + r);
688
- const rateF0 = rate(window, LFU[0], LRU[0] + LFU[0], LFU[1], LRU[1] + LFU[1], 0) * (1001 - r);
689
- const rateF1 = rate(window, LFU[1], LRU[1] + LFU[1], LFU[0], LRU[0] + LFU[0], 5) * (1001 - r); // 操作頻度を超えてキャッシュ比率を増減させても余剰比率の消化が追いつかず無駄
640
+ const lenV = this.overlap;
641
+ const r = (lenF + lenV) * 1000 / (lenR + lenF || 1) | 0;
642
+ const rateR0 = rate(window, LRU[0], LRU[0] + LFU[0], LRU[1], LRU[1] + LFU[1], 0) * r;
643
+ const rateF0 = rate(window, LFU[0], LRU[0] + LFU[0], LFU[1], LRU[1] + LFU[1], 0) * (1000 - r);
644
+ const rateF1 = rate(window, LFU[1], LRU[1] + LFU[1], LFU[0], LRU[0] + LFU[0], 5) * (1000 - r); // 操作頻度を超えてキャッシュ比率を増減させても余剰比率の消化が追いつかず無駄
690
645
  // LRUの下限設定ではLRU拡大の要否を迅速に判定できないためLFUのヒット率低下の検出で代替する
691
646
 
692
647
  if (ratio > 0 && (rateR0 > rateF0 || rateF0 < rateF1 * 0.95)) {
693
- if (lenR >= capacity * (100 - ratio) / 100) {
694
- //ratio % 10 || ratio === 100 || console.debug('-', ratio, LRU, LFU);
648
+ if (lenR >= capacity * (1000 - ratio) / 1000) {
649
+ //ratio % 100 || ratio === 1000 || console.debug('-', ratio, LRU, LFU);
695
650
  --this.ratio;
696
651
  }
697
652
  } else if (ratio < limit && rateF0 > rateR0) {
698
- if (lenF >= capacity * ratio / 100) {
699
- //ratio % 10 || ratio === 0 || console.debug('+', ratio, LRU, LFU);
653
+ if (lenF >= capacity * ratio / 1000) {
654
+ //ratio % 100 || ratio === 0 || console.debug('+', ratio, LRU, LFU);
700
655
  ++this.ratio;
701
656
  }
702
657
  }
@@ -708,33 +663,17 @@ class Cache {
708
663
 
709
664
  accessLRU(node) {
710
665
  const index = node.value;
711
- const {
712
- LRU,
713
- LFU
714
- } = this.indexes;
715
- ++this.stats[index.region][0]; // Prevent LFU destruction.
716
-
717
- if (!index.overlap && index.clock >= this.clockR - LRU.length / 3 && this.capacity > 3) {
718
- index.clock = ++this.clockR;
719
- node.moveToHead();
720
- return true;
721
- }
722
-
723
- index.clock = ++this.clock;
666
+ ++this.stats[index.region][0];
667
+ this.overlap -= +(index.region === 'LFU');
724
668
  index.region = 'LFU';
725
- index.overlap?.delete();
726
- LFU.unshiftNode(node);
669
+ this.indexes.LFU.unshiftNode(node);
727
670
  return true;
728
671
  }
729
672
 
730
673
  accessLFU(node) {
674
+ if (node.list !== this.indexes.LFU) return false;
731
675
  const index = node.value;
732
- const {
733
- LFU
734
- } = this.indexes;
735
- if (node.list !== LFU) return false;
736
676
  ++this.stats[index.region][0];
737
- index.clock = ++this.clock;
738
677
  node.moveToHead();
739
678
  return true;
740
679
  }
@@ -991,6 +930,151 @@ var global = (/* unused pure expression or super */ null && (globalThis));
991
930
 
992
931
  /***/ }),
993
932
 
933
+ /***/ 818:
934
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
935
+
936
+ "use strict";
937
+
938
+
939
+ Object.defineProperty(exports, "__esModule", ({
940
+ value: true
941
+ }));
942
+ exports.Heap = void 0;
943
+
944
+ const alias_1 = __webpack_require__(5406); // Min heap
945
+
946
+
947
+ const undefined = void 0;
948
+
949
+ class Heap {
950
+ constructor(cmp = (a, b) => a > b ? 1 : a < b ? -1 : 0, stable = false) {
951
+ this.cmp = cmp;
952
+ this.stable = stable;
953
+ this.array = [];
954
+ this.$length = 0;
955
+ }
956
+
957
+ get length() {
958
+ return this.$length;
959
+ }
960
+
961
+ insert(value, order = value) {
962
+ const array = this.array;
963
+ const node = array[this.$length] = [order, value, this.$length++];
964
+ upHeapify(array, this.cmp, this.$length);
965
+ return node;
966
+ }
967
+
968
+ replace(value, order = value) {
969
+ const array = this.array;
970
+ if (this.$length === 0) return void this.insert(value, order);
971
+ const replaced = array[0][1];
972
+ array[0] = [order, value, 0];
973
+ downHeapify(array, this.cmp, 1, this.$length, this.stable);
974
+ return replaced;
975
+ }
976
+
977
+ extract() {
978
+ if (this.$length === 0) return;
979
+ const node = this.array[0];
980
+ this.delete(node);
981
+ return node[1];
982
+ }
983
+
984
+ delete(node) {
985
+ const array = this.array;
986
+ const index = node[2];
987
+ if (array[index] !== node) throw new Error('Invalid node');
988
+ swap(array, index, --this.$length); // @ts-expect-error
989
+
990
+ array[this.$length] = undefined;
991
+ index < this.$length && this.sort(array[index]);
992
+
993
+ if (array.length >= 2 ** 16 && array.length >= this.$length * 2) {
994
+ array.splice(array.length / 2, array.length / 2);
995
+ }
996
+
997
+ return node[1];
998
+ }
999
+
1000
+ update(node, order = node[1], value = node[1]) {
1001
+ const array = this.array;
1002
+ if (array[node[2]] !== node) throw new Error('Invalid node');
1003
+ node[1] = value;
1004
+ if (this.cmp(node[0], node[0] = order) === 0) return;
1005
+ this.sort(node);
1006
+ }
1007
+
1008
+ sort(node) {
1009
+ const array = this.array;
1010
+ return upHeapify(array, this.cmp, node[2] + 1) || downHeapify(array, this.cmp, node[2] + 1, this.$length, this.stable);
1011
+ }
1012
+
1013
+ peek() {
1014
+ return this.array[0]?.[1];
1015
+ }
1016
+
1017
+ clear() {
1018
+ this.array = [];
1019
+ this.$length = 0;
1020
+ }
1021
+
1022
+ }
1023
+
1024
+ exports.Heap = Heap;
1025
+
1026
+ function upHeapify(array, cmp, index) {
1027
+ const order = array[index - 1][0];
1028
+ let changed = false;
1029
+
1030
+ while (index > 1) {
1031
+ const parent = (0, alias_1.floor)(index / 2);
1032
+ if (cmp(array[parent - 1][0], order) <= 0) break;
1033
+ swap(array, index - 1, parent - 1);
1034
+ index = parent;
1035
+ changed ||= true;
1036
+ }
1037
+
1038
+ return changed;
1039
+ }
1040
+
1041
+ function downHeapify(array, cmp, index, length, stable) {
1042
+ let changed = false;
1043
+
1044
+ while (index < length) {
1045
+ const left = index * 2;
1046
+ const right = index * 2 + 1;
1047
+ let min = index;
1048
+
1049
+ if (left <= length && (stable ? cmp(array[left - 1][0], array[min - 1][0]) <= 0 : cmp(array[left - 1][0], array[min - 1][0]) < 0)) {
1050
+ min = left;
1051
+ }
1052
+
1053
+ if (right <= length && (stable ? cmp(array[right - 1][0], array[min - 1][0]) <= 0 : cmp(array[right - 1][0], array[min - 1][0]) < 0)) {
1054
+ min = right;
1055
+ }
1056
+
1057
+ if (min === index) break;
1058
+ swap(array, index - 1, min - 1);
1059
+ index = min;
1060
+ changed ||= true;
1061
+ }
1062
+
1063
+ return changed;
1064
+ }
1065
+
1066
+ function swap(array, index1, index2) {
1067
+ if (index1 === index2) return;
1068
+ const node1 = array[index1];
1069
+ const node2 = array[index2];
1070
+ node1[2] = index2;
1071
+ node2[2] = index1;
1072
+ array[index1] = node2;
1073
+ array[index2] = node1;
1074
+ }
1075
+
1076
+ /***/ }),
1077
+
994
1078
  /***/ 7452:
995
1079
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
996
1080
 
@@ -1470,7 +1554,6 @@ const global_1 = __webpack_require__(4128);
1470
1554
 
1471
1555
  const alias_1 = __webpack_require__(5406);
1472
1556
 
1473
- const toString = Object.prototype.toString.call.bind(Object.prototype.toString);
1474
1557
  const ObjectPrototype = Object.prototype;
1475
1558
  const ArrayPrototype = Array.prototype;
1476
1559
 
@@ -1484,7 +1567,7 @@ function type(value) {
1484
1567
  const proto = (0, alias_1.ObjectGetPrototypeOf)(value);
1485
1568
  if (proto === ObjectPrototype) return 'Object';
1486
1569
  if (proto === ArrayPrototype) return 'Array';
1487
- return toString(value).slice(8, -1);
1570
+ return (0, alias_1.toString)(value).slice(8, -1);
1488
1571
  }
1489
1572
 
1490
1573
  if (type === 'function') return 'Function';
@@ -3749,8 +3832,8 @@ exports.dlist = (0, combinator_1.lazy)(() => (0, combinator_1.block)((0, locale_
3749
3832
  }
3750
3833
  }
3751
3834
  }, (0, combinator_1.some)(term)), (0, combinator_1.some)(desc)]))), es => [(0, dom_1.html)('dl', fillTrailingDescription(es))]))));
3752
- const term = (0, combinator_1.creator)((0, combinator_1.line)((0, inline_1.indexee)((0, combinator_1.fmap)((0, combinator_1.open)(/^~[^\S\n]+(?=\S)/, (0, combinator_1.trim)((0, util_1.visualize)((0, combinator_1.some)((0, combinator_1.union)([inline_1.indexer, inline_1.inline])))), true), ns => [(0, dom_1.html)('dt', (0, dom_1.defrag)(ns))]))));
3753
- const desc = (0, combinator_1.creator)((0, combinator_1.block)((0, combinator_1.fmap)((0, combinator_1.open)(/^:[^\S\n]+(?=\S)|/, (0, combinator_1.rewrite)((0, combinator_1.some)(source_1.anyline, /^[~:][^\S\n]+\S/), (0, combinator_1.trim)((0, util_1.visualize)((0, combinator_1.some)((0, combinator_1.union)([inline_1.inline]))))), true), ns => [(0, dom_1.html)('dd', (0, dom_1.defrag)(ns))]), false));
3835
+ const term = (0, combinator_1.creator)((0, combinator_1.line)((0, inline_1.indexee)((0, combinator_1.fmap)((0, combinator_1.open)(/^~[^\S\n]+(?=\S)/, (0, util_1.visualize)((0, util_1.trimBlank)((0, combinator_1.some)((0, combinator_1.union)([inline_1.indexer, inline_1.inline])))), true), ns => [(0, dom_1.html)('dt', (0, dom_1.defrag)(ns))]))));
3836
+ const desc = (0, combinator_1.creator)((0, combinator_1.block)((0, combinator_1.fmap)((0, combinator_1.open)(/^:[^\S\n]+(?=\S)|/, (0, combinator_1.rewrite)((0, combinator_1.some)(source_1.anyline, /^[~:][^\S\n]+\S/), (0, util_1.visualize)((0, combinator_1.trimEnd)((0, combinator_1.some)((0, combinator_1.union)([inline_1.inline]))))), true), ns => [(0, dom_1.html)('dd', (0, dom_1.defrag)(ns))]), false));
3754
3837
 
3755
3838
  function fillTrailingDescription(es) {
3756
3839
  return es.length > 0 && es[es.length - 1].tagName === 'DT' ? (0, array_1.push)(es, [(0, dom_1.html)('dd')]) : es;
@@ -4053,7 +4136,7 @@ exports.figure = (0, combinator_1.block)((0, combinator_1.fallback)((0, combinat
4053
4136
  media: false
4054
4137
  }
4055
4138
  }
4056
- }, (0, combinator_1.trim)((0, util_1.visualize)((0, combinator_1.some)(inline_1.inline))))))])])), ([label, param, content, ...caption]) => [(0, dom_1.html)('figure', attributes(label.getAttribute('data-label'), param, content, caption), [(0, dom_1.html)('figcaption', (0, array_1.unshift)([(0, dom_1.html)('span', {
4139
+ }, (0, util_1.visualize)((0, util_1.trimBlank)((0, combinator_1.trimEnd)((0, combinator_1.some)(inline_1.inline)))))))])])), ([label, param, content, ...caption]) => [(0, dom_1.html)('figure', attributes(label.getAttribute('data-label'), param, content, caption), [(0, dom_1.html)('figcaption', (0, array_1.unshift)([(0, dom_1.html)('span', {
4057
4140
  class: 'figindex'
4058
4141
  })], (0, dom_1.defrag)(caption))), (0, dom_1.html)('div', [content])])])), (0, combinator_1.fmap)((0, combinator_1.fence)(/^(~{3,})(?:figure|\[?\$\S*)(?!\S)[^\n]*(?:$|\n)/, 300), ([body, overflow, closer, opener, delim], _, context) => [(0, dom_1.html)('pre', {
4059
4142
  class: 'invalid',
@@ -4587,13 +4670,13 @@ exports.heading = (0, combinator_1.block)((0, combinator_1.rewrite)(exports.segm
4587
4670
  media: false
4588
4671
  }
4589
4672
  }
4590
- }, (0, combinator_1.line)((0, inline_1.indexee)((0, combinator_1.fmap)((0, combinator_1.union)([(0, combinator_1.open)((0, source_1.str)(/^##+/), (0, combinator_1.trim)((0, util_1.visualize)((0, combinator_1.some)((0, combinator_1.union)([inline_1.indexer, inline_1.inline])))), true), (0, combinator_1.open)((0, source_1.str)('#'), (0, combinator_1.context)({
4673
+ }, (0, combinator_1.line)((0, inline_1.indexee)((0, combinator_1.fmap)((0, combinator_1.union)([(0, combinator_1.open)((0, source_1.str)(/^##+/), (0, util_1.visualize)((0, util_1.trimBlank)((0, combinator_1.some)((0, combinator_1.union)([inline_1.indexer, inline_1.inline])))), true), (0, combinator_1.open)((0, source_1.str)('#'), (0, combinator_1.context)({
4591
4674
  syntax: {
4592
4675
  inline: {
4593
4676
  autolink: false
4594
4677
  }
4595
4678
  }
4596
- }, (0, combinator_1.trim)((0, util_1.visualize)((0, combinator_1.some)((0, combinator_1.union)([inline_1.indexer, inline_1.inline]))))), true)]), ([h, ...ns]) => [h.length <= 6 ? (0, dom_1.html)(`h${h.length}`, (0, dom_1.defrag)(ns)) : (0, dom_1.html)(`h6`, {
4679
+ }, (0, util_1.visualize)((0, util_1.trimBlank)((0, combinator_1.some)((0, combinator_1.union)([inline_1.indexer, inline_1.inline]))))), true)]), ([h, ...ns]) => [h.length <= 6 ? (0, dom_1.html)(`h${h.length}`, (0, dom_1.defrag)(ns)) : (0, dom_1.html)(`h6`, {
4597
4680
  class: 'invalid',
4598
4681
  'data-invalid-syntax': 'heading',
4599
4682
  'data-invalid-type': 'syntax',
@@ -4744,6 +4827,8 @@ const inline_1 = __webpack_require__(1160);
4744
4827
 
4745
4828
  const source_1 = __webpack_require__(6743);
4746
4829
 
4830
+ const util_1 = __webpack_require__(9437);
4831
+
4747
4832
  const dom_1 = __webpack_require__(3252);
4748
4833
 
4749
4834
  const memoize_1 = __webpack_require__(1808);
@@ -4763,7 +4848,7 @@ exports.olist = (0, combinator_1.lazy)(() => (0, combinator_1.block)((0, combina
4763
4848
  }, exports.olist_))));
4764
4849
  exports.olist_ = (0, combinator_1.lazy)(() => (0, combinator_1.block)((0, combinator_1.union)([(0, combinator_1.match)(new RegExp(`^(?=${openers['.'].source.replace('?:', '')})`), (0, memoize_1.memoize)(ms => list(type(ms[1]), '.'), ms => type(ms[1]).charCodeAt(0) || 0, [])), (0, combinator_1.match)(new RegExp(`^(?=${openers['('].source.replace('?:', '')})`), (0, memoize_1.memoize)(ms => list(type(ms[1]), '('), ms => type(ms[1]).charCodeAt(0) || 0, []))])));
4765
4850
 
4766
- const list = (type, form) => (0, combinator_1.fmap)((0, combinator_1.some)((0, combinator_1.creator)((0, combinator_1.union)([(0, inline_1.indexee)((0, combinator_1.fmap)((0, combinator_1.fallback)((0, combinator_1.inits)([(0, combinator_1.line)((0, combinator_1.open)(heads[form], (0, combinator_1.trim)((0, combinator_1.subsequence)([ulist_1.checkbox, (0, combinator_1.trimStart)((0, combinator_1.some)((0, combinator_1.union)([inline_1.indexer, inline_1.inline])))])), true)), (0, combinator_1.indent)((0, combinator_1.union)([ulist_1.ulist_, exports.olist_, ilist_1.ilist_]))]), invalid), ns => [(0, dom_1.html)('li', {
4851
+ const list = (type, form) => (0, combinator_1.fmap)((0, combinator_1.some)((0, combinator_1.creator)((0, combinator_1.union)([(0, inline_1.indexee)((0, combinator_1.fmap)((0, combinator_1.fallback)((0, combinator_1.inits)([(0, combinator_1.line)((0, combinator_1.open)(heads[form], (0, combinator_1.trim)((0, combinator_1.subsequence)([ulist_1.checkbox, (0, util_1.trimBlank)((0, combinator_1.some)((0, combinator_1.union)([inline_1.indexer, inline_1.inline])))])), true)), (0, combinator_1.indent)((0, combinator_1.union)([ulist_1.ulist_, exports.olist_, ilist_1.ilist_]))]), invalid), ns => [(0, dom_1.html)('li', {
4767
4852
  'data-marker': ns[0]
4768
4853
  }, (0, dom_1.defrag)((0, ulist_1.fillFirstLine)((0, array_1.shift)(ns)[1])))]), true)]))), es => [format((0, dom_1.html)('ol', es), type, form)]);
4769
4854
 
@@ -4886,7 +4971,7 @@ const util_1 = __webpack_require__(9437);
4886
4971
 
4887
4972
  const dom_1 = __webpack_require__(3252);
4888
4973
 
4889
- exports.paragraph = (0, combinator_1.block)((0, locale_1.localize)((0, combinator_1.fmap)((0, combinator_1.trim)((0, util_1.visualize)((0, combinator_1.some)((0, combinator_1.union)([inline_1.inline])))), ns => [(0, dom_1.html)('p', (0, dom_1.defrag)(ns))])));
4974
+ exports.paragraph = (0, combinator_1.block)((0, locale_1.localize)((0, combinator_1.fmap)((0, util_1.visualize)((0, combinator_1.trimEnd)((0, combinator_1.some)((0, combinator_1.union)([inline_1.inline])))), ns => [(0, dom_1.html)('p', (0, dom_1.defrag)(ns))])));
4890
4975
 
4891
4976
  /***/ }),
4892
4977
 
@@ -4926,7 +5011,7 @@ const array_1 = __webpack_require__(8112);
4926
5011
  */
4927
5012
 
4928
5013
 
4929
- exports.reply = (0, combinator_1.block)((0, combinator_1.validate)('>', (0, locale_1.localize)((0, combinator_1.fmap)((0, combinator_1.inits)([(0, combinator_1.some)((0, combinator_1.inits)([cite_1.cite, quote_1.quote])), (0, combinator_1.some)((0, combinator_1.subsequence)([(0, combinator_1.some)(quote_1.quote), (0, combinator_1.fmap)((0, combinator_1.rewrite)((0, combinator_1.some)(source_1.anyline, quote_1.syntax), (0, combinator_1.trim)((0, util_1.visualize)((0, combinator_1.some)(inline_1.inline)))), ns => (0, array_1.push)(ns, [(0, dom_1.html)('br')]))]))]), ns => [(0, dom_1.html)('p', (0, dom_1.defrag)((0, array_1.pop)(ns)[0]))]))));
5014
+ exports.reply = (0, combinator_1.block)((0, combinator_1.validate)('>', (0, locale_1.localize)((0, combinator_1.fmap)((0, combinator_1.inits)([(0, combinator_1.some)((0, combinator_1.inits)([cite_1.cite, quote_1.quote])), (0, combinator_1.some)((0, combinator_1.subsequence)([(0, combinator_1.some)(quote_1.quote), (0, combinator_1.fmap)((0, combinator_1.rewrite)((0, combinator_1.some)(source_1.anyline, quote_1.syntax), (0, util_1.visualize)((0, combinator_1.trimEnd)((0, combinator_1.some)(inline_1.inline)))), ns => (0, array_1.push)(ns, [(0, dom_1.html)('br')]))]))]), ns => [(0, dom_1.html)('p', (0, dom_1.defrag)((0, array_1.pop)(ns)[0]))]))));
4930
5015
 
4931
5016
  /***/ }),
4932
5017
 
@@ -5143,12 +5228,14 @@ const ilist_1 = __webpack_require__(238);
5143
5228
 
5144
5229
  const inline_1 = __webpack_require__(1160);
5145
5230
 
5231
+ const source_1 = __webpack_require__(6743);
5232
+
5233
+ const util_1 = __webpack_require__(9437);
5234
+
5146
5235
  const dom_1 = __webpack_require__(3252);
5147
5236
 
5148
5237
  const array_1 = __webpack_require__(8112);
5149
5238
 
5150
- const source_1 = __webpack_require__(6743);
5151
-
5152
5239
  exports.ulist = (0, combinator_1.lazy)(() => (0, combinator_1.block)((0, combinator_1.validate)(/^-(?=[^\S\n]|\n[^\S\n]*\S)/, (0, combinator_1.context)({
5153
5240
  syntax: {
5154
5241
  inline: {
@@ -5156,7 +5243,7 @@ exports.ulist = (0, combinator_1.lazy)(() => (0, combinator_1.block)((0, combina
5156
5243
  }
5157
5244
  }
5158
5245
  }, exports.ulist_))));
5159
- exports.ulist_ = (0, combinator_1.lazy)(() => (0, combinator_1.block)((0, combinator_1.fmap)((0, combinator_1.validate)(/^-(?=$|\s)/, (0, combinator_1.some)((0, combinator_1.creator)((0, combinator_1.union)([(0, inline_1.indexee)((0, combinator_1.fmap)((0, combinator_1.fallback)((0, combinator_1.inits)([(0, combinator_1.line)((0, combinator_1.open)(/^-(?:$|\s)/, (0, combinator_1.trim)((0, combinator_1.subsequence)([exports.checkbox, (0, combinator_1.trimStart)((0, combinator_1.some)((0, combinator_1.union)([inline_1.indexer, inline_1.inline])))])), true)), (0, combinator_1.indent)((0, combinator_1.union)([exports.ulist_, olist_1.olist_, ilist_1.ilist_]))]), invalid), ns => [(0, dom_1.html)('li', (0, dom_1.defrag)(fillFirstLine(ns)))]), true)])))), es => [format((0, dom_1.html)('ul', es))])));
5246
+ exports.ulist_ = (0, combinator_1.lazy)(() => (0, combinator_1.block)((0, combinator_1.fmap)((0, combinator_1.validate)(/^-(?=$|\s)/, (0, combinator_1.some)((0, combinator_1.creator)((0, combinator_1.union)([(0, inline_1.indexee)((0, combinator_1.fmap)((0, combinator_1.fallback)((0, combinator_1.inits)([(0, combinator_1.line)((0, combinator_1.open)(/^-(?:$|\s)/, (0, combinator_1.trim)((0, combinator_1.subsequence)([exports.checkbox, (0, util_1.trimBlank)((0, combinator_1.some)((0, combinator_1.union)([inline_1.indexer, inline_1.inline])))])), true)), (0, combinator_1.indent)((0, combinator_1.union)([exports.ulist_, olist_1.olist_, ilist_1.ilist_]))]), invalid), ns => [(0, dom_1.html)('li', (0, dom_1.defrag)(fillFirstLine(ns)))]), true)])))), es => [format((0, dom_1.html)('ul', es))])));
5160
5247
  exports.checkbox = (0, combinator_1.focus)(/^\[[xX ]\](?=$|\s)/, source => [[(0, dom_1.html)('span', {
5161
5248
  class: 'checkbox'
5162
5249
  }, source[1].trimStart() ? '☑' : '☐')], '']);
@@ -5351,7 +5438,7 @@ const util_1 = __webpack_require__(9437);
5351
5438
 
5352
5439
  const dom_1 = __webpack_require__(3252);
5353
5440
 
5354
- exports.annotation = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.validate)('((', '))', '\n', (0, combinator_1.fmap)((0, combinator_1.surround)('((', (0, combinator_1.guard)(context => context.syntax?.inline?.annotation ?? true, (0, util_1.startLoose)((0, combinator_1.context)({
5441
+ exports.annotation = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.validate)('((', '))', '\n', (0, combinator_1.fmap)((0, combinator_1.surround)('((', (0, combinator_1.guard)(context => context.syntax?.inline?.annotation ?? true, (0, combinator_1.context)({
5355
5442
  syntax: {
5356
5443
  inline: {
5357
5444
  annotation: false,
@@ -5366,9 +5453,9 @@ exports.annotation = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0,
5366
5453
  }
5367
5454
  },
5368
5455
  delimiters: global_1.undefined
5369
- }, (0, util_1.trimSpaceStart)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, ')', /^\\?\n/)]))))), '))'), ns => [(0, dom_1.html)('sup', {
5456
+ }, (0, util_1.trimBlank)((0, combinator_1.some)((0, combinator_1.union)([inline_1.inline]), ')', /^\\?\n/)))), '))'), ns => [(0, dom_1.html)('sup', {
5370
5457
  class: 'annotation'
5371
- }, (0, util_1.trimNodeEnd)((0, dom_1.defrag)(ns)))]))));
5458
+ }, (0, dom_1.defrag)(ns))]))));
5372
5459
 
5373
5460
  /***/ }),
5374
5461
 
@@ -5720,7 +5807,7 @@ const memoize_1 = __webpack_require__(1808);
5720
5807
 
5721
5808
  const array_1 = __webpack_require__(8112);
5722
5809
 
5723
- exports.comment = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.validate)('[#', (0, combinator_1.match)(/^(?=\[(#+)\s)/, (0, memoize_1.memoize)(([, fence]) => (0, combinator_1.surround)((0, combinator_1.open)((0, source_1.str)(`[${fence}`), (0, combinator_1.some)(source_1.text, new RegExp(String.raw`^\s+${fence}\]|^\S`)), true), (0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, new RegExp(String.raw`^\s+${fence}\]`))]), (0, combinator_1.close)((0, combinator_1.some)(source_1.text, /^\S/), (0, source_1.str)(`${fence}]`)), true, ([as, bs = [], cs], rest) => [[(0, dom_1.html)('span', {
5810
+ exports.comment = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.validate)('[%', (0, combinator_1.match)(/^(?=\[(%+)\s)/, (0, memoize_1.memoize)(([, fence]) => (0, combinator_1.surround)((0, combinator_1.open)((0, source_1.str)(`[${fence}`), (0, combinator_1.some)(source_1.text, new RegExp(String.raw`^\s+${fence}\]|^\S`)), true), (0, combinator_1.some)((0, combinator_1.union)([inline_1.inline]), new RegExp(String.raw`^\s+${fence}\]`)), (0, combinator_1.close)((0, combinator_1.some)(source_1.text, /^\S/), (0, source_1.str)(`${fence}]`)), true, ([as, bs = [], cs], rest) => [[(0, dom_1.html)('span', {
5724
5811
  class: 'comment'
5725
5812
  }, [(0, dom_1.html)('input', {
5726
5813
  type: 'checkbox'
@@ -5751,7 +5838,7 @@ const dom_1 = __webpack_require__(3252);
5751
5838
 
5752
5839
  const array_1 = __webpack_require__(8112);
5753
5840
 
5754
- exports.deletion = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.surround)((0, source_1.str)('~~'), (0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blank)(/\n/, '~~')), (0, combinator_1.open)(/^\n/, (0, combinator_1.some)(inline_1.inline, '~'), true)])), (0, source_1.str)('~~'), false, ([, bs], rest) => [[(0, dom_1.html)('del', (0, dom_1.defrag)(bs))], rest], ([as, bs], rest) => [(0, array_1.unshift)(as, bs), rest])));
5841
+ exports.deletion = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.surround)((0, source_1.str)('~~'), (0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blankWith)('\n', '~~')), (0, combinator_1.open)('\n', (0, combinator_1.some)(inline_1.inline, '~'), true)])), (0, source_1.str)('~~'), false, ([, bs], rest) => [[(0, dom_1.html)('del', (0, dom_1.defrag)(bs))], rest], ([as, bs], rest) => [(0, array_1.unshift)(as, bs), rest])));
5755
5842
 
5756
5843
  /***/ }),
5757
5844
 
@@ -5770,6 +5857,8 @@ const combinator_1 = __webpack_require__(2087);
5770
5857
 
5771
5858
  const inline_1 = __webpack_require__(1160);
5772
5859
 
5860
+ const emstrong_1 = __webpack_require__(6132);
5861
+
5773
5862
  const strong_1 = __webpack_require__(8072);
5774
5863
 
5775
5864
  const source_1 = __webpack_require__(6743);
@@ -5780,7 +5869,7 @@ const dom_1 = __webpack_require__(3252);
5780
5869
 
5781
5870
  const array_1 = __webpack_require__(8112);
5782
5871
 
5783
- exports.emphasis = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.surround)((0, source_1.str)('*'), (0, util_1.startTight)((0, combinator_1.some)((0, combinator_1.union)([strong_1.strong, (0, combinator_1.some)(inline_1.inline, (0, util_1.blank)('', '*')), (0, combinator_1.open)((0, combinator_1.some)(inline_1.inline, '*'), inline_1.inline)])), '*'), (0, source_1.str)('*'), false, ([, bs], rest) => [[(0, dom_1.html)('em', (0, dom_1.defrag)(bs))], rest], ([as, bs], rest) => [(0, array_1.unshift)(as, bs), rest])));
5872
+ exports.emphasis = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.surround)((0, source_1.str)('*'), (0, util_1.startTight)((0, combinator_1.some)((0, combinator_1.union)([strong_1.strong, (0, combinator_1.some)(inline_1.inline, (0, util_1.blankWith)('*')), (0, combinator_1.open)((0, combinator_1.some)(inline_1.inline, '*'), (0, combinator_1.union)([emstrong_1.emstrong, strong_1.strong, exports.emphasis]))])), '*'), (0, source_1.str)('*'), false, ([, bs], rest) => [[(0, dom_1.html)('em', (0, dom_1.defrag)(bs))], rest], ([as, bs], rest) => [(0, array_1.unshift)(as, bs), rest])));
5784
5873
 
5785
5874
  /***/ }),
5786
5875
 
@@ -5801,6 +5890,8 @@ const inline_1 = __webpack_require__(1160);
5801
5890
 
5802
5891
  const strong_1 = __webpack_require__(8072);
5803
5892
 
5893
+ const emphasis_1 = __webpack_require__(3867);
5894
+
5804
5895
  const source_1 = __webpack_require__(6743);
5805
5896
 
5806
5897
  const util_1 = __webpack_require__(9437);
@@ -5809,9 +5900,9 @@ const dom_1 = __webpack_require__(3252);
5809
5900
 
5810
5901
  const array_1 = __webpack_require__(8112);
5811
5902
 
5812
- const substrong = (0, combinator_1.lazy)(() => (0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blank)('', '**')), (0, combinator_1.open)((0, combinator_1.some)(inline_1.inline, '*'), inline_1.inline)])));
5813
- const subemphasis = (0, combinator_1.lazy)(() => (0, combinator_1.some)((0, combinator_1.union)([strong_1.strong, (0, combinator_1.some)(inline_1.inline, (0, util_1.blank)('', '*')), (0, combinator_1.open)((0, combinator_1.some)(inline_1.inline, '*'), inline_1.inline)])));
5814
- exports.emstrong = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.surround)((0, source_1.str)('***'), (0, util_1.startTight)((0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blank)('', '*')), (0, combinator_1.open)((0, combinator_1.some)(inline_1.inline, '*'), inline_1.inline)]))), (0, source_1.str)(/^\*{1,3}/), false, ([, bs, cs], rest, context) => {
5903
+ const substrong = (0, combinator_1.lazy)(() => (0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blankWith)('**')), (0, combinator_1.open)((0, combinator_1.some)(inline_1.inline, '*'), (0, combinator_1.union)([exports.emstrong, strong_1.strong]))])));
5904
+ const subemphasis = (0, combinator_1.lazy)(() => (0, combinator_1.some)((0, combinator_1.union)([strong_1.strong, (0, combinator_1.some)(inline_1.inline, (0, util_1.blankWith)('*')), (0, combinator_1.open)((0, combinator_1.some)(inline_1.inline, '*'), (0, combinator_1.union)([exports.emstrong, strong_1.strong, emphasis_1.emphasis]))])));
5905
+ exports.emstrong = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.surround)((0, source_1.str)('***'), (0, util_1.startTight)((0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blankWith)('*')), (0, combinator_1.open)((0, combinator_1.some)(inline_1.inline, '*'), inline_1.inline)]))), (0, source_1.str)(/^\*{1,3}/), false, ([, bs, cs], rest, context) => {
5815
5906
  switch (cs[0]) {
5816
5907
  case '***':
5817
5908
  return [[(0, dom_1.html)('em', [(0, dom_1.html)('strong', (0, dom_1.defrag)(bs))])], rest];
@@ -6151,8 +6242,6 @@ exports.attributes = exports.attribute = exports.html = void 0;
6151
6242
 
6152
6243
  const global_1 = __webpack_require__(4128);
6153
6244
 
6154
- const alias_1 = __webpack_require__(5406);
6155
-
6156
6245
  const combinator_1 = __webpack_require__(2087);
6157
6246
 
6158
6247
  const inline_1 = __webpack_require__(1160);
@@ -6169,21 +6258,21 @@ const cache_1 = __webpack_require__(9210);
6169
6258
 
6170
6259
  const array_1 = __webpack_require__(8112);
6171
6260
 
6172
- const tags = Object.freeze(['wbr', 'sup', 'sub', 'small', 'bdo', 'bdi']);
6261
+ const tags = global_1.Object.freeze(['wbr', 'sup', 'sub', 'small', 'bdo', 'bdi']);
6173
6262
  const attrspec = {
6174
6263
  bdo: {
6175
- dir: Object.freeze(['ltr', 'rtl'])
6264
+ dir: global_1.Object.freeze(['ltr', 'rtl'])
6176
6265
  }
6177
6266
  };
6178
- Object.setPrototypeOf(attrspec, null);
6179
- Object.values(attrspec).forEach(o => Object.setPrototypeOf(o, null));
6180
- exports.html = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.validate)('<', (0, combinator_1.validate)(/^<[a-z]+(?=[^\S\n]|>)/, (0, combinator_1.union)([(0, combinator_1.match)(/^(?=<(wbr)(?=[^\S\n]|>))/, (0, memoize_1.memoize)(([, tag]) => (0, combinator_1.surround)(`<${tag}`, (0, combinator_1.some)((0, combinator_1.union)([exports.attribute])), /^\s*>/, true, ([, bs = []], rest) => [[(0, dom_1.html)(tag, attributes('html', [], attrspec[tag], bs))], rest]), ([, tag]) => tags.indexOf(tag), [])), (0, combinator_1.match)(/^(?=<(sup|sub|small|bdo|bdi)(?=[^\S\n]|>))/, (0, memoize_1.memoize)(([, tag]) => (0, combinator_1.surround)((0, combinator_1.surround)((0, source_1.str)(`<${tag}`), (0, combinator_1.some)(exports.attribute), (0, source_1.str)(/^\s*>/), true), (0, util_1.startLoose)((0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blank)(/\n/, `</${tag}>`)), (0, combinator_1.open)(/^\n/, (0, combinator_1.some)(inline_1.inline, `</${tag}>`), true)]), `</${tag}>`), `</${tag}>`), (0, source_1.str)(`</${tag}>`), false, ([as, bs, cs], rest) => [[elem(tag, as, (0, dom_1.defrag)(bs), cs)], rest]), ([, tag]) => tags.indexOf(tag), [])), (0, combinator_1.match)(/^(?=<([a-z]+)(?=[^\S\n]|>))/, (0, memoize_1.memoize)(([, tag]) => (0, combinator_1.surround)((0, combinator_1.surround)((0, source_1.str)(`<${tag}`), (0, combinator_1.some)(exports.attribute), (0, source_1.str)(/^\s*>/), true), (0, util_1.startLoose)((0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blank)(/\n/, `</${tag}>`)), (0, combinator_1.open)(/^\n/, (0, combinator_1.some)(inline_1.inline, `</${tag}>`), true)]), `</${tag}>`), `</${tag}>`), (0, source_1.str)(`</${tag}>`), false, ([as, bs, cs], rest) => [[elem(tag, as, (0, dom_1.defrag)(bs), cs)], rest]), ([, tag]) => tag, new cache_1.Cache(10000)))])))));
6267
+ global_1.Object.setPrototypeOf(attrspec, null);
6268
+ global_1.Object.values(attrspec).forEach(o => global_1.Object.setPrototypeOf(o, null));
6269
+ exports.html = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.validate)('<', (0, combinator_1.validate)(/^<[a-z]+(?=[^\S\n]|>)/, (0, combinator_1.union)([(0, combinator_1.match)(/^(?=<(wbr)(?=[^\S\n]|>))/, (0, memoize_1.memoize)(([, tag]) => (0, combinator_1.surround)(`<${tag}`, (0, combinator_1.some)((0, combinator_1.union)([exports.attribute])), /^\s*>/, true, ([, bs = []], rest) => [[(0, dom_1.html)(tag, attributes('html', [], attrspec[tag], bs))], rest]), ([, tag]) => tags.indexOf(tag), [])), (0, combinator_1.match)(/^(?=<(sup|sub|small|bdo|bdi)(?=[^\S\n]|>))/, (0, memoize_1.memoize)(([, tag]) => (0, combinator_1.surround)((0, combinator_1.surround)((0, source_1.str)(`<${tag}`), (0, combinator_1.some)(exports.attribute), (0, source_1.str)(/^\s*>/), true), (0, util_1.startLoose)((0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.open)(/^\n?/, (0, combinator_1.some)(inline_1.inline, (0, util_1.blankWith)('\n', `</${tag}>`)), true)])), `</${tag}>`), (0, source_1.str)(`</${tag}>`), false, ([as, bs, cs], rest) => [[elem(tag, as, bs, cs)], rest]), ([, tag]) => tags.indexOf(tag), [])), (0, combinator_1.match)(/^(?=<([a-z]+)(?=[^\S\n]|>))/, (0, memoize_1.memoize)(([, tag]) => (0, combinator_1.surround)((0, combinator_1.surround)((0, source_1.str)(`<${tag}`), (0, combinator_1.some)(exports.attribute), (0, source_1.str)(/^\s*>/), true), (0, util_1.startLoose)((0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.open)(/^\n?/, (0, combinator_1.some)(inline_1.inline, (0, util_1.blankWith)('\n', `</${tag}>`)), true)])), `</${tag}>`), (0, source_1.str)(`</${tag}>`), false, ([as, bs, cs], rest) => [[elem(tag, as, bs, cs)], rest]), ([, tag]) => tag, new cache_1.Cache(10000)))])))));
6181
6270
  exports.attribute = (0, combinator_1.union)([(0, source_1.str)(/^[^\S\n]+[a-z]+(?:-[a-z]+)*(?:="(?:\\[^\n]|[^\\\n"])*")?(?=[^\S\n]|>)/)]);
6182
6271
 
6183
6272
  function elem(tag, as, bs, cs) {
6184
6273
  if (!tags.includes(tag)) return invalid('tag', `Invalid HTML tag <${tag}>`, as, bs, cs);
6185
6274
  const attrs = attributes('html', [], attrspec[tag], as.slice(1, -1));
6186
- return 'data-invalid-syntax' in attrs ? invalid('attribute', 'Invalid HTML attribute', as, bs, cs) : (0, dom_1.html)(tag, attrs, bs);
6275
+ return 'data-invalid-syntax' in attrs ? invalid('attribute', 'Invalid HTML attribute', as, bs, cs) : (0, dom_1.html)(tag, attrs, (0, dom_1.defrag)(bs));
6187
6276
  }
6188
6277
 
6189
6278
  function invalid(type, message, as, bs, cs) {
@@ -6195,7 +6284,7 @@ function invalid(type, message, as, bs, cs) {
6195
6284
  }, (0, dom_1.defrag)((0, array_1.push)((0, array_1.unshift)(as, bs), cs)));
6196
6285
  }
6197
6286
 
6198
- const requiredAttributes = (0, memoize_1.memoize)(spec => (0, alias_1.ObjectEntries)(spec).flatMap(([k, v]) => v && (0, alias_1.isFrozen)(v) ? [k] : []), new WeakMap());
6287
+ const requiredAttributes = (0, memoize_1.memoize)(spec => global_1.Object.entries(spec).flatMap(([k, v]) => v && global_1.Object.isFrozen(v) ? [k] : []), new WeakMap());
6199
6288
 
6200
6289
  function attributes(syntax, classes, spec, params) {
6201
6290
  let invalid = false;
@@ -6285,7 +6374,7 @@ const dom_1 = __webpack_require__(3252);
6285
6374
 
6286
6375
  const array_1 = __webpack_require__(8112);
6287
6376
 
6288
- exports.insertion = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.surround)((0, source_1.str)('++'), (0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blank)(/\n/, '++')), (0, combinator_1.open)(/^\n/, (0, combinator_1.some)(inline_1.inline, '+'), true)])), (0, source_1.str)('++'), false, ([, bs], rest) => [[(0, dom_1.html)('ins', (0, dom_1.defrag)(bs))], rest], ([as, bs], rest) => [(0, array_1.unshift)(as, bs), rest])));
6377
+ exports.insertion = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.surround)((0, source_1.str)('++'), (0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blankWith)('\n', '++')), (0, combinator_1.open)('\n', (0, combinator_1.some)(inline_1.inline, '+'), true)])), (0, source_1.str)('++'), false, ([, bs], rest) => [[(0, dom_1.html)('ins', (0, dom_1.defrag)(bs))], rest], ([as, bs], rest) => [(0, array_1.unshift)(as, bs), rest])));
6289
6378
 
6290
6379
  /***/ }),
6291
6380
 
@@ -6330,7 +6419,7 @@ exports.link = (0, combinator_1.lazy)(() => (0, combinator_1.creator)(10, (0, co
6330
6419
  link: false
6331
6420
  }
6332
6421
  }
6333
- }, (0, combinator_1.dup)((0, combinator_1.union)([(0, combinator_1.surround)('[', inline_1.media, ']'), (0, combinator_1.surround)('[', inline_1.shortmedia, ']'), (0, combinator_1.surround)('[', (0, util_1.startLoose)((0, combinator_1.context)({
6422
+ }, (0, combinator_1.dup)((0, combinator_1.union)([(0, combinator_1.surround)('[', inline_1.media, ']'), (0, combinator_1.surround)('[', inline_1.shortmedia, ']'), (0, combinator_1.surround)('[', (0, combinator_1.context)({
6334
6423
  syntax: {
6335
6424
  inline: {
6336
6425
  annotation: false,
@@ -6343,10 +6432,10 @@ exports.link = (0, combinator_1.lazy)(() => (0, combinator_1.creator)(10, (0, co
6343
6432
  autolink: false
6344
6433
  }
6345
6434
  }
6346
- }, (0, util_1.trimSpaceStart)((0, combinator_1.some)(inline_1.inline, ']', /^\\?\n/)))), ']', true)]))), (0, combinator_1.dup)((0, combinator_1.surround)(/^{(?![{}])/, (0, combinator_1.inits)([exports.uri, (0, combinator_1.some)(exports.option)]), /^[^\S\n]*}/))]))), ([params, content = []], rest, context) => {
6435
+ }, (0, util_1.trimBlank)((0, combinator_1.some)(inline_1.inline, ']', /^\\?\n/))), ']', true)]))), (0, combinator_1.dup)((0, combinator_1.surround)(/^{(?![{}])/, (0, combinator_1.inits)([exports.uri, (0, combinator_1.some)(exports.option)]), /^[^\S\n]*}/))]))), ([params, content = []], rest, context) => {
6347
6436
  if ((0, parser_1.eval)((0, combinator_1.some)(autolink_1.autolink)((0, util_1.stringify)(content), context))?.some(node => typeof node === 'object')) return;
6348
6437
  const INSECURE_URI = params.shift();
6349
- const el = elem(INSECURE_URI, (0, util_1.trimNodeEnd)((0, dom_1.defrag)(content)), new url_1.ReadonlyURL(resolve(INSECURE_URI, context.host ?? global_1.location, context.url ?? context.host ?? global_1.location), context.host?.href || global_1.location.href), context.host?.origin || global_1.location.origin);
6438
+ const el = elem(INSECURE_URI, (0, dom_1.defrag)(content), new url_1.ReadonlyURL(resolve(INSECURE_URI, context.host ?? global_1.location, context.url ?? context.host ?? global_1.location), context.host?.href || global_1.location.href), context.host?.origin || global_1.location.origin);
6350
6439
  if (el.classList.contains('invalid')) return [[el], rest];
6351
6440
  return [[(0, dom_1.define)(el, (0, html_1.attributes)('link', [], optspec, params))], rest];
6352
6441
  }))));
@@ -6452,7 +6541,7 @@ const dom_1 = __webpack_require__(3252);
6452
6541
 
6453
6542
  const array_1 = __webpack_require__(8112);
6454
6543
 
6455
- exports.mark = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.surround)((0, source_1.str)('=='), (0, util_1.startTight)((0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blank)('', '==')), (0, combinator_1.open)((0, combinator_1.some)(inline_1.inline, '='), inline_1.inline)]))), (0, source_1.str)('=='), false, ([, bs], rest) => [[(0, dom_1.html)('mark', (0, dom_1.defrag)(bs))], rest], ([as, bs], rest) => [(0, array_1.unshift)(as, bs), rest])));
6544
+ exports.mark = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.surround)((0, source_1.str)('=='), (0, util_1.startTight)((0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blankWith)('==')), (0, combinator_1.open)((0, combinator_1.some)(inline_1.inline, '='), exports.mark)]))), (0, source_1.str)('=='), false, ([, bs], rest) => [[(0, dom_1.html)('mark', (0, dom_1.defrag)(bs))], rest], ([as, bs], rest) => [(0, array_1.unshift)(as, bs), rest])));
6456
6545
 
6457
6546
  /***/ }),
6458
6547
 
@@ -6616,7 +6705,7 @@ const util_1 = __webpack_require__(9437);
6616
6705
 
6617
6706
  const dom_1 = __webpack_require__(3252);
6618
6707
 
6619
- exports.reference = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.validate)('[[', ']]', '\n', (0, combinator_1.fmap)((0, combinator_1.surround)('[[', (0, combinator_1.guard)(context => context.syntax?.inline?.reference ?? true, (0, util_1.startLoose)((0, combinator_1.context)({
6708
+ exports.reference = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.validate)('[[', ']]', '\n', (0, combinator_1.fmap)((0, combinator_1.surround)('[[', (0, combinator_1.guard)(context => context.syntax?.inline?.reference ?? true, (0, combinator_1.context)({
6620
6709
  syntax: {
6621
6710
  inline: {
6622
6711
  annotation: false,
@@ -6630,8 +6719,8 @@ exports.reference = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, c
6630
6719
  }
6631
6720
  },
6632
6721
  delimiters: global_1.undefined
6633
- }, (0, combinator_1.subsequence)([abbr, (0, combinator_1.focus)(/^\^[^\S\n]*/, source => [['', source], '']), (0, util_1.trimSpaceStart)((0, combinator_1.some)(inline_1.inline, ']', /^\\?\n/))])))), ']]'), ns => [(0, dom_1.html)('sup', attributes(ns), (0, util_1.trimNodeEnd)((0, dom_1.defrag)(ns)))]))));
6634
- const abbr = (0, combinator_1.creator)((0, combinator_1.fmap)((0, combinator_1.verify)((0, combinator_1.surround)('^', (0, combinator_1.union)([(0, source_1.str)(/^(?![0-9]+\s?[|\]])[0-9A-Za-z]+(?:(?:-|(?=\W)(?!'\d)'?(?!\.\d)\.?(?!,\S),? ?)[0-9A-Za-z]+)*(?:-|'?\.?,? ?)?/)]), /^\|?(?=]])|^\|[^\S\n]*/), (_, rest, context) => (0, util_1.isStartLoose)(rest, context)), ([source]) => [(0, dom_1.html)('abbr', source)]));
6722
+ }, (0, combinator_1.subsequence)([abbr, (0, combinator_1.focus)(/^\^[^\S\n]*/, source => [['', source], '']), (0, util_1.trimBlank)((0, combinator_1.some)(inline_1.inline, ']', /^\\?\n/))]))), ']]'), ns => [(0, dom_1.html)('sup', attributes(ns), (0, dom_1.defrag)(ns))]))));
6723
+ const abbr = (0, combinator_1.creator)((0, combinator_1.bind)((0, combinator_1.surround)('^', (0, combinator_1.union)([(0, source_1.str)(/^(?![0-9]+\s?[|\]])[0-9A-Za-z]+(?:(?:-|(?=\W)(?!'\d)'?(?!\.\d)\.?(?!,\S),? ?)[0-9A-Za-z]+)*(?:-|'?\.?,? ?)?/)]), /^\|?(?=]])|^\|[^\S\n]*/), ([source], rest) => [[(0, dom_1.html)('abbr', source)], rest.replace(util_1.regBlankStart, '')]));
6635
6724
 
6636
6725
  function attributes(ns) {
6637
6726
  return typeof ns[0] === 'object' && ns[0].tagName === 'ABBR' ? {
@@ -6785,6 +6874,8 @@ const combinator_1 = __webpack_require__(2087);
6785
6874
 
6786
6875
  const inline_1 = __webpack_require__(1160);
6787
6876
 
6877
+ const emstrong_1 = __webpack_require__(6132);
6878
+
6788
6879
  const source_1 = __webpack_require__(6743);
6789
6880
 
6790
6881
  const util_1 = __webpack_require__(9437);
@@ -6793,7 +6884,7 @@ const dom_1 = __webpack_require__(3252);
6793
6884
 
6794
6885
  const array_1 = __webpack_require__(8112);
6795
6886
 
6796
- exports.strong = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.surround)((0, source_1.str)('**'), (0, util_1.startTight)((0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blank)('', '**')), (0, combinator_1.open)((0, combinator_1.some)(inline_1.inline, '*'), inline_1.inline)])), '*'), (0, source_1.str)('**'), false, ([, bs], rest) => [[(0, dom_1.html)('strong', (0, dom_1.defrag)(bs))], rest], ([as, bs], rest) => [(0, array_1.unshift)(as, bs), rest])));
6887
+ exports.strong = (0, combinator_1.lazy)(() => (0, combinator_1.creator)((0, combinator_1.surround)((0, source_1.str)('**'), (0, util_1.startTight)((0, combinator_1.some)((0, combinator_1.union)([(0, combinator_1.some)(inline_1.inline, (0, util_1.blankWith)('**')), (0, combinator_1.open)((0, combinator_1.some)(inline_1.inline, '*'), (0, combinator_1.union)([emstrong_1.emstrong, exports.strong]))])), '*'), (0, source_1.str)('**'), false, ([, bs], rest) => [[(0, dom_1.html)('strong', (0, dom_1.defrag)(bs))], rest], ([as, bs], rest) => [(0, array_1.unshift)(as, bs), rest])));
6797
6888
 
6798
6889
  /***/ }),
6799
6890
 
@@ -7445,10 +7536,10 @@ const combinator_1 = __webpack_require__(2087);
7445
7536
 
7446
7537
  const text_1 = __webpack_require__(7763);
7447
7538
 
7448
- const separator = /[\s\x00-\x2F\x3A-\x40\x5B-\x60\x7B-\x7F]/;
7539
+ const delimiter = /[\s\x00-\x2F\x3A-\x40\x5B-\x60\x7B-\x7F]/;
7449
7540
  exports.escsource = (0, combinator_1.creator)(source => {
7450
7541
  if (source === '') return;
7451
- const i = source.search(separator);
7542
+ const i = source.search(delimiter);
7452
7543
 
7453
7544
  switch (i) {
7454
7545
  case -1:
@@ -7465,7 +7556,7 @@ exports.escsource = (0, combinator_1.creator)(source => {
7465
7556
  default:
7466
7557
  const b = source[0] !== '\n' && source[0].trimStart() === '';
7467
7558
  const i = b ? source.search(text_1.nonWhitespace) : 1;
7468
- return [[source.slice(0, i)], source.slice(i)];
7559
+ return [[source.slice(0, i - +b || 1)], source.slice(i - +b || 1)];
7469
7560
  }
7470
7561
 
7471
7562
  default:
@@ -7548,7 +7639,7 @@ exports.stropt = stropt;
7548
7639
  Object.defineProperty(exports, "__esModule", ({
7549
7640
  value: true
7550
7641
  }));
7551
- exports.isAlphanumeric = exports.linebreak = exports.txt = exports.text = exports.nonAlphanumeric = exports.nonWhitespace = exports.separator = void 0;
7642
+ exports.isAlphanumeric = exports.linebreak = exports.txt = exports.text = exports.nonAlphanumeric = exports.nonWhitespace = exports.delimiter = void 0;
7552
7643
 
7553
7644
  const global_1 = __webpack_require__(4128);
7554
7645
 
@@ -7558,13 +7649,13 @@ const str_1 = __webpack_require__(2790);
7558
7649
 
7559
7650
  const dom_1 = __webpack_require__(3252);
7560
7651
 
7561
- exports.separator = /[\s\x00-\x7F]|\S#|[、。!?][^\S\n]*(?=\\\n)/;
7652
+ exports.delimiter = /[\s\x00-\x7F]|\S#|[、。!?][^\S\n]*(?=\\\n)/;
7562
7653
  exports.nonWhitespace = /[\S\n]|$/;
7563
7654
  exports.nonAlphanumeric = /[^0-9A-Za-z]|\S#|$/;
7564
7655
  const repeat = (0, str_1.str)(/^(.)\1*/);
7565
7656
  exports.text = (0, combinator_1.creator)((source, context) => {
7566
7657
  if (source === '') return;
7567
- const i = source.search(exports.separator);
7658
+ const i = source.search(exports.delimiter);
7568
7659
 
7569
7660
  switch (i) {
7570
7661
  case -1:
@@ -7623,7 +7714,7 @@ exports.text = (0, combinator_1.creator)((source, context) => {
7623
7714
  default:
7624
7715
  const b = source[0].trimStart() === '';
7625
7716
  const i = b || isAlphanumeric(source[0]) ? source.search(b ? exports.nonWhitespace : exports.nonAlphanumeric) || 1 : 1;
7626
- return b && i === source.length || b && source[i] === '\n' || b && source[i] === '\\' && source[i + 1] === '\n' ? [[], source.slice(i)] : [[source.slice(0, i)], source.slice(i)];
7717
+ return b && i === source.length || b && source[i] === '\n' || b && source[i] === '\\' && source[i + 1] === '\n' ? [[], source.slice(i)] : [[source.slice(0, i - +b || 1)], source.slice(i - +b || 1)];
7627
7718
  }
7628
7719
 
7629
7720
  default:
@@ -7659,7 +7750,7 @@ const text_1 = __webpack_require__(7763);
7659
7750
 
7660
7751
  exports.unescsource = (0, combinator_1.creator)(source => {
7661
7752
  if (source === '') return;
7662
- const i = source.search(text_1.separator);
7753
+ const i = source.search(text_1.delimiter);
7663
7754
 
7664
7755
  switch (i) {
7665
7756
  case -1:
@@ -7669,7 +7760,7 @@ exports.unescsource = (0, combinator_1.creator)(source => {
7669
7760
  {
7670
7761
  const b = source[0] !== '\n' && source[0].trimStart() === '';
7671
7762
  const i = b || (0, text_1.isAlphanumeric)(source[0]) ? source.search(b ? text_1.nonWhitespace : text_1.nonAlphanumeric) || 1 : 1;
7672
- return [[source.slice(0, i)], source.slice(i)];
7763
+ return [[source.slice(0, i - +b || 1)], source.slice(i - +b || 1)];
7673
7764
  }
7674
7765
 
7675
7766
  default:
@@ -7688,7 +7779,7 @@ exports.unescsource = (0, combinator_1.creator)(source => {
7688
7779
  Object.defineProperty(exports, "__esModule", ({
7689
7780
  value: true
7690
7781
  }));
7691
- exports.stringify = exports.trimNodeEnd = exports.trimSpaceStart = exports.isStartTightNodes = exports.startTight = exports.isStartLoose = exports.startLoose = exports.visualize = exports.blank = void 0;
7782
+ exports.stringify = exports.trimNodeEnd = exports.trimBlank = exports.isStartTightNodes = exports.startTight = exports.startLoose = exports.visualize = exports.blankWith = exports.regBlankStart = void 0;
7692
7783
 
7693
7784
  const global_1 = __webpack_require__(4128);
7694
7785
 
@@ -7706,11 +7797,14 @@ const memoize_1 = __webpack_require__(1808);
7706
7797
 
7707
7798
  const array_1 = __webpack_require__(8112);
7708
7799
 
7709
- function blank(prefix, suffix) {
7710
- return new RegExp(String.raw`^(?:${prefix && prefix.source}(?:\\\s|[^\S\n]|\n|&(?:${normalize_1.invisibleHTMLEntityNames.join('|')});|<wbr>)*)?${typeof suffix === 'string' ? suffix.replace(/[*+()\[\]]/g, '\\$&') : suffix.source}`);
7800
+ exports.regBlankStart = new RegExp(String.raw`^(?:\\?[^\S\n]|&(?:${normalize_1.invisibleHTMLEntityNames.join('|')});|<wbr>)+`);
7801
+
7802
+ function blankWith(starting, delimiter) {
7803
+ if (delimiter === global_1.undefined) return blankWith('', starting);
7804
+ return new RegExp(String.raw`^(?:(?=${starting})(?:\\?\s|&(?:${normalize_1.invisibleHTMLEntityNames.join('|')});|<wbr>)${starting && '+'})?${typeof delimiter === 'string' ? delimiter.replace(/[*+()\[\]]/g, '\\$&') : delimiter.source}`);
7711
7805
  }
7712
7806
 
7713
- exports.blank = blank;
7807
+ exports.blankWith = blankWith;
7714
7808
 
7715
7809
  function visualize(parser) {
7716
7810
  const blankline = new RegExp(String.raw`^(?:\\$|\\?[^\S\n]|&(?:${normalize_1.invisibleHTMLEntityNames.join('|')});|<wbr>)+$`, 'gm');
@@ -7741,12 +7835,12 @@ function hasVisible(nodes, {
7741
7835
  }
7742
7836
 
7743
7837
  function startLoose(parser, except) {
7744
- return (source, context) => (0, exports.isStartLoose)(source, context, except) ? parser(source, context) : global_1.undefined;
7838
+ return (source, context) => isStartLoose(source, context, except) ? parser(source, context) : global_1.undefined;
7745
7839
  }
7746
7840
 
7747
7841
  exports.startLoose = startLoose;
7748
- exports.isStartLoose = (0, memoize_1.reduce)((source, context, except) => {
7749
- return isStartTight(source.replace(/^[^\S\n]+/, ''), context, except);
7842
+ const isStartLoose = (0, memoize_1.reduce)((source, context, except) => {
7843
+ return isStartTight(source.replace(exports.regBlankStart, ''), context, except);
7750
7844
  }, (source, _, except = '') => `${source}\x1E${except}`);
7751
7845
 
7752
7846
  function startTight(parser, except) {
@@ -7831,11 +7925,15 @@ function isVisible(node, strpos) {
7831
7925
  }
7832
7926
  }
7833
7927
 
7834
- function trimSpaceStart(parser) {
7835
- return (0, combinator_1.convert)((0, memoize_1.reduce)(source => source.replace(/^[^\S\n]+/, '')), parser);
7928
+ function trimBlank(parser) {
7929
+ return (0, combinator_1.fmap)(trimBlankStart(parser), trimNodeEnd);
7836
7930
  }
7837
7931
 
7838
- exports.trimSpaceStart = trimSpaceStart; //export function trimNode(nodes: (HTMLElement | string)[]): (HTMLElement | string)[] {
7932
+ exports.trimBlank = trimBlank;
7933
+
7934
+ function trimBlankStart(parser) {
7935
+ return (0, combinator_1.convert)((0, memoize_1.reduce)(source => source.replace(exports.regBlankStart, '')), parser);
7936
+ } //export function trimNode(nodes: (HTMLElement | string)[]): (HTMLElement | string)[] {
7839
7937
  // return trimNodeStart(trimNodeEnd(nodes));
7840
7938
  //}
7841
7939
  //function trimNodeStart(nodes: (HTMLElement | string)[]): (HTMLElement | string)[] {
@@ -7853,6 +7951,7 @@ exports.trimSpaceStart = trimSpaceStart; //export function trimNode(nodes: (HTML
7853
7951
  // return nodes;
7854
7952
  //}
7855
7953
 
7954
+
7856
7955
  function trimNodeEnd(nodes) {
7857
7956
  const skip = nodes.length > 0 && typeof nodes[nodes.length - 1] === 'object' && nodes[nodes.length - 1]['className'] === 'indexer' ? [nodes.pop()] : [];
7858
7957
 
@@ -8142,18 +8241,18 @@ Object.defineProperty(exports, "__esModule", ({
8142
8241
  }));
8143
8242
  exports.image = void 0;
8144
8243
 
8145
- const alias_1 = __webpack_require__(5406);
8244
+ const global_1 = __webpack_require__(4128);
8146
8245
 
8147
8246
  const dom_1 = __webpack_require__(3252);
8148
8247
 
8149
8248
  function image(source, url, cache) {
8150
- if (cache?.has(url.href)) return (0, dom_1.define)(cache.get(url.href).cloneNode(true), (0, alias_1.ObjectFromEntries)([...source.attributes].map(attr => [attr.name, attr.value])));
8249
+ if (cache?.has(url.href)) return (0, dom_1.define)(cache.get(url.href).cloneNode(true), global_1.Object.fromEntries([...source.attributes].map(attr => [attr.name, attr.value])));
8151
8250
  (0, dom_1.define)(source, {
8152
8251
  'data-type': 'image',
8153
8252
  src: source.getAttribute('data-src'),
8154
8253
  loading: 'lazy'
8155
8254
  });
8156
- cache?.set(url.href, (0, dom_1.define)(source.cloneNode(true), (0, alias_1.ObjectFromEntries)([...source.attributes].filter(attr => !['class', 'data-type', 'data-src', 'src', 'loading'].includes(attr.name)).map(attr => [attr.name, null]))));
8255
+ cache?.set(url.href, (0, dom_1.define)(source.cloneNode(true), global_1.Object.fromEntries([...source.attributes].filter(attr => !['class', 'data-type', 'data-src', 'src', 'loading'].includes(attr.name)).map(attr => [attr.name, null]))));
8157
8256
  return source;
8158
8257
  }
8159
8258
 
@@ -8274,7 +8373,7 @@ Object.defineProperty(exports, "__esModule", ({
8274
8373
  }));
8275
8374
  exports.video = void 0;
8276
8375
 
8277
- const alias_1 = __webpack_require__(5406);
8376
+ const global_1 = __webpack_require__(4128);
8278
8377
 
8279
8378
  const dom_1 = __webpack_require__(3252);
8280
8379
 
@@ -8285,7 +8384,7 @@ function video(source, url) {
8285
8384
  return (0, dom_1.html)('video', {
8286
8385
  src: source.getAttribute('data-src'),
8287
8386
  'data-type': 'video',
8288
- ...(0, alias_1.ObjectFromEntries)([...source.attributes].map(attr => [attr.name, attr.value])),
8387
+ ...global_1.Object.fromEntries([...source.attributes].map(attr => [attr.name, attr.value])),
8289
8388
  muted: '',
8290
8389
  controls: ''
8291
8390
  });
@@ -8660,7 +8759,7 @@ function fix(h) {
8660
8759
  /***/ 3252:
8661
8760
  /***/ (function(module) {
8662
8761
 
8663
- /*! typed-dom v0.0.295 https://github.com/falsandtru/typed-dom | (c) 2016, falsandtru | (Apache-2.0 AND MPL-2.0) License */
8762
+ /*! typed-dom v0.0.298 https://github.com/falsandtru/typed-dom | (c) 2016, falsandtru | (Apache-2.0 AND MPL-2.0) License */
8664
8763
  (function webpackUniversalModuleDefinition(root, factory) {
8665
8764
  if(true)
8666
8765
  module.exports = factory();
@@ -8678,50 +8777,18 @@ return /******/ (() => { // webpackBootstrap
8678
8777
  Object.defineProperty(exports, "__esModule", ({
8679
8778
  value: true
8680
8779
  }));
8681
- exports.isArray = exports.ObjectValues = exports.ObjectSetPrototypeOf = exports.ObjectSeal = exports.ObjectPreventExtensions = exports.ObjectKeys = exports.isSealed = exports.isFrozen = exports.isExtensible = exports.ObjectIs = exports.ObjectGetPrototypeOf = exports.ObjectGetOwnPropertySymbols = exports.ObjectGetOwnPropertyNames = exports.ObjectGetOwnPropertyDescriptors = exports.ObjectGetOwnPropertyDescriptor = exports.ObjectFromEntries = exports.ObjectFreeze = exports.ObjectEntries = exports.ObjectDefineProperty = exports.ObjectDefineProperties = exports.ObjectCreate = exports.ObjectAssign = exports.toString = exports.isEnumerable = exports.isPrototypeOf = exports.hasOwnProperty = exports.SymbolKeyFor = exports.SymbolFor = exports.sign = exports.round = exports.random = exports.min = exports.max = exports.floor = exports.ceil = exports.abs = exports.parseInt = exports.parseFloat = exports.isSafeInteger = exports.isNaN = exports.isInteger = exports.isFinite = exports[NaN] = void 0;
8780
+ exports.ObjectSetPrototypeOf = exports.ObjectGetPrototypeOf = exports.ObjectCreate = exports.ObjectAssign = exports.toString = exports.isEnumerable = exports.isPrototypeOf = exports.hasOwnProperty = exports.isArray = exports.sign = exports.round = exports.random = exports.min = exports.max = exports.floor = exports.ceil = exports.abs = exports.parseInt = exports.parseFloat = exports.isSafeInteger = exports.isNaN = exports.isInteger = exports.isFinite = exports[NaN] = void 0;
8682
8781
  exports[NaN] = Number.NaN, exports.isFinite = Number.isFinite, exports.isInteger = Number.isInteger, exports.isNaN = Number.isNaN, exports.isSafeInteger = Number.isSafeInteger, exports.parseFloat = Number.parseFloat, exports.parseInt = Number.parseInt;
8683
- exports.abs = Math.abs, exports.ceil = Math.ceil, exports.floor = Math.floor, exports.max = Math.max, exports.min = Math.min, exports.random = Math.random, exports.round = Math.round, exports.sign = Math.sign; //export const SymbolAsyncIterator: typeof Symbol.asyncIterator = Symbol.asyncIterator;
8684
-
8685
- exports.SymbolFor = Symbol.for; //export const SymbolHasInstance: typeof Symbol.hasInstance = Symbol.hasInstance;
8686
- //export const SymbolIsConcatSpreadable: typeof Symbol.isConcatSpreadable = Symbol.isConcatSpreadable;
8687
- //export const SymbolIterator: typeof Symbol.iterator = Symbol.iterator;
8688
-
8689
- exports.SymbolKeyFor = Symbol.keyFor; //export const SymbolMatch: typeof Symbol.match = Symbol.match;
8690
- //export const SymbolReplace: typeof Symbol.replace = Symbol.replace;
8691
- //export const SymbolSearch: typeof Symbol.search = Symbol.search;
8692
- //export const SymbolSpecies: typeof Symbol.species = Symbol.species;
8693
- //export const SymbolSplit: typeof Symbol.split = Symbol.split;
8694
- //export const SymbolToPrimitive: typeof Symbol.toPrimitive = Symbol.toPrimitive;
8695
- //export const SymbolToStringTag: typeof Symbol.toStringTag = Symbol.toStringTag;
8696
- //export const SymbolUnscopables: typeof Symbol.unscopables = Symbol.unscopables;
8697
-
8782
+ exports.abs = Math.abs, exports.ceil = Math.ceil, exports.floor = Math.floor, exports.max = Math.max, exports.min = Math.min, exports.random = Math.random, exports.round = Math.round, exports.sign = Math.sign;
8783
+ exports.isArray = Array.isArray;
8698
8784
  exports.hasOwnProperty = Object.prototype.hasOwnProperty.call.bind(Object.prototype.hasOwnProperty);
8699
8785
  exports.isPrototypeOf = Object.prototype.isPrototypeOf.call.bind(Object.prototype.isPrototypeOf);
8700
8786
  exports.isEnumerable = Object.prototype.propertyIsEnumerable.call.bind(Object.prototype.propertyIsEnumerable);
8701
8787
  exports.toString = Object.prototype.toString.call.bind(Object.prototype.toString);
8702
8788
  exports.ObjectAssign = Object.assign;
8703
8789
  exports.ObjectCreate = Object.create;
8704
- exports.ObjectDefineProperties = Object.defineProperties;
8705
- exports.ObjectDefineProperty = Object.defineProperty;
8706
- exports.ObjectEntries = Object.entries;
8707
- exports.ObjectFreeze = Object.freeze; // @ts-ignore
8708
-
8709
- exports.ObjectFromEntries = Object.fromEntries;
8710
- exports.ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
8711
- exports.ObjectGetOwnPropertyDescriptors = Object.getOwnPropertyDescriptors;
8712
- exports.ObjectGetOwnPropertyNames = Object.getOwnPropertyNames;
8713
- exports.ObjectGetOwnPropertySymbols = Object.getOwnPropertySymbols;
8714
8790
  exports.ObjectGetPrototypeOf = Object.getPrototypeOf;
8715
- exports.ObjectIs = Object.is;
8716
- exports.isExtensible = Object.isExtensible;
8717
- exports.isFrozen = Object.isFrozen;
8718
- exports.isSealed = Object.isSealed;
8719
- exports.ObjectKeys = Object.keys;
8720
- exports.ObjectPreventExtensions = Object.preventExtensions;
8721
- exports.ObjectSeal = Object.seal;
8722
8791
  exports.ObjectSetPrototypeOf = Object.setPrototypeOf;
8723
- exports.ObjectValues = Object.values;
8724
- exports.isArray = Array.isArray;
8725
8792
 
8726
8793
  /***/ }),
8727
8794
 
@@ -8744,11 +8811,11 @@ exports.equal = equal;
8744
8811
  /***/ }),
8745
8812
 
8746
8813
  /***/ 128:
8747
- /***/ ((module, __unused_webpack_exports, __nested_webpack_require_4955__) => {
8814
+ /***/ ((module, __unused_webpack_exports, __nested_webpack_require_2590__) => {
8748
8815
 
8749
8816
 
8750
8817
 
8751
- __nested_webpack_require_4955__(921);
8818
+ __nested_webpack_require_2590__(921);
8752
8819
 
8753
8820
  const global = void 0 || typeof globalThis !== 'undefined' && globalThis // @ts-ignore
8754
8821
  || typeof self !== 'undefined' && self || Function('return this')();
@@ -8769,7 +8836,7 @@ var global = (/* unused pure expression or super */ null && (0));
8769
8836
  /***/ }),
8770
8837
 
8771
8838
  /***/ 808:
8772
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_5442__) => {
8839
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_3077__) => {
8773
8840
 
8774
8841
 
8775
8842
 
@@ -8778,11 +8845,11 @@ Object.defineProperty(exports, "__esModule", ({
8778
8845
  }));
8779
8846
  exports.reduce = exports.memoize = void 0;
8780
8847
 
8781
- const global_1 = __nested_webpack_require_5442__(128);
8848
+ const global_1 = __nested_webpack_require_3077__(128);
8782
8849
 
8783
- const alias_1 = __nested_webpack_require_5442__(406);
8850
+ const alias_1 = __nested_webpack_require_3077__(406);
8784
8851
 
8785
- const compare_1 = __nested_webpack_require_5442__(529);
8852
+ const compare_1 = __nested_webpack_require_3077__(529);
8786
8853
 
8787
8854
  function memoize(f, identify = (...as) => as[0], memory) {
8788
8855
  if (typeof identify === 'object') return memoize(f, void 0, identify);
@@ -8840,7 +8907,7 @@ exports.reduce = reduce;
8840
8907
  /***/ }),
8841
8908
 
8842
8909
  /***/ 521:
8843
- /***/ ((__unused_webpack_module, exports, __nested_webpack_require_6832__) => {
8910
+ /***/ ((__unused_webpack_module, exports, __nested_webpack_require_4467__) => {
8844
8911
 
8845
8912
 
8846
8913
 
@@ -8849,11 +8916,11 @@ Object.defineProperty(exports, "__esModule", ({
8849
8916
  }));
8850
8917
  exports.defrag = exports.prepend = exports.append = exports.isChildren = exports.define = exports.element = exports.text = exports.svg = exports.html = exports.frag = exports.shadow = void 0;
8851
8918
 
8852
- const global_1 = __nested_webpack_require_6832__(128);
8919
+ const global_1 = __nested_webpack_require_4467__(128);
8853
8920
 
8854
- const alias_1 = __nested_webpack_require_6832__(406);
8921
+ const alias_1 = __nested_webpack_require_4467__(406);
8855
8922
 
8856
- const memoize_1 = __nested_webpack_require_6832__(808);
8923
+ const memoize_1 = __nested_webpack_require_4467__(808);
8857
8924
 
8858
8925
  var caches;
8859
8926
 
@@ -8881,10 +8948,10 @@ function frag(children) {
8881
8948
 
8882
8949
  exports.frag = frag;
8883
8950
  exports.html = element(global_1.document, "HTML"
8884
- /* HTML */
8951
+ /* NS.HTML */
8885
8952
  );
8886
8953
  exports.svg = element(global_1.document, "SVG"
8887
- /* SVG */
8954
+ /* NS.SVG */
8888
8955
  );
8889
8956
 
8890
8957
  function text(source) {
@@ -8908,17 +8975,17 @@ function elem(context, ns, tag) {
8908
8975
 
8909
8976
  switch (ns) {
8910
8977
  case "HTML"
8911
- /* HTML */
8978
+ /* NS.HTML */
8912
8979
  :
8913
8980
  return context.createElement(tag);
8914
8981
 
8915
8982
  case "SVG"
8916
- /* SVG */
8983
+ /* NS.SVG */
8917
8984
  :
8918
8985
  return context.createElementNS('http://www.w3.org/2000/svg', tag);
8919
8986
 
8920
8987
  case "MathML"
8921
- /* MathML */
8988
+ /* NS.MathML */
8922
8989
  :
8923
8990
  return context.createElementNS('http://www.w3.org/1998/Math/MathML', tag);
8924
8991
  }
@@ -8954,7 +9021,7 @@ function defineAttrs(el, attrs) {
8954
9021
  case 'connect':
8955
9022
  case 'disconnect':
8956
9023
  const prop = `on${type}`;
8957
- el[prop] ?? (0, alias_1.ObjectDefineProperty)(el, prop, {
9024
+ el[prop] ?? global_1.Object.defineProperty(el, prop, {
8958
9025
  configurable: true,
8959
9026
  enumerable: false,
8960
9027
  writable: true,
@@ -8981,7 +9048,7 @@ function defineAttrs(el, attrs) {
8981
9048
  case 'connect':
8982
9049
  case 'disconnect':
8983
9050
  const prop = `on${type}`;
8984
- el[prop] ?? (0, alias_1.ObjectDefineProperty)(el, prop, {
9051
+ el[prop] ?? global_1.Object.defineProperty(el, prop, {
8985
9052
  configurable: true,
8986
9053
  enumerable: false,
8987
9054
  writable: true,
@@ -9089,7 +9156,7 @@ exports.defrag = defrag;
9089
9156
  /******/ var __webpack_module_cache__ = {};
9090
9157
  /******/
9091
9158
  /******/ // The require function
9092
- /******/ function __nested_webpack_require_13916__(moduleId) {
9159
+ /******/ function __nested_webpack_require_11560__(moduleId) {
9093
9160
  /******/ // Check if module is in cache
9094
9161
  /******/ var cachedModule = __webpack_module_cache__[moduleId];
9095
9162
  /******/ if (cachedModule !== undefined) {
@@ -9103,7 +9170,7 @@ exports.defrag = defrag;
9103
9170
  /******/ };
9104
9171
  /******/
9105
9172
  /******/ // Execute the module function
9106
- /******/ __webpack_modules__[moduleId](module, module.exports, __nested_webpack_require_13916__);
9173
+ /******/ __webpack_modules__[moduleId](module, module.exports, __nested_webpack_require_11560__);
9107
9174
  /******/
9108
9175
  /******/ // Return the exports of the module
9109
9176
  /******/ return module.exports;
@@ -9114,7 +9181,7 @@ exports.defrag = defrag;
9114
9181
  /******/ // startup
9115
9182
  /******/ // Load entry module and return exports
9116
9183
  /******/ // This entry module is referenced by other modules so it can't be inlined
9117
- /******/ var __webpack_exports__ = __nested_webpack_require_13916__(521);
9184
+ /******/ var __webpack_exports__ = __nested_webpack_require_11560__(521);
9118
9185
  /******/
9119
9186
  /******/ return __webpack_exports__;
9120
9187
  /******/ })()
@@ -9126,7 +9193,7 @@ exports.defrag = defrag;
9126
9193
  /***/ 6120:
9127
9194
  /***/ (function(module) {
9128
9195
 
9129
- /*! typed-dom v0.0.295 https://github.com/falsandtru/typed-dom | (c) 2016, falsandtru | (Apache-2.0 AND MPL-2.0) License */
9196
+ /*! typed-dom v0.0.298 https://github.com/falsandtru/typed-dom | (c) 2016, falsandtru | (Apache-2.0 AND MPL-2.0) License */
9130
9197
  (function webpackUniversalModuleDefinition(root, factory) {
9131
9198
  if(true)
9132
9199
  module.exports = factory();