@tryghost/koenig-lexical 0.0.39 → 0.0.41
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.
- package/dist/assets/index.a5c19aa5.css +1 -0
- package/dist/koenig-lexical.js +3354 -3118
- package/dist/koenig-lexical.js.map +1 -1
- package/dist/koenig-lexical.umd.js +29 -29
- package/dist/koenig-lexical.umd.js.map +1 -1
- package/package.json +13 -12
- package/dist/assets/index.18f4b1fb.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koenig-lexical.js","sources":["../src/assets/icons/kg-bold.svg","../src/assets/icons/kg-italic.svg","../src/assets/icons/kg-heading-1.svg","../src/assets/icons/kg-heading-2.svg","../src/assets/icons/kg-link.svg","../src/assets/icons/kg-quote.svg","../src/assets/icons/kg-img-regular.svg","../src/assets/icons/kg-img-wide.svg","../src/assets/icons/kg-img-full.svg","../src/assets/icons/kg-replace.svg","../src/assets/icons/kg-add.svg","../src/assets/icons/kg-snippet.svg","../src/assets/icons/plus.svg","../src/assets/icons/kg-card-type-image.svg","../src/assets/icons/kg-card-type-markdown.svg","../src/assets/icons/kg-card-type-html.svg","../src/assets/icons/kg-card-type-gallery.svg","../src/assets/icons/kg-card-type-divider.svg","../src/assets/icons/kg-card-type-bookmark.svg","../src/assets/icons/kg-card-type-email.svg","../src/assets/icons/kg-card-type-email-cta.svg","../src/assets/icons/kg-card-type-preview.svg","../src/assets/icons/kg-card-type-button.svg","../src/assets/icons/kg-card-type-callout.svg","../src/assets/icons/kg-card-type-gif.svg","../src/assets/icons/kg-card-type-toggle.svg","../src/assets/icons/kg-card-type-video.svg","../src/assets/icons/kg-card-type-audio.svg","../src/assets/icons/kg-card-type-file.svg","../src/assets/icons/kg-card-type-product.svg","../src/assets/icons/kg-card-type-header.svg","../src/assets/icons/kg-card-type-youtube.svg","../src/assets/icons/kg-card-type-twitter.svg","../src/assets/icons/kg-card-type-unsplash.svg","../src/assets/icons/kg-card-type-vimeo.svg","../src/assets/icons/kg-card-type-codepen.svg","../src/assets/icons/kg-card-type-spotify.svg","../src/assets/icons/kg-card-type-soundcloud.svg","../src/assets/icons/kg-card-type-nft.svg","../src/assets/icons/kg-card-type-other.svg","../src/assets/icons/kg-card-type-snippet.svg","../src/assets/icons/kg-img-placeholder.svg","../src/assets/icons/kg-gallery-placeholder.svg","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../src/components/DesignSandbox.jsx","../../../node_modules/@lexical/react/LexicalComposerContext.prod.js","../../../node_modules/@lexical/react/LexicalComposerContext.js","../../../node_modules/lexical/Lexical.prod.js","../../../node_modules/lexical/Lexical.js","../../../node_modules/@lexical/react/LexicalComposer.prod.js","../../../node_modules/@lexical/react/LexicalComposer.js","../../../node_modules/@lexical/utils/LexicalUtils.prod.js","../../../node_modules/@lexical/utils/LexicalUtils.js","../../../node_modules/@lexical/list/LexicalList.prod.js","../../../node_modules/@lexical/list/LexicalList.js","../../../node_modules/@lexical/selection/LexicalSelection.prod.js","../../../node_modules/@lexical/selection/LexicalSelection.js","../../../node_modules/@lexical/html/LexicalHtml.prod.js","../../../node_modules/@lexical/html/LexicalHtml.js","../../../node_modules/@lexical/clipboard/LexicalClipboard.prod.js","../../../node_modules/@lexical/clipboard/LexicalClipboard.js","../../../node_modules/@lexical/rich-text/LexicalRichText.prod.js","../../../node_modules/@lexical/rich-text/LexicalRichText.js","../../../node_modules/@lexical/link/LexicalLink.prod.js","../../../node_modules/@lexical/link/LexicalLink.js","../src/nodes/AsideNode.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.prod.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.js","../src/context/CardContext.jsx","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../src/components/ui/CardWrapper.jsx","../src/components/KoenigCardWrapper.jsx","../src/components/ui/cards/HorizontalRuleCard.jsx","../src/nodes/HorizontalRuleNode.jsx","../src/utils/autoExpandTextArea.js","../src/components/ui/cards/CodeBlockCard.jsx","../src/nodes/CodeBlockNode.jsx","../../kg-default-nodes/es/kg-default-nodes.js","../src/context/KoenigComposerContext.jsx","../src/components/ui/CardCaptionEditor.jsx","../src/components/ui/MediaPlaceholder.jsx","../src/utils/openFileSelection.js","../src/components/ui/ImageUploadForm.jsx","../src/components/ui/cards/ImageCard.jsx","../src/assets/icons/kg-quote-1.svg","../src/assets/icons/kg-quote-2.svg","../src/assets/icons/kg-edit.svg","../src/components/ui/ToolbarMenu.jsx","../src/components/ui/ActionToolbar.jsx","../src/utils/getImageDimensions.js","../src/utils/imageUploadHandler.js","../src/nodes/ImageNodeComponent.jsx","../src/nodes/ImageNode.jsx","../src/nodes/DefaultNodes.js","../src/themes/default.js","../src/components/KoenigComposer.jsx","../../../node_modules/@lexical/text/LexicalText.prod.js","../../../node_modules/@lexical/text/LexicalText.js","../../../node_modules/@lexical/dragon/LexicalDragon.prod.js","../../../node_modules/@lexical/dragon/LexicalDragon.js","../../../node_modules/@lexical/react/LexicalRichTextPlugin.prod.js","../../../node_modules/@lexical/react/LexicalRichTextPlugin.js","../../../node_modules/@lexical/react/LexicalErrorBoundary.prod.js","../../../node_modules/@lexical/react/LexicalErrorBoundary.js","../../../node_modules/@lexical/react/LexicalContentEditable.prod.js","../../../node_modules/@lexical/react/LexicalContentEditable.js","../../../node_modules/@lexical/history/LexicalHistory.prod.js","../../../node_modules/@lexical/history/LexicalHistory.js","../../../node_modules/@lexical/react/LexicalHistoryPlugin.prod.js","../../../node_modules/@lexical/react/LexicalHistoryPlugin.js","../../../node_modules/@lexical/react/LexicalOnChangePlugin.prod.js","../../../node_modules/@lexical/react/LexicalOnChangePlugin.js","../../../node_modules/@lexical/react/LexicalListPlugin.prod.js","../../../node_modules/@lexical/react/LexicalListPlugin.js","../src/plugins/KoenigBehaviourPlugin.jsx","../../../node_modules/prismjs/prism.js","../../../node_modules/prismjs/components/prism-clike.js","../../../node_modules/prismjs/components/prism-javascript.js","../../../node_modules/prismjs/components/prism-markup.js","../../../node_modules/prismjs/components/prism-markdown.js","../../../node_modules/prismjs/components/prism-c.js","../../../node_modules/prismjs/components/prism-css.js","../../../node_modules/prismjs/components/prism-objectivec.js","../../../node_modules/prismjs/components/prism-sql.js","../../../node_modules/prismjs/components/prism-python.js","../../../node_modules/prismjs/components/prism-rust.js","../../../node_modules/prismjs/components/prism-swift.js","../../../node_modules/@lexical/code/LexicalCode.prod.js","../../../node_modules/@lexical/code/LexicalCode.js","../../../node_modules/@lexical/markdown/LexicalMarkdown.prod.js","../../../node_modules/@lexical/markdown/LexicalMarkdown.js","../../../node_modules/@lexical/react/LexicalHorizontalRuleNode.prod.js","../../../node_modules/@lexical/react/LexicalHorizontalRuleNode.js","../../../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.prod.js","../../../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.js","../src/plugins/MarkdownShortcutPlugin.jsx","../src/utils/getSelectedNode.js","../src/components/ui/PlusMenu.jsx","../src/components/ui/CardMenu.jsx","../src/utils/getEditorCardNodes.js","../src/utils/buildCardMenu.js","../src/plugins/PlusCardMenuPlugin.jsx","../src/components/ui/SlashMenu.jsx","../src/plugins/SlashCardMenuPlugin.jsx","../src/utils/setFloatingElemPosition.js","../src/utils/getDOMRangeRect.js","../src/utils/getScrollParent.js","../src/plugins/FloatingFormatToolbarPlugin.jsx","../src/assets/icons/kg-search.svg","../src/assets/icons/kg-close.svg","../src/assets/icons/kg-unsplash-heart.svg","../src/assets/icons/kg-download.svg","../src/components/ui/file-selectors/UnsplashSelector.jsx","../src/components/ui/UnsplashModal.jsx","../src/plugins/ImagePlugin.jsx","../src/plugins/DragDropPastePlugin.jsx","../src/plugins/HorizontalRulePlugin.jsx","../src/components/ui/EditorPlaceholder.jsx","../node_modules/@lexical/text/LexicalText.prod.js","../node_modules/@lexical/text/LexicalText.js","../src/plugins/ExternalControlPlugin.jsx","../src/components/KoenigEditor.jsx"],"sourcesContent":["export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNy40MTIgNi4yMTdoMS4xNzZjMS4yNzYgMCAyLjIzNi0uNzczIDIuMjM2LTEuNjA4IDAtLjgzNS0uOTYtMS42MDktMi4yMzYtMS42MDlINS43NjV2My4yMTdoMS42NDd6TTUuNzY1IDEzSDkuNDdDMTAuODc1IDEzIDEyIDExLjkyIDEyIDEwLjYwOXMtMS4xMjQtMi4zOTItMi41My0yLjM5Mkg1Ljc2NlYxM3ptLTIgMFYzSDNjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoNS41ODhjMi4yOTcgMCA0LjIzNiAxLjU2MyA0LjIzNiAzLjYwOSAwIC44NzctLjM1NyAxLjY2Ni0uOTQ1IDIuMjhDMTMuMTUgNy42NjUgMTQgOS4wMzcgMTQgMTAuNjEgMTQgMTMuMDQzIDExLjk2MyAxNSA5LjQ3IDE1SDNjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoLjc2NXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIuMTUgM0w2LjEwNCAxM2guODExYy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDJjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoMS43NjdMOS44MTMgM0g5Yy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDQuOTE1Yy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDEyLjE1eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNCA3aDhWMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2NS44OTdjLjAwMy4wMzQuMDA1LjA2OC4wMDUuMTAzIDAgLjAzNS0uMDAyLjA3LS4wMDUuMTAzVjE0YzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xVjlINHY1YzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xVjJjMC0uNTUyLjQ0OC0xIDEtMXMxIC40NDggMSAxdjV6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNiA4aDRWNS40ODNjMC0uNTUyLjQ0OC0xIDEtMXMxIC40NDggMSAxVjEzYzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xdi0zSDZ2M2MwIC41NTItLjQ0OCAxLTEgMXMtMS0uNDQ4LTEtMVY1LjQ4M2MwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDFWOHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik02LjQgMTEuNjg4Yy40LS4zODIgMS4wMzItLjM2OSAxLjQxNS4wMy4zODIuMzk5LjM2OCAxLjAzMi0uMDMgMS40MTRsLTEuMDU1IDEuMDFjLTEuMjA5IDEuMjEtMy4xNyAxLjIxLTQuMzggMGwtLjQ5NC0uNDk0Yy0xLjIwOC0xLjIwOS0xLjIwOC0zLjE3LjAwMS00LjM3N0w1LjA3IDYuMDU4YzEuMjEtMS4yMSAzLjE3LTEuMjEgNC4zOCAwIC4zOS4zOS4zOSAxLjAyNCAwIDEuNDE0LS4zOTEuMzktMS4wMjQuMzktMS40MTUgMC0uNDI4LS40MjgtMS4xMjItLjQyOC0xLjU1MSAwbC0zLjIxMyAzLjIxM2MtLjQyNy40MjctLjQyNyAxLjEyMiAwIDEuNTVsLjQ5NC40OTRjLjQyOC40MjggMS4xMjMuNDI4IDEuNTY2LS4wMTVsMS4wNy0xLjAyNnptMy4wMzctNy4yMTJjLS4zOTguMzgzLTEuMDMuMzcyLTEuNDE0LS4wMjUtLjM4NC0uMzk4LS4zNzMtMS4wMy4wMjUtMS40MTRsMS4yMjItMS4xOGMxLjIxLTEuMjA5IDMuMTY5LTEuMjA5IDQuMzc5IDBsLjQ5My40OTRjMS4yMSAxLjIwOSAxLjIxIDMuMTcuMDEzIDQuMzY2bC0zLjIzNyAzLjM1N2MtMS4yMSAxLjIxLTMuMTcgMS4yMS00LjM4IDAtLjM5LS4zOTEtLjM4OS0xLjAyNS4wMDItMS40MTUuMzktLjM5IDEuMDI0LS4zOSAxLjQxNC4wMDEuNDI4LjQyOSAxLjEyMS40MjkgMS41MzcuMDEzbDMuMjM4LTMuMzU4Yy40MjgtLjQyNy40MjgtMS4xMjEgMC0xLjU1bC0uNDk0LS40OTNjLS40MjktLjQyOS0xLjEyMy0uNDI5LTEuNTYzLjAxMkw5LjQzNyA0LjQ3NnoiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik00IDhoMmMuNTUyIDAgMSAuNDQ4IDEgMXY0YzAgLjU1Mi0uNDQ4IDEtMSAxSDNjLS41NTIgMC0xLS40NDgtMS0xVjUuMDgyYzAtMS4xNzYuOTA2LTIuMTIgMi41MzgtMi45NjkuNDktLjI1NSAxLjA5NC0uMDY1IDEuMzQ5LjQyNS4yNTUuNDkuMDY1IDEuMDk0LS40MjUgMS4zNDktLjU3OC4zLS45OTMuNTg5LTEuMjQuODQ3LS4xNjguMTc0LS4yMjIuMjg2LS4yMjIuMzQ4Vjh6bTkgMGMuNTUyIDAgMSAuNDQ4IDEgMXY0YzAgLjU1Mi0uNDQ4IDEtMSAxaC0zYy0uNTUyIDAtMS0uNDQ4LTEtMVY1LjA4MmMwLTEuMTc2LjkwNi0yLjEyIDIuNTM4LTIuOTY5LjQ5LS4yNTUgMS4wOTQtLjA2NSAxLjM0OS40MjUuMjU1LjQ5LjA2NSAxLjA5NC0uNDI1IDEuMzQ5LS41NzguMy0uOTkzLjU4OS0xLjI0Ljg0Ny0uMTY4LjE3NC0uMjIyLjI4Ni0uMjIyLjM0OFY4aDJ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTIgM2MtLjU1MiAwLTEtLjQ0OC0xLTFzLjQ0OC0xIDEtMWgxMmMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUgyek0yIDE1Yy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDEyYy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDJ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9Ii42Ii8+PHBhdGggZD0iTTIgNWgxMmMuNTUyIDAgMSAuNDQ4IDEgMXY0LjAwMWMwIC41NTItLjQ0OCAxLTEgMUgyYy0uNTUyIDAtMS0uNDQ4LTEtMVY2YzAtLjU1Mi40NDgtMSAxLTF6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTYgM2MtLjU1MiAwLTEtLjQ0OC0xLTFzLjQ0OC0xIDEtMWg0Yy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDZ6TTYgMTVjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoNGMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUg2eiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIuNiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDVoMTJjLjU1MiAwIDEgLjQ0OCAxIDF2NC4wMDFjMCAuNTUyLS40NDggMS0xIDFIMmMtLjU1MiAwLTEtLjQ0OC0xLTFWNmMwLS41NTIuNDQ4LTEgMS0xeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTAgMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2MTJjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWMnpNMTQgMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2MTJjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWMnoiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iLjYiLz4KICAgICAgICA8cGF0aCBkPSJNMTAuNjI2IDdMOS4zMTIgNS42OTFjLS4zOTEtLjM5LS4zOTMtMS4wMjMtLjAwMy0xLjQxNHMxLjAyMy0uMzkyIDEuNDE0LS4wMDNsMy4wMjkgMy4wMTdjLjM5LjM4OS4zOTIgMS4wMi4wMDUgMS40MTJsLTMuMDI5IDMuMDU5Yy0uMzg4LjM5Mi0xLjAyMi4zOTUtMS40MTQuMDA3LS4zOTItLjM4OS0uMzk2LTEuMDIyLS4wMDctMS40MTRMMTAuNjQ4IDlINS40MTVsMS4zNDIgMS4zNTVjLjM4OC4zOTIuMzg1IDEuMDI1LS4wMDcgMS40MTQtLjM5My4zODgtMS4wMjYuMzg1LTEuNDE1LS4wMDdMMi4zMDcgOC43MDNjLS4zODgtLjM5Mi0uMzg2LTEuMDIzLjAwNS0xLjQxMkw1LjM0IDQuMjc0Yy4zOTEtLjM5IDEuMDI1LS4zODggMS40MTQuMDAzLjM5LjM5MS4zODkgMS4wMjUtLjAwMiAxLjQxNEw1LjQzOCA3aDUuMTg4eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTIgOWg1Yy41NTIgMCAxIC40NDggMSAxdjRjMCAuNTUyLS40NDggMS0xIDFIMmMtLjU1MiAwLTEtLjQ0OC0xLTF2LTRjMC0uNTUyLjQ0OC0xIDEtMXpNOSAxaDVjLjU1MiAwIDEgLjQ0OCAxIDF2NGMwIC41NTItLjQ0OCAxLTEgMUg5Yy0uNTUyIDAtMS0uNDQ4LTEtMVYyYzAtLjU1Mi40NDgtMSAxLTF6TTQuNSA1Ljc3MmwxLjE1LTEuMTc1Yy4xOTItLjE5OC41MDktLjIwMS43MDYtLjAwOC4xOTguMTkzLjIwMS41MS4wMDguNzA3TDQuMzgyIDcuMzIyYy0uMDkxLjEwOS0uMjI5LjE3OC0uMzgyLjE3OC0uMTMgMC0uMjYtLjA1LS4zNTctLjE0OEwxLjYxIDUuMjk4Yy0uMTk0LS4xOTYtLjE5My0uNTEzLjAwNC0uNzA3LjE5Ni0uMTk0LjUxMi0uMTkzLjcwNy4wMDRMMy41IDUuNzg1VjNjMC0uODI4LjY3Mi0xLjUgMS41LTEuNWgxYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNUg1Yy0uMjc2IDAtLjUuMjI0LS41LjV2Mi43NzJ6bTcgNC40NTZsLTEuMTUgMS4xNzVjLS4xOTIuMTk4LS41MDkuMjAxLS43MDYuMDA4LS4xOTgtLjE5My0uMjAxLS41MS0uMDA4LS43MDdsMS45ODItMi4wMjZjLjA5MS0uMTA5LjIyOS0uMTc4LjM4Mi0uMTc4LjEzIDAgLjI2LjA1LjM1Ny4xNDhsMi4wMzIgMi4wNTRjLjE5NC4xOTYuMTkzLjUxMy0uMDA0LjcwNy0uMTk2LjE5NC0uNTEyLjE5My0uNzA3LS4wMDRsLTEuMTc4LTEuMTlWMTNjMCAuODI4LS42NzIgMS41LTEuNSAxLjVoLTFjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgxYy4yNzYgMCAuNS0uMjI0LjUtLjV2LTIuNzcyeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik05IDdoNWMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUg5djVjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWOUgyYy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDVWMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2NXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAzVjEzSDguNzg1NzlMMTMgOC43ODU3OVYzSDNaTTEuNTI3MjEgMS41MjcyMUMxLjg2NDc3IDEuMTg5NjQgMi4zMjI2MSAxIDIuOCAxSDEzLjJDMTMuNjc3NCAxIDE0LjEzNTIgMS4xODk2NCAxNC40NzI4IDEuNTI3MjFDMTQuODEwNCAxLjg2NDc3IDE1IDIuMzIyNjEgMTUgMi44VjguODY4OEMxNC45OTk5IDkuMzQ1ODUgMTQuODEwNCA5LjgwMzU3IDE0LjQ3MzIgMTAuMTQxTDEwLjE0MTIgMTQuNDczQzkuODAzOCAxNC44MTAyIDkuMzQ2MDcgMTQuOTk5OSA4Ljg2OTAxIDE1SDIuOEMyLjMyMjYxIDE1IDEuODY0NzcgMTQuODEwNCAxLjUyNzIxIDE0LjQ3MjhDMS4xODk2NCAxNC4xMzUyIDEgMTMuNjc3NCAxIDEzLjJWMi44QzEgMi4zMjI2MSAxLjE4OTY0IDEuODY0NzcgMS41MjcyMSAxLjUyNzIxWiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxMEgxNEMxNC41NTIzIDEwIDE1IDkuNTUyMjggMTUgOUMxNSA4LjQ0NzcyIDE0LjU1MjMgOCAxNCA4SDkuODQ2MDJDOS4zNTY0MyA4IDguODg2ODggOC4xOTQ0OSA4LjU0MDY5IDguNTQwNjlDOC4xOTQ0OSA4Ljg4Njg4IDggOS4zNTY0MyA4IDkuODQ2MDJWMTRDOCAxNC41NTIzIDguNDQ3NzIgMTUgOSAxNUM5LjU1MjI4IDE1IDEwIDE0LjU1MjMgMTAgMTRWMTBaIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTEyIDEuNXYyMU0xLjUgMTJoMjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iIzMwY2Y0MyIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy43NzggMTIuMTExYzAgMy4xMTEtMS41NTYgNC42NjctNC42NjcgNC42NjctMy4xMTEgMC00LjY2Ny0xLjU1Ni00LjY2Ny00LjY2N0MxNC40NDQgOSAxNiA3LjQ0NCAxOS4xMTEgNy40NDRjMy4xMTEgMCA0LjY2NyAxLjU1NiA0LjY2NyA0LjY2N3pNMTkuMTExIDUuNWMuNzc4IDAgMS4xNjctLjM4OSAxLjE2Ny0xLjE2N3YtLjc3N2MwLS40NS0uMTk1LS43ODYtLjU4NC0xLjAxLS4zODgtLjIyNS0uNzc3LS4yMjUtMS4xNjYgMC0uMzkuMjI0LS41ODQuNTYtLjU4NCAxLjAxdi43NzdjMCAuNzc4LjM5IDEuMTY3IDEuMTY3IDEuMTY3ek0xMi43ODggNy40MzVjLjU1LjU1MiAxLjEuNTU0IDEuNjUzLjAwNC41NTItLjU1LjU1My0xLjEuMDAzLTEuNjUzbC0uNTQ5LS41NWMtLjU1LS41NTItMS4xMDEtLjU1NC0xLjY1My0uMDA0LS41NTMuNTUtLjU1NCAxLjEwMS0uMDA1IDEuNjU0bC41NS41NXpNMTAuNTU2IDEzLjI3OGguNzc3Yy43NzggMCAxLjE2Ny0uMzkgMS4xNjctMS4xNjcgMC0uNzc4LS4zODktMS4xNjctMS4xNjctMS4xNjdoLS43NzdjLS43NzggMC0xLjE2Ny4zOS0xLjE2NyAxLjE2NyAwIC43NzguMzg5IDEuMTY3IDEuMTY3IDEuMTY3ek0yNS40MzQgMTYuNzg3Yy0uNTQ5LS41MTItMS4wODktLjUwMi0xLjYyLjAyOS0uNTMuNTMtLjU0IDEuMDctLjAyOCAxLjYybC41NDkuNTVjLjU1LjU1IDEuMS41NSAxLjY1IDAgLjU1LS41NS41NS0xLjEgMC0xLjY1bC0uNTUtLjU0OXpNMjUuNzIyIDEyLjExMWMwIC43NzguMzkgMS4xNjcgMS4xNjcgMS4xNjdoLjc3OGMuNzc3IDAgMS4xNjYtLjM5IDEuMTY2LTEuMTY3IDAtLjc3OC0uMzg5LTEuMTY3LTEuMTY2LTEuMTY3aC0uNzc4Yy0uMzIyIDAtLjU5Ny4xMTQtLjgyNS4zNDItLjIyOC4yMjgtLjM0Mi41MDMtLjM0Mi44MjV6TTI0LjYxIDcuNzc5Yy4zMjMgMCAuNTk4LS4xMTQuODI0LS4zNDRsLjU1MS0uNTQ5Yy41NS0uNTUuNTUtMS4xIDAtMS42NS0uNTUtLjU1LTEuMS0uNTUtMS42NSAwbC0uNTUuNTVjLS4zNjYuMzY4LS40NS43OTItLjI1MSAxLjI3MS4xOTguNDguNTU3LjcyIDEuMDc2LjcyMnpNMjEuOTExIDIyLjM1NmMtLjc3MSAwLTEuNTIyLjEyLTIuMjU0LjM2NC0uMTI3LjA0Mi0uMjEuMTI2LS4yNS4yNTQtLjAzOS4xMjctLjAxOC4yNDQuMDYzLjM1IDEuMjgzIDEuNjg5IDIuMDcgMy41ODMgMi4zNjIgNS42ODQuMDIuMTQyLjEwMy4yMTQuMjQ3LjIxNGg0LjkwNmMuODM2IDAgMS40OTItLjM0MyAxLjk2Ny0xLjAzMS0uNzM3LTMuODktMy4wODQtNS44MzUtNy4wNDItNS44MzVoLjAwMXpNOS42NDQgMTkuOTY4Yy0yLjUxOC0uMDA0LTQuNzU4Ljc4My02LjcyIDIuMzYyLS4xLjA4LS4xNDkuMTgzLS4xNDYuMzF2NC4yYy4wMDQgMS41ODguOCAyLjM4MiAyLjM4OCAyLjM4MkgxOS44M2MuMTIyIDAgLjIyMi0uMDQ2LjMtLjE0LjA3Ny0uMDkzLjEwNS0uMi4wODItLjMxOS0xLjA4My01Ljg2My00LjYwNi04Ljc5NS0xMC41NjgtOC43OTV6IiBmaWxsPSIjRkZGIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iI2ZiMmQ4ZCIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICAgICAgPHBhdGggc3Ryb2tlPSIjRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTggMjB2LThsNCA0IDQtNHY4TTIyIDEyLjA3djcuOTE2TTE5LjUgMTcuNWwyLjQ4IDIuNTI1TDI0LjUgMTcuNSIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIgNGgyOHYyNEgyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMiA2YzAtMi42NjctMS4zMzMtNC00LTRINGMtMS4xMDUgMC0yLjA0Ny4zOS0yLjgyOCAxLjE3MkMuMzkgMy45NTIgMCA0Ljg5NSAwIDZ2MjBjMCAyLjY2NyAxLjMzMyA0IDQgNGgyNGMyLjY2NyAwIDQtMS4zMzMgNC00VjZ6TTQgNi42NjdjMC0uNTk0LjI3NC0xLjAwNS44MjMtMS4yMzIuNTQ5LS4yMjcgMS4wMzMtLjEzMSAxLjQ1My4yODkuNDIuNDIuNTE2LjkwNC4yOSAxLjQ1My0uMjI4LjU0OS0uNjM5LjgyMy0xLjIzMy44MjNDNC40NDQgOCA0IDcuNTU2IDQgNi42Njd6bTQgMGMwLS41OTQuMjc0LTEuMDA1LjgyMy0xLjIzMi41NDktLjIyNyAxLjAzMy0uMTMxIDEuNDUzLjI4OS40Mi40Mi41MTYuOTA0LjI5IDEuNDUzLS4yMjguNTQ5LS42MzkuODIzLTEuMjMzLjgyM0M4LjQ0NCA4IDggNy41NTYgOCA2LjY2N3ptNCAwYzAtLjU5NC4yNzQtMS4wMDUuODIzLTEuMjMyLjU0OS0uMjI3IDEuMDMzLS4xMzEgMS40NTMuMjg5LjQyLjQyLjUxNi45MDQuMjkgMS40NTMtLjIyOC41NDktLjYzOS44MjMtMS4yMzMuODIzQzEyLjQ0NCA4IDEyIDcuNTU2IDEyIDYuNjY3ek0yOS4zMzMgMjZjMCAuODg5LS40NDQgMS4zMzMtMS4zMzMgMS4zMzNINGMtLjg4OSAwLTEuMzMzLS40NDQtMS4zMzMtMS4zMzNWMTJjMC0uMTg0LjA2NS0uMzQxLjE5NS0uNDcxLjEzLS4xMy4yODctLjE5Ni40NzEtLjE5NmgyNS4zMzRjLjQ0NCAwIC42NjYuMjIzLjY2Ni42Njd2MTR6IiBmaWxsPSIjMTRiOGZmIi8+CiAgICAgICAgPHBhdGggZD0iTTEwLjMzMyAxNmMwIC42NjcuMzM0IDEgMSAxIC4yMjMgMCAuMzM0LjExMS4zMzQuMzMzdjUuMzM0YzAgLjY2Ni4zMzMgMSAxIDEgLjY2NiAwIDEtLjMzNCAxLTF2LTUuMzM0YzAtLjA5Mi4wMzItLjE3LjA5Ny0uMjM1LjA2NS0uMDY1LjE0NC0uMDk4LjIzNi0uMDk4LjY2NyAwIDEtLjMzMyAxLTFzLS4zMzMtMS0xLTFoLTIuNjY3Yy0uMjc2IDAtLjUxMi4wOTgtLjcwNy4yOTMtLjE5NS4xOTUtLjI5My40My0uMjkzLjcwN3pNNS4zMzMgMjMuNjY3Yy42NjcgMCAxLS4zMzQgMS0xdi0xLjMzNGMwLS4xMjguMDU2LS4yMjQuMTY3LS4yODguMTExLS4wNjQuMjIyLS4wNjQuMzMzIDAgLjExMS4wNjQuMTY3LjE2LjE2Ny4yODh2MS4zMzRjMCAuNjY2LjMzMyAxIDEgMXMxLS4zMzQgMS0xVjE2YzAtLjM4NS0uMTY3LS42NzQtLjUtLjg2Ni0uMzMzLS4xOTItLjY2Ny0uMTkyLTEgMC0uMzMzLjE5Mi0uNS40ODEtLjUuODY2djIuNjY3YzAgLjIyMi0uMTExLjMzMy0uMzMzLjMzMy0uMjIzIDAtLjMzNC0uMTExLS4zMzQtLjMzM1YxNmMwLS4zODUtLjE2Ni0uNjc0LS41LS44NjYtLjMzMy0uMTkyLS42NjYtLjE5Mi0xIDAtLjMzMy4xOTItLjUuNDgxLS41Ljg2NnY2LjY2N2MwIC42NjYuMzM0IDEgMSAxek0yMy42NjcgMjEuMzMzYy4wMDEgMS41NTQuNzggMi4zMzIgMi4zMzMgMi4zMzRoMS4zMzNjLjY2NyAwIDEtLjMzNCAxLTEgMC0uNjY3LS4zMzMtMS0xLTFIMjZjLS4yMjIgMC0uMzMzLS4xMTEtLjMzMy0uMzM0VjE2YzAtLjM4NS0uMTY3LS42NzQtLjUtLjg2Ni0uMzM0LS4xOTItLjY2Ny0uMTkyLTEgMC0uMzM0LjE5Mi0uNS40ODEtLjUuODY2djUuMzMzek0xNy4zMzMgMjMuNjY3Yy42NjcgMCAxLS4zMzQgMS0xdi0yLjc4YzAtLjAzOS4wMi0uMDYzLjA1Ni0uMDczLjAzNy0uMDEuMDY2IDAgLjA4Ni4wMzQuMjA3LjMwMS40OTMuNDUyLjg1OC40NTIuMzY2IDAgLjY1Mi0uMTUuODU5LS40NTIuMDItLjAzMy4wNDgtLjA0NS4wODUtLjAzNC4wMzguMDEuMDU2LjAzNC4wNTYuMDczdjIuNzhjMCAuNjY2LjMzNCAxIDEgMSAuNjY3IDAgMS0uMzM0IDEtMVYxNmMtLjAwMS0uNTA2LS4yNDYtLjgyNy0uNzM0LS45NjJzLS44NjMuMDE0LTEuMTI0LjQ0N2wtLjg1NiAxLjQyOGMtLjA2NS4xMDgtLjE2LjE2MS0uMjg2LjE2MS0uMTI1IDAtLjIyLS4wNTMtLjI4NS0uMTZsLS44NTYtMS40MjljLS4yNjItLjQzMy0uNjM2LS41ODItMS4xMjUtLjQ0Ny0uNDg4LjEzNS0uNzMyLjQ1Ni0uNzM0Ljk2MnY2LjY2N2MwIC42NjYuMzM0IDEgMSAxeiIgZmlsbD0iIzE0YjhmZiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMSAyaDI1djI0SDF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI3LjMzMyAyNC42Njd2LTIyQzI3LjMzMy44ODkgMjYuNDQ0IDAgMjQuNjY3IDBoLTIyQzEuOTMgMCAxLjMwMi4yNi43OC43ODEuMjYxIDEuMzAxIDAgMS45MzEgMCAyLjY2N3YyMmMwIDEuNzc3Ljg4OSAyLjY2NiAyLjY2NyAyLjY2NmgyMmMxLjc3NyAwIDIuNjY2LS44ODkgMi42NjYtMi42NjZ6IiBmaWxsPSIjZmZiNDFmIi8+CiAgICAgICAgPHBhdGggZD0iTTE5LjExMyAxMi45MzNjLS4xMjYtLjYwMy0uNDk3LS45MTEtMS4xMTItLjkyNS0uNjE2LS4wMTQtMSAuMjc3LTEuMTU0Ljg3M2wtMi4xMjMgNC42NjdjLS4wNTEuMTEyLS4xMzcuMTc2LS4yNi4xOTItLjEyMS4wMTctLjIyMS0uMDIzLS4zLS4xMTdsLTEuNDY3LTEuNzUyYy0uMzQtLjQ2Mi0uNzk2LS42Ny0xLjM2OC0uNjI1LS41NzEuMDQ0LS45OS4zMi0xLjI1NC44MjlMNi43NiAyMS42Yy0uMTMzLjIyMi0uMTM2LjQ0Ni0uMDA4LjY3MS4xMjguMjI2LjMyMS4zMzguNTguMzM4SDIyYy4yMzYgMCAuNDItLjA5Ny41NTItLjI5My4xMzItLjE5NS4xNTQtLjQwMi4wNjctLjYyMWwtMy41MDYtOC43NjJ6TTEwLjY2NyA4YzAgMS43NzgtLjg5IDIuNjY3LTIuNjY3IDIuNjY3LTEuNzc4IDAtMi42NjctLjg5LTIuNjY3LTIuNjY3IDAtMS43NzguODktMi42NjcgMi42NjctMi42NjcgMS43NzggMCAyLjY2Ny44OSAyLjY2NyAyLjY2N3oiIGZpbGw9IiNGRkYiLz4KICAgICAgICA8cGF0aCBkPSJNMzAuNjY3IDhjLS4zNjkgMC0uNjgzLjEzLS45NDMuMzktLjI2LjI2LS4zOS41NzUtLjM5Ljk0M3YxOS4zMzRjMCAuNDQ0LS4yMjMuNjY2LS42NjcuNjY2SDkuMzMzYy0uODg5IDAtMS4zMzMuNDQ1LTEuMzMzIDEuMzM0UzguNDQ0IDMyIDkuMzMzIDMyaDIwQzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzdi0yMEMzMiA4LjQ0NCAzMS41NTYgOCAzMC42NjcgOHoiIGZpbGw9IiNmZmI0MWYiLz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgZmlsbD0iIzMwY2Y0MyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMi41Ii8+CiAgICAgICAgPHJlY3QgZmlsbD0iI0ZGRiIgeD0iMyIgeT0iMTUiIHdpZHRoPSIyNiIgaGVpZ2h0PSIyIiByeD0iMSIvPgogICAgICAgIDxyZWN0IGZpbGw9IiNGRkYiIHg9IjMiIHk9IjMiIHdpZHRoPSIyNiIgaGVpZ2h0PSI3IiByeD0iMS41Ii8+CiAgICAgICAgPHJlY3QgZmlsbD0iI0ZGRiIgeD0iMyIgeT0iMjIiIHdpZHRoPSIyNiIgaGVpZ2h0PSI3IiByeD0iMS41Ii8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkPSJNMzIgMi42NjdDMzIgLjg4OSAzMS4xMTEgMCAyOS4zMzMgMEgyLjY2N0MxLjkzIDAgMS4zMDIuMjYuNzguNzgxLjI2MSAxLjMwMSAwIDEuOTMxIDAgMi42Njd2MjYuNjY2QzAgMzEuMTExLjg4OSAzMiAyLjY2NyAzMmgyNi42NjZDMzEuMTExIDMyIDMyIDMxLjExMSAzMiAyOS4zMzNWMi42NjdaIiBmaWxsPSIjRkIyRDhEIi8+CiAgICA8cGF0aCBkPSJNMTUuOTk4LS4wMXYxOC42NzRjLS4wNTQuNTU4LjE3NS45NTEuNjg3IDEuMTguNTI1LjIuOTY1LjA4NCAxLjMyMi0uMzVsMi42ODktMi42ODNhLjQwNC40MDQgMCAwIDEgLjI5NC0uMTIyYy4xMTYgMCAuMjE0LjA0MS4yOTUuMTIybDIuNjkgMi42ODRjLjI0NS4yNzQuNTUyLjQxNy45Mi40MjguMTM5IDAgLjI3My0uMDI2LjQwMS0uMDc4LjUxMi0uMjMuNzQxLS42MjMuNjg3LTEuMThWLS4wNjJsLTkuOTg1LjA1di4wMDJaIiBmaWxsPSIjZmZmIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0ibm9uemVybyIgZmlsbD0ibm9uZSI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iIzE0YjhmZiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy4zMTIgOS41SDguNjg3Yy0xLjIzMyAwLTIgLjc2Ny0yIDJ2OWMwIDEuMjMzLjc2NyAyIDIgMmgxNC42MjVjMS4yMzQgMCAyLS43NjcgMi0ydi05YzAtMS4yMzMtLjc2Ni0yLTItMnpNOC41NiAxMS4yNWgxNC44ODJjLjEuMDA0LjExOC4wMjIuMTIxLjEyMnY5LjI1NmMtLjAwNC4xMTYtLjAyOS4xMjItLjE3OC4xMjJIOC41NmMtLjEtLjAwNC0uMTE4LS4wMjItLjEyMS0uMTIydi05LjI1NmMuMDAzLS4xLjAyMi0uMTE4LjEyMS0uMTIyeiIgZmlsbD0iI0ZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xOC4xMjMgMTMuODg3Yy4zLS4zMjUuNzktLjM3IDEuMTQ0LS4xMjNsLjA5Mi4wNzUgMi44NiAyLjY0M2MuMzU1LjMyOS4zNzcuODgyLjA0OSAxLjIzNy0uMzAxLjMyNS0uNzkxLjM3LTEuMTQ0LjEyM2wtLjA5My0uMDc0LTIuODYtMi42NDRjLS4zNTUtLjMyOC0uMzc2LS44ODItLjA0OC0xLjIzN3pNMTIuNjQgMTMuODM5Yy4zNTYtLjMyOC45MS0uMzA3IDEuMjM3LjA0OC4zMDEuMzI2LjMwOC44MTguMDMzIDEuMTVsLS4wODEuMDg3LTIuODYgMi42NDRjLS4zNTUuMzI4LS45MDguMzA2LTEuMjM3LS4wNDktLjMtLjMyNS0uMzA3LS44MTgtLjAzMy0xLjE1bC4wODItLjA4NyAyLjg2LTIuNjQzeiIgZmlsbD0iI0ZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy42NjMgMTAuMDRjLjM5OC0uMjc0Ljk0My0uMTc0IDEuMjE3LjIyNC4yNTIuMzY0LjE4OS44NTMtLjEzIDEuMTQzbC0uMDkzLjA3NC03LjEzNSA0LjkyYy0uOTI1LjYzOC0xLjkzNS42NzYtMi44Ny4xMTJsLS4xNzQtLjExMi03LjEzNS00LjkyYy0uMzk4LS4yNzUtLjQ5OC0uODItLjIyMy0xLjIxNy4yNTEtLjM2NS43My0uNDggMS4xMTQtLjI4NWwuMTAzLjA2MSA3LjEzNSA0LjkyYy4zNDYuMjQuNjEzLjI2My45NDQuMDcybC4xMTMtLjA3MiA3LjEzNC00LjkyeiIgZmlsbD0iI0ZGRiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMyIgZmlsbD0iI0ZGQjQxRiIvPgogIDxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIGZpbGw9IiNmZmYiPgogICAgPHBhdGggZD0iTTE0LjUzNiAxNS41NjhsMi42OCA4LjkzMWEuODMuODMgMCAwMDEuMzgyLjM0OWwxLjM2NS0xLjM2NSAzLjUyMiAzLjUyMmEuODMuODMgMCAwMDEuMTc0IDBsMi4zNDgtMi4zNDhhLjgzLjgzIDAgMDAwLTEuMTc0bC0zLjUyMi0zLjUyMkwyNC44NSAxOC42YS44MjkuODI5IDAgMDAtLjM0OC0xLjM4MmwtOC45MzItMi42OGEuODMuODMgMCAwMC0xLjAzNCAxLjAzeiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi44NiA0LjI1NUExMS4yNSAxMS4yNSAwIDAxMjYuNDcgMTQuNDQ3YS43NS43NSAwIDAxLTEuNDk2LjEwNiA5Ljc1IDkuNzUgMCAxMC0xMC40MjEgMTAuNDIuNzUuNzUgMCAwMS0uMTA3IDEuNDk2IDExLjI1IDExLjI1IDAgMDEtMS41ODgtMjIuMjE0eiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy4zMDUgOC43ODVhNi43NSA2Ljc1IDAgMDE4LjIwMyAzLjkzNC43NS43NSAwIDExLTEuMzkuNTYyIDUuMjUgNS4yNSAwIDEwLTYuODM3IDYuODM1Ljc1Ljc1IDAgMTEtLjU2MiAxLjM5IDYuNzUgNi43NSAwIDAxLjU4Ni0xMi43MnoiLz4KICA8L2c+CiAgPGNsaXBQYXRoIGlkPSJjbGlwMCI+CiAgICA8cGF0aCBmaWxsPSIjZmZmIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0IDQpIiBkPSJNMCAwaDI0djI0SDB6Ii8+CiAgPC9jbGlwUGF0aD4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTMwIDBIMmEyIDIgMCAwMC0yIDJ2MjhhMiAyIDAgMDAyIDJoMjhhMiAyIDAgMDAyLTJWMmEyIDIgMCAwMC0yLTJ6IiBmaWxsPSIjMzBDRjQzIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTkgOS4wMDFjNC4wMDctLjA2IDcuOTYyIDIuNzM3IDEwLjM2NiA1LjQyNWwuMDA0LjAwNGEyLjUxNyAyLjUxNyAwIDAxMCAzLjMzN2wtLjAwMy4wMDRjLTIuMzQ5IDIuNjI4LTYuMjk0IDUuNDktMTAuMzY3IDUuNDI4LTQuMDczLjA2MS04LjAxOC0yLjgtMTAuMzY1LTUuNDI5bC0uMDAzLS4wMDNhMi41MTcgMi41MTcgMCAwMTAtMy4zMzdsLjAwMy0uMDA0QzguMDM2IDExLjczOCAxMS45OTEgOC45NCAxNiA5LjAwMWgtLjAwMXptLTguODcyIDYuNzU2YS41MTcuNTE3IDAgMDAwIC42ODNjMi4yMDggMi40NzIgNS42NDUgNC44MTQgOC44NTUgNC43NTloLjAzNGMzLjIwOS4wNTUgNi42NDctMi4yODcgOC44NTctNC43NTlhLjUxOC41MTggMCAwMDAtLjY4M2MtMi4yNTctMi41MjItNS43MDUtNC44MS04Ljg1Ny00Ljc1NmgtLjAzNGMtMy4xNTItLjA1NC02LjYgMi4yMzQtOC44NTUgNC43NTZ6IiBmaWxsPSIjZmZmIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNiAxOGEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNHptMCAyYTQgNCAwIDEwMC04IDQgNCAwIDAwMCA4eiIgZmlsbD0iI2ZmZiIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOSAwSDNDMS4zNDMxNSAwIDAgMS4zNDMxNSAwIDNWMjlDMCAzMC42NTY5IDEuMzQzMTUgMzIgMyAzMkgyOUMzMC42NTY5IDMyIDMyIDMwLjY1NjkgMzIgMjlWM0MzMiAxLjM0MzE1IDMwLjY1NjkgMCAyOSAwWiIgZmlsbD0iI0ZCMkQ4RCIvPgogICAgPHBhdGggZD0iTTEzLjUzNjEgMTUuNTY4TDE2LjIxNjEgMjQuNDk5QzE2LjI1NzMgMjQuNjM2NiAxNi4zMzM1IDI0Ljc2MTIgMTYuNDM3MiAyNC44NjA1QzE2LjU0MSAyNC45NTk5IDE2LjY2ODggMjUuMDMwNiAxNi44MDggMjUuMDY1OEMxNi45NDczIDI1LjEwMSAxNy4wOTMzIDI1LjA5OTQgMTcuMjMxOCAyNS4wNjEyQzE3LjM3MDMgMjUuMDIzIDE3LjQ5NjUgMjQuOTQ5NiAxNy41OTgxIDI0Ljg0OEwxOC45NjMxIDIzLjQ4M0wyMi40ODUxIDI3LjAwNUMyMi41NjIyIDI3LjA4MjEgMjIuNjUzNyAyNy4xNDMzIDIyLjc1NDQgMjcuMTg1QzIyLjg1NTEgMjcuMjI2NyAyMi45NjMxIDI3LjI0ODIgMjMuMDcyMSAyNy4yNDgyQzIzLjE4MTEgMjcuMjQ4MiAyMy4yODkxIDI3LjIyNjcgMjMuMzg5OCAyNy4xODVDMjMuNDkwNSAyNy4xNDMzIDIzLjU4MiAyNy4wODIxIDIzLjY1OTEgMjcuMDA1TDI2LjAwNzEgMjQuNjU3QzI2LjA4NDIgMjQuNTc5OSAyNi4xNDU0IDI0LjQ4ODQgMjYuMTg3MSAyNC4zODc3QzI2LjIyODggMjQuMjg3IDI2LjI1MDMgMjQuMTc5IDI2LjI1MDMgMjQuMDdDMjYuMjUwMyAyMy45NjEgMjYuMjI4OCAyMy44NTMgMjYuMTg3MSAyMy43NTIzQzI2LjE0NTQgMjMuNjUxNiAyNi4wODQyIDIzLjU2MDEgMjYuMDA3MSAyMy40ODNMMjIuNDg1MSAxOS45NjFMMjMuODUwMSAxOC42QzIzLjk1MiAxOC40OTg2IDI0LjAyNTcgMTguMzcyNSAyNC4wNjQxIDE4LjIzNEMyNC4xMDI1IDE4LjA5NTUgMjQuMTA0MyAxNy45NDk0IDI0LjA2OTIgMTcuODFDMjQuMDM0MSAxNy42NzA3IDIzLjk2MzQgMTcuNTQyOCAyMy44NjM5IDE3LjQzOUMyMy43NjQ1IDE3LjMzNTIgMjMuNjM5OCAxNy4yNTkxIDIzLjUwMjEgMTcuMjE4TDE0LjU3MDEgMTQuNTM4QzE0LjQyNjkgMTQuNDk1MiAxNC4yNzQ4IDE0LjQ5MTggMTQuMTI5OCAxNC41MjgyQzEzLjk4NDggMTQuNTY0NyAxMy44NTI0IDE0LjYzOTYgMTMuNzQ2NCAxNC43NDUxQzEzLjY0MDUgMTQuODUwNiAxMy41NjUxIDE0Ljk4MjggMTMuNTI4MSAxNS4xMjc2QzEzLjQ5MSAxNS4yNzI1IDEzLjQ5MzggMTUuNDI0NiAxMy41MzYxIDE1LjU2OFoiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMTIuMjg3MSAyMy43NUMxMi43MDEzIDIzLjc1IDEzLjAzNzEgMjMuNDE0MiAxMy4wMzcxIDIzQzEzLjAzNzEgMjIuNTg1OCAxMi43MDEzIDIyLjI1IDEyLjI4NzEgMjIuMjVWMjMuNzVaTTI1Ljc1IDE3LjI0OTZDMjUuNzUgMTcuNjYzOCAyNi4wODU4IDE3Ljk5OTYgMjYuNSAxNy45OTk2QzI2LjkxNDIgMTcuOTk5NiAyNy4yNSAxNy42NjM4IDI3LjI1IDE3LjI0OTZIMjUuNzVaTTguNSA5Ljc1SDIzLjVWOC4yNUg4LjVWOS43NVpNNi4yNSAyMFYxMkg0Ljc1VjIwSDYuMjVaTTEyLjI4NzEgMjIuMjVIMTAuNzVWMjMuNzVIMTIuMjg3MVYyMi4yNVpNMTAuNzUgMjIuMjVIOC41VjIzLjc1SDEwLjc1VjIyLjI1Wk0yNS43NSAxMlYxNkgyNy4yNVYxMkgyNS43NVpNMjUuNzUgMTZWMTcuMjQ5NkgyNy4yNVYxNkgyNS43NVpNNC43NSAyMEM0Ljc1IDIyLjA3MTEgNi40Mjg5MyAyMy43NSA4LjUgMjMuNzVWMjIuMjVDNy4yNTczNiAyMi4yNSA2LjI1IDIxLjI0MjYgNi4yNSAyMEg0Ljc1Wk0yMy41IDkuNzVDMjQuNzQyNiA5Ljc1IDI1Ljc1IDEwLjc1NzQgMjUuNzUgMTJIMjcuMjVDMjcuMjUgOS45Mjg5MyAyNS41NzExIDguMjUgMjMuNSA4LjI1VjkuNzVaTTguNSA4LjI1QzYuNDI4OTMgOC4yNSA0Ljc1IDkuOTI4OTMgNC43NSAxMkg2LjI1QzYuMjUgMTAuNzU3NCA3LjI1NzM2IDkuNzUgOC41IDkuNzVWOC4yNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHJ4PSIzIiBmaWxsPSIjMTRCOEZGIi8+CiAgICA8ZyBmaWxsPSIjZmZmIj4KICAgICAgICA8cGF0aCBkPSJNMjAgMTEuNzVhMi4yNDIgMi4yNDIgMCAwIDAtMS45OTMtMi4yMjUgOS40MTQgOS40MTQgMCAwIDAtLjI1NyAyLjIyNWMtLjAwMy43NDkuMDgzIDEuNDk2LjI1NyAyLjIyNEEyLjI0MyAyLjI0MyAwIDAgMCAyMCAxMS43NVpNMTMuNzUgMTguNDMzIDkuNDEgMTcuMDVsMS45NzMgNC44NTZhMS43NDYgMS43NDYgMCAwIDAgMy4zNjctLjYzNmMuMDAzLS4yMy0uMDQtLjQ1Ny0uMTI2LS42N2wtLjg3NC0yLjE2N1oiLz4KICAgICAgICA8cGF0aCBkPSJNMTkuMjUgNWMtLjI3IDAtLjUzNy4wNDgtLjc5LjEzOUw3LjA0NiA4Ljc3OEEyLjg2NCAyLjg2NCAwIDAgMCA1IDExLjc1YTIuODU3IDIuODU3IDAgMCAwIDIuMDI1IDIuOTY1bDExLjQzNyAzLjY0NmMuMjUzLjA5MS41Mi4xMzguNzg4LjEzOSAyLjEzOCAwIDMuNzUtMi45MDIgMy43NS02Ljc1UzIxLjM4OCA1IDE5LjI1IDVabTAgMTJDMTguMTg4IDE3IDE3IDE0Ljc1NSAxNyAxMS43NXMxLjE4OC01LjI1IDIuMjUtNS4yNSAyLjI1IDIuMjQ1IDIuMjUgNS4yNVMyMC4zMTIgMTcgMTkuMjUgMTdaIi8+CiAgICA8L2c+CiAgICA8Y2xpcFBhdGg+CiAgICAgICAgPHBhdGggZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSA1KSIgZD0iTTAgMGgxOHYxOEgweiIvPgogICAgPC9jbGlwUGF0aD4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOSAwSDNDMS4zNDMxNSAwIDAgMS4zNDMxNSAwIDNWMjlDMCAzMC42NTY5IDEuMzQzMTUgMzIgMyAzMkgyOUMzMC42NTY5IDMyIDMyIDMwLjY1NjkgMzIgMjlWM0MzMiAxLjM0MzE1IDMwLjY1NjkgMCAyOSAwWiIgZmlsbD0iI0ZGQjQxRiIvPgogICAgPHBhdGggZD0iTTUuNSA3Ljc1SDI2LjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik01LjUgMjQuMjVIMjYuNSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTE5IDE5Ljc1VjEzLjc1QzE5IDEzLjM1MjIgMTkuMTU4IDEyLjk3MDYgMTkuNDM5MyAxMi42ODkzQzE5LjcyMDYgMTIuNDA4IDIwLjEwMjIgMTIuMjUgMjAuNSAxMi4yNUgyMiIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTE5IDE2Ljc1SDIxLjI1IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICA8cGF0aCBkPSJNMTYgMTkuNzVWMTIuMjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik0xMi4yNSAxNi43NUgxM1YxOC4yNUMxMyAxOC42NDc4IDEyLjg0MiAxOS4wMjk0IDEyLjU2MDcgMTkuMzEwN0MxMi4yNzk0IDE5LjU5MiAxMS44OTc4IDE5Ljc1IDExLjUgMTkuNzVDMTEuMTAyMiAxOS43NSAxMC43MjA2IDE5LjU5MiAxMC40MzkzIDE5LjMxMDdDMTAuMTU4IDE5LjAyOTQgMTAgMTguNjQ3OCAxMCAxOC4yNVYxMy43NUMxMCAxMy4zNTIyIDEwLjE1OCAxMi45NzA2IDEwLjQzOTMgMTIuNjg5M0MxMC43MjA2IDEyLjQwOCAxMS4xMDIyIDEyLjI1IDExLjUgMTIuMjVIMTMiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgcng9IjMiIGZpbGw9IiNmZmI0MWYiLz4KICAgIDxyZWN0IHg9IjIiIHk9IjgiIHdpZHRoPSIxNSIgaGVpZ2h0PSI0IiByeD0iMS41IiBmaWxsPSJ3aGl0ZSIvPgogICAgPHJlY3QgeD0iMiIgeT0iMTUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyIiByeD0iMSIgZmlsbD0id2hpdGUiLz4KICAgIDxyZWN0IHg9IjIiIHk9IjE5IiB3aWR0aD0iMjQiIGhlaWdodD0iMiIgcng9IjEiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMjAgOUwyMi41IDExLjVMMjUgOSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iIzMwQ0Y0MyIvPgogIDxwYXRoIGQ9Ik0xMi4wNyAyMC43N2EuOTk4Ljk5OCAwIDAgMS0xLjQ0NS0uODk0di02Ljc1MmEuOTk5Ljk5OSAwIDAgMSAxLjQ0NC0uODk0bDYuNzU0IDMuMzc3YS45OTcuOTk3IDAgMCAxIDAgMS43ODVMMTIuMDcgMjAuNzdaIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxyZWN0IHg9IjMiIHk9IjIiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIHJ4PSIxIiBmaWxsPSIjZmZmIi8+CiAgPHJlY3QgeD0iOSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIxNSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIyMSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iI0ZCMkQ4RCIvPgogIDxwYXRoIGQ9Ik05IDIxYzEuMTA1IDAgMi0uOTMzIDItMi4wODRzLS44OTUtMi4wODQtMi0yLjA4NC0yIC45MzMtMiAyLjA4NEM3IDIwLjA2NiA3Ljg5NSAyMSA5IDIxWk0xOSAxOC45MTZjMS4xMDUgMCAyLS45MzMgMi0yLjA4NHMtLjg5NS0yLjA4NC0yLTIuMDg0LTIgLjkzMy0yIDIuMDg0YzAgMS4xNS44OTUgMi4wODQgMiAyLjA4NFoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxwYXRoIGQ9Ik0yMSAxNi44MzR2LTcuNzVjMC0uMzE3LS4wNy0uNjMtLjIwMy0uOTE0YTIuMDcgMi4wNyAwIDAgMC0uNTY2LS43MjkgMS45NjUgMS45NjUgMCAwIDAtLjgxNi0uMzk2IDEuOTIyIDEuOTIyIDAgMCAwLS45LjAxN2wtNiAxLjA0MmExLjk5NSAxLjk5NSAwIDAgMC0xLjA5MS43NEEyLjE0IDIuMTQgMCAwIDAgMTEgMTAuMTI0djguNzkyIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iIzE0QjhGRiIvPgogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMjI5IDYuNjUzYTIuNjI1IDIuNjI1IDAgMCAwLTIuODgyLjYwNWwtLjAxLjAxLTYuNzYxIDYuNzYxYTQuMzEyIDQuMzEyIDAgMSAwIDYuMDk4IDYuMDk5bDguMjMzLTguMjM0YS43NS43NSAwIDEgMSAxLjA2IDEuMDZsLTguMjMyIDguMjM0YTUuODEyIDUuODEyIDAgMSAxLTguMjItOC4yMmw2Ljc1OC02Ljc1N2E0LjEyNCA0LjEyNCAwIDEgMSA1LjgzMyA1LjgzM2wtNi43NjcgNi43N2EyLjQzNyAyLjQzNyAwIDAgMS0zLjQ0Ny0zLjQ0NmwuMDEtLjAxIDYuNzYxLTYuNzY0YS43NS43NSAwIDEgMSAxLjA2MSAxLjA2bC02Ljc1NyA2Ljc2YS45MzcuOTM3IDAgMCAwIDEuMzI2IDEuMzI1bDYuNzY1LTYuNzY5YTIuNjI2IDIuNjI2IDAgMCAwLS44My00LjMxN1oiIGZpbGw9IiNmZmYiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgcng9IjMiIGZpbGw9IiMzQkNENEMiLz4KICAgIDxwYXRoIGQ9Ik0xNy4wMTQxIDExLjM0NTRDMTcuMDc3NSAxMS4zMTY1IDE3LjExODIgMTEuMjUzMiAxNy4xMTgyIDExLjE4MzVDMTcuMTE4MiAxMS4xMTM3IDE3LjA3NzUgMTEuMDUwNCAxNy4wMTQxIDExLjAyMTVMMTAuMDY3OCA3Ljg1NDg4QzkuOTc1OCA3LjgxNCA5Ljg3MDc4IDcuODE0IDkuNzc4NzcgNy44NTQ4OEw3LjA2MTM1IDkuMDMzODJDNi45OTU3MiA5LjA2MTc4IDYuOTUzMTIgOS4xMjYyMyA2Ljk1MzEyIDkuMTk3NTdDNi45NTMxMiA5LjI2ODkgNi45OTU3MiA5LjMzMzM1IDcuMDYxMzUgOS4zNjEzMUwxNC4zODcxIDEyLjQxNEMxNC40Nzg0IDEyLjQ1MjMgMTQuNTgxNiAxMi40NTA4IDE0LjY3MTggMTIuNDA5OEwxNy4wMTQxIDExLjM0NTRaIiBmaWxsPSJ3aGl0ZSIvPgogICAgPHBhdGggZD0iTTIxLjM1MDIgOS4zNzIwMkMyMS40MTQxIDkuMzQzMjkgMjEuNDU1MiA5LjI3OTc1IDIxLjQ1NTIgOS4yMDk3QzIxLjQ1NTIgOS4xMzk2NSAyMS40MTQxIDkuMDc2MTIgMjEuMzUwMiA5LjA0NzM4TDE0LjQ3MTYgNi4wNTk0M0MxNC4yOSA1Ljk4MDE5IDE0LjA4MzcgNS45ODAxOSAxMy45MDIxIDYuMDU5NDNMMTEuNjA5NyA3LjA1NjEzQzExLjU0NTQgNy4wODQ2OCAxMS41MDM5IDcuMTQ4NDQgMTEuNTAzOSA3LjIxODhDMTEuNTAzOSA3LjI4OTE3IDExLjU0NTQgNy4zNTI5MyAxMS42MDk3IDcuMzgxNDhMMTguNTE1MyAxMC41Mjk2QzE4LjYwOSAxMC41NzIyIDE4LjcxNjUgMTAuNTcyMiAxOC44MTAxIDEwLjUyOTZMMjEuMzUwMiA5LjM3MjAyWiIgZmlsbD0id2hpdGUiLz4KICAgIDxwYXRoIGQ9Ik02LjI0NjMzIDEwLjE3NzdDNi4xOTEzOCAxMC4xNTQ5IDYuMTI4NjUgMTAuMTYxIDYuMDc5MTYgMTAuMTk0QzYuMDI5NjYgMTAuMjI3MSA1Ljk5OTk2IDEwLjI4MjcgNiAxMC4zNDIyVjE4LjI3NzNDNS45OTk5OCAxOC41NjQ2IDYuMTcyNjYgMTguODIzOCA2LjQzNzgzIDE4LjkzNDRMMTMuNzYgMjEuOTg2NEMxMy44MTQ5IDIyLjAwOTMgMTMuODc3NyAyMi4wMDMxIDEzLjkyNzEgMjEuOTcwMUMxMy45NzY2IDIxLjkzNyAxNC4wMDYzIDIxLjg4MTUgMTQuMDA2MyAyMS44MjE5VjEzLjUzMDlDMTQuMDA2MiAxMy40NTkgMTMuOTYzIDEzLjM5NDIgMTMuODk2NyAxMy4zNjY0TDYuMjQ2MzMgMTAuMTc3N1oiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMTUuMDc4MSAyMS43ODk5QzE1LjA3ODQgMjEuODUwMiAxNS4xMDkyIDIxLjkwNjMgMTUuMTU5OSAyMS45MzlDMTUuMjEwNSAyMS45NzE4IDE1LjI3NDMgMjEuOTc2NyAxNS4zMjk0IDIxLjk1MjJMMjEuOTU4MiAxOC45Mzk0QzIyLjIxMjIgMTguODIzOCAyMi4zNzUzIDE4LjU3MDUgMjIuMzc1NCAxOC4yOTE1VjEwLjM1NzhDMjIuMzc1NCAxMC4yOTczIDIyLjM0NDcgMTAuMjQxIDIyLjI5MzkgMTAuMjA4MkMyMi4yNDMxIDEwLjE3NTMgMjIuMTc5MSAxMC4xNzA2IDIyLjEyNCAxMC4xOTU1TDE1LjE4NDkgMTMuMzUwN0MxNS4xMjExIDEzLjM3OTIgMTUuMDgwMSAxMy40NDI1IDE1LjA4MDMgMTMuNTEyNEwxNS4wNzgxIDIxLjc4OTlaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOS41IDBIMi41QzEuMTE5MjkgMCAwIDEuMTE5MjkgMCAyLjVWMjkuNUMwIDMwLjg4MDcgMS4xMTkyOSAzMiAyLjUgMzJIMjkuNUMzMC44ODA3IDMyIDMyIDMwLjg4MDcgMzIgMjkuNVYyLjVDMzIgMS4xMTkyOSAzMC44ODA3IDAgMjkuNSAwWiIgZmlsbD0iI0ZCMkQ4RCIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02IDEwQzYgOC44OTU0MyA2Ljg5NTQzIDggOCA4SDI0QzI1LjEwNDYgOCAyNiA4Ljg5NTQzIDI2IDEwVjE1QzI2IDE2LjEwNDYgMjUuMTA0NiAxNyAyNCAxN0g4QzYuODk1NDMgMTcgNiAxNi4xMDQ2IDYgMTVWMTBaTTYgMjRDNiAyMy40NDc3IDYuNDQ3NzIgMjMgNyAyM0gyNUMyNS41NTIzIDIzIDI2IDIzLjQ0NzcgMjYgMjRDMjYgMjQuNTUyMyAyNS41NTIzIDI1IDI1IDI1SDdDNi40NDc3MiAyNSA2IDI0LjU1MjMgNiAyNFpNNyAxOUM2LjQ0NzcyIDE5IDYgMTkuNDQ3NyA2IDIwQzYgMjAuNTUyMyA2LjQ0NzcyIDIxIDcgMjFIMjVDMjUuNTUyMyAyMSAyNiAyMC41NTIzIDI2IDIwQzI2IDE5LjQ0NzcgMjUuNTUyMyAxOSAyNSAxOUg3WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMxLjI1MiA4LjQ4OGMtLjM2Ni0xLjM3LTEuNDQ4LTIuNDUyLTIuODI0LTIuODIzQzI1Ljk0MSA1IDE1Ljk1OCA1IDE1Ljk1OCA1cy05Ljk3NyAwLTEyLjQ3LjY2NWMtMS4zNy4zNjYtMi40NTIgMS40NDctMi44MjMgMi44MjNDMCAxMC45NzYgMCAxNi4xNyAwIDE2LjE3czAgNS4xOTQuNjY1IDcuNjgyYy4zNjYgMS4zNzIgMS40NDcgMi40NTMgMi44MjMgMi44MjMgMi40OTMuNjY2IDEyLjQ3LjY2NiAxMi40Ny42NjZzOS45ODMgMCAxMi40Ny0uNjY2YzEuMzcyLS4zNjUgMi40NTMtMS40NDcgMi44MjQtMi44MjMuNjY1LTIuNDg4LjY2NS03LjY4Mi42NjUtNy42ODJzMC01LjE5NC0uNjY1LTcuNjgyIiBmaWxsPSIjRDkyNTJBIi8+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRkZGRSIgZD0iTTEyLjc3IDIwLjk1OGw4LjI5MS00Ljc4OC04LjI5MS00Ljc4OHY5LjU3NiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xMC4wNjMgMjkuMDAyYzEyLjA3NiAwIDE4LjY4LTEwLjAwNSAxOC42OC0xOC42OCAwLS4yODUgMC0uNTY3LS4wMTktLjg1QzMwLjAxIDguNTQ1IDMxLjEyIDcuMzkzIDMyIDYuMDc2Yy0xLjE5OC41My0yLjQ3Ljg3OS0zLjc3IDEuMDMyIDEuMzctLjgyIDIuMzk1LTIuMTEgMi44ODYtMy42My0xLjI5Ljc2NC0yLjcgMS4zMDMtNC4xNyAxLjU5My0yLjAzNS0yLjE2NC01LjI2OC0yLjY5NC03Ljg4Ny0xLjI5Mi0yLjYyIDEuNDAxLTMuOTczIDQuMzg2LTMuMyA3LjI4LTUuMjgtLjI2NS0xMC4xOTgtMi43NTgtMTMuNTMyLTYuODYtMS43NDIgMy0uODUyIDYuODM4IDIuMDMzIDguNzY0LTEuMDQ1LS4wMy0yLjA2Ny0uMzEzLTIuOTgtLjgyMnYuMDg0YzAgMy4xMjUgMi4yMDQgNS44MTcgNS4yNjcgNi40MzUtLjk2Ni4yNjQtMS45OC4zMDMtMi45NjQuMTEzLjg2IDIuNjc1IDMuMzI1IDQuNTA3IDYuMTMzIDQuNTYtMi4zMjQgMS44MjctNS4xOTYgMi44MTgtOC4xNTMgMi44MTUtLjUyMiAwLTEuMDQ0LS4wMzItMS41NjMtLjA5NCAzLjAwMiAxLjkyNyA2LjQ5NiAyLjk0OSAxMC4wNjMgMi45NDQiIGZpbGw9IiMxREExRjIiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjIuNDMgMTIyLjQxIj4KICAgIDxwYXRoIGQ9Ik04My44NiA1NC4xNXYzNC4xM0gzOC41N1Y1NC4xNUgwdjY4LjI2aDEyMi40M1Y1NC4xNUg4My44NnpNMzguNTcgMGg0NS4zdjM0LjEzaC00NS4zeiIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMxLjg4NiAyNS41MDhjMCAzLjUyMi0yLjg1NSA2LjM3Ny02LjM3NyA2LjM3N0g2LjM3N0MyLjg1NyAzMS44ODUgMCAyOS4wMyAwIDI1LjUwOFY2LjM3OEMwIDIuODU0IDIuODU3IDAgNi4zNzcgMEgyNS41MWMzLjUyMiAwIDYuMzc3IDIuODU1IDYuMzc3IDYuMzc3djE5LjEzMSIgZmlsbD0iIzBGQjdGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNS45OTggMTAuNThjLjE3NS0uOTgyLjE3LTEuOTkyLS40MzYtMi43NTUtLjg0Ni0xLjA3LTIuNjQ2LTEuMTEtMy44OC0uOTIxLTEuMDAzLjE1My00LjM5NyAxLjY1MS01LjU1MiA1LjIzNiAyLjA0Ni0uMTU2IDMuMTE4LjE0OCAyLjkyMSAyLjQtLjA4Mi45NDMtLjU1OCAxLjk3Ni0xLjA5IDIuOTY2LS42MTQgMS4xNDEtMS43NjUgMy4zODItMy4yNzQgMS43NjctMS4zNi0xLjQ1NC0xLjI1Ny00LjIzNS0xLjU2OC02LjA4Ni0uMTczLTEuMDQtLjM1Ni0yLjMzNC0uNjk3LTMuNDAyLS4yOTMtLjkyLS45NjYtMi4wMjctMS43ODgtMi4yNjctLjg4NC0uMjYtMS45NzYuMTQ2LTIuNjE4LjUyMy0yLjA0MiAxLjItMy41OTggMi45MDgtNS4zNjUgNC4zMTd2LjEzMmMuMzUuMzM1LjQ0NC44ODQuOTYuOTU5IDEuMjE2LjE3OSAyLjM3NS0xLjEzNCAzLjE4NC4yMzIuNDkyLjgzNC42NDUgMS43NDkuOTYgMi42NDguNDIgMS4xOTguNzQ2IDIuNTAzIDEuMDkgMy44OC41ODMgMi4zMzQgMS4yOTkgNS44MiAzLjMxNiA2LjY3NSAxLjAyOS40MzcgMi41NzUtLjE0OCAzLjM1OC0uNjEyIDIuMTIyLTEuMjU1IDMuNzc1LTMuMDc1IDUuMTktNC45MjcgMy4yMzQtNC4zODIgNS4wMTktOS4zNDcgNS4yODktMTAuNzY1IiBmaWxsPSIjRkZGRkZFIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zMS45NzYgMTAuODg2Yy0uMDA3LS4wMzktLjAxNC0uMDc4LS4wMjQtLjExNmwtLjAyMi0uMDY2Yy0uMDEtLjAzNC0uMDIyLS4wNjgtLjAzNS0uMWwtLjAzLS4wNjdjLS4wMTUtLjAzMS0uMDMtLjA2Mi0uMDQ4LS4wOTItLjAxMi0uMDIyLS4wMjYtLjA0Mi0uMDM5LS4wNjMtLjAxOC0uMDI5LS4wMzctLjA1Ny0uMDU4LS4wODQtLjAxNS0uMDItLjAzLS4wNC0uMDQ3LS4wNTktLjAyMi0uMDI2LS4wNDUtLjA1LS4wNjgtLjA3NWwtLjA1NS0uMDUzYy0uMDI1LS4wMjMtLjA1MS0uMDQ1LS4wNzgtLjA2NS0uMDIxLS4wMTYtLjA0MS0uMDMzLS4wNjMtLjA0Ny0uMDA4LS4wMDYtLjAxNC0uMDEzLS4wMjMtLjAxOEwxNi43NjIuMjMxYy0uNDYxLS4zMDgtMS4wNjMtLjMwOC0xLjUyNSAwTC42MTIgOS45ODFsLS4wMjIuMDE3Yy0uMDIyLjAxNS0uMDQyLjAzMS0uMDYzLjA0Ny0uMDI3LjAyMS0uMDUzLjA0My0uMDc4LjA2NS0uMDE5LjAxNy0uMDM3LjAzNS0uMDU1LjA1NC0uMDI0LjAyNC0uMDQ2LjA0OC0uMDY4LjA3NC0uMDE3LjAyLS4wMzIuMDM5LS4wNDcuMDYtLjAyLjAyOC0uMDQuMDU1LS4wNTguMDg0bC0uMDQuMDY0Yy0uMDE3LjAzLS4wMzIuMDYtLjA0Ni4wOS0uMDEuMDIyLS4wMjIuMDQ1LS4wMy4wNjctLjAxNC4wMzMtLjAyNi4wNjctLjAzNi4xbC0uMDIyLjA2NWMtLjAxLjAzOC0uMDE3LjA3Ni0uMDI0LjExNS0uMDA0LjAyLS4wMDguMDQtLjAxLjA2LS4wMDkuMDYtLjAxMy4xMTktLjAxMy4xOHY5Ljc1MWMwIC4wNi4wMDQuMTIxLjAxMy4xOC4wMDMuMDIyLjAwOS4wMzkuMDEzLjA2LjAwNy4wMzguMDEzLjA3Ny4wMjYuMTE2bC4wMjEuMDY3Yy4wMTEuMDM0LjAyMi4wNjkuMDM1LjEuMDA5LjAyMi4wMjEuMDQzLjAzLjA2NS4wMTQuMDMuMDMuMDYuMDQ3LjA5Mi4wMTIuMDIxLjAyNi4wNDMuMDQuMDYyLjAxOC4wMy4wMzguMDU2LjA2LjA4Mi4wMTQuMDIyLjAzLjA0LjA0Ny4wNi4wMjIuMDI2LjA0My4wNTEuMDY5LjA3NC4wMTcuMDE4LjAzNC4wNC4wNTYuMDUybC4wNzcuMDY2Yy4wMjEuMDE3LjA0My4wMy4wNi4wNDYuMDA5LjAwNS4wMTQuMDEzLjAyMi4wMTdsMTQuNjIxIDkuNzU1Yy4yMzEuMTU1LjQ5Ni4yMzMuNzYzLjIzMi4yNjctLjAwMi41MzItLjA3OC43NjMtLjIzMmwxNC42MjUtOS43NS4wMjItLjAxNmMuMDIyLS4wMTUuMDQyLS4wMzEuMDYzLS4wNDcuMDI3LS4wMjEuMDUzLS4wNDMuMDc4LS4wNjZsLjA1NS0uMDUzYy4wMjQtLjAyNC4wNDctLjA0OS4wNjgtLjA3NS4wMTctLjAyLjAzMi0uMDM5LjA0Ny0uMDYuMDItLjAyNi4wNC0uMDU0LjA1OC0uMDgzLjAxNC0uMDIuMDI3LS4wNDIuMDQtLjA2My4wMTctLjAzLjAzMi0uMDYuMDQ3LS4wOTJsLjAzLS4wNjZjLjAxNC0uMDMzLjAyNS0uMDY3LjAzNS0uMS4wMDgtLjAyMy4wMTYtLjA0NS4wMjItLjA2Ny4wMS0uMDM4LjAxNy0uMDc3LjAyNC0uMTE2LjAwNC0uMDIuMDA5LS4wMzkuMDEtLjA2LjAwOS0uMDU5LjAxMy0uMTE4LjAxMy0uMTc5di05Ljc1YzAtLjA2LS4wMDUtLjEyLS4wMTItLjE4LS4wMDQtLjAyLS4wMS0uMDM4LS4wMTQtLjA2aC4wMDJ6TTE2IDE5LjI1M0wxMS4xMzcgMTYgMTYgMTIuNzQ3IDIwLjg2MyAxNiAxNiAxOS4yNTN6bS0xLjM3NS04Ljg5NWwtNS45NjIgMy45ODgtNC44MTItMy4yMiAxMC43NzQtNy4xODJ2Ni40MTR6TTYuMTkgMTZsLTMuNDQgMi4zVjEzLjdsMy40NCAyLjN6bTIuNDczIDEuNjU1bDUuOTYyIDMuOTg3djYuNDE0TDMuODUgMjAuODczbDQuODEyLTMuMjE5di4wMDF6bTguNzEyIDMuOTg2bDUuOTYxLTMuOTg3IDQuODEzIDMuMjItMTAuNzc0IDcuMTgxdi02LjQxNHptOC40MzQtNS42NGwzLjQ0LTIuMzAydjQuNjAyTDI1LjgxIDE2em0tMi40NzMtMS42NTVsLTUuOTYxLTMuOTg3VjMuOTQ0bDEwLjc3NCA3LjE4My00LjgxMyAzLjIxOXoiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xNiAuMDUzQzcuMTkuMDUzLjA0NyA3LjE5NC4wNDcgMTYuMDAzYzAgOC44MSA3LjE0MiAxNS45NTEgMTUuOTUxIDE1Ljk1MSA4LjgxIDAgMTUuOTUxLTcuMTQgMTUuOTUxLTE1Ljk1QzMxLjk1IDcuMTk0IDI0LjgxLjA1NCAxNiAuMDU0Vi4wNTN6bTcuMzE0IDIzLjAwNWMtLjI4NS40NjktLjg5OS42MTgtMS4zNjcuMzMtMy43NDUtMi4yODgtOC40Ni0yLjgwNi0xNC4wMTMtMS41MzctLjUzNS4xMjItMS4wNjgtLjIxMy0xLjE5LS43NDktLjEyMi0uNTM1LjIxMi0xLjA2OC43NDgtMS4xOSA2LjA3Ni0xLjM4OSAxMS4yODgtLjc5IDE1LjQ5MyAxLjc3OS40NjguMjg3LjYxNy44OTkuMzMgMS4zNjd6bTEuOTUzLTQuMzQzYy0uMzYuNTg1LTEuMTI2Ljc3LTEuNzEuNDEtNC4yODgtMi42MzYtMTAuODI0LTMuNC0xNS44OTYtMS44Ni0uNjU3LjE5OS0xLjM1Mi0uMTcyLTEuNTUyLS44MjgtLjE5OC0uNjU4LjE3My0xLjM1MS44My0xLjU1MSA1Ljc5My0xLjc1OCAxMi45OTQtLjkwNyAxNy45MTggMi4xMi41ODUuMzYuNzcgMS4xMjUuNDEgMS43MDl6bS4xNjctNC41MjNjLTUuMTQtMy4wNTQtMTMuNjIzLTMuMzM0LTE4LjUzMS0xLjg0NS0uNzg4LjI0LTEuNjIyLS4yMDUtMS44Ni0uOTk0LS4yNC0uNzg4LjIwNS0xLjYyMS45OTQtMS44NiA1LjYzNC0xLjcxMSAxNS4wMDEtMS4zOCAyMC45MiAyLjEzMy43MS40Mi45NDMgMS4zMzYuNTIyIDIuMDQ0LS40Mi43MS0xLjMzNy45NDMtMi4wNDQuNTIyeiIgZmlsbD0iIzFFRDc2MCIgZmlsbC1ydWxlPSJub256ZXJvIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xNS45MjQgOS45MjJjLS4yMzYgMC0uNDMuMTk0LS40MzQuNDMzbC0uMTc3IDguODY2LjE3OCAzLjIxOGMuMDAzLjIzNS4xOTcuNDMuNDMzLjQzcy40My0uMTk1LjQzMy0uNDMzdi4wMDRsLjE5My0zLjIxOS0uMTkzLTguODY3Yy0uMDAzLS4yMzgtLjE5Ny0uNDMyLS40MzMtLjQzMnptMTIuMTQgNS4xMDJjLS41NCAwLTEuMDU0LjExLTEuNTIyLjMwNkMyNi4yMjggMTEuNzgzIDIzLjI1NCA5IDE5LjYyNSA5Yy0uODg3IDAtMS43NTMuMTc1LTIuNTE3LjQ3LS4yOTguMTE1LS4zNzcuMjM0LS4zOC40NjN2MTIuNDkyYy4wMDQuMjQyLjE5LjQ0Mi40MjYuNDY2bDEwLjkxLjAwNmMyLjE3NCAwIDMuOTM2LTEuNzYyIDMuOTM2LTMuOTM2cy0xLjc2Mi0zLjkzNy0zLjkzNi0zLjkzN3pNMTAuODg2IDIyLjU2di0uMDAybC4yMjYtMy4zMzgtLjIyNi03LjI3NmMtLjAwNi0uMTgxLS4xNDgtLjMyMy0uMzI1LS4zMjMtLjE3NiAwLS4zMTkuMTQyLS4zMjQuMzIzbC0uMjAyIDcuMjc2LjIwMiAzLjM0Yy4wMDUuMTc4LjE0OC4zMi4zMjQuMzIuMTc3IDAgLjMxOC0uMTQyLjMyNS0uMzIxdi4wMDF6bS0yLjk1Mi4zMmMuMTQ0IDAgLjI2Mi0uMTE3LjI3LS4yNjdsLjI2NC0zLjM5NC0uMjY1LTYuNDk3Yy0uMDA3LS4xNS0uMTI1LS4yNjctLjI3LS4yNjctLjE0NCAwLS4yNjMuMTE3LS4yNjkuMjY3bC0uMjM0IDYuNDk3LjIzNCAzLjM5NWMuMDA2LjE0OS4xMjUuMjY2LjI3LjI2NnptNS4yOTctMTAuODY4Yy0uMjA5IDAtLjM3NS4xNjYtLjM4LjM3N2wtLjE2OSA2LjgzMi4xNyAzLjI4N2MuMDA0LjIxLjE3LjM3NS4zNzkuMzc1LjIwNyAwIC4zNzMtLjE2Ni4zNzgtLjM3N3YuMDAybC4xOS0zLjI4Ny0uMTktNi44MzJjLS4wMDUtLjIxMS0uMTctLjM3Ny0uMzc4LS4zNzd6TTIuODAyIDIyLjY1N2MuMDgzIDAgLjE1LS4wNjYuMTYtLjE1NmwuMzQtMy4yODYtLjM0LTMuNDFjLS4wMS0uMDkxLS4wNzctLjE1Ny0uMTYtLjE1Ny0uMDg0IDAtLjE1Mi4wNjYtLjE2LjE1N2wtLjI5OSAzLjQxLjI5OSAzLjI4NWMuMDA4LjA5MS4wNzYuMTU3LjE2LjE1N3ptMi41NDYuMTg4Yy4xMTMgMCAuMjA2LS4wOTIuMjE0LS4yMTJsLjMwMi0zLjQxOC0uMzAyLTMuMjVjLS4wMDgtLjEyLS4xLS4yMTEtLjIxNC0uMjExLS4xMTYgMC0uMjA4LjA5LS4yMTYuMjEybC0uMjY2IDMuMjUuMjY2IDMuNDE3Yy4wMDguMTIuMS4yMTIuMjE2LjIxMnptNi41NDMuMDNjLjE5MSAwIC4zNDYtLjE1NC4zNTEtLjM1di4wMDNsLjIwOS0zLjMwOS0uMjA5LTcuMDljLS4wMDUtLjE5Ni0uMTYtLjM1LS4zNTEtLjM1LS4xOTMgMC0uMzQ4LjE1NC0uMzUyLjM1bC0uMTg1IDcuMDkuMTg1IDMuMzA4Yy4wMDQuMTk0LjE1OS4zNDguMzUyLjM0OHptMi42OS4wMTNjLjIyIDAgLjQwMS0uMTgxLjQwNS0uNDA0di4wMDItLjAwMmwuMTcyLTMuMjYzLS4xNzItOC4xM2MtLjAwNC0uMjIzLS4xODYtLjQwNS0uNDA2LS40MDUtLjIyIDAtLjQwMy4xODItLjQwNi40MDVsLS4xNTMgOC4xMjcuMTUzIDMuMjY4Yy4wMDMuMjIuMTg2LjQwMi40MDYuNDAyem0tNS4zMzgtLjAxNmMuMTYgMCAuMjktLjEyOS4yOTYtLjI5NGwuMjQ2LTMuMzYtLjI0Ni03LjAzOWMtLjAwNi0uMTY1LS4xMzctLjI5NC0uMjk2LS4yOTQtLjE2MiAwLS4yOTIuMTMtLjI5Ny4yOTVsLS4yMTggNy4wMzguMjE4IDMuMzYxYy4wMDUuMTY0LjEzNS4yOTMuMjk3LjI5M3pNNC4wNyAxNS41MjdjLS4xIDAtLjE4LjA4LS4xODguMTg1TDMuNiAxOS4yMTVsLjI4MiAzLjM5Yy4wMDguMTA0LjA4OS4xODQuMTg4LjE4NC4wOTggMCAuMTc4LS4wOC4xODctLjE4NGwuMzItMy4zOS0uMzItMy41MDRjLS4wMDktLjEwNC0uMDktLjE4NC0uMTg3LS4xODR6bTIuNTY1LTEuODM3Yy0uMTI5IDAtLjIzNS4xMDUtLjI0Mi4yNGwtLjI1IDUuMjg3LjI1IDMuNDE3Yy4wMDcuMTMzLjExMy4yMzkuMjQyLjIzOXMuMjM1LS4xMDYuMjQzLS4yNHYuMDAxbC4yODMtMy40MTctLjI4My01LjI4OGMtLjAwOC0uMTM0LS4xMTQtLjI0LS4yNDMtLjI0em0tNC45NTcgMi42NWMtLjAxLS4wNzYtLjA2Ni0uMTI5LS4xMzMtLjEyOS0uMDY4IDAtLjEyNC4wNTUtLjEzMy4xM2wtLjMxNSAyLjg3My4zMTUgMi44MWMuMDEuMDc2LjA2NS4xMy4xMzMuMTMuMDY3IDAgLjEyMi0uMDUzLjEzMy0uMTI5bC4zNTgtMi44MS0uMzU4LTIuODc0em0tMS4zMTYuOTcyYy0uMDY3IDAtLjEyLjA1Mi0uMTI4LjEyNUwwIDE5LjIxNGwuMjM0IDEuNzQ3Yy4wMDkuMDc0LjA2MS4xMjUuMTI4LjEyNS4wNjUgMCAuMTE3LS4wNS4xMjgtLjEyNGwuMjc3LTEuNzQ4LS4yNzctMS43NzhjLS4wMS0uMDczLS4wNjMtLjEyNC0uMTI4LS4xMjR6IiBmaWxsPSIjRUU3QzI1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zMiAxNkMzMiAyNC44MzYxIDI0LjgzNjEgMzIgMTYgMzJDNy4xNjM5NCAzMiAwIDI0LjgzNjEgMCAxNkMwIDcuMTYzOTQgNy4xNjM5NCAwIDE2IDBDMjQuODM3OSAwIDMyIDcuMTYzOTQgMzIgMTZaIiBmaWxsPSIjMjA4MUUyIi8+CiAgICA8cGF0aCBkPSJNNy44OTM3MSAxNi41Mzc2TDcuOTYyNzQgMTYuNDI5MUwxMi4xMjUgOS45MTc4NEMxMi4xODU4IDkuODIyNTEgMTIuMzI4OCA5LjgzMjM2IDEyLjM3NDggOS45MzU5MkMxMy4wNzAyIDExLjQ5NDMgMTMuNjcwMiAxMy40MzI0IDEzLjM4OTEgMTQuNjM5QzEzLjI2OTEgMTUuMTM1NCAxMi45NDAzIDE1LjgwNzggMTIuNTcwNCAxNi40MjkxQzEyLjUyMjggMTYuNTE5NiAxMi40NzAyIDE2LjYwODMgMTIuNDE0MyAxNi42OTM4QzEyLjM4OCAxNi43MzMzIDEyLjM0MzYgMTYuNzU2MyAxMi4yOTU5IDE2Ljc1NjNIOC4wMTUzNEM3LjkwMDI3IDE2Ljc1NjMgNy44MzI4OCAxNi42MzEzIDcuODkzNzEgMTYuNTM3NloiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMjYuNDQ2MSAxNy43NDc1VjE4Ljc3ODJDMjYuNDQ2MSAxOC44Mzc0IDI2LjQwOTkgMTguODkgMjYuMzU3MyAxOC45MTNDMjYuMDM1MSAxOS4wNTExIDI0LjkzMjEgMTkuNTU3NCAyNC40NzM0IDIwLjE5NTJDMjMuMzAzIDIxLjgyNDIgMjIuNDA4OCAyNC4xNTM2IDIwLjQwOTggMjQuMTUzNkgxMi4wNzA2QzkuMTE0OTUgMjQuMTUzNiA2LjcxOTg1IDIxLjc1MDMgNi43MTk4NSAxOC43ODQ4VjE4LjY4OTRDNi43MTk4NSAxOC42MTA1IDYuNzgzOTQgMTguNTQ2NCA2Ljg2Mjg2IDE4LjU0NjRIMTEuNTExN0MxMS42MDM3IDE4LjU0NjQgMTEuNjcxMSAxOC42MzE5IDExLjY2MjkgMTguNzIyM0MxMS42MyAxOS4wMjQ4IDExLjY4NTkgMTkuMzMzOCAxMS44Mjg5IDE5LjYxNDlDMTIuMTA1MSAyMC4xNzU1IDEyLjY3NzIgMjAuNTI1NiAxMy4yOTUyIDIwLjUyNTZIMTUuNTk2NlYxOC43Mjg5SDEzLjMyMTVDMTMuMjA0OCAxOC43Mjg5IDEzLjEzNTggMTguNTk0MSAxMy4yMDMyIDE4LjQ5ODdDMTMuMjI3OCAxOC40NjA5IDEzLjI1NTggMTguNDIxNSAxMy4yODU0IDE4LjM3NzFDMTMuNTAwNyAxOC4wNzE0IDEzLjgwODEgMTcuNTk2MyAxNC4xMTM5IDE3LjA1NTVDMTQuMzIyNyAxNi42OTA1IDE0LjUyNDggMTYuMzAwOSAxNC42ODc2IDE1LjkwOTdDMTQuNzIwNSAxNS44MzkgMTQuNzQ2OCAxNS43NjY2IDE0Ljc3MzEgMTUuNjk2QzE0LjgxNzQgMTUuNTcxIDE0Ljg2MzUgMTUuNDU0MyAxNC44OTY0IDE1LjMzNzZDMTQuOTI5MyAxNS4yMzkgMTQuOTU1NSAxNS4xMzU0IDE0Ljk4MTggMTUuMDM4NEMxNS4wNTkxIDE0LjcwNjQgMTUuMDkyIDE0LjM1NDYgMTUuMDkyIDEzLjk4OTdDMTUuMDkyIDEzLjg0NjcgMTUuMDg1NCAxMy42OTcgMTUuMDcyMyAxMy41NTRDMTUuMDY1NyAxMy4zOTc5IDE1LjA0NiAxMy4yNDE3IDE1LjAyNjIgMTMuMDg1NUMxNS4wMTMxIDEyLjk0NzQgMTQuOTg4NCAxMi44MTEgMTQuOTYyMSAxMi42NjhDMTQuOTI5MyAxMi40NTkyIDE0Ljg4MzIgMTIuMjUyMSAxNC44MzA2IDEyLjA0MzNMMTQuODEyNSAxMS45NjQ0QzE0Ljc3MzEgMTEuODIxNCAxNC43NDAyIDExLjY4NSAxNC42OTQyIDExLjU0MkMxNC41NjQzIDExLjA5MzIgMTQuNDE0NyAxMC42NTU5IDE0LjI1NjkgMTAuMjQ2NkMxNC4xOTk0IDEwLjA4MzkgMTQuMTMzNiA5LjkyNzcxIDE0LjA2NzggOS43NzE1NUMxMy45NzA5IDkuNTM2NDcgMTMuODcyMiA5LjMyMjc4IDEzLjc4MTggOS4xMjA1N0MxMy43MzU4IDkuMDI4NTEgMTMuNjk2NCA4Ljk0NDY3IDEzLjY1NjkgOC44NTkxOUMxMy42MTI1IDguNzYyMiAxMy41NjY1IDguNjY1MjEgMTMuNTIwNSA4LjU3MzE4QzEzLjQ4NzYgOC41MDI0OSAxMy40NDk4IDguNDM2NzMgMTMuNDIzNSA4LjM3MDk3TDEzLjE0MjQgNy44NTE1MUMxMy4xMDI5IDcuNzgwODMgMTMuMTY4NyA3LjY5Njk5IDEzLjI0NTkgNy43MTgzNkwxNS4wMDQ5IDguMTk1MDdIMTUuMDA5OEMxNS4wMTMxIDguMTk1MDcgMTUuMDE0NyA4LjE5NjczIDE1LjAxNjQgOC4xOTY3M0wxNS4yNDgxIDguMjYwODNMMTUuNTAzIDguMzMzMThMMTUuNTk2NiA4LjM1OTQ1VjcuMzEzOThDMTUuNTk2NiA2LjgwOTMxIDE2LjAwMSA2LjM5OTk5IDE2LjUwMDggNi4zOTk5OUMxNi43NTA2IDYuMzk5OTkgMTYuOTc3NSA2LjUwMTkxIDE3LjE0MDIgNi42Njc5M0MxNy4zMDMgNi44MzM5OCAxNy40MDQ5IDcuMDYwODMgMTcuNDA0OSA3LjMxMzk4VjguODY1NzlMMTcuNTkyMyA4LjkxODM2QzE3LjYwNzEgOC45MjMzMiAxNy42MjE5IDguOTI5ODggMTcuNjM1IDguOTM5NzRDMTcuNjgxMSA4Ljk3NDI3IDE3Ljc0NjggOS4wMjUyMSAxNy44MzA2IDkuMDg3NzFDMTcuODk2NCA5LjE0MDI4IDE3Ljk2NzEgOS4yMDQ0MSAxOC4wNTI2IDkuMjcwMTdDMTguMjIxOSA5LjQwNjU5IDE4LjQyNDEgOS41ODI0OSAxOC42NDYgOS43ODQ3QzE4LjcwNTIgOS44MzU2NCAxOC43NjI3IDkuODg4MjUgMTguODE1MyA5Ljk0MDg2QzE5LjEwMTQgMTAuMjA3MiAxOS40MjE5IDEwLjUxOTUgMTkuNzI3NyAxMC44NjQ3QzE5LjgxMzEgMTAuOTYxNyAxOS44OTcgMTEuMDYwMyAxOS45ODI0IDExLjE2MzlDMjAuMDY3OSAxMS4yNjkxIDIwLjE1ODMgMTEuMzcyNiAyMC4yMzcyIDExLjQ3NjJDMjAuMzQwOCAxMS42MTQzIDIwLjQ1MjYgMTEuNzU3MyAyMC41NDk2IDExLjkwNjlDMjAuNTk1NiAxMS45Nzc2IDIwLjY0ODIgMTIuMDQ5OSAyMC42OTI2IDEyLjEyMDZDMjAuODE3NSAxMi4zMDk2IDIwLjkyNzcgMTIuNTA1MyAyMS4wMzI5IDEyLjcwMDlDMjEuMDc3MyAxMi43OTEzIDIxLjEyMzMgMTIuODg5OSAyMS4xNjI3IDEyLjk4NjlDMjEuMjc5NCAxMy4yNDgzIDIxLjM3MTUgMTMuNTE0NiAyMS40MzA3IDEzLjc4MDlDMjEuNDQ4NyAxMy44Mzg0IDIxLjQ2MTkgMTMuOTAwOSAyMS40Njg1IDEzLjk1NjhWMTMuOTY5OUMyMS40ODgyIDE0LjA0ODggMjEuNDk0OCAxNC4xMzI3IDIxLjUwMTQgMTQuMjE4MUMyMS41Mjc3IDE0LjQ5MSAyMS41MTQ1IDE0Ljc2MzkgMjEuNDU1MyAxNS4wMzg0QzIxLjQzMDcgMTUuMTU1MiAyMS4zOTc4IDE1LjI2NTMgMjEuMzU4MyAxNS4zODJDMjEuMzE4OSAxNS40OTM4IDIxLjI3OTQgMTUuNjEwNSAyMS4yMjg1IDE1LjcyMDZDMjEuMTI5OSAxNS45NDkxIDIxLjAxMzEgMTYuMTc3NiAyMC44NzUgMTYuMzkxM0MyMC44MzA3IDE2LjQ3MDIgMjAuNzc4MSAxNi41NTQxIDIwLjcyNTQgMTYuNjMzQzIwLjY2NzkgMTYuNzE2OCAyMC42MDg3IDE2Ljc5NTcgMjAuNTU2MSAxNi44NzNDMjAuNDgzOCAxNi45NzE2IDIwLjQwNjYgMTcuMDc1MiAyMC4zMjc3IDE3LjE2NzJDMjAuMjU3IDE3LjI2NDIgMjAuMTg0NiAxNy4zNjEyIDIwLjEwNTcgMTcuNDQ2N0MxOS45OTU2IDE3LjU3NjUgMTkuODkwNCAxNy42OTk4IDE5Ljc4MDIgMTcuODE4MkMxOS43MTQ1IDE3Ljg5NTQgMTkuNjQzOCAxNy45NzQ0IDE5LjU3MTUgMTguMDQ1QzE5LjUwMDggMTguMTIzOSAxOS40Mjg1IDE4LjE5NDYgMTkuMzYyNyAxOC4yNjA0QzE5LjI1MjYgMTguMzcwNSAxOS4xNjA1IDE4LjQ1NiAxOS4wODMyIDE4LjUyNjdMMTguOTAyNCAxOC42OTI3QzE4Ljg3NjEgMTguNzE1NyAxOC44NDE2IDE4LjcyODkgMTguODA1NCAxOC43Mjg5SDE3LjQwNDlWMjAuNTI1NkgxOS4xNjcxQzE5LjU2MTYgMjAuNTI1NiAxOS45MzY0IDIwLjM4NTkgMjAuMjM4OSAyMC4xMjk0QzIwLjM0MjQgMjAuMDM5IDIwLjc5NDUgMTkuNjQ3OCAyMS4zMjg3IDE5LjA1NzdDMjEuMzQ2OCAxOS4wMzc5IDIxLjM2OTkgMTkuMDIzMSAyMS4zOTYyIDE5LjAxNjZMMjYuMjYzNiAxNy42MDk0QzI2LjM1NCAxNy41ODMxIDI2LjQ0NjEgMTcuNjUyMiAyNi40NDYxIDE3Ljc0NzVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgZmlsbD0iI2ZiMmQ4ZCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMi41Ii8+CiAgICAgICAgPHBhdGggZD0iTTEyIDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6TTE4IDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6TTI0IDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6IiBmaWxsPSIjRkZGIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkYXRhLXNlbGVjdG9yPSJiZyIgZD0iTTIgMjRoMTNsOS05VjJhMiAyIDAgMDAtMi0ySDJhMiAyIDAgMDAtMiAydjIwYTIgMiAwIDAwMiAyeiIgZmlsbD0iI0YwRjZGOSIvPgogICAgPHJlY3QgZGF0YS1zZWxlY3Rvcj0iYmxvY2siIHg9IjUuMjUiIHk9IjQuNSIgd2lkdGg9IjEzLjUiIGhlaWdodD0iNC41IiByeD0iMSIgZmlsbD0iIzczOEE5NCIvPgogICAgPHBhdGggZGF0YS1zZWxlY3Rvcj0iZm9sZCIgZD0iTTE1IDE2djhsOS05aC04YTEgMSAwIDAwLTEgMXoiIGZpbGw9IiNEQUU4RjEiLz4KICAgIDxyZWN0IGRhdGEtc2VsZWN0b3I9ImxpbmUiIHg9IjUuMjUiIHk9IjExLjI1IiB3aWR0aD0iOC4yNSIgaGVpZ2h0PSIxLjUiIHJ4PSIuNzUiIGZpbGw9IiM3MzhBOTQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgPGcgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibmMtaWNvbi13cmFwcGVyIj4KICAgIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTYiIHI9IjQiLz4KICAgIDxwYXRoIGRhdGEtY2FwPSJidXR0IiBkPSJNMjAuODQ5IDMzLjE2NCAzMyAyMGwxMyAxM00yIDM4bDEyLTExIDEwIDkiLz4KICAgIDxwYXRoIGQ9Ik0yIDZoNDR2MzZIMnoiLz4KICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgPGcgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibmMtaWNvbi13cmFwcGVyIj4KICAgIDxwYXRoIGQ9Ik0zIDloNDJ2MzZIM3ptNy02aDI4Ii8+CiAgICA8cGF0aCBkPSJtMTAgMzggNy0xMCA1IDQgOC0xMSA5IDE3SDEweiIvPgogICAgPGNpcmNsZSBjeD0iMTciIGN5PSIxOSIgcj0iMyIvPgogIDwvZz4KPC9zdmc+\"","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import React, {useState} from 'react';\nimport '../styles/index.css';\nimport {ReactComponent as BoldIcon} from '../assets/icons/kg-bold.svg';\nimport {ReactComponent as ItalicIcon} from '../assets/icons/kg-italic.svg';\nimport {ReactComponent as HeadingOneIcon} from '../assets/icons/kg-heading-1.svg';\nimport {ReactComponent as HeadingTwoIcon} from '../assets/icons/kg-heading-2.svg';\nimport {ReactComponent as LinkIcon} from '../assets/icons/kg-link.svg';\nimport {ReactComponent as QuoteIcon} from '../assets/icons/kg-quote.svg';\nimport {ReactComponent as ImgRegularIcon} from '../assets/icons/kg-img-regular.svg';\nimport {ReactComponent as ImgWideIcon} from '../assets/icons/kg-img-wide.svg';\nimport {ReactComponent as ImgFullIcon} from '../assets/icons/kg-img-full.svg';\nimport {ReactComponent as ReplaceIcon} from '../assets/icons/kg-replace.svg';\nimport {ReactComponent as AddIcon} from '../assets/icons/kg-add.svg';\nimport {ReactComponent as SnippetIcon} from '../assets/icons/kg-snippet.svg';\nimport {ReactComponent as PlusIcon} from '../assets/icons/plus.svg';\nimport {ReactComponent as ImageCardIcon} from '../assets/icons/kg-card-type-image.svg';\nimport {ReactComponent as MarkdownCardIcon} from '../assets/icons/kg-card-type-markdown.svg';\nimport {ReactComponent as HtmlCardIcon} from '../assets/icons/kg-card-type-html.svg';\nimport {ReactComponent as GalleryCardIcon} from '../assets/icons/kg-card-type-gallery.svg';\nimport {ReactComponent as DividerCardIcon} from '../assets/icons/kg-card-type-divider.svg';\nimport {ReactComponent as BookmarkCardIcon} from '../assets/icons/kg-card-type-bookmark.svg';\nimport {ReactComponent as EmailCardIcon} from '../assets/icons/kg-card-type-email.svg';\nimport {ReactComponent as EmailCtaCardIcon} from '../assets/icons/kg-card-type-email-cta.svg';\nimport {ReactComponent as PreviewCardIcon} from '../assets/icons/kg-card-type-preview.svg';\nimport {ReactComponent as ButtonCardIcon} from '../assets/icons/kg-card-type-button.svg';\nimport {ReactComponent as CalloutCardIcon} from '../assets/icons/kg-card-type-callout.svg';\nimport {ReactComponent as GifCardIcon} from '../assets/icons/kg-card-type-gif.svg';\nimport {ReactComponent as ToggleCardIcon} from '../assets/icons/kg-card-type-toggle.svg';\nimport {ReactComponent as VideoCardIcon} from '../assets/icons/kg-card-type-video.svg';\nimport {ReactComponent as AudioCardIcon} from '../assets/icons/kg-card-type-audio.svg';\nimport {ReactComponent as FileCardIcon} from '../assets/icons/kg-card-type-file.svg';\nimport {ReactComponent as ProductCardIcon} from '../assets/icons/kg-card-type-product.svg';\nimport {ReactComponent as HeaderCardIcon} from '../assets/icons/kg-card-type-header.svg';\nimport {ReactComponent as YoutubeCardIcon} from '../assets/icons/kg-card-type-youtube.svg';\nimport {ReactComponent as TwitterCardIcon} from '../assets/icons/kg-card-type-twitter.svg';\nimport {ReactComponent as UnsplashCardIcon} from '../assets/icons/kg-card-type-unsplash.svg';\nimport {ReactComponent as VimeoCardIcon} from '../assets/icons/kg-card-type-vimeo.svg';\nimport {ReactComponent as CodepenCardIcon} from '../assets/icons/kg-card-type-codepen.svg';\nimport {ReactComponent as SpotifyCardIcon} from '../assets/icons/kg-card-type-spotify.svg';\nimport {ReactComponent as SoundcloudCardIcon} from '../assets/icons/kg-card-type-soundcloud.svg';\nimport {ReactComponent as NftCardIcon} from '../assets/icons/kg-card-type-nft.svg';\nimport {ReactComponent as OtherCardIcon} from '../assets/icons/kg-card-type-other.svg';\nimport {ReactComponent as SnippetCardIcon} from '../assets/icons/kg-card-type-snippet.svg';\nimport {ReactComponent as ImgPlaceholderIcon} from '../assets/icons/kg-img-placeholder.svg';\nimport {ReactComponent as GalleryPlaceholderIcon} from '../assets/icons/kg-gallery-placeholder.svg';\n\nconst DesignSandbox = () => {\n return (\n <div className=\"koenig-lexical\">\n <ComponentTitle label=\"Text toolbar\" />\n <TextToolbar />\n\n <ComponentTitle label=\"Image toolbar\" />\n <ImageToolbar />\n\n <ComponentTitle label=\"Gallery toolbar\" />\n <GalleryToolbar />\n\n <ComponentTitle label=\"Plus menu\" />\n <PlusButton />\n\n <ComponentTitle label=\"Card menu\" />\n <CardMenu />\n\n <ComponentTitle label=\"Divider card\" />\n <div className=\"relative max-w-[740px]\">\n <DividerCard />\n </div>\n\n <ComponentTitle label=\"Code block\" />\n <div className=\"relative max-w-[740px]\">\n <CodeBlock />\n </div>\n\n <ComponentTitle label=\"Image card\" />\n <div className=\"relative max-w-[740px]\">\n <ImageCard />\n </div>\n\n <ComponentTitle label=\"Gallery card\" />\n <div className=\"relative max-w-[1172px]\">\n <GalleryCard />\n </div>\n </div>\n );\n\n /* Component title\n /* ---------------------------------------------------------- */\n\n function ComponentTitle({label}) {\n return (\n <h3 className=\"mb-4 mt-20 text-xl font-bold first-of-type:mt-8\" >\n {label}\n </h3>\n );\n }\n\n /* Floating toolbar\n /* ---------------------------------------------------------- */\n\n function TextToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Format text as bold\" Icon={BoldIcon} />\n <ToolbarItem label=\"Format text as italics\" Icon={ItalicIcon} />\n <ToolbarItem label=\"Toggle heading 1\" Icon={HeadingOneIcon} />\n <ToolbarItem label=\"Toggle heading 2\" Icon={HeadingTwoIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Toggle blockquote\" Icon={QuoteIcon} />\n <ToolbarItem label=\"Insert link\" Icon={LinkIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function ImageToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Set image to regular\" Icon={ImgRegularIcon} />\n <ToolbarItem label=\"Set image to wide\" Icon={ImgWideIcon} />\n <ToolbarItem label=\"Set image to full\" Icon={ImgFullIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Insert link\" Icon={LinkIcon} />\n <ToolbarItem label=\"Replace image\" Icon={ReplaceIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function GalleryToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Add image\" Icon={AddIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function ToolbarItem({label, Icon, ...props}) {\n return (\n <li className=\"m-0 flex p-0 first:m-0\" {...props}>\n <div\n type=\"button\"\n className=\"flex h-9 w-9 items-center justify-center\"\n >\n <Icon className=\"fill-white\" />\n </div>\n </li>\n );\n }\n \n function ToolbarSeparator() {\n return (\n <li className=\"m-0 mx-1 h-5 w-px bg-grey-900\"></li>\n );\n }\n\n /* Plus button\n /* ---------------------------------------------------------- */\n\n function PlusButton() {\n return (\n <button\n type=\"button\"\n aria-label=\"Add a card\"\n className=\"group relative flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border border-grey bg-white transition-all ease-linear hover:border-grey-900 md:h-9 md:w-9\"\n >\n <PlusIcon className=\"h-4 w-4 stroke-grey-800 stroke-2 group-hover:stroke-grey-900\" />\n </button>\n );\n }\n\n /* Card menu\n /* ---------------------------------------------------------- */\n\n function CardMenu() {\n return (\n <div className=\"z-[9999999] m-0 mb-3 max-h-[376px] w-[312px] flex-col overflow-y-auto rounded-lg bg-white bg-clip-padding p-0 pt-0 text-sm shadow\">\n <CardMenuSection label=\"Primary\" />\n <CardMenuItem label=\"Image\" desc=\"Upload, or embed with /image [url]\" Icon={ImageCardIcon} />\n <CardMenuItem label=\"Markdown\" desc=\"Insert a Markdown editor card\" Icon={MarkdownCardIcon} />\n <CardMenuItem label=\"HTML\" desc=\"Insert a raw HTML card\" Icon={HtmlCardIcon} />\n <CardMenuItem label=\"Gallery\" desc=\"Create an image gallery\" Icon={GalleryCardIcon} />\n <CardMenuItem label=\"Divider\" desc=\"Insert a dividing line\" Icon={DividerCardIcon} />\n <CardMenuItem label=\"Bookmark\" desc=\"Embed a link as a visual bookmark\" Icon={BookmarkCardIcon} />\n <CardMenuItem label=\"Email content\" desc=\"Only visible when delivered by email\" Icon={EmailCardIcon} />\n <CardMenuItem label=\"Email call to action\" desc=\"Target free or paid members with a CTA\" Icon={EmailCtaCardIcon} />\n <CardMenuItem label=\"Public preview\" desc=\"Attract signups with a public intro\" Icon={PreviewCardIcon} />\n <CardMenuItem label=\"Button\" desc=\"Add a button to your post\" Icon={ButtonCardIcon} />\n <CardMenuItem label=\"Callout\" desc=\"Info boxes that stand out\" Icon={CalloutCardIcon} />\n <CardMenuItem label=\"GIF\" desc=\"Search and embed gifs\" Icon={GifCardIcon} />\n <CardMenuItem label=\"Toggle\" desc=\"Add collapsible content\" Icon={ToggleCardIcon} />\n <CardMenuItem label=\"Video\" desc=\"Upload and play a video\" Icon={VideoCardIcon} />\n <CardMenuItem label=\"Audio\" desc=\"Upload and play an audio file\" Icon={AudioCardIcon} />\n <CardMenuItem label=\"File\" desc=\"Upload a downloadable file\" Icon={FileCardIcon} />\n <CardMenuItem label=\"Product\" desc=\"Add a product recommendation\" Icon={ProductCardIcon} />\n <CardMenuItem label=\"Header\" desc=\"Add a bold section header\" Icon={HeaderCardIcon} />\n <CardMenuSection label=\"Embed\" />\n <CardMenuItem label=\"YouTube\" desc=\"/youtube [video url]\" Icon={YoutubeCardIcon} />\n <CardMenuItem label=\"Twitter\" desc=\"/twitter [tweet url]\" Icon={TwitterCardIcon} />\n <CardMenuItem label=\"Unsplash\" desc=\"/unsplash [search-term or url]\" Icon={UnsplashCardIcon} />\n <CardMenuItem label=\"Vimeo\" desc=\"/vimeo [video url]\" Icon={VimeoCardIcon} />\n <CardMenuItem label=\"CodePen\" desc=\"/codepen [pen url]\" Icon={CodepenCardIcon} />\n <CardMenuItem label=\"Spotify\" desc=\"/spotify [track or playlist url]\" Icon={SpotifyCardIcon} />\n <CardMenuItem label=\"SoundCloud\" desc=\"/soundcloud [track or playlist url]\" Icon={SoundcloudCardIcon} />\n <CardMenuItem label=\"NFT\" desc=\"/nft [opensea url]\" Icon={NftCardIcon} />\n <CardMenuItem label=\"Other...\" desc=\"/embed [url]\" Icon={OtherCardIcon} />\n <CardMenuSection label=\"Snippets\" />\n <CardSnippetItem label=\"A random snippet\" Icon={SnippetCardIcon} />\n </div>\n );\n }\n\n function CardMenuSection({label, ...props}) {\n return (\n <div className=\"mb-2 flex shrink-0 flex-col justify-center px-4 pt-3 text-xs font-medium uppercase tracking-[.06rem] text-grey\" style={{minWidth: 'calc(100% - 3.2rem)'}} {...props}>\n {label}\n </div>\n );\n }\n\n function CardMenuItem({label, desc, Icon, ...props}) {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-2 text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.333em] tracking-[.02rem] text-grey-900\">{label}</div>\n <div className=\"m-0 ml-4 truncate text-xs font-normal leading-[1.333em] tracking-[.02rem] text-grey\">{desc}</div>\n </div>\n </div>\n );\n }\n\n function CardSnippetItem({label, Icon, ...props}) {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-2 text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.333em] tracking-[.02rem] text-grey-900\">{label}</div>\n </div>\n </div>\n );\n }\n\n /* Divider card\n /* ---------------------------------------------------------- */\n\n function DividerCard() {\n return (\n <div>\n <hr className=\"block h-[1px] border-0 border-t border-grey-300\" />\n </div>\n );\n }\n\n /* Code block\n /* ---------------------------------------------------------- */\n\n function CodeBlock() {\n return (\n <div className=\"border-2 border-green\">\n <div className=\"rounded bg-grey-50 px-3 py-2\">\n <textarea className=\"w-full resize-none bg-grey-50 font-mono text-[1.7rem]\" />\n </div>\n <CaptionEditor placeholder=\"Type caption for code block (optional)\" />\n </div>\n );\n }\n\n /* Image card\n /* ---------------------------------------------------------- */\n\n function ImageCard() {\n const [isActive, setActive] = useState(false);\n const [altText, setAltText] = useState(false);\n\n const toggleActive = () => {\n setActive(!isActive);\n };\n\n const toggleAltText = (e) => {\n e.stopPropagation();\n setAltText(!altText);\n };\n\n if (isActive) {\n return (\n <div \n className={`border border-transparent ${isActive ? 'shadow-[0_0_0_2px_#30cf43]' : 'hover:shadow-[0_0_0_1px_#30cf43]'}`}\n onClick={toggleActive}>\n <MediaPlaceholder desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} />\n <CaptionEditor placeholder=\"Type caption for image (optional)\" />\n <button \n className={`absolute bottom-0 right-0 m-3 cursor-pointer rounded border px-1 text-[1.3rem] font-normal leading-7 tracking-wide transition-all duration-100 ${altText ? 'border-green bg-green text-white' : 'border-grey text-grey' } `}\n onClick={e => toggleAltText(e)}>\n Alt\n </button> \n </div>\n );\n } \n return (\n <div \n className={`border border-transparent ${isActive ? 'shadow-[0_0_0_2px_#30cf43]' : 'hover:shadow-[0_0_0_1px_#30cf43]'}`}\n onClick={toggleActive}>\n <MediaPlaceholder desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} /> \n </div>\n );\n }\n\n function MediaPlaceholder({desc, Icon, ...props}) {\n return (\n <div className=\"relative\">\n <figure className=\"cursor-pointer border border-transparent\" {...props}>\n <div className=\"h-100 relative flex items-center justify-center border border-grey-100 bg-grey-50 before:pb-[62.5%]\">\n <button className=\"group flex flex-col items-center justify-center p-20\">\n <Icon className=\"h-32 w-32 opacity-80 transition-all ease-linear group-hover:scale-105 group-hover:opacity-100\" />\n <p className=\"mt-4 text-sm font-normal text-grey-700 group-hover:text-grey-800\">{desc}</p>\n </button>\n </div>\n </figure>\n <form>\n <input\n type='file'\n accept='image/*'\n name=\"image\"\n hidden={true}\n />\n </form>\n </div>\n );\n }\n\n function CaptionEditor({placeholder}) {\n return (\n <input \n className=\"not-kg-prose w-full p-2 text-center font-sans text-sm font-normal tracking-wide text-grey-900\"\n placeholder={placeholder} \n />\n );\n }\n\n /* Gallery card\n /* ---------------------------------------------------------- */\n\n function GalleryCard() {\n return (\n <div className=\"border-2 border-green\">\n <MediaPlaceholder desc=\"Click to select up to 9 images\" Icon={GalleryPlaceholderIcon} />\n <CaptionEditor placeholder=\"Type caption for gallery (optional)\" />\n </div>\n );\n }\n};\n\nexport default DesignSandbox;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"react\");let d=c.createContext(null);exports.LexicalComposerContext=d;exports.createLexicalComposerContext=function(a,e){let b=null;null!=a&&(b=a[1]);return{getTheme:function(){return null!=e?e:null!=b?b.getTheme():null}}};\nexports.useLexicalComposerContext=function(){let a=c.useContext(d);if(null==a)throw Error(\"Minified Lexical error #8; visit https://lexical.dev/docs/error?code=8 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");return a}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalComposerContext = process.env.NODE_ENV === 'development' ? require('./LexicalComposerContext.dev.js') : require('./LexicalComposerContext.prod.js')\nmodule.exports = LexicalComposerContext;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';let ba={},ca={},da={},ea={},ha={},ia={},ja={},ka={},la={},na={},p={},oa={},pa={},qa={},ra={},sa={},ta={},ua={},va={},ya={},za={},Aa={},Ba={},Ca={},Da={},Ea={},Fa={},Ga={},Ha={},Ia={},Ja={},Ka={},La={},Ma={};function r(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}\nlet t=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,Na=t&&\"documentMode\"in document?document.documentMode:null,u=t&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Oa=t&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),Pa=t&&\"InputEvent\"in window&&!Na?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,Qa=t&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Ra=t&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,\nTa=Qa||Ra?\"\\u00a0\":\"\\u200b\",Ua=Oa?\"\\u00a0\":Ta,Va=/^[^A-Za-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u0300-\\u0590\\u0800-\\u1fff\\u200e\\u2c00-\\ufb1c\\ufe00-\\ufe6f\\ufefd-\\uffff]*[\\u0591-\\u07ff\\ufb1d-\\ufdfd\\ufe70-\\ufefc]/,Wa=/^[^\\u0591-\\u07ff\\ufb1d-\\ufdfd\\ufe70-\\ufefc]*[A-Za-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u0300-\\u0590\\u0800-\\u1fff\\u200e\\u2c00-\\ufb1c\\ufe00-\\ufe6f\\ufefd-\\uffff]/,Xa={bold:1,code:16,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},Ya={directionless:1,unmergeable:2},\nZa={center:2,justify:4,left:1,right:3},$a={2:\"center\",4:\"justify\",1:\"left\",3:\"right\"},ab={normal:0,segmented:2,token:1},bb={0:\"normal\",2:\"segmented\",1:\"token\"},cb=!1,db=0;function eb(a){db=a.timeStamp}function fb(a,b,c){return b.__lexicalLineBreak===a||void 0!==a[`__lexicalKey_${c._key}`]}function gb(a){return a.getEditorState().read(()=>{let b=x();return null!==b?b.clone():null})}\nfunction hb(a,b,c){cb=!0;let d=100<performance.now()-db;try{A(a,()=>{let e=x()||gb(a);var f=new Map,g=a.getRootElement(),h=a._editorState;let k=!1,m=\"\";for(var l=0;l<b.length;l++){var n=b[l],q=n.type,v=n.target,w=ib(v,h);if(!(null===w&&v!==g||C(w)))if(\"characterData\"===q){if(n=d&&D(w))a:{n=e;q=v;var y=w;if(E(n)){var z=n.anchor.getNode();if(z.is(y)&&n.format!==z.getFormat()){n=!1;break a}}n=3===q.nodeType&&y.isAttached()}n&&(y=t?window.getSelection():null,q=n=null,null!==y&&y.anchorNode===v&&(n=y.anchorOffset,\nq=y.focusOffset),v=v.nodeValue,null!==v&&jb(w,v,n,q,!1))}else if(\"childList\"===q){k=!0;q=n.addedNodes;for(y=0;y<q.length;y++){z=q[y];var B=kb(z),F=z.parentNode;null==F||null!==B||\"BR\"===z.nodeName&&fb(z,F,a)||(Oa&&(B=z.innerText||z.nodeValue)&&(m+=B),F.removeChild(z))}n=n.removedNodes;q=n.length;if(0<q){y=0;for(z=0;z<q;z++)F=n[z],\"BR\"===F.nodeName&&fb(F,v,a)&&(v.appendChild(F),y++);q!==y&&(v===g&&(w=h._nodeMap.get(\"root\")),f.set(v,w))}}}if(0<f.size)for(let [T,aa]of f)if(G(aa))for(f=aa.__children,\ng=T.firstChild,h=0;h<f.length;h++)l=a.getElementByKey(f[h]),null!==l&&(null==g?(T.appendChild(l),g=l):g!==l&&T.replaceChild(l,g),g=g.nextSibling);else D(aa)&&aa.markDirty();f=c.takeRecords();if(0<f.length){for(g=0;g<f.length;g++)for(l=f[g],h=l.addedNodes,l=l.target,w=0;w<h.length;w++)v=h[w],n=v.parentNode,null==n||\"BR\"!==v.nodeName||fb(v,l,a)||n.removeChild(v);c.takeRecords()}null!==e&&(k&&(e.dirty=!0,lb(e)),Oa&&mb(a)&&e.insertRawText(m))})}finally{cb=!1}}\nfunction nb(a){let b=a._observer;if(null!==b){let c=b.takeRecords();hb(a,c,b)}}function sb(a){0===db&&tb(a).addEventListener(\"textInput\",eb,!0);a._observer=new MutationObserver((b,c)=>{hb(a,b,c)})}let ub=1,vb=\"function\"===typeof queueMicrotask?queueMicrotask:a=>{Promise.resolve().then(a)};\nfunction wb(a,b,c){let d=a.getRootElement();try{var e;if(e=null!==d&&d.contains(b)&&d.contains(c)&&null!==b){let f=document.activeElement,g=null!==f?f.nodeName:null;e=!C(ib(b))||\"INPUT\"!==g&&\"TEXTAREA\"!==g}return e&&xb(b)===a}catch(f){return!1}}function xb(a){for(;null!=a;){let b=a.__lexicalEditor;if(null!=b)return b;a=a.parentNode}return null}function yb(a){return a.isToken()||a.isSegmented()}function zb(a){for(;null!=a;){if(3===a.nodeType)return a;a=a.firstChild}return null}\nfunction Ab(a,b,c){b=Xa[b];return a&b&&(null===c||0===(c&b))?a^b:null===c||c&b?a|b:a}function Bb(a){return D(a)||Cb(a)||C(a)}function Db(a,b){if(null!=b)a.__key=b;else{H();99<Eb&&r(14);b=I();var c=J(),d=\"\"+ub++;c._nodeMap.set(d,a);G(a)?b._dirtyElements.set(d,!0):b._dirtyLeaves.add(d);b._cloneNotNeeded.add(d);b._dirtyType=1;a.__key=d}}function Fb(a){var b=a.getParent();if(null!==b){b=b.getWritable().__children;let c=b.indexOf(a.__key);-1===c&&r(31);Gb(a);b.splice(c,1)}}\nfunction Hb(a){99<Eb&&r(14);var b=a.getLatest(),c=b.__parent,d=J();let e=I(),f=d._nodeMap;d=e._dirtyElements;if(null!==c)a:for(;null!==c;){if(d.has(c))break a;let g=f.get(c);if(void 0===g)break;d.set(c,!1);c=g.__parent}b=b.__key;e._dirtyType=1;G(a)?d.set(b,!0):e._dirtyLeaves.add(b)}function Gb(a){let b=a.getPreviousSibling();a=a.getNextSibling();null!==b&&Hb(b);null!==a&&Hb(a)}\nfunction K(a){H();var b=I();let c=b._compositionKey;a!==c&&(b._compositionKey=a,null!==c&&(b=L(c),null!==b&&b.getWritable()),null!==a&&(a=L(a),null!==a&&a.getWritable()))}function Ib(){return M?null:I()._compositionKey}function L(a,b){a=(b||J())._nodeMap.get(a);return void 0===a?null:a}function kb(a,b){let c=I();a=a[`__lexicalKey_${c._key}`];return void 0!==a?L(a,b):null}function ib(a,b){for(;null!=a;){let c=kb(a,b);if(null!==c)return c;a=a.parentNode}return null}\nfunction Jb(a){let b=Object.assign({},a._decorators);return a._pendingDecorators=b}function Kb(a){return a.read(()=>Lb().getTextContent())}function Mb(a,b){A(a,()=>{var c=J();if(!c.isEmpty())if(\"root\"===b)Lb().markDirty();else{c=c._nodeMap;for(let [,d]of c)d.markDirty()}},null===a._pendingEditorState?{tag:\"history-merge\"}:void 0)}function Lb(){return J()._nodeMap.get(\"root\")}function lb(a){let b=J();null!==a&&(a.dirty=!0,a._cachedNodes=null);b._selection=a}\nfunction Nb(a){var b=I(),c;a:{for(c=a;null!=c;){let d=c[`__lexicalKey_${b._key}`];if(void 0!==d){c=d;break a}c=c.parentNode}c=null}return null===c?(b=b.getRootElement(),a===b?L(\"root\"):null):L(c)}function Ob(a){return/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g.test(a)}function Pb(a){let b=[];for(;null!==a;)b.push(a),a=a._parentEditor;return b}function Qb(){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,5)}\nfunction Rb(a,b){var c=t?window.getSelection():null;if(null!==c){var d=c.anchorNode,{anchorOffset:e,focusOffset:f}=c;if(null!==d&&3===d.nodeType&&(c=ib(d),D(c))){d=d.nodeValue;if(d===Ta&&b){let g=b.length;d=b;f=e=g}null!==d&&jb(c,d,e,f,a)}}}\nfunction jb(a,b,c,d,e){let f=a;if(f.isAttached()&&(e||!f.isDirty())){var g=f.isComposing();a=b;(g||e)&&b[b.length-1]===Ta&&(a=b.slice(0,-1));b=f.getTextContent();if(e||a!==b)if(\"\"===a)if(K(null),Qa||Ra)f.remove();else{let h=I();setTimeout(()=>{h.update(()=>{f.isAttached()&&f.remove()})},20)}else e=f.getParent(),b=Sb(),f.isToken()||null!==Ib()&&!g||null!==e&&E(b)&&!e.canInsertTextBefore()&&0===b.anchor.offset?f.markDirty():(g=x(),E(g)&&null!==c&&null!==d&&(g.setTextNodeRange(f,c,f,d),f.isSegmented()&&\n(c=f.getTextContent(),c=N(c),f.replace(c),f=c)),f.setTextContent(a))}}function Tb(a,b){if(b.isSegmented())return!0;if(!a.isCollapsed())return!1;a=a.anchor.offset;let c=b.getParentOrThrow(),d=b.isToken();return 0===a?((a=!b.canInsertTextBefore()||!c.canInsertTextBefore()||d)||(b=b.getPreviousSibling(),a=(D(b)||G(b)&&b.isInline())&&!b.canInsertTextAfter()),a):a===b.getTextContentSize()?!b.canInsertTextAfter()||!c.canInsertTextAfter()||d:!1}\nfunction Ub(a,b){let c=a.anchor,d=a.focus,e=c.getNode();var f=t?window.getSelection():null;f=null!==f?f.anchorNode:null;let g=c.key,h=I().getElementByKey(g),k=b.length;return g!==d.key||!D(e)||(2>k||Ob(b))&&c.offset!==d.offset&&!e.isComposing()||yb(e)||e.isDirty()&&1<k||null!==h&&!e.isComposing()&&f!==zb(h)||e.getFormat()!==a.format||Tb(a,e)}function Vb(a,b){var c=a[b];return\"string\"===typeof c?(c=c.split(\" \"),a[b]=c):c}\nfunction Wb(a,b,c,d,e){0!==c.size&&(c=d.__key,b=b.get(d.__type),void 0===b&&r(33),b=b.klass,d=a.get(b),void 0===d&&(d=new Map,a.set(b,d)),d.has(c)||d.set(c,e))}function Xb(a,b,c){let d=a.getParent(),e=c;null!==d&&(b&&0===c?(e=a.getIndexWithinParent(),a=d):b||c!==a.getChildrenSize()||(e=a.getIndexWithinParent()+1,a=d));return a.getChildAtIndex(b?e-1:e)}\nfunction Yb(a,b){var c=a.offset;if(\"element\"===a.type)return a=a.getNode(),Xb(a,b,c);a=a.getNode();return b&&0===c||!b&&c===a.getTextContentSize()?(c=b?a.getPreviousSibling():a.getNextSibling(),null===c?Xb(a.getParentOrThrow(),b,a.getIndexWithinParent()+(b?0:1)):c):null}function mb(a){a=(a=tb(a).event)&&a.inputType;return\"insertFromPaste\"===a||\"insertFromPasteAsQuotation\"===a}function Zb(a){return!O(a)&&!a.isLastChild()&&!a.isInline()}\nfunction $b(a,b){a=a._keyToDOMMap.get(b);void 0===a&&r(75);return a}function ac(a,b=0){0!==b&&r(1);b=x();if(!E(b)||!G(a))return b;let {anchor:c,focus:d}=b,e=c.getNode(),f=d.getNode();bc(e,a)&&c.set(a.__key,0,\"element\");bc(f,a)&&d.set(a.__key,0,\"element\");return b}function bc(a,b){for(a=a.getParent();null!==a;){if(a.is(b))return!0;a=a.getParent()}return!1}function tb(a){a=a._window;null===a&&r(78);return a}\nfunction cc(a){for(a=a.getParentOrThrow();null!==a&&!ic(a);)a=a.getParentOrThrow();return a}function ic(a){return O(a)||G(a)&&a.isShadowRoot()}function jc(a){var b=I();let c=a.constructor.getType();b=b._nodes.get(c);void 0===b&&r(97);b=b.replace;return null!==b?(b=b(a),b instanceof a.constructor||r(98),b):a}function kc(a,b){a=a.getParent();if(O(a)&&!G(b)&&!C(b))throw Error(\"Only element or decorator nodes can be inserted in to the root node\");}\nfunction lc(a,b,c,d,e){a=a.__children;let f=a.length;for(let g=0;g<f;g++){let h=a[g],k=d.get(h);void 0!==k&&k.__parent===b&&(G(k)&&lc(k,h,c,d,e),c.has(h)||e.delete(h),d.delete(h))}}function mc(a,b,c,d){a=a._nodeMap;b=b._nodeMap;for(let e of c){let f=b.get(e);void 0===f||f.isAttached()||(a.has(e)||c.delete(e),b.delete(e))}for(let [e]of d)c=b.get(e),void 0===c||c.isAttached()||(G(c)&&lc(c,e,a,b,d),a.has(e)||d.delete(e),b.delete(e))}\nfunction nc(a,b){let c=a.__mode,d=a.__format;a=a.__style;let e=b.__mode,f=b.__format;b=b.__style;return(null===c||c===e)&&(null===d||d===f)&&(null===a||a===b)}function oc(a,b){let c=a.mergeWithSibling(b),d=I()._normalizedNodes;d.add(a.__key);d.add(b.__key);return c}\nfunction pc(a){if(\"\"===a.__text&&a.isSimpleText()&&!a.isUnmergeable())a.remove();else{for(var b;null!==(b=a.getPreviousSibling())&&D(b)&&b.isSimpleText()&&!b.isUnmergeable();)if(\"\"===b.__text)b.remove();else{nc(b,a)&&(a=oc(b,a));break}for(var c;null!==(c=a.getNextSibling())&&D(c)&&c.isSimpleText()&&!c.isUnmergeable();)if(\"\"===c.__text)c.remove();else{nc(a,c)&&oc(a,c);break}}}function qc(a){rc(a.anchor);rc(a.focus);return a}\nfunction rc(a){for(;\"element\"===a.type;){var b=a.getNode(),c=a.offset;c===b.getChildrenSize()?(b=b.getChildAtIndex(c-1),c=!0):(b=b.getChildAtIndex(c),c=!1);if(D(b)){a.set(b.__key,c?b.getTextContentSize():0,\"text\");break}else if(!G(b))break;a.set(b.__key,c?b.getChildrenSize():0,\"element\")}}let P=\"\",Q=\"\",R=\"\",sc,S,tc,uc=!1,vc=!1,wc,xc=null,yc,zc,Ac,Bc,Cc,Dc;\nfunction Ec(a,b){let c=Ac.get(a);if(null!==b){let d=Fc(a);b.removeChild(d)}Bc.has(a)||S._keyToDOMMap.delete(a);G(c)&&(a=c.__children,Gc(a,0,a.length-1,null));void 0!==c&&Wb(Dc,tc,wc,c,\"destroyed\")}function Gc(a,b,c,d){for(;b<=c;++b){let e=a[b];void 0!==e&&Ec(e,d)}}function Hc(a,b){a.setProperty(\"text-align\",b)}function Ic(a,b){a.style.setProperty(\"padding-inline-start\",0===b?\"\":20*b+\"px\")}\nfunction Jc(a,b){a=a.style;0===b?Hc(a,\"\"):1===b?Hc(a,\"left\"):2===b?Hc(a,\"center\"):3===b?Hc(a,\"right\"):4===b&&Hc(a,\"justify\")}\nfunction Kc(a,b,c){let d=Bc.get(a);void 0===d&&r(60);let e=d.createDOM(sc,S);var f=S._keyToDOMMap;e[\"__lexicalKey_\"+S._key]=a;f.set(a,e);D(d)?e.setAttribute(\"data-lexical-text\",\"true\"):C(d)&&e.setAttribute(\"data-lexical-decorator\",\"true\");if(G(d)){a=d.__indent;0!==a&&Ic(e,a);a=d.__children;var g=a.length;if(0!==g){f=a;--g;let h=Q;Q=\"\";Lc(f,0,g,e,null);Mc(d,e);Q=h}f=d.__format;0!==f&&Jc(e,f);d.isInline()||Nc(null,a,e);Zb(d)&&(P+=\"\\n\\n\",R+=\"\\n\\n\")}else f=d.getTextContent(),C(d)?(g=d.decorate(S,sc),\nnull!==g&&Oc(a,g),e.contentEditable=\"false\"):D(d)&&(d.isDirectionless()||(Q+=f)),P+=f,R+=f;null!==b&&(null!=c?b.insertBefore(e,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(e,c):b.appendChild(e)));Wb(Dc,tc,wc,d,\"created\");return e}function Lc(a,b,c,d,e){let f=P;for(P=\"\";b<=c;++b)Kc(a[b],d,e);d.__lexicalTextContent=P;P=f+P}function Pc(a,b){a=b.get(a[a.length-1]);return Cb(a)||C(a)&&a.isInline()}\nfunction Nc(a,b,c){a=null!==a&&(0===a.length||Pc(a,Ac));b=null!==b&&(0===b.length||Pc(b,Bc));a?b||(b=c.__lexicalLineBreak,null!=b&&c.removeChild(b),c.__lexicalLineBreak=null):b&&(b=document.createElement(\"br\"),c.__lexicalLineBreak=b,c.appendChild(b))}\nfunction Mc(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==Q||c!==xc){let f=\"\"===Q;if(f)var d=xc;else d=Q,d=Va.test(d)?\"rtl\":Wa.test(d)?\"ltr\":null;if(d!==c){let g=b.classList,h=sc.theme;var e=null!==c?h[c]:void 0;let k=null!==d?h[d]:void 0;void 0!==e&&(\"string\"===typeof e&&(e=e.split(\" \"),e=h[c]=e),g.remove(...e));null===d||f&&\"ltr\"===d?b.removeAttribute(\"dir\"):(void 0!==k&&(\"string\"===typeof k&&(c=k.split(\" \"),k=h[d]=c),void 0!==k&&g.add(...k)),b.dir=d);vc||(a.getWritable().__dir=d)}xc=\nd;b.__lexicalDirTextContent=Q;b.__lexicalDir=d}}\nfunction Qc(a,b){var c=Ac.get(a),d=Bc.get(a);void 0!==c&&void 0!==d||r(61);var e=uc||zc.has(a)||yc.has(a);let f=$b(S,a);if(c===d&&!e)return G(c)?(d=f.__lexicalTextContent,void 0!==d&&(P+=d,R+=d),d=f.__lexicalDirTextContent,void 0!==d&&(Q+=d)):(d=c.getTextContent(),D(c)&&!c.isDirectionless()&&(Q+=d),R+=d,P+=d),f;c!==d&&e&&Wb(Dc,tc,wc,d,\"updated\");if(d.updateDOM(c,f,sc))return d=Kc(a,null,null),null===b&&r(62),b.replaceChild(d,f),Ec(a,null),d;if(G(c)&&G(d)){a=d.__indent;a!==c.__indent&&Ic(f,a);a=d.__format;\na!==c.__format&&Jc(f,a);a=c.__children;c=d.__children;if(a!==c||e){var g=a,h=c;e=d;b=Q;Q=\"\";let v=P;P=\"\";var k=g.length,m=h.length;if(1===k&&1===m){var l=g[0];h=h[0];if(l===h)Qc(l,f);else{var n=Fc(l);h=Kc(h,null,null);f.replaceChild(h,n);Ec(l,null)}}else if(0===k)0!==m&&Lc(h,0,m-1,f,null);else if(0===m)0!==k&&(l=null==f.__lexicalLineBreak,Gc(g,0,k-1,l?null:f),l&&(f.textContent=\"\"));else{let w=k-1;k=m-1;let y=f.firstChild,z=0;for(m=0;z<=w&&m<=k;){var q=g[z];let B=h[m];if(q===B)y=Qc(B,f).nextSibling,\nz++,m++;else{void 0===l&&(l=new Set(g));void 0===n&&(n=new Set(h));let F=n.has(q),T=l.has(B);F?(T?(q=$b(S,B),q===y?y=Qc(B,f).nextSibling:(null!=y?f.insertBefore(q,y):f.appendChild(q),Qc(B,f)),z++):Kc(B,f,y),m++):(y=Fc(q).nextSibling,Ec(q,f),z++)}}l=z>w;n=m>k;l&&!n?(l=h[k+1],l=void 0===l?null:S.getElementByKey(l),Lc(h,m,k,f,l)):n&&!l&&Gc(g,z,w,f)}Zb(e)&&(P+=\"\\n\\n\");f.__lexicalTextContent=P;P=v+P;Mc(e,f);Q=b;O(d)||d.isInline()||Nc(a,c,f)}Zb(d)&&(P+=\"\\n\\n\",R+=\"\\n\\n\")}else c=d.getTextContent(),C(d)?(e=\nd.decorate(S,sc),null!==e&&Oc(a,e)):D(d)&&!d.isDirectionless()&&(Q+=c),P+=c,R+=c;!vc&&O(d)&&d.__cachedText!==R&&(d=d.getWritable(),d.__cachedText=R);return f}function Oc(a,b){let c=S._pendingDecorators,d=S._decorators;if(null===c){if(d[a]===b)return;c=Jb(S)}c[a]=b}function Fc(a){a=Cc.get(a);void 0===a&&r(75);return a}\nlet U=Object.freeze({}),Xc=[[\"keydown\",Rc],[\"mousedown\",Sc],[\"compositionstart\",Tc],[\"compositionend\",Uc],[\"input\",Vc],[\"click\",Wc],[\"cut\",U],[\"copy\",U],[\"dragstart\",U],[\"dragover\",U],[\"dragend\",U],[\"paste\",U],[\"focus\",U],[\"blur\",U],[\"drop\",U]];Pa&&Xc.push([\"beforeinput\",(a,b)=>Yc(a,b)]);let Zc=0,$c=0,ad=0,bd=!1,cd=!1,dd=!1,ed=!1,fd=[0,0,\"root\",0];function gd(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}\nfunction hd(a,b,c){let {anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g}=a;if(bd&&(bd=!1,gd(d,e)&&gd(f,g)))return;A(b,()=>{if(!c)lb(null);else if(wb(b,d,f)){var h=x();if(E(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){\"Range\"===a.type&&a.anchorNode===a.focusNode&&(h.dirty=!0);var l=tb(b).event;l=l?l.timeStamp:performance.now();let [n,q,v,w]=fd;l<w+200&&k.offset===q&&k.key===v?h.format=n:\"text\"===k.type?h.format=m.getFormat():\"element\"===k.type&&(h.format=0)}else{k=127;m=!1;l=h.getNodes();\nlet n=l.length;for(let q=0;q<n;q++){let v=l[q];if(D(v)&&(m=!0,k&=v.getFormat(),0===k))break}h.format=m?k:0}}V(b,ba,void 0)}})}function Wc(a,b){A(b,()=>{let c=x(),d=t?window.getSelection():null,e=Sb();if(E(c)){let f=c.anchor,g=f.getNode();d&&\"element\"===f.type&&0===f.offset&&c.isCollapsed()&&!O(g)&&1===Lb().getChildrenSize()&&g.getTopLevelElementOrThrow().isEmpty()&&null!==e&&c.is(e)&&(d.removeAllRanges(),c.dirty=!0)}V(b,ca,a)})}\nfunction Sc(a,b){let c=a.target;c instanceof Node&&A(b,()=>{C(ib(c))||(cd=!0)})}function id(a,b){b.getTargetRanges&&(b=b.getTargetRanges()[0])&&a.applyDOMRange(b)}function jd(a,b){return a!==b||G(a)||G(b)||!a.isToken()||!b.isToken()}\nfunction Yc(a,b){let c=a.inputType;\"deleteCompositionText\"===c||Oa&&mb(b)||\"insertCompositionText\"!==c&&A(b,()=>{let d=x();if(\"deleteContentBackward\"===c){if(null===d){var e=Sb();if(!E(e))return;lb(e.clone())}if(E(d)){229===$c&&a.timeStamp<Zc+30&&b.isComposing()&&d.anchor.key===d.focus.key?(K(null),Zc=0,setTimeout(()=>{A(b,()=>{K(null)})},30),E(d)&&(e=d.anchor.getNode(),e.markDirty(),d.format=e.getFormat())):(a.preventDefault(),V(b,da,!0));return}}if(E(d)){e=a.data;d.dirty||!d.isCollapsed()||O(d.anchor.getNode())||\nid(d,a);var f=d.focus,g=d.anchor.getNode();f=f.getNode();if(\"insertText\"===c||\"insertTranspose\"===c)\"\\n\"===e?(a.preventDefault(),V(b,ea,!1)):\"\\n\\n\"===e?(a.preventDefault(),V(b,ha,void 0)):null==e&&a.dataTransfer?(e=a.dataTransfer.getData(\"text/plain\"),a.preventDefault(),d.insertRawText(e)):null!=e&&Ub(d,e)&&(a.preventDefault(),V(b,ia,e));else switch(a.preventDefault(),c){case \"insertFromYank\":case \"insertFromDrop\":case \"insertReplacementText\":V(b,ia,a);break;case \"insertFromComposition\":K(null);V(b,\nia,a);break;case \"insertLineBreak\":K(null);V(b,ea,!1);break;case \"insertParagraph\":K(null);dd?(dd=!1,V(b,ea,!1)):V(b,ha,void 0);break;case \"insertFromPaste\":case \"insertFromPasteAsQuotation\":V(b,ja,a);break;case \"deleteByComposition\":jd(g,f)&&V(b,ka,void 0);break;case \"deleteByDrag\":case \"deleteByCut\":V(b,ka,void 0);break;case \"deleteContent\":V(b,da,!1);break;case \"deleteWordBackward\":V(b,la,!0);break;case \"deleteWordForward\":V(b,la,!1);break;case \"deleteHardLineBackward\":case \"deleteSoftLineBackward\":V(b,\nna,!0);break;case \"deleteContentForward\":case \"deleteHardLineForward\":case \"deleteSoftLineForward\":V(b,na,!1);break;case \"formatStrikeThrough\":V(b,p,\"strikethrough\");break;case \"formatBold\":V(b,p,\"bold\");break;case \"formatItalic\":V(b,p,\"italic\");break;case \"formatUnderline\":V(b,p,\"underline\");break;case \"historyUndo\":V(b,oa,void 0);break;case \"historyRedo\":V(b,pa,void 0)}}})}\nfunction Vc(a,b){a.stopPropagation();A(b,()=>{var c=x(),d=a.data;null!=d&&E(c)&&Ub(c,d)?(ed&&(kd(b,d),ed=!1),V(b,ia,d),d=d.length,Oa&&1<d&&\"insertCompositionText\"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=d),Qa||Ra||!b.isComposing()||(Zc=0,K(null))):(Rb(!1),ed&&(kd(b,d||void 0),ed=!1));H();c=I();nb(c)})}\nfunction Tc(a,b){A(b,()=>{let c=x();if(E(c)&&!b.isComposing()){let d=c.anchor;K(d.key);(a.timeStamp<Zc+30||\"element\"===d.type||!c.isCollapsed()||c.anchor.getNode().getFormat()!==c.format)&&V(b,ia,Ua)}})}\nfunction kd(a,b){var c=a._compositionKey;K(null);if(null!==c&&null!=b){if(\"\"===b){b=L(c);a=zb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&D(b)&&jb(b,a.nodeValue,null,null,!0);return}if(\"\\n\"===b[b.length-1]&&(c=x(),E(c))){b=c.focus;c.anchor.set(b.key,b.offset,b.type);V(a,ya,null);return}}Rb(!0,b)}function Uc(a,b){Oa?ed=!0:A(b,()=>{kd(b,a.data)})}\nfunction Rc(a,b){Zc=a.timeStamp;$c=a.keyCode;if(!b.isComposing()){var {keyCode:c,shiftKey:d,ctrlKey:e,metaKey:f,altKey:g}=a;if(39!==c||e||f||g)if(39!==c||g||d||!e&&!f)if(37!==c||e||f||g)if(37!==c||g||d||!e&&!f)if(38!==c||e||f)if(40!==c||e||f)if(13===c&&d)dd=!0,V(b,ya,a);else if(32===c)V(b,za,a);else if(u&&e&&79===c)a.preventDefault(),dd=!0,V(b,ea,!0);else if(13!==c||d){var h=u?g||f?!1:8===c||72===c&&e:e||g||f?!1:8===c;h?8===c?V(b,Aa,a):(a.preventDefault(),V(b,da,!0)):27===c?V(b,Ba,a):(h=u?d||g||f?\n!1:46===c||68===c&&e:e||g||f?!1:46===c,h?46===c?V(b,Ca,a):(a.preventDefault(),V(b,da,!1)):8===c&&(u?g:e)?(a.preventDefault(),V(b,la,!0)):46===c&&(u?g:e)?(a.preventDefault(),V(b,la,!1)):u&&f&&8===c?(a.preventDefault(),V(b,na,!0)):u&&f&&46===c?(a.preventDefault(),V(b,na,!1)):66===c&&!g&&(u?f:e)?(a.preventDefault(),V(b,p,\"bold\")):85===c&&!g&&(u?f:e)?(a.preventDefault(),V(b,p,\"underline\")):73===c&&!g&&(u?f:e)?(a.preventDefault(),V(b,p,\"italic\")):9!==c||g||e||f?90===c&&!d&&(u?f:e)?(a.preventDefault(),\nV(b,oa,void 0)):(h=u?90===c&&f&&d:89===c&&e||90===c&&e&&d,h?(a.preventDefault(),V(b,pa,void 0)):ld(b._editorState._selection)&&(h=d?!1:67===c?u?f:e:!1,h?(a.preventDefault(),V(b,Ia,a)):(h=d?!1:88===c?u?f:e:!1,h&&(a.preventDefault(),V(b,Ja,a))))):V(b,Da,a))}else dd=!1,V(b,ya,a);else V(b,va,a);else V(b,ua,a);else V(b,ta,a);else V(b,sa,a);else V(b,ra,a);else V(b,qa,a);(e||d||g||f)&&V(b,Ma,a)}}function md(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let nd=new Map;\nfunction od(){let a=t?window.getSelection():null;if(null!==a){var b=xb(a.anchorNode);if(null!==b){cd&&(cd=!1,A(b,()=>{var g=Sb(),h=a.anchorNode;null!==h&&(h=h.nodeType,1===h||3===h)&&(g=pd(g,a,b),lb(g))}));var c=Pb(b);c=c[c.length-1];var d=c._key,e=nd.get(d),f=e||c;f!==b&&hd(a,f,!1);hd(a,b,!0);b!==c?nd.set(d,b):e&&nd.delete(d)}}}\nfunction qd(a,b){0===ad&&a.ownerDocument.addEventListener(\"selectionchange\",od);ad++;a.__lexicalEditor=b;let c=md(a);for(let d=0;d<Xc.length;d++){let [e,f]=Xc[d],g=\"function\"===typeof f?h=>{!0!==h._lexicalHandled&&(h._lexicalHandled=!0,b.isEditable()&&f(h,b))}:h=>{if(!0!==h._lexicalHandled&&(h._lexicalHandled=!0,b.isEditable()))switch(e){case \"cut\":return V(b,Ja,h);case \"copy\":return V(b,Ia,h);case \"paste\":return V(b,ja,h);case \"dragstart\":return V(b,Fa,h);case \"dragover\":return V(b,Ga,h);case \"dragend\":return V(b,\nHa,h);case \"focus\":return V(b,Ka,h);case \"blur\":return V(b,La,h);case \"drop\":return V(b,Ea,h)}};a.addEventListener(e,g);c.push(()=>{a.removeEventListener(e,g)})}}\nclass X{constructor(a,b,c){this._selection=null;this.key=a;this.offset=b;this.type=c}is(a){return this.key===a.key&&this.offset===a.offset&&this.type===a.type}isBefore(a){let b=this.getNode(),c=a.getNode(),d=this.offset;a=a.offset;if(G(b)){var e=b.getDescendantByIndex(d);b=null!=e?e:b}G(c)&&(e=c.getDescendantByIndex(a),c=null!=e?e:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=L(this.key);null===a&&r(20);return a}set(a,b,c){let d=this._selection,e=this.key;this.key=a;this.offset=b;this.type=c;\nM||(Ib()===e&&K(a),null!==d&&(d._cachedNodes=null,d.dirty=!0))}}function rd(a,b){let c=b.__key,d=a.offset,e=\"element\";if(D(b))e=\"text\",b=b.getTextContentSize(),d>b&&(d=b);else if(!G(b)){var f=b.getNextSibling();if(D(f))c=f.__key,d=0;else if(f=b.getParent())c=f.__key,d=b.getIndexWithinParent()+1}a.set(c,d,e)}function sd(a,b){if(G(b)){let c=b.getLastDescendant();G(c)||D(c)?rd(a,c):rd(a,b)}else rd(a,b)}\nfunction td(a,b,c){let d=a.getNode(),e=d.getChildAtIndex(a.offset),f=N(),g=O(d)?ud().append(f):f;f.setFormat(c);null===e?d.append(g):e.insertBefore(g);a.is(b)&&b.set(f.__key,0,\"text\");a.set(f.__key,0,\"text\")}function vd(a,b,c,d){a.key=b;a.offset=c;a.type=d}\nclass wd{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}is(a){if(!ld(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}add(a){this.dirty=!0;this._nodes.add(a);this._cachedNodes=null}delete(a){this.dirty=!0;this._nodes.delete(a);this._cachedNodes=null}clear(){this.dirty=!0;this._nodes.clear();this._cachedNodes=null}has(a){return this._nodes.has(a)}clone(){return new wd(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){let c=this.getNodes(),d=c.length;var e=c[d-1];if(D(e))e=e.select();else{let f=e.getIndexWithinParent()+1;e=e.getParentOrThrow().select(f,f)}e.insertNodes(a,b);for(a=0;a<d;a++)c[a].remove();return!0}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=L(c),null!==b&&a.push(b);M||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function E(a){return a instanceof xd}\nclass yd{constructor(a,b,c){this.gridKey=a;this.anchor=b;this.focus=c;this.dirty=!1;this._cachedNodes=null;b._selection=this;c._selection=this}is(a){return zd(a)?this.gridKey===a.gridKey&&this.anchor.is(a.anchor)&&this.focus.is(a.focus):!1}set(a,b,c){this.dirty=!0;this.gridKey=a;this.anchor.key=b;this.focus.key=c;this._cachedNodes=null}clone(){return new yd(this.gridKey,this.anchor,this.focus)}isCollapsed(){return!1}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return Ad(this)}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){let c=this.focus.getNode();return qc(c.select(0,c.getChildrenSize())).insertNodes(a,b)}getShape(){var a=L(this.anchor.key);null===a&&r(21);var b=a.getIndexWithinParent();a=a.getParentOrThrow().getIndexWithinParent();var c=L(this.focus.key);null===c&&r(22);var d=c.getIndexWithinParent();let e=c.getParentOrThrow().getIndexWithinParent();c=Math.min(b,d);b=Math.max(b,d);d=Math.min(a,e);a=Math.max(a,e);return{fromX:Math.min(c,b),fromY:Math.min(d,a),toX:Math.max(c,b),toY:Math.max(d,a)}}getNodes(){var a=\nthis._cachedNodes;if(null!==a)return a;a=new Set;let {fromX:b,fromY:c,toX:d,toY:e}=this.getShape();var f=L(this.gridKey);Bd(f)||r(23);a.add(f);f=f.getChildren();for(let k=c;k<=e;k++){var g=f[k];a.add(g);Cd(g)||r(24);g=g.getChildren();for(let m=b;m<=d;m++){var h=g[m];Dd(h)||r(25);a.add(h);for(h=h.getChildren();0<h.length;){let l=h.shift();a.add(l);G(l)&&h.unshift(...l.getChildren())}}}a=Array.from(a);M||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";for(let c=0;c<a.length;c++)b+=\na[c].getTextContent();return b}}function zd(a){return a instanceof yd}\nclass xd{constructor(a,b,c){this.anchor=a;this.focus=b;this.dirty=!1;this.format=c;this._cachedNodes=null;a._selection=this;b._selection=this}is(a){return E(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus)&&this.format===a.format:!1}isBackward(){return this.focus.isBefore(this.anchor)}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this.anchor,c=this.focus;a=b.getNode();let d=c.getNode();G(a)&&(b=a.getDescendantByIndex(b.offset),a=null!=\nb?b:a);G(d)&&(c=d.getDescendantByIndex(c.offset),d=null!=c?c:d);a=a.is(d)?G(a)&&0<a.getChildrenSize()?[]:[a]:a.getNodesBetween(d);M||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){vd(this.anchor,a.__key,b,\"text\");vd(this.focus,c.__key,d,\"text\");this._cachedNodes=null;this.dirty=!0}getTextContent(){let a=this.getNodes();if(0===a.length)return\"\";let b=a[0],c=a[a.length-1],d=this.anchor.isBefore(this.focus),[e,f]=Ad(this),g=\"\",h=!0;for(let k=0;k<a.length;k++){let m=a[k];if(G(m)&&!m.isInline())h||\n(g+=\"\\n\"),h=m.isEmpty()?!1:!0;else if(h=!1,D(m)){let l=m.getTextContent();m===b?l=m===c?e<f?l.slice(e,f):l.slice(f,e):d?l.slice(e):l.slice(f):m===c&&(l=d?l.slice(0,f):l.slice(0,e));g+=l}else!C(m)&&!Cb(m)||m===c&&this.isCollapsed()||(g+=m.getTextContent())}return g}applyDOMRange(a){let b=I(),c=b.getEditorState()._selection;a=Ed(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,c);if(null!==a){var [d,e]=a;vd(this.anchor,d.key,d.offset,d.type);vd(this.focus,e.key,e.offset,e.type);this._cachedNodes=\nnull}}clone(){let a=this.anchor,b=this.focus;return new xd(new X(a.key,a.offset,a.type),new X(b.key,b.offset,b.type),this.format)}toggleFormat(a){this.format=Ab(this.format,a,null);this.dirty=!0}hasFormat(a){return 0!==(this.format&Xa[a])}insertRawText(a){let b=a.split(/\\r?\\n/);if(1===b.length)this.insertText(a);else{a=[];let c=b.length;for(let d=0;d<c;d++){let e=b[d];\"\"!==e&&a.push(N(e));d!==c-1&&a.push(Fd())}this.insertNodes(a)}}insertText(a){var b=this.anchor,c=this.focus,d=this.isCollapsed()||\nb.isBefore(c),e=this.format;d&&\"element\"===b.type?td(b,c,e):d||\"element\"!==c.type||td(c,b,e);var f=this.getNodes(),g=f.length,h=d?c:b;c=(d?b:c).offset;var k=h.offset;b=f[0];D(b)||r(26);d=b.getTextContent().length;var m=b.getParentOrThrow(),l=f[g-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||!m.canInsertTextAfter()&&null===b.getNextSibling())){var n=b.getNextSibling();if(!D(n)||yb(n))n=N(),n.setFormat(e),m.canInsertTextAfter()?b.insertAfter(n):m.insertAfter(n);\nn.select(0,0);b=n;if(\"\"!==a){this.insertText(a);return}}else if(this.isCollapsed()&&0===c&&(b.isSegmented()||b.isToken()||!b.canInsertTextBefore()||!m.canInsertTextBefore()&&null===b.getPreviousSibling())){n=b.getPreviousSibling();if(!D(n)||yb(n))n=N(),n.setFormat(e),m.canInsertTextBefore()?b.insertBefore(n):m.insertBefore(n);n.select();b=n;if(\"\"!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)m=N(b.getTextContent()),m.setFormat(e),b.replace(m),b=m;else if(!(this.isCollapsed()||\"\"===\na||(n=l.getParent(),m.canInsertTextBefore()&&m.canInsertTextAfter()&&(!G(n)||n.canInsertTextBefore()&&n.canInsertTextAfter())))){this.insertText(\"\");Gd(this.anchor,this.focus,null);this.insertText(a);return}if(1===g)if(b.isToken())a=N(a),a.select(),b.replace(a);else{f=b.getFormat();if(c===k&&f!==e)if(\"\"===b.getTextContent())b.setFormat(e);else{f=N(a);f.setFormat(e);f.select();0===c?b.insertBefore(f):([g]=b.splitText(c),g.insertAfter(f));f.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=\na.length);return}b=b.spliceText(c,k-c,a,!0);\"\"===b.getTextContent()?b.remove():\"text\"===this.anchor.type&&(b.isComposing()?this.anchor.offset-=a.length:this.format=f)}else{e=new Set([...b.getParentKeys(),...l.getParentKeys()]);var q=G(b)?b:b.getParentOrThrow();m=G(l)?l:l.getParentOrThrow();n=l;if(!q.is(m)&&m.isInline()){do n=m,m=m.getParentOrThrow();while(m.isInline())}\"text\"===h.type&&(0!==k||\"\"===l.getTextContent())||\"element\"===h.type&&l.getIndexWithinParent()<k?D(l)&&!l.isToken()&&k!==l.getTextContentSize()?\n(l.isSegmented()&&(h=N(l.getTextContent()),l.replace(h),l=h),l=l.spliceText(0,k,\"\"),e.add(l.__key)):(h=l.getParentOrThrow(),h.canBeEmpty()||1!==h.getChildrenSize()?l.remove():h.remove()):e.add(l.__key);h=m.getChildren();k=new Set(f);l=q.is(m);q=q.isInline()&&null===b.getNextSibling()?q:b;for(let v=h.length-1;0<=v;v--){let w=h[v];if(w.is(b)||G(w)&&w.isParentOf(b))break;w.isAttached()&&(!k.has(w)||w.is(n)?l||q.insertAfter(w):w.remove())}if(!l)for(h=m,k=null;null!==h;){l=h.getChildren();m=l.length;if(0===\nm||l[m-1].is(k))e.delete(h.__key),k=h;h=h.getParent()}b.isToken()?c===d?b.select():(a=N(a),a.select(),b.replace(a)):(b=b.spliceText(c,d-c,a,!0),\"\"===b.getTextContent()?b.remove():b.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=a.length));for(a=1;a<g;a++)b=f[a],e.has(b.__key)||b.remove()}}removeText(){this.insertText(\"\")}formatText(a){if(this.isCollapsed())this.toggleFormat(a),K(null);else{var b=this.getNodes(),c=[];for(var d of b)D(d)&&c.push(d);var e=c.length;if(0===e)this.toggleFormat(a),\nK(null);else{d=this.anchor;var f=this.focus,g=this.isBackward();b=g?f:d;d=g?d:f;var h=0,k=c[0];f=\"element\"===b.type?0:b.offset;\"text\"===b.type&&f===k.getTextContentSize()&&(h=1,k=c[1],f=0);if(null!=k){g=k.getFormatFlags(a,null);var m=e-1,l=c[m];e=\"text\"===d.type?d.offset:l.getTextContentSize();if(k.is(l))f!==e&&(0===f&&e===k.getTextContentSize()?k.setFormat(g):(a=k.splitText(f,e),a=0===f?a[0]:a[1],a.setFormat(g),\"text\"===b.type&&b.set(a.__key,0,\"text\"),\"text\"===d.type&&d.set(a.__key,e-f,\"text\")),\nthis.format=g);else{0!==f&&([,k]=k.splitText(f),f=0);k.setFormat(g);var n=l.getFormatFlags(a,g);0<e&&(e!==l.getTextContentSize()&&([l]=l.splitText(e)),l.setFormat(n));for(h+=1;h<m;h++){let q=c[h];if(!q.isToken()){let v=q.getFormatFlags(a,n);q.setFormat(v)}}\"text\"===b.type&&b.set(k.__key,f,\"text\");\"text\"===d.type&&d.set(l.__key,e,\"text\");this.format=g|n}}}}}insertNodes(a,b){if(!this.isCollapsed()){var c=this.isBackward()?this.anchor:this.focus,d=c.getNode().getNextSibling();d=d?d.getKey():null;c=(c=\nc.getNode().getPreviousSibling())?c.getKey():null;this.removeText();if(this.isCollapsed()&&\"element\"===this.focus.type){if(this.focus.key===d&&0===this.focus.offset){var e=N();this.focus.getNode().insertBefore(e)}else this.focus.key===c&&this.focus.offset===this.focus.getNode().getChildrenSize()&&(e=N(),this.focus.getNode().insertAfter(e));e&&(this.focus.set(e.__key,0,\"text\"),this.anchor.set(e.__key,0,\"text\"))}}d=this.anchor;c=d.offset;var f=d.getNode();e=f;\"element\"===d.type&&(e=d.getNode(),d=e.getChildAtIndex(c-\n1),e=null===d?e:d);d=[];var g=f.getNextSiblings(),h=ic(f)?null:f.getTopLevelElementOrThrow();if(D(f))if(e=f.getTextContent().length,0===c&&0!==e)e=f.getPreviousSibling(),e=null!==e?e:f.getParentOrThrow(),d.push(f);else if(c===e)e=f;else{if(f.isToken())return!1;[e,f]=f.splitText(c);d.push(f)}f=e;d.push(...g);g=a[0];var k=!1,m=null;for(let v=0;v<a.length;v++){var l=a[v];if(C(e)||!G(l)||l.isInline())k&&!C(l)&&ic(e.getParent())&&r(28);else{if(l.is(g)){if(G(e)&&e.isEmpty()&&e.canReplaceWith(l)){e.replace(l);\ne=l;k=!0;continue}var n=l.getFirstDescendant();if(Bb(n)){for(n=n.getParentOrThrow();n.isInline();)n=n.getParentOrThrow();m=n.getChildren();k=m.length;if(G(e))for(var q=0;q<k;q++)e.append(m[q]);else{for(q=k-1;0<=q;q--)e.insertAfter(m[q]);e=e.getParentOrThrow()}m=m[k-1];n.remove();k=!0;if(n.is(l))continue}}D(e)&&(null===h&&r(27),e=h)}k=!1;if(G(e)&&!e.isInline())if(m=l,C(l)&&!l.isInline())e=e.insertAfter(l);else if(G(l)){if(l.canBeEmpty()||!l.isEmpty())O(e)?(n=e.getChildAtIndex(c),null!==n?n.insertBefore(l):\ne.append(l),e=l):e=e.insertAfter(l)}else n=e.getFirstChild(),null!==n?n.insertBefore(l):e.append(l),e=l;else!G(l)||G(l)&&l.isInline()||C(e)&&!e.isInline()?(m=l,e=e.insertAfter(l)):(l=e.getParentOrThrow(),Cb(e)&&e.remove(),e=l,v--)}b&&(D(f)?f.select():(a=e.getPreviousSibling(),D(a)?a.select():(a=e.getIndexWithinParent(),e.getParentOrThrow().select(a,a))));if(G(e)){if(a=D(m)?m:G(m)&&m.isInline()?m.getLastDescendant():e.getLastDescendant(),b||(null===a?e.select():D(a)?a.select():a.selectNext()),0!==\nd.length)for(b=e,a=d.length-1;0<=a;a--)c=d[a],h=c.getParentOrThrow(),!G(e)||Hd(c)||C(c)&&(!c.isInline()||c.isIsolated())?G(e)||Hd(c)?G(c)&&!c.canInsertAfter(e)?(f=h.constructor.clone(h),G(f)||r(29),f.append(c),e.insertAfter(f)):e.insertAfter(c):(e.insertBefore(c),e=c):(b===e?e.append(c):e.insertBefore(c),e=c),h.isEmpty()&&!h.canBeEmpty()&&h.remove()}else b||(D(e)?e.select():(b=e.getParentOrThrow(),a=e.getIndexWithinParent()+1,b.select(a,a)));return!0}insertParagraph(){this.isCollapsed()||this.removeText();\nvar a=this.anchor,b=a.offset,c=[];if(\"text\"===a.type){var d=a.getNode();var e=d.getNextSiblings().reverse();var f=d.getParentOrThrow();var g=f.isInline(),h=g?f.getTextContentSize():d.getTextContentSize();0===b?e.push(d):(g&&(c=f.getNextSiblings()),b===h||g&&b===d.getTextContentSize()||([,d]=d.splitText(b),e.push(d)))}else{f=a.getNode();if(ic(f)){e=ud();c=f.getChildAtIndex(b);e.select();null!==c?c.insertBefore(e):f.append(e);return}e=f.getChildren().slice(b).reverse()}d=e.length;if(0===b&&0<d&&f.isInline()){if(c=\nf.getParentOrThrow(),e=c.insertNewAfter(this),G(e))for(c=c.getChildren(),f=0;f<c.length;f++)e.append(c[f])}else if(g=f.insertNewAfter(this),null===g)this.insertLineBreak();else if(G(g))if(h=f.getFirstChild(),0===b&&(f.is(a.getNode())||h&&h.is(a.getNode()))&&0<d)f.insertBefore(g);else{f=null;b=c.length;a=g.getParentOrThrow();if(0<b)for(h=0;h<b;h++)a.append(c[h]);if(0!==d)for(c=0;c<d;c++)b=e[c],null===f?g.append(b):f.insertBefore(b),f=b;g.canBeEmpty()||0!==g.getChildrenSize()?g.selectStart():(g.selectPrevious(),\ng.remove())}}insertLineBreak(a){let b=Fd();var c=this.anchor;\"element\"===c.type&&(c=c.getNode(),O(c)&&this.insertParagraph());a?this.insertNodes([b],!0):this.insertNodes([b])&&b.selectNext(0,0)}getCharacterOffsets(){return Ad(this)}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let e=this.focus;var f=a[0];let g=a[c],[h,k]=Ad(this);if(0===b)return[];if(1===b)return D(f)&&!this.isCollapsed()?(a=h>k?k:h,c=f.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=a?[a]:[]):[f];b=d.isBefore(e);D(f)&&\n(d=b?h:k,d===f.getTextContentSize()?a.shift():0!==d&&([,f]=f.splitText(d),a[0]=f));D(g)&&(f=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==f&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,e=this.anchor,f=\"move\"===a,g=Yb(d,b);if(C(g)&&!g.isIsolated())f&&g.isKeyboardSelectable()?(b=Id(),b.add(g.__key),lb(b)):(a=b?g.getPreviousSibling():g.getNextSibling(),D(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,\"text\"),f&&e.set(g,b,\"text\")):(c=g.getParentOrThrow(),G(a)?(c=\na.__key,g=b?a.getChildrenSize():0):(g=g.getIndexWithinParent(),c=c.__key,b||g++),d.set(c,g,\"element\"),f&&e.set(c,g,\"element\")));else if(d=t?window.getSelection():null)if(d.modify(a,b?\"backward\":\"forward\",c),0<d.rangeCount&&(e=d.getRangeAt(0),g=this.anchor.getNode(),g=O(g)?g:cc(g),this.applyDOMRange(e),this.dirty=!0,!f)){f=this.getNodes();a=[];c=!1;for(let h=0;h<f.length;h++){let k=f[h];bc(k,g)?a.push(k):c=!0}c&&0<a.length&&(b?(b=a[0],G(b)?b.selectStart():b.getParentOrThrow().selectStart()):(b=a[a.length-\n1],G(b)?b.selectEnd():b.getParentOrThrow().selectEnd()));if(d.anchorNode!==e.startContainer||d.anchorOffset!==e.startOffset)b=this.focus,f=this.anchor,d=f.key,e=f.offset,g=f.type,vd(f,b.key,b.offset,b.type),vd(b,d,e,g),this._cachedNodes=null}}deleteCharacter(a){if(this.isCollapsed()){var b=this.anchor,c=this.focus,d=b.getNode();if(!a&&(\"element\"===b.type&&G(d)&&b.offset===d.getChildrenSize()||\"text\"===b.type&&b.offset===d.getTextContentSize())){var e=d.getNextSibling()||d.getParentOrThrow().getNextSibling();\nif(G(e)&&!e.canExtractContents())return}e=Yb(c,a);if(C(e)&&!e.isIsolated()){e.isKeyboardSelectable()&&G(d)&&0===d.getChildrenSize()?(d.remove(),a=Id(),a.add(e.__key),lb(a)):e.remove();return}this.modify(\"extend\",a,\"character\");if(!this.isCollapsed()){e=\"text\"===c.type?c.getNode():null;d=\"text\"===b.type?b.getNode():null;if(null!==e&&e.isSegmented()){if(b=c.offset,c=e.getTextContentSize(),e.is(d)||a&&b!==c||!a&&0!==b){Jd(e,a,b);return}}else if(null!==d&&d.isSegmented()&&(b=b.offset,c=d.getTextContentSize(),\nd.is(e)||a&&0!==b||!a&&b!==c)){Jd(d,a,b);return}d=this.anchor;e=this.focus;b=d.getNode();c=e.getNode();if(b===c&&\"text\"===d.type&&\"text\"===e.type){var f=d.offset,g=e.offset;let h=f<g;c=h?f:g;g=h?g:f;f=g-1;c!==f&&(b=b.getTextContent().slice(c,g),Ob(b)||(a?e.offset=f:d.offset=f))}}else if(a&&0===b.offset&&(\"element\"===b.type?b.getNode():b.getNode().getParentOrThrow()).collapseAtStart(this))return}this.removeText()}deleteLine(a){this.isCollapsed()&&(\"text\"===this.anchor.type&&this.modify(\"extend\",a,\n\"lineboundary\"),0===(a?this.focus:this.anchor).offset&&this.modify(\"extend\",a,\"character\"));this.removeText()}deleteWord(a){this.isCollapsed()&&this.modify(\"extend\",a,\"word\");this.removeText()}}function ld(a){return a instanceof wd}function Kd(a){let b=a.offset;if(\"text\"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}\nfunction Ad(a){let b=a.anchor;a=a.focus;return\"element\"===b.type&&\"element\"===a.type&&b.key===a.key&&b.offset===a.offset?[0,0]:[Kd(b),Kd(a)]}function Jd(a,b,c){let d=a.getTextContent().split(/(?=\\s)/g),e=d.length,f=0,g=0;for(let h=0;h<e;h++){let k=d[h],m=h===e-1;g=f;f+=k.length;if(b&&f===c||f>c||m){d.splice(h,1);m&&(g=void 0);break}}b=d.join(\"\").trim();\"\"===b?a.remove():(a.setTextContent(b),a.select(g,g))}\nfunction Ld(a,b,c){var d=b;if(1===a.nodeType){let g=!1;var e=a.childNodes;var f=e.length;d===f&&(g=!0,d=f-1);e=Nb(e[d]);if(D(e))d=g?e.getTextContentSize():0;else{f=Nb(a);if(null===f)return null;if(G(f)){a=f.getChildAtIndex(d);if(b=G(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=g?a.getLastDescendant():a.getFirstDescendant(),null===c?(f=a,d=0):(a=c,f=a.getParentOrThrow()));D(a)?(e=a,f=null,d=g?a.getTextContentSize():0):a!==f&&g&&d++}else d=f.getIndexWithinParent(),\nd=0===b&&C(f)&&Nb(a)===f?d:d+1,f=f.getParentOrThrow();if(G(f))return new X(f.__key,d,\"element\")}}else e=Nb(a);return D(e)?new X(e.__key,d,\"text\"):null}\nfunction Ud(a,b,c){var d=a.offset,e=a.getNode();0===d?(d=e.getPreviousSibling(),e=e.getParent(),b)?(c||!b)&&null===d&&G(e)&&e.isInline()&&(b=e.getPreviousSibling(),D(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):G(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type=\"element\"):D(d)&&(a.key=d.__key,a.offset=d.getTextContent().length):d===e.getTextContent().length&&(d=e.getNextSibling(),e=e.getParent(),b&&G(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type=\"element\"):(c||\nb)&&null===d&&G(e)&&e.isInline()&&!e.canInsertTextAfter()&&(b=e.getNextSibling(),D(b)&&(a.key=b.__key,a.offset=0)))}function Gd(a,b,c){if(\"text\"===a.type&&\"text\"===b.type){var d=a.isBefore(b);let e=a.is(b);Ud(a,d,e);Ud(b,!d,e);e&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=I();d.isComposing()&&d._compositionKey!==a.key&&E(c)&&(d=c.anchor,c=c.focus,vd(a,d.key,d.offset,d.type),vd(b,c.key,c.offset,c.type))}}\nfunction Ed(a,b,c,d,e,f){if(null===a||null===c||!wb(e,a,c))return null;b=Ld(a,b,E(f)?f.anchor:null);if(null===b)return null;d=Ld(c,d,E(f)?f.focus:null);if(null===d||\"element\"===b.type&&\"element\"===d.type&&(a=Nb(a),c=Nb(c),C(a)&&C(c)))return null;Gd(b,d,f);return[b,d]}function Hd(a){return G(a)&&!a.isInline()}function Vd(a,b,c,d,e,f){let g=J();a=new xd(new X(a,b,e),new X(c,d,f),0);a.dirty=!0;return g._selection=a}function Id(){return new wd(new Set)}\nfunction Wd(a){let b=a.getEditorState()._selection,c=t?window.getSelection():null;return ld(b)||zd(b)?b.clone():pd(b,c,a)}\nfunction pd(a,b,c){var d=c._window;if(null===d)return null;var e=d.event,f=e?e.type:void 0;d=\"selectionchange\"===f;e=!cb&&(d||\"beforeinput\"===f||\"compositionstart\"===f||\"compositionend\"===f||\"click\"===f&&e&&3===e.detail||\"drop\"===f||void 0===f);let g;if(!E(a)||e){if(null===b)return null;e=b.anchorNode;f=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&E(a)&&!wb(c,e,f))return a.clone()}else return a.clone();c=Ed(e,g,f,b,c,a);if(null===c)return null;let [h,k]=c;return new xd(h,k,E(a)?a.format:0)}\nfunction x(){return J()._selection}function Sb(){return I()._editorState._selection}\nfunction Xd(a,b,c,d=1){var e=a.anchor,f=a.focus,g=e.getNode(),h=f.getNode();if(b.is(g)||b.is(h))if(g=b.__key,a.isCollapsed())b=e.offset,c<=b&&(c=Math.max(0,b+d),e.set(g,c,\"element\"),f.set(g,c,\"element\"),Yd(a));else{var k=a.isBackward();h=k?f:e;var m=h.getNode();e=k?e:f;f=e.getNode();b.is(m)&&(m=h.offset,c<=m&&h.set(g,Math.max(0,m+d),\"element\"));b.is(f)&&(b=e.offset,c<=b&&e.set(g,Math.max(0,b+d),\"element\"));Yd(a)}}\nfunction Yd(a){var b=a.anchor,c=b.offset;let d=a.focus;var e=d.offset,f=b.getNode(),g=d.getNode();if(a.isCollapsed())G(f)&&(g=f.getChildrenSize(),g=(e=c>=g)?f.getChildAtIndex(g-1):f.getChildAtIndex(c),D(g)&&(c=0,e&&(c=g.getTextContentSize()),b.set(g.__key,c,\"text\"),d.set(g.__key,c,\"text\")));else{if(G(f)){let h=f.getChildrenSize();c=(a=c>=h)?f.getChildAtIndex(h-1):f.getChildAtIndex(c);D(c)&&(f=0,a&&(f=c.getTextContentSize()),b.set(c.__key,f,\"text\"))}G(g)&&(c=g.getChildrenSize(),e=(b=e>=c)?g.getChildAtIndex(c-\n1):g.getChildAtIndex(e),D(e)&&(g=0,b&&(g=e.getTextContentSize()),d.set(e.__key,g,\"text\")))}}function Zd(a,b){b=b.getEditorState()._selection;a=a._selection;if(E(a)){var c=a.anchor;let d=a.focus,e;\"text\"===c.type&&(e=c.getNode(),e.selectionTransform(b,a));\"text\"===d.type&&(c=d.getNode(),e!==c&&c.selectionTransform(b,a))}}\nfunction $d(a,b,c,d,e){let f=null,g=0,h=null;null!==d?(f=d.__key,D(d)?(g=d.getTextContentSize(),h=\"text\"):G(d)&&(g=d.getChildrenSize(),h=\"element\")):null!==e&&(f=e.__key,D(e)?h=\"text\":G(e)&&(h=\"element\"));null!==f&&null!==h?a.set(f,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,\"element\"))}function ae(a,b,c,d,e){\"text\"===a.type?(a.key=c,b||(a.offset+=e)):a.offset>d.getIndexWithinParent()&&--a.offset}let Y=null,Z=null,M=!1,be=!1,Eb=0;function H(){M&&r(13)}\nfunction J(){null===Y&&r(15);return Y}function I(){null===Z&&r(16);return Z}function ce(a,b,c){var d=b.__type;let e=a._nodes.get(d);void 0===e&&r(30);a=c.get(d);void 0===a&&(a=Array.from(e.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function de(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),D(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&pc(b)}\nfunction ee(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let e=Ib(),f=new Map;var g=c;let h=g.size;for(var k=d,m=k.size;0<h||0<m;){if(0<h){b._dirtyLeaves=new Set;for(let l of g)g=a.get(l),D(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&pc(g),void 0!==g&&void 0!==g&&g.__key!==e&&g.isAttached()&&ce(b,g,f),c.add(l);g=b._dirtyLeaves;h=g.size;if(0<h){Eb++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let l of k)if(k=l[0],m=l[1],\"root\"===k||m)g=a.get(k),void 0!==\ng&&void 0!==g&&g.__key!==e&&g.isAttached()&&ce(b,g,f),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;Eb++}b._dirtyLeaves=c;b._dirtyElements=d}function fe(a,b){var c=b.get(a.type);void 0===c&&r(17);c=c.klass;a.type!==c.getType()&&r(18);c=c.importJSON(a);a=a.children;if(G(c)&&Array.isArray(a))for(let d=0;d<a.length;d++){let e=fe(a[d],b);c.append(e)}return c}function ge(a,b){let c=Y,d=M,e=Z;Y=a;M=!0;Z=null;try{return b()}finally{Y=c,M=d,Z=e}}\nfunction he(a){var b=a._pendingEditorState,c=a._rootElement,d=a._headless;if((null!==c||d)&&null!==b){var e=a._editorState,f=e._selection,g=b._selection,h=0!==a._dirtyType,k=Y,m=M,l=Z,n=a._updating,q=a._observer,v=null;a._pendingEditorState=null;a._editorState=b;if(!d&&h&&null!==q){Z=a;Y=b;M=!1;a._updating=!0;try{var w=a._dirtyType,y=a._dirtyElements,z=a._dirtyLeaves;q.disconnect();Q=R=P=\"\";uc=2===w;xc=null;S=a;sc=a._config;tc=a._nodes;wc=S._listeners.mutation;yc=y;zc=z;Ac=e._nodeMap;Bc=b._nodeMap;\nvc=b._readOnly;Cc=new Map(a._keyToDOMMap);var B=new Map;Dc=B;Qc(\"root\",null);Dc=Cc=sc=Bc=Ac=zc=yc=tc=S=void 0;v=B}catch(W){W instanceof Error&&a._onError(W);if(be)throw W;ie(a,null,c,b);sb(a);a._dirtyType=2;be=!0;he(a);be=!1;return}finally{q.observe(c,{characterData:!0,childList:!0,subtree:!0}),a._updating=n,Y=k,M=m,Z=l}}b._readOnly||(b._readOnly=!0);n=a._dirtyLeaves;q=a._dirtyElements;B=a._normalizedNodes;w=a._updateTags;m=a._deferred;h&&(a._dirtyType=0,a._cloneNotNeeded.clear(),a._dirtyLeaves=new Set,\na._dirtyElements=new Map,a._normalizedNodes=new Set,a._updateTags=new Set);z=a._decorators;y=a._pendingDecorators||z;var F=b._nodeMap;for(Sa in y)F.has(Sa)||(y===z&&(y=Jb(a)),delete y[Sa]);d=d?null:t?window.getSelection():null;if(a._editable&&null!==d&&(h||null===g||g.dirty)){Z=a;Y=b;try{a:{let W=d.anchorNode,wa=d.focusNode,Ge=d.anchorOffset,He=d.focusOffset,ob=document.activeElement;if(!w.has(\"collaboration\")||ob===c)if(E(g)){var T=g.anchor,aa=g.focus,Md=T.key,xa=aa.key,Nd=$b(a,Md),Od=$b(a,xa),pb=\nT.offset,Pd=aa.offset,dc=g.format,Qd=g.isCollapsed();h=Nd;xa=Od;var Sa=!1;\"text\"===T.type&&(h=zb(Nd),Sa=T.getNode().getFormat()!==dc);\"text\"===aa.type&&(xa=zb(Od));if(null!==h&&null!==xa){if(Qd&&(null===f||Sa||E(f)&&f.format!==dc)){var Ie=performance.now();fd=[dc,pb,Md,Ie]}if(Ge===pb&&He===Pd&&W===h&&wa===xa&&(\"Range\"!==d.type||!Qd)&&(null===c||null!==ob&&c.contains(ob)||c.focus({preventScroll:!0}),\"element\"!==T.type))break a;try{d.setBaseAndExtent(h,pb,xa,Pd);if(!w.has(\"skip-scroll-into-view\")&&\ng.isCollapsed()&&null!==c&&c===ob){let ec=g instanceof xd&&\"element\"===g.anchor.type?h.childNodes[pb]||null:0<d.rangeCount?d.getRangeAt(0):null;if(null!==ec){let Je=ec.getBoundingClientRect(),Rd=c.ownerDocument,Sd=Rd.defaultView;if(null!==Sd)for(var {top:fc,bottom:gc}=Je,fa,ma;null!==c;){let hc=c===Rd.body;if(hc)fa=0,ma=tb(a).innerHeight;else{let qb=c.getBoundingClientRect();fa=qb.top;ma=qb.bottom}f=0;fc<fa?f=-(fa-fc):gc>ma&&(f=gc-ma);if(0!==f)if(hc)Sd.scrollBy(0,f);else{let qb=c.scrollTop;c.scrollTop+=\nf;let Td=c.scrollTop-qb;fc-=Td;gc-=Td}if(hc)break;let rb=c.assignedSlot||c.parentElement;c=null!==rb&&11===rb.nodeType?rb.host:rb}}}bd=!0}catch(ec){}}}else null!==f&&wb(a,W,wa)&&d.removeAllRanges()}}finally{Z=l,Y=k}}if(null!==v)for(k=v,l=Array.from(a._listeners.mutation),v=l.length,fa=0;fa<v;fa++){let [W,wa]=l[fa];ma=k.get(wa);void 0!==ma&&W(ma,{dirtyLeaves:n,updateTags:w})}k=a._pendingDecorators;null!==k&&(a._decorators=k,a._pendingDecorators=null,je(\"decorator\",a,!0,k));k=Kb(e);l=Kb(b);k!==l&&je(\"textcontent\",\na,!0,l);je(\"update\",a,!0,{dirtyElements:q,dirtyLeaves:n,editorState:b,normalizedNodes:B,prevEditorState:e,tags:w});a._deferred=[];if(0!==m.length){b=a._updating;a._updating=!0;try{for(e=0;e<m.length;e++)m[e]()}finally{a._updating=b}}b=a._updates;if(0!==b.length&&(b=b.shift())){let [W,wa]=b;ke(a,W,wa)}}}function je(a,b,c,...d){let e=b._updating;b._updating=c;try{let f=Array.from(b._listeners[a]);for(a=0;a<f.length;a++)f[a].apply(null,d)}finally{b._updating=e}}\nfunction V(a,b,c){if(!1===a._updating||Z!==a){let f=!1;a.update(()=>{f=V(a,b,c)});return f}let d=Pb(a);for(let f=4;0<=f;f--)for(let g=0;g<d.length;g++){var e=d[g]._commands.get(b);if(void 0!==e&&(e=e[f],void 0!==e)){e=Array.from(e);let h=e.length;for(let k=0;k<h;k++)if(!0===e[k](c,a))return!0}}return!1}\nfunction le(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [e,f]=d,g;void 0!==f&&(d=f.onUpdate,g=f.tag,f.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));e()}}return b}\nfunction ke(a,b,c){let d=a._updateTags;var e,f=e=!1;if(void 0!==c){var g=c.onUpdate;e=c.tag;null!=e&&d.add(e);e=c.skipTransforms||!1;f=c.discrete||!1}g&&a._deferred.push(g);c=a._editorState;g=a._pendingEditorState;let h=!1;if(null===g||g._readOnly)g=a._pendingEditorState=new me(new Map((g||c)._nodeMap)),h=!0;g._flushSync=f;f=Y;let k=M,m=Z,l=a._updating;Y=g;M=!1;a._updating=!0;Z=a;try{h&&(a._headless?null!=c._selection&&(g._selection=c._selection.clone()):g._selection=Wd(a));let n=a._compositionKey;\nb();e=le(a,e);Zd(g,a);0!==a._dirtyType&&(e?de(g,a):ee(g,a),le(a),mc(c,g,a._dirtyLeaves,a._dirtyElements));n!==a._compositionKey&&(g._flushSync=!0);let q=g._selection;if(E(q)){let v=g._nodeMap,w=q.focus.key;void 0!==v.get(q.anchor.key)&&void 0!==v.get(w)||r(19)}else ld(q)&&0===q._nodes.size&&(g._selection=null)}catch(n){n instanceof Error&&a._onError(n);a._pendingEditorState=c;a._dirtyType=2;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();he(a);return}finally{Y=f,M=k,Z=m,\na._updating=l,Eb=0}0!==a._dirtyType||ne(g,a)?g._flushSync?(g._flushSync=!1,he(a)):h&&vb(()=>{he(a)}):(g._flushSync=!1,h&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function A(a,b,c){a._updating?a._updates.push([b,c]):ke(a,b,c)}\nfunction oe(a,b,c){H();var d=a.__key;let e=a.getParent();if(null!==e){var f=ac(a),g=!1;if(E(f)&&b){var h=f.anchor;let k=f.focus;h.key===d&&($d(h,a,e,a.getPreviousSibling(),a.getNextSibling()),g=!0);k.key===d&&($d(k,a,e,a.getPreviousSibling(),a.getNextSibling()),g=!0)}h=e.getWritable().__children;d=h.indexOf(d);-1===d&&r(31);Gb(a);h.splice(d,1);a.getWritable().__parent=null;E(f)&&b&&!g&&Xd(f,e,d,-1);c||ic(e)||e.canBeEmpty()||!e.isEmpty()||oe(e,b);O(e)&&e.isEmpty()&&e.selectEnd()}}\nfunction pe(a){a=L(a);null===a&&r(63);return a}\nclass qe{static getType(){r(64)}static clone(){r(65)}constructor(a){this.__type=this.constructor.getType();this.__parent=null;Db(this,a)}getType(){return this.__type}isAttached(){for(var a=this.__key;null!==a;){if(\"root\"===a)return!0;a=L(a);if(null===a)break;a=a.__parent}return!1}isSelected(){let a=x();if(null==a)return!1;let b=a.getNodes().some(c=>c.__key===this.__key);return D(this)?b:E(a)&&\"element\"===a.anchor.type&&\"element\"===a.focus.type&&a.anchor.key===a.focus.key&&a.anchor.offset===a.focus.offset?\n!1:b}getKey(){return this.__key}getIndexWithinParent(){let a=this.getParent();return null===a?-1:a.__children.indexOf(this.__key)}getParent(){let a=this.getLatest().__parent;return null===a?null:L(a)}getParentOrThrow(){let a=this.getParent();null===a&&r(66);return a}getTopLevelElement(){let a=this;for(;null!==a;){let b=a.getParent();if(ic(b))return a;a=b}return null}getTopLevelElementOrThrow(){let a=this.getTopLevelElement();null===a&&r(67);return a}getParents(){let a=[],b=this.getParent();for(;null!==\nb;)a.push(b),b=b.getParent();return a}getParentKeys(){let a=[],b=this.getParent();for(;null!==b;)a.push(b.__key),b=b.getParent();return a}getPreviousSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=a.indexOf(this.__key);return 0>=b?null:L(a[b-1])}getPreviousSiblings(){var a=this.getParent();if(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(0,b).map(c=>pe(c))}getNextSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=\na.length,c=a.indexOf(this.__key);return c>=b-1?null:L(a[c+1])}getNextSiblings(){var a=this.getParent();if(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(b+1).map(c=>pe(c))}getCommonAncestor(a){let b=this.getParents();var c=a.getParents();G(this)&&b.unshift(this);G(a)&&c.unshift(a);a=b.length;var d=c.length;if(0===a||0===d||b[a-1]!==c[d-1])return null;c=new Set(c);for(d=0;d<a;d++){let e=b[d];if(c.has(e))return e}return null}is(a){return null==a?!1:this.__key===a.__key}isBefore(a){if(a.isParentOf(this))return!0;\nif(this.isParentOf(a))return!1;var b=this.getCommonAncestor(a);let c=this;for(;;){var d=c.getParentOrThrow();if(d===b){d=d.__children.indexOf(c.__key);break}c=d}for(c=a;;){a=c.getParentOrThrow();if(a===b){b=a.__children.indexOf(c.__key);break}c=a}return d<b}isParentOf(a){let b=this.__key;if(b===a.__key)return!1;for(;null!==a;){if(a.__key===b)return!0;a=a.getParent()}return!1}getNodesBetween(a){let b=this.isBefore(a),c=[],d=new Set;for(var e=this;;){var f=e.__key;d.has(f)||(d.add(f),c.push(e));if(e===\na)break;f=G(e)?b?e.getFirstChild():e.getLastChild():null;if(null!==f)e=f;else if(f=b?e.getNextSibling():e.getPreviousSibling(),null!==f)e=f;else{e=e.getParentOrThrow();d.has(e.__key)||c.push(e);if(e===a)break;f=e;do null===f&&r(68),e=b?f.getNextSibling():f.getPreviousSibling(),f=f.getParent(),null!==f&&(null!==e||d.has(f.__key)||c.push(f));while(null===e)}}b||c.reverse();return c}isDirty(){let a=I()._dirtyLeaves;return null!==a&&a.has(this.__key)}getLatest(){let a=L(this.__key);null===a&&r(69);return a}getWritable(){H();\nvar a=J(),b=I();a=a._nodeMap;let c=this.__key,d=this.getLatest(),e=d.__parent;b=b._cloneNotNeeded;var f=x();null!==f&&(f._cachedNodes=null);if(b.has(c))return Hb(d),d;f=d.constructor.clone(d);f.__parent=e;G(d)&&G(f)?(f.__children=Array.from(d.__children),f.__indent=d.__indent,f.__format=d.__format,f.__dir=d.__dir):D(d)&&D(f)&&(f.__format=d.__format,f.__style=d.__style,f.__mode=d.__mode,f.__detail=d.__detail);b.add(c);f.__key=c;Hb(f);a.set(c,f);return f}getTextContent(){return\"\"}getTextContentSize(){return this.getTextContent().length}createDOM(){r(70)}updateDOM(){r(71)}exportDOM(a){return{element:this.createDOM(a._config,\na)}}exportJSON(){r(72)}static importJSON(){r(18)}remove(a){oe(this,!0,a)}replace(a){H();kc(this,a);let b=this.__key;a=a.getWritable();Fb(a);var c=this.getParentOrThrow(),d=c.getWritable().__children;let e=d.indexOf(this.__key),f=a.__key;-1===e&&r(31);d.splice(e,0,f);a.__parent=c.__key;oe(this,!1);Gb(a);d=x();E(d)&&(c=d.anchor,d=d.focus,c.key===b&&sd(c,a),d.key===b&&sd(d,a));Ib()===b&&K(f);return a}insertAfter(a){H();kc(this,a);var b=this.getWritable(),c=a.getWritable(),d=c.getParent();let e=x();var f=\na.getIndexWithinParent(),g=!1,h=!1;null!==d&&(Fb(c),E(e)&&(h=d.__key,g=e.anchor,d=e.focus,g=\"element\"===g.type&&g.key===h&&g.offset===f+1,h=\"element\"===d.type&&d.key===h&&d.offset===f+1));f=this.getParentOrThrow().getWritable();d=c.__key;c.__parent=b.__parent;let k=f.__children;b=k.indexOf(b.__key);-1===b&&r(31);k.splice(b+1,0,d);Gb(c);E(e)&&(Xd(e,f,b+1),c=f.__key,g&&e.anchor.set(c,b+2,\"element\"),h&&e.focus.set(c,b+2,\"element\"));return a}insertBefore(a){H();kc(this,a);var b=this.getWritable(),c=a.getWritable();\nFb(c);let d=this.getParentOrThrow().getWritable(),e=c.__key;c.__parent=b.__parent;let f=d.__children;b=f.indexOf(b.__key);-1===b&&r(31);f.splice(b,0,e);Gb(c);c=x();E(c)&&Xd(c,d,b);return a}selectPrevious(a,b){H();let c=this.getPreviousSibling(),d=this.getParentOrThrow();return null===c?d.select(0,0):G(c)?c.select():D(c)?c.select(a,b):(a=c.getIndexWithinParent()+1,d.select(a,a))}selectNext(a,b){H();let c=this.getNextSibling(),d=this.getParentOrThrow();return null===c?d.select():G(c)?c.select(0,0):\nD(c)?c.select(a,b):(a=c.getIndexWithinParent(),d.select(a,a))}markDirty(){this.getWritable()}}class re extends qe{constructor(a){super(a)}decorate(){r(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function C(a){return a instanceof re}\nclass se extends qe{constructor(a){super(a);this.__children=[];this.__indent=this.__format=0;this.__dir=null}getFormat(){return this.getLatest().__format}getFormatType(){let a=this.getFormat();return $a[a]||\"\"}getIndent(){return this.getLatest().__indent}getChildren(){let a=this.getLatest().__children,b=[];for(let c=0;c<a.length;c++){let d=L(a[c]);null!==d&&b.push(d)}return b}getChildrenKeys(){return this.getLatest().__children}getChildrenSize(){return this.getLatest().__children.length}isEmpty(){return 0===\nthis.getChildrenSize()}isDirty(){let a=I()._dirtyElements;return null!==a&&a.has(this.__key)}isLastChild(){let a=this.getLatest();return a.getParentOrThrow().getLastChild()===a}getAllTextNodes(){let a=[],b=this.getLatest().__children;for(let d=0;d<b.length;d++){var c=L(b[d]);D(c)?a.push(c):G(c)&&(c=c.getAllTextNodes(),a.push(...c))}return a}getFirstDescendant(){let a=this.getFirstChild();for(;null!==a;){if(G(a)){let b=a.getFirstChild();if(null!==b){a=b;continue}}break}return a}getLastDescendant(){let a=\nthis.getLastChild();for(;null!==a;){if(G(a)){let b=a.getLastChild();if(null!==b){a=b;continue}}break}return a}getDescendantByIndex(a){let b=this.getChildren(),c=b.length;if(a>=c)return a=b[c-1],G(a)&&a.getLastDescendant()||a||null;a=b[a];return G(a)&&a.getFirstDescendant()||a||null}getFirstChild(){let a=this.getLatest().__children;return 0===a.length?null:L(a[0])}getFirstChildOrThrow(){let a=this.getFirstChild();null===a&&r(45);return a}getLastChild(){let a=this.getLatest().__children,b=a.length;\nreturn 0===b?null:L(a[b-1])}getLastChildOrThrow(){let a=this.getLastChild();null===a&&r(96);return a}getChildAtIndex(a){a=this.getLatest().__children[a];return void 0===a?null:L(a)}getTextContent(){let a=\"\",b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let e=b[d];a+=e.getTextContent();G(e)&&d!==c-1&&!e.isInline()&&(a+=\"\\n\\n\")}return a}getDirection(){return this.getLatest().__dir}hasFormat(a){return\"\"!==a?(a=Za[a],0!==(this.getFormat()&a)):!1}select(a,b){H();let c=x();var d=this.getChildrenSize();\nvoid 0===a&&(a=d);void 0===b&&(b=d);d=this.__key;if(E(c))c.anchor.set(d,a,\"element\"),c.focus.set(d,b,\"element\"),c.dirty=!0;else return Vd(d,a,d,b,\"element\",\"element\");return c}selectStart(){let a=this.getFirstDescendant();return G(a)||D(a)?a.select(0,0):null!==a?a.selectPrevious():this.select(0,0)}selectEnd(){let a=this.getLastDescendant();return G(a)||D(a)?a.select():null!==a?a.selectNext():this.select()}clear(){let a=this.getWritable();this.getChildren().forEach(b=>b.remove());return a}append(...a){return this.splice(this.getChildrenSize(),\n0,a)}setDirection(a){let b=this.getWritable();b.__dir=a;return b}setFormat(a){this.getWritable().__format=\"\"!==a?Za[a]:0;return this}setIndent(a){this.getWritable().__indent=a;return this}splice(a,b,c){let d=this.getWritable();var e=d.__key;let f=d.__children,g=c.length;var h=[];for(let k=0;k<g;k++){let m=c[k],l=m.getWritable();m.__key===e&&r(76);Fb(l);l.__parent=e;h.push(l.__key)}(c=this.getChildAtIndex(a-1))&&Hb(c);(e=this.getChildAtIndex(a+b))&&Hb(e);a===f.length?(f.push(...h),a=[]):a=f.splice(a,\nb,...h);if(a.length&&(b=x(),E(b))){let k=new Set(a),m=new Set(h);h=q=>{for(q=q.getNode();q;){const v=q.__key;if(k.has(v)&&!m.has(v))return!0;q=q.getParent()}return!1};let {anchor:l,focus:n}=b;h(l)&&$d(l,l.getNode(),this,c,e);h(n)&&$d(n,n.getNode(),this,c,e);h=a.length;for(b=0;b<h;b++)c=L(a[b]),null!=c&&(c.getWritable().__parent=null);0!==f.length||this.canBeEmpty()||ic(this)||this.remove()}return d}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),\ntype:\"element\",version:1}}insertNewAfter(){return null}canInsertTab(){return!1}canIndent(){return!0}collapseAtStart(){return!1}excludeFromCopy(){return!1}canExtractContents(){return!0}canReplaceWith(){return!0}canInsertAfter(){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}function G(a){return a instanceof se}\nclass te extends se{static getType(){return\"root\"}static clone(){return new te}constructor(){super(\"root\");this.__cachedText=null}getTopLevelElementOrThrow(){r(51)}getTextContent(){let a=this.__cachedText;return!M&&0!==I()._dirtyType||null===a?super.getTextContent():a}remove(){r(52)}replace(){r(53)}insertBefore(){r(54)}insertAfter(){r(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];G(c)||C(c)||r(56)}return super.append(...a)}static importJSON(a){let b=Lb();b.setFormat(a.format);\nb.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:\"root\",version:1}}collapseAtStart(){return!0}}function O(a){return a instanceof te}function ne(a,b){b=b.getEditorState()._selection;a=a._selection;if(null!==a){if(a.dirty||!a.is(b))return!0}else if(null!==b)return!0;return!1}function ue(){return new me(new Map([[\"root\",new te]]))}\nfunction ve(a){let b=a.exportJSON();b.type!==a.constructor.getType()&&r(58);let c=b.children;if(G(a)){Array.isArray(c)||r(59);a=a.getChildren();for(let d=0;d<a.length;d++){let e=ve(a[d]);c.push(e)}}return b}\nclass me{constructor(a,b){this._nodeMap=a;this._selection=b||null;this._readOnly=this._flushSync=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(a){return ge(this,a)}clone(a){a=new me(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return ge(this,()=>({root:ve(Lb())}))}}\nclass we extends qe{static getType(){return\"linebreak\"}static clone(a){return new we(a.__key)}constructor(a){super(a)}getTextContent(){return\"\\n\"}createDOM(){return document.createElement(\"br\")}updateDOM(){return!1}static importDOM(){return{br:a=>{let b=a.parentElement;return null!=b&&b.firstChild===a&&b.lastChild===a?null:{conversion:xe,priority:0}}}}static importJSON(){return Fd()}exportJSON(){return{type:\"linebreak\",version:1}}}function xe(){return{node:Fd()}}function Fd(){return jc(new we)}\nfunction Cb(a){return a instanceof we}function ye(a,b){return b&16?\"code\":b&32?\"sub\":b&64?\"sup\":null}function ze(a,b){return b&1?\"strong\":b&2?\"em\":\"span\"}\nfunction Ae(a,b,c,d,e){a=d.classList;d=Vb(e,\"base\");void 0!==d&&a.add(...d);d=Vb(e,\"underlineStrikethrough\");let f=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(f=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in Xa)h=Xa[k],d=Vb(e,k),void 0!==d&&(c&h?!f||\"underline\"!==k&&\"strikethrough\"!==k?(0===(b&h)||g&&\"underline\"===k||\"strikethrough\"===k)&&a.add(...d):b&h&&a.remove(...d):b&h&&a.remove(...d))}\nfunction Be(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?Ta:\"\";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Oa){c=b.length;let e=a.length,f=0,g=0;for(;f<c&&f<e&&b[f]===a[f];)f++;for(;g+f<c&&g+f<e&&b[c-g-1]===a[e-g-1];)g++;a=[f,c-f-g,a.slice(f,e-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}\nclass Ce extends qe{static getType(){return\"text\"}static clone(a){return new Ce(a.__text,a.__key)}constructor(a,b){super(b);this.__text=a;this.__format=0;this.__style=\"\";this.__detail=this.__mode=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let a=this.getLatest();return bb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===Ib()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==\n(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=Xa[a];return 0!==(this.getFormat()&a)}isSimpleText(){return\"text\"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return Ab(c,a,b)}createDOM(a){var b=this.__format,c=ye(this,b);let d=ze(this,b),e=document.createElement(null===c?d:c),f=e;null!==c&&(f=document.createElement(d),e.appendChild(f));c=f;Be(this.__text,c,this);\na=a.theme.text;void 0!==a&&Ae(d,0,b,c,a);b=this.__style;\"\"!==b&&(e.style.cssText=b);return e}updateDOM(a,b,c){let d=this.__text;var e=a.__format,f=this.__format,g=ye(this,e);let h=ye(this,f);var k=ze(this,e);let m=ze(this,f);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return e=b.firstChild,null==e&&r(48),a=g=document.createElement(m),Be(d,a,this),c=c.theme.text,void 0!==c&&Ae(m,0,f,a,c),b.replaceChild(g,e),!1;k=b;null!==h&&null!==g&&(k=b.firstChild,null==k&&r(49));Be(d,k,this);c=c.theme.text;\nvoid 0!==c&&e!==f&&Ae(m,e,f,k,c);f=this.__style;a.__style!==f&&(b.style.cssText=f);return!1}static importDOM(){return{\"#text\":()=>({conversion:De,priority:0}),b:()=>({conversion:Ee,priority:0}),code:()=>({conversion:Fe,priority:0}),em:()=>({conversion:Fe,priority:0}),i:()=>({conversion:Fe,priority:0}),span:()=>({conversion:Ke,priority:0}),strong:()=>({conversion:Fe,priority:0}),u:()=>({conversion:Fe,priority:0})}}static importJSON(a){let b=N(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);\nb.setStyle(a.style);return b}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:\"text\",version:1}}selectionTransform(){}setFormat(a){let b=this.getWritable();b.__format=\"string\"===typeof a?Xa[a]:a;return b}setDetail(a){let b=this.getWritable();b.__detail=\"string\"===typeof a?Ya[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){a=Xa[a];return this.setFormat(this.getFormat()^\na)}toggleDirectionless(){let a=this.getWritable();a.__detail^=1;return a}toggleUnmergeable(){let a=this.getWritable();a.__detail^=2;return a}setMode(a){a=ab[a];let b=this.getWritable();b.__mode=a;return b}setTextContent(a){let b=this.getWritable();b.__text=a;return b}select(a,b){H();let c=x();var d=this.getTextContent();let e=this.__key;\"string\"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(E(c))d=Ib(),d!==c.anchor.key&&d!==c.focus.key||K(e),c.setTextNodeRange(this,a,this,b);\nelse return Vd(e,a,e,b,\"text\",\"text\");return c}spliceText(a,b,c,d){let e=this.getWritable(),f=e.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=x();d&&E(k)&&(a+=g,k.setTextNodeRange(e,a,e,a));b=f.slice(0,h)+c+f.slice(h+b);e.__text=b;return e}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){H();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,e=Ib(),f=new Set(a);a=[];var g=c.length,h=\"\";for(var k=0;k<g;k++)\"\"!==h&&f.has(k)&&(a.push(h),h=\"\"),h+=c[k];\"\"!==h&&a.push(h);\nf=a.length;if(0===f)return[];if(a[0]===c)return[b];var m=a[0];c=b.getParentOrThrow();k=c.__key;let l=b.getFormat(),n=b.getStyle(),q=b.__detail;g=!1;b.isSegmented()?(h=N(m),h.__parent=k,h.__format=l,h.__style=n,h.__detail=q,g=!0):(h=b.getWritable(),h.__text=m);b=x();h=[h];m=m.length;for(let y=1;y<f;y++){var v=a[y],w=v.length;v=N(v).getWritable();v.__format=l;v.__style=n;v.__detail=q;let z=v.__key;w=m+w;if(E(b)){let B=b.anchor,F=b.focus;B.key===d&&\"text\"===B.type&&B.offset>m&&B.offset<=w&&(B.key=z,\nB.offset-=m,b.dirty=!0);F.key===d&&\"text\"===F.type&&F.offset>m&&F.offset<=w&&(F.key=z,F.offset-=m,b.dirty=!0)}e===d&&K(z);m=w;v.__parent=k;h.push(v)}Gb(this);e=c.getWritable().__children;d=e.indexOf(d);a=h.map(y=>y.__key);g?(e.splice(d,0,...a),this.remove()):e.splice(d,1,...a);E(b)&&Xd(b,c,d,f-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||a===this.getNextSibling()||r(50);var c=this.__key;let d=a.__key,e=this.__text,f=e.length;Ib()===d&&K(c);let g=x();if(E(g)){let h=g.anchor,\nk=g.focus;null!==h&&h.key===d&&(ae(h,b,c,a,f),g.dirty=!0);null!==k&&k.key===d&&(ae(k,b,c,a,f),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+e:e+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}\nfunction Ke(a){let b=\"700\"===a.style.fontWeight,c=\"line-through\"===a.style.textDecoration,d=\"italic\"===a.style.fontStyle,e=\"underline\"===a.style.textDecoration,f=a.style.verticalAlign;return{forChild:g=>{if(!D(g))return g;b&&g.toggleFormat(\"bold\");c&&g.toggleFormat(\"strikethrough\");d&&g.toggleFormat(\"italic\");e&&g.toggleFormat(\"underline\");\"sub\"===f&&g.toggleFormat(\"subscript\");\"super\"===f&&g.toggleFormat(\"superscript\");return g},node:null}}\nfunction Ee(a){let b=\"normal\"===a.style.fontWeight;return{forChild:c=>{D(c)&&!b&&c.toggleFormat(\"bold\");return c},node:null}}function De(a,b,c){a=a.textContent||\"\";return!c&&/\\n/.test(a)&&(a=a.replace(/\\r?\\n/gm,\" \"),0===a.trim().length)?{node:null}:{node:N(a)}}let Le={code:\"code\",em:\"italic\",i:\"italic\",strong:\"bold\",u:\"underline\"};function Fe(a){let b=Le[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{D(c)&&c.toggleFormat(b);return c},node:null}}\nfunction N(a=\"\"){return jc(new Ce(a))}function D(a){return a instanceof Ce}\nclass Me extends se{static getType(){return\"paragraph\"}static clone(a){return new Me(a.__key)}createDOM(a){let b=document.createElement(\"p\");a=Vb(a.theme,\"paragraph\");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:Ne,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));a&&this.isEmpty()&&a.append(document.createElement(\"br\"));if(a){var b=this.getFormatType();a.style.textAlign=b;if(b=this.getDirection())a.dir=b;b=this.getIndent();\n0<b&&(a.style.textIndent=`${20*b}px`)}return{element:a}}static importJSON(a){let b=ud();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),type:\"paragraph\",version:1}}insertNewAfter(){let a=ud(),b=this.getDirection();a.setDirection(b);this.insertAfter(a);return a}collapseAtStart(){let a=this.getChildren();if(0===a.length||D(a[0])&&\"\"===a[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),this.remove(),\n!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Ne(){return{node:ud()}}function ud(){return jc(new Me)}\nfunction ie(a,b,c,d){let e=a._keyToDOMMap;e.clear();a._editorState=ue();a._pendingEditorState=d;a._compositionKey=null;a._dirtyType=0;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();a._normalizedNodes=new Set;a._updateTags=new Set;a._updates=[];d=a._observer;null!==d&&(d.disconnect(),a._observer=null);null!==b&&(b.textContent=\"\");null!==c&&(c.textContent=\"\",e.set(\"root\",c))}\nfunction Oe(a){let b=new Map,c=new Set;a.forEach(d=>{d=null!=d.klass.importDOM?d.klass.importDOM.bind(d.klass):null;if(null!=d&&!c.has(d)){c.add(d);var e=d();null!==e&&Object.keys(e).forEach(f=>{let g=b.get(f);void 0===g&&(g=[],b.set(f,g));g.push(e[f])})}});return b}\nclass Pe{constructor(a,b,c,d,e,f){this._parentEditor=b;this._rootElement=null;this._editorState=a;this._compositionKey=this._pendingEditorState=null;this._deferred=[];this._keyToDOMMap=new Map;this._updates=[];this._updating=!1;this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set};this._commands=new Map;this._config=d;this._nodes=c;this._decorators={};this._pendingDecorators=null;this._dirtyType=0;this._cloneNotNeeded=new Set;this._dirtyLeaves=\nnew Set;this._dirtyElements=new Map;this._normalizedNodes=new Set;this._updateTags=new Set;this._observer=null;this._key=Qb();this._onError=e;this._htmlConversions=f;this._editable=!0;this._headless=!1;this._window=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(a){let b=this._listeners.update;b.add(a);return()=>{b.delete(a)}}registerEditableListener(a){let b=this._listeners.editable;b.add(a);return()=>{b.delete(a)}}registerDecoratorListener(a){let b=this._listeners.decorator;\nb.add(a);return()=>{b.delete(a)}}registerTextContentListener(a){let b=this._listeners.textcontent;b.add(a);return()=>{b.delete(a)}}registerRootListener(a){let b=this._listeners.root;a(this._rootElement,null);b.add(a);return()=>{a(null,this._rootElement);b.delete(a)}}registerCommand(a,b,c){void 0===c&&r(35);let d=this._commands;d.has(a)||d.set(a,[new Set,new Set,new Set,new Set,new Set]);let e=d.get(a);void 0===e&&r(36);let f=e[c];f.add(b);return()=>{f.delete(b);e.every(g=>0===g.size)&&d.delete(a)}}registerMutationListener(a,\nb){void 0===this._nodes.get(a.getType())&&r(37);let c=this._listeners.mutation;c.set(b,a);return()=>{c.delete(b)}}registerNodeTransform(a,b){a=a.getType();let c=this._nodes.get(a);void 0===c&&r(37);let d=c.transforms;d.add(b);Mb(this,a);return()=>{d.delete(b)}}hasNodes(a){for(let b=0;b<a.length;b++){let c=a[b].getType();if(!this._nodes.has(c))return!1}return!0}dispatchCommand(a,b){return V(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=\nthis._rootElement;if(a!==b){let e=Vb(this._config.theme,\"root\");var c=this._pendingEditorState||this._editorState;this._rootElement=a;ie(this,b,a,c);if(null!==b){if(!this._config.disableEvents){0!==ad&&(ad--,0===ad&&b.ownerDocument.removeEventListener(\"selectionchange\",od));c=b.__lexicalEditor;if(null!==c&&void 0!==c){if(null!==c._parentEditor){var d=Pb(c);d=d[d.length-1]._key;nd.get(d)===c&&nd.delete(d)}else nd.delete(c._key);b.__lexicalEditor=null}c=md(b);for(d=0;d<c.length;d++)c[d]();b.__lexicalEventHandles=\n[]}null!=e&&b.classList.remove(...e)}null!==a?(c=(c=a.ownerDocument)&&c.defaultView||null,d=a.style,d.userSelect=\"text\",d.whiteSpace=\"pre-wrap\",d.wordBreak=\"break-word\",a.setAttribute(\"data-lexical-editor\",\"true\"),this._window=c,this._dirtyType=2,sb(this),this._updateTags.add(\"history-merge\"),he(this),this._config.disableEvents||qd(a,this),null!=e&&a.classList.add(...e)):this._window=null;je(\"root\",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,\nb){a.isEmpty()&&r(38);nb(this);let c=this._pendingEditorState,d=this._updateTags;b=void 0!==b?b.tag:null;null===c||c.isEmpty()||(null!=b&&d.add(b),he(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set(\"root\",!1);this._compositionKey=null;null!=b&&d.add(b);he(this)}parseEditorState(a,b){a=\"string\"===typeof a?JSON.parse(a):a;let c=ue(),d=Y,e=M,f=Z,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=\nnew Set;this._cloneNotNeeded=new Set;this._dirtyType=0;Y=c;M=!1;Z=this;try{fe(a.root,this._nodes),b&&b(),c._readOnly=!0}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,Y=d,M=e,Z=f}return c}update(a,b){A(this,a,b)}focus(a,b={}){let c=this._rootElement;null!==c&&(c.setAttribute(\"autocapitalize\",\"off\"),A(this,()=>{let d=x(),e=Lb();null!==d?d.dirty=!0:0!==e.getChildrenSize()&&(\"rootStart\"===b.defaultSelection?e.selectStart():e.selectEnd())},{onUpdate:()=>{c.removeAttribute(\"autocapitalize\");\na&&a()}}),null===this._pendingEditorState&&c.removeAttribute(\"autocapitalize\"))}blur(){var a=this._rootElement;null!==a&&a.blur();a=t?window.getSelection():null;null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,je(\"editable\",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}class Qe extends se{constructor(a,b){super(b);this.__colSpan=a}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan}}}\nfunction Dd(a){return a instanceof Qe}class Re extends se{}function Bd(a){return a instanceof Re}class Se extends se{}function Cd(a){return a instanceof Se}exports.$addUpdateTag=function(a){H();I()._updateTags.add(a)};exports.$applyNodeReplacement=jc;exports.$copyNode=function(a){a=a.constructor.clone(a);Db(a,null);return a};exports.$createLineBreakNode=Fd;exports.$createNodeSelection=Id;exports.$createParagraphNode=ud;\nexports.$createRangeSelection=function(){let a=new X(\"root\",0,\"element\"),b=new X(\"root\",0,\"element\");return new xd(a,b,0)};exports.$createTextNode=N;exports.$getDecoratorNode=Yb;exports.$getNearestNodeFromDOMNode=ib;exports.$getNearestRootOrShadowRoot=cc;exports.$getNodeByKey=L;exports.$getPreviousSelection=Sb;exports.$getRoot=Lb;exports.$getSelection=x;exports.$getTextContent=function(){let a=x();return null===a?\"\":a.getTextContent()};exports.$hasAncestor=bc;\nexports.$insertNodes=function(a,b){let c=x();null===c&&(c=Lb().selectEnd());return c.insertNodes(a,b)};exports.$isDecoratorNode=C;exports.$isElementNode=G;exports.$isInlineElementOrDecoratorNode=function(a){return G(a)&&a.isInline()||C(a)&&a.isInline()};exports.$isLeafNode=Bb;exports.$isLineBreakNode=Cb;exports.$isNodeSelection=ld;exports.$isParagraphNode=function(a){return a instanceof Me};exports.$isRangeSelection=E;exports.$isRootNode=O;exports.$isRootOrShadowRoot=ic;exports.$isTextNode=D;\nexports.$nodesOfType=function(a){var b=J();let c=b._readOnly,d=a.getType();b=b._nodeMap;let e=[];for(let [,f]of b)f instanceof a&&f.__type===d&&(c||f.isAttached())&&e.push(f);return e};exports.$normalizeSelection__EXPERIMENTAL=qc;exports.$parseSerializedNode=function(a){return fe(a,I()._nodes)};exports.$setCompositionKey=K;exports.$setSelection=lb;exports.BLUR_COMMAND=La;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};exports.CLEAR_HISTORY_COMMAND={};\nexports.CLICK_COMMAND=ca;exports.COMMAND_PRIORITY_CRITICAL=4;exports.COMMAND_PRIORITY_EDITOR=0;exports.COMMAND_PRIORITY_HIGH=3;exports.COMMAND_PRIORITY_LOW=1;exports.COMMAND_PRIORITY_NORMAL=2;exports.CONTROLLED_TEXT_INSERTION_COMMAND=ia;exports.COPY_COMMAND=Ia;exports.CUT_COMMAND=Ja;exports.DELETE_CHARACTER_COMMAND=da;exports.DELETE_LINE_COMMAND=na;exports.DELETE_WORD_COMMAND=la;\nexports.DEPRECATED_$createGridSelection=function(){let a=new X(\"root\",0,\"element\"),b=new X(\"root\",0,\"element\");return new yd(\"root\",a,b)};exports.DEPRECATED_$isGridCellNode=Dd;exports.DEPRECATED_$isGridNode=Bd;exports.DEPRECATED_$isGridRowNode=Cd;exports.DEPRECATED_$isGridSelection=zd;exports.DEPRECATED_GridCellNode=Qe;exports.DEPRECATED_GridNode=Re;exports.DEPRECATED_GridRowNode=Se;exports.DRAGEND_COMMAND=Ha;exports.DRAGOVER_COMMAND=Ga;exports.DRAGSTART_COMMAND=Fa;exports.DROP_COMMAND=Ea;\nexports.DecoratorNode=re;exports.ElementNode=se;exports.FOCUS_COMMAND=Ka;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=p;exports.INDENT_CONTENT_COMMAND={};exports.INSERT_LINE_BREAK_COMMAND=ea;exports.INSERT_PARAGRAPH_COMMAND=ha;exports.KEY_ARROW_DOWN_COMMAND=va;exports.KEY_ARROW_LEFT_COMMAND=sa;exports.KEY_ARROW_RIGHT_COMMAND=qa;exports.KEY_ARROW_UP_COMMAND=ua;exports.KEY_BACKSPACE_COMMAND=Aa;exports.KEY_DELETE_COMMAND=Ca;exports.KEY_ENTER_COMMAND=ya;exports.KEY_ESCAPE_COMMAND=Ba;\nexports.KEY_MODIFIER_COMMAND=Ma;exports.KEY_SPACE_COMMAND=za;exports.KEY_TAB_COMMAND=Da;exports.LineBreakNode=we;exports.MOVE_TO_END=ra;exports.MOVE_TO_START=ta;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=ja;exports.ParagraphNode=Me;exports.REDO_COMMAND=pa;exports.REMOVE_TEXT_COMMAND=ka;exports.RootNode=te;exports.SELECTION_CHANGE_COMMAND=ba;exports.TextNode=Ce;exports.UNDO_COMMAND=oa;exports.VERSION=\"0.6.3\";exports.createCommand=function(){return{}};\nexports.createEditor=function(a){var b=a||{},c=Z,d=b.theme||{};let e=void 0===a?c:b.parentEditor||null,f=b.disableEvents||!1,g=ue(),h=b.namespace||(null!==e?e._config.namespace:Qb()),k=b.editorState,m=[te,Ce,we,Me,...(b.nodes||[])],l=b.onError;b=void 0!==b.editable?b.editable:!0;if(void 0===a&&null!==c)a=c._nodes;else for(a=new Map,c=0;c<m.length;c++){let q=m[c];var n=null;\"function\"!==typeof q&&(n=q,q=n.replace,n=n.with);let v=q.getType();a.set(v,{klass:q,replace:n,transforms:new Set})}d=new Pe(g,\ne,a,{disableEvents:f,namespace:h,theme:d},l?l:console.error,Oe(a),b);void 0!==k&&(d._pendingEditorState=k,d._dirtyType=2);return d}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst Lexical = process.env.NODE_ENV === 'development' ? require('./Lexical.dev.js') : require('./Lexical.prod.js')\nmodule.exports = Lexical;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"@lexical/react/LexicalComposerContext\"),f=require(\"lexical\"),g=require(\"react\"),m=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?g.useLayoutEffect:g.useEffect;let n={tag:\"history-merge\"};\nfunction p(a,c){if(null!==c)if(void 0===c)a.update(()=>{var b=f.$getRoot();if(b.isEmpty()){let d=f.$createParagraphNode();b.append(d);b=document.activeElement;(null!==f.$getSelection()||null!==b&&b===a.getRootElement())&&d.select()}},n);else if(null!==c)switch(typeof c){case \"string\":let b=a.parseEditorState(c);a.setEditorState(b,n);break;case \"object\":a.setEditorState(c,n);break;case \"function\":a.update(()=>{f.$getRoot().isEmpty()&&c(a)},n)}}\nexports.LexicalComposer=function({initialConfig:a,children:c}){let b=g.useMemo(()=>{const {theme:d,namespace:h,editor__DEPRECATED:q,nodes:r,onError:t,editorState:u}=a,v=e.createLexicalComposerContext(null,d);let k=q||null;if(null===k){const l=f.createEditor({editable:!1,namespace:h,nodes:r,onError:w=>t(w,l),theme:d});p(l,u);k=l}return[k,v]},[]);m(()=>{let d=a.editable,[h]=b;h.setEditable(void 0!==d?d:!0)},[]);return g.createElement(e.LexicalComposerContext.Provider,{value:b},c)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalComposer = process.env.NODE_ENV === 'development' ? require('./LexicalComposer.dev.js') : require('./LexicalComposer.prod.js')\nmodule.exports = LexicalComposer;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"lexical\");function p(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}function q(a,b){for(let d of b)if(a.type.startsWith(d))return!0;return!1}function r(a,b){for(;a!==l.$getRoot()&&null!=a;){if(b(a))return a;a=a.getParent()}return null}\nfunction t(a,b,d,g,f){var c=d._nodes.get(a.__type);void 0===c&&p(5);for(var e in a){var k=a[e];if(null!=k&&\"object\"===typeof k&&(k=k.editorState,null!=k)){var h=l.createEditor({namespace:k.namespace});h._nodes=d._nodes;h._parentEditor=d._parentEditor;h._pendingEditorState=u(h,k);a[e]=h}}c=c.klass;e=a.__key;a.__key=void 0;c=c.clone(a);a.__key=e;e=c.__key;f._nodeMap.set(e,c);c.__parent=g;if(l.$isElementNode(c)){g=a.__children;for(k=0;k<g.length;k++)h=b.get(g[k]),void 0!==h&&(h=t(h,b,d,e,f).__key,c.__children.push(h));\nc.__indent=a.__indent;c.__format=a.__format;c.__dir=a.__dir}else l.$isTextNode(c)&&(c.__format=a.__format,c.__style=a.__style,c.__mode=a.__mode,c.__detail=a.__detail);return c}\nfunction v(a,b){let d=b._editorState.constructor,g=new Map,f=new d(g),c=new Map(a._nodeMap),e=c.get(\"root\");a=b._updating;try{b._updating=!1,b.update(()=>{let k=b._dirtyElements,h=b._dirtyLeaves,m=b._dirtyType;b._dirtyElements=new Map;b._dirtyLeaves=new Set;b._dirtyType=0;try{t(e,c,b,null,f)}finally{b._dirtyElements=k,b._dirtyLeaves=h,b._dirtyType=m}})}finally{b._updating=a}f._readOnly=!0;return f}function u(a,b){b=\"string\"===typeof b?JSON.parse(b):b;return v(b,a)}\nfunction w(a,b){let d=a.getChildAtIndex(b);null==d&&(d=a);let g=e=>{const k=e.getParentOrThrow(),h=l.$isRootOrShadowRoot(k),m=e!==d||h?l.$copyNode(e):e;if(h)return e.insertAfter(m),[e,m,m];const [n,x,y]=g(k);e=e.getNextSiblings();y.append(m,...e);return[n,x,m]},[f,c]=g(d);return[f,c]}\nexports.$dfs=function(a,b){let d=[];a=(a||l.$getRoot()).getLatest();b=b||(l.$isElementNode(a)?a.getLastDescendant():a);for(var g=a,f=0;null!==(g=g.getParent());)f++;for(g=f;null!==a&&!a.is(b);)if(d.push({depth:g,node:a}),l.$isElementNode(a)&&0<a.getChildrenSize())a=a.getFirstChild(),g++;else for(f=null;null===f&&null!==a;)f=a.getNextSibling(),null===f?(a=a.getParent(),g--):a=f;null!==a&&a.is(b)&&d.push({depth:g,node:a});return d};exports.$findMatchingParent=r;\nexports.$getNearestBlockElementAncestorOrThrow=function(a){a=r(a,b=>l.$isElementNode(b)&&!b.isInline());l.$isElementNode(a)||p(4);return a};exports.$getNearestNodeOfType=function(a,b){for(;null!=a;){if(a instanceof b)return a;a=a.getParent()}return null};\nexports.$insertNodeToNearestRoot=function(a){var b=l.$getSelection();if(l.$isRangeSelection(b)){var {focus:d}=b;b=d.getNode();d=d.offset;let g,f;l.$isTextNode(b)?(g=b.getParentOrThrow(),f=b.getIndexWithinParent(),0<d&&(f+=1,b.splitText(d))):(g=b,f=d);[,b]=w(g,f);b.insertBefore(a);b.selectStart()}else l.$isNodeSelection(b)||l.DEPRECATED_$isGridSelection(b)?(b=b.getNodes(),b[b.length-1].getTopLevelElementOrThrow().insertAfter(a)):l.$getRoot().append(a),b=l.$createParagraphNode(),a.insertAfter(b),b.select();\nreturn a.getLatest()};exports.$restoreEditorState=function(a,b){let d=new Map(b._nodeMap),g=a._pendingEditorState;g&&(g._nodeMap=d);a._dirtyType=2;a=b._selection;l.$setSelection(null===a?null:a.clone())};exports.$splitNode=w;exports.$wrapNodeInElement=function(a,b){b=b();a.replace(b);b.append(a);return b};exports.addClassNamesToElement=function(a,...b){b.forEach(d=>{\"string\"===typeof d&&(d=d.split(\" \").filter(g=>\"\"!==g),a.classList.add(...d))})};exports.isMimeType=q;\nexports.mediaFileReader=function(a,b){let d=a[Symbol.iterator]();return new Promise((g,f)=>{let c=[],e=()=>{const {done:k,value:h}=d.next();if(k)return g(c);const m=new FileReader;m.addEventListener(\"error\",f);m.addEventListener(\"load\",()=>{const n=m.result;\"string\"===typeof n&&c.push({file:h,result:n});e()});q(h,b)?m.readAsDataURL(h):e()};e()})};exports.mergeRegister=function(...a){return()=>{a.forEach(b=>b())}};\nexports.registerNestedElementResolver=function(a,b,d,g){return a.registerNodeTransform(b,f=>{a:{var c=f.getChildren();for(var e=0;e<c.length;e++)if(c[e]instanceof b){c=null;break a}for(c=f;null!==c;)if(e=c,c=c.getParent(),c instanceof b){c={child:e,parent:c};break a}c=null}if(null!==c){const {child:k,parent:h}=c;if(k.is(f)){g(h,f);f=k.getNextSiblings();c=f.length;h.insertAfter(k);if(0!==c){e=d(h);k.insertAfter(e);for(let m=0;m<c;m++)e.append(f[m])}h.canBeEmpty()||0!==h.getChildrenSize()||h.remove()}}})};\nexports.removeClassNamesFromElement=function(a,...b){b.forEach(d=>{\"string\"===typeof d&&a.classList.remove(...d.split(\" \"))})};exports.unstable_convertLegacyJSONEditorState=u\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalUtils = process.env.NODE_ENV === 'development' ? require('./LexicalUtils.dev.js') : require('./LexicalUtils.prod.js')\nmodule.exports = LexicalUtils;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"lexical\"),k=require(\"@lexical/utils\");function m(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}function n(a){let b=1;for(a=a.getParent();null!=a;){if(p(a)){a=a.getParent();if(q(a)){b++;a=a.getParent();continue}m(40)}break}return b}\nfunction r(a){a=a.getParent();q(a)||m(40);let b=a;for(;null!==b;)b=b.getParent(),q(b)&&(a=b);return a}function t(a){let b=[];a=a.getChildren().filter(p);for(let c=0;c<a.length;c++){let d=a[c],e=d.getFirstChild();q(e)?b=b.concat(t(e)):b.push(d)}return b}function u(a){return p(a)&&q(a.getFirstChild())}function v(a){for(;null==a.getNextSibling()&&null==a.getPreviousSibling();){let b=a.getParent();if(null==b||!p(a)&&!q(a))break;a=b}a.remove()}function w(a){return z().append(a)}\nfunction A(a,b){return p(a)&&(0===b.length||1===b.length&&a.is(b[0])&&0===a.getChildrenSize())}function C(a,b){a.splice(a.getChildrenSize(),0,b)}\nfunction D(a,b){if(q(a))return a;let c=a.getPreviousSibling(),d=a.getNextSibling(),e=z();e.setFormat(a.getFormatType());e.setIndent(a.getIndent());C(e,a.getChildren());if(q(c)&&b===c.getListType())return c.append(e),a.remove(),q(d)&&b===d.getListType()&&(C(c,d.getChildren()),d.remove()),c;if(q(d)&&b===d.getListType())return d.getFirstChildOrThrow().insertBefore(e),a.remove(),d;b=E(b);b.append(e);a.replace(b);F(b);return b}\nfunction F(a,b){a=b||a.getChildren();if(void 0!==a)for(b=0;b<a.length;b++){let f=a[b];if(p(f)){let g=f.getValue();var c=f,d=c.getParent(),e=1;null!=d&&(q(d)?e=d.getStart():m(44));c=c.getPreviousSiblings();for(d=0;d<c.length;d++){let l=c[d];p(l)&&!q(l.getFirstChild())&&e++}g!==e&&f.setValue(e)}}}\nfunction G(a){let b=new Set;a.forEach(c=>{if(!u(c)&&!b.has(c.getKey())){var d=c.getParent(),e=c.getNextSibling(),f=c.getPreviousSibling();if(u(e)&&u(f))f=f.getFirstChild(),q(f)&&(f.append(c),c=e.getFirstChild(),q(c)&&(c=c.getChildren(),C(f,c),e.remove(),b.add(e.getKey())),F(f));else if(u(e))e=e.getFirstChild(),q(e)&&(f=e.getFirstChild(),null!==f&&f.insertBefore(c),F(e));else if(u(f))e=f.getFirstChild(),q(e)&&(e.append(c),F(e));else if(q(d)){let g=z(),l=E(d.getListType());g.append(l);l.append(c);f?\nf.insertAfter(g):e?e.insertBefore(g):d.append(g)}q(d)&&F(d)}})}\nfunction H(a){a.forEach(b=>{if(!u(b)){var c=b.getParent(),d=c?c.getParent():void 0,e=d?d.getParent():void 0;if(q(e)&&p(d)&&q(c)){var f=c?c.getFirstChild():void 0,g=c?c.getLastChild():void 0;if(b.is(f))d.insertBefore(b),c.isEmpty()&&d.remove();else if(b.is(g))d.insertAfter(b),c.isEmpty()&&d.remove();else{var l=c.getListType();f=z();let x=E(l);f.append(x);b.getPreviousSiblings().forEach(y=>x.append(y));g=z();l=E(l);g.append(l);C(l,b.getNextSiblings());d.insertBefore(f);d.insertAfter(g);d.replace(b)}F(c);\nF(e)}}})}function I(a){var b=h.$getSelection();if(h.$isRangeSelection(b)){var c=b.getNodes(),d=[];0===c.length&&c.push(b.anchor.getNode());if(1===c.length){a:{for(c=c[0];null!==c;){if(p(c))break a;c=c.getParent()}c=null}null!==c&&(d=[c])}else{d=new Set;for(b=0;b<c.length;b++){let e=c[b];p(e)&&d.add(e)}d=Array.from(d)}0<d.length&&(\"indent\"===a?G(d):H(d))}}\nclass J extends h.ElementNode{static getType(){return\"listitem\"}static clone(a){return new J(a.__value,a.__checked,a.__key)}constructor(a,b,c){super(c);this.__value=void 0===a?1:a;this.__checked=b}createDOM(a){let b=document.createElement(\"li\"),c=this.getParent();q(c)&&(F(c),K(b,this,null,c));b.value=this.__value;L(b,a.theme,this);return b}updateDOM(a,b,c){let d=this.getParent();q(d)&&(F(d),K(b,this,a,d));b.value=this.__value;L(b,c.theme,this);return!1}static importDOM(){return{li:()=>({conversion:M,\npriority:0})}}static importJSON(a){let b=new J(a.value,a.checked);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:\"listitem\",value:this.getValue(),version:1}}append(...a){for(let b=0;b<a.length;b++){let c=a[b];if(h.$isElementNode(c)&&this.canMergeWith(c)){let d=c.getChildren();this.append(...d);c.remove()}else super.append(c)}return this}replace(a){if(p(a))return super.replace(a);let b=this.getParentOrThrow();\nif(q(b)){var c=b.__children;let e=c.length;var d=c.indexOf(this.__key);if(0===d)b.insertBefore(a);else if(d===e-1)b.insertAfter(a);else{c=E(b.getListType());let f=b.getChildren();for(d+=1;d<e;d++)c.append(f[d]);b.insertAfter(a);a.insertAfter(c)}this.remove();1===e&&b.remove()}return a}insertAfter(a){var b=this.getParentOrThrow();q(b)||m(39);var c=this.getNextSiblings();if(p(a))return b=super.insertAfter(a),a=a.getParentOrThrow(),q(a)&&F(a),b;if(q(a)&&a.getListType()===b.getListType()){b=a;a=a.getChildren();\nfor(c=a.length-1;0<=c;c--)b=a[c],this.insertAfter(b);return b}b.insertAfter(a);if(0!==c.length){let d=E(b.getListType());c.forEach(e=>d.append(e));a.insertAfter(d)}return a}remove(a){let b=this.getNextSibling();super.remove(a);null!==b&&(a=b.getParent(),q(a)&&F(a))}insertNewAfter(){let a=z(null==this.__checked?void 0:!1);this.insertAfter(a);return a}collapseAtStart(a){let b=h.$createParagraphNode();this.getChildren().forEach(f=>b.append(f));var c=this.getParentOrThrow(),d=c.getParentOrThrow();let e=\np(d);1===c.getChildrenSize()?e?(c.remove(),d.select()):(c.replace(b),c=a.anchor,a=a.focus,d=b.getKey(),\"element\"===c.type&&c.getNode().is(this)&&c.set(d,c.offset,\"element\"),\"element\"===a.type&&a.getNode().is(this)&&a.set(d,a.offset,\"element\")):(c.insertBefore(b),this.remove());return!0}getValue(){return this.getLatest().__value}setValue(a){this.getWritable().__value=a}getChecked(){return this.getLatest().__checked}setChecked(a){this.getWritable().__checked=a}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){var a=\nthis.getParent();if(null===a)return this.getLatest().__indent;a=a.getParentOrThrow();let b=0;for(;p(a);)a=a.getParentOrThrow().getParentOrThrow(),b++;return b}setIndent(a){let b=this.getIndent();for(;b!==a;)b<a?(G([this]),b++):(H([this]),b--);return this}canIndent(){return!1}insertBefore(a){if(p(a)){let b=this.getParentOrThrow();if(q(b)){let c=this.getNextSiblings();F(b,c)}}return super.insertBefore(a)}canInsertAfter(a){return p(a)}canReplaceWith(a){return p(a)}canMergeWith(a){return h.$isParagraphNode(a)||\np(a)}extractWithChild(a,b){if(!h.$isRangeSelection(b))return!1;a=b.anchor.getNode();let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&this.getTextContent().length===b.getTextContent().length}}\nfunction L(a,b,c){let d=[],e=[];var f=(b=b.list)?b.listitem:void 0;if(b&&b.nested)var g=b.nested.listitem;void 0!==f&&(f=f.split(\" \"),d.push(...f));if(b){f=c.getParent();f=q(f)&&\"check\"===f.getListType();let l=c.getChecked();f&&!l||e.push(b.listitemUnchecked);f&&l||e.push(b.listitemChecked);f&&d.push(l?b.listitemChecked:b.listitemUnchecked)}void 0!==g&&(g=g.split(\" \"),c.getChildren().some(l=>q(l))?d.push(...g):e.push(...g));0<e.length&&k.removeClassNamesFromElement(a,...e);0<d.length&&k.addClassNamesToElement(a,\n...d)}function K(a,b,c,d){\"check\"===d.getListType()?q(b.getFirstChild())?(a.removeAttribute(\"role\"),a.removeAttribute(\"tabIndex\"),a.removeAttribute(\"aria-checked\")):(a.setAttribute(\"role\",\"checkbox\"),a.setAttribute(\"tabIndex\",\"-1\"),c&&b.__checked===c.__checked||a.setAttribute(\"aria-checked\",b.getChecked()?\"true\":\"false\")):null!=b.getChecked()&&b.setChecked(void 0)}function M(){return{node:z()}}function z(a){return h.$applyNodeReplacement(new J(void 0,a))}function p(a){return a instanceof J}\nclass N extends h.ElementNode{static getType(){return\"list\"}static clone(a){return new N(a.__listType||O[a.__tag],a.__start,a.__key)}constructor(a,b,c){super(c);this.__listType=a=O[a]||a;this.__tag=\"number\"===a?\"ol\":\"ul\";this.__start=b}getTag(){return this.__tag}getListType(){return this.__listType}getStart(){return this.__start}createDOM(a){let b=document.createElement(this.__tag);1!==this.__start&&b.setAttribute(\"start\",String(this.__start));b.__lexicalListType=this.__listType;P(b,a.theme,this);\nreturn b}updateDOM(a,b,c){if(a.__tag!==this.__tag)return!0;P(b,c.theme,this);return!1}static importDOM(){return{ol:()=>({conversion:Q,priority:0}),ul:()=>({conversion:Q,priority:0})}}static importJSON(a){let b=E(a.listType,a.start);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:\"list\",version:1}}canBeEmpty(){return!1}canIndent(){return!1}append(...a){for(let c=\n0;c<a.length;c++){var b=a[c];if(p(b))super.append(b);else{let d=z();q(b)?d.append(b):h.$isElementNode(b)?(b=h.$createTextNode(b.getTextContent()),d.append(b)):d.append(b);super.append(d)}}return this}extractWithChild(a){return p(a)}}\nfunction P(a,b,c){let d=[],e=[];var f=b.list;if(void 0!==f){let l=f[`${c.__tag}Depth`]||[];b=n(c)-1;let x=b%l.length;var g=l[x];let y=f[c.__tag],B;f=f.nested;void 0!==f&&f.list&&(B=f.list);void 0!==y&&d.push(y);if(void 0!==g)for(g=g.split(\" \"),d.push(...g),g=0;g<l.length;g++)g!==x&&e.push(c.__tag+g);void 0!==B&&(c=B.split(\" \"),1<b?d.push(...c):e.push(...c))}0<e.length&&k.removeClassNamesFromElement(a,...e);0<d.length&&k.addClassNamesToElement(a,...d)}\nfunction R(a){let b=[];for(let c=0;c<a.length;c++){let d=a[c];p(d)?(b.push(d),d.getChildren().forEach(e=>{q(e)&&b.push(w(e))})):b.push(w(d))}return b}function Q(a){a=a.nodeName.toLowerCase();let b=null;\"ol\"===a?b=E(\"number\"):\"ul\"===a&&(b=E(\"bullet\"));return{after:R,node:b}}let O={ol:\"number\",ul:\"bullet\"};function E(a,b=1){return h.$applyNodeReplacement(new N(a,b))}function q(a){return a instanceof N}\nlet S=h.createCommand(\"INSERT_UNORDERED_LIST_COMMAND\"),T=h.createCommand(\"INSERT_ORDERED_LIST_COMMAND\"),U=h.createCommand(\"INSERT_CHECK_LIST_COMMAND\"),V=h.createCommand(\"REMOVE_LIST_COMMAND\");exports.$createListItemNode=z;exports.$createListNode=E;exports.$getListDepth=n;\nexports.$handleListInsertParagraph=function(){var a=h.$getSelection();if(!h.$isRangeSelection(a)||!a.isCollapsed())return!1;a=a.anchor.getNode();if(!p(a)||\"\"!==a.getTextContent())return!1;var b=r(a),c=a.getParent();q(c)||m(40);let d=c.getParent(),e;if(h.$isRootOrShadowRoot(d))e=h.$createParagraphNode(),b.insertAfter(e);else if(p(d))e=z(),d.insertAfter(e);else return!1;e.select();b=a.getNextSiblings();if(0<b.length){let f=E(c.getListType());h.$isParagraphNode(e)?e.insertAfter(f):(c=z(),c.append(f),\ne.insertAfter(c));b.forEach(g=>{g.remove();f.append(g)})}v(a);return!0};exports.$isListItemNode=p;exports.$isListNode=q;exports.INSERT_CHECK_LIST_COMMAND=U;exports.INSERT_ORDERED_LIST_COMMAND=T;exports.INSERT_UNORDERED_LIST_COMMAND=S;exports.ListItemNode=J;exports.ListNode=N;exports.REMOVE_LIST_COMMAND=V;exports.indentList=function(){I(\"indent\")};\nexports.insertList=function(a,b){a.update(()=>{var c=h.$getSelection();if(h.$isRangeSelection(c)||h.DEPRECATED_$isGridSelection(c)){var d=c.getNodes();c=c.anchor.getNode();var e=c.getParent();if(A(c,d))d=E(b),h.$isRootOrShadowRoot(e)?(c.replace(d),e=z(),h.$isElementNode(c)&&(e.setFormat(c.getFormatType()),e.setIndent(c.getIndent())),d.append(e)):p(c)&&(c=c.getParentOrThrow(),C(d,c.getChildren()),c.replace(d));else for(c=new Set,e=0;e<d.length;e++){var f=d[e];if(h.$isElementNode(f)&&f.isEmpty()&&!c.has(f.getKey()))D(f,\nb);else if(h.$isLeafNode(f))for(f=f.getParent();null!=f;){let l=f.getKey();if(q(f)){if(!c.has(l)){var g=E(b);C(g,f.getChildren());f.replace(g);F(g);c.add(l)}break}else{g=f.getParent();if(h.$isRootOrShadowRoot(g)&&!c.has(l)){c.add(l);D(f,b);break}f=g}}}}})};exports.outdentList=function(){I(\"outdent\")};\nexports.removeList=function(a){a.update(()=>{let b=h.$getSelection();if(h.$isRangeSelection(b)){var c=new Set,d=b.getNodes(),e=b.anchor.getNode();if(A(e,d))c.add(r(e));else for(e=0;e<d.length;e++){var f=d[e];h.$isLeafNode(f)&&(f=k.$getNearestNodeOfType(f,J),null!=f&&c.add(r(f)))}for(let g of c){c=g;d=t(g);for(let l of d)d=h.$createParagraphNode(),C(d,l.getChildren()),c.insertAfter(d),c=d,l.__key===b.anchor.key&&b.anchor.set(d.getKey(),0,\"element\"),l.__key===b.focus.key&&b.focus.set(d.getKey(),0,\"element\"),\nl.remove();g.remove()}}})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalList = process.env.NODE_ENV === 'development' ? require('./LexicalList.dev.js') : require('./LexicalList.prod.js')\nmodule.exports = LexicalList;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"lexical\");let u=new Map;function v(a){return{nodeMap:a.getNodes().map(b=>{const c=b.getKey();b=w(b);return[c,b]}),range:[a.gridKey]}}function x(a){for(;null!=a;){if(a.nodeType===Node.TEXT_NODE)return a;a=a.firstChild}return null}function z(a){let b=a.parentNode;if(null==b)throw Error(\"Should never happen\");return[b,Array.from(b.childNodes).indexOf(a)]}\nfunction A(a){let b={};a=a.split(\";\");for(let c of a)if(\"\"!==c){let [f,d]=c.split(/:([^]+)/);b[f.trim()]=d.trim()}return b}function B(a){let b=u.get(a);void 0===b&&(b=A(a),u.set(a,b));return b}function C(a){let b=\"\";for(let c in a)c&&(b+=`${c}: ${a[c]};`);return b}function D(a){for(;null!==a&&!l.$isRootOrShadowRoot(a);){let b=a.getLatest(),c=a.getParent();0===b.__children.length&&a.remove(!0);a=c}}\nfunction E(a,b,c,f,d=null){if(0!==b.length){var e=b[0],k=new Map,g=[];e=l.$isElementNode(e)?e:e.getParentOrThrow();e.isInline()&&(e=e.getParentOrThrow());for(var h=!1;null!==e;){var p=e.getPreviousSibling();if(null!==p){e=p;h=!0;break}e=e.getParentOrThrow();if(l.$isRootOrShadowRoot(e))break}p=new Set;for(var q=0;q<c;q++){var m=b[q];l.$isElementNode(m)&&0===m.getChildrenSize()&&p.add(m.getKey())}var n=new Set;for(q=0;q<c;q++){m=b[q];var r=m.getParent();null!==r&&r.isInline()&&(r=r.getParent());if(null!==\nr&&l.$isLeafNode(m)&&!n.has(m.getKey())){if(m=r.getKey(),void 0===k.get(m)){let t=f();t.setFormat(r.getFormatType());t.setIndent(r.getIndent());g.push(t);k.set(m,t);r.getChildren().forEach(y=>{t.append(y);n.add(y.getKey());l.$isElementNode(y)&&y.getChildrenKeys().forEach(J=>n.add(J))});D(r)}}else p.has(m.getKey())&&(r=f(),r.setFormat(m.getFormatType()),r.setIndent(m.getIndent()),g.push(r),m.remove(!0))}if(null!==d)for(b=0;b<g.length;b++)d.append(g[b]);b=null;if(l.$isRootOrShadowRoot(e))if(h)if(null!==\nd)e.insertAfter(d);else for(d=g.length-1;0<=d;d--)e.insertAfter(g[d]);else if(h=e.getFirstChild(),l.$isElementNode(h)&&(e=h),null===h)if(d)e.append(d);else for(d=0;d<g.length;d++)h=g[d],e.append(h),b=h;else if(null!==d)h.insertBefore(d);else for(e=0;e<g.length;e++)d=g[e],h.insertBefore(d),b=d;else if(d)e.insertAfter(d);else for(d=g.length-1;0<=d;d--)h=g[d],e.insertAfter(h),b=h;g=l.$getPreviousSelection();l.$isRangeSelection(g)&&g.anchor.getNode().isAttached()&&g.focus.getNode().isAttached()?l.$setSelection(g.clone()):\nnull!==b?b.selectEnd():a.dirty=!0}}function F(a,b,c,f){a.modify(b?\"extend\":\"move\",c,f)}function G(a){a=a.anchor.getNode();return\"rtl\"===(l.$isRootNode(a)?a:a.getParentOrThrow()).getDirection()}\nfunction H(a,b,c,f,d,e){for(var k=b;null!==a;){for(b=a.getParent();null!==b&&b.excludeFromCopy(\"clone\");)b=b.getParent();if(null===b)break;if(!l.$isElementNode(a)||!a.excludeFromCopy(\"clone\")){let g=a.getKey(),h=e.get(g),p=void 0===h;p&&(h=w(a),e.set(g,h));!l.$isTextNode(h)||h.isSegmented()||h.isToken()?l.$isElementNode(h)&&(h.__children=h.__children.slice(f?k:0,f?void 0:(k||0)+1)):h.__text=h.__text.slice(f?k:0,f?c:k);if(l.$isRootNode(b)){p&&d.push(g);break}}k=e.get(b.getKey());k=l.$isElementNode(k)?\nk.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=b}}function w(a){a=a.getLatest();let b=a.constructor.clone(a);b.__parent=a.__parent;if(l.$isElementNode(a)&&l.$isElementNode(b))return b.__children=Array.from(a.__children),b.__format=a.__format,b.__indent=a.__indent,b.__dir=a.__dir,b;l.$isTextNode(a)&&l.$isTextNode(b)&&(b.__format=a.__format,b.__style=a.__style,b.__mode=a.__mode,b.__detail=a.__detail);return b}\nfunction I(a,b){var c=B(a.getStyle());b=Object.entries(b).reduce((f,[d,e])=>{null===e?delete f[d]:f[d]=e;return f},{...c});c=C(b);a.setStyle(c);u.set(c,b)}exports.$addNodeStyle=function(a){a=a.getStyle();let b=A(a);u.set(a,b)};\nexports.$cloneContents=function(a){var b={nodeMap:[],range:[]};if(l.$isRangeSelection(a)){{var c=a.anchor,f=a.focus;let [p,q]=a.getCharacterOffsets();b=a.getNodes();if(0===b.length||1===b.length&&l.$isElementNode(b[0])&&b[0].excludeFromCopy(\"clone\"))b={nodeMap:[],range:[]};else{a=b.length;var d=b[0],e=d.getParent();if(null!==e&&(!e.canBeEmpty()||l.$isRootNode(e))){var k=e.__children;if(k.length===a){var g=!0;for(var h=0;h<k.length;h++)if(k[h]!==b[h].__key){g=!1;break}g&&(a++,b.push(e))}}e=b[a-1];\nc=c.isBefore(f);f=new Map;k=[];g=l.$isTextNode(d)&&1===a;H(d,c?p:q,g?c?q:p:void 0,!0,k,f);for(d=0;d<a;d++){h=b[d];let m=h.getKey();if(!(f.has(m)||l.$isElementNode(h)&&h.excludeFromCopy(\"clone\"))){let n=w(h);l.$isRootNode(h.getParent())&&k.push(h.getKey());\"root\"!==m&&f.set(m,n)}}H(e,g?void 0:c?q:p,void 0,!1,k,f);b={nodeMap:Array.from(f.entries()),range:k}}}}else if(l.DEPRECATED_$isGridSelection(a))b=v(a);else if(l.$isNodeSelection(a))throw Error(\"Minified Lexical error #1; visit https://lexical.dev/docs/error?code=1 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");\nreturn b};exports.$cloneWithProperties=w;exports.$getSelectionStyleValueForProperty=function(a,b,c=\"\"){let f=null,d=a.getNodes();var e=a.anchor,k=a.focus,g=a.isBackward();a=g?k.offset:e.offset;e=g?k.getNode():e.getNode();for(k=0;k<d.length;k++){var h=d[k];if((0===k||0!==a||!h.is(e))&&l.$isTextNode(h)){g=b;var p=c;h=h.getStyle();h=B(h);g=null!==h?h[g]||p:p;if(null===f)f=g;else if(f!==g){f=\"\";break}}}return null===f?c:f};\nexports.$isAtNodeEnd=function(a){return\"text\"===a.type?a.offset===a.getNode().getTextContentSize():a.offset===a.getNode().getChildrenSize()};exports.$isParentElementRTL=G;exports.$moveCaretSelection=F;exports.$moveCharacter=function(a,b,c){let f=G(a);F(a,b,c?!f:f,\"character\")};\nexports.$patchStyleText=function(a,b){var c=a.getNodes();let f=c.length-1,d=c[0],e=c[f];if(!a.isCollapsed()){var k=a.anchor,g=a.focus,h=d.getTextContent().length,p=g.offset,q=k.offset,m=k.isBefore(g),n=m?q:p;a=m?p:q;var r=m?k.type:g.type,t=m?g.type:k.type;k=m?g.key:k.key;l.$isTextNode(d)&&n===h&&(g=d.getNextSibling(),l.$isTextNode(g)&&(n=q=0,d=g));if(d.is(e))l.$isTextNode(d)&&(n=\"element\"===r?0:q>p?p:q,a=\"element\"===t?h:q>p?q:p,n!==a&&(0===n&&a===h?(I(d,b),d.select(n,a)):(c=d.splitText(n,a),c=0===\nn?c[0]:c[1],I(c,b),c.select(0,a-n))));else for(l.$isTextNode(d)&&n<d.getTextContentSize()&&(0!==n&&(d=d.splitText(n)[1]),I(d,b)),l.$isTextNode(e)&&(n=e.getTextContent().length,e.__key!==k&&0!==a&&(a=n),a!==n&&([e]=e.splitText(a)),0!==a&&I(e,b)),a=1;a<f;a++)n=c[a],h=n.getKey(),l.$isTextNode(n)&&h!==d.getKey()&&h!==e.getKey()&&!n.isToken()&&I(n,b)}};\nexports.$selectAll=function(a){let b=a.anchor;a=a.focus;var c=b.getNode().getTopLevelElementOrThrow().getParentOrThrow();let f=c.getFirstDescendant();c=c.getLastDescendant();let d=\"element\",e=\"element\",k=0;l.$isTextNode(f)?d=\"text\":l.$isElementNode(f)||null===f||(f=f.getParentOrThrow());l.$isTextNode(c)?(e=\"text\",k=c.getTextContentSize()):l.$isElementNode(c)||null===c||(c=c.getParentOrThrow());f&&c&&(b.set(f.getKey(),0,d),a.set(c.getKey(),k,e))};\nexports.$shouldOverrideDefaultCharacterSelection=function(a,b){a=l.$getDecoratorNode(a.focus,b);return l.$isDecoratorNode(a)&&!a.isIsolated()};\nexports.$sliceSelectedTextNodeContent=function(a,b){if(b.isSelected()&&!b.isSegmented()&&!b.isToken()&&(l.$isRangeSelection(a)||l.DEPRECATED_$isGridSelection(a))){var c=a.anchor.getNode(),f=a.focus.getNode(),d=b.is(c),e=b.is(f);if(d||e){d=a.isBackward();let [k,g]=a.getCharacterOffsets();a=c.is(f);e=b.is(d?f:c);f=b.is(d?c:f);c=0;let h=void 0;a?(c=k>g?g:k,h=k>g?k:g):e?(c=d?g:k,h=void 0):f&&(d=d?k:g,c=0,h=d);b.__text=b.__text.slice(c,h)}}return b};\nexports.$wrapNodes=function(a,b,c=null){var f=a.getNodes();let d=f.length;var e=a.anchor;if(0===d||1===d&&\"element\"===e.type&&0===e.getNode().getChildrenSize()){a=\"text\"===e.type?e.getNode().getParentOrThrow():e.getNode();f=a.getChildren();let g=b();g.setFormat(a.getFormatType());g.setIndent(a.getIndent());f.forEach(h=>g.append(h));c&&(g=c.append(g));a.replace(g)}else{e=null;var k=[];for(let g=0;g<d;g++){let h=f[g];l.$isRootOrShadowRoot(h)?(E(a,k,k.length,b,c),k=[],e=h):null===e||null!==e&&l.$hasAncestor(h,\ne)?k.push(h):(E(a,k,k.length,b,c),k=[h])}E(a,k,k.length,b,c)}};exports.$wrapNodesImpl=E;\nexports.createDOMRange=function(a,b,c,f,d){let e=b.getKey(),k=f.getKey(),g=document.createRange(),h=a.getElementByKey(e);a=a.getElementByKey(k);l.$isTextNode(b)&&(h=x(h));l.$isTextNode(f)&&(a=x(a));if(void 0===b||void 0===f||null===h||null===a)return null;\"BR\"===h.nodeName&&([h,c]=z(h));\"BR\"===a.nodeName&&([a,d]=z(a));b=h.firstChild;h===a&&null!=b&&\"BR\"===b.nodeName&&0===c&&0===d&&(d=1);try{g.setStart(h,c),g.setEnd(a,d)}catch(p){return null}!g.collapsed||c===d&&e===k||(g.setStart(a,d),g.setEnd(h,\nc));return g};exports.createRectsFromDOMRange=function(a,b){var c=a.getRootElement();if(null===c)return[];a=c.getBoundingClientRect();c=getComputedStyle(c);c=parseFloat(c.paddingLeft)+parseFloat(c.paddingRight);b=Array.from(b.getClientRects());let f=b.length,d;for(let e=0;e<f;e++){let k=b[e],g=k.width+c===a.width;d&&d.top===k.top&&d.left===k.left&&d.width===k.width&&d.height===k.height||g?(b.splice(e--,1),f--):d=k}return b};exports.getStyleObjectFromCSS=B;\nexports.trimTextContentFromAnchor=function(a,b,c){let f=b.getNode();if(l.$isElementNode(f)){var d=f.getDescendantByIndex(b.offset);null!==d&&(f=d)}for(;0<c&&null!==f;){var e=f.getPreviousSibling(),k=0;if(null===e){d=f.getParentOrThrow();for(var g=d.getPreviousSibling();null===g;){d=d.getParent();if(null===d){e=null;break}g=d.getPreviousSibling()}null!==d&&(k=d.isInline()?0:2,e=l.$isElementNode(g)?g.getLastDescendant():g)}let h=f.getTextContent();\"\"===h&&l.$isElementNode(f)&&!f.isInline()&&(h=\"\\n\\n\");\nd=h.length;g=d-c;let p=h.slice(0,g);if(!l.$isTextNode(f)||c>=d)g=f.getParent(),f.remove(),null!=g&&0===g.getChildrenSize()&&g.remove(),c-=d+k,f=e;else{let q=f.getKey();e=a.getEditorState().read(()=>{const m=l.$getNodeByKey(q);return l.$isTextNode(m)&&m.isSimpleText()?m.getTextContent():null});null!==e&&e!==h?(c=l.$getPreviousSelection(),d=f,f.isSimpleText()?f.setTextContent(e):(d=l.$createTextNode(e),f.replace(d)),l.$isRangeSelection(c)&&c.isCollapsed()&&(c=c.anchor.offset,d.select(c,c))):f.isSimpleText()?\n(e=b.key===q,k=b.offset,k<c&&(k=d),c=e?k-c:0,d=e?k:g,e&&0===c?([c]=f.splitText(c,d),c.remove()):([,c]=f.splitText(c,d),c.remove())):(c=l.$createTextNode(p),f.replace(c));c=0}}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalSelection = process.env.NODE_ENV === 'development' ? require('./LexicalSelection.dev.js') : require('./LexicalSelection.prod.js')\nmodule.exports = LexicalSelection;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var n=require(\"@lexical/selection\"),q=require(\"lexical\");\nfunction r(c,d,h,b=null){let e=null!=b?d.isSelected():!0,l=q.$isElementNode(d)&&d.excludeFromCopy(\"html\");var a=d;null!==b&&(a=n.$cloneWithProperties(d),a=q.$isTextNode(a)&&null!=b?n.$sliceSelectedTextNodeContent(b,a):a);let f=q.$isElementNode(a)?a.getChildren():[],{element:k,after:g}=a.exportDOM(c);if(!k)return!1;let m=new DocumentFragment;for(let p=0;p<f.length;p++){let t=f[p],w=r(c,t,m,b);!e&&q.$isElementNode(d)&&w&&d.extractWithChild(t,b,\"html\")&&(e=!0)}e&&!l?(k.append(m),h.append(k),g&&(c=g.call(a,\nk))&&k.replaceWith(c)):h.append(m);return e}let u=new Set([\"STYLE\"]);\nfunction v(c,d,h=new Map,b,e=!1){let l=[];if(u.has(c.nodeName))return l;let a=null;var {nodeName:f}=c,k=d._htmlConversions.get(f.toLowerCase());f=null;if(void 0!==k)for(g of k)k=g(c),null!==k&&(null===f||f.priority<k.priority)&&(f=k);var g=(g=null!==f?f.conversion:null)?g(c,void 0,e):null;f=null;if(null!==g){f=g.after;a=g.node;if(null!==a){for(var [,m]of h)if(a=m(a,b),!a)break;a&&l.push(a)}null!=g.forChild&&h.set(c.nodeName,g.forChild)}c=c.childNodes;b=[];for(m=0;m<c.length;m++)b.push(...v(c[m],d,\nnew Map(h),a,e||!0===(g&&g.preformatted)));null!=f&&(b=f(b));null==a?l=l.concat(b):q.$isElementNode(a)&&a.append(...b);return l}exports.$generateHtmlFromNodes=function(c,d){if(\"undefined\"===typeof document||\"undefined\"===typeof window)throw Error(\"To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.\");let h=document.createElement(\"div\"),b=q.$getRoot().getChildren();for(let e=0;e<b.length;e++)r(c,b[e],h,d);return h.innerHTML};\nexports.$generateNodesFromDOM=function(c,d){let h=[];d=d.body?Array.from(d.body.childNodes):[];let b=d.length;for(let l=0;l<b;l++){var e=d[l];u.has(e.nodeName)||(e=v(e,c),null!==e&&(h=h.concat(e)))}return h}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHtml = process.env.NODE_ENV === 'development' ? require('./LexicalHtml.dev.js') : require('./LexicalHtml.prod.js')\nmodule.exports = LexicalHtml;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var d=require(\"@lexical/html\"),n=require(\"@lexical/list\"),r=require(\"@lexical/selection\"),t=require(\"@lexical/utils\"),z=require(\"lexical\");function A(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}\nfunction B(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?\"\":d.$generateHtmlFromNodes(a,b)}function C(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:JSON.stringify(D(a,b))}\nfunction E(a,b,c){(z.DEPRECATED_$isGridSelection(c)||null!==t.$findMatchingParent(c.anchor.getNode(),g=>z.DEPRECATED_$isGridCellNode(g))&&null!==t.$findMatchingParent(c.focus.getNode(),g=>z.DEPRECATED_$isGridCellNode(g)))&&1===b.length&&z.DEPRECATED_$isGridNode(b[0])?F(b,c,!1,a):I(b,c)}\nfunction I(a,b){let c=[],g=null,e=null;for(let k=0;k<a.length;k++){let f=a[k];if(n.$isListItemNode(f)){null==e&&(e=n.$createListNode(\"bullet\"),c.push(e));e.append(f);continue}else null!=e&&(e=null);let h=z.$isLineBreakNode(f);if(h||z.$isDecoratorNode(f)&&f.isInline()||z.$isElementNode(f)&&f.isInline()||z.$isTextNode(f)){if(null===g&&(g=z.$createParagraphNode(),c.push(g),h))continue;null!==g&&g.append(f)}else c.push(f),g=null}z.$isRangeSelection(b)?b.insertNodes(c):z.DEPRECATED_$isGridSelection(b)&&\n(a=b.anchor.getNode(),z.DEPRECATED_$isGridCellNode(a)||A(41),a.append(...c))}\nfunction F(a,b,c,g){1===a.length&&z.DEPRECATED_$isGridNode(a[0])||A(42);var e=a[0];a=e.getChildren();c=e.getFirstChildOrThrow().getChildrenSize();var k=e.getChildrenSize(),f=t.$findMatchingParent(b.anchor.getNode(),l=>z.DEPRECATED_$isGridCellNode(l));b=(e=f&&t.$findMatchingParent(f,l=>z.DEPRECATED_$isGridRowNode(l)))&&t.$findMatchingParent(e,l=>z.DEPRECATED_$isGridNode(l));z.DEPRECATED_$isGridCellNode(f)&&z.DEPRECATED_$isGridRowNode(e)&&z.DEPRECATED_$isGridNode(b)||A(43);var h=e.getIndexWithinParent(),\np=Math.min(b.getChildrenSize()-1,h+k-1);k=f.getIndexWithinParent();f=Math.min(e.getChildrenSize()-1,k+c-1);c=Math.min(k,f);e=Math.min(h,p);k=Math.max(k,f);h=Math.max(h,p);p=b.getChildren();f=0;let m,q;for(let l=e;l<=h;l++){var x=p[l];z.DEPRECATED_$isGridRowNode(x)||A(24);var y=a[f];z.DEPRECATED_$isGridRowNode(y)||A(24);x=x.getChildren();y=y.getChildren();let G=0;for(let u=c;u<=k;u++){let v=x[u];z.DEPRECATED_$isGridCellNode(v)||A(25);let H=y[G];z.DEPRECATED_$isGridCellNode(H)||A(25);l===e&&u===c?m=\nv.getKey():l===h&&u===k&&(q=v.getKey());let N=v.getChildren();H.getChildren().forEach(w=>{z.$isTextNode(w)&&z.$createParagraphNode().append(w);v.append(w)});N.forEach(w=>w.remove());G++}f++}m&&q&&(a=z.DEPRECATED_$createGridSelection(),a.set(b.getKey(),m,q),z.$setSelection(a),g.dispatchCommand(z.SELECTION_CHANGE_COMMAND,void 0))}\nfunction J(a,b,c,g=[]){let e=null!=b?c.isSelected():!0,k=z.$isElementNode(c)&&c.excludeFromCopy(\"html\");var f=c;if(null!==b){var h=r.$cloneWithProperties(c);f=h=z.$isTextNode(h)&&null!=b?r.$sliceSelectedTextNodeContent(b,h):h}let p=z.$isElementNode(f)?f.getChildren():[];var m=f;h=m.exportJSON();h.type!==m.constructor.getType()&&A(58);var q=h.children;z.$isElementNode(m)&&(Array.isArray(q)||A(59));z.$isTextNode(f)&&(h.text=f.__text);for(f=0;f<p.length;f++)m=p[f],q=J(a,b,m,h.children),!e&&z.$isElementNode(c)&&\nq&&c.extractWithChild(m,b,\"clone\")&&(e=!0);if(e&&!k)g.push(h);else if(Array.isArray(h.children))for(a=0;a<h.children.length;a++)g.push(h.children[a]);return e}function D(a,b){let c=[],g=z.$getRoot().getChildren();for(let e=0;e<g.length;e++)J(a,b,g[e],c);return{namespace:a._config.namespace,nodes:c}}function K(a){let b=[];for(let c=0;c<a.length;c++){let g=z.$parseSerializedNode(a[c]);z.$isTextNode(g)&&r.$addNodeStyle(g);b.push(g)}return b}let L=null;\nfunction M(a,b){b.preventDefault();b=b.clipboardData;if(null===b)return!1;let c=z.$getSelection(),g=B(a);a=C(a);let e=\"\";null!==c&&(e=c.getTextContent());null!==g&&b.setData(\"text/html\",g);null!==a&&b.setData(\"application/x-lexical-editor\",a);b.setData(\"text/plain\",e);return!0}exports.$generateJSONFromSelectedNodes=D;exports.$generateNodesFromSerializedNodes=K;exports.$getHtmlContent=B;exports.$getLexicalContent=C;\nexports.$insertDataTransferForPlainText=function(a,b){a=a.getData(\"text/plain\");null!=a&&b.insertRawText(a)};\nexports.$insertDataTransferForRichText=function(a,b,c){var g=a.getData(\"application/x-lexical-editor\");if(g)try{let k=JSON.parse(g);if(k.namespace===c._config.namespace&&Array.isArray(k.nodes)){let f=K(k.nodes);return E(c,f,b)}}catch{}if(g=a.getData(\"text/html\"))try{var e=(new DOMParser).parseFromString(g,\"text/html\");let k=d.$generateNodesFromDOM(c,e);return E(c,k,b)}catch{}a=a.getData(\"text/plain\");if(null!=a)if(z.$isRangeSelection(b))for(a=a.split(/\\r?\\n/),c=a.length,e=0;e<c;e++)b.insertText(a[e]),\ne<c-1&&b.insertParagraph();else b.insertRawText(a)};exports.$insertGeneratedNodes=E;\nexports.copyToClipboard__EXPERIMENTAL=async function(a,b){if(null!==L)return!1;if(null!==b)return new Promise(k=>{a.update(()=>{k(M(a,b))})});var c=a.getRootElement();let g=document.getSelection();if(null===c||null===g)return!1;let e=document.createElement(\"span\");e.style.cssText=\"position: fixed; top: -1000px;\";e.append(document.createTextNode(\"#\"));c.append(e);c=new Range;c.setStart(e,0);c.setEnd(e,1);g.removeAllRanges();g.addRange(c);return new Promise(k=>{let f=a.registerCommand(z.COPY_COMMAND,\nh=>{h instanceof ClipboardEvent&&(f(),null!==L&&(window.clearTimeout(L),L=null),k(M(a,h)));return!0},z.COMMAND_PRIORITY_CRITICAL);L=window.setTimeout(()=>{f();L=null;k(!1)},50);document.execCommand(\"copy\");e.remove()})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalClipboard = process.env.NODE_ENV === 'development' ? require('./LexicalClipboard.dev.js') : require('./LexicalClipboard.prod.js')\nmodule.exports = LexicalClipboard;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var a=require(\"@lexical/clipboard\"),g=require(\"@lexical/selection\"),h=require(\"@lexical/utils\"),k=require(\"lexical\");let m=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,q=m&&\"documentMode\"in document?document.documentMode:null;m&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);m&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);\nlet r=m&&\"InputEvent\"in window&&!q?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,t=m&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),u=m&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,v=k.createCommand(\"DRAG_DROP_PASTE_FILE\");\nclass y extends k.ElementNode{static getType(){return\"quote\"}static clone(c){return new y(c.__key)}constructor(c){super(c)}createDOM(c){let b=document.createElement(\"blockquote\");h.addClassNamesToElement(b,c.theme.quote);return b}updateDOM(){return!1}static importDOM(){return{blockquote:()=>({conversion:z,priority:0})}}static importJSON(c){let b=A();b.setFormat(c.format);b.setIndent(c.indent);b.setDirection(c.direction);return b}exportJSON(){return{...super.exportJSON(),type:\"quote\"}}insertNewAfter(){let c=\nk.$createParagraphNode(),b=this.getDirection();c.setDirection(b);this.insertAfter(c);return c}collapseAtStart(){let c=k.$createParagraphNode();this.getChildren().forEach(b=>c.append(b));this.replace(c);return!0}}function A(){return k.$applyNodeReplacement(new y)}\nclass B extends k.ElementNode{static getType(){return\"heading\"}static clone(c){return new B(c.__tag,c.__key)}constructor(c,b){super(b);this.__tag=c}getTag(){return this.__tag}createDOM(c){let b=this.__tag,d=document.createElement(b);c=c.theme.heading;void 0!==c&&h.addClassNamesToElement(d,c[b]);return d}updateDOM(){return!1}static importDOM(){return{h1:()=>({conversion:C,priority:0}),h2:()=>({conversion:C,priority:0}),h3:()=>({conversion:C,priority:0}),h4:()=>({conversion:C,priority:0}),h5:()=>({conversion:C,\npriority:0}),h6:()=>({conversion:C,priority:0}),p:c=>{c=c.firstChild;return null!==c&&D(c)?{conversion:()=>({node:null}),priority:3}:null},span:c=>D(c)?{conversion:()=>({node:E(\"h1\")}),priority:3}:null}}static importJSON(c){let b=E(c.tag);b.setFormat(c.format);b.setIndent(c.indent);b.setDirection(c.direction);return b}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:\"heading\",version:1}}insertNewAfter(){let c=k.$createParagraphNode(),b=this.getDirection();c.setDirection(b);this.insertAfter(c);\nreturn c}collapseAtStart(){let c=k.$createParagraphNode();this.getChildren().forEach(b=>c.append(b));this.replace(c);return!0}extractWithChild(){return!0}}function D(c){return\"span\"===c.nodeName.toLowerCase()?\"26pt\"===c.style.fontSize:!1}function C(c){c=c.nodeName.toLowerCase();let b=null;if(\"h1\"===c||\"h2\"===c||\"h3\"===c||\"h4\"===c||\"h5\"===c||\"h6\"===c)b=E(c);return{node:b}}function z(){return{node:A()}}function E(c){return k.$applyNodeReplacement(new B(c))}\nfunction F(c,b){c.preventDefault();b.update(()=>{let d=k.$getSelection(),e=c instanceof InputEvent||c instanceof KeyboardEvent?null:c.clipboardData;null!=e&&(k.$isRangeSelection(d)||k.DEPRECATED_$isGridSelection(d))&&a.$insertDataTransferForRichText(e,d,b)},{tag:\"paste\"})}\nasync function G(c,b){await a.copyToClipboard__EXPERIMENTAL(b,c instanceof ClipboardEvent?c:null);b.update(()=>{let d=k.$getSelection();k.$isRangeSelection(d)?d.removeText():k.$isNodeSelection(d)&&d.getNodes().forEach(e=>e.remove())})}function H(c){let b=null;c instanceof DragEvent?b=c.dataTransfer:c instanceof ClipboardEvent&&(b=c.clipboardData);if(null===b)return[!1,[],!1];var d=b.types;c=d.includes(\"Files\");d=d.includes(\"text/html\")||d.includes(\"text/plain\");return[c,Array.from(b.files),d]}\nfunction I(c,b){var d=k.$getSelection();if(k.$isRangeSelection(d)){var e=new Set;d=d.getNodes();for(let f=0;f<d.length;f++){let n=d[f],w=n.getKey();if(e.has(w))continue;let l=h.$getNearestBlockElementAncestorOrThrow(n),x=l.getKey();l.canInsertTab()?(c(n),e.add(w)):l.canIndent()&&!e.has(x)&&(e.add(x),b(l))}}}function J(c){c=k.$getNearestNodeFromDOMNode(c);return k.$isDecoratorNode(c)}exports.$createHeadingNode=E;exports.$createQuoteNode=A;exports.$isHeadingNode=function(c){return c instanceof B};\nexports.$isQuoteNode=function(c){return c instanceof y};exports.DRAG_DROP_PASTE=v;exports.HeadingNode=B;exports.QuoteNode=y;exports.eventFiles=H;\nexports.registerRichText=function(c){return h.mergeRegister(c.registerCommand(k.CLICK_COMMAND,()=>{const b=k.$getSelection();return k.$isNodeSelection(b)?(b.clear(),!0):!1},0),c.registerCommand(k.DELETE_CHARACTER_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteCharacter(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DELETE_WORD_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteWord(b);return!0},k.COMMAND_PRIORITY_EDITOR),\nc.registerCommand(k.DELETE_LINE_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteLine(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.CONTROLLED_TEXT_INSERTION_COMMAND,b=>{const d=k.$getSelection();if(\"string\"===typeof b)k.$isRangeSelection(d)?d.insertText(b):k.DEPRECATED_$isGridSelection(d);else{if(!k.$isRangeSelection(d)&&!k.DEPRECATED_$isGridSelection(d))return!1;const e=b.dataTransfer;null!=e?a.$insertDataTransferForRichText(e,d,c):k.$isRangeSelection(d)&&\n(b=b.data)&&d.insertText(b)}return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.REMOVE_TEXT_COMMAND,()=>{const b=k.$getSelection();if(!k.$isRangeSelection(b))return!1;b.removeText();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.FORMAT_TEXT_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.formatText(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.FORMAT_ELEMENT_COMMAND,b=>{var d=k.$getSelection();if(!k.$isRangeSelection(d)&&!k.$isNodeSelection(d))return!1;\nd=d.getNodes();for(const e of d)h.$getNearestBlockElementAncestorOrThrow(e).setFormat(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.INSERT_LINE_BREAK_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.insertLineBreak(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.INSERT_PARAGRAPH_COMMAND,()=>{const b=k.$getSelection();if(!k.$isRangeSelection(b))return!1;b.insertParagraph();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.INDENT_CONTENT_COMMAND,\n()=>{I(()=>{c.dispatchCommand(k.CONTROLLED_TEXT_INSERTION_COMMAND,\"\\t\")},b=>{const d=b.getIndent();10!==d&&b.setIndent(d+1)});return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.OUTDENT_CONTENT_COMMAND,()=>{I(b=>{k.$isTextNode(b)&&(b=b.getTextContent(),\"\\t\"===b[b.length-1]&&c.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!0))},b=>{const d=b.getIndent();0!==d&&b.setIndent(d-1)});return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_UP_COMMAND,b=>{const d=k.$getSelection();return k.$isNodeSelection(d)&&\n!J(b.target)&&(b=d.getNodes(),0<b.length)?(b[0].selectPrevious(),!0):!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_DOWN_COMMAND,()=>{var b=k.$getSelection();return k.$isNodeSelection(b)&&(b=b.getNodes(),0<b.length)?(b[0].selectNext(0,0),!0):!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_LEFT_COMMAND,b=>{const d=k.$getSelection();if(k.$isNodeSelection(d)){var e=d.getNodes();if(0<e.length)return b.preventDefault(),e[0].selectPrevious(),!0}return k.$isRangeSelection(d)?g.$shouldOverrideDefaultCharacterSelection(d,\n!0)?(e=b.shiftKey,b.preventDefault(),g.$moveCharacter(d,e,!0),!0):!1:!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_RIGHT_COMMAND,b=>{const d=k.$getSelection();if(k.$isNodeSelection(d)&&!J(b.target)){var e=d.getNodes();if(0<e.length)return b.preventDefault(),e[0].selectNext(0,0),!0}if(!k.$isRangeSelection(d))return!1;e=b.shiftKey;return g.$shouldOverrideDefaultCharacterSelection(d,!1)?(b.preventDefault(),g.$moveCharacter(d,e,!1),!0):!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_BACKSPACE_COMMAND,\nb=>{if(J(b.target))return!1;const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;b.preventDefault();({anchor:b}=d);const e=b.getNode();return d.isCollapsed()&&0===b.offset&&!k.$isRootNode(e)&&0<h.$getNearestBlockElementAncestorOrThrow(e).getIndent()?c.dispatchCommand(k.OUTDENT_CONTENT_COMMAND,void 0):c.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!0)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_DELETE_COMMAND,b=>{if(J(b.target))return!1;const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;\nb.preventDefault();return c.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!1)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ENTER_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;if(null!==b){if((u||t)&&r)return!1;b.preventDefault();if(b.shiftKey)return c.dispatchCommand(k.INSERT_LINE_BREAK_COMMAND,!1)}return c.dispatchCommand(k.INSERT_PARAGRAPH_COMMAND,void 0)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_TAB_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;\nb.preventDefault();return c.dispatchCommand(b.shiftKey?k.OUTDENT_CONTENT_COMMAND:k.INDENT_CONTENT_COMMAND,void 0)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ESCAPE_COMMAND,()=>{const b=k.$getSelection();if(!k.$isRangeSelection(b))return!1;c.blur();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DROP_COMMAND,b=>{const [,d]=H(b);if(0<d.length){var e=b.clientX;var f=b.clientY;e=\"undefined\"!==typeof document.caretRangeFromPoint?document.caretRangeFromPoint(e,f):\"undefined\"!==document.caretPositionFromPoint?\ndocument.caretPositionFromPoint(e,f):null;if(null!==e){const {startOffset:n,endOffset:w,startContainer:l,endContainer:x}=e;e=k.$getNearestNodeFromDOMNode(l);f=k.$getNearestNodeFromDOMNode(x);if(null!==e&&null!==f){const p=k.$createRangeSelection();k.$isTextNode(e)?p.anchor.set(e.getKey(),n,\"text\"):p.anchor.set(e.getParentOrThrow().getKey(),e.getIndexWithinParent()+1,\"element\");k.$isTextNode(f)?p.focus.set(f.getKey(),w,\"text\"):p.focus.set(f.getParentOrThrow().getKey(),f.getIndexWithinParent()+1,\"element\");\ne=k.$normalizeSelection__EXPERIMENTAL(p);k.$setSelection(e)}c.dispatchCommand(v,d)}b.preventDefault();return!0}b=k.$getSelection();return k.$isRangeSelection(b)?!0:!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DRAGSTART_COMMAND,b=>{const [d]=H(b),e=k.$getSelection();if(d&&!k.$isRangeSelection(e))return!1;b.preventDefault();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DRAGOVER_COMMAND,b=>{const [d]=H(b),e=k.$getSelection();if(d&&!k.$isRangeSelection(e))return!1;b.preventDefault();\nreturn!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.COPY_COMMAND,b=>{a.copyToClipboard__EXPERIMENTAL(c,b instanceof ClipboardEvent?b:null);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.CUT_COMMAND,b=>{G(b,c);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.PASTE_COMMAND,b=>{const [,d,e]=H(b);if(0<d.length&&!e)return c.dispatchCommand(v,d),!0;const f=k.$getSelection();return k.$isRangeSelection(f)||k.DEPRECATED_$isGridSelection(f)?(F(b,c),!0):!1},k.COMMAND_PRIORITY_EDITOR))}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalRichText = process.env.NODE_ENV === 'development' ? require('./LexicalRichText.dev.js') : require('./LexicalRichText.prod.js')\nmodule.exports = LexicalRichText;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"@lexical/utils\"),m=require(\"lexical\");\nclass n extends m.ElementNode{static getType(){return\"link\"}static clone(a){return new n(a.__url,{rel:a.__rel,target:a.__target},a.__key)}constructor(a,b={},c){super(c);let {target:h=null,rel:e=null}=b;this.__url=a;this.__target=h;this.__rel=e}createDOM(a){let b=document.createElement(\"a\");b.href=this.__url;null!==this.__target&&(b.target=this.__target);null!==this.__rel&&(b.rel=this.__rel);l.addClassNamesToElement(b,a.theme.link);return b}updateDOM(a,b){let c=this.__url,h=this.__target,e=this.__rel;\nc!==a.__url&&(b.href=c);h!==a.__target&&(h?b.target=h:b.removeAttribute(\"target\"));e!==a.__rel&&(e?b.rel=e:b.removeAttribute(\"rel\"));return!1}static importDOM(){return{a:()=>({conversion:p,priority:1})}}static importJSON(a){let b=q(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),type:\"link\",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(a){this.getWritable().__url=\na}getTarget(){return this.getLatest().__target}setTarget(a){this.getWritable().__target=a}getRel(){return this.getLatest().__rel}setRel(a){this.getWritable().__rel=a}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);if(m.$isElementNode(a)){let b=q(this.__url,{rel:this.__rel,target:this.__target});a.append(b);return b}return null}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(a,b){if(!m.$isRangeSelection(b))return!1;\na=b.anchor.getNode();let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&0<b.getTextContent().length}}function p(a){let b=null;if(a instanceof HTMLAnchorElement){let c=a.textContent;null!==c&&\"\"!==c&&(b=q(a.getAttribute(\"href\")||\"\",{rel:a.getAttribute(\"rel\"),target:a.getAttribute(\"target\")}))}return{node:b}}function q(a,b){return new n(a,b)}function r(a){return a instanceof n}\nclass u extends n{static getType(){return\"autolink\"}static clone(a){return new u(a.__url,{rel:a.__rel,target:a.__target},a.__key)}static importJSON(a){let b=v(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}static importDOM(){return null}exportJSON(){return{...super.exportJSON(),type:\"autolink\",version:1}}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);if(m.$isElementNode(a)){let b=v(this.__url,{rel:this._rel,target:this.__target});\na.append(b);return b}return null}}function v(a,b){return new u(a,b)}let w=m.createCommand(\"TOGGLE_LINK_COMMAND\");function x(a){return y(a,b=>r(b))}function y(a,b){for(;null!==a&&null!==(a=a.getParent())&&!b(a););return a}exports.$createAutoLinkNode=v;exports.$createLinkNode=q;exports.$isAutoLinkNode=function(a){return a instanceof u};exports.$isLinkNode=r;exports.AutoLinkNode=u;exports.LinkNode=n;exports.TOGGLE_LINK_COMMAND=w;\nexports.toggleLink=function(a,b={}){let {target:c}=b,h=void 0===b.rel?\"noopener\":b.rel;b=m.$getSelection();if(m.$isRangeSelection(b))if(b=b.extract(),null===a)b.forEach(k=>{k=k.getParent();if(r(k)){let d=k.getChildren();for(let f=0;f<d.length;f++)k.insertBefore(d[f]);k.remove()}});else{if(1===b.length){var e=b[0];e=r(e)?e:x(e);if(null!==e){e.setURL(a);void 0!==c&&e.setTarget(c);null!==h&&e.setRel(h);return}}let k=null,d=null;b.forEach(f=>{var g=f.getParent();if(g!==d&&null!==g&&(!m.$isElementNode(f)||\nf.isInline()))if(r(g))d=g,g.setURL(a),void 0!==c&&g.setTarget(c),null!==h&&d.setRel(h);else if(g.is(k)||(k=g,d=q(a,{rel:h,target:c}),r(g)?null===f.getPreviousSibling()?g.insertBefore(d):g.insertAfter(d):f.insertBefore(d)),r(f)){if(!f.is(d)){if(null!==d){g=f.getChildren();for(let t=0;t<g.length;t++)d.append(g[t])}f.remove()}}else null!==d&&d.append(f)})}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalLink = process.env.NODE_ENV === 'development' ? require('./LexicalLink.dev.js') : require('./LexicalLink.prod.js')\nmodule.exports = LexicalLink;","import {\n $createParagraphNode,\n ElementNode\n} from 'lexical';\nimport {\n addClassNamesToElement\n} from '@lexical/utils';\n\nexport class AsideNode extends ElementNode {\n static getType() {\n return 'aside';\n }\n\n static clone(node) {\n return new AsideNode(node.__key);\n }\n\n // View\n\n createDOM(config) {\n const element = document.createElement('aside');\n addClassNamesToElement(element, config.theme.aside);\n return element;\n }\n updateDOM(prevNode, dom) {\n return false;\n }\n\n static importDOM() {\n return {\n aside: node => ({\n conversion: convertAsideElement,\n priority: 0\n })\n };\n }\n\n static importJSON(serializedNode) {\n const node = $createAsideNode();\n node.setFormat(serializedNode.format);\n node.setIndent(serializedNode.indent);\n node.setDirection(serializedNode.direction);\n return node;\n }\n\n exportJSON() {\n return {\n ...super.exportJSON(),\n type: 'aside'\n };\n }\n\n // Mutation\n\n insertNewAfter() {\n const newBlock = $createParagraphNode();\n const direction = this.getDirection();\n newBlock.setDirection(direction);\n this.insertNewAfter(newBlock);\n return newBlock;\n }\n\n collapseAtStart() {\n const paragraph = $createParagraphNode();\n const children = this.getChildren();\n children.forEach(child => paragraph.append(child));\n this.replace(paragraph);\n return true;\n }\n}\n\nfunction convertAsideElement() {\n const node = $createAsideNode;\n return {node};\n}\n\nexport function $createAsideNode() {\n return new AsideNode();\n}\n\nexport function $isAsideNode(node) {\n return node instanceof AsideNode;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/react/LexicalComposerContext\"),e=require(\"lexical\"),h=require(\"react\");function k(b,a){return b.getEditorState().read(()=>{let f=e.$getNodeByKey(a);return null===f?!1:f.isSelected()})}\nexports.useLexicalNodeSelection=function(b){let [a]=c.useLexicalComposerContext(),[f,l]=h.useState(()=>k(a,b));h.useEffect(()=>a.registerUpdateListener(()=>{l(k(a,b))}),[a,b]);let m=h.useCallback(g=>{a.update(()=>{let d=e.$getSelection();e.$isNodeSelection(d)||(d=e.$createNodeSelection(),e.$setSelection(d));g?d.add(b):d.delete(b)})},[a,b]),n=h.useCallback(()=>{a.update(()=>{const g=e.$getSelection();e.$isNodeSelection(g)&&g.clear()})},[a]);return[f,m,n]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst useLexicalNodeSelection = process.env.NODE_ENV === 'development' ? require('./useLexicalNodeSelection.dev.js') : require('./useLexicalNodeSelection.prod.js')\nmodule.exports = useLexicalNodeSelection;","import React from 'react';\n\nconst CardContext = React.createContext({});\n\nexport default CardContext;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const CardWrapper = React.forwardRef(({isSelected, cardWidth, cardType, children, ...props}, ref) => {\n return (\n <div\n className={`relative border border-transparent caret-grey-800 ${isSelected ? 'shadow-[0_0_0_2px] shadow-green' : 'hover:shadow-[0_0_0_1px] hover:shadow-green'} ${(cardWidth === 'wide') ? 'mx-[calc(50%-(50vw-var(--kg-breakout-adjustment))-.8rem)] w-[calc(65vw+2px-var(--kg-breakout-adjustment))] min-w-[calc(100%+3.6rem)] sm:min-w-[calc(100%+10rem)] lg:min-w-[calc(100%+18rem)] translate-x-[calc(50vw-50%+.8rem-var(--kg-breakout-adjustment))]' : (cardWidth === 'full') ? 'lg:mx-[calc(50%-50vw+(var(--kg-breakout-adjustment)/2))] lg:w-[calc(100vw-var(--kg-breakout-adjustment))]' : ''}`}\n ref={ref}\n data-kg-card={cardType}\n data-kg-card-selected={isSelected}\n {...props}\n >\n {children}\n </div>\n );\n});\n\nCardWrapper.propTypes = {\n isSelected: PropTypes.bool,\n cardWidth: PropTypes.oneOf(['regular', 'wide', 'full'])\n};\n\nCardWrapper.defaultProps = {\n cardWidth: 'regular'\n};\n","import React from 'react';\nimport {\n $createNodeSelection,\n $createParagraphNode,\n $getNodeByKey,\n $getSelection,\n $isDecoratorNode,\n $isNodeSelection,\n $setSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_EDITOR,\n COMMAND_PRIORITY_LOW,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n KEY_ENTER_COMMAND\n} from 'lexical';\nimport {mergeRegister} from '@lexical/utils';\nimport {useLexicalNodeSelection} from '@lexical/react/useLexicalNodeSelection';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport WrapperContext from '../context/CardContext';\nimport {CardWrapper} from './ui/CardWrapper';\n\nconst KoenigCardWrapperComponent = ({nodeKey, children, width}) => {\n const [editor] = useLexicalComposerContext();\n const [isSelected, setSelected, clearSelected] = useLexicalNodeSelection(nodeKey);\n const [selection, setSelection] = React.useState(null);\n const [cardType, setCardType] = React.useState(null);\n const [cardWidth, setCardWidth] = React.useState(width || 'regular');\n const containerRef = React.useRef(null);\n\n React.useLayoutEffect(() => {\n editor.getEditorState().read(() => {\n const cardNode = $getNodeByKey(nodeKey);\n setCardType(cardNode.getType());\n });\n\n // We only do this for init\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n return mergeRegister(\n editor.registerUpdateListener(({editorState}) => {\n setSelection(editorState.read(() => $getSelection()));\n }),\n editor.registerCommand(\n CLICK_COMMAND,\n (event) => {\n if (containerRef.current.contains(event.target)) {\n clearSelected();\n setSelected(true);\n } else if (isSelected) {\n setSelected(false);\n }\n return false;\n },\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(\n KEY_ENTER_COMMAND,\n (event) => {\n // TODO: test if this is needed when code card is working again\n // we don't want to insert paragraphs if Enter is pressed inside card's form element\n // if (event.target.matches('input textarea select option')) {\n // return false;\n // }\n\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const paragraphNode = $createParagraphNode();\n cardNode.getTopLevelElementOrThrow().insertAfter(paragraphNode);\n paragraphNode.select();\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n ),\n editor.registerCommand(\n KEY_BACKSPACE_COMMAND,\n (event) => {\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n // This is to avoid deleting the card when backspacing inside the caption / alt input of the card when the card is selected\n if (cardNode.getType() === 'image' && event.target.matches('input')) {\n editor.update(() => {\n const caption = cardNode.getCaption();\n cardNode.setCaption(caption.slice(0, -1));\n });\n return false;\n }\n const previousSibling = cardNode.getPreviousSibling();\n const nextSibling = cardNode.getNextSibling();\n\n if (previousSibling) {\n if (previousSibling.selectEnd) {\n previousSibling.selectEnd();\n } else if ($isDecoratorNode(previousSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(previousSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectPrevious();\n }\n } else if (nextSibling) {\n if (nextSibling.selectStart) {\n nextSibling.selectStart();\n } else if ($isDecoratorNode(nextSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(nextSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectNext();\n }\n }\n\n cardNode.remove();\n\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n ),\n editor.registerCommand(\n KEY_DELETE_COMMAND,\n (event) => {\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const nextSibling = cardNode.getNextSibling();\n\n if (nextSibling) {\n if (nextSibling.selectStart) {\n nextSibling.selectStart();\n } else if ($isDecoratorNode(nextSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(nextSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectNext();\n }\n } else {\n const paragraphNode = $createParagraphNode();\n cardNode.getTopLevelElementOrThrow().insertAfter(paragraphNode);\n paragraphNode.select();\n }\n\n cardNode.remove();\n\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n )\n );\n }, [editor, isSelected, setSelected, clearSelected, nodeKey]);\n\n return (\n <WrapperContext.Provider value={{isSelected, cardWidth, setCardWidth, selection, cardContainerRef: containerRef}}>\n <CardWrapper\n isSelected={isSelected}\n cardType={cardType}\n ref={containerRef}\n cardWidth={cardWidth}\n >\n {children}\n </CardWrapper>\n </WrapperContext.Provider>\n );\n};\n\nexport default KoenigCardWrapperComponent;\n","export function HorizontalRuleCard() {\n return (\n <hr className=\"block h-[1px] border-0 border-t border-grey-300\" />\n );\n}\n","import * as React from 'react';\nimport {createCommand, DecoratorNode} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {ReactComponent as DividerCardIcon} from '../assets/icons/kg-card-type-divider.svg';\nimport {HorizontalRuleCard} from '../components/ui/cards/HorizontalRuleCard';\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND = createCommand();\n\nexport class HorizontalRuleNode extends DecoratorNode {\n static getType() {\n return 'horizontalrule';\n }\n\n static clone(node) {\n return new HorizontalRuleNode(node.__key);\n }\n\n static importJSON(serializedNode) {\n return $createHorizontalRuleNode();\n }\n\n static kgMenu = {\n label: 'Divider',\n desc: 'Insert a dividing line',\n Icon: DividerCardIcon,\n insertCommand: INSERT_HORIZONTAL_RULE_COMMAND,\n matches: ['divider', 'horizontal-rule', 'hr']\n };\n\n exportJSON() {\n return {\n type: 'horizontalrule',\n version: 1\n };\n }\n\n createDOM() {\n const div = document.createElement('div');\n return div;\n }\n\n getTextContent() {\n return '\\n';\n }\n\n isInline() {\n return false;\n }\n\n updateDOM() {\n return false;\n }\n\n decorate() {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()} className=\"inline-block\">\n <HorizontalRuleCard />\n </KoenigCardWrapper>\n );\n }\n}\n\nexport function $createHorizontalRuleNode() {\n return new HorizontalRuleNode();\n}\n\nexport function $isHorizontalRuleNode(node) {\n return node instanceof HorizontalRuleNode;\n}\n","import {useEffect} from 'react';\n\nconst useAutoExpandTextArea = ({el, value}) => {\n useEffect(() => {\n const element = el.current;\n if (element) {\n element.style.height = '0px';\n const height = element.scrollHeight;\n element.style.height = `${height}px`;\n }\n }, [el, value]);\n};\n\nexport default useAutoExpandTextArea;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport useAutoExpandTextArea from '../../../utils/autoExpandTextArea';\n\nexport function CodeBlockCard({code, language, updateCode, updateLanguage}) {\n const textareaRef = React.useRef(null);\n\n useAutoExpandTextArea({el: textareaRef, value: code});\n\n return (\n <code>\n <textarea\n ref={textareaRef}\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n tabIndex=\"0\"\n autoFocus\n className='min-h-170 w-full bg-grey-50 p-3 text-grey-900'\n value={code}\n onChange={updateCode}\n />\n </code>\n );\n}\n\nCodeBlockCard.propTypes = {\n code: PropTypes.string\n};","import * as React from 'react';\nimport {\n $getNodeByKey,\n createCommand,\n DecoratorNode\n} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {CodeBlockCard} from '../components/ui/cards/CodeBlockCard';\n\nexport const CODE_BLOCK_COMMAND = createCommand();\n\nfunction CodeBlockComponent({code, language, nodeKey, editor}) {\n const updateCode = (event) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCode(event.target.value);\n });\n };\n\n const updateLanguage = (event) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setLanguage(event.target.value);\n });\n };\n\n return (\n <CodeBlockCard\n code={code}\n updateCode={updateCode}\n language={language}\n updateLanguage={updateLanguage}\n />\n );\n}\n\nexport class CodeBlockNode extends DecoratorNode {\n __code = '';\n __language = '';\n\n static getType() {\n return 'codeblock';\n }\n\n static clone(node) {\n return new CodeBlockNode(node.__key, node.__code);\n }\n\n static importJSON(serializedNode) {\n return $createCodeBlockNode();\n }\n\n exportJSON() {\n return {\n type: 'codeblock',\n version: 1,\n code: this.__code,\n language: this.__language\n };\n }\n\n constructor(language, initCode, key) {\n super(key);\n this.__language = language;\n this.__code = initCode;\n }\n\n createDOM(config) {\n return document.createElement('div');\n }\n\n updateDOM() {\n return false;\n }\n\n getCode() {\n const self = this.getLatest();\n return self.__code;\n }\n\n setCode(code) {\n const self = this.getWritable();\n self.__code = code;\n }\n\n getLanguage() {\n const self = this.getLatest();\n return self.__language;\n }\n\n setLanguage(language) {\n const self = this.getWritable();\n self.__language = language;\n }\n\n getTextContent() {\n const self = this.getLatest();\n return self.__code;\n }\n\n decorate(editor, config) {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()}>\n <CodeBlockComponent\n code={this.__code}\n language={this.__language}\n nodeKey={this.getKey()}\n editor={editor}\n />\n </KoenigCardWrapper>\n );\n }\n\n isInline() {\n return false;\n }\n}\n\nexport function $createCodeBlockNode(language, initCode) {\n return new CodeBlockNode(language, initCode);\n}\n\nexport function $isCodeBlockNode(node) {\n return node instanceof CodeBlockNode;\n}\n","import { DecoratorNode, createCommand } from 'lexical';\n\nclass KoenigDecoratorNode extends DecoratorNode {}\nfunction $isKoenigCard(node) {\n return node instanceof KoenigDecoratorNode;\n}\n\nclass ImageParser {\n constructor(NodeClass) {\n this.NodeClass = NodeClass;\n }\n get DOMConversionMap() {\n const self = this;\n return {\n img: () => ({\n conversion(domNode) {\n if (domNode.tagName === 'IMG') {\n const {\n alt: altText,\n src,\n title,\n width,\n height\n } = domNode;\n const node = new self.NodeClass({\n altText,\n src,\n title,\n width,\n height\n });\n return {\n node\n };\n }\n return null;\n },\n priority: 1\n })\n // TODO: add <figure> and other handling from kg-parser-plugins\n };\n }\n}\n\nconst getAvailableImageWidths = function (image, imageSizes) {\n // get a sorted list of the available responsive widths\n const imageWidths = Object.values(imageSizes).map(_ref => {\n let {\n width\n } = _ref;\n return width;\n }).sort((a, b) => a - b);\n\n // select responsive widths that are usable based on the image width\n const availableImageWidths = imageWidths.filter(width => width <= image.width);\n\n // add the original image size to the responsive list if it's not captured by largest responsive size\n // - we can't know the width/height of the original `src` image because we don't know if it was resized\n // or not. Adding the original image to the responsive list ensures we're not showing smaller sized\n // images than we need to be\n if (image.width > availableImageWidths[availableImageWidths.length - 1] && image.width < imageWidths[imageWidths.length - 1]) {\n availableImageWidths.push(image.width);\n }\n return availableImageWidths;\n};\n\nconst isLocalContentImage = function (url) {\n let siteUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const normalizedSiteUrl = siteUrl.replace(/\\/$/, '');\n const imagePath = url.replace(normalizedSiteUrl, '');\n return /^(\\/.*|__GHOST_URL__)\\/?content\\/images\\//.test(imagePath);\n};\n\nconst isUnsplashImage = function (url) {\n return /images\\.unsplash\\.com/.test(url);\n};\n\n// default content sizes: [600, 1000, 1600, 2400]\n\nconst getSrcsetAttribute = function (_ref) {\n let {\n src,\n width,\n options\n } = _ref;\n if (!options.imageOptimization || options.imageOptimization.srcsets === false || !width || !options.imageOptimization.contentImageSizes) {\n return;\n }\n if (isLocalContentImage(src, options.siteUrl) && options.canTransformImage && !options.canTransformImage(src)) {\n return;\n }\n const srcsetWidths = getAvailableImageWidths({\n width\n }, options.imageOptimization.contentImageSizes);\n\n // apply srcset if this is a relative image that matches Ghost's image url structure\n if (isLocalContentImage(src, options.siteUrl)) {\n const [, imagesPath, filename] = src.match(/(.*\\/content\\/images)\\/(.*)/);\n const srcs = [];\n srcsetWidths.forEach(srcsetWidth => {\n if (srcsetWidth === width) {\n // use original image path if width matches exactly (avoids 302s from size->original)\n srcs.push(`${src} ${srcsetWidth}w`);\n } else if (srcsetWidth <= width) {\n // avoid creating srcset sizes larger than intrinsic image width\n srcs.push(`${imagesPath}/size/w${srcsetWidth}/${filename} ${srcsetWidth}w`);\n }\n });\n if (srcs.length) {\n return srcs.join(', ');\n }\n }\n\n // apply srcset if this is an Unsplash image\n if (isUnsplashImage(src)) {\n const unsplashUrl = new URL(src);\n const srcs = [];\n srcsetWidths.forEach(srcsetWidth => {\n unsplashUrl.searchParams.set('w', srcsetWidth);\n srcs.push(`${unsplashUrl.href} ${srcsetWidth}w`);\n });\n return srcs.join(', ');\n }\n};\nconst setSrcsetAttribute = function (elem, image, options) {\n if (!elem || !['IMG', 'SOURCE'].includes(elem.tagName) || !elem.getAttribute('src') || !image) {\n return;\n }\n const {\n src,\n width\n } = image;\n const srcset = getSrcsetAttribute({\n src,\n width,\n options\n });\n if (srcset) {\n elem.setAttribute('srcset', srcset);\n }\n};\n\nconst resizeImage = function (image) {\n let {\n width: desiredWidth,\n height: desiredHeight\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n width,\n height\n } = image;\n const ratio = width / height;\n if (desiredWidth) {\n const resizedHeight = Math.round(desiredWidth / ratio);\n return {\n width: desiredWidth,\n height: resizedHeight\n };\n }\n if (desiredHeight) {\n const resizedWidth = Math.round(desiredHeight * ratio);\n return {\n width: resizedWidth,\n height: desiredHeight\n };\n }\n};\n\nfunction renderImageNodeToDOM(node) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n /* c8 ignore start */\n if (!options.createDocument) {\n let document = typeof window !== 'undefined' && window.document;\n if (!document) {\n throw new Error('renderImageNodeToDOM() must be passed a `createDocument` function as an option when used in a non-browser environment'); // eslint-disable-line\n }\n\n options.createDocument = function () {\n return document;\n };\n }\n /* c8 ignore stop */\n\n const document = options.createDocument();\n if (!node.getSrc() || node.getSrc().trim() === '') {\n return document.createTextNode('');\n }\n const figure = document.createElement('figure');\n let figureClasses = 'kg-card kg-image-card';\n if (node.getCardWidth() !== 'regular') {\n figureClasses += ` kg-width-${node.getCardWidth()}`;\n }\n figure.setAttribute('class', figureClasses);\n const img = document.createElement('img');\n img.setAttribute('src', node.getSrc());\n img.setAttribute('alt', node.getAltText());\n img.setAttribute('loading', 'lazy');\n if (node.getTitle()) {\n img.setAttribute('title', node.getTitle());\n }\n if (node.getImgWidth() && node.getImgHeight()) {\n img.setAttribute('width', node.getImgWidth());\n img.setAttribute('height', node.getImgHeight());\n }\n\n // images can be resized to max width, if that's the case output\n // the resized width/height attrs to ensure 3rd party gallery plugins\n // aren't affected by differing sizes\n const {\n canTransformImage\n } = options;\n const {\n defaultMaxWidth\n } = options.imageOptimization || {};\n if (defaultMaxWidth && node.getImgWidth() > defaultMaxWidth && isLocalContentImage(node.getSrc(), options.siteUrl) && canTransformImage && canTransformImage(node.getSrc())) {\n const imageDimensions = {\n width: node.getImgWidth(),\n height: node.getImgHeight()\n };\n const {\n width,\n height\n } = resizeImage(imageDimensions, {\n width: defaultMaxWidth\n });\n img.setAttribute('width', width);\n img.setAttribute('height', height);\n }\n if (options.target !== 'email') {\n const imgAttributes = {\n src: node.getSrc(),\n width: node.getImgWidth(),\n height: node.getImgHeight()\n };\n setSrcsetAttribute(img, imgAttributes, options);\n if (img.getAttribute('srcset') && node.getImgWidth() && node.getImgWidth() >= 720) {\n // standard size\n if (!node.getCardWidth() || node.getCardWidth() === 'regular') {\n img.setAttribute('sizes', '(min-width: 720px) 720px');\n }\n if (node.getCardWidth() === 'wide' && node.getImgWidth() >= 1200) {\n img.setAttribute('sizes', '(min-width: 1200px) 1200px');\n }\n }\n }\n\n // Outlook is unable to properly resize images without a width/height\n // so we add that at the expected size in emails (600px) and use a higher\n // resolution image to keep images looking good on retina screens\n if (options.target === 'email' && node.getImgWidth() && node.getImgHeight()) {\n let imageDimensions = {\n width: node.getImgWidth(),\n height: node.getImgHeight()\n };\n if (node.getImgWidth() >= 600) {\n imageDimensions = resizeImage(imageDimensions, {\n width: 600\n });\n }\n img.setAttribute('width', imageDimensions.width);\n img.setAttribute('height', imageDimensions.height);\n if (isLocalContentImage(node.getSrc(), options.siteUrl) && options.canTransformImage?.(node.getSrc())) {\n // find available image size next up from 2x600 so we can use it for the \"retina\" src\n const availableImageWidths = getAvailableImageWidths(node, options.imageOptimization.contentImageSizes);\n const srcWidth = availableImageWidths.find(width => width >= 1200);\n if (!srcWidth || srcWidth === node.getImgWidth()) ; else {\n const [, imagesPath, filename] = node.getSrc().match(/(.*\\/content\\/images)\\/(.*)/);\n img.setAttribute('src', `${imagesPath}/size/w${srcWidth}/${filename}`);\n }\n }\n }\n figure.appendChild(img);\n if (node.getCaption()) {\n const caption = document.createElement('figcaption');\n caption.innerHTML = node.getCaption();\n figure.appendChild(caption);\n }\n return figure;\n}\n\nconst INSERT_IMAGE_COMMAND = createCommand();\nconst UPLOAD_IMAGE_COMMAND = createCommand();\nclass ImageNode extends KoenigDecoratorNode {\n // payload properties\n __src;\n __caption;\n __title;\n __altText;\n __cardWidth;\n __width;\n __height;\n static getType() {\n return 'image';\n }\n static clone(node) {\n return new this(node.getDataset(), node.__key);\n }\n\n // used by `@tryghost/url-utils` to transform URLs contained in the serialized JSON\n static get urlTransformMap() {\n return {\n src: 'url',\n caption: 'html'\n };\n }\n getDataset() {\n return {\n src: this.__src,\n caption: this.__caption,\n title: this.__title,\n altText: this.__altText,\n width: this.__width,\n height: this.__height,\n cardWidth: this.__cardWidth\n };\n }\n\n // from https://github.com/TryGhost/Ghost/blob/main/ghost/admin/app/components/gh-image-uploader.js#L18\n static extensionTypes = ['gif', 'jpg', 'jpeg', 'png', 'svg', 'svgz', 'webp'];\n static mimeTypes = ['image/gif', 'image/jpg', 'image/jpeg', 'image/png', 'image/svg+xml', 'image/webp'];\n constructor() {\n let {\n src,\n caption,\n title,\n altText,\n cardWidth,\n width,\n height\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let key = arguments.length > 1 ? arguments[1] : undefined;\n super(key);\n this.__src = src || '';\n this.__title = title || '';\n this.__caption = caption || '';\n this.__altText = altText || '';\n this.__width = width || null;\n this.__height = height || null;\n this.__cardWidth = cardWidth || 'regular';\n }\n static importJSON(serializedNode) {\n const {\n src,\n caption,\n title,\n altText,\n width,\n height,\n cardWidth\n } = serializedNode;\n const node = new this({\n src,\n caption,\n title,\n altText,\n width,\n height,\n cardWidth\n });\n return node;\n }\n exportJSON() {\n // checks if src is a data string\n const src = this.getSrc();\n const isBlob = src.startsWith('data:');\n const dataset = {\n type: 'image',\n src: isBlob ? '<base64String>' : this.getSrc(),\n width: this.getImgWidth(),\n height: this.getImgHeight(),\n title: this.getTitle(),\n altText: this.getAltText(),\n caption: this.getCaption(),\n cardWidth: this.getCardWidth()\n };\n return dataset;\n }\n static importDOM() {\n const parser = new ImageParser(this);\n return parser.DOMConversionMap;\n }\n exportDOM() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const element = renderImageNodeToDOM(this, options);\n return {\n element\n };\n }\n\n /* c8 ignore start */\n createDOM() {\n const element = document.createElement('div');\n return element;\n }\n updateDOM() {\n return false;\n }\n isInline() {\n return false;\n }\n /* c8 ignore stop */\n\n getSrc() {\n return this.__src;\n }\n setSrc(src) {\n const writable = this.getWritable();\n return writable.__src = src;\n }\n getTitle() {\n return this.__title;\n }\n setTitle(title) {\n const writable = this.getWritable();\n return writable.__title = title;\n }\n setCardWidth(cardWidth) {\n const writable = this.getWritable();\n return writable.__cardWidth = cardWidth;\n }\n getCardWidth() {\n return this.__cardWidth;\n }\n getImgWidth() {\n return this.__width;\n }\n setImgWidth(width) {\n const writable = this.getWritable();\n return writable.__width = width;\n }\n getImgHeight() {\n return this.__height;\n }\n setImgHeight(height) {\n const writable = this.getWritable();\n return writable.__height = height;\n }\n getCaption() {\n return this.__caption;\n }\n setCaption(caption) {\n const writable = this.getWritable();\n return writable.__caption = caption;\n }\n getAltText() {\n return this.__altText;\n }\n setAltText(altText) {\n const writable = this.getWritable();\n return writable.__altText = altText;\n }\n\n // should be overridden\n /* c8 ignore next 3 */\n decorate() {\n return '';\n }\n}\nconst $createImageNode = dataset => {\n return new ImageNode(dataset);\n};\nfunction $isImageNode(node) {\n return node instanceof ImageNode;\n}\n\n// export convenience objects for use elsewhere\nconst DEFAULT_NODES = [ImageNode];\n\nexport { $createImageNode, $isImageNode, $isKoenigCard, DEFAULT_NODES, INSERT_IMAGE_COMMAND, ImageNode, ImageParser, KoenigDecoratorNode, UPLOAD_IMAGE_COMMAND };\n//# sourceMappingURL=kg-default-nodes.js.map\n","import React from 'react';\n\nconst KoenigComposerContext = React.createContext({});\n\nexport default KoenigComposerContext;\n","import React from 'react';\n\nfunction CaptionInput({value, placeholder, onChange}) {\n const handleOnChange = (e) => {\n onChange(e.target.value);\n };\n\n return (\n <input\n onChange={handleOnChange}\n className=\"not-kg-prose w-full px-9 text-center font-sans text-sm font-normal leading-8 tracking-wide text-grey-900\"\n placeholder={placeholder}\n value={value}\n />\n );\n}\n\nfunction AltTextInput({value, placeholder, onChange}) {\n const handleOnChange = (e) => {\n onChange(e.target.value);\n };\n\n return (\n <input\n onChange={handleOnChange}\n className=\"not-kg-prose w-full px-9 text-center font-sans text-sm font-normal leading-8 tracking-wide text-grey-900\"\n placeholder={placeholder}\n value={value}\n />\n );\n}\n\nfunction AltToggleButton({isEditingAlt, onClick}) {\n return (\n <button\n name=\"alt-toggle-button\"\n className={`absolute bottom-0 right-0 m-2 cursor-pointer rounded border px-1 font-sans text-[1.3rem] font-normal leading-7 tracking-wide transition-all duration-100 ${isEditingAlt ? 'border-green bg-green text-white' : 'border-grey text-grey' } `}\n onClick={onClick}\n >\n Alt\n </button>\n );\n}\n\nexport function CardCaptionEditor({\n altText,\n altTextPlaceholder,\n setAltText,\n caption,\n captionPlaceholder,\n setCaption,\n isSelected\n}) {\n const [isEditingAlt, setIsEditingAlt] = React.useState(false);\n\n const toggleIsEditingAlt = (e) => {\n e.stopPropagation();\n setIsEditingAlt(!isEditingAlt);\n };\n\n // always switch back to displaying caption when card is not selected\n React.useEffect(() => {\n if (!isSelected) {\n setIsEditingAlt(false);\n }\n }, [isSelected, setIsEditingAlt]);\n\n if (isSelected || caption) {\n return (\n <figcaption className=\"flex w-full p-2\">\n {isEditingAlt\n ? <AltTextInput value={altText} placeholder={altTextPlaceholder} onChange={setAltText} />\n : <CaptionInput value={caption} placeholder={captionPlaceholder} onChange={setCaption} /> }\n {setAltText && <AltToggleButton isEditingAlt={isEditingAlt} onClick={toggleIsEditingAlt} />}\n </figcaption>\n );\n }\n}\n","const CardText = ({text}) => {\n return (\n <span data-kg-card-drag-text className=\"text-sm font-sans font-bold text-grey-800 transition-all group-hover:text-grey-800\">{text}</span>\n );\n};\n\nexport function MediaPlaceholder({desc, Icon, filePicker, size, handleDrag, handleDrop, isDraggedOver, ...props}) {\n return (\n <div\n onDragEnter={handleDrag}\n onDragLeave={handleDrag}\n onDragOver={handleDrag}\n onDrop={handleDrop}\n className=\"border border-transparent\" {...props}\n data-testid=\"media-placeholder\"\n >\n <div className={`h-100 relative flex items-center justify-center border border-grey/20 bg-grey-50 ${size === 'xsmall' ? 'before:pb-[12.5%]' : 'before:pb-[62.5%]'}`}>\n {\n isDraggedOver ?\n <CardText text=\"Drop it like it's hot 🔥\" />\n :\n <button onClick={filePicker} name=\"placeholder-button\" className={`group flex cursor-pointer items-center justify-center ${size === 'xsmall' ? 'p-4' : 'p-20 flex-col'}`}>\n <Icon className={`opacity-80 transition-all ease-linear group-hover:scale-105 group-hover:opacity-100 ${size === 'large' ? 'h-20 w-20 text-grey' : size === 'small' ? 'h-14 w-14 text-grey' : size === 'xsmall' ? 'w-6 h-6 mr-3 text-grey-700' : 'h-16 w-16 text-grey'}`} />\n <p className={`font-sans text-sm font-normal text-grey-700 transition-all group-hover:text-grey-800 ${size === 'xsmall' ? '' : 'mt-4'}`}>{desc}</p>\n </button>\n }\n </div>\n </div>\n );\n}\n","// Triggers the file selection dialog from a given referenced element\n\nexport function openFileSelection({fileInputRef}) {\n fileInputRef.current.click();\n}","export function ImageUploadForm({onFileChange, fileInputRef}) {\n return (\n <form onChange={onFileChange}>\n <input\n name=\"image-input\"\n type='file'\n accept='image/*'\n ref={fileInputRef}\n hidden={true}\n />\n </form>\n );\n}\n\nexport default ImageUploadForm;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {CardCaptionEditor} from '../CardCaptionEditor';\nimport {MediaPlaceholder} from '../MediaPlaceholder';\nimport {ReactComponent as ImgPlaceholderIcon} from '../../../assets/icons/kg-img-placeholder.svg';\nimport {openFileSelection} from '../../../utils/openFileSelection';\nimport ImageUploadForm from '../ImageUploadForm';\n\nfunction PopulatedImageCard({src, alt, previewSrc, progress}) {\n const progressStyle = {\n width: `${progress?.toFixed(0)}%`\n };\n return (\n <div>\n <img className={`mx-auto ${previewSrc ? 'opacity-40' : ''}`} src={previewSrc ? previewSrc : src} alt={alt ? alt : `upload in progress, ${progress} `} />\n {previewSrc && progress && !src ?\n <div className=\"absolute inset-0 flex items-center min-w-full bg-white/50 justify-center overflow-hidden\">\n <div className=\"not-kg-prose bg-grey-200 rounded-full shadow w-[60%]\">\n <div className=\"bg-green rounded-full text-xs leading-none py-1 text-center text-white\" style={progressStyle}></div>\n </div>\n </div>\n : <></>\n }\n </div>\n );\n}\n\nfunction EmptyImageCard({onFileChange, setFileInputRef, handleDrag, handleDrop, isDraggedOver}) {\n const fileInputRef = React.useRef(null);\n\n const onFileInputRef = (element) => {\n fileInputRef.current = element;\n setFileInputRef(fileInputRef);\n };\n\n return (\n <>\n <MediaPlaceholder\n handleDrag={handleDrag}\n handleDrop={handleDrop}\n filePicker={() => openFileSelection({fileInputRef})}\n desc=\"Click to select an image\"\n Icon={ImgPlaceholderIcon}\n isDraggedOver={isDraggedOver}\n />\n <ImageUploadForm\n filePicker={() => openFileSelection({fileInputRef})}\n onFileChange={onFileChange}\n fileInputRef={onFileInputRef}\n />\n </>\n );\n}\n\nconst ImageHolder = ({\n src,\n altText,\n previewSrc,\n uploadProgress,\n onFileChange,\n setFileInputRef,\n handleDrag,\n handleDrop,\n isDraggedOver\n}) => {\n if (previewSrc || src) {\n return (\n <PopulatedImageCard \n src={src} \n alt={altText}\n previewSrc={previewSrc} \n progress={uploadProgress} \n />\n );\n } else {\n return (\n <EmptyImageCard\n handleDrag={handleDrag} \n onFileChange={onFileChange} \n setFileInputRef={setFileInputRef}\n handleDrop={handleDrop}\n isDraggedOver={isDraggedOver}\n />\n );\n }\n};\n\nexport function ImageCard({\n isSelected,\n src,\n onFileChange,\n caption,\n setCaption,\n altText,\n setAltText,\n setFigureRef,\n fileInputRef,\n handleDrag,\n handleDrop,\n isDraggedOver,\n cardWidth,\n previewSrc,\n uploadProgress\n}) {\n const figureRef = React.useRef(null);\n\n React.useEffect(() => {\n if (setFigureRef) {\n setFigureRef(figureRef);\n }\n }, [figureRef, setFigureRef]);\n\n const setFileInputRef = (ref) => {\n if (fileInputRef) {\n fileInputRef.current = ref.current;\n }\n };\n return (\n <>\n <figure data-kg-card-width={cardWidth} ref={figureRef}>\n <ImageHolder\n src={src}\n altText={altText}\n previewSrc={previewSrc}\n uploadProgress={uploadProgress}\n onFileChange={onFileChange}\n setFileInputRef={setFileInputRef}\n handleDrag={handleDrag}\n handleDrop={handleDrop}\n isDraggedOver={isDraggedOver}\n />\n <CardCaptionEditor\n altText={altText || ''}\n setAltText={setAltText}\n altTextPlaceholder=\"Type alt text for image (optional)\"\n caption={caption || ''}\n setCaption={setCaption}\n captionPlaceholder=\"Type caption for image (optional)\"\n isSelected={isSelected}\n />\n </figure>\n </>\n );\n}\n\nImageCard.propTypes = {\n isSelected: PropTypes.bool,\n setAltText: PropTypes.func,\n caption: PropTypes.string,\n altText: PropTypes.string,\n setCaption: PropTypes.func,\n src: PropTypes.string,\n isDraggedOver: PropTypes.bool,\n previewSrc: PropTypes.string,\n uploadProgress: PropTypes.number\n};\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTFINkM2LjI2NTIyIDguMDAwMTEgNi41MTk1NyA4LjEwNTQ2IDYuNzA3MTEgOC4yOTNDNi44OTQ2NCA4LjQ4MDU0IDcgOC43MzQ4OSA3IDkuMDAwMTFWMTMuMDAwMUM3IDEzLjI2NTMgNi44OTQ2NCAxMy41MTk3IDYuNzA3MTEgMTMuNzA3MkM2LjUxOTU3IDEzLjg5NDcgNi4yNjUyMiAxNC4wMDAxIDYgMTQuMDAwMUgzQzIuNzM0NzggMTQuMDAwMSAyLjQ4MDQzIDEzLjg5NDcgMi4yOTI4OSAxMy43MDcyQzIuMTA1MzYgMTMuNTE5NyAyIDEzLjI2NTMgMiAxMy4wMDAxVjUuMDgyMTFDMiAzLjkwNjExIDIuOTA2IDIuOTYyMTEgNC41MzggMi4xMTMxMUM0LjY1NDQ4IDIuMDUyNDQgNC43ODE3NyAyLjAxNTMgNC45MTI2MSAyLjAwMzgzQzUuMDQzNDQgMS45OTIzNSA1LjE3NTI1IDIuMDA2NzUgNS4zMDA1MiAyLjA0NjIyQzUuNDI1NzkgMi4wODU2OCA1LjU0MjA1IDIuMTQ5NDQgNS42NDI2OCAyLjIzMzgzQzUuNzQzMzEgMi4zMTgyMyA1LjgyNjMzIDIuNDIxNjIgNS44ODcgMi41MzgxMUM1Ljk0NzY3IDIuNjU0NTkgNS45ODQ4IDIuNzgxODggNS45OTYyOCAyLjkxMjcxQzYuMDA3NzYgMy4wNDM1NSA1Ljk5MzM1IDMuMTc1MzYgNS45NTM4OSAzLjMwMDYzQzUuOTE0NDIgMy40MjU4OSA1Ljg1MDY3IDMuNTQyMTYgNS43NjYyNyAzLjY0Mjc5QzUuNjgxODcgMy43NDM0MiA1LjU3ODQ4IDMuODI2NDQgNS40NjIgMy44ODcxMUM0Ljg4NCA0LjE4NzExIDQuNDY5IDQuNDc2MTEgNC4yMjIgNC43MzQxMUM0LjA1NCA0LjkwODExIDQgNS4wMjAxMSA0IDUuMDgyMTFWOC4wMDAxMVpNMTMgOC4wMDAxMUMxMy4yNjUyIDguMDAwMTEgMTMuNTE5NiA4LjEwNTQ2IDEzLjcwNzEgOC4yOTNDMTMuODk0NiA4LjQ4MDU0IDE0IDguNzM0ODkgMTQgOS4wMDAxMVY5LjUzNjZDMTMuNjE0MyA5LjYwMjQzIDEzLjI1MzYgOS43NTIzIDEyLjkzNyA5Ljk0NDVMMTIuOTI5OCA5Ljk0ODlMMTIuNDMxNSAxMC4yNjA4QzExLjk4NTYgMTAuNTM1NyAxMS41IDExLjA0NzkgMTEuNSAxMS44MjUyQzExLjUgMTIuNTY4OCAxMS45NjExIDEzLjIwMTUgMTIuNjMyMyAxMy40MzExVjE0LjAwMDFIMTBDOS43MzQ3OCAxNC4wMDAxIDkuNDgwNDMgMTMuODk0NyA5LjI5Mjg5IDEzLjcwNzJDOS4xMDUzNiAxMy41MTk3IDkgMTMuMjY1MyA5IDEzLjAwMDFWNS4wODIxMUM5IDMuOTA2MTEgOS45MDYgMi45NjIxMSAxMS41MzggMi4xMTMxMUMxMS42NTQ1IDIuMDUyNDQgMTEuNzgxOCAyLjAxNTMgMTEuOTEyNiAyLjAwMzgzQzEyLjA0MzQgMS45OTIzNSAxMi4xNzUzIDIuMDA2NzUgMTIuMzAwNSAyLjA0NjIyQzEyLjQyNTggMi4wODU2OCAxMi41NDIxIDIuMTQ5NDQgMTIuNjQyNyAyLjIzMzgzQzEyLjc0MzMgMi4zMTgyMyAxMi44MjYzIDIuNDIxNjIgMTIuODg3IDIuNTM4MTFDMTIuOTQ3NyAyLjY1NDU5IDEyLjk4NDggMi43ODE4OCAxMi45OTYzIDIuOTEyNzFDMTMuMDA3OCAzLjA0MzU1IDEyLjk5MzQgMy4xNzUzNiAxMi45NTM5IDMuMzAwNjNDMTIuOTE0NCAzLjQyNTg5IDEyLjg1MDcgMy41NDIxNiAxMi43NjYzIDMuNjQyNzlDMTIuNjgxOSAzLjc0MzQyIDEyLjU3ODUgMy44MjY0NCAxMi40NjIgMy44ODcxMUMxMS44ODQgNC4xODcxMSAxMS40NjkgNC40NzYxMSAxMS4yMjIgNC43MzQxMUMxMS4wNTQgNC45MDgxMSAxMSA1LjAyMDExIDExIDUuMDgyMTFWOC4wMDAxMUgxM1pNMTQuNTQyOCAxNS40MzQ0QzE0LjExODIgMTUuNDM0NCAxMy44ODIzIDE1LjE3ODMgMTMuODgyMyAxNC43MjY3VjExLjk2SDEzLjg3MjJMMTMuNjM5NyAxMi4xMDgyQzEzLjQyNzQgMTIuMjMyOSAxMy4zMjI5IDEyLjI3MzQgMTMuMTk0OCAxMi4yNzM0QzEyLjkzNTQgMTIuMjczNCAxMi43NSAxMi4wODQ2IDEyLjc1IDExLjgyNTJDMTIuNzUgMTEuNjI5NyAxMi44NjQ2IDExLjQ2MTIgMTMuMDkwNCAxMS4zMjNMMTMuNTg1OCAxMS4wMTNDMTMuODY4OCAxMC44NDExIDE0LjE1ODcgMTAuNzUwMSAxNC40MjQ5IDEwLjc1MDFDMTQuODkzMyAxMC43NTAxIDE1LjIgMTEuMDYzNSAxNS4yIDExLjU0ODhWMTQuNzI2N0MxNS4yIDE1LjE4MTcgMTQuOTY0MSAxNS40MzQ0IDE0LjU0MjggMTUuNDM0NFoiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTVINkM2LjI2NTIyIDguMDAwMTUgNi41MTk1NyA4LjEwNTUgNi43MDcxMSA4LjI5MzA0QzYuODk0NjQgOC40ODA1OCA3IDguNzM0OTMgNyA5LjAwMDE1VjEzLjAwMDFDNyAxMy4yNjU0IDYuODk0NjQgMTMuNTE5NyA2LjcwNzExIDEzLjcwNzNDNi41MTk1NyAxMy44OTQ4IDYuMjY1MjIgMTQuMDAwMSA2IDE0LjAwMDFIM0MyLjczNDc4IDE0LjAwMDEgMi40ODA0MyAxMy44OTQ4IDIuMjkyODkgMTMuNzA3M0MyLjEwNTM2IDEzLjUxOTcgMiAxMy4yNjU0IDIgMTMuMDAwMVY1LjA4MjE1QzIgMy45MDYxNSAyLjkwNiAyLjk2MjE1IDQuNTM4IDIuMTEzMTVDNC42NTQ0OCAyLjA1MjQ4IDQuNzgxNzcgMi4wMTUzNCA0LjkxMjYxIDIuMDAzODdDNS4wNDM0NCAxLjk5MjM5IDUuMTc1MjUgMi4wMDY3OSA1LjMwMDUyIDIuMDQ2MjZDNS40MjU3OSAyLjA4NTcyIDUuNTQyMDUgMi4xNDk0OCA1LjY0MjY4IDIuMjMzODdDNS43NDMzMSAyLjMxODI3IDUuODI2MzMgMi40MjE2NiA1Ljg4NyAyLjUzODE1QzUuOTQ3NjcgMi42NTQ2MyA1Ljk4NDggMi43ODE5MiA1Ljk5NjI4IDIuOTEyNzVDNi4wMDc3NiAzLjA0MzU5IDUuOTkzMzUgMy4xNzU0IDUuOTUzODkgMy4zMDA2N0M1LjkxNDQyIDMuNDI1OTMgNS44NTA2NyAzLjU0MjIgNS43NjYyNyAzLjY0MjgzQzUuNjgxODcgMy43NDM0NiA1LjU3ODQ4IDMuODI2NDggNS40NjIgMy44ODcxNUM0Ljg4NCA0LjE4NzE1IDQuNDY5IDQuNDc2MTUgNC4yMjIgNC43MzQxNUM0LjA1NCA0LjkwODE1IDQgNS4wMjAxNSA0IDUuMDgyMTVWOC4wMDAxNVpNMTMgOC4wMDAxNUMxMy4yNjUyIDguMDAwMTUgMTMuNTE5NiA4LjEwNTUgMTMuNzA3MSA4LjI5MzA0QzEzLjg5NDYgOC40ODA1OCAxNCA4LjczNDkzIDE0IDkuMDAwMTVWOS41MTgxMkMxMy40Mzc4IDkuNTc2OTQgMTIuOTA4NyA5Ljc3NzM1IDEyLjQ4MDMgMTAuMDkxOEMxMS45Nzg1IDEwLjQ2MDEgMTEuNSAxMS4wODQ4IDExLjUgMTEuOTA0M0MxMS41IDEyLjM2MzIgMTEuNjc3MiAxMi44MTM1IDEyLjAyNjQgMTMuMTQ1MUMxMi4wNjA0IDEzLjE3NzQgMTIuMDk1NSAxMy4yMDggMTIuMTMxMiAxMy4yMzY5QzExLjk0MTkgMTMuNDQwOSAxMS43NTA5IDEzLjY5MjIgMTEuNjMyMyAxNC4wMDAxSDEwQzkuNzM0NzggMTQuMDAwMSA5LjQ4MDQzIDEzLjg5NDggOS4yOTI4OSAxMy43MDczQzkuMTA1MzYgMTMuNTE5NyA5IDEzLjI2NTQgOSAxMy4wMDAxVjUuMDgyMTVDOSAzLjkwNjE1IDkuOTA2IDIuOTYyMTUgMTEuNTM4IDIuMTEzMTVDMTEuNjU0NSAyLjA1MjQ4IDExLjc4MTggMi4wMTUzNCAxMS45MTI2IDIuMDAzODdDMTIuMDQzNCAxLjk5MjM5IDEyLjE3NTMgMi4wMDY3OSAxMi4zMDA1IDIuMDQ2MjZDMTIuNDI1OCAyLjA4NTcyIDEyLjU0MjEgMi4xNDk0OCAxMi42NDI3IDIuMjMzODdDMTIuNzQzMyAyLjMxODI3IDEyLjgyNjMgMi40MjE2NiAxMi44ODcgMi41MzgxNUMxMi45NDc3IDIuNjU0NjMgMTIuOTg0OCAyLjc4MTkyIDEyLjk5NjMgMi45MTI3NUMxMy4wMDc4IDMuMDQzNTkgMTIuOTkzNCAzLjE3NTQgMTIuOTUzOSAzLjMwMDY3QzEyLjkxNDQgMy40MjU5MyAxMi44NTA3IDMuNTQyMiAxMi43NjYzIDMuNjQyODNDMTIuNjgxOSAzLjc0MzQ2IDEyLjU3ODUgMy44MjY0OCAxMi40NjIgMy44ODcxNUMxMS44ODQgNC4xODcxNSAxMS40NjkgNC40NzYxNSAxMS4yMjIgNC43MzQxNUMxMS4wNTQgNC45MDgxNSAxMSA1LjAyMDE1IDExIDUuMDgyMTVWOC4wMDAxNUgxM1pNMTMuMjI1NiAxNS4xNDI4QzEyLjg5MDMgMTUuMTQyOCAxMi42NjI2IDE0Ljk0MDQgMTIuNjYyNiAxNC42NDMyQzEyLjY2MjYgMTQuNDIxOCAxMi43ODkxIDE0LjIyNTcgMTMuMTU5MSAxMy44Nzc5TDE0LjE2MTYgMTIuOTA3QzE0LjQ5MzcgMTIuNTg3NiAxNC42MzkxIDEyLjM3ODkgMTQuNjM5MSAxMi4xNjA3QzE0LjYzOTEgMTEuOTA0NSAxNC40NTI2IDExLjczMzcgMTQuMTgwNiAxMS43MzM3QzEzLjk2ODcgMTEuNzMzNyAxMy44MTY5IDExLjgyNTUgMTMuNjU1NiAxMi4wNTMyQzEzLjQ3ODUgMTIuMjg3MiAxMy4zNDU3IDEyLjM2OTQgMTMuMTQwMiAxMi4zNjk0QzEyLjg1MjQgMTIuMzY5NCAxMi42NSAxMi4xNzY1IDEyLjY1IDExLjkwNDVDMTIuNjUgMTEuMjk3MyAxMy4zNzEgMTAuNzUwMiAxNC4yNDcgMTAuNzUwMkMxNS4xNTQ2IDEwLjc1MDIgMTUuODI1IDExLjI5NzMgMTUuODI1IDEyLjAzNzNDMTUuODI1IDEyLjQ5NTkgMTUuNTg3OSAxMi45MjYgMTUuMDc4NyAxMy4zOTA4TDE0LjI4ODEgMTQuMTI0NVYxNC4xNzJIMTUuNDIwM0MxNS43NjUgMTQuMTcyIDE1Ljk4IDE0LjM1ODUgMTUuOTggMTQuNjYyMUMxNS45OCAxNC45NjI2IDE1Ljc3MTMgMTUuMTQyOCAxNS40MjAzIDE1LjE0MjhIMTMuMjI1NloiIC8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPHBhdGggZD0iTTE2LjE5IDMuNTFhLjUxLjUxIDAgMCAwLS43MSAwTDQuMDcgMTQuOTJhLjUuNSAwIDAgMCAwIC43MWw0LjI4IDQuMjhhLjQ4LjQ4IDAgMCAwIC43IDBMMjAuNDcgOC41YS41MS41MSAwIDAgMCAwLS43MVpNMyAxNi43MWEuNTEuNTEgMCAwIDAtLjQ3LS4xMy40OC40OCAwIDAgMC0uMzYuMzNMMCAyMy4zM2EuNDkuNDkgMCAwIDAgLjEyLjUxLjUuNSAwIDAgMCAuNTQuMTZsNi40Mi0yLjE0YS41Mi41MiAwIDAgMCAuMzMtLjM2LjQ5LjQ5IDAgMCAwLS4xNC0uNVpNMjMgMWEzLjYgMy42IDAgMCAwLTUgMGwtLjcxLjcxYS41LjUgMCAwIDAgMCAuNzFsNC4yOCA0LjI4YS41MS41MSAwIDAgMCAuNyAwTDIzIDZhMy41MyAzLjUzIDAgMCAwIDAtNVoiLz4KPC9zdmc+\"","import {ReactComponent as BoldIcon} from '../../assets/icons/kg-bold.svg';\nimport {ReactComponent as ItalicIcon} from '../../assets/icons/kg-italic.svg';\nimport {ReactComponent as HeadingOneIcon} from '../../assets/icons/kg-heading-1.svg';\nimport {ReactComponent as HeadingTwoIcon} from '../../assets/icons/kg-heading-2.svg';\nimport {ReactComponent as QuoteIcon} from '../../assets/icons/kg-quote.svg';\nimport {ReactComponent as QuoteOneIcon} from '../../assets/icons/kg-quote-1.svg';\nimport {ReactComponent as QuoteTwoIcon} from '../../assets/icons/kg-quote-2.svg';\nimport {ReactComponent as LinkIcon} from '../../assets/icons/kg-link.svg';\nimport {ReactComponent as ImageRegularIcon} from '../../assets/icons/kg-img-regular.svg';\nimport {ReactComponent as ImageWideIcon} from '../../assets/icons/kg-img-wide.svg';\nimport {ReactComponent as ImageFullIcon} from '../../assets/icons/kg-img-full.svg';\nimport {ReactComponent as ImageReplaceIcon} from '../../assets/icons/kg-replace.svg';\nimport {ReactComponent as AddIcon} from '../../assets/icons/kg-add.svg';\nimport {ReactComponent as EditIcon} from '../../assets/icons/kg-edit.svg';\nimport {ReactComponent as SnippetIcon} from '../../assets/icons/kg-snippet.svg';\n\nexport const TOOLBAR_ICONS = {\n bold: BoldIcon,\n italic: ItalicIcon,\n headingOne: HeadingOneIcon,\n headingTwo: HeadingTwoIcon,\n quote: QuoteIcon,\n quoteOne: QuoteOneIcon,\n quoteTwo: QuoteTwoIcon,\n link: LinkIcon,\n imageRegular: ImageRegularIcon,\n imageWide: ImageWideIcon,\n imageFull: ImageFullIcon,\n imageReplace: ImageReplaceIcon,\n add: AddIcon,\n edit: EditIcon,\n snippet: SnippetIcon\n};\n\nexport function ToolbarMenu({children, ...props}) {\n return (\n <ul className=\"m-0 relative flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white after:absolute after:top-[36px] after:left-[calc(50%-8px)] after:w-0 after:border-t-8 after:border-t-black after:border-x-8 after:border-x-transparent\" {...props}>\n {children}\n </ul>\n );\n}\n\nexport function ToolbarMenuItem({label, isActive, onClick, icon, ...props}) {\n const Icon = TOOLBAR_ICONS[icon];\n\n return (\n <li className=\"m-0 flex p-0 first:m-0\" {...props}>\n <button\n type=\"button\"\n className=\"flex h-9 w-9 items-center justify-center\"\n onClick={onClick}\n aria-label={label}\n data-kg-active={isActive}\n >\n <Icon className={isActive ? 'fill-green' : 'fill-white'} />\n </button>\n </li>\n );\n}\n\nexport function ToolbarMenuSeparator() {\n return (\n <li className=\"m-0 mx-1 h-5 w-px bg-grey-900\"></li>\n );\n}\n","import React from 'react';\n\nexport function ActionToolbar({isVisible, children, ...props}) {\n if (isVisible) {\n return (\n <div className=\"not-kg-prose absolute top-[-44px] left-1/2 -translate-x-1/2 z-[1000]\" {...props}>\n {children}\n </div>\n );\n }\n}\n","// gets image dimensions from a given Url\n\nexport async function getImageDimensions(url) {\n const img = new Image();\n img.src = url;\n return new Promise((resolve, reject) => {\n img.onload = () => {\n resolve({width: img.naturalWidth, height: img.naturalHeight});\n };\n img.onerror = reject;\n });\n}\n","import {$getNodeByKey} from 'lexical';\nimport {getImageDimensions} from './getImageDimensions';\n\nexport const imageUploadHandler = async (files, nodeKey, editor, imageUploader) => {\n if (!files) {\n return;\n }\n let url = URL.createObjectURL(files[0]);\n if (url) {\n await editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setPreviewSrc(url);\n });\n }\n const {width, height} = await getImageDimensions(url);\n const fileSrc = await imageUploader.imageUploader(files);\n await editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setImgWidth(width);\n node.setImgHeight(height);\n node.setSrc(fileSrc.src);\n });\n return;\n};\n","import React from 'react';\nimport {$getNodeByKey} from 'lexical';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport CardContext from '../context/CardContext';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport {ImageCard} from '../components/ui/cards/ImageCard';\nimport {ToolbarMenu, ToolbarMenuItem, ToolbarMenuSeparator} from '../components/ui/ToolbarMenu';\nimport {ActionToolbar} from '../components/ui/ActionToolbar';\nimport {ImageUploadForm} from '../components/ui/ImageUploadForm';\nimport {openFileSelection} from '../utils/openFileSelection';\nimport {imageUploadHandler} from '../utils/imageUploadHandler';\n\nexport function ImageNodeComponent({nodeKey, src, altText, caption, triggerFileDialog, previewSrc}) {\n const [editor] = useLexicalComposerContext();\n const [dragOver, setDragOver] = React.useState(false);\n const {imageUploader} = React.useContext(KoenigComposerContext);\n const {isSelected, cardWidth, setCardWidth} = React.useContext(CardContext);\n const fileInputRef = React.useRef();\n const toolbarFileInputRef = React.useRef();\n\n const onFileChange = async (e) => {\n const fls = e.target.files;\n return await imageUploadHandler(fls, nodeKey, editor, imageUploader);\n };\n\n const setCaption = (newCaption) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCaption(newCaption);\n });\n };\n\n const setAltText = (newAltText) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setAltText(newAltText);\n });\n };\n\n // when card is inserted from the card menu or slash command we want to show the file picker immediately\n // uses a setTimeout to avoid issues with React rendering the component twice in dev mode 🙈\n React.useEffect(() => {\n if (!triggerFileDialog) {\n return;\n }\n\n const renderTimeout = setTimeout(() => {\n // trigger dialog\n openFileSelection({fileInputRef});\n\n // clear the property on the node so we don't accidentally trigger anything with a re-render\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setTriggerFileDialog(false);\n });\n });\n\n return (() => {\n clearTimeout(renderTimeout);\n });\n });\n\n const handleImageCardResize = (newWidth) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCardWidth(newWidth); // this is a property on the node, not the card\n setCardWidth(newWidth); // sets the state of the toolbar component\n });\n };\n\n const handleDrag = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.type === 'dragenter' || e.type === 'dragover') {\n setDragOver(true);\n } else if (e.type === 'dragleave') {\n setDragOver(false);\n }\n return;\n };\n\n const handleDrop = async (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.dataTransfer.files && e.dataTransfer.files[0]) {\n const fls = e.dataTransfer.files;\n if (fls) {\n setDragOver(false);\n await imageUploadHandler(fls, nodeKey, editor, imageUploader);\n }\n }\n };\n\n const uploadProgress = imageUploader?.uploadProgress || 0;\n\n return (\n <>\n <ImageCard\n isSelected={isSelected}\n fileInputRef={fileInputRef}\n onFileChange={onFileChange}\n src={src}\n altText={altText}\n setAltText={setAltText}\n caption={caption}\n setCaption={setCaption}\n handleDrag={handleDrag}\n handleDrop={handleDrop}\n isDraggedOver={dragOver}\n cardWidth={cardWidth}\n previewSrc={previewSrc}\n uploadProgress={uploadProgress}\n />\n <ActionToolbar\n isVisible={src && isSelected}\n data-kg-card-toolbar=\"image\"\n >\n <ImageUploadForm\n onFileChange={onFileChange}\n fileInputRef={toolbarFileInputRef}\n />\n <ToolbarMenu>\n <ToolbarMenuItem label=\"Regular\" icon=\"imageRegular\" isActive={cardWidth === 'regular' ? true : false} onClick={() => handleImageCardResize('regular')} />\n <ToolbarMenuItem label=\"Wide\" icon=\"imageWide\" isActive={cardWidth === 'wide' ? true : false} onClick={() => handleImageCardResize('wide')}/>\n <ToolbarMenuItem label=\"Full\" icon=\"imageFull\" isActive={cardWidth === 'full' ? true : false} onClick={() => handleImageCardResize('full')} />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Link\" icon=\"link\" isActive={false} />\n <ToolbarMenuItem label=\"Replace\" icon=\"imageReplace\" isActive={false} onClick={() => openFileSelection({fileInputRef: toolbarFileInputRef})} />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Snippet\" icon=\"snippet\" isActive={false} />\n </ToolbarMenu>\n </ActionToolbar>\n </>\n );\n}\n","import React from 'react';\nimport {ImageNode as BaseImageNode, INSERT_IMAGE_COMMAND} from '@tryghost/kg-default-nodes';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {ReactComponent as ImageCardIcon} from '../assets/icons/kg-card-type-image.svg';\nimport {ReactComponent as UnsplashIcon} from '../assets/icons/kg-card-type-unsplash.svg';\nimport {ImageNodeComponent} from './ImageNodeComponent';\n\n// re-export here so we don't need to import from multiple places throughout the app\nexport {INSERT_IMAGE_COMMAND} from '@tryghost/kg-default-nodes';\n\nexport class ImageNode extends BaseImageNode {\n // transient properties used to control node behaviour\n __triggerFileDialog = false;\n __previewSrc = null;\n\n static kgMenu = [{\n label: 'Image',\n desc: 'Upload, or embed with /image [url]',\n Icon: ImageCardIcon,\n insertCommand: INSERT_IMAGE_COMMAND,\n insertParams: {\n triggerFileDialog: true\n },\n matches: ['image', 'img'],\n queryParams: ['src']\n },\n {\n section: 'Embed',\n label: 'Unsplash',\n desc: '/unsplash [search term or url]',\n Icon: UnsplashIcon,\n insertCommand: INSERT_IMAGE_COMMAND,\n insertParams: {\n triggerFileDialog: false,\n triggerFileSelector: 'unsplash'\n },\n matches: ['unsplash', 'uns'],\n queryParams: ['src']\n }];\n\n constructor(dataset = {}, key) {\n super(dataset, key);\n\n const {previewSrc, triggerFileDialog} = dataset;\n\n this.__previewSrc = previewSrc || '';\n // don't trigger the file dialog when rendering if we've already been given a url\n this.__triggerFileDialog = (!dataset.src && triggerFileDialog) || false;\n }\n\n getDataset() {\n const dataset = super.getDataset();\n\n dataset.__previewSrc = this.__previewSrc;\n dataset.__triggerFileDialog = this.__triggerFileDialog;\n\n return dataset;\n }\n\n getPreviewSrc() {\n return this.__previewSrc;\n }\n\n setPreviewSrc(previewSrc) {\n const writable = this.getWritable();\n return writable.__previewSrc = previewSrc;\n }\n\n setTriggerFileDialog(shouldTrigger) {\n const writable = this.getWritable();\n return writable.__triggerFileDialog = shouldTrigger;\n }\n\n createDOM() {\n return document.createElement('div');\n }\n\n decorate() {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()} width={this.__cardWidth}>\n <ImageNodeComponent\n nodeKey={this.getKey()}\n src={this.__src}\n altText={this.__altText}\n caption={this.__caption}\n triggerFileDialog={this.__triggerFileDialog}\n previewSrc={this.getPreviewSrc()}\n />\n </KoenigCardWrapper>\n );\n }\n}\n\nexport const $createImageNode = (dataset) => {\n return new ImageNode(dataset);\n};\n\nexport function $isImageNode(node) {\n return node instanceof ImageNode;\n}\n","import {ListItemNode, ListNode} from '@lexical/list';\nimport {HeadingNode, QuoteNode} from '@lexical/rich-text';\nimport {LinkNode} from '@lexical/link';\nimport {AsideNode} from './AsideNode';\nimport {HorizontalRuleNode} from './HorizontalRuleNode';\nimport {CodeBlockNode} from './CodeBlockNode';\nimport {ImageNode} from './ImageNode';\n\nconst DEFAULT_NODES = [\n HeadingNode,\n ListNode,\n ListItemNode,\n QuoteNode,\n AsideNode,\n LinkNode,\n CodeBlockNode,\n HorizontalRuleNode,\n ImageNode\n];\n\nexport default DEFAULT_NODES;\n","const defaultTheme = {\n paragraph: undefined,\n heading: {\n h1: undefined,\n h2: undefined,\n h3: undefined,\n h4: undefined,\n h5: undefined,\n h6: undefined\n },\n quote: undefined,\n aside: undefined,\n list: {\n nested: {\n listitem: '!list-none'\n },\n ol: undefined,\n ul: undefined,\n listitem: undefined\n },\n link: undefined,\n text: {\n bold: undefined,\n italic: 'italic',\n overflowed: undefined,\n hashtag: undefined,\n underline: undefined,\n strikethrough: undefined,\n underlinestrikethrough: undefined,\n code: undefined\n },\n code: undefined\n};\n\nexport default defaultTheme;\n","import React from 'react';\nimport {LexicalComposer} from '@lexical/react/LexicalComposer';\nimport DEFAULT_NODES from '../nodes/DefaultNodes';\nimport defaultTheme from '../themes/default';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\n\n// Catch any errors that occur during Lexical updates and log them\n// or throw them as needed. If you don't throw them, Lexical will\n// try to recover gracefully without losing user data.\nfunction defaultOnError(error) {\n console.error(error); // eslint-disable-line\n}\n\nconst defaultConfig = {\n namespace: 'KoenigEditor',\n theme: defaultTheme\n};\n\nconst KoenigComposer = ({\n initialEditorState,\n nodes = [...DEFAULT_NODES],\n onError = defaultOnError,\n imageUploadFunction,\n children\n}) => {\n const initialConfig = React.useMemo(() => {\n return Object.assign({}, defaultConfig, {\n nodes,\n editorState: initialEditorState,\n onError\n });\n }, [initialEditorState, nodes, onError]);\n\n const editorContainerRef = React.useRef(null);\n\n const imageUploader = imageUploadFunction || function () {\n console.error('requires imageUploadFunction to be passed to KoenigComposer component, eg <KoenigComposer imageUploadFunction={function} />'); // eslint-disable-line no-console\n return;\n };\n\n return (\n <LexicalComposer initialConfig={initialConfig}>\n <KoenigComposerContext.Provider value={{imageUploader, editorContainerRef}}>\n {children}\n </KoenigComposerContext.Provider>\n </LexicalComposer>\n );\n};\n\nexport default KoenigComposer;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"lexical\");function r(c,e=!0){if(c)return!1;c=t();e&&(c=c.trim());return\"\"===c}function t(){return h.$getRoot().getTextContent()}function u(c,e){if(!e||!r(c,!1))return!1;c=h.$getRoot().getChildren();e=c.length;if(1<e)return!1;for(let f=0;f<e;f++){var b=c[f];if(h.$isElementNode(b)){if(\"paragraph\"!==b.__type||0!==b.__indent)return!1;b=b.getChildren();let n=b.length;for(let p=0;p<n;p++)if(!h.$isTextNode(b[f]))return!1}}return!0}exports.$canShowPlaceholder=u;\nexports.$canShowPlaceholderCurry=function(c,e){return()=>u(c,e)};exports.$findTextIntersectionFromCharacters=function(c,e){var b=c.getFirstChild();c=0;a:for(;null!==b;){if(h.$isElementNode(b)){var f=b.getFirstChild();if(null!==f){b=f;continue}}else if(h.$isTextNode(b)){f=b.getTextContentSize();if(c+f>e)return{node:b,offset:e-c};c+=f}f=b.getNextSibling();if(null!==f)b=f;else{for(b=b.getParent();null!==b;){f=b.getNextSibling();if(null!==f){b=f;continue a}b=b.getParent()}break}}return null};\nexports.$isRootTextContentEmpty=r;exports.$isRootTextContentEmptyCurry=function(c,e){return()=>r(c,e)};exports.$rootTextContent=t;\nexports.registerLexicalTextEntity=function(c,e,b,f){let n=a=>{const d=h.$createTextNode(a.getTextContent());d.setFormat(a.getFormat());a.replace(d)},p=c.registerNodeTransform(h.TextNode,a=>{if(a.isSimpleText()){var d=a.getPreviousSibling(),l=a.getTextContent(),m=a;if(h.$isTextNode(d)){var k=d.getTextContent(),g=e(k+l);if(d instanceof b){if(null===g||0!==d.getLatest().__mode){n(d);return}g=g.end-k.length;if(0<g){m=l.slice(0,g);m=k+m;d.select();d.setTextContent(m);g===l.length?a.remove():(d=l.slice(g),\na.setTextContent(d));return}}else if(null===g||g.start<k.length)return}for(;;){a=e(l);l=g=null===a?\"\":l.slice(a.end);if(\"\"===g){if(k=m.getNextSibling(),h.$isTextNode(k))if(g=m.getTextContent()+k.getTextContent(),g=e(g),null===g){k instanceof b?n(k):k.markDirty();break}else if(0!==g.start)break}else if(k=e(g),null!==k&&0===k.start)break;if(null===a)break;if(0===a.start&&h.$isTextNode(d)&&d.isTextEntity())continue;let q;0===a.start?[q,m]=m.splitText(a.end):[,q,m]=m.splitText(a.start,a.end);a=f(q);q.replace(a);\nif(null==m)break}}});c=c.registerNodeTransform(b,a=>{var d=a.getTextContent();const l=e(d);null===l||0!==l.start?n(a):d.length>l.end?a.splitText(l.end):(d=a.getPreviousSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),n(a)),d=a.getNextSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),a instanceof b&&n(a)))});return[p,c]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalText = process.env.NODE_ENV === 'development' ? require('./LexicalText.dev.js') : require('./LexicalText.prod.js')\nmodule.exports = LexicalText;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var g=require(\"lexical\");\nexports.registerDragonSupport=function(m){let t=window.location.origin,r=l=>{if(l.origin===t){var h=m.getRootElement();if(document.activeElement===h&&(h=l.data,\"string\"===typeof h)){try{var a=JSON.parse(h)}catch(k){return}if(a&&\"nuanria_messaging\"===a.protocol&&\"request\"===a.type&&(a=a.payload)&&\"makeChanges\"===a.functionId&&(a=a.args)){const [k,n,p,q,u]=a;m.update(()=>{const f=g.$getSelection();if(g.$isRangeSelection(f)){var e=f.anchor;let b=e.getNode(),c=0,d=0;g.$isTextNode(b)&&0<=k&&0<=n&&(c=k,\nd=k+n,f.setTextNodeRange(b,c,b,d));if(c!==d||\"\"!==p)f.insertRawText(p),b=e.getNode();g.$isTextNode(b)&&(c=q,d=q+u,e=b.getTextContentSize(),c=c>e?e:c,d=d>e?e:d,f.setTextNodeRange(b,c,b,d));l.stopImmediatePropagation()}})}}}};window.addEventListener(\"message\",r,!0);return()=>{window.removeEventListener(\"message\",r,!0)}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalDragon = process.env.NODE_ENV === 'development' ? require('./LexicalDragon.dev.js') : require('./LexicalDragon.prod.js')\nmodule.exports = LexicalDragon;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=require(\"@lexical/react/LexicalComposerContext\"),h=require(\"react\"),l=require(\"@lexical/text\"),m=require(\"@lexical/utils\"),n=require(\"react-dom\"),q=require(\"@lexical/dragon\"),r=require(\"@lexical/rich-text\"),t=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?h.useLayoutEffect:h.useEffect;function u(a){return a.getEditorState().read(l.$canShowPlaceholderCurry(a.isComposing(),a.isEditable()))}\nfunction v(a){let [f,d]=h.useState(()=>u(a));t(()=>{function c(){let e=u(a);d(e)}c();return m.mergeRegister(a.registerUpdateListener(()=>{c()}),a.registerEditableListener(()=>{c()}))},[a]);return f}\nfunction w(a,f){let [d,c]=h.useState(()=>a.getDecorators());t(()=>a.registerDecoratorListener(e=>{n.flushSync(()=>{c(e)})}),[a]);h.useEffect(()=>{c(a.getDecorators())},[a]);return h.useMemo(()=>{let e=[],p=Object.keys(d);for(let k=0;k<p.length;k++){var g=p[k];let y=h.createElement(f,{onError:x=>a._onError(x)},h.createElement(h.Suspense,{fallback:null},d[g]));g=a.getElementByKey(g);null!==g&&e.push(n.createPortal(y,g))}return e},[f,d,a])}\nfunction z(a){t(()=>m.mergeRegister(r.registerRichText(a),q.registerDragonSupport(a)),[a])}exports.RichTextPlugin=function({contentEditable:a,placeholder:f,ErrorBoundary:d}){let [c]=b.useLexicalComposerContext(),e=v(c);d=w(c,d);z(c);return h.createElement(h.Fragment,null,a,e&&f,d)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalRichTextPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalRichTextPlugin.dev.js') : require('./LexicalRichTextPlugin.prod.js')\nmodule.exports = LexicalRichTextPlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"react\");function m(b,c){m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(g,a){g.__proto__=a;return g};return m(b,c)}function n(b,c){b.prototype=Object.create(c.prototype);b.prototype.constructor=b;m(b,c)}function r(b,c){void 0===b&&(b=[]);void 0===c&&(c=[]);return b.length!==c.length||b.some(function(g,a){return!Object.is(g,c[a])})}\nvar t={error:null},u=function(b){function c(){for(var a,d=arguments.length,f=Array(d),e=0;e<d;e++)f[e]=arguments[e];a=b.call.apply(b,[this].concat(f))||this;a.state=t;a.resetErrorBoundary=function(){for(var k,p=arguments.length,q=Array(p),l=0;l<p;l++)q[l]=arguments[l];null==a.props.onReset?void 0:(k=a.props).onReset.apply(k,q);a.reset()};return a}n(c,b);c.getDerivedStateFromError=function(a){return{error:a}};var g=c.prototype;g.reset=function(){this.setState(t)};g.componentDidCatch=function(a,d){var f,\ne;null==(f=(e=this.props).onError)?void 0:f.call(e,a,d)};g.componentDidUpdate=function(a,d){var f=this.props.resetKeys;if(null!==this.state.error&&null!==d.error&&r(a.resetKeys,f)){var e,k;null==(e=(k=this.props).onResetKeysChange)?void 0:e.call(k,a.resetKeys,f);this.reset()}};g.render=function(){var a=this.state.error,d=this.props,f=d.fallbackRender,e=d.FallbackComponent;d=d.fallback;if(null!==a){a={error:a,resetErrorBoundary:this.resetErrorBoundary};if(h.isValidElement(d))return d;if(\"function\"===\ntypeof f)return f(a);if(e)return h.createElement(e,a);throw Error(\"react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop\");}return this.props.children};return c}(h.Component);module.exports=function({children:b,onError:c}){return h.createElement(u,{fallback:h.createElement(\"div\",{style:{border:\"1px solid #f00\",color:\"#f00\",padding:\"8px\"}},\"An error was thrown.\"),onError:c},b)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalErrorBoundary = process.env.NODE_ENV === 'development' ? require('./LexicalErrorBoundary.dev.js') : require('./LexicalErrorBoundary.prod.js')\nmodule.exports = LexicalErrorBoundary;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=require(\"@lexical/react/LexicalComposerContext\"),k=require(\"react\"),l=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?k.useLayoutEffect:k.useEffect;\nexports.ContentEditable=function({ariaActiveDescendantID:m,ariaAutoComplete:n,ariaControls:p,ariaDescribedBy:q,ariaExpanded:r,ariaLabel:t,ariaLabelledBy:u,ariaMultiline:v,ariaOwneeID:w,ariaRequired:x,autoCapitalize:e,autoComplete:y,autoCorrect:f,className:z,id:A,role:g=\"textbox\",spellCheck:B=!0,style:C,tabIndex:D,testid:E}){let [c]=b.useLexicalComposerContext(),[a,h]=k.useState(!1),F=k.useCallback(d=>{c.setRootElement(d)},[c]);l(()=>{h(c.isEditable());return c.registerEditableListener(d=>{h(d)})},\n[c]);return k.createElement(\"div\",{\"aria-activedescendant\":a?m:null,\"aria-autocomplete\":a?n:null,\"aria-controls\":a?p:null,\"aria-describedby\":q,\"aria-expanded\":a?\"combobox\"===g?!!r:null:null,\"aria-label\":t,\"aria-labelledby\":u,\"aria-multiline\":v,\"aria-owns\":a?w:null,\"aria-required\":x,autoCapitalize:void 0!==e?String(e):void 0,autoComplete:y,autoCorrect:void 0!==f?String(f):void 0,className:z,contentEditable:a,\"data-testid\":E,id:A,ref:F,role:a?g:void 0,spellCheck:B,style:C,tabIndex:D})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalContentEditable = process.env.NODE_ENV === 'development' ? require('./LexicalContentEditable.dev.js') : require('./LexicalContentEditable.prod.js')\nmodule.exports = LexicalContentEditable;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var d=require(\"@lexical/utils\"),u=require(\"lexical\");\nfunction v(b,a,m,k,p){if(null===b||0===m.size&&0===k.size&&!p)return 0;var f=a._selection,c=b._selection;if(p)return 1;if(!(u.$isRangeSelection(f)&&u.$isRangeSelection(c)&&c.isCollapsed()&&f.isCollapsed()))return 0;p=a._nodeMap;let e=[];for(let g of m)m=p.get(g),void 0!==m&&e.push(m);for(let [g,n]of k)n&&(k=p.get(g),void 0===k||u.$isRootNode(k)||e.push(k));if(0===e.length)return 0;if(1<e.length)return k=a._nodeMap,a=k.get(f.anchor.key),c=k.get(c.anchor.key),a&&c&&!b._nodeMap.has(a.__key)&&u.$isTextNode(a)&&\n1===a.__text.length&&1===f.anchor.offset?2:0;a=e[0];b=b._nodeMap.get(a.__key);if(!u.$isTextNode(b)||!u.$isTextNode(a)||b.__mode!==a.__mode)return 0;b=b.__text;a=a.__text;if(b===a)return 0;f=f.anchor;c=c.anchor;if(f.key!==c.key||\"text\"!==f.type)return 0;f=f.offset;c=c.offset;b=a.length-b.length;return 1===b&&c===f-1?2:-1===b&&c===f+1?3:-1===b&&c===f?4:0}\nfunction w(b,a){let m=Date.now(),k=0;return(p,f,c,e,g,n)=>{let r=Date.now();if(n.has(\"historic\"))return k=0,m=r,2;let q=v(p,f,e,g,b.isComposing()),t=(()=>{var l=null===c||c.editor===b,h=n.has(\"history-push\");if(!h&&l&&n.has(\"history-merge\"))return 0;if(null===p)return 1;const x=f._selection,y=p._selection;return 0<e.size||0<g.size?!1===h&&0!==q&&q===k&&r<m+a&&l||1===e.size&&(h=Array.from(e)[0],l=p._nodeMap.get(h),h=f._nodeMap.get(h),l=u.$isTextNode(l)&&u.$isTextNode(h)?l.__type===h.__type&&l.__text===\nh.__text&&l.__mode===h.__mode&&l.__detail===h.__detail&&l.__style===h.__style&&l.__format===h.__format&&l.__parent===h.__parent:!1,l)?0:1:null===y&&null!==x?0:2})();m=r;k=q;return t}}exports.createEmptyHistoryState=function(){return{current:null,redoStack:[],undoStack:[]}};\nexports.registerHistory=function(b,a,m){let k=w(b,m);m=({editorState:c,prevEditorState:e,dirtyLeaves:g,dirtyElements:n,tags:r})=>{const q=a.current,t=a.redoStack,l=a.undoStack,h=null===q?null:q.editorState;if(null===q||c!==h){g=k(e,c,q,g,n,r);if(1===g)0!==t.length&&(a.redoStack=[]),null!==q&&(l.push({...q,undoSelection:e.read(u.$getSelection)}),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));else if(2===g)return;a.current={editor:b,editorState:c}}};let p=d.mergeRegister(b.registerCommand(u.UNDO_COMMAND,\n()=>{let c=a.redoStack,e=a.undoStack;if(0!==e.length){let g=a.current,n=e.pop();null!==g&&(c.push(g),b.dispatchCommand(u.CAN_REDO_COMMAND,!0));0===e.length&&b.dispatchCommand(u.CAN_UNDO_COMMAND,!1);a.current=n||null;n&&n.editor.setEditorState(n.editorState.clone(n.undoSelection),{tag:\"historic\"})}return!0},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.REDO_COMMAND,()=>{let c=a.redoStack;var e=a.undoStack;if(0!==c.length){let g=a.current;null!==g&&(e.push(g),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));\ne=c.pop();0===c.length&&b.dispatchCommand(u.CAN_REDO_COMMAND,!1);a.current=e||null;e&&e.editor.setEditorState(e.editorState,{tag:\"historic\"})}return!0},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.CLEAR_EDITOR_COMMAND,()=>{a.undoStack=[];a.redoStack=[];a.current=null;return!1},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.CLEAR_HISTORY_COMMAND,()=>{a.undoStack=[];a.redoStack=[];a.current=null;b.dispatchCommand(u.CAN_REDO_COMMAND,!1);b.dispatchCommand(u.CAN_UNDO_COMMAND,!1);return!0},u.COMMAND_PRIORITY_EDITOR),\nb.registerUpdateListener(m)),f=b.registerUpdateListener(m);return()=>{p();f()}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHistory = process.env.NODE_ENV === 'development' ? require('./LexicalHistory.dev.js') : require('./LexicalHistory.prod.js')\nmodule.exports = LexicalHistory;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/react/LexicalComposerContext\"),history=require(\"@lexical/history\"),f=require(\"react\");function g(a,b,d=1E3){let e=f.useMemo(()=>b||history.createEmptyHistoryState(),[b]);f.useEffect(()=>history.registerHistory(a,e,d),[d,a,e])}exports.createEmptyHistoryState=history.createEmptyHistoryState;exports.HistoryPlugin=function({externalHistoryState:a}){let [b]=c.useLexicalComposerContext();g(b,a);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHistoryPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalHistoryPlugin.dev.js') : require('./LexicalHistoryPlugin.prod.js')\nmodule.exports = LexicalHistoryPlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/react/LexicalComposerContext\"),f=require(\"react\"),g=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?f.useLayoutEffect:f.useEffect;\nexports.OnChangePlugin=function({ignoreHistoryMergeTagChange:d=!0,ignoreSelectionChange:e=!1,onChange:a}){let [b]=c.useLexicalComposerContext();g(()=>{if(a)return b.registerUpdateListener(({editorState:h,dirtyElements:k,dirtyLeaves:l,prevEditorState:m,tags:n})=>{e&&0===k.size&&0===l.size||d&&n.has(\"history-merge\")||m.isEmpty()||a(h,b)})},[b,d,e,a]);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalOnChangePlugin = process.env.NODE_ENV === 'development' ? require('./LexicalOnChangePlugin.dev.js') : require('./LexicalOnChangePlugin.prod.js')\nmodule.exports = LexicalOnChangePlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=require(\"@lexical/list\"),c=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"react\"),e=require(\"@lexical/utils\"),f=require(\"lexical\");\nfunction g(a){d.useEffect(()=>e.mergeRegister(a.registerCommand(f.INDENT_CONTENT_COMMAND,()=>{b.indentList();return!1},f.COMMAND_PRIORITY_LOW),a.registerCommand(f.OUTDENT_CONTENT_COMMAND,()=>{b.outdentList();return!1},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.INSERT_ORDERED_LIST_COMMAND,()=>{b.insertList(a,\"number\");return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.INSERT_UNORDERED_LIST_COMMAND,()=>{b.insertList(a,\"bullet\");return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.REMOVE_LIST_COMMAND,\n()=>{b.removeList(a);return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(f.INSERT_PARAGRAPH_COMMAND,()=>b.$handleListInsertParagraph()?!0:!1,f.COMMAND_PRIORITY_LOW)),[a])}exports.ListPlugin=function(){let [a]=c.useLexicalComposerContext();d.useEffect(()=>{if(!a.hasNodes([b.ListNode,b.ListItemNode]))throw Error(\"ListPlugin: ListNode and/or ListItemNode not registered on editor\");},[a]);g(a);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalListPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalListPlugin.dev.js') : require('./LexicalListPlugin.prod.js')\nmodule.exports = LexicalListPlugin;","import React from 'react';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {\n $createNodeSelection,\n $getSelection,\n $isDecoratorNode,\n $isElementNode,\n $isParagraphNode,\n $isNodeSelection,\n $isRangeSelection,\n $isTextNode,\n $setSelection,\n $createTextNode,\n $createParagraphNode,\n COMMAND_PRIORITY_HIGH,\n KEY_ARROW_DOWN_COMMAND,\n KEY_ARROW_UP_COMMAND,\n KEY_ARROW_LEFT_COMMAND,\n KEY_ARROW_RIGHT_COMMAND,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n KEY_TAB_COMMAND,\n PASTE_COMMAND,\n INSERT_PARAGRAPH_COMMAND\n} from 'lexical';\nimport {$createLinkNode} from '@lexical/link';\nimport {mergeRegister} from '@lexical/utils';\nimport {$isListItemNode} from '@lexical/list';\n\nconst RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX = 10;\n\nfunction $isAtStartOfDocument(selection) {\n let [selectedNode] = selection.getNodes();\n if ($isTextNode(selectedNode)) {\n selectedNode = selectedNode.getParent();\n }\n const selectedIndex = selectedNode.getIndexWithinParent();\n const selectedTopLevelIndex = selectedNode.getTopLevelElement()?.getIndexWithinParent();\n\n return selectedIndex === 0\n && selectedTopLevelIndex === 0\n && selection.anchor.offset === 0\n && selection.focus.offset === 0;\n}\n\nfunction $selectDecoratorNode(node) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(node.getKey());\n $setSelection(nodeSelection);\n}\n\nfunction getTopLevelNativeElement(node) {\n if (node.nodeType === Node.TEXT_NODE) {\n node = node.parentNode;\n }\n\n const selector = '[data-lexical-editor] > *';\n return node.closest(selector);\n}\n\nfunction useKoenigBehaviour({editor, containerElem, cursorDidExitAtTop}) {\n // deselect cards on mousedown outside of the editor container\n React.useEffect(() => {\n const onMousedown = (event) => {\n if (!containerElem.current.contains(event.target)) {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n $setSelection(null);\n }\n });\n }\n };\n\n window.addEventListener('mousedown', onMousedown);\n\n return () => {\n window.removeEventListener('mousedown', onMousedown);\n };\n }, [editor, containerElem]);\n\n // Override built-in keyboard movement around card (DecoratorNode) boundaries,\n // cards should be selected on up/down and when deleting content around them.\n // Trigger `cursorDidExitAtTop` prop if present and cursor at beginning of doc\n React.useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n KEY_ARROW_UP_COMMAND,\n (event) => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n const currentNode = selection.getNodes()[0];\n const previousSibling = currentNode.getPreviousSibling();\n\n // do nothing if decorator node is top of document and selected\n if (!previousSibling) {\n selection.clear();\n cursorDidExitAtTop?.();\n return true;\n }\n\n if ($isDecoratorNode(previousSibling)) {\n $selectDecoratorNode(previousSibling);\n return true;\n }\n }\n\n if ($isRangeSelection(selection)) {\n if (selection.isCollapsed) {\n const topLevelElement = selection.anchor.getNode().getTopLevelElement();\n const nativeSelection = window.getSelection();\n\n if (cursorDidExitAtTop && $isAtStartOfDocument(selection)) {\n cursorDidExitAtTop();\n return true;\n }\n\n // empty paragraphs are odd because the native range won't\n // have a rect to compare positioning\n const onEmptyNode =\n topLevelElement?.getTextContent().trim() === '' &&\n selection.anchor.offset === 0;\n\n const atStartOfElement =\n selection.anchor.offset === 0 &&\n selection.focus.offset === 0;\n\n if (onEmptyNode || atStartOfElement) {\n const previousSibling = topLevelElement.getPreviousSibling();\n if ($isDecoratorNode(previousSibling)) {\n $selectDecoratorNode(previousSibling);\n return true;\n }\n } else {\n const range = nativeSelection.getRangeAt(0).cloneRange();\n const rects = range.getClientRects();\n\n if (rects.length > 0) {\n // try second rect first because when the caret is at the beginning\n // of a line the first rect will be positioned on line above breaking\n // the top position check\n const rangeRect = rects[1] || rects[0];\n const nativeTopLevelElement = getTopLevelNativeElement(nativeSelection.anchorNode);\n const elemRect = nativeTopLevelElement.getBoundingClientRect();\n\n const atTopOfNode = Math.abs(rangeRect.top - elemRect.top) <= RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX;\n\n if (atTopOfNode) {\n const previousSibling = topLevelElement.getPreviousSibling();\n if ($isDecoratorNode(previousSibling)) {\n $selectDecoratorNode(previousSibling);\n return true;\n }\n }\n }\n }\n }\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_DOWN_COMMAND,\n () => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n const currentNode = selection.getNodes()[0];\n const nextSibling = currentNode.getNextSibling();\n\n if ($isDecoratorNode(nextSibling)) {\n $selectDecoratorNode(nextSibling);\n return true;\n }\n }\n\n if ($isRangeSelection(selection)) {\n if (selection.isCollapsed) {\n const topLevelElement = selection.anchor.getNode().getTopLevelElement();\n const nativeSelection = window.getSelection();\n const nativeTopLevelElement = getTopLevelNativeElement(nativeSelection.anchorNode);\n\n // empty paragraphs are odd because the native range won't\n // have a rect to compare positioning\n const onEmptyNode =\n topLevelElement?.getTextContent().trim() === '' &&\n selection.anchor.offset === 0;\n\n const atEndOfElement =\n nativeSelection.rangeCount !== 0 &&\n nativeSelection.anchorNode === nativeTopLevelElement &&\n nativeSelection.anchorOffset === nativeTopLevelElement.children.length - 1 &&\n nativeSelection.focusOffset === nativeTopLevelElement.children.length - 1;\n\n if (onEmptyNode || atEndOfElement) {\n const nextSibling = topLevelElement.getNextSibling();\n if ($isDecoratorNode(nextSibling)) {\n $selectDecoratorNode(nextSibling);\n return true;\n }\n } else {\n const range = nativeSelection.getRangeAt(0).cloneRange();\n const rects = range.getClientRects();\n\n if (rects.length > 0) {\n const rangeRect = rects[0];\n const elemRect = nativeTopLevelElement.getBoundingClientRect();\n\n if (Math.abs(rangeRect.bottom - elemRect.bottom) < RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX) {\n const nextSibling = topLevelElement.getNextSibling();\n if ($isDecoratorNode(nextSibling)) {\n $selectDecoratorNode(nextSibling);\n return true;\n }\n }\n }\n }\n }\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_LEFT_COMMAND,\n (event) => {\n const selection = $getSelection();\n\n if (cursorDidExitAtTop) {\n if ($isNodeSelection(selection)) {\n const currentNode = selection.getNodes()[0];\n const previousSibling = currentNode.getPreviousSibling();\n\n if (!previousSibling) {\n event.preventDefault();\n selection.clear();\n cursorDidExitAtTop?.();\n return true;\n }\n }\n\n if (selection.isCollapsed && $isAtStartOfDocument(selection)) {\n event.preventDefault();\n cursorDidExitAtTop();\n return true;\n }\n }\n\n if (!$isNodeSelection(selection)) {\n return false;\n }\n\n const firstNode = selection.getNodes()[0];\n const topLevelElement = firstNode.getTopLevelElement();\n const previousSibling = topLevelElement.getPreviousSibling();\n\n if ($isDecoratorNode(previousSibling)) {\n event.preventDefault();\n $selectDecoratorNode(previousSibling);\n return true;\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_RIGHT_COMMAND,\n (event) => {\n const selection = $getSelection();\n\n if (!$isNodeSelection(selection)) {\n return false;\n }\n\n const selectedNodes = selection.getNodes();\n const lastNode = selectedNodes[selectedNodes.length - 1];\n const topLevelElement = lastNode.getTopLevelElement();\n const nextSibling = topLevelElement.getNextSibling();\n\n if ($isDecoratorNode(nextSibling)) {\n event.preventDefault();\n $selectDecoratorNode(nextSibling);\n return true;\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_BACKSPACE_COMMAND,\n (event) => {\n const selection = $getSelection();\n\n // <KoenigCardWrapper> currently handles the behaviour for\n // backspace on a selected card\n if ($isNodeSelection(selection)) {\n return false;\n }\n\n if ($isRangeSelection(selection)) {\n if (selection.isCollapsed) {\n const anchor = selection.anchor;\n const anchorNode = anchor.getNode();\n const topLevelElement = anchorNode.getTopLevelElement();\n const previousSibling = topLevelElement.getPreviousSibling();\n\n const atStartOfElement =\n selection.anchor.offset === 0 &&\n selection.focus.offset === 0;\n\n // convert empty top level list items to paragraphs\n if (\n atStartOfElement &&\n $isListItemNode(anchorNode) &&\n anchorNode.getIndent() === 0 &&\n anchorNode.isEmpty()\n ) {\n event.preventDefault();\n editor.dispatchCommand(INSERT_PARAGRAPH_COMMAND);\n return true;\n }\n\n // delete empty paragraphs and select card if preceded by card\n if ($isParagraphNode(anchorNode) && anchorNode.isEmpty() && $isDecoratorNode(previousSibling)) {\n topLevelElement.remove();\n $selectDecoratorNode(previousSibling);\n return true;\n }\n\n // convert populated top level list items to paragraphs when cursor is at beginning\n if (atStartOfElement && $isListItemNode(anchorNode.getParent())) {\n const listItemNode = anchorNode.getParent();\n if (listItemNode.getIndent() === 0) {\n event.preventDefault();\n const paragraphNode = $createParagraphNode();\n paragraphNode.append(...listItemNode.getChildren());\n listItemNode.replace(paragraphNode);\n return true;\n }\n }\n\n // delete any previous card keeping caret in place\n if (atStartOfElement && $isDecoratorNode(previousSibling)) {\n event.preventDefault();\n previousSibling.remove();\n return true;\n }\n }\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_DELETE_COMMAND,\n (event) => {\n const selection = $getSelection();\n\n // <KoenigCardWrapper> currently handles the behaviour for\n // delete on a selected card\n if ($isNodeSelection(selection)) {\n return false;\n }\n\n if ($isRangeSelection(selection)) {\n if (selection.isCollapsed) {\n const anchor = selection.anchor;\n const anchorNode = anchor.getNode();\n const topLevelElement = anchorNode.getTopLevelElement();\n const nextSibling = topLevelElement.getNextSibling();\n\n const onEmptyNode =\n topLevelElement?.getTextContent().trim() === '' &&\n selection.anchor.offset === 0;\n\n if (onEmptyNode && $isDecoratorNode(nextSibling)) {\n // delete the empty node and select the previous card\n event.preventDefault();\n topLevelElement.remove();\n $selectDecoratorNode(nextSibling);\n return true;\n }\n\n const atEndOfNode = ((\n anchor.type === 'element' &&\n $isElementNode(anchorNode) &&\n anchor.offset === anchorNode.getChildrenSize()\n ) || (\n anchor.type === 'text' &&\n anchor.offset === anchorNode.getTextContentSize()\n ));\n\n if (atEndOfNode && $isDecoratorNode(nextSibling)) {\n // delete the card, keeping selection in place\n event.preventDefault();\n nextSibling.remove();\n return true;\n }\n }\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_TAB_COMMAND,\n (event) => {\n if (event.shiftKey) {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n event.preventDefault();\n selection.clear();\n cursorDidExitAtTop();\n return true;\n }\n\n let nodes;\n if (selection.isCollapsed) {\n const anchorNode = selection.anchor.getNode();\n nodes = $isTextNode(anchorNode) ? [anchorNode.getParent()] : [anchorNode];\n } else {\n nodes = selection.getNodes();\n }\n\n const hasIndentedNode = nodes.some((node) => {\n return node.getIndent && node.getIndent() > 0;\n });\n\n if (hasIndentedNode) {\n return false;\n } else {\n event.preventDefault();\n cursorDidExitAtTop();\n return true;\n }\n }\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n PASTE_COMMAND,\n (clipboard) => {\n const clipboardDataset = clipboard?.clipboardData?.getData('text');\n const linkMatch = clipboardDataset?.match(/^(https?:\\/\\/[^\\s]+)$/); // replace with better regex to include more protocols like mailto, ftp, etc\n const selection = $getSelection();\n const selectionContent = selection.getTextContent();\n if (linkMatch && selectionContent.length > 0) {\n const link = linkMatch[1];\n if ($isRangeSelection(selection)) {\n const textNode = selection.extract()[0];\n const linkNode = $createLinkNode(link);\n const linkTextNode = $createTextNode(selectionContent);\n linkTextNode.setFormat(textNode.getFormat());\n linkNode.append(linkTextNode);\n textNode.replace(linkNode);\n }\n return true;\n }\n },\n COMMAND_PRIORITY_HIGH\n )\n );\n });\n\n return null;\n}\n\nexport default function KoenigBehaviourPlugin({containerElem = document.querySelector('.koenig-editor'), cursorDidExitAtTop}) {\n const [editor] = useLexicalComposerContext();\n return useKoenigBehaviour({editor, containerElem, cursorDidExitAtTop});\n}\n","\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\n/// <reference lib=\"WebWorker\"/>\n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t\t? self // if in worker\n\t\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\nvar Prism = (function (_self) {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t\t * additional languages or plugins yourself.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t\t *\n\t\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.manual = true;\n\t\t * // add a new <script> to load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tmanual: _self.Prism && _self.Prism.manual,\n\t\t/**\n\t\t * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses\n\t\t * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your\n\t\t * own worker, you don't want it to do this.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not add its own listeners to the worker.\n\t\t *\n\t\t * You obviously have to change this value before Prism executes. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.disableWorkerMessageHandler = true;\n\t\t * // Load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tdisableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the name of the type of the given value.\n\t\t\t *\n\t\t\t * @param {any} o\n\t\t\t * @returns {string}\n\t\t\t * @example\n\t\t\t * type(null) === 'Null'\n\t\t\t * type(undefined) === 'Undefined'\n\t\t\t * type(123) === 'Number'\n\t\t\t * type('foo') === 'String'\n\t\t\t * type(true) === 'Boolean'\n\t\t\t * type([1, 2]) === 'Array'\n\t\t\t * type({}) === 'Object'\n\t\t\t * type(String) === 'Function'\n\t\t\t * type(/abc+/) === 'RegExp'\n\t\t\t */\n\t\t\ttype: function (o) {\n\t\t\t\treturn Object.prototype.toString.call(o).slice(8, -1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns a unique number for the given object. Later calls will still return the same number.\n\t\t\t *\n\t\t\t * @param {Object} obj\n\t\t\t * @returns {number}\n\t\t\t */\n\t\t\tobjId: function (obj) {\n\t\t\t\tif (!obj['__id']) {\n\t\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t\t}\n\t\t\t\treturn obj['__id'];\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Creates a deep clone of the given object.\n\t\t\t *\n\t\t\t * The main intended use of this function is to clone language definitions.\n\t\t\t *\n\t\t\t * @param {T} o\n\t\t\t * @param {Record<number, any>} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record<string, any>} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar m = lang.exec(element.className);\n\t\t\t\t\tif (m) {\n\t\t\t\t\t\treturn m[1].toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Sets the Prism `language-xxxx` class of the given element.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} language\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tsetLanguage: function (element, language) {\n\t\t\t\t// remove all `language-xxxx` classes\n\t\t\t\t// (this might leave behind a leading space)\n\t\t\t\telement.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n\t\t\t\t// add the new `language-xxxx` class\n\t\t\t\t// (using `classList` will automatically clean up spaces for us)\n\t\t\t\telement.classList.add('language-' + language);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the script element that is currently executing.\n\t\t\t *\n\t\t\t * This does __not__ work for line script element.\n\t\t\t *\n\t\t\t * @returns {HTMLScriptElement | null}\n\t\t\t */\n\t\t\tcurrentScript: function () {\n\t\t\t\tif (typeof document === 'undefined') {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif ('currentScript' in document && 1 < 2 /* hack to trip TS' flow analysis */) {\n\t\t\t\t\treturn /** @type {any} */ (document.currentScript);\n\t\t\t\t}\n\n\t\t\t\t// IE11 workaround\n\t\t\t\t// we'll get the src of the current script by parsing IE11's error stack trace\n\t\t\t\t// this will not work for inline scripts\n\n\t\t\t\ttry {\n\t\t\t\t\tthrow new Error();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Get file src url from stack. Specifically works with the format of stack traces in IE.\n\t\t\t\t\t// A stack will look like this:\n\t\t\t\t\t//\n\t\t\t\t\t// Error\n\t\t\t\t\t// at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n\t\t\t\t\t// at Global code (http://localhost/components/prism-core.js:606:1)\n\n\t\t\t\t\tvar src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n\t\t\t\t\tif (src) {\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script');\n\t\t\t\t\t\tfor (var i in scripts) {\n\t\t\t\t\t\t\tif (scripts[i].src == src) {\n\t\t\t\t\t\t\t\treturn scripts[i];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n\t\t\t * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n\t\t\t * this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.markup.style = {\n\t\t\t * // token\n\t\t\t * };\n\t\t\t * ```\n\t\t\t *\n\t\t\t * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n\t\t\t * before existing tokens. For the CSS example above, you would use it like this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'cdata', {\n\t\t\t * 'style': {\n\t\t\t * // token\n\t\t\t * }\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Special cases\n\t\t\t *\n\t\t\t * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n\t\t\t * will be ignored.\n\t\t\t *\n\t\t\t * This behavior can be used to insert tokens after `before`:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'comment', {\n\t\t\t * 'comment': Prism.languages.markup.comment,\n\t\t\t * // tokens after 'comment'\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Limitations\n\t\t\t *\n\t\t\t * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n\t\t\t * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n\t\t\t * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n\t\t\t * deleting properties which is necessary to insert at arbitrary positions.\n\t\t\t *\n\t\t\t * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n\t\t\t * Instead, it will create a new object and replace all references to the target object with the new one. This\n\t\t\t * can be done without temporarily deleting properties, so the iteration order is well-defined.\n\t\t\t *\n\t\t\t * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n\t\t\t * you hold the target object in a variable, then the value of the variable will not change.\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * var oldMarkup = Prism.languages.markup;\n\t\t\t * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n\t\t\t *\n\t\t\t * assert(oldMarkup !== Prism.languages.markup);\n\t\t\t * assert(newMarkup === Prism.languages.markup);\n\t\t\t * ```\n\t\t\t *\n\t\t\t * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n\t\t\t * object to be modified.\n\t\t\t * @param {string} before The key to insert before.\n\t\t\t * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n\t\t\t * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n\t\t\t * object to be modified.\n\t\t\t *\n\t\t\t * Defaults to `Prism.languages`.\n\t\t\t * @returns {Grammar} The new grammar object.\n\t\t\t * @public\n\t\t\t */\n\t\t\tinsertBefore: function (inside, before, insert, root) {\n\t\t\t\troot = root || /** @type {any} */ (_.languages);\n\t\t\t\tvar grammar = root[inside];\n\t\t\t\t/** @type {Grammar} */\n\t\t\t\tvar ret = {};\n\n\t\t\t\tfor (var token in grammar) {\n\t\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\t\tif (token == before) {\n\t\t\t\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Do not insert token which also occur in insert. See #1525\n\t\t\t\t\t\tif (!insert.hasOwnProperty(token)) {\n\t\t\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar old = root[inside];\n\t\t\t\troot[inside] = ret;\n\n\t\t\t\t// Update references in other language definitions\n\t\t\t\t_.languages.DFS(_.languages, function (key, value) {\n\t\t\t\t\tif (value === old && key != inside) {\n\t\t\t\t\t\tthis[key] = ret;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn ret;\n\t\t\t},\n\n\t\t\t// Traverse a language definition with Depth First Search\n\t\t\tDFS: function DFS(o, callback, type, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar objId = _.util.objId;\n\n\t\t\t\tfor (var i in o) {\n\t\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\t\tvar property = o[i];\n\t\t\t\t\t\tvar propertyType = _.util.type(property);\n\n\t\t\t\t\t\tif (propertyType === 'Object' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, null, visited);\n\t\t\t\t\t\t} else if (propertyType === 'Array' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, i, visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tplugins: {},\n\n\t\t/**\n\t\t * This is the most high-level function in Prism’s API.\n\t\t * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n\t\t * each one of them.\n\t\t *\n\t\t * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n\t\t *\n\t\t * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAll: function (async, callback) {\n\t\t\t_.highlightAllUnder(document, async, callback);\n\t\t},\n\n\t\t/**\n\t\t * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n\t\t * {@link Prism.highlightElement} on each one of them.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-highlightall`\n\t\t * 2. `before-all-elements-highlight`\n\t\t * 3. All hooks of {@link Prism.highlightElement} for each element.\n\t\t *\n\t\t * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n\t\t * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAllUnder: function (container, async, callback) {\n\t\t\tvar env = {\n\t\t\t\tcallback: callback,\n\t\t\t\tcontainer: container,\n\t\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t\t};\n\n\t\t\t_.hooks.run('before-highlightall', env);\n\n\t\t\tenv.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n\t\t\t_.hooks.run('before-all-elements-highlight', env);\n\n\t\t\tfor (var i = 0, element; (element = env.elements[i++]);) {\n\t\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Highlights the code inside a single element.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-sanity-check`\n\t\t * 2. `before-highlight`\n\t\t * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.\n\t\t * 4. `before-insert`\n\t\t * 5. `after-highlight`\n\t\t * 6. `complete`\n\t\t *\n\t\t * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for\n\t\t * the element's language.\n\t\t *\n\t\t * @param {Element} element The element containing the code.\n\t\t * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n\t\t * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n\t\t * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n\t\t * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n\t\t *\n\t\t * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n\t\t * asynchronous highlighting to work. You can build your own bundle on the\n\t\t * [Download page](https://prismjs.com/download.html).\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n\t\t * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightElement: function (element, async, callback) {\n\t\t\t// Find language\n\t\t\tvar language = _.util.getLanguage(element);\n\t\t\tvar grammar = _.languages[language];\n\n\t\t\t// Set language on the element, if not present\n\t\t\t_.util.setLanguage(element, language);\n\n\t\t\t// Set language on the parent, for styling\n\t\t\tvar parent = element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre') {\n\t\t\t\t_.util.setLanguage(parent, language);\n\t\t\t}\n\n\t\t\tvar code = element.textContent;\n\n\t\t\tvar env = {\n\t\t\t\telement: element,\n\t\t\t\tlanguage: language,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tcode: code\n\t\t\t};\n\n\t\t\tfunction insertHighlightedCode(highlightedCode) {\n\t\t\t\tenv.highlightedCode = highlightedCode;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t}\n\n\t\t\t_.hooks.run('before-sanity-check', env);\n\n\t\t\t// plugins may change/add the parent/element\n\t\t\tparent = env.element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n\t\t\t\tparent.setAttribute('tabindex', '0');\n\t\t\t}\n\n\t\t\tif (!env.code) {\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_.hooks.run('before-highlight', env);\n\n\t\t\tif (!env.grammar) {\n\t\t\t\tinsertHighlightedCode(_.util.encode(env.code));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (async && _self.Worker) {\n\t\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\t\tworker.onmessage = function (evt) {\n\t\t\t\t\tinsertHighlightedCode(evt.data);\n\t\t\t\t};\n\n\t\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\t\tlanguage: env.language,\n\t\t\t\t\tcode: env.code,\n\t\t\t\t\timmediateClose: true\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tinsertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns a string with the HTML produced.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-tokenize`\n\t\t * 2. `after-tokenize`\n\t\t * 3. `wrap`: On each {@link Token}.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @param {string} language The name of the language definition passed to `grammar`.\n\t\t * @returns {string} The highlighted HTML.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n\t\t */\n\t\thighlight: function (text, grammar, language) {\n\t\t\tvar env = {\n\t\t\t\tcode: text,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tlanguage: language\n\t\t\t};\n\t\t\t_.hooks.run('before-tokenize', env);\n\t\t\tif (!env.grammar) {\n\t\t\t\tthrow new Error('The language \"' + env.language + '\" has no grammar.');\n\t\t\t}\n\t\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t\t_.hooks.run('after-tokenize', env);\n\t\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t\t},\n\n\t\t/**\n\t\t * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns an array with the tokenized code.\n\t\t *\n\t\t * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n\t\t *\n\t\t * This method could be useful in other contexts as well, as a very crude parser.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @returns {TokenStream} An array of strings and tokens, a token stream.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * let code = `var foo = 0;`;\n\t\t * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n\t\t * tokens.forEach(token => {\n\t\t * if (token instanceof Prism.Token && token.type === 'number') {\n\t\t * console.log(`Found numeric literal: ${token.content}`);\n\t\t * }\n\t\t * });\n\t\t */\n\t\ttokenize: function (text, grammar) {\n\t\t\tvar rest = grammar.rest;\n\t\t\tif (rest) {\n\t\t\t\tfor (var token in rest) {\n\t\t\t\t\tgrammar[token] = rest[token];\n\t\t\t\t}\n\n\t\t\t\tdelete grammar.rest;\n\t\t\t}\n\n\t\t\tvar tokenList = new LinkedList();\n\t\t\taddAfter(tokenList, tokenList.head, text);\n\n\t\t\tmatchGrammar(text, tokenList, grammar, tokenList.head, 0);\n\n\t\t\treturn toArray(tokenList);\n\t\t},\n\n\t\t/**\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thooks: {\n\t\t\tall: {},\n\n\t\t\t/**\n\t\t\t * Adds the given callback to the list of callbacks for the given hook.\n\t\t\t *\n\t\t\t * The callback will be invoked when the hook it is registered for is run.\n\t\t\t * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n\t\t\t *\n\t\t\t * One callback function can be registered to multiple hooks and the same hook multiple times.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {HookCallback} callback The callback function which is given environment variables.\n\t\t\t * @public\n\t\t\t */\n\t\t\tadd: function (name, callback) {\n\t\t\t\tvar hooks = _.hooks.all;\n\n\t\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\t\thooks[name].push(callback);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Runs a hook invoking all registered callbacks with the given environment variables.\n\t\t\t *\n\t\t\t * Callbacks will be invoked synchronously and in the order in which they were registered.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n\t\t\t * @public\n\t\t\t */\n\t\t\trun: function (name, env) {\n\t\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 0, callback; (callback = callbacks[i++]);) {\n\t\t\t\t\tcallback(env);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tToken: Token\n\t};\n\t_self.Prism = _;\n\n\n\t// Typescript note:\n\t// The following can be used to import the Token type in JSDoc:\n\t//\n\t// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n\t/**\n\t * Creates a new token.\n\t *\n\t * @param {string} type See {@link Token#type type}\n\t * @param {string | TokenStream} content See {@link Token#content content}\n\t * @param {string|string[]} [alias] The alias(es) of the token.\n\t * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n\t * @class\n\t * @global\n\t * @public\n\t */\n\tfunction Token(type, content, alias, matchedStr) {\n\t\t/**\n\t\t * The type of the token.\n\t\t *\n\t\t * This is usually the key of a pattern in a {@link Grammar}.\n\t\t *\n\t\t * @type {string}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.type = type;\n\t\t/**\n\t\t * The strings or tokens contained by this token.\n\t\t *\n\t\t * This will be a token stream if the pattern matched also defined an `inside` grammar.\n\t\t *\n\t\t * @type {string | TokenStream}\n\t\t * @public\n\t\t */\n\t\tthis.content = content;\n\t\t/**\n\t\t * The alias(es) of the token.\n\t\t *\n\t\t * @type {string|string[]}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.alias = alias;\n\t\t// Copy of the full string this token was created from\n\t\tthis.length = (matchedStr || '').length | 0;\n\t}\n\n\t/**\n\t * A token stream is an array of strings and {@link Token Token} objects.\n\t *\n\t * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n\t * them.\n\t *\n\t * 1. No adjacent strings.\n\t * 2. No empty strings.\n\t *\n\t * The only exception here is the token stream that only contains the empty string and nothing else.\n\t *\n\t * @typedef {Array<string | Token>} TokenStream\n\t * @global\n\t * @public\n\t */\n\n\t/**\n\t * Converts the given token or token stream to an HTML representation.\n\t *\n\t * The following hooks will be run:\n\t * 1. `wrap`: On each {@link Token}.\n\t *\n\t * @param {string | Token | TokenStream} o The token or token stream to be converted.\n\t * @param {string} language The name of current language.\n\t * @returns {string} The HTML representation of the token or token stream.\n\t * @memberof Token\n\t * @static\n\t */\n\tToken.stringify = function stringify(o, language) {\n\t\tif (typeof o == 'string') {\n\t\t\treturn o;\n\t\t}\n\t\tif (Array.isArray(o)) {\n\t\t\tvar s = '';\n\t\t\to.forEach(function (e) {\n\t\t\t\ts += stringify(e, language);\n\t\t\t});\n\t\t\treturn s;\n\t\t}\n\n\t\tvar env = {\n\t\t\ttype: o.type,\n\t\t\tcontent: stringify(o.content, language),\n\t\t\ttag: 'span',\n\t\t\tclasses: ['token', o.type],\n\t\t\tattributes: {},\n\t\t\tlanguage: language\n\t\t};\n\n\t\tvar aliases = o.alias;\n\t\tif (aliases) {\n\t\t\tif (Array.isArray(aliases)) {\n\t\t\t\tArray.prototype.push.apply(env.classes, aliases);\n\t\t\t} else {\n\t\t\t\tenv.classes.push(aliases);\n\t\t\t}\n\t\t}\n\n\t\t_.hooks.run('wrap', env);\n\n\t\tvar attributes = '';\n\t\tfor (var name in env.attributes) {\n\t\t\tattributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t\t}\n\n\t\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n\t};\n\n\t/**\n\t * @param {RegExp} pattern\n\t * @param {number} pos\n\t * @param {string} text\n\t * @param {boolean} lookbehind\n\t * @returns {RegExpExecArray | null}\n\t */\n\tfunction matchPattern(pattern, pos, text, lookbehind) {\n\t\tpattern.lastIndex = pos;\n\t\tvar match = pattern.exec(text);\n\t\tif (match && lookbehind && match[1]) {\n\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\tvar lookbehindLength = match[1].length;\n\t\t\tmatch.index += lookbehindLength;\n\t\t\tmatch[0] = match[0].slice(lookbehindLength);\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * @param {string} text\n\t * @param {LinkedList<string | Token>} tokenList\n\t * @param {any} grammar\n\t * @param {LinkedListNode<string | Token>} startNode\n\t * @param {number} startPos\n\t * @param {RematchOptions} [rematch]\n\t * @returns {void}\n\t * @private\n\t *\n\t * @typedef RematchOptions\n\t * @property {string} cause\n\t * @property {number} reach\n\t */\n\tfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n\t\tfor (var token in grammar) {\n\t\t\tif (!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = Array.isArray(patterns) ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tif (rematch && rematch.cause == token + ',' + j) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar patternObj = patterns[j];\n\t\t\t\tvar inside = patternObj.inside;\n\t\t\t\tvar lookbehind = !!patternObj.lookbehind;\n\t\t\t\tvar greedy = !!patternObj.greedy;\n\t\t\t\tvar alias = patternObj.alias;\n\n\t\t\t\tif (greedy && !patternObj.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n\t\t\t\t\tpatternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n\t\t\t\t}\n\n\t\t\t\t/** @type {RegExp} */\n\t\t\t\tvar pattern = patternObj.pattern || patternObj;\n\n\t\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\t\tvar currentNode = startNode.next, pos = startPos;\n\t\t\t\t\tcurrentNode !== tokenList.tail;\n\t\t\t\t\tpos += currentNode.value.length, currentNode = currentNode.next\n\t\t\t\t) {\n\n\t\t\t\t\tif (rematch && pos >= rematch.reach) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar str = currentNode.value;\n\n\t\t\t\t\tif (tokenList.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeCount = 1; // this is the to parameter of removeBetween\n\t\t\t\t\tvar match;\n\n\t\t\t\t\tif (greedy) {\n\t\t\t\t\t\tmatch = matchPattern(pattern, pos, text, lookbehind);\n\t\t\t\t\t\tif (!match || match.index >= text.length) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index;\n\t\t\t\t\t\tvar to = match.index + match[0].length;\n\t\t\t\t\t\tvar p = pos;\n\n\t\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\twhile (from >= p) {\n\t\t\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// adjust pos (and p)\n\t\t\t\t\t\tp -= currentNode.value.length;\n\t\t\t\t\t\tpos = p;\n\n\t\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (currentNode.value instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tvar k = currentNode;\n\t\t\t\t\t\t\tk !== tokenList.tail && (p < to || typeof k.value === 'string');\n\t\t\t\t\t\t\tk = k.next\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveCount++;\n\t\t\t\t\t\t\tp += k.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremoveCount--;\n\n\t\t\t\t\t\t// replace with the new match\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmatch = matchPattern(pattern, 0, str, lookbehind);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// eslint-disable-next-line no-redeclare\n\t\t\t\t\tvar from = match.index;\n\t\t\t\t\tvar matchStr = match[0];\n\t\t\t\t\tvar before = str.slice(0, from);\n\t\t\t\t\tvar after = str.slice(from + matchStr.length);\n\n\t\t\t\t\tvar reach = pos + str.length;\n\t\t\t\t\tif (rematch && reach > rematch.reach) {\n\t\t\t\t\t\trematch.reach = reach;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeFrom = currentNode.prev;\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\tremoveFrom = addAfter(tokenList, removeFrom, before);\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t}\n\n\t\t\t\t\tremoveRange(tokenList, removeFrom, removeCount);\n\n\t\t\t\t\tvar wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n\t\t\t\t\tcurrentNode = addAfter(tokenList, removeFrom, wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\taddAfter(tokenList, currentNode, after);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (removeCount > 1) {\n\t\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\t\t/** @type {RematchOptions} */\n\t\t\t\t\t\tvar nestedRematch = {\n\t\t\t\t\t\t\tcause: token + ',' + j,\n\t\t\t\t\t\t\treach: reach\n\t\t\t\t\t\t};\n\t\t\t\t\t\tmatchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n\n\t\t\t\t\t\t// the reach might have been extended because of the rematching\n\t\t\t\t\t\tif (rematch && nestedRematch.reach > rematch.reach) {\n\t\t\t\t\t\t\trematch.reach = nestedRematch.reach;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @typedef LinkedListNode\n\t * @property {T} value\n\t * @property {LinkedListNode<T> | null} prev The previous node.\n\t * @property {LinkedListNode<T> | null} next The next node.\n\t * @template T\n\t * @private\n\t */\n\n\t/**\n\t * @template T\n\t * @private\n\t */\n\tfunction LinkedList() {\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar head = { value: null, prev: null, next: null };\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar tail = { value: null, prev: head, next: null };\n\t\thead.next = tail;\n\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.head = head;\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.tail = tail;\n\t\tthis.length = 0;\n\t}\n\n\t/**\n\t * Adds a new node with the given value to the list.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {T} value\n\t * @returns {LinkedListNode<T>} The added node.\n\t * @template T\n\t */\n\tfunction addAfter(list, node, value) {\n\t\t// assumes that node != list.tail && values.length >= 0\n\t\tvar next = node.next;\n\n\t\tvar newNode = { value: value, prev: node, next: next };\n\t\tnode.next = newNode;\n\t\tnext.prev = newNode;\n\t\tlist.length++;\n\n\t\treturn newNode;\n\t}\n\t/**\n\t * Removes `count` nodes after the given node. The given node will not be removed.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {number} count\n\t * @template T\n\t */\n\tfunction removeRange(list, node, count) {\n\t\tvar next = node.next;\n\t\tfor (var i = 0; i < count && next !== list.tail; i++) {\n\t\t\tnext = next.next;\n\t\t}\n\t\tnode.next = next;\n\t\tnext.prev = node;\n\t\tlist.length -= i;\n\t}\n\t/**\n\t * @param {LinkedList<T>} list\n\t * @returns {T[]}\n\t * @template T\n\t */\n\tfunction toArray(list) {\n\t\tvar array = [];\n\t\tvar node = list.head.next;\n\t\twhile (node !== list.tail) {\n\t\t\tarray.push(node.value);\n\t\t\tnode = node.next;\n\t\t}\n\t\treturn array;\n\t}\n\n\n\tif (!_self.document) {\n\t\tif (!_self.addEventListener) {\n\t\t\t// in Node.js\n\t\t\treturn _;\n\t\t}\n\n\t\tif (!_.disableWorkerMessageHandler) {\n\t\t\t// In worker\n\t\t\t_self.addEventListener('message', function (evt) {\n\t\t\t\tvar message = JSON.parse(evt.data);\n\t\t\t\tvar lang = message.language;\n\t\t\t\tvar code = message.code;\n\t\t\t\tvar immediateClose = message.immediateClose;\n\n\t\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\t\tif (immediateClose) {\n\t\t\t\t\t_self.close();\n\t\t\t\t}\n\t\t\t}, false);\n\t\t}\n\n\t\treturn _;\n\t}\n\n\t// Get current script and highlight\n\tvar script = _.util.currentScript();\n\n\tif (script) {\n\t\t_.filename = script.src;\n\n\t\tif (script.hasAttribute('data-manual')) {\n\t\t\t_.manual = true;\n\t\t}\n\t}\n\n\tfunction highlightAutomaticallyCallback() {\n\t\tif (!_.manual) {\n\t\t\t_.highlightAll();\n\t\t}\n\t}\n\n\tif (!_.manual) {\n\t\t// If the document state is \"loading\", then we'll use DOMContentLoaded.\n\t\t// If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n\t\t// DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n\t\t// might take longer one animation frame to execute which can create a race condition where only some plugins have\n\t\t// been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n\t\t// See https://github.com/PrismJS/prism/issues/2102\n\t\tvar readyState = document.readyState;\n\t\tif (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n\t\t\tdocument.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n\t\t} else {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(highlightAutomaticallyCallback);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(highlightAutomaticallyCallback, 16);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn _;\n\n}(_self));\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n\tglobal.Prism = Prism;\n}\n\n// some additional documentation/types\n\n/**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n\n/**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n\n/**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n\n/**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n\n\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\nPrism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n\n\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\n(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n\n\n/* **********************************************\n Begin prism-clike.js\n********************************************** */\n\nPrism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\n\n/* **********************************************\n Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n\n\n/* **********************************************\n Begin prism-file-highlight.js\n********************************************** */\n\n(function () {\n\n\tif (typeof Prism === 'undefined' || typeof document === 'undefined') {\n\t\treturn;\n\t}\n\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\tif (!Element.prototype.matches) {\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\t}\n\n\tvar LOADING_MESSAGE = 'Loading…';\n\tvar FAILURE_MESSAGE = function (status, message) {\n\t\treturn '✖ Error ' + status + ' while fetching file: ' + message;\n\t};\n\tvar FAILURE_EMPTY_MESSAGE = '✖ Error: File does not exist or is empty';\n\n\tvar EXTENSIONS = {\n\t\t'js': 'javascript',\n\t\t'py': 'python',\n\t\t'rb': 'ruby',\n\t\t'ps1': 'powershell',\n\t\t'psm1': 'powershell',\n\t\t'sh': 'bash',\n\t\t'bat': 'batch',\n\t\t'h': 'c',\n\t\t'tex': 'latex'\n\t};\n\n\tvar STATUS_ATTR = 'data-src-status';\n\tvar STATUS_LOADING = 'loading';\n\tvar STATUS_LOADED = 'loaded';\n\tvar STATUS_FAILED = 'failed';\n\n\tvar SELECTOR = 'pre[data-src]:not([' + STATUS_ATTR + '=\"' + STATUS_LOADED + '\"])'\n\t\t+ ':not([' + STATUS_ATTR + '=\"' + STATUS_LOADING + '\"])';\n\n\t/**\n\t * Loads the given file.\n\t *\n\t * @param {string} src The URL or path of the source file to load.\n\t * @param {(result: string) => void} success\n\t * @param {(reason: string) => void} error\n\t */\n\tfunction loadFile(src, success, error) {\n\t\tvar xhr = new XMLHttpRequest();\n\t\txhr.open('GET', src, true);\n\t\txhr.onreadystatechange = function () {\n\t\t\tif (xhr.readyState == 4) {\n\t\t\t\tif (xhr.status < 400 && xhr.responseText) {\n\t\t\t\t\tsuccess(xhr.responseText);\n\t\t\t\t} else {\n\t\t\t\t\tif (xhr.status >= 400) {\n\t\t\t\t\t\terror(FAILURE_MESSAGE(xhr.status, xhr.statusText));\n\t\t\t\t\t} else {\n\t\t\t\t\t\terror(FAILURE_EMPTY_MESSAGE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\txhr.send(null);\n\t}\n\n\t/**\n\t * Parses the given range.\n\t *\n\t * This returns a range with inclusive ends.\n\t *\n\t * @param {string | null | undefined} range\n\t * @returns {[number, number | undefined] | undefined}\n\t */\n\tfunction parseRange(range) {\n\t\tvar m = /^\\s*(\\d+)\\s*(?:(,)\\s*(?:(\\d+)\\s*)?)?$/.exec(range || '');\n\t\tif (m) {\n\t\t\tvar start = Number(m[1]);\n\t\t\tvar comma = m[2];\n\t\t\tvar end = m[3];\n\n\t\t\tif (!comma) {\n\t\t\t\treturn [start, start];\n\t\t\t}\n\t\t\tif (!end) {\n\t\t\t\treturn [start, undefined];\n\t\t\t}\n\t\t\treturn [start, Number(end)];\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tPrism.hooks.add('before-highlightall', function (env) {\n\t\tenv.selector += ', ' + SELECTOR;\n\t});\n\n\tPrism.hooks.add('before-sanity-check', function (env) {\n\t\tvar pre = /** @type {HTMLPreElement} */ (env.element);\n\t\tif (pre.matches(SELECTOR)) {\n\t\t\tenv.code = ''; // fast-path the whole thing and go to complete\n\n\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADING); // mark as loading\n\n\t\t\t// add code element with loading message\n\t\t\tvar code = pre.appendChild(document.createElement('CODE'));\n\t\t\tcode.textContent = LOADING_MESSAGE;\n\n\t\t\tvar src = pre.getAttribute('data-src');\n\n\t\t\tvar language = env.language;\n\t\t\tif (language === 'none') {\n\t\t\t\t// the language might be 'none' because there is no language set;\n\t\t\t\t// in this case, we want to use the extension as the language\n\t\t\t\tvar extension = (/\\.(\\w+)$/.exec(src) || [, 'none'])[1];\n\t\t\t\tlanguage = EXTENSIONS[extension] || extension;\n\t\t\t}\n\n\t\t\t// set language classes\n\t\t\tPrism.util.setLanguage(code, language);\n\t\t\tPrism.util.setLanguage(pre, language);\n\n\t\t\t// preload the language\n\t\t\tvar autoloader = Prism.plugins.autoloader;\n\t\t\tif (autoloader) {\n\t\t\t\tautoloader.loadLanguages(language);\n\t\t\t}\n\n\t\t\t// load file\n\t\t\tloadFile(\n\t\t\t\tsrc,\n\t\t\t\tfunction (text) {\n\t\t\t\t\t// mark as loaded\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADED);\n\n\t\t\t\t\t// handle data-range\n\t\t\t\t\tvar range = parseRange(pre.getAttribute('data-range'));\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\tvar lines = text.split(/\\r\\n?|\\n/g);\n\n\t\t\t\t\t\t// the range is one-based and inclusive on both ends\n\t\t\t\t\t\tvar start = range[0];\n\t\t\t\t\t\tvar end = range[1] == null ? lines.length : range[1];\n\n\t\t\t\t\t\tif (start < 0) { start += lines.length; }\n\t\t\t\t\t\tstart = Math.max(0, Math.min(start - 1, lines.length));\n\t\t\t\t\t\tif (end < 0) { end += lines.length; }\n\t\t\t\t\t\tend = Math.max(0, Math.min(end, lines.length));\n\n\t\t\t\t\t\ttext = lines.slice(start, end).join('\\n');\n\n\t\t\t\t\t\t// add data-start for line numbers\n\t\t\t\t\t\tif (!pre.hasAttribute('data-start')) {\n\t\t\t\t\t\t\tpre.setAttribute('data-start', String(start + 1));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// highlight code\n\t\t\t\t\tcode.textContent = text;\n\t\t\t\t\tPrism.highlightElement(code);\n\t\t\t\t},\n\t\t\t\tfunction (error) {\n\t\t\t\t\t// mark as failed\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_FAILED);\n\n\t\t\t\t\tcode.textContent = error;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\n\tPrism.plugins.fileHighlight = {\n\t\t/**\n\t\t * Executes the File Highlight plugin for all matching `pre` elements under the given container.\n\t\t *\n\t\t * Note: Elements which are already loaded or currently loading will not be touched by this method.\n\t\t *\n\t\t * @param {ParentNode} [container=document]\n\t\t */\n\t\thighlight: function highlight(container) {\n\t\t\tvar elements = (container || document).querySelectorAll(SELECTOR);\n\n\t\t\tfor (var i = 0, element; (element = elements[i++]);) {\n\t\t\t\tPrism.highlightElement(element);\n\t\t\t}\n\t\t}\n\t};\n\n\tvar logged = false;\n\t/** @deprecated Use `Prism.plugins.fileHighlight.highlight` instead. */\n\tPrism.fileHighlight = function () {\n\t\tif (!logged) {\n\t\t\tconsole.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.');\n\t\t\tlogged = true;\n\t\t}\n\t\tPrism.plugins.fileHighlight.highlight.apply(this, arguments);\n\t};\n\n}());\n","Prism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n","Prism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n","Prism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n","(function (Prism) {\n\n\t// Allow only one line break\n\tvar inner = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n\n\t/**\n\t * This function is intended for the creation of the bold or italic pattern.\n\t *\n\t * This also adds a lookbehind group to the given pattern to ensure that the pattern is not backslash-escaped.\n\t *\n\t * _Note:_ Keep in mind that this adds a capturing group.\n\t *\n\t * @param {string} pattern\n\t * @returns {RegExp}\n\t */\n\tfunction createInline(pattern) {\n\t\tpattern = pattern.replace(/<inner>/g, function () { return inner; });\n\t\treturn RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + '(?:' + pattern + ')');\n\t}\n\n\n\tvar tableCell = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source;\n\tvar tableRow = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function () { return tableCell; });\n\tvar tableLine = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source;\n\n\n\tPrism.languages.markdown = Prism.languages.extend('markup', {});\n\tPrism.languages.insertBefore('markdown', 'prolog', {\n\t\t'front-matter-block': {\n\t\t\tpattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^---|---$/,\n\t\t\t\t'front-matter': {\n\t\t\t\t\tpattern: /\\S+(?:\\s+\\S+)*/,\n\t\t\t\t\talias: ['yaml', 'language-yaml'],\n\t\t\t\t\tinside: Prism.languages.yaml\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'blockquote': {\n\t\t\t// > ...\n\t\t\tpattern: /^>(?:[\\t ]*>)*/m,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'table': {\n\t\t\tpattern: RegExp('^' + tableRow + tableLine + '(?:' + tableRow + ')*', 'm'),\n\t\t\tinside: {\n\t\t\t\t'table-data-rows': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + tableLine + ')(?:' + tableRow + ')*$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-data': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-line': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + ')' + tableLine + '$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /\\||:?-{3,}:?/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-header-row': {\n\t\t\t\t\tpattern: RegExp('^' + tableRow + '$'),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-header': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\talias: 'important',\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'code': [\n\t\t\t{\n\t\t\t\t// Prefixed by 4 spaces or 1 tab and preceded by an empty line\n\t\t\t\tpattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// ```optional language\n\t\t\t\t// code block\n\t\t\t\t// ```\n\t\t\t\tpattern: /^```[\\s\\S]*?^```$/m,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'code-block': {\n\t\t\t\t\t\tpattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'code-language': {\n\t\t\t\t\t\tpattern: /^(```).+/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /```/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'title': [\n\t\t\t{\n\t\t\t\t// title 1\n\t\t\t\t// =======\n\n\t\t\t\t// title 2\n\t\t\t\t// -------\n\t\t\t\tpattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /==+$|--+$/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// # title 1\n\t\t\t\t// ###### title 6\n\t\t\t\tpattern: /(^\\s*)#.+/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /^#+|#+$/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'hr': {\n\t\t\t// ***\n\t\t\t// ---\n\t\t\t// * * *\n\t\t\t// -----------\n\t\t\tpattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'list': {\n\t\t\t// * item\n\t\t\t// + item\n\t\t\t// - item\n\t\t\t// 1. item\n\t\t\tpattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'url-reference': {\n\t\t\t// [id]: http://example.com \"Optional title\"\n\t\t\t// [id]: http://example.com 'Optional title'\n\t\t\t// [id]: http://example.com (Optional title)\n\t\t\t// [id]: <http://example.com> \"Optional title\"\n\t\t\tpattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n\t\t\tinside: {\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /^(!?\\[)[^\\]]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n\t\t\t\t'punctuation': /^[\\[\\]!:]|[<>]/\n\t\t\t},\n\t\t\talias: 'url'\n\t\t},\n\t\t'bold': {\n\t\t\t// **strong**\n\t\t\t// __strong__\n\n\t\t\t// allow one nested instance of italic text using the same delimiter\n\t\t\tpattern: createInline(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^..)[\\s\\S]+(?=..$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\*\\*|__/\n\t\t\t}\n\t\t},\n\t\t'italic': {\n\t\t\t// *em*\n\t\t\t// _em_\n\n\t\t\t// allow one nested instance of bold text using the same delimiter\n\t\t\tpattern: createInline(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^.)[\\s\\S]+(?=.$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /[*_]/\n\t\t\t}\n\t\t},\n\t\t'strike': {\n\t\t\t// ~~strike through~~\n\t\t\t// ~strike~\n\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\tpattern: createInline(/(~~?)(?:(?!~)<inner>)+\\2/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^~~?)[\\s\\S]+(?=\\1$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /~~?/\n\t\t\t}\n\t\t},\n\t\t'code-snippet': {\n\t\t\t// `code`\n\t\t\t// ``code``\n\t\t\tpattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: ['code', 'keyword']\n\t\t},\n\t\t'url': {\n\t\t\t// [example](http://example.com \"Optional title\")\n\t\t\t// [example][id]\n\t\t\t// [example] [id]\n\t\t\tpattern: createInline(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'operator': /^!/,\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^\\[)[^\\]]+(?=\\])/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'url': {\n\t\t\t\t\tpattern: /(^\\]\\()[^\\s)]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\t['url', 'bold', 'italic', 'strike'].forEach(function (token) {\n\t\t['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(function (inside) {\n\t\t\tif (token !== inside) {\n\t\t\t\tPrism.languages.markdown[token].inside.content.inside[inside] = Prism.languages.markdown[inside];\n\t\t\t}\n\t\t});\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tif (env.language !== 'markdown' && env.language !== 'md') {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction walkTokens(tokens) {\n\t\t\tif (!tokens || typeof tokens === 'string') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i = 0, l = tokens.length; i < l; i++) {\n\t\t\t\tvar token = tokens[i];\n\n\t\t\t\tif (token.type !== 'code') {\n\t\t\t\t\twalkTokens(token.content);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t/*\n\t\t\t\t * Add the correct `language-xxxx` class to this code block. Keep in mind that the `code-language` token\n\t\t\t\t * is optional. But the grammar is defined so that there is only one case we have to handle:\n\t\t\t\t *\n\t\t\t\t * token.content = [\n\t\t\t\t * <span class=\"punctuation\">```</span>,\n\t\t\t\t * <span class=\"code-language\">xxxx</span>,\n\t\t\t\t * '\\n', // exactly one new lines (\\r or \\n or \\r\\n)\n\t\t\t\t * <span class=\"code-block\">...</span>,\n\t\t\t\t * '\\n', // exactly one new lines again\n\t\t\t\t * <span class=\"punctuation\">```</span>\n\t\t\t\t * ];\n\t\t\t\t */\n\n\t\t\t\tvar codeLang = token.content[1];\n\t\t\t\tvar codeBlock = token.content[3];\n\n\t\t\t\tif (codeLang && codeBlock &&\n\t\t\t\t\tcodeLang.type === 'code-language' && codeBlock.type === 'code-block' &&\n\t\t\t\t\ttypeof codeLang.content === 'string') {\n\n\t\t\t\t\t// this might be a language that Prism does not support\n\n\t\t\t\t\t// do some replacements to support C++, C#, and F#\n\t\t\t\t\tvar lang = codeLang.content.replace(/\\b#/g, 'sharp').replace(/\\b\\+\\+/g, 'pp');\n\t\t\t\t\t// only use the first word\n\t\t\t\t\tlang = (/[a-z][\\w-]*/i.exec(lang) || [''])[0].toLowerCase();\n\t\t\t\t\tvar alias = 'language-' + lang;\n\n\t\t\t\t\t// add alias\n\t\t\t\t\tif (!codeBlock.alias) {\n\t\t\t\t\t\tcodeBlock.alias = [alias];\n\t\t\t\t\t} else if (typeof codeBlock.alias === 'string') {\n\t\t\t\t\t\tcodeBlock.alias = [codeBlock.alias, alias];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcodeBlock.alias.push(alias);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twalkTokens(env.tokens);\n\t});\n\n\tPrism.hooks.add('wrap', function (env) {\n\t\tif (env.type !== 'code-block') {\n\t\t\treturn;\n\t\t}\n\n\t\tvar codeLang = '';\n\t\tfor (var i = 0, l = env.classes.length; i < l; i++) {\n\t\t\tvar cls = env.classes[i];\n\t\t\tvar match = /language-(.+)/.exec(cls);\n\t\t\tif (match) {\n\t\t\t\tcodeLang = match[1];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tvar grammar = Prism.languages[codeLang];\n\n\t\tif (!grammar) {\n\t\t\tif (codeLang && codeLang !== 'none' && Prism.plugins.autoloader) {\n\t\t\t\tvar id = 'md-' + new Date().valueOf() + '-' + Math.floor(Math.random() * 1e16);\n\t\t\t\tenv.attributes['id'] = id;\n\n\t\t\t\tPrism.plugins.autoloader.loadLanguages(codeLang, function () {\n\t\t\t\t\tvar ele = document.getElementById(id);\n\t\t\t\t\tif (ele) {\n\t\t\t\t\t\tele.innerHTML = Prism.highlight(ele.textContent, Prism.languages[codeLang], codeLang);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tenv.content = Prism.highlight(textContent(env.content), grammar, codeLang);\n\t\t}\n\t});\n\n\tvar tagPattern = RegExp(Prism.languages.markup.tag.pattern.source, 'gi');\n\n\t/**\n\t * A list of known entity names.\n\t *\n\t * This will always be incomplete to save space. The current list is the one used by lowdash's unescape function.\n\t *\n\t * @see {@link https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/unescape.js#L2}\n\t */\n\tvar KNOWN_ENTITY_NAMES = {\n\t\t'amp': '&',\n\t\t'lt': '<',\n\t\t'gt': '>',\n\t\t'quot': '\"',\n\t};\n\n\t// IE 11 doesn't support `String.fromCodePoint`\n\tvar fromCodePoint = String.fromCodePoint || String.fromCharCode;\n\n\t/**\n\t * Returns the text content of a given HTML source code string.\n\t *\n\t * @param {string} html\n\t * @returns {string}\n\t */\n\tfunction textContent(html) {\n\t\t// remove all tags\n\t\tvar text = html.replace(tagPattern, '');\n\n\t\t// decode known entities\n\t\ttext = text.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function (m, code) {\n\t\t\tcode = code.toLowerCase();\n\n\t\t\tif (code[0] === '#') {\n\t\t\t\tvar value;\n\t\t\t\tif (code[1] === 'x') {\n\t\t\t\t\tvalue = parseInt(code.slice(2), 16);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = Number(code.slice(1));\n\t\t\t\t}\n\n\t\t\t\treturn fromCodePoint(value);\n\t\t\t} else {\n\t\t\t\tvar known = KNOWN_ENTITY_NAMES[code];\n\t\t\t\tif (known) {\n\t\t\t\t\treturn known;\n\t\t\t\t}\n\n\t\t\t\t// unable to decode\n\t\t\t\treturn m;\n\t\t\t}\n\t\t});\n\n\t\treturn text;\n\t}\n\n\tPrism.languages.md = Prism.languages.markdown;\n\n}(Prism));\n","Prism.languages.c = Prism.languages.extend('clike', {\n\t'comment': {\n\t\tpattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\t// https://en.cppreference.com/w/c/language/string_literal\n\t\tpattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n\t'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'char': {\n\t\t// https://en.cppreference.com/w/c/language/character_constant\n\t\tpattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n\t\tgreedy: true\n\t}\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'macro': {\n\t\t// allow for multiline macro definitions\n\t\t// spaces after the # character compile fine with gcc\n\t\tpattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'string': [\n\t\t\t\t{\n\t\t\t\t\t// highlight the path of the include statement as a string\n\t\t\t\t\tpattern: /^(#\\s*include\\s*)<[^>]+>/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\tPrism.languages.c['string']\n\t\t\t],\n\t\t\t'char': Prism.languages.c['char'],\n\t\t\t'comment': Prism.languages.c['comment'],\n\t\t\t'macro-name': [\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'function'\n\t\t\t\t}\n\t\t\t],\n\t\t\t// highlight macro directives as keywords\n\t\t\t'directive': {\n\t\t\t\tpattern: /^(#\\s*)[a-z]+/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t'directive-hash': /^#/,\n\t\t\t'punctuation': /##|\\\\(?=[\\r\\n])/,\n\t\t\t'expression': {\n\t\t\t\tpattern: /\\S[\\s\\S]*/,\n\t\t\t\tinside: Prism.languages.c\n\t\t\t}\n\t\t}\n\t}\n});\n\nPrism.languages.insertBefore('c', 'function', {\n\t// highlight predefined macros as constants\n\t'constant': /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n});\n\ndelete Prism.languages.c['boolean'];\n","(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n","Prism.languages.objectivec = Prism.languages.extend('c', {\n\t'string': {\n\t\tpattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n\t'operator': /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n});\n\ndelete Prism.languages.objectivec['class-name'];\n\nPrism.languages.objc = Prism.languages.objectivec;\n","Prism.languages.sql = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n\t\tlookbehind: true\n\t},\n\t'variable': [\n\t\t{\n\t\t\tpattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t/@[\\w.$]+/\n\t],\n\t'string': {\n\t\tpattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n\t\tgreedy: true,\n\t\tlookbehind: true\n\t},\n\t'identifier': {\n\t\tpattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,\n\t\tgreedy: true,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /^`|`$/\n\t\t}\n\t},\n\t'function': /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, // Should we highlight user defined functions too?\n\t'keyword': /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n\t'boolean': /\\b(?:FALSE|NULL|TRUE)\\b/i,\n\t'number': /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n\t'operator': /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n\t'punctuation': /[;[\\]()`,.]/\n};\n","Prism.languages.python = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])#.*/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-interpolation': {\n\t\tpattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\t// \"{\" <expression> <optional \"!s\", \"!r\", or \"!a\"> <optional \":\" format specifier> \"}\"\n\t\t\t\tpattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'format-spec': {\n\t\t\t\t\t\tpattern: /(:)[^:(){}]+(?=\\}$)/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'conversion-option': {\n\t\t\t\t\t\tpattern: //,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: null\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'triple-quoted-string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\t'string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n\t\tgreedy: true\n\t},\n\t'function': {\n\t\tpattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n\t\tlookbehind: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\bclass\\s+)\\w+/i,\n\t\tlookbehind: true\n\t},\n\t'decorator': {\n\t\tpattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n\t\tlookbehind: true,\n\t\talias: ['annotation', 'punctuation'],\n\t\tinside: {\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t'keyword': /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n\t'builtin': /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n\t'boolean': /\\b(?:False|None|True)\\b/,\n\t'number': /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n\t'operator': /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\nPrism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;\n\nPrism.languages.py = Prism.languages.python;\n","(function (Prism) {\n\n\tvar multilineComment = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source;\n\tfor (var i = 0; i < 2; i++) {\n\t\t// support 4 levels of nested comments\n\t\tmultilineComment = multilineComment.replace(/<self>/g, function () { return multilineComment; });\n\t}\n\tmultilineComment = multilineComment.replace(/<self>/g, function () { return /[^\\s\\S]/.source; });\n\n\n\tPrism.languages.rust = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(^|[^\\\\])/.source + multilineComment),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'string': {\n\t\t\tpattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'char': {\n\t\t\tpattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'attribute': {\n\t\t\tpattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,\n\t\t\tgreedy: true,\n\t\t\talias: 'attr-name',\n\t\t\tinside: {\n\t\t\t\t'string': null // see below\n\t\t\t}\n\t\t},\n\n\t\t// Closure params should not be confused with bitwise OR |\n\t\t'closure-params': {\n\t\t\tpattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'closure-punctuation': {\n\t\t\t\t\tpattern: /^\\||\\|$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\trest: null // see below\n\t\t\t}\n\t\t},\n\n\t\t'lifetime-annotation': {\n\t\t\tpattern: /'\\w+/,\n\t\t\talias: 'symbol'\n\t\t},\n\n\t\t'fragment-specifier': {\n\t\t\tpattern: /(\\$\\w+:)[a-z]+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'variable': /\\$\\w+/,\n\n\t\t'function-definition': {\n\t\t\tpattern: /(\\bfn\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\t\t'type-definition': {\n\t\t\tpattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'module-declaration': [\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace',\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /::/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'keyword': [\n\t\t\t// https://github.com/rust-lang/reference/blob/master/src/keywords.md\n\t\t\t/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n\t\t\t// primitives and str\n\t\t\t// https://doc.rust-lang.org/stable/rust-by-example/primitives.html\n\t\t\t/\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/\n\t\t],\n\n\t\t// functions can technically start with an upper-case letter, but this will introduce a lot of false positives\n\t\t// and Rust's naming conventions recommend snake_case anyway.\n\t\t// https://doc.rust-lang.org/1.0.0/style/style/naming/README.html\n\t\t'function': /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,\n\t\t'macro': {\n\t\t\tpattern: /\\b\\w+!/,\n\t\t\talias: 'property'\n\t\t},\n\t\t'constant': /\\b[A-Z_][A-Z_\\d]+\\b/,\n\t\t'class-name': /\\b[A-Z]\\w*\\b/,\n\n\t\t'namespace': {\n\t\t\tpattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /::/\n\t\t\t}\n\t\t},\n\n\t\t// Hex, oct, bin, dec numbers with visual separators and type suffix\n\t\t'number': /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'punctuation': /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,\n\t\t'operator': /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/\n\t};\n\n\tPrism.languages.rust['closure-params'].inside.rest = Prism.languages.rust;\n\tPrism.languages.rust['attribute'].inside['string'] = Prism.languages.rust['string'];\n\n}(Prism));\n","Prism.languages.swift = {\n\t'comment': {\n\t\t// Nested comments are supported up to 2 levels\n\t\tpattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-literal': [\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ /(?![\"#])/.source\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\\\(?=[\\r\\n])/,\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])(#+)/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ '\\\\2'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\#+\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t],\n\n\t'directive': {\n\t\t// directives with conditions\n\t\tpattern: RegExp(\n\t\t\t/#/.source\n\t\t\t+ '(?:'\n\t\t\t+ (\n\t\t\t\t/(?:elseif|if)\\b/.source\n\t\t\t\t+ '(?:[ \\t]*'\n\t\t\t\t// This regex is a little complex. It's equivalent to this:\n\t\t\t\t// (?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*<round>)?|<round>)(?:[ \\t]*(?:&&|\\|\\|))?\n\t\t\t\t// where <round> is a general parentheses expression.\n\t\t\t\t+ /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source\n\t\t\t\t+ ')+'\n\t\t\t)\n\t\t\t+ '|'\n\t\t\t+ /(?:else|endif)\\b/.source\n\t\t\t+ ')'\n\t\t),\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'directive-name': /^#\\w+/,\n\t\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t\t'number': /\\b\\d+(?:\\.\\d+)*\\b/,\n\t\t\t'operator': /!|&&|\\|\\||[<>]=?/,\n\t\t\t'punctuation': /[(),]/\n\t\t}\n\t},\n\t'literal': {\n\t\tpattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,\n\t\talias: 'constant'\n\t},\n\t'other-directive': {\n\t\tpattern: /#\\w+\\b/,\n\t\talias: 'property'\n\t},\n\n\t'attribute': {\n\t\tpattern: /@\\w+/,\n\t\talias: 'atrule'\n\t},\n\n\t'function-definition': {\n\t\tpattern: /(\\bfunc\\s+)\\w+/,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t},\n\t'label': {\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID141\n\t\tpattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,\n\t\tlookbehind: true,\n\t\talias: 'important'\n\t},\n\n\t'keyword': /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'nil': {\n\t\tpattern: /\\bnil\\b/,\n\t\talias: 'constant'\n\t},\n\n\t'short-argument': /\\$\\d+\\b/,\n\t'omit': {\n\t\tpattern: /\\b_\\b/,\n\t\talias: 'keyword'\n\t},\n\t'number': /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n\n\t// A class name must start with an upper-case letter and be either 1 letter long or contain a lower-case letter.\n\t'class-name': /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'constant': /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n\n\t// Operators are generic in Swift. Developers can even create new operators (e.g. +++).\n\t// https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html#ID481\n\t// This regex only supports ASCII operators.\n\t'operator': /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,\n\t'punctuation': /[{}[\\]();,.:\\\\]/\n};\n\nPrism.languages.swift['string-literal'].forEach(function (rule) {\n\trule.inside['interpolation'].inside = Prism.languages.swift;\n});\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"prismjs\");require(\"prismjs/components/prism-clike\");require(\"prismjs/components/prism-javascript\");require(\"prismjs/components/prism-markup\");require(\"prismjs/components/prism-markdown\");require(\"prismjs/components/prism-c\");require(\"prismjs/components/prism-css\");require(\"prismjs/components/prism-objectivec\");require(\"prismjs/components/prism-sql\");require(\"prismjs/components/prism-python\");require(\"prismjs/components/prism-rust\");require(\"prismjs/components/prism-swift\");\nvar n=require(\"@lexical/utils\"),u=require(\"lexical\");let v={c:\"C\",clike:\"C-like\",css:\"CSS\",html:\"HTML\",js:\"JavaScript\",markdown:\"Markdown\",objc:\"Objective-C\",plain:\"Plain Text\",py:\"Python\",rust:\"Rust\",sql:\"SQL\",swift:\"Swift\",xml:\"XML\"},x={javascript:\"js\",md:\"markdown\",plaintext:\"plain\",python:\"py\",text:\"plain\"};function y(a){return x[a]||a}\nclass z extends u.TextNode{constructor(a,b,c){super(a,c);this.__highlightType=b}static getType(){return\"code-highlight\"}static clone(a){return new z(a.__text,a.__highlightType||void 0,a.__key)}getHighlightType(){return this.getLatest().__highlightType}createDOM(a){let b=super.createDOM(a);a=A(a.theme,this.__highlightType);n.addClassNamesToElement(b,a);return b}updateDOM(a,b,c){let d=super.updateDOM(a,b,c);a=A(c.theme,a.__highlightType);c=A(c.theme,this.__highlightType);a!==c&&(a&&n.removeClassNamesFromElement(b,\na),c&&n.addClassNamesToElement(b,c));return d}static importJSON(a){let b=B(a.text,a.highlightType);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),highlightType:this.getHighlightType(),type:\"code-highlight\",version:1}}setFormat(){return this}}function A(a,b){return b&&a&&a.codeHighlight&&a.codeHighlight[b]}function B(a,b){return u.$applyNodeReplacement(new z(a,b))}function C(a){return a instanceof z}\nfunction D(a){let b=null,c=a.getPreviousSiblings();for(c.push(a);0<c.length&&(a=c.pop(),C(a)&&(b=a),!u.$isLineBreakNode(a)););return b}function E(a){let b=null,c=a.getNextSiblings();for(c.unshift(a);0<c.length&&(a=c.shift(),C(a)&&(b=a),!u.$isLineBreakNode(a)););return b}let F=a=>null!=a&&e.languages.hasOwnProperty(a)?a:void 0;function G(a,b){for(let c of a.childNodes){if(c instanceof HTMLElement&&c.tagName===b)return!0;G(c,b)}return!1}\nclass H extends u.ElementNode{static getType(){return\"code\"}static clone(a){return new H(a.__language,a.__key)}constructor(a,b){super(b);this.__language=F(a)}createDOM(a){let b=document.createElement(\"code\");n.addClassNamesToElement(b,a.theme.code);b.setAttribute(\"spellcheck\",\"false\");(a=this.getLanguage())&&b.setAttribute(\"data-highlight-language\",a);return b}updateDOM(a,b){let c=this.__language;a=a.__language;c?c!==a&&b.setAttribute(\"data-highlight-language\",c):a&&b.removeAttribute(\"data-highlight-language\");\nreturn!1}static importDOM(){return{code:a=>null!=a.textContent&&(/\\r?\\n/.test(a.textContent)||G(a,\"BR\"))?{conversion:I,priority:1}:null,div:()=>({conversion:aa,priority:1}),pre:()=>({conversion:I,priority:0}),table:a=>J(a)?{conversion:ba,priority:4}:null,td:a=>{let b=a.closest(\"table\");return a.classList.contains(\"js-file-line\")?{conversion:ca,priority:4}:b&&J(b)?{conversion:K,priority:4}:null},tr:a=>(a=a.closest(\"table\"))&&J(a)?{conversion:K,priority:4}:null}}static importJSON(a){let b=L(a.language);\nb.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),language:this.getLanguage(),type:\"code\",version:1}}insertNewAfter(a){var b=this.getChildren(),c=b.length;if(2<=c&&\"\\n\"===b[c-1].getTextContent()&&\"\\n\"===b[c-2].getTextContent()&&a.isCollapsed()&&a.anchor.key===this.__key&&a.anchor.offset===c)return b[c-1].remove(),b[c-2].remove(),a=u.$createParagraphNode(),this.insertAfter(a),a;b=a.anchor.getNode();var d=D(b);if(null!=d){c=0;\nfor(d=d.getTextContent();c<d.length&&/[\\t ]/.test(d[c]);)c+=1;if(0<c)return c=d.substring(0,c),c=B(c),b.insertAfter(c),a.insertNodes([u.$createLineBreakNode()]),c.select(),c}return null}canInsertTab(){let a=u.$getSelection();return u.$isRangeSelection(a)&&a.isCollapsed()?!0:!1}canIndent(){return!1}collapseAtStart(){let a=u.$createParagraphNode();this.getChildren().forEach(b=>a.append(b));this.replace(a);return!0}setLanguage(a){this.getWritable().__language=F(a)}getLanguage(){return this.getLatest().__language}}\nfunction L(a){return u.$applyNodeReplacement(new H(a))}function M(a){return a instanceof H}function I(){return{node:L(),preformatted:!0}}function aa(a){let b=null!==a.style.fontFamily.match(\"monospace\");return b||da(a)?{after:c=>{let d=a.parentNode;null!=d&&a!==d.lastChild&&c.push(u.$createLineBreakNode());return c},node:b?L():null,preformatted:b}:{node:null}}function ba(){return{node:L(),preformatted:!0}}function K(){return{node:null}}\nfunction ca(a){return{after:b=>{a.parentNode&&a.parentNode.nextSibling&&b.push(u.$createLineBreakNode());return b},node:null}}function da(a){for(a=a.parentElement;null!==a;){if(null!==a.style.fontFamily.match(\"monospace\"))return!0;a=a.parentElement}return!1}function J(a){return a.classList.contains(\"js-file-line-container\")}let N={tokenize(a,b){return e.tokenize(a,e.languages[b||\"\"]||e.languages.javascript)}};\nfunction O(a,b){var c=a.length;let d=-1;if(b)for(b=0;b<c;b++){let f=a[b];if(\" \"!==f&&\"\\t\"!==f){d=b;break}}else for(--c;-1<c;c--)if(b=a[c],\" \"!==b&&\"\\t\"!==b){d=c;break}return d}\nfunction P(a){let b=null,c=-1;var d=a.getPreviousSiblings();for(d.push(a);0<d.length;){var f=d.pop();if(C(f)){var g=f.getTextContent();g=O(g,!0);-1!==g&&(b=f,c=g)}if(u.$isLineBreakNode(f))break}if(null===b)for(a=a.getNextSiblings();0<a.length;){d=a.shift();if(C(d)&&(f=d.getTextContent(),f=O(f,!0),-1!==f)){b=d;c=f;break}if(u.$isLineBreakNode(d))break}return{node:b,offset:c}}\nfunction Q(a){let b=null,c=-1;var d=a.getNextSiblings();for(d.unshift(a);0<d.length;){var f=d.shift();if(C(f)){var g=f.getTextContent();g=O(g,!1);-1!==g&&(b=f,c=g+1)}if(u.$isLineBreakNode(f))break}if(null===b)for(a=a.getPreviousSiblings();0<a.length;){d=a.pop();if(C(d)&&(f=d.getTextContent(),f=O(f,!1),-1!==f)){b=d;c=f+1;break}if(u.$isLineBreakNode(d))break}return{node:b,offset:c}}function R(a,b,c){let d=a.getParent();M(d)?S(d,b,c):C(a)&&a.replace(u.$createTextNode(a.__text))}let T=new Set;\nfunction S(a,b,c){let d=a.getKey();T.has(d)||(T.add(d),void 0===a.getLanguage()&&a.setLanguage(\"javascript\"),b.update(()=>{ea(d,()=>{var f=u.$getNodeByKey(d);if(!M(f)||!f.isAttached())return!1;var g=f.getTextContent();g=c.tokenize(g,f.getLanguage()||\"javascript\");g=U(g);var k=f.getChildren();for(f=0;f<k.length&&V(k[f],g[f]);)f++;var h=k.length;let l=g.length,p=Math.min(h,l)-f,m=0;for(;m<p;)if(m++,!V(k[h-m],g[l-m])){m--;break}k=f;h-=m;g=g.slice(f,l-m);let {from:w,to:t,nodesForReplacement:r}={from:k,\nnodesForReplacement:g,to:h};return w!==t||r.length?(a.splice(w,t-w,r),!0):!1})},{onUpdate:()=>{T.delete(d)},skipTransforms:!0}))}function U(a){let b=[];a.forEach(c=>{if(\"string\"===typeof c){c=c.split(\"\\n\");for(var d=0;d<c.length;d++){let f=c[d];f.length&&b.push(B(f));d<c.length-1&&b.push(u.$createLineBreakNode())}}else({content:d}=c),\"string\"===typeof d?b.push(B(d,c.type)):Array.isArray(d)&&1===d.length&&\"string\"===typeof d[0]?b.push(B(d[0],c.type)):Array.isArray(d)&&b.push(...U(d))});return b}\nfunction ea(a,b){a=u.$getNodeByKey(a);if(M(a)&&a.isAttached()){var c=u.$getSelection();if(u.$isRangeSelection(c)){c=c.anchor;var d=c.offset,f=\"element\"===c.type&&u.$isLineBreakNode(a.getChildAtIndex(c.offset-1)),g=0;if(!f){let k=c.getNode();g=d+k.getPreviousSiblings().reduce((h,l)=>h+l.getTextContentSize(),0)}b()&&(f?c.getNode().select(d,d):a.getChildren().some(k=>{let h=u.$isTextNode(k);if(h||u.$isLineBreakNode(k)){let l=k.getTextContentSize();if(h&&l>=g)return k.select(g,g),!0;g-=l}return!1}))}else b()}}\nfunction V(a,b){return C(a)&&C(b)?a.__text===b.__text&&a.__highlightType===b.__highlightType:u.$isLineBreakNode(a)&&u.$isLineBreakNode(b)?!0:!1}function W(a){var b=u.$getSelection();if(!u.$isRangeSelection(b)||b.isCollapsed())return!1;b=b.getNodes();for(var c=0;c<b.length;c++){var d=b[c];if(!C(d)&&!u.$isLineBreakNode(d))return!1}c=D(b[0]);null!=c&&X(c,a);for(c=1;c<b.length;c++)d=b[c],u.$isLineBreakNode(b[c-1])&&C(d)&&X(d,a);return!0}\nfunction X(a,b){let c=a.getTextContent();b===u.INDENT_CONTENT_COMMAND?0<c.length&&/\\s/.test(c[0])?a.setTextContent(\"\\t\"+c):(b=B(\"\\t\"),a.insertBefore(b)):0===c.indexOf(\"\\t\")&&(1===c.length?a.remove():a.setTextContent(c.substring(1)))}\nfunction Y(a,b){let c=u.$getSelection();if(!u.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.offset,k=f.offset,h=d.getNode(),l=f.getNode();var p=a===u.KEY_ARROW_UP_COMMAND;if(!C(h)||!C(l))return!1;if(!b.altKey){if(c.isCollapsed())if(a=h.getParentOrThrow(),p&&0===g&&null===h.getPreviousSibling()){if(null===a.getPreviousSibling())return a.selectPrevious(),b.preventDefault(),!0}else if(!p&&g===h.getTextContentSize()&&null===h.getNextSibling()&&null===a.getNextSibling())return a.selectNext(),\nb.preventDefault(),!0;return!1}var m=D(h);let w=E(l);if(null==m||null==w)return!1;let t=m.getNodesBetween(w);for(let q=0;q<t.length;q++){let Z=t[q];if(!C(Z)&&!u.$isLineBreakNode(Z))return!1}b.preventDefault();b.stopPropagation();b=p?m.getPreviousSibling():w.getNextSibling();if(!u.$isLineBreakNode(b))return!0;m=p?b.getPreviousSibling():b.getNextSibling();if(null==m)return!0;p=p?D(m):E(m);let r=null!=p?p:m;b.remove();t.forEach(q=>q.remove());a===u.KEY_ARROW_UP_COMMAND?(t.forEach(q=>r.insertBefore(q)),\nr.insertBefore(b)):(r.insertAfter(b),r=b,t.forEach(q=>{r.insertAfter(q);r=q}));c.setTextNodeRange(h,g,l,k);return!0}function fa(a,b){let c=u.$getSelection();if(!u.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.getNode(),k=f.getNode();a=a===u.MOVE_TO_START;if(!C(g)||!C(k))return!1;let h,l;a?{node:h,offset:l}=P(k):{node:h,offset:l}=Q(k);null!==h&&-1!==l&&c.setTextNodeRange(h,l,h,l);b.preventDefault();b.stopPropagation();return!0}exports.$createCodeHighlightNode=B;\nexports.$createCodeNode=L;exports.$isCodeHighlightNode=C;exports.$isCodeNode=M;exports.CODE_LANGUAGE_FRIENDLY_NAME_MAP=v;exports.CODE_LANGUAGE_MAP=x;exports.CodeHighlightNode=z;exports.CodeNode=H;exports.DEFAULT_CODE_LANGUAGE=\"javascript\";exports.PrismTokenizer=N;exports.getCodeLanguages=()=>Object.keys(e.languages).filter(a=>\"function\"!==typeof e.languages[a]).sort();exports.getDefaultCodeLanguage=()=>\"javascript\";exports.getEndOfCodeInLine=Q;exports.getFirstCodeHighlightNodeOfLine=D;\nexports.getLanguageFriendlyName=function(a){a=y(a);return v[a]||a};exports.getLastCodeHighlightNodeOfLine=E;exports.getStartOfCodeInLine=P;exports.normalizeCodeLang=y;\nexports.registerCodeHighlighting=function(a,b){if(!a.hasNodes([H,z]))throw Error(\"CodeHighlightPlugin: CodeNode or CodeHighlightNode not registered on editor\");null==b&&(b=N);return n.mergeRegister(a.registerMutationListener(H,c=>{a.update(()=>{for(let [g,k]of c)if(\"destroyed\"!==k){var d=u.$getNodeByKey(g);if(null!==d)a:{var f=d;d=a.getElementByKey(f.getKey());if(null===d)break a;f=f.getChildren();let h=f.length;if(h===d.__cachedChildrenLength)break a;d.__cachedChildrenLength=h;let l=\"1\",p=1;for(let m=\n0;m<h;m++)u.$isLineBreakNode(f[m])&&(l+=\"\\n\"+ ++p);d.setAttribute(\"data-gutter\",l)}}})}),a.registerNodeTransform(H,c=>S(c,a,b)),a.registerNodeTransform(u.TextNode,c=>R(c,a,b)),a.registerNodeTransform(z,c=>R(c,a,b)),a.registerCommand(u.INDENT_CONTENT_COMMAND,()=>W(u.INDENT_CONTENT_COMMAND),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.OUTDENT_CONTENT_COMMAND,()=>W(u.OUTDENT_CONTENT_COMMAND),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.KEY_ARROW_UP_COMMAND,c=>Y(u.KEY_ARROW_UP_COMMAND,c),u.COMMAND_PRIORITY_LOW),\na.registerCommand(u.KEY_ARROW_DOWN_COMMAND,c=>Y(u.KEY_ARROW_DOWN_COMMAND,c),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.MOVE_TO_END,c=>fa(u.MOVE_TO_END,c),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.MOVE_TO_START,c=>fa(u.MOVE_TO_START,c),u.COMMAND_PRIORITY_LOW))}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalCode = process.env.NODE_ENV === 'development' ? require('./LexicalCode.dev.js') : require('./LexicalCode.prod.js')\nmodule.exports = LexicalCode;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var k=require(\"lexical\"),t=require(\"@lexical/code\"),A=require(\"@lexical/list\"),F=require(\"@lexical/rich-text\"),aa=require(\"@lexical/utils\"),G=require(\"@lexical/link\");function H(a,b){let c={};for(let d of a)a=b(d),c[a]?c[a].push(d):c[a]=[d];return c}function I(a){a=H(a,b=>b.type);return{element:a.element||[],textFormat:a[\"text-format\"]||[],textMatch:a[\"text-match\"]||[]}}let J=/[!-/:-@[-`{-~\\s]/;\nfunction ba(a){let b=I(a),c=b.textFormat.filter(d=>1===d.format.length);return()=>{let d=[];var e=k.$getRoot().getChildren();for(let f of e)e=ca(f,b.element,c,b.textMatch),null!=e&&d.push(e);return d.join(\"\\n\\n\")}}function ca(a,b,c,d){for(let e of b)if(b=e.export(a,f=>K(f,c,d)),null!=b)return b;return k.$isElementNode(a)?K(a,c,d):null}\nfunction K(a,b,c){let d=[];a=a.getChildren();a:for(let e of a){for(let f of c)if(a=f.export(e,l=>K(l,b,c),(l,h)=>L(l,h,b)),null!=a){d.push(a);continue a}k.$isLineBreakNode(e)?d.push(\"\\n\"):k.$isTextNode(e)?d.push(L(e,e.getTextContent(),b)):k.$isElementNode(e)&&d.push(K(e,b,c))}return d.join(\"\")}function L(a,b,c){let d=b.trim(),e=d,f=new Set;for(let h of c){c=h.format[0];let p=h.tag;if(M(a,c)&&!f.has(c)){f.add(c);var l=N(a,!0);M(l,c)||(e=p+e);l=N(a,!1);M(l,c)||(e+=p)}}return b.replace(d,e)}\nfunction N(a,b){let c=b?a.getPreviousSibling():a.getNextSibling();c||(a=a.getParentOrThrow(),a.isInline()&&(c=b?a.getPreviousSibling():a.getNextSibling()));for(;c;){if(k.$isElementNode(c)){if(!c.isInline())break;a=b?c.getLastDescendant():c.getFirstDescendant();if(k.$isTextNode(a))return a;c=b?c.getPreviousSibling():c.getNextSibling()}if(k.$isTextNode(c))return c;if(!k.$isElementNode(c))break}return null}function M(a,b){return k.$isTextNode(a)&&a.hasFormat(b)}\nlet O=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,da=O&&\"documentMode\"in document?document.documentMode:null;O&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);O&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);O&&\"InputEvent\"in window&&!da?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1;\nlet P=O&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Q=O&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,ea=/^\\s{0,3}$/,R=/^```(\\w{1,10})?\\s?$/;\nfunction fa(a){let b=I(a),c=ha(b.textFormat);return d=>{var e=d.split(\"\\n\"),f=e.length;d=k.$getRoot();d.clear();for(let g=0;g<f;g++){var l=e[g];a:{var h=e,p=g;var r=d;var y=h[p].match(R);if(y)for(var q=p,m=h.length;++q<m;)if(h[q].match(R)){y=t.$createCodeNode(y[1]);h=k.$createTextNode(h.slice(p+1,q).join(\"\\n\"));y.append(h);r.append(y);r=[y,q];break a}r=[null,p]}let [n,v]=r;if(null!=n)g=v;else{r=l;m=d;var w=b.element;q=c;h=b.textMatch;p=r.trim();y=k.$createTextNode(p);l=k.$createParagraphNode();l.append(y);\nm.append(l);for(let {regExp:x,replace:u}of w)if(m=r.match(x)){y.setTextContent(r.slice(m[0].length));u(l,[y],m,!0);break}S(y,q,h);l.isAttached()&&0<p.length&&(r=l.getPreviousSibling(),k.$isParagraphNode(r)||F.$isQuoteNode(r)||A.$isListNode(r))&&(q=r,A.$isListNode(r)&&(r=r.getLastDescendant(),q=null==r?null:aa.$findMatchingParent(r,A.$isListItemNode)),null!=q&&0<q.getTextContentSize()&&(q.splice(q.getChildrenSize(),0,[k.$createLineBreakNode(),...l.getChildren()]),l.remove()))}}e=d.getChildren();for(let g of e)e=\ng,k.$isParagraphNode(e)?(f=e.getFirstChild(),e=null==f||1===e.getChildrenSize()&&k.$isTextNode(f)&&ea.test(f.getTextContent())):e=!1,e&&g.remove();d.selectEnd()}}\nfunction S(a,b,c){var d=a.getTextContent();let e=ia(d,b);if(e){var f,l;if(e[0]===d)var h=a;else{d=e.index||0;let p=d+e[0].length;0===d?[h,f]=a.splitText(p):[l,h,f]=a.splitText(d,p)}h.setTextContent(e[2]);if(a=b.transformersByTag[e[1]])for(let p of a.format)h.hasFormat(p)||h.toggleFormat(p);h.hasFormat(\"code\")||S(h,b,c);l&&S(l,b,c);f&&S(f,b,c)}else T(a,c)}\nfunction T(a,b){a:for(;a;){for(let c of b){let d=a.getTextContent().match(c.importRegExp);if(!d)continue;let e=d.index||0,f=e+d[0].length,l,h,p;0===e?[l,a]=a.splitText(f):[h,l,p]=a.splitText(e,f);h&&T(h,b);p&&(a=p);c.replace(l,d);continue a}break}}\nfunction ia(a,b){var c=a.match(b.openTagsRegExp);if(null==c)return null;for(let f of c){var d=f.replace(/^\\s/,\"\");c=b.fullMatchRegExpByTag[d];if(null!=c&&(c=a.match(c),d=b.transformersByTag[d],null!=c&&null!=d)){if(!1!==d.intraword)return c;var {index:e=0}=c;d=a[e-1];e=a[e+c[0].length];if(!(d&&!J.test(d)||e&&!J.test(e)))return c}}return null}\nfunction ha(a){let b={},c={},d=[];for(let e of a){({tag:a}=e);b[a]=e;let f=a.replace(/(\\*|\\^)/g,\"\\\\$1\");d.push(f);c[a]=P||Q?new RegExp(`(${f})(?![${f}\\\\s])(.*?[^${f}\\\\s])${f}(?!${f})`):new RegExp(`(?<![\\\\\\\\${f}])(${f})((\\\\\\\\${f})?.*?[^${f}\\\\s](\\\\\\\\${f})?)((?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))(${f})(?![\\\\\\\\${f}])`)}return{fullMatchRegExpByTag:c,openTagsRegExp:new RegExp((P||Q?\"\":\"(?<![\\\\\\\\])\")+\"(\"+d.join(\"|\")+\")\",\"g\"),transformersByTag:b}}\nfunction U(a,b,c){let d=c.length;for(;b>=d;b--){let e=b-d;if(V(a,e,c,0,d)&&\" \"!==a[e+d])return e}return-1}function V(a,b,c,d,e){for(let f=0;f<e;f++)if(a[b+f]!==c[d+f])return!1;return!0}\nlet W=a=>(b,c,d)=>{d=a(d);d.append(...c);b.replace(d);d.select(0,0)},X=a=>(b,c,d)=>{var e=b.getPreviousSibling();const f=A.$createListItemNode(\"check\"===a?\"x\"===d[3]:void 0);A.$isListNode(e)&&e.getListType()===a?(e.append(f),b.remove()):(e=A.$createListNode(a,\"number\"===a?Number(d[2]):void 0),e.append(f),b.replace(e));f.append(...c);f.select(0,0);(b=Math.floor(d[1].length/4))&&f.setIndent(b)},Y=(a,b,c)=>{const d=[];var e=a.getChildren();let f=0;for(const h of e)if(A.$isListItemNode(h)){if(1===h.getChildrenSize()&&\n(e=h.getFirstChild(),A.$isListNode(e))){d.push(Y(e,b,c+1));continue}e=\" \".repeat(4*c);var l=a.getListType();l=\"number\"===l?`${a.getStart()+f}. `:\"check\"===l?`- [${h.getChecked()?\"x\":\" \"}] `:\"- \";d.push(e+l+b(h));f++}return d.join(\"\\n\")},ja={dependencies:[F.HeadingNode],export:(a,b)=>{if(!F.$isHeadingNode(a))return null;const c=Number(a.getTag().slice(1));return\"#\".repeat(c)+\" \"+b(a)},regExp:/^(#{1,6})\\s/,replace:W(a=>F.$createHeadingNode(\"h\"+a[1].length)),type:\"element\"},ka={dependencies:[F.QuoteNode],\nexport:(a,b)=>{if(!F.$isQuoteNode(a))return null;a=b(a).split(\"\\n\");b=[];for(const c of a)b.push(\"> \"+c);return b.join(\"\\n\")},regExp:/^>\\s/,replace:(a,b,c,d)=>{if(d&&(c=a.getPreviousSibling(),F.$isQuoteNode(c))){c.splice(c.getChildrenSize(),0,[k.$createLineBreakNode(),...b]);c.select(0,0);a.remove();return}c=F.$createQuoteNode();c.append(...b);a.replace(c);c.select(0,0)},type:\"element\"},la={dependencies:[t.CodeNode],export:a=>{if(!t.$isCodeNode(a))return null;const b=a.getTextContent();return\"```\"+\n(a.getLanguage()||\"\")+(b?\"\\n\"+b:\"\")+\"\\n```\"},regExp:/^```(\\w{1,10})?\\s/,replace:W(a=>t.$createCodeNode(a?a[1]:void 0)),type:\"element\"},ma={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?Y(a,b,0):null,regExp:/^(\\s*)[-*+]\\s/,replace:X(\"bullet\"),type:\"element\"},na={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?Y(a,b,0):null,regExp:/^(\\s*)(?:-\\s)?\\s?(\\[(\\s|x)?\\])\\s/i,replace:X(\"check\"),type:\"element\"},oa={dependencies:[A.ListNode,A.ListItemNode],export:(a,\nb)=>A.$isListNode(a)?Y(a,b,0):null,regExp:/^(\\s*)(\\d{1,})\\.\\s/,replace:X(\"number\"),type:\"element\"},pa={format:[\"code\"],tag:\"`\",type:\"text-format\"},qa={format:[\"bold\",\"italic\"],tag:\"***\",type:\"text-format\"},ra={format:[\"bold\",\"italic\"],intraword:!1,tag:\"___\",type:\"text-format\"},ta={format:[\"bold\"],tag:\"**\",type:\"text-format\"},ua={format:[\"bold\"],intraword:!1,tag:\"__\",type:\"text-format\"},va={format:[\"strikethrough\"],tag:\"~~\",type:\"text-format\"},wa={format:[\"italic\"],tag:\"*\",type:\"text-format\"},xa={format:[\"italic\"],\nintraword:!1,tag:\"_\",type:\"text-format\"},ya={dependencies:[G.LinkNode],export:(a,b,c)=>{if(!G.$isLinkNode(a))return null;b=`[${a.getTextContent()}](${a.getURL()})`;const d=a.getFirstChild();return 1===a.getChildrenSize()&&k.$isTextNode(d)?c(d,b):b},importRegExp:/(?:\\[([^[]+)\\])(?:\\(([^()]+)\\))/,regExp:/(?:\\[([^[]+)\\])(?:\\(([^()]+)\\))$/,replace:(a,b)=>{const [,c,d]=b;b=G.$createLinkNode(d);const e=k.$createTextNode(c);e.setFormat(a.getFormat());b.append(e);a.replace(b)},trigger:\")\",type:\"text-match\"},\nza=[ja,ka,la,ma,oa],Aa=[pa,qa,ra,ta,ua,wa,xa,va],Ba=[ya],Z=[...za,...Aa,...Ba];exports.$convertFromMarkdownString=function(a,b=Z){return fa(b)(a)};exports.$convertToMarkdownString=function(a=Z){return ba(a)()};exports.BOLD_ITALIC_STAR=qa;exports.BOLD_ITALIC_UNDERSCORE=ra;exports.BOLD_STAR=ta;exports.BOLD_UNDERSCORE=ua;exports.CHECK_LIST=na;exports.CODE=la;exports.ELEMENT_TRANSFORMERS=za;exports.HEADING=ja;exports.INLINE_CODE=pa;exports.ITALIC_STAR=wa;exports.ITALIC_UNDERSCORE=xa;exports.LINK=ya;\nexports.ORDERED_LIST=oa;exports.QUOTE=ka;exports.STRIKETHROUGH=va;exports.TEXT_FORMAT_TRANSFORMERS=Aa;exports.TEXT_MATCH_TRANSFORMERS=Ba;exports.TRANSFORMERS=Z;exports.UNORDERED_LIST=ma;\nexports.registerMarkdownShortcuts=function(a,b=Z){let c=I(b),d=H(c.textFormat,({tag:f})=>f[f.length-1]),e=H(c.textMatch,({trigger:f})=>f);for(let f of b)if(b=f.type,(\"element\"===b||\"text-match\"===b)&&!a.hasNodes(f.dependencies))throw Error(\"Minified Lexical error #79; visit https://lexical.dev/docs/error?code=79 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");return a.registerUpdateListener(({tags:f,dirtyLeaves:l,editorState:h,prevEditorState:p})=>\n{if(!f.has(\"historic\")){var r=h.read(k.$getSelection);f=p.read(k.$getSelection);if(k.$isRangeSelection(f)&&k.$isRangeSelection(r)&&r.isCollapsed()){p=r.anchor.key;var y=r.anchor.offset,q=h._nodeMap.get(p);k.$isTextNode(q)&&l.has(p)&&(1===y||y===f.anchor.offset+1)&&a.update(()=>{if(!q.hasFormat(\"code\")){var m=q.getParent();if(null!==m&&!t.$isCodeNode(m)){var w=r.anchor.offset;b:{var g=c.element,n=m.getParent();if(k.$isRootOrShadowRoot(n)&&m.getFirstChild()===q&&(n=q.getTextContent(),\" \"===n[w-1]))for(let {regExp:C,\nreplace:D}of g)if((g=n.match(C))&&g[0].length===w){n=q.getNextSiblings();let [E,sa]=q.splitText(w);E.remove();n=sa?[sa,...n]:n;D(m,n,g,!1);m=!0;break b}m=!1}if(!m){b:{g=q.getTextContent();m=e[g[w-1]];if(null!=m){w<g.length&&(g=g.slice(0,w));for(x of m)if(m=g.match(x.regExp),null!==m){g=m.index||0;n=g+m[0].length;var v=void 0;0===g?[v]=q.splitText(n):[,v]=q.splitText(g,n);v.selectNext(0,0);x.replace(v,m);var x=!0;break b}}x=!1}if(!x)b:{n=q.getTextContent();--w;var u=n[w];if(x=d[u])for(let C of x){var {tag:B}=\nC;x=B.length;let D=w-x+1;if(!(1<x&&!V(n,D,B,0,x)||\" \"===n[D-1])&&(v=n[w+1],!1!==C.intraword||!v||J.test(v))){m=v=q;g=U(n,D,B);for(var z=m;0>g&&(z=z.getPreviousSibling())&&!k.$isLineBreakNode(z);)k.$isTextNode(z)&&(g=z.getTextContent(),m=z,g=U(g,g.length,B));if(!(0>g||m===v&&g+x===D||(B=m.getTextContent(),0<g&&B[g-1]===u||(z=B[g-1],!1===C.intraword&&z&&!J.test(z))))){n=v.getTextContent();n=n.slice(0,D)+n.slice(w+1);v.setTextContent(n);n=m===v?n:B;m.setTextContent(n.slice(0,g)+n.slice(g+x));n=k.$getSelection();\nu=k.$createRangeSelection();k.$setSelection(u);w=w-x*(m===v?2:1)+1;u.anchor.set(m.__key,g,\"text\");u.focus.set(v.__key,w,\"text\");for(let E of C.format)u.hasFormat(E)||u.formatText(E);u.anchor.set(u.focus.key,u.focus.offset,u.focus.type);for(let E of C.format)u.hasFormat(E)&&u.toggleFormat(E);k.$isRangeSelection(n)&&(u.format=n.format);break b}}}}}}}})}}})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalMarkdown = process.env.NODE_ENV === 'development' ? require('./LexicalMarkdown.dev.js') : require('./LexicalMarkdown.prod.js')\nmodule.exports = LexicalMarkdown;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var a=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"@lexical/react/useLexicalNodeSelection\"),h=require(\"@lexical/utils\"),l=require(\"lexical\"),p=require(\"react\");let q=l.createCommand(\"INSERT_HORIZONTAL_RULE_COMMAND\");\nfunction r({nodeKey:b}){let [f]=a.useLexicalComposerContext(),m=p.useRef(null),[e,g,n]=d.useLexicalNodeSelection(b),k=p.useCallback(c=>{e&&l.$isNodeSelection(l.$getSelection())&&(c.preventDefault(),c=l.$getNodeByKey(b),t(c)&&c.remove(),g(!1));return!1},[e,b,g]);p.useEffect(()=>h.mergeRegister(f.registerCommand(l.CLICK_COMMAND,c=>c.target===m.current?(c.shiftKey||n(),g(!e),!0):!1,l.COMMAND_PRIORITY_LOW),f.registerCommand(l.KEY_DELETE_COMMAND,k,l.COMMAND_PRIORITY_LOW),f.registerCommand(l.KEY_BACKSPACE_COMMAND,\nk,l.COMMAND_PRIORITY_LOW)),[n,f,e,k,g]);return p.createElement(\"hr\",{ref:m,className:e?\"selected\":void 0})}\nclass u extends l.DecoratorNode{static getType(){return\"horizontalrule\"}static clone(b){return new u(b.__key)}static importJSON(){return v()}static importDOM(){return{hr:()=>({conversion:w,priority:0})}}exportJSON(){return{type:\"horizontalrule\",version:1}}exportDOM(){return{element:document.createElement(\"hr\")}}createDOM(){let b=document.createElement(\"div\");b.style.display=\"contents\";return b}getTextContent(){return\"\\n\"}isInline(){return!1}updateDOM(){return!1}decorate(){return p.createElement(r,{nodeKey:this.__key})}}\nfunction w(){return{node:v()}}function v(){return l.$applyNodeReplacement(new u)}function t(b){return b instanceof u}exports.$createHorizontalRuleNode=v;exports.$isHorizontalRuleNode=t;exports.HorizontalRuleNode=u;exports.INSERT_HORIZONTAL_RULE_COMMAND=q\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHorizontalRuleNode = process.env.NODE_ENV === 'development' ? require('./LexicalHorizontalRuleNode.dev.js') : require('./LexicalHorizontalRuleNode.prod.js')\nmodule.exports = LexicalHorizontalRuleNode;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/markdown\"),d=require(\"@lexical/react/LexicalComposerContext\"),e=require(\"@lexical/react/LexicalHorizontalRuleNode\"),f=require(\"react\");let g=[{dependencies:[e.HorizontalRuleNode],export:a=>e.$isHorizontalRuleNode(a)?\"***\":null,regExp:/^(---|\\*\\*\\*|___)\\s?$/,replace:(a,b,k,h)=>{b=e.$createHorizontalRuleNode();h||null!=a.getNextSibling()?a.replace(b):a.insertBefore(b);b.selectNext()},type:\"element\"},...c.TRANSFORMERS];exports.DEFAULT_TRANSFORMERS=g;\nexports.MarkdownShortcutPlugin=function({transformers:a=g}){let [b]=d.useLexicalComposerContext();f.useEffect(()=>c.registerMarkdownShortcuts(b,a),[b,a]);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalMarkdownShortcutPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalMarkdownShortcutPlugin.dev.js') : require('./LexicalMarkdownShortcutPlugin.prod.js')\nmodule.exports = LexicalMarkdownShortcutPlugin;","import {\n HEADING,\n ORDERED_LIST,\n QUOTE,\n UNORDERED_LIST,\n TEXT_FORMAT_TRANSFORMERS,\n TEXT_MATCH_TRANSFORMERS\n} from '@lexical/markdown';\nimport {MarkdownShortcutPlugin as LexicalMarkdownShortcutPlugin} from '@lexical/react/LexicalMarkdownShortcutPlugin';\nimport {$createHorizontalRuleNode, $isHorizontalRuleNode, HorizontalRuleNode} from '../nodes/HorizontalRuleNode';\nimport {$isCodeBlockNode, $createCodeBlockNode, CodeBlockNode} from '../nodes/CodeBlockNode';\nimport {$isImageNode, $createImageNode, ImageNode} from '../nodes/ImageNode';\n\nexport const HR = {\n dependencies: [HorizontalRuleNode],\n export: (node) => {\n return $isHorizontalRuleNode(node) ? '---' : null;\n },\n regExp: /^(---|\\*\\*\\*|___)\\s?$/,\n replace: (parentNode, _1, _2, isImport) => {\n const line = $createHorizontalRuleNode();\n\n // TODO: Get rid of isImport flag\n if (isImport || parentNode.getNextSibling() != null) { // eslint-disable-line\n parentNode.replace(line);\n } else {\n parentNode.insertBefore(line);\n }\n\n line.selectNext();\n },\n type: 'element'\n};\n\nexport const CODE_BLOCK = {\n dependencies: [CodeBlockNode],\n export: (node) => {\n if (!$isCodeBlockNode(node)) {\n return null;\n }\n const textContent = node.getTextContent();\n return (\n '```' +\n (node.getLanguage() || '') +\n (textContent ? '\\n' + textContent : '') +\n '\\n' +\n '```'\n );\n },\n regExp: /^```(\\w{1,10})?\\s/,\n replace: (textNode, match, text) => {\n const initCode = text[1] || '';\n const language = match[1];\n const codeBlockNode = $createCodeBlockNode(language, initCode);\n textNode.replace(codeBlockNode);\n },\n type: 'element'\n};\n\n// render imageNode when writing image!\n// regex that detects exactly the string 'image!'\n\nexport const IMAGE = {\n dependencies: [ImageNode],\n export: (node) => {\n if (!$isImageNode(node)){\n return null;\n } else {\n const {src, alt} = node.dataset;\n return ``;\n }\n },\n regExp: /^image! $/,\n replace: (parentNode, match, text) => {\n const alt = '';\n const src = '';\n const imageNode = $createImageNode({altText: alt, src});\n parentNode.replace(imageNode);\n },\n type: 'element'\n};\n\nexport const ELEMENT_TRANSFORMERS = [\n HEADING,\n QUOTE,\n UNORDERED_LIST,\n ORDERED_LIST,\n HR,\n CODE_BLOCK,\n IMAGE\n];\n\nexport const DEFAULT_TRANSFORMERS = [\n ...ELEMENT_TRANSFORMERS,\n ...TEXT_FORMAT_TRANSFORMERS,\n ...TEXT_MATCH_TRANSFORMERS\n];\n\nexport default function MarkdownShortcutPlugin({transformers = DEFAULT_TRANSFORMERS} = {}) {\n return LexicalMarkdownShortcutPlugin({transformers});\n}\n","import {$isAtNodeEnd} from '@lexical/selection';\n\nexport function getSelectedNode(selection) {\n const anchor = selection.anchor;\n const focus = selection.focus;\n const anchorNode = selection.anchor.getNode();\n const focusNode = selection.focus.getNode();\n if (anchorNode === focusNode) {\n return anchorNode;\n }\n const isBackward = selection.isBackward();\n if (isBackward) {\n return $isAtNodeEnd(focus) ? anchorNode : focusNode;\n } else {\n return $isAtNodeEnd(anchor) ? focusNode : anchorNode;\n }\n}\n","import {ReactComponent as PlusIcon} from '../../assets/icons/plus.svg';\n\nexport function PlusButton({onClick}) {\n return (\n <div className=\"absolute top-[-2px] left-[-66px]\" data-kg-plus-button>\n <button\n type=\"button\"\n aria-label=\"Add a card\"\n className=\"group relative flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border border-grey transition-all ease-linear hover:border-grey-900 md:h-9 md:w-9\"\n onClick={onClick}\n >\n <PlusIcon className=\"h-4 w-4 stroke-grey-800 stroke-2 group-hover:stroke-grey-900\" />\n </button>\n </div>\n );\n}\n\nexport function PlusMenu({children}) {\n return (\n <div className=\"absolute left-[-16px]\" data-kg-plus-menu>\n {children}\n </div>\n );\n}\n","import React from 'react';\n\nexport const CardMenuSection = ({label, children, ...props}) => {\n return (\n <li role=\"separator\" className=\"text-grey flex shrink-0 flex-col justify-center text-[1.1rem] font-semibold uppercase tracking-wide\" {...props}>\n <span className=\"mb-2 block px-4 pt-3\" style={{minWidth: 'calc(100% - 3.2rem)'}}>{label}</span>\n <ul role=\"menu\">\n {children}\n </ul>\n </li>\n );\n};\n\nexport const CardMenuItem = ({label, desc, isSelected, onClick, Icon, ...props}) => {\n // browsers will move focus on mouseDown but we don't want that because it\n // removes focus from the editor meaning key commands don't work as\n // expected after a card is inserted\n const preventMouseDown = (event) => {\n event.preventDefault();\n };\n\n return (\n <li role=\"presentation\">\n <button\n type=\"button\"\n role=\"menuitem\"\n className={`text-grey-800 hover:bg-grey-100 flex w-full cursor-pointer flex-row items-center border border-transparent px-4 py-[1rem] text-left ${isSelected ? 'bg-grey-100' : ''}`} onMouseDown={preventMouseDown} onClick={onClick} data-kg-card-menu-item={label}\n data-kg-cardmenu-selected={isSelected}\n {...props}\n >\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"text-grey-900 m-0 ml-4 truncate text-[1.3rem] font-medium leading-[1.6rem] tracking-[.02rem]\">{label}</div>\n <div className=\"text-grey m-0 ml-4 truncate text-xs font-normal leading-[1.6rem] tracking-[.02rem]\">{desc}</div>\n </div>\n </button>\n </li>\n );\n};\n\nexport const CardSnippetItem = ({label, isSelected, Icon, ...props}) => {\n return (\n <li role=\"presentation\">\n <button\n type=\"button\"\n role=\"menuitem\"\n className={`text-grey-800 hover:bg-grey-100 flex w-full cursor-pointer flex-row items-center border border-transparent px-4 py-[1rem] ${isSelected ? 'bg-grey-100' : ''}`}\n data-kg-cardmenu-selected={isSelected}\n {...props}\n >\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"text-grey-900 m-0 ml-4 truncate text-[1.3rem] font-medium leading-[1.6rem] tracking-[.02rem]\">{label}</div>\n </div>\n </button>\n </li>\n );\n};\n\nexport const CardMenu = ({menu = new Map(), insert = () => {}, selectedItemIndex}) => {\n // build up the children arrays from the passed in menu Map\n const CardMenuSections = [];\n\n let itemIndex = 0;\n for (const [sectionLabel, items] of menu) {\n const CardMenuItems = [];\n\n items.forEach((item) => { // eslint-disable-line no-loop-func\n const isSelected = itemIndex === selectedItemIndex;\n const onClick = (event) => {\n event.preventDefault();\n insert?.(item.insertCommand, {insertParams: item.insertParams, queryParams: item.queryParams});\n };\n\n if (!item.type || item.type === 'card') {\n CardMenuItems.push(\n <CardMenuItem\n key={itemIndex}\n label={item.label}\n desc={item.desc}\n Icon={item.Icon}\n isSelected={isSelected}\n onClick={onClick}\n data-kg-cardmenu-idx={itemIndex}\n />\n );\n } else if (item.type === 'snippet') {\n CardMenuItems.push(\n <CardSnippetItem\n key={itemIndex}\n label={item.label}\n Icon={item.Icon}\n isSelected={isSelected}\n onClick={onClick}\n data-kg-cardmenu-idx={itemIndex}\n />\n );\n }\n\n itemIndex = itemIndex + 1;\n });\n\n CardMenuSections.push(<CardMenuSection key={sectionLabel} label={sectionLabel}>{CardMenuItems}</CardMenuSection>);\n }\n\n return (\n <ul role=\"menu\" className=\"not-kg-prose z-[9999999] m-0 mb-3 max-h-[376px] w-[312px] flex-col overflow-y-auto rounded-lg bg-white bg-clip-padding p-0 pt-0 font-sans text-sm shadow after:block after:pb-4\">\n {CardMenuSections}\n </ul>\n );\n};\n","export function getEditorCardNodes(editor) {\n // TODO: open upstream PR to add public method of getting nodes\n const allNodes = editor._nodes;\n const cardNodes = [];\n\n for (const [nodeType, {klass}] of allNodes) {\n if (!klass.kgMenu) {\n continue;\n }\n\n cardNodes.push([nodeType, klass]);\n }\n\n return cardNodes;\n}\n","export function buildCardMenu(nodes, {query} = {}) {\n const menu = new Map();\n\n query = query?.toLowerCase();\n\n let maxItemIndex = -1;\n\n function addMenuItem(item) {\n if (query && (!item.matches || !item.matches.find(m => m.startsWith(query)))) {\n return;\n }\n\n const section = item.section || 'Primary';\n\n if (!menu.has(section)) {\n menu.set(section, [item]);\n } else {\n menu.get(section).push(item);\n }\n\n maxItemIndex = maxItemIndex + 1;\n }\n\n for (const [nodeType, node] of nodes) {\n if (Array.isArray(node.kgMenu)) {\n node.kgMenu.forEach(item => addMenuItem({nodeType, ...item}));\n } else {\n addMenuItem({nodeType, ...node.kgMenu});\n }\n }\n\n return {menu, maxItemIndex};\n}\n","import React from 'react';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$getSelection, $isParagraphNode, $isRangeSelection} from 'lexical';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {PlusButton, PlusMenu} from '../components/ui/PlusMenu';\nimport {CardMenu} from '../components/ui/CardMenu';\nimport {getEditorCardNodes} from '../utils/getEditorCardNodes';\nimport {buildCardMenu} from '../utils/buildCardMenu';\n\nfunction usePlusCardMenu(editor) {\n const [isShowingButton, setIsShowingButton] = React.useState(false);\n const [isShowingMenu, setIsShowingMenu] = React.useState(false);\n const [topPosition, setTopPosition] = React.useState(0);\n const [cachedRange, setCachedRange] = React.useState(null);\n const [cardMenu, setCardMenu] = React.useState({});\n const containerRef = React.useRef(null);\n\n function getTopPosition(elem) {\n const elemRect = elem.getBoundingClientRect();\n const containerRect = elem.parentNode.getBoundingClientRect();\n\n return elemRect.top - containerRect.top;\n }\n\n function getElementRange(elem) {\n const range = new Range();\n range.setStart(elem, 0);\n range.setEnd(elem, 0);\n return range;\n }\n\n const moveCursorToCachedRange = React.useCallback(() => {\n if (!cachedRange) {\n return;\n }\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(cachedRange);\n }, [cachedRange]);\n\n const showButton = React.useCallback((elem) => {\n const range = getElementRange(elem);\n setCachedRange(range);\n setIsShowingButton(true);\n }, [setIsShowingButton, setCachedRange]);\n\n const hideButton = React.useCallback(() => {\n setIsShowingButton(false);\n setIsShowingMenu(false);\n setCachedRange(null);\n }, [setIsShowingButton, setIsShowingMenu, setCachedRange]);\n\n const openMenu = React.useCallback((event) => {\n event?.preventDefault();\n moveCursorToCachedRange();\n setIsShowingMenu(true);\n }, [moveCursorToCachedRange, setIsShowingMenu]);\n\n const closeMenu = React.useCallback(({resetCursor = false} = {}) => {\n if (resetCursor) {\n moveCursorToCachedRange();\n }\n setIsShowingMenu(false);\n }, [moveCursorToCachedRange, setIsShowingMenu]);\n\n const updateButton = React.useCallback(() => {\n editor.getEditorState().read(() => {\n // don't do anything when using IME input\n if (editor.isComposing()) {\n return;\n }\n\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection) || !selection.type === 'text' || !selection.isCollapsed()) {\n hideButton();\n return;\n }\n\n const node = getSelectedNode(selection);\n\n if (!$isParagraphNode(node) || node.getTextContent() !== '') {\n hideButton();\n return;\n }\n\n const nativeSelection = window.getSelection();\n const p = nativeSelection.anchorNode;\n const rootElement = editor.getRootElement();\n\n if (p?.tagName !== 'P' || !rootElement.contains(p)) {\n hideButton();\n return;\n }\n\n setTopPosition(getTopPosition(p));\n showButton(p);\n });\n }, [editor, showButton, hideButton]);\n\n const insert = React.useCallback((insertCommand, {insertParams = {}} = {}) => {\n const commandParams = {...insertParams};\n editor.dispatchCommand(insertCommand, commandParams);\n closeMenu();\n }, [editor, closeMenu]);\n\n React.useEffect(() => {\n return editor.registerUpdateListener(() => {\n updateButton();\n }, [editor, updateButton]);\n });\n\n // hide the button as soon as there's any selection made outside of the\n // editor canvas - any click outside makes a selection so no need for\n // additional mouse tracking for this\n const hideButtonOnOutsideSelection = React.useCallback(() => {\n if (isShowingButton) {\n const nativeSelection = window.getSelection();\n\n // clicking inside the menu changes native selection, we don't want\n // to close the menu when that occurs\n if (isShowingMenu && containerRef.current?.contains(nativeSelection.anchorNode)) {\n return;\n }\n\n const rootElement = editor.getRootElement();\n\n if (!rootElement.contains(nativeSelection.anchorNode)) {\n hideButton();\n }\n }\n }, [editor, isShowingButton, isShowingMenu, hideButton]);\n\n React.useEffect(() => {\n document.addEventListener('selectionchange', hideButtonOnOutsideSelection);\n return () => {\n document.removeEventListener('selectionchange', hideButtonOnOutsideSelection);\n };\n }, [hideButtonOnOutsideSelection]);\n\n // show or move the button when the mouse moves over a blank paragraph\n const updateButtonOnMousemove = React.useCallback((event) => {\n // once the menu is open moving the mouse should not have any effect on button/menu positioning\n if (isShowingMenu) {\n return;\n }\n\n const rootElement = editor.getRootElement();\n let {pageX, pageY} = event;\n\n // add a horizontal buffer to the pointer position so that the button\n // doesn't disappear when moving across the gap between button and paragraph\n let containerRect = rootElement.getBoundingClientRect();\n if (pageX < containerRect.left) {\n pageX = pageX + 40;\n }\n\n // use the page coordinates to find the element under the pointer\n\n // TODO: this basic implementation isn't quite as forgiving as the mobiledoc implementation\n // which appears to have a threshold around the point which creates a bigger hit area for\n // nearby elements, whereas this removes the button immediately on margin mouseover. See:\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/editor/editor.ts#L1306\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/utils/cursor/position.ts#L115\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/utils/selection-utils.ts#L39-L90\n const hoveredElem = document.elementFromPoint(pageX, pageY);\n\n if (rootElement.contains(hoveredElem)) {\n if (hoveredElem?.tagName === 'P' && hoveredElem.textContent === '') {\n // place cursor next to the hovered paragraph\n setTopPosition(getTopPosition(hoveredElem));\n showButton(hoveredElem);\n } else {\n // reset button based on cursor position\n updateButton();\n }\n }\n }, [editor, isShowingMenu, setTopPosition, showButton, updateButton]);\n\n React.useEffect(() => {\n window.addEventListener('mousemove', updateButtonOnMousemove);\n return () => {\n window.removeEventListener('mousemove', updateButtonOnMousemove);\n };\n }, [updateButtonOnMousemove]);\n\n // when menu is open, watch the window for mousedown events so that we can\n // close it when we detect a click outside\n const closeMenuOnClickOutside = React.useCallback((event) => {\n if (isShowingMenu) {\n if (!containerRef.current?.contains(event.target)) {\n return closeMenu();\n }\n }\n }, [isShowingMenu, closeMenu]);\n\n React.useEffect(() => {\n window.addEventListener('mousedown', closeMenuOnClickOutside);\n return () => {\n window.removeEventListener('mousedown', closeMenuOnClickOutside);\n };\n }, [closeMenuOnClickOutside]);\n\n // when menu is open, close it when Escape or arrow keys are pressed\n const handleKeydown = React.useCallback((event) => {\n if (isShowingMenu) {\n if (event.key === 'Escape') {\n closeMenu({resetCursor: true});\n return;\n }\n\n let arrowKeys = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (arrowKeys.includes(event.key)) {\n closeMenu();\n }\n }\n }, [isShowingMenu, closeMenu]);\n\n React.useEffect(() => {\n window.addEventListener('keydown', handleKeydown);\n return () => {\n window.removeEventListener('keydown', handleKeydown);\n };\n });\n\n // build up the card menu based on registered nodes and current search\n React.useEffect(() => {\n const cardNodes = getEditorCardNodes(editor);\n setCardMenu(buildCardMenu(cardNodes, {insert}));\n }, [editor, insert, setCardMenu]);\n\n const style = {\n top: `${topPosition}px`\n };\n\n if (cardMenu.menu?.size === 0) {\n return null;\n }\n\n if (isShowingButton) {\n return (\n <div className=\"absolute\" style={style} ref={containerRef} data-kg-plus-container>\n {isShowingButton && <PlusButton onClick={openMenu} />}\n {isShowingMenu && <PlusMenu><CardMenu menu={cardMenu.menu} insert={insert} /></PlusMenu>}\n </div>\n );\n } else {\n return null;\n }\n}\n\nexport default function PlusCardMenuPlugin() {\n const [editor] = useLexicalComposerContext();\n return usePlusCardMenu(editor);\n}\n","export function SlashMenu({children}) {\n return (\n <div data-kg-slash-menu>\n {children}\n </div>\n );\n}\n","import React from 'react';\nimport {$getSelection, $isParagraphNode, $isRangeSelection, COMMAND_PRIORITY_HIGH, KEY_ARROW_DOWN_COMMAND, KEY_ARROW_LEFT_COMMAND, KEY_ARROW_RIGHT_COMMAND, KEY_ARROW_UP_COMMAND, KEY_ENTER_COMMAND} from 'lexical';\nimport {mergeRegister} from '@lexical/utils';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {SlashMenu} from '../components/ui/SlashMenu';\nimport {CardMenu} from '../components/ui/CardMenu';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {getEditorCardNodes} from '../utils/getEditorCardNodes';\nimport {buildCardMenu} from '../utils/buildCardMenu';\n\nfunction useSlashCardMenu(editor) {\n const [isShowingMenu, setIsShowingMenu] = React.useState(false);\n const [topPosition, setTopPosition] = React.useState(0);\n const [query, setQuery] = React.useState('');\n const [commandParams, setCommandParams] = React.useState([]);\n const [cardMenu, setCardMenu] = React.useState({});\n const [selectedItemIndex, setSelectedItemIndex] = React.useState(0);\n const cachedRange = React.useRef(null);\n const containerRef = React.useRef(null);\n\n function getTopPosition(elem) {\n const elemRect = elem.getBoundingClientRect();\n const containerRect = elem.parentNode.getBoundingClientRect();\n\n return elemRect.bottom - containerRect.top;\n }\n\n function moveCursorToCachedRange() {\n if (!cachedRange.current) {\n return;\n }\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(cachedRange.current);\n }\n\n const openMenu = React.useCallback(() => {\n setIsShowingMenu(true);\n }, [setIsShowingMenu]);\n\n const closeMenu = React.useCallback(({resetCursor = false} = {}) => {\n if (resetCursor) {\n moveCursorToCachedRange();\n }\n setIsShowingMenu(false);\n setQuery('');\n setCommandParams([]);\n cachedRange.current = null;\n }, [setIsShowingMenu]);\n\n const insert = React.useCallback((insertCommand, {insertParams = {}, queryParams = {}} = {}) => {\n const dataset = {...insertParams};\n\n for (let i = 0; i < queryParams.length; i++) {\n if (commandParams[i]) {\n const key = queryParams[i];\n const value = commandParams[i];\n dataset[key] = value;\n }\n }\n\n editor.update(() => {\n const selection = $getSelection();\n selection.modify('extend', true, 'lineboundary');\n selection.deleteCharacter(true);\n editor.dispatchCommand(insertCommand, dataset);\n });\n\n closeMenu();\n }, [editor, commandParams, closeMenu]);\n\n // close menu if selection moves out of the slash command\n // update the search query when typing\n React.useEffect(() => {\n return editor.registerUpdateListener(() => {\n editor.getEditorState().read(() => {\n // don't do anything when using IME input\n if (editor.isComposing()) {\n return;\n }\n\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection) || !selection.type === 'text' || !selection.isCollapsed()) {\n closeMenu();\n return;\n }\n\n const node = getSelectedNode(selection).getTopLevelElement();\n\n if (!node || !$isParagraphNode(node) || !node.getTextContent().startsWith('/')) {\n closeMenu();\n return;\n }\n\n const nativeSelection = window.getSelection();\n const anchorNode = nativeSelection.anchorNode;\n const rootElement = editor.getRootElement();\n\n if (anchorNode?.nodeType !== Node.TEXT_NODE || !rootElement.contains(anchorNode)) {\n closeMenu();\n return;\n }\n\n // store the cached range so we can reset the cursor when Escape is pressed\n // because that will _always_ blur the contenteditable which we don't want\n cachedRange.current = nativeSelection.getRangeAt(0);\n\n // capture text after the / as a query for filtering cards\n const command = node.getTextContent().slice(1);\n const [q, ...cps] = command.split(' ');\n setQuery(q);\n setCommandParams(cps);\n });\n });\n }, [editor, closeMenu, setQuery, setCommandParams]);\n\n // open the menu when / is pressed on a blank paragraph\n React.useEffect(() => {\n if (isShowingMenu) {\n return;\n }\n\n const triggerMenu = (event) => {\n const {key, isComposing, shiftKey, ctrlKey, metaKey, altKey} = event;\n\n // we only care about / presses when not composing or pressed with modifiers\n if (key !== '/' || isComposing || shiftKey || ctrlKey || metaKey || altKey) {\n return;\n }\n\n // ignore if editor doesn't have focus\n const rootElement = editor.getRootElement();\n if (!rootElement.matches(':focus')) {\n return;\n }\n\n // potentially valid / press\n editor.getEditorState().read(() => {\n const selection = $getSelection();\n const node = getSelectedNode(selection).getTopLevelElement();\n\n // ignore if selection is not on a top-level paragraph\n if (!node || !$isParagraphNode(node)) {\n return;\n }\n\n const paragraphSize = node.getTextContentSize();\n const isEmptyParagraph = selection.isCollapsed() && node.getTextContent() === '';\n // if full paragraph is selected, pressing / will replace it so that's a valid press\n const isFullParagraphSelection = !selection.isCollapsed() && (\n (selection.anchor.offset === 0 && selection.focus.offset === paragraphSize) ||\n (selection.anchor.offset === paragraphSize && selection.focus.offset === 0)\n );\n\n if (isEmptyParagraph || isFullParagraphSelection) {\n const nativeSelection = window.getSelection();\n let selectionElem;\n\n if (nativeSelection.anchorNode.nodeType === Node.TEXT_NODE) {\n selectionElem = nativeSelection.anchorNode.parentNode.closest('p');\n } else {\n selectionElem = nativeSelection.anchorNode;\n }\n\n setTopPosition(getTopPosition(selectionElem));\n openMenu();\n }\n });\n };\n\n window.addEventListener('keypress', triggerMenu);\n return () => {\n window.removeEventListener('keypress', triggerMenu);\n };\n }, [editor, isShowingMenu, setTopPosition, openMenu]);\n\n // close the menu when Escape is pressed\n React.useEffect(() => {\n if (!isShowingMenu) {\n return;\n }\n\n const handleEscape = (event) => {\n if (event.key === 'Escape') {\n closeMenu({resetCursor: true});\n return;\n }\n };\n\n window.addEventListener('keydown', handleEscape);\n return () => {\n window.removeEventListener('keydown', handleEscape);\n };\n }, [isShowingMenu, closeMenu]);\n\n // close the menu on clicks outside the menu\n React.useEffect(() => {\n if (!isShowingMenu) {\n return;\n }\n\n const handleMousedown = (event) => {\n if (containerRef.current?.contains(event.target)) {\n return;\n }\n\n closeMenu();\n };\n\n window.addEventListener('mousedown', handleMousedown);\n return () => {\n window.removeEventListener('mousedown', handleMousedown);\n };\n }, [isShowingMenu, closeMenu]);\n\n // capture key navigation to move/insert selected card item\n React.useEffect(() => {\n if (!isShowingMenu) {\n return;\n }\n\n const moveUp = (event) => {\n if (selectedItemIndex === 0) {\n setSelectedItemIndex(cardMenu.maxItemIndex);\n } else {\n setSelectedItemIndex(selectedItemIndex - 1);\n }\n\n event.preventDefault();\n return true;\n };\n\n const moveDown = (event) => {\n if (selectedItemIndex === cardMenu.maxItemIndex) {\n setSelectedItemIndex(0);\n } else {\n setSelectedItemIndex(selectedItemIndex + 1);\n }\n\n event.preventDefault();\n return true;\n };\n\n const enter = (event) => {\n document.querySelector(`[data-kg-slash-menu] [data-kg-cardmenu-idx=\"${selectedItemIndex}\"]`)?.click();\n event.preventDefault();\n return true;\n };\n\n return mergeRegister(\n editor.registerCommand(\n KEY_ARROW_DOWN_COMMAND,\n moveDown,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_UP_COMMAND,\n moveUp,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_RIGHT_COMMAND,\n moveDown,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_LEFT_COMMAND,\n moveUp,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ENTER_COMMAND,\n enter,\n COMMAND_PRIORITY_HIGH\n )\n );\n }, [editor, isShowingMenu, cardMenu, selectedItemIndex]);\n\n // build up the card menu based on registered nodes and current search\n React.useEffect(() => {\n const cardNodes = getEditorCardNodes(editor);\n setCardMenu(buildCardMenu(cardNodes, {insert, query}));\n setSelectedItemIndex(0);\n }, [editor, query, insert, setCardMenu, setSelectedItemIndex]);\n\n if (cardMenu.menu?.size === 0) {\n return null;\n }\n\n if (isShowingMenu) {\n return (\n <div className=\"absolute\" style={{top: `${topPosition}px`}} ref={containerRef} data-kg-slash-container>\n <SlashMenu>\n <CardMenu menu={cardMenu.menu} selectedItemIndex={selectedItemIndex} insert={insert} />\n </SlashMenu>\n </div>\n );\n }\n\n return null;\n}\n\nexport default function SlashCardMenuPlugin() {\n const [editor] = useLexicalComposerContext();\n return useSlashCardMenu(editor);\n}\n","const VERTICAL_GAP = 10;\n\nexport function setFloatingElemPosition(\n targetRect,\n floatingElem,\n anchorElem,\n options = {}\n) {\n options = Object.assign({\n verticalGap: VERTICAL_GAP,\n controlOpacity: false\n }, options);\n\n const scrollerElem = anchorElem.parentElement;\n\n if (targetRect === null || !scrollerElem) {\n if (options.controlOpacity) {\n floatingElem.style.opacity = '0';\n }\n floatingElem.style.top = '-10000px';\n floatingElem.style.left = '-10000px';\n\n return;\n }\n\n const floatingElemRect = floatingElem.getBoundingClientRect();\n const anchorElementRect = anchorElem.getBoundingClientRect();\n const editorScrollerRect = scrollerElem.getBoundingClientRect();\n\n let top = targetRect.top - floatingElemRect.height - options.verticalGap;\n let left = targetRect.left + targetRect.width / 2 - floatingElemRect.width / 2;\n\n if (left < editorScrollerRect.left) {\n left = editorScrollerRect.left;\n }\n\n if (left + floatingElemRect.width > editorScrollerRect.right) {\n left = editorScrollerRect.right - floatingElemRect.width;\n }\n\n top -= anchorElementRect.top;\n left -= anchorElementRect.left;\n\n if (options.controlOpacity) {\n floatingElem.style.opacity = '1';\n }\n floatingElem.style.top = `${top}px`;\n floatingElem.style.left = `${left}px`;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nexport function getDOMRangeRect(\n nativeSelection,\n rootElement,\n) {\n const domRange = nativeSelection.getRangeAt(0);\n\n let rect;\n\n if (nativeSelection.anchorNode === rootElement) {\n let inner = rootElement;\n while (inner.firstElementChild != null) { // eslint-disable-line eqeqeq\n inner = inner.firstElementChild;\n }\n rect = inner.getBoundingClientRect();\n } else {\n rect = domRange.getBoundingClientRect();\n }\n\n return rect;\n}\n","export function getScrollParent(node) {\n const isElement = node instanceof HTMLElement;\n const overflowY = isElement && window.getComputedStyle(node).overflowY;\n const isScrollable = overflowY !== 'visible' && overflowY !== 'hidden';\n\n if (!node) {\n return null;\n } else if (isScrollable && node.scrollHeight >= node.clientHeight) {\n return node;\n }\n\n return getScrollParent(node.parentNode) || document.body;\n}\n","import React, {useEffect} from 'react';\nimport {createPortal} from 'react-dom';\nimport {\n $createParagraphNode,\n $getSelection,\n $isRangeSelection,\n $isTextNode,\n COMMAND_PRIORITY_LOW,\n FORMAT_TEXT_COMMAND,\n SELECTION_CHANGE_COMMAND\n} from 'lexical';\nimport {\n $wrapNodes\n} from '@lexical/selection';\nimport {\n $createHeadingNode,\n $isHeadingNode,\n $createQuoteNode\n} from '@lexical/rich-text';\nimport {\n $isListNode,\n ListNode\n} from '@lexical/list';\nimport {\n $getNearestNodeOfType,\n mergeRegister\n} from '@lexical/utils';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$createAsideNode} from '../nodes/AsideNode';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {setFloatingElemPosition} from '../utils/setFloatingElemPosition';\nimport {getDOMRangeRect} from '../utils/getDOMRangeRect';\nimport {getScrollParent} from '../utils/getScrollParent';\nimport {\n ToolbarMenu,\n ToolbarMenuItem,\n ToolbarMenuSeparator\n} from '../components/ui/ToolbarMenu';\n\nconst blockTypeToBlockName = {\n bullet: 'Bulleted List',\n check: 'Check List',\n code: 'Code Block',\n h1: 'Heading 1',\n h2: 'Heading 2',\n h3: 'Heading 3',\n h4: 'Heading 4',\n h5: 'Heading 5',\n h6: 'Heading 6',\n number: 'Numbered List',\n paragraph: 'Normal',\n quote: 'Quote',\n aside: 'Aside'\n};\n\nfunction FloatingFormatToolbar({isText, editor, anchorElem, blockType, isBold, isItalic}) {\n const [stickyToolbar, setStickyToolbar] = React.useState(false);\n const toolbarRef = React.useRef(null);\n // const [isVisible, setIsVisible] = React.useState(false);\n\n const formatParagraph = () => {\n if (blockType !== 'paragraph') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createParagraphNode());\n }\n });\n }\n };\n\n const formatHeading = (headingSize) => {\n if (blockType !== headingSize) {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createHeadingNode(headingSize));\n }\n });\n }\n };\n\n const formatQuote = () => {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n if (blockType === 'quote') {\n $wrapNodes(selection, () => $createAsideNode());\n } else if (blockType === 'aside') {\n $wrapNodes(selection, () => $createParagraphNode());\n } else {\n $wrapNodes(selection, () => $createQuoteNode());\n }\n }\n });\n };\n\n const updateFloatingToolbar = React.useCallback(() => {\n const toolbarElement = toolbarRef.current;\n\n if (!toolbarElement) {\n return;\n }\n\n const selection = $getSelection();\n const nativeSelection = window.getSelection();\n const rootElement = editor.getRootElement();\n\n if (\n selection !== null &&\n nativeSelection !== null &&\n !nativeSelection.isCollapsed &&\n rootElement !== null &&\n rootElement.contains(nativeSelection.anchorNode)\n ) {\n const rangeRect = getDOMRangeRect(nativeSelection, rootElement);\n if (!stickyToolbar) {\n setFloatingElemPosition(rangeRect, toolbarElement, anchorElem);\n }\n }\n }, [editor, anchorElem, stickyToolbar]);\n\n const toggleVis = React.useCallback(() => {\n if (isText !== false) {\n toolbarRef.current.style.opacity = '1';\n }\n }, [isText]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n document.addEventListener('mouseup', toggleVis);\n return () => {\n document.removeEventListener('mouseup', toggleVis);\n };\n }, [toggleVis, editor, updateFloatingToolbar]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n const shiftUp = (e) => {\n if (e.key === 'Shift') {\n toggleVis();\n }\n };\n document.addEventListener('keyup', shiftUp);\n return () => {\n document.removeEventListener('keyup', shiftUp);\n };\n }, [toggleVis, editor, updateFloatingToolbar]);\n\n React.useEffect(() => {\n const scrollElement = getScrollParent(anchorElem);\n\n const update = () => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n };\n\n window.addEventListener('resize', update);\n if (scrollElement) {\n scrollElement.addEventListener('scroll', update);\n }\n\n return () => {\n window.removeEventListener('resize', update);\n if (scrollElement) {\n scrollElement.removeEventListener('scroll', update);\n }\n };\n }, [editor, updateFloatingToolbar, anchorElem]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n\n return mergeRegister(\n editor.registerUpdateListener(({editorState}) => {\n editorState.read(() => {\n updateFloatingToolbar();\n });\n }),\n\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n updateFloatingToolbar();\n return false;\n },\n COMMAND_PRIORITY_LOW\n )\n );\n }, [editor, updateFloatingToolbar]);\n\n return (\n <div className={`absolute`} ref={toolbarRef} data-kg-floating-toolbar style={{opacity: 0}}>\n <ToolbarMenu>\n <ToolbarMenuItem label=\"Format text as bold\" isActive={isBold} icon=\"bold\" onClick={() => {\n setStickyToolbar(true);\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold');\n }} data-kg-toolbar-button=\"bold\" />\n <ToolbarMenuItem label=\"Format text as italics\" isActive={isItalic} icon=\"italic\" onClick={() => {\n setStickyToolbar(true);\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic');\n }} data-kg-toolbar-button=\"italic\" />\n <ToolbarMenuItem label=\"Toggle heading 1\" isActive={blockType === 'h2'} icon=\"headingOne\" onClick={() => {\n (blockType === 'h2' ? formatParagraph() : formatHeading('h2'));\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"h2\" />\n <ToolbarMenuItem label=\"Toggle heading 2\" isActive={blockType === 'h3'} icon=\"headingTwo\" onClick={() => {\n (blockType === 'h3' ? formatParagraph() : formatHeading('h3'));\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"h3\" />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Toggle blockquote\" isActive={blockType === 'quote' || blockType === 'aside'} icon={blockType === 'aside' ? 'quoteOne' : 'quoteTwo'} onClick={() => {\n (formatQuote());\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"quote\" />\n </ToolbarMenu>\n </div>\n );\n}\n\nfunction useFloatingFormatToolbar(editor, anchorElem) {\n const [isText, setIsText] = React.useState(false);\n const [isBold, setIsBold] = React.useState(false);\n const [isItalic, setIsItalic] = React.useState(false);\n const [blockType, setBlockType] = React.useState('paragraph');\n\n const updatePopup = React.useCallback(() => {\n editor.getEditorState().read(() => {\n // Should not to pop up the floating toolbar when using IME input\n if (editor.isComposing()) {\n return;\n }\n const selection = $getSelection();\n const nativeSelection = window.getSelection();\n const rootElement = editor.getRootElement();\n\n if (\n nativeSelection !== null &&\n (\n !$isRangeSelection(selection) ||\n rootElement === null ||\n !rootElement.contains(nativeSelection.anchorNode)\n )\n ) {\n setIsText(false);\n return;\n }\n\n if (!$isRangeSelection(selection)) {\n return;\n }\n\n const anchorNode = getSelectedNode(selection);\n const element = anchorNode.getKey() === 'root'\n ? anchorNode\n : anchorNode.getTopLevelElementOrThrow();\n const elementKey = element.getKey();\n const elementDOM = editor.getElementByKey(elementKey);\n\n // update text format\n setIsBold(selection.hasFormat('bold'));\n setIsItalic(selection.hasFormat('italic'));\n\n if (elementDOM !== null) {\n if ($isListNode(element)) {\n const parentList = $getNearestNodeOfType(anchorNode, ListNode);\n const type = parentList\n ? parentList.getListType()\n : element.getListType();\n setBlockType(type);\n } else {\n const type = $isHeadingNode(element)\n ? element.getTag()\n : element.getType();\n\n if (type in blockTypeToBlockName) {\n setBlockType(type);\n }\n }\n }\n\n if (selection.getTextContent() !== '') {\n setIsText($isTextNode(anchorNode));\n } else {\n setIsText(false);\n }\n });\n }, [editor]);\n\n useEffect(() => {\n document.addEventListener('selectionchange', updatePopup);\n return () => {\n document.removeEventListener('selectionchange', updatePopup);\n };\n }, [updatePopup]);\n\n useEffect(() => {\n return editor.registerUpdateListener(() => {\n updatePopup();\n });\n }, [editor, updatePopup]);\n\n if (!isText) {\n return;\n }\n\n return createPortal(\n <FloatingFormatToolbar\n isText={isText}\n editor={editor}\n anchorElem={anchorElem}\n blockType={blockType}\n isBold={isBold}\n isItalic={isItalic}\n />,\n anchorElem\n );\n}\n\nexport default function FloatingFormatToolbarPlugin({anchorElem = document.body}) {\n const [editor] = useLexicalComposerContext();\n return useFloatingFormatToolbar(editor, anchorElem);\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0cm9rZS13aWR0aD0iMS41IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgPHRpdGxlPmtnLXNlYXJjaDwvdGl0bGU+CiAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNMS40NzIgMTMuMzU3YTkuMDYzIDkuMDYzIDAgMSAwIDE2LjY4Mi03LjA5IDkuMDYzIDkuMDYzIDAgMSAwLTE2LjY4MiA3LjA5Wm0xNC43NDkgMi44NjMgNy4wMjkgNy4wMyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0cm9rZS13aWR0aD0iMS41IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTS43NSAyMy4yNDlsMjIuNS0yMi41TTIzLjI1IDIzLjI0OUwuNzUuNzQ5Ii8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzIgMzIiPgogIDx0aXRsZT51bnNwbGFzaC1oZWFydDwvdGl0bGU+CiAgPHBhdGggZD0iTTE3LjQgMjljLS44LjgtMiAuOC0yLjggMEwyLjMgMTYuMkMtLjggMTMuMS0uOCA4IDIuMyA0LjhjMy4xLTMuMSA4LjItMy4xIDExLjMgMEwxNiA3LjZsMi4zLTIuOGMzLjEtMy4xIDguMi0zLjEgMTEuMyAwIDMuMSAzLjEgMy4xIDguMiAwIDExLjRMMTcuNCAyOXoiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICA8dGl0bGU+ZG93bmxvYWQ8L3RpdGxlPgogICAgPHBhdGggZD0iTTIwIDUuNWwtOCA4LTgtOG0tMy41IDEzaDIzIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGZpbGw9Im5vbmUiLz4KPC9zdmc+Cg==\"","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {ReactComponent as UnsplashIcon} from '../../../assets/icons/kg-card-type-unsplash.svg';\nimport {ReactComponent as SearchIcon} from '../../../assets/icons/kg-search.svg';\nimport {ReactComponent as CloseIcon} from '../../../assets/icons/kg-close.svg';\nimport {ReactComponent as UnsplashHeartIcon} from '../../../assets/icons/kg-unsplash-heart.svg';\nimport {ReactComponent as DownloadIcon} from '../../../assets/icons/kg-download.svg';\n\nconst demoDataset = [\n {\n id: 1,\n imgUrl: 'https://images.unsplash.com/photo-1574948495680-f67aab1ec3ed?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDMyMXx8c3VtbWVyfGVufDB8fHx8MTY2OTEwNDUwNw&ixlib=rb-4.0.3&q=80&w=1200',\n caption: 'Caption 1'\n },\n {\n id: 2,\n imgUrl: 'https://images.unsplash.com/photo-1595905710073-c5bf3611d945?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDIzfHxzZWElMjBncmVlbnxlbnwwfHx8fDE2NjkxMDU3MTA&ixlib=rb-4.0.3&q=80&w=1200',\n caption: 'Caption 2'\n },\n {\n id: 3,\n imgUrl: 'https://images.unsplash.com/photo-1526676537331-7747bf8278fc?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDEyfHxhdGhsZXRpY3MlMjB0cmFja3xlbnwwfHx8fDE2NjkxMDU1MTA&ixlib=rb-4.0.3&q=80&w=1200',\n caption: 'Caption 3'\n },\n {\n id: 4,\n imgUrl: 'https://images.unsplash.com/photo-1600185365483-26d7a4cc7519?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDE0MHx8cnVubmluZ3xlbnwwfHx8fDE2NjkxMDM3MTE&ixlib=rb-4.0.3&q=80&w=1200',\n caption: 'Caption 4'\n },\n {\n id: 5,\n imgUrl: 'https://images.unsplash.com/photo-1668584054035-f5ba7d426401?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8YWxsfDI3Mnx8fHx8fDJ8fDE2NjkxMDUxNTA&ixlib=rb-4.0.3&q=80&w=1200',\n caption: 'Caption 5'\n },\n {\n id: 6,\n imgUrl: 'https://images.unsplash.com/photo-1668656690938-bbb5ec240ad1?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8YWxsfDMwNHx8fHx8fDJ8fDE2NjkxMDUyMTQ&ixlib=rb-4.0.3&q=80&w=1200',\n caption: 'Caption 6'\n },\n {\n id: 7,\n imgUrl: 'https://images.unsplash.com/photo-1668952410266-e86775275752?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8YWxsfDExN3x8fHx8fDJ8fDE2NjkxMDQ2Nzk&ixlib=rb-4.0.3&q=80&w=1200',\n caption: 'Caption 7'\n },\n {\n id: 8,\n imgUrl: 'https://images.unsplash.com/photo-1597305877032-0668b3c6413a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDR8fHBsYW50fGVufDB8fHx8MTY2OTEwNjIwOA&ixlib=rb-4.0.3&q=80&w=1200',\n caption: 'Caption 8'\n },\n {\n id: 9,\n imgUrl: 'https://images.unsplash.com/photo-1591087068118-0e6b440716c8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDE4OXx8b3JhbmdlfGVufDB8fHx8MTY2OTEwNTM4NQ&ixlib=rb-4.0.3&q=80&w=1200',\n caption: 'Caption 9'\n },\n {\n id: 10,\n imgUrl: 'https://images.unsplash.com/photo-1483921020237-2ff51e8e4b22?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=3570&q=80',\n caption: 'Caption 10'\n }\n];\n\n// todo replace with better algo\nconst divideArray = (arr, n) => {\n const len = arr.length;\n const out = [];\n let i = 0;\n while (i < len) {\n // eslint-disable-next-line no-plusplus\n const size = Math.ceil((len - i) / n--);\n out.push(arr.slice(i, i += size));\n }\n return out;\n};\n\nexport function UnsplashSelector({toggle, insertImage, zoomedUrl, closeModal}) {\n const [zoomedImg, setZoomedImg] = React.useState(zoomedUrl || null);\n const selectImg = (imgUrl) => {\n setZoomedImg(imgUrl);\n };\n return (\n <>\n <div className=\"bg-black opacity-60 inset-0 h-[100vh] absolute\"></div>\n <div data-kg-modal=\"unsplash\" className=\"bg-white inset-8 rounded z-40 overflow-hidden absolute shadow-xl\">\n <button className=\"absolute top-6 right-6 cursor-pointer\">\n <CloseIcon \n data-kg-modal-close-button \n onClick={() => closeModal()} \n className=\"w-4 h-4 text-grey-400 stroke-2\" \n />\n </button>\n <div className=\"flex flex-col h-full\">\n <header className=\"flex shrink-0 justify-between py-10 px-20 items-center\">\n <h1 className=\"flex items-center gap-2 text-black text-3xl font-bold font-sans\">\n <UnsplashIcon className=\"mb-1\" />\n Unsplash\n </h1>\n <div className=\"relative w-full max-w-sm\">\n <SearchIcon className=\"absolute top-1/2 left-4 w-4 h-4 -translate-y-2 text-grey-700\" />\n <input className=\"pr-8 pl-10 border border-grey-300 rounded-full font-sans text-md font-normal text-black h-10 w-full focus:border-grey-400 focus-visible:outline-none\" placeholder=\"Search free high-resolution photos\" />\n </div>\n </header>\n <div className=\"relative h-full overflow-hidden\">\n <div className={`overflow-auto w-full h-full px-20 flex justify-center ${zoomedImg ? 'pb-10' : ''}`}>\n {zoomedImg ?\n <UnsplashZoomed imgUrl={zoomedImg} setZoomedImg={setZoomedImg} selectImg={selectImg} insertImage={insertImage} />\n :\n <UnsplashGallery selectImg={selectImg} insertImage={insertImage} dataset={demoDataset} />\n }\n </div>\n </div>\n </div>\n </div>\n </>\n );\n}\n\nfunction UnsplashGallery({insertImage, selectImg, dataset}) {\n const newArray = divideArray(dataset, 3);\n return newArray.map((array, index) => (\n <div data-kg-unsplash-gallery key={index} className=\"flex flex-col justify-start mr-6 grow basis-0 last-of-type:mr-0\">\n {array.map(item => (\n <UnsplashImg key={item.id} imgUrl={item.imgUrl} caption={item.caption} selectImg={selectImg} insertImage={insertImage} />\n ))}\n </div>\n ));\n}\n\nfunction UnsplashZoomed({imgUrl, setZoomedImg, insertImage, selectImg}) {\n return (\n <div data-kg-unsplash-zoomed onClick={() => setZoomedImg(null)} className=\"flex justify-center grow basis-0 h-full\">\n <UnsplashImg zoomed=\"true\" imgUrl={imgUrl} insertImage={insertImage} selectImg={selectImg} />\n </div>\n );\n}\n\nfunction UnsplashImg({imgUrl, zoomed, insertImage, selectImg}) {\n return (\n <div data-kg-unsplash-gallery-item onClick={() => selectImg(imgUrl)} className={`relative block mb-6 bg-grey-100 ${zoomed ? 'cursor-zoom-out w-[max-content] h-full' : 'cursor-zoom-in w-full'}`}>\n <img src={imgUrl} alt=\"Unsplash\" className={`${zoomed ? 'object-contain w-auto h-full' : ''}`} />\n <div className=\"absolute inset-0 flex flex-col justify-between p-5 transition-all ease-in-out bg-gradient-to-b from-black/5 via-black/5 to-black/30 opacity-0 hover:opacity-100\">\n <div className=\"flex items-center justify-end\">\n <UnsplashButton icon=\"heart\" label=\"127\" />\n <UnsplashButton icon=\"download\" />\n </div>\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center\">\n <img className=\"w-8 h-8 rounded-full mr-2\" src=\"https://images.unsplash.com/profile-1562493255799-d28c159b565e?auto=format&fit=crop&w=32&h=32&q=60&crop=faces&bg=fff\" alt=\"author\" />\n <div className=\"mr-2 font-sans text-white text-sm font-medium truncate\">Richard de Ruijter</div>\n </div>\n <UnsplashButton data-kg-unsplash-insert-button onClick={() => {\n insertImage({\n src: imgUrl\n });\n }} label=\"Insert image\" />\n </div>\n </div>\n </div>\n );\n}\n\nconst BUTTON_ICONS = {\n heart: UnsplashHeartIcon,\n download: DownloadIcon\n};\n\nfunction UnsplashButton({icon, label, ...props}) {\n const Icon = BUTTON_ICONS[icon];\n\n return (\n <button \n type=\"button\" \n className=\"flex items-center shrink-0 h-8 py-2 px-3 font-sans text-sm text-grey-700 font-medium leading-6 bg-white rounded-md opacity-90 transition-all ease-in-out hover:opacity-100 first-of-type:mr-3 cursor-pointer\" \n {...props}\n >\n {icon && <Icon className={`w-4 h-4 fill-red stroke-[3px] ${label && 'mr-1'}`} />}\n {label && <span>{label}</span>}\n </button>\n );\n}\n\nUnsplashSelector.propTypes = {\n selectImg: PropTypes.func,\n insertImage: PropTypes.func,\n zoomedUrl: PropTypes.string\n};\n\nUnsplashZoomed.propTypes = {\n imgUrl: PropTypes.string\n};\n","// Portal container that can be used to render floating elements, outside of the editor\nimport {createPortal} from 'react-dom';\nimport {$getNodeByKey, $createNodeSelection, $setSelection} from 'lexical';\nimport {UnsplashSelector} from './file-selectors/UnsplashSelector';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {getImageDimensions} from '../../utils/getImageDimensions';\n\nconst UnsplashModal = ({service, container, nodeKey, handleModalClose}) => {\n const [editor] = useLexicalComposerContext();\n const portalContainer = container || document.querySelector('.koenig-lexical');\n\n const closeModalHandler = () => {\n // remove the image node from the editor\n if (nodeKey) {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.remove();\n });\n }\n handleModalClose(false);\n };\n\n const insertImageToNode = async (image) => {\n const {height, width} = await getImageDimensions(image.src);\n if (image.src) {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setSrc(image.src);\n node.setImgHeight(height);\n node.setImgWidth(width);\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(node.getKey());\n $setSelection(nodeSelection);\n //\n });\n handleModalClose(false);\n }\n };\n\n if (!portalContainer) {\n return null;\n }\n\n const ModalService = () => {\n if (service === 'unsplash') {\n return <UnsplashSelector closeModal={closeModalHandler} insertImage={insertImageToNode} />;\n }\n };\n return createPortal(<ModalService/>, portalContainer);\n};\n\nexport default UnsplashModal;\n","import React from 'react';\nimport {\n $getSelection,\n COMMAND_PRIORITY_HIGH,\n $isRangeSelection,\n $createNodeSelection,\n $setSelection,\n $isParagraphNode\n} from 'lexical';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {mergeRegister} from '@lexical/utils';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport {$createImageNode, ImageNode, INSERT_IMAGE_COMMAND} from '../nodes/ImageNode';\nimport {imageUploadHandler} from '../utils/imageUploadHandler';\nimport UnsplashModal from '../components/ui/UnsplashModal';\n\nexport const ImagePlugin = () => {\n const [editor] = useLexicalComposerContext();\n const {imageUploader} = React.useContext(KoenigComposerContext);\n const [selector, setSelector] = React.useState(null);\n const [selectedKey, setSelectedKey] = React.useState(null);\n const [showModal, setShowModal] = React.useState(false);\n\n const handleImageUpload = React.useCallback(async (files, imageNodeKey) => {\n if (files?.length > 0) {\n return await imageUploadHandler(files, imageNodeKey, editor, imageUploader);\n }\n }, [imageUploader, editor]);\n\n React.useEffect(() => {\n if (!editor.hasNodes([ImageNode])){\n console.error('ImagePlugin: ImageNode not registered'); // eslint-disable-line no-console\n return;\n }\n return mergeRegister(\n editor.registerCommand(\n INSERT_IMAGE_COMMAND,\n async (dataset) => {\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n const focusNode = selection.focus.getNode();\n\n if (focusNode !== null) {\n const imageNode = $createImageNode(dataset);\n\n // fires the unsplash selector\n if (dataset?.triggerFileSelector === 'unsplash') {\n setSelectedKey(imageNode.getKey());\n setShowModal(true);\n setSelector('unsplash');\n }\n\n if (!dataset.src) {\n const imageNodeKey = imageNode.getKey();\n handleImageUpload(dataset, imageNodeKey);\n }\n\n // insert a paragraph if this will be the last card and\n // we're not already on a blank paragraph so we always\n // have a trailing paragraph in the doc\n \n const selectedNode = selection.focus.getNode();\n const selectedIsBlankParagraph = $isParagraphNode(selectedNode) && selectedNode.getTextContent() === '';\n const nextNode = selectedNode.getTopLevelElementOrThrow().getNextSibling();\n if (!selectedIsBlankParagraph && !nextNode) {\n selection.insertParagraph();\n }\n\n selection.focus\n .getNode()\n .getTopLevelElementOrThrow()\n .insertBefore(imageNode);\n\n // move the focus away from the paragraph to the inserted\n // decorator node\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(imageNode.getKey());\n $setSelection(nodeSelection);\n }\n\n return true;\n },\n COMMAND_PRIORITY_HIGH\n )\n );\n }, [editor, imageUploader, handleImageUpload]);\n\n if (showModal && selector) {\n return (<UnsplashModal\n service={selector} \n nodeKey={selectedKey}\n handleModalClose={setShowModal}\n />);\n }\n\n return null;\n};\n\nexport default ImagePlugin;\n","import React from 'react';\nimport {DRAG_DROP_PASTE} from '@lexical/rich-text';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {COMMAND_PRIORITY_LOW} from 'lexical';\nimport {getEditorCardNodes} from '../utils/getEditorCardNodes';\nimport {INSERT_IMAGE_COMMAND} from '../nodes/ImageNode';\n\nfunction isMimeType(file, acceptableMimeTypes) {\n const mimeType = file.type;\n let key = Object.keys(acceptableMimeTypes).find(k => acceptableMimeTypes[k].includes(mimeType));\n return key;\n}\n \nfunction mediaFileReader(files, acceptableMimeTypes) {\n const filesIterator = files[Symbol.iterator]();\n return new Promise((resolve, reject) => {\n const processed = [];\n let node;\n const handleNextFile = () => {\n const {done, value: file} = filesIterator.next();\n if (done) {\n return resolve({processed, node});\n }\n const fileReader = new FileReader();\n fileReader.addEventListener('error', reject);\n fileReader.addEventListener('load', () => {\n const result = fileReader.result;\n if (typeof result === 'string') {\n processed.push(file);\n }\n handleNextFile();\n });\n const nodeType = isMimeType(file, acceptableMimeTypes);\n if (nodeType) {\n fileReader.readAsDataURL(file);\n node = nodeType;\n } else {\n console.error('unsupported file type'); // eslint-disable-line no-console\n handleNextFile();\n }\n };\n handleNextFile();\n });\n}\n\nasync function getListofAcceptableMimeTypes(editor) {\n const nodes = getEditorCardNodes(editor);\n let acceptableMimeTypes = {};\n for (const [nodeType, node] of nodes) {\n if (nodeType && node.mimeTypes) {\n acceptableMimeTypes[nodeType] = node.mimeTypes;\n }\n }\n return {\n acceptableMimeTypes\n };\n}\n\nfunction DragDropPastePlugin() {\n const [editor] = useLexicalComposerContext();\n\n const handleDrag = React.useCallback((e) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n const handleDrop = React.useCallback(async (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.dataTransfer.files) {\n editor.dispatchCommand(DRAG_DROP_PASTE, e.dataTransfer.files);\n }\n }, [editor]);\n\n React.useEffect(() => {\n // TODO: consuming app should be able to configure the element where they want to listen to the drag and drop events\n const dropTarget = document.querySelector('.gh-koenig-editor') || document;\n dropTarget.addEventListener('dragover', handleDrag);\n dropTarget.addEventListener('drop', handleDrop);\n\n return () => {\n dropTarget.removeEventListener('dragover', handleDrag);\n dropTarget.removeEventListener('drop', handleDrop);\n };\n }, [handleDrop, handleDrag]);\n\n const handleFileUpload = React.useCallback(async (files) => {\n const {acceptableMimeTypes} = await getListofAcceptableMimeTypes(editor);\n const {processed, node} = await mediaFileReader(files, acceptableMimeTypes);\n if (processed.length) {\n if (node === 'image') {\n editor.dispatchCommand(INSERT_IMAGE_COMMAND, processed);\n }\n }\n }, [editor]);\n\n React.useEffect(() => {\n return editor.registerCommand(\n DRAG_DROP_PASTE,\n async (files) => {\n try {\n return await handleFileUpload(files);\n } catch (error) {\n console.error(error); // eslint-disable-line no-console\n }\n },\n COMMAND_PRIORITY_LOW \n );\n }, [editor, handleFileUpload]);\n return null;\n}\n\nexport default DragDropPastePlugin;\n","import {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$getSelection, $isParagraphNode, $isRangeSelection, COMMAND_PRIORITY_EDITOR} from 'lexical';\nimport {useEffect} from 'react';\nimport {$createHorizontalRuleNode, INSERT_HORIZONTAL_RULE_COMMAND} from '../nodes/HorizontalRuleNode';\n\nexport const HorizontalRulePlugin = () => {\n const [editor] = useLexicalComposerContext();\n\n useEffect(() => {\n if (!editor.hasNodes([])) {\n console.error('HorizontalRulePlugin: HorizontalRuleNode not registered'); // eslint-disable-line no-console\n return;\n }\n return editor.registerCommand(\n INSERT_HORIZONTAL_RULE_COMMAND,\n () => {\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n const focusNode = selection.focus.getNode();\n\n if (focusNode !== null) {\n const horizontalRuleNode = $createHorizontalRuleNode();\n\n // insert a paragraph unless we're already on a blank paragraph\n const selectedNode = selection.focus.getNode();\n if ($isParagraphNode(selectedNode) && selectedNode.getTextContent() !== '') {\n selection.insertParagraph();\n }\n\n // insert the horizontal rule before the current/inserted paragraph\n // so the cursor stays on the blank paragraph\n selection.focus\n .getNode()\n .getTopLevelElementOrThrow()\n .insertBefore(horizontalRuleNode);\n }\n\n return true;\n },\n COMMAND_PRIORITY_EDITOR\n );\n }, [editor]);\n\n return null;\n};\n\nexport default HorizontalRulePlugin;\n","export function EditorPlaceholder() {\n return (\n <div className=\"pointer-events-none absolute top-0 left-0 min-w-full cursor-text font-serif text-xl text-grey-500\">Begin writing your post...</div>\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"lexical\");function r(c,e=!0){if(c)return!1;c=t();e&&(c=c.trim());return\"\"===c}function t(){return h.$getRoot().getTextContent()}function u(c,e){if(!e||!r(c,!1))return!1;c=h.$getRoot().getChildren();e=c.length;if(1<e)return!1;for(let f=0;f<e;f++){var b=c[f];if(h.$isElementNode(b)){if(\"paragraph\"!==b.__type||0!==b.__indent)return!1;b=b.getChildren();let n=b.length;for(let p=0;p<n;p++)if(!h.$isTextNode(b[f]))return!1}}return!0}exports.$canShowPlaceholder=u;\nexports.$canShowPlaceholderCurry=function(c,e){return()=>u(c,e)};exports.$findTextIntersectionFromCharacters=function(c,e){var b=c.getFirstChild();c=0;a:for(;null!==b;){if(h.$isElementNode(b)){var f=b.getFirstChild();if(null!==f){b=f;continue}}else if(h.$isTextNode(b)){f=b.getTextContentSize();if(c+f>e)return{node:b,offset:e-c};c+=f}f=b.getNextSibling();if(null!==f)b=f;else{for(b=b.getParent();null!==b;){f=b.getNextSibling();if(null!==f){b=f;continue a}b=b.getParent()}break}}return null};\nexports.$isRootTextContentEmpty=r;exports.$isRootTextContentEmptyCurry=function(c,e){return()=>r(c,e)};exports.$rootTextContent=t;\nexports.registerLexicalTextEntity=function(c,e,b,f){let n=a=>{const d=h.$createTextNode(a.getTextContent());d.setFormat(a.getFormat());a.replace(d)},p=c.registerNodeTransform(h.TextNode,a=>{if(a.isSimpleText()){var d=a.getPreviousSibling(),l=a.getTextContent(),m=a;if(h.$isTextNode(d)){var k=d.getTextContent(),g=e(k+l);if(d instanceof b){if(null===g||0!==d.getLatest().__mode){n(d);return}g=g.end-k.length;if(0<g){m=l.slice(0,g);m=k+m;d.select();d.setTextContent(m);g===l.length?a.remove():(d=l.slice(g),\na.setTextContent(d));return}}else if(null===g||g.start<k.length)return}for(;;){a=e(l);l=g=null===a?\"\":l.slice(a.end);if(\"\"===g){if(k=m.getNextSibling(),h.$isTextNode(k))if(g=m.getTextContent()+k.getTextContent(),g=e(g),null===g){k instanceof b?n(k):k.markDirty();break}else if(0!==g.start)break}else if(k=e(g),null!==k&&0===k.start)break;if(null===a)break;if(0===a.start&&h.$isTextNode(d)&&d.isTextEntity())continue;let q;0===a.start?[q,m]=m.splitText(a.end):[,q,m]=m.splitText(a.start,a.end);a=f(q);q.replace(a);\nif(null==m)break}}});c=c.registerNodeTransform(b,a=>{var d=a.getTextContent();const l=e(d);null===l||0!==l.start?n(a):d.length>l.end?a.splitText(l.end):(d=a.getPreviousSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),n(a)),d=a.getNextSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),a instanceof b&&n(a)))});return[p,c]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalText = process.env.NODE_ENV === 'development' ? require('./LexicalText.dev.js') : require('./LexicalText.prod.js')\nmodule.exports = LexicalText;","import React from 'react';\nimport {$createParagraphNode, $getRoot} from 'lexical';\nimport {$canShowPlaceholder} from '@lexical/text';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\n\n// used to register a minimal API for controlling the editor from the consuming app\n// designed to allow typical behaviours without the consuming app needing to bundle the lexical library\nexport const ExternalControlPlugin = ({registerAPI}) => {\n const [editor] = useLexicalComposerContext();\n\n React.useEffect(() => {\n if (!registerAPI) {\n return;\n }\n\n const API = {\n // give access to the editor instance so the Lexical API can be used directly if needed\n editorInstance: editor,\n // simplified API methods for typical consumer app actions\n editorIsEmpty() {\n let isEmpty;\n editor.update(() => {\n isEmpty = $canShowPlaceholder(false, true);\n });\n return isEmpty;\n },\n focusEditor({position = 'bottom'} = {}) {\n const editorFocusOptions = {\n defaultSelection: position === 'top' ? 'rootStart' : null\n };\n\n editor.focus(() => {}, editorFocusOptions);\n },\n blurEditor() {\n editor.blur();\n },\n insertParagraphAtTop({focus = true} = {}) {\n editor.update(() => {\n const paragraphNode = $createParagraphNode();\n const [firstChild] = $getRoot().getChildren();\n firstChild.insertBefore(paragraphNode);\n\n if (focus) {\n paragraphNode.selectStart();\n }\n });\n }\n };\n\n registerAPI(API);\n\n return () => {\n registerAPI?.(null);\n };\n }, [editor, registerAPI]);\n};\n","import React from 'react';\nimport {RichTextPlugin} from '@lexical/react/LexicalRichTextPlugin';\nimport LexicalErrorBoundary from '@lexical/react/LexicalErrorBoundary';\nimport {ContentEditable} from '@lexical/react/LexicalContentEditable';\nimport {HistoryPlugin} from '@lexical/react/LexicalHistoryPlugin';\nimport {OnChangePlugin} from '@lexical/react/LexicalOnChangePlugin';\nimport {ListPlugin} from '@lexical/react/LexicalListPlugin';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport KoenigBehaviourPlugin from '../plugins/KoenigBehaviourPlugin';\nimport MarkdownShortcutPlugin from '../plugins/MarkdownShortcutPlugin';\nimport PlusCardMenuPlugin from '../plugins/PlusCardMenuPlugin';\nimport SlashCardMenuPlugin from '../plugins/SlashCardMenuPlugin';\nimport FloatingFormatToolbarPlugin from '../plugins/FloatingFormatToolbarPlugin';\nimport ImagePlugin from '../plugins/ImagePlugin';\nimport DragDropPastePlugin from '../plugins/DragDropPastePlugin';\nimport HorizontalRulePlugin from '../plugins/HorizontalRulePlugin';\nimport {EditorPlaceholder} from './ui/EditorPlaceholder';\nimport {ExternalControlPlugin} from '../plugins/ExternalControlPlugin';\nimport '../styles/index.css';\n\nconst KoenigEditor = ({\n onChange,\n markdownTransformers,\n registerAPI,\n cursorDidExitAtTop\n}) => {\n const _onChange = React.useCallback((editorState) => {\n const json = editorState.toJSON();\n onChange?.(json);\n }, [onChange]);\n\n const {editorContainerRef} = React.useContext(KoenigComposerContext);\n // we need an element reference for the container element that\n // any floating elements in plugins will be rendered inside\n const [floatingAnchorElem, setFloatingAnchorElem] = React.useState(null);\n const onRef = (_floatingAnchorElem) => {\n if (_floatingAnchorElem !== null) {\n setFloatingAnchorElem(_floatingAnchorElem);\n }\n };\n\n return (\n <div className=\"koenig-lexical\" ref={editorContainerRef}>\n <RichTextPlugin\n contentEditable={\n <div ref={onRef}>\n <ContentEditable className=\"kg-prose\" />\n </div>\n }\n placeholder={<EditorPlaceholder />}\n ErrorBoundary={LexicalErrorBoundary}\n />\n <OnChangePlugin onChange={_onChange} />\n <HistoryPlugin /> {/* adds undo/redo */}\n <ListPlugin /> {/* adds indent/outdent/remove etc support */}\n <KoenigBehaviourPlugin containerElem={editorContainerRef} cursorDidExitAtTop={cursorDidExitAtTop} />\n <MarkdownShortcutPlugin transformers={markdownTransformers} />\n <PlusCardMenuPlugin />\n <SlashCardMenuPlugin />\n {floatingAnchorElem && (<FloatingFormatToolbarPlugin anchorElem={floatingAnchorElem} />)}\n <ImagePlugin />\n <DragDropPastePlugin />\n <HorizontalRulePlugin />\n <ExternalControlPlugin registerAPI={registerAPI} />\n </div>\n );\n};\n\nexport default KoenigEditor;\n"],"names":["SvgKgBold","props","React","SvgKgItalic","SvgKgHeading1","SvgKgHeading2","SvgKgLink","SvgKgQuote","SvgKgImgRegular","SvgKgImgWide","SvgKgImgFull","SvgKgReplace","SvgKgAdd","SvgKgSnippet","SvgPlus","SvgKgCardTypeImage","SvgKgCardTypeMarkdown","SvgKgCardTypeHtml","SvgKgCardTypeGallery","SvgKgCardTypeDivider","SvgKgCardTypeBookmark","SvgKgCardTypeEmail","SvgKgCardTypeEmailCta","SvgKgCardTypePreview","SvgKgCardTypeButton","SvgKgCardTypeCallout","SvgKgCardTypeGif","SvgKgCardTypeToggle","SvgKgCardTypeVideo","SvgKgCardTypeAudio","SvgKgCardTypeFile","SvgKgCardTypeProduct","SvgKgCardTypeHeader","SvgKgCardTypeYoutube","SvgKgCardTypeTwitter","SvgKgCardTypeUnsplash","SvgKgCardTypeVimeo","SvgKgCardTypeCodepen","SvgKgCardTypeSpotify","SvgKgCardTypeSoundcloud","SvgKgCardTypeNft","SvgKgCardTypeOther","SvgKgCardTypeSnippet","SvgKgImgPlaceholder","SvgKgGalleryPlaceholder","f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min","module","DesignSandbox","_jsx","ComponentTitle","TextToolbar","ImageToolbar","GalleryToolbar","PlusButton","CardMenu","DividerCard","CodeBlock","ImageCard","GalleryCard","label","ToolbarItem","BoldIcon","ItalicIcon","HeadingOneIcon","HeadingTwoIcon","ToolbarSeparator","QuoteIcon","LinkIcon","SnippetIcon","ImgRegularIcon","ImgWideIcon","ImgFullIcon","ReplaceIcon","AddIcon","Icon","PlusIcon","CardMenuSection","CardMenuItem","ImageCardIcon","MarkdownCardIcon","HtmlCardIcon","GalleryCardIcon","DividerCardIcon","BookmarkCardIcon","EmailCardIcon","EmailCtaCardIcon","PreviewCardIcon","ButtonCardIcon","CalloutCardIcon","GifCardIcon","ToggleCardIcon","VideoCardIcon","AudioCardIcon","FileCardIcon","ProductCardIcon","HeaderCardIcon","YoutubeCardIcon","TwitterCardIcon","UnsplashCardIcon","VimeoCardIcon","CodepenCardIcon","SpotifyCardIcon","SoundcloudCardIcon","NftCardIcon","OtherCardIcon","CardSnippetItem","SnippetCardIcon","minWidth","desc","_jsxs","CaptionEditor","isActive","setActive","useState","altText","setAltText","toggleActive","toggleAltText","stopPropagation","MediaPlaceholder","ImgPlaceholderIcon","placeholder","GalleryPlaceholderIcon","LexicalComposerContext_prod","LexicalComposerContext","LexicalComposerContext_1","ba","ca","da","ea","ha","ia","ja","ka","la","na","oa","pa","qa","ra","sa","ta","ua","va","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","r","t","Na","u","Oa","Pa","Qa","Ra","Ta","Ua","Va","Wa","Xa","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","x","hb","A","v","w","ib","C","D","y","E","z","jb","B","kb","F","T","aa","G","lb","mb","nb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","H","Eb","I","J","Fb","Gb","Hb","K","L","Ib","M","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","N","Tb","Ub","Vb","Wb","Xb","Yb","Zb","O","$b","ac","bc","cc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","P","Q","R","sc","S","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","U","Xc","Rc","Sc","Tc","Uc","Vc","Wc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","V","id","jd","kd","ld","md","nd","od","pd","qd","X","rd","sd","td","ud","vd","wd","xd","yd","zd","Ad","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","Y","Z","be","ce","de","ee","fe","ge","he","W","ie","Sa","wa","Ge","He","ob","Md","xa","Nd","Od","pb","Pd","dc","Qd","Ie","ec","Je","Rd","Sd","fc","gc","fa","ma","hc","qb","Td","rb","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Lexical_prod","Lexical","Lexical_1","require$$1","require$$2","LexicalComposer_prod","LexicalComposer","LexicalComposer_1","LexicalUtils_prod","LexicalUtils","LexicalUtils_1","LexicalList_prod","LexicalList","LexicalList_1","LexicalSelection_prod","LexicalSelection","LexicalSelection_1","LexicalHtml_prod","LexicalHtml","LexicalHtml_1","require$$3","require$$4","LexicalClipboard_prod","LexicalClipboard","LexicalClipboard_1","LexicalRichText_prod","LexicalRichText","LexicalRichText_1","LexicalLink_prod","LexicalLink","LexicalLink_1","AsideNode","ElementNode","node","config","element","addClassNamesToElement","prevNode","dom","convertAsideElement","serializedNode","$createAsideNode","newBlock","$createParagraphNode","direction","paragraph","child","useLexicalNodeSelection_prod","useLexicalNodeSelection","useLexicalNodeSelection_1","CardContext","createContext","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","propName","componentName","location","propFullName","secret","err","getShim","ReactPropTypes","propTypesModule","CardWrapper","forwardRef","isSelected","cardWidth","cardType","children","ref","propTypes","PropTypes","bool","oneOf","defaultProps","KoenigCardWrapperComponent","nodeKey","width","editor","useLexicalComposerContext","setSelected","clearSelected","selection","setSelection","setCardType","setCardWidth","containerRef","useRef","useLayoutEffect","getEditorState","read","cardNode","$getNodeByKey","getType","useEffect","mergeRegister","registerUpdateListener","editorState","$getSelection","registerCommand","CLICK_COMMAND","event","current","contains","target","COMMAND_PRIORITY_LOW","KEY_ENTER_COMMAND","latestSelection","$isNodeSelection","getNodes","length","preventDefault","paragraphNode","getTopLevelElementOrThrow","insertAfter","select","COMMAND_PRIORITY_EDITOR","KEY_BACKSPACE_COMMAND","matches","update","caption","getCaption","setCaption","slice","previousSibling","getPreviousSibling","nextSibling","getNextSibling","selectEnd","$isDecoratorNode","nodeSelection","$createNodeSelection","add","getKey","$setSelection","selectPrevious","selectStart","selectNext","remove","KEY_DELETE_COMMAND","WrapperContext","cardContainerRef","HorizontalRuleCard","INSERT_HORIZONTAL_RULE_COMMAND","createCommand","HorizontalRuleNode","DecoratorNode","clone","__key","importJSON","$createHorizontalRuleNode","exportJSON","type","version","createDOM","div","document","createElement","getTextContent","isInline","updateDOM","decorate","KoenigCardWrapper","_HorizontalRuleNode","__publicField","kgMenu","insertCommand","$isHorizontalRuleNode","useAutoExpandTextArea","el","value","height","CodeBlockCard","code","language","updateCode","updateLanguage","textareaRef","string","CodeBlockComponent","setCode","setLanguage","CodeBlockNode","constructor","initCode","key","__code","__language","$createCodeBlockNode","getCode","getLatest","self","getWritable","getLanguage","$isCodeBlockNode","KoenigDecoratorNode","ImageParser","NodeClass","domNode","src","title","getAvailableImageWidths","image","imageSizes","imageWidths","_ref","availableImageWidths","isLocalContentImage","url","normalizedSiteUrl","imagePath","isUnsplashImage","getSrcsetAttribute","options","srcsetWidths","imagesPath","filename","srcs","srcsetWidth","unsplashUrl","setSrcsetAttribute","elem","srcset","resizeImage","desiredWidth","desiredHeight","ratio","resizedHeight","renderImageNodeToDOM","figure","figureClasses","img","canTransformImage","defaultMaxWidth","imageDimensions","imgAttributes","_a","srcWidth","INSERT_IMAGE_COMMAND","ImageNode","isBlob","writable","KoenigComposerContext","CaptionInput","onChange","AltTextInput","AltToggleButton","isEditingAlt","onClick","CardCaptionEditor","altTextPlaceholder","captionPlaceholder","setIsEditingAlt","toggleIsEditingAlt","CardText","text","filePicker","size","handleDrag","handleDrop","isDraggedOver","openFileSelection","fileInputRef","ImageUploadForm","onFileChange","PopulatedImageCard","alt","previewSrc","progress","progressStyle","toFixed","_Fragment","EmptyImageCard","setFileInputRef","onFileInputRef","ImageHolder","uploadProgress","setFigureRef","figureRef","func","number","SvgKgQuote1","SvgKgQuote2","SvgKgEdit","TOOLBAR_ICONS","bold","italic","headingOne","headingTwo","quote","quoteOne","QuoteOneIcon","quoteTwo","QuoteTwoIcon","link","imageRegular","ImageRegularIcon","imageWide","ImageWideIcon","imageFull","ImageFullIcon","imageReplace","ImageReplaceIcon","edit","EditIcon","snippet","ToolbarMenu","ToolbarMenuItem","icon","ToolbarMenuSeparator","ActionToolbar","isVisible","getImageDimensions","resolve","reject","imageUploadHandler","files","imageUploader","fileSrc","ImageNodeComponent","triggerFileDialog","dragOver","setDragOver","useContext","toolbarFileInputRef","fls","newCaption","newAltText","renderTimeout","setTimeout","setTriggerFileDialog","clearTimeout","handleImageCardResize","newWidth","dataTransfer","BaseImageNode","dataset","__triggerFileDialog","__previewSrc","getDataset","getPreviewSrc","setPreviewSrc","shouldTrigger","__cardWidth","__src","__altText","__caption","insertParams","queryParams","section","UnsplashIcon","triggerFileSelector","$createImageNode","$isImageNode","DEFAULT_NODES","HeadingNode","ListNode","ListItemNode","QuoteNode","LinkNode","defaultTheme","defaultOnError","error","console","defaultConfig","namespace","theme","KoenigComposer","initialEditorState","nodes","onError","imageUploadFunction","initialConfig","useMemo","Object","assign","editorContainerRef","LexicalText_prod","LexicalText","LexicalText_1","LexicalDragon_prod","LexicalDragon","LexicalDragon_1","require$$5","require$$6","LexicalRichTextPlugin_prod","LexicalRichTextPlugin","LexicalRichTextPlugin_1","require","setPrototypeOf","bind","__proto__","prototype","create","some","is","arguments","Array","call","apply","concat","state","resetErrorBoundary","onReset","reset","getDerivedStateFromError","setState","componentDidCatch","componentDidUpdate","resetKeys","onResetKeysChange","render","fallbackRender","FallbackComponent","fallback","isValidElement","Error","Component","border","color","padding","LexicalErrorBoundary","LexicalErrorBoundary_1","LexicalContentEditable_prod","LexicalContentEditable","LexicalContentEditable_1","LexicalHistory_prod","LexicalHistory","LexicalHistory_1","history","LexicalHistoryPlugin_prod","LexicalHistoryPlugin","LexicalHistoryPlugin_1","LexicalOnChangePlugin_prod","LexicalOnChangePlugin","LexicalOnChangePlugin_1","LexicalListPlugin_prod","LexicalListPlugin","LexicalListPlugin_1","RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX","$isAtStartOfDocument","selectedNode","$isTextNode","getParent","selectedIndex","getIndexWithinParent","selectedTopLevelIndex","getTopLevelElement","anchor","offset","focus","$selectDecoratorNode","getTopLevelNativeElement","nodeType","Node","TEXT_NODE","parentNode","selector","closest","useKoenigBehaviour","containerElem","cursorDidExitAtTop","onMousedown","addEventListener","removeEventListener","KEY_ARROW_UP_COMMAND","clear","$isRangeSelection","isCollapsed","topLevelElement","getNode","nativeSelection","window","getSelection","onEmptyNode","trim","atStartOfElement","rects","getRangeAt","cloneRange","getClientRects","rangeRect","elemRect","anchorNode","getBoundingClientRect","Math","abs","top","COMMAND_PRIORITY_HIGH","KEY_ARROW_DOWN_COMMAND","nativeTopLevelElement","atEndOfElement","rangeCount","anchorOffset","focusOffset","bottom","KEY_ARROW_LEFT_COMMAND","KEY_ARROW_RIGHT_COMMAND","selectedNodes","$isListItemNode","getIndent","isEmpty","dispatchCommand","INSERT_PARAGRAPH_COMMAND","$isParagraphNode","listItemNode","append","getChildren","replace","atEndOfNode","$isElementNode","getChildrenSize","getTextContentSize","KEY_TAB_COMMAND","shiftKey","PASTE_COMMAND","clipboard","clipboardDataset","clipboardData","getData","linkMatch","match","selectionContent","textNode","extract","linkNode","$createLinkNode","linkTextNode","$createTextNode","setFormat","getFormat","KoenigBehaviourPlugin","querySelector","_self","Prism","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","o","obj","deepClone","visited","i","scripts","className","defaultActivation","no","classList","redef","inside","before","insert","root","grammar","ret","token","newToken","old","DFS","callback","objId","property","propertyType","async","container","env","parent","insertHighlightedCode","highlightedCode","worker","evt","rest","tokenList","LinkedList","addAfter","matchGrammar","toArray","name","hooks","callbacks","content","alias","matchedStr","stringify","s","aliases","attributes","matchPattern","pattern","pos","lookbehind","lookbehindLength","startNode","startPos","rematch","patterns","j","patternObj","greedy","flags","currentNode","str","removeCount","from","to","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","list","next","newNode","count","array","message","immediateClose","script","highlightAutomaticallyCallback","readyState","global","tagName","includedCdataInside","def","attrName","markup","LOADING_MESSAGE","FAILURE_MESSAGE","status","FAILURE_EMPTY_MESSAGE","EXTENSIONS","STATUS_ATTR","STATUS_LOADING","STATUS_LOADED","STATUS_FAILED","SELECTOR","loadFile","success","xhr","parseRange","range","start","comma","end","pre","extension","autoloader","lines","elements","logged","inner","createInline","tableCell","tableRow","tableLine","walkTokens","codeLang","codeBlock","cls","textContent","ele","tagPattern","KNOWN_ENTITY_NAMES","fromCodePoint","html","known","multilineComment","rule","require$$12","require$$13","LexicalCode_prod","LexicalCode","LexicalCode_1","LexicalMarkdown_prod","LexicalMarkdown","LexicalMarkdown_1","LexicalHorizontalRuleNode_prod","LexicalHorizontalRuleNode","LexicalHorizontalRuleNode_1","LexicalMarkdownShortcutPlugin_prod","LexicalMarkdownShortcutPlugin","LexicalMarkdownShortcutPlugin_1","HR","dependencies","export","regExp","_1","_2","isImport","line","insertBefore","CODE_BLOCK","codeBlockNode","IMAGE","imageNode","ELEMENT_TRANSFORMERS","HEADING","QUOTE","UNORDERED_LIST","ORDERED_LIST","DEFAULT_TRANSFORMERS","TEXT_FORMAT_TRANSFORMERS","TEXT_MATCH_TRANSFORMERS","MarkdownShortcutPlugin","transformers","getSelectedNode","focusNode","$isAtNodeEnd","PlusMenu","menu","Map","selectedItemIndex","CardMenuSections","itemIndex","sectionLabel","items","CardMenuItems","forEach","item","push","getEditorCardNodes","allNodes","cardNodes","klass","buildCardMenu","query","maxItemIndex","addMenuItem","usePlusCardMenu","isShowingButton","setIsShowingButton","isShowingMenu","setIsShowingMenu","topPosition","setTopPosition","cachedRange","setCachedRange","cardMenu","setCardMenu","getTopPosition","containerRect","getElementRange","Range","setStart","setEnd","moveCursorToCachedRange","useCallback","removeAllRanges","addRange","showButton","hideButton","openMenu","closeMenu","resetCursor","updateButton","isComposing","rootElement","getRootElement","commandParams","hideButtonOnOutsideSelection","updateButtonOnMousemove","pageX","pageY","left","hoveredElem","elementFromPoint","closeMenuOnClickOutside","handleKeydown","includes","style","PlusCardMenuPlugin","SlashMenu","useSlashCardMenu","setQuery","setCommandParams","setSelectedItemIndex","modify","deleteCharacter","startsWith","command","cps","split","triggerMenu","ctrlKey","metaKey","altKey","paragraphSize","isEmptyParagraph","isFullParagraphSelection","selectionElem","handleEscape","handleMousedown","moveUp","moveDown","enter","click","SlashCardMenuPlugin","VERTICAL_GAP","setFloatingElemPosition","targetRect","floatingElem","anchorElem","scrollerElem","floatingElemRect","anchorElementRect","editorScrollerRect","getDOMRangeRect","domRange","rect","getScrollParent","overflowY","isScrollable","blockTypeToBlockName","bullet","check","h1","h2","h3","h4","h5","h6","aside","FloatingFormatToolbar","isText","blockType","isBold","isItalic","stickyToolbar","setStickyToolbar","toolbarRef","formatParagraph","formatHeading","headingSize","$wrapNodes","$createHeadingNode","formatQuote","$createQuoteNode","updateFloatingToolbar","toolbarElement","toggleVis","opacity","shiftUp","scrollElement","SELECTION_CHANGE_COMMAND","FORMAT_TEXT_COMMAND","useFloatingFormatToolbar","setIsText","setIsBold","setIsItalic","setBlockType","updatePopup","elementKey","elementDOM","getElementByKey","hasFormat","$isListNode","parentList","$getNearestNodeOfType","getListType","$isHeadingNode","getTag","createPortal","FloatingFormatToolbarPlugin","body","SvgKgSearch","SvgKgClose","SvgKgUnsplashHeart","SvgKgDownload","demoDataset","imgUrl","divideArray","arr","len","out","ceil","UnsplashSelector","toggle","insertImage","zoomedUrl","closeModal","zoomedImg","setZoomedImg","selectImg","CloseIcon","SearchIcon","UnsplashZoomed","UnsplashGallery","map","index","UnsplashImg","zoomed","UnsplashButton","BUTTON_ICONS","heart","UnsplashHeartIcon","download","DownloadIcon","UnsplashModal","service","handleModalClose","portalContainer","closeModalHandler","insertImageToNode","setSrc","setImgHeight","setImgWidth","ImagePlugin","setSelector","selectedKey","setSelectedKey","showModal","setShowModal","handleImageUpload","imageNodeKey","hasNodes","selectedIsBlankParagraph","nextNode","insertParagraph","isMimeType","file","acceptableMimeTypes","mimeType","keys","find","mediaFileReader","filesIterator","Symbol","iterator","Promise","processed","handleNextFile","done","fileReader","FileReader","result","readAsDataURL","getListofAcceptableMimeTypes","mimeTypes","DragDropPastePlugin","DRAG_DROP_PASTE","dropTarget","handleFileUpload","HorizontalRulePlugin","horizontalRuleNode","EditorPlaceholder","ExternalControlPlugin","registerAPI","editorInstance","editorIsEmpty","$canShowPlaceholder","focusEditor","position","editorFocusOptions","defaultSelection","blurEditor","blur","insertParagraphAtTop","firstChild","$getRoot","KoenigEditor","markdownTransformers","_onChange","json","toJSON","floatingAnchorElem","setFloatingAnchorElem","onRef","_floatingAnchorElem","RichTextPlugin","ContentEditable","OnChangePlugin","HistoryPlugin","ListPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koenig-lexical.js","sources":["../src/assets/icons/kg-bold.svg","../src/assets/icons/kg-italic.svg","../src/assets/icons/kg-heading-1.svg","../src/assets/icons/kg-heading-2.svg","../src/assets/icons/kg-link.svg","../src/assets/icons/kg-quote.svg","../src/assets/icons/kg-img-regular.svg","../src/assets/icons/kg-img-wide.svg","../src/assets/icons/kg-img-full.svg","../src/assets/icons/kg-replace.svg","../src/assets/icons/kg-add.svg","../src/assets/icons/kg-snippet.svg","../src/assets/icons/plus.svg","../src/assets/icons/kg-card-type-image.svg","../src/assets/icons/kg-card-type-markdown.svg","../src/assets/icons/kg-card-type-html.svg","../src/assets/icons/kg-card-type-gallery.svg","../src/assets/icons/kg-card-type-divider.svg","../src/assets/icons/kg-card-type-bookmark.svg","../src/assets/icons/kg-card-type-email.svg","../src/assets/icons/kg-card-type-email-cta.svg","../src/assets/icons/kg-card-type-preview.svg","../src/assets/icons/kg-card-type-button.svg","../src/assets/icons/kg-card-type-callout.svg","../src/assets/icons/kg-card-type-gif.svg","../src/assets/icons/kg-card-type-toggle.svg","../src/assets/icons/kg-card-type-video.svg","../src/assets/icons/kg-card-type-audio.svg","../src/assets/icons/kg-card-type-file.svg","../src/assets/icons/kg-card-type-product.svg","../src/assets/icons/kg-card-type-header.svg","../src/assets/icons/kg-card-type-youtube.svg","../src/assets/icons/kg-card-type-twitter.svg","../src/assets/icons/kg-card-type-unsplash.svg","../src/assets/icons/kg-card-type-vimeo.svg","../src/assets/icons/kg-card-type-codepen.svg","../src/assets/icons/kg-card-type-spotify.svg","../src/assets/icons/kg-card-type-soundcloud.svg","../src/assets/icons/kg-card-type-nft.svg","../src/assets/icons/kg-card-type-other.svg","../src/assets/icons/kg-card-type-snippet.svg","../src/assets/icons/kg-img-placeholder.svg","../src/assets/icons/kg-gallery-placeholder.svg","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../src/components/DesignSandbox.jsx","../../../node_modules/@lexical/react/LexicalComposerContext.prod.js","../../../node_modules/@lexical/react/LexicalComposerContext.js","../../../node_modules/lexical/Lexical.prod.js","../../../node_modules/lexical/Lexical.js","../../../node_modules/@lexical/react/LexicalComposer.prod.js","../../../node_modules/@lexical/react/LexicalComposer.js","../../../node_modules/@lexical/utils/LexicalUtils.prod.js","../../../node_modules/@lexical/utils/LexicalUtils.js","../../../node_modules/@lexical/list/LexicalList.prod.js","../../../node_modules/@lexical/list/LexicalList.js","../../../node_modules/@lexical/selection/LexicalSelection.prod.js","../../../node_modules/@lexical/selection/LexicalSelection.js","../../../node_modules/@lexical/html/LexicalHtml.prod.js","../../../node_modules/@lexical/html/LexicalHtml.js","../../../node_modules/@lexical/clipboard/LexicalClipboard.prod.js","../../../node_modules/@lexical/clipboard/LexicalClipboard.js","../../../node_modules/@lexical/rich-text/LexicalRichText.prod.js","../../../node_modules/@lexical/rich-text/LexicalRichText.js","../../../node_modules/@lexical/link/LexicalLink.prod.js","../../../node_modules/@lexical/link/LexicalLink.js","../src/nodes/AsideNode.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.prod.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.js","../src/context/CardContext.jsx","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../src/components/ui/CardWrapper.jsx","../src/components/KoenigCardWrapper.jsx","../src/components/ui/cards/HorizontalRuleCard.jsx","../src/nodes/HorizontalRuleNode.jsx","../src/utils/autoExpandTextArea.js","../src/components/ui/cards/CodeBlockCard.jsx","../src/nodes/CodeBlockNode.jsx","../../kg-default-nodes/es/kg-default-nodes.js","../src/context/KoenigComposerContext.jsx","../src/components/ui/CardCaptionEditor.jsx","../src/components/ui/MediaPlaceholder.jsx","../src/utils/openFileSelection.js","../src/components/ui/ImageUploadForm.jsx","../src/components/ui/cards/ImageCard.jsx","../src/assets/icons/kg-quote-1.svg","../src/assets/icons/kg-quote-2.svg","../src/assets/icons/kg-edit.svg","../src/components/ui/ToolbarMenu.jsx","../src/components/ui/ActionToolbar.jsx","../src/utils/getImageDimensions.js","../src/utils/imageUploadHandler.js","../src/nodes/ImageNodeComponent.jsx","../src/nodes/ImageNode.jsx","../src/nodes/DefaultNodes.js","../src/themes/default.js","../src/components/KoenigComposer.jsx","../../../node_modules/@lexical/text/LexicalText.prod.js","../../../node_modules/@lexical/text/LexicalText.js","../../../node_modules/@lexical/dragon/LexicalDragon.prod.js","../../../node_modules/@lexical/dragon/LexicalDragon.js","../../../node_modules/@lexical/react/LexicalRichTextPlugin.prod.js","../../../node_modules/@lexical/react/LexicalRichTextPlugin.js","../../../node_modules/@lexical/react/LexicalErrorBoundary.prod.js","../../../node_modules/@lexical/react/LexicalErrorBoundary.js","../../../node_modules/@lexical/react/LexicalContentEditable.prod.js","../../../node_modules/@lexical/react/LexicalContentEditable.js","../../../node_modules/@lexical/history/LexicalHistory.prod.js","../../../node_modules/@lexical/history/LexicalHistory.js","../../../node_modules/@lexical/react/LexicalHistoryPlugin.prod.js","../../../node_modules/@lexical/react/LexicalHistoryPlugin.js","../../../node_modules/@lexical/react/LexicalOnChangePlugin.prod.js","../../../node_modules/@lexical/react/LexicalOnChangePlugin.js","../../../node_modules/@lexical/react/LexicalListPlugin.prod.js","../../../node_modules/@lexical/react/LexicalListPlugin.js","../src/utils/$isAtStartOfDocument.js","../src/utils/$selectDecoratorNode.js","../src/plugins/KoenigBehaviourPlugin.jsx","../../../node_modules/prismjs/prism.js","../../../node_modules/prismjs/components/prism-clike.js","../../../node_modules/prismjs/components/prism-javascript.js","../../../node_modules/prismjs/components/prism-markup.js","../../../node_modules/prismjs/components/prism-markdown.js","../../../node_modules/prismjs/components/prism-c.js","../../../node_modules/prismjs/components/prism-css.js","../../../node_modules/prismjs/components/prism-objectivec.js","../../../node_modules/prismjs/components/prism-sql.js","../../../node_modules/prismjs/components/prism-python.js","../../../node_modules/prismjs/components/prism-rust.js","../../../node_modules/prismjs/components/prism-swift.js","../../../node_modules/@lexical/code/LexicalCode.prod.js","../../../node_modules/@lexical/code/LexicalCode.js","../../../node_modules/@lexical/markdown/LexicalMarkdown.prod.js","../../../node_modules/@lexical/markdown/LexicalMarkdown.js","../../../node_modules/@lexical/react/LexicalHorizontalRuleNode.prod.js","../../../node_modules/@lexical/react/LexicalHorizontalRuleNode.js","../../../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.prod.js","../../../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.js","../src/plugins/MarkdownShortcutPlugin.jsx","../src/utils/getSelectedNode.js","../src/components/ui/PlusMenu.jsx","../src/components/ui/CardMenu.jsx","../src/utils/getEditorCardNodes.js","../src/utils/buildCardMenu.js","../src/plugins/PlusCardMenuPlugin.jsx","../src/components/ui/SlashMenu.jsx","../src/plugins/SlashCardMenuPlugin.jsx","../src/utils/setFloatingElemPosition.js","../src/utils/getDOMRangeRect.js","../src/utils/getScrollParent.js","../src/plugins/FloatingFormatToolbarPlugin.jsx","../src/assets/icons/kg-search.svg","../src/assets/icons/kg-close.svg","../src/components/ui/file-selectors/Unsplash/UnsplashSelector.jsx","../src/utils/masonry.js","../src/utils/services/unsplash.js","../src/assets/icons/kg-unsplash-heart.svg","../src/assets/icons/kg-download.svg","../src/components/ui/file-selectors/Unsplash/UnsplashButton.jsx","../src/components/ui/file-selectors/Unsplash/UnsplashImage.jsx","../src/components/ui/file-selectors/Unsplash/UnsplashZoomed.jsx","../src/components/ui/file-selectors/Unsplash/UnsplashGallery.jsx","../src/components/ui/UnsplashModal.jsx","../src/plugins/ImagePlugin.jsx","../src/plugins/DragDropPastePlugin.jsx","../src/plugins/HorizontalRulePlugin.jsx","../src/components/ui/EditorPlaceholder.jsx","../node_modules/@lexical/text/LexicalText.prod.js","../node_modules/@lexical/text/LexicalText.js","../src/plugins/ExternalControlPlugin.jsx","../src/components/KoenigEditor.jsx"],"sourcesContent":["export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNy40MTIgNi4yMTdoMS4xNzZjMS4yNzYgMCAyLjIzNi0uNzczIDIuMjM2LTEuNjA4IDAtLjgzNS0uOTYtMS42MDktMi4yMzYtMS42MDlINS43NjV2My4yMTdoMS42NDd6TTUuNzY1IDEzSDkuNDdDMTAuODc1IDEzIDEyIDExLjkyIDEyIDEwLjYwOXMtMS4xMjQtMi4zOTItMi41My0yLjM5Mkg1Ljc2NlYxM3ptLTIgMFYzSDNjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoNS41ODhjMi4yOTcgMCA0LjIzNiAxLjU2MyA0LjIzNiAzLjYwOSAwIC44NzctLjM1NyAxLjY2Ni0uOTQ1IDIuMjhDMTMuMTUgNy42NjUgMTQgOS4wMzcgMTQgMTAuNjEgMTQgMTMuMDQzIDExLjk2MyAxNSA5LjQ3IDE1SDNjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoLjc2NXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIuMTUgM0w2LjEwNCAxM2guODExYy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDJjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoMS43NjdMOS44MTMgM0g5Yy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDQuOTE1Yy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDEyLjE1eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNCA3aDhWMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2NS44OTdjLjAwMy4wMzQuMDA1LjA2OC4wMDUuMTAzIDAgLjAzNS0uMDAyLjA3LS4wMDUuMTAzVjE0YzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xVjlINHY1YzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xVjJjMC0uNTUyLjQ0OC0xIDEtMXMxIC40NDggMSAxdjV6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNiA4aDRWNS40ODNjMC0uNTUyLjQ0OC0xIDEtMXMxIC40NDggMSAxVjEzYzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xdi0zSDZ2M2MwIC41NTItLjQ0OCAxLTEgMXMtMS0uNDQ4LTEtMVY1LjQ4M2MwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDFWOHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik02LjQgMTEuNjg4Yy40LS4zODIgMS4wMzItLjM2OSAxLjQxNS4wMy4zODIuMzk5LjM2OCAxLjAzMi0uMDMgMS40MTRsLTEuMDU1IDEuMDFjLTEuMjA5IDEuMjEtMy4xNyAxLjIxLTQuMzggMGwtLjQ5NC0uNDk0Yy0xLjIwOC0xLjIwOS0xLjIwOC0zLjE3LjAwMS00LjM3N0w1LjA3IDYuMDU4YzEuMjEtMS4yMSAzLjE3LTEuMjEgNC4zOCAwIC4zOS4zOS4zOSAxLjAyNCAwIDEuNDE0LS4zOTEuMzktMS4wMjQuMzktMS40MTUgMC0uNDI4LS40MjgtMS4xMjItLjQyOC0xLjU1MSAwbC0zLjIxMyAzLjIxM2MtLjQyNy40MjctLjQyNyAxLjEyMiAwIDEuNTVsLjQ5NC40OTRjLjQyOC40MjggMS4xMjMuNDI4IDEuNTY2LS4wMTVsMS4wNy0xLjAyNnptMy4wMzctNy4yMTJjLS4zOTguMzgzLTEuMDMuMzcyLTEuNDE0LS4wMjUtLjM4NC0uMzk4LS4zNzMtMS4wMy4wMjUtMS40MTRsMS4yMjItMS4xOGMxLjIxLTEuMjA5IDMuMTY5LTEuMjA5IDQuMzc5IDBsLjQ5My40OTRjMS4yMSAxLjIwOSAxLjIxIDMuMTcuMDEzIDQuMzY2bC0zLjIzNyAzLjM1N2MtMS4yMSAxLjIxLTMuMTcgMS4yMS00LjM4IDAtLjM5LS4zOTEtLjM4OS0xLjAyNS4wMDItMS40MTUuMzktLjM5IDEuMDI0LS4zOSAxLjQxNC4wMDEuNDI4LjQyOSAxLjEyMS40MjkgMS41MzcuMDEzbDMuMjM4LTMuMzU4Yy40MjgtLjQyNy40MjgtMS4xMjEgMC0xLjU1bC0uNDk0LS40OTNjLS40MjktLjQyOS0xLjEyMy0uNDI5LTEuNTYzLjAxMkw5LjQzNyA0LjQ3NnoiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik00IDhoMmMuNTUyIDAgMSAuNDQ4IDEgMXY0YzAgLjU1Mi0uNDQ4IDEtMSAxSDNjLS41NTIgMC0xLS40NDgtMS0xVjUuMDgyYzAtMS4xNzYuOTA2LTIuMTIgMi41MzgtMi45NjkuNDktLjI1NSAxLjA5NC0uMDY1IDEuMzQ5LjQyNS4yNTUuNDkuMDY1IDEuMDk0LS40MjUgMS4zNDktLjU3OC4zLS45OTMuNTg5LTEuMjQuODQ3LS4xNjguMTc0LS4yMjIuMjg2LS4yMjIuMzQ4Vjh6bTkgMGMuNTUyIDAgMSAuNDQ4IDEgMXY0YzAgLjU1Mi0uNDQ4IDEtMSAxaC0zYy0uNTUyIDAtMS0uNDQ4LTEtMVY1LjA4MmMwLTEuMTc2LjkwNi0yLjEyIDIuNTM4LTIuOTY5LjQ5LS4yNTUgMS4wOTQtLjA2NSAxLjM0OS40MjUuMjU1LjQ5LjA2NSAxLjA5NC0uNDI1IDEuMzQ5LS41NzguMy0uOTkzLjU4OS0xLjI0Ljg0Ny0uMTY4LjE3NC0uMjIyLjI4Ni0uMjIyLjM0OFY4aDJ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTIgM2MtLjU1MiAwLTEtLjQ0OC0xLTFzLjQ0OC0xIDEtMWgxMmMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUgyek0yIDE1Yy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDEyYy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDJ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9Ii42Ii8+PHBhdGggZD0iTTIgNWgxMmMuNTUyIDAgMSAuNDQ4IDEgMXY0LjAwMWMwIC41NTItLjQ0OCAxLTEgMUgyYy0uNTUyIDAtMS0uNDQ4LTEtMVY2YzAtLjU1Mi40NDgtMSAxLTF6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTYgM2MtLjU1MiAwLTEtLjQ0OC0xLTFzLjQ0OC0xIDEtMWg0Yy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDZ6TTYgMTVjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoNGMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUg2eiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIuNiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDVoMTJjLjU1MiAwIDEgLjQ0OCAxIDF2NC4wMDFjMCAuNTUyLS40NDggMS0xIDFIMmMtLjU1MiAwLTEtLjQ0OC0xLTFWNmMwLS41NTIuNDQ4LTEgMS0xeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTAgMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2MTJjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWMnpNMTQgMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2MTJjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWMnoiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iLjYiLz4KICAgICAgICA8cGF0aCBkPSJNMTAuNjI2IDdMOS4zMTIgNS42OTFjLS4zOTEtLjM5LS4zOTMtMS4wMjMtLjAwMy0xLjQxNHMxLjAyMy0uMzkyIDEuNDE0LS4wMDNsMy4wMjkgMy4wMTdjLjM5LjM4OS4zOTIgMS4wMi4wMDUgMS40MTJsLTMuMDI5IDMuMDU5Yy0uMzg4LjM5Mi0xLjAyMi4zOTUtMS40MTQuMDA3LS4zOTItLjM4OS0uMzk2LTEuMDIyLS4wMDctMS40MTRMMTAuNjQ4IDlINS40MTVsMS4zNDIgMS4zNTVjLjM4OC4zOTIuMzg1IDEuMDI1LS4wMDcgMS40MTQtLjM5My4zODgtMS4wMjYuMzg1LTEuNDE1LS4wMDdMMi4zMDcgOC43MDNjLS4zODgtLjM5Mi0uMzg2LTEuMDIzLjAwNS0xLjQxMkw1LjM0IDQuMjc0Yy4zOTEtLjM5IDEuMDI1LS4zODggMS40MTQuMDAzLjM5LjM5MS4zODkgMS4wMjUtLjAwMiAxLjQxNEw1LjQzOCA3aDUuMTg4eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTIgOWg1Yy41NTIgMCAxIC40NDggMSAxdjRjMCAuNTUyLS40NDggMS0xIDFIMmMtLjU1MiAwLTEtLjQ0OC0xLTF2LTRjMC0uNTUyLjQ0OC0xIDEtMXpNOSAxaDVjLjU1MiAwIDEgLjQ0OCAxIDF2NGMwIC41NTItLjQ0OCAxLTEgMUg5Yy0uNTUyIDAtMS0uNDQ4LTEtMVYyYzAtLjU1Mi40NDgtMSAxLTF6TTQuNSA1Ljc3MmwxLjE1LTEuMTc1Yy4xOTItLjE5OC41MDktLjIwMS43MDYtLjAwOC4xOTguMTkzLjIwMS41MS4wMDguNzA3TDQuMzgyIDcuMzIyYy0uMDkxLjEwOS0uMjI5LjE3OC0uMzgyLjE3OC0uMTMgMC0uMjYtLjA1LS4zNTctLjE0OEwxLjYxIDUuMjk4Yy0uMTk0LS4xOTYtLjE5My0uNTEzLjAwNC0uNzA3LjE5Ni0uMTk0LjUxMi0uMTkzLjcwNy4wMDRMMy41IDUuNzg1VjNjMC0uODI4LjY3Mi0xLjUgMS41LTEuNWgxYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNUg1Yy0uMjc2IDAtLjUuMjI0LS41LjV2Mi43NzJ6bTcgNC40NTZsLTEuMTUgMS4xNzVjLS4xOTIuMTk4LS41MDkuMjAxLS43MDYuMDA4LS4xOTgtLjE5My0uMjAxLS41MS0uMDA4LS43MDdsMS45ODItMi4wMjZjLjA5MS0uMTA5LjIyOS0uMTc4LjM4Mi0uMTc4LjEzIDAgLjI2LjA1LjM1Ny4xNDhsMi4wMzIgMi4wNTRjLjE5NC4xOTYuMTkzLjUxMy0uMDA0LjcwNy0uMTk2LjE5NC0uNTEyLjE5My0uNzA3LS4wMDRsLTEuMTc4LTEuMTlWMTNjMCAuODI4LS42NzIgMS41LTEuNSAxLjVoLTFjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgxYy4yNzYgMCAuNS0uMjI0LjUtLjV2LTIuNzcyeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik05IDdoNWMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUg5djVjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWOUgyYy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDVWMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2NXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAzVjEzSDguNzg1NzlMMTMgOC43ODU3OVYzSDNaTTEuNTI3MjEgMS41MjcyMUMxLjg2NDc3IDEuMTg5NjQgMi4zMjI2MSAxIDIuOCAxSDEzLjJDMTMuNjc3NCAxIDE0LjEzNTIgMS4xODk2NCAxNC40NzI4IDEuNTI3MjFDMTQuODEwNCAxLjg2NDc3IDE1IDIuMzIyNjEgMTUgMi44VjguODY4OEMxNC45OTk5IDkuMzQ1ODUgMTQuODEwNCA5LjgwMzU3IDE0LjQ3MzIgMTAuMTQxTDEwLjE0MTIgMTQuNDczQzkuODAzOCAxNC44MTAyIDkuMzQ2MDcgMTQuOTk5OSA4Ljg2OTAxIDE1SDIuOEMyLjMyMjYxIDE1IDEuODY0NzcgMTQuODEwNCAxLjUyNzIxIDE0LjQ3MjhDMS4xODk2NCAxNC4xMzUyIDEgMTMuNjc3NCAxIDEzLjJWMi44QzEgMi4zMjI2MSAxLjE4OTY0IDEuODY0NzcgMS41MjcyMSAxLjUyNzIxWiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxMEgxNEMxNC41NTIzIDEwIDE1IDkuNTUyMjggMTUgOUMxNSA4LjQ0NzcyIDE0LjU1MjMgOCAxNCA4SDkuODQ2MDJDOS4zNTY0MyA4IDguODg2ODggOC4xOTQ0OSA4LjU0MDY5IDguNTQwNjlDOC4xOTQ0OSA4Ljg4Njg4IDggOS4zNTY0MyA4IDkuODQ2MDJWMTRDOCAxNC41NTIzIDguNDQ3NzIgMTUgOSAxNUM5LjU1MjI4IDE1IDEwIDE0LjU1MjMgMTAgMTRWMTBaIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTEyIDEuNXYyMU0xLjUgMTJoMjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iIzMwY2Y0MyIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy43NzggMTIuMTExYzAgMy4xMTEtMS41NTYgNC42NjctNC42NjcgNC42NjctMy4xMTEgMC00LjY2Ny0xLjU1Ni00LjY2Ny00LjY2N0MxNC40NDQgOSAxNiA3LjQ0NCAxOS4xMTEgNy40NDRjMy4xMTEgMCA0LjY2NyAxLjU1NiA0LjY2NyA0LjY2N3pNMTkuMTExIDUuNWMuNzc4IDAgMS4xNjctLjM4OSAxLjE2Ny0xLjE2N3YtLjc3N2MwLS40NS0uMTk1LS43ODYtLjU4NC0xLjAxLS4zODgtLjIyNS0uNzc3LS4yMjUtMS4xNjYgMC0uMzkuMjI0LS41ODQuNTYtLjU4NCAxLjAxdi43NzdjMCAuNzc4LjM5IDEuMTY3IDEuMTY3IDEuMTY3ek0xMi43ODggNy40MzVjLjU1LjU1MiAxLjEuNTU0IDEuNjUzLjAwNC41NTItLjU1LjU1My0xLjEuMDAzLTEuNjUzbC0uNTQ5LS41NWMtLjU1LS41NTItMS4xMDEtLjU1NC0xLjY1My0uMDA0LS41NTMuNTUtLjU1NCAxLjEwMS0uMDA1IDEuNjU0bC41NS41NXpNMTAuNTU2IDEzLjI3OGguNzc3Yy43NzggMCAxLjE2Ny0uMzkgMS4xNjctMS4xNjcgMC0uNzc4LS4zODktMS4xNjctMS4xNjctMS4xNjdoLS43NzdjLS43NzggMC0xLjE2Ny4zOS0xLjE2NyAxLjE2NyAwIC43NzguMzg5IDEuMTY3IDEuMTY3IDEuMTY3ek0yNS40MzQgMTYuNzg3Yy0uNTQ5LS41MTItMS4wODktLjUwMi0xLjYyLjAyOS0uNTMuNTMtLjU0IDEuMDctLjAyOCAxLjYybC41NDkuNTVjLjU1LjU1IDEuMS41NSAxLjY1IDAgLjU1LS41NS41NS0xLjEgMC0xLjY1bC0uNTUtLjU0OXpNMjUuNzIyIDEyLjExMWMwIC43NzguMzkgMS4xNjcgMS4xNjcgMS4xNjdoLjc3OGMuNzc3IDAgMS4xNjYtLjM5IDEuMTY2LTEuMTY3IDAtLjc3OC0uMzg5LTEuMTY3LTEuMTY2LTEuMTY3aC0uNzc4Yy0uMzIyIDAtLjU5Ny4xMTQtLjgyNS4zNDItLjIyOC4yMjgtLjM0Mi41MDMtLjM0Mi44MjV6TTI0LjYxIDcuNzc5Yy4zMjMgMCAuNTk4LS4xMTQuODI0LS4zNDRsLjU1MS0uNTQ5Yy41NS0uNTUuNTUtMS4xIDAtMS42NS0uNTUtLjU1LTEuMS0uNTUtMS42NSAwbC0uNTUuNTVjLS4zNjYuMzY4LS40NS43OTItLjI1MSAxLjI3MS4xOTguNDguNTU3LjcyIDEuMDc2LjcyMnpNMjEuOTExIDIyLjM1NmMtLjc3MSAwLTEuNTIyLjEyLTIuMjU0LjM2NC0uMTI3LjA0Mi0uMjEuMTI2LS4yNS4yNTQtLjAzOS4xMjctLjAxOC4yNDQuMDYzLjM1IDEuMjgzIDEuNjg5IDIuMDcgMy41ODMgMi4zNjIgNS42ODQuMDIuMTQyLjEwMy4yMTQuMjQ3LjIxNGg0LjkwNmMuODM2IDAgMS40OTItLjM0MyAxLjk2Ny0xLjAzMS0uNzM3LTMuODktMy4wODQtNS44MzUtNy4wNDItNS44MzVoLjAwMXpNOS42NDQgMTkuOTY4Yy0yLjUxOC0uMDA0LTQuNzU4Ljc4My02LjcyIDIuMzYyLS4xLjA4LS4xNDkuMTgzLS4xNDYuMzF2NC4yYy4wMDQgMS41ODguOCAyLjM4MiAyLjM4OCAyLjM4MkgxOS44M2MuMTIyIDAgLjIyMi0uMDQ2LjMtLjE0LjA3Ny0uMDkzLjEwNS0uMi4wODItLjMxOS0xLjA4My01Ljg2My00LjYwNi04Ljc5NS0xMC41NjgtOC43OTV6IiBmaWxsPSIjRkZGIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iI2ZiMmQ4ZCIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICAgICAgPHBhdGggc3Ryb2tlPSIjRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTggMjB2LThsNCA0IDQtNHY4TTIyIDEyLjA3djcuOTE2TTE5LjUgMTcuNWwyLjQ4IDIuNTI1TDI0LjUgMTcuNSIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIgNGgyOHYyNEgyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMiA2YzAtMi42NjctMS4zMzMtNC00LTRINGMtMS4xMDUgMC0yLjA0Ny4zOS0yLjgyOCAxLjE3MkMuMzkgMy45NTIgMCA0Ljg5NSAwIDZ2MjBjMCAyLjY2NyAxLjMzMyA0IDQgNGgyNGMyLjY2NyAwIDQtMS4zMzMgNC00VjZ6TTQgNi42NjdjMC0uNTk0LjI3NC0xLjAwNS44MjMtMS4yMzIuNTQ5LS4yMjcgMS4wMzMtLjEzMSAxLjQ1My4yODkuNDIuNDIuNTE2LjkwNC4yOSAxLjQ1My0uMjI4LjU0OS0uNjM5LjgyMy0xLjIzMy44MjNDNC40NDQgOCA0IDcuNTU2IDQgNi42Njd6bTQgMGMwLS41OTQuMjc0LTEuMDA1LjgyMy0xLjIzMi41NDktLjIyNyAxLjAzMy0uMTMxIDEuNDUzLjI4OS40Mi40Mi41MTYuOTA0LjI5IDEuNDUzLS4yMjguNTQ5LS42MzkuODIzLTEuMjMzLjgyM0M4LjQ0NCA4IDggNy41NTYgOCA2LjY2N3ptNCAwYzAtLjU5NC4yNzQtMS4wMDUuODIzLTEuMjMyLjU0OS0uMjI3IDEuMDMzLS4xMzEgMS40NTMuMjg5LjQyLjQyLjUxNi45MDQuMjkgMS40NTMtLjIyOC41NDktLjYzOS44MjMtMS4yMzMuODIzQzEyLjQ0NCA4IDEyIDcuNTU2IDEyIDYuNjY3ek0yOS4zMzMgMjZjMCAuODg5LS40NDQgMS4zMzMtMS4zMzMgMS4zMzNINGMtLjg4OSAwLTEuMzMzLS40NDQtMS4zMzMtMS4zMzNWMTJjMC0uMTg0LjA2NS0uMzQxLjE5NS0uNDcxLjEzLS4xMy4yODctLjE5Ni40NzEtLjE5NmgyNS4zMzRjLjQ0NCAwIC42NjYuMjIzLjY2Ni42Njd2MTR6IiBmaWxsPSIjMTRiOGZmIi8+CiAgICAgICAgPHBhdGggZD0iTTEwLjMzMyAxNmMwIC42NjcuMzM0IDEgMSAxIC4yMjMgMCAuMzM0LjExMS4zMzQuMzMzdjUuMzM0YzAgLjY2Ni4zMzMgMSAxIDEgLjY2NiAwIDEtLjMzNCAxLTF2LTUuMzM0YzAtLjA5Mi4wMzItLjE3LjA5Ny0uMjM1LjA2NS0uMDY1LjE0NC0uMDk4LjIzNi0uMDk4LjY2NyAwIDEtLjMzMyAxLTFzLS4zMzMtMS0xLTFoLTIuNjY3Yy0uMjc2IDAtLjUxMi4wOTgtLjcwNy4yOTMtLjE5NS4xOTUtLjI5My40My0uMjkzLjcwN3pNNS4zMzMgMjMuNjY3Yy42NjcgMCAxLS4zMzQgMS0xdi0xLjMzNGMwLS4xMjguMDU2LS4yMjQuMTY3LS4yODguMTExLS4wNjQuMjIyLS4wNjQuMzMzIDAgLjExMS4wNjQuMTY3LjE2LjE2Ny4yODh2MS4zMzRjMCAuNjY2LjMzMyAxIDEgMXMxLS4zMzQgMS0xVjE2YzAtLjM4NS0uMTY3LS42NzQtLjUtLjg2Ni0uMzMzLS4xOTItLjY2Ny0uMTkyLTEgMC0uMzMzLjE5Mi0uNS40ODEtLjUuODY2djIuNjY3YzAgLjIyMi0uMTExLjMzMy0uMzMzLjMzMy0uMjIzIDAtLjMzNC0uMTExLS4zMzQtLjMzM1YxNmMwLS4zODUtLjE2Ni0uNjc0LS41LS44NjYtLjMzMy0uMTkyLS42NjYtLjE5Mi0xIDAtLjMzMy4xOTItLjUuNDgxLS41Ljg2NnY2LjY2N2MwIC42NjYuMzM0IDEgMSAxek0yMy42NjcgMjEuMzMzYy4wMDEgMS41NTQuNzggMi4zMzIgMi4zMzMgMi4zMzRoMS4zMzNjLjY2NyAwIDEtLjMzNCAxLTEgMC0uNjY3LS4zMzMtMS0xLTFIMjZjLS4yMjIgMC0uMzMzLS4xMTEtLjMzMy0uMzM0VjE2YzAtLjM4NS0uMTY3LS42NzQtLjUtLjg2Ni0uMzM0LS4xOTItLjY2Ny0uMTkyLTEgMC0uMzM0LjE5Mi0uNS40ODEtLjUuODY2djUuMzMzek0xNy4zMzMgMjMuNjY3Yy42NjcgMCAxLS4zMzQgMS0xdi0yLjc4YzAtLjAzOS4wMi0uMDYzLjA1Ni0uMDczLjAzNy0uMDEuMDY2IDAgLjA4Ni4wMzQuMjA3LjMwMS40OTMuNDUyLjg1OC40NTIuMzY2IDAgLjY1Mi0uMTUuODU5LS40NTIuMDItLjAzMy4wNDgtLjA0NS4wODUtLjAzNC4wMzguMDEuMDU2LjAzNC4wNTYuMDczdjIuNzhjMCAuNjY2LjMzNCAxIDEgMSAuNjY3IDAgMS0uMzM0IDEtMVYxNmMtLjAwMS0uNTA2LS4yNDYtLjgyNy0uNzM0LS45NjJzLS44NjMuMDE0LTEuMTI0LjQ0N2wtLjg1NiAxLjQyOGMtLjA2NS4xMDgtLjE2LjE2MS0uMjg2LjE2MS0uMTI1IDAtLjIyLS4wNTMtLjI4NS0uMTZsLS44NTYtMS40MjljLS4yNjItLjQzMy0uNjM2LS41ODItMS4xMjUtLjQ0Ny0uNDg4LjEzNS0uNzMyLjQ1Ni0uNzM0Ljk2MnY2LjY2N2MwIC42NjYuMzM0IDEgMSAxeiIgZmlsbD0iIzE0YjhmZiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMSAyaDI1djI0SDF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI3LjMzMyAyNC42Njd2LTIyQzI3LjMzMy44ODkgMjYuNDQ0IDAgMjQuNjY3IDBoLTIyQzEuOTMgMCAxLjMwMi4yNi43OC43ODEuMjYxIDEuMzAxIDAgMS45MzEgMCAyLjY2N3YyMmMwIDEuNzc3Ljg4OSAyLjY2NiAyLjY2NyAyLjY2NmgyMmMxLjc3NyAwIDIuNjY2LS44ODkgMi42NjYtMi42NjZ6IiBmaWxsPSIjZmZiNDFmIi8+CiAgICAgICAgPHBhdGggZD0iTTE5LjExMyAxMi45MzNjLS4xMjYtLjYwMy0uNDk3LS45MTEtMS4xMTItLjkyNS0uNjE2LS4wMTQtMSAuMjc3LTEuMTU0Ljg3M2wtMi4xMjMgNC42NjdjLS4wNTEuMTEyLS4xMzcuMTc2LS4yNi4xOTItLjEyMS4wMTctLjIyMS0uMDIzLS4zLS4xMTdsLTEuNDY3LTEuNzUyYy0uMzQtLjQ2Mi0uNzk2LS42Ny0xLjM2OC0uNjI1LS41NzEuMDQ0LS45OS4zMi0xLjI1NC44MjlMNi43NiAyMS42Yy0uMTMzLjIyMi0uMTM2LjQ0Ni0uMDA4LjY3MS4xMjguMjI2LjMyMS4zMzguNTguMzM4SDIyYy4yMzYgMCAuNDItLjA5Ny41NTItLjI5My4xMzItLjE5NS4xNTQtLjQwMi4wNjctLjYyMWwtMy41MDYtOC43NjJ6TTEwLjY2NyA4YzAgMS43NzgtLjg5IDIuNjY3LTIuNjY3IDIuNjY3LTEuNzc4IDAtMi42NjctLjg5LTIuNjY3LTIuNjY3IDAtMS43NzguODktMi42NjcgMi42NjctMi42NjcgMS43NzggMCAyLjY2Ny44OSAyLjY2NyAyLjY2N3oiIGZpbGw9IiNGRkYiLz4KICAgICAgICA8cGF0aCBkPSJNMzAuNjY3IDhjLS4zNjkgMC0uNjgzLjEzLS45NDMuMzktLjI2LjI2LS4zOS41NzUtLjM5Ljk0M3YxOS4zMzRjMCAuNDQ0LS4yMjMuNjY2LS42NjcuNjY2SDkuMzMzYy0uODg5IDAtMS4zMzMuNDQ1LTEuMzMzIDEuMzM0UzguNDQ0IDMyIDkuMzMzIDMyaDIwQzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzdi0yMEMzMiA4LjQ0NCAzMS41NTYgOCAzMC42NjcgOHoiIGZpbGw9IiNmZmI0MWYiLz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgZmlsbD0iIzMwY2Y0MyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMi41Ii8+CiAgICAgICAgPHJlY3QgZmlsbD0iI0ZGRiIgeD0iMyIgeT0iMTUiIHdpZHRoPSIyNiIgaGVpZ2h0PSIyIiByeD0iMSIvPgogICAgICAgIDxyZWN0IGZpbGw9IiNGRkYiIHg9IjMiIHk9IjMiIHdpZHRoPSIyNiIgaGVpZ2h0PSI3IiByeD0iMS41Ii8+CiAgICAgICAgPHJlY3QgZmlsbD0iI0ZGRiIgeD0iMyIgeT0iMjIiIHdpZHRoPSIyNiIgaGVpZ2h0PSI3IiByeD0iMS41Ii8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkPSJNMzIgMi42NjdDMzIgLjg4OSAzMS4xMTEgMCAyOS4zMzMgMEgyLjY2N0MxLjkzIDAgMS4zMDIuMjYuNzguNzgxLjI2MSAxLjMwMSAwIDEuOTMxIDAgMi42Njd2MjYuNjY2QzAgMzEuMTExLjg4OSAzMiAyLjY2NyAzMmgyNi42NjZDMzEuMTExIDMyIDMyIDMxLjExMSAzMiAyOS4zMzNWMi42NjdaIiBmaWxsPSIjRkIyRDhEIi8+CiAgICA8cGF0aCBkPSJNMTUuOTk4LS4wMXYxOC42NzRjLS4wNTQuNTU4LjE3NS45NTEuNjg3IDEuMTguNTI1LjIuOTY1LjA4NCAxLjMyMi0uMzVsMi42ODktMi42ODNhLjQwNC40MDQgMCAwIDEgLjI5NC0uMTIyYy4xMTYgMCAuMjE0LjA0MS4yOTUuMTIybDIuNjkgMi42ODRjLjI0NS4yNzQuNTUyLjQxNy45Mi40MjguMTM5IDAgLjI3My0uMDI2LjQwMS0uMDc4LjUxMi0uMjMuNzQxLS42MjMuNjg3LTEuMThWLS4wNjJsLTkuOTg1LjA1di4wMDJaIiBmaWxsPSIjZmZmIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0ibm9uemVybyIgZmlsbD0ibm9uZSI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iIzE0YjhmZiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy4zMTIgOS41SDguNjg3Yy0xLjIzMyAwLTIgLjc2Ny0yIDJ2OWMwIDEuMjMzLjc2NyAyIDIgMmgxNC42MjVjMS4yMzQgMCAyLS43NjcgMi0ydi05YzAtMS4yMzMtLjc2Ni0yLTItMnpNOC41NiAxMS4yNWgxNC44ODJjLjEuMDA0LjExOC4wMjIuMTIxLjEyMnY5LjI1NmMtLjAwNC4xMTYtLjAyOS4xMjItLjE3OC4xMjJIOC41NmMtLjEtLjAwNC0uMTE4LS4wMjItLjEyMS0uMTIydi05LjI1NmMuMDAzLS4xLjAyMi0uMTE4LjEyMS0uMTIyeiIgZmlsbD0iI0ZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xOC4xMjMgMTMuODg3Yy4zLS4zMjUuNzktLjM3IDEuMTQ0LS4xMjNsLjA5Mi4wNzUgMi44NiAyLjY0M2MuMzU1LjMyOS4zNzcuODgyLjA0OSAxLjIzNy0uMzAxLjMyNS0uNzkxLjM3LTEuMTQ0LjEyM2wtLjA5My0uMDc0LTIuODYtMi42NDRjLS4zNTUtLjMyOC0uMzc2LS44ODItLjA0OC0xLjIzN3pNMTIuNjQgMTMuODM5Yy4zNTYtLjMyOC45MS0uMzA3IDEuMjM3LjA0OC4zMDEuMzI2LjMwOC44MTguMDMzIDEuMTVsLS4wODEuMDg3LTIuODYgMi42NDRjLS4zNTUuMzI4LS45MDguMzA2LTEuMjM3LS4wNDktLjMtLjMyNS0uMzA3LS44MTgtLjAzMy0xLjE1bC4wODItLjA4NyAyLjg2LTIuNjQzeiIgZmlsbD0iI0ZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy42NjMgMTAuMDRjLjM5OC0uMjc0Ljk0My0uMTc0IDEuMjE3LjIyNC4yNTIuMzY0LjE4OS44NTMtLjEzIDEuMTQzbC0uMDkzLjA3NC03LjEzNSA0LjkyYy0uOTI1LjYzOC0xLjkzNS42NzYtMi44Ny4xMTJsLS4xNzQtLjExMi03LjEzNS00LjkyYy0uMzk4LS4yNzUtLjQ5OC0uODItLjIyMy0xLjIxNy4yNTEtLjM2NS43My0uNDggMS4xMTQtLjI4NWwuMTAzLjA2MSA3LjEzNSA0LjkyYy4zNDYuMjQuNjEzLjI2My45NDQuMDcybC4xMTMtLjA3MiA3LjEzNC00LjkyeiIgZmlsbD0iI0ZGRiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMyIgZmlsbD0iI0ZGQjQxRiIvPgogIDxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIGZpbGw9IiNmZmYiPgogICAgPHBhdGggZD0iTTE0LjUzNiAxNS41NjhsMi42OCA4LjkzMWEuODMuODMgMCAwMDEuMzgyLjM0OWwxLjM2NS0xLjM2NSAzLjUyMiAzLjUyMmEuODMuODMgMCAwMDEuMTc0IDBsMi4zNDgtMi4zNDhhLjgzLjgzIDAgMDAwLTEuMTc0bC0zLjUyMi0zLjUyMkwyNC44NSAxOC42YS44MjkuODI5IDAgMDAtLjM0OC0xLjM4MmwtOC45MzItMi42OGEuODMuODMgMCAwMC0xLjAzNCAxLjAzeiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi44NiA0LjI1NUExMS4yNSAxMS4yNSAwIDAxMjYuNDcgMTQuNDQ3YS43NS43NSAwIDAxLTEuNDk2LjEwNiA5Ljc1IDkuNzUgMCAxMC0xMC40MjEgMTAuNDIuNzUuNzUgMCAwMS0uMTA3IDEuNDk2IDExLjI1IDExLjI1IDAgMDEtMS41ODgtMjIuMjE0eiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy4zMDUgOC43ODVhNi43NSA2Ljc1IDAgMDE4LjIwMyAzLjkzNC43NS43NSAwIDExLTEuMzkuNTYyIDUuMjUgNS4yNSAwIDEwLTYuODM3IDYuODM1Ljc1Ljc1IDAgMTEtLjU2MiAxLjM5IDYuNzUgNi43NSAwIDAxLjU4Ni0xMi43MnoiLz4KICA8L2c+CiAgPGNsaXBQYXRoIGlkPSJjbGlwMCI+CiAgICA8cGF0aCBmaWxsPSIjZmZmIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0IDQpIiBkPSJNMCAwaDI0djI0SDB6Ii8+CiAgPC9jbGlwUGF0aD4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTMwIDBIMmEyIDIgMCAwMC0yIDJ2MjhhMiAyIDAgMDAyIDJoMjhhMiAyIDAgMDAyLTJWMmEyIDIgMCAwMC0yLTJ6IiBmaWxsPSIjMzBDRjQzIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTkgOS4wMDFjNC4wMDctLjA2IDcuOTYyIDIuNzM3IDEwLjM2NiA1LjQyNWwuMDA0LjAwNGEyLjUxNyAyLjUxNyAwIDAxMCAzLjMzN2wtLjAwMy4wMDRjLTIuMzQ5IDIuNjI4LTYuMjk0IDUuNDktMTAuMzY3IDUuNDI4LTQuMDczLjA2MS04LjAxOC0yLjgtMTAuMzY1LTUuNDI5bC0uMDAzLS4wMDNhMi41MTcgMi41MTcgMCAwMTAtMy4zMzdsLjAwMy0uMDA0QzguMDM2IDExLjczOCAxMS45OTEgOC45NCAxNiA5LjAwMWgtLjAwMXptLTguODcyIDYuNzU2YS41MTcuNTE3IDAgMDAwIC42ODNjMi4yMDggMi40NzIgNS42NDUgNC44MTQgOC44NTUgNC43NTloLjAzNGMzLjIwOS4wNTUgNi42NDctMi4yODcgOC44NTctNC43NTlhLjUxOC41MTggMCAwMDAtLjY4M2MtMi4yNTctMi41MjItNS43MDUtNC44MS04Ljg1Ny00Ljc1NmgtLjAzNGMtMy4xNTItLjA1NC02LjYgMi4yMzQtOC44NTUgNC43NTZ6IiBmaWxsPSIjZmZmIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNiAxOGEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNHptMCAyYTQgNCAwIDEwMC04IDQgNCAwIDAwMCA4eiIgZmlsbD0iI2ZmZiIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOSAwSDNDMS4zNDMxNSAwIDAgMS4zNDMxNSAwIDNWMjlDMCAzMC42NTY5IDEuMzQzMTUgMzIgMyAzMkgyOUMzMC42NTY5IDMyIDMyIDMwLjY1NjkgMzIgMjlWM0MzMiAxLjM0MzE1IDMwLjY1NjkgMCAyOSAwWiIgZmlsbD0iI0ZCMkQ4RCIvPgogICAgPHBhdGggZD0iTTEzLjUzNjEgMTUuNTY4TDE2LjIxNjEgMjQuNDk5QzE2LjI1NzMgMjQuNjM2NiAxNi4zMzM1IDI0Ljc2MTIgMTYuNDM3MiAyNC44NjA1QzE2LjU0MSAyNC45NTk5IDE2LjY2ODggMjUuMDMwNiAxNi44MDggMjUuMDY1OEMxNi45NDczIDI1LjEwMSAxNy4wOTMzIDI1LjA5OTQgMTcuMjMxOCAyNS4wNjEyQzE3LjM3MDMgMjUuMDIzIDE3LjQ5NjUgMjQuOTQ5NiAxNy41OTgxIDI0Ljg0OEwxOC45NjMxIDIzLjQ4M0wyMi40ODUxIDI3LjAwNUMyMi41NjIyIDI3LjA4MjEgMjIuNjUzNyAyNy4xNDMzIDIyLjc1NDQgMjcuMTg1QzIyLjg1NTEgMjcuMjI2NyAyMi45NjMxIDI3LjI0ODIgMjMuMDcyMSAyNy4yNDgyQzIzLjE4MTEgMjcuMjQ4MiAyMy4yODkxIDI3LjIyNjcgMjMuMzg5OCAyNy4xODVDMjMuNDkwNSAyNy4xNDMzIDIzLjU4MiAyNy4wODIxIDIzLjY1OTEgMjcuMDA1TDI2LjAwNzEgMjQuNjU3QzI2LjA4NDIgMjQuNTc5OSAyNi4xNDU0IDI0LjQ4ODQgMjYuMTg3MSAyNC4zODc3QzI2LjIyODggMjQuMjg3IDI2LjI1MDMgMjQuMTc5IDI2LjI1MDMgMjQuMDdDMjYuMjUwMyAyMy45NjEgMjYuMjI4OCAyMy44NTMgMjYuMTg3MSAyMy43NTIzQzI2LjE0NTQgMjMuNjUxNiAyNi4wODQyIDIzLjU2MDEgMjYuMDA3MSAyMy40ODNMMjIuNDg1MSAxOS45NjFMMjMuODUwMSAxOC42QzIzLjk1MiAxOC40OTg2IDI0LjAyNTcgMTguMzcyNSAyNC4wNjQxIDE4LjIzNEMyNC4xMDI1IDE4LjA5NTUgMjQuMTA0MyAxNy45NDk0IDI0LjA2OTIgMTcuODFDMjQuMDM0MSAxNy42NzA3IDIzLjk2MzQgMTcuNTQyOCAyMy44NjM5IDE3LjQzOUMyMy43NjQ1IDE3LjMzNTIgMjMuNjM5OCAxNy4yNTkxIDIzLjUwMjEgMTcuMjE4TDE0LjU3MDEgMTQuNTM4QzE0LjQyNjkgMTQuNDk1MiAxNC4yNzQ4IDE0LjQ5MTggMTQuMTI5OCAxNC41MjgyQzEzLjk4NDggMTQuNTY0NyAxMy44NTI0IDE0LjYzOTYgMTMuNzQ2NCAxNC43NDUxQzEzLjY0MDUgMTQuODUwNiAxMy41NjUxIDE0Ljk4MjggMTMuNTI4MSAxNS4xMjc2QzEzLjQ5MSAxNS4yNzI1IDEzLjQ5MzggMTUuNDI0NiAxMy41MzYxIDE1LjU2OFoiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMTIuMjg3MSAyMy43NUMxMi43MDEzIDIzLjc1IDEzLjAzNzEgMjMuNDE0MiAxMy4wMzcxIDIzQzEzLjAzNzEgMjIuNTg1OCAxMi43MDEzIDIyLjI1IDEyLjI4NzEgMjIuMjVWMjMuNzVaTTI1Ljc1IDE3LjI0OTZDMjUuNzUgMTcuNjYzOCAyNi4wODU4IDE3Ljk5OTYgMjYuNSAxNy45OTk2QzI2LjkxNDIgMTcuOTk5NiAyNy4yNSAxNy42NjM4IDI3LjI1IDE3LjI0OTZIMjUuNzVaTTguNSA5Ljc1SDIzLjVWOC4yNUg4LjVWOS43NVpNNi4yNSAyMFYxMkg0Ljc1VjIwSDYuMjVaTTEyLjI4NzEgMjIuMjVIMTAuNzVWMjMuNzVIMTIuMjg3MVYyMi4yNVpNMTAuNzUgMjIuMjVIOC41VjIzLjc1SDEwLjc1VjIyLjI1Wk0yNS43NSAxMlYxNkgyNy4yNVYxMkgyNS43NVpNMjUuNzUgMTZWMTcuMjQ5NkgyNy4yNVYxNkgyNS43NVpNNC43NSAyMEM0Ljc1IDIyLjA3MTEgNi40Mjg5MyAyMy43NSA4LjUgMjMuNzVWMjIuMjVDNy4yNTczNiAyMi4yNSA2LjI1IDIxLjI0MjYgNi4yNSAyMEg0Ljc1Wk0yMy41IDkuNzVDMjQuNzQyNiA5Ljc1IDI1Ljc1IDEwLjc1NzQgMjUuNzUgMTJIMjcuMjVDMjcuMjUgOS45Mjg5MyAyNS41NzExIDguMjUgMjMuNSA4LjI1VjkuNzVaTTguNSA4LjI1QzYuNDI4OTMgOC4yNSA0Ljc1IDkuOTI4OTMgNC43NSAxMkg2LjI1QzYuMjUgMTAuNzU3NCA3LjI1NzM2IDkuNzUgOC41IDkuNzVWOC4yNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHJ4PSIzIiBmaWxsPSIjMTRCOEZGIi8+CiAgICA8ZyBmaWxsPSIjZmZmIj4KICAgICAgICA8cGF0aCBkPSJNMjAgMTEuNzVhMi4yNDIgMi4yNDIgMCAwIDAtMS45OTMtMi4yMjUgOS40MTQgOS40MTQgMCAwIDAtLjI1NyAyLjIyNWMtLjAwMy43NDkuMDgzIDEuNDk2LjI1NyAyLjIyNEEyLjI0MyAyLjI0MyAwIDAgMCAyMCAxMS43NVpNMTMuNzUgMTguNDMzIDkuNDEgMTcuMDVsMS45NzMgNC44NTZhMS43NDYgMS43NDYgMCAwIDAgMy4zNjctLjYzNmMuMDAzLS4yMy0uMDQtLjQ1Ny0uMTI2LS42N2wtLjg3NC0yLjE2N1oiLz4KICAgICAgICA8cGF0aCBkPSJNMTkuMjUgNWMtLjI3IDAtLjUzNy4wNDgtLjc5LjEzOUw3LjA0NiA4Ljc3OEEyLjg2NCAyLjg2NCAwIDAgMCA1IDExLjc1YTIuODU3IDIuODU3IDAgMCAwIDIuMDI1IDIuOTY1bDExLjQzNyAzLjY0NmMuMjUzLjA5MS41Mi4xMzguNzg4LjEzOSAyLjEzOCAwIDMuNzUtMi45MDIgMy43NS02Ljc1UzIxLjM4OCA1IDE5LjI1IDVabTAgMTJDMTguMTg4IDE3IDE3IDE0Ljc1NSAxNyAxMS43NXMxLjE4OC01LjI1IDIuMjUtNS4yNSAyLjI1IDIuMjQ1IDIuMjUgNS4yNVMyMC4zMTIgMTcgMTkuMjUgMTdaIi8+CiAgICA8L2c+CiAgICA8Y2xpcFBhdGg+CiAgICAgICAgPHBhdGggZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSA1KSIgZD0iTTAgMGgxOHYxOEgweiIvPgogICAgPC9jbGlwUGF0aD4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOSAwSDNDMS4zNDMxNSAwIDAgMS4zNDMxNSAwIDNWMjlDMCAzMC42NTY5IDEuMzQzMTUgMzIgMyAzMkgyOUMzMC42NTY5IDMyIDMyIDMwLjY1NjkgMzIgMjlWM0MzMiAxLjM0MzE1IDMwLjY1NjkgMCAyOSAwWiIgZmlsbD0iI0ZGQjQxRiIvPgogICAgPHBhdGggZD0iTTUuNSA3Ljc1SDI2LjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik01LjUgMjQuMjVIMjYuNSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTE5IDE5Ljc1VjEzLjc1QzE5IDEzLjM1MjIgMTkuMTU4IDEyLjk3MDYgMTkuNDM5MyAxMi42ODkzQzE5LjcyMDYgMTIuNDA4IDIwLjEwMjIgMTIuMjUgMjAuNSAxMi4yNUgyMiIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTE5IDE2Ljc1SDIxLjI1IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICA8cGF0aCBkPSJNMTYgMTkuNzVWMTIuMjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik0xMi4yNSAxNi43NUgxM1YxOC4yNUMxMyAxOC42NDc4IDEyLjg0MiAxOS4wMjk0IDEyLjU2MDcgMTkuMzEwN0MxMi4yNzk0IDE5LjU5MiAxMS44OTc4IDE5Ljc1IDExLjUgMTkuNzVDMTEuMTAyMiAxOS43NSAxMC43MjA2IDE5LjU5MiAxMC40MzkzIDE5LjMxMDdDMTAuMTU4IDE5LjAyOTQgMTAgMTguNjQ3OCAxMCAxOC4yNVYxMy43NUMxMCAxMy4zNTIyIDEwLjE1OCAxMi45NzA2IDEwLjQzOTMgMTIuNjg5M0MxMC43MjA2IDEyLjQwOCAxMS4xMDIyIDEyLjI1IDExLjUgMTIuMjVIMTMiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgcng9IjMiIGZpbGw9IiNmZmI0MWYiLz4KICAgIDxyZWN0IHg9IjIiIHk9IjgiIHdpZHRoPSIxNSIgaGVpZ2h0PSI0IiByeD0iMS41IiBmaWxsPSJ3aGl0ZSIvPgogICAgPHJlY3QgeD0iMiIgeT0iMTUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyIiByeD0iMSIgZmlsbD0id2hpdGUiLz4KICAgIDxyZWN0IHg9IjIiIHk9IjE5IiB3aWR0aD0iMjQiIGhlaWdodD0iMiIgcng9IjEiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMjAgOUwyMi41IDExLjVMMjUgOSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iIzMwQ0Y0MyIvPgogIDxwYXRoIGQ9Ik0xMi4wNyAyMC43N2EuOTk4Ljk5OCAwIDAgMS0xLjQ0NS0uODk0di02Ljc1MmEuOTk5Ljk5OSAwIDAgMSAxLjQ0NC0uODk0bDYuNzU0IDMuMzc3YS45OTcuOTk3IDAgMCAxIDAgMS43ODVMMTIuMDcgMjAuNzdaIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxyZWN0IHg9IjMiIHk9IjIiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIHJ4PSIxIiBmaWxsPSIjZmZmIi8+CiAgPHJlY3QgeD0iOSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIxNSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIyMSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iI0ZCMkQ4RCIvPgogIDxwYXRoIGQ9Ik05IDIxYzEuMTA1IDAgMi0uOTMzIDItMi4wODRzLS44OTUtMi4wODQtMi0yLjA4NC0yIC45MzMtMiAyLjA4NEM3IDIwLjA2NiA3Ljg5NSAyMSA5IDIxWk0xOSAxOC45MTZjMS4xMDUgMCAyLS45MzMgMi0yLjA4NHMtLjg5NS0yLjA4NC0yLTIuMDg0LTIgLjkzMy0yIDIuMDg0YzAgMS4xNS44OTUgMi4wODQgMiAyLjA4NFoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxwYXRoIGQ9Ik0yMSAxNi44MzR2LTcuNzVjMC0uMzE3LS4wNy0uNjMtLjIwMy0uOTE0YTIuMDcgMi4wNyAwIDAgMC0uNTY2LS43MjkgMS45NjUgMS45NjUgMCAwIDAtLjgxNi0uMzk2IDEuOTIyIDEuOTIyIDAgMCAwLS45LjAxN2wtNiAxLjA0MmExLjk5NSAxLjk5NSAwIDAgMC0xLjA5MS43NEEyLjE0IDIuMTQgMCAwIDAgMTEgMTAuMTI0djguNzkyIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iIzE0QjhGRiIvPgogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMjI5IDYuNjUzYTIuNjI1IDIuNjI1IDAgMCAwLTIuODgyLjYwNWwtLjAxLjAxLTYuNzYxIDYuNzYxYTQuMzEyIDQuMzEyIDAgMSAwIDYuMDk4IDYuMDk5bDguMjMzLTguMjM0YS43NS43NSAwIDEgMSAxLjA2IDEuMDZsLTguMjMyIDguMjM0YTUuODEyIDUuODEyIDAgMSAxLTguMjItOC4yMmw2Ljc1OC02Ljc1N2E0LjEyNCA0LjEyNCAwIDEgMSA1LjgzMyA1LjgzM2wtNi43NjcgNi43N2EyLjQzNyAyLjQzNyAwIDAgMS0zLjQ0Ny0zLjQ0NmwuMDEtLjAxIDYuNzYxLTYuNzY0YS43NS43NSAwIDEgMSAxLjA2MSAxLjA2bC02Ljc1NyA2Ljc2YS45MzcuOTM3IDAgMCAwIDEuMzI2IDEuMzI1bDYuNzY1LTYuNzY5YTIuNjI2IDIuNjI2IDAgMCAwLS44My00LjMxN1oiIGZpbGw9IiNmZmYiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgcng9IjMiIGZpbGw9IiMzQkNENEMiLz4KICAgIDxwYXRoIGQ9Ik0xNy4wMTQxIDExLjM0NTRDMTcuMDc3NSAxMS4zMTY1IDE3LjExODIgMTEuMjUzMiAxNy4xMTgyIDExLjE4MzVDMTcuMTE4MiAxMS4xMTM3IDE3LjA3NzUgMTEuMDUwNCAxNy4wMTQxIDExLjAyMTVMMTAuMDY3OCA3Ljg1NDg4QzkuOTc1OCA3LjgxNCA5Ljg3MDc4IDcuODE0IDkuNzc4NzcgNy44NTQ4OEw3LjA2MTM1IDkuMDMzODJDNi45OTU3MiA5LjA2MTc4IDYuOTUzMTIgOS4xMjYyMyA2Ljk1MzEyIDkuMTk3NTdDNi45NTMxMiA5LjI2ODkgNi45OTU3MiA5LjMzMzM1IDcuMDYxMzUgOS4zNjEzMUwxNC4zODcxIDEyLjQxNEMxNC40Nzg0IDEyLjQ1MjMgMTQuNTgxNiAxMi40NTA4IDE0LjY3MTggMTIuNDA5OEwxNy4wMTQxIDExLjM0NTRaIiBmaWxsPSJ3aGl0ZSIvPgogICAgPHBhdGggZD0iTTIxLjM1MDIgOS4zNzIwMkMyMS40MTQxIDkuMzQzMjkgMjEuNDU1MiA5LjI3OTc1IDIxLjQ1NTIgOS4yMDk3QzIxLjQ1NTIgOS4xMzk2NSAyMS40MTQxIDkuMDc2MTIgMjEuMzUwMiA5LjA0NzM4TDE0LjQ3MTYgNi4wNTk0M0MxNC4yOSA1Ljk4MDE5IDE0LjA4MzcgNS45ODAxOSAxMy45MDIxIDYuMDU5NDNMMTEuNjA5NyA3LjA1NjEzQzExLjU0NTQgNy4wODQ2OCAxMS41MDM5IDcuMTQ4NDQgMTEuNTAzOSA3LjIxODhDMTEuNTAzOSA3LjI4OTE3IDExLjU0NTQgNy4zNTI5MyAxMS42MDk3IDcuMzgxNDhMMTguNTE1MyAxMC41Mjk2QzE4LjYwOSAxMC41NzIyIDE4LjcxNjUgMTAuNTcyMiAxOC44MTAxIDEwLjUyOTZMMjEuMzUwMiA5LjM3MjAyWiIgZmlsbD0id2hpdGUiLz4KICAgIDxwYXRoIGQ9Ik02LjI0NjMzIDEwLjE3NzdDNi4xOTEzOCAxMC4xNTQ5IDYuMTI4NjUgMTAuMTYxIDYuMDc5MTYgMTAuMTk0QzYuMDI5NjYgMTAuMjI3MSA1Ljk5OTk2IDEwLjI4MjcgNiAxMC4zNDIyVjE4LjI3NzNDNS45OTk5OCAxOC41NjQ2IDYuMTcyNjYgMTguODIzOCA2LjQzNzgzIDE4LjkzNDRMMTMuNzYgMjEuOTg2NEMxMy44MTQ5IDIyLjAwOTMgMTMuODc3NyAyMi4wMDMxIDEzLjkyNzEgMjEuOTcwMUMxMy45NzY2IDIxLjkzNyAxNC4wMDYzIDIxLjg4MTUgMTQuMDA2MyAyMS44MjE5VjEzLjUzMDlDMTQuMDA2MiAxMy40NTkgMTMuOTYzIDEzLjM5NDIgMTMuODk2NyAxMy4zNjY0TDYuMjQ2MzMgMTAuMTc3N1oiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMTUuMDc4MSAyMS43ODk5QzE1LjA3ODQgMjEuODUwMiAxNS4xMDkyIDIxLjkwNjMgMTUuMTU5OSAyMS45MzlDMTUuMjEwNSAyMS45NzE4IDE1LjI3NDMgMjEuOTc2NyAxNS4zMjk0IDIxLjk1MjJMMjEuOTU4MiAxOC45Mzk0QzIyLjIxMjIgMTguODIzOCAyMi4zNzUzIDE4LjU3MDUgMjIuMzc1NCAxOC4yOTE1VjEwLjM1NzhDMjIuMzc1NCAxMC4yOTczIDIyLjM0NDcgMTAuMjQxIDIyLjI5MzkgMTAuMjA4MkMyMi4yNDMxIDEwLjE3NTMgMjIuMTc5MSAxMC4xNzA2IDIyLjEyNCAxMC4xOTU1TDE1LjE4NDkgMTMuMzUwN0MxNS4xMjExIDEzLjM3OTIgMTUuMDgwMSAxMy40NDI1IDE1LjA4MDMgMTMuNTEyNEwxNS4wNzgxIDIxLjc4OTlaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOS41IDBIMi41QzEuMTE5MjkgMCAwIDEuMTE5MjkgMCAyLjVWMjkuNUMwIDMwLjg4MDcgMS4xMTkyOSAzMiAyLjUgMzJIMjkuNUMzMC44ODA3IDMyIDMyIDMwLjg4MDcgMzIgMjkuNVYyLjVDMzIgMS4xMTkyOSAzMC44ODA3IDAgMjkuNSAwWiIgZmlsbD0iI0ZCMkQ4RCIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02IDEwQzYgOC44OTU0MyA2Ljg5NTQzIDggOCA4SDI0QzI1LjEwNDYgOCAyNiA4Ljg5NTQzIDI2IDEwVjE1QzI2IDE2LjEwNDYgMjUuMTA0NiAxNyAyNCAxN0g4QzYuODk1NDMgMTcgNiAxNi4xMDQ2IDYgMTVWMTBaTTYgMjRDNiAyMy40NDc3IDYuNDQ3NzIgMjMgNyAyM0gyNUMyNS41NTIzIDIzIDI2IDIzLjQ0NzcgMjYgMjRDMjYgMjQuNTUyMyAyNS41NTIzIDI1IDI1IDI1SDdDNi40NDc3MiAyNSA2IDI0LjU1MjMgNiAyNFpNNyAxOUM2LjQ0NzcyIDE5IDYgMTkuNDQ3NyA2IDIwQzYgMjAuNTUyMyA2LjQ0NzcyIDIxIDcgMjFIMjVDMjUuNTUyMyAyMSAyNiAyMC41NTIzIDI2IDIwQzI2IDE5LjQ0NzcgMjUuNTUyMyAxOSAyNSAxOUg3WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMxLjI1MiA4LjQ4OGMtLjM2Ni0xLjM3LTEuNDQ4LTIuNDUyLTIuODI0LTIuODIzQzI1Ljk0MSA1IDE1Ljk1OCA1IDE1Ljk1OCA1cy05Ljk3NyAwLTEyLjQ3LjY2NWMtMS4zNy4zNjYtMi40NTIgMS40NDctMi44MjMgMi44MjNDMCAxMC45NzYgMCAxNi4xNyAwIDE2LjE3czAgNS4xOTQuNjY1IDcuNjgyYy4zNjYgMS4zNzIgMS40NDcgMi40NTMgMi44MjMgMi44MjMgMi40OTMuNjY2IDEyLjQ3LjY2NiAxMi40Ny42NjZzOS45ODMgMCAxMi40Ny0uNjY2YzEuMzcyLS4zNjUgMi40NTMtMS40NDcgMi44MjQtMi44MjMuNjY1LTIuNDg4LjY2NS03LjY4Mi42NjUtNy42ODJzMC01LjE5NC0uNjY1LTcuNjgyIiBmaWxsPSIjRDkyNTJBIi8+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRkZGRSIgZD0iTTEyLjc3IDIwLjk1OGw4LjI5MS00Ljc4OC04LjI5MS00Ljc4OHY5LjU3NiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xMC4wNjMgMjkuMDAyYzEyLjA3NiAwIDE4LjY4LTEwLjAwNSAxOC42OC0xOC42OCAwLS4yODUgMC0uNTY3LS4wMTktLjg1QzMwLjAxIDguNTQ1IDMxLjEyIDcuMzkzIDMyIDYuMDc2Yy0xLjE5OC41My0yLjQ3Ljg3OS0zLjc3IDEuMDMyIDEuMzctLjgyIDIuMzk1LTIuMTEgMi44ODYtMy42My0xLjI5Ljc2NC0yLjcgMS4zMDMtNC4xNyAxLjU5My0yLjAzNS0yLjE2NC01LjI2OC0yLjY5NC03Ljg4Ny0xLjI5Mi0yLjYyIDEuNDAxLTMuOTczIDQuMzg2LTMuMyA3LjI4LTUuMjgtLjI2NS0xMC4xOTgtMi43NTgtMTMuNTMyLTYuODYtMS43NDIgMy0uODUyIDYuODM4IDIuMDMzIDguNzY0LTEuMDQ1LS4wMy0yLjA2Ny0uMzEzLTIuOTgtLjgyMnYuMDg0YzAgMy4xMjUgMi4yMDQgNS44MTcgNS4yNjcgNi40MzUtLjk2Ni4yNjQtMS45OC4zMDMtMi45NjQuMTEzLjg2IDIuNjc1IDMuMzI1IDQuNTA3IDYuMTMzIDQuNTYtMi4zMjQgMS44MjctNS4xOTYgMi44MTgtOC4xNTMgMi44MTUtLjUyMiAwLTEuMDQ0LS4wMzItMS41NjMtLjA5NCAzLjAwMiAxLjkyNyA2LjQ5NiAyLjk0OSAxMC4wNjMgMi45NDQiIGZpbGw9IiMxREExRjIiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjIuNDMgMTIyLjQxIj4KICAgIDxwYXRoIGQ9Ik04My44NiA1NC4xNXYzNC4xM0gzOC41N1Y1NC4xNUgwdjY4LjI2aDEyMi40M1Y1NC4xNUg4My44NnpNMzguNTcgMGg0NS4zdjM0LjEzaC00NS4zeiIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMxLjg4NiAyNS41MDhjMCAzLjUyMi0yLjg1NSA2LjM3Ny02LjM3NyA2LjM3N0g2LjM3N0MyLjg1NyAzMS44ODUgMCAyOS4wMyAwIDI1LjUwOFY2LjM3OEMwIDIuODU0IDIuODU3IDAgNi4zNzcgMEgyNS41MWMzLjUyMiAwIDYuMzc3IDIuODU1IDYuMzc3IDYuMzc3djE5LjEzMSIgZmlsbD0iIzBGQjdGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNS45OTggMTAuNThjLjE3NS0uOTgyLjE3LTEuOTkyLS40MzYtMi43NTUtLjg0Ni0xLjA3LTIuNjQ2LTEuMTEtMy44OC0uOTIxLTEuMDAzLjE1My00LjM5NyAxLjY1MS01LjU1MiA1LjIzNiAyLjA0Ni0uMTU2IDMuMTE4LjE0OCAyLjkyMSAyLjQtLjA4Mi45NDMtLjU1OCAxLjk3Ni0xLjA5IDIuOTY2LS42MTQgMS4xNDEtMS43NjUgMy4zODItMy4yNzQgMS43NjctMS4zNi0xLjQ1NC0xLjI1Ny00LjIzNS0xLjU2OC02LjA4Ni0uMTczLTEuMDQtLjM1Ni0yLjMzNC0uNjk3LTMuNDAyLS4yOTMtLjkyLS45NjYtMi4wMjctMS43ODgtMi4yNjctLjg4NC0uMjYtMS45NzYuMTQ2LTIuNjE4LjUyMy0yLjA0MiAxLjItMy41OTggMi45MDgtNS4zNjUgNC4zMTd2LjEzMmMuMzUuMzM1LjQ0NC44ODQuOTYuOTU5IDEuMjE2LjE3OSAyLjM3NS0xLjEzNCAzLjE4NC4yMzIuNDkyLjgzNC42NDUgMS43NDkuOTYgMi42NDguNDIgMS4xOTguNzQ2IDIuNTAzIDEuMDkgMy44OC41ODMgMi4zMzQgMS4yOTkgNS44MiAzLjMxNiA2LjY3NSAxLjAyOS40MzcgMi41NzUtLjE0OCAzLjM1OC0uNjEyIDIuMTIyLTEuMjU1IDMuNzc1LTMuMDc1IDUuMTktNC45MjcgMy4yMzQtNC4zODIgNS4wMTktOS4zNDcgNS4yODktMTAuNzY1IiBmaWxsPSIjRkZGRkZFIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zMS45NzYgMTAuODg2Yy0uMDA3LS4wMzktLjAxNC0uMDc4LS4wMjQtLjExNmwtLjAyMi0uMDY2Yy0uMDEtLjAzNC0uMDIyLS4wNjgtLjAzNS0uMWwtLjAzLS4wNjdjLS4wMTUtLjAzMS0uMDMtLjA2Mi0uMDQ4LS4wOTItLjAxMi0uMDIyLS4wMjYtLjA0Mi0uMDM5LS4wNjMtLjAxOC0uMDI5LS4wMzctLjA1Ny0uMDU4LS4wODQtLjAxNS0uMDItLjAzLS4wNC0uMDQ3LS4wNTktLjAyMi0uMDI2LS4wNDUtLjA1LS4wNjgtLjA3NWwtLjA1NS0uMDUzYy0uMDI1LS4wMjMtLjA1MS0uMDQ1LS4wNzgtLjA2NS0uMDIxLS4wMTYtLjA0MS0uMDMzLS4wNjMtLjA0Ny0uMDA4LS4wMDYtLjAxNC0uMDEzLS4wMjMtLjAxOEwxNi43NjIuMjMxYy0uNDYxLS4zMDgtMS4wNjMtLjMwOC0xLjUyNSAwTC42MTIgOS45ODFsLS4wMjIuMDE3Yy0uMDIyLjAxNS0uMDQyLjAzMS0uMDYzLjA0Ny0uMDI3LjAyMS0uMDUzLjA0My0uMDc4LjA2NS0uMDE5LjAxNy0uMDM3LjAzNS0uMDU1LjA1NC0uMDI0LjAyNC0uMDQ2LjA0OC0uMDY4LjA3NC0uMDE3LjAyLS4wMzIuMDM5LS4wNDcuMDYtLjAyLjAyOC0uMDQuMDU1LS4wNTguMDg0bC0uMDQuMDY0Yy0uMDE3LjAzLS4wMzIuMDYtLjA0Ni4wOS0uMDEuMDIyLS4wMjIuMDQ1LS4wMy4wNjctLjAxNC4wMzMtLjAyNi4wNjctLjAzNi4xbC0uMDIyLjA2NWMtLjAxLjAzOC0uMDE3LjA3Ni0uMDI0LjExNS0uMDA0LjAyLS4wMDguMDQtLjAxLjA2LS4wMDkuMDYtLjAxMy4xMTktLjAxMy4xOHY5Ljc1MWMwIC4wNi4wMDQuMTIxLjAxMy4xOC4wMDMuMDIyLjAwOS4wMzkuMDEzLjA2LjAwNy4wMzguMDEzLjA3Ny4wMjYuMTE2bC4wMjEuMDY3Yy4wMTEuMDM0LjAyMi4wNjkuMDM1LjEuMDA5LjAyMi4wMjEuMDQzLjAzLjA2NS4wMTQuMDMuMDMuMDYuMDQ3LjA5Mi4wMTIuMDIxLjAyNi4wNDMuMDQuMDYyLjAxOC4wMy4wMzguMDU2LjA2LjA4Mi4wMTQuMDIyLjAzLjA0LjA0Ny4wNi4wMjIuMDI2LjA0My4wNTEuMDY5LjA3NC4wMTcuMDE4LjAzNC4wNC4wNTYuMDUybC4wNzcuMDY2Yy4wMjEuMDE3LjA0My4wMy4wNi4wNDYuMDA5LjAwNS4wMTQuMDEzLjAyMi4wMTdsMTQuNjIxIDkuNzU1Yy4yMzEuMTU1LjQ5Ni4yMzMuNzYzLjIzMi4yNjctLjAwMi41MzItLjA3OC43NjMtLjIzMmwxNC42MjUtOS43NS4wMjItLjAxNmMuMDIyLS4wMTUuMDQyLS4wMzEuMDYzLS4wNDcuMDI3LS4wMjEuMDUzLS4wNDMuMDc4LS4wNjZsLjA1NS0uMDUzYy4wMjQtLjAyNC4wNDctLjA0OS4wNjgtLjA3NS4wMTctLjAyLjAzMi0uMDM5LjA0Ny0uMDYuMDItLjAyNi4wNC0uMDU0LjA1OC0uMDgzLjAxNC0uMDIuMDI3LS4wNDIuMDQtLjA2My4wMTctLjAzLjAzMi0uMDYuMDQ3LS4wOTJsLjAzLS4wNjZjLjAxNC0uMDMzLjAyNS0uMDY3LjAzNS0uMS4wMDgtLjAyMy4wMTYtLjA0NS4wMjItLjA2Ny4wMS0uMDM4LjAxNy0uMDc3LjAyNC0uMTE2LjAwNC0uMDIuMDA5LS4wMzkuMDEtLjA2LjAwOS0uMDU5LjAxMy0uMTE4LjAxMy0uMTc5di05Ljc1YzAtLjA2LS4wMDUtLjEyLS4wMTItLjE4LS4wMDQtLjAyLS4wMS0uMDM4LS4wMTQtLjA2aC4wMDJ6TTE2IDE5LjI1M0wxMS4xMzcgMTYgMTYgMTIuNzQ3IDIwLjg2MyAxNiAxNiAxOS4yNTN6bS0xLjM3NS04Ljg5NWwtNS45NjIgMy45ODgtNC44MTItMy4yMiAxMC43NzQtNy4xODJ2Ni40MTR6TTYuMTkgMTZsLTMuNDQgMi4zVjEzLjdsMy40NCAyLjN6bTIuNDczIDEuNjU1bDUuOTYyIDMuOTg3djYuNDE0TDMuODUgMjAuODczbDQuODEyLTMuMjE5di4wMDF6bTguNzEyIDMuOTg2bDUuOTYxLTMuOTg3IDQuODEzIDMuMjItMTAuNzc0IDcuMTgxdi02LjQxNHptOC40MzQtNS42NGwzLjQ0LTIuMzAydjQuNjAyTDI1LjgxIDE2em0tMi40NzMtMS42NTVsLTUuOTYxLTMuOTg3VjMuOTQ0bDEwLjc3NCA3LjE4My00LjgxMyAzLjIxOXoiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xNiAuMDUzQzcuMTkuMDUzLjA0NyA3LjE5NC4wNDcgMTYuMDAzYzAgOC44MSA3LjE0MiAxNS45NTEgMTUuOTUxIDE1Ljk1MSA4LjgxIDAgMTUuOTUxLTcuMTQgMTUuOTUxLTE1Ljk1QzMxLjk1IDcuMTk0IDI0LjgxLjA1NCAxNiAuMDU0Vi4wNTN6bTcuMzE0IDIzLjAwNWMtLjI4NS40NjktLjg5OS42MTgtMS4zNjcuMzMtMy43NDUtMi4yODgtOC40Ni0yLjgwNi0xNC4wMTMtMS41MzctLjUzNS4xMjItMS4wNjgtLjIxMy0xLjE5LS43NDktLjEyMi0uNTM1LjIxMi0xLjA2OC43NDgtMS4xOSA2LjA3Ni0xLjM4OSAxMS4yODgtLjc5IDE1LjQ5MyAxLjc3OS40NjguMjg3LjYxNy44OTkuMzMgMS4zNjd6bTEuOTUzLTQuMzQzYy0uMzYuNTg1LTEuMTI2Ljc3LTEuNzEuNDEtNC4yODgtMi42MzYtMTAuODI0LTMuNC0xNS44OTYtMS44Ni0uNjU3LjE5OS0xLjM1Mi0uMTcyLTEuNTUyLS44MjgtLjE5OC0uNjU4LjE3My0xLjM1MS44My0xLjU1MSA1Ljc5My0xLjc1OCAxMi45OTQtLjkwNyAxNy45MTggMi4xMi41ODUuMzYuNzcgMS4xMjUuNDEgMS43MDl6bS4xNjctNC41MjNjLTUuMTQtMy4wNTQtMTMuNjIzLTMuMzM0LTE4LjUzMS0xLjg0NS0uNzg4LjI0LTEuNjIyLS4yMDUtMS44Ni0uOTk0LS4yNC0uNzg4LjIwNS0xLjYyMS45OTQtMS44NiA1LjYzNC0xLjcxMSAxNS4wMDEtMS4zOCAyMC45MiAyLjEzMy43MS40Mi45NDMgMS4zMzYuNTIyIDIuMDQ0LS40Mi43MS0xLjMzNy45NDMtMi4wNDQuNTIyeiIgZmlsbD0iIzFFRDc2MCIgZmlsbC1ydWxlPSJub256ZXJvIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xNS45MjQgOS45MjJjLS4yMzYgMC0uNDMuMTk0LS40MzQuNDMzbC0uMTc3IDguODY2LjE3OCAzLjIxOGMuMDAzLjIzNS4xOTcuNDMuNDMzLjQzcy40My0uMTk1LjQzMy0uNDMzdi4wMDRsLjE5My0zLjIxOS0uMTkzLTguODY3Yy0uMDAzLS4yMzgtLjE5Ny0uNDMyLS40MzMtLjQzMnptMTIuMTQgNS4xMDJjLS41NCAwLTEuMDU0LjExLTEuNTIyLjMwNkMyNi4yMjggMTEuNzgzIDIzLjI1NCA5IDE5LjYyNSA5Yy0uODg3IDAtMS43NTMuMTc1LTIuNTE3LjQ3LS4yOTguMTE1LS4zNzcuMjM0LS4zOC40NjN2MTIuNDkyYy4wMDQuMjQyLjE5LjQ0Mi40MjYuNDY2bDEwLjkxLjAwNmMyLjE3NCAwIDMuOTM2LTEuNzYyIDMuOTM2LTMuOTM2cy0xLjc2Mi0zLjkzNy0zLjkzNi0zLjkzN3pNMTAuODg2IDIyLjU2di0uMDAybC4yMjYtMy4zMzgtLjIyNi03LjI3NmMtLjAwNi0uMTgxLS4xNDgtLjMyMy0uMzI1LS4zMjMtLjE3NiAwLS4zMTkuMTQyLS4zMjQuMzIzbC0uMjAyIDcuMjc2LjIwMiAzLjM0Yy4wMDUuMTc4LjE0OC4zMi4zMjQuMzIuMTc3IDAgLjMxOC0uMTQyLjMyNS0uMzIxdi4wMDF6bS0yLjk1Mi4zMmMuMTQ0IDAgLjI2Mi0uMTE3LjI3LS4yNjdsLjI2NC0zLjM5NC0uMjY1LTYuNDk3Yy0uMDA3LS4xNS0uMTI1LS4yNjctLjI3LS4yNjctLjE0NCAwLS4yNjMuMTE3LS4yNjkuMjY3bC0uMjM0IDYuNDk3LjIzNCAzLjM5NWMuMDA2LjE0OS4xMjUuMjY2LjI3LjI2NnptNS4yOTctMTAuODY4Yy0uMjA5IDAtLjM3NS4xNjYtLjM4LjM3N2wtLjE2OSA2LjgzMi4xNyAzLjI4N2MuMDA0LjIxLjE3LjM3NS4zNzkuMzc1LjIwNyAwIC4zNzMtLjE2Ni4zNzgtLjM3N3YuMDAybC4xOS0zLjI4Ny0uMTktNi44MzJjLS4wMDUtLjIxMS0uMTctLjM3Ny0uMzc4LS4zNzd6TTIuODAyIDIyLjY1N2MuMDgzIDAgLjE1LS4wNjYuMTYtLjE1NmwuMzQtMy4yODYtLjM0LTMuNDFjLS4wMS0uMDkxLS4wNzctLjE1Ny0uMTYtLjE1Ny0uMDg0IDAtLjE1Mi4wNjYtLjE2LjE1N2wtLjI5OSAzLjQxLjI5OSAzLjI4NWMuMDA4LjA5MS4wNzYuMTU3LjE2LjE1N3ptMi41NDYuMTg4Yy4xMTMgMCAuMjA2LS4wOTIuMjE0LS4yMTJsLjMwMi0zLjQxOC0uMzAyLTMuMjVjLS4wMDgtLjEyLS4xLS4yMTEtLjIxNC0uMjExLS4xMTYgMC0uMjA4LjA5LS4yMTYuMjEybC0uMjY2IDMuMjUuMjY2IDMuNDE3Yy4wMDguMTIuMS4yMTIuMjE2LjIxMnptNi41NDMuMDNjLjE5MSAwIC4zNDYtLjE1NC4zNTEtLjM1di4wMDNsLjIwOS0zLjMwOS0uMjA5LTcuMDljLS4wMDUtLjE5Ni0uMTYtLjM1LS4zNTEtLjM1LS4xOTMgMC0uMzQ4LjE1NC0uMzUyLjM1bC0uMTg1IDcuMDkuMTg1IDMuMzA4Yy4wMDQuMTk0LjE1OS4zNDguMzUyLjM0OHptMi42OS4wMTNjLjIyIDAgLjQwMS0uMTgxLjQwNS0uNDA0di4wMDItLjAwMmwuMTcyLTMuMjYzLS4xNzItOC4xM2MtLjAwNC0uMjIzLS4xODYtLjQwNS0uNDA2LS40MDUtLjIyIDAtLjQwMy4xODItLjQwNi40MDVsLS4xNTMgOC4xMjcuMTUzIDMuMjY4Yy4wMDMuMjIuMTg2LjQwMi40MDYuNDAyem0tNS4zMzgtLjAxNmMuMTYgMCAuMjktLjEyOS4yOTYtLjI5NGwuMjQ2LTMuMzYtLjI0Ni03LjAzOWMtLjAwNi0uMTY1LS4xMzctLjI5NC0uMjk2LS4yOTQtLjE2MiAwLS4yOTIuMTMtLjI5Ny4yOTVsLS4yMTggNy4wMzguMjE4IDMuMzYxYy4wMDUuMTY0LjEzNS4yOTMuMjk3LjI5M3pNNC4wNyAxNS41MjdjLS4xIDAtLjE4LjA4LS4xODguMTg1TDMuNiAxOS4yMTVsLjI4MiAzLjM5Yy4wMDguMTA0LjA4OS4xODQuMTg4LjE4NC4wOTggMCAuMTc4LS4wOC4xODctLjE4NGwuMzItMy4zOS0uMzItMy41MDRjLS4wMDktLjEwNC0uMDktLjE4NC0uMTg3LS4xODR6bTIuNTY1LTEuODM3Yy0uMTI5IDAtLjIzNS4xMDUtLjI0Mi4yNGwtLjI1IDUuMjg3LjI1IDMuNDE3Yy4wMDcuMTMzLjExMy4yMzkuMjQyLjIzOXMuMjM1LS4xMDYuMjQzLS4yNHYuMDAxbC4yODMtMy40MTctLjI4My01LjI4OGMtLjAwOC0uMTM0LS4xMTQtLjI0LS4yNDMtLjI0em0tNC45NTcgMi42NWMtLjAxLS4wNzYtLjA2Ni0uMTI5LS4xMzMtLjEyOS0uMDY4IDAtLjEyNC4wNTUtLjEzMy4xM2wtLjMxNSAyLjg3My4zMTUgMi44MWMuMDEuMDc2LjA2NS4xMy4xMzMuMTMuMDY3IDAgLjEyMi0uMDUzLjEzMy0uMTI5bC4zNTgtMi44MS0uMzU4LTIuODc0em0tMS4zMTYuOTcyYy0uMDY3IDAtLjEyLjA1Mi0uMTI4LjEyNUwwIDE5LjIxNGwuMjM0IDEuNzQ3Yy4wMDkuMDc0LjA2MS4xMjUuMTI4LjEyNS4wNjUgMCAuMTE3LS4wNS4xMjgtLjEyNGwuMjc3LTEuNzQ4LS4yNzctMS43NzhjLS4wMS0uMDczLS4wNjMtLjEyNC0uMTI4LS4xMjR6IiBmaWxsPSIjRUU3QzI1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zMiAxNkMzMiAyNC44MzYxIDI0LjgzNjEgMzIgMTYgMzJDNy4xNjM5NCAzMiAwIDI0LjgzNjEgMCAxNkMwIDcuMTYzOTQgNy4xNjM5NCAwIDE2IDBDMjQuODM3OSAwIDMyIDcuMTYzOTQgMzIgMTZaIiBmaWxsPSIjMjA4MUUyIi8+CiAgICA8cGF0aCBkPSJNNy44OTM3MSAxNi41Mzc2TDcuOTYyNzQgMTYuNDI5MUwxMi4xMjUgOS45MTc4NEMxMi4xODU4IDkuODIyNTEgMTIuMzI4OCA5LjgzMjM2IDEyLjM3NDggOS45MzU5MkMxMy4wNzAyIDExLjQ5NDMgMTMuNjcwMiAxMy40MzI0IDEzLjM4OTEgMTQuNjM5QzEzLjI2OTEgMTUuMTM1NCAxMi45NDAzIDE1LjgwNzggMTIuNTcwNCAxNi40MjkxQzEyLjUyMjggMTYuNTE5NiAxMi40NzAyIDE2LjYwODMgMTIuNDE0MyAxNi42OTM4QzEyLjM4OCAxNi43MzMzIDEyLjM0MzYgMTYuNzU2MyAxMi4yOTU5IDE2Ljc1NjNIOC4wMTUzNEM3LjkwMDI3IDE2Ljc1NjMgNy44MzI4OCAxNi42MzEzIDcuODkzNzEgMTYuNTM3NloiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMjYuNDQ2MSAxNy43NDc1VjE4Ljc3ODJDMjYuNDQ2MSAxOC44Mzc0IDI2LjQwOTkgMTguODkgMjYuMzU3MyAxOC45MTNDMjYuMDM1MSAxOS4wNTExIDI0LjkzMjEgMTkuNTU3NCAyNC40NzM0IDIwLjE5NTJDMjMuMzAzIDIxLjgyNDIgMjIuNDA4OCAyNC4xNTM2IDIwLjQwOTggMjQuMTUzNkgxMi4wNzA2QzkuMTE0OTUgMjQuMTUzNiA2LjcxOTg1IDIxLjc1MDMgNi43MTk4NSAxOC43ODQ4VjE4LjY4OTRDNi43MTk4NSAxOC42MTA1IDYuNzgzOTQgMTguNTQ2NCA2Ljg2Mjg2IDE4LjU0NjRIMTEuNTExN0MxMS42MDM3IDE4LjU0NjQgMTEuNjcxMSAxOC42MzE5IDExLjY2MjkgMTguNzIyM0MxMS42MyAxOS4wMjQ4IDExLjY4NTkgMTkuMzMzOCAxMS44Mjg5IDE5LjYxNDlDMTIuMTA1MSAyMC4xNzU1IDEyLjY3NzIgMjAuNTI1NiAxMy4yOTUyIDIwLjUyNTZIMTUuNTk2NlYxOC43Mjg5SDEzLjMyMTVDMTMuMjA0OCAxOC43Mjg5IDEzLjEzNTggMTguNTk0MSAxMy4yMDMyIDE4LjQ5ODdDMTMuMjI3OCAxOC40NjA5IDEzLjI1NTggMTguNDIxNSAxMy4yODU0IDE4LjM3NzFDMTMuNTAwNyAxOC4wNzE0IDEzLjgwODEgMTcuNTk2MyAxNC4xMTM5IDE3LjA1NTVDMTQuMzIyNyAxNi42OTA1IDE0LjUyNDggMTYuMzAwOSAxNC42ODc2IDE1LjkwOTdDMTQuNzIwNSAxNS44MzkgMTQuNzQ2OCAxNS43NjY2IDE0Ljc3MzEgMTUuNjk2QzE0LjgxNzQgMTUuNTcxIDE0Ljg2MzUgMTUuNDU0MyAxNC44OTY0IDE1LjMzNzZDMTQuOTI5MyAxNS4yMzkgMTQuOTU1NSAxNS4xMzU0IDE0Ljk4MTggMTUuMDM4NEMxNS4wNTkxIDE0LjcwNjQgMTUuMDkyIDE0LjM1NDYgMTUuMDkyIDEzLjk4OTdDMTUuMDkyIDEzLjg0NjcgMTUuMDg1NCAxMy42OTcgMTUuMDcyMyAxMy41NTRDMTUuMDY1NyAxMy4zOTc5IDE1LjA0NiAxMy4yNDE3IDE1LjAyNjIgMTMuMDg1NUMxNS4wMTMxIDEyLjk0NzQgMTQuOTg4NCAxMi44MTEgMTQuOTYyMSAxMi42NjhDMTQuOTI5MyAxMi40NTkyIDE0Ljg4MzIgMTIuMjUyMSAxNC44MzA2IDEyLjA0MzNMMTQuODEyNSAxMS45NjQ0QzE0Ljc3MzEgMTEuODIxNCAxNC43NDAyIDExLjY4NSAxNC42OTQyIDExLjU0MkMxNC41NjQzIDExLjA5MzIgMTQuNDE0NyAxMC42NTU5IDE0LjI1NjkgMTAuMjQ2NkMxNC4xOTk0IDEwLjA4MzkgMTQuMTMzNiA5LjkyNzcxIDE0LjA2NzggOS43NzE1NUMxMy45NzA5IDkuNTM2NDcgMTMuODcyMiA5LjMyMjc4IDEzLjc4MTggOS4xMjA1N0MxMy43MzU4IDkuMDI4NTEgMTMuNjk2NCA4Ljk0NDY3IDEzLjY1NjkgOC44NTkxOUMxMy42MTI1IDguNzYyMiAxMy41NjY1IDguNjY1MjEgMTMuNTIwNSA4LjU3MzE4QzEzLjQ4NzYgOC41MDI0OSAxMy40NDk4IDguNDM2NzMgMTMuNDIzNSA4LjM3MDk3TDEzLjE0MjQgNy44NTE1MUMxMy4xMDI5IDcuNzgwODMgMTMuMTY4NyA3LjY5Njk5IDEzLjI0NTkgNy43MTgzNkwxNS4wMDQ5IDguMTk1MDdIMTUuMDA5OEMxNS4wMTMxIDguMTk1MDcgMTUuMDE0NyA4LjE5NjczIDE1LjAxNjQgOC4xOTY3M0wxNS4yNDgxIDguMjYwODNMMTUuNTAzIDguMzMzMThMMTUuNTk2NiA4LjM1OTQ1VjcuMzEzOThDMTUuNTk2NiA2LjgwOTMxIDE2LjAwMSA2LjM5OTk5IDE2LjUwMDggNi4zOTk5OUMxNi43NTA2IDYuMzk5OTkgMTYuOTc3NSA2LjUwMTkxIDE3LjE0MDIgNi42Njc5M0MxNy4zMDMgNi44MzM5OCAxNy40MDQ5IDcuMDYwODMgMTcuNDA0OSA3LjMxMzk4VjguODY1NzlMMTcuNTkyMyA4LjkxODM2QzE3LjYwNzEgOC45MjMzMiAxNy42MjE5IDguOTI5ODggMTcuNjM1IDguOTM5NzRDMTcuNjgxMSA4Ljk3NDI3IDE3Ljc0NjggOS4wMjUyMSAxNy44MzA2IDkuMDg3NzFDMTcuODk2NCA5LjE0MDI4IDE3Ljk2NzEgOS4yMDQ0MSAxOC4wNTI2IDkuMjcwMTdDMTguMjIxOSA5LjQwNjU5IDE4LjQyNDEgOS41ODI0OSAxOC42NDYgOS43ODQ3QzE4LjcwNTIgOS44MzU2NCAxOC43NjI3IDkuODg4MjUgMTguODE1MyA5Ljk0MDg2QzE5LjEwMTQgMTAuMjA3MiAxOS40MjE5IDEwLjUxOTUgMTkuNzI3NyAxMC44NjQ3QzE5LjgxMzEgMTAuOTYxNyAxOS44OTcgMTEuMDYwMyAxOS45ODI0IDExLjE2MzlDMjAuMDY3OSAxMS4yNjkxIDIwLjE1ODMgMTEuMzcyNiAyMC4yMzcyIDExLjQ3NjJDMjAuMzQwOCAxMS42MTQzIDIwLjQ1MjYgMTEuNzU3MyAyMC41NDk2IDExLjkwNjlDMjAuNTk1NiAxMS45Nzc2IDIwLjY0ODIgMTIuMDQ5OSAyMC42OTI2IDEyLjEyMDZDMjAuODE3NSAxMi4zMDk2IDIwLjkyNzcgMTIuNTA1MyAyMS4wMzI5IDEyLjcwMDlDMjEuMDc3MyAxMi43OTEzIDIxLjEyMzMgMTIuODg5OSAyMS4xNjI3IDEyLjk4NjlDMjEuMjc5NCAxMy4yNDgzIDIxLjM3MTUgMTMuNTE0NiAyMS40MzA3IDEzLjc4MDlDMjEuNDQ4NyAxMy44Mzg0IDIxLjQ2MTkgMTMuOTAwOSAyMS40Njg1IDEzLjk1NjhWMTMuOTY5OUMyMS40ODgyIDE0LjA0ODggMjEuNDk0OCAxNC4xMzI3IDIxLjUwMTQgMTQuMjE4MUMyMS41Mjc3IDE0LjQ5MSAyMS41MTQ1IDE0Ljc2MzkgMjEuNDU1MyAxNS4wMzg0QzIxLjQzMDcgMTUuMTU1MiAyMS4zOTc4IDE1LjI2NTMgMjEuMzU4MyAxNS4zODJDMjEuMzE4OSAxNS40OTM4IDIxLjI3OTQgMTUuNjEwNSAyMS4yMjg1IDE1LjcyMDZDMjEuMTI5OSAxNS45NDkxIDIxLjAxMzEgMTYuMTc3NiAyMC44NzUgMTYuMzkxM0MyMC44MzA3IDE2LjQ3MDIgMjAuNzc4MSAxNi41NTQxIDIwLjcyNTQgMTYuNjMzQzIwLjY2NzkgMTYuNzE2OCAyMC42MDg3IDE2Ljc5NTcgMjAuNTU2MSAxNi44NzNDMjAuNDgzOCAxNi45NzE2IDIwLjQwNjYgMTcuMDc1MiAyMC4zMjc3IDE3LjE2NzJDMjAuMjU3IDE3LjI2NDIgMjAuMTg0NiAxNy4zNjEyIDIwLjEwNTcgMTcuNDQ2N0MxOS45OTU2IDE3LjU3NjUgMTkuODkwNCAxNy42OTk4IDE5Ljc4MDIgMTcuODE4MkMxOS43MTQ1IDE3Ljg5NTQgMTkuNjQzOCAxNy45NzQ0IDE5LjU3MTUgMTguMDQ1QzE5LjUwMDggMTguMTIzOSAxOS40Mjg1IDE4LjE5NDYgMTkuMzYyNyAxOC4yNjA0QzE5LjI1MjYgMTguMzcwNSAxOS4xNjA1IDE4LjQ1NiAxOS4wODMyIDE4LjUyNjdMMTguOTAyNCAxOC42OTI3QzE4Ljg3NjEgMTguNzE1NyAxOC44NDE2IDE4LjcyODkgMTguODA1NCAxOC43Mjg5SDE3LjQwNDlWMjAuNTI1NkgxOS4xNjcxQzE5LjU2MTYgMjAuNTI1NiAxOS45MzY0IDIwLjM4NTkgMjAuMjM4OSAyMC4xMjk0QzIwLjM0MjQgMjAuMDM5IDIwLjc5NDUgMTkuNjQ3OCAyMS4zMjg3IDE5LjA1NzdDMjEuMzQ2OCAxOS4wMzc5IDIxLjM2OTkgMTkuMDIzMSAyMS4zOTYyIDE5LjAxNjZMMjYuMjYzNiAxNy42MDk0QzI2LjM1NCAxNy41ODMxIDI2LjQ0NjEgMTcuNjUyMiAyNi40NDYxIDE3Ljc0NzVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgZmlsbD0iI2ZiMmQ4ZCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMi41Ii8+CiAgICAgICAgPHBhdGggZD0iTTEyIDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6TTE4IDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6TTI0IDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6IiBmaWxsPSIjRkZGIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkYXRhLXNlbGVjdG9yPSJiZyIgZD0iTTIgMjRoMTNsOS05VjJhMiAyIDAgMDAtMi0ySDJhMiAyIDAgMDAtMiAydjIwYTIgMiAwIDAwMiAyeiIgZmlsbD0iI0YwRjZGOSIvPgogICAgPHJlY3QgZGF0YS1zZWxlY3Rvcj0iYmxvY2siIHg9IjUuMjUiIHk9IjQuNSIgd2lkdGg9IjEzLjUiIGhlaWdodD0iNC41IiByeD0iMSIgZmlsbD0iIzczOEE5NCIvPgogICAgPHBhdGggZGF0YS1zZWxlY3Rvcj0iZm9sZCIgZD0iTTE1IDE2djhsOS05aC04YTEgMSAwIDAwLTEgMXoiIGZpbGw9IiNEQUU4RjEiLz4KICAgIDxyZWN0IGRhdGEtc2VsZWN0b3I9ImxpbmUiIHg9IjUuMjUiIHk9IjExLjI1IiB3aWR0aD0iOC4yNSIgaGVpZ2h0PSIxLjUiIHJ4PSIuNzUiIGZpbGw9IiM3MzhBOTQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgPGcgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibmMtaWNvbi13cmFwcGVyIj4KICAgIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTYiIHI9IjQiLz4KICAgIDxwYXRoIGRhdGEtY2FwPSJidXR0IiBkPSJNMjAuODQ5IDMzLjE2NCAzMyAyMGwxMyAxM00yIDM4bDEyLTExIDEwIDkiLz4KICAgIDxwYXRoIGQ9Ik0yIDZoNDR2MzZIMnoiLz4KICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgPGcgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibmMtaWNvbi13cmFwcGVyIj4KICAgIDxwYXRoIGQ9Ik0zIDloNDJ2MzZIM3ptNy02aDI4Ii8+CiAgICA8cGF0aCBkPSJtMTAgMzggNy0xMCA1IDQgOC0xMSA5IDE3SDEweiIvPgogICAgPGNpcmNsZSBjeD0iMTciIGN5PSIxOSIgcj0iMyIvPgogIDwvZz4KPC9zdmc+\"","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import React, {useState} from 'react';\nimport '../styles/index.css';\nimport {ReactComponent as BoldIcon} from '../assets/icons/kg-bold.svg';\nimport {ReactComponent as ItalicIcon} from '../assets/icons/kg-italic.svg';\nimport {ReactComponent as HeadingOneIcon} from '../assets/icons/kg-heading-1.svg';\nimport {ReactComponent as HeadingTwoIcon} from '../assets/icons/kg-heading-2.svg';\nimport {ReactComponent as LinkIcon} from '../assets/icons/kg-link.svg';\nimport {ReactComponent as QuoteIcon} from '../assets/icons/kg-quote.svg';\nimport {ReactComponent as ImgRegularIcon} from '../assets/icons/kg-img-regular.svg';\nimport {ReactComponent as ImgWideIcon} from '../assets/icons/kg-img-wide.svg';\nimport {ReactComponent as ImgFullIcon} from '../assets/icons/kg-img-full.svg';\nimport {ReactComponent as ReplaceIcon} from '../assets/icons/kg-replace.svg';\nimport {ReactComponent as AddIcon} from '../assets/icons/kg-add.svg';\nimport {ReactComponent as SnippetIcon} from '../assets/icons/kg-snippet.svg';\nimport {ReactComponent as PlusIcon} from '../assets/icons/plus.svg';\nimport {ReactComponent as ImageCardIcon} from '../assets/icons/kg-card-type-image.svg';\nimport {ReactComponent as MarkdownCardIcon} from '../assets/icons/kg-card-type-markdown.svg';\nimport {ReactComponent as HtmlCardIcon} from '../assets/icons/kg-card-type-html.svg';\nimport {ReactComponent as GalleryCardIcon} from '../assets/icons/kg-card-type-gallery.svg';\nimport {ReactComponent as DividerCardIcon} from '../assets/icons/kg-card-type-divider.svg';\nimport {ReactComponent as BookmarkCardIcon} from '../assets/icons/kg-card-type-bookmark.svg';\nimport {ReactComponent as EmailCardIcon} from '../assets/icons/kg-card-type-email.svg';\nimport {ReactComponent as EmailCtaCardIcon} from '../assets/icons/kg-card-type-email-cta.svg';\nimport {ReactComponent as PreviewCardIcon} from '../assets/icons/kg-card-type-preview.svg';\nimport {ReactComponent as ButtonCardIcon} from '../assets/icons/kg-card-type-button.svg';\nimport {ReactComponent as CalloutCardIcon} from '../assets/icons/kg-card-type-callout.svg';\nimport {ReactComponent as GifCardIcon} from '../assets/icons/kg-card-type-gif.svg';\nimport {ReactComponent as ToggleCardIcon} from '../assets/icons/kg-card-type-toggle.svg';\nimport {ReactComponent as VideoCardIcon} from '../assets/icons/kg-card-type-video.svg';\nimport {ReactComponent as AudioCardIcon} from '../assets/icons/kg-card-type-audio.svg';\nimport {ReactComponent as FileCardIcon} from '../assets/icons/kg-card-type-file.svg';\nimport {ReactComponent as ProductCardIcon} from '../assets/icons/kg-card-type-product.svg';\nimport {ReactComponent as HeaderCardIcon} from '../assets/icons/kg-card-type-header.svg';\nimport {ReactComponent as YoutubeCardIcon} from '../assets/icons/kg-card-type-youtube.svg';\nimport {ReactComponent as TwitterCardIcon} from '../assets/icons/kg-card-type-twitter.svg';\nimport {ReactComponent as UnsplashCardIcon} from '../assets/icons/kg-card-type-unsplash.svg';\nimport {ReactComponent as VimeoCardIcon} from '../assets/icons/kg-card-type-vimeo.svg';\nimport {ReactComponent as CodepenCardIcon} from '../assets/icons/kg-card-type-codepen.svg';\nimport {ReactComponent as SpotifyCardIcon} from '../assets/icons/kg-card-type-spotify.svg';\nimport {ReactComponent as SoundcloudCardIcon} from '../assets/icons/kg-card-type-soundcloud.svg';\nimport {ReactComponent as NftCardIcon} from '../assets/icons/kg-card-type-nft.svg';\nimport {ReactComponent as OtherCardIcon} from '../assets/icons/kg-card-type-other.svg';\nimport {ReactComponent as SnippetCardIcon} from '../assets/icons/kg-card-type-snippet.svg';\nimport {ReactComponent as ImgPlaceholderIcon} from '../assets/icons/kg-img-placeholder.svg';\nimport {ReactComponent as GalleryPlaceholderIcon} from '../assets/icons/kg-gallery-placeholder.svg';\n\nconst DesignSandbox = () => {\n return (\n <div className=\"koenig-lexical\">\n <ComponentTitle label=\"Text toolbar\" />\n <TextToolbar />\n\n <ComponentTitle label=\"Image toolbar\" />\n <ImageToolbar />\n\n <ComponentTitle label=\"Gallery toolbar\" />\n <GalleryToolbar />\n\n <ComponentTitle label=\"Plus menu\" />\n <PlusButton />\n\n <ComponentTitle label=\"Card menu\" />\n <CardMenu />\n\n <ComponentTitle label=\"Divider card\" />\n <div className=\"relative max-w-[740px]\">\n <DividerCard />\n </div>\n\n <ComponentTitle label=\"Code block\" />\n <div className=\"relative max-w-[740px]\">\n <CodeBlock />\n </div>\n\n <ComponentTitle label=\"Image card\" />\n <div className=\"relative max-w-[740px]\">\n <ImageCard />\n </div>\n\n <ComponentTitle label=\"Gallery card\" />\n <div className=\"relative max-w-[1172px]\">\n <GalleryCard />\n </div>\n </div>\n );\n\n /* Component title\n /* ---------------------------------------------------------- */\n\n function ComponentTitle({label}) {\n return (\n <h3 className=\"mb-4 mt-20 text-xl font-bold first-of-type:mt-8\" >\n {label}\n </h3>\n );\n }\n\n /* Floating toolbar\n /* ---------------------------------------------------------- */\n\n function TextToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Format text as bold\" Icon={BoldIcon} />\n <ToolbarItem label=\"Format text as italics\" Icon={ItalicIcon} />\n <ToolbarItem label=\"Toggle heading 1\" Icon={HeadingOneIcon} />\n <ToolbarItem label=\"Toggle heading 2\" Icon={HeadingTwoIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Toggle blockquote\" Icon={QuoteIcon} />\n <ToolbarItem label=\"Insert link\" Icon={LinkIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function ImageToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Set image to regular\" Icon={ImgRegularIcon} />\n <ToolbarItem label=\"Set image to wide\" Icon={ImgWideIcon} />\n <ToolbarItem label=\"Set image to full\" Icon={ImgFullIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Insert link\" Icon={LinkIcon} />\n <ToolbarItem label=\"Replace image\" Icon={ReplaceIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function GalleryToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Add image\" Icon={AddIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function ToolbarItem({label, Icon, ...props}) {\n return (\n <li className=\"m-0 flex p-0 first:m-0\" {...props}>\n <div\n type=\"button\"\n className=\"flex h-9 w-9 items-center justify-center\"\n >\n <Icon className=\"fill-white\" />\n </div>\n </li>\n );\n }\n \n function ToolbarSeparator() {\n return (\n <li className=\"m-0 mx-1 h-5 w-px bg-grey-900\"></li>\n );\n }\n\n /* Plus button\n /* ---------------------------------------------------------- */\n\n function PlusButton() {\n return (\n <button\n type=\"button\"\n aria-label=\"Add a card\"\n className=\"group relative flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border border-grey bg-white transition-all ease-linear hover:border-grey-900 md:h-9 md:w-9\"\n >\n <PlusIcon className=\"h-4 w-4 stroke-grey-800 stroke-2 group-hover:stroke-grey-900\" />\n </button>\n );\n }\n\n /* Card menu\n /* ---------------------------------------------------------- */\n\n function CardMenu() {\n return (\n <div className=\"z-[9999999] m-0 mb-3 max-h-[376px] w-[312px] flex-col overflow-y-auto rounded-lg bg-white bg-clip-padding p-0 pt-0 text-sm shadow\">\n <CardMenuSection label=\"Primary\" />\n <CardMenuItem label=\"Image\" desc=\"Upload, or embed with /image [url]\" Icon={ImageCardIcon} />\n <CardMenuItem label=\"Markdown\" desc=\"Insert a Markdown editor card\" Icon={MarkdownCardIcon} />\n <CardMenuItem label=\"HTML\" desc=\"Insert a raw HTML card\" Icon={HtmlCardIcon} />\n <CardMenuItem label=\"Gallery\" desc=\"Create an image gallery\" Icon={GalleryCardIcon} />\n <CardMenuItem label=\"Divider\" desc=\"Insert a dividing line\" Icon={DividerCardIcon} />\n <CardMenuItem label=\"Bookmark\" desc=\"Embed a link as a visual bookmark\" Icon={BookmarkCardIcon} />\n <CardMenuItem label=\"Email content\" desc=\"Only visible when delivered by email\" Icon={EmailCardIcon} />\n <CardMenuItem label=\"Email call to action\" desc=\"Target free or paid members with a CTA\" Icon={EmailCtaCardIcon} />\n <CardMenuItem label=\"Public preview\" desc=\"Attract signups with a public intro\" Icon={PreviewCardIcon} />\n <CardMenuItem label=\"Button\" desc=\"Add a button to your post\" Icon={ButtonCardIcon} />\n <CardMenuItem label=\"Callout\" desc=\"Info boxes that stand out\" Icon={CalloutCardIcon} />\n <CardMenuItem label=\"GIF\" desc=\"Search and embed gifs\" Icon={GifCardIcon} />\n <CardMenuItem label=\"Toggle\" desc=\"Add collapsible content\" Icon={ToggleCardIcon} />\n <CardMenuItem label=\"Video\" desc=\"Upload and play a video\" Icon={VideoCardIcon} />\n <CardMenuItem label=\"Audio\" desc=\"Upload and play an audio file\" Icon={AudioCardIcon} />\n <CardMenuItem label=\"File\" desc=\"Upload a downloadable file\" Icon={FileCardIcon} />\n <CardMenuItem label=\"Product\" desc=\"Add a product recommendation\" Icon={ProductCardIcon} />\n <CardMenuItem label=\"Header\" desc=\"Add a bold section header\" Icon={HeaderCardIcon} />\n <CardMenuSection label=\"Embed\" />\n <CardMenuItem label=\"YouTube\" desc=\"/youtube [video url]\" Icon={YoutubeCardIcon} />\n <CardMenuItem label=\"Twitter\" desc=\"/twitter [tweet url]\" Icon={TwitterCardIcon} />\n <CardMenuItem label=\"Unsplash\" desc=\"/unsplash [search-term or url]\" Icon={UnsplashCardIcon} />\n <CardMenuItem label=\"Vimeo\" desc=\"/vimeo [video url]\" Icon={VimeoCardIcon} />\n <CardMenuItem label=\"CodePen\" desc=\"/codepen [pen url]\" Icon={CodepenCardIcon} />\n <CardMenuItem label=\"Spotify\" desc=\"/spotify [track or playlist url]\" Icon={SpotifyCardIcon} />\n <CardMenuItem label=\"SoundCloud\" desc=\"/soundcloud [track or playlist url]\" Icon={SoundcloudCardIcon} />\n <CardMenuItem label=\"NFT\" desc=\"/nft [opensea url]\" Icon={NftCardIcon} />\n <CardMenuItem label=\"Other...\" desc=\"/embed [url]\" Icon={OtherCardIcon} />\n <CardMenuSection label=\"Snippets\" />\n <CardSnippetItem label=\"A random snippet\" Icon={SnippetCardIcon} />\n </div>\n );\n }\n\n function CardMenuSection({label, ...props}) {\n return (\n <div className=\"mb-2 flex shrink-0 flex-col justify-center px-4 pt-3 text-xs font-medium uppercase tracking-[.06rem] text-grey\" style={{minWidth: 'calc(100% - 3.2rem)'}} {...props}>\n {label}\n </div>\n );\n }\n\n function CardMenuItem({label, desc, Icon, ...props}) {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-2 text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.333em] tracking-[.02rem] text-grey-900\">{label}</div>\n <div className=\"m-0 ml-4 truncate text-xs font-normal leading-[1.333em] tracking-[.02rem] text-grey\">{desc}</div>\n </div>\n </div>\n );\n }\n\n function CardSnippetItem({label, Icon, ...props}) {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-2 text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.333em] tracking-[.02rem] text-grey-900\">{label}</div>\n </div>\n </div>\n );\n }\n\n /* Divider card\n /* ---------------------------------------------------------- */\n\n function DividerCard() {\n return (\n <div>\n <hr className=\"block h-[1px] border-0 border-t border-grey-300\" />\n </div>\n );\n }\n\n /* Code block\n /* ---------------------------------------------------------- */\n\n function CodeBlock() {\n return (\n <div className=\"border-2 border-green\">\n <div className=\"rounded bg-grey-50 px-3 py-2\">\n <textarea className=\"w-full resize-none bg-grey-50 font-mono text-[1.7rem]\" />\n </div>\n <CaptionEditor placeholder=\"Type caption for code block (optional)\" />\n </div>\n );\n }\n\n /* Image card\n /* ---------------------------------------------------------- */\n\n function ImageCard() {\n const [isActive, setActive] = useState(false);\n const [altText, setAltText] = useState(false);\n\n const toggleActive = () => {\n setActive(!isActive);\n };\n\n const toggleAltText = (e) => {\n e.stopPropagation();\n setAltText(!altText);\n };\n\n if (isActive) {\n return (\n <div \n className={`border border-transparent ${isActive ? 'shadow-[0_0_0_2px_#30cf43]' : 'hover:shadow-[0_0_0_1px_#30cf43]'}`}\n onClick={toggleActive}>\n <MediaPlaceholder desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} />\n <CaptionEditor placeholder=\"Type caption for image (optional)\" />\n <button \n className={`absolute bottom-0 right-0 m-3 cursor-pointer rounded border px-1 text-[1.3rem] font-normal leading-7 tracking-wide transition-all duration-100 ${altText ? 'border-green bg-green text-white' : 'border-grey text-grey' } `}\n onClick={e => toggleAltText(e)}>\n Alt\n </button> \n </div>\n );\n } \n return (\n <div \n className={`border border-transparent ${isActive ? 'shadow-[0_0_0_2px_#30cf43]' : 'hover:shadow-[0_0_0_1px_#30cf43]'}`}\n onClick={toggleActive}>\n <MediaPlaceholder desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} /> \n </div>\n );\n }\n\n function MediaPlaceholder({desc, Icon, ...props}) {\n return (\n <div className=\"relative\">\n <figure className=\"cursor-pointer border border-transparent\" {...props}>\n <div className=\"h-100 relative flex items-center justify-center border border-grey-100 bg-grey-50 before:pb-[62.5%]\">\n <button className=\"group flex flex-col items-center justify-center p-20\">\n <Icon className=\"h-32 w-32 opacity-80 transition-all ease-linear group-hover:scale-105 group-hover:opacity-100\" />\n <p className=\"mt-4 text-sm font-normal text-grey-700 group-hover:text-grey-800\">{desc}</p>\n </button>\n </div>\n </figure>\n <form>\n <input\n type='file'\n accept='image/*'\n name=\"image\"\n hidden={true}\n />\n </form>\n </div>\n );\n }\n\n function CaptionEditor({placeholder}) {\n return (\n <input \n className=\"not-kg-prose w-full p-2 text-center font-sans text-sm font-normal tracking-wide text-grey-900\"\n placeholder={placeholder} \n />\n );\n }\n\n /* Gallery card\n /* ---------------------------------------------------------- */\n\n function GalleryCard() {\n return (\n <div className=\"border-2 border-green\">\n <MediaPlaceholder desc=\"Click to select up to 9 images\" Icon={GalleryPlaceholderIcon} />\n <CaptionEditor placeholder=\"Type caption for gallery (optional)\" />\n </div>\n );\n }\n};\n\nexport default DesignSandbox;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"react\");let d=c.createContext(null);exports.LexicalComposerContext=d;exports.createLexicalComposerContext=function(a,e){let b=null;null!=a&&(b=a[1]);return{getTheme:function(){return null!=e?e:null!=b?b.getTheme():null}}};\nexports.useLexicalComposerContext=function(){let a=c.useContext(d);if(null==a)throw Error(\"Minified Lexical error #8; visit https://lexical.dev/docs/error?code=8 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");return a}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalComposerContext = process.env.NODE_ENV === 'development' ? require('./LexicalComposerContext.dev.js') : require('./LexicalComposerContext.prod.js')\nmodule.exports = LexicalComposerContext;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';let ba={},ca={},da={},ea={},ha={},ia={},ja={},ka={},la={},na={},p={},oa={},pa={},qa={},ra={},sa={},ta={},ua={},va={},ya={},za={},Aa={},Ba={},Ca={},Da={},Ea={},Fa={},Ga={},Ha={},Ia={},Ja={},Ka={},La={},Ma={};function r(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}\nlet t=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,Na=t&&\"documentMode\"in document?document.documentMode:null,u=t&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Oa=t&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),Pa=t&&\"InputEvent\"in window&&!Na?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,Qa=t&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Ra=t&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,\nTa=Qa||Ra?\"\\u00a0\":\"\\u200b\",Ua=Oa?\"\\u00a0\":Ta,Va=/^[^A-Za-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u0300-\\u0590\\u0800-\\u1fff\\u200e\\u2c00-\\ufb1c\\ufe00-\\ufe6f\\ufefd-\\uffff]*[\\u0591-\\u07ff\\ufb1d-\\ufdfd\\ufe70-\\ufefc]/,Wa=/^[^\\u0591-\\u07ff\\ufb1d-\\ufdfd\\ufe70-\\ufefc]*[A-Za-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u0300-\\u0590\\u0800-\\u1fff\\u200e\\u2c00-\\ufb1c\\ufe00-\\ufe6f\\ufefd-\\uffff]/,Xa={bold:1,code:16,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},Ya={directionless:1,unmergeable:2},\nZa={center:2,justify:4,left:1,right:3},$a={2:\"center\",4:\"justify\",1:\"left\",3:\"right\"},ab={normal:0,segmented:2,token:1},bb={0:\"normal\",2:\"segmented\",1:\"token\"},cb=!1,db=0;function eb(a){db=a.timeStamp}function fb(a,b,c){return b.__lexicalLineBreak===a||void 0!==a[`__lexicalKey_${c._key}`]}function gb(a){return a.getEditorState().read(()=>{let b=x();return null!==b?b.clone():null})}\nfunction hb(a,b,c){cb=!0;let d=100<performance.now()-db;try{A(a,()=>{let e=x()||gb(a);var f=new Map,g=a.getRootElement(),h=a._editorState;let k=!1,m=\"\";for(var l=0;l<b.length;l++){var n=b[l],q=n.type,v=n.target,w=ib(v,h);if(!(null===w&&v!==g||C(w)))if(\"characterData\"===q){if(n=d&&D(w))a:{n=e;q=v;var y=w;if(E(n)){var z=n.anchor.getNode();if(z.is(y)&&n.format!==z.getFormat()){n=!1;break a}}n=3===q.nodeType&&y.isAttached()}n&&(y=t?window.getSelection():null,q=n=null,null!==y&&y.anchorNode===v&&(n=y.anchorOffset,\nq=y.focusOffset),v=v.nodeValue,null!==v&&jb(w,v,n,q,!1))}else if(\"childList\"===q){k=!0;q=n.addedNodes;for(y=0;y<q.length;y++){z=q[y];var B=kb(z),F=z.parentNode;null==F||null!==B||\"BR\"===z.nodeName&&fb(z,F,a)||(Oa&&(B=z.innerText||z.nodeValue)&&(m+=B),F.removeChild(z))}n=n.removedNodes;q=n.length;if(0<q){y=0;for(z=0;z<q;z++)F=n[z],\"BR\"===F.nodeName&&fb(F,v,a)&&(v.appendChild(F),y++);q!==y&&(v===g&&(w=h._nodeMap.get(\"root\")),f.set(v,w))}}}if(0<f.size)for(let [T,aa]of f)if(G(aa))for(f=aa.__children,\ng=T.firstChild,h=0;h<f.length;h++)l=a.getElementByKey(f[h]),null!==l&&(null==g?(T.appendChild(l),g=l):g!==l&&T.replaceChild(l,g),g=g.nextSibling);else D(aa)&&aa.markDirty();f=c.takeRecords();if(0<f.length){for(g=0;g<f.length;g++)for(l=f[g],h=l.addedNodes,l=l.target,w=0;w<h.length;w++)v=h[w],n=v.parentNode,null==n||\"BR\"!==v.nodeName||fb(v,l,a)||n.removeChild(v);c.takeRecords()}null!==e&&(k&&(e.dirty=!0,lb(e)),Oa&&mb(a)&&e.insertRawText(m))})}finally{cb=!1}}\nfunction nb(a){let b=a._observer;if(null!==b){let c=b.takeRecords();hb(a,c,b)}}function sb(a){0===db&&tb(a).addEventListener(\"textInput\",eb,!0);a._observer=new MutationObserver((b,c)=>{hb(a,b,c)})}let ub=1,vb=\"function\"===typeof queueMicrotask?queueMicrotask:a=>{Promise.resolve().then(a)};\nfunction wb(a,b,c){let d=a.getRootElement();try{var e;if(e=null!==d&&d.contains(b)&&d.contains(c)&&null!==b){let f=document.activeElement,g=null!==f?f.nodeName:null;e=!C(ib(b))||\"INPUT\"!==g&&\"TEXTAREA\"!==g}return e&&xb(b)===a}catch(f){return!1}}function xb(a){for(;null!=a;){let b=a.__lexicalEditor;if(null!=b)return b;a=a.parentNode}return null}function yb(a){return a.isToken()||a.isSegmented()}function zb(a){for(;null!=a;){if(3===a.nodeType)return a;a=a.firstChild}return null}\nfunction Ab(a,b,c){b=Xa[b];return a&b&&(null===c||0===(c&b))?a^b:null===c||c&b?a|b:a}function Bb(a){return D(a)||Cb(a)||C(a)}function Db(a,b){if(null!=b)a.__key=b;else{H();99<Eb&&r(14);b=I();var c=J(),d=\"\"+ub++;c._nodeMap.set(d,a);G(a)?b._dirtyElements.set(d,!0):b._dirtyLeaves.add(d);b._cloneNotNeeded.add(d);b._dirtyType=1;a.__key=d}}function Fb(a){var b=a.getParent();if(null!==b){b=b.getWritable().__children;let c=b.indexOf(a.__key);-1===c&&r(31);Gb(a);b.splice(c,1)}}\nfunction Hb(a){99<Eb&&r(14);var b=a.getLatest(),c=b.__parent,d=J();let e=I(),f=d._nodeMap;d=e._dirtyElements;if(null!==c)a:for(;null!==c;){if(d.has(c))break a;let g=f.get(c);if(void 0===g)break;d.set(c,!1);c=g.__parent}b=b.__key;e._dirtyType=1;G(a)?d.set(b,!0):e._dirtyLeaves.add(b)}function Gb(a){let b=a.getPreviousSibling();a=a.getNextSibling();null!==b&&Hb(b);null!==a&&Hb(a)}\nfunction K(a){H();var b=I();let c=b._compositionKey;a!==c&&(b._compositionKey=a,null!==c&&(b=L(c),null!==b&&b.getWritable()),null!==a&&(a=L(a),null!==a&&a.getWritable()))}function Ib(){return M?null:I()._compositionKey}function L(a,b){a=(b||J())._nodeMap.get(a);return void 0===a?null:a}function kb(a,b){let c=I();a=a[`__lexicalKey_${c._key}`];return void 0!==a?L(a,b):null}function ib(a,b){for(;null!=a;){let c=kb(a,b);if(null!==c)return c;a=a.parentNode}return null}\nfunction Jb(a){let b=Object.assign({},a._decorators);return a._pendingDecorators=b}function Kb(a){return a.read(()=>Lb().getTextContent())}function Mb(a,b){A(a,()=>{var c=J();if(!c.isEmpty())if(\"root\"===b)Lb().markDirty();else{c=c._nodeMap;for(let [,d]of c)d.markDirty()}},null===a._pendingEditorState?{tag:\"history-merge\"}:void 0)}function Lb(){return J()._nodeMap.get(\"root\")}function lb(a){let b=J();null!==a&&(a.dirty=!0,a._cachedNodes=null);b._selection=a}\nfunction Nb(a){var b=I(),c;a:{for(c=a;null!=c;){let d=c[`__lexicalKey_${b._key}`];if(void 0!==d){c=d;break a}c=c.parentNode}c=null}return null===c?(b=b.getRootElement(),a===b?L(\"root\"):null):L(c)}function Ob(a){return/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g.test(a)}function Pb(a){let b=[];for(;null!==a;)b.push(a),a=a._parentEditor;return b}function Qb(){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,5)}\nfunction Rb(a,b){var c=t?window.getSelection():null;if(null!==c){var d=c.anchorNode,{anchorOffset:e,focusOffset:f}=c;if(null!==d&&3===d.nodeType&&(c=ib(d),D(c))){d=d.nodeValue;if(d===Ta&&b){let g=b.length;d=b;f=e=g}null!==d&&jb(c,d,e,f,a)}}}\nfunction jb(a,b,c,d,e){let f=a;if(f.isAttached()&&(e||!f.isDirty())){var g=f.isComposing();a=b;(g||e)&&b[b.length-1]===Ta&&(a=b.slice(0,-1));b=f.getTextContent();if(e||a!==b)if(\"\"===a)if(K(null),Qa||Ra)f.remove();else{let h=I();setTimeout(()=>{h.update(()=>{f.isAttached()&&f.remove()})},20)}else e=f.getParent(),b=Sb(),f.isToken()||null!==Ib()&&!g||null!==e&&E(b)&&!e.canInsertTextBefore()&&0===b.anchor.offset?f.markDirty():(g=x(),E(g)&&null!==c&&null!==d&&(g.setTextNodeRange(f,c,f,d),f.isSegmented()&&\n(c=f.getTextContent(),c=N(c),f.replace(c),f=c)),f.setTextContent(a))}}function Tb(a,b){if(b.isSegmented())return!0;if(!a.isCollapsed())return!1;a=a.anchor.offset;let c=b.getParentOrThrow(),d=b.isToken();return 0===a?((a=!b.canInsertTextBefore()||!c.canInsertTextBefore()||d)||(b=b.getPreviousSibling(),a=(D(b)||G(b)&&b.isInline())&&!b.canInsertTextAfter()),a):a===b.getTextContentSize()?!b.canInsertTextAfter()||!c.canInsertTextAfter()||d:!1}\nfunction Ub(a,b){let c=a.anchor,d=a.focus,e=c.getNode();var f=t?window.getSelection():null;f=null!==f?f.anchorNode:null;let g=c.key,h=I().getElementByKey(g),k=b.length;return g!==d.key||!D(e)||(2>k||Ob(b))&&c.offset!==d.offset&&!e.isComposing()||yb(e)||e.isDirty()&&1<k||null!==h&&!e.isComposing()&&f!==zb(h)||e.getFormat()!==a.format||Tb(a,e)}function Vb(a,b){var c=a[b];return\"string\"===typeof c?(c=c.split(\" \"),a[b]=c):c}\nfunction Wb(a,b,c,d,e){0!==c.size&&(c=d.__key,b=b.get(d.__type),void 0===b&&r(33),b=b.klass,d=a.get(b),void 0===d&&(d=new Map,a.set(b,d)),d.has(c)||d.set(c,e))}function Xb(a,b,c){let d=a.getParent(),e=c;null!==d&&(b&&0===c?(e=a.getIndexWithinParent(),a=d):b||c!==a.getChildrenSize()||(e=a.getIndexWithinParent()+1,a=d));return a.getChildAtIndex(b?e-1:e)}\nfunction Yb(a,b){var c=a.offset;if(\"element\"===a.type)return a=a.getNode(),Xb(a,b,c);a=a.getNode();return b&&0===c||!b&&c===a.getTextContentSize()?(c=b?a.getPreviousSibling():a.getNextSibling(),null===c?Xb(a.getParentOrThrow(),b,a.getIndexWithinParent()+(b?0:1)):c):null}function mb(a){a=(a=tb(a).event)&&a.inputType;return\"insertFromPaste\"===a||\"insertFromPasteAsQuotation\"===a}function Zb(a){return!O(a)&&!a.isLastChild()&&!a.isInline()}\nfunction $b(a,b){a=a._keyToDOMMap.get(b);void 0===a&&r(75);return a}function ac(a,b=0){0!==b&&r(1);b=x();if(!E(b)||!G(a))return b;let {anchor:c,focus:d}=b,e=c.getNode(),f=d.getNode();bc(e,a)&&c.set(a.__key,0,\"element\");bc(f,a)&&d.set(a.__key,0,\"element\");return b}function bc(a,b){for(a=a.getParent();null!==a;){if(a.is(b))return!0;a=a.getParent()}return!1}function tb(a){a=a._window;null===a&&r(78);return a}\nfunction cc(a){for(a=a.getParentOrThrow();null!==a&&!ic(a);)a=a.getParentOrThrow();return a}function ic(a){return O(a)||G(a)&&a.isShadowRoot()}function jc(a){var b=I();let c=a.constructor.getType();b=b._nodes.get(c);void 0===b&&r(97);b=b.replace;return null!==b?(b=b(a),b instanceof a.constructor||r(98),b):a}function kc(a,b){a=a.getParent();if(O(a)&&!G(b)&&!C(b))throw Error(\"Only element or decorator nodes can be inserted in to the root node\");}\nfunction lc(a,b,c,d,e){a=a.__children;let f=a.length;for(let g=0;g<f;g++){let h=a[g],k=d.get(h);void 0!==k&&k.__parent===b&&(G(k)&&lc(k,h,c,d,e),c.has(h)||e.delete(h),d.delete(h))}}function mc(a,b,c,d){a=a._nodeMap;b=b._nodeMap;for(let e of c){let f=b.get(e);void 0===f||f.isAttached()||(a.has(e)||c.delete(e),b.delete(e))}for(let [e]of d)c=b.get(e),void 0===c||c.isAttached()||(G(c)&&lc(c,e,a,b,d),a.has(e)||d.delete(e),b.delete(e))}\nfunction nc(a,b){let c=a.__mode,d=a.__format;a=a.__style;let e=b.__mode,f=b.__format;b=b.__style;return(null===c||c===e)&&(null===d||d===f)&&(null===a||a===b)}function oc(a,b){let c=a.mergeWithSibling(b),d=I()._normalizedNodes;d.add(a.__key);d.add(b.__key);return c}\nfunction pc(a){if(\"\"===a.__text&&a.isSimpleText()&&!a.isUnmergeable())a.remove();else{for(var b;null!==(b=a.getPreviousSibling())&&D(b)&&b.isSimpleText()&&!b.isUnmergeable();)if(\"\"===b.__text)b.remove();else{nc(b,a)&&(a=oc(b,a));break}for(var c;null!==(c=a.getNextSibling())&&D(c)&&c.isSimpleText()&&!c.isUnmergeable();)if(\"\"===c.__text)c.remove();else{nc(a,c)&&oc(a,c);break}}}function qc(a){rc(a.anchor);rc(a.focus);return a}\nfunction rc(a){for(;\"element\"===a.type;){var b=a.getNode(),c=a.offset;c===b.getChildrenSize()?(b=b.getChildAtIndex(c-1),c=!0):(b=b.getChildAtIndex(c),c=!1);if(D(b)){a.set(b.__key,c?b.getTextContentSize():0,\"text\");break}else if(!G(b))break;a.set(b.__key,c?b.getChildrenSize():0,\"element\")}}let P=\"\",Q=\"\",R=\"\",sc,S,tc,uc=!1,vc=!1,wc,xc=null,yc,zc,Ac,Bc,Cc,Dc;\nfunction Ec(a,b){let c=Ac.get(a);if(null!==b){let d=Fc(a);b.removeChild(d)}Bc.has(a)||S._keyToDOMMap.delete(a);G(c)&&(a=c.__children,Gc(a,0,a.length-1,null));void 0!==c&&Wb(Dc,tc,wc,c,\"destroyed\")}function Gc(a,b,c,d){for(;b<=c;++b){let e=a[b];void 0!==e&&Ec(e,d)}}function Hc(a,b){a.setProperty(\"text-align\",b)}function Ic(a,b){a.style.setProperty(\"padding-inline-start\",0===b?\"\":20*b+\"px\")}\nfunction Jc(a,b){a=a.style;0===b?Hc(a,\"\"):1===b?Hc(a,\"left\"):2===b?Hc(a,\"center\"):3===b?Hc(a,\"right\"):4===b&&Hc(a,\"justify\")}\nfunction Kc(a,b,c){let d=Bc.get(a);void 0===d&&r(60);let e=d.createDOM(sc,S);var f=S._keyToDOMMap;e[\"__lexicalKey_\"+S._key]=a;f.set(a,e);D(d)?e.setAttribute(\"data-lexical-text\",\"true\"):C(d)&&e.setAttribute(\"data-lexical-decorator\",\"true\");if(G(d)){a=d.__indent;0!==a&&Ic(e,a);a=d.__children;var g=a.length;if(0!==g){f=a;--g;let h=Q;Q=\"\";Lc(f,0,g,e,null);Mc(d,e);Q=h}f=d.__format;0!==f&&Jc(e,f);d.isInline()||Nc(null,a,e);Zb(d)&&(P+=\"\\n\\n\",R+=\"\\n\\n\")}else f=d.getTextContent(),C(d)?(g=d.decorate(S,sc),\nnull!==g&&Oc(a,g),e.contentEditable=\"false\"):D(d)&&(d.isDirectionless()||(Q+=f)),P+=f,R+=f;null!==b&&(null!=c?b.insertBefore(e,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(e,c):b.appendChild(e)));Wb(Dc,tc,wc,d,\"created\");return e}function Lc(a,b,c,d,e){let f=P;for(P=\"\";b<=c;++b)Kc(a[b],d,e);d.__lexicalTextContent=P;P=f+P}function Pc(a,b){a=b.get(a[a.length-1]);return Cb(a)||C(a)&&a.isInline()}\nfunction Nc(a,b,c){a=null!==a&&(0===a.length||Pc(a,Ac));b=null!==b&&(0===b.length||Pc(b,Bc));a?b||(b=c.__lexicalLineBreak,null!=b&&c.removeChild(b),c.__lexicalLineBreak=null):b&&(b=document.createElement(\"br\"),c.__lexicalLineBreak=b,c.appendChild(b))}\nfunction Mc(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==Q||c!==xc){let f=\"\"===Q;if(f)var d=xc;else d=Q,d=Va.test(d)?\"rtl\":Wa.test(d)?\"ltr\":null;if(d!==c){let g=b.classList,h=sc.theme;var e=null!==c?h[c]:void 0;let k=null!==d?h[d]:void 0;void 0!==e&&(\"string\"===typeof e&&(e=e.split(\" \"),e=h[c]=e),g.remove(...e));null===d||f&&\"ltr\"===d?b.removeAttribute(\"dir\"):(void 0!==k&&(\"string\"===typeof k&&(c=k.split(\" \"),k=h[d]=c),void 0!==k&&g.add(...k)),b.dir=d);vc||(a.getWritable().__dir=d)}xc=\nd;b.__lexicalDirTextContent=Q;b.__lexicalDir=d}}\nfunction Qc(a,b){var c=Ac.get(a),d=Bc.get(a);void 0!==c&&void 0!==d||r(61);var e=uc||zc.has(a)||yc.has(a);let f=$b(S,a);if(c===d&&!e)return G(c)?(d=f.__lexicalTextContent,void 0!==d&&(P+=d,R+=d),d=f.__lexicalDirTextContent,void 0!==d&&(Q+=d)):(d=c.getTextContent(),D(c)&&!c.isDirectionless()&&(Q+=d),R+=d,P+=d),f;c!==d&&e&&Wb(Dc,tc,wc,d,\"updated\");if(d.updateDOM(c,f,sc))return d=Kc(a,null,null),null===b&&r(62),b.replaceChild(d,f),Ec(a,null),d;if(G(c)&&G(d)){a=d.__indent;a!==c.__indent&&Ic(f,a);a=d.__format;\na!==c.__format&&Jc(f,a);a=c.__children;c=d.__children;if(a!==c||e){var g=a,h=c;e=d;b=Q;Q=\"\";let v=P;P=\"\";var k=g.length,m=h.length;if(1===k&&1===m){var l=g[0];h=h[0];if(l===h)Qc(l,f);else{var n=Fc(l);h=Kc(h,null,null);f.replaceChild(h,n);Ec(l,null)}}else if(0===k)0!==m&&Lc(h,0,m-1,f,null);else if(0===m)0!==k&&(l=null==f.__lexicalLineBreak,Gc(g,0,k-1,l?null:f),l&&(f.textContent=\"\"));else{let w=k-1;k=m-1;let y=f.firstChild,z=0;for(m=0;z<=w&&m<=k;){var q=g[z];let B=h[m];if(q===B)y=Qc(B,f).nextSibling,\nz++,m++;else{void 0===l&&(l=new Set(g));void 0===n&&(n=new Set(h));let F=n.has(q),T=l.has(B);F?(T?(q=$b(S,B),q===y?y=Qc(B,f).nextSibling:(null!=y?f.insertBefore(q,y):f.appendChild(q),Qc(B,f)),z++):Kc(B,f,y),m++):(y=Fc(q).nextSibling,Ec(q,f),z++)}}l=z>w;n=m>k;l&&!n?(l=h[k+1],l=void 0===l?null:S.getElementByKey(l),Lc(h,m,k,f,l)):n&&!l&&Gc(g,z,w,f)}Zb(e)&&(P+=\"\\n\\n\");f.__lexicalTextContent=P;P=v+P;Mc(e,f);Q=b;O(d)||d.isInline()||Nc(a,c,f)}Zb(d)&&(P+=\"\\n\\n\",R+=\"\\n\\n\")}else c=d.getTextContent(),C(d)?(e=\nd.decorate(S,sc),null!==e&&Oc(a,e)):D(d)&&!d.isDirectionless()&&(Q+=c),P+=c,R+=c;!vc&&O(d)&&d.__cachedText!==R&&(d=d.getWritable(),d.__cachedText=R);return f}function Oc(a,b){let c=S._pendingDecorators,d=S._decorators;if(null===c){if(d[a]===b)return;c=Jb(S)}c[a]=b}function Fc(a){a=Cc.get(a);void 0===a&&r(75);return a}\nlet U=Object.freeze({}),Xc=[[\"keydown\",Rc],[\"mousedown\",Sc],[\"compositionstart\",Tc],[\"compositionend\",Uc],[\"input\",Vc],[\"click\",Wc],[\"cut\",U],[\"copy\",U],[\"dragstart\",U],[\"dragover\",U],[\"dragend\",U],[\"paste\",U],[\"focus\",U],[\"blur\",U],[\"drop\",U]];Pa&&Xc.push([\"beforeinput\",(a,b)=>Yc(a,b)]);let Zc=0,$c=0,ad=0,bd=!1,cd=!1,dd=!1,ed=!1,fd=[0,0,\"root\",0];function gd(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}\nfunction hd(a,b,c){let {anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g}=a;if(bd&&(bd=!1,gd(d,e)&&gd(f,g)))return;A(b,()=>{if(!c)lb(null);else if(wb(b,d,f)){var h=x();if(E(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){\"Range\"===a.type&&a.anchorNode===a.focusNode&&(h.dirty=!0);var l=tb(b).event;l=l?l.timeStamp:performance.now();let [n,q,v,w]=fd;l<w+200&&k.offset===q&&k.key===v?h.format=n:\"text\"===k.type?h.format=m.getFormat():\"element\"===k.type&&(h.format=0)}else{k=127;m=!1;l=h.getNodes();\nlet n=l.length;for(let q=0;q<n;q++){let v=l[q];if(D(v)&&(m=!0,k&=v.getFormat(),0===k))break}h.format=m?k:0}}V(b,ba,void 0)}})}function Wc(a,b){A(b,()=>{let c=x(),d=t?window.getSelection():null,e=Sb();if(E(c)){let f=c.anchor,g=f.getNode();d&&\"element\"===f.type&&0===f.offset&&c.isCollapsed()&&!O(g)&&1===Lb().getChildrenSize()&&g.getTopLevelElementOrThrow().isEmpty()&&null!==e&&c.is(e)&&(d.removeAllRanges(),c.dirty=!0)}V(b,ca,a)})}\nfunction Sc(a,b){let c=a.target;c instanceof Node&&A(b,()=>{C(ib(c))||(cd=!0)})}function id(a,b){b.getTargetRanges&&(b=b.getTargetRanges()[0])&&a.applyDOMRange(b)}function jd(a,b){return a!==b||G(a)||G(b)||!a.isToken()||!b.isToken()}\nfunction Yc(a,b){let c=a.inputType;\"deleteCompositionText\"===c||Oa&&mb(b)||\"insertCompositionText\"!==c&&A(b,()=>{let d=x();if(\"deleteContentBackward\"===c){if(null===d){var e=Sb();if(!E(e))return;lb(e.clone())}if(E(d)){229===$c&&a.timeStamp<Zc+30&&b.isComposing()&&d.anchor.key===d.focus.key?(K(null),Zc=0,setTimeout(()=>{A(b,()=>{K(null)})},30),E(d)&&(e=d.anchor.getNode(),e.markDirty(),d.format=e.getFormat())):(a.preventDefault(),V(b,da,!0));return}}if(E(d)){e=a.data;d.dirty||!d.isCollapsed()||O(d.anchor.getNode())||\nid(d,a);var f=d.focus,g=d.anchor.getNode();f=f.getNode();if(\"insertText\"===c||\"insertTranspose\"===c)\"\\n\"===e?(a.preventDefault(),V(b,ea,!1)):\"\\n\\n\"===e?(a.preventDefault(),V(b,ha,void 0)):null==e&&a.dataTransfer?(e=a.dataTransfer.getData(\"text/plain\"),a.preventDefault(),d.insertRawText(e)):null!=e&&Ub(d,e)&&(a.preventDefault(),V(b,ia,e));else switch(a.preventDefault(),c){case \"insertFromYank\":case \"insertFromDrop\":case \"insertReplacementText\":V(b,ia,a);break;case \"insertFromComposition\":K(null);V(b,\nia,a);break;case \"insertLineBreak\":K(null);V(b,ea,!1);break;case \"insertParagraph\":K(null);dd?(dd=!1,V(b,ea,!1)):V(b,ha,void 0);break;case \"insertFromPaste\":case \"insertFromPasteAsQuotation\":V(b,ja,a);break;case \"deleteByComposition\":jd(g,f)&&V(b,ka,void 0);break;case \"deleteByDrag\":case \"deleteByCut\":V(b,ka,void 0);break;case \"deleteContent\":V(b,da,!1);break;case \"deleteWordBackward\":V(b,la,!0);break;case \"deleteWordForward\":V(b,la,!1);break;case \"deleteHardLineBackward\":case \"deleteSoftLineBackward\":V(b,\nna,!0);break;case \"deleteContentForward\":case \"deleteHardLineForward\":case \"deleteSoftLineForward\":V(b,na,!1);break;case \"formatStrikeThrough\":V(b,p,\"strikethrough\");break;case \"formatBold\":V(b,p,\"bold\");break;case \"formatItalic\":V(b,p,\"italic\");break;case \"formatUnderline\":V(b,p,\"underline\");break;case \"historyUndo\":V(b,oa,void 0);break;case \"historyRedo\":V(b,pa,void 0)}}})}\nfunction Vc(a,b){a.stopPropagation();A(b,()=>{var c=x(),d=a.data;null!=d&&E(c)&&Ub(c,d)?(ed&&(kd(b,d),ed=!1),V(b,ia,d),d=d.length,Oa&&1<d&&\"insertCompositionText\"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=d),Qa||Ra||!b.isComposing()||(Zc=0,K(null))):(Rb(!1),ed&&(kd(b,d||void 0),ed=!1));H();c=I();nb(c)})}\nfunction Tc(a,b){A(b,()=>{let c=x();if(E(c)&&!b.isComposing()){let d=c.anchor;K(d.key);(a.timeStamp<Zc+30||\"element\"===d.type||!c.isCollapsed()||c.anchor.getNode().getFormat()!==c.format)&&V(b,ia,Ua)}})}\nfunction kd(a,b){var c=a._compositionKey;K(null);if(null!==c&&null!=b){if(\"\"===b){b=L(c);a=zb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&D(b)&&jb(b,a.nodeValue,null,null,!0);return}if(\"\\n\"===b[b.length-1]&&(c=x(),E(c))){b=c.focus;c.anchor.set(b.key,b.offset,b.type);V(a,ya,null);return}}Rb(!0,b)}function Uc(a,b){Oa?ed=!0:A(b,()=>{kd(b,a.data)})}\nfunction Rc(a,b){Zc=a.timeStamp;$c=a.keyCode;if(!b.isComposing()){var {keyCode:c,shiftKey:d,ctrlKey:e,metaKey:f,altKey:g}=a;if(39!==c||e||f||g)if(39!==c||g||d||!e&&!f)if(37!==c||e||f||g)if(37!==c||g||d||!e&&!f)if(38!==c||e||f)if(40!==c||e||f)if(13===c&&d)dd=!0,V(b,ya,a);else if(32===c)V(b,za,a);else if(u&&e&&79===c)a.preventDefault(),dd=!0,V(b,ea,!0);else if(13!==c||d){var h=u?g||f?!1:8===c||72===c&&e:e||g||f?!1:8===c;h?8===c?V(b,Aa,a):(a.preventDefault(),V(b,da,!0)):27===c?V(b,Ba,a):(h=u?d||g||f?\n!1:46===c||68===c&&e:e||g||f?!1:46===c,h?46===c?V(b,Ca,a):(a.preventDefault(),V(b,da,!1)):8===c&&(u?g:e)?(a.preventDefault(),V(b,la,!0)):46===c&&(u?g:e)?(a.preventDefault(),V(b,la,!1)):u&&f&&8===c?(a.preventDefault(),V(b,na,!0)):u&&f&&46===c?(a.preventDefault(),V(b,na,!1)):66===c&&!g&&(u?f:e)?(a.preventDefault(),V(b,p,\"bold\")):85===c&&!g&&(u?f:e)?(a.preventDefault(),V(b,p,\"underline\")):73===c&&!g&&(u?f:e)?(a.preventDefault(),V(b,p,\"italic\")):9!==c||g||e||f?90===c&&!d&&(u?f:e)?(a.preventDefault(),\nV(b,oa,void 0)):(h=u?90===c&&f&&d:89===c&&e||90===c&&e&&d,h?(a.preventDefault(),V(b,pa,void 0)):ld(b._editorState._selection)&&(h=d?!1:67===c?u?f:e:!1,h?(a.preventDefault(),V(b,Ia,a)):(h=d?!1:88===c?u?f:e:!1,h&&(a.preventDefault(),V(b,Ja,a))))):V(b,Da,a))}else dd=!1,V(b,ya,a);else V(b,va,a);else V(b,ua,a);else V(b,ta,a);else V(b,sa,a);else V(b,ra,a);else V(b,qa,a);(e||d||g||f)&&V(b,Ma,a)}}function md(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let nd=new Map;\nfunction od(){let a=t?window.getSelection():null;if(null!==a){var b=xb(a.anchorNode);if(null!==b){cd&&(cd=!1,A(b,()=>{var g=Sb(),h=a.anchorNode;null!==h&&(h=h.nodeType,1===h||3===h)&&(g=pd(g,a,b),lb(g))}));var c=Pb(b);c=c[c.length-1];var d=c._key,e=nd.get(d),f=e||c;f!==b&&hd(a,f,!1);hd(a,b,!0);b!==c?nd.set(d,b):e&&nd.delete(d)}}}\nfunction qd(a,b){0===ad&&a.ownerDocument.addEventListener(\"selectionchange\",od);ad++;a.__lexicalEditor=b;let c=md(a);for(let d=0;d<Xc.length;d++){let [e,f]=Xc[d],g=\"function\"===typeof f?h=>{!0!==h._lexicalHandled&&(h._lexicalHandled=!0,b.isEditable()&&f(h,b))}:h=>{if(!0!==h._lexicalHandled&&(h._lexicalHandled=!0,b.isEditable()))switch(e){case \"cut\":return V(b,Ja,h);case \"copy\":return V(b,Ia,h);case \"paste\":return V(b,ja,h);case \"dragstart\":return V(b,Fa,h);case \"dragover\":return V(b,Ga,h);case \"dragend\":return V(b,\nHa,h);case \"focus\":return V(b,Ka,h);case \"blur\":return V(b,La,h);case \"drop\":return V(b,Ea,h)}};a.addEventListener(e,g);c.push(()=>{a.removeEventListener(e,g)})}}\nclass X{constructor(a,b,c){this._selection=null;this.key=a;this.offset=b;this.type=c}is(a){return this.key===a.key&&this.offset===a.offset&&this.type===a.type}isBefore(a){let b=this.getNode(),c=a.getNode(),d=this.offset;a=a.offset;if(G(b)){var e=b.getDescendantByIndex(d);b=null!=e?e:b}G(c)&&(e=c.getDescendantByIndex(a),c=null!=e?e:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=L(this.key);null===a&&r(20);return a}set(a,b,c){let d=this._selection,e=this.key;this.key=a;this.offset=b;this.type=c;\nM||(Ib()===e&&K(a),null!==d&&(d._cachedNodes=null,d.dirty=!0))}}function rd(a,b){let c=b.__key,d=a.offset,e=\"element\";if(D(b))e=\"text\",b=b.getTextContentSize(),d>b&&(d=b);else if(!G(b)){var f=b.getNextSibling();if(D(f))c=f.__key,d=0;else if(f=b.getParent())c=f.__key,d=b.getIndexWithinParent()+1}a.set(c,d,e)}function sd(a,b){if(G(b)){let c=b.getLastDescendant();G(c)||D(c)?rd(a,c):rd(a,b)}else rd(a,b)}\nfunction td(a,b,c){let d=a.getNode(),e=d.getChildAtIndex(a.offset),f=N(),g=O(d)?ud().append(f):f;f.setFormat(c);null===e?d.append(g):e.insertBefore(g);a.is(b)&&b.set(f.__key,0,\"text\");a.set(f.__key,0,\"text\")}function vd(a,b,c,d){a.key=b;a.offset=c;a.type=d}\nclass wd{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}is(a){if(!ld(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}add(a){this.dirty=!0;this._nodes.add(a);this._cachedNodes=null}delete(a){this.dirty=!0;this._nodes.delete(a);this._cachedNodes=null}clear(){this.dirty=!0;this._nodes.clear();this._cachedNodes=null}has(a){return this._nodes.has(a)}clone(){return new wd(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){let c=this.getNodes(),d=c.length;var e=c[d-1];if(D(e))e=e.select();else{let f=e.getIndexWithinParent()+1;e=e.getParentOrThrow().select(f,f)}e.insertNodes(a,b);for(a=0;a<d;a++)c[a].remove();return!0}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=L(c),null!==b&&a.push(b);M||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function E(a){return a instanceof xd}\nclass yd{constructor(a,b,c){this.gridKey=a;this.anchor=b;this.focus=c;this.dirty=!1;this._cachedNodes=null;b._selection=this;c._selection=this}is(a){return zd(a)?this.gridKey===a.gridKey&&this.anchor.is(a.anchor)&&this.focus.is(a.focus):!1}set(a,b,c){this.dirty=!0;this.gridKey=a;this.anchor.key=b;this.focus.key=c;this._cachedNodes=null}clone(){return new yd(this.gridKey,this.anchor,this.focus)}isCollapsed(){return!1}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return Ad(this)}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){let c=this.focus.getNode();return qc(c.select(0,c.getChildrenSize())).insertNodes(a,b)}getShape(){var a=L(this.anchor.key);null===a&&r(21);var b=a.getIndexWithinParent();a=a.getParentOrThrow().getIndexWithinParent();var c=L(this.focus.key);null===c&&r(22);var d=c.getIndexWithinParent();let e=c.getParentOrThrow().getIndexWithinParent();c=Math.min(b,d);b=Math.max(b,d);d=Math.min(a,e);a=Math.max(a,e);return{fromX:Math.min(c,b),fromY:Math.min(d,a),toX:Math.max(c,b),toY:Math.max(d,a)}}getNodes(){var a=\nthis._cachedNodes;if(null!==a)return a;a=new Set;let {fromX:b,fromY:c,toX:d,toY:e}=this.getShape();var f=L(this.gridKey);Bd(f)||r(23);a.add(f);f=f.getChildren();for(let k=c;k<=e;k++){var g=f[k];a.add(g);Cd(g)||r(24);g=g.getChildren();for(let m=b;m<=d;m++){var h=g[m];Dd(h)||r(25);a.add(h);for(h=h.getChildren();0<h.length;){let l=h.shift();a.add(l);G(l)&&h.unshift(...l.getChildren())}}}a=Array.from(a);M||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";for(let c=0;c<a.length;c++)b+=\na[c].getTextContent();return b}}function zd(a){return a instanceof yd}\nclass xd{constructor(a,b,c){this.anchor=a;this.focus=b;this.dirty=!1;this.format=c;this._cachedNodes=null;a._selection=this;b._selection=this}is(a){return E(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus)&&this.format===a.format:!1}isBackward(){return this.focus.isBefore(this.anchor)}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this.anchor,c=this.focus;a=b.getNode();let d=c.getNode();G(a)&&(b=a.getDescendantByIndex(b.offset),a=null!=\nb?b:a);G(d)&&(c=d.getDescendantByIndex(c.offset),d=null!=c?c:d);a=a.is(d)?G(a)&&0<a.getChildrenSize()?[]:[a]:a.getNodesBetween(d);M||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){vd(this.anchor,a.__key,b,\"text\");vd(this.focus,c.__key,d,\"text\");this._cachedNodes=null;this.dirty=!0}getTextContent(){let a=this.getNodes();if(0===a.length)return\"\";let b=a[0],c=a[a.length-1],d=this.anchor.isBefore(this.focus),[e,f]=Ad(this),g=\"\",h=!0;for(let k=0;k<a.length;k++){let m=a[k];if(G(m)&&!m.isInline())h||\n(g+=\"\\n\"),h=m.isEmpty()?!1:!0;else if(h=!1,D(m)){let l=m.getTextContent();m===b?l=m===c?e<f?l.slice(e,f):l.slice(f,e):d?l.slice(e):l.slice(f):m===c&&(l=d?l.slice(0,f):l.slice(0,e));g+=l}else!C(m)&&!Cb(m)||m===c&&this.isCollapsed()||(g+=m.getTextContent())}return g}applyDOMRange(a){let b=I(),c=b.getEditorState()._selection;a=Ed(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,c);if(null!==a){var [d,e]=a;vd(this.anchor,d.key,d.offset,d.type);vd(this.focus,e.key,e.offset,e.type);this._cachedNodes=\nnull}}clone(){let a=this.anchor,b=this.focus;return new xd(new X(a.key,a.offset,a.type),new X(b.key,b.offset,b.type),this.format)}toggleFormat(a){this.format=Ab(this.format,a,null);this.dirty=!0}hasFormat(a){return 0!==(this.format&Xa[a])}insertRawText(a){let b=a.split(/\\r?\\n/);if(1===b.length)this.insertText(a);else{a=[];let c=b.length;for(let d=0;d<c;d++){let e=b[d];\"\"!==e&&a.push(N(e));d!==c-1&&a.push(Fd())}this.insertNodes(a)}}insertText(a){var b=this.anchor,c=this.focus,d=this.isCollapsed()||\nb.isBefore(c),e=this.format;d&&\"element\"===b.type?td(b,c,e):d||\"element\"!==c.type||td(c,b,e);var f=this.getNodes(),g=f.length,h=d?c:b;c=(d?b:c).offset;var k=h.offset;b=f[0];D(b)||r(26);d=b.getTextContent().length;var m=b.getParentOrThrow(),l=f[g-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||!m.canInsertTextAfter()&&null===b.getNextSibling())){var n=b.getNextSibling();if(!D(n)||yb(n))n=N(),n.setFormat(e),m.canInsertTextAfter()?b.insertAfter(n):m.insertAfter(n);\nn.select(0,0);b=n;if(\"\"!==a){this.insertText(a);return}}else if(this.isCollapsed()&&0===c&&(b.isSegmented()||b.isToken()||!b.canInsertTextBefore()||!m.canInsertTextBefore()&&null===b.getPreviousSibling())){n=b.getPreviousSibling();if(!D(n)||yb(n))n=N(),n.setFormat(e),m.canInsertTextBefore()?b.insertBefore(n):m.insertBefore(n);n.select();b=n;if(\"\"!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)m=N(b.getTextContent()),m.setFormat(e),b.replace(m),b=m;else if(!(this.isCollapsed()||\"\"===\na||(n=l.getParent(),m.canInsertTextBefore()&&m.canInsertTextAfter()&&(!G(n)||n.canInsertTextBefore()&&n.canInsertTextAfter())))){this.insertText(\"\");Gd(this.anchor,this.focus,null);this.insertText(a);return}if(1===g)if(b.isToken())a=N(a),a.select(),b.replace(a);else{f=b.getFormat();if(c===k&&f!==e)if(\"\"===b.getTextContent())b.setFormat(e);else{f=N(a);f.setFormat(e);f.select();0===c?b.insertBefore(f):([g]=b.splitText(c),g.insertAfter(f));f.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=\na.length);return}b=b.spliceText(c,k-c,a,!0);\"\"===b.getTextContent()?b.remove():\"text\"===this.anchor.type&&(b.isComposing()?this.anchor.offset-=a.length:this.format=f)}else{e=new Set([...b.getParentKeys(),...l.getParentKeys()]);var q=G(b)?b:b.getParentOrThrow();m=G(l)?l:l.getParentOrThrow();n=l;if(!q.is(m)&&m.isInline()){do n=m,m=m.getParentOrThrow();while(m.isInline())}\"text\"===h.type&&(0!==k||\"\"===l.getTextContent())||\"element\"===h.type&&l.getIndexWithinParent()<k?D(l)&&!l.isToken()&&k!==l.getTextContentSize()?\n(l.isSegmented()&&(h=N(l.getTextContent()),l.replace(h),l=h),l=l.spliceText(0,k,\"\"),e.add(l.__key)):(h=l.getParentOrThrow(),h.canBeEmpty()||1!==h.getChildrenSize()?l.remove():h.remove()):e.add(l.__key);h=m.getChildren();k=new Set(f);l=q.is(m);q=q.isInline()&&null===b.getNextSibling()?q:b;for(let v=h.length-1;0<=v;v--){let w=h[v];if(w.is(b)||G(w)&&w.isParentOf(b))break;w.isAttached()&&(!k.has(w)||w.is(n)?l||q.insertAfter(w):w.remove())}if(!l)for(h=m,k=null;null!==h;){l=h.getChildren();m=l.length;if(0===\nm||l[m-1].is(k))e.delete(h.__key),k=h;h=h.getParent()}b.isToken()?c===d?b.select():(a=N(a),a.select(),b.replace(a)):(b=b.spliceText(c,d-c,a,!0),\"\"===b.getTextContent()?b.remove():b.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=a.length));for(a=1;a<g;a++)b=f[a],e.has(b.__key)||b.remove()}}removeText(){this.insertText(\"\")}formatText(a){if(this.isCollapsed())this.toggleFormat(a),K(null);else{var b=this.getNodes(),c=[];for(var d of b)D(d)&&c.push(d);var e=c.length;if(0===e)this.toggleFormat(a),\nK(null);else{d=this.anchor;var f=this.focus,g=this.isBackward();b=g?f:d;d=g?d:f;var h=0,k=c[0];f=\"element\"===b.type?0:b.offset;\"text\"===b.type&&f===k.getTextContentSize()&&(h=1,k=c[1],f=0);if(null!=k){g=k.getFormatFlags(a,null);var m=e-1,l=c[m];e=\"text\"===d.type?d.offset:l.getTextContentSize();if(k.is(l))f!==e&&(0===f&&e===k.getTextContentSize()?k.setFormat(g):(a=k.splitText(f,e),a=0===f?a[0]:a[1],a.setFormat(g),\"text\"===b.type&&b.set(a.__key,0,\"text\"),\"text\"===d.type&&d.set(a.__key,e-f,\"text\")),\nthis.format=g);else{0!==f&&([,k]=k.splitText(f),f=0);k.setFormat(g);var n=l.getFormatFlags(a,g);0<e&&(e!==l.getTextContentSize()&&([l]=l.splitText(e)),l.setFormat(n));for(h+=1;h<m;h++){let q=c[h];if(!q.isToken()){let v=q.getFormatFlags(a,n);q.setFormat(v)}}\"text\"===b.type&&b.set(k.__key,f,\"text\");\"text\"===d.type&&d.set(l.__key,e,\"text\");this.format=g|n}}}}}insertNodes(a,b){if(!this.isCollapsed()){var c=this.isBackward()?this.anchor:this.focus,d=c.getNode().getNextSibling();d=d?d.getKey():null;c=(c=\nc.getNode().getPreviousSibling())?c.getKey():null;this.removeText();if(this.isCollapsed()&&\"element\"===this.focus.type){if(this.focus.key===d&&0===this.focus.offset){var e=N();this.focus.getNode().insertBefore(e)}else this.focus.key===c&&this.focus.offset===this.focus.getNode().getChildrenSize()&&(e=N(),this.focus.getNode().insertAfter(e));e&&(this.focus.set(e.__key,0,\"text\"),this.anchor.set(e.__key,0,\"text\"))}}d=this.anchor;c=d.offset;var f=d.getNode();e=f;\"element\"===d.type&&(e=d.getNode(),d=e.getChildAtIndex(c-\n1),e=null===d?e:d);d=[];var g=f.getNextSiblings(),h=ic(f)?null:f.getTopLevelElementOrThrow();if(D(f))if(e=f.getTextContent().length,0===c&&0!==e)e=f.getPreviousSibling(),e=null!==e?e:f.getParentOrThrow(),d.push(f);else if(c===e)e=f;else{if(f.isToken())return!1;[e,f]=f.splitText(c);d.push(f)}f=e;d.push(...g);g=a[0];var k=!1,m=null;for(let v=0;v<a.length;v++){var l=a[v];if(C(e)||!G(l)||l.isInline())k&&!C(l)&&ic(e.getParent())&&r(28);else{if(l.is(g)){if(G(e)&&e.isEmpty()&&e.canReplaceWith(l)){e.replace(l);\ne=l;k=!0;continue}var n=l.getFirstDescendant();if(Bb(n)){for(n=n.getParentOrThrow();n.isInline();)n=n.getParentOrThrow();m=n.getChildren();k=m.length;if(G(e))for(var q=0;q<k;q++)e.append(m[q]);else{for(q=k-1;0<=q;q--)e.insertAfter(m[q]);e=e.getParentOrThrow()}m=m[k-1];n.remove();k=!0;if(n.is(l))continue}}D(e)&&(null===h&&r(27),e=h)}k=!1;if(G(e)&&!e.isInline())if(m=l,C(l)&&!l.isInline())e=e.insertAfter(l);else if(G(l)){if(l.canBeEmpty()||!l.isEmpty())O(e)?(n=e.getChildAtIndex(c),null!==n?n.insertBefore(l):\ne.append(l),e=l):e=e.insertAfter(l)}else n=e.getFirstChild(),null!==n?n.insertBefore(l):e.append(l),e=l;else!G(l)||G(l)&&l.isInline()||C(e)&&!e.isInline()?(m=l,e=e.insertAfter(l)):(l=e.getParentOrThrow(),Cb(e)&&e.remove(),e=l,v--)}b&&(D(f)?f.select():(a=e.getPreviousSibling(),D(a)?a.select():(a=e.getIndexWithinParent(),e.getParentOrThrow().select(a,a))));if(G(e)){if(a=D(m)?m:G(m)&&m.isInline()?m.getLastDescendant():e.getLastDescendant(),b||(null===a?e.select():D(a)?a.select():a.selectNext()),0!==\nd.length)for(b=e,a=d.length-1;0<=a;a--)c=d[a],h=c.getParentOrThrow(),!G(e)||Hd(c)||C(c)&&(!c.isInline()||c.isIsolated())?G(e)||Hd(c)?G(c)&&!c.canInsertAfter(e)?(f=h.constructor.clone(h),G(f)||r(29),f.append(c),e.insertAfter(f)):e.insertAfter(c):(e.insertBefore(c),e=c):(b===e?e.append(c):e.insertBefore(c),e=c),h.isEmpty()&&!h.canBeEmpty()&&h.remove()}else b||(D(e)?e.select():(b=e.getParentOrThrow(),a=e.getIndexWithinParent()+1,b.select(a,a)));return!0}insertParagraph(){this.isCollapsed()||this.removeText();\nvar a=this.anchor,b=a.offset,c=[];if(\"text\"===a.type){var d=a.getNode();var e=d.getNextSiblings().reverse();var f=d.getParentOrThrow();var g=f.isInline(),h=g?f.getTextContentSize():d.getTextContentSize();0===b?e.push(d):(g&&(c=f.getNextSiblings()),b===h||g&&b===d.getTextContentSize()||([,d]=d.splitText(b),e.push(d)))}else{f=a.getNode();if(ic(f)){e=ud();c=f.getChildAtIndex(b);e.select();null!==c?c.insertBefore(e):f.append(e);return}e=f.getChildren().slice(b).reverse()}d=e.length;if(0===b&&0<d&&f.isInline()){if(c=\nf.getParentOrThrow(),e=c.insertNewAfter(this),G(e))for(c=c.getChildren(),f=0;f<c.length;f++)e.append(c[f])}else if(g=f.insertNewAfter(this),null===g)this.insertLineBreak();else if(G(g))if(h=f.getFirstChild(),0===b&&(f.is(a.getNode())||h&&h.is(a.getNode()))&&0<d)f.insertBefore(g);else{f=null;b=c.length;a=g.getParentOrThrow();if(0<b)for(h=0;h<b;h++)a.append(c[h]);if(0!==d)for(c=0;c<d;c++)b=e[c],null===f?g.append(b):f.insertBefore(b),f=b;g.canBeEmpty()||0!==g.getChildrenSize()?g.selectStart():(g.selectPrevious(),\ng.remove())}}insertLineBreak(a){let b=Fd();var c=this.anchor;\"element\"===c.type&&(c=c.getNode(),O(c)&&this.insertParagraph());a?this.insertNodes([b],!0):this.insertNodes([b])&&b.selectNext(0,0)}getCharacterOffsets(){return Ad(this)}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let e=this.focus;var f=a[0];let g=a[c],[h,k]=Ad(this);if(0===b)return[];if(1===b)return D(f)&&!this.isCollapsed()?(a=h>k?k:h,c=f.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=a?[a]:[]):[f];b=d.isBefore(e);D(f)&&\n(d=b?h:k,d===f.getTextContentSize()?a.shift():0!==d&&([,f]=f.splitText(d),a[0]=f));D(g)&&(f=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==f&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,e=this.anchor,f=\"move\"===a,g=Yb(d,b);if(C(g)&&!g.isIsolated())f&&g.isKeyboardSelectable()?(b=Id(),b.add(g.__key),lb(b)):(a=b?g.getPreviousSibling():g.getNextSibling(),D(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,\"text\"),f&&e.set(g,b,\"text\")):(c=g.getParentOrThrow(),G(a)?(c=\na.__key,g=b?a.getChildrenSize():0):(g=g.getIndexWithinParent(),c=c.__key,b||g++),d.set(c,g,\"element\"),f&&e.set(c,g,\"element\")));else if(d=t?window.getSelection():null)if(d.modify(a,b?\"backward\":\"forward\",c),0<d.rangeCount&&(e=d.getRangeAt(0),g=this.anchor.getNode(),g=O(g)?g:cc(g),this.applyDOMRange(e),this.dirty=!0,!f)){f=this.getNodes();a=[];c=!1;for(let h=0;h<f.length;h++){let k=f[h];bc(k,g)?a.push(k):c=!0}c&&0<a.length&&(b?(b=a[0],G(b)?b.selectStart():b.getParentOrThrow().selectStart()):(b=a[a.length-\n1],G(b)?b.selectEnd():b.getParentOrThrow().selectEnd()));if(d.anchorNode!==e.startContainer||d.anchorOffset!==e.startOffset)b=this.focus,f=this.anchor,d=f.key,e=f.offset,g=f.type,vd(f,b.key,b.offset,b.type),vd(b,d,e,g),this._cachedNodes=null}}deleteCharacter(a){if(this.isCollapsed()){var b=this.anchor,c=this.focus,d=b.getNode();if(!a&&(\"element\"===b.type&&G(d)&&b.offset===d.getChildrenSize()||\"text\"===b.type&&b.offset===d.getTextContentSize())){var e=d.getNextSibling()||d.getParentOrThrow().getNextSibling();\nif(G(e)&&!e.canExtractContents())return}e=Yb(c,a);if(C(e)&&!e.isIsolated()){e.isKeyboardSelectable()&&G(d)&&0===d.getChildrenSize()?(d.remove(),a=Id(),a.add(e.__key),lb(a)):e.remove();return}this.modify(\"extend\",a,\"character\");if(!this.isCollapsed()){e=\"text\"===c.type?c.getNode():null;d=\"text\"===b.type?b.getNode():null;if(null!==e&&e.isSegmented()){if(b=c.offset,c=e.getTextContentSize(),e.is(d)||a&&b!==c||!a&&0!==b){Jd(e,a,b);return}}else if(null!==d&&d.isSegmented()&&(b=b.offset,c=d.getTextContentSize(),\nd.is(e)||a&&0!==b||!a&&b!==c)){Jd(d,a,b);return}d=this.anchor;e=this.focus;b=d.getNode();c=e.getNode();if(b===c&&\"text\"===d.type&&\"text\"===e.type){var f=d.offset,g=e.offset;let h=f<g;c=h?f:g;g=h?g:f;f=g-1;c!==f&&(b=b.getTextContent().slice(c,g),Ob(b)||(a?e.offset=f:d.offset=f))}}else if(a&&0===b.offset&&(\"element\"===b.type?b.getNode():b.getNode().getParentOrThrow()).collapseAtStart(this))return}this.removeText()}deleteLine(a){this.isCollapsed()&&(\"text\"===this.anchor.type&&this.modify(\"extend\",a,\n\"lineboundary\"),0===(a?this.focus:this.anchor).offset&&this.modify(\"extend\",a,\"character\"));this.removeText()}deleteWord(a){this.isCollapsed()&&this.modify(\"extend\",a,\"word\");this.removeText()}}function ld(a){return a instanceof wd}function Kd(a){let b=a.offset;if(\"text\"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}\nfunction Ad(a){let b=a.anchor;a=a.focus;return\"element\"===b.type&&\"element\"===a.type&&b.key===a.key&&b.offset===a.offset?[0,0]:[Kd(b),Kd(a)]}function Jd(a,b,c){let d=a.getTextContent().split(/(?=\\s)/g),e=d.length,f=0,g=0;for(let h=0;h<e;h++){let k=d[h],m=h===e-1;g=f;f+=k.length;if(b&&f===c||f>c||m){d.splice(h,1);m&&(g=void 0);break}}b=d.join(\"\").trim();\"\"===b?a.remove():(a.setTextContent(b),a.select(g,g))}\nfunction Ld(a,b,c){var d=b;if(1===a.nodeType){let g=!1;var e=a.childNodes;var f=e.length;d===f&&(g=!0,d=f-1);e=Nb(e[d]);if(D(e))d=g?e.getTextContentSize():0;else{f=Nb(a);if(null===f)return null;if(G(f)){a=f.getChildAtIndex(d);if(b=G(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=g?a.getLastDescendant():a.getFirstDescendant(),null===c?(f=a,d=0):(a=c,f=a.getParentOrThrow()));D(a)?(e=a,f=null,d=g?a.getTextContentSize():0):a!==f&&g&&d++}else d=f.getIndexWithinParent(),\nd=0===b&&C(f)&&Nb(a)===f?d:d+1,f=f.getParentOrThrow();if(G(f))return new X(f.__key,d,\"element\")}}else e=Nb(a);return D(e)?new X(e.__key,d,\"text\"):null}\nfunction Ud(a,b,c){var d=a.offset,e=a.getNode();0===d?(d=e.getPreviousSibling(),e=e.getParent(),b)?(c||!b)&&null===d&&G(e)&&e.isInline()&&(b=e.getPreviousSibling(),D(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):G(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type=\"element\"):D(d)&&(a.key=d.__key,a.offset=d.getTextContent().length):d===e.getTextContent().length&&(d=e.getNextSibling(),e=e.getParent(),b&&G(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type=\"element\"):(c||\nb)&&null===d&&G(e)&&e.isInline()&&!e.canInsertTextAfter()&&(b=e.getNextSibling(),D(b)&&(a.key=b.__key,a.offset=0)))}function Gd(a,b,c){if(\"text\"===a.type&&\"text\"===b.type){var d=a.isBefore(b);let e=a.is(b);Ud(a,d,e);Ud(b,!d,e);e&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=I();d.isComposing()&&d._compositionKey!==a.key&&E(c)&&(d=c.anchor,c=c.focus,vd(a,d.key,d.offset,d.type),vd(b,c.key,c.offset,c.type))}}\nfunction Ed(a,b,c,d,e,f){if(null===a||null===c||!wb(e,a,c))return null;b=Ld(a,b,E(f)?f.anchor:null);if(null===b)return null;d=Ld(c,d,E(f)?f.focus:null);if(null===d||\"element\"===b.type&&\"element\"===d.type&&(a=Nb(a),c=Nb(c),C(a)&&C(c)))return null;Gd(b,d,f);return[b,d]}function Hd(a){return G(a)&&!a.isInline()}function Vd(a,b,c,d,e,f){let g=J();a=new xd(new X(a,b,e),new X(c,d,f),0);a.dirty=!0;return g._selection=a}function Id(){return new wd(new Set)}\nfunction Wd(a){let b=a.getEditorState()._selection,c=t?window.getSelection():null;return ld(b)||zd(b)?b.clone():pd(b,c,a)}\nfunction pd(a,b,c){var d=c._window;if(null===d)return null;var e=d.event,f=e?e.type:void 0;d=\"selectionchange\"===f;e=!cb&&(d||\"beforeinput\"===f||\"compositionstart\"===f||\"compositionend\"===f||\"click\"===f&&e&&3===e.detail||\"drop\"===f||void 0===f);let g;if(!E(a)||e){if(null===b)return null;e=b.anchorNode;f=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&E(a)&&!wb(c,e,f))return a.clone()}else return a.clone();c=Ed(e,g,f,b,c,a);if(null===c)return null;let [h,k]=c;return new xd(h,k,E(a)?a.format:0)}\nfunction x(){return J()._selection}function Sb(){return I()._editorState._selection}\nfunction Xd(a,b,c,d=1){var e=a.anchor,f=a.focus,g=e.getNode(),h=f.getNode();if(b.is(g)||b.is(h))if(g=b.__key,a.isCollapsed())b=e.offset,c<=b&&(c=Math.max(0,b+d),e.set(g,c,\"element\"),f.set(g,c,\"element\"),Yd(a));else{var k=a.isBackward();h=k?f:e;var m=h.getNode();e=k?e:f;f=e.getNode();b.is(m)&&(m=h.offset,c<=m&&h.set(g,Math.max(0,m+d),\"element\"));b.is(f)&&(b=e.offset,c<=b&&e.set(g,Math.max(0,b+d),\"element\"));Yd(a)}}\nfunction Yd(a){var b=a.anchor,c=b.offset;let d=a.focus;var e=d.offset,f=b.getNode(),g=d.getNode();if(a.isCollapsed())G(f)&&(g=f.getChildrenSize(),g=(e=c>=g)?f.getChildAtIndex(g-1):f.getChildAtIndex(c),D(g)&&(c=0,e&&(c=g.getTextContentSize()),b.set(g.__key,c,\"text\"),d.set(g.__key,c,\"text\")));else{if(G(f)){let h=f.getChildrenSize();c=(a=c>=h)?f.getChildAtIndex(h-1):f.getChildAtIndex(c);D(c)&&(f=0,a&&(f=c.getTextContentSize()),b.set(c.__key,f,\"text\"))}G(g)&&(c=g.getChildrenSize(),e=(b=e>=c)?g.getChildAtIndex(c-\n1):g.getChildAtIndex(e),D(e)&&(g=0,b&&(g=e.getTextContentSize()),d.set(e.__key,g,\"text\")))}}function Zd(a,b){b=b.getEditorState()._selection;a=a._selection;if(E(a)){var c=a.anchor;let d=a.focus,e;\"text\"===c.type&&(e=c.getNode(),e.selectionTransform(b,a));\"text\"===d.type&&(c=d.getNode(),e!==c&&c.selectionTransform(b,a))}}\nfunction $d(a,b,c,d,e){let f=null,g=0,h=null;null!==d?(f=d.__key,D(d)?(g=d.getTextContentSize(),h=\"text\"):G(d)&&(g=d.getChildrenSize(),h=\"element\")):null!==e&&(f=e.__key,D(e)?h=\"text\":G(e)&&(h=\"element\"));null!==f&&null!==h?a.set(f,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,\"element\"))}function ae(a,b,c,d,e){\"text\"===a.type?(a.key=c,b||(a.offset+=e)):a.offset>d.getIndexWithinParent()&&--a.offset}let Y=null,Z=null,M=!1,be=!1,Eb=0;function H(){M&&r(13)}\nfunction J(){null===Y&&r(15);return Y}function I(){null===Z&&r(16);return Z}function ce(a,b,c){var d=b.__type;let e=a._nodes.get(d);void 0===e&&r(30);a=c.get(d);void 0===a&&(a=Array.from(e.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function de(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),D(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&pc(b)}\nfunction ee(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let e=Ib(),f=new Map;var g=c;let h=g.size;for(var k=d,m=k.size;0<h||0<m;){if(0<h){b._dirtyLeaves=new Set;for(let l of g)g=a.get(l),D(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&pc(g),void 0!==g&&void 0!==g&&g.__key!==e&&g.isAttached()&&ce(b,g,f),c.add(l);g=b._dirtyLeaves;h=g.size;if(0<h){Eb++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let l of k)if(k=l[0],m=l[1],\"root\"===k||m)g=a.get(k),void 0!==\ng&&void 0!==g&&g.__key!==e&&g.isAttached()&&ce(b,g,f),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;Eb++}b._dirtyLeaves=c;b._dirtyElements=d}function fe(a,b){var c=b.get(a.type);void 0===c&&r(17);c=c.klass;a.type!==c.getType()&&r(18);c=c.importJSON(a);a=a.children;if(G(c)&&Array.isArray(a))for(let d=0;d<a.length;d++){let e=fe(a[d],b);c.append(e)}return c}function ge(a,b){let c=Y,d=M,e=Z;Y=a;M=!0;Z=null;try{return b()}finally{Y=c,M=d,Z=e}}\nfunction he(a){var b=a._pendingEditorState,c=a._rootElement,d=a._headless;if((null!==c||d)&&null!==b){var e=a._editorState,f=e._selection,g=b._selection,h=0!==a._dirtyType,k=Y,m=M,l=Z,n=a._updating,q=a._observer,v=null;a._pendingEditorState=null;a._editorState=b;if(!d&&h&&null!==q){Z=a;Y=b;M=!1;a._updating=!0;try{var w=a._dirtyType,y=a._dirtyElements,z=a._dirtyLeaves;q.disconnect();Q=R=P=\"\";uc=2===w;xc=null;S=a;sc=a._config;tc=a._nodes;wc=S._listeners.mutation;yc=y;zc=z;Ac=e._nodeMap;Bc=b._nodeMap;\nvc=b._readOnly;Cc=new Map(a._keyToDOMMap);var B=new Map;Dc=B;Qc(\"root\",null);Dc=Cc=sc=Bc=Ac=zc=yc=tc=S=void 0;v=B}catch(W){W instanceof Error&&a._onError(W);if(be)throw W;ie(a,null,c,b);sb(a);a._dirtyType=2;be=!0;he(a);be=!1;return}finally{q.observe(c,{characterData:!0,childList:!0,subtree:!0}),a._updating=n,Y=k,M=m,Z=l}}b._readOnly||(b._readOnly=!0);n=a._dirtyLeaves;q=a._dirtyElements;B=a._normalizedNodes;w=a._updateTags;m=a._deferred;h&&(a._dirtyType=0,a._cloneNotNeeded.clear(),a._dirtyLeaves=new Set,\na._dirtyElements=new Map,a._normalizedNodes=new Set,a._updateTags=new Set);z=a._decorators;y=a._pendingDecorators||z;var F=b._nodeMap;for(Sa in y)F.has(Sa)||(y===z&&(y=Jb(a)),delete y[Sa]);d=d?null:t?window.getSelection():null;if(a._editable&&null!==d&&(h||null===g||g.dirty)){Z=a;Y=b;try{a:{let W=d.anchorNode,wa=d.focusNode,Ge=d.anchorOffset,He=d.focusOffset,ob=document.activeElement;if(!w.has(\"collaboration\")||ob===c)if(E(g)){var T=g.anchor,aa=g.focus,Md=T.key,xa=aa.key,Nd=$b(a,Md),Od=$b(a,xa),pb=\nT.offset,Pd=aa.offset,dc=g.format,Qd=g.isCollapsed();h=Nd;xa=Od;var Sa=!1;\"text\"===T.type&&(h=zb(Nd),Sa=T.getNode().getFormat()!==dc);\"text\"===aa.type&&(xa=zb(Od));if(null!==h&&null!==xa){if(Qd&&(null===f||Sa||E(f)&&f.format!==dc)){var Ie=performance.now();fd=[dc,pb,Md,Ie]}if(Ge===pb&&He===Pd&&W===h&&wa===xa&&(\"Range\"!==d.type||!Qd)&&(null===c||null!==ob&&c.contains(ob)||c.focus({preventScroll:!0}),\"element\"!==T.type))break a;try{d.setBaseAndExtent(h,pb,xa,Pd);if(!w.has(\"skip-scroll-into-view\")&&\ng.isCollapsed()&&null!==c&&c===ob){let ec=g instanceof xd&&\"element\"===g.anchor.type?h.childNodes[pb]||null:0<d.rangeCount?d.getRangeAt(0):null;if(null!==ec){let Je=ec.getBoundingClientRect(),Rd=c.ownerDocument,Sd=Rd.defaultView;if(null!==Sd)for(var {top:fc,bottom:gc}=Je,fa,ma;null!==c;){let hc=c===Rd.body;if(hc)fa=0,ma=tb(a).innerHeight;else{let qb=c.getBoundingClientRect();fa=qb.top;ma=qb.bottom}f=0;fc<fa?f=-(fa-fc):gc>ma&&(f=gc-ma);if(0!==f)if(hc)Sd.scrollBy(0,f);else{let qb=c.scrollTop;c.scrollTop+=\nf;let Td=c.scrollTop-qb;fc-=Td;gc-=Td}if(hc)break;let rb=c.assignedSlot||c.parentElement;c=null!==rb&&11===rb.nodeType?rb.host:rb}}}bd=!0}catch(ec){}}}else null!==f&&wb(a,W,wa)&&d.removeAllRanges()}}finally{Z=l,Y=k}}if(null!==v)for(k=v,l=Array.from(a._listeners.mutation),v=l.length,fa=0;fa<v;fa++){let [W,wa]=l[fa];ma=k.get(wa);void 0!==ma&&W(ma,{dirtyLeaves:n,updateTags:w})}k=a._pendingDecorators;null!==k&&(a._decorators=k,a._pendingDecorators=null,je(\"decorator\",a,!0,k));k=Kb(e);l=Kb(b);k!==l&&je(\"textcontent\",\na,!0,l);je(\"update\",a,!0,{dirtyElements:q,dirtyLeaves:n,editorState:b,normalizedNodes:B,prevEditorState:e,tags:w});a._deferred=[];if(0!==m.length){b=a._updating;a._updating=!0;try{for(e=0;e<m.length;e++)m[e]()}finally{a._updating=b}}b=a._updates;if(0!==b.length&&(b=b.shift())){let [W,wa]=b;ke(a,W,wa)}}}function je(a,b,c,...d){let e=b._updating;b._updating=c;try{let f=Array.from(b._listeners[a]);for(a=0;a<f.length;a++)f[a].apply(null,d)}finally{b._updating=e}}\nfunction V(a,b,c){if(!1===a._updating||Z!==a){let f=!1;a.update(()=>{f=V(a,b,c)});return f}let d=Pb(a);for(let f=4;0<=f;f--)for(let g=0;g<d.length;g++){var e=d[g]._commands.get(b);if(void 0!==e&&(e=e[f],void 0!==e)){e=Array.from(e);let h=e.length;for(let k=0;k<h;k++)if(!0===e[k](c,a))return!0}}return!1}\nfunction le(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [e,f]=d,g;void 0!==f&&(d=f.onUpdate,g=f.tag,f.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));e()}}return b}\nfunction ke(a,b,c){let d=a._updateTags;var e,f=e=!1;if(void 0!==c){var g=c.onUpdate;e=c.tag;null!=e&&d.add(e);e=c.skipTransforms||!1;f=c.discrete||!1}g&&a._deferred.push(g);c=a._editorState;g=a._pendingEditorState;let h=!1;if(null===g||g._readOnly)g=a._pendingEditorState=new me(new Map((g||c)._nodeMap)),h=!0;g._flushSync=f;f=Y;let k=M,m=Z,l=a._updating;Y=g;M=!1;a._updating=!0;Z=a;try{h&&(a._headless?null!=c._selection&&(g._selection=c._selection.clone()):g._selection=Wd(a));let n=a._compositionKey;\nb();e=le(a,e);Zd(g,a);0!==a._dirtyType&&(e?de(g,a):ee(g,a),le(a),mc(c,g,a._dirtyLeaves,a._dirtyElements));n!==a._compositionKey&&(g._flushSync=!0);let q=g._selection;if(E(q)){let v=g._nodeMap,w=q.focus.key;void 0!==v.get(q.anchor.key)&&void 0!==v.get(w)||r(19)}else ld(q)&&0===q._nodes.size&&(g._selection=null)}catch(n){n instanceof Error&&a._onError(n);a._pendingEditorState=c;a._dirtyType=2;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();he(a);return}finally{Y=f,M=k,Z=m,\na._updating=l,Eb=0}0!==a._dirtyType||ne(g,a)?g._flushSync?(g._flushSync=!1,he(a)):h&&vb(()=>{he(a)}):(g._flushSync=!1,h&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function A(a,b,c){a._updating?a._updates.push([b,c]):ke(a,b,c)}\nfunction oe(a,b,c){H();var d=a.__key;let e=a.getParent();if(null!==e){var f=ac(a),g=!1;if(E(f)&&b){var h=f.anchor;let k=f.focus;h.key===d&&($d(h,a,e,a.getPreviousSibling(),a.getNextSibling()),g=!0);k.key===d&&($d(k,a,e,a.getPreviousSibling(),a.getNextSibling()),g=!0)}h=e.getWritable().__children;d=h.indexOf(d);-1===d&&r(31);Gb(a);h.splice(d,1);a.getWritable().__parent=null;E(f)&&b&&!g&&Xd(f,e,d,-1);c||ic(e)||e.canBeEmpty()||!e.isEmpty()||oe(e,b);O(e)&&e.isEmpty()&&e.selectEnd()}}\nfunction pe(a){a=L(a);null===a&&r(63);return a}\nclass qe{static getType(){r(64)}static clone(){r(65)}constructor(a){this.__type=this.constructor.getType();this.__parent=null;Db(this,a)}getType(){return this.__type}isAttached(){for(var a=this.__key;null!==a;){if(\"root\"===a)return!0;a=L(a);if(null===a)break;a=a.__parent}return!1}isSelected(){let a=x();if(null==a)return!1;let b=a.getNodes().some(c=>c.__key===this.__key);return D(this)?b:E(a)&&\"element\"===a.anchor.type&&\"element\"===a.focus.type&&a.anchor.key===a.focus.key&&a.anchor.offset===a.focus.offset?\n!1:b}getKey(){return this.__key}getIndexWithinParent(){let a=this.getParent();return null===a?-1:a.__children.indexOf(this.__key)}getParent(){let a=this.getLatest().__parent;return null===a?null:L(a)}getParentOrThrow(){let a=this.getParent();null===a&&r(66);return a}getTopLevelElement(){let a=this;for(;null!==a;){let b=a.getParent();if(ic(b))return a;a=b}return null}getTopLevelElementOrThrow(){let a=this.getTopLevelElement();null===a&&r(67);return a}getParents(){let a=[],b=this.getParent();for(;null!==\nb;)a.push(b),b=b.getParent();return a}getParentKeys(){let a=[],b=this.getParent();for(;null!==b;)a.push(b.__key),b=b.getParent();return a}getPreviousSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=a.indexOf(this.__key);return 0>=b?null:L(a[b-1])}getPreviousSiblings(){var a=this.getParent();if(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(0,b).map(c=>pe(c))}getNextSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=\na.length,c=a.indexOf(this.__key);return c>=b-1?null:L(a[c+1])}getNextSiblings(){var a=this.getParent();if(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(b+1).map(c=>pe(c))}getCommonAncestor(a){let b=this.getParents();var c=a.getParents();G(this)&&b.unshift(this);G(a)&&c.unshift(a);a=b.length;var d=c.length;if(0===a||0===d||b[a-1]!==c[d-1])return null;c=new Set(c);for(d=0;d<a;d++){let e=b[d];if(c.has(e))return e}return null}is(a){return null==a?!1:this.__key===a.__key}isBefore(a){if(a.isParentOf(this))return!0;\nif(this.isParentOf(a))return!1;var b=this.getCommonAncestor(a);let c=this;for(;;){var d=c.getParentOrThrow();if(d===b){d=d.__children.indexOf(c.__key);break}c=d}for(c=a;;){a=c.getParentOrThrow();if(a===b){b=a.__children.indexOf(c.__key);break}c=a}return d<b}isParentOf(a){let b=this.__key;if(b===a.__key)return!1;for(;null!==a;){if(a.__key===b)return!0;a=a.getParent()}return!1}getNodesBetween(a){let b=this.isBefore(a),c=[],d=new Set;for(var e=this;;){var f=e.__key;d.has(f)||(d.add(f),c.push(e));if(e===\na)break;f=G(e)?b?e.getFirstChild():e.getLastChild():null;if(null!==f)e=f;else if(f=b?e.getNextSibling():e.getPreviousSibling(),null!==f)e=f;else{e=e.getParentOrThrow();d.has(e.__key)||c.push(e);if(e===a)break;f=e;do null===f&&r(68),e=b?f.getNextSibling():f.getPreviousSibling(),f=f.getParent(),null!==f&&(null!==e||d.has(f.__key)||c.push(f));while(null===e)}}b||c.reverse();return c}isDirty(){let a=I()._dirtyLeaves;return null!==a&&a.has(this.__key)}getLatest(){let a=L(this.__key);null===a&&r(69);return a}getWritable(){H();\nvar a=J(),b=I();a=a._nodeMap;let c=this.__key,d=this.getLatest(),e=d.__parent;b=b._cloneNotNeeded;var f=x();null!==f&&(f._cachedNodes=null);if(b.has(c))return Hb(d),d;f=d.constructor.clone(d);f.__parent=e;G(d)&&G(f)?(f.__children=Array.from(d.__children),f.__indent=d.__indent,f.__format=d.__format,f.__dir=d.__dir):D(d)&&D(f)&&(f.__format=d.__format,f.__style=d.__style,f.__mode=d.__mode,f.__detail=d.__detail);b.add(c);f.__key=c;Hb(f);a.set(c,f);return f}getTextContent(){return\"\"}getTextContentSize(){return this.getTextContent().length}createDOM(){r(70)}updateDOM(){r(71)}exportDOM(a){return{element:this.createDOM(a._config,\na)}}exportJSON(){r(72)}static importJSON(){r(18)}remove(a){oe(this,!0,a)}replace(a){H();kc(this,a);let b=this.__key;a=a.getWritable();Fb(a);var c=this.getParentOrThrow(),d=c.getWritable().__children;let e=d.indexOf(this.__key),f=a.__key;-1===e&&r(31);d.splice(e,0,f);a.__parent=c.__key;oe(this,!1);Gb(a);d=x();E(d)&&(c=d.anchor,d=d.focus,c.key===b&&sd(c,a),d.key===b&&sd(d,a));Ib()===b&&K(f);return a}insertAfter(a){H();kc(this,a);var b=this.getWritable(),c=a.getWritable(),d=c.getParent();let e=x();var f=\na.getIndexWithinParent(),g=!1,h=!1;null!==d&&(Fb(c),E(e)&&(h=d.__key,g=e.anchor,d=e.focus,g=\"element\"===g.type&&g.key===h&&g.offset===f+1,h=\"element\"===d.type&&d.key===h&&d.offset===f+1));f=this.getParentOrThrow().getWritable();d=c.__key;c.__parent=b.__parent;let k=f.__children;b=k.indexOf(b.__key);-1===b&&r(31);k.splice(b+1,0,d);Gb(c);E(e)&&(Xd(e,f,b+1),c=f.__key,g&&e.anchor.set(c,b+2,\"element\"),h&&e.focus.set(c,b+2,\"element\"));return a}insertBefore(a){H();kc(this,a);var b=this.getWritable(),c=a.getWritable();\nFb(c);let d=this.getParentOrThrow().getWritable(),e=c.__key;c.__parent=b.__parent;let f=d.__children;b=f.indexOf(b.__key);-1===b&&r(31);f.splice(b,0,e);Gb(c);c=x();E(c)&&Xd(c,d,b);return a}selectPrevious(a,b){H();let c=this.getPreviousSibling(),d=this.getParentOrThrow();return null===c?d.select(0,0):G(c)?c.select():D(c)?c.select(a,b):(a=c.getIndexWithinParent()+1,d.select(a,a))}selectNext(a,b){H();let c=this.getNextSibling(),d=this.getParentOrThrow();return null===c?d.select():G(c)?c.select(0,0):\nD(c)?c.select(a,b):(a=c.getIndexWithinParent(),d.select(a,a))}markDirty(){this.getWritable()}}class re extends qe{constructor(a){super(a)}decorate(){r(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function C(a){return a instanceof re}\nclass se extends qe{constructor(a){super(a);this.__children=[];this.__indent=this.__format=0;this.__dir=null}getFormat(){return this.getLatest().__format}getFormatType(){let a=this.getFormat();return $a[a]||\"\"}getIndent(){return this.getLatest().__indent}getChildren(){let a=this.getLatest().__children,b=[];for(let c=0;c<a.length;c++){let d=L(a[c]);null!==d&&b.push(d)}return b}getChildrenKeys(){return this.getLatest().__children}getChildrenSize(){return this.getLatest().__children.length}isEmpty(){return 0===\nthis.getChildrenSize()}isDirty(){let a=I()._dirtyElements;return null!==a&&a.has(this.__key)}isLastChild(){let a=this.getLatest();return a.getParentOrThrow().getLastChild()===a}getAllTextNodes(){let a=[],b=this.getLatest().__children;for(let d=0;d<b.length;d++){var c=L(b[d]);D(c)?a.push(c):G(c)&&(c=c.getAllTextNodes(),a.push(...c))}return a}getFirstDescendant(){let a=this.getFirstChild();for(;null!==a;){if(G(a)){let b=a.getFirstChild();if(null!==b){a=b;continue}}break}return a}getLastDescendant(){let a=\nthis.getLastChild();for(;null!==a;){if(G(a)){let b=a.getLastChild();if(null!==b){a=b;continue}}break}return a}getDescendantByIndex(a){let b=this.getChildren(),c=b.length;if(a>=c)return a=b[c-1],G(a)&&a.getLastDescendant()||a||null;a=b[a];return G(a)&&a.getFirstDescendant()||a||null}getFirstChild(){let a=this.getLatest().__children;return 0===a.length?null:L(a[0])}getFirstChildOrThrow(){let a=this.getFirstChild();null===a&&r(45);return a}getLastChild(){let a=this.getLatest().__children,b=a.length;\nreturn 0===b?null:L(a[b-1])}getLastChildOrThrow(){let a=this.getLastChild();null===a&&r(96);return a}getChildAtIndex(a){a=this.getLatest().__children[a];return void 0===a?null:L(a)}getTextContent(){let a=\"\",b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let e=b[d];a+=e.getTextContent();G(e)&&d!==c-1&&!e.isInline()&&(a+=\"\\n\\n\")}return a}getDirection(){return this.getLatest().__dir}hasFormat(a){return\"\"!==a?(a=Za[a],0!==(this.getFormat()&a)):!1}select(a,b){H();let c=x();var d=this.getChildrenSize();\nvoid 0===a&&(a=d);void 0===b&&(b=d);d=this.__key;if(E(c))c.anchor.set(d,a,\"element\"),c.focus.set(d,b,\"element\"),c.dirty=!0;else return Vd(d,a,d,b,\"element\",\"element\");return c}selectStart(){let a=this.getFirstDescendant();return G(a)||D(a)?a.select(0,0):null!==a?a.selectPrevious():this.select(0,0)}selectEnd(){let a=this.getLastDescendant();return G(a)||D(a)?a.select():null!==a?a.selectNext():this.select()}clear(){let a=this.getWritable();this.getChildren().forEach(b=>b.remove());return a}append(...a){return this.splice(this.getChildrenSize(),\n0,a)}setDirection(a){let b=this.getWritable();b.__dir=a;return b}setFormat(a){this.getWritable().__format=\"\"!==a?Za[a]:0;return this}setIndent(a){this.getWritable().__indent=a;return this}splice(a,b,c){let d=this.getWritable();var e=d.__key;let f=d.__children,g=c.length;var h=[];for(let k=0;k<g;k++){let m=c[k],l=m.getWritable();m.__key===e&&r(76);Fb(l);l.__parent=e;h.push(l.__key)}(c=this.getChildAtIndex(a-1))&&Hb(c);(e=this.getChildAtIndex(a+b))&&Hb(e);a===f.length?(f.push(...h),a=[]):a=f.splice(a,\nb,...h);if(a.length&&(b=x(),E(b))){let k=new Set(a),m=new Set(h);h=q=>{for(q=q.getNode();q;){const v=q.__key;if(k.has(v)&&!m.has(v))return!0;q=q.getParent()}return!1};let {anchor:l,focus:n}=b;h(l)&&$d(l,l.getNode(),this,c,e);h(n)&&$d(n,n.getNode(),this,c,e);h=a.length;for(b=0;b<h;b++)c=L(a[b]),null!=c&&(c.getWritable().__parent=null);0!==f.length||this.canBeEmpty()||ic(this)||this.remove()}return d}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),\ntype:\"element\",version:1}}insertNewAfter(){return null}canInsertTab(){return!1}canIndent(){return!0}collapseAtStart(){return!1}excludeFromCopy(){return!1}canExtractContents(){return!0}canReplaceWith(){return!0}canInsertAfter(){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}function G(a){return a instanceof se}\nclass te extends se{static getType(){return\"root\"}static clone(){return new te}constructor(){super(\"root\");this.__cachedText=null}getTopLevelElementOrThrow(){r(51)}getTextContent(){let a=this.__cachedText;return!M&&0!==I()._dirtyType||null===a?super.getTextContent():a}remove(){r(52)}replace(){r(53)}insertBefore(){r(54)}insertAfter(){r(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];G(c)||C(c)||r(56)}return super.append(...a)}static importJSON(a){let b=Lb();b.setFormat(a.format);\nb.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:\"root\",version:1}}collapseAtStart(){return!0}}function O(a){return a instanceof te}function ne(a,b){b=b.getEditorState()._selection;a=a._selection;if(null!==a){if(a.dirty||!a.is(b))return!0}else if(null!==b)return!0;return!1}function ue(){return new me(new Map([[\"root\",new te]]))}\nfunction ve(a){let b=a.exportJSON();b.type!==a.constructor.getType()&&r(58);let c=b.children;if(G(a)){Array.isArray(c)||r(59);a=a.getChildren();for(let d=0;d<a.length;d++){let e=ve(a[d]);c.push(e)}}return b}\nclass me{constructor(a,b){this._nodeMap=a;this._selection=b||null;this._readOnly=this._flushSync=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(a){return ge(this,a)}clone(a){a=new me(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return ge(this,()=>({root:ve(Lb())}))}}\nclass we extends qe{static getType(){return\"linebreak\"}static clone(a){return new we(a.__key)}constructor(a){super(a)}getTextContent(){return\"\\n\"}createDOM(){return document.createElement(\"br\")}updateDOM(){return!1}static importDOM(){return{br:a=>{let b=a.parentElement;return null!=b&&b.firstChild===a&&b.lastChild===a?null:{conversion:xe,priority:0}}}}static importJSON(){return Fd()}exportJSON(){return{type:\"linebreak\",version:1}}}function xe(){return{node:Fd()}}function Fd(){return jc(new we)}\nfunction Cb(a){return a instanceof we}function ye(a,b){return b&16?\"code\":b&32?\"sub\":b&64?\"sup\":null}function ze(a,b){return b&1?\"strong\":b&2?\"em\":\"span\"}\nfunction Ae(a,b,c,d,e){a=d.classList;d=Vb(e,\"base\");void 0!==d&&a.add(...d);d=Vb(e,\"underlineStrikethrough\");let f=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(f=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in Xa)h=Xa[k],d=Vb(e,k),void 0!==d&&(c&h?!f||\"underline\"!==k&&\"strikethrough\"!==k?(0===(b&h)||g&&\"underline\"===k||\"strikethrough\"===k)&&a.add(...d):b&h&&a.remove(...d):b&h&&a.remove(...d))}\nfunction Be(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?Ta:\"\";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Oa){c=b.length;let e=a.length,f=0,g=0;for(;f<c&&f<e&&b[f]===a[f];)f++;for(;g+f<c&&g+f<e&&b[c-g-1]===a[e-g-1];)g++;a=[f,c-f-g,a.slice(f,e-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}\nclass Ce extends qe{static getType(){return\"text\"}static clone(a){return new Ce(a.__text,a.__key)}constructor(a,b){super(b);this.__text=a;this.__format=0;this.__style=\"\";this.__detail=this.__mode=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let a=this.getLatest();return bb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===Ib()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==\n(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=Xa[a];return 0!==(this.getFormat()&a)}isSimpleText(){return\"text\"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return Ab(c,a,b)}createDOM(a){var b=this.__format,c=ye(this,b);let d=ze(this,b),e=document.createElement(null===c?d:c),f=e;null!==c&&(f=document.createElement(d),e.appendChild(f));c=f;Be(this.__text,c,this);\na=a.theme.text;void 0!==a&&Ae(d,0,b,c,a);b=this.__style;\"\"!==b&&(e.style.cssText=b);return e}updateDOM(a,b,c){let d=this.__text;var e=a.__format,f=this.__format,g=ye(this,e);let h=ye(this,f);var k=ze(this,e);let m=ze(this,f);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return e=b.firstChild,null==e&&r(48),a=g=document.createElement(m),Be(d,a,this),c=c.theme.text,void 0!==c&&Ae(m,0,f,a,c),b.replaceChild(g,e),!1;k=b;null!==h&&null!==g&&(k=b.firstChild,null==k&&r(49));Be(d,k,this);c=c.theme.text;\nvoid 0!==c&&e!==f&&Ae(m,e,f,k,c);f=this.__style;a.__style!==f&&(b.style.cssText=f);return!1}static importDOM(){return{\"#text\":()=>({conversion:De,priority:0}),b:()=>({conversion:Ee,priority:0}),code:()=>({conversion:Fe,priority:0}),em:()=>({conversion:Fe,priority:0}),i:()=>({conversion:Fe,priority:0}),span:()=>({conversion:Ke,priority:0}),strong:()=>({conversion:Fe,priority:0}),u:()=>({conversion:Fe,priority:0})}}static importJSON(a){let b=N(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);\nb.setStyle(a.style);return b}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:\"text\",version:1}}selectionTransform(){}setFormat(a){let b=this.getWritable();b.__format=\"string\"===typeof a?Xa[a]:a;return b}setDetail(a){let b=this.getWritable();b.__detail=\"string\"===typeof a?Ya[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){a=Xa[a];return this.setFormat(this.getFormat()^\na)}toggleDirectionless(){let a=this.getWritable();a.__detail^=1;return a}toggleUnmergeable(){let a=this.getWritable();a.__detail^=2;return a}setMode(a){a=ab[a];let b=this.getWritable();b.__mode=a;return b}setTextContent(a){let b=this.getWritable();b.__text=a;return b}select(a,b){H();let c=x();var d=this.getTextContent();let e=this.__key;\"string\"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(E(c))d=Ib(),d!==c.anchor.key&&d!==c.focus.key||K(e),c.setTextNodeRange(this,a,this,b);\nelse return Vd(e,a,e,b,\"text\",\"text\");return c}spliceText(a,b,c,d){let e=this.getWritable(),f=e.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=x();d&&E(k)&&(a+=g,k.setTextNodeRange(e,a,e,a));b=f.slice(0,h)+c+f.slice(h+b);e.__text=b;return e}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){H();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,e=Ib(),f=new Set(a);a=[];var g=c.length,h=\"\";for(var k=0;k<g;k++)\"\"!==h&&f.has(k)&&(a.push(h),h=\"\"),h+=c[k];\"\"!==h&&a.push(h);\nf=a.length;if(0===f)return[];if(a[0]===c)return[b];var m=a[0];c=b.getParentOrThrow();k=c.__key;let l=b.getFormat(),n=b.getStyle(),q=b.__detail;g=!1;b.isSegmented()?(h=N(m),h.__parent=k,h.__format=l,h.__style=n,h.__detail=q,g=!0):(h=b.getWritable(),h.__text=m);b=x();h=[h];m=m.length;for(let y=1;y<f;y++){var v=a[y],w=v.length;v=N(v).getWritable();v.__format=l;v.__style=n;v.__detail=q;let z=v.__key;w=m+w;if(E(b)){let B=b.anchor,F=b.focus;B.key===d&&\"text\"===B.type&&B.offset>m&&B.offset<=w&&(B.key=z,\nB.offset-=m,b.dirty=!0);F.key===d&&\"text\"===F.type&&F.offset>m&&F.offset<=w&&(F.key=z,F.offset-=m,b.dirty=!0)}e===d&&K(z);m=w;v.__parent=k;h.push(v)}Gb(this);e=c.getWritable().__children;d=e.indexOf(d);a=h.map(y=>y.__key);g?(e.splice(d,0,...a),this.remove()):e.splice(d,1,...a);E(b)&&Xd(b,c,d,f-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||a===this.getNextSibling()||r(50);var c=this.__key;let d=a.__key,e=this.__text,f=e.length;Ib()===d&&K(c);let g=x();if(E(g)){let h=g.anchor,\nk=g.focus;null!==h&&h.key===d&&(ae(h,b,c,a,f),g.dirty=!0);null!==k&&k.key===d&&(ae(k,b,c,a,f),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+e:e+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}\nfunction Ke(a){let b=\"700\"===a.style.fontWeight,c=\"line-through\"===a.style.textDecoration,d=\"italic\"===a.style.fontStyle,e=\"underline\"===a.style.textDecoration,f=a.style.verticalAlign;return{forChild:g=>{if(!D(g))return g;b&&g.toggleFormat(\"bold\");c&&g.toggleFormat(\"strikethrough\");d&&g.toggleFormat(\"italic\");e&&g.toggleFormat(\"underline\");\"sub\"===f&&g.toggleFormat(\"subscript\");\"super\"===f&&g.toggleFormat(\"superscript\");return g},node:null}}\nfunction Ee(a){let b=\"normal\"===a.style.fontWeight;return{forChild:c=>{D(c)&&!b&&c.toggleFormat(\"bold\");return c},node:null}}function De(a,b,c){a=a.textContent||\"\";return!c&&/\\n/.test(a)&&(a=a.replace(/\\r?\\n/gm,\" \"),0===a.trim().length)?{node:null}:{node:N(a)}}let Le={code:\"code\",em:\"italic\",i:\"italic\",strong:\"bold\",u:\"underline\"};function Fe(a){let b=Le[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{D(c)&&c.toggleFormat(b);return c},node:null}}\nfunction N(a=\"\"){return jc(new Ce(a))}function D(a){return a instanceof Ce}\nclass Me extends se{static getType(){return\"paragraph\"}static clone(a){return new Me(a.__key)}createDOM(a){let b=document.createElement(\"p\");a=Vb(a.theme,\"paragraph\");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:Ne,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));a&&this.isEmpty()&&a.append(document.createElement(\"br\"));if(a){var b=this.getFormatType();a.style.textAlign=b;if(b=this.getDirection())a.dir=b;b=this.getIndent();\n0<b&&(a.style.textIndent=`${20*b}px`)}return{element:a}}static importJSON(a){let b=ud();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),type:\"paragraph\",version:1}}insertNewAfter(){let a=ud(),b=this.getDirection();a.setDirection(b);this.insertAfter(a);return a}collapseAtStart(){let a=this.getChildren();if(0===a.length||D(a[0])&&\"\"===a[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),this.remove(),\n!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Ne(){return{node:ud()}}function ud(){return jc(new Me)}\nfunction ie(a,b,c,d){let e=a._keyToDOMMap;e.clear();a._editorState=ue();a._pendingEditorState=d;a._compositionKey=null;a._dirtyType=0;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();a._normalizedNodes=new Set;a._updateTags=new Set;a._updates=[];d=a._observer;null!==d&&(d.disconnect(),a._observer=null);null!==b&&(b.textContent=\"\");null!==c&&(c.textContent=\"\",e.set(\"root\",c))}\nfunction Oe(a){let b=new Map,c=new Set;a.forEach(d=>{d=null!=d.klass.importDOM?d.klass.importDOM.bind(d.klass):null;if(null!=d&&!c.has(d)){c.add(d);var e=d();null!==e&&Object.keys(e).forEach(f=>{let g=b.get(f);void 0===g&&(g=[],b.set(f,g));g.push(e[f])})}});return b}\nclass Pe{constructor(a,b,c,d,e,f){this._parentEditor=b;this._rootElement=null;this._editorState=a;this._compositionKey=this._pendingEditorState=null;this._deferred=[];this._keyToDOMMap=new Map;this._updates=[];this._updating=!1;this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set};this._commands=new Map;this._config=d;this._nodes=c;this._decorators={};this._pendingDecorators=null;this._dirtyType=0;this._cloneNotNeeded=new Set;this._dirtyLeaves=\nnew Set;this._dirtyElements=new Map;this._normalizedNodes=new Set;this._updateTags=new Set;this._observer=null;this._key=Qb();this._onError=e;this._htmlConversions=f;this._editable=!0;this._headless=!1;this._window=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(a){let b=this._listeners.update;b.add(a);return()=>{b.delete(a)}}registerEditableListener(a){let b=this._listeners.editable;b.add(a);return()=>{b.delete(a)}}registerDecoratorListener(a){let b=this._listeners.decorator;\nb.add(a);return()=>{b.delete(a)}}registerTextContentListener(a){let b=this._listeners.textcontent;b.add(a);return()=>{b.delete(a)}}registerRootListener(a){let b=this._listeners.root;a(this._rootElement,null);b.add(a);return()=>{a(null,this._rootElement);b.delete(a)}}registerCommand(a,b,c){void 0===c&&r(35);let d=this._commands;d.has(a)||d.set(a,[new Set,new Set,new Set,new Set,new Set]);let e=d.get(a);void 0===e&&r(36);let f=e[c];f.add(b);return()=>{f.delete(b);e.every(g=>0===g.size)&&d.delete(a)}}registerMutationListener(a,\nb){void 0===this._nodes.get(a.getType())&&r(37);let c=this._listeners.mutation;c.set(b,a);return()=>{c.delete(b)}}registerNodeTransform(a,b){a=a.getType();let c=this._nodes.get(a);void 0===c&&r(37);let d=c.transforms;d.add(b);Mb(this,a);return()=>{d.delete(b)}}hasNodes(a){for(let b=0;b<a.length;b++){let c=a[b].getType();if(!this._nodes.has(c))return!1}return!0}dispatchCommand(a,b){return V(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=\nthis._rootElement;if(a!==b){let e=Vb(this._config.theme,\"root\");var c=this._pendingEditorState||this._editorState;this._rootElement=a;ie(this,b,a,c);if(null!==b){if(!this._config.disableEvents){0!==ad&&(ad--,0===ad&&b.ownerDocument.removeEventListener(\"selectionchange\",od));c=b.__lexicalEditor;if(null!==c&&void 0!==c){if(null!==c._parentEditor){var d=Pb(c);d=d[d.length-1]._key;nd.get(d)===c&&nd.delete(d)}else nd.delete(c._key);b.__lexicalEditor=null}c=md(b);for(d=0;d<c.length;d++)c[d]();b.__lexicalEventHandles=\n[]}null!=e&&b.classList.remove(...e)}null!==a?(c=(c=a.ownerDocument)&&c.defaultView||null,d=a.style,d.userSelect=\"text\",d.whiteSpace=\"pre-wrap\",d.wordBreak=\"break-word\",a.setAttribute(\"data-lexical-editor\",\"true\"),this._window=c,this._dirtyType=2,sb(this),this._updateTags.add(\"history-merge\"),he(this),this._config.disableEvents||qd(a,this),null!=e&&a.classList.add(...e)):this._window=null;je(\"root\",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,\nb){a.isEmpty()&&r(38);nb(this);let c=this._pendingEditorState,d=this._updateTags;b=void 0!==b?b.tag:null;null===c||c.isEmpty()||(null!=b&&d.add(b),he(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set(\"root\",!1);this._compositionKey=null;null!=b&&d.add(b);he(this)}parseEditorState(a,b){a=\"string\"===typeof a?JSON.parse(a):a;let c=ue(),d=Y,e=M,f=Z,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=\nnew Set;this._cloneNotNeeded=new Set;this._dirtyType=0;Y=c;M=!1;Z=this;try{fe(a.root,this._nodes),b&&b(),c._readOnly=!0}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,Y=d,M=e,Z=f}return c}update(a,b){A(this,a,b)}focus(a,b={}){let c=this._rootElement;null!==c&&(c.setAttribute(\"autocapitalize\",\"off\"),A(this,()=>{let d=x(),e=Lb();null!==d?d.dirty=!0:0!==e.getChildrenSize()&&(\"rootStart\"===b.defaultSelection?e.selectStart():e.selectEnd())},{onUpdate:()=>{c.removeAttribute(\"autocapitalize\");\na&&a()}}),null===this._pendingEditorState&&c.removeAttribute(\"autocapitalize\"))}blur(){var a=this._rootElement;null!==a&&a.blur();a=t?window.getSelection():null;null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,je(\"editable\",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}class Qe extends se{constructor(a,b){super(b);this.__colSpan=a}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan}}}\nfunction Dd(a){return a instanceof Qe}class Re extends se{}function Bd(a){return a instanceof Re}class Se extends se{}function Cd(a){return a instanceof Se}exports.$addUpdateTag=function(a){H();I()._updateTags.add(a)};exports.$applyNodeReplacement=jc;exports.$copyNode=function(a){a=a.constructor.clone(a);Db(a,null);return a};exports.$createLineBreakNode=Fd;exports.$createNodeSelection=Id;exports.$createParagraphNode=ud;\nexports.$createRangeSelection=function(){let a=new X(\"root\",0,\"element\"),b=new X(\"root\",0,\"element\");return new xd(a,b,0)};exports.$createTextNode=N;exports.$getDecoratorNode=Yb;exports.$getNearestNodeFromDOMNode=ib;exports.$getNearestRootOrShadowRoot=cc;exports.$getNodeByKey=L;exports.$getPreviousSelection=Sb;exports.$getRoot=Lb;exports.$getSelection=x;exports.$getTextContent=function(){let a=x();return null===a?\"\":a.getTextContent()};exports.$hasAncestor=bc;\nexports.$insertNodes=function(a,b){let c=x();null===c&&(c=Lb().selectEnd());return c.insertNodes(a,b)};exports.$isDecoratorNode=C;exports.$isElementNode=G;exports.$isInlineElementOrDecoratorNode=function(a){return G(a)&&a.isInline()||C(a)&&a.isInline()};exports.$isLeafNode=Bb;exports.$isLineBreakNode=Cb;exports.$isNodeSelection=ld;exports.$isParagraphNode=function(a){return a instanceof Me};exports.$isRangeSelection=E;exports.$isRootNode=O;exports.$isRootOrShadowRoot=ic;exports.$isTextNode=D;\nexports.$nodesOfType=function(a){var b=J();let c=b._readOnly,d=a.getType();b=b._nodeMap;let e=[];for(let [,f]of b)f instanceof a&&f.__type===d&&(c||f.isAttached())&&e.push(f);return e};exports.$normalizeSelection__EXPERIMENTAL=qc;exports.$parseSerializedNode=function(a){return fe(a,I()._nodes)};exports.$setCompositionKey=K;exports.$setSelection=lb;exports.BLUR_COMMAND=La;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};exports.CLEAR_HISTORY_COMMAND={};\nexports.CLICK_COMMAND=ca;exports.COMMAND_PRIORITY_CRITICAL=4;exports.COMMAND_PRIORITY_EDITOR=0;exports.COMMAND_PRIORITY_HIGH=3;exports.COMMAND_PRIORITY_LOW=1;exports.COMMAND_PRIORITY_NORMAL=2;exports.CONTROLLED_TEXT_INSERTION_COMMAND=ia;exports.COPY_COMMAND=Ia;exports.CUT_COMMAND=Ja;exports.DELETE_CHARACTER_COMMAND=da;exports.DELETE_LINE_COMMAND=na;exports.DELETE_WORD_COMMAND=la;\nexports.DEPRECATED_$createGridSelection=function(){let a=new X(\"root\",0,\"element\"),b=new X(\"root\",0,\"element\");return new yd(\"root\",a,b)};exports.DEPRECATED_$isGridCellNode=Dd;exports.DEPRECATED_$isGridNode=Bd;exports.DEPRECATED_$isGridRowNode=Cd;exports.DEPRECATED_$isGridSelection=zd;exports.DEPRECATED_GridCellNode=Qe;exports.DEPRECATED_GridNode=Re;exports.DEPRECATED_GridRowNode=Se;exports.DRAGEND_COMMAND=Ha;exports.DRAGOVER_COMMAND=Ga;exports.DRAGSTART_COMMAND=Fa;exports.DROP_COMMAND=Ea;\nexports.DecoratorNode=re;exports.ElementNode=se;exports.FOCUS_COMMAND=Ka;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=p;exports.INDENT_CONTENT_COMMAND={};exports.INSERT_LINE_BREAK_COMMAND=ea;exports.INSERT_PARAGRAPH_COMMAND=ha;exports.KEY_ARROW_DOWN_COMMAND=va;exports.KEY_ARROW_LEFT_COMMAND=sa;exports.KEY_ARROW_RIGHT_COMMAND=qa;exports.KEY_ARROW_UP_COMMAND=ua;exports.KEY_BACKSPACE_COMMAND=Aa;exports.KEY_DELETE_COMMAND=Ca;exports.KEY_ENTER_COMMAND=ya;exports.KEY_ESCAPE_COMMAND=Ba;\nexports.KEY_MODIFIER_COMMAND=Ma;exports.KEY_SPACE_COMMAND=za;exports.KEY_TAB_COMMAND=Da;exports.LineBreakNode=we;exports.MOVE_TO_END=ra;exports.MOVE_TO_START=ta;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=ja;exports.ParagraphNode=Me;exports.REDO_COMMAND=pa;exports.REMOVE_TEXT_COMMAND=ka;exports.RootNode=te;exports.SELECTION_CHANGE_COMMAND=ba;exports.TextNode=Ce;exports.UNDO_COMMAND=oa;exports.VERSION=\"0.6.3\";exports.createCommand=function(){return{}};\nexports.createEditor=function(a){var b=a||{},c=Z,d=b.theme||{};let e=void 0===a?c:b.parentEditor||null,f=b.disableEvents||!1,g=ue(),h=b.namespace||(null!==e?e._config.namespace:Qb()),k=b.editorState,m=[te,Ce,we,Me,...(b.nodes||[])],l=b.onError;b=void 0!==b.editable?b.editable:!0;if(void 0===a&&null!==c)a=c._nodes;else for(a=new Map,c=0;c<m.length;c++){let q=m[c];var n=null;\"function\"!==typeof q&&(n=q,q=n.replace,n=n.with);let v=q.getType();a.set(v,{klass:q,replace:n,transforms:new Set})}d=new Pe(g,\ne,a,{disableEvents:f,namespace:h,theme:d},l?l:console.error,Oe(a),b);void 0!==k&&(d._pendingEditorState=k,d._dirtyType=2);return d}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst Lexical = process.env.NODE_ENV === 'development' ? require('./Lexical.dev.js') : require('./Lexical.prod.js')\nmodule.exports = Lexical;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"@lexical/react/LexicalComposerContext\"),f=require(\"lexical\"),g=require(\"react\"),m=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?g.useLayoutEffect:g.useEffect;let n={tag:\"history-merge\"};\nfunction p(a,c){if(null!==c)if(void 0===c)a.update(()=>{var b=f.$getRoot();if(b.isEmpty()){let d=f.$createParagraphNode();b.append(d);b=document.activeElement;(null!==f.$getSelection()||null!==b&&b===a.getRootElement())&&d.select()}},n);else if(null!==c)switch(typeof c){case \"string\":let b=a.parseEditorState(c);a.setEditorState(b,n);break;case \"object\":a.setEditorState(c,n);break;case \"function\":a.update(()=>{f.$getRoot().isEmpty()&&c(a)},n)}}\nexports.LexicalComposer=function({initialConfig:a,children:c}){let b=g.useMemo(()=>{const {theme:d,namespace:h,editor__DEPRECATED:q,nodes:r,onError:t,editorState:u}=a,v=e.createLexicalComposerContext(null,d);let k=q||null;if(null===k){const l=f.createEditor({editable:!1,namespace:h,nodes:r,onError:w=>t(w,l),theme:d});p(l,u);k=l}return[k,v]},[]);m(()=>{let d=a.editable,[h]=b;h.setEditable(void 0!==d?d:!0)},[]);return g.createElement(e.LexicalComposerContext.Provider,{value:b},c)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalComposer = process.env.NODE_ENV === 'development' ? require('./LexicalComposer.dev.js') : require('./LexicalComposer.prod.js')\nmodule.exports = LexicalComposer;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"lexical\");function p(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}function q(a,b){for(let d of b)if(a.type.startsWith(d))return!0;return!1}function r(a,b){for(;a!==l.$getRoot()&&null!=a;){if(b(a))return a;a=a.getParent()}return null}\nfunction t(a,b,d,g,f){var c=d._nodes.get(a.__type);void 0===c&&p(5);for(var e in a){var k=a[e];if(null!=k&&\"object\"===typeof k&&(k=k.editorState,null!=k)){var h=l.createEditor({namespace:k.namespace});h._nodes=d._nodes;h._parentEditor=d._parentEditor;h._pendingEditorState=u(h,k);a[e]=h}}c=c.klass;e=a.__key;a.__key=void 0;c=c.clone(a);a.__key=e;e=c.__key;f._nodeMap.set(e,c);c.__parent=g;if(l.$isElementNode(c)){g=a.__children;for(k=0;k<g.length;k++)h=b.get(g[k]),void 0!==h&&(h=t(h,b,d,e,f).__key,c.__children.push(h));\nc.__indent=a.__indent;c.__format=a.__format;c.__dir=a.__dir}else l.$isTextNode(c)&&(c.__format=a.__format,c.__style=a.__style,c.__mode=a.__mode,c.__detail=a.__detail);return c}\nfunction v(a,b){let d=b._editorState.constructor,g=new Map,f=new d(g),c=new Map(a._nodeMap),e=c.get(\"root\");a=b._updating;try{b._updating=!1,b.update(()=>{let k=b._dirtyElements,h=b._dirtyLeaves,m=b._dirtyType;b._dirtyElements=new Map;b._dirtyLeaves=new Set;b._dirtyType=0;try{t(e,c,b,null,f)}finally{b._dirtyElements=k,b._dirtyLeaves=h,b._dirtyType=m}})}finally{b._updating=a}f._readOnly=!0;return f}function u(a,b){b=\"string\"===typeof b?JSON.parse(b):b;return v(b,a)}\nfunction w(a,b){let d=a.getChildAtIndex(b);null==d&&(d=a);let g=e=>{const k=e.getParentOrThrow(),h=l.$isRootOrShadowRoot(k),m=e!==d||h?l.$copyNode(e):e;if(h)return e.insertAfter(m),[e,m,m];const [n,x,y]=g(k);e=e.getNextSiblings();y.append(m,...e);return[n,x,m]},[f,c]=g(d);return[f,c]}\nexports.$dfs=function(a,b){let d=[];a=(a||l.$getRoot()).getLatest();b=b||(l.$isElementNode(a)?a.getLastDescendant():a);for(var g=a,f=0;null!==(g=g.getParent());)f++;for(g=f;null!==a&&!a.is(b);)if(d.push({depth:g,node:a}),l.$isElementNode(a)&&0<a.getChildrenSize())a=a.getFirstChild(),g++;else for(f=null;null===f&&null!==a;)f=a.getNextSibling(),null===f?(a=a.getParent(),g--):a=f;null!==a&&a.is(b)&&d.push({depth:g,node:a});return d};exports.$findMatchingParent=r;\nexports.$getNearestBlockElementAncestorOrThrow=function(a){a=r(a,b=>l.$isElementNode(b)&&!b.isInline());l.$isElementNode(a)||p(4);return a};exports.$getNearestNodeOfType=function(a,b){for(;null!=a;){if(a instanceof b)return a;a=a.getParent()}return null};\nexports.$insertNodeToNearestRoot=function(a){var b=l.$getSelection();if(l.$isRangeSelection(b)){var {focus:d}=b;b=d.getNode();d=d.offset;let g,f;l.$isTextNode(b)?(g=b.getParentOrThrow(),f=b.getIndexWithinParent(),0<d&&(f+=1,b.splitText(d))):(g=b,f=d);[,b]=w(g,f);b.insertBefore(a);b.selectStart()}else l.$isNodeSelection(b)||l.DEPRECATED_$isGridSelection(b)?(b=b.getNodes(),b[b.length-1].getTopLevelElementOrThrow().insertAfter(a)):l.$getRoot().append(a),b=l.$createParagraphNode(),a.insertAfter(b),b.select();\nreturn a.getLatest()};exports.$restoreEditorState=function(a,b){let d=new Map(b._nodeMap),g=a._pendingEditorState;g&&(g._nodeMap=d);a._dirtyType=2;a=b._selection;l.$setSelection(null===a?null:a.clone())};exports.$splitNode=w;exports.$wrapNodeInElement=function(a,b){b=b();a.replace(b);b.append(a);return b};exports.addClassNamesToElement=function(a,...b){b.forEach(d=>{\"string\"===typeof d&&(d=d.split(\" \").filter(g=>\"\"!==g),a.classList.add(...d))})};exports.isMimeType=q;\nexports.mediaFileReader=function(a,b){let d=a[Symbol.iterator]();return new Promise((g,f)=>{let c=[],e=()=>{const {done:k,value:h}=d.next();if(k)return g(c);const m=new FileReader;m.addEventListener(\"error\",f);m.addEventListener(\"load\",()=>{const n=m.result;\"string\"===typeof n&&c.push({file:h,result:n});e()});q(h,b)?m.readAsDataURL(h):e()};e()})};exports.mergeRegister=function(...a){return()=>{a.forEach(b=>b())}};\nexports.registerNestedElementResolver=function(a,b,d,g){return a.registerNodeTransform(b,f=>{a:{var c=f.getChildren();for(var e=0;e<c.length;e++)if(c[e]instanceof b){c=null;break a}for(c=f;null!==c;)if(e=c,c=c.getParent(),c instanceof b){c={child:e,parent:c};break a}c=null}if(null!==c){const {child:k,parent:h}=c;if(k.is(f)){g(h,f);f=k.getNextSiblings();c=f.length;h.insertAfter(k);if(0!==c){e=d(h);k.insertAfter(e);for(let m=0;m<c;m++)e.append(f[m])}h.canBeEmpty()||0!==h.getChildrenSize()||h.remove()}}})};\nexports.removeClassNamesFromElement=function(a,...b){b.forEach(d=>{\"string\"===typeof d&&a.classList.remove(...d.split(\" \"))})};exports.unstable_convertLegacyJSONEditorState=u\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalUtils = process.env.NODE_ENV === 'development' ? require('./LexicalUtils.dev.js') : require('./LexicalUtils.prod.js')\nmodule.exports = LexicalUtils;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"lexical\"),k=require(\"@lexical/utils\");function m(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}function n(a){let b=1;for(a=a.getParent();null!=a;){if(p(a)){a=a.getParent();if(q(a)){b++;a=a.getParent();continue}m(40)}break}return b}\nfunction r(a){a=a.getParent();q(a)||m(40);let b=a;for(;null!==b;)b=b.getParent(),q(b)&&(a=b);return a}function t(a){let b=[];a=a.getChildren().filter(p);for(let c=0;c<a.length;c++){let d=a[c],e=d.getFirstChild();q(e)?b=b.concat(t(e)):b.push(d)}return b}function u(a){return p(a)&&q(a.getFirstChild())}function v(a){for(;null==a.getNextSibling()&&null==a.getPreviousSibling();){let b=a.getParent();if(null==b||!p(a)&&!q(a))break;a=b}a.remove()}function w(a){return z().append(a)}\nfunction A(a,b){return p(a)&&(0===b.length||1===b.length&&a.is(b[0])&&0===a.getChildrenSize())}function C(a,b){a.splice(a.getChildrenSize(),0,b)}\nfunction D(a,b){if(q(a))return a;let c=a.getPreviousSibling(),d=a.getNextSibling(),e=z();e.setFormat(a.getFormatType());e.setIndent(a.getIndent());C(e,a.getChildren());if(q(c)&&b===c.getListType())return c.append(e),a.remove(),q(d)&&b===d.getListType()&&(C(c,d.getChildren()),d.remove()),c;if(q(d)&&b===d.getListType())return d.getFirstChildOrThrow().insertBefore(e),a.remove(),d;b=E(b);b.append(e);a.replace(b);F(b);return b}\nfunction F(a,b){a=b||a.getChildren();if(void 0!==a)for(b=0;b<a.length;b++){let f=a[b];if(p(f)){let g=f.getValue();var c=f,d=c.getParent(),e=1;null!=d&&(q(d)?e=d.getStart():m(44));c=c.getPreviousSiblings();for(d=0;d<c.length;d++){let l=c[d];p(l)&&!q(l.getFirstChild())&&e++}g!==e&&f.setValue(e)}}}\nfunction G(a){let b=new Set;a.forEach(c=>{if(!u(c)&&!b.has(c.getKey())){var d=c.getParent(),e=c.getNextSibling(),f=c.getPreviousSibling();if(u(e)&&u(f))f=f.getFirstChild(),q(f)&&(f.append(c),c=e.getFirstChild(),q(c)&&(c=c.getChildren(),C(f,c),e.remove(),b.add(e.getKey())),F(f));else if(u(e))e=e.getFirstChild(),q(e)&&(f=e.getFirstChild(),null!==f&&f.insertBefore(c),F(e));else if(u(f))e=f.getFirstChild(),q(e)&&(e.append(c),F(e));else if(q(d)){let g=z(),l=E(d.getListType());g.append(l);l.append(c);f?\nf.insertAfter(g):e?e.insertBefore(g):d.append(g)}q(d)&&F(d)}})}\nfunction H(a){a.forEach(b=>{if(!u(b)){var c=b.getParent(),d=c?c.getParent():void 0,e=d?d.getParent():void 0;if(q(e)&&p(d)&&q(c)){var f=c?c.getFirstChild():void 0,g=c?c.getLastChild():void 0;if(b.is(f))d.insertBefore(b),c.isEmpty()&&d.remove();else if(b.is(g))d.insertAfter(b),c.isEmpty()&&d.remove();else{var l=c.getListType();f=z();let x=E(l);f.append(x);b.getPreviousSiblings().forEach(y=>x.append(y));g=z();l=E(l);g.append(l);C(l,b.getNextSiblings());d.insertBefore(f);d.insertAfter(g);d.replace(b)}F(c);\nF(e)}}})}function I(a){var b=h.$getSelection();if(h.$isRangeSelection(b)){var c=b.getNodes(),d=[];0===c.length&&c.push(b.anchor.getNode());if(1===c.length){a:{for(c=c[0];null!==c;){if(p(c))break a;c=c.getParent()}c=null}null!==c&&(d=[c])}else{d=new Set;for(b=0;b<c.length;b++){let e=c[b];p(e)&&d.add(e)}d=Array.from(d)}0<d.length&&(\"indent\"===a?G(d):H(d))}}\nclass J extends h.ElementNode{static getType(){return\"listitem\"}static clone(a){return new J(a.__value,a.__checked,a.__key)}constructor(a,b,c){super(c);this.__value=void 0===a?1:a;this.__checked=b}createDOM(a){let b=document.createElement(\"li\"),c=this.getParent();q(c)&&(F(c),K(b,this,null,c));b.value=this.__value;L(b,a.theme,this);return b}updateDOM(a,b,c){let d=this.getParent();q(d)&&(F(d),K(b,this,a,d));b.value=this.__value;L(b,c.theme,this);return!1}static importDOM(){return{li:()=>({conversion:M,\npriority:0})}}static importJSON(a){let b=new J(a.value,a.checked);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:\"listitem\",value:this.getValue(),version:1}}append(...a){for(let b=0;b<a.length;b++){let c=a[b];if(h.$isElementNode(c)&&this.canMergeWith(c)){let d=c.getChildren();this.append(...d);c.remove()}else super.append(c)}return this}replace(a){if(p(a))return super.replace(a);let b=this.getParentOrThrow();\nif(q(b)){var c=b.__children;let e=c.length;var d=c.indexOf(this.__key);if(0===d)b.insertBefore(a);else if(d===e-1)b.insertAfter(a);else{c=E(b.getListType());let f=b.getChildren();for(d+=1;d<e;d++)c.append(f[d]);b.insertAfter(a);a.insertAfter(c)}this.remove();1===e&&b.remove()}return a}insertAfter(a){var b=this.getParentOrThrow();q(b)||m(39);var c=this.getNextSiblings();if(p(a))return b=super.insertAfter(a),a=a.getParentOrThrow(),q(a)&&F(a),b;if(q(a)&&a.getListType()===b.getListType()){b=a;a=a.getChildren();\nfor(c=a.length-1;0<=c;c--)b=a[c],this.insertAfter(b);return b}b.insertAfter(a);if(0!==c.length){let d=E(b.getListType());c.forEach(e=>d.append(e));a.insertAfter(d)}return a}remove(a){let b=this.getNextSibling();super.remove(a);null!==b&&(a=b.getParent(),q(a)&&F(a))}insertNewAfter(){let a=z(null==this.__checked?void 0:!1);this.insertAfter(a);return a}collapseAtStart(a){let b=h.$createParagraphNode();this.getChildren().forEach(f=>b.append(f));var c=this.getParentOrThrow(),d=c.getParentOrThrow();let e=\np(d);1===c.getChildrenSize()?e?(c.remove(),d.select()):(c.replace(b),c=a.anchor,a=a.focus,d=b.getKey(),\"element\"===c.type&&c.getNode().is(this)&&c.set(d,c.offset,\"element\"),\"element\"===a.type&&a.getNode().is(this)&&a.set(d,a.offset,\"element\")):(c.insertBefore(b),this.remove());return!0}getValue(){return this.getLatest().__value}setValue(a){this.getWritable().__value=a}getChecked(){return this.getLatest().__checked}setChecked(a){this.getWritable().__checked=a}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){var a=\nthis.getParent();if(null===a)return this.getLatest().__indent;a=a.getParentOrThrow();let b=0;for(;p(a);)a=a.getParentOrThrow().getParentOrThrow(),b++;return b}setIndent(a){let b=this.getIndent();for(;b!==a;)b<a?(G([this]),b++):(H([this]),b--);return this}canIndent(){return!1}insertBefore(a){if(p(a)){let b=this.getParentOrThrow();if(q(b)){let c=this.getNextSiblings();F(b,c)}}return super.insertBefore(a)}canInsertAfter(a){return p(a)}canReplaceWith(a){return p(a)}canMergeWith(a){return h.$isParagraphNode(a)||\np(a)}extractWithChild(a,b){if(!h.$isRangeSelection(b))return!1;a=b.anchor.getNode();let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&this.getTextContent().length===b.getTextContent().length}}\nfunction L(a,b,c){let d=[],e=[];var f=(b=b.list)?b.listitem:void 0;if(b&&b.nested)var g=b.nested.listitem;void 0!==f&&(f=f.split(\" \"),d.push(...f));if(b){f=c.getParent();f=q(f)&&\"check\"===f.getListType();let l=c.getChecked();f&&!l||e.push(b.listitemUnchecked);f&&l||e.push(b.listitemChecked);f&&d.push(l?b.listitemChecked:b.listitemUnchecked)}void 0!==g&&(g=g.split(\" \"),c.getChildren().some(l=>q(l))?d.push(...g):e.push(...g));0<e.length&&k.removeClassNamesFromElement(a,...e);0<d.length&&k.addClassNamesToElement(a,\n...d)}function K(a,b,c,d){\"check\"===d.getListType()?q(b.getFirstChild())?(a.removeAttribute(\"role\"),a.removeAttribute(\"tabIndex\"),a.removeAttribute(\"aria-checked\")):(a.setAttribute(\"role\",\"checkbox\"),a.setAttribute(\"tabIndex\",\"-1\"),c&&b.__checked===c.__checked||a.setAttribute(\"aria-checked\",b.getChecked()?\"true\":\"false\")):null!=b.getChecked()&&b.setChecked(void 0)}function M(){return{node:z()}}function z(a){return h.$applyNodeReplacement(new J(void 0,a))}function p(a){return a instanceof J}\nclass N extends h.ElementNode{static getType(){return\"list\"}static clone(a){return new N(a.__listType||O[a.__tag],a.__start,a.__key)}constructor(a,b,c){super(c);this.__listType=a=O[a]||a;this.__tag=\"number\"===a?\"ol\":\"ul\";this.__start=b}getTag(){return this.__tag}getListType(){return this.__listType}getStart(){return this.__start}createDOM(a){let b=document.createElement(this.__tag);1!==this.__start&&b.setAttribute(\"start\",String(this.__start));b.__lexicalListType=this.__listType;P(b,a.theme,this);\nreturn b}updateDOM(a,b,c){if(a.__tag!==this.__tag)return!0;P(b,c.theme,this);return!1}static importDOM(){return{ol:()=>({conversion:Q,priority:0}),ul:()=>({conversion:Q,priority:0})}}static importJSON(a){let b=E(a.listType,a.start);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:\"list\",version:1}}canBeEmpty(){return!1}canIndent(){return!1}append(...a){for(let c=\n0;c<a.length;c++){var b=a[c];if(p(b))super.append(b);else{let d=z();q(b)?d.append(b):h.$isElementNode(b)?(b=h.$createTextNode(b.getTextContent()),d.append(b)):d.append(b);super.append(d)}}return this}extractWithChild(a){return p(a)}}\nfunction P(a,b,c){let d=[],e=[];var f=b.list;if(void 0!==f){let l=f[`${c.__tag}Depth`]||[];b=n(c)-1;let x=b%l.length;var g=l[x];let y=f[c.__tag],B;f=f.nested;void 0!==f&&f.list&&(B=f.list);void 0!==y&&d.push(y);if(void 0!==g)for(g=g.split(\" \"),d.push(...g),g=0;g<l.length;g++)g!==x&&e.push(c.__tag+g);void 0!==B&&(c=B.split(\" \"),1<b?d.push(...c):e.push(...c))}0<e.length&&k.removeClassNamesFromElement(a,...e);0<d.length&&k.addClassNamesToElement(a,...d)}\nfunction R(a){let b=[];for(let c=0;c<a.length;c++){let d=a[c];p(d)?(b.push(d),d.getChildren().forEach(e=>{q(e)&&b.push(w(e))})):b.push(w(d))}return b}function Q(a){a=a.nodeName.toLowerCase();let b=null;\"ol\"===a?b=E(\"number\"):\"ul\"===a&&(b=E(\"bullet\"));return{after:R,node:b}}let O={ol:\"number\",ul:\"bullet\"};function E(a,b=1){return h.$applyNodeReplacement(new N(a,b))}function q(a){return a instanceof N}\nlet S=h.createCommand(\"INSERT_UNORDERED_LIST_COMMAND\"),T=h.createCommand(\"INSERT_ORDERED_LIST_COMMAND\"),U=h.createCommand(\"INSERT_CHECK_LIST_COMMAND\"),V=h.createCommand(\"REMOVE_LIST_COMMAND\");exports.$createListItemNode=z;exports.$createListNode=E;exports.$getListDepth=n;\nexports.$handleListInsertParagraph=function(){var a=h.$getSelection();if(!h.$isRangeSelection(a)||!a.isCollapsed())return!1;a=a.anchor.getNode();if(!p(a)||\"\"!==a.getTextContent())return!1;var b=r(a),c=a.getParent();q(c)||m(40);let d=c.getParent(),e;if(h.$isRootOrShadowRoot(d))e=h.$createParagraphNode(),b.insertAfter(e);else if(p(d))e=z(),d.insertAfter(e);else return!1;e.select();b=a.getNextSiblings();if(0<b.length){let f=E(c.getListType());h.$isParagraphNode(e)?e.insertAfter(f):(c=z(),c.append(f),\ne.insertAfter(c));b.forEach(g=>{g.remove();f.append(g)})}v(a);return!0};exports.$isListItemNode=p;exports.$isListNode=q;exports.INSERT_CHECK_LIST_COMMAND=U;exports.INSERT_ORDERED_LIST_COMMAND=T;exports.INSERT_UNORDERED_LIST_COMMAND=S;exports.ListItemNode=J;exports.ListNode=N;exports.REMOVE_LIST_COMMAND=V;exports.indentList=function(){I(\"indent\")};\nexports.insertList=function(a,b){a.update(()=>{var c=h.$getSelection();if(h.$isRangeSelection(c)||h.DEPRECATED_$isGridSelection(c)){var d=c.getNodes();c=c.anchor.getNode();var e=c.getParent();if(A(c,d))d=E(b),h.$isRootOrShadowRoot(e)?(c.replace(d),e=z(),h.$isElementNode(c)&&(e.setFormat(c.getFormatType()),e.setIndent(c.getIndent())),d.append(e)):p(c)&&(c=c.getParentOrThrow(),C(d,c.getChildren()),c.replace(d));else for(c=new Set,e=0;e<d.length;e++){var f=d[e];if(h.$isElementNode(f)&&f.isEmpty()&&!c.has(f.getKey()))D(f,\nb);else if(h.$isLeafNode(f))for(f=f.getParent();null!=f;){let l=f.getKey();if(q(f)){if(!c.has(l)){var g=E(b);C(g,f.getChildren());f.replace(g);F(g);c.add(l)}break}else{g=f.getParent();if(h.$isRootOrShadowRoot(g)&&!c.has(l)){c.add(l);D(f,b);break}f=g}}}}})};exports.outdentList=function(){I(\"outdent\")};\nexports.removeList=function(a){a.update(()=>{let b=h.$getSelection();if(h.$isRangeSelection(b)){var c=new Set,d=b.getNodes(),e=b.anchor.getNode();if(A(e,d))c.add(r(e));else for(e=0;e<d.length;e++){var f=d[e];h.$isLeafNode(f)&&(f=k.$getNearestNodeOfType(f,J),null!=f&&c.add(r(f)))}for(let g of c){c=g;d=t(g);for(let l of d)d=h.$createParagraphNode(),C(d,l.getChildren()),c.insertAfter(d),c=d,l.__key===b.anchor.key&&b.anchor.set(d.getKey(),0,\"element\"),l.__key===b.focus.key&&b.focus.set(d.getKey(),0,\"element\"),\nl.remove();g.remove()}}})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalList = process.env.NODE_ENV === 'development' ? require('./LexicalList.dev.js') : require('./LexicalList.prod.js')\nmodule.exports = LexicalList;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"lexical\");let u=new Map;function v(a){return{nodeMap:a.getNodes().map(b=>{const c=b.getKey();b=w(b);return[c,b]}),range:[a.gridKey]}}function x(a){for(;null!=a;){if(a.nodeType===Node.TEXT_NODE)return a;a=a.firstChild}return null}function z(a){let b=a.parentNode;if(null==b)throw Error(\"Should never happen\");return[b,Array.from(b.childNodes).indexOf(a)]}\nfunction A(a){let b={};a=a.split(\";\");for(let c of a)if(\"\"!==c){let [f,d]=c.split(/:([^]+)/);b[f.trim()]=d.trim()}return b}function B(a){let b=u.get(a);void 0===b&&(b=A(a),u.set(a,b));return b}function C(a){let b=\"\";for(let c in a)c&&(b+=`${c}: ${a[c]};`);return b}function D(a){for(;null!==a&&!l.$isRootOrShadowRoot(a);){let b=a.getLatest(),c=a.getParent();0===b.__children.length&&a.remove(!0);a=c}}\nfunction E(a,b,c,f,d=null){if(0!==b.length){var e=b[0],k=new Map,g=[];e=l.$isElementNode(e)?e:e.getParentOrThrow();e.isInline()&&(e=e.getParentOrThrow());for(var h=!1;null!==e;){var p=e.getPreviousSibling();if(null!==p){e=p;h=!0;break}e=e.getParentOrThrow();if(l.$isRootOrShadowRoot(e))break}p=new Set;for(var q=0;q<c;q++){var m=b[q];l.$isElementNode(m)&&0===m.getChildrenSize()&&p.add(m.getKey())}var n=new Set;for(q=0;q<c;q++){m=b[q];var r=m.getParent();null!==r&&r.isInline()&&(r=r.getParent());if(null!==\nr&&l.$isLeafNode(m)&&!n.has(m.getKey())){if(m=r.getKey(),void 0===k.get(m)){let t=f();t.setFormat(r.getFormatType());t.setIndent(r.getIndent());g.push(t);k.set(m,t);r.getChildren().forEach(y=>{t.append(y);n.add(y.getKey());l.$isElementNode(y)&&y.getChildrenKeys().forEach(J=>n.add(J))});D(r)}}else p.has(m.getKey())&&(r=f(),r.setFormat(m.getFormatType()),r.setIndent(m.getIndent()),g.push(r),m.remove(!0))}if(null!==d)for(b=0;b<g.length;b++)d.append(g[b]);b=null;if(l.$isRootOrShadowRoot(e))if(h)if(null!==\nd)e.insertAfter(d);else for(d=g.length-1;0<=d;d--)e.insertAfter(g[d]);else if(h=e.getFirstChild(),l.$isElementNode(h)&&(e=h),null===h)if(d)e.append(d);else for(d=0;d<g.length;d++)h=g[d],e.append(h),b=h;else if(null!==d)h.insertBefore(d);else for(e=0;e<g.length;e++)d=g[e],h.insertBefore(d),b=d;else if(d)e.insertAfter(d);else for(d=g.length-1;0<=d;d--)h=g[d],e.insertAfter(h),b=h;g=l.$getPreviousSelection();l.$isRangeSelection(g)&&g.anchor.getNode().isAttached()&&g.focus.getNode().isAttached()?l.$setSelection(g.clone()):\nnull!==b?b.selectEnd():a.dirty=!0}}function F(a,b,c,f){a.modify(b?\"extend\":\"move\",c,f)}function G(a){a=a.anchor.getNode();return\"rtl\"===(l.$isRootNode(a)?a:a.getParentOrThrow()).getDirection()}\nfunction H(a,b,c,f,d,e){for(var k=b;null!==a;){for(b=a.getParent();null!==b&&b.excludeFromCopy(\"clone\");)b=b.getParent();if(null===b)break;if(!l.$isElementNode(a)||!a.excludeFromCopy(\"clone\")){let g=a.getKey(),h=e.get(g),p=void 0===h;p&&(h=w(a),e.set(g,h));!l.$isTextNode(h)||h.isSegmented()||h.isToken()?l.$isElementNode(h)&&(h.__children=h.__children.slice(f?k:0,f?void 0:(k||0)+1)):h.__text=h.__text.slice(f?k:0,f?c:k);if(l.$isRootNode(b)){p&&d.push(g);break}}k=e.get(b.getKey());k=l.$isElementNode(k)?\nk.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=b}}function w(a){a=a.getLatest();let b=a.constructor.clone(a);b.__parent=a.__parent;if(l.$isElementNode(a)&&l.$isElementNode(b))return b.__children=Array.from(a.__children),b.__format=a.__format,b.__indent=a.__indent,b.__dir=a.__dir,b;l.$isTextNode(a)&&l.$isTextNode(b)&&(b.__format=a.__format,b.__style=a.__style,b.__mode=a.__mode,b.__detail=a.__detail);return b}\nfunction I(a,b){var c=B(a.getStyle());b=Object.entries(b).reduce((f,[d,e])=>{null===e?delete f[d]:f[d]=e;return f},{...c});c=C(b);a.setStyle(c);u.set(c,b)}exports.$addNodeStyle=function(a){a=a.getStyle();let b=A(a);u.set(a,b)};\nexports.$cloneContents=function(a){var b={nodeMap:[],range:[]};if(l.$isRangeSelection(a)){{var c=a.anchor,f=a.focus;let [p,q]=a.getCharacterOffsets();b=a.getNodes();if(0===b.length||1===b.length&&l.$isElementNode(b[0])&&b[0].excludeFromCopy(\"clone\"))b={nodeMap:[],range:[]};else{a=b.length;var d=b[0],e=d.getParent();if(null!==e&&(!e.canBeEmpty()||l.$isRootNode(e))){var k=e.__children;if(k.length===a){var g=!0;for(var h=0;h<k.length;h++)if(k[h]!==b[h].__key){g=!1;break}g&&(a++,b.push(e))}}e=b[a-1];\nc=c.isBefore(f);f=new Map;k=[];g=l.$isTextNode(d)&&1===a;H(d,c?p:q,g?c?q:p:void 0,!0,k,f);for(d=0;d<a;d++){h=b[d];let m=h.getKey();if(!(f.has(m)||l.$isElementNode(h)&&h.excludeFromCopy(\"clone\"))){let n=w(h);l.$isRootNode(h.getParent())&&k.push(h.getKey());\"root\"!==m&&f.set(m,n)}}H(e,g?void 0:c?q:p,void 0,!1,k,f);b={nodeMap:Array.from(f.entries()),range:k}}}}else if(l.DEPRECATED_$isGridSelection(a))b=v(a);else if(l.$isNodeSelection(a))throw Error(\"Minified Lexical error #1; visit https://lexical.dev/docs/error?code=1 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");\nreturn b};exports.$cloneWithProperties=w;exports.$getSelectionStyleValueForProperty=function(a,b,c=\"\"){let f=null,d=a.getNodes();var e=a.anchor,k=a.focus,g=a.isBackward();a=g?k.offset:e.offset;e=g?k.getNode():e.getNode();for(k=0;k<d.length;k++){var h=d[k];if((0===k||0!==a||!h.is(e))&&l.$isTextNode(h)){g=b;var p=c;h=h.getStyle();h=B(h);g=null!==h?h[g]||p:p;if(null===f)f=g;else if(f!==g){f=\"\";break}}}return null===f?c:f};\nexports.$isAtNodeEnd=function(a){return\"text\"===a.type?a.offset===a.getNode().getTextContentSize():a.offset===a.getNode().getChildrenSize()};exports.$isParentElementRTL=G;exports.$moveCaretSelection=F;exports.$moveCharacter=function(a,b,c){let f=G(a);F(a,b,c?!f:f,\"character\")};\nexports.$patchStyleText=function(a,b){var c=a.getNodes();let f=c.length-1,d=c[0],e=c[f];if(!a.isCollapsed()){var k=a.anchor,g=a.focus,h=d.getTextContent().length,p=g.offset,q=k.offset,m=k.isBefore(g),n=m?q:p;a=m?p:q;var r=m?k.type:g.type,t=m?g.type:k.type;k=m?g.key:k.key;l.$isTextNode(d)&&n===h&&(g=d.getNextSibling(),l.$isTextNode(g)&&(n=q=0,d=g));if(d.is(e))l.$isTextNode(d)&&(n=\"element\"===r?0:q>p?p:q,a=\"element\"===t?h:q>p?q:p,n!==a&&(0===n&&a===h?(I(d,b),d.select(n,a)):(c=d.splitText(n,a),c=0===\nn?c[0]:c[1],I(c,b),c.select(0,a-n))));else for(l.$isTextNode(d)&&n<d.getTextContentSize()&&(0!==n&&(d=d.splitText(n)[1]),I(d,b)),l.$isTextNode(e)&&(n=e.getTextContent().length,e.__key!==k&&0!==a&&(a=n),a!==n&&([e]=e.splitText(a)),0!==a&&I(e,b)),a=1;a<f;a++)n=c[a],h=n.getKey(),l.$isTextNode(n)&&h!==d.getKey()&&h!==e.getKey()&&!n.isToken()&&I(n,b)}};\nexports.$selectAll=function(a){let b=a.anchor;a=a.focus;var c=b.getNode().getTopLevelElementOrThrow().getParentOrThrow();let f=c.getFirstDescendant();c=c.getLastDescendant();let d=\"element\",e=\"element\",k=0;l.$isTextNode(f)?d=\"text\":l.$isElementNode(f)||null===f||(f=f.getParentOrThrow());l.$isTextNode(c)?(e=\"text\",k=c.getTextContentSize()):l.$isElementNode(c)||null===c||(c=c.getParentOrThrow());f&&c&&(b.set(f.getKey(),0,d),a.set(c.getKey(),k,e))};\nexports.$shouldOverrideDefaultCharacterSelection=function(a,b){a=l.$getDecoratorNode(a.focus,b);return l.$isDecoratorNode(a)&&!a.isIsolated()};\nexports.$sliceSelectedTextNodeContent=function(a,b){if(b.isSelected()&&!b.isSegmented()&&!b.isToken()&&(l.$isRangeSelection(a)||l.DEPRECATED_$isGridSelection(a))){var c=a.anchor.getNode(),f=a.focus.getNode(),d=b.is(c),e=b.is(f);if(d||e){d=a.isBackward();let [k,g]=a.getCharacterOffsets();a=c.is(f);e=b.is(d?f:c);f=b.is(d?c:f);c=0;let h=void 0;a?(c=k>g?g:k,h=k>g?k:g):e?(c=d?g:k,h=void 0):f&&(d=d?k:g,c=0,h=d);b.__text=b.__text.slice(c,h)}}return b};\nexports.$wrapNodes=function(a,b,c=null){var f=a.getNodes();let d=f.length;var e=a.anchor;if(0===d||1===d&&\"element\"===e.type&&0===e.getNode().getChildrenSize()){a=\"text\"===e.type?e.getNode().getParentOrThrow():e.getNode();f=a.getChildren();let g=b();g.setFormat(a.getFormatType());g.setIndent(a.getIndent());f.forEach(h=>g.append(h));c&&(g=c.append(g));a.replace(g)}else{e=null;var k=[];for(let g=0;g<d;g++){let h=f[g];l.$isRootOrShadowRoot(h)?(E(a,k,k.length,b,c),k=[],e=h):null===e||null!==e&&l.$hasAncestor(h,\ne)?k.push(h):(E(a,k,k.length,b,c),k=[h])}E(a,k,k.length,b,c)}};exports.$wrapNodesImpl=E;\nexports.createDOMRange=function(a,b,c,f,d){let e=b.getKey(),k=f.getKey(),g=document.createRange(),h=a.getElementByKey(e);a=a.getElementByKey(k);l.$isTextNode(b)&&(h=x(h));l.$isTextNode(f)&&(a=x(a));if(void 0===b||void 0===f||null===h||null===a)return null;\"BR\"===h.nodeName&&([h,c]=z(h));\"BR\"===a.nodeName&&([a,d]=z(a));b=h.firstChild;h===a&&null!=b&&\"BR\"===b.nodeName&&0===c&&0===d&&(d=1);try{g.setStart(h,c),g.setEnd(a,d)}catch(p){return null}!g.collapsed||c===d&&e===k||(g.setStart(a,d),g.setEnd(h,\nc));return g};exports.createRectsFromDOMRange=function(a,b){var c=a.getRootElement();if(null===c)return[];a=c.getBoundingClientRect();c=getComputedStyle(c);c=parseFloat(c.paddingLeft)+parseFloat(c.paddingRight);b=Array.from(b.getClientRects());let f=b.length,d;for(let e=0;e<f;e++){let k=b[e],g=k.width+c===a.width;d&&d.top===k.top&&d.left===k.left&&d.width===k.width&&d.height===k.height||g?(b.splice(e--,1),f--):d=k}return b};exports.getStyleObjectFromCSS=B;\nexports.trimTextContentFromAnchor=function(a,b,c){let f=b.getNode();if(l.$isElementNode(f)){var d=f.getDescendantByIndex(b.offset);null!==d&&(f=d)}for(;0<c&&null!==f;){var e=f.getPreviousSibling(),k=0;if(null===e){d=f.getParentOrThrow();for(var g=d.getPreviousSibling();null===g;){d=d.getParent();if(null===d){e=null;break}g=d.getPreviousSibling()}null!==d&&(k=d.isInline()?0:2,e=l.$isElementNode(g)?g.getLastDescendant():g)}let h=f.getTextContent();\"\"===h&&l.$isElementNode(f)&&!f.isInline()&&(h=\"\\n\\n\");\nd=h.length;g=d-c;let p=h.slice(0,g);if(!l.$isTextNode(f)||c>=d)g=f.getParent(),f.remove(),null!=g&&0===g.getChildrenSize()&&g.remove(),c-=d+k,f=e;else{let q=f.getKey();e=a.getEditorState().read(()=>{const m=l.$getNodeByKey(q);return l.$isTextNode(m)&&m.isSimpleText()?m.getTextContent():null});null!==e&&e!==h?(c=l.$getPreviousSelection(),d=f,f.isSimpleText()?f.setTextContent(e):(d=l.$createTextNode(e),f.replace(d)),l.$isRangeSelection(c)&&c.isCollapsed()&&(c=c.anchor.offset,d.select(c,c))):f.isSimpleText()?\n(e=b.key===q,k=b.offset,k<c&&(k=d),c=e?k-c:0,d=e?k:g,e&&0===c?([c]=f.splitText(c,d),c.remove()):([,c]=f.splitText(c,d),c.remove())):(c=l.$createTextNode(p),f.replace(c));c=0}}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalSelection = process.env.NODE_ENV === 'development' ? require('./LexicalSelection.dev.js') : require('./LexicalSelection.prod.js')\nmodule.exports = LexicalSelection;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var n=require(\"@lexical/selection\"),q=require(\"lexical\");\nfunction r(c,d,h,b=null){let e=null!=b?d.isSelected():!0,l=q.$isElementNode(d)&&d.excludeFromCopy(\"html\");var a=d;null!==b&&(a=n.$cloneWithProperties(d),a=q.$isTextNode(a)&&null!=b?n.$sliceSelectedTextNodeContent(b,a):a);let f=q.$isElementNode(a)?a.getChildren():[],{element:k,after:g}=a.exportDOM(c);if(!k)return!1;let m=new DocumentFragment;for(let p=0;p<f.length;p++){let t=f[p],w=r(c,t,m,b);!e&&q.$isElementNode(d)&&w&&d.extractWithChild(t,b,\"html\")&&(e=!0)}e&&!l?(k.append(m),h.append(k),g&&(c=g.call(a,\nk))&&k.replaceWith(c)):h.append(m);return e}let u=new Set([\"STYLE\"]);\nfunction v(c,d,h=new Map,b,e=!1){let l=[];if(u.has(c.nodeName))return l;let a=null;var {nodeName:f}=c,k=d._htmlConversions.get(f.toLowerCase());f=null;if(void 0!==k)for(g of k)k=g(c),null!==k&&(null===f||f.priority<k.priority)&&(f=k);var g=(g=null!==f?f.conversion:null)?g(c,void 0,e):null;f=null;if(null!==g){f=g.after;a=g.node;if(null!==a){for(var [,m]of h)if(a=m(a,b),!a)break;a&&l.push(a)}null!=g.forChild&&h.set(c.nodeName,g.forChild)}c=c.childNodes;b=[];for(m=0;m<c.length;m++)b.push(...v(c[m],d,\nnew Map(h),a,e||!0===(g&&g.preformatted)));null!=f&&(b=f(b));null==a?l=l.concat(b):q.$isElementNode(a)&&a.append(...b);return l}exports.$generateHtmlFromNodes=function(c,d){if(\"undefined\"===typeof document||\"undefined\"===typeof window)throw Error(\"To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.\");let h=document.createElement(\"div\"),b=q.$getRoot().getChildren();for(let e=0;e<b.length;e++)r(c,b[e],h,d);return h.innerHTML};\nexports.$generateNodesFromDOM=function(c,d){let h=[];d=d.body?Array.from(d.body.childNodes):[];let b=d.length;for(let l=0;l<b;l++){var e=d[l];u.has(e.nodeName)||(e=v(e,c),null!==e&&(h=h.concat(e)))}return h}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHtml = process.env.NODE_ENV === 'development' ? require('./LexicalHtml.dev.js') : require('./LexicalHtml.prod.js')\nmodule.exports = LexicalHtml;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var d=require(\"@lexical/html\"),n=require(\"@lexical/list\"),r=require(\"@lexical/selection\"),t=require(\"@lexical/utils\"),z=require(\"lexical\");function A(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}\nfunction B(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?\"\":d.$generateHtmlFromNodes(a,b)}function C(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:JSON.stringify(D(a,b))}\nfunction E(a,b,c){(z.DEPRECATED_$isGridSelection(c)||null!==t.$findMatchingParent(c.anchor.getNode(),g=>z.DEPRECATED_$isGridCellNode(g))&&null!==t.$findMatchingParent(c.focus.getNode(),g=>z.DEPRECATED_$isGridCellNode(g)))&&1===b.length&&z.DEPRECATED_$isGridNode(b[0])?F(b,c,!1,a):I(b,c)}\nfunction I(a,b){let c=[],g=null,e=null;for(let k=0;k<a.length;k++){let f=a[k];if(n.$isListItemNode(f)){null==e&&(e=n.$createListNode(\"bullet\"),c.push(e));e.append(f);continue}else null!=e&&(e=null);let h=z.$isLineBreakNode(f);if(h||z.$isDecoratorNode(f)&&f.isInline()||z.$isElementNode(f)&&f.isInline()||z.$isTextNode(f)){if(null===g&&(g=z.$createParagraphNode(),c.push(g),h))continue;null!==g&&g.append(f)}else c.push(f),g=null}z.$isRangeSelection(b)?b.insertNodes(c):z.DEPRECATED_$isGridSelection(b)&&\n(a=b.anchor.getNode(),z.DEPRECATED_$isGridCellNode(a)||A(41),a.append(...c))}\nfunction F(a,b,c,g){1===a.length&&z.DEPRECATED_$isGridNode(a[0])||A(42);var e=a[0];a=e.getChildren();c=e.getFirstChildOrThrow().getChildrenSize();var k=e.getChildrenSize(),f=t.$findMatchingParent(b.anchor.getNode(),l=>z.DEPRECATED_$isGridCellNode(l));b=(e=f&&t.$findMatchingParent(f,l=>z.DEPRECATED_$isGridRowNode(l)))&&t.$findMatchingParent(e,l=>z.DEPRECATED_$isGridNode(l));z.DEPRECATED_$isGridCellNode(f)&&z.DEPRECATED_$isGridRowNode(e)&&z.DEPRECATED_$isGridNode(b)||A(43);var h=e.getIndexWithinParent(),\np=Math.min(b.getChildrenSize()-1,h+k-1);k=f.getIndexWithinParent();f=Math.min(e.getChildrenSize()-1,k+c-1);c=Math.min(k,f);e=Math.min(h,p);k=Math.max(k,f);h=Math.max(h,p);p=b.getChildren();f=0;let m,q;for(let l=e;l<=h;l++){var x=p[l];z.DEPRECATED_$isGridRowNode(x)||A(24);var y=a[f];z.DEPRECATED_$isGridRowNode(y)||A(24);x=x.getChildren();y=y.getChildren();let G=0;for(let u=c;u<=k;u++){let v=x[u];z.DEPRECATED_$isGridCellNode(v)||A(25);let H=y[G];z.DEPRECATED_$isGridCellNode(H)||A(25);l===e&&u===c?m=\nv.getKey():l===h&&u===k&&(q=v.getKey());let N=v.getChildren();H.getChildren().forEach(w=>{z.$isTextNode(w)&&z.$createParagraphNode().append(w);v.append(w)});N.forEach(w=>w.remove());G++}f++}m&&q&&(a=z.DEPRECATED_$createGridSelection(),a.set(b.getKey(),m,q),z.$setSelection(a),g.dispatchCommand(z.SELECTION_CHANGE_COMMAND,void 0))}\nfunction J(a,b,c,g=[]){let e=null!=b?c.isSelected():!0,k=z.$isElementNode(c)&&c.excludeFromCopy(\"html\");var f=c;if(null!==b){var h=r.$cloneWithProperties(c);f=h=z.$isTextNode(h)&&null!=b?r.$sliceSelectedTextNodeContent(b,h):h}let p=z.$isElementNode(f)?f.getChildren():[];var m=f;h=m.exportJSON();h.type!==m.constructor.getType()&&A(58);var q=h.children;z.$isElementNode(m)&&(Array.isArray(q)||A(59));z.$isTextNode(f)&&(h.text=f.__text);for(f=0;f<p.length;f++)m=p[f],q=J(a,b,m,h.children),!e&&z.$isElementNode(c)&&\nq&&c.extractWithChild(m,b,\"clone\")&&(e=!0);if(e&&!k)g.push(h);else if(Array.isArray(h.children))for(a=0;a<h.children.length;a++)g.push(h.children[a]);return e}function D(a,b){let c=[],g=z.$getRoot().getChildren();for(let e=0;e<g.length;e++)J(a,b,g[e],c);return{namespace:a._config.namespace,nodes:c}}function K(a){let b=[];for(let c=0;c<a.length;c++){let g=z.$parseSerializedNode(a[c]);z.$isTextNode(g)&&r.$addNodeStyle(g);b.push(g)}return b}let L=null;\nfunction M(a,b){b.preventDefault();b=b.clipboardData;if(null===b)return!1;let c=z.$getSelection(),g=B(a);a=C(a);let e=\"\";null!==c&&(e=c.getTextContent());null!==g&&b.setData(\"text/html\",g);null!==a&&b.setData(\"application/x-lexical-editor\",a);b.setData(\"text/plain\",e);return!0}exports.$generateJSONFromSelectedNodes=D;exports.$generateNodesFromSerializedNodes=K;exports.$getHtmlContent=B;exports.$getLexicalContent=C;\nexports.$insertDataTransferForPlainText=function(a,b){a=a.getData(\"text/plain\");null!=a&&b.insertRawText(a)};\nexports.$insertDataTransferForRichText=function(a,b,c){var g=a.getData(\"application/x-lexical-editor\");if(g)try{let k=JSON.parse(g);if(k.namespace===c._config.namespace&&Array.isArray(k.nodes)){let f=K(k.nodes);return E(c,f,b)}}catch{}if(g=a.getData(\"text/html\"))try{var e=(new DOMParser).parseFromString(g,\"text/html\");let k=d.$generateNodesFromDOM(c,e);return E(c,k,b)}catch{}a=a.getData(\"text/plain\");if(null!=a)if(z.$isRangeSelection(b))for(a=a.split(/\\r?\\n/),c=a.length,e=0;e<c;e++)b.insertText(a[e]),\ne<c-1&&b.insertParagraph();else b.insertRawText(a)};exports.$insertGeneratedNodes=E;\nexports.copyToClipboard__EXPERIMENTAL=async function(a,b){if(null!==L)return!1;if(null!==b)return new Promise(k=>{a.update(()=>{k(M(a,b))})});var c=a.getRootElement();let g=document.getSelection();if(null===c||null===g)return!1;let e=document.createElement(\"span\");e.style.cssText=\"position: fixed; top: -1000px;\";e.append(document.createTextNode(\"#\"));c.append(e);c=new Range;c.setStart(e,0);c.setEnd(e,1);g.removeAllRanges();g.addRange(c);return new Promise(k=>{let f=a.registerCommand(z.COPY_COMMAND,\nh=>{h instanceof ClipboardEvent&&(f(),null!==L&&(window.clearTimeout(L),L=null),k(M(a,h)));return!0},z.COMMAND_PRIORITY_CRITICAL);L=window.setTimeout(()=>{f();L=null;k(!1)},50);document.execCommand(\"copy\");e.remove()})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalClipboard = process.env.NODE_ENV === 'development' ? require('./LexicalClipboard.dev.js') : require('./LexicalClipboard.prod.js')\nmodule.exports = LexicalClipboard;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var a=require(\"@lexical/clipboard\"),g=require(\"@lexical/selection\"),h=require(\"@lexical/utils\"),k=require(\"lexical\");let m=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,q=m&&\"documentMode\"in document?document.documentMode:null;m&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);m&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);\nlet r=m&&\"InputEvent\"in window&&!q?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,t=m&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),u=m&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,v=k.createCommand(\"DRAG_DROP_PASTE_FILE\");\nclass y extends k.ElementNode{static getType(){return\"quote\"}static clone(c){return new y(c.__key)}constructor(c){super(c)}createDOM(c){let b=document.createElement(\"blockquote\");h.addClassNamesToElement(b,c.theme.quote);return b}updateDOM(){return!1}static importDOM(){return{blockquote:()=>({conversion:z,priority:0})}}static importJSON(c){let b=A();b.setFormat(c.format);b.setIndent(c.indent);b.setDirection(c.direction);return b}exportJSON(){return{...super.exportJSON(),type:\"quote\"}}insertNewAfter(){let c=\nk.$createParagraphNode(),b=this.getDirection();c.setDirection(b);this.insertAfter(c);return c}collapseAtStart(){let c=k.$createParagraphNode();this.getChildren().forEach(b=>c.append(b));this.replace(c);return!0}}function A(){return k.$applyNodeReplacement(new y)}\nclass B extends k.ElementNode{static getType(){return\"heading\"}static clone(c){return new B(c.__tag,c.__key)}constructor(c,b){super(b);this.__tag=c}getTag(){return this.__tag}createDOM(c){let b=this.__tag,d=document.createElement(b);c=c.theme.heading;void 0!==c&&h.addClassNamesToElement(d,c[b]);return d}updateDOM(){return!1}static importDOM(){return{h1:()=>({conversion:C,priority:0}),h2:()=>({conversion:C,priority:0}),h3:()=>({conversion:C,priority:0}),h4:()=>({conversion:C,priority:0}),h5:()=>({conversion:C,\npriority:0}),h6:()=>({conversion:C,priority:0}),p:c=>{c=c.firstChild;return null!==c&&D(c)?{conversion:()=>({node:null}),priority:3}:null},span:c=>D(c)?{conversion:()=>({node:E(\"h1\")}),priority:3}:null}}static importJSON(c){let b=E(c.tag);b.setFormat(c.format);b.setIndent(c.indent);b.setDirection(c.direction);return b}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:\"heading\",version:1}}insertNewAfter(){let c=k.$createParagraphNode(),b=this.getDirection();c.setDirection(b);this.insertAfter(c);\nreturn c}collapseAtStart(){let c=k.$createParagraphNode();this.getChildren().forEach(b=>c.append(b));this.replace(c);return!0}extractWithChild(){return!0}}function D(c){return\"span\"===c.nodeName.toLowerCase()?\"26pt\"===c.style.fontSize:!1}function C(c){c=c.nodeName.toLowerCase();let b=null;if(\"h1\"===c||\"h2\"===c||\"h3\"===c||\"h4\"===c||\"h5\"===c||\"h6\"===c)b=E(c);return{node:b}}function z(){return{node:A()}}function E(c){return k.$applyNodeReplacement(new B(c))}\nfunction F(c,b){c.preventDefault();b.update(()=>{let d=k.$getSelection(),e=c instanceof InputEvent||c instanceof KeyboardEvent?null:c.clipboardData;null!=e&&(k.$isRangeSelection(d)||k.DEPRECATED_$isGridSelection(d))&&a.$insertDataTransferForRichText(e,d,b)},{tag:\"paste\"})}\nasync function G(c,b){await a.copyToClipboard__EXPERIMENTAL(b,c instanceof ClipboardEvent?c:null);b.update(()=>{let d=k.$getSelection();k.$isRangeSelection(d)?d.removeText():k.$isNodeSelection(d)&&d.getNodes().forEach(e=>e.remove())})}function H(c){let b=null;c instanceof DragEvent?b=c.dataTransfer:c instanceof ClipboardEvent&&(b=c.clipboardData);if(null===b)return[!1,[],!1];var d=b.types;c=d.includes(\"Files\");d=d.includes(\"text/html\")||d.includes(\"text/plain\");return[c,Array.from(b.files),d]}\nfunction I(c,b){var d=k.$getSelection();if(k.$isRangeSelection(d)){var e=new Set;d=d.getNodes();for(let f=0;f<d.length;f++){let n=d[f],w=n.getKey();if(e.has(w))continue;let l=h.$getNearestBlockElementAncestorOrThrow(n),x=l.getKey();l.canInsertTab()?(c(n),e.add(w)):l.canIndent()&&!e.has(x)&&(e.add(x),b(l))}}}function J(c){c=k.$getNearestNodeFromDOMNode(c);return k.$isDecoratorNode(c)}exports.$createHeadingNode=E;exports.$createQuoteNode=A;exports.$isHeadingNode=function(c){return c instanceof B};\nexports.$isQuoteNode=function(c){return c instanceof y};exports.DRAG_DROP_PASTE=v;exports.HeadingNode=B;exports.QuoteNode=y;exports.eventFiles=H;\nexports.registerRichText=function(c){return h.mergeRegister(c.registerCommand(k.CLICK_COMMAND,()=>{const b=k.$getSelection();return k.$isNodeSelection(b)?(b.clear(),!0):!1},0),c.registerCommand(k.DELETE_CHARACTER_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteCharacter(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DELETE_WORD_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteWord(b);return!0},k.COMMAND_PRIORITY_EDITOR),\nc.registerCommand(k.DELETE_LINE_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteLine(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.CONTROLLED_TEXT_INSERTION_COMMAND,b=>{const d=k.$getSelection();if(\"string\"===typeof b)k.$isRangeSelection(d)?d.insertText(b):k.DEPRECATED_$isGridSelection(d);else{if(!k.$isRangeSelection(d)&&!k.DEPRECATED_$isGridSelection(d))return!1;const e=b.dataTransfer;null!=e?a.$insertDataTransferForRichText(e,d,c):k.$isRangeSelection(d)&&\n(b=b.data)&&d.insertText(b)}return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.REMOVE_TEXT_COMMAND,()=>{const b=k.$getSelection();if(!k.$isRangeSelection(b))return!1;b.removeText();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.FORMAT_TEXT_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.formatText(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.FORMAT_ELEMENT_COMMAND,b=>{var d=k.$getSelection();if(!k.$isRangeSelection(d)&&!k.$isNodeSelection(d))return!1;\nd=d.getNodes();for(const e of d)h.$getNearestBlockElementAncestorOrThrow(e).setFormat(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.INSERT_LINE_BREAK_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.insertLineBreak(b);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.INSERT_PARAGRAPH_COMMAND,()=>{const b=k.$getSelection();if(!k.$isRangeSelection(b))return!1;b.insertParagraph();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.INDENT_CONTENT_COMMAND,\n()=>{I(()=>{c.dispatchCommand(k.CONTROLLED_TEXT_INSERTION_COMMAND,\"\\t\")},b=>{const d=b.getIndent();10!==d&&b.setIndent(d+1)});return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.OUTDENT_CONTENT_COMMAND,()=>{I(b=>{k.$isTextNode(b)&&(b=b.getTextContent(),\"\\t\"===b[b.length-1]&&c.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!0))},b=>{const d=b.getIndent();0!==d&&b.setIndent(d-1)});return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_UP_COMMAND,b=>{const d=k.$getSelection();return k.$isNodeSelection(d)&&\n!J(b.target)&&(b=d.getNodes(),0<b.length)?(b[0].selectPrevious(),!0):!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_DOWN_COMMAND,()=>{var b=k.$getSelection();return k.$isNodeSelection(b)&&(b=b.getNodes(),0<b.length)?(b[0].selectNext(0,0),!0):!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_LEFT_COMMAND,b=>{const d=k.$getSelection();if(k.$isNodeSelection(d)){var e=d.getNodes();if(0<e.length)return b.preventDefault(),e[0].selectPrevious(),!0}return k.$isRangeSelection(d)?g.$shouldOverrideDefaultCharacterSelection(d,\n!0)?(e=b.shiftKey,b.preventDefault(),g.$moveCharacter(d,e,!0),!0):!1:!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ARROW_RIGHT_COMMAND,b=>{const d=k.$getSelection();if(k.$isNodeSelection(d)&&!J(b.target)){var e=d.getNodes();if(0<e.length)return b.preventDefault(),e[0].selectNext(0,0),!0}if(!k.$isRangeSelection(d))return!1;e=b.shiftKey;return g.$shouldOverrideDefaultCharacterSelection(d,!1)?(b.preventDefault(),g.$moveCharacter(d,e,!1),!0):!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_BACKSPACE_COMMAND,\nb=>{if(J(b.target))return!1;const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;b.preventDefault();({anchor:b}=d);const e=b.getNode();return d.isCollapsed()&&0===b.offset&&!k.$isRootNode(e)&&0<h.$getNearestBlockElementAncestorOrThrow(e).getIndent()?c.dispatchCommand(k.OUTDENT_CONTENT_COMMAND,void 0):c.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!0)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_DELETE_COMMAND,b=>{if(J(b.target))return!1;const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;\nb.preventDefault();return c.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!1)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ENTER_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;if(null!==b){if((u||t)&&r)return!1;b.preventDefault();if(b.shiftKey)return c.dispatchCommand(k.INSERT_LINE_BREAK_COMMAND,!1)}return c.dispatchCommand(k.INSERT_PARAGRAPH_COMMAND,void 0)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_TAB_COMMAND,b=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;\nb.preventDefault();return c.dispatchCommand(b.shiftKey?k.OUTDENT_CONTENT_COMMAND:k.INDENT_CONTENT_COMMAND,void 0)},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.KEY_ESCAPE_COMMAND,()=>{const b=k.$getSelection();if(!k.$isRangeSelection(b))return!1;c.blur();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DROP_COMMAND,b=>{const [,d]=H(b);if(0<d.length){var e=b.clientX;var f=b.clientY;e=\"undefined\"!==typeof document.caretRangeFromPoint?document.caretRangeFromPoint(e,f):\"undefined\"!==document.caretPositionFromPoint?\ndocument.caretPositionFromPoint(e,f):null;if(null!==e){const {startOffset:n,endOffset:w,startContainer:l,endContainer:x}=e;e=k.$getNearestNodeFromDOMNode(l);f=k.$getNearestNodeFromDOMNode(x);if(null!==e&&null!==f){const p=k.$createRangeSelection();k.$isTextNode(e)?p.anchor.set(e.getKey(),n,\"text\"):p.anchor.set(e.getParentOrThrow().getKey(),e.getIndexWithinParent()+1,\"element\");k.$isTextNode(f)?p.focus.set(f.getKey(),w,\"text\"):p.focus.set(f.getParentOrThrow().getKey(),f.getIndexWithinParent()+1,\"element\");\ne=k.$normalizeSelection__EXPERIMENTAL(p);k.$setSelection(e)}c.dispatchCommand(v,d)}b.preventDefault();return!0}b=k.$getSelection();return k.$isRangeSelection(b)?!0:!1},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DRAGSTART_COMMAND,b=>{const [d]=H(b),e=k.$getSelection();if(d&&!k.$isRangeSelection(e))return!1;b.preventDefault();return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.DRAGOVER_COMMAND,b=>{const [d]=H(b),e=k.$getSelection();if(d&&!k.$isRangeSelection(e))return!1;b.preventDefault();\nreturn!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.COPY_COMMAND,b=>{a.copyToClipboard__EXPERIMENTAL(c,b instanceof ClipboardEvent?b:null);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.CUT_COMMAND,b=>{G(b,c);return!0},k.COMMAND_PRIORITY_EDITOR),c.registerCommand(k.PASTE_COMMAND,b=>{const [,d,e]=H(b);if(0<d.length&&!e)return c.dispatchCommand(v,d),!0;const f=k.$getSelection();return k.$isRangeSelection(f)||k.DEPRECATED_$isGridSelection(f)?(F(b,c),!0):!1},k.COMMAND_PRIORITY_EDITOR))}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalRichText = process.env.NODE_ENV === 'development' ? require('./LexicalRichText.dev.js') : require('./LexicalRichText.prod.js')\nmodule.exports = LexicalRichText;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"@lexical/utils\"),m=require(\"lexical\");\nclass n extends m.ElementNode{static getType(){return\"link\"}static clone(a){return new n(a.__url,{rel:a.__rel,target:a.__target},a.__key)}constructor(a,b={},c){super(c);let {target:h=null,rel:e=null}=b;this.__url=a;this.__target=h;this.__rel=e}createDOM(a){let b=document.createElement(\"a\");b.href=this.__url;null!==this.__target&&(b.target=this.__target);null!==this.__rel&&(b.rel=this.__rel);l.addClassNamesToElement(b,a.theme.link);return b}updateDOM(a,b){let c=this.__url,h=this.__target,e=this.__rel;\nc!==a.__url&&(b.href=c);h!==a.__target&&(h?b.target=h:b.removeAttribute(\"target\"));e!==a.__rel&&(e?b.rel=e:b.removeAttribute(\"rel\"));return!1}static importDOM(){return{a:()=>({conversion:p,priority:1})}}static importJSON(a){let b=q(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),type:\"link\",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(a){this.getWritable().__url=\na}getTarget(){return this.getLatest().__target}setTarget(a){this.getWritable().__target=a}getRel(){return this.getLatest().__rel}setRel(a){this.getWritable().__rel=a}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);if(m.$isElementNode(a)){let b=q(this.__url,{rel:this.__rel,target:this.__target});a.append(b);return b}return null}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(a,b){if(!m.$isRangeSelection(b))return!1;\na=b.anchor.getNode();let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&0<b.getTextContent().length}}function p(a){let b=null;if(a instanceof HTMLAnchorElement){let c=a.textContent;null!==c&&\"\"!==c&&(b=q(a.getAttribute(\"href\")||\"\",{rel:a.getAttribute(\"rel\"),target:a.getAttribute(\"target\")}))}return{node:b}}function q(a,b){return new n(a,b)}function r(a){return a instanceof n}\nclass u extends n{static getType(){return\"autolink\"}static clone(a){return new u(a.__url,{rel:a.__rel,target:a.__target},a.__key)}static importJSON(a){let b=v(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}static importDOM(){return null}exportJSON(){return{...super.exportJSON(),type:\"autolink\",version:1}}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);if(m.$isElementNode(a)){let b=v(this.__url,{rel:this._rel,target:this.__target});\na.append(b);return b}return null}}function v(a,b){return new u(a,b)}let w=m.createCommand(\"TOGGLE_LINK_COMMAND\");function x(a){return y(a,b=>r(b))}function y(a,b){for(;null!==a&&null!==(a=a.getParent())&&!b(a););return a}exports.$createAutoLinkNode=v;exports.$createLinkNode=q;exports.$isAutoLinkNode=function(a){return a instanceof u};exports.$isLinkNode=r;exports.AutoLinkNode=u;exports.LinkNode=n;exports.TOGGLE_LINK_COMMAND=w;\nexports.toggleLink=function(a,b={}){let {target:c}=b,h=void 0===b.rel?\"noopener\":b.rel;b=m.$getSelection();if(m.$isRangeSelection(b))if(b=b.extract(),null===a)b.forEach(k=>{k=k.getParent();if(r(k)){let d=k.getChildren();for(let f=0;f<d.length;f++)k.insertBefore(d[f]);k.remove()}});else{if(1===b.length){var e=b[0];e=r(e)?e:x(e);if(null!==e){e.setURL(a);void 0!==c&&e.setTarget(c);null!==h&&e.setRel(h);return}}let k=null,d=null;b.forEach(f=>{var g=f.getParent();if(g!==d&&null!==g&&(!m.$isElementNode(f)||\nf.isInline()))if(r(g))d=g,g.setURL(a),void 0!==c&&g.setTarget(c),null!==h&&d.setRel(h);else if(g.is(k)||(k=g,d=q(a,{rel:h,target:c}),r(g)?null===f.getPreviousSibling()?g.insertBefore(d):g.insertAfter(d):f.insertBefore(d)),r(f)){if(!f.is(d)){if(null!==d){g=f.getChildren();for(let t=0;t<g.length;t++)d.append(g[t])}f.remove()}}else null!==d&&d.append(f)})}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalLink = process.env.NODE_ENV === 'development' ? require('./LexicalLink.dev.js') : require('./LexicalLink.prod.js')\nmodule.exports = LexicalLink;","import {\n $createParagraphNode,\n ElementNode\n} from 'lexical';\nimport {\n addClassNamesToElement\n} from '@lexical/utils';\n\nexport class AsideNode extends ElementNode {\n static getType() {\n return 'aside';\n }\n\n static clone(node) {\n return new AsideNode(node.__key);\n }\n\n // View\n\n createDOM(config) {\n const element = document.createElement('aside');\n addClassNamesToElement(element, config.theme.aside);\n return element;\n }\n updateDOM(prevNode, dom) {\n return false;\n }\n\n static importDOM() {\n return {\n aside: node => ({\n conversion: convertAsideElement,\n priority: 0\n })\n };\n }\n\n static importJSON(serializedNode) {\n const node = $createAsideNode();\n node.setFormat(serializedNode.format);\n node.setIndent(serializedNode.indent);\n node.setDirection(serializedNode.direction);\n return node;\n }\n\n exportJSON() {\n return {\n ...super.exportJSON(),\n type: 'aside'\n };\n }\n\n // Mutation\n\n insertNewAfter() {\n const newBlock = $createParagraphNode();\n const direction = this.getDirection();\n newBlock.setDirection(direction);\n this.insertNewAfter(newBlock);\n return newBlock;\n }\n\n collapseAtStart() {\n const paragraph = $createParagraphNode();\n const children = this.getChildren();\n children.forEach(child => paragraph.append(child));\n this.replace(paragraph);\n return true;\n }\n}\n\nfunction convertAsideElement() {\n const node = $createAsideNode;\n return {node};\n}\n\nexport function $createAsideNode() {\n return new AsideNode();\n}\n\nexport function $isAsideNode(node) {\n return node instanceof AsideNode;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/react/LexicalComposerContext\"),e=require(\"lexical\"),h=require(\"react\");function k(b,a){return b.getEditorState().read(()=>{let f=e.$getNodeByKey(a);return null===f?!1:f.isSelected()})}\nexports.useLexicalNodeSelection=function(b){let [a]=c.useLexicalComposerContext(),[f,l]=h.useState(()=>k(a,b));h.useEffect(()=>a.registerUpdateListener(()=>{l(k(a,b))}),[a,b]);let m=h.useCallback(g=>{a.update(()=>{let d=e.$getSelection();e.$isNodeSelection(d)||(d=e.$createNodeSelection(),e.$setSelection(d));g?d.add(b):d.delete(b)})},[a,b]),n=h.useCallback(()=>{a.update(()=>{const g=e.$getSelection();e.$isNodeSelection(g)&&g.clear()})},[a]);return[f,m,n]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst useLexicalNodeSelection = process.env.NODE_ENV === 'development' ? require('./useLexicalNodeSelection.dev.js') : require('./useLexicalNodeSelection.prod.js')\nmodule.exports = useLexicalNodeSelection;","import React from 'react';\n\nconst CardContext = React.createContext({});\n\nexport default CardContext;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const CardWrapper = React.forwardRef(({isSelected, cardWidth, cardType, children, ...props}, ref) => {\n return (\n <div\n className={`relative border border-transparent caret-grey-800 ${isSelected ? 'shadow-[0_0_0_2px] shadow-green' : 'hover:shadow-[0_0_0_1px] hover:shadow-green'} ${(cardWidth === 'wide') ? 'mx-[calc(50%-(50vw-var(--kg-breakout-adjustment))-.8rem)] w-[calc(65vw+2px-var(--kg-breakout-adjustment))] min-w-[calc(100%+3.6rem)] sm:min-w-[calc(100%+10rem)] lg:min-w-[calc(100%+18rem)] translate-x-[calc(50vw-50%+.8rem-var(--kg-breakout-adjustment))]' : (cardWidth === 'full') ? 'lg:mx-[calc(50%-50vw+(var(--kg-breakout-adjustment)/2))] lg:w-[calc(100vw-var(--kg-breakout-adjustment))]' : ''}`}\n ref={ref}\n data-kg-card={cardType}\n data-kg-card-selected={isSelected}\n {...props}\n >\n {children}\n </div>\n );\n});\n\nCardWrapper.propTypes = {\n isSelected: PropTypes.bool,\n cardWidth: PropTypes.oneOf(['regular', 'wide', 'full'])\n};\n\nCardWrapper.defaultProps = {\n cardWidth: 'regular'\n};\n","import React from 'react';\nimport {\n $createNodeSelection,\n $createParagraphNode,\n $getNodeByKey,\n $getSelection,\n $isDecoratorNode,\n $isNodeSelection,\n $setSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_EDITOR,\n COMMAND_PRIORITY_LOW,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n KEY_ENTER_COMMAND\n} from 'lexical';\nimport {mergeRegister} from '@lexical/utils';\nimport {useLexicalNodeSelection} from '@lexical/react/useLexicalNodeSelection';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport WrapperContext from '../context/CardContext';\nimport {CardWrapper} from './ui/CardWrapper';\n\nconst KoenigCardWrapperComponent = ({nodeKey, children, width}) => {\n const [editor] = useLexicalComposerContext();\n const [isSelected, setSelected, clearSelected] = useLexicalNodeSelection(nodeKey);\n const [selection, setSelection] = React.useState(null);\n const [cardType, setCardType] = React.useState(null);\n const [cardWidth, setCardWidth] = React.useState(width || 'regular');\n const containerRef = React.useRef(null);\n\n React.useLayoutEffect(() => {\n editor.getEditorState().read(() => {\n const cardNode = $getNodeByKey(nodeKey);\n setCardType(cardNode.getType());\n });\n\n // We only do this for init\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n return mergeRegister(\n editor.registerUpdateListener(({editorState}) => {\n setSelection(editorState.read(() => $getSelection()));\n }),\n editor.registerCommand(\n CLICK_COMMAND,\n (event) => {\n if (containerRef.current.contains(event.target)) {\n clearSelected();\n setSelected(true);\n } else if (isSelected) {\n setSelected(false);\n }\n return false;\n },\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(\n KEY_ENTER_COMMAND,\n (event) => {\n // TODO: test if this is needed when code card is working again\n // we don't want to insert paragraphs if Enter is pressed inside card's form element\n // if (event.target.matches('input textarea select option')) {\n // return false;\n // }\n\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const paragraphNode = $createParagraphNode();\n cardNode.getTopLevelElementOrThrow().insertAfter(paragraphNode);\n paragraphNode.select();\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n ),\n editor.registerCommand(\n KEY_BACKSPACE_COMMAND,\n (event) => {\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n // This is to avoid deleting the card when backspacing inside the caption / alt input of the card when the card is selected\n if (cardNode.getType() === 'image' && event.target.matches('input')) {\n editor.update(() => {\n const caption = cardNode.getCaption();\n cardNode.setCaption(caption.slice(0, -1));\n });\n return false;\n }\n const previousSibling = cardNode.getPreviousSibling();\n const nextSibling = cardNode.getNextSibling();\n\n if (previousSibling) {\n if (previousSibling.selectEnd) {\n previousSibling.selectEnd();\n } else if ($isDecoratorNode(previousSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(previousSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectPrevious();\n }\n } else if (nextSibling) {\n if (nextSibling.selectStart) {\n nextSibling.selectStart();\n } else if ($isDecoratorNode(nextSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(nextSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectNext();\n }\n }\n\n cardNode.remove();\n\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n ),\n editor.registerCommand(\n KEY_DELETE_COMMAND,\n (event) => {\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const nextSibling = cardNode.getNextSibling();\n\n if (nextSibling) {\n if (nextSibling.selectStart) {\n nextSibling.selectStart();\n } else if ($isDecoratorNode(nextSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(nextSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectNext();\n }\n } else {\n const paragraphNode = $createParagraphNode();\n cardNode.getTopLevelElementOrThrow().insertAfter(paragraphNode);\n paragraphNode.select();\n }\n\n cardNode.remove();\n\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n )\n );\n }, [editor, isSelected, setSelected, clearSelected, nodeKey]);\n\n return (\n <WrapperContext.Provider value={{isSelected, cardWidth, setCardWidth, selection, cardContainerRef: containerRef}}>\n <CardWrapper\n isSelected={isSelected}\n cardType={cardType}\n ref={containerRef}\n cardWidth={cardWidth}\n >\n {children}\n </CardWrapper>\n </WrapperContext.Provider>\n );\n};\n\nexport default KoenigCardWrapperComponent;\n","export function HorizontalRuleCard() {\n return (\n <hr className=\"block h-[1px] border-0 border-t border-grey-300\" />\n );\n}\n","import * as React from 'react';\nimport {createCommand, DecoratorNode} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {ReactComponent as DividerCardIcon} from '../assets/icons/kg-card-type-divider.svg';\nimport {HorizontalRuleCard} from '../components/ui/cards/HorizontalRuleCard';\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND = createCommand();\n\nexport class HorizontalRuleNode extends DecoratorNode {\n static getType() {\n return 'horizontalrule';\n }\n\n static clone(node) {\n return new HorizontalRuleNode(node.__key);\n }\n\n static importJSON(serializedNode) {\n return $createHorizontalRuleNode();\n }\n\n static kgMenu = {\n label: 'Divider',\n desc: 'Insert a dividing line',\n Icon: DividerCardIcon,\n insertCommand: INSERT_HORIZONTAL_RULE_COMMAND,\n matches: ['divider', 'horizontal-rule', 'hr']\n };\n\n exportJSON() {\n return {\n type: 'horizontalrule',\n version: 1\n };\n }\n\n createDOM() {\n const div = document.createElement('div');\n return div;\n }\n\n getTextContent() {\n return '\\n';\n }\n\n isInline() {\n return false;\n }\n\n updateDOM() {\n return false;\n }\n\n decorate() {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()} className=\"inline-block\">\n <HorizontalRuleCard />\n </KoenigCardWrapper>\n );\n }\n}\n\nexport function $createHorizontalRuleNode() {\n return new HorizontalRuleNode();\n}\n\nexport function $isHorizontalRuleNode(node) {\n return node instanceof HorizontalRuleNode;\n}\n","import {useEffect} from 'react';\n\nconst useAutoExpandTextArea = ({el, value}) => {\n useEffect(() => {\n const element = el.current;\n if (element) {\n element.style.height = '0px';\n const height = element.scrollHeight;\n element.style.height = `${height}px`;\n }\n }, [el, value]);\n};\n\nexport default useAutoExpandTextArea;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport useAutoExpandTextArea from '../../../utils/autoExpandTextArea';\n\nexport function CodeBlockCard({code, language, updateCode, updateLanguage}) {\n const textareaRef = React.useRef(null);\n\n useAutoExpandTextArea({el: textareaRef, value: code});\n\n return (\n <code>\n <textarea\n ref={textareaRef}\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n tabIndex=\"0\"\n autoFocus\n className='min-h-170 w-full bg-grey-50 p-3 text-grey-900'\n value={code}\n onChange={updateCode}\n />\n </code>\n );\n}\n\nCodeBlockCard.propTypes = {\n code: PropTypes.string\n};","import * as React from 'react';\nimport {\n $getNodeByKey,\n createCommand,\n DecoratorNode\n} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {CodeBlockCard} from '../components/ui/cards/CodeBlockCard';\n\nexport const CODE_BLOCK_COMMAND = createCommand();\n\nfunction CodeBlockComponent({code, language, nodeKey, editor}) {\n const updateCode = (event) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCode(event.target.value);\n });\n };\n\n const updateLanguage = (event) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setLanguage(event.target.value);\n });\n };\n\n return (\n <CodeBlockCard\n code={code}\n updateCode={updateCode}\n language={language}\n updateLanguage={updateLanguage}\n />\n );\n}\n\nexport class CodeBlockNode extends DecoratorNode {\n __code = '';\n __language = '';\n\n static getType() {\n return 'codeblock';\n }\n\n static clone(node) {\n return new CodeBlockNode(node.__key, node.__code);\n }\n\n static importJSON(serializedNode) {\n return $createCodeBlockNode();\n }\n\n exportJSON() {\n return {\n type: 'codeblock',\n version: 1,\n code: this.__code,\n language: this.__language\n };\n }\n\n constructor(language, initCode, key) {\n super(key);\n this.__language = language;\n this.__code = initCode;\n }\n\n createDOM(config) {\n return document.createElement('div');\n }\n\n updateDOM() {\n return false;\n }\n\n getCode() {\n const self = this.getLatest();\n return self.__code;\n }\n\n setCode(code) {\n const self = this.getWritable();\n self.__code = code;\n }\n\n getLanguage() {\n const self = this.getLatest();\n return self.__language;\n }\n\n setLanguage(language) {\n const self = this.getWritable();\n self.__language = language;\n }\n\n getTextContent() {\n const self = this.getLatest();\n return self.__code;\n }\n\n decorate(editor, config) {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()}>\n <CodeBlockComponent\n code={this.__code}\n language={this.__language}\n nodeKey={this.getKey()}\n editor={editor}\n />\n </KoenigCardWrapper>\n );\n }\n\n isInline() {\n return false;\n }\n}\n\nexport function $createCodeBlockNode(language, initCode) {\n return new CodeBlockNode(language, initCode);\n}\n\nexport function $isCodeBlockNode(node) {\n return node instanceof CodeBlockNode;\n}\n","import { DecoratorNode, createCommand } from 'lexical';\n\nclass KoenigDecoratorNode extends DecoratorNode {}\nfunction $isKoenigCard(node) {\n return node instanceof KoenigDecoratorNode;\n}\n\nclass ImageParser {\n constructor(NodeClass) {\n this.NodeClass = NodeClass;\n }\n get DOMConversionMap() {\n const self = this;\n return {\n img: () => ({\n conversion(domNode) {\n if (domNode.tagName === 'IMG') {\n const {\n alt: altText,\n src,\n title,\n width,\n height\n } = domNode;\n const node = new self.NodeClass({\n altText,\n src,\n title,\n width,\n height\n });\n return {\n node\n };\n }\n return null;\n },\n priority: 1\n })\n // TODO: add <figure> and other handling from kg-parser-plugins\n };\n }\n}\n\nconst getAvailableImageWidths = function (image, imageSizes) {\n // get a sorted list of the available responsive widths\n const imageWidths = Object.values(imageSizes).map(_ref => {\n let {\n width\n } = _ref;\n return width;\n }).sort((a, b) => a - b);\n\n // select responsive widths that are usable based on the image width\n const availableImageWidths = imageWidths.filter(width => width <= image.width);\n\n // add the original image size to the responsive list if it's not captured by largest responsive size\n // - we can't know the width/height of the original `src` image because we don't know if it was resized\n // or not. Adding the original image to the responsive list ensures we're not showing smaller sized\n // images than we need to be\n if (image.width > availableImageWidths[availableImageWidths.length - 1] && image.width < imageWidths[imageWidths.length - 1]) {\n availableImageWidths.push(image.width);\n }\n return availableImageWidths;\n};\n\nconst isLocalContentImage = function (url) {\n let siteUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const normalizedSiteUrl = siteUrl.replace(/\\/$/, '');\n const imagePath = url.replace(normalizedSiteUrl, '');\n return /^(\\/.*|__GHOST_URL__)\\/?content\\/images\\//.test(imagePath);\n};\n\nconst isUnsplashImage = function (url) {\n return /images\\.unsplash\\.com/.test(url);\n};\n\n// default content sizes: [600, 1000, 1600, 2400]\n\nconst getSrcsetAttribute = function (_ref) {\n let {\n src,\n width,\n options\n } = _ref;\n if (!options.imageOptimization || options.imageOptimization.srcsets === false || !width || !options.imageOptimization.contentImageSizes) {\n return;\n }\n if (isLocalContentImage(src, options.siteUrl) && options.canTransformImage && !options.canTransformImage(src)) {\n return;\n }\n const srcsetWidths = getAvailableImageWidths({\n width\n }, options.imageOptimization.contentImageSizes);\n\n // apply srcset if this is a relative image that matches Ghost's image url structure\n if (isLocalContentImage(src, options.siteUrl)) {\n const [, imagesPath, filename] = src.match(/(.*\\/content\\/images)\\/(.*)/);\n const srcs = [];\n srcsetWidths.forEach(srcsetWidth => {\n if (srcsetWidth === width) {\n // use original image path if width matches exactly (avoids 302s from size->original)\n srcs.push(`${src} ${srcsetWidth}w`);\n } else if (srcsetWidth <= width) {\n // avoid creating srcset sizes larger than intrinsic image width\n srcs.push(`${imagesPath}/size/w${srcsetWidth}/${filename} ${srcsetWidth}w`);\n }\n });\n if (srcs.length) {\n return srcs.join(', ');\n }\n }\n\n // apply srcset if this is an Unsplash image\n if (isUnsplashImage(src)) {\n const unsplashUrl = new URL(src);\n const srcs = [];\n srcsetWidths.forEach(srcsetWidth => {\n unsplashUrl.searchParams.set('w', srcsetWidth);\n srcs.push(`${unsplashUrl.href} ${srcsetWidth}w`);\n });\n return srcs.join(', ');\n }\n};\nconst setSrcsetAttribute = function (elem, image, options) {\n if (!elem || !['IMG', 'SOURCE'].includes(elem.tagName) || !elem.getAttribute('src') || !image) {\n return;\n }\n const {\n src,\n width\n } = image;\n const srcset = getSrcsetAttribute({\n src,\n width,\n options\n });\n if (srcset) {\n elem.setAttribute('srcset', srcset);\n }\n};\n\nconst resizeImage = function (image) {\n let {\n width: desiredWidth,\n height: desiredHeight\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n width,\n height\n } = image;\n const ratio = width / height;\n if (desiredWidth) {\n const resizedHeight = Math.round(desiredWidth / ratio);\n return {\n width: desiredWidth,\n height: resizedHeight\n };\n }\n if (desiredHeight) {\n const resizedWidth = Math.round(desiredHeight * ratio);\n return {\n width: resizedWidth,\n height: desiredHeight\n };\n }\n};\n\nfunction renderImageNodeToDOM(node) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n /* c8 ignore start */\n if (!options.createDocument) {\n let document = typeof window !== 'undefined' && window.document;\n if (!document) {\n throw new Error('renderImageNodeToDOM() must be passed a `createDocument` function as an option when used in a non-browser environment'); // eslint-disable-line\n }\n\n options.createDocument = function () {\n return document;\n };\n }\n /* c8 ignore stop */\n\n const document = options.createDocument();\n if (!node.getSrc() || node.getSrc().trim() === '') {\n return document.createTextNode('');\n }\n const figure = document.createElement('figure');\n let figureClasses = 'kg-card kg-image-card';\n if (node.getCardWidth() !== 'regular') {\n figureClasses += ` kg-width-${node.getCardWidth()}`;\n }\n figure.setAttribute('class', figureClasses);\n const img = document.createElement('img');\n img.setAttribute('src', node.getSrc());\n img.setAttribute('alt', node.getAltText());\n img.setAttribute('loading', 'lazy');\n if (node.getTitle()) {\n img.setAttribute('title', node.getTitle());\n }\n if (node.getImgWidth() && node.getImgHeight()) {\n img.setAttribute('width', node.getImgWidth());\n img.setAttribute('height', node.getImgHeight());\n }\n\n // images can be resized to max width, if that's the case output\n // the resized width/height attrs to ensure 3rd party gallery plugins\n // aren't affected by differing sizes\n const {\n canTransformImage\n } = options;\n const {\n defaultMaxWidth\n } = options.imageOptimization || {};\n if (defaultMaxWidth && node.getImgWidth() > defaultMaxWidth && isLocalContentImage(node.getSrc(), options.siteUrl) && canTransformImage && canTransformImage(node.getSrc())) {\n const imageDimensions = {\n width: node.getImgWidth(),\n height: node.getImgHeight()\n };\n const {\n width,\n height\n } = resizeImage(imageDimensions, {\n width: defaultMaxWidth\n });\n img.setAttribute('width', width);\n img.setAttribute('height', height);\n }\n if (options.target !== 'email') {\n const imgAttributes = {\n src: node.getSrc(),\n width: node.getImgWidth(),\n height: node.getImgHeight()\n };\n setSrcsetAttribute(img, imgAttributes, options);\n if (img.getAttribute('srcset') && node.getImgWidth() && node.getImgWidth() >= 720) {\n // standard size\n if (!node.getCardWidth() || node.getCardWidth() === 'regular') {\n img.setAttribute('sizes', '(min-width: 720px) 720px');\n }\n if (node.getCardWidth() === 'wide' && node.getImgWidth() >= 1200) {\n img.setAttribute('sizes', '(min-width: 1200px) 1200px');\n }\n }\n }\n\n // Outlook is unable to properly resize images without a width/height\n // so we add that at the expected size in emails (600px) and use a higher\n // resolution image to keep images looking good on retina screens\n if (options.target === 'email' && node.getImgWidth() && node.getImgHeight()) {\n let imageDimensions = {\n width: node.getImgWidth(),\n height: node.getImgHeight()\n };\n if (node.getImgWidth() >= 600) {\n imageDimensions = resizeImage(imageDimensions, {\n width: 600\n });\n }\n img.setAttribute('width', imageDimensions.width);\n img.setAttribute('height', imageDimensions.height);\n if (isLocalContentImage(node.getSrc(), options.siteUrl) && options.canTransformImage?.(node.getSrc())) {\n // find available image size next up from 2x600 so we can use it for the \"retina\" src\n const availableImageWidths = getAvailableImageWidths(node, options.imageOptimization.contentImageSizes);\n const srcWidth = availableImageWidths.find(width => width >= 1200);\n if (!srcWidth || srcWidth === node.getImgWidth()) ; else {\n const [, imagesPath, filename] = node.getSrc().match(/(.*\\/content\\/images)\\/(.*)/);\n img.setAttribute('src', `${imagesPath}/size/w${srcWidth}/${filename}`);\n }\n }\n }\n figure.appendChild(img);\n if (node.getCaption()) {\n const caption = document.createElement('figcaption');\n caption.innerHTML = node.getCaption();\n figure.appendChild(caption);\n }\n return figure;\n}\n\nconst INSERT_IMAGE_COMMAND = createCommand();\nconst UPLOAD_IMAGE_COMMAND = createCommand();\nclass ImageNode extends KoenigDecoratorNode {\n // payload properties\n __src;\n __caption;\n __title;\n __altText;\n __cardWidth;\n __width;\n __height;\n static getType() {\n return 'image';\n }\n static clone(node) {\n return new this(node.getDataset(), node.__key);\n }\n\n // used by `@tryghost/url-utils` to transform URLs contained in the serialized JSON\n static get urlTransformMap() {\n return {\n src: 'url',\n caption: 'html'\n };\n }\n getDataset() {\n return {\n src: this.__src,\n caption: this.__caption,\n title: this.__title,\n altText: this.__altText,\n width: this.__width,\n height: this.__height,\n cardWidth: this.__cardWidth\n };\n }\n\n // from https://github.com/TryGhost/Ghost/blob/main/ghost/admin/app/components/gh-image-uploader.js#L18\n static extensionTypes = ['gif', 'jpg', 'jpeg', 'png', 'svg', 'svgz', 'webp'];\n static mimeTypes = ['image/gif', 'image/jpg', 'image/jpeg', 'image/png', 'image/svg+xml', 'image/webp'];\n constructor() {\n let {\n src,\n caption,\n title,\n altText,\n cardWidth,\n width,\n height\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let key = arguments.length > 1 ? arguments[1] : undefined;\n super(key);\n this.__src = src || '';\n this.__title = title || '';\n this.__caption = caption || '';\n this.__altText = altText || '';\n this.__width = width || null;\n this.__height = height || null;\n this.__cardWidth = cardWidth || 'regular';\n }\n static importJSON(serializedNode) {\n const {\n src,\n caption,\n title,\n altText,\n width,\n height,\n cardWidth\n } = serializedNode;\n const node = new this({\n src,\n caption,\n title,\n altText,\n width,\n height,\n cardWidth\n });\n return node;\n }\n exportJSON() {\n // checks if src is a data string\n const src = this.getSrc();\n const isBlob = src.startsWith('data:');\n const dataset = {\n type: 'image',\n src: isBlob ? '<base64String>' : this.getSrc(),\n width: this.getImgWidth(),\n height: this.getImgHeight(),\n title: this.getTitle(),\n altText: this.getAltText(),\n caption: this.getCaption(),\n cardWidth: this.getCardWidth()\n };\n return dataset;\n }\n static importDOM() {\n const parser = new ImageParser(this);\n return parser.DOMConversionMap;\n }\n exportDOM() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const element = renderImageNodeToDOM(this, options);\n return {\n element\n };\n }\n\n /* c8 ignore start */\n createDOM() {\n const element = document.createElement('div');\n return element;\n }\n updateDOM() {\n return false;\n }\n isInline() {\n return false;\n }\n /* c8 ignore stop */\n\n getSrc() {\n return this.__src;\n }\n setSrc(src) {\n const writable = this.getWritable();\n return writable.__src = src;\n }\n getTitle() {\n return this.__title;\n }\n setTitle(title) {\n const writable = this.getWritable();\n return writable.__title = title;\n }\n setCardWidth(cardWidth) {\n const writable = this.getWritable();\n return writable.__cardWidth = cardWidth;\n }\n getCardWidth() {\n return this.__cardWidth;\n }\n getImgWidth() {\n return this.__width;\n }\n setImgWidth(width) {\n const writable = this.getWritable();\n return writable.__width = width;\n }\n getImgHeight() {\n return this.__height;\n }\n setImgHeight(height) {\n const writable = this.getWritable();\n return writable.__height = height;\n }\n getCaption() {\n return this.__caption;\n }\n setCaption(caption) {\n const writable = this.getWritable();\n return writable.__caption = caption;\n }\n getAltText() {\n return this.__altText;\n }\n setAltText(altText) {\n const writable = this.getWritable();\n return writable.__altText = altText;\n }\n\n // should be overridden\n /* c8 ignore next 3 */\n decorate() {\n return '';\n }\n}\nconst $createImageNode = dataset => {\n return new ImageNode(dataset);\n};\nfunction $isImageNode(node) {\n return node instanceof ImageNode;\n}\n\n// export convenience objects for use elsewhere\nconst DEFAULT_NODES = [ImageNode];\n\nexport { $createImageNode, $isImageNode, $isKoenigCard, DEFAULT_NODES, INSERT_IMAGE_COMMAND, ImageNode, ImageParser, KoenigDecoratorNode, UPLOAD_IMAGE_COMMAND };\n//# sourceMappingURL=kg-default-nodes.js.map\n","import React from 'react';\n\nconst KoenigComposerContext = React.createContext({});\n\nexport default KoenigComposerContext;\n","import React from 'react';\n\nfunction CaptionInput({value, placeholder, onChange}) {\n const handleOnChange = (e) => {\n onChange(e.target.value);\n };\n\n return (\n <input\n onChange={handleOnChange}\n className=\"not-kg-prose w-full px-9 text-center font-sans text-sm font-normal leading-8 tracking-wide text-grey-900\"\n placeholder={placeholder}\n value={value}\n />\n );\n}\n\nfunction AltTextInput({value, placeholder, onChange}) {\n const handleOnChange = (e) => {\n onChange(e.target.value);\n };\n\n return (\n <input\n onChange={handleOnChange}\n className=\"not-kg-prose w-full px-9 text-center font-sans text-sm font-normal leading-8 tracking-wide text-grey-900\"\n placeholder={placeholder}\n value={value}\n />\n );\n}\n\nfunction AltToggleButton({isEditingAlt, onClick}) {\n return (\n <button\n name=\"alt-toggle-button\"\n className={`absolute bottom-0 right-0 m-2 cursor-pointer rounded border px-1 font-sans text-[1.3rem] font-normal leading-7 tracking-wide transition-all duration-100 ${isEditingAlt ? 'border-green bg-green text-white' : 'border-grey text-grey' } `}\n onClick={onClick}\n >\n Alt\n </button>\n );\n}\n\nexport function CardCaptionEditor({\n altText,\n altTextPlaceholder,\n setAltText,\n caption,\n captionPlaceholder,\n setCaption,\n isSelected\n}) {\n const [isEditingAlt, setIsEditingAlt] = React.useState(false);\n\n const toggleIsEditingAlt = (e) => {\n e.stopPropagation();\n setIsEditingAlt(!isEditingAlt);\n };\n\n // always switch back to displaying caption when card is not selected\n React.useEffect(() => {\n if (!isSelected) {\n setIsEditingAlt(false);\n }\n }, [isSelected, setIsEditingAlt]);\n\n if (isSelected || caption) {\n return (\n <figcaption className=\"flex w-full p-2\">\n {isEditingAlt\n ? <AltTextInput value={altText} placeholder={altTextPlaceholder} onChange={setAltText} />\n : <CaptionInput value={caption} placeholder={captionPlaceholder} onChange={setCaption} /> }\n {setAltText && <AltToggleButton isEditingAlt={isEditingAlt} onClick={toggleIsEditingAlt} />}\n </figcaption>\n );\n }\n}\n","const CardText = ({text}) => {\n return (\n <span data-kg-card-drag-text className=\"text-sm font-sans font-bold text-grey-800 transition-all group-hover:text-grey-800\">{text}</span>\n );\n};\n\nexport function MediaPlaceholder({desc, Icon, filePicker, size, handleDrag, handleDrop, isDraggedOver, ...props}) {\n return (\n <div\n onDragEnter={handleDrag}\n onDragLeave={handleDrag}\n onDragOver={handleDrag}\n onDrop={handleDrop}\n className=\"border border-transparent\" {...props}\n data-testid=\"media-placeholder\"\n >\n <div className={`h-100 relative flex items-center justify-center border border-grey/20 bg-grey-50 ${size === 'xsmall' ? 'before:pb-[12.5%]' : 'before:pb-[62.5%]'}`}>\n {\n isDraggedOver ?\n <CardText text=\"Drop it like it's hot 🔥\" />\n :\n <button onClick={filePicker} name=\"placeholder-button\" className={`group flex cursor-pointer items-center justify-center ${size === 'xsmall' ? 'p-4' : 'p-20 flex-col'}`}>\n <Icon className={`opacity-80 transition-all ease-linear group-hover:scale-105 group-hover:opacity-100 ${size === 'large' ? 'h-20 w-20 text-grey' : size === 'small' ? 'h-14 w-14 text-grey' : size === 'xsmall' ? 'w-6 h-6 mr-3 text-grey-700' : 'h-16 w-16 text-grey'}`} />\n <p className={`font-sans text-sm font-normal text-grey-700 transition-all group-hover:text-grey-800 ${size === 'xsmall' ? '' : 'mt-4'}`}>{desc}</p>\n </button>\n }\n </div>\n </div>\n );\n}\n","// Triggers the file selection dialog from a given referenced element\n\nexport function openFileSelection({fileInputRef}) {\n fileInputRef.current.click();\n}","export function ImageUploadForm({onFileChange, fileInputRef}) {\n return (\n <form onChange={onFileChange}>\n <input\n name=\"image-input\"\n type='file'\n accept='image/*'\n ref={fileInputRef}\n hidden={true}\n />\n </form>\n );\n}\n\nexport default ImageUploadForm;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {CardCaptionEditor} from '../CardCaptionEditor';\nimport {MediaPlaceholder} from '../MediaPlaceholder';\nimport {ReactComponent as ImgPlaceholderIcon} from '../../../assets/icons/kg-img-placeholder.svg';\nimport {openFileSelection} from '../../../utils/openFileSelection';\nimport ImageUploadForm from '../ImageUploadForm';\n\nfunction PopulatedImageCard({src, alt, previewSrc, progress}) {\n const progressStyle = {\n width: `${progress?.toFixed(0)}%`\n };\n return (\n <div>\n <img className={`mx-auto ${previewSrc ? 'opacity-40' : ''}`} src={previewSrc ? previewSrc : src} alt={alt ? alt : `upload in progress, ${progress} `} />\n {previewSrc && progress && !src ?\n <div className=\"absolute inset-0 flex items-center min-w-full bg-white/50 justify-center overflow-hidden\">\n <div className=\"not-kg-prose bg-grey-200 rounded-full shadow w-[60%]\">\n <div className=\"bg-green rounded-full text-xs leading-none py-1 text-center text-white\" style={progressStyle}></div>\n </div>\n </div>\n : <></>\n }\n </div>\n );\n}\n\nfunction EmptyImageCard({onFileChange, setFileInputRef, handleDrag, handleDrop, isDraggedOver}) {\n const fileInputRef = React.useRef(null);\n\n const onFileInputRef = (element) => {\n fileInputRef.current = element;\n setFileInputRef(fileInputRef);\n };\n\n return (\n <>\n <MediaPlaceholder\n handleDrag={handleDrag}\n handleDrop={handleDrop}\n filePicker={() => openFileSelection({fileInputRef})}\n desc=\"Click to select an image\"\n Icon={ImgPlaceholderIcon}\n isDraggedOver={isDraggedOver}\n />\n <ImageUploadForm\n filePicker={() => openFileSelection({fileInputRef})}\n onFileChange={onFileChange}\n fileInputRef={onFileInputRef}\n />\n </>\n );\n}\n\nconst ImageHolder = ({\n src,\n altText,\n previewSrc,\n uploadProgress,\n onFileChange,\n setFileInputRef,\n handleDrag,\n handleDrop,\n isDraggedOver\n}) => {\n if (previewSrc || src) {\n return (\n <PopulatedImageCard \n src={src} \n alt={altText}\n previewSrc={previewSrc} \n progress={uploadProgress} \n />\n );\n } else {\n return (\n <EmptyImageCard\n handleDrag={handleDrag} \n onFileChange={onFileChange} \n setFileInputRef={setFileInputRef}\n handleDrop={handleDrop}\n isDraggedOver={isDraggedOver}\n />\n );\n }\n};\n\nexport function ImageCard({\n isSelected,\n src,\n onFileChange,\n caption,\n setCaption,\n altText,\n setAltText,\n setFigureRef,\n fileInputRef,\n handleDrag,\n handleDrop,\n isDraggedOver,\n cardWidth,\n previewSrc,\n uploadProgress\n}) {\n const figureRef = React.useRef(null);\n\n React.useEffect(() => {\n if (setFigureRef) {\n setFigureRef(figureRef);\n }\n }, [figureRef, setFigureRef]);\n\n const setFileInputRef = (ref) => {\n if (fileInputRef) {\n fileInputRef.current = ref.current;\n }\n };\n return (\n <>\n <figure data-kg-card-width={cardWidth} ref={figureRef}>\n <ImageHolder\n src={src}\n altText={altText}\n previewSrc={previewSrc}\n uploadProgress={uploadProgress}\n onFileChange={onFileChange}\n setFileInputRef={setFileInputRef}\n handleDrag={handleDrag}\n handleDrop={handleDrop}\n isDraggedOver={isDraggedOver}\n />\n <CardCaptionEditor\n altText={altText || ''}\n setAltText={setAltText}\n altTextPlaceholder=\"Type alt text for image (optional)\"\n caption={caption || ''}\n setCaption={setCaption}\n captionPlaceholder=\"Type caption for image (optional)\"\n isSelected={isSelected}\n />\n </figure>\n </>\n );\n}\n\nImageCard.propTypes = {\n isSelected: PropTypes.bool,\n setAltText: PropTypes.func,\n caption: PropTypes.string,\n altText: PropTypes.string,\n setCaption: PropTypes.func,\n src: PropTypes.string,\n isDraggedOver: PropTypes.bool,\n previewSrc: PropTypes.string,\n uploadProgress: PropTypes.number\n};\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTFINkM2LjI2NTIyIDguMDAwMTEgNi41MTk1NyA4LjEwNTQ2IDYuNzA3MTEgOC4yOTNDNi44OTQ2NCA4LjQ4MDU0IDcgOC43MzQ4OSA3IDkuMDAwMTFWMTMuMDAwMUM3IDEzLjI2NTMgNi44OTQ2NCAxMy41MTk3IDYuNzA3MTEgMTMuNzA3MkM2LjUxOTU3IDEzLjg5NDcgNi4yNjUyMiAxNC4wMDAxIDYgMTQuMDAwMUgzQzIuNzM0NzggMTQuMDAwMSAyLjQ4MDQzIDEzLjg5NDcgMi4yOTI4OSAxMy43MDcyQzIuMTA1MzYgMTMuNTE5NyAyIDEzLjI2NTMgMiAxMy4wMDAxVjUuMDgyMTFDMiAzLjkwNjExIDIuOTA2IDIuOTYyMTEgNC41MzggMi4xMTMxMUM0LjY1NDQ4IDIuMDUyNDQgNC43ODE3NyAyLjAxNTMgNC45MTI2MSAyLjAwMzgzQzUuMDQzNDQgMS45OTIzNSA1LjE3NTI1IDIuMDA2NzUgNS4zMDA1MiAyLjA0NjIyQzUuNDI1NzkgMi4wODU2OCA1LjU0MjA1IDIuMTQ5NDQgNS42NDI2OCAyLjIzMzgzQzUuNzQzMzEgMi4zMTgyMyA1LjgyNjMzIDIuNDIxNjIgNS44ODcgMi41MzgxMUM1Ljk0NzY3IDIuNjU0NTkgNS45ODQ4IDIuNzgxODggNS45OTYyOCAyLjkxMjcxQzYuMDA3NzYgMy4wNDM1NSA1Ljk5MzM1IDMuMTc1MzYgNS45NTM4OSAzLjMwMDYzQzUuOTE0NDIgMy40MjU4OSA1Ljg1MDY3IDMuNTQyMTYgNS43NjYyNyAzLjY0Mjc5QzUuNjgxODcgMy43NDM0MiA1LjU3ODQ4IDMuODI2NDQgNS40NjIgMy44ODcxMUM0Ljg4NCA0LjE4NzExIDQuNDY5IDQuNDc2MTEgNC4yMjIgNC43MzQxMUM0LjA1NCA0LjkwODExIDQgNS4wMjAxMSA0IDUuMDgyMTFWOC4wMDAxMVpNMTMgOC4wMDAxMUMxMy4yNjUyIDguMDAwMTEgMTMuNTE5NiA4LjEwNTQ2IDEzLjcwNzEgOC4yOTNDMTMuODk0NiA4LjQ4MDU0IDE0IDguNzM0ODkgMTQgOS4wMDAxMVY5LjUzNjZDMTMuNjE0MyA5LjYwMjQzIDEzLjI1MzYgOS43NTIzIDEyLjkzNyA5Ljk0NDVMMTIuOTI5OCA5Ljk0ODlMMTIuNDMxNSAxMC4yNjA4QzExLjk4NTYgMTAuNTM1NyAxMS41IDExLjA0NzkgMTEuNSAxMS44MjUyQzExLjUgMTIuNTY4OCAxMS45NjExIDEzLjIwMTUgMTIuNjMyMyAxMy40MzExVjE0LjAwMDFIMTBDOS43MzQ3OCAxNC4wMDAxIDkuNDgwNDMgMTMuODk0NyA5LjI5Mjg5IDEzLjcwNzJDOS4xMDUzNiAxMy41MTk3IDkgMTMuMjY1MyA5IDEzLjAwMDFWNS4wODIxMUM5IDMuOTA2MTEgOS45MDYgMi45NjIxMSAxMS41MzggMi4xMTMxMUMxMS42NTQ1IDIuMDUyNDQgMTEuNzgxOCAyLjAxNTMgMTEuOTEyNiAyLjAwMzgzQzEyLjA0MzQgMS45OTIzNSAxMi4xNzUzIDIuMDA2NzUgMTIuMzAwNSAyLjA0NjIyQzEyLjQyNTggMi4wODU2OCAxMi41NDIxIDIuMTQ5NDQgMTIuNjQyNyAyLjIzMzgzQzEyLjc0MzMgMi4zMTgyMyAxMi44MjYzIDIuNDIxNjIgMTIuODg3IDIuNTM4MTFDMTIuOTQ3NyAyLjY1NDU5IDEyLjk4NDggMi43ODE4OCAxMi45OTYzIDIuOTEyNzFDMTMuMDA3OCAzLjA0MzU1IDEyLjk5MzQgMy4xNzUzNiAxMi45NTM5IDMuMzAwNjNDMTIuOTE0NCAzLjQyNTg5IDEyLjg1MDcgMy41NDIxNiAxMi43NjYzIDMuNjQyNzlDMTIuNjgxOSAzLjc0MzQyIDEyLjU3ODUgMy44MjY0NCAxMi40NjIgMy44ODcxMUMxMS44ODQgNC4xODcxMSAxMS40NjkgNC40NzYxMSAxMS4yMjIgNC43MzQxMUMxMS4wNTQgNC45MDgxMSAxMSA1LjAyMDExIDExIDUuMDgyMTFWOC4wMDAxMUgxM1pNMTQuNTQyOCAxNS40MzQ0QzE0LjExODIgMTUuNDM0NCAxMy44ODIzIDE1LjE3ODMgMTMuODgyMyAxNC43MjY3VjExLjk2SDEzLjg3MjJMMTMuNjM5NyAxMi4xMDgyQzEzLjQyNzQgMTIuMjMyOSAxMy4zMjI5IDEyLjI3MzQgMTMuMTk0OCAxMi4yNzM0QzEyLjkzNTQgMTIuMjczNCAxMi43NSAxMi4wODQ2IDEyLjc1IDExLjgyNTJDMTIuNzUgMTEuNjI5NyAxMi44NjQ2IDExLjQ2MTIgMTMuMDkwNCAxMS4zMjNMMTMuNTg1OCAxMS4wMTNDMTMuODY4OCAxMC44NDExIDE0LjE1ODcgMTAuNzUwMSAxNC40MjQ5IDEwLjc1MDFDMTQuODkzMyAxMC43NTAxIDE1LjIgMTEuMDYzNSAxNS4yIDExLjU0ODhWMTQuNzI2N0MxNS4yIDE1LjE4MTcgMTQuOTY0MSAxNS40MzQ0IDE0LjU0MjggMTUuNDM0NFoiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTVINkM2LjI2NTIyIDguMDAwMTUgNi41MTk1NyA4LjEwNTUgNi43MDcxMSA4LjI5MzA0QzYuODk0NjQgOC40ODA1OCA3IDguNzM0OTMgNyA5LjAwMDE1VjEzLjAwMDFDNyAxMy4yNjU0IDYuODk0NjQgMTMuNTE5NyA2LjcwNzExIDEzLjcwNzNDNi41MTk1NyAxMy44OTQ4IDYuMjY1MjIgMTQuMDAwMSA2IDE0LjAwMDFIM0MyLjczNDc4IDE0LjAwMDEgMi40ODA0MyAxMy44OTQ4IDIuMjkyODkgMTMuNzA3M0MyLjEwNTM2IDEzLjUxOTcgMiAxMy4yNjU0IDIgMTMuMDAwMVY1LjA4MjE1QzIgMy45MDYxNSAyLjkwNiAyLjk2MjE1IDQuNTM4IDIuMTEzMTVDNC42NTQ0OCAyLjA1MjQ4IDQuNzgxNzcgMi4wMTUzNCA0LjkxMjYxIDIuMDAzODdDNS4wNDM0NCAxLjk5MjM5IDUuMTc1MjUgMi4wMDY3OSA1LjMwMDUyIDIuMDQ2MjZDNS40MjU3OSAyLjA4NTcyIDUuNTQyMDUgMi4xNDk0OCA1LjY0MjY4IDIuMjMzODdDNS43NDMzMSAyLjMxODI3IDUuODI2MzMgMi40MjE2NiA1Ljg4NyAyLjUzODE1QzUuOTQ3NjcgMi42NTQ2MyA1Ljk4NDggMi43ODE5MiA1Ljk5NjI4IDIuOTEyNzVDNi4wMDc3NiAzLjA0MzU5IDUuOTkzMzUgMy4xNzU0IDUuOTUzODkgMy4zMDA2N0M1LjkxNDQyIDMuNDI1OTMgNS44NTA2NyAzLjU0MjIgNS43NjYyNyAzLjY0MjgzQzUuNjgxODcgMy43NDM0NiA1LjU3ODQ4IDMuODI2NDggNS40NjIgMy44ODcxNUM0Ljg4NCA0LjE4NzE1IDQuNDY5IDQuNDc2MTUgNC4yMjIgNC43MzQxNUM0LjA1NCA0LjkwODE1IDQgNS4wMjAxNSA0IDUuMDgyMTVWOC4wMDAxNVpNMTMgOC4wMDAxNUMxMy4yNjUyIDguMDAwMTUgMTMuNTE5NiA4LjEwNTUgMTMuNzA3MSA4LjI5MzA0QzEzLjg5NDYgOC40ODA1OCAxNCA4LjczNDkzIDE0IDkuMDAwMTVWOS41MTgxMkMxMy40Mzc4IDkuNTc2OTQgMTIuOTA4NyA5Ljc3NzM1IDEyLjQ4MDMgMTAuMDkxOEMxMS45Nzg1IDEwLjQ2MDEgMTEuNSAxMS4wODQ4IDExLjUgMTEuOTA0M0MxMS41IDEyLjM2MzIgMTEuNjc3MiAxMi44MTM1IDEyLjAyNjQgMTMuMTQ1MUMxMi4wNjA0IDEzLjE3NzQgMTIuMDk1NSAxMy4yMDggMTIuMTMxMiAxMy4yMzY5QzExLjk0MTkgMTMuNDQwOSAxMS43NTA5IDEzLjY5MjIgMTEuNjMyMyAxNC4wMDAxSDEwQzkuNzM0NzggMTQuMDAwMSA5LjQ4MDQzIDEzLjg5NDggOS4yOTI4OSAxMy43MDczQzkuMTA1MzYgMTMuNTE5NyA5IDEzLjI2NTQgOSAxMy4wMDAxVjUuMDgyMTVDOSAzLjkwNjE1IDkuOTA2IDIuOTYyMTUgMTEuNTM4IDIuMTEzMTVDMTEuNjU0NSAyLjA1MjQ4IDExLjc4MTggMi4wMTUzNCAxMS45MTI2IDIuMDAzODdDMTIuMDQzNCAxLjk5MjM5IDEyLjE3NTMgMi4wMDY3OSAxMi4zMDA1IDIuMDQ2MjZDMTIuNDI1OCAyLjA4NTcyIDEyLjU0MjEgMi4xNDk0OCAxMi42NDI3IDIuMjMzODdDMTIuNzQzMyAyLjMxODI3IDEyLjgyNjMgMi40MjE2NiAxMi44ODcgMi41MzgxNUMxMi45NDc3IDIuNjU0NjMgMTIuOTg0OCAyLjc4MTkyIDEyLjk5NjMgMi45MTI3NUMxMy4wMDc4IDMuMDQzNTkgMTIuOTkzNCAzLjE3NTQgMTIuOTUzOSAzLjMwMDY3QzEyLjkxNDQgMy40MjU5MyAxMi44NTA3IDMuNTQyMiAxMi43NjYzIDMuNjQyODNDMTIuNjgxOSAzLjc0MzQ2IDEyLjU3ODUgMy44MjY0OCAxMi40NjIgMy44ODcxNUMxMS44ODQgNC4xODcxNSAxMS40NjkgNC40NzYxNSAxMS4yMjIgNC43MzQxNUMxMS4wNTQgNC45MDgxNSAxMSA1LjAyMDE1IDExIDUuMDgyMTVWOC4wMDAxNUgxM1pNMTMuMjI1NiAxNS4xNDI4QzEyLjg5MDMgMTUuMTQyOCAxMi42NjI2IDE0Ljk0MDQgMTIuNjYyNiAxNC42NDMyQzEyLjY2MjYgMTQuNDIxOCAxMi43ODkxIDE0LjIyNTcgMTMuMTU5MSAxMy44Nzc5TDE0LjE2MTYgMTIuOTA3QzE0LjQ5MzcgMTIuNTg3NiAxNC42MzkxIDEyLjM3ODkgMTQuNjM5MSAxMi4xNjA3QzE0LjYzOTEgMTEuOTA0NSAxNC40NTI2IDExLjczMzcgMTQuMTgwNiAxMS43MzM3QzEzLjk2ODcgMTEuNzMzNyAxMy44MTY5IDExLjgyNTUgMTMuNjU1NiAxMi4wNTMyQzEzLjQ3ODUgMTIuMjg3MiAxMy4zNDU3IDEyLjM2OTQgMTMuMTQwMiAxMi4zNjk0QzEyLjg1MjQgMTIuMzY5NCAxMi42NSAxMi4xNzY1IDEyLjY1IDExLjkwNDVDMTIuNjUgMTEuMjk3MyAxMy4zNzEgMTAuNzUwMiAxNC4yNDcgMTAuNzUwMkMxNS4xNTQ2IDEwLjc1MDIgMTUuODI1IDExLjI5NzMgMTUuODI1IDEyLjAzNzNDMTUuODI1IDEyLjQ5NTkgMTUuNTg3OSAxMi45MjYgMTUuMDc4NyAxMy4zOTA4TDE0LjI4ODEgMTQuMTI0NVYxNC4xNzJIMTUuNDIwM0MxNS43NjUgMTQuMTcyIDE1Ljk4IDE0LjM1ODUgMTUuOTggMTQuNjYyMUMxNS45OCAxNC45NjI2IDE1Ljc3MTMgMTUuMTQyOCAxNS40MjAzIDE1LjE0MjhIMTMuMjI1NloiIC8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPHBhdGggZD0iTTE2LjE5IDMuNTFhLjUxLjUxIDAgMCAwLS43MSAwTDQuMDcgMTQuOTJhLjUuNSAwIDAgMCAwIC43MWw0LjI4IDQuMjhhLjQ4LjQ4IDAgMCAwIC43IDBMMjAuNDcgOC41YS41MS41MSAwIDAgMCAwLS43MVpNMyAxNi43MWEuNTEuNTEgMCAwIDAtLjQ3LS4xMy40OC40OCAwIDAgMC0uMzYuMzNMMCAyMy4zM2EuNDkuNDkgMCAwIDAgLjEyLjUxLjUuNSAwIDAgMCAuNTQuMTZsNi40Mi0yLjE0YS41Mi41MiAwIDAgMCAuMzMtLjM2LjQ5LjQ5IDAgMCAwLS4xNC0uNVpNMjMgMWEzLjYgMy42IDAgMCAwLTUgMGwtLjcxLjcxYS41LjUgMCAwIDAgMCAuNzFsNC4yOCA0LjI4YS41MS41MSAwIDAgMCAuNyAwTDIzIDZhMy41MyAzLjUzIDAgMCAwIDAtNVoiLz4KPC9zdmc+\"","import {ReactComponent as BoldIcon} from '../../assets/icons/kg-bold.svg';\nimport {ReactComponent as ItalicIcon} from '../../assets/icons/kg-italic.svg';\nimport {ReactComponent as HeadingOneIcon} from '../../assets/icons/kg-heading-1.svg';\nimport {ReactComponent as HeadingTwoIcon} from '../../assets/icons/kg-heading-2.svg';\nimport {ReactComponent as QuoteIcon} from '../../assets/icons/kg-quote.svg';\nimport {ReactComponent as QuoteOneIcon} from '../../assets/icons/kg-quote-1.svg';\nimport {ReactComponent as QuoteTwoIcon} from '../../assets/icons/kg-quote-2.svg';\nimport {ReactComponent as LinkIcon} from '../../assets/icons/kg-link.svg';\nimport {ReactComponent as ImageRegularIcon} from '../../assets/icons/kg-img-regular.svg';\nimport {ReactComponent as ImageWideIcon} from '../../assets/icons/kg-img-wide.svg';\nimport {ReactComponent as ImageFullIcon} from '../../assets/icons/kg-img-full.svg';\nimport {ReactComponent as ImageReplaceIcon} from '../../assets/icons/kg-replace.svg';\nimport {ReactComponent as AddIcon} from '../../assets/icons/kg-add.svg';\nimport {ReactComponent as EditIcon} from '../../assets/icons/kg-edit.svg';\nimport {ReactComponent as SnippetIcon} from '../../assets/icons/kg-snippet.svg';\n\nexport const TOOLBAR_ICONS = {\n bold: BoldIcon,\n italic: ItalicIcon,\n headingOne: HeadingOneIcon,\n headingTwo: HeadingTwoIcon,\n quote: QuoteIcon,\n quoteOne: QuoteOneIcon,\n quoteTwo: QuoteTwoIcon,\n link: LinkIcon,\n imageRegular: ImageRegularIcon,\n imageWide: ImageWideIcon,\n imageFull: ImageFullIcon,\n imageReplace: ImageReplaceIcon,\n add: AddIcon,\n edit: EditIcon,\n snippet: SnippetIcon\n};\n\nexport function ToolbarMenu({children, ...props}) {\n return (\n <ul className=\"m-0 relative flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white after:absolute after:top-[36px] after:left-[calc(50%-8px)] after:w-0 after:border-t-8 after:border-t-black after:border-x-8 after:border-x-transparent\" {...props}>\n {children}\n </ul>\n );\n}\n\nexport function ToolbarMenuItem({label, isActive, onClick, icon, ...props}) {\n const Icon = TOOLBAR_ICONS[icon];\n\n return (\n <li className=\"m-0 flex p-0 first:m-0\" {...props}>\n <button\n type=\"button\"\n className=\"flex h-9 w-9 items-center justify-center\"\n onClick={onClick}\n aria-label={label}\n data-kg-active={isActive}\n >\n <Icon className={isActive ? 'fill-green' : 'fill-white'} />\n </button>\n </li>\n );\n}\n\nexport function ToolbarMenuSeparator() {\n return (\n <li className=\"m-0 mx-1 h-5 w-px bg-grey-900\"></li>\n );\n}\n","import React from 'react';\n\nexport function ActionToolbar({isVisible, children, ...props}) {\n if (isVisible) {\n return (\n <div className=\"not-kg-prose absolute top-[-44px] left-1/2 -translate-x-1/2 z-[1000]\" {...props}>\n {children}\n </div>\n );\n }\n}\n","// gets image dimensions from a given Url\n\nexport async function getImageDimensions(url) {\n const img = new Image();\n img.src = url;\n return new Promise((resolve, reject) => {\n img.onload = () => {\n resolve({width: img.naturalWidth, height: img.naturalHeight});\n };\n img.onerror = reject;\n });\n}\n","import {$getNodeByKey} from 'lexical';\nimport {getImageDimensions} from './getImageDimensions';\n\nexport const imageUploadHandler = async (files, nodeKey, editor, imageUploader) => {\n if (!files) {\n return;\n }\n let url = URL.createObjectURL(files[0]);\n if (url) {\n await editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setPreviewSrc(url);\n });\n }\n const {width, height} = await getImageDimensions(url);\n const fileSrc = await imageUploader.imageUploader(files);\n await editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setImgWidth(width);\n node.setImgHeight(height);\n node.setSrc(fileSrc.src);\n });\n return;\n};\n","import React from 'react';\nimport {$getNodeByKey} from 'lexical';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport CardContext from '../context/CardContext';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport {ImageCard} from '../components/ui/cards/ImageCard';\nimport {ToolbarMenu, ToolbarMenuItem, ToolbarMenuSeparator} from '../components/ui/ToolbarMenu';\nimport {ActionToolbar} from '../components/ui/ActionToolbar';\nimport {ImageUploadForm} from '../components/ui/ImageUploadForm';\nimport {openFileSelection} from '../utils/openFileSelection';\nimport {imageUploadHandler} from '../utils/imageUploadHandler';\n\nexport function ImageNodeComponent({nodeKey, src, altText, caption, triggerFileDialog, previewSrc}) {\n const [editor] = useLexicalComposerContext();\n const [dragOver, setDragOver] = React.useState(false);\n const {imageUploader} = React.useContext(KoenigComposerContext);\n const {isSelected, cardWidth, setCardWidth} = React.useContext(CardContext);\n const fileInputRef = React.useRef();\n const toolbarFileInputRef = React.useRef();\n\n const onFileChange = async (e) => {\n const fls = e.target.files;\n return await imageUploadHandler(fls, nodeKey, editor, imageUploader);\n };\n\n const setCaption = (newCaption) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCaption(newCaption);\n });\n };\n\n const setAltText = (newAltText) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setAltText(newAltText);\n });\n };\n\n // when card is inserted from the card menu or slash command we want to show the file picker immediately\n // uses a setTimeout to avoid issues with React rendering the component twice in dev mode 🙈\n React.useEffect(() => {\n if (!triggerFileDialog) {\n return;\n }\n\n const renderTimeout = setTimeout(() => {\n // trigger dialog\n openFileSelection({fileInputRef});\n\n // clear the property on the node so we don't accidentally trigger anything with a re-render\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setTriggerFileDialog(false);\n });\n });\n\n return (() => {\n clearTimeout(renderTimeout);\n });\n });\n\n const handleImageCardResize = (newWidth) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCardWidth(newWidth); // this is a property on the node, not the card\n setCardWidth(newWidth); // sets the state of the toolbar component\n });\n };\n\n const handleDrag = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.type === 'dragenter' || e.type === 'dragover') {\n setDragOver(true);\n } else if (e.type === 'dragleave') {\n setDragOver(false);\n }\n return;\n };\n\n const handleDrop = async (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.dataTransfer.files && e.dataTransfer.files[0]) {\n const fls = e.dataTransfer.files;\n if (fls) {\n setDragOver(false);\n await imageUploadHandler(fls, nodeKey, editor, imageUploader);\n }\n }\n };\n\n const uploadProgress = imageUploader?.uploadProgress || 0;\n\n return (\n <>\n <ImageCard\n isSelected={isSelected}\n fileInputRef={fileInputRef}\n onFileChange={onFileChange}\n src={src}\n altText={altText}\n setAltText={setAltText}\n caption={caption}\n setCaption={setCaption}\n handleDrag={handleDrag}\n handleDrop={handleDrop}\n isDraggedOver={dragOver}\n cardWidth={cardWidth}\n previewSrc={previewSrc}\n uploadProgress={uploadProgress}\n />\n <ActionToolbar\n isVisible={src && isSelected}\n data-kg-card-toolbar=\"image\"\n >\n <ImageUploadForm\n onFileChange={onFileChange}\n fileInputRef={toolbarFileInputRef}\n />\n <ToolbarMenu>\n <ToolbarMenuItem label=\"Regular\" icon=\"imageRegular\" isActive={cardWidth === 'regular' ? true : false} onClick={() => handleImageCardResize('regular')} />\n <ToolbarMenuItem label=\"Wide\" icon=\"imageWide\" isActive={cardWidth === 'wide' ? true : false} onClick={() => handleImageCardResize('wide')}/>\n <ToolbarMenuItem label=\"Full\" icon=\"imageFull\" isActive={cardWidth === 'full' ? true : false} onClick={() => handleImageCardResize('full')} />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Link\" icon=\"link\" isActive={false} />\n <ToolbarMenuItem label=\"Replace\" icon=\"imageReplace\" isActive={false} onClick={() => openFileSelection({fileInputRef: toolbarFileInputRef})} />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Snippet\" icon=\"snippet\" isActive={false} />\n </ToolbarMenu>\n </ActionToolbar>\n </>\n );\n}\n","import React from 'react';\nimport {ImageNode as BaseImageNode, INSERT_IMAGE_COMMAND} from '@tryghost/kg-default-nodes';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {ReactComponent as ImageCardIcon} from '../assets/icons/kg-card-type-image.svg';\nimport {ReactComponent as UnsplashIcon} from '../assets/icons/kg-card-type-unsplash.svg';\nimport {ImageNodeComponent} from './ImageNodeComponent';\n\n// re-export here so we don't need to import from multiple places throughout the app\nexport {INSERT_IMAGE_COMMAND} from '@tryghost/kg-default-nodes';\n\nexport class ImageNode extends BaseImageNode {\n // transient properties used to control node behaviour\n __triggerFileDialog = false;\n __previewSrc = null;\n\n static kgMenu = [{\n label: 'Image',\n desc: 'Upload, or embed with /image [url]',\n Icon: ImageCardIcon,\n insertCommand: INSERT_IMAGE_COMMAND,\n insertParams: {\n triggerFileDialog: true\n },\n matches: ['image', 'img'],\n queryParams: ['src']\n },\n {\n section: 'Embed',\n label: 'Unsplash',\n desc: '/unsplash [search term or url]',\n Icon: UnsplashIcon,\n insertCommand: INSERT_IMAGE_COMMAND,\n insertParams: {\n triggerFileDialog: false,\n triggerFileSelector: 'unsplash'\n },\n matches: ['unsplash', 'uns'],\n queryParams: ['src']\n }];\n\n constructor(dataset = {}, key) {\n super(dataset, key);\n\n const {previewSrc, triggerFileDialog} = dataset;\n\n this.__previewSrc = previewSrc || '';\n // don't trigger the file dialog when rendering if we've already been given a url\n this.__triggerFileDialog = (!dataset.src && triggerFileDialog) || false;\n }\n\n getDataset() {\n const dataset = super.getDataset();\n\n dataset.__previewSrc = this.__previewSrc;\n dataset.__triggerFileDialog = this.__triggerFileDialog;\n\n return dataset;\n }\n\n getPreviewSrc() {\n return this.__previewSrc;\n }\n\n setPreviewSrc(previewSrc) {\n const writable = this.getWritable();\n return writable.__previewSrc = previewSrc;\n }\n\n setTriggerFileDialog(shouldTrigger) {\n const writable = this.getWritable();\n return writable.__triggerFileDialog = shouldTrigger;\n }\n\n createDOM() {\n return document.createElement('div');\n }\n\n decorate() {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()} width={this.__cardWidth}>\n <ImageNodeComponent\n nodeKey={this.getKey()}\n src={this.__src}\n altText={this.__altText}\n caption={this.__caption}\n triggerFileDialog={this.__triggerFileDialog}\n previewSrc={this.getPreviewSrc()}\n />\n </KoenigCardWrapper>\n );\n }\n}\n\nexport const $createImageNode = (dataset) => {\n return new ImageNode(dataset);\n};\n\nexport function $isImageNode(node) {\n return node instanceof ImageNode;\n}\n","import {ListItemNode, ListNode} from '@lexical/list';\nimport {HeadingNode, QuoteNode} from '@lexical/rich-text';\nimport {LinkNode} from '@lexical/link';\nimport {AsideNode} from './AsideNode';\nimport {HorizontalRuleNode} from './HorizontalRuleNode';\nimport {CodeBlockNode} from './CodeBlockNode';\nimport {ImageNode} from './ImageNode';\n\nconst DEFAULT_NODES = [\n HeadingNode,\n ListNode,\n ListItemNode,\n QuoteNode,\n AsideNode,\n LinkNode,\n CodeBlockNode,\n HorizontalRuleNode,\n ImageNode\n];\n\nexport default DEFAULT_NODES;\n","const defaultTheme = {\n paragraph: undefined,\n heading: {\n h1: undefined,\n h2: undefined,\n h3: undefined,\n h4: undefined,\n h5: undefined,\n h6: undefined\n },\n quote: undefined,\n aside: undefined,\n list: {\n nested: {\n listitem: '!list-none'\n },\n ol: undefined,\n ul: undefined,\n listitem: undefined\n },\n link: undefined,\n text: {\n bold: undefined,\n italic: 'italic',\n overflowed: undefined,\n hashtag: undefined,\n underline: undefined,\n strikethrough: undefined,\n underlinestrikethrough: undefined,\n code: undefined\n },\n code: undefined\n};\n\nexport default defaultTheme;\n","import React from 'react';\nimport {LexicalComposer} from '@lexical/react/LexicalComposer';\nimport DEFAULT_NODES from '../nodes/DefaultNodes';\nimport defaultTheme from '../themes/default';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\n\n// Catch any errors that occur during Lexical updates and log them\n// or throw them as needed. If you don't throw them, Lexical will\n// try to recover gracefully without losing user data.\nfunction defaultOnError(error) {\n console.error(error); // eslint-disable-line\n}\n\nconst defaultConfig = {\n namespace: 'KoenigEditor',\n theme: defaultTheme\n};\n\nconst KoenigComposer = ({\n initialEditorState,\n nodes = [...DEFAULT_NODES],\n onError = defaultOnError,\n imageUploadFunction,\n unsplashConfig,\n children\n}) => {\n const initialConfig = React.useMemo(() => {\n return Object.assign({}, defaultConfig, {\n nodes,\n editorState: initialEditorState,\n onError\n });\n }, [initialEditorState, nodes, onError]);\n\n const editorContainerRef = React.useRef(null);\n\n const imageUploader = imageUploadFunction || function () {\n console.error('requires imageUploadFunction to be passed to KoenigComposer component, eg <KoenigComposer imageUploadFunction={function} />'); // eslint-disable-line no-console\n return;\n };\n\n const unsplashConf = unsplashConfig || function () {\n console.error('requires unsplashConfig to be passed to KoenigComposer component, eg <KoenigComposer unsplashConfig={config} />'); // eslint-disable-line no-console\n return;\n };\n\n return (\n <LexicalComposer initialConfig={initialConfig}>\n <KoenigComposerContext.Provider value={{imageUploader, editorContainerRef, unsplashConf}}>\n {children}\n </KoenigComposerContext.Provider>\n </LexicalComposer>\n );\n};\n\nexport default KoenigComposer;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"lexical\");function r(c,e=!0){if(c)return!1;c=t();e&&(c=c.trim());return\"\"===c}function t(){return h.$getRoot().getTextContent()}function u(c,e){if(!e||!r(c,!1))return!1;c=h.$getRoot().getChildren();e=c.length;if(1<e)return!1;for(let f=0;f<e;f++){var b=c[f];if(h.$isElementNode(b)){if(\"paragraph\"!==b.__type||0!==b.__indent)return!1;b=b.getChildren();let n=b.length;for(let p=0;p<n;p++)if(!h.$isTextNode(b[f]))return!1}}return!0}exports.$canShowPlaceholder=u;\nexports.$canShowPlaceholderCurry=function(c,e){return()=>u(c,e)};exports.$findTextIntersectionFromCharacters=function(c,e){var b=c.getFirstChild();c=0;a:for(;null!==b;){if(h.$isElementNode(b)){var f=b.getFirstChild();if(null!==f){b=f;continue}}else if(h.$isTextNode(b)){f=b.getTextContentSize();if(c+f>e)return{node:b,offset:e-c};c+=f}f=b.getNextSibling();if(null!==f)b=f;else{for(b=b.getParent();null!==b;){f=b.getNextSibling();if(null!==f){b=f;continue a}b=b.getParent()}break}}return null};\nexports.$isRootTextContentEmpty=r;exports.$isRootTextContentEmptyCurry=function(c,e){return()=>r(c,e)};exports.$rootTextContent=t;\nexports.registerLexicalTextEntity=function(c,e,b,f){let n=a=>{const d=h.$createTextNode(a.getTextContent());d.setFormat(a.getFormat());a.replace(d)},p=c.registerNodeTransform(h.TextNode,a=>{if(a.isSimpleText()){var d=a.getPreviousSibling(),l=a.getTextContent(),m=a;if(h.$isTextNode(d)){var k=d.getTextContent(),g=e(k+l);if(d instanceof b){if(null===g||0!==d.getLatest().__mode){n(d);return}g=g.end-k.length;if(0<g){m=l.slice(0,g);m=k+m;d.select();d.setTextContent(m);g===l.length?a.remove():(d=l.slice(g),\na.setTextContent(d));return}}else if(null===g||g.start<k.length)return}for(;;){a=e(l);l=g=null===a?\"\":l.slice(a.end);if(\"\"===g){if(k=m.getNextSibling(),h.$isTextNode(k))if(g=m.getTextContent()+k.getTextContent(),g=e(g),null===g){k instanceof b?n(k):k.markDirty();break}else if(0!==g.start)break}else if(k=e(g),null!==k&&0===k.start)break;if(null===a)break;if(0===a.start&&h.$isTextNode(d)&&d.isTextEntity())continue;let q;0===a.start?[q,m]=m.splitText(a.end):[,q,m]=m.splitText(a.start,a.end);a=f(q);q.replace(a);\nif(null==m)break}}});c=c.registerNodeTransform(b,a=>{var d=a.getTextContent();const l=e(d);null===l||0!==l.start?n(a):d.length>l.end?a.splitText(l.end):(d=a.getPreviousSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),n(a)),d=a.getNextSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),a instanceof b&&n(a)))});return[p,c]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalText = process.env.NODE_ENV === 'development' ? require('./LexicalText.dev.js') : require('./LexicalText.prod.js')\nmodule.exports = LexicalText;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var g=require(\"lexical\");\nexports.registerDragonSupport=function(m){let t=window.location.origin,r=l=>{if(l.origin===t){var h=m.getRootElement();if(document.activeElement===h&&(h=l.data,\"string\"===typeof h)){try{var a=JSON.parse(h)}catch(k){return}if(a&&\"nuanria_messaging\"===a.protocol&&\"request\"===a.type&&(a=a.payload)&&\"makeChanges\"===a.functionId&&(a=a.args)){const [k,n,p,q,u]=a;m.update(()=>{const f=g.$getSelection();if(g.$isRangeSelection(f)){var e=f.anchor;let b=e.getNode(),c=0,d=0;g.$isTextNode(b)&&0<=k&&0<=n&&(c=k,\nd=k+n,f.setTextNodeRange(b,c,b,d));if(c!==d||\"\"!==p)f.insertRawText(p),b=e.getNode();g.$isTextNode(b)&&(c=q,d=q+u,e=b.getTextContentSize(),c=c>e?e:c,d=d>e?e:d,f.setTextNodeRange(b,c,b,d));l.stopImmediatePropagation()}})}}}};window.addEventListener(\"message\",r,!0);return()=>{window.removeEventListener(\"message\",r,!0)}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalDragon = process.env.NODE_ENV === 'development' ? require('./LexicalDragon.dev.js') : require('./LexicalDragon.prod.js')\nmodule.exports = LexicalDragon;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=require(\"@lexical/react/LexicalComposerContext\"),h=require(\"react\"),l=require(\"@lexical/text\"),m=require(\"@lexical/utils\"),n=require(\"react-dom\"),q=require(\"@lexical/dragon\"),r=require(\"@lexical/rich-text\"),t=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?h.useLayoutEffect:h.useEffect;function u(a){return a.getEditorState().read(l.$canShowPlaceholderCurry(a.isComposing(),a.isEditable()))}\nfunction v(a){let [f,d]=h.useState(()=>u(a));t(()=>{function c(){let e=u(a);d(e)}c();return m.mergeRegister(a.registerUpdateListener(()=>{c()}),a.registerEditableListener(()=>{c()}))},[a]);return f}\nfunction w(a,f){let [d,c]=h.useState(()=>a.getDecorators());t(()=>a.registerDecoratorListener(e=>{n.flushSync(()=>{c(e)})}),[a]);h.useEffect(()=>{c(a.getDecorators())},[a]);return h.useMemo(()=>{let e=[],p=Object.keys(d);for(let k=0;k<p.length;k++){var g=p[k];let y=h.createElement(f,{onError:x=>a._onError(x)},h.createElement(h.Suspense,{fallback:null},d[g]));g=a.getElementByKey(g);null!==g&&e.push(n.createPortal(y,g))}return e},[f,d,a])}\nfunction z(a){t(()=>m.mergeRegister(r.registerRichText(a),q.registerDragonSupport(a)),[a])}exports.RichTextPlugin=function({contentEditable:a,placeholder:f,ErrorBoundary:d}){let [c]=b.useLexicalComposerContext(),e=v(c);d=w(c,d);z(c);return h.createElement(h.Fragment,null,a,e&&f,d)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalRichTextPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalRichTextPlugin.dev.js') : require('./LexicalRichTextPlugin.prod.js')\nmodule.exports = LexicalRichTextPlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"react\");function m(b,c){m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(g,a){g.__proto__=a;return g};return m(b,c)}function n(b,c){b.prototype=Object.create(c.prototype);b.prototype.constructor=b;m(b,c)}function r(b,c){void 0===b&&(b=[]);void 0===c&&(c=[]);return b.length!==c.length||b.some(function(g,a){return!Object.is(g,c[a])})}\nvar t={error:null},u=function(b){function c(){for(var a,d=arguments.length,f=Array(d),e=0;e<d;e++)f[e]=arguments[e];a=b.call.apply(b,[this].concat(f))||this;a.state=t;a.resetErrorBoundary=function(){for(var k,p=arguments.length,q=Array(p),l=0;l<p;l++)q[l]=arguments[l];null==a.props.onReset?void 0:(k=a.props).onReset.apply(k,q);a.reset()};return a}n(c,b);c.getDerivedStateFromError=function(a){return{error:a}};var g=c.prototype;g.reset=function(){this.setState(t)};g.componentDidCatch=function(a,d){var f,\ne;null==(f=(e=this.props).onError)?void 0:f.call(e,a,d)};g.componentDidUpdate=function(a,d){var f=this.props.resetKeys;if(null!==this.state.error&&null!==d.error&&r(a.resetKeys,f)){var e,k;null==(e=(k=this.props).onResetKeysChange)?void 0:e.call(k,a.resetKeys,f);this.reset()}};g.render=function(){var a=this.state.error,d=this.props,f=d.fallbackRender,e=d.FallbackComponent;d=d.fallback;if(null!==a){a={error:a,resetErrorBoundary:this.resetErrorBoundary};if(h.isValidElement(d))return d;if(\"function\"===\ntypeof f)return f(a);if(e)return h.createElement(e,a);throw Error(\"react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop\");}return this.props.children};return c}(h.Component);module.exports=function({children:b,onError:c}){return h.createElement(u,{fallback:h.createElement(\"div\",{style:{border:\"1px solid #f00\",color:\"#f00\",padding:\"8px\"}},\"An error was thrown.\"),onError:c},b)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalErrorBoundary = process.env.NODE_ENV === 'development' ? require('./LexicalErrorBoundary.dev.js') : require('./LexicalErrorBoundary.prod.js')\nmodule.exports = LexicalErrorBoundary;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=require(\"@lexical/react/LexicalComposerContext\"),k=require(\"react\"),l=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?k.useLayoutEffect:k.useEffect;\nexports.ContentEditable=function({ariaActiveDescendantID:m,ariaAutoComplete:n,ariaControls:p,ariaDescribedBy:q,ariaExpanded:r,ariaLabel:t,ariaLabelledBy:u,ariaMultiline:v,ariaOwneeID:w,ariaRequired:x,autoCapitalize:e,autoComplete:y,autoCorrect:f,className:z,id:A,role:g=\"textbox\",spellCheck:B=!0,style:C,tabIndex:D,testid:E}){let [c]=b.useLexicalComposerContext(),[a,h]=k.useState(!1),F=k.useCallback(d=>{c.setRootElement(d)},[c]);l(()=>{h(c.isEditable());return c.registerEditableListener(d=>{h(d)})},\n[c]);return k.createElement(\"div\",{\"aria-activedescendant\":a?m:null,\"aria-autocomplete\":a?n:null,\"aria-controls\":a?p:null,\"aria-describedby\":q,\"aria-expanded\":a?\"combobox\"===g?!!r:null:null,\"aria-label\":t,\"aria-labelledby\":u,\"aria-multiline\":v,\"aria-owns\":a?w:null,\"aria-required\":x,autoCapitalize:void 0!==e?String(e):void 0,autoComplete:y,autoCorrect:void 0!==f?String(f):void 0,className:z,contentEditable:a,\"data-testid\":E,id:A,ref:F,role:a?g:void 0,spellCheck:B,style:C,tabIndex:D})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalContentEditable = process.env.NODE_ENV === 'development' ? require('./LexicalContentEditable.dev.js') : require('./LexicalContentEditable.prod.js')\nmodule.exports = LexicalContentEditable;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var d=require(\"@lexical/utils\"),u=require(\"lexical\");\nfunction v(b,a,m,k,p){if(null===b||0===m.size&&0===k.size&&!p)return 0;var f=a._selection,c=b._selection;if(p)return 1;if(!(u.$isRangeSelection(f)&&u.$isRangeSelection(c)&&c.isCollapsed()&&f.isCollapsed()))return 0;p=a._nodeMap;let e=[];for(let g of m)m=p.get(g),void 0!==m&&e.push(m);for(let [g,n]of k)n&&(k=p.get(g),void 0===k||u.$isRootNode(k)||e.push(k));if(0===e.length)return 0;if(1<e.length)return k=a._nodeMap,a=k.get(f.anchor.key),c=k.get(c.anchor.key),a&&c&&!b._nodeMap.has(a.__key)&&u.$isTextNode(a)&&\n1===a.__text.length&&1===f.anchor.offset?2:0;a=e[0];b=b._nodeMap.get(a.__key);if(!u.$isTextNode(b)||!u.$isTextNode(a)||b.__mode!==a.__mode)return 0;b=b.__text;a=a.__text;if(b===a)return 0;f=f.anchor;c=c.anchor;if(f.key!==c.key||\"text\"!==f.type)return 0;f=f.offset;c=c.offset;b=a.length-b.length;return 1===b&&c===f-1?2:-1===b&&c===f+1?3:-1===b&&c===f?4:0}\nfunction w(b,a){let m=Date.now(),k=0;return(p,f,c,e,g,n)=>{let r=Date.now();if(n.has(\"historic\"))return k=0,m=r,2;let q=v(p,f,e,g,b.isComposing()),t=(()=>{var l=null===c||c.editor===b,h=n.has(\"history-push\");if(!h&&l&&n.has(\"history-merge\"))return 0;if(null===p)return 1;const x=f._selection,y=p._selection;return 0<e.size||0<g.size?!1===h&&0!==q&&q===k&&r<m+a&&l||1===e.size&&(h=Array.from(e)[0],l=p._nodeMap.get(h),h=f._nodeMap.get(h),l=u.$isTextNode(l)&&u.$isTextNode(h)?l.__type===h.__type&&l.__text===\nh.__text&&l.__mode===h.__mode&&l.__detail===h.__detail&&l.__style===h.__style&&l.__format===h.__format&&l.__parent===h.__parent:!1,l)?0:1:null===y&&null!==x?0:2})();m=r;k=q;return t}}exports.createEmptyHistoryState=function(){return{current:null,redoStack:[],undoStack:[]}};\nexports.registerHistory=function(b,a,m){let k=w(b,m);m=({editorState:c,prevEditorState:e,dirtyLeaves:g,dirtyElements:n,tags:r})=>{const q=a.current,t=a.redoStack,l=a.undoStack,h=null===q?null:q.editorState;if(null===q||c!==h){g=k(e,c,q,g,n,r);if(1===g)0!==t.length&&(a.redoStack=[]),null!==q&&(l.push({...q,undoSelection:e.read(u.$getSelection)}),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));else if(2===g)return;a.current={editor:b,editorState:c}}};let p=d.mergeRegister(b.registerCommand(u.UNDO_COMMAND,\n()=>{let c=a.redoStack,e=a.undoStack;if(0!==e.length){let g=a.current,n=e.pop();null!==g&&(c.push(g),b.dispatchCommand(u.CAN_REDO_COMMAND,!0));0===e.length&&b.dispatchCommand(u.CAN_UNDO_COMMAND,!1);a.current=n||null;n&&n.editor.setEditorState(n.editorState.clone(n.undoSelection),{tag:\"historic\"})}return!0},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.REDO_COMMAND,()=>{let c=a.redoStack;var e=a.undoStack;if(0!==c.length){let g=a.current;null!==g&&(e.push(g),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));\ne=c.pop();0===c.length&&b.dispatchCommand(u.CAN_REDO_COMMAND,!1);a.current=e||null;e&&e.editor.setEditorState(e.editorState,{tag:\"historic\"})}return!0},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.CLEAR_EDITOR_COMMAND,()=>{a.undoStack=[];a.redoStack=[];a.current=null;return!1},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.CLEAR_HISTORY_COMMAND,()=>{a.undoStack=[];a.redoStack=[];a.current=null;b.dispatchCommand(u.CAN_REDO_COMMAND,!1);b.dispatchCommand(u.CAN_UNDO_COMMAND,!1);return!0},u.COMMAND_PRIORITY_EDITOR),\nb.registerUpdateListener(m)),f=b.registerUpdateListener(m);return()=>{p();f()}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHistory = process.env.NODE_ENV === 'development' ? require('./LexicalHistory.dev.js') : require('./LexicalHistory.prod.js')\nmodule.exports = LexicalHistory;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/react/LexicalComposerContext\"),history=require(\"@lexical/history\"),f=require(\"react\");function g(a,b,d=1E3){let e=f.useMemo(()=>b||history.createEmptyHistoryState(),[b]);f.useEffect(()=>history.registerHistory(a,e,d),[d,a,e])}exports.createEmptyHistoryState=history.createEmptyHistoryState;exports.HistoryPlugin=function({externalHistoryState:a}){let [b]=c.useLexicalComposerContext();g(b,a);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHistoryPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalHistoryPlugin.dev.js') : require('./LexicalHistoryPlugin.prod.js')\nmodule.exports = LexicalHistoryPlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/react/LexicalComposerContext\"),f=require(\"react\"),g=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?f.useLayoutEffect:f.useEffect;\nexports.OnChangePlugin=function({ignoreHistoryMergeTagChange:d=!0,ignoreSelectionChange:e=!1,onChange:a}){let [b]=c.useLexicalComposerContext();g(()=>{if(a)return b.registerUpdateListener(({editorState:h,dirtyElements:k,dirtyLeaves:l,prevEditorState:m,tags:n})=>{e&&0===k.size&&0===l.size||d&&n.has(\"history-merge\")||m.isEmpty()||a(h,b)})},[b,d,e,a]);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalOnChangePlugin = process.env.NODE_ENV === 'development' ? require('./LexicalOnChangePlugin.dev.js') : require('./LexicalOnChangePlugin.prod.js')\nmodule.exports = LexicalOnChangePlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=require(\"@lexical/list\"),c=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"react\"),e=require(\"@lexical/utils\"),f=require(\"lexical\");\nfunction g(a){d.useEffect(()=>e.mergeRegister(a.registerCommand(f.INDENT_CONTENT_COMMAND,()=>{b.indentList();return!1},f.COMMAND_PRIORITY_LOW),a.registerCommand(f.OUTDENT_CONTENT_COMMAND,()=>{b.outdentList();return!1},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.INSERT_ORDERED_LIST_COMMAND,()=>{b.insertList(a,\"number\");return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.INSERT_UNORDERED_LIST_COMMAND,()=>{b.insertList(a,\"bullet\");return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.REMOVE_LIST_COMMAND,\n()=>{b.removeList(a);return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(f.INSERT_PARAGRAPH_COMMAND,()=>b.$handleListInsertParagraph()?!0:!1,f.COMMAND_PRIORITY_LOW)),[a])}exports.ListPlugin=function(){let [a]=c.useLexicalComposerContext();d.useEffect(()=>{if(!a.hasNodes([b.ListNode,b.ListItemNode]))throw Error(\"ListPlugin: ListNode and/or ListItemNode not registered on editor\");},[a]);g(a);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalListPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalListPlugin.dev.js') : require('./LexicalListPlugin.prod.js')\nmodule.exports = LexicalListPlugin;","import {$isTextNode} from 'lexical';\n\nexport function $isAtStartOfDocument(selection) {\n let [selectedNode] = selection.getNodes();\n if ($isTextNode(selectedNode)) {\n selectedNode = selectedNode.getParent();\n }\n const selectedIndex = selectedNode.getIndexWithinParent();\n const selectedTopLevelIndex = selectedNode.getTopLevelElement()?.getIndexWithinParent();\n\n return selectedIndex === 0\n && selectedTopLevelIndex === 0\n && selection.anchor.offset === 0\n && selection.focus.offset === 0;\n}\n","import {\n $createNodeSelection,\n $setSelection\n} from 'lexical';\n\nexport function $selectDecoratorNode(node) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(node.getKey());\n $setSelection(nodeSelection);\n}\n","import React from 'react';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {\n $getSelection,\n $isDecoratorNode,\n $isElementNode,\n $isParagraphNode,\n $isNodeSelection,\n $isRangeSelection,\n $isTextNode,\n $setSelection,\n $createTextNode,\n $createParagraphNode,\n COMMAND_PRIORITY_HIGH,\n KEY_ARROW_DOWN_COMMAND,\n KEY_ARROW_UP_COMMAND,\n KEY_ARROW_LEFT_COMMAND,\n KEY_ARROW_RIGHT_COMMAND,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n KEY_TAB_COMMAND,\n PASTE_COMMAND,\n INSERT_PARAGRAPH_COMMAND\n} from 'lexical';\nimport {\n $isAtStartOfDocument,\n $selectDecoratorNode\n} from '../utils/';\nimport {$createLinkNode} from '@lexical/link';\nimport {mergeRegister} from '@lexical/utils';\nimport {$isListItemNode} from '@lexical/list';\n\nconst RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX = 10;\n\nfunction getTopLevelNativeElement(node) {\n if (node.nodeType === Node.TEXT_NODE) {\n node = node.parentNode;\n }\n\n const selector = '[data-lexical-editor] > *';\n return node.closest(selector);\n}\n\nfunction useKoenigBehaviour({editor, containerElem, cursorDidExitAtTop}) {\n // deselect cards on mousedown outside of the editor container\n React.useEffect(() => {\n const onMousedown = (event) => {\n if (!containerElem.current.contains(event.target)) {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n $setSelection(null);\n }\n });\n }\n };\n\n window.addEventListener('mousedown', onMousedown);\n\n return () => {\n window.removeEventListener('mousedown', onMousedown);\n };\n }, [editor, containerElem]);\n\n // Override built-in keyboard movement around card (DecoratorNode) boundaries,\n // cards should be selected on up/down and when deleting content around them.\n // Trigger `cursorDidExitAtTop` prop if present and cursor at beginning of doc\n React.useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n KEY_ARROW_UP_COMMAND,\n (event) => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n const currentNode = selection.getNodes()[0];\n const previousSibling = currentNode.getPreviousSibling();\n\n if (!previousSibling && cursorDidExitAtTop) {\n selection.clear();\n cursorDidExitAtTop();\n return true;\n }\n\n if ($isDecoratorNode(previousSibling)) {\n $selectDecoratorNode(previousSibling);\n return true;\n }\n }\n\n if ($isRangeSelection(selection)) {\n if (selection.isCollapsed) {\n const topLevelElement = selection.anchor.getNode().getTopLevelElement();\n const nativeSelection = window.getSelection();\n\n if (cursorDidExitAtTop && $isAtStartOfDocument(selection)) {\n cursorDidExitAtTop();\n return true;\n }\n\n // empty paragraphs are odd because the native range won't\n // have a rect to compare positioning\n const onEmptyNode =\n topLevelElement?.getTextContent().trim() === '' &&\n selection.anchor.offset === 0;\n\n const atStartOfElement =\n selection.anchor.offset === 0 &&\n selection.focus.offset === 0;\n\n if (onEmptyNode || atStartOfElement) {\n const previousSibling = topLevelElement.getPreviousSibling();\n if ($isDecoratorNode(previousSibling)) {\n $selectDecoratorNode(previousSibling);\n return true;\n }\n } else {\n const range = nativeSelection.getRangeAt(0).cloneRange();\n const rects = range.getClientRects();\n\n if (rects.length > 0) {\n // try second rect first because when the caret is at the beginning\n // of a line the first rect will be positioned on line above breaking\n // the top position check\n const rangeRect = rects[1] || rects[0];\n const nativeTopLevelElement = getTopLevelNativeElement(nativeSelection.anchorNode);\n const elemRect = nativeTopLevelElement.getBoundingClientRect();\n\n const atTopOfNode = Math.abs(rangeRect.top - elemRect.top) <= RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX;\n\n if (atTopOfNode) {\n const previousSibling = topLevelElement.getPreviousSibling();\n if ($isDecoratorNode(previousSibling)) {\n $selectDecoratorNode(previousSibling);\n return true;\n }\n }\n }\n }\n }\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_DOWN_COMMAND,\n () => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n const currentNode = selection.getNodes()[0];\n const nextSibling = currentNode.getNextSibling();\n\n if ($isDecoratorNode(nextSibling)) {\n $selectDecoratorNode(nextSibling);\n return true;\n }\n }\n\n if ($isRangeSelection(selection)) {\n if (selection.isCollapsed) {\n const topLevelElement = selection.anchor.getNode().getTopLevelElement();\n const nativeSelection = window.getSelection();\n const nativeTopLevelElement = getTopLevelNativeElement(nativeSelection.anchorNode);\n\n // empty paragraphs are odd because the native range won't\n // have a rect to compare positioning\n const onEmptyNode =\n topLevelElement?.getTextContent().trim() === '' &&\n selection.anchor.offset === 0;\n\n const atEndOfElement =\n nativeSelection.rangeCount !== 0 &&\n nativeSelection.anchorNode === nativeTopLevelElement &&\n nativeSelection.anchorOffset === nativeTopLevelElement.children.length - 1 &&\n nativeSelection.focusOffset === nativeTopLevelElement.children.length - 1;\n\n if (onEmptyNode || atEndOfElement) {\n const nextSibling = topLevelElement.getNextSibling();\n if ($isDecoratorNode(nextSibling)) {\n $selectDecoratorNode(nextSibling);\n return true;\n }\n } else {\n const range = nativeSelection.getRangeAt(0).cloneRange();\n const rects = range.getClientRects();\n\n if (rects.length > 0) {\n const rangeRect = rects[0];\n const elemRect = nativeTopLevelElement.getBoundingClientRect();\n\n if (Math.abs(rangeRect.bottom - elemRect.bottom) < RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX) {\n const nextSibling = topLevelElement.getNextSibling();\n if ($isDecoratorNode(nextSibling)) {\n $selectDecoratorNode(nextSibling);\n return true;\n }\n }\n }\n }\n }\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_LEFT_COMMAND,\n (event) => {\n const selection = $getSelection();\n\n if (cursorDidExitAtTop) {\n if ($isNodeSelection(selection)) {\n const currentNode = selection.getNodes()[0];\n const previousSibling = currentNode.getPreviousSibling();\n\n if (!previousSibling) {\n event.preventDefault();\n selection.clear();\n cursorDidExitAtTop?.();\n return true;\n }\n }\n\n if (selection.isCollapsed && $isAtStartOfDocument(selection)) {\n event.preventDefault();\n cursorDidExitAtTop();\n return true;\n }\n }\n\n if (!$isNodeSelection(selection)) {\n return false;\n }\n\n const firstNode = selection.getNodes()[0];\n const topLevelElement = firstNode.getTopLevelElement();\n const previousSibling = topLevelElement.getPreviousSibling();\n\n if ($isDecoratorNode(previousSibling)) {\n event.preventDefault();\n $selectDecoratorNode(previousSibling);\n return true;\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_RIGHT_COMMAND,\n (event) => {\n const selection = $getSelection();\n\n if (!$isNodeSelection(selection)) {\n return false;\n }\n\n const selectedNodes = selection.getNodes();\n const lastNode = selectedNodes[selectedNodes.length - 1];\n const topLevelElement = lastNode.getTopLevelElement();\n const nextSibling = topLevelElement.getNextSibling();\n\n if ($isDecoratorNode(nextSibling)) {\n event.preventDefault();\n $selectDecoratorNode(nextSibling);\n return true;\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_BACKSPACE_COMMAND,\n (event) => {\n const selection = $getSelection();\n\n // <KoenigCardWrapper> currently handles the behaviour for\n // backspace on a selected card\n if ($isNodeSelection(selection)) {\n return false;\n }\n\n if ($isRangeSelection(selection)) {\n if (selection.isCollapsed) {\n const anchor = selection.anchor;\n const anchorNode = anchor.getNode();\n const topLevelElement = anchorNode.getTopLevelElement();\n const previousSibling = topLevelElement.getPreviousSibling();\n\n const atStartOfElement =\n selection.anchor.offset === 0 &&\n selection.focus.offset === 0;\n\n // convert empty top level list items to paragraphs\n if (\n atStartOfElement &&\n $isListItemNode(anchorNode) &&\n anchorNode.getIndent() === 0 &&\n anchorNode.isEmpty()\n ) {\n event.preventDefault();\n editor.dispatchCommand(INSERT_PARAGRAPH_COMMAND);\n return true;\n }\n\n // delete empty paragraphs and select card if preceded by card\n if ($isParagraphNode(anchorNode) && anchorNode.isEmpty() && $isDecoratorNode(previousSibling)) {\n topLevelElement.remove();\n $selectDecoratorNode(previousSibling);\n return true;\n }\n\n // convert populated top level list items to paragraphs when cursor is at beginning\n if (atStartOfElement && $isListItemNode(anchorNode.getParent())) {\n const listItemNode = anchorNode.getParent();\n if (listItemNode.getIndent() === 0) {\n event.preventDefault();\n const paragraphNode = $createParagraphNode();\n paragraphNode.append(...listItemNode.getChildren());\n listItemNode.replace(paragraphNode);\n return true;\n }\n }\n\n // delete any previous card keeping caret in place\n if (atStartOfElement && $isDecoratorNode(previousSibling)) {\n event.preventDefault();\n previousSibling.remove();\n return true;\n }\n }\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_DELETE_COMMAND,\n (event) => {\n const selection = $getSelection();\n\n // <KoenigCardWrapper> currently handles the behaviour for\n // delete on a selected card\n if ($isNodeSelection(selection)) {\n return false;\n }\n\n if ($isRangeSelection(selection)) {\n if (selection.isCollapsed) {\n const anchor = selection.anchor;\n const anchorNode = anchor.getNode();\n const topLevelElement = anchorNode.getTopLevelElement();\n const nextSibling = topLevelElement.getNextSibling();\n\n const onEmptyNode =\n topLevelElement?.getTextContent().trim() === '' &&\n selection.anchor.offset === 0;\n\n if (onEmptyNode && $isDecoratorNode(nextSibling)) {\n // delete the empty node and select the previous card\n event.preventDefault();\n topLevelElement.remove();\n $selectDecoratorNode(nextSibling);\n return true;\n }\n\n const atEndOfNode = ((\n anchor.type === 'element' &&\n $isElementNode(anchorNode) &&\n anchor.offset === anchorNode.getChildrenSize()\n ) || (\n anchor.type === 'text' &&\n anchor.offset === anchorNode.getTextContentSize()\n ));\n\n if (atEndOfNode && $isDecoratorNode(nextSibling)) {\n // delete the card, keeping selection in place\n event.preventDefault();\n nextSibling.remove();\n return true;\n }\n }\n }\n\n return false;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_TAB_COMMAND,\n (event) => {\n if (event.shiftKey && cursorDidExitAtTop) {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n event.preventDefault();\n selection.clear();\n cursorDidExitAtTop();\n return true;\n }\n\n let nodes;\n if (selection.isCollapsed) {\n const anchorNode = selection.anchor.getNode();\n nodes = $isTextNode(anchorNode) ? [anchorNode.getParent()] : [anchorNode];\n } else {\n nodes = selection.getNodes();\n }\n\n const hasIndentedNode = nodes.some((node) => {\n return node.getIndent && node.getIndent() > 0;\n });\n\n if (hasIndentedNode) {\n return false;\n } else {\n event.preventDefault();\n cursorDidExitAtTop();\n return true;\n }\n }\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n PASTE_COMMAND,\n (clipboard) => {\n const clipboardDataset = clipboard?.clipboardData?.getData('text');\n const linkMatch = clipboardDataset?.match(/^(https?:\\/\\/[^\\s]+)$/); // replace with better regex to include more protocols like mailto, ftp, etc\n const selection = $getSelection();\n const selectionContent = selection.getTextContent();\n if (linkMatch && selectionContent.length > 0) {\n const link = linkMatch[1];\n if ($isRangeSelection(selection)) {\n const textNode = selection.extract()[0];\n const linkNode = $createLinkNode(link);\n const linkTextNode = $createTextNode(selectionContent);\n linkTextNode.setFormat(textNode.getFormat());\n linkNode.append(linkTextNode);\n textNode.replace(linkNode);\n }\n return true;\n }\n },\n COMMAND_PRIORITY_HIGH\n )\n );\n });\n\n return null;\n}\n\nexport default function KoenigBehaviourPlugin({containerElem = document.querySelector('.koenig-editor'), cursorDidExitAtTop}) {\n const [editor] = useLexicalComposerContext();\n return useKoenigBehaviour({editor, containerElem, cursorDidExitAtTop});\n}\n","\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\n/// <reference lib=\"WebWorker\"/>\n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t\t? self // if in worker\n\t\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\nvar Prism = (function (_self) {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t\t * additional languages or plugins yourself.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t\t *\n\t\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.manual = true;\n\t\t * // add a new <script> to load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tmanual: _self.Prism && _self.Prism.manual,\n\t\t/**\n\t\t * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses\n\t\t * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your\n\t\t * own worker, you don't want it to do this.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not add its own listeners to the worker.\n\t\t *\n\t\t * You obviously have to change this value before Prism executes. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.disableWorkerMessageHandler = true;\n\t\t * // Load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tdisableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the name of the type of the given value.\n\t\t\t *\n\t\t\t * @param {any} o\n\t\t\t * @returns {string}\n\t\t\t * @example\n\t\t\t * type(null) === 'Null'\n\t\t\t * type(undefined) === 'Undefined'\n\t\t\t * type(123) === 'Number'\n\t\t\t * type('foo') === 'String'\n\t\t\t * type(true) === 'Boolean'\n\t\t\t * type([1, 2]) === 'Array'\n\t\t\t * type({}) === 'Object'\n\t\t\t * type(String) === 'Function'\n\t\t\t * type(/abc+/) === 'RegExp'\n\t\t\t */\n\t\t\ttype: function (o) {\n\t\t\t\treturn Object.prototype.toString.call(o).slice(8, -1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns a unique number for the given object. Later calls will still return the same number.\n\t\t\t *\n\t\t\t * @param {Object} obj\n\t\t\t * @returns {number}\n\t\t\t */\n\t\t\tobjId: function (obj) {\n\t\t\t\tif (!obj['__id']) {\n\t\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t\t}\n\t\t\t\treturn obj['__id'];\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Creates a deep clone of the given object.\n\t\t\t *\n\t\t\t * The main intended use of this function is to clone language definitions.\n\t\t\t *\n\t\t\t * @param {T} o\n\t\t\t * @param {Record<number, any>} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record<string, any>} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar m = lang.exec(element.className);\n\t\t\t\t\tif (m) {\n\t\t\t\t\t\treturn m[1].toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Sets the Prism `language-xxxx` class of the given element.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} language\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tsetLanguage: function (element, language) {\n\t\t\t\t// remove all `language-xxxx` classes\n\t\t\t\t// (this might leave behind a leading space)\n\t\t\t\telement.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n\t\t\t\t// add the new `language-xxxx` class\n\t\t\t\t// (using `classList` will automatically clean up spaces for us)\n\t\t\t\telement.classList.add('language-' + language);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the script element that is currently executing.\n\t\t\t *\n\t\t\t * This does __not__ work for line script element.\n\t\t\t *\n\t\t\t * @returns {HTMLScriptElement | null}\n\t\t\t */\n\t\t\tcurrentScript: function () {\n\t\t\t\tif (typeof document === 'undefined') {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif ('currentScript' in document && 1 < 2 /* hack to trip TS' flow analysis */) {\n\t\t\t\t\treturn /** @type {any} */ (document.currentScript);\n\t\t\t\t}\n\n\t\t\t\t// IE11 workaround\n\t\t\t\t// we'll get the src of the current script by parsing IE11's error stack trace\n\t\t\t\t// this will not work for inline scripts\n\n\t\t\t\ttry {\n\t\t\t\t\tthrow new Error();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Get file src url from stack. Specifically works with the format of stack traces in IE.\n\t\t\t\t\t// A stack will look like this:\n\t\t\t\t\t//\n\t\t\t\t\t// Error\n\t\t\t\t\t// at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n\t\t\t\t\t// at Global code (http://localhost/components/prism-core.js:606:1)\n\n\t\t\t\t\tvar src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n\t\t\t\t\tif (src) {\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script');\n\t\t\t\t\t\tfor (var i in scripts) {\n\t\t\t\t\t\t\tif (scripts[i].src == src) {\n\t\t\t\t\t\t\t\treturn scripts[i];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n\t\t\t * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n\t\t\t * this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.markup.style = {\n\t\t\t * // token\n\t\t\t * };\n\t\t\t * ```\n\t\t\t *\n\t\t\t * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n\t\t\t * before existing tokens. For the CSS example above, you would use it like this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'cdata', {\n\t\t\t * 'style': {\n\t\t\t * // token\n\t\t\t * }\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Special cases\n\t\t\t *\n\t\t\t * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n\t\t\t * will be ignored.\n\t\t\t *\n\t\t\t * This behavior can be used to insert tokens after `before`:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'comment', {\n\t\t\t * 'comment': Prism.languages.markup.comment,\n\t\t\t * // tokens after 'comment'\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Limitations\n\t\t\t *\n\t\t\t * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n\t\t\t * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n\t\t\t * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n\t\t\t * deleting properties which is necessary to insert at arbitrary positions.\n\t\t\t *\n\t\t\t * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n\t\t\t * Instead, it will create a new object and replace all references to the target object with the new one. This\n\t\t\t * can be done without temporarily deleting properties, so the iteration order is well-defined.\n\t\t\t *\n\t\t\t * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n\t\t\t * you hold the target object in a variable, then the value of the variable will not change.\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * var oldMarkup = Prism.languages.markup;\n\t\t\t * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n\t\t\t *\n\t\t\t * assert(oldMarkup !== Prism.languages.markup);\n\t\t\t * assert(newMarkup === Prism.languages.markup);\n\t\t\t * ```\n\t\t\t *\n\t\t\t * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n\t\t\t * object to be modified.\n\t\t\t * @param {string} before The key to insert before.\n\t\t\t * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n\t\t\t * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n\t\t\t * object to be modified.\n\t\t\t *\n\t\t\t * Defaults to `Prism.languages`.\n\t\t\t * @returns {Grammar} The new grammar object.\n\t\t\t * @public\n\t\t\t */\n\t\t\tinsertBefore: function (inside, before, insert, root) {\n\t\t\t\troot = root || /** @type {any} */ (_.languages);\n\t\t\t\tvar grammar = root[inside];\n\t\t\t\t/** @type {Grammar} */\n\t\t\t\tvar ret = {};\n\n\t\t\t\tfor (var token in grammar) {\n\t\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\t\tif (token == before) {\n\t\t\t\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Do not insert token which also occur in insert. See #1525\n\t\t\t\t\t\tif (!insert.hasOwnProperty(token)) {\n\t\t\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar old = root[inside];\n\t\t\t\troot[inside] = ret;\n\n\t\t\t\t// Update references in other language definitions\n\t\t\t\t_.languages.DFS(_.languages, function (key, value) {\n\t\t\t\t\tif (value === old && key != inside) {\n\t\t\t\t\t\tthis[key] = ret;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn ret;\n\t\t\t},\n\n\t\t\t// Traverse a language definition with Depth First Search\n\t\t\tDFS: function DFS(o, callback, type, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar objId = _.util.objId;\n\n\t\t\t\tfor (var i in o) {\n\t\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\t\tvar property = o[i];\n\t\t\t\t\t\tvar propertyType = _.util.type(property);\n\n\t\t\t\t\t\tif (propertyType === 'Object' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, null, visited);\n\t\t\t\t\t\t} else if (propertyType === 'Array' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, i, visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tplugins: {},\n\n\t\t/**\n\t\t * This is the most high-level function in Prism’s API.\n\t\t * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n\t\t * each one of them.\n\t\t *\n\t\t * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n\t\t *\n\t\t * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAll: function (async, callback) {\n\t\t\t_.highlightAllUnder(document, async, callback);\n\t\t},\n\n\t\t/**\n\t\t * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n\t\t * {@link Prism.highlightElement} on each one of them.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-highlightall`\n\t\t * 2. `before-all-elements-highlight`\n\t\t * 3. All hooks of {@link Prism.highlightElement} for each element.\n\t\t *\n\t\t * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n\t\t * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAllUnder: function (container, async, callback) {\n\t\t\tvar env = {\n\t\t\t\tcallback: callback,\n\t\t\t\tcontainer: container,\n\t\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t\t};\n\n\t\t\t_.hooks.run('before-highlightall', env);\n\n\t\t\tenv.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n\t\t\t_.hooks.run('before-all-elements-highlight', env);\n\n\t\t\tfor (var i = 0, element; (element = env.elements[i++]);) {\n\t\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Highlights the code inside a single element.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-sanity-check`\n\t\t * 2. `before-highlight`\n\t\t * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.\n\t\t * 4. `before-insert`\n\t\t * 5. `after-highlight`\n\t\t * 6. `complete`\n\t\t *\n\t\t * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for\n\t\t * the element's language.\n\t\t *\n\t\t * @param {Element} element The element containing the code.\n\t\t * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n\t\t * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n\t\t * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n\t\t * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n\t\t *\n\t\t * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n\t\t * asynchronous highlighting to work. You can build your own bundle on the\n\t\t * [Download page](https://prismjs.com/download.html).\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n\t\t * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightElement: function (element, async, callback) {\n\t\t\t// Find language\n\t\t\tvar language = _.util.getLanguage(element);\n\t\t\tvar grammar = _.languages[language];\n\n\t\t\t// Set language on the element, if not present\n\t\t\t_.util.setLanguage(element, language);\n\n\t\t\t// Set language on the parent, for styling\n\t\t\tvar parent = element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre') {\n\t\t\t\t_.util.setLanguage(parent, language);\n\t\t\t}\n\n\t\t\tvar code = element.textContent;\n\n\t\t\tvar env = {\n\t\t\t\telement: element,\n\t\t\t\tlanguage: language,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tcode: code\n\t\t\t};\n\n\t\t\tfunction insertHighlightedCode(highlightedCode) {\n\t\t\t\tenv.highlightedCode = highlightedCode;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t}\n\n\t\t\t_.hooks.run('before-sanity-check', env);\n\n\t\t\t// plugins may change/add the parent/element\n\t\t\tparent = env.element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n\t\t\t\tparent.setAttribute('tabindex', '0');\n\t\t\t}\n\n\t\t\tif (!env.code) {\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_.hooks.run('before-highlight', env);\n\n\t\t\tif (!env.grammar) {\n\t\t\t\tinsertHighlightedCode(_.util.encode(env.code));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (async && _self.Worker) {\n\t\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\t\tworker.onmessage = function (evt) {\n\t\t\t\t\tinsertHighlightedCode(evt.data);\n\t\t\t\t};\n\n\t\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\t\tlanguage: env.language,\n\t\t\t\t\tcode: env.code,\n\t\t\t\t\timmediateClose: true\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tinsertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns a string with the HTML produced.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-tokenize`\n\t\t * 2. `after-tokenize`\n\t\t * 3. `wrap`: On each {@link Token}.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @param {string} language The name of the language definition passed to `grammar`.\n\t\t * @returns {string} The highlighted HTML.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n\t\t */\n\t\thighlight: function (text, grammar, language) {\n\t\t\tvar env = {\n\t\t\t\tcode: text,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tlanguage: language\n\t\t\t};\n\t\t\t_.hooks.run('before-tokenize', env);\n\t\t\tif (!env.grammar) {\n\t\t\t\tthrow new Error('The language \"' + env.language + '\" has no grammar.');\n\t\t\t}\n\t\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t\t_.hooks.run('after-tokenize', env);\n\t\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t\t},\n\n\t\t/**\n\t\t * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns an array with the tokenized code.\n\t\t *\n\t\t * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n\t\t *\n\t\t * This method could be useful in other contexts as well, as a very crude parser.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @returns {TokenStream} An array of strings and tokens, a token stream.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * let code = `var foo = 0;`;\n\t\t * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n\t\t * tokens.forEach(token => {\n\t\t * if (token instanceof Prism.Token && token.type === 'number') {\n\t\t * console.log(`Found numeric literal: ${token.content}`);\n\t\t * }\n\t\t * });\n\t\t */\n\t\ttokenize: function (text, grammar) {\n\t\t\tvar rest = grammar.rest;\n\t\t\tif (rest) {\n\t\t\t\tfor (var token in rest) {\n\t\t\t\t\tgrammar[token] = rest[token];\n\t\t\t\t}\n\n\t\t\t\tdelete grammar.rest;\n\t\t\t}\n\n\t\t\tvar tokenList = new LinkedList();\n\t\t\taddAfter(tokenList, tokenList.head, text);\n\n\t\t\tmatchGrammar(text, tokenList, grammar, tokenList.head, 0);\n\n\t\t\treturn toArray(tokenList);\n\t\t},\n\n\t\t/**\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thooks: {\n\t\t\tall: {},\n\n\t\t\t/**\n\t\t\t * Adds the given callback to the list of callbacks for the given hook.\n\t\t\t *\n\t\t\t * The callback will be invoked when the hook it is registered for is run.\n\t\t\t * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n\t\t\t *\n\t\t\t * One callback function can be registered to multiple hooks and the same hook multiple times.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {HookCallback} callback The callback function which is given environment variables.\n\t\t\t * @public\n\t\t\t */\n\t\t\tadd: function (name, callback) {\n\t\t\t\tvar hooks = _.hooks.all;\n\n\t\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\t\thooks[name].push(callback);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Runs a hook invoking all registered callbacks with the given environment variables.\n\t\t\t *\n\t\t\t * Callbacks will be invoked synchronously and in the order in which they were registered.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n\t\t\t * @public\n\t\t\t */\n\t\t\trun: function (name, env) {\n\t\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 0, callback; (callback = callbacks[i++]);) {\n\t\t\t\t\tcallback(env);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tToken: Token\n\t};\n\t_self.Prism = _;\n\n\n\t// Typescript note:\n\t// The following can be used to import the Token type in JSDoc:\n\t//\n\t// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n\t/**\n\t * Creates a new token.\n\t *\n\t * @param {string} type See {@link Token#type type}\n\t * @param {string | TokenStream} content See {@link Token#content content}\n\t * @param {string|string[]} [alias] The alias(es) of the token.\n\t * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n\t * @class\n\t * @global\n\t * @public\n\t */\n\tfunction Token(type, content, alias, matchedStr) {\n\t\t/**\n\t\t * The type of the token.\n\t\t *\n\t\t * This is usually the key of a pattern in a {@link Grammar}.\n\t\t *\n\t\t * @type {string}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.type = type;\n\t\t/**\n\t\t * The strings or tokens contained by this token.\n\t\t *\n\t\t * This will be a token stream if the pattern matched also defined an `inside` grammar.\n\t\t *\n\t\t * @type {string | TokenStream}\n\t\t * @public\n\t\t */\n\t\tthis.content = content;\n\t\t/**\n\t\t * The alias(es) of the token.\n\t\t *\n\t\t * @type {string|string[]}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.alias = alias;\n\t\t// Copy of the full string this token was created from\n\t\tthis.length = (matchedStr || '').length | 0;\n\t}\n\n\t/**\n\t * A token stream is an array of strings and {@link Token Token} objects.\n\t *\n\t * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n\t * them.\n\t *\n\t * 1. No adjacent strings.\n\t * 2. No empty strings.\n\t *\n\t * The only exception here is the token stream that only contains the empty string and nothing else.\n\t *\n\t * @typedef {Array<string | Token>} TokenStream\n\t * @global\n\t * @public\n\t */\n\n\t/**\n\t * Converts the given token or token stream to an HTML representation.\n\t *\n\t * The following hooks will be run:\n\t * 1. `wrap`: On each {@link Token}.\n\t *\n\t * @param {string | Token | TokenStream} o The token or token stream to be converted.\n\t * @param {string} language The name of current language.\n\t * @returns {string} The HTML representation of the token or token stream.\n\t * @memberof Token\n\t * @static\n\t */\n\tToken.stringify = function stringify(o, language) {\n\t\tif (typeof o == 'string') {\n\t\t\treturn o;\n\t\t}\n\t\tif (Array.isArray(o)) {\n\t\t\tvar s = '';\n\t\t\to.forEach(function (e) {\n\t\t\t\ts += stringify(e, language);\n\t\t\t});\n\t\t\treturn s;\n\t\t}\n\n\t\tvar env = {\n\t\t\ttype: o.type,\n\t\t\tcontent: stringify(o.content, language),\n\t\t\ttag: 'span',\n\t\t\tclasses: ['token', o.type],\n\t\t\tattributes: {},\n\t\t\tlanguage: language\n\t\t};\n\n\t\tvar aliases = o.alias;\n\t\tif (aliases) {\n\t\t\tif (Array.isArray(aliases)) {\n\t\t\t\tArray.prototype.push.apply(env.classes, aliases);\n\t\t\t} else {\n\t\t\t\tenv.classes.push(aliases);\n\t\t\t}\n\t\t}\n\n\t\t_.hooks.run('wrap', env);\n\n\t\tvar attributes = '';\n\t\tfor (var name in env.attributes) {\n\t\t\tattributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t\t}\n\n\t\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n\t};\n\n\t/**\n\t * @param {RegExp} pattern\n\t * @param {number} pos\n\t * @param {string} text\n\t * @param {boolean} lookbehind\n\t * @returns {RegExpExecArray | null}\n\t */\n\tfunction matchPattern(pattern, pos, text, lookbehind) {\n\t\tpattern.lastIndex = pos;\n\t\tvar match = pattern.exec(text);\n\t\tif (match && lookbehind && match[1]) {\n\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\tvar lookbehindLength = match[1].length;\n\t\t\tmatch.index += lookbehindLength;\n\t\t\tmatch[0] = match[0].slice(lookbehindLength);\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * @param {string} text\n\t * @param {LinkedList<string | Token>} tokenList\n\t * @param {any} grammar\n\t * @param {LinkedListNode<string | Token>} startNode\n\t * @param {number} startPos\n\t * @param {RematchOptions} [rematch]\n\t * @returns {void}\n\t * @private\n\t *\n\t * @typedef RematchOptions\n\t * @property {string} cause\n\t * @property {number} reach\n\t */\n\tfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n\t\tfor (var token in grammar) {\n\t\t\tif (!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = Array.isArray(patterns) ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tif (rematch && rematch.cause == token + ',' + j) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar patternObj = patterns[j];\n\t\t\t\tvar inside = patternObj.inside;\n\t\t\t\tvar lookbehind = !!patternObj.lookbehind;\n\t\t\t\tvar greedy = !!patternObj.greedy;\n\t\t\t\tvar alias = patternObj.alias;\n\n\t\t\t\tif (greedy && !patternObj.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n\t\t\t\t\tpatternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n\t\t\t\t}\n\n\t\t\t\t/** @type {RegExp} */\n\t\t\t\tvar pattern = patternObj.pattern || patternObj;\n\n\t\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\t\tvar currentNode = startNode.next, pos = startPos;\n\t\t\t\t\tcurrentNode !== tokenList.tail;\n\t\t\t\t\tpos += currentNode.value.length, currentNode = currentNode.next\n\t\t\t\t) {\n\n\t\t\t\t\tif (rematch && pos >= rematch.reach) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar str = currentNode.value;\n\n\t\t\t\t\tif (tokenList.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeCount = 1; // this is the to parameter of removeBetween\n\t\t\t\t\tvar match;\n\n\t\t\t\t\tif (greedy) {\n\t\t\t\t\t\tmatch = matchPattern(pattern, pos, text, lookbehind);\n\t\t\t\t\t\tif (!match || match.index >= text.length) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index;\n\t\t\t\t\t\tvar to = match.index + match[0].length;\n\t\t\t\t\t\tvar p = pos;\n\n\t\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\twhile (from >= p) {\n\t\t\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// adjust pos (and p)\n\t\t\t\t\t\tp -= currentNode.value.length;\n\t\t\t\t\t\tpos = p;\n\n\t\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (currentNode.value instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tvar k = currentNode;\n\t\t\t\t\t\t\tk !== tokenList.tail && (p < to || typeof k.value === 'string');\n\t\t\t\t\t\t\tk = k.next\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveCount++;\n\t\t\t\t\t\t\tp += k.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremoveCount--;\n\n\t\t\t\t\t\t// replace with the new match\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmatch = matchPattern(pattern, 0, str, lookbehind);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// eslint-disable-next-line no-redeclare\n\t\t\t\t\tvar from = match.index;\n\t\t\t\t\tvar matchStr = match[0];\n\t\t\t\t\tvar before = str.slice(0, from);\n\t\t\t\t\tvar after = str.slice(from + matchStr.length);\n\n\t\t\t\t\tvar reach = pos + str.length;\n\t\t\t\t\tif (rematch && reach > rematch.reach) {\n\t\t\t\t\t\trematch.reach = reach;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeFrom = currentNode.prev;\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\tremoveFrom = addAfter(tokenList, removeFrom, before);\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t}\n\n\t\t\t\t\tremoveRange(tokenList, removeFrom, removeCount);\n\n\t\t\t\t\tvar wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n\t\t\t\t\tcurrentNode = addAfter(tokenList, removeFrom, wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\taddAfter(tokenList, currentNode, after);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (removeCount > 1) {\n\t\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\t\t/** @type {RematchOptions} */\n\t\t\t\t\t\tvar nestedRematch = {\n\t\t\t\t\t\t\tcause: token + ',' + j,\n\t\t\t\t\t\t\treach: reach\n\t\t\t\t\t\t};\n\t\t\t\t\t\tmatchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n\n\t\t\t\t\t\t// the reach might have been extended because of the rematching\n\t\t\t\t\t\tif (rematch && nestedRematch.reach > rematch.reach) {\n\t\t\t\t\t\t\trematch.reach = nestedRematch.reach;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @typedef LinkedListNode\n\t * @property {T} value\n\t * @property {LinkedListNode<T> | null} prev The previous node.\n\t * @property {LinkedListNode<T> | null} next The next node.\n\t * @template T\n\t * @private\n\t */\n\n\t/**\n\t * @template T\n\t * @private\n\t */\n\tfunction LinkedList() {\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar head = { value: null, prev: null, next: null };\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar tail = { value: null, prev: head, next: null };\n\t\thead.next = tail;\n\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.head = head;\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.tail = tail;\n\t\tthis.length = 0;\n\t}\n\n\t/**\n\t * Adds a new node with the given value to the list.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {T} value\n\t * @returns {LinkedListNode<T>} The added node.\n\t * @template T\n\t */\n\tfunction addAfter(list, node, value) {\n\t\t// assumes that node != list.tail && values.length >= 0\n\t\tvar next = node.next;\n\n\t\tvar newNode = { value: value, prev: node, next: next };\n\t\tnode.next = newNode;\n\t\tnext.prev = newNode;\n\t\tlist.length++;\n\n\t\treturn newNode;\n\t}\n\t/**\n\t * Removes `count` nodes after the given node. The given node will not be removed.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {number} count\n\t * @template T\n\t */\n\tfunction removeRange(list, node, count) {\n\t\tvar next = node.next;\n\t\tfor (var i = 0; i < count && next !== list.tail; i++) {\n\t\t\tnext = next.next;\n\t\t}\n\t\tnode.next = next;\n\t\tnext.prev = node;\n\t\tlist.length -= i;\n\t}\n\t/**\n\t * @param {LinkedList<T>} list\n\t * @returns {T[]}\n\t * @template T\n\t */\n\tfunction toArray(list) {\n\t\tvar array = [];\n\t\tvar node = list.head.next;\n\t\twhile (node !== list.tail) {\n\t\t\tarray.push(node.value);\n\t\t\tnode = node.next;\n\t\t}\n\t\treturn array;\n\t}\n\n\n\tif (!_self.document) {\n\t\tif (!_self.addEventListener) {\n\t\t\t// in Node.js\n\t\t\treturn _;\n\t\t}\n\n\t\tif (!_.disableWorkerMessageHandler) {\n\t\t\t// In worker\n\t\t\t_self.addEventListener('message', function (evt) {\n\t\t\t\tvar message = JSON.parse(evt.data);\n\t\t\t\tvar lang = message.language;\n\t\t\t\tvar code = message.code;\n\t\t\t\tvar immediateClose = message.immediateClose;\n\n\t\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\t\tif (immediateClose) {\n\t\t\t\t\t_self.close();\n\t\t\t\t}\n\t\t\t}, false);\n\t\t}\n\n\t\treturn _;\n\t}\n\n\t// Get current script and highlight\n\tvar script = _.util.currentScript();\n\n\tif (script) {\n\t\t_.filename = script.src;\n\n\t\tif (script.hasAttribute('data-manual')) {\n\t\t\t_.manual = true;\n\t\t}\n\t}\n\n\tfunction highlightAutomaticallyCallback() {\n\t\tif (!_.manual) {\n\t\t\t_.highlightAll();\n\t\t}\n\t}\n\n\tif (!_.manual) {\n\t\t// If the document state is \"loading\", then we'll use DOMContentLoaded.\n\t\t// If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n\t\t// DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n\t\t// might take longer one animation frame to execute which can create a race condition where only some plugins have\n\t\t// been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n\t\t// See https://github.com/PrismJS/prism/issues/2102\n\t\tvar readyState = document.readyState;\n\t\tif (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n\t\t\tdocument.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n\t\t} else {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(highlightAutomaticallyCallback);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(highlightAutomaticallyCallback, 16);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn _;\n\n}(_self));\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n\tglobal.Prism = Prism;\n}\n\n// some additional documentation/types\n\n/**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n\n/**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n\n/**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n\n/**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n\n\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\nPrism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n\n\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\n(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n\n\n/* **********************************************\n Begin prism-clike.js\n********************************************** */\n\nPrism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\n\n/* **********************************************\n Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n\n\n/* **********************************************\n Begin prism-file-highlight.js\n********************************************** */\n\n(function () {\n\n\tif (typeof Prism === 'undefined' || typeof document === 'undefined') {\n\t\treturn;\n\t}\n\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\tif (!Element.prototype.matches) {\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\t}\n\n\tvar LOADING_MESSAGE = 'Loading…';\n\tvar FAILURE_MESSAGE = function (status, message) {\n\t\treturn '✖ Error ' + status + ' while fetching file: ' + message;\n\t};\n\tvar FAILURE_EMPTY_MESSAGE = '✖ Error: File does not exist or is empty';\n\n\tvar EXTENSIONS = {\n\t\t'js': 'javascript',\n\t\t'py': 'python',\n\t\t'rb': 'ruby',\n\t\t'ps1': 'powershell',\n\t\t'psm1': 'powershell',\n\t\t'sh': 'bash',\n\t\t'bat': 'batch',\n\t\t'h': 'c',\n\t\t'tex': 'latex'\n\t};\n\n\tvar STATUS_ATTR = 'data-src-status';\n\tvar STATUS_LOADING = 'loading';\n\tvar STATUS_LOADED = 'loaded';\n\tvar STATUS_FAILED = 'failed';\n\n\tvar SELECTOR = 'pre[data-src]:not([' + STATUS_ATTR + '=\"' + STATUS_LOADED + '\"])'\n\t\t+ ':not([' + STATUS_ATTR + '=\"' + STATUS_LOADING + '\"])';\n\n\t/**\n\t * Loads the given file.\n\t *\n\t * @param {string} src The URL or path of the source file to load.\n\t * @param {(result: string) => void} success\n\t * @param {(reason: string) => void} error\n\t */\n\tfunction loadFile(src, success, error) {\n\t\tvar xhr = new XMLHttpRequest();\n\t\txhr.open('GET', src, true);\n\t\txhr.onreadystatechange = function () {\n\t\t\tif (xhr.readyState == 4) {\n\t\t\t\tif (xhr.status < 400 && xhr.responseText) {\n\t\t\t\t\tsuccess(xhr.responseText);\n\t\t\t\t} else {\n\t\t\t\t\tif (xhr.status >= 400) {\n\t\t\t\t\t\terror(FAILURE_MESSAGE(xhr.status, xhr.statusText));\n\t\t\t\t\t} else {\n\t\t\t\t\t\terror(FAILURE_EMPTY_MESSAGE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\txhr.send(null);\n\t}\n\n\t/**\n\t * Parses the given range.\n\t *\n\t * This returns a range with inclusive ends.\n\t *\n\t * @param {string | null | undefined} range\n\t * @returns {[number, number | undefined] | undefined}\n\t */\n\tfunction parseRange(range) {\n\t\tvar m = /^\\s*(\\d+)\\s*(?:(,)\\s*(?:(\\d+)\\s*)?)?$/.exec(range || '');\n\t\tif (m) {\n\t\t\tvar start = Number(m[1]);\n\t\t\tvar comma = m[2];\n\t\t\tvar end = m[3];\n\n\t\t\tif (!comma) {\n\t\t\t\treturn [start, start];\n\t\t\t}\n\t\t\tif (!end) {\n\t\t\t\treturn [start, undefined];\n\t\t\t}\n\t\t\treturn [start, Number(end)];\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tPrism.hooks.add('before-highlightall', function (env) {\n\t\tenv.selector += ', ' + SELECTOR;\n\t});\n\n\tPrism.hooks.add('before-sanity-check', function (env) {\n\t\tvar pre = /** @type {HTMLPreElement} */ (env.element);\n\t\tif (pre.matches(SELECTOR)) {\n\t\t\tenv.code = ''; // fast-path the whole thing and go to complete\n\n\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADING); // mark as loading\n\n\t\t\t// add code element with loading message\n\t\t\tvar code = pre.appendChild(document.createElement('CODE'));\n\t\t\tcode.textContent = LOADING_MESSAGE;\n\n\t\t\tvar src = pre.getAttribute('data-src');\n\n\t\t\tvar language = env.language;\n\t\t\tif (language === 'none') {\n\t\t\t\t// the language might be 'none' because there is no language set;\n\t\t\t\t// in this case, we want to use the extension as the language\n\t\t\t\tvar extension = (/\\.(\\w+)$/.exec(src) || [, 'none'])[1];\n\t\t\t\tlanguage = EXTENSIONS[extension] || extension;\n\t\t\t}\n\n\t\t\t// set language classes\n\t\t\tPrism.util.setLanguage(code, language);\n\t\t\tPrism.util.setLanguage(pre, language);\n\n\t\t\t// preload the language\n\t\t\tvar autoloader = Prism.plugins.autoloader;\n\t\t\tif (autoloader) {\n\t\t\t\tautoloader.loadLanguages(language);\n\t\t\t}\n\n\t\t\t// load file\n\t\t\tloadFile(\n\t\t\t\tsrc,\n\t\t\t\tfunction (text) {\n\t\t\t\t\t// mark as loaded\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADED);\n\n\t\t\t\t\t// handle data-range\n\t\t\t\t\tvar range = parseRange(pre.getAttribute('data-range'));\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\tvar lines = text.split(/\\r\\n?|\\n/g);\n\n\t\t\t\t\t\t// the range is one-based and inclusive on both ends\n\t\t\t\t\t\tvar start = range[0];\n\t\t\t\t\t\tvar end = range[1] == null ? lines.length : range[1];\n\n\t\t\t\t\t\tif (start < 0) { start += lines.length; }\n\t\t\t\t\t\tstart = Math.max(0, Math.min(start - 1, lines.length));\n\t\t\t\t\t\tif (end < 0) { end += lines.length; }\n\t\t\t\t\t\tend = Math.max(0, Math.min(end, lines.length));\n\n\t\t\t\t\t\ttext = lines.slice(start, end).join('\\n');\n\n\t\t\t\t\t\t// add data-start for line numbers\n\t\t\t\t\t\tif (!pre.hasAttribute('data-start')) {\n\t\t\t\t\t\t\tpre.setAttribute('data-start', String(start + 1));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// highlight code\n\t\t\t\t\tcode.textContent = text;\n\t\t\t\t\tPrism.highlightElement(code);\n\t\t\t\t},\n\t\t\t\tfunction (error) {\n\t\t\t\t\t// mark as failed\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_FAILED);\n\n\t\t\t\t\tcode.textContent = error;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\n\tPrism.plugins.fileHighlight = {\n\t\t/**\n\t\t * Executes the File Highlight plugin for all matching `pre` elements under the given container.\n\t\t *\n\t\t * Note: Elements which are already loaded or currently loading will not be touched by this method.\n\t\t *\n\t\t * @param {ParentNode} [container=document]\n\t\t */\n\t\thighlight: function highlight(container) {\n\t\t\tvar elements = (container || document).querySelectorAll(SELECTOR);\n\n\t\t\tfor (var i = 0, element; (element = elements[i++]);) {\n\t\t\t\tPrism.highlightElement(element);\n\t\t\t}\n\t\t}\n\t};\n\n\tvar logged = false;\n\t/** @deprecated Use `Prism.plugins.fileHighlight.highlight` instead. */\n\tPrism.fileHighlight = function () {\n\t\tif (!logged) {\n\t\t\tconsole.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.');\n\t\t\tlogged = true;\n\t\t}\n\t\tPrism.plugins.fileHighlight.highlight.apply(this, arguments);\n\t};\n\n}());\n","Prism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n","Prism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n","Prism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n","(function (Prism) {\n\n\t// Allow only one line break\n\tvar inner = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n\n\t/**\n\t * This function is intended for the creation of the bold or italic pattern.\n\t *\n\t * This also adds a lookbehind group to the given pattern to ensure that the pattern is not backslash-escaped.\n\t *\n\t * _Note:_ Keep in mind that this adds a capturing group.\n\t *\n\t * @param {string} pattern\n\t * @returns {RegExp}\n\t */\n\tfunction createInline(pattern) {\n\t\tpattern = pattern.replace(/<inner>/g, function () { return inner; });\n\t\treturn RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + '(?:' + pattern + ')');\n\t}\n\n\n\tvar tableCell = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source;\n\tvar tableRow = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function () { return tableCell; });\n\tvar tableLine = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source;\n\n\n\tPrism.languages.markdown = Prism.languages.extend('markup', {});\n\tPrism.languages.insertBefore('markdown', 'prolog', {\n\t\t'front-matter-block': {\n\t\t\tpattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^---|---$/,\n\t\t\t\t'front-matter': {\n\t\t\t\t\tpattern: /\\S+(?:\\s+\\S+)*/,\n\t\t\t\t\talias: ['yaml', 'language-yaml'],\n\t\t\t\t\tinside: Prism.languages.yaml\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'blockquote': {\n\t\t\t// > ...\n\t\t\tpattern: /^>(?:[\\t ]*>)*/m,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'table': {\n\t\t\tpattern: RegExp('^' + tableRow + tableLine + '(?:' + tableRow + ')*', 'm'),\n\t\t\tinside: {\n\t\t\t\t'table-data-rows': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + tableLine + ')(?:' + tableRow + ')*$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-data': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-line': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + ')' + tableLine + '$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /\\||:?-{3,}:?/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-header-row': {\n\t\t\t\t\tpattern: RegExp('^' + tableRow + '$'),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-header': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\talias: 'important',\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'code': [\n\t\t\t{\n\t\t\t\t// Prefixed by 4 spaces or 1 tab and preceded by an empty line\n\t\t\t\tpattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// ```optional language\n\t\t\t\t// code block\n\t\t\t\t// ```\n\t\t\t\tpattern: /^```[\\s\\S]*?^```$/m,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'code-block': {\n\t\t\t\t\t\tpattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'code-language': {\n\t\t\t\t\t\tpattern: /^(```).+/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /```/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'title': [\n\t\t\t{\n\t\t\t\t// title 1\n\t\t\t\t// =======\n\n\t\t\t\t// title 2\n\t\t\t\t// -------\n\t\t\t\tpattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /==+$|--+$/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// # title 1\n\t\t\t\t// ###### title 6\n\t\t\t\tpattern: /(^\\s*)#.+/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /^#+|#+$/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'hr': {\n\t\t\t// ***\n\t\t\t// ---\n\t\t\t// * * *\n\t\t\t// -----------\n\t\t\tpattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'list': {\n\t\t\t// * item\n\t\t\t// + item\n\t\t\t// - item\n\t\t\t// 1. item\n\t\t\tpattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'url-reference': {\n\t\t\t// [id]: http://example.com \"Optional title\"\n\t\t\t// [id]: http://example.com 'Optional title'\n\t\t\t// [id]: http://example.com (Optional title)\n\t\t\t// [id]: <http://example.com> \"Optional title\"\n\t\t\tpattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n\t\t\tinside: {\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /^(!?\\[)[^\\]]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n\t\t\t\t'punctuation': /^[\\[\\]!:]|[<>]/\n\t\t\t},\n\t\t\talias: 'url'\n\t\t},\n\t\t'bold': {\n\t\t\t// **strong**\n\t\t\t// __strong__\n\n\t\t\t// allow one nested instance of italic text using the same delimiter\n\t\t\tpattern: createInline(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^..)[\\s\\S]+(?=..$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\*\\*|__/\n\t\t\t}\n\t\t},\n\t\t'italic': {\n\t\t\t// *em*\n\t\t\t// _em_\n\n\t\t\t// allow one nested instance of bold text using the same delimiter\n\t\t\tpattern: createInline(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^.)[\\s\\S]+(?=.$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /[*_]/\n\t\t\t}\n\t\t},\n\t\t'strike': {\n\t\t\t// ~~strike through~~\n\t\t\t// ~strike~\n\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\tpattern: createInline(/(~~?)(?:(?!~)<inner>)+\\2/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^~~?)[\\s\\S]+(?=\\1$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /~~?/\n\t\t\t}\n\t\t},\n\t\t'code-snippet': {\n\t\t\t// `code`\n\t\t\t// ``code``\n\t\t\tpattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: ['code', 'keyword']\n\t\t},\n\t\t'url': {\n\t\t\t// [example](http://example.com \"Optional title\")\n\t\t\t// [example][id]\n\t\t\t// [example] [id]\n\t\t\tpattern: createInline(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'operator': /^!/,\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^\\[)[^\\]]+(?=\\])/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'url': {\n\t\t\t\t\tpattern: /(^\\]\\()[^\\s)]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\t['url', 'bold', 'italic', 'strike'].forEach(function (token) {\n\t\t['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(function (inside) {\n\t\t\tif (token !== inside) {\n\t\t\t\tPrism.languages.markdown[token].inside.content.inside[inside] = Prism.languages.markdown[inside];\n\t\t\t}\n\t\t});\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tif (env.language !== 'markdown' && env.language !== 'md') {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction walkTokens(tokens) {\n\t\t\tif (!tokens || typeof tokens === 'string') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i = 0, l = tokens.length; i < l; i++) {\n\t\t\t\tvar token = tokens[i];\n\n\t\t\t\tif (token.type !== 'code') {\n\t\t\t\t\twalkTokens(token.content);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t/*\n\t\t\t\t * Add the correct `language-xxxx` class to this code block. Keep in mind that the `code-language` token\n\t\t\t\t * is optional. But the grammar is defined so that there is only one case we have to handle:\n\t\t\t\t *\n\t\t\t\t * token.content = [\n\t\t\t\t * <span class=\"punctuation\">```</span>,\n\t\t\t\t * <span class=\"code-language\">xxxx</span>,\n\t\t\t\t * '\\n', // exactly one new lines (\\r or \\n or \\r\\n)\n\t\t\t\t * <span class=\"code-block\">...</span>,\n\t\t\t\t * '\\n', // exactly one new lines again\n\t\t\t\t * <span class=\"punctuation\">```</span>\n\t\t\t\t * ];\n\t\t\t\t */\n\n\t\t\t\tvar codeLang = token.content[1];\n\t\t\t\tvar codeBlock = token.content[3];\n\n\t\t\t\tif (codeLang && codeBlock &&\n\t\t\t\t\tcodeLang.type === 'code-language' && codeBlock.type === 'code-block' &&\n\t\t\t\t\ttypeof codeLang.content === 'string') {\n\n\t\t\t\t\t// this might be a language that Prism does not support\n\n\t\t\t\t\t// do some replacements to support C++, C#, and F#\n\t\t\t\t\tvar lang = codeLang.content.replace(/\\b#/g, 'sharp').replace(/\\b\\+\\+/g, 'pp');\n\t\t\t\t\t// only use the first word\n\t\t\t\t\tlang = (/[a-z][\\w-]*/i.exec(lang) || [''])[0].toLowerCase();\n\t\t\t\t\tvar alias = 'language-' + lang;\n\n\t\t\t\t\t// add alias\n\t\t\t\t\tif (!codeBlock.alias) {\n\t\t\t\t\t\tcodeBlock.alias = [alias];\n\t\t\t\t\t} else if (typeof codeBlock.alias === 'string') {\n\t\t\t\t\t\tcodeBlock.alias = [codeBlock.alias, alias];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcodeBlock.alias.push(alias);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twalkTokens(env.tokens);\n\t});\n\n\tPrism.hooks.add('wrap', function (env) {\n\t\tif (env.type !== 'code-block') {\n\t\t\treturn;\n\t\t}\n\n\t\tvar codeLang = '';\n\t\tfor (var i = 0, l = env.classes.length; i < l; i++) {\n\t\t\tvar cls = env.classes[i];\n\t\t\tvar match = /language-(.+)/.exec(cls);\n\t\t\tif (match) {\n\t\t\t\tcodeLang = match[1];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tvar grammar = Prism.languages[codeLang];\n\n\t\tif (!grammar) {\n\t\t\tif (codeLang && codeLang !== 'none' && Prism.plugins.autoloader) {\n\t\t\t\tvar id = 'md-' + new Date().valueOf() + '-' + Math.floor(Math.random() * 1e16);\n\t\t\t\tenv.attributes['id'] = id;\n\n\t\t\t\tPrism.plugins.autoloader.loadLanguages(codeLang, function () {\n\t\t\t\t\tvar ele = document.getElementById(id);\n\t\t\t\t\tif (ele) {\n\t\t\t\t\t\tele.innerHTML = Prism.highlight(ele.textContent, Prism.languages[codeLang], codeLang);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tenv.content = Prism.highlight(textContent(env.content), grammar, codeLang);\n\t\t}\n\t});\n\n\tvar tagPattern = RegExp(Prism.languages.markup.tag.pattern.source, 'gi');\n\n\t/**\n\t * A list of known entity names.\n\t *\n\t * This will always be incomplete to save space. The current list is the one used by lowdash's unescape function.\n\t *\n\t * @see {@link https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/unescape.js#L2}\n\t */\n\tvar KNOWN_ENTITY_NAMES = {\n\t\t'amp': '&',\n\t\t'lt': '<',\n\t\t'gt': '>',\n\t\t'quot': '\"',\n\t};\n\n\t// IE 11 doesn't support `String.fromCodePoint`\n\tvar fromCodePoint = String.fromCodePoint || String.fromCharCode;\n\n\t/**\n\t * Returns the text content of a given HTML source code string.\n\t *\n\t * @param {string} html\n\t * @returns {string}\n\t */\n\tfunction textContent(html) {\n\t\t// remove all tags\n\t\tvar text = html.replace(tagPattern, '');\n\n\t\t// decode known entities\n\t\ttext = text.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function (m, code) {\n\t\t\tcode = code.toLowerCase();\n\n\t\t\tif (code[0] === '#') {\n\t\t\t\tvar value;\n\t\t\t\tif (code[1] === 'x') {\n\t\t\t\t\tvalue = parseInt(code.slice(2), 16);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = Number(code.slice(1));\n\t\t\t\t}\n\n\t\t\t\treturn fromCodePoint(value);\n\t\t\t} else {\n\t\t\t\tvar known = KNOWN_ENTITY_NAMES[code];\n\t\t\t\tif (known) {\n\t\t\t\t\treturn known;\n\t\t\t\t}\n\n\t\t\t\t// unable to decode\n\t\t\t\treturn m;\n\t\t\t}\n\t\t});\n\n\t\treturn text;\n\t}\n\n\tPrism.languages.md = Prism.languages.markdown;\n\n}(Prism));\n","Prism.languages.c = Prism.languages.extend('clike', {\n\t'comment': {\n\t\tpattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\t// https://en.cppreference.com/w/c/language/string_literal\n\t\tpattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n\t'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'char': {\n\t\t// https://en.cppreference.com/w/c/language/character_constant\n\t\tpattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n\t\tgreedy: true\n\t}\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'macro': {\n\t\t// allow for multiline macro definitions\n\t\t// spaces after the # character compile fine with gcc\n\t\tpattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'string': [\n\t\t\t\t{\n\t\t\t\t\t// highlight the path of the include statement as a string\n\t\t\t\t\tpattern: /^(#\\s*include\\s*)<[^>]+>/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\tPrism.languages.c['string']\n\t\t\t],\n\t\t\t'char': Prism.languages.c['char'],\n\t\t\t'comment': Prism.languages.c['comment'],\n\t\t\t'macro-name': [\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'function'\n\t\t\t\t}\n\t\t\t],\n\t\t\t// highlight macro directives as keywords\n\t\t\t'directive': {\n\t\t\t\tpattern: /^(#\\s*)[a-z]+/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t'directive-hash': /^#/,\n\t\t\t'punctuation': /##|\\\\(?=[\\r\\n])/,\n\t\t\t'expression': {\n\t\t\t\tpattern: /\\S[\\s\\S]*/,\n\t\t\t\tinside: Prism.languages.c\n\t\t\t}\n\t\t}\n\t}\n});\n\nPrism.languages.insertBefore('c', 'function', {\n\t// highlight predefined macros as constants\n\t'constant': /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n});\n\ndelete Prism.languages.c['boolean'];\n","(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n","Prism.languages.objectivec = Prism.languages.extend('c', {\n\t'string': {\n\t\tpattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n\t'operator': /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n});\n\ndelete Prism.languages.objectivec['class-name'];\n\nPrism.languages.objc = Prism.languages.objectivec;\n","Prism.languages.sql = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n\t\tlookbehind: true\n\t},\n\t'variable': [\n\t\t{\n\t\t\tpattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t/@[\\w.$]+/\n\t],\n\t'string': {\n\t\tpattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n\t\tgreedy: true,\n\t\tlookbehind: true\n\t},\n\t'identifier': {\n\t\tpattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,\n\t\tgreedy: true,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /^`|`$/\n\t\t}\n\t},\n\t'function': /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, // Should we highlight user defined functions too?\n\t'keyword': /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n\t'boolean': /\\b(?:FALSE|NULL|TRUE)\\b/i,\n\t'number': /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n\t'operator': /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n\t'punctuation': /[;[\\]()`,.]/\n};\n","Prism.languages.python = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])#.*/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-interpolation': {\n\t\tpattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\t// \"{\" <expression> <optional \"!s\", \"!r\", or \"!a\"> <optional \":\" format specifier> \"}\"\n\t\t\t\tpattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'format-spec': {\n\t\t\t\t\t\tpattern: /(:)[^:(){}]+(?=\\}$)/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'conversion-option': {\n\t\t\t\t\t\tpattern: //,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: null\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'triple-quoted-string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\t'string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n\t\tgreedy: true\n\t},\n\t'function': {\n\t\tpattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n\t\tlookbehind: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\bclass\\s+)\\w+/i,\n\t\tlookbehind: true\n\t},\n\t'decorator': {\n\t\tpattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n\t\tlookbehind: true,\n\t\talias: ['annotation', 'punctuation'],\n\t\tinside: {\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t'keyword': /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n\t'builtin': /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n\t'boolean': /\\b(?:False|None|True)\\b/,\n\t'number': /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n\t'operator': /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\nPrism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;\n\nPrism.languages.py = Prism.languages.python;\n","(function (Prism) {\n\n\tvar multilineComment = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source;\n\tfor (var i = 0; i < 2; i++) {\n\t\t// support 4 levels of nested comments\n\t\tmultilineComment = multilineComment.replace(/<self>/g, function () { return multilineComment; });\n\t}\n\tmultilineComment = multilineComment.replace(/<self>/g, function () { return /[^\\s\\S]/.source; });\n\n\n\tPrism.languages.rust = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(^|[^\\\\])/.source + multilineComment),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'string': {\n\t\t\tpattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'char': {\n\t\t\tpattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'attribute': {\n\t\t\tpattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,\n\t\t\tgreedy: true,\n\t\t\talias: 'attr-name',\n\t\t\tinside: {\n\t\t\t\t'string': null // see below\n\t\t\t}\n\t\t},\n\n\t\t// Closure params should not be confused with bitwise OR |\n\t\t'closure-params': {\n\t\t\tpattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'closure-punctuation': {\n\t\t\t\t\tpattern: /^\\||\\|$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\trest: null // see below\n\t\t\t}\n\t\t},\n\n\t\t'lifetime-annotation': {\n\t\t\tpattern: /'\\w+/,\n\t\t\talias: 'symbol'\n\t\t},\n\n\t\t'fragment-specifier': {\n\t\t\tpattern: /(\\$\\w+:)[a-z]+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'variable': /\\$\\w+/,\n\n\t\t'function-definition': {\n\t\t\tpattern: /(\\bfn\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\t\t'type-definition': {\n\t\t\tpattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'module-declaration': [\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace',\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /::/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'keyword': [\n\t\t\t// https://github.com/rust-lang/reference/blob/master/src/keywords.md\n\t\t\t/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n\t\t\t// primitives and str\n\t\t\t// https://doc.rust-lang.org/stable/rust-by-example/primitives.html\n\t\t\t/\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/\n\t\t],\n\n\t\t// functions can technically start with an upper-case letter, but this will introduce a lot of false positives\n\t\t// and Rust's naming conventions recommend snake_case anyway.\n\t\t// https://doc.rust-lang.org/1.0.0/style/style/naming/README.html\n\t\t'function': /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,\n\t\t'macro': {\n\t\t\tpattern: /\\b\\w+!/,\n\t\t\talias: 'property'\n\t\t},\n\t\t'constant': /\\b[A-Z_][A-Z_\\d]+\\b/,\n\t\t'class-name': /\\b[A-Z]\\w*\\b/,\n\n\t\t'namespace': {\n\t\t\tpattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /::/\n\t\t\t}\n\t\t},\n\n\t\t// Hex, oct, bin, dec numbers with visual separators and type suffix\n\t\t'number': /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'punctuation': /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,\n\t\t'operator': /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/\n\t};\n\n\tPrism.languages.rust['closure-params'].inside.rest = Prism.languages.rust;\n\tPrism.languages.rust['attribute'].inside['string'] = Prism.languages.rust['string'];\n\n}(Prism));\n","Prism.languages.swift = {\n\t'comment': {\n\t\t// Nested comments are supported up to 2 levels\n\t\tpattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-literal': [\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ /(?![\"#])/.source\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\\\(?=[\\r\\n])/,\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])(#+)/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ '\\\\2'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\#+\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t],\n\n\t'directive': {\n\t\t// directives with conditions\n\t\tpattern: RegExp(\n\t\t\t/#/.source\n\t\t\t+ '(?:'\n\t\t\t+ (\n\t\t\t\t/(?:elseif|if)\\b/.source\n\t\t\t\t+ '(?:[ \\t]*'\n\t\t\t\t// This regex is a little complex. It's equivalent to this:\n\t\t\t\t// (?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*<round>)?|<round>)(?:[ \\t]*(?:&&|\\|\\|))?\n\t\t\t\t// where <round> is a general parentheses expression.\n\t\t\t\t+ /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source\n\t\t\t\t+ ')+'\n\t\t\t)\n\t\t\t+ '|'\n\t\t\t+ /(?:else|endif)\\b/.source\n\t\t\t+ ')'\n\t\t),\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'directive-name': /^#\\w+/,\n\t\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t\t'number': /\\b\\d+(?:\\.\\d+)*\\b/,\n\t\t\t'operator': /!|&&|\\|\\||[<>]=?/,\n\t\t\t'punctuation': /[(),]/\n\t\t}\n\t},\n\t'literal': {\n\t\tpattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,\n\t\talias: 'constant'\n\t},\n\t'other-directive': {\n\t\tpattern: /#\\w+\\b/,\n\t\talias: 'property'\n\t},\n\n\t'attribute': {\n\t\tpattern: /@\\w+/,\n\t\talias: 'atrule'\n\t},\n\n\t'function-definition': {\n\t\tpattern: /(\\bfunc\\s+)\\w+/,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t},\n\t'label': {\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID141\n\t\tpattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,\n\t\tlookbehind: true,\n\t\talias: 'important'\n\t},\n\n\t'keyword': /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'nil': {\n\t\tpattern: /\\bnil\\b/,\n\t\talias: 'constant'\n\t},\n\n\t'short-argument': /\\$\\d+\\b/,\n\t'omit': {\n\t\tpattern: /\\b_\\b/,\n\t\talias: 'keyword'\n\t},\n\t'number': /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n\n\t// A class name must start with an upper-case letter and be either 1 letter long or contain a lower-case letter.\n\t'class-name': /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'constant': /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n\n\t// Operators are generic in Swift. Developers can even create new operators (e.g. +++).\n\t// https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html#ID481\n\t// This regex only supports ASCII operators.\n\t'operator': /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,\n\t'punctuation': /[{}[\\]();,.:\\\\]/\n};\n\nPrism.languages.swift['string-literal'].forEach(function (rule) {\n\trule.inside['interpolation'].inside = Prism.languages.swift;\n});\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"prismjs\");require(\"prismjs/components/prism-clike\");require(\"prismjs/components/prism-javascript\");require(\"prismjs/components/prism-markup\");require(\"prismjs/components/prism-markdown\");require(\"prismjs/components/prism-c\");require(\"prismjs/components/prism-css\");require(\"prismjs/components/prism-objectivec\");require(\"prismjs/components/prism-sql\");require(\"prismjs/components/prism-python\");require(\"prismjs/components/prism-rust\");require(\"prismjs/components/prism-swift\");\nvar n=require(\"@lexical/utils\"),u=require(\"lexical\");let v={c:\"C\",clike:\"C-like\",css:\"CSS\",html:\"HTML\",js:\"JavaScript\",markdown:\"Markdown\",objc:\"Objective-C\",plain:\"Plain Text\",py:\"Python\",rust:\"Rust\",sql:\"SQL\",swift:\"Swift\",xml:\"XML\"},x={javascript:\"js\",md:\"markdown\",plaintext:\"plain\",python:\"py\",text:\"plain\"};function y(a){return x[a]||a}\nclass z extends u.TextNode{constructor(a,b,c){super(a,c);this.__highlightType=b}static getType(){return\"code-highlight\"}static clone(a){return new z(a.__text,a.__highlightType||void 0,a.__key)}getHighlightType(){return this.getLatest().__highlightType}createDOM(a){let b=super.createDOM(a);a=A(a.theme,this.__highlightType);n.addClassNamesToElement(b,a);return b}updateDOM(a,b,c){let d=super.updateDOM(a,b,c);a=A(c.theme,a.__highlightType);c=A(c.theme,this.__highlightType);a!==c&&(a&&n.removeClassNamesFromElement(b,\na),c&&n.addClassNamesToElement(b,c));return d}static importJSON(a){let b=B(a.text,a.highlightType);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),highlightType:this.getHighlightType(),type:\"code-highlight\",version:1}}setFormat(){return this}}function A(a,b){return b&&a&&a.codeHighlight&&a.codeHighlight[b]}function B(a,b){return u.$applyNodeReplacement(new z(a,b))}function C(a){return a instanceof z}\nfunction D(a){let b=null,c=a.getPreviousSiblings();for(c.push(a);0<c.length&&(a=c.pop(),C(a)&&(b=a),!u.$isLineBreakNode(a)););return b}function E(a){let b=null,c=a.getNextSiblings();for(c.unshift(a);0<c.length&&(a=c.shift(),C(a)&&(b=a),!u.$isLineBreakNode(a)););return b}let F=a=>null!=a&&e.languages.hasOwnProperty(a)?a:void 0;function G(a,b){for(let c of a.childNodes){if(c instanceof HTMLElement&&c.tagName===b)return!0;G(c,b)}return!1}\nclass H extends u.ElementNode{static getType(){return\"code\"}static clone(a){return new H(a.__language,a.__key)}constructor(a,b){super(b);this.__language=F(a)}createDOM(a){let b=document.createElement(\"code\");n.addClassNamesToElement(b,a.theme.code);b.setAttribute(\"spellcheck\",\"false\");(a=this.getLanguage())&&b.setAttribute(\"data-highlight-language\",a);return b}updateDOM(a,b){let c=this.__language;a=a.__language;c?c!==a&&b.setAttribute(\"data-highlight-language\",c):a&&b.removeAttribute(\"data-highlight-language\");\nreturn!1}static importDOM(){return{code:a=>null!=a.textContent&&(/\\r?\\n/.test(a.textContent)||G(a,\"BR\"))?{conversion:I,priority:1}:null,div:()=>({conversion:aa,priority:1}),pre:()=>({conversion:I,priority:0}),table:a=>J(a)?{conversion:ba,priority:4}:null,td:a=>{let b=a.closest(\"table\");return a.classList.contains(\"js-file-line\")?{conversion:ca,priority:4}:b&&J(b)?{conversion:K,priority:4}:null},tr:a=>(a=a.closest(\"table\"))&&J(a)?{conversion:K,priority:4}:null}}static importJSON(a){let b=L(a.language);\nb.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),language:this.getLanguage(),type:\"code\",version:1}}insertNewAfter(a){var b=this.getChildren(),c=b.length;if(2<=c&&\"\\n\"===b[c-1].getTextContent()&&\"\\n\"===b[c-2].getTextContent()&&a.isCollapsed()&&a.anchor.key===this.__key&&a.anchor.offset===c)return b[c-1].remove(),b[c-2].remove(),a=u.$createParagraphNode(),this.insertAfter(a),a;b=a.anchor.getNode();var d=D(b);if(null!=d){c=0;\nfor(d=d.getTextContent();c<d.length&&/[\\t ]/.test(d[c]);)c+=1;if(0<c)return c=d.substring(0,c),c=B(c),b.insertAfter(c),a.insertNodes([u.$createLineBreakNode()]),c.select(),c}return null}canInsertTab(){let a=u.$getSelection();return u.$isRangeSelection(a)&&a.isCollapsed()?!0:!1}canIndent(){return!1}collapseAtStart(){let a=u.$createParagraphNode();this.getChildren().forEach(b=>a.append(b));this.replace(a);return!0}setLanguage(a){this.getWritable().__language=F(a)}getLanguage(){return this.getLatest().__language}}\nfunction L(a){return u.$applyNodeReplacement(new H(a))}function M(a){return a instanceof H}function I(){return{node:L(),preformatted:!0}}function aa(a){let b=null!==a.style.fontFamily.match(\"monospace\");return b||da(a)?{after:c=>{let d=a.parentNode;null!=d&&a!==d.lastChild&&c.push(u.$createLineBreakNode());return c},node:b?L():null,preformatted:b}:{node:null}}function ba(){return{node:L(),preformatted:!0}}function K(){return{node:null}}\nfunction ca(a){return{after:b=>{a.parentNode&&a.parentNode.nextSibling&&b.push(u.$createLineBreakNode());return b},node:null}}function da(a){for(a=a.parentElement;null!==a;){if(null!==a.style.fontFamily.match(\"monospace\"))return!0;a=a.parentElement}return!1}function J(a){return a.classList.contains(\"js-file-line-container\")}let N={tokenize(a,b){return e.tokenize(a,e.languages[b||\"\"]||e.languages.javascript)}};\nfunction O(a,b){var c=a.length;let d=-1;if(b)for(b=0;b<c;b++){let f=a[b];if(\" \"!==f&&\"\\t\"!==f){d=b;break}}else for(--c;-1<c;c--)if(b=a[c],\" \"!==b&&\"\\t\"!==b){d=c;break}return d}\nfunction P(a){let b=null,c=-1;var d=a.getPreviousSiblings();for(d.push(a);0<d.length;){var f=d.pop();if(C(f)){var g=f.getTextContent();g=O(g,!0);-1!==g&&(b=f,c=g)}if(u.$isLineBreakNode(f))break}if(null===b)for(a=a.getNextSiblings();0<a.length;){d=a.shift();if(C(d)&&(f=d.getTextContent(),f=O(f,!0),-1!==f)){b=d;c=f;break}if(u.$isLineBreakNode(d))break}return{node:b,offset:c}}\nfunction Q(a){let b=null,c=-1;var d=a.getNextSiblings();for(d.unshift(a);0<d.length;){var f=d.shift();if(C(f)){var g=f.getTextContent();g=O(g,!1);-1!==g&&(b=f,c=g+1)}if(u.$isLineBreakNode(f))break}if(null===b)for(a=a.getPreviousSiblings();0<a.length;){d=a.pop();if(C(d)&&(f=d.getTextContent(),f=O(f,!1),-1!==f)){b=d;c=f+1;break}if(u.$isLineBreakNode(d))break}return{node:b,offset:c}}function R(a,b,c){let d=a.getParent();M(d)?S(d,b,c):C(a)&&a.replace(u.$createTextNode(a.__text))}let T=new Set;\nfunction S(a,b,c){let d=a.getKey();T.has(d)||(T.add(d),void 0===a.getLanguage()&&a.setLanguage(\"javascript\"),b.update(()=>{ea(d,()=>{var f=u.$getNodeByKey(d);if(!M(f)||!f.isAttached())return!1;var g=f.getTextContent();g=c.tokenize(g,f.getLanguage()||\"javascript\");g=U(g);var k=f.getChildren();for(f=0;f<k.length&&V(k[f],g[f]);)f++;var h=k.length;let l=g.length,p=Math.min(h,l)-f,m=0;for(;m<p;)if(m++,!V(k[h-m],g[l-m])){m--;break}k=f;h-=m;g=g.slice(f,l-m);let {from:w,to:t,nodesForReplacement:r}={from:k,\nnodesForReplacement:g,to:h};return w!==t||r.length?(a.splice(w,t-w,r),!0):!1})},{onUpdate:()=>{T.delete(d)},skipTransforms:!0}))}function U(a){let b=[];a.forEach(c=>{if(\"string\"===typeof c){c=c.split(\"\\n\");for(var d=0;d<c.length;d++){let f=c[d];f.length&&b.push(B(f));d<c.length-1&&b.push(u.$createLineBreakNode())}}else({content:d}=c),\"string\"===typeof d?b.push(B(d,c.type)):Array.isArray(d)&&1===d.length&&\"string\"===typeof d[0]?b.push(B(d[0],c.type)):Array.isArray(d)&&b.push(...U(d))});return b}\nfunction ea(a,b){a=u.$getNodeByKey(a);if(M(a)&&a.isAttached()){var c=u.$getSelection();if(u.$isRangeSelection(c)){c=c.anchor;var d=c.offset,f=\"element\"===c.type&&u.$isLineBreakNode(a.getChildAtIndex(c.offset-1)),g=0;if(!f){let k=c.getNode();g=d+k.getPreviousSiblings().reduce((h,l)=>h+l.getTextContentSize(),0)}b()&&(f?c.getNode().select(d,d):a.getChildren().some(k=>{let h=u.$isTextNode(k);if(h||u.$isLineBreakNode(k)){let l=k.getTextContentSize();if(h&&l>=g)return k.select(g,g),!0;g-=l}return!1}))}else b()}}\nfunction V(a,b){return C(a)&&C(b)?a.__text===b.__text&&a.__highlightType===b.__highlightType:u.$isLineBreakNode(a)&&u.$isLineBreakNode(b)?!0:!1}function W(a){var b=u.$getSelection();if(!u.$isRangeSelection(b)||b.isCollapsed())return!1;b=b.getNodes();for(var c=0;c<b.length;c++){var d=b[c];if(!C(d)&&!u.$isLineBreakNode(d))return!1}c=D(b[0]);null!=c&&X(c,a);for(c=1;c<b.length;c++)d=b[c],u.$isLineBreakNode(b[c-1])&&C(d)&&X(d,a);return!0}\nfunction X(a,b){let c=a.getTextContent();b===u.INDENT_CONTENT_COMMAND?0<c.length&&/\\s/.test(c[0])?a.setTextContent(\"\\t\"+c):(b=B(\"\\t\"),a.insertBefore(b)):0===c.indexOf(\"\\t\")&&(1===c.length?a.remove():a.setTextContent(c.substring(1)))}\nfunction Y(a,b){let c=u.$getSelection();if(!u.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.offset,k=f.offset,h=d.getNode(),l=f.getNode();var p=a===u.KEY_ARROW_UP_COMMAND;if(!C(h)||!C(l))return!1;if(!b.altKey){if(c.isCollapsed())if(a=h.getParentOrThrow(),p&&0===g&&null===h.getPreviousSibling()){if(null===a.getPreviousSibling())return a.selectPrevious(),b.preventDefault(),!0}else if(!p&&g===h.getTextContentSize()&&null===h.getNextSibling()&&null===a.getNextSibling())return a.selectNext(),\nb.preventDefault(),!0;return!1}var m=D(h);let w=E(l);if(null==m||null==w)return!1;let t=m.getNodesBetween(w);for(let q=0;q<t.length;q++){let Z=t[q];if(!C(Z)&&!u.$isLineBreakNode(Z))return!1}b.preventDefault();b.stopPropagation();b=p?m.getPreviousSibling():w.getNextSibling();if(!u.$isLineBreakNode(b))return!0;m=p?b.getPreviousSibling():b.getNextSibling();if(null==m)return!0;p=p?D(m):E(m);let r=null!=p?p:m;b.remove();t.forEach(q=>q.remove());a===u.KEY_ARROW_UP_COMMAND?(t.forEach(q=>r.insertBefore(q)),\nr.insertBefore(b)):(r.insertAfter(b),r=b,t.forEach(q=>{r.insertAfter(q);r=q}));c.setTextNodeRange(h,g,l,k);return!0}function fa(a,b){let c=u.$getSelection();if(!u.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.getNode(),k=f.getNode();a=a===u.MOVE_TO_START;if(!C(g)||!C(k))return!1;let h,l;a?{node:h,offset:l}=P(k):{node:h,offset:l}=Q(k);null!==h&&-1!==l&&c.setTextNodeRange(h,l,h,l);b.preventDefault();b.stopPropagation();return!0}exports.$createCodeHighlightNode=B;\nexports.$createCodeNode=L;exports.$isCodeHighlightNode=C;exports.$isCodeNode=M;exports.CODE_LANGUAGE_FRIENDLY_NAME_MAP=v;exports.CODE_LANGUAGE_MAP=x;exports.CodeHighlightNode=z;exports.CodeNode=H;exports.DEFAULT_CODE_LANGUAGE=\"javascript\";exports.PrismTokenizer=N;exports.getCodeLanguages=()=>Object.keys(e.languages).filter(a=>\"function\"!==typeof e.languages[a]).sort();exports.getDefaultCodeLanguage=()=>\"javascript\";exports.getEndOfCodeInLine=Q;exports.getFirstCodeHighlightNodeOfLine=D;\nexports.getLanguageFriendlyName=function(a){a=y(a);return v[a]||a};exports.getLastCodeHighlightNodeOfLine=E;exports.getStartOfCodeInLine=P;exports.normalizeCodeLang=y;\nexports.registerCodeHighlighting=function(a,b){if(!a.hasNodes([H,z]))throw Error(\"CodeHighlightPlugin: CodeNode or CodeHighlightNode not registered on editor\");null==b&&(b=N);return n.mergeRegister(a.registerMutationListener(H,c=>{a.update(()=>{for(let [g,k]of c)if(\"destroyed\"!==k){var d=u.$getNodeByKey(g);if(null!==d)a:{var f=d;d=a.getElementByKey(f.getKey());if(null===d)break a;f=f.getChildren();let h=f.length;if(h===d.__cachedChildrenLength)break a;d.__cachedChildrenLength=h;let l=\"1\",p=1;for(let m=\n0;m<h;m++)u.$isLineBreakNode(f[m])&&(l+=\"\\n\"+ ++p);d.setAttribute(\"data-gutter\",l)}}})}),a.registerNodeTransform(H,c=>S(c,a,b)),a.registerNodeTransform(u.TextNode,c=>R(c,a,b)),a.registerNodeTransform(z,c=>R(c,a,b)),a.registerCommand(u.INDENT_CONTENT_COMMAND,()=>W(u.INDENT_CONTENT_COMMAND),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.OUTDENT_CONTENT_COMMAND,()=>W(u.OUTDENT_CONTENT_COMMAND),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.KEY_ARROW_UP_COMMAND,c=>Y(u.KEY_ARROW_UP_COMMAND,c),u.COMMAND_PRIORITY_LOW),\na.registerCommand(u.KEY_ARROW_DOWN_COMMAND,c=>Y(u.KEY_ARROW_DOWN_COMMAND,c),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.MOVE_TO_END,c=>fa(u.MOVE_TO_END,c),u.COMMAND_PRIORITY_LOW),a.registerCommand(u.MOVE_TO_START,c=>fa(u.MOVE_TO_START,c),u.COMMAND_PRIORITY_LOW))}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalCode = process.env.NODE_ENV === 'development' ? require('./LexicalCode.dev.js') : require('./LexicalCode.prod.js')\nmodule.exports = LexicalCode;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var k=require(\"lexical\"),t=require(\"@lexical/code\"),A=require(\"@lexical/list\"),F=require(\"@lexical/rich-text\"),aa=require(\"@lexical/utils\"),G=require(\"@lexical/link\");function H(a,b){let c={};for(let d of a)a=b(d),c[a]?c[a].push(d):c[a]=[d];return c}function I(a){a=H(a,b=>b.type);return{element:a.element||[],textFormat:a[\"text-format\"]||[],textMatch:a[\"text-match\"]||[]}}let J=/[!-/:-@[-`{-~\\s]/;\nfunction ba(a){let b=I(a),c=b.textFormat.filter(d=>1===d.format.length);return()=>{let d=[];var e=k.$getRoot().getChildren();for(let f of e)e=ca(f,b.element,c,b.textMatch),null!=e&&d.push(e);return d.join(\"\\n\\n\")}}function ca(a,b,c,d){for(let e of b)if(b=e.export(a,f=>K(f,c,d)),null!=b)return b;return k.$isElementNode(a)?K(a,c,d):null}\nfunction K(a,b,c){let d=[];a=a.getChildren();a:for(let e of a){for(let f of c)if(a=f.export(e,l=>K(l,b,c),(l,h)=>L(l,h,b)),null!=a){d.push(a);continue a}k.$isLineBreakNode(e)?d.push(\"\\n\"):k.$isTextNode(e)?d.push(L(e,e.getTextContent(),b)):k.$isElementNode(e)&&d.push(K(e,b,c))}return d.join(\"\")}function L(a,b,c){let d=b.trim(),e=d,f=new Set;for(let h of c){c=h.format[0];let p=h.tag;if(M(a,c)&&!f.has(c)){f.add(c);var l=N(a,!0);M(l,c)||(e=p+e);l=N(a,!1);M(l,c)||(e+=p)}}return b.replace(d,e)}\nfunction N(a,b){let c=b?a.getPreviousSibling():a.getNextSibling();c||(a=a.getParentOrThrow(),a.isInline()&&(c=b?a.getPreviousSibling():a.getNextSibling()));for(;c;){if(k.$isElementNode(c)){if(!c.isInline())break;a=b?c.getLastDescendant():c.getFirstDescendant();if(k.$isTextNode(a))return a;c=b?c.getPreviousSibling():c.getNextSibling()}if(k.$isTextNode(c))return c;if(!k.$isElementNode(c))break}return null}function M(a,b){return k.$isTextNode(a)&&a.hasFormat(b)}\nlet O=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,da=O&&\"documentMode\"in document?document.documentMode:null;O&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);O&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);O&&\"InputEvent\"in window&&!da?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1;\nlet P=O&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Q=O&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,ea=/^\\s{0,3}$/,R=/^```(\\w{1,10})?\\s?$/;\nfunction fa(a){let b=I(a),c=ha(b.textFormat);return d=>{var e=d.split(\"\\n\"),f=e.length;d=k.$getRoot();d.clear();for(let g=0;g<f;g++){var l=e[g];a:{var h=e,p=g;var r=d;var y=h[p].match(R);if(y)for(var q=p,m=h.length;++q<m;)if(h[q].match(R)){y=t.$createCodeNode(y[1]);h=k.$createTextNode(h.slice(p+1,q).join(\"\\n\"));y.append(h);r.append(y);r=[y,q];break a}r=[null,p]}let [n,v]=r;if(null!=n)g=v;else{r=l;m=d;var w=b.element;q=c;h=b.textMatch;p=r.trim();y=k.$createTextNode(p);l=k.$createParagraphNode();l.append(y);\nm.append(l);for(let {regExp:x,replace:u}of w)if(m=r.match(x)){y.setTextContent(r.slice(m[0].length));u(l,[y],m,!0);break}S(y,q,h);l.isAttached()&&0<p.length&&(r=l.getPreviousSibling(),k.$isParagraphNode(r)||F.$isQuoteNode(r)||A.$isListNode(r))&&(q=r,A.$isListNode(r)&&(r=r.getLastDescendant(),q=null==r?null:aa.$findMatchingParent(r,A.$isListItemNode)),null!=q&&0<q.getTextContentSize()&&(q.splice(q.getChildrenSize(),0,[k.$createLineBreakNode(),...l.getChildren()]),l.remove()))}}e=d.getChildren();for(let g of e)e=\ng,k.$isParagraphNode(e)?(f=e.getFirstChild(),e=null==f||1===e.getChildrenSize()&&k.$isTextNode(f)&&ea.test(f.getTextContent())):e=!1,e&&g.remove();d.selectEnd()}}\nfunction S(a,b,c){var d=a.getTextContent();let e=ia(d,b);if(e){var f,l;if(e[0]===d)var h=a;else{d=e.index||0;let p=d+e[0].length;0===d?[h,f]=a.splitText(p):[l,h,f]=a.splitText(d,p)}h.setTextContent(e[2]);if(a=b.transformersByTag[e[1]])for(let p of a.format)h.hasFormat(p)||h.toggleFormat(p);h.hasFormat(\"code\")||S(h,b,c);l&&S(l,b,c);f&&S(f,b,c)}else T(a,c)}\nfunction T(a,b){a:for(;a;){for(let c of b){let d=a.getTextContent().match(c.importRegExp);if(!d)continue;let e=d.index||0,f=e+d[0].length,l,h,p;0===e?[l,a]=a.splitText(f):[h,l,p]=a.splitText(e,f);h&&T(h,b);p&&(a=p);c.replace(l,d);continue a}break}}\nfunction ia(a,b){var c=a.match(b.openTagsRegExp);if(null==c)return null;for(let f of c){var d=f.replace(/^\\s/,\"\");c=b.fullMatchRegExpByTag[d];if(null!=c&&(c=a.match(c),d=b.transformersByTag[d],null!=c&&null!=d)){if(!1!==d.intraword)return c;var {index:e=0}=c;d=a[e-1];e=a[e+c[0].length];if(!(d&&!J.test(d)||e&&!J.test(e)))return c}}return null}\nfunction ha(a){let b={},c={},d=[];for(let e of a){({tag:a}=e);b[a]=e;let f=a.replace(/(\\*|\\^)/g,\"\\\\$1\");d.push(f);c[a]=P||Q?new RegExp(`(${f})(?![${f}\\\\s])(.*?[^${f}\\\\s])${f}(?!${f})`):new RegExp(`(?<![\\\\\\\\${f}])(${f})((\\\\\\\\${f})?.*?[^${f}\\\\s](\\\\\\\\${f})?)((?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))(${f})(?![\\\\\\\\${f}])`)}return{fullMatchRegExpByTag:c,openTagsRegExp:new RegExp((P||Q?\"\":\"(?<![\\\\\\\\])\")+\"(\"+d.join(\"|\")+\")\",\"g\"),transformersByTag:b}}\nfunction U(a,b,c){let d=c.length;for(;b>=d;b--){let e=b-d;if(V(a,e,c,0,d)&&\" \"!==a[e+d])return e}return-1}function V(a,b,c,d,e){for(let f=0;f<e;f++)if(a[b+f]!==c[d+f])return!1;return!0}\nlet W=a=>(b,c,d)=>{d=a(d);d.append(...c);b.replace(d);d.select(0,0)},X=a=>(b,c,d)=>{var e=b.getPreviousSibling();const f=A.$createListItemNode(\"check\"===a?\"x\"===d[3]:void 0);A.$isListNode(e)&&e.getListType()===a?(e.append(f),b.remove()):(e=A.$createListNode(a,\"number\"===a?Number(d[2]):void 0),e.append(f),b.replace(e));f.append(...c);f.select(0,0);(b=Math.floor(d[1].length/4))&&f.setIndent(b)},Y=(a,b,c)=>{const d=[];var e=a.getChildren();let f=0;for(const h of e)if(A.$isListItemNode(h)){if(1===h.getChildrenSize()&&\n(e=h.getFirstChild(),A.$isListNode(e))){d.push(Y(e,b,c+1));continue}e=\" \".repeat(4*c);var l=a.getListType();l=\"number\"===l?`${a.getStart()+f}. `:\"check\"===l?`- [${h.getChecked()?\"x\":\" \"}] `:\"- \";d.push(e+l+b(h));f++}return d.join(\"\\n\")},ja={dependencies:[F.HeadingNode],export:(a,b)=>{if(!F.$isHeadingNode(a))return null;const c=Number(a.getTag().slice(1));return\"#\".repeat(c)+\" \"+b(a)},regExp:/^(#{1,6})\\s/,replace:W(a=>F.$createHeadingNode(\"h\"+a[1].length)),type:\"element\"},ka={dependencies:[F.QuoteNode],\nexport:(a,b)=>{if(!F.$isQuoteNode(a))return null;a=b(a).split(\"\\n\");b=[];for(const c of a)b.push(\"> \"+c);return b.join(\"\\n\")},regExp:/^>\\s/,replace:(a,b,c,d)=>{if(d&&(c=a.getPreviousSibling(),F.$isQuoteNode(c))){c.splice(c.getChildrenSize(),0,[k.$createLineBreakNode(),...b]);c.select(0,0);a.remove();return}c=F.$createQuoteNode();c.append(...b);a.replace(c);c.select(0,0)},type:\"element\"},la={dependencies:[t.CodeNode],export:a=>{if(!t.$isCodeNode(a))return null;const b=a.getTextContent();return\"```\"+\n(a.getLanguage()||\"\")+(b?\"\\n\"+b:\"\")+\"\\n```\"},regExp:/^```(\\w{1,10})?\\s/,replace:W(a=>t.$createCodeNode(a?a[1]:void 0)),type:\"element\"},ma={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?Y(a,b,0):null,regExp:/^(\\s*)[-*+]\\s/,replace:X(\"bullet\"),type:\"element\"},na={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?Y(a,b,0):null,regExp:/^(\\s*)(?:-\\s)?\\s?(\\[(\\s|x)?\\])\\s/i,replace:X(\"check\"),type:\"element\"},oa={dependencies:[A.ListNode,A.ListItemNode],export:(a,\nb)=>A.$isListNode(a)?Y(a,b,0):null,regExp:/^(\\s*)(\\d{1,})\\.\\s/,replace:X(\"number\"),type:\"element\"},pa={format:[\"code\"],tag:\"`\",type:\"text-format\"},qa={format:[\"bold\",\"italic\"],tag:\"***\",type:\"text-format\"},ra={format:[\"bold\",\"italic\"],intraword:!1,tag:\"___\",type:\"text-format\"},ta={format:[\"bold\"],tag:\"**\",type:\"text-format\"},ua={format:[\"bold\"],intraword:!1,tag:\"__\",type:\"text-format\"},va={format:[\"strikethrough\"],tag:\"~~\",type:\"text-format\"},wa={format:[\"italic\"],tag:\"*\",type:\"text-format\"},xa={format:[\"italic\"],\nintraword:!1,tag:\"_\",type:\"text-format\"},ya={dependencies:[G.LinkNode],export:(a,b,c)=>{if(!G.$isLinkNode(a))return null;b=`[${a.getTextContent()}](${a.getURL()})`;const d=a.getFirstChild();return 1===a.getChildrenSize()&&k.$isTextNode(d)?c(d,b):b},importRegExp:/(?:\\[([^[]+)\\])(?:\\(([^()]+)\\))/,regExp:/(?:\\[([^[]+)\\])(?:\\(([^()]+)\\))$/,replace:(a,b)=>{const [,c,d]=b;b=G.$createLinkNode(d);const e=k.$createTextNode(c);e.setFormat(a.getFormat());b.append(e);a.replace(b)},trigger:\")\",type:\"text-match\"},\nza=[ja,ka,la,ma,oa],Aa=[pa,qa,ra,ta,ua,wa,xa,va],Ba=[ya],Z=[...za,...Aa,...Ba];exports.$convertFromMarkdownString=function(a,b=Z){return fa(b)(a)};exports.$convertToMarkdownString=function(a=Z){return ba(a)()};exports.BOLD_ITALIC_STAR=qa;exports.BOLD_ITALIC_UNDERSCORE=ra;exports.BOLD_STAR=ta;exports.BOLD_UNDERSCORE=ua;exports.CHECK_LIST=na;exports.CODE=la;exports.ELEMENT_TRANSFORMERS=za;exports.HEADING=ja;exports.INLINE_CODE=pa;exports.ITALIC_STAR=wa;exports.ITALIC_UNDERSCORE=xa;exports.LINK=ya;\nexports.ORDERED_LIST=oa;exports.QUOTE=ka;exports.STRIKETHROUGH=va;exports.TEXT_FORMAT_TRANSFORMERS=Aa;exports.TEXT_MATCH_TRANSFORMERS=Ba;exports.TRANSFORMERS=Z;exports.UNORDERED_LIST=ma;\nexports.registerMarkdownShortcuts=function(a,b=Z){let c=I(b),d=H(c.textFormat,({tag:f})=>f[f.length-1]),e=H(c.textMatch,({trigger:f})=>f);for(let f of b)if(b=f.type,(\"element\"===b||\"text-match\"===b)&&!a.hasNodes(f.dependencies))throw Error(\"Minified Lexical error #79; visit https://lexical.dev/docs/error?code=79 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");return a.registerUpdateListener(({tags:f,dirtyLeaves:l,editorState:h,prevEditorState:p})=>\n{if(!f.has(\"historic\")){var r=h.read(k.$getSelection);f=p.read(k.$getSelection);if(k.$isRangeSelection(f)&&k.$isRangeSelection(r)&&r.isCollapsed()){p=r.anchor.key;var y=r.anchor.offset,q=h._nodeMap.get(p);k.$isTextNode(q)&&l.has(p)&&(1===y||y===f.anchor.offset+1)&&a.update(()=>{if(!q.hasFormat(\"code\")){var m=q.getParent();if(null!==m&&!t.$isCodeNode(m)){var w=r.anchor.offset;b:{var g=c.element,n=m.getParent();if(k.$isRootOrShadowRoot(n)&&m.getFirstChild()===q&&(n=q.getTextContent(),\" \"===n[w-1]))for(let {regExp:C,\nreplace:D}of g)if((g=n.match(C))&&g[0].length===w){n=q.getNextSiblings();let [E,sa]=q.splitText(w);E.remove();n=sa?[sa,...n]:n;D(m,n,g,!1);m=!0;break b}m=!1}if(!m){b:{g=q.getTextContent();m=e[g[w-1]];if(null!=m){w<g.length&&(g=g.slice(0,w));for(x of m)if(m=g.match(x.regExp),null!==m){g=m.index||0;n=g+m[0].length;var v=void 0;0===g?[v]=q.splitText(n):[,v]=q.splitText(g,n);v.selectNext(0,0);x.replace(v,m);var x=!0;break b}}x=!1}if(!x)b:{n=q.getTextContent();--w;var u=n[w];if(x=d[u])for(let C of x){var {tag:B}=\nC;x=B.length;let D=w-x+1;if(!(1<x&&!V(n,D,B,0,x)||\" \"===n[D-1])&&(v=n[w+1],!1!==C.intraword||!v||J.test(v))){m=v=q;g=U(n,D,B);for(var z=m;0>g&&(z=z.getPreviousSibling())&&!k.$isLineBreakNode(z);)k.$isTextNode(z)&&(g=z.getTextContent(),m=z,g=U(g,g.length,B));if(!(0>g||m===v&&g+x===D||(B=m.getTextContent(),0<g&&B[g-1]===u||(z=B[g-1],!1===C.intraword&&z&&!J.test(z))))){n=v.getTextContent();n=n.slice(0,D)+n.slice(w+1);v.setTextContent(n);n=m===v?n:B;m.setTextContent(n.slice(0,g)+n.slice(g+x));n=k.$getSelection();\nu=k.$createRangeSelection();k.$setSelection(u);w=w-x*(m===v?2:1)+1;u.anchor.set(m.__key,g,\"text\");u.focus.set(v.__key,w,\"text\");for(let E of C.format)u.hasFormat(E)||u.formatText(E);u.anchor.set(u.focus.key,u.focus.offset,u.focus.type);for(let E of C.format)u.hasFormat(E)&&u.toggleFormat(E);k.$isRangeSelection(n)&&(u.format=n.format);break b}}}}}}}})}}})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalMarkdown = process.env.NODE_ENV === 'development' ? require('./LexicalMarkdown.dev.js') : require('./LexicalMarkdown.prod.js')\nmodule.exports = LexicalMarkdown;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var a=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"@lexical/react/useLexicalNodeSelection\"),h=require(\"@lexical/utils\"),l=require(\"lexical\"),p=require(\"react\");let q=l.createCommand(\"INSERT_HORIZONTAL_RULE_COMMAND\");\nfunction r({nodeKey:b}){let [f]=a.useLexicalComposerContext(),m=p.useRef(null),[e,g,n]=d.useLexicalNodeSelection(b),k=p.useCallback(c=>{e&&l.$isNodeSelection(l.$getSelection())&&(c.preventDefault(),c=l.$getNodeByKey(b),t(c)&&c.remove(),g(!1));return!1},[e,b,g]);p.useEffect(()=>h.mergeRegister(f.registerCommand(l.CLICK_COMMAND,c=>c.target===m.current?(c.shiftKey||n(),g(!e),!0):!1,l.COMMAND_PRIORITY_LOW),f.registerCommand(l.KEY_DELETE_COMMAND,k,l.COMMAND_PRIORITY_LOW),f.registerCommand(l.KEY_BACKSPACE_COMMAND,\nk,l.COMMAND_PRIORITY_LOW)),[n,f,e,k,g]);return p.createElement(\"hr\",{ref:m,className:e?\"selected\":void 0})}\nclass u extends l.DecoratorNode{static getType(){return\"horizontalrule\"}static clone(b){return new u(b.__key)}static importJSON(){return v()}static importDOM(){return{hr:()=>({conversion:w,priority:0})}}exportJSON(){return{type:\"horizontalrule\",version:1}}exportDOM(){return{element:document.createElement(\"hr\")}}createDOM(){let b=document.createElement(\"div\");b.style.display=\"contents\";return b}getTextContent(){return\"\\n\"}isInline(){return!1}updateDOM(){return!1}decorate(){return p.createElement(r,{nodeKey:this.__key})}}\nfunction w(){return{node:v()}}function v(){return l.$applyNodeReplacement(new u)}function t(b){return b instanceof u}exports.$createHorizontalRuleNode=v;exports.$isHorizontalRuleNode=t;exports.HorizontalRuleNode=u;exports.INSERT_HORIZONTAL_RULE_COMMAND=q\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHorizontalRuleNode = process.env.NODE_ENV === 'development' ? require('./LexicalHorizontalRuleNode.dev.js') : require('./LexicalHorizontalRuleNode.prod.js')\nmodule.exports = LexicalHorizontalRuleNode;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/markdown\"),d=require(\"@lexical/react/LexicalComposerContext\"),e=require(\"@lexical/react/LexicalHorizontalRuleNode\"),f=require(\"react\");let g=[{dependencies:[e.HorizontalRuleNode],export:a=>e.$isHorizontalRuleNode(a)?\"***\":null,regExp:/^(---|\\*\\*\\*|___)\\s?$/,replace:(a,b,k,h)=>{b=e.$createHorizontalRuleNode();h||null!=a.getNextSibling()?a.replace(b):a.insertBefore(b);b.selectNext()},type:\"element\"},...c.TRANSFORMERS];exports.DEFAULT_TRANSFORMERS=g;\nexports.MarkdownShortcutPlugin=function({transformers:a=g}){let [b]=d.useLexicalComposerContext();f.useEffect(()=>c.registerMarkdownShortcuts(b,a),[b,a]);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalMarkdownShortcutPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalMarkdownShortcutPlugin.dev.js') : require('./LexicalMarkdownShortcutPlugin.prod.js')\nmodule.exports = LexicalMarkdownShortcutPlugin;","import {\n HEADING,\n ORDERED_LIST,\n QUOTE,\n UNORDERED_LIST,\n TEXT_FORMAT_TRANSFORMERS,\n TEXT_MATCH_TRANSFORMERS\n} from '@lexical/markdown';\nimport {MarkdownShortcutPlugin as LexicalMarkdownShortcutPlugin} from '@lexical/react/LexicalMarkdownShortcutPlugin';\nimport {$createHorizontalRuleNode, $isHorizontalRuleNode, HorizontalRuleNode} from '../nodes/HorizontalRuleNode';\nimport {$isCodeBlockNode, $createCodeBlockNode, CodeBlockNode} from '../nodes/CodeBlockNode';\nimport {$isImageNode, $createImageNode, ImageNode} from '../nodes/ImageNode';\n\nexport const HR = {\n dependencies: [HorizontalRuleNode],\n export: (node) => {\n return $isHorizontalRuleNode(node) ? '---' : null;\n },\n regExp: /^(---|\\*\\*\\*|___)\\s?$/,\n replace: (parentNode, _1, _2, isImport) => {\n const line = $createHorizontalRuleNode();\n\n // TODO: Get rid of isImport flag\n if (isImport || parentNode.getNextSibling() != null) { // eslint-disable-line\n parentNode.replace(line);\n } else {\n parentNode.insertBefore(line);\n }\n\n line.selectNext();\n },\n type: 'element'\n};\n\nexport const CODE_BLOCK = {\n dependencies: [CodeBlockNode],\n export: (node) => {\n if (!$isCodeBlockNode(node)) {\n return null;\n }\n const textContent = node.getTextContent();\n return (\n '```' +\n (node.getLanguage() || '') +\n (textContent ? '\\n' + textContent : '') +\n '\\n' +\n '```'\n );\n },\n regExp: /^```(\\w{1,10})?\\s/,\n replace: (textNode, match, text) => {\n const initCode = text[1] || '';\n const language = match[1];\n const codeBlockNode = $createCodeBlockNode(language, initCode);\n textNode.replace(codeBlockNode);\n },\n type: 'element'\n};\n\n// render imageNode when writing image!\n// regex that detects exactly the string 'image!'\n\nexport const IMAGE = {\n dependencies: [ImageNode],\n export: (node) => {\n if (!$isImageNode(node)){\n return null;\n } else {\n const {src, alt} = node.dataset;\n return ``;\n }\n },\n regExp: /^image! $/,\n replace: (parentNode, match, text) => {\n const alt = '';\n const src = '';\n const imageNode = $createImageNode({altText: alt, src});\n parentNode.replace(imageNode);\n },\n type: 'element'\n};\n\nexport const ELEMENT_TRANSFORMERS = [\n HEADING,\n QUOTE,\n UNORDERED_LIST,\n ORDERED_LIST,\n HR,\n CODE_BLOCK,\n IMAGE\n];\n\nexport const DEFAULT_TRANSFORMERS = [\n ...ELEMENT_TRANSFORMERS,\n ...TEXT_FORMAT_TRANSFORMERS,\n ...TEXT_MATCH_TRANSFORMERS\n];\n\nexport default function MarkdownShortcutPlugin({transformers = DEFAULT_TRANSFORMERS} = {}) {\n return LexicalMarkdownShortcutPlugin({transformers});\n}\n","import {$isAtNodeEnd} from '@lexical/selection';\n\nexport function getSelectedNode(selection) {\n const anchor = selection.anchor;\n const focus = selection.focus;\n const anchorNode = selection.anchor.getNode();\n const focusNode = selection.focus.getNode();\n if (anchorNode === focusNode) {\n return anchorNode;\n }\n const isBackward = selection.isBackward();\n if (isBackward) {\n return $isAtNodeEnd(focus) ? anchorNode : focusNode;\n } else {\n return $isAtNodeEnd(anchor) ? focusNode : anchorNode;\n }\n}\n","import {ReactComponent as PlusIcon} from '../../assets/icons/plus.svg';\n\nexport function PlusButton({onClick}) {\n return (\n <div className=\"absolute top-[-2px] left-[-66px]\" data-kg-plus-button>\n <button\n type=\"button\"\n aria-label=\"Add a card\"\n className=\"group relative flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border border-grey transition-all ease-linear hover:border-grey-900 md:h-9 md:w-9\"\n onClick={onClick}\n >\n <PlusIcon className=\"h-4 w-4 stroke-grey-800 stroke-2 group-hover:stroke-grey-900\" />\n </button>\n </div>\n );\n}\n\nexport function PlusMenu({children}) {\n return (\n <div className=\"absolute left-[-16px]\" data-kg-plus-menu>\n {children}\n </div>\n );\n}\n","import React from 'react';\n\nexport const CardMenuSection = ({label, children, ...props}) => {\n return (\n <li role=\"separator\" className=\"text-grey flex shrink-0 flex-col justify-center text-[1.1rem] font-semibold uppercase tracking-wide\" {...props}>\n <span className=\"mb-2 block px-4 pt-3\" style={{minWidth: 'calc(100% - 3.2rem)'}}>{label}</span>\n <ul role=\"menu\">\n {children}\n </ul>\n </li>\n );\n};\n\nexport const CardMenuItem = ({label, desc, isSelected, onClick, Icon, ...props}) => {\n // browsers will move focus on mouseDown but we don't want that because it\n // removes focus from the editor meaning key commands don't work as\n // expected after a card is inserted\n const preventMouseDown = (event) => {\n event.preventDefault();\n };\n\n return (\n <li role=\"presentation\">\n <button\n type=\"button\"\n role=\"menuitem\"\n className={`text-grey-800 hover:bg-grey-100 flex w-full cursor-pointer flex-row items-center border border-transparent px-4 py-[1rem] text-left ${isSelected ? 'bg-grey-100' : ''}`} onMouseDown={preventMouseDown} onClick={onClick} data-kg-card-menu-item={label}\n data-kg-cardmenu-selected={isSelected}\n {...props}\n >\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"text-grey-900 m-0 ml-4 truncate text-[1.3rem] font-medium leading-[1.6rem] tracking-[.02rem]\">{label}</div>\n <div className=\"text-grey m-0 ml-4 truncate text-xs font-normal leading-[1.6rem] tracking-[.02rem]\">{desc}</div>\n </div>\n </button>\n </li>\n );\n};\n\nexport const CardSnippetItem = ({label, isSelected, Icon, ...props}) => {\n return (\n <li role=\"presentation\">\n <button\n type=\"button\"\n role=\"menuitem\"\n className={`text-grey-800 hover:bg-grey-100 flex w-full cursor-pointer flex-row items-center border border-transparent px-4 py-[1rem] ${isSelected ? 'bg-grey-100' : ''}`}\n data-kg-cardmenu-selected={isSelected}\n {...props}\n >\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"text-grey-900 m-0 ml-4 truncate text-[1.3rem] font-medium leading-[1.6rem] tracking-[.02rem]\">{label}</div>\n </div>\n </button>\n </li>\n );\n};\n\nexport const CardMenu = ({menu = new Map(), insert = () => {}, selectedItemIndex}) => {\n // build up the children arrays from the passed in menu Map\n const CardMenuSections = [];\n\n let itemIndex = 0;\n for (const [sectionLabel, items] of menu) {\n const CardMenuItems = [];\n\n items.forEach((item) => { // eslint-disable-line no-loop-func\n const isSelected = itemIndex === selectedItemIndex;\n const onClick = (event) => {\n event.preventDefault();\n insert?.(item.insertCommand, {insertParams: item.insertParams, queryParams: item.queryParams});\n };\n\n if (!item.type || item.type === 'card') {\n CardMenuItems.push(\n <CardMenuItem\n key={itemIndex}\n label={item.label}\n desc={item.desc}\n Icon={item.Icon}\n isSelected={isSelected}\n onClick={onClick}\n data-kg-cardmenu-idx={itemIndex}\n />\n );\n } else if (item.type === 'snippet') {\n CardMenuItems.push(\n <CardSnippetItem\n key={itemIndex}\n label={item.label}\n Icon={item.Icon}\n isSelected={isSelected}\n onClick={onClick}\n data-kg-cardmenu-idx={itemIndex}\n />\n );\n }\n\n itemIndex = itemIndex + 1;\n });\n\n CardMenuSections.push(<CardMenuSection key={sectionLabel} label={sectionLabel}>{CardMenuItems}</CardMenuSection>);\n }\n\n return (\n <ul role=\"menu\" className=\"not-kg-prose z-[9999999] m-0 mb-3 max-h-[376px] w-[312px] flex-col overflow-y-auto rounded-lg bg-white bg-clip-padding p-0 pt-0 font-sans text-sm shadow after:block after:pb-4\">\n {CardMenuSections}\n </ul>\n );\n};\n","export function getEditorCardNodes(editor) {\n // TODO: open upstream PR to add public method of getting nodes\n const allNodes = editor._nodes;\n const cardNodes = [];\n\n for (const [nodeType, {klass}] of allNodes) {\n if (!klass.kgMenu) {\n continue;\n }\n\n cardNodes.push([nodeType, klass]);\n }\n\n return cardNodes;\n}\n","export function buildCardMenu(nodes, {query} = {}) {\n const menu = new Map();\n\n query = query?.toLowerCase();\n\n let maxItemIndex = -1;\n\n function addMenuItem(item) {\n if (query && (!item.matches || !item.matches.find(m => m.startsWith(query)))) {\n return;\n }\n\n const section = item.section || 'Primary';\n\n if (!menu.has(section)) {\n menu.set(section, [item]);\n } else {\n menu.get(section).push(item);\n }\n\n maxItemIndex = maxItemIndex + 1;\n }\n\n for (const [nodeType, node] of nodes) {\n if (Array.isArray(node.kgMenu)) {\n node.kgMenu.forEach(item => addMenuItem({nodeType, ...item}));\n } else {\n addMenuItem({nodeType, ...node.kgMenu});\n }\n }\n\n return {menu, maxItemIndex};\n}\n","import React from 'react';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$getSelection, $isParagraphNode, $isRangeSelection} from 'lexical';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {PlusButton, PlusMenu} from '../components/ui/PlusMenu';\nimport {CardMenu} from '../components/ui/CardMenu';\nimport {getEditorCardNodes} from '../utils/getEditorCardNodes';\nimport {buildCardMenu} from '../utils/buildCardMenu';\n\nfunction usePlusCardMenu(editor) {\n const [isShowingButton, setIsShowingButton] = React.useState(false);\n const [isShowingMenu, setIsShowingMenu] = React.useState(false);\n const [topPosition, setTopPosition] = React.useState(0);\n const [cachedRange, setCachedRange] = React.useState(null);\n const [cardMenu, setCardMenu] = React.useState({});\n const containerRef = React.useRef(null);\n\n function getTopPosition(elem) {\n const elemRect = elem.getBoundingClientRect();\n const containerRect = elem.parentNode.getBoundingClientRect();\n\n return elemRect.top - containerRect.top;\n }\n\n function getElementRange(elem) {\n const range = new Range();\n range.setStart(elem, 0);\n range.setEnd(elem, 0);\n return range;\n }\n\n const moveCursorToCachedRange = React.useCallback(() => {\n if (!cachedRange) {\n return;\n }\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(cachedRange);\n }, [cachedRange]);\n\n const showButton = React.useCallback((elem) => {\n const range = getElementRange(elem);\n setCachedRange(range);\n setIsShowingButton(true);\n }, [setIsShowingButton, setCachedRange]);\n\n const hideButton = React.useCallback(() => {\n setIsShowingButton(false);\n setIsShowingMenu(false);\n setCachedRange(null);\n }, [setIsShowingButton, setIsShowingMenu, setCachedRange]);\n\n const openMenu = React.useCallback((event) => {\n event?.preventDefault();\n moveCursorToCachedRange();\n setIsShowingMenu(true);\n }, [moveCursorToCachedRange, setIsShowingMenu]);\n\n const closeMenu = React.useCallback(({resetCursor = false} = {}) => {\n if (resetCursor) {\n moveCursorToCachedRange();\n }\n setIsShowingMenu(false);\n }, [moveCursorToCachedRange, setIsShowingMenu]);\n\n const updateButton = React.useCallback(() => {\n editor.getEditorState().read(() => {\n // don't do anything when using IME input\n if (editor.isComposing()) {\n return;\n }\n\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection) || !selection.type === 'text' || !selection.isCollapsed()) {\n hideButton();\n return;\n }\n\n const node = getSelectedNode(selection);\n\n if (!$isParagraphNode(node) || node.getTextContent() !== '') {\n hideButton();\n return;\n }\n\n const nativeSelection = window.getSelection();\n const p = nativeSelection.anchorNode;\n const rootElement = editor.getRootElement();\n\n if (p?.tagName !== 'P' || !rootElement.contains(p)) {\n hideButton();\n return;\n }\n\n setTopPosition(getTopPosition(p));\n showButton(p);\n });\n }, [editor, showButton, hideButton]);\n\n const insert = React.useCallback((insertCommand, {insertParams = {}} = {}) => {\n const commandParams = {...insertParams};\n editor.dispatchCommand(insertCommand, commandParams);\n closeMenu();\n }, [editor, closeMenu]);\n\n React.useEffect(() => {\n return editor.registerUpdateListener(() => {\n updateButton();\n }, [editor, updateButton]);\n });\n\n // hide the button as soon as there's any selection made outside of the\n // editor canvas - any click outside makes a selection so no need for\n // additional mouse tracking for this\n const hideButtonOnOutsideSelection = React.useCallback(() => {\n if (isShowingButton) {\n const nativeSelection = window.getSelection();\n\n // clicking inside the menu changes native selection, we don't want\n // to close the menu when that occurs\n if (isShowingMenu && containerRef.current?.contains(nativeSelection.anchorNode)) {\n return;\n }\n\n const rootElement = editor.getRootElement();\n\n if (!rootElement.contains(nativeSelection.anchorNode)) {\n hideButton();\n }\n }\n }, [editor, isShowingButton, isShowingMenu, hideButton]);\n\n React.useEffect(() => {\n document.addEventListener('selectionchange', hideButtonOnOutsideSelection);\n return () => {\n document.removeEventListener('selectionchange', hideButtonOnOutsideSelection);\n };\n }, [hideButtonOnOutsideSelection]);\n\n // show or move the button when the mouse moves over a blank paragraph\n const updateButtonOnMousemove = React.useCallback((event) => {\n // once the menu is open moving the mouse should not have any effect on button/menu positioning\n if (isShowingMenu) {\n return;\n }\n\n const rootElement = editor.getRootElement();\n let {pageX, pageY} = event;\n\n // add a horizontal buffer to the pointer position so that the button\n // doesn't disappear when moving across the gap between button and paragraph\n let containerRect = rootElement.getBoundingClientRect();\n if (pageX < containerRect.left) {\n pageX = pageX + 40;\n }\n\n // use the page coordinates to find the element under the pointer\n\n // TODO: this basic implementation isn't quite as forgiving as the mobiledoc implementation\n // which appears to have a threshold around the point which creates a bigger hit area for\n // nearby elements, whereas this removes the button immediately on margin mouseover. See:\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/editor/editor.ts#L1306\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/utils/cursor/position.ts#L115\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/utils/selection-utils.ts#L39-L90\n const hoveredElem = document.elementFromPoint(pageX, pageY);\n\n if (rootElement.contains(hoveredElem)) {\n if (hoveredElem?.tagName === 'P' && hoveredElem.textContent === '') {\n // place cursor next to the hovered paragraph\n setTopPosition(getTopPosition(hoveredElem));\n showButton(hoveredElem);\n } else {\n // reset button based on cursor position\n updateButton();\n }\n }\n }, [editor, isShowingMenu, setTopPosition, showButton, updateButton]);\n\n React.useEffect(() => {\n window.addEventListener('mousemove', updateButtonOnMousemove);\n return () => {\n window.removeEventListener('mousemove', updateButtonOnMousemove);\n };\n }, [updateButtonOnMousemove]);\n\n // when menu is open, watch the window for mousedown events so that we can\n // close it when we detect a click outside\n const closeMenuOnClickOutside = React.useCallback((event) => {\n if (isShowingMenu) {\n if (!containerRef.current?.contains(event.target)) {\n return closeMenu();\n }\n }\n }, [isShowingMenu, closeMenu]);\n\n React.useEffect(() => {\n window.addEventListener('mousedown', closeMenuOnClickOutside);\n return () => {\n window.removeEventListener('mousedown', closeMenuOnClickOutside);\n };\n }, [closeMenuOnClickOutside]);\n\n // when menu is open, close it when Escape or arrow keys are pressed\n const handleKeydown = React.useCallback((event) => {\n if (isShowingMenu) {\n if (event.key === 'Escape') {\n closeMenu({resetCursor: true});\n return;\n }\n\n let arrowKeys = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (arrowKeys.includes(event.key)) {\n closeMenu();\n }\n }\n }, [isShowingMenu, closeMenu]);\n\n React.useEffect(() => {\n window.addEventListener('keydown', handleKeydown);\n return () => {\n window.removeEventListener('keydown', handleKeydown);\n };\n });\n\n // build up the card menu based on registered nodes and current search\n React.useEffect(() => {\n const cardNodes = getEditorCardNodes(editor);\n setCardMenu(buildCardMenu(cardNodes, {insert}));\n }, [editor, insert, setCardMenu]);\n\n const style = {\n top: `${topPosition}px`\n };\n\n if (cardMenu.menu?.size === 0) {\n return null;\n }\n\n if (isShowingButton) {\n return (\n <div className=\"absolute\" style={style} ref={containerRef} data-kg-plus-container>\n {isShowingButton && <PlusButton onClick={openMenu} />}\n {isShowingMenu && <PlusMenu><CardMenu menu={cardMenu.menu} insert={insert} /></PlusMenu>}\n </div>\n );\n } else {\n return null;\n }\n}\n\nexport default function PlusCardMenuPlugin() {\n const [editor] = useLexicalComposerContext();\n return usePlusCardMenu(editor);\n}\n","export function SlashMenu({children}) {\n return (\n <div data-kg-slash-menu>\n {children}\n </div>\n );\n}\n","import React from 'react';\nimport {$getSelection, $isParagraphNode, $isRangeSelection, COMMAND_PRIORITY_HIGH, KEY_ARROW_DOWN_COMMAND, KEY_ARROW_LEFT_COMMAND, KEY_ARROW_RIGHT_COMMAND, KEY_ARROW_UP_COMMAND, KEY_ENTER_COMMAND} from 'lexical';\nimport {mergeRegister} from '@lexical/utils';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {SlashMenu} from '../components/ui/SlashMenu';\nimport {CardMenu} from '../components/ui/CardMenu';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {getEditorCardNodes} from '../utils/getEditorCardNodes';\nimport {buildCardMenu} from '../utils/buildCardMenu';\n\nfunction useSlashCardMenu(editor) {\n const [isShowingMenu, setIsShowingMenu] = React.useState(false);\n const [topPosition, setTopPosition] = React.useState(0);\n const [query, setQuery] = React.useState('');\n const [commandParams, setCommandParams] = React.useState([]);\n const [cardMenu, setCardMenu] = React.useState({});\n const [selectedItemIndex, setSelectedItemIndex] = React.useState(0);\n const cachedRange = React.useRef(null);\n const containerRef = React.useRef(null);\n\n function getTopPosition(elem) {\n const elemRect = elem.getBoundingClientRect();\n const containerRect = elem.parentNode.getBoundingClientRect();\n\n return elemRect.bottom - containerRect.top;\n }\n\n function moveCursorToCachedRange() {\n if (!cachedRange.current) {\n return;\n }\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(cachedRange.current);\n }\n\n const openMenu = React.useCallback(() => {\n setIsShowingMenu(true);\n }, [setIsShowingMenu]);\n\n const closeMenu = React.useCallback(({resetCursor = false} = {}) => {\n if (resetCursor) {\n moveCursorToCachedRange();\n }\n setIsShowingMenu(false);\n setQuery('');\n setCommandParams([]);\n cachedRange.current = null;\n }, [setIsShowingMenu]);\n\n const insert = React.useCallback((insertCommand, {insertParams = {}, queryParams = {}} = {}) => {\n const dataset = {...insertParams};\n\n for (let i = 0; i < queryParams.length; i++) {\n if (commandParams[i]) {\n const key = queryParams[i];\n const value = commandParams[i];\n dataset[key] = value;\n }\n }\n\n editor.update(() => {\n const selection = $getSelection();\n selection.modify('extend', true, 'lineboundary');\n selection.deleteCharacter(true);\n editor.dispatchCommand(insertCommand, dataset);\n });\n\n closeMenu();\n }, [editor, commandParams, closeMenu]);\n\n // close menu if selection moves out of the slash command\n // update the search query when typing\n React.useEffect(() => {\n return editor.registerUpdateListener(() => {\n editor.getEditorState().read(() => {\n // don't do anything when using IME input\n if (editor.isComposing()) {\n return;\n }\n\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection) || !selection.type === 'text' || !selection.isCollapsed()) {\n closeMenu();\n return;\n }\n\n const node = getSelectedNode(selection).getTopLevelElement();\n\n if (!node || !$isParagraphNode(node) || !node.getTextContent().startsWith('/')) {\n closeMenu();\n return;\n }\n\n const nativeSelection = window.getSelection();\n const anchorNode = nativeSelection.anchorNode;\n const rootElement = editor.getRootElement();\n\n if (anchorNode?.nodeType !== Node.TEXT_NODE || !rootElement.contains(anchorNode)) {\n closeMenu();\n return;\n }\n\n // store the cached range so we can reset the cursor when Escape is pressed\n // because that will _always_ blur the contenteditable which we don't want\n cachedRange.current = nativeSelection.getRangeAt(0);\n\n // capture text after the / as a query for filtering cards\n const command = node.getTextContent().slice(1);\n const [q, ...cps] = command.split(' ');\n setQuery(q);\n setCommandParams(cps);\n });\n });\n }, [editor, closeMenu, setQuery, setCommandParams]);\n\n // open the menu when / is pressed on a blank paragraph\n React.useEffect(() => {\n if (isShowingMenu) {\n return;\n }\n\n const triggerMenu = (event) => {\n const {key, isComposing, shiftKey, ctrlKey, metaKey, altKey} = event;\n\n // we only care about / presses when not composing or pressed with modifiers\n if (key !== '/' || isComposing || shiftKey || ctrlKey || metaKey || altKey) {\n return;\n }\n\n // ignore if editor doesn't have focus\n const rootElement = editor.getRootElement();\n if (!rootElement.matches(':focus')) {\n return;\n }\n\n // potentially valid / press\n editor.getEditorState().read(() => {\n const selection = $getSelection();\n const node = getSelectedNode(selection).getTopLevelElement();\n\n // ignore if selection is not on a top-level paragraph\n if (!node || !$isParagraphNode(node)) {\n return;\n }\n\n const paragraphSize = node.getTextContentSize();\n const isEmptyParagraph = selection.isCollapsed() && node.getTextContent() === '';\n // if full paragraph is selected, pressing / will replace it so that's a valid press\n const isFullParagraphSelection = !selection.isCollapsed() && (\n (selection.anchor.offset === 0 && selection.focus.offset === paragraphSize) ||\n (selection.anchor.offset === paragraphSize && selection.focus.offset === 0)\n );\n\n if (isEmptyParagraph || isFullParagraphSelection) {\n const nativeSelection = window.getSelection();\n let selectionElem;\n\n if (nativeSelection.anchorNode.nodeType === Node.TEXT_NODE) {\n selectionElem = nativeSelection.anchorNode.parentNode.closest('p');\n } else {\n selectionElem = nativeSelection.anchorNode;\n }\n\n setTopPosition(getTopPosition(selectionElem));\n openMenu();\n }\n });\n };\n\n window.addEventListener('keypress', triggerMenu);\n return () => {\n window.removeEventListener('keypress', triggerMenu);\n };\n }, [editor, isShowingMenu, setTopPosition, openMenu]);\n\n // close the menu when Escape is pressed\n React.useEffect(() => {\n if (!isShowingMenu) {\n return;\n }\n\n const handleEscape = (event) => {\n if (event.key === 'Escape') {\n closeMenu({resetCursor: true});\n return;\n }\n };\n\n window.addEventListener('keydown', handleEscape);\n return () => {\n window.removeEventListener('keydown', handleEscape);\n };\n }, [isShowingMenu, closeMenu]);\n\n // close the menu on clicks outside the menu\n React.useEffect(() => {\n if (!isShowingMenu) {\n return;\n }\n\n const handleMousedown = (event) => {\n if (containerRef.current?.contains(event.target)) {\n return;\n }\n\n closeMenu();\n };\n\n window.addEventListener('mousedown', handleMousedown);\n return () => {\n window.removeEventListener('mousedown', handleMousedown);\n };\n }, [isShowingMenu, closeMenu]);\n\n // capture key navigation to move/insert selected card item\n React.useEffect(() => {\n if (!isShowingMenu) {\n return;\n }\n\n const moveUp = (event) => {\n if (selectedItemIndex === 0) {\n setSelectedItemIndex(cardMenu.maxItemIndex);\n } else {\n setSelectedItemIndex(selectedItemIndex - 1);\n }\n\n event.preventDefault();\n return true;\n };\n\n const moveDown = (event) => {\n if (selectedItemIndex === cardMenu.maxItemIndex) {\n setSelectedItemIndex(0);\n } else {\n setSelectedItemIndex(selectedItemIndex + 1);\n }\n\n event.preventDefault();\n return true;\n };\n\n const enter = (event) => {\n document.querySelector(`[data-kg-slash-menu] [data-kg-cardmenu-idx=\"${selectedItemIndex}\"]`)?.click();\n event.preventDefault();\n return true;\n };\n\n return mergeRegister(\n editor.registerCommand(\n KEY_ARROW_DOWN_COMMAND,\n moveDown,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_UP_COMMAND,\n moveUp,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_RIGHT_COMMAND,\n moveDown,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ARROW_LEFT_COMMAND,\n moveUp,\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n KEY_ENTER_COMMAND,\n enter,\n COMMAND_PRIORITY_HIGH\n )\n );\n }, [editor, isShowingMenu, cardMenu, selectedItemIndex]);\n\n // build up the card menu based on registered nodes and current search\n React.useEffect(() => {\n const cardNodes = getEditorCardNodes(editor);\n setCardMenu(buildCardMenu(cardNodes, {insert, query}));\n setSelectedItemIndex(0);\n }, [editor, query, insert, setCardMenu, setSelectedItemIndex]);\n\n if (cardMenu.menu?.size === 0) {\n return null;\n }\n\n if (isShowingMenu) {\n return (\n <div className=\"absolute\" style={{top: `${topPosition}px`}} ref={containerRef} data-kg-slash-container>\n <SlashMenu>\n <CardMenu menu={cardMenu.menu} selectedItemIndex={selectedItemIndex} insert={insert} />\n </SlashMenu>\n </div>\n );\n }\n\n return null;\n}\n\nexport default function SlashCardMenuPlugin() {\n const [editor] = useLexicalComposerContext();\n return useSlashCardMenu(editor);\n}\n","const VERTICAL_GAP = 10;\n\nexport function setFloatingElemPosition(\n targetRect,\n floatingElem,\n anchorElem,\n options = {}\n) {\n options = Object.assign({\n verticalGap: VERTICAL_GAP,\n controlOpacity: false\n }, options);\n\n const scrollerElem = anchorElem.parentElement;\n\n if (targetRect === null || !scrollerElem) {\n if (options.controlOpacity) {\n floatingElem.style.opacity = '0';\n }\n floatingElem.style.top = '-10000px';\n floatingElem.style.left = '-10000px';\n\n return;\n }\n\n const floatingElemRect = floatingElem.getBoundingClientRect();\n const anchorElementRect = anchorElem.getBoundingClientRect();\n const editorScrollerRect = scrollerElem.getBoundingClientRect();\n\n let top = targetRect.top - floatingElemRect.height - options.verticalGap;\n let left = targetRect.left + targetRect.width / 2 - floatingElemRect.width / 2;\n\n if (left < editorScrollerRect.left) {\n left = editorScrollerRect.left;\n }\n\n if (left + floatingElemRect.width > editorScrollerRect.right) {\n left = editorScrollerRect.right - floatingElemRect.width;\n }\n\n top -= anchorElementRect.top;\n left -= anchorElementRect.left;\n\n if (options.controlOpacity) {\n floatingElem.style.opacity = '1';\n }\n floatingElem.style.top = `${top}px`;\n floatingElem.style.left = `${left}px`;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nexport function getDOMRangeRect(\n nativeSelection,\n rootElement,\n) {\n const domRange = nativeSelection.getRangeAt(0);\n\n let rect;\n\n if (nativeSelection.anchorNode === rootElement) {\n let inner = rootElement;\n while (inner.firstElementChild != null) { // eslint-disable-line eqeqeq\n inner = inner.firstElementChild;\n }\n rect = inner.getBoundingClientRect();\n } else {\n rect = domRange.getBoundingClientRect();\n }\n\n return rect;\n}\n","export function getScrollParent(node) {\n const isElement = node instanceof HTMLElement;\n const overflowY = isElement && window.getComputedStyle(node).overflowY;\n const isScrollable = overflowY !== 'visible' && overflowY !== 'hidden';\n\n if (!node) {\n return null;\n } else if (isScrollable && node.scrollHeight >= node.clientHeight) {\n return node;\n }\n\n return getScrollParent(node.parentNode) || document.body;\n}\n","import React, {useEffect} from 'react';\nimport {createPortal} from 'react-dom';\nimport {\n $createParagraphNode,\n $getSelection,\n $isRangeSelection,\n $isTextNode,\n COMMAND_PRIORITY_LOW,\n FORMAT_TEXT_COMMAND,\n SELECTION_CHANGE_COMMAND\n} from 'lexical';\nimport {\n $wrapNodes\n} from '@lexical/selection';\nimport {\n $createHeadingNode,\n $isHeadingNode,\n $createQuoteNode\n} from '@lexical/rich-text';\nimport {\n $isListNode,\n ListNode\n} from '@lexical/list';\nimport {\n $getNearestNodeOfType,\n mergeRegister\n} from '@lexical/utils';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$createAsideNode} from '../nodes/AsideNode';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {setFloatingElemPosition} from '../utils/setFloatingElemPosition';\nimport {getDOMRangeRect} from '../utils/getDOMRangeRect';\nimport {getScrollParent} from '../utils/getScrollParent';\nimport {\n ToolbarMenu,\n ToolbarMenuItem,\n ToolbarMenuSeparator\n} from '../components/ui/ToolbarMenu';\n\nconst blockTypeToBlockName = {\n bullet: 'Bulleted List',\n check: 'Check List',\n code: 'Code Block',\n h1: 'Heading 1',\n h2: 'Heading 2',\n h3: 'Heading 3',\n h4: 'Heading 4',\n h5: 'Heading 5',\n h6: 'Heading 6',\n number: 'Numbered List',\n paragraph: 'Normal',\n quote: 'Quote',\n aside: 'Aside'\n};\n\nfunction FloatingFormatToolbar({isText, editor, anchorElem, blockType, isBold, isItalic}) {\n const [stickyToolbar, setStickyToolbar] = React.useState(false);\n const toolbarRef = React.useRef(null);\n // const [isVisible, setIsVisible] = React.useState(false);\n\n const formatParagraph = () => {\n if (blockType !== 'paragraph') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createParagraphNode());\n }\n });\n }\n };\n\n const formatHeading = (headingSize) => {\n if (blockType !== headingSize) {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createHeadingNode(headingSize));\n }\n });\n }\n };\n\n const formatQuote = () => {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n if (blockType === 'quote') {\n $wrapNodes(selection, () => $createAsideNode());\n } else if (blockType === 'aside') {\n $wrapNodes(selection, () => $createParagraphNode());\n } else {\n $wrapNodes(selection, () => $createQuoteNode());\n }\n }\n });\n };\n\n const updateFloatingToolbar = React.useCallback(() => {\n const toolbarElement = toolbarRef.current;\n\n if (!toolbarElement) {\n return;\n }\n\n const selection = $getSelection();\n const nativeSelection = window.getSelection();\n const rootElement = editor.getRootElement();\n\n if (\n selection !== null &&\n nativeSelection !== null &&\n !nativeSelection.isCollapsed &&\n rootElement !== null &&\n rootElement.contains(nativeSelection.anchorNode)\n ) {\n const rangeRect = getDOMRangeRect(nativeSelection, rootElement);\n if (!stickyToolbar) {\n setFloatingElemPosition(rangeRect, toolbarElement, anchorElem);\n }\n }\n }, [editor, anchorElem, stickyToolbar]);\n\n const toggleVis = React.useCallback(() => {\n if (isText !== false) {\n toolbarRef.current.style.opacity = '1';\n }\n }, [isText]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n document.addEventListener('mouseup', toggleVis);\n return () => {\n document.removeEventListener('mouseup', toggleVis);\n };\n }, [toggleVis, editor, updateFloatingToolbar]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n const shiftUp = (e) => {\n if (e.key === 'Shift') {\n toggleVis();\n }\n };\n document.addEventListener('keyup', shiftUp);\n return () => {\n document.removeEventListener('keyup', shiftUp);\n };\n }, [toggleVis, editor, updateFloatingToolbar]);\n\n React.useEffect(() => {\n const scrollElement = getScrollParent(anchorElem);\n\n const update = () => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n };\n\n window.addEventListener('resize', update);\n if (scrollElement) {\n scrollElement.addEventListener('scroll', update);\n }\n\n return () => {\n window.removeEventListener('resize', update);\n if (scrollElement) {\n scrollElement.removeEventListener('scroll', update);\n }\n };\n }, [editor, updateFloatingToolbar, anchorElem]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n\n return mergeRegister(\n editor.registerUpdateListener(({editorState}) => {\n editorState.read(() => {\n updateFloatingToolbar();\n });\n }),\n\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n updateFloatingToolbar();\n return false;\n },\n COMMAND_PRIORITY_LOW\n )\n );\n }, [editor, updateFloatingToolbar]);\n\n return (\n <div className={`absolute`} ref={toolbarRef} data-kg-floating-toolbar style={{opacity: 0}}>\n <ToolbarMenu>\n <ToolbarMenuItem label=\"Format text as bold\" isActive={isBold} icon=\"bold\" onClick={() => {\n setStickyToolbar(true);\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold');\n }} data-kg-toolbar-button=\"bold\" />\n <ToolbarMenuItem label=\"Format text as italics\" isActive={isItalic} icon=\"italic\" onClick={() => {\n setStickyToolbar(true);\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic');\n }} data-kg-toolbar-button=\"italic\" />\n <ToolbarMenuItem label=\"Toggle heading 1\" isActive={blockType === 'h2'} icon=\"headingOne\" onClick={() => {\n (blockType === 'h2' ? formatParagraph() : formatHeading('h2'));\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"h2\" />\n <ToolbarMenuItem label=\"Toggle heading 2\" isActive={blockType === 'h3'} icon=\"headingTwo\" onClick={() => {\n (blockType === 'h3' ? formatParagraph() : formatHeading('h3'));\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"h3\" />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Toggle blockquote\" isActive={blockType === 'quote' || blockType === 'aside'} icon={blockType === 'aside' ? 'quoteOne' : 'quoteTwo'} onClick={() => {\n (formatQuote());\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"quote\" />\n </ToolbarMenu>\n </div>\n );\n}\n\nfunction useFloatingFormatToolbar(editor, anchorElem) {\n const [isText, setIsText] = React.useState(false);\n const [isBold, setIsBold] = React.useState(false);\n const [isItalic, setIsItalic] = React.useState(false);\n const [blockType, setBlockType] = React.useState('paragraph');\n\n const updatePopup = React.useCallback(() => {\n editor.getEditorState().read(() => {\n // Should not to pop up the floating toolbar when using IME input\n if (editor.isComposing()) {\n return;\n }\n const selection = $getSelection();\n const nativeSelection = window.getSelection();\n const rootElement = editor.getRootElement();\n\n if (\n nativeSelection !== null &&\n (\n !$isRangeSelection(selection) ||\n rootElement === null ||\n !rootElement.contains(nativeSelection.anchorNode)\n )\n ) {\n setIsText(false);\n return;\n }\n\n if (!$isRangeSelection(selection)) {\n return;\n }\n\n const anchorNode = getSelectedNode(selection);\n const element = anchorNode.getKey() === 'root'\n ? anchorNode\n : anchorNode.getTopLevelElementOrThrow();\n const elementKey = element.getKey();\n const elementDOM = editor.getElementByKey(elementKey);\n\n // update text format\n setIsBold(selection.hasFormat('bold'));\n setIsItalic(selection.hasFormat('italic'));\n\n if (elementDOM !== null) {\n if ($isListNode(element)) {\n const parentList = $getNearestNodeOfType(anchorNode, ListNode);\n const type = parentList\n ? parentList.getListType()\n : element.getListType();\n setBlockType(type);\n } else {\n const type = $isHeadingNode(element)\n ? element.getTag()\n : element.getType();\n\n if (type in blockTypeToBlockName) {\n setBlockType(type);\n }\n }\n }\n\n if (selection.getTextContent() !== '') {\n setIsText($isTextNode(anchorNode));\n } else {\n setIsText(false);\n }\n });\n }, [editor]);\n\n useEffect(() => {\n document.addEventListener('selectionchange', updatePopup);\n return () => {\n document.removeEventListener('selectionchange', updatePopup);\n };\n }, [updatePopup]);\n\n useEffect(() => {\n return editor.registerUpdateListener(() => {\n updatePopup();\n });\n }, [editor, updatePopup]);\n\n if (!isText) {\n return;\n }\n\n return createPortal(\n <FloatingFormatToolbar\n isText={isText}\n editor={editor}\n anchorElem={anchorElem}\n blockType={blockType}\n isBold={isBold}\n isItalic={isItalic}\n />,\n anchorElem\n );\n}\n\nexport default function FloatingFormatToolbarPlugin({anchorElem = document.body}) {\n const [editor] = useLexicalComposerContext();\n return useFloatingFormatToolbar(editor, anchorElem);\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0cm9rZS13aWR0aD0iMS41IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgPHRpdGxlPmtnLXNlYXJjaDwvdGl0bGU+CiAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNMS40NzIgMTMuMzU3YTkuMDYzIDkuMDYzIDAgMSAwIDE2LjY4Mi03LjA5IDkuMDYzIDkuMDYzIDAgMSAwLTE2LjY4MiA3LjA5Wm0xNC43NDkgMi44NjMgNy4wMjkgNy4wMyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0cm9rZS13aWR0aD0iMS41IiB2aWV3Qm94PSIwIDAgMjQgMjQiPgogICAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTS43NSAyMy4yNDlsMjIuNS0yMi41TTIzLjI1IDIzLjI0OUwuNzUuNzQ5Ii8+Cjwvc3ZnPg==\"","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {ReactComponent as UnsplashIcon} from '../../../../assets/icons/kg-card-type-unsplash.svg';\nimport {ReactComponent as SearchIcon} from '../../../../assets/icons/kg-search.svg';\nimport {ReactComponent as CloseIcon} from '../../../../assets/icons/kg-close.svg';\n\nfunction UnsplashSelector({closeModal, handleSearch, children, galleryRef}) {\n return (\n <>\n <div className=\"bg-black opacity-60 inset-0 h-[100vh] fixed\"></div>\n <div data-kg-modal=\"unsplash\" className=\"z-100 not-kg-prose bg-white inset-8 rounded overflow-hidden fixed shadow-xl\" ref={galleryRef}>\n <button className=\"absolute top-6 right-6 cursor-pointer\">\n <CloseIcon \n data-kg-modal-close-button \n onClick={() => closeModal()} \n className=\"w-4 h-4 text-grey-400 stroke-2\" \n />\n </button>\n <div className=\"flex flex-col h-full\">\n <header className=\"flex shrink-0 justify-between py-10 px-20 items-center\">\n <h1 className=\"flex items-center gap-2 text-black text-3xl font-bold font-sans\">\n <UnsplashIcon className=\"mb-1\" />\n Unsplash\n </h1>\n <div className=\"relative w-full max-w-sm\">\n <SearchIcon className=\"absolute top-1/2 left-4 w-4 h-4 -translate-y-2 text-grey-700\" />\n <input data-kg-unsplash-search onChange={handleSearch} className=\"pr-8 pl-10 border border-grey-300 rounded-full font-sans text-md font-normal text-black h-10 w-full focus:border-grey-400 focus-visible:outline-none\" placeholder=\"Search free high-resolution photos\" />\n </div>\n </header>\n {children}\n </div>\n </div>\n </>\n );\n}\n\nUnsplashSelector.propTypes = {\n closeModal: PropTypes.func,\n handleSearch: PropTypes.func\n};\n\nexport default UnsplashSelector;","class MasonryLayout {\n constructor(columnCount) {\n this.columnCount = columnCount || 3;\n this.columns = null;\n this.columnHeights = null;\n }\n\n reset() {\n let columns = [];\n let columnHeights = [];\n // pre-fill column arrays based on columnCount\n for (let i = 0; i < this.columnCount; i += 1) {\n columns[i] = [];\n columnHeights[i] = 0;\n }\n this.columns = columns;\n this.columnHeights = columnHeights;\n }\n\n addColumns() {\n for (let i = 0; i < this.columnCount; i++) {\n this.columns.push([]);\n this.columnHeights.push(0);\n }\n }\n\n addPhotoToColumns(photo) {\n if (!this.columns) {\n this.reset();\n }\n let min = Math.min(...this.columnHeights);\n let columnIndex = this.columnHeights.indexOf(min);\n\n // use a fixed width when calculating height to compensate for different\n // overall image sizes\n this.columnHeights[columnIndex] += 300 * photo.ratio;\n this.columns[columnIndex].push(photo);\n }\n\n getColumns() {\n return this.columns;\n }\n\n changeColumnCount(newColumnCount) {\n if (newColumnCount !== this.columnCount) {\n this.columnCount = newColumnCount;\n this.reset();\n }\n }\n}\n\nexport default MasonryLayout;\n","// API Service for Unsplash\n// Reference https://github.com/TryGhost/Ghost/blob/main/ghost/admin/app/services/unsplash.js\n\n// functions to write\n\n// makeRequest\n// loadNew\n// loadNextPage\n// search\n// checkStatus\n// extractPagination\n// triggerDownload\n\nimport MasonryLayout from '../masonry';\n\nconst masonry = new MasonryLayout(3);\n\nclass UnsplashService {\n constructor({API_URL, HEADERS}) {\n this.API_URL = API_URL || 'https://api.unsplash.com';\n this.HEADERS = HEADERS;\n this.photos = [];\n this._pagination = [];\n this.page = 1;\n this.error = null;\n this.search_is_running = false;\n this.request_is_running = false;\n this.search_term = '';\n this._lastRequestUrl = '';\n this.isLoading = false;\n }\n\n extractPagination(response) {\n response = response || response.results;\n let pagination = {};\n let linkRegex = new RegExp('<(.*)>; rel=\"(.*)\"');\n\n let links = [];\n for (let entry of response.headers.entries()) {\n if (entry[0] === 'link') {\n links.push(entry[1]);\n }\n }\n\n if (links) {\n links.toString().split(',').forEach((link) => {\n if (link){\n let linkParts = linkRegex.exec(link);\n pagination[linkParts[2]] = linkParts[1];\n }\n });\n }\n\n this._pagination = pagination;\n\n return response;\n }\n\n async checkStatus(response) {\n if (response.status >= 200 && response.status < 300) {\n return (response);\n }\n\n let errorText = '';\n let responseTextPromise;\n\n if (response.headers.map['content-type'] === 'application/json') {\n responseTextPromise = response.json().then(json => json.errors[0]);\n } else if (response.headers.map['content-type'] === 'text/xml') {\n responseTextPromise = response.text();\n }\n\n return responseTextPromise.then((responseText) => {\n if (response.status === 403 && response.headers.map['x-ratelimit-remaining'] === '0') {\n // we've hit the ratelimit on the API\n errorText = 'Unsplash API rate limit reached, please try again later.';\n }\n\n errorText = errorText || responseText || `Error ${response.status}: Uh-oh! Trouble reaching the Unsplash API`;\n\n // set error text for display in UI\n this.error = errorText;\n\n // throw error to prevent further processing\n let error = new Error(errorText);\n error.response = response;\n throw error;\n });\n }\n\n async makeRequest(url) {\n if (this.request_is_running) {\n return;\n }\n this._lastRequestUrl = url;\n\n const options = {\n method: 'GET',\n headers: this.HEADERS\n };\n this.request_is_running = true;\n this.isLoading = true;\n return await fetch(url, options)\n .then(response => this.checkStatus(response))\n .then(response => this.extractPagination(response))\n .then((response) => {\n this.request_is_running = false;\n return response.json();\n })\n .catch(error => this.error = error);\n }\n\n async loadNew() {\n this.reset();\n const url = `${this.API_URL}/photos?per_page=30`;\n const response = await this.makeRequest(url);\n await this.addPhotosFromResponse(response);\n }\n\n async addPhotosFromResponse(response) {\n let photos = response.results || response;\n photos.forEach((photo) => {\n this.addPhoto(photo);\n });\n }\n\n async addPhoto(photo) {\n photo.ratio = photo.width / photo.height;\n this.photos.push(photo);\n masonry.addPhotoToColumns(photo);\n }\n\n async loadNextPage() {\n if (this.request_is_running) {\n return;\n }\n if (this.search_is_running) {\n return;\n }\n if (this.photos.length === 0) {\n return;\n }\n if (this._pagination.next) {\n const url = `${this._pagination.next}`;\n const response = await this.makeRequest(url);\n this.addPhotosFromResponse(response);\n }\n }\n\n async updateSearch(term) {\n if (term === this.search_term) {\n return;\n }\n if (this.request_is_running) {\n return;\n }\n this.reset();\n this.search_term = term;\n if (term) {\n await this.search(term);\n } else {\n await this.loadNew();\n }\n }\n\n async search(term) {\n if (this.search_is_running !== true) {\n this.search_is_running = true;\n const url = `${this.API_URL}/search/photos?query=${term}&per_page=30`;\n const response = await this.makeRequest(url);\n if (response) {\n this.addPhotosFromResponse(response);\n this.search_is_running = false;\n }\n }\n }\n\n triggerDownload(photo) {\n if (photo.links.download_location) {\n this.makeRequest(photo.links.download_location);\n }\n }\n\n getPhotos() {\n return this.photos;\n }\n\n clearPhotos() {\n this.photos = [];\n }\n\n getColumns() {\n return masonry.getColumns();\n }\n\n reset() {\n this.clearPhotos();\n masonry.reset();\n this.pagination = [];\n }\n\n setSearchTerm(term) {\n this.search_term = term;\n }\n}\n\nexport default UnsplashService;\n","export default \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzIgMzIiPgogIDx0aXRsZT51bnNwbGFzaC1oZWFydDwvdGl0bGU+CiAgPHBhdGggZD0iTTE3LjQgMjljLS44LjgtMiAuOC0yLjggMEwyLjMgMTYuMkMtLjggMTMuMS0uOCA4IDIuMyA0LjhjMy4xLTMuMSA4LjItMy4xIDExLjMgMEwxNiA3LjZsMi4zLTIuOGMzLjEtMy4xIDguMi0zLjEgMTEuMyAwIDMuMSAzLjEgMy4xIDguMiAwIDExLjRMMTcuNCAyOXoiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICA8dGl0bGU+ZG93bmxvYWQ8L3RpdGxlPgogICAgPHBhdGggZD0iTTIwIDUuNWwtOCA4LTgtOG0tMy41IDEzaDIzIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGZpbGw9Im5vbmUiLz4KPC9zdmc+Cg==\"","import {ReactComponent as UnsplashHeartIcon} from '../../../../assets/icons/kg-unsplash-heart.svg';\nimport {ReactComponent as DownloadIcon} from '../../../../assets/icons/kg-download.svg';\n\nconst BUTTON_ICONS = {\n heart: UnsplashHeartIcon,\n download: DownloadIcon\n};\n\nfunction UnsplashButton({icon, label, ...props}) {\n const Icon = BUTTON_ICONS[icon];\n\n return (\n <a onClick={e => e.stopPropagation()}\n type=\"button\" \n className=\"flex items-center shrink-0 h-8 py-2 px-3 font-sans text-sm text-grey-700 font-medium leading-6 bg-white rounded-md opacity-90 transition-all ease-in-out hover:opacity-100 first-of-type:mr-3 cursor-pointer\" \n {...props}\n >\n {icon && <Icon className={`w-4 h-4 fill-red stroke-[3px] ${label && 'mr-1'}`} />}\n {label && <span>{label}</span>}\n </a>\n );\n}\n\nexport default UnsplashButton;\n","import UnsplashButton from './UnsplashButton';\n\nfunction UnsplashImage({payload,\n srcUrl,\n links,\n likes,\n user,\n alt,\n urls,\n height,\n width,\n zoomed, \n insertImage, \n selectImg}) {\n return (\n <div \n data-kg-unsplash-gallery-item\n onClick={(e) => {\n e.stopPropagation();\n selectImg(zoomed ? null : payload);\n }} \n className={`relative block mb-6 bg-grey-100 ${zoomed ? 'cursor-zoom-out w-[max-content] h-full' : 'cursor-zoom-in w-full'}`}>\n <img\n loading='lazy'\n data-kg-unsplash-gallery-img\n width={width}\n height={height}\n src={srcUrl}\n alt={alt}\n className={`${zoomed ? 'object-contain w-auto h-full' : ''}`} \n />\n <div className=\"absolute inset-0 flex flex-col justify-between p-5 transition-all ease-in-out bg-gradient-to-b from-black/5 via-black/5 to-black/30 opacity-0 hover:opacity-100\">\n <div className=\"flex items-center justify-end\">\n {/* TODO: we may want to pass in the Ghost referral data from consuming app and parse to the urls */}\n <UnsplashButton\n data-kg-button=\"unsplash-like\"\n rel=\"noopener noreferrer\" \n target=\"_blank\" \n href={`${links.html}/?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit`} \n icon=\"heart\" \n label={likes} \n />\n <UnsplashButton\n data-kg-button=\"unsplash-download\"\n href={`${links.download}/?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit&force=true`} \n icon=\"download\" \n />\n </div>\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center\">\n <img className=\"w-8 h-8 rounded-full mr-2\" src={user.profile_image.small} alt=\"author\" />\n <div className=\"mr-2 font-sans text-white text-sm font-medium truncate\">{user.name}</div>\n </div>\n <UnsplashButton data-kg-unsplash-insert-button onClick={(e) => {\n e.stopPropagation();\n insertImage({\n src: urls.regular.replace(/&w=1080/, '&w=2000'),\n caption: `Photo by ${user.name} on Unsplash`,\n height: height,\n width: width,\n alt: alt,\n links: links\n });\n }} label=\"Insert image\" />\n </div>\n </div>\n </div>\n );\n}\n\nexport default UnsplashImage;","import PropTypes from 'prop-types';\n\nimport UnsplashImage from './UnsplashImage';\n\nfunction UnsplashZoomed({payload, insertImage, selectImg, zoomed}) {\n return (\n <div data-kg-unsplash-zoomed onClick={() => selectImg(null)} className=\"flex justify-center grow basis-0 h-full\">\n <UnsplashImage \n payload={payload}\n srcUrl={payload.urls.regular}\n alt={payload.alt_description}\n links={payload.links}\n likes={payload.likes}\n user={payload.user}\n urls={payload.urls}\n height={payload.height}\n width={payload.width}\n selectImg={selectImg}\n insertImage={insertImage}\n zoomed={zoomed}\n\n />\n </div>\n );\n}\n\nexport default UnsplashZoomed;\n\nUnsplashZoomed.propTypes = {\n payload: PropTypes.object,\n insertImage: PropTypes.func,\n selectImg: PropTypes.func,\n zoomed: PropTypes.object || PropTypes.bool,\n srcUrl: PropTypes.string,\n alt: PropTypes.string,\n links: PropTypes.object,\n likes: PropTypes.number,\n user: PropTypes.object,\n urls: PropTypes.object,\n height: PropTypes.number,\n width: PropTypes.number\n};\n","import React from 'react';\nimport UnsplashZoomed from './UnsplashZoomed';\nimport UnsplashImage from './UnsplashImage';\n\nfunction UnsplashGalleryLoading() {\n return (\n <div data-kg-loader className=\"absolute flex items-center justify-center overflow-hidden inset-y-0 left-0 w-full pb-[8vh]\">\n <div className=\"relative inline-block w-[50px] h-[50px] border border-black/10 rounded-full animate-spin before:block before:w-[7px] before:h-[7px] before:rounded-full before:z-10 before:mt-[7px] before:bg-grey-800\"></div>\n </div>\n );\n}\n\nexport function MasonryColumn(props) {\n return (\n <div className=\"flex flex-col justify-start mr-6 grow basis-0 last-of-type:mr-0\">\n {props.children}\n </div>\n );\n}\n\nexport function UnsplashGalleryColumns(props) {\n if (!props?.columns) {\n return null;\n }\n\n return (\n props?.columns.map((array, index) => (\n <MasonryColumn key={index}>\n {\n array.map(payload => (\n <UnsplashImage \n key={payload.id}\n payload={payload}\n srcUrl={payload.urls.regular}\n alt={payload.alt_description}\n links={payload.links}\n likes={payload.likes}\n user={payload.user}\n urls={payload.urls}\n height={payload.height}\n width={payload.width}\n selectImg={props?.selectImg}\n insertImage={props?.insertImage}\n zoomed={props?.zoomed}\n />\n ))\n }\n </MasonryColumn>\n ))\n );\n}\n\nexport function GalleryLayout(props) {\n return (\n <div data-kg-unsplash-gallery className=\"relative h-full overflow-hidden\">\n <div data-kg-unsplash-gallery-scrollref ref={props.galleryRef} className={`overflow-auto w-full h-full px-20 flex justify-center ${props?.zoomed ? 'pb-10' : ''}`}>\n {props.children}\n {props?.isLoading && <UnsplashGalleryLoading />}\n </div>\n </div>\n );\n}\n\nfunction UnsplashGallery({zoomed,\n error,\n galleryRef,\n isLoading, \n dataset, \n selectImg, \n insertImage}) {\n if (zoomed) {\n return (\n <GalleryLayout\n galleryRef={galleryRef}\n zoomed={zoomed}>\n <UnsplashZoomed\n payload={zoomed}\n insertImage={insertImage}\n selectImg={selectImg}\n zoomed={zoomed}\n />\n </GalleryLayout>\n );\n }\n\n if (error) {\n return (\n <GalleryLayout\n galleryRef={galleryRef}\n zoomed={zoomed}>\n <div className=\"flex flex-col justify-center items-center h-full\">\n <h1 className=\"text-2xl font-bold mb-4\">Error</h1>\n <p className=\"text-lg font-medium\">{error}</p>\n </div>\n </GalleryLayout>\n );\n }\n\n return (\n <GalleryLayout\n dataset={dataset}\n isLoading={isLoading}\n galleryRef={galleryRef}\n zoomed={zoomed}>\n <UnsplashGalleryColumns\n columns={dataset}\n selectImg={selectImg}\n insertImage={insertImage}\n zoomed={zoomed}\n />\n </GalleryLayout>\n );\n}\n\nexport default UnsplashGallery;\n","// Portal container that can be used to render floating elements, outside of the editor\nimport React from 'react';\nimport {createPortal} from 'react-dom';\nimport {$getNodeByKey, $createNodeSelection, $setSelection} from 'lexical';\nimport UnsplashSelector from './file-selectors/Unsplash/UnsplashSelector';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport KoenigComposerContext from '../../context/KoenigComposerContext';\nimport UnsplashService from '../../utils/services/unsplash';\nimport UnsplashGallery from './file-selectors/Unsplash/UnsplashGallery';\nimport {useMemo} from 'react';\n\nconst API_URL = 'https://api.unsplash.com';\n\nconst UnsplashModal = ({nodeKey, handleModalClose}) => {\n const [editor] = useLexicalComposerContext();\n const {unsplashConf} = React.useContext(KoenigComposerContext);\n const UnsplashLib = useMemo(() => new UnsplashService({API_URL, HEADERS: unsplashConf}), [unsplashConf]);\n\n const galleryRef = React.useRef(null);\n const [scrollPos, setScrollPos] = React.useState(0);\n const [lastScrollPos, setLastScrollPos] = React.useState(0);\n const [isLoading, setIsLoading] = React.useState(UnsplashLib.search_is_running || true);\n const initLoadRef = React.useRef(false);\n const [searchTerm, setSearchTerm] = React.useState('');\n const [zoomedImg, setZoomedImg] = React.useState(null);\n const [dataset, setDataset] = React.useState(UnsplashLib.getColumns() || []);\n\n // const dataset = UnsplashLib.getColumns();\n\n React.useEffect(() => {\n if (zoomedImg === null && lastScrollPos !== 0) {\n galleryRef.current.scrollTop = lastScrollPos;\n setLastScrollPos(0);\n }\n }, [zoomedImg, scrollPos, lastScrollPos]);\n\n // Add selector for consuming apps to render into\n const portalContainer = document.querySelector('.koenig-lexical');\n\n const closeModalHandler = () => {\n // remove the image node from the editor\n if (nodeKey) {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.remove();\n });\n }\n handleModalClose(false);\n };\n\n React.useEffect(() => {\n const ref = galleryRef.current;\n if (!zoomedImg) {\n if (ref) {\n ref.addEventListener('scroll', () => {\n setScrollPos(ref.scrollTop);\n });\n }\n // unmount\n return () => {\n if (ref) {\n ref.removeEventListener('scroll', () => {\n setScrollPos(ref.scrollTop);\n });\n }\n };\n }\n }, [galleryRef, zoomedImg]);\n\n const loadInitPhotos = React.useCallback(async () => {\n if (initLoadRef.current === false || searchTerm.length === 0) {\n setDataset([]);\n await UnsplashLib.clearPhotos();\n await UnsplashLib.loadNew();\n const columns = UnsplashLib.getColumns();\n setDataset(columns);\n if (galleryRef.current.scrollTop !== 0) {\n galleryRef.current.scrollTop = 0;\n }\n setIsLoading(false);\n }\n }, [UnsplashLib, searchTerm]);\n\n const handleSearch = async (e) => {\n const query = e.target.value;\n if (query.length > 2) {\n setZoomedImg(null);\n setSearchTerm(query);\n }\n if (query.length === 0) {\n setSearchTerm('');\n initLoadRef.current = false;\n await loadInitPhotos();\n }\n };\n\n const search = React.useCallback(async () => {\n if (searchTerm) {\n setIsLoading(true);\n UnsplashLib.clearPhotos();\n await UnsplashLib.updateSearch(searchTerm);\n const columns = UnsplashLib.getColumns();\n setDataset(columns);\n if (galleryRef.current.scrollTop !== 0) {\n galleryRef.current.scrollTop = 0;\n }\n setIsLoading(false);\n }\n }, [searchTerm, UnsplashLib]);\n\n React.useEffect(() => {\n const timeoutId = setTimeout(async () => {\n if (searchTerm.length > 2) {\n await search();\n } else {\n await loadInitPhotos();\n }\n }, 300);\n return () => {\n initLoadRef.current = true;\n clearTimeout(timeoutId);\n };\n }, [searchTerm, search, loadInitPhotos]);\n\n const loadMorePhotos = React.useCallback(async () => {\n setIsLoading(true);\n await UnsplashLib.loadNextPage();\n const columns = UnsplashLib.getColumns();\n setDataset(columns);\n setIsLoading(false);\n }, [UnsplashLib]);\n\n React.useEffect(() => {\n const ref = galleryRef.current;\n if (ref) {\n const handleScroll = async () => {\n if (zoomedImg === null && ref.scrollTop + ref.clientHeight >= ref.scrollHeight - 1000) {\n await loadMorePhotos();\n }\n };\n ref.addEventListener('scroll', handleScroll);\n return () => {\n ref.removeEventListener('scroll', handleScroll);\n };\n }\n }, [galleryRef, loadMorePhotos, zoomedImg]);\n\n const insertImageToNode = async (image) => {\n if (image.src) {\n UnsplashLib.triggerDownload(image);\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setSrc(image.src);\n node.setImgHeight(image.height);\n node.setImgWidth(image.width);\n node.setCaption(image.caption);\n node.setAltText(image.alt);\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(node.getKey());\n $setSelection(nodeSelection);\n });\n handleModalClose(false);\n }\n };\n\n const selectImg = (payload) => {\n if (payload) {\n setZoomedImg(payload);\n setLastScrollPos(scrollPos);\n }\n\n if (payload === null) {\n galleryRef.current.scrollTop = lastScrollPos;\n setZoomedImg(null);\n }\n };\n\n if (!portalContainer) {\n return null;\n }\n \n return createPortal(\n <UnsplashSelector\n closeModal={closeModalHandler}\n handleSearch={handleSearch}\n >\n <UnsplashGallery\n galleryRef={galleryRef}\n zoomed={zoomedImg}\n isLoading={isLoading}\n dataset={dataset}\n selectImg={selectImg}\n insertImage={insertImageToNode} \n error={UnsplashLib.error}\n />\n </UnsplashSelector>\n , portalContainer);\n};\n\nexport default UnsplashModal;\n","import React from 'react';\nimport {\n $getSelection,\n COMMAND_PRIORITY_HIGH,\n $isRangeSelection,\n $createNodeSelection,\n $setSelection,\n $isParagraphNode\n} from 'lexical';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {mergeRegister} from '@lexical/utils';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport {$createImageNode, ImageNode, INSERT_IMAGE_COMMAND} from '../nodes/ImageNode';\nimport {imageUploadHandler} from '../utils/imageUploadHandler';\nimport UnsplashModal from '../components/ui/UnsplashModal';\n\nexport const ImagePlugin = () => {\n const [editor] = useLexicalComposerContext();\n const {imageUploader} = React.useContext(KoenigComposerContext);\n const [selector, setSelector] = React.useState(null);\n const [selectedKey, setSelectedKey] = React.useState(null);\n const [showModal, setShowModal] = React.useState(false);\n\n const handleImageUpload = React.useCallback(async (files, imageNodeKey) => {\n if (files?.length > 0) {\n return await imageUploadHandler(files, imageNodeKey, editor, imageUploader);\n }\n }, [imageUploader, editor]);\n\n React.useEffect(() => {\n if (!editor.hasNodes([ImageNode])){\n console.error('ImagePlugin: ImageNode not registered'); // eslint-disable-line no-console\n return;\n }\n return mergeRegister(\n editor.registerCommand(\n INSERT_IMAGE_COMMAND,\n async (dataset) => {\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n const focusNode = selection.focus.getNode();\n\n if (focusNode !== null) {\n const imageNode = $createImageNode(dataset);\n\n // fires the unsplash selector\n if (dataset?.triggerFileSelector === 'unsplash') {\n setSelectedKey(imageNode.getKey());\n setShowModal(true);\n setSelector('unsplash');\n }\n\n if (!dataset.src) {\n const imageNodeKey = imageNode.getKey();\n handleImageUpload(dataset, imageNodeKey);\n }\n\n // insert a paragraph if this will be the last card and\n // we're not already on a blank paragraph so we always\n // have a trailing paragraph in the doc\n \n const selectedNode = selection.focus.getNode();\n const selectedIsBlankParagraph = $isParagraphNode(selectedNode) && selectedNode.getTextContent() === '';\n const nextNode = selectedNode.getTopLevelElementOrThrow().getNextSibling();\n if (!selectedIsBlankParagraph && !nextNode) {\n selection.insertParagraph();\n }\n\n selection.focus\n .getNode()\n .getTopLevelElementOrThrow()\n .insertBefore(imageNode);\n\n // move the focus away from the paragraph to the inserted\n // decorator node\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(imageNode.getKey());\n $setSelection(nodeSelection);\n }\n\n return true;\n },\n COMMAND_PRIORITY_HIGH\n )\n );\n }, [editor, imageUploader, handleImageUpload]);\n\n if (showModal && selector) {\n return (<UnsplashModal\n nodeKey={selectedKey}\n handleModalClose={setShowModal}\n />);\n }\n\n return null;\n};\n\nexport default ImagePlugin;\n","import React from 'react';\nimport {DRAG_DROP_PASTE} from '@lexical/rich-text';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {COMMAND_PRIORITY_LOW} from 'lexical';\nimport {getEditorCardNodes} from '../utils/getEditorCardNodes';\nimport {INSERT_IMAGE_COMMAND} from '../nodes/ImageNode';\n\nfunction isMimeType(file, acceptableMimeTypes) {\n const mimeType = file.type;\n let key = Object.keys(acceptableMimeTypes).find(k => acceptableMimeTypes[k].includes(mimeType));\n return key;\n}\n \nfunction mediaFileReader(files, acceptableMimeTypes) {\n const filesIterator = files[Symbol.iterator]();\n return new Promise((resolve, reject) => {\n const processed = [];\n let node;\n const handleNextFile = () => {\n const {done, value: file} = filesIterator.next();\n if (done) {\n return resolve({processed, node});\n }\n const fileReader = new FileReader();\n fileReader.addEventListener('error', reject);\n fileReader.addEventListener('load', () => {\n const result = fileReader.result;\n if (typeof result === 'string') {\n processed.push(file);\n }\n handleNextFile();\n });\n const nodeType = isMimeType(file, acceptableMimeTypes);\n if (nodeType) {\n fileReader.readAsDataURL(file);\n node = nodeType;\n } else {\n console.error('unsupported file type'); // eslint-disable-line no-console\n handleNextFile();\n }\n };\n handleNextFile();\n });\n}\n\nasync function getListofAcceptableMimeTypes(editor) {\n const nodes = getEditorCardNodes(editor);\n let acceptableMimeTypes = {};\n for (const [nodeType, node] of nodes) {\n if (nodeType && node.mimeTypes) {\n acceptableMimeTypes[nodeType] = node.mimeTypes;\n }\n }\n return {\n acceptableMimeTypes\n };\n}\n\nfunction DragDropPastePlugin() {\n const [editor] = useLexicalComposerContext();\n\n const handleDrag = React.useCallback((e) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n const handleDrop = React.useCallback(async (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.dataTransfer.files) {\n editor.dispatchCommand(DRAG_DROP_PASTE, e.dataTransfer.files);\n }\n }, [editor]);\n\n React.useEffect(() => {\n // TODO: consuming app should be able to configure the element where they want to listen to the drag and drop events\n const dropTarget = document.querySelector('.gh-koenig-editor') || document;\n dropTarget.addEventListener('dragover', handleDrag);\n dropTarget.addEventListener('drop', handleDrop);\n\n return () => {\n dropTarget.removeEventListener('dragover', handleDrag);\n dropTarget.removeEventListener('drop', handleDrop);\n };\n }, [handleDrop, handleDrag]);\n\n const handleFileUpload = React.useCallback(async (files) => {\n const {acceptableMimeTypes} = await getListofAcceptableMimeTypes(editor);\n const {processed, node} = await mediaFileReader(files, acceptableMimeTypes);\n if (processed.length) {\n if (node === 'image') {\n editor.dispatchCommand(INSERT_IMAGE_COMMAND, processed);\n }\n }\n }, [editor]);\n\n React.useEffect(() => {\n return editor.registerCommand(\n DRAG_DROP_PASTE,\n async (files) => {\n try {\n return await handleFileUpload(files);\n } catch (error) {\n console.error(error); // eslint-disable-line no-console\n }\n },\n COMMAND_PRIORITY_LOW \n );\n }, [editor, handleFileUpload]);\n return null;\n}\n\nexport default DragDropPastePlugin;\n","import {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$getSelection, $isParagraphNode, $isRangeSelection, COMMAND_PRIORITY_EDITOR} from 'lexical';\nimport {useEffect} from 'react';\nimport {$createHorizontalRuleNode, INSERT_HORIZONTAL_RULE_COMMAND} from '../nodes/HorizontalRuleNode';\n\nexport const HorizontalRulePlugin = () => {\n const [editor] = useLexicalComposerContext();\n\n useEffect(() => {\n if (!editor.hasNodes([])) {\n console.error('HorizontalRulePlugin: HorizontalRuleNode not registered'); // eslint-disable-line no-console\n return;\n }\n return editor.registerCommand(\n INSERT_HORIZONTAL_RULE_COMMAND,\n () => {\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n const focusNode = selection.focus.getNode();\n\n if (focusNode !== null) {\n const horizontalRuleNode = $createHorizontalRuleNode();\n\n // insert a paragraph unless we're already on a blank paragraph\n const selectedNode = selection.focus.getNode();\n if ($isParagraphNode(selectedNode) && selectedNode.getTextContent() !== '') {\n selection.insertParagraph();\n }\n\n // insert the horizontal rule before the current/inserted paragraph\n // so the cursor stays on the blank paragraph\n selection.focus\n .getNode()\n .getTopLevelElementOrThrow()\n .insertBefore(horizontalRuleNode);\n }\n\n return true;\n },\n COMMAND_PRIORITY_EDITOR\n );\n }, [editor]);\n\n return null;\n};\n\nexport default HorizontalRulePlugin;\n","export function EditorPlaceholder() {\n return (\n <div className=\"pointer-events-none absolute top-0 left-0 min-w-full cursor-text font-serif text-xl text-grey-500\">Begin writing your post...</div>\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"lexical\");function r(c,e=!0){if(c)return!1;c=t();e&&(c=c.trim());return\"\"===c}function t(){return h.$getRoot().getTextContent()}function u(c,e){if(!e||!r(c,!1))return!1;c=h.$getRoot().getChildren();e=c.length;if(1<e)return!1;for(let f=0;f<e;f++){var b=c[f];if(h.$isElementNode(b)){if(\"paragraph\"!==b.__type||0!==b.__indent)return!1;b=b.getChildren();let n=b.length;for(let p=0;p<n;p++)if(!h.$isTextNode(b[f]))return!1}}return!0}exports.$canShowPlaceholder=u;\nexports.$canShowPlaceholderCurry=function(c,e){return()=>u(c,e)};exports.$findTextIntersectionFromCharacters=function(c,e){var b=c.getFirstChild();c=0;a:for(;null!==b;){if(h.$isElementNode(b)){var f=b.getFirstChild();if(null!==f){b=f;continue}}else if(h.$isTextNode(b)){f=b.getTextContentSize();if(c+f>e)return{node:b,offset:e-c};c+=f}f=b.getNextSibling();if(null!==f)b=f;else{for(b=b.getParent();null!==b;){f=b.getNextSibling();if(null!==f){b=f;continue a}b=b.getParent()}break}}return null};\nexports.$isRootTextContentEmpty=r;exports.$isRootTextContentEmptyCurry=function(c,e){return()=>r(c,e)};exports.$rootTextContent=t;\nexports.registerLexicalTextEntity=function(c,e,b,f){let n=a=>{const d=h.$createTextNode(a.getTextContent());d.setFormat(a.getFormat());a.replace(d)},p=c.registerNodeTransform(h.TextNode,a=>{if(a.isSimpleText()){var d=a.getPreviousSibling(),l=a.getTextContent(),m=a;if(h.$isTextNode(d)){var k=d.getTextContent(),g=e(k+l);if(d instanceof b){if(null===g||0!==d.getLatest().__mode){n(d);return}g=g.end-k.length;if(0<g){m=l.slice(0,g);m=k+m;d.select();d.setTextContent(m);g===l.length?a.remove():(d=l.slice(g),\na.setTextContent(d));return}}else if(null===g||g.start<k.length)return}for(;;){a=e(l);l=g=null===a?\"\":l.slice(a.end);if(\"\"===g){if(k=m.getNextSibling(),h.$isTextNode(k))if(g=m.getTextContent()+k.getTextContent(),g=e(g),null===g){k instanceof b?n(k):k.markDirty();break}else if(0!==g.start)break}else if(k=e(g),null!==k&&0===k.start)break;if(null===a)break;if(0===a.start&&h.$isTextNode(d)&&d.isTextEntity())continue;let q;0===a.start?[q,m]=m.splitText(a.end):[,q,m]=m.splitText(a.start,a.end);a=f(q);q.replace(a);\nif(null==m)break}}});c=c.registerNodeTransform(b,a=>{var d=a.getTextContent();const l=e(d);null===l||0!==l.start?n(a):d.length>l.end?a.splitText(l.end):(d=a.getPreviousSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),n(a)),d=a.getNextSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),a instanceof b&&n(a)))});return[p,c]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalText = process.env.NODE_ENV === 'development' ? require('./LexicalText.dev.js') : require('./LexicalText.prod.js')\nmodule.exports = LexicalText;","import React from 'react';\nimport {$createParagraphNode, $getRoot, $isDecoratorNode} from 'lexical';\nimport {$canShowPlaceholder} from '@lexical/text';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$selectDecoratorNode} from '../utils/$selectDecoratorNode';\n\n// used to register a minimal API for controlling the editor from the consuming app\n// designed to allow typical behaviours without the consuming app needing to bundle the lexical library\nexport const ExternalControlPlugin = ({registerAPI}) => {\n const [editor] = useLexicalComposerContext();\n\n React.useEffect(() => {\n if (!registerAPI) {\n return;\n }\n\n const API = {\n // give access to the editor instance so the Lexical API can be used directly if needed\n editorInstance: editor,\n // simplified API methods for typical consumer app actions\n editorIsEmpty() {\n let isEmpty;\n editor.update(() => {\n isEmpty = $canShowPlaceholder(false, true);\n });\n return isEmpty;\n },\n focusEditor({position = 'bottom'} = {}) {\n const editorFocusOptions = {\n defaultSelection: position === 'top' ? 'rootStart' : null\n };\n\n editor.focus(() => {}, editorFocusOptions);\n\n if (position === 'top') {\n // Lexical does not automatically select a decorator node\n editor.update(() => {\n const root = $getRoot();\n const firstChild = root.getFirstChild();\n\n if ($isDecoratorNode(firstChild)) {\n $selectDecoratorNode(firstChild);\n // selecting a decorator node does not change the\n // window selection (there's no caret) so we need\n // to manually move focus to the editor element\n editor.getRootElement().focus();\n }\n });\n }\n },\n blurEditor() {\n editor.blur();\n },\n insertParagraphAtTop({focus = true} = {}) {\n editor.update(() => {\n const paragraphNode = $createParagraphNode();\n const [firstChild] = $getRoot().getChildren();\n firstChild.insertBefore(paragraphNode);\n\n if (focus) {\n paragraphNode.selectStart();\n }\n });\n }\n };\n\n registerAPI(API);\n\n return () => {\n registerAPI?.(null);\n };\n }, [editor, registerAPI]);\n};\n","import React from 'react';\nimport {RichTextPlugin} from '@lexical/react/LexicalRichTextPlugin';\nimport LexicalErrorBoundary from '@lexical/react/LexicalErrorBoundary';\nimport {ContentEditable} from '@lexical/react/LexicalContentEditable';\nimport {HistoryPlugin} from '@lexical/react/LexicalHistoryPlugin';\nimport {OnChangePlugin} from '@lexical/react/LexicalOnChangePlugin';\nimport {ListPlugin} from '@lexical/react/LexicalListPlugin';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport KoenigBehaviourPlugin from '../plugins/KoenigBehaviourPlugin';\nimport MarkdownShortcutPlugin from '../plugins/MarkdownShortcutPlugin';\nimport PlusCardMenuPlugin from '../plugins/PlusCardMenuPlugin';\nimport SlashCardMenuPlugin from '../plugins/SlashCardMenuPlugin';\nimport FloatingFormatToolbarPlugin from '../plugins/FloatingFormatToolbarPlugin';\nimport ImagePlugin from '../plugins/ImagePlugin';\nimport DragDropPastePlugin from '../plugins/DragDropPastePlugin';\nimport HorizontalRulePlugin from '../plugins/HorizontalRulePlugin';\nimport {EditorPlaceholder} from './ui/EditorPlaceholder';\nimport {ExternalControlPlugin} from '../plugins/ExternalControlPlugin';\nimport '../styles/index.css';\n\nconst KoenigEditor = ({\n onChange,\n markdownTransformers,\n registerAPI,\n cursorDidExitAtTop\n}) => {\n const _onChange = React.useCallback((editorState) => {\n const json = editorState.toJSON();\n onChange?.(json);\n }, [onChange]);\n\n const {editorContainerRef} = React.useContext(KoenigComposerContext);\n // we need an element reference for the container element that\n // any floating elements in plugins will be rendered inside\n const [floatingAnchorElem, setFloatingAnchorElem] = React.useState(null);\n const onRef = (_floatingAnchorElem) => {\n if (_floatingAnchorElem !== null) {\n setFloatingAnchorElem(_floatingAnchorElem);\n }\n };\n\n return (\n <div className=\"koenig-lexical\" ref={editorContainerRef}>\n <RichTextPlugin\n contentEditable={\n <div ref={onRef}>\n <ContentEditable className=\"kg-prose\" />\n </div>\n }\n placeholder={<EditorPlaceholder />}\n ErrorBoundary={LexicalErrorBoundary}\n />\n <OnChangePlugin onChange={_onChange} />\n <HistoryPlugin /> {/* adds undo/redo */}\n <ListPlugin /> {/* adds indent/outdent/remove etc support */}\n <KoenigBehaviourPlugin containerElem={editorContainerRef} cursorDidExitAtTop={cursorDidExitAtTop} />\n <MarkdownShortcutPlugin transformers={markdownTransformers} />\n <PlusCardMenuPlugin />\n <SlashCardMenuPlugin />\n {floatingAnchorElem && (<FloatingFormatToolbarPlugin anchorElem={floatingAnchorElem} />)}\n <ImagePlugin />\n <DragDropPastePlugin />\n <HorizontalRulePlugin />\n <ExternalControlPlugin registerAPI={registerAPI} />\n </div>\n );\n};\n\nexport default KoenigEditor;\n"],"names":["SvgKgBold","props","React","SvgKgItalic","SvgKgHeading1","SvgKgHeading2","SvgKgLink","SvgKgQuote","SvgKgImgRegular","SvgKgImgWide","SvgKgImgFull","SvgKgReplace","SvgKgAdd","SvgKgSnippet","SvgPlus","SvgKgCardTypeImage","SvgKgCardTypeMarkdown","SvgKgCardTypeHtml","SvgKgCardTypeGallery","SvgKgCardTypeDivider","SvgKgCardTypeBookmark","SvgKgCardTypeEmail","SvgKgCardTypeEmailCta","SvgKgCardTypePreview","SvgKgCardTypeButton","SvgKgCardTypeCallout","SvgKgCardTypeGif","SvgKgCardTypeToggle","SvgKgCardTypeVideo","SvgKgCardTypeAudio","SvgKgCardTypeFile","SvgKgCardTypeProduct","SvgKgCardTypeHeader","SvgKgCardTypeYoutube","SvgKgCardTypeTwitter","SvgKgCardTypeUnsplash","SvgKgCardTypeVimeo","SvgKgCardTypeCodepen","SvgKgCardTypeSpotify","SvgKgCardTypeSoundcloud","SvgKgCardTypeNft","SvgKgCardTypeOther","SvgKgCardTypeSnippet","SvgKgImgPlaceholder","SvgKgGalleryPlaceholder","f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min","module","DesignSandbox","_jsx","ComponentTitle","TextToolbar","ImageToolbar","GalleryToolbar","PlusButton","CardMenu","DividerCard","CodeBlock","ImageCard","GalleryCard","label","ToolbarItem","BoldIcon","ItalicIcon","HeadingOneIcon","HeadingTwoIcon","ToolbarSeparator","QuoteIcon","LinkIcon","SnippetIcon","ImgRegularIcon","ImgWideIcon","ImgFullIcon","ReplaceIcon","AddIcon","Icon","PlusIcon","CardMenuSection","CardMenuItem","ImageCardIcon","MarkdownCardIcon","HtmlCardIcon","GalleryCardIcon","DividerCardIcon","BookmarkCardIcon","EmailCardIcon","EmailCtaCardIcon","PreviewCardIcon","ButtonCardIcon","CalloutCardIcon","GifCardIcon","ToggleCardIcon","VideoCardIcon","AudioCardIcon","FileCardIcon","ProductCardIcon","HeaderCardIcon","YoutubeCardIcon","TwitterCardIcon","UnsplashCardIcon","VimeoCardIcon","CodepenCardIcon","SpotifyCardIcon","SoundcloudCardIcon","NftCardIcon","OtherCardIcon","CardSnippetItem","SnippetCardIcon","minWidth","desc","_jsxs","CaptionEditor","isActive","setActive","useState","altText","setAltText","toggleActive","toggleAltText","stopPropagation","MediaPlaceholder","ImgPlaceholderIcon","placeholder","GalleryPlaceholderIcon","LexicalComposerContext_prod","LexicalComposerContext","LexicalComposerContext_1","ba","ca","da","ea","ha","ia","ja","ka","la","na","oa","pa","qa","ra","sa","ta","ua","va","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","r","t","Na","u","Oa","Pa","Qa","Ra","Ta","Ua","Va","Wa","Xa","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","x","hb","A","v","w","ib","C","D","y","E","z","jb","B","kb","F","T","aa","G","lb","mb","nb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","H","Eb","I","J","Fb","Gb","Hb","K","L","Ib","M","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","N","Tb","Ub","Vb","Wb","Xb","Yb","Zb","O","$b","ac","bc","cc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","P","Q","R","sc","S","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","U","Xc","Rc","Sc","Tc","Uc","Vc","Wc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","V","id","jd","kd","ld","md","nd","od","pd","qd","X","rd","sd","td","ud","vd","wd","xd","yd","zd","Ad","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","Y","Z","be","ce","de","ee","fe","ge","he","W","ie","Sa","wa","Ge","He","ob","Md","xa","Nd","Od","pb","Pd","dc","Qd","Ie","ec","Je","Rd","Sd","fc","gc","fa","ma","hc","qb","Td","rb","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Lexical_prod","Lexical","Lexical_1","require$$1","require$$2","LexicalComposer_prod","LexicalComposer","LexicalComposer_1","LexicalUtils_prod","LexicalUtils","LexicalUtils_1","LexicalList_prod","LexicalList","LexicalList_1","LexicalSelection_prod","LexicalSelection","LexicalSelection_1","LexicalHtml_prod","LexicalHtml","LexicalHtml_1","require$$3","require$$4","LexicalClipboard_prod","LexicalClipboard","LexicalClipboard_1","LexicalRichText_prod","LexicalRichText","LexicalRichText_1","LexicalLink_prod","LexicalLink","LexicalLink_1","AsideNode","ElementNode","node","config","element","addClassNamesToElement","prevNode","dom","convertAsideElement","serializedNode","$createAsideNode","newBlock","$createParagraphNode","direction","paragraph","child","useLexicalNodeSelection_prod","useLexicalNodeSelection","useLexicalNodeSelection_1","CardContext","createContext","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","propName","componentName","location","propFullName","secret","err","getShim","ReactPropTypes","propTypesModule","CardWrapper","forwardRef","isSelected","cardWidth","cardType","children","ref","propTypes","PropTypes","bool","oneOf","defaultProps","KoenigCardWrapperComponent","nodeKey","width","editor","useLexicalComposerContext","setSelected","clearSelected","selection","setSelection","setCardType","setCardWidth","containerRef","useRef","useLayoutEffect","getEditorState","read","cardNode","$getNodeByKey","getType","useEffect","mergeRegister","registerUpdateListener","editorState","$getSelection","registerCommand","CLICK_COMMAND","event","current","contains","target","COMMAND_PRIORITY_LOW","KEY_ENTER_COMMAND","latestSelection","$isNodeSelection","getNodes","length","preventDefault","paragraphNode","getTopLevelElementOrThrow","insertAfter","select","COMMAND_PRIORITY_EDITOR","KEY_BACKSPACE_COMMAND","matches","update","caption","getCaption","setCaption","slice","previousSibling","getPreviousSibling","nextSibling","getNextSibling","selectEnd","$isDecoratorNode","nodeSelection","$createNodeSelection","add","getKey","$setSelection","selectPrevious","selectStart","selectNext","remove","KEY_DELETE_COMMAND","WrapperContext","cardContainerRef","HorizontalRuleCard","INSERT_HORIZONTAL_RULE_COMMAND","createCommand","HorizontalRuleNode","DecoratorNode","clone","__key","importJSON","$createHorizontalRuleNode","exportJSON","type","version","createDOM","div","document","createElement","getTextContent","isInline","updateDOM","decorate","KoenigCardWrapper","_HorizontalRuleNode","__publicField","kgMenu","insertCommand","$isHorizontalRuleNode","useAutoExpandTextArea","el","value","height","CodeBlockCard","code","language","updateCode","updateLanguage","textareaRef","string","CodeBlockComponent","setCode","setLanguage","CodeBlockNode","constructor","initCode","key","__code","__language","$createCodeBlockNode","getCode","getLatest","self","getWritable","getLanguage","$isCodeBlockNode","KoenigDecoratorNode","ImageParser","NodeClass","domNode","src","title","getAvailableImageWidths","image","imageSizes","imageWidths","_ref","availableImageWidths","isLocalContentImage","url","normalizedSiteUrl","imagePath","isUnsplashImage","getSrcsetAttribute","options","srcsetWidths","imagesPath","filename","srcs","srcsetWidth","unsplashUrl","setSrcsetAttribute","elem","srcset","resizeImage","desiredWidth","desiredHeight","ratio","resizedHeight","renderImageNodeToDOM","figure","figureClasses","img","canTransformImage","defaultMaxWidth","imageDimensions","imgAttributes","_a","srcWidth","INSERT_IMAGE_COMMAND","ImageNode","isBlob","writable","KoenigComposerContext","CaptionInput","onChange","AltTextInput","AltToggleButton","isEditingAlt","onClick","CardCaptionEditor","altTextPlaceholder","captionPlaceholder","setIsEditingAlt","toggleIsEditingAlt","CardText","text","filePicker","size","handleDrag","handleDrop","isDraggedOver","openFileSelection","fileInputRef","ImageUploadForm","onFileChange","PopulatedImageCard","alt","previewSrc","progress","progressStyle","toFixed","_Fragment","EmptyImageCard","setFileInputRef","onFileInputRef","ImageHolder","uploadProgress","setFigureRef","figureRef","func","number","SvgKgQuote1","SvgKgQuote2","SvgKgEdit","TOOLBAR_ICONS","bold","italic","headingOne","headingTwo","quote","quoteOne","QuoteOneIcon","quoteTwo","QuoteTwoIcon","link","imageRegular","ImageRegularIcon","imageWide","ImageWideIcon","imageFull","ImageFullIcon","imageReplace","ImageReplaceIcon","edit","EditIcon","snippet","ToolbarMenu","ToolbarMenuItem","icon","ToolbarMenuSeparator","ActionToolbar","isVisible","getImageDimensions","resolve","reject","imageUploadHandler","files","imageUploader","fileSrc","ImageNodeComponent","triggerFileDialog","dragOver","setDragOver","useContext","toolbarFileInputRef","fls","newCaption","newAltText","renderTimeout","setTimeout","setTriggerFileDialog","clearTimeout","handleImageCardResize","newWidth","dataTransfer","BaseImageNode","dataset","__triggerFileDialog","__previewSrc","getDataset","getPreviewSrc","setPreviewSrc","shouldTrigger","__cardWidth","__src","__altText","__caption","insertParams","queryParams","section","UnsplashIcon","triggerFileSelector","$createImageNode","$isImageNode","DEFAULT_NODES","HeadingNode","ListNode","ListItemNode","QuoteNode","LinkNode","defaultTheme","defaultOnError","error","console","defaultConfig","namespace","theme","KoenigComposer","initialEditorState","nodes","onError","imageUploadFunction","unsplashConfig","initialConfig","useMemo","Object","assign","editorContainerRef","unsplashConf","LexicalText_prod","LexicalText","LexicalText_1","LexicalDragon_prod","LexicalDragon","LexicalDragon_1","require$$5","require$$6","LexicalRichTextPlugin_prod","LexicalRichTextPlugin","LexicalRichTextPlugin_1","require","setPrototypeOf","bind","__proto__","prototype","create","some","is","arguments","Array","call","apply","concat","state","resetErrorBoundary","onReset","reset","getDerivedStateFromError","setState","componentDidCatch","componentDidUpdate","resetKeys","onResetKeysChange","render","fallbackRender","FallbackComponent","fallback","isValidElement","Error","Component","border","color","padding","LexicalErrorBoundary","LexicalErrorBoundary_1","LexicalContentEditable_prod","LexicalContentEditable","LexicalContentEditable_1","LexicalHistory_prod","LexicalHistory","LexicalHistory_1","history","LexicalHistoryPlugin_prod","LexicalHistoryPlugin","LexicalHistoryPlugin_1","LexicalOnChangePlugin_prod","LexicalOnChangePlugin","LexicalOnChangePlugin_1","LexicalListPlugin_prod","LexicalListPlugin","LexicalListPlugin_1","$isAtStartOfDocument","selectedNode","$isTextNode","selectedIndex","selectedTopLevelIndex","$selectDecoratorNode","RANGE_TO_ELEMENT_BOUNDARY_THRESHOLD_PX","getTopLevelNativeElement","nodeType","Node","TEXT_NODE","parentNode","selector","closest","useKoenigBehaviour","containerElem","cursorDidExitAtTop","onMousedown","addEventListener","removeEventListener","KEY_ARROW_UP_COMMAND","clear","$isRangeSelection","isCollapsed","topLevelElement","anchor","getNode","getTopLevelElement","nativeSelection","window","getSelection","onEmptyNode","trim","offset","atStartOfElement","focus","rects","getRangeAt","cloneRange","getClientRects","rangeRect","elemRect","anchorNode","getBoundingClientRect","Math","abs","top","COMMAND_PRIORITY_HIGH","KEY_ARROW_DOWN_COMMAND","nativeTopLevelElement","atEndOfElement","rangeCount","anchorOffset","focusOffset","bottom","KEY_ARROW_LEFT_COMMAND","KEY_ARROW_RIGHT_COMMAND","selectedNodes","$isListItemNode","getIndent","isEmpty","dispatchCommand","INSERT_PARAGRAPH_COMMAND","$isParagraphNode","getParent","listItemNode","append","getChildren","replace","atEndOfNode","$isElementNode","getChildrenSize","getTextContentSize","KEY_TAB_COMMAND","shiftKey","PASTE_COMMAND","clipboard","clipboardDataset","clipboardData","getData","linkMatch","match","selectionContent","textNode","extract","linkNode","$createLinkNode","linkTextNode","$createTextNode","setFormat","getFormat","KoenigBehaviourPlugin","querySelector","_self","Prism","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","o","obj","deepClone","visited","i","scripts","className","defaultActivation","no","classList","redef","inside","before","insert","root","grammar","ret","token","newToken","old","DFS","callback","objId","property","propertyType","async","container","env","parent","insertHighlightedCode","highlightedCode","worker","evt","rest","tokenList","LinkedList","addAfter","matchGrammar","toArray","name","hooks","callbacks","content","alias","matchedStr","stringify","s","aliases","attributes","matchPattern","pattern","pos","lookbehind","lookbehindLength","startNode","startPos","rematch","patterns","j","patternObj","greedy","flags","currentNode","str","removeCount","from","to","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","list","next","newNode","count","array","message","immediateClose","script","highlightAutomaticallyCallback","readyState","global","tagName","includedCdataInside","def","attrName","markup","LOADING_MESSAGE","FAILURE_MESSAGE","status","FAILURE_EMPTY_MESSAGE","EXTENSIONS","STATUS_ATTR","STATUS_LOADING","STATUS_LOADED","STATUS_FAILED","SELECTOR","loadFile","success","xhr","parseRange","range","start","comma","end","pre","extension","autoloader","lines","elements","logged","inner","createInline","tableCell","tableRow","tableLine","walkTokens","codeLang","codeBlock","cls","textContent","ele","tagPattern","KNOWN_ENTITY_NAMES","fromCodePoint","html","known","multilineComment","rule","require$$12","require$$13","LexicalCode_prod","LexicalCode","LexicalCode_1","LexicalMarkdown_prod","LexicalMarkdown","LexicalMarkdown_1","LexicalHorizontalRuleNode_prod","LexicalHorizontalRuleNode","LexicalHorizontalRuleNode_1","LexicalMarkdownShortcutPlugin_prod","LexicalMarkdownShortcutPlugin","LexicalMarkdownShortcutPlugin_1","HR","dependencies","export","regExp","_1","_2","isImport","line","insertBefore","CODE_BLOCK","codeBlockNode","IMAGE","imageNode","ELEMENT_TRANSFORMERS","HEADING","QUOTE","UNORDERED_LIST","ORDERED_LIST","DEFAULT_TRANSFORMERS","TEXT_FORMAT_TRANSFORMERS","TEXT_MATCH_TRANSFORMERS","MarkdownShortcutPlugin","transformers","getSelectedNode","focusNode","$isAtNodeEnd","PlusMenu","menu","Map","selectedItemIndex","CardMenuSections","itemIndex","sectionLabel","items","CardMenuItems","forEach","item","push","getEditorCardNodes","allNodes","cardNodes","klass","buildCardMenu","query","maxItemIndex","addMenuItem","usePlusCardMenu","isShowingButton","setIsShowingButton","isShowingMenu","setIsShowingMenu","topPosition","setTopPosition","cachedRange","setCachedRange","cardMenu","setCardMenu","getTopPosition","containerRect","getElementRange","Range","setStart","setEnd","moveCursorToCachedRange","useCallback","removeAllRanges","addRange","showButton","hideButton","openMenu","closeMenu","resetCursor","updateButton","isComposing","rootElement","getRootElement","commandParams","hideButtonOnOutsideSelection","updateButtonOnMousemove","pageX","pageY","left","hoveredElem","elementFromPoint","closeMenuOnClickOutside","handleKeydown","includes","style","PlusCardMenuPlugin","SlashMenu","useSlashCardMenu","setQuery","setCommandParams","setSelectedItemIndex","modify","deleteCharacter","startsWith","command","cps","split","triggerMenu","ctrlKey","metaKey","altKey","paragraphSize","isEmptyParagraph","isFullParagraphSelection","selectionElem","handleEscape","handleMousedown","moveUp","moveDown","enter","click","SlashCardMenuPlugin","VERTICAL_GAP","setFloatingElemPosition","targetRect","floatingElem","anchorElem","scrollerElem","floatingElemRect","anchorElementRect","editorScrollerRect","getDOMRangeRect","domRange","rect","getScrollParent","overflowY","isScrollable","blockTypeToBlockName","bullet","check","h1","h2","h3","h4","h5","h6","aside","FloatingFormatToolbar","isText","blockType","isBold","isItalic","stickyToolbar","setStickyToolbar","toolbarRef","formatParagraph","formatHeading","headingSize","$wrapNodes","$createHeadingNode","formatQuote","$createQuoteNode","updateFloatingToolbar","toolbarElement","toggleVis","opacity","shiftUp","scrollElement","SELECTION_CHANGE_COMMAND","FORMAT_TEXT_COMMAND","useFloatingFormatToolbar","setIsText","setIsBold","setIsItalic","setBlockType","updatePopup","elementKey","elementDOM","getElementByKey","hasFormat","$isListNode","parentList","$getNearestNodeOfType","getListType","$isHeadingNode","getTag","createPortal","FloatingFormatToolbarPlugin","body","SvgKgSearch","SvgKgClose","UnsplashSelector","closeModal","handleSearch","galleryRef","CloseIcon","SearchIcon","MasonryLayout","columnCount","columns","columnHeights","photo","min","columnIndex","newColumnCount","masonry","UnsplashService","API_URL","HEADERS","response","pagination","linkRegex","links","entry","linkParts","errorText","responseTextPromise","json","responseText","term","SvgKgUnsplashHeart","SvgKgDownload","BUTTON_ICONS","heart","UnsplashHeartIcon","download","DownloadIcon","UnsplashButton","UnsplashImage","payload","srcUrl","likes","user","urls","zoomed","insertImage","selectImg","profile_image","small","regular","UnsplashZoomed","alt_description","object","UnsplashGalleryLoading","MasonryColumn","UnsplashGalleryColumns","map","index","GalleryLayout","isLoading","UnsplashGallery","UnsplashModal","handleModalClose","UnsplashLib","scrollPos","setScrollPos","lastScrollPos","setLastScrollPos","setIsLoading","search_is_running","initLoadRef","searchTerm","setSearchTerm","zoomedImg","setZoomedImg","setDataset","getColumns","scrollTop","portalContainer","closeModalHandler","loadInitPhotos","clearPhotos","loadNew","search","updateSearch","timeoutId","loadMorePhotos","loadNextPage","handleScroll","clientHeight","scrollHeight","insertImageToNode","triggerDownload","setSrc","setImgHeight","setImgWidth","ImagePlugin","setSelector","selectedKey","setSelectedKey","showModal","setShowModal","handleImageUpload","imageNodeKey","hasNodes","selectedIsBlankParagraph","nextNode","insertParagraph","isMimeType","file","acceptableMimeTypes","mimeType","keys","find","mediaFileReader","filesIterator","Symbol","iterator","Promise","processed","handleNextFile","done","fileReader","FileReader","result","readAsDataURL","getListofAcceptableMimeTypes","mimeTypes","DragDropPastePlugin","DRAG_DROP_PASTE","dropTarget","handleFileUpload","HorizontalRulePlugin","horizontalRuleNode","EditorPlaceholder","ExternalControlPlugin","registerAPI","editorInstance","editorIsEmpty","$canShowPlaceholder","focusEditor","position","editorFocusOptions","defaultSelection","firstChild","$getRoot","getFirstChild","blurEditor","blur","insertParagraphAtTop","KoenigEditor","markdownTransformers","_onChange","toJSON","floatingAnchorElem","setFloatingAnchorElem","onRef","_floatingAnchorElem","RichTextPlugin","ContentEditable","OnChangePlugin","HistoryPlugin","ListPlugin"],"mappings":"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"}
|