@prosekit/core 0.8.7 → 0.10.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 (139) hide show
  1. package/dist/{editor-M9OimMiI.d.ts → editor-BULC1zqX.d.ts} +31 -71
  2. package/dist/editor-BULC1zqX.d.ts.map +1 -0
  3. package/dist/{editor-B0L9BgMi.js → editor-g-Rqn-ZE.js} +119 -136
  4. package/dist/editor-g-Rqn-ZE.js.map +1 -0
  5. package/dist/prosekit-core-test.d.ts +1 -2
  6. package/dist/prosekit-core-test.d.ts.map +1 -1
  7. package/dist/prosekit-core-test.js +1 -1
  8. package/dist/prosekit-core-test.js.map +1 -1
  9. package/dist/prosekit-core.d.ts +182 -202
  10. package/dist/prosekit-core.d.ts.map +1 -1
  11. package/dist/prosekit-core.js +543 -549
  12. package/dist/prosekit-core.js.map +1 -1
  13. package/package.json +9 -12
  14. package/src/commands/add-mark.ts +1 -4
  15. package/src/commands/expand-mark.ts +2 -9
  16. package/src/commands/insert-default-block.spec.ts +1 -5
  17. package/src/commands/insert-default-block.ts +1 -4
  18. package/src/commands/insert-node.ts +4 -8
  19. package/src/commands/remove-mark.ts +1 -4
  20. package/src/commands/remove-node.ts +2 -2
  21. package/src/commands/select-all.ts +3 -8
  22. package/src/commands/select-block.spec.ts +81 -0
  23. package/src/commands/select-block.ts +56 -0
  24. package/src/commands/set-block-type.ts +1 -4
  25. package/src/commands/set-node-attrs-between.spec.ts +221 -0
  26. package/src/commands/set-node-attrs-between.ts +77 -0
  27. package/src/commands/set-node-attrs.spec.ts +129 -0
  28. package/src/commands/set-node-attrs.ts +25 -26
  29. package/src/commands/toggle-mark.ts +1 -4
  30. package/src/commands/toggle-node.ts +2 -5
  31. package/src/commands/toggle-wrap.spec.ts +1 -5
  32. package/src/commands/toggle-wrap.ts +1 -4
  33. package/src/commands/unset-block-type.spec.ts +1 -5
  34. package/src/commands/unset-block-type.ts +2 -8
  35. package/src/commands/unset-mark.spec.ts +1 -5
  36. package/src/commands/wrap.ts +2 -10
  37. package/src/editor/action.spec.ts +2 -6
  38. package/src/editor/action.ts +2 -19
  39. package/src/editor/editor.spec.ts +2 -9
  40. package/src/editor/editor.ts +31 -77
  41. package/src/editor/union.spec.ts +1 -5
  42. package/src/editor/union.ts +1 -4
  43. package/src/extensions/clipboard-serializer.ts +4 -16
  44. package/src/extensions/command.ts +20 -48
  45. package/src/extensions/default-state.spec.ts +1 -9
  46. package/src/extensions/default-state.ts +6 -32
  47. package/src/extensions/events/dom-event.spec.ts +1 -6
  48. package/src/extensions/events/dom-event.ts +5 -20
  49. package/src/extensions/events/editor-event.ts +5 -17
  50. package/src/extensions/events/focus.spec.ts +1 -6
  51. package/src/extensions/events/plugin-view.ts +2 -9
  52. package/src/extensions/history.ts +3 -10
  53. package/src/extensions/keymap-base.spec.ts +89 -0
  54. package/src/extensions/keymap-base.ts +34 -13
  55. package/src/extensions/keymap.spec.ts +12 -22
  56. package/src/extensions/keymap.ts +16 -69
  57. package/src/extensions/mark-spec.spec.ts +5 -20
  58. package/src/extensions/mark-spec.ts +33 -41
  59. package/src/extensions/mark-view-effect.ts +3 -9
  60. package/src/extensions/mark-view.ts +2 -8
  61. package/src/extensions/node-spec.spec.ts +5 -21
  62. package/src/extensions/node-spec.ts +31 -33
  63. package/src/extensions/node-view-effect.ts +3 -9
  64. package/src/extensions/node-view.ts +2 -8
  65. package/src/extensions/plugin.spec.ts +3 -16
  66. package/src/extensions/plugin.ts +4 -14
  67. package/src/facets/base-extension.ts +1 -4
  68. package/src/facets/command.ts +10 -10
  69. package/src/facets/facet-extension.spec.ts +4 -15
  70. package/src/facets/facet-node.spec.ts +2 -9
  71. package/src/facets/facet-node.ts +4 -9
  72. package/src/facets/facet.spec.ts +1 -4
  73. package/src/facets/schema-spec.ts +2 -9
  74. package/src/facets/schema.ts +3 -12
  75. package/src/facets/state.spec.ts +8 -15
  76. package/src/facets/state.ts +5 -20
  77. package/src/facets/union-extension.ts +2 -8
  78. package/src/index.ts +42 -188
  79. package/src/test/index.ts +1 -4
  80. package/src/test/test-builder.ts +1 -4
  81. package/src/test/test-editor.spec.ts +1 -5
  82. package/src/test/test-editor.ts +5 -24
  83. package/src/testing/index.ts +18 -14
  84. package/src/types/extension-command.ts +0 -7
  85. package/src/types/extension.spec.ts +1 -4
  86. package/src/types/extension.ts +3 -29
  87. package/src/types/simplify-union.ts +1 -4
  88. package/src/utils/array-grouping.spec.ts +2 -15
  89. package/src/utils/array-grouping.ts +1 -14
  90. package/src/utils/array.ts +0 -4
  91. package/src/utils/attrs-match.ts +1 -5
  92. package/src/utils/clsx.spec.ts +1 -4
  93. package/src/utils/combine-event-handlers.spec.ts +1 -5
  94. package/src/utils/combine-event-handlers.ts +4 -6
  95. package/src/utils/default-block-at.ts +1 -4
  96. package/src/utils/editor-content.spec.ts +1 -4
  97. package/src/utils/editor-content.ts +7 -19
  98. package/src/utils/find-node.ts +65 -0
  99. package/src/utils/find-parent-node-of-type.ts +6 -12
  100. package/src/utils/find-parent-node.spec.ts +1 -5
  101. package/src/utils/find-parent-node.ts +1 -4
  102. package/src/utils/get-custom-selection.ts +1 -5
  103. package/src/utils/get-mark-type.ts +1 -4
  104. package/src/utils/get-node-type.ts +1 -4
  105. package/src/utils/get-node-types.ts +1 -4
  106. package/src/utils/includes-mark.ts +1 -5
  107. package/src/utils/is-at-block-start.ts +1 -4
  108. package/src/utils/is-mark-absent.spec.ts +1 -4
  109. package/src/utils/is-mark-absent.ts +1 -5
  110. package/src/utils/is-mark-active.ts +1 -4
  111. package/src/utils/is-node-active.spec.ts +109 -0
  112. package/src/utils/is-node-active.ts +17 -8
  113. package/src/utils/is-subset.spec.ts +1 -4
  114. package/src/utils/maybe-run.spec.ts +1 -5
  115. package/src/utils/merge-objects.spec.ts +1 -4
  116. package/src/utils/merge-objects.ts +2 -1
  117. package/src/utils/merge-specs.ts +1 -4
  118. package/src/utils/object-equal.spec.ts +1 -4
  119. package/src/utils/output-spec.test.ts +1 -5
  120. package/src/utils/output-spec.ts +12 -9
  121. package/src/utils/parse.spec.ts +2 -11
  122. package/src/utils/parse.ts +12 -24
  123. package/src/utils/remove-undefined-values.spec.ts +1 -4
  124. package/src/utils/set-selection-around.ts +1 -4
  125. package/src/utils/type-assertion.ts +2 -21
  126. package/src/utils/unicode.spec.ts +1 -4
  127. package/dist/editor-B0L9BgMi.js.map +0 -1
  128. package/dist/editor-M9OimMiI.d.ts.map +0 -1
  129. package/src/extensions/doc.ts +0 -31
  130. package/src/extensions/paragraph.ts +0 -61
  131. package/src/extensions/text.ts +0 -34
  132. package/src/types/base-node-view-options.ts +0 -33
  133. package/src/types/object-entries.ts +0 -13
  134. package/src/utils/collect-children.ts +0 -21
  135. package/src/utils/collect-nodes.ts +0 -37
  136. package/src/utils/deep-equals.spec.ts +0 -26
  137. package/src/utils/deep-equals.ts +0 -29
  138. package/src/utils/get-id.spec.ts +0 -14
  139. package/src/utils/get-id.ts +0 -13
@@ -49,11 +49,11 @@ type NodeChild = ProseMirrorNode | string | NodeChild[];
49
49
  *
50
50
  * @public
51
51
  */
52
- interface NodeAction<Attrs$1 extends AnyAttrs = AnyAttrs> {
52
+ interface NodeAction<Attrs extends AnyAttrs = AnyAttrs> {
53
53
  /**
54
54
  * Creates a node with attributes and any number of children.
55
55
  */
56
- (attrs: Attrs$1 | null, ...children: NodeChild[]): ProseMirrorNode;
56
+ (attrs: Attrs | null, ...children: NodeChild[]): ProseMirrorNode;
57
57
  /**
58
58
  * Creates a node with any number of children.
59
59
  */
@@ -63,7 +63,7 @@ interface NodeAction<Attrs$1 extends AnyAttrs = AnyAttrs> {
63
63
  * optional `attrs` parameter is provided, it will check if the node is active
64
64
  * with the given attributes.
65
65
  */
66
- isActive: (attrs?: Attrs$1) => boolean;
66
+ isActive: (attrs?: Attrs) => boolean;
67
67
  }
68
68
  /**
69
69
  * A function for applying a mark with optional attributes and any number of
@@ -74,11 +74,11 @@ interface NodeAction<Attrs$1 extends AnyAttrs = AnyAttrs> {
74
74
  *
75
75
  * @public
76
76
  */
77
- interface MarkAction<Attrs$1 extends AnyAttrs = AnyAttrs> {
77
+ interface MarkAction<Attrs extends AnyAttrs = AnyAttrs> {
78
78
  /**
79
79
  * Applies a mark with attributes and any number of children.
80
80
  */
81
- (attrs: Attrs$1 | null, ...children: NodeChild[]): ProseMirrorNode[];
81
+ (attrs: Attrs | null, ...children: NodeChild[]): ProseMirrorNode[];
82
82
  /**
83
83
  * Applies a mark with any number of children.
84
84
  */
@@ -88,16 +88,8 @@ interface MarkAction<Attrs$1 extends AnyAttrs = AnyAttrs> {
88
88
  * optional `attrs` parameter is provided, it will check if the mark is active
89
89
  * with the given attributes.
90
90
  */
91
- isActive: (attrs?: Attrs$1) => boolean;
91
+ isActive: (attrs?: Attrs) => boolean;
92
92
  }
93
- /**
94
- * @deprecated Use type {@link NodeAction} instead.
95
- */
96
- type NodeBuilder = NodeAction;
97
- /**
98
- * @deprecated Use type {@link MarkAction} instead.
99
- */
100
- type MarkBuilder = MarkAction;
101
93
  //#endregion
102
94
  //#region src/types/extension-command.d.ts
103
95
  /**
@@ -118,12 +110,6 @@ interface CommandAction<Args extends any[] = any[]> {
118
110
  * can be executed, otherwise `false`.
119
111
  */
120
112
  canExec(...args: Args): boolean;
121
- /**
122
- * An alias for `canExec`.
123
- *
124
- * @deprecated Use `canExec` instead.
125
- */
126
- canApply(...args: Args): boolean;
127
113
  }
128
114
  type CommandCreator<Args extends any[] = any[]> = (...arg: Args) => Command;
129
115
  /**
@@ -182,7 +168,7 @@ declare enum Priority {
182
168
  low = 1,
183
169
  default = 2,
184
170
  high = 3,
185
- highest = 4,
171
+ highest = 4
186
172
  }
187
173
  //#endregion
188
174
  //#region src/types/simplify-deeper.d.ts
@@ -201,10 +187,10 @@ type SimplifyUnion<T> = Simplify<UnionToIntersection<T extends undefined ? never
201
187
  /**
202
188
  * @internal
203
189
  */
204
- interface ExtensionTyping<N$1 extends NodeTyping = never, M$1 extends MarkTyping = never, C$1 extends CommandTyping = never> {
205
- Nodes?: N$1;
206
- Marks?: M$1;
207
- Commands?: C$1;
190
+ interface ExtensionTyping<N extends NodeTyping = never, M extends MarkTyping = never, C extends CommandTyping = never> {
191
+ Nodes?: N;
192
+ Marks?: M;
193
+ Commands?: C;
208
194
  }
209
195
  /**
210
196
  * @public
@@ -277,10 +263,6 @@ type ExtractNodeActions<E extends Extension> = ToNodeAction<ExtractNodes<E>>;
277
263
  * @public
278
264
  */
279
265
  type ExtractMarkActions<E extends Extension> = ToMarkAction<ExtractMarks<E>>;
280
- /**
281
- * @deprecated Use `ExtractCommandActions` instead.
282
- */
283
- type ExtractCommandAppliers<E extends Extension> = ExtractCommandActions<E>;
284
266
  /**
285
267
  * @internal
286
268
  */
@@ -289,15 +271,6 @@ type Union<E extends readonly Extension[]> = Extension<{
289
271
  Marks: ExtractMarks<E[number]>;
290
272
  Commands: ExtractCommands<E[number]>;
291
273
  }>;
292
- /**
293
- * @deprecated Use `Union` instead.
294
- * @internal
295
- */
296
- type UnionExtension<E extends Extension | readonly Extension[]> = E extends readonly Extension[] ? Extension<{
297
- Nodes: ExtractNodes<E[number]>;
298
- Marks: ExtractMarks<E[number]>;
299
- Commands: ExtractCommands<E[number]>;
300
- }> : E;
301
274
  //#endregion
302
275
  //#region src/types/model.d.ts
303
276
  /**
@@ -436,7 +409,7 @@ declare function jsonFromNode(node: ProseMirrorNode): NodeJSON;
436
409
  */
437
410
  declare function nodeFromJSON(json: NodeJSON, options: JSONParserOptions): ProseMirrorNode;
438
411
  /**
439
- * Parse a HTML element to a ProseMirror node.
412
+ * Parse a DOM node to a ProseMirror node.
440
413
  *
441
414
  * @public
442
415
  *
@@ -449,7 +422,7 @@ declare function nodeFromJSON(json: NodeJSON, options: JSONParserOptions): Prose
449
422
  */
450
423
  declare function nodeFromElement(element: DOMNode, options: DOMParserOptions & JSONParserOptions): ProseMirrorNode;
451
424
  /**
452
- * Serialize a ProseMirror node to a HTML element.
425
+ * Serialize a ProseMirror node to an HTML element.
453
426
  *
454
427
  * @public
455
428
  *
@@ -462,7 +435,7 @@ declare function nodeFromElement(element: DOMNode, options: DOMParserOptions & J
462
435
  */
463
436
  declare function elementFromNode(node: ProseMirrorNode, options?: DOMSerializerOptions & DOMDocumentOptions): HTMLElement;
464
437
  /**
465
- * Parse a HTML string to a ProseMirror node.
438
+ * Parse an HTML string to a ProseMirror node.
466
439
  *
467
440
  * @public
468
441
  *
@@ -475,7 +448,7 @@ declare function elementFromNode(node: ProseMirrorNode, options?: DOMSerializerO
475
448
  */
476
449
  declare function nodeFromHTML(html: string, options: DOMParserOptions & JSONParserOptions & DOMDocumentOptions): ProseMirrorNode;
477
450
  /**
478
- * Serialize a ProseMirror node to a HTML string
451
+ * Serialize a ProseMirror node to an HTML string
479
452
  *
480
453
  * @public
481
454
  *
@@ -488,7 +461,7 @@ declare function nodeFromHTML(html: string, options: DOMParserOptions & JSONPars
488
461
  */
489
462
  declare function htmlFromNode(node: ProseMirrorNode, options?: DOMSerializerOptions & DOMDocumentOptions): string;
490
463
  /**
491
- * Parse a ProseMirror document JSON object to a HTML element.
464
+ * Parse a ProseMirror document JSON object to an HTML element.
492
465
  *
493
466
  * @public
494
467
  *
@@ -501,7 +474,7 @@ declare function htmlFromNode(node: ProseMirrorNode, options?: DOMSerializerOpti
501
474
  */
502
475
  declare function elementFromJSON(json: NodeJSON, options: JSONParserOptions & DOMSerializerOptions & DOMDocumentOptions): HTMLElement;
503
476
  /**
504
- * Parse a HTML string to a ProseMirror document JSON object.
477
+ * Parse an HTML string to a ProseMirror document JSON object.
505
478
  *
506
479
  * @public
507
480
  *
@@ -514,7 +487,7 @@ declare function elementFromJSON(json: NodeJSON, options: JSONParserOptions & DO
514
487
  */
515
488
  declare function jsonFromHTML(html: string, options: DOMDocumentOptions & DOMParserOptions & JSONParserOptions): NodeJSON;
516
489
  /**
517
- * Parse a ProseMirror document JSON object to a HTML string.
490
+ * Parse a ProseMirror document JSON object to an HTML string.
518
491
  *
519
492
  * @public
520
493
  *
@@ -538,23 +511,9 @@ interface EditorOptions<E extends Extension> {
538
511
  extension: E;
539
512
  /**
540
513
  * The starting document to use when creating the editor. It can be a
541
- * ProseMirror node JSON object, a HTML string, or a HTML element instance.
542
- */
543
- defaultContent?: NodeJSON | string | HTMLElement;
544
- /**
545
- * A JSON object representing the starting document to use when creating the
546
- * editor.
547
- *
548
- * @deprecated Use `defaultContent` instead.
549
- */
550
- defaultDoc?: NodeJSON;
551
- /**
552
- * A HTML element or a HTML string representing the starting document to use
553
- * when creating the editor.
554
- *
555
- * @deprecated Use `defaultContent` instead.
514
+ * ProseMirror node JSON object, an HTML string, or a DOM element instance.
556
515
  */
557
- defaultHTML?: string | HTMLElement;
516
+ defaultContent?: NodeJSON | string | Element;
558
517
  /**
559
518
  * A JSON object representing the starting selection to use when creating the
560
519
  * editor. It's only used when `defaultContent` is also provided.
@@ -589,13 +548,13 @@ declare class EditorInstance {
589
548
  private getProp;
590
549
  updateState(state: EditorState): void;
591
550
  private dispatch;
592
- setContent(content: NodeJSON | string | HTMLElement | ProseMirrorNode, selection?: SelectionJSON | Selection | 'start' | 'end'): void;
551
+ setContent(content: NodeJSON | string | Element | ProseMirrorNode, selection?: SelectionJSON | Selection | 'start' | 'end'): void;
593
552
  /**
594
553
  * Return a JSON object representing the editor's current document.
595
554
  */
596
555
  getDocJSON: () => NodeJSON;
597
556
  /**
598
- * Return a HTML string representing the editor's current document.
557
+ * Return an HTML string representing the editor's current document.
599
558
  */
600
559
  getDocHTML: (options?: getDocHTMLOptions) => string;
601
560
  private updateExtension;
@@ -641,10 +600,11 @@ declare class Editor<E extends Extension = any> {
641
600
  */
642
601
  get focused(): boolean;
643
602
  /**
644
- * Mount the editor to the given HTML element.
645
- * Pass `null` or `undefined` to unmount the editor.
603
+ * Mount the editor to the given HTML element. Pass `null` or `undefined` to
604
+ * unmount the editor. When an element is passed, this method returns a
605
+ * function to unmount the editor.
646
606
  */
647
- mount: (place: HTMLElement | null | undefined) => void;
607
+ mount: (place: HTMLElement | null | undefined) => void | VoidFunction;
648
608
  /**
649
609
  * Unmount the editor. This is equivalent to `mount(null)`.
650
610
  */
@@ -678,20 +638,20 @@ declare class Editor<E extends Extension = any> {
678
638
  * - A ProseMirror node instance
679
639
  * - A ProseMirror node JSON object
680
640
  * - An HTML string
681
- * - An HTML element instance
641
+ * - A DOM element instance
682
642
  * @param selection - Optional. Specifies the new selection. It can be one of the following:
683
643
  * - A ProseMirror selection instance
684
644
  * - A ProseMirror selection JSON object
685
645
  * - The string "start" (to set selection at the beginning, default value)
686
646
  * - The string "end" (to set selection at the end)
687
647
  */
688
- setContent: (content: ProseMirrorNode | NodeJSON | string | HTMLElement, selection?: SelectionJSON | Selection | "start" | "end") => void;
648
+ setContent: (content: ProseMirrorNode | NodeJSON | string | Element, selection?: SelectionJSON | Selection | "start" | "end") => void;
689
649
  /**
690
650
  * Return a JSON object representing the editor's current document.
691
651
  */
692
652
  getDocJSON: () => NodeJSON;
693
653
  /**
694
- * Return a HTML string representing the editor's current document.
654
+ * Return an HTML string representing the editor's current document.
695
655
  */
696
656
  getDocHTML: (options?: getDocHTMLOptions) => string;
697
657
  /**
@@ -718,5 +678,5 @@ declare class Editor<E extends Extension = any> {
718
678
  get marks(): ExtractMarkActions<E>;
719
679
  }
720
680
  //#endregion
721
- export { NodeChild as $, ExtractMarkActions as A, Priority as B, StepJSON as C, ExtractCommandAppliers as D, ExtractCommandActions as E, PlainExtension as F, ToMarkAction as G, NodeTyping as H, Union as I, CommandTyping as J, CommandAction as K, UnionExtension as L, ExtractNodeActions as M, ExtractNodes as N, ExtractCommandCreators as O, ExtractTyping as P, NodeBuilder as Q, SimplifyUnion as R, StateJSON as S, ExtensionTyping as T, ToNodeAction as U, PickSubType as V, MarkTyping as W, MarkBuilder as X, MarkAction as Y, NodeAction as Z, nodeFromHTML as _, DOMDocumentOptions as a, NodeJSON as b, JSONParserOptions as c, htmlFromJSON as d, AnyAttrs as et, htmlFromNode as f, nodeFromElement as g, jsonFromState as h, createEditor as i, ExtractMarks as j, ExtractCommands as k, elementFromJSON as l, jsonFromNode as m, EditorInstance as n, DOMParserOptions as o, jsonFromHTML as p, CommandCreator as q, EditorOptions as r, DOMSerializerOptions as s, Editor as t, AttrSpec as tt, elementFromNode as u, nodeFromJSON as v, Extension as w, SelectionJSON as x, stateFromJSON as y, SimplifyDeeper as z };
722
- //# sourceMappingURL=editor-M9OimMiI.d.ts.map
681
+ export { ExtractMarks as A, NodeTyping as B, StepJSON as C, ExtractCommandCreators as D, ExtractCommandActions as E, Union as F, CommandCreator as G, MarkTyping as H, SimplifyUnion as I, NodeAction as J, CommandTyping as K, SimplifyDeeper as L, ExtractNodes as M, ExtractTyping as N, ExtractCommands as O, PlainExtension as P, Priority as R, StateJSON as S, ExtensionTyping as T, ToMarkAction as U, ToNodeAction as V, CommandAction as W, AnyAttrs as X, NodeChild as Y, AttrSpec as Z, nodeFromHTML as _, DOMDocumentOptions as a, NodeJSON as b, JSONParserOptions as c, htmlFromJSON as d, htmlFromNode as f, nodeFromElement as g, jsonFromState as h, createEditor as i, ExtractNodeActions as j, ExtractMarkActions as k, elementFromJSON as l, jsonFromNode as m, EditorInstance as n, DOMParserOptions as o, jsonFromHTML as p, MarkAction as q, EditorOptions as r, DOMSerializerOptions as s, Editor as t, elementFromNode as u, nodeFromJSON as v, Extension as w, SelectionJSON as x, stateFromJSON as y, PickSubType as z };
682
+ //# sourceMappingURL=editor-BULC1zqX.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-BULC1zqX.d.ts","names":[],"sources":["../src/types/attrs.ts","../src/editor/action.ts","../src/types/extension-command.ts","../src/types/extension-mark.ts","../src/types/extension-node.ts","../src/types/pick-sub-type.ts","../src/types/pick-string-literal.ts","../src/types/priority.ts","../src/types/simplify-deeper.ts","../src/types/simplify-union.ts","../src/types/extension.ts","../src/types/model.ts","../src/types/dom-node.ts","../src/utils/parse.ts","../src/editor/editor.ts"],"mappings":"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"}