@payloadcms/richtext-lexical 0.4.1 → 0.5.1

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 (78) hide show
  1. package/dist/field/features/Blocks/component/BlockContent.js +6 -6
  2. package/dist/field/features/Blocks/plugin/index.d.ts.map +1 -1
  3. package/dist/field/features/Blocks/plugin/index.js +11 -2
  4. package/dist/field/features/Link/drawer/baseFields.d.ts.map +1 -1
  5. package/dist/field/features/Link/drawer/baseFields.js +23 -3
  6. package/dist/field/features/Link/index.d.ts.map +1 -1
  7. package/dist/field/features/Link/index.js +6 -3
  8. package/dist/field/features/Link/nodes/AutoLinkNode.d.ts.map +1 -1
  9. package/dist/field/features/Link/nodes/AutoLinkNode.js +6 -2
  10. package/dist/field/features/Link/nodes/LinkNode.d.ts +1 -9
  11. package/dist/field/features/Link/nodes/LinkNode.d.ts.map +1 -1
  12. package/dist/field/features/Link/nodes/LinkNode.js +7 -9
  13. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  14. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.js +2 -7
  15. package/dist/field/features/Link/populationPromise.d.ts.map +1 -1
  16. package/dist/field/features/Link/populationPromise.js +3 -3
  17. package/dist/field/features/Relationship/plugins/index.d.ts.map +1 -1
  18. package/dist/field/features/Relationship/plugins/index.js +11 -2
  19. package/dist/field/features/Relationship/utils/EnabledRelationshipsCondition.d.ts.map +1 -1
  20. package/dist/field/features/Relationship/utils/EnabledRelationshipsCondition.js +10 -3
  21. package/dist/field/features/Upload/index.d.ts.map +1 -1
  22. package/dist/field/features/Upload/index.js +33 -5
  23. package/dist/field/features/Upload/plugin/index.d.ts.map +1 -1
  24. package/dist/field/features/Upload/plugin/index.js +11 -2
  25. package/dist/field/features/converters/html/field/index.js +5 -3
  26. package/dist/field/features/debug/TreeView/index.d.ts +1 -1
  27. package/dist/field/features/debug/TreeView/index.js +4 -4
  28. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/link.d.ts.map +1 -1
  29. package/dist/field/features/migrations/LexicalPluginToLexical/converter/converters/link.js +3 -5
  30. package/dist/field/features/migrations/SlateToLexical/converter/converters/blockquote.d.ts +3 -0
  31. package/dist/field/features/migrations/SlateToLexical/converter/converters/blockquote.d.ts.map +1 -0
  32. package/dist/field/features/migrations/SlateToLexical/converter/converters/blockquote.js +33 -0
  33. package/dist/field/features/migrations/SlateToLexical/converter/converters/link.d.ts.map +1 -1
  34. package/dist/field/features/migrations/SlateToLexical/converter/converters/link.js +4 -3
  35. package/dist/field/features/migrations/SlateToLexical/converter/defaultConverters.d.ts.map +1 -1
  36. package/dist/field/features/migrations/SlateToLexical/converter/defaultConverters.js +3 -1
  37. package/dist/field/lexical/LexicalEditor.scss +0 -1
  38. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js +2 -2
  39. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts +2 -1
  40. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts.map +1 -1
  41. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +6 -4
  42. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts.map +1 -1
  43. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +5 -3
  44. package/dist/field/lexical/plugins/SlashMenu/index.scss +1 -1
  45. package/dist/field/lexical/ui/ContentEditable.scss +0 -1
  46. package/dist/field/lexical/utils/environment.d.ts.map +1 -1
  47. package/dist/field/lexical/utils/environment.js +2 -8
  48. package/dist/field/lexical/utils/getSelectedNode.d.ts.map +1 -1
  49. package/dist/field/lexical/utils/getSelectedNode.js +2 -8
  50. package/dist/field/lexical/utils/guard.d.ts +0 -7
  51. package/dist/field/lexical/utils/guard.d.ts.map +1 -1
  52. package/dist/field/lexical/utils/guard.js +2 -8
  53. package/dist/field/lexical/utils/joinClasses.d.ts +0 -7
  54. package/dist/field/lexical/utils/joinClasses.d.ts.map +1 -1
  55. package/dist/field/lexical/utils/joinClasses.js +2 -8
  56. package/dist/field/lexical/utils/nodeFormat.d.ts +0 -7
  57. package/dist/field/lexical/utils/nodeFormat.d.ts.map +1 -1
  58. package/dist/field/lexical/utils/nodeFormat.js +2 -2
  59. package/dist/field/lexical/utils/point.d.ts +0 -7
  60. package/dist/field/lexical/utils/point.d.ts.map +1 -1
  61. package/dist/field/lexical/utils/point.js +2 -8
  62. package/dist/field/lexical/utils/rect.d.ts +0 -7
  63. package/dist/field/lexical/utils/rect.d.ts.map +1 -1
  64. package/dist/field/lexical/utils/rect.js +2 -8
  65. package/dist/field/lexical/utils/setFloatingElemPosition.d.ts.map +1 -1
  66. package/dist/field/lexical/utils/setFloatingElemPosition.js +2 -8
  67. package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.d.ts.map +1 -1
  68. package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.js +2 -8
  69. package/dist/field/lexical/utils/swipe.d.ts +0 -7
  70. package/dist/field/lexical/utils/swipe.d.ts.map +1 -1
  71. package/dist/field/lexical/utils/swipe.js +2 -8
  72. package/dist/field/lexical/utils/url.d.ts +0 -7
  73. package/dist/field/lexical/utils/url.d.ts.map +1 -1
  74. package/dist/field/lexical/utils/url.js +12 -9
  75. package/dist/index.d.ts +2 -1
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +7 -3
  78. package/package.json +3 -3
@@ -98,17 +98,17 @@ const BlockContent = (props)=>{
98
98
  // does not have, even if it's undefined.
99
99
  // Currently, this happens if a block has another sub-blocks field. Inside of formData, that sub-blocks field has an undefined blockName property.
100
100
  // Inside of fields.data however, that sub-blocks blockName property does not exist at all.
101
- function removeUndefinedRecursively(obj) {
101
+ function removeUndefinedAndNullRecursively(obj) {
102
102
  Object.keys(obj).forEach((key)=>{
103
103
  if (obj[key] && typeof obj[key] === 'object') {
104
- removeUndefinedRecursively(obj[key]);
105
- } else if (obj[key] === undefined) {
104
+ removeUndefinedAndNullRecursively(obj[key]);
105
+ } else if (obj[key] === undefined || obj[key] === null) {
106
106
  delete obj[key];
107
107
  }
108
108
  });
109
109
  }
110
- removeUndefinedRecursively(newFormData);
111
- removeUndefinedRecursively(formData);
110
+ removeUndefinedAndNullRecursively(newFormData);
111
+ removeUndefinedAndNullRecursively(formData);
112
112
  // Only update if the data has actually changed. Otherwise, we may be triggering an unnecessary value change,
113
113
  // which would trigger the "Leave without saving" dialog unnecessarily
114
114
  if (!(0, _deepequal.default)(formData, newFormData)) {
@@ -215,4 +215,4 @@ const BlockContent = (props)=>{
215
215
  }));
216
216
  };
217
217
 
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvY29tcG9uZW50L0Jsb2NrQ29udGVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCbG9jaywgRGF0YSwgRmllbGQsIEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQgfSBmcm9tICdAbGV4aWNhbC9yZWFjdC9MZXhpY2FsQ29tcG9zZXJDb250ZXh0J1xuaW1wb3J0IGlzRGVlcEVxdWFsIGZyb20gJ2RlZXAtZXF1YWwnXG5pbXBvcnQgeyAkZ2V0Tm9kZUJ5S2V5IH0gZnJvbSAnbGV4aWNhbCdcbmltcG9ydCB7IEJ1dHRvbiwgRXJyb3JQaWxsLCBQaWxsIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzJ1xuaW1wb3J0IHsgQ29sbGFwc2libGUgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvZWxlbWVudHMnXG5pbXBvcnQgeyBTZWN0aW9uVGl0bGUgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvZmllbGRzL0Jsb2NrcydcbmltcG9ydCB7IFJlbmRlckZpZWxkcywgY3JlYXRlTmVzdGVkRmllbGRQYXRoLCB1c2VGb3JtU3VibWl0dGVkIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL2Zvcm1zJ1xuaW1wb3J0IHsgdXNlRG9jdW1lbnRJbmZvIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL3V0aWxpdGllcydcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBGaWVsZFByb3BzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJsb2NrRmllbGRzLCBCbG9ja05vZGUgfSBmcm9tICcuLi9ub2Rlcy9CbG9ja3NOb2RlJ1xuXG5pbXBvcnQgeyBGb3JtU2F2ZVBsdWdpbiB9IGZyb20gJy4vRm9ybVNhdmVQbHVnaW4nXG5cbnR5cGUgUHJvcHMgPSB7XG4gIGJhc2VDbGFzczogc3RyaW5nXG4gIGJsb2NrOiBCbG9ja1xuICBmaWVsZDogRmllbGRQcm9wc1xuICBmb3JtRGF0YTogQmxvY2tGaWVsZHNcbiAgZm9ybVNjaGVtYTogRmllbGRbXVxuICBub2RlS2V5OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBUaGUgYWN0dWFsIGNvbnRlbnQgb2YgdGhlIEJsb2NrLiBUaGlzIHNob3VsZCBiZSBJTlNJREUgYSBGb3JtIGNvbXBvbmVudCxcbiAqIHNjb3BlZCB0byB0aGUgYmxvY2suIEFsbCBmb3JtYXQgb3BlcmF0aW9ucyBpbiBoZXJlIGFyZSB0aHVzIHNjb3BlZCB0byB0aGUgYmxvY2sncyBmb3JtLCBhbmRcbiAqIG5vdCB0aGUgd2hvbGUgZG9jdW1lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBCbG9ja0NvbnRlbnQ6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgYmFzZUNsYXNzLFxuICAgIGJsb2NrOiB7IGxhYmVscyB9LFxuICAgIGZpZWxkLFxuICAgIGZvcm1EYXRhLFxuICAgIGZvcm1TY2hlbWEsXG4gICAgbm9kZUtleSxcbiAgfSA9IHByb3BzXG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuICAvLyBVc2VkIGZvciBzYXZpbmcgY29sbGFwc2VkIHRvIHByZWZlcmVuY2VzIChhbmQgZ2V0dGluJyBpdCBmcm9tIHRoZXJlIGFnYWluKVxuICAvLyBSZW1lbWJlciwgdGhlc2UgcHJlZmVyZW5jZXMgYXJlIHNjb3BlZCB0byB0aGUgd2hvbGUgZG9jdW1lbnQsIG5vdCBqdXN0IHRoaXMgZm9ybS4gVGhpc1xuICAvLyBpcyBpbXBvcnRhbnQgdG8gY29uc2lkZXIgZm9yIHRoZSBkYXRhIHBhdGggdXNlZCBpbiBzZXREb2NGaWVsZFByZWZlcmVuY2VzXG4gIGNvbnN0IHsgZ2V0RG9jUHJlZmVyZW5jZXMsIHNldERvY0ZpZWxkUHJlZmVyZW5jZXMgfSA9IHVzZURvY3VtZW50SW5mbygpXG5cbiAgY29uc3QgW2NvbGxhcHNlZCwgc2V0Q29sbGFwc2VkXSA9IFJlYWN0LnVzZVN0YXRlPGJvb2xlYW4+KCgpID0+IHtcbiAgICBsZXQgaW5pdGlhbFN0YXRlID0gZmFsc2VcblxuICAgIGdldERvY1ByZWZlcmVuY2VzKCkudGhlbigoY3VycmVudERvY1ByZWZlcmVuY2VzKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50RmllbGRQcmVmZXJlbmNlcyA9IGN1cnJlbnREb2NQcmVmZXJlbmNlcz8uZmllbGRzW2ZpZWxkLm5hbWVdXG5cbiAgICAgIGNvbnN0IGNvbGxhcHNlZE1hcDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSBjdXJyZW50RmllbGRQcmVmZXJlbmNlcz8uY29sbGFwc2VkXG5cbiAgICAgIGlmIChjb2xsYXBzZWRNYXAgJiYgY29sbGFwc2VkTWFwW2Zvcm1EYXRhLmlkXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHNldENvbGxhcHNlZChjb2xsYXBzZWRNYXBbZm9ybURhdGEuaWRdKVxuICAgICAgICBpbml0aWFsU3RhdGUgPSBjb2xsYXBzZWRNYXBbZm9ybURhdGEuaWRdXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gaW5pdGlhbFN0YXRlXG4gIH0pXG4gIGNvbnN0IGhhc1N1Ym1pdHRlZCA9IHVzZUZvcm1TdWJtaXR0ZWQoKVxuXG4gIGNvbnN0IFtlcnJvckNvdW50LCBzZXRFcnJvckNvdW50XSA9IFJlYWN0LnVzZVN0YXRlKDApXG5cbiAgY29uc3QgZmllbGRIYXNFcnJvcnMgPSBoYXNTdWJtaXR0ZWQgJiYgZXJyb3JDb3VudCA+IDBcblxuICBjb25zdCBjbGFzc05hbWVzID0gW1xuICAgIGAke2Jhc2VDbGFzc31fX3Jvd2AsXG4gICAgZmllbGRIYXNFcnJvcnMgPyBgJHtiYXNlQ2xhc3N9X19yb3ctLWhhcy1lcnJvcnNgIDogYCR7YmFzZUNsYXNzfV9fcm93LS1uby1lcnJvcnNgLFxuICBdXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5qb2luKCcgJylcblxuICBjb25zdCBwYXRoID0gJycgYXMgY29uc3RcblxuICBjb25zdCBvbkZvcm1DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgZnVsbEZpZWxkc1dpdGhWYWx1ZXMsXG4gICAgICBuZXdGb3JtRGF0YSxcbiAgICB9OiB7XG4gICAgICBmdWxsRmllbGRzV2l0aFZhbHVlczogRmllbGRzXG4gICAgICBuZXdGb3JtRGF0YTogRGF0YVxuICAgIH0pID0+IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZWx5IHJlbW92ZSBhbGwgdW5kZWZpbmVkIHZhbHVlcyBmcm9tIGV2ZW4gYmVpbmcgcHJlc2VudCBpbiBmb3JtRGF0YSwgYXMgdGhleSB3aWxsXG4gICAgICAvLyBjYXVzZSBpc0RlZXBFcXVhbCB0byByZXR1cm4gZmFsc2UgaWYsIGZvciBleGFtcGxlLCBmb3JtRGF0YSBoYXMgYSBrZXkgdGhhdCBmaWVsZHMuZGF0YVxuICAgICAgLy8gZG9lcyBub3QgaGF2ZSwgZXZlbiBpZiBpdCdzIHVuZGVmaW5lZC5cbiAgICAgIC8vIEN1cnJlbnRseSwgdGhpcyBoYXBwZW5zIGlmIGEgYmxvY2sgaGFzIGFub3RoZXIgc3ViLWJsb2NrcyBmaWVsZC4gSW5zaWRlIG9mIGZvcm1EYXRhLCB0aGF0IHN1Yi1ibG9ja3MgZmllbGQgaGFzIGFuIHVuZGVmaW5lZCBibG9ja05hbWUgcHJvcGVydHkuXG4gICAgICAvLyBJbnNpZGUgb2YgZmllbGRzLmRhdGEgaG93ZXZlciwgdGhhdCBzdWItYmxvY2tzIGJsb2NrTmFtZSBwcm9wZXJ0eSBkb2VzIG5vdCBleGlzdCBhdCBhbGwuXG4gICAgICBmdW5jdGlvbiByZW1vdmVVbmRlZmluZWRSZWN1cnNpdmVseShvYmo6IG9iamVjdCkge1xuICAgICAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgIGlmIChvYmpba2V5XSAmJiB0eXBlb2Ygb2JqW2tleV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICByZW1vdmVVbmRlZmluZWRSZWN1cnNpdmVseShvYmpba2V5XSlcbiAgICAgICAgICB9IGVsc2UgaWYgKG9ialtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRlbGV0ZSBvYmpba2V5XVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHJlbW92ZVVuZGVmaW5lZFJlY3Vyc2l2ZWx5KG5ld0Zvcm1EYXRhKVxuICAgICAgcmVtb3ZlVW5kZWZpbmVkUmVjdXJzaXZlbHkoZm9ybURhdGEpXG5cbiAgICAgIC8vIE9ubHkgdXBkYXRlIGlmIHRoZSBkYXRhIGhhcyBhY3R1YWxseSBjaGFuZ2VkLiBPdGhlcndpc2UsIHdlIG1heSBiZSB0cmlnZ2VyaW5nIGFuIHVubmVjZXNzYXJ5IHZhbHVlIGNoYW5nZSxcbiAgICAgIC8vIHdoaWNoIHdvdWxkIHRyaWdnZXIgdGhlIFwiTGVhdmUgd2l0aG91dCBzYXZpbmdcIiBkaWFsb2cgdW5uZWNlc3NhcmlseVxuICAgICAgaWYgKCFpc0RlZXBFcXVhbChmb3JtRGF0YSwgbmV3Rm9ybURhdGEpKSB7XG4gICAgICAgIC8vIFJ1bm5pbmcgdGhpcyBpbiB0aGUgbmV4dCB0aWNrIGluIHRoZSBtZWFudGltZSBmaXhlcyB0aGlzIGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vcGF5bG9hZGNtcy9wYXlsb2FkL2lzc3Vlcy80MTA4XG4gICAgICAgIC8vIEkgZG9uJ3Qga25vdyB3aHkuIFdoZW4gdGhpcyBpcyBjYWxsZWQgaW1tZWRpYXRlbHksIGl0IG1pZ2h0IGZvY3VzIG91dCBvZiBhIG5lc3RlZCBsZXhpY2FsIGVkaXRvciBmaWVsZCBpZiBhbiB1cGRhdGUgaXMgbWFkZSB0aGVyZS5cbiAgICAgICAgLy8gTXkgaHlwb3RoZXNpcyBpcyB0aGF0IHRoZSBuZXN0ZWQgZWRpdG9yIG1pZ2h0IG5vdCBoYXZlIGZ1bGx5IGZpbmlzaGVkIGl0cyB1cGRhdGUgY3ljbGUgeWV0LiBCeSB1cGRhdGluZyBpbiB0aGUgbmV4dCB0aWNrLCB3ZVxuICAgICAgICAvLyBlbnN1cmUgdGhhdCB0aGUgbmVzdGVkIGVkaXRvciBoYXMgZmluaXNoZWQgaXRzIHVwZGF0ZSBjeWNsZSBiZWZvcmUgd2UgdXBkYXRlIHRoZSBibG9jayBub2RlLlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGU6IEJsb2NrTm9kZSA9ICRnZXROb2RlQnlLZXkobm9kZUtleSlcbiAgICAgICAgICAgIGlmIChub2RlKSB7XG4gICAgICAgICAgICAgIG5vZGUuc2V0RmllbGRzKG5ld0Zvcm1EYXRhIGFzIEJsb2NrRmllbGRzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH0sIDApXG4gICAgICB9XG5cbiAgICAgIC8vIHVwZGF0ZSBlcnJvciBjb3VudFxuICAgICAgaWYgKGhhc1N1Ym1pdHRlZCkge1xuICAgICAgICBsZXQgcm93RXJyb3JDb3VudCA9IDBcbiAgICAgICAgZm9yIChjb25zdCBmb3JtRmllbGQgb2YgT2JqZWN0LnZhbHVlcyhmdWxsRmllbGRzV2l0aFZhbHVlcykpIHtcbiAgICAgICAgICBpZiAoZm9ybUZpZWxkPy52YWxpZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJvd0Vycm9yQ291bnQrK1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzZXRFcnJvckNvdW50KHJvd0Vycm9yQ291bnQpXG4gICAgICB9XG4gICAgfSxcbiAgICBbZWRpdG9yLCBub2RlS2V5LCBoYXNTdWJtaXR0ZWQsIGZvcm1EYXRhXSxcbiAgKVxuXG4gIGNvbnN0IG9uQ29sbGFwc2VkQ2hhbmdlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGdldERvY1ByZWZlcmVuY2VzKCkudGhlbigoY3VycmVudERvY1ByZWZlcmVuY2VzKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50RmllbGRQcmVmZXJlbmNlcyA9IGN1cnJlbnREb2NQcmVmZXJlbmNlcz8uZmllbGRzW2ZpZWxkLm5hbWVdXG5cbiAgICAgIGNvbnN0IGNvbGxhcHNlZE1hcDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSBjdXJyZW50RmllbGRQcmVmZXJlbmNlcz8uY29sbGFwc2VkXG5cbiAgICAgIGNvbnN0IG5ld0NvbGxhcHNlZDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPVxuICAgICAgICBjb2xsYXBzZWRNYXAgJiYgY29sbGFwc2VkTWFwPy5zaXplID8gY29sbGFwc2VkTWFwIDoge31cblxuICAgICAgbmV3Q29sbGFwc2VkW2Zvcm1EYXRhLmlkXSA9ICFjb2xsYXBzZWRcblxuICAgICAgc2V0RG9jRmllbGRQcmVmZXJlbmNlcyhmaWVsZC5uYW1lLCB7XG4gICAgICAgIGNvbGxhcHNlZDogbmV3Q29sbGFwc2VkLFxuICAgICAgfSlcbiAgICB9KVxuICB9LCBbY29sbGFwc2VkLCBnZXREb2NQcmVmZXJlbmNlcywgZmllbGQubmFtZSwgc2V0RG9jRmllbGRQcmVmZXJlbmNlcywgZm9ybURhdGEuaWRdKVxuXG4gIGNvbnN0IHJlbW92ZUJsb2NrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGVkaXRvci51cGRhdGUoKCkgPT4ge1xuICAgICAgJGdldE5vZGVCeUtleShub2RlS2V5KS5yZW1vdmUoKVxuICAgIH0pXG4gIH0sIFtlZGl0b3IsIG5vZGVLZXldKVxuXG4gIGNvbnN0IGZpZWxkU2NoZW1hV2l0aFBhdGggPSBmb3JtU2NoZW1hLm1hcCgoZmllbGQpID0+ICh7XG4gICAgLi4uZmllbGQsXG4gICAgcGF0aDogY3JlYXRlTmVzdGVkRmllbGRQYXRoKG51bGwsIGZpZWxkKSxcbiAgfSkpXG5cbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8Q29sbGFwc2libGVcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzfVxuICAgICAgICBjb2xsYXBzZWQ9e2NvbGxhcHNlZH1cbiAgICAgICAgY29sbGFwc2libGVTdHlsZT17ZmllbGRIYXNFcnJvcnMgPyAnZXJyb3InIDogJ2RlZmF1bHQnfVxuICAgICAgICBoZWFkZXI9e1xuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19ibG9jay1oZWFkZXJgfT5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxQaWxsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19ibG9jay1waWxsICR7YmFzZUNsYXNzfV9fYmxvY2stcGlsbC0ke2Zvcm1EYXRhPy5ibG9ja1R5cGV9YH1cbiAgICAgICAgICAgICAgICBwaWxsU3R5bGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Z2V0VHJhbnNsYXRpb24obGFiZWxzLnNpbmd1bGFyLCBpMThuKX1cbiAgICAgICAgICAgICAgPC9QaWxsPlxuICAgICAgICAgICAgICA8U2VjdGlvblRpdGxlIHBhdGg9e2Ake3BhdGh9YmxvY2tOYW1lYH0gcmVhZE9ubHk9e2ZpZWxkPy5hZG1pbj8ucmVhZE9ubHl9IC8+XG4gICAgICAgICAgICAgIHtmaWVsZEhhc0Vycm9ycyAmJiA8RXJyb3JQaWxsIGNvdW50PXtlcnJvckNvdW50fSB3aXRoTWVzc2FnZSAvPn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2VkaXRvci5pc0VkaXRhYmxlKCkgJiYgKFxuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3JlbW92ZUJ1dHRvbmB9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpZWxkPy5hZG1pbj8ucmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgaWNvbj1cInhcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgIHJlbW92ZUJsb2NrKClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHJvdW5kXG4gICAgICAgICAgICAgICAgdG9vbHRpcD1cIlJlbW92ZSBCbG9ja1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIGtleT17MH1cbiAgICAgICAgb25Ub2dnbGU9eyhjb2xsYXBzZWQpID0+IHtcbiAgICAgICAgICBzZXRDb2xsYXBzZWQoY29sbGFwc2VkKVxuICAgICAgICAgIG9uQ29sbGFwc2VkQ2hhbmdlKClcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFJlbmRlckZpZWxkc1xuICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZmllbGRzYH1cbiAgICAgICAgICBmaWVsZFNjaGVtYT17ZmllbGRTY2hlbWFXaXRoUGF0aH1cbiAgICAgICAgICBmaWVsZFR5cGVzPXtmaWVsZC5maWVsZFR5cGVzfVxuICAgICAgICAgIGZvcmNlUmVuZGVyXG4gICAgICAgICAgbWFyZ2lucz1cInNtYWxsXCJcbiAgICAgICAgICBwZXJtaXNzaW9ucz17ZmllbGQucGVybWlzc2lvbnM/LmJsb2Nrcz8uW2Zvcm1EYXRhPy5ibG9ja1R5cGVdPy5maWVsZHN9XG4gICAgICAgICAgcmVhZE9ubHk9e2ZpZWxkLmFkbWluLnJlYWRPbmx5fVxuICAgICAgICAvPlxuICAgICAgPC9Db2xsYXBzaWJsZT5cblxuICAgICAgPEZvcm1TYXZlUGx1Z2luIG9uQ2hhbmdlPXtvbkZvcm1DaGFuZ2V9IC8+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkJsb2NrQ29udGVudCIsInByb3BzIiwiYmFzZUNsYXNzIiwiYmxvY2siLCJsYWJlbHMiLCJmaWVsZCIsImZvcm1EYXRhIiwiZm9ybVNjaGVtYSIsIm5vZGVLZXkiLCJpMThuIiwidXNlVHJhbnNsYXRpb24iLCJlZGl0b3IiLCJ1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IiwiZ2V0RG9jUHJlZmVyZW5jZXMiLCJzZXREb2NGaWVsZFByZWZlcmVuY2VzIiwidXNlRG9jdW1lbnRJbmZvIiwiY29sbGFwc2VkIiwic2V0Q29sbGFwc2VkIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsImluaXRpYWxTdGF0ZSIsInRoZW4iLCJjdXJyZW50RG9jUHJlZmVyZW5jZXMiLCJjdXJyZW50RmllbGRQcmVmZXJlbmNlcyIsImZpZWxkcyIsIm5hbWUiLCJjb2xsYXBzZWRNYXAiLCJpZCIsInVuZGVmaW5lZCIsImhhc1N1Ym1pdHRlZCIsInVzZUZvcm1TdWJtaXR0ZWQiLCJlcnJvckNvdW50Iiwic2V0RXJyb3JDb3VudCIsImZpZWxkSGFzRXJyb3JzIiwiY2xhc3NOYW1lcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwicGF0aCIsIm9uRm9ybUNoYW5nZSIsInVzZUNhbGxiYWNrIiwiZnVsbEZpZWxkc1dpdGhWYWx1ZXMiLCJuZXdGb3JtRGF0YSIsInJlbW92ZVVuZGVmaW5lZFJlY3Vyc2l2ZWx5Iiwib2JqIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJpc0RlZXBFcXVhbCIsInNldFRpbWVvdXQiLCJ1cGRhdGUiLCJub2RlIiwiJGdldE5vZGVCeUtleSIsInNldEZpZWxkcyIsInJvd0Vycm9yQ291bnQiLCJmb3JtRmllbGQiLCJ2YWx1ZXMiLCJ2YWxpZCIsIm9uQ29sbGFwc2VkQ2hhbmdlIiwibmV3Q29sbGFwc2VkIiwic2l6ZSIsInJlbW92ZUJsb2NrIiwicmVtb3ZlIiwiZmllbGRTY2hlbWFXaXRoUGF0aCIsIm1hcCIsImNyZWF0ZU5lc3RlZEZpZWxkUGF0aCIsIkZyYWdtZW50IiwiQ29sbGFwc2libGUiLCJjbGFzc05hbWUiLCJjb2xsYXBzaWJsZVN0eWxlIiwiaGVhZGVyIiwiZGl2IiwiUGlsbCIsImJsb2NrVHlwZSIsInBpbGxTdHlsZSIsImdldFRyYW5zbGF0aW9uIiwic2luZ3VsYXIiLCJTZWN0aW9uVGl0bGUiLCJyZWFkT25seSIsImFkbWluIiwiRXJyb3JQaWxsIiwiY291bnQiLCJ3aXRoTWVzc2FnZSIsImlzRWRpdGFibGUiLCJCdXR0b24iLCJidXR0b25TdHlsZSIsImRpc2FibGVkIiwiaWNvbiIsIm9uQ2xpY2siLCJlIiwicHJldmVudERlZmF1bHQiLCJyb3VuZCIsInRvb2x0aXAiLCJvblRvZ2dsZSIsIlJlbmRlckZpZWxkcyIsImZpZWxkU2NoZW1hIiwiZmllbGRUeXBlcyIsImZvcmNlUmVuZGVyIiwibWFyZ2lucyIsInBlcm1pc3Npb25zIiwiYmxvY2tzIiwiRm9ybVNhdmVQbHVnaW4iLCJvbkNoYW5nZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFpQ2FBOzs7ZUFBQUE7Ozt3Q0EvQjZCO2tFQUNsQjt5QkFDTTs0QkFDVTswQkFDWjt3QkFDQzt1QkFDeUM7MkJBQ3RDOzRCQUNEOytEQUNJOzhCQUNKO2dDQUtBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQnhCLE1BQU1BLGVBQWdDLENBQUNDO0lBQzVDLE1BQU0sRUFDSkMsU0FBUyxFQUNUQyxPQUFPLEVBQUVDLE1BQU0sRUFBRSxFQUNqQkMsS0FBSyxFQUNMQyxRQUFRLEVBQ1JDLFVBQVUsRUFDVkMsT0FBTyxFQUNSLEdBQUdQO0lBQ0osTUFBTSxFQUFFUSxJQUFJLEVBQUUsR0FBR0MsSUFBQUEsNEJBQWM7SUFDL0IsTUFBTSxDQUFDQyxPQUFPLEdBQUdDLElBQUFBLGlEQUF5QjtJQUMxQyw2RUFBNkU7SUFDN0UseUZBQXlGO0lBQ3pGLDRFQUE0RTtJQUM1RSxNQUFNLEVBQUVDLGlCQUFpQixFQUFFQyxzQkFBc0IsRUFBRSxHQUFHQyxJQUFBQSwwQkFBZTtJQUVyRSxNQUFNLENB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
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvY29tcG9uZW50L0Jsb2NrQ29udGVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCbG9jaywgRGF0YSwgRmllbGQsIEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQgfSBmcm9tICdAbGV4aWNhbC9yZWFjdC9MZXhpY2FsQ29tcG9zZXJDb250ZXh0J1xuaW1wb3J0IGlzRGVlcEVxdWFsIGZyb20gJ2RlZXAtZXF1YWwnXG5pbXBvcnQgeyAkZ2V0Tm9kZUJ5S2V5IH0gZnJvbSAnbGV4aWNhbCdcbmltcG9ydCB7IEJ1dHRvbiwgRXJyb3JQaWxsLCBQaWxsIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzJ1xuaW1wb3J0IHsgQ29sbGFwc2libGUgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvZWxlbWVudHMnXG5pbXBvcnQgeyBTZWN0aW9uVGl0bGUgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvZmllbGRzL0Jsb2NrcydcbmltcG9ydCB7IFJlbmRlckZpZWxkcywgY3JlYXRlTmVzdGVkRmllbGRQYXRoLCB1c2VGb3JtU3VibWl0dGVkIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL2Zvcm1zJ1xuaW1wb3J0IHsgdXNlRG9jdW1lbnRJbmZvIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL3V0aWxpdGllcydcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBGaWVsZFByb3BzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJsb2NrRmllbGRzLCBCbG9ja05vZGUgfSBmcm9tICcuLi9ub2Rlcy9CbG9ja3NOb2RlJ1xuXG5pbXBvcnQgeyBGb3JtU2F2ZVBsdWdpbiB9IGZyb20gJy4vRm9ybVNhdmVQbHVnaW4nXG5cbnR5cGUgUHJvcHMgPSB7XG4gIGJhc2VDbGFzczogc3RyaW5nXG4gIGJsb2NrOiBCbG9ja1xuICBmaWVsZDogRmllbGRQcm9wc1xuICBmb3JtRGF0YTogQmxvY2tGaWVsZHNcbiAgZm9ybVNjaGVtYTogRmllbGRbXVxuICBub2RlS2V5OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBUaGUgYWN0dWFsIGNvbnRlbnQgb2YgdGhlIEJsb2NrLiBUaGlzIHNob3VsZCBiZSBJTlNJREUgYSBGb3JtIGNvbXBvbmVudCxcbiAqIHNjb3BlZCB0byB0aGUgYmxvY2suIEFsbCBmb3JtYXQgb3BlcmF0aW9ucyBpbiBoZXJlIGFyZSB0aHVzIHNjb3BlZCB0byB0aGUgYmxvY2sncyBmb3JtLCBhbmRcbiAqIG5vdCB0aGUgd2hvbGUgZG9jdW1lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBCbG9ja0NvbnRlbnQ6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgYmFzZUNsYXNzLFxuICAgIGJsb2NrOiB7IGxhYmVscyB9LFxuICAgIGZpZWxkLFxuICAgIGZvcm1EYXRhLFxuICAgIGZvcm1TY2hlbWEsXG4gICAgbm9kZUtleSxcbiAgfSA9IHByb3BzXG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuICAvLyBVc2VkIGZvciBzYXZpbmcgY29sbGFwc2VkIHRvIHByZWZlcmVuY2VzIChhbmQgZ2V0dGluJyBpdCBmcm9tIHRoZXJlIGFnYWluKVxuICAvLyBSZW1lbWJlciwgdGhlc2UgcHJlZmVyZW5jZXMgYXJlIHNjb3BlZCB0byB0aGUgd2hvbGUgZG9jdW1lbnQsIG5vdCBqdXN0IHRoaXMgZm9ybS4gVGhpc1xuICAvLyBpcyBpbXBvcnRhbnQgdG8gY29uc2lkZXIgZm9yIHRoZSBkYXRhIHBhdGggdXNlZCBpbiBzZXREb2NGaWVsZFByZWZlcmVuY2VzXG4gIGNvbnN0IHsgZ2V0RG9jUHJlZmVyZW5jZXMsIHNldERvY0ZpZWxkUHJlZmVyZW5jZXMgfSA9IHVzZURvY3VtZW50SW5mbygpXG5cbiAgY29uc3QgW2NvbGxhcHNlZCwgc2V0Q29sbGFwc2VkXSA9IFJlYWN0LnVzZVN0YXRlPGJvb2xlYW4+KCgpID0+IHtcbiAgICBsZXQgaW5pdGlhbFN0YXRlID0gZmFsc2VcblxuICAgIGdldERvY1ByZWZlcmVuY2VzKCkudGhlbigoY3VycmVudERvY1ByZWZlcmVuY2VzKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50RmllbGRQcmVmZXJlbmNlcyA9IGN1cnJlbnREb2NQcmVmZXJlbmNlcz8uZmllbGRzW2ZpZWxkLm5hbWVdXG5cbiAgICAgIGNvbnN0IGNvbGxhcHNlZE1hcDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSBjdXJyZW50RmllbGRQcmVmZXJlbmNlcz8uY29sbGFwc2VkXG5cbiAgICAgIGlmIChjb2xsYXBzZWRNYXAgJiYgY29sbGFwc2VkTWFwW2Zvcm1EYXRhLmlkXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHNldENvbGxhcHNlZChjb2xsYXBzZWRNYXBbZm9ybURhdGEuaWRdKVxuICAgICAgICBpbml0aWFsU3RhdGUgPSBjb2xsYXBzZWRNYXBbZm9ybURhdGEuaWRdXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gaW5pdGlhbFN0YXRlXG4gIH0pXG4gIGNvbnN0IGhhc1N1Ym1pdHRlZCA9IHVzZUZvcm1TdWJtaXR0ZWQoKVxuXG4gIGNvbnN0IFtlcnJvckNvdW50LCBzZXRFcnJvckNvdW50XSA9IFJlYWN0LnVzZVN0YXRlKDApXG5cbiAgY29uc3QgZmllbGRIYXNFcnJvcnMgPSBoYXNTdWJtaXR0ZWQgJiYgZXJyb3JDb3VudCA+IDBcblxuICBjb25zdCBjbGFzc05hbWVzID0gW1xuICAgIGAke2Jhc2VDbGFzc31fX3Jvd2AsXG4gICAgZmllbGRIYXNFcnJvcnMgPyBgJHtiYXNlQ2xhc3N9X19yb3ctLWhhcy1lcnJvcnNgIDogYCR7YmFzZUNsYXNzfV9fcm93LS1uby1lcnJvcnNgLFxuICBdXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5qb2luKCcgJylcblxuICBjb25zdCBwYXRoID0gJycgYXMgY29uc3RcblxuICBjb25zdCBvbkZvcm1DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgZnVsbEZpZWxkc1dpdGhWYWx1ZXMsXG4gICAgICBuZXdGb3JtRGF0YSxcbiAgICB9OiB7XG4gICAgICBmdWxsRmllbGRzV2l0aFZhbHVlczogRmllbGRzXG4gICAgICBuZXdGb3JtRGF0YTogRGF0YVxuICAgIH0pID0+IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZWx5IHJlbW92ZSBhbGwgdW5kZWZpbmVkIHZhbHVlcyBmcm9tIGV2ZW4gYmVpbmcgcHJlc2VudCBpbiBmb3JtRGF0YSwgYXMgdGhleSB3aWxsXG4gICAgICAvLyBjYXVzZSBpc0RlZXBFcXVhbCB0byByZXR1cm4gZmFsc2UgaWYsIGZvciBleGFtcGxlLCBmb3JtRGF0YSBoYXMgYSBrZXkgdGhhdCBmaWVsZHMuZGF0YVxuICAgICAgLy8gZG9lcyBub3QgaGF2ZSwgZXZlbiBpZiBpdCdzIHVuZGVmaW5lZC5cbiAgICAgIC8vIEN1cnJlbnRseSwgdGhpcyBoYXBwZW5zIGlmIGEgYmxvY2sgaGFzIGFub3RoZXIgc3ViLWJsb2NrcyBmaWVsZC4gSW5zaWRlIG9mIGZvcm1EYXRhLCB0aGF0IHN1Yi1ibG9ja3MgZmllbGQgaGFzIGFuIHVuZGVmaW5lZCBibG9ja05hbWUgcHJvcGVydHkuXG4gICAgICAvLyBJbnNpZGUgb2YgZmllbGRzLmRhdGEgaG93ZXZlciwgdGhhdCBzdWItYmxvY2tzIGJsb2NrTmFtZSBwcm9wZXJ0eSBkb2VzIG5vdCBleGlzdCBhdCBhbGwuXG4gICAgICBmdW5jdGlvbiByZW1vdmVVbmRlZmluZWRBbmROdWxsUmVjdXJzaXZlbHkob2JqOiBvYmplY3QpIHtcbiAgICAgICAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICBpZiAob2JqW2tleV0gJiYgdHlwZW9mIG9ialtrZXldID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgcmVtb3ZlVW5kZWZpbmVkQW5kTnVsbFJlY3Vyc2l2ZWx5KG9ialtrZXldKVxuICAgICAgICAgIH0gZWxzZSBpZiAob2JqW2tleV0gPT09IHVuZGVmaW5lZCB8fCBvYmpba2V5XSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgZGVsZXRlIG9ialtrZXldXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgcmVtb3ZlVW5kZWZpbmVkQW5kTnVsbFJlY3Vyc2l2ZWx5KG5ld0Zvcm1EYXRhKVxuICAgICAgcmVtb3ZlVW5kZWZpbmVkQW5kTnVsbFJlY3Vyc2l2ZWx5KGZvcm1EYXRhKVxuXG4gICAgICAvLyBPbmx5IHVwZGF0ZSBpZiB0aGUgZGF0YSBoYXMgYWN0dWFsbHkgY2hhbmdlZC4gT3RoZXJ3aXNlLCB3ZSBtYXkgYmUgdHJpZ2dlcmluZyBhbiB1bm5lY2Vzc2FyeSB2YWx1ZSBjaGFuZ2UsXG4gICAgICAvLyB3aGljaCB3b3VsZCB0cmlnZ2VyIHRoZSBcIkxlYXZlIHdpdGhvdXQgc2F2aW5nXCIgZGlhbG9nIHVubmVjZXNzYXJpbHlcbiAgICAgIGlmICghaXNEZWVwRXF1YWwoZm9ybURhdGEsIG5ld0Zvcm1EYXRhKSkge1xuICAgICAgICAvLyBSdW5uaW5nIHRoaXMgaW4gdGhlIG5leHQgdGljayBpbiB0aGUgbWVhbnRpbWUgZml4ZXMgdGhpcyBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3BheWxvYWRjbXMvcGF5bG9hZC9pc3N1ZXMvNDEwOFxuICAgICAgICAvLyBJIGRvbid0IGtub3cgd2h5LiBXaGVuIHRoaXMgaXMgY2FsbGVkIGltbWVkaWF0ZWx5LCBpdCBtaWdodCBmb2N1cyBvdXQgb2YgYSBuZXN0ZWQgbGV4aWNhbCBlZGl0b3IgZmllbGQgaWYgYW4gdXBkYXRlIGlzIG1hZGUgdGhlcmUuXG4gICAgICAgIC8vIE15IGh5cG90aGVzaXMgaXMgdGhhdCB0aGUgbmVzdGVkIGVkaXRvciBtaWdodCBub3QgaGF2ZSBmdWxseSBmaW5pc2hlZCBpdHMgdXBkYXRlIGN5Y2xlIHlldC4gQnkgdXBkYXRpbmcgaW4gdGhlIG5leHQgdGljaywgd2VcbiAgICAgICAgLy8gZW5zdXJlIHRoYXQgdGhlIG5lc3RlZCBlZGl0b3IgaGFzIGZpbmlzaGVkIGl0cyB1cGRhdGUgY3ljbGUgYmVmb3JlIHdlIHVwZGF0ZSB0aGUgYmxvY2sgbm9kZS5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgZWRpdG9yLnVwZGF0ZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBub2RlOiBCbG9ja05vZGUgPSAkZ2V0Tm9kZUJ5S2V5KG5vZGVLZXkpXG4gICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICBub2RlLnNldEZpZWxkcyhuZXdGb3JtRGF0YSBhcyBCbG9ja0ZpZWxkcylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9LCAwKVxuICAgICAgfVxuXG4gICAgICAvLyB1cGRhdGUgZXJyb3IgY291bnRcbiAgICAgIGlmIChoYXNTdWJtaXR0ZWQpIHtcbiAgICAgICAgbGV0IHJvd0Vycm9yQ291bnQgPSAwXG4gICAgICAgIGZvciAoY29uc3QgZm9ybUZpZWxkIG9mIE9iamVjdC52YWx1ZXMoZnVsbEZpZWxkc1dpdGhWYWx1ZXMpKSB7XG4gICAgICAgICAgaWYgKGZvcm1GaWVsZD8udmFsaWQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByb3dFcnJvckNvdW50KytcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc2V0RXJyb3JDb3VudChyb3dFcnJvckNvdW50KVxuICAgICAgfVxuICAgIH0sXG4gICAgW2VkaXRvciwgbm9kZUtleSwgaGFzU3VibWl0dGVkLCBmb3JtRGF0YV0sXG4gIClcblxuICBjb25zdCBvbkNvbGxhcHNlZENoYW5nZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBnZXREb2NQcmVmZXJlbmNlcygpLnRoZW4oKGN1cnJlbnREb2NQcmVmZXJlbmNlcykgPT4ge1xuICAgICAgY29uc3QgY3VycmVudEZpZWxkUHJlZmVyZW5jZXMgPSBjdXJyZW50RG9jUHJlZmVyZW5jZXM/LmZpZWxkc1tmaWVsZC5uYW1lXVxuXG4gICAgICBjb25zdCBjb2xsYXBzZWRNYXA6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0gY3VycmVudEZpZWxkUHJlZmVyZW5jZXM/LmNvbGxhcHNlZFxuXG4gICAgICBjb25zdCBuZXdDb2xsYXBzZWQ6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID1cbiAgICAgICAgY29sbGFwc2VkTWFwICYmIGNvbGxhcHNlZE1hcD8uc2l6ZSA/IGNvbGxhcHNlZE1hcCA6IHt9XG5cbiAgICAgIG5ld0NvbGxhcHNlZFtmb3JtRGF0YS5pZF0gPSAhY29sbGFwc2VkXG5cbiAgICAgIHNldERvY0ZpZWxkUHJlZmVyZW5jZXMoZmllbGQubmFtZSwge1xuICAgICAgICBjb2xsYXBzZWQ6IG5ld0NvbGxhcHNlZCxcbiAgICAgIH0pXG4gICAgfSlcbiAgfSwgW2NvbGxhcHNlZCwgZ2V0RG9jUHJlZmVyZW5jZXMsIGZpZWxkLm5hbWUsIHNldERvY0ZpZWxkUHJlZmVyZW5jZXMsIGZvcm1EYXRhLmlkXSlcblxuICBjb25zdCByZW1vdmVCbG9jayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgICRnZXROb2RlQnlLZXkobm9kZUtleSkucmVtb3ZlKClcbiAgICB9KVxuICB9LCBbZWRpdG9yLCBub2RlS2V5XSlcblxuICBjb25zdCBmaWVsZFNjaGVtYVdpdGhQYXRoID0gZm9ybVNjaGVtYS5tYXAoKGZpZWxkKSA9PiAoe1xuICAgIC4uLmZpZWxkLFxuICAgIHBhdGg6IGNyZWF0ZU5lc3RlZEZpZWxkUGF0aChudWxsLCBmaWVsZCksXG4gIH0pKVxuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPENvbGxhcHNpYmxlXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lc31cbiAgICAgICAgY29sbGFwc2VkPXtjb2xsYXBzZWR9XG4gICAgICAgIGNvbGxhcHNpYmxlU3R5bGU9e2ZpZWxkSGFzRXJyb3JzID8gJ2Vycm9yJyA6ICdkZWZhdWx0J31cbiAgICAgICAgaGVhZGVyPXtcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYmxvY2staGVhZGVyYH0+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8UGlsbFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYmxvY2stcGlsbCAke2Jhc2VDbGFzc31fX2Jsb2NrLXBpbGwtJHtmb3JtRGF0YT8uYmxvY2tUeXBlfWB9XG4gICAgICAgICAgICAgICAgcGlsbFN0eWxlPVwid2hpdGVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2dldFRyYW5zbGF0aW9uKGxhYmVscy5zaW5ndWxhciwgaTE4bil9XG4gICAgICAgICAgICAgIDwvUGlsbD5cbiAgICAgICAgICAgICAgPFNlY3Rpb25UaXRsZSBwYXRoPXtgJHtwYXRofWJsb2NrTmFtZWB9IHJlYWRPbmx5PXtmaWVsZD8uYWRtaW4/LnJlYWRPbmx5fSAvPlxuICAgICAgICAgICAgICB7ZmllbGRIYXNFcnJvcnMgJiYgPEVycm9yUGlsbCBjb3VudD17ZXJyb3JDb3VudH0gd2l0aE1lc3NhZ2UgLz59XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtlZGl0b3IuaXNFZGl0YWJsZSgpICYmIChcbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19yZW1vdmVCdXR0b25gfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmaWVsZD8uYWRtaW4/LnJlYWRPbmx5fVxuICAgICAgICAgICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICByZW1vdmVCbG9jaygpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICByb3VuZFxuICAgICAgICAgICAgICAgIHRvb2x0aXA9XCJSZW1vdmUgQmxvY2tcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBrZXk9ezB9XG4gICAgICAgIG9uVG9nZ2xlPXsoY29sbGFwc2VkKSA9PiB7XG4gICAgICAgICAgc2V0Q29sbGFwc2VkKGNvbGxhcHNlZClcbiAgICAgICAgICBvbkNvbGxhcHNlZENoYW5nZSgpXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxSZW5kZXJGaWVsZHNcbiAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2ZpZWxkc2B9XG4gICAgICAgICAgZmllbGRTY2hlbWE9e2ZpZWxkU2NoZW1hV2l0aFBhdGh9XG4gICAgICAgICAgZmllbGRUeXBlcz17ZmllbGQuZmllbGRUeXBlc31cbiAgICAgICAgICBmb3JjZVJlbmRlclxuICAgICAgICAgIG1hcmdpbnM9XCJzbWFsbFwiXG4gICAgICAgICAgcGVybWlzc2lvbnM9e2ZpZWxkLnBlcm1pc3Npb25zPy5ibG9ja3M/Lltmb3JtRGF0YT8uYmxvY2tUeXBlXT8uZmllbGRzfVxuICAgICAgICAgIHJlYWRPbmx5PXtmaWVsZC5hZG1pbi5yZWFkT25seX1cbiAgICAgICAgLz5cbiAgICAgIDwvQ29sbGFwc2libGU+XG5cbiAgICAgIDxGb3JtU2F2ZVBsdWdpbiBvbkNoYW5nZT17b25Gb3JtQ2hhbmdlfSAvPlxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJCbG9ja0NvbnRlbnQiLCJwcm9wcyIsImJhc2VDbGFzcyIsImJsb2NrIiwibGFiZWxzIiwiZmllbGQiLCJmb3JtRGF0YSIsImZvcm1TY2hlbWEiLCJub2RlS2V5IiwiaTE4biIsInVzZVRyYW5zbGF0aW9uIiwiZWRpdG9yIiwidXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsImdldERvY1ByZWZlcmVuY2VzIiwic2V0RG9jRmllbGRQcmVmZXJlbmNlcyIsInVzZURvY3VtZW50SW5mbyIsImNvbGxhcHNlZCIsInNldENvbGxhcHNlZCIsIlJlYWN0IiwidXNlU3RhdGUiLCJpbml0aWFsU3RhdGUiLCJ0aGVuIiwiY3VycmVudERvY1ByZWZlcmVuY2VzIiwiY3VycmVudEZpZWxkUHJlZmVyZW5jZXMiLCJmaWVsZHMiLCJuYW1lIiwiY29sbGFwc2VkTWFwIiwiaWQiLCJ1bmRlZmluZWQiLCJoYXNTdWJtaXR0ZWQiLCJ1c2VGb3JtU3VibWl0dGVkIiwiZXJyb3JDb3VudCIsInNldEVycm9yQ291bnQiLCJmaWVsZEhhc0Vycm9ycyIsImNsYXNzTmFtZXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsInBhdGgiLCJvbkZvcm1DaGFuZ2UiLCJ1c2VDYWxsYmFjayIsImZ1bGxGaWVsZHNXaXRoVmFsdWVzIiwibmV3Rm9ybURhdGEiLCJyZW1vdmVVbmRlZmluZWRBbmROdWxsUmVjdXJzaXZlbHkiLCJvYmoiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsImlzRGVlcEVxdWFsIiwic2V0VGltZW91dCIsInVwZGF0ZSIsIm5vZGUiLCIkZ2V0Tm9kZUJ5S2V5Iiwic2V0RmllbGRzIiwicm93RXJyb3JDb3VudCIsImZvcm1GaWVsZCIsInZhbHVlcyIsInZhbGlkIiwib25Db2xsYXBzZWRDaGFuZ2UiLCJuZXdDb2xsYXBzZWQiLCJzaXplIiwicmVtb3ZlQmxvY2siLCJyZW1vdmUiLCJmaWVsZFNjaGVtYVdpdGhQYXRoIiwibWFwIiwiY3JlYXRlTmVzdGVkRmllbGRQYXRoIiwiRnJhZ21lbnQiLCJDb2xsYXBzaWJsZSIsImNsYXNzTmFtZSIsImNvbGxhcHNpYmxlU3R5bGUiLCJoZWFkZXIiLCJkaXYiLCJQaWxsIiwiYmxvY2tUeXBlIiwicGlsbFN0eWxlIiwiZ2V0VHJhbnNsYXRpb24iLCJzaW5ndWxhciIsIlNlY3Rpb25UaXRsZSIsInJlYWRPbmx5IiwiYWRtaW4iLCJFcnJvclBpbGwiLCJjb3VudCIsIndpdGhNZXNzYWdlIiwiaXNFZGl0YWJsZSIsIkJ1dHRvbiIsImJ1dHRvblN0eWxlIiwiZGlzYWJsZWQiLCJpY29uIiwib25DbGljayIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInJvdW5kIiwidG9vbHRpcCIsIm9uVG9nZ2xlIiwiUmVuZGVyRmllbGRzIiwiZmllbGRTY2hlbWEiLCJmaWVsZFR5cGVzIiwiZm9yY2VSZW5kZXIiLCJtYXJnaW5zIiwicGVybWlzc2lvbnMiLCJibG9ja3MiLCJGb3JtU2F2ZVBsdWdpbiIsIm9uQ2hhbmdlIl0sIm1hcHBpbmdzIjoiOzs7OytCQWlDYUE7OztlQUFBQTs7O3dDQS9CNkI7a0VBQ2xCO3lCQUNNOzRCQUNVOzBCQUNaO3dCQUNDO3VCQUN5QzsyQkFDdEM7NEJBQ0Q7K0RBQ0k7OEJBQ0o7Z0NBS0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCeEIsTUFBTUEsZUFBZ0MsQ0FBQ0M7SUFDNUMsTUFBTSxFQUNKQyxTQUFTLEVBQ1RDLE9BQU8sRUFBRUMsTUFBTSxFQUFFLEVBQ2pCQyxLQUFLLEVBQ0xDLFFBQVEsRUFDUkMsVUFBVSxFQUNWQyxPQUFPLEVBQ1IsR0FBR1A7SUFDSixNQUFNLEVBQUVRLElBQUksRUFBRSxHQUFHQyxJQUFBQSw0QkFBYztJQUMvQixNQUFNLENBQUNDLE9BQU8sR0FBR0MsSUFBQUEsaURBQXlCO0lBQzFDLDZFQUE2RTtJQUM3RSx5RkFBeUY7SUFDekYsNEVBQTRFO0lBQzVFLE1BQU0sRUFBRUMs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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Blocks/plugin/index.tsx"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAMtD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AAE3D,wBAAgB,YAAY,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CA0BjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Blocks/plugin/index.tsx"],"names":[],"mappings":";AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAMtD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AAE3D,wBAAgB,YAAY,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAsCjD"}
@@ -66,7 +66,16 @@ function BlocksPlugin() {
66
66
  return (0, _utils.mergeRegister)(editor.registerCommand(_commands.INSERT_BLOCK_COMMAND, (payload)=>{
67
67
  editor.update(()=>{
68
68
  const blockNode = (0, _BlocksNode.$createBlockNode)(payload);
69
- (0, _utils.$insertNodeToNearestRoot)(blockNode);
69
+ const selection = (0, _lexical.$getSelection)() || (0, _lexical.$getPreviousSelection)();
70
+ if ((0, _lexical.$isRangeSelection)(selection)) {
71
+ const { focus } = selection;
72
+ const focusNode = focus.getNode();
73
+ // First, delete currently selected node if it's an empty paragraph
74
+ if ((0, _lexical.$isParagraphNode)(focusNode) && focusNode.getTextContentSize() === 0) {
75
+ focusNode.remove();
76
+ }
77
+ (0, _utils.$insertNodeToNearestRoot)(blockNode);
78
+ }
70
79
  });
71
80
  return true;
72
81
  }, _lexical.COMMAND_PRIORITY_EDITOR));
@@ -76,4 +85,4 @@ function BlocksPlugin() {
76
85
  return /*#__PURE__*/ _react.default.createElement(_drawer.BlocksDrawerComponent, null);
77
86
  }
78
87
 
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvcGx1Z2luL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQgfSBmcm9tICdAbGV4aWNhbC9yZWFjdC9MZXhpY2FsQ29tcG9zZXJDb250ZXh0J1xuaW1wb3J0IHsgJGluc2VydE5vZGVUb05lYXJlc3RSb290LCBtZXJnZVJlZ2lzdGVyIH0gZnJvbSAnQGxleGljYWwvdXRpbHMnXG5pbXBvcnQgeyBDT01NQU5EX1BSSU9SSVRZX0VESVRPUiB9IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgQmxvY2tGaWVsZHMgfSBmcm9tICcuLi9ub2Rlcy9CbG9ja3NOb2RlJ1xuXG5pbXBvcnQgeyBCbG9ja3NEcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuLi9kcmF3ZXInXG5pbXBvcnQgeyAkY3JlYXRlQmxvY2tOb2RlLCBCbG9ja05vZGUgfSBmcm9tICcuLi9ub2Rlcy9CbG9ja3NOb2RlJ1xuaW1wb3J0IHsgSU5TRVJUX0JMT0NLX0NPTU1BTkQgfSBmcm9tICcuL2NvbW1hbmRzJ1xuXG5leHBvcnQgdHlwZSBJbnNlcnRCbG9ja1BheWxvYWQgPSBFeGNsdWRlPEJsb2NrRmllbGRzLCAnaWQnPlxuXG5leHBvcnQgZnVuY3Rpb24gQmxvY2tzUGx1Z2luKCk6IEpTWC5FbGVtZW50IHwgbnVsbCB7XG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVkaXRvci5oYXNOb2RlcyhbQmxvY2tOb2RlXSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQmxvY2tzUGx1Z2luOiBCbG9ja3NOb2RlIG5vdCByZWdpc3RlcmVkIG9uIGVkaXRvcicpXG4gICAgfVxuXG4gICAgcmV0dXJuIG1lcmdlUmVnaXN0ZXIoXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kPEluc2VydEJsb2NrUGF5bG9hZD4oXG4gICAgICAgIElOU0VSVF9CTE9DS19DT01NQU5ELFxuICAgICAgICAocGF5bG9hZDogSW5zZXJ0QmxvY2tQYXlsb2FkKSA9PiB7XG4gICAgICAgICAgZWRpdG9yLnVwZGF0ZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBibG9ja05vZGUgPSAkY3JlYXRlQmxvY2tOb2RlKHBheWxvYWQpXG5cbiAgICAgICAgICAgICRpbnNlcnROb2RlVG9OZWFyZXN0Um9vdChibG9ja05vZGUpXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIENPTU1BTkRfUFJJT1JJVFlfRURJVE9SLFxuICAgICAgKSxcbiAgICApXG4gIH0sIFtlZGl0b3JdKVxuXG4gIHJldHVybiA8QmxvY2tzRHJhd2VyQ29tcG9uZW50IC8+XG59XG4iXSwibmFtZXMiOlsiQmxvY2tzUGx1Z2luIiwiZWRpdG9yIiwidXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsInVzZUVmZmVjdCIsImhhc05vZGVzIiwiQmxvY2tOb2RlIiwiRXJyb3IiLCJtZXJnZVJlZ2lzdGVyIiwicmVnaXN0ZXJDb21tYW5kIiwiSU5TRVJUX0JMT0NLX0NPTU1BTkQiLCJwYXlsb2FkIiwidXBkYXRlIiwiYmxvY2tOb2RlIiwiJGNyZWF0ZUJsb2NrTm9kZSIsIiRpbnNlcnROb2RlVG9OZWFyZXN0Um9vdCIsIkNPTU1BTkRfUFJJT1JJVFlfRURJVE9SIiwiQmxvY2tzRHJhd2VyQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBY2dCQTs7O2VBQUFBOzs7d0NBYjBCO3VCQUNjO3lCQUNoQjsrREFDUDt3QkFJSzs0QkFDTTswQkFDUDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUk5QixTQUFTQTtJQUNkLE1BQU0sQ0FBQ0MsT0FBTyxHQUFHQyxJQUFBQSxpREFBeUI7SUFFMUNDLElBQUFBLGdCQUFTLEVBQUM7UUFDUixJQUFJLENBQUNGLE9BQU9HLFFBQVEsQ0FBQztZQUFDQyxxQkFBUztTQUFDLEdBQUc7WUFDakMsTUFBTSxJQUFJQyxNQUFNO1FBQ2xCO1FBRUEsT0FBT0MsSUFBQUEsb0JBQWEsRUFDbEJOLE9BQU9PLGVBQWUsQ0FDcEJDLDhCQUFvQixFQUNwQixDQUFDQztZQUNDVCxPQUFPVSxNQUFNLENBQUM7Z0JBQ1osTUFBTUMsWUFBWUMsSUFBQUEsNEJBQWdCLEVBQUNIO2dCQUVuQ0ksSUFBQUEsK0JBQXdCLEVBQUNGO1lBQzNCO1lBRUEsT0FBTztRQUNULEdBQ0FHLGdDQUF1QjtJQUc3QixHQUFHO1FBQUNkO0tBQU87SUFFWCxxQkFBTyw2QkFBQ2UsNkJBQXFCO0FBQy9CIn0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvcGx1Z2luL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQgfSBmcm9tICdAbGV4aWNhbC9yZWFjdC9MZXhpY2FsQ29tcG9zZXJDb250ZXh0J1xuaW1wb3J0IHsgJGluc2VydE5vZGVUb05lYXJlc3RSb290LCBtZXJnZVJlZ2lzdGVyIH0gZnJvbSAnQGxleGljYWwvdXRpbHMnXG5pbXBvcnQge1xuICAkZ2V0UHJldmlvdXNTZWxlY3Rpb24sXG4gICRnZXRTZWxlY3Rpb24sXG4gICRpc1BhcmFncmFwaE5vZGUsXG4gICRpc1JhbmdlU2VsZWN0aW9uLFxuICBDT01NQU5EX1BSSU9SSVRZX0VESVRPUixcbn0gZnJvbSAnbGV4aWNhbCdcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBCbG9ja0ZpZWxkcyB9IGZyb20gJy4uL25vZGVzL0Jsb2Nrc05vZGUnXG5cbmltcG9ydCB7IEJsb2Nrc0RyYXdlckNvbXBvbmVudCB9IGZyb20gJy4uL2RyYXdlcidcbmltcG9ydCB7ICRjcmVhdGVCbG9ja05vZGUsIEJsb2NrTm9kZSB9IGZyb20gJy4uL25vZGVzL0Jsb2Nrc05vZGUnXG5pbXBvcnQgeyBJTlNFUlRfQkxPQ0tfQ09NTUFORCB9IGZyb20gJy4vY29tbWFuZHMnXG5cbmV4cG9ydCB0eXBlIEluc2VydEJsb2NrUGF5bG9hZCA9IEV4Y2x1ZGU8QmxvY2tGaWVsZHMsICdpZCc+XG5cbmV4cG9ydCBmdW5jdGlvbiBCbG9ja3NQbHVnaW4oKTogSlNYLkVsZW1lbnQgfCBudWxsIHtcbiAgY29uc3QgW2VkaXRvcl0gPSB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0KClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZWRpdG9yLmhhc05vZGVzKFtCbG9ja05vZGVdKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCbG9ja3NQbHVnaW46IEJsb2Nrc05vZGUgbm90IHJlZ2lzdGVyZWQgb24gZWRpdG9yJylcbiAgICB9XG5cbiAgICByZXR1cm4gbWVyZ2VSZWdpc3RlcihcbiAgICAgIGVkaXRvci5yZWdpc3RlckNvbW1hbmQ8SW5zZXJ0QmxvY2tQYXlsb2FkPihcbiAgICAgICAgSU5TRVJUX0JMT0NLX0NPTU1BTkQsXG4gICAgICAgIChwYXlsb2FkOiBJbnNlcnRCbG9ja1BheWxvYWQpID0+IHtcbiAgICAgICAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrTm9kZSA9ICRjcmVhdGVCbG9ja05vZGUocGF5bG9hZClcblxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpIHx8ICRnZXRQcmV2aW91c1NlbGVjdGlvbigpXG5cbiAgICAgICAgICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgZm9jdXMgfSA9IHNlbGVjdGlvblxuICAgICAgICAgICAgICBjb25zdCBmb2N1c05vZGUgPSBmb2N1cy5nZXROb2RlKClcblxuICAgICAgICAgICAgICAvLyBGaXJzdCwgZGVsZXRlIGN1cnJlbnRseSBzZWxlY3RlZCBub2RlIGlmIGl0J3MgYW4gZW1wdHkgcGFyYWdyYXBoXG4gICAgICAgICAgICAgIGlmICgkaXNQYXJhZ3JhcGhOb2RlKGZvY3VzTm9kZSkgJiYgZm9jdXNOb2RlLmdldFRleHRDb250ZW50U2l6ZSgpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgZm9jdXNOb2RlLnJlbW92ZSgpXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAkaW5zZXJ0Tm9kZVRvTmVhcmVzdFJvb3QoYmxvY2tOb2RlKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0VESVRPUixcbiAgICAgICksXG4gICAgKVxuICB9LCBbZWRpdG9yXSlcblxuICByZXR1cm4gPEJsb2Nrc0RyYXdlckNvbXBvbmVudCAvPlxufVxuIl0sIm5hbWVzIjpbIkJsb2Nrc1BsdWdpbiIsImVkaXRvciIsInVzZUxleGljYWxDb21wb3NlckNvbnRleHQiLCJ1c2VFZmZlY3QiLCJoYXNOb2RlcyIsIkJsb2NrTm9kZSIsIkVycm9yIiwibWVyZ2VSZWdpc3RlciIsInJlZ2lzdGVyQ29tbWFuZCIsIklOU0VSVF9CTE9DS19DT01NQU5EIiwicGF5bG9hZCIsInVwZGF0ZSIsImJsb2NrTm9kZSIsIiRjcmVhdGVCbG9ja05vZGUiLCJzZWxlY3Rpb24iLCIkZ2V0U2VsZWN0aW9uIiwiJGdldFByZXZpb3VzU2VsZWN0aW9uIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJmb2N1cyIsImZvY3VzTm9kZSIsImdldE5vZGUiLCIkaXNQYXJhZ3JhcGhOb2RlIiwiZ2V0VGV4dENvbnRlbnRTaXplIiwicmVtb3ZlIiwiJGluc2VydE5vZGVUb05lYXJlc3RSb290IiwiQ09NTUFORF9QUklPUklUWV9FRElUT1IiLCJCbG9ja3NEcmF3ZXJDb21wb25lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkFvQmdCQTs7O2VBQUFBOzs7d0NBbkIwQjt1QkFDYzt5QkFPakQ7K0RBQzBCO3dCQUlLOzRCQUNNOzBCQUNQOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSTlCLFNBQVNBO0lBQ2QsTUFBTSxDQUFDQyxPQUFPLEdBQUdDLElBQUFBLGlEQUF5QjtJQUUxQ0MsSUFBQUEsZ0JBQVMsRUFBQztRQUNSLElBQUksQ0FBQ0YsT0FBT0csUUFBUSxDQUFDO1lBQUNDLHFCQUFTO1NBQUMsR0FBRztZQUNqQyxNQUFNLElBQUlDLE1BQU07UUFDbEI7UUFFQSxPQUFPQyxJQUFBQSxvQkFBYSxFQUNsQk4sT0FBT08sZUFBZSxDQUNwQkMsOEJBQW9CLEVBQ3BCLENBQUNDO1lBQ0NULE9BQU9VLE1BQU0sQ0FBQztnQkFDWixNQUFNQyxZQUFZQyxJQUFBQSw0QkFBZ0IsRUFBQ0g7Z0JBRW5DLE1BQU1JLFlBQVlDLElBQUFBLHNCQUFhLE9BQU1DLElBQUFBLDhCQUFxQjtnQkFFMUQsSUFBSUMsSUFBQUEsMEJBQWlCLEVBQUNILFlBQVk7b0JBQ2hDLE1BQU0sRUFBRUksS0FBSyxFQUFFLEdBQUdKO29CQUNsQixNQUFNSyxZQUFZRCxNQUFNRSxPQUFPO29CQUUvQixtRUFBbUU7b0JBQ25FLElBQUlDLElBQUFBLHlCQUFnQixFQUFDRixjQUFjQSxVQUFVRyxrQkFBa0IsT0FBTyxHQUFHO3dCQUN2RUgsVUFBVUksTUFBTTtvQkFDbEI7b0JBRUFDLElBQUFBLCtCQUF3QixFQUFDWjtnQkFDM0I7WUFDRjtZQUVBLE9BQU87UUFDVCxHQUNBYSxnQ0FBdUI7SUFHN0IsR0FBRztRQUFDeEI7S0FBTztJQUVYLHFCQUFPLDZCQUFDeUIsNkJBQXFCO0FBQy9CIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"baseFields.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Link/drawer/baseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAgB1C,eAAO,MAAM,aAAa,WAChB,MAAM,sBACM,KAAK,GAAG,MAAM,EAAE,uBACf,KAAK,GAAG,MAAM,EAAE,KACpC,KAAK,EA+FP,CAAA"}
1
+ {"version":3,"file":"baseFields.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Link/drawer/baseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAyB,MAAM,eAAe,CAAA;AAiBjE,eAAO,MAAM,aAAa,WAChB,MAAM,sBACM,KAAK,GAAG,MAAM,EAAE,uBACf,KAAK,GAAG,MAAM,EAAE,KACpC,KAAK,EAmHP,CAAA"}
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "getBaseFields", {
9
9
  }
10
10
  });
11
11
  const _utilities = require("payload/utilities");
12
+ const _url = require("../../../lexical/utils/url");
12
13
  const translations = (0, _utilities.extractTranslations)([
13
14
  'fields:textToDisplay',
14
15
  'fields:linkType',
@@ -29,7 +30,12 @@ const getBaseFields = (config, enabledCollections, disabledCollections)=>{
29
30
  } else if (disabledCollections) {
30
31
  enabledRelations = config.collections.filter(({ slug })=>!disabledCollections.includes(slug)).map(({ slug })=>slug);
31
32
  } else {
32
- enabledRelations = config.collections.filter(({ admin: { enableRichTextLink } })=>enableRichTextLink).map(({ slug })=>slug);
33
+ enabledRelations = config.collections.filter(({ admin: { enableRichTextLink, hidden } })=>{
34
+ if (typeof hidden !== 'function' && hidden) {
35
+ return false;
36
+ }
37
+ return enableRichTextLink;
38
+ }).map(({ slug })=>slug);
33
39
  }
34
40
  const baseFields = [
35
41
  {
@@ -69,7 +75,12 @@ const getBaseFields = (config, enabledCollections, disabledCollections)=>{
69
75
  name: 'url',
70
76
  label: translations['fields:enterURL'],
71
77
  required: true,
72
- type: 'text'
78
+ type: 'text',
79
+ validate: (value)=>{
80
+ if (value && !(0, _url.validateUrl)(value)) {
81
+ return 'Invalid URL';
82
+ }
83
+ }
73
84
  }
74
85
  ],
75
86
  type: 'group'
@@ -91,6 +102,15 @@ const getBaseFields = (config, enabledCollections, disabledCollections)=>{
91
102
  return fields?.linkType === 'internal';
92
103
  }
93
104
  },
105
+ // when admin.hidden is a function we need to dynamically call hidden with the user to know if the collection should be shown
106
+ filterOptions: !enabledCollections && !disabledCollections ? ({ relationTo, user })=>{
107
+ const hidden = config.collections.find(({ slug })=>slug === relationTo).admin.hidden;
108
+ if (typeof hidden === 'function' && hidden({
109
+ user
110
+ })) {
111
+ return false;
112
+ }
113
+ } : null,
94
114
  label: translations['fields:chooseDocumentToLink'],
95
115
  relationTo: enabledRelations,
96
116
  required: true,
@@ -105,4 +125,4 @@ const getBaseFields = (config, enabledCollections, disabledCollections)=>{
105
125
  return baseFields;
106
126
  };
107
127
 
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL2RyYXdlci9iYXNlRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29uZmlnIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0eXBlIHsgUmFkaW9GaWVsZCwgVGV4dEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgZXh0cmFjdFRyYW5zbGF0aW9ucyB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuXG5jb25zdCB0cmFuc2xhdGlvbnMgPSBleHRyYWN0VHJhbnNsYXRpb25zKFtcbiAgJ2ZpZWxkczp0ZXh0VG9EaXNwbGF5JyxcbiAgJ2ZpZWxkczpsaW5rVHlwZScsXG4gICdmaWVsZHM6Y2hvb3NlQmV0d2VlbkN1c3RvbVRleHRPckRvY3VtZW50JyxcbiAgJ2ZpZWxkczpjdXN0b21VUkwnLFxuICAnZmllbGRzOmludGVybmFsTGluaycsXG4gICdmaWVsZHM6ZW50ZXJVUkwnLFxuICAnZmllbGRzOmNob29zZURvY3VtZW50VG9MaW5rJyxcbiAgJ2ZpZWxkczpvcGVuSW5OZXdUYWInLFxuXSlcblxuZXhwb3J0IGNvbnN0IGdldEJhc2VGaWVsZHMgPSAoXG4gIGNvbmZpZzogQ29uZmlnLFxuICBlbmFibGVkQ29sbGVjdGlvbnM6IGZhbHNlIHwgc3RyaW5nW10sXG4gIGRpc2FibGVkQ29sbGVjdGlvbnM6IGZhbHNlIHwgc3RyaW5nW10sXG4pOiBGaWVsZFtdID0+IHtcbiAgbGV0IGVuYWJsZWRSZWxhdGlvbnM6IHN0cmluZ1tdXG5cbiAgLyoqXG4gICAqIEZpZ3VyZSBvdXQgd2hpY2ggcmVsYXRpb25zIHNob3VsZCBiZSBlbmFibGVkIChlbmFibGVkUmVsYXRpb25zKSBiYXNlZCBvbiBhIGNvbGxlY3Rpb24ncyBhZG1pbi5lbmFibGVSaWNoVGV4dExpbmsgcHJvcGVydHksXG4gICAqIG9yIHRoZSBMaW5rIEZlYXR1cmUncyBlbmFibGVkQ29sbGVjdGlvbnMgYW5kIGRpc2FibGVkQ29sbGVjdGlvbnMgcHJvcGVydGllcyB3aGljaCBvdmVycmlkZSBpdC5cbiAgICovXG4gIGlmIChlbmFibGVkQ29sbGVjdGlvbnMpIHtcbiAgICBlbmFibGVkUmVsYXRpb25zID0gZW5hYmxlZENvbGxlY3Rpb25zXG4gIH0gZWxzZSBpZiAoZGlzYWJsZWRDb2xsZWN0aW9ucykge1xuICAgIGVuYWJsZWRSZWxhdGlvbnMgPSBjb25maWcuY29sbGVjdGlvbnNcbiAgICAgIC5maWx0ZXIoKHsgc2x1ZyB9KSA9PiAhZGlzYWJsZWRDb2xsZWN0aW9ucy5pbmNsdWRlcyhzbHVnKSlcbiAgICAgIC5tYXAoKHsgc2x1ZyB9KSA9PiBzbHVnKVxuICB9IGVsc2Uge1xuICAgIGVuYWJsZWRSZWxhdGlvbnMgPSBjb25maWcuY29sbGVjdGlvbnNcbiAgICAgIC5maWx0ZXIoKHsgYWRtaW46IHsgZW5hYmxlUmljaFRleHRMaW5rIH0gfSkgPT4gZW5hYmxlUmljaFRleHRMaW5rKVxuICAgICAgLm1hcCgoeyBzbHVnIH0pID0+IHNsdWcpXG4gIH1cblxuICBjb25zdCBiYXNlRmllbGRzID0gW1xuICAgIHtcbiAgICAgIG5hbWU6ICd0ZXh0JyxcbiAgICAgIGxhYmVsOiB0cmFuc2xhdGlvbnNbJ2ZpZWxkczp0ZXh0VG9EaXNwbGF5J10sXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdmaWVsZHMnLFxuICAgICAgYWRtaW46IHtcbiAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICBib3JkZXJCb3R0b206IDAsXG4gICAgICAgICAgYm9yZGVyVG9wOiAwLFxuICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGZpZWxkczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2xpbmtUeXBlJyxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IHRyYW5zbGF0aW9uc1snZmllbGRzOmNob29zZUJldHdlZW5DdXN0b21UZXh0T3JEb2N1bWVudCddLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiAnY3VzdG9tJyxcbiAgICAgICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydmaWVsZHM6bGlua1R5cGUnXSxcbiAgICAgICAgICBvcHRpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGxhYmVsOiB0cmFuc2xhdGlvbnNbJ2ZpZWxkczpjdXN0b21VUkwnXSxcbiAgICAgICAgICAgICAgdmFsdWU6ICdjdXN0b20nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgIHR5cGU6ICdyYWRpbycsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAndXJsJyxcbiAgICAgICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydmaWVsZHM6ZW50ZXJVUkwnXSxcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICBdIGFzIEZpZWxkW10sXG4gICAgICB0eXBlOiAnZ3JvdXAnLFxuICAgIH0sXG4gIF1cblxuICAvLyBPbmx5IGRpc3BsYXkgaW50ZXJuYWwgbGluay1zcGVjaWZpYyBmaWVsZHMgLyBvcHRpb25zIC8gY29uZGl0aW9ucyBpZiB0aGVyZSBhcmUgZW5hYmxlZCByZWxhdGlvbnNcbiAgaWYgKGVuYWJsZWRSZWxhdGlvbnM/Lmxlbmd0aCkge1xuICAgIDsoYmFzZUZpZWxkc1sxXS5maWVsZHNbMF0gYXMgUmFkaW9GaWVsZCkub3B0aW9ucy5wdXNoKHtcbiAgICAgIGxhYmVsOiB0cmFuc2xhdGlvbnNbJ2ZpZWxkczppbnRlcm5hbExpbmsnXSxcbiAgICAgIHZhbHVlOiAnaW50ZXJuYWwnLFxuICAgIH0pXG4gICAgOyhiYXNlRmllbGRzWzFdLmZpZWxkc1sxXSBhcyBUZXh0RmllbGQpLmFkbWluID0ge1xuICAgICAgY29uZGl0aW9uOiAoeyBmaWVsZHMgfSkgPT4gZmllbGRzPy5saW5rVHlwZSAhPT0gJ2ludGVybmFsJyxcbiAgICB9XG5cbiAgICBiYXNlRmllbGRzWzFdLmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdkb2MnLFxuICAgICAgYWRtaW46IHtcbiAgICAgICAgY29uZGl0aW9uOiAoeyBmaWVsZHMgfSkgPT4ge1xuICAgICAgICAgIHJldHVybiBmaWVsZHM/LmxpbmtUeXBlID09PSAnaW50ZXJuYWwnXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbGFiZWw6IHRyYW5zbGF0aW9uc1snZmllbGRzOmNob29zZURvY3VtZW50VG9MaW5rJ10sXG4gICAgICByZWxhdGlvblRvOiBlbmFibGVkUmVsYXRpb25zLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB0eXBlOiAncmVsYXRpb25zaGlwJyxcbiAgICB9KVxuICB9XG5cbiAgYmFzZUZpZWxkc1sxXS5maWVsZHMucHVzaCh7XG4gICAgbmFtZTogJ25ld1RhYicsXG4gICAgbGFiZWw6IHRyYW5zbGF0aW9uc1snZmllbGRzOm9wZW5Jbk5ld1RhYiddLFxuICAgIHR5cGU6ICdjaGVja2JveCcsXG4gIH0pXG5cbiAgcmV0dXJuIGJhc2VGaWVsZHMgYXMgRmllbGRbXVxufVxuIl0sIm5hbWVzIjpbImdldEJhc2VGaWVsZHMiLCJ0cmFuc2xhdGlvbnMiLCJleHRyYWN0VHJhbnNsYXRpb25zIiwiY29uZmlnIiwiZW5hYmxlZENvbGxlY3Rpb25zIiwiZGlzYWJsZWRDb2xsZWN0aW9ucyIsImVuYWJsZWRSZWxhdGlvbnMiLCJjb2xsZWN0aW9ucyIsImZpbHRlciIsInNsdWciLCJpbmNsdWRlcyIsIm1hcCIsImFkbWluIiwiZW5hYmxlUmljaFRleHRMaW5rIiwiYmFzZUZpZWxkcyIsIm5hbWUiLCJsYWJlbCIsInJlcXVpcmVkIiwidHlwZSIsInN0eWxlIiwiYm9yZGVyQm90dG9tIiwiYm9yZGVyVG9wIiwibWFyZ2luIiwicGFkZGluZyIsImZpZWxkcyIsImRlc2NyaXB0aW9uIiwiZGVmYXVsdFZhbHVlIiwib3B0aW9ucyIsInZhbHVlIiwibGVuZ3RoIiwicHVzaCIsImNvbmRpdGlvbiIsImxpbmtUeXBlIiwicmVsYXRpb25UbyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFpQmFBOzs7ZUFBQUE7OzsyQkFidUI7QUFFcEMsTUFBTUMsZUFBZUMsSUFBQUEsOEJBQW1CLEVBQUM7SUFDdkM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBRU0sTUFBTUYsZ0JBQWdCLENBQzNCRyxRQUNBQyxvQkFDQUM7SUFFQSxJQUFJQztJQUVKOzs7R0FHQyxHQUNELElBQUlGLG9CQUFvQjtRQUN0QkUsbUJBQW1CRjtJQUNyQixPQUFPLElBQUlDLHFCQUFxQjtRQUM5QkMsbUJBQW1CSCxPQUFPSSxXQUFXLENBQ2xDQyxNQUFNLENBQUMsQ0FBQyxFQUFFQyxJQUFJLEVBQUUsR0FBSyxDQUFDSixvQkFBb0JLLFFBQVEsQ0FBQ0QsT0FDbkRFLEdBQUcsQ0FBQyxDQUFDLEVBQUVGLElBQUksRUFBRSxHQUFLQTtJQUN2QixPQUFPO1FBQ0xILG1CQUFtQkgsT0FBT0ksV0FBVyxDQUNsQ0MsTUFBTSxDQUFDLENBQUMsRUFBRUksT0FBTyxFQUFFQyxrQkFBa0IsRUFBRSxFQUFFLEdBQUtBLG9CQUM5Q0YsR0FBRyxDQUFDLENBQUMsRUFBRUYsSUFBSSxFQUFFLEdBQUtBO0lBQ3ZCO0lBRUEsTUFBTUssYUFBYTtRQUNqQjtZQUNFQyxNQUFNO1lBQ05DLE9BQU9mLFlBQVksQ0FBQyx1QkFBdUI7WUFDM0NnQixVQUFVO1lBQ1ZDLE1BQU07UUFDUjtRQUNBO1lBQ0VILE1BQU07WUFDTkgsT0FBTztnQkFDTE8sT0FBTztvQkFDTEMsY0FBYztvQkFDZEMsV0FBVztvQkFDWEMsUUFBUTtvQkFDUkMsU0FBUztnQkFDWDtZQUNGO1lBQ0FDLFFBQVE7Z0JBQ047b0JBQ0VULE1BQU07b0JBQ05ILE9BQU87d0JBQ0xhLGFBQWF4QixZQUFZLENBQUMsMkNBQTJDO29CQUN2RTtvQkFDQXlCLGNBQWM7b0JBQ2RWLE9BQU9mLFlBQVksQ0FBQyxrQkFBa0I7b0JBQ3RDMEIsU0FBUzt3QkFDUDs0QkFDRVgsT0FBT2YsWUFBWSxDQUFDLG1CQUFtQjs0QkFDdkMyQixPQUFPO3dCQUNUO3FCQUNEO29CQUNEWCxVQUFVO29CQUNWQyxNQUFNO2dCQUNSO2dCQUNBO29CQUNFSCxNQUFNO29CQUNOQyxPQUFPZixZQUFZLENBQUMsa0JBQWtCO29CQUN0Q2dCLFVBQVU7b0JBQ1ZDLE1BQU07Z0JBQ1I7YUFDRDtZQUNEQSxNQUFNO1FBQ1I7S0FDRDtJQUVELG1HQUFtRztJQUNuRyxJQUFJWixrQkFBa0J1QixRQUFRO1FBQzFCZixVQUFVLENBQUMsRUFBRSxDQUFDVSxNQUFNLENBQUMsRUFBRSxDQUFnQkcsT0FBTyxDQUFDRyxJQUFJLENBQUM7WUFDcERkLE9BQU9mLFlBQVksQ0FBQyxzQkFBc0I7WUFDMUMyQixPQUFPO1FBQ1Q7UUFDRWQsVUFBVSxDQUFDLEVBQUUsQ0FBQ1UsTUFBTSxDQUFDLEVBQUUsQ0FBZVosS0FBSyxHQUFHO1lBQzlDbUIsV0FBVyxDQUFDLEVBQUVQLE1BQU0sRUFBRSxHQUFLQSxRQUFRUSxhQUFhO1FBQ2xEO1FBRUFsQixVQUFVLENBQUMsRUFBRSxDQUFDVSxNQUFNLENBQUNNLElBQUksQ0FBQztZQUN4QmYsTUFBTTtZQUNOSCxPQUFPO2dCQUNMbUIsV0FBVyxDQUFDLEVBQUVQLE1BQU0sRUFBRTtvQkFDcEIsT0FBT0EsUUFBUVEsYUFBYTtnQkFDOUI7WUFDRjtZQUNBaEIsT0FBT2YsWUFBWSxDQUFDLDhCQUE4QjtZQUNsRGdDLFlBQVkzQjtZQUNaVyxVQUFVO1lBQ1ZDLE1BQU07UUFDUjtJQUNGO0lBRUFKLFVBQVUsQ0FBQyxFQUFFLENBQUNVLE1BQU0sQ0FBQ00sSUFBSSxDQUFDO1FBQ3hCZixNQUFNO1FBQ05DLE9BQU9mLFlBQVksQ0FBQyxzQkFBc0I7UUFDMUNpQixNQUFNO0lBQ1I7SUFFQSxPQUFPSjtBQUNUIn0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL2RyYXdlci9iYXNlRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXNlciB9IGZyb20gJ3BheWxvYWQvYXV0aCdcbmltcG9ydCB0eXBlIHsgQ29uZmlnIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBSYWRpb0ZpZWxkLCBUZXh0RmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBleHRyYWN0VHJhbnNsYXRpb25zIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmltcG9ydCB7IHZhbGlkYXRlVXJsIH0gZnJvbSAnLi4vLi4vLi4vbGV4aWNhbC91dGlscy91cmwnXG5cbmNvbnN0IHRyYW5zbGF0aW9ucyA9IGV4dHJhY3RUcmFuc2xhdGlvbnMoW1xuICAnZmllbGRzOnRleHRUb0Rpc3BsYXknLFxuICAnZmllbGRzOmxpbmtUeXBlJyxcbiAgJ2ZpZWxkczpjaG9vc2VCZXR3ZWVuQ3VzdG9tVGV4dE9yRG9jdW1lbnQnLFxuICAnZmllbGRzOmN1c3RvbVVSTCcsXG4gICdmaWVsZHM6aW50ZXJuYWxMaW5rJyxcbiAgJ2ZpZWxkczplbnRlclVSTCcsXG4gICdmaWVsZHM6Y2hvb3NlRG9jdW1lbnRUb0xpbmsnLFxuICAnZmllbGRzOm9wZW5Jbk5ld1RhYicsXG5dKVxuXG5leHBvcnQgY29uc3QgZ2V0QmFzZUZpZWxkcyA9IChcbiAgY29uZmlnOiBDb25maWcsXG4gIGVuYWJsZWRDb2xsZWN0aW9uczogZmFsc2UgfCBzdHJpbmdbXSxcbiAgZGlzYWJsZWRDb2xsZWN0aW9uczogZmFsc2UgfCBzdHJpbmdbXSxcbik6IEZpZWxkW10gPT4ge1xuICBsZXQgZW5hYmxlZFJlbGF0aW9uczogc3RyaW5nW11cblxuICAvKipcbiAgICogRmlndXJlIG91dCB3aGljaCByZWxhdGlvbnMgc2hvdWxkIGJlIGVuYWJsZWQgKGVuYWJsZWRSZWxhdGlvbnMpIGJhc2VkIG9uIGEgY29sbGVjdGlvbidzIGFkbWluLmVuYWJsZVJpY2hUZXh0TGluayBwcm9wZXJ0eSxcbiAgICogb3IgdGhlIExpbmsgRmVhdHVyZSdzIGVuYWJsZWRDb2xsZWN0aW9ucyBhbmQgZGlzYWJsZWRDb2xsZWN0aW9ucyBwcm9wZXJ0aWVzIHdoaWNoIG92ZXJyaWRlIGl0LlxuICAgKi9cbiAgaWYgKGVuYWJsZWRDb2xsZWN0aW9ucykge1xuICAgIGVuYWJsZWRSZWxhdGlvbnMgPSBlbmFibGVkQ29sbGVjdGlvbnNcbiAgfSBlbHNlIGlmIChkaXNhYmxlZENvbGxlY3Rpb25zKSB7XG4gICAgZW5hYmxlZFJlbGF0aW9ucyA9IGNvbmZpZy5jb2xsZWN0aW9uc1xuICAgICAgLmZpbHRlcigoeyBzbHVnIH0pID0+ICFkaXNhYmxlZENvbGxlY3Rpb25zLmluY2x1ZGVzKHNsdWcpKVxuICAgICAgLm1hcCgoeyBzbHVnIH0pID0+IHNsdWcpXG4gIH0gZWxzZSB7XG4gICAgZW5hYmxlZFJlbGF0aW9ucyA9IGNvbmZpZy5jb2xsZWN0aW9uc1xuICAgICAgLmZpbHRlcigoeyBhZG1pbjogeyBlbmFibGVSaWNoVGV4dExpbmssIGhpZGRlbiB9IH0pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBoaWRkZW4gIT09ICdmdW5jdGlvbicgJiYgaGlkZGVuKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVuYWJsZVJpY2hUZXh0TGlua1xuICAgICAgfSlcbiAgICAgIC5tYXAoKHsgc2x1ZyB9KSA9PiBzbHVnKVxuICB9XG5cbiAgY29uc3QgYmFzZUZpZWxkcyA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAndGV4dCcsXG4gICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydmaWVsZHM6dGV4dFRvRGlzcGxheSddLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnZmllbGRzJyxcbiAgICAgIGFkbWluOiB7XG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgYm9yZGVyQm90dG9tOiAwLFxuICAgICAgICAgIGJvcmRlclRvcDogMCxcbiAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdsaW5rVHlwZScsXG4gICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB0cmFuc2xhdGlvbnNbJ2ZpZWxkczpjaG9vc2VCZXR3ZWVuQ3VzdG9tVGV4dE9yRG9jdW1lbnQnXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ2N1c3RvbScsXG4gICAgICAgICAgbGFiZWw6IHRyYW5zbGF0aW9uc1snZmllbGRzOmxpbmtUeXBlJ10sXG4gICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydmaWVsZHM6Y3VzdG9tVVJMJ10sXG4gICAgICAgICAgICAgIHZhbHVlOiAnY3VzdG9tJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICB0eXBlOiAncmFkaW8nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3VybCcsXG4gICAgICAgICAgbGFiZWw6IHRyYW5zbGF0aW9uc1snZmllbGRzOmVudGVyVVJMJ10sXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgIHZhbGlkYXRlOiAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlICYmICF2YWxpZGF0ZVVybCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuICdJbnZhbGlkIFVSTCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSBhcyBGaWVsZFtdLFxuICAgICAgdHlwZTogJ2dyb3VwJyxcbiAgICB9LFxuICBdXG5cbiAgLy8gT25seSBkaXNwbGF5IGludGVybmFsIGxpbmstc3BlY2lmaWMgZmllbGRzIC8gb3B0aW9ucyAvIGNvbmRpdGlvbnMgaWYgdGhlcmUgYXJlIGVuYWJsZWQgcmVsYXRpb25zXG4gIGlmIChlbmFibGVkUmVsYXRpb25zPy5sZW5ndGgpIHtcbiAgICA7KGJhc2VGaWVsZHNbMV0uZmllbGRzWzBdIGFzIFJhZGlvRmllbGQpLm9wdGlvbnMucHVzaCh7XG4gICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydmaWVsZHM6aW50ZXJuYWxMaW5rJ10sXG4gICAgICB2YWx1ZTogJ2ludGVybmFsJyxcbiAgICB9KVxuICAgIDsoYmFzZUZpZWxkc1sxXS5maWVsZHNbMV0gYXMgVGV4dEZpZWxkKS5hZG1pbiA9IHtcbiAgICAgIGNvbmRpdGlvbjogKHsgZmllbGRzIH0pID0+IGZpZWxkcz8ubGlua1R5cGUgIT09ICdpbnRlcm5hbCcsXG4gICAgfVxuXG4gICAgYmFzZUZpZWxkc1sxXS5maWVsZHMucHVzaCh7XG4gICAgICBuYW1lOiAnZG9jJyxcbiAgICAgIGFkbWluOiB7XG4gICAgICAgIGNvbmRpdGlvbjogKHsgZmllbGRzIH0pID0+IHtcbiAgICAgICAgICByZXR1cm4gZmllbGRzPy5saW5rVHlwZSA9PT0gJ2ludGVybmFsJ1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIC8vIHdoZW4gYWRtaW4uaGlkZGVuIGlzIGEgZnVuY3Rpb24gd2UgbmVlZCB0byBkeW5hbWljYWxseSBjYWxsIGhpZGRlbiB3aXRoIHRoZSB1c2VyIHRvIGtub3cgaWYgdGhlIGNvbGxlY3Rpb24gc2hvdWxkIGJlIHNob3duXG4gICAgICBmaWx0ZXJPcHRpb25zOlxuICAgICAgICAhZW5hYmxlZENvbGxlY3Rpb25zICYmICFkaXNhYmxlZENvbGxlY3Rpb25zXG4gICAgICAgICAgPyAoeyByZWxhdGlvblRvLCB1c2VyIH0pID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaGlkZGVuID0gY29uZmlnLmNvbGxlY3Rpb25zLmZpbmQoKHsgc2x1ZyB9KSA9PiBzbHVnID09PSByZWxhdGlvblRvKS5hZG1pbi5oaWRkZW5cbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBoaWRkZW4gPT09ICdmdW5jdGlvbicgJiYgaGlkZGVuKHsgdXNlciB9IGFzIHsgdXNlcjogVXNlciB9KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiBudWxsLFxuICAgICAgbGFiZWw6IHRyYW5zbGF0aW9uc1snZmllbGRzOmNob29zZURvY3VtZW50VG9MaW5rJ10sXG4gICAgICByZWxhdGlvblRvOiBlbmFibGVkUmVsYXRpb25zLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB0eXBlOiAncmVsYXRpb25zaGlwJyxcbiAgICB9KVxuICB9XG5cbiAgYmFzZUZpZWxkc1sxXS5maWVsZHMucHVzaCh7XG4gICAgbmFtZTogJ25ld1RhYicsXG4gICAgbGFiZWw6IHRyYW5zbGF0aW9uc1snZmllbGRzOm9wZW5Jbk5ld1RhYiddLFxuICAgIHR5cGU6ICdjaGVja2JveCcsXG4gIH0pXG5cbiAgcmV0dXJuIGJhc2VGaWVsZHMgYXMgRmllbGRbXVxufVxuIl0sIm5hbWVzIjpbImdldEJhc2VGaWVsZHMiLCJ0cmFuc2xhdGlvbnMiLCJleHRyYWN0VHJhbnNsYXRpb25zIiwiY29uZmlnIiwiZW5hYmxlZENvbGxlY3Rpb25zIiwiZGlzYWJsZWRDb2xsZWN0aW9ucyIsImVuYWJsZWRSZWxhdGlvbnMiLCJjb2xsZWN0aW9ucyIsImZpbHRlciIsInNsdWciLCJpbmNsdWRlcyIsIm1hcCIsImFkbWluIiwiZW5hYmxlUmljaFRleHRMaW5rIiwiaGlkZGVuIiwiYmFzZUZpZWxkcyIsIm5hbWUiLCJsYWJlbCIsInJlcXVpcmVkIiwidHlwZSIsInN0eWxlIiwiYm9yZGVyQm90dG9tIiwiYm9yZGVyVG9wIiwibWFyZ2luIiwicGFkZGluZyIsImZpZWxkcyIsImRlc2NyaXB0aW9uIiwiZGVmYXVsdFZhbHVlIiwib3B0aW9ucyIsInZhbHVlIiwidmFsaWRhdGUiLCJ2YWxpZGF0ZVVybCIsImxlbmd0aCIsInB1c2giLCJjb25kaXRpb24iLCJsaW5rVHlwZSIsImZpbHRlck9wdGlvbnMiLCJyZWxhdGlvblRvIiwidXNlciIsImZpbmQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBbUJhQTs7O2VBQUFBOzs7MkJBZnVCO3FCQUVSO0FBRTVCLE1BQU1DLGVBQWVDLElBQUFBLDhCQUFtQixFQUFDO0lBQ3ZDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQUVNLE1BQU1GLGdCQUFnQixDQUMzQkcsUUFDQUMsb0JBQ0FDO0lBRUEsSUFBSUM7SUFFSjs7O0dBR0MsR0FDRCxJQUFJRixvQkFBb0I7UUFDdEJFLG1CQUFtQkY7SUFDckIsT0FBTyxJQUFJQyxxQkFBcUI7UUFDOUJDLG1CQUFtQkgsT0FBT0ksV0FBVyxDQUNsQ0MsTUFBTSxDQUFDLENBQUMsRUFBRUMsSUFBSSxFQUFFLEdBQUssQ0FBQ0osb0JBQW9CSyxRQUFRLENBQUNELE9BQ25ERSxHQUFHLENBQUMsQ0FBQyxFQUFFRixJQUFJLEVBQUUsR0FBS0E7SUFDdkIsT0FBTztRQUNMSCxtQkFBbUJILE9BQU9JLFdBQVcsQ0FDbENDLE1BQU0sQ0FBQyxDQUFDLEVBQUVJLE9BQU8sRUFBRUMsa0JBQWtCLEVBQUVDLE1BQU0sRUFBRSxFQUFFO1lBQ2hELElBQUksT0FBT0EsV0FBVyxjQUFjQSxRQUFRO2dCQUMxQyxPQUFPO1lBQ1Q7WUFDQSxPQUFPRDtRQUNULEdBQ0NGLEdBQUcsQ0FBQyxDQUFDLEVBQUVGLElBQUksRUFBRSxHQUFLQTtJQUN2QjtJQUVBLE1BQU1NLGFBQWE7UUFDakI7WUFDRUMsTUFBTTtZQUNOQyxPQUFPaEIsWUFBWSxDQUFDLHVCQUF1QjtZQUMzQ2lCLFVBQVU7WUFDVkMsTUFBTTtRQUNSO1FBQ0E7WUFDRUgsTUFBTTtZQUNOSixPQUFPO2dCQUNMUSxPQUFPO29CQUNMQyxjQUFjO29CQUNkQyxXQUFXO29CQUNYQyxRQUFRO29CQUNSQyxTQUFTO2dCQUNYO1lBQ0Y7WUFDQUMsUUFBUTtnQkFDTjtvQkFDRVQsTUFBTTtvQkFDTkosT0FBTzt3QkFDTGMsYUFBYXpCLFlBQVksQ0FBQywyQ0FBMkM7b0JBQ3ZFO29CQUNBMEIsY0FBYztvQkFDZFYsT0FBT2hCLFlBQVksQ0FBQyxrQkFBa0I7b0JBQ3RDMkIsU0FBUzt3QkFDUDs0QkFDRVgsT0FBT2hCLFlBQVksQ0FBQyxtQkFBbUI7NEJBQ3ZDNEIsT0FBTzt3QkFDVDtxQkFDRDtvQkFDRFgsVUFBVTtvQkFDVkMsTUFBTTtnQkFDUjtnQkFDQTtvQkFDRUgsTUFBTTtvQkFDTkMsT0FBT2hCLFlBQVksQ0FBQyxrQkFBa0I7b0JBQ3RDaUIsVUFBVTtvQkFDVkMsTUFBTTtvQkFDTlcsVUFBVSxDQUFDRDt3QkFDVCxJQUFJQSxTQUFTLENBQUNFLElBQUFBLGdCQUFXLEVBQUNGLFFBQVE7NEJBQ2hDLE9BQU87d0JBQ1Q7b0JBQ0Y7Z0JBQ0Y7YUFDRDtZQUNEVixNQUFNO1FBQ1I7S0FDRDtJQUVELG1HQUFtRztJQUNuRyxJQUFJYixrQkFBa0IwQixRQUFRO1FBQzFCakIsVUFBVSxDQUFDLEVBQUUsQ0FBQ1UsTUFBTSxDQUFDLEVBQUUsQ0FBZ0JHLE9BQU8sQ0FBQ0ssSUFBSSxDQUFDO1lBQ3BEaEIsT0FBT2hCLFlBQVksQ0FBQyxzQkFBc0I7WUFDMUM0QixPQUFPO1FBQ1Q7UUFDRWQsVUFBVSxDQUFDLEVBQUUsQ0FBQ1UsTUFBTSxDQUFDLEVBQUUsQ0FBZWIsS0FBSyxHQUFHO1lBQzlDc0IsV0FBVyxDQUFDLEVBQUVULE1BQU0sRUFBRSxHQUFLQSxRQUFRVSxhQUFhO1FBQ2xEO1FBRUFwQixVQUFVLENBQUMsRUFBRSxDQUFDVSxNQUFNLENBQUNRLElBQUksQ0FBQztZQUN4QmpCLE1BQU07WUFDTkosT0FBTztnQkFDTHNCLFdBQVcsQ0FBQyxFQUFFVCxNQUFNLEVBQUU7b0JBQ3BCLE9BQU9BLFFBQVFVLGFBQWE7Z0JBQzlCO1lBQ0Y7WUFDQSw2SEFBNkg7WUFDN0hDLGVBQ0UsQ0FBQ2hDLHNCQUFzQixDQUFDQyxzQkFDcEIsQ0FBQyxFQUFFZ0MsVUFBVSxFQUFFQyxJQUFJLEVBQUU7Z0JBQ25CLE1BQU14QixTQUFTWCxPQUFPSSxXQUFXLENBQUNnQyxJQUFJLENBQUMsQ0FBQyxFQUFFOUIsSUFBSSxFQUFFLEdBQUtBLFNBQVM0QixZQUFZekIsS0FBSyxDQUFDRSxNQUFNO2dCQUN0RixJQUFJLE9BQU9BLFdBQVcsY0FBY0EsT0FBTztvQkFBRXdCO2dCQUFLLElBQXNCO29CQUN0RSxPQUFPO2dCQUNUO1lBQ0YsSUFDQTtZQUNOckIsT0FBT2hCLFlBQVksQ0FBQyw4QkFBOEI7WUFDbERvQyxZQUFZL0I7WUFDWlksVUFBVTtZQUNWQyxNQUFNO1FBQ1I7SUFDRjtJQUVBSixVQUFVLENBQUMsRUFBRSxDQUFDVSxNQUFNLENBQUNRLElBQUksQ0FBQztRQUN4QmpCLE1BQU07UUFDTkMsT0FBT2hCLFlBQVksQ0FBQyxzQkFBc0I7UUFDMUNrQixNQUFNO0lBQ1I7SUFFQSxPQUFPSjtBQUNUIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Link/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAM1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAY/C,KAAK,6BAA6B,GAC9B;IACE;;;QAGI;IACJ,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAG9B,kBAAkB,CAAC,EAAE,KAAK,CAAA;CAC3B,GACD;IAEE,mBAAmB,CAAC,EAAE,KAAK,CAAA;IAE3B;;;QAGI;IACJ,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC9B,CAAA;AAEL,MAAM,MAAM,gBAAgB,GAAG,6BAA6B,GAAG;IAC7D;;;OAGG;IACH,MAAM,CAAC,EACH,CAAC,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,aAAa,EAAE,KAAK,EAAE,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,KAAK,EAAE,CAAC,GACpF,KAAK,EAAE,CAAA;CACZ,CAAA;AAED,eAAO,MAAM,WAAW,UAAW,gBAAgB,KAAG,eA+IrD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Link/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAM1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAY/C,KAAK,6BAA6B,GAC9B;IACE;;;QAGI;IACJ,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAG9B,kBAAkB,CAAC,EAAE,KAAK,CAAA;CAC3B,GACD;IAEE,mBAAmB,CAAC,EAAE,KAAK,CAAA;IAE3B;;;QAGI;IACJ,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC9B,CAAA;AAEL,MAAM,MAAM,gBAAgB,GAAG,6BAA6B,GAAG;IAC7D;;;OAGG;IACH,MAAM,CAAC,EACH,CAAC,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,aAAa,EAAE,KAAK,EAAE,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,KAAK,EAAE,CAAC,GACpF,KAAK,EAAE,CAAA;CACZ,CAAA;AAED,eAAO,MAAM,WAAW,UAAW,gBAAgB,KAAG,eAsJrD,CAAA"}
@@ -116,7 +116,7 @@ const LinkFeature = (props)=>{
116
116
  }
117
117
  });
118
118
  const rel = node.fields.newTab ? ' rel="noopener noreferrer"' : '';
119
- const href = node.fields.linkType === 'custom' ? node.fields.url : node.fields.doc?.value?.id;
119
+ const href = node.fields.linkType === 'custom' ? node.fields.url : (node.fields.doc?.value);
120
120
  return `<a href="${href}"${rel}>${childrenText}</a>`;
121
121
  },
122
122
  nodeTypes: [
@@ -143,7 +143,10 @@ const LinkFeature = (props)=>{
143
143
  }
144
144
  });
145
145
  const rel = node.fields.newTab ? ' rel="noopener noreferrer"' : '';
146
- const href = node.fields.linkType === 'custom' ? node.fields.url : node.fields.doc?.value?.id;
146
+ let href = node.fields.url;
147
+ if (node.fields.linkType === 'internal') {
148
+ href = typeof node.fields.doc?.value === 'string' ? node.fields.doc?.value : node.fields.doc?.value?.id;
149
+ }
147
150
  return `<a href="${href}"${rel}>${childrenText}</a>`;
148
151
  },
149
152
  nodeTypes: [
@@ -193,4 +196,4 @@ const LinkFeature = (props)=>{
193
196
  };
194
197
  };
195
198
 
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgaTE4biB9IGZyb20gJ2kxOG5leHQnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7ICRmaW5kTWF0Y2hpbmdQYXJlbnQgfSBmcm9tICdAbGV4aWNhbC91dGlscydcbmltcG9ydCB7ICRnZXRTZWxlY3Rpb24sICRpc1JhbmdlU2VsZWN0aW9uIH0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHR5cGUgeyBIVE1MQ29udmVydGVyIH0gZnJvbSAnLi4vY29udmVydGVycy9odG1sL2NvbnZlcnRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgRmVhdHVyZVByb3ZpZGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNlcmlhbGl6ZWRBdXRvTGlua05vZGUgfSBmcm9tICcuL25vZGVzL0F1dG9MaW5rTm9kZSdcbmltcG9ydCB0eXBlIHsgTGlua0ZpZWxkcywgU2VyaWFsaXplZExpbmtOb2RlIH0gZnJvbSAnLi9ub2Rlcy9MaW5rTm9kZSdcblxuaW1wb3J0IHsgZ2V0U2VsZWN0ZWROb2RlIH0gZnJvbSAnLi4vLi4vbGV4aWNhbC91dGlscy9nZXRTZWxlY3RlZE5vZGUnXG5pbXBvcnQgeyBGZWF0dXJlc1NlY3Rpb25XaXRoRW50cmllcyB9IGZyb20gJy4uL2NvbW1vbi9mbG9hdGluZ1NlbGVjdFRvb2xiYXJGZWF0dXJlc0J1dHRvbnNTZWN0aW9uJ1xuaW1wb3J0IHsgY29udmVydExleGljYWxOb2Rlc1RvSFRNTCB9IGZyb20gJy4uL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXInXG5pbXBvcnQgeyBBdXRvTGlua05vZGUgfSBmcm9tICcuL25vZGVzL0F1dG9MaW5rTm9kZSdcbmltcG9ydCB7ICRpc0xpbmtOb2RlLCBMaW5rTm9kZSwgVE9HR0xFX0xJTktfQ09NTUFORCB9IGZyb20gJy4vbm9kZXMvTGlua05vZGUnXG5pbXBvcnQgeyBUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQgfSBmcm9tICcuL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL0xpbmtFZGl0b3IvY29tbWFuZHMnXG5pbXBvcnQgeyBsaW5rUG9wdWxhdGlvblByb21pc2VIT0MgfSBmcm9tICcuL3BvcHVsYXRpb25Qcm9taXNlJ1xuXG50eXBlIEV4Y2x1c2l2ZUxpbmtDb2xsZWN0aW9uc1Byb3BzID1cbiAgfCB7XG4gICAgICAvKipcbiAgICAgICAqIFRoZSBjb2xsZWN0aW9ucyB0aGF0IHNob3VsZCBiZSBkaXNhYmxlZCBmb3IgaW50ZXJuYWwgbGlua2luZy4gT3ZlcnJpZGVzIHRoZSBgZW5hYmxlUmljaFRleHRMaW5rYCBwcm9wZXJ0eSBpbiB0aGUgY29sbGVjdGlvbiBjb25maWcuXG4gICAgICAgKiBXaGVuIHRoaXMgcHJvcGVydHkgaXMgc2V0LCBgZW5hYmxlZENvbGxlY3Rpb25zYCB3aWxsIG5vdCBiZSBhdmFpbGFibGUuXG4gICAgICAgKiovXG4gICAgICBkaXNhYmxlZENvbGxlY3Rpb25zPzogc3RyaW5nW11cblxuICAgICAgLy8gRW5zdXJlcyB0aGF0IGVuYWJsZWRDb2xsZWN0aW9ucyBpcyBub3QgYXZhaWxhYmxlIHdoZW4gZGlzYWJsZWRDb2xsZWN0aW9ucyBpcyBzZXRcbiAgICAgIGVuYWJsZWRDb2xsZWN0aW9ucz86IG5ldmVyXG4gICAgfVxuICB8IHtcbiAgICAgIC8vIEVuc3VyZXMgdGhhdCBkaXNhYmxlZENvbGxlY3Rpb25zIGlzIG5vdCBhdmFpbGFibGUgd2hlbiBlbmFibGVkQ29sbGVjdGlvbnMgaXMgc2V0XG4gICAgICBkaXNhYmxlZENvbGxlY3Rpb25zPzogbmV2ZXJcblxuICAgICAgLyoqXG4gICAgICAgKiBUaGUgY29sbGVjdGlvbnMgdGhhdCBzaG91bGQgYmUgZW5hYmxlZCBmb3IgaW50ZXJuYWwgbGlua2luZy4gT3ZlcnJpZGVzIHRoZSBgZW5hYmxlUmljaFRleHRMaW5rYCBwcm9wZXJ0eSBpbiB0aGUgY29sbGVjdGlvbiBjb25maWdcbiAgICAgICAqIFdoZW4gdGhpcyBwcm9wZXJ0eSBpcyBzZXQsIGBkaXNhYmxlZENvbGxlY3Rpb25zYCB3aWxsIG5vdCBiZSBhdmFpbGFibGUuXG4gICAgICAgKiovXG4gICAgICBlbmFibGVkQ29sbGVjdGlvbnM/OiBzdHJpbmdbXVxuICAgIH1cblxuZXhwb3J0IHR5cGUgTGlua0ZlYXR1cmVQcm9wcyA9IEV4Y2x1c2l2ZUxpbmtDb2xsZWN0aW9uc1Byb3BzICYge1xuICAvKipcbiAgICogQSBmdW5jdGlvbiBvciBhcnJheSBkZWZpbmluZyBhZGRpdGlvbmFsIGZpZWxkcyBmb3IgdGhlIGxpbmsgZmVhdHVyZS4gVGhlc2Ugd2lsbCBiZVxuICAgKiBkaXNwbGF5ZWQgaW4gdGhlIGxpbmsgZWRpdG9yIGRyYXdlci5cbiAgICovXG4gIGZpZWxkcz86XG4gICAgfCAoKGFyZ3M6IHsgY29uZmlnOiBTYW5pdGl6ZWRDb25maWc7IGRlZmF1bHRGaWVsZHM6IEZpZWxkW107IGkxOG46IGkxOG4gfSkgPT4gRmllbGRbXSlcbiAgICB8IEZpZWxkW11cbn1cblxuZXhwb3J0IGNvbnN0IExpbmtGZWF0dXJlID0gKHByb3BzOiBMaW5rRmVhdHVyZVByb3BzKTogRmVhdHVyZVByb3ZpZGVyID0+IHtcbiAgcmV0dXJuIHtcbiAgICBmZWF0dXJlOiAoKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmbG9hdGluZ1NlbGVjdFRvb2xiYXI6IHtcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAgRmVhdHVyZXNTZWN0aW9uV2l0aEVudHJpZXMoW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgQ2hpbGRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgICAgICBpbXBvcnQoJy4uLy4uL2xleGljYWwvdWkvaWNvbnMvTGluaycpLnRoZW4oKG1vZHVsZSkgPT4gbW9kdWxlLkxpbmtJY29uKSxcbiAgICAgICAgICAgICAgICBpc0FjdGl2ZTogKHsgc2VsZWN0aW9uIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZSA9IGdldFNlbGVjdGVkTm9kZShzZWxlY3Rpb24pXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmtQYXJlbnQgPSAkZmluZE1hdGNoaW5nUGFyZW50KHNlbGVjdGVkTm9kZSwgJGlzTGlua05vZGUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBsaW5rUGFyZW50ICE9IG51bGxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAga2V5OiAnbGluaycsXG4gICAgICAgICAgICAgICAgbGFiZWw6IGBMaW5rYCxcbiAgICAgICAgICAgICAgICBvbkNsaWNrOiAoeyBlZGl0b3IsIGlzQWN0aXZlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmICghaXNBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkVGV4dCA9IG51bGxcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUZXh0ID0gJGdldFNlbGVjdGlvbigpLmdldFRleHRDb250ZW50KClcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlua0ZpZWxkczogTGlua0ZpZWxkcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICBkb2M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgbGlua1R5cGU6ICdjdXN0b20nLFxuICAgICAgICAgICAgICAgICAgICAgIG5ld1RhYjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly8nLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5ELCB7XG4gICAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBsaW5rRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNlbGVjdGVkVGV4dCxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSBsaW5rXG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfQ09NTUFORCwgbnVsbClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9yZGVyOiAxLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjb252ZXJ0ZXJzOiB7XG4gICAgICAgICAgICAgIGh0bWw6IHtcbiAgICAgICAgICAgICAgICBjb252ZXJ0ZXI6IGFzeW5jICh7IGNvbnZlcnRlcnMsIG5vZGUsIHBhcmVudCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlblRleHQgPSBhd2FpdCBjb252ZXJ0TGV4aWNhbE5vZGVzVG9IVE1MKHtcbiAgICAgICAgICAgICAgICAgICAgY29udmVydGVycyxcbiAgICAgICAgICAgICAgICAgICAgbGV4aWNhbE5vZGVzOiBub2RlLmNoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5ub2RlLFxuICAgICAgICAgICAgICAgICAgICAgIHBhcmVudCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbDogc3RyaW5nID0gbm9kZS5maWVsZHMubmV3VGFiID8gJyByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCInIDogJydcblxuICAgICAgICAgICAgICAgICAgY29uc3QgaHJlZjogc3RyaW5nID1cbiAgICAgICAgICAgICAgICAgICAgbm9kZS5maWVsZHMubGlua1R5cGUgPT09ICdjdXN0b20nID8gbm9kZS5maWVsZHMudXJsIDogbm9kZS5maWVsZHMuZG9jPy52YWx1ZT8uaWRcblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGA8YSBocmVmPVwiJHtocmVmfVwiJHtyZWx9PiR7Y2hpbGRyZW5UZXh0fTwvYT5gXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBub2RlVHlwZXM6IFtMaW5rTm9kZS5nZXRUeXBlKCldLFxuICAgICAgICAgICAgICB9IGFzIEhUTUxDb252ZXJ0ZXI8U2VyaWFsaXplZExpbmtOb2RlPixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBub2RlOiBMaW5rTm9kZSxcbiAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlczogW2xpbmtQb3B1bGF0aW9uUHJvbWlzZUhPQyhwcm9wcyldLFxuICAgICAgICAgICAgdHlwZTogTGlua05vZGUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgLy8gVE9ETzogQWRkIHZhbGlkYXRpb24gc2ltaWxhciB0byB1cGxvYWQgZm9yIGludGVybmFsIGxpbmtzIGFuZCBmaWVsZHNcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNvbnZlcnRlcnM6IHtcbiAgICAgICAgICAgICAgaHRtbDoge1xuICAgICAgICAgICAgICAgIGNvbnZlcnRlcjogYXN5bmMgKHsgY29udmVydGVycywgbm9kZSwgcGFyZW50IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuVGV4dCA9IGF3YWl0IGNvbnZlcnRMZXhpY2FsTm9kZXNUb0hUTUwoe1xuICAgICAgICAgICAgICAgICAgICBjb252ZXJ0ZXJzLFxuICAgICAgICAgICAgICAgICAgICBsZXhpY2FsTm9kZXM6IG5vZGUuY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDoge1xuICAgICAgICAgICAgICAgICAgICAgIC4uLm5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgcGFyZW50LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgICAgY29uc3QgcmVsOiBzdHJpbmcgPSBub2RlLmZpZWxkcy5uZXdUYWIgPyAnIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIicgOiAnJ1xuXG4gICAgICAgICAgICAgICAgICBjb25zdCBocmVmOiBzdHJpbmcgPVxuICAgICAgICAgICAgICAgICAgICBub2RlLmZpZWxkcy5saW5rVHlwZSA9PT0gJ2N1c3RvbScgPyBub2RlLmZpZWxkcy51cmwgOiBub2RlLmZpZWxkcy5kb2M/LnZhbHVlPy5pZFxuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gYDxhIGhyZWY9XCIke2hyZWZ9XCIke3JlbH0+JHtjaGlsZHJlblRleHR9PC9hPmBcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG5vZGVUeXBlczogW0F1dG9MaW5rTm9kZS5nZXRUeXBlKCldLFxuICAgICAgICAgICAgICB9IGFzIEhUTUxDb252ZXJ0ZXI8U2VyaWFsaXplZEF1dG9MaW5rTm9kZT4sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbm9kZTogQXV0b0xpbmtOb2RlLFxuICAgICAgICAgICAgcG9wdWxhdGlvblByb21pc2VzOiBbbGlua1BvcHVsYXRpb25Qcm9taXNlSE9DKHByb3BzKV0sXG4gICAgICAgICAgICB0eXBlOiBBdXRvTGlua05vZGUuZ2V0VHlwZSgpLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgICAgaW1wb3J0KCcuL3BsdWdpbnMvbGluaycpLnRoZW4oKG1vZHVsZSkgPT4gbW9kdWxlLkxpbmtQbHVnaW4pLFxuICAgICAgICAgICAgcG9zaXRpb246ICdub3JtYWwnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgIGltcG9ydCgnLi9wbHVnaW5zL2F1dG9MaW5rJykudGhlbigobW9kdWxlKSA9PiBtb2R1bGUuQXV0b0xpbmtQbHVnaW4pLFxuICAgICAgICAgICAgcG9zaXRpb246ICdub3JtYWwnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgIGltcG9ydCgnLi9wbHVnaW5zL2NsaWNrYWJsZUxpbmsnKS50aGVuKChtb2R1bGUpID0+IG1vZHVsZS5DbGlja2FibGVMaW5rUGx1Z2luKSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnbm9ybWFsJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICBpbXBvcnQoJy4vcGx1Z2lucy9mbG9hdGluZ0xpbmtFZGl0b3InKS50aGVuKChtb2R1bGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4gPSBtb2R1bGUuRmxvYXRpbmdMaW5rRWRpdG9yUGx1Z2luXG4gICAgICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgncGF5bG9hZC91dGlsaXRpZXMnKS50aGVuKChtb2R1bGUpID0+XG4gICAgICAgICAgICAgICAgICBtb2R1bGUud2l0aE1lcmdlZFByb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgQ29tcG9uZW50OiBmbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4sXG4gICAgICAgICAgICAgICAgICAgIHRvTWVyZ2VJbnRvUHJvcHM6IHByb3BzLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnZmxvYXRpbmdBbmNob3JFbGVtJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBwcm9wcyxcbiAgICAgIH1cbiAgICB9LFxuICAgIGtleTogJ2xpbmsnLFxuICB9XG59XG4iXSwibmFtZXMiOlsiTGlua0ZlYXR1cmUiLCJwcm9wcyIsImZlYXR1cmUiLCJmbG9hdGluZ1NlbGVjdFRvb2xiYXIiLCJzZWN0aW9ucyIsIkZlYXR1cmVzU2VjdGlvbldpdGhFbnRyaWVzIiwiQ2hpbGRDb21wb25lbnQiLCJ0aGVuIiwibW9kdWxlIiwiTGlua0ljb24iLCJpc0FjdGl2ZSIsInNlbGVjdGlvbiIsIiRpc1JhbmdlU2VsZWN0aW9uIiwic2VsZWN0ZWROb2RlIiwiZ2V0U2VsZWN0ZWROb2RlIiwibGlua1BhcmVudCIsIiRmaW5kTWF0Y2hpbmdQYXJlbnQiLCIkaXNMaW5rTm9kZSIsImtleSIsImxhYmVsIiwib25DbGljayIsImVkaXRvciIsInNlbGVjdGVkVGV4dCIsImdldEVkaXRvclN0YXRlIiwicmVhZCIsIiRnZXRTZWxlY3Rpb24iLCJnZXRUZXh0Q29udGVudCIsImxpbmtGaWVsZHMiLCJkb2MiLCJsaW5rVHlwZSIsIm5ld1RhYiIsInVybCIsImRpc3BhdGNoQ29tbWFuZCIsIlRPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCIsImZpZWxkcyIsInRleHQiLCJUT0dHTEVfTElOS19DT01NQU5EIiwib3JkZXIiLCJub2RlcyIsImNvbnZlcnRlcnMiLCJodG1sIiwiY29udmVydGVyIiwibm9kZSIsInBhcmVudCIsImNoaWxkcmVuVGV4dCIsImNvbnZlcnRMZXhpY2FsTm9kZXNUb0hUTUwiLCJsZXhpY2FsTm9kZXMiLCJjaGlsZHJlbiIsInJlbCIsImhyZWYiLCJ2YWx1ZSIsImlkIiwibm9kZVR5cGVzIiwiTGlua05vZGUiLCJnZXRUeXBlIiwicG9wdWxhdGlvblByb21pc2VzIiwibGlua1BvcHVsYXRpb25Qcm9taXNlSE9DIiwidHlwZSIsIkF1dG9MaW5rTm9kZSIsInBsdWdpbnMiLCJDb21wb25lbnQiLCJMaW5rUGx1Z2luIiwicG9zaXRpb24iLCJBdXRvTGlua1BsdWdpbiIsIkNsaWNrYWJsZUxpbmtQbHVnaW4iLCJmbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4iLCJGbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4iLCJ3aXRoTWVyZ2VkUHJvcHMiLCJ0b01lcmdlSW50b1Byb3BzIl0sIm1hcHBpbmdzIjoiOzs7OytCQW9EYUE7OztlQUFBQTs7O3VCQWhEdUI7eUJBQ2E7aUNBT2pCOzZEQUNXOzJCQUNEOzhCQUNiOzBCQUM4QjswQkFDWjttQ0FDTjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtDbEMsTUFBTUEsY0FBYyxDQUFDQztJQUMxQixPQUFPO1FBQ0xDLFNBQVM7WUFDUCxPQUFPO2dCQUNMQyx1QkFBdUI7b0JBQ3JCQyxVQUFVO3dCQUNSQyxJQUFBQSx1RUFBMEIsRUFBQzs0QkFDekI7Z0NBQ0VDLGdCQUFnQixJQUNkLG1CQUFtQjtvQ0FDbkIsbUVBQUEsUUFBTyxpQ0FBK0JDLElBQUksQ0FBQyxDQUFDQyxTQUFXQSxPQUFPQyxRQUFRO2dDQUN4RUMsVUFB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
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgaTE4biB9IGZyb20gJ2kxOG5leHQnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7ICRmaW5kTWF0Y2hpbmdQYXJlbnQgfSBmcm9tICdAbGV4aWNhbC91dGlscydcbmltcG9ydCB7ICRnZXRTZWxlY3Rpb24sICRpc1JhbmdlU2VsZWN0aW9uIH0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHR5cGUgeyBIVE1MQ29udmVydGVyIH0gZnJvbSAnLi4vY29udmVydGVycy9odG1sL2NvbnZlcnRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgRmVhdHVyZVByb3ZpZGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNlcmlhbGl6ZWRBdXRvTGlua05vZGUgfSBmcm9tICcuL25vZGVzL0F1dG9MaW5rTm9kZSdcbmltcG9ydCB0eXBlIHsgTGlua0ZpZWxkcywgU2VyaWFsaXplZExpbmtOb2RlIH0gZnJvbSAnLi9ub2Rlcy9MaW5rTm9kZSdcblxuaW1wb3J0IHsgZ2V0U2VsZWN0ZWROb2RlIH0gZnJvbSAnLi4vLi4vbGV4aWNhbC91dGlscy9nZXRTZWxlY3RlZE5vZGUnXG5pbXBvcnQgeyBGZWF0dXJlc1NlY3Rpb25XaXRoRW50cmllcyB9IGZyb20gJy4uL2NvbW1vbi9mbG9hdGluZ1NlbGVjdFRvb2xiYXJGZWF0dXJlc0J1dHRvbnNTZWN0aW9uJ1xuaW1wb3J0IHsgY29udmVydExleGljYWxOb2Rlc1RvSFRNTCB9IGZyb20gJy4uL2NvbnZlcnRlcnMvaHRtbC9jb252ZXJ0ZXInXG5pbXBvcnQgeyBBdXRvTGlua05vZGUgfSBmcm9tICcuL25vZGVzL0F1dG9MaW5rTm9kZSdcbmltcG9ydCB7ICRpc0xpbmtOb2RlLCBMaW5rTm9kZSwgVE9HR0xFX0xJTktfQ09NTUFORCB9IGZyb20gJy4vbm9kZXMvTGlua05vZGUnXG5pbXBvcnQgeyBUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQgfSBmcm9tICcuL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL0xpbmtFZGl0b3IvY29tbWFuZHMnXG5pbXBvcnQgeyBsaW5rUG9wdWxhdGlvblByb21pc2VIT0MgfSBmcm9tICcuL3BvcHVsYXRpb25Qcm9taXNlJ1xuXG50eXBlIEV4Y2x1c2l2ZUxpbmtDb2xsZWN0aW9uc1Byb3BzID1cbiAgfCB7XG4gICAgICAvKipcbiAgICAgICAqIFRoZSBjb2xsZWN0aW9ucyB0aGF0IHNob3VsZCBiZSBkaXNhYmxlZCBmb3IgaW50ZXJuYWwgbGlua2luZy4gT3ZlcnJpZGVzIHRoZSBgZW5hYmxlUmljaFRleHRMaW5rYCBwcm9wZXJ0eSBpbiB0aGUgY29sbGVjdGlvbiBjb25maWcuXG4gICAgICAgKiBXaGVuIHRoaXMgcHJvcGVydHkgaXMgc2V0LCBgZW5hYmxlZENvbGxlY3Rpb25zYCB3aWxsIG5vdCBiZSBhdmFpbGFibGUuXG4gICAgICAgKiovXG4gICAgICBkaXNhYmxlZENvbGxlY3Rpb25zPzogc3RyaW5nW11cblxuICAgICAgLy8gRW5zdXJlcyB0aGF0IGVuYWJsZWRDb2xsZWN0aW9ucyBpcyBub3QgYXZhaWxhYmxlIHdoZW4gZGlzYWJsZWRDb2xsZWN0aW9ucyBpcyBzZXRcbiAgICAgIGVuYWJsZWRDb2xsZWN0aW9ucz86IG5ldmVyXG4gICAgfVxuICB8IHtcbiAgICAgIC8vIEVuc3VyZXMgdGhhdCBkaXNhYmxlZENvbGxlY3Rpb25zIGlzIG5vdCBhdmFpbGFibGUgd2hlbiBlbmFibGVkQ29sbGVjdGlvbnMgaXMgc2V0XG4gICAgICBkaXNhYmxlZENvbGxlY3Rpb25zPzogbmV2ZXJcblxuICAgICAgLyoqXG4gICAgICAgKiBUaGUgY29sbGVjdGlvbnMgdGhhdCBzaG91bGQgYmUgZW5hYmxlZCBmb3IgaW50ZXJuYWwgbGlua2luZy4gT3ZlcnJpZGVzIHRoZSBgZW5hYmxlUmljaFRleHRMaW5rYCBwcm9wZXJ0eSBpbiB0aGUgY29sbGVjdGlvbiBjb25maWdcbiAgICAgICAqIFdoZW4gdGhpcyBwcm9wZXJ0eSBpcyBzZXQsIGBkaXNhYmxlZENvbGxlY3Rpb25zYCB3aWxsIG5vdCBiZSBhdmFpbGFibGUuXG4gICAgICAgKiovXG4gICAgICBlbmFibGVkQ29sbGVjdGlvbnM/OiBzdHJpbmdbXVxuICAgIH1cblxuZXhwb3J0IHR5cGUgTGlua0ZlYXR1cmVQcm9wcyA9IEV4Y2x1c2l2ZUxpbmtDb2xsZWN0aW9uc1Byb3BzICYge1xuICAvKipcbiAgICogQSBmdW5jdGlvbiBvciBhcnJheSBkZWZpbmluZyBhZGRpdGlvbmFsIGZpZWxkcyBmb3IgdGhlIGxpbmsgZmVhdHVyZS4gVGhlc2Ugd2lsbCBiZVxuICAgKiBkaXNwbGF5ZWQgaW4gdGhlIGxpbmsgZWRpdG9yIGRyYXdlci5cbiAgICovXG4gIGZpZWxkcz86XG4gICAgfCAoKGFyZ3M6IHsgY29uZmlnOiBTYW5pdGl6ZWRDb25maWc7IGRlZmF1bHRGaWVsZHM6IEZpZWxkW107IGkxOG46IGkxOG4gfSkgPT4gRmllbGRbXSlcbiAgICB8IEZpZWxkW11cbn1cblxuZXhwb3J0IGNvbnN0IExpbmtGZWF0dXJlID0gKHByb3BzOiBMaW5rRmVhdHVyZVByb3BzKTogRmVhdHVyZVByb3ZpZGVyID0+IHtcbiAgcmV0dXJuIHtcbiAgICBmZWF0dXJlOiAoKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmbG9hdGluZ1NlbGVjdFRvb2xiYXI6IHtcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAgRmVhdHVyZXNTZWN0aW9uV2l0aEVudHJpZXMoW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgQ2hpbGRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgICAgICBpbXBvcnQoJy4uLy4uL2xleGljYWwvdWkvaWNvbnMvTGluaycpLnRoZW4oKG1vZHVsZSkgPT4gbW9kdWxlLkxpbmtJY29uKSxcbiAgICAgICAgICAgICAgICBpc0FjdGl2ZTogKHsgc2VsZWN0aW9uIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZSA9IGdldFNlbGVjdGVkTm9kZShzZWxlY3Rpb24pXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmtQYXJlbnQgPSAkZmluZE1hdGNoaW5nUGFyZW50KHNlbGVjdGVkTm9kZSwgJGlzTGlua05vZGUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBsaW5rUGFyZW50ICE9IG51bGxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAga2V5OiAnbGluaycsXG4gICAgICAgICAgICAgICAgbGFiZWw6IGBMaW5rYCxcbiAgICAgICAgICAgICAgICBvbkNsaWNrOiAoeyBlZGl0b3IsIGlzQWN0aXZlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmICghaXNBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkVGV4dCA9IG51bGxcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUZXh0ID0gJGdldFNlbGVjdGlvbigpLmdldFRleHRDb250ZW50KClcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlua0ZpZWxkczogTGlua0ZpZWxkcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICBkb2M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgbGlua1R5cGU6ICdjdXN0b20nLFxuICAgICAgICAgICAgICAgICAgICAgIG5ld1RhYjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly8nLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5ELCB7XG4gICAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBsaW5rRmllbGRzLFxuICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHNlbGVjdGVkVGV4dCxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSBsaW5rXG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfQ09NTUFORCwgbnVsbClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9yZGVyOiAxLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjb252ZXJ0ZXJzOiB7XG4gICAgICAgICAgICAgIGh0bWw6IHtcbiAgICAgICAgICAgICAgICBjb252ZXJ0ZXI6IGFzeW5jICh7IGNvbnZlcnRlcnMsIG5vZGUsIHBhcmVudCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlblRleHQgPSBhd2FpdCBjb252ZXJ0TGV4aWNhbE5vZGVzVG9IVE1MKHtcbiAgICAgICAgICAgICAgICAgICAgY29udmVydGVycyxcbiAgICAgICAgICAgICAgICAgICAgbGV4aWNhbE5vZGVzOiBub2RlLmNoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5ub2RlLFxuICAgICAgICAgICAgICAgICAgICAgIHBhcmVudCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbDogc3RyaW5nID0gbm9kZS5maWVsZHMubmV3VGFiID8gJyByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCInIDogJydcblxuICAgICAgICAgICAgICAgICAgY29uc3QgaHJlZjogc3RyaW5nID1cbiAgICAgICAgICAgICAgICAgICAgbm9kZS5maWVsZHMubGlua1R5cGUgPT09ICdjdXN0b20nXG4gICAgICAgICAgICAgICAgICAgICAgPyBub2RlLmZpZWxkcy51cmxcbiAgICAgICAgICAgICAgICAgICAgICA6IChub2RlLmZpZWxkcy5kb2M/LnZhbHVlIGFzIHN0cmluZylcblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGA8YSBocmVmPVwiJHtocmVmfVwiJHtyZWx9PiR7Y2hpbGRyZW5UZXh0fTwvYT5gXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBub2RlVHlwZXM6IFtMaW5rTm9kZS5nZXRUeXBlKCldLFxuICAgICAgICAgICAgICB9IGFzIEhUTUxDb252ZXJ0ZXI8U2VyaWFsaXplZExpbmtOb2RlPixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBub2RlOiBMaW5rTm9kZSxcbiAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlczogW2xpbmtQb3B1bGF0aW9uUHJvbWlzZUhPQyhwcm9wcyldLFxuICAgICAgICAgICAgdHlwZTogTGlua05vZGUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgLy8gVE9ETzogQWRkIHZhbGlkYXRpb24gc2ltaWxhciB0byB1cGxvYWQgZm9yIGludGVybmFsIGxpbmtzIGFuZCBmaWVsZHNcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNvbnZlcnRlcnM6IHtcbiAgICAgICAgICAgICAgaHRtbDoge1xuICAgICAgICAgICAgICAgIGNvbnZlcnRlcjogYXN5bmMgKHsgY29udmVydGVycywgbm9kZSwgcGFyZW50IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuVGV4dCA9IGF3YWl0IGNvbnZlcnRMZXhpY2FsTm9kZXNUb0hUTUwoe1xuICAgICAgICAgICAgICAgICAgICBjb252ZXJ0ZXJzLFxuICAgICAgICAgICAgICAgICAgICBsZXhpY2FsTm9kZXM6IG5vZGUuY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDoge1xuICAgICAgICAgICAgICAgICAgICAgIC4uLm5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgcGFyZW50LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgICAgY29uc3QgcmVsOiBzdHJpbmcgPSBub2RlLmZpZWxkcy5uZXdUYWIgPyAnIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIicgOiAnJ1xuXG4gICAgICAgICAgICAgICAgICBsZXQgaHJlZjogc3RyaW5nID0gbm9kZS5maWVsZHMudXJsXG4gICAgICAgICAgICAgICAgICBpZiAobm9kZS5maWVsZHMubGlua1R5cGUgPT09ICdpbnRlcm5hbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaHJlZiA9XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIG5vZGUuZmllbGRzLmRvYz8udmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgICAgICAgICAgICA/IG5vZGUuZmllbGRzLmRvYz8udmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgIDogbm9kZS5maWVsZHMuZG9jPy52YWx1ZT8uaWRcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGA8YSBocmVmPVwiJHtocmVmfVwiJHtyZWx9PiR7Y2hpbGRyZW5UZXh0fTwvYT5gXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBub2RlVHlwZXM6IFtBdXRvTGlua05vZGUuZ2V0VHlwZSgpXSxcbiAgICAgICAgICAgICAgfSBhcyBIVE1MQ29udmVydGVyPFNlcmlhbGl6ZWRBdXRvTGlua05vZGU+LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5vZGU6IEF1dG9MaW5rTm9kZSxcbiAgICAgICAgICAgIHBvcHVsYXRpb25Qcm9taXNlczogW2xpbmtQb3B1bGF0aW9uUHJvbWlzZUhPQyhwcm9wcyldLFxuICAgICAgICAgICAgdHlwZTogQXV0b0xpbmtOb2RlLmdldFR5cGUoKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgQ29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgIGltcG9ydCgnLi9wbHVnaW5zL2xpbmsnKS50aGVuKChtb2R1bGUpID0+IG1vZHVsZS5MaW5rUGx1Z2luKSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnbm9ybWFsJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICBpbXBvcnQoJy4vcGx1Z2lucy9hdXRvTGluaycpLnRoZW4oKG1vZHVsZSkgPT4gbW9kdWxlLkF1dG9MaW5rUGx1Z2luKSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnbm9ybWFsJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICBpbXBvcnQoJy4vcGx1Z2lucy9jbGlja2FibGVMaW5rJykudGhlbigobW9kdWxlKSA9PiBtb2R1bGUuQ2xpY2thYmxlTGlua1BsdWdpbiksXG4gICAgICAgICAgICBwb3NpdGlvbjogJ25vcm1hbCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgICAgaW1wb3J0KCcuL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yJykudGhlbigobW9kdWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmxvYXRpbmdMaW5rRWRpdG9yUGx1Z2luID0gbW9kdWxlLkZsb2F0aW5nTGlua0VkaXRvclBsdWdpblxuICAgICAgICAgICAgICAgIHJldHVybiBpbXBvcnQoJ3BheWxvYWQvdXRpbGl0aWVzJykudGhlbigobW9kdWxlKSA9PlxuICAgICAgICAgICAgICAgICAgbW9kdWxlLndpdGhNZXJnZWRQcm9wcyh7XG4gICAgICAgICAgICAgICAgICAgIENvbXBvbmVudDogZmxvYXRpbmdMaW5rRWRpdG9yUGx1Z2luLFxuICAgICAgICAgICAgICAgICAgICB0b01lcmdlSW50b1Byb3BzOiBwcm9wcyxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Zsb2F0aW5nQW5jaG9yRWxlbScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgcHJvcHMsXG4gICAgICB9XG4gICAgfSxcbiAgICBrZXk6ICdsaW5rJyxcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkxpbmtGZWF0dXJlIiwicHJvcHMiLCJmZWF0dXJlIiwiZmxvYXRpbmdTZWxlY3RUb29sYmFyIiwic2VjdGlvbnMiLCJGZWF0dXJlc1NlY3Rpb25XaXRoRW50cmllcyIsIkNoaWxkQ29tcG9uZW50IiwidGhlbiIsIm1vZHVsZSIsIkxpbmtJY29uIiwiaXNBY3RpdmUiLCJzZWxlY3Rpb24iLCIkaXNSYW5nZVNlbGVjdGlvbiIsInNlbGVjdGVkTm9kZSIsImdldFNlbGVjdGVkTm9kZSIsImxpbmtQYXJlbnQiLCIkZmluZE1hdGNoaW5nUGFyZW50IiwiJGlzTGlua05vZGUiLCJrZXkiLCJsYWJlbCIsIm9uQ2xpY2siLCJlZGl0b3IiLCJzZWxlY3RlZFRleHQiLCJnZXRFZGl0b3JTdGF0ZSIsInJlYWQiLCIkZ2V0U2VsZWN0aW9uIiwiZ2V0VGV4dENvbnRlbnQiLCJsaW5rRmllbGRzIiwiZG9jIiwibGlua1R5cGUiLCJuZXdUYWIiLCJ1cmwiLCJkaXNwYXRjaENvbW1hbmQiLCJUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQiLCJmaWVsZHMiLCJ0ZXh0IiwiVE9HR0xFX0xJTktfQ09NTUFORCIsIm9yZGVyIiwibm9kZXMiLCJjb252ZXJ0ZXJzIiwiaHRtbCIsImNvbnZlcnRlciIsIm5vZGUiLCJwYXJlbnQiLCJjaGlsZHJlblRleHQiLCJjb252ZXJ0TGV4aWNhbE5vZGVzVG9IVE1MIiwibGV4aWNhbE5vZGVzIiwiY2hpbGRyZW4iLCJyZWwiLCJocmVmIiwidmFsdWUiLCJub2RlVHlwZXMiLCJMaW5rTm9kZSIsImdldFR5cGUiLCJwb3B1bGF0aW9uUHJvbWlzZXMiLCJsaW5rUG9wdWxhdGlvblByb21pc2VIT0MiLCJ0eXBlIiwiaWQiLCJBdXRvTGlua05vZGUiLCJwbHVnaW5zIiwiQ29tcG9uZW50IiwiTGlua1BsdWdpbiIsInBvc2l0aW9uIiwiQXV0b0xpbmtQbHVnaW4iLCJDbGlja2FibGVMaW5rUGx1Z2luIiwiZmxvYXRpbmdMaW5rRWRpdG9yUGx1Z2luIiwiRmxvYXRpbmdMaW5rRWRpdG9yUGx1Z2luIiwid2l0aE1lcmdlZFByb3BzIiwidG9NZXJnZUludG9Qcm9wcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFvRGFBOzs7ZUFBQUE7Ozt1QkFoRHVCO3lCQUNhO2lDQU9qQjs2REFDVzsyQkFDRDs4QkFDYjswQkFDOEI7MEJBQ1o7bUNBQ047Ozs7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
@@ -1 +1 @@
1
- {"version":3,"file":"AutoLinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Link/nodes/AutoLinkNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,KAAK,UAAU,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/E,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAA;AAKvD,qBAAa,YAAa,SAAQ,QAAQ;IACxC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY;IAI9C,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,IAAI;IAKxB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,sBAAsB,GAAG,YAAY;IASvE,UAAU,IAAI,sBAAsB;IAQpC,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,WAAW,GAAG,IAAI;CASvF;AAED,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,YAAY,CAEpF;AACD,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,YAAY,CAE1F"}
1
+ {"version":3,"file":"AutoLinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Link/nodes/AutoLinkNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,KAAK,UAAU,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/E,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAA;AAKvD,qBAAa,YAAa,SAAQ,QAAQ;IACxC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY;IAI9C,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,IAAI;IAKxB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,sBAAsB,GAAG,YAAY;IAkBvE,UAAU,IAAI,sBAAsB;IAQpC,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,WAAW,GAAG,IAAI;CASvF;AAED,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,YAAY,CAEpF;AACD,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,YAAY,CAE1F"}
@@ -36,6 +36,10 @@ class AutoLinkNode extends _LinkNode.LinkNode {
36
36
  return null;
37
37
  }
38
38
  static importJSON(serializedNode) {
39
+ if (serializedNode.version === 1 && typeof serializedNode.fields?.doc?.value === 'object' && serializedNode.fields?.doc?.value?.id) {
40
+ serializedNode.fields.doc.value = serializedNode.fields.doc.value.id;
41
+ serializedNode.version = 2;
42
+ }
39
43
  const node = $createAutoLinkNode({
40
44
  fields: serializedNode.fields
41
45
  });
@@ -48,7 +52,7 @@ class AutoLinkNode extends _LinkNode.LinkNode {
48
52
  return {
49
53
  ...super.exportJSON(),
50
54
  type: 'autolink',
51
- version: 1
55
+ version: 2
52
56
  };
53
57
  }
54
58
  insertNewAfter(selection, restoreSelection = true) {
@@ -72,4 +76,4 @@ function $isAutoLinkNode(node) {
72
76
  return node instanceof AutoLinkNode;
73
77
  }
74
78
 
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL25vZGVzL0F1dG9MaW5rTm9kZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAkYXBwbHlOb2RlUmVwbGFjZW1lbnQsXG4gICRpc0VsZW1lbnROb2RlLFxuICB0eXBlIEVsZW1lbnROb2RlLFxuICB0eXBlIExleGljYWxOb2RlLFxuICB0eXBlIFJhbmdlU2VsZWN0aW9uLFxufSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyB0eXBlIExpbmtGaWVsZHMsIExpbmtOb2RlLCB0eXBlIFNlcmlhbGl6ZWRMaW5rTm9kZSB9IGZyb20gJy4vTGlua05vZGUnXG5cbmV4cG9ydCB0eXBlIFNlcmlhbGl6ZWRBdXRvTGlua05vZGUgPSBTZXJpYWxpemVkTGlua05vZGVcblxuLy8gQ3VzdG9tIG5vZGUgdHlwZSB0byBvdmVycmlkZSBgY2FuSW5zZXJ0VGV4dEFmdGVyYCB0aGF0IHdpbGxcbi8vIGFsbG93IHR5cGluZyB3aXRoaW4gdGhlIGxpbmtcblxuZXhwb3J0IGNsYXNzIEF1dG9MaW5rTm9kZSBleHRlbmRzIExpbmtOb2RlIHtcbiAgc3RhdGljIGNsb25lKG5vZGU6IEF1dG9MaW5rTm9kZSk6IEF1dG9MaW5rTm9kZSB7XG4gICAgcmV0dXJuIG5ldyBBdXRvTGlua05vZGUoeyBmaWVsZHM6IG5vZGUuX19maWVsZHMsIGtleTogbm9kZS5fX2tleSB9KVxuICB9XG5cbiAgc3RhdGljIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2F1dG9saW5rJ1xuICB9XG5cbiAgc3RhdGljIGltcG9ydERPTSgpOiBudWxsIHtcbiAgICAvLyBUT0RPOiBTaG91bGQgbGluayBub2RlIHNob3VsZCBoYW5kbGUgdGhlIGltcG9ydCBvdmVyIGF1dG9saW5rP1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBzdGF0aWMgaW1wb3J0SlNPTihzZXJpYWxpemVkTm9kZTogU2VyaWFsaXplZEF1dG9MaW5rTm9kZSk6IEF1dG9MaW5rTm9kZSB7XG4gICAgY29uc3Qgbm9kZSA9ICRjcmVhdGVBdXRvTGlua05vZGUoeyBmaWVsZHM6IHNlcmlhbGl6ZWROb2RlLmZpZWxkcyB9KVxuXG4gICAgbm9kZS5zZXRGb3JtYXQoc2VyaWFsaXplZE5vZGUuZm9ybWF0KVxuICAgIG5vZGUuc2V0SW5kZW50KHNlcmlhbGl6ZWROb2RlLmluZGVudClcbiAgICBub2RlLnNldERpcmVjdGlvbihzZXJpYWxpemVkTm9kZS5kaXJlY3Rpb24pXG4gICAgcmV0dXJuIG5vZGVcbiAgfVxuXG4gIGV4cG9ydEpTT04oKTogU2VyaWFsaXplZEF1dG9MaW5rTm9kZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLmV4cG9ydEpTT04oKSxcbiAgICAgIHR5cGU6ICdhdXRvbGluaycsXG4gICAgICB2ZXJzaW9uOiAxLFxuICAgIH1cbiAgfVxuXG4gIGluc2VydE5ld0FmdGVyKHNlbGVjdGlvbjogUmFuZ2VTZWxlY3Rpb24sIHJlc3RvcmVTZWxlY3Rpb24gPSB0cnVlKTogRWxlbWVudE5vZGUgfCBudWxsIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5nZXRQYXJlbnRPclRocm93KCkuaW5zZXJ0TmV3QWZ0ZXIoc2VsZWN0aW9uLCByZXN0b3JlU2VsZWN0aW9uKVxuICAgIGlmICgkaXNFbGVtZW50Tm9kZShlbGVtZW50KSkge1xuICAgICAgY29uc3QgbGlua05vZGUgPSAkY3JlYXRlQXV0b0xpbmtOb2RlKHsgZmllbGRzOiB0aGlzLl9fZmllbGRzIH0pXG4gICAgICBlbGVtZW50LmFwcGVuZChsaW5rTm9kZSlcbiAgICAgIHJldHVybiBsaW5rTm9kZVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiAkY3JlYXRlQXV0b0xpbmtOb2RlKHsgZmllbGRzIH06IHsgZmllbGRzOiBMaW5rRmllbGRzIH0pOiBBdXRvTGlua05vZGUge1xuICByZXR1cm4gJGFwcGx5Tm9kZVJlcGxhY2VtZW50KG5ldyBBdXRvTGlua05vZGUoeyBmaWVsZHMgfSkpXG59XG5leHBvcnQgZnVuY3Rpb24gJGlzQXV0b0xpbmtOb2RlKG5vZGU6IExleGljYWxOb2RlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IG5vZGUgaXMgQXV0b0xpbmtOb2RlIHtcbiAgcmV0dXJuIG5vZGUgaW5zdGFuY2VvZiBBdXRvTGlua05vZGVcbn1cbiJdLCJuYW1lcyI6WyJBdXRvTGlua05vZGUiLCIkY3JlYXRlQXV0b0xpbmtOb2RlIiwiJGlzQXV0b0xpbmtOb2RlIiwiTGlua05vZGUiLCJjbG9uZSIsIm5vZGUiLCJmaWVsZHMiLCJfX2ZpZWxkcyIsImtleSIsIl9fa2V5IiwiZ2V0VHlwZSIsImltcG9ydERPTSIsImltcG9ydEpTT04iLCJzZXJpYWxpemVkTm9kZSIsInNldEZvcm1hdCIsImZvcm1hdCIsInNldEluZGVudCIsImluZGVudCIsInNldERpcmVjdGlvbiIsImRpcmVjdGlvbiIsImV4cG9ydEpTT04iLCJ0eXBlIiwidmVyc2lvbiIsImluc2VydE5ld0FmdGVyIiwic2VsZWN0aW9uIiwicmVzdG9yZVNlbGVjdGlvbiIsImVsZW1lbnQiLCJnZXRQYXJlbnRPclRocm93IiwiJGlzRWxlbWVudE5vZGUiLCJsaW5rTm9kZSIsImFwcGVuZCIsIiRhcHBseU5vZGVSZXBsYWNlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFlYUEsWUFBWTtlQUFaQTs7SUEwQ0dDLG1CQUFtQjtlQUFuQkE7O0lBR0FDLGVBQWU7ZUFBZkE7Ozt5QkF0RFQ7MEJBRTREO0FBTzVELE1BQU1GLHFCQUFxQkcsa0JBQVE7SUFDeEMsT0FBT0MsTUFBTUMsSUFBa0IsRUFBZ0I7UUFDN0MsT0FBTyxJQUFJTCxhQUFhO1lBQUVNLFFBQVFELEtBQUtFLFFBQVE7WUFBRUMsS0FBS0gsS0FBS0ksS0FBSztRQUFDO0lBQ25FO0lBRUEsT0FBT0MsVUFBa0I7UUFDdkIsT0FBTztJQUNUO0lBRUEsT0FBT0MsWUFBa0I7UUFDdkIsaUVBQWlFO1FBQ2pFLE9BQU87SUFDVDtJQUVBLE9BQU9DLFdBQVdDLGNBQXNDLEVBQWdCO1FBQ3RFLE1BQU1SLE9BQU9KLG9CQUFvQjtZQUFFSyxRQUFRTyxlQUFlUCxNQUFNO1FBQUM7UUFFakVELEtBQUtTLFNBQVMsQ0FBQ0QsZUFBZUUsTUFBTTtRQUNwQ1YsS0FBS1csU0FBUyxDQUFDSCxlQUFlSSxNQUFNO1FBQ3BDWixLQUFLYSxZQUFZLENBQUNMLGVBQWVNLFNBQVM7UUFDMUMsT0FBT2Q7SUFDVDtJQUVBZSxhQUFxQztRQUNuQyxPQUFPO1lBQ0wsR0FBRyxLQUFLLENBQUNBLFlBQVk7WUFDckJDLE1BQU07WUFDTkMsU0FBUztRQUNYO0lBQ0Y7SUFFQUMsZUFBZUMsU0FBeUIsRUFBRUMsbUJBQW1CLElBQUksRUFBc0I7UUFDckYsTUFBTUMsVUFBVSxJQUFJLENBQUNDLGdCQUFnQixHQUFHSixjQUFjLENBQUNDLFdBQVdDO1FBQ2xFLElBQUlHLElBQUFBLHVCQUFjLEVBQUNGLFVBQVU7WUFDM0IsTUFBTUcsV0FBVzVCLG9CQUFvQjtnQkFBRUssUUFBUSxJQUFJLENBQUNDLFFBQVE7WUFBQztZQUM3RG1CLFFBQVFJLE1BQU0sQ0FBQ0Q7WUFDZixPQUFPQTtRQUNUO1FBQ0EsT0FBTztJQUNUO0FBQ0Y7QUFFTyxTQUFTNUIsb0JBQW9CLEVBQUVLLE1BQU0sRUFBMEI7SUFDcEUsT0FBT3lCLElBQUFBLDhCQUFxQixFQUFDLElBQUkvQixhQUFhO1FBQUVNO0lBQU87QUFDekQ7QUFDTyxTQUFTSixnQkFBZ0JHLElBQW9DO0lBQ2xFLE9BQU9BLGdCQUFnQkw7QUFDekIifQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL25vZGVzL0F1dG9MaW5rTm9kZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAkYXBwbHlOb2RlUmVwbGFjZW1lbnQsXG4gICRpc0VsZW1lbnROb2RlLFxuICB0eXBlIEVsZW1lbnROb2RlLFxuICB0eXBlIExleGljYWxOb2RlLFxuICB0eXBlIFJhbmdlU2VsZWN0aW9uLFxufSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyB0eXBlIExpbmtGaWVsZHMsIExpbmtOb2RlLCB0eXBlIFNlcmlhbGl6ZWRMaW5rTm9kZSB9IGZyb20gJy4vTGlua05vZGUnXG5cbmV4cG9ydCB0eXBlIFNlcmlhbGl6ZWRBdXRvTGlua05vZGUgPSBTZXJpYWxpemVkTGlua05vZGVcblxuLy8gQ3VzdG9tIG5vZGUgdHlwZSB0byBvdmVycmlkZSBgY2FuSW5zZXJ0VGV4dEFmdGVyYCB0aGF0IHdpbGxcbi8vIGFsbG93IHR5cGluZyB3aXRoaW4gdGhlIGxpbmtcblxuZXhwb3J0IGNsYXNzIEF1dG9MaW5rTm9kZSBleHRlbmRzIExpbmtOb2RlIHtcbiAgc3RhdGljIGNsb25lKG5vZGU6IEF1dG9MaW5rTm9kZSk6IEF1dG9MaW5rTm9kZSB7XG4gICAgcmV0dXJuIG5ldyBBdXRvTGlua05vZGUoeyBmaWVsZHM6IG5vZGUuX19maWVsZHMsIGtleTogbm9kZS5fX2tleSB9KVxuICB9XG5cbiAgc3RhdGljIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2F1dG9saW5rJ1xuICB9XG5cbiAgc3RhdGljIGltcG9ydERPTSgpOiBudWxsIHtcbiAgICAvLyBUT0RPOiBTaG91bGQgbGluayBub2RlIHNob3VsZCBoYW5kbGUgdGhlIGltcG9ydCBvdmVyIGF1dG9saW5rP1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBzdGF0aWMgaW1wb3J0SlNPTihzZXJpYWxpemVkTm9kZTogU2VyaWFsaXplZEF1dG9MaW5rTm9kZSk6IEF1dG9MaW5rTm9kZSB7XG4gICAgaWYgKFxuICAgICAgc2VyaWFsaXplZE5vZGUudmVyc2lvbiA9PT0gMSAmJlxuICAgICAgdHlwZW9mIHNlcmlhbGl6ZWROb2RlLmZpZWxkcz8uZG9jPy52YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHNlcmlhbGl6ZWROb2RlLmZpZWxkcz8uZG9jPy52YWx1ZT8uaWRcbiAgICApIHtcbiAgICAgIHNlcmlhbGl6ZWROb2RlLmZpZWxkcy5kb2MudmFsdWUgPSBzZXJpYWxpemVkTm9kZS5maWVsZHMuZG9jLnZhbHVlLmlkXG4gICAgICBzZXJpYWxpemVkTm9kZS52ZXJzaW9uID0gMlxuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSAkY3JlYXRlQXV0b0xpbmtOb2RlKHsgZmllbGRzOiBzZXJpYWxpemVkTm9kZS5maWVsZHMgfSlcblxuICAgIG5vZGUuc2V0Rm9ybWF0KHNlcmlhbGl6ZWROb2RlLmZvcm1hdClcbiAgICBub2RlLnNldEluZGVudChzZXJpYWxpemVkTm9kZS5pbmRlbnQpXG4gICAgbm9kZS5zZXREaXJlY3Rpb24oc2VyaWFsaXplZE5vZGUuZGlyZWN0aW9uKVxuICAgIHJldHVybiBub2RlXG4gIH1cblxuICBleHBvcnRKU09OKCk6IFNlcmlhbGl6ZWRBdXRvTGlua05vZGUge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdXBlci5leHBvcnRKU09OKCksXG4gICAgICB0eXBlOiAnYXV0b2xpbmsnLFxuICAgICAgdmVyc2lvbjogMixcbiAgICB9XG4gIH1cblxuICBpbnNlcnROZXdBZnRlcihzZWxlY3Rpb246IFJhbmdlU2VsZWN0aW9uLCByZXN0b3JlU2VsZWN0aW9uID0gdHJ1ZSk6IEVsZW1lbnROb2RlIHwgbnVsbCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZ2V0UGFyZW50T3JUaHJvdygpLmluc2VydE5ld0FmdGVyKHNlbGVjdGlvbiwgcmVzdG9yZVNlbGVjdGlvbilcbiAgICBpZiAoJGlzRWxlbWVudE5vZGUoZWxlbWVudCkpIHtcbiAgICAgIGNvbnN0IGxpbmtOb2RlID0gJGNyZWF0ZUF1dG9MaW5rTm9kZSh7IGZpZWxkczogdGhpcy5fX2ZpZWxkcyB9KVxuICAgICAgZWxlbWVudC5hcHBlbmQobGlua05vZGUpXG4gICAgICByZXR1cm4gbGlua05vZGVcbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gJGNyZWF0ZUF1dG9MaW5rTm9kZSh7IGZpZWxkcyB9OiB7IGZpZWxkczogTGlua0ZpZWxkcyB9KTogQXV0b0xpbmtOb2RlIHtcbiAgcmV0dXJuICRhcHBseU5vZGVSZXBsYWNlbWVudChuZXcgQXV0b0xpbmtOb2RlKHsgZmllbGRzIH0pKVxufVxuZXhwb3J0IGZ1bmN0aW9uICRpc0F1dG9MaW5rTm9kZShub2RlOiBMZXhpY2FsTm9kZSB8IG51bGwgfCB1bmRlZmluZWQpOiBub2RlIGlzIEF1dG9MaW5rTm9kZSB7XG4gIHJldHVybiBub2RlIGluc3RhbmNlb2YgQXV0b0xpbmtOb2RlXG59XG4iXSwibmFtZXMiOlsiQXV0b0xpbmtOb2RlIiwiJGNyZWF0ZUF1dG9MaW5rTm9kZSIsIiRpc0F1dG9MaW5rTm9kZSIsIkxpbmtOb2RlIiwiY2xvbmUiLCJub2RlIiwiZmllbGRzIiwiX19maWVsZHMiLCJrZXkiLCJfX2tleSIsImdldFR5cGUiLCJpbXBvcnRET00iLCJpbXBvcnRKU09OIiwic2VyaWFsaXplZE5vZGUiLCJ2ZXJzaW9uIiwiZG9jIiwidmFsdWUiLCJpZCIsInNldEZvcm1hdCIsImZvcm1hdCIsInNldEluZGVudCIsImluZGVudCIsInNldERpcmVjdGlvbiIsImRpcmVjdGlvbiIsImV4cG9ydEpTT04iLCJ0eXBlIiwiaW5zZXJ0TmV3QWZ0ZXIiLCJzZWxlY3Rpb24iLCJyZXN0b3JlU2VsZWN0aW9uIiwiZWxlbWVudCIsImdldFBhcmVudE9yVGhyb3ciLCIkaXNFbGVtZW50Tm9kZSIsImxpbmtOb2RlIiwiYXBwZW5kIiwiJGFwcGx5Tm9kZVJlcGxhY2VtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQWVhQSxZQUFZO2VBQVpBOztJQW1ER0MsbUJBQW1CO2VBQW5CQTs7SUFHQUMsZUFBZTtlQUFmQTs7O3lCQS9EVDswQkFFNEQ7QUFPNUQsTUFBTUYscUJBQXFCRyxrQkFBUTtJQUN4QyxPQUFPQyxNQUFNQyxJQUFrQixFQUFnQjtRQUM3QyxPQUFPLElBQUlMLGFBQWE7WUFBRU0sUUFBUUQsS0FBS0UsUUFBUTtZQUFFQyxLQUFLSCxLQUFLSSxLQUFLO1FBQUM7SUFDbkU7SUFFQSxPQUFPQyxVQUFrQjtRQUN2QixPQUFPO0lBQ1Q7SUFFQSxPQUFPQyxZQUFrQjtRQUN2QixpRUFBaUU7UUFDakUsT0FBTztJQUNUO0lBRUEsT0FBT0MsV0FBV0MsY0FBc0MsRUFBZ0I7UUFDdEUsSUFDRUEsZUFBZUMsT0FBTyxLQUFLLEtBQzNCLE9BQU9ELGVBQWVQLE1BQU0sRUFBRVMsS0FBS0MsVUFBVSxZQUM3Q0gsZUFBZVAsTUFBTSxFQUFFUyxLQUFLQyxPQUFPQyxJQUNuQztZQUNBSixlQUFlUCxNQUFNLENBQUNTLEdBQUcsQ0FBQ0MsS0FBSyxHQUFHSCxlQUFlUCxNQUFNLENBQUNTLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDQyxFQUFFO1lBQ3BFSixlQUFlQyxPQUFPLEdBQUc7UUFDM0I7UUFFQSxNQUFNVCxPQUFPSixvQkFBb0I7WUFBRUssUUFBUU8sZUFBZVAsTUFBTTtRQUFDO1FBRWpFRCxLQUFLYSxTQUFTLENBQUNMLGVBQWVNLE1BQU07UUFDcENkLEtBQUtlLFNBQVMsQ0FBQ1AsZUFBZVEsTUFBTTtRQUNwQ2hCLEtBQUtpQixZQUFZLENBQUNULGVBQWVVLFNBQVM7UUFDMUMsT0FBT2xCO0lBQ1Q7SUFFQW1CLGFBQXFDO1FBQ25DLE9BQU87WUFDTCxHQUFHLEtBQUssQ0FBQ0EsWUFBWTtZQUNyQkMsTUFBTTtZQUNOWCxTQUFTO1FBQ1g7SUFDRjtJQUVBWSxlQUFlQyxTQUF5QixFQUFFQyxtQkFBbUIsSUFBSSxFQUFzQjtRQUNyRixNQUFNQyxVQUFVLElBQUksQ0FBQ0MsZ0JBQWdCLEdBQUdKLGNBQWMsQ0FBQ0MsV0FBV0M7UUFDbEUsSUFBSUcsSUFBQUEsdUJBQWMsRUFBQ0YsVUFBVTtZQUMzQixNQUFNRyxXQUFXL0Isb0JBQW9CO2dCQUFFSyxRQUFRLElBQUksQ0FBQ0MsUUFBUTtZQUFDO1lBQzdEc0IsUUFBUUksTUFBTSxDQUFDRDtZQUNmLE9BQU9BO1FBQ1Q7UUFDQSxPQUFPO0lBQ1Q7QUFDRjtBQUVPLFNBQVMvQixvQkFBb0IsRUFBRUssTUFBTSxFQUEwQjtJQUNwRSxPQUFPNEIsSUFBQUEsOEJBQXFCLEVBQUMsSUFBSWxDLGFBQWE7UUFBRU07SUFBTztBQUN6RDtBQUNPLFNBQVNKLGdCQUFnQkcsSUFBb0M7SUFDbEUsT0FBT0EsZ0JBQWdCTDtBQUN6QiJ9
@@ -1,11 +1,3 @@
1
- /** @module @lexical/link */
2
- /**
3
- * Copyright (c) Meta Platforms, Inc. and affiliates.
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- *
8
- */
9
1
  import type { BaseSelection } from 'lexical';
10
2
  import { type DOMConversionMap, type EditorConfig, ElementNode, type LexicalCommand, type LexicalNode, type NodeKey, type RangeSelection, type SerializedElementNode, type Spread } from 'lexical';
11
3
  import type { LinkPayload } from '../plugins/floatingLinkEditor/types';
@@ -16,7 +8,7 @@ export type LinkFields = {
16
8
  value: {
17
9
  [key: string]: unknown;
18
10
  id: string;
19
- };
11
+ } | string;
20
12
  } | null;
21
13
  linkType: 'custom' | 'internal';
22
14
  newTab: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"LinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Link/nodes/LinkNode.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C,OAAO,EAML,KAAK,gBAAgB,EAErB,KAAK,YAAY,EACjB,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,MAAM,EAEZ,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEtE,MAAM,MAAM,UAAU,GAAG;IAEvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,GAAG,EAAE;QACH,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE;YAEL,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;YACtB,EAAE,EAAE,MAAM,CAAA;SACX,CAAA;KACF,GAAG,IAAI,CAAA;IACR,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC/B,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CACrC;IACE,MAAM,EAAE,UAAU,CAAA;CACnB,EACD,qBAAqB,CACtB,CAAA;AAID,oBAAoB;AACpB,qBAAa,QAAS,SAAQ,WAAW;IACvC,QAAQ,EAAE,UAAU,CAAA;gBAER,EACV,MAKC,EACD,GAAG,GACJ,EAAE;QACD,MAAM,EAAE,UAAU,CAAA;QAClB,GAAG,CAAC,EAAE,OAAO,CAAA;KACd;IAKD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAOtC,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,GAAG,IAAI;IAS3C,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,kBAAkB,GAAG,QAAQ;IAU/D,UAAU,IAAI,KAAK;IAInB,kBAAkB,IAAI,KAAK;IAI3B,mBAAmB,IAAI,KAAK;IAI5B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB;IAiBlD,UAAU,IAAI,kBAAkB;IAShC,gBAAgB,CACd,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,OAAO,GAAG,MAAM,GAC5B,OAAO;IAeV,SAAS,IAAI,UAAU;IAIvB,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,WAAW,GAAG,IAAI;IAUtF,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAahC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKnC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO;CA8BxF;AAoBD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,QAAQ,CAE5E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,QAAQ,CAElF;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,WAAW,GAAG,IAAI,CAC7B,CAAA;AAEtC,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA6GrD"}
1
+ {"version":3,"file":"LinkNode.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Link/nodes/LinkNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C,OAAO,EAML,KAAK,gBAAgB,EAErB,KAAK,YAAY,EACjB,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,MAAM,EAEZ,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEtE,MAAM,MAAM,UAAU,GAAG;IAEvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,GAAG,EAAE;QACH,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EACD;YAEE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;YACtB,EAAE,EAAE,MAAM,CAAA;SACX,GACD,MAAM,CAAA;KACX,GAAG,IAAI,CAAA;IACR,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC/B,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CACrC;IACE,MAAM,EAAE,UAAU,CAAA;CACnB,EACD,qBAAqB,CACtB,CAAA;AAID,oBAAoB;AACpB,qBAAa,QAAS,SAAQ,WAAW;IACvC,QAAQ,EAAE,UAAU,CAAA;gBAER,EACV,MAKC,EACD,GAAG,GACJ,EAAE;QACD,MAAM,EAAE,UAAU,CAAA;QAClB,GAAG,CAAC,EAAE,OAAO,CAAA;KACd;IAKD,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAOtC,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,SAAS,IAAI,gBAAgB,GAAG,IAAI;IAS3C,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,kBAAkB,GAAG,QAAQ;IAmB/D,UAAU,IAAI,KAAK;IAInB,kBAAkB,IAAI,KAAK;IAI3B,mBAAmB,IAAI,KAAK;IAI5B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB;IAiBlD,UAAU,IAAI,kBAAkB;IAShC,gBAAgB,CACd,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,OAAO,GAAG,MAAM,GAC5B,OAAO;IAeV,SAAS,IAAI,UAAU;IAIvB,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,WAAW,GAAG,IAAI;IAUtF,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAahC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKnC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO;CA8BxF;AAoBD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,QAAQ,CAE5E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,QAAQ,CAElF;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,WAAW,GAAG,IAAI,CAC7B,CAAA;AAEtC,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA6GrD"}
@@ -1,10 +1,4 @@
1
- /** @module @lexical/link */ /**
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 strict";
8
2
  Object.defineProperty(exports, "__esModule", {
9
3
  value: true
10
4
  });
@@ -69,6 +63,10 @@ class LinkNode extends _lexical.ElementNode {
69
63
  };
70
64
  }
71
65
  static importJSON(serializedNode) {
66
+ if (serializedNode.version === 1 && typeof serializedNode.fields?.doc?.value === 'object' && serializedNode.fields?.doc?.value?.id) {
67
+ serializedNode.fields.doc.value = serializedNode.fields.doc.value.id;
68
+ serializedNode.version = 2;
69
+ }
72
70
  const node = $createLinkNode({
73
71
  fields: serializedNode.fields
74
72
  });
@@ -105,7 +103,7 @@ class LinkNode extends _lexical.ElementNode {
105
103
  ...super.exportJSON(),
106
104
  fields: this.getFields(),
107
105
  type: this.getType(),
108
- version: 1
106
+ version: 2
109
107
  };
110
108
  }
111
109
  extractWithChild(child, selection, destination) {
@@ -325,4 +323,4 @@ function manageRel(input, action, value) {
325
323
  return result;
326
324
  }
327
325
 
328
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL25vZGVzL0xpbmtOb2RlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbW9kdWxlIEBsZXhpY2FsL2xpbmsgKi9cbi8qKlxuICogQ29weXJpZ2h0IChjKSBNZXRhIFBsYXRmb3JtcywgSW5jLiBhbmQgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBCYXNlU2VsZWN0aW9uIH0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHsgYWRkQ2xhc3NOYW1lc1RvRWxlbWVudCwgaXNIVE1MQW5jaG9yRWxlbWVudCB9IGZyb20gJ0BsZXhpY2FsL3V0aWxzJ1xuaW1wb3J0IHtcbiAgJGFwcGx5Tm9kZVJlcGxhY2VtZW50LFxuICAkY3JlYXRlVGV4dE5vZGUsXG4gICRnZXRTZWxlY3Rpb24sXG4gICRpc0VsZW1lbnROb2RlLFxuICAkaXNSYW5nZVNlbGVjdGlvbixcbiAgdHlwZSBET01Db252ZXJzaW9uTWFwLFxuICB0eXBlIERPTUNvbnZlcnNpb25PdXRwdXQsXG4gIHR5cGUgRWRpdG9yQ29uZmlnLFxuICBFbGVtZW50Tm9kZSxcbiAgdHlwZSBMZXhpY2FsQ29tbWFuZCxcbiAgdHlwZSBMZXhpY2FsTm9kZSxcbiAgdHlwZSBOb2RlS2V5LFxuICB0eXBlIFJhbmdlU2VsZWN0aW9uLFxuICB0eXBlIFNlcmlhbGl6ZWRFbGVtZW50Tm9kZSxcbiAgdHlwZSBTcHJlYWQsXG4gIGNyZWF0ZUNvbW1hbmQsXG59IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCB0eXBlIHsgTGlua1BheWxvYWQgfSBmcm9tICcuLi9wbHVnaW5zL2Zsb2F0aW5nTGlua0VkaXRvci90eXBlcydcblxuZXhwb3J0IHR5cGUgTGlua0ZpZWxkcyA9IHtcbiAgLy8gdW5rbm93biwgY3VzdG9tIGZpZWxkczpcbiAgW2tleTogc3RyaW5nXTogdW5rbm93blxuICBkb2M6IHtcbiAgICByZWxhdGlvblRvOiBzdHJpbmdcbiAgICB2YWx1ZToge1xuICAgICAgLy8gQWN0dWFsIGRvYyBkYXRhLCBwb3B1bGF0ZWQgaW4gYWZ0ZXJSZWFkIGhvb2tcbiAgICAgIFtrZXk6IHN0cmluZ106IHVua25vd25cbiAgICAgIGlkOiBzdHJpbmdcbiAgICB9XG4gIH0gfCBudWxsXG4gIGxpbmtUeXBlOiAnY3VzdG9tJyB8ICdpbnRlcm5hbCdcbiAgbmV3VGFiOiBib29sZWFuXG4gIHVybDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFNlcmlhbGl6ZWRMaW5rTm9kZSA9IFNwcmVhZDxcbiAge1xuICAgIGZpZWxkczogTGlua0ZpZWxkc1xuICB9LFxuICBTZXJpYWxpemVkRWxlbWVudE5vZGVcbj5cblxuY29uc3QgU1VQUE9SVEVEX1VSTF9QUk9UT0NPTFMgPSBuZXcgU2V0KFsnaHR0cDonLCAnaHR0cHM6JywgJ21haWx0bzonLCAnc21zOicsICd0ZWw6J10pXG5cbi8qKiBAbm9Jbmhlcml0RG9jICovXG5leHBvcnQgY2xhc3MgTGlua05vZGUgZXh0ZW5kcyBFbGVtZW50Tm9kZSB7XG4gIF9fZmllbGRzOiBMaW5rRmllbGRzXG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIGZpZWxkcyA9IHtcbiAgICAgIGRvYzogbnVsbCxcbiAgICAgIGxpbmtUeXBlOiAnY3VzdG9tJyxcbiAgICAgIG5ld1RhYjogZmFsc2UsXG4gICAgICB1cmw6IHVuZGVmaW5lZCxcbiAgICB9LFxuICAgIGtleSxcbiAgfToge1xuICAgIGZpZWxkczogTGlua0ZpZWxkc1xuICAgIGtleT86IE5vZGVLZXlcbiAgfSkge1xuICAgIHN1cGVyKGtleSlcbiAgICB0aGlzLl9fZmllbGRzID0gZmllbGRzXG4gIH1cblxuICBzdGF0aWMgY2xvbmUobm9kZTogTGlua05vZGUpOiBMaW5rTm9kZSB7XG4gICAgcmV0dXJuIG5ldyBMaW5rTm9kZSh7XG4gICAgICBmaWVsZHM6IG5vZGUuX19maWVsZHMsXG4gICAgICBrZXk6IG5vZGUuX19rZXksXG4gICAgfSlcbiAgfVxuXG4gIHN0YXRpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdsaW5rJ1xuICB9XG5cbiAgc3RhdGljIGltcG9ydERPTSgpOiBET01Db252ZXJzaW9uTWFwIHwgbnVsbCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGE6IChub2RlOiBOb2RlKSA9PiAoe1xuICAgICAgICBjb252ZXJzaW9uOiBjb252ZXJ0QW5jaG9yRWxlbWVudCxcbiAgICAgICAgcHJpb3JpdHk6IDEsXG4gICAgICB9KSxcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgaW1wb3J0SlNPTihzZXJpYWxpemVkTm9kZTogU2VyaWFsaXplZExpbmtOb2RlKTogTGlua05vZGUge1xuICAgIGNvbnN0IG5vZGUgPSAkY3JlYXRlTGlua05vZGUoe1xuICAgICAgZmllbGRzOiBzZXJpYWxpemVkTm9kZS5maWVsZHMsXG4gICAgfSlcbiAgICBub2RlLnNldEZvcm1hdChzZXJpYWxpemVkTm9kZS5mb3JtYXQpXG4gICAgbm9kZS5zZXRJbmRlbnQoc2VyaWFsaXplZE5vZGUuaW5kZW50KVxuICAgIG5vZGUuc2V0RGlyZWN0aW9uKHNlcmlhbGl6ZWROb2RlLmRpcmVjdGlvbilcbiAgICByZXR1cm4gbm9kZVxuICB9XG5cbiAgY2FuQmVFbXB0eSgpOiBmYWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjYW5JbnNlcnRUZXh0QWZ0ZXIoKTogZmFsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY2FuSW5zZXJ0VGV4dEJlZm9yZSgpOiBmYWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjcmVhdGVET00oY29uZmlnOiBFZGl0b3JDb25maWcpOiBIVE1MQW5jaG9yRWxlbWVudCB7XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuICAgIGlmICh0aGlzLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgIGVsZW1lbnQuaHJlZiA9IHRoaXMuc2FuaXRpemVVcmwodGhpcy5fX2ZpZWxkcy51cmwgPz8gJycpXG4gICAgfVxuICAgIGlmICh0aGlzLl9fZmllbGRzPy5uZXdUYWIgPz8gZmFsc2UpIHtcbiAgICAgIGVsZW1lbnQudGFyZ2V0ID0gJ19ibGFuaydcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubmV3VGFiID09PSB0cnVlICYmIHRoaXMuX19maWVsZHM/LmxpbmtUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgZWxlbWVudC5yZWwgPSBtYW5hZ2VSZWwoZWxlbWVudC5yZWwsICdhZGQnLCAnbm9vcGVuZXInKVxuICAgIH1cblxuICAgIGFkZENsYXNzTmFtZXNUb0VsZW1lbnQoZWxlbWVudCwgY29uZmlnLnRoZW1lLmxpbmspXG4gICAgcmV0dXJuIGVsZW1lbnRcbiAgfVxuXG4gIGV4cG9ydEpTT04oKTogU2VyaWFsaXplZExpbmtOb2RlIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIuZXhwb3J0SlNPTigpLFxuICAgICAgZmllbGRzOiB0aGlzLmdldEZpZWxkcygpLFxuICAgICAgdHlwZTogdGhpcy5nZXRUeXBlKCksXG4gICAgICB2ZXJzaW9uOiAxLFxuICAgIH1cbiAgfVxuXG4gIGV4dHJhY3RXaXRoQ2hpbGQoXG4gICAgY2hpbGQ6IExleGljYWxOb2RlLFxuICAgIHNlbGVjdGlvbjogQmFzZVNlbGVjdGlvbixcbiAgICBkZXN0aW5hdGlvbjogJ2Nsb25lJyB8ICdodG1sJyxcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKCEkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBjb25zdCBhbmNob3JOb2RlID0gc2VsZWN0aW9uLmFuY2hvci5nZXROb2RlKClcbiAgICBjb25zdCBmb2N1c05vZGUgPSBzZWxlY3Rpb24uZm9jdXMuZ2V0Tm9kZSgpXG5cbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc1BhcmVudE9mKGFuY2hvck5vZGUpICYmXG4gICAgICB0aGlzLmlzUGFyZW50T2YoZm9jdXNOb2RlKSAmJlxuICAgICAgc2VsZWN0aW9uLmdldFRleHRDb250ZW50KCkubGVuZ3RoID4gMFxuICAgIClcbiAgfVxuXG4gIGdldEZpZWxkcygpOiBMaW5rRmllbGRzIHtcbiAgICByZXR1cm4gdGhpcy5nZXRMYXRlc3QoKS5fX2ZpZWxkc1xuICB9XG5cbiAgaW5zZXJ0TmV3QWZ0ZXIoc2VsZWN0aW9uOiBSYW5nZVNlbGVjdGlvbiwgcmVzdG9yZVNlbGVjdGlvbiA9IHRydWUpOiBFbGVtZW50Tm9kZSB8IG51bGwge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmdldFBhcmVudE9yVGhyb3coKS5pbnNlcnROZXdBZnRlcihzZWxlY3Rpb24sIHJlc3RvcmVTZWxlY3Rpb24pXG4gICAgaWYgKCRpc0VsZW1lbnROb2RlKGVsZW1lbnQpKSB7XG4gICAgICBjb25zdCBsaW5rTm9kZSA9ICRjcmVhdGVMaW5rTm9kZSh7IGZpZWxkczogdGhpcy5fX2ZpZWxkcyB9KVxuICAgICAgZWxlbWVudC5hcHBlbmQobGlua05vZGUpXG4gICAgICByZXR1cm4gbGlua05vZGVcbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGlzSW5saW5lKCk6IHRydWUge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBzYW5pdGl6ZVVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZFVybCA9IG5ldyBVUkwodXJsKVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNjcmlwdC11cmxcbiAgICAgIGlmICghU1VQUE9SVEVEX1VSTF9QUk9UT0NPTFMuaGFzKHBhcnNlZFVybC5wcm90b2NvbCkpIHtcbiAgICAgICAgcmV0dXJuICdhYm91dDpibGFuaydcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gJ2h0dHBzOi8vJ1xuICAgIH1cbiAgICByZXR1cm4gdXJsXG4gIH1cblxuICBzZXRGaWVsZHMoZmllbGRzOiBMaW5rRmllbGRzKTogdm9pZCB7XG4gICAgY29uc3Qgd3JpdGFibGUgPSB0aGlzLmdldFdyaXRhYmxlKClcbiAgICB3cml0YWJsZS5fX2ZpZWxkcyA9IGZpZWxkc1xuICB9XG5cbiAgdXBkYXRlRE9NKHByZXZOb2RlOiBMaW5rTm9kZSwgYW5jaG9yOiBIVE1MQW5jaG9yRWxlbWVudCwgY29uZmlnOiBFZGl0b3JDb25maWcpOiBib29sZWFuIHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLl9fZmllbGRzPy51cmxcbiAgICBjb25zdCBuZXdUYWIgPSB0aGlzLl9fZmllbGRzPy5uZXdUYWJcbiAgICBpZiAodXJsICE9IG51bGwgJiYgdXJsICE9PSBwcmV2Tm9kZS5fX2ZpZWxkcz8udXJsICYmIHRoaXMuX19maWVsZHM/LmxpbmtUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgYW5jaG9yLmhyZWYgPSB1cmxcbiAgICB9XG4gICAgaWYgKHRoaXMuX19maWVsZHM/LmxpbmtUeXBlID09PSAnaW50ZXJuYWwnICYmIHByZXZOb2RlLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgIGFuY2hvci5yZW1vdmVBdHRyaWJ1dGUoJ2hyZWYnKVxuICAgIH1cblxuICAgIC8vIFRPRE86IG5vdCAxMDAlIHN1cmUgd2h5IHdlJ3JlIHNldHRpZ24gcmVsIHRvICcnIC0gcmV2aXNpdFxuICAgIC8vIFN0YXJ0IHJlbCBjb25maWcgaGVyZSwgdGhlbiBjaGVjayBuZXdUYWIgYmVsb3dcbiAgICBpZiAoYW5jaG9yLnJlbCA9PSBudWxsKSB7XG4gICAgICBhbmNob3IucmVsID0gJydcbiAgICB9XG5cbiAgICBpZiAobmV3VGFiICE9PSBwcmV2Tm9kZS5fX2ZpZWxkcz8ubmV3VGFiKSB7XG4gICAgICBpZiAobmV3VGFiID8/IGZhbHNlKSB7XG4gICAgICAgIGFuY2hvci50YXJnZXQgPSAnX2JsYW5rJ1xuICAgICAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICAgICAgYW5jaG9yLnJlbCA9IG1hbmFnZVJlbChhbmNob3IucmVsLCAnYWRkJywgJ25vb3BlbmVyJylcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYW5jaG9yLnJlbW92ZUF0dHJpYnV0ZSgndGFyZ2V0JylcbiAgICAgICAgYW5jaG9yLnJlbCA9IG1hbmFnZVJlbChhbmNob3IucmVsLCAncmVtb3ZlJywgJ25vb3BlbmVyJylcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG5mdW5jdGlvbiBjb252ZXJ0QW5jaG9yRWxlbWVudChkb21Ob2RlOiBOb2RlKTogRE9NQ29udmVyc2lvbk91dHB1dCB7XG4gIGxldCBub2RlOiBMaW5rTm9kZSB8IG51bGwgPSBudWxsXG4gIGlmIChpc0hUTUxBbmNob3JFbGVtZW50KGRvbU5vZGUpKSB7XG4gICAgY29uc3QgY29udGVudCA9IGRvbU5vZGUudGV4dENvbnRlbnRcbiAgICBpZiAoY29udGVudCAhPT0gbnVsbCAmJiBjb250ZW50ICE9PSAnJykge1xuICAgICAgbm9kZSA9ICRjcmVhdGVMaW5rTm9kZSh7XG4gICAgICAgIGZpZWxkczoge1xuICAgICAgICAgIGRvYzogbnVsbCxcbiAgICAgICAgICBsaW5rVHlwZTogJ2N1c3RvbScsXG4gICAgICAgICAgbmV3VGFiOiBkb21Ob2RlLmdldEF0dHJpYnV0ZSgndGFyZ2V0JykgPT09ICdfYmxhbmsnLFxuICAgICAgICAgIHVybDogZG9tTm9kZS5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG4gIHJldHVybiB7IG5vZGUgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gJGNyZWF0ZUxpbmtOb2RlKHsgZmllbGRzIH06IHsgZmllbGRzOiBMaW5rRmllbGRzIH0pOiBMaW5rTm9kZSB7XG4gIHJldHVybiAkYXBwbHlOb2RlUmVwbGFjZW1lbnQobmV3IExpbmtOb2RlKHsgZmllbGRzIH0pKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gJGlzTGlua05vZGUobm9kZTogTGV4aWNhbE5vZGUgfCBudWxsIHwgdW5kZWZpbmVkKTogbm9kZSBpcyBMaW5rTm9kZSB7XG4gIHJldHVybiBub2RlIGluc3RhbmNlb2YgTGlua05vZGVcbn1cblxuZXhwb3J0IGNvbnN0IFRPR0dMRV9MSU5LX0NPTU1BTkQ6IExleGljYWxDb21tYW5kPExpbmtQYXlsb2FkIHwgbnVsbD4gPVxuICBjcmVhdGVDb21tYW5kKCdUT0dHTEVfTElOS19DT01NQU5EJylcblxuZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZUxpbmsocGF5bG9hZDogTGlua1BheWxvYWQpOiB2b2lkIHtcbiAgY29uc3Qgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpXG5cbiAgaWYgKCEkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgY29uc3Qgbm9kZXMgPSBzZWxlY3Rpb24uZXh0cmFjdCgpXG5cbiAgaWYgKHBheWxvYWQgPT09IG51bGwpIHtcbiAgICAvLyBSZW1vdmUgTGlua05vZGVzXG4gICAgbm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgY29uc3QgcGFyZW50ID0gbm9kZS5nZXRQYXJlbnQoKVxuXG4gICAgICBpZiAoJGlzTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHBhcmVudC5nZXRDaGlsZHJlbigpXG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgIHBhcmVudC5pbnNlcnRCZWZvcmUoY2hpbGRyZW5baV0pXG4gICAgICAgIH1cblxuICAgICAgICBwYXJlbnQucmVtb3ZlKClcbiAgICAgIH1cbiAgICB9KVxuICB9IGVsc2Uge1xuICAgIC8vIEFkZCBvciBtZXJnZSBMaW5rTm9kZXNcbiAgICBpZiAobm9kZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBmaXJzdE5vZGUgPSBub2Rlc1swXVxuICAgICAgLy8gaWYgdGhlIGZpcnN0IG5vZGUgaXMgYSBMaW5rTm9kZSBvciBpZiBpdHNcbiAgICAgIC8vIHBhcmVudCBpcyBhIExpbmtOb2RlLCB3ZSB1cGRhdGUgdGhlIFVSTCwgdGFyZ2V0IGFuZCByZWwuXG4gICAgICBjb25zdCBsaW5rTm9kZTogTGlua05vZGUgfCBudWxsID0gJGlzTGlua05vZGUoZmlyc3ROb2RlKVxuICAgICAgICA/IGZpcnN0Tm9kZVxuICAgICAgICA6ICRnZXRMaW5rQW5jZXN0b3IoZmlyc3ROb2RlKVxuICAgICAgaWYgKGxpbmtOb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGxpbmtOb2RlLnNldEZpZWxkcyhwYXlsb2FkLmZpZWxkcylcblxuICAgICAgICBpZiAocGF5bG9hZC50ZXh0ICE9IG51bGwgJiYgcGF5bG9hZC50ZXh0ICE9PSBsaW5rTm9kZS5nZXRUZXh0Q29udGVudCgpKSB7XG4gICAgICAgICAgLy8gcmVtb3ZlIGFsbCBjaGlsZHJlbiBhbmQgYWRkIGNoaWxkIHdpdGggbmV3IHRleHRjb250ZW50OlxuICAgICAgICAgIGxpbmtOb2RlLmFwcGVuZCgkY3JlYXRlVGV4dE5vZGUocGF5bG9hZC50ZXh0KSlcbiAgICAgICAgICBsaW5rTm9kZS5nZXRDaGlsZHJlbigpLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBpZiAoY2hpbGQgIT09IGxpbmtOb2RlLmdldExhc3RDaGlsZCgpKSB7XG4gICAgICAgICAgICAgIGNoaWxkLnJlbW92ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgcHJldlBhcmVudDogRWxlbWVudE5vZGUgfCBMaW5rTm9kZSB8IG51bGwgPSBudWxsXG4gICAgbGV0IGxpbmtOb2RlOiBMaW5rTm9kZSB8IG51bGwgPSBudWxsXG5cbiAgICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBub2RlLmdldFBhcmVudCgpXG5cbiAgICAgIGlmIChwYXJlbnQgPT09IGxpbmtOb2RlIHx8IHBhcmVudCA9PT0gbnVsbCB8fCAoJGlzRWxlbWVudE5vZGUobm9kZSkgJiYgIW5vZGUuaXNJbmxpbmUoKSkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmICgkaXNMaW5rTm9kZShwYXJlbnQpKSB7XG4gICAgICAgIGxpbmtOb2RlID0gcGFyZW50XG4gICAgICAgIHBhcmVudC5zZXRGaWVsZHMocGF5bG9hZC5maWVsZHMpXG4gICAgICAgIGlmIChwYXlsb2FkLnRleHQgIT0gbnVsbCAmJiBwYXlsb2FkLnRleHQgIT09IHBhcmVudC5nZXRUZXh0Q29udGVudCgpKSB7XG4gICAgICAgICAgLy8gcmVtb3ZlIGFsbCBjaGlsZHJlbiBhbmQgYWRkIGNoaWxkIHdpdGggbmV3IHRleHRjb250ZW50OlxuICAgICAgICAgIHBhcmVudC5hcHBlbmQoJGNyZWF0ZVRleHROb2RlKHBheWxvYWQudGV4dCkpXG4gICAgICAgICAgcGFyZW50LmdldENoaWxkcmVuKCkuZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZCAhPT0gcGFyZW50LmdldExhc3RDaGlsZCgpKSB7XG4gICAgICAgICAgICAgIGNoaWxkLnJlbW92ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKCFwYXJlbnQuaXMocHJldlBhcmVudCkpIHtcbiAgICAgICAgcHJldlBhcmVudCA9IHBhcmVudFxuICAgICAgICBsaW5rTm9kZSA9ICRjcmVhdGVMaW5rTm9kZSh7IGZpZWxkczogcGF5bG9hZC5maWVsZHMgfSlcblxuICAgICAgICBpZiAoJGlzTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICAgIGlmIChub2RlLmdldFByZXZpb3VzU2libGluZygpID09PSBudWxsKSB7XG4gICAgICAgICAgICBwYXJlbnQuaW5zZXJ0QmVmb3JlKGxpbmtOb2RlKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJlbnQuaW5zZXJ0QWZ0ZXIobGlua05vZGUpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vZGUuaW5zZXJ0QmVmb3JlKGxpbmtOb2RlKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICgkaXNMaW5rTm9kZShub2RlKSkge1xuICAgICAgICBpZiAobm9kZS5pcyhsaW5rTm9kZSkpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBpZiAobGlua05vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IG5vZGUuZ2V0Q2hpbGRyZW4oKVxuXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgbGlua05vZGUuYXBwZW5kKGNoaWxkcmVuW2ldKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5vZGUucmVtb3ZlKClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmIChsaW5rTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBsaW5rTm9kZS5hcHBlbmQobm9kZSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uICRnZXRMaW5rQW5jZXN0b3Iobm9kZTogTGV4aWNhbE5vZGUpOiBMaW5rTm9kZSB8IG51bGwge1xuICByZXR1cm4gJGdldEFuY2VzdG9yKG5vZGUsIChhbmNlc3RvcikgPT4gJGlzTGlua05vZGUoYW5jZXN0b3IpKSBhcyBMaW5rTm9kZVxufVxuXG5mdW5jdGlvbiAkZ2V0QW5jZXN0b3IoXG4gIG5vZGU6IExleGljYWxOb2RlLFxuICBwcmVkaWNhdGU6IChhbmNlc3RvcjogTGV4aWNhbE5vZGUpID0+IGJvb2xlYW4sXG4pOiBMZXhpY2FsTm9kZSB8IG51bGwge1xuICBsZXQgcGFyZW50OiBMZXhpY2FsTm9kZSB8IG51bGwgPSBub2RlXG4gIHdoaWxlIChwYXJlbnQgIT09IG51bGwgJiYgKHBhcmVudCA9IHBhcmVudC5nZXRQYXJlbnQoKSkgIT09IG51bGwgJiYgIXByZWRpY2F0ZShwYXJlbnQpKTtcbiAgcmV0dXJuIHBhcmVudFxufVxuXG5mdW5jdGlvbiBtYW5hZ2VSZWwoaW5wdXQ6IHN0cmluZywgYWN0aW9uOiAnYWRkJyB8ICdyZW1vdmUnLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IHJlc3VsdDogc3RyaW5nXG4gIGxldCBtdXRhYmxlSW5wdXQgPSBgJHtpbnB1dH1gXG4gIGlmIChhY3Rpb24gPT09ICdhZGQnKSB7XG4gICAgLy8gaWYgd2Ugc29tZWhvdyBnb3Qgb3V0IG9mIHN5bmMgLSBjbGVhbiB1cFxuICAgIGlmIChtdXRhYmxlSW5wdXQuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICBjb25zdCByZSA9IG5ldyBSZWdFeHAodmFsdWUsICdnJylcbiAgICAgIG11dGFibGVJbnB1dCA9IG11dGFibGVJbnB1dC5yZXBsYWNlKHJlLCAnJykudHJpbSgpXG4gICAgfVxuICAgIG11dGFibGVJbnB1dCA9IG11dGFibGVJbnB1dC50cmltKClcbiAgICByZXN1bHQgPSBtdXRhYmxlSW5wdXQubGVuZ3RoID09PSAwID8gYCR7dmFsdWV9YCA6IGAke211dGFibGVJbnB1dH0gJHt2YWx1ZX1gXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgcmUgPSBuZXcgUmVnRXhwKHZhbHVlLCAnZycpXG4gICAgcmVzdWx0ID0gbXV0YWJsZUlucHV0LnJlcGxhY2UocmUsICcnKS50cmltKClcbiAgfVxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsiTGlua05vZGUiLCIkY3JlYXRlTGlua05vZGUiLCIkaXNMaW5rTm9kZSIsIlRPR0dMRV9MSU5LX0NPTU1BTkQiLCJ0b2dnbGVMaW5rIiwiU1VQUE9SVEVEX1VSTF9QUk9UT0NPTFMiLCJTZXQiLCJFbGVtZW50Tm9kZSIsIl9fZmllbGRzIiwiY29uc3RydWN0b3IiLCJmaWVsZHMiLCJkb2MiLCJsaW5rVHlwZSIsIm5ld1RhYiIsInVybCIsInVuZGVmaW5lZCIsImtleSIsImNsb25lIiwibm9kZSIsIl9fa2V5IiwiZ2V0VHlwZSIsImltcG9ydERPTSIsImEiLCJjb252ZXJzaW9uIiwiY29udmVydEFuY2hvckVsZW1lbnQiLCJwcmlvcml0eSIsImltcG9ydEpTT04iLCJzZXJpYWxpemVkTm9kZSIsInNldEZvcm1hdCIsImZvcm1hdCIsInNldEluZGVudCIsImluZGVudCIsInNldERpcmVjdGlvbiIsImRpcmVjdGlvbiIsImNhbkJlRW1wdHkiLCJjYW5JbnNlcnRUZXh0QWZ0ZXIiLCJjYW5JbnNlcnRUZXh0QmVmb3JlIiwiY3JlYXRlRE9NIiwiY29uZmlnIiwiZWxlbWVudCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImhyZWYiLCJzYW5pdGl6ZVVybCIsInRhcmdldCIsInJlbCIsIm1hbmFnZVJlbCIsImFkZENsYXNzTmFtZXNUb0VsZW1lbnQiLCJ0aGVtZSIsImxpbmsiLCJleHBvcnRKU09OIiwiZ2V0RmllbGRzIiwidHlwZSIsInZlcnNpb24iLCJleHRyYWN0V2l0aENoaWxkIiwiY2hpbGQiLCJzZWxlY3Rpb24iLCJkZXN0aW5hdGlvbiIsIiRpc1JhbmdlU2VsZWN0aW9uIiwiYW5jaG9yTm9kZSIsImFuY2hvciIsImdldE5vZGUiLCJmb2N1c05vZGUiLCJmb2N1cyIsImlzUGFyZW50T2YiLCJnZXRUZXh0Q29udGVudCIsImxlbmd0aCIsImdldExhdGVzdCIsImluc2VydE5ld0FmdGVyIiwicmVzdG9yZVNlbGVjdGlvbiIsImdldFBhcmVudE9yVGhyb3ciLCIkaXNFbGVtZW50Tm9kZSIsImxpbmtOb2RlIiwiYXBwZW5kIiwiaXNJbmxpbmUiLCJwYXJzZWRVcmwiLCJVUkwiLCJoYXMiLCJwcm90b2NvbCIsImUiLCJzZXRGaWVsZHMiLCJ3cml0YWJsZSIsImdldFdyaXRhYmxlIiwidXBkYXRlRE9NIiwicHJldk5vZGUiLCJyZW1vdmVBdHRyaWJ1dGUiLCJkb21Ob2RlIiwiaXNIVE1MQW5jaG9yRWxlbWVudCIsImNvbnRlbnQiLCJ0ZXh0Q29udGVudCIsImdldEF0dHJpYnV0ZSIsIiRhcHBseU5vZGVSZXBsYWNlbWVudCIsImNyZWF0ZUNvbW1hbmQiLCJwYXlsb2FkIiwiJGdldFNlbGVjdGlvbiIsIm5vZGVzIiwiZXh0cmFjdCIsImZvckVhY2giLCJwYXJlbnQiLCJnZXRQYXJlbnQiLCJjaGlsZHJlbiIsImdldENoaWxkcmVuIiwiaSIsImluc2VydEJlZm9yZSIsInJlbW92ZSIsImZpcnN0Tm9kZSIsIiRnZXRMaW5rQW5jZXN0b3IiLCJ0ZXh0IiwiJGNyZWF0ZVRleHROb2RlIiwiZ2V0TGFzdENoaWxkIiwicHJldlBhcmVudCIsImlzIiwiZ2V0UHJldmlvdXNTaWJsaW5nIiwiaW5zZXJ0QWZ0ZXIiLCIkZ2V0QW5jZXN0b3IiLCJhbmNlc3RvciIsInByZWRpY2F0ZSIsImlucHV0IiwiYWN0aW9uIiwidmFsdWUiLCJyZXN1bHQiLCJtdXRhYmxlSW5wdXQiLCJpbmNsdWRlcyIsInJlIiwiUmVnRXhwIiwicmVwbGFjZSIsInRyaW0iXSwibWFwcGluZ3MiOiJBQUFBLDBCQUEwQixHQUMxQjs7Ozs7O0NBTUM7Ozs7Ozs7Ozs7O0lBb0RZQSxRQUFRO2VBQVJBOztJQWdNR0MsZUFBZTtlQUFmQTs7SUFJQUMsV0FBVztlQUFYQTs7SUFJSEMsbUJBQW1CO2VBQW5CQTs7SUFHR0MsVUFBVTtlQUFWQTs7O3VCQTNQNEM7eUJBa0JyRDtBQTJCUCxNQUFNQywwQkFBMEIsSUFBSUMsSUFBSTtJQUFDO0lBQVM7SUFBVTtJQUFXO0lBQVE7Q0FBTztBQUcvRSxNQUFNTixpQkFBaUJPLG9CQUFXO0lBQ3ZDQyxTQUFvQjtJ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
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL25vZGVzL0xpbmtOb2RlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmFzZVNlbGVjdGlvbiB9IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCB7IGFkZENsYXNzTmFtZXNUb0VsZW1lbnQsIGlzSFRNTEFuY2hvckVsZW1lbnQgfSBmcm9tICdAbGV4aWNhbC91dGlscydcbmltcG9ydCB7XG4gICRhcHBseU5vZGVSZXBsYWNlbWVudCxcbiAgJGNyZWF0ZVRleHROb2RlLFxuICAkZ2V0U2VsZWN0aW9uLFxuICAkaXNFbGVtZW50Tm9kZSxcbiAgJGlzUmFuZ2VTZWxlY3Rpb24sXG4gIHR5cGUgRE9NQ29udmVyc2lvbk1hcCxcbiAgdHlwZSBET01Db252ZXJzaW9uT3V0cHV0LFxuICB0eXBlIEVkaXRvckNvbmZpZyxcbiAgRWxlbWVudE5vZGUsXG4gIHR5cGUgTGV4aWNhbENvbW1hbmQsXG4gIHR5cGUgTGV4aWNhbE5vZGUsXG4gIHR5cGUgTm9kZUtleSxcbiAgdHlwZSBSYW5nZVNlbGVjdGlvbixcbiAgdHlwZSBTZXJpYWxpemVkRWxlbWVudE5vZGUsXG4gIHR5cGUgU3ByZWFkLFxuICBjcmVhdGVDb21tYW5kLFxufSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgdHlwZSB7IExpbmtQYXlsb2FkIH0gZnJvbSAnLi4vcGx1Z2lucy9mbG9hdGluZ0xpbmtFZGl0b3IvdHlwZXMnXG5cbmV4cG9ydCB0eXBlIExpbmtGaWVsZHMgPSB7XG4gIC8vIHVua25vd24sIGN1c3RvbSBmaWVsZHM6XG4gIFtrZXk6IHN0cmluZ106IHVua25vd25cbiAgZG9jOiB7XG4gICAgcmVsYXRpb25Ubzogc3RyaW5nXG4gICAgdmFsdWU6XG4gICAgICB8IHtcbiAgICAgICAgICAvLyBBY3R1YWwgZG9jIGRhdGEsIHBvcHVsYXRlZCBpbiBhZnRlclJlYWQgaG9va1xuICAgICAgICAgIFtrZXk6IHN0cmluZ106IHVua25vd25cbiAgICAgICAgICBpZDogc3RyaW5nXG4gICAgICAgIH1cbiAgICAgIHwgc3RyaW5nXG4gIH0gfCBudWxsXG4gIGxpbmtUeXBlOiAnY3VzdG9tJyB8ICdpbnRlcm5hbCdcbiAgbmV3VGFiOiBib29sZWFuXG4gIHVybDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFNlcmlhbGl6ZWRMaW5rTm9kZSA9IFNwcmVhZDxcbiAge1xuICAgIGZpZWxkczogTGlua0ZpZWxkc1xuICB9LFxuICBTZXJpYWxpemVkRWxlbWVudE5vZGVcbj5cblxuY29uc3QgU1VQUE9SVEVEX1VSTF9QUk9UT0NPTFMgPSBuZXcgU2V0KFsnaHR0cDonLCAnaHR0cHM6JywgJ21haWx0bzonLCAnc21zOicsICd0ZWw6J10pXG5cbi8qKiBAbm9Jbmhlcml0RG9jICovXG5leHBvcnQgY2xhc3MgTGlua05vZGUgZXh0ZW5kcyBFbGVtZW50Tm9kZSB7XG4gIF9fZmllbGRzOiBMaW5rRmllbGRzXG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIGZpZWxkcyA9IHtcbiAgICAgIGRvYzogbnVsbCxcbiAgICAgIGxpbmtUeXBlOiAnY3VzdG9tJyxcbiAgICAgIG5ld1RhYjogZmFsc2UsXG4gICAgICB1cmw6IHVuZGVmaW5lZCxcbiAgICB9LFxuICAgIGtleSxcbiAgfToge1xuICAgIGZpZWxkczogTGlua0ZpZWxkc1xuICAgIGtleT86IE5vZGVLZXlcbiAgfSkge1xuICAgIHN1cGVyKGtleSlcbiAgICB0aGlzLl9fZmllbGRzID0gZmllbGRzXG4gIH1cblxuICBzdGF0aWMgY2xvbmUobm9kZTogTGlua05vZGUpOiBMaW5rTm9kZSB7XG4gICAgcmV0dXJuIG5ldyBMaW5rTm9kZSh7XG4gICAgICBmaWVsZHM6IG5vZGUuX19maWVsZHMsXG4gICAgICBrZXk6IG5vZGUuX19rZXksXG4gICAgfSlcbiAgfVxuXG4gIHN0YXRpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdsaW5rJ1xuICB9XG5cbiAgc3RhdGljIGltcG9ydERPTSgpOiBET01Db252ZXJzaW9uTWFwIHwgbnVsbCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGE6IChub2RlOiBOb2RlKSA9PiAoe1xuICAgICAgICBjb252ZXJzaW9uOiBjb252ZXJ0QW5jaG9yRWxlbWVudCxcbiAgICAgICAgcHJpb3JpdHk6IDEsXG4gICAgICB9KSxcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgaW1wb3J0SlNPTihzZXJpYWxpemVkTm9kZTogU2VyaWFsaXplZExpbmtOb2RlKTogTGlua05vZGUge1xuICAgIGlmIChcbiAgICAgIHNlcmlhbGl6ZWROb2RlLnZlcnNpb24gPT09IDEgJiZcbiAgICAgIHR5cGVvZiBzZXJpYWxpemVkTm9kZS5maWVsZHM/LmRvYz8udmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgICBzZXJpYWxpemVkTm9kZS5maWVsZHM/LmRvYz8udmFsdWU/LmlkXG4gICAgKSB7XG4gICAgICBzZXJpYWxpemVkTm9kZS5maWVsZHMuZG9jLnZhbHVlID0gc2VyaWFsaXplZE5vZGUuZmllbGRzLmRvYy52YWx1ZS5pZFxuICAgICAgc2VyaWFsaXplZE5vZGUudmVyc2lvbiA9IDJcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gJGNyZWF0ZUxpbmtOb2RlKHtcbiAgICAgIGZpZWxkczogc2VyaWFsaXplZE5vZGUuZmllbGRzLFxuICAgIH0pXG4gICAgbm9kZS5zZXRGb3JtYXQoc2VyaWFsaXplZE5vZGUuZm9ybWF0KVxuICAgIG5vZGUuc2V0SW5kZW50KHNlcmlhbGl6ZWROb2RlLmluZGVudClcbiAgICBub2RlLnNldERpcmVjdGlvbihzZXJpYWxpemVkTm9kZS5kaXJlY3Rpb24pXG4gICAgcmV0dXJuIG5vZGVcbiAgfVxuXG4gIGNhbkJlRW1wdHkoKTogZmFsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY2FuSW5zZXJ0VGV4dEFmdGVyKCk6IGZhbHNlIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGNhbkluc2VydFRleHRCZWZvcmUoKTogZmFsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY3JlYXRlRE9NKGNvbmZpZzogRWRpdG9yQ29uZmlnKTogSFRNTEFuY2hvckVsZW1lbnQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcbiAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICBlbGVtZW50LmhyZWYgPSB0aGlzLnNhbml0aXplVXJsKHRoaXMuX19maWVsZHMudXJsID8/ICcnKVxuICAgIH1cbiAgICBpZiAodGhpcy5fX2ZpZWxkcz8ubmV3VGFiID8/IGZhbHNlKSB7XG4gICAgICBlbGVtZW50LnRhcmdldCA9ICdfYmxhbmsnXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX19maWVsZHM/Lm5ld1RhYiA9PT0gdHJ1ZSAmJiB0aGlzLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgIGVsZW1lbnQucmVsID0gbWFuYWdlUmVsKGVsZW1lbnQucmVsLCAnYWRkJywgJ25vb3BlbmVyJylcbiAgICB9XG5cbiAgICBhZGRDbGFzc05hbWVzVG9FbGVtZW50KGVsZW1lbnQsIGNvbmZpZy50aGVtZS5saW5rKVxuICAgIHJldHVybiBlbGVtZW50XG4gIH1cblxuICBleHBvcnRKU09OKCk6IFNlcmlhbGl6ZWRMaW5rTm9kZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLmV4cG9ydEpTT04oKSxcbiAgICAgIGZpZWxkczogdGhpcy5nZXRGaWVsZHMoKSxcbiAgICAgIHR5cGU6IHRoaXMuZ2V0VHlwZSgpLFxuICAgICAgdmVyc2lvbjogMixcbiAgICB9XG4gIH1cblxuICBleHRyYWN0V2l0aENoaWxkKFxuICAgIGNoaWxkOiBMZXhpY2FsTm9kZSxcbiAgICBzZWxlY3Rpb246IEJhc2VTZWxlY3Rpb24sXG4gICAgZGVzdGluYXRpb246ICdjbG9uZScgfCAnaHRtbCcsXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmICghJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgY29uc3QgYW5jaG9yTm9kZSA9IHNlbGVjdGlvbi5hbmNob3IuZ2V0Tm9kZSgpXG4gICAgY29uc3QgZm9jdXNOb2RlID0gc2VsZWN0aW9uLmZvY3VzLmdldE5vZGUoKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaXNQYXJlbnRPZihhbmNob3JOb2RlKSAmJlxuICAgICAgdGhpcy5pc1BhcmVudE9mKGZvY3VzTm9kZSkgJiZcbiAgICAgIHNlbGVjdGlvbi5nZXRUZXh0Q29udGVudCgpLmxlbmd0aCA+IDBcbiAgICApXG4gIH1cblxuICBnZXRGaWVsZHMoKTogTGlua0ZpZWxkcyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGF0ZXN0KCkuX19maWVsZHNcbiAgfVxuXG4gIGluc2VydE5ld0FmdGVyKHNlbGVjdGlvbjogUmFuZ2VTZWxlY3Rpb24sIHJlc3RvcmVTZWxlY3Rpb24gPSB0cnVlKTogRWxlbWVudE5vZGUgfCBudWxsIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5nZXRQYXJlbnRPclRocm93KCkuaW5zZXJ0TmV3QWZ0ZXIoc2VsZWN0aW9uLCByZXN0b3JlU2VsZWN0aW9uKVxuICAgIGlmICgkaXNFbGVtZW50Tm9kZShlbGVtZW50KSkge1xuICAgICAgY29uc3QgbGlua05vZGUgPSAkY3JlYXRlTGlua05vZGUoeyBmaWVsZHM6IHRoaXMuX19maWVsZHMgfSlcbiAgICAgIGVsZW1lbnQuYXBwZW5kKGxpbmtOb2RlKVxuICAgICAgcmV0dXJuIGxpbmtOb2RlXG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBpc0lubGluZSgpOiB0cnVlIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgc2FuaXRpemVVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWRVcmwgPSBuZXcgVVJMKHVybClcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zY3JpcHQtdXJsXG4gICAgICBpZiAoIVNVUFBPUlRFRF9VUkxfUFJPVE9DT0xTLmhhcyhwYXJzZWRVcmwucHJvdG9jb2wpKSB7XG4gICAgICAgIHJldHVybiAnYWJvdXQ6YmxhbmsnXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuICdodHRwczovLydcbiAgICB9XG4gICAgcmV0dXJuIHVybFxuICB9XG5cbiAgc2V0RmllbGRzKGZpZWxkczogTGlua0ZpZWxkcyk6IHZvaWQge1xuICAgIGNvbnN0IHdyaXRhYmxlID0gdGhpcy5nZXRXcml0YWJsZSgpXG4gICAgd3JpdGFibGUuX19maWVsZHMgPSBmaWVsZHNcbiAgfVxuXG4gIHVwZGF0ZURPTShwcmV2Tm9kZTogTGlua05vZGUsIGFuY2hvcjogSFRNTEFuY2hvckVsZW1lbnQsIGNvbmZpZzogRWRpdG9yQ29uZmlnKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5fX2ZpZWxkcz8udXJsXG4gICAgY29uc3QgbmV3VGFiID0gdGhpcy5fX2ZpZWxkcz8ubmV3VGFiXG4gICAgaWYgKHVybCAhPSBudWxsICYmIHVybCAhPT0gcHJldk5vZGUuX19maWVsZHM/LnVybCAmJiB0aGlzLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgIGFuY2hvci5ocmVmID0gdXJsXG4gICAgfVxuICAgIGlmICh0aGlzLl9fZmllbGRzPy5saW5rVHlwZSA9PT0gJ2ludGVybmFsJyAmJiBwcmV2Tm9kZS5fX2ZpZWxkcz8ubGlua1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICBhbmNob3IucmVtb3ZlQXR0cmlidXRlKCdocmVmJylcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBub3QgMTAwJSBzdXJlIHdoeSB3ZSdyZSBzZXR0aWduIHJlbCB0byAnJyAtIHJldmlzaXRcbiAgICAvLyBTdGFydCByZWwgY29uZmlnIGhlcmUsIHRoZW4gY2hlY2sgbmV3VGFiIGJlbG93XG4gICAgaWYgKGFuY2hvci5yZWwgPT0gbnVsbCkge1xuICAgICAgYW5jaG9yLnJlbCA9ICcnXG4gICAgfVxuXG4gICAgaWYgKG5ld1RhYiAhPT0gcHJldk5vZGUuX19maWVsZHM/Lm5ld1RhYikge1xuICAgICAgaWYgKG5ld1RhYiA/PyBmYWxzZSkge1xuICAgICAgICBhbmNob3IudGFyZ2V0ID0gJ19ibGFuaydcbiAgICAgICAgaWYgKHRoaXMuX19maWVsZHM/LmxpbmtUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgICAgIGFuY2hvci5yZWwgPSBtYW5hZ2VSZWwoYW5jaG9yLnJlbCwgJ2FkZCcsICdub29wZW5lcicpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFuY2hvci5yZW1vdmVBdHRyaWJ1dGUoJ3RhcmdldCcpXG4gICAgICAgIGFuY2hvci5yZWwgPSBtYW5hZ2VSZWwoYW5jaG9yLnJlbCwgJ3JlbW92ZScsICdub29wZW5lcicpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxuZnVuY3Rpb24gY29udmVydEFuY2hvckVsZW1lbnQoZG9tTm9kZTogTm9kZSk6IERPTUNvbnZlcnNpb25PdXRwdXQge1xuICBsZXQgbm9kZTogTGlua05vZGUgfCBudWxsID0gbnVsbFxuICBpZiAoaXNIVE1MQW5jaG9yRWxlbWVudChkb21Ob2RlKSkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBkb21Ob2RlLnRleHRDb250ZW50XG4gICAgaWYgKGNvbnRlbnQgIT09IG51bGwgJiYgY29udGVudCAhPT0gJycpIHtcbiAgICAgIG5vZGUgPSAkY3JlYXRlTGlua05vZGUoe1xuICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICBkb2M6IG51bGwsXG4gICAgICAgICAgbGlua1R5cGU6ICdjdXN0b20nLFxuICAgICAgICAgIG5ld1RhYjogZG9tTm9kZS5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpID09PSAnX2JsYW5rJyxcbiAgICAgICAgICB1cmw6IGRvbU5vZGUuZ2V0QXR0cmlidXRlKCdocmVmJykgPz8gJycsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH1cbiAgfVxuICByZXR1cm4geyBub2RlIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uICRjcmVhdGVMaW5rTm9kZSh7IGZpZWxkcyB9OiB7IGZpZWxkczogTGlua0ZpZWxkcyB9KTogTGlua05vZGUge1xuICByZXR1cm4gJGFwcGx5Tm9kZVJlcGxhY2VtZW50KG5ldyBMaW5rTm9kZSh7IGZpZWxkcyB9KSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uICRpc0xpbmtOb2RlKG5vZGU6IExleGljYWxOb2RlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IG5vZGUgaXMgTGlua05vZGUge1xuICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIExpbmtOb2RlXG59XG5cbmV4cG9ydCBjb25zdCBUT0dHTEVfTElOS19DT01NQU5EOiBMZXhpY2FsQ29tbWFuZDxMaW5rUGF5bG9hZCB8IG51bGw+ID1cbiAgY3JlYXRlQ29tbWFuZCgnVE9HR0xFX0xJTktfQ09NTUFORCcpXG5cbmV4cG9ydCBmdW5jdGlvbiB0b2dnbGVMaW5rKHBheWxvYWQ6IExpbmtQYXlsb2FkKTogdm9pZCB7XG4gIGNvbnN0IHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKVxuXG4gIGlmICghJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgIHJldHVyblxuICB9XG4gIGNvbnN0IG5vZGVzID0gc2VsZWN0aW9uLmV4dHJhY3QoKVxuXG4gIGlmIChwYXlsb2FkID09PSBudWxsKSB7XG4gICAgLy8gUmVtb3ZlIExpbmtOb2Rlc1xuICAgIG5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IG5vZGUuZ2V0UGFyZW50KClcblxuICAgICAgaWYgKCRpc0xpbmtOb2RlKHBhcmVudCkpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBwYXJlbnQuZ2V0Q2hpbGRyZW4oKVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICBwYXJlbnQuaW5zZXJ0QmVmb3JlKGNoaWxkcmVuW2ldKVxuICAgICAgICB9XG5cbiAgICAgICAgcGFyZW50LnJlbW92ZSgpXG4gICAgICB9XG4gICAgfSlcbiAgfSBlbHNlIHtcbiAgICAvLyBBZGQgb3IgbWVyZ2UgTGlua05vZGVzXG4gICAgaWYgKG5vZGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgZmlyc3ROb2RlID0gbm9kZXNbMF1cbiAgICAgIC8vIGlmIHRoZSBmaXJzdCBub2RlIGlzIGEgTGlua05vZGUgb3IgaWYgaXRzXG4gICAgICAvLyBwYXJlbnQgaXMgYSBMaW5rTm9kZSwgd2UgdXBkYXRlIHRoZSBVUkwsIHRhcmdldCBhbmQgcmVsLlxuICAgICAgY29uc3QgbGlua05vZGU6IExpbmtOb2RlIHwgbnVsbCA9ICRpc0xpbmtOb2RlKGZpcnN0Tm9kZSlcbiAgICAgICAgPyBmaXJzdE5vZGVcbiAgICAgICAgOiAkZ2V0TGlua0FuY2VzdG9yKGZpcnN0Tm9kZSlcbiAgICAgIGlmIChsaW5rTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBsaW5rTm9kZS5zZXRGaWVsZHMocGF5bG9hZC5maWVsZHMpXG5cbiAgICAgICAgaWYgKHBheWxvYWQudGV4dCAhPSBudWxsICYmIHBheWxvYWQudGV4dCAhPT0gbGlua05vZGUuZ2V0VGV4dENvbnRlbnQoKSkge1xuICAgICAgICAgIC8vIHJlbW92ZSBhbGwgY2hpbGRyZW4gYW5kIGFkZCBjaGlsZCB3aXRoIG5ldyB0ZXh0Y29udGVudDpcbiAgICAgICAgICBsaW5rTm9kZS5hcHBlbmQoJGNyZWF0ZVRleHROb2RlKHBheWxvYWQudGV4dCkpXG4gICAgICAgICAgbGlua05vZGUuZ2V0Q2hpbGRyZW4oKS5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNoaWxkICE9PSBsaW5rTm9kZS5nZXRMYXN0Q2hpbGQoKSkge1xuICAgICAgICAgICAgICBjaGlsZC5yZW1vdmUoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IHByZXZQYXJlbnQ6IEVsZW1lbnROb2RlIHwgTGlua05vZGUgfCBudWxsID0gbnVsbFxuICAgIGxldCBsaW5rTm9kZTogTGlua05vZGUgfCBudWxsID0gbnVsbFxuXG4gICAgbm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgY29uc3QgcGFyZW50ID0gbm9kZS5nZXRQYXJlbnQoKVxuXG4gICAgICBpZiAocGFyZW50ID09PSBsaW5rTm9kZSB8fCBwYXJlbnQgPT09IG51bGwgfHwgKCRpc0VsZW1lbnROb2RlKG5vZGUpICYmICFub2RlLmlzSW5saW5lKCkpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpZiAoJGlzTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICBsaW5rTm9kZSA9IHBhcmVudFxuICAgICAgICBwYXJlbnQuc2V0RmllbGRzKHBheWxvYWQuZmllbGRzKVxuICAgICAgICBpZiAocGF5bG9hZC50ZXh0ICE9IG51bGwgJiYgcGF5bG9hZC50ZXh0ICE9PSBwYXJlbnQuZ2V0VGV4dENvbnRlbnQoKSkge1xuICAgICAgICAgIC8vIHJlbW92ZSBhbGwgY2hpbGRyZW4gYW5kIGFkZCBjaGlsZCB3aXRoIG5ldyB0ZXh0Y29udGVudDpcbiAgICAgICAgICBwYXJlbnQuYXBwZW5kKCRjcmVhdGVUZXh0Tm9kZShwYXlsb2FkLnRleHQpKVxuICAgICAgICAgIHBhcmVudC5nZXRDaGlsZHJlbigpLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBpZiAoY2hpbGQgIT09IHBhcmVudC5nZXRMYXN0Q2hpbGQoKSkge1xuICAgICAgICAgICAgICBjaGlsZC5yZW1vdmUoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmICghcGFyZW50LmlzKHByZXZQYXJlbnQpKSB7XG4gICAgICAgIHByZXZQYXJlbnQgPSBwYXJlbnRcbiAgICAgICAgbGlua05vZGUgPSAkY3JlYXRlTGlua05vZGUoeyBmaWVsZHM6IHBheWxvYWQuZmllbGRzIH0pXG5cbiAgICAgICAgaWYgKCRpc0xpbmtOb2RlKHBhcmVudCkpIHtcbiAgICAgICAgICBpZiAobm9kZS5nZXRQcmV2aW91c1NpYmxpbmcoKSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShsaW5rTm9kZSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyZW50Lmluc2VydEFmdGVyKGxpbmtOb2RlKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBub2RlLmluc2VydEJlZm9yZShsaW5rTm9kZSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoJGlzTGlua05vZGUobm9kZSkpIHtcbiAgICAgICAgaWYgKG5vZGUuaXMobGlua05vZGUpKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpbmtOb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBub2RlLmdldENoaWxkcmVuKClcblxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIGxpbmtOb2RlLmFwcGVuZChjaGlsZHJlbltpXSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBub2RlLnJlbW92ZSgpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpZiAobGlua05vZGUgIT09IG51bGwpIHtcbiAgICAgICAgbGlua05vZGUuYXBwZW5kKG5vZGUpXG4gICAgICB9XG4gICAgfSlcbiAgfVxufVxuXG5mdW5jdGlvbiAkZ2V0TGlua0FuY2VzdG9yKG5vZGU6IExleGljYWxOb2RlKTogTGlua05vZGUgfCBudWxsIHtcbiAgcmV0dXJuICRnZXRBbmNlc3Rvcihub2RlLCAoYW5jZXN0b3IpID0+ICRpc0xpbmtOb2RlKGFuY2VzdG9yKSkgYXMgTGlua05vZGVcbn1cblxuZnVuY3Rpb24gJGdldEFuY2VzdG9yKFxuICBub2RlOiBMZXhpY2FsTm9kZSxcbiAgcHJlZGljYXRlOiAoYW5jZXN0b3I6IExleGljYWxOb2RlKSA9PiBib29sZWFuLFxuKTogTGV4aWNhbE5vZGUgfCBudWxsIHtcbiAgbGV0IHBhcmVudDogTGV4aWNhbE5vZGUgfCBudWxsID0gbm9kZVxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsICYmIChwYXJlbnQgPSBwYXJlbnQuZ2V0UGFyZW50KCkpICE9PSBudWxsICYmICFwcmVkaWNhdGUocGFyZW50KSk7XG4gIHJldHVybiBwYXJlbnRcbn1cblxuZnVuY3Rpb24gbWFuYWdlUmVsKGlucHV0OiBzdHJpbmcsIGFjdGlvbjogJ2FkZCcgfCAncmVtb3ZlJywgdmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGxldCByZXN1bHQ6IHN0cmluZ1xuICBsZXQgbXV0YWJsZUlucHV0ID0gYCR7aW5wdXR9YFxuICBpZiAoYWN0aW9uID09PSAnYWRkJykge1xuICAgIC8vIGlmIHdlIHNvbWVob3cgZ290IG91dCBvZiBzeW5jIC0gY2xlYW4gdXBcbiAgICBpZiAobXV0YWJsZUlucHV0LmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgY29uc3QgcmUgPSBuZXcgUmVnRXhwKHZhbHVlLCAnZycpXG4gICAgICBtdXRhYmxlSW5wdXQgPSBtdXRhYmxlSW5wdXQucmVwbGFjZShyZSwgJycpLnRyaW0oKVxuICAgIH1cbiAgICBtdXRhYmxlSW5wdXQgPSBtdXRhYmxlSW5wdXQudHJpbSgpXG4gICAgcmVzdWx0ID0gbXV0YWJsZUlucHV0Lmxlbmd0aCA9PT0gMCA/IGAke3ZhbHVlfWAgOiBgJHttdXRhYmxlSW5wdXR9ICR7dmFsdWV9YFxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cCh2YWx1ZSwgJ2cnKVxuICAgIHJlc3VsdCA9IG11dGFibGVJbnB1dC5yZXBsYWNlKHJlLCAnJykudHJpbSgpXG4gIH1cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbIkxpbmtOb2RlIiwiJGNyZWF0ZUxpbmtOb2RlIiwiJGlzTGlua05vZGUiLCJUT0dHTEVfTElOS19DT01NQU5EIiwidG9nZ2xlTGluayIsIlNVUFBPUlRFRF9VUkxfUFJPVE9DT0xTIiwiU2V0IiwiRWxlbWVudE5vZGUiLCJfX2ZpZWxkcyIsImNvbnN0cnVjdG9yIiwiZmllbGRzIiwiZG9jIiwibGlua1R5cGUiLCJuZXdUYWIiLCJ1cmwiLCJ1bmRlZmluZWQiLCJrZXkiLCJjbG9uZSIsIm5vZGUiLCJfX2tleSIsImdldFR5cGUiLCJpbXBvcnRET00iLCJhIiwiY29udmVyc2lvbiIsImNvbnZlcnRBbmNob3JFbGVtZW50IiwicHJpb3JpdHkiLCJpbXBvcnRKU09OIiwic2VyaWFsaXplZE5vZGUiLCJ2ZXJzaW9uIiwidmFsdWUiLCJpZCIsInNldEZvcm1hdCIsImZvcm1hdCIsInNldEluZGVudCIsImluZGVudCIsInNldERpcmVjdGlvbiIsImRpcmVjdGlvbiIsImNhbkJlRW1wdHkiLCJjYW5JbnNlcnRUZXh0QWZ0ZXIiLCJjYW5JbnNlcnRUZXh0QmVmb3JlIiwiY3JlYXRlRE9NIiwiY29uZmlnIiwiZWxlbWVudCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImhyZWYiLCJzYW5pdGl6ZVVybCIsInRhcmdldCIsInJlbCIsIm1hbmFnZVJlbCIsImFkZENsYXNzTmFtZXNUb0VsZW1lbnQiLCJ0aGVtZSIsImxpbmsiLCJleHBvcnRKU09OIiwiZ2V0RmllbGRzIiwidHlwZSIsImV4dHJhY3RXaXRoQ2hpbGQiLCJjaGlsZCIsInNlbGVjdGlvbiIsImRlc3RpbmF0aW9uIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJhbmNob3JOb2RlIiwiYW5jaG9yIiwiZ2V0Tm9kZSIsImZvY3VzTm9kZSIsImZvY3VzIiwiaXNQYXJlbnRPZiIsImdldFRleHRDb250ZW50IiwibGVuZ3RoIiwiZ2V0TGF0ZXN0IiwiaW5zZXJ0TmV3QWZ0ZXIiLCJyZXN0b3JlU2VsZWN0aW9uIiwiZ2V0UGFyZW50T3JUaHJvdyIsIiRpc0VsZW1lbnROb2RlIiwibGlua05vZGUiLCJhcHBlbmQiLCJpc0lubGluZSIsInBhcnNlZFVybCIsIlVSTCIsImhhcyIsInByb3RvY29sIiwiZSIsInNldEZpZWxkcyIsIndyaXRhYmxlIiwiZ2V0V3JpdGFibGUiLCJ1cGRhdGVET00iLCJwcmV2Tm9kZSIsInJlbW92ZUF0dHJpYnV0ZSIsImRvbU5vZGUiLCJpc0hUTUxBbmNob3JFbGVtZW50IiwiY29udGVudCIsInRleHRDb250ZW50IiwiZ2V0QXR0cmlidXRlIiwiJGFwcGx5Tm9kZVJlcGxhY2VtZW50IiwiY3JlYXRlQ29tbWFuZCIsInBheWxvYWQiLCIkZ2V0U2VsZWN0aW9uIiwibm9kZXMiLCJleHRyYWN0IiwiZm9yRWFjaCIsInBhcmVudCIsImdldFBhcmVudCIsImNoaWxkcmVuIiwiZ2V0Q2hpbGRyZW4iLCJpIiwiaW5zZXJ0QmVmb3JlIiwicmVtb3ZlIiwiZmlyc3ROb2RlIiwiJGdldExpbmtBbmNlc3RvciIsInRleHQiLCIkY3JlYXRlVGV4dE5vZGUiLCJnZXRMYXN0Q2hpbGQiLCJwcmV2UGFyZW50IiwiaXMiLCJnZXRQcmV2aW91c1NpYmxpbmciLCJpbnNlcnRBZnRlciIsIiRnZXRBbmNlc3RvciIsImFuY2VzdG9yIiwicHJlZGljYXRlIiwiaW5wdXQiLCJhY3Rpb24iLCJyZXN1bHQiLCJtdXRhYmxlSW5wdXQiLCJpbmNsdWRlcyIsInJlIiwiUmVnRXhwIiwicmVwbGFjZSIsInRyaW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBb0RhQSxRQUFRO2VBQVJBOztJQXlNR0MsZUFBZTtlQUFmQTs7SUFJQUMsV0FBVztlQUFYQTs7SUFJSEMsbUJBQW1CO2VBQW5CQTs7SUFHR0MsVUFBVTtlQUFWQTs7O3VCQXRRNEM7eUJBa0JyRDtBQTZCUCxNQUFNQywwQkFBMEIsSUFBSUMsSUFB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