@payloadcms/richtext-lexical 0.1.13 → 0.1.15

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 (199) hide show
  1. package/dist/cell/index.d.ts.map +1 -1
  2. package/dist/cell/index.js +7 -3
  3. package/dist/field/Field.d.ts.map +1 -1
  4. package/dist/field/Field.js +7 -18
  5. package/dist/field/features/BlockQuote/index.d.ts.map +1 -1
  6. package/dist/field/features/BlockQuote/index.js +23 -5
  7. package/dist/field/features/Blocks/component/BlockContent.d.ts.map +1 -1
  8. package/dist/field/features/Blocks/component/BlockContent.js +17 -9
  9. package/dist/field/features/Blocks/component/index.d.ts.map +1 -1
  10. package/dist/field/features/Blocks/component/index.js +2 -1
  11. package/dist/field/features/Blocks/drawer/index.d.ts.map +1 -1
  12. package/dist/field/features/Blocks/drawer/index.js +2 -1
  13. package/dist/field/features/Blocks/index.d.ts.map +1 -1
  14. package/dist/field/features/Blocks/index.js +8 -8
  15. package/dist/field/features/Blocks/nodes/BlocksNode.d.ts.map +1 -1
  16. package/dist/field/features/Blocks/nodes/BlocksNode.js +2 -1
  17. package/dist/field/features/Blocks/plugin/index.d.ts.map +1 -1
  18. package/dist/field/features/Blocks/plugin/index.js +2 -1
  19. package/dist/field/features/Blocks/populationPromise.d.ts +5 -0
  20. package/dist/field/features/Blocks/populationPromise.d.ts.map +1 -0
  21. package/dist/field/features/Blocks/populationPromise.js +51 -0
  22. package/dist/field/features/Heading/index.d.ts.map +1 -1
  23. package/dist/field/features/Heading/index.js +28 -9
  24. package/dist/field/features/Link/index.d.ts.map +1 -1
  25. package/dist/field/features/Link/index.js +53 -14
  26. package/dist/field/features/Link/plugins/autoLink/index.d.ts +0 -7
  27. package/dist/field/features/Link/plugins/autoLink/index.d.ts.map +1 -1
  28. package/dist/field/features/Link/plugins/autoLink/index.js +3 -8
  29. package/dist/field/features/Link/plugins/clickableLink/index.d.ts +3 -0
  30. package/dist/field/features/Link/plugins/clickableLink/index.d.ts.map +1 -0
  31. package/dist/field/features/Link/plugins/clickableLink/index.js +23 -0
  32. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  33. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.js +2 -1
  34. package/dist/field/features/Link/plugins/floatingLinkEditor/index.d.ts.map +1 -1
  35. package/dist/field/features/Link/plugins/floatingLinkEditor/index.js +2 -1
  36. package/dist/field/features/Link/plugins/link/index.d.ts +0 -7
  37. package/dist/field/features/Link/plugins/link/index.d.ts.map +1 -1
  38. package/dist/field/features/Link/plugins/link/index.js +3 -8
  39. package/dist/field/features/Link/populationPromise.d.ts +5 -0
  40. package/dist/field/features/Link/populationPromise.d.ts.map +1 -0
  41. package/dist/field/features/Link/populationPromise.js +52 -0
  42. package/dist/field/features/Paragraph/index.js +3 -3
  43. package/dist/field/features/Relationship/drawer/index.d.ts.map +1 -1
  44. package/dist/field/features/Relationship/drawer/index.js +2 -1
  45. package/dist/field/features/Relationship/index.d.ts.map +1 -1
  46. package/dist/field/features/Relationship/index.js +9 -9
  47. package/dist/field/features/Relationship/nodes/components/RelationshipComponent.d.ts.map +1 -1
  48. package/dist/field/features/Relationship/nodes/components/RelationshipComponent.js +2 -1
  49. package/dist/field/features/Relationship/plugins/index.d.ts.map +1 -1
  50. package/dist/field/features/Relationship/plugins/index.js +2 -1
  51. package/dist/field/features/Relationship/populationPromise.d.ts +4 -0
  52. package/dist/field/features/Relationship/populationPromise.d.ts.map +1 -0
  53. package/dist/field/features/Relationship/populationPromise.js +34 -0
  54. package/dist/field/features/Upload/component/index.d.ts.map +1 -1
  55. package/dist/field/features/Upload/component/index.js +2 -1
  56. package/dist/field/features/Upload/drawer/index.d.ts.map +1 -1
  57. package/dist/field/features/Upload/drawer/index.js +2 -1
  58. package/dist/field/features/Upload/index.d.ts.map +1 -1
  59. package/dist/field/features/Upload/index.js +32 -8
  60. package/dist/field/features/Upload/plugin/index.d.ts.map +1 -1
  61. package/dist/field/features/Upload/plugin/index.js +2 -1
  62. package/dist/field/features/Upload/populationPromise.d.ts +5 -0
  63. package/dist/field/features/Upload/populationPromise.d.ts.map +1 -0
  64. package/dist/field/features/Upload/populationPromise.js +52 -0
  65. package/dist/field/features/converters/html/converter/converters/linebreak.d.ts +4 -0
  66. package/dist/field/features/converters/html/converter/converters/linebreak.d.ts.map +1 -0
  67. package/dist/field/features/converters/html/converter/converters/linebreak.js +20 -0
  68. package/dist/field/features/converters/html/converter/converters/paragraph.d.ts +4 -0
  69. package/dist/field/features/converters/html/converter/converters/paragraph.d.ts.map +1 -0
  70. package/dist/field/features/converters/html/converter/converters/paragraph.js +29 -0
  71. package/dist/field/features/converters/html/converter/converters/text.d.ts +4 -0
  72. package/dist/field/features/converters/html/converter/converters/text.d.ts.map +1 -0
  73. package/dist/field/features/converters/html/converter/converters/text.js +43 -0
  74. package/dist/field/features/converters/html/converter/defaultConverters.d.ts +3 -0
  75. package/dist/field/features/converters/html/converter/defaultConverters.d.ts.map +1 -0
  76. package/dist/field/features/converters/html/converter/defaultConverters.js +20 -0
  77. package/dist/field/features/converters/html/converter/index.d.ts +12 -0
  78. package/dist/field/features/converters/html/converter/index.d.ts.map +1 -0
  79. package/dist/field/features/converters/html/converter/index.js +54 -0
  80. package/dist/field/features/converters/html/converter/types.d.ts +14 -0
  81. package/dist/field/features/converters/html/converter/types.d.ts.map +1 -0
  82. package/dist/field/features/converters/html/converter/types.js +6 -0
  83. package/dist/field/features/converters/html/field/index.d.ts +7 -0
  84. package/dist/field/features/converters/html/field/index.d.ts.map +1 -0
  85. package/dist/field/features/converters/html/field/index.js +59 -0
  86. package/dist/field/features/converters/html/index.d.ts +13 -0
  87. package/dist/field/features/converters/html/index.d.ts.map +1 -0
  88. package/dist/field/features/converters/html/index.js +28 -0
  89. package/dist/field/features/debug/TreeView/plugin.d.ts.map +1 -1
  90. package/dist/field/features/debug/TreeView/plugin.js +2 -1
  91. package/dist/field/features/indent/index.d.ts.map +1 -1
  92. package/dist/field/features/indent/index.js +2 -2
  93. package/dist/field/features/lists/CheckList/index.d.ts.map +1 -1
  94. package/dist/field/features/lists/CheckList/index.js +13 -6
  95. package/dist/field/features/lists/CheckList/plugin/index.d.ts +3 -0
  96. package/dist/field/features/lists/CheckList/plugin/index.d.ts.map +1 -0
  97. package/dist/field/features/lists/CheckList/plugin/index.js +23 -0
  98. package/dist/field/features/lists/OrderedList/index.d.ts.map +1 -1
  99. package/dist/field/features/lists/OrderedList/index.js +12 -5
  100. package/dist/field/features/lists/UnorderedList/index.d.ts.map +1 -1
  101. package/dist/field/features/lists/UnorderedList/index.js +12 -5
  102. package/dist/field/features/lists/htmlConverter.d.ts +5 -0
  103. package/dist/field/features/lists/htmlConverter.d.ts.map +1 -0
  104. package/dist/field/features/lists/htmlConverter.js +64 -0
  105. package/dist/field/features/lists/plugin/index.d.ts +3 -0
  106. package/dist/field/features/lists/plugin/index.d.ts.map +1 -0
  107. package/dist/field/features/lists/plugin/index.js +23 -0
  108. package/dist/field/features/migrations/SlateToLexical/converter/converters/heading.d.ts +1 -1
  109. package/dist/field/features/migrations/SlateToLexical/converter/converters/heading.d.ts.map +1 -1
  110. package/dist/field/features/migrations/SlateToLexical/converter/converters/heading.js +4 -4
  111. package/dist/field/features/migrations/SlateToLexical/converter/converters/indent.d.ts +1 -1
  112. package/dist/field/features/migrations/SlateToLexical/converter/converters/indent.d.ts.map +1 -1
  113. package/dist/field/features/migrations/SlateToLexical/converter/converters/indent.js +4 -4
  114. package/dist/field/features/migrations/SlateToLexical/converter/converters/link.d.ts +1 -1
  115. package/dist/field/features/migrations/SlateToLexical/converter/converters/link.d.ts.map +1 -1
  116. package/dist/field/features/migrations/SlateToLexical/converter/converters/link.js +4 -4
  117. package/dist/field/features/migrations/SlateToLexical/converter/converters/listItem.d.ts +1 -1
  118. package/dist/field/features/migrations/SlateToLexical/converter/converters/listItem.d.ts.map +1 -1
  119. package/dist/field/features/migrations/SlateToLexical/converter/converters/listItem.js +4 -4
  120. package/dist/field/features/migrations/SlateToLexical/converter/converters/orderedList.d.ts +1 -1
  121. package/dist/field/features/migrations/SlateToLexical/converter/converters/orderedList.d.ts.map +1 -1
  122. package/dist/field/features/migrations/SlateToLexical/converter/converters/orderedList.js +4 -4
  123. package/dist/field/features/migrations/SlateToLexical/converter/converters/relationship.d.ts +1 -1
  124. package/dist/field/features/migrations/SlateToLexical/converter/converters/relationship.d.ts.map +1 -1
  125. package/dist/field/features/migrations/SlateToLexical/converter/converters/relationship.js +4 -4
  126. package/dist/field/features/migrations/SlateToLexical/converter/converters/unknown.d.ts +1 -1
  127. package/dist/field/features/migrations/SlateToLexical/converter/converters/unknown.d.ts.map +1 -1
  128. package/dist/field/features/migrations/SlateToLexical/converter/converters/unknown.js +4 -4
  129. package/dist/field/features/migrations/SlateToLexical/converter/converters/unorderedList.d.ts +1 -1
  130. package/dist/field/features/migrations/SlateToLexical/converter/converters/unorderedList.d.ts.map +1 -1
  131. package/dist/field/features/migrations/SlateToLexical/converter/converters/unorderedList.js +4 -4
  132. package/dist/field/features/migrations/SlateToLexical/converter/converters/upload.d.ts +1 -1
  133. package/dist/field/features/migrations/SlateToLexical/converter/converters/upload.d.ts.map +1 -1
  134. package/dist/field/features/migrations/SlateToLexical/converter/converters/upload.js +4 -4
  135. package/dist/field/features/migrations/SlateToLexical/converter/defaultConverters.d.ts +1 -1
  136. package/dist/field/features/migrations/SlateToLexical/converter/defaultConverters.d.ts.map +1 -1
  137. package/dist/field/features/migrations/SlateToLexical/converter/defaultConverters.js +13 -13
  138. package/dist/field/features/migrations/SlateToLexical/index.js +4 -4
  139. package/dist/field/features/types.d.ts +25 -7
  140. package/dist/field/features/types.d.ts.map +1 -1
  141. package/dist/field/lexical/LexicalEditor.d.ts.map +1 -1
  142. package/dist/field/lexical/LexicalEditor.js +2 -1
  143. package/dist/field/lexical/LexicalProvider.d.ts.map +1 -1
  144. package/dist/field/lexical/LexicalProvider.js +5 -1
  145. package/dist/field/lexical/config/EditorConfigProvider.d.ts.map +1 -1
  146. package/dist/field/lexical/config/EditorConfigProvider.js +2 -1
  147. package/dist/field/lexical/config/sanitize.d.ts.map +1 -1
  148. package/dist/field/lexical/config/sanitize.js +14 -4
  149. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts.map +1 -1
  150. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js +2 -1
  151. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts.map +1 -1
  152. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js +2 -1
  153. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts.map +1 -1
  154. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +2 -1
  155. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts.map +1 -1
  156. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +2 -1
  157. package/dist/field/lexical/plugins/MarkdownShortcut/index.d.ts +0 -7
  158. package/dist/field/lexical/plugins/MarkdownShortcut/index.d.ts.map +1 -1
  159. package/dist/field/lexical/plugins/MarkdownShortcut/index.js +3 -8
  160. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +2 -33
  161. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  162. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +2 -44
  163. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +2 -1
  164. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  165. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +2 -1
  166. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +36 -0
  167. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -0
  168. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +57 -0
  169. package/dist/field/lexical/plugins/SlashMenu/index.js +2 -1
  170. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.d.ts.map +1 -1
  171. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js +3 -8
  172. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  173. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js +3 -8
  174. package/dist/field/lexical/theme/EditorTheme.scss +0 -2
  175. package/dist/index.d.ts +27 -4
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +110 -16
  178. package/dist/populate/recurseNestedFields.d.ts +3 -3
  179. package/dist/populate/recurseNestedFields.d.ts.map +1 -1
  180. package/dist/populate/recurseNestedFields.js +25 -22
  181. package/dist/populate/richTextRelationshipPromise.d.ts +6 -6
  182. package/dist/populate/richTextRelationshipPromise.d.ts.map +1 -1
  183. package/dist/populate/richTextRelationshipPromise.js +8 -8
  184. package/package.json +5 -4
  185. package/dist/field/features/Blocks/afterReadPromise.d.ts +0 -5
  186. package/dist/field/features/Blocks/afterReadPromise.d.ts.map +0 -1
  187. package/dist/field/features/Blocks/afterReadPromise.js +0 -51
  188. package/dist/field/features/Link/afterReadPromise.d.ts +0 -5
  189. package/dist/field/features/Link/afterReadPromise.d.ts.map +0 -1
  190. package/dist/field/features/Link/afterReadPromise.js +0 -52
  191. package/dist/field/features/Relationship/afterReadPromise.d.ts +0 -4
  192. package/dist/field/features/Relationship/afterReadPromise.d.ts.map +0 -1
  193. package/dist/field/features/Relationship/afterReadPromise.js +0 -34
  194. package/dist/field/features/Upload/afterReadPromise.d.ts +0 -5
  195. package/dist/field/features/Upload/afterReadPromise.d.ts.map +0 -1
  196. package/dist/field/features/Upload/afterReadPromise.js +0 -52
  197. package/dist/field/lexical/plugins/SlashMenu/defaultGroups.d.ts +0 -2
  198. package/dist/field/lexical/plugins/SlashMenu/defaultGroups.d.ts.map +0 -1
  199. package/dist/field/lexical/plugins/SlashMenu/defaultGroups.js +0 -3
@@ -0,0 +1,36 @@
1
+ import type { i18n } from 'i18next';
2
+ import type { LexicalEditor } from 'lexical';
3
+ import type { MutableRefObject } from 'react';
4
+ export declare class SlashMenuOption {
5
+ Icon: React.FC;
6
+ displayName?: ({ i18n }: {
7
+ i18n: i18n;
8
+ }) => string;
9
+ key: string;
10
+ keyboardShortcut?: string;
11
+ keywords: Array<string>;
12
+ onSelect: ({ editor, queryString }: {
13
+ editor: LexicalEditor;
14
+ queryString: string;
15
+ }) => void;
16
+ ref?: MutableRefObject<HTMLElement | null>;
17
+ title: string;
18
+ constructor(title: string, options: {
19
+ Icon: React.FC;
20
+ displayName?: ({ i18n }: {
21
+ i18n: i18n;
22
+ }) => string;
23
+ keyboardShortcut?: string;
24
+ keywords?: Array<string>;
25
+ onSelect: ({ editor, queryString }: {
26
+ editor: LexicalEditor;
27
+ queryString: string;
28
+ }) => void;
29
+ });
30
+ setRefElement(element: HTMLElement | null): void;
31
+ }
32
+ export declare class SlashMenuGroup {
33
+ options: Array<SlashMenuOption>;
34
+ title: string;
35
+ }
36
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAE7C,qBAAa,eAAe;IAC1B,IAAI,EAAE,KAAK,CAAC,EAAE,CAAA;IAEd,WAAW,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,MAAM,CAAA;IAElD,GAAG,EAAE,MAAM,CAAA;IAEX,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAEvB,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAE3F,GAAG,CAAC,EAAE,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAG1C,KAAK,EAAE,MAAM,CAAA;gBAGX,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACP,IAAI,EAAE,KAAK,CAAC,EAAE,CAAA;QACd,WAAW,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YAAE,IAAI,EAAE,IAAI,CAAA;SAAE,KAAK,MAAM,CAAA;QAClD,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACxB,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;YAAE,MAAM,EAAE,aAAa,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAA;KAC5F;IAcH,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;CAG1C;AAED,qBAAa,cAAc;IACzB,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;CACd"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ SlashMenuOption: function() {
13
+ return SlashMenuOption;
14
+ },
15
+ SlashMenuGroup: function() {
16
+ return SlashMenuGroup;
17
+ }
18
+ });
19
+ class SlashMenuOption {
20
+ Icon;
21
+ displayName;
22
+ // Icon for display
23
+ key;
24
+ // TBD
25
+ keyboardShortcut;
26
+ // For extra searching.
27
+ keywords;
28
+ // What happens when you select this option?
29
+ onSelect;
30
+ ref;
31
+ // What shows up in the editor
32
+ title;
33
+ constructor(title, options){
34
+ this.key = title;
35
+ this.ref = {
36
+ current: null
37
+ };
38
+ this.setRefElement = this.setRefElement.bind(this);
39
+ this.title = title;
40
+ this.displayName = options.displayName;
41
+ this.keywords = options.keywords || [];
42
+ this.Icon = options.Icon;
43
+ this.keyboardShortcut = options.keyboardShortcut;
44
+ this.onSelect = options.onSelect.bind(this);
45
+ }
46
+ setRefElement(element) {
47
+ this.ref = {
48
+ current: element
49
+ };
50
+ }
51
+ }
52
+ class SlashMenuGroup {
53
+ options;
54
+ title;
55
+ }
56
+
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvU2xhc2hNZW51L0xleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgaTE4biB9IGZyb20gJ2kxOG5leHQnXG5pbXBvcnQgdHlwZSB7IExleGljYWxFZGl0b3IgfSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0IHR5cGUgeyBNdXRhYmxlUmVmT2JqZWN0IH0gZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBjbGFzcyBTbGFzaE1lbnVPcHRpb24ge1xuICBJY29uOiBSZWFjdC5GQ1xuXG4gIGRpc3BsYXlOYW1lPzogKHsgaTE4biB9OiB7IGkxOG46IGkxOG4gfSkgPT4gc3RyaW5nXG4gIC8vIEljb24gZm9yIGRpc3BsYXlcbiAga2V5OiBzdHJpbmdcbiAgLy8gVEJEXG4gIGtleWJvYXJkU2hvcnRjdXQ/OiBzdHJpbmdcbiAgLy8gRm9yIGV4dHJhIHNlYXJjaGluZy5cbiAga2V5d29yZHM6IEFycmF5PHN0cmluZz5cbiAgLy8gV2hhdCBoYXBwZW5zIHdoZW4geW91IHNlbGVjdCB0aGlzIG9wdGlvbj9cbiAgb25TZWxlY3Q6ICh7IGVkaXRvciwgcXVlcnlTdHJpbmcgfTogeyBlZGl0b3I6IExleGljYWxFZGl0b3I7IHF1ZXJ5U3RyaW5nOiBzdHJpbmcgfSkgPT4gdm9pZFxuXG4gIHJlZj86IE11dGFibGVSZWZPYmplY3Q8SFRNTEVsZW1lbnQgfCBudWxsPlxuXG4gIC8vIFdoYXQgc2hvd3MgdXAgaW4gdGhlIGVkaXRvclxuICB0aXRsZTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBJY29uOiBSZWFjdC5GQ1xuICAgICAgZGlzcGxheU5hbWU/OiAoeyBpMThuIH06IHsgaTE4bjogaTE4biB9KSA9PiBzdHJpbmdcbiAgICAgIGtleWJvYXJkU2hvcnRjdXQ/OiBzdHJpbmdcbiAgICAgIGtleXdvcmRzPzogQXJyYXk8c3RyaW5nPlxuICAgICAgb25TZWxlY3Q6ICh7IGVkaXRvciwgcXVlcnlTdHJpbmcgfTogeyBlZGl0b3I6IExleGljYWxFZGl0b3I7IHF1ZXJ5U3RyaW5nOiBzdHJpbmcgfSkgPT4gdm9pZFxuICAgIH0sXG4gICkge1xuICAgIHRoaXMua2V5ID0gdGl0bGVcbiAgICB0aGlzLnJlZiA9IHsgY3VycmVudDogbnVsbCB9XG4gICAgdGhpcy5zZXRSZWZFbGVtZW50ID0gdGhpcy5zZXRSZWZFbGVtZW50LmJpbmQodGhpcylcblxuICAgIHRoaXMudGl0bGUgPSB0aXRsZVxuICAgIHRoaXMuZGlzcGxheU5hbWUgPSBvcHRpb25zLmRpc3BsYXlOYW1lXG4gICAgdGhpcy5rZXl3b3JkcyA9IG9wdGlvbnMua2V5d29yZHMgfHwgW11cbiAgICB0aGlzLkljb24gPSBvcHRpb25zLkljb25cbiAgICB0aGlzLmtleWJvYXJkU2hvcnRjdXQgPSBvcHRpb25zLmtleWJvYXJkU2hvcnRjdXRcbiAgICB0aGlzLm9uU2VsZWN0ID0gb3B0aW9ucy5vblNlbGVjdC5iaW5kKHRoaXMpXG4gIH1cblxuICBzZXRSZWZFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCkge1xuICAgIHRoaXMucmVmID0geyBjdXJyZW50OiBlbGVtZW50IH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2xhc2hNZW51R3JvdXAge1xuICBvcHRpb25zOiBBcnJheTxTbGFzaE1lbnVPcHRpb24+XG4gIHRpdGxlOiBzdHJpbmdcbn1cbiJdLCJuYW1lcyI6WyJTbGFzaE1lbnVPcHRpb24iLCJTbGFzaE1lbnVHcm91cCIsIkljb24iLCJkaXNwbGF5TmFtZSIsImtleSIsImtleWJvYXJkU2hvcnRjdXQiLCJrZXl3b3JkcyIsIm9uU2VsZWN0IiwicmVmIiwidGl0bGUiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJjdXJyZW50Iiwic2V0UmVmRWxlbWVudCIsImJpbmQiLCJlbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUlhQSxlQUFlO2VBQWZBOztJQTZDQUMsY0FBYztlQUFkQTs7O0FBN0NOLE1BQU1EO0lBQ1hFLEtBQWM7SUFFZEMsWUFBa0Q7SUFDbEQsbUJBQW1CO0lBQ25CQyxJQUFXO0lBQ1gsTUFBTTtJQUNOQyxpQkFBeUI7SUFDekIsdUJBQXVCO0lBQ3ZCQyxTQUF1QjtJQUN2Qiw0Q0FBNEM7SUFDNUNDLFNBQTJGO0lBRTNGQyxJQUEwQztJQUUxQyw4QkFBOEI7SUFDOUJDLE1BQWE7SUFFYkMsWUFDRUQsS0FBYSxFQUNiRSxPQU1DLENBQ0Q7UUFDQSxJQUFJLENBQUNQLEdBQUcsR0FBR0s7UUFDWCxJQUFJLENBQUNELEdBQUcsR0FBRztZQUFFSSxTQUFTO1FBQUs7UUFDM0IsSUFBSSxDQUFDQyxhQUFhLEdBQUcsSUFBSSxDQUFDQSxhQUFhLENBQUNDLElBQUksQ0FBQyxJQUFJO1FBRWpELElBQUksQ0FBQ0wsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ04sV0FBVyxHQUFHUSxRQUFRUixXQUFXO1FBQ3RDLElBQUksQ0FBQ0csUUFBUSxHQUFHSyxRQUFRTCxRQUFRLElBQUksRUFBRTtRQUN0QyxJQUFJLENBQUNKLElBQUksR0FBR1MsUUFBUVQsSUFBSTtRQUN4QixJQUFJLENBQUNHLGdCQUFnQixHQUFHTSxRQUFRTixnQkFBZ0I7UUFDaEQsSUFBSSxDQUFDRSxRQUFRLEdBQUdJLFFBQVFKLFFBQVEsQ0FBQ08sSUFBSSxDQUFDLElBQUk7SUFDNUM7SUFFQUQsY0FBY0UsT0FBMkIsRUFBRTtRQUN6QyxJQUFJLENBQUNQLEdBQUcsR0FBRztZQUFFSSxTQUFTRztRQUFRO0lBQ2hDO0FBQ0Y7QUFFTyxNQUFNZDtJQUNYVSxRQUErQjtJQUMvQkYsTUFBYTtBQUNmIn0=
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  "use strict";
2
3
  Object.defineProperty(exports, "__esModule", {
3
4
  value: true
@@ -197,4 +198,4 @@ function SlashMenuPlugin({ anchorElem = document.body }) {
197
198
  }));
198
199
  }
199
200
 
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvU2xhc2hNZW51L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRleHROb2RlIH0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHsgdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCB9IGZyb20gJ0BsZXhpY2FsL3JlYWN0L0xleGljYWxDb21wb3NlckNvbnRleHQnXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuXG5pbXBvcnQgdHlwZSB7IFNsYXNoTWVudUdyb3VwIH0gZnJvbSAnLi9MZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbi9MZXhpY2FsTWVudSdcbmltcG9ydCB0eXBlIHsgU2xhc2hNZW51T3B0aW9uIH0gZnJvbSAnLi9MZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbi9MZXhpY2FsTWVudSdcblxuaW1wb3J0IHsgdXNlRWRpdG9yQ29uZmlnQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvbmZpZy9FZGl0b3JDb25maWdQcm92aWRlcidcbmltcG9ydCB7XG4gIExleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luLFxuICB1c2VCYXNpY1R5cGVhaGVhZFRyaWdnZXJNYXRjaCxcbn0gZnJvbSAnLi9MZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5mdW5jdGlvbiBTbGFzaE1lbnVJdGVtKHtcbiAgaW5kZXgsXG4gIGlzU2VsZWN0ZWQsXG4gIG9uQ2xpY2ssXG4gIG9uTW91c2VFbnRlcixcbiAgb3B0aW9uLFxufToge1xuICBpbmRleDogbnVtYmVyXG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW5cbiAgb25DbGljazogKCkgPT4gdm9pZFxuICBvbk1vdXNlRW50ZXI6ICgpID0+IHZvaWRcbiAgb3B0aW9uOiBTbGFzaE1lbnVPcHRpb25cbn0pIHtcbiAgY29uc3QgeyBpMThuIH0gPSB1c2VUcmFuc2xhdGlvbignZmllbGRzJylcblxuICBsZXQgY2xhc3NOYW1lID0gJ2l0ZW0nXG4gIGlmIChpc1NlbGVjdGVkKSB7XG4gICAgY2xhc3NOYW1lICs9ICcgc2VsZWN0ZWQnXG4gIH1cblxuICBsZXQgdGl0bGUgPSBvcHRpb24udGl0bGVcbiAgaWYgKG9wdGlvbi5kaXNwbGF5TmFtZSAmJiB0eXBlb2Ygb3B0aW9uLmRpc3BsYXlOYW1lID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdGl0bGUgPSBvcHRpb24uZGlzcGxheU5hbWUoeyBpMThuIH0pXG4gIH1cbiAgLy8gQ3JvcCB0aXRsZSB0byBtYXguIDUwIGNoYXJhY3RlcnNcbiAgaWYgKHRpdGxlLmxlbmd0aCA+IDI1KSB7XG4gICAgdGl0bGUgPSB0aXRsZS5zdWJzdHJpbmcoMCwgMjUpICsgJy4uLidcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgYXJpYS1zZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgaWQ9eyd0eXBlYWhlYWQtaXRlbS0nICsgaW5kZXh9XG4gICAgICBrZXk9e29wdGlvbi5rZXl9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXtvbk1vdXNlRW50ZXJ9XG4gICAgICByZWY9e29wdGlvbi5zZXRSZWZFbGVtZW50fVxuICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICB0YWJJbmRleD17LTF9XG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICA+XG4gICAgICA8b3B0aW9uLkljb24gLz5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHRcIj57dGl0bGV9PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTbGFzaE1lbnVQbHVnaW4oe1xuICBhbmNob3JFbGVtID0gZG9jdW1lbnQuYm9keSxcbn06IHtcbiAgYW5jaG9yRWxlbT86IEhUTUxFbGVtZW50XG59KTogSlNYLkVsZW1lbnQge1xuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuICBjb25zdCBbcXVlcnlTdHJpbmcsIHNldFF1ZXJ5U3RyaW5nXSA9IHVzZVN0YXRlPG51bGwgfCBzdHJpbmc+KG51bGwpXG4gIGNvbnN0IHsgZWRpdG9yQ29uZmlnIH0gPSB1c2VFZGl0b3JDb25maWdDb250ZXh0KClcblxuICBjb25zdCBjaGVja0ZvclRyaWdnZXJNYXRjaCA9IHVzZUJhc2ljVHlwZWFoZWFkVHJpZ2dlck1hdGNoKCcvJywge1xuICAgIG1pbkxlbmd0aDogMCxcbiAgfSlcblxuICBjb25zdCBnZXREeW5hbWljT3B0aW9ucyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBsZXQgZ3JvdXBXaXRoT3B0aW9uczogQXJyYXk8U2xhc2hNZW51R3JvdXA+ID0gW11cblxuICAgIGZvciAoY29uc3QgZHluYW1pY09wdGlvbiBvZiBlZGl0b3JDb25maWc/LmZlYXR1cmVzLnNsYXNoTWVudS5keW5hbWljT3B0aW9ucykge1xuICAgICAgY29uc3QgZHluYW1pY0dyb3VwV2l0aE9wdGlvbnMgPSBkeW5hbWljT3B0aW9uKHtcbiAgICAgICAgZWRpdG9yLFxuICAgICAgICBxdWVyeVN0cmluZyxcbiAgICAgIH0pXG4gICAgICBncm91cFdpdGhPcHRpb25zID0gZ3JvdXBXaXRoT3B0aW9ucy5jb25jYXQoZHluYW1pY0dyb3VwV2l0aE9wdGlvbnMpXG4gICAgfVxuXG4gICAgcmV0dXJuIGdyb3VwV2l0aE9wdGlvbnNcbiAgfSwgW2VkaXRvciwgcXVlcnlTdHJpbmcsIGVkaXRvckNvbmZpZz8uZmVhdHVyZXNdKVxuXG4gIGNvbnN0IGdyb3VwczogU2xhc2hNZW51R3JvdXBbXSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGxldCBncm91cHNXaXRoT3B0aW9uczogU2xhc2hNZW51R3JvdXBbXSA9IFtdXG4gICAgZm9yIChjb25zdCBncm91cFdpdGhPcHRpb24gb2YgZWRpdG9yQ29uZmlnPy5mZWF0dXJlcy5zbGFzaE1lbnUuZ3JvdXBzV2l0aE9wdGlvbnMgPz8gW10pIHtcbiAgICAgIGdyb3Vwc1dpdGhPcHRpb25zLnB1c2goZ3JvdXBXaXRoT3B0aW9uKVxuICAgIH1cblxuICAgIGlmIChxdWVyeVN0cmluZykge1xuICAgICAgLy8gRmlsdGVyIGN1cnJlbnQgZ3JvdXBzIGZpcnN0XG4gICAgICBncm91cHNXaXRoT3B0aW9ucyA9IGdyb3Vwc1dpdGhPcHRpb25zLm1hcCgoZ3JvdXApID0+IHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gZ3JvdXAub3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKHF1ZXJ5U3RyaW5nLCAnZ2knKS5leGVjKG9wdGlvbi50aXRsZSkgfHwgb3B0aW9uLmtleXdvcmRzICE9IG51bGxcbiAgICAgICAgICAgID8gb3B0aW9uLmtleXdvcmRzLnNvbWUoKGtleXdvcmQpID0+IG5ldyBSZWdFeHAocXVlcnlTdHJpbmcsICdnaScpLmV4ZWMoa2V5d29yZCkpXG4gICAgICAgICAgICA6IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmdyb3VwLFxuICAgICAgICAgICAgb3B0aW9uczogZmlsdGVyZWRPcHRpb25zLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfSlcblxuICAgICAgZ3JvdXBzV2l0aE9wdGlvbnMgPSBncm91cHNXaXRoT3B0aW9ucy5maWx0ZXIoKGdyb3VwKSA9PiBncm91cCAhPSBudWxsKVxuXG4gICAgICAvLyBOb3cgYWRkIGR5bmFtaWMgZ3JvdXBzXG4gICAgICBjb25zdCBkeW5hbWljT3B0aW9uR3JvdXBzID0gZ2V0RHluYW1pY09wdGlvbnMoKVxuXG4gICAgICAvLyBtZXJnZSBkeW5hbWljIG9wdGlvbnMgaW50byBncm91cHNcbiAgICAgIGZvciAoY29uc3QgZHluYW1pY0dyb3VwIG9mIGR5bmFtaWNPcHRpb25Hcm91cHMpIHtcbiAgICAgICAgLy8gMS4gZmluZCB0aGUgZ3JvdXAgd2l0aCB0aGUgc2FtZSBuYW1lIG9yIGNyZWF0ZSBuZXcgb25lXG4gICAgICAgIGxldCBncm91cCA9IGdyb3Vwc1dpdGhPcHRpb25zLmZpbmQoKGdyb3VwKSA9PiBncm91cC50aXRsZSA9PT0gZHluYW1pY0dyb3VwLnRpdGxlKVxuICAgICAgICBpZiAoIWdyb3VwKSB7XG4gICAgICAgICAgZ3JvdXAgPSB7XG4gICAgICAgICAgICAuLi5keW5hbWljR3JvdXAsXG4gICAgICAgICAgICBvcHRpb25zOiBbXSxcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZ3JvdXBzV2l0aE9wdGlvbnMgPSBncm91cHNXaXRoT3B0aW9ucy5maWx0ZXIoXG4gICAgICAgICAgICAoZ3JvdXApID0+IGdyb3VwLnRpdGxlICE9PSBkeW5hbWljR3JvdXAudGl0bGUsXG4gICAgICAgICAgKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gQWRkIG9wdGlvbnMgdG8gZ3JvdXAgb3B0aW9ucyBhcnJheSBhbmQgYWRkIHRvIHNhbml0aXplZC5zbGFzaE1lbnUuZ3JvdXBzV2l0aE9wdGlvbnNcbiAgICAgICAgaWYgKGdyb3VwPy5vcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgICBncm91cC5vcHRpb25zID0gZ3JvdXAub3B0aW9ucy5jb25jYXQoZ3JvdXAub3B0aW9ucylcbiAgICAgICAgfVxuICAgICAgICBncm91cHNXaXRoT3B0aW9ucy5wdXNoKGdyb3VwKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBncm91cHNXaXRoT3B0aW9uc1xuICB9LCBbZ2V0RHluYW1pY09wdGlvbnMsIHF1ZXJ5U3RyaW5nLCBlZGl0b3JDb25maWc/LmZlYXR1cmVzXSlcblxuICBjb25zdCBvblNlbGVjdE9wdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChcbiAgICAgIHNlbGVjdGVkT3B0aW9uOiBTbGFzaE1lbnVPcHRpb24sXG4gICAgICBub2RlVG9SZW1vdmU6IFRleHROb2RlIHwgbnVsbCxcbiAgICAgIGNsb3NlTWVudTogKCkgPT4gdm9pZCxcbiAgICAgIG1hdGNoaW5nU3RyaW5nOiBzdHJpbmcsXG4gICAgKSA9PiB7XG4gICAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgICAgaWYgKG5vZGVUb1JlbW92ZSkge1xuICAgICAgICAgIG5vZGVUb1JlbW92ZS5yZW1vdmUoKVxuICAgICAgICB9XG4gICAgICAgIHNlbGVjdGVkT3B0aW9uLm9uU2VsZWN0KHsgZWRpdG9yLCBxdWVyeVN0cmluZzogbWF0Y2hpbmdTdHJpbmcgfSlcbiAgICAgICAgY2xvc2VNZW51KClcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbZWRpdG9yXSxcbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPExleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luXG4gICAgICAgIGFuY2hvckVsZW09e2FuY2hvckVsZW19XG4gICAgICAgIGdyb3Vwc1dpdGhPcHRpb25zPXtncm91cHN9XG4gICAgICAgIG1lbnVSZW5kZXJGbj17KFxuICAgICAgICAgIGFuY2hvckVsZW1lbnRSZWYsXG4gICAgICAgICAgeyBzZWxlY3RPcHRpb25BbmRDbGVhblVwLCBzZWxlY3RlZE9wdGlvbktleSwgc2V0U2VsZWN0ZWRPcHRpb25LZXkgfSxcbiAgICAgICAgKSA9PlxuICAgICAgICAgIGFuY2hvckVsZW1lbnRSZWYuY3VycmVudCAmJiBncm91cHMubGVuZ3RoXG4gICAgICAgICAgICA/IFJlYWN0RE9NLmNyZWF0ZVBvcnRhbChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInR5cGVhaGVhZC1wb3BvdmVyIHNsYXNoLW1lbnVcIj5cbiAgICAgICAgICAgICAgICAgIHtncm91cHMubWFwKChncm91cCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyb3VwXCIga2V5PXtncm91cC50aXRsZX0+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncm91cC10aXRsZVwiPntncm91cC50aXRsZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB7Z3JvdXAub3B0aW9ucy5tYXAoKG9wdGlvbiwgb2k6IG51bWJlcikgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFNsYXNoTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e29pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZE9wdGlvbktleSA9PT0gb3B0aW9uLmtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtvcHRpb24ua2V5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb25LZXkob3B0aW9uLmtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RPcHRpb25BbmRDbGVhblVwKG9wdGlvbilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb25LZXkob3B0aW9uLmtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uPXtvcHRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvZGl2PixcbiAgICAgICAgICAgICAgICBhbmNob3JFbGVtZW50UmVmLmN1cnJlbnQsXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogbnVsbFxuICAgICAgICB9XG4gICAgICAgIG9uUXVlcnlDaGFuZ2U9e3NldFF1ZXJ5U3RyaW5nfVxuICAgICAgICBvblNlbGVjdE9wdGlvbj17b25TZWxlY3RPcHRpb259XG4gICAgICAgIHRyaWdnZXJGbj17Y2hlY2tGb3JUcmlnZ2VyTWF0Y2h9XG4gICAgICAvPlxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJTbGFzaE1lbnVQbHVnaW4iLCJTbGFzaE1lbnVJdGVtIiwiaW5kZXgiLCJpc1NlbGVjdGVkIiwib25DbGljayIsIm9uTW91c2VFbnRlciIsIm9wdGlvbiIsImkxOG4iLCJ1c2VUcmFuc2xhdGlvbiIsImNsYXNzTmFtZSIsInRpdGxlIiwiZGlzcGxheU5hbWUiLCJsZW5ndGgiLCJzdWJzdHJpbmciLCJidXR0b24iLCJhcmlhLXNlbGVjdGVkIiwiaWQiLCJrZXkiLCJyZWYiLCJzZXRSZWZFbGVtZW50Iiwicm9sZSIsInRhYkluZGV4IiwidHlwZSIsIkljb24iLCJzcGFuIiwiYW5jaG9yRWxlbSIsImRvY3VtZW50IiwiYm9keSIsImVkaXRvciIsInVzZUxleGljYWxDb21wb3NlckNvbnRleHQiLCJxdWVyeVN0cmluZyIsInNldFF1ZXJ5U3RyaW5nIiwidXNlU3RhdGUiLCJlZGl0b3JDb25maWciLCJ1c2VFZGl0b3JDb25maWdDb250ZXh0IiwiY2hlY2tGb3JUcmlnZ2VyTWF0Y2giLCJ1c2VCYXNpY1R5cGVhaGVhZFRyaWdnZXJNYXRjaCIsIm1pbkxlbmd0aCIsImdldER5bmFtaWNPcHRpb25zIiwidXNlQ2FsbGJhY2siLCJncm91cFdpdGhPcHRpb25zIiwiZHluYW1pY09wdGlvbiIsImZlYXR1cmVzIiwic2xhc2hNZW51IiwiZHluYW1pY09wdGlvbnMiLCJkeW5hbWljR3JvdXBXaXRoT3B0aW9ucyIsImNvbmNhdCIsImdyb3VwcyIsInVzZU1lbW8iLCJncm91cHNXaXRoT3B0aW9ucyIsImdyb3VwV2l0aE9wdGlvbiIsInB1c2giLCJtYXAiLCJncm91cCIsImZpbHRlcmVkT3B0aW9ucyIsIm9wdGlvbnMiLCJmaWx0ZXIiLCJSZWdFeHAiLCJleGVjIiwia2V5d29yZHMiLCJzb21lIiwia2V5d29yZCIsImR5bmFtaWNPcHRpb25Hcm91cHMiLCJkeW5hbWljR3JvdXAiLCJmaW5kIiwib25TZWxlY3RPcHRpb24iLCJzZWxlY3RlZE9wdGlvbiIsIm5vZGVUb1JlbW92ZSIsImNsb3NlTWVudSIsIm1hdGNoaW5nU3RyaW5nIiwidXBkYXRlIiwicmVtb3ZlIiwib25TZWxlY3QiLCJSZWFjdCIsIkZyYWdtZW50IiwiTGV4aWNhbFR5cGVhaGVhZE1lbnVQbHVnaW4iLCJtZW51UmVuZGVyRm4iLCJhbmNob3JFbGVtZW50UmVmIiwic2VsZWN0T3B0aW9uQW5kQ2xlYW5VcCIsInNlbGVjdGVkT3B0aW9uS2V5Iiwic2V0U2VsZWN0ZWRPcHRpb25LZXkiLCJjdXJyZW50IiwiUmVhY3RET00iLCJjcmVhdGVQb3J0YWwiLCJkaXYiLCJvaSIsIm9uUXVlcnlDaGFuZ2UiLCJ0cmlnZ2VyRm4iXSwibWFwcGluZ3MiOiI7Ozs7K0JBa0VnQkE7OztlQUFBQTs7O3dDQWhFMEI7K0RBQ0s7a0VBRXJCOzhCQUNLO3NDQUtROzRDQUloQztRQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsU0FBU0MsY0FBYyxFQUNyQkMsS0FBSyxFQUNMQyxVQUFVLEVBQ1ZDLE9BQU8sRUFDUEMsWUFBWSxFQUNaQyxNQUFNLEVBT1A7SUFDQyxNQUFNLEVBQUVDLElBQUksRUFBRSxHQUFHQyxJQUFBQSw0QkFBYyxFQUFDO0lBRWhDLElBQUlD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
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvU2xhc2hNZW51L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgVGV4dE5vZGUgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dCdcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgKiBhcyBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5cbmltcG9ydCB0eXBlIHsgU2xhc2hNZW51R3JvdXAsIFNsYXNoTWVudU9wdGlvbiB9IGZyb20gJy4vTGV4aWNhbFR5cGVhaGVhZE1lbnVQbHVnaW4vdHlwZXMnXG5cbmltcG9ydCB7IHVzZUVkaXRvckNvbmZpZ0NvbnRleHQgfSBmcm9tICcuLi8uLi9jb25maWcvRWRpdG9yQ29uZmlnUHJvdmlkZXInXG5pbXBvcnQge1xuICBMZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbixcbiAgdXNlQmFzaWNUeXBlYWhlYWRUcmlnZ2VyTWF0Y2gsXG59IGZyb20gJy4vTGV4aWNhbFR5cGVhaGVhZE1lbnVQbHVnaW4nXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuZnVuY3Rpb24gU2xhc2hNZW51SXRlbSh7XG4gIGluZGV4LFxuICBpc1NlbGVjdGVkLFxuICBvbkNsaWNrLFxuICBvbk1vdXNlRW50ZXIsXG4gIG9wdGlvbixcbn06IHtcbiAgaW5kZXg6IG51bWJlclxuICBpc1NlbGVjdGVkOiBib29sZWFuXG4gIG9uQ2xpY2s6ICgpID0+IHZvaWRcbiAgb25Nb3VzZUVudGVyOiAoKSA9PiB2b2lkXG4gIG9wdGlvbjogU2xhc2hNZW51T3B0aW9uXG59KSB7XG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oJ2ZpZWxkcycpXG5cbiAgbGV0IGNsYXNzTmFtZSA9ICdpdGVtJ1xuICBpZiAoaXNTZWxlY3RlZCkge1xuICAgIGNsYXNzTmFtZSArPSAnIHNlbGVjdGVkJ1xuICB9XG5cbiAgbGV0IHRpdGxlID0gb3B0aW9uLnRpdGxlXG4gIGlmIChvcHRpb24uZGlzcGxheU5hbWUgJiYgdHlwZW9mIG9wdGlvbi5kaXNwbGF5TmFtZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRpdGxlID0gb3B0aW9uLmRpc3BsYXlOYW1lKHsgaTE4biB9KVxuICB9XG4gIC8vIENyb3AgdGl0bGUgdG8gbWF4LiA1MCBjaGFyYWN0ZXJzXG4gIGlmICh0aXRsZS5sZW5ndGggPiAyNSkge1xuICAgIHRpdGxlID0gdGl0bGUuc3Vic3RyaW5nKDAsIDI1KSArICcuLi4nXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgIGlkPXsndHlwZWFoZWFkLWl0ZW0tJyArIGluZGV4fVxuICAgICAga2V5PXtvcHRpb24ua2V5fVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIG9uTW91c2VFbnRlcj17b25Nb3VzZUVudGVyfVxuICAgICAgcmVmPXtvcHRpb24uc2V0UmVmRWxlbWVudH1cbiAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgICAgdGFiSW5kZXg9ey0xfVxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPG9wdGlvbi5JY29uIC8+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0XCI+e3RpdGxlfTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU2xhc2hNZW51UGx1Z2luKHtcbiAgYW5jaG9yRWxlbSA9IGRvY3VtZW50LmJvZHksXG59OiB7XG4gIGFuY2hvckVsZW0/OiBIVE1MRWxlbWVudFxufSk6IEpTWC5FbGVtZW50IHtcbiAgY29uc3QgW2VkaXRvcl0gPSB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0KClcbiAgY29uc3QgW3F1ZXJ5U3RyaW5nLCBzZXRRdWVyeVN0cmluZ10gPSB1c2VTdGF0ZTxudWxsIHwgc3RyaW5nPihudWxsKVxuICBjb25zdCB7IGVkaXRvckNvbmZpZyB9ID0gdXNlRWRpdG9yQ29uZmlnQ29udGV4dCgpXG5cbiAgY29uc3QgY2hlY2tGb3JUcmlnZ2VyTWF0Y2ggPSB1c2VCYXNpY1R5cGVhaGVhZFRyaWdnZXJNYXRjaCgnLycsIHtcbiAgICBtaW5MZW5ndGg6IDAsXG4gIH0pXG5cbiAgY29uc3QgZ2V0RHluYW1pY09wdGlvbnMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbGV0IGdyb3VwV2l0aE9wdGlvbnM6IEFycmF5PFNsYXNoTWVudUdyb3VwPiA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IGR5bmFtaWNPcHRpb24gb2YgZWRpdG9yQ29uZmlnPy5mZWF0dXJlcy5zbGFzaE1lbnUuZHluYW1pY09wdGlvbnMpIHtcbiAgICAgIGNvbnN0IGR5bmFtaWNHcm91cFdpdGhPcHRpb25zID0gZHluYW1pY09wdGlvbih7XG4gICAgICAgIGVkaXRvcixcbiAgICAgICAgcXVlcnlTdHJpbmcsXG4gICAgICB9KVxuICAgICAgZ3JvdXBXaXRoT3B0aW9ucyA9IGdyb3VwV2l0aE9wdGlvbnMuY29uY2F0KGR5bmFtaWNHcm91cFdpdGhPcHRpb25zKVxuICAgIH1cblxuICAgIHJldHVybiBncm91cFdpdGhPcHRpb25zXG4gIH0sIFtlZGl0b3IsIHF1ZXJ5U3RyaW5nLCBlZGl0b3JDb25maWc/LmZlYXR1cmVzXSlcblxuICBjb25zdCBncm91cHM6IFNsYXNoTWVudUdyb3VwW10gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgZ3JvdXBzV2l0aE9wdGlvbnM6IFNsYXNoTWVudUdyb3VwW10gPSBbXVxuICAgIGZvciAoY29uc3QgZ3JvdXBXaXRoT3B0aW9uIG9mIGVkaXRvckNvbmZpZz8uZmVhdHVyZXMuc2xhc2hNZW51Lmdyb3Vwc1dpdGhPcHRpb25zID8/IFtdKSB7XG4gICAgICBncm91cHNXaXRoT3B0aW9ucy5wdXNoKGdyb3VwV2l0aE9wdGlvbilcbiAgICB9XG5cbiAgICBpZiAocXVlcnlTdHJpbmcpIHtcbiAgICAgIC8vIEZpbHRlciBjdXJyZW50IGdyb3VwcyBmaXJzdFxuICAgICAgZ3JvdXBzV2l0aE9wdGlvbnMgPSBncm91cHNXaXRoT3B0aW9ucy5tYXAoKGdyb3VwKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkT3B0aW9ucyA9IGdyb3VwLm9wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+IHtcbiAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChxdWVyeVN0cmluZywgJ2dpJykuZXhlYyhvcHRpb24udGl0bGUpIHx8IG9wdGlvbi5rZXl3b3JkcyAhPSBudWxsXG4gICAgICAgICAgICA/IG9wdGlvbi5rZXl3b3Jkcy5zb21lKChrZXl3b3JkKSA9PiBuZXcgUmVnRXhwKHF1ZXJ5U3RyaW5nLCAnZ2knKS5leGVjKGtleXdvcmQpKVxuICAgICAgICAgICAgOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgICBpZiAoZmlsdGVyZWRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICAgIG9wdGlvbnM6IGZpbHRlcmVkT3B0aW9ucyxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH0pXG5cbiAgICAgIGdyb3Vwc1dpdGhPcHRpb25zID0gZ3JvdXBzV2l0aE9wdGlvbnMuZmlsdGVyKChncm91cCkgPT4gZ3JvdXAgIT0gbnVsbClcblxuICAgICAgLy8gTm93IGFkZCBkeW5hbWljIGdyb3Vwc1xuICAgICAgY29uc3QgZHluYW1pY09wdGlvbkdyb3VwcyA9IGdldER5bmFtaWNPcHRpb25zKClcblxuICAgICAgLy8gbWVyZ2UgZHluYW1pYyBvcHRpb25zIGludG8gZ3JvdXBzXG4gICAgICBmb3IgKGNvbnN0IGR5bmFtaWNHcm91cCBvZiBkeW5hbWljT3B0aW9uR3JvdXBzKSB7XG4gICAgICAgIC8vIDEuIGZpbmQgdGhlIGdyb3VwIHdpdGggdGhlIHNhbWUgbmFtZSBvciBjcmVhdGUgbmV3IG9uZVxuICAgICAgICBsZXQgZ3JvdXAgPSBncm91cHNXaXRoT3B0aW9ucy5maW5kKChncm91cCkgPT4gZ3JvdXAudGl0bGUgPT09IGR5bmFtaWNHcm91cC50aXRsZSlcbiAgICAgICAgaWYgKCFncm91cCkge1xuICAgICAgICAgIGdyb3VwID0ge1xuICAgICAgICAgICAgLi4uZHluYW1pY0dyb3VwLFxuICAgICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGdyb3Vwc1dpdGhPcHRpb25zID0gZ3JvdXBzV2l0aE9wdGlvbnMuZmlsdGVyKFxuICAgICAgICAgICAgKGdyb3VwKSA9PiBncm91cC50aXRsZSAhPT0gZHluYW1pY0dyb3VwLnRpdGxlLFxuICAgICAgICAgIClcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDIuIEFkZCBvcHRpb25zIHRvIGdyb3VwIG9wdGlvbnMgYXJyYXkgYW5kIGFkZCB0byBzYW5pdGl6ZWQuc2xhc2hNZW51Lmdyb3Vwc1dpdGhPcHRpb25zXG4gICAgICAgIGlmIChncm91cD8ub3B0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgZ3JvdXAub3B0aW9ucyA9IGdyb3VwLm9wdGlvbnMuY29uY2F0KGdyb3VwLm9wdGlvbnMpXG4gICAgICAgIH1cbiAgICAgICAgZ3JvdXBzV2l0aE9wdGlvbnMucHVzaChncm91cClcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZ3JvdXBzV2l0aE9wdGlvbnNcbiAgfSwgW2dldER5bmFtaWNPcHRpb25zLCBxdWVyeVN0cmluZywgZWRpdG9yQ29uZmlnPy5mZWF0dXJlc10pXG5cbiAgY29uc3Qgb25TZWxlY3RPcHRpb24gPSB1c2VDYWxsYmFjayhcbiAgICAoXG4gICAgICBzZWxlY3RlZE9wdGlvbjogU2xhc2hNZW51T3B0aW9uLFxuICAgICAgbm9kZVRvUmVtb3ZlOiBUZXh0Tm9kZSB8IG51bGwsXG4gICAgICBjbG9zZU1lbnU6ICgpID0+IHZvaWQsXG4gICAgICBtYXRjaGluZ1N0cmluZzogc3RyaW5nLFxuICAgICkgPT4ge1xuICAgICAgZWRpdG9yLnVwZGF0ZSgoKSA9PiB7XG4gICAgICAgIGlmIChub2RlVG9SZW1vdmUpIHtcbiAgICAgICAgICBub2RlVG9SZW1vdmUucmVtb3ZlKClcbiAgICAgICAgfVxuICAgICAgICBzZWxlY3RlZE9wdGlvbi5vblNlbGVjdCh7IGVkaXRvciwgcXVlcnlTdHJpbmc6IG1hdGNoaW5nU3RyaW5nIH0pXG4gICAgICAgIGNsb3NlTWVudSgpXG4gICAgICB9KVxuICAgIH0sXG4gICAgW2VkaXRvcl0sXG4gIClcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxMZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpblxuICAgICAgICBhbmNob3JFbGVtPXthbmNob3JFbGVtfVxuICAgICAgICBncm91cHNXaXRoT3B0aW9ucz17Z3JvdXBzfVxuICAgICAgICBtZW51UmVuZGVyRm49eyhcbiAgICAgICAgICBhbmNob3JFbGVtZW50UmVmLFxuICAgICAgICAgIHsgc2VsZWN0T3B0aW9uQW5kQ2xlYW5VcCwgc2VsZWN0ZWRPcHRpb25LZXksIHNldFNlbGVjdGVkT3B0aW9uS2V5IH0sXG4gICAgICAgICkgPT5cbiAgICAgICAgICBhbmNob3JFbGVtZW50UmVmLmN1cnJlbnQgJiYgZ3JvdXBzLmxlbmd0aFxuICAgICAgICAgICAgPyBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0eXBlYWhlYWQtcG9wb3ZlciBzbGFzaC1tZW51XCI+XG4gICAgICAgICAgICAgICAgICB7Z3JvdXBzLm1hcCgoZ3JvdXApID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncm91cFwiIGtleT17Z3JvdXAudGl0bGV9PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JvdXAtdGl0bGVcIj57Z3JvdXAudGl0bGV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAge2dyb3VwLm9wdGlvbnMubWFwKChvcHRpb24sIG9pOiBudW1iZXIpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTbGFzaE1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtvaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRPcHRpb25LZXkgPT09IG9wdGlvbi5rZXl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17b3B0aW9uLmtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uS2V5KG9wdGlvbi5rZXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0T3B0aW9uQW5kQ2xlYW5VcChvcHRpb24pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uS2V5KG9wdGlvbi5rZXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbj17b3B0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj4sXG4gICAgICAgICAgICAgICAgYW5jaG9yRWxlbWVudFJlZi5jdXJyZW50LFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IG51bGxcbiAgICAgICAgfVxuICAgICAgICBvblF1ZXJ5Q2hhbmdlPXtzZXRRdWVyeVN0cmluZ31cbiAgICAgICAgb25TZWxlY3RPcHRpb249e29uU2VsZWN0T3B0aW9ufVxuICAgICAgICB0cmlnZ2VyRm49e2NoZWNrRm9yVHJpZ2dlck1hdGNofVxuICAgICAgLz5cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApXG59XG4iXSwibmFtZXMiOlsiU2xhc2hNZW51UGx1Z2luIiwiU2xhc2hNZW51SXRlbSIsImluZGV4IiwiaXNTZWxlY3RlZCIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJvcHRpb24iLCJpMThuIiwidXNlVHJhbnNsYXRpb24iLCJjbGFzc05hbWUiLCJ0aXRsZSIsImRpc3BsYXlOYW1lIiwibGVuZ3RoIiwic3Vic3RyaW5nIiwiYnV0dG9uIiwiYXJpYS1zZWxlY3RlZCIsImlkIiwia2V5IiwicmVmIiwic2V0UmVmRWxlbWVudCIsInJvbGUiLCJ0YWJJbmRleCIsInR5cGUiLCJJY29uIiwic3BhbiIsImFuY2hvckVsZW0iLCJkb2N1bWVudCIsImJvZHkiLCJlZGl0b3IiLCJ1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IiwicXVlcnlTdHJpbmciLCJzZXRRdWVyeVN0cmluZyIsInVzZVN0YXRlIiwiZWRpdG9yQ29uZmlnIiwidXNlRWRpdG9yQ29uZmlnQ29udGV4dCIsImNoZWNrRm9yVHJpZ2dlck1hdGNoIiwidXNlQmFzaWNUeXBlYWhlYWRUcmlnZ2VyTWF0Y2giLCJtaW5MZW5ndGgiLCJnZXREeW5hbWljT3B0aW9ucyIsInVzZUNhbGxiYWNrIiwiZ3JvdXBXaXRoT3B0aW9ucyIsImR5bmFtaWNPcHRpb24iLCJmZWF0dXJlcyIsInNsYXNoTWVudSIsImR5bmFtaWNPcHRpb25zIiwiZHluYW1pY0dyb3VwV2l0aE9wdGlvbnMiLCJjb25jYXQiLCJncm91cHMiLCJ1c2VNZW1vIiwiZ3JvdXBzV2l0aE9wdGlvbnMiLCJncm91cFdpdGhPcHRpb24iLCJwdXNoIiwibWFwIiwiZ3JvdXAiLCJmaWx0ZXJlZE9wdGlvbnMiLCJvcHRpb25zIiwiZmlsdGVyIiwiUmVnRXhwIiwiZXhlYyIsImtleXdvcmRzIiwic29tZSIsImtleXdvcmQiLCJkeW5hbWljT3B0aW9uR3JvdXBzIiwiZHluYW1pY0dyb3VwIiwiZmluZCIsIm9uU2VsZWN0T3B0aW9uIiwic2VsZWN0ZWRPcHRpb24iLCJub2RlVG9SZW1vdmUiLCJjbG9zZU1lbnUiLCJtYXRjaGluZ1N0cmluZyIsInVwZGF0ZSIsInJlbW92ZSIsIm9uU2VsZWN0IiwiUmVhY3QiLCJGcmFnbWVudCIsIkxleGljYWxUeXBlYWhlYWRNZW51UGx1Z2luIiwibWVudVJlbmRlckZuIiwiYW5jaG9yRWxlbWVudFJlZiIsInNlbGVjdE9wdGlvbkFuZENsZWFuVXAiLCJzZWxlY3RlZE9wdGlvbktleSIsInNldFNlbGVjdGVkT3B0aW9uS2V5IiwiY3VycmVudCIsIlJlYWN0RE9NIiwiY3JlYXRlUG9ydGFsIiwiZGl2Iiwib2kiLCJvblF1ZXJ5Q2hhbmdlIiwidHJpZ2dlckZuIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBa0VnQkE7OztlQUFBQTs7O3dDQS9EMEI7K0RBQ0s7a0VBRXJCOzhCQUNLO3NDQUlROzRDQUloQztRQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsU0FBU0MsY0FBYyxFQUNyQkMsS0FBSyxFQUNMQyxVQUFVLEVBQ1ZDLE9BQU8sRUFDUEMsWUFBWSxFQUNaQyxNQUFNLEVBT1A7SUFDQyxNQUFNLEVBQUVDLElBQUksRUFBRSxHQUFHQyxJQUFBQSw0QkFBYyxFQUFDO0lBRWhDLElBQUlDLFlBQVk7SUFDaEIsSUFBSU4sWUFBWTtRQUNkTSxhQUFhO0lBQ2Y7SUFFQSxJQUFJQyxR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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/AddBlockHandlePlugin/index.tsx"],"names":[],"mappings":";AA4BA,OAAO,cAAc,CAAA;AAkQrB,wBAAgB,oBAAoB,CAAC,EACnC,UAA0B,GAC3B,EAAE;IACD,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB,GAAG,GAAG,CAAC,OAAO,CAGd"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/AddBlockHandlePlugin/index.tsx"],"names":[],"mappings":";AAsBA,OAAO,cAAc,CAAA;AAkQrB,wBAAgB,oBAAoB,CAAC,EACnC,UAA0B,GAC3B,EAAE;IACD,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB,GAAG,GAAG,CAAC,OAAO,CAGd"}
@@ -1,10 +1,5 @@
1
- /**
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- */ "use strict";
1
+ 'use client';
2
+ "use strict";
8
3
  Object.defineProperty(exports, "__esModule", {
9
4
  value: true
10
5
  });
@@ -262,4 +257,4 @@ function AddBlockHandlePlugin({ anchorElem = document.body }) {
262
257
  return useAddBlockHandle(editor, anchorElem, editor._editable);
263
258
  }
264
259
 
265
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvaGFuZGxlcy9BZGRCbG9ja0hhbmRsZVBsdWdpbi9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuaW1wb3J0IHR5cGUgeyBQYXJhZ3JhcGhOb2RlIH0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHsgdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCB9IGZyb20gJ0BsZXhpY2FsL3JlYWN0L0xleGljYWxDb21wb3NlckNvbnRleHQnXG5pbXBvcnQge1xuICAkZ2V0TmVhcmVzdE5vZGVGcm9tRE9NTm9kZSxcbiAgJGdldE5vZGVCeUtleSxcbiAgdHlwZSBMZXhpY2FsRWRpdG9yLFxuICB0eXBlIExleGljYWxOb2RlLFxufSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5cbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9ndWFyZCdcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvcG9pbnQnXG5pbXBvcnQgeyBSZWN0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvcmVjdCdcbmltcG9ydCB7IEVOQUJMRV9TTEFTSF9NRU5VX0NPTU1BTkQgfSBmcm9tICcuLi8uLi9TbGFzaE1lbnUvTGV4aWNhbFR5cGVhaGVhZE1lbnVQbHVnaW4nXG5pbXBvcnQgeyBnZXRDb2xsYXBzZWRNYXJnaW5zIH0gZnJvbSAnLi4vdXRpbHMvZ2V0Q29sbGFwc2VkTWFyZ2lucydcbmltcG9ydCB7IGdldFRvcExldmVsTm9kZUtleXMgfSBmcm9tICcuLi91dGlscy9nZXRUb3BMZXZlbE5vZGVLZXlzJ1xuaW1wb3J0IHsgaXNPbkhhbmRsZUVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9pc09uSGFuZGxlRWxlbWVudCdcbmltcG9ydCB7IHNldEhhbmRsZVBvc2l0aW9uIH0gZnJvbSAnLi4vdXRpbHMvc2V0SGFuZGxlUG9zaXRpb24nXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgU1BBQ0UgPSAtMjRcbmNvbnN0IEFERF9CTE9DS19NRU5VX0NMQVNTTkFNRSA9ICdhZGQtYmxvY2stbWVudSdcblxuY29uc3QgRG93bndhcmQgPSAxXG5jb25zdCBVcHdhcmQgPSAtMVxuY29uc3QgSW5kZXRlcm1pbmF0ZSA9IDBcblxubGV0IHByZXZJbmRleCA9IEluZmluaXR5XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnRJbmRleChrZXlzTGVuZ3RoOiBudW1iZXIpOiBudW1iZXIge1xuICBpZiAoa2V5c0xlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBJbmZpbml0eVxuICB9XG4gIGlmIChwcmV2SW5kZXggPj0gMCAmJiBwcmV2SW5kZXggPCBrZXlzTGVuZ3RoKSB7XG4gICAgcmV0dXJuIHByZXZJbmRleFxuICB9XG5cbiAgcmV0dXJuIE1hdGguZmxvb3Ioa2V5c0xlbmd0aCAvIDIpXG59XG5cbmZ1bmN0aW9uIGdldEJsb2NrRWxlbWVudChcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnQsXG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvcixcbiAgZXZlbnQ6IE1vdXNlRXZlbnQsXG4gIHVzZUVkZ2VBc0RlZmF1bHQgPSBmYWxzZSxcbiAgaG9yaXpvbnRhbE9mZnNldCA9IDAsXG4pOiB7XG4gIGJsb2NrRWxlbTogSFRNTEVsZW1lbnQgfCBudWxsXG4gIHNob3VsZFJlbW92ZTogYm9vbGVhblxufSB7XG4gIGNvbnN0IGFuY2hvckVsZW1lbnRSZWN0ID0gYW5jaG9yRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICBjb25zdCB0b3BMZXZlbE5vZGVLZXlzID0gZ2V0VG9wTGV2ZWxOb2RlS2V5cyhlZGl0b3IpXG5cbiAgbGV0IGJsb2NrRWxlbTogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbFxuICBsZXQgYmxvY2tOb2RlOiBMZXhpY2FsTm9kZSB8IG51bGwgPSBudWxsXG4gIGxldCBzaG91bGRSZW1vdmUgPSBmYWxzZVxuXG4gIC8vIFJldHVybiBudWxsIGlmIG1hdGNoaW5nIGJsb2NrIGVsZW1lbnQgaXMgdGhlIGZpcnN0IG9yIGxhc3Qgbm9kZVxuICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICBpZiAodXNlRWRnZUFzRGVmYXVsdCkge1xuICAgICAgY29uc3QgW2ZpcnN0Tm9kZSwgbGFzdE5vZGVdID0gW1xuICAgICAgICBlZGl0b3IuZ2V0RWxlbWVudEJ5S2V5KHRvcExldmVsTm9kZUtleXNbMF0pLFxuICAgICAgICBlZGl0b3IuZ2V0RWxlbWVudEJ5S2V5KHRvcExldmVsTm9kZUtleXNbdG9wTGV2ZWxOb2RlS2V5cy5sZW5ndGggLSAxXSksXG4gICAgICBdXG5cbiAgICAgIGNvbnN0IFtmaXJzdE5vZGVSZWN0LCBsYXN0Tm9kZVJlY3RdID0gW1xuICAgICAgICBmaXJzdE5vZGU/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICBsYXN0Tm9kZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgICBdXG5cbiAgICAgIGlmIChmaXJzdE5vZGVSZWN0ICYmIGxhc3ROb2RlUmVjdCkge1xuICAgICAgICBpZiAoZXZlbnQueSA8IGZpcnN0Tm9kZVJlY3QudG9wKSB7XG4gICAgICAgICAgYmxvY2tFbGVtID0gZmlyc3ROb2RlXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQueSA+IGxhc3ROb2RlUmVjdC5ib3R0b20pIHtcbiAgICAgICAgICBibG9ja0VsZW0gPSBsYXN0Tm9kZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJsb2NrRWxlbSkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBibG9ja0VsZW06IG51bGwsXG4gICAgICAgICAgICBzaG91bGRSZW1vdmUsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmluZCBtYXRjaGluZyBibG9jayBlbGVtZW50XG4gICAgbGV0IGluZGV4ID0gZ2V0Q3VycmVudEluZGV4KHRvcExldmVsTm9kZUtleXMubGVuZ3RoKVxuICAgIGxldCBkaXJlY3Rpb24gPSBJbmRldGVybWluYXRlXG5cbiAgICB3aGlsZSAoaW5kZXggPj0gMCAmJiBpbmRleCA8IHRvcExldmVsTm9kZUtleXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBrZXkgPSB0b3BMZXZlbE5vZGVLZXlzW2luZGV4XVxuICAgICAgY29uc3QgZWxlbSA9IGVkaXRvci5nZXRFbGVtZW50QnlLZXkoa2V5KVxuICAgICAgaWYgKGVsZW0gPT09IG51bGwpIHtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBvaW50ID0gbmV3IFBvaW50KGV2ZW50LnggKyBob3Jpem9udGFsT2Zmc2V0LCBldmVudC55KVxuICAgICAgY29uc3QgZG9tUmVjdCA9IFJlY3QuZnJvbURPTShlbGVtKVxuICAgICAgY29uc3QgeyBtYXJnaW5Cb3R0b20sIG1hcmdpblRvcCB9ID0gZ2V0Q29sbGFwc2VkTWFyZ2lucyhlbGVtKVxuXG4gICAgICBjb25zdCByZWN0ID0gZG9tUmVjdC5nZW5lcmF0ZU5ld1JlY3Qoe1xuICAgICAgICBib3R0b206IGRvbVJlY3QuYm90dG9tICsgbWFyZ2luQm90dG9tLFxuICAgICAgICBsZWZ0OiBhbmNob3JFbGVtZW50UmVjdC5sZWZ0LFxuICAgICAgICByaWdodDogYW5jaG9yRWxlbWVudFJlY3QucmlnaHQsXG4gICAgICAgIHRvcDogZG9tUmVjdC50b3AgLSBtYXJnaW5Ub3AsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCB7XG4gICAgICAgIHJlYXNvbjogeyBpc09uQm90dG9tU2lkZSwgaXNPblRvcFNpZGUgfSxcbiAgICAgICAgcmVzdWx0LFxuICAgICAgfSA9IHJlY3QuY29udGFpbnMocG9pbnQpXG5cbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgYmxvY2tFbGVtID0gZWxlbVxuICAgICAgICBibG9ja05vZGUgPSAkZ2V0Tm9kZUJ5S2V5KGtleSlcbiAgICAgICAgcHJldkluZGV4ID0gaW5kZXhcblxuICAgICAgICAvLyBDaGVjayBpZiBibG9ja05vZGUgaXMgYW4gZW1wdHkgdGV4dCBub2RlXG4gICAgICAgIGlmIChcbiAgICAgICAgICAhYmxvY2tOb2RlIHx8XG4gICAgICAgICAgYmxvY2tOb2RlLmdldFR5cGUoKSAhPT0gJ3BhcmFncmFwaCcgfHxcbiAgICAgICAgICBibG9ja05vZGUuZ2V0VGV4dENvbnRlbnQoKSAhPT0gJydcbiAgICAgICAgKSB7XG4gICAgICAgICAgYmxvY2tFbGVtID0gbnVsbFxuICAgICAgICAgIHNob3VsZFJlbW92ZSA9IHRydWVcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBpZiAoZGlyZWN0aW9uID09PSBJbmRldGVybWluYXRlKSB7XG4gICAgICAgIGlmIChpc09uVG9wU2lkZSkge1xuICAgICAgICAgIGRpcmVjdGlvbiA9IFVwd2FyZFxuICAgICAgICB9IGVsc2UgaWYgKGlzT25Cb3R0b21TaWRlKSB7XG4gICAgICAgICAgZGlyZWN0aW9uID0gRG93bndhcmRcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBzdG9wIHNlYXJjaCBibG9jayBlbGVtZW50XG4gICAgICAgICAgZGlyZWN0aW9uID0gSW5maW5pdHlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbmRleCArPSBkaXJlY3Rpb25cbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIHtcbiAgICBibG9ja0VsZW06IGJsb2NrRWxlbSxcbiAgICBzaG91bGRSZW1vdmUsXG4gIH1cbn1cblxuZnVuY3Rpb24gdXNlQWRkQmxvY2tIYW5kbGUoXG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvcixcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnQsXG4gIGlzRWRpdGFibGU6IGJvb2xlYW4sXG4pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IHNjcm9sbGVyRWxlbSA9IGFuY2hvckVsZW0ucGFyZW50RWxlbWVudFxuXG4gIGNvbnN0IG1lbnVSZWYgPSB1c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtlbXB0eUJsb2NrRWxlbSwgc2V0RW1wdHlCbG9ja0VsZW1dID0gdXNlU3RhdGU8SFRNTEVsZW1lbnQgfCBudWxsPihudWxsKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZnVuY3Rpb24gb25Eb2N1bWVudE1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0XG4gICAgICBpZiAoIWlzSFRNTEVsZW1lbnQodGFyZ2V0KSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgbGV0IGRpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbSA9IDBcbiAgICAgIC8vIENhbGN1bGF0ZSBkaXN0YW5jZSBiZXR3ZWVuIHNjcm9sbGVyRWxlbSBhbmQgdGFyZ2V0IGlmIHRhcmdldCBpcyBub3QgaW4gc2Nyb2xsZXJFbGVtXG4gICAgICBpZiAoc2Nyb2xsZXJFbGVtICYmICFzY3JvbGxlckVsZW0uY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBjb25zdCB7IGJvdHRvbSwgbGVmdCwgcmlnaHQsIHRvcCB9ID0gc2Nyb2xsZXJFbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICAgIGNvbnN0IHsgcGFnZVgsIHBhZ2VZIH0gPSBldmVudFxuICAgICAgICBjb25zdCBob3Jpem9udGFsQnVmZmVyID0gNTBcbiAgICAgICAgY29uc3QgdmVydGljYWxCdWZmZXIgPSAyNVxuICAgICAgICBjb25zdCBhZGp1c3RlZFRvcCA9IHRvcCArIHdpbmRvdy5zY3JvbGxZXG4gICAgICAgIGNvbnN0IGFkanVzdGVkQm90dG9tID0gYm90dG9tICsgd2luZG93LnNjcm9sbFlcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgcGFnZVkgPCBhZGp1c3RlZFRvcCAtIHZlcnRpY2FsQnVmZmVyIHx8XG4gICAgICAgICAgcGFnZVkgPiBhZGp1c3RlZEJvdHRvbSArIHZlcnRpY2FsQnVmZmVyIHx8XG4gICAgICAgICAgcGFnZVggPCBsZWZ0IC0gaG9yaXpvbnRhbEJ1ZmZlciB8fFxuICAgICAgICAgIHBhZ2VYID4gcmlnaHQgKyBob3Jpem9udGFsQnVmZmVyXG4gICAgICAgICkge1xuICAgICAgICAgIHNldEVtcHR5QmxvY2tFbGVtKG51bGwpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGlzIHVzZWQgdG8gYWxsb3cgdGhlIF9lbXB0eUJsb2NrRWxlbSB0byBiZSBmb3VuZCB3aGVuIHRoZSBtb3VzZSBpcyBpbiB0aGVcbiAgICAgICAgLy8gYnVmZmVyIHpvbmUgYXJvdW5kIHRoZSBzY3JvbGxlckVsZW0uXG4gICAgICAgIGlmIChwYWdlWCA8IGxlZnQgfHwgcGFnZVggPiByaWdodCkge1xuICAgICAgICAgIGRpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbSA9IHBhZ2VYIDwgbGVmdCA/IHBhZ2VYIC0gbGVmdCA6IHBhZ2VYIC0gcmlnaHRcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaXNPbkhhbmRsZUVsZW1lbnQodGFyZ2V0LCBBRERfQkxPQ0tfTUVOVV9DTEFTU05BTUUpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3QgeyBibG9ja0VsZW06IF9lbXB0eUJsb2NrRWxlbSwgc2hvdWxkUmVtb3ZlIH0gPSBnZXRCbG9ja0VsZW1lbnQoXG4gICAgICAgIGFuY2hvckVsZW0sXG4gICAgICAgIGVkaXRvcixcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIGZhbHNlLFxuICAgICAgICAtZGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtLFxuICAgICAgKVxuICAgICAgaWYgKCFfZW1wdHlCbG9ja0VsZW0gJiYgIXNob3VsZFJlbW92ZSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHNldEVtcHR5QmxvY2tFbGVtKF9lbXB0eUJsb2NrRWxlbSlcbiAgICB9XG5cbiAgICAvLyBTaW5jZSB0aGUgZHJhZ2dhYmxlQmxvY2tFbGVtIGlzIG91dHNpZGUgdGhlIGFjdHVhbCBlZGl0b3IsIHdlIG5lZWQgdG8gbGlzdGVuIHRvIHRoZSBkb2N1bWVudFxuICAgIC8vIHRvIGJlIGFibGUgdG8gZGV0ZWN0IHdoZW4gdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGVkaXRvciBhbmQgcmVzcGVjdCBhIGJ1ZmZlciBhcm91bmQgdGhlXG4gICAgLy8gdGhlIHNjcm9sbGVyRWxlbSB0byBhdm9pZCB0aGUgZHJhZ2dhYmxlQmxvY2tFbGVtIGRpc2FwcGVhcmluZyB0b28gZWFybHkuXG4gICAgZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uRG9jdW1lbnRNb3VzZU1vdmUpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uRG9jdW1lbnRNb3VzZU1vdmUpXG4gICAgfVxuICB9LCBbc2Nyb2xsZXJFbGVtLCBhbmNob3JFbGVtLCBlZGl0b3JdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG1lbnVSZWYuY3VycmVudCkge1xuICAgICAgc2V0SGFuZGxlUG9zaXRpb24oZW1wdHlCbG9ja0VsZW0sIG1lbnVSZWYuY3VycmVudCwgYW5jaG9yRWxlbSwgU1BBQ0UpXG4gICAgfVxuICB9LCBbYW5jaG9yRWxlbSwgZW1wdHlCbG9ja0VsZW1dKVxuXG4gIGNvbnN0IGhhbmRsZUFkZENsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoIWVtcHR5QmxvY2tFbGVtKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgbGV0IG5vZGU6IFBhcmFncmFwaE5vZGVcbiAgICAgIGVkaXRvci51cGRhdGUoKCkgPT4ge1xuICAgICAgICBub2RlID0gJGdldE5lYXJlc3ROb2RlRnJvbURPTU5vZGUoZW1wdHlCbG9ja0VsZW0pIGFzIFBhcmFncmFwaE5vZGVcbiAgICAgICAgaWYgKCFub2RlIHx8IG5vZGUuZ2V0VHlwZSgpICE9PSAncGFyYWdyYXBoJykge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIGVkaXRvci5mb2N1cygpXG5cbiAgICAgICAgbm9kZS5zZWxlY3QoKVxuICAgICAgICAvKmNvbnN0IG5zID0gJGNyZWF0ZU5vZGVTZWxlY3Rpb24oKTtcbiAgICAgICAgbnMuYWRkKG5vZGUuZ2V0S2V5KCkpXG4gICAgICAgICRzZXRTZWxlY3Rpb24obnMpKi9cbiAgICAgIH0pXG5cbiAgICAgIC8vIE1ha2Ugc3VyZSB0aGlzIGlzIGNhbGxlZCBBRlRFUiB0aGUgZWRpdG9yZm9jdXMoKSBldmVudCBoYXMgYmVlbiBwcm9jZXNzZWQgYnkgdGhlIGJyb3dzZXJcbiAgICAgIC8vIE90aGVyd2lzZSwgdGhpcyB3b24ndCB3b3JrXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChFTkFCTEVfU0xBU0hfTUVOVV9DT01NQU5ELCB7XG4gICAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgfSlcbiAgICAgIH0sIDApXG5cbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgfSxcbiAgICBbZWRpdG9yLCBlbXB0eUJsb2NrRWxlbV0sXG4gIClcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3NOYW1lPVwiaWNvbiBhZGQtYmxvY2stbWVudVwiXG4gICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgIGhhbmRsZUFkZENsaWNrKGV2ZW50KVxuICAgICAgICB9fVxuICAgICAgICByZWY9e21lbnVSZWZ9XG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17aXNFZGl0YWJsZSA/ICdpY29uJyA6ICcnfSAvPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9SZWFjdC5GcmFnbWVudD4sXG4gICAgYW5jaG9yRWxlbSxcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQWRkQmxvY2tIYW5kbGVQbHVnaW4oe1xuICBhbmNob3JFbGVtID0gZG9jdW1lbnQuYm9keSxcbn06IHtcbiAgYW5jaG9yRWxlbT86IEhUTUxFbGVtZW50XG59KTogSlNYLkVsZW1lbnQge1xuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuICByZXR1cm4gdXNlQWRkQmxvY2tIYW5kbGUoZWRpdG9yLCBhbmNob3JFbGVtLCBlZGl0b3IuX2VkaXRhYmxlKVxufVxuIl0sIm5hbWVzIjpbIkFkZEJsb2NrSGFuZGxlUGx1Z2luIiwiU1BBQ0UiLCJBRERfQkxPQ0tfTUVOVV9DTEFTU05BTUUiLCJEb3dud2FyZCIsIlVwd2FyZCIsIkluZGV0ZXJtaW5hdGUiLCJwcmV2SW5kZXgiLCJJbmZpbml0eSIsImdldEN1cnJlbnRJbmRleCIsImtleXNMZW5ndGgiLCJNYXRoIiwiZmxvb3IiLCJnZXRCbG9ja0VsZW1lbnQiLCJhbmNob3JFbGVtIiwiZWRpdG9yIiwiZXZlbnQiLCJ1c2VFZGdlQXNEZWZhdWx0IiwiaG9yaXpvbnRhbE9mZnNldCIsImFuY2hvckVsZW1lbnRSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwidG9wTGV2ZWxOb2RlS2V5cyIsImdldFRvcExldmVsTm9kZUtleXMiLCJibG9ja0VsZW0iLCJibG9ja05vZGUiLCJzaG91bGRSZW1vdmUiLCJnZXRFZGl0b3JTdGF0ZSIsInJlYWQiLCJmaXJzdE5vZGUiLCJsYXN0Tm9kZSIsImdldEVsZW1lbnRCeUtleSIsImxlbmd0aCIsImZpcnN0Tm9kZVJlY3QiLCJsYXN0Tm9kZVJlY3QiLCJ5IiwidG9wIiwiYm90dG9tIiwiaW5kZXgiLCJkaXJlY3Rpb24iLCJrZXkiLCJlbGVtIiwicG9pbnQiLCJQb2ludCIsIngiLCJkb21SZWN0IiwiUmVjdCIsImZyb21ET00iLCJtYXJnaW5Cb3R0b20iLCJtYXJnaW5Ub3AiLCJnZXRDb2xsYXBzZWRNYXJnaW5zIiwicmVjdCIsImdlbmVyYXRlTmV3UmVjdCIsImxlZnQiLCJyaWdodCIsInJlYXNvbiIsImlzT25Cb3R0b21TaWRlIiwiaXNPblRvcFNpZGUiLCJyZXN1bHQiLCJjb250YWlucyIsIiRnZXROb2RlQnlLZXkiLCJnZXRUeXBlIiwiZ2V0VGV4dENvbnRlbnQiLCJ1c2VBZGRCbG9ja0hhbmRsZSIsImlzRWRpdGFibGUiLCJzY3JvbGxlckVsZW0iLCJwYXJlbnRFbGVtZW50IiwibWVudVJlZiIsInVzZVJlZiIsImVtcHR5QmxvY2tFbGVtIiwic2V0RW1wdHlCbG9ja0VsZW0iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIm9uRG9jdW1lbnRNb3VzZU1vdmUiLCJ0YXJnZXQiLCJpc0hUTUxFbGVtZW50IiwiZGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtIiwicGFnZVgiLCJwYWdlWSIsImhvcml6b250YWxCdWZmZXIiLCJ2ZXJ0aWNhbEJ1ZmZlciIsImFkanVzdGVkVG9wIiwid2luZG93Iiwic2Nyb2xsWSIsImFkanVzdGVkQm90dG9tIiwiaXNPbkhhbmRsZUVsZW1lbnQiLCJfZW1wdHlCbG9ja0VsZW0iLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY3VycmVudCIsInNldEhhbmRsZVBvc2l0aW9uIiwiaGFuZGxlQWRkQ2xpY2siLCJ1c2VDYWxsYmFjayIsIm5vZGUiLCJ1cGRhdGUiLCIkZ2V0TmVhcmVzdE5vZGVGcm9tRE9NTm9kZSIsImZvY3VzIiwic2VsZWN0Iiwic2V0VGltZW91dCIsImRpc3BhdGNoQ29tbWFuZCIsIkVOQUJMRV9TTEFTSF9NRU5VX0NPTU1BTkQiLCJzdG9wUHJvcGFnYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsImNyZWF0ZVBvcnRhbCIsIlJlYWN0IiwiRnJhZ21lbnQiLCJidXR0b24iLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwicmVmIiwidHlwZSIsImRpdiIsImJvZHkiLCJ1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IiwiX2VkaXRhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUM7Ozs7K0JBd1JlQTs7O2VBQUFBOzs7d0NBclIwQjt5QkFNbkM7K0RBQ2dCOzBCQUVNO3VCQUVDO3VCQUNSO3NCQUNEOzRDQUNxQjtxQ0FDTjtxQ0FDQTttQ0FDRjttQ0FDQTtRQUMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVQLE1BQU1DLFFBQVEsQ0FBQztBQUNmLE1BQU1DLDJCQUEyQjtBQUVqQyxNQUFNQyxXQUFXO0FBQ2pCLE1BQU1DLFNBQVMsQ0FBQztBQUNoQixNQUFNQyxnQkFBZ0I7QUFFdEIsSUFBSUMsWUFBWUM7QUFFaEIsU0FBU0MsZ0JBQWdCQyxVQUFrQjtJQUN6QyxJQUFJQSxlQUFlLEdBQUc7UUFDcEIsT0FBT0Y7SUFDVDtJQUNBLElBQUlELGFBQWEsS0FBS0EsWUFBWUcsWUFBWTtRQUM1QyxPQUFPSDtJQUNUO0lBRUEsT0FBT0ksS0FBS0MsS0FBSyxDQUFDRixhQUFhO0FBQ2pDO0FBRUEsU0FBU0csZ0JBQ1BDLFVBQXVCLEVBQ3ZCQyxNQUFxQixFQUNyQkMsS0FBaUIsRUFDakJDLG1CQUFtQixLQUFLLEVBQ3hCQyxtQkFBbUIsQ0FBQztJQUtwQixNQUFNQyxvQkFBb0JMLFdB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
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvaGFuZGxlcy9BZGRCbG9ja0hhbmRsZVBsdWdpbi9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgdHlwZSB7IFBhcmFncmFwaE5vZGUgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dCdcbmltcG9ydCB7XG4gICRnZXROZWFyZXN0Tm9kZUZyb21ET01Ob2RlLFxuICAkZ2V0Tm9kZUJ5S2V5LFxuICB0eXBlIExleGljYWxFZGl0b3IsXG4gIHR5cGUgTGV4aWNhbE5vZGUsXG59IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSdcblxuaW1wb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2d1YXJkJ1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9wb2ludCdcbmltcG9ydCB7IFJlY3QgfSBmcm9tICcuLi8uLi8uLi91dGlscy9yZWN0J1xuaW1wb3J0IHsgRU5BQkxFX1NMQVNIX01FTlVfQ09NTUFORCB9IGZyb20gJy4uLy4uL1NsYXNoTWVudS9MZXhpY2FsVHlwZWFoZWFkTWVudVBsdWdpbidcbmltcG9ydCB7IGdldENvbGxhcHNlZE1hcmdpbnMgfSBmcm9tICcuLi91dGlscy9nZXRDb2xsYXBzZWRNYXJnaW5zJ1xuaW1wb3J0IHsgZ2V0VG9wTGV2ZWxOb2RlS2V5cyB9IGZyb20gJy4uL3V0aWxzL2dldFRvcExldmVsTm9kZUtleXMnXG5pbXBvcnQgeyBpc09uSGFuZGxlRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL2lzT25IYW5kbGVFbGVtZW50J1xuaW1wb3J0IHsgc2V0SGFuZGxlUG9zaXRpb24gfSBmcm9tICcuLi91dGlscy9zZXRIYW5kbGVQb3NpdGlvbidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBTUEFDRSA9IC0yNFxuY29uc3QgQUREX0JMT0NLX01FTlVfQ0xBU1NOQU1FID0gJ2FkZC1ibG9jay1tZW51J1xuXG5jb25zdCBEb3dud2FyZCA9IDFcbmNvbnN0IFVwd2FyZCA9IC0xXG5jb25zdCBJbmRldGVybWluYXRlID0gMFxuXG5sZXQgcHJldkluZGV4ID0gSW5maW5pdHlcblxuZnVuY3Rpb24gZ2V0Q3VycmVudEluZGV4KGtleXNMZW5ndGg6IG51bWJlcik6IG51bWJlciB7XG4gIGlmIChrZXlzTGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIEluZmluaXR5XG4gIH1cbiAgaWYgKHByZXZJbmRleCA+PSAwICYmIHByZXZJbmRleCA8IGtleXNMZW5ndGgpIHtcbiAgICByZXR1cm4gcHJldkluZGV4XG4gIH1cblxuICByZXR1cm4gTWF0aC5mbG9vcihrZXlzTGVuZ3RoIC8gMilcbn1cblxuZnVuY3Rpb24gZ2V0QmxvY2tFbGVtZW50KFxuICBhbmNob3JFbGVtOiBIVE1MRWxlbWVudCxcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yLFxuICBldmVudDogTW91c2VFdmVudCxcbiAgdXNlRWRnZUFzRGVmYXVsdCA9IGZhbHNlLFxuICBob3Jpem9udGFsT2Zmc2V0ID0gMCxcbik6IHtcbiAgYmxvY2tFbGVtOiBIVE1MRWxlbWVudCB8IG51bGxcbiAgc2hvdWxkUmVtb3ZlOiBib29sZWFuXG59IHtcbiAgY29uc3QgYW5jaG9yRWxlbWVudFJlY3QgPSBhbmNob3JFbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gIGNvbnN0IHRvcExldmVsTm9kZUtleXMgPSBnZXRUb3BMZXZlbE5vZGVLZXlzKGVkaXRvcilcblxuICBsZXQgYmxvY2tFbGVtOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsXG4gIGxldCBibG9ja05vZGU6IExleGljYWxOb2RlIHwgbnVsbCA9IG51bGxcbiAgbGV0IHNob3VsZFJlbW92ZSA9IGZhbHNlXG5cbiAgLy8gUmV0dXJuIG51bGwgaWYgbWF0Y2hpbmcgYmxvY2sgZWxlbWVudCBpcyB0aGUgZmlyc3Qgb3IgbGFzdCBub2RlXG4gIGVkaXRvci5nZXRFZGl0b3JTdGF0ZSgpLnJlYWQoKCkgPT4ge1xuICAgIGlmICh1c2VFZGdlQXNEZWZhdWx0KSB7XG4gICAgICBjb25zdCBbZmlyc3ROb2RlLCBsYXN0Tm9kZV0gPSBbXG4gICAgICAgIGVkaXRvci5nZXRFbGVtZW50QnlLZXkodG9wTGV2ZWxOb2RlS2V5c1swXSksXG4gICAgICAgIGVkaXRvci5nZXRFbGVtZW50QnlLZXkodG9wTGV2ZWxOb2RlS2V5c1t0b3BMZXZlbE5vZGVLZXlzLmxlbmd0aCAtIDFdKSxcbiAgICAgIF1cblxuICAgICAgY29uc3QgW2ZpcnN0Tm9kZVJlY3QsIGxhc3ROb2RlUmVjdF0gPSBbXG4gICAgICAgIGZpcnN0Tm9kZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgICAgIGxhc3ROb2RlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICAgIF1cblxuICAgICAgaWYgKGZpcnN0Tm9kZVJlY3QgJiYgbGFzdE5vZGVSZWN0KSB7XG4gICAgICAgIGlmIChldmVudC55IDwgZmlyc3ROb2RlUmVjdC50b3ApIHtcbiAgICAgICAgICBibG9ja0VsZW0gPSBmaXJzdE5vZGVcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC55ID4gbGFzdE5vZGVSZWN0LmJvdHRvbSkge1xuICAgICAgICAgIGJsb2NrRWxlbSA9IGxhc3ROb2RlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYmxvY2tFbGVtKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGJsb2NrRWxlbTogbnVsbCxcbiAgICAgICAgICAgIHNob3VsZFJlbW92ZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaW5kIG1hdGNoaW5nIGJsb2NrIGVsZW1lbnRcbiAgICBsZXQgaW5kZXggPSBnZXRDdXJyZW50SW5kZXgodG9wTGV2ZWxOb2RlS2V5cy5sZW5ndGgpXG4gICAgbGV0IGRpcmVjdGlvbiA9IEluZGV0ZXJtaW5hdGVcblxuICAgIHdoaWxlIChpbmRleCA+PSAwICYmIGluZGV4IDwgdG9wTGV2ZWxOb2RlS2V5cy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGtleSA9IHRvcExldmVsTm9kZUtleXNbaW5kZXhdXG4gICAgICBjb25zdCBlbGVtID0gZWRpdG9yLmdldEVsZW1lbnRCeUtleShrZXkpXG4gICAgICBpZiAoZWxlbSA9PT0gbnVsbCkge1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY29uc3QgcG9pbnQgPSBuZXcgUG9pbnQoZXZlbnQueCArIGhvcml6b250YWxPZmZzZXQsIGV2ZW50LnkpXG4gICAgICBjb25zdCBkb21SZWN0ID0gUmVjdC5mcm9tRE9NKGVsZW0pXG4gICAgICBjb25zdCB7IG1hcmdpbkJvdHRvbSwgbWFyZ2luVG9wIH0gPSBnZXRDb2xsYXBzZWRNYXJnaW5zKGVsZW0pXG5cbiAgICAgIGNvbnN0IHJlY3QgPSBkb21SZWN0LmdlbmVyYXRlTmV3UmVjdCh7XG4gICAgICAgIGJvdHRvbTogZG9tUmVjdC5ib3R0b20gKyBtYXJnaW5Cb3R0b20sXG4gICAgICAgIGxlZnQ6IGFuY2hvckVsZW1lbnRSZWN0LmxlZnQsXG4gICAgICAgIHJpZ2h0OiBhbmNob3JFbGVtZW50UmVjdC5yaWdodCxcbiAgICAgICAgdG9wOiBkb21SZWN0LnRvcCAtIG1hcmdpblRvcCxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcmVhc29uOiB7IGlzT25Cb3R0b21TaWRlLCBpc09uVG9wU2lkZSB9LFxuICAgICAgICByZXN1bHQsXG4gICAgICB9ID0gcmVjdC5jb250YWlucyhwb2ludClcblxuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICBibG9ja0VsZW0gPSBlbGVtXG4gICAgICAgIGJsb2NrTm9kZSA9ICRnZXROb2RlQnlLZXkoa2V5KVxuICAgICAgICBwcmV2SW5kZXggPSBpbmRleFxuXG4gICAgICAgIC8vIENoZWNrIGlmIGJsb2NrTm9kZSBpcyBhbiBlbXB0eSB0ZXh0IG5vZGVcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFibG9ja05vZGUgfHxcbiAgICAgICAgICBibG9ja05vZGUuZ2V0VHlwZSgpICE9PSAncGFyYWdyYXBoJyB8fFxuICAgICAgICAgIGJsb2NrTm9kZS5nZXRUZXh0Q29udGVudCgpICE9PSAnJ1xuICAgICAgICApIHtcbiAgICAgICAgICBibG9ja0VsZW0gPSBudWxsXG4gICAgICAgICAgc2hvdWxkUmVtb3ZlID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGlmIChkaXJlY3Rpb24gPT09IEluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgaWYgKGlzT25Ub3BTaWRlKSB7XG4gICAgICAgICAgZGlyZWN0aW9uID0gVXB3YXJkXG4gICAgICAgIH0gZWxzZSBpZiAoaXNPbkJvdHRvbVNpZGUpIHtcbiAgICAgICAgICBkaXJlY3Rpb24gPSBEb3dud2FyZFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIHN0b3Agc2VhcmNoIGJsb2NrIGVsZW1lbnRcbiAgICAgICAgICBkaXJlY3Rpb24gPSBJbmZpbml0eVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGluZGV4ICs9IGRpcmVjdGlvblxuICAgIH1cbiAgfSlcblxuICByZXR1cm4ge1xuICAgIGJsb2NrRWxlbTogYmxvY2tFbGVtLFxuICAgIHNob3VsZFJlbW92ZSxcbiAgfVxufVxuXG5mdW5jdGlvbiB1c2VBZGRCbG9ja0hhbmRsZShcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yLFxuICBhbmNob3JFbGVtOiBIVE1MRWxlbWVudCxcbiAgaXNFZGl0YWJsZTogYm9vbGVhbixcbik6IEpTWC5FbGVtZW50IHtcbiAgY29uc3Qgc2Nyb2xsZXJFbGVtID0gYW5jaG9yRWxlbS5wYXJlbnRFbGVtZW50XG5cbiAgY29uc3QgbWVudVJlZiA9IHVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudD4obnVsbClcbiAgY29uc3QgW2VtcHR5QmxvY2tFbGVtLCBzZXRFbXB0eUJsb2NrRWxlbV0gPSB1c2VTdGF0ZTxIVE1MRWxlbWVudCB8IG51bGw+KG51bGwpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmdW5jdGlvbiBvbkRvY3VtZW50TW91c2VNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXRcbiAgICAgIGlmICghaXNIVE1MRWxlbWVudCh0YXJnZXQpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBsZXQgZGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtID0gMFxuICAgICAgLy8gQ2FsY3VsYXRlIGRpc3RhbmNlIGJldHdlZW4gc2Nyb2xsZXJFbGVtIGFuZCB0YXJnZXQgaWYgdGFyZ2V0IGlzIG5vdCBpbiBzY3JvbGxlckVsZW1cbiAgICAgIGlmIChzY3JvbGxlckVsZW0gJiYgIXNjcm9sbGVyRWxlbS5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIGNvbnN0IHsgYm90dG9tLCBsZWZ0LCByaWdodCwgdG9wIH0gPSBzY3JvbGxlckVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgY29uc3QgeyBwYWdlWCwgcGFnZVkgfSA9IGV2ZW50XG4gICAgICAgIGNvbnN0IGhvcml6b250YWxCdWZmZXIgPSA1MFxuICAgICAgICBjb25zdCB2ZXJ0aWNhbEJ1ZmZlciA9IDI1XG4gICAgICAgIGNvbnN0IGFkanVzdGVkVG9wID0gdG9wICsgd2luZG93LnNjcm9sbFlcbiAgICAgICAgY29uc3QgYWRqdXN0ZWRCb3R0b20gPSBib3R0b20gKyB3aW5kb3cuc2Nyb2xsWVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBwYWdlWSA8IGFkanVzdGVkVG9wIC0gdmVydGljYWxCdWZmZXIgfHxcbiAgICAgICAgICBwYWdlWSA+IGFkanVzdGVkQm90dG9tICsgdmVydGljYWxCdWZmZXIgfHxcbiAgICAgICAgICBwYWdlWCA8IGxlZnQgLSBob3Jpem9udGFsQnVmZmVyIHx8XG4gICAgICAgICAgcGFnZVggPiByaWdodCArIGhvcml6b250YWxCdWZmZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0RW1wdHlCbG9ja0VsZW0obnVsbClcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoaXMgaXMgdXNlZCB0byBhbGxvdyB0aGUgX2VtcHR5QmxvY2tFbGVtIHRvIGJlIGZvdW5kIHdoZW4gdGhlIG1vdXNlIGlzIGluIHRoZVxuICAgICAgICAvLyBidWZmZXIgem9uZSBhcm91bmQgdGhlIHNjcm9sbGVyRWxlbS5cbiAgICAgICAgaWYgKHBhZ2VYIDwgbGVmdCB8fCBwYWdlWCA+IHJpZ2h0KSB7XG4gICAgICAgICAgZGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtID0gcGFnZVggPCBsZWZ0ID8gcGFnZVggLSBsZWZ0IDogcGFnZVggLSByaWdodFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChpc09uSGFuZGxlRWxlbWVudCh0YXJnZXQsIEFERF9CTE9DS19NRU5VX0NMQVNTTkFNRSkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBjb25zdCB7IGJsb2NrRWxlbTogX2VtcHR5QmxvY2tFbGVtLCBzaG91bGRSZW1vdmUgfSA9IGdldEJsb2NrRWxlbWVudChcbiAgICAgICAgYW5jaG9yRWxlbSxcbiAgICAgICAgZWRpdG9yLFxuICAgICAgICBldmVudCxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIC1kaXN0YW5jZUZyb21TY3JvbGxlckVsZW0sXG4gICAgICApXG4gICAgICBpZiAoIV9lbXB0eUJsb2NrRWxlbSAmJiAhc2hvdWxkUmVtb3ZlKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgc2V0RW1wdHlCbG9ja0VsZW0oX2VtcHR5QmxvY2tFbGVtKVxuICAgIH1cblxuICAgIC8vIFNpbmNlIHRoZSBkcmFnZ2FibGVCbG9ja0VsZW0gaXMgb3V0c2lkZSB0aGUgYWN0dWFsIGVkaXRvciwgd2UgbmVlZCB0byBsaXN0ZW4gdG8gdGhlIGRvY3VtZW50XG4gICAgLy8gdG8gYmUgYWJsZSB0byBkZXRlY3Qgd2hlbiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZWRpdG9yIGFuZCByZXNwZWN0IGEgYnVmZmVyIGFyb3VuZCB0aGVcbiAgICAvLyB0aGUgc2Nyb2xsZXJFbGVtIHRvIGF2b2lkIHRoZSBkcmFnZ2FibGVCbG9ja0VsZW0gZGlzYXBwZWFyaW5nIHRvbyBlYXJseS5cbiAgICBkb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgb25Eb2N1bWVudE1vdXNlTW92ZSlcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgb25Eb2N1bWVudE1vdXNlTW92ZSlcbiAgICB9XG4gIH0sIFtzY3JvbGxlckVsZW0sIGFuY2hvckVsZW0sIGVkaXRvcl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobWVudVJlZi5jdXJyZW50KSB7XG4gICAgICBzZXRIYW5kbGVQb3NpdGlvbihlbXB0eUJsb2NrRWxlbSwgbWVudVJlZi5jdXJyZW50LCBhbmNob3JFbGVtLCBTUEFDRSlcbiAgICB9XG4gIH0sIFthbmNob3JFbGVtLCBlbXB0eUJsb2NrRWxlbV0pXG5cbiAgY29uc3QgaGFuZGxlQWRkQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQpID0+IHtcbiAgICAgIGlmICghZW1wdHlCbG9ja0VsZW0pIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBsZXQgbm9kZTogUGFyYWdyYXBoTm9kZVxuICAgICAgZWRpdG9yLnVwZGF0ZSgoKSA9PiB7XG4gICAgICAgIG5vZGUgPSAkZ2V0TmVhcmVzdE5vZGVGcm9tRE9NTm9kZShlbXB0eUJsb2NrRWxlbSkgYXMgUGFyYWdyYXBoTm9kZVxuICAgICAgICBpZiAoIW5vZGUgfHwgbm9kZS5nZXRUeXBlKCkgIT09ICdwYXJhZ3JhcGgnKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgZWRpdG9yLmZvY3VzKClcblxuICAgICAgICBub2RlLnNlbGVjdCgpXG4gICAgICAgIC8qY29uc3QgbnMgPSAkY3JlYXRlTm9kZVNlbGVjdGlvbigpO1xuICAgICAgICBucy5hZGQobm9kZS5nZXRLZXkoKSlcbiAgICAgICAgJHNldFNlbGVjdGlvbihucykqL1xuICAgICAgfSlcblxuICAgICAgLy8gTWFrZSBzdXJlIHRoaXMgaXMgY2FsbGVkIEFGVEVSIHRoZSBlZGl0b3Jmb2N1cygpIGV2ZW50IGhhcyBiZWVuIHByb2Nlc3NlZCBieSB0aGUgYnJvd3NlclxuICAgICAgLy8gT3RoZXJ3aXNlLCB0aGlzIHdvbid0IHdvcmtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBlZGl0b3IuZGlzcGF0Y2hDb21tYW5kKEVOQUJMRV9TTEFTSF9NRU5VX0NPTU1BTkQsIHtcbiAgICAgICAgICBub2RlOiBub2RlLFxuICAgICAgICB9KVxuICAgICAgfSwgMClcblxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICB9LFxuICAgIFtlZGl0b3IsIGVtcHR5QmxvY2tFbGVtXSxcbiAgKVxuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzc05hbWU9XCJpY29uIGFkZC1ibG9jay1tZW51XCJcbiAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgaGFuZGxlQWRkQ2xpY2soZXZlbnQpXG4gICAgICAgIH19XG4gICAgICAgIHJlZj17bWVudVJlZn1cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtpc0VkaXRhYmxlID8gJ2ljb24nIDogJyd9IC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICBhbmNob3JFbGVtLFxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBZGRCbG9ja0hhbmRsZVBsdWdpbih7XG4gIGFuY2hvckVsZW0gPSBkb2N1bWVudC5ib2R5LFxufToge1xuICBhbmNob3JFbGVtPzogSFRNTEVsZW1lbnRcbn0pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpXG4gIHJldHVybiB1c2VBZGRCbG9ja0hhbmRsZShlZGl0b3IsIGFuY2hvckVsZW0sIGVkaXRvci5fZWRpdGFibGUpXG59XG4iXSwibmFtZXMiOlsiQWRkQmxvY2tIYW5kbGVQbHVnaW4iLCJTUEFDRSIsIkFERF9CTE9DS19NRU5VX0NMQVNTTkFNRSIsIkRvd253YXJkIiwiVXB3YXJkIiwiSW5kZXRlcm1pbmF0ZSIsInByZXZJbmRleCIsIkluZmluaXR5IiwiZ2V0Q3VycmVudEluZGV4Iiwia2V5c0xlbmd0aCIsIk1hdGgiLCJmbG9vciIsImdldEJsb2NrRWxlbWVudCIsImFuY2hvckVsZW0iLCJlZGl0b3IiLCJldmVudCIsInVzZUVkZ2VBc0RlZmF1bHQiLCJob3Jpem9udGFsT2Zmc2V0IiwiYW5jaG9yRWxlbWVudFJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ0b3BMZXZlbE5vZGVLZXlzIiwiZ2V0VG9wTGV2ZWxOb2RlS2V5cyIsImJsb2NrRWxlbSIsImJsb2NrTm9kZSIsInNob3VsZFJlbW92ZSIsImdldEVkaXRvclN0YXRlIiwicmVhZCIsImZpcnN0Tm9kZSIsImxhc3ROb2RlIiwiZ2V0RWxlbWVudEJ5S2V5IiwibGVuZ3RoIiwiZmlyc3ROb2RlUmVjdCIsImxhc3ROb2RlUmVjdCIsInkiLCJ0b3AiLCJib3R0b20iLCJpbmRleCIsImRpcmVjdGlvbiIsImtleSIsImVsZW0iLCJwb2ludCIsIlBvaW50IiwieCIsImRvbVJlY3QiLCJSZWN0IiwiZnJvbURPTSIsIm1hcmdpbkJvdHRvbSIsIm1hcmdpblRvcCIsImdldENvbGxhcHNlZE1hcmdpbnMiLCJyZWN0IiwiZ2VuZXJhdGVOZXdSZWN0IiwibGVmdCIsInJpZ2h0IiwicmVhc29uIiwiaXNPbkJvdHRvbVNpZGUiLCJpc09uVG9wU2lkZSIsInJlc3VsdCIsImNvbnRhaW5zIiwiJGdldE5vZGVCeUtleSIsImdldFR5cGUiLCJnZXRUZXh0Q29udGVudCIsInVzZUFkZEJsb2NrSGFuZGxlIiwiaXNFZGl0YWJsZSIsInNjcm9sbGVyRWxlbSIsInBhcmVudEVsZW1lbnQiLCJtZW51UmVmIiwidXNlUmVmIiwiZW1wdHlCbG9ja0VsZW0iLCJzZXRFbXB0eUJsb2NrRWxlbSIsInVzZVN0YXRlIiwidXNlRWZmZWN0Iiwib25Eb2N1bWVudE1vdXNlTW92ZSIsInRhcmdldCIsImlzSFRNTEVsZW1lbnQiLCJkaXN0YW5jZUZyb21TY3JvbGxlckVsZW0iLCJwYWdlWCIsInBhZ2VZIiwiaG9yaXpvbnRhbEJ1ZmZlciIsInZlcnRpY2FsQnVmZmVyIiwiYWRqdXN0ZWRUb3AiLCJ3aW5kb3ciLCJzY3JvbGxZIiwiYWRqdXN0ZWRCb3R0b20iLCJpc09uSGFuZGxlRWxlbWVudCIsIl9lbXB0eUJsb2NrRWxlbSIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjdXJyZW50Iiwic2V0SGFuZGxlUG9zaXRpb24iLCJoYW5kbGVBZGRDbGljayIsInVzZUNhbGxiYWNrIiwibm9kZSIsInVwZGF0ZSIsIiRnZXROZWFyZXN0Tm9kZUZyb21ET01Ob2RlIiwiZm9jdXMiLCJzZWxlY3QiLCJzZXRUaW1lb3V0IiwiZGlzcGF0Y2hDb21tYW5kIiwiRU5BQkxFX1NMQVNIX01FTlVfQ09NTUFORCIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiY3JlYXRlUG9ydGFsIiwiUmVhY3QiLCJGcmFnbWVudCIsImJ1dHRvbiIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJyZWYiLCJ0eXBlIiwiZGl2IiwiYm9keSIsInVzZUxleGljYWxDb21wb3NlckNvbnRleHQiLCJfZWRpdGFibGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkF3UmdCQTs7O2VBQUFBOzs7d0NBclIwQjt5QkFNbkM7K0RBQ2dCOzBCQUVNO3VCQUVDO3VCQUNSO3NCQUNEOzRDQUNxQjtxQ0FDTjtxQ0FDQTttQ0FDRjttQ0FDQTtRQUMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVQLE1BQU1DLFFBQVEsQ0FBQztBQUNmLE1BQU1DLDJCQUEyQjtBQUVqQyxNQUFNQyxXQUFXO0FBQ2pCLE1BQU1DLFNBQVMsQ0FBQztBQUNoQixNQUFNQyxnQkFBZ0I7QUFFdEIsSUFBSUMsWUFBWUM7QUFFaEIsU0FBU0MsZ0JBQWdCQyxVQUFrQjtJQUN6QyxJQUFJQSxlQUFlLEdBQUc7UUFDcEIsT0FBT0Y7SUFDVDtJQUNBLElBQUlELGFBQWEsS0FBS0EsWUFBWUcsWUFBWTtRQUM1QyxPQUFPSDtJQUNUO0lBRUEsT0FBT0ksS0FBS0MsS0FBSyxDQUFDRixhQUFhO0FBQ2pDO0FBRUEsU0FBU0csZ0JBQ1BDLFVBQXVCLEVBQ3ZCQyxNQUFxQixFQUNyQkMsS0FBaUIsRUFDakJDLG1CQUFtQixLQUFLLEVBQ3hCQyxtQkFBbUIsQ0FBQztJQUtwQixNQUFNQyxvQkFBb0JMLFdBQVdNLHFCQUFxQjtJQUMxRCxNQUFNQyxtQkFBbUJDLElBQUFBLHdDQUFtQixFQUFDUDtJQUU3QyxJQUFJUSxZQUFnQztJQUNwQyxJQUFJQyxZQUFnQztJQUNwQyxJQUFJQyxlQUFlO0lBRW5CLGtFQUFrRTtJQUNsRVYsT0FBT1csY0FBYyxHQUFHQyxJQUFJLENBQUM7UUFDM0IsSUFBSVYsa0JBQWtCO1lBQ3BCLE1BQU0sQ0FBQ1csV0FBV0MsU0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/DraggableBlockPlugin/index.tsx"],"names":[],"mappings":";AAwBA,OAAO,cAAc,CAAA;AA+WrB,wBAAgB,oBAAoB,CAAC,EACnC,UAA0B,GAC3B,EAAE;IACD,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB,GAAG,GAAG,CAAC,OAAO,CAGd"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/handles/DraggableBlockPlugin/index.tsx"],"names":[],"mappings":";AAkBA,OAAO,cAAc,CAAA;AA+WrB,wBAAgB,oBAAoB,CAAC,EACnC,UAA0B,GAC3B,EAAE;IACD,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB,GAAG,GAAG,CAAC,OAAO,CAGd"}
@@ -1,10 +1,5 @@
1
- /**
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- */ "use strict";
1
+ 'use client';
2
+ "use strict";
8
3
  Object.defineProperty(exports, "__esModule", {
9
4
  value: true
10
5
  });
@@ -340,4 +335,4 @@ function DraggableBlockPlugin({ anchorElem = document.body }) {
340
335
  return useDraggableBlockMenu(editor, anchorElem, editor._editable);
341
336
  }
342
337
 
343
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvaGFuZGxlcy9EcmFnZ2FibGVCbG9ja1BsdWdpbi9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuaW1wb3J0IHR5cGUgeyBMZXhpY2FsRWRpdG9yIH0gZnJvbSAnbGV4aWNhbCdcbmltcG9ydCB0eXBlIHsgRHJhZ0V2ZW50IGFzIFJlYWN0RHJhZ0V2ZW50IH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQgfSBmcm9tICdAbGV4aWNhbC9yZWFjdC9MZXhpY2FsQ29tcG9zZXJDb250ZXh0J1xuaW1wb3J0IHsgZXZlbnRGaWxlcyB9IGZyb20gJ0BsZXhpY2FsL3JpY2gtdGV4dCdcbmltcG9ydCB7ICRnZXROZWFyZXN0Tm9kZUZyb21ET01Ob2RlLCAkZ2V0Tm9kZUJ5S2V5IH0gZnJvbSAnbGV4aWNhbCdcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJ1xuXG5pbXBvcnQgeyBpc0hUTUxFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZ3VhcmQnXG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3BvaW50J1xuaW1wb3J0IHsgZ2V0VG9wTGV2ZWxOb2RlS2V5cyB9IGZyb20gJy4uL3V0aWxzL2dldFRvcExldmVsTm9kZUtleXMnXG5pbXBvcnQgeyBpc09uSGFuZGxlRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL2lzT25IYW5kbGVFbGVtZW50J1xuaW1wb3J0IHsgc2V0SGFuZGxlUG9zaXRpb24gfSBmcm9tICcuLi91dGlscy9zZXRIYW5kbGVQb3NpdGlvbidcbmltcG9ydCB7IGdldEJvdW5kaW5nQ2xpZW50UmVjdFdpdGhvdXRUcmFuc2Zvcm0gfSBmcm9tICcuL2dldEJvdW5kaW5nUmVjdFdpdGhvdXRUcmFuc2Zvcm0nXG5pbXBvcnQgeyBnZXROb2RlQ2xvc2VUb1BvaW50IH0gZnJvbSAnLi9nZXROb2RlQ2xvc2VUb1BvaW50J1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5pbXBvcnQgeyBzZXRUYXJnZXRMaW5lIH0gZnJvbSAnLi9zZXRUYXJnZXRMaW5lJ1xuXG5jb25zdCBTUEFDRSA9IC0yNFxuY29uc3QgRFJBR0dBQkxFX0JMT0NLX01FTlVfQ0xBU1NOQU1FID0gJ2RyYWdnYWJsZS1ibG9jay1tZW51J1xuY29uc3QgRFJBR19EQVRBX0ZPUk1BVCA9ICdhcHBsaWNhdGlvbi94LWxleGljYWwtZHJhZy1ibG9jaydcblxubGV0IHByZXZJbmRleCA9IEluZmluaXR5XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnRJbmRleChrZXlzTGVuZ3RoOiBudW1iZXIpOiBudW1iZXIge1xuICBpZiAoa2V5c0xlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBJbmZpbml0eVxuICB9XG4gIGlmIChwcmV2SW5kZXggPj0gMCAmJiBwcmV2SW5kZXggPCBrZXlzTGVuZ3RoKSB7XG4gICAgcmV0dXJuIHByZXZJbmRleFxuICB9XG5cbiAgcmV0dXJuIE1hdGguZmxvb3Ioa2V5c0xlbmd0aCAvIDIpXG59XG5cbmZ1bmN0aW9uIHNldERyYWdJbWFnZShkYXRhVHJhbnNmZXI6IERhdGFUcmFuc2ZlciwgZHJhZ2dhYmxlQmxvY2tFbGVtOiBIVE1MRWxlbWVudCkge1xuICBjb25zdCB7IHRyYW5zZm9ybSB9ID0gZHJhZ2dhYmxlQmxvY2tFbGVtLnN0eWxlXG5cbiAgLy8gUmVtb3ZlIGRyYWdJbWFnZSBib3JkZXJzXG4gIGRhdGFUcmFuc2Zlci5zZXREcmFnSW1hZ2UoZHJhZ2dhYmxlQmxvY2tFbGVtLCAwLCAwKVxuXG4gIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgIGRyYWdnYWJsZUJsb2NrRWxlbS5zdHlsZS50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbiAgfSlcbn1cblxuZnVuY3Rpb24gaGlkZVRhcmdldExpbmUoXG4gIHRhcmdldExpbmVFbGVtOiBIVE1MRWxlbWVudCB8IG51bGwsXG4gIGxhc3RUYXJnZXRCbG9ja0VsZW06IEhUTUxFbGVtZW50IHwgbnVsbCxcbikge1xuICBpZiAodGFyZ2V0TGluZUVsZW0pIHtcbiAgICB0YXJnZXRMaW5lRWxlbS5zdHlsZS5vcGFjaXR5ID0gJzAnXG4gIH1cbiAgaWYgKGxhc3RUYXJnZXRCbG9ja0VsZW0pIHtcbiAgICBsYXN0VGFyZ2V0QmxvY2tFbGVtLnN0eWxlLm9wYWNpdHkgPSAnMSdcbiAgICAvL2xhc3RUYXJnZXRCbG9ja0VsZW0uc3R5bGUuYm9yZGVyID0gJ25vbmUnXG4gIH1cbn1cblxuZnVuY3Rpb24gdXNlRHJhZ2dhYmxlQmxvY2tNZW51KFxuICBlZGl0b3I6IExleGljYWxFZGl0b3IsXG4gIGFuY2hvckVsZW06IEhUTUxFbGVtZW50LFxuICBpc0VkaXRhYmxlOiBib29sZWFuLFxuKTogSlNYLkVsZW1lbnQge1xuICBjb25zdCBzY3JvbGxlckVsZW0gPSBhbmNob3JFbGVtLnBhcmVudEVsZW1lbnRcblxuICBjb25zdCBtZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCB0YXJnZXRMaW5lUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBkZWJ1Z0hpZ2hsaWdodFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgaXNEcmFnZ2luZ0Jsb2NrUmVmID0gdXNlUmVmPGJvb2xlYW4+KGZhbHNlKVxuICBjb25zdCBbZHJhZ2dhYmxlQmxvY2tFbGVtLCBzZXREcmFnZ2FibGVCbG9ja0VsZW1dID0gdXNlU3RhdGU8SFRNTEVsZW1lbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBbbGFzdFRhcmdldEJsb2NrRWxlbSwgc2V0TGFzdFRhcmdldEJsb2NrRWxlbV0gPSB1c2VTdGF0ZTxIVE1MRWxlbWVudCB8IG51bGw+KG51bGwpXG5cbiAgY29uc3QgY2FsY3VsYXRlRGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtID0gdXNlQ2FsbGJhY2soXG4gICAgKFxuICAgICAgcGFnZVg6IG51bWJlcixcbiAgICAgIHBhZ2VZOiBudW1iZXIsXG4gICAgICB0YXJnZXQ6IEhUTUxFbGVtZW50LFxuICAgICAgaG9yaXpvbnRhbEJ1ZmZlcjogbnVtYmVyID0gNTAsXG4gICAgICB2ZXJ0aWNhbEJ1ZmZlcjogbnVtYmVyID0gMjUsXG4gICAgKTogbnVtYmVyID0+IHtcbiAgICAgIGxldCBkaXN0YW5jZUZyb21TY3JvbGxlckVsZW0gPSAwXG4gICAgICAvLyBDYWxjdWxhdGUgZGlzdGFuY2UgYmV0d2VlbiBzY3JvbGxlckVsZW0gYW5kIHRhcmdldCBpZiB0YXJnZXQgaXMgbm90IGluIHNjcm9sbGVyRWxlbVxuICAgICAgaWYgKHNjcm9sbGVyRWxlbSAmJiAhc2Nyb2xsZXJFbGVtLmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgY29uc3QgeyBib3R0b20sIGxlZnQsIHJpZ2h0LCB0b3AgfSA9IHNjcm9sbGVyRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuXG4gICAgICAgIGNvbnN0IGFkanVzdGVkVG9wID0gdG9wICsgd2luZG93LnNjcm9sbFlcbiAgICAgICAgY29uc3QgYWRqdXN0ZWRCb3R0b20gPSBib3R0b20gKyB3aW5kb3cuc2Nyb2xsWVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBwYWdlWSA8IGFkanVzdGVkVG9wIC0gdmVydGljYWxCdWZmZXIgfHxcbiAgICAgICAgICBwYWdlWSA+IGFkanVzdGVkQm90dG9tICsgdmVydGljYWxCdWZmZXIgfHxcbiAgICAgICAgICBwYWdlWCA8IGxlZnQgLSBob3Jpem9udGFsQnVmZmVyIHx8XG4gICAgICAgICAgcGFnZVggPiByaWdodCArIGhvcml6b250YWxCdWZmZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0RHJhZ2dhYmxlQmxvY2tFbGVtKG51bGwpXG4gICAgICAgICAgcmV0dXJuIGRpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhpcyBpcyB1c2VkIHRvIGFsbG93IHRoZSBfZHJhZ2dhYmxlQmxvY2tFbGVtIHRvIGJlIGZvdW5kIHdoZW4gdGhlIG1vdXNlIGlzIGluIHRoZVxuICAgICAgICAvLyBidWZmZXIgem9uZSBhcm91bmQgdGhlIHNjcm9sbGVyRWxlbS5cbiAgICAgICAgaWYgKHBhZ2VYIDwgbGVmdCB8fCBwYWdlWCA+IHJpZ2h0KSB7XG4gICAgICAgICAgZGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtID0gcGFnZVggPCBsZWZ0ID8gcGFnZVggLSBsZWZ0IDogcGFnZVggLSByaWdodFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtXG4gICAgfSxcbiAgICBbc2Nyb2xsZXJFbGVtXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLyoqXG4gICAgICogSGFuZGxlcyBwb3NpdGlvbmluZyBvZiB0aGUgZHJhZyBoYW5kbGVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBvbkRvY3VtZW50TW91c2VNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXRcbiAgICAgIGlmICghaXNIVE1MRWxlbWVudCh0YXJnZXQpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCBkaXN0YW5jZUZyb21TY3JvbGxlckVsZW0gPSBjYWxjdWxhdGVEaXN0YW5jZUZyb21TY3JvbGxlckVsZW0oXG4gICAgICAgIGV2ZW50LnBhZ2VYLFxuICAgICAgICBldmVudC5wYWdlWSxcbiAgICAgICAgdGFyZ2V0LFxuICAgICAgKVxuXG4gICAgICBpZiAoaXNPbkhhbmRsZUVsZW1lbnQodGFyZ2V0LCBEUkFHR0FCTEVfQkxPQ0tfTUVOVV9DTEFTU05BTUUpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCB0b3BMZXZlbE5vZGVLZXlzID0gZ2V0VG9wTGV2ZWxOb2RlS2V5cyhlZGl0b3IpXG4gICAgICBjb25zdCB7XG4gICAgICAgIGJsb2NrRWxlbTogX2RyYWdnYWJsZUJsb2NrRWxlbSxcbiAgICAgICAgZm91bmRBdEluZGV4LFxuICAgICAgICBpc0ZvdW5kTm9kZUVtcHR5UGFyYWdyYXBoLFxuICAgICAgfSA9IGdldE5vZGVDbG9zZVRvUG9pbnQoe1xuICAgICAgICBhbmNob3JFbGVtLFxuICAgICAgICBjYWNoZV90cmVzaG9sZDogMCxcbiAgICAgICAgZWRpdG9yLFxuICAgICAgICBob3Jpem9udGFsT2Zmc2V0OiAtZGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtLFxuICAgICAgICBwb2ludDogbmV3IFBvaW50KGV2ZW50LngsIGV2ZW50LnkpLFxuICAgICAgICBzdGFydEluZGV4OiBnZXRDdXJyZW50SW5kZXgodG9wTGV2ZWxOb2RlS2V5cy5sZW5ndGgpLFxuICAgICAgICB1c2VFZGdlQXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgIH0pXG4gICAgICAvL2lmIChERUJVRyAmJiBfZHJhZ2dhYmxlQmxvY2tFbGVtKSB7XG4gICAgICAvL3RhcmdldEJsb2NrRWxlbS5zdHlsZS5ib3JkZXIgPSAnM3B4IHNvbGlkIHJlZCdcbiAgICAgIC8vIGhpZ2hsaWdodEVsZW1PcmlnaW5hbFBvc2l0aW9uKGRlYnVnSGlnaGxpZ2h0UmVmLCBfZHJhZ2dhYmxlQmxvY2tFbGVtLCBhbmNob3JFbGVtKVxuICAgICAgLy99XG4gICAgICBwcmV2SW5kZXggPSBmb3VuZEF0SW5kZXhcblxuICAgICAgaWYgKCFfZHJhZ2dhYmxlQmxvY2tFbGVtICYmICFpc0ZvdW5kTm9kZUVtcHR5UGFyYWdyYXBoKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBzZXREcmFnZ2FibGVCbG9ja0VsZW0oX2RyYWdnYWJsZUJsb2NrRWxlbSlcbiAgICB9XG5cbiAgICAvLyBTaW5jZSB0aGUgZHJhZ2dhYmxlQmxvY2tFbGVtIGlzIG91dHNpZGUgdGhlIGFjdHVhbCBlZGl0b3IsIHdlIG5lZWQgdG8gbGlzdGVuIHRvIHRoZSBkb2N1bWVudFxuICAgIC8vIHRvIGJlIGFibGUgdG8gZGV0ZWN0IHdoZW4gdGhlIG1vdXNlIGlzIG91dHNpZGUgdGhlIGVkaXRvciBhbmQgcmVzcGVjdCBhIGJ1ZmZlciBhcm91bmQgdGhlXG4gICAgLy8gdGhlIHNjcm9sbGVyRWxlbSB0byBhdm9pZCB0aGUgZHJhZ2dhYmxlQmxvY2tFbGVtIGRpc2FwcGVhcmluZyB0b28gZWFybHkuXG4gICAgZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uRG9jdW1lbnRNb3VzZU1vdmUpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uRG9jdW1lbnRNb3VzZU1vdmUpXG4gICAgfVxuICB9LCBbc2Nyb2xsZXJFbGVtLCBhbmNob3JFbGVtLCBlZGl0b3IsIGNhbGN1bGF0ZURpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobWVudVJlZi5jdXJyZW50KSB7XG4gICAgICBzZXRIYW5kbGVQb3NpdGlvbihkcmFnZ2FibGVCbG9ja0VsZW0sIG1lbnVSZWYuY3VycmVudCwgYW5jaG9yRWxlbSwgU1BBQ0UpXG4gICAgfVxuICB9LCBbYW5jaG9yRWxlbSwgZHJhZ2dhYmxlQmxvY2tFbGVtXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZ1bmN0aW9uIG9uRHJhZ292ZXIoZXZlbnQ6IERyYWdFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgaWYgKCFpc0RyYWdnaW5nQmxvY2tSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICAgIGNvbnN0IFtpc0ZpbGVUcmFuc2Zlcl0gPSBldmVudEZpbGVzKGV2ZW50KVxuICAgICAgaWYgKGlzRmlsZVRyYW5zZmVyKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHBhZ2VZLCB0YXJnZXQgfSA9IGV2ZW50XG4gICAgICBpZiAoIWlzSFRNTEVsZW1lbnQodGFyZ2V0KSkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtID0gY2FsY3VsYXRlRGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtKFxuICAgICAgICBldmVudC5wYWdlWCxcbiAgICAgICAgZXZlbnQucGFnZVksXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgMTAwLFxuICAgICAgICA1MCxcbiAgICAgIClcblxuICAgICAgY29uc3QgdG9wTGV2ZWxOb2RlS2V5cyA9IGdldFRvcExldmVsTm9kZUtleXMoZWRpdG9yKVxuXG4gICAgICBjb25zdCB7XG4gICAgICAgIGJsb2NrRWxlbTogdGFyZ2V0QmxvY2tFbGVtLFxuICAgICAgICBmb3VuZEF0SW5kZXgsXG4gICAgICAgIGlzRm91bmROb2RlRW1wdHlQYXJhZ3JhcGgsXG4gICAgICB9ID0gZ2V0Tm9kZUNsb3NlVG9Qb2ludCh7XG4gICAgICAgIGFuY2hvckVsZW0sXG4gICAgICAgIGVkaXRvcixcbiAgICAgICAgZnV6enk6IHRydWUsXG4gICAgICAgIGhvcml6b250YWxPZmZzZXQ6IC1kaXN0YW5jZUZyb21TY3JvbGxlckVsZW0sXG4gICAgICAgIHBvaW50OiBuZXcgUG9pbnQoZXZlbnQueCwgZXZlbnQueSksXG4gICAgICAgIHN0YXJ0SW5kZXg6IGdldEN1cnJlbnRJbmRleCh0b3BMZXZlbE5vZGVLZXlzLmxlbmd0aCksXG4gICAgICAgIHVzZUVkZ2VBc0RlZmF1bHQ6IHRydWUsXG4gICAgICAgIHZlcmJvc2U6IHRydWUsXG4gICAgICB9KVxuICAgICAgcHJldkluZGV4ID0gZm91bmRBdEluZGV4XG5cbiAgICAgIGNvbnN0IHRhcmdldExpbmVFbGVtID0gdGFyZ2V0TGluZVJlZi5jdXJyZW50XG4gICAgICAvLyB0YXJnZXRCbG9ja0VsZW0gPT09IG51bGwgc2hvdWxkbid0IGhhcHBlblxuICAgICAgaWYgKHRhcmdldEJsb2NrRWxlbSA9PT0gbnVsbCB8fCB0YXJnZXRMaW5lRWxlbSA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cblxuICAgICAgaWYgKGRyYWdnYWJsZUJsb2NrRWxlbSAhPT0gdGFyZ2V0QmxvY2tFbGVtKSB7XG4gICAgICAgIHNldFRhcmdldExpbmUoXG4gICAgICAgICAgU1BBQ0UsXG4gICAgICAgICAgdGFyZ2V0TGluZUVsZW0sXG4gICAgICAgICAgdGFyZ2V0QmxvY2tFbGVtLFxuICAgICAgICAgIGxhc3RUYXJnZXRCbG9ja0VsZW0sXG4gICAgICAgICAgcGFnZVksXG4gICAgICAgICAgYW5jaG9yRWxlbSxcbiAgICAgICAgICBldmVudCxcbiAgICAgICAgICBkZWJ1Z0hpZ2hsaWdodFJlZixcbiAgICAgICAgICBpc0ZvdW5kTm9kZUVtcHR5UGFyYWdyYXBoLFxuICAgICAgICApXG5cbiAgICAgICAgLy8gUHJldmVudCBkZWZhdWx0IGV2ZW50IHRvIGJlIGFibGUgdG8gdHJpZ2dlciBvbkRyb3AgZXZlbnRzXG4gICAgICAgIC8vIENhbGxpbmcgcHJldmVudERlZmF1bHQoKSBhZGRzIHRoZSBncmVlbiBwbHVzIGljb24gdG8gdGhlIGN1cnNvcixcbiAgICAgICAgLy8gaW5kaWNhdGluZyB0aGF0IHRoZSBkcm9wIGlzIGFsbG93ZWQuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGhpZGVUYXJnZXRMaW5lKHRhcmdldExpbmVFbGVtLCBsYXN0VGFyZ2V0QmxvY2tFbGVtKVxuICAgICAgfVxuXG4gICAgICBzZXRMYXN0VGFyZ2V0QmxvY2tFbGVtKHRhcmdldEJsb2NrRWxlbSlcblxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgaWYgKCFpc0RyYWdnaW5nQmxvY2tSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICAgIGNvbnN0IFtpc0ZpbGVUcmFuc2Zlcl0gPSBldmVudEZpbGVzKGV2ZW50KVxuICAgICAgaWYgKGlzRmlsZVRyYW5zZmVyKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgICAgY29uc3QgeyBkYXRhVHJhbnNmZXIsIHBhZ2VZLCB0YXJnZXQgfSA9IGV2ZW50XG4gICAgICBjb25zdCBkcmFnRGF0YSA9IGRhdGFUcmFuc2Zlcj8uZ2V0RGF0YShEUkFHX0RBVEFfRk9STUFUKSB8fCAnJ1xuXG4gICAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgICAgY29uc3QgZHJhZ2dlZE5vZGUgPSAkZ2V0Tm9kZUJ5S2V5KGRyYWdEYXRhKVxuICAgICAgICBpZiAoIWRyYWdnZWROb2RlKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KHRhcmdldCkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkaXN0YW5jZUZyb21TY3JvbGxlckVsZW0gPSBjYWxjdWxhdGVEaXN0YW5jZUZyb21TY3JvbGxlckVsZW0oXG4gICAgICAgICAgZXZlbnQucGFnZVgsXG4gICAgICAgICAgZXZlbnQucGFnZVksXG4gICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgIDEwMCxcbiAgICAgICAgICA1MCxcbiAgICAgICAgKVxuXG4gICAgICAgIGNvbnN0IHsgYmxvY2tFbGVtOiB0YXJnZXRCbG9ja0VsZW0sIGlzRm91bmROb2RlRW1wdHlQYXJhZ3JhcGggfSA9IGdldE5vZGVDbG9zZVRvUG9pbnQoe1xuICAgICAgICAgIGFuY2hvckVsZW0sXG4gICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgIGZ1enp5OiB0cnVlLFxuICAgICAgICAgIGhvcml6b250YWxPZmZzZXQ6IC1kaXN0YW5jZUZyb21TY3JvbGxlckVsZW0sXG4gICAgICAgICAgcG9pbnQ6IG5ldyBQb2ludChldmVudC54LCBldmVudC55KSxcbiAgICAgICAgICB1c2VFZGdlQXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmICghdGFyZ2V0QmxvY2tFbGVtKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGFyZ2V0Tm9kZSA9ICRnZXROZWFyZXN0Tm9kZUZyb21ET01Ob2RlKHRhcmdldEJsb2NrRWxlbSlcbiAgICAgICAgaWYgKCF0YXJnZXROb2RlKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRhcmdldE5vZGUgPT09IGRyYWdnZWROb2RlKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgaGVpZ2h0OiB0YXJnZXRCbG9ja0VsZW1IZWlnaHQsIHRvcDogdGFyZ2V0QmxvY2tFbGVtVG9wIH0gPVxuICAgICAgICAgIGdldEJvdW5kaW5nQ2xpZW50UmVjdFdpdGhvdXRUcmFuc2Zvcm0odGFyZ2V0QmxvY2tFbGVtKVxuXG4gICAgICAgIGNvbnN0IG1vdXNlWSA9IHBhZ2VZXG4gICAgICAgIGNvbnN0IGlzQmVsb3cgPSBtb3VzZVkgPj0gdGFyZ2V0QmxvY2tFbGVtVG9wICsgdGFyZ2V0QmxvY2tFbGVtSGVpZ2h0IC8gMiArIHdpbmRvdy5zY3JvbGxZXG5cbiAgICAgICAgaWYgKCFpc0ZvdW5kTm9kZUVtcHR5UGFyYWdyYXBoKSB7XG4gICAgICAgICAgaWYgKGlzQmVsb3cpIHtcbiAgICAgICAgICAgIC8vIGJlbG93IHRhcmdldEJsb2NrRWxlbVxuICAgICAgICAgICAgdGFyZ2V0Tm9kZS5pbnNlcnRBZnRlcihkcmFnZ2VkTm9kZSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gYWJvdmUgdGFyZ2V0QmxvY2tFbGVtXG4gICAgICAgICAgICB0YXJnZXROb2RlLmluc2VydEJlZm9yZShkcmFnZ2VkTm9kZSlcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy9cbiAgICAgICAgICB0YXJnZXROb2RlLmluc2VydEJlZm9yZShkcmFnZ2VkTm9kZSlcbiAgICAgICAgICB0YXJnZXROb2RlLnJlbW92ZSgpXG4gICAgICAgIH1cblxuICAgICAgICAvKlxuICAgICAgICBpZiAocGFnZVkgPj0gdGFyZ2V0QmxvY2tFbGVtVG9wICsgdGFyZ2V0QmxvY2tFbGVtSGVpZ2h0IC8gMikge1xuICAgICAgICAgIHRhcmdldE5vZGUuaW5zZXJ0QWZ0ZXIoZHJhZ2dlZE5vZGUpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGFyZ2V0Tm9kZS5pbnNlcnRCZWZvcmUoZHJhZ2dlZE5vZGUpXG4gICAgICAgIH0qL1xuICAgICAgICBzZXREcmFnZ2FibGVCbG9ja0VsZW0obnVsbClcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgLy8gcmVnaXN0ZXIgb25EcmFnb3ZlciBldmVudCBsaXN0ZW5lcnM6XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCBvbkRyYWdvdmVyKVxuICAgIC8vIHJlZ2lzdGVyIG9uRHJvcCBldmVudCBsaXN0ZW5lcnM6XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIG9uRHJvcClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIG9uRHJhZ292ZXIpXG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdkcm9wJywgb25Ecm9wKVxuICAgIH1cbiAgfSwgW1xuICAgIGFuY2hvckVsZW0sXG4gICAgZWRpdG9yLFxuICAgIGxhc3RUYXJnZXRCbG9ja0VsZW0sXG4gICAgY2FsY3VsYXRlRGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtLFxuICAgIGRyYWdnYWJsZUJsb2NrRWxlbSxcbiAgXSlcblxuICBmdW5jdGlvbiBvbkRyYWdTdGFydChldmVudDogUmVhY3REcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KTogdm9pZCB7XG4gICAgY29uc3QgZGF0YVRyYW5zZmVyID0gZXZlbnQuZGF0YVRyYW5zZmVyXG4gICAgaWYgKCFkYXRhVHJhbnNmZXIgfHwgIWRyYWdnYWJsZUJsb2NrRWxlbSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHNldERyYWdJbWFnZShkYXRhVHJhbnNmZXIsIGRyYWdnYWJsZUJsb2NrRWxlbSlcbiAgICBsZXQgbm9kZUtleSA9ICcnXG4gICAgZWRpdG9yLnVwZGF0ZSgoKSA9PiB7XG4gICAgICBjb25zdCBub2RlID0gJGdldE5lYXJlc3ROb2RlRnJvbURPTU5vZGUoZHJhZ2dhYmxlQmxvY2tFbGVtKVxuICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgbm9kZUtleSA9IG5vZGUuZ2V0S2V5KClcbiAgICAgIH1cbiAgICB9KVxuICAgIGlzRHJhZ2dpbmdCbG9ja1JlZi5jdXJyZW50ID0gdHJ1ZVxuICAgIGRhdGFUcmFuc2Zlci5zZXREYXRhKERSQUdfREFUQV9GT1JNQVQsIG5vZGVLZXkpXG4gIH1cblxuICBmdW5jdGlvbiBvbkRyYWdFbmQoKTogdm9pZCB7XG4gICAgaXNEcmFnZ2luZ0Jsb2NrUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIGhpZGVUYXJnZXRMaW5lKHRhcmdldExpbmVSZWYuY3VycmVudCwgbGFzdFRhcmdldEJsb2NrRWxlbSlcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9XCJpY29uIGRyYWdnYWJsZS1ibG9jay1tZW51XCJcbiAgICAgICAgZHJhZ2dhYmxlXG4gICAgICAgIG9uRHJhZ0VuZD17b25EcmFnRW5kfVxuICAgICAgICBvbkRyYWdTdGFydD17b25EcmFnU3RhcnR9XG4gICAgICAgIHJlZj17bWVudVJlZn1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2lzRWRpdGFibGUgPyAnaWNvbicgOiAnJ30gLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJkcmFnZ2FibGUtYmxvY2stdGFyZ2V0LWxpbmVcIiByZWY9e3RhcmdldExpbmVSZWZ9IC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlYnVnLWhpZ2hsaWdodFwiIHJlZj17ZGVidWdIaWdobGlnaHRSZWZ9IC8+XG4gICAgPC9SZWFjdC5GcmFnbWVudD4sXG4gICAgYW5jaG9yRWxlbSxcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gRHJhZ2dhYmxlQmxvY2tQbHVnaW4oe1xuICBhbmNob3JFbGVtID0gZG9jdW1lbnQuYm9keSxcbn06IHtcbiAgYW5jaG9yRWxlbT86IEhUTUxFbGVtZW50XG59KTogSlNYLkVsZW1lbnQge1xuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuICByZXR1cm4gdXNlRHJhZ2dhYmxlQmxvY2tNZW51KGVkaXRvciwgYW5jaG9yRWxlbSwgZWRpdG9yLl9lZGl0YWJsZSlcbn1cbiJdLCJuYW1lcyI6WyJEcmFnZ2FibGVCbG9ja1BsdWdpbiIsIlNQQUNFIiwiRFJBR0dBQkxFX0JMT0NLX01FTlVfQ0xBU1NOQU1FIiwiRFJBR19EQVRBX0ZPUk1BVCIsInByZXZJbmRleCIsIkluZmluaXR5IiwiZ2V0Q3VycmVudEluZGV4Iiwia2V5c0xlbmd0aCIsIk1hdGgiLCJmbG9vciIsInNldERyYWdJbWFnZSIsImRhdGFUcmFuc2ZlciIsImRyYWdnYWJsZUJsb2NrRWxlbSIsInRyYW5zZm9ybSIsInN0eWxlIiwic2V0VGltZW91dCIsImhpZGVUYXJnZXRMaW5lIiwidGFyZ2V0TGluZUVsZW0iLCJsYXN0VGFyZ2V0QmxvY2tFbGVtIiwib3BhY2l0eSIsInVzZURyYWdnYWJsZUJsb2NrTWVudSIsImVkaXRvciIsImFuY2hvckVsZW0iLCJpc0VkaXRhYmxlIiwic2Nyb2xsZXJFbGVtIiwicGFyZW50RWxlbWVudCIsIm1lbnVSZWYiLCJ1c2VSZWYiLCJ0YXJnZXRMaW5lUmVmIiwiZGVidWdIaWdobGlnaHRSZWYiLCJpc0RyYWdnaW5nQmxvY2tSZWYiLCJzZXREcmFnZ2FibGVCbG9ja0VsZW0iLCJ1c2VTdGF0ZSIsInNldExhc3RUYXJnZXRCbG9ja0VsZW0iLCJjYWxjdWxhdGVEaXN0YW5jZUZyb21TY3JvbGxlckVsZW0iLCJ1c2VDYWxsYmFjayIsInBhZ2VYIiwicGFnZVkiLCJ0YXJnZXQiLCJob3Jpem9udGFsQnVmZmVyIiwidmVydGljYWxCdWZmZXIiLCJkaXN0YW5jZUZyb21TY3JvbGxlckVsZW0iLCJjb250YWlucyIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsInRvcCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImFkanVzdGVkVG9wIiwid2luZG93Iiwic2Nyb2xsWSIsImFkanVzdGVkQm90dG9tIiwidXNlRWZmZWN0Iiwib25Eb2N1bWVudE1vdXNlTW92ZSIsImV2ZW50IiwiaXNIVE1MRWxlbWVudCIsImlzT25IYW5kbGVFbGVtZW50IiwidG9wTGV2ZWxOb2RlS2V5cyIsImdldFRvcExldmVsTm9kZUtleXMiLCJibG9ja0VsZW0iLCJfZHJhZ2dhYmxlQmxvY2tFbGVtIiwiZm91bmRBdEluZGV4IiwiaXNGb3VuZE5vZGVFbXB0eVBhcmFncmFwaCIsImdldE5vZGVDbG9zZVRvUG9pbnQiLCJjYWNoZV90cmVzaG9sZCIsImhvcml6b250YWxPZmZzZXQiLCJwb2ludCIsIlBvaW50IiwieCIsInkiLCJzdGFydEluZGV4IiwibGVuZ3RoIiwidXNlRWRnZUFzRGVmYXVsdCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjdXJyZW50Iiwic2V0SGFuZGxlUG9zaXRpb24iLCJvbkRyYWdvdmVyIiwiaXNGaWxlVHJhbnNmZXIiLCJldmVudEZpbGVzIiwidGFyZ2V0QmxvY2tFbGVtIiwiZnV6enkiLCJ2ZXJib3NlIiwic2V0VGFyZ2V0TGluZSIsInByZXZlbnREZWZhdWx0Iiwib25Ecm9wIiwiZHJhZ0RhdGEiLCJnZXREYXRhIiwidXBkYXRlIiwiZHJhZ2dlZE5vZGUiLCIkZ2V0Tm9kZUJ5S2V5IiwidGFyZ2V0Tm9kZSIsIiRnZXROZWFyZXN0Tm9kZUZyb21ET01Ob2RlIiwiaGVpZ2h0IiwidGFyZ2V0QmxvY2tFbGVtSGVpZ2h0IiwidGFyZ2V0QmxvY2tFbGVtVG9wIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0V2l0aG91dFRyYW5zZm9ybSIsIm1vdXNlWSIsImlzQmVsb3ciLCJpbnNlcnRBZnRlciIsImluc2VydEJlZm9yZSIsInJlbW92ZSIsIm9uRHJhZ1N0YXJ0Iiwibm9kZUtleSIsIm5vZGUiLCJnZXRLZXkiLCJzZXREYXRhIiwib25EcmFnRW5kIiwiY3JlYXRlUG9ydGFsIiwiUmVhY3QiLCJGcmFnbWVudCIsImRpdiIsImNsYXNzTmFtZSIsImRyYWdnYWJsZSIsInJlZiIsImJvZHkiLCJ1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IiwiX2VkaXRhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUM7Ozs7K0JBaVllQTs7O2VBQUFBOzs7d0NBN1gwQjswQkFDZjt5QkFDK0I7K0RBQ25DOzBCQUVNO3VCQUVDO3VCQUNSO3FDQUNjO21DQUNGO21DQUNBO2lEQUNvQjtxQ0FDbEI7UUFDN0I7K0JBQ3VCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTlCLE1BQU1DLFFBQVEsQ0FB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
338
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvaGFuZGxlcy9EcmFnZ2FibGVCbG9ja1BsdWdpbi9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgdHlwZSB7IExleGljYWxFZGl0b3IgfSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0IHR5cGUgeyBEcmFnRXZlbnQgYXMgUmVhY3REcmFnRXZlbnQgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCB9IGZyb20gJ0BsZXhpY2FsL3JlYWN0L0xleGljYWxDb21wb3NlckNvbnRleHQnXG5pbXBvcnQgeyBldmVudEZpbGVzIH0gZnJvbSAnQGxleGljYWwvcmljaC10ZXh0J1xuaW1wb3J0IHsgJGdldE5lYXJlc3ROb2RlRnJvbURPTU5vZGUsICRnZXROb2RlQnlLZXkgfSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5cbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9ndWFyZCdcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvcG9pbnQnXG5pbXBvcnQgeyBnZXRUb3BMZXZlbE5vZGVLZXlzIH0gZnJvbSAnLi4vdXRpbHMvZ2V0VG9wTGV2ZWxOb2RlS2V5cydcbmltcG9ydCB7IGlzT25IYW5kbGVFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvaXNPbkhhbmRsZUVsZW1lbnQnXG5pbXBvcnQgeyBzZXRIYW5kbGVQb3NpdGlvbiB9IGZyb20gJy4uL3V0aWxzL3NldEhhbmRsZVBvc2l0aW9uJ1xuaW1wb3J0IHsgZ2V0Qm91bmRpbmdDbGllbnRSZWN0V2l0aG91dFRyYW5zZm9ybSB9IGZyb20gJy4vZ2V0Qm91bmRpbmdSZWN0V2l0aG91dFRyYW5zZm9ybSdcbmltcG9ydCB7IGdldE5vZGVDbG9zZVRvUG9pbnQgfSBmcm9tICcuL2dldE5vZGVDbG9zZVRvUG9pbnQnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcbmltcG9ydCB7IHNldFRhcmdldExpbmUgfSBmcm9tICcuL3NldFRhcmdldExpbmUnXG5cbmNvbnN0IFNQQUNFID0gLTI0XG5jb25zdCBEUkFHR0FCTEVfQkxPQ0tfTUVOVV9DTEFTU05BTUUgPSAnZHJhZ2dhYmxlLWJsb2NrLW1lbnUnXG5jb25zdCBEUkFHX0RBVEFfRk9STUFUID0gJ2FwcGxpY2F0aW9uL3gtbGV4aWNhbC1kcmFnLWJsb2NrJ1xuXG5sZXQgcHJldkluZGV4ID0gSW5maW5pdHlcblxuZnVuY3Rpb24gZ2V0Q3VycmVudEluZGV4KGtleXNMZW5ndGg6IG51bWJlcik6IG51bWJlciB7XG4gIGlmIChrZXlzTGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIEluZmluaXR5XG4gIH1cbiAgaWYgKHByZXZJbmRleCA+PSAwICYmIHByZXZJbmRleCA8IGtleXNMZW5ndGgpIHtcbiAgICByZXR1cm4gcHJldkluZGV4XG4gIH1cblxuICByZXR1cm4gTWF0aC5mbG9vcihrZXlzTGVuZ3RoIC8gMilcbn1cblxuZnVuY3Rpb24gc2V0RHJhZ0ltYWdlKGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyLCBkcmFnZ2FibGVCbG9ja0VsZW06IEhUTUxFbGVtZW50KSB7XG4gIGNvbnN0IHsgdHJhbnNmb3JtIH0gPSBkcmFnZ2FibGVCbG9ja0VsZW0uc3R5bGVcblxuICAvLyBSZW1vdmUgZHJhZ0ltYWdlIGJvcmRlcnNcbiAgZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZShkcmFnZ2FibGVCbG9ja0VsZW0sIDAsIDApXG5cbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgZHJhZ2dhYmxlQmxvY2tFbGVtLnN0eWxlLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxuICB9KVxufVxuXG5mdW5jdGlvbiBoaWRlVGFyZ2V0TGluZShcbiAgdGFyZ2V0TGluZUVsZW06IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgbGFzdFRhcmdldEJsb2NrRWxlbTogSFRNTEVsZW1lbnQgfCBudWxsLFxuKSB7XG4gIGlmICh0YXJnZXRMaW5lRWxlbSkge1xuICAgIHRhcmdldExpbmVFbGVtLnN0eWxlLm9wYWNpdHkgPSAnMCdcbiAgfVxuICBpZiAobGFzdFRhcmdldEJsb2NrRWxlbSkge1xuICAgIGxhc3RUYXJnZXRCbG9ja0VsZW0uc3R5bGUub3BhY2l0eSA9ICcxJ1xuICAgIC8vbGFzdFRhcmdldEJsb2NrRWxlbS5zdHlsZS5ib3JkZXIgPSAnbm9uZSdcbiAgfVxufVxuXG5mdW5jdGlvbiB1c2VEcmFnZ2FibGVCbG9ja01lbnUoXG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvcixcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnQsXG4gIGlzRWRpdGFibGU6IGJvb2xlYW4sXG4pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IHNjcm9sbGVyRWxlbSA9IGFuY2hvckVsZW0ucGFyZW50RWxlbWVudFxuXG4gIGNvbnN0IG1lbnVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHRhcmdldExpbmVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGRlYnVnSGlnaGxpZ2h0UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBpc0RyYWdnaW5nQmxvY2tSZWYgPSB1c2VSZWY8Ym9vbGVhbj4oZmFsc2UpXG4gIGNvbnN0IFtkcmFnZ2FibGVCbG9ja0VsZW0sIHNldERyYWdnYWJsZUJsb2NrRWxlbV0gPSB1c2VTdGF0ZTxIVE1MRWxlbWVudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtsYXN0VGFyZ2V0QmxvY2tFbGVtLCBzZXRMYXN0VGFyZ2V0QmxvY2tFbGVtXSA9IHVzZVN0YXRlPEhUTUxFbGVtZW50IHwgbnVsbD4obnVsbClcblxuICBjb25zdCBjYWxjdWxhdGVEaXN0YW5jZUZyb21TY3JvbGxlckVsZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoXG4gICAgICBwYWdlWDogbnVtYmVyLFxuICAgICAgcGFnZVk6IG51bWJlcixcbiAgICAgIHRhcmdldDogSFRNTEVsZW1lbnQsXG4gICAgICBob3Jpem9udGFsQnVmZmVyOiBudW1iZXIgPSA1MCxcbiAgICAgIHZlcnRpY2FsQnVmZmVyOiBudW1iZXIgPSAyNSxcbiAgICApOiBudW1iZXIgPT4ge1xuICAgICAgbGV0IGRpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbSA9IDBcbiAgICAgIC8vIENhbGN1bGF0ZSBkaXN0YW5jZSBiZXR3ZWVuIHNjcm9sbGVyRWxlbSBhbmQgdGFyZ2V0IGlmIHRhcmdldCBpcyBub3QgaW4gc2Nyb2xsZXJFbGVtXG4gICAgICBpZiAoc2Nyb2xsZXJFbGVtICYmICFzY3JvbGxlckVsZW0uY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBjb25zdCB7IGJvdHRvbSwgbGVmdCwgcmlnaHQsIHRvcCB9ID0gc2Nyb2xsZXJFbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG5cbiAgICAgICAgY29uc3QgYWRqdXN0ZWRUb3AgPSB0b3AgKyB3aW5kb3cuc2Nyb2xsWVxuICAgICAgICBjb25zdCBhZGp1c3RlZEJvdHRvbSA9IGJvdHRvbSArIHdpbmRvdy5zY3JvbGxZXG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHBhZ2VZIDwgYWRqdXN0ZWRUb3AgLSB2ZXJ0aWNhbEJ1ZmZlciB8fFxuICAgICAgICAgIHBhZ2VZID4gYWRqdXN0ZWRCb3R0b20gKyB2ZXJ0aWNhbEJ1ZmZlciB8fFxuICAgICAgICAgIHBhZ2VYIDwgbGVmdCAtIGhvcml6b250YWxCdWZmZXIgfHxcbiAgICAgICAgICBwYWdlWCA+IHJpZ2h0ICsgaG9yaXpvbnRhbEJ1ZmZlclxuICAgICAgICApIHtcbiAgICAgICAgICBzZXREcmFnZ2FibGVCbG9ja0VsZW0obnVsbClcbiAgICAgICAgICByZXR1cm4gZGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtXG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGlzIHVzZWQgdG8gYWxsb3cgdGhlIF9kcmFnZ2FibGVCbG9ja0VsZW0gdG8gYmUgZm91bmQgd2hlbiB0aGUgbW91c2UgaXMgaW4gdGhlXG4gICAgICAgIC8vIGJ1ZmZlciB6b25lIGFyb3VuZCB0aGUgc2Nyb2xsZXJFbGVtLlxuICAgICAgICBpZiAocGFnZVggPCBsZWZ0IHx8IHBhZ2VYID4gcmlnaHQpIHtcbiAgICAgICAgICBkaXN0YW5jZUZyb21TY3JvbGxlckVsZW0gPSBwYWdlWCA8IGxlZnQgPyBwYWdlWCAtIGxlZnQgOiBwYWdlWCAtIHJpZ2h0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBkaXN0YW5jZUZyb21TY3JvbGxlckVsZW1cbiAgICB9LFxuICAgIFtzY3JvbGxlckVsZW1dLFxuICApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvKipcbiAgICAgKiBIYW5kbGVzIHBvc2l0aW9uaW5nIG9mIHRoZSBkcmFnIGhhbmRsZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG9uRG9jdW1lbnRNb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldFxuICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KHRhcmdldCkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbSA9IGNhbGN1bGF0ZURpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbShcbiAgICAgICAgZXZlbnQucGFnZVgsXG4gICAgICAgIGV2ZW50LnBhZ2VZLFxuICAgICAgICB0YXJnZXQsXG4gICAgICApXG5cbiAgICAgIGlmIChpc09uSGFuZGxlRWxlbWVudCh0YXJnZXQsIERSQUdHQUJMRV9CTE9DS19NRU5VX0NMQVNTTkFNRSkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRvcExldmVsTm9kZUtleXMgPSBnZXRUb3BMZXZlbE5vZGVLZXlzKGVkaXRvcilcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgYmxvY2tFbGVtOiBfZHJhZ2dhYmxlQmxvY2tFbGVtLFxuICAgICAgICBmb3VuZEF0SW5kZXgsXG4gICAgICAgIGlzRm91bmROb2RlRW1wdHlQYXJhZ3JhcGgsXG4gICAgICB9ID0gZ2V0Tm9kZUNsb3NlVG9Qb2ludCh7XG4gICAgICAgIGFuY2hvckVsZW0sXG4gICAgICAgIGNhY2hlX3RyZXNob2xkOiAwLFxuICAgICAgICBlZGl0b3IsXG4gICAgICAgIGhvcml6b250YWxPZmZzZXQ6IC1kaXN0YW5jZUZyb21TY3JvbGxlckVsZW0sXG4gICAgICAgIHBvaW50OiBuZXcgUG9pbnQoZXZlbnQueCwgZXZlbnQueSksXG4gICAgICAgIHN0YXJ0SW5kZXg6IGdldEN1cnJlbnRJbmRleCh0b3BMZXZlbE5vZGVLZXlzLmxlbmd0aCksXG4gICAgICAgIHVzZUVkZ2VBc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgfSlcbiAgICAgIC8vaWYgKERFQlVHICYmIF9kcmFnZ2FibGVCbG9ja0VsZW0pIHtcbiAgICAgIC8vdGFyZ2V0QmxvY2tFbGVtLnN0eWxlLmJvcmRlciA9ICczcHggc29saWQgcmVkJ1xuICAgICAgLy8gaGlnaGxpZ2h0RWxlbU9yaWdpbmFsUG9zaXRpb24oZGVidWdIaWdobGlnaHRSZWYsIF9kcmFnZ2FibGVCbG9ja0VsZW0sIGFuY2hvckVsZW0pXG4gICAgICAvL31cbiAgICAgIHByZXZJbmRleCA9IGZvdW5kQXRJbmRleFxuXG4gICAgICBpZiAoIV9kcmFnZ2FibGVCbG9ja0VsZW0gJiYgIWlzRm91bmROb2RlRW1wdHlQYXJhZ3JhcGgpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIHNldERyYWdnYWJsZUJsb2NrRWxlbShfZHJhZ2dhYmxlQmxvY2tFbGVtKVxuICAgIH1cblxuICAgIC8vIFNpbmNlIHRoZSBkcmFnZ2FibGVCbG9ja0VsZW0gaXMgb3V0c2lkZSB0aGUgYWN0dWFsIGVkaXRvciwgd2UgbmVlZCB0byBsaXN0ZW4gdG8gdGhlIGRvY3VtZW50XG4gICAgLy8gdG8gYmUgYWJsZSB0byBkZXRlY3Qgd2hlbiB0aGUgbW91c2UgaXMgb3V0c2lkZSB0aGUgZWRpdG9yIGFuZCByZXNwZWN0IGEgYnVmZmVyIGFyb3VuZCB0aGVcbiAgICAvLyB0aGUgc2Nyb2xsZXJFbGVtIHRvIGF2b2lkIHRoZSBkcmFnZ2FibGVCbG9ja0VsZW0gZGlzYXBwZWFyaW5nIHRvbyBlYXJseS5cbiAgICBkb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgb25Eb2N1bWVudE1vdXNlTW92ZSlcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgb25Eb2N1bWVudE1vdXNlTW92ZSlcbiAgICB9XG4gIH0sIFtzY3JvbGxlckVsZW0sIGFuY2hvckVsZW0sIGVkaXRvciwgY2FsY3VsYXRlRGlzdGFuY2VGcm9tU2Nyb2xsZXJFbGVtXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChtZW51UmVmLmN1cnJlbnQpIHtcbiAgICAgIHNldEhhbmRsZVBvc2l0aW9uKGRyYWdnYWJsZUJsb2NrRWxlbSwgbWVudVJlZi5jdXJyZW50LCBhbmNob3JFbGVtLCBTUEFDRSlcbiAgICB9XG4gIH0sIFthbmNob3JFbGVtLCBkcmFnZ2FibGVCbG9ja0VsZW1dKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZnVuY3Rpb24gb25EcmFnb3ZlcihldmVudDogRHJhZ0V2ZW50KTogYm9vbGVhbiB7XG4gICAgICBpZiAoIWlzRHJhZ2dpbmdCbG9ja1JlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgICAgY29uc3QgW2lzRmlsZVRyYW5zZmVyXSA9IGV2ZW50RmlsZXMoZXZlbnQpXG4gICAgICBpZiAoaXNGaWxlVHJhbnNmZXIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgcGFnZVksIHRhcmdldCB9ID0gZXZlbnRcbiAgICAgIGlmICghaXNIVE1MRWxlbWVudCh0YXJnZXQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuXG4gICAgICBjb25zdCBkaXN0YW5jZUZyb21TY3JvbGxlckVsZW0gPSBjYWxjdWxhdGVEaXN0YW5jZUZyb21TY3JvbGxlckVsZW0oXG4gICAgICAgIGV2ZW50LnBhZ2VYLFxuICAgICAgICBldmVudC5wYWdlWSxcbiAgICAgICAgdGFyZ2V0LFxuICAgICAgICAxMDAsXG4gICAgICAgIDUwLFxuICAgICAgKVxuXG4gICAgICBjb25zdCB0b3BMZXZlbE5vZGVLZXlzID0gZ2V0VG9wTGV2ZWxOb2RlS2V5cyhlZGl0b3IpXG5cbiAgICAgIGNvbnN0IHtcbiAgICAgICAgYmxvY2tFbGVtOiB0YXJnZXRCbG9ja0VsZW0sXG4gICAgICAgIGZvdW5kQXRJbmRleCxcbiAgICAgICAgaXNGb3VuZE5vZGVFbXB0eVBhcmFncmFwaCxcbiAgICAgIH0gPSBnZXROb2RlQ2xvc2VUb1BvaW50KHtcbiAgICAgICAgYW5jaG9yRWxlbSxcbiAgICAgICAgZWRpdG9yLFxuICAgICAgICBmdXp6eTogdHJ1ZSxcbiAgICAgICAgaG9yaXpvbnRhbE9mZnNldDogLWRpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbSxcbiAgICAgICAgcG9pbnQ6IG5ldyBQb2ludChldmVudC54LCBldmVudC55KSxcbiAgICAgICAgc3RhcnRJbmRleDogZ2V0Q3VycmVudEluZGV4KHRvcExldmVsTm9kZUtleXMubGVuZ3RoKSxcbiAgICAgICAgdXNlRWRnZUFzRGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgdmVyYm9zZTogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICBwcmV2SW5kZXggPSBmb3VuZEF0SW5kZXhcblxuICAgICAgY29uc3QgdGFyZ2V0TGluZUVsZW0gPSB0YXJnZXRMaW5lUmVmLmN1cnJlbnRcbiAgICAgIC8vIHRhcmdldEJsb2NrRWxlbSA9PT0gbnVsbCBzaG91bGRuJ3QgaGFwcGVuXG4gICAgICBpZiAodGFyZ2V0QmxvY2tFbGVtID09PSBudWxsIHx8IHRhcmdldExpbmVFbGVtID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuXG4gICAgICBpZiAoZHJhZ2dhYmxlQmxvY2tFbGVtICE9PSB0YXJnZXRCbG9ja0VsZW0pIHtcbiAgICAgICAgc2V0VGFyZ2V0TGluZShcbiAgICAgICAgICBTUEFDRSxcbiAgICAgICAgICB0YXJnZXRMaW5lRWxlbSxcbiAgICAgICAgICB0YXJnZXRCbG9ja0VsZW0sXG4gICAgICAgICAgbGFzdFRhcmdldEJsb2NrRWxlbSxcbiAgICAgICAgICBwYWdlWSxcbiAgICAgICAgICBhbmNob3JFbGVtLFxuICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgIGRlYnVnSGlnaGxpZ2h0UmVmLFxuICAgICAgICAgIGlzRm91bmROb2RlRW1wdHlQYXJhZ3JhcGgsXG4gICAgICAgIClcblxuICAgICAgICAvLyBQcmV2ZW50IGRlZmF1bHQgZXZlbnQgdG8gYmUgYWJsZSB0byB0cmlnZ2VyIG9uRHJvcCBldmVudHNcbiAgICAgICAgLy8gQ2FsbGluZyBwcmV2ZW50RGVmYXVsdCgpIGFkZHMgdGhlIGdyZWVuIHBsdXMgaWNvbiB0byB0aGUgY3Vyc29yLFxuICAgICAgICAvLyBpbmRpY2F0aW5nIHRoYXQgdGhlIGRyb3AgaXMgYWxsb3dlZC5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaGlkZVRhcmdldExpbmUodGFyZ2V0TGluZUVsZW0sIGxhc3RUYXJnZXRCbG9ja0VsZW0pXG4gICAgICB9XG5cbiAgICAgIHNldExhc3RUYXJnZXRCbG9ja0VsZW0odGFyZ2V0QmxvY2tFbGVtKVxuXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogYm9vbGVhbiB7XG4gICAgICBpZiAoIWlzRHJhZ2dpbmdCbG9ja1JlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgICAgY29uc3QgW2lzRmlsZVRyYW5zZmVyXSA9IGV2ZW50RmlsZXMoZXZlbnQpXG4gICAgICBpZiAoaXNGaWxlVHJhbnNmZXIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgICBjb25zdCB7IGRhdGFUcmFuc2ZlciwgcGFnZVksIHRhcmdldCB9ID0gZXZlbnRcbiAgICAgIGNvbnN0IGRyYWdEYXRhID0gZGF0YVRyYW5zZmVyPy5nZXREYXRhKERSQUdfREFUQV9GT1JNQVQpIHx8ICcnXG5cbiAgICAgIGVkaXRvci51cGRhdGUoKCkgPT4ge1xuICAgICAgICBjb25zdCBkcmFnZ2VkTm9kZSA9ICRnZXROb2RlQnlLZXkoZHJhZ0RhdGEpXG4gICAgICAgIGlmICghZHJhZ2dlZE5vZGUpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzSFRNTEVsZW1lbnQodGFyZ2V0KSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbSA9IGNhbGN1bGF0ZURpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbShcbiAgICAgICAgICBldmVudC5wYWdlWCxcbiAgICAgICAgICBldmVudC5wYWdlWSxcbiAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgMTAwLFxuICAgICAgICAgIDUwLFxuICAgICAgICApXG5cbiAgICAgICAgY29uc3QgeyBibG9ja0VsZW06IHRhcmdldEJsb2NrRWxlbSwgaXNGb3VuZE5vZGVFbXB0eVBhcmFncmFwaCB9ID0gZ2V0Tm9kZUNsb3NlVG9Qb2ludCh7XG4gICAgICAgICAgYW5jaG9yRWxlbSxcbiAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgZnV6enk6IHRydWUsXG4gICAgICAgICAgaG9yaXpvbnRhbE9mZnNldDogLWRpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbSxcbiAgICAgICAgICBwb2ludDogbmV3IFBvaW50KGV2ZW50LngsIGV2ZW50LnkpLFxuICAgICAgICAgIHVzZUVkZ2VBc0RlZmF1bHQ6IHRydWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKCF0YXJnZXRCbG9ja0VsZW0pIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0YXJnZXROb2RlID0gJGdldE5lYXJlc3ROb2RlRnJvbURPTU5vZGUodGFyZ2V0QmxvY2tFbGVtKVxuICAgICAgICBpZiAoIXRhcmdldE5vZGUpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFyZ2V0Tm9kZSA9PT0gZHJhZ2dlZE5vZGUpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBoZWlnaHQ6IHRhcmdldEJsb2NrRWxlbUhlaWdodCwgdG9wOiB0YXJnZXRCbG9ja0VsZW1Ub3AgfSA9XG4gICAgICAgICAgZ2V0Qm91bmRpbmdDbGllbnRSZWN0V2l0aG91dFRyYW5zZm9ybSh0YXJnZXRCbG9ja0VsZW0pXG5cbiAgICAgICAgY29uc3QgbW91c2VZID0gcGFnZVlcbiAgICAgICAgY29uc3QgaXNCZWxvdyA9IG1vdXNlWSA+PSB0YXJnZXRCbG9ja0VsZW1Ub3AgKyB0YXJnZXRCbG9ja0VsZW1IZWlnaHQgLyAyICsgd2luZG93LnNjcm9sbFlcblxuICAgICAgICBpZiAoIWlzRm91bmROb2RlRW1wdHlQYXJhZ3JhcGgpIHtcbiAgICAgICAgICBpZiAoaXNCZWxvdykge1xuICAgICAgICAgICAgLy8gYmVsb3cgdGFyZ2V0QmxvY2tFbGVtXG4gICAgICAgICAgICB0YXJnZXROb2RlLmluc2VydEFmdGVyKGRyYWdnZWROb2RlKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBhYm92ZSB0YXJnZXRCbG9ja0VsZW1cbiAgICAgICAgICAgIHRhcmdldE5vZGUuaW5zZXJ0QmVmb3JlKGRyYWdnZWROb2RlKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvL1xuICAgICAgICAgIHRhcmdldE5vZGUuaW5zZXJ0QmVmb3JlKGRyYWdnZWROb2RlKVxuICAgICAgICAgIHRhcmdldE5vZGUucmVtb3ZlKClcbiAgICAgICAgfVxuXG4gICAgICAgIC8qXG4gICAgICAgIGlmIChwYWdlWSA+PSB0YXJnZXRCbG9ja0VsZW1Ub3AgKyB0YXJnZXRCbG9ja0VsZW1IZWlnaHQgLyAyKSB7XG4gICAgICAgICAgdGFyZ2V0Tm9kZS5pbnNlcnRBZnRlcihkcmFnZ2VkTm9kZSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YXJnZXROb2RlLmluc2VydEJlZm9yZShkcmFnZ2VkTm9kZSlcbiAgICAgICAgfSovXG4gICAgICAgIHNldERyYWdnYWJsZUJsb2NrRWxlbShudWxsKVxuICAgICAgfSlcblxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICAvLyByZWdpc3RlciBvbkRyYWdvdmVyIGV2ZW50IGxpc3RlbmVyczpcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIG9uRHJhZ292ZXIpXG4gICAgLy8gcmVnaXN0ZXIgb25Ecm9wIGV2ZW50IGxpc3RlbmVyczpcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdkcm9wJywgb25Ecm9wKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgb25EcmFnb3ZlcilcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBvbkRyb3ApXG4gICAgfVxuICB9LCBbXG4gICAgYW5jaG9yRWxlbSxcbiAgICBlZGl0b3IsXG4gICAgbGFzdFRhcmdldEJsb2NrRWxlbSxcbiAgICBjYWxjdWxhdGVEaXN0YW5jZUZyb21TY3JvbGxlckVsZW0sXG4gICAgZHJhZ2dhYmxlQmxvY2tFbGVtLFxuICBdKVxuXG4gIGZ1bmN0aW9uIG9uRHJhZ1N0YXJ0KGV2ZW50OiBSZWFjdERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhVHJhbnNmZXIgPSBldmVudC5kYXRhVHJhbnNmZXJcbiAgICBpZiAoIWRhdGFUcmFuc2ZlciB8fCAhZHJhZ2dhYmxlQmxvY2tFbGVtKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc2V0RHJhZ0ltYWdlKGRhdGFUcmFuc2ZlciwgZHJhZ2dhYmxlQmxvY2tFbGVtKVxuICAgIGxldCBub2RlS2V5ID0gJydcbiAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgIGNvbnN0IG5vZGUgPSAkZ2V0TmVhcmVzdE5vZGVGcm9tRE9NTm9kZShkcmFnZ2FibGVCbG9ja0VsZW0pXG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBub2RlS2V5ID0gbm9kZS5nZXRLZXkoKVxuICAgICAgfVxuICAgIH0pXG4gICAgaXNEcmFnZ2luZ0Jsb2NrUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgZGF0YVRyYW5zZmVyLnNldERhdGEoRFJBR19EQVRBX0ZPUk1BVCwgbm9kZUtleSlcbiAgfVxuXG4gIGZ1bmN0aW9uIG9uRHJhZ0VuZCgpOiB2b2lkIHtcbiAgICBpc0RyYWdnaW5nQmxvY2tSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgaGlkZVRhcmdldExpbmUodGFyZ2V0TGluZVJlZi5jdXJyZW50LCBsYXN0VGFyZ2V0QmxvY2tFbGVtKVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT1cImljb24gZHJhZ2dhYmxlLWJsb2NrLW1lbnVcIlxuICAgICAgICBkcmFnZ2FibGVcbiAgICAgICAgb25EcmFnRW5kPXtvbkRyYWdFbmR9XG4gICAgICAgIG9uRHJhZ1N0YXJ0PXtvbkRyYWdTdGFydH1cbiAgICAgICAgcmVmPXttZW51UmVmfVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17aXNFZGl0YWJsZSA/ICdpY29uJyA6ICcnfSAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImRyYWdnYWJsZS1ibG9jay10YXJnZXQtbGluZVwiIHJlZj17dGFyZ2V0TGluZVJlZn0gLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVidWctaGlnaGxpZ2h0XCIgcmVmPXtkZWJ1Z0hpZ2hsaWdodFJlZn0gLz5cbiAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICBhbmNob3JFbGVtLFxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBEcmFnZ2FibGVCbG9ja1BsdWdpbih7XG4gIGFuY2hvckVsZW0gPSBkb2N1bWVudC5ib2R5LFxufToge1xuICBhbmNob3JFbGVtPzogSFRNTEVsZW1lbnRcbn0pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpXG4gIHJldHVybiB1c2VEcmFnZ2FibGVCbG9ja01lbnUoZWRpdG9yLCBhbmNob3JFbGVtLCBlZGl0b3IuX2VkaXRhYmxlKVxufVxuIl0sIm5hbWVzIjpbIkRyYWdnYWJsZUJsb2NrUGx1Z2luIiwiU1BBQ0UiLCJEUkFHR0FCTEVfQkxPQ0tfTUVOVV9DTEFTU05BTUUiLCJEUkFHX0RBVEFfRk9STUFUIiwicHJldkluZGV4IiwiSW5maW5pdHkiLCJnZXRDdXJyZW50SW5kZXgiLCJrZXlzTGVuZ3RoIiwiTWF0aCIsImZsb29yIiwic2V0RHJhZ0ltYWdlIiwiZGF0YVRyYW5zZmVyIiwiZHJhZ2dhYmxlQmxvY2tFbGVtIiwidHJhbnNmb3JtIiwic3R5bGUiLCJzZXRUaW1lb3V0IiwiaGlkZVRhcmdldExpbmUiLCJ0YXJnZXRMaW5lRWxlbSIsImxhc3RUYXJnZXRCbG9ja0VsZW0iLCJvcGFjaXR5IiwidXNlRHJhZ2dhYmxlQmxvY2tNZW51IiwiZWRpdG9yIiwiYW5jaG9yRWxlbSIsImlzRWRpdGFibGUiLCJzY3JvbGxlckVsZW0iLCJwYXJlbnRFbGVtZW50IiwibWVudVJlZiIsInVzZVJlZiIsInRhcmdldExpbmVSZWYiLCJkZWJ1Z0hpZ2hsaWdodFJlZiIsImlzRHJhZ2dpbmdCbG9ja1JlZiIsInNldERyYWdnYWJsZUJsb2NrRWxlbSIsInVzZVN0YXRlIiwic2V0TGFzdFRhcmdldEJsb2NrRWxlbSIsImNhbGN1bGF0ZURpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbSIsInVzZUNhbGxiYWNrIiwicGFnZVgiLCJwYWdlWSIsInRhcmdldCIsImhvcml6b250YWxCdWZmZXIiLCJ2ZXJ0aWNhbEJ1ZmZlciIsImRpc3RhbmNlRnJvbVNjcm9sbGVyRWxlbSIsImNvbnRhaW5zIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwidG9wIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYWRqdXN0ZWRUb3AiLCJ3aW5kb3ciLCJzY3JvbGxZIiwiYWRqdXN0ZWRCb3R0b20iLCJ1c2VFZmZlY3QiLCJvbkRvY3VtZW50TW91c2VNb3ZlIiwiZXZlbnQiLCJpc0hUTUxFbGVtZW50IiwiaXNPbkhhbmRsZUVsZW1lbnQiLCJ0b3BMZXZlbE5vZGVLZXlzIiwiZ2V0VG9wTGV2ZWxOb2RlS2V5cyIsImJsb2NrRWxlbSIsIl9kcmFnZ2FibGVCbG9ja0VsZW0iLCJmb3VuZEF0SW5kZXgiLCJpc0ZvdW5kTm9kZUVtcHR5UGFyYWdyYXBoIiwiZ2V0Tm9kZUNsb3NlVG9Qb2ludCIsImNhY2hlX3RyZXNob2xkIiwiaG9yaXpvbnRhbE9mZnNldCIsInBvaW50IiwiUG9pbnQiLCJ4IiwieSIsInN0YXJ0SW5kZXgiLCJsZW5ndGgiLCJ1c2VFZGdlQXNEZWZhdWx0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImN1cnJlbnQiLCJzZXRIYW5kbGVQb3NpdGlvbiIsIm9uRHJhZ292ZXIiLCJpc0ZpbGVUcmFuc2ZlciIsImV2ZW50RmlsZXMiLCJ0YXJnZXRCbG9ja0VsZW0iLCJmdXp6eSIsInZlcmJvc2UiLCJzZXRUYXJnZXRMaW5lIiwicHJldmVudERlZmF1bHQiLCJvbkRyb3AiLCJkcmFnRGF0YSIsImdldERhdGEiLCJ1cGRhdGUiLCJkcmFnZ2VkTm9kZSIsIiRnZXROb2RlQnlLZXkiLCJ0YXJnZXROb2RlIiwiJGdldE5lYXJlc3ROb2RlRnJvbURPTU5vZGUiLCJoZWlnaHQiLCJ0YXJnZXRCbG9ja0VsZW1IZWlnaHQiLCJ0YXJnZXRCbG9ja0VsZW1Ub3AiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3RXaXRob3V0VHJhbnNmb3JtIiwibW91c2VZIiwiaXNCZWxvdyIsImluc2VydEFmdGVyIiwiaW5zZXJ0QmVmb3JlIiwicmVtb3ZlIiwib25EcmFnU3RhcnQiLCJub2RlS2V5Iiwibm9kZSIsImdldEtleSIsInNldERhdGEiLCJvbkRyYWdFbmQiLCJjcmVhdGVQb3J0YWwiLCJSZWFjdCIsIkZyYWdtZW50IiwiZGl2IiwiY2xhc3NOYW1lIiwiZHJhZ2dhYmxlIiwicmVmIiwiYm9keSIsInVzZUxleGljYWxDb21wb3NlckNvbnRleHQiLCJfZWRpdGFibGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkFpWWdCQTs7O2VBQUFBOzs7d0NBN1gwQjswQkFDZjt5QkFDK0I7K0RBQ25DOzBCQUVNO3VCQUVDO3VCQUNSO3FDQUNjO21DQUNGO21DQUNBO2lEQUNvQjtxQ0FDbEI7UUFDN0I7K0JBQ3VCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTlCLE1BQU1DLFFBQVEsQ0FBQztBQUNmLE1BQU1DLGlDQUFpQztBQUN2QyxNQUFNQyxtQkFBbUI7QUFFekIsSUFBSUMsWUFBWUM7QUFFaEIsU0FBU0MsZ0JBQWdCQyxVQUFrQjtJQUN6QyxJQUFJQSxlQUFlLEdBQUc7UUFDcEIsT0FBT0Y7SUFDVDtJQUNBLElBQUlELGFBQWEsS0FBS0EsWUFBWUcsWUFBWTtRQUM1QyxPQUFPSDtJQUNUO0lBRUEsT0FBT0ksS0FBS0MsS0FBSyxD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
@@ -42,7 +42,6 @@
42
42
  font-size: 2rem;
43
43
  color: rgb(5, 5, 5);
44
44
  font-weight: 700;
45
- text-transform: uppercase;
46
45
  margin-top: 1.8rem;
47
46
  margin-bottom: 1rem;
48
47
  }
@@ -51,7 +50,6 @@
51
50
  font-size: 1.4rem;
52
51
  color: rgb(101, 103, 107);
53
52
  font-weight: 700;
54
- text-transform: uppercase;
55
53
  margin-top: 1.4rem;
56
54
  margin-bottom: 1rem;
57
55
  }
package/dist/index.d.ts CHANGED
@@ -12,7 +12,10 @@ export type LexicalEditorProps = {
12
12
  }) => FeatureProvider[]) | FeatureProvider[];
13
13
  lexical?: LexicalEditorConfig;
14
14
  };
15
- export declare function lexicalEditor(props?: LexicalEditorProps): RichTextAdapter<SerializedEditorState, AdapterProps>;
15
+ export type LexicalRichTextAdapter = RichTextAdapter<SerializedEditorState, AdapterProps> & {
16
+ editorConfig: SanitizedEditorConfig;
17
+ };
18
+ export declare function lexicalEditor(props?: LexicalEditorProps): LexicalRichTextAdapter;
16
19
  export { BlockQuoteFeature } from './field/features/BlockQuote';
17
20
  export { BlocksFeature } from './field/features/Blocks';
18
21
  export { $createBlockNode, $isBlockNode, type BlockFields, BlockNode, type SerializedBlockNode, } from './field/features/Blocks/nodes/BlocksNode';
@@ -29,6 +32,14 @@ export type { UploadFeatureProps } from './field/features/Upload';
29
32
  export { $createUploadNode, $isUploadNode, RawUploadPayload, type SerializedUploadNode, type UploadData, UploadNode, } from './field/features/Upload/nodes/UploadNode';
30
33
  export { AlignFeature } from './field/features/align';
31
34
  export { TextDropdownSectionWithEntries } from './field/features/common/floatingSelectToolbarTextDropdownSection';
35
+ export { HTMLConverterFeature, type HTMLConverterFeatureProps, } from './field/features/converters/html';
36
+ export { convertLexicalNodesToHTML, convertLexicalToHTML, } from './field/features/converters/html/converter';
37
+ export { LinebreakHTMLConverter } from './field/features/converters/html/converter/converters/linebreak';
38
+ export { ParagraphHTMLConverter } from './field/features/converters/html/converter/converters/paragraph';
39
+ export { TextHTMLConverter } from './field/features/converters/html/converter/converters/text';
40
+ export { defaultHTMLConverters } from './field/features/converters/html/converter/defaultConverters';
41
+ export type { HTMLConverter } from './field/features/converters/html/converter/types';
42
+ export { lexicalHTML } from './field/features/converters/html/field';
32
43
  export { TreeviewFeature } from './field/features/debug/TreeView';
33
44
  export { BoldTextFeature } from './field/features/format/Bold';
34
45
  export { InlineCodeTextFeature } from './field/features/format/InlineCode';
@@ -44,7 +55,19 @@ export { OrderedListFeature } from './field/features/lists/OrderedList';
44
55
  export { UnoderedListFeature } from './field/features/lists/UnorderedList';
45
56
  export { LexicalPluginToLexicalFeature } from './field/features/migrations/LexicalPluginToLexical';
46
57
  export { SlateToLexicalFeature } from './field/features/migrations/SlateToLexical';
47
- export type { AfterReadPromise, Feature, FeatureProvider, FeatureProviderMap, NodeValidation, ResolvedFeature, ResolvedFeatureMap, SanitizedFeatures, } from './field/features/types';
58
+ export { SlateHeadingConverter } from './field/features/migrations/SlateToLexical/converter/converters/heading';
59
+ export { SlateIndentConverter } from './field/features/migrations/SlateToLexical/converter/converters/indent';
60
+ export { SlateLinkConverter } from './field/features/migrations/SlateToLexical/converter/converters/link';
61
+ export { SlateListItemConverter } from './field/features/migrations/SlateToLexical/converter/converters/listItem';
62
+ export { SlateOrderedListConverter } from './field/features/migrations/SlateToLexical/converter/converters/orderedList';
63
+ export { SlateRelationshipConverter } from './field/features/migrations/SlateToLexical/converter/converters/relationship';
64
+ export { SlateUnknownConverter } from './field/features/migrations/SlateToLexical/converter/converters/unknown';
65
+ export { SlateUnorderedListConverter } from './field/features/migrations/SlateToLexical/converter/converters/unorderedList';
66
+ export { SlateUploadConverter } from './field/features/migrations/SlateToLexical/converter/converters/upload';
67
+ export { defaultSlateConverters } from './field/features/migrations/SlateToLexical/converter/defaultConverters';
68
+ export { convertSlateNodesToLexical, convertSlateToLexical, } from './field/features/migrations/SlateToLexical/converter/index';
69
+ export type { SlateNode, SlateNodeConverter, } from './field/features/migrations/SlateToLexical/converter/types';
70
+ export type { Feature, FeatureProvider, FeatureProviderMap, NodeValidation, PopulationPromise, ResolvedFeature, ResolvedFeatureMap, SanitizedFeatures, } from './field/features/types';
48
71
  export { EditorConfigProvider, useEditorConfigContext, } from './field/lexical/config/EditorConfigProvider';
49
72
  export { defaultEditorConfig, defaultEditorFeatures, defaultEditorLexicalConfig, defaultSanitizedEditorConfig, } from './field/lexical/config/default';
50
73
  export { loadFeatures, sortFeaturesForOptimalLoading } from './field/lexical/config/loader';
@@ -53,12 +76,12 @@ export { getEnabledNodes } from './field/lexical/nodes';
53
76
  export { ToolbarButton } from './field/lexical/plugins/FloatingSelectToolbar/ToolbarButton';
54
77
  export { ToolbarDropdown } from './field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index';
55
78
  export { type FloatingToolbarSection, type FloatingToolbarSectionEntry, } from './field/lexical/plugins/FloatingSelectToolbar/types';
56
- export { SlashMenuGroup, SlashMenuOption, } from './field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu';
79
+ export { ENABLE_SLASH_MENU_COMMAND } from './field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index';
57
80
  export type { EditorConfig, SanitizedEditorConfig };
58
81
  export type { AdapterProps };
59
82
  export { RichTextCell };
60
83
  export { RichTextField };
61
- export { ENABLE_SLASH_MENU_COMMAND } from './field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index';
84
+ export { SlashMenuGroup, SlashMenuOption, } from './field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types';
62
85
  export { CAN_USE_DOM } from './field/lexical/utils/canUseDOM';
63
86
  export { cloneDeep } from './field/lexical/utils/cloneDeep';
64
87
  export { getDOMRangeRect } from './field/lexical/utils/getDOMRangeRect';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}