@tryghost/koenig-lexical 0.0.14 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koenig-lexical.js","sources":["../../../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/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../src/components/KoenigCardWrapper.jsx","../src/nodes/HorizontalRuleNode.jsx","../src/utils/autoExpandTextArea.js","../src/nodes/CodeBlockNode.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/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","../../../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/useLexicalNodeSelection.prod.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.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/utils/setFloatingElemPosition.js","../src/utils/getDOMRangeRect.js","../src/utils/getScrollParent.js","../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-quote-1.svg","../src/assets/icons/kg-quote-2.svg","../src/plugins/FloatingFormatToolbar.jsx","../src/components/KoenigEditor.jsx"],"sourcesContent":["/**\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 aa={},ba={},ca={},da={},ea={},fa={},ha={},ia={},ka={},la={},p={},ma={},na={},oa={},pa={},qa={},ra={},sa={},ta={},xa={},ya={},za={},Aa={},Ba={},Ca={},Da={},Ea={},Fa={},Ga={},Ha={},Ia={},Ja={},Ka={},La={};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 Ma=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,Na=Ma&&\"documentMode\"in document?document.documentMode:null,t=Ma&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Oa=Ma&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),Pa=Ma&&\"InputEvent\"in window&&!Na?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,Qa=Ma&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Ta=Ma&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&\n!window.MSStream,Ua=Qa||Ta?\"\\u00a0\":\"\\u200b\",Va=Oa?\"\\u00a0\":Ua,Wa=/^[^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]/,Xa=/^[^\\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]/,Ya={bold:1,code:16,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},Za={directionless:1,\nunmergeable:2},$a={center:2,justify:4,left:1,right:3},ab={2:\"center\",4:\"justify\",1:\"left\",3:\"right\"},bb={normal:0,segmented:2,token:1},cb={0:\"normal\",2:\"segmented\",1:\"token\"},db=!1,eb=0;function fb(a){eb=a.timeStamp}function gb(a,b,c){return b.__lexicalLineBreak===a||void 0!==a[`__lexicalKey_${c._key}`]}function hb(a){return a.getEditorState().read(()=>{let b=u();return null!==b?b.clone():null})}\nfunction ib(a,b,c){db=!0;let d=100<performance.now()-eb;try{x(a,()=>{let f=u()||hb(a);var e=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=jb(v,h);if(!A(w))if(\"characterData\"===q){if(n=d&&C(w))a:{n=f;q=v;var y=w;if(D(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=window.getSelection(),q=n=null,null!==y&&y.anchorNode===v&&(n=y.anchorOffset,q=y.focusOffset),\nv=v.nodeValue,null!==v&&kb(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=lb(z),E=z.parentNode;null==E||null!==B||\"BR\"===z.nodeName&&gb(z,E,a)||(Oa&&(B=z.innerText||z.nodeValue)&&(m+=B),E.removeChild(z))}n=n.removedNodes;q=n.length;if(0<q){y=0;for(z=0;z<q;z++)E=n[z],\"BR\"===E.nodeName&&gb(E,v,a)&&(v.appendChild(E),y++);q!==y&&(v===g&&(w=h._nodeMap.get(\"root\")),e.set(v,w))}}}if(0<e.size)for(let [Q,Z]of e)if(F(Z))for(e=Z.__children,g=Q.firstChild,h=0;h<\ne.length;h++)l=a.getElementByKey(e[h]),null!==l&&(null==g?(Q.appendChild(l),g=l):g!==l&&Q.replaceChild(l,g),g=g.nextSibling);else C(Z)&&Z.markDirty();e=c.takeRecords();if(0<e.length){for(g=0;g<e.length;g++)for(l=e[g],h=l.addedNodes,l=l.target,w=0;w<h.length;w++)v=h[w],n=v.parentNode,null==n||\"BR\"!==v.nodeName||gb(v,l,a)||n.removeChild(v);c.takeRecords()}null!==f&&(k&&(f.dirty=!0,mb(f)),Oa&&nb(a)&&f.insertRawText(m))})}finally{db=!1}}\nfunction ob(a){let b=a._observer;if(null!==b){let c=b.takeRecords();ib(a,c,b)}}function qb(a){0===eb&&rb(a).addEventListener(\"textInput\",fb,!0);a._observer=new MutationObserver((b,c)=>{ib(a,b,c)})}let sb=1,tb=\"function\"===typeof queueMicrotask?queueMicrotask:a=>{Promise.resolve().then(a)};\nfunction ub(a,b,c){let d=a.getRootElement();try{var f;if(f=null!==d&&d.contains(b)&&d.contains(c)&&null!==b){let e=document.activeElement,g=null!==e?e.nodeName:null;f=!A(jb(b))||\"INPUT\"!==g&&\"TEXTAREA\"!==g}return f&&vb(b)===a}catch(e){return!1}}function vb(a){for(;null!=a;){let b=a.__lexicalEditor;if(null!=b)return b;a=a.parentNode}return null}function wb(a){return a.isToken()||a.isSegmented()}function xb(a){for(;null!=a;){if(3===a.nodeType)return a;a=a.firstChild}return null}\nfunction yb(a,b,c){b=Ya[b];return a&b&&(null===c||0===(c&b))?a^b:null===c||c&b?a|b:a}function zb(a){return C(a)||Ab(a)||A(a)}function Bb(a){var b=a.getParent();if(null!==b){b=b.getWritable().__children;let c=b.indexOf(a.__key);-1===c&&r(31);Cb(a);b.splice(c,1)}}\nfunction Db(a){99<Eb&&r(14);var b=a.getLatest(),c=b.__parent,d=G();let f=H(),e=d._nodeMap;d=f._dirtyElements;if(null!==c)a:for(;null!==c;){if(d.has(c))break a;let g=e.get(c);if(void 0===g)break;d.set(c,!1);c=g.__parent}b=b.__key;f._dirtyType=1;F(a)?d.set(b,!0):f._dirtyLeaves.add(b)}function Cb(a){let b=a.getPreviousSibling();a=a.getNextSibling();null!==b&&Db(b);null!==a&&Db(a)}\nfunction I(a){J();var b=H();let c=b._compositionKey;a!==c&&(b._compositionKey=a,null!==c&&(b=K(c),null!==b&&b.getWritable()),null!==a&&(a=K(a),null!==a&&a.getWritable()))}function Fb(){return L?null:H()._compositionKey}function K(a,b){a=(b||G())._nodeMap.get(a);return void 0===a?null:a}function lb(a,b){let c=H();a=a[`__lexicalKey_${c._key}`];return void 0!==a?K(a,b):null}function jb(a,b){for(;null!=a;){let c=lb(a,b);if(null!==c)return c;a=a.parentNode}return null}\nfunction Gb(a){let b=Object.assign({},a._decorators);return a._pendingDecorators=b}function Hb(a){return a.read(()=>Ib().getTextContent())}function Jb(a,b){x(a,()=>{var c=G();if(!c.isEmpty())if(\"root\"===b)Ib().markDirty();else{c=c._nodeMap;for(let [,d]of c)d.markDirty()}},null===a._pendingEditorState?{tag:\"history-merge\"}:void 0)}function Ib(){return G()._nodeMap.get(\"root\")}function mb(a){let b=G();null!==a&&(a.dirty=!0,a._cachedNodes=null);b._selection=a}\nfunction Kb(a){var b=H(),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?K(\"root\"):null):K(c)}function Lb(a){return/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g.test(a)}function Mb(a){let b=[];for(;null!==a;)b.push(a),a=a._parentEditor;return b}function Nb(){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,5)}\nfunction Ob(a,b){var c=window.getSelection();if(null!==c){var d=c.anchorNode,{anchorOffset:f,focusOffset:e}=c;if(null!==d&&3===d.nodeType&&(c=jb(d),C(c))){d=d.nodeValue;if(d===Ua&&b){let g=b.length;d=b;e=f=g}null!==d&&kb(c,d,f,e,a)}}}\nfunction kb(a,b,c,d,f){let e=a;if(e.isAttached()&&(f||!e.isDirty())){var g=e.isComposing();a=b;(g||f)&&b[b.length-1]===Ua&&(a=b.slice(0,-1));b=e.getTextContent();if(f||a!==b)if(\"\"===a)if(I(null),Qa||Ta)e.remove();else{let h=H();setTimeout(()=>{h.update(()=>{e.isAttached()&&e.remove()})},20)}else f=e.getParent(),b=Pb(),e.isToken()||null!==Fb()&&!g||null!==f&&D(b)&&!f.canInsertTextBefore()&&0===b.anchor.offset?e.markDirty():(g=u(),D(g)&&null!==c&&null!==d&&(g.setTextNodeRange(e,c,e,d),e.isSegmented()&&\n(c=e.getTextContent(),c=M(c),e.replace(c),e=c)),e.setTextContent(a))}}function Qb(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=(C(b)||F(b)&&b.isInline())&&!b.canInsertTextAfter()),a):a===b.getTextContentSize()?!b.canInsertTextAfter()||!c.canInsertTextAfter()||d:!1}\nfunction Rb(a,b){let c=a.anchor,d=a.focus,f=c.getNode();var e=window.getSelection();e=null!==e?e.anchorNode:null;let g=c.key,h=H().getElementByKey(g),k=b.length;return g!==d.key||!C(f)||(2>k||Lb(b))&&c.offset!==d.offset&&!f.isComposing()||wb(f)||f.isDirty()&&1<k||null!==h&&!f.isComposing()&&e!==xb(h)||f.getFormat()!==a.format||Qb(a,f)}function Sb(a,b){var c=a[b];return\"string\"===typeof c?(c=c.split(\" \"),a[b]=c):c}\nfunction Tb(a,b,c,d,f){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,f))}function Ub(a,b,c){let d=a.getParent(),f=c;null!==d&&(b&&0===c?(f=a.getIndexWithinParent(),a=d):b||c!==a.getChildrenSize()||(f=a.getIndexWithinParent()+1,a=d));return a.getChildAtIndex(b?f-1:f)}\nfunction Vb(a,b){var c=a.offset;if(\"element\"===a.type)return a=a.getNode(),Ub(a,b,c);a=a.getNode();return b&&0===c||!b&&c===a.getTextContentSize()?(c=b?a.getPreviousSibling():a.getNextSibling(),null===c?Ub(a.getParentOrThrow(),b,a.getIndexWithinParent()+(b?0:1)):c):null}function nb(a){a=(a=rb(a).event)&&a.inputType;return\"insertFromPaste\"===a||\"insertFromPasteAsQuotation\"===a}function Wb(a){return!N(a)&&!a.isLastChild()&&!a.isInline()}\nfunction Xb(a,b){a=a._keyToDOMMap.get(b);void 0===a&&r(75);return a}function $b(a,b=0){0!==b&&r(1);b=u();if(!D(b)||!F(a))return b;let {anchor:c,focus:d}=b,f=c.getNode(),e=d.getNode();ac(f,a)&&c.set(a.__key,0,\"element\");ac(e,a)&&d.set(a.__key,0,\"element\");return b}function ac(a,b){for(a=a.getParent();null!==a;){if(a.is(b))return!0;a=a.getParent()}return!1}function rb(a){a=a._window;null===a&&r(78);return a}function bc(a){return N(a)||F(a)&&a.isShadowRoot()}\nfunction cc(a,b,c,d,f){a=a.__children;let e=a.length;for(let g=0;g<e;g++){let h=a[g],k=d.get(h);void 0!==k&&k.__parent===b&&(F(k)&&cc(k,h,c,d,f),c.has(h)||f.delete(h),d.delete(h))}}function dc(a,b,c,d){a=a._nodeMap;b=b._nodeMap;for(let f of c){let e=b.get(f);void 0===e||e.isAttached()||(a.has(f)||c.delete(f),b.delete(f))}for(let [f]of d)c=b.get(f),void 0===c||c.isAttached()||(F(c)&&cc(c,f,a,b,d),a.has(f)||d.delete(f),b.delete(f))}\nfunction ec(a,b){let c=a.__mode,d=a.__format;a=a.__style;let f=b.__mode,e=b.__format;b=b.__style;return(null===c||c===f)&&(null===d||d===e)&&(null===a||a===b)}function fc(a,b){let c=a.mergeWithSibling(b),d=H()._normalizedNodes;d.add(a.__key);d.add(b.__key);return c}\nfunction gc(a){if(\"\"===a.__text&&a.isSimpleText()&&!a.isUnmergeable())a.remove();else{for(var b;null!==(b=a.getPreviousSibling())&&C(b)&&b.isSimpleText()&&!b.isUnmergeable();)if(\"\"===b.__text)b.remove();else{ec(b,a)&&(a=fc(b,a));break}for(var c;null!==(c=a.getNextSibling())&&C(c)&&c.isSimpleText()&&!c.isUnmergeable();)if(\"\"===c.__text)c.remove();else{ec(a,c)&&fc(a,c);break}}}\nfunction hc(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(C(b)){a.set(b.__key,c?b.getTextContentSize():0,\"text\");break}else if(!F(b))break;a.set(b.__key,c?b.getChildrenSize():0,\"element\")}}let O=\"\",P=\"\",R=\"\",ic,S,jc,kc=!1,lc=!1,mc,nc=null,oc,pc,qc,rc,sc,tc;\nfunction uc(a,b){let c=qc.get(a);if(null!==b){let d=vc(a);b.removeChild(d)}rc.has(a)||S._keyToDOMMap.delete(a);F(c)&&(a=c.__children,wc(a,0,a.length-1,null));void 0!==c&&Tb(tc,jc,mc,c,\"destroyed\")}function wc(a,b,c,d){for(;b<=c;++b){let f=a[b];void 0!==f&&uc(f,d)}}function xc(a,b){a.setProperty(\"text-align\",b)}function yc(a,b){a.style.setProperty(\"padding-inline-start\",0===b?\"\":20*b+\"px\")}\nfunction zc(a,b){a=a.style;0===b?xc(a,\"\"):1===b?xc(a,\"left\"):2===b?xc(a,\"center\"):3===b?xc(a,\"right\"):4===b&&xc(a,\"justify\")}\nfunction Ac(a,b,c){let d=rc.get(a);void 0===d&&r(60);let f=d.createDOM(ic,S);var e=S._keyToDOMMap;f[\"__lexicalKey_\"+S._key]=a;e.set(a,f);C(d)?f.setAttribute(\"data-lexical-text\",\"true\"):A(d)&&f.setAttribute(\"data-lexical-decorator\",\"true\");if(F(d)){a=d.__indent;0!==a&&yc(f,a);a=d.__children;var g=a.length;if(0!==g){e=a;--g;let h=P;P=\"\";Bc(e,0,g,f,null);Cc(d,f);P=h}e=d.__format;0!==e&&zc(f,e);Dc(null,a,f);Wb(d)&&(O+=\"\\n\\n\",R+=\"\\n\\n\")}else e=d.getTextContent(),A(d)?(g=d.decorate(S,ic),null!==g&&Ec(a,\ng),f.contentEditable=\"false\"):C(d)&&(d.isDirectionless()||(P+=e)),O+=e,R+=e;null!==b&&(null!=c?b.insertBefore(f,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(f,c):b.appendChild(f)));Tb(tc,jc,mc,d,\"created\");return f}function Bc(a,b,c,d,f){let e=O;for(O=\"\";b<=c;++b)Ac(a[b],d,f);d.__lexicalTextContent=O;O=e+O}function Fc(a,b){a=b.get(a[a.length-1]);return Ab(a)||A(a)}\nfunction Dc(a,b,c){a=null!==a&&(0===a.length||Fc(a,qc));b=null!==b&&(0===b.length||Fc(b,rc));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 Cc(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==P||c!==nc){let e=\"\"===P;if(e)var d=nc;else d=P,d=Wa.test(d)?\"rtl\":Xa.test(d)?\"ltr\":null;if(d!==c){let g=b.classList,h=ic.theme;var f=null!==c?h[c]:void 0;let k=null!==d?h[d]:void 0;void 0!==f&&(\"string\"===typeof f&&(f=f.split(\" \"),f=h[c]=f),g.remove(...f));null===d||e&&\"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);lc||(a.getWritable().__dir=d)}nc=\nd;b.__lexicalDirTextContent=P;b.__lexicalDir=d}}\nfunction Gc(a,b){var c=qc.get(a),d=rc.get(a);void 0!==c&&void 0!==d||r(61);var f=kc||pc.has(a)||oc.has(a);let e=Xb(S,a);if(c===d&&!f)return F(c)?(d=e.__lexicalTextContent,void 0!==d&&(O+=d,R+=d),d=e.__lexicalDirTextContent,void 0!==d&&(P+=d)):(d=c.getTextContent(),C(c)&&!c.isDirectionless()&&(P+=d),R+=d,O+=d),e;c!==d&&f&&Tb(tc,jc,mc,d,\"updated\");if(d.updateDOM(c,e,ic))return d=Ac(a,null,null),null===b&&r(62),b.replaceChild(d,e),uc(a,null),d;if(F(c)&&F(d)){a=d.__indent;a!==c.__indent&&yc(e,a);a=d.__format;\na!==c.__format&&zc(e,a);a=c.__children;c=d.__children;if(a!==c||f){var g=a,h=c;f=d;b=P;P=\"\";let v=O;O=\"\";var k=g.length,m=h.length;if(1===k&&1===m){var l=g[0];h=h[0];if(l===h)Gc(l,e);else{var n=vc(l);h=Ac(h,null,null);e.replaceChild(h,n);uc(l,null)}}else if(0===k)0!==m&&Bc(h,0,m-1,e,null);else if(0===m)0!==k&&(l=null==e.__lexicalLineBreak,wc(g,0,k-1,l?null:e),l&&(e.textContent=\"\"));else{let w=k-1;k=m-1;let y=e.firstChild,z=0;for(m=0;z<=w&&m<=k;){var q=g[z];let B=h[m];if(q===B)y=Gc(B,e).nextSibling,\nz++,m++;else{void 0===l&&(l=new Set(g));void 0===n&&(n=new Set(h));let E=n.has(q),Q=l.has(B);E?(Q?(q=Xb(S,B),q===y?y=Gc(B,e).nextSibling:(null!=y?e.insertBefore(q,y):e.appendChild(q),Gc(B,e)),z++):Ac(B,e,y),m++):(y=vc(q).nextSibling,uc(q,e),z++)}}l=z>w;n=m>k;l&&!n?(l=h[k+1],l=void 0===l?null:S.getElementByKey(l),Bc(h,m,k,e,l)):n&&!l&&wc(g,z,w,e)}Wb(f)&&(O+=\"\\n\\n\");e.__lexicalTextContent=O;O=v+O;Cc(f,e);P=b;N(d)||Dc(a,c,e)}Wb(d)&&(O+=\"\\n\\n\",R+=\"\\n\\n\")}else c=d.getTextContent(),A(d)?(f=d.decorate(S,\nic),null!==f&&Ec(a,f)):C(d)&&!d.isDirectionless()&&(P+=c),O+=c,R+=c;!lc&&N(d)&&d.__cachedText!==R&&(d=d.getWritable(),d.__cachedText=R);return e}function Ec(a,b){let c=S._pendingDecorators,d=S._decorators;if(null===c){if(d[a]===b)return;c=Gb(S)}c[a]=b}function vc(a){a=sc.get(a);void 0===a&&r(75);return a}\nlet T=Object.freeze({}),Nc=[[\"keydown\",Hc],[\"mousedown\",Ic],[\"compositionstart\",Jc],[\"compositionend\",Kc],[\"input\",Lc],[\"click\",Mc],[\"cut\",T],[\"copy\",T],[\"dragstart\",T],[\"dragover\",T],[\"dragend\",T],[\"paste\",T],[\"focus\",T],[\"blur\",T],[\"drop\",T]];Pa&&Nc.push([\"beforeinput\",(a,b)=>Oc(a,b)]);let Pc=0,Qc=0,Rc=0,Sc=!1,Tc=!1,Uc=!1,Vc=!1,Wc=[0,0,\"root\",0];function Xc(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}\nfunction Yc(a,b,c){let {anchorNode:d,anchorOffset:f,focusNode:e,focusOffset:g}=a;if(Sc&&(Sc=!1,Xc(d,f)&&Xc(e,g)))return;x(b,()=>{if(!c)mb(null);else if(ub(b,d,e)){var h=u();if(D(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){\"Range\"===a.type&&a.anchorNode===a.focusNode&&(h.dirty=!0);var l=rb(b).event;l=l?l.timeStamp:performance.now();let [n,q,v,w]=Wc;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(C(v)&&(m=!0,k&=v.getFormat(),0===k))break}h.format=m?k:0}}U(b,aa,void 0)}})}function Mc(a,b){x(b,()=>{let c=u(),d=window.getSelection(),f=Pb();if(D(c)){let e=c.anchor,g=e.getNode();d&&\"element\"===e.type&&0===e.offset&&c.isCollapsed()&&!N(g)&&1===Ib().getChildrenSize()&&g.getTopLevelElementOrThrow().isEmpty()&&null!==f&&c.is(f)&&(d.removeAllRanges(),c.dirty=!0)}U(b,ba,a)})}\nfunction Ic(a,b){let c=a.target;c instanceof Node&&x(b,()=>{A(jb(c))||(Tc=!0)})}function Zc(a,b){b.getTargetRanges&&(b=b.getTargetRanges()[0])&&a.applyDOMRange(b)}function $c(a,b){return a!==b||F(a)||F(b)||!a.isToken()||!b.isToken()}\nfunction Oc(a,b){let c=a.inputType;\"deleteCompositionText\"===c||Oa&&nb(b)||\"insertCompositionText\"!==c&&x(b,()=>{let d=u();if(\"deleteContentBackward\"===c){if(null===d){var f=Pb();if(!D(f))return;mb(f.clone())}if(D(d)){229===Qc&&a.timeStamp<Pc+30&&b.isComposing()&&d.anchor.key===d.focus.key?(I(null),Pc=0,setTimeout(()=>{x(b,()=>{I(null)})},30),D(d)&&(f=d.anchor.getNode(),f.markDirty(),d.format=f.getFormat())):(a.preventDefault(),U(b,ca,!0));return}}if(D(d)){f=a.data;d.dirty||!d.isCollapsed()||N(d.anchor.getNode())||\nZc(d,a);var e=d.focus,g=d.anchor.getNode();e=e.getNode();if(\"insertText\"===c||\"insertTranspose\"===c)\"\\n\"===f?(a.preventDefault(),U(b,da,!1)):\"\\n\\n\"===f?(a.preventDefault(),U(b,ea,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData(\"text/plain\"),a.preventDefault(),d.insertRawText(f)):null!=f&&Rb(d,f)&&(a.preventDefault(),U(b,fa,f));else switch(a.preventDefault(),c){case \"insertFromYank\":case \"insertFromDrop\":case \"insertReplacementText\":U(b,fa,a);break;case \"insertFromComposition\":I(null);U(b,\nfa,a);break;case \"insertLineBreak\":I(null);U(b,da,!1);break;case \"insertParagraph\":I(null);Uc?(Uc=!1,U(b,da,!1)):U(b,ea,void 0);break;case \"insertFromPaste\":case \"insertFromPasteAsQuotation\":U(b,ha,a);break;case \"deleteByComposition\":$c(g,e)&&U(b,ia,void 0);break;case \"deleteByDrag\":case \"deleteByCut\":U(b,ia,void 0);break;case \"deleteContent\":U(b,ca,!1);break;case \"deleteWordBackward\":U(b,ka,!0);break;case \"deleteWordForward\":U(b,ka,!1);break;case \"deleteHardLineBackward\":case \"deleteSoftLineBackward\":U(b,\nla,!0);break;case \"deleteContentForward\":case \"deleteHardLineForward\":case \"deleteSoftLineForward\":U(b,la,!1);break;case \"formatStrikeThrough\":U(b,p,\"strikethrough\");break;case \"formatBold\":U(b,p,\"bold\");break;case \"formatItalic\":U(b,p,\"italic\");break;case \"formatUnderline\":U(b,p,\"underline\");break;case \"historyUndo\":U(b,ma,void 0);break;case \"historyRedo\":U(b,na,void 0)}}})}\nfunction Lc(a,b){a.stopPropagation();x(b,()=>{var c=u(),d=a.data;null!=d&&D(c)&&Rb(c,d)?(Vc&&(ad(b,d),Vc=!1),U(b,fa,d),d=d.length,Oa&&1<d&&\"insertCompositionText\"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=d),Qa||Ta||!b.isComposing()||(Pc=0,I(null))):(Ob(!1),Vc&&(ad(b,d||void 0),Vc=!1));J();c=H();ob(c)})}\nfunction Jc(a,b){x(b,()=>{let c=u();if(D(c)&&!b.isComposing()){let d=c.anchor;I(d.key);(a.timeStamp<Pc+30||\"element\"===d.type||!c.isCollapsed()||c.anchor.getNode().getFormat()!==c.format)&&U(b,fa,Va)}})}\nfunction ad(a,b){var c=a._compositionKey;I(null);if(null!==c&&null!=b){if(\"\"===b){b=K(c);a=xb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&C(b)&&kb(b,a.nodeValue,null,null,!0);return}if(\"\\n\"===b[b.length-1]&&(c=u(),D(c))){b=c.focus;c.anchor.set(b.key,b.offset,b.type);U(a,xa,null);return}}Ob(!0,b)}function Kc(a,b){Oa?Vc=!0:x(b,()=>{ad(b,a.data)})}\nfunction Hc(a,b){if(!0!==a._lexicalHandled&&(a._lexicalHandled=!0,Pc=a.timeStamp,Qc=a.keyCode,!b.isComposing())){var {keyCode:c,shiftKey:d,ctrlKey:f,metaKey:e,altKey:g}=a;if(39!==c||f||e||g)if(39!==c||g||d||!f&&!e)if(37!==c||f||e||g)if(37!==c||g||d||!f&&!e)if(38!==c||f||e)if(40!==c||f||e)if(13===c&&d)Uc=!0,U(b,xa,a);else if(32===c)U(b,ya,a);else if(t&&f&&79===c)a.preventDefault(),Uc=!0,U(b,da,!0);else if(13!==c||d){var h=t?g||e?!1:8===c||72===c&&f:f||g||e?!1:8===c;h?8===c?U(b,za,a):(a.preventDefault(),\nU(b,ca,!0)):27===c?U(b,Aa,a):(h=t?d||g||e?!1:46===c||68===c&&f:f||g||e?!1:46===c,h?46===c?U(b,Ba,a):(a.preventDefault(),U(b,ca,!1)):8===c&&(t?g:f)?(a.preventDefault(),U(b,ka,!0)):46===c&&(t?g:f)?(a.preventDefault(),U(b,ka,!1)):t&&e&&8===c?(a.preventDefault(),U(b,la,!0)):t&&e&&46===c?(a.preventDefault(),U(b,la,!1)):66===c&&!g&&(t?e:f)?(a.preventDefault(),U(b,p,\"bold\")):85===c&&!g&&(t?e:f)?(a.preventDefault(),U(b,p,\"underline\")):73===c&&!g&&(t?e:f)?(a.preventDefault(),U(b,p,\"italic\")):9!==c||g||f||\ne?90===c&&!d&&(t?e:f)?(a.preventDefault(),U(b,ma,void 0)):(h=t?90===c&&e&&d:89===c&&f||90===c&&f&&d,h?(a.preventDefault(),U(b,na,void 0)):bd(b._editorState._selection)&&(h=d?!1:67===c?t?e:f:!1,h?(a.preventDefault(),U(b,Ha,a)):(h=d?!1:88===c?t?e:f:!1,h&&(a.preventDefault(),U(b,Ia,a))))):U(b,Ca,a))}else Uc=!1,U(b,xa,a);else U(b,ta,a);else U(b,sa,a);else U(b,ra,a);else U(b,qa,a);else U(b,pa,a);else U(b,oa,a);(f||d||g||e)&&U(b,La,a)}}\nfunction cd(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let dd=new Map;function ed(){let a=window.getSelection();if(null!==a){var b=vb(a.anchorNode);if(null!==b){Tc&&(Tc=!1,x(b,()=>{var g=Pb(),h=a.anchorNode;null!==h&&(h=h.nodeType,1===h||3===h)&&(g=fd(g,a,b),mb(g))}));var c=Mb(b);c=c[c.length-1];var d=c._key,f=dd.get(d),e=f||c;e!==b&&Yc(a,e,!1);Yc(a,b,!0);b!==c?dd.set(d,b):f&&dd.delete(d)}}}\nfunction gd(a,b){0===Rc&&a.ownerDocument.addEventListener(\"selectionchange\",ed);Rc++;a.__lexicalEditor=b;let c=cd(a);for(let d=0;d<Nc.length;d++){let [f,e]=Nc[d],g=\"function\"===typeof e?h=>{b.isEditable()&&e(h,b)}:h=>{if(b.isEditable())switch(f){case \"cut\":return U(b,Ia,h);case \"copy\":return U(b,Ha,h);case \"paste\":return U(b,ha,h);case \"dragstart\":return U(b,Ea,h);case \"dragover\":return U(b,Fa,h);case \"dragend\":return U(b,Ga,h);case \"focus\":return U(b,Ja,h);case \"blur\":return U(b,Ka,h);case \"drop\":return U(b,\nDa,h)}};a.addEventListener(f,g);c.push(()=>{a.removeEventListener(f,g)})}}\nclass W{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(F(b)){var f=b.getDescendantByIndex(d);b=null!=f?f:b}F(c)&&(f=c.getDescendantByIndex(a),c=null!=f?f:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=K(this.key);null===a&&r(20);return a}set(a,b,c){let d=this._selection,f=this.key;this.key=a;this.offset=b;this.type=c;\nL||(Fb()===f&&I(a),null!==d&&(d._cachedNodes=null,d.dirty=!0))}}function hd(a,b){let c=b.__key,d=a.offset,f=\"element\";if(C(b))f=\"text\",b=b.getTextContentSize(),d>b&&(d=b);else if(!F(b)){var e=b.getNextSibling();if(C(e))c=e.__key,d=0;else if(e=b.getParent())c=e.__key,d=b.getIndexWithinParent()+1}a.set(c,d,f)}function id(a,b){if(F(b)){let c=b.getLastDescendant();F(c)||C(c)?hd(a,c):hd(a,b)}else hd(a,b)}\nfunction jd(a,b,c){let d=a.getNode(),f=d.getChildAtIndex(a.offset),e=M(),g=N(d)?kd().append(e):e;e.setFormat(c);null===f?d.append(g):f.insertBefore(g);a.is(b)&&b.set(e.__key,0,\"text\");a.set(e.__key,0,\"text\")}function ld(a,b,c,d){a.key=b;a.offset=c;a.type=d}\nclass md{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}is(a){if(!bd(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 md(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){let c=this.getNodes(),d=c.length;var f=c[d-1];if(C(f))f=f.select();else{let e=f.getIndexWithinParent()+1;f=f.getParentOrThrow().select(e,e)}f.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=K(c),null!==b&&a.push(b);L||(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 D(a){return a instanceof nd}\nclass od{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 pd(a)?this.gridKey===a.gridKey&&this.anchor.is(this.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 od(this.gridKey,this.anchor,this.focus)}isCollapsed(){return!1}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return qd(this)}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){var c=this.focus.getNode();c=c.select(0,c.getChildrenSize());hc(c.anchor);hc(c.focus);return c.insertNodes(a,b)}getShape(){var a=K(this.anchor.key);null===a&&r(21);var b=a.getIndexWithinParent();a=a.getParentOrThrow().getIndexWithinParent();var c=K(this.focus.key);null===c&&r(22);var d=c.getIndexWithinParent();let f=c.getParentOrThrow().getIndexWithinParent();c=Math.min(b,d);b=Math.max(b,d);d=Math.min(a,f);a=Math.max(a,f);return{fromX:Math.min(c,b),fromY:Math.min(d,a),toX:Math.max(c,b),toY:Math.max(d,\na)}}getNodes(){var a=this._cachedNodes;if(null!==a)return a;a=new Set;let {fromX:b,fromY:c,toX:d,toY:f}=this.getShape();var e=K(this.gridKey);rd(e)||r(23);a.add(e);e=e.getChildren();for(let k=c;k<=f;k++){var g=e[k];a.add(g);sd(g)||r(24);g=g.getChildren();for(let m=b;m<=d;m++){var h=g[m];td(h)||r(25);a.add(h);for(h=h.getChildren();0<h.length;){let l=h.shift();a.add(l);F(l)&&h.unshift(...l.getChildren())}}}a=Array.from(a);L||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";\nfor(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function pd(a){return a instanceof od}\nclass nd{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 D(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();F(a)&&(b=a.getDescendantByIndex(b.offset),a=null!=\nb?b:a);F(d)&&(c=d.getDescendantByIndex(c.offset),d=null!=c?c:d);a=a.is(d)?F(a)&&(0<a.getChildrenSize()||a.excludeFromCopy())?[]:[a]:a.getNodesBetween(d);L||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){ld(this.anchor,a.__key,b,\"text\");ld(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),[f,e]=qd(this),g=\"\",h=!0;for(let k=0;k<a.length;k++){let m=a[k];\nif(F(m)&&!m.isInline())h||(g+=\"\\n\"),h=m.isEmpty()?!1:!0;else if(h=!1,C(m)){let l=m.getTextContent();m===b?l=m===c?f<e?l.slice(f,e):l.slice(e,f):d?l.slice(f):l.slice(e):m===c&&(l=d?l.slice(0,e):l.slice(0,f));g+=l}else!A(m)&&!Ab(m)||m===c&&this.isCollapsed()||(g+=m.getTextContent())}return g}applyDOMRange(a){let b=H(),c=b.getEditorState()._selection;a=ud(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,c);if(null!==a){var [d,f]=a;ld(this.anchor,d.key,d.offset,d.type);ld(this.focus,f.key,\nf.offset,f.type);this._cachedNodes=null}}clone(){let a=this.anchor,b=this.focus;return new nd(new W(a.key,a.offset,a.type),new W(b.key,b.offset,b.type),this.format)}toggleFormat(a){this.format=yb(this.format,a,null);this.dirty=!0}hasFormat(a){return 0!==(this.format&Ya[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 f=b[d];\"\"!==f&&a.push(M(f));d!==c-1&&a.push(vd())}this.insertNodes(a)}}insertText(a){var b=this.anchor,\nc=this.focus,d=this.isCollapsed()||b.isBefore(c),f=this.format;d&&\"element\"===b.type?jd(b,c,f):d||\"element\"!==c.type||jd(c,b,f);var e=this.getNodes(),g=e.length,h=d?c:b;c=(d?b:c).offset;var k=h.offset;b=e[0];C(b)||r(26);d=b.getTextContent().length;var m=b.getParentOrThrow(),l=e[g-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||!m.canInsertTextAfter()&&null===b.getNextSibling())){var n=b.getNextSibling();if(!C(n)||wb(n))n=M(),n.setFormat(f),m.canInsertTextAfter()?\nb.insertAfter(n):m.insertAfter(n);n.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(!C(n)||wb(n))n=M(),n.setFormat(f),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=M(b.getTextContent()),m.setFormat(f),b.replace(m),b=m;\nelse if(!(this.isCollapsed()||\"\"===a||(n=l.getParent(),m.canInsertTextBefore()&&m.canInsertTextAfter()&&(!F(n)||n.canInsertTextBefore()&&n.canInsertTextAfter())))){this.insertText(\"\");wd(this.anchor,this.focus,null);this.insertText(a);return}if(1===g)if(b.isToken())a=M(a),a.select(),b.replace(a);else{e=b.getFormat();if(c===k&&e!==f)if(\"\"===b.getTextContent())b.setFormat(f);else{e=M(a);e.setFormat(f);e.select();0===c?b.insertBefore(e):([g]=b.splitText(c),g.insertAfter(e));e.isComposing()&&\"text\"===\nthis.anchor.type&&(this.anchor.offset-=a.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=e)}else{f=new Set([...b.getParentKeys(),...l.getParentKeys()]);var q=F(b)?b:b.getParentOrThrow();m=F(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()<\nk?C(l)&&!l.isToken()&&k!==l.getTextContentSize()?(l.isSegmented()&&(h=M(l.getTextContent()),l.replace(h),l=h),l=l.spliceText(0,k,\"\"),f.add(l.__key)):(h=l.getParentOrThrow(),h.canBeEmpty()||1!==h.getChildrenSize()?l.remove():h.remove()):f.add(l.__key);h=m.getChildren();k=new Set(e);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)||F(w)&&w.isParentOf(b))break;w.isAttached()&&(!k.has(w)||w.is(n)?l||q.insertAfter(w):w.remove())}if(!l)for(h=m,\nk=null;null!==h;){l=h.getChildren();m=l.length;if(0===m||l[m-1].is(k))f.delete(h.__key),k=h;h=h.getParent()}b.isToken()?c===d?b.select():(a=M(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=e[a],f.has(b.__key)||b.remove()}}removeText(){this.insertText(\"\")}formatText(a){if(this.isCollapsed())this.toggleFormat(a),I(null);else{var b=this.getNodes(),c=[];for(var d of b)C(d)&&\nc.push(d);var f=c.length;if(0===f)this.toggleFormat(a),I(null);else{d=this.anchor;var e=this.focus,g=this.isBackward();b=g?e:d;d=g?d:e;var h=0,k=c[0];e=\"element\"===b.type?0:b.offset;\"text\"===b.type&&e===k.getTextContentSize()&&(h=1,k=c[1],e=0);if(null!=k){g=k.getFormatFlags(a,null);var m=f-1,l=c[m];f=\"text\"===d.type?d.offset:l.getTextContentSize();if(k.is(l))e!==f&&(0===e&&f===k.getTextContentSize()?k.setFormat(g):(a=k.splitText(e,f),a=0===e?a[0]:a[1],a.setFormat(g),\"text\"===b.type&&b.set(a.__key,\n0,\"text\"),\"text\"===d.type&&d.set(a.__key,f-e,\"text\")),this.format=g);else{0!==e&&([,k]=k.splitText(e),e=0);k.setFormat(g);var n=l.getFormatFlags(a,g);0<f&&(f!==l.getTextContentSize()&&([l]=l.splitText(f)),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,e,\"text\");\"text\"===d.type&&d.set(l.__key,f,\"text\");this.format=g|n}}}}}insertNodes(a,b){this.isCollapsed()||this.removeText();var c=this.anchor,d=c.offset,f=c.getNode(),\ne=f;\"element\"===c.type&&(e=c.getNode(),c=e.getChildAtIndex(d-1),e=null===c?e:c);c=[];var g=f.getNextSiblings(),h=bc(f)?null:f.getTopLevelElementOrThrow();if(C(f))if(e=f.getTextContent().length,0===d&&0!==e)e=f.getPreviousSibling(),e=null!==e?e:f.getParentOrThrow(),c.push(f);else if(d===e)e=f;else{if(f.isToken())return!1;[e,f]=f.splitText(d);c.push(f)}f=e;c.push(...g);g=a[0];var k=!1,m=null;for(let v=0;v<a.length;v++){var l=a[v];if(F(l)&&!l.isInline()){if(l.is(g)){if(F(e)&&e.isEmpty()&&e.canReplaceWith(l)){e.replace(l);\ne=l;k=!0;continue}var n=l.getFirstDescendant();if(zb(n)){for(n=n.getParentOrThrow();n.isInline();)n=n.getParentOrThrow();m=n.getChildren();k=m.length;if(F(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}}C(e)&&(null===h&&r(27),e=h)}else k&&!A(l)&&bc(e.getParent())&&r(28);k=!1;if(F(e)&&!e.isInline())if(m=l,A(l)&&!l.isInline())e=e.insertAfter(l);else if(F(l)){if(l.canBeEmpty()||!l.isEmpty())bc(e)?(n=\ne.getChildAtIndex(d),null!==n?n.insertBefore(l):e.append(l),e=l):e=e.insertAfter(l)}else n=e.getFirstChild(),null!==n?n.insertBefore(l):e.append(l),e=l;else!F(l)||F(l)&&l.isInline()||A(e)&&!e.isInline()?(m=l,e=e.insertAfter(l)):(l=e.getParentOrThrow(),Ab(e)&&e.remove(),e=l,v--)}b&&(C(f)?f.select():(a=e.getPreviousSibling(),C(a)?a.select():(a=e.getIndexWithinParent(),e.getParentOrThrow().select(a,a))));if(F(e)){if(a=C(m)?m:F(m)&&m.isInline()?m.getLastDescendant():e.getLastDescendant(),b||(null===a?\ne.select():C(a)?a.select():a.selectNext()),0!==c.length)for(b=e,a=c.length-1;0<=a;a--)d=c[a],h=d.getParentOrThrow(),!F(e)||xd(d)||A(d)&&!d.isInline()?F(e)||xd(d)?F(d)&&!d.canInsertAfter(e)?(f=h.constructor.clone(h),F(f)||r(29),f.append(d),e.insertAfter(f)):e.insertAfter(d):(e.insertBefore(d),e=d):(b===e?e.append(d):e.insertBefore(d),e=d),h.isEmpty()&&!h.canBeEmpty()&&h.remove()}else b||(C(e)?e.select():(c=e.getParentOrThrow(),e=e.getIndexWithinParent()+1,c.select(e,e)));return!0}insertParagraph(){this.isCollapsed()||\nthis.removeText();var a=this.anchor,b=a.offset,c=[];if(\"text\"===a.type){var d=a.getNode();var f=d.getNextSiblings().reverse();var e=d.getParentOrThrow();var g=e.isInline(),h=g?e.getTextContentSize():d.getTextContentSize();0===b?f.push(d):(g&&(c=e.getNextSiblings()),b===h||g&&b===d.getTextContentSize()||([,d]=d.splitText(b),f.push(d)))}else{e=a.getNode();if(bc(e)){f=kd();c=e.getChildAtIndex(b);f.select();null!==c?c.insertBefore(f):e.append(f);return}f=e.getChildren().slice(b).reverse()}d=f.length;\nif(0===b&&0<d&&e.isInline()){if(c=e.getParentOrThrow(),f=c.insertNewAfter(this),F(f))for(c=c.getChildren(),e=0;e<c.length;e++)f.append(c[e])}else if(g=e.insertNewAfter(this),null===g)this.insertLineBreak();else if(F(g))if(h=e.getFirstChild(),0===b&&(e.is(a.getNode())||h&&h.is(a.getNode()))&&0<d)e.insertBefore(g);else{e=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=f[c],null===e?g.append(b):e.insertBefore(b),e=b;g.canBeEmpty()||0!==g.getChildrenSize()?\ng.selectStart():(g.selectPrevious(),g.remove())}}insertLineBreak(a){let b=vd();var c=this.anchor;\"element\"===c.type&&(c=c.getNode(),N(c)&&this.insertParagraph());a?this.insertNodes([b],!0):this.insertNodes([b])&&b.selectNext(0,0)}getCharacterOffsets(){return qd(this)}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let f=this.focus;var e=a[0];let g=a[c],[h,k]=qd(this);if(0===b)return[];if(1===b)return C(e)&&!this.isCollapsed()?(a=h>k?k:h,c=e.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=\na?[a]:[]):[e];b=d.isBefore(f);C(e)&&(d=b?h:k,d===e.getTextContentSize()?a.shift():0!==d&&([,e]=e.splitText(d),a[0]=e));C(g)&&(e=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==e&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,f=this.anchor,e=\"move\"===a,g=Vb(d,b);if(A(g)&&!g.isIsolated())e?(e=yd(),e.add(g.__key),mb(e)):(a=b?g.getPreviousSibling():g.getNextSibling(),C(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,\"text\"),e&&f.set(g,b,\"text\")):(c=g.getParentOrThrow(),\nF(a)?(c=a.__key,g=b?a.getChildrenSize():0):(g=g.getIndexWithinParent(),c=c.__key,b||g++),d.set(c,g,\"element\"),e&&f.set(c,g,\"element\")));else if(d=window.getSelection())d.modify(a,b?\"backward\":\"forward\",c),0<d.rangeCount&&(b=d.getRangeAt(0),this.applyDOMRange(b),this.dirty=!0,e||d.anchorNode===b.startContainer&&d.anchorOffset===b.startOffset||(e=this.focus,b=this.anchor,d=b.key,f=b.offset,g=b.type,ld(b,e.key,e.offset,e.type),ld(e,d,f,g),this._cachedNodes=null))}deleteCharacter(a){if(this.isCollapsed()){var b=\nthis.anchor,c=this.focus,d=b.getNode();if(!a&&(\"element\"===b.type&&F(d)&&b.offset===d.getChildrenSize()||\"text\"===b.type&&b.offset===d.getTextContentSize())&&(d=d.getNextSibling()||d.getParentOrThrow().getNextSibling(),F(d)&&!d.canExtractContents()))return;this.modify(\"extend\",a,\"character\");if(!this.isCollapsed()){var f=\"text\"===c.type?c.getNode():null;d=\"text\"===b.type?b.getNode():null;if(null!==f&&f.isSegmented()){if(b=c.offset,c=f.getTextContentSize(),f.is(d)||a&&b!==c||!a&&0!==b){zd(f,a,b);return}}else if(null!==\nd&&d.isSegmented()&&(b=b.offset,c=d.getTextContentSize(),d.is(f)||a&&0!==b||!a&&b!==c)){zd(d,a,b);return}d=this.anchor;f=this.focus;b=d.getNode();c=f.getNode();if(b===c&&\"text\"===d.type&&\"text\"===f.type){var e=d.offset,g=f.offset;let h=e<g;c=h?e:g;g=h?g:e;e=g-1;c!==e&&(b=b.getTextContent().slice(c,g),Lb(b)||(a?f.offset=e:d.offset=e))}}else if(a&&0===b.offset&&(\"element\"===b.type?b.getNode():b.getNode().getParentOrThrow()).collapseAtStart(this))return}this.removeText()}deleteLine(a){this.isCollapsed()&&\n(\"text\"===this.anchor.type&&this.modify(\"extend\",a,\"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 bd(a){return a instanceof md}function Ad(a){let b=a.offset;if(\"text\"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}\nfunction qd(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]:[Ad(b),Ad(a)]}function zd(a,b,c){let d=a.getTextContent().split(/(?=\\s)/g),f=d.length,e=0,g=0;for(let h=0;h<f;h++){let k=d[h],m=h===f-1;g=e;e+=k.length;if(b&&e===c||e>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 Bd(a,b,c){var d=b;if(1===a.nodeType){let g=!1;var f=a.childNodes;var e=f.length;d===e&&(g=!0,d=e-1);f=Kb(f[d]);if(C(f))d=g?f.getTextContentSize():0;else{e=Kb(a);if(null===e)return null;if(F(e)){a=e.getChildAtIndex(d);if(b=F(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=g?a.getLastDescendant():a.getFirstDescendant(),null===c?(e=a,d=0):(a=c,e=a.getParentOrThrow()));C(a)?(f=a,e=null,d=g?a.getTextContentSize():0):a!==e&&g&&d++}else d=e.getIndexWithinParent(),\nd=0===b&&A(e)&&Kb(a)===e?d:d+1,e=e.getParentOrThrow();if(F(e))return new W(e.__key,d,\"element\")}}else f=Kb(a);return C(f)?new W(f.__key,d,\"text\"):null}\nfunction Id(a,b,c){var d=a.offset,f=a.getNode();0===d?(d=f.getPreviousSibling(),f=f.getParent(),b)?(c||!b)&&null===d&&F(f)&&f.isInline()&&(b=f.getPreviousSibling(),C(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):F(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type=\"element\"):C(d)&&(a.key=d.__key,a.offset=d.getTextContent().length):d===f.getTextContent().length&&(d=f.getNextSibling(),f=f.getParent(),b&&F(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type=\"element\"):(c||\nb)&&null===d&&F(f)&&f.isInline()&&!f.canInsertTextAfter()&&(b=f.getNextSibling(),C(b)&&(a.key=b.__key,a.offset=0)))}function wd(a,b,c){if(\"text\"===a.type&&\"text\"===b.type){var d=a.isBefore(b);let f=a.is(b);Id(a,d,f);Id(b,!d,f);f&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=H();d.isComposing()&&d._compositionKey!==a.key&&D(c)&&(d=c.anchor,c=c.focus,ld(a,d.key,d.offset,d.type),ld(b,c.key,c.offset,c.type))}}\nfunction ud(a,b,c,d,f,e){if(null===a||null===c||!ub(f,a,c))return null;b=Bd(a,b,D(e)?e.anchor:null);if(null===b)return null;d=Bd(c,d,D(e)?e.focus:null);if(null===d||\"element\"===b.type&&\"element\"===d.type&&(a=Kb(a),c=Kb(c),A(a)&&A(c)))return null;wd(b,d,e);return[b,d]}function xd(a){return F(a)&&!a.isInline()}function Jd(a,b,c,d,f,e){let g=G();a=new nd(new W(a,b,f),new W(c,d,e),0);a.dirty=!0;return g._selection=a}function yd(){return new md(new Set)}\nfunction Kd(a){let b=a.getEditorState()._selection,c=window.getSelection();return bd(b)||pd(b)?b.clone():fd(b,c,a)}\nfunction fd(a,b,c){var d=c._window;if(null===d)return null;var f=d.event,e=f?f.type:void 0;d=\"selectionchange\"===e;f=!db&&(d||\"beforeinput\"===e||\"compositionstart\"===e||\"compositionend\"===e||\"click\"===e&&f&&3===f.detail||void 0===e);let g;if(!D(a)||f){if(null===b)return null;f=b.anchorNode;e=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&D(a)&&!ub(c,f,e))return a.clone()}else return a.clone();c=ud(f,g,e,b,c,a);if(null===c)return null;let [h,k]=c;return new nd(h,k,D(a)?a.format:0)}\nfunction u(){return G()._selection}function Pb(){return H()._editorState._selection}\nfunction Ld(a,b,c,d=1){var f=a.anchor,e=a.focus,g=f.getNode(),h=e.getNode();if(b.is(g)||b.is(h))if(g=b.__key,a.isCollapsed())b=f.offset,c<=b&&(c=Math.max(0,b+d),f.set(g,c,\"element\"),e.set(g,c,\"element\"),Md(a));else{var k=a.isBackward();h=k?e:f;var m=h.getNode();f=k?f:e;e=f.getNode();b.is(m)&&(m=h.offset,c<=m&&h.set(g,Math.max(0,m+d),\"element\"));b.is(e)&&(b=f.offset,c<=b&&f.set(g,Math.max(0,b+d),\"element\"));Md(a)}}\nfunction Md(a){var b=a.anchor,c=b.offset;let d=a.focus;var f=d.offset,e=b.getNode(),g=d.getNode();if(a.isCollapsed())F(e)&&(g=e.getChildrenSize(),g=(f=c>=g)?e.getChildAtIndex(g-1):e.getChildAtIndex(c),C(g)&&(c=0,f&&(c=g.getTextContentSize()),b.set(g.__key,c,\"text\"),d.set(g.__key,c,\"text\")));else{if(F(e)){let h=e.getChildrenSize();c=(a=c>=h)?e.getChildAtIndex(h-1):e.getChildAtIndex(c);C(c)&&(e=0,a&&(e=c.getTextContentSize()),b.set(c.__key,e,\"text\"))}F(g)&&(c=g.getChildrenSize(),f=(b=f>=c)?g.getChildAtIndex(c-\n1):g.getChildAtIndex(f),C(f)&&(g=0,b&&(g=f.getTextContentSize()),d.set(f.__key,g,\"text\")))}}function Nd(a,b){b=b.getEditorState()._selection;a=a._selection;if(D(a)){var c=a.anchor;let d=a.focus,f;\"text\"===c.type&&(f=c.getNode(),f.selectionTransform(b,a));\"text\"===d.type&&(c=d.getNode(),f!==c&&c.selectionTransform(b,a))}}\nfunction Od(a,b,c,d,f){let e=null,g=0,h=null;null!==d?(e=d.__key,C(d)?(g=d.getTextContentSize(),h=\"text\"):F(d)&&(g=d.getChildrenSize(),h=\"element\")):null!==f&&(e=f.__key,C(f)?h=\"text\":F(f)&&(h=\"element\"));null!==e&&null!==h?a.set(e,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,\"element\"))}function Pd(a,b,c,d,f){\"text\"===a.type?(a.key=c,b||(a.offset+=f)):a.offset>d.getIndexWithinParent()&&--a.offset}let X=null,Y=null,L=!1,Qd=!1,Eb=0;function J(){L&&r(13)}\nfunction G(){null===X&&r(15);return X}function H(){null===Y&&r(16);return Y}function Rd(a,b,c){var d=b.__type;let f=a._nodes.get(d);void 0===f&&r(30);a=c.get(d);void 0===a&&(a=Array.from(f.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function Sd(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),C(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&gc(b)}\nfunction Td(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let f=Fb(),e=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),C(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&gc(g),void 0!==g&&void 0!==g&&g.__key!==f&&g.isAttached()&&Rd(b,g,e),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!==f&&g.isAttached()&&Rd(b,g,e),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;Eb++}b._dirtyLeaves=c;b._dirtyElements=d}function Ud(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(F(c)&&Array.isArray(a))for(let d=0;d<a.length;d++){let f=Ud(a[d],b);c.append(f)}return c}function Vd(a,b){let c=X,d=L,f=Y;X=a;L=!0;Y=null;try{return b()}finally{X=c,L=d,Y=f}}\nfunction Wd(a){var b=a._pendingEditorState,c=a._rootElement,d=a._headless;if((null!==c||d)&&null!==b){var f=a._editorState,e=f._selection,g=b._selection,h=0!==a._dirtyType,k=X,m=L,l=Y,n=a._updating,q=a._observer,v=null;a._pendingEditorState=null;a._editorState=b;if(!d&&h&&null!==q){Y=a;X=b;L=!1;a._updating=!0;try{var w=a._dirtyType,y=a._dirtyElements,z=a._dirtyLeaves;q.disconnect();P=R=O=\"\";kc=2===w;nc=null;S=a;ic=a._config;jc=a._nodes;mc=S._listeners.mutation;oc=y;pc=z;qc=f._nodeMap;rc=b._nodeMap;\nlc=b._readOnly;sc=new Map(a._keyToDOMMap);var B=new Map;tc=B;Gc(\"root\",null);tc=sc=ic=rc=qc=pc=oc=jc=S=void 0;v=B}catch(V){V instanceof Error&&a._onError(V);if(Qd)throw V;Xd(a,null,c,b);qb(a);a._dirtyType=2;Qd=!0;Wd(a);Qd=!1;return}finally{q.observe(c,{characterData:!0,childList:!0,subtree:!0}),a._updating=n,X=k,L=m,Y=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 E=b._nodeMap;for(Ra in y)E.has(Ra)||(y===z&&(y=Gb(a)),delete y[Ra]);d=d?null:window.getSelection();if(a._editable&&null!==d&&(h||null===g||g.dirty)){Y=a;X=b;try{a:{let V=d.anchorNode,ua=d.focusNode,ue=d.anchorOffset,ve=d.focusOffset,pb=document.activeElement;if(!w.has(\"collaboration\")||pb===c)if(D(g)){var Q=g.anchor,Z=g.focus,Cd=Q.key,va=Z.key,Dd=Xb(a,Cd),Ed=Xb(a,va),Yb=Q.offset,\nFd=Z.offset,Zb=g.format,Gd=g.isCollapsed();h=Dd;va=Ed;var Ra=!1;\"text\"===Q.type&&(h=xb(Dd),Ra=Q.getNode().getFormat()!==Zb);\"text\"===Z.type&&(va=xb(Ed));if(null!==h&&null!==va){if(Gd&&(null===e||Ra||D(e)&&e.format!==Zb)){var we=performance.now();Wc=[Zb,Yb,Cd,we]}if(ue===Yb&&ve===Fd&&V===h&&ua===va&&(\"Range\"!==d.type||!Gd)&&(null===c||null!==pb&&c.contains(pb)||c.focus({preventScroll:!0}),!Ta&&!Qa||\"element\"!==Q.type))break a;try{d.setBaseAndExtent(h,Yb,va,Fd);if(g.isCollapsed()&&null!==c&&c===pb){let Sa=\nQ.getNode();if(F(Sa)){let ja=Sa.getDescendantByIndex(Q.offset);null!==ja&&(Sa=ja)}let wa=a.getElementByKey(Sa.__key);if(null!==wa){let ja=wa.getBoundingClientRect();if(ja.bottom>rb(a).innerHeight)wa.scrollIntoView(!1);else if(0>ja.top)wa.scrollIntoView();else{let Hd=c.getBoundingClientRect();Math.floor(ja.bottom)>Math.floor(Hd.bottom)?wa.scrollIntoView(!1):Math.floor(ja.top)<Math.floor(Hd.top)&&wa.scrollIntoView()}w.add(\"scroll-into-view\")}}Sc=!0}catch(Sa){}}}else null!==e&&ub(a,V,ua)&&d.removeAllRanges()}}finally{Y=\nl,X=k}}if(null!==v)for(c=v,e=Array.from(a._listeners.mutation),g=e.length,k=0;k<g;k++){let [V,ua]=e[k];l=c.get(ua);void 0!==l&&V(l,{dirtyLeaves:n,updateTags:w})}c=a._pendingDecorators;null!==c&&(a._decorators=c,a._pendingDecorators=null,Yd(\"decorator\",a,!0,c));c=Hb(f);e=Hb(b);c!==e&&Yd(\"textcontent\",a,!0,e);Yd(\"update\",a,!0,{dirtyElements:q,dirtyLeaves:n,editorState:b,normalizedNodes:B,prevEditorState:f,tags:w});a._deferred=[];if(0!==m.length){b=a._updating;a._updating=!0;try{for(f=0;f<m.length;f++)m[f]()}finally{a._updating=\nb}}b=a._updates;if(0!==b.length&&(b=b.shift())){let [V,ua]=b;Zd(a,V,ua)}}}function Yd(a,b,c,...d){let f=b._updating;b._updating=c;try{let e=Array.from(b._listeners[a]);for(a=0;a<e.length;a++)e[a].apply(null,d)}finally{b._updating=f}}\nfunction U(a,b,c){if(!1===a._updating||Y!==a){let e=!1;a.update(()=>{e=U(a,b,c)});return e}let d=Mb(a);for(let e=4;0<=e;e--)for(let g=0;g<d.length;g++){var f=d[g]._commands.get(b);if(void 0!==f&&(f=f[e],void 0!==f)){f=Array.from(f);let h=f.length;for(let k=0;k<h;k++)if(!0===f[k](c,a))return!0}}return!1}\nfunction $d(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [f,e]=d,g;void 0!==e&&(d=e.onUpdate,g=e.tag,e.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));f()}}return b}\nfunction Zd(a,b,c){let d=a._updateTags;var f=!1;if(void 0!==c){var e=c.onUpdate;f=c.tag;null!=f&&d.add(f);f=c.skipTransforms||!1}e&&a._deferred.push(e);c=a._editorState;e=a._pendingEditorState;let g=!1;if(null===e||e._readOnly)e=a._pendingEditorState=new ae(new Map(c._nodeMap)),g=!0;let h=X,k=L,m=Y,l=a._updating;X=e;L=!1;a._updating=!0;Y=a;try{g&&!a._headless&&(e._selection=Kd(a));let n=a._compositionKey;b();f=$d(a,f);Nd(e,a);0!==a._dirtyType&&(f?Sd(e,a):Td(e,a),$d(a),dc(c,e,a._dirtyLeaves,a._dirtyElements));\nn!==a._compositionKey&&(e._flushSync=!0);let q=e._selection;if(D(q)){let v=e._nodeMap,w=q.focus.key;void 0!==v.get(q.anchor.key)&&void 0!==v.get(w)||r(19)}else bd(q)&&0===q._nodes.size&&(e._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();Wd(a);return}finally{X=h,L=k,Y=m,a._updating=l,Eb=0}0!==a._dirtyType||be(e,a)?e._flushSync?(e._flushSync=!1,Wd(a)):g&&tb(()=>{Wd(a)}):(e._flushSync=\n!1,g&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function x(a,b,c){a._updating?a._updates.push([b,c]):Zd(a,b,c)}\nfunction ce(a,b,c){J();var d=a.__key;let f=a.getParent();if(null!==f){var e=$b(a),g=!1;if(D(e)&&b){var h=e.anchor;let k=e.focus;h.key===d&&(Od(h,a,f,a.getPreviousSibling(),a.getNextSibling()),g=!0);k.key===d&&(Od(k,a,f,a.getPreviousSibling(),a.getNextSibling()),g=!0)}h=f.getWritable().__children;d=h.indexOf(d);-1===d&&r(31);Cb(a);h.splice(d,1);a.getWritable().__parent=null;D(e)&&b&&!g&&Ld(e,f,d,-1);c||bc(f)||f.canBeEmpty()||!f.isEmpty()||ce(f,b);N(f)&&f.isEmpty()&&f.selectEnd()}}\nfunction de(a){a=K(a);null===a&&r(63);return a}\nclass ee{static getType(){r(64)}static clone(){r(65)}constructor(a){this.__type=this.constructor.getType();this.__parent=null;if(null!=a)this.__key=a;else{J();99<Eb&&r(14);a=H();var b=G(),c=\"\"+sb++;b._nodeMap.set(c,this);F(this)?a._dirtyElements.set(c,!0):a._dirtyLeaves.add(c);a._cloneNotNeeded.add(c);a._dirtyType=1;this.__key=c}}getType(){return this.__type}isAttached(){for(var a=this.__key;null!==a;){if(\"root\"===a)return!0;a=K(a);if(null===a)break;a=a.__parent}return!1}isSelected(){let a=u();if(null==\na)return!1;let b=a.getNodes().some(c=>c.__key===this.__key);return C(this)?b:D(a)&&\"element\"===a.anchor.type&&\"element\"===a.focus.type&&a.anchor.key===a.focus.key&&a.anchor.offset===a.focus.offset?!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:K(a)}getParentOrThrow(){let a=this.getParent();null===a&&r(66);return a}getTopLevelElement(){let a=this;for(;null!==\na;){let b=a.getParent();if(bc(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!==b;)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:K(a[b-1])}getPreviousSiblings(){var a=this.getParent();\nif(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(0,b).map(c=>de(c))}getNextSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=a.length,c=a.indexOf(this.__key);return c>=b-1?null:K(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=>de(c))}getCommonAncestor(a){let b=this.getParents();var c=a.getParents();F(this)&&b.unshift(this);F(a)&&c.unshift(a);a=b.length;\nvar 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 f=b[d];if(c.has(f))return f}return null}is(a){return null==a?!1:this.__key===a.__key}isBefore(a){if(a.isParentOf(this))return!0;if(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;\nif(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 f=this;;){var e=f.__key;d.has(e)||(d.add(e),c.push(f));if(f===a)break;e=F(f)?b?f.getFirstChild():f.getLastChild():null;if(null!==e)f=e;else if(e=b?f.getNextSibling():f.getPreviousSibling(),null!==e)f=e;else{f=f.getParentOrThrow();d.has(f.__key)||c.push(f);if(f===a)break;e=f;do null===e&&r(68),f=b?e.getNextSibling():e.getPreviousSibling(),e=e.getParent(),\nnull!==e&&(null!==f||d.has(e.__key)||c.push(e));while(null===f)}}b||c.reverse();return c}isDirty(){let a=H()._dirtyLeaves;return null!==a&&a.has(this.__key)}getLatest(){let a=K(this.__key);null===a&&r(69);return a}getWritable(){J();var a=G(),b=H();a=a._nodeMap;let c=this.__key,d=this.getLatest(),f=d.__parent;b=b._cloneNotNeeded;var e=u();null!==e&&(e._cachedNodes=null);if(b.has(c))return Db(d),d;e=d.constructor.clone(d);e.__parent=f;F(d)&&F(e)?(e.__children=Array.from(d.__children),e.__indent=d.__indent,\ne.__format=d.__format,e.__dir=d.__dir):C(d)&&C(e)&&(e.__format=d.__format,e.__style=d.__style,e.__mode=d.__mode,e.__detail=d.__detail);b.add(c);e.__key=c;Db(e);a.set(c,e);return e}getTextContent(){return\"\"}getTextContentSize(){return this.getTextContent().length}createDOM(){r(70)}updateDOM(){r(71)}exportDOM(a){return{element:this.createDOM(a._config,a)}}exportJSON(){r(72)}static importJSON(){r(18)}remove(a){ce(this,!0,a)}replace(a){J();let b=this.__key;a=a.getWritable();Bb(a);var c=this.getParentOrThrow(),\nd=c.getWritable().__children;let f=d.indexOf(this.__key),e=a.__key;-1===f&&r(31);d.splice(f,0,e);a.__parent=c.__key;ce(this,!1);Cb(a);d=u();D(d)&&(c=d.anchor,d=d.focus,c.key===b&&id(c,a),d.key===b&&id(d,a));Fb()===b&&I(e);return a}insertAfter(a){J();var b=this.getWritable(),c=a.getWritable(),d=c.getParent();let f=u();var e=a.getIndexWithinParent(),g=!1,h=!1;null!==d&&(Bb(c),D(f)&&(h=d.__key,g=f.anchor,d=f.focus,g=\"element\"===g.type&&g.key===h&&g.offset===e+1,h=\"element\"===d.type&&d.key===h&&d.offset===\ne+1));e=this.getParentOrThrow().getWritable();d=c.__key;c.__parent=b.__parent;let k=e.__children;b=k.indexOf(b.__key);-1===b&&r(31);k.splice(b+1,0,d);Cb(c);D(f)&&(Ld(f,e,b+1),c=e.__key,g&&f.anchor.set(c,b+2,\"element\"),h&&f.focus.set(c,b+2,\"element\"));return a}insertBefore(a){var b=this.getWritable(),c=a.getWritable();Bb(c);let d=this.getParentOrThrow().getWritable(),f=c.__key;c.__parent=b.__parent;let e=d.__children;b=e.indexOf(b.__key);-1===b&&r(31);e.splice(b,0,f);Cb(c);c=u();D(c)&&Ld(c,d,b);return a}selectPrevious(a,\nb){J();let c=this.getPreviousSibling(),d=this.getParentOrThrow();return null===c?d.select(0,0):F(c)?c.select():C(c)?c.select(a,b):(a=c.getIndexWithinParent()+1,d.select(a,a))}selectNext(a,b){J();let c=this.getNextSibling(),d=this.getParentOrThrow();return null===c?d.select():F(c)?c.select(0,0):C(c)?c.select(a,b):(a=c.getIndexWithinParent(),d.select(a,a))}markDirty(){this.getWritable()}}class fe extends ee{constructor(a){super(a)}decorate(){r(47)}isIsolated(){return!1}isInline(){return!0}}\nfunction A(a){return a instanceof fe}\nclass ge extends ee{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 ab[a]||\"\"}getIndent(){return this.getLatest().__indent}getChildren(){let a=this.getLatest().__children,b=[];for(let c=0;c<a.length;c++){let d=K(a[c]);null!==d&&b.push(d)}return b}getChildrenKeys(){return this.getLatest().__children}getChildrenSize(){return this.getLatest().__children.length}isEmpty(){return 0===this.getChildrenSize()}isDirty(){let a=\nH()._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=K(b[d]);C(c)?a.push(c):F(c)&&(c=c.getAllTextNodes(),a.push(...c))}return a}getFirstDescendant(){let a=this.getFirstChild();for(;null!==a;){if(F(a)){let b=a.getFirstChild();if(null!==b){a=b;continue}}break}return a}getLastDescendant(){let a=this.getLastChild();for(;null!==\na;){if(F(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],F(a)&&a.getLastDescendant()||a||null;a=b[a];return F(a)&&a.getFirstDescendant()||a||null}getFirstChild(){let a=this.getLatest().__children;return 0===a.length?null:K(a[0])}getFirstChildOrThrow(){let a=this.getFirstChild();null===a&&r(45);return a}getLastChild(){let a=this.getLatest().__children,b=a.length;return 0===b?null:K(a[b-1])}getLastChildOrThrow(){let a=\nthis.getLastChild();if(null===a)throw Error(`Expected node ${this.__key} to have a last child.`);return a}getChildAtIndex(a){a=this.getLatest().__children[a];return void 0===a?null:K(a)}getTextContent(){let a=\"\",b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let f=b[d];a+=f.getTextContent();F(f)&&d!==c-1&&!f.isInline()&&(a+=\"\\n\\n\")}return a}getDirection(){return this.getLatest().__dir}hasFormat(a){return\"\"!==a?(a=$a[a],0!==(this.getFormat()&a)):!1}select(a,b){J();let c=u();var d=this.getChildrenSize();\nvoid 0===a&&(a=d);void 0===b&&(b=d);d=this.__key;if(D(c))c.anchor.set(d,a,\"element\"),c.focus.set(d,b,\"element\"),c.dirty=!0;else return Jd(d,a,d,b,\"element\",\"element\");return c}selectStart(){let a=this.getFirstDescendant();return F(a)||C(a)?a.select(0,0):null!==a?a.selectPrevious():this.select(0,0)}selectEnd(){let a=this.getLastDescendant();return F(a)||C(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?$a[a]:0;return this}setIndent(a){this.getWritable().__indent=a;return this}splice(a,b,c){let d=this.getWritable();var f=d.__key;let e=d.__children,g=c.length;var h=[];for(let k=0;k<g;k++){let m=c[k],l=m.getWritable();m.__key===f&&r(76);Bb(l);l.__parent=f;h.push(l.__key)}(c=this.getChildAtIndex(a-1))&&Db(c);(f=this.getChildAtIndex(a+b))&&Db(f);a===e.length?(e.push(...h),a=[]):a=e.splice(a,\nb,...h);if(a.length&&(b=u(),D(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)&&Od(l,l.getNode(),this,c,f);h(n)&&Od(n,n.getNode(),this,c,f);h=a.length;for(b=0;b<h;b++)c=K(a[b]),null!=c&&(c.getWritable().__parent=null);0!==e.length||this.canBeEmpty()||bc(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 F(a){return a instanceof ge}\nclass he extends ge{static getType(){return\"root\"}static clone(){return new he}constructor(){super(\"root\");this.__cachedText=null}getTopLevelElementOrThrow(){r(51)}getTextContent(){let a=this.__cachedText;return!L&&0!==H()._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];F(c)||A(c)||r(56)}return super.append(...a)}static importJSON(a){let b=Ib();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}}}function N(a){return a instanceof he}function be(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 ie(){return new ae(new Map([[\"root\",new he]]))}\nfunction je(a){let b=a.exportJSON();b.type!==a.constructor.getType()&&r(58);let c=b.children;if(F(a)){Array.isArray(c)||r(59);a=a.getChildren();for(let d=0;d<a.length;d++){let f=je(a[d]);c.push(f)}}return b}\nclass ae{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 Vd(this,a)}clone(a){a=new ae(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return Vd(this,()=>({root:je(Ib())}))}}\nclass ke extends ee{static getType(){return\"linebreak\"}static clone(a){return new ke(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:le,priority:0}}}}static importJSON(){return vd()}exportJSON(){return{type:\"linebreak\",version:1}}}function le(){return{node:vd()}}function vd(){return new ke}\nfunction Ab(a){return a instanceof ke}function me(a,b){return b&16?\"code\":b&32?\"sub\":b&64?\"sup\":null}function ne(a,b){return b&1?\"strong\":b&2?\"em\":\"span\"}\nfunction oe(a,b,c,d,f){a=d.classList;d=Sb(f,\"base\");void 0!==d&&a.add(...d);d=Sb(f,\"underlineStrikethrough\");let e=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(e=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in Ya)h=Ya[k],d=Sb(f,k),void 0!==d&&(c&h?!e||\"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 pe(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?Ua:\"\";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Oa){c=b.length;let f=a.length,e=0,g=0;for(;e<c&&e<f&&b[e]===a[e];)e++;for(;g+e<c&&g+e<f&&b[c-g-1]===a[f-g-1];)g++;a=[e,c-e-g,a.slice(e,f-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}\nclass qe extends ee{static getType(){return\"text\"}static clone(a){return new qe(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 cb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===Fb()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==\n(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=Ya[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 yb(c,a,b)}createDOM(a){var b=this.__format,c=me(this,b);let d=ne(this,b),f=document.createElement(null===c?d:c),e=f;null!==c&&(e=document.createElement(d),f.appendChild(e));c=e;pe(this.__text,c,this);\na=a.theme.text;void 0!==a&&oe(d,0,b,c,a);b=this.__style;\"\"!==b&&(f.style.cssText=b);return f}updateDOM(a,b,c){let d=this.__text;var f=a.__format,e=this.__format,g=me(this,f);let h=me(this,e);var k=ne(this,f);let m=ne(this,e);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return f=b.firstChild,null==f&&r(48),a=g=document.createElement(m),pe(d,a,this),c=c.theme.text,void 0!==c&&oe(m,0,e,a,c),b.replaceChild(g,f),!1;k=b;null!==h&&null!==g&&(k=b.firstChild,null==k&&r(49));pe(d,k,this);c=c.theme.text;\nvoid 0!==c&&f!==e&&oe(m,f,e,k,c);e=this.__style;a.__style!==e&&(b.style.cssText=e);return!1}static importDOM(){return{\"#text\":()=>({conversion:re,priority:0}),b:()=>({conversion:se,priority:0}),code:()=>({conversion:te,priority:0}),em:()=>({conversion:te,priority:0}),i:()=>({conversion:te,priority:0}),span:()=>({conversion:xe,priority:0}),strong:()=>({conversion:te,priority:0}),u:()=>({conversion:te,priority:0})}}static importJSON(a){let b=M(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?Ya[a]:a;return b}setDetail(a){let b=this.getWritable();b.__detail=\"string\"===typeof a?Za[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){a=Ya[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=bb[a];let b=this.getWritable();b.__mode=a;return b}setTextContent(a){let b=this.getWritable();b.__text=a;return b}select(a,b){J();let c=u();var d=this.getTextContent();let f=this.__key;\"string\"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(D(c))d=Fb(),d!==c.anchor.key&&d!==c.focus.key||I(f),c.setTextNodeRange(this,a,this,b);\nelse return Jd(f,a,f,b,\"text\",\"text\");return c}spliceText(a,b,c,d){let f=this.getWritable(),e=f.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=u();d&&D(k)&&(a+=g,k.setTextNodeRange(f,a,f,a));b=e.slice(0,h)+c+e.slice(h+b);f.__text=b;return f}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){J();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,f=Fb(),e=new Set(a);a=[];var g=c.length,h=\"\";for(var k=0;k<g;k++)\"\"!==h&&e.has(k)&&(a.push(h),h=\"\"),h+=c[k];\"\"!==h&&a.push(h);\ne=a.length;if(0===e)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=M(m),h.__parent=k,h.__format=l,h.__style=n,h.__detail=q,g=!0):(h=b.getWritable(),h.__text=m);b=u();h=[h];m=m.length;for(let y=1;y<e;y++){var v=a[y],w=v.length;v=M(v).getWritable();v.__format=l;v.__style=n;v.__detail=q;let z=v.__key;w=m+w;if(D(b)){let B=b.anchor,E=b.focus;B.key===d&&\"text\"===B.type&&B.offset>m&&B.offset<=w&&(B.key=z,\nB.offset-=m,b.dirty=!0);E.key===d&&\"text\"===E.type&&E.offset>m&&E.offset<=w&&(E.key=z,E.offset-=m,b.dirty=!0)}f===d&&I(z);m=w;v.__parent=k;h.push(v)}Cb(this);f=c.getWritable().__children;d=f.indexOf(d);a=h.map(y=>y.__key);g?(f.splice(d,0,...a),this.remove()):f.splice(d,1,...a);D(b)&&Ld(b,c,d,e-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||a===this.getNextSibling()||r(50);var c=this.__key;let d=a.__key,f=this.__text,e=f.length;Fb()===d&&I(c);let g=u();if(D(g)){let h=g.anchor,\nk=g.focus;null!==h&&h.key===d&&(Pd(h,b,c,a,e),g.dirty=!0);null!==k&&k.key===d&&(Pd(k,b,c,a,e),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+f:f+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}\nfunction xe(a){let b=\"700\"===a.style.fontWeight,c=\"line-through\"===a.style.textDecoration,d=\"italic\"===a.style.fontStyle,f=\"underline\"===a.style.textDecoration,e=a.style.verticalAlign;return{forChild:g=>{if(!C(g))return g;b&&g.toggleFormat(\"bold\");c&&g.toggleFormat(\"strikethrough\");d&&g.toggleFormat(\"italic\");f&&g.toggleFormat(\"underline\");\"sub\"===e&&g.toggleFormat(\"subscript\");\"super\"===e&&g.toggleFormat(\"superscript\");return g},node:null}}\nfunction se(a){let b=\"normal\"===a.style.fontWeight;return{forChild:c=>{C(c)&&!b&&c.toggleFormat(\"bold\");return c},node:null}}function re(a,b,c){a=a.textContent||\"\";return!c&&/\\n/.test(a)&&(a=a.replace(/\\r?\\n/gm,\" \"),0===a.trim().length)?{node:null}:{node:M(a)}}let ye={code:\"code\",em:\"italic\",i:\"italic\",strong:\"bold\",u:\"underline\"};function te(a){let b=ye[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{C(c)&&c.toggleFormat(b);return c},node:null}}\nfunction M(a=\"\"){return new qe(a)}function C(a){return a instanceof qe}\nclass ze extends ge{static getType(){return\"paragraph\"}static clone(a){return new ze(a.__key)}createDOM(a){let b=document.createElement(\"p\");a=Sb(a.theme,\"paragraph\");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:Ae,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=kd();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=kd(),b=this.getDirection();a.setDirection(b);this.insertAfter(a);return a}collapseAtStart(){let a=this.getChildren();if(0===a.length||C(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 Ae(){return{node:kd()}}function kd(){return new ze}\nfunction Xd(a,b,c,d){let f=a._keyToDOMMap;f.clear();a._editorState=ie();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=\"\",f.set(\"root\",c))}\nfunction Be(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 f=d();null!==f&&Object.keys(f).forEach(e=>{let g=b.get(e);void 0===g&&(g=[],b.set(e,g));g.push(f[e])})}});return b}\nclass Ce{constructor(a,b,c,d,f,e){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=Nb();this._onError=f;this._htmlConversions=e;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 f=d.get(a);void 0===f&&r(36);let e=f[c];e.add(b);return()=>{e.delete(b);f.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);Jb(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 U(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=\nthis._rootElement;if(a!==b){var c=this._pendingEditorState||this._editorState;this._rootElement=a;Xd(this,b,a,c);if(null!==b&&!this._config.disableEvents){0!==Rc&&(Rc--,0===Rc&&b.ownerDocument.removeEventListener(\"selectionchange\",ed));c=b.__lexicalEditor;if(null!==c&&void 0!==c){if(null!==c._parentEditor){var d=Mb(c);d=d[d.length-1]._key;dd.get(d)===c&&dd.delete(d)}else dd.delete(c._key);b.__lexicalEditor=null}c=cd(b);for(d=0;d<c.length;d++)c[d]();b.__lexicalEventHandles=[]}null!==a?(c=(c=a.ownerDocument)&&\nc.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,qb(this),this._updateTags.add(\"history-merge\"),Wd(this),this._config.disableEvents||gd(a,this)):this._window=null;Yd(\"root\",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&r(38);ob(this);let c=this._pendingEditorState,d=this._updateTags;\nb=void 0!==b?b.tag:null;null===c||c.isEmpty()||(null!=b&&d.add(b),Wd(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set(\"root\",!1);this._compositionKey=null;null!=b&&d.add(b);Wd(this)}parseEditorState(a,b){a=\"string\"===typeof a?JSON.parse(a):a;let c=ie(),d=X,f=L,e=Y,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=new Set;this._cloneNotNeeded=new Set;this._dirtyType=0;X=c;L=!1;Y=this;try{Ud(a.root,\nthis._nodes),b&&b(),c._readOnly=!0}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,X=d,L=f,Y=e}return c}update(a,b){x(this,a,b)}focus(a,b={}){let c=this._rootElement;null!==c&&(c.setAttribute(\"autocapitalize\",\"off\"),x(this,()=>{let d=u(),f=Ib();null!==d?d.dirty=!0:0!==f.getChildrenSize()&&(\"rootStart\"===b.defaultSelection?f.selectStart():f.selectEnd())},{onUpdate:()=>{c.removeAttribute(\"autocapitalize\");a&&a()}}),null===this._pendingEditorState&&c.removeAttribute(\"autocapitalize\"))}blur(){var a=\nthis._rootElement;null!==a&&a.blur();a=window.getSelection();null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,Yd(\"editable\",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}class De extends ge{constructor(a,b){super(b);this.__colSpan=a}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan}}}function td(a){return a instanceof De}class Ee extends ge{}function rd(a){return a instanceof Ee}\nclass Fe extends ge{}function sd(a){return a instanceof Fe}exports.$addUpdateTag=function(a){J();H()._updateTags.add(a)};exports.$createLineBreakNode=vd;exports.$createNodeSelection=yd;exports.$createParagraphNode=kd;exports.$createRangeSelection=function(){let a=new W(\"root\",0,\"element\"),b=new W(\"root\",0,\"element\");return new nd(a,b,0)};exports.$createTextNode=M;exports.$getDecoratorNode=Vb;exports.$getNearestNodeFromDOMNode=jb;exports.$getNodeByKey=K;exports.$getPreviousSelection=Pb;\nexports.$getRoot=Ib;exports.$getSelection=u;exports.$hasAncestor=ac;exports.$insertNodes=function(a,b){let c=u();null===c&&(c=Ib().selectEnd());return c.insertNodes(a,b)};exports.$isDecoratorNode=A;exports.$isElementNode=F;exports.$isInlineElementOrDecoratorNode=function(a){return F(a)&&a.isInline()||A(a)&&a.isInline()};exports.$isLeafNode=zb;exports.$isLineBreakNode=Ab;exports.$isNodeSelection=bd;exports.$isParagraphNode=function(a){return a instanceof ze};exports.$isRangeSelection=D;\nexports.$isRootNode=N;exports.$isRootOrShadowRoot=bc;exports.$isTextNode=C;exports.$nodesOfType=function(a){var b=G();let c=b._readOnly,d=a.getType();b=b._nodeMap;let f=[];for(let [,e]of b)e instanceof a&&e.__type===d&&(c||e.isAttached())&&f.push(e);return f};exports.$parseSerializedNode=function(a){return Ud(a,H()._nodes)};exports.$setCompositionKey=I;exports.$setSelection=mb;exports.BLUR_COMMAND=Ka;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};\nexports.CLEAR_HISTORY_COMMAND={};exports.CLICK_COMMAND=ba;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=fa;exports.COPY_COMMAND=Ha;exports.CUT_COMMAND=Ia;exports.DELETE_CHARACTER_COMMAND=ca;exports.DELETE_LINE_COMMAND=la;exports.DELETE_WORD_COMMAND=ka;\nexports.DEPRECATED_$createGridSelection=function(){let a=new W(\"root\",0,\"element\"),b=new W(\"root\",0,\"element\");return new od(\"root\",a,b)};exports.DEPRECATED_$isGridCellNode=td;exports.DEPRECATED_$isGridNode=rd;exports.DEPRECATED_$isGridRowNode=sd;exports.DEPRECATED_$isGridSelection=pd;exports.DEPRECATED_GridCellNode=De;exports.DEPRECATED_GridNode=Ee;exports.DEPRECATED_GridRowNode=Fe;exports.DRAGEND_COMMAND=Ga;exports.DRAGOVER_COMMAND=Fa;exports.DRAGSTART_COMMAND=Ea;exports.DROP_COMMAND=Da;\nexports.DecoratorNode=fe;exports.ElementNode=ge;exports.FOCUS_COMMAND=Ja;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=p;exports.INDENT_CONTENT_COMMAND={};exports.INSERT_LINE_BREAK_COMMAND=da;exports.INSERT_PARAGRAPH_COMMAND=ea;exports.KEY_ARROW_DOWN_COMMAND=ta;exports.KEY_ARROW_LEFT_COMMAND=qa;exports.KEY_ARROW_RIGHT_COMMAND=oa;exports.KEY_ARROW_UP_COMMAND=sa;exports.KEY_BACKSPACE_COMMAND=za;exports.KEY_DELETE_COMMAND=Ba;exports.KEY_ENTER_COMMAND=xa;exports.KEY_ESCAPE_COMMAND=Aa;\nexports.KEY_MODIFIER_COMMAND=La;exports.KEY_SPACE_COMMAND=ya;exports.KEY_TAB_COMMAND=Ca;exports.LineBreakNode=ke;exports.MOVE_TO_END=pa;exports.MOVE_TO_START=ra;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=ha;exports.ParagraphNode=ze;exports.REDO_COMMAND=na;exports.REMOVE_TEXT_COMMAND=ia;exports.RootNode=he;exports.SELECTION_CHANGE_COMMAND=aa;exports.TextNode=qe;exports.UNDO_COMMAND=ma;exports.VERSION=\"0.4.1\";exports.createCommand=function(){return{}};\nexports.createEditor=function(a){var b=a||{},c=Y,d=b.theme||{};let f=void 0===a?c:b.parentEditor||null,e=b.disableEvents||!1,g=ie(),h=b.namespace||(null!==f?f._config.namespace:Nb()),k=b.editorState,m=[he,qe,ke,ze,...(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 n=m[c],q=n.getType();a.set(q,{klass:n,transforms:new Set})}d=new Ce(g,f,a,{disableEvents:e,namespace:h,theme:d},l?l:console.error,Be(a),b);void 0!==\nk&&(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 n(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 p(a,b){for(;a!==l.$getRoot()&&null!=a;){if(b(a))return a;a=a.getParent()}return null}\nfunction q(a,b,e,f,d){var c=e._nodes.get(a.__type);void 0===c&&n(5);for(var h in a){var k=a[h];if(null!=k&&\"object\"===typeof k&&(k=k.editorState,null!=k)){var g=l.createEditor({namespace:k.namespace});g._nodes=e._nodes;g._parentEditor=e._parentEditor;g._pendingEditorState=r(g,k);a[h]=g}}c=c.klass;h=a.__key;a.__key=void 0;c=c.clone(a);a.__key=h;h=c.__key;d._nodeMap.set(h,c);c.__parent=f;if(l.$isElementNode(c)){f=a.__children;for(k=0;k<f.length;k++)g=b.get(f[k]),void 0!==g&&(g=q(g,b,e,h,d).__key,c.__children.push(g));\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 t(a,b){let e=b._editorState.constructor,f=new Map,d=new e(f),c=new Map(a._nodeMap),h=c.get(\"root\");a=b._updating;try{b._updating=!1,b.update(()=>{let k=b._dirtyElements,g=b._dirtyLeaves,m=b._dirtyType;b._dirtyElements=new Map;b._dirtyLeaves=new Set;b._dirtyType=0;try{q(h,c,b,null,d)}finally{b._dirtyElements=k,b._dirtyLeaves=g,b._dirtyType=m}})}finally{b._updating=a}d._readOnly=!0;return d}function r(a,b){b=\"string\"===typeof b?JSON.parse(b):b;return t(b,a)}\nexports.$dfs=function(a,b){let e=[];a=(a||l.$getRoot()).getLatest();b=b||(l.$isElementNode(a)?a.getLastDescendant():a);for(var f=a,d=0;null!==(f=f.getParent());)d++;for(f=d;null!==a&&!a.is(b);)if(e.push({depth:f,node:a}),l.$isElementNode(a)&&0<a.getChildrenSize())a=a.getFirstChild(),f++;else for(d=null;null===d&&null!==a;)d=a.getNextSibling(),null===d?(a=a.getParent(),f--):a=d;null!==a&&a.is(b)&&e.push({depth:f,node:a});return e};exports.$findMatchingParent=p;\nexports.$getNearestBlockElementAncestorOrThrow=function(a){a=p(a,b=>l.$isElementNode(b)&&!b.isInline());l.$isElementNode(a)||n(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();l.$isRangeSelection(b)?b.focus.getNode().getTopLevelElementOrThrow().insertAfter(a):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();return a.getLatest()};\nexports.$restoreEditorState=function(a,b){let e=new Map(b._nodeMap),f=a._pendingEditorState;f&&(f._nodeMap=e);a._dirtyType=2;a=b._selection;l.$setSelection(null===a?null:a.clone())};exports.$wrapNodeInElement=function(a,b){b=b();a.replace(b);b.append(a);return b};exports.addClassNamesToElement=function(a,...b){b.forEach(e=>{\"string\"===typeof e&&a.classList.add(...e.split(\" \"))})};exports.mergeRegister=function(...a){return()=>{a.forEach(b=>b())}};\nexports.registerNestedElementResolver=function(a,b,e,f){return a.registerNodeTransform(b,d=>{a:{var c=d.getChildren();for(var h=0;h<c.length;h++)if(c[h]instanceof b){c=null;break a}for(c=d;null!==c;)if(h=c,c=c.getParent(),c instanceof b){c={child:h,parent:c};break a}c=null}if(null!==c){const {child:k,parent:g}=c;if(k.is(d)){f(g,d);d=k.getNextSiblings();c=d.length;g.insertAfter(k);if(0!==c){h=e(g);k.insertAfter(h);for(let m=0;m<c;m++)h.append(d[m])}g.canBeEmpty()||0!==g.getChildrenSize()||g.remove()}}})};\nexports.removeClassNamesFromElement=function(a,...b){b.forEach(e=>{\"string\"===typeof e&&a.classList.remove(...e.split(\" \"))})};exports.unstable_convertLegacyJSONEditorState=r\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\"),l=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){(b||a.getChildren()).forEach(c=>{let d=c.getValue();var e=c.getParent();var f=1;null!=e&&(q(e)?f=e.getStart():m(44));e=c.getPreviousSiblings();for(let g=0;g<e.length;g++){let k=e[g];p(k)&&!q(k.getFirstChild())&&f++}d!==f&&c.setValue(f)})}\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(),k=E(d.getListType());g.append(k);k.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 k=c.getListType();f=z();let x=E(k);f.append(x);b.getPreviousSiblings().forEach(y=>x.append(y));g=z();k=E(k);g.append(k);C(k,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 k=c.getChecked();f&&!k||e.push(b.listitemUnchecked);f&&k||e.push(b.listitemChecked);f&&d.push(k?b.listitemChecked:b.listitemUnchecked)}void 0!==g&&(g=g.split(\" \"),c.getChildren().some(k=>q(k))?d.push(...g):e.push(...g));0<e.length&&l.removeClassNamesFromElement(a,...e);0<d.length&&l.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 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):(b=h.$createTextNode(b.getTextContent()),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 k=f[`${c.__tag}Depth`]||[];b=n(c)-1;let x=b%k.length;var g=k[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<k.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&&l.removeClassNamesFromElement(a,...e);0<d.length&&l.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 new N(a,b)}function q(a){return a instanceof N}let S=h.createCommand(),T=h.createCommand(),U=h.createCommand(),V=h.createCommand();exports.$createListItemNode=z;\nexports.$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)){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,b);else if(h.$isLeafNode(f))for(f=\nf.getParent();null!=f;){let k=f.getKey();if(q(f)){if(!c.has(k)){var g=E(b);C(g,f.getChildren());f.replace(g);F(g);c.add(k)}break}else{g=f.getParent();if(h.$isRootOrShadowRoot(g)&&!c.has(k)){c.add(k);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=l.$getNearestNodeOfType(f,J),null!=f&&c.add(r(f)))}for(let g of c){c=g;d=t(g);for(let k of d)d=h.$createParagraphNode(),C(d,k.getChildren()),c.insertAfter(d),c=d,k.__key===b.anchor.key&&b.anchor.set(d.getKey(),0,\"element\"),k.__key===b.focus.key&&b.focus.set(d.getKey(),0,\"element\"),\nk.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 r=new Map;function u(a){a=a.getLatest();let b=a.constructor.clone(a);b.__parent=a.__parent;l.$isElementNode(a)&&l.$isElementNode(b)?(b.__children=Array.from(a.__children),b.__format=a.__format,b.__indent=a.__indent,b.__dir=a.__dir):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 v(a,b,c,g,d,f){for(var h=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 e=a.getKey(),k=f.get(e),m=void 0===k;m&&(k=u(a),f.set(e,k));!l.$isTextNode(k)||k.isSegmented()||k.isToken()?l.$isElementNode(k)&&(k.__children=k.__children.slice(g?h:0,g?void 0:(h||0)+1)):k.__text=k.__text.slice(g?h:0,g?c:h);if(l.$isRootNode(b)){m&&d.push(e);break}}h=f.get(b.getKey());h=l.$isElementNode(h)?\nh.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=b}}\nfunction x(a){if(l.$isRangeSelection(a)){var b=a.anchor,c=a.focus;let [k,m]=a.getCharacterOffsets();a=a.getNodes();if(0===a.length)return{nodeMap:[],range:[]};let p=a.length;var g=a[0],d=g.getParent();if(null!==d&&(!d.canBeEmpty()||l.$isRootNode(d))){var f=d.__children;if(f.length===p){var h=!0;for(var e=0;e<f.length;e++)if(f[e]!==a[e].__key){h=!1;break}h&&(p++,a.push(d))}}d=a[p-1];b=b.isBefore(c);c=new Map;f=[];h=l.$isTextNode(g)&&1===p;v(g,b?k:m,h?b?m:k:void 0,!0,f,c);for(g=0;g<p;g++){e=a[g];let n=\ne.getKey();if(!(c.has(n)||l.$isElementNode(e)&&e.excludeFromCopy(\"clone\"))){let w=u(e);l.$isRootNode(e.getParent())&&f.push(e.getKey());\"root\"!==n&&c.set(n,w)}}v(d,h?void 0:b?m:k,void 0,!1,f,c);return{nodeMap:Array.from(c.entries()),range:f}}if(l.DEPRECATED_$isGridSelection(a))return{nodeMap:a.getNodes().map(k=>{const m=k.getKey();k=u(k);return[m,k]}),range:[a.gridKey]};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.\");\n}function y(a){let b=r.get(a);void 0===b&&(b=z(a),r.set(a,b));return b}function z(a){let b={};a=a.split(\";\");for(let c of a)if(\"\"!==c){let [g,d]=c.split(/:([^]+)/);b[g.trim()]=d.trim()}return b}function A(a,b){var c=y(a.getStyle());b=c?{...c,...b}:b;c=\"\";for(g in b)g&&(c+=`${g}: ${b[g]};`);var g=c;a.setStyle(g);r.set(g,b)}function B(a,b,c,g){a.modify(b?\"extend\":\"move\",c,g)}function C(a){a=a.anchor.getNode();return\"rtl\"===(l.$isRootNode(a)?a:a.getParentOrThrow()).getDirection()}\nfunction E(a){for(;null!==a&&!l.$isRootOrShadowRoot(a);){let b=a.getLatest(),c=a.getParent();0===b.__children.length&&a.remove(!0);a=c}}\nfunction F(a,b,c,g,d=null){if(0!==b.length){var f=b[0],h=new Map,e=[];f=l.$isElementNode(f)?f:f.getParentOrThrow();f.isInline()&&(f=f.getParentOrThrow());for(var k=!1;null!==f;){var m=f.getPreviousSibling();if(null!==m){f=m;k=!0;break}f=f.getParentOrThrow();if(l.$isRootOrShadowRoot(f))break}m=new Set;for(var p=0;p<c;p++){var n=b[p];l.$isElementNode(n)&&0===n.getChildrenSize()&&m.add(n.getKey())}var w=new Set;for(p=0;p<c;p++){n=b[p];var q=n.getParent();null!==q&&q.isInline()&&(q=q.getParent());if(null!==\nq&&l.$isLeafNode(n)&&!w.has(n.getKey())){if(n=q.getKey(),void 0===h.get(n)){let t=g();t.setFormat(q.getFormatType());t.setIndent(q.getIndent());e.push(t);h.set(n,t);q.getChildren().forEach(D=>{t.append(D);w.add(D.getKey())});E(q)}}else m.has(n.getKey())&&(q=g(),q.setFormat(n.getFormatType()),q.setIndent(n.getIndent()),e.push(q),n.remove(!0))}if(null!==d)for(b=0;b<e.length;b++)d.append(e[b]);if(l.$isRootOrShadowRoot(f))if(k)if(null!==d)f.insertAfter(d);else for(d=e.length-1;0<=d;d--)f.insertAfter(e[d]);\nelse if(b=f.getFirstChild(),l.$isElementNode(b)&&(f=b),null===b)if(d)f.append(d);else for(d=0;d<e.length;d++)f.append(e[d]);else if(null!==d)b.insertBefore(d);else for(f=0;f<e.length;f++)b.insertBefore(e[f]);else if(d)f.insertAfter(d);else for(d=e.length-1;0<=d;d--)f.insertAfter(e[d]);e=l.$getPreviousSelection();l.$isRangeSelection(e)&&e.anchor.getNode().isAttached()&&e.focus.getNode().isAttached()?l.$setSelection(e.clone()):a.dirty=!0}}\nfunction G(a){for(;null!=a;){if(a.nodeType===Node.TEXT_NODE)return a;a=a.firstChild}return null}function H(a){let b=a.parentNode;if(null==b)throw Error(\"Should never happen\");return[b,Array.from(b.childNodes).indexOf(a)]}exports.$addNodeStyle=function(a){a=a.getStyle();let b=z(a);r.set(a,b)};exports.$cloneContents=function(a){return x(a)};exports.$cloneWithProperties=u;\nexports.$getSelectionStyleValueForProperty=function(a,b,c=\"\"){let g=null,d=a.getNodes();var f=a.anchor,h=a.focus,e=a.isBackward();a=e?h.offset:f.offset;f=e?h.getNode():f.getNode();for(h=0;h<d.length;h++){var k=d[h];if((0===h||0!==a||!k.is(f))&&l.$isTextNode(k)){e=b;var m=c;k=k.getStyle();k=y(k);e=null!==k?k[e]||m:m;if(null===g)g=e;else if(g!==e){g=\"\";break}}}return null===g?c:g};exports.$isAtNodeEnd=function(a){return\"text\"===a.type?a.offset===a.getNode().getTextContentSize():a.offset===a.getNode().getChildrenSize()};\nexports.$isParentElementRTL=C;exports.$moveCaretSelection=B;exports.$moveCharacter=function(a,b,c){let g=C(a);B(a,b,c?!g:g,\"character\")};\nexports.$patchStyleText=function(a,b){var c=a.getNodes();let g=c.length-1,d=c[0],f=c[g];if(!a.isCollapsed()){var h=a.anchor,e=a.focus;a=d.getTextContent().length;var k=e.offset,m=h.offset;h=(e=h.isBefore(e))?m:k;e=e?k:m;if(h===d.getTextContentSize()){let p=d.getNextSibling();l.$isTextNode(p)&&(h=m=0,d=p)}if(d.is(f))l.$isTextNode(d)&&(h=m>k?k:m,e=m>k?m:k,h!==e&&(0===h&&e===a?(A(d,b),d.select(h,e)):(c=d.splitText(h,e),c=0===h?c[0]:c[1],A(c,b),c.select(0,e-h))));else for(l.$isTextNode(d)&&(0!==h&&(d=\nd.splitText(h)[1]),A(d,b)),l.$isTextNode(f)&&(a=f.getTextContent().length,e!==a&&([f]=f.splitText(e)),0!==e&&A(f,b)),a=1;a<g;a++)k=c[a],m=k.getKey(),l.$isTextNode(k)&&m!==d.getKey()&&m!==f.getKey()&&!k.isToken()&&A(k,b)}};\nexports.$selectAll=function(a){let b=a.anchor;a=a.focus;var c=b.getNode().getTopLevelElementOrThrow().getParentOrThrow();let g=c.getFirstDescendant();c=c.getLastDescendant();let d=\"element\",f=\"element\",h=0;l.$isTextNode(g)?d=\"text\":l.$isElementNode(g)||null===g||(g=g.getParentOrThrow());l.$isTextNode(c)?(f=\"text\",h=c.getTextContentSize()):l.$isElementNode(c)||null===c||(c=c.getParentOrThrow());g&&c&&(b.set(g.getKey(),0,d),a.set(c.getKey(),h,f))};\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(),g=a.focus.getNode(),d=b.is(c),f=b.is(g);if(d||f){d=a.isBackward();let [h,e]=a.getCharacterOffsets();a=c.is(g);f=b.is(d?g:c);g=b.is(d?c:g);c=0;let k=void 0;a?(c=h>e?e:h,k=h>e?h:e):f?(c=d?e:h,k=void 0):g&&(d=d?h:e,c=0,k=d);b.__text=b.__text.slice(c,k)}}return b};\nexports.$wrapNodes=function(a,b,c=null){var g=a.getNodes();let d=g.length;var f=a.anchor;if(0===d||1===d&&\"element\"===f.type&&0===f.getNode().getChildrenSize()){a=\"text\"===f.type?f.getNode().getParentOrThrow():f.getNode();g=a.getChildren();let e=b();e.setFormat(a.getFormatType());e.setIndent(a.getIndent());g.forEach(k=>e.append(k));c&&(e=c.append(e));a.replace(e)}else{f=null;var h=[];for(let e=0;e<d;e++){let k=g[e];l.$isRootOrShadowRoot(k)?(F(a,h,h.length,b,c),h=[],f=k):null===f||null!==f&&l.$hasAncestor(k,\nf)?h.push(k):(F(a,h,h.length,b,c),h=[k])}F(a,h,h.length,b,c)}};exports.$wrapNodesImpl=F;\nexports.createDOMRange=function(a,b,c,g,d){let f=b.getKey(),h=g.getKey(),e=document.createRange(),k=a.getElementByKey(f);a=a.getElementByKey(h);l.$isTextNode(b)&&(k=G(k));l.$isTextNode(g)&&(a=G(a));if(void 0===b||void 0===g||null===k||null===a)return null;\"BR\"===k.nodeName&&([k,c]=H(k));\"BR\"===a.nodeName&&([a,d]=H(a));b=k.firstChild;k===a&&null!=b&&\"BR\"===b.nodeName&&0===c&&0===d&&(d=1);try{e.setStart(k,c),e.setEnd(a,d)}catch(m){return null}!e.collapsed||c===d&&f===h||(e.setStart(a,d),e.setEnd(k,\nc));return e};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 g=b.length,d;for(let f=0;f<g;f++){let h=b[f],e=h.width+c===a.width;d&&d.top===h.top&&d.left===h.left&&d.width===h.width&&d.height===h.height||e?(b.splice(f--,1),g--):d=h}return b};exports.getStyleObjectFromCSS=y;\nexports.trimTextContentFromAnchor=function(a,b,c){let g=b.getNode();if(l.$isElementNode(g)){var d=g.getDescendantByIndex(b.offset);null!==d&&(g=d)}for(;0<c&&null!==g;){var f=g.getPreviousSibling(),h=0;if(null===f){d=g.getParentOrThrow();for(var e=d.getPreviousSibling();null===e;){d=d.getParent();if(null===d){f=null;break}e=d.getPreviousSibling()}null!==d&&(h=d.isInline()?0:2,f=l.$isElementNode(e)?e.getLastDescendant():e)}let k=g.getTextContent();\"\"===k&&l.$isElementNode(g)&&!g.isInline()&&(k=\"\\n\\n\");\nd=k.length;e=d-c;let m=k.slice(0,e);if(!l.$isTextNode(g)||c>=d)e=g.getParent(),g.remove(),null!=e&&0===e.getChildrenSize()&&e.remove(),c-=d+h,g=f;else{let p=g.getKey();f=a.getEditorState().read(()=>{const n=l.$getNodeByKey(p);return l.$isTextNode(n)&&n.isSimpleText()?n.getTextContent():null});null!==f&&f!==k?(c=l.$getPreviousSelection(),d=g,g.isSimpleText()?g.setTextContent(f):(d=l.$createTextNode(f),g.replace(d)),l.$isRangeSelection(c)&&c.isCollapsed()&&(c=c.anchor.offset,d.select(c,c))):g.isSimpleText()?\n(f=b.key===p,h=b.offset,h<c&&(h=d),c=f?h-c:0,d=f?h:e,f&&0===c?([c]=g.splitText(c,d),c.remove()):([,c]=g.splitText(c,d),c.remove())):(c=l.$createTextNode(m),g.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(null==document||null==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 c=require(\"@lexical/html\"),n=require(\"@lexical/list\"),r=require(\"@lexical/selection\"),y=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,b,d){(z.DEPRECATED_$isGridSelection(d)||null!==y.$findMatchingParent(d.anchor.getNode(),g=>z.DEPRECATED_$isGridCellNode(g))&&null!==y.$findMatchingParent(d.focus.getNode(),g=>z.DEPRECATED_$isGridCellNode(g)))&&1===b.length&&z.DEPRECATED_$isGridNode(b[0])?E(b,d,!1,a):F(b,d)}\nfunction F(a,b){let d=[],g=null,e=null;for(let h=0;h<a.length;h++){let f=a[h];n.$isListItemNode(f)?(null==e&&(e=n.$createListNode(\"bullet\"),d.push(e)),e.append(f)):(null!=e&&(e=null),z.$isDecoratorNode(f)&&f.isInline()||z.$isElementNode(f)&&f.isInline()||z.$isTextNode(f)||z.$isLineBreakNode(f)?(null===g&&(g=z.$createParagraphNode(),d.push(g)),null!==g&&g.append(f)):(d.push(f),g=null))}z.$isRangeSelection(b)?b.insertNodes(d):z.DEPRECATED_$isGridSelection(b)&&(a=b.anchor.getNode(),z.DEPRECATED_$isGridCellNode(a)||\nA(41),a.append(...d))}\nfunction E(a,b,d,g){1===a.length&&z.DEPRECATED_$isGridNode(a[0])||A(42);var e=a[0];a=e.getChildren();d=e.getFirstChildOrThrow().getChildrenSize();var h=e.getChildrenSize(),f=y.$findMatchingParent(b.anchor.getNode(),l=>z.DEPRECATED_$isGridCellNode(l));b=(e=f&&y.$findMatchingParent(f,l=>z.DEPRECATED_$isGridRowNode(l)))&&y.$findMatchingParent(e,l=>z.DEPRECATED_$isGridNode(l));z.DEPRECATED_$isGridCellNode(f)&&z.DEPRECATED_$isGridRowNode(e)&&z.DEPRECATED_$isGridNode(b)||A(43);var k=e.getIndexWithinParent(),\np=Math.min(b.getChildrenSize()-1,k+h-1);h=f.getIndexWithinParent();f=Math.min(e.getChildrenSize()-1,h+d-1);d=Math.min(h,f);e=Math.min(k,p);h=Math.max(h,f);k=Math.max(k,p);p=b.getChildren();f=0;let m,q;for(let l=e;l<=k;l++){var w=p[l];z.DEPRECATED_$isGridRowNode(w)||A(24);var x=a[f];z.DEPRECATED_$isGridRowNode(x)||A(24);w=w.getChildren();x=x.getChildren();let C=0;for(let t=d;t<=h;t++){let u=w[t];z.DEPRECATED_$isGridCellNode(u)||A(25);let D=x[C];z.DEPRECATED_$isGridCellNode(D)||A(25);l===e&&t===d?m=\nu.getKey():l===k&&t===h&&(q=u.getKey());let J=u.getChildren();D.getChildren().forEach(v=>{z.$isTextNode(v)&&z.$createParagraphNode().append(v);u.append(v)});J.forEach(v=>v.remove());C++}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 G(a,b,d,g=[]){let e=null!=b?d.isSelected():!0,h=z.$isElementNode(d)&&d.excludeFromCopy(\"html\");var f=d;if(null!==b){var k=r.$cloneWithProperties(d);f=k=z.$isTextNode(k)&&null!=b?r.$sliceSelectedTextNodeContent(b,k):k}let p=z.$isElementNode(f)?f.getChildren():[];var m=f;k=m.exportJSON();k.type!==m.constructor.getType()&&A(58);var q=k.children;z.$isElementNode(m)&&(Array.isArray(q)||A(59));z.$isTextNode(f)&&(k.text=f.__text);for(f=0;f<p.length;f++)m=p[f],q=G(a,b,m,k.children),!e&&z.$isElementNode(d)&&\nq&&d.extractWithChild(m,b,\"clone\")&&(e=!0);if(e&&!h)g.push(k);else if(Array.isArray(k.children))for(a=0;a<k.children.length;a++)g.push(k.children[a]);return e}function H(a,b){let d=[],g=z.$getRoot().getChildren();for(let e=0;e<g.length;e++)G(a,b,g[e],d);return{namespace:a._config.namespace,nodes:d}}function I(a){let b=[];for(let d=0;d<a.length;d++){let g=z.$parseSerializedNode(a[d]);z.$isTextNode(g)&&r.$addNodeStyle(g);b.push(g)}return b}exports.$generateJSONFromSelectedNodes=H;\nexports.$generateNodesFromSerializedNodes=I;exports.$getHtmlContent=function(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:c.$generateHtmlFromNodes(a,b)};exports.$getLexicalContent=function(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(H(a,b))};\nexports.$insertDataTransferForPlainText=function(a,b){a=a.getData(\"text/plain\");null!=a&&b.insertRawText(a)};\nexports.$insertDataTransferForRichText=function(a,b,d){var g=a.getData(\"application/x-lexical-editor\");if(g)try{let h=JSON.parse(g);if(h.namespace===d._config.namespace&&Array.isArray(h.nodes)){let f=I(h.nodes);return B(d,f,b)}}catch{}if(g=a.getData(\"text/html\"))try{var e=(new DOMParser).parseFromString(g,\"text/html\");let h=c.$generateNodesFromDOM(d,e);return B(d,h,b)}catch{}a=a.getData(\"text/plain\");if(null!=a)if(z.$isRangeSelection(b))for(a=a.split(/\\r?\\n/),d=a.length,e=0;e<d;e++)b.insertText(a[e]),\ne<d-1&&b.insertParagraph();else b.insertRawText(a)};exports.$insertGeneratedNodes=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 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 b=require(\"@lexical/clipboard\"),f=require(\"@lexical/selection\"),g=require(\"@lexical/utils\"),h=require(\"lexical\");let l=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,m=l&&\"documentMode\"in document?document.documentMode:null;l&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);l&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);\nlet n=l&&\"InputEvent\"in window&&!m?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,p=l&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),q=l&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;\nclass r extends h.ElementNode{static getType(){return\"quote\"}static clone(a){return new r(a.__key)}constructor(a){super(a)}createDOM(a){let c=document.createElement(\"blockquote\");g.addClassNamesToElement(c,a.theme.quote);return c}updateDOM(){return!1}static importDOM(){return{blockquote:()=>({conversion:t,priority:0})}}static importJSON(a){let c=w();c.setFormat(a.format);c.setIndent(a.indent);c.setDirection(a.direction);return c}exportJSON(){return{...super.exportJSON(),type:\"quote\"}}insertNewAfter(){let a=\nh.$createParagraphNode(),c=this.getDirection();a.setDirection(c);this.insertAfter(a);return a}collapseAtStart(){let a=h.$createParagraphNode();this.getChildren().forEach(c=>a.append(c));this.replace(a);return!0}}function w(){return new r}\nclass x extends h.ElementNode{static getType(){return\"heading\"}static clone(a){return new x(a.__tag,a.__key)}constructor(a,c){super(c);this.__tag=a}getTag(){return this.__tag}createDOM(a){let c=this.__tag,d=document.createElement(c);a=a.theme.heading;void 0!==a&&g.addClassNamesToElement(d,a[c]);return d}updateDOM(){return!1}static importDOM(){return{h1:()=>({conversion:y,priority:0}),h2:()=>({conversion:y,priority:0}),h3:()=>({conversion:y,priority:0}),h4:()=>({conversion:y,priority:0}),h5:()=>({conversion:y,\npriority:0}),h6:()=>({conversion:y,priority:0}),p:a=>{a=a.firstChild;return null!==a&&z(a)?{conversion:()=>({node:null}),priority:3}:null},span:a=>z(a)?{conversion:()=>({node:A(\"h1\")}),priority:3}:null}}static importJSON(a){let c=A(a.tag);c.setFormat(a.format);c.setIndent(a.indent);c.setDirection(a.direction);return c}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:\"heading\",version:1}}insertNewAfter(){let a=h.$createParagraphNode(),c=this.getDirection();a.setDirection(c);this.insertAfter(a);\nreturn a}collapseAtStart(){let a=h.$createParagraphNode();this.getChildren().forEach(c=>a.append(c));this.replace(a);return!0}extractWithChild(){return!0}}function z(a){return\"span\"===a.nodeName.toLowerCase()?\"26pt\"===a.style.fontSize:!1}function y(a){a=a.nodeName.toLowerCase();let c=null;if(\"h1\"===a||\"h2\"===a||\"h3\"===a||\"h4\"===a||\"h5\"===a||\"h6\"===a)c=A(a);return{node:c}}function t(){return{node:w()}}function A(a){return new x(a)}\nfunction B(a,c){a.preventDefault();c.update(()=>{let d=h.$getSelection(),e=a instanceof InputEvent||a instanceof KeyboardEvent?null:a.clipboardData;null!=e&&(h.$isRangeSelection(d)||h.DEPRECATED_$isGridSelection(d))&&b.$insertDataTransferForRichText(e,d,c)},{tag:\"paste\"})}\nfunction C(a,c){var d=h.$getSelection();if(null!==d){a.preventDefault();a=a instanceof KeyboardEvent?null:a.clipboardData;let e=b.$getHtmlContent(c);c=b.$getLexicalContent(c);null!=a?(null!==e&&a.setData(\"text/html\",e),null!==c&&a.setData(\"application/x-lexical-editor\",c),d=d.getTextContent(),a.setData(\"text/plain\",d)):(d=navigator.clipboard,null!=d&&(a=[new ClipboardItem({\"text/html\":new Blob([e],{type:\"text/html\"})})],d.write(a)))}}\nfunction D(a,c){C(a,c);a=h.$getSelection();h.$isRangeSelection(a)?a.removeText():h.$isNodeSelection(a)&&a.getNodes().forEach(d=>d.remove())}function E(a,c){var d=h.$getSelection();if(h.$isRangeSelection(d)){var e=new Set;d=d.getNodes();for(let u=0;u<d.length;u++){let v=d[u];var k=v.getKey();e.has(k)||(e.add(k),k=g.$getNearestBlockElementAncestorOrThrow(v),k.canInsertTab()?a(v):k.canIndent()&&c(k))}}}function F(a){a=h.$getNearestNodeFromDOMNode(a);return h.$isDecoratorNode(a)}\nexports.$createHeadingNode=A;exports.$createQuoteNode=w;exports.$isHeadingNode=function(a){return a instanceof x};exports.$isQuoteNode=function(a){return a instanceof r};exports.HeadingNode=x;exports.QuoteNode=r;\nexports.registerRichText=function(a){return g.mergeRegister(a.registerCommand(h.CLICK_COMMAND,()=>{const c=h.$getSelection();return h.$isNodeSelection(c)?(c.clear(),!0):!1},0),a.registerCommand(h.DELETE_CHARACTER_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.deleteCharacter(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.DELETE_WORD_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.deleteWord(c);return!0},h.COMMAND_PRIORITY_EDITOR),\na.registerCommand(h.DELETE_LINE_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.deleteLine(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.CONTROLLED_TEXT_INSERTION_COMMAND,c=>{const d=h.$getSelection();if(\"string\"===typeof c)h.$isRangeSelection(d)?d.insertText(c):h.DEPRECATED_$isGridSelection(d);else{if(!h.$isRangeSelection(d)&&!h.DEPRECATED_$isGridSelection(d))return!1;const e=c.dataTransfer;null!=e?b.$insertDataTransferForRichText(e,d,a):h.$isRangeSelection(d)&&\n(c=c.data)&&d.insertText(c)}return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.REMOVE_TEXT_COMMAND,()=>{const c=h.$getSelection();if(!h.$isRangeSelection(c))return!1;c.removeText();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.FORMAT_TEXT_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.formatText(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.FORMAT_ELEMENT_COMMAND,c=>{var d=h.$getSelection();if(!h.$isRangeSelection(d)&&!h.$isNodeSelection(d))return!1;\nd=d.getNodes();for(const e of d)g.$getNearestBlockElementAncestorOrThrow(e).setFormat(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.INSERT_LINE_BREAK_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.insertLineBreak(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.INSERT_PARAGRAPH_COMMAND,()=>{const c=h.$getSelection();if(!h.$isRangeSelection(c))return!1;c.insertParagraph();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.INDENT_CONTENT_COMMAND,\n()=>{E(()=>{a.dispatchCommand(h.CONTROLLED_TEXT_INSERTION_COMMAND,\"\\t\")},c=>{const d=c.getIndent();10!==d&&c.setIndent(d+1)});return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.OUTDENT_CONTENT_COMMAND,()=>{E(c=>{h.$isTextNode(c)&&(c=c.getTextContent(),\"\\t\"===c[c.length-1]&&a.dispatchCommand(h.DELETE_CHARACTER_COMMAND,!0))},c=>{const d=c.getIndent();0!==d&&c.setIndent(d-1)});return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_UP_COMMAND,c=>{const d=h.$getSelection();return h.$isNodeSelection(d)&&\n!F(c.target)&&(c=d.getNodes(),0<c.length)?(c[0].selectPrevious(),!0):!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_DOWN_COMMAND,()=>{var c=h.$getSelection();return h.$isNodeSelection(c)&&(c=c.getNodes(),0<c.length)?(c[0].selectNext(0,0),!0):!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_LEFT_COMMAND,c=>{const d=h.$getSelection();if(h.$isNodeSelection(d)){var e=d.getNodes();if(0<e.length)return c.preventDefault(),e[0].selectPrevious(),!0}return h.$isRangeSelection(d)?f.$shouldOverrideDefaultCharacterSelection(d,\n!0)?(e=c.shiftKey,c.preventDefault(),f.$moveCharacter(d,e,!0),!0):!1:!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_RIGHT_COMMAND,c=>{const d=h.$getSelection();if(h.$isNodeSelection(d)&&!F(c.target)){var e=d.getNodes();if(0<e.length)return c.preventDefault(),e[0].selectNext(0,0),!0}if(!h.$isRangeSelection(d))return!1;e=c.shiftKey;return f.$shouldOverrideDefaultCharacterSelection(d,!1)?(c.preventDefault(),f.$moveCharacter(d,e,!1),!0):!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_BACKSPACE_COMMAND,\nc=>{if(F(c.target))return!1;const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;c.preventDefault();({anchor:c}=d);const e=c.getNode();return d.isCollapsed()&&0===c.offset&&!h.$isRootNode(e)&&0<g.$getNearestBlockElementAncestorOrThrow(e).getIndent()?a.dispatchCommand(h.OUTDENT_CONTENT_COMMAND,void 0):a.dispatchCommand(h.DELETE_CHARACTER_COMMAND,!0)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_DELETE_COMMAND,c=>{if(F(c.target))return!1;const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;\nc.preventDefault();return a.dispatchCommand(h.DELETE_CHARACTER_COMMAND,!1)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ENTER_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;if(null!==c){if((q||p)&&n)return!1;c.preventDefault();if(c.shiftKey)return a.dispatchCommand(h.INSERT_LINE_BREAK_COMMAND,!1)}return a.dispatchCommand(h.INSERT_PARAGRAPH_COMMAND,void 0)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_TAB_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;\nc.preventDefault();return a.dispatchCommand(c.shiftKey?h.OUTDENT_CONTENT_COMMAND:h.INDENT_CONTENT_COMMAND,void 0)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ESCAPE_COMMAND,()=>{const c=h.$getSelection();if(!h.$isRangeSelection(c))return!1;a.blur();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.DROP_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;c.preventDefault();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.DRAGSTART_COMMAND,c=>{const d=h.$getSelection();\nif(!h.$isRangeSelection(d))return!1;c.preventDefault();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.COPY_COMMAND,c=>{C(c,a);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.CUT_COMMAND,c=>{D(c,a);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.PASTE_COMMAND,c=>{const d=h.$getSelection();return h.$isRangeSelection(d)||h.DEPRECATED_$isGridSelection(d)?(B(c,a),!0):!1},h.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={},g){super(g);let {target:h=null,rel:d=null}=b;this.__url=a;this.__target=h;this.__rel=d}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 g=this.__url,h=this.__target,d=this.__rel;\ng!==a.__url&&(b.href=g);h!==a.__target&&(h?b.target=h:b.removeAttribute(\"target\"));d!==a.__rel&&(d?b.rel=d: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 g=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(g)&&0<b.getTextContent().length}}function p(a){let b=null;a instanceof HTMLAnchorElement&&(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();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:g,rel:h}=b;b=m.$getSelection();if(m.$isRangeSelection(b))if(b=b.extract(),null===a)b.forEach(k=>{k=k.getParent();if(r(k)){let e=k.getChildren();for(let f=0;f<e.length;f++)k.insertBefore(e[f]);k.remove()}});else{if(1===b.length){var d=b[0];d=r(d)?d:x(d);if(null!==d){d.setURL(a);void 0!==g&&d.setTarget(g);void 0!==h&&d.setRel(h);return}}let k=null,e=null;b.forEach(f=>{var c=f.getParent();if(c!==e&&null!==c&&(!m.$isElementNode(f)||f.isInline()))if(r(c))e=\nc,c.setURL(a),void 0!==g&&c.setTarget(g),void 0!==h&&c.setRel(h);else if(c.is(k)||(k=c,e=q(a,{rel:h,target:g}),r(c)?null===f.getPreviousSibling()?c.insertBefore(e):c.insertAfter(e):f.insertBefore(e)),r(f)){if(!f.is(e)){if(null!==e){c=f.getChildren();for(let t=0;t<c.length;t++)e.append(c[t])}f.remove()}}else null!==e&&e.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 * @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","const KoenigCardWrapperComponent = ({children}) => {\n return (\n <div className=\"caret-grey-800 hover:shadow-green relative hover:shadow-[0_0_0_1px]\" data-kg-card>\n {children}\n </div>\n );\n};\n\nexport default KoenigCardWrapperComponent;\n","import * as React from 'react';\nimport {createCommand, DecoratorNode} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND = createCommand();\n\nfunction HorizontalRuleComponent() {\n return (\n <KoenigCardWrapper>\n <hr />\n </KoenigCardWrapper>\n );\n}\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 exportJSON() {\n return {\n type: 'horizontalrule',\n version: 1\n };\n }\n\n createDOM() {\n const div = document.createElement('div');\n div.style.display = 'contents';\n return div;\n }\n\n getTextContent() {\n return '\\n';\n }\n\n isTopLevel() {\n return true;\n }\n\n updateDOM() {\n return false;\n }\n\n decorate() {\n return <HorizontalRuleComponent />;\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 * as React from 'react';\nimport {$getNodeByKey, createCommand, DecoratorNode} from 'lexical';\n// import {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport useAutoExpandTextArea from '../utils/autoExpandTextArea';\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND = createCommand();\n\nfunction CodeBlockComponent({className, code, language, nodeKey, editor}) {\n const el = React.useRef(null);\n useAutoExpandTextArea({el, value: code});\n const updateCode = (event) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCode(event.target.value);\n });\n };\n\n return (\n <KoenigCardWrapper className={className} nodeKey={nodeKey} >\n <code>\n <textarea\n ref={el}\n autoCorrect=\"off\" \n autoCapitalize=\"off\" \n spellCheck=\"false\" \n tabIndex=\"0\"\n autoFocus\n className='bg-grey-50 min-h-170 w-full p-3' \n value={code} \n onChange={updateCode} />\n </code>\n </KoenigCardWrapper>\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 const codeBlockTheme = config.theme.codeBlock || {};\n const className = {\n base: codeBlockTheme.base || '',\n focus: codeBlockTheme.focus || ''\n };\n\n return (\n <CodeBlockComponent\n className={className}\n code={this.__code}\n language={this.__language}\n nodeKey={this.getKey()}\n editor={editor}\n />\n );\n }\n\n isTopLevel() {\n return true;\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 {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';\n\nconst DEFAULT_NODES = [\n HeadingNode,\n ListNode,\n ListItemNode,\n QuoteNode,\n AsideNode,\n LinkNode,\n CodeBlockNode, // TODO: replace with our own card\n HorizontalRuleNode\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';\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 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 return (\n <LexicalComposer initialConfig={initialConfig}>\n {children}\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(l){let r=m=>{var h=l.getRootElement();if(document.activeElement===h&&(h=m.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,t]=a;l.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,d=k+n,f.setTextNodeRange(b,c,b,d));if(c!==\nd||\"\"!==p)f.insertRawText(p),b=e.getNode();g.$isTextNode(b)&&(c=q,d=q+t,e=b.getTextContentSize(),c=c>e?e:c,d=d>e?e:d,f.setTextNodeRange(b,c,b,d));m.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 c=require(\"@lexical/react/LexicalComposerContext\"),h=require(\"react\"),l=require(\"@lexical/text\"),m=require(\"@lexical/utils\"),n=require(\"react-dom\"),p=require(\"@lexical/dragon\"),q=require(\"@lexical/rich-text\"),r=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?h.useLayoutEffect:h.useEffect;function t(a){return a.getEditorState().read(l.$canShowPlaceholderCurry(a.isComposing(),a.isEditable()))}\nfunction u(a){let [e,d]=h.useState(()=>t(a));r(()=>{function b(){let f=t(a);d(f)}b();return m.mergeRegister(a.registerUpdateListener(()=>{b()}),a.registerEditableListener(()=>{b()}))},[a]);return e}\nfunction v(a){let [e,d]=h.useState(()=>a.getDecorators());r(()=>a.registerDecoratorListener(b=>{n.flushSync(()=>{d(b)})}),[a]);h.useEffect(()=>{d(a.getDecorators())},[a]);return h.useMemo(()=>{let b=[],f=Object.keys(e);for(let k=0;k<f.length;k++){var g=f[k];let w=e[g];g=a.getElementByKey(g);null!==g&&b.push(n.createPortal(w,g))}return b},[e,a])}function x(a){r(()=>m.mergeRegister(q.registerRichText(a),p.registerDragonSupport(a)),[a])}\nexports.RichTextPlugin=function({contentEditable:a,placeholder:e}){let [d]=c.useLexicalComposerContext(),b=u(d),f=v(d);x(d);return h.createElement(h.Fragment,null,a,b&&e,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 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 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;","\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 m=require(\"@lexical/utils\"),t=require(\"lexical\");let u={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\"},v={javascript:\"js\",md:\"markdown\",plaintext:\"plain\",python:\"py\",text:\"plain\"};function w(a){return v[a]||a}\nclass z extends t.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);m.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&&m.removeClassNamesFromElement(b,\na),c&&m.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 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),!t.$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),!t.$isLineBreakNode(a)););return b}let F=a=>null!=a&&e.languages.hasOwnProperty(a)?a:void 0;\nclass G extends t.ElementNode{static getType(){return\"code\"}static clone(a){return new G(a.__language,a.__key)}constructor(a,b){super(b);this.__language=F(a)}createDOM(a){let b=document.createElement(\"code\");m.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)?{conversion:H,priority:1}:null,div:()=>({conversion:I,priority:1}),pre:()=>({conversion:H,priority:0}),table:a=>J(a)?{conversion:aa,priority:4}:null,td:a=>{let b=a.closest(\"table\");return a.classList.contains(\"js-file-line\")?{conversion:ba,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);b.setFormat(a.format);\nb.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=t.$createParagraphNode(),this.insertAfter(a),a;b=a.anchor.getNode();var d=D(b);if(null!=d){c=0;for(d=d.getTextContent();c<\nd.length&&/[\\t ]/.test(d[c]);)c+=1;if(0<c)return c=d.substring(0,c),c=B(c),b.insertAfter(c),a.insertNodes([t.$createLineBreakNode()]),c.select(),c}return null}canInsertTab(){let a=t.$getSelection();return t.$isRangeSelection(a)&&a.isCollapsed()?!0:!1}canIndent(){return!1}collapseAtStart(){let a=t.$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 new G(a)}function M(a){return a instanceof G}function H(){return{node:L(),preformatted:!0}}function I(a){let b=null!==a.style.fontFamily.match(\"monospace\");return{after:c=>{let d=a.parentNode;null!=d&&a!==d.lastChild&&c.push(t.$createLineBreakNode());return c},node:b?L():null,preformatted:b}}function aa(){return{node:L(),preformatted:!0}}function K(){return{node:null}}\nfunction ba(a){return{after:b=>{a.parentNode&&a.parentNode.nextSibling&&b.push(t.$createLineBreakNode());return b},node:null}}function J(a){return a.classList.contains(\"js-file-line-container\")}function N(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 O(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=N(g,!0);-1!==g&&(b=f,c=g)}if(t.$isLineBreakNode(f))break}if(null===b)for(a=a.getNextSiblings();0<a.length;){d=a.shift();if(C(d)&&(f=d.getTextContent(),f=N(f,!0),-1!==f)){b=d;c=f;break}if(t.$isLineBreakNode(d))break}return{node:b,offset:c}}\nfunction P(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=N(g,!1);-1!==g&&(b=f,c=g+1)}if(t.$isLineBreakNode(f))break}if(null===b)for(a=a.getPreviousSiblings();0<a.length;){d=a.pop();if(C(d)&&(f=d.getTextContent(),f=N(f,!1),-1!==f)){b=d;c=f+1;break}if(t.$isLineBreakNode(d))break}return{node:b,offset:c}}function Q(a,b){let c=a.getParent();M(c)?R(c,b):C(a)&&a.replace(t.$createTextNode(a.__text))}let S=!1;\nfunction R(a,b){if(!S){S=!0;void 0===a.getLanguage()&&a.setLanguage(\"javascript\");var c=a.getKey();b.update(()=>{ca(c,()=>{var d=t.$getNodeByKey(c);if(!M(d)||!d.isAttached())return!1;var f=d.getTextContent();f=e.tokenize(f,e.languages[d.getLanguage()||\"\"]||e.languages.javascript);f=T(f);var g=d.getChildren();for(d=0;d<g.length&&U(g[d],f[d]);)d++;var k=g.length;let h=f.length,n=Math.min(k,h)-d,l=0;for(;l<n;)if(l++,!U(g[k-l],f[h-l])){l--;break}g=d;k-=l;f=f.slice(d,h-l);let {from:p,to:x,nodesForReplacement:r}=\n{from:g,nodesForReplacement:f,to:k};return p!==x||r.length?(a.splice(p,x-p,r),!0):!1})},{onUpdate:()=>{S=!1},skipTransforms:!0})}}function T(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(t.$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(...T(d))});return b}\nfunction ca(a,b){a=t.$getNodeByKey(a);if(M(a)&&a.isAttached()){var c=t.$getSelection();if(t.$isRangeSelection(c)){c=c.anchor;var d=c.offset,f=\"element\"===c.type&&t.$isLineBreakNode(a.getChildAtIndex(c.offset-1)),g=0;if(!f){let k=c.getNode();g=d+k.getPreviousSiblings().reduce((h,n)=>h+(t.$isLineBreakNode(n)?0:n.getTextContentSize()),0)}b()&&(f?c.getNode().select(d,d):a.getChildren().some(k=>{if(t.$isTextNode(k)){let h=k.getTextContentSize();if(h>=g)return k.select(g,g),!0;g-=h}return!1}))}else b()}}\nfunction U(a,b){return C(a)&&C(b)?a.__text===b.__text&&a.__highlightType===b.__highlightType:t.$isLineBreakNode(a)&&t.$isLineBreakNode(b)?!0:!1}function V(a){var b=t.$getSelection();if(!t.$isRangeSelection(b)||b.isCollapsed())return!1;b=b.getNodes();for(var c=0;c<b.length;c++){var d=b[c];if(!C(d)&&!t.$isLineBreakNode(d))return!1}c=D(b[0]);null!=c&&W(c,a);for(c=1;c<b.length;c++)d=b[c],t.$isLineBreakNode(b[c-1])&&C(d)&&W(d,a);return!0}\nfunction W(a,b){let c=a.getTextContent();b===t.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=t.$getSelection();if(!t.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.offset,k=f.offset,h=d.getNode(),n=f.getNode();var l=a===t.KEY_ARROW_UP_COMMAND;if(!C(h)||!C(n))return!1;if(!b.altKey){if(c.isCollapsed())if(a=h.getParentOrThrow(),l&&0===g&&null===h.getPreviousSibling()){if(null===a.getPreviousSibling())return a.selectPrevious(),b.preventDefault(),!0}else if(!l&&g===h.getTextContentSize()&&null===h.getNextSibling()&&null===a.getNextSibling())return a.selectNext(),\nb.preventDefault(),!0;return!1}var p=D(h);let x=E(n);if(null==p||null==x)return!1;let r=p.getNodesBetween(x);for(let q=0;q<r.length;q++){let X=r[q];if(!C(X)&&!t.$isLineBreakNode(X))return!1}b.preventDefault();b.stopPropagation();b=l?p.getPreviousSibling():x.getNextSibling();if(!t.$isLineBreakNode(b))return!0;p=l?b.getPreviousSibling():b.getNextSibling();if(null==p)return!0;l=l?D(p):E(p);let y=null!=l?l:p;b.remove();r.forEach(q=>q.remove());a===t.KEY_ARROW_UP_COMMAND?(r.forEach(q=>y.insertBefore(q)),\ny.insertBefore(b)):(y.insertAfter(b),y=b,r.forEach(q=>{y.insertAfter(q);y=q}));c.setTextNodeRange(h,g,n,k);return!0}function Z(a,b){let c=t.$getSelection();if(!t.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.getNode(),k=f.getNode();a=a===t.MOVE_TO_START;if(!C(g)||!C(k))return!1;let h,n;a?{node:h,offset:n}=O(k):{node:h,offset:n}=P(k);null!==h&&-1!==n&&c.setTextNodeRange(h,n,h,n);b.preventDefault();b.stopPropagation();return!0}exports.$createCodeHighlightNode=B;\nexports.$createCodeNode=L;exports.$isCodeHighlightNode=C;exports.$isCodeNode=M;exports.CODE_LANGUAGE_FRIENDLY_NAME_MAP=u;exports.CODE_LANGUAGE_MAP=v;exports.CodeHighlightNode=z;exports.CodeNode=G;exports.DEFAULT_CODE_LANGUAGE=\"javascript\";exports.getCodeLanguages=()=>Object.keys(e.languages).filter(a=>\"function\"!==typeof e.languages[a]).sort();exports.getDefaultCodeLanguage=()=>\"javascript\";exports.getEndOfCodeInLine=P;exports.getFirstCodeHighlightNodeOfLine=D;\nexports.getLanguageFriendlyName=function(a){a=w(a);return u[a]||a};exports.getLastCodeHighlightNodeOfLine=E;exports.getStartOfCodeInLine=O;exports.normalizeCodeLang=w;\nexports.registerCodeHighlighting=function(a){if(!a.hasNodes([G,z]))throw Error(\"CodeHighlightPlugin: CodeNode or CodeHighlightNode not registered on editor\");return m.mergeRegister(a.registerMutationListener(G,b=>{a.update(()=>{for(let [f,g]of b)if(\"destroyed\"!==g){var c=t.$getNodeByKey(f);if(null!==c)a:{var d=c;c=a.getElementByKey(d.getKey());if(null===c)break a;d=d.getChildren();let k=d.length;if(k===c.__cachedChildrenLength)break a;c.__cachedChildrenLength=k;let h=\"1\",n=1;for(let l=0;l<k;l++)t.$isLineBreakNode(d[l])&&\n(h+=\"\\n\"+ ++n);c.setAttribute(\"data-gutter\",h)}}})}),a.registerNodeTransform(G,b=>R(b,a)),a.registerNodeTransform(t.TextNode,b=>Q(b,a)),a.registerNodeTransform(z,b=>Q(b,a)),a.registerCommand(t.INDENT_CONTENT_COMMAND,()=>V(t.INDENT_CONTENT_COMMAND),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.OUTDENT_CONTENT_COMMAND,()=>V(t.OUTDENT_CONTENT_COMMAND),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_ARROW_UP_COMMAND,b=>Y(t.KEY_ARROW_UP_COMMAND,b),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_ARROW_DOWN_COMMAND,\nb=>Y(t.KEY_ARROW_DOWN_COMMAND,b),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.MOVE_TO_END,b=>Z(t.MOVE_TO_END,b),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.MOVE_TO_START,b=>Z(t.MOVE_TO_START,b),t.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 h=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=h.$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 h.$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,k=>K(k,b,c),(k,p)=>L(k,p,b)),null!=a){d.push(a);continue a}h.$isLineBreakNode(e)?d.push(\"\\n\"):h.$isTextNode(e)?d.push(L(e,e.getTextContent(),b)):h.$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 p of c){c=p.format[0];let r=p.tag;if(M(a,c)&&!f.has(c)){f.add(c);var k=N(a,!0);M(k,c)||(e=r+e);k=N(a,!1);M(k,c)||(e+=r)}}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(h.$isElementNode(c)){if(!c.isInline())break;a=b?c.getLastDescendant():c.getFirstDescendant();if(h.$isTextNode(a))return a;c=b?c.getPreviousSibling():c.getNextSibling()}if(h.$isTextNode(c))return c;if(!h.$isElementNode(c))break}return null}function M(a,b){return h.$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=h.$getRoot();d.clear();for(let g=0;g<f;g++){var k=e[g];a:{var p=e,r=g;var n=d;var u=p[r].match(R);if(u)for(var q=r,l=p.length;++q<l;)if(p[q].match(R)){u=t.$createCodeNode(u[1]);p=h.$createTextNode(p.slice(r+1,q).join(\"\\n\"));u.append(p);n.append(u);n=[u,q];break a}n=[null,r]}let [m,w]=n;if(null!=m)g=w;else{n=k;l=d;var x=b.element;q=c;p=b.textMatch;r=n.trim();u=h.$createTextNode(r);k=h.$createParagraphNode();k.append(u);\nl.append(k);for(let {regExp:y,replace:v}of x)if(l=n.match(y)){u.setTextContent(n.slice(l[0].length));v(k,[u],l,!0);break}S(u,q,p);k.isAttached()&&0<r.length&&(n=k.getPreviousSibling(),h.$isParagraphNode(n)||F.$isQuoteNode(n)||A.$isListNode(n))&&(q=n,A.$isListNode(n)&&(n=n.getLastDescendant(),q=null==n?null:aa.$findMatchingParent(n,A.$isListItemNode)),null!=q&&0<q.getTextContentSize()&&(q.splice(q.getChildrenSize(),0,[h.$createLineBreakNode(),...k.getChildren()]),k.remove()))}}e=d.getChildren();for(let g of e)e=\ng,h.$isParagraphNode(e)?(f=e.getFirstChild(),e=null==f||1===e.getChildrenSize()&&h.$isTextNode(f)&&ea.test(f.getTextContent())):e=!1,e&&g.remove();d.selectEnd()}}\nfunction S(a,b,c){let d=a.getTextContent(),e=ia(d,b);if(e){if(e[0]===d)var f=a;else{var k=e.index||0,p=k+e[0].length;0===k?[f,r]=a.splitText(p):[n,f,r]=a.splitText(k,p)}f.setTextContent(e[2]);if(k=b.transformersByTag[e[1]])for(let u of k.format)f.hasFormat(u)||f.toggleFormat(u);f.hasFormat(\"code\")||S(f,b,c);n&&S(n,b,c);r&&S(r,b,c)}else a:for(b=a;b;){for(k of c)if(f=b.getTextContent().match(k.importRegExp)){var r=f.index||0;var n=r+f[0].length;0===r?[p,b]=b.splitText(n):[,p,b]=b.splitText(r,n);k.replace(p,\nf);continue a}break}}function 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 T(a,b,c){let d=c.length;for(;b>=d;b--){let e=b-d;if(U(a,e,c,0,d)&&\" \"!==a[e+d])return e}return-1}function U(a,b,c,d,e){for(let f=0;f<e;f++)if(a[b+f]!==c[d+f])return!1;return!0}\nlet V=a=>(b,c,d)=>{d=a(d);d.append(...c);b.replace(d);d.select(0,0)},W=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)},X=(a,b,c)=>{const d=[];var e=a.getChildren();let f=0;for(const p of e)if(A.$isListItemNode(p)){if(1===p.getChildrenSize()&&\n(e=p.getFirstChild(),A.$isListNode(e))){d.push(X(e,b,c+1));continue}e=\" \".repeat(4*c);var k=a.getListType();k=\"number\"===k?`${a.getStart()+f}. `:\"check\"===k?`- [${p.getChecked()?\"x\":\" \"}] `:\"- \";d.push(e+k+b(p));f++}return d.join(\"\\n\")},Y={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:V(a=>F.$createHeadingNode(\"h\"+a[1].length)),type:\"element\"},ja={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,[h.$createLineBreakNode(),...b]);c.select(0,0);a.remove();return}c=F.$createQuoteNode();c.append(...b);a.replace(c);c.select(0,0)},type:\"element\"},ka={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:V(a=>t.$createCodeNode(a?a[1]:void 0)),type:\"element\"},la={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?X(a,b,0):null,regExp:/^(\\s*)[-*+]\\s/,replace:W(\"bullet\"),type:\"element\"},ma={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?X(a,b,0):null,regExp:/^(\\s*)(?:-\\s)?\\s?(\\[(\\s|x)?\\])\\s/i,replace:W(\"check\"),type:\"element\"},na={dependencies:[A.ListNode,A.ListItemNode],export:(a,\nb)=>A.$isListNode(a)?X(a,b,0):null,regExp:/^(\\s*)(\\d{1,})\\.\\s/,replace:W(\"number\"),type:\"element\"},oa={format:[\"code\"],tag:\"`\",type:\"text-format\"},pa={format:[\"bold\",\"italic\"],tag:\"***\",type:\"text-format\"},qa={format:[\"bold\",\"italic\"],intraword:!1,tag:\"___\",type:\"text-format\"},sa={format:[\"bold\"],tag:\"**\",type:\"text-format\"},ta={format:[\"bold\"],intraword:!1,tag:\"__\",type:\"text-format\"},ua={format:[\"strikethrough\"],tag:\"~~\",type:\"text-format\"},va={format:[\"italic\"],tag:\"*\",type:\"text-format\"},wa={format:[\"italic\"],\nintraword:!1,tag:\"_\",type:\"text-format\"},xa={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()&&h.$isTextNode(d)?c(d,b):b},importRegExp:/(?:\\[([^[]+)\\])(?:\\(([^(]+)\\))/,regExp:/(?:\\[([^[]+)\\])(?:\\(([^(]+)\\))$/,replace:(a,b)=>{const [,c,d]=b;b=G.$createLinkNode(d);const e=h.$createTextNode(c);e.setFormat(a.getFormat());b.append(e);a.replace(b)},trigger:\")\",type:\"text-match\"},\nya=[Y,ja,ka,la,na],za=[oa,pa,qa,sa,ta,va,wa,ua],Aa=[xa],Z=[...ya,...za,...Aa];exports.$convertFromMarkdownString=function(a,b=Z){return fa(b)(a)};exports.$convertToMarkdownString=function(a=Z){return ba(a)()};exports.BOLD_ITALIC_STAR=pa;exports.BOLD_ITALIC_UNDERSCORE=qa;exports.BOLD_STAR=sa;exports.BOLD_UNDERSCORE=ta;exports.CHECK_LIST=ma;exports.CODE=ka;exports.ELEMENT_TRANSFORMERS=ya;exports.HEADING=Y;exports.INLINE_CODE=oa;exports.ITALIC_STAR=va;exports.ITALIC_UNDERSCORE=wa;exports.LINK=xa;\nexports.ORDERED_LIST=na;exports.QUOTE=ja;exports.STRIKETHROUGH=ua;exports.TEXT_FORMAT_TRANSFORMERS=za;exports.TEXT_MATCH_TRANSFORMERS=Aa;exports.TRANSFORMERS=Z;exports.UNORDERED_LIST=la;\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:k,editorState:p,prevEditorState:r})=>\n{if(!f.has(\"historic\")){var n=p.read(h.$getSelection);f=r.read(h.$getSelection);if(h.$isRangeSelection(f)&&h.$isRangeSelection(n)&&n.isCollapsed()){r=n.anchor.key;var u=n.anchor.offset,q=p._nodeMap.get(r);h.$isTextNode(q)&&k.has(r)&&(1===u||u===f.anchor.offset+1)&&a.update(()=>{if(!q.hasFormat(\"code\")){var l=q.getParent();if(null!==l&&!t.$isCodeNode(l)){var x=n.anchor.offset;b:{var g=c.element,m=l.getParent();if(h.$isRootOrShadowRoot(m)&&l.getFirstChild()===q&&(m=q.getTextContent(),\" \"===m[x-1]))for(let {regExp:C,\nreplace:D}of g)if((g=m.match(C))&&g[0].length===x){m=q.getNextSiblings();let [E,ra]=q.splitText(x);E.remove();m=ra?[ra,...m]:m;D(l,m,g,!1);l=!0;break b}l=!1}if(!l){b:{g=q.getTextContent();l=e[g[x-1]];if(null!=l){x<g.length&&(g=g.slice(0,x));for(y of l)if(l=g.match(y.regExp),null!==l){g=l.index||0;m=g+l[0].length;var w=void 0;0===g?[w]=q.splitText(m):[,w]=q.splitText(g,m);w.selectNext(0,0);y.replace(w,l);var y=!0;break b}}y=!1}if(!y)b:{m=q.getTextContent();--x;var v=m[x];if(y=d[v])for(let C of y){var {tag:B}=\nC;y=B.length;let D=x-y+1;if(!(1<y&&!U(m,D,B,0,y)||\" \"===m[D-1])&&(w=m[x+1],!1!==C.intraword||!w||J.test(w))){l=w=q;g=T(m,D,B);for(var z=l;0>g&&(z=z.getPreviousSibling())&&!h.$isLineBreakNode(z);)h.$isTextNode(z)&&(g=z.getTextContent(),l=z,g=T(g,g.length,B));if(!(0>g||l===w&&g+y===D||(B=l.getTextContent(),0<g&&B[g-1]===v||(z=B[g-1],!1===C.intraword&&z&&!J.test(z))))){m=w.getTextContent();m=m.slice(0,D)+m.slice(x+1);w.setTextContent(m);m=l===w?m:B;l.setTextContent(m.slice(0,g)+m.slice(g+y));m=h.$getSelection();\nv=h.$createRangeSelection();h.$setSelection(v);x=x-y*(l===w?2:1)+1;v.anchor.set(l.__key,g,\"text\");v.focus.set(w.__key,x,\"text\");for(let E of C.format)v.hasFormat(E)||v.formatText(E);v.anchor.set(v.focus.key,v.focus.offset,v.focus.type);for(let E of C.format)v.hasFormat(E)&&v.toggleFormat(E);h.$isRangeSelection(m)&&(v.format=m.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 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;","/**\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();\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 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 {MarkdownShortcutPlugin as LexicalMarkdownShortcutPlugin} from '@lexical/react/LexicalMarkdownShortcutPlugin';\nimport {\n HEADING,\n ORDERED_LIST,\n QUOTE,\n UNORDERED_LIST,\n TEXT_FORMAT_TRANSFORMERS,\n TEXT_MATCH_TRANSFORMERS\n} from '@lexical/markdown';\nimport {$createHorizontalRuleNode, $isHorizontalRuleNode} from '../nodes/HorizontalRuleNode';\nimport {$isCodeBlockNode, $createCodeBlockNode, CodeBlockNode} from '../nodes/CodeBlockNode';\n\nexport const HR = {\n dependencies: [], // todo: docs a bit unclear regarding the usage of this property, but required as of 0.4.0 https://github.com/facebook/lexical/pull/2910\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], // todo: docs a bit unclear regarding the usage of this property, but required as of 0.4.0\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\nexport const ELEMENT_TRANSFORMERS = [\n HEADING,\n QUOTE,\n UNORDERED_LIST,\n ORDERED_LIST,\n HR,\n CODE_BLOCK\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","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: true\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","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,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTFINkM2LjI2NTIyIDguMDAwMTEgNi41MTk1NyA4LjEwNTQ2IDYuNzA3MTEgOC4yOTNDNi44OTQ2NCA4LjQ4MDU0IDcgOC43MzQ4OSA3IDkuMDAwMTFWMTMuMDAwMUM3IDEzLjI2NTMgNi44OTQ2NCAxMy41MTk3IDYuNzA3MTEgMTMuNzA3MkM2LjUxOTU3IDEzLjg5NDcgNi4yNjUyMiAxNC4wMDAxIDYgMTQuMDAwMUgzQzIuNzM0NzggMTQuMDAwMSAyLjQ4MDQzIDEzLjg5NDcgMi4yOTI4OSAxMy43MDcyQzIuMTA1MzYgMTMuNTE5NyAyIDEzLjI2NTMgMiAxMy4wMDAxVjUuMDgyMTFDMiAzLjkwNjExIDIuOTA2IDIuOTYyMTEgNC41MzggMi4xMTMxMUM0LjY1NDQ4IDIuMDUyNDQgNC43ODE3NyAyLjAxNTMgNC45MTI2MSAyLjAwMzgzQzUuMDQzNDQgMS45OTIzNSA1LjE3NTI1IDIuMDA2NzUgNS4zMDA1MiAyLjA0NjIyQzUuNDI1NzkgMi4wODU2OCA1LjU0MjA1IDIuMTQ5NDQgNS42NDI2OCAyLjIzMzgzQzUuNzQzMzEgMi4zMTgyMyA1LjgyNjMzIDIuNDIxNjIgNS44ODcgMi41MzgxMUM1Ljk0NzY3IDIuNjU0NTkgNS45ODQ4IDIuNzgxODggNS45OTYyOCAyLjkxMjcxQzYuMDA3NzYgMy4wNDM1NSA1Ljk5MzM1IDMuMTc1MzYgNS45NTM4OSAzLjMwMDYzQzUuOTE0NDIgMy40MjU4OSA1Ljg1MDY3IDMuNTQyMTYgNS43NjYyNyAzLjY0Mjc5QzUuNjgxODcgMy43NDM0MiA1LjU3ODQ4IDMuODI2NDQgNS40NjIgMy44ODcxMUM0Ljg4NCA0LjE4NzExIDQuNDY5IDQuNDc2MTEgNC4yMjIgNC43MzQxMUM0LjA1NCA0LjkwODExIDQgNS4wMjAxMSA0IDUuMDgyMTFWOC4wMDAxMVpNMTMgOC4wMDAxMUMxMy4yNjUyIDguMDAwMTEgMTMuNTE5NiA4LjEwNTQ2IDEzLjcwNzEgOC4yOTNDMTMuODk0NiA4LjQ4MDU0IDE0IDguNzM0ODkgMTQgOS4wMDAxMVY5LjUzNjZDMTMuNjE0MyA5LjYwMjQzIDEzLjI1MzYgOS43NTIzIDEyLjkzNyA5Ljk0NDVMMTIuOTI5OCA5Ljk0ODlMMTIuNDMxNSAxMC4yNjA4QzExLjk4NTYgMTAuNTM1NyAxMS41IDExLjA0NzkgMTEuNSAxMS44MjUyQzExLjUgMTIuNTY4OCAxMS45NjExIDEzLjIwMTUgMTIuNjMyMyAxMy40MzExVjE0LjAwMDFIMTBDOS43MzQ3OCAxNC4wMDAxIDkuNDgwNDMgMTMuODk0NyA5LjI5Mjg5IDEzLjcwNzJDOS4xMDUzNiAxMy41MTk3IDkgMTMuMjY1MyA5IDEzLjAwMDFWNS4wODIxMUM5IDMuOTA2MTEgOS45MDYgMi45NjIxMSAxMS41MzggMi4xMTMxMUMxMS42NTQ1IDIuMDUyNDQgMTEuNzgxOCAyLjAxNTMgMTEuOTEyNiAyLjAwMzgzQzEyLjA0MzQgMS45OTIzNSAxMi4xNzUzIDIuMDA2NzUgMTIuMzAwNSAyLjA0NjIyQzEyLjQyNTggMi4wODU2OCAxMi41NDIxIDIuMTQ5NDQgMTIuNjQyNyAyLjIzMzgzQzEyLjc0MzMgMi4zMTgyMyAxMi44MjYzIDIuNDIxNjIgMTIuODg3IDIuNTM4MTFDMTIuOTQ3NyAyLjY1NDU5IDEyLjk4NDggMi43ODE4OCAxMi45OTYzIDIuOTEyNzFDMTMuMDA3OCAzLjA0MzU1IDEyLjk5MzQgMy4xNzUzNiAxMi45NTM5IDMuMzAwNjNDMTIuOTE0NCAzLjQyNTg5IDEyLjg1MDcgMy41NDIxNiAxMi43NjYzIDMuNjQyNzlDMTIuNjgxOSAzLjc0MzQyIDEyLjU3ODUgMy44MjY0NCAxMi40NjIgMy44ODcxMUMxMS44ODQgNC4xODcxMSAxMS40NjkgNC40NzYxMSAxMS4yMjIgNC43MzQxMUMxMS4wNTQgNC45MDgxMSAxMSA1LjAyMDExIDExIDUuMDgyMTFWOC4wMDAxMUgxM1pNMTQuNTQyOCAxNS40MzQ0QzE0LjExODIgMTUuNDM0NCAxMy44ODIzIDE1LjE3ODMgMTMuODgyMyAxNC43MjY3VjExLjk2SDEzLjg3MjJMMTMuNjM5NyAxMi4xMDgyQzEzLjQyNzQgMTIuMjMyOSAxMy4zMjI5IDEyLjI3MzQgMTMuMTk0OCAxMi4yNzM0QzEyLjkzNTQgMTIuMjczNCAxMi43NSAxMi4wODQ2IDEyLjc1IDExLjgyNTJDMTIuNzUgMTEuNjI5NyAxMi44NjQ2IDExLjQ2MTIgMTMuMDkwNCAxMS4zMjNMMTMuNTg1OCAxMS4wMTNDMTMuODY4OCAxMC44NDExIDE0LjE1ODcgMTAuNzUwMSAxNC40MjQ5IDEwLjc1MDFDMTQuODkzMyAxMC43NTAxIDE1LjIgMTEuMDYzNSAxNS4yIDExLjU0ODhWMTQuNzI2N0MxNS4yIDE1LjE4MTcgMTQuOTY0MSAxNS40MzQ0IDE0LjU0MjggMTUuNDM0NFoiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTVINkM2LjI2NTIyIDguMDAwMTUgNi41MTk1NyA4LjEwNTUgNi43MDcxMSA4LjI5MzA0QzYuODk0NjQgOC40ODA1OCA3IDguNzM0OTMgNyA5LjAwMDE1VjEzLjAwMDFDNyAxMy4yNjU0IDYuODk0NjQgMTMuNTE5NyA2LjcwNzExIDEzLjcwNzNDNi41MTk1NyAxMy44OTQ4IDYuMjY1MjIgMTQuMDAwMSA2IDE0LjAwMDFIM0MyLjczNDc4IDE0LjAwMDEgMi40ODA0MyAxMy44OTQ4IDIuMjkyODkgMTMuNzA3M0MyLjEwNTM2IDEzLjUxOTcgMiAxMy4yNjU0IDIgMTMuMDAwMVY1LjA4MjE1QzIgMy45MDYxNSAyLjkwNiAyLjk2MjE1IDQuNTM4IDIuMTEzMTVDNC42NTQ0OCAyLjA1MjQ4IDQuNzgxNzcgMi4wMTUzNCA0LjkxMjYxIDIuMDAzODdDNS4wNDM0NCAxLjk5MjM5IDUuMTc1MjUgMi4wMDY3OSA1LjMwMDUyIDIuMDQ2MjZDNS40MjU3OSAyLjA4NTcyIDUuNTQyMDUgMi4xNDk0OCA1LjY0MjY4IDIuMjMzODdDNS43NDMzMSAyLjMxODI3IDUuODI2MzMgMi40MjE2NiA1Ljg4NyAyLjUzODE1QzUuOTQ3NjcgMi42NTQ2MyA1Ljk4NDggMi43ODE5MiA1Ljk5NjI4IDIuOTEyNzVDNi4wMDc3NiAzLjA0MzU5IDUuOTkzMzUgMy4xNzU0IDUuOTUzODkgMy4zMDA2N0M1LjkxNDQyIDMuNDI1OTMgNS44NTA2NyAzLjU0MjIgNS43NjYyNyAzLjY0MjgzQzUuNjgxODcgMy43NDM0NiA1LjU3ODQ4IDMuODI2NDggNS40NjIgMy44ODcxNUM0Ljg4NCA0LjE4NzE1IDQuNDY5IDQuNDc2MTUgNC4yMjIgNC43MzQxNUM0LjA1NCA0LjkwODE1IDQgNS4wMjAxNSA0IDUuMDgyMTVWOC4wMDAxNVpNMTMgOC4wMDAxNUMxMy4yNjUyIDguMDAwMTUgMTMuNTE5NiA4LjEwNTUgMTMuNzA3MSA4LjI5MzA0QzEzLjg5NDYgOC40ODA1OCAxNCA4LjczNDkzIDE0IDkuMDAwMTVWOS41MTgxMkMxMy40Mzc4IDkuNTc2OTQgMTIuOTA4NyA5Ljc3NzM1IDEyLjQ4MDMgMTAuMDkxOEMxMS45Nzg1IDEwLjQ2MDEgMTEuNSAxMS4wODQ4IDExLjUgMTEuOTA0M0MxMS41IDEyLjM2MzIgMTEuNjc3MiAxMi44MTM1IDEyLjAyNjQgMTMuMTQ1MUMxMi4wNjA0IDEzLjE3NzQgMTIuMDk1NSAxMy4yMDggMTIuMTMxMiAxMy4yMzY5QzExLjk0MTkgMTMuNDQwOSAxMS43NTA5IDEzLjY5MjIgMTEuNjMyMyAxNC4wMDAxSDEwQzkuNzM0NzggMTQuMDAwMSA5LjQ4MDQzIDEzLjg5NDggOS4yOTI4OSAxMy43MDczQzkuMTA1MzYgMTMuNTE5NyA5IDEzLjI2NTQgOSAxMy4wMDAxVjUuMDgyMTVDOSAzLjkwNjE1IDkuOTA2IDIuOTYyMTUgMTEuNTM4IDIuMTEzMTVDMTEuNjU0NSAyLjA1MjQ4IDExLjc4MTggMi4wMTUzNCAxMS45MTI2IDIuMDAzODdDMTIuMDQzNCAxLjk5MjM5IDEyLjE3NTMgMi4wMDY3OSAxMi4zMDA1IDIuMDQ2MjZDMTIuNDI1OCAyLjA4NTcyIDEyLjU0MjEgMi4xNDk0OCAxMi42NDI3IDIuMjMzODdDMTIuNzQzMyAyLjMxODI3IDEyLjgyNjMgMi40MjE2NiAxMi44ODcgMi41MzgxNUMxMi45NDc3IDIuNjU0NjMgMTIuOTg0OCAyLjc4MTkyIDEyLjk5NjMgMi45MTI3NUMxMy4wMDc4IDMuMDQzNTkgMTIuOTkzNCAzLjE3NTQgMTIuOTUzOSAzLjMwMDY3QzEyLjkxNDQgMy40MjU5MyAxMi44NTA3IDMuNTQyMiAxMi43NjYzIDMuNjQyODNDMTIuNjgxOSAzLjc0MzQ2IDEyLjU3ODUgMy44MjY0OCAxMi40NjIgMy44ODcxNUMxMS44ODQgNC4xODcxNSAxMS40NjkgNC40NzYxNSAxMS4yMjIgNC43MzQxNUMxMS4wNTQgNC45MDgxNSAxMSA1LjAyMDE1IDExIDUuMDgyMTVWOC4wMDAxNUgxM1pNMTMuMjI1NiAxNS4xNDI4QzEyLjg5MDMgMTUuMTQyOCAxMi42NjI2IDE0Ljk0MDQgMTIuNjYyNiAxNC42NDMyQzEyLjY2MjYgMTQuNDIxOCAxMi43ODkxIDE0LjIyNTcgMTMuMTU5MSAxMy44Nzc5TDE0LjE2MTYgMTIuOTA3QzE0LjQ5MzcgMTIuNTg3NiAxNC42MzkxIDEyLjM3ODkgMTQuNjM5MSAxMi4xNjA3QzE0LjYzOTEgMTEuOTA0NSAxNC40NTI2IDExLjczMzcgMTQuMTgwNiAxMS43MzM3QzEzLjk2ODcgMTEuNzMzNyAxMy44MTY5IDExLjgyNTUgMTMuNjU1NiAxMi4wNTMyQzEzLjQ3ODUgMTIuMjg3MiAxMy4zNDU3IDEyLjM2OTQgMTMuMTQwMiAxMi4zNjk0QzEyLjg1MjQgMTIuMzY5NCAxMi42NSAxMi4xNzY1IDEyLjY1IDExLjkwNDVDMTIuNjUgMTEuMjk3MyAxMy4zNzEgMTAuNzUwMiAxNC4yNDcgMTAuNzUwMkMxNS4xNTQ2IDEwLjc1MDIgMTUuODI1IDExLjI5NzMgMTUuODI1IDEyLjAzNzNDMTUuODI1IDEyLjQ5NTkgMTUuNTg3OSAxMi45MjYgMTUuMDc4NyAxMy4zOTA4TDE0LjI4ODEgMTQuMTI0NVYxNC4xNzJIMTUuNDIwM0MxNS43NjUgMTQuMTcyIDE1Ljk4IDE0LjM1ODUgMTUuOTggMTQuNjYyMUMxNS45OCAxNC45NjI2IDE1Ljc3MTMgMTUuMTQyOCAxNS40MjAzIDE1LjE0MjhIMTMuMjI1NloiIC8+Cjwvc3ZnPgo=\"","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';\n\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 QuoteOneIcon} from '../assets/icons/kg-quote-1.svg';\nimport {ReactComponent as QuoteTwoIcon} from '../assets/icons/kg-quote-2.svg';\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 MenuItem({label, isActive, onClick, Icon, ...props}) {\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\nfunction MenuSeparator() {\n return (\n <li className=\"bg-grey-900 m-0 mx-1 h-5 w-px\"></li>\n );\n}\n\nfunction FloatingFormatToolbar({editor, anchorElem, blockType, isBold, isItalic}) {\n const toolbarRef = React.useRef(null);\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 setFloatingElemPosition(rangeRect, toolbarElement, anchorElem);\n }\n }, [editor, anchorElem]);\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>\n <ul className=\"text-md m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans font-normal text-white\">\n <MenuItem label=\"Format text as bold\" isActive={isBold} Icon={BoldIcon} onClick={() => editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold')} data-kg-toolbar-button=\"bold\" />\n <MenuItem label=\"Format text as italics\" isActive={isItalic} Icon={ItalicIcon} onClick={() => editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic')} data-kg-toolbar-button=\"italic\" />\n <MenuItem label=\"Toggle heading 1\" isActive={blockType === 'h2'} Icon={HeadingOneIcon} onClick={() => (blockType === 'h2' ? formatParagraph() : formatHeading('h2'))} data-kg-toolbar-button=\"h2\" />\n <MenuItem label=\"Toggle heading 2\" isActive={blockType === 'h3'} Icon={HeadingTwoIcon} onClick={() => (blockType === 'h3' ? formatParagraph() : formatHeading('h3'))} data-kg-toolbar-button=\"h3\" />\n <MenuSeparator />\n <MenuItem label=\"Toggle blockquote\" isActive={blockType === 'quote' || blockType === 'aside'} Icon={blockType === 'aside' ? QuoteTwoIcon : QuoteOneIcon} onClick={() => (formatQuote())} data-kg-toolbar-button=\"quote\" />\n </ul>\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 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","import React from 'react';\nimport {RichTextPlugin} from '@lexical/react/LexicalRichTextPlugin';\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 MarkdownShortcutPlugin from '../plugins/MarkdownShortcutPlugin';\nimport FloatingFormatToolbarPlugin from '../plugins/FloatingFormatToolbar';\nimport '../styles/index.css';\n\nconst KoenigEditor = ({\n onChange,\n markdownTransformers\n}) => {\n const _onChange = React.useCallback((editorState) => {\n const json = editorState.toJSON();\n onChange?.(json);\n }, [onChange]);\n\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\">\n <RichTextPlugin\n contentEditable={\n <div ref={onRef}>\n <ContentEditable className=\"kg-prose\" />\n </div>\n }\n placeholder={<div className=\"text-grey-500 pointer-events-none absolute top-0 left-0 min-w-full cursor-text font-serif text-xl\">Begin writing your post...</div>}\n />\n <OnChangePlugin onChange={_onChange} />\n <HistoryPlugin /> {/* adds undo/redo */}\n <ListPlugin /> {/* adds indent/outdent/remove etc support */}\n <MarkdownShortcutPlugin transformers={markdownTransformers} />\n {floatingAnchorElem && (<FloatingFormatToolbarPlugin anchorElem={floatingAnchorElem} />)}\n </div>\n );\n};\n\nexport default KoenigEditor;\n"],"names":["c","require$$0","d","LexicalComposerContext_prod","a","b","LexicalComposerContext","LexicalComposerContext_1","aa","ba","ca","da","ea","fa","ha","ia","ka","la","p","ma","na","oa","pa","qa","ra","sa","ta","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","r","Ma","Na","t","Oa","Pa","Qa","Ta","Ua","Va","Wa","Xa","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","u","ib","x","f","e","g","h","k","m","l","n","q","v","w","jb","A","C","y","D","z","kb","B","lb","E","Q","Z","F","mb","nb","ob","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","G","H","I","J","K","Fb","L","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","M","Qb","Rb","Sb","Tb","Ub","Vb","Wb","N","Xb","$b","ac","bc","cc","dc","ec","fc","gc","hc","O","P","R","ic","S","jc","kc","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","T","Nc","Hc","Ic","Jc","Kc","Lc","Mc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","U","Zc","$c","ad","bd","cd","dd","ed","fd","gd","W","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","zd","Ad","Bd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","X","Y","Qd","Rd","Sd","Td","Ud","Vd","Wd","V","Xd","Ra","ua","ue","ve","pb","Cd","va","Dd","Ed","Yb","Fd","Zb","Gd","we","Sa","ja","wa","Hd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","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","reactJsxRuntime_production_min","module","KoenigCardWrapperComponent","children","createCommand","HorizontalRuleComponent","KoenigCardWrapper","_jsx","HorizontalRuleNode","DecoratorNode","getType","clone","__key","importJSON","$createHorizontalRuleNode","exportJSON","type","version","createDOM","div","document","createElement","style","display","getTextContent","isTopLevel","updateDOM","decorate","$isHorizontalRuleNode","useAutoExpandTextArea","el","value","useEffect","height","CodeBlockComponent","className","code","language","nodeKey","editor","React","useRef","event","update","setCode","$getNodeByKey","target","updateCode","CodeBlockNode","constructor","initCode","key","__code","__language","$createCodeBlockNode","getCode","getLatest","self","getWritable","getLanguage","setLanguage","codeBlockTheme","theme","codeBlock","base","focus","getKey","$isCodeBlockNode","DEFAULT_NODES","HeadingNode","ListNode","ListItemNode","QuoteNode","LinkNode","defaultTheme","defaultOnError","error","console","defaultConfig","namespace","KoenigComposer","initialEditorState","nodes","onError","initialConfig","useMemo","Object","assign","editorState","LexicalText_prod","LexicalText","LexicalText_1","LexicalDragon_prod","LexicalDragon","LexicalDragon_1","require$$5","require$$6","LexicalRichTextPlugin_prod","LexicalRichTextPlugin","LexicalRichTextPlugin_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","_self","Prism","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","o","obj","deepClone","visited","i","err","src","scripts","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","text","rest","tokenList","LinkedList","addAfter","matchGrammar","toArray","name","hooks","callbacks","content","alias","matchedStr","stringify","s","aliases","attributes","matchPattern","pattern","pos","lookbehind","match","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","string","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","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","useLexicalNodeSelection_prod","useLexicalNodeSelection","useLexicalNodeSelection_1","LexicalHorizontalRuleNode_prod","LexicalHorizontalRuleNode","LexicalHorizontalRuleNode_1","LexicalMarkdownShortcutPlugin_prod","LexicalMarkdownShortcutPlugin","LexicalMarkdownShortcutPlugin_1","HR","dependencies","export","regExp","replace","parentNode","_1","_2","isImport","line","getNextSibling","insertBefore","selectNext","CODE_BLOCK","textNode","codeBlockNode","ELEMENT_TRANSFORMERS","HEADING","QUOTE","UNORDERED_LIST","ORDERED_LIST","DEFAULT_TRANSFORMERS","TEXT_FORMAT_TRANSFORMERS","TEXT_MATCH_TRANSFORMERS","MarkdownShortcutPlugin","transformers","getSelectedNode","selection","anchor","anchorNode","focusNode","$isAtNodeEnd","VERTICAL_GAP","setFloatingElemPosition","targetRect","floatingElem","anchorElem","options","scrollerElem","floatingElemRect","anchorElementRect","editorScrollerRect","top","left","getDOMRangeRect","nativeSelection","rootElement","domRange","rect","getScrollParent","overflowY","isScrollable","SvgKgBold","props","SvgKgItalic","SvgKgHeading1","SvgKgHeading2","SvgKgQuote1","SvgKgQuote2","blockTypeToBlockName","bullet","check","h1","h2","h3","h4","h5","h6","number","quote","aside","MenuItem","label","isActive","onClick","Icon","MenuSeparator","FloatingFormatToolbar","blockType","isBold","isItalic","toolbarRef","formatParagraph","$getSelection","$isRangeSelection","formatHeading","headingSize","$wrapNodes","$createHeadingNode","formatQuote","$createQuoteNode","updateFloatingToolbar","useCallback","toolbarElement","current","window","getSelection","getRootElement","isCollapsed","contains","rangeRect","scrollElement","getEditorState","read","addEventListener","removeEventListener","mergeRegister","registerUpdateListener","registerCommand","SELECTION_CHANGE_COMMAND","COMMAND_PRIORITY_LOW","BoldIcon","dispatchCommand","FORMAT_TEXT_COMMAND","ItalicIcon","HeadingOneIcon","HeadingTwoIcon","QuoteTwoIcon","QuoteOneIcon","useFloatingFormatToolbar","isText","setIsText","useState","setIsBold","setIsItalic","setBlockType","updatePopup","isComposing","getTopLevelElementOrThrow","elementKey","elementDOM","getElementByKey","hasFormat","$isListNode","parentList","$getNearestNodeOfType","getListType","$isHeadingNode","getTag","$isTextNode","createPortal","FloatingFormatToolbarPlugin","body","useLexicalComposerContext","KoenigEditor","onChange","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":["../../../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","../src/components/KoenigCardWrapper.jsx","../src/nodes/HorizontalRuleNode.jsx","../src/utils/autoExpandTextArea.js","../src/nodes/CodeBlockNode.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/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","../../../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/useLexicalNodeSelection.prod.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.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/utils/setFloatingElemPosition.js","../src/utils/getDOMRangeRect.js","../src/utils/getScrollParent.js","../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-quote-1.svg","../src/assets/icons/kg-quote-2.svg","../src/plugins/FloatingFormatToolbar.jsx","../src/components/KoenigEditor.jsx"],"sourcesContent":["/**\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 '../styles/index.css';\n\nconst DesignSandbox = () => {\n return (\n <div className=\"koenig-lexical\">\n <div className=\"pointer-events-auto relative inline-flex rounded-md bg-white text-[0.8125rem] font-medium leading-5 text-slate-700 shadow-sm ring-1 ring-slate-700/10 hover:bg-slate-50 hover:text-slate-900\">\n <div className=\"flex py-2 px-3\">\n <svg className=\"mr-2.5 h-5 w-5 flex-none fill-slate-400\"><path d=\"M5 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v14l-5-2.5L5 18V4Z\"></path></svg>\n Bookmark\n </div>\n <div className=\"border-l border-slate-400/20 py-2 px-2.5\">12k</div>\n </div>\n </div>\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 aa={},ba={},ca={},da={},ea={},fa={},ha={},ia={},ka={},la={},p={},ma={},na={},oa={},pa={},qa={},ra={},sa={},ta={},xa={},ya={},za={},Aa={},Ba={},Ca={},Da={},Ea={},Fa={},Ga={},Ha={},Ia={},Ja={},Ka={},La={};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 Ma=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,Na=Ma&&\"documentMode\"in document?document.documentMode:null,t=Ma&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Oa=Ma&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),Pa=Ma&&\"InputEvent\"in window&&!Na?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,Qa=Ma&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Ta=Ma&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&\n!window.MSStream,Ua=Qa||Ta?\"\\u00a0\":\"\\u200b\",Va=Oa?\"\\u00a0\":Ua,Wa=/^[^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]/,Xa=/^[^\\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]/,Ya={bold:1,code:16,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},Za={directionless:1,\nunmergeable:2},$a={center:2,justify:4,left:1,right:3},ab={2:\"center\",4:\"justify\",1:\"left\",3:\"right\"},bb={normal:0,segmented:2,token:1},cb={0:\"normal\",2:\"segmented\",1:\"token\"},db=!1,eb=0;function fb(a){eb=a.timeStamp}function gb(a,b,c){return b.__lexicalLineBreak===a||void 0!==a[`__lexicalKey_${c._key}`]}function hb(a){return a.getEditorState().read(()=>{let b=u();return null!==b?b.clone():null})}\nfunction ib(a,b,c){db=!0;let d=100<performance.now()-eb;try{x(a,()=>{let f=u()||hb(a);var e=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=jb(v,h);if(!A(w))if(\"characterData\"===q){if(n=d&&C(w))a:{n=f;q=v;var y=w;if(D(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=window.getSelection(),q=n=null,null!==y&&y.anchorNode===v&&(n=y.anchorOffset,q=y.focusOffset),\nv=v.nodeValue,null!==v&&kb(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=lb(z),E=z.parentNode;null==E||null!==B||\"BR\"===z.nodeName&&gb(z,E,a)||(Oa&&(B=z.innerText||z.nodeValue)&&(m+=B),E.removeChild(z))}n=n.removedNodes;q=n.length;if(0<q){y=0;for(z=0;z<q;z++)E=n[z],\"BR\"===E.nodeName&&gb(E,v,a)&&(v.appendChild(E),y++);q!==y&&(v===g&&(w=h._nodeMap.get(\"root\")),e.set(v,w))}}}if(0<e.size)for(let [Q,Z]of e)if(F(Z))for(e=Z.__children,g=Q.firstChild,h=0;h<\ne.length;h++)l=a.getElementByKey(e[h]),null!==l&&(null==g?(Q.appendChild(l),g=l):g!==l&&Q.replaceChild(l,g),g=g.nextSibling);else C(Z)&&Z.markDirty();e=c.takeRecords();if(0<e.length){for(g=0;g<e.length;g++)for(l=e[g],h=l.addedNodes,l=l.target,w=0;w<h.length;w++)v=h[w],n=v.parentNode,null==n||\"BR\"!==v.nodeName||gb(v,l,a)||n.removeChild(v);c.takeRecords()}null!==f&&(k&&(f.dirty=!0,mb(f)),Oa&&nb(a)&&f.insertRawText(m))})}finally{db=!1}}\nfunction ob(a){let b=a._observer;if(null!==b){let c=b.takeRecords();ib(a,c,b)}}function qb(a){0===eb&&rb(a).addEventListener(\"textInput\",fb,!0);a._observer=new MutationObserver((b,c)=>{ib(a,b,c)})}let sb=1,tb=\"function\"===typeof queueMicrotask?queueMicrotask:a=>{Promise.resolve().then(a)};\nfunction ub(a,b,c){let d=a.getRootElement();try{var f;if(f=null!==d&&d.contains(b)&&d.contains(c)&&null!==b){let e=document.activeElement,g=null!==e?e.nodeName:null;f=!A(jb(b))||\"INPUT\"!==g&&\"TEXTAREA\"!==g}return f&&vb(b)===a}catch(e){return!1}}function vb(a){for(;null!=a;){let b=a.__lexicalEditor;if(null!=b)return b;a=a.parentNode}return null}function wb(a){return a.isToken()||a.isSegmented()}function xb(a){for(;null!=a;){if(3===a.nodeType)return a;a=a.firstChild}return null}\nfunction yb(a,b,c){b=Ya[b];return a&b&&(null===c||0===(c&b))?a^b:null===c||c&b?a|b:a}function zb(a){return C(a)||Ab(a)||A(a)}function Bb(a){var b=a.getParent();if(null!==b){b=b.getWritable().__children;let c=b.indexOf(a.__key);-1===c&&r(31);Cb(a);b.splice(c,1)}}\nfunction Db(a){99<Eb&&r(14);var b=a.getLatest(),c=b.__parent,d=G();let f=H(),e=d._nodeMap;d=f._dirtyElements;if(null!==c)a:for(;null!==c;){if(d.has(c))break a;let g=e.get(c);if(void 0===g)break;d.set(c,!1);c=g.__parent}b=b.__key;f._dirtyType=1;F(a)?d.set(b,!0):f._dirtyLeaves.add(b)}function Cb(a){let b=a.getPreviousSibling();a=a.getNextSibling();null!==b&&Db(b);null!==a&&Db(a)}\nfunction I(a){J();var b=H();let c=b._compositionKey;a!==c&&(b._compositionKey=a,null!==c&&(b=K(c),null!==b&&b.getWritable()),null!==a&&(a=K(a),null!==a&&a.getWritable()))}function Fb(){return L?null:H()._compositionKey}function K(a,b){a=(b||G())._nodeMap.get(a);return void 0===a?null:a}function lb(a,b){let c=H();a=a[`__lexicalKey_${c._key}`];return void 0!==a?K(a,b):null}function jb(a,b){for(;null!=a;){let c=lb(a,b);if(null!==c)return c;a=a.parentNode}return null}\nfunction Gb(a){let b=Object.assign({},a._decorators);return a._pendingDecorators=b}function Hb(a){return a.read(()=>Ib().getTextContent())}function Jb(a,b){x(a,()=>{var c=G();if(!c.isEmpty())if(\"root\"===b)Ib().markDirty();else{c=c._nodeMap;for(let [,d]of c)d.markDirty()}},null===a._pendingEditorState?{tag:\"history-merge\"}:void 0)}function Ib(){return G()._nodeMap.get(\"root\")}function mb(a){let b=G();null!==a&&(a.dirty=!0,a._cachedNodes=null);b._selection=a}\nfunction Kb(a){var b=H(),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?K(\"root\"):null):K(c)}function Lb(a){return/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g.test(a)}function Mb(a){let b=[];for(;null!==a;)b.push(a),a=a._parentEditor;return b}function Nb(){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,5)}\nfunction Ob(a,b){var c=window.getSelection();if(null!==c){var d=c.anchorNode,{anchorOffset:f,focusOffset:e}=c;if(null!==d&&3===d.nodeType&&(c=jb(d),C(c))){d=d.nodeValue;if(d===Ua&&b){let g=b.length;d=b;e=f=g}null!==d&&kb(c,d,f,e,a)}}}\nfunction kb(a,b,c,d,f){let e=a;if(e.isAttached()&&(f||!e.isDirty())){var g=e.isComposing();a=b;(g||f)&&b[b.length-1]===Ua&&(a=b.slice(0,-1));b=e.getTextContent();if(f||a!==b)if(\"\"===a)if(I(null),Qa||Ta)e.remove();else{let h=H();setTimeout(()=>{h.update(()=>{e.isAttached()&&e.remove()})},20)}else f=e.getParent(),b=Pb(),e.isToken()||null!==Fb()&&!g||null!==f&&D(b)&&!f.canInsertTextBefore()&&0===b.anchor.offset?e.markDirty():(g=u(),D(g)&&null!==c&&null!==d&&(g.setTextNodeRange(e,c,e,d),e.isSegmented()&&\n(c=e.getTextContent(),c=M(c),e.replace(c),e=c)),e.setTextContent(a))}}function Qb(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=(C(b)||F(b)&&b.isInline())&&!b.canInsertTextAfter()),a):a===b.getTextContentSize()?!b.canInsertTextAfter()||!c.canInsertTextAfter()||d:!1}\nfunction Rb(a,b){let c=a.anchor,d=a.focus,f=c.getNode();var e=window.getSelection();e=null!==e?e.anchorNode:null;let g=c.key,h=H().getElementByKey(g),k=b.length;return g!==d.key||!C(f)||(2>k||Lb(b))&&c.offset!==d.offset&&!f.isComposing()||wb(f)||f.isDirty()&&1<k||null!==h&&!f.isComposing()&&e!==xb(h)||f.getFormat()!==a.format||Qb(a,f)}function Sb(a,b){var c=a[b];return\"string\"===typeof c?(c=c.split(\" \"),a[b]=c):c}\nfunction Tb(a,b,c,d,f){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,f))}function Ub(a,b,c){let d=a.getParent(),f=c;null!==d&&(b&&0===c?(f=a.getIndexWithinParent(),a=d):b||c!==a.getChildrenSize()||(f=a.getIndexWithinParent()+1,a=d));return a.getChildAtIndex(b?f-1:f)}\nfunction Vb(a,b){var c=a.offset;if(\"element\"===a.type)return a=a.getNode(),Ub(a,b,c);a=a.getNode();return b&&0===c||!b&&c===a.getTextContentSize()?(c=b?a.getPreviousSibling():a.getNextSibling(),null===c?Ub(a.getParentOrThrow(),b,a.getIndexWithinParent()+(b?0:1)):c):null}function nb(a){a=(a=rb(a).event)&&a.inputType;return\"insertFromPaste\"===a||\"insertFromPasteAsQuotation\"===a}function Wb(a){return!N(a)&&!a.isLastChild()&&!a.isInline()}\nfunction Xb(a,b){a=a._keyToDOMMap.get(b);void 0===a&&r(75);return a}function $b(a,b=0){0!==b&&r(1);b=u();if(!D(b)||!F(a))return b;let {anchor:c,focus:d}=b,f=c.getNode(),e=d.getNode();ac(f,a)&&c.set(a.__key,0,\"element\");ac(e,a)&&d.set(a.__key,0,\"element\");return b}function ac(a,b){for(a=a.getParent();null!==a;){if(a.is(b))return!0;a=a.getParent()}return!1}function rb(a){a=a._window;null===a&&r(78);return a}function bc(a){return N(a)||F(a)&&a.isShadowRoot()}\nfunction cc(a,b,c,d,f){a=a.__children;let e=a.length;for(let g=0;g<e;g++){let h=a[g],k=d.get(h);void 0!==k&&k.__parent===b&&(F(k)&&cc(k,h,c,d,f),c.has(h)||f.delete(h),d.delete(h))}}function dc(a,b,c,d){a=a._nodeMap;b=b._nodeMap;for(let f of c){let e=b.get(f);void 0===e||e.isAttached()||(a.has(f)||c.delete(f),b.delete(f))}for(let [f]of d)c=b.get(f),void 0===c||c.isAttached()||(F(c)&&cc(c,f,a,b,d),a.has(f)||d.delete(f),b.delete(f))}\nfunction ec(a,b){let c=a.__mode,d=a.__format;a=a.__style;let f=b.__mode,e=b.__format;b=b.__style;return(null===c||c===f)&&(null===d||d===e)&&(null===a||a===b)}function fc(a,b){let c=a.mergeWithSibling(b),d=H()._normalizedNodes;d.add(a.__key);d.add(b.__key);return c}\nfunction gc(a){if(\"\"===a.__text&&a.isSimpleText()&&!a.isUnmergeable())a.remove();else{for(var b;null!==(b=a.getPreviousSibling())&&C(b)&&b.isSimpleText()&&!b.isUnmergeable();)if(\"\"===b.__text)b.remove();else{ec(b,a)&&(a=fc(b,a));break}for(var c;null!==(c=a.getNextSibling())&&C(c)&&c.isSimpleText()&&!c.isUnmergeable();)if(\"\"===c.__text)c.remove();else{ec(a,c)&&fc(a,c);break}}}\nfunction hc(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(C(b)){a.set(b.__key,c?b.getTextContentSize():0,\"text\");break}else if(!F(b))break;a.set(b.__key,c?b.getChildrenSize():0,\"element\")}}let O=\"\",P=\"\",R=\"\",ic,S,jc,kc=!1,lc=!1,mc,nc=null,oc,pc,qc,rc,sc,tc;\nfunction uc(a,b){let c=qc.get(a);if(null!==b){let d=vc(a);b.removeChild(d)}rc.has(a)||S._keyToDOMMap.delete(a);F(c)&&(a=c.__children,wc(a,0,a.length-1,null));void 0!==c&&Tb(tc,jc,mc,c,\"destroyed\")}function wc(a,b,c,d){for(;b<=c;++b){let f=a[b];void 0!==f&&uc(f,d)}}function xc(a,b){a.setProperty(\"text-align\",b)}function yc(a,b){a.style.setProperty(\"padding-inline-start\",0===b?\"\":20*b+\"px\")}\nfunction zc(a,b){a=a.style;0===b?xc(a,\"\"):1===b?xc(a,\"left\"):2===b?xc(a,\"center\"):3===b?xc(a,\"right\"):4===b&&xc(a,\"justify\")}\nfunction Ac(a,b,c){let d=rc.get(a);void 0===d&&r(60);let f=d.createDOM(ic,S);var e=S._keyToDOMMap;f[\"__lexicalKey_\"+S._key]=a;e.set(a,f);C(d)?f.setAttribute(\"data-lexical-text\",\"true\"):A(d)&&f.setAttribute(\"data-lexical-decorator\",\"true\");if(F(d)){a=d.__indent;0!==a&&yc(f,a);a=d.__children;var g=a.length;if(0!==g){e=a;--g;let h=P;P=\"\";Bc(e,0,g,f,null);Cc(d,f);P=h}e=d.__format;0!==e&&zc(f,e);Dc(null,a,f);Wb(d)&&(O+=\"\\n\\n\",R+=\"\\n\\n\")}else e=d.getTextContent(),A(d)?(g=d.decorate(S,ic),null!==g&&Ec(a,\ng),f.contentEditable=\"false\"):C(d)&&(d.isDirectionless()||(P+=e)),O+=e,R+=e;null!==b&&(null!=c?b.insertBefore(f,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(f,c):b.appendChild(f)));Tb(tc,jc,mc,d,\"created\");return f}function Bc(a,b,c,d,f){let e=O;for(O=\"\";b<=c;++b)Ac(a[b],d,f);d.__lexicalTextContent=O;O=e+O}function Fc(a,b){a=b.get(a[a.length-1]);return Ab(a)||A(a)}\nfunction Dc(a,b,c){a=null!==a&&(0===a.length||Fc(a,qc));b=null!==b&&(0===b.length||Fc(b,rc));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 Cc(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==P||c!==nc){let e=\"\"===P;if(e)var d=nc;else d=P,d=Wa.test(d)?\"rtl\":Xa.test(d)?\"ltr\":null;if(d!==c){let g=b.classList,h=ic.theme;var f=null!==c?h[c]:void 0;let k=null!==d?h[d]:void 0;void 0!==f&&(\"string\"===typeof f&&(f=f.split(\" \"),f=h[c]=f),g.remove(...f));null===d||e&&\"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);lc||(a.getWritable().__dir=d)}nc=\nd;b.__lexicalDirTextContent=P;b.__lexicalDir=d}}\nfunction Gc(a,b){var c=qc.get(a),d=rc.get(a);void 0!==c&&void 0!==d||r(61);var f=kc||pc.has(a)||oc.has(a);let e=Xb(S,a);if(c===d&&!f)return F(c)?(d=e.__lexicalTextContent,void 0!==d&&(O+=d,R+=d),d=e.__lexicalDirTextContent,void 0!==d&&(P+=d)):(d=c.getTextContent(),C(c)&&!c.isDirectionless()&&(P+=d),R+=d,O+=d),e;c!==d&&f&&Tb(tc,jc,mc,d,\"updated\");if(d.updateDOM(c,e,ic))return d=Ac(a,null,null),null===b&&r(62),b.replaceChild(d,e),uc(a,null),d;if(F(c)&&F(d)){a=d.__indent;a!==c.__indent&&yc(e,a);a=d.__format;\na!==c.__format&&zc(e,a);a=c.__children;c=d.__children;if(a!==c||f){var g=a,h=c;f=d;b=P;P=\"\";let v=O;O=\"\";var k=g.length,m=h.length;if(1===k&&1===m){var l=g[0];h=h[0];if(l===h)Gc(l,e);else{var n=vc(l);h=Ac(h,null,null);e.replaceChild(h,n);uc(l,null)}}else if(0===k)0!==m&&Bc(h,0,m-1,e,null);else if(0===m)0!==k&&(l=null==e.__lexicalLineBreak,wc(g,0,k-1,l?null:e),l&&(e.textContent=\"\"));else{let w=k-1;k=m-1;let y=e.firstChild,z=0;for(m=0;z<=w&&m<=k;){var q=g[z];let B=h[m];if(q===B)y=Gc(B,e).nextSibling,\nz++,m++;else{void 0===l&&(l=new Set(g));void 0===n&&(n=new Set(h));let E=n.has(q),Q=l.has(B);E?(Q?(q=Xb(S,B),q===y?y=Gc(B,e).nextSibling:(null!=y?e.insertBefore(q,y):e.appendChild(q),Gc(B,e)),z++):Ac(B,e,y),m++):(y=vc(q).nextSibling,uc(q,e),z++)}}l=z>w;n=m>k;l&&!n?(l=h[k+1],l=void 0===l?null:S.getElementByKey(l),Bc(h,m,k,e,l)):n&&!l&&wc(g,z,w,e)}Wb(f)&&(O+=\"\\n\\n\");e.__lexicalTextContent=O;O=v+O;Cc(f,e);P=b;N(d)||Dc(a,c,e)}Wb(d)&&(O+=\"\\n\\n\",R+=\"\\n\\n\")}else c=d.getTextContent(),A(d)?(f=d.decorate(S,\nic),null!==f&&Ec(a,f)):C(d)&&!d.isDirectionless()&&(P+=c),O+=c,R+=c;!lc&&N(d)&&d.__cachedText!==R&&(d=d.getWritable(),d.__cachedText=R);return e}function Ec(a,b){let c=S._pendingDecorators,d=S._decorators;if(null===c){if(d[a]===b)return;c=Gb(S)}c[a]=b}function vc(a){a=sc.get(a);void 0===a&&r(75);return a}\nlet T=Object.freeze({}),Nc=[[\"keydown\",Hc],[\"mousedown\",Ic],[\"compositionstart\",Jc],[\"compositionend\",Kc],[\"input\",Lc],[\"click\",Mc],[\"cut\",T],[\"copy\",T],[\"dragstart\",T],[\"dragover\",T],[\"dragend\",T],[\"paste\",T],[\"focus\",T],[\"blur\",T],[\"drop\",T]];Pa&&Nc.push([\"beforeinput\",(a,b)=>Oc(a,b)]);let Pc=0,Qc=0,Rc=0,Sc=!1,Tc=!1,Uc=!1,Vc=!1,Wc=[0,0,\"root\",0];function Xc(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}\nfunction Yc(a,b,c){let {anchorNode:d,anchorOffset:f,focusNode:e,focusOffset:g}=a;if(Sc&&(Sc=!1,Xc(d,f)&&Xc(e,g)))return;x(b,()=>{if(!c)mb(null);else if(ub(b,d,e)){var h=u();if(D(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){\"Range\"===a.type&&a.anchorNode===a.focusNode&&(h.dirty=!0);var l=rb(b).event;l=l?l.timeStamp:performance.now();let [n,q,v,w]=Wc;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(C(v)&&(m=!0,k&=v.getFormat(),0===k))break}h.format=m?k:0}}U(b,aa,void 0)}})}function Mc(a,b){x(b,()=>{let c=u(),d=window.getSelection(),f=Pb();if(D(c)){let e=c.anchor,g=e.getNode();d&&\"element\"===e.type&&0===e.offset&&c.isCollapsed()&&!N(g)&&1===Ib().getChildrenSize()&&g.getTopLevelElementOrThrow().isEmpty()&&null!==f&&c.is(f)&&(d.removeAllRanges(),c.dirty=!0)}U(b,ba,a)})}\nfunction Ic(a,b){let c=a.target;c instanceof Node&&x(b,()=>{A(jb(c))||(Tc=!0)})}function Zc(a,b){b.getTargetRanges&&(b=b.getTargetRanges()[0])&&a.applyDOMRange(b)}function $c(a,b){return a!==b||F(a)||F(b)||!a.isToken()||!b.isToken()}\nfunction Oc(a,b){let c=a.inputType;\"deleteCompositionText\"===c||Oa&&nb(b)||\"insertCompositionText\"!==c&&x(b,()=>{let d=u();if(\"deleteContentBackward\"===c){if(null===d){var f=Pb();if(!D(f))return;mb(f.clone())}if(D(d)){229===Qc&&a.timeStamp<Pc+30&&b.isComposing()&&d.anchor.key===d.focus.key?(I(null),Pc=0,setTimeout(()=>{x(b,()=>{I(null)})},30),D(d)&&(f=d.anchor.getNode(),f.markDirty(),d.format=f.getFormat())):(a.preventDefault(),U(b,ca,!0));return}}if(D(d)){f=a.data;d.dirty||!d.isCollapsed()||N(d.anchor.getNode())||\nZc(d,a);var e=d.focus,g=d.anchor.getNode();e=e.getNode();if(\"insertText\"===c||\"insertTranspose\"===c)\"\\n\"===f?(a.preventDefault(),U(b,da,!1)):\"\\n\\n\"===f?(a.preventDefault(),U(b,ea,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData(\"text/plain\"),a.preventDefault(),d.insertRawText(f)):null!=f&&Rb(d,f)&&(a.preventDefault(),U(b,fa,f));else switch(a.preventDefault(),c){case \"insertFromYank\":case \"insertFromDrop\":case \"insertReplacementText\":U(b,fa,a);break;case \"insertFromComposition\":I(null);U(b,\nfa,a);break;case \"insertLineBreak\":I(null);U(b,da,!1);break;case \"insertParagraph\":I(null);Uc?(Uc=!1,U(b,da,!1)):U(b,ea,void 0);break;case \"insertFromPaste\":case \"insertFromPasteAsQuotation\":U(b,ha,a);break;case \"deleteByComposition\":$c(g,e)&&U(b,ia,void 0);break;case \"deleteByDrag\":case \"deleteByCut\":U(b,ia,void 0);break;case \"deleteContent\":U(b,ca,!1);break;case \"deleteWordBackward\":U(b,ka,!0);break;case \"deleteWordForward\":U(b,ka,!1);break;case \"deleteHardLineBackward\":case \"deleteSoftLineBackward\":U(b,\nla,!0);break;case \"deleteContentForward\":case \"deleteHardLineForward\":case \"deleteSoftLineForward\":U(b,la,!1);break;case \"formatStrikeThrough\":U(b,p,\"strikethrough\");break;case \"formatBold\":U(b,p,\"bold\");break;case \"formatItalic\":U(b,p,\"italic\");break;case \"formatUnderline\":U(b,p,\"underline\");break;case \"historyUndo\":U(b,ma,void 0);break;case \"historyRedo\":U(b,na,void 0)}}})}\nfunction Lc(a,b){a.stopPropagation();x(b,()=>{var c=u(),d=a.data;null!=d&&D(c)&&Rb(c,d)?(Vc&&(ad(b,d),Vc=!1),U(b,fa,d),d=d.length,Oa&&1<d&&\"insertCompositionText\"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=d),Qa||Ta||!b.isComposing()||(Pc=0,I(null))):(Ob(!1),Vc&&(ad(b,d||void 0),Vc=!1));J();c=H();ob(c)})}\nfunction Jc(a,b){x(b,()=>{let c=u();if(D(c)&&!b.isComposing()){let d=c.anchor;I(d.key);(a.timeStamp<Pc+30||\"element\"===d.type||!c.isCollapsed()||c.anchor.getNode().getFormat()!==c.format)&&U(b,fa,Va)}})}\nfunction ad(a,b){var c=a._compositionKey;I(null);if(null!==c&&null!=b){if(\"\"===b){b=K(c);a=xb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&C(b)&&kb(b,a.nodeValue,null,null,!0);return}if(\"\\n\"===b[b.length-1]&&(c=u(),D(c))){b=c.focus;c.anchor.set(b.key,b.offset,b.type);U(a,xa,null);return}}Ob(!0,b)}function Kc(a,b){Oa?Vc=!0:x(b,()=>{ad(b,a.data)})}\nfunction Hc(a,b){if(!0!==a._lexicalHandled&&(a._lexicalHandled=!0,Pc=a.timeStamp,Qc=a.keyCode,!b.isComposing())){var {keyCode:c,shiftKey:d,ctrlKey:f,metaKey:e,altKey:g}=a;if(39!==c||f||e||g)if(39!==c||g||d||!f&&!e)if(37!==c||f||e||g)if(37!==c||g||d||!f&&!e)if(38!==c||f||e)if(40!==c||f||e)if(13===c&&d)Uc=!0,U(b,xa,a);else if(32===c)U(b,ya,a);else if(t&&f&&79===c)a.preventDefault(),Uc=!0,U(b,da,!0);else if(13!==c||d){var h=t?g||e?!1:8===c||72===c&&f:f||g||e?!1:8===c;h?8===c?U(b,za,a):(a.preventDefault(),\nU(b,ca,!0)):27===c?U(b,Aa,a):(h=t?d||g||e?!1:46===c||68===c&&f:f||g||e?!1:46===c,h?46===c?U(b,Ba,a):(a.preventDefault(),U(b,ca,!1)):8===c&&(t?g:f)?(a.preventDefault(),U(b,ka,!0)):46===c&&(t?g:f)?(a.preventDefault(),U(b,ka,!1)):t&&e&&8===c?(a.preventDefault(),U(b,la,!0)):t&&e&&46===c?(a.preventDefault(),U(b,la,!1)):66===c&&!g&&(t?e:f)?(a.preventDefault(),U(b,p,\"bold\")):85===c&&!g&&(t?e:f)?(a.preventDefault(),U(b,p,\"underline\")):73===c&&!g&&(t?e:f)?(a.preventDefault(),U(b,p,\"italic\")):9!==c||g||f||\ne?90===c&&!d&&(t?e:f)?(a.preventDefault(),U(b,ma,void 0)):(h=t?90===c&&e&&d:89===c&&f||90===c&&f&&d,h?(a.preventDefault(),U(b,na,void 0)):bd(b._editorState._selection)&&(h=d?!1:67===c?t?e:f:!1,h?(a.preventDefault(),U(b,Ha,a)):(h=d?!1:88===c?t?e:f:!1,h&&(a.preventDefault(),U(b,Ia,a))))):U(b,Ca,a))}else Uc=!1,U(b,xa,a);else U(b,ta,a);else U(b,sa,a);else U(b,ra,a);else U(b,qa,a);else U(b,pa,a);else U(b,oa,a);(f||d||g||e)&&U(b,La,a)}}\nfunction cd(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let dd=new Map;function ed(){let a=window.getSelection();if(null!==a){var b=vb(a.anchorNode);if(null!==b){Tc&&(Tc=!1,x(b,()=>{var g=Pb(),h=a.anchorNode;null!==h&&(h=h.nodeType,1===h||3===h)&&(g=fd(g,a,b),mb(g))}));var c=Mb(b);c=c[c.length-1];var d=c._key,f=dd.get(d),e=f||c;e!==b&&Yc(a,e,!1);Yc(a,b,!0);b!==c?dd.set(d,b):f&&dd.delete(d)}}}\nfunction gd(a,b){0===Rc&&a.ownerDocument.addEventListener(\"selectionchange\",ed);Rc++;a.__lexicalEditor=b;let c=cd(a);for(let d=0;d<Nc.length;d++){let [f,e]=Nc[d],g=\"function\"===typeof e?h=>{b.isEditable()&&e(h,b)}:h=>{if(b.isEditable())switch(f){case \"cut\":return U(b,Ia,h);case \"copy\":return U(b,Ha,h);case \"paste\":return U(b,ha,h);case \"dragstart\":return U(b,Ea,h);case \"dragover\":return U(b,Fa,h);case \"dragend\":return U(b,Ga,h);case \"focus\":return U(b,Ja,h);case \"blur\":return U(b,Ka,h);case \"drop\":return U(b,\nDa,h)}};a.addEventListener(f,g);c.push(()=>{a.removeEventListener(f,g)})}}\nclass W{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(F(b)){var f=b.getDescendantByIndex(d);b=null!=f?f:b}F(c)&&(f=c.getDescendantByIndex(a),c=null!=f?f:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=K(this.key);null===a&&r(20);return a}set(a,b,c){let d=this._selection,f=this.key;this.key=a;this.offset=b;this.type=c;\nL||(Fb()===f&&I(a),null!==d&&(d._cachedNodes=null,d.dirty=!0))}}function hd(a,b){let c=b.__key,d=a.offset,f=\"element\";if(C(b))f=\"text\",b=b.getTextContentSize(),d>b&&(d=b);else if(!F(b)){var e=b.getNextSibling();if(C(e))c=e.__key,d=0;else if(e=b.getParent())c=e.__key,d=b.getIndexWithinParent()+1}a.set(c,d,f)}function id(a,b){if(F(b)){let c=b.getLastDescendant();F(c)||C(c)?hd(a,c):hd(a,b)}else hd(a,b)}\nfunction jd(a,b,c){let d=a.getNode(),f=d.getChildAtIndex(a.offset),e=M(),g=N(d)?kd().append(e):e;e.setFormat(c);null===f?d.append(g):f.insertBefore(g);a.is(b)&&b.set(e.__key,0,\"text\");a.set(e.__key,0,\"text\")}function ld(a,b,c,d){a.key=b;a.offset=c;a.type=d}\nclass md{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}is(a){if(!bd(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 md(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){let c=this.getNodes(),d=c.length;var f=c[d-1];if(C(f))f=f.select();else{let e=f.getIndexWithinParent()+1;f=f.getParentOrThrow().select(e,e)}f.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=K(c),null!==b&&a.push(b);L||(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 D(a){return a instanceof nd}\nclass od{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 pd(a)?this.gridKey===a.gridKey&&this.anchor.is(this.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 od(this.gridKey,this.anchor,this.focus)}isCollapsed(){return!1}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return qd(this)}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){var c=this.focus.getNode();c=c.select(0,c.getChildrenSize());hc(c.anchor);hc(c.focus);return c.insertNodes(a,b)}getShape(){var a=K(this.anchor.key);null===a&&r(21);var b=a.getIndexWithinParent();a=a.getParentOrThrow().getIndexWithinParent();var c=K(this.focus.key);null===c&&r(22);var d=c.getIndexWithinParent();let f=c.getParentOrThrow().getIndexWithinParent();c=Math.min(b,d);b=Math.max(b,d);d=Math.min(a,f);a=Math.max(a,f);return{fromX:Math.min(c,b),fromY:Math.min(d,a),toX:Math.max(c,b),toY:Math.max(d,\na)}}getNodes(){var a=this._cachedNodes;if(null!==a)return a;a=new Set;let {fromX:b,fromY:c,toX:d,toY:f}=this.getShape();var e=K(this.gridKey);rd(e)||r(23);a.add(e);e=e.getChildren();for(let k=c;k<=f;k++){var g=e[k];a.add(g);sd(g)||r(24);g=g.getChildren();for(let m=b;m<=d;m++){var h=g[m];td(h)||r(25);a.add(h);for(h=h.getChildren();0<h.length;){let l=h.shift();a.add(l);F(l)&&h.unshift(...l.getChildren())}}}a=Array.from(a);L||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";\nfor(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function pd(a){return a instanceof od}\nclass nd{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 D(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();F(a)&&(b=a.getDescendantByIndex(b.offset),a=null!=\nb?b:a);F(d)&&(c=d.getDescendantByIndex(c.offset),d=null!=c?c:d);a=a.is(d)?F(a)&&(0<a.getChildrenSize()||a.excludeFromCopy())?[]:[a]:a.getNodesBetween(d);L||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){ld(this.anchor,a.__key,b,\"text\");ld(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),[f,e]=qd(this),g=\"\",h=!0;for(let k=0;k<a.length;k++){let m=a[k];\nif(F(m)&&!m.isInline())h||(g+=\"\\n\"),h=m.isEmpty()?!1:!0;else if(h=!1,C(m)){let l=m.getTextContent();m===b?l=m===c?f<e?l.slice(f,e):l.slice(e,f):d?l.slice(f):l.slice(e):m===c&&(l=d?l.slice(0,e):l.slice(0,f));g+=l}else!A(m)&&!Ab(m)||m===c&&this.isCollapsed()||(g+=m.getTextContent())}return g}applyDOMRange(a){let b=H(),c=b.getEditorState()._selection;a=ud(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,c);if(null!==a){var [d,f]=a;ld(this.anchor,d.key,d.offset,d.type);ld(this.focus,f.key,\nf.offset,f.type);this._cachedNodes=null}}clone(){let a=this.anchor,b=this.focus;return new nd(new W(a.key,a.offset,a.type),new W(b.key,b.offset,b.type),this.format)}toggleFormat(a){this.format=yb(this.format,a,null);this.dirty=!0}hasFormat(a){return 0!==(this.format&Ya[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 f=b[d];\"\"!==f&&a.push(M(f));d!==c-1&&a.push(vd())}this.insertNodes(a)}}insertText(a){var b=this.anchor,\nc=this.focus,d=this.isCollapsed()||b.isBefore(c),f=this.format;d&&\"element\"===b.type?jd(b,c,f):d||\"element\"!==c.type||jd(c,b,f);var e=this.getNodes(),g=e.length,h=d?c:b;c=(d?b:c).offset;var k=h.offset;b=e[0];C(b)||r(26);d=b.getTextContent().length;var m=b.getParentOrThrow(),l=e[g-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||!m.canInsertTextAfter()&&null===b.getNextSibling())){var n=b.getNextSibling();if(!C(n)||wb(n))n=M(),n.setFormat(f),m.canInsertTextAfter()?\nb.insertAfter(n):m.insertAfter(n);n.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(!C(n)||wb(n))n=M(),n.setFormat(f),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=M(b.getTextContent()),m.setFormat(f),b.replace(m),b=m;\nelse if(!(this.isCollapsed()||\"\"===a||(n=l.getParent(),m.canInsertTextBefore()&&m.canInsertTextAfter()&&(!F(n)||n.canInsertTextBefore()&&n.canInsertTextAfter())))){this.insertText(\"\");wd(this.anchor,this.focus,null);this.insertText(a);return}if(1===g)if(b.isToken())a=M(a),a.select(),b.replace(a);else{e=b.getFormat();if(c===k&&e!==f)if(\"\"===b.getTextContent())b.setFormat(f);else{e=M(a);e.setFormat(f);e.select();0===c?b.insertBefore(e):([g]=b.splitText(c),g.insertAfter(e));e.isComposing()&&\"text\"===\nthis.anchor.type&&(this.anchor.offset-=a.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=e)}else{f=new Set([...b.getParentKeys(),...l.getParentKeys()]);var q=F(b)?b:b.getParentOrThrow();m=F(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()<\nk?C(l)&&!l.isToken()&&k!==l.getTextContentSize()?(l.isSegmented()&&(h=M(l.getTextContent()),l.replace(h),l=h),l=l.spliceText(0,k,\"\"),f.add(l.__key)):(h=l.getParentOrThrow(),h.canBeEmpty()||1!==h.getChildrenSize()?l.remove():h.remove()):f.add(l.__key);h=m.getChildren();k=new Set(e);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)||F(w)&&w.isParentOf(b))break;w.isAttached()&&(!k.has(w)||w.is(n)?l||q.insertAfter(w):w.remove())}if(!l)for(h=m,\nk=null;null!==h;){l=h.getChildren();m=l.length;if(0===m||l[m-1].is(k))f.delete(h.__key),k=h;h=h.getParent()}b.isToken()?c===d?b.select():(a=M(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=e[a],f.has(b.__key)||b.remove()}}removeText(){this.insertText(\"\")}formatText(a){if(this.isCollapsed())this.toggleFormat(a),I(null);else{var b=this.getNodes(),c=[];for(var d of b)C(d)&&\nc.push(d);var f=c.length;if(0===f)this.toggleFormat(a),I(null);else{d=this.anchor;var e=this.focus,g=this.isBackward();b=g?e:d;d=g?d:e;var h=0,k=c[0];e=\"element\"===b.type?0:b.offset;\"text\"===b.type&&e===k.getTextContentSize()&&(h=1,k=c[1],e=0);if(null!=k){g=k.getFormatFlags(a,null);var m=f-1,l=c[m];f=\"text\"===d.type?d.offset:l.getTextContentSize();if(k.is(l))e!==f&&(0===e&&f===k.getTextContentSize()?k.setFormat(g):(a=k.splitText(e,f),a=0===e?a[0]:a[1],a.setFormat(g),\"text\"===b.type&&b.set(a.__key,\n0,\"text\"),\"text\"===d.type&&d.set(a.__key,f-e,\"text\")),this.format=g);else{0!==e&&([,k]=k.splitText(e),e=0);k.setFormat(g);var n=l.getFormatFlags(a,g);0<f&&(f!==l.getTextContentSize()&&([l]=l.splitText(f)),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,e,\"text\");\"text\"===d.type&&d.set(l.__key,f,\"text\");this.format=g|n}}}}}insertNodes(a,b){this.isCollapsed()||this.removeText();var c=this.anchor,d=c.offset,f=c.getNode(),\ne=f;\"element\"===c.type&&(e=c.getNode(),c=e.getChildAtIndex(d-1),e=null===c?e:c);c=[];var g=f.getNextSiblings(),h=bc(f)?null:f.getTopLevelElementOrThrow();if(C(f))if(e=f.getTextContent().length,0===d&&0!==e)e=f.getPreviousSibling(),e=null!==e?e:f.getParentOrThrow(),c.push(f);else if(d===e)e=f;else{if(f.isToken())return!1;[e,f]=f.splitText(d);c.push(f)}f=e;c.push(...g);g=a[0];var k=!1,m=null;for(let v=0;v<a.length;v++){var l=a[v];if(F(l)&&!l.isInline()){if(l.is(g)){if(F(e)&&e.isEmpty()&&e.canReplaceWith(l)){e.replace(l);\ne=l;k=!0;continue}var n=l.getFirstDescendant();if(zb(n)){for(n=n.getParentOrThrow();n.isInline();)n=n.getParentOrThrow();m=n.getChildren();k=m.length;if(F(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}}C(e)&&(null===h&&r(27),e=h)}else k&&!A(l)&&bc(e.getParent())&&r(28);k=!1;if(F(e)&&!e.isInline())if(m=l,A(l)&&!l.isInline())e=e.insertAfter(l);else if(F(l)){if(l.canBeEmpty()||!l.isEmpty())bc(e)?(n=\ne.getChildAtIndex(d),null!==n?n.insertBefore(l):e.append(l),e=l):e=e.insertAfter(l)}else n=e.getFirstChild(),null!==n?n.insertBefore(l):e.append(l),e=l;else!F(l)||F(l)&&l.isInline()||A(e)&&!e.isInline()?(m=l,e=e.insertAfter(l)):(l=e.getParentOrThrow(),Ab(e)&&e.remove(),e=l,v--)}b&&(C(f)?f.select():(a=e.getPreviousSibling(),C(a)?a.select():(a=e.getIndexWithinParent(),e.getParentOrThrow().select(a,a))));if(F(e)){if(a=C(m)?m:F(m)&&m.isInline()?m.getLastDescendant():e.getLastDescendant(),b||(null===a?\ne.select():C(a)?a.select():a.selectNext()),0!==c.length)for(b=e,a=c.length-1;0<=a;a--)d=c[a],h=d.getParentOrThrow(),!F(e)||xd(d)||A(d)&&!d.isInline()?F(e)||xd(d)?F(d)&&!d.canInsertAfter(e)?(f=h.constructor.clone(h),F(f)||r(29),f.append(d),e.insertAfter(f)):e.insertAfter(d):(e.insertBefore(d),e=d):(b===e?e.append(d):e.insertBefore(d),e=d),h.isEmpty()&&!h.canBeEmpty()&&h.remove()}else b||(C(e)?e.select():(c=e.getParentOrThrow(),e=e.getIndexWithinParent()+1,c.select(e,e)));return!0}insertParagraph(){this.isCollapsed()||\nthis.removeText();var a=this.anchor,b=a.offset,c=[];if(\"text\"===a.type){var d=a.getNode();var f=d.getNextSiblings().reverse();var e=d.getParentOrThrow();var g=e.isInline(),h=g?e.getTextContentSize():d.getTextContentSize();0===b?f.push(d):(g&&(c=e.getNextSiblings()),b===h||g&&b===d.getTextContentSize()||([,d]=d.splitText(b),f.push(d)))}else{e=a.getNode();if(bc(e)){f=kd();c=e.getChildAtIndex(b);f.select();null!==c?c.insertBefore(f):e.append(f);return}f=e.getChildren().slice(b).reverse()}d=f.length;\nif(0===b&&0<d&&e.isInline()){if(c=e.getParentOrThrow(),f=c.insertNewAfter(this),F(f))for(c=c.getChildren(),e=0;e<c.length;e++)f.append(c[e])}else if(g=e.insertNewAfter(this),null===g)this.insertLineBreak();else if(F(g))if(h=e.getFirstChild(),0===b&&(e.is(a.getNode())||h&&h.is(a.getNode()))&&0<d)e.insertBefore(g);else{e=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=f[c],null===e?g.append(b):e.insertBefore(b),e=b;g.canBeEmpty()||0!==g.getChildrenSize()?\ng.selectStart():(g.selectPrevious(),g.remove())}}insertLineBreak(a){let b=vd();var c=this.anchor;\"element\"===c.type&&(c=c.getNode(),N(c)&&this.insertParagraph());a?this.insertNodes([b],!0):this.insertNodes([b])&&b.selectNext(0,0)}getCharacterOffsets(){return qd(this)}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let f=this.focus;var e=a[0];let g=a[c],[h,k]=qd(this);if(0===b)return[];if(1===b)return C(e)&&!this.isCollapsed()?(a=h>k?k:h,c=e.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=\na?[a]:[]):[e];b=d.isBefore(f);C(e)&&(d=b?h:k,d===e.getTextContentSize()?a.shift():0!==d&&([,e]=e.splitText(d),a[0]=e));C(g)&&(e=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==e&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,f=this.anchor,e=\"move\"===a,g=Vb(d,b);if(A(g)&&!g.isIsolated())e?(e=yd(),e.add(g.__key),mb(e)):(a=b?g.getPreviousSibling():g.getNextSibling(),C(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,\"text\"),e&&f.set(g,b,\"text\")):(c=g.getParentOrThrow(),\nF(a)?(c=a.__key,g=b?a.getChildrenSize():0):(g=g.getIndexWithinParent(),c=c.__key,b||g++),d.set(c,g,\"element\"),e&&f.set(c,g,\"element\")));else if(d=window.getSelection())d.modify(a,b?\"backward\":\"forward\",c),0<d.rangeCount&&(b=d.getRangeAt(0),this.applyDOMRange(b),this.dirty=!0,e||d.anchorNode===b.startContainer&&d.anchorOffset===b.startOffset||(e=this.focus,b=this.anchor,d=b.key,f=b.offset,g=b.type,ld(b,e.key,e.offset,e.type),ld(e,d,f,g),this._cachedNodes=null))}deleteCharacter(a){if(this.isCollapsed()){var b=\nthis.anchor,c=this.focus,d=b.getNode();if(!a&&(\"element\"===b.type&&F(d)&&b.offset===d.getChildrenSize()||\"text\"===b.type&&b.offset===d.getTextContentSize())&&(d=d.getNextSibling()||d.getParentOrThrow().getNextSibling(),F(d)&&!d.canExtractContents()))return;this.modify(\"extend\",a,\"character\");if(!this.isCollapsed()){var f=\"text\"===c.type?c.getNode():null;d=\"text\"===b.type?b.getNode():null;if(null!==f&&f.isSegmented()){if(b=c.offset,c=f.getTextContentSize(),f.is(d)||a&&b!==c||!a&&0!==b){zd(f,a,b);return}}else if(null!==\nd&&d.isSegmented()&&(b=b.offset,c=d.getTextContentSize(),d.is(f)||a&&0!==b||!a&&b!==c)){zd(d,a,b);return}d=this.anchor;f=this.focus;b=d.getNode();c=f.getNode();if(b===c&&\"text\"===d.type&&\"text\"===f.type){var e=d.offset,g=f.offset;let h=e<g;c=h?e:g;g=h?g:e;e=g-1;c!==e&&(b=b.getTextContent().slice(c,g),Lb(b)||(a?f.offset=e:d.offset=e))}}else if(a&&0===b.offset&&(\"element\"===b.type?b.getNode():b.getNode().getParentOrThrow()).collapseAtStart(this))return}this.removeText()}deleteLine(a){this.isCollapsed()&&\n(\"text\"===this.anchor.type&&this.modify(\"extend\",a,\"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 bd(a){return a instanceof md}function Ad(a){let b=a.offset;if(\"text\"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}\nfunction qd(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]:[Ad(b),Ad(a)]}function zd(a,b,c){let d=a.getTextContent().split(/(?=\\s)/g),f=d.length,e=0,g=0;for(let h=0;h<f;h++){let k=d[h],m=h===f-1;g=e;e+=k.length;if(b&&e===c||e>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 Bd(a,b,c){var d=b;if(1===a.nodeType){let g=!1;var f=a.childNodes;var e=f.length;d===e&&(g=!0,d=e-1);f=Kb(f[d]);if(C(f))d=g?f.getTextContentSize():0;else{e=Kb(a);if(null===e)return null;if(F(e)){a=e.getChildAtIndex(d);if(b=F(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=g?a.getLastDescendant():a.getFirstDescendant(),null===c?(e=a,d=0):(a=c,e=a.getParentOrThrow()));C(a)?(f=a,e=null,d=g?a.getTextContentSize():0):a!==e&&g&&d++}else d=e.getIndexWithinParent(),\nd=0===b&&A(e)&&Kb(a)===e?d:d+1,e=e.getParentOrThrow();if(F(e))return new W(e.__key,d,\"element\")}}else f=Kb(a);return C(f)?new W(f.__key,d,\"text\"):null}\nfunction Id(a,b,c){var d=a.offset,f=a.getNode();0===d?(d=f.getPreviousSibling(),f=f.getParent(),b)?(c||!b)&&null===d&&F(f)&&f.isInline()&&(b=f.getPreviousSibling(),C(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):F(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type=\"element\"):C(d)&&(a.key=d.__key,a.offset=d.getTextContent().length):d===f.getTextContent().length&&(d=f.getNextSibling(),f=f.getParent(),b&&F(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type=\"element\"):(c||\nb)&&null===d&&F(f)&&f.isInline()&&!f.canInsertTextAfter()&&(b=f.getNextSibling(),C(b)&&(a.key=b.__key,a.offset=0)))}function wd(a,b,c){if(\"text\"===a.type&&\"text\"===b.type){var d=a.isBefore(b);let f=a.is(b);Id(a,d,f);Id(b,!d,f);f&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=H();d.isComposing()&&d._compositionKey!==a.key&&D(c)&&(d=c.anchor,c=c.focus,ld(a,d.key,d.offset,d.type),ld(b,c.key,c.offset,c.type))}}\nfunction ud(a,b,c,d,f,e){if(null===a||null===c||!ub(f,a,c))return null;b=Bd(a,b,D(e)?e.anchor:null);if(null===b)return null;d=Bd(c,d,D(e)?e.focus:null);if(null===d||\"element\"===b.type&&\"element\"===d.type&&(a=Kb(a),c=Kb(c),A(a)&&A(c)))return null;wd(b,d,e);return[b,d]}function xd(a){return F(a)&&!a.isInline()}function Jd(a,b,c,d,f,e){let g=G();a=new nd(new W(a,b,f),new W(c,d,e),0);a.dirty=!0;return g._selection=a}function yd(){return new md(new Set)}\nfunction Kd(a){let b=a.getEditorState()._selection,c=window.getSelection();return bd(b)||pd(b)?b.clone():fd(b,c,a)}\nfunction fd(a,b,c){var d=c._window;if(null===d)return null;var f=d.event,e=f?f.type:void 0;d=\"selectionchange\"===e;f=!db&&(d||\"beforeinput\"===e||\"compositionstart\"===e||\"compositionend\"===e||\"click\"===e&&f&&3===f.detail||void 0===e);let g;if(!D(a)||f){if(null===b)return null;f=b.anchorNode;e=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&D(a)&&!ub(c,f,e))return a.clone()}else return a.clone();c=ud(f,g,e,b,c,a);if(null===c)return null;let [h,k]=c;return new nd(h,k,D(a)?a.format:0)}\nfunction u(){return G()._selection}function Pb(){return H()._editorState._selection}\nfunction Ld(a,b,c,d=1){var f=a.anchor,e=a.focus,g=f.getNode(),h=e.getNode();if(b.is(g)||b.is(h))if(g=b.__key,a.isCollapsed())b=f.offset,c<=b&&(c=Math.max(0,b+d),f.set(g,c,\"element\"),e.set(g,c,\"element\"),Md(a));else{var k=a.isBackward();h=k?e:f;var m=h.getNode();f=k?f:e;e=f.getNode();b.is(m)&&(m=h.offset,c<=m&&h.set(g,Math.max(0,m+d),\"element\"));b.is(e)&&(b=f.offset,c<=b&&f.set(g,Math.max(0,b+d),\"element\"));Md(a)}}\nfunction Md(a){var b=a.anchor,c=b.offset;let d=a.focus;var f=d.offset,e=b.getNode(),g=d.getNode();if(a.isCollapsed())F(e)&&(g=e.getChildrenSize(),g=(f=c>=g)?e.getChildAtIndex(g-1):e.getChildAtIndex(c),C(g)&&(c=0,f&&(c=g.getTextContentSize()),b.set(g.__key,c,\"text\"),d.set(g.__key,c,\"text\")));else{if(F(e)){let h=e.getChildrenSize();c=(a=c>=h)?e.getChildAtIndex(h-1):e.getChildAtIndex(c);C(c)&&(e=0,a&&(e=c.getTextContentSize()),b.set(c.__key,e,\"text\"))}F(g)&&(c=g.getChildrenSize(),f=(b=f>=c)?g.getChildAtIndex(c-\n1):g.getChildAtIndex(f),C(f)&&(g=0,b&&(g=f.getTextContentSize()),d.set(f.__key,g,\"text\")))}}function Nd(a,b){b=b.getEditorState()._selection;a=a._selection;if(D(a)){var c=a.anchor;let d=a.focus,f;\"text\"===c.type&&(f=c.getNode(),f.selectionTransform(b,a));\"text\"===d.type&&(c=d.getNode(),f!==c&&c.selectionTransform(b,a))}}\nfunction Od(a,b,c,d,f){let e=null,g=0,h=null;null!==d?(e=d.__key,C(d)?(g=d.getTextContentSize(),h=\"text\"):F(d)&&(g=d.getChildrenSize(),h=\"element\")):null!==f&&(e=f.__key,C(f)?h=\"text\":F(f)&&(h=\"element\"));null!==e&&null!==h?a.set(e,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,\"element\"))}function Pd(a,b,c,d,f){\"text\"===a.type?(a.key=c,b||(a.offset+=f)):a.offset>d.getIndexWithinParent()&&--a.offset}let X=null,Y=null,L=!1,Qd=!1,Eb=0;function J(){L&&r(13)}\nfunction G(){null===X&&r(15);return X}function H(){null===Y&&r(16);return Y}function Rd(a,b,c){var d=b.__type;let f=a._nodes.get(d);void 0===f&&r(30);a=c.get(d);void 0===a&&(a=Array.from(f.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function Sd(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),C(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&gc(b)}\nfunction Td(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let f=Fb(),e=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),C(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&gc(g),void 0!==g&&void 0!==g&&g.__key!==f&&g.isAttached()&&Rd(b,g,e),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!==f&&g.isAttached()&&Rd(b,g,e),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;Eb++}b._dirtyLeaves=c;b._dirtyElements=d}function Ud(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(F(c)&&Array.isArray(a))for(let d=0;d<a.length;d++){let f=Ud(a[d],b);c.append(f)}return c}function Vd(a,b){let c=X,d=L,f=Y;X=a;L=!0;Y=null;try{return b()}finally{X=c,L=d,Y=f}}\nfunction Wd(a){var b=a._pendingEditorState,c=a._rootElement,d=a._headless;if((null!==c||d)&&null!==b){var f=a._editorState,e=f._selection,g=b._selection,h=0!==a._dirtyType,k=X,m=L,l=Y,n=a._updating,q=a._observer,v=null;a._pendingEditorState=null;a._editorState=b;if(!d&&h&&null!==q){Y=a;X=b;L=!1;a._updating=!0;try{var w=a._dirtyType,y=a._dirtyElements,z=a._dirtyLeaves;q.disconnect();P=R=O=\"\";kc=2===w;nc=null;S=a;ic=a._config;jc=a._nodes;mc=S._listeners.mutation;oc=y;pc=z;qc=f._nodeMap;rc=b._nodeMap;\nlc=b._readOnly;sc=new Map(a._keyToDOMMap);var B=new Map;tc=B;Gc(\"root\",null);tc=sc=ic=rc=qc=pc=oc=jc=S=void 0;v=B}catch(V){V instanceof Error&&a._onError(V);if(Qd)throw V;Xd(a,null,c,b);qb(a);a._dirtyType=2;Qd=!0;Wd(a);Qd=!1;return}finally{q.observe(c,{characterData:!0,childList:!0,subtree:!0}),a._updating=n,X=k,L=m,Y=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 E=b._nodeMap;for(Ra in y)E.has(Ra)||(y===z&&(y=Gb(a)),delete y[Ra]);d=d?null:window.getSelection();if(a._editable&&null!==d&&(h||null===g||g.dirty)){Y=a;X=b;try{a:{let V=d.anchorNode,ua=d.focusNode,ue=d.anchorOffset,ve=d.focusOffset,pb=document.activeElement;if(!w.has(\"collaboration\")||pb===c)if(D(g)){var Q=g.anchor,Z=g.focus,Cd=Q.key,va=Z.key,Dd=Xb(a,Cd),Ed=Xb(a,va),Yb=Q.offset,\nFd=Z.offset,Zb=g.format,Gd=g.isCollapsed();h=Dd;va=Ed;var Ra=!1;\"text\"===Q.type&&(h=xb(Dd),Ra=Q.getNode().getFormat()!==Zb);\"text\"===Z.type&&(va=xb(Ed));if(null!==h&&null!==va){if(Gd&&(null===e||Ra||D(e)&&e.format!==Zb)){var we=performance.now();Wc=[Zb,Yb,Cd,we]}if(ue===Yb&&ve===Fd&&V===h&&ua===va&&(\"Range\"!==d.type||!Gd)&&(null===c||null!==pb&&c.contains(pb)||c.focus({preventScroll:!0}),!Ta&&!Qa||\"element\"!==Q.type))break a;try{d.setBaseAndExtent(h,Yb,va,Fd);if(g.isCollapsed()&&null!==c&&c===pb){let Sa=\nQ.getNode();if(F(Sa)){let ja=Sa.getDescendantByIndex(Q.offset);null!==ja&&(Sa=ja)}let wa=a.getElementByKey(Sa.__key);if(null!==wa){let ja=wa.getBoundingClientRect();if(ja.bottom>rb(a).innerHeight)wa.scrollIntoView(!1);else if(0>ja.top)wa.scrollIntoView();else{let Hd=c.getBoundingClientRect();Math.floor(ja.bottom)>Math.floor(Hd.bottom)?wa.scrollIntoView(!1):Math.floor(ja.top)<Math.floor(Hd.top)&&wa.scrollIntoView()}w.add(\"scroll-into-view\")}}Sc=!0}catch(Sa){}}}else null!==e&&ub(a,V,ua)&&d.removeAllRanges()}}finally{Y=\nl,X=k}}if(null!==v)for(c=v,e=Array.from(a._listeners.mutation),g=e.length,k=0;k<g;k++){let [V,ua]=e[k];l=c.get(ua);void 0!==l&&V(l,{dirtyLeaves:n,updateTags:w})}c=a._pendingDecorators;null!==c&&(a._decorators=c,a._pendingDecorators=null,Yd(\"decorator\",a,!0,c));c=Hb(f);e=Hb(b);c!==e&&Yd(\"textcontent\",a,!0,e);Yd(\"update\",a,!0,{dirtyElements:q,dirtyLeaves:n,editorState:b,normalizedNodes:B,prevEditorState:f,tags:w});a._deferred=[];if(0!==m.length){b=a._updating;a._updating=!0;try{for(f=0;f<m.length;f++)m[f]()}finally{a._updating=\nb}}b=a._updates;if(0!==b.length&&(b=b.shift())){let [V,ua]=b;Zd(a,V,ua)}}}function Yd(a,b,c,...d){let f=b._updating;b._updating=c;try{let e=Array.from(b._listeners[a]);for(a=0;a<e.length;a++)e[a].apply(null,d)}finally{b._updating=f}}\nfunction U(a,b,c){if(!1===a._updating||Y!==a){let e=!1;a.update(()=>{e=U(a,b,c)});return e}let d=Mb(a);for(let e=4;0<=e;e--)for(let g=0;g<d.length;g++){var f=d[g]._commands.get(b);if(void 0!==f&&(f=f[e],void 0!==f)){f=Array.from(f);let h=f.length;for(let k=0;k<h;k++)if(!0===f[k](c,a))return!0}}return!1}\nfunction $d(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [f,e]=d,g;void 0!==e&&(d=e.onUpdate,g=e.tag,e.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));f()}}return b}\nfunction Zd(a,b,c){let d=a._updateTags;var f=!1;if(void 0!==c){var e=c.onUpdate;f=c.tag;null!=f&&d.add(f);f=c.skipTransforms||!1}e&&a._deferred.push(e);c=a._editorState;e=a._pendingEditorState;let g=!1;if(null===e||e._readOnly)e=a._pendingEditorState=new ae(new Map(c._nodeMap)),g=!0;let h=X,k=L,m=Y,l=a._updating;X=e;L=!1;a._updating=!0;Y=a;try{g&&!a._headless&&(e._selection=Kd(a));let n=a._compositionKey;b();f=$d(a,f);Nd(e,a);0!==a._dirtyType&&(f?Sd(e,a):Td(e,a),$d(a),dc(c,e,a._dirtyLeaves,a._dirtyElements));\nn!==a._compositionKey&&(e._flushSync=!0);let q=e._selection;if(D(q)){let v=e._nodeMap,w=q.focus.key;void 0!==v.get(q.anchor.key)&&void 0!==v.get(w)||r(19)}else bd(q)&&0===q._nodes.size&&(e._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();Wd(a);return}finally{X=h,L=k,Y=m,a._updating=l,Eb=0}0!==a._dirtyType||be(e,a)?e._flushSync?(e._flushSync=!1,Wd(a)):g&&tb(()=>{Wd(a)}):(e._flushSync=\n!1,g&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function x(a,b,c){a._updating?a._updates.push([b,c]):Zd(a,b,c)}\nfunction ce(a,b,c){J();var d=a.__key;let f=a.getParent();if(null!==f){var e=$b(a),g=!1;if(D(e)&&b){var h=e.anchor;let k=e.focus;h.key===d&&(Od(h,a,f,a.getPreviousSibling(),a.getNextSibling()),g=!0);k.key===d&&(Od(k,a,f,a.getPreviousSibling(),a.getNextSibling()),g=!0)}h=f.getWritable().__children;d=h.indexOf(d);-1===d&&r(31);Cb(a);h.splice(d,1);a.getWritable().__parent=null;D(e)&&b&&!g&&Ld(e,f,d,-1);c||bc(f)||f.canBeEmpty()||!f.isEmpty()||ce(f,b);N(f)&&f.isEmpty()&&f.selectEnd()}}\nfunction de(a){a=K(a);null===a&&r(63);return a}\nclass ee{static getType(){r(64)}static clone(){r(65)}constructor(a){this.__type=this.constructor.getType();this.__parent=null;if(null!=a)this.__key=a;else{J();99<Eb&&r(14);a=H();var b=G(),c=\"\"+sb++;b._nodeMap.set(c,this);F(this)?a._dirtyElements.set(c,!0):a._dirtyLeaves.add(c);a._cloneNotNeeded.add(c);a._dirtyType=1;this.__key=c}}getType(){return this.__type}isAttached(){for(var a=this.__key;null!==a;){if(\"root\"===a)return!0;a=K(a);if(null===a)break;a=a.__parent}return!1}isSelected(){let a=u();if(null==\na)return!1;let b=a.getNodes().some(c=>c.__key===this.__key);return C(this)?b:D(a)&&\"element\"===a.anchor.type&&\"element\"===a.focus.type&&a.anchor.key===a.focus.key&&a.anchor.offset===a.focus.offset?!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:K(a)}getParentOrThrow(){let a=this.getParent();null===a&&r(66);return a}getTopLevelElement(){let a=this;for(;null!==\na;){let b=a.getParent();if(bc(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!==b;)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:K(a[b-1])}getPreviousSiblings(){var a=this.getParent();\nif(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(0,b).map(c=>de(c))}getNextSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=a.length,c=a.indexOf(this.__key);return c>=b-1?null:K(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=>de(c))}getCommonAncestor(a){let b=this.getParents();var c=a.getParents();F(this)&&b.unshift(this);F(a)&&c.unshift(a);a=b.length;\nvar 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 f=b[d];if(c.has(f))return f}return null}is(a){return null==a?!1:this.__key===a.__key}isBefore(a){if(a.isParentOf(this))return!0;if(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;\nif(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 f=this;;){var e=f.__key;d.has(e)||(d.add(e),c.push(f));if(f===a)break;e=F(f)?b?f.getFirstChild():f.getLastChild():null;if(null!==e)f=e;else if(e=b?f.getNextSibling():f.getPreviousSibling(),null!==e)f=e;else{f=f.getParentOrThrow();d.has(f.__key)||c.push(f);if(f===a)break;e=f;do null===e&&r(68),f=b?e.getNextSibling():e.getPreviousSibling(),e=e.getParent(),\nnull!==e&&(null!==f||d.has(e.__key)||c.push(e));while(null===f)}}b||c.reverse();return c}isDirty(){let a=H()._dirtyLeaves;return null!==a&&a.has(this.__key)}getLatest(){let a=K(this.__key);null===a&&r(69);return a}getWritable(){J();var a=G(),b=H();a=a._nodeMap;let c=this.__key,d=this.getLatest(),f=d.__parent;b=b._cloneNotNeeded;var e=u();null!==e&&(e._cachedNodes=null);if(b.has(c))return Db(d),d;e=d.constructor.clone(d);e.__parent=f;F(d)&&F(e)?(e.__children=Array.from(d.__children),e.__indent=d.__indent,\ne.__format=d.__format,e.__dir=d.__dir):C(d)&&C(e)&&(e.__format=d.__format,e.__style=d.__style,e.__mode=d.__mode,e.__detail=d.__detail);b.add(c);e.__key=c;Db(e);a.set(c,e);return e}getTextContent(){return\"\"}getTextContentSize(){return this.getTextContent().length}createDOM(){r(70)}updateDOM(){r(71)}exportDOM(a){return{element:this.createDOM(a._config,a)}}exportJSON(){r(72)}static importJSON(){r(18)}remove(a){ce(this,!0,a)}replace(a){J();let b=this.__key;a=a.getWritable();Bb(a);var c=this.getParentOrThrow(),\nd=c.getWritable().__children;let f=d.indexOf(this.__key),e=a.__key;-1===f&&r(31);d.splice(f,0,e);a.__parent=c.__key;ce(this,!1);Cb(a);d=u();D(d)&&(c=d.anchor,d=d.focus,c.key===b&&id(c,a),d.key===b&&id(d,a));Fb()===b&&I(e);return a}insertAfter(a){J();var b=this.getWritable(),c=a.getWritable(),d=c.getParent();let f=u();var e=a.getIndexWithinParent(),g=!1,h=!1;null!==d&&(Bb(c),D(f)&&(h=d.__key,g=f.anchor,d=f.focus,g=\"element\"===g.type&&g.key===h&&g.offset===e+1,h=\"element\"===d.type&&d.key===h&&d.offset===\ne+1));e=this.getParentOrThrow().getWritable();d=c.__key;c.__parent=b.__parent;let k=e.__children;b=k.indexOf(b.__key);-1===b&&r(31);k.splice(b+1,0,d);Cb(c);D(f)&&(Ld(f,e,b+1),c=e.__key,g&&f.anchor.set(c,b+2,\"element\"),h&&f.focus.set(c,b+2,\"element\"));return a}insertBefore(a){var b=this.getWritable(),c=a.getWritable();Bb(c);let d=this.getParentOrThrow().getWritable(),f=c.__key;c.__parent=b.__parent;let e=d.__children;b=e.indexOf(b.__key);-1===b&&r(31);e.splice(b,0,f);Cb(c);c=u();D(c)&&Ld(c,d,b);return a}selectPrevious(a,\nb){J();let c=this.getPreviousSibling(),d=this.getParentOrThrow();return null===c?d.select(0,0):F(c)?c.select():C(c)?c.select(a,b):(a=c.getIndexWithinParent()+1,d.select(a,a))}selectNext(a,b){J();let c=this.getNextSibling(),d=this.getParentOrThrow();return null===c?d.select():F(c)?c.select(0,0):C(c)?c.select(a,b):(a=c.getIndexWithinParent(),d.select(a,a))}markDirty(){this.getWritable()}}class fe extends ee{constructor(a){super(a)}decorate(){r(47)}isIsolated(){return!1}isInline(){return!0}}\nfunction A(a){return a instanceof fe}\nclass ge extends ee{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 ab[a]||\"\"}getIndent(){return this.getLatest().__indent}getChildren(){let a=this.getLatest().__children,b=[];for(let c=0;c<a.length;c++){let d=K(a[c]);null!==d&&b.push(d)}return b}getChildrenKeys(){return this.getLatest().__children}getChildrenSize(){return this.getLatest().__children.length}isEmpty(){return 0===this.getChildrenSize()}isDirty(){let a=\nH()._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=K(b[d]);C(c)?a.push(c):F(c)&&(c=c.getAllTextNodes(),a.push(...c))}return a}getFirstDescendant(){let a=this.getFirstChild();for(;null!==a;){if(F(a)){let b=a.getFirstChild();if(null!==b){a=b;continue}}break}return a}getLastDescendant(){let a=this.getLastChild();for(;null!==\na;){if(F(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],F(a)&&a.getLastDescendant()||a||null;a=b[a];return F(a)&&a.getFirstDescendant()||a||null}getFirstChild(){let a=this.getLatest().__children;return 0===a.length?null:K(a[0])}getFirstChildOrThrow(){let a=this.getFirstChild();null===a&&r(45);return a}getLastChild(){let a=this.getLatest().__children,b=a.length;return 0===b?null:K(a[b-1])}getLastChildOrThrow(){let a=\nthis.getLastChild();if(null===a)throw Error(`Expected node ${this.__key} to have a last child.`);return a}getChildAtIndex(a){a=this.getLatest().__children[a];return void 0===a?null:K(a)}getTextContent(){let a=\"\",b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let f=b[d];a+=f.getTextContent();F(f)&&d!==c-1&&!f.isInline()&&(a+=\"\\n\\n\")}return a}getDirection(){return this.getLatest().__dir}hasFormat(a){return\"\"!==a?(a=$a[a],0!==(this.getFormat()&a)):!1}select(a,b){J();let c=u();var d=this.getChildrenSize();\nvoid 0===a&&(a=d);void 0===b&&(b=d);d=this.__key;if(D(c))c.anchor.set(d,a,\"element\"),c.focus.set(d,b,\"element\"),c.dirty=!0;else return Jd(d,a,d,b,\"element\",\"element\");return c}selectStart(){let a=this.getFirstDescendant();return F(a)||C(a)?a.select(0,0):null!==a?a.selectPrevious():this.select(0,0)}selectEnd(){let a=this.getLastDescendant();return F(a)||C(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?$a[a]:0;return this}setIndent(a){this.getWritable().__indent=a;return this}splice(a,b,c){let d=this.getWritable();var f=d.__key;let e=d.__children,g=c.length;var h=[];for(let k=0;k<g;k++){let m=c[k],l=m.getWritable();m.__key===f&&r(76);Bb(l);l.__parent=f;h.push(l.__key)}(c=this.getChildAtIndex(a-1))&&Db(c);(f=this.getChildAtIndex(a+b))&&Db(f);a===e.length?(e.push(...h),a=[]):a=e.splice(a,\nb,...h);if(a.length&&(b=u(),D(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)&&Od(l,l.getNode(),this,c,f);h(n)&&Od(n,n.getNode(),this,c,f);h=a.length;for(b=0;b<h;b++)c=K(a[b]),null!=c&&(c.getWritable().__parent=null);0!==e.length||this.canBeEmpty()||bc(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 F(a){return a instanceof ge}\nclass he extends ge{static getType(){return\"root\"}static clone(){return new he}constructor(){super(\"root\");this.__cachedText=null}getTopLevelElementOrThrow(){r(51)}getTextContent(){let a=this.__cachedText;return!L&&0!==H()._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];F(c)||A(c)||r(56)}return super.append(...a)}static importJSON(a){let b=Ib();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}}}function N(a){return a instanceof he}function be(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 ie(){return new ae(new Map([[\"root\",new he]]))}\nfunction je(a){let b=a.exportJSON();b.type!==a.constructor.getType()&&r(58);let c=b.children;if(F(a)){Array.isArray(c)||r(59);a=a.getChildren();for(let d=0;d<a.length;d++){let f=je(a[d]);c.push(f)}}return b}\nclass ae{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 Vd(this,a)}clone(a){a=new ae(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return Vd(this,()=>({root:je(Ib())}))}}\nclass ke extends ee{static getType(){return\"linebreak\"}static clone(a){return new ke(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:le,priority:0}}}}static importJSON(){return vd()}exportJSON(){return{type:\"linebreak\",version:1}}}function le(){return{node:vd()}}function vd(){return new ke}\nfunction Ab(a){return a instanceof ke}function me(a,b){return b&16?\"code\":b&32?\"sub\":b&64?\"sup\":null}function ne(a,b){return b&1?\"strong\":b&2?\"em\":\"span\"}\nfunction oe(a,b,c,d,f){a=d.classList;d=Sb(f,\"base\");void 0!==d&&a.add(...d);d=Sb(f,\"underlineStrikethrough\");let e=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(e=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in Ya)h=Ya[k],d=Sb(f,k),void 0!==d&&(c&h?!e||\"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 pe(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?Ua:\"\";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Oa){c=b.length;let f=a.length,e=0,g=0;for(;e<c&&e<f&&b[e]===a[e];)e++;for(;g+e<c&&g+e<f&&b[c-g-1]===a[f-g-1];)g++;a=[e,c-e-g,a.slice(e,f-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}\nclass qe extends ee{static getType(){return\"text\"}static clone(a){return new qe(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 cb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===Fb()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==\n(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=Ya[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 yb(c,a,b)}createDOM(a){var b=this.__format,c=me(this,b);let d=ne(this,b),f=document.createElement(null===c?d:c),e=f;null!==c&&(e=document.createElement(d),f.appendChild(e));c=e;pe(this.__text,c,this);\na=a.theme.text;void 0!==a&&oe(d,0,b,c,a);b=this.__style;\"\"!==b&&(f.style.cssText=b);return f}updateDOM(a,b,c){let d=this.__text;var f=a.__format,e=this.__format,g=me(this,f);let h=me(this,e);var k=ne(this,f);let m=ne(this,e);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return f=b.firstChild,null==f&&r(48),a=g=document.createElement(m),pe(d,a,this),c=c.theme.text,void 0!==c&&oe(m,0,e,a,c),b.replaceChild(g,f),!1;k=b;null!==h&&null!==g&&(k=b.firstChild,null==k&&r(49));pe(d,k,this);c=c.theme.text;\nvoid 0!==c&&f!==e&&oe(m,f,e,k,c);e=this.__style;a.__style!==e&&(b.style.cssText=e);return!1}static importDOM(){return{\"#text\":()=>({conversion:re,priority:0}),b:()=>({conversion:se,priority:0}),code:()=>({conversion:te,priority:0}),em:()=>({conversion:te,priority:0}),i:()=>({conversion:te,priority:0}),span:()=>({conversion:xe,priority:0}),strong:()=>({conversion:te,priority:0}),u:()=>({conversion:te,priority:0})}}static importJSON(a){let b=M(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?Ya[a]:a;return b}setDetail(a){let b=this.getWritable();b.__detail=\"string\"===typeof a?Za[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){a=Ya[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=bb[a];let b=this.getWritable();b.__mode=a;return b}setTextContent(a){let b=this.getWritable();b.__text=a;return b}select(a,b){J();let c=u();var d=this.getTextContent();let f=this.__key;\"string\"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(D(c))d=Fb(),d!==c.anchor.key&&d!==c.focus.key||I(f),c.setTextNodeRange(this,a,this,b);\nelse return Jd(f,a,f,b,\"text\",\"text\");return c}spliceText(a,b,c,d){let f=this.getWritable(),e=f.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=u();d&&D(k)&&(a+=g,k.setTextNodeRange(f,a,f,a));b=e.slice(0,h)+c+e.slice(h+b);f.__text=b;return f}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){J();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,f=Fb(),e=new Set(a);a=[];var g=c.length,h=\"\";for(var k=0;k<g;k++)\"\"!==h&&e.has(k)&&(a.push(h),h=\"\"),h+=c[k];\"\"!==h&&a.push(h);\ne=a.length;if(0===e)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=M(m),h.__parent=k,h.__format=l,h.__style=n,h.__detail=q,g=!0):(h=b.getWritable(),h.__text=m);b=u();h=[h];m=m.length;for(let y=1;y<e;y++){var v=a[y],w=v.length;v=M(v).getWritable();v.__format=l;v.__style=n;v.__detail=q;let z=v.__key;w=m+w;if(D(b)){let B=b.anchor,E=b.focus;B.key===d&&\"text\"===B.type&&B.offset>m&&B.offset<=w&&(B.key=z,\nB.offset-=m,b.dirty=!0);E.key===d&&\"text\"===E.type&&E.offset>m&&E.offset<=w&&(E.key=z,E.offset-=m,b.dirty=!0)}f===d&&I(z);m=w;v.__parent=k;h.push(v)}Cb(this);f=c.getWritable().__children;d=f.indexOf(d);a=h.map(y=>y.__key);g?(f.splice(d,0,...a),this.remove()):f.splice(d,1,...a);D(b)&&Ld(b,c,d,e-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||a===this.getNextSibling()||r(50);var c=this.__key;let d=a.__key,f=this.__text,e=f.length;Fb()===d&&I(c);let g=u();if(D(g)){let h=g.anchor,\nk=g.focus;null!==h&&h.key===d&&(Pd(h,b,c,a,e),g.dirty=!0);null!==k&&k.key===d&&(Pd(k,b,c,a,e),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+f:f+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}\nfunction xe(a){let b=\"700\"===a.style.fontWeight,c=\"line-through\"===a.style.textDecoration,d=\"italic\"===a.style.fontStyle,f=\"underline\"===a.style.textDecoration,e=a.style.verticalAlign;return{forChild:g=>{if(!C(g))return g;b&&g.toggleFormat(\"bold\");c&&g.toggleFormat(\"strikethrough\");d&&g.toggleFormat(\"italic\");f&&g.toggleFormat(\"underline\");\"sub\"===e&&g.toggleFormat(\"subscript\");\"super\"===e&&g.toggleFormat(\"superscript\");return g},node:null}}\nfunction se(a){let b=\"normal\"===a.style.fontWeight;return{forChild:c=>{C(c)&&!b&&c.toggleFormat(\"bold\");return c},node:null}}function re(a,b,c){a=a.textContent||\"\";return!c&&/\\n/.test(a)&&(a=a.replace(/\\r?\\n/gm,\" \"),0===a.trim().length)?{node:null}:{node:M(a)}}let ye={code:\"code\",em:\"italic\",i:\"italic\",strong:\"bold\",u:\"underline\"};function te(a){let b=ye[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{C(c)&&c.toggleFormat(b);return c},node:null}}\nfunction M(a=\"\"){return new qe(a)}function C(a){return a instanceof qe}\nclass ze extends ge{static getType(){return\"paragraph\"}static clone(a){return new ze(a.__key)}createDOM(a){let b=document.createElement(\"p\");a=Sb(a.theme,\"paragraph\");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:Ae,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=kd();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=kd(),b=this.getDirection();a.setDirection(b);this.insertAfter(a);return a}collapseAtStart(){let a=this.getChildren();if(0===a.length||C(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 Ae(){return{node:kd()}}function kd(){return new ze}\nfunction Xd(a,b,c,d){let f=a._keyToDOMMap;f.clear();a._editorState=ie();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=\"\",f.set(\"root\",c))}\nfunction Be(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 f=d();null!==f&&Object.keys(f).forEach(e=>{let g=b.get(e);void 0===g&&(g=[],b.set(e,g));g.push(f[e])})}});return b}\nclass Ce{constructor(a,b,c,d,f,e){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=Nb();this._onError=f;this._htmlConversions=e;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 f=d.get(a);void 0===f&&r(36);let e=f[c];e.add(b);return()=>{e.delete(b);f.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);Jb(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 U(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=\nthis._rootElement;if(a!==b){var c=this._pendingEditorState||this._editorState;this._rootElement=a;Xd(this,b,a,c);if(null!==b&&!this._config.disableEvents){0!==Rc&&(Rc--,0===Rc&&b.ownerDocument.removeEventListener(\"selectionchange\",ed));c=b.__lexicalEditor;if(null!==c&&void 0!==c){if(null!==c._parentEditor){var d=Mb(c);d=d[d.length-1]._key;dd.get(d)===c&&dd.delete(d)}else dd.delete(c._key);b.__lexicalEditor=null}c=cd(b);for(d=0;d<c.length;d++)c[d]();b.__lexicalEventHandles=[]}null!==a?(c=(c=a.ownerDocument)&&\nc.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,qb(this),this._updateTags.add(\"history-merge\"),Wd(this),this._config.disableEvents||gd(a,this)):this._window=null;Yd(\"root\",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&r(38);ob(this);let c=this._pendingEditorState,d=this._updateTags;\nb=void 0!==b?b.tag:null;null===c||c.isEmpty()||(null!=b&&d.add(b),Wd(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set(\"root\",!1);this._compositionKey=null;null!=b&&d.add(b);Wd(this)}parseEditorState(a,b){a=\"string\"===typeof a?JSON.parse(a):a;let c=ie(),d=X,f=L,e=Y,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=new Set;this._cloneNotNeeded=new Set;this._dirtyType=0;X=c;L=!1;Y=this;try{Ud(a.root,\nthis._nodes),b&&b(),c._readOnly=!0}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,X=d,L=f,Y=e}return c}update(a,b){x(this,a,b)}focus(a,b={}){let c=this._rootElement;null!==c&&(c.setAttribute(\"autocapitalize\",\"off\"),x(this,()=>{let d=u(),f=Ib();null!==d?d.dirty=!0:0!==f.getChildrenSize()&&(\"rootStart\"===b.defaultSelection?f.selectStart():f.selectEnd())},{onUpdate:()=>{c.removeAttribute(\"autocapitalize\");a&&a()}}),null===this._pendingEditorState&&c.removeAttribute(\"autocapitalize\"))}blur(){var a=\nthis._rootElement;null!==a&&a.blur();a=window.getSelection();null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,Yd(\"editable\",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}class De extends ge{constructor(a,b){super(b);this.__colSpan=a}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan}}}function td(a){return a instanceof De}class Ee extends ge{}function rd(a){return a instanceof Ee}\nclass Fe extends ge{}function sd(a){return a instanceof Fe}exports.$addUpdateTag=function(a){J();H()._updateTags.add(a)};exports.$createLineBreakNode=vd;exports.$createNodeSelection=yd;exports.$createParagraphNode=kd;exports.$createRangeSelection=function(){let a=new W(\"root\",0,\"element\"),b=new W(\"root\",0,\"element\");return new nd(a,b,0)};exports.$createTextNode=M;exports.$getDecoratorNode=Vb;exports.$getNearestNodeFromDOMNode=jb;exports.$getNodeByKey=K;exports.$getPreviousSelection=Pb;\nexports.$getRoot=Ib;exports.$getSelection=u;exports.$hasAncestor=ac;exports.$insertNodes=function(a,b){let c=u();null===c&&(c=Ib().selectEnd());return c.insertNodes(a,b)};exports.$isDecoratorNode=A;exports.$isElementNode=F;exports.$isInlineElementOrDecoratorNode=function(a){return F(a)&&a.isInline()||A(a)&&a.isInline()};exports.$isLeafNode=zb;exports.$isLineBreakNode=Ab;exports.$isNodeSelection=bd;exports.$isParagraphNode=function(a){return a instanceof ze};exports.$isRangeSelection=D;\nexports.$isRootNode=N;exports.$isRootOrShadowRoot=bc;exports.$isTextNode=C;exports.$nodesOfType=function(a){var b=G();let c=b._readOnly,d=a.getType();b=b._nodeMap;let f=[];for(let [,e]of b)e instanceof a&&e.__type===d&&(c||e.isAttached())&&f.push(e);return f};exports.$parseSerializedNode=function(a){return Ud(a,H()._nodes)};exports.$setCompositionKey=I;exports.$setSelection=mb;exports.BLUR_COMMAND=Ka;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};\nexports.CLEAR_HISTORY_COMMAND={};exports.CLICK_COMMAND=ba;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=fa;exports.COPY_COMMAND=Ha;exports.CUT_COMMAND=Ia;exports.DELETE_CHARACTER_COMMAND=ca;exports.DELETE_LINE_COMMAND=la;exports.DELETE_WORD_COMMAND=ka;\nexports.DEPRECATED_$createGridSelection=function(){let a=new W(\"root\",0,\"element\"),b=new W(\"root\",0,\"element\");return new od(\"root\",a,b)};exports.DEPRECATED_$isGridCellNode=td;exports.DEPRECATED_$isGridNode=rd;exports.DEPRECATED_$isGridRowNode=sd;exports.DEPRECATED_$isGridSelection=pd;exports.DEPRECATED_GridCellNode=De;exports.DEPRECATED_GridNode=Ee;exports.DEPRECATED_GridRowNode=Fe;exports.DRAGEND_COMMAND=Ga;exports.DRAGOVER_COMMAND=Fa;exports.DRAGSTART_COMMAND=Ea;exports.DROP_COMMAND=Da;\nexports.DecoratorNode=fe;exports.ElementNode=ge;exports.FOCUS_COMMAND=Ja;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=p;exports.INDENT_CONTENT_COMMAND={};exports.INSERT_LINE_BREAK_COMMAND=da;exports.INSERT_PARAGRAPH_COMMAND=ea;exports.KEY_ARROW_DOWN_COMMAND=ta;exports.KEY_ARROW_LEFT_COMMAND=qa;exports.KEY_ARROW_RIGHT_COMMAND=oa;exports.KEY_ARROW_UP_COMMAND=sa;exports.KEY_BACKSPACE_COMMAND=za;exports.KEY_DELETE_COMMAND=Ba;exports.KEY_ENTER_COMMAND=xa;exports.KEY_ESCAPE_COMMAND=Aa;\nexports.KEY_MODIFIER_COMMAND=La;exports.KEY_SPACE_COMMAND=ya;exports.KEY_TAB_COMMAND=Ca;exports.LineBreakNode=ke;exports.MOVE_TO_END=pa;exports.MOVE_TO_START=ra;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=ha;exports.ParagraphNode=ze;exports.REDO_COMMAND=na;exports.REMOVE_TEXT_COMMAND=ia;exports.RootNode=he;exports.SELECTION_CHANGE_COMMAND=aa;exports.TextNode=qe;exports.UNDO_COMMAND=ma;exports.VERSION=\"0.4.1\";exports.createCommand=function(){return{}};\nexports.createEditor=function(a){var b=a||{},c=Y,d=b.theme||{};let f=void 0===a?c:b.parentEditor||null,e=b.disableEvents||!1,g=ie(),h=b.namespace||(null!==f?f._config.namespace:Nb()),k=b.editorState,m=[he,qe,ke,ze,...(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 n=m[c],q=n.getType();a.set(q,{klass:n,transforms:new Set})}d=new Ce(g,f,a,{disableEvents:e,namespace:h,theme:d},l?l:console.error,Be(a),b);void 0!==\nk&&(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 n(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 p(a,b){for(;a!==l.$getRoot()&&null!=a;){if(b(a))return a;a=a.getParent()}return null}\nfunction q(a,b,e,f,d){var c=e._nodes.get(a.__type);void 0===c&&n(5);for(var h in a){var k=a[h];if(null!=k&&\"object\"===typeof k&&(k=k.editorState,null!=k)){var g=l.createEditor({namespace:k.namespace});g._nodes=e._nodes;g._parentEditor=e._parentEditor;g._pendingEditorState=r(g,k);a[h]=g}}c=c.klass;h=a.__key;a.__key=void 0;c=c.clone(a);a.__key=h;h=c.__key;d._nodeMap.set(h,c);c.__parent=f;if(l.$isElementNode(c)){f=a.__children;for(k=0;k<f.length;k++)g=b.get(f[k]),void 0!==g&&(g=q(g,b,e,h,d).__key,c.__children.push(g));\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 t(a,b){let e=b._editorState.constructor,f=new Map,d=new e(f),c=new Map(a._nodeMap),h=c.get(\"root\");a=b._updating;try{b._updating=!1,b.update(()=>{let k=b._dirtyElements,g=b._dirtyLeaves,m=b._dirtyType;b._dirtyElements=new Map;b._dirtyLeaves=new Set;b._dirtyType=0;try{q(h,c,b,null,d)}finally{b._dirtyElements=k,b._dirtyLeaves=g,b._dirtyType=m}})}finally{b._updating=a}d._readOnly=!0;return d}function r(a,b){b=\"string\"===typeof b?JSON.parse(b):b;return t(b,a)}\nexports.$dfs=function(a,b){let e=[];a=(a||l.$getRoot()).getLatest();b=b||(l.$isElementNode(a)?a.getLastDescendant():a);for(var f=a,d=0;null!==(f=f.getParent());)d++;for(f=d;null!==a&&!a.is(b);)if(e.push({depth:f,node:a}),l.$isElementNode(a)&&0<a.getChildrenSize())a=a.getFirstChild(),f++;else for(d=null;null===d&&null!==a;)d=a.getNextSibling(),null===d?(a=a.getParent(),f--):a=d;null!==a&&a.is(b)&&e.push({depth:f,node:a});return e};exports.$findMatchingParent=p;\nexports.$getNearestBlockElementAncestorOrThrow=function(a){a=p(a,b=>l.$isElementNode(b)&&!b.isInline());l.$isElementNode(a)||n(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();l.$isRangeSelection(b)?b.focus.getNode().getTopLevelElementOrThrow().insertAfter(a):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();return a.getLatest()};\nexports.$restoreEditorState=function(a,b){let e=new Map(b._nodeMap),f=a._pendingEditorState;f&&(f._nodeMap=e);a._dirtyType=2;a=b._selection;l.$setSelection(null===a?null:a.clone())};exports.$wrapNodeInElement=function(a,b){b=b();a.replace(b);b.append(a);return b};exports.addClassNamesToElement=function(a,...b){b.forEach(e=>{\"string\"===typeof e&&a.classList.add(...e.split(\" \"))})};exports.mergeRegister=function(...a){return()=>{a.forEach(b=>b())}};\nexports.registerNestedElementResolver=function(a,b,e,f){return a.registerNodeTransform(b,d=>{a:{var c=d.getChildren();for(var h=0;h<c.length;h++)if(c[h]instanceof b){c=null;break a}for(c=d;null!==c;)if(h=c,c=c.getParent(),c instanceof b){c={child:h,parent:c};break a}c=null}if(null!==c){const {child:k,parent:g}=c;if(k.is(d)){f(g,d);d=k.getNextSiblings();c=d.length;g.insertAfter(k);if(0!==c){h=e(g);k.insertAfter(h);for(let m=0;m<c;m++)h.append(d[m])}g.canBeEmpty()||0!==g.getChildrenSize()||g.remove()}}})};\nexports.removeClassNamesFromElement=function(a,...b){b.forEach(e=>{\"string\"===typeof e&&a.classList.remove(...e.split(\" \"))})};exports.unstable_convertLegacyJSONEditorState=r\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\"),l=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){(b||a.getChildren()).forEach(c=>{let d=c.getValue();var e=c.getParent();var f=1;null!=e&&(q(e)?f=e.getStart():m(44));e=c.getPreviousSiblings();for(let g=0;g<e.length;g++){let k=e[g];p(k)&&!q(k.getFirstChild())&&f++}d!==f&&c.setValue(f)})}\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(),k=E(d.getListType());g.append(k);k.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 k=c.getListType();f=z();let x=E(k);f.append(x);b.getPreviousSiblings().forEach(y=>x.append(y));g=z();k=E(k);g.append(k);C(k,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 k=c.getChecked();f&&!k||e.push(b.listitemUnchecked);f&&k||e.push(b.listitemChecked);f&&d.push(k?b.listitemChecked:b.listitemUnchecked)}void 0!==g&&(g=g.split(\" \"),c.getChildren().some(k=>q(k))?d.push(...g):e.push(...g));0<e.length&&l.removeClassNamesFromElement(a,...e);0<d.length&&l.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 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):(b=h.$createTextNode(b.getTextContent()),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 k=f[`${c.__tag}Depth`]||[];b=n(c)-1;let x=b%k.length;var g=k[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<k.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&&l.removeClassNamesFromElement(a,...e);0<d.length&&l.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 new N(a,b)}function q(a){return a instanceof N}let S=h.createCommand(),T=h.createCommand(),U=h.createCommand(),V=h.createCommand();exports.$createListItemNode=z;\nexports.$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)){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,b);else if(h.$isLeafNode(f))for(f=\nf.getParent();null!=f;){let k=f.getKey();if(q(f)){if(!c.has(k)){var g=E(b);C(g,f.getChildren());f.replace(g);F(g);c.add(k)}break}else{g=f.getParent();if(h.$isRootOrShadowRoot(g)&&!c.has(k)){c.add(k);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=l.$getNearestNodeOfType(f,J),null!=f&&c.add(r(f)))}for(let g of c){c=g;d=t(g);for(let k of d)d=h.$createParagraphNode(),C(d,k.getChildren()),c.insertAfter(d),c=d,k.__key===b.anchor.key&&b.anchor.set(d.getKey(),0,\"element\"),k.__key===b.focus.key&&b.focus.set(d.getKey(),0,\"element\"),\nk.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 r=new Map;function u(a){a=a.getLatest();let b=a.constructor.clone(a);b.__parent=a.__parent;l.$isElementNode(a)&&l.$isElementNode(b)?(b.__children=Array.from(a.__children),b.__format=a.__format,b.__indent=a.__indent,b.__dir=a.__dir):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 v(a,b,c,g,d,f){for(var h=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 e=a.getKey(),k=f.get(e),m=void 0===k;m&&(k=u(a),f.set(e,k));!l.$isTextNode(k)||k.isSegmented()||k.isToken()?l.$isElementNode(k)&&(k.__children=k.__children.slice(g?h:0,g?void 0:(h||0)+1)):k.__text=k.__text.slice(g?h:0,g?c:h);if(l.$isRootNode(b)){m&&d.push(e);break}}h=f.get(b.getKey());h=l.$isElementNode(h)?\nh.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=b}}\nfunction x(a){if(l.$isRangeSelection(a)){var b=a.anchor,c=a.focus;let [k,m]=a.getCharacterOffsets();a=a.getNodes();if(0===a.length)return{nodeMap:[],range:[]};let p=a.length;var g=a[0],d=g.getParent();if(null!==d&&(!d.canBeEmpty()||l.$isRootNode(d))){var f=d.__children;if(f.length===p){var h=!0;for(var e=0;e<f.length;e++)if(f[e]!==a[e].__key){h=!1;break}h&&(p++,a.push(d))}}d=a[p-1];b=b.isBefore(c);c=new Map;f=[];h=l.$isTextNode(g)&&1===p;v(g,b?k:m,h?b?m:k:void 0,!0,f,c);for(g=0;g<p;g++){e=a[g];let n=\ne.getKey();if(!(c.has(n)||l.$isElementNode(e)&&e.excludeFromCopy(\"clone\"))){let w=u(e);l.$isRootNode(e.getParent())&&f.push(e.getKey());\"root\"!==n&&c.set(n,w)}}v(d,h?void 0:b?m:k,void 0,!1,f,c);return{nodeMap:Array.from(c.entries()),range:f}}if(l.DEPRECATED_$isGridSelection(a))return{nodeMap:a.getNodes().map(k=>{const m=k.getKey();k=u(k);return[m,k]}),range:[a.gridKey]};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.\");\n}function y(a){let b=r.get(a);void 0===b&&(b=z(a),r.set(a,b));return b}function z(a){let b={};a=a.split(\";\");for(let c of a)if(\"\"!==c){let [g,d]=c.split(/:([^]+)/);b[g.trim()]=d.trim()}return b}function A(a,b){var c=y(a.getStyle());b=c?{...c,...b}:b;c=\"\";for(g in b)g&&(c+=`${g}: ${b[g]};`);var g=c;a.setStyle(g);r.set(g,b)}function B(a,b,c,g){a.modify(b?\"extend\":\"move\",c,g)}function C(a){a=a.anchor.getNode();return\"rtl\"===(l.$isRootNode(a)?a:a.getParentOrThrow()).getDirection()}\nfunction E(a){for(;null!==a&&!l.$isRootOrShadowRoot(a);){let b=a.getLatest(),c=a.getParent();0===b.__children.length&&a.remove(!0);a=c}}\nfunction F(a,b,c,g,d=null){if(0!==b.length){var f=b[0],h=new Map,e=[];f=l.$isElementNode(f)?f:f.getParentOrThrow();f.isInline()&&(f=f.getParentOrThrow());for(var k=!1;null!==f;){var m=f.getPreviousSibling();if(null!==m){f=m;k=!0;break}f=f.getParentOrThrow();if(l.$isRootOrShadowRoot(f))break}m=new Set;for(var p=0;p<c;p++){var n=b[p];l.$isElementNode(n)&&0===n.getChildrenSize()&&m.add(n.getKey())}var w=new Set;for(p=0;p<c;p++){n=b[p];var q=n.getParent();null!==q&&q.isInline()&&(q=q.getParent());if(null!==\nq&&l.$isLeafNode(n)&&!w.has(n.getKey())){if(n=q.getKey(),void 0===h.get(n)){let t=g();t.setFormat(q.getFormatType());t.setIndent(q.getIndent());e.push(t);h.set(n,t);q.getChildren().forEach(D=>{t.append(D);w.add(D.getKey())});E(q)}}else m.has(n.getKey())&&(q=g(),q.setFormat(n.getFormatType()),q.setIndent(n.getIndent()),e.push(q),n.remove(!0))}if(null!==d)for(b=0;b<e.length;b++)d.append(e[b]);if(l.$isRootOrShadowRoot(f))if(k)if(null!==d)f.insertAfter(d);else for(d=e.length-1;0<=d;d--)f.insertAfter(e[d]);\nelse if(b=f.getFirstChild(),l.$isElementNode(b)&&(f=b),null===b)if(d)f.append(d);else for(d=0;d<e.length;d++)f.append(e[d]);else if(null!==d)b.insertBefore(d);else for(f=0;f<e.length;f++)b.insertBefore(e[f]);else if(d)f.insertAfter(d);else for(d=e.length-1;0<=d;d--)f.insertAfter(e[d]);e=l.$getPreviousSelection();l.$isRangeSelection(e)&&e.anchor.getNode().isAttached()&&e.focus.getNode().isAttached()?l.$setSelection(e.clone()):a.dirty=!0}}\nfunction G(a){for(;null!=a;){if(a.nodeType===Node.TEXT_NODE)return a;a=a.firstChild}return null}function H(a){let b=a.parentNode;if(null==b)throw Error(\"Should never happen\");return[b,Array.from(b.childNodes).indexOf(a)]}exports.$addNodeStyle=function(a){a=a.getStyle();let b=z(a);r.set(a,b)};exports.$cloneContents=function(a){return x(a)};exports.$cloneWithProperties=u;\nexports.$getSelectionStyleValueForProperty=function(a,b,c=\"\"){let g=null,d=a.getNodes();var f=a.anchor,h=a.focus,e=a.isBackward();a=e?h.offset:f.offset;f=e?h.getNode():f.getNode();for(h=0;h<d.length;h++){var k=d[h];if((0===h||0!==a||!k.is(f))&&l.$isTextNode(k)){e=b;var m=c;k=k.getStyle();k=y(k);e=null!==k?k[e]||m:m;if(null===g)g=e;else if(g!==e){g=\"\";break}}}return null===g?c:g};exports.$isAtNodeEnd=function(a){return\"text\"===a.type?a.offset===a.getNode().getTextContentSize():a.offset===a.getNode().getChildrenSize()};\nexports.$isParentElementRTL=C;exports.$moveCaretSelection=B;exports.$moveCharacter=function(a,b,c){let g=C(a);B(a,b,c?!g:g,\"character\")};\nexports.$patchStyleText=function(a,b){var c=a.getNodes();let g=c.length-1,d=c[0],f=c[g];if(!a.isCollapsed()){var h=a.anchor,e=a.focus;a=d.getTextContent().length;var k=e.offset,m=h.offset;h=(e=h.isBefore(e))?m:k;e=e?k:m;if(h===d.getTextContentSize()){let p=d.getNextSibling();l.$isTextNode(p)&&(h=m=0,d=p)}if(d.is(f))l.$isTextNode(d)&&(h=m>k?k:m,e=m>k?m:k,h!==e&&(0===h&&e===a?(A(d,b),d.select(h,e)):(c=d.splitText(h,e),c=0===h?c[0]:c[1],A(c,b),c.select(0,e-h))));else for(l.$isTextNode(d)&&(0!==h&&(d=\nd.splitText(h)[1]),A(d,b)),l.$isTextNode(f)&&(a=f.getTextContent().length,e!==a&&([f]=f.splitText(e)),0!==e&&A(f,b)),a=1;a<g;a++)k=c[a],m=k.getKey(),l.$isTextNode(k)&&m!==d.getKey()&&m!==f.getKey()&&!k.isToken()&&A(k,b)}};\nexports.$selectAll=function(a){let b=a.anchor;a=a.focus;var c=b.getNode().getTopLevelElementOrThrow().getParentOrThrow();let g=c.getFirstDescendant();c=c.getLastDescendant();let d=\"element\",f=\"element\",h=0;l.$isTextNode(g)?d=\"text\":l.$isElementNode(g)||null===g||(g=g.getParentOrThrow());l.$isTextNode(c)?(f=\"text\",h=c.getTextContentSize()):l.$isElementNode(c)||null===c||(c=c.getParentOrThrow());g&&c&&(b.set(g.getKey(),0,d),a.set(c.getKey(),h,f))};\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(),g=a.focus.getNode(),d=b.is(c),f=b.is(g);if(d||f){d=a.isBackward();let [h,e]=a.getCharacterOffsets();a=c.is(g);f=b.is(d?g:c);g=b.is(d?c:g);c=0;let k=void 0;a?(c=h>e?e:h,k=h>e?h:e):f?(c=d?e:h,k=void 0):g&&(d=d?h:e,c=0,k=d);b.__text=b.__text.slice(c,k)}}return b};\nexports.$wrapNodes=function(a,b,c=null){var g=a.getNodes();let d=g.length;var f=a.anchor;if(0===d||1===d&&\"element\"===f.type&&0===f.getNode().getChildrenSize()){a=\"text\"===f.type?f.getNode().getParentOrThrow():f.getNode();g=a.getChildren();let e=b();e.setFormat(a.getFormatType());e.setIndent(a.getIndent());g.forEach(k=>e.append(k));c&&(e=c.append(e));a.replace(e)}else{f=null;var h=[];for(let e=0;e<d;e++){let k=g[e];l.$isRootOrShadowRoot(k)?(F(a,h,h.length,b,c),h=[],f=k):null===f||null!==f&&l.$hasAncestor(k,\nf)?h.push(k):(F(a,h,h.length,b,c),h=[k])}F(a,h,h.length,b,c)}};exports.$wrapNodesImpl=F;\nexports.createDOMRange=function(a,b,c,g,d){let f=b.getKey(),h=g.getKey(),e=document.createRange(),k=a.getElementByKey(f);a=a.getElementByKey(h);l.$isTextNode(b)&&(k=G(k));l.$isTextNode(g)&&(a=G(a));if(void 0===b||void 0===g||null===k||null===a)return null;\"BR\"===k.nodeName&&([k,c]=H(k));\"BR\"===a.nodeName&&([a,d]=H(a));b=k.firstChild;k===a&&null!=b&&\"BR\"===b.nodeName&&0===c&&0===d&&(d=1);try{e.setStart(k,c),e.setEnd(a,d)}catch(m){return null}!e.collapsed||c===d&&f===h||(e.setStart(a,d),e.setEnd(k,\nc));return e};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 g=b.length,d;for(let f=0;f<g;f++){let h=b[f],e=h.width+c===a.width;d&&d.top===h.top&&d.left===h.left&&d.width===h.width&&d.height===h.height||e?(b.splice(f--,1),g--):d=h}return b};exports.getStyleObjectFromCSS=y;\nexports.trimTextContentFromAnchor=function(a,b,c){let g=b.getNode();if(l.$isElementNode(g)){var d=g.getDescendantByIndex(b.offset);null!==d&&(g=d)}for(;0<c&&null!==g;){var f=g.getPreviousSibling(),h=0;if(null===f){d=g.getParentOrThrow();for(var e=d.getPreviousSibling();null===e;){d=d.getParent();if(null===d){f=null;break}e=d.getPreviousSibling()}null!==d&&(h=d.isInline()?0:2,f=l.$isElementNode(e)?e.getLastDescendant():e)}let k=g.getTextContent();\"\"===k&&l.$isElementNode(g)&&!g.isInline()&&(k=\"\\n\\n\");\nd=k.length;e=d-c;let m=k.slice(0,e);if(!l.$isTextNode(g)||c>=d)e=g.getParent(),g.remove(),null!=e&&0===e.getChildrenSize()&&e.remove(),c-=d+h,g=f;else{let p=g.getKey();f=a.getEditorState().read(()=>{const n=l.$getNodeByKey(p);return l.$isTextNode(n)&&n.isSimpleText()?n.getTextContent():null});null!==f&&f!==k?(c=l.$getPreviousSelection(),d=g,g.isSimpleText()?g.setTextContent(f):(d=l.$createTextNode(f),g.replace(d)),l.$isRangeSelection(c)&&c.isCollapsed()&&(c=c.anchor.offset,d.select(c,c))):g.isSimpleText()?\n(f=b.key===p,h=b.offset,h<c&&(h=d),c=f?h-c:0,d=f?h:e,f&&0===c?([c]=g.splitText(c,d),c.remove()):([,c]=g.splitText(c,d),c.remove())):(c=l.$createTextNode(m),g.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(null==document||null==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 c=require(\"@lexical/html\"),n=require(\"@lexical/list\"),r=require(\"@lexical/selection\"),y=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,b,d){(z.DEPRECATED_$isGridSelection(d)||null!==y.$findMatchingParent(d.anchor.getNode(),g=>z.DEPRECATED_$isGridCellNode(g))&&null!==y.$findMatchingParent(d.focus.getNode(),g=>z.DEPRECATED_$isGridCellNode(g)))&&1===b.length&&z.DEPRECATED_$isGridNode(b[0])?E(b,d,!1,a):F(b,d)}\nfunction F(a,b){let d=[],g=null,e=null;for(let h=0;h<a.length;h++){let f=a[h];n.$isListItemNode(f)?(null==e&&(e=n.$createListNode(\"bullet\"),d.push(e)),e.append(f)):(null!=e&&(e=null),z.$isDecoratorNode(f)&&f.isInline()||z.$isElementNode(f)&&f.isInline()||z.$isTextNode(f)||z.$isLineBreakNode(f)?(null===g&&(g=z.$createParagraphNode(),d.push(g)),null!==g&&g.append(f)):(d.push(f),g=null))}z.$isRangeSelection(b)?b.insertNodes(d):z.DEPRECATED_$isGridSelection(b)&&(a=b.anchor.getNode(),z.DEPRECATED_$isGridCellNode(a)||\nA(41),a.append(...d))}\nfunction E(a,b,d,g){1===a.length&&z.DEPRECATED_$isGridNode(a[0])||A(42);var e=a[0];a=e.getChildren();d=e.getFirstChildOrThrow().getChildrenSize();var h=e.getChildrenSize(),f=y.$findMatchingParent(b.anchor.getNode(),l=>z.DEPRECATED_$isGridCellNode(l));b=(e=f&&y.$findMatchingParent(f,l=>z.DEPRECATED_$isGridRowNode(l)))&&y.$findMatchingParent(e,l=>z.DEPRECATED_$isGridNode(l));z.DEPRECATED_$isGridCellNode(f)&&z.DEPRECATED_$isGridRowNode(e)&&z.DEPRECATED_$isGridNode(b)||A(43);var k=e.getIndexWithinParent(),\np=Math.min(b.getChildrenSize()-1,k+h-1);h=f.getIndexWithinParent();f=Math.min(e.getChildrenSize()-1,h+d-1);d=Math.min(h,f);e=Math.min(k,p);h=Math.max(h,f);k=Math.max(k,p);p=b.getChildren();f=0;let m,q;for(let l=e;l<=k;l++){var w=p[l];z.DEPRECATED_$isGridRowNode(w)||A(24);var x=a[f];z.DEPRECATED_$isGridRowNode(x)||A(24);w=w.getChildren();x=x.getChildren();let C=0;for(let t=d;t<=h;t++){let u=w[t];z.DEPRECATED_$isGridCellNode(u)||A(25);let D=x[C];z.DEPRECATED_$isGridCellNode(D)||A(25);l===e&&t===d?m=\nu.getKey():l===k&&t===h&&(q=u.getKey());let J=u.getChildren();D.getChildren().forEach(v=>{z.$isTextNode(v)&&z.$createParagraphNode().append(v);u.append(v)});J.forEach(v=>v.remove());C++}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 G(a,b,d,g=[]){let e=null!=b?d.isSelected():!0,h=z.$isElementNode(d)&&d.excludeFromCopy(\"html\");var f=d;if(null!==b){var k=r.$cloneWithProperties(d);f=k=z.$isTextNode(k)&&null!=b?r.$sliceSelectedTextNodeContent(b,k):k}let p=z.$isElementNode(f)?f.getChildren():[];var m=f;k=m.exportJSON();k.type!==m.constructor.getType()&&A(58);var q=k.children;z.$isElementNode(m)&&(Array.isArray(q)||A(59));z.$isTextNode(f)&&(k.text=f.__text);for(f=0;f<p.length;f++)m=p[f],q=G(a,b,m,k.children),!e&&z.$isElementNode(d)&&\nq&&d.extractWithChild(m,b,\"clone\")&&(e=!0);if(e&&!h)g.push(k);else if(Array.isArray(k.children))for(a=0;a<k.children.length;a++)g.push(k.children[a]);return e}function H(a,b){let d=[],g=z.$getRoot().getChildren();for(let e=0;e<g.length;e++)G(a,b,g[e],d);return{namespace:a._config.namespace,nodes:d}}function I(a){let b=[];for(let d=0;d<a.length;d++){let g=z.$parseSerializedNode(a[d]);z.$isTextNode(g)&&r.$addNodeStyle(g);b.push(g)}return b}exports.$generateJSONFromSelectedNodes=H;\nexports.$generateNodesFromSerializedNodes=I;exports.$getHtmlContent=function(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:c.$generateHtmlFromNodes(a,b)};exports.$getLexicalContent=function(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(H(a,b))};\nexports.$insertDataTransferForPlainText=function(a,b){a=a.getData(\"text/plain\");null!=a&&b.insertRawText(a)};\nexports.$insertDataTransferForRichText=function(a,b,d){var g=a.getData(\"application/x-lexical-editor\");if(g)try{let h=JSON.parse(g);if(h.namespace===d._config.namespace&&Array.isArray(h.nodes)){let f=I(h.nodes);return B(d,f,b)}}catch{}if(g=a.getData(\"text/html\"))try{var e=(new DOMParser).parseFromString(g,\"text/html\");let h=c.$generateNodesFromDOM(d,e);return B(d,h,b)}catch{}a=a.getData(\"text/plain\");if(null!=a)if(z.$isRangeSelection(b))for(a=a.split(/\\r?\\n/),d=a.length,e=0;e<d;e++)b.insertText(a[e]),\ne<d-1&&b.insertParagraph();else b.insertRawText(a)};exports.$insertGeneratedNodes=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 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 b=require(\"@lexical/clipboard\"),f=require(\"@lexical/selection\"),g=require(\"@lexical/utils\"),h=require(\"lexical\");let l=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,m=l&&\"documentMode\"in document?document.documentMode:null;l&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);l&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);\nlet n=l&&\"InputEvent\"in window&&!m?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,p=l&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),q=l&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;\nclass r extends h.ElementNode{static getType(){return\"quote\"}static clone(a){return new r(a.__key)}constructor(a){super(a)}createDOM(a){let c=document.createElement(\"blockquote\");g.addClassNamesToElement(c,a.theme.quote);return c}updateDOM(){return!1}static importDOM(){return{blockquote:()=>({conversion:t,priority:0})}}static importJSON(a){let c=w();c.setFormat(a.format);c.setIndent(a.indent);c.setDirection(a.direction);return c}exportJSON(){return{...super.exportJSON(),type:\"quote\"}}insertNewAfter(){let a=\nh.$createParagraphNode(),c=this.getDirection();a.setDirection(c);this.insertAfter(a);return a}collapseAtStart(){let a=h.$createParagraphNode();this.getChildren().forEach(c=>a.append(c));this.replace(a);return!0}}function w(){return new r}\nclass x extends h.ElementNode{static getType(){return\"heading\"}static clone(a){return new x(a.__tag,a.__key)}constructor(a,c){super(c);this.__tag=a}getTag(){return this.__tag}createDOM(a){let c=this.__tag,d=document.createElement(c);a=a.theme.heading;void 0!==a&&g.addClassNamesToElement(d,a[c]);return d}updateDOM(){return!1}static importDOM(){return{h1:()=>({conversion:y,priority:0}),h2:()=>({conversion:y,priority:0}),h3:()=>({conversion:y,priority:0}),h4:()=>({conversion:y,priority:0}),h5:()=>({conversion:y,\npriority:0}),h6:()=>({conversion:y,priority:0}),p:a=>{a=a.firstChild;return null!==a&&z(a)?{conversion:()=>({node:null}),priority:3}:null},span:a=>z(a)?{conversion:()=>({node:A(\"h1\")}),priority:3}:null}}static importJSON(a){let c=A(a.tag);c.setFormat(a.format);c.setIndent(a.indent);c.setDirection(a.direction);return c}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:\"heading\",version:1}}insertNewAfter(){let a=h.$createParagraphNode(),c=this.getDirection();a.setDirection(c);this.insertAfter(a);\nreturn a}collapseAtStart(){let a=h.$createParagraphNode();this.getChildren().forEach(c=>a.append(c));this.replace(a);return!0}extractWithChild(){return!0}}function z(a){return\"span\"===a.nodeName.toLowerCase()?\"26pt\"===a.style.fontSize:!1}function y(a){a=a.nodeName.toLowerCase();let c=null;if(\"h1\"===a||\"h2\"===a||\"h3\"===a||\"h4\"===a||\"h5\"===a||\"h6\"===a)c=A(a);return{node:c}}function t(){return{node:w()}}function A(a){return new x(a)}\nfunction B(a,c){a.preventDefault();c.update(()=>{let d=h.$getSelection(),e=a instanceof InputEvent||a instanceof KeyboardEvent?null:a.clipboardData;null!=e&&(h.$isRangeSelection(d)||h.DEPRECATED_$isGridSelection(d))&&b.$insertDataTransferForRichText(e,d,c)},{tag:\"paste\"})}\nfunction C(a,c){var d=h.$getSelection();if(null!==d){a.preventDefault();a=a instanceof KeyboardEvent?null:a.clipboardData;let e=b.$getHtmlContent(c);c=b.$getLexicalContent(c);null!=a?(null!==e&&a.setData(\"text/html\",e),null!==c&&a.setData(\"application/x-lexical-editor\",c),d=d.getTextContent(),a.setData(\"text/plain\",d)):(d=navigator.clipboard,null!=d&&(a=[new ClipboardItem({\"text/html\":new Blob([e],{type:\"text/html\"})})],d.write(a)))}}\nfunction D(a,c){C(a,c);a=h.$getSelection();h.$isRangeSelection(a)?a.removeText():h.$isNodeSelection(a)&&a.getNodes().forEach(d=>d.remove())}function E(a,c){var d=h.$getSelection();if(h.$isRangeSelection(d)){var e=new Set;d=d.getNodes();for(let u=0;u<d.length;u++){let v=d[u];var k=v.getKey();e.has(k)||(e.add(k),k=g.$getNearestBlockElementAncestorOrThrow(v),k.canInsertTab()?a(v):k.canIndent()&&c(k))}}}function F(a){a=h.$getNearestNodeFromDOMNode(a);return h.$isDecoratorNode(a)}\nexports.$createHeadingNode=A;exports.$createQuoteNode=w;exports.$isHeadingNode=function(a){return a instanceof x};exports.$isQuoteNode=function(a){return a instanceof r};exports.HeadingNode=x;exports.QuoteNode=r;\nexports.registerRichText=function(a){return g.mergeRegister(a.registerCommand(h.CLICK_COMMAND,()=>{const c=h.$getSelection();return h.$isNodeSelection(c)?(c.clear(),!0):!1},0),a.registerCommand(h.DELETE_CHARACTER_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.deleteCharacter(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.DELETE_WORD_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.deleteWord(c);return!0},h.COMMAND_PRIORITY_EDITOR),\na.registerCommand(h.DELETE_LINE_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.deleteLine(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.CONTROLLED_TEXT_INSERTION_COMMAND,c=>{const d=h.$getSelection();if(\"string\"===typeof c)h.$isRangeSelection(d)?d.insertText(c):h.DEPRECATED_$isGridSelection(d);else{if(!h.$isRangeSelection(d)&&!h.DEPRECATED_$isGridSelection(d))return!1;const e=c.dataTransfer;null!=e?b.$insertDataTransferForRichText(e,d,a):h.$isRangeSelection(d)&&\n(c=c.data)&&d.insertText(c)}return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.REMOVE_TEXT_COMMAND,()=>{const c=h.$getSelection();if(!h.$isRangeSelection(c))return!1;c.removeText();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.FORMAT_TEXT_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.formatText(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.FORMAT_ELEMENT_COMMAND,c=>{var d=h.$getSelection();if(!h.$isRangeSelection(d)&&!h.$isNodeSelection(d))return!1;\nd=d.getNodes();for(const e of d)g.$getNearestBlockElementAncestorOrThrow(e).setFormat(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.INSERT_LINE_BREAK_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.insertLineBreak(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.INSERT_PARAGRAPH_COMMAND,()=>{const c=h.$getSelection();if(!h.$isRangeSelection(c))return!1;c.insertParagraph();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.INDENT_CONTENT_COMMAND,\n()=>{E(()=>{a.dispatchCommand(h.CONTROLLED_TEXT_INSERTION_COMMAND,\"\\t\")},c=>{const d=c.getIndent();10!==d&&c.setIndent(d+1)});return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.OUTDENT_CONTENT_COMMAND,()=>{E(c=>{h.$isTextNode(c)&&(c=c.getTextContent(),\"\\t\"===c[c.length-1]&&a.dispatchCommand(h.DELETE_CHARACTER_COMMAND,!0))},c=>{const d=c.getIndent();0!==d&&c.setIndent(d-1)});return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_UP_COMMAND,c=>{const d=h.$getSelection();return h.$isNodeSelection(d)&&\n!F(c.target)&&(c=d.getNodes(),0<c.length)?(c[0].selectPrevious(),!0):!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_DOWN_COMMAND,()=>{var c=h.$getSelection();return h.$isNodeSelection(c)&&(c=c.getNodes(),0<c.length)?(c[0].selectNext(0,0),!0):!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_LEFT_COMMAND,c=>{const d=h.$getSelection();if(h.$isNodeSelection(d)){var e=d.getNodes();if(0<e.length)return c.preventDefault(),e[0].selectPrevious(),!0}return h.$isRangeSelection(d)?f.$shouldOverrideDefaultCharacterSelection(d,\n!0)?(e=c.shiftKey,c.preventDefault(),f.$moveCharacter(d,e,!0),!0):!1:!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_RIGHT_COMMAND,c=>{const d=h.$getSelection();if(h.$isNodeSelection(d)&&!F(c.target)){var e=d.getNodes();if(0<e.length)return c.preventDefault(),e[0].selectNext(0,0),!0}if(!h.$isRangeSelection(d))return!1;e=c.shiftKey;return f.$shouldOverrideDefaultCharacterSelection(d,!1)?(c.preventDefault(),f.$moveCharacter(d,e,!1),!0):!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_BACKSPACE_COMMAND,\nc=>{if(F(c.target))return!1;const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;c.preventDefault();({anchor:c}=d);const e=c.getNode();return d.isCollapsed()&&0===c.offset&&!h.$isRootNode(e)&&0<g.$getNearestBlockElementAncestorOrThrow(e).getIndent()?a.dispatchCommand(h.OUTDENT_CONTENT_COMMAND,void 0):a.dispatchCommand(h.DELETE_CHARACTER_COMMAND,!0)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_DELETE_COMMAND,c=>{if(F(c.target))return!1;const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;\nc.preventDefault();return a.dispatchCommand(h.DELETE_CHARACTER_COMMAND,!1)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ENTER_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;if(null!==c){if((q||p)&&n)return!1;c.preventDefault();if(c.shiftKey)return a.dispatchCommand(h.INSERT_LINE_BREAK_COMMAND,!1)}return a.dispatchCommand(h.INSERT_PARAGRAPH_COMMAND,void 0)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_TAB_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;\nc.preventDefault();return a.dispatchCommand(c.shiftKey?h.OUTDENT_CONTENT_COMMAND:h.INDENT_CONTENT_COMMAND,void 0)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ESCAPE_COMMAND,()=>{const c=h.$getSelection();if(!h.$isRangeSelection(c))return!1;a.blur();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.DROP_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;c.preventDefault();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.DRAGSTART_COMMAND,c=>{const d=h.$getSelection();\nif(!h.$isRangeSelection(d))return!1;c.preventDefault();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.COPY_COMMAND,c=>{C(c,a);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.CUT_COMMAND,c=>{D(c,a);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.PASTE_COMMAND,c=>{const d=h.$getSelection();return h.$isRangeSelection(d)||h.DEPRECATED_$isGridSelection(d)?(B(c,a),!0):!1},h.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={},g){super(g);let {target:h=null,rel:d=null}=b;this.__url=a;this.__target=h;this.__rel=d}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 g=this.__url,h=this.__target,d=this.__rel;\ng!==a.__url&&(b.href=g);h!==a.__target&&(h?b.target=h:b.removeAttribute(\"target\"));d!==a.__rel&&(d?b.rel=d: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 g=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(g)&&0<b.getTextContent().length}}function p(a){let b=null;a instanceof HTMLAnchorElement&&(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();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:g,rel:h}=b;b=m.$getSelection();if(m.$isRangeSelection(b))if(b=b.extract(),null===a)b.forEach(k=>{k=k.getParent();if(r(k)){let e=k.getChildren();for(let f=0;f<e.length;f++)k.insertBefore(e[f]);k.remove()}});else{if(1===b.length){var d=b[0];d=r(d)?d:x(d);if(null!==d){d.setURL(a);void 0!==g&&d.setTarget(g);void 0!==h&&d.setRel(h);return}}let k=null,e=null;b.forEach(f=>{var c=f.getParent();if(c!==e&&null!==c&&(!m.$isElementNode(f)||f.isInline()))if(r(c))e=\nc,c.setURL(a),void 0!==g&&c.setTarget(g),void 0!==h&&c.setRel(h);else if(c.is(k)||(k=c,e=q(a,{rel:h,target:g}),r(c)?null===f.getPreviousSibling()?c.insertBefore(e):c.insertAfter(e):f.insertBefore(e)),r(f)){if(!f.is(e)){if(null!==e){c=f.getChildren();for(let t=0;t<c.length;t++)e.append(c[t])}f.remove()}}else null!==e&&e.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","const KoenigCardWrapperComponent = ({children}) => {\n return (\n <div className=\"caret-grey-800 hover:shadow-green relative hover:shadow-[0_0_0_1px]\" data-kg-card>\n {children}\n </div>\n );\n};\n\nexport default KoenigCardWrapperComponent;\n","import * as React from 'react';\nimport {createCommand, DecoratorNode} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND = createCommand();\n\nfunction HorizontalRuleComponent() {\n return (\n <KoenigCardWrapper>\n <hr />\n </KoenigCardWrapper>\n );\n}\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 exportJSON() {\n return {\n type: 'horizontalrule',\n version: 1\n };\n }\n\n createDOM() {\n const div = document.createElement('div');\n div.style.display = 'contents';\n return div;\n }\n\n getTextContent() {\n return '\\n';\n }\n\n isTopLevel() {\n return true;\n }\n\n updateDOM() {\n return false;\n }\n\n decorate() {\n return <HorizontalRuleComponent />;\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 * as React from 'react';\nimport {$getNodeByKey, createCommand, DecoratorNode} from 'lexical';\n// import {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport useAutoExpandTextArea from '../utils/autoExpandTextArea';\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND = createCommand();\n\nfunction CodeBlockComponent({className, code, language, nodeKey, editor}) {\n const el = React.useRef(null);\n useAutoExpandTextArea({el, value: code});\n const updateCode = (event) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCode(event.target.value);\n });\n };\n\n return (\n <KoenigCardWrapper className={className} nodeKey={nodeKey} >\n <code>\n <textarea\n ref={el}\n autoCorrect=\"off\" \n autoCapitalize=\"off\" \n spellCheck=\"false\" \n tabIndex=\"0\"\n autoFocus\n className='bg-grey-50 min-h-170 w-full p-3' \n value={code} \n onChange={updateCode} />\n </code>\n </KoenigCardWrapper>\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 const codeBlockTheme = config.theme.codeBlock || {};\n const className = {\n base: codeBlockTheme.base || '',\n focus: codeBlockTheme.focus || ''\n };\n\n return (\n <CodeBlockComponent\n className={className}\n code={this.__code}\n language={this.__language}\n nodeKey={this.getKey()}\n editor={editor}\n />\n );\n }\n\n isTopLevel() {\n return true;\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 {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';\n\nconst DEFAULT_NODES = [\n HeadingNode,\n ListNode,\n ListItemNode,\n QuoteNode,\n AsideNode,\n LinkNode,\n CodeBlockNode, // TODO: replace with our own card\n HorizontalRuleNode\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';\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 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 return (\n <LexicalComposer initialConfig={initialConfig}>\n {children}\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(l){let r=m=>{var h=l.getRootElement();if(document.activeElement===h&&(h=m.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,t]=a;l.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,d=k+n,f.setTextNodeRange(b,c,b,d));if(c!==\nd||\"\"!==p)f.insertRawText(p),b=e.getNode();g.$isTextNode(b)&&(c=q,d=q+t,e=b.getTextContentSize(),c=c>e?e:c,d=d>e?e:d,f.setTextNodeRange(b,c,b,d));m.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 c=require(\"@lexical/react/LexicalComposerContext\"),h=require(\"react\"),l=require(\"@lexical/text\"),m=require(\"@lexical/utils\"),n=require(\"react-dom\"),p=require(\"@lexical/dragon\"),q=require(\"@lexical/rich-text\"),r=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?h.useLayoutEffect:h.useEffect;function t(a){return a.getEditorState().read(l.$canShowPlaceholderCurry(a.isComposing(),a.isEditable()))}\nfunction u(a){let [e,d]=h.useState(()=>t(a));r(()=>{function b(){let f=t(a);d(f)}b();return m.mergeRegister(a.registerUpdateListener(()=>{b()}),a.registerEditableListener(()=>{b()}))},[a]);return e}\nfunction v(a){let [e,d]=h.useState(()=>a.getDecorators());r(()=>a.registerDecoratorListener(b=>{n.flushSync(()=>{d(b)})}),[a]);h.useEffect(()=>{d(a.getDecorators())},[a]);return h.useMemo(()=>{let b=[],f=Object.keys(e);for(let k=0;k<f.length;k++){var g=f[k];let w=e[g];g=a.getElementByKey(g);null!==g&&b.push(n.createPortal(w,g))}return b},[e,a])}function x(a){r(()=>m.mergeRegister(q.registerRichText(a),p.registerDragonSupport(a)),[a])}\nexports.RichTextPlugin=function({contentEditable:a,placeholder:e}){let [d]=c.useLexicalComposerContext(),b=u(d),f=v(d);x(d);return h.createElement(h.Fragment,null,a,b&&e,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 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 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;","\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 m=require(\"@lexical/utils\"),t=require(\"lexical\");let u={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\"},v={javascript:\"js\",md:\"markdown\",plaintext:\"plain\",python:\"py\",text:\"plain\"};function w(a){return v[a]||a}\nclass z extends t.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);m.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&&m.removeClassNamesFromElement(b,\na),c&&m.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 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),!t.$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),!t.$isLineBreakNode(a)););return b}let F=a=>null!=a&&e.languages.hasOwnProperty(a)?a:void 0;\nclass G extends t.ElementNode{static getType(){return\"code\"}static clone(a){return new G(a.__language,a.__key)}constructor(a,b){super(b);this.__language=F(a)}createDOM(a){let b=document.createElement(\"code\");m.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)?{conversion:H,priority:1}:null,div:()=>({conversion:I,priority:1}),pre:()=>({conversion:H,priority:0}),table:a=>J(a)?{conversion:aa,priority:4}:null,td:a=>{let b=a.closest(\"table\");return a.classList.contains(\"js-file-line\")?{conversion:ba,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);b.setFormat(a.format);\nb.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=t.$createParagraphNode(),this.insertAfter(a),a;b=a.anchor.getNode();var d=D(b);if(null!=d){c=0;for(d=d.getTextContent();c<\nd.length&&/[\\t ]/.test(d[c]);)c+=1;if(0<c)return c=d.substring(0,c),c=B(c),b.insertAfter(c),a.insertNodes([t.$createLineBreakNode()]),c.select(),c}return null}canInsertTab(){let a=t.$getSelection();return t.$isRangeSelection(a)&&a.isCollapsed()?!0:!1}canIndent(){return!1}collapseAtStart(){let a=t.$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 new G(a)}function M(a){return a instanceof G}function H(){return{node:L(),preformatted:!0}}function I(a){let b=null!==a.style.fontFamily.match(\"monospace\");return{after:c=>{let d=a.parentNode;null!=d&&a!==d.lastChild&&c.push(t.$createLineBreakNode());return c},node:b?L():null,preformatted:b}}function aa(){return{node:L(),preformatted:!0}}function K(){return{node:null}}\nfunction ba(a){return{after:b=>{a.parentNode&&a.parentNode.nextSibling&&b.push(t.$createLineBreakNode());return b},node:null}}function J(a){return a.classList.contains(\"js-file-line-container\")}function N(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 O(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=N(g,!0);-1!==g&&(b=f,c=g)}if(t.$isLineBreakNode(f))break}if(null===b)for(a=a.getNextSiblings();0<a.length;){d=a.shift();if(C(d)&&(f=d.getTextContent(),f=N(f,!0),-1!==f)){b=d;c=f;break}if(t.$isLineBreakNode(d))break}return{node:b,offset:c}}\nfunction P(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=N(g,!1);-1!==g&&(b=f,c=g+1)}if(t.$isLineBreakNode(f))break}if(null===b)for(a=a.getPreviousSiblings();0<a.length;){d=a.pop();if(C(d)&&(f=d.getTextContent(),f=N(f,!1),-1!==f)){b=d;c=f+1;break}if(t.$isLineBreakNode(d))break}return{node:b,offset:c}}function Q(a,b){let c=a.getParent();M(c)?R(c,b):C(a)&&a.replace(t.$createTextNode(a.__text))}let S=!1;\nfunction R(a,b){if(!S){S=!0;void 0===a.getLanguage()&&a.setLanguage(\"javascript\");var c=a.getKey();b.update(()=>{ca(c,()=>{var d=t.$getNodeByKey(c);if(!M(d)||!d.isAttached())return!1;var f=d.getTextContent();f=e.tokenize(f,e.languages[d.getLanguage()||\"\"]||e.languages.javascript);f=T(f);var g=d.getChildren();for(d=0;d<g.length&&U(g[d],f[d]);)d++;var k=g.length;let h=f.length,n=Math.min(k,h)-d,l=0;for(;l<n;)if(l++,!U(g[k-l],f[h-l])){l--;break}g=d;k-=l;f=f.slice(d,h-l);let {from:p,to:x,nodesForReplacement:r}=\n{from:g,nodesForReplacement:f,to:k};return p!==x||r.length?(a.splice(p,x-p,r),!0):!1})},{onUpdate:()=>{S=!1},skipTransforms:!0})}}function T(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(t.$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(...T(d))});return b}\nfunction ca(a,b){a=t.$getNodeByKey(a);if(M(a)&&a.isAttached()){var c=t.$getSelection();if(t.$isRangeSelection(c)){c=c.anchor;var d=c.offset,f=\"element\"===c.type&&t.$isLineBreakNode(a.getChildAtIndex(c.offset-1)),g=0;if(!f){let k=c.getNode();g=d+k.getPreviousSiblings().reduce((h,n)=>h+(t.$isLineBreakNode(n)?0:n.getTextContentSize()),0)}b()&&(f?c.getNode().select(d,d):a.getChildren().some(k=>{if(t.$isTextNode(k)){let h=k.getTextContentSize();if(h>=g)return k.select(g,g),!0;g-=h}return!1}))}else b()}}\nfunction U(a,b){return C(a)&&C(b)?a.__text===b.__text&&a.__highlightType===b.__highlightType:t.$isLineBreakNode(a)&&t.$isLineBreakNode(b)?!0:!1}function V(a){var b=t.$getSelection();if(!t.$isRangeSelection(b)||b.isCollapsed())return!1;b=b.getNodes();for(var c=0;c<b.length;c++){var d=b[c];if(!C(d)&&!t.$isLineBreakNode(d))return!1}c=D(b[0]);null!=c&&W(c,a);for(c=1;c<b.length;c++)d=b[c],t.$isLineBreakNode(b[c-1])&&C(d)&&W(d,a);return!0}\nfunction W(a,b){let c=a.getTextContent();b===t.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=t.$getSelection();if(!t.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.offset,k=f.offset,h=d.getNode(),n=f.getNode();var l=a===t.KEY_ARROW_UP_COMMAND;if(!C(h)||!C(n))return!1;if(!b.altKey){if(c.isCollapsed())if(a=h.getParentOrThrow(),l&&0===g&&null===h.getPreviousSibling()){if(null===a.getPreviousSibling())return a.selectPrevious(),b.preventDefault(),!0}else if(!l&&g===h.getTextContentSize()&&null===h.getNextSibling()&&null===a.getNextSibling())return a.selectNext(),\nb.preventDefault(),!0;return!1}var p=D(h);let x=E(n);if(null==p||null==x)return!1;let r=p.getNodesBetween(x);for(let q=0;q<r.length;q++){let X=r[q];if(!C(X)&&!t.$isLineBreakNode(X))return!1}b.preventDefault();b.stopPropagation();b=l?p.getPreviousSibling():x.getNextSibling();if(!t.$isLineBreakNode(b))return!0;p=l?b.getPreviousSibling():b.getNextSibling();if(null==p)return!0;l=l?D(p):E(p);let y=null!=l?l:p;b.remove();r.forEach(q=>q.remove());a===t.KEY_ARROW_UP_COMMAND?(r.forEach(q=>y.insertBefore(q)),\ny.insertBefore(b)):(y.insertAfter(b),y=b,r.forEach(q=>{y.insertAfter(q);y=q}));c.setTextNodeRange(h,g,n,k);return!0}function Z(a,b){let c=t.$getSelection();if(!t.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.getNode(),k=f.getNode();a=a===t.MOVE_TO_START;if(!C(g)||!C(k))return!1;let h,n;a?{node:h,offset:n}=O(k):{node:h,offset:n}=P(k);null!==h&&-1!==n&&c.setTextNodeRange(h,n,h,n);b.preventDefault();b.stopPropagation();return!0}exports.$createCodeHighlightNode=B;\nexports.$createCodeNode=L;exports.$isCodeHighlightNode=C;exports.$isCodeNode=M;exports.CODE_LANGUAGE_FRIENDLY_NAME_MAP=u;exports.CODE_LANGUAGE_MAP=v;exports.CodeHighlightNode=z;exports.CodeNode=G;exports.DEFAULT_CODE_LANGUAGE=\"javascript\";exports.getCodeLanguages=()=>Object.keys(e.languages).filter(a=>\"function\"!==typeof e.languages[a]).sort();exports.getDefaultCodeLanguage=()=>\"javascript\";exports.getEndOfCodeInLine=P;exports.getFirstCodeHighlightNodeOfLine=D;\nexports.getLanguageFriendlyName=function(a){a=w(a);return u[a]||a};exports.getLastCodeHighlightNodeOfLine=E;exports.getStartOfCodeInLine=O;exports.normalizeCodeLang=w;\nexports.registerCodeHighlighting=function(a){if(!a.hasNodes([G,z]))throw Error(\"CodeHighlightPlugin: CodeNode or CodeHighlightNode not registered on editor\");return m.mergeRegister(a.registerMutationListener(G,b=>{a.update(()=>{for(let [f,g]of b)if(\"destroyed\"!==g){var c=t.$getNodeByKey(f);if(null!==c)a:{var d=c;c=a.getElementByKey(d.getKey());if(null===c)break a;d=d.getChildren();let k=d.length;if(k===c.__cachedChildrenLength)break a;c.__cachedChildrenLength=k;let h=\"1\",n=1;for(let l=0;l<k;l++)t.$isLineBreakNode(d[l])&&\n(h+=\"\\n\"+ ++n);c.setAttribute(\"data-gutter\",h)}}})}),a.registerNodeTransform(G,b=>R(b,a)),a.registerNodeTransform(t.TextNode,b=>Q(b,a)),a.registerNodeTransform(z,b=>Q(b,a)),a.registerCommand(t.INDENT_CONTENT_COMMAND,()=>V(t.INDENT_CONTENT_COMMAND),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.OUTDENT_CONTENT_COMMAND,()=>V(t.OUTDENT_CONTENT_COMMAND),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_ARROW_UP_COMMAND,b=>Y(t.KEY_ARROW_UP_COMMAND,b),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_ARROW_DOWN_COMMAND,\nb=>Y(t.KEY_ARROW_DOWN_COMMAND,b),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.MOVE_TO_END,b=>Z(t.MOVE_TO_END,b),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.MOVE_TO_START,b=>Z(t.MOVE_TO_START,b),t.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 h=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=h.$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 h.$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,k=>K(k,b,c),(k,p)=>L(k,p,b)),null!=a){d.push(a);continue a}h.$isLineBreakNode(e)?d.push(\"\\n\"):h.$isTextNode(e)?d.push(L(e,e.getTextContent(),b)):h.$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 p of c){c=p.format[0];let r=p.tag;if(M(a,c)&&!f.has(c)){f.add(c);var k=N(a,!0);M(k,c)||(e=r+e);k=N(a,!1);M(k,c)||(e+=r)}}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(h.$isElementNode(c)){if(!c.isInline())break;a=b?c.getLastDescendant():c.getFirstDescendant();if(h.$isTextNode(a))return a;c=b?c.getPreviousSibling():c.getNextSibling()}if(h.$isTextNode(c))return c;if(!h.$isElementNode(c))break}return null}function M(a,b){return h.$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=h.$getRoot();d.clear();for(let g=0;g<f;g++){var k=e[g];a:{var p=e,r=g;var n=d;var u=p[r].match(R);if(u)for(var q=r,l=p.length;++q<l;)if(p[q].match(R)){u=t.$createCodeNode(u[1]);p=h.$createTextNode(p.slice(r+1,q).join(\"\\n\"));u.append(p);n.append(u);n=[u,q];break a}n=[null,r]}let [m,w]=n;if(null!=m)g=w;else{n=k;l=d;var x=b.element;q=c;p=b.textMatch;r=n.trim();u=h.$createTextNode(r);k=h.$createParagraphNode();k.append(u);\nl.append(k);for(let {regExp:y,replace:v}of x)if(l=n.match(y)){u.setTextContent(n.slice(l[0].length));v(k,[u],l,!0);break}S(u,q,p);k.isAttached()&&0<r.length&&(n=k.getPreviousSibling(),h.$isParagraphNode(n)||F.$isQuoteNode(n)||A.$isListNode(n))&&(q=n,A.$isListNode(n)&&(n=n.getLastDescendant(),q=null==n?null:aa.$findMatchingParent(n,A.$isListItemNode)),null!=q&&0<q.getTextContentSize()&&(q.splice(q.getChildrenSize(),0,[h.$createLineBreakNode(),...k.getChildren()]),k.remove()))}}e=d.getChildren();for(let g of e)e=\ng,h.$isParagraphNode(e)?(f=e.getFirstChild(),e=null==f||1===e.getChildrenSize()&&h.$isTextNode(f)&&ea.test(f.getTextContent())):e=!1,e&&g.remove();d.selectEnd()}}\nfunction S(a,b,c){let d=a.getTextContent(),e=ia(d,b);if(e){if(e[0]===d)var f=a;else{var k=e.index||0,p=k+e[0].length;0===k?[f,r]=a.splitText(p):[n,f,r]=a.splitText(k,p)}f.setTextContent(e[2]);if(k=b.transformersByTag[e[1]])for(let u of k.format)f.hasFormat(u)||f.toggleFormat(u);f.hasFormat(\"code\")||S(f,b,c);n&&S(n,b,c);r&&S(r,b,c)}else a:for(b=a;b;){for(k of c)if(f=b.getTextContent().match(k.importRegExp)){var r=f.index||0;var n=r+f[0].length;0===r?[p,b]=b.splitText(n):[,p,b]=b.splitText(r,n);k.replace(p,\nf);continue a}break}}function 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 T(a,b,c){let d=c.length;for(;b>=d;b--){let e=b-d;if(U(a,e,c,0,d)&&\" \"!==a[e+d])return e}return-1}function U(a,b,c,d,e){for(let f=0;f<e;f++)if(a[b+f]!==c[d+f])return!1;return!0}\nlet V=a=>(b,c,d)=>{d=a(d);d.append(...c);b.replace(d);d.select(0,0)},W=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)},X=(a,b,c)=>{const d=[];var e=a.getChildren();let f=0;for(const p of e)if(A.$isListItemNode(p)){if(1===p.getChildrenSize()&&\n(e=p.getFirstChild(),A.$isListNode(e))){d.push(X(e,b,c+1));continue}e=\" \".repeat(4*c);var k=a.getListType();k=\"number\"===k?`${a.getStart()+f}. `:\"check\"===k?`- [${p.getChecked()?\"x\":\" \"}] `:\"- \";d.push(e+k+b(p));f++}return d.join(\"\\n\")},Y={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:V(a=>F.$createHeadingNode(\"h\"+a[1].length)),type:\"element\"},ja={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,[h.$createLineBreakNode(),...b]);c.select(0,0);a.remove();return}c=F.$createQuoteNode();c.append(...b);a.replace(c);c.select(0,0)},type:\"element\"},ka={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:V(a=>t.$createCodeNode(a?a[1]:void 0)),type:\"element\"},la={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?X(a,b,0):null,regExp:/^(\\s*)[-*+]\\s/,replace:W(\"bullet\"),type:\"element\"},ma={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?X(a,b,0):null,regExp:/^(\\s*)(?:-\\s)?\\s?(\\[(\\s|x)?\\])\\s/i,replace:W(\"check\"),type:\"element\"},na={dependencies:[A.ListNode,A.ListItemNode],export:(a,\nb)=>A.$isListNode(a)?X(a,b,0):null,regExp:/^(\\s*)(\\d{1,})\\.\\s/,replace:W(\"number\"),type:\"element\"},oa={format:[\"code\"],tag:\"`\",type:\"text-format\"},pa={format:[\"bold\",\"italic\"],tag:\"***\",type:\"text-format\"},qa={format:[\"bold\",\"italic\"],intraword:!1,tag:\"___\",type:\"text-format\"},sa={format:[\"bold\"],tag:\"**\",type:\"text-format\"},ta={format:[\"bold\"],intraword:!1,tag:\"__\",type:\"text-format\"},ua={format:[\"strikethrough\"],tag:\"~~\",type:\"text-format\"},va={format:[\"italic\"],tag:\"*\",type:\"text-format\"},wa={format:[\"italic\"],\nintraword:!1,tag:\"_\",type:\"text-format\"},xa={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()&&h.$isTextNode(d)?c(d,b):b},importRegExp:/(?:\\[([^[]+)\\])(?:\\(([^(]+)\\))/,regExp:/(?:\\[([^[]+)\\])(?:\\(([^(]+)\\))$/,replace:(a,b)=>{const [,c,d]=b;b=G.$createLinkNode(d);const e=h.$createTextNode(c);e.setFormat(a.getFormat());b.append(e);a.replace(b)},trigger:\")\",type:\"text-match\"},\nya=[Y,ja,ka,la,na],za=[oa,pa,qa,sa,ta,va,wa,ua],Aa=[xa],Z=[...ya,...za,...Aa];exports.$convertFromMarkdownString=function(a,b=Z){return fa(b)(a)};exports.$convertToMarkdownString=function(a=Z){return ba(a)()};exports.BOLD_ITALIC_STAR=pa;exports.BOLD_ITALIC_UNDERSCORE=qa;exports.BOLD_STAR=sa;exports.BOLD_UNDERSCORE=ta;exports.CHECK_LIST=ma;exports.CODE=ka;exports.ELEMENT_TRANSFORMERS=ya;exports.HEADING=Y;exports.INLINE_CODE=oa;exports.ITALIC_STAR=va;exports.ITALIC_UNDERSCORE=wa;exports.LINK=xa;\nexports.ORDERED_LIST=na;exports.QUOTE=ja;exports.STRIKETHROUGH=ua;exports.TEXT_FORMAT_TRANSFORMERS=za;exports.TEXT_MATCH_TRANSFORMERS=Aa;exports.TRANSFORMERS=Z;exports.UNORDERED_LIST=la;\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:k,editorState:p,prevEditorState:r})=>\n{if(!f.has(\"historic\")){var n=p.read(h.$getSelection);f=r.read(h.$getSelection);if(h.$isRangeSelection(f)&&h.$isRangeSelection(n)&&n.isCollapsed()){r=n.anchor.key;var u=n.anchor.offset,q=p._nodeMap.get(r);h.$isTextNode(q)&&k.has(r)&&(1===u||u===f.anchor.offset+1)&&a.update(()=>{if(!q.hasFormat(\"code\")){var l=q.getParent();if(null!==l&&!t.$isCodeNode(l)){var x=n.anchor.offset;b:{var g=c.element,m=l.getParent();if(h.$isRootOrShadowRoot(m)&&l.getFirstChild()===q&&(m=q.getTextContent(),\" \"===m[x-1]))for(let {regExp:C,\nreplace:D}of g)if((g=m.match(C))&&g[0].length===x){m=q.getNextSiblings();let [E,ra]=q.splitText(x);E.remove();m=ra?[ra,...m]:m;D(l,m,g,!1);l=!0;break b}l=!1}if(!l){b:{g=q.getTextContent();l=e[g[x-1]];if(null!=l){x<g.length&&(g=g.slice(0,x));for(y of l)if(l=g.match(y.regExp),null!==l){g=l.index||0;m=g+l[0].length;var w=void 0;0===g?[w]=q.splitText(m):[,w]=q.splitText(g,m);w.selectNext(0,0);y.replace(w,l);var y=!0;break b}}y=!1}if(!y)b:{m=q.getTextContent();--x;var v=m[x];if(y=d[v])for(let C of y){var {tag:B}=\nC;y=B.length;let D=x-y+1;if(!(1<y&&!U(m,D,B,0,y)||\" \"===m[D-1])&&(w=m[x+1],!1!==C.intraword||!w||J.test(w))){l=w=q;g=T(m,D,B);for(var z=l;0>g&&(z=z.getPreviousSibling())&&!h.$isLineBreakNode(z);)h.$isTextNode(z)&&(g=z.getTextContent(),l=z,g=T(g,g.length,B));if(!(0>g||l===w&&g+y===D||(B=l.getTextContent(),0<g&&B[g-1]===v||(z=B[g-1],!1===C.intraword&&z&&!J.test(z))))){m=w.getTextContent();m=m.slice(0,D)+m.slice(x+1);w.setTextContent(m);m=l===w?m:B;l.setTextContent(m.slice(0,g)+m.slice(g+y));m=h.$getSelection();\nv=h.$createRangeSelection();h.$setSelection(v);x=x-y*(l===w?2:1)+1;v.anchor.set(l.__key,g,\"text\");v.focus.set(w.__key,x,\"text\");for(let E of C.format)v.hasFormat(E)||v.formatText(E);v.anchor.set(v.focus.key,v.focus.offset,v.focus.type);for(let E of C.format)v.hasFormat(E)&&v.toggleFormat(E);h.$isRangeSelection(m)&&(v.format=m.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 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;","/**\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();\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 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 {MarkdownShortcutPlugin as LexicalMarkdownShortcutPlugin} from '@lexical/react/LexicalMarkdownShortcutPlugin';\nimport {\n HEADING,\n ORDERED_LIST,\n QUOTE,\n UNORDERED_LIST,\n TEXT_FORMAT_TRANSFORMERS,\n TEXT_MATCH_TRANSFORMERS\n} from '@lexical/markdown';\nimport {$createHorizontalRuleNode, $isHorizontalRuleNode} from '../nodes/HorizontalRuleNode';\nimport {$isCodeBlockNode, $createCodeBlockNode, CodeBlockNode} from '../nodes/CodeBlockNode';\n\nexport const HR = {\n dependencies: [], // todo: docs a bit unclear regarding the usage of this property, but required as of 0.4.0 https://github.com/facebook/lexical/pull/2910\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], // todo: docs a bit unclear regarding the usage of this property, but required as of 0.4.0\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\nexport const ELEMENT_TRANSFORMERS = [\n HEADING,\n QUOTE,\n UNORDERED_LIST,\n ORDERED_LIST,\n HR,\n CODE_BLOCK\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","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: true\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","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,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTFINkM2LjI2NTIyIDguMDAwMTEgNi41MTk1NyA4LjEwNTQ2IDYuNzA3MTEgOC4yOTNDNi44OTQ2NCA4LjQ4MDU0IDcgOC43MzQ4OSA3IDkuMDAwMTFWMTMuMDAwMUM3IDEzLjI2NTMgNi44OTQ2NCAxMy41MTk3IDYuNzA3MTEgMTMuNzA3MkM2LjUxOTU3IDEzLjg5NDcgNi4yNjUyMiAxNC4wMDAxIDYgMTQuMDAwMUgzQzIuNzM0NzggMTQuMDAwMSAyLjQ4MDQzIDEzLjg5NDcgMi4yOTI4OSAxMy43MDcyQzIuMTA1MzYgMTMuNTE5NyAyIDEzLjI2NTMgMiAxMy4wMDAxVjUuMDgyMTFDMiAzLjkwNjExIDIuOTA2IDIuOTYyMTEgNC41MzggMi4xMTMxMUM0LjY1NDQ4IDIuMDUyNDQgNC43ODE3NyAyLjAxNTMgNC45MTI2MSAyLjAwMzgzQzUuMDQzNDQgMS45OTIzNSA1LjE3NTI1IDIuMDA2NzUgNS4zMDA1MiAyLjA0NjIyQzUuNDI1NzkgMi4wODU2OCA1LjU0MjA1IDIuMTQ5NDQgNS42NDI2OCAyLjIzMzgzQzUuNzQzMzEgMi4zMTgyMyA1LjgyNjMzIDIuNDIxNjIgNS44ODcgMi41MzgxMUM1Ljk0NzY3IDIuNjU0NTkgNS45ODQ4IDIuNzgxODggNS45OTYyOCAyLjkxMjcxQzYuMDA3NzYgMy4wNDM1NSA1Ljk5MzM1IDMuMTc1MzYgNS45NTM4OSAzLjMwMDYzQzUuOTE0NDIgMy40MjU4OSA1Ljg1MDY3IDMuNTQyMTYgNS43NjYyNyAzLjY0Mjc5QzUuNjgxODcgMy43NDM0MiA1LjU3ODQ4IDMuODI2NDQgNS40NjIgMy44ODcxMUM0Ljg4NCA0LjE4NzExIDQuNDY5IDQuNDc2MTEgNC4yMjIgNC43MzQxMUM0LjA1NCA0LjkwODExIDQgNS4wMjAxMSA0IDUuMDgyMTFWOC4wMDAxMVpNMTMgOC4wMDAxMUMxMy4yNjUyIDguMDAwMTEgMTMuNTE5NiA4LjEwNTQ2IDEzLjcwNzEgOC4yOTNDMTMuODk0NiA4LjQ4MDU0IDE0IDguNzM0ODkgMTQgOS4wMDAxMVY5LjUzNjZDMTMuNjE0MyA5LjYwMjQzIDEzLjI1MzYgOS43NTIzIDEyLjkzNyA5Ljk0NDVMMTIuOTI5OCA5Ljk0ODlMMTIuNDMxNSAxMC4yNjA4QzExLjk4NTYgMTAuNTM1NyAxMS41IDExLjA0NzkgMTEuNSAxMS44MjUyQzExLjUgMTIuNTY4OCAxMS45NjExIDEzLjIwMTUgMTIuNjMyMyAxMy40MzExVjE0LjAwMDFIMTBDOS43MzQ3OCAxNC4wMDAxIDkuNDgwNDMgMTMuODk0NyA5LjI5Mjg5IDEzLjcwNzJDOS4xMDUzNiAxMy41MTk3IDkgMTMuMjY1MyA5IDEzLjAwMDFWNS4wODIxMUM5IDMuOTA2MTEgOS45MDYgMi45NjIxMSAxMS41MzggMi4xMTMxMUMxMS42NTQ1IDIuMDUyNDQgMTEuNzgxOCAyLjAxNTMgMTEuOTEyNiAyLjAwMzgzQzEyLjA0MzQgMS45OTIzNSAxMi4xNzUzIDIuMDA2NzUgMTIuMzAwNSAyLjA0NjIyQzEyLjQyNTggMi4wODU2OCAxMi41NDIxIDIuMTQ5NDQgMTIuNjQyNyAyLjIzMzgzQzEyLjc0MzMgMi4zMTgyMyAxMi44MjYzIDIuNDIxNjIgMTIuODg3IDIuNTM4MTFDMTIuOTQ3NyAyLjY1NDU5IDEyLjk4NDggMi43ODE4OCAxMi45OTYzIDIuOTEyNzFDMTMuMDA3OCAzLjA0MzU1IDEyLjk5MzQgMy4xNzUzNiAxMi45NTM5IDMuMzAwNjNDMTIuOTE0NCAzLjQyNTg5IDEyLjg1MDcgMy41NDIxNiAxMi43NjYzIDMuNjQyNzlDMTIuNjgxOSAzLjc0MzQyIDEyLjU3ODUgMy44MjY0NCAxMi40NjIgMy44ODcxMUMxMS44ODQgNC4xODcxMSAxMS40NjkgNC40NzYxMSAxMS4yMjIgNC43MzQxMUMxMS4wNTQgNC45MDgxMSAxMSA1LjAyMDExIDExIDUuMDgyMTFWOC4wMDAxMUgxM1pNMTQuNTQyOCAxNS40MzQ0QzE0LjExODIgMTUuNDM0NCAxMy44ODIzIDE1LjE3ODMgMTMuODgyMyAxNC43MjY3VjExLjk2SDEzLjg3MjJMMTMuNjM5NyAxMi4xMDgyQzEzLjQyNzQgMTIuMjMyOSAxMy4zMjI5IDEyLjI3MzQgMTMuMTk0OCAxMi4yNzM0QzEyLjkzNTQgMTIuMjczNCAxMi43NSAxMi4wODQ2IDEyLjc1IDExLjgyNTJDMTIuNzUgMTEuNjI5NyAxMi44NjQ2IDExLjQ2MTIgMTMuMDkwNCAxMS4zMjNMMTMuNTg1OCAxMS4wMTNDMTMuODY4OCAxMC44NDExIDE0LjE1ODcgMTAuNzUwMSAxNC40MjQ5IDEwLjc1MDFDMTQuODkzMyAxMC43NTAxIDE1LjIgMTEuMDYzNSAxNS4yIDExLjU0ODhWMTQuNzI2N0MxNS4yIDE1LjE4MTcgMTQuOTY0MSAxNS40MzQ0IDE0LjU0MjggMTUuNDM0NFoiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTVINkM2LjI2NTIyIDguMDAwMTUgNi41MTk1NyA4LjEwNTUgNi43MDcxMSA4LjI5MzA0QzYuODk0NjQgOC40ODA1OCA3IDguNzM0OTMgNyA5LjAwMDE1VjEzLjAwMDFDNyAxMy4yNjU0IDYuODk0NjQgMTMuNTE5NyA2LjcwNzExIDEzLjcwNzNDNi41MTk1NyAxMy44OTQ4IDYuMjY1MjIgMTQuMDAwMSA2IDE0LjAwMDFIM0MyLjczNDc4IDE0LjAwMDEgMi40ODA0MyAxMy44OTQ4IDIuMjkyODkgMTMuNzA3M0MyLjEwNTM2IDEzLjUxOTcgMiAxMy4yNjU0IDIgMTMuMDAwMVY1LjA4MjE1QzIgMy45MDYxNSAyLjkwNiAyLjk2MjE1IDQuNTM4IDIuMTEzMTVDNC42NTQ0OCAyLjA1MjQ4IDQuNzgxNzcgMi4wMTUzNCA0LjkxMjYxIDIuMDAzODdDNS4wNDM0NCAxLjk5MjM5IDUuMTc1MjUgMi4wMDY3OSA1LjMwMDUyIDIuMDQ2MjZDNS40MjU3OSAyLjA4NTcyIDUuNTQyMDUgMi4xNDk0OCA1LjY0MjY4IDIuMjMzODdDNS43NDMzMSAyLjMxODI3IDUuODI2MzMgMi40MjE2NiA1Ljg4NyAyLjUzODE1QzUuOTQ3NjcgMi42NTQ2MyA1Ljk4NDggMi43ODE5MiA1Ljk5NjI4IDIuOTEyNzVDNi4wMDc3NiAzLjA0MzU5IDUuOTkzMzUgMy4xNzU0IDUuOTUzODkgMy4zMDA2N0M1LjkxNDQyIDMuNDI1OTMgNS44NTA2NyAzLjU0MjIgNS43NjYyNyAzLjY0MjgzQzUuNjgxODcgMy43NDM0NiA1LjU3ODQ4IDMuODI2NDggNS40NjIgMy44ODcxNUM0Ljg4NCA0LjE4NzE1IDQuNDY5IDQuNDc2MTUgNC4yMjIgNC43MzQxNUM0LjA1NCA0LjkwODE1IDQgNS4wMjAxNSA0IDUuMDgyMTVWOC4wMDAxNVpNMTMgOC4wMDAxNUMxMy4yNjUyIDguMDAwMTUgMTMuNTE5NiA4LjEwNTUgMTMuNzA3MSA4LjI5MzA0QzEzLjg5NDYgOC40ODA1OCAxNCA4LjczNDkzIDE0IDkuMDAwMTVWOS41MTgxMkMxMy40Mzc4IDkuNTc2OTQgMTIuOTA4NyA5Ljc3NzM1IDEyLjQ4MDMgMTAuMDkxOEMxMS45Nzg1IDEwLjQ2MDEgMTEuNSAxMS4wODQ4IDExLjUgMTEuOTA0M0MxMS41IDEyLjM2MzIgMTEuNjc3MiAxMi44MTM1IDEyLjAyNjQgMTMuMTQ1MUMxMi4wNjA0IDEzLjE3NzQgMTIuMDk1NSAxMy4yMDggMTIuMTMxMiAxMy4yMzY5QzExLjk0MTkgMTMuNDQwOSAxMS43NTA5IDEzLjY5MjIgMTEuNjMyMyAxNC4wMDAxSDEwQzkuNzM0NzggMTQuMDAwMSA5LjQ4MDQzIDEzLjg5NDggOS4yOTI4OSAxMy43MDczQzkuMTA1MzYgMTMuNTE5NyA5IDEzLjI2NTQgOSAxMy4wMDAxVjUuMDgyMTVDOSAzLjkwNjE1IDkuOTA2IDIuOTYyMTUgMTEuNTM4IDIuMTEzMTVDMTEuNjU0NSAyLjA1MjQ4IDExLjc4MTggMi4wMTUzNCAxMS45MTI2IDIuMDAzODdDMTIuMDQzNCAxLjk5MjM5IDEyLjE3NTMgMi4wMDY3OSAxMi4zMDA1IDIuMDQ2MjZDMTIuNDI1OCAyLjA4NTcyIDEyLjU0MjEgMi4xNDk0OCAxMi42NDI3IDIuMjMzODdDMTIuNzQzMyAyLjMxODI3IDEyLjgyNjMgMi40MjE2NiAxMi44ODcgMi41MzgxNUMxMi45NDc3IDIuNjU0NjMgMTIuOTg0OCAyLjc4MTkyIDEyLjk5NjMgMi45MTI3NUMxMy4wMDc4IDMuMDQzNTkgMTIuOTkzNCAzLjE3NTQgMTIuOTUzOSAzLjMwMDY3QzEyLjkxNDQgMy40MjU5MyAxMi44NTA3IDMuNTQyMiAxMi43NjYzIDMuNjQyODNDMTIuNjgxOSAzLjc0MzQ2IDEyLjU3ODUgMy44MjY0OCAxMi40NjIgMy44ODcxNUMxMS44ODQgNC4xODcxNSAxMS40NjkgNC40NzYxNSAxMS4yMjIgNC43MzQxNUMxMS4wNTQgNC45MDgxNSAxMSA1LjAyMDE1IDExIDUuMDgyMTVWOC4wMDAxNUgxM1pNMTMuMjI1NiAxNS4xNDI4QzEyLjg5MDMgMTUuMTQyOCAxMi42NjI2IDE0Ljk0MDQgMTIuNjYyNiAxNC42NDMyQzEyLjY2MjYgMTQuNDIxOCAxMi43ODkxIDE0LjIyNTcgMTMuMTU5MSAxMy44Nzc5TDE0LjE2MTYgMTIuOTA3QzE0LjQ5MzcgMTIuNTg3NiAxNC42MzkxIDEyLjM3ODkgMTQuNjM5MSAxMi4xNjA3QzE0LjYzOTEgMTEuOTA0NSAxNC40NTI2IDExLjczMzcgMTQuMTgwNiAxMS43MzM3QzEzLjk2ODcgMTEuNzMzNyAxMy44MTY5IDExLjgyNTUgMTMuNjU1NiAxMi4wNTMyQzEzLjQ3ODUgMTIuMjg3MiAxMy4zNDU3IDEyLjM2OTQgMTMuMTQwMiAxMi4zNjk0QzEyLjg1MjQgMTIuMzY5NCAxMi42NSAxMi4xNzY1IDEyLjY1IDExLjkwNDVDMTIuNjUgMTEuMjk3MyAxMy4zNzEgMTAuNzUwMiAxNC4yNDcgMTAuNzUwMkMxNS4xNTQ2IDEwLjc1MDIgMTUuODI1IDExLjI5NzMgMTUuODI1IDEyLjAzNzNDMTUuODI1IDEyLjQ5NTkgMTUuNTg3OSAxMi45MjYgMTUuMDc4NyAxMy4zOTA4TDE0LjI4ODEgMTQuMTI0NVYxNC4xNzJIMTUuNDIwM0MxNS43NjUgMTQuMTcyIDE1Ljk4IDE0LjM1ODUgMTUuOTggMTQuNjYyMUMxNS45OCAxNC45NjI2IDE1Ljc3MTMgMTUuMTQyOCAxNS40MjAzIDE1LjE0MjhIMTMuMjI1NloiIC8+Cjwvc3ZnPgo=\"","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';\n\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 QuoteOneIcon} from '../assets/icons/kg-quote-1.svg';\nimport {ReactComponent as QuoteTwoIcon} from '../assets/icons/kg-quote-2.svg';\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 MenuItem({label, isActive, onClick, Icon, ...props}) {\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\nfunction MenuSeparator() {\n return (\n <li className=\"bg-grey-900 m-0 mx-1 h-5 w-px\"></li>\n );\n}\n\nfunction FloatingFormatToolbar({editor, anchorElem, blockType, isBold, isItalic}) {\n const toolbarRef = React.useRef(null);\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 setFloatingElemPosition(rangeRect, toolbarElement, anchorElem);\n }\n }, [editor, anchorElem]);\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>\n <ul className=\"text-md m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans font-normal text-white\">\n <MenuItem label=\"Format text as bold\" isActive={isBold} Icon={BoldIcon} onClick={() => editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold')} data-kg-toolbar-button=\"bold\" />\n <MenuItem label=\"Format text as italics\" isActive={isItalic} Icon={ItalicIcon} onClick={() => editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic')} data-kg-toolbar-button=\"italic\" />\n <MenuItem label=\"Toggle heading 1\" isActive={blockType === 'h2'} Icon={HeadingOneIcon} onClick={() => (blockType === 'h2' ? formatParagraph() : formatHeading('h2'))} data-kg-toolbar-button=\"h2\" />\n <MenuItem label=\"Toggle heading 2\" isActive={blockType === 'h3'} Icon={HeadingTwoIcon} onClick={() => (blockType === 'h3' ? formatParagraph() : formatHeading('h3'))} data-kg-toolbar-button=\"h3\" />\n <MenuSeparator />\n <MenuItem label=\"Toggle blockquote\" isActive={blockType === 'quote' || blockType === 'aside'} Icon={blockType === 'aside' ? QuoteTwoIcon : QuoteOneIcon} onClick={() => (formatQuote())} data-kg-toolbar-button=\"quote\" />\n </ul>\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 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","import React from 'react';\nimport {RichTextPlugin} from '@lexical/react/LexicalRichTextPlugin';\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 MarkdownShortcutPlugin from '../plugins/MarkdownShortcutPlugin';\nimport FloatingFormatToolbarPlugin from '../plugins/FloatingFormatToolbar';\nimport '../styles/index.css';\n\nconst KoenigEditor = ({\n onChange,\n markdownTransformers\n}) => {\n const _onChange = React.useCallback((editorState) => {\n const json = editorState.toJSON();\n onChange?.(json);\n }, [onChange]);\n\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\">\n <RichTextPlugin\n contentEditable={\n <div ref={onRef}>\n <ContentEditable className=\"kg-prose\" />\n </div>\n }\n placeholder={<div className=\"kg-pointer-events-none kg-absolute kg-top-0 kg-left-0 kg-min-w-full kg-cursor-text kg-font-serif kg-text-xl kg-text-grey-500\">Begin writing your post...</div>}\n />\n <OnChangePlugin onChange={_onChange} />\n <HistoryPlugin /> {/* adds undo/redo */}\n <ListPlugin /> {/* adds indent/outdent/remove etc support */}\n <MarkdownShortcutPlugin transformers={markdownTransformers} />\n {floatingAnchorElem && (<FloatingFormatToolbarPlugin anchorElem={floatingAnchorElem} />)}\n </div>\n );\n};\n\nexport default KoenigEditor;\n"],"names":["f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min","module","DesignSandbox","_jsxs","_jsx","LexicalComposerContext_prod","LexicalComposerContext","LexicalComposerContext_1","aa","ba","ca","da","ea","fa","ha","ia","ka","la","ma","na","oa","pa","qa","ra","sa","ta","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","r","Ma","Na","t","Oa","Pa","Qa","Ta","Ua","Va","Wa","Xa","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","u","ib","x","v","w","jb","A","C","y","D","z","kb","B","lb","E","Q","Z","F","mb","nb","ob","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","G","H","I","J","K","Fb","L","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","M","Qb","Rb","Sb","Tb","Ub","Vb","Wb","N","Xb","$b","ac","bc","cc","dc","ec","fc","gc","hc","O","P","R","ic","S","jc","kc","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","T","Nc","Hc","Ic","Jc","Kc","Lc","Mc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","U","Zc","$c","ad","bd","cd","dd","ed","fd","gd","W","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","zd","Ad","Bd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","X","Y","Qd","Rd","Sd","Td","Ud","Vd","Wd","V","Xd","Ra","ua","ue","ve","pb","Cd","va","Dd","Ed","Yb","Fd","Zb","Gd","we","Sa","ja","wa","Hd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","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","KoenigCardWrapperComponent","children","createCommand","HorizontalRuleComponent","KoenigCardWrapper","HorizontalRuleNode","DecoratorNode","getType","clone","__key","importJSON","$createHorizontalRuleNode","exportJSON","type","version","createDOM","div","document","createElement","style","display","getTextContent","isTopLevel","updateDOM","decorate","$isHorizontalRuleNode","useAutoExpandTextArea","el","value","useEffect","height","CodeBlockComponent","className","code","language","nodeKey","editor","React","useRef","event","update","setCode","$getNodeByKey","target","updateCode","CodeBlockNode","constructor","initCode","key","__code","__language","$createCodeBlockNode","getCode","getLatest","self","getWritable","getLanguage","setLanguage","codeBlockTheme","theme","codeBlock","base","focus","getKey","$isCodeBlockNode","DEFAULT_NODES","HeadingNode","ListNode","ListItemNode","QuoteNode","LinkNode","defaultTheme","defaultOnError","error","console","defaultConfig","namespace","KoenigComposer","initialEditorState","nodes","onError","initialConfig","useMemo","Object","assign","editorState","LexicalText_prod","LexicalText","LexicalText_1","LexicalDragon_prod","LexicalDragon","LexicalDragon_1","require$$5","require$$6","LexicalRichTextPlugin_prod","LexicalRichTextPlugin","LexicalRichTextPlugin_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","_self","Prism","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","o","obj","deepClone","visited","i","err","src","scripts","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","text","rest","tokenList","LinkedList","addAfter","matchGrammar","toArray","name","hooks","callbacks","content","alias","matchedStr","stringify","s","aliases","attributes","matchPattern","pattern","pos","lookbehind","match","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","string","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","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","useLexicalNodeSelection_prod","useLexicalNodeSelection","useLexicalNodeSelection_1","LexicalHorizontalRuleNode_prod","LexicalHorizontalRuleNode","LexicalHorizontalRuleNode_1","LexicalMarkdownShortcutPlugin_prod","LexicalMarkdownShortcutPlugin","LexicalMarkdownShortcutPlugin_1","HR","dependencies","export","regExp","replace","parentNode","_1","_2","isImport","line","getNextSibling","insertBefore","selectNext","CODE_BLOCK","textNode","codeBlockNode","ELEMENT_TRANSFORMERS","HEADING","QUOTE","UNORDERED_LIST","ORDERED_LIST","DEFAULT_TRANSFORMERS","TEXT_FORMAT_TRANSFORMERS","TEXT_MATCH_TRANSFORMERS","MarkdownShortcutPlugin","transformers","getSelectedNode","selection","anchor","anchorNode","focusNode","$isAtNodeEnd","VERTICAL_GAP","setFloatingElemPosition","targetRect","floatingElem","anchorElem","options","scrollerElem","floatingElemRect","anchorElementRect","editorScrollerRect","top","left","getDOMRangeRect","nativeSelection","rootElement","domRange","rect","getScrollParent","overflowY","isScrollable","SvgKgBold","props","SvgKgItalic","SvgKgHeading1","SvgKgHeading2","SvgKgQuote1","SvgKgQuote2","blockTypeToBlockName","bullet","check","h1","h2","h3","h4","h5","h6","number","quote","aside","MenuItem","label","isActive","onClick","Icon","MenuSeparator","FloatingFormatToolbar","blockType","isBold","isItalic","toolbarRef","formatParagraph","$getSelection","$isRangeSelection","formatHeading","headingSize","$wrapNodes","$createHeadingNode","formatQuote","$createQuoteNode","updateFloatingToolbar","useCallback","toolbarElement","current","window","getSelection","getRootElement","isCollapsed","contains","rangeRect","scrollElement","getEditorState","read","addEventListener","removeEventListener","mergeRegister","registerUpdateListener","registerCommand","SELECTION_CHANGE_COMMAND","COMMAND_PRIORITY_LOW","BoldIcon","dispatchCommand","FORMAT_TEXT_COMMAND","ItalicIcon","HeadingOneIcon","HeadingTwoIcon","QuoteTwoIcon","QuoteOneIcon","useFloatingFormatToolbar","isText","setIsText","useState","setIsBold","setIsItalic","setBlockType","updatePopup","isComposing","getTopLevelElementOrThrow","elementKey","elementDOM","getElementByKey","hasFormat","$isListNode","parentList","$getNearestNodeOfType","getListType","$isHeadingNode","getTag","$isTextNode","createPortal","FloatingFormatToolbarPlugin","body","useLexicalComposerContext","KoenigEditor","onChange","markdownTransformers","_onChange","json","toJSON","floatingAnchorElem","setFloatingAnchorElem","onRef","_floatingAnchorElem","RichTextPlugin","ContentEditable","OnChangePlugin","HistoryPlugin","ListPlugin"],"mappings":";;;;;;;;;;;;;;;;AASa,IAAIA,KAAEC,GAAiBC,KAAE,OAAO,IAAI,eAAe,GAAEC,KAAE,OAAO,IAAI,gBAAgB,GAAEC,KAAE,OAAO,UAAU,gBAAeC,KAAEL,GAAE,mDAAmD,mBAAkBM,KAAE,EAAC,KAAI,IAAG,KAAI,IAAG,QAAO,IAAG,UAAS,GAAE;AAClP,SAASC,GAAEC,GAAEC,GAAEC,GAAE;AAAC,MAAIC,GAAEC,IAAE,IAAGC,IAAE,MAAKC,IAAE;AAAK,EAASJ,MAAT,WAAaG,IAAE,KAAGH,IAAYD,EAAE,QAAX,WAAiBI,IAAE,KAAGJ,EAAE,MAAcA,EAAE,QAAX,WAAiBK,IAAEL,EAAE;AAAK,OAAIE,KAAKF;AAAEL,IAAAA,GAAE,KAAKK,GAAEE,CAAC,KAAG,CAACL,GAAE,eAAeK,CAAC,MAAIC,EAAED,KAAGF,EAAEE;AAAI,MAAGH,KAAGA,EAAE;AAAa,SAAIG,KAAKF,IAAED,EAAE,cAAaC;AAAE,MAASG,EAAED,OAAX,WAAgBC,EAAED,KAAGF,EAAEE;AAAI,SAAM,EAAC,UAAST,IAAE,MAAKM,GAAE,KAAIK,GAAE,KAAIC,GAAE,OAAMF,GAAE,QAAOP,GAAE,QAAO;AAAC;cAAkBF;AAAaY,GAAA,MAACR;AAAEQ,GAAA,OAAaR;AAAAA;ACPxW,EAAAS,EAAA,UAAiBf;;gDCDbgB,KAAgB,wBAEd,OAAA;AAAA,EAAK,WAAU;AAAA,EAAf,6BACI,OAAA;AAAA,IAAK,WAAU;AAAA,IAAf,UACI,CAAAC,gBAAAA,GAAA,OAAA;AAAA,MAAK,WAAU;AAAA,MAAf,UACI,CAAAC,gBAAAA,EAAA,OAAA;AAAA,QAAK,WAAU;AAAA,QAAf,4BAAyD,QAAA;AAAA,UAAM,GAAE;AAAA,QAAA,CAAR;AAAA,MAD7D,CAAA,GAAA,UAAA;AAAA,IAAA,CAAA,GAIAA,gBAAAA,EAAA,OAAA;AAAA,MAAK,WAAU;AAAA,MAAf,UAAA;AAAA,IAAA,CALJ,CAAA;AAAA,EAAA,CAAA;AAAA,CAFR;sBCGaX,KAAEP;AAAiB,IAAIW,KAAEJ,GAAE,cAAc,IAAI;AAAgCY,GAAA,yBAACR;AAAsCQ,GAAA,+BAAC,SAASX,GAAE,GAAE;AAAC,MAAIE,IAAE;AAAK,SAAMF,KAAN,SAAUE,IAAEF,EAAE,KAAU,EAAC,UAAS,WAAU;AAAC,WAAa,KAAN,OAAQ,IAAQE,KAAN,OAAQA,EAAE,SAAU,IAAC;AAAA,EAAI,EAAC;AAAC;AACvNS,GAAA,4BAAC,WAAU;AAAC,MAAIX,IAAED,GAAE,WAAWI,EAAC;AAAE,MAASH,KAAN;AAAQ,UAAM,MAAM,sLAAsL;AAAE,SAAOA;AAAC;ACA1R,MAAMY,KAA+GpB;AACrH,IAAAqB,KAAiBD;ACFJ,IAAIE,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,IAAGC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,IAAGC,KAAG,CAAE,GAACC,KAAG,CAAA,GAAG1B,KAAE,CAAE,GAAC2B,KAAG,IAAGC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,IAAGC,KAAG,CAAA,GAAGC,KAAG,IAAGC,KAAG,CAAE,GAACC,KAAG,IAAGC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,IAAGC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,CAAA,GAAGC,KAAG,IAAGC,KAAG,CAAA,GAAGC,KAAG,CAAE,GAACC,KAAG,CAAA,GAAGC,KAAG,CAAE;AAAC,SAASC,EAAE/C,GAAE;AAAC,QAAM,MAAM,2BAA2BA,gDAAgDA,iHAAoH;AAAE;AACvb,IAAIgD,KAAiB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,KAAmDC,KAAGD,MAAI,kBAAiB,WAAS,SAAS,eAAa,MAAKE,KAAEF,MAAI,uBAAuB,KAAK,UAAU,QAAQ,GAAEG,KAAGH,MAAI,mCAAmC,KAAK,UAAU,SAAS,GAAEI,KAAGJ,MAAI,gBAAe,UAAQ,CAACC,KAAG,qBAAoB,IAAI,OAAO,WAAW,OAAO,IAAE,IAAGI,KAAGL,MAAI,0BAA0B,KAAK,UAAU,SAAS,GAAEM,KAAGN,MAAI,mBAAmB,KAAK,UAAU,SAAS,KACxf,CAAC,OAAO,UAASO,KAAGF,MAAIC,KAAG,SAAS,UAASE,KAAGL,KAAG,SAASI,IAAGE,KAAG,sKAAqKC,KAAG,sKAAqKC,KAAG,EAAC,MAAK,GAAE,MAAK,IAAG,QAAO,GAAE,eAAc,GAAE,WAAU,IAAG,aAAY,IAAG,WAAU,EAAC,GAAEC,KAAG;AAAA,EAAC,eAAc;AAAA,EACtf,aAAY;AAAC,GAAEC,KAAG,EAAC,QAAO,GAAE,SAAQ,GAAE,MAAK,GAAE,OAAM,EAAC,GAAEC,KAAG,EAAC,GAAE,UAAS,GAAE,WAAU,GAAE,QAAO,GAAE,QAAO,GAAEC,KAAG,EAAC,QAAO,GAAE,WAAU,GAAE,OAAM,EAAC,GAAEC,KAAG,EAAC,GAAE,UAAS,GAAE,aAAY,GAAE,QAAO,GAAEC,KAAG,IAAGC,KAAG;AAAE,SAASC,GAAGnE,GAAE;AAAC,EAAAkE,KAAGlE,EAAE;AAAS;AAAC,SAASoE,GAAGpE,GAAEE,GAAEH,GAAE;AAAC,SAAOG,EAAE,uBAAqBF,KAAYA,EAAE,gBAAgBD,EAAE,YAA7B;AAAoC;AAAC,SAASsE,GAAGrE,GAAE;AAAC,SAAOA,EAAE,iBAAiB,KAAK,MAAI;AAAC,QAAIE,IAAEoE,EAAC;AAAG,WAAcpE,MAAP,OAASA,EAAE,MAAK,IAAG;AAAA,EAAI,CAAC;AAAC;AAC9Y,SAASqE,GAAGvE,GAAEE,GAAEH,GAAE;AAAC,EAAAkE,KAAG;AAAG,MAAI9D,IAAE,MAAI,YAAY,IAAG,IAAG+D;AAAG,MAAG;AAACM,IAAAA,GAAExE,GAAE,MAAI;AAAC,UAAIT,IAAE+E,EAAC,KAAID,GAAGrE,CAAC;AAAE,UAAII,IAAE,oBAAI,OAAIH,IAAED,EAAE,eAAc,GAAGK,IAAEL,EAAE;AAAa,UAAIP,IAAE,IAAGE,IAAE;AAAG,eAAQD,IAAE,GAAEA,IAAEQ,EAAE,QAAOR,KAAI;AAAC,YAAIE,IAAEM,EAAER,IAAGI,IAAEF,EAAE,MAAK6E,IAAE7E,EAAE,QAAO8E,IAAEC,GAAGF,GAAEpE,CAAC;AAAE,YAAG,CAACuE,EAAEF,CAAC;AAAE,cAAqB5E,MAAlB,iBAAoB;AAAC,gBAAGF,IAAEO,KAAG0E,EAAEH,CAAC;AAAE,cAAA1E,GAAE;AAAC,gBAAAJ,IAAEL,GAAEO,IAAE2E;AAAE,oBAAIK,IAAEJ;AAAE,oBAAGK,EAAEnF,CAAC,GAAE;AAAC,sBAAIoF,IAAEpF,EAAE,OAAO,QAAS;AAAC,sBAAGoF,EAAE,GAAGF,CAAC,KAAGlF,EAAE,WAASoF,EAAE,UAAS,GAAG;AAAC,oBAAApF,IAAE;AAAG,0BAAMI;AAAA,kBAAC;AAAA,gBAAC;AAAC,gBAAAJ,IAAME,EAAE,aAAN,KAAgBgF,EAAE,WAAY;AAAA,cAAA;AAAC,YAAAlF,MAAIkF,IAAE,OAAO,aAAY,GAAGhF,IAAEF,IAAE,MAAYkF,MAAP,QAAUA,EAAE,eAAaL,MAAI7E,IAAEkF,EAAE,cAAahF,IAAEgF,EAAE,cAC5eL,IAAEA,EAAE,WAAiBA,MAAP,QAAUQ,GAAGP,GAAED,GAAE7E,GAAEE,GAAE,EAAE;AAAA,UAAE,WAAuBA,MAAd,aAAgB;AAAqB,iBAApBL,IAAE,IAAGK,IAAEF,EAAE,YAAekF,IAAE,GAAEA,IAAEhF,EAAE,QAAOgF,KAAI;AAAC,cAAAE,IAAElF,EAAEgF;AAAG,kBAAII,IAAEC,GAAGH,CAAC,GAAEI,IAAEJ,EAAE;AAAW,cAAMI,KAAN,QAAgBF,MAAP,QAAiBF,EAAE,aAAT,QAAmBZ,GAAGY,GAAEI,GAAEpF,CAAC,MAAImD,OAAK+B,IAAEF,EAAE,aAAWA,EAAE,eAAarF,KAAGuF,IAAGE,EAAE,YAAYJ,CAAC;AAAA,YAAE;AAA6B,gBAA5BpF,IAAEA,EAAE,cAAaE,IAAEF,EAAE,QAAU,IAAEE,GAAE;AAAK,mBAAJgF,IAAE,GAAME,IAAE,GAAEA,IAAElF,GAAEkF;AAAI,gBAAAI,IAAExF,EAAEoF,IAAUI,EAAE,aAAT,QAAmBhB,GAAGgB,GAAEX,GAAEzE,CAAC,MAAIyE,EAAE,YAAYW,CAAC,GAAEN;AAAK,cAAAhF,MAAIgF,MAAIL,MAAIxE,MAAIyE,IAAErE,EAAE,SAAS,IAAI,MAAM,IAAGD,EAAE,IAAIqE,GAAEC,CAAC;AAAA,YAAE;AAAA,UAAC;AAAA;AAAA,MAAC;AAAC,UAAG,IAAEtE,EAAE;AAAK,iBAAQ,CAACiF,GAAEC,CAAC,KAAIlF;AAAE,cAAGmF,EAAED,CAAC;AAAE,iBAAIlF,IAAEkF,EAAE,YAAWrF,IAAEoF,EAAE,YAAWhF,IAAE,GAAEA,IACpfD,EAAE,QAAOC;AAAI,cAAAX,IAAEM,EAAE,gBAAgBI,EAAEC,EAAE,GAASX,MAAP,SAAiBO,KAAN,QAASoF,EAAE,YAAY3F,CAAC,GAAEO,IAAEP,KAAGO,MAAIP,KAAG2F,EAAE,aAAa3F,GAAEO,CAAC,GAAEA,IAAEA,EAAE;AAAA;AAAkB4E,YAAAA,EAAES,CAAC,KAAGA,EAAE;AAA8B,UAAlBlF,IAAEL,EAAE,eAAiB,IAAEK,EAAE,QAAO;AAAC,aAAIH,IAAE,GAAEA,IAAEG,EAAE,QAAOH;AAAI,eAAIP,IAAEU,EAAEH,IAAGI,IAAEX,EAAE,YAAWA,IAAEA,EAAE,QAAOgF,IAAE,GAAEA,IAAErE,EAAE,QAAOqE;AAAI,YAAAD,IAAEpE,EAAEqE,IAAG9E,IAAE6E,EAAE,YAAiB7E,KAAN,QAAgB6E,EAAE,aAAT,QAAmBL,GAAGK,GAAE/E,GAAEM,CAAC,KAAGJ,EAAE,YAAY6E,CAAC;AAAE,QAAA1E,EAAE,YAAW;AAAA,MAAE;AAAC,MAAOR,MAAP,SAAWE,MAAIF,EAAE,QAAM,IAAGiG,GAAGjG,CAAC,IAAG4D,MAAIsC,GAAGzF,CAAC,KAAGT,EAAE,cAAcI,CAAC;AAAA,IAAE,CAAC;AAAA,EAAC,UAAC;AAAQ,IAAAsE,KAAG;AAAA,EAAE;AAAC;AACpb,SAASyB,GAAG1F,GAAE;AAAC,MAAIE,IAAEF,EAAE;AAAU,MAAUE,MAAP,MAAS;AAAC,QAAIH,IAAEG,EAAE,YAAW;AAAG,IAAAqE,GAAGvE,GAAED,GAAEG,CAAC;AAAA,EAAC;AAAC;AAAC,SAASyF,GAAG3F,GAAE;AAAC,EAAIkE,OAAJ,KAAQ0B,GAAG5F,CAAC,EAAE,iBAAiB,aAAYmE,IAAG,EAAE,GAAEnE,EAAE,YAAU,IAAI,iBAAiB,CAACE,GAAEH,MAAI;AAAC,IAAAwE,GAAGvE,GAAEE,GAAEH,CAAC;AAAA,EAAC,CAAC;AAAC;AAAC,IAAI8F,KAAG,GAAEC,KAAgB,OAAO,kBAApB,aAAmC,iBAAe,CAAA9F,MAAG;AAAC,UAAQ,QAAO,EAAG,KAAKA,CAAC;AAAC;AAChS,SAAS+F,GAAG/F,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,eAAc;AAAG,MAAG;AAAC,QAAIT;AAAE,QAAGA,IAASY,MAAP,QAAUA,EAAE,SAASD,CAAC,KAAGC,EAAE,SAASJ,CAAC,KAAUG,MAAP,MAAS;AAAC,UAAIE,IAAE,SAAS,eAAcH,IAASG,MAAP,OAASA,EAAE,WAAS;AAAK,MAAAb,IAAE,CAACqF,EAAED,GAAGzE,CAAC,CAAC,KAAaD,MAAV,WAA0BA,MAAb;AAAA,IAAc;AAAC,WAAOV,KAAGyG,GAAG9F,CAAC,MAAIF;AAAA,EAAC,QAAC;AAAS,WAAM;AAAA,EAAE;AAAC;AAAC,SAASgG,GAAGhG,GAAE;AAAC,SAAWA,KAAN,QAAS;AAAC,QAAIE,IAAEF,EAAE;AAAgB,QAASE,KAAN;AAAQ,aAAOA;AAAE,IAAAF,IAAEA,EAAE;AAAA,EAAU;AAAC,SAAO;AAAI;AAAC,SAASiG,GAAGjG,GAAE;AAAC,SAAOA,EAAE,aAAWA,EAAE,YAAW;AAAE;AAAC,SAASkG,GAAGlG,GAAE;AAAC,SAAWA,KAAN,QAAS;AAAC,QAAOA,EAAE,aAAN;AAAe,aAAOA;AAAE,IAAAA,IAAEA,EAAE;AAAA,EAAU;AAAC,SAAO;AAAI;AAChe,SAASmG,GAAGnG,GAAEE,GAAEH,GAAE;AAAC,SAAAG,IAAEyD,GAAGzD,IAAUF,IAAEE,MAAWH,MAAP,SAAeA,IAAEG,OAAP,KAAWF,IAAEE,IAASH,MAAP,QAAUA,IAAEG,IAAEF,IAAEE,IAAEF;AAAC;AAAC,SAASoG,GAAGpG,GAAE;AAAC,SAAO6E,EAAE7E,CAAC,KAAGqG,GAAGrG,CAAC,KAAG4E,EAAE5E,CAAC;AAAC;AAAC,SAASsG,GAAGtG,GAAE;AAAC,MAAIE,IAAEF,EAAE,UAAS;AAAG,MAAUE,MAAP,MAAS;AAAC,IAAAA,IAAEA,EAAE,YAAW,EAAG;AAAW,QAAIH,IAAEG,EAAE,QAAQF,EAAE,KAAK;AAAE,IAAKD,MAAL,MAAQgD,EAAE,EAAE,GAAEwD,GAAGvG,CAAC,GAAEE,EAAE,OAAOH,GAAE,CAAC;AAAA,EAAC;AAAC;AACrQ,SAASyG,GAAGxG,GAAE;AAAC,OAAGyG,MAAI1D,EAAE,EAAE;AAAE,MAAI7C,IAAEF,EAAE,UAAS,GAAGD,IAAEG,EAAE,UAASC,IAAEuG,GAAC;AAAG,MAAInH,IAAEoH,EAAC,GAAGvG,IAAED,EAAE;AAA4B,MAAnBA,IAAEZ,EAAE,gBAAyBQ,MAAP;AAAS,IAAAC;AAAE,aAAYD,MAAP,QAAU;AAAC,YAAGI,EAAE,IAAIJ,CAAC;AAAE,gBAAMC;AAAE,YAAIC,IAAEG,EAAE,IAAIL,CAAC;AAAE,YAAYE,MAAT;AAAW;AAAM,QAAAE,EAAE,IAAIJ,GAAE,EAAE,GAAEA,IAAEE,EAAE;AAAA,MAAQ;AAAC,EAAAC,IAAEA,EAAE,OAAMX,EAAE,aAAW,GAAEgG,EAAEvF,CAAC,IAAEG,EAAE,IAAID,GAAE,EAAE,IAAEX,EAAE,aAAa,IAAIW,CAAC;AAAC;AAAC,SAASqG,GAAGvG,GAAE;AAAC,MAAIE,IAAEF,EAAE,mBAAkB;AAAG,EAAAA,IAAEA,EAAE,kBAAwBE,MAAP,QAAUsG,GAAGtG,CAAC,GAASF,MAAP,QAAUwG,GAAGxG,CAAC;AAAC;AAC3X,SAAS4G,GAAE5G,GAAE;AAAC6G,EAAAA,GAAC;AAAG,MAAI3G,IAAEyG,EAAG;AAAC,MAAI5G,IAAEG,EAAE;AAAgB,EAAAF,MAAID,MAAIG,EAAE,kBAAgBF,GAASD,MAAP,SAAWG,IAAE4G,EAAE/G,CAAC,GAASG,MAAP,QAAUA,EAAE,YAAW,IAAWF,MAAP,SAAWA,IAAE8G,EAAE9G,CAAC,GAASA,MAAP,QAAUA,EAAE,YAAa;AAAE;AAAC,SAAS+G,KAAI;AAAC,SAAOC,IAAE,OAAKL,EAAC,EAAG;AAAe;AAAC,SAASG,EAAE9G,GAAEE,GAAE;AAAC,SAAAF,KAAGE,KAAGwG,MAAK,SAAS,IAAI1G,CAAC,GAAkBA,MAAT,SAAW,OAAKA;AAAC;AAAC,SAASmF,GAAGnF,GAAEE,GAAE;AAAC,MAAIH,IAAE4G,EAAC;AAAG,SAAA3G,IAAEA,EAAE,gBAAgBD,EAAE,SAAwBC,MAAT,SAAW8G,EAAE9G,GAAEE,CAAC,IAAE;AAAI;AAAC,SAASyE,GAAG3E,GAAEE,GAAE;AAAC,SAAWF,KAAN,QAAS;AAAC,QAAID,IAAEoF,GAAGnF,GAAEE,CAAC;AAAE,QAAUH,MAAP;AAAS,aAAOA;AAAE,IAAAC,IAAEA,EAAE;AAAA,EAAU;AAAC,SAAO;AAAI;AACnd,SAASiH,GAAGjH,GAAE;AAAC,MAAIE,IAAE,OAAO,OAAO,CAAE,GAACF,EAAE,WAAW;AAAE,SAAOA,EAAE,qBAAmBE;AAAC;AAAC,SAASgH,GAAGlH,GAAE;AAAC,SAAOA,EAAE,KAAK,MAAImH,KAAK,eAAgB,CAAA;AAAC;AAAC,SAASC,GAAGpH,GAAEE,GAAE;AAACsE,EAAAA,GAAExE,GAAE,MAAI;AAAC,QAAID,IAAE2G,GAAC;AAAG,QAAG,CAAC3G,EAAE,QAAS;AAAC,UAAYG,MAAT;AAAW,QAAAiH,GAAI,EAAC,UAAW;AAAA,WAAK;AAAC,QAAApH,IAAEA,EAAE;AAAS,iBAAQ,CAAA,EAAEI,CAAC,KAAIJ;AAAE,UAAAI,EAAE;MAAW;AAAA,EAAC,GAASH,EAAE,wBAAT,OAA6B,EAAC,KAAI,gBAAe,IAAE,MAAM;AAAC;AAAC,SAASmH,KAAI;AAAC,SAAOT,GAAG,EAAC,SAAS,IAAI,MAAM;AAAC;AAAC,SAASlB,GAAGxF,GAAE;AAAC,MAAIE,IAAEwG,GAAG;AAAC,EAAO1G,MAAP,SAAWA,EAAE,QAAM,IAAGA,EAAE,eAAa,OAAME,EAAE,aAAWF;AAAC;AAC5c,SAASqH,GAAGrH,GAAE;AAAC,MAAIE,IAAEyG,EAAC,GAAG5G;AAAE,EAAAC,GAAE;AAAC,SAAID,IAAEC,GAAQD,KAAN,QAAS;AAAC,UAAII,IAAEJ,EAAE,gBAAgBG,EAAE;AAAQ,UAAYC,MAAT,QAAW;AAAC,QAAAJ,IAAEI;AAAE,cAAMH;AAAA,MAAC;AAAC,MAAAD,IAAEA,EAAE;AAAA,IAAU;AAAC,IAAAA,IAAE;AAAA,EAAI;AAAC,SAAcA,MAAP,QAAUG,IAAEA,EAAE,eAAgB,GAACF,MAAIE,IAAE4G,EAAE,MAAM,IAAE,QAAMA,EAAE/G,CAAC;AAAC;AAAC,SAASuH,GAAGtH,GAAE;AAAC,SAAM,kCAAkC,KAAKA,CAAC;AAAC;AAAC,SAASuH,GAAGvH,GAAE;AAAC,MAAIE,IAAE,CAAA;AAAG,SAAYF,MAAP;AAAU,IAAAE,EAAE,KAAKF,CAAC,GAAEA,IAAEA,EAAE;AAAc,SAAOE;AAAC;AAAC,SAASsH,KAAI;AAAC,SAAO,KAAK,OAAQ,EAAC,SAAS,EAAE,EAAE,QAAQ,YAAW,EAAE,EAAE,OAAO,GAAE,CAAC;AAAC;AACja,SAASC,GAAGzH,GAAEE,GAAE;AAAC,MAAIH,IAAE,OAAO,aAAc;AAAC,MAAUA,MAAP,MAAS;AAAC,QAAII,IAAEJ,EAAE,YAAW,EAAC,cAAaR,GAAE,aAAYa,EAAC,IAAEL;AAAE,QAAUI,MAAP,QAAcA,EAAE,aAAN,MAAiBJ,IAAE4E,GAAGxE,CAAC,GAAE0E,EAAE9E,CAAC,IAAG;AAAe,UAAdI,IAAEA,EAAE,WAAaA,MAAIoD,MAAIrD,GAAE;AAAC,YAAID,IAAEC,EAAE;AAAO,QAAAC,IAAED,GAAEE,IAAEb,IAAEU;AAAA,MAAC;AAAC,MAAOE,MAAP,QAAU8E,GAAGlF,GAAEI,GAAEZ,GAAEa,GAAEJ,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AACzO,SAASiF,GAAGjF,GAAEE,GAAEH,GAAEI,GAAEZ,GAAE;AAAC,MAAIa,IAAEJ;AAAE,MAAGI,EAAE,WAAU,MAAKb,KAAG,CAACa,EAAE,QAAS,IAAE;AAAC,QAAIH,IAAEG,EAAE,YAAW;AAA0E,QAAvEJ,IAAEE,IAAGD,KAAGV,MAAIW,EAAEA,EAAE,SAAO,OAAKqD,OAAKvD,IAAEE,EAAE,MAAM,GAAE,EAAE,IAAGA,IAAEE,EAAE,eAAc,GAAMb,KAAGS,MAAIE;AAAE,UAAQF,MAAL;AAAO,YAAG4G,GAAE,IAAI,GAAEvD,MAAIC;AAAG,UAAAlD,EAAE,OAAQ;AAAA,aAAK;AAAC,cAAIC,IAAEsG;AAAI,qBAAW,MAAI;AAAC,YAAAtG,EAAE,OAAO,MAAI;AAAC,cAAAD,EAAE,WAAY,KAAEA,EAAE,OAAM;AAAA,YAAE,CAAC;AAAA,UAAC,GAAE,EAAE;AAAA,QAAC;AAAA;AAAM,QAAAb,IAAEa,EAAE,UAAW,GAACF,IAAEwH,GAAE,GAAGtH,EAAE,aAAkB2G,GAAI,MAAX,QAAa,CAAC9G,KAAUV,MAAP,QAAUwF,EAAE7E,CAAC,KAAG,CAACX,EAAE,oBAAqB,KAAMW,EAAE,OAAO,WAAb,IAAoBE,EAAE,UAAW,KAAEH,IAAEqE,EAAC,GAAGS,EAAE9E,CAAC,KAAUF,MAAP,QAAiBI,MAAP,SAAWF,EAAE,iBAAiBG,GAAEL,GAAEK,GAAED,CAAC,GAAEC,EAAE,YAAa,MACtfL,IAAEK,EAAE,kBAAiBL,IAAE4H,GAAE5H,CAAC,GAAEK,EAAE,QAAQL,CAAC,GAAEK,IAAEL,KAAIK,EAAE,eAAeJ,CAAC;AAAA,EAAE;AAAC;AAAC,SAAS4H,GAAG5H,GAAEE,GAAE;AAAC,MAAGA,EAAE,YAAa;AAAC,WAAM;AAAG,MAAG,CAACF,EAAE,YAAa;AAAC,WAAM;AAAG,EAAAA,IAAEA,EAAE,OAAO;AAAO,MAAID,IAAEG,EAAE,iBAAgB,GAAGC,IAAED,EAAE,QAAS;AAAC,SAAWF,MAAJ,MAAQA,IAAE,CAACE,EAAE,oBAAmB,KAAI,CAACH,EAAE,yBAAuBI,OAAKD,IAAEA,EAAE,mBAAoB,GAACF,KAAG6E,EAAE3E,CAAC,KAAGqF,EAAErF,CAAC,KAAGA,EAAE,eAAa,CAACA,EAAE,mBAAoB,IAAEF,KAAGA,MAAIE,EAAE,uBAAqB,CAACA,EAAE,wBAAsB,CAACH,EAAE,mBAAoB,KAAEI,IAAE;AAAE;AACzb,SAAS0H,GAAG7H,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE,QAAOG,IAAEH,EAAE,OAAMT,IAAEQ,EAAE;AAAU,MAAIK,IAAE,OAAO,aAAY;AAAG,EAAAA,IAASA,MAAP,OAASA,EAAE,aAAW;AAAK,MAAIH,IAAEF,EAAE,KAAIM,IAAEsG,EAAG,EAAC,gBAAgB1G,CAAC,GAAER,IAAES,EAAE;AAAO,SAAOD,MAAIE,EAAE,OAAK,CAAC0E,EAAEtF,CAAC,MAAI,IAAEE,KAAG6H,GAAGpH,CAAC,MAAIH,EAAE,WAASI,EAAE,UAAQ,CAACZ,EAAE,iBAAe0G,GAAG1G,CAAC,KAAGA,EAAE,QAAS,KAAE,IAAEE,KAAUY,MAAP,QAAU,CAACd,EAAE,iBAAea,MAAI8F,GAAG7F,CAAC,KAAGd,EAAE,UAAW,MAAGS,EAAE,UAAQ4H,GAAG5H,GAAET,CAAC;AAAC;AAAC,SAASuI,GAAG9H,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAEE;AAAG,SAAiB,OAAOH,KAAlB,YAAqBA,IAAEA,EAAE,MAAM,GAAG,GAAEC,EAAEE,KAAGH,KAAGA;AAAC;AACha,SAASgI,GAAG/H,GAAEE,GAAEH,GAAEI,GAAEZ,GAAE;AAAC,EAAIQ,EAAE,SAAN,MAAaA,IAAEI,EAAE,OAAMD,IAAEA,EAAE,IAAIC,EAAE,MAAM,GAAWD,MAAT,UAAY6C,EAAE,EAAE,GAAE7C,IAAEA,EAAE,OAAMC,IAAEH,EAAE,IAAIE,CAAC,GAAWC,MAAT,WAAaA,IAAE,oBAAI,OAAIH,EAAE,IAAIE,GAAEC,CAAC,IAAGA,EAAE,IAAIJ,CAAC,KAAGI,EAAE,IAAIJ,GAAER,CAAC;AAAE;AAAC,SAASyI,GAAGhI,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,UAAW,GAACT,IAAEQ;AAAE,SAAOI,MAAP,SAAWD,KAAOH,MAAJ,KAAOR,IAAES,EAAE,qBAAoB,GAAGA,IAAEG,KAAGD,KAAGH,MAAIC,EAAE,sBAAoBT,IAAES,EAAE,qBAAsB,IAAC,GAAEA,IAAEG,KAAWH,EAAE,gBAAgBE,IAAEX,IAAE,IAAEA,CAAC;AAAC;AACjW,SAAS0I,GAAGjI,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAO,SAAeA,EAAE,SAAd,aAA0BA,IAAEA,EAAE,QAAO,GAAGgI,GAAGhI,GAAEE,GAAEH,CAAC,MAAEC,IAAEA,EAAE,QAAO,GAAUE,KAAOH,MAAJ,KAAO,CAACG,KAAGH,MAAIC,EAAE,mBAAkB,KAAID,IAAEG,IAAEF,EAAE,mBAAoB,IAACA,EAAE,kBAAwBD,MAAP,OAASiI,GAAGhI,EAAE,iBAAkB,GAACE,GAAEF,EAAE,0BAAwBE,IAAE,IAAE,EAAE,IAAEH,KAAG;AAAI;AAAC,SAAS0F,GAAGzF,GAAE;AAAC,SAAAA,KAAGA,IAAE4F,GAAG5F,CAAC,EAAE,UAAQA,EAAE,WAAoCA,MAApB,qBAAsDA,MAA/B;AAAgC;AAAC,SAASkI,GAAGlI,GAAE;AAAC,SAAM,CAACmI,GAAEnI,CAAC,KAAG,CAACA,EAAE,iBAAe,CAACA,EAAE;AAAU;AACtb,SAASoI,GAAGpI,GAAEE,GAAE;AAAC,SAAAF,IAAEA,EAAE,aAAa,IAAIE,CAAC,GAAWF,MAAT,UAAY+C,EAAE,EAAE,GAAS/C;AAAC;AAAC,SAASqI,GAAGrI,GAAEE,IAAE,GAAE;AAAmB,MAAdA,MAAJ,KAAO6C,EAAE,CAAC,GAAE7C,IAAEoE,EAAC,GAAM,CAACS,EAAE7E,CAAC,KAAG,CAACqF,EAAEvF,CAAC;AAAE,WAAOE;AAAE,MAAI,EAAC,QAAOH,GAAE,OAAMI,EAAC,IAAED,GAAEX,IAAEQ,EAAE,QAAO,GAAGK,IAAED,EAAE,QAAS;AAAC,SAAAmI,GAAG/I,GAAES,CAAC,KAAGD,EAAE,IAAIC,EAAE,OAAM,GAAE,SAAS,GAAEsI,GAAGlI,GAAEJ,CAAC,KAAGG,EAAE,IAAIH,EAAE,OAAM,GAAE,SAAS,GAASE;AAAC;AAAC,SAASoI,GAAGtI,GAAEE,GAAE;AAAC,OAAIF,IAAEA,EAAE,UAAS,GAAUA,MAAP,QAAU;AAAC,QAAGA,EAAE,GAAGE,CAAC;AAAE,aAAM;AAAG,IAAAF,IAAEA,EAAE,UAAS;AAAA,EAAE;AAAC,SAAM;AAAE;AAAC,SAAS4F,GAAG5F,GAAE;AAAC,SAAAA,IAAEA,EAAE,SAAeA,MAAP,QAAU+C,EAAE,EAAE,GAAS/C;AAAC;AAAC,SAASuI,GAAGvI,GAAE;AAAC,SAAOmI,GAAEnI,CAAC,KAAGuF,EAAEvF,CAAC,KAAGA,EAAE,aAAY;AAAE;AAC3c,SAASwI,GAAGxI,GAAEE,GAAEH,GAAEI,GAAEZ,GAAE;AAAC,EAAAS,IAAEA,EAAE;AAAW,MAAII,IAAEJ,EAAE;AAAO,WAAQC,IAAE,GAAEA,IAAEG,GAAEH,KAAI;AAAC,QAAII,IAAEL,EAAEC,IAAGR,IAAEU,EAAE,IAAIE,CAAC;AAAE,IAASZ,MAAT,UAAYA,EAAE,aAAWS,MAAIqF,EAAE9F,CAAC,KAAG+I,GAAG/I,GAAEY,GAAEN,GAAEI,GAAEZ,CAAC,GAAEQ,EAAE,IAAIM,CAAC,KAAGd,EAAE,OAAOc,CAAC,GAAEF,EAAE,OAAOE,CAAC;AAAA,EAAE;AAAC;AAAC,SAASoI,GAAGzI,GAAEE,GAAEH,GAAEI,GAAE;AAAC,EAAAH,IAAEA,EAAE,UAASE,IAAEA,EAAE;AAAS,WAAQX,KAAKQ,GAAE;AAAC,QAAIK,IAAEF,EAAE,IAAIX,CAAC;AAAE,IAASa,MAAT,UAAYA,EAAE,WAAU,MAAKJ,EAAE,IAAIT,CAAC,KAAGQ,EAAE,OAAOR,CAAC,GAAEW,EAAE,OAAOX,CAAC;AAAA,EAAE;AAAC,WAAQ,CAACA,CAAC,KAAIY;AAAE,IAAAJ,IAAEG,EAAE,IAAIX,CAAC,GAAWQ,MAAT,UAAYA,EAAE,WAAU,MAAKwF,EAAExF,CAAC,KAAGyI,GAAGzI,GAAER,GAAES,GAAEE,GAAEC,CAAC,GAAEH,EAAE,IAAIT,CAAC,KAAGY,EAAE,OAAOZ,CAAC,GAAEW,EAAE,OAAOX,CAAC;AAAE;AACjb,SAASmJ,GAAG1I,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE,QAAOG,IAAEH,EAAE;AAAS,EAAAA,IAAEA,EAAE;AAAQ,MAAIT,IAAEW,EAAE,QAAOE,IAAEF,EAAE;AAAS,SAAAA,IAAEA,EAAE,UAAsBH,MAAP,QAAUA,MAAIR,OAAYY,MAAP,QAAUA,MAAIC,OAAYJ,MAAP,QAAUA,MAAIE;AAAE;AAAC,SAASyI,GAAG3I,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE,iBAAiBE,CAAC,GAAEC,IAAEwG,EAAG,EAAC;AAAiB,SAAAxG,EAAE,IAAIH,EAAE,KAAK,GAAEG,EAAE,IAAID,EAAE,KAAK,GAASH;AAAC;AACzQ,SAAS6I,GAAG5I,GAAE;AAAC,MAAQA,EAAE,WAAP,MAAeA,EAAE,aAAc,KAAE,CAACA,EAAE,cAAa;AAAG,IAAAA,EAAE,OAAM;AAAA,OAAO;AAAC,aAAQE,IAAUA,IAAEF,EAAE,mBAAkB,OAA9B,QAAmC6E,EAAE3E,CAAC,KAAGA,EAAE,aAAc,KAAE,CAACA,EAAE,cAAa;AAAI,UAAQA,EAAE,WAAP;AAAc,QAAAA,EAAE,OAAQ;AAAA,WAAK;AAAC,QAAAwI,GAAGxI,GAAEF,CAAC,MAAIA,IAAE2I,GAAGzI,GAAEF,CAAC;AAAG;AAAA,MAAK;AAAC,aAAQD,IAAUA,IAAEC,EAAE,eAAgB,OAA5B,QAA+B6E,EAAE9E,CAAC,KAAGA,EAAE,aAAY,KAAI,CAACA,EAAE,cAAe;AAAE,UAAQA,EAAE,WAAP;AAAc,QAAAA,EAAE;WAAa;AAAC,QAAA2I,GAAG1I,GAAED,CAAC,KAAG4I,GAAG3I,GAAED,CAAC;AAAE;AAAA,MAAK;AAAA,EAAC;AAAC;AACzX,SAAS8I,GAAG7I,GAAE;AAAC,SAAiBA,EAAE,SAAd,aAAoB;AAAC,QAAIE,IAAEF,EAAE,QAAS,GAACD,IAAEC,EAAE;AAA6F,QAAtFD,MAAIG,EAAE,qBAAmBA,IAAEA,EAAE,gBAAgBH,IAAE,CAAC,GAAEA,IAAE,OAAKG,IAAEA,EAAE,gBAAgBH,CAAC,GAAEA,IAAE,KAAO8E,EAAE3E,CAAC,GAAE;AAAC,MAAAF,EAAE,IAAIE,EAAE,OAAMH,IAAEG,EAAE,mBAAoB,IAAC,GAAE,MAAM;AAAE;AAAA,IAAK,WAAS,CAACqF,EAAErF,CAAC;AAAE;AAAM,IAAAF,EAAE,IAAIE,EAAE,OAAMH,IAAEG,EAAE,gBAAe,IAAG,GAAE,SAAS;AAAA,EAAC;AAAC;AAAC,IAAI4I,KAAE,IAAGC,KAAE,IAAGC,KAAE,IAAGC,IAAGC,IAAEC,IAAGC,KAAG,IAAGC,KAAG,IAAGC,IAAGC,KAAG,MAAKC,IAAGC,IAAGC,IAAGC,IAAGC,IAAGC;AACnW,SAASC,GAAG9J,GAAEE,GAAE;AAAC,MAAIH,IAAE2J,GAAG,IAAI1J,CAAC;AAAE,MAAUE,MAAP,MAAS;AAAC,QAAIC,IAAE4J,GAAG/J,CAAC;AAAE,IAAAE,EAAE,YAAYC,CAAC;AAAA,EAAC;AAAC,EAAAwJ,GAAG,IAAI3J,CAAC,KAAGkJ,GAAE,aAAa,OAAOlJ,CAAC,GAAEuF,EAAExF,CAAC,MAAIC,IAAED,EAAE,YAAWiK,GAAGhK,GAAE,GAAEA,EAAE,SAAO,GAAE,IAAI,IAAYD,MAAT,UAAYgI,GAAG8B,IAAGV,IAAGG,IAAGvJ,GAAE,WAAW;AAAC;AAAC,SAASiK,GAAGhK,GAAEE,GAAEH,GAAEI,GAAE;AAAC,SAAKD,KAAGH,GAAE,EAAEG,GAAE;AAAC,QAAIX,IAAES,EAAEE;AAAG,IAASX,MAAT,UAAYuK,GAAGvK,GAAEY,CAAC;AAAA,EAAC;AAAC;AAAC,SAAS8J,GAAGjK,GAAEE,GAAE;AAAC,EAAAF,EAAE,YAAY,cAAaE,CAAC;AAAC;AAAC,SAASgK,GAAGlK,GAAEE,GAAE;AAAC,EAAAF,EAAE,MAAM,YAAY,wBAA2BE,MAAJ,IAAM,KAAG,KAAGA,IAAE,IAAI;AAAC;AACvY,SAASiK,GAAGnK,GAAEE,GAAE;AAAC,EAAAF,IAAEA,EAAE,OAAUE,MAAJ,IAAM+J,GAAGjK,GAAE,EAAE,IAAME,MAAJ,IAAM+J,GAAGjK,GAAE,MAAM,IAAME,MAAJ,IAAM+J,GAAGjK,GAAE,QAAQ,IAAME,MAAJ,IAAM+J,GAAGjK,GAAE,OAAO,IAAME,MAAJ,KAAO+J,GAAGjK,GAAE,SAAS;AAAC;AAC5H,SAASoK,GAAGpK,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEwJ,GAAG,IAAI3J,CAAC;AAAE,EAASG,MAAT,UAAY4C,EAAE,EAAE;AAAE,MAAIxD,IAAEY,EAAE,UAAU8I,IAAGC,EAAC;AAAE,MAAI9I,IAAE8I,GAAE;AAA0J,MAA7I3J,EAAE,kBAAgB2J,GAAE,QAAMlJ,GAAEI,EAAE,IAAIJ,GAAET,CAAC,GAAEsF,EAAE1E,CAAC,IAAEZ,EAAE,aAAa,qBAAoB,MAAM,IAAEqF,EAAEzE,CAAC,KAAGZ,EAAE,aAAa,0BAAyB,MAAM,GAAKgG,EAAEpF,CAAC,GAAE;AAAC,IAAAH,IAAEG,EAAE,UAAaH,MAAJ,KAAOkK,GAAG3K,GAAES,CAAC,GAAEA,IAAEG,EAAE;AAAW,QAAIF,IAAED,EAAE;AAAO,QAAOC,MAAJ,GAAM;AAAC,MAAAG,IAAEJ,GAAE,EAAEC;AAAE,UAAII,IAAE0I;AAAEA,MAAAA,KAAE,IAAGsB,GAAGjK,GAAE,GAAEH,GAAEV,GAAE,IAAI,GAAE+K,GAAGnK,GAAEZ,CAAC,GAAEwJ,KAAE1I;AAAA,IAAC;AAAC,IAAAD,IAAED,EAAE,UAAaC,MAAJ,KAAO+J,GAAG5K,GAAEa,CAAC,GAAEmK,GAAG,MAAKvK,GAAET,CAAC,GAAE2I,GAAG/H,CAAC,MAAI2I,MAAG;AAAA;AAAA,GAAOE,MAAG;AAAA;AAAA;AAAA,EAAO;AAAM,IAAA5I,IAAED,EAAE,eAAgB,GAACyE,EAAEzE,CAAC,KAAGF,IAAEE,EAAE,SAAS+I,IAAED,EAAE,GAAShJ,MAAP,QAAUuK;AAAA,MAAGxK;AAAA,MACpfC;AAAA,IAAC,GAAEV,EAAE,kBAAgB,WAASsF,EAAE1E,CAAC,MAAIA,EAAE,gBAAiB,MAAG4I,MAAG3I,KAAI0I,MAAG1I,GAAE4I,MAAG5I;AAAE,SAAOF,MAAP,SAAiBH,KAAN,OAAQG,EAAE,aAAaX,GAAEQ,CAAC,KAAGA,IAAEG,EAAE,oBAAyBH,KAAN,OAAQG,EAAE,aAAaX,GAAEQ,CAAC,IAAEG,EAAE,YAAYX,CAAC,KAAIwI,GAAG8B,IAAGV,IAAGG,IAAGnJ,GAAE,SAAS,GAASZ;AAAC;AAAC,SAAS8K,GAAGrK,GAAEE,GAAEH,GAAEI,GAAEZ,GAAE;AAAC,MAAIa,IAAE0I;AAAE,OAAIA,KAAE,IAAG5I,KAAGH,GAAE,EAAEG;AAAE,IAAAkK,GAAGpK,EAAEE,IAAGC,GAAEZ,CAAC;AAAE,EAAAY,EAAE,uBAAqB2I,IAAEA,KAAE1I,IAAE0I;AAAC;AAAC,SAAS2B,GAAGzK,GAAEE,GAAE;AAAC,SAAAF,IAAEE,EAAE,IAAIF,EAAEA,EAAE,SAAO,EAAE,GAASqG,GAAGrG,CAAC,KAAG4E,EAAE5E,CAAC;AAAC;AACnX,SAASuK,GAAGvK,GAAEE,GAAEH,GAAE;AAAC,EAAAC,IAASA,MAAP,SAAeA,EAAE,WAAN,KAAcyK,GAAGzK,GAAE0J,EAAE,IAAGxJ,IAASA,MAAP,SAAeA,EAAE,WAAN,KAAcuK,GAAGvK,GAAEyJ,EAAE,IAAG3J,IAAEE,MAAIA,IAAEH,EAAE,oBAAyBG,KAAN,QAASH,EAAE,YAAYG,CAAC,GAAEH,EAAE,qBAAmB,QAAMG,MAAIA,IAAE,SAAS,cAAc,IAAI,GAAEH,EAAE,qBAAmBG,GAAEH,EAAE,YAAYG,CAAC;AAAE;AAC1P,SAASoK,GAAGtK,GAAEE,GAAE;AAAC,MAAIH,IAAEG,EAAE;AAAa,MAAGA,EAAE,4BAA0B6I,MAAGhJ,MAAIwJ,IAAG;AAAC,QAAInJ,IAAO2I,OAAL;AAAO,QAAG3I;AAAE,UAAID,IAAEoJ;AAAA;AAAQ,MAAApJ,IAAE4I,IAAE5I,IAAEsD,GAAG,KAAKtD,CAAC,IAAE,QAAMuD,GAAG,KAAKvD,CAAC,IAAE,QAAM;AAAK,QAAGA,MAAIJ,GAAE;AAAC,UAAIE,IAAEC,EAAE,WAAUG,IAAE4I,GAAG;AAAM,UAAI1J,IAASQ,MAAP,OAASM,EAAEN,KAAG;AAAO,UAAIN,IAASU,MAAP,OAASE,EAAEF,KAAG;AAAO,MAASZ,MAAT,WAAwB,OAAOA,KAAlB,aAAsBA,IAAEA,EAAE,MAAM,GAAG,GAAEA,IAAEc,EAAEN,KAAGR,IAAGU,EAAE,OAAO,GAAGV,CAAC,IAAUY,MAAP,QAAUC,KAAWD,MAAR,QAAUD,EAAE,gBAAgB,KAAK,KAAYT,MAAT,WAAwB,OAAOA,KAAlB,aAAsBM,IAAEN,EAAE,MAAM,GAAG,GAAEA,IAAEY,EAAEF,KAAGJ,IAAYN,MAAT,UAAYQ,EAAE,IAAI,GAAGR,CAAC,IAAGS,EAAE,MAAIC,IAAGkJ,OAAKrJ,EAAE,YAAW,EAAG,QAAMG;AAAA,IAAE;AAAC,IAAAoJ,KACnfpJ,GAAED,EAAE,0BAAwB6I,IAAE7I,EAAE,eAAaC;AAAA,EAAC;AAAC;AAC/C,SAASuK,GAAG1K,GAAEE,GAAE;AAAC,MAAIH,IAAE2J,GAAG,IAAI1J,CAAC,GAAEG,IAAEwJ,GAAG,IAAI3J,CAAC;AAAE,EAASD,MAAT,UAAqBI,MAAT,UAAY4C,EAAE,EAAE;AAAE,MAAIxD,IAAE6J,MAAIK,GAAG,IAAIzJ,CAAC,KAAGwJ,GAAG,IAAIxJ,CAAC;AAAE,MAAII,IAAEgI,GAAGc,IAAElJ,CAAC;AAAE,MAAGD,MAAII,KAAG,CAACZ;AAAE,WAAOgG,EAAExF,CAAC,KAAGI,IAAEC,EAAE,sBAA8BD,MAAT,WAAa2I,MAAG3I,GAAE6I,MAAG7I,IAAGA,IAAEC,EAAE,yBAAiCD,MAAT,WAAa4I,MAAG5I,OAAKA,IAAEJ,EAAE,eAAgB,GAAC8E,EAAE9E,CAAC,KAAG,CAACA,EAAE,gBAAiB,MAAGgJ,MAAG5I,IAAG6I,MAAG7I,GAAE2I,MAAG3I,IAAGC;AAAqC,MAAnCL,MAAII,KAAGZ,KAAGwI,GAAG8B,IAAGV,IAAGG,IAAGnJ,GAAE,SAAS,GAAKA,EAAE,UAAUJ,GAAEK,GAAE6I,EAAE;AAAE,WAAO9I,IAAEiK,GAAGpK,GAAE,MAAK,IAAI,GAASE,MAAP,QAAU6C,EAAE,EAAE,GAAE7C,EAAE,aAAaC,GAAEC,CAAC,GAAE0J,GAAG9J,GAAE,IAAI,GAAEG;AAAE,MAAGoF,EAAExF,CAAC,KAAGwF,EAAEpF,CAAC,GAAE;AACrZ,QADsZH,IAAEG,EAAE,UAASH,MAAID,EAAE,YAAUmK,GAAG9J,GAAEJ,CAAC,GAAEA,IAAEG,EAAE,UACrfH,MAAID,EAAE,YAAUoK,GAAG/J,GAAEJ,CAAC,GAAEA,IAAED,EAAE,YAAWA,IAAEI,EAAE,YAAcH,MAAID,KAAGR,GAAE;AAAC,UAAIU,IAAED,GAAEK,IAAEN;AAAE,MAAAR,IAAEY,GAAED,IAAE6I,IAAEA,KAAE;AAAG,UAAItE,IAAEqE;AAAEA,MAAAA,KAAE;AAAG,UAAIrJ,IAAEQ,EAAE,QAAON,IAAEU,EAAE;AAAO,UAAOZ,MAAJ,KAAWE,MAAJ,GAAM;AAAC,YAAID,IAAEO,EAAE;AAAU,YAAPI,IAAEA,EAAE,IAAMX,MAAIW;AAAE,UAAAqK,GAAGhL,GAAEU,CAAC;AAAA,aAAM;AAAC,cAAIR,IAAEmK,GAAGrK,CAAC;AAAE,UAAAW,IAAE+J,GAAG/J,GAAE,MAAK,IAAI,GAAED,EAAE,aAAaC,GAAET,CAAC,GAAEkK,GAAGpK,GAAE,IAAI;AAAA,QAAC;AAAA,MAAC,WAAaD,MAAJ;AAAM,QAAIE,MAAJ,KAAO0K,GAAGhK,GAAE,GAAEV,IAAE,GAAES,GAAE,IAAI;AAAA,eAAcT,MAAJ;AAAM,QAAIF,MAAJ,MAAQC,IAAQU,EAAE,sBAAR,MAA2B4J,GAAG/J,GAAE,GAAER,IAAE,GAAEC,IAAE,OAAKU,CAAC,GAAEV,MAAIU,EAAE,cAAY;AAAA,WAAS;AAAC,YAAIsE,IAAEjF,IAAE;AAAE,QAAAA,IAAEE,IAAE;AAAE,YAAImF,IAAE1E,EAAE,YAAW4E,IAAE;AAAE,aAAIrF,IAAE,GAAEqF,KAAGN,KAAG/E,KAAGF,KAAG;AAAC,cAAIK,IAAEG,EAAE+E;AAAG,cAAIE,IAAE7E,EAAEV;AAAG,cAAGG,MAAIoF;AAAE,YAAAJ,IAAE4F,GAAGxF,GAAE9E,CAAC,EAAE,aAC3e4E,KAAIrF;AAAA,eAAQ;AAAC,YAASD,MAAT,WAAaA,IAAE,IAAI,IAAIO,CAAC,IAAYL,MAAT,WAAaA,IAAE,IAAI,IAAIS,CAAC;AAAG,gBAAI+E,IAAExF,EAAE,IAAIE,CAAC,GAAEuF,IAAE3F,EAAE,IAAIwF,CAAC;AAAE,YAAAE,KAAGC,KAAGvF,IAAEsI,GAAGc,IAAEhE,CAAC,GAAEpF,MAAIgF,IAAEA,IAAE4F,GAAGxF,GAAE9E,CAAC,EAAE,eAAmB0E,KAAN,OAAQ1E,EAAE,aAAaN,GAAEgF,CAAC,IAAE1E,EAAE,YAAYN,CAAC,GAAE4K,GAAGxF,GAAE9E,CAAC,IAAG4E,OAAKoF,GAAGlF,GAAE9E,GAAE0E,CAAC,GAAEnF,QAAMmF,IAAEiF,GAAGjK,CAAC,EAAE,aAAYgK,GAAGhK,GAAEM,CAAC,GAAE4E;AAAA,UAAI;AAAA,QAAC;AAAC,QAAAtF,IAAEsF,IAAEN,GAAE9E,IAAED,IAAEF,GAAEC,KAAG,CAACE,KAAGF,IAAEW,EAAEZ,IAAE,IAAGC,IAAWA,MAAT,SAAW,OAAKwJ,GAAE,gBAAgBxJ,CAAC,GAAE2K,GAAGhK,GAAEV,GAAEF,GAAEW,GAAEV,CAAC,KAAGE,KAAG,CAACF,KAAGsK,GAAG/J,GAAE+E,GAAEN,GAAEtE,CAAC;AAAA,MAAC;AAAC,MAAA8H,GAAG3I,CAAC,MAAIuJ,MAAG;AAAA;AAAA,IAAQ1I,EAAE,uBAAqB0I,IAAEA,KAAErE,IAAEqE,IAAEwB,GAAG/K,GAAEa,CAAC,GAAE2I,KAAE7I,GAAEiI,GAAEhI,CAAC,KAAGoK,GAAGvK,GAAED,GAAEK,CAAC;AAAA,IAAC;AAAC,IAAA8H,GAAG/H,CAAC,MAAI2I,MAAG;AAAA;AAAA,GAAOE,MAAG;AAAA;AAAA;AAAA,EAAO;AAAM,IAAAjJ,IAAEI,EAAE,eAAgB,GAACyE,EAAEzE,CAAC,KAAGZ,IAAEY,EAAE;AAAA,MAAS+I;AAAAA,MACpfD;AAAA,IAAE,GAAS1J,MAAP,QAAUiL,GAAGxK,GAAET,CAAC,KAAGsF,EAAE1E,CAAC,KAAG,CAACA,EAAE,sBAAoB4I,MAAGhJ,IAAG+I,MAAG/I,GAAEiJ,MAAGjJ;AAAE,UAACsJ,MAAIlB,GAAEhI,CAAC,KAAGA,EAAE,iBAAe6I,OAAI7I,IAAEA,EAAE,YAAW,GAAGA,EAAE,eAAa6I,KAAU5I;AAAC;AAAC,SAASoK,GAAGxK,GAAEE,GAAE;AAAC,MAAIH,IAAEmJ,GAAE,oBAAmB/I,IAAE+I,GAAE;AAAY,MAAUnJ,MAAP,MAAS;AAAC,QAAGI,EAAEH,OAAKE;AAAE;AAAO,IAAAH,IAAEkH,GAAGiC,EAAC;AAAA,EAAC;AAAC,EAAAnJ,EAAEC,KAAGE;AAAC;AAAC,SAAS6J,GAAG/J,GAAE;AAAC,SAAAA,IAAE4J,GAAG,IAAI5J,CAAC,GAAWA,MAAT,UAAY+C,EAAE,EAAE,GAAS/C;AAAC;AACjT,IAAI2K,KAAE,OAAO,OAAO,CAAA,CAAE,GAAEC,KAAG,CAAC,CAAC,WAAUC,EAAE,GAAE,CAAC,aAAYC,EAAE,GAAE,CAAC,oBAAmBC,EAAE,GAAE,CAAC,kBAAiBC,EAAE,GAAE,CAAC,SAAQC,EAAE,GAAE,CAAC,SAAQC,EAAE,GAAE,CAAC,OAAMP,EAAC,GAAE,CAAC,QAAOA,EAAC,GAAE,CAAC,aAAYA,EAAC,GAAE,CAAC,YAAWA,EAAC,GAAE,CAAC,WAAUA,EAAC,GAAE,CAAC,SAAQA,EAAC,GAAE,CAAC,SAAQA,EAAC,GAAE,CAAC,QAAOA,EAAC,GAAE,CAAC,QAAOA,EAAC,CAAC;AAAEvH,MAAIwH,GAAG,KAAK,CAAC,eAAc,CAAC5K,GAAEE,MAAIiL,GAAGnL,GAAEE,CAAC,CAAC,CAAC;AAAE,IAAIkL,KAAG,GAAEC,KAAG,GAAEC,KAAG,GAAEC,KAAG,IAAGC,KAAG,IAAGC,KAAG,IAAGC,KAAG,IAAGC,KAAG,CAAC,GAAE,GAAE,QAAO,CAAC;AAAE,SAASC,GAAG5L,GAAEE,GAAE;AAAC,SAAcF,MAAP,QAAiBA,EAAE,cAAT,QAAwBA,EAAE,aAAN,KAAoBE,MAAJ,KAAOA,MAAIF,EAAE,UAAU;AAAM;AACjc,SAAS6L,GAAG7L,GAAEE,GAAEH,GAAE;AAAC,MAAI,EAAC,YAAWI,GAAE,cAAaZ,GAAE,WAAUa,GAAE,aAAYH,EAAC,IAAED;AAAE,EAAGuL,OAAKA,KAAG,IAAGK,GAAGzL,GAAEZ,CAAC,KAAGqM,GAAGxL,GAAEH,CAAC,MAAUuE,GAAEtE,GAAE,MAAI;AAAC,QAAG,CAACH;AAAE,MAAAyF,GAAG,IAAI;AAAA,aAAUO,GAAG7F,GAAEC,GAAEC,CAAC,GAAE;AAAC,UAAIC,IAAEiE,EAAC;AAAG,UAAGS,EAAE1E,CAAC,GAAE;AAAC,YAAIZ,IAAEY,EAAE,QAAOV,IAAEF,EAAE,QAAO;AAAG,YAAGY,EAAE,YAAW,GAAG;AAAC,UAAUL,EAAE,SAAZ,WAAkBA,EAAE,eAAaA,EAAE,cAAYK,EAAE,QAAM;AAAI,cAAIX,IAAEkG,GAAG1F,CAAC,EAAE;AAAM,UAAAR,IAAEA,IAAEA,EAAE,YAAU,YAAY,IAAK;AAAC,cAAI,CAACE,GAAEE,GAAE2E,GAAEC,CAAC,IAAEiH;AAAG,UAAAjM,IAAEgF,IAAE,OAAKjF,EAAE,WAASK,KAAGL,EAAE,QAAMgF,IAAEpE,EAAE,SAAOT,IAAWH,EAAE,SAAX,SAAgBY,EAAE,SAAOV,EAAE,UAAS,IAAeF,EAAE,SAAd,cAAqBY,EAAE,SAAO;AAAA,QAAE,OAAK;AAAC,UAAAZ,IAAE,KAAIE,IAAE,IAAGD,IAAEW,EAAE,SAAQ;AACvf,cAAIT,IAAEF,EAAE;AAAO,mBAAQI,IAAE,GAAEA,IAAEF,GAAEE,KAAI;AAAC,gBAAI2E,IAAE/E,EAAEI;AAAG,gBAAG+E,EAAEJ,CAAC,MAAI9E,IAAE,IAAGF,KAAGgF,EAAE,UAAW,GAAKhF,MAAJ;AAAO;AAAA,UAAK;AAAC,UAAAY,EAAE,SAAOV,IAAEF,IAAE;AAAA,QAAC;AAAA,MAAC;AAACqM,MAAAA,EAAE5L,GAAEY,IAAG,MAAM;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AAAC,SAASoK,GAAGlL,GAAEE,GAAE;AAACsE,EAAAA,GAAEtE,GAAE,MAAI;AAAC,QAAIH,IAAEuE,KAAInE,IAAE,OAAO,gBAAeZ,IAAEmI,GAAE;AAAG,QAAG3C,EAAEhF,CAAC,GAAE;AAAC,UAAIK,IAAEL,EAAE,QAAOE,IAAEG,EAAE;AAAU,MAAAD,KAAeC,EAAE,SAAd,aAAwBA,EAAE,WAAN,KAAcL,EAAE,iBAAe,CAACoI,GAAElI,CAAC,KAAOkH,GAAI,EAAC,gBAAiB,MAA1B,KAA4BlH,EAAE,0BAAyB,EAAG,QAAO,KAAWV,MAAP,QAAUQ,EAAE,GAAGR,CAAC,MAAIY,EAAE,gBAAe,GAAGJ,EAAE,QAAM;AAAA,IAAG;AAAC+L,IAAAA,EAAE5L,GAAEa,IAAGf,CAAC;AAAA,EAAC,CAAC;AAAC;AACxa,SAAS8K,GAAG9K,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAO,EAAAD,aAAa,QAAMyE,GAAEtE,GAAE,MAAI;AAAC0E,IAAAA,EAAED,GAAG5E,CAAC,CAAC,MAAIyL,KAAG;AAAA,EAAG,CAAC;AAAC;AAAC,SAASO,GAAG/L,GAAEE,GAAE;AAAC,EAAAA,EAAE,oBAAkBA,IAAEA,EAAE,gBAAe,EAAG,OAAKF,EAAE,cAAcE,CAAC;AAAC;AAAC,SAAS8L,GAAGhM,GAAEE,GAAE;AAAC,SAAOF,MAAIE,KAAGqF,EAAEvF,CAAC,KAAGuF,EAAErF,CAAC,KAAG,CAACF,EAAE,QAAS,KAAE,CAACE,EAAE,QAAO;AAAE;AACxO,SAASiL,GAAGnL,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAU,EAA0BD,MAA1B,2BAA6BoD,MAAIsC,GAAGvF,CAAC,KAA6BH,MAA1B,2BAA6ByE,GAAEtE,GAAE,MAAI;AAAC,QAAIC,IAAEmE,EAAC;AAAG,QAA6BvE,MAA1B,yBAA4B;AAAC,UAAUI,MAAP,MAAS;AAAC,YAAIZ,IAAEmI,GAAI;AAAC,YAAG,CAAC3C,EAAExF,CAAC;AAAE;AAAO,QAAAiG,GAAGjG,EAAE,MAAK,CAAE;AAAA,MAAC;AAAC,UAAGwF,EAAE5E,CAAC,GAAE;AAAC,QAAMkL,OAAN,OAAUrL,EAAE,YAAUoL,KAAG,MAAIlL,EAAE,YAAa,KAAEC,EAAE,OAAO,QAAMA,EAAE,MAAM,OAAKyG,GAAE,IAAI,GAAEwE,KAAG,GAAE,WAAW,MAAI;AAAC5G,UAAAA,GAAEtE,GAAE,MAAI;AAAC0G,YAAAA,GAAE,IAAI;AAAA,UAAC,CAAC;AAAA,QAAC,GAAE,EAAE,GAAE7B,EAAE5E,CAAC,MAAIZ,IAAEY,EAAE,OAAO,QAAS,GAACZ,EAAE,UAAS,GAAGY,EAAE,SAAOZ,EAAE,UAAW,OAAIS,EAAE,kBAAiB8L,EAAE5L,GAAEc,IAAG,EAAE;AAAG;AAAA,MAAM;AAAA,IAAC;AAAC,QAAG+D,EAAE5E,CAAC,GAAE;AAAC,MAAAZ,IAAES,EAAE,MAAKG,EAAE,SAAO,CAACA,EAAE,YAAW,KAAIgI,GAAEhI,EAAE,OAAO,QAAO,CAAE,KACrgB4L,GAAG5L,GAAEH,CAAC;AAAE,UAAII,IAAED,EAAE,OAAMF,IAAEE,EAAE,OAAO,QAAO;AAAiB,UAAdC,IAAEA,EAAE,WAA4BL,MAAf,gBAAsCA,MAApB;AAAsB,QAAOR,MAAP;AAAA,KAAUS,EAAE,eAAc,GAAG8L,EAAE5L,GAAEe,IAAG,EAAE,KAAY1B,MAAT;AAAA;AAAA,KAAYS,EAAE,eAAc,GAAG8L,EAAE5L,GAAEgB,IAAG,MAAM,KAAS3B,KAAN,QAASS,EAAE,gBAAcT,IAAES,EAAE,aAAa,QAAQ,YAAY,GAAEA,EAAE,kBAAiBG,EAAE,cAAcZ,CAAC,KAASA,KAAN,QAASsI,GAAG1H,GAAEZ,CAAC,MAAIS,EAAE,eAAgB,GAAC8L,EAAE5L,GAAEiB,IAAG5B,CAAC;AAAA;AAAQ,gBAAOS,EAAE,eAAgB,GAACD;AAAA,eAAQ;AAAA,eAAsB;AAAA,eAAsB;AAAwB+L,YAAAA,EAAE5L,GAAEiB,IAAGnB,CAAC;AAAE;AAAA,eAAW;AAAwB4G,YAAAA,GAAE,IAAI,GAAEkF;AAAAA,cAAE5L;AAAA,cACtfiB;AAAAA,cAAGnB;AAAA,YAAC;AAAE;AAAA,eAAW;AAAkB4G,YAAAA,GAAE,IAAI,GAAEkF,EAAE5L,GAAEe,IAAG,EAAE;AAAE;AAAA,eAAW;AAAkB2F,YAAAA,GAAE,IAAI,GAAE6E,MAAIA,KAAG,IAAGK,EAAE5L,GAAEe,IAAG,EAAE,KAAG6K,EAAE5L,GAAEgB,IAAG,MAAM;AAAE;AAAA,eAAW;AAAA,eAAuB;AAA6B4K,YAAAA,EAAE5L,GAAEkB,IAAGpB,CAAC;AAAE;AAAA,eAAW;AAAsB,YAAAgM,GAAG/L,GAAEG,CAAC,KAAG0L,EAAE5L,GAAEmB,IAAG,MAAM;AAAE;AAAA,eAAW;AAAA,eAAoB;AAAcyK,YAAAA,EAAE5L,GAAEmB,IAAG,MAAM;AAAE;AAAA,eAAW;AAAgByK,YAAAA,EAAE5L,GAAEc,IAAG,EAAE;AAAE;AAAA,eAAW;AAAqB8K,YAAAA,EAAE5L,GAAEoB,IAAG,EAAE;AAAE;AAAA,eAAW;AAAoBwK,YAAAA,EAAE5L,GAAEoB,IAAG,EAAE;AAAE;AAAA,eAAW;AAAA,eAA8B;AAAyBwK,YAAAA;AAAAA,cAAE5L;AAAA,cAC7fqB;AAAAA,cAAG;AAAA,YAAE;AAAE;AAAA,eAAW;AAAA,eAA4B;AAAA,eAA6B;AAAwBuK,YAAAA,EAAE5L,GAAEqB,IAAG,EAAE;AAAE;AAAA,eAAW;AAAsBuK,YAAAA,EAAE5L,GAAEL,IAAE,eAAe;AAAE;AAAA,eAAW;AAAaiM,YAAAA,EAAE5L,GAAEL,IAAE,MAAM;AAAE;AAAA,eAAW;AAAeiM,YAAAA,EAAE5L,GAAEL,IAAE,QAAQ;AAAE;AAAA,eAAW;AAAkBiM,YAAAA,EAAE5L,GAAEL,IAAE,WAAW;AAAE;AAAA,eAAW;AAAciM,YAAAA,EAAE5L,GAAEsB,IAAG,MAAM;AAAE;AAAA,eAAW;AAAcsK,YAAAA,EAAE5L,GAAEuB,IAAG,MAAM;AAAA;AAAA,IAAE;AAAA,EAAC,CAAC;AAAC;AACzX,SAASwJ,GAAGjL,GAAEE,GAAE;AAAC,EAAAF,EAAE,mBAAkBwE,GAAEtE,GAAE,MAAI;AAAC,QAAIH,IAAEuE,EAAC,GAAGnE,IAAEH,EAAE;AAAK,IAAMG,KAAN,QAAS4E,EAAEhF,CAAC,KAAG8H,GAAG9H,GAAEI,CAAC,KAAGuL,OAAKO,GAAG/L,GAAEC,CAAC,GAAEuL,KAAG,KAAII,EAAE5L,GAAEiB,IAAGhB,CAAC,GAAEA,IAAEA,EAAE,QAAOgD,MAAI,IAAEhD,KAA6BH,EAAE,cAA5B,2BAAuC,CAACE,EAAE,YAAW,MAAKH,EAAE,OAAO,UAAQI,IAAGkD,MAAIC,MAAI,CAACpD,EAAE,YAAa,MAAGkL,KAAG,GAAExE,GAAE,IAAI,OAAKa,GAAG,EAAE,GAAEiE,OAAKO,GAAG/L,GAAEC,KAAG,MAAM,GAAEuL,KAAG,MAAK7E,GAAC,GAAG9G,IAAE4G,EAAC,GAAGjB,GAAG3F,CAAC;AAAA,EAAC,CAAC;AAAC;AACzT,SAASgL,GAAG/K,GAAEE,GAAE;AAACsE,EAAAA,GAAEtE,GAAE,MAAI;AAAC,QAAIH,IAAEuE,EAAG;AAAC,QAAGS,EAAEhF,CAAC,KAAG,CAACG,EAAE,YAAa,GAAC;AAAC,UAAIC,IAAEJ,EAAE;AAAO6G,MAAAA,GAAEzG,EAAE,GAAG,IAAGH,EAAE,YAAUoL,KAAG,MAAgBjL,EAAE,SAAd,aAAoB,CAACJ,EAAE,YAAa,KAAEA,EAAE,OAAO,QAAO,EAAG,UAAS,MAAKA,EAAE,WAAS+L,EAAE5L,GAAEiB,IAAGqC,EAAE;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AAC1M,SAASyI,GAAGjM,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAwB,MAAR4G,GAAE,IAAI,GAAY7G,MAAP,QAAgBG,KAAN,MAAQ;AAAC,QAAQA,MAAL,IAAO;AAAC,MAAAA,IAAE4G,EAAE/G,CAAC,GAAEC,IAAEkG,GAAGlG,EAAE,gBAAgBD,CAAC,CAAC,GAASC,MAAP,QAAiBA,EAAE,cAAT,QAAoB6E,EAAE3E,CAAC,KAAG+E,GAAG/E,GAAEF,EAAE,WAAU,MAAK,MAAK,EAAE;AAAE;AAAA,IAAM;AAAC,QAAUE,EAAEA,EAAE,SAAO,OAAlB;AAAA,MAAuBH,IAAEuE,KAAIS,EAAEhF,CAAC,IAAG;AAAC,MAAAG,IAAEH,EAAE,OAAMA,EAAE,OAAO,IAAIG,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI,GAAE4L,EAAE9L,GAAEgC,IAAG,IAAI;AAAE;AAAA,IAAM;AAAA,EAAC;AAAC,EAAAyF,GAAG,IAAGvH,CAAC;AAAC;AAAC,SAAS8K,GAAGhL,GAAEE,GAAE;AAAC,EAAAiD,KAAGuI,KAAG,KAAGlH,GAAEtE,GAAE,MAAI;AAAC,IAAA+L,GAAG/L,GAAEF,EAAE,IAAI;AAAA,EAAC,CAAC;AAAC;AAClW,SAAS6K,GAAG7K,GAAEE,GAAE;AAAC,MAAQF,EAAE,oBAAP,OAAyBA,EAAE,kBAAgB,IAAGoL,KAAGpL,EAAE,WAAUqL,KAAGrL,EAAE,SAAQ,CAACE,EAAE,YAAW,IAAI;AAAC,QAAI,EAAC,SAAQH,GAAE,UAASI,GAAE,SAAQZ,GAAE,SAAQa,GAAE,QAAOH,EAAC,IAAED;AAAE,QAAQD,MAAL,MAAQR,KAAGa,KAAGH;AAAE,UAAQF,MAAL,MAAQE,KAAGE,KAAG,CAACZ,KAAG,CAACa;AAAE,YAAQL,MAAL,MAAQR,KAAGa,KAAGH;AAAE,cAAQF,MAAL,MAAQE,KAAGE,KAAG,CAACZ,KAAG,CAACa;AAAE,gBAAQL,MAAL,MAAQR,KAAGa;AAAE,kBAAQL,MAAL,MAAQR,KAAGa;AAAE,oBAAQL,MAAL,MAAQI;AAAE,kBAAAsL,KAAG,IAAGK,EAAE5L,GAAE8B,IAAGhC,CAAC;AAAA,yBAAeD,MAAL;AAAO+L,kBAAAA,EAAE5L,GAAE+B,IAAGjC,CAAC;AAAA,yBAAUkD,MAAG3D,KAAQQ,MAAL;AAAO,kBAAAC,EAAE,eAAgB,GAACyL,KAAG,IAAGK,EAAE5L,GAAEe,IAAG,EAAE;AAAA,yBAAelB,MAAL,MAAQI,GAAE;AAAC,sBAAIE,IAAE6C,KAAEjD,KAAGG,IAAE,KAAOL,MAAJ,KAAYA,MAAL,MAAQR,IAAEA,KAAGU,KAAGG,IAAE,KAAOL,MAAJ;AAAM,kBAAAM,IAAMN,MAAJ,IAAM+L,EAAE5L,GAAEgC,IAAGlC,CAAC,KAAGA,EAAE,eAAgB,GAC1f8L,EAAE5L,GAAEc,IAAG,EAAE,KAAQjB,MAAL,KAAO+L,EAAE5L,GAAEiC,IAAGnC,CAAC,KAAGK,IAAE6C,KAAE/C,KAAGF,KAAGG,IAAE,KAAQL,MAAL,MAAaA,MAAL,MAAQR,IAAEA,KAAGU,KAAGG,IAAE,KAAQL,MAAL,IAAOM,IAAON,MAAL,KAAO+L,EAAE5L,GAAEkC,IAAGpC,CAAC,KAAGA,EAAE,eAAc,GAAG8L,EAAE5L,GAAEc,IAAG,EAAE,KAAOjB,MAAJ,MAAQmD,KAAEjD,IAAEV,MAAIS,EAAE,eAAc,GAAG8L,EAAE5L,GAAEoB,IAAG,EAAE,KAAQvB,MAAL,OAASmD,KAAEjD,IAAEV,MAAIS,EAAE,eAAgB,GAAC8L,EAAE5L,GAAEoB,IAAG,EAAE,KAAG4B,MAAG9C,KAAOL,MAAJ,KAAOC,EAAE,kBAAiB8L,EAAE5L,GAAEqB,IAAG,EAAE,KAAG2B,MAAG9C,KAAQL,MAAL,MAAQC,EAAE,eAAgB,GAAC8L,EAAE5L,GAAEqB,IAAG,EAAE,KAAQxB,MAAL,MAAQ,CAACE,MAAIiD,KAAE9C,IAAEb,MAAIS,EAAE,eAAc,GAAG8L,EAAE5L,GAAEL,IAAE,MAAM,KAAQE,MAAL,MAAQ,CAACE,MAAIiD,KAAE9C,IAAEb,MAAIS,EAAE,eAAgB,GAAC8L,EAAE5L,GAAEL,IAAE,WAAW,KAAQE,MAAL,MAAQ,CAACE,MAAIiD,KAAE9C,IAAEb,MAAIS,EAAE,eAAc,GAAG8L,EAAE5L,GAAEL,IAAE,QAAQ,KAAOE,MAAJ,KAAOE,KAAGV,KAClfa,IAAOL,MAAL,MAAQ,CAACI,MAAI+C,KAAE9C,IAAEb,MAAIS,EAAE,eAAgB,GAAC8L,EAAE5L,GAAEsB,IAAG,MAAM,MAAInB,IAAE6C,KAAOnD,MAAL,MAAQK,KAAGD,IAAOJ,MAAL,MAAQR,KAAQQ,MAAL,MAAQR,KAAGY,GAAEE,KAAGL,EAAE,kBAAiB8L,EAAE5L,GAAEuB,IAAG,MAAM,KAAGyK,GAAGhM,EAAE,aAAa,UAAU,MAAIG,IAAEF,IAAE,KAAQJ,MAAL,KAAOmD,KAAE9C,IAAEb,IAAE,IAAGc,KAAGL,EAAE,eAAgB,GAAC8L,EAAE5L,GAAEwC,IAAG1C,CAAC,MAAIK,IAAEF,IAAE,KAAQJ,MAAL,KAAOmD,KAAE9C,IAAEb,IAAE,IAAGc,MAAIL,EAAE,eAAc,GAAG8L,EAAE5L,GAAEyC,IAAG3C,CAAC,QAAM8L,EAAE5L,GAAEmC,IAAGrC,CAAC;AAAA,gBAAE;AAAM,kBAAAyL,KAAG,IAAGK,EAAE5L,GAAE8B,IAAGhC,CAAC;AAAA;AAAO8L,gBAAAA,EAAE5L,GAAE6B,IAAG/B,CAAC;AAAA;AAAO8L,cAAAA,EAAE5L,GAAE4B,IAAG9B,CAAC;AAAA;AAAO8L,YAAAA,EAAE5L,GAAE2B,IAAG7B,CAAC;AAAA;AAAO8L,UAAAA,EAAE5L,GAAE0B,IAAG5B,CAAC;AAAA;AAAO8L,QAAAA,EAAE5L,GAAEyB,IAAG3B,CAAC;AAAA;AAAO8L,MAAAA,EAAE5L,GAAEwB,IAAG1B,CAAC;AAAE,KAACT,KAAGY,KAAGF,KAAGG,MAAI0L,EAAE5L,GAAE4C,IAAG9C,CAAC;AAAA,EAAC;AAAC;AACjb,SAASmM,GAAGnM,GAAE;AAAC,MAAIE,IAAEF,EAAE;AAAsB,SAASE,MAAT,WAAaA,IAAE,IAAGF,EAAE,wBAAsBE,IAAUA;AAAC;AAAC,IAAIkM,KAAG,oBAAI;AAAI,SAASC,KAAI;AAAC,MAAIrM,IAAE,OAAO;AAAe,MAAUA,MAAP,MAAS;AAAC,QAAIE,IAAE8F,GAAGhG,EAAE,UAAU;AAAE,QAAUE,MAAP,MAAS;AAAC,MAAAsL,OAAKA,KAAG,IAAGhH,GAAEtE,GAAE,MAAI;AAAC,YAAID,IAAEyH,GAAE,GAAGrH,IAAEL,EAAE;AAAW,QAAOK,MAAP,SAAWA,IAAEA,EAAE,UAAaA,MAAJ,KAAWA,MAAJ,OAASJ,IAAEqM,GAAGrM,GAAED,GAAEE,CAAC,GAAEsF,GAAGvF,CAAC;AAAA,MAAE,CAAC;AAAG,UAAIF,IAAEwH,GAAGrH,CAAC;AAAE,MAAAH,IAAEA,EAAEA,EAAE,SAAO;AAAG,UAAII,IAAEJ,EAAE,MAAKR,IAAE6M,GAAG,IAAIjM,CAAC,GAAEC,IAAEb,KAAGQ;AAAE,MAAAK,MAAIF,KAAG2L,GAAG7L,GAAEI,GAAE,EAAE,GAAEyL,GAAG7L,GAAEE,GAAE,EAAE,GAAEA,MAAIH,IAAEqM,GAAG,IAAIjM,GAAED,CAAC,IAAEX,KAAG6M,GAAG,OAAOjM,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AACrb,SAASoM,GAAGvM,GAAEE,GAAE;AAAC,EAAIoL,OAAJ,KAAQtL,EAAE,cAAc,iBAAiB,mBAAkBqM,EAAE,GAAEf,MAAKtL,EAAE,kBAAgBE;AAAE,MAAIH,IAAEoM,GAAGnM,CAAC;AAAE,WAAQG,IAAE,GAAEA,IAAEyK,GAAG,QAAOzK,KAAI;AAAC,QAAI,CAACZ,GAAEa,CAAC,IAAEwK,GAAGzK,IAAGF,IAAe,OAAOG,KAApB,aAAsB,CAAAC,MAAG;AAAC,MAAAH,EAAE,WAAY,KAAEE,EAAEC,GAAEH,CAAC;AAAA,IAAC,IAAE,CAAAG,MAAG;AAAC,UAAGH,EAAE,WAAY;AAAC,gBAAOX;AAAA,eAAQ;AAAM,mBAAOuM,EAAE5L,GAAEyC,IAAGtC,CAAC;AAAA,eAAO;AAAO,mBAAOyL,EAAE5L,GAAEwC,IAAGrC,CAAC;AAAA,eAAO;AAAQ,mBAAOyL,EAAE5L,GAAEkB,IAAGf,CAAC;AAAA,eAAO;AAAY,mBAAOyL,EAAE5L,GAAEqC,IAAGlC,CAAC;AAAA,eAAO;AAAW,mBAAOyL,EAAE5L,GAAEsC,IAAGnC,CAAC;AAAA,eAAO;AAAU,mBAAOyL,EAAE5L,GAAEuC,IAAGpC,CAAC;AAAA,eAAO;AAAQ,mBAAOyL,EAAE5L,GAAE0C,IAAGvC,CAAC;AAAA,eAAO;AAAO,mBAAOyL,EAAE5L,GAAE2C,IAAGxC,CAAC;AAAA,eAAO;AAAO,mBAAOyL;AAAAA,cAAE5L;AAAA,cAChgBoC;AAAA,cAAGjC;AAAA,YAAC;AAAA;AAAA,IAAE;AAAE,IAAAL,EAAE,iBAAiBT,GAAEU,CAAC,GAAEF,EAAE,KAAK,MAAI;AAAC,MAAAC,EAAE,oBAAoBT,GAAEU,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC;AAAC;AACzE,MAAMuM,GAAC;AAAA,EAAC,YAAYxM,GAAEE,GAAEH,GAAE;AAAC,SAAK,aAAW,MAAK,KAAK,MAAIC,GAAE,KAAK,SAAOE,GAAE,KAAK,OAAKH;AAAA,EAAC;AAAA,EAAC,GAAGC,GAAE;AAAC,WAAO,KAAK,QAAMA,EAAE,OAAK,KAAK,WAASA,EAAE,UAAQ,KAAK,SAAOA,EAAE;AAAA,EAAI;AAAA,EAAC,SAASA,GAAE;AAAC,QAAIE,IAAE,KAAK,QAAO,GAAGH,IAAEC,EAAE,QAAS,GAACG,IAAE,KAAK;AAAkB,QAAXH,IAAEA,EAAE,QAAUuF,EAAErF,CAAC,GAAE;AAAC,UAAIX,IAAEW,EAAE,qBAAqBC,CAAC;AAAE,MAAAD,IAAQX,KAAN,OAAQA,IAAEW;AAAA,IAAC;AAACqF,WAAAA,EAAExF,CAAC,MAAIR,IAAEQ,EAAE,qBAAqBC,CAAC,GAAED,IAAQR,KAAN,OAAQA,IAAEQ,IAAUG,MAAIH,IAAEI,IAAEH,IAAEE,EAAE,SAASH,CAAC;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,QAAIC,IAAE8G,EAAE,KAAK,GAAG;AAAE,WAAO9G,MAAP,QAAU+C,EAAE,EAAE,GAAS/C;AAAA,EAAC;AAAA,EAAC,IAAIA,GAAEE,GAAEH,GAAE;AAAC,QAAII,IAAE,KAAK,YAAWZ,IAAE,KAAK;AAAI,SAAK,MAAIS,GAAE,KAAK,SAAOE,GAAE,KAAK,OAAKH,GACnfiH,MAAID,GAAI,MAAGxH,KAAGqH,GAAE5G,CAAC,GAASG,MAAP,SAAWA,EAAE,eAAa,MAAKA,EAAE,QAAM;AAAA,EAAI;AAAC;AAAC,SAASsM,GAAGzM,GAAEE,GAAE;AAAC,MAAIH,IAAEG,EAAE,OAAMC,IAAEH,EAAE,QAAOT,IAAE;AAAU,MAAGsF,EAAE3E,CAAC;AAAE,IAAAX,IAAE,QAAOW,IAAEA,EAAE,mBAAkB,GAAGC,IAAED,MAAIC,IAAED;AAAA,WAAW,CAACqF,EAAErF,CAAC,GAAE;AAAC,QAAIE,IAAEF,EAAE,eAAc;AAAG,IAAG2E,EAAEzE,CAAC,KAAEL,IAAEK,EAAE,OAAMD,IAAE,MAAUC,IAAEF,EAAE,UAAW,OAACH,IAAEK,EAAE,OAAMD,IAAED,EAAE,qBAAsB,IAAC;AAAA,EAAC;AAAC,EAAAF,EAAE,IAAID,GAAEI,GAAEZ,CAAC;AAAC;AAAC,SAASmN,GAAG1M,GAAEE,GAAE;AAAC,MAAGqF,EAAErF,CAAC,GAAE;AAAC,QAAIH,IAAEG,EAAE,kBAAmB;AAACqF,IAAAA,EAAExF,CAAC,KAAG8E,EAAE9E,CAAC,IAAE0M,GAAGzM,GAAED,CAAC,IAAE0M,GAAGzM,GAAEE,CAAC;AAAA,EAAC;AAAM,IAAAuM,GAAGzM,GAAEE,CAAC;AAAC;AAClZ,SAASyM,GAAG3M,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,QAAS,GAACT,IAAEY,EAAE,gBAAgBH,EAAE,MAAM,GAAEI,IAAEuH,GAAG,GAAC1H,IAAEkI,GAAEhI,CAAC,IAAEyM,GAAI,EAAC,OAAOxM,CAAC,IAAEA;AAAE,EAAAA,EAAE,UAAUL,CAAC,GAASR,MAAP,OAASY,EAAE,OAAOF,CAAC,IAAEV,EAAE,aAAaU,CAAC,GAAED,EAAE,GAAGE,CAAC,KAAGA,EAAE,IAAIE,EAAE,OAAM,GAAE,MAAM,GAAEJ,EAAE,IAAII,EAAE,OAAM,GAAE,MAAM;AAAC;AAAC,SAASyM,GAAG7M,GAAEE,GAAEH,GAAEI,GAAE;AAAC,EAAAH,EAAE,MAAIE,GAAEF,EAAE,SAAOD,GAAEC,EAAE,OAAKG;AAAC;AAChQ,MAAM2M,GAAE;AAAA,EAAC,YAAY9M,GAAE;AAAC,SAAK,QAAM,IAAG,KAAK,SAAOA,GAAE,KAAK,eAAa;AAAA,EAAI;AAAA,EAAC,GAAGA,GAAE;AAAC,QAAG,CAACkM,GAAGlM,CAAC;AAAE,aAAM;AAAG,QAAIE,IAAE,KAAK,QAAOH,IAAEC,EAAE;AAAO,WAAOE,EAAE,SAAOH,EAAE,QAAM,MAAM,KAAKG,CAAC,EAAE,MAAM,CAAAC,MAAGJ,EAAE,IAAII,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,IAAIH,GAAE;AAAC,SAAK,QAAM,IAAG,KAAK,OAAO,IAAIA,CAAC,GAAE,KAAK,eAAa;AAAA,EAAI;AAAA,EAAC,OAAOA,GAAE;AAAC,SAAK,QAAM,IAAG,KAAK,OAAO,OAAOA,CAAC,GAAE,KAAK,eAAa;AAAA,EAAI;AAAA,EAAC,QAAO;AAAC,SAAK,QAAM,IAAG,KAAK,OAAO,MAAK,GAAG,KAAK,eAAa;AAAA,EAAI;AAAA,EAAC,IAAIA,GAAE;AAAC,WAAO,KAAK,OAAO,IAAIA,CAAC;AAAA,EAAC;AAAA,EAAC,QAAO;AAAC,WAAO,IAAI8M,GAAG,IAAI,IAAI,KAAK,MAAM,CAAC;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,WAAO,KAAK,SAAQ;AAAA,EAAE;AAAA,EAAC,gBAAe;AAAA,EAAA;AAAA,EAAE,aAAY;AAAA,EAAA;AAAA,EAAE,YAAY9M,GACxhBE,GAAE;AAAC,QAAIH,IAAE,KAAK,SAAQ,GAAGI,IAAEJ,EAAE;AAAO,QAAIR,IAAEQ,EAAEI,IAAE;AAAG,QAAG0E,EAAEtF,CAAC;AAAE,MAAAA,IAAEA,EAAE,OAAQ;AAAA,SAAK;AAAC,UAAIa,IAAEb,EAAE,qBAAsB,IAAC;AAAE,MAAAA,IAAEA,EAAE,mBAAmB,OAAOa,GAAEA,CAAC;AAAA,IAAC;AAAoB,SAAnBb,EAAE,YAAYS,GAAEE,CAAC,GAAMF,IAAE,GAAEA,IAAEG,GAAEH;AAAI,MAAAD,EAAEC,GAAG,OAAQ;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,QAAIA,IAAE,KAAK;AAAa,QAAUA,MAAP;AAAS,aAAOA;AAAE,QAAIE,IAAE,KAAK;AAAO,IAAAF,IAAE,CAAA;AAAG,aAAQD,KAAKG;AAAE,MAAAA,IAAE4G,EAAE/G,CAAC,GAASG,MAAP,QAAUF,EAAE,KAAKE,CAAC;AAAE8G,WAAAA,MAAI,KAAK,eAAahH,IAAUA;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIA,IAAE,KAAK,SAAQ,GAAGE,IAAE;AAAG,aAAQH,IAAE,GAAEA,IAAEC,EAAE,QAAOD;AAAI,MAAAG,KAAGF,EAAED,GAAG,eAAgB;AAAC,WAAOG;AAAA,EAAC;AAAC;AAAC,SAAS6E,EAAE/E,GAAE;AAAC,SAAOA,aAAa+M;AAAE;AAClf,MAAMC,GAAE;AAAA,EAAC,YAAYhN,GAAEE,GAAEH,GAAE;AAAC,SAAK,UAAQC,GAAE,KAAK,SAAOE,GAAE,KAAK,QAAMH,GAAE,KAAK,QAAM,IAAG,KAAK,eAAa,MAAKG,EAAE,aAAW,MAAKH,EAAE,aAAW;AAAA,EAAI;AAAA,EAAC,GAAGC,GAAE;AAAC,WAAOiN,GAAGjN,CAAC,IAAE,KAAK,YAAUA,EAAE,WAAS,KAAK,OAAO,GAAG,KAAK,KAAK,IAAE;AAAA,EAAE;AAAA,EAAC,IAAIA,GAAEE,GAAEH,GAAE;AAAC,SAAK,QAAM,IAAG,KAAK,UAAQC,GAAE,KAAK,OAAO,MAAIE,GAAE,KAAK,MAAM,MAAIH,GAAE,KAAK,eAAa;AAAA,EAAI;AAAA,EAAC,QAAO;AAAC,WAAO,IAAIiN,GAAG,KAAK,SAAQ,KAAK,QAAO,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,WAAO,KAAK,MAAM,SAAS,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,WAAOE,GAAG,IAAI;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,WAAO,KAAK,SAAU;AAAA,EAAA;AAAA,EAAC,gBAAe;AAAA,EAAA;AAAA,EAAE,aAAY;AAAA,EAAA;AAAA,EAAE,YAAYlN,GACrjBE,GAAE;AAAC,QAAIH,IAAE,KAAK,MAAM,QAAO;AAAG,WAAAA,IAAEA,EAAE,OAAO,GAAEA,EAAE,gBAAiB,CAAA,GAAE8I,GAAG9I,EAAE,MAAM,GAAE8I,GAAG9I,EAAE,KAAK,GAASA,EAAE,YAAYC,GAAEE,CAAC;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,QAAIF,IAAE8G,EAAE,KAAK,OAAO,GAAG;AAAE,IAAO9G,MAAP,QAAU+C,EAAE,EAAE;AAAE,QAAI7C,IAAEF,EAAE;AAAuB,IAAAA,IAAEA,EAAE,mBAAmB,qBAAsB;AAAC,QAAID,IAAE+G,EAAE,KAAK,MAAM,GAAG;AAAE,IAAO/G,MAAP,QAAUgD,EAAE,EAAE;AAAE,QAAI5C,IAAEJ,EAAE,qBAAsB;AAAC,QAAIR,IAAEQ,EAAE,iBAAgB,EAAG,qBAAoB;AAAG,WAAAA,IAAE,KAAK,IAAIG,GAAEC,CAAC,GAAED,IAAE,KAAK,IAAIA,GAAEC,CAAC,GAAEA,IAAE,KAAK,IAAIH,GAAET,CAAC,GAAES,IAAE,KAAK,IAAIA,GAAET,CAAC,GAAQ,EAAC,OAAM,KAAK,IAAIQ,GAAEG,CAAC,GAAE,OAAM,KAAK,IAAIC,GAAEH,CAAC,GAAE,KAAI,KAAK,IAAID,GAAEG,CAAC,GAAE,KAAI,KAAK;AAAA,MAAIC;AAAA,MAC3fH;AAAA,IAAC,EAAC;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,QAAIA,IAAE,KAAK;AAAa,QAAUA,MAAP;AAAS,aAAOA;AAAE,IAAAA,IAAE,oBAAI;AAAI,QAAI,EAAC,OAAME,GAAE,OAAMH,GAAE,KAAII,GAAE,KAAIZ,EAAC,IAAE,KAAK,SAAU;AAAC,QAAIa,IAAE0G,EAAE,KAAK,OAAO;AAAE,IAAAqG,GAAG/M,CAAC,KAAG2C,EAAE,EAAE,GAAE/C,EAAE,IAAII,CAAC,GAAEA,IAAEA,EAAE,YAAa;AAAC,aAAQX,IAAEM,GAAEN,KAAGF,GAAEE,KAAI;AAAC,UAAIQ,IAAEG,EAAEX;AAAG,MAAAO,EAAE,IAAIC,CAAC,GAAEmN,GAAGnN,CAAC,KAAG8C,EAAE,EAAE,GAAE9C,IAAEA,EAAE,YAAa;AAAC,eAAQN,IAAEO,GAAEP,KAAGQ,GAAER,KAAI;AAAC,YAAIU,IAAEJ,EAAEN;AAAyB,aAAtB0N,GAAGhN,CAAC,KAAG0C,EAAE,EAAE,GAAE/C,EAAE,IAAIK,CAAC,GAAMA,IAAEA,EAAE,YAAW,GAAG,IAAEA,EAAE,UAAQ;AAAC,cAAIX,IAAEW,EAAE,MAAO;AAAC,UAAAL,EAAE,IAAIN,CAAC,GAAE6F,EAAE7F,CAAC,KAAGW,EAAE,QAAQ,GAAGX,EAAE,YAAa,CAAA;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;AAAC,WAAAM,IAAE,MAAM,KAAKA,CAAC,GAAEgH,MAAI,KAAK,eAAahH,IAAUA;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIA,IAAE,KAAK,SAAQ,GAAGE,IAAE;AACnf,aAAQH,IAAE,GAAEA,IAAEC,EAAE,QAAOD;AAAI,MAAAG,KAAGF,EAAED,GAAG,eAAgB;AAAC,WAAOG;AAAA,EAAC;AAAC;AAAC,SAAS+M,GAAGjN,GAAE;AAAC,SAAOA,aAAagN;AAAE;AACnG,MAAMD,GAAE;AAAA,EAAC,YAAY/M,GAAEE,GAAEH,GAAE;AAAC,SAAK,SAAOC,GAAE,KAAK,QAAME,GAAE,KAAK,QAAM,IAAG,KAAK,SAAOH,GAAE,KAAK,eAAa,MAAKC,EAAE,aAAW,MAAKE,EAAE,aAAW;AAAA,EAAI;AAAA,EAAC,GAAGF,GAAE;AAAC,WAAO+E,EAAE/E,CAAC,IAAE,KAAK,OAAO,GAAGA,EAAE,MAAM,KAAG,KAAK,MAAM,GAAGA,EAAE,KAAK,KAAG,KAAK,WAASA,EAAE,SAAO;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,WAAO,KAAK,MAAM,SAAS,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,WAAO,KAAK,OAAO,GAAG,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,QAAIA,IAAE,KAAK;AAAa,QAAUA,MAAP;AAAS,aAAOA;AAAE,QAAIE,IAAE,KAAK,QAAOH,IAAE,KAAK;AAAM,IAAAC,IAAEE,EAAE,QAAS;AAAC,QAAIC,IAAEJ,EAAE;AAAUwF,WAAAA,EAAEvF,CAAC,MAAIE,IAAEF,EAAE,qBAAqBE,EAAE,MAAM,GAAEF,IAClfE,KADof,OAClfA,IAAEF,IAAGuF,EAAEpF,CAAC,MAAIJ,IAAEI,EAAE,qBAAqBJ,EAAE,MAAM,GAAEI,IAAQJ,KAAN,OAAQA,IAAEI,IAAGH,IAAEA,EAAE,GAAGG,CAAC,IAAEoF,EAAEvF,CAAC,MAAI,IAAEA,EAAE,gBAAe,KAAIA,EAAE,qBAAmB,CAAE,IAAC,CAACA,CAAC,IAAEA,EAAE,gBAAgBG,CAAC,GAAE6G,MAAI,KAAK,eAAahH,IAAUA;AAAA,EAAC;AAAA,EAAC,iBAAiBA,GAAEE,GAAEH,GAAEI,GAAE;AAAC,IAAA0M,GAAG,KAAK,QAAO7M,EAAE,OAAME,GAAE,MAAM,GAAE2M,GAAG,KAAK,OAAM9M,EAAE,OAAMI,GAAE,MAAM,GAAE,KAAK,eAAa,MAAK,KAAK,QAAM;AAAA,EAAE;AAAA,EAAC,iBAAgB;AAAC,QAAIH,IAAE,KAAK,SAAU;AAAC,QAAOA,EAAE,WAAN;AAAa,aAAM;AAAG,QAAIE,IAAEF,EAAE,IAAGD,IAAEC,EAAEA,EAAE,SAAO,IAAGG,IAAE,KAAK,OAAO,SAAS,KAAK,KAAK,GAAE,CAACZ,GAAEa,CAAC,IAAE8M,GAAG,IAAI,GAAEjN,IAAE,IAAGI,IAAE;AAAG,aAAQZ,IAAE,GAAEA,IAAEO,EAAE,QAAOP,KAAI;AAAC,UAAIE,IAAEK,EAAEP;AACtf,UAAG8F,EAAE5F,CAAC,KAAG,CAACA,EAAE,SAAU;AAAC,QAAAU,MAAIJ,KAAG;AAAA,IAAMI,IAAE,CAAAV,EAAE,QAAS;AAAA,eAAeU,IAAE,IAAGwE,EAAElF,CAAC,GAAE;AAAC,YAAID,IAAEC,EAAE,eAAc;AAAG,QAAAA,MAAIO,IAAER,IAAEC,MAAII,IAAER,IAAEa,IAAEV,EAAE,MAAMH,GAAEa,CAAC,IAAEV,EAAE,MAAMU,GAAEb,CAAC,IAAEY,IAAET,EAAE,MAAMH,CAAC,IAAEG,EAAE,MAAMU,CAAC,IAAET,MAAII,MAAIL,IAAES,IAAET,EAAE,MAAM,GAAEU,CAAC,IAAEV,EAAE,MAAM,GAAEH,CAAC,IAAGU,KAAGP;AAAA,MAAC;AAAK,SAACkF,EAAEjF,CAAC,KAAG,CAAC0G,GAAG1G,CAAC,KAAGA,MAAII,KAAG,KAAK,YAAa,MAAGE,KAAGN,EAAE,eAAc;AAAA,IAAG;AAAC,WAAOM;AAAA,EAAC;AAAA,EAAC,cAAcD,GAAE;AAAC,QAAIE,IAAEyG,EAAG,GAAC5G,IAAEG,EAAE,eAAc,EAAG;AAA+E,QAApEF,IAAEsN,GAAGtN,EAAE,gBAAeA,EAAE,aAAYA,EAAE,cAAaA,EAAE,WAAUE,GAAEH,CAAC,GAAYC,MAAP,MAAS;AAAC,UAAI,CAACG,GAAEZ,CAAC,IAAES;AAAE,MAAA6M,GAAG,KAAK,QAAO1M,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI,GAAE0M;AAAA,QAAG,KAAK;AAAA,QAAMtN,EAAE;AAAA,QACjfA,EAAE;AAAA,QAAOA,EAAE;AAAA,MAAI,GAAE,KAAK,eAAa;AAAA,IAAI;AAAA,EAAC;AAAA,EAAC,QAAO;AAAC,QAAIS,IAAE,KAAK,QAAOE,IAAE,KAAK;AAAM,WAAO,IAAI6M,GAAG,IAAIP,GAAExM,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI,GAAE,IAAIwM,GAAEtM,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI,GAAE,KAAK,MAAM;AAAA,EAAC;AAAA,EAAC,aAAaF,GAAE;AAAC,SAAK,SAAOmG,GAAG,KAAK,QAAOnG,GAAE,IAAI,GAAE,KAAK,QAAM;AAAA,EAAE;AAAA,EAAC,UAAUA,GAAE;AAAC,YAAY,KAAK,SAAO2D,GAAG3D,QAApB;AAAA,EAAuB;AAAA,EAAC,cAAcA,GAAE;AAAC,QAAIE,IAAEF,EAAE,MAAM,OAAO;AAAE,QAAOE,EAAE,WAAN;AAAa,WAAK,WAAWF,CAAC;AAAA,SAAM;AAAC,MAAAA,IAAE,CAAE;AAAC,UAAID,IAAEG,EAAE;AAAO,eAAQC,IAAE,GAAEA,IAAEJ,GAAEI,KAAI;AAAC,YAAIZ,IAAEW,EAAEC;AAAG,QAAKZ,MAAL,MAAQS,EAAE,KAAK2H,GAAEpI,CAAC,CAAC,GAAEY,MAAIJ,IAAE,KAAGC,EAAE,KAAKuN,GAAE,CAAE;AAAA,MAAC;AAAC,WAAK,YAAYvN,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,WAAWA,GAAE;AAAC,QAAIE,IAAE,KAAK,QAC/eH,IAAE,KAAK,OAAMI,IAAE,KAAK,YAAW,KAAID,EAAE,SAASH,CAAC,GAAER,IAAE,KAAK;AAAO,IAAAY,KAAeD,EAAE,SAAd,YAAmByM,GAAGzM,GAAEH,GAAER,CAAC,IAAEY,KAAeJ,EAAE,SAAd,aAAoB4M,GAAG5M,GAAEG,GAAEX,CAAC;AAAE,QAAIa,IAAE,KAAK,SAAU,GAACH,IAAEG,EAAE,QAAOC,IAAEF,IAAEJ,IAAEG;AAAE,IAAAH,KAAGI,IAAED,IAAEH,GAAG;AAAO,QAAIN,IAAEY,EAAE;AAAO,IAAAH,IAAEE,EAAE,IAAGyE,EAAE3E,CAAC,KAAG6C,EAAE,EAAE,GAAE5C,IAAED,EAAE,eAAc,EAAG;AAAO,QAAIP,IAAEO,EAAE,iBAAgB,GAAGR,IAAEU,EAAEH,IAAE;AAAG,QAAG,KAAK,YAAa,KAAEF,MAAII,MAAID,EAAE,YAAa,KAAEA,EAAE,QAAS,KAAE,CAACA,EAAE,mBAAkB,KAAI,CAACP,EAAE,mBAAoB,KAASO,EAAE,eAAgB,MAAzB,OAA2B;AAAC,UAAIN,IAAEM,EAAE,eAAc;AACzY,WAD+Y,CAAC2E,EAAEjF,CAAC,KAAGqG,GAAGrG,CAAC,OAAEA,IAAE+H,MAAI/H,EAAE,UAAUL,CAAC,GAAEI,EAAE,mBAAoB,IAC3fO,EAAE,YAAYN,CAAC,IAAED,EAAE,YAAYC,CAAC,IAAEA,EAAE,OAAO,GAAE,CAAC,GAAEM,IAAEN,GAAUI,MAAL,IAAO;AAAC,aAAK,WAAWA,CAAC;AAAE;AAAA,MAAM;AAAA,IAAC,WAAS,KAAK,YAAW,KAAQD,MAAJ,MAAQG,EAAE,YAAW,KAAIA,EAAE,QAAS,KAAE,CAACA,EAAE,oBAAqB,KAAE,CAACP,EAAE,yBAA8BO,EAAE,mBAAoB,MAA7B;AAAyK,UAAzIN,IAAEM,EAAE,mBAAoB,IAAI,CAAC2E,EAAEjF,CAAC,KAAGqG,GAAGrG,CAAC,OAAEA,IAAE+H,GAAC,GAAG/H,EAAE,UAAUL,CAAC,GAAEI,EAAE,oBAAmB,IAAGO,EAAE,aAAaN,CAAC,IAAED,EAAE,aAAaC,CAAC,IAAEA,EAAE,OAAM,GAAGM,IAAEN,GAAUI,MAAL,IAAO;AAAC,aAAK,WAAWA,CAAC;AAAE;AAAA,MAAM;AAAA,eAAUE,EAAE,YAAa,KAAEH,MAAII;AAAE,MAAAR,IAAEgI,GAAEzH,EAAE,eAAgB,CAAA,GAAEP,EAAE,UAAUJ,CAAC,GAAEW,EAAE,QAAQP,CAAC,GAAEO,IAAEP;AAAA,aAC5e,EAAE,KAAK,YAAa,KAAOK,MAAL,OAASJ,IAAEF,EAAE,aAAYC,EAAE,oBAAqB,KAAEA,EAAE,yBAAuB,CAAC4F,EAAE3F,CAAC,KAAGA,EAAE,oBAAmB,KAAIA,EAAE,mBAAoB,MAAI;AAAC,WAAK,WAAW,EAAE,GAAE4N,GAAG,KAAK,QAAO,KAAK,OAAM,IAAI,GAAE,KAAK,WAAWxN,CAAC;AAAE;AAAA,IAAM;AAAC,QAAOC,MAAJ;AAAM,UAAGC,EAAE,QAAS;AAAC,QAAAF,IAAE2H,GAAE3H,CAAC,GAAEA,EAAE,UAASE,EAAE,QAAQF,CAAC;AAAA,WAAM;AAAiB,YAAhBI,IAAEF,EAAE,UAAW,GAAIH,MAAIN,KAAGW,MAAIb;AAAE,cAAQW,EAAE,eAAc,MAArB;AAAwB,YAAAA,EAAE,UAAUX,CAAC;AAAA,eAAM;AAAC,YAAAa,IAAEuH,GAAE3H,CAAC,GAAEI,EAAE,UAAUb,CAAC,GAAEa,EAAE,OAAM,GAAOL,MAAJ,IAAMG,EAAE,aAAaE,CAAC,KAAG,CAACH,CAAC,IAAEC,EAAE,UAAUH,CAAC,GAAEE,EAAE,YAAYG,CAAC,IAAGA,EAAE,YAAa,KAC3e,KAAK,OAAO,SADie,WAC1d,KAAK,OAAO,UAAQJ,EAAE;AAAQ;AAAA,UAAM;AAAC,QAAAE,IAAEA,EAAE,WAAWH,GAAEN,IAAEM,GAAEC,GAAE,EAAE,GAAOE,EAAE,eAAgB,MAAvB,KAAwBA,EAAE,OAAM,IAAY,KAAK,OAAO,SAArB,WAA4BA,EAAE,gBAAc,KAAK,OAAO,UAAQF,EAAE,SAAO,KAAK,SAAOI;AAAA,MAAE;AAAA,SAAK;AAAC,MAAAb,IAAE,oBAAI,IAAI,CAAC,GAAGW,EAAE,iBAAgB,GAAGR,EAAE,cAAa,CAAE,CAAC;AAAE,UAAII,IAAEyF,EAAErF,CAAC,IAAEA,IAAEA,EAAE,iBAAkB;AAAmC,UAAlCP,IAAE4F,EAAE7F,CAAC,IAAEA,IAAEA,EAAE,oBAAmBE,IAAEF,GAAK,CAACI,EAAE,GAAGH,CAAC,KAAGA,EAAE,SAAQ;AAAI;AAAG,UAAAC,IAAED,GAAEA,IAAEA,EAAE;eAAyBA,EAAE;AAAY,MAASU,EAAE,SAAX,WAAsBZ,MAAJ,KAAYC,EAAE,eAAc,MAArB,OAAsCW,EAAE,SAAd,aAAoBX,EAAE,qBAAsB,IAC1fD,IAAEoF,EAAEnF,CAAC,KAAG,CAACA,EAAE,QAAO,KAAID,MAAIC,EAAE,mBAAkB,KAAIA,EAAE,YAAa,MAAGW,IAAEsH,GAAEjI,EAAE,eAAgB,CAAA,GAAEA,EAAE,QAAQW,CAAC,GAAEX,IAAEW,IAAGX,IAAEA,EAAE,WAAW,GAAED,GAAE,EAAE,GAAEF,EAAE,IAAIG,EAAE,KAAK,MAAIW,IAAEX,EAAE,oBAAmBW,EAAE,WAAY,KAAMA,EAAE,gBAAe,MAArB,IAAwBX,EAAE,OAAM,IAAGW,EAAE,OAAQ,KAAEd,EAAE,IAAIG,EAAE,KAAK,GAAEW,IAAEV,EAAE,YAAW,GAAGF,IAAE,IAAI,IAAIW,CAAC,GAAEV,IAAEI,EAAE,GAAGH,CAAC,GAAEG,IAAEA,EAAE,SAAQ,KAAWI,EAAE,eAAgB,MAAzB,OAA0BJ,IAAEI;AAAE,eAAQuE,IAAEpE,EAAE,SAAO,GAAE,KAAGoE,GAAEA,KAAI;AAAC,YAAIC,IAAErE,EAAEoE;AAAG,YAAGC,EAAE,GAAGxE,CAAC,KAAGqF,EAAEb,CAAC,KAAGA,EAAE,WAAWxE,CAAC;AAAE;AAAM,QAAAwE,EAAE,WAAY,MAAG,CAACjF,EAAE,IAAIiF,CAAC,KAAGA,EAAE,GAAG9E,CAAC,IAAEF,KAAGI,EAAE,YAAY4E,CAAC,IAAEA,EAAE,OAAQ;AAAA,MAAC;AAAC,UAAG,CAAChF;AAAE,aAAIW,IAAEV,GACpfF,IAAE,MAAYY,MAAP;AAAW,UAAAX,IAAEW,EAAE,eAAcV,IAAED,EAAE,SAAcC,MAAJ,KAAOD,EAAEC,IAAE,GAAG,GAAGF,CAAC,OAAEF,EAAE,OAAOc,EAAE,KAAK,GAAEZ,IAAEY,IAAEA,IAAEA,EAAE,UAAW;AAA0M,WAAzMH,EAAE,QAAS,IAACH,MAAII,IAAED,EAAE,OAAM,KAAIF,IAAE2H,GAAE3H,CAAC,GAAEA,EAAE,OAAQ,GAACE,EAAE,QAAQF,CAAC,MAAIE,IAAEA,EAAE,WAAWH,GAAEI,IAAEJ,GAAEC,GAAE,EAAE,GAAOE,EAAE,eAAc,MAArB,KAAwBA,EAAE,OAAM,IAAGA,EAAE,YAAa,KAAW,KAAK,OAAO,SAArB,WAA4B,KAAK,OAAO,UAAQF,EAAE,UAAaA,IAAE,GAAEA,IAAEC,GAAED;AAAI,QAAAE,IAAEE,EAAEJ,IAAGT,EAAE,IAAIW,EAAE,KAAK,KAAGA,EAAE;IAAQ;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,SAAK,WAAW,EAAE;AAAA,EAAC;AAAA,EAAC,WAAWF,GAAE;AAAC,QAAG,KAAK,YAAa;AAAC,WAAK,aAAaA,CAAC,GAAE4G,GAAE,IAAI;AAAA,SAAM;AAAC,UAAI1G,IAAE,KAAK,SAAQ,GAAGH,IAAE,CAAA;AAAG,eAAQI,KAAKD;AAAE2E,QAAAA,EAAE1E,CAAC,KAC5fJ,EAAE,KAAKI,CAAC;AAAE,UAAIZ,IAAEQ,EAAE;AAAO,UAAOR,MAAJ;AAAM,aAAK,aAAaS,CAAC,GAAE4G,GAAE,IAAI;AAAA,WAAM;AAAC,QAAAzG,IAAE,KAAK;AAAO,YAAIC,IAAE,KAAK,OAAMH,IAAE,KAAK,WAAY;AAAC,QAAAC,IAAED,IAAEG,IAAED,GAAEA,IAAEF,IAAEE,IAAEC;AAAE,YAAIC,IAAE,GAAEZ,IAAEM,EAAE;AAAiG,YAA9FK,IAAcF,EAAE,SAAd,YAAmB,IAAEA,EAAE,QAAgBA,EAAE,SAAX,UAAiBE,MAAIX,EAAE,mBAAoB,MAAGY,IAAE,GAAEZ,IAAEM,EAAE,IAAGK,IAAE,IAAYX,KAAN,MAAQ;AAAC,UAAAQ,IAAER,EAAE,eAAeO,GAAE,IAAI;AAAE,cAAIL,IAAEJ,IAAE,GAAEG,IAAEK,EAAEJ;AAAqD,cAAlDJ,IAAWY,EAAE,SAAX,SAAgBA,EAAE,SAAOT,EAAE,mBAAkB,GAAMD,EAAE,GAAGC,CAAC;AAAE,YAAAU,MAAIb,MAAQa,MAAJ,KAAOb,MAAIE,EAAE,mBAAkB,IAAGA,EAAE,UAAUQ,CAAC,KAAGD,IAAEP,EAAE,UAAUW,GAAEb,CAAC,GAAES,IAAMI,MAAJ,IAAMJ,EAAE,KAAGA,EAAE,IAAGA,EAAE,UAAUC,CAAC,GAAWC,EAAE,SAAX,UAAiBA,EAAE;AAAA,cAAIF,EAAE;AAAA,cAChf;AAAA,cAAE;AAAA,YAAM,GAAWG,EAAE,SAAX,UAAiBA,EAAE,IAAIH,EAAE,OAAMT,IAAEa,GAAE,MAAM,IAAG,KAAK,SAAOH;AAAA,eAAO;AAAC,YAAIG,MAAJ,MAAQ,CAAE,EAAAX,CAAC,IAAEA,EAAE,UAAUW,CAAC,GAAEA,IAAE,IAAGX,EAAE,UAAUQ,CAAC;AAAE,gBAAIL,IAAEF,EAAE,eAAeM,GAAEC,CAAC;AAAyE,iBAAvE,IAAEV,MAAIA,MAAIG,EAAE,mBAAkB,MAAK,CAACA,CAAC,IAAEA,EAAE,UAAUH,CAAC,IAAGG,EAAE,UAAUE,CAAC,IAAOS,KAAG,GAAEA,IAAEV,GAAEU,KAAI;AAAC,kBAAIP,IAAEC,EAAEM;AAAG,kBAAG,CAACP,EAAE,QAAO,GAAG;AAAC,oBAAI2E,IAAE3E,EAAE,eAAeE,GAAEJ,CAAC;AAAE,gBAAAE,EAAE,UAAU2E,CAAC;AAAA,cAAC;AAAA,YAAC;AAAC,YAASvE,EAAE,SAAX,UAAiBA,EAAE,IAAIT,EAAE,OAAMW,GAAE,MAAM,GAAWD,EAAE,SAAX,UAAiBA,EAAE,IAAIT,EAAE,OAAMH,GAAE,MAAM,GAAE,KAAK,SAAOU,IAAEL;AAAA,UAAC;AAAA,QAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,YAAYI,GAAEE,GAAE;AAAC,SAAK,YAAW,KAAI,KAAK,WAAY;AAAC,QAAIH,IAAE,KAAK,QAAOI,IAAEJ,EAAE,QAAOR,IAAEQ,EAAE,QAAS,GAC9fK,IAAEb;AAAE,IAAYQ,EAAE,SAAd,cAAqBK,IAAEL,EAAE,QAAS,GAACA,IAAEK,EAAE,gBAAgBD,IAAE,CAAC,GAAEC,IAASL,MAAP,OAASK,IAAEL,IAAGA,IAAE,CAAE;AAAC,QAAIE,IAAEV,EAAE,gBAAiB,GAACc,IAAEkI,GAAGhJ,CAAC,IAAE,OAAKA,EAAE,0BAAyB;AAAG,QAAGsF,EAAEtF,CAAC;AAAE,UAAGa,IAAEb,EAAE,eAAc,EAAG,QAAWY,MAAJ,KAAWC,MAAJ;AAAM,QAAAA,IAAEb,EAAE,mBAAoB,GAACa,IAASA,MAAP,OAASA,IAAEb,EAAE,iBAAgB,GAAGQ,EAAE,KAAKR,CAAC;AAAA,eAAUY,MAAIC;AAAE,QAAAA,IAAEb;AAAA,WAAM;AAAC,YAAGA,EAAE,QAAO;AAAG,iBAAM;AAAG,SAACa,GAAEb,CAAC,IAAEA,EAAE,UAAUY,CAAC,GAAEJ,EAAE,KAAKR,CAAC;AAAA,MAAC;AAAC,IAAAA,IAAEa,GAAEL,EAAE,KAAK,GAAGE,CAAC,GAAEA,IAAED,EAAE;AAAG,QAAIP,IAAE,IAAGE,IAAE;AAAK,aAAQ8E,IAAE,GAAEA,IAAEzE,EAAE,QAAOyE,KAAI;AAAC,UAAI/E,IAAEM,EAAEyE;AAAG,UAAGc,EAAE7F,CAAC,KAAG,CAACA,EAAE,SAAQ,GAAG;AAAC,YAAGA,EAAE,GAAGO,CAAC,GAAE;AAAC,cAAGsF,EAAEnF,CAAC,KAAGA,EAAE,QAAO,KAAIA,EAAE,eAAeV,CAAC,GAAE;AAAC,YAAAU,EAAE,QAAQV,CAAC,GAC1gBU,IAAEV,GAAED,IAAE;AAAG;AAAA,UAAQ;AAAC,cAAIG,IAAEF,EAAE,mBAAoB;AAAC,cAAG0G,GAAGxG,CAAC,GAAE;AAAC,iBAAIA,IAAEA,EAAE,iBAAgB,GAAGA,EAAE,SAAU;AAAE,cAAAA,IAAEA,EAAE,iBAAgB;AAAgC,gBAA7BD,IAAEC,EAAE,YAAa,GAACH,IAAEE,EAAE,QAAU4F,EAAEnF,CAAC;AAAE,uBAAQN,IAAE,GAAEA,IAAEL,GAAEK;AAAI,gBAAAM,EAAE,OAAOT,EAAEG,EAAE;AAAA,iBAAM;AAAC,mBAAIA,IAAEL,IAAE,GAAE,KAAGK,GAAEA;AAAI,gBAAAM,EAAE,YAAYT,EAAEG,EAAE;AAAE,cAAAM,IAAEA,EAAE,iBAAkB;AAAA,YAAA;AAA0B,gBAAzBT,IAAEA,EAAEF,IAAE,IAAGG,EAAE,OAAM,GAAGH,IAAE,IAAMG,EAAE,GAAGF,CAAC;AAAE;AAAA,UAAQ;AAAA,QAAC;AAACmF,QAAAA,EAAEzE,CAAC,MAAWC,MAAP,QAAU0C,EAAE,EAAE,GAAE3C,IAAEC;AAAA,MAAE;AAAM,QAAAZ,KAAG,CAACmF,EAAElF,CAAC,KAAG6I,GAAGnI,EAAE,UAAW,CAAA,KAAG2C,EAAE,EAAE;AAAE,MAAAtD,IAAE,IAAM8F,EAAEnF,CAAC,KAAG,CAACA,EAAE,SAAU,KAAIT,IAAED,GAAEkF,EAAElF,CAAC,KAAG,CAACA,EAAE,SAAU,IAACU,IAAEA,EAAE,YAAYV,CAAC,IAAU6F,EAAE7F,CAAC,KAAMA,EAAE,WAAY,KAAE,CAACA,EAAE,QAAS,OAAC6I,GAAGnI,CAAC,KAAGR,IACrfQ,EAAE,gBAAgBD,CAAC,GAASP,MAAP,OAASA,EAAE,aAAaF,CAAC,IAAEU,EAAE,OAAOV,CAAC,GAAEU,IAAEV,KAAGU,IAAEA,EAAE,YAAYV,CAAC,MAAOE,IAAEQ,EAAE,cAAe,GAAQR,MAAP,OAASA,EAAE,aAAaF,CAAC,IAAEU,EAAE,OAAOV,CAAC,GAAEU,IAAEV,MAAM,CAAC6F,EAAE7F,CAAC,KAAG6F,EAAE7F,CAAC,KAAGA,EAAE,SAAQ,KAAIkF,EAAExE,CAAC,KAAG,CAACA,EAAE,SAAU,KAAET,IAAED,GAAEU,IAAEA,EAAE,YAAYV,CAAC,MAAIA,IAAEU,EAAE,iBAAkB,GAACiG,GAAGjG,CAAC,KAAGA,EAAE,OAAM,GAAGA,IAAEV,GAAE+E;AAAA,IAAI;AAA+H,QAA9HvE,MAAI2E,EAAEtF,CAAC,IAAEA,EAAE,OAAQ,KAAES,IAAEI,EAAE,mBAAoB,GAACyE,EAAE7E,CAAC,IAAEA,EAAE,OAAM,KAAIA,IAAEI,EAAE,qBAAsB,GAACA,EAAE,iBAAkB,EAAC,OAAOJ,GAAEA,CAAC,MAAQuF,EAAEnF,CAAC;AAAG,UAAGJ,IAAE6E,EAAElF,CAAC,IAAEA,IAAE4F,EAAE5F,CAAC,KAAGA,EAAE,SAAQ,IAAGA,EAAE,kBAAiB,IAAGS,EAAE,kBAAmB,GAACF,MAAWF,MAAP,OAC7eI,EAAE,OAAM,IAAGyE,EAAE7E,CAAC,IAAEA,EAAE,OAAM,IAAGA,EAAE,WAAY,IAAMD,EAAE,WAAN;AAAa,aAAIG,IAAEE,GAAEJ,IAAED,EAAE,SAAO,GAAE,KAAGC,GAAEA;AAAI,UAAAG,IAAEJ,EAAEC,IAAGK,IAAEF,EAAE,iBAAgB,GAAG,CAACoF,EAAEnF,CAAC,KAAGqN,GAAGtN,CAAC,KAAGyE,EAAEzE,CAAC,KAAG,CAACA,EAAE,SAAU,IAACoF,EAAEnF,CAAC,KAAGqN,GAAGtN,CAAC,IAAEoF,EAAEpF,CAAC,KAAG,CAACA,EAAE,eAAeC,CAAC,KAAGb,IAAEc,EAAE,YAAY,MAAMA,CAAC,GAAEkF,EAAEhG,CAAC,KAAGwD,EAAE,EAAE,GAAExD,EAAE,OAAOY,CAAC,GAAEC,EAAE,YAAYb,CAAC,KAAGa,EAAE,YAAYD,CAAC,KAAGC,EAAE,aAAaD,CAAC,GAAEC,IAAED,MAAID,MAAIE,IAAEA,EAAE,OAAOD,CAAC,IAAEC,EAAE,aAAaD,CAAC,GAAEC,IAAED,IAAGE,EAAE,QAAS,KAAE,CAACA,EAAE,WAAU,KAAIA,EAAE,OAAQ;AAAA;AAAM,MAAAH,MAAI2E,EAAEzE,CAAC,IAAEA,EAAE,OAAM,KAAIL,IAAEK,EAAE,iBAAkB,GAACA,IAAEA,EAAE,qBAAoB,IAAG,GAAEL,EAAE,OAAOK,GAAEA,CAAC;AAAI,WAAM;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,SAAK,YAAa,KACxgB,KAAK,WAAY;AAAC,QAAIJ,IAAE,KAAK,QAAOE,IAAEF,EAAE,QAAOD,IAAE,CAAA;AAAG,QAAYC,EAAE,SAAX,QAAgB;AAAC,UAAIG,IAAEH,EAAE,QAAS,GAAKT,IAAEY,EAAE,kBAAkB,QAAS,GAAKC,IAAED,EAAE,iBAAkB,GAAKF,IAAEG,EAAE,SAAQ,GAAGC,IAAEJ,IAAEG,EAAE,mBAAkB,IAAGD,EAAE;AAAqB,MAAID,MAAJ,IAAMX,EAAE,KAAKY,CAAC,KAAGF,MAAIF,IAAEK,EAAE,oBAAmBF,MAAIG,KAAGJ,KAAGC,MAAIC,EAAE,mBAAoB,MAAG,CAAE,EAAAA,CAAC,IAAEA,EAAE,UAAUD,CAAC,GAAEX,EAAE,KAAKY,CAAC;AAAA,IAAG,OAAK;AAAe,UAAdC,IAAEJ,EAAE,QAAO,GAAMuI,GAAGnI,CAAC,GAAE;AAAC,QAAAb,IAAEqN,GAAE,GAAG7M,IAAEK,EAAE,gBAAgBF,CAAC,GAAEX,EAAE,OAAQ,GAAQQ,MAAP,OAASA,EAAE,aAAaR,CAAC,IAAEa,EAAE,OAAOb,CAAC;AAAE;AAAA,MAAM;AAAC,MAAAA,IAAEa,EAAE,YAAW,EAAG,MAAMF,CAAC,EAAE,QAAS;AAAA,IAAA;AACze,QAD0eC,IAAEZ,EAAE,QACveW,MAAJ,KAAO,IAAEC,KAAGC,EAAE,SAAU;AAAE,UAAGL,IAAEK,EAAE,iBAAkB,GAACb,IAAEQ,EAAE,eAAe,IAAI,GAAEwF,EAAEhG,CAAC;AAAE,aAAIQ,IAAEA,EAAE,YAAW,GAAGK,IAAE,GAAEA,IAAEL,EAAE,QAAOK;AAAI,UAAAb,EAAE,OAAOQ,EAAEK,EAAE;AAAA,eAAUH,IAAEG,EAAE,eAAe,IAAI,GAASH,MAAP;AAAS,WAAK,gBAAe;AAAA,aAAWsF,EAAEtF,CAAC;AAAE,UAAGI,IAAED,EAAE,cAAa,GAAOF,MAAJ,MAAQE,EAAE,GAAGJ,EAAE,QAAS,CAAA,KAAGK,KAAGA,EAAE,GAAGL,EAAE,QAAO,CAAE,MAAI,IAAEG;AAAE,QAAAC,EAAE,aAAaH,CAAC;AAAA,WAAM;AAA0C,YAAzCG,IAAE,MAAKF,IAAEH,EAAE,QAAOC,IAAEC,EAAE,iBAAgB,GAAM,IAAEC;AAAE,eAAIG,IAAE,GAAEA,IAAEH,GAAEG;AAAI,YAAAL,EAAE,OAAOD,EAAEM,EAAE;AAAE,YAAOF,MAAJ;AAAM,eAAIJ,IAAE,GAAEA,IAAEI,GAAEJ;AAAI,YAAAG,IAAEX,EAAEQ,IAAUK,MAAP,OAASH,EAAE,OAAOC,CAAC,IAAEE,EAAE,aAAaF,CAAC,GAAEE,IAAEF;AAAE,QAAAD,EAAE,WAAU,KAAQA,EAAE,gBAAiB,MAAvB,IACzeA,EAAE,YAAW,KAAIA,EAAE,eAAc,GAAGA,EAAE;MAAS;AAAA,EAAC;AAAA,EAAC,gBAAgBD,GAAE;AAAC,QAAIE,IAAEqN,GAAI;AAAC,QAAIxN,IAAE,KAAK;AAAO,IAAYA,EAAE,SAAd,cAAqBA,IAAEA,EAAE,QAAO,GAAGoI,GAAEpI,CAAC,KAAG,KAAK,gBAAe,IAAIC,IAAE,KAAK,YAAY,CAACE,CAAC,GAAE,EAAE,IAAE,KAAK,YAAY,CAACA,CAAC,CAAC,KAAGA,EAAE,WAAW,GAAE,CAAC;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,WAAOgN,GAAG,IAAI;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,QAAIlN,IAAE,KAAK,SAAQ,GAAGE,IAAEF,EAAE,QAAOD,IAAEG,IAAE,GAAEC,IAAE,KAAK;AAAO,QAAIZ,IAAE,KAAK;AAAM,QAAIa,IAAEJ,EAAE;AAAG,QAAIC,IAAED,EAAED,IAAG,CAACM,GAAEZ,CAAC,IAAEyN,GAAG,IAAI;AAAE,WAAOhN,MAAJ,IAAY,CAAA,IAAUA,MAAJ,IAAa2E,EAAEzE,CAAC,KAAG,CAAC,KAAK,YAAa,KAAEJ,IAAEK,IAAEZ,IAAEA,IAAEY,GAAEN,IAAEK,EAAE,UAAUJ,GAAEK,IAAEZ,IAAEY,IAAEZ,CAAC,GAAEO,IAAMA,MAAJ,IAAMD,EAAE,KAAGA,EAAE,IAChfC,KADmf,OACjf,CAACA,CAAC,IAAE,CAAA,KAAI,CAACI,CAAC,KAAEF,IAAEC,EAAE,SAASZ,CAAC,GAAEsF,EAAEzE,CAAC,MAAID,IAAED,IAAEG,IAAEZ,GAAEU,MAAIC,EAAE,mBAAkB,IAAGJ,EAAE,MAAO,IAAKG,MAAJ,MAAQ,CAAA,EAAEC,CAAC,IAAEA,EAAE,UAAUD,CAAC,GAAEH,EAAE,KAAGI,KAAIyE,EAAE5E,CAAC,MAAIG,IAAEH,EAAE,eAAgB,EAAC,QAAOC,IAAEA,IAAET,IAAEY,GAAMH,MAAJ,IAAMF,EAAE,IAAK,IAACE,MAAIE,MAAI,CAACH,CAAC,IAAEA,EAAE,UAAUC,CAAC,GAAEF,EAAED,KAAGE,KAAWD;AAAA,EAAC;AAAA,EAAC,OAAOA,GAAEE,GAAEH,GAAE;AAAC,QAAII,IAAE,KAAK,OAAMZ,IAAE,KAAK,QAAOa,IAAWJ,MAAT,QAAWC,IAAEgI,GAAG9H,GAAED,CAAC;AAAE,IAAG0E,EAAE3E,CAAC,KAAG,CAACA,EAAE,WAAU,IAAGG,KAAGA,IAAEsN,GAAE,GAAGtN,EAAE,IAAIH,EAAE,KAAK,GAAEuF,GAAGpF,CAAC,MAAIJ,IAAEE,IAAED,EAAE,mBAAkB,IAAGA,EAAE,eAAgB,GAAC4E,EAAE7E,CAAC,KAAGC,IAAED,EAAE,OAAME,IAAEA,IAAEF,EAAE,iBAAiB,SAAO,GAAEG,EAAE,IAAIF,GAAEC,GAAE,MAAM,GAAEE,KAAGb,EAAE,IAAIU,GAAEC,GAAE,MAAM,MAAIH,IAAEE,EAAE,iBAAkB,GACxfsF,EAAEvF,CAAC,KAAGD,IAAEC,EAAE,OAAMC,IAAEC,IAAEF,EAAE,gBAAe,IAAG,MAAIC,IAAEA,EAAE,qBAAsB,GAACF,IAAEA,EAAE,OAAMG,KAAGD,MAAKE,EAAE,IAAIJ,GAAEE,GAAE,SAAS,GAAEG,KAAGb,EAAE,IAAIQ,GAAEE,GAAE,SAAS,OAAYE,IAAE,OAAO,oBAAeA,EAAE,OAAOH,GAAEE,IAAE,aAAW,WAAUH,CAAC,GAAE,IAAEI,EAAE,eAAaD,IAAEC,EAAE,WAAW,CAAC,GAAE,KAAK,cAAcD,CAAC,GAAE,KAAK,QAAM,IAAGE,KAAGD,EAAE,eAAaD,EAAE,kBAAgBC,EAAE,iBAAeD,EAAE,gBAAcE,IAAE,KAAK,OAAMF,IAAE,KAAK,QAAOC,IAAED,EAAE,KAAIX,IAAEW,EAAE,QAAOD,IAAEC,EAAE,MAAK2M,GAAG3M,GAAEE,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI,GAAEyM,GAAGzM,GAAED,GAAEZ,GAAEU,CAAC,GAAE,KAAK,eAAa;AAAA,EAAM;AAAA,EAAC,gBAAgBD,GAAE;AAAC,QAAG,KAAK,YAAa,GAAC;AAAC,UAAIE,IAC/f,KAAK,QAAOH,IAAE,KAAK,OAAMI,IAAED,EAAE,QAAS;AAAC,UAAG,CAACF,MAAgBE,EAAE,SAAd,aAAoBqF,EAAEpF,CAAC,KAAGD,EAAE,WAASC,EAAE,gBAAiB,KAAWD,EAAE,SAAX,UAAiBA,EAAE,WAASC,EAAE,0BAAwBA,IAAEA,EAAE,eAAc,KAAIA,EAAE,iBAAkB,EAAC,eAAc,GAAGoF,EAAEpF,CAAC,KAAG,CAACA,EAAE,mBAAkB;AAAI;AAA2C,UAApC,KAAK,OAAO,UAASH,GAAE,WAAW,GAAM,KAAK;AACwC,YAAGA,KAAOE,EAAE,WAAN,MAA2BA,EAAE,SAAd,YAAmBA,EAAE,QAAO,IAAGA,EAAE,QAAO,EAAG,iBAAkB,GAAE,gBAAgB,IAAI;AAAE;AAAA,aADpI;AAAC,YAAIX,IAAWQ,EAAE,SAAX,SAAgBA,EAAE,YAAU;AAAwC,YAAnCI,IAAWD,EAAE,SAAX,SAAgBA,EAAE,YAAU,MAAeX,MAAP,QAAUA,EAAE,YAAa;AAAE,cAAGW,IAAEH,EAAE,QAAOA,IAAER,EAAE,mBAAkB,GAAGA,EAAE,GAAGY,CAAC,KAAGH,KAAGE,MAAIH,KAAG,CAACC,KAAOE,MAAJ,GAAM;AAAC,YAAAyN,GAAGpO,GAAES,GAAEE,CAAC;AAAE;AAAA,UAAM;AAAA,mBAC1fC,MADogB,QACjgBA,EAAE,YAAW,MAAKD,IAAEA,EAAE,QAAOH,IAAEI,EAAE,mBAAoB,GAACA,EAAE,GAAGZ,CAAC,KAAGS,KAAOE,MAAJ,KAAO,CAACF,KAAGE,MAAIH,IAAG;AAAC,UAAA4N,GAAGxN,GAAEH,GAAEE,CAAC;AAAE;AAAA,QAAM;AAAwD,YAAvDC,IAAE,KAAK,QAAOZ,IAAE,KAAK,OAAMW,IAAEC,EAAE,QAAO,GAAGJ,IAAER,EAAE,QAAO,GAAMW,MAAIH,KAAYI,EAAE,SAAX,UAA0BZ,EAAE,SAAX,QAAgB;AAAC,cAAIa,IAAED,EAAE,QAAOF,IAAEV,EAAE;AAAO,cAAIc,IAAED,IAAEH;AAAE,UAAAF,IAAEM,IAAED,IAAEH,GAAEA,IAAEI,IAAEJ,IAAEG,GAAEA,IAAEH,IAAE,GAAEF,MAAIK,MAAIF,IAAEA,EAAE,eAAc,EAAG,MAAMH,GAAEE,CAAC,GAAEqH,GAAGpH,CAAC,MAAIF,IAAET,EAAE,SAAOa,IAAED,EAAE,SAAOC;AAAA,QAAG;AAAA,MAAC;AAAA,IAAsH;AAAC,SAAK,WAAY;AAAA,EAAA;AAAA,EAAC,WAAWJ,GAAE;AAAC,SAAK,YAAa,MAC/e,KAAK,OAAO,SAArB,UAA2B,KAAK,OAAO,UAASA,GAAE,cAAc,IAAOA,IAAE,KAAK,QAAM,KAAK,QAAQ,WAA/B,KAAuC,KAAK,OAAO,UAASA,GAAE,WAAW,IAAG,KAAK,WAAY;AAAA,EAAA;AAAA,EAAC,WAAWA,GAAE;AAAC,SAAK,YAAW,KAAI,KAAK,OAAO,UAASA,GAAE,MAAM,GAAE,KAAK,WAAY;AAAA,EAAA;AAAC;AAAC,SAASkM,GAAGlM,GAAE;AAAC,SAAOA,aAAa8M;AAAE;AAAC,SAASc,GAAG5N,GAAE;AAAC,MAAIE,IAAEF,EAAE;AAAO,SAAYA,EAAE,SAAX,SAAuBE,KAAEF,IAAEA,EAAE,QAAS,GAAQE,MAAIF,EAAE,oBAAkBA,EAAE,eAAgB,EAAC,SAAO;AAAC;AAC7Z,SAASkN,GAAGlN,GAAE;AAAC,MAAIE,IAAEF,EAAE;AAAO,SAAAA,IAAEA,EAAE,OAAwBE,EAAE,SAAd,aAAgCF,EAAE,SAAd,aAAoBE,EAAE,QAAMF,EAAE,OAAKE,EAAE,WAASF,EAAE,SAAO,CAAC,GAAE,CAAC,IAAE,CAAC4N,GAAG1N,CAAC,GAAE0N,GAAG5N,CAAC,CAAC;AAAC;AAAC,SAAS2N,GAAG3N,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,eAAc,EAAG,MAAM,SAAS,GAAET,IAAEY,EAAE,QAAOC,IAAE,GAAEH,IAAE;AAAE,WAAQI,IAAE,GAAEA,IAAEd,GAAEc,KAAI;AAAC,QAAIZ,IAAEU,EAAEE,IAAGV,IAAEU,MAAId,IAAE;AAAkB,QAAhBU,IAAEG,GAAEA,KAAGX,EAAE,QAAUS,KAAGE,MAAIL,KAAGK,IAAEL,KAAGJ,GAAE;AAAC,MAAAQ,EAAE,OAAOE,GAAE,CAAC,GAAEV,MAAIM,IAAE;AAAQ;AAAA,IAAK;AAAA,EAAC;AAAC,EAAAC,IAAEC,EAAE,KAAK,EAAE,EAAE,KAAI,GAAQD,MAAL,KAAOF,EAAE,OAAQ,KAAEA,EAAE,eAAeE,CAAC,GAAEF,EAAE,OAAOC,GAAEA,CAAC;AAAE;AACxZ,SAAS4N,GAAG7N,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAED;AAAE,MAAOF,EAAE,aAAN,GAAe;AAAC,QAAIC,IAAE;AAAG,QAAIV,IAAES,EAAE,YAAeI,IAAEb,EAAE;AAAsC,QAA/BY,MAAIC,MAAIH,IAAE,IAAGE,IAAEC,IAAE,IAAGb,IAAE8H,GAAG9H,EAAEY,EAAE,GAAK0E,EAAEtF,CAAC;AAAE,MAAAY,IAAEF,IAAEV,EAAE,mBAAkB,IAAG;AAAA,SAAM;AAAS,UAARa,IAAEiH,GAAGrH,CAAC,GAAYI,MAAP;AAAS,eAAO;AACvI,UAD+ImF,EAAEnF,CAAC,KAAGJ,IAAEI,EAAE,gBAAgBD,CAAC,IAAKD,IAAEqF,EAAEvF,CAAC,OAAEE,IAAEF,EAAE,UAAW,GAACE,IAASH,MAAP,QAAiBG,MAAP,QAAU,CAACA,EAAE,WAAU,KAAIA,MAAIH,EAAE,QAAO,IAAGG,MAAIH,IAAEE,IAAED,EAAE,kBAAiB,IAAGA,EAAE,mBAAoB,GAAQD,MAAP,QAAUK,IAAEJ,GAAEG,IAAE,MAAIH,IAAED,GAAEK,IAAEJ,EAAE,sBAAqB6E,EAAE7E,CAAC,KAAGT,IAAES,GAAEI,IAAE,MAAKD,IAAEF,IAAED,EAAE,mBAAoB,IAAC,KAAGA,MAAII,KAAGH,KAAGE,QAASA,IAAEC,EAAE,qBAAsB,GACrfD,IAAMD,MAAJ,KAAO0E,EAAExE,CAAC,KAAGiH,GAAGrH,CAAC,MAAII,IAAED,IAAEA,IAAE,GAAEC,IAAEA,EAAE,iBAAkB,IAAImF,EAAEnF,CAAC;AAAE,eAAO,IAAIoM,GAAEpM,EAAE,OAAMD,GAAE,SAAS;AAAA,IAAC;AAAA,EAAC;AAAM,IAAAZ,IAAE8H,GAAGrH,CAAC;AAAE,SAAO6E,EAAEtF,CAAC,IAAE,IAAIiN,GAAEjN,EAAE,OAAMY,GAAE,MAAM,IAAE;AAAI;AACtJ,SAAS2N,GAAG9N,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,QAAOT,IAAES,EAAE,QAAS;AAAC,EAAIG,MAAJ,KAAOA,IAAEZ,EAAE,mBAAkB,GAAGA,IAAEA,EAAE,UAAS,GAAGW,KAAIH,KAAG,CAACG,MAAWC,MAAP,QAAUoF,EAAEhG,CAAC,KAAGA,EAAE,SAAQ,MAAKW,IAAEX,EAAE,mBAAkB,GAAGsF,EAAE3E,CAAC,MAAIF,EAAE,MAAIE,EAAE,OAAMF,EAAE,SAAOE,EAAE,eAAgB,EAAC,WAASqF,EAAEpF,CAAC,KAAG,CAACJ,KAAGI,EAAE,SAAU,KAAEH,EAAE,MAAIG,EAAE,OAAMH,EAAE,SAAOG,EAAE,gBAAiB,GAACH,EAAE,OAAK,aAAW6E,EAAE1E,CAAC,MAAIH,EAAE,MAAIG,EAAE,OAAMH,EAAE,SAAOG,EAAE,eAAc,EAAG,WAAQA,MAAIZ,EAAE,eAAc,EAAG,WAASY,IAAEZ,EAAE,eAAgB,GAACA,IAAEA,EAAE,UAAW,GAACW,KAAGqF,EAAEpF,CAAC,KAAGA,EAAE,SAAU,KAAEH,EAAE,MAAIG,EAAE,OAAMH,EAAE,SAAO,GAAEA,EAAE,OAAK,cAAYD,KACpfG,MAAWC,MAAP,QAAUoF,EAAEhG,CAAC,KAAGA,EAAE,SAAQ,KAAI,CAACA,EAAE,mBAAkB,MAAKW,IAAEX,EAAE,eAAc,GAAGsF,EAAE3E,CAAC,MAAIF,EAAE,MAAIE,EAAE,OAAMF,EAAE,SAAO;AAAI;AAAC,SAASwN,GAAGxN,GAAEE,GAAEH,GAAE;AAAC,MAAYC,EAAE,SAAX,UAA0BE,EAAE,SAAX,QAAgB;AAAC,QAAIC,IAAEH,EAAE,SAASE,CAAC;AAAE,QAAIX,IAAES,EAAE,GAAGE,CAAC;AAAE,IAAA4N,GAAG9N,GAAEG,GAAEZ,CAAC,GAAEuO,GAAG5N,GAAE,CAACC,GAAEZ,CAAC,GAAEA,MAAIW,EAAE,MAAIF,EAAE,KAAIE,EAAE,SAAOF,EAAE,QAAOE,EAAE,OAAKF,EAAE,OAAMG,IAAEwG,EAAC,GAAGxG,EAAE,YAAW,KAAIA,EAAE,oBAAkBH,EAAE,OAAK+E,EAAEhF,CAAC,MAAII,IAAEJ,EAAE,QAAOA,IAAEA,EAAE,OAAM8M,GAAG7M,GAAEG,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI,GAAE0M,GAAG3M,GAAEH,EAAE,KAAIA,EAAE,QAAOA,EAAE,IAAI;AAAA,EAAE;AAAC;AAC3Z,SAASuN,GAAGtN,GAAEE,GAAEH,GAAEI,GAAEZ,GAAEa,GAAE;AAAgI,SAArHJ,MAAP,QAAiBD,MAAP,QAAU,CAACgG,GAAGxG,GAAES,GAAED,CAAC,MAAcG,IAAE2N,GAAG7N,GAAEE,GAAE6E,EAAE3E,CAAC,IAAEA,EAAE,SAAO,IAAI,GAAYF,MAAP,UAAqBC,IAAE0N,GAAG9N,GAAEI,GAAE4E,EAAE3E,CAAC,IAAEA,EAAE,QAAM,IAAI,GAAYD,MAAP,QAAsBD,EAAE,SAAd,aAAgCC,EAAE,SAAd,cAAqBH,IAAEqH,GAAGrH,CAAC,GAAED,IAAEsH,GAAGtH,CAAC,GAAE6E,EAAE5E,CAAC,KAAG4E,EAAE7E,CAAC,MAAU,QAAKyN,GAAGtN,GAAEC,GAAEC,CAAC,GAAQ,CAACF,GAAEC,CAAC;AAAC;AAAC,SAASsN,GAAGzN,GAAE;AAAC,SAAOuF,EAAEvF,CAAC,KAAG,CAACA,EAAE,SAAU;AAAA;AAAC,SAAS+N,GAAG/N,GAAEE,GAAEH,GAAEI,GAAEZ,GAAEa,GAAE;AAAC,MAAIH,IAAEyG,GAAC;AAAG,SAAA1G,IAAE,IAAI+M,GAAG,IAAIP,GAAExM,GAAEE,GAAEX,CAAC,GAAE,IAAIiN,GAAEzM,GAAEI,GAAEC,CAAC,GAAE,CAAC,GAAEJ,EAAE,QAAM,IAAUC,EAAE,aAAWD;AAAC;AAAC,SAAS0N,KAAI;AAAC,SAAO,IAAIZ,GAAG,oBAAI,KAAG;AAAC;AACpc,SAASkB,GAAGhO,GAAE;AAAC,MAAIE,IAAEF,EAAE,eAAgB,EAAC,YAAWD,IAAE,OAAO,aAAY;AAAG,SAAOmM,GAAGhM,CAAC,KAAG+M,GAAG/M,CAAC,IAAEA,EAAE,MAAO,IAACoM,GAAGpM,GAAEH,GAAEC,CAAC;AAAC;AAClH,SAASsM,GAAGtM,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEJ,EAAE;AAAQ,MAAUI,MAAP;AAAS,WAAO;AAAK,MAAIZ,IAAEY,EAAE,OAAMC,IAAEb,IAAEA,EAAE,OAAK;AAAO,EAAAY,IAAsBC,MAApB,mBAAsBb,IAAE,CAAC0E,OAAK9D,KAAmBC,MAAhB,iBAAwCA,MAArB,sBAA2CA,MAAnB,oBAAgCA,MAAV,WAAab,KAAOA,EAAE,WAAN,KAAuBa,MAAT;AAAY,MAAIH;AAAE,MAAG,CAAC8E,EAAE/E,CAAC,KAAGT,GAAE;AAAC,QAAUW,MAAP;AAAS,aAAO;AAAmE,QAA9DX,IAAEW,EAAE,YAAWE,IAAEF,EAAE,WAAUD,IAAEC,EAAE,cAAaA,IAAEA,EAAE,aAAeC,KAAG4E,EAAE/E,CAAC,KAAG,CAAC+F,GAAGhG,GAAER,GAAEa,CAAC;AAAE,aAAOJ,EAAE,MAAO;AAAA,EAAA;AAAM,WAAOA,EAAE,MAAO;AAAmB,MAAlBD,IAAEuN,GAAG/N,GAAEU,GAAEG,GAAEF,GAAEH,GAAEC,CAAC,GAAYD,MAAP;AAAS,WAAO;AAAK,MAAI,CAACM,GAAEZ,CAAC,IAAEM;AAAE,SAAO,IAAIgN,GAAG1M,GAAEZ,GAAEsF,EAAE/E,CAAC,IAAEA,EAAE,SAAO,CAAC;AAAC;AACxe,SAASsE,IAAG;AAAC,SAAOoC,GAAG,EAAC;AAAU;AAAC,SAASgB,KAAI;AAAC,SAAOf,EAAC,EAAG,aAAa;AAAU;AACnF,SAASsH,GAAGjO,GAAEE,GAAEH,GAAEI,IAAE,GAAE;AAAC,MAAIZ,IAAES,EAAE,QAAOI,IAAEJ,EAAE,OAAMC,IAAEV,EAAE,QAAS,GAACc,IAAED,EAAE,QAAO;AAAG,MAAGF,EAAE,GAAGD,CAAC,KAAGC,EAAE,GAAGG,CAAC;AAAE,QAAGJ,IAAEC,EAAE,OAAMF,EAAE,YAAW;AAAG,MAAAE,IAAEX,EAAE,QAAOQ,KAAGG,MAAIH,IAAE,KAAK,IAAI,GAAEG,IAAEC,CAAC,GAAEZ,EAAE,IAAIU,GAAEF,GAAE,SAAS,GAAEK,EAAE,IAAIH,GAAEF,GAAE,SAAS,GAAEmO,GAAGlO,CAAC;AAAA,SAAO;AAAC,UAAIP,IAAEO,EAAE,WAAU;AAAG,MAAAK,IAAEZ,IAAEW,IAAEb;AAAE,UAAII,IAAEU,EAAE,QAAS;AAAC,MAAAd,IAAEE,IAAEF,IAAEa,GAAEA,IAAEb,EAAE,QAAS,GAACW,EAAE,GAAGP,CAAC,MAAIA,IAAEU,EAAE,QAAON,KAAGJ,KAAGU,EAAE,IAAIJ,GAAE,KAAK,IAAI,GAAEN,IAAEQ,CAAC,GAAE,SAAS,IAAGD,EAAE,GAAGE,CAAC,MAAIF,IAAEX,EAAE,QAAOQ,KAAGG,KAAGX,EAAE,IAAIU,GAAE,KAAK,IAAI,GAAEC,IAAEC,CAAC,GAAE,SAAS,IAAG+N,GAAGlO,CAAC;AAAA,IAAC;AAAC;AACha,SAASkO,GAAGlO,GAAE;AAAC,MAAIE,IAAEF,EAAE,QAAOD,IAAEG,EAAE;AAAO,MAAIC,IAAEH,EAAE;AAAM,MAAIT,IAAEY,EAAE,QAAOC,IAAEF,EAAE,QAAS,GAACD,IAAEE,EAAE,QAAS;AAAC,MAAGH,EAAE,YAAa;AAACuF,IAAAA,EAAEnF,CAAC,MAAIH,IAAEG,EAAE,gBAAe,GAAGH,KAAGV,IAAEQ,KAAGE,KAAGG,EAAE,gBAAgBH,IAAE,CAAC,IAAEG,EAAE,gBAAgBL,CAAC,GAAE8E,EAAE5E,CAAC,MAAIF,IAAE,GAAER,MAAIQ,IAAEE,EAAE,mBAAkB,IAAIC,EAAE,IAAID,EAAE,OAAMF,GAAE,MAAM,GAAEI,EAAE,IAAIF,EAAE,OAAMF,GAAE,MAAM;AAAA,OAAQ;AAAC,QAAGwF,EAAEnF,CAAC,GAAE;AAAC,UAAIC,IAAED,EAAE,gBAAiB;AAAC,MAAAL,KAAGC,IAAED,KAAGM,KAAGD,EAAE,gBAAgBC,IAAE,CAAC,IAAED,EAAE,gBAAgBL,CAAC,GAAE8E,EAAE9E,CAAC,MAAIK,IAAE,GAAEJ,MAAII,IAAEL,EAAE,mBAAoB,IAAEG,EAAE,IAAIH,EAAE,OAAMK,GAAE,MAAM;AAAA,IAAE;AAACmF,IAAAA,EAAEtF,CAAC,MAAIF,IAAEE,EAAE,gBAAiB,GAACV,KAAGW,IAAEX,KAAGQ,KAAGE,EAAE,gBAAgBF,IAC/f,CAAC,IAAEE,EAAE,gBAAgBV,CAAC,GAAEsF,EAAEtF,CAAC,MAAIU,IAAE,GAAEC,MAAID,IAAEV,EAAE,mBAAoB,IAAEY,EAAE,IAAIZ,EAAE,OAAMU,GAAE,MAAM;AAAA,EAAG;AAAC;AAAC,SAASkO,GAAGnO,GAAEE,GAAE;AAAgD,MAA/CA,IAAEA,EAAE,eAAc,EAAG,YAAWF,IAAEA,EAAE,YAAc+E,EAAE/E,CAAC,GAAE;AAAC,QAAID,IAAEC,EAAE;AAAO,QAAIG,IAAEH,EAAE,OAAMT;AAAE,IAASQ,EAAE,SAAX,WAAkBR,IAAEQ,EAAE,QAAS,GAACR,EAAE,mBAAmBW,GAAEF,CAAC,IAAYG,EAAE,SAAX,WAAkBJ,IAAEI,EAAE,QAAS,GAACZ,MAAIQ,KAAGA,EAAE,mBAAmBG,GAAEF,CAAC;AAAA,EAAE;AAAC;AACjU,SAASoO,GAAGpO,GAAEE,GAAEH,GAAEI,GAAEZ,GAAE;AAAC,MAAIa,IAAE,MAAKH,IAAE,GAAEI,IAAE;AAAK,EAAOF,MAAP,QAAUC,IAAED,EAAE,OAAM0E,EAAE1E,CAAC,KAAGF,IAAEE,EAAE,mBAAkB,GAAGE,IAAE,UAAQkF,EAAEpF,CAAC,MAAIF,IAAEE,EAAE,gBAAiB,GAACE,IAAE,cAAmBd,MAAP,SAAWa,IAAEb,EAAE,OAAMsF,EAAEtF,CAAC,IAAEc,IAAE,SAAOkF,EAAEhG,CAAC,MAAIc,IAAE,aAAmBD,MAAP,QAAiBC,MAAP,OAASL,EAAE,IAAII,GAAEH,GAAEI,CAAC,KAAGJ,IAAEC,EAAE,qBAAoB,GAAQD,MAAL,OAASA,IAAEF,EAAE,gBAAe,IAAIC,EAAE,IAAID,EAAE,OAAME,GAAE,SAAS;AAAE;AAAC,SAASoO,GAAGrO,GAAEE,GAAEH,GAAEI,GAAEZ,GAAE;AAAC,EAASS,EAAE,SAAX,UAAiBA,EAAE,MAAID,GAAEG,MAAIF,EAAE,UAAQT,MAAIS,EAAE,SAAOG,EAAE,qBAAsB,KAAE,EAAEH,EAAE;AAAM;AAAC,IAAIsO,KAAE,MAAKC,KAAE,MAAKvH,IAAE,IAAGwH,KAAG,IAAG/H,KAAG;AAAE,SAASI,KAAG;AAACG,EAAAA,KAAGjE,EAAE,EAAE;AAAC;AAC5e,SAAS2D,KAAG;AAAC,SAAO4H,OAAP,QAAUvL,EAAE,EAAE,GAASuL;AAAC;AAAC,SAAS3H,IAAG;AAAC,SAAO4H,OAAP,QAAUxL,EAAE,EAAE,GAASwL;AAAC;AAAC,SAASE,GAAGzO,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAED,EAAE;AAAO,MAAIX,IAAES,EAAE,OAAO,IAAIG,CAAC;AAA8F,OAAnFZ,MAAT,UAAYwD,EAAE,EAAE,GAAE/C,IAAED,EAAE,IAAII,CAAC,GAAWH,MAAT,WAAaA,IAAE,MAAM,KAAKT,EAAE,UAAU,GAAEQ,EAAE,IAAII,GAAEH,CAAC,IAAGD,IAAEC,EAAE,QAAWG,IAAE,GAAEA,IAAEJ,MAAIC,EAAEG,GAAGD,CAAC,GAAEA,EAAE,WAAY,IAAEC;AAAI;AAAC;AAAC,SAASuO,GAAG1O,GAAEE,GAAE;AAAC,EAAAA,IAAEA,EAAE,cAAaF,IAAEA,EAAE;AAAS,WAAQD,KAAKG;AAAE,IAAAA,IAAEF,EAAE,IAAID,CAAC,GAAE8E,EAAE3E,CAAC,KAAGA,EAAE,WAAY,KAAEA,EAAE,aAAY,KAAI,CAACA,EAAE,cAAa,KAAI0I,GAAG1I,CAAC;AAAC;AACtZ,SAASyO,GAAG3O,GAAEE,GAAE;AAAC,MAAIH,IAAEG,EAAE,cAAaC,IAAED,EAAE;AAAe,EAAAF,IAAEA,EAAE;AAAS,MAAIT,IAAEwH,GAAE,GAAG3G,IAAE,oBAAI;AAAI,MAAIH,IAAEF;AAAE,MAAIM,IAAEJ,EAAE;AAAK,WAAQR,IAAEU,GAAER,IAAEF,EAAE,MAAK,IAAEY,KAAG,IAAEV,KAAG;AAAC,QAAG,IAAEU,GAAE;AAAC,MAAAH,EAAE,eAAa,oBAAI;AAAI,eAAQR,KAAKO;AAAE,QAAAA,IAAED,EAAE,IAAIN,CAAC,GAAEmF,EAAE5E,CAAC,KAAGA,EAAE,WAAY,KAAEA,EAAE,aAAY,KAAI,CAACA,EAAE,cAAa,KAAI2I,GAAG3I,CAAC,GAAWA,MAAT,UAAqBA,MAAT,UAAYA,EAAE,UAAQV,KAAGU,EAAE,WAAU,KAAIwO,GAAGvO,GAAED,GAAEG,CAAC,GAAEL,EAAE,IAAIL,CAAC;AAA4B,UAA1BO,IAAEC,EAAE,cAAaG,IAAEJ,EAAE,MAAQ,IAAEI,GAAE;AAAC,QAAAoG;AAAK;AAAA,MAAQ;AAAA,IAAC;AAAC,IAAAvG,EAAE,eAAa,oBAAI,OAAIA,EAAE,iBAAe,oBAAI;AAAI,aAAQR,KAAKD;AAAE,MAAGA,IAAEC,EAAE,IAAGC,IAAED,EAAE,KAAYD,MAAT,UAAYE,OAAEM,IAAED,EAAE,IAAIP,CAAC,GAC3eQ,MAD6e,UACjeA,MAAT,UAAYA,EAAE,UAAQV,KAAGU,EAAE,WAAY,KAAEwO,GAAGvO,GAAED,GAAEG,CAAC,GAAED,EAAE,IAAIV,GAAEE,CAAC;AAAE,IAAAM,IAAEC,EAAE,cAAaG,IAAEJ,EAAE,MAAKR,IAAES,EAAE,gBAAeP,IAAEF,EAAE,MAAKgH;AAAA,EAAI;AAAC,EAAAvG,EAAE,eAAaH,GAAEG,EAAE,iBAAeC;AAAC;AAAC,SAASyO,GAAG5O,GAAEE,GAAE;AAAC,MAAIH,IAAEG,EAAE,IAAIF,EAAE,IAAI;AAAyF,MAA9ED,MAAT,UAAYgD,EAAE,EAAE,GAAEhD,IAAEA,EAAE,OAAMC,EAAE,SAAOD,EAAE,QAAO,KAAIgD,EAAE,EAAE,GAAEhD,IAAEA,EAAE,WAAWC,CAAC,GAAEA,IAAEA,EAAE,UAAYuF,EAAExF,CAAC,KAAG,MAAM,QAAQC,CAAC;AAAE,aAAQG,IAAE,GAAEA,IAAEH,EAAE,QAAOG,KAAI;AAAC,UAAIZ,IAAEqP,GAAG5O,EAAEG,IAAGD,CAAC;AAAE,MAAAH,EAAE,OAAOR,CAAC;AAAA,IAAC;AAAC,SAAOQ;AAAC;AAAC,SAAS8O,GAAG7O,GAAEE,GAAE;AAAC,MAAIH,IAAEuO,IAAEnO,IAAE6G,GAAEzH,IAAEgP;AAAED,EAAAA,KAAEtO,GAAEgH,IAAE,IAAGuH,KAAE;AAAK,MAAG;AAAC,WAAOrO,EAAG;AAAA,EAAA,UAAC;AAAQoO,IAAAA,KAAEvO,GAAEiH,IAAE7G,GAAEoO,KAAEhP;AAAA,EAAC;AAAC;AAC5c,SAASuP,GAAG9O,GAAE;AAAC,MAAIE,IAAEF,EAAE,qBAAoBD,IAAEC,EAAE,cAAaG,IAAEH,EAAE;AAAU,OAAWD,MAAP,QAAUI,MAAWD,MAAP,MAAS;AAAC,QAAIX,IAAES,EAAE,cAAaI,IAAEb,EAAE,YAAWU,IAAEC,EAAE,YAAWG,IAAML,EAAE,eAAN,GAAiBP,IAAE6O,IAAE3O,IAAEqH,GAAEtH,IAAE6O,IAAE3O,IAAEI,EAAE,WAAUF,IAAEE,EAAE,WAAUyE,IAAE;AAAiD,QAA5CzE,EAAE,sBAAoB,MAAKA,EAAE,eAAaE,GAAK,CAACC,KAAGE,KAAUP,MAAP,MAAS;AAACyO,MAAAA,KAAEvO,GAAEsO,KAAEpO,GAAE8G,IAAE,IAAGhH,EAAE,YAAU;AAAG,UAAG;AAAC,YAAI0E,IAAE1E,EAAE,YAAW8E,IAAE9E,EAAE,gBAAegF,IAAEhF,EAAE;AAAa,QAAAF,EAAE,WAAU,GAAGiJ,KAAEC,KAAEF,KAAE,IAAGM,KAAO1E,MAAJ,GAAM6E,KAAG,MAAKL,KAAElJ,GAAEiJ,KAAGjJ,EAAE,SAAQmJ,KAAGnJ,EAAE,QAAOsJ,KAAGJ,GAAE,WAAW,UAASM,KAAG1E,GAAE2E,KAAGzE,GAAE0E,KAAGnK,EAAE,UAASoK,KAAGzJ,EAAE,UAC9emJ,KAAGnJ,EAAE,WAAU0J,KAAG,IAAI,IAAI5J,EAAE,YAAY;AAAE,YAAIkF,IAAE,oBAAI;AAAI,QAAA2E,KAAG3E,GAAEwF,GAAG,QAAO,IAAI,GAAEb,KAAGD,KAAGX,KAAGU,KAAGD,KAAGD,KAAGD,KAAGL,KAAGD,KAAE,QAAOzE,IAAES;AAAA,MAAC,SAAO6J,IAAN;AAA2C,YAAlCA,cAAa,SAAO/O,EAAE,SAAS+O,EAAC,GAAKP;AAAG,gBAAMO;AAAE,QAAAC,GAAGhP,GAAE,MAAKD,GAAEG,CAAC,GAAEyF,GAAG3F,CAAC,GAAEA,EAAE,aAAW,GAAEwO,KAAG,IAAGM,GAAG9O,CAAC,GAAEwO,KAAG;AAAG;AAAA,MAAM,UAAC;AAAQ,QAAA1O,EAAE,QAAQC,GAAE,EAAC,eAAc,IAAG,WAAU,IAAG,SAAQ,GAAE,CAAC,GAAEC,EAAE,YAAUJ,GAAE0O,KAAE7O,GAAEuH,IAAErH,GAAE4O,KAAE7O;AAAA,MAAC;AAAA,IAAC;AAAC,IAAAQ,EAAE,cAAYA,EAAE,YAAU,KAAIN,IAAEI,EAAE,cAAaF,IAAEE,EAAE,gBAAekF,IAAElF,EAAE,kBAAiB0E,IAAE1E,EAAE,aAAYL,IAAEK,EAAE,WAAUK,MAAIL,EAAE,aAAW,GAAEA,EAAE,gBAAgB,MAAK,GAAGA,EAAE,eAAa,oBAAI,OACxfA,EAAE,iBAAe,oBAAI,OAAIA,EAAE,mBAAiB,oBAAI,OAAIA,EAAE,cAAY,oBAAI,QAAKgF,IAAEhF,EAAE,aAAY8E,IAAE9E,EAAE,sBAAoBgF;AAAE,QAAII,IAAElF,EAAE;AAAS,SAAI+O,MAAMnK;AAAE,MAAAM,EAAE,IAAI6J,EAAE,MAAInK,MAAIE,MAAIF,IAAEmC,GAAGjH,CAAC,IAAG,OAAO8E,EAAEmK;AAAoC,QAA/B9O,IAAEA,IAAE,OAAK,OAAO,aAAY,GAAMH,EAAE,aAAkBG,MAAP,SAAWE,KAAUJ,MAAP,QAAUA,EAAE,QAAO;AAACsO,MAAAA,KAAEvO,GAAEsO,KAAEpO;AAAE,UAAG;AAAC,QAAAF,GAAE;AAAC,cAAI+O,KAAE5O,EAAE,YAAW+O,KAAG/O,EAAE,WAAUgP,KAAGhP,EAAE,cAAaiP,KAAGjP,EAAE,aAAYkP,KAAG,SAAS;AAAc,cAAG,CAAC3K,EAAE,IAAI,eAAe,KAAG2K,OAAKtP;AAAE,gBAAGgF,EAAE9E,CAAC,GAAE;AAAC,kBAAIoF,IAAEpF,EAAE,QAAOqF,IAAErF,EAAE,OAAMqP,IAAGjK,EAAE,KAAIkK,IAAGjK,EAAE,KAAIkK,IAAGpH,GAAGpI,GAAEsP,CAAE,GAAEG,IAAGrH,GAAGpI,GAAEuP,CAAE,GAAEG,IAAGrK,EAAE,QAChfsK,IAAGrK,EAAE,QAAOsK,IAAG3P,EAAE,QAAO4P,KAAG5P,EAAE,YAAW;AAAG,cAAAI,IAAEmP,GAAGD,IAAGE;AAAG,kBAAIR,KAAG;AAA4F,kBAAhF5J,EAAE,SAAX,WAAkBhF,IAAE6F,GAAGsJ,CAAE,GAAEP,KAAG5J,EAAE,QAAO,EAAG,UAAW,MAAGuK,IAAatK,EAAE,SAAX,WAAkBiK,IAAGrJ,GAAGuJ,CAAE,IAAapP,MAAP,QAAiBkP,MAAP,MAAU;AAAC,oBAAGM,OAAYzP,MAAP,QAAU6O,MAAIlK,EAAE3E,CAAC,KAAGA,EAAE,WAASwP,IAAI;AAAC,sBAAIE,KAAG,YAAY,IAAK;AAAC,kBAAAnE,KAAG,CAACiE,GAAGF,GAAGJ,GAAGQ,EAAE;AAAA,gBAAC;AAAC,oBAAGX,OAAKO,KAAIN,OAAKO,KAAIZ,OAAI1O,KAAG6O,OAAKK,MAAepP,EAAE,SAAZ,WAAkB,CAAC0P,QAAa9P,MAAP,QAAiBsP,OAAP,QAAWtP,EAAE,SAASsP,EAAE,KAAGtP,EAAE,MAAM,EAAC,eAAc,GAAE,CAAC,GAAE,CAACuD,MAAI,CAACD,MAAgBgC,EAAE,SAAd;AAAoB,wBAAMrF;AAAE,oBAAG;AAAgC,sBAA/BG,EAAE,iBAAiBE,GAAEqP,GAAGH,GAAGI,CAAE,GAAK1P,EAAE,YAAa,KAASF,MAAP,QAAUA,MAAIsP,IAAG;AAAC,wBAAIU,KAC1f1K,EAAE,QAAS;AAAC,wBAAGE,EAAEwK,EAAE,GAAE;AAAC,0BAAIC,IAAGD,GAAG,qBAAqB1K,EAAE,MAAM;AAAE,sBAAO2K,MAAP,SAAYD,KAAGC;AAAA,oBAAG;AAAC,wBAAIC,KAAGjQ,EAAE,gBAAgB+P,GAAG,KAAK;AAAE,wBAAUE,OAAP,MAAU;AAAC,0BAAID,IAAGC,GAAG,sBAAuB;AAAC,0BAAGD,EAAG,SAAOpK,GAAG5F,CAAC,EAAE;AAAY,wBAAAiQ,GAAG,eAAe,EAAE;AAAA,+BAAU,IAAED,EAAG;AAAI,wBAAAC,GAAG,eAAgB;AAAA,2BAAK;AAAC,4BAAIC,KAAGnQ,EAAE,sBAAuB;AAAC,6BAAK,MAAMiQ,EAAG,MAAM,IAAE,KAAK,MAAME,GAAG,MAAM,IAAED,GAAG,eAAe,EAAE,IAAE,KAAK,MAAMD,EAAG,GAAG,IAAE,KAAK,MAAME,GAAG,GAAG,KAAGD,GAAG,eAAgB;AAAA,sBAAA;AAAC,sBAAAvL,EAAE,IAAI,kBAAkB;AAAA,oBAAC;AAAA,kBAAC;AAAC,kBAAA6G,KAAG;AAAA,gBAAE,QAAC;AAAA,gBAAW;AAAA,cAAA;AAAA,YAAC;AAAM,cAAOnL,MAAP,QAAU2F,GAAG/F,GAAE+O,IAAEG,EAAE,KAAG/O,EAAE;QAAiB;AAAA,MAAC,UAAC;AAAQoO,QAAAA,KACxgB7O,GAAE4O,KAAE7O;AAAA,MAAC;AAAA,IAAC;AAAC,QAAUgF,MAAP;AAAS,WAAI1E,IAAE0E,GAAErE,IAAE,MAAM,KAAKJ,EAAE,WAAW,QAAQ,GAAEC,IAAEG,EAAE,QAAOX,IAAE,GAAEA,IAAEQ,GAAER,KAAI;AAAC,YAAI,CAACsP,IAAEG,EAAE,IAAE9O,EAAEX;AAAG,QAAAC,IAAEK,EAAE,IAAImP,EAAE,GAAWxP,MAAT,UAAYqP,GAAErP,GAAE,EAAC,aAAYE,GAAE,YAAW8E,EAAC,CAAC;AAAA,MAAC;AAA+Q,QAA9Q3E,IAAEC,EAAE,oBAA0BD,MAAP,SAAWC,EAAE,cAAYD,GAAEC,EAAE,qBAAmB,MAAKmQ,GAAG,aAAYnQ,GAAE,IAAGD,CAAC,IAAGA,IAAEmH,GAAG3H,CAAC,GAAEa,IAAE8G,GAAGhH,CAAC,GAAEH,MAAIK,KAAG+P,GAAG,eAAcnQ,GAAE,IAAGI,CAAC,GAAE+P,GAAG,UAASnQ,GAAE,IAAG,EAAC,eAAcF,GAAE,aAAYF,GAAE,aAAYM,GAAE,iBAAgBgF,GAAE,iBAAgB3F,GAAE,MAAKmF,EAAC,CAAC,GAAE1E,EAAE,YAAU,CAAE,GAAQL,EAAE,WAAN,GAAa;AAAC,MAAAO,IAAEF,EAAE,WAAUA,EAAE,YAAU;AAAG,UAAG;AAAC,aAAIT,IAAE,GAAEA,IAAEI,EAAE,QAAOJ;AAAI,UAAAI,EAAEJ,GAAI;AAAA,MAAA,UAAC;AAAQ,QAAAS,EAAE,YACzgBE;AAAA,MAAC;AAAA,IAAC;AAAc,QAAbA,IAAEF,EAAE,UAAgBE,EAAE,WAAN,MAAeA,IAAEA,EAAE,MAAK,IAAI;AAAC,UAAI,CAAC6O,IAAEG,EAAE,IAAEhP;AAAE,MAAAkQ,GAAGpQ,GAAE+O,IAAEG,EAAE;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,SAASiB,GAAGnQ,GAAEE,GAAEH,MAAKI,GAAE;AAAC,MAAIZ,IAAEW,EAAE;AAAU,EAAAA,EAAE,YAAUH;AAAE,MAAG;AAAC,QAAIK,IAAE,MAAM,KAAKF,EAAE,WAAWF,EAAE;AAAE,SAAIA,IAAE,GAAEA,IAAEI,EAAE,QAAOJ;AAAI,MAAAI,EAAEJ,GAAG,MAAM,MAAKG,CAAC;AAAA,EAAC,UAAC;AAAQ,IAAAD,EAAE,YAAUX;AAAA,EAAC;AAAC;AACxO,SAASuM,EAAE9L,GAAEE,GAAEH,GAAE;AAAC,MAAQC,EAAE,cAAP,MAAkBuO,OAAIvO,GAAE;AAAC,QAAII,IAAE;AAAG,WAAAJ,EAAE,OAAO,MAAI;AAAC,MAAAI,IAAE0L,EAAE9L,GAAEE,GAAEH,CAAC;AAAA,IAAC,CAAC,GAASK;AAAA,EAAC;AAAC,MAAID,IAAEoH,GAAGvH,CAAC;AAAE,WAAQI,IAAE,GAAE,KAAGA,GAAEA;AAAI,aAAQH,IAAE,GAAEA,IAAEE,EAAE,QAAOF,KAAI;AAAC,UAAIV,IAAEY,EAAEF,GAAG,UAAU,IAAIC,CAAC;AAAE,UAAYX,MAAT,WAAaA,IAAEA,EAAEa,IAAYb,MAAT,SAAY;AAAC,QAAAA,IAAE,MAAM,KAAKA,CAAC;AAAE,YAAIc,IAAEd,EAAE;AAAO,iBAAQE,IAAE,GAAEA,IAAEY,GAAEZ;AAAI,cAAQF,EAAEE,GAAGM,GAAEC,CAAC,MAAb;AAAe,mBAAM;AAAA,MAAE;AAAA,IAAC;AAAC,SAAM;AAAE;AAC/S,SAASqQ,GAAGrQ,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAS,OAAIE,IAAEA,KAAG,IAAOH,EAAE,WAAN,KAAc;AAAC,QAAII,IAAEJ,EAAE,MAAK;AAAG,QAAGI,GAAE;AAAC,UAAI,CAACZ,GAAEa,CAAC,IAAED,GAAEF;AAAE,MAASG,MAAT,WAAaD,IAAEC,EAAE,UAASH,IAAEG,EAAE,KAAIA,EAAE,mBAAiBF,IAAE,KAAIC,KAAGH,EAAE,UAAU,KAAKG,CAAC,GAAEF,KAAGD,EAAE,YAAY,IAAIC,CAAC,IAAGV;IAAG;AAAA,EAAC;AAAC,SAAOW;AAAC;AACzN,SAASkQ,GAAGpQ,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE;AAAY,MAAIT,IAAE;AAAG,MAAYQ,MAAT,QAAW;AAAC,QAAIK,IAAEL,EAAE;AAAS,IAAAR,IAAEQ,EAAE,KAAUR,KAAN,QAASY,EAAE,IAAIZ,CAAC,GAAEA,IAAEQ,EAAE,kBAAgB;AAAA,EAAE;AAAC,EAAAK,KAAGJ,EAAE,UAAU,KAAKI,CAAC,GAAEL,IAAEC,EAAE,cAAaI,IAAEJ,EAAE;AAAoB,MAAIC,IAAE;AAAG,GAAUG,MAAP,QAAUA,EAAE,eAAUA,IAAEJ,EAAE,sBAAoB,IAAIsQ,GAAG,IAAI,IAAIvQ,EAAE,QAAQ,CAAC,GAAEE,IAAE;AAAG,MAAII,IAAEiO,IAAE7O,IAAEuH,GAAErH,IAAE4O,IAAE7O,IAAEM,EAAE;AAAUsO,EAAAA,KAAElO,GAAE4G,IAAE,IAAGhH,EAAE,YAAU,IAAGuO,KAAEvO;AAAE,MAAG;AAAC,IAAAC,KAAG,CAACD,EAAE,cAAYI,EAAE,aAAW4N,GAAGhO,CAAC;AAAG,QAAIJ,IAAEI,EAAE;AAAgB,IAAAE,EAAG,GAACX,IAAE8Q,GAAGrQ,GAAET,CAAC,GAAE4O,GAAG/N,GAAEJ,CAAC,GAAMA,EAAE,eAAN,MAAmBT,IAAEmP,GAAGtO,GAAEJ,CAAC,IAAE2O,GAAGvO,GAAEJ,CAAC,GAAEqQ,GAAGrQ,CAAC,GAAEyI,GAAG1I,GAAEK,GAAEJ,EAAE,cAAaA,EAAE,cAAc,IAC/fJ,MAAII,EAAE,oBAAkBI,EAAE,aAAW;AAAI,QAAIN,IAAEM,EAAE;AAAW,QAAG2E,EAAEjF,CAAC,GAAE;AAAC,UAAI2E,IAAErE,EAAE,UAASsE,IAAE5E,EAAE,MAAM;AAAI,MAAS2E,EAAE,IAAI3E,EAAE,OAAO,GAAG,MAA3B,UAAuC2E,EAAE,IAAIC,CAAC,MAAhB,UAAmB3B,EAAE,EAAE;AAAA,IAAC;AAAM,MAAAmJ,GAAGpM,CAAC,KAAOA,EAAE,OAAO,SAAb,MAAoBM,EAAE,aAAW;AAAA,EAAK,SAAOR,GAAN;AAAS,IAAAA,aAAa,SAAOI,EAAE,SAASJ,CAAC,GAAEI,EAAE,sBAAoBD,GAAEC,EAAE,aAAW,GAAEA,EAAE,gBAAgB,MAAK,GAAGA,EAAE,eAAa,oBAAI,OAAIA,EAAE,eAAe,MAAK,GAAG8O,GAAG9O,CAAC;AAAE;AAAA,EAAM,UAAC;AAAQsO,IAAAA,KAAEjO,GAAE2G,IAAEvH,GAAE8O,KAAE5O,GAAEK,EAAE,YAAUN,GAAE+G,KAAG;AAAA,EAAC;AAAC,EAAIzG,EAAE,eAAN,KAAkBuQ,GAAGnQ,GAAEJ,CAAC,IAAEI,EAAE,cAAYA,EAAE,aAAW,IAAG0O,GAAG9O,CAAC,KAAGC,KAAG6F,GAAG,MAAI;AAAC,IAAAgJ,GAAG9O,CAAC;AAAA,EAAC,CAAC,KAAGI,EAAE,aACnf,IAAGH,MAAIE,EAAE,MAAO,GAACH,EAAE,YAAU,CAAE,GAACA,EAAE,sBAAoB;AAAM;AAAC,SAASwE,GAAExE,GAAEE,GAAEH,GAAE;AAAC,EAAAC,EAAE,YAAUA,EAAE,SAAS,KAAK,CAACE,GAAEH,CAAC,CAAC,IAAEqQ,GAAGpQ,GAAEE,GAAEH,CAAC;AAAC;AAC3H,SAASyQ,GAAGxQ,GAAEE,GAAEH,GAAE;AAAC8G,EAAAA,GAAC;AAAG,MAAI1G,IAAEH,EAAE;AAAM,MAAIT,IAAES,EAAE,UAAW;AAAC,MAAUT,MAAP,MAAS;AAAC,QAAIa,IAAEiI,GAAGrI,CAAC,GAAEC,IAAE;AAAG,QAAG8E,EAAE3E,CAAC,KAAGF,GAAE;AAAC,UAAIG,IAAED,EAAE;AAAO,UAAIX,IAAEW,EAAE;AAAM,MAAAC,EAAE,QAAMF,MAAIiO,GAAG/N,GAAEL,GAAET,GAAES,EAAE,mBAAkB,GAAGA,EAAE,gBAAgB,GAAEC,IAAE,KAAIR,EAAE,QAAMU,MAAIiO,GAAG3O,GAAEO,GAAET,GAAES,EAAE,mBAAkB,GAAGA,EAAE,gBAAgB,GAAEC,IAAE;AAAA,IAAG;AAAC,IAAAI,IAAEd,EAAE,YAAW,EAAG,YAAWY,IAAEE,EAAE,QAAQF,CAAC,GAAOA,MAAL,MAAQ4C,EAAE,EAAE,GAAEwD,GAAGvG,CAAC,GAAEK,EAAE,OAAOF,GAAE,CAAC,GAAEH,EAAE,YAAa,EAAC,WAAS,MAAK+E,EAAE3E,CAAC,KAAGF,KAAG,CAACD,KAAGgO,GAAG7N,GAAEb,GAAEY,GAAE,EAAE,GAAEJ,KAAGwI,GAAGhJ,CAAC,KAAGA,EAAE,WAAU,KAAI,CAACA,EAAE,QAAS,KAAEiR,GAAGjR,GAAEW,CAAC,GAAEiI,GAAE5I,CAAC,KAAGA,EAAE,QAAO,KAAIA,EAAE,UAAW;AAAA,EAAA;AAAC;AACne,SAASkR,GAAGzQ,GAAE;AAAC,SAAAA,IAAE8G,EAAE9G,CAAC,GAASA,MAAP,QAAU+C,EAAE,EAAE,GAAS/C;AAAC;AAC9C,MAAM0Q,GAAE;AAAA,EAAC,OAAO,UAAS;AAAC3N,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,OAAO,QAAO;AAACA,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,YAAY/C,GAAE;AAA2D,QAA1D,KAAK,SAAO,KAAK,YAAY,QAAO,GAAG,KAAK,WAAS,MAAcA,KAAN;AAAQ,WAAK,QAAMA;AAAA,SAAM;AAAC6G,MAAAA,GAAC,GAAG,KAAGJ,MAAI1D,EAAE,EAAE,GAAE/C,IAAE2G,EAAC;AAAG,UAAIzG,IAAEwG,GAAG,GAAC3G,IAAE,KAAG8F;AAAK,MAAA3F,EAAE,SAAS,IAAIH,GAAE,IAAI,GAAEwF,EAAE,IAAI,IAAEvF,EAAE,eAAe,IAAID,GAAE,EAAE,IAAEC,EAAE,aAAa,IAAID,CAAC,GAAEC,EAAE,gBAAgB,IAAID,CAAC,GAAEC,EAAE,aAAW,GAAE,KAAK,QAAMD;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,WAAO,KAAK;AAAA,EAAM;AAAA,EAAC,aAAY;AAAC,aAAQC,IAAE,KAAK,OAAaA,MAAP,QAAU;AAAC,UAAYA,MAAT;AAAW,eAAM;AAAU,UAAPA,IAAE8G,EAAE9G,CAAC,GAAYA,MAAP;AAAS;AAAM,MAAAA,IAAEA,EAAE;AAAA,IAAQ;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,QAAIA,IAAEsE,EAAC;AAAG,QACnftE,KADsf;AACpf,aAAM;AAAG,QAAIE,IAAEF,EAAE,WAAW,KAAK,CAAAD,MAAGA,EAAE,UAAQ,KAAK,KAAK;AAAE,WAAO8E,EAAE,IAAI,IAAE3E,IAAE6E,EAAE/E,CAAC,KAAeA,EAAE,OAAO,SAArB,aAAuCA,EAAE,MAAM,SAApB,aAA0BA,EAAE,OAAO,QAAMA,EAAE,MAAM,OAAKA,EAAE,OAAO,WAASA,EAAE,MAAM,SAAO,KAAGE;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK;AAAA,EAAK;AAAA,EAAC,uBAAsB;AAAC,QAAIF,IAAE,KAAK,UAAW;AAAC,WAAcA,MAAP,OAAS,KAAGA,EAAE,WAAW,QAAQ,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,QAAIA,IAAE,KAAK,UAAS,EAAG;AAAS,WAAcA,MAAP,OAAS,OAAK8G,EAAE9G,CAAC;AAAA,EAAC;AAAA,EAAC,mBAAkB;AAAC,QAAIA,IAAE,KAAK,UAAW;AAAC,WAAOA,MAAP,QAAU+C,EAAE,EAAE,GAAS/C;AAAA,EAAC;AAAA,EAAC,qBAAoB;AAAC,QAAIA,IAAE;AAAK,WAChfA,MADqf,QAClf;AAAC,UAAIE,IAAEF,EAAE,UAAW;AAAC,UAAGuI,GAAGrI,CAAC;AAAE,eAAOF;AAAE,MAAAA,IAAEE;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,4BAA2B;AAAC,QAAIF,IAAE,KAAK,mBAAoB;AAAC,WAAOA,MAAP,QAAU+C,EAAE,EAAE,GAAS/C;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,QAAIA,IAAE,IAAGE,IAAE,KAAK,UAAW;AAAC,WAAYA,MAAP;AAAU,MAAAF,EAAE,KAAKE,CAAC,GAAEA,IAAEA,EAAE,UAAS;AAAG,WAAOF;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,QAAIA,IAAE,CAAE,GAACE,IAAE,KAAK,UAAS;AAAG,WAAYA,MAAP;AAAU,MAAAF,EAAE,KAAKE,EAAE,KAAK,GAAEA,IAAEA,EAAE,UAAS;AAAG,WAAOF;AAAA,EAAC;AAAA,EAAC,qBAAoB;AAAC,QAAIA,IAAE,KAAK,UAAW;AAAC,QAAUA,MAAP;AAAS,aAAO;AAAK,IAAAA,IAAEA,EAAE;AAAW,QAAIE,IAAEF,EAAE,QAAQ,KAAK,KAAK;AAAE,WAAO,KAAGE,IAAE,OAAK4G,EAAE9G,EAAEE,IAAE,EAAE;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,QAAIF,IAAE,KAAK,UAAS;AAClgB,QAAUA,MAAP;AAAS,aAAM,CAAE;AAAC,IAAAA,IAAEA,EAAE;AAAW,QAAIE,IAAEF,EAAE,QAAQ,KAAK,KAAK;AAAE,WAAOA,EAAE,MAAM,GAAEE,CAAC,EAAE,IAAI,CAAAH,MAAG0Q,GAAG1Q,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIC,IAAE,KAAK,UAAS;AAAG,QAAUA,MAAP;AAAS,aAAO;AAAK,IAAAA,IAAEA,EAAE;AAAW,QAAIE,IAAEF,EAAE,QAAOD,IAAEC,EAAE,QAAQ,KAAK,KAAK;AAAE,WAAOD,KAAGG,IAAE,IAAE,OAAK4G,EAAE9G,EAAED,IAAE,EAAE;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAIC,IAAE,KAAK,UAAW;AAAC,QAAUA,MAAP;AAAS,aAAM,CAAA;AAAG,IAAAA,IAAEA,EAAE;AAAW,QAAIE,IAAEF,EAAE,QAAQ,KAAK,KAAK;AAAE,WAAOA,EAAE,MAAME,IAAE,CAAC,EAAE,IAAI,CAAAH,MAAG0Q,GAAG1Q,CAAC,CAAC;AAAA,EAAC;AAAA,EAAC,kBAAkBC,GAAE;AAAC,QAAIE,IAAE,KAAK,WAAY;AAAC,QAAIH,IAAEC,EAAE,WAAU;AAAGuF,IAAAA,EAAE,IAAI,KAAGrF,EAAE,QAAQ,IAAI,GAAEqF,EAAEvF,CAAC,KAAGD,EAAE,QAAQC,CAAC,GAAEA,IAAEE,EAAE;AAClf,QAAIC,IAAEJ,EAAE;AAAO,QAAOC,MAAJ,KAAWG,MAAJ,KAAOD,EAAEF,IAAE,OAAKD,EAAEI,IAAE;AAAG,aAAO;AAAkB,SAAbJ,IAAE,IAAI,IAAIA,CAAC,GAAMI,IAAE,GAAEA,IAAEH,GAAEG,KAAI;AAAC,UAAIZ,IAAEW,EAAEC;AAAG,UAAGJ,EAAE,IAAIR,CAAC;AAAE,eAAOA;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,GAAGS,GAAE;AAAC,WAAaA,KAAN,OAAQ,KAAG,KAAK,UAAQA,EAAE;AAAA,EAAK;AAAA,EAAC,SAASA,GAAE;AAAC,QAAGA,EAAE,WAAW,IAAI;AAAE,aAAM;AAAG,QAAG,KAAK,WAAWA,CAAC;AAAE,aAAM;AAAG,QAAIE,IAAE,KAAK,kBAAkBF,CAAC;AAAE,QAAID,IAAE;AAAK,eAAO;AAAC,UAAII,IAAEJ,EAAE,iBAAkB;AAAC,UAAGI,MAAID,GAAE;AAAC,QAAAC,IAAEA,EAAE,WAAW,QAAQJ,EAAE,KAAK;AAAE;AAAA,MAAK;AAAC,MAAAA,IAAEI;AAAA,IAAC;AAAC,SAAIJ,IAAEC,OAAI;AAAwB,UAAvBA,IAAED,EAAE,oBAAsBC,MAAIE,GAAE;AAAC,QAAAA,IAAEF,EAAE,WAAW,QAAQD,EAAE,KAAK;AAAE;AAAA,MAAK;AAAC,MAAAA,IAAEC;AAAA,IAAC;AAAC,WAAOG,IAAED;AAAA,EAAC;AAAA,EAAC,WAAWF,GAAE;AAAC,QAAIE,IAAE,KAAK;AACzf,QAAGA,MAAIF,EAAE;AAAM,aAAM;AAAG,WAAYA,MAAP,QAAU;AAAC,UAAGA,EAAE,UAAQE;AAAE,eAAM;AAAG,MAAAF,IAAEA,EAAE,UAAS;AAAA,IAAE;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,gBAAgBA,GAAE;AAAC,QAAIE,IAAE,KAAK,SAASF,CAAC,GAAED,IAAE,CAAE,GAACI,IAAE,oBAAI;AAAI,aAAQZ,IAAE,UAAO;AAAC,UAAIa,IAAEb,EAAE;AAAqC,UAA/BY,EAAE,IAAIC,CAAC,MAAID,EAAE,IAAIC,CAAC,GAAEL,EAAE,KAAKR,CAAC,IAAMA,MAAIS;AAAE;AAAuD,UAAjDI,IAAEmF,EAAEhG,CAAC,IAAEW,IAAEX,EAAE,cAAe,IAACA,EAAE,aAAc,IAAC,MAAea,MAAP;AAAS,QAAAb,IAAEa;AAAA,eAAUA,IAAEF,IAAEX,EAAE,eAAc,IAAGA,EAAE,mBAAkB,GAAUa,MAAP;AAAS,QAAAb,IAAEa;AAAA,WAAM;AAAkD,YAAjDb,IAAEA,EAAE,iBAAkB,GAACY,EAAE,IAAIZ,EAAE,KAAK,KAAGQ,EAAE,KAAKR,CAAC,GAAKA,MAAIS;AAAE;AAAM,QAAAI,IAAEb;AAAE;AAAG,UAAOa,MAAP,QAAU2C,EAAE,EAAE,GAAExD,IAAEW,IAAEE,EAAE,eAAgB,IAACA,EAAE,mBAAkB,GAAGA,IAAEA,EAAE,UAAW,GACtfA,MAAP,SAAkBb,MAAP,QAAUY,EAAE,IAAIC,EAAE,KAAK,KAAGL,EAAE,KAAKK,CAAC;AAAA,eAAgBb,MAAP;AAAA,MAAS;AAAA,IAAC;AAAC,WAAAW,KAAGH,EAAE,QAAO,GAAUA;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,QAAIC,IAAE2G,EAAC,EAAG;AAAa,WAAc3G,MAAP,QAAUA,EAAE,IAAI,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,QAAIA,IAAE8G,EAAE,KAAK,KAAK;AAAE,WAAO9G,MAAP,QAAU+C,EAAE,EAAE,GAAS/C;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC6G,IAAAA;AAAI,QAAI7G,IAAE0G,GAAC,GAAGxG,IAAEyG,EAAC;AAAG,IAAA3G,IAAEA,EAAE;AAAS,QAAID,IAAE,KAAK,OAAMI,IAAE,KAAK,UAAW,GAACZ,IAAEY,EAAE;AAAS,IAAAD,IAAEA,EAAE;AAAgB,QAAIE,IAAEkE;AAAoC,WAAzBlE,MAAP,SAAWA,EAAE,eAAa,OAASF,EAAE,IAAIH,CAAC,KAASyG,GAAGrG,CAAC,GAAEA,MAAEC,IAAED,EAAE,YAAY,MAAMA,CAAC,GAAEC,EAAE,WAASb,GAAEgG,EAAEpF,CAAC,KAAGoF,EAAEnF,CAAC,KAAGA,EAAE,aAAW,MAAM,KAAKD,EAAE,UAAU,GAAEC,EAAE,WAASD,EAAE,UACpfC,EAAE,WAASD,EAAE,UAASC,EAAE,QAAMD,EAAE,SAAO0E,EAAE1E,CAAC,KAAG0E,EAAEzE,CAAC,MAAIA,EAAE,WAASD,EAAE,UAASC,EAAE,UAAQD,EAAE,SAAQC,EAAE,SAAOD,EAAE,QAAOC,EAAE,WAASD,EAAE,WAAUD,EAAE,IAAIH,CAAC,GAAEK,EAAE,QAAML,GAAEyG,GAAGpG,CAAC,GAAEJ,EAAE,IAAID,GAAEK,CAAC,GAASA;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,qBAAoB;AAAC,WAAO,KAAK,eAAgB,EAAC;AAAA,EAAM;AAAA,EAAC,YAAW;AAAC2C,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,YAAW;AAACA,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,UAAU/C,GAAE;AAAC,WAAM,EAAC,SAAQ,KAAK,UAAUA,EAAE,SAAQA,CAAC,EAAC;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC+C,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,OAAO,aAAY;AAACA,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,OAAO/C,GAAE;AAAC,IAAAwQ,GAAG,MAAK,IAAGxQ,CAAC;AAAA,EAAC;AAAA,EAAC,QAAQA,GAAE;AAAC6G,IAAAA,GAAG;AAAC,QAAI3G,IAAE,KAAK;AAAM,IAAAF,IAAEA,EAAE,YAAW,GAAGsG,GAAGtG,CAAC;AAAE,QAAID,IAAE,KAAK,iBAAkB,GAC9fI,IAAEJ,EAAE,YAAa,EAAC;AAAW,QAAIR,IAAEY,EAAE,QAAQ,KAAK,KAAK,GAAEC,IAAEJ,EAAE;AAAM,WAAKT,MAAL,MAAQwD,EAAE,EAAE,GAAE5C,EAAE,OAAOZ,GAAE,GAAEa,CAAC,GAAEJ,EAAE,WAASD,EAAE,OAAMyQ,GAAG,MAAK,EAAE,GAAEjK,GAAGvG,CAAC,GAAEG,IAAEmE,EAAC,GAAGS,EAAE5E,CAAC,MAAIJ,IAAEI,EAAE,QAAOA,IAAEA,EAAE,OAAMJ,EAAE,QAAMG,KAAGwM,GAAG3M,GAAEC,CAAC,GAAEG,EAAE,QAAMD,KAAGwM,GAAGvM,GAAEH,CAAC,IAAG+G,GAAI,MAAG7G,KAAG0G,GAAExG,CAAC,GAASJ;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAE;AAAC6G,IAAAA,GAAC;AAAG,QAAI3G,IAAE,KAAK,YAAW,GAAGH,IAAEC,EAAE,YAAa,GAACG,IAAEJ,EAAE,UAAS;AAAG,QAAIR,IAAE+E,EAAC;AAAG,QAAIlE,IAAEJ,EAAE,qBAAoB,GAAGC,IAAE,IAAGI,IAAE;AAAG,IAAOF,MAAP,SAAWmG,GAAGvG,CAAC,GAAEgF,EAAExF,CAAC,MAAIc,IAAEF,EAAE,OAAMF,IAAEV,EAAE,QAAOY,IAAEZ,EAAE,OAAMU,IAAcA,EAAE,SAAd,aAAoBA,EAAE,QAAMI,KAAGJ,EAAE,WAASG,IAAE,GAAEC,IAAcF,EAAE,SAAd,aAAoBA,EAAE,QAAME,KAAGF,EAAE,WAClfC,IAAE,KAAIA,IAAE,KAAK,iBAAkB,EAAC,YAAW,GAAGD,IAAEJ,EAAE,OAAMA,EAAE,WAASG,EAAE;AAAS,QAAIT,IAAEW,EAAE;AAAW,WAAAF,IAAET,EAAE,QAAQS,EAAE,KAAK,GAAOA,MAAL,MAAQ6C,EAAE,EAAE,GAAEtD,EAAE,OAAOS,IAAE,GAAE,GAAEC,CAAC,GAAEoG,GAAGxG,CAAC,GAAEgF,EAAExF,CAAC,MAAI0O,GAAG1O,GAAEa,GAAEF,IAAE,CAAC,GAAEH,IAAEK,EAAE,OAAMH,KAAGV,EAAE,OAAO,IAAIQ,GAAEG,IAAE,GAAE,SAAS,GAAEG,KAAGd,EAAE,MAAM,IAAIQ,GAAEG,IAAE,GAAE,SAAS,IAAUF;AAAA,EAAC;AAAA,EAAC,aAAaA,GAAE;AAAC,QAAIE,IAAE,KAAK,YAAa,GAACH,IAAEC,EAAE,YAAW;AAAG,IAAAsG,GAAGvG,CAAC;AAAE,QAAII,IAAE,KAAK,iBAAkB,EAAC,YAAW,GAAGZ,IAAEQ,EAAE;AAAM,IAAAA,EAAE,WAASG,EAAE;AAAS,QAAIE,IAAED,EAAE;AAAW,WAAAD,IAAEE,EAAE,QAAQF,EAAE,KAAK,GAAOA,MAAL,MAAQ6C,EAAE,EAAE,GAAE3C,EAAE,OAAOF,GAAE,GAAEX,CAAC,GAAEgH,GAAGxG,CAAC,GAAEA,IAAEuE,EAAG,GAACS,EAAEhF,CAAC,KAAGkO,GAAGlO,GAAEI,GAAED,CAAC,GAASF;AAAA,EAAC;AAAA,EAAC,eAAeA,GAC3gBE,GAAE;AAAC2G,IAAAA,GAAC;AAAG,QAAI9G,IAAE,KAAK,mBAAoB,GAACI,IAAE,KAAK,iBAAgB;AAAG,WAAcJ,MAAP,OAASI,EAAE,OAAO,GAAE,CAAC,IAAEoF,EAAExF,CAAC,IAAEA,EAAE,WAAS8E,EAAE9E,CAAC,IAAEA,EAAE,OAAOC,GAAEE,CAAC,KAAGF,IAAED,EAAE,qBAAsB,IAAC,GAAEI,EAAE,OAAOH,GAAEA,CAAC;AAAA,EAAE;AAAA,EAAC,WAAWA,GAAEE,GAAE;AAAC2G,IAAAA,GAAC;AAAG,QAAI9G,IAAE,KAAK,eAAc,GAAGI,IAAE,KAAK,iBAAgB;AAAG,WAAcJ,MAAP,OAASI,EAAE,OAAQ,IAACoF,EAAExF,CAAC,IAAEA,EAAE,OAAO,GAAE,CAAC,IAAE8E,EAAE9E,CAAC,IAAEA,EAAE,OAAOC,GAAEE,CAAC,KAAGF,IAAED,EAAE,qBAAoB,GAAGI,EAAE,OAAOH,GAAEA,CAAC;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,SAAK,YAAW;AAAA,EAAE;AAAC;AAAC,MAAM2Q,WAAWD,GAAE;AAAA,EAAC,YAAY1Q,GAAE;AAAC,UAAMA,CAAC;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC+C,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,WAAM;AAAA,EAAE;AAAC;AAC5e,SAAS6B,EAAE5E,GAAE;AAAC,SAAOA,aAAa2Q;AAAE;AACpC,MAAMC,WAAWF,GAAE;AAAA,EAAC,YAAY1Q,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,aAAW,CAAE,GAAC,KAAK,WAAS,KAAK,WAAS,GAAE,KAAK,QAAM;AAAA,EAAI;AAAA,EAAC,YAAW;AAAC,WAAO,KAAK,UAAS,EAAG;AAAA,EAAQ;AAAA,EAAC,gBAAe;AAAC,QAAIA,IAAE,KAAK,UAAW;AAAC,WAAO8D,GAAG9D,MAAI;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,WAAO,KAAK,UAAW,EAAC;AAAA,EAAQ;AAAA,EAAC,cAAa;AAAC,QAAIA,IAAE,KAAK,UAAS,EAAG,YAAWE,IAAE;AAAG,aAAQH,IAAE,GAAEA,IAAEC,EAAE,QAAOD,KAAI;AAAC,UAAII,IAAE2G,EAAE9G,EAAED,EAAE;AAAE,MAAOI,MAAP,QAAUD,EAAE,KAAKC,CAAC;AAAA,IAAC;AAAC,WAAOD;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,UAAW,EAAC;AAAA,EAAU;AAAA,EAAC,kBAAiB;AAAC,WAAO,KAAK,UAAW,EAAC,WAAW;AAAA,EAAM;AAAA,EAAC,UAAS;AAAC,WAAW,KAAK,gBAAiB,MAA1B;AAAA,EAA0B;AAAA,EAAC,UAAS;AAAC,QAAIF,IACtiB2G,IAAI;AAAe,WAAc3G,MAAP,QAAUA,EAAE,IAAI,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,QAAIA,IAAE,KAAK,UAAW;AAAC,WAAOA,EAAE,iBAAkB,EAAC,aAAc,MAAGA;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAIA,IAAE,IAAGE,IAAE,KAAK,UAAW,EAAC;AAAW,aAAQC,IAAE,GAAEA,IAAED,EAAE,QAAOC,KAAI;AAAC,UAAIJ,IAAE+G,EAAE5G,EAAEC,EAAE;AAAE0E,MAAAA,EAAE9E,CAAC,IAAEC,EAAE,KAAKD,CAAC,IAAEwF,EAAExF,CAAC,MAAIA,IAAEA,EAAE,gBAAiB,GAACC,EAAE,KAAK,GAAGD,CAAC;AAAA,IAAE;AAAC,WAAOC;AAAA,EAAC;AAAA,EAAC,qBAAoB;AAAC,QAAIA,IAAE,KAAK,cAAe;AAAC,WAAYA,MAAP,QAAU;AAAC,UAAGuF,EAAEvF,CAAC,GAAE;AAAC,YAAIE,IAAEF,EAAE,cAAa;AAAG,YAAUE,MAAP,MAAS;AAAC,UAAAF,IAAEE;AAAE;AAAA,QAAQ;AAAA,MAAC;AAAC;AAAA,IAAK;AAAC,WAAOF;AAAA,EAAC;AAAA,EAAC,oBAAmB;AAAC,QAAIA,IAAE,KAAK,aAAc;AAAC,WACzeA,MAD8e,QAC3e;AAAC,UAAGuF,EAAEvF,CAAC,GAAE;AAAC,YAAIE,IAAEF,EAAE,aAAY;AAAG,YAAUE,MAAP,MAAS;AAAC,UAAAF,IAAEE;AAAE;AAAA,QAAQ;AAAA,MAAC;AAAC;AAAA,IAAK;AAAC,WAAOF;AAAA,EAAC;AAAA,EAAC,qBAAqBA,GAAE;AAAC,QAAIE,IAAE,KAAK,YAAa,GAACH,IAAEG,EAAE;AAAO,WAAGF,KAAGD,KAASC,IAAEE,EAAEH,IAAE,IAAGwF,EAAEvF,CAAC,KAAGA,EAAE,kBAAmB,KAAEA,KAAG,SAAKA,IAAEE,EAAEF,IAAUuF,EAAEvF,CAAC,KAAGA,EAAE,wBAAsBA,KAAG;AAAA,EAAI;AAAA,EAAC,gBAAe;AAAC,QAAIA,IAAE,KAAK,YAAY;AAAW,WAAWA,EAAE,WAAN,IAAa,OAAK8G,EAAE9G,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,uBAAsB;AAAC,QAAIA,IAAE,KAAK,cAAa;AAAG,WAAOA,MAAP,QAAU+C,EAAE,EAAE,GAAS/C;AAAA,EAAC;AAAA,EAAC,eAAc;AAAC,QAAIA,IAAE,KAAK,YAAY,YAAWE,IAAEF,EAAE;AAAO,WAAWE,MAAJ,IAAM,OAAK4G,EAAE9G,EAAEE,IAAE,EAAE;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,QAAIF,IAC3gB,KAAK,aAAc;AAAC,QAAUA,MAAP;AAAS,YAAM,MAAM,iBAAiB,KAAK,6BAA6B;AAAE,WAAOA;AAAA,EAAC;AAAA,EAAC,gBAAgBA,GAAE;AAAC,WAAAA,IAAE,KAAK,UAAS,EAAG,WAAWA,IAAmBA,MAAT,SAAW,OAAK8G,EAAE9G,CAAC;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIA,IAAE,IAAGE,IAAE,KAAK,YAAW,GAAGH,IAAEG,EAAE;AAAO,aAAQC,IAAE,GAAEA,IAAEJ,GAAEI,KAAI;AAAC,UAAIZ,IAAEW,EAAEC;AAAG,MAAAH,KAAGT,EAAE,eAAgB,GAACgG,EAAEhG,CAAC,KAAGY,MAAIJ,IAAE,KAAG,CAACR,EAAE,SAAQ,MAAKS,KAAG;AAAA;AAAA;AAAA,IAAO;AAAC,WAAOA;AAAA,EAAC;AAAA,EAAC,eAAc;AAAC,WAAO,KAAK,UAAW,EAAC;AAAA,EAAK;AAAA,EAAC,UAAUA,GAAE;AAAC,WAAWA,MAAL,MAAQA,IAAE6D,GAAG7D,KAAQ,KAAK,UAAS,IAAGA,OAAtB,KAA0B;AAAA,EAAE;AAAA,EAAC,OAAOA,GAAEE,GAAE;AAAC2G,IAAAA,GAAC;AAAG,QAAI9G,IAAEuE,EAAC;AAAG,QAAInE,IAAE,KAAK,gBAAe;AAC7c,QAAxCH,MAAT,WAAaA,IAAEG,IAAYD,MAAT,WAAaA,IAAEC,IAAGA,IAAE,KAAK,OAAS4E,EAAEhF,CAAC;AAAE,MAAAA,EAAE,OAAO,IAAII,GAAEH,GAAE,SAAS,GAAED,EAAE,MAAM,IAAII,GAAED,GAAE,SAAS,GAAEH,EAAE,QAAM;AAAA;AAAQ,aAAOgO,GAAG5N,GAAEH,GAAEG,GAAED,GAAE,WAAU,SAAS;AAAE,WAAOH;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,QAAIC,IAAE,KAAK,mBAAkB;AAAG,WAAOuF,EAAEvF,CAAC,KAAG6E,EAAE7E,CAAC,IAAEA,EAAE,OAAO,GAAE,CAAC,IAASA,MAAP,OAASA,EAAE,eAAgB,IAAC,KAAK,OAAO,GAAE,CAAC;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,QAAIA,IAAE,KAAK;AAAoB,WAAOuF,EAAEvF,CAAC,KAAG6E,EAAE7E,CAAC,IAAEA,EAAE,OAAM,IAAUA,MAAP,OAASA,EAAE,WAAU,IAAG,KAAK,OAAM;AAAA,EAAE;AAAA,EAAC,QAAO;AAAC,QAAIA,IAAE,KAAK,YAAW;AAAG,gBAAK,YAAW,EAAG,QAAQ,CAAAE,MAAGA,EAAE,OAAM,CAAE,GAASF;AAAA,EAAC;AAAA,EAAC,UAAUA,GAAE;AAAC,WAAO,KAAK;AAAA,MAAO,KAAK,gBAAiB;AAAA,MACniB;AAAA,MAAEA;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,aAAaA,GAAE;AAAC,QAAIE,IAAE,KAAK,YAAa;AAAC,WAAAA,EAAE,QAAMF,GAASE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAE;AAAC,gBAAK,cAAc,WAAcA,MAAL,KAAO6D,GAAG7D,KAAG,GAAS;AAAA,EAAI;AAAA,EAAC,UAAUA,GAAE;AAAC,gBAAK,YAAW,EAAG,WAASA,GAAS;AAAA,EAAI;AAAA,EAAC,OAAOA,GAAEE,GAAEH,GAAE;AAAC,QAAII,IAAE,KAAK,YAAW;AAAG,QAAIZ,IAAEY,EAAE;AAAM,QAAIC,IAAED,EAAE,YAAWF,IAAEF,EAAE;AAAO,QAAIM,IAAE,CAAA;AAAG,aAAQZ,IAAE,GAAEA,IAAEQ,GAAER,KAAI;AAAC,UAAIE,IAAEI,EAAEN,IAAGC,IAAEC,EAAE,YAAW;AAAG,MAAAA,EAAE,UAAQJ,KAAGwD,EAAE,EAAE,GAAEuD,GAAG5G,CAAC,GAAEA,EAAE,WAASH,GAAEc,EAAE,KAAKX,EAAE,KAAK;AAAA,IAAC;AACvX,SADyXK,IAAE,KAAK,gBAAgBC,IAAE,CAAC,MAAIwG,GAAGzG,CAAC,IAAGR,IAAE,KAAK,gBAAgBS,IAAEE,CAAC,MAAIsG,GAAGjH,CAAC,GAAES,MAAII,EAAE,UAAQA,EAAE,KAAK,GAAGC,CAAC,GAAEL,IAAE,CAAE,KAAEA,IAAEI,EAAE;AAAA,MAAOJ;AAAA,MACtfE;AAAA,MAAE,GAAGG;AAAA,IAAC,GAAKL,EAAE,WAASE,IAAEoE,KAAIS,EAAE7E,CAAC,IAAG;AAAC,UAAIT,IAAE,IAAI,IAAIO,CAAC,GAAEL,IAAE,IAAI,IAAIU,CAAC;AAAE,MAAAA,IAAE,CAAAP,MAAG;AAAC,aAAIA,IAAEA,EAAE,QAAO,GAAGA,KAAG;AAAC,gBAAM2E,IAAE3E,EAAE;AAAM,cAAGL,EAAE,IAAIgF,CAAC,KAAG,CAAC9E,EAAE,IAAI8E,CAAC;AAAE,mBAAM;AAAG,UAAA3E,IAAEA,EAAE,UAAS;AAAA,QAAE;AAAC,eAAM;AAAA,MAAE;AAAE,UAAI,EAAC,QAAOJ,GAAE,OAAME,EAAC,IAAEM;AAA+E,WAA7EG,EAAEX,CAAC,KAAG0O,GAAG1O,GAAEA,EAAE,QAAS,GAAC,MAAKK,GAAER,CAAC,GAAEc,EAAET,CAAC,KAAGwO,GAAGxO,GAAEA,EAAE,QAAS,GAAC,MAAKG,GAAER,CAAC,GAAEc,IAAEL,EAAE,QAAWE,IAAE,GAAEA,IAAEG,GAAEH;AAAI,QAAAH,IAAE+G,EAAE9G,EAAEE,EAAE,GAAQH,KAAN,SAAUA,EAAE,YAAa,EAAC,WAAS;AAAM,MAAIK,EAAE,WAAN,KAAc,KAAK,WAAY,KAAEmI,GAAG,IAAI,KAAG,KAAK,OAAQ;AAAA,IAAA;AAAC,WAAOpI;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM;AAAA,MAAC,UAAS,CAAA;AAAA,MAAG,WAAU,KAAK,aAAc;AAAA,MAAC,QAAO,KAAK,cAAa;AAAA,MAAG,QAAO,KAAK,UAAW;AAAA,MACngB,MAAK;AAAA,MAAU,SAAQ;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,eAAc;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,qBAAoB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,iBAAgB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,iBAAgB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,sBAAqB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,qBAAoB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,eAAc;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,eAAc;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,mBAAkB;AAAC,WAAM;AAAA,EAAE;AAAC;AAAC,SAASoF,EAAEvF,GAAE;AAAC,SAAOA,aAAa4Q;AAAE;AACpc,MAAMC,WAAWD,GAAE;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAM;AAAA,EAAC,OAAO,QAAO;AAAC,WAAO,IAAIC;AAAA,EAAE;AAAA,EAAC,cAAa;AAAC,UAAM,MAAM,GAAE,KAAK,eAAa;AAAA,EAAI;AAAA,EAAC,4BAA2B;AAAC9N,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAI/C,IAAE,KAAK;AAAa,WAAM,CAACgH,KAAOL,EAAG,EAAC,eAAR,KAA2B3G,MAAP,OAAS,MAAM,mBAAiBA;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC+C,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,UAAS;AAACA,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,eAAc;AAACA,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,cAAa;AAACA,IAAAA,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,UAAU/C,GAAE;AAAC,aAAQE,IAAE,GAAEA,IAAEF,EAAE,QAAOE,KAAI;AAAC,UAAIH,IAAEC,EAAEE;AAAGqF,MAAAA,EAAExF,CAAC,KAAG6E,EAAE7E,CAAC,KAAGgD,EAAE,EAAE;AAAA,IAAC;AAAC,WAAO,MAAM,OAAO,GAAG/C,CAAC;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWA,GAAE;AAAC,QAAIE,IAAEiH;AAAK,WAAAjH,EAAE,UAAUF,EAAE,MAAM,GAC9fE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,UAAS,CAAE,GAAC,WAAU,KAAK,gBAAe,QAAO,KAAK,cAAe,GAAC,QAAO,KAAK,aAAY,MAAK,QAAO,SAAQ,EAAC;AAAA,EAAC;AAAC;AAAC,SAASiI,GAAEnI,GAAE;AAAC,SAAOA,aAAa6Q;AAAE;AAAC,SAASN,GAAGvQ,GAAEE,GAAE;AAAgD,MAA/CA,IAAEA,EAAE,eAAc,EAAG,YAAWF,IAAEA,EAAE,YAAqBA,MAAP;AAAU,QAAGA,EAAE,SAAO,CAACA,EAAE,GAAGE,CAAC;AAAE,aAAM;AAAA,aAAkBA,MAAP;AAAS,WAAM;AAAG,SAAM;AAAE;AAAC,SAAS4Q,KAAI;AAAC,SAAO,IAAIR,GAAG,oBAAI,IAAI,CAAC,CAAC,QAAO,IAAIO,IAAE,CAAC,CAAC,CAAC;AAAC;AAC/a,SAASE,GAAG/Q,GAAE;AAAC,MAAIE,IAAEF,EAAE,WAAY;AAAC,EAAAE,EAAE,SAAOF,EAAE,YAAY,QAAO,KAAI+C,EAAE,EAAE;AAAE,MAAIhD,IAAEG,EAAE;AAAS,MAAGqF,EAAEvF,CAAC,GAAE;AAAC,UAAM,QAAQD,CAAC,KAAGgD,EAAE,EAAE,GAAE/C,IAAEA,EAAE,YAAa;AAAC,aAAQG,IAAE,GAAEA,IAAEH,EAAE,QAAOG,KAAI;AAAC,UAAIZ,IAAEwR,GAAG/Q,EAAEG,EAAE;AAAE,MAAAJ,EAAE,KAAKR,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAOW;AAAC;AAC9M,MAAMoQ,GAAE;AAAA,EAAC,YAAYtQ,GAAEE,GAAE;AAAC,SAAK,WAASF,GAAE,KAAK,aAAWE,KAAG,MAAK,KAAK,YAAU,KAAK,aAAW;AAAA,EAAE;AAAA,EAAC,UAAS;AAAC,WAAW,KAAK,SAAS,SAAlB,KAA+B,KAAK,eAAZ;AAAA,EAAsB;AAAA,EAAC,KAAKF,GAAE;AAAC,WAAO6O,GAAG,MAAK7O,CAAC;AAAA,EAAC;AAAA,EAAC,MAAMA,GAAE;AAAC,WAAAA,IAAE,IAAIsQ,GAAG,KAAK,UAAkBtQ,MAAT,SAAW,KAAK,aAAWA,CAAC,GAAEA,EAAE,YAAU,IAAUA;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO6O,GAAG,MAAK,OAAK,EAAC,MAAKkC,GAAG5J,GAAI,CAAA,EAAC,EAAE;AAAA,EAAC;AAAC;AACnU,MAAM6J,WAAWN,GAAE;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAW;AAAA,EAAC,OAAO,MAAM1Q,GAAE;AAAC,WAAO,IAAIgR,GAAGhR,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAE;AAAC,UAAMA,CAAC;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,WAAM;AAAA;AAAA,EAAI;AAAA,EAAC,YAAW;AAAC,WAAO,SAAS,cAAc,IAAI;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,IAAG,CAAAA,MAAG;AAAC,UAAIE,IAAEF,EAAE;AAAc,aAAaE,KAAN,QAASA,EAAE,eAAaF,KAAGE,EAAE,cAAYF,IAAE,OAAK,EAAC,YAAWiR,IAAG,UAAS,EAAC;AAAA,IAAC,EAAC;AAAA,EAAC;AAAA,EAAC,OAAO,aAAY;AAAC,WAAO1D,GAAE;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,MAAK,aAAY,SAAQ,EAAC;AAAA,EAAC;AAAC;AAAC,SAAS0D,KAAI;AAAC,SAAM,EAAC,MAAK1D,GAAI,EAAA;AAAC;AAAC,SAASA,KAAI;AAAC,SAAO,IAAIyD;AAAE;AAC9e,SAAS3K,GAAGrG,GAAE;AAAC,SAAOA,aAAagR;AAAE;AAAC,SAASE,GAAGlR,GAAEE,GAAE;AAAC,SAAOA,IAAE,KAAG,SAAOA,IAAE,KAAG,QAAMA,IAAE,KAAG,QAAM;AAAI;AAAC,SAASiR,GAAGnR,GAAEE,GAAE;AAAC,SAAOA,IAAE,IAAE,WAASA,IAAE,IAAE,OAAK;AAAM;AACzJ,SAASkR,GAAGpR,GAAEE,GAAEH,GAAEI,GAAEZ,GAAE;AAAC,EAAAS,IAAEG,EAAE,WAAUA,IAAE2H,GAAGvI,GAAE,MAAM,GAAWY,MAAT,UAAYH,EAAE,IAAI,GAAGG,CAAC,GAAEA,IAAE2H,GAAGvI,GAAE,wBAAwB;AAAE,MAAIa,IAAE,IAAGH,IAAEC,IAAE,KAAGA,IAAE;AAAE,MAAIG,IAAEN,IAAE,KAAGA,IAAE;AAAE,EAASI,MAAT,WAAaE,KAAGD,IAAE,IAAGH,KAAGD,EAAE,IAAI,GAAGG,CAAC,KAAGF,KAAGD,EAAE,OAAO,GAAGG,CAAC;AAAG,WAAQV,KAAKkE;AAAG,IAAAtD,IAAEsD,GAAGlE,IAAGU,IAAE2H,GAAGvI,GAAEE,CAAC,GAAWU,MAAT,WAAaJ,IAAEM,IAAE,CAACD,KAAiBX,MAAd,eAAmCA,MAAlB,oBAA0BS,IAAEG,OAAP,KAAWJ,KAAiBR,MAAd,eAAmCA,MAAlB,oBAAsBO,EAAE,IAAI,GAAGG,CAAC,IAAED,IAAEG,KAAGL,EAAE,OAAO,GAAGG,CAAC,IAAED,IAAEG,KAAGL,EAAE,OAAO,GAAGG,CAAC;AAAE;AAC9Y,SAASkR,GAAGrR,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAED,EAAE;AAAwC,MAA7BH,IAAEA,EAAE,YAAa,GAACC,KAAGD,IAAEwD,KAAG,IAAYpD,KAAN;AAAQ,IAAAD,EAAE,cAAYF;AAAA,WAAUE,IAAEC,EAAE,WAAUD,MAAIF;AAAE,QAAGD,KAAGoD,IAAG;AAAC,MAAApD,IAAEG,EAAE;AAAO,UAAIX,IAAES,EAAE,QAAOI,IAAE,GAAEH,IAAE;AAAE,aAAKG,IAAEL,KAAGK,IAAEb,KAAGW,EAAEE,OAAKJ,EAAEI;AAAI,QAAAA;AAAI,aAAKH,IAAEG,IAAEL,KAAGE,IAAEG,IAAEb,KAAGW,EAAEH,IAAEE,IAAE,OAAKD,EAAET,IAAEU,IAAE;AAAI,QAAAA;AAAI,MAAAD,IAAE,CAACI,GAAEL,IAAEK,IAAEH,GAAED,EAAE,MAAMI,GAAEb,IAAEU,CAAC,CAAC;AAAE,UAAI,CAACI,GAAEZ,GAAEE,CAAC,IAAEK;AAAE,MAAIP,MAAJ,KAAOU,EAAE,WAAWE,GAAEZ,CAAC,GAAEU,EAAE,WAAWE,GAAEV,CAAC;AAAA,IAAC;AAAM,MAAAQ,EAAE,YAAUH;AAAC;AACxV,MAAMsR,WAAWZ,GAAE;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAM;AAAA,EAAC,OAAO,MAAM1Q,GAAE;AAAC,WAAO,IAAIsR,GAAGtR,EAAE,QAAOA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAEE,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,SAAOF,GAAE,KAAK,WAAS,GAAE,KAAK,UAAQ,IAAG,KAAK,WAAS,KAAK,SAAO;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAO,KAAK,UAAS,EAAG;AAAA,EAAQ;AAAA,EAAC,YAAW;AAAC,WAAO,KAAK,YAAY;AAAA,EAAQ;AAAA,EAAC,UAAS;AAAC,QAAIA,IAAE,KAAK,UAAS;AAAG,WAAOgE,GAAGhE,EAAE;AAAA,EAAO;AAAA,EAAC,WAAU;AAAC,WAAO,KAAK,UAAW,EAAC;AAAA,EAAO;AAAA,EAAC,UAAS;AAAC,WAAW,KAAK,UAAW,EAAC,WAArB;AAAA,EAA2B;AAAA,EAAC,cAAa;AAAC,WAAO,KAAK,UAAQ+G,GAAI;AAAA,EAAA;AAAA,EAAC,cAAa;AAAC,WAAW,KAAK,UAAS,EAAG,WAArB;AAAA,EAA2B;AAAA,EAAC,kBAAiB;AAAC,YACthB,KAAK,UAAS,EAAG,WAAS,OADmgB;AAAA,EACjgB;AAAA,EAAC,gBAAe;AAAC,YAAY,KAAK,YAAY,WAAS,OAA/B;AAAA,EAAiC;AAAA,EAAC,UAAU/G,GAAE;AAAC,WAAAA,IAAE2D,GAAG3D,KAAe,KAAK,UAAW,IAACA,OAAtB;AAAA,EAAwB;AAAA,EAAC,eAAc;AAAC,WAAe,KAAK,WAAd,UAA0B,KAAK,WAAT;AAAA,EAAe;AAAA,EAAC,iBAAgB;AAAC,WAAO,KAAK,UAAS,EAAG;AAAA,EAAM;AAAA,EAAC,eAAeA,GAAEE,GAAE;AAAC,QAAIH,IAAE,KAAK,UAAW,EAAC;AAAS,WAAOoG,GAAGpG,GAAEC,GAAEE,CAAC;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAE;AAAC,QAAIE,IAAE,KAAK,UAASH,IAAEmR,GAAG,MAAKhR,CAAC;AAAE,QAAIC,IAAEgR,GAAG,MAAKjR,CAAC,GAAEX,IAAE,SAAS,cAAqBQ,MAAP,OAASI,IAAEJ,CAAC,GAAEK,IAAEb;AAAE,WAAOQ,MAAP,SAAWK,IAAE,SAAS,cAAcD,CAAC,GAAEZ,EAAE,YAAYa,CAAC,IAAGL,IAAEK,GAAEiR,GAAG,KAAK,QAAOtR,GAAE,IAAI,GACxfC,IAAEA,EAAE,MAAM,MAAcA,MAAT,UAAYoR,GAAGjR,GAAE,GAAED,GAAEH,GAAEC,CAAC,GAAEE,IAAE,KAAK,SAAaA,MAAL,OAASX,EAAE,MAAM,UAAQW,IAAUX;AAAA,EAAC;AAAA,EAAC,UAAUS,GAAEE,GAAEH,GAAE;AAAC,QAAII,IAAE,KAAK;AAAO,QAAIZ,IAAES,EAAE,UAASI,IAAE,KAAK,UAASH,IAAEiR,GAAG,MAAK3R,CAAC;AAAE,QAAIc,IAAE6Q,GAAG,MAAK9Q,CAAC;AAAE,QAAIX,IAAE0R,GAAG,MAAK5R,CAAC;AAAE,QAAII,IAAEwR,GAAG,MAAK/Q,CAAC;AAAE,YAAWH,MAAP,OAASR,IAAEQ,QAAaI,MAAP,OAASV,IAAEU,KAAS,KAAMJ,MAAII,KAAGZ,MAAIE,KAASJ,IAAEW,EAAE,YAAiBX,KAAN,QAASwD,EAAE,EAAE,GAAE/C,IAAEC,IAAE,SAAS,cAAcN,CAAC,GAAE0R,GAAGlR,GAAEH,GAAE,IAAI,GAAED,IAAEA,EAAE,MAAM,MAAcA,MAAT,UAAYqR,GAAGzR,GAAE,GAAES,GAAEJ,GAAED,CAAC,GAAEG,EAAE,aAAaD,GAAEV,CAAC,GAAE,OAAGE,IAAES,GAASG,MAAP,QAAiBJ,MAAP,SAAWR,IAAES,EAAE,YAAiBT,KAAN,QAASsD,EAAE,EAAE,IAAGsO,GAAGlR,GAAEV,GAAE,IAAI,GAAEM,IAAEA,EAAE,MAAM,MACnfA,MAAT,UAAYR,MAAIa,KAAGgR,GAAGzR,GAAEJ,GAAEa,GAAEX,GAAEM,CAAC,GAAEK,IAAE,KAAK,SAAQJ,EAAE,YAAUI,MAAIF,EAAE,MAAM,UAAQE,IAAS;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,SAAQ,OAAK,EAAC,YAAWmR,IAAG,UAAS,EAAC,IAAG,GAAE,OAAK,EAAC,YAAWC,IAAG,UAAS,EAAC,IAAG,MAAK,OAAK,EAAC,YAAWC,IAAG,UAAS,EAAC,IAAG,IAAG,OAAK,EAAC,YAAWA,IAAG,UAAS,EAAC,IAAG,GAAE,OAAK,EAAC,YAAWA,IAAG,UAAS,EAAC,IAAG,MAAK,OAAK,EAAC,YAAWC,IAAG,UAAS,EAAC,IAAG,QAAO,OAAK,EAAC,YAAWD,IAAG,UAAS,EAAC,IAAG,GAAE,OAAK,EAAC,YAAWA,IAAG,UAAS,EAAC,GAAE;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWzR,GAAE;AAAC,QAAIE,IAAEyH,GAAE3H,EAAE,IAAI;AAAE,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,QAAQF,EAAE,IAAI,GAClgBE,EAAE,SAASF,EAAE,KAAK,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,QAAO,KAAK,aAAY,QAAO,KAAK,UAAW,GAAC,MAAK,KAAK,WAAU,OAAM,KAAK,SAAQ,GAAG,MAAK,KAAK,eAAgB,GAAC,MAAK,QAAO,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,qBAAoB;AAAA,EAAE;AAAA,EAAA,UAAUF,GAAE;AAAC,QAAIE,IAAE,KAAK,YAAW;AAAG,WAAAA,EAAE,WAAoB,OAAOF,KAAlB,WAAoB2D,GAAG3D,KAAGA,GAASE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAE;AAAC,QAAIE,IAAE,KAAK,YAAW;AAAG,WAAAA,EAAE,WAAoB,OAAOF,KAAlB,WAAoB4D,GAAG5D,KAAGA,GAASE;AAAA,EAAC;AAAA,EAAC,SAASF,GAAE;AAAC,QAAIE,IAAE,KAAK,YAAa;AAAC,WAAAA,EAAE,UAAQF,GAASE;AAAA,EAAC;AAAA,EAAC,aAAaF,GAAE;AAAC,WAAAA,IAAE2D,GAAG3D,IAAU,KAAK,UAAU,KAAK,UAAW,IACvfA,CAAC;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,QAAIA,IAAE,KAAK;AAAc,WAAAA,EAAE,YAAU,GAASA;AAAA,EAAC;AAAA,EAAC,oBAAmB;AAAC,QAAIA,IAAE,KAAK,YAAa;AAAC,WAAAA,EAAE,YAAU,GAASA;AAAA,EAAC;AAAA,EAAC,QAAQA,GAAE;AAAC,IAAAA,IAAE+D,GAAG/D;AAAG,QAAIE,IAAE,KAAK,YAAW;AAAG,WAAAA,EAAE,SAAOF,GAASE;AAAA,EAAC;AAAA,EAAC,eAAeF,GAAE;AAAC,QAAIE,IAAE,KAAK;AAAc,WAAAA,EAAE,SAAOF,GAASE;AAAA,EAAC;AAAA,EAAC,OAAOF,GAAEE,GAAE;AAAC2G,IAAAA,GAAC;AAAG,QAAI9G,IAAEuE,EAAC;AAAG,QAAInE,IAAE,KAAK;AAAiB,QAAIZ,IAAE,KAAK;AAAiF,QAAhE,OAAOY,KAAlB,YAAqBA,IAAEA,EAAE,QAAgBH,MAAT,WAAaA,IAAEG,IAAYD,MAAT,WAAaA,IAAEC,MAAID,IAAEF,IAAE,GAAK+E,EAAEhF,CAAC;AAAE,MAAAI,IAAE4G,MAAK5G,MAAIJ,EAAE,OAAO,OAAKI,MAAIJ,EAAE,MAAM,OAAK6G,GAAErH,CAAC,GAAEQ,EAAE,iBAAiB,MAAKC,GAAE,MAAKE,CAAC;AAAA;AAChf,aAAO6N,GAAGxO,GAAES,GAAET,GAAEW,GAAE,QAAO,MAAM;AAAE,WAAOH;AAAA,EAAC;AAAA,EAAC,WAAWC,GAAEE,GAAEH,GAAEI,GAAE;AAAC,QAAIZ,IAAE,KAAK,YAAW,GAAGa,IAAEb,EAAE,QAAOU,IAAEF,EAAE,QAAOM,IAAEL;AAAE,QAAEK,MAAIA,IAAEJ,IAAEI,GAAE,IAAEA,MAAIA,IAAE;AAAI,QAAIZ,IAAE6E,EAAG;AAAC,WAAAnE,KAAG4E,EAAEtF,CAAC,MAAIO,KAAGC,GAAER,EAAE,iBAAiBF,GAAES,GAAET,GAAES,CAAC,IAAGE,IAAEE,EAAE,MAAM,GAAEC,CAAC,IAAEN,IAAEK,EAAE,MAAMC,IAAEH,CAAC,GAAEX,EAAE,SAAOW,GAASX;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,qBAAoB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,aAAaS,GAAE;AAAC6G,IAAAA,GAAC;AAAG,QAAI3G,IAAE,KAAK,UAAW,GAACH,IAAEG,EAAE,eAAc,GAAGC,IAAED,EAAE,OAAMX,IAAEwH,GAAI,GAAC3G,IAAE,IAAI,IAAIJ,CAAC;AAAE,IAAAA,IAAE,CAAA;AAAuB,aAAhBC,IAAEF,EAAE,QAAOM,IAAE,IAAWZ,IAAE,GAAEA,IAAEQ,GAAER;AAAI,MAAKY,MAAL,MAAQD,EAAE,IAAIX,CAAC,MAAIO,EAAE,KAAKK,CAAC,GAAEA,IAAE,KAAIA,KAAGN,EAAEN;AAC3d,QADmeY,MAAL,MAAQL,EAAE,KAAKK,CAAC,GACzfD,IAAEJ,EAAE,QAAcI,MAAJ;AAAM,aAAM,CAAA;AAAG,QAAGJ,EAAE,OAAKD;AAAE,aAAM,CAACG,CAAC;AAAE,QAAIP,IAAEK,EAAE;AAAG,IAAAD,IAAEG,EAAE,iBAAkB,GAACT,IAAEM,EAAE;AAAM,QAAIL,IAAEQ,EAAE,UAAW,GAACN,IAAEM,EAAE,SAAQ,GAAGJ,IAAEI,EAAE;AAAS,IAAAD,IAAE,IAAGC,EAAE,YAAa,KAAEG,IAAEsH,GAAEhI,CAAC,GAAEU,EAAE,WAASZ,GAAEY,EAAE,WAASX,GAAEW,EAAE,UAAQT,GAAES,EAAE,WAASP,GAAEG,IAAE,OAAKI,IAAEH,EAAE,YAAW,GAAGG,EAAE,SAAOV,IAAGO,IAAEoE,EAAG,GAACjE,IAAE,CAACA,CAAC,GAAEV,IAAEA,EAAE;AAAO,aAAQmF,IAAE,GAAEA,IAAE1E,GAAE0E,KAAI;AAAC,UAAIL,IAAEzE,EAAE8E,IAAGJ,IAAED,EAAE;AAAO,MAAAA,IAAEkD,GAAElD,CAAC,EAAE,YAAW,GAAGA,EAAE,WAAS/E,GAAE+E,EAAE,UAAQ7E,GAAE6E,EAAE,WAAS3E;AAAE,UAAIkF,IAAEP,EAAE;AAAY,UAANC,IAAE/E,IAAE+E,GAAKK,EAAE7E,CAAC,GAAE;AAAC,YAAIgF,IAAEhF,EAAE,QAAOkF,IAAElF,EAAE;AAAM,QAAAgF,EAAE,QAAM/E,KAAY+E,EAAE,SAAX,UAAiBA,EAAE,SAAOvF,KAAGuF,EAAE,UAAQR,MAAIQ,EAAE,MAAIF,GACnfE,EAAE,UAAQvF,GAAEO,EAAE,QAAM,KAAIkF,EAAE,QAAMjF,KAAYiF,EAAE,SAAX,UAAiBA,EAAE,SAAOzF,KAAGyF,EAAE,UAAQV,MAAIU,EAAE,MAAIJ,GAAEI,EAAE,UAAQzF,GAAEO,EAAE,QAAM;AAAA,MAAG;AAAC,MAAAX,MAAIY,KAAGyG,GAAE5B,CAAC,GAAErF,IAAE+E,GAAED,EAAE,WAAShF,GAAEY,EAAE,KAAKoE,CAAC;AAAA,IAAC;AAAC,WAAA8B,GAAG,IAAI,GAAEhH,IAAEQ,EAAE,YAAW,EAAG,YAAWI,IAAEZ,EAAE,QAAQY,CAAC,GAAEH,IAAEK,EAAE,IAAI,CAAAyE,MAAGA,EAAE,KAAK,GAAE7E,KAAGV,EAAE,OAAOY,GAAE,GAAE,GAAGH,CAAC,GAAE,KAAK,OAAM,KAAIT,EAAE,OAAOY,GAAE,GAAE,GAAGH,CAAC,GAAE+E,EAAE7E,CAAC,KAAG+N,GAAG/N,GAAEH,GAAEI,GAAEC,IAAE,CAAC,GAASC;AAAA,EAAC;AAAA,EAAC,iBAAiBL,GAAE;AAAC,QAAIE,IAAEF,MAAI,KAAK,mBAAkB;AAAG,IAAAE,KAAGF,MAAI,KAAK,eAAgB,KAAE+C,EAAE,EAAE;AAAE,QAAIhD,IAAE,KAAK;AAAM,QAAII,IAAEH,EAAE,OAAMT,IAAE,KAAK,QAAOa,IAAEb,EAAE;AAAO,IAAAwH,GAAI,MAAG5G,KAAGyG,GAAE7G,CAAC;AAAE,QAAIE,IAAEqE,EAAC;AAAG,QAAGS,EAAE9E,CAAC,GAAE;AAAC,UAAII,IAAEJ,EAAE,QACjfR,IAAEQ,EAAE;AAAM,MAAOI,MAAP,QAAUA,EAAE,QAAMF,MAAIkO,GAAGhO,GAAEH,GAAEH,GAAEC,GAAEI,CAAC,GAAEH,EAAE,QAAM,KAAWR,MAAP,QAAUA,EAAE,QAAMU,MAAIkO,GAAG5O,GAAES,GAAEH,GAAEC,GAAEI,CAAC,GAAEH,EAAE,QAAM;AAAA,IAAG;AAAC,WAAAF,IAAEC,EAAE,QAAO,KAAK,eAAeE,IAAEH,IAAER,IAAEA,IAAEQ,CAAC,GAAEG,IAAE,KAAK,YAAa,GAACF,EAAE,OAAQ,GAAQE;AAAA,EAAC;AAAA,EAAC,eAAc;AAAC,WAAM;AAAA,EAAE;AAAC;AACrN,SAASwR,GAAG1R,GAAE;AAAC,MAAIE,IAAUF,EAAE,MAAM,eAAhB,OAA2BD,IAAmBC,EAAE,MAAM,mBAAzB,gBAAwCG,IAAaH,EAAE,MAAM,cAAnB,UAA6BT,IAAgBS,EAAE,MAAM,mBAAtB,aAAqCI,IAAEJ,EAAE,MAAM;AAAc,SAAM,EAAC,UAAS,CAAAC,OAAQ4E,EAAE5E,CAAC,MAAWC,KAAGD,EAAE,aAAa,MAAM,GAAEF,KAAGE,EAAE,aAAa,eAAe,GAAEE,KAAGF,EAAE,aAAa,QAAQ,GAAEV,KAAGU,EAAE,aAAa,WAAW,GAAUG,MAAR,SAAWH,EAAE,aAAa,WAAW,GAAYG,MAAV,WAAaH,EAAE,aAAa,aAAa,IAASA,IAAG,MAAK,KAAI;AAAC;AAC5b,SAASuR,GAAGxR,GAAE;AAAC,MAAIE,IAAaF,EAAE,MAAM,eAAnB;AAA8B,SAAM,EAAC,UAAS,CAAAD,OAAI8E,EAAE9E,CAAC,KAAG,CAACG,KAAGH,EAAE,aAAa,MAAM,GAASA,IAAG,MAAK,KAAI;AAAC;AAAC,SAASwR,GAAGvR,GAAEE,GAAEH,GAAE;AAAC,SAAAC,IAAEA,EAAE,eAAa,IAAS,CAACD,KAAG,KAAK,KAAKC,CAAC,MAAIA,IAAEA,EAAE,QAAQ,WAAU,GAAG,GAAMA,EAAE,KAAI,EAAG,WAAb,KAAqB,EAAC,MAAK,KAAI,IAAE,EAAC,MAAK2H,GAAE3H,CAAC,EAAC;AAAC;AAAC,IAAI2R,KAAG,EAAC,MAAK,QAAO,IAAG,UAAS,GAAE,UAAS,QAAO,QAAO,GAAE,YAAW;AAAE,SAASF,GAAGzR,GAAE;AAAC,MAAIE,IAAEyR,GAAG3R,EAAE,SAAS,YAAa;AAAE,SAAgBE,MAAT,SAAW,EAAC,MAAK,KAAI,IAAE,EAAC,UAAS,CAAAH,OAAI8E,EAAE9E,CAAC,KAAGA,EAAE,aAAaG,CAAC,GAASH,IAAG,MAAK,KAAI;AAAC;AACvd,SAAS4H,GAAE3H,IAAE,IAAG;AAAC,SAAO,IAAIsR,GAAGtR,CAAC;AAAC;AAAC,SAAS6E,EAAE7E,GAAE;AAAC,SAAOA,aAAasR;AAAE;AACtE,MAAMM,WAAWhB,GAAE;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAW;AAAA,EAAC,OAAO,MAAM5Q,GAAE;AAAC,WAAO,IAAI4R,GAAG5R,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,UAAUA,GAAE;AAAC,QAAIE,IAAE,SAAS,cAAc,GAAG;AAAE,WAAAF,IAAE8H,GAAG9H,EAAE,OAAM,WAAW,GAAWA,MAAT,UAAYE,EAAE,UAAU,IAAI,GAAGF,CAAC,GAASE;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,GAAE,OAAK,EAAC,YAAW2R,IAAG,UAAS,EAAC,GAAE;AAAA,EAAC;AAAA,EAAC,UAAU7R,GAAE;AAA4F,QAA1F,EAAC,SAAQA,EAAC,IAAE,MAAM,UAAUA,CAAC,GAAGA,KAAG,KAAK,QAAS,KAAEA,EAAE,OAAO,SAAS,cAAc,IAAI,CAAC,GAAKA,GAAE;AAAC,UAAIE,IAAE,KAAK;AAAgB,MAAAF,EAAE,MAAM,YAAUE,IAAKA,IAAE,KAAK,aAAY,OAAGF,EAAE,MAAIE,IAAEA,IAAE,KAAK,aAC1e,IAAEA,MAAIF,EAAE,MAAM,aAAW,GAAG,KAAGE;AAAA,IAAM;AAAC,WAAM,EAAC,SAAQF,EAAC;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWA,GAAE;AAAC,QAAIE,IAAE0M,GAAE;AAAG,WAAA1M,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,cAAa,MAAK,aAAY,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIF,IAAE4M,GAAI,GAAC1M,IAAE,KAAK;AAAe,WAAAF,EAAE,aAAaE,CAAC,GAAE,KAAK,YAAYF,CAAC,GAASA;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAIA,IAAE,KAAK,YAAW;AAAG,QAAOA,EAAE,WAAN,KAAc6E,EAAE7E,EAAE,EAAE,KAAQA,EAAE,GAAG,eAAgB,EAAC,KAAI,MAA/B,IAAkC;AAAC,UAAU,KAAK,eAAc,MAA1B;AAA6B,eAAO,KAAK,WAAU,GAAG,KAAK,OAAQ,GAC9f;AAAG,UAAU,KAAK,mBAAkB,MAA9B;AAAiC,eAAO,KAAK,kBAAiB,KAAK,OAAM,GAAG;AAAA,IAAE;AAAC,WAAM;AAAA,EAAE;AAAC;AAAC,SAAS6R,KAAI;AAAC,SAAM,EAAC,MAAKjF,GAAI,EAAA;AAAC;AAAC,SAASA,KAAI;AAAC,SAAO,IAAIgF;AAAE;AAC1J,SAAS5C,GAAGhP,GAAEE,GAAEH,GAAEI,GAAE;AAAC,MAAIZ,IAAES,EAAE;AAAa,EAAAT,EAAE,MAAK,GAAGS,EAAE,eAAa8Q,GAAE,GAAG9Q,EAAE,sBAAoBG,GAAEH,EAAE,kBAAgB,MAAKA,EAAE,aAAW,GAAEA,EAAE,gBAAgB,MAAK,GAAGA,EAAE,eAAa,oBAAI,OAAIA,EAAE,eAAe,SAAQA,EAAE,mBAAiB,oBAAI,OAAIA,EAAE,cAAY,oBAAI,OAAIA,EAAE,WAAS,CAAA,GAAGG,IAAEH,EAAE,WAAiBG,MAAP,SAAWA,EAAE,WAAU,GAAGH,EAAE,YAAU,OAAaE,MAAP,SAAWA,EAAE,cAAY,KAAWH,MAAP,SAAWA,EAAE,cAAY,IAAGR,EAAE,IAAI,QAAOQ,CAAC;AAAE;AAClZ,SAAS+R,GAAG9R,GAAE;AAAC,MAAIE,IAAE,oBAAI,OAAIH,IAAE,oBAAI;AAAI,SAAAC,EAAE,QAAQ,CAAAG,MAAG;AAAgE,QAA/DA,IAAQA,EAAE,MAAM,aAAd,OAAwBA,EAAE,MAAM,UAAU,KAAKA,EAAE,KAAK,IAAE,MAAcA,KAAN,QAAS,CAACJ,EAAE,IAAII,CAAC,GAAE;AAAC,MAAAJ,EAAE,IAAII,CAAC;AAAE,UAAIZ,IAAEY,EAAC;AAAG,MAAOZ,MAAP,QAAU,OAAO,KAAKA,CAAC,EAAE,QAAQ,CAAAa,MAAG;AAAC,YAAIH,IAAEC,EAAE,IAAIE,CAAC;AAAE,QAASH,MAAT,WAAaA,IAAE,CAAA,GAAGC,EAAE,IAAIE,GAAEH,CAAC,IAAGA,EAAE,KAAKV,EAAEa,EAAE;AAAA,MAAC,CAAC;AAAA,IAAC;AAAA,EAAC,CAAC,GAASF;AAAC;AAC1Q,MAAM6R,GAAE;AAAA,EAAC,YAAY/R,GAAEE,GAAEH,GAAEI,GAAEZ,GAAEa,GAAE;AAAC,SAAK,gBAAcF,GAAE,KAAK,eAAa,MAAK,KAAK,eAAaF,GAAE,KAAK,kBAAgB,KAAK,sBAAoB,MAAK,KAAK,YAAU,CAAE,GAAC,KAAK,eAAa,oBAAI,OAAI,KAAK,WAAS,CAAA,GAAG,KAAK,YAAU,IAAG,KAAK,aAAW,EAAC,WAAU,oBAAI,OAAI,UAAS,oBAAI,OAAI,UAAS,oBAAI,OAAI,MAAK,oBAAI,OAAI,aAAY,oBAAI,OAAI,QAAO,oBAAI,MAAG,GAAE,KAAK,YAAU,oBAAI,OAAI,KAAK,UAAQG,GAAE,KAAK,SAAOJ,GAAE,KAAK,cAAY,CAAE,GAAC,KAAK,qBAAmB,MAAK,KAAK,aAAW,GAAE,KAAK,kBAAgB,oBAAI,OAAI,KAAK,eACnf,oBAAI,OAAI,KAAK,iBAAe,oBAAI,OAAI,KAAK,mBAAiB,oBAAI,OAAI,KAAK,cAAY,oBAAI,OAAI,KAAK,YAAU,MAAK,KAAK,OAAKyH,MAAK,KAAK,WAASjI,GAAE,KAAK,mBAAiBa,GAAE,KAAK,YAAU,IAAG,KAAK,YAAU,IAAG,KAAK,UAAQ;AAAA,EAAI;AAAA,EAAC,cAAa;AAAC,WAAa,KAAK,mBAAX;AAAA,EAA0B;AAAA,EAAC,uBAAuBJ,GAAE;AAAC,QAAIE,IAAE,KAAK,WAAW;AAAO,WAAAA,EAAE,IAAIF,CAAC,GAAQ,MAAI;AAAC,MAAAE,EAAE,OAAOF,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,yBAAyBA,GAAE;AAAC,QAAIE,IAAE,KAAK,WAAW;AAAS,WAAAA,EAAE,IAAIF,CAAC,GAAQ,MAAI;AAAC,MAAAE,EAAE,OAAOF,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,0BAA0BA,GAAE;AAAC,QAAIE,IAAE,KAAK,WAAW;AACnf,WAAAA,EAAE,IAAIF,CAAC,GAAQ,MAAI;AAAC,MAAAE,EAAE,OAAOF,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,4BAA4BA,GAAE;AAAC,QAAIE,IAAE,KAAK,WAAW;AAAY,WAAAA,EAAE,IAAIF,CAAC,GAAQ,MAAI;AAAC,MAAAE,EAAE,OAAOF,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,qBAAqBA,GAAE;AAAC,QAAIE,IAAE,KAAK,WAAW;AAAK,WAAAF,EAAE,KAAK,cAAa,IAAI,GAAEE,EAAE,IAAIF,CAAC,GAAQ,MAAI;AAAC,MAAAA,EAAE,MAAK,KAAK,YAAY,GAAEE,EAAE,OAAOF,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,gBAAgBA,GAAEE,GAAEH,GAAE;AAAC,IAASA,MAAT,UAAYgD,EAAE,EAAE;AAAE,QAAI5C,IAAE,KAAK;AAAU,IAAAA,EAAE,IAAIH,CAAC,KAAGG,EAAE,IAAIH,GAAE,CAAC,oBAAI,OAAI,oBAAI,OAAI,oBAAI,OAAI,oBAAI,OAAI,oBAAI,KAAG,CAAC;AAAE,QAAIT,IAAEY,EAAE,IAAIH,CAAC;AAAE,IAAST,MAAT,UAAYwD,EAAE,EAAE;AAAE,QAAI3C,IAAEb,EAAEQ;AAAG,WAAAK,EAAE,IAAIF,CAAC,GAAQ,MAAI;AAAC,MAAAE,EAAE,OAAOF,CAAC,GAAEX,EAAE,MAAM,CAAAU,MAAOA,EAAE,SAAN,CAAU,KAAGE,EAAE,OAAOH,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,yBAAyBA,GAChhBE,GAAE;AAAC,IAAS,KAAK,OAAO,IAAIF,EAAE,QAAS,CAAA,MAApC,UAAuC+C,EAAE,EAAE;AAAE,QAAIhD,IAAE,KAAK,WAAW;AAAS,WAAAA,EAAE,IAAIG,GAAEF,CAAC,GAAQ,MAAI;AAAC,MAAAD,EAAE,OAAOG,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,sBAAsBF,GAAEE,GAAE;AAAC,IAAAF,IAAEA,EAAE,QAAO;AAAG,QAAID,IAAE,KAAK,OAAO,IAAIC,CAAC;AAAE,IAASD,MAAT,UAAYgD,EAAE,EAAE;AAAE,QAAI5C,IAAEJ,EAAE;AAAW,WAAAI,EAAE,IAAID,CAAC,GAAEkH,GAAG,MAAKpH,CAAC,GAAQ,MAAI;AAAC,MAAAG,EAAE,OAAOD,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,SAASF,GAAE;AAAC,aAAQE,IAAE,GAAEA,IAAEF,EAAE,QAAOE,KAAI;AAAC,UAAIH,IAAEC,EAAEE,GAAG;AAAU,UAAG,CAAC,KAAK,OAAO,IAAIH,CAAC;AAAE,eAAM;AAAA,IAAE;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,gBAAgBC,GAAEE,GAAE;AAAC,WAAO4L,EAAE,MAAK9L,GAAEE,CAAC;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,WAAO,KAAK;AAAA,EAAW;AAAA,EAAC,iBAAgB;AAAC,WAAO,KAAK;AAAA,EAAY;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK;AAAA,EAAI;AAAA,EAAC,eAAeF,GAAE;AAAC,QAAIE,IACrhB,KAAK;AAAa,QAAGF,MAAIE,GAAE;AAAC,UAAIH,IAAE,KAAK,uBAAqB,KAAK;AAAgD,UAAnC,KAAK,eAAaC,GAAEgP,GAAG,MAAK9O,GAAEF,GAAED,CAAC,GAAYG,MAAP,QAAU,CAAC,KAAK,QAAQ,eAAc;AAAsG,YAAjGoL,OAAJ,MAASA,MAASA,OAAJ,KAAQpL,EAAE,cAAc,oBAAoB,mBAAkBmM,EAAE,IAAGtM,IAAEG,EAAE,iBAA0BH,KAAP,MAAqB;AAAC,cAAUA,EAAE,kBAAT,MAAuB;AAAC,gBAAII,IAAEoH,GAAGxH,CAAC;AAAE,YAAAI,IAAEA,EAAEA,EAAE,SAAO,GAAG,MAAKiM,GAAG,IAAIjM,CAAC,MAAIJ,KAAGqM,GAAG,OAAOjM,CAAC;AAAA,UAAC;AAAM,YAAAiM,GAAG,OAAOrM,EAAE,IAAI;AAAE,UAAAG,EAAE,kBAAgB;AAAA,QAAI;AAAS,aAARH,IAAEoM,GAAGjM,CAAC,GAAMC,IAAE,GAAEA,IAAEJ,EAAE,QAAOI;AAAI,UAAAJ,EAAEI,GAAI;AAAC,QAAAD,EAAE,wBAAsB,CAAE;AAAA,MAAA;AAAC,MAAOF,MAAP,QAAUD,KAAGA,IAAEC,EAAE,kBACjfD,EAAE,eAAa,MAAKI,IAAEH,EAAE,OAAMG,EAAE,aAAW,QAAOA,EAAE,aAAW,YAAWA,EAAE,YAAU,cAAaH,EAAE,aAAa,uBAAsB,MAAM,GAAE,KAAK,UAAQD,GAAE,KAAK,aAAW,GAAE4F,GAAG,IAAI,GAAE,KAAK,YAAY,IAAI,eAAe,GAAEmJ,GAAG,IAAI,GAAE,KAAK,QAAQ,iBAAevC,GAAGvM,GAAE,IAAI,KAAG,KAAK,UAAQ,MAAKmQ,GAAG,QAAO,MAAK,IAAGnQ,GAAEE,CAAC;AAAA,IAAC;AAAA,EAAC;AAAA,EAAC,gBAAgBF,GAAE;AAAC,WAAO,KAAK,aAAa,IAAIA,CAAC,KAAG;AAAA,EAAI;AAAA,EAAC,iBAAgB;AAAC,WAAO,KAAK;AAAA,EAAY;AAAA,EAAC,eAAeA,GAAEE,GAAE;AAAC,IAAAF,EAAE,QAAS,KAAE+C,EAAE,EAAE,GAAE2C,GAAG,IAAI;AAAE,QAAI3F,IAAE,KAAK,qBAAoBI,IAAE,KAAK;AACpf,IAAAD,IAAWA,MAAT,SAAWA,EAAE,MAAI,MAAYH,MAAP,QAAUA,EAAE,cAAkBG,KAAN,QAASC,EAAE,IAAID,CAAC,GAAE4O,GAAG,IAAI,IAAG,KAAK,sBAAoB9O,GAAE,KAAK,aAAW,GAAE,KAAK,eAAe,IAAI,QAAO,EAAE,GAAE,KAAK,kBAAgB,MAAWE,KAAN,QAASC,EAAE,IAAID,CAAC,GAAE4O,GAAG,IAAI;AAAA,EAAC;AAAA,EAAC,iBAAiB9O,GAAEE,GAAE;AAAC,IAAAF,IAAa,OAAOA,KAAlB,WAAoB,KAAK,MAAMA,CAAC,IAAEA;AAAE,QAAID,IAAE+Q,GAAE,GAAG3Q,IAAEmO,IAAE/O,IAAEyH,GAAE5G,IAAEmO,IAAEtO,IAAE,KAAK,gBAAeI,IAAE,KAAK,cAAaZ,IAAE,KAAK,iBAAgBE,IAAE,KAAK;AAAW,SAAK,iBAAe,oBAAI,OAAI,KAAK,eAAa,oBAAI,OAAI,KAAK,kBAAgB,oBAAI,OAAI,KAAK,aAAW,GAAE2O,KAAEvO,GAAEiH,IAAE,IAAGuH,KAAE;AAAK,QAAG;AAAC,MAAAK;AAAA,QAAG5O,EAAE;AAAA,QACrf,KAAK;AAAA,MAAM,GAAEE,KAAGA,KAAIH,EAAE,YAAU;AAAA,IAAE,UAAC;AAAQ,WAAK,iBAAeE,GAAE,KAAK,eAAaI,GAAE,KAAK,kBAAgBZ,GAAE,KAAK,aAAWE,GAAE2O,KAAEnO,GAAE6G,IAAEzH,GAAEgP,KAAEnO;AAAA,IAAC;AAAC,WAAOL;AAAA,EAAC;AAAA,EAAC,OAAOC,GAAEE,GAAE;AAACsE,IAAAA,GAAE,MAAKxE,GAAEE,CAAC;AAAA,EAAC;AAAA,EAAC,MAAMF,GAAEE,IAAE,CAAA,GAAG;AAAC,QAAIH,IAAE,KAAK;AAAa,IAAOA,MAAP,SAAWA,EAAE,aAAa,kBAAiB,KAAK,GAAEyE,GAAE,MAAK,MAAI;AAAC,UAAIrE,IAAEmE,EAAG,GAAC/E,IAAE4H;AAAK,MAAOhH,MAAP,OAASA,EAAE,QAAM,KAAOZ,EAAE,sBAAN,MAAwCW,EAAE,qBAAhB,cAAiCX,EAAE,YAAa,IAACA,EAAE;IAAY,GAAE,EAAC,UAAS,MAAI;AAAC,MAAAQ,EAAE,gBAAgB,gBAAgB,GAAEC,KAAGA;IAAG,EAAC,CAAC,GAAS,KAAK,wBAAZ,QAAiCD,EAAE,gBAAgB,gBAAgB;AAAA,EAAE;AAAA,EAAC,OAAM;AAAC,QAAIC,IAC7hB,KAAK;AAAa,IAAOA,MAAP,QAAUA,EAAE,KAAM,GAACA,IAAE,OAAO,aAAc,GAAQA,MAAP,QAAUA,EAAE,gBAAiB;AAAA,EAAA;AAAA,EAAC,aAAY;AAAC,WAAO,KAAK;AAAA,EAAS;AAAA,EAAC,YAAYA,GAAE;AAAC,SAAK,cAAYA,MAAI,KAAK,YAAUA,GAAEmQ,GAAG,YAAW,MAAK,IAAGnQ,CAAC;AAAA,EAAE;AAAA,EAAC,SAAQ;AAAC,WAAM,EAAC,aAAY,KAAK,aAAa,OAAM,EAAE;AAAA,EAAC;AAAC;AAAC,MAAMgS,WAAWpB,GAAE;AAAA,EAAC,YAAY5Q,GAAEE,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,YAAUF;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAU,GAAG,SAAQ,KAAK,UAAS;AAAA,EAAC;AAAC;AAAC,SAASqN,GAAGrN,GAAE;AAAC,SAAOA,aAAagS;AAAE;AAAC,MAAMC,WAAWrB,GAAE;;AAAE,SAASzD,GAAGnN,GAAE;AAAC,SAAOA,aAAaiS;AAAE;AACxe,MAAMC,WAAWtB,GAAE;AAAE;AAAA,SAASxD,GAAGpN,GAAE;AAAC,SAAOA,aAAakS;AAAE;AAACC,EAAA,gBAAsB,SAASnS,GAAE;AAAC6G,EAAAA,GAAG,GAACF,EAAC,EAAG,YAAY,IAAI3G,CAAC;AAAC;AAA8BmS,EAAA,uBAAC5E;yBAAgCG;AAAGyE,EAAA,uBAA6BvF;AAAgCuF,EAAA,wBAAC,WAAU;AAAC,MAAInS,IAAE,IAAIwM,GAAE,QAAO,GAAE,SAAS,GAAEtM,IAAE,IAAIsM,GAAE,QAAO,GAAE,SAAS;AAAE,SAAO,IAAIO,GAAG/M,GAAEE,GAAE,CAAC;AAAC;oBAA0ByH;AAAEwK,EAAA,oBAA0BlK;AAAqCkK,EAAA,6BAACxN;AAAwBwN,EAAA,gBAACrL;AAAEqL,EAAA,wBAA8BzK;AACvdyK,EAAA,WAAChL;AAAwBgL,EAAA,gBAAC7N;AAAE6N,EAAA,eAAqB7J;AAAG6J,EAAA,eAAqB,SAASnS,GAAEE,GAAE;AAAC,MAAIH,IAAEuE,EAAG;AAAC,SAAOvE,MAAP,SAAWA,IAAEoH,GAAE,EAAG,UAAW,IAASpH,EAAE,YAAYC,GAAEE,CAAC;AAAC;AAAEiS,EAAA,mBAAyBvN;AAAEuN,EAAA,iBAAuB5M;AAAyC4M,EAAA,kCAAC,SAASnS,GAAE;AAAC,SAAOuF,EAAEvF,CAAC,KAAGA,EAAE,SAAU,KAAE4E,EAAE5E,CAAC,KAAGA,EAAE,SAAU;AAAA;gBAAsBoG;AAAG+L,EAAA,mBAAyB9L;AAA2B8L,EAAA,mBAACjG;AAA2BiG,EAAA,mBAAC,SAASnS,GAAE;AAAC,SAAOA,aAAa4R;AAAE;AAAEO,EAAA,oBAA0BpN;AACxeoN,EAAA,cAAoBhK;AAAEgK,EAAA,sBAA4B5J;AAAG4J,EAAA,cAAoBtN;AAAEsN,EAAA,eAAqB,SAASnS,GAAE;AAAC,MAAIE,IAAEwG,GAAG;AAAC,MAAI3G,IAAEG,EAAE,WAAUC,IAAEH,EAAE,QAAO;AAAG,EAAAE,IAAEA,EAAE;AAAS,MAAIX,IAAE,CAAA;AAAG,WAAQ,CAAA,EAAEa,CAAC,KAAIF;AAAE,IAAAE,aAAaJ,KAAGI,EAAE,WAASD,MAAIJ,KAAGK,EAAE,WAAY,MAAGb,EAAE,KAAKa,CAAC;AAAE,SAAOb;AAAC;AAA8B4S,EAAA,uBAAC,SAASnS,GAAE;AAAC,SAAO4O,GAAG5O,GAAE2G,EAAG,EAAC,MAAM;AAAC;AAA4BwL,EAAA,qBAACvL;AAAuBuL,EAAA,gBAAC3M;AAAuB2M,EAAA,eAACtP;AAA2BsP,EAAA,mBAAC;AAA2BA,EAAA,mBAAC,CAA+B;AAAAA,EAAA,uBAAC,CAAG;AAC/cA,EAAA,wBAAC,CAAA;AAAGA,EAAA,gBAAsBpR;AAAoCoR,EAAA,4BAAC;4BAAkC;AAAEA,EAAA,wBAA8B;AAA8BA,EAAA,uBAAC;AAAiCA,EAAA,0BAAC;AAAEA,EAAA,oCAA0ChR;iBAAwBuB;AAAGyP,EAAA,cAAoBxP;AAAmCwP,EAAA,2BAACnR;AAA8BmR,EAAA,sBAAC5Q;AAAG4Q,EAAA,sBAA4B7Q;AAC5Z6Q,EAAA,kCAAwC,WAAU;AAAC,MAAInS,IAAE,IAAIwM,GAAE,QAAO,GAAE,SAAS,GAAEtM,IAAE,IAAIsM,GAAE,QAAO,GAAE,SAAS;AAAE,SAAO,IAAIQ,GAAG,QAAOhN,GAAEE,CAAC;AAAC;AAAEiS,EAAA,6BAAmC9E;AAAiC8E,EAAA,yBAAChF;AAAGgF,EAAA,4BAAkC/E;AAAsC+E,EAAA,8BAAClF;AAAGkF,EAAA,0BAAgCH;wBAA+BC;AAAGE,EAAA,yBAA+BD;oBAA2BzP;AAA2B0P,EAAA,mBAAC3P;sBAA6BD;AAAuB4P,EAAA,eAAC7P;AAC3e6P,EAAA,gBAAsBxB;AAAGwB,EAAA,cAAoBvB;AAAGuB,EAAA,gBAAsBvP;AAAGuP,EAAA,yBAA+B,CAAG;AAAAA,EAAA,sBAA4BtS;AAAEsS,EAAA,yBAA+B,CAAG;AAAAA,EAAA,4BAAkClR;AAAGkR,EAAA,2BAAiCjR;AAAiCiR,EAAA,yBAACpQ;AAAiCoQ,EAAA,yBAACvQ;AAAkCuQ,EAAA,0BAACzQ;AAA+ByQ,EAAA,uBAACrQ;AAAgCqQ,EAAA,wBAACjQ;AAA6BiQ,EAAA,qBAAC/P;AAA4B+P,EAAA,oBAACnQ;AAA6BmQ,EAAA,qBAAChQ;AAClfgQ,EAAA,uBAA6BrP;AAAGqP,EAAA,oBAA0BlQ;AAA0BkQ,EAAA,kBAAC9P;AAAwB8P,EAAA,gBAACnB;AAAGmB,EAAA,cAAoBxQ;AAAGwQ,EAAA,gBAAsBtQ;AAAkCsQ,EAAA,0BAAC,CAAA;kBAAyB/Q;AAAG+Q,EAAA,gBAAsBP;AAAuBO,EAAA,eAAC1Q;AAA8B0Q,EAAA,sBAAC9Q;AAAG8Q,EAAA,WAAiBtB;AAAGsB,EAAA,2BAAiCrR;AAAmBqR,EAAA,WAACb;AAAuBa,EAAA,eAAC3Q;YAAmB;AAAQ2Q,EAAA,gBAAsB,WAAU;AAAC,SAAM;AAAE;AAC9bA,EAAA,eAAC,SAASnS,GAAE;AAAC,MAAIE,IAAEF,KAAG,CAAA,GAAGD,IAAEwO,IAAEpO,IAAED,EAAE,SAAO,CAAE;AAAC,MAAIX,IAAWS,MAAT,SAAWD,IAAEG,EAAE,gBAAc,MAAKE,IAAEF,EAAE,iBAAe,IAAGD,IAAE6Q,GAAI,GAACzQ,IAAEH,EAAE,cAAmBX,MAAP,OAASA,EAAE,QAAQ,YAAUiI,OAAM/H,IAAES,EAAE,aAAYP,IAAE,CAACkR,IAAGS,IAAGN,IAAGY,IAAG,GAAI1R,EAAE,SAAO,CAAA,CAAG,GAAER,IAAEQ,EAAE;AAA4C,MAApCA,IAAWA,EAAE,aAAX,SAAoBA,EAAE,WAAS,IAAeF,MAAT,UAAmBD,MAAP;AAAS,IAAAC,IAAED,EAAE;AAAA;AAAY,SAAIC,IAAE,oBAAI,OAAID,IAAE,GAAEA,IAAEJ,EAAE,QAAOI,KAAI;AAAC,UAAIH,IAAED,EAAEI,IAAGD,IAAEF,EAAE,QAAS;AAAC,MAAAI,EAAE,IAAIF,GAAE,EAAC,OAAMF,GAAE,YAAW,oBAAI,MAAG,CAAC;AAAA,IAAC;AAAC,SAAAO,IAAE,IAAI4R,GAAG9R,GAAEV,GAAES,GAAE,EAAC,eAAcI,GAAE,WAAUC,GAAE,OAAMF,EAAC,GAAET,KAAI,QAAQ,OAAMoS,GAAG9R,CAAC,GAAEE,CAAC,GAC/eT,MADif,WAC7eU,EAAE,sBAAoBV,GAAEU,EAAE,aAAW,IAAUA;AAAC;AClLpD,MAAMiS,KAAiF5S;AACvF,IAAA6S,IAAiBD,ICFAhS,KAAEZ,IAAiDD,KAAE+S,GAAmBrS,KAAEsS,GAAiB5S,KAAgB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,MAAmDM,GAAE,kBAAgBA,GAAE;AAAU,IAAIL,KAAE,EAAC,KAAI,gBAAe;AAC5R,SAASC,GAAEG,GAAED,GAAE;AAAC,MAAUA,MAAP;AAAS,QAAYA,MAAT;AAAW,MAAAC,EAAE,OAAO,MAAI;AAAC,YAAIE,IAAEX,GAAE;AAAW,YAAGW,EAAE,WAAU;AAAC,cAAIC,IAAEZ,GAAE,qBAAoB;AAAG,UAAAW,EAAE,OAAOC,CAAC,GAAED,IAAE,SAAS,gBAAsBX,GAAE,oBAAT,QAAiCW,MAAP,QAAUA,MAAIF,EAAE,qBAAmBG,EAAE;QAAQ;AAAA,MAAC,GAAEP,EAAC;AAAA,aAAiBG,MAAP;AAAS,cAAO,OAAOA;AAAA,aAAQ;AAAS,cAAIG,IAAEF,EAAE,iBAAiBD,CAAC;AAAE,UAAAC,EAAE,eAAeE,GAAEN,EAAC;AAAE;AAAA,aAAW;AAAS,UAAAI,EAAE,eAAeD,GAAEH,EAAC;AAAE;AAAA,aAAW;AAAW,UAAAI,EAAE,OAAO,MAAI;AAACT,YAAAA,GAAE,SAAU,EAAC,QAAS,KAAEQ,EAAEC,CAAC;AAAA,UAAC,GAAEJ,EAAC;AAAA;AAAA;AAAE;AACva4S,GAAA,kBAAC,SAAS,EAAC,eAAcxS,GAAE,UAASD,EAAC,GAAE;AAAC,MAAIG,IAAED,GAAE,QAAQ,MAAI;AAAC,UAAM,EAAC,OAAME,GAAE,WAAUE,GAAE,oBAAmBP,GAAE,OAAMiD,GAAE,SAAQG,GAAE,aAAYoB,EAAC,IAAEtE,GAAEyE,IAAErE,GAAE,6BAA6B,MAAKD,CAAC;AAAE,QAAIV,IAAEK,KAAG;AAAK,QAAUL,MAAP,MAAS;AAAC,YAAMC,IAAEH,GAAE,aAAa,EAAC,UAAS,IAAG,WAAUc,GAAE,OAAM0C,GAAE,SAAQ,CAAA2B,MAAGxB,EAAEwB,GAAEhF,CAAC,GAAE,OAAMS,EAAC,CAAC;AAAEN,MAAAA,GAAEH,GAAE4E,CAAC,GAAE7E,IAAEC;AAAA,IAAC;AAAC,WAAM,CAACD,GAAEgF,CAAC;AAAA,EAAC,GAAE,EAAE;AAAE9E,SAAAA,GAAE,MAAI;AAAC,QAAIQ,IAAEH,EAAE,UAAS,CAACK,CAAC,IAAEH;AAAE,IAAAG,EAAE,YAAqBF,MAAT,SAAWA,IAAE,EAAE;AAAA,EAAC,GAAE,CAAA,CAAE,GAASF,GAAE,cAAcG,GAAE,uBAAuB,UAAS,EAAC,OAAMF,EAAC,GAAEH,CAAC;AAAC;ACDle,MAAM0S,KAAiGjT;AACvG,IAAAkT,KAAiBD,sBCFA/S,KAAEF;AAAmB,SAASI,GAAEI,GAAE;AAAC,QAAM,MAAM,2BAA2BA,gDAAgDA,iHAAoH;AAAE;AAAC,SAASH,GAAEG,GAAEE,GAAE;AAAC,SAAKF,MAAIN,GAAE,SAAU,KAAQM,KAAN,QAAS;AAAC,QAAGE,EAAEF,CAAC;AAAE,aAAOA;AAAE,IAAAA,IAAEA,EAAE,UAAS;AAAA,EAAE;AAAC,SAAO;AAAI;AAC/V,SAASF,GAAEE,GAAEE,GAAEE,GAAEb,GAAEY,GAAE;AAAC,MAAIJ,IAAEK,EAAE,OAAO,IAAIJ,EAAE,MAAM;AAAE,EAASD,MAAT,UAAYH,GAAE,CAAC;AAAE,WAAQS,KAAKL,GAAE;AAAC,QAAIP,IAAEO,EAAEK;AAAG,QAASZ,KAAN,QAAoB,OAAOA,KAAlB,aAAsBA,IAAEA,EAAE,aAAkBA,KAAN,OAAS;AAAC,UAAIQ,IAAEP,GAAE,aAAa,EAAC,WAAUD,EAAE,UAAS,CAAC;AAAE,MAAAQ,EAAE,SAAOG,EAAE,QAAOH,EAAE,gBAAcG,EAAE,eAAcH,EAAE,sBAAoB8C,GAAE9C,GAAER,CAAC,GAAEO,EAAEK,KAAGJ;AAAA,IAAC;AAAA,EAAC;AAAsG,MAArGF,IAAEA,EAAE,OAAMM,IAAEL,EAAE,OAAMA,EAAE,QAAM,QAAOD,IAAEA,EAAE,MAAMC,CAAC,GAAEA,EAAE,QAAMK,GAAEA,IAAEN,EAAE,OAAMI,EAAE,SAAS,IAAIE,GAAEN,CAAC,GAAEA,EAAE,WAASR,GAAKG,GAAE,eAAeK,CAAC,GAAE;AAAgB,SAAfR,IAAES,EAAE,YAAeP,IAAE,GAAEA,IAAEF,EAAE,QAAOE;AAAI,MAAAQ,IAAEC,EAAE,IAAIX,EAAEE,EAAE,GAAWQ,MAAT,WAAaA,IAAEH,GAAEG,GAAEC,GAAEE,GAAEC,GAAEF,CAAC,EAAE,OAAMJ,EAAE,WAAW,KAAKE,CAAC;AACtgB,IAAAF,EAAE,WAASC,EAAE,UAASD,EAAE,WAASC,EAAE,UAASD,EAAE,QAAMC,EAAE;AAAA,EAAK;AAAMN,IAAAA,GAAE,YAAYK,CAAC,MAAIA,EAAE,WAASC,EAAE,UAASD,EAAE,UAAQC,EAAE,SAAQD,EAAE,SAAOC,EAAE,QAAOD,EAAE,WAASC,EAAE;AAAU,SAAOD;AAAC;AAC/K,SAASmD,GAAElD,GAAEE,GAAE;AAAC,MAAIE,IAAEF,EAAE,aAAa,aAAYX,IAAE,oBAAI,OAAIY,IAAE,IAAIC,EAAEb,CAAC,GAAEQ,IAAE,IAAI,IAAIC,EAAE,QAAQ,GAAEK,IAAEN,EAAE,IAAI,MAAM;AAAE,EAAAC,IAAEE,EAAE;AAAU,MAAG;AAAC,IAAAA,EAAE,YAAU,IAAGA,EAAE,OAAO,MAAI;AAAC,UAAIT,IAAES,EAAE,gBAAeD,IAAEC,EAAE,cAAaP,IAAEO,EAAE;AAAW,MAAAA,EAAE,iBAAe,oBAAI,OAAIA,EAAE,eAAa,oBAAI,OAAIA,EAAE,aAAW;AAAE,UAAG;AAACJ,QAAAA,GAAEO,GAAEN,GAAEG,GAAE,MAAKC,CAAC;AAAA,MAAC,UAAC;AAAQ,QAAAD,EAAE,iBAAeT,GAAES,EAAE,eAAaD,GAAEC,EAAE,aAAWP;AAAA,MAAC;AAAA,IAAC,CAAC;AAAA,EAAC,UAAC;AAAQ,IAAAO,EAAE,YAAUF;AAAA,EAAC;AAAC,SAAAG,EAAE,YAAU,IAAUA;AAAC;AAAC,SAAS4C,GAAE/C,GAAEE,GAAE;AAAC,SAAAA,IAAa,OAAOA,KAAlB,WAAoB,KAAK,MAAMA,CAAC,IAAEA,GAASgD,GAAEhD,GAAEF,CAAC;AAAC;AACxc2S,GAAA,OAAC,SAAS3S,GAAEE,GAAE;AAAC,MAAIE,IAAE,CAAA;AAAG,EAAAJ,KAAGA,KAAGN,GAAE,SAAQ,GAAI,UAAS,GAAGQ,IAAEA,MAAIR,GAAE,eAAeM,CAAC,IAAEA,EAAE,sBAAoBA;AAAG,WAAQT,IAAES,GAAEG,IAAE,IAAUZ,IAAEA,EAAE,iBAAZ;AAA0B,IAAAY;AAAI,OAAIZ,IAAEY,GAASH,MAAP,QAAU,CAACA,EAAE,GAAGE,CAAC;AAAG,QAAGE,EAAE,KAAK,EAAC,OAAMb,GAAE,MAAKS,EAAC,CAAC,GAAEN,GAAE,eAAeM,CAAC,KAAG,IAAEA,EAAE;AAAkB,MAAAA,IAAEA,EAAE,cAAa,GAAGT;AAAA;AAAS,WAAIY,IAAE,MAAYA,MAAP,QAAiBH,MAAP;AAAU,QAAAG,IAAEH,EAAE,eAAgB,GAAQG,MAAP,QAAUH,IAAEA,EAAE,UAAW,GAACT,OAAKS,IAAEG;AAAE,SAAOH,MAAP,QAAUA,EAAE,GAAGE,CAAC,KAAGE,EAAE,KAAK,EAAC,OAAMb,GAAE,MAAKS,EAAC,CAAC,GAASI;AAAC;AAAEuS,GAAA,sBAA4B9S;AAC9c8S,GAAA,yCAA+C,SAAS3S,GAAE;AAAC,SAAAA,IAAEH,GAAEG,GAAE,CAAAE,MAAGR,GAAE,eAAeQ,CAAC,KAAG,CAACA,EAAE,SAAU,CAAA,GAAER,GAAE,eAAeM,CAAC,KAAGJ,GAAE,CAAC,GAASI;AAAC;AAAE2S,GAAA,wBAA8B,SAAS3S,GAAEE,GAAE;AAAC,SAAWF,KAAN,QAAS;AAAC,QAAGA,aAAaE;AAAE,aAAOF;AAAE,IAAAA,IAAEA,EAAE;EAAW;AAAC,SAAO;AAAI;AAC7N2S,GAAA,2BAAC,SAAS3S,GAAE;AAAC,MAAIE,IAAER,GAAE,cAAe;AAACA,SAAAA,GAAE,kBAAkBQ,CAAC,IAAEA,EAAE,MAAM,QAAS,EAAC,0BAAyB,EAAG,YAAYF,CAAC,IAAEN,GAAE,iBAAiBQ,CAAC,KAAGR,GAAE,4BAA4BQ,CAAC,KAAGA,IAAEA,EAAE,SAAQ,GAAGA,EAAEA,EAAE,SAAO,GAAG,4BAA4B,YAAYF,CAAC,KAAGN,GAAE,SAAU,EAAC,OAAOM,CAAC,GAAEE,IAAER,GAAE,qBAAsB,GAACM,EAAE,YAAYE,CAAC,GAAEA,EAAE,OAAM,GAAUF,EAAE,UAAS;AAAE;AAC7X2S,GAAA,sBAA4B,SAAS3S,GAAEE,GAAE;AAAC,MAAIE,IAAE,IAAI,IAAIF,EAAE,QAAQ,GAAEX,IAAES,EAAE;AAAoB,EAAAT,MAAIA,EAAE,WAASa,IAAGJ,EAAE,aAAW,GAAEA,IAAEE,EAAE,YAAWR,GAAE,cAAqBM,MAAP,OAAS,OAAKA,EAAE,OAAO;AAAC;AAAE2S,GAAA,qBAA2B,SAAS3S,GAAEE,GAAE;AAAC,SAAAA,IAAEA,EAAG,GAACF,EAAE,QAAQE,CAAC,GAAEA,EAAE,OAAOF,CAAC,GAASE;AAAC;AAAgCyS,GAAA,yBAAC,SAAS3S,MAAKE,GAAE;AAAC,EAAAA,EAAE,QAAQ,CAAAE,MAAG;AAAC,IAAW,OAAOA,KAAlB,YAAqBJ,EAAE,UAAU,IAAI,GAAGI,EAAE,MAAM,GAAG,CAAC;AAAA,EAAC,CAAC;AAAC;mBAAwB,YAAYJ,GAAE;AAAC,SAAM,MAAI;AAAC,IAAAA,EAAE,QAAQ,CAAAE,MAAGA,EAAG,CAAA;AAAA,EAAC;AAAC;AAC5ZyS,GAAA,gCAAC,SAAS3S,GAAEE,GAAEE,GAAEb,GAAE;AAAC,SAAOS,EAAE,sBAAsBE,GAAE,CAAAC,MAAG;AAAC,IAAAH,GAAE;AAAuB,eAAlBD,IAAEI,EAAE,YAAa,GAASE,IAAE,GAAEA,IAAEN,EAAE,QAAOM;AAAI,YAAGN,EAAEM,cAAaH,GAAE;AAAC,UAAAH,IAAE;AAAK,gBAAMC;AAAA,QAAC;AAAC,WAAID,IAAEI,GAASJ,MAAP;AAAU,YAAGM,IAAEN,GAAEA,IAAEA,EAAE,UAAS,GAAGA,aAAaG,GAAE;AAAC,UAAAH,IAAE,EAAC,OAAMM,GAAE,QAAON,EAAC;AAAE,gBAAMC;AAAA,QAAC;AAAC,MAAAD,IAAE;AAAA,IAAI;AAAC,QAAUA,MAAP,MAAS;AAAC,YAAM,EAAC,OAAMN,GAAE,QAAOQ,EAAC,IAAEF;AAAE,UAAGN,EAAE,GAAGU,CAAC,GAAE;AAA0D,YAAzDZ,EAAEU,GAAEE,CAAC,GAAEA,IAAEV,EAAE,mBAAkBM,IAAEI,EAAE,QAAOF,EAAE,YAAYR,CAAC,GAASM,MAAJ,GAAM;AAAC,UAAAM,IAAED,EAAEH,CAAC,GAAER,EAAE,YAAYY,CAAC;AAAE,mBAAQV,IAAE,GAAEA,IAAEI,GAAEJ;AAAI,YAAAU,EAAE,OAAOF,EAAER,EAAE;AAAA,QAAC;AAAC,QAAAM,EAAE,WAAY,KAAMA,EAAE,gBAAiB,MAAvB,KAAyBA,EAAE,OAAM;AAAA,MAAE;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AAC3f0S,GAAA,8BAAoC,SAAS3S,MAAKE,GAAE;AAAC,EAAAA,EAAE,QAAQ,CAAAE,MAAG;AAAC,IAAW,OAAOA,KAAlB,YAAqBJ,EAAE,UAAU,OAAO,GAAGI,EAAE,MAAM,GAAG,CAAC;AAAA,EAAC,CAAC;AAAC;2CAAgD2C;ACR7K,MAAM6P,KAA2FpT;AACjG,IAAAqT,KAAiBD,ICFAvS,IAAEb,GAAmBE,KAAE4S;AAA0B,SAAS3S,GAAEK,GAAE;AAAC,QAAM,MAAM,2BAA2BA,gDAAgDA,iHAAoH;AAAE;AAAC,SAASJ,GAAEI,GAAE;AAAC,MAAIE,IAAE;AAAE,OAAIF,IAAEA,EAAE,UAAW,GAAOA,KAAN,QAAS;AAAC,QAAGH,EAAEG,CAAC,GAAE;AAAiB,UAAhBA,IAAEA,EAAE,UAAW,GAAIF,EAAEE,CAAC,GAAE;AAAC,QAAAE,KAAIF,IAAEA,EAAE,UAAW;AAAC;AAAA,MAAQ;AAACL,MAAAA,GAAE,EAAE;AAAA,IAAC;AAAC;AAAA,EAAK;AAAC,SAAOO;AAAC;AACra,SAAS6C,GAAE/C,GAAE;AAAC,EAAAA,IAAEA,EAAE,UAAW,GAACF,EAAEE,CAAC,KAAGL,GAAE,EAAE;AAAE,MAAIO,IAAEF;AAAE,SAAYE,MAAP;AAAU,IAAAA,IAAEA,EAAE,UAAS,GAAGJ,EAAEI,CAAC,MAAIF,IAAEE;AAAG,SAAOF;AAAC;AAAC,SAASkD,GAAElD,GAAE;AAAC,MAAIE,IAAE,CAAA;AAAG,EAAAF,IAAEA,EAAE,YAAW,EAAG,OAAOH,CAAC;AAAE,WAAQE,IAAE,GAAEA,IAAEC,EAAE,QAAOD,KAAI;AAAC,QAAII,IAAEH,EAAED,IAAGK,IAAED,EAAE,cAAe;AAACL,IAAAA,EAAEM,CAAC,IAAEF,IAAEA,EAAE,OAAOgD,GAAE9C,CAAC,CAAC,IAAEF,EAAE,KAAKC,CAAC;AAAA,EAAC;AAAC,SAAOD;AAAC;AAAC,SAASoE,GAAEtE,GAAE;AAAC,SAAOH,EAAEG,CAAC,KAAGF,EAAEE,EAAE,cAAe,CAAA;AAAC;AAAC,SAASyE,GAAEzE,GAAE;AAAC,SAAWA,EAAE,eAAgB,KAAxB,QAAgCA,EAAE,mBAAoB,KAA5B,QAA8B;AAAC,QAAIE,IAAEF,EAAE,UAAW;AAAC,QAASE,KAAN,QAAS,CAACL,EAAEG,CAAC,KAAG,CAACF,EAAEE,CAAC;AAAE;AAAM,IAAAA,IAAEE;AAAA,EAAC;AAAC,EAAAF,EAAE,OAAM;AAAE;AAAC,SAAS0E,GAAE1E,GAAE;AAAC,SAAOgF,GAAG,EAAC,OAAOhF,CAAC;AAAC;AAC7d,SAAS4E,GAAE5E,GAAEE,GAAE;AAAC,SAAOL,EAAEG,CAAC,MAAQE,EAAE,WAAN,KAAkBA,EAAE,WAAN,KAAcF,EAAE,GAAGE,EAAE,EAAE,KAAOF,EAAE,gBAAiB,MAAvB;AAAwB;AAAC,SAAS6E,GAAE7E,GAAEE,GAAE;AAAC,EAAAF,EAAE,OAAOA,EAAE,gBAAe,GAAG,GAAEE,CAAC;AAAC;AAChJ,SAAS6E,GAAE/E,GAAEE,GAAE;AAAC,MAAGJ,EAAEE,CAAC;AAAE,WAAOA;AAAE,MAAID,IAAEC,EAAE,mBAAkB,GAAGG,IAAEH,EAAE,kBAAiBI,IAAE4E,GAAC;AAAkF,SAA/E5E,EAAE,UAAUJ,EAAE,cAAa,CAAE,GAAEI,EAAE,UAAUJ,EAAE,UAAW,CAAA,GAAE6E,GAAEzE,GAAEJ,EAAE,YAAW,CAAE,GAAKF,EAAEC,CAAC,KAAGG,MAAIH,EAAE,YAAW,KAAUA,EAAE,OAAOK,CAAC,GAAEJ,EAAE,OAAQ,GAACF,EAAEK,CAAC,KAAGD,MAAIC,EAAE,YAAa,MAAG0E,GAAE9E,GAAEI,EAAE,YAAa,CAAA,GAAEA,EAAE,OAAM,IAAIJ,KAAKD,EAAEK,CAAC,KAAGD,MAAIC,EAAE,iBAAqBA,EAAE,qBAAsB,EAAC,aAAaC,CAAC,GAAEJ,EAAE,OAAM,GAAGG,MAAED,IAAEkF,GAAElF,CAAC,GAAEA,EAAE,OAAOE,CAAC,GAAEJ,EAAE,QAAQE,CAAC,GAAEqF,GAAErF,CAAC,GAASA;AAAC;AACza,SAASqF,GAAEvF,GAAEE,GAAE;AAAC,GAACA,KAAGF,EAAE,YAAa,GAAE,QAAQ,CAAAD,MAAG;AAAC,QAAII,IAAEJ,EAAE,SAAQ;AAAG,QAAIK,IAAEL,EAAE,UAAS,GAAOR,IAAE;AAAE,IAAMa,KAAN,SAAUN,EAAEM,CAAC,IAAEb,IAAEa,EAAE,SAAU,IAACT,GAAE,EAAE,IAAGS,IAAEL,EAAE,oBAAmB;AAAG,aAAQE,IAAE,GAAEA,IAAEG,EAAE,QAAOH,KAAI;AAAC,UAAIR,IAAEW,EAAEH;AAAGJ,MAAAA,EAAEJ,CAAC,KAAG,CAACK,EAAEL,EAAE,cAAe,CAAA,KAAGF;AAAA,IAAG;AAAC,IAAAY,MAAIZ,KAAGQ,EAAE,SAASR,CAAC;AAAA,EAAC,CAAC;AAAC;AAC7P,SAASmH,GAAE1G,GAAE;AAAC,MAAIE,IAAE,oBAAI;AAAI,EAAAF,EAAE,QAAQ,CAAAD,MAAG;AAAC,QAAG,CAACuE,GAAEvE,CAAC,KAAG,CAACG,EAAE,IAAIH,EAAE,OAAQ,CAAA,GAAE;AAAC,UAAII,IAAEJ,EAAE,UAAW,GAACK,IAAEL,EAAE,eAAc,GAAGR,IAAEQ,EAAE,mBAAoB;AAAC,UAAGuE,GAAElE,CAAC,KAAGkE,GAAE/E,CAAC;AAAE,QAAAA,IAAEA,EAAE,cAAe,GAACO,EAAEP,CAAC,MAAIA,EAAE,OAAOQ,CAAC,GAAEA,IAAEK,EAAE,cAAa,GAAGN,EAAEC,CAAC,MAAIA,IAAEA,EAAE,YAAW,GAAG8E,GAAEtF,GAAEQ,CAAC,GAAEK,EAAE,OAAM,GAAGF,EAAE,IAAIE,EAAE,OAAM,CAAE,IAAGmF,GAAEhG,CAAC;AAAA,eAAW+E,GAAElE,CAAC;AAAE,QAAAA,IAAEA,EAAE,cAAa,GAAGN,EAAEM,CAAC,MAAIb,IAAEa,EAAE,cAAa,GAAUb,MAAP,QAAUA,EAAE,aAAaQ,CAAC,GAAEwF,GAAEnF,CAAC;AAAA,eAAWkE,GAAE/E,CAAC;AAAE,QAAAa,IAAEb,EAAE,cAAe,GAACO,EAAEM,CAAC,MAAIA,EAAE,OAAOL,CAAC,GAAEwF,GAAEnF,CAAC;AAAA,eAAWN,EAAEK,CAAC,GAAE;AAAC,YAAIF,IAAE+E,GAAG,GAACvF,IAAE2F,GAAEjF,EAAE,YAAW,CAAE;AAAE,QAAAF,EAAE,OAAOR,CAAC,GAAEA,EAAE,OAAOM,CAAC,GAAER,IACpfA,EAAE,YAAYU,CAAC,IAAEG,IAAEA,EAAE,aAAaH,CAAC,IAAEE,EAAE,OAAOF,CAAC;AAAA,MAAC;AAACH,MAAAA,EAAEK,CAAC,KAAGoF,GAAEpF,CAAC;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AAC9D,SAASwG,GAAE3G,GAAE;AAAC,EAAAA,EAAE,QAAQ,CAAAE,MAAG;AAAC,QAAG,CAACoE,GAAEpE,CAAC,GAAE;AAAC,UAAIH,IAAEG,EAAE,UAAS,GAAGC,IAAEJ,IAAEA,EAAE,UAAS,IAAG,QAAOK,IAAED,IAAEA,EAAE,UAAS,IAAG;AAAO,UAAGL,EAAEM,CAAC,KAAGP,EAAEM,CAAC,KAAGL,EAAEC,CAAC,GAAE;AAAC,YAAIR,IAAEQ,IAAEA,EAAE,cAAe,IAAC,QAAOE,IAAEF,IAAEA,EAAE,aAAc,IAAC;AAAO,YAAGG,EAAE,GAAGX,CAAC;AAAE,UAAAY,EAAE,aAAaD,CAAC,GAAEH,EAAE,QAAO,KAAII,EAAE,OAAQ;AAAA,iBAASD,EAAE,GAAGD,CAAC;AAAE,UAAAE,EAAE,YAAYD,CAAC,GAAEH,EAAE,QAAS,KAAEI,EAAE,OAAM;AAAA,aAAO;AAAC,cAAIV,IAAEM,EAAE,YAAW;AAAG,UAAAR,IAAEyF,GAAC;AAAG,cAAIR,IAAEY,GAAE3F,CAAC;AAAE,UAAAF,EAAE,OAAOiF,CAAC,GAAEtE,EAAE,oBAAmB,EAAG,QAAQ,CAAA4E,MAAGN,EAAE,OAAOM,CAAC,CAAC,GAAE7E,IAAE+E,GAAC,GAAGvF,IAAE2F,GAAE3F,CAAC,GAAEQ,EAAE,OAAOR,CAAC,GAAEoF,GAAEpF,GAAES,EAAE,gBAAiB,CAAA,GAAEC,EAAE,aAAaZ,CAAC,GAAEY,EAAE,YAAYF,CAAC,GAAEE,EAAE,QAAQD,CAAC;AAAA,QAAC;AAACqF,QAAAA,GAAExF,CAAC,GACzfwF,GAAEnF,CAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AAAC,SAASwG,GAAE5G,GAAE;AAAC,MAAIE,IAAEG,EAAE,cAAe;AAAC,MAAGA,EAAE,kBAAkBH,CAAC,GAAE;AAAC,QAAIH,IAAEG,EAAE,YAAWC,IAAE,CAAE;AAA0C,QAArCJ,EAAE,WAAN,KAAcA,EAAE,KAAKG,EAAE,OAAO,SAAS,GAASH,EAAE,WAAN,GAAa;AAAC,MAAAC,GAAE;AAAC,aAAID,IAAEA,EAAE,IAAUA,MAAP,QAAU;AAAC,cAAGF,EAAEE,CAAC;AAAE,kBAAMC;AAAE,UAAAD,IAAEA,EAAE,UAAS;AAAA,QAAE;AAAC,QAAAA,IAAE;AAAA,MAAI;AAAC,MAAOA,MAAP,SAAWI,IAAE,CAACJ,CAAC;AAAA,IAAE,OAAK;AAAW,WAAVI,IAAE,oBAAI,OAAQD,IAAE,GAAEA,IAAEH,EAAE,QAAOG,KAAI;AAAC,YAAIE,IAAEL,EAAEG;AAAGL,QAAAA,EAAEO,CAAC,KAAGD,EAAE,IAAIC,CAAC;AAAA,MAAC;AAAC,MAAAD,IAAE,MAAM,KAAKA,CAAC;AAAA,IAAC;AAAC,QAAEA,EAAE,WAAoBH,MAAX,WAAa0G,GAAEvG,CAAC,IAAEwG,GAAExG,CAAC;AAAA,EAAE;AAAC;AACpW,MAAM0G,WAAUxG,EAAE,YAAW;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAU;AAAA,EAAC,OAAO,MAAML,GAAE;AAAC,WAAO,IAAI6G,GAAE7G,EAAE,SAAQA,EAAE,WAAUA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAEE,GAAEH,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,UAAiBC,MAAT,SAAW,IAAEA,GAAE,KAAK,YAAUE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAE;AAAC,QAAIE,IAAE,SAAS,cAAc,IAAI,GAAEH,IAAE,KAAK,UAAS;AAAGD,WAAAA,EAAEC,CAAC,MAAIwF,GAAExF,CAAC,GAAE+G,GAAE5G,GAAE,MAAK,MAAKH,CAAC,IAAGG,EAAE,QAAM,KAAK,SAAQ8G,GAAE9G,GAAEF,EAAE,OAAM,IAAI,GAASE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAEE,GAAEH,GAAE;AAAC,QAAII,IAAE,KAAK;AAAYL,WAAAA,EAAEK,CAAC,MAAIoF,GAAEpF,CAAC,GAAE2G,GAAE5G,GAAE,MAAKF,GAAEG,CAAC,IAAGD,EAAE,QAAM,KAAK,SAAQ8G,GAAE9G,GAAEH,EAAE,OAAM,IAAI,GAAQ;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,IAAG,OAAK;AAAA,MAAC,YAAW4H;AAAAA,MACvf,UAAS;AAAA,IAAC,GAAE;AAAA,EAAC;AAAA,EAAC,OAAO,WAAW3H,GAAE;AAAC,QAAIE,IAAE,IAAI2G,GAAE7G,EAAE,OAAMA,EAAE,OAAO;AAAE,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAY,GAAC,SAAQ,KAAK,WAAY,GAAC,MAAK,YAAW,OAAM,KAAK,YAAW,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAE;AAAC,aAAQE,IAAE,GAAEA,IAAEF,EAAE,QAAOE,KAAI;AAAC,UAAIH,IAAEC,EAAEE;AAAG,UAAGG,EAAE,eAAeN,CAAC,KAAG,KAAK,aAAaA,CAAC,GAAE;AAAC,YAAII,IAAEJ,EAAE,YAAa;AAAC,aAAK,OAAO,GAAGI,CAAC,GAAEJ,EAAE;MAAQ;AAAM,cAAM,OAAOA,CAAC;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,QAAQC,GAAE;AAAC,QAAGH,EAAEG,CAAC;AAAE,aAAO,MAAM,QAAQA,CAAC;AAAE,QAAIE,IAAE,KAAK,iBAAgB;AACpgB,QAAGJ,EAAEI,CAAC,GAAE;AAAC,UAAIH,IAAEG,EAAE;AAAW,UAAIE,IAAEL,EAAE;AAAO,UAAII,IAAEJ,EAAE,QAAQ,KAAK,KAAK;AAAE,UAAOI,MAAJ;AAAM,QAAAD,EAAE,aAAaF,CAAC;AAAA,eAAUG,MAAIC,IAAE;AAAE,QAAAF,EAAE,YAAYF,CAAC;AAAA,WAAM;AAAC,QAAAD,IAAEqF,GAAElF,EAAE,YAAW,CAAE;AAAE,YAAIX,IAAEW,EAAE,YAAa;AAAC,aAAIC,KAAG,GAAEA,IAAEC,GAAED;AAAI,UAAAJ,EAAE,OAAOR,EAAEY,EAAE;AAAE,QAAAD,EAAE,YAAYF,CAAC,GAAEA,EAAE,YAAYD,CAAC;AAAA,MAAC;AAAC,WAAK,OAAM,GAAOK,MAAJ,KAAOF,EAAE,OAAQ;AAAA,IAAA;AAAC,WAAOF;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAE;AAAC,QAAIE,IAAE,KAAK,iBAAkB;AAACJ,IAAAA,EAAEI,CAAC,KAAGP,GAAE,EAAE;AAAE,QAAII,IAAE,KAAK,gBAAiB;AAAC,QAAGF,EAAEG,CAAC;AAAE,aAAOE,IAAE,MAAM,YAAYF,CAAC,GAAEA,IAAEA,EAAE,iBAAkB,GAACF,EAAEE,CAAC,KAAGuF,GAAEvF,CAAC,GAAEE;AAAE,QAAGJ,EAAEE,CAAC,KAAGA,EAAE,YAAW,MAAKE,EAAE,eAAc;AACze,WAD0eA,IAAEF,GAAEA,IAAEA,EAAE,YAAW,GACzfD,IAAEC,EAAE,SAAO,GAAE,KAAGD,GAAEA;AAAI,QAAAG,IAAEF,EAAED,IAAG,KAAK,YAAYG,CAAC;AAAE,aAAOA;AAAA,IAAC;AAAkB,QAAjBA,EAAE,YAAYF,CAAC,GAASD,EAAE,WAAN,GAAa;AAAC,UAAII,IAAEiF,GAAElF,EAAE,aAAa;AAAE,MAAAH,EAAE,QAAQ,CAAAK,MAAGD,EAAE,OAAOC,CAAC,CAAC,GAAEJ,EAAE,YAAYG,CAAC;AAAA,IAAC;AAAC,WAAOH;AAAA,EAAC;AAAA,EAAC,OAAOA,GAAE;AAAC,QAAIE,IAAE,KAAK;AAAiB,UAAM,OAAOF,CAAC,GAASE,MAAP,SAAWF,IAAEE,EAAE,UAAS,GAAGJ,EAAEE,CAAC,KAAGuF,GAAEvF,CAAC;AAAA,EAAE;AAAA,EAAC,iBAAgB;AAAC,QAAIA,IAAEgF,GAAQ,KAAK,aAAX,OAAqB,SAAO,EAAE;AAAE,gBAAK,YAAYhF,CAAC,GAASA;AAAA,EAAC;AAAA,EAAC,gBAAgBA,GAAE;AAAC,QAAIE,IAAEG,EAAE,qBAAoB;AAAG,SAAK,YAAa,EAAC,QAAQ,CAAAd,MAAGW,EAAE,OAAOX,CAAC,CAAC;AAAE,QAAIQ,IAAE,KAAK,iBAAkB,GAACI,IAAEJ,EAAE,iBAAgB;AAAG,QAAIK,IACtfP,EAAEM,CAAC;AAAE,WAAIJ,EAAE,gBAAe,MAArB,IAAwBK,KAAGL,EAAE,UAASI,EAAE,OAAM,MAAKJ,EAAE,QAAQG,CAAC,GAAEH,IAAEC,EAAE,QAAOA,IAAEA,EAAE,OAAMG,IAAED,EAAE,UAAqBH,EAAE,SAAd,aAAoBA,EAAE,QAAO,EAAG,GAAG,IAAI,KAAGA,EAAE,IAAII,GAAEJ,EAAE,QAAO,SAAS,GAAcC,EAAE,SAAd,aAAoBA,EAAE,QAAS,EAAC,GAAG,IAAI,KAAGA,EAAE,IAAIG,GAAEH,EAAE,QAAO,SAAS,MAAID,EAAE,aAAaG,CAAC,GAAE,KAAK,OAAQ,IAAQ;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,WAAO,KAAK,YAAY;AAAA,EAAO;AAAA,EAAC,SAASF,GAAE;AAAC,SAAK,YAAW,EAAG,UAAQA;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAO,KAAK,YAAY;AAAA,EAAS;AAAA,EAAC,WAAWA,GAAE;AAAC,SAAK,cAAc,YAAUA;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,SAAK,WAAW,CAAC,KAAK,SAAS;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,QAAIA,IAChhB,KAAK,UAAW;AAAC,QAAUA,MAAP;AAAS,aAAO,KAAK,YAAY;AAAS,IAAAA,IAAEA,EAAE;AAAmB,QAAIE,IAAE;AAAE,WAAKL,EAAEG,CAAC;AAAG,MAAAA,IAAEA,EAAE,mBAAmB,oBAAmBE;AAAI,WAAOA;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAE;AAAC,QAAIE,IAAE,KAAK,UAAW;AAAC,WAAKA,MAAIF;AAAG,MAAAE,IAAEF,KAAG0G,GAAE,CAAC,IAAI,CAAC,GAAExG,QAAMyG,GAAE,CAAC,IAAI,CAAC,GAAEzG;AAAK,WAAO;AAAA,EAAI;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,aAAaF,GAAE;AAAC,QAAGH,EAAEG,CAAC,GAAE;AAAC,UAAIE,IAAE,KAAK,iBAAkB;AAAC,UAAGJ,EAAEI,CAAC,GAAE;AAAC,YAAIH,IAAE,KAAK,gBAAiB;AAACwF,QAAAA,GAAErF,GAAEH,CAAC;AAAA,MAAC;AAAA,IAAC;AAAC,WAAO,MAAM,aAAaC,CAAC;AAAA,EAAC;AAAA,EAAC,eAAeA,GAAE;AAAC,WAAOH,EAAEG,CAAC;AAAA,EAAC;AAAA,EAAC,eAAeA,GAAE;AAAC,WAAOH,EAAEG,CAAC;AAAA,EAAC;AAAA,EAAC,aAAaA,GAAE;AAAC,WAAOK,EAAE,iBAAiBL,CAAC,KAC7fH,EAAEG,CAAC;AAAA,EAAC;AAAA,EAAC,iBAAiBA,GAAEE,GAAE;AAAC,QAAG,CAACG,EAAE,kBAAkBH,CAAC;AAAE,aAAM;AAAG,IAAAF,IAAEE,EAAE,OAAO,QAAS;AAAC,QAAIH,IAAEG,EAAE,MAAM,QAAO;AAAG,WAAO,KAAK,WAAWF,CAAC,KAAG,KAAK,WAAWD,CAAC,KAAG,KAAK,iBAAiB,WAASG,EAAE,eAAc,EAAG;AAAA,EAAM;AAAC;AACpN,SAAS8G,GAAEhH,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAE,IAAGC,IAAE,CAAA;AAAG,MAAIb,KAAGW,IAAEA,EAAE,QAAMA,EAAE,WAAS;AAAO,MAAGA,KAAGA,EAAE;AAAO,QAAID,IAAEC,EAAE,OAAO;AAAmD,MAAjCX,MAAT,WAAaA,IAAEA,EAAE,MAAM,GAAG,GAAEY,EAAE,KAAK,GAAGZ,CAAC,IAAMW,GAAE;AAAC,IAAAX,IAAEQ,EAAE,UAAW,GAACR,IAAEO,EAAEP,CAAC,KAAaA,EAAE,YAAa,MAAzB;AAA0B,QAAIE,IAAEM,EAAE,WAAY;AAAC,IAAAR,KAAG,CAACE,KAAGW,EAAE,KAAKF,EAAE,iBAAiB,GAAEX,KAAGE,KAAGW,EAAE,KAAKF,EAAE,eAAe,GAAEX,KAAGY,EAAE,KAAKV,IAAES,EAAE,kBAAgBA,EAAE,iBAAiB;AAAA,EAAC;AAAC,EAASD,MAAT,WAAaA,IAAEA,EAAE,MAAM,GAAG,GAAEF,EAAE,cAAc,KAAK,CAAAN,MAAGK,EAAEL,CAAC,CAAC,IAAEU,EAAE,KAAK,GAAGF,CAAC,IAAEG,EAAE,KAAK,GAAGH,CAAC,IAAG,IAAEG,EAAE,UAAQV,GAAE,4BAA4BM,GAAE,GAAGI,CAAC,GAAE,IAAED,EAAE,UAAQT,GAAE;AAAA,IAAuBM;AAAA,IACngB,GAAGG;AAAA,EAAC;AAAC;AAAC,SAAS2G,GAAE9G,GAAEE,GAAEH,GAAEI,GAAE;AAAC,EAAUA,EAAE,YAAW,MAAvB,UAA0BL,EAAEI,EAAE,cAAa,CAAE,KAAGF,EAAE,gBAAgB,MAAM,GAAEA,EAAE,gBAAgB,UAAU,GAAEA,EAAE,gBAAgB,cAAc,MAAIA,EAAE,aAAa,QAAO,UAAU,GAAEA,EAAE,aAAa,YAAW,IAAI,GAAED,KAAGG,EAAE,cAAYH,EAAE,aAAWC,EAAE,aAAa,gBAAeE,EAAE,WAAY,IAAC,SAAO,OAAO,KAASA,EAAE,WAAU,KAAlB,QAAsBA,EAAE,WAAW,MAAM;AAAC;AAAC,SAASyH,KAAG;AAAC,SAAM,EAAC,MAAK3C,GAAC,EAAE;AAAC;AAAC,SAASA,GAAEhF,GAAE;AAAC,SAAO,IAAI6G,GAAE,QAAO7G,CAAC;AAAC;AAAC,SAASH,EAAEG,GAAE;AAAC,SAAOA,aAAa6G;AAAC;AACrd,MAAMsB,WAAU9H,EAAE,YAAW;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAM;AAAA,EAAC,OAAO,MAAML,GAAE;AAAC,WAAO,IAAImI,GAAEnI,EAAE,cAAY8I,GAAE9I,EAAE,QAAOA,EAAE,SAAQA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAEE,GAAEH,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,aAAWC,IAAE8I,GAAE9I,MAAIA,GAAE,KAAK,QAAiBA,MAAX,WAAa,OAAK,MAAK,KAAK,UAAQE;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK;AAAA,EAAK;AAAA,EAAC,cAAa;AAAC,WAAO,KAAK;AAAA,EAAU;AAAA,EAAC,WAAU;AAAC,WAAO,KAAK;AAAA,EAAO;AAAA,EAAC,UAAUF,GAAE;AAAC,QAAIE,IAAE,SAAS,cAAc,KAAK,KAAK;AAAE,WAAI,KAAK,YAAT,KAAkBA,EAAE,aAAa,SAAQ,OAAO,KAAK,OAAO,CAAC,GAAEA,EAAE,oBAAkB,KAAK,YAAW6I,GAAE7I,GAAEF,EAAE,OAAM,IAAI,GAC7eE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAEE,GAAEH,GAAE;AAAC,WAAGC,EAAE,UAAQ,KAAK,QAAY,MAAG+I,GAAE7I,GAAEH,EAAE,OAAM,IAAI,GAAQ;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,IAAG,OAAK,EAAC,YAAWsF,IAAE,UAAS,EAAC,IAAG,IAAG,OAAK,EAAC,YAAWA,IAAE,UAAS,EAAC,GAAE;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWrF,GAAE;AAAC,QAAIE,IAAEkF,GAAEpF,EAAE,UAASA,EAAE,KAAK;AAAE,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAY,GAAC,UAAS,KAAK,YAAW,GAAG,OAAM,KAAK,YAAW,KAAI,KAAK,OAAQ,GAAC,MAAK,QAAO,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,UAAUF,GAAE;AAAC,aAAQD,IAC9f,GAAEA,IAAEC,EAAE,QAAOD,KAAI;AAAC,UAAIG,IAAEF,EAAED;AAAG,UAAGF,EAAEK,CAAC;AAAE,cAAM,OAAOA,CAAC;AAAA,WAAM;AAAC,YAAIC,IAAE6E,GAAG;AAAClF,QAAAA,EAAEI,CAAC,MAAeA,IAAEG,EAAE,gBAAgBH,EAAE,eAAc,CAAE,IAAEC,EAAE,OAAOD,CAAC,GAAG,MAAM,OAAOC,CAAC;AAAA,MAAC;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,iBAAiBH,GAAE;AAAC,WAAOH,EAAEG,CAAC;AAAA,EAAC;AAAC;AACxM,SAAS+I,GAAE/I,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAE,CAAA,GAAGC,IAAE,CAAE;AAAC,MAAIb,IAAEW,EAAE;AAAK,MAAYX,MAAT,QAAW;AAAC,QAAIE,IAAEF,EAAE,GAAGQ,EAAE,iBAAe,CAAA;AAAG,IAAAG,IAAEN,GAAEG,CAAC,IAAE;AAAE,QAAIyE,IAAEtE,IAAET,EAAE;AAAO,QAAIQ,IAAER,EAAE+E;AAAG,QAAIM,IAAEvF,EAAEQ,EAAE,QAAOmF;AAAkE,QAAhE3F,IAAEA,EAAE,QAAgBA,MAAT,UAAYA,EAAE,SAAO2F,IAAE3F,EAAE,OAAeuF,MAAT,UAAY3E,EAAE,KAAK2E,CAAC,GAAc7E,MAAT;AAAW,WAAIA,IAAEA,EAAE,MAAM,GAAG,GAAEE,EAAE,KAAK,GAAGF,CAAC,GAAEA,IAAE,GAAEA,IAAER,EAAE,QAAOQ;AAAI,QAAAA,MAAIuE,KAAGpE,EAAE,KAAKL,EAAE,QAAME,CAAC;AAAE,IAASiF,MAAT,WAAanF,IAAEmF,EAAE,MAAM,GAAG,GAAE,IAAEhF,IAAEC,EAAE,KAAK,GAAGJ,CAAC,IAAEK,EAAE,KAAK,GAAGL,CAAC;AAAA,EAAE;AAAC,MAAEK,EAAE,UAAQV,GAAE,4BAA4BM,GAAE,GAAGI,CAAC,GAAE,IAAED,EAAE,UAAQT,GAAE,uBAAuBM,GAAE,GAAGG,CAAC;AAAC;AACtc,SAAS6I,GAAEhJ,GAAE;AAAC,MAAIE,IAAE,CAAA;AAAG,WAAQH,IAAE,GAAEA,IAAEC,EAAE,QAAOD,KAAI;AAAC,QAAII,IAAEH,EAAED;AAAGF,IAAAA,EAAEM,CAAC,KAAGD,EAAE,KAAKC,CAAC,GAAEA,EAAE,YAAa,EAAC,QAAQ,CAAAC,MAAG;AAACN,MAAAA,EAAEM,CAAC,KAAGF,EAAE,KAAKwE,GAAEtE,CAAC,CAAC;AAAA,IAAC,CAAC,KAAGF,EAAE,KAAKwE,GAAEvE,CAAC,CAAC;AAAA,EAAC;AAAC,SAAOD;AAAC;AAAC,SAASmF,GAAErF,GAAE;AAAC,EAAAA,IAAEA,EAAE,SAAS,YAAa;AAAC,MAAIE,IAAE;AAAK,SAAOF,MAAP,OAASE,IAAEkF,GAAE,QAAQ,IAASpF,MAAP,SAAWE,IAAEkF,GAAE,QAAQ,IAAS,EAAC,OAAM4D,IAAE,MAAK9I,EAAC;AAAC;AAAC,IAAI4I,KAAE,EAAC,IAAG,UAAS,IAAG,SAAQ;AAAE,SAAS1D,GAAEpF,GAAEE,IAAE,GAAE;AAAC,SAAO,IAAIiI,GAAEnI,GAAEE,CAAC;AAAC;AAAC,SAASJ,EAAEE,GAAE;AAAC,SAAOA,aAAamI;AAAC;AAAC,IAAIe,KAAE7I,EAAE,cAAa,GAAGsK,KAAEtK,EAAE,cAAa,GAAGyL,KAAEzL,EAAE,cAAa,GAAG0O,KAAE1O,EAAE,cAAa;AAAGyS,GAAA,sBAA4B9N;AAC1e8N,GAAA,kBAAwB1N;AAAuB0N,GAAA,gBAAClT;AACdkT,GAAA,6BAAC,WAAU;AAAC,MAAI9S,IAAEK,EAAE,cAAe;AAA4E,MAAxE,CAACA,EAAE,kBAAkBL,CAAC,KAAG,CAACA,EAAE,YAAa,MAAUA,IAAEA,EAAE,OAAO,QAAO,GAAM,CAACH,EAAEG,CAAC,KAAQA,EAAE,qBAAP;AAAwB,WAAM;AAAG,MAAIE,IAAE6C,GAAE/C,CAAC,GAAED,IAAEC,EAAE;AAAYF,EAAAA,EAAEC,CAAC,KAAGJ,GAAE,EAAE;AAAE,MAAIQ,IAAEJ,EAAE,aAAYK;AAAE,MAAGC,EAAE,oBAAoBF,CAAC;AAAE,IAAAC,IAAEC,EAAE,qBAAsB,GAACH,EAAE,YAAYE,CAAC;AAAA,WAAUP,EAAEM,CAAC;AAAE,IAAAC,IAAE4E,GAAG,GAAC7E,EAAE,YAAYC,CAAC;AAAA;AAAO,WAAM;AAAoC,MAAjCA,EAAE,OAAQ,GAACF,IAAEF,EAAE,mBAAqB,IAAEE,EAAE,QAAO;AAAC,QAAIX,IAAE6F,GAAErF,EAAE,YAAa,CAAA;AAAEM,IAAAA,EAAE,iBAAiBD,CAAC,IAAEA,EAAE,YAAYb,CAAC,KAAGQ,IAAEiF,GAAG,GAACjF,EAAE,OAAOR,CAAC,GACpfa,EAAE,YAAYL,CAAC,IAAGG,EAAE,QAAQ,CAAAD,MAAG;AAAC,MAAAA,EAAE,UAASV,EAAE,OAAOU,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC;AAACwE,SAAAA,GAAEzE,CAAC,GAAQ;AAAE;AAAE8S,GAAA,kBAAwBjT;AAAqBiT,GAAA,cAAChT;+BAAoCgM;AAAEgH,GAAA,8BAAoCnI;mCAAwCzB;AAAsB4J,GAAA,eAACjM;cAAmBsB;AAAE2K,GAAA,sBAA4B/D;AAAoB+D,GAAA,aAAC,WAAU;AAAClM,EAAAA,GAAE,QAAQ;AAAC;AACzUkM,GAAA,aAAC,SAAS9S,GAAEE,GAAE;AAAC,EAAAF,EAAE,OAAO,MAAI;AAAC,QAAID,IAAEM,EAAE,cAAa;AAAG,QAAGA,EAAE,kBAAkBN,CAAC,GAAE;AAAC,UAAII,IAAEJ,EAAE,SAAU;AAAC,MAAAA,IAAEA,EAAE,OAAO,QAAS;AAAC,UAAIK,IAAEL,EAAE;AAAY,UAAG6E,GAAE7E,GAAEI,CAAC;AAAE,QAAAA,IAAEiF,GAAElF,CAAC,GAAEG,EAAE,oBAAoBD,CAAC,KAAGL,EAAE,QAAQI,CAAC,GAAEC,IAAE4E,GAAG,GAAC3E,EAAE,eAAeN,CAAC,MAAIK,EAAE,UAAUL,EAAE,cAAe,CAAA,GAAEK,EAAE,UAAUL,EAAE,UAAS,CAAE,IAAGI,EAAE,OAAOC,CAAC,KAAGP,EAAEE,CAAC,MAAIA,IAAEA,EAAE,iBAAgB,GAAG8E,GAAE1E,GAAEJ,EAAE,YAAW,CAAE,GAAEA,EAAE,QAAQI,CAAC;AAAA;AAAQ,aAAIJ,IAAE,oBAAI,OAAIK,IAAE,GAAEA,IAAED,EAAE,QAAOC,KAAI;AAAC,cAAIb,IAAEY,EAAEC;AAAG,cAAGC,EAAE,eAAed,CAAC,KAAGA,EAAE,QAAO,KAAI,CAACQ,EAAE,IAAIR,EAAE,QAAQ;AAAEwF,YAAAA,GAAExF,GAAEW,CAAC;AAAA,mBAAUG,EAAE,YAAYd,CAAC;AAAE,iBAAIA,IACzgBA,EAAE,UAAW,GAAOA,KAAN,QAAS;AAAC,kBAAIE,IAAEF,EAAE,OAAQ;AAAC,kBAAGO,EAAEP,CAAC,GAAE;AAAC,oBAAG,CAACQ,EAAE,IAAIN,CAAC,GAAE;AAAC,sBAAIQ,IAAEmF,GAAElF,CAAC;AAAE2E,kBAAAA,GAAE5E,GAAEV,EAAE,YAAa,CAAA,GAAEA,EAAE,QAAQU,CAAC,GAAEsF,GAAEtF,CAAC,GAAEF,EAAE,IAAIN,CAAC;AAAA,gBAAC;AAAC;AAAA,cAAK,OAAK;AAAiB,oBAAhBQ,IAAEV,EAAE,UAAS,GAAMc,EAAE,oBAAoBJ,CAAC,KAAG,CAACF,EAAE,IAAIN,CAAC,GAAE;AAAC,kBAAAM,EAAE,IAAIN,CAAC,GAAEsF,GAAExF,GAAEW,CAAC;AAAE;AAAA,gBAAK;AAAC,gBAAAX,IAAEU;AAAA,cAAC;AAAA,YAAC;AAAA,QAAC;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AAAqB6S,GAAA,cAAC,WAAU;AAAClM,EAAAA,GAAE,SAAS;AAAC;AACxPkM,GAAA,aAAC,SAAS9S,GAAE;AAAC,EAAAA,EAAE,OAAO,MAAI;AAAC,QAAIE,IAAEG,EAAE,cAAe;AAAC,QAAGA,EAAE,kBAAkBH,CAAC,GAAE;AAAC,UAAIH,IAAE,oBAAI,OAAII,IAAED,EAAE,YAAWE,IAAEF,EAAE,OAAO,QAAS;AAAC,UAAG0E,GAAExE,GAAED,CAAC;AAAE,QAAAJ,EAAE,IAAIgD,GAAE3C,CAAC,CAAC;AAAA;AAAO,aAAIA,IAAE,GAAEA,IAAED,EAAE,QAAOC,KAAI;AAAC,cAAIb,IAAEY,EAAEC;AAAGC,UAAAA,EAAE,YAAYd,CAAC,MAAIA,IAAEG,GAAE,sBAAsBH,GAAEsH,EAAC,GAAQtH,KAAN,QAASQ,EAAE,IAAIgD,GAAExD,CAAC,CAAC;AAAA,QAAE;AAAC,eAAQU,KAAKF,GAAE;AAAC,QAAAA,IAAEE,GAAEE,IAAE+C,GAAEjD,CAAC;AAAE,iBAAQR,KAAKU;AAAE,UAAAA,IAAEE,EAAE,qBAAoB,GAAGwE,GAAE1E,GAAEV,EAAE,YAAW,CAAE,GAAEM,EAAE,YAAYI,CAAC,GAAEJ,IAAEI,GAAEV,EAAE,UAAQS,EAAE,OAAO,OAAKA,EAAE,OAAO,IAAIC,EAAE,OAAM,GAAG,GAAE,SAAS,GAAEV,EAAE,UAAQS,EAAE,MAAM,OAAKA,EAAE,MAAM,IAAIC,EAAE,OAAM,GAAG,GAAE,SAAS,GAC7fV,EAAE,OAAM;AAAG,QAAAQ,EAAE,OAAQ;AAAA,MAAA;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;AC5BzB,MAAM8S,KAAyFvT;AAC/F,IAAAwT,KAAiBD,uCCFArT,IAAEF;AAAmB,IAAIuD,KAAE,oBAAI;AAAI,SAASuB,GAAEtE,GAAE;AAAC,EAAAA,IAAEA,EAAE,UAAS;AAAG,MAAIE,IAAEF,EAAE,YAAY,MAAMA,CAAC;AAAE,SAAAE,EAAE,WAASF,EAAE,UAASN,EAAE,eAAeM,CAAC,KAAGN,EAAE,eAAeQ,CAAC,KAAGA,EAAE,aAAW,MAAM,KAAKF,EAAE,UAAU,GAAEE,EAAE,WAASF,EAAE,UAASE,EAAE,WAASF,EAAE,UAASE,EAAE,QAAMF,EAAE,SAAON,EAAE,YAAYM,CAAC,KAAGN,EAAE,YAAYQ,CAAC,MAAIA,EAAE,WAASF,EAAE,UAASE,EAAE,UAAQF,EAAE,SAAQE,EAAE,SAAOF,EAAE,QAAOE,EAAE,WAASF,EAAE,WAAiBE;AAAC;AAClZ,SAASuE,GAAEzE,GAAEE,GAAEH,GAAEE,GAAEE,GAAEZ,GAAE;AAAC,WAAQc,IAAEH,GAASF,MAAP,QAAU;AAAC,SAAIE,IAAEF,EAAE,UAAS,GAAUE,MAAP,QAAUA,EAAE,gBAAgB,OAAO;AAAG,MAAAA,IAAEA,EAAE,UAAW;AAAC,QAAUA,MAAP;AAAS;AAAM,QAAG,CAACR,EAAE,eAAeM,CAAC,KAAG,CAACA,EAAE,gBAAgB,OAAO,GAAE;AAAC,UAAII,IAAEJ,EAAE,OAAQ,GAACP,IAAEF,EAAE,IAAIa,CAAC,GAAET,IAAWF,MAAT;AAAuM,UAA5LE,MAAIF,IAAE6E,GAAEtE,CAAC,GAAET,EAAE,IAAIa,GAAEX,CAAC,IAAG,CAACC,EAAE,YAAYD,CAAC,KAAGA,EAAE,YAAW,KAAIA,EAAE,QAAO,IAAGC,EAAE,eAAeD,CAAC,MAAIA,EAAE,aAAWA,EAAE,WAAW,MAAMQ,IAAEI,IAAE,GAAEJ,IAAE,UAAQI,KAAG,KAAG,CAAC,KAAGZ,EAAE,SAAOA,EAAE,OAAO,MAAMQ,IAAEI,IAAE,GAAEJ,IAAEF,IAAEM,CAAC,GAAKX,EAAE,YAAYQ,CAAC,GAAE;AAAC,QAAAP,KAAGQ,EAAE,KAAKC,CAAC;AAAE;AAAA,MAAK;AAAA,IAAC;AAAC,IAAAC,IAAEd,EAAE,IAAIW,EAAE,OAAQ,CAAA,GAAEG,IAAEX,EAAE,eAAeW,CAAC,IACvfA,EAAE,WAAW,QAAQL,EAAE,OAAQ,CAAA,IAAEA,EAAE,qBAAsB,GAACA,IAAEE;AAAA,EAAC;AAAC;AAC9D,SAASsE,GAAExE,GAAE;AAAC,MAAGN,EAAE,kBAAkBM,CAAC,GAAE;AAAC,QAAIE,IAAEF,EAAE,QAAOD,IAAEC,EAAE;AAAM,QAAI,CAACP,GAAEE,CAAC,IAAEK,EAAE,oBAAqB;AAAgB,QAAfA,IAAEA,EAAE,SAAQ,GAAUA,EAAE,WAAN;AAAa,aAAM,EAAC,SAAQ,CAAA,GAAG,OAAM,CAAA,EAAE;AAAE,QAAIH,IAAEG,EAAE;AAAO,QAAIC,IAAED,EAAE,IAAGG,IAAEF,EAAE,UAAW;AAAC,QAAUE,MAAP,SAAW,CAACA,EAAE,WAAU,KAAIT,EAAE,YAAYS,CAAC,IAAG;AAAC,UAAIZ,IAAEY,EAAE;AAAW,UAAGZ,EAAE,WAASM,GAAE;AAAU,iBAALQ,IAAE,IAAWD,IAAE,GAAEA,IAAEb,EAAE,QAAOa;AAAI,cAAGb,EAAEa,OAAKJ,EAAEI,GAAG,OAAM;AAAC,YAAAC,IAAE;AAAG;AAAA,UAAK;AAAC,QAAAA,MAAIR,KAAIG,EAAE,KAAKG,CAAC;AAAA,MAAE;AAAA,IAAC;AAAoG,SAAnGA,IAAEH,EAAEH,IAAE,IAAGK,IAAEA,EAAE,SAASH,CAAC,GAAEA,IAAE,oBAAI,OAAIR,IAAE,CAAA,GAAGc,IAAEX,EAAE,YAAYO,CAAC,KAAOJ,MAAJ,GAAM4E,GAAExE,GAAEC,IAAET,IAAEE,GAAEU,IAAEH,IAAEP,IAAEF,IAAE,QAAO,IAAGF,GAAEQ,CAAC,GAAME,IAAE,GAAEA,IAAEJ,GAAEI,KAAI;AAAC,MAAAG,IAAEJ,EAAEC;AAAG,UAAIL,IACvfQ,EAAE,OAAM;AAAG,UAAG,EAAEL,EAAE,IAAIH,CAAC,KAAGF,EAAE,eAAeU,CAAC,KAAGA,EAAE,gBAAgB,OAAO,IAAG;AAAC,YAAIsE,IAAEJ,GAAElE,CAAC;AAAEV,QAAAA,EAAE,YAAYU,EAAE,UAAS,CAAE,KAAGb,EAAE,KAAKa,EAAE,OAAQ,CAAA,GAAWR,MAAT,UAAYG,EAAE,IAAIH,GAAE8E,CAAC;AAAA,MAAC;AAAA,IAAC;AAACD,WAAAA,GAAEtE,GAAEE,IAAE,SAAOH,IAAEP,IAAEF,GAAE,QAAO,IAAGF,GAAEQ,CAAC,GAAQ,EAAC,SAAQ,MAAM,KAAKA,EAAE,QAAS,CAAA,GAAE,OAAMR,EAAC;AAAA,EAAC;AAAC,MAAGG,EAAE,4BAA4BM,CAAC;AAAE,WAAM,EAAC,SAAQA,EAAE,SAAU,EAAC,IAAI,CAAAP,MAAG;AAAC,YAAME,IAAEF,EAAE,OAAQ;AAAC,aAAAA,IAAE6E,GAAE7E,CAAC,GAAQ,CAACE,GAAEF,CAAC;AAAA,IAAC,CAAC,GAAE,OAAM,CAACO,EAAE,OAAO,EAAC;AAAE,QAAM,MAAM,sLAAsL;AACvjB;AAAC,SAAS8E,GAAE9E,GAAE;AAAC,MAAIE,IAAE6C,GAAE,IAAI/C,CAAC;AAAE,SAASE,MAAT,WAAaA,IAAE8E,GAAEhF,CAAC,GAAE+C,GAAE,IAAI/C,GAAEE,CAAC,IAAUA;AAAC;AAAC,SAAS8E,GAAEhF,GAAE;AAAC,MAAIE,IAAE,CAAE;AAAC,EAAAF,IAAEA,EAAE,MAAM,GAAG;AAAE,WAAQD,KAAKC;AAAE,QAAQD,MAAL,IAAO;AAAC,UAAI,CAACE,GAAEE,CAAC,IAAEJ,EAAE,MAAM,SAAS;AAAE,MAAAG,EAAED,EAAE,KAAI,KAAIE,EAAE,KAAI;AAAA,IAAE;AAAC,SAAOD;AAAC;AAAC,SAAS0E,GAAE5E,GAAEE,GAAE;AAAC,MAAIH,IAAE+E,GAAE9E,EAAE,SAAU,CAAA;AAAE,EAAAE,IAAEH,IAAE,EAAC,GAAGA,GAAE,GAAGG,EAAC,IAAEA,GAAEH,IAAE;AAAG,OAAIE,KAAKC;AAAE,IAAAD,MAAIF,KAAG,GAAGE,MAAMC,EAAED;AAAO,MAAIA,IAAEF;AAAE,EAAAC,EAAE,SAASC,CAAC,GAAE8C,GAAE,IAAI9C,GAAEC,CAAC;AAAC;AAAC,SAASgF,GAAElF,GAAEE,GAAEH,GAAEE,GAAE;AAAC,EAAAD,EAAE,OAAOE,IAAE,WAAS,QAAOH,GAAEE,CAAC;AAAC;AAAC,SAAS4E,GAAE7E,GAAE;AAAC,SAAAA,IAAEA,EAAE,OAAO,QAAS,IAAgBN,EAAE,YAAYM,CAAC,IAAEA,IAAEA,EAAE,iBAAkB,GAAE,aAAY,MAA9D;AAAgE;AACje,SAASoF,GAAEpF,GAAE;AAAC,SAAYA,MAAP,QAAU,CAACN,EAAE,oBAAoBM,CAAC,KAAG;AAAC,QAAIE,IAAEF,EAAE,UAAW,GAACD,IAAEC,EAAE,UAAW;AAAC,IAAIE,EAAE,WAAW,WAAjB,KAAyBF,EAAE,OAAO,EAAE,GAAEA,IAAED;AAAA,EAAC;AAAC;AACvI,SAASwF,GAAEvF,GAAEE,GAAEH,GAAEE,GAAEE,IAAE,MAAK;AAAC,MAAOD,EAAE,WAAN,GAAa;AAAC,QAAIX,IAAEW,EAAE,IAAGG,IAAE,oBAAI,OAAID,IAAE,CAAE;AAAC,IAAAb,IAAEG,EAAE,eAAeH,CAAC,IAAEA,IAAEA,EAAE,iBAAgB,GAAGA,EAAE,SAAQ,MAAKA,IAAEA,EAAE,iBAAgB;AAAI,aAAQE,IAAE,IAAUF,MAAP,QAAU;AAAC,UAAII,IAAEJ,EAAE,mBAAoB;AAAC,UAAUI,MAAP,MAAS;AAAC,QAAAJ,IAAEI,GAAEF,IAAE;AAAG;AAAA,MAAK;AAAwB,UAAvBF,IAAEA,EAAE,iBAAkB,GAAIG,EAAE,oBAAoBH,CAAC;AAAE;AAAA,IAAK;AAAC,IAAAI,IAAE,oBAAI;AAAI,aAAQE,IAAE,GAAEA,IAAEE,GAAEF,KAAI;AAAC,UAAID,IAAEM,EAAEL;AAAGH,MAAAA,EAAE,eAAeE,CAAC,KAAOA,EAAE,gBAAiB,MAAvB,KAAyBD,EAAE,IAAIC,EAAE,OAAQ,CAAA;AAAA,IAAC;AAAC,QAAI8E,IAAE,oBAAI;AAAI,SAAI7E,IAAE,GAAEA,IAAEE,GAAEF,KAAI;AAAC,MAAAD,IAAEM,EAAEL;AAAG,UAAIC,IAAEF,EAAE;AAAsD,UAAnCE,MAAP,QAAUA,EAAE,SAAQ,MAAKA,IAAEA,EAAE,UAAW,IAChfA,MADqf,QAClfJ,EAAE,YAAYE,CAAC,KAAG,CAAC8E,EAAE,IAAI9E,EAAE,OAAM,CAAE;AAAG,YAAGA,IAAEE,EAAE,OAAM,GAAYO,EAAE,IAAIT,CAAC,MAAhB,QAAkB;AAAC,cAAIsD,IAAEjD,EAAC;AAAG,UAAAiD,EAAE,UAAUpD,EAAE,cAAe,CAAA,GAAEoD,EAAE,UAAUpD,EAAE,UAAS,CAAE,GAAEM,EAAE,KAAK8C,CAAC,GAAE7C,EAAE,IAAIT,GAAEsD,CAAC,GAAEpD,EAAE,YAAW,EAAG,QAAQ,CAAAiF,MAAG;AAAC,YAAA7B,EAAE,OAAO6B,CAAC,GAAEL,EAAE,IAAIK,EAAE,OAAQ,CAAA;AAAA,UAAC,CAAC,GAAEK,GAAEtF,CAAC;AAAA,QAAC;AAAA;AAAO,QAAAH,EAAE,IAAIC,EAAE,OAAQ,CAAA,MAAIE,IAAEG,EAAG,GAACH,EAAE,UAAUF,EAAE,cAAa,CAAE,GAAEE,EAAE,UAAUF,EAAE,UAAS,CAAE,GAAEQ,EAAE,KAAKN,CAAC,GAAEF,EAAE,OAAO,EAAE;AAAA,IAAE;AAAC,QAAUO,MAAP;AAAS,WAAID,IAAE,GAAEA,IAAEE,EAAE,QAAOF;AAAI,QAAAC,EAAE,OAAOC,EAAEF,EAAE;AAAE,QAAGR,EAAE,oBAAoBH,CAAC;AAAE,UAAGE;AAAE,YAAUU,MAAP;AAAS,UAAAZ,EAAE,YAAYY,CAAC;AAAA;AAAO,eAAIA,IAAEC,EAAE,SAAO,GAAE,KAAGD,GAAEA;AAAI,YAAAZ,EAAE,YAAYa,EAAED,EAAE;AAAA,eACjfD,IAAEX,EAAE,iBAAgBG,EAAE,eAAeQ,CAAC,MAAIX,IAAEW,IAAUA,MAAP;AAAS,YAAGC;AAAE,UAAAZ,EAAE,OAAOY,CAAC;AAAA;AAAO,eAAIA,IAAE,GAAEA,IAAEC,EAAE,QAAOD;AAAI,YAAAZ,EAAE,OAAOa,EAAED,EAAE;AAAA,eAAiBA,MAAP;AAAS,QAAAD,EAAE,aAAaC,CAAC;AAAA;AAAO,aAAIZ,IAAE,GAAEA,IAAEa,EAAE,QAAOb;AAAI,UAAAW,EAAE,aAAaE,EAAEb,EAAE;AAAA,aAAUY;AAAE,MAAAZ,EAAE,YAAYY,CAAC;AAAA;AAAO,WAAIA,IAAEC,EAAE,SAAO,GAAE,KAAGD,GAAEA;AAAI,QAAAZ,EAAE,YAAYa,EAAED,EAAE;AAAE,IAAAC,IAAEV,EAAE,yBAAwBA,EAAE,kBAAkBU,CAAC,KAAGA,EAAE,OAAO,QAAO,EAAG,WAAU,KAAIA,EAAE,MAAM,UAAU,eAAaV,EAAE,cAAcU,EAAE,OAAO,IAAEJ,EAAE,QAAM;AAAA,EAAE;AAAC;AACxb,SAAS0G,GAAE1G,GAAE;AAAC,SAAWA,KAAN,QAAS;AAAC,QAAGA,EAAE,aAAW,KAAK;AAAU,aAAOA;AAAE,IAAAA,IAAEA,EAAE;AAAA,EAAU;AAAC,SAAO;AAAI;AAAC,SAAS2G,GAAE3G,GAAE;AAAC,MAAIE,IAAEF,EAAE;AAAW,MAASE,KAAN;AAAQ,UAAM,MAAM,qBAAqB;AAAE,SAAM,CAACA,GAAE,MAAM,KAAKA,EAAE,UAAU,EAAE,QAAQF,CAAC,CAAC;AAAC;AAACiT,EAAA,gBAAsB,SAASjT,GAAE;AAAC,EAAAA,IAAEA,EAAE,SAAU;AAAC,MAAIE,IAAE8E,GAAEhF,CAAC;AAAE+C,EAAAA,GAAE,IAAI/C,GAAEE,CAAC;AAAC;AAAwB+S,EAAA,iBAAC,SAASjT,GAAE;AAAC,SAAOwE,GAAExE,CAAC;AAAC;AAAEiT,EAAA,uBAA6B3O;AACxU2O,EAAA,qCAAC,SAASjT,GAAEE,GAAEH,IAAE,IAAG;AAAC,MAAIE,IAAE,MAAKE,IAAEH,EAAE,SAAU;AAAC,MAAIT,IAAES,EAAE,QAAOK,IAAEL,EAAE,OAAMI,IAAEJ,EAAE,WAAU;AAAqD,OAAlDA,IAAEI,IAAEC,EAAE,SAAOd,EAAE,QAAOA,IAAEa,IAAEC,EAAE,QAAS,IAACd,EAAE,QAAO,GAAOc,IAAE,GAAEA,IAAEF,EAAE,QAAOE,KAAI;AAAC,QAAIZ,IAAEU,EAAEE;AAAG,SAAQA,MAAJ,KAAWL,MAAJ,KAAO,CAACP,EAAE,GAAGF,CAAC,MAAIG,EAAE,YAAYD,CAAC,GAAE;AAAC,MAAAW,IAAEF;AAAE,UAAIP,IAAEI;AAA6C,UAA3CN,IAAEA,EAAE,SAAQ,GAAGA,IAAEqF,GAAErF,CAAC,GAAEW,IAASX,MAAP,QAASA,EAAEW,MAAIT,GAAcM,MAAP;AAAS,QAAAA,IAAEG;AAAA,eAAUH,MAAIG,GAAE;AAAC,QAAAH,IAAE;AAAG;AAAA,MAAK;AAAA,IAAC;AAAA,EAAC;AAAC,SAAcA,MAAP,OAASF,IAAEE;AAAC;AAAsBgT,EAAA,eAAC,SAASjT,GAAE;AAAC,SAAeA,EAAE,SAAX,SAAgBA,EAAE,WAASA,EAAE,QAAO,EAAG,uBAAqBA,EAAE,WAASA,EAAE,QAAS,EAAC,gBAAe;AAAE;AACzgBiT,EAAA,sBAA4BpO;wBAA8BK;AAAwB+N,EAAA,iBAAC,SAASjT,GAAEE,GAAEH,GAAE;AAAC,MAAIE,IAAE4E,GAAE7E,CAAC;AAAEkF,EAAAA,GAAElF,GAAEE,GAAEH,IAAE,CAACE,IAAEA,GAAE,WAAW;AAAC;AACvIgT,EAAA,kBAAwB,SAASjT,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE,SAAQ;AAAG,MAAIC,IAAEF,EAAE,SAAO,GAAEI,IAAEJ,EAAE,IAAGR,IAAEQ,EAAEE;AAAG,MAAG,CAACD,EAAE,eAAc;AAAC,QAAIK,IAAEL,EAAE,QAAOI,IAAEJ,EAAE;AAAM,IAAAA,IAAEG,EAAE,eAAc,EAAG;AAAO,QAAIV,IAAEW,EAAE,QAAOT,IAAEU,EAAE;AAAuC,QAAhCA,KAAGD,IAAEC,EAAE,SAASD,CAAC,KAAGT,IAAEF,GAAEW,IAAEA,IAAEX,IAAEE,GAAKU,MAAIF,EAAE,sBAAqB;AAAC,UAAIN,IAAEM,EAAE,eAAgB;AAACT,MAAAA,EAAE,YAAYG,CAAC,MAAIQ,IAAEV,IAAE,GAAEQ,IAAEN;AAAA,IAAE;AAAC,QAAGM,EAAE,GAAGZ,CAAC;AAAEG,MAAAA,EAAE,YAAYS,CAAC,MAAIE,IAAEV,IAAEF,IAAEA,IAAEE,GAAES,IAAET,IAAEF,IAAEE,IAAEF,GAAEY,MAAID,MAAQC,MAAJ,KAAOD,MAAIJ,KAAG4E,GAAEzE,GAAED,CAAC,GAAEC,EAAE,OAAOE,GAAED,CAAC,MAAIL,IAAEI,EAAE,UAAUE,GAAED,CAAC,GAAEL,IAAMM,MAAJ,IAAMN,EAAE,KAAGA,EAAE,IAAG6E,GAAE7E,GAAEG,CAAC,GAAEH,EAAE,OAAO,GAAEK,IAAEC,CAAC;AAAA;AAAU,WAAIX,EAAE,YAAYS,CAAC,MAAQE,MAAJ,MAAQF,IACpfA,EAAE,UAAUE,CAAC,EAAE,KAAIuE,GAAEzE,GAAED,CAAC,IAAGR,EAAE,YAAYH,CAAC,MAAIS,IAAET,EAAE,eAAgB,EAAC,QAAOa,MAAIJ,MAAI,CAACT,CAAC,IAAEA,EAAE,UAAUa,CAAC,IAAOA,MAAJ,KAAOwE,GAAErF,GAAEW,CAAC,IAAGF,IAAE,GAAEA,IAAEC,GAAED;AAAI,QAAAP,IAAEM,EAAEC,IAAGL,IAAEF,EAAE,OAAQ,GAACC,EAAE,YAAYD,CAAC,KAAGE,MAAIQ,EAAE,OAAQ,KAAER,MAAIJ,EAAE,OAAM,KAAI,CAACE,EAAE,QAAO,KAAImF,GAAEnF,GAAES,CAAC;AAAA,EAAC;AAAC;AAC5N+S,EAAA,aAAmB,SAASjT,GAAE;AAAC,MAAIE,IAAEF,EAAE;AAAO,EAAAA,IAAEA,EAAE;AAAM,MAAID,IAAEG,EAAE,QAAS,EAAC,0BAAyB,EAAG,iBAAgB;AAAG,MAAID,IAAEF,EAAE,mBAAkB;AAAG,EAAAA,IAAEA,EAAE,kBAAmB;AAAC,MAAII,IAAE,WAAUZ,IAAE,WAAUc,IAAE;AAAEX,EAAAA,EAAE,YAAYO,CAAC,IAAEE,IAAE,SAAOT,EAAE,eAAeO,CAAC,KAAUA,MAAP,SAAWA,IAAEA,EAAE,iBAAgB,IAAIP,EAAE,YAAYK,CAAC,KAAGR,IAAE,QAAOc,IAAEN,EAAE,mBAAoB,KAAEL,EAAE,eAAeK,CAAC,KAAUA,MAAP,SAAWA,IAAEA,EAAE,iBAAkB,IAAEE,KAAGF,MAAIG,EAAE,IAAID,EAAE,OAAQ,GAAC,GAAEE,CAAC,GAAEH,EAAE,IAAID,EAAE,UAASM,GAAEd,CAAC;AAAE;AAChc0T,EAAA,2CAAiD,SAASjT,GAAEE,GAAE;AAAC,SAAAF,IAAEN,EAAE,kBAAkBM,EAAE,OAAME,CAAC,GAASR,EAAE,iBAAiBM,CAAC,KAAG,CAACA,EAAE;AAAY;AACxGiT,EAAA,gCAAC,SAASjT,GAAEE,GAAE;AAAC,MAAGA,EAAE,WAAY,KAAE,CAACA,EAAE,iBAAe,CAACA,EAAE,QAAO,MAAKR,EAAE,kBAAkBM,CAAC,KAAGN,EAAE,4BAA4BM,CAAC,IAAG;AAAC,QAAID,IAAEC,EAAE,OAAO,QAAS,GAACC,IAAED,EAAE,MAAM,QAAS,GAACG,IAAED,EAAE,GAAGH,CAAC,GAAER,IAAEW,EAAE,GAAGD,CAAC;AAAE,QAAGE,KAAGZ,GAAE;AAAC,MAAAY,IAAEH,EAAE,WAAY;AAAC,UAAI,CAACK,GAAED,CAAC,IAAEJ,EAAE,oBAAmB;AAAG,MAAAA,IAAED,EAAE,GAAGE,CAAC,GAAEV,IAAEW,EAAE,GAAGC,IAAEF,IAAEF,CAAC,GAAEE,IAAEC,EAAE,GAAGC,IAAEJ,IAAEE,CAAC,GAAEF,IAAE;AAAE,UAAIN;AAAS,MAAAO,KAAGD,IAAEM,IAAED,IAAEA,IAAEC,GAAEZ,IAAEY,IAAED,IAAEC,IAAED,KAAGb,KAAGQ,IAAEI,IAAEC,IAAEC,GAAEZ,IAAE,UAAQQ,MAAIE,IAAEA,IAAEE,IAAED,GAAEL,IAAE,GAAEN,IAAEU,IAAGD,EAAE,SAAOA,EAAE,OAAO,MAAMH,GAAEN,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAOS;AAAC;AAC7a+S,EAAA,aAAC,SAASjT,GAAEE,GAAEH,IAAE,MAAK;AAAC,MAAIE,IAAED,EAAE;AAAW,MAAIG,IAAEF,EAAE;AAAO,MAAIV,IAAES,EAAE;AAAO,MAAOG,MAAJ,KAAWA,MAAJ,KAAmBZ,EAAE,SAAd,aAAwBA,EAAE,QAAS,EAAC,gBAAe,MAA/B,GAAkC;AAAC,IAAAS,IAAWT,EAAE,SAAX,SAAgBA,EAAE,QAAO,EAAG,qBAAmBA,EAAE,QAAS,GAACU,IAAED,EAAE,YAAa;AAAC,QAAII,IAAEF,EAAC;AAAG,IAAAE,EAAE,UAAUJ,EAAE,cAAa,CAAE,GAAEI,EAAE,UAAUJ,EAAE,UAAW,CAAA,GAAEC,EAAE,QAAQ,CAAAR,MAAGW,EAAE,OAAOX,CAAC,CAAC,GAAEM,MAAIK,IAAEL,EAAE,OAAOK,CAAC,IAAGJ,EAAE,QAAQI,CAAC;AAAA,EAAC,OAAK;AAAC,IAAAb,IAAE;AAAK,QAAIc,IAAE,CAAA;AAAG,aAAQD,IAAE,GAAEA,IAAED,GAAEC,KAAI;AAAC,UAAIX,IAAEQ,EAAEG;AAAGV,MAAAA,EAAE,oBAAoBD,CAAC,KAAG8F,GAAEvF,GAAEK,GAAEA,EAAE,QAAOH,GAAEH,CAAC,GAAEM,IAAE,CAAA,GAAGd,IAAEE,KAAUF,MAAP,QAAiBA,MAAP,QAAUG,EAAE;AAAA,QAAaD;AAAA,QAC9fF;AAAA,MAAC,IAAEc,EAAE,KAAKZ,CAAC,KAAG8F,GAAEvF,GAAEK,GAAEA,EAAE,QAAOH,GAAEH,CAAC,GAAEM,IAAE,CAACZ,CAAC;AAAA,IAAE;AAAC8F,IAAAA,GAAEvF,GAAEK,GAAEA,EAAE,QAAOH,GAAEH,CAAC;AAAA,EAAC;AAAC;AAAEkT,EAAA,iBAAuB1N;AAChE0N,EAAA,iBAAC,SAASjT,GAAEE,GAAEH,GAAEE,GAAEE,GAAE;AAAC,MAAIZ,IAAEW,EAAE,OAAQ,GAACG,IAAEJ,EAAE,OAAQ,GAACG,IAAE,SAAS,YAAa,GAACX,IAAEO,EAAE,gBAAgBT,CAAC;AAA+E,MAA7ES,IAAEA,EAAE,gBAAgBK,CAAC,GAAEX,EAAE,YAAYQ,CAAC,MAAIT,IAAEiH,GAAEjH,CAAC,IAAGC,EAAE,YAAYO,CAAC,MAAID,IAAE0G,GAAE1G,CAAC,IAAeE,MAAT,UAAqBD,MAAT,UAAmBR,MAAP,QAAiBO,MAAP;AAAS,WAAO;AAAK,EAAOP,EAAE,aAAT,SAAoB,CAACA,GAAEM,CAAC,IAAE4G,GAAElH,CAAC,IAAUO,EAAE,aAAT,SAAoB,CAACA,GAAEG,CAAC,IAAEwG,GAAE3G,CAAC,IAAGE,IAAET,EAAE,YAAWA,MAAIO,KAASE,KAAN,QAAgBA,EAAE,aAAT,QAAuBH,MAAJ,KAAWI,MAAJ,MAAQA,IAAE;AAAG,MAAG;AAAC,IAAAC,EAAE,SAASX,GAAEM,CAAC,GAAEK,EAAE,OAAOJ,GAAEG,CAAC;AAAA,EAAC,QAAC;AAAS,WAAO;AAAA,EAAI;AAAC,UAACC,EAAE,aAAWL,MAAII,KAAGZ,MAAIc,MAAID,EAAE,SAASJ,GAAEG,CAAC,GAAEC,EAAE;AAAA,IAAOX;AAAA,IACnfM;AAAA,EAAC,IAAUK;AAAC;AAAiC6S,EAAA,0BAAC,SAASjT,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAiB,MAAUD,MAAP;AAAS,WAAM,CAAA;AAAG,EAAAC,IAAED,EAAE,yBAAwBA,IAAE,iBAAiBA,CAAC,GAAEA,IAAE,WAAWA,EAAE,WAAW,IAAE,WAAWA,EAAE,YAAY,GAAEG,IAAE,MAAM,KAAKA,EAAE,eAAgB,CAAA;AAAE,MAAID,IAAEC,EAAE,QAAOC;AAAE,WAAQZ,IAAE,GAAEA,IAAEU,GAAEV,KAAI;AAAC,QAAIc,IAAEH,EAAEX,IAAGa,IAAEC,EAAE,QAAMN,MAAIC,EAAE;AAAM,IAAAG,KAAGA,EAAE,QAAME,EAAE,OAAKF,EAAE,SAAOE,EAAE,QAAMF,EAAE,UAAQE,EAAE,SAAOF,EAAE,WAASE,EAAE,UAAQD,KAAGF,EAAE,OAAOX,KAAI,CAAC,GAAEU,OAAKE,IAAEE;AAAA,EAAC;AAAC,SAAOH;AAAC;AAA+B+S,EAAA,wBAACnO;AAC1cmO,EAAA,4BAAkC,SAASjT,GAAEE,GAAEH,GAAE;AAAC,MAAIE,IAAEC,EAAE,QAAO;AAAG,MAAGR,EAAE,eAAeO,CAAC,GAAE;AAAC,QAAIE,IAAEF,EAAE,qBAAqBC,EAAE,MAAM;AAAE,IAAOC,MAAP,SAAWF,IAAEE;AAAA,EAAE;AAAC,SAAK,IAAEJ,KAAUE,MAAP,QAAU;AAAC,QAAIV,IAAEU,EAAE,sBAAqBI,IAAE;AAAE,QAAUd,MAAP,MAAS;AAAC,MAAAY,IAAEF,EAAE,iBAAgB;AAAG,eAAQG,IAAED,EAAE,mBAAkB,GAAUC,MAAP,QAAU;AAAiB,YAAhBD,IAAEA,EAAE,aAAsBA,MAAP,MAAS;AAAC,UAAAZ,IAAE;AAAK;AAAA,QAAK;AAAC,QAAAa,IAAED,EAAE,mBAAoB;AAAA,MAAA;AAAC,MAAOA,MAAP,SAAWE,IAAEF,EAAE,aAAW,IAAE,GAAEZ,IAAEG,EAAE,eAAeU,CAAC,IAAEA,EAAE,sBAAoBA;AAAA,IAAE;AAAC,QAAIX,IAAEQ,EAAE,eAAc;AAAG,IAAKR,MAAL,MAAQC,EAAE,eAAeO,CAAC,KAAG,CAACA,EAAE,SAAU,MAAGR,IAAE;AAAA;AAAA,IACjfU,IAAEV,EAAE,QAAOW,IAAED,IAAEJ;AAAE,QAAIJ,IAAEF,EAAE,MAAM,GAAEW,CAAC;AAAE,QAAG,CAACV,EAAE,YAAYO,CAAC,KAAGF,KAAGI;AAAE,MAAAC,IAAEH,EAAE,UAAS,GAAGA,EAAE,OAAM,GAASG,KAAN,QAAaA,EAAE,sBAAN,KAAyBA,EAAE,OAAQ,GAACL,KAAGI,IAAEE,GAAEJ,IAAEV;AAAA,SAAM;AAAC,UAAIM,IAAEI,EAAE,OAAM;AAAG,MAAAV,IAAES,EAAE,eAAc,EAAG,KAAK,MAAI;AAAC,cAAMJ,IAAEF,EAAE,cAAcG,CAAC;AAAE,eAAOH,EAAE,YAAYE,CAAC,KAAGA,EAAE,aAAY,IAAGA,EAAE,eAAgB,IAAC;AAAA,MAAI,CAAC,GAASL,MAAP,QAAUA,MAAIE,KAAGM,IAAEL,EAAE,sBAAqB,GAAGS,IAAEF,GAAEA,EAAE,aAAY,IAAGA,EAAE,eAAeV,CAAC,KAAGY,IAAET,EAAE,gBAAgBH,CAAC,GAAEU,EAAE,QAAQE,CAAC,IAAGT,EAAE,kBAAkBK,CAAC,KAAGA,EAAE,YAAW,MAAKA,IAAEA,EAAE,OAAO,QAAOI,EAAE,OAAOJ,GAAEA,CAAC,MAAIE,EAAE,aAAc,KAC7fV,IAAEW,EAAE,QAAML,GAAEQ,IAAEH,EAAE,QAAOG,IAAEN,MAAIM,IAAEF,IAAGJ,IAAER,IAAEc,IAAEN,IAAE,GAAEI,IAAEZ,IAAEc,IAAED,GAAEb,KAAOQ,MAAJ,KAAO,CAACA,CAAC,IAAEE,EAAE,UAAUF,GAAEI,CAAC,GAAEJ,EAAE,OAAQ,MAAG,GAAEA,CAAC,IAAEE,EAAE,UAAUF,GAAEI,CAAC,GAAEJ,EAAE,OAAM,OAAMA,IAAEL,EAAE,gBAAgBC,CAAC,GAAEM,EAAE,QAAQF,CAAC,IAAGA,IAAE;AAAA,IAAC;AAAA,EAAC;AAAC;ACvB/K,MAAMmT,KAAmG1T;AACzG,IAAA2T,KAAiBD,ICFAtT,KAAEJ,IAA8BM,KAAEwS;AACnD,SAASvP,GAAEhD,GAAEI,GAAEE,GAAEH,IAAE,MAAK;AAAC,MAAIE,IAAQF,KAAN,OAAQC,EAAE,WAAY,IAAC,IAAGT,IAAEI,GAAE,eAAeK,CAAC,KAAGA,EAAE,gBAAgB,MAAM;AAAE,MAAIH,IAAEG;AAAE,EAAOD,MAAP,SAAWF,IAAEJ,GAAE,qBAAqBO,CAAC,GAAEH,IAAEF,GAAE,YAAYE,CAAC,KAASE,KAAN,OAAQN,GAAE,8BAA8BM,GAAEF,CAAC,IAAEA;AAAG,MAAIT,IAAEO,GAAE,eAAeE,CAAC,IAAEA,EAAE,YAAa,IAAC,CAAE,GAAC,EAAC,SAAQP,GAAE,OAAMQ,EAAC,IAAED,EAAE,UAAUD,CAAC;AAAE,MAAG,CAACN;AAAE,WAAM;AAAG,MAAIE,IAAE,IAAI;AAAiB,WAAQE,IAAE,GAAEA,IAAEN,EAAE,QAAOM,KAAI;AAAC,QAAIqD,IAAE3D,EAAEM,IAAG6E,IAAE3B,GAAEhD,GAAEmD,GAAEvD,GAAEO,CAAC;AAAE,KAACE,KAAGN,GAAE,eAAeK,CAAC,KAAGuE,KAAGvE,EAAE,iBAAiB+C,GAAEhD,GAAE,MAAM,MAAIE,IAAE;AAAA,EAAG;AAAC,SAAAA,KAAG,CAACV,KAAGD,EAAE,OAAOE,CAAC,GAAEU,EAAE,OAAOZ,CAAC,GAAEQ,MAAIF,IAAEE,EAAE;AAAA,IAAKD;AAAA,IAC1fP;AAAA,EAAC,MAAIA,EAAE,YAAYM,CAAC,KAAGM,EAAE,OAAOV,CAAC,GAASS;AAAC;AAAC,IAAIkE,KAAE,oBAAI,IAAI,CAAC,OAAO,CAAC;AACnE,SAASG,GAAE1E,GAAEI,GAAEE,IAAE,oBAAI,OAAIH,GAAEE,IAAE,IAAG;AAAC,MAAIV,IAAE,CAAA;AAAG,MAAG4E,GAAE,IAAIvE,EAAE,QAAQ;AAAE,WAAOL;AAAE,MAAIM,IAAE;AAAK,MAAI,EAAC,UAAST,EAAC,IAAEQ,GAAEN,IAAEU,EAAE,iBAAiB,IAAIZ,EAAE,YAAW,CAAE;AAAS,MAAPA,IAAE,MAAiBE,MAAT;AAAW,SAAIQ,KAAKR;AAAE,MAAAA,IAAEQ,EAAEF,CAAC,GAASN,MAAP,SAAkBF,MAAP,QAAUA,EAAE,WAASE,EAAE,cAAYF,IAAEE;AAAG,MAAIQ,KAAGA,IAASV,MAAP,OAASA,EAAE,aAAW,QAAMU,EAAEF,GAAE,QAAOK,CAAC,IAAE;AAAY,MAAPb,IAAE,MAAeU,MAAP,MAAS;AAAoB,QAAnBV,IAAEU,EAAE,OAAMD,IAAEC,EAAE,MAAeD,MAAP,MAAS;AAAC,eAAQ,CAAE,EAAAL,CAAC,KAAIU;AAAE,YAAGL,IAAEL,EAAEK,GAAEE,CAAC,GAAE,CAACF;AAAE;AAAM,MAAAA,KAAGN,EAAE,KAAKM,CAAC;AAAA,IAAC;AAAC,IAAMC,EAAE,YAAR,QAAkBI,EAAE,IAAIN,EAAE,UAASE,EAAE,QAAQ;AAAA,EAAC;AAAqB,OAApBF,IAAEA,EAAE,YAAWG,IAAE,CAAE,GAAKP,IAAE,GAAEA,IAAEI,EAAE,QAAOJ;AAAI,IAAAO,EAAE,KAAK,GAAGuE;AAAAA,MAAE1E,EAAEJ;AAAA,MAAGQ;AAAA,MACpf,IAAI,IAAIE,CAAC;AAAA,MAAEL;AAAA,MAAEI,MAASH,KAAGA,EAAE,kBAAX;AAAA,IAAwB,CAAC;AAAE,SAAMV,KAAN,SAAUW,IAAEX,EAAEW,CAAC,IAASF,KAAN,OAAQN,IAAEA,EAAE,OAAOQ,CAAC,IAAEJ,GAAE,eAAeE,CAAC,KAAGA,EAAE,OAAO,GAAGE,CAAC,GAASR;AAAC;AAAC0T,GAAA,yBAA+B,SAASrT,GAAEI,GAAE;AAAC,MAAS,YAAN,QAAsB,UAAN;AAAa,UAAM,MAAM,gJAAgJ;AAAE,MAAIE,IAAE,SAAS,cAAc,KAAK,GAAEH,IAAEJ,GAAE,WAAW,YAAa;AAAC,WAAQM,IAAE,GAAEA,IAAEF,EAAE,QAAOE;AAAI2C,IAAAA,GAAEhD,GAAEG,EAAEE,IAAGC,GAAEF,CAAC;AAAE,SAAOE,EAAE;AAAS;AAC1c+S,GAAA,wBAAC,SAASrT,GAAEI,GAAE;AAAC,MAAIE,IAAE,CAAA;AAAG,EAAAF,IAAEA,EAAE,OAAK,MAAM,KAAKA,EAAE,KAAK,UAAU,IAAE,CAAA;AAAG,MAAID,IAAEC,EAAE;AAAO,WAAQT,IAAE,GAAEA,IAAEQ,GAAER,KAAI;AAAC,QAAIU,IAAED,EAAET;AAAG4E,IAAAA,GAAE,IAAIlE,EAAE,QAAQ,MAAIA,IAAEqE,GAAErE,GAAEL,CAAC,GAASK,MAAP,SAAWC,IAAEA,EAAE,OAAOD,CAAC;AAAA,EAAG;AAAC,SAAOC;AAAC;ACJ9M,MAAMgT,KAAyF7T;AAC/F,IAAA8T,KAAiBD,ICFAtT,KAAEP,IAAyBI,KAAE0S,IAAyBvP,KAAEwP,IAA8BzN,KAAEyO,IAA0BvO,IAAEwO;AAAmB,SAAS5O,GAAE5E,GAAE;AAAC,QAAM,MAAM,2BAA2BA,gDAAgDA,iHAAoH;AAAE;AACnX,SAASkF,GAAElF,GAAEE,GAAEC,GAAE;AAAC,GAAC6E,EAAE,4BAA4B7E,CAAC,KAAU2E,GAAE,oBAAoB3E,EAAE,OAAO,QAAO,GAAG,CAAAF,MAAG+E,EAAE,2BAA2B/E,CAAC,CAAC,MAAlF,QAA4F6E,GAAE,oBAAoB3E,EAAE,MAAM,WAAU,CAAAF,MAAG+E,EAAE,2BAA2B/E,CAAC,CAAC,MAAjF,SAAyFC,EAAE,WAAN,KAAc8E,EAAE,uBAAuB9E,EAAE,EAAE,IAAEkF,GAAElF,GAAEC,GAAE,IAAGH,CAAC,IAAEuF,GAAErF,GAAEC,CAAC;AAAC;AAC9R,SAASoF,GAAEvF,GAAEE,GAAE;AAAC,MAAIC,IAAE,CAAA,GAAGF,IAAE,MAAKG,IAAE;AAAK,WAAQC,IAAE,GAAEA,IAAEL,EAAE,QAAOK,KAAI;AAAC,QAAId,IAAES,EAAEK;AAAGT,IAAAA,GAAE,gBAAgBL,CAAC,KAASa,KAAN,SAAUA,IAAER,GAAE,gBAAgB,QAAQ,GAAEO,EAAE,KAAKC,CAAC,IAAGA,EAAE,OAAOb,CAAC,MAAUa,KAAN,SAAUA,IAAE,OAAM4E,EAAE,iBAAiBzF,CAAC,KAAGA,EAAE,SAAU,KAAEyF,EAAE,eAAezF,CAAC,KAAGA,EAAE,SAAQ,KAAIyF,EAAE,YAAYzF,CAAC,KAAGyF,EAAE,iBAAiBzF,CAAC,KAAUU,MAAP,SAAWA,IAAE+E,EAAE,qBAAsB,GAAC7E,EAAE,KAAKF,CAAC,IAAUA,MAAP,QAAUA,EAAE,OAAOV,CAAC,MAAIY,EAAE,KAAKZ,CAAC,GAAEU,IAAE;AAAA,EAAM;AAAC+E,EAAAA,EAAE,kBAAkB9E,CAAC,IAAEA,EAAE,YAAYC,CAAC,IAAE6E,EAAE,4BAA4B9E,CAAC,MAAIF,IAAEE,EAAE,OAAO,QAAS,GAAC8E,EAAE,2BAA2BhF,CAAC,KAClgB4E,GAAE,EAAE,GAAE5E,EAAE,OAAO,GAAGG,CAAC;AAAE;AACrB,SAASiF,GAAEpF,GAAEE,GAAEC,GAAEF,GAAE;AAAC,EAAID,EAAE,WAAN,KAAcgF,EAAE,uBAAuBhF,EAAE,EAAE,KAAG4E,GAAE,EAAE;AAAE,MAAIxE,IAAEJ,EAAE;AAAG,EAAAA,IAAEI,EAAE,eAAcD,IAAEC,EAAE,qBAAoB,EAAG;AAAkB,MAAIC,IAAED,EAAE,gBAAiB,GAACb,IAAEuF,GAAE,oBAAoB5E,EAAE,OAAO,WAAU,CAAAR,MAAGsF,EAAE,2BAA2BtF,CAAC,CAAC;AAAE,EAAAQ,KAAGE,IAAEb,KAAGuF,GAAE,oBAAoBvF,GAAE,CAAAG,MAAGsF,EAAE,0BAA0BtF,CAAC,CAAC,MAAIoF,GAAE,oBAAoB1E,GAAE,CAAAV,MAAGsF,EAAE,uBAAuBtF,CAAC,CAAC,GAAEsF,EAAE,2BAA2BzF,CAAC,KAAGyF,EAAE,0BAA0B5E,CAAC,KAAG4E,EAAE,uBAAuB9E,CAAC,KAAG0E,GAAE,EAAE;AAAE,MAAInF,IAAEW,EAAE,qBAAsB,GAC1fP,IAAE,KAAK,IAAIK,EAAE,gBAAe,IAAG,GAAET,IAAEY,IAAE,CAAC;AAAE,EAAAA,IAAEd,EAAE,qBAAsB,GAACA,IAAE,KAAK,IAAIa,EAAE,gBAAiB,IAAC,GAAEC,IAAEF,IAAE,CAAC,GAAEA,IAAE,KAAK,IAAIE,GAAEd,CAAC,GAAEa,IAAE,KAAK,IAAIX,GAAEI,CAAC,GAAEQ,IAAE,KAAK,IAAIA,GAAEd,CAAC,GAAEE,IAAE,KAAK,IAAIA,GAAEI,CAAC,GAAEA,IAAEK,EAAE,YAAW,GAAGX,IAAE;AAAE,MAAII,GAAEG;AAAE,WAAQJ,IAAEU,GAAEV,KAAGD,GAAEC,KAAI;AAAC,QAAIgF,IAAE7E,EAAEH;AAAGsF,IAAAA,EAAE,0BAA0BN,CAAC,KAAGE,GAAE,EAAE;AAAE,QAAIJ,IAAExE,EAAET;AAAGyF,IAAAA,EAAE,0BAA0BR,CAAC,KAAGI,GAAE,EAAE,GAAEF,IAAEA,EAAE,YAAa,GAACF,IAAEA,EAAE,YAAW;AAAG,QAAIK,IAAE;AAAE,aAAQ3B,IAAE/C,GAAE+C,KAAG7C,GAAE6C,KAAI;AAAC,UAAIoB,IAAEI,EAAExB;AAAG8B,MAAAA,EAAE,2BAA2BV,CAAC,KAAGM,GAAE,EAAE;AAAE,UAAIG,IAAEP,EAAEK;AAAGG,MAAAA,EAAE,2BAA2BD,CAAC,KAAGH,GAAE,EAAE,GAAElF,MAAIU,KAAG8C,MAAI/C,IAAER,IACpf2E,EAAE,OAAQ,IAAC5E,MAAID,KAAGyD,MAAI7C,MAAIP,IAAEwE,EAAE,OAAM;AAAI,UAAIuC,IAAEvC,EAAE,YAAa;AAAC,MAAAS,EAAE,YAAW,EAAG,QAAQ,CAAAN,MAAG;AAACO,QAAAA,EAAE,YAAYP,CAAC,KAAGO,EAAE,qBAAsB,EAAC,OAAOP,CAAC,GAAEH,EAAE,OAAOG,CAAC;AAAA,MAAC,CAAC,GAAEoC,EAAE,QAAQ,CAAApC,MAAGA,EAAE,OAAQ,CAAA,GAAEI;AAAA,IAAG;AAAC,IAAAtF;AAAA,EAAG;AAAC,EAAAI,KAAGG,MAAIE,IAAEgF,EAAE,gCAAiC,GAAChF,EAAE,IAAIE,EAAE,OAAM,GAAGP,GAAEG,CAAC,GAAEkF,EAAE,cAAchF,CAAC,GAAEC,EAAE,gBAAgB+E,EAAE,0BAAyB,MAAM;AAAE;AACzU,SAAS0B,GAAE1G,GAAEE,GAAEC,GAAEF,IAAE,CAAE,GAAC;AAAC,MAAIG,IAAQF,KAAN,OAAQC,EAAE,WAAU,IAAG,IAAGE,IAAE2E,EAAE,eAAe7E,CAAC,KAAGA,EAAE,gBAAgB,MAAM;AAAE,MAAIZ,IAAEY;AAAE,MAAUD,MAAP,MAAS;AAAC,QAAIT,IAAEsD,GAAE,qBAAqB5C,CAAC;AAAE,IAAAZ,IAAEE,IAAEuF,EAAE,YAAYvF,CAAC,KAASS,KAAN,OAAQ6C,GAAE,8BAA8B7C,GAAET,CAAC,IAAEA;AAAA,EAAC;AAAC,MAAII,IAAEmF,EAAE,eAAezF,CAAC,IAAEA,EAAE,YAAW,IAAG,CAAA;AAAG,MAAII,IAAEJ;AAAE,EAAAE,IAAEE,EAAE,cAAaF,EAAE,SAAOE,EAAE,YAAY,QAAO,KAAIiF,GAAE,EAAE;AAAE,MAAI9E,IAAEL,EAAE;AAA4F,OAAnFuF,EAAE,eAAerF,CAAC,MAAI,MAAM,QAAQG,CAAC,KAAG8E,GAAE,EAAE,IAAGI,EAAE,YAAYzF,CAAC,MAAIE,EAAE,OAAKF,EAAE,SAAYA,IAAE,GAAEA,IAAEM,EAAE,QAAON;AAAI,IAAAI,IAAEE,EAAEN,IAAGO,IAAE4G,GAAE1G,GAAEE,GAAEP,GAAEF,EAAE,QAAQ,GAAE,CAACW,KAAG4E,EAAE,eAAe7E,CAAC,KAC9fL,KAAGK,EAAE,iBAAiBR,GAAEO,GAAE,OAAO,MAAIE,IAAE;AAAI,MAAGA,KAAG,CAACC;AAAE,IAAAJ,EAAE,KAAKR,CAAC;AAAA,WAAU,MAAM,QAAQA,EAAE,QAAQ;AAAE,SAAIO,IAAE,GAAEA,IAAEP,EAAE,SAAS,QAAOO;AAAI,MAAAC,EAAE,KAAKR,EAAE,SAASO,EAAE;AAAE,SAAOI;AAAC;AAAC,SAASuG,GAAE3G,GAAEE,GAAE;AAAC,MAAIC,IAAE,CAAE,GAACF,IAAE+E,EAAE,SAAU,EAAC,YAAW;AAAG,WAAQ5E,IAAE,GAAEA,IAAEH,EAAE,QAAOG;AAAIsG,IAAAA,GAAE1G,GAAEE,GAAED,EAAEG,IAAGD,CAAC;AAAE,SAAM,EAAC,WAAUH,EAAE,QAAQ,WAAU,OAAMG,EAAC;AAAC;AAAC,SAASyG,GAAE5G,GAAE;AAAC,MAAIE,IAAE,CAAA;AAAG,WAAQC,IAAE,GAAEA,IAAEH,EAAE,QAAOG,KAAI;AAAC,QAAIF,IAAE+E,EAAE,qBAAqBhF,EAAEG,EAAE;AAAE6E,IAAAA,EAAE,YAAY/E,CAAC,KAAG8C,GAAE,cAAc9C,CAAC,GAAEC,EAAE,KAAKD,CAAC;AAAA,EAAC;AAAC,SAAOC;AAAC;AAACuT,GAAA,iCAAuC9M;AACxb8M,GAAA,oCAAC7M;AAAyB6M,GAAA,kBAAC,SAASzT,GAAE;AAAC,MAAIE,IAAE8E,EAAE,cAAe;AAAC,MAAS9E,KAAN;AAAQ,UAAM,MAAM,iCAAiC;AAAE,SAAO8E,EAAE,kBAAkB9E,CAAC,KAAGA,EAAE,YAAa,KAAMA,EAAE,SAAQ,EAAG,WAAjB,IAAwB,OAAKH,GAAE,uBAAuBC,GAAEE,CAAC;AAAC;AAAEuT,GAAA,qBAA2B,SAASzT,GAAE;AAAC,MAAIE,IAAE8E,EAAE,cAAa;AAAG,MAAS9E,KAAN;AAAQ,UAAM,MAAM,iCAAiC;AAAE,SAAO8E,EAAE,kBAAkB9E,CAAC,KAAGA,EAAE,YAAW,KAAQA,EAAE,SAAU,EAAC,WAAjB,IAAwB,OAAK,KAAK,UAAUyG,GAAE3G,GAAEE,CAAC,CAAC;AAAC;AACncuT,GAAA,kCAAC,SAASzT,GAAEE,GAAE;AAAC,EAAAF,IAAEA,EAAE,QAAQ,YAAY,GAAQA,KAAN,QAASE,EAAE,cAAcF,CAAC;AAAC;AAC3GyT,GAAA,iCAAuC,SAASzT,GAAEE,GAAEC,GAAE;AAAC,MAAIF,IAAED,EAAE,QAAQ,8BAA8B;AAAE,MAAGC;AAAE,QAAG;AAAC,UAAII,IAAE,KAAK,MAAMJ,CAAC;AAAE,UAAGI,EAAE,cAAYF,EAAE,QAAQ,aAAW,MAAM,QAAQE,EAAE,KAAK,GAAE;AAAC,YAAId,IAAEqH,GAAEvG,EAAE,KAAK;AAAE,eAAO6E,GAAE/E,GAAEZ,GAAEW,CAAC;AAAA,MAAC;AAAA,IAAC,QAAC;AAAA,IAAO;AAAA,MAAGD,IAAED,EAAE,QAAQ,WAAW;AAAE,QAAG;AAAC,UAAII,IAAG,IAAI,YAAW,gBAAgBH,GAAE,WAAW;AAAE,UAAII,IAAEN,GAAE,sBAAsBI,GAAEC,CAAC;AAAE,aAAO8E,GAAE/E,GAAEE,GAAEH,CAAC;AAAA,IAAC,QAAC;AAAA;AAAiC,MAA1BF,IAAEA,EAAE,QAAQ,YAAY,GAAWA,KAAN;AAAQ,QAAGgF,EAAE,kBAAkB9E,CAAC;AAAE,WAAIF,IAAEA,EAAE,MAAM,OAAO,GAAEG,IAAEH,EAAE,QAAOI,IAAE,GAAEA,IAAED,GAAEC;AAAI,QAAAF,EAAE,WAAWF,EAAEI,EAAE,GACxfA,IAAED,IAAE,KAAGD,EAAE,gBAAiB;AAAA;AAAM,MAAAA,EAAE,cAAcF,CAAC;AAAC;2BAAgCkF;ACXlF,MAAMwO,KAAmGlU;AACzG,IAAAmU,KAAiBD,ICFAxT,KAAEV,IAA8BD,KAAE+S,IAA8BrS,KAAEsS,IAA0BlS,IAAEkT;AAAmB,IAAI7T,KAAgB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,KAAmDC,KAAED,MAAG,kBAAiB,WAAS,SAAS,eAAa;AAAKA,MAAG,uBAAuB,KAAK,UAAU,QAAQ;AAAEA,MAAG,mCAAmC,KAAK,UAAU,SAAS;AACza,IAAIE,KAAEF,MAAG,gBAAe,UAAQ,CAACC,KAAE,qBAAoB,IAAI,OAAO,WAAW,OAAO,IAAE,IAAGE,KAAEH,MAAG,0BAA0B,KAAK,UAAU,SAAS,GAAEI,KAAEJ,MAAG,mBAAmB,KAAK,UAAU,SAAS,KAAG,CAAC,OAAO;AAC7M,MAAMqD,WAAU1C,EAAE,YAAW;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAO;AAAA,EAAC,OAAO,MAAML,GAAE;AAAC,WAAO,IAAI+C,GAAE/C,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAE;AAAC,UAAMA,CAAC;AAAA,EAAC;AAAA,EAAC,UAAUA,GAAE;AAAC,QAAID,IAAE,SAAS,cAAc,YAAY;AAAEE,WAAAA,GAAE,uBAAuBF,GAAEC,EAAE,MAAM,KAAK,GAASD;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,YAAW,OAAK,EAAC,YAAWmD,IAAE,UAAS,EAAC,GAAE;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWlD,GAAE;AAAC,QAAID,IAAE2E,GAAG;AAAC,WAAA3E,EAAE,UAAUC,EAAE,MAAM,GAAED,EAAE,UAAUC,EAAE,MAAM,GAAED,EAAE,aAAaC,EAAE,SAAS,GAASD;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAY,GAAC,MAAK,QAAO;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIC,IAC9fK,EAAE,qBAAsB,GAACN,IAAE,KAAK;AAAe,WAAAC,EAAE,aAAaD,CAAC,GAAE,KAAK,YAAYC,CAAC,GAASA;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAIA,IAAEK,EAAE,qBAAsB;AAAC,gBAAK,YAAa,EAAC,QAAQ,CAAAN,MAAGC,EAAE,OAAOD,CAAC,CAAC,GAAE,KAAK,QAAQC,CAAC,GAAQ;AAAA,EAAE;AAAC;AAAC,SAAS0E,KAAG;AAAC,SAAO,IAAI3B;AAAC;AAC7O,MAAMyB,WAAUnE,EAAE,YAAW;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAS;AAAA,EAAC,OAAO,MAAML,GAAE;AAAC,WAAO,IAAIwE,GAAExE,EAAE,OAAMA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAED,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,QAAMC;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK;AAAA,EAAK;AAAA,EAAC,UAAUA,GAAE;AAAC,QAAID,IAAE,KAAK,OAAMI,IAAE,SAAS,cAAcJ,CAAC;AAAE,WAAAC,IAAEA,EAAE,MAAM,SAAiBA,MAAT,UAAYC,GAAE,uBAAuBE,GAAEH,EAAED,EAAE,GAASI;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,IAAG,OAAK,EAAC,YAAW2E,IAAE,UAAS,EAAC,IAAG,IAAG,OAAK,EAAC,YAAWA,IAAE,UAAS,EAAC,IAAG,IAAG,OAAK,EAAC,YAAWA,IAAE,UAAS,EAAC,IAAG,IAAG,OAAK,EAAC,YAAWA,IAAE,UAAS,EAAC,IAAG,IAAG,OAAK;AAAA,MAAC,YAAWA;AAAAA,MAChgB,UAAS;AAAA,IAAC,IAAG,IAAG,OAAK,EAAC,YAAWA,IAAE,UAAS,EAAC,IAAG,GAAE,CAAA9E,OAAIA,IAAEA,EAAE,YAAyBA,MAAP,QAAUgF,GAAEhF,CAAC,IAAE,EAAC,YAAW,OAAK,EAAC,MAAK,KAAI,IAAG,UAAS,EAAC,IAAE,OAAM,MAAK,CAAAA,MAAGgF,GAAEhF,CAAC,IAAE,EAAC,YAAW,OAAK,EAAC,MAAK4E,GAAE,IAAI,EAAC,IAAG,UAAS,EAAC,IAAE,KAAI;AAAA,EAAC;AAAA,EAAC,OAAO,WAAW5E,GAAE;AAAC,QAAID,IAAE6E,GAAE5E,EAAE,GAAG;AAAE,WAAAD,EAAE,UAAUC,EAAE,MAAM,GAAED,EAAE,UAAUC,EAAE,MAAM,GAAED,EAAE,aAAaC,EAAE,SAAS,GAASD;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAU,GAAG,KAAI,KAAK,UAAS,MAAK,WAAU,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,QAAIC,IAAEK,EAAE,qBAAsB,GAACN,IAAE,KAAK,aAAY;AAAG,WAAAC,EAAE,aAAaD,CAAC,GAAE,KAAK,YAAYC,CAAC,GACzfA;AAAA,EAAC;AAAA,EAAC,kBAAiB;AAAC,QAAIA,IAAEK,EAAE,qBAAsB;AAAC,gBAAK,YAAa,EAAC,QAAQ,CAAAN,MAAGC,EAAE,OAAOD,CAAC,CAAC,GAAE,KAAK,QAAQC,CAAC,GAAQ;AAAA,EAAE;AAAA,EAAC,mBAAkB;AAAC,WAAM;AAAA,EAAE;AAAC;AAAC,SAASgF,GAAEhF,GAAE;AAAC,SAAeA,EAAE,SAAS,YAAa,MAAjC,SAA2CA,EAAE,MAAM,aAAjB,SAA0B;AAAE;AAAC,SAAS8E,GAAE9E,GAAE;AAAC,EAAAA,IAAEA,EAAE,SAAS,YAAa;AAAC,MAAID,IAAE;AAAK,UAAUC,MAAP,QAAiBA,MAAP,QAAiBA,MAAP,QAAiBA,MAAP,QAAiBA,MAAP,QAAiBA,MAAP,UAASD,IAAE6E,GAAE5E,CAAC,IAAQ,EAAC,MAAKD,EAAC;AAAC;AAAC,SAASmD,KAAG;AAAC,SAAM,EAAC,MAAKwB,GAAC,EAAE;AAAC;AAAC,SAASE,GAAE5E,GAAE;AAAC,SAAO,IAAIwE,GAAExE,CAAC;AAAC;AACjb,SAASkF,GAAElF,GAAED,GAAE;AAAC,EAAAC,EAAE,kBAAiBD,EAAE,OAAO,MAAI;AAAC,QAAII,IAAEE,EAAE,cAAa,GAAGD,IAAEJ,aAAa,cAAYA,aAAa,gBAAc,OAAKA,EAAE;AAAc,IAAMI,KAAN,SAAUC,EAAE,kBAAkBF,CAAC,KAAGE,EAAE,4BAA4BF,CAAC,MAAID,GAAE,+BAA+BE,GAAED,GAAEJ,CAAC;AAAA,EAAC,GAAE,EAAC,KAAI,QAAO,CAAC;AAAC;AAChR,SAAS8E,GAAE7E,GAAED,GAAE;AAAC,MAAII,IAAEE,EAAE,cAAa;AAAG,MAAUF,MAAP,MAAS;AAAC,IAAAH,EAAE,eAAgB,GAACA,IAAEA,aAAa,gBAAc,OAAKA,EAAE;AAAc,QAAII,IAAEF,GAAE,gBAAgBH,CAAC;AAAE,IAAAA,IAAEG,GAAE,mBAAmBH,CAAC,GAAQC,KAAN,QAAgBI,MAAP,QAAUJ,EAAE,QAAQ,aAAYI,CAAC,GAASL,MAAP,QAAUC,EAAE,QAAQ,gCAA+BD,CAAC,GAAEI,IAAEA,EAAE,eAAc,GAAGH,EAAE,QAAQ,cAAaG,CAAC,MAAIA,IAAE,UAAU,WAAgBA,KAAN,SAAUH,IAAE,CAAC,IAAI,cAAc,EAAC,aAAY,IAAI,KAAK,CAACI,CAAC,GAAE,EAAC,MAAK,YAAW,CAAC,EAAC,CAAC,CAAC,GAAED,EAAE,MAAMH,CAAC;AAAA,EAAG;AAAC;AACrb,SAAS+E,GAAE/E,GAAED,GAAE;AAAC8E,EAAAA,GAAE7E,GAAED,CAAC,GAAEC,IAAEK,EAAE,iBAAgBA,EAAE,kBAAkBL,CAAC,IAAEA,EAAE,eAAaK,EAAE,iBAAiBL,CAAC,KAAGA,EAAE,SAAU,EAAC,QAAQ,CAAAG,MAAGA,EAAE,OAAM,CAAE;AAAC;AAAC,SAASiF,GAAEpF,GAAED,GAAE;AAAC,MAAII,IAAEE,EAAE,cAAe;AAAC,MAAGA,EAAE,kBAAkBF,CAAC,GAAE;AAAC,QAAIC,IAAE,oBAAI;AAAI,IAAAD,IAAEA,EAAE,SAAQ;AAAG,aAAQmE,IAAE,GAAEA,IAAEnE,EAAE,QAAOmE,KAAI;AAAC,UAAIG,IAAEtE,EAAEmE;AAAG,UAAI7E,IAAEgF,EAAE;AAAS,MAAArE,EAAE,IAAIX,CAAC,MAAIW,EAAE,IAAIX,CAAC,GAAEA,IAAEQ,GAAE,uCAAuCwE,CAAC,GAAEhF,EAAE,iBAAeO,EAAEyE,CAAC,IAAEhF,EAAE,UAAW,KAAEM,EAAEN,CAAC;AAAA,IAAE;AAAA,EAAC;AAAC;AAAC,SAAS8F,GAAEvF,GAAE;AAAC,SAAAA,IAAEK,EAAE,2BAA2BL,CAAC,GAASK,EAAE,iBAAiBL,CAAC;AAAC;AAC/d4T,GAAA,qBAA2BhP;AAA0BgP,GAAA,mBAAClP;AAAEkP,GAAA,iBAAuB,SAAS5T,GAAE;AAAC,SAAOA,aAAawE;AAAC;AAAsBoP,GAAA,eAAC,SAAS5T,GAAE;AAAC,SAAOA,aAAa+C;AAAC;iBAAsByB;AAAmBoP,GAAA,YAAC7Q;AAClN6Q,GAAA,mBAAyB,SAAS5T,GAAE;AAAC,SAAOC,GAAE;AAAA,IAAcD,EAAE,gBAAgBK,EAAE,eAAc,MAAI;AAAC,YAAMN,IAAEM,EAAE;AAAgB,aAAOA,EAAE,iBAAiBN,CAAC,KAAGA,EAAE,MAAK,GAAG,MAAI;AAAA,IAAE,GAAE,CAAC;AAAA,IAAEC,EAAE,gBAAgBK,EAAE,0BAAyB,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE,cAAa;AAAG,aAAIA,EAAE,kBAAkBF,CAAC,KAAWA,EAAE,gBAAgBJ,CAAC,GAAQ,MAA9B;AAAA,IAAgC,GAAEM,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,qBAAoB,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE,cAAe;AAAC,aAAIA,EAAE,kBAAkBF,CAAC,KAAWA,EAAE,WAAWJ,CAAC,GAAQ,MAAzB;AAAA,IAA2B,GAAEM,EAAE,uBAAuB;AAAA,IACtfL,EAAE,gBAAgBK,EAAE,qBAAoB,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE,cAAe;AAAC,aAAIA,EAAE,kBAAkBF,CAAC,KAAWA,EAAE,WAAWJ,CAAC,GAAQ,MAAzB;AAAA,IAA2B,GAAEM,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,mCAAkC,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE,cAAe;AAAC,UAAc,OAAON,KAAlB;AAAoBM,QAAAA,EAAE,kBAAkBF,CAAC,IAAEA,EAAE,WAAWJ,CAAC,IAAEM,EAAE,4BAA4BF,CAAC;AAAA,WAAM;AAAC,YAAG,CAACE,EAAE,kBAAkBF,CAAC,KAAG,CAACE,EAAE,4BAA4BF,CAAC;AAAE,iBAAM;AAAG,cAAMC,IAAEL,EAAE;AAAa,QAAMK,KAAN,OAAQF,GAAE,+BAA+BE,GAAED,GAAEH,CAAC,IAAEK,EAAE,kBAAkBF,CAAC,MACzfJ,IAAEA,EAAE,SAAOI,EAAE,WAAWJ,CAAC;AAAA,MAAC;AAAC,aAAM;AAAA,IAAE,GAAEM,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,qBAAoB,MAAI;AAAC,YAAMN,IAAEM,EAAE;AAAgB,aAAIA,EAAE,kBAAkBN,CAAC,KAAWA,EAAE,WAAY,GAAO,MAAxB;AAAA,IAA0B,GAAEM,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,qBAAoB,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE,cAAe;AAAC,aAAIA,EAAE,kBAAkBF,CAAC,KAAWA,EAAE,WAAWJ,CAAC,GAAQ,MAAzB;AAAA,IAA2B,GAAEM,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,wBAAuB,CAAAN,MAAG;AAAC,UAAII,IAAEE,EAAE;AAAgB,UAAG,CAACA,EAAE,kBAAkBF,CAAC,KAAG,CAACE,EAAE,iBAAiBF,CAAC;AAAE,eAAM;AAC/f,MAAAA,IAAEA,EAAE,SAAU;AAAC,iBAAUC,KAAKD;AAAEF,QAAAA,GAAE,uCAAuCG,CAAC,EAAE,UAAUL,CAAC;AAAE,aAAM;AAAA,IAAE,GAAEM,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,2BAA0B,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE,cAAe;AAAC,aAAIA,EAAE,kBAAkBF,CAAC,KAAWA,EAAE,gBAAgBJ,CAAC,GAAQ,MAA9B;AAAA,IAAgC,GAAEM,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,0BAAyB,MAAI;AAAC,YAAMN,IAAEM,EAAE;AAAgB,aAAIA,EAAE,kBAAkBN,CAAC,KAAWA,EAAE,gBAAiB,GAAO,MAA7B;AAAA,IAA+B,GAAEM,EAAE,uBAAuB;AAAA,IAAEL,EAAE;AAAA,MAAgBK,EAAE;AAAA,MACre,OAAK+E,GAAE,MAAI;AAAC,QAAApF,EAAE,gBAAgBK,EAAE,mCAAkC,GAAI;AAAA,MAAC,GAAE,CAAAN,MAAG;AAAC,cAAMI,IAAEJ,EAAE,UAAS;AAAG,QAAKI,MAAL,MAAQJ,EAAE,UAAUI,IAAE,CAAC;AAAA,MAAC,CAAC,GAAQ;AAAA,MAAIE,EAAE;AAAA,IAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,yBAAwB,OAAK+E,GAAE,CAAArF,MAAG;AAACM,MAAAA,EAAE,YAAYN,CAAC,MAAIA,IAAEA,EAAE,eAAc,GAAUA,EAAEA,EAAE,SAAO,OAAlB,OAAsBC,EAAE,gBAAgBK,EAAE,0BAAyB,EAAE;AAAA,IAAE,GAAE,CAAAN,MAAG;AAAC,YAAMI,IAAEJ,EAAE,UAAW;AAAC,MAAII,MAAJ,KAAOJ,EAAE,UAAUI,IAAE,CAAC;AAAA,IAAC,CAAC,GAAQ,KAAIE,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,sBAAqB,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE,cAAa;AAAG,aAAOA,EAAE,iBAAiBF,CAAC,KACtgB,CAACoF,GAAExF,EAAE,MAAM,MAAIA,IAAEI,EAAE,SAAU,GAAC,IAAEJ,EAAE,WAASA,EAAE,GAAG,eAAc,GAAG,MAAI;AAAA,IAAE,GAAEM,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,wBAAuB,MAAI;AAAC,UAAIN,IAAEM,EAAE,cAAe;AAAC,aAAOA,EAAE,iBAAiBN,CAAC,MAAIA,IAAEA,EAAE,SAAQ,GAAG,IAAEA,EAAE,WAASA,EAAE,GAAG,WAAW,GAAE,CAAC,GAAE,MAAI;AAAA,IAAE,GAAEM,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,wBAAuB,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE,cAAe;AAAC,UAAGA,EAAE,iBAAiBF,CAAC,GAAE;AAAC,YAAIC,IAAED,EAAE,SAAU;AAAC,YAAG,IAAEC,EAAE;AAAO,iBAAOL,EAAE,eAAc,GAAGK,EAAE,GAAG,eAAc,GAAG;AAAA,MAAE;AAAC,aAAOC,EAAE,kBAAkBF,CAAC,KAAEZ,GAAE;AAAA,QAAyCY;AAAA,QAC/hB;AAAA,MAAE,KAAGC,IAAEL,EAAE,UAASA,EAAE,eAAgB,GAACR,GAAE,eAAeY,GAAEC,GAAE,EAAE,GAAE,MAAO;AAAA,IAAE,GAAEC,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,yBAAwB,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE,cAAe;AAAC,UAAGA,EAAE,iBAAiBF,CAAC,KAAG,CAACoF,GAAExF,EAAE,MAAM,GAAE;AAAC,YAAIK,IAAED,EAAE;AAAW,YAAG,IAAEC,EAAE;AAAO,iBAAOL,EAAE,eAAc,GAAGK,EAAE,GAAG,WAAW,GAAE,CAAC,GAAE;AAAA,MAAE;AAAC,aAAIC,EAAE,kBAAkBF,CAAC,KAAWC,IAAEL,EAAE,UAAgBR,GAAE,yCAAyCY,GAAE,EAAE,KAAGJ,EAAE,eAAgB,GAACR,GAAE,eAAeY,GAAEC,GAAE,EAAE,GAAE,MAAI,MAAzH;AAAA,IAA2H,GAAEC,EAAE,uBAAuB;AAAA,IAAEL,EAAE;AAAA,MAAgBK,EAAE;AAAA,MACtf,CAAAN,MAAG;AAAC,YAAGwF,GAAExF,EAAE,MAAM;AAAE,iBAAM;AAAG,cAAMI,IAAEE,EAAE;AAAgB,YAAG,CAACA,EAAE,kBAAkBF,CAAC;AAAE,iBAAM;AAAG,QAAAJ,EAAE,eAAc,GAAI,EAAC,QAAOA,EAAC,IAAEI;AAAG,cAAMC,IAAEL,EAAE,QAAS;AAAC,eAAOI,EAAE,YAAW,KAAQJ,EAAE,WAAN,KAAc,CAACM,EAAE,YAAYD,CAAC,KAAG,IAAEH,GAAE,uCAAuCG,CAAC,EAAE,UAAS,IAAGJ,EAAE,gBAAgBK,EAAE,yBAAwB,MAAM,IAAEL,EAAE,gBAAgBK,EAAE,0BAAyB,EAAE;AAAA,MAAC;AAAA,MAAEA,EAAE;AAAA,IAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,oBAAmB,CAAAN,MAAG;AAAC,UAAGwF,GAAExF,EAAE,MAAM;AAAE,eAAM;AAAG,YAAMI,IAAEE,EAAE,cAAe;AAAC,aAAIA,EAAE,kBAAkBF,CAAC,KAC1fJ,EAAE,eAAgB,GAAQC,EAAE,gBAAgBK,EAAE,0BAAyB,EAAE,KADyb;AAAA,IACxb,GAAEA,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,mBAAkB,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE,cAAa;AAAG,UAAG,CAACA,EAAE,kBAAkBF,CAAC;AAAE,eAAM;AAAG,UAAUJ,MAAP,MAAS;AAAC,aAAID,MAAGD,OAAID;AAAE,iBAAM;AAAsB,YAAnBG,EAAE,eAAc,GAAMA,EAAE;AAAS,iBAAOC,EAAE,gBAAgBK,EAAE,2BAA0B,EAAE;AAAA,MAAC;AAAC,aAAOL,EAAE,gBAAgBK,EAAE,0BAAyB,MAAM;AAAA,IAAC,GAAEA,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,iBAAgB,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE,cAAa;AAAG,aAAIA,EAAE,kBAAkBF,CAAC,KAC/fJ,EAAE,eAAgB,GAAQC,EAAE,gBAAgBD,EAAE,WAASM,EAAE,0BAAwBA,EAAE,wBAAuB,MAAM,KADuZ;AAAA,IACtZ,GAAEA,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,oBAAmB,MAAI;AAAC,YAAMN,IAAEM,EAAE,cAAe;AAAC,aAAIA,EAAE,kBAAkBN,CAAC,KAAWC,EAAE,KAAI,GAAS,MAAlB;AAAA,IAAoB,GAAEK,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,cAAa,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE,cAAa;AAAG,aAAIA,EAAE,kBAAkBF,CAAC,KAAWJ,EAAE,eAAc,GAAS,MAA5B;AAAA,IAA8B,GAAEM,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,mBAAkB,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE;AACrf,aAAIA,EAAE,kBAAkBF,CAAC,KAAWJ,EAAE,eAAgB,GAAO,MAA5B;AAAA,IAA8B,GAAEM,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,cAAa,CAAAN,OAAI8E,GAAE9E,GAAEC,CAAC,GAAQ,KAAIK,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,aAAY,CAAAN,OAAIgF,GAAEhF,GAAEC,CAAC,GAAQ,KAAIK,EAAE,uBAAuB;AAAA,IAAEL,EAAE,gBAAgBK,EAAE,eAAc,CAAAN,MAAG;AAAC,YAAMI,IAAEE,EAAE,cAAe;AAAC,aAAOA,EAAE,kBAAkBF,CAAC,KAAGE,EAAE,4BAA4BF,CAAC,KAAG+E,GAAEnF,GAAEC,CAAC,GAAE,MAAI;AAAA,IAAE,GAAEK,EAAE,uBAAuB;AAAA,EAAC;AAAC;ACpBxa,MAAMwT,KAAiGrU;AACvG,IAAAsU,KAAiBD,aCFAnU,KAAEF,IAA0BG,KAAE2S;AAC/C,MAAM1S,WAAUD,GAAE,YAAW;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAM;AAAA,EAAC,OAAO,MAAMK,GAAE;AAAC,WAAO,IAAIJ,GAAEI,EAAE,OAAM,EAAC,KAAIA,EAAE,OAAM,QAAOA,EAAE,SAAQ,GAAEA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAEE,IAAE,IAAGD,GAAE;AAAC,UAAMA,CAAC;AAAE,QAAI,EAAC,QAAOI,IAAE,MAAK,KAAIF,IAAE,KAAI,IAAED;AAAE,SAAK,QAAMF,GAAE,KAAK,WAASK,GAAE,KAAK,QAAMF;AAAA,EAAC;AAAA,EAAC,UAAUH,GAAE;AAAC,QAAIE,IAAE,SAAS,cAAc,GAAG;AAAE,WAAAA,EAAE,OAAK,KAAK,OAAa,KAAK,aAAZ,SAAuBA,EAAE,SAAO,KAAK,WAAiB,KAAK,UAAZ,SAAoBA,EAAE,MAAI,KAAK,QAAOR,GAAE,uBAAuBQ,GAAEF,EAAE,MAAM,IAAI,GAASE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAEE,GAAE;AAAC,QAAID,IAAE,KAAK,OAAMI,IAAE,KAAK,UAASF,IAAE,KAAK;AACnf,WAAAF,MAAID,EAAE,UAAQE,EAAE,OAAKD,IAAGI,MAAIL,EAAE,aAAWK,IAAEH,EAAE,SAAOG,IAAEH,EAAE,gBAAgB,QAAQ,IAAGC,MAAIH,EAAE,UAAQG,IAAED,EAAE,MAAIC,IAAED,EAAE,gBAAgB,KAAK,IAAS;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,GAAE,OAAK,EAAC,YAAWL,IAAE,UAAS,EAAC,GAAE;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWG,GAAE;AAAC,QAAIE,IAAEJ,GAAEE,EAAE,KAAI,EAAC,KAAIA,EAAE,KAAI,QAAOA,EAAE,OAAM,CAAC;AAAE,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAU,GAAG,KAAI,KAAK,OAAQ,GAAC,QAAO,KAAK,UAAW,GAAC,MAAK,QAAO,KAAI,KAAK,OAAQ,GAAC,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK,UAAS,EAAG;AAAA,EAAK;AAAA,EAAC,OAAOF,GAAE;AAAC,SAAK,YAAa,EAAC,QAC7hBA;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAO,KAAK,UAAW,EAAC;AAAA,EAAQ;AAAA,EAAC,UAAUA,GAAE;AAAC,SAAK,cAAc,WAASA;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK,YAAY;AAAA,EAAK;AAAA,EAAC,OAAOA,GAAE;AAAC,SAAK,YAAW,EAAG,QAAMA;AAAA,EAAC;AAAA,EAAC,eAAeA,GAAE;AAA6C,QAA5CA,IAAE,KAAK,mBAAmB,eAAeA,CAAC,GAAKL,GAAE,eAAeK,CAAC,GAAE;AAAC,UAAIE,IAAEJ,GAAE,KAAK,OAAM,EAAC,KAAI,KAAK,OAAM,QAAO,KAAK,SAAQ,CAAC;AAAE,aAAAE,EAAE,OAAOE,CAAC,GAASA;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,sBAAqB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,qBAAoB;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,aAAY;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,iBAAiBF,GAAEE,GAAE;AAAC,QAAG,CAACP,GAAE,kBAAkBO,CAAC;AAAE,aAAM;AACrf,IAAAF,IAAEE,EAAE,OAAO,QAAS;AAAC,QAAID,IAAEC,EAAE,MAAM,QAAS;AAAC,WAAO,KAAK,WAAWF,CAAC,KAAG,KAAK,WAAWC,CAAC,KAAG,IAAEC,EAAE,eAAgB,EAAC;AAAA,EAAM;AAAC;AAAC,SAASL,GAAEG,GAAE;AAAC,MAAIE,IAAE;AAAK,SAAAF,aAAa,sBAAoBE,IAAEJ,GAAEE,EAAE,aAAa,MAAM,KAAG,IAAG,EAAC,KAAIA,EAAE,aAAa,KAAK,GAAE,QAAOA,EAAE,aAAa,QAAQ,EAAC,CAAC,IAAS,EAAC,MAAKE,EAAC;AAAC;AAAC,SAASJ,GAAEE,GAAEE,GAAE;AAAC,SAAO,IAAIN,GAAEI,GAAEE,CAAC;AAAC;AAAC,SAAS6C,GAAE/C,GAAE;AAAC,SAAOA,aAAaJ;AAAC;AACpW,MAAM0E,WAAU1E,GAAC;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAU;AAAA,EAAC,OAAO,MAAMI,GAAE;AAAC,WAAO,IAAIsE,GAAEtE,EAAE,OAAM,EAAC,KAAIA,EAAE,OAAM,QAAOA,EAAE,SAAQ,GAAEA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWA,GAAE;AAAC,QAAIE,IAAEuE,GAAEzE,EAAE,KAAI,EAAC,KAAIA,EAAE,KAAI,QAAOA,EAAE,OAAM,CAAC;AAAE,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,OAAO,YAAW;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAU,GAAG,MAAK,YAAW,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,eAAeF,GAAE;AAA6C,QAA5CA,IAAE,KAAK,mBAAmB,eAAeA,CAAC,GAAKL,GAAE,eAAeK,CAAC,GAAE;AAAC,UAAIE,IAAEuE,GAAE,KAAK,OAAM,EAAC,KAAI,KAAK,MAAK,QAAO,KAAK,SAAQ,CAAC;AACpgB,aAAAzE,EAAE,OAAOE,CAAC,GAASA;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAC;AAAC,SAASuE,GAAEzE,GAAEE,GAAE;AAAC,SAAO,IAAIoE,GAAEtE,GAAEE,CAAC;AAAC;AAAC,IAAIwE,KAAE/E,GAAE,cAAe;AAAC,SAAS6E,GAAExE,GAAE;AAAC,SAAO8E,GAAE9E,GAAE,CAAAE,MAAG6C,GAAE7C,CAAC,CAAC;AAAC;AAAC,SAAS4E,GAAE9E,GAAEE,GAAE;AAAC,SAAYF,MAAP,SAAkBA,IAAEA,EAAE,UAAS,OAArB,QAA0B,CAACE,EAAEF,CAAC;AAAG;AAAC,SAAOA;AAAC;AAA4B+T,GAAA,sBAACtP;AAAyBsP,GAAA,kBAACjU;AAAyBiU,GAAA,kBAAC,SAAS/T,GAAE;AAAC,SAAOA,aAAasE;AAAC;AAAqByP,GAAA,cAAChR;AAAsBgR,GAAA,eAACzP;AAAkByP,GAAA,WAACnU;AAA6BmU,GAAA,sBAACrP;AACrYqP,GAAA,aAAC,SAAS/T,GAAEE,IAAE,CAAA,GAAG;AAAC,MAAI,EAAC,QAAOD,GAAE,KAAII,EAAC,IAAEH;AAAsB,MAApBA,IAAEP,GAAE,cAAe,GAAIA,GAAE,kBAAkBO,CAAC;AAAE,QAAGA,IAAEA,EAAE,QAAO,GAAUF,MAAP;AAAS,MAAAE,EAAE,QAAQ,CAAAT,MAAG;AAAiB,YAAhBA,IAAEA,EAAE,UAAW,GAAIsD,GAAEtD,CAAC,GAAE;AAAC,cAAIW,IAAEX,EAAE,YAAa;AAAC,mBAAQF,IAAE,GAAEA,IAAEa,EAAE,QAAOb;AAAI,YAAAE,EAAE,aAAaW,EAAEb,EAAE;AAAE,UAAAE,EAAE,OAAM;AAAA,QAAE;AAAA,MAAC,CAAC;AAAA,SAAM;AAAC,UAAOS,EAAE,WAAN,GAAa;AAAC,YAAIC,IAAED,EAAE;AAAiB,YAAdC,IAAE4C,GAAE5C,CAAC,IAAEA,IAAEqE,GAAErE,CAAC,GAAYA,MAAP,MAAS;AAAC,UAAAA,EAAE,OAAOH,CAAC,GAAWC,MAAT,UAAYE,EAAE,UAAUF,CAAC,GAAWI,MAAT,UAAYF,EAAE,OAAOE,CAAC;AAAE;AAAA,QAAM;AAAA,MAAC;AAAC,UAAIZ,IAAE,MAAKW,IAAE;AAAK,MAAAF,EAAE,QAAQ,CAAAX,MAAG;AAAC,YAAIQ,IAAER,EAAE,UAAW;AAAC,YAAGQ,MAAIK,KAAUL,MAAP,SAAW,CAACJ,GAAE,eAAeJ,CAAC,KAAGA,EAAE,SAAQ;AAAI,cAAGwD,GAAEhD,CAAC;AAAE,YAAAK,IACtfL,GAAEA,EAAE,OAAOC,CAAC,GAAWC,MAAT,UAAYF,EAAE,UAAUE,CAAC,GAAWI,MAAT,UAAYN,EAAE,OAAOM,CAAC;AAAA,mBAAUN,EAAE,GAAGN,CAAC,MAAIA,IAAEM,GAAEK,IAAEN,GAAEE,GAAE,EAAC,KAAIK,GAAE,QAAOJ,EAAC,CAAC,GAAE8C,GAAEhD,CAAC,IAASR,EAAE,mBAAkB,MAA3B,OAA8BQ,EAAE,aAAaK,CAAC,IAAEL,EAAE,YAAYK,CAAC,IAAEb,EAAE,aAAaa,CAAC,IAAG2C,GAAExD,CAAC;AAAG,gBAAG,CAACA,EAAE,GAAGa,CAAC,GAAE;AAAC,kBAAUA,MAAP,MAAS;AAAC,gBAAAL,IAAER,EAAE,YAAW;AAAG,yBAAQ2D,IAAE,GAAEA,IAAEnD,EAAE,QAAOmD;AAAI,kBAAA9C,EAAE,OAAOL,EAAEmD,EAAE;AAAA,cAAC;AAAC,cAAA3D,EAAE,OAAM;AAAA,YAAE;AAAA;AAAO,YAAOa,MAAP,QAAUA,EAAE,OAAOb,CAAC;AAAA,MAAC,CAAC;AAAA,IAAC;AAAC;ACP7U,MAAMyU,KAAyFxU;AAC/F,IAAAyU,KAAiBD;ACAV,MAAME,WAAkBC,EAAAA,YAAY;AAAA,EACvC,OAAO,UAAU;AACb,WAAO;AAAA,EACV;AAAA,EAED,OAAO,MAAMC,GAAM;AACf,WAAO,IAAIF,GAAUE,EAAK,KAAK;AAAA,EAClC;AAAA,EAID,UAAUC,GAAQ;AACd,UAAMC,IAAU,SAAS,cAAc,OAAO;AAC9CC,WAAAA,GAAAA,uBAAuBD,GAASD,EAAO,MAAM,KAAK,GAC3CC;AAAA,EACV;AAAA,EACD,UAAUE,GAAUC,GAAK;AACrB,WAAO;AAAA,EACV;AAAA,EAED,OAAO,YAAY;AACf,WAAO;AAAA,MACH,OAAO,CAAAL,OAAS;AAAA,QACZ,YAAYM;AAAA,QACZ,UAAU;AAAA,MAC1B;AAAA,IACA;AAAA,EACK;AAAA,EAED,OAAO,WAAWC,GAAgB;AAC9B,UAAMP,IAAOQ;AACb,WAAAR,EAAK,UAAUO,EAAe,MAAM,GACpCP,EAAK,UAAUO,EAAe,MAAM,GACpCP,EAAK,aAAaO,EAAe,SAAS,GACnCP;AAAA,EACV;AAAA,EAED,aAAa;AACT,WAAO;AAAA,MACH,GAAG,MAAM,WAAY;AAAA,MACrB,MAAM;AAAA,IAClB;AAAA,EACK;AAAA,EAID,iBAAiB;AACb,UAAMS,IAAWC,EAAAA,wBACXC,IAAY,KAAK;AACvB,WAAAF,EAAS,aAAaE,CAAS,GAC/B,KAAK,eAAeF,CAAQ,GACrBA;AAAA,EACV;AAAA,EAED,kBAAkB;AACd,UAAMG,IAAYF,EAAAA;AAElB,WADiB,KAAK,cACb,QAAQ,CAAAG,MAASD,EAAU,OAAOC,CAAK,CAAC,GACjD,KAAK,QAAQD,CAAS,GACf;AAAA,EACV;AACL;AAEA,SAASN,KAAsB;AAE3B,SAAO,EAAC,MADKE,GACD;AAChB;AAEO,SAASA,KAAmB;AAC/B,SAAO,IAAIV,GAAS;AACxB;AC9EA,MAAMgB,KAA6B,CAAC;AAAA,EAACC,UAAAA;AAAD,wBAE5B,OAAA;AAAA,EAAK,WAAU;AAAA,EAAsE,gBAArF;AAAA,EAAA,UAAAA;AAAA,CADJ;ACG0CC,EAAAA,cAAvC;AAEP,SAASC,KAA0B;AAC/B,2BACKC,IAAD;AAAA,IAAA,UACI5U,gBAAAA,EAAA,MAAA,EAAA;AAAA,EAAA,CAFR;AAKH;AAEM,MAAM6U,WAA2BC,EAAAA,cAAc;AAAA,EACpC,OAAPC,UAAU;AACN,WAAA;AAAA,EACV;AAAA,EAEW,OAALC,MAAMtB,GAAM;AACR,WAAA,IAAImB,GAAmBnB,EAAKuB,KAA5B;AAAA,EACV;AAAA,EAEgB,OAAVC,WAAWjB,GAAgB;AAC9B,WAAOkB,GAAP;AAAA,EACH;AAAA,EAEDC,aAAa;AACF,WAAA;AAAA,MACHC,MAAM;AAAA,MACNC,SAAS;AAAA,IAAA;AAAA,EAEhB;AAAA,EAEDC,YAAY;AACFC,UAAAA,IAAMC,SAASC,cAAc,KAAvB;AACZF,WAAAA,EAAIG,MAAMC,UAAU,YACbJ;AAAAA,EACV;AAAA,EAEDK,iBAAiB;AACN,WAAA;AAAA;AAAA,EACV;AAAA,EAEDC,aAAa;AACF,WAAA;AAAA,EACV;AAAA,EAEDC,YAAY;AACD,WAAA;AAAA,EACV;AAAA,EAEDC,WAAW;AACA,WAAAhW,gBAAAA,EAAC2U,IAAR,CAAA,CAAA;AAAA,EACH;AAxCiD;AA2C/C,SAASQ,KAA4B;AACxC,SAAO,IAAIN,GAAX;AACH;AAEM,SAASoB,GAAsBvC,GAAM;AACxC,SAAOA,aAAgBmB;AAC1B;AC7DD,MAAMqB,KAAwB,CAAC,EAAC,IAAAC,GAAI,OAAAC,EAAK,MAAM;AAC3C,EAAAC,GAAU,MAAM;AACZ,UAAMzC,IAAUuC,EAAG;AACnB,QAAIvC,GAAS;AACT,MAAAA,EAAQ,MAAM,SAAS;AACvB,YAAM0C,IAAS1C,EAAQ;AACvB,MAAAA,EAAQ,MAAM,SAAS,GAAG0C;AAAA,IAC7B;AAAA,EACT,GAAO,CAACH,GAAIC,CAAK,CAAC;AAClB;ACL8C1B,EAAAA,cAAvC;AAEP,SAAS6B,GAAmB;AAAA,EAACC,WAAAA;AAAAA,EAAWC,MAAAA;AAAAA,EAAMC,UAAAA;AAAAA,EAAUC,SAAAA;AAAAA,EAASC,QAAAA;AAArC,GAA8C;AAChET,QAAAA,IAAKU,GAAMC,OAAO,IAAb;AACW,SAAAZ,GAAA;AAAA,IAACC,IAAAA;AAAAA,IAAIC,OAAOK;AAAAA,EAAAA,CAAb,qBAShB7B,IAAD;AAAA,IAAmB,WAAA4B;AAAA,IAAsB,SAAAG;AAAA,IAAzC,4BACI,QAAA;AAAA,MAAA,4BACI,YAAA;AAAA,QACI,KAAKR;AAAAA,QACL,aAAY;AAAA,QACZ,gBAAe;AAAA,QACf,YAAW;AAAA,QACX,UAAS;AAAA,QACT,WANJ;AAAA,QAOI,WAAU;AAAA,QACV,OAAOM;AAAAA,QACP,UAnBIM,CAAUA,MAAA;AAC1BH,UAAAA,EAAOI,OAAO,MAAM;AAEXC,YADQC,gBAAcP,CAAD,EACrBM,QAAQF,EAAMI,OAAOf,KAA1B;AAAA,UAAA,CAFJ;AAAA,QAAA;AAAA,MAkBsBgB,CATd;AAAA,IAAA,CADJ;AAAA,EAAA,CAFR;AAgBH;AAEM,MAAMC,WAAsBvC,EAAAA,cAAc;AAAA,EAyB7CwC,YAAYZ,GAAUa,GAAUC,GAAK;AACjC,UAAMA,CAAN;AAzBJC,IAAAA,GAAAA,gBAAS;AACTC,IAAAA,GAAAA,oBAAa;AAyBT,SAAKA,aAAahB,GAClB,KAAKe,SAASF;AAAAA,EACjB;AAAA,EAzBa,OAAPxC,UAAU;AACN,WAAA;AAAA,EACV;AAAA,EAEW,OAALC,MAAMtB,GAAM;AACf,WAAO,IAAI2D,GAAc3D,EAAKuB,OAAOvB,EAAK+D,MAAnC;AAAA,EACV;AAAA,EAEgB,OAAVvC,WAAWjB,GAAgB;AAC9B,WAAO0D,GAAP;AAAA,EACH;AAAA,EAEDvC,aAAa;AACF,WAAA;AAAA,MACHC,MAAM;AAAA,MACNC,SAAS;AAAA,MACTmB,MAAM,KAAKgB;AAAAA,MACXf,UAAU,KAAKgB;AAAAA,IAAAA;AAAAA,EAEtB;AAAA,EAQDnC,UAAU5B,GAAQ;AACP8B,WAAAA,SAASC,cAAc,KAAvB;AAAA,EACV;AAAA,EAEDK,YAAY;AACD,WAAA;AAAA,EACV;AAAA,EAED6B,UAAU;AAEN,WADa,KAAKC,YACNJ;AAAAA,EACf;AAAA,EAEDR,QAAQR,GAAM;AACJqB,UAAAA,IAAO,KAAKC;AAClBD,IAAAA,EAAKL,SAAShB;AAAAA,EACjB;AAAA,EAEDuB,cAAc;AAEV,WADa,KAAKH,YACNH;AAAAA,EACf;AAAA,EAEDO,YAAYvB,GAAU;AACZoB,UAAAA,IAAO,KAAKC;AAClBD,IAAAA,EAAKJ,aAAahB;AAAAA,EACrB;AAAA,EAEDb,iBAAiB;AAEb,WADa,KAAKgC,YACNJ;AAAAA,EACf;AAAA,EAEDzB,SAASY,GAAQjD,GAAQ;AACrB,UAAMuE,IAAiBvE,EAAOwE,MAAMC,aAAa,CAAA,GAC3C5B,IAAY;AAAA,MACd6B,MAAMH,EAAeG,QAAQ;AAAA,MAC7BC,OAAOJ,EAAeI,SAAS;AAAA,IAAA;AAGnC,6BACK/B,IAAD;AAAA,MACI,WAAAC;AAAA,MACA,MAAM,KAAKiB;AAAAA,MACX,UAAU,KAAKC;AAAAA,MACf,SAAS,KAAKa,OAJlB;AAAA,MAKI,QAAA3B;AAAA,IAAA,CANR;AAAA,EASH;AAAA,EAEDd,aAAa;AACF,WAAA;AAAA,EACV;AApF4C;AAuFjC6B,SAAAA,GAAqBjB,GAAUa,GAAU;AAC9C,SAAA,IAAIF,GAAcX,GAAUa,CAA5B;AACV;AAEM,SAASiB,GAAiB9E,GAAM;AACnC,SAAOA,aAAgB2D;AAC1B;AC1HI,MAACoB,KAAgB;AAAA,EAClBC,GAAW;AAAA,EACXC,GAAQ;AAAA,EACRC,GAAY;AAAA,EACZC,GAAS;AAAA,EACTrF;AAAA,EACAsF,GAAQ;AAAA,EACRzB;AAAA,EACAxC;AACJ,GChBMkE,KAAe;AAAA,EACjB,WAAW;AAAA,EACX,SAAS;AAAA,IACL,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EACP;AAAA,EACD,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,IACF,QAAQ;AAAA,MACJ,UAAU;AAAA,IACb;AAAA,IACD,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,UAAU;AAAA,EACb;AAAA,EACD,MAAM;AAAA,EACN,MAAM;AAAA,IACF,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,WAAW;AAAA,IACX,eAAe;AAAA,IACf,wBAAwB;AAAA,IACxB,MAAM;AAAA,EACT;AAAA,EACD,MAAM;AACV;ACxBA,SAASC,GAAeC,GAAO;AAC3BC,UAAQD,MAAMA,CAAd;AACH;AAED,MAAME,KAAgB;AAAA,EAClBC,WAAW;AAAA,EACXjB,OAAOY;AAFW,GAKhBM,KAAiB,CAAC;AAAA,EACpBC,oBAAAA;AAAAA,EACAC,OAAAA,IAAQ,CAAC,GAAGd,EAAJ;AAAA,EACRe,SAAAA,IAAUR;AAAAA,EACVvE,UAAAA;AAJoB,MAKlB;AACIgF,QAAAA,IAAgB5C,EAAM6C,QAAQ,MACzBC,OAAOC,OAAO,CAAd,GAAkBT,IAAe;AAAA,IACpCI,OAAAA;AAAAA,IACAM,aAAaP;AAAAA,IACbE,SAAAA;AAAAA,EAAAA,CAHG,GAKR,CAACF,GAAoBC,GAAOC,CAA5B,CANmB;AAQtB,2BACKzH,GAAAA,iBAAD;AAAA,IAAiB,eAAA0H;AAAA,IAAjB,UAAAhF;AAAA,EAAA,CADJ;AAKH;sBC9BgB9U,KAAEb;AAAmB,SAASuD,GAAEhD,GAAE,IAAE,IAAG;AAAC,SAAGA,IAAQ,MAAGA,IAAEmD,GAAG,GAAC,MAAInD,IAAEA,EAAE,KAAI,IAAeA,MAAL;AAAM;AAAC,SAASmD,KAAG;AAAC,SAAO7C,GAAE,WAAW;AAAgB;AAAC,SAASiE,GAAEvE,GAAE,GAAE;AAAkE,MAA9D,CAAC,KAAG,CAACgD,GAAEhD,GAAE,EAAE,MAAWA,IAAEM,GAAE,SAAU,EAAC,YAAW,GAAG,IAAEN,EAAE,QAAU,IAAE;AAAE,WAAM;AAAG,WAAQR,IAAE,GAAEA,IAAE,GAAEA,KAAI;AAAC,QAAIW,IAAEH,EAAER;AAAG,QAAGc,GAAE,eAAeH,CAAC,GAAE;AAAC,UAAiBA,EAAE,WAAhB,eAA4BA,EAAE,aAAN;AAAe,eAAM;AAAG,MAAAA,IAAEA,EAAE,YAAa;AAAC,UAAIN,IAAEM,EAAE;AAAO,eAAQL,IAAE,GAAEA,IAAED,GAAEC;AAAI,YAAG,CAACQ,GAAE,YAAYH,EAAEX,EAAE;AAAE,iBAAM;AAAA,IAAE;AAAA,EAAC;AAAC,SAAM;AAAE;AAACib,GAAA,sBAA4BlW;AACpekW,GAAA,2BAAiC,SAASza,GAAE,GAAE;AAAC,SAAM,MAAIuE,GAAEvE,GAAE,CAAC;AAAC;AAAEya,GAAA,sCAA4C,SAASza,GAAE,GAAE;AAAC,MAAIG,IAAEH,EAAE,cAAa;AAAG,EAAAA,IAAE;AAAE,EAAAC;AAAE,WAAYE,MAAP,QAAU;AAAC,UAAGG,GAAE,eAAeH,CAAC,GAAE;AAAC,YAAIX,IAAEW,EAAE,cAAa;AAAG,YAAUX,MAAP,MAAS;AAAC,UAAAW,IAAEX;AAAE;AAAA,QAAQ;AAAA,MAAC,WAASc,GAAE,YAAYH,CAAC,GAAE;AAA0B,YAAzBX,IAAEW,EAAE,sBAAwBH,IAAER,IAAE;AAAE,iBAAM,EAAC,MAAKW,GAAE,QAAO,IAAEH,EAAC;AAAE,QAAAA,KAAGR;AAAA,MAAC;AAAsB,UAArBA,IAAEW,EAAE,eAAc,GAAaX,MAAP;AAAS,QAAAW,IAAEX;AAAA,WAAM;AAAC,aAAIW,IAAEA,EAAE,UAAW,GAAQA,MAAP,QAAU;AAAsB,cAArBX,IAAEW,EAAE,eAAgB,GAAWX,MAAP,MAAS;AAAC,YAAAW,IAAEX;AAAE,qBAASS;AAAA,UAAC;AAAC,UAAAE,IAAEA,EAAE;QAAW;AAAC;AAAA,MAAK;AAAA,IAAC;AAAC,SAAO;AAAI;AAC5csa,GAAA,0BAACzX;AAAsCyX,GAAA,+BAAC,SAASza,GAAE,GAAE;AAAC,SAAM,MAAIgD,GAAEhD,GAAE,CAAC;AAAC;AAAEya,GAAA,mBAAyBtX;AAC/FsX,GAAA,4BAAC,SAASza,GAAE,GAAEG,GAAEX,GAAE;AAAC,MAAIK,IAAE,CAAAI,MAAG;AAAC,UAAMG,IAAEE,GAAE,gBAAgBL,EAAE,eAAc,CAAE;AAAE,IAAAG,EAAE,UAAUH,EAAE,UAAS,CAAE,GAAEA,EAAE,QAAQG,CAAC;AAAA,EAAC,GAAEN,IAAEE,EAAE,sBAAsBM,GAAE,UAAS,CAAAL,MAAG;AAAC,QAAGA,EAAE,aAAc,GAAC;AAAC,UAAIG,IAAEH,EAAE,sBAAqBN,IAAEM,EAAE,eAAgB,GAACL,IAAEK;AAAE,UAAGK,GAAE,YAAYF,CAAC,GAAE;AAAC,YAAIV,IAAEU,EAAE,eAAgB,GAACF,IAAE,EAAER,IAAEC,CAAC;AAAE,YAAGS,aAAaD,GAAE;AAAC,cAAUD,MAAP,QAAcE,EAAE,UAAS,EAAG,WAAlB,GAAyB;AAAC,YAAAP,EAAEO,CAAC;AAAE;AAAA,UAAM;AAAkB,cAAjBF,IAAEA,EAAE,MAAIR,EAAE,QAAU,IAAEQ,GAAE;AAAC,YAAAN,IAAED,EAAE,MAAM,GAAEO,CAAC,GAAEN,IAAEF,IAAEE,GAAEQ,EAAE,OAAQ,GAACA,EAAE,eAAeR,CAAC,GAAEM,MAAIP,EAAE,SAAOM,EAAE,OAAQ,KAAEG,IAAET,EAAE,MAAMO,CAAC,GACvfD,EAAE,eAAeG,CAAC;AAAG;AAAA,UAAM;AAAA,QAAC,WAAgBF,MAAP,QAAUA,EAAE,QAAMR,EAAE;AAAO;AAAA,MAAM;AAAC,iBAAO;AAAuC,YAAtCO,IAAE,EAAEN,CAAC,GAAEA,IAAEO,IAASD,MAAP,OAAS,KAAGN,EAAE,MAAMM,EAAE,GAAG,GAAUC,MAAL;AAAQ,cAAGR,IAAEE,EAAE,eAAgB,GAACU,GAAE,YAAYZ,CAAC;AAAE,gBAAGQ,IAAEN,EAAE,eAAgB,IAACF,EAAE,eAAgB,GAACQ,IAAE,EAAEA,CAAC,GAASA,MAAP,MAAS;AAAC,cAAAR,aAAaS,IAAEN,EAAEH,CAAC,IAAEA,EAAE,UAAW;AAAC;AAAA,YAAK,WAAaQ,EAAE,UAAN;AAAY;AAAA;AAAA,mBAAcR,IAAE,EAAEQ,CAAC,GAASR,MAAP,QAAcA,EAAE,UAAN;AAAY;AAAM,YAAUO,MAAP;AAAS;AAAM,YAAOA,EAAE,UAAN,KAAaK,GAAE,YAAYF,CAAC,KAAGA,EAAE,aAAY;AAAG;AAAS,YAAIL;AACpa,YAD0aE,EAAE,UAAN,IAAY,CAACF,GAAEH,CAAC,IAAEA,EAAE,UAAUK,EAAE,GAAG,IAAE,CAAA,EAAEF,GAAEH,CAAC,IAAEA,EAAE,UAAUK,EAAE,OAAMA,EAAE,GAAG,GAAEA,IAAET,EAAEO,CAAC,GAAEA,EAAE,QAAQE,CAAC,GACtfL,KAAN;AAAQ;AAAA,MAAK;AAAA,IAAC;AAAA,EAAC,CAAC;AAAE,SAAAI,IAAEA,EAAE,sBAAsBG,GAAE,CAAAF,MAAG;AAAC,QAAIG,IAAEH,EAAE,eAAgB;AAAC,UAAMN,IAAE,EAAES,CAAC;AAAE,IAAOT,MAAP,QAAcA,EAAE,UAAN,IAAYE,EAAEI,CAAC,IAAEG,EAAE,SAAOT,EAAE,MAAIM,EAAE,UAAUN,EAAE,GAAG,KAAGS,IAAEH,EAAE,mBAAoB,GAACK,GAAE,YAAYF,CAAC,KAAGA,EAAE,aAAc,MAAGP,EAAEO,CAAC,GAAEP,EAAEI,CAAC,IAAGG,IAAEH,EAAE,eAAgB,GAACK,GAAE,YAAYF,CAAC,KAAGA,EAAE,aAAY,MAAKP,EAAEO,CAAC,GAAEH,aAAaE,KAAGN,EAAEI,CAAC;AAAA,EAAG,CAAC,GAAQ,CAACH,GAAEE,CAAC;AAAC;ACJrU,MAAM0a,KAAyFjb;AAC/F,IAAAkb,KAAiBD,aCFAxa,KAAET;AACUmb,GAAA,wBAAC,SAASjb,GAAE;AAAC,MAAIqD,IAAE,CAAApD,MAAG;AAAC,QAAIU,IAAEX,EAAE,eAAgB;AAAC,QAAG,SAAS,kBAAgBW,MAAIA,IAAEV,EAAE,MAAgB,OAAOU,KAAlB,WAAqB;AAAC,UAAG;AAAC,YAAIL,IAAE,KAAK,MAAMK,CAAC;AAAA,MAAC,QAAC;AAAS;AAAA,MAAM;AAAC,UAAGL,KAAyBA,EAAE,aAAxB,uBAA8CA,EAAE,SAAd,cAAqBA,IAAEA,EAAE,YAA0BA,EAAE,eAAlB,kBAA+BA,IAAEA,EAAE,OAAM;AAAC,cAAM,CAACP,GAAEG,GAAEC,GAAEC,GAAEoD,CAAC,IAAElD;AAAE,QAAAN,EAAE,OAAO,MAAI;AAAC,gBAAMH,IAAEU,GAAE,cAAa;AAAG,cAAGA,GAAE,kBAAkBV,CAAC,GAAE;AAAC,gBAAIa,IAAEb,EAAE;AAAO,gBAAIW,IAAEE,EAAE,QAAS,GAACL,IAAE,GAAEI,IAAE;AAAEF,YAAAA,GAAE,YAAYC,CAAC,KAAG,KAAGT,KAAG,KAAGG,MAAIG,IAAEN,GAAEU,IAAEV,IAAEG,GAAEL,EAAE,iBAAiBW,GAAEH,GAAEG,GAAEC,CAAC,KAAMJ,MAClfI,KAAQN,MAAL,QAAON,EAAE,cAAcM,CAAC,GAAEK,IAAEE,EAAE,QAAS,IAACH,GAAE,YAAYC,CAAC,MAAIH,IAAED,GAAEK,IAAEL,IAAEoD,GAAE9C,IAAEF,EAAE,mBAAkB,GAAGH,IAAEA,IAAEK,IAAEA,IAAEL,GAAEI,IAAEA,IAAEC,IAAEA,IAAED,GAAEZ,EAAE,iBAAiBW,GAAEH,GAAEG,GAAEC,CAAC,IAAGR,EAAE,yBAA0B;AAAA,UAAA;AAAA,QAAC,CAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAE,gBAAO,iBAAiB,WAAUoD,GAAE,EAAE,GAAQ,MAAI;AAAC,WAAO,oBAAoB,WAAUA,GAAE,EAAE;AAAA,EAAC;AAAC;ACDnR,MAAM6X,KAA6Fpb;AACnG,IAAAqb,KAAiBD,ICFA7a,KAAEP,IAAiDa,KAAEiS,GAAiB5S,KAAE6S,IAAyB5S,KAAE4T,IAA0B3T,KAAE4T,IAAqB3T,KAAEib,IAA2Bhb,KAAEib,IAA8BhY,KAAgB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,MAAmD1C,GAAE,kBAAgBA,GAAE;AAAU,SAAS6C,GAAElD,GAAE;AAAC,SAAOA,EAAE,iBAAiB,KAAKN,GAAE,yBAAyBM,EAAE,YAAW,GAAGA,EAAE,WAAY,CAAA,CAAC;AAAC;AAChe,SAASsE,GAAEtE,GAAE;AAAC,MAAI,CAAC,GAAEG,CAAC,IAAEE,GAAE,SAAS,MAAI6C,GAAElD,CAAC,CAAC;AAAE+C,SAAAA,GAAE,MAAI;AAAC,aAAS7C,IAAG;AAAC,UAAIX,IAAE2D,GAAElD,CAAC;AAAE,MAAAG,EAAEZ,CAAC;AAAA,IAAC;AAAC,WAAAW,EAAC,GAAUP,GAAE,cAAcK,EAAE,uBAAuB,MAAI;AAAC,MAAAE,EAAC;AAAA,IAAE,CAAC,GAAEF,EAAE,yBAAyB,MAAI;AAAC,MAAAE,EAAC;AAAA,IAAE,CAAC,CAAC;AAAA,EAAC,GAAE,CAACF,CAAC,CAAC,GAAS;AAAC;AACrM,SAASyE,GAAEzE,GAAE;AAAC,MAAI,CAAC,GAAEG,CAAC,IAAEE,GAAE,SAAS,MAAIL,EAAE,cAAa,CAAE;AAAE+C,SAAAA,GAAE,MAAI/C,EAAE,0BAA0B,CAAAE,MAAG;AAAC,IAAAN,GAAE,UAAU,MAAI;AAAC,MAAAO,EAAED,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC,CAAC,GAAE,CAACF,CAAC,CAAC,GAAEK,GAAE,UAAU,MAAI;AAAC,IAAAF,EAAEH,EAAE,cAAe,CAAA;AAAA,EAAC,GAAE,CAACA,CAAC,CAAC,GAASK,GAAE,QAAQ,MAAI;AAAC,QAAIH,IAAE,CAAE,GAACX,IAAE,OAAO,KAAK,CAAC;AAAE,aAAQE,IAAE,GAAEA,IAAEF,EAAE,QAAOE,KAAI;AAAC,UAAIQ,IAAEV,EAAEE;AAAG,UAAIiF,IAAE,EAAEzE;AAAG,MAAAA,IAAED,EAAE,gBAAgBC,CAAC,GAASA,MAAP,QAAUC,EAAE,KAAKN,GAAE,aAAa8E,GAAEzE,CAAC,CAAC;AAAA,IAAC;AAAC,WAAOC;AAAA,EAAC,GAAE,CAAC,GAAEF,CAAC,CAAC;AAAC;AAAC,SAASwE,GAAExE,GAAE;AAAC+C,EAAAA,GAAE,MAAIpD,GAAE,cAAcG,GAAE,iBAAiBE,CAAC,GAAEH,GAAE,sBAAsBG,CAAC,CAAC,GAAE,CAACA,CAAC,CAAC;AAAC;AACrbgb,GAAA,iBAAuB,SAAS,EAAC,iBAAgBhb,GAAE,aAAY,EAAC,GAAE;AAAC,MAAI,CAACG,CAAC,IAAEJ,GAAE,0BAAyB,GAAGG,IAAEoE,GAAEnE,CAAC,GAAEZ,IAAEkF,GAAEtE,CAAC;AAAE,SAAAqE,GAAErE,CAAC,GAASE,GAAE,cAAcA,GAAE,UAAS,MAAKL,GAAEE,KAAG,GAAEX,CAAC;AAAC;ACF5K,MAAM0b,KAA6Gzb;AACnH,IAAA0b,KAAiBD,aCFA/a,KAAEV,IAAiDC,KAAE6S,GAAiB5S,KAAgB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,MAAmDD,GAAE,kBAAgBA,GAAE;AACnO0b,GAAA,kBAAwB,SAAS,EAAC,wBAAuBxb,GAAE,kBAAiBC,GAAE,cAAaC,GAAE,iBAAgBC,GAAE,cAAaiD,GAAE,WAAUG,GAAE,gBAAeoB,GAAE,eAAcG,GAAE,aAAYC,GAAE,cAAaF,GAAE,gBAAepE,GAAE,cAAa0E,GAAE,aAAYvF,GAAE,WAAUyF,GAAE,IAAGJ,GAAE,MAAK3E,IAAE,WAAU,YAAWiF,IAAE,IAAG,OAAML,GAAE,UAASE,GAAE,QAAOK,EAAC,GAAE;AAAC,MAAI,CAACrF,CAAC,IAAEG,GAAE,6BAA4B,CAACF,GAAEK,CAAC,IAAEZ,GAAE,SAAS,EAAE,GAAE8F,IAAE9F,GAAE,YAAY,CAAAU,MAAG;AAAC,IAAAJ,EAAE,eAAeI,CAAC;AAAA,EAAC,GAAE,CAACJ,CAAC,CAAC;AAAEL,SAAAA;AAAAA,IAAE,OAAKW,EAAEN,EAAE,YAAY,GAASA,EAAE,yBAAyB,CAAAI,MAAG;AAAC,MAAAE,EAAEF,CAAC;AAAA,IAAC,CAAC;AAAA,IACnf,CAACJ,CAAC;AAAA,EAAC,GAASN,GAAE,cAAc,OAAM,EAAC,yBAAwBO,IAAEL,IAAE,MAAK,qBAAoBK,IAAEJ,IAAE,MAAK,iBAAgBI,IAAEH,IAAE,MAAK,oBAAmBC,GAAE,iBAAgBE,KAAeC,MAAb,aAAe,CAAC,CAAC8C,IAAO,MAAK,cAAaG,GAAE,mBAAkBoB,GAAE,kBAAiBG,GAAE,aAAYzE,IAAE0E,IAAE,MAAK,iBAAgBF,GAAE,gBAAwBpE,MAAT,SAAW,OAAOA,CAAC,IAAE,QAAO,cAAa0E,GAAE,aAAqBvF,MAAT,SAAW,OAAOA,CAAC,IAAE,QAAO,WAAUyF,GAAE,iBAAgBhF,GAAE,eAAcoF,GAAE,IAAGR,GAAE,KAAIW,GAAE,MAAKvF,IAAEC,IAAE,QAAO,YAAWiF,GAAE,OAAML,GAAE,UAASE,EAAC,CAAC;AAAC;ACDve,MAAMqW,KAA+G5b;AACrH,IAAA6b,KAAiBD,sBCFAjb,KAAEX,IAA0B8E,IAAEgO;AAC/C,SAAS7N,GAAEvE,GAAEF,GAAEL,GAAEF,GAAEI,GAAE;AAAC,MAAUK,MAAP,QAAcP,EAAE,SAAN,KAAgBF,EAAE,SAAN,KAAY,CAACI;AAAE,WAAO;AAAE,MAAIN,IAAES,EAAE,YAAWD,IAAEG,EAAE;AAAW,MAAGL;AAAE,WAAO;AAAE,MAAG,EAAEyE,EAAE,kBAAkB/E,CAAC,KAAG+E,EAAE,kBAAkBvE,CAAC,KAAGA,EAAE,YAAW,KAAIR,EAAE,YAAa;AAAE,WAAO;AAAE,EAAAM,IAAEG,EAAE;AAAS,MAAII,IAAE,CAAE;AAAC,WAAQH,KAAKN;AAAE,IAAAA,IAAEE,EAAE,IAAII,CAAC,GAAWN,MAAT,UAAYS,EAAE,KAAKT,CAAC;AAAE,WAAQ,CAACM,GAAEL,CAAC,KAAIH;AAAE,IAAAG,MAAIH,IAAEI,EAAE,IAAII,CAAC,GAAWR,MAAT,UAAY6E,EAAE,YAAY7E,CAAC,KAAGW,EAAE,KAAKX,CAAC;AAAG,SAAOW,EAAE,WAAN,IAAoB,IAAK,IAAEA,EAAE,UAAcX,IAAEO,EAAE,UAASA,IAAEP,EAAE,IAAIF,EAAE,OAAO,GAAG,GAAEQ,IAAEN,EAAE,IAAIM,EAAE,OAAO,GAAG,GAAEC,KAAGD,KAAG,CAACG,EAAE,SAAS,IAAIF,EAAE,KAAK,KAAGsE,EAAE,YAAYtE,CAAC,KACzfA,EAAE,OAAO,WAAb,KAAyBT,EAAE,OAAO,WAAb,IAAoB,IAAE,MAAES,IAAEI,EAAE,IAAGF,IAAEA,EAAE,SAAS,IAAIF,EAAE,KAAK,GAAK,CAACsE,EAAE,YAAYpE,CAAC,KAAG,CAACoE,EAAE,YAAYtE,CAAC,KAAGE,EAAE,WAASF,EAAE,WAAgBE,IAAEA,EAAE,QAAOF,IAAEA,EAAE,QAAUE,MAAIF,OAAWT,IAAEA,EAAE,QAAOQ,IAAEA,EAAE,QAAUR,EAAE,QAAMQ,EAAE,OAAcR,EAAE,SAAX,UAAuB,KAAEA,IAAEA,EAAE,QAAOQ,IAAEA,EAAE,QAAOG,IAAEF,EAAE,SAAOE,EAAE,QAAkBA,MAAJ,KAAOH,MAAIR,IAAE,IAAE,IAAOW,MAAL,MAAQH,MAAIR,IAAE,IAAE,IAAOW,MAAL,MAAQH,MAAIR,IAAE,IAAE;AAAC;AAClW,SAASmF,GAAExE,GAAEF,GAAE;AAAC,MAAIL,IAAE,KAAK,IAAK,GAACF,IAAE;AAAE,SAAM,CAACI,GAAEN,GAAEQ,GAAEK,GAAEH,GAAEL,MAAI;AAAC,QAAImD,IAAE,KAAK,IAAK;AAAC,QAAGnD,EAAE,IAAI,UAAU;AAAE,aAAOH,IAAE,GAAEE,IAAEoD,GAAE;AAAE,QAAIjD,IAAE2E,GAAE5E,GAAEN,GAAEa,GAAEH,GAAEC,EAAE,YAAa,CAAA,GAAEgD,KAAG,MAAI;AAAC,UAAIxD,IAASK,MAAP,QAAUA,EAAE,WAASG,GAAEG,IAAET,EAAE,IAAI,cAAc;AAAE,UAAG,CAACS,KAAGX,KAAGE,EAAE,IAAI,eAAe;AAAE,eAAO;AAAE,UAAUC,MAAP;AAAS,eAAO;AAAE,YAAM2E,IAAEjF,EAAE,YAAWuF,IAAEjF,EAAE;AAAW,aAAO,IAAEO,EAAE,QAAM,IAAEH,EAAE,OAAUI,MAAL,MAAYP,MAAJ,KAAOA,MAAIL,KAAGsD,IAAEpD,IAAEK,KAAGN,KAAOU,EAAE,SAAN,MAAaC,IAAE,MAAM,KAAKD,CAAC,EAAE,IAAGV,IAAEG,EAAE,SAAS,IAAIQ,CAAC,GAAEA,IAAEd,EAAE,SAAS,IAAIc,CAAC,GAAEX,IAAE4E,EAAE,YAAY5E,CAAC,KAAG4E,EAAE,YAAYjE,CAAC,IAAEX,EAAE,WAASW,EAAE,UAAQX,EAAE,WACjfW,EAAE,UAAQX,EAAE,WAASW,EAAE,UAAQX,EAAE,aAAWW,EAAE,YAAUX,EAAE,YAAUW,EAAE,WAASX,EAAE,aAAWW,EAAE,YAAUX,EAAE,aAAWW,EAAE,WAAS,IAAGX,KAAG,IAAE,IAASoF,MAAP,QAAiBN,MAAP,OAAS,IAAE;AAAA,IAAC;AAAK,WAAA7E,IAAEoD,GAAEtD,IAAEK,GAASoD;AAAA,EAAC;AAAC;AAACoY,GAAA,0BAAgC,WAAU;AAAC,SAAM,EAAC,SAAQ,MAAK,WAAU,CAAA,GAAG,WAAU,CAAE,EAAA;AAAC;AACzPA,GAAA,kBAAC,SAASpb,GAAEF,GAAEL,GAAE;AAAC,MAAIF,IAAEiF,GAAExE,GAAEP,CAAC;AAAE,EAAAA,IAAE,CAAC,EAAC,aAAYI,GAAE,iBAAgBK,GAAE,aAAYH,GAAE,eAAcL,GAAE,MAAKmD,EAAC,MAAI;AAAC,UAAMjD,IAAEE,EAAE,SAAQkD,IAAElD,EAAE,WAAUN,IAAEM,EAAE,WAAUK,IAASP,MAAP,OAAS,OAAKA,EAAE;AAAY,QAAUA,MAAP,QAAUC,MAAIM,GAAE;AAAkB,UAAjBJ,IAAER,EAAEW,GAAEL,GAAED,GAAEG,GAAEL,GAAEmD,CAAC,GAAS9C,MAAJ;AAAM,QAAIiD,EAAE,WAAN,MAAelD,EAAE,YAAU,CAAA,IAAWF,MAAP,SAAWJ,EAAE,KAAK,EAAC,GAAGI,GAAE,eAAcM,EAAE,KAAKkE,EAAE,aAAa,EAAC,CAAC,GAAEpE,EAAE,gBAAgBoE,EAAE,kBAAiB,EAAE;AAAA,eAAerE,MAAJ;AAAM;AAAO,MAAAD,EAAE,UAAQ,EAAC,QAAOE,GAAE,aAAYH,EAAC;AAAA,IAAC;AAAA,EAAC;AAAE,MAAIF,IAAEM,GAAE;AAAA,IAAcD,EAAE;AAAA,MAAgBoE,EAAE;AAAA,MACze,MAAI;AAAC,YAAIvE,IAAEC,EAAE,WAAUI,IAAEJ,EAAE;AAAU,YAAOI,EAAE,WAAN,GAAa;AAAC,cAAIH,IAAED,EAAE,SAAQJ,IAAEQ,EAAE,IAAK;AAAC,UAAOH,MAAP,SAAWF,EAAE,KAAKE,CAAC,GAAEC,EAAE,gBAAgBoE,EAAE,kBAAiB,EAAE,IAAOlE,EAAE,WAAN,KAAcF,EAAE,gBAAgBoE,EAAE,kBAAiB,EAAE,GAAEtE,EAAE,UAAQJ,KAAG,MAAKA,KAAGA,EAAE,OAAO,eAAeA,EAAE,YAAY,MAAMA,EAAE,aAAa,GAAE,EAAC,KAAI,WAAU,CAAC;AAAA,QAAC;AAAC,eAAM;AAAA,MAAE;AAAA,MAAE0E,EAAE;AAAA,IAAuB;AAAA,IAAEpE,EAAE,gBAAgBoE,EAAE,cAAa,MAAI;AAAC,UAAIvE,IAAEC,EAAE;AAAU,UAAII,IAAEJ,EAAE;AAAU,UAAOD,EAAE,WAAN,GAAa;AAAC,YAAIE,IAAED,EAAE;AAAQ,QAAOC,MAAP,SAAWG,EAAE,KAAKH,CAAC,GAAEC,EAAE,gBAAgBoE,EAAE,kBAAiB,EAAE,IACtflE,IAAEL,EAAE,IAAG,GAAOA,EAAE,WAAN,KAAcG,EAAE,gBAAgBoE,EAAE,kBAAiB,EAAE,GAAEtE,EAAE,UAAQI,KAAG,MAAKA,KAAGA,EAAE,OAAO,eAAeA,EAAE,aAAY,EAAC,KAAI,WAAU,CAAC;AAAA,MAAC;AAAC,aAAM;AAAA,IAAE,GAAEkE,EAAE,uBAAuB;AAAA,IAAEpE,EAAE,gBAAgBoE,EAAE,sBAAqB,OAAKtE,EAAE,YAAU,CAAA,GAAGA,EAAE,YAAU,IAAGA,EAAE,UAAQ,MAAW,KAAIsE,EAAE,uBAAuB;AAAA,IAAEpE,EAAE,gBAAgBoE,EAAE,uBAAsB,OAAKtE,EAAE,YAAU,CAAA,GAAGA,EAAE,YAAU,CAAA,GAAGA,EAAE,UAAQ,MAAKE,EAAE,gBAAgBoE,EAAE,kBAAiB,EAAE,GAAEpE,EAAE,gBAAgBoE,EAAE,kBAAiB,EAAE,GAAQ,KAAIA,EAAE,uBAAuB;AAAA,IACpgBpE,EAAE,uBAAuBP,CAAC;AAAA,EAAC,GAAEJ,IAAEW,EAAE,uBAAuBP,CAAC;AAAE,SAAM,MAAI;AAAC,IAAAE,EAAG,GAACN,EAAC;AAAA,EAAE;AAAC;ACP9E,MAAMgc,KAA+F/b;AACrG,IAAAgc,KAAiBD,ICFAxb,KAAEP,IAAiDic,KAAQnJ,IAA4B/S,KAAEgT;AAAiB,SAAStS,GAAED,GAAEE,GAAEC,IAAE,KAAI;AAAC,MAAIC,IAAEb,GAAE,QAAQ,MAAIW,KAAGub,GAAQ,wBAAyB,GAAC,CAACvb,CAAC,CAAC;AAAEX,EAAAA,GAAE,UAAU,MAAIkc,GAAQ,gBAAgBzb,GAAEI,GAAED,CAAC,GAAE,CAACA,GAAEH,GAAEI,CAAC,CAAC;AAAC;AAACsb,GAAA,0BAAgCD,GAAQ;AAA6CC,GAAA,gBAAC,SAAS,EAAC,sBAAqB1b,EAAC,GAAE;AAAC,MAAI,CAACE,CAAC,IAAEH,GAAE,0BAAyB;AAAGE,SAAAA,GAAEC,GAAEF,CAAC,GAAS;AAAI;ACCxb,MAAM2b,KAA2Gnc;AACjH,IAAAoc,KAAiBD,aCFA5b,KAAEP,IAAiDD,KAAE+S,GAAiBrS,KAAgB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,MAAmDV,GAAE,kBAAgBA,GAAE;AAC7Msc,GAAA,iBAAC,SAAS,EAAC,6BAA4B1b,IAAE,IAAG,uBAAsB,IAAE,IAAG,UAASH,EAAC,GAAE;AAAC,MAAI,CAACE,CAAC,IAAEH,GAAE,0BAAyB;AAAGE,SAAAA,GAAE,MAAI;AAAC,QAAGD;AAAE,aAAOE,EAAE,uBAAuB,CAAC,EAAC,aAAYG,GAAE,eAAcZ,GAAE,aAAYC,GAAE,iBAAgBC,GAAE,MAAKC,EAAC,MAAI;AAAC,aAAOH,EAAE,SAAN,KAAgBC,EAAE,SAAN,KAAYS,KAAGP,EAAE,IAAI,eAAe,KAAGD,EAAE,QAAS,KAAEK,EAAEK,GAAEH,CAAC;AAAA,MAAC,CAAC;AAAA,EAAC,GAAE,CAACA,GAAEC,GAAE,GAAEH,CAAC,CAAC,GAAS;AAAI;ACA1W,MAAM8b,KAA6Gtc;AACnH,IAAAuc,KAAiBD,aCFA5b,KAAEV,IAAyBO,KAAEuS,IAAiDnS,KAAEoS,GAAiBnS,KAAEmT,IAA0BhU,KAAEiU;AAChJ,SAASvT,GAAED,GAAE;AAACG,EAAAA,GAAE,UAAU,MAAIC,GAAE,cAAcJ,EAAE,gBAAgBT,GAAE,wBAAuB,OAAKW,GAAE,WAAU,GAAS,KAAIX,GAAE,oBAAoB,GAAES,EAAE,gBAAgBT,GAAE,yBAAwB,OAAKW,GAAE,YAAW,GAAS,KAAIX,GAAE,oBAAoB,GAAES,EAAE,gBAAgBE,GAAE,6BAA4B,OAAKA,GAAE,WAAWF,GAAE,QAAQ,GAAQ,KAAIT,GAAE,oBAAoB,GAAES,EAAE,gBAAgBE,GAAE,+BAA8B,OAAKA,GAAE,WAAWF,GAAE,QAAQ,GAAQ,KAAIT,GAAE,oBAAoB,GAAES,EAAE;AAAA,IAAgBE,GAAE;AAAA,IACxe,OAAKA,GAAE,WAAWF,CAAC,GAAQ;AAAA,IAAIT,GAAE;AAAA,EAAoB,GAAES,EAAE,gBAAgBT,GAAE,0BAAyB,MAAI,EAAAW,GAAE,2BAA4B,GAAOX,GAAE,oBAAoB,CAAC,GAAE,CAACS,CAAC,CAAC;AAAC;AAACgc,GAAA,aAAmB,WAAU;AAAC,MAAI,CAAChc,CAAC,IAAED,GAAE,0BAA2B;AAACI,SAAAA,GAAE,UAAU,MAAI;AAAC,QAAG,CAACH,EAAE,SAAS,CAACE,GAAE,UAASA,GAAE,YAAY,CAAC;AAAE,YAAM,MAAM,mEAAmE;AAAA,EAAE,GAAE,CAACF,CAAC,CAAC,GAAEC,GAAED,CAAC,GAAS;AAAI;ACDpZ,MAAMic,KAAqGzc;AAC3G,IAAA0c,KAAiBD;;ACDjB,MAAIE,IAAS,OAAO,SAAW,MAC5B,SAEA,OAAO,oBAAsB,OAAe,gBAAgB,oBAC1D,OACA,CAAE;AAGP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,MAAIC,IAAS,SAAUD,GAAO;AAG7B,QAAIE,IAAO,2CACPC,IAAW,GAGXC,IAAmB,CAAA,GAGnBC,IAAI;AAAA,MAsBP,QAAQL,EAAM,SAASA,EAAM,MAAM;AAAA,MAsBnC,6BAA6BA,EAAM,SAASA,EAAM,MAAM;AAAA,MAWxD,MAAM;AAAA,QACL,QAAQ,SAASM,EAAOC,GAAQ;AAC/B,iBAAIA,aAAkBC,IACd,IAAIA,EAAMD,EAAO,MAAMD,EAAOC,EAAO,OAAO,GAAGA,EAAO,KAAK,IACxD,MAAM,QAAQA,CAAM,IACvBA,EAAO,IAAID,CAAM,IAEjBC,EAAO,QAAQ,MAAM,OAAO,EAAE,QAAQ,MAAM,MAAM,EAAE,QAAQ,WAAW,GAAG;AAAA,QAElF;AAAA,QAkBD,MAAM,SAAUE,GAAG;AAClB,iBAAO,OAAO,UAAU,SAAS,KAAKA,CAAC,EAAE,MAAM,GAAG,EAAE;AAAA,QACpD;AAAA,QAQD,OAAO,SAAUC,GAAK;AACrB,iBAAKA,EAAI,QACR,OAAO,eAAeA,GAAK,QAAQ,EAAE,OAAO,EAAEP,EAAQ,CAAE,GAElDO,EAAI;AAAA,QACX;AAAA,QAYD,OAAO,SAASC,EAAUF,GAAGG,GAAS;AACrC,UAAAA,IAAUA,KAAW;AAErB,cAAIrH,GAAWhJ;AACf,kBAAQ8P,EAAE,KAAK,KAAKI,CAAC;AAAA,iBACf;AAEJ,kBADAlQ,IAAK8P,EAAE,KAAK,MAAMI,CAAC,GACfG,EAAQrQ;AACX,uBAAOqQ,EAAQrQ;AAEhB,cAAAgJ,IAA4C,CAAE,GAC9CqH,EAAQrQ,KAAMgJ;AAEd,uBAASwC,KAAO0E;AACf,gBAAIA,EAAE,eAAe1E,CAAG,MACvBxC,EAAMwC,KAAO4E,EAAUF,EAAE1E,IAAM6E,CAAO;AAIxC,qBAA2BrH;AAAA,iBAEvB;AAEJ,qBADAhJ,IAAK8P,EAAE,KAAK,MAAMI,CAAC,GACfG,EAAQrQ,KACJqQ,EAAQrQ,MAEhBgJ,IAAQ,CAAA,GACRqH,EAAQrQ,KAAMgJ,GAE2BkH,EAAK,QAAQ,SAAUnY,GAAGuY,GAAG;AACrE,gBAAAtH,EAAMsH,KAAKF,EAAUrY,GAAGsY,CAAO;AAAA,cACtC,CAAO,GAE0BrH;AAAA;AAG3B,qBAAOkH;AAAA;AAAA,QAET;AAAA,QAUD,aAAa,SAAUtI,GAAS;AAC/B,iBAAOA,KAAS;AACf,gBAAI3U,IAAI0c,EAAK,KAAK/H,EAAQ,SAAS;AACnC,gBAAI3U;AACH,qBAAOA,EAAE,GAAG;AAEb,YAAA2U,IAAUA,EAAQ;AAAA,UAClB;AACD,iBAAO;AAAA,QACP;AAAA,QASD,aAAa,SAAUA,GAAS8C,GAAU;AAGzC,UAAA9C,EAAQ,YAAYA,EAAQ,UAAU,QAAQ,OAAO+H,GAAM,IAAI,GAAG,EAAE,GAIpE/H,EAAQ,UAAU,IAAI,cAAc8C,CAAQ;AAAA,QAC5C;AAAA,QASD,eAAe,WAAY;AAC1B,cAAI,OAAO,WAAa;AACvB,mBAAO;AAER,cAAI,mBAAmB,YAAY,IAAI;AACtC,mBAA2B,SAAS;AAOrC,cAAI;AACH,kBAAM,IAAI,MAAK;AAAA,UACf,SAAQ6F,GAAP;AAQD,gBAAIC,KAAO,qCAAqC,KAAKD,EAAI,KAAK,KAAK,IAAI;AACvE,gBAAIC,GAAK;AACR,kBAAIC,IAAU,SAAS,qBAAqB,QAAQ;AACpD,uBAASH,KAAKG;AACb,oBAAIA,EAAQH,GAAG,OAAOE;AACrB,yBAAOC,EAAQH;AAAA,YAGjB;AACD,mBAAO;AAAA,UACP;AAAA,QACD;AAAA,QAqBD,UAAU,SAAU1I,GAAS4C,GAAWkG,GAAmB;AAG1D,mBAFIC,IAAK,QAAQnG,GAEV5C,KAAS;AACf,gBAAIgJ,IAAYhJ,EAAQ;AACxB,gBAAIgJ,EAAU,SAASpG,CAAS;AAC/B,qBAAO;AAER,gBAAIoG,EAAU,SAASD,CAAE;AACxB,qBAAO;AAER,YAAA/I,IAAUA,EAAQ;AAAA,UAClB;AACD,iBAAO,CAAC,CAAC8I;AAAA,QACT;AAAA,MACD;AAAA,MASD,WAAW;AAAA,QAIV,OAAOb;AAAA,QACP,WAAWA;AAAA,QACX,MAAMA;AAAA,QACN,KAAKA;AAAA,QA8BL,QAAQ,SAAU7P,GAAI6Q,GAAO;AAC5B,cAAIlB,IAAOG,EAAE,KAAK,MAAMA,EAAE,UAAU9P,EAAG;AAEvC,mBAASwL,KAAOqF;AACf,YAAAlB,EAAKnE,KAAOqF,EAAMrF;AAGnB,iBAAOmE;AAAA,QACP;AAAA,QA6ED,cAAc,SAAUmB,GAAQC,GAAQC,GAAQC,GAAM;AACrD,UAAAA,IAAOA,KAA4BnB,EAAE;AACrC,cAAIoB,IAAUD,EAAKH,IAEfK,IAAM,CAAA;AAEV,mBAASC,KAASF;AACjB,gBAAIA,EAAQ,eAAeE,CAAK,GAAG;AAElC,kBAAIA,KAASL;AACZ,yBAASM,KAAYL;AACpB,kBAAIA,EAAO,eAAeK,CAAQ,MACjCF,EAAIE,KAAYL,EAAOK;AAM1B,cAAKL,EAAO,eAAeI,CAAK,MAC/BD,EAAIC,KAASF,EAAQE;AAAA,YAEtB;AAGF,cAAIE,IAAML,EAAKH;AACf,iBAAAG,EAAKH,KAAUK,GAGfrB,EAAE,UAAU,IAAIA,EAAE,WAAW,SAAUtE,GAAKpB,IAAO;AAClD,YAAIA,OAAUkH,KAAO9F,KAAOsF,MAC3B,KAAKtF,KAAO2F;AAAA,UAElB,CAAK,GAEMA;AAAA,QACP;AAAA,QAGD,KAAK,SAASI,EAAIrB,GAAGsB,GAAUnI,GAAMgH,GAAS;AAC7C,UAAAA,IAAUA,KAAW;AAErB,cAAIoB,IAAQ3B,EAAE,KAAK;AAEnB,mBAASQ,KAAKJ;AACb,gBAAIA,EAAE,eAAeI,CAAC,GAAG;AACxB,cAAAkB,EAAS,KAAKtB,GAAGI,GAAGJ,EAAEI,IAAIjH,KAAQiH,CAAC;AAEnC,kBAAIoB,IAAWxB,EAAEI,IACbqB,IAAe7B,EAAE,KAAK,KAAK4B,CAAQ;AAEvC,cAAIC,MAAiB,YAAY,CAACtB,EAAQoB,EAAMC,CAAQ,MACvDrB,EAAQoB,EAAMC,CAAQ,KAAK,IAC3BH,EAAIG,GAAUF,GAAU,MAAMnB,CAAO,KAC3BsB,MAAiB,WAAW,CAACtB,EAAQoB,EAAMC,CAAQ,OAC7DrB,EAAQoB,EAAMC,CAAQ,KAAK,IAC3BH,EAAIG,GAAUF,GAAUlB,GAAGD,CAAO;AAAA,YAEnC;AAAA,QAEF;AAAA,MACD;AAAA,MAED,SAAS,CAAE;AAAA,MAcX,cAAc,SAAUuB,GAAOJ,GAAU;AACxC,QAAA1B,EAAE,kBAAkB,UAAU8B,GAAOJ,CAAQ;AAAA,MAC7C;AAAA,MAiBD,mBAAmB,SAAUK,GAAWD,GAAOJ,GAAU;AACxD,YAAIM,IAAM;AAAA,UACT,UAAUN;AAAA,UACV,WAAWK;AAAA,UACX,UAAU;AAAA,QACd;AAEG,QAAA/B,EAAE,MAAM,IAAI,uBAAuBgC,CAAG,GAEtCA,EAAI,WAAW,MAAM,UAAU,MAAM,MAAMA,EAAI,UAAU,iBAAiBA,EAAI,QAAQ,CAAC,GAEvFhC,EAAE,MAAM,IAAI,iCAAiCgC,CAAG;AAEhD,iBAASxB,IAAI,GAAG1I,GAAUA,IAAUkK,EAAI,SAASxB;AAChD,UAAAR,EAAE,iBAAiBlI,GAASgK,MAAU,IAAME,EAAI,QAAQ;AAAA,MAEzD;AAAA,MA8BD,kBAAkB,SAAUlK,GAASgK,GAAOJ,GAAU;AAErD,YAAI9G,IAAWoF,EAAE,KAAK,YAAYlI,CAAO,GACrCsJ,IAAUpB,EAAE,UAAUpF;AAG1B,QAAAoF,EAAE,KAAK,YAAYlI,GAAS8C,CAAQ;AAGpC,YAAIqH,IAASnK,EAAQ;AACrB,QAAImK,KAAUA,EAAO,SAAS,YAAW,MAAO,SAC/CjC,EAAE,KAAK,YAAYiC,GAAQrH,CAAQ;AAGpC,YAAID,IAAO7C,EAAQ,aAEfkK,IAAM;AAAA,UACT,SAASlK;AAAA,UACT,UAAU8C;AAAA,UACV,SAASwG;AAAA,UACT,MAAMzG;AAAA,QACV;AAEG,iBAASuH,EAAsBC,IAAiB;AAC/C,UAAAH,EAAI,kBAAkBG,IAEtBnC,EAAE,MAAM,IAAI,iBAAiBgC,CAAG,GAEhCA,EAAI,QAAQ,YAAYA,EAAI,iBAE5BhC,EAAE,MAAM,IAAI,mBAAmBgC,CAAG,GAClChC,EAAE,MAAM,IAAI,YAAYgC,CAAG,GAC3BN,KAAYA,EAAS,KAAKM,EAAI,OAAO;AAAA,QACrC;AAUD,YARAhC,EAAE,MAAM,IAAI,uBAAuBgC,CAAG,GAGtCC,IAASD,EAAI,QAAQ,eACjBC,KAAUA,EAAO,SAAS,YAAW,MAAO,SAAS,CAACA,EAAO,aAAa,UAAU,KACvFA,EAAO,aAAa,YAAY,GAAG,GAGhC,CAACD,EAAI,MAAM;AACd,UAAAhC,EAAE,MAAM,IAAI,YAAYgC,CAAG,GAC3BN,KAAYA,EAAS,KAAKM,EAAI,OAAO;AACrC;AAAA,QACA;AAID,YAFAhC,EAAE,MAAM,IAAI,oBAAoBgC,CAAG,GAE/B,CAACA,EAAI,SAAS;AACjB,UAAAE,EAAsBlC,EAAE,KAAK,OAAOgC,EAAI,IAAI,CAAC;AAC7C;AAAA,QACA;AAED,YAAIF,KAASnC,EAAM,QAAQ;AAC1B,cAAIyC,IAAS,IAAI,OAAOpC,EAAE,QAAQ;AAElC,UAAAoC,EAAO,YAAY,SAAUC,IAAK;AACjC,YAAAH,EAAsBG,GAAI,IAAI;AAAA,UACnC,GAEID,EAAO,YAAY,KAAK,UAAU;AAAA,YACjC,UAAUJ,EAAI;AAAA,YACd,MAAMA,EAAI;AAAA,YACV,gBAAgB;AAAA,UAChB,CAAA,CAAC;AAAA,QACN;AACI,UAAAE,EAAsBlC,EAAE,UAAUgC,EAAI,MAAMA,EAAI,SAASA,EAAI,QAAQ,CAAC;AAAA,MAEvE;AAAA,MAsBD,WAAW,SAAUM,GAAMlB,GAASxG,GAAU;AAC7C,YAAIoH,IAAM;AAAA,UACT,MAAMM;AAAA,UACN,SAASlB;AAAA,UACT,UAAUxG;AAAA,QACd;AAEG,YADAoF,EAAE,MAAM,IAAI,mBAAmBgC,CAAG,GAC9B,CAACA,EAAI;AACR,gBAAM,IAAI,MAAM,mBAAmBA,EAAI,WAAW,mBAAmB;AAEtE,eAAAA,EAAI,SAAShC,EAAE,SAASgC,EAAI,MAAMA,EAAI,OAAO,GAC7ChC,EAAE,MAAM,IAAI,kBAAkBgC,CAAG,GAC1B7B,EAAM,UAAUH,EAAE,KAAK,OAAOgC,EAAI,MAAM,GAAGA,EAAI,QAAQ;AAAA,MAC9D;AAAA,MA0BD,UAAU,SAAUM,GAAMlB,GAAS;AAClC,YAAImB,IAAOnB,EAAQ;AACnB,YAAImB,GAAM;AACT,mBAASjB,KAASiB;AACjB,YAAAnB,EAAQE,KAASiB,EAAKjB;AAGvB,iBAAOF,EAAQ;AAAA,QACf;AAED,YAAIoB,IAAY,IAAIC;AACpB,eAAAC,EAASF,GAAWA,EAAU,MAAMF,CAAI,GAExCK,EAAaL,GAAME,GAAWpB,GAASoB,EAAU,MAAM,CAAC,GAEjDI,EAAQJ,CAAS;AAAA,MACxB;AAAA,MAOD,OAAO;AAAA,QACN,KAAK,CAAE;AAAA,QAcP,KAAK,SAAUK,GAAMnB,GAAU;AAC9B,cAAIoB,IAAQ9C,EAAE,MAAM;AAEpB,UAAA8C,EAAMD,KAAQC,EAAMD,MAAS,CAAA,GAE7BC,EAAMD,GAAM,KAAKnB,CAAQ;AAAA,QACzB;AAAA,QAWD,KAAK,SAAUmB,GAAMb,GAAK;AACzB,cAAIe,IAAY/C,EAAE,MAAM,IAAI6C;AAE5B,cAAI,GAACE,KAAa,CAACA,EAAU;AAI7B,qBAASvC,IAAI,GAAGkB,GAAWA,IAAWqB,EAAUvC;AAC/C,cAAAkB,EAASM,CAAG;AAAA,QAEb;AAAA,MACD;AAAA,MAED,OAAO7B;AAAA,IACT;AACC,IAAAR,EAAM,QAAQK;AAmBd,aAASG,EAAM5G,GAAMyJ,GAASC,GAAOC,GAAY;AAUhD,WAAK,OAAO3J,GASZ,KAAK,UAAUyJ,GAQf,KAAK,QAAQC,GAEb,KAAK,UAAUC,KAAc,IAAI,SAAS;AAAA,IAC1C;AA8BD,IAAA/C,EAAM,YAAY,SAASgD,EAAU/C,GAAGxF,GAAU;AACjD,UAAI,OAAOwF,KAAK;AACf,eAAOA;AAER,UAAI,MAAM,QAAQA,CAAC,GAAG;AACrB,YAAIgD,IAAI;AACR,eAAAhD,EAAE,QAAQ,SAAUxc,GAAG;AACtB,UAAAwf,KAAKD,EAAUvf,GAAGgX,CAAQ;AAAA,QAC9B,CAAI,GACMwI;AAAA,MACP;AAED,UAAIpB,IAAM;AAAA,QACT,MAAM5B,EAAE;AAAA,QACR,SAAS+C,EAAU/C,EAAE,SAASxF,CAAQ;AAAA,QACtC,KAAK;AAAA,QACL,SAAS,CAAC,SAASwF,EAAE,IAAI;AAAA,QACzB,YAAY,CAAE;AAAA,QACd,UAAUxF;AAAA,MACb,GAEMyI,IAAUjD,EAAE;AAChB,MAAIiD,MACC,MAAM,QAAQA,CAAO,IACxB,MAAM,UAAU,KAAK,MAAMrB,EAAI,SAASqB,CAAO,IAE/CrB,EAAI,QAAQ,KAAKqB,CAAO,IAI1BrD,EAAE,MAAM,IAAI,QAAQgC,CAAG;AAEvB,UAAIsB,IAAa;AACjB,eAAST,KAAQb,EAAI;AACpB,QAAAsB,KAAc,MAAMT,IAAO,QAAQb,EAAI,WAAWa,MAAS,IAAI,QAAQ,MAAM,QAAQ,IAAI;AAG1F,aAAO,MAAMb,EAAI,MAAM,aAAaA,EAAI,QAAQ,KAAK,GAAG,IAAI,MAAMsB,IAAa,MAAMtB,EAAI,UAAU,OAAOA,EAAI,MAAM;AAAA,IACtH;AASC,aAASuB,EAAaC,GAASC,GAAKnB,GAAMoB,GAAY;AACrD,MAAAF,EAAQ,YAAYC;AACpB,UAAIE,IAAQH,EAAQ,KAAKlB,CAAI;AAC7B,UAAIqB,KAASD,KAAcC,EAAM,IAAI;AAEpC,YAAIC,IAAmBD,EAAM,GAAG;AAChC,QAAAA,EAAM,SAASC,GACfD,EAAM,KAAKA,EAAM,GAAG,MAAMC,CAAgB;AAAA,MAC1C;AACD,aAAOD;AAAA,IACP;AAgBD,aAAShB,EAAaL,GAAME,GAAWpB,GAASyC,GAAWC,GAAUC,GAAS;AAC7E,eAASzC,KAASF;AACjB,YAAI,GAACA,EAAQ,eAAeE,CAAK,KAAK,CAACF,EAAQE,KAI/C;AAAA,cAAI0C,IAAW5C,EAAQE;AACvB,UAAA0C,IAAW,MAAM,QAAQA,CAAQ,IAAIA,IAAW,CAACA,CAAQ;AAEzD,mBAASC,IAAI,GAAGA,IAAID,EAAS,QAAQ,EAAEC,GAAG;AACzC,gBAAIF,KAAWA,EAAQ,SAASzC,IAAQ,MAAM2C;AAC7C;AAGD,gBAAIC,IAAaF,EAASC,IACtBjD,KAASkD,EAAW,QACpBR,KAAa,CAAC,CAACQ,EAAW,YAC1BC,KAAS,CAAC,CAACD,EAAW,QACtBjB,KAAQiB,EAAW;AAEvB,gBAAIC,MAAU,CAACD,EAAW,QAAQ,QAAQ;AAEzC,kBAAIE,KAAQF,EAAW,QAAQ,SAAU,EAAC,MAAM,WAAW,EAAE;AAC7D,cAAAA,EAAW,UAAU,OAAOA,EAAW,QAAQ,QAAQE,KAAQ,GAAG;AAAA,YAClE;AAKD,qBAFIZ,KAAUU,EAAW,WAAWA,GAG/BG,KAAcR,EAAU,MAAMJ,KAAMK,GACxCO,OAAgB7B,EAAU,QAItB,EAAAuB,KAAWN,MAAOM,EAAQ,QAH9BN,MAAOY,GAAY,MAAM,QAAQA,KAAcA,GAAY,MAC1D;AAMD,kBAAIC,KAAMD,GAAY;AAEtB,kBAAI7B,EAAU,SAASF,EAAK;AAE3B;AAGD,kBAAI,EAAAgC,cAAenE,IAInB;AAAA,oBAAIoE,KAAc,GACdZ;AAEJ,oBAAIQ,IAAQ;AAEX,sBADAR,IAAQJ,EAAaC,IAASC,IAAKnB,GAAMoB,EAAU,GAC/C,CAACC,KAASA,EAAM,SAASrB,EAAK;AACjC;AAGD,sBAAIkC,KAAOb,EAAM,OACbc,KAAKd,EAAM,QAAQA,EAAM,GAAG,QAC5BtgB,KAAIogB;AAIR,uBADApgB,MAAKghB,GAAY,MAAM,QAChBG,MAAQnhB;AACd,oBAAAghB,KAAcA,GAAY,MAC1BhhB,MAAKghB,GAAY,MAAM;AAOxB,sBAJAhhB,MAAKghB,GAAY,MAAM,QACvBZ,KAAMpgB,IAGFghB,GAAY,iBAAiBlE;AAChC;AAID,2BACKld,KAAIohB,IACRphB,OAAMuf,EAAU,SAASnf,KAAIohB,MAAM,OAAOxhB,GAAE,SAAU,WACtDA,KAAIA,GAAE;AAEN,oBAAAshB,MACAlhB,MAAKJ,GAAE,MAAM;AAEd,kBAAAshB,MAGAD,KAAMhC,EAAK,MAAMmB,IAAKpgB,EAAC,GACvBsgB,EAAM,SAASF;AAAA,gBACrB,WACME,IAAQJ,EAAaC,IAAS,GAAGc,IAAKZ,EAAU,GAC5C,CAACC;AACJ;AAKF,oBAAIa,KAAOb,EAAM,OACbe,KAAWf,EAAM,IACjB1C,KAASqD,GAAI,MAAM,GAAGE,EAAI,GAC1BG,KAAQL,GAAI,MAAME,KAAOE,GAAS,MAAM,GAExCE,KAAQnB,KAAMa,GAAI;AACtB,gBAAIP,KAAWa,KAAQb,EAAQ,UAC9BA,EAAQ,QAAQa;AAGjB,oBAAIC,KAAaR,GAAY;AAE7B,gBAAIpD,OACH4D,KAAanC,EAASF,GAAWqC,IAAY5D,EAAM,GACnDwC,MAAOxC,GAAO,SAGf6D,EAAYtC,GAAWqC,IAAYN,EAAW;AAE9C,oBAAIQ,KAAU,IAAI5E,EAAMmB,GAAON,KAAShB,EAAE,SAAS0E,IAAU1D,EAAM,IAAI0D,IAAUzB,IAAOyB,EAAQ;AAOhG,oBANAL,KAAc3B,EAASF,GAAWqC,IAAYE,EAAO,GAEjDJ,MACHjC,EAASF,GAAW6B,IAAaM,EAAK,GAGnCJ,KAAc,GAAG;AAKpB,sBAAIS,KAAgB;AAAA,oBACnB,OAAO1D,IAAQ,MAAM2C;AAAA,oBACrB,OAAOW;AAAA,kBACd;AACM,kBAAAjC,EAAaL,GAAME,GAAWpB,GAASiD,GAAY,MAAMZ,IAAKuB,EAAa,GAGvEjB,KAAWiB,GAAc,QAAQjB,EAAQ,UAC5CA,EAAQ,QAAQiB,GAAc;AAAA,gBAE/B;AAAA;AAAA,YACD;AAAA,UACD;AAAA;AAAA,IAEF;AAeD,aAASvC,IAAa;AAErB,UAAIwC,IAAO,EAAE,OAAO,MAAM,MAAM,MAAM,MAAM,QAExCC,IAAO,EAAE,OAAO,MAAM,MAAMD,GAAM,MAAM;AAC5C,MAAAA,EAAK,OAAOC,GAGZ,KAAK,OAAOD,GAEZ,KAAK,OAAOC,GACZ,KAAK,SAAS;AAAA,IACd;AAWD,aAASxC,EAASyC,GAAMvN,GAAM0C,GAAO;AAEpC,UAAI8K,IAAOxN,EAAK,MAEZyN,IAAU,EAAE,OAAO/K,GAAO,MAAM1C,GAAM,MAAMwN;AAChD,aAAAxN,EAAK,OAAOyN,GACZD,EAAK,OAAOC,GACZF,EAAK,UAEEE;AAAA,IACP;AASD,aAASP,EAAYK,GAAMvN,GAAM0N,GAAO;AAEvC,eADIF,IAAOxN,EAAK,MACP4I,IAAI,GAAGA,IAAI8E,KAASF,MAASD,EAAK,MAAM3E;AAChD,QAAA4E,IAAOA,EAAK;AAEb,MAAAxN,EAAK,OAAOwN,GACZA,EAAK,OAAOxN,GACZuN,EAAK,UAAU3E;AAAA,IACf;AAMD,aAASoC,EAAQuC,GAAM;AAGtB,eAFII,IAAQ,CAAA,GACR3N,IAAOuN,EAAK,KAAK,MACdvN,MAASuN,EAAK;AACpB,QAAAI,EAAM,KAAK3N,EAAK,KAAK,GACrBA,IAAOA,EAAK;AAEb,aAAO2N;AAAA,IACP;AAGD,QAAI,CAAC5F,EAAM;AACV,aAAKA,EAAM,qBAKNK,EAAE,+BAENL,EAAM,iBAAiB,WAAW,SAAU0C,GAAK;AAChD,YAAImD,IAAU,KAAK,MAAMnD,EAAI,IAAI,GAC7BxC,IAAO2F,EAAQ,UACf7K,IAAO6K,EAAQ,MACfC,IAAiBD,EAAQ;AAE7B,QAAA7F,EAAM,YAAYK,EAAE,UAAUrF,GAAMqF,EAAE,UAAUH,IAAOA,CAAI,CAAC,GACxD4F,KACH9F,EAAM,MAAK;AAAA,MAEZ,GAAE,EAAK,IAGFK;AAIR,QAAI0F,IAAS1F,EAAE,KAAK,cAAa;AAEjC,IAAI0F,MACH1F,EAAE,WAAW0F,EAAO,KAEhBA,EAAO,aAAa,aAAa,MACpC1F,EAAE,SAAS;AAIb,aAAS2F,IAAiC;AACzC,MAAK3F,EAAE,UACNA,EAAE,aAAY;AAAA,IAEf;AAED,QAAI,CAACA,EAAE,QAAQ;AAOd,UAAI4F,IAAa,SAAS;AAC1B,MAAIA,MAAe,aAAaA,MAAe,iBAAiBF,KAAUA,EAAO,QAChF,SAAS,iBAAiB,oBAAoBC,CAA8B,IAExE,OAAO,wBACV,OAAO,sBAAsBA,CAA8B,IAE3D,OAAO,WAAWA,GAAgC,EAAE;AAAA,IAGtD;AAED,WAAO3F;AAAA,EAER,EAAEL,CAAK;AAEP,EAAqC5b,EAAO,YAC3CA,EAAA,UAAiB6b,IAId,OAAOiG,KAAW,QACrBA,GAAO,QAAQjG,IAyDhBA,EAAM,UAAU,SAAS;AAAA,IACxB,SAAW;AAAA,MACV,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,QAAU;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,SAAW;AAAA,MAEV,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,mBAAmB;AAAA,UAClB,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,QAAQ;AAAA,QACR;AAAA,QACD,QAAU;AAAA,UACT,SAAS;AAAA,UACT,QAAQ;AAAA,QACR;AAAA,QACD,aAAe;AAAA,QACf,eAAe;AAAA,QACf,MAAQ;AAAA,MACR;AAAA,IACD;AAAA,IACD,OAAS;AAAA,MACR,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,KAAO;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,KAAO;AAAA,UACN,SAAS;AAAA,UACT,QAAQ;AAAA,YACP,aAAe;AAAA,YACf,WAAa;AAAA,UACb;AAAA,QACD;AAAA,QACD,gBAAgB,CAAE;AAAA,QAClB,cAAc;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,YACP,aAAe;AAAA,cACd;AAAA,gBACC,SAAS;AAAA,gBACT,OAAO;AAAA,cACP;AAAA,cACD;AAAA,gBACC,SAAS;AAAA,gBACT,YAAY;AAAA,cACZ;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,QACD,aAAe;AAAA,QACf,aAAa;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,YACP,WAAa;AAAA,UACb;AAAA,QACD;AAAA,MAED;AAAA,IACD;AAAA,IACD,QAAU;AAAA,MACT;AAAA,QACC,SAAS;AAAA,QACT,OAAO;AAAA,MACP;AAAA,MACD;AAAA,IACA;AAAA,EACF,GAEAA,EAAM,UAAU,OAAO,IAAO,OAAO,cAAc,OAAO,SACzDA,EAAM,UAAU,OAAO,QACxBA,EAAM,UAAU,OAAO,QAAW,OAAO,mBAAmB,SAASA,EAAM,UAAU,QAGrFA,EAAM,MAAM,IAAI,QAAQ,SAAUoC,GAAK;AAEtC,IAAIA,EAAI,SAAS,aAChBA,EAAI,WAAW,QAAWA,EAAI,QAAQ,QAAQ,SAAS,GAAG;AAAA,EAE5D,CAAC,GAED,OAAO,eAAepC,EAAM,UAAU,OAAO,KAAK,cAAc;AAAA,IAY/D,OAAO,SAAoBkG,GAASjG,GAAM;AACzC,UAAIkG,IAAsB,CAAA;AAC1B,MAAAA,EAAoB,cAAclG,KAAQ;AAAA,QACzC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQD,EAAM,UAAUC;AAAA,MAC3B,GACEkG,EAAoB,QAAW;AAE/B,UAAI/E,IAAS;AAAA,QACZ,kBAAkB;AAAA,UACjB,SAAS;AAAA,UACT,QAAQ+E;AAAA,QACR;AAAA,MACJ;AACE,MAAA/E,EAAO,cAAcnB,KAAQ;AAAA,QAC5B,SAAS;AAAA,QACT,QAAQD,EAAM,UAAUC;AAAA,MAC3B;AAEE,UAAImG,IAAM,CAAA;AACV,MAAAA,EAAIF,KAAW;AAAA,QACd,SAAS,OAAO,wFAAwF,OAAO,QAAQ,OAAO,WAAY;AAAE,iBAAOA;AAAA,QAAU,CAAA,GAAG,GAAG;AAAA,QACnK,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,QAAQ9E;AAAA,MACX,GAEEpB,EAAM,UAAU,aAAa,UAAU,SAASoG,CAAG;AAAA,IACnD;AAAA,EACF,CAAC,GACD,OAAO,eAAepG,EAAM,UAAU,OAAO,KAAK,gBAAgB;AAAA,IAYjE,OAAO,SAAUqG,GAAUpG,GAAM;AAChC,MAAAD,EAAM,UAAU,OAAO,IAAI,OAAO,gBAAgB,KAAK;AAAA,QACtD,SAAS;AAAA,UACR,aAAa,SAAS,QAAQqG,IAAW,MAAM,iDAAiD;AAAA,UAChG;AAAA,QACA;AAAA,QACD,YAAY;AAAA,QACZ,QAAQ;AAAA,UACP,aAAa;AAAA,UACb,cAAc;AAAA,YACb,SAAS;AAAA,YACT,QAAQ;AAAA,cACP,OAAS;AAAA,gBACR,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,OAAO,CAACpG,GAAM,cAAcA,CAAI;AAAA,gBAChC,QAAQD,EAAM,UAAUC;AAAA,cACxB;AAAA,cACD,aAAe;AAAA,gBACd;AAAA,kBACC,SAAS;AAAA,kBACT,OAAO;AAAA,gBACP;AAAA,gBACD;AAAA,cACA;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,MACJ,CAAG;AAAA,IACD;AAAA,EACF,CAAC,GAEDD,EAAM,UAAU,OAAOA,EAAM,UAAU,QACvCA,EAAM,UAAU,SAASA,EAAM,UAAU,QACzCA,EAAM,UAAU,MAAMA,EAAM,UAAU,QAEtCA,EAAM,UAAU,MAAMA,EAAM,UAAU,OAAO,UAAU,CAAA,CAAE,GACzDA,EAAM,UAAU,OAAOA,EAAM,UAAU,KACvCA,EAAM,UAAU,OAAOA,EAAM,UAAU,KACvCA,EAAM,UAAU,MAAMA,EAAM,UAAU,KAOrC,SAAUA,GAAO;AAEjB,QAAIsG,IAAS;AAEb,IAAAtG,EAAM,UAAU,MAAM;AAAA,MACrB,SAAW;AAAA,MACX,QAAU;AAAA,QACT,SAAS,OAAO,eAAe,sBAAsB,SAAS,MAAMsG,EAAO,SAAS,QAAQ,kBAAkB,MAAM;AAAA,QACpH,QAAQ;AAAA,UACP,MAAQ;AAAA,UACR,8BAA8B;AAAA,YAC7B,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,OAAO;AAAA,UACP;AAAA,UACD,SAAW;AAAA,YACV,SAAS;AAAA,YACT,YAAY;AAAA,UACZ;AAAA,QAED;AAAA,MACD;AAAA,MACD,KAAO;AAAA,QAEN,SAAS,OAAO,iBAAiBA,EAAO,SAAS,MAAM,8BAA8B,SAAS,QAAQ,GAAG;AAAA,QACzG,QAAQ;AAAA,QACR,QAAQ;AAAA,UACP,UAAY;AAAA,UACZ,aAAe;AAAA,UACf,QAAU;AAAA,YACT,SAAS,OAAO,MAAMA,EAAO,SAAS,GAAG;AAAA,YACzC,OAAO;AAAA,UACP;AAAA,QACD;AAAA,MACD;AAAA,MACD,UAAY;AAAA,QACX,SAAS,OAAO,sDAAuDA,EAAO,SAAS,eAAe;AAAA,QACtG,YAAY;AAAA,MACZ;AAAA,MACD,QAAU;AAAA,QACT,SAASA;AAAA,QACT,QAAQ;AAAA,MACR;AAAA,MACD,UAAY;AAAA,QACX,SAAS;AAAA,QACT,YAAY;AAAA,MACZ;AAAA,MACD,WAAa;AAAA,MACb,UAAY;AAAA,QACX,SAAS;AAAA,QACT,YAAY;AAAA,MACZ;AAAA,MACD,aAAe;AAAA,IACjB,GAECtG,EAAM,UAAU,IAAI,OAAU,OAAO,OAAOA,EAAM,UAAU;AAE5D,QAAIuG,IAASvG,EAAM,UAAU;AAC7B,IAAIuG,MACHA,EAAO,IAAI,WAAW,SAAS,KAAK,GACpCA,EAAO,IAAI,aAAa,SAAS,KAAK;AAAA,EAGvC,EAACvG,CAAK,GAOPA,EAAM,UAAU,QAAQ;AAAA,IACvB,SAAW;AAAA,MACV;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,MACR;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,MACR;AAAA,IACD;AAAA,IACD,QAAU;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,cAAc;AAAA,MACb,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,QACP,aAAe;AAAA,MACf;AAAA,IACD;AAAA,IACD,SAAW;AAAA,IACX,SAAW;AAAA,IACX,UAAY;AAAA,IACZ,QAAU;AAAA,IACV,UAAY;AAAA,IACZ,aAAe;AAAA,EAChB,GAOAA,EAAM,UAAU,aAAaA,EAAM,UAAU,OAAO,SAAS;AAAA,IAC5D,cAAc;AAAA,MACbA,EAAM,UAAU,MAAM;AAAA,MACtB;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,MACZ;AAAA,IACD;AAAA,IACD,SAAW;AAAA,MACV;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,MACZ;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,MACZ;AAAA,IACD;AAAA,IAED,UAAY;AAAA,IACZ,QAAU;AAAA,MACT,SAAS;AAAA,QACR,aAAa,SACb,SAGC,eAAe,SACf,MAEA,0BAA0B,SAC1B,MAEA,4BAA4B,SAC5B,MAEA,sCAAsC,SACtC,MAEA,gBAAgB,SAChB,MAEA,oFAAoF,UAErF,MACA,YAAY;AAAA,MACZ;AAAA,MACD,YAAY;AAAA,IACZ;AAAA,IACD,UAAY;AAAA,EACb,CAAC,GAEDA,EAAM,UAAU,WAAW,cAAc,GAAG,UAAU,wEAEtDA,EAAM,UAAU,aAAa,cAAc,WAAW;AAAA,IACrD,OAAS;AAAA,MACR,SAAS;AAAA,QAGR,0DAA0D,SAK1D,KAAK,SACL,QACA,iEAAiE,SACjE,MAEA,qIAAqI,SACrI,MAEA,kEAAkE;AAAA,MAClE;AAAA,MACD,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,gBAAgB;AAAA,UACf,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,QAAQA,EAAM,UAAU;AAAA,QACxB;AAAA,QACD,mBAAmB;AAAA,QACnB,eAAe;AAAA,MACf;AAAA,IACD;AAAA,IAED,qBAAqB;AAAA,MACpB,SAAS;AAAA,MACT,OAAO;AAAA,IACP;AAAA,IACD,WAAa;AAAA,MACZ;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQA,EAAM,UAAU;AAAA,MACxB;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQA,EAAM,UAAU;AAAA,MACxB;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQA,EAAM,UAAU;AAAA,MACxB;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQA,EAAM,UAAU;AAAA,MACxB;AAAA,IACD;AAAA,IACD,UAAY;AAAA,EACb,CAAC,GAEDA,EAAM,UAAU,aAAa,cAAc,UAAU;AAAA,IACpD,UAAY;AAAA,MACX,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,IACP;AAAA,IACD,mBAAmB;AAAA,MAClB,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,wBAAwB;AAAA,UACvB,SAAS;AAAA,UACT,OAAO;AAAA,QACP;AAAA,QACD,eAAiB;AAAA,UAChB,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ;AAAA,YACP,6BAA6B;AAAA,cAC5B,SAAS;AAAA,cACT,OAAO;AAAA,YACP;AAAA,YACD,MAAMA,EAAM,UAAU;AAAA,UACtB;AAAA,QACD;AAAA,QACD,QAAU;AAAA,MACV;AAAA,IACD;AAAA,IACD,mBAAmB;AAAA,MAClB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,OAAO;AAAA,IACP;AAAA,EACF,CAAC,GAEDA,EAAM,UAAU,aAAa,cAAc,YAAY;AAAA,IACtD,oBAAoB;AAAA,MACnB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,IACP;AAAA,EACF,CAAC,GAEGA,EAAM,UAAU,WACnBA,EAAM,UAAU,OAAO,IAAI,WAAW,UAAU,YAAY,GAI5DA,EAAM,UAAU,OAAO,IAAI;AAAA,IAC1B,yNAAyN;AAAA,IACzN;AAAA,EACF,IAGAA,EAAM,UAAU,KAAKA,EAAM,UAAU,YAOpC,WAAY;AAEZ,QAAI,OAAOA,IAAU,OAAe,OAAO,WAAa;AACvD;AAID,IAAK,QAAQ,UAAU,YACtB,QAAQ,UAAU,UAAU,QAAQ,UAAU,qBAAqB,QAAQ,UAAU;AAGtF,QAAIwG,IAAkB,iBAClBC,IAAkB,SAAUC,GAAQd,GAAS;AAChD,aAAO,kBAAac,IAAS,2BAA2Bd;AAAA,IAC1D,GACKe,IAAwB,iDAExBC,IAAa;AAAA,MAChB,IAAM;AAAA,MACN,IAAM;AAAA,MACN,IAAM;AAAA,MACN,KAAO;AAAA,MACP,MAAQ;AAAA,MACR,IAAM;AAAA,MACN,KAAO;AAAA,MACP,GAAK;AAAA,MACL,KAAO;AAAA,IACT,GAEKC,IAAc,mBACdC,IAAiB,WACjBC,IAAgB,UAChBC,IAAgB,UAEhBC,IAAW,wBAAwBJ,IAAc,OAAOE,IAAgB,cAC9DF,IAAc,OAAOC,IAAiB;AASpD,aAASI,EAASpG,GAAKqG,GAAS5J,GAAO;AACtC,UAAI6J,IAAM,IAAI;AACd,MAAAA,EAAI,KAAK,OAAOtG,GAAK,EAAI,GACzBsG,EAAI,qBAAqB,WAAY;AACpC,QAAIA,EAAI,cAAc,MACjBA,EAAI,SAAS,OAAOA,EAAI,eAC3BD,EAAQC,EAAI,YAAY,IAEpBA,EAAI,UAAU,MACjB7J,EAAMkJ,EAAgBW,EAAI,QAAQA,EAAI,UAAU,CAAC,IAEjD7J,EAAMoJ,CAAqB;AAAA,MAIjC,GACES,EAAI,KAAK,IAAI;AAAA,IACb;AAUD,aAASC,EAAWC,GAAO;AAC1B,UAAI/jB,IAAI,wCAAwC,KAAK+jB,KAAS,EAAE;AAChE,UAAI/jB,GAAG;AACN,YAAIgkB,IAAQ,OAAOhkB,EAAE,EAAE,GACnBikB,IAAQjkB,EAAE,IACVkkB,IAAMlkB,EAAE;AAEZ,eAAKikB,IAGAC,IAGE,CAACF,GAAO,OAAOE,CAAG,CAAC,IAFlB,CAACF,GAAO,MAAS,IAHjB,CAACA,GAAOA,CAAK;AAAA,MAMrB;AAAA,IAED;AAED,IAAAvH,EAAM,MAAM,IAAI,uBAAuB,SAAUoC,GAAK;AACrD,MAAAA,EAAI,YAAY,OAAO6E;AAAA,IACzB,CAAE,GAEDjH,EAAM,MAAM,IAAI,uBAAuB,SAAUoC,GAAK;AACrD,UAAIsF,IAAqCtF,EAAI;AAC7C,UAAIsF,EAAI,QAAQT,CAAQ,GAAG;AAC1B,QAAA7E,EAAI,OAAO,IAEXsF,EAAI,aAAab,GAAaC,CAAc;AAG5C,YAAI/L,IAAO2M,EAAI,YAAY,SAAS,cAAc,MAAM,CAAC;AACzD,QAAA3M,EAAK,cAAcyL;AAEnB,YAAI1F,IAAM4G,EAAI,aAAa,UAAU,GAEjC1M,IAAWoH,EAAI;AACnB,YAAIpH,MAAa,QAAQ;AAGxB,cAAI2M,KAAa,WAAW,KAAK7G,CAAG,KAAK,CAAG,EAAA,MAAM,GAAG;AACrD,UAAA9F,IAAW4L,EAAWe,MAAcA;AAAA,QACpC;AAGD,QAAA3H,EAAM,KAAK,YAAYjF,GAAMC,CAAQ,GACrCgF,EAAM,KAAK,YAAY0H,GAAK1M,CAAQ;AAGpC,YAAI4M,IAAa5H,EAAM,QAAQ;AAC/B,QAAI4H,KACHA,EAAW,cAAc5M,CAAQ,GAIlCkM;AAAA,UACCpG;AAAA,UACA,SAAU4B,GAAM;AAEf,YAAAgF,EAAI,aAAab,GAAaE,CAAa;AAG3C,gBAAIO,IAAQD,EAAWK,EAAI,aAAa,YAAY,CAAC;AACrD,gBAAIJ,GAAO;AACV,kBAAIO,IAAQnF,EAAK,MAAM,WAAW,GAG9B6E,IAAQD,EAAM,IACdG,IAAMH,EAAM,MAAM,OAAOO,EAAM,SAASP,EAAM;AAElD,cAAIC,IAAQ,MAAKA,KAASM,EAAM,SAChCN,IAAQ,KAAK,IAAI,GAAG,KAAK,IAAIA,IAAQ,GAAGM,EAAM,MAAM,CAAC,GACjDJ,IAAM,MAAKA,KAAOI,EAAM,SAC5BJ,IAAM,KAAK,IAAI,GAAG,KAAK,IAAIA,GAAKI,EAAM,MAAM,CAAC,GAE7CnF,IAAOmF,EAAM,MAAMN,GAAOE,CAAG,EAAE,KAAK;AAAA,CAAI,GAGnCC,EAAI,aAAa,YAAY,KACjCA,EAAI,aAAa,cAAc,OAAOH,IAAQ,CAAC,CAAC;AAAA,YAEjD;AAGD,YAAAxM,EAAK,cAAc2H,GACnB1C,EAAM,iBAAiBjF,CAAI;AAAA,UAC3B;AAAA,UACD,SAAUwC,GAAO;AAEhB,YAAAmK,EAAI,aAAab,GAAaG,CAAa,GAE3CjM,EAAK,cAAcwC;AAAA,UACnB;AAAA,QACL;AAAA,MACG;AAAA,IACH,CAAE,GAEDyC,EAAM,QAAQ,gBAAgB;AAAA,MAQ7B,WAAW,SAAmBmC,GAAW;AAGxC,iBAFI2F,KAAY3F,KAAa,UAAU,iBAAiB8E,CAAQ,GAEvDrG,IAAI,GAAG1I,GAAUA,IAAU4P,EAASlH;AAC5C,UAAAZ,EAAM,iBAAiB9H,CAAO;AAAA,MAE/B;AAAA,IACH;AAEC,QAAI6P,IAAS;AAEb,IAAA/H,EAAM,gBAAgB,WAAY;AACjC,MAAK+H,MACJ,QAAQ,KAAK,yFAAyF,GACtGA,IAAS,KAEV/H,EAAM,QAAQ,cAAc,UAAU,MAAM,MAAM,SAAS;AAAA,IAC7D;AAAA,EAEA;;ACz5DA,MAAM,UAAU,QAAQ;AAAA,EACvB,SAAW;AAAA,IACV;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,IACR;AAAA,IACD;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,IACR;AAAA,EACD;AAAA,EACD,QAAU;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,cAAc;AAAA,IACb,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,MACP,aAAe;AAAA,IACf;AAAA,EACD;AAAA,EACD,SAAW;AAAA,EACX,SAAW;AAAA,EACX,UAAY;AAAA,EACZ,QAAU;AAAA,EACV,UAAY;AAAA,EACZ,aAAe;AAChB;AC9BA,MAAM,UAAU,aAAa,MAAM,UAAU,OAAO,SAAS;AAAA,EAC5D,cAAc;AAAA,IACb,MAAM,UAAU,MAAM;AAAA,IACtB;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,IACZ;AAAA,EACD;AAAA,EACD,SAAW;AAAA,IACV;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,IACZ;AAAA,IACD;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,IACZ;AAAA,EACD;AAAA,EAED,UAAY;AAAA,EACZ,QAAU;AAAA,IACT,SAAS;AAAA,MACR,aAAa,SACb,SAGC,eAAe,SACf,MAEA,0BAA0B,SAC1B,MAEA,4BAA4B,SAC5B,MAEA,sCAAsC,SACtC,MAEA,gBAAgB,SAChB,MAEA,oFAAoF,UAErF,MACA,YAAY;AAAA,IACZ;AAAA,IACD,YAAY;AAAA,EACZ;AAAA,EACD,UAAY;AACb,CAAC;AAED,MAAM,UAAU,WAAW,cAAc,GAAG,UAAU;AAEtD,MAAM,UAAU,aAAa,cAAc,WAAW;AAAA,EACrD,OAAS;AAAA,IACR,SAAS;AAAA,MAGR,0DAA0D,SAK1D,KAAK,SACL,QACA,iEAAiE,SACjE,MAEA,qIAAqI,SACrI,MAEA,kEAAkE;AAAA,IAClE;AAAA,IACD,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,QAAQ;AAAA,MACP,gBAAgB;AAAA,QACf,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ,MAAM,UAAU;AAAA,MACxB;AAAA,MACD,mBAAmB;AAAA,MACnB,eAAe;AAAA,IACf;AAAA,EACD;AAAA,EAED,qBAAqB;AAAA,IACpB,SAAS;AAAA,IACT,OAAO;AAAA,EACP;AAAA,EACD,WAAa;AAAA,IACZ;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ,MAAM,UAAU;AAAA,IACxB;AAAA,IACD;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ,MAAM,UAAU;AAAA,IACxB;AAAA,IACD;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ,MAAM,UAAU;AAAA,IACxB;AAAA,IACD;AAAA,MACC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ,MAAM,UAAU;AAAA,IACxB;AAAA,EACD;AAAA,EACD,UAAY;AACb,CAAC;AAED,MAAM,UAAU,aAAa,cAAc,UAAU;AAAA,EACpD,UAAY;AAAA,IACX,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,EACP;AAAA,EACD,mBAAmB;AAAA,IAClB,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACP,wBAAwB;AAAA,QACvB,SAAS;AAAA,QACT,OAAO;AAAA,MACP;AAAA,MACD,eAAiB;AAAA,QAChB,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,UACP,6BAA6B;AAAA,YAC5B,SAAS;AAAA,YACT,OAAO;AAAA,UACP;AAAA,UACD,MAAM,MAAM,UAAU;AAAA,QACtB;AAAA,MACD;AAAA,MACD,QAAU;AAAA,IACV;AAAA,EACD;AAAA,EACD,mBAAmB;AAAA,IAClB,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,OAAO;AAAA,EACP;AACF,CAAC;AAED,MAAM,UAAU,aAAa,cAAc,YAAY;AAAA,EACtD,oBAAoB;AAAA,IACnB,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,EACP;AACF,CAAC;AAEG,MAAM,UAAU,WACnB,MAAM,UAAU,OAAO,IAAI,WAAW,UAAU,YAAY,GAI5D,MAAM,UAAU,OAAO,IAAI;AAAA,EAC1B,yNAAyN;AAAA,EACzN;AACF;AAGA,MAAM,UAAU,KAAK,MAAM,UAAU;AC3KrC,MAAM,UAAU,SAAS;AAAA,EACxB,SAAW;AAAA,IACV,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,QAAU;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,SAAW;AAAA,IAEV,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACP,mBAAmB;AAAA,QAClB,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,QAAQ;AAAA,MACR;AAAA,MACD,QAAU;AAAA,QACT,SAAS;AAAA,QACT,QAAQ;AAAA,MACR;AAAA,MACD,aAAe;AAAA,MACf,eAAe;AAAA,MACf,MAAQ;AAAA,IACR;AAAA,EACD;AAAA,EACD,OAAS;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,KAAO;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACP,KAAO;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,UACP,aAAe;AAAA,UACf,WAAa;AAAA,QACb;AAAA,MACD;AAAA,MACD,gBAAgB,CAAE;AAAA,MAClB,cAAc;AAAA,QACb,SAAS;AAAA,QACT,QAAQ;AAAA,UACP,aAAe;AAAA,YACd;AAAA,cACC,SAAS;AAAA,cACT,OAAO;AAAA,YACP;AAAA,YACD;AAAA,cACC,SAAS;AAAA,cACT,YAAY;AAAA,YACZ;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACD,aAAe;AAAA,MACf,aAAa;AAAA,QACZ,SAAS;AAAA,QACT,QAAQ;AAAA,UACP,WAAa;AAAA,QACb;AAAA,MACD;AAAA,IAED;AAAA,EACD;AAAA,EACD,QAAU;AAAA,IACT;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,IACP;AAAA,IACD;AAAA,EACA;AACF;AAEA,MAAM,UAAU,OAAO,IAAO,OAAO,cAAc,OAAO,SACzD,MAAM,UAAU,OAAO;AACxB,MAAM,UAAU,OAAO,QAAW,OAAO,mBAAmB,SAAS,MAAM,UAAU;AAGrF,MAAM,MAAM,IAAI,QAAQ,SAAUoC,GAAK;AAEtC,EAAIA,EAAI,SAAS,aAChBA,EAAI,WAAW,QAAWA,EAAI,QAAQ,QAAQ,SAAS,GAAG;AAE5D,CAAC;AAED,OAAO,eAAe,MAAM,UAAU,OAAO,KAAK,cAAc;AAAA,EAY/D,OAAO,SAAoB8D,GAASjG,GAAM;AACzC,QAAIkG,IAAsB,CAAA;AAC1B,IAAAA,EAAoB,cAAclG,KAAQ;AAAA,MACzC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ,MAAM,UAAUA;AAAA,IAC3B,GACEkG,EAAoB,QAAW;AAE/B,QAAI/E,IAAS;AAAA,MACZ,kBAAkB;AAAA,QACjB,SAAS;AAAA,QACT,QAAQ+E;AAAA,MACR;AAAA,IACJ;AACE,IAAA/E,EAAO,cAAcnB,KAAQ;AAAA,MAC5B,SAAS;AAAA,MACT,QAAQ,MAAM,UAAUA;AAAA,IAC3B;AAEE,QAAImG,IAAM,CAAA;AACV,IAAAA,EAAIF,KAAW;AAAA,MACd,SAAS,OAAO,wFAAwF,OAAO,QAAQ,OAAO,WAAY;AAAE,eAAOA;AAAA,MAAU,CAAA,GAAG,GAAG;AAAA,MACnK,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ9E;AAAA,IACX,GAEE,MAAM,UAAU,aAAa,UAAU,SAASgF,CAAG;AAAA,EACnD;AACF,CAAC;AACD,OAAO,eAAe,MAAM,UAAU,OAAO,KAAK,gBAAgB;AAAA,EAYjE,OAAO,SAAUC,GAAUpG,GAAM;AAChC,UAAM,UAAU,OAAO,IAAI,OAAO,gBAAgB,KAAK;AAAA,MACtD,SAAS;AAAA,QACR,aAAa,SAAS,QAAQoG,IAAW,MAAM,iDAAiD;AAAA,QAChG;AAAA,MACA;AAAA,MACD,YAAY;AAAA,MACZ,QAAQ;AAAA,QACP,aAAa;AAAA,QACb,cAAc;AAAA,UACb,SAAS;AAAA,UACT,QAAQ;AAAA,YACP,OAAS;AAAA,cACR,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,OAAO,CAACpG,GAAM,cAAcA,CAAI;AAAA,cAChC,QAAQ,MAAM,UAAUA;AAAA,YACxB;AAAA,YACD,aAAe;AAAA,cACd;AAAA,gBACC,SAAS;AAAA,gBACT,OAAO;AAAA,cACP;AAAA,cACD;AAAA,YACA;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACJ,CAAG;AAAA,EACD;AACF,CAAC;AAED,MAAM,UAAU,OAAO,MAAM,UAAU;AACvC,MAAM,UAAU,SAAS,MAAM,UAAU;AACzC,MAAM,UAAU,MAAM,MAAM,UAAU;AAEtC,MAAM,UAAU,MAAM,MAAM,UAAU,OAAO,UAAU,CAAA,CAAE;AACzD,MAAM,UAAU,OAAO,MAAM,UAAU;AACvC,MAAM,UAAU,OAAO,MAAM,UAAU;AACvC,MAAM,UAAU,MAAM,MAAM,UAAU;AAAA,CCzLrC,SAAUD,GAAO;AAGjB,MAAIgI,IAAQ,2CAA2C;AAYvD,WAASC,EAAarE,GAAS;AAC9B,WAAAA,IAAUA,EAAQ,QAAQ,YAAY,WAAY;AAAE,aAAOoE;AAAA,IAAM,CAAE,GAC5D,OAAO,0BAA0B,SAAS,QAAQpE,IAAU,GAAG;AAAA,EACtE;AAGD,MAAIsE,IAAY,4DAA4D,QACxEC,IAAW,+CAA+C,OAAO,QAAQ,OAAO,WAAY;AAAE,WAAOD;AAAA,EAAU,CAAE,GACjHE,IAAY,sEAAsE;AAGtF,EAAApI,EAAM,UAAU,WAAWA,EAAM,UAAU,OAAO,UAAU,CAAA,CAAE,GAC9DA,EAAM,UAAU,aAAa,YAAY,UAAU;AAAA,IAClD,sBAAsB;AAAA,MACrB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,aAAe;AAAA,QACf,gBAAgB;AAAA,UACf,SAAS;AAAA,UACT,OAAO,CAAC,QAAQ,eAAe;AAAA,UAC/B,QAAQA,EAAM,UAAU;AAAA,QACxB;AAAA,MACD;AAAA,IACD;AAAA,IACD,YAAc;AAAA,MAEb,SAAS;AAAA,MACT,OAAO;AAAA,IACP;AAAA,IACD,OAAS;AAAA,MACR,SAAS,OAAO,MAAMmI,IAAWC,IAAY,QAAQD,IAAW,MAAM,GAAG;AAAA,MACzE,QAAQ;AAAA,QACP,mBAAmB;AAAA,UAClB,SAAS,OAAO,OAAOA,IAAWC,IAAY,SAASD,IAAW,KAAK;AAAA,UACvE,YAAY;AAAA,UACZ,QAAQ;AAAA,YACP,cAAc;AAAA,cACb,SAAS,OAAOD,CAAS;AAAA,cACzB,QAAQlI,EAAM,UAAU;AAAA,YACxB;AAAA,YACD,aAAe;AAAA,UACf;AAAA,QACD;AAAA,QACD,cAAc;AAAA,UACb,SAAS,OAAO,OAAOmI,IAAW,MAAMC,IAAY,GAAG;AAAA,UACvD,YAAY;AAAA,UACZ,QAAQ;AAAA,YACP,aAAe;AAAA,UACf;AAAA,QACD;AAAA,QACD,oBAAoB;AAAA,UACnB,SAAS,OAAO,MAAMD,IAAW,GAAG;AAAA,UACpC,QAAQ;AAAA,YACP,gBAAgB;AAAA,cACf,SAAS,OAAOD,CAAS;AAAA,cACzB,OAAO;AAAA,cACP,QAAQlI,EAAM,UAAU;AAAA,YACxB;AAAA,YACD,aAAe;AAAA,UACf;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACD,MAAQ;AAAA,MACP;AAAA,QAEC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,OAAO;AAAA,MACP;AAAA,MACD;AAAA,QAIC,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,UACP,cAAc;AAAA,YACb,SAAS;AAAA,YACT,YAAY;AAAA,UACZ;AAAA,UACD,iBAAiB;AAAA,YAChB,SAAS;AAAA,YACT,YAAY;AAAA,UACZ;AAAA,UACD,aAAe;AAAA,QACf;AAAA,MACD;AAAA,IACD;AAAA,IACD,OAAS;AAAA,MACR;AAAA,QAMC,SAAS;AAAA,QACT,OAAO;AAAA,QACP,QAAQ;AAAA,UACP,aAAa;AAAA,QACb;AAAA,MACD;AAAA,MACD;AAAA,QAGC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,UACP,aAAa;AAAA,QACb;AAAA,MACD;AAAA,IACD;AAAA,IACD,IAAM;AAAA,MAKL,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,IACP;AAAA,IACD,MAAQ;AAAA,MAKP,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,IACP;AAAA,IACD,iBAAiB;AAAA,MAKhB,SAAS;AAAA,MACT,QAAQ;AAAA,QACP,UAAY;AAAA,UACX,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,QACD,QAAU;AAAA,QACV,aAAe;AAAA,MACf;AAAA,MACD,OAAO;AAAA,IACP;AAAA,IACD,MAAQ;AAAA,MAKP,SAASiI,EAAa,kGAAkG,MAAM;AAAA,MAC9H,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,SAAW;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ,CAAE;AAAA,QACV;AAAA,QACD,aAAe;AAAA,MACf;AAAA,IACD;AAAA,IACD,QAAU;AAAA,MAKT,SAASA,EAAa,kGAAkG,MAAM;AAAA,MAC9H,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,SAAW;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ,CAAE;AAAA,QACV;AAAA,QACD,aAAe;AAAA,MACf;AAAA,IACD;AAAA,IACD,QAAU;AAAA,MAIT,SAASA,EAAa,2BAA2B,MAAM;AAAA,MACvD,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,SAAW;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ,CAAE;AAAA,QACV;AAAA,QACD,aAAe;AAAA,MACf;AAAA,IACD;AAAA,IACD,gBAAgB;AAAA,MAGf,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,OAAO,CAAC,QAAQ,SAAS;AAAA,IACzB;AAAA,IACD,KAAO;AAAA,MAIN,SAASA,EAAa,mGAAmG,MAAM;AAAA,MAC/H,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,UAAY;AAAA,QACZ,SAAW;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ,CAAE;AAAA,QACV;AAAA,QACD,UAAY;AAAA,UACX,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,QACD,KAAO;AAAA,UACN,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,QACD,QAAU;AAAA,UACT,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,MACD;AAAA,IACD;AAAA,EACH,CAAE,GAED,CAAC,OAAO,QAAQ,UAAU,QAAQ,EAAE,QAAQ,SAAUvG,GAAO;AAC5D,KAAC,OAAO,QAAQ,UAAU,UAAU,cAAc,EAAE,QAAQ,SAAUN,GAAQ;AAC7E,MAAIM,MAAUN,MACbpB,EAAM,UAAU,SAAS0B,GAAO,OAAO,QAAQ,OAAON,KAAUpB,EAAM,UAAU,SAASoB;AAAA,IAE7F,CAAG;AAAA,EACH,CAAE,GAEDpB,EAAM,MAAM,IAAI,kBAAkB,SAAUoC,GAAK;AAChD,QAAIA,EAAI,aAAa,cAAcA,EAAI,aAAa;AACnD;AAGD,aAASiG,EAAW/H,GAAQ;AAC3B,UAAI,GAACA,KAAU,OAAOA,KAAW;AAIjC,iBAASM,IAAI,GAAGtd,IAAIgd,EAAO,QAAQM,IAAItd,GAAGsd,KAAK;AAC9C,cAAIc,IAAQpB,EAAOM;AAEnB,cAAIc,EAAM,SAAS,QAAQ;AAC1B,YAAA2G,EAAW3G,EAAM,OAAO;AACxB;AAAA,UACA;AAgBD,cAAI4G,IAAW5G,EAAM,QAAQ,IACzBhF,IAAYgF,EAAM,QAAQ;AAE9B,cAAI4G,KAAY5L,KACf4L,EAAS,SAAS,mBAAmB5L,EAAU,SAAS,gBACxD,OAAO4L,EAAS,WAAY,UAAU;AAKtC,gBAAIrI,IAAOqI,EAAS,QAAQ,QAAQ,QAAQ,OAAO,EAAE,QAAQ,WAAW,IAAI;AAE5E,YAAArI,KAAQ,eAAe,KAAKA,CAAI,KAAK,CAAC,EAAE,GAAG,GAAG;AAC9C,gBAAIoD,IAAQ,cAAcpD;AAG1B,YAAKvD,EAAU,QAEJ,OAAOA,EAAU,SAAU,WACrCA,EAAU,QAAQ,CAACA,EAAU,OAAO2G,CAAK,IAEzC3G,EAAU,MAAM,KAAK2G,CAAK,IAJ1B3G,EAAU,QAAQ,CAAC2G,CAAK;AAAA,UAMzB;AAAA,QACD;AAAA,IACD;AAED,IAAAgF,EAAWjG,EAAI,MAAM;AAAA,EACvB,CAAE,GAEDpC,EAAM,MAAM,IAAI,QAAQ,SAAUoC,GAAK;AACtC,QAAIA,EAAI,SAAS,cAKjB;AAAA,eADIkG,IAAW,IACN1H,IAAI,GAAGtd,IAAI8e,EAAI,QAAQ,QAAQxB,IAAItd,GAAGsd,KAAK;AACnD,YAAI2H,IAAMnG,EAAI,QAAQxB,IAClBmD,IAAQ,gBAAgB,KAAKwE,CAAG;AACpC,YAAIxE,GAAO;AACV,UAAAuE,IAAWvE,EAAM;AACjB;AAAA,QACA;AAAA,MACD;AAED,UAAIvC,IAAUxB,EAAM,UAAUsI;AAE9B,UAAK9G;AAaJ,QAAAY,EAAI,UAAUpC,EAAM,UAAUwI,EAAYpG,EAAI,OAAO,GAAGZ,GAAS8G,CAAQ;AAAA,eAZrEA,KAAYA,MAAa,UAAUtI,EAAM,QAAQ,YAAY;AAChE,YAAI1P,IAAK,QAAQ,IAAI,KAAI,EAAG,QAAS,IAAG,MAAM,KAAK,MAAM,KAAK,OAAQ,IAAG,IAAI;AAC7E,QAAA8R,EAAI,WAAW,KAAQ9R,GAEvB0P,EAAM,QAAQ,WAAW,cAAcsI,GAAU,WAAY;AAC5D,cAAIG,IAAM,SAAS,eAAenY,CAAE;AACpC,UAAImY,MACHA,EAAI,YAAYzI,EAAM,UAAUyI,EAAI,aAAazI,EAAM,UAAUsI,IAAWA,CAAQ;AAAA,QAE1F,CAAK;AAAA,MACD;AAAA;AAAA,EAIJ,CAAE;AAED,MAAII,IAAa,OAAO1I,EAAM,UAAU,OAAO,IAAI,QAAQ,QAAQ,IAAI,GASnE2I,IAAqB;AAAA,IACxB,KAAO;AAAA,IACP,IAAM;AAAA,IACN,IAAM;AAAA,IACN,MAAQ;AAAA,EACV,GAGKC,IAAgB,OAAO,iBAAiB,OAAO;AAQnD,WAASJ,EAAYK,GAAM;AAE1B,QAAInG,IAAOmG,EAAK,QAAQH,GAAY,EAAE;AAGtC,WAAAhG,IAAOA,EAAK,QAAQ,iCAAiC,SAAUnf,GAAGwX,GAAM;AAGvE,UAFAA,IAAOA,EAAK,eAERA,EAAK,OAAO,KAAK;AACpB,YAAIL;AACJ,eAAIK,EAAK,OAAO,MACfL,IAAQ,SAASK,EAAK,MAAM,CAAC,GAAG,EAAE,IAElCL,IAAQ,OAAOK,EAAK,MAAM,CAAC,CAAC,GAGtB6N,EAAclO,CAAK;AAAA,MAC9B,OAAU;AACN,YAAIoO,IAAQH,EAAmB5N;AAC/B,eAAI+N,KAKGvlB;AAAA,MACP;AAAA,IACJ,CAAG,GAEMmf;AAAA,EACP;AAED,EAAA1C,EAAM,UAAU,KAAKA,EAAM,UAAU;AAEtC,GAAE,KAAK;AC9ZP,MAAM,UAAU,IAAI,MAAM,UAAU,OAAO,SAAS;AAAA,EACnD,SAAW;AAAA,IACV,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,QAAU;AAAA,IAET,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,cAAc;AAAA,IACb,SAAS;AAAA,IACT,YAAY;AAAA,EACZ;AAAA,EACD,SAAW;AAAA,EACX,UAAY;AAAA,EACZ,QAAU;AAAA,EACV,UAAY;AACb,CAAC;AAED,MAAM,UAAU,aAAa,KAAK,UAAU;AAAA,EAC3C,MAAQ;AAAA,IAEP,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AACF,CAAC;AAED,MAAM,UAAU,aAAa,KAAK,UAAU;AAAA,EAC3C,OAAS;AAAA,IAGR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,QAAU;AAAA,QACT;AAAA,UAEC,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,QACD,MAAM,UAAU,EAAE;AAAA,MAClB;AAAA,MACD,MAAQ,MAAM,UAAU,EAAE;AAAA,MAC1B,SAAW,MAAM,UAAU,EAAE;AAAA,MAC7B,cAAc;AAAA,QACb;AAAA,UACC,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,QACD;AAAA,UACC,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,OAAO;AAAA,QACP;AAAA,MACD;AAAA,MAED,WAAa;AAAA,QACZ,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,OAAO;AAAA,MACP;AAAA,MACD,kBAAkB;AAAA,MAClB,aAAe;AAAA,MACf,YAAc;AAAA,QACb,SAAS;AAAA,QACT,QAAQ,MAAM,UAAU;AAAA,MACxB;AAAA,IACD;AAAA,EACD;AACF,CAAC;AAED,MAAM,UAAU,aAAa,KAAK,YAAY;AAAA,EAE7C,UAAY;AACb,CAAC;AAED,OAAO,MAAM,UAAU,EAAE;AAAA,CC/ExB,SAAUA,GAAO;AAEjB,MAAIsG,IAAS;AAEb,EAAAtG,EAAM,UAAU,MAAM;AAAA,IACrB,SAAW;AAAA,IACX,QAAU;AAAA,MACT,SAAS,OAAO,eAAe,sBAAsB,SAAS,MAAMsG,EAAO,SAAS,QAAQ,kBAAkB,MAAM;AAAA,MACpH,QAAQ;AAAA,QACP,MAAQ;AAAA,QACR,8BAA8B;AAAA,UAC7B,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,OAAO;AAAA,QACP;AAAA,QACD,SAAW;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,QACZ;AAAA,MAED;AAAA,IACD;AAAA,IACD,KAAO;AAAA,MAEN,SAAS,OAAO,iBAAiBA,EAAO,SAAS,MAAM,8BAA8B,SAAS,QAAQ,GAAG;AAAA,MACzG,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,UAAY;AAAA,QACZ,aAAe;AAAA,QACf,QAAU;AAAA,UACT,SAAS,OAAO,MAAMA,EAAO,SAAS,GAAG;AAAA,UACzC,OAAO;AAAA,QACP;AAAA,MACD;AAAA,IACD;AAAA,IACD,UAAY;AAAA,MACX,SAAS,OAAO,sDAAuDA,EAAO,SAAS,eAAe;AAAA,MACtG,YAAY;AAAA,IACZ;AAAA,IACD,QAAU;AAAA,MACT,SAASA;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,UAAY;AAAA,MACX,SAAS;AAAA,MACT,YAAY;AAAA,IACZ;AAAA,IACD,WAAa;AAAA,IACb,UAAY;AAAA,MACX,SAAS;AAAA,MACT,YAAY;AAAA,IACZ;AAAA,IACD,aAAe;AAAA,EACjB,GAECtG,EAAM,UAAU,IAAI,OAAU,OAAO,OAAOA,EAAM,UAAU;AAE5D,MAAIuG,IAASvG,EAAM,UAAU;AAC7B,EAAIuG,MACHA,EAAO,IAAI,WAAW,SAAS,KAAK,GACpCA,EAAO,IAAI,aAAa,SAAS,KAAK;AAGxC,GAAE,KAAK;AC/DP,MAAM,UAAU,aAAa,MAAM,UAAU,OAAO,KAAK;AAAA,EACxD,QAAU;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,SAAW;AAAA,EACX,UAAY;AACb,CAAC;AAED,OAAO,MAAM,UAAU,WAAW;AAElC,MAAM,UAAU,OAAO,MAAM,UAAU;ACXvC,MAAM,UAAU,MAAM;AAAA,EACrB,SAAW;AAAA,IACV,SAAS;AAAA,IACT,YAAY;AAAA,EACZ;AAAA,EACD,UAAY;AAAA,IACX;AAAA,MACC,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD;AAAA,EACA;AAAA,EACD,QAAU;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,EACZ;AAAA,EACD,YAAc;AAAA,IACb,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,QAAQ;AAAA,MACP,aAAe;AAAA,IACf;AAAA,EACD;AAAA,EACD,UAAY;AAAA,EACZ,SAAW;AAAA,EACX,SAAW;AAAA,EACX,QAAU;AAAA,EACV,UAAY;AAAA,EACZ,aAAe;AAChB;AC/BA,MAAM,UAAU,SAAS;AAAA,EACxB,SAAW;AAAA,IACV,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,EACR;AAAA,EACD,wBAAwB;AAAA,IACvB,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,MACP,eAAiB;AAAA,QAEhB,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,UACP,eAAe;AAAA,YACd,SAAS;AAAA,YACT,YAAY;AAAA,UACZ;AAAA,UACD,qBAAqB;AAAA,YACpB,SAAS;AAAA,YACT,OAAO;AAAA,UACP;AAAA,UACD,MAAM;AAAA,QACN;AAAA,MACD;AAAA,MACD,QAAU;AAAA,IACV;AAAA,EACD;AAAA,EACD,wBAAwB;AAAA,IACvB,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,EACP;AAAA,EACD,QAAU;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,EACR;AAAA,EACD,UAAY;AAAA,IACX,SAAS;AAAA,IACT,YAAY;AAAA,EACZ;AAAA,EACD,cAAc;AAAA,IACb,SAAS;AAAA,IACT,YAAY;AAAA,EACZ;AAAA,EACD,WAAa;AAAA,IACZ,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,OAAO,CAAC,cAAc,aAAa;AAAA,IACnC,QAAQ;AAAA,MACP,aAAe;AAAA,IACf;AAAA,EACD;AAAA,EACD,SAAW;AAAA,EACX,SAAW;AAAA,EACX,SAAW;AAAA,EACX,QAAU;AAAA,EACV,UAAY;AAAA,EACZ,aAAe;AAChB;AAEA,MAAM,UAAU,OAAO,wBAAwB,OAAO,cAAiB,OAAO,OAAO,MAAM,UAAU;AAErG,MAAM,UAAU,KAAK,MAAM,UAAU;AAAA,CChEpC,SAAUvG,GAAO;AAGjB,WADI+I,IAAmB,8CAA8C,QAC5DnI,IAAI,GAAGA,IAAI,GAAGA;AAEtB,IAAAmI,IAAmBA,EAAiB,QAAQ,WAAW,WAAY;AAAE,aAAOA;AAAA,IAAiB,CAAE;AAEhG,EAAAA,IAAmBA,EAAiB,QAAQ,WAAW,WAAY;AAAE,WAAO,UAAU;AAAA,EAAO,CAAE,GAG/F/I,EAAM,UAAU,OAAO;AAAA,IACtB,SAAW;AAAA,MACV;AAAA,QACC,SAAS,OAAO,YAAY,SAAS+I,CAAgB;AAAA,QACrD,YAAY;AAAA,QACZ,QAAQ;AAAA,MACR;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,MACR;AAAA,IACD;AAAA,IACD,QAAU;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,MAAQ;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,IACR;AAAA,IACD,WAAa;AAAA,MACZ,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,QAAQ;AAAA,QACP,QAAU;AAAA,MACV;AAAA,IACD;AAAA,IAGD,kBAAkB;AAAA,MACjB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,uBAAuB;AAAA,UACtB,SAAS;AAAA,UACT,OAAO;AAAA,QACP;AAAA,QACD,MAAM;AAAA,MACN;AAAA,IACD;AAAA,IAED,uBAAuB;AAAA,MACtB,SAAS;AAAA,MACT,OAAO;AAAA,IACP;AAAA,IAED,sBAAsB;AAAA,MACrB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,IACP;AAAA,IACD,UAAY;AAAA,IAEZ,uBAAuB;AAAA,MACtB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,IACP;AAAA,IACD,mBAAmB;AAAA,MAClB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,IACP;AAAA,IACD,sBAAsB;AAAA,MACrB;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,OAAO;AAAA,MACP;AAAA,MACD;AAAA,QACC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,UACP,aAAe;AAAA,QACf;AAAA,MACD;AAAA,IACD;AAAA,IACD,SAAW;AAAA,MAEV;AAAA,MAGA;AAAA,IACA;AAAA,IAKD,UAAY;AAAA,IACZ,OAAS;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,IACP;AAAA,IACD,UAAY;AAAA,IACZ,cAAc;AAAA,IAEd,WAAa;AAAA,MACZ,SAAS;AAAA,MACT,QAAQ;AAAA,QACP,aAAe;AAAA,MACf;AAAA,IACD;AAAA,IAGD,QAAU;AAAA,IACV,SAAW;AAAA,IACX,aAAe;AAAA,IACf,UAAY;AAAA,EACd,GAEC/I,EAAM,UAAU,KAAK,kBAAkB,OAAO,OAAOA,EAAM,UAAU,MACrEA,EAAM,UAAU,KAAK,UAAa,OAAO,SAAYA,EAAM,UAAU,KAAK;AAE3E,GAAE,KAAK;AC/HP,MAAM,UAAU,QAAQ;AAAA,EACvB,SAAW;AAAA,IAEV,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,EACR;AAAA,EACD,kBAAkB;AAAA,IAEjB;AAAA,MACC,SAAS;AAAA,QACR,YAAY,SACV,QAEA,8DAA8D,SAC9D,MAEA,iEAAiE,SACjE,MACA,WAAW;AAAA,MACb;AAAA,MACD,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,eAAiB;AAAA,UAChB,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ;AAAA,QACR;AAAA,QACD,6BAA6B;AAAA,UAC5B,SAAS;AAAA,UACT,OAAO;AAAA,QACP;AAAA,QACD,aAAe;AAAA,QACf,QAAU;AAAA,MACV;AAAA,IACD;AAAA,IACD;AAAA,MACC,SAAS;AAAA,QACR,gBAAgB,SACd,QAEA,gEAAgE,SAChE,MAEA,2DAA2D,SAC3D;AAAA,MAEF;AAAA,MACD,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,QACP,eAAiB;AAAA,UAChB,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ;AAAA,QACR;AAAA,QACD,6BAA6B;AAAA,UAC5B,SAAS;AAAA,UACT,OAAO;AAAA,QACP;AAAA,QACD,QAAU;AAAA,MACV;AAAA,IACD;AAAA,EACD;AAAA,EAED,WAAa;AAAA,IAEZ,SAAS;AAAA,MACR,IAAI,SACF,SAED,kBAAkB,SAChB,aAIA,8GAA8G,SAC9G,QAED,MACA,mBAAmB,SACnB;AAAA,IACF;AAAA,IACD,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,kBAAkB;AAAA,MAClB,SAAW;AAAA,MACX,QAAU;AAAA,MACV,UAAY;AAAA,MACZ,aAAe;AAAA,IACf;AAAA,EACD;AAAA,EACD,SAAW;AAAA,IACV,SAAS;AAAA,IACT,OAAO;AAAA,EACP;AAAA,EACD,mBAAmB;AAAA,IAClB,SAAS;AAAA,IACT,OAAO;AAAA,EACP;AAAA,EAED,WAAa;AAAA,IACZ,SAAS;AAAA,IACT,OAAO;AAAA,EACP;AAAA,EAED,uBAAuB;AAAA,IACtB,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,EACP;AAAA,EACD,OAAS;AAAA,IAER,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,EACP;AAAA,EAED,SAAW;AAAA,EACX,SAAW;AAAA,EACX,KAAO;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,EACP;AAAA,EAED,kBAAkB;AAAA,EAClB,MAAQ;AAAA,IACP,SAAS;AAAA,IACT,OAAO;AAAA,EACP;AAAA,EACD,QAAU;AAAA,EAGV,cAAc;AAAA,EACd,UAAY;AAAA,EACZ,UAAY;AAAA,EAKZ,UAAY;AAAA,EACZ,aAAe;AAChB;AAEA,MAAM,UAAU,MAAM,kBAAkB,QAAQ,SAAUgJ,GAAM;AAC/D,EAAAA,EAAK,OAAO,cAAiB,SAAS,MAAM,UAAU;AACvD,CAAC;AC7IY,IAAIhlB,KAAEZ,GAAAA,SACfG,KAAE0lB,IAA0BniB,IAAEoiB;AAAmB,IAAIhhB,KAAE,EAAC,GAAE,KAAI,OAAM,UAAS,KAAI,OAAM,MAAK,QAAO,IAAG,cAAa,UAAS,YAAW,MAAK,eAAc,OAAM,cAAa,IAAG,UAAS,MAAK,QAAO,KAAI,OAAM,OAAM,SAAQ,KAAI,MAAK,GAAEG,KAAE,EAAC,YAAW,MAAK,IAAG,YAAW,WAAU,SAAQ,QAAO,MAAK,MAAK,QAAO;AAAE,SAASC,GAAE1E,GAAE;AAAC,SAAOyE,GAAEzE,MAAIA;AAAC;AACrV,MAAMgF,WAAU9B,EAAE,SAAQ;AAAA,EAAC,YAAYlD,GAAEE,GAAEH,GAAE;AAAC,UAAMC,GAAED,CAAC,GAAE,KAAK,kBAAgBG;AAAA,EAAC;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAgB;AAAA,EAAC,OAAO,MAAMF,GAAE;AAAC,WAAO,IAAIgF,GAAEhF,EAAE,QAAOA,EAAE,mBAAiB,QAAOA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,mBAAkB;AAAC,WAAO,KAAK,YAAY;AAAA,EAAe;AAAA,EAAC,UAAUA,GAAE;AAAC,QAAIE,IAAE,MAAM,UAAUF,CAAC;AAAE,WAAAA,IAAE4E,GAAE5E,EAAE,OAAM,KAAK,eAAe,GAAEL,GAAE,uBAAuBO,GAAEF,CAAC,GAASE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAEE,GAAEH,GAAE;AAAC,QAAII,IAAE,MAAM,UAAUH,GAAEE,GAAEH,CAAC;AAAE,WAAAC,IAAE4E,GAAE7E,EAAE,OAAMC,EAAE,eAAe,GAAED,IAAE6E,GAAE7E,EAAE,OAAM,KAAK,eAAe,GAAEC,MAAID,MAAIC,KAAGL,GAAE;AAAA,MAA4BO;AAAA,MACngBF;AAAA,IAAC,GAAED,KAAGJ,GAAE,uBAAuBO,GAAEH,CAAC,IAAUI;AAAA,EAAC;AAAA,EAAC,OAAO,WAAWH,GAAE;AAAC,QAAIE,IAAEgF,GAAElF,EAAE,MAAKA,EAAE,aAAa;AAAE,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,QAAQF,EAAE,IAAI,GAAEE,EAAE,SAASF,EAAE,KAAK,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAY,GAAC,eAAc,KAAK,oBAAmB,MAAK,kBAAiB,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAO;AAAA,EAAI;AAAC;AAAC,SAAS0E,GAAE5E,GAAEE,GAAE;AAAC,SAAOA,KAAGF,KAAGA,EAAE,iBAAeA,EAAE,cAAcE;AAAE;AAAC,SAASgF,GAAElF,GAAEE,GAAE;AAAC,SAAO,IAAI8E,GAAEhF,GAAEE,CAAC;AAAC;AAAC,SAAS2E,GAAE7E,GAAE;AAAC,SAAOA,aAAagF;AAAC;AAC9c,SAASD,GAAE/E,GAAE;AAAC,MAAIE,IAAE,MAAKH,IAAEC,EAAE,oBAAmB;AAAG,OAAID,EAAE,KAAKC,CAAC,GAAE,IAAED,EAAE,WAASC,IAAED,EAAE,IAAG,GAAG8E,GAAE7E,CAAC,MAAIE,IAAEF,IAAG,CAACkD,EAAE,iBAAiBlD,CAAC;AAAI;AAAC,SAAOE;AAAC;AAAC,SAASkF,GAAEpF,GAAE;AAAC,MAAIE,IAAE,MAAKH,IAAEC,EAAE,gBAAe;AAAG,OAAID,EAAE,QAAQC,CAAC,GAAE,IAAED,EAAE,WAASC,IAAED,EAAE,MAAK,GAAG8E,GAAE7E,CAAC,MAAIE,IAAEF,IAAG,CAACkD,EAAE,iBAAiBlD,CAAC;AAAI;AAAC,SAAOE;AAAC;AAAC,IAAIqF,KAAE,CAAAvF,MAASA,KAAN,QAASI,GAAE,UAAU,eAAeJ,CAAC,IAAEA,IAAE;AACjU,MAAM0G,WAAUxD,EAAE,YAAW;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAM;AAAA,EAAC,OAAO,MAAMlD,GAAE;AAAC,WAAO,IAAI0G,GAAE1G,EAAE,YAAWA,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,YAAYA,GAAEE,GAAE;AAAC,UAAMA,CAAC,GAAE,KAAK,aAAWqF,GAAEvF,CAAC;AAAA,EAAC;AAAA,EAAC,UAAUA,GAAE;AAAC,QAAIE,IAAE,SAAS,cAAc,MAAM;AAAE,WAAAP,GAAE,uBAAuBO,GAAEF,EAAE,MAAM,IAAI,GAAEE,EAAE,aAAa,cAAa,OAAO,IAAGF,IAAE,KAAK,YAAW,MAAKE,EAAE,aAAa,2BAA0BF,CAAC,GAASE;AAAA,EAAC;AAAA,EAAC,UAAUF,GAAEE,GAAE;AAAC,QAAIH,IAAE,KAAK;AAAW,WAAAC,IAAEA,EAAE,YAAWD,IAAEA,MAAIC,KAAGE,EAAE,aAAa,2BAA0BH,CAAC,IAAEC,KAAGE,EAAE,gBAAgB,yBAAyB,GAC5f;AAAA,EAAE;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,MAAK,CAAAF,MAASA,EAAE,eAAR,QAAqB,QAAQ,KAAKA,EAAE,WAAW,IAAE,EAAC,YAAW2G,IAAE,UAAS,EAAC,IAAE,MAAK,KAAI,OAAK,EAAC,YAAWC,IAAE,UAAS,EAAC,IAAG,KAAI,OAAK,EAAC,YAAWD,IAAE,UAAS,EAAC,IAAG,OAAM,CAAA3G,MAAG6G,GAAE7G,CAAC,IAAE,EAAC,YAAWc,IAAG,UAAS,EAAC,IAAE,MAAK,IAAG,CAAAd,MAAG;AAAC,UAAIE,IAAEF,EAAE,QAAQ,OAAO;AAAE,aAAOA,EAAE,UAAU,SAAS,cAAc,IAAE,EAAC,YAAWe,IAAG,UAAS,EAAC,IAAEb,KAAG2G,GAAE3G,CAAC,IAAE,EAAC,YAAW4G,IAAE,UAAS,EAAC,IAAE;AAAA,IAAI,GAAE,IAAG,CAAA9G,OAAIA,IAAEA,EAAE,QAAQ,OAAO,MAAI6G,GAAE7G,CAAC,IAAE,EAAC,YAAW8G,IAAE,UAAS,EAAC,IAAE,KAAI;AAAA,EAAC;AAAA,EAAC,OAAO,WAAW9G,GAAE;AAAC,QAAIE,IAAE8G,GAAEhH,EAAE,QAAQ;AAAE,WAAAE,EAAE,UAAUF,EAAE,MAAM,GAChgBE,EAAE,UAAUF,EAAE,MAAM,GAAEE,EAAE,aAAaF,EAAE,SAAS,GAASE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,GAAG,MAAM,WAAY,GAAC,UAAS,KAAK,YAAW,GAAG,MAAK,QAAO,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,eAAeF,GAAE;AAAC,QAAIE,IAAE,KAAK,eAAcH,IAAEG,EAAE;AAAO,QAAG,KAAGH,KAAUG,EAAEH,IAAE,GAAG,eAAc,MAA5B;AAAA,KAAuCG,EAAEH,IAAE,GAAG,eAAgB,MAA9B;AAAA,KAAgCC,EAAE,iBAAeA,EAAE,OAAO,QAAM,KAAK,SAAOA,EAAE,OAAO,WAASD;AAAE,aAAOG,EAAEH,IAAE,GAAG,OAAM,GAAGG,EAAEH,IAAE,GAAG,UAASC,IAAEkD,EAAE,qBAAsB,GAAC,KAAK,YAAYlD,CAAC,GAAEA;AAAE,IAAAE,IAAEF,EAAE,OAAO,QAAS;AAAC,QAAIG,IAAE4E,GAAE7E,CAAC;AAAE,QAASC,KAAN,MAAQ;AAAK,WAAJJ,IAAE,GAAMI,IAAEA,EAAE,eAAgB,GAACJ,IACxfI,EAAE,UAAQ,QAAQ,KAAKA,EAAEJ,EAAE;AAAG,QAAAA,KAAG;AAAE,UAAG,IAAEA;AAAE,eAAOA,IAAEI,EAAE,UAAU,GAAEJ,CAAC,GAAEA,IAAEmF,GAAEnF,CAAC,GAAEG,EAAE,YAAYH,CAAC,GAAEC,EAAE,YAAY,CAACkD,EAAE,qBAAsB,CAAA,CAAC,GAAEnD,EAAE,OAAM,GAAGA;AAAA,IAAC;AAAC,WAAO;AAAA,EAAI;AAAA,EAAC,eAAc;AAAC,QAAIC,IAAEkD,EAAE,cAAe;AAAC,WAAOA,GAAAA,EAAE,kBAAkBlD,CAAC,KAAGA,EAAE;EAAmB;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,kBAAiB;AAAC,QAAIA,IAAEkD,EAAE,qBAAoB;AAAG,gBAAK,YAAW,EAAG,QAAQ,CAAAhD,MAAGF,EAAE,OAAOE,CAAC,CAAC,GAAE,KAAK,QAAQF,CAAC,GAAQ;AAAA,EAAE;AAAA,EAAC,YAAYA,GAAE;AAAC,SAAK,YAAW,EAAG,aAAWuF,GAAEvF,CAAC;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,WAAO,KAAK,YAAY;AAAA,EAAU;AAAC;AACxe,SAASgH,GAAEhH,GAAE;AAAC,SAAO,IAAI0G,GAAE1G,CAAC;AAAC;AAAC,SAAS2H,GAAE3H,GAAE;AAAC,SAAOA,aAAa0G;AAAC;AAAC,SAASC,KAAG;AAAC,SAAM,EAAC,MAAKK,GAAG,GAAC,cAAa,GAAE;AAAC;AAAC,SAASJ,GAAE5G,GAAE;AAAC,MAAIE,IAASF,EAAE,MAAM,WAAW,MAAM,WAAW,MAA3C;AAA6C,SAAM,EAAC,OAAM,CAAAD,MAAG;AAAC,QAAII,IAAEH,EAAE;AAAW,WAAMG,KAAN,QAASH,MAAIG,EAAE,aAAWJ,EAAE,KAAKmD,EAAE,qBAAoB,CAAE,GAASnD;AAAA,EAAC,GAAE,MAAKG,IAAE8G,GAAC,IAAG,MAAK,cAAa9G,EAAC;AAAC;AAAC,SAASY,KAAI;AAAC,SAAM,EAAC,MAAKkG,GAAC,GAAG,cAAa,GAAE;AAAC;AAAC,SAASF,KAAG;AAAC,SAAM,EAAC,MAAK,KAAI;AAAC;AACvY,SAAS/F,GAAGf,GAAE;AAAC,SAAM,EAAC,OAAM,CAAAE,OAAIF,EAAE,cAAYA,EAAE,WAAW,eAAaE,EAAE,KAAKgD,EAAE,qBAAoB,CAAE,GAAShD,IAAG,MAAK,KAAI;AAAC;AAAC,SAAS2G,GAAE7G,GAAE;AAAC,SAAOA,EAAE,UAAU,SAAS,wBAAwB;AAAC;AAAC,SAASmI,GAAEnI,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAO,MAAIG,IAAE;AAAG,MAAGD;AAAE,SAAIA,IAAE,GAAEA,IAAEH,GAAEG,KAAI;AAAC,UAAIX,IAAES,EAAEE;AAAG,UAASX,MAAN,OAAgBA,MAAP,KAAS;AAAC,QAAAY,IAAED;AAAE;AAAA,MAAK;AAAA,IAAC;AAAA;AAAM,SAAI,EAAEH,GAAE,KAAGA,GAAEA;AAAI,UAAGG,IAAEF,EAAED,IAASG,MAAN,OAAgBA,MAAP,KAAS;AAAC,QAAAC,IAAEJ;AAAE;AAAA,MAAK;AAAC,SAAOI;AAAC;AACjX,SAAS2I,GAAE9I,GAAE;AAAC,MAAIE,IAAE,MAAKH,IAAE;AAAG,MAAII,IAAEH,EAAE,oBAAqB;AAAC,OAAIG,EAAE,KAAKH,CAAC,GAAE,IAAEG,EAAE,UAAQ;AAAC,QAAIZ,IAAEY,EAAE,IAAK;AAAC,QAAG0E,GAAEtF,CAAC,GAAE;AAAC,UAAIU,IAAEV,EAAE,eAAgB;AAAC,MAAAU,IAAEkI,GAAElI,GAAE,EAAE,GAAOA,MAAL,OAASC,IAAEX,GAAEQ,IAAEE;AAAA,IAAE;AAAC,QAAGiD,EAAE,iBAAiB3D,CAAC;AAAE;AAAA,EAAK;AAAC,MAAUW,MAAP;AAAS,SAAIF,IAAEA,EAAE,gBAAiB,GAAC,IAAEA,EAAE,UAAQ;AAAa,UAAZG,IAAEH,EAAE,MAAO,GAAI6E,GAAE1E,CAAC,MAAIZ,IAAEY,EAAE,eAAc,GAAGZ,IAAE4I,GAAE5I,GAAE,EAAE,GAAOA,MAAL,KAAQ;AAAC,QAAAW,IAAEC,GAAEJ,IAAER;AAAE;AAAA,MAAK;AAAC,UAAG2D,EAAE,iBAAiB/C,CAAC;AAAE;AAAA,IAAK;AAAC,SAAM,EAAC,MAAKD,GAAE,QAAOH,EAAC;AAAC;AACvX,SAASgJ,GAAE/I,GAAE;AAAC,MAAIE,IAAE,MAAKH,IAAE;AAAG,MAAII,IAAEH,EAAE,gBAAe;AAAG,OAAIG,EAAE,QAAQH,CAAC,GAAE,IAAEG,EAAE,UAAQ;AAAC,QAAIZ,IAAEY,EAAE,MAAO;AAAC,QAAG0E,GAAEtF,CAAC,GAAE;AAAC,UAAIU,IAAEV,EAAE,eAAgB;AAAC,MAAAU,IAAEkI,GAAElI,GAAE,EAAE,GAAOA,MAAL,OAASC,IAAEX,GAAEQ,IAAEE,IAAE;AAAA,IAAE;AAAC,QAAGiD,EAAE,iBAAiB3D,CAAC;AAAE;AAAA,EAAK;AAAC,MAAUW,MAAP;AAAS,SAAIF,IAAEA,EAAE,oBAAmB,GAAG,IAAEA,EAAE,UAAQ;AAAW,UAAVG,IAAEH,EAAE,IAAK,GAAI6E,GAAE1E,CAAC,MAAIZ,IAAEY,EAAE,eAAgB,GAACZ,IAAE4I,GAAE5I,GAAE,EAAE,GAAOA,MAAL,KAAQ;AAAC,QAAAW,IAAEC,GAAEJ,IAAER,IAAE;AAAE;AAAA,MAAK;AAAC,UAAG2D,EAAE,iBAAiB/C,CAAC;AAAE;AAAA,IAAK;AAAC,SAAM,EAAC,MAAKD,GAAE,QAAOH,EAAC;AAAC;AAAC,SAASsF,GAAErF,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE,UAAS;AAAG2H,EAAAA,GAAE5H,CAAC,IAAEiJ,GAAEjJ,GAAEG,CAAC,IAAE2E,GAAE7E,CAAC,KAAGA,EAAE,QAAQkD,EAAE,gBAAgBlD,EAAE,MAAM,CAAC;AAAC;AAAC,IAAIkJ,KAAE;AACle,SAASF,GAAEhJ,GAAEE,GAAE;AAAC,MAAG,CAACgJ,IAAE;AAACA,IAAAA,KAAE,IAAYlJ,EAAE,YAAW,MAAtB,UAA0BA,EAAE,YAAY,YAAY;AAAE,QAAID,IAAEC,EAAE,OAAQ;AAAC,IAAAE,EAAE,OAAO,MAAI;AAACc,MAAAA,GAAGjB,GAAE,MAAI;AAAC,YAAII,IAAE+C,EAAE,cAAcnD,CAAC;AAAE,YAAG,CAAC4H,GAAExH,CAAC,KAAG,CAACA,EAAE,WAAU;AAAG,iBAAM;AAAG,YAAIZ,IAAEY,EAAE,eAAc;AAAG,QAAAZ,IAAEa,GAAE,SAASb,GAAEa,GAAE,UAAUD,EAAE,YAAa,KAAE,OAAKC,GAAE,UAAU,UAAU,GAAEb,IAAEoL,GAAEpL,CAAC;AAAE,YAAIU,IAAEE,EAAE,YAAa;AAAC,aAAIA,IAAE,GAAEA,IAAEF,EAAE,UAAQ6L,GAAE7L,EAAEE,IAAGZ,EAAEY,EAAE;AAAG,UAAAA;AAAI,YAAIV,IAAEQ,EAAE;AAAO,YAAII,IAAEd,EAAE,QAAOK,IAAE,KAAK,IAAIH,GAAEY,CAAC,IAAEF,GAAET,IAAE;AAAE,eAAKA,IAAEE;AAAG,cAAGF,KAAI,CAACoM,GAAE7L,EAAER,IAAEC,IAAGH,EAAEc,IAAEX,EAAE,GAAE;AAAC,YAAAA;AAAI;AAAA,UAAK;AAAC,QAAAO,IAAEE,GAAEV,KAAGC,GAAEH,IAAEA,EAAE,MAAMY,GAAEE,IAAEX,CAAC;AAAE,YAAI,EAAC,MAAKG,GAAE,IAAG2E,GAAE,qBAAoBzB,EAAC,IAC9f,EAAC,MAAK9C,GAAE,qBAAoBV,GAAE,IAAGE,EAAC;AAAE,eAAOI,MAAI2E,KAAGzB,EAAE,UAAQ/C,EAAE,OAAOH,GAAE2E,IAAE3E,GAAEkD,CAAC,GAAE,MAAI;AAAA,MAAE,CAAC;AAAA,IAAC,GAAE,EAAC,UAAS,MAAI;AAACmG,MAAAA,KAAE;AAAA,IAAE,GAAE,gBAAe,GAAE,CAAC;AAAA,EAAC;AAAC;AAAC,SAASyB,GAAE3K,GAAE;AAAC,MAAIE,IAAE,CAAE;AAAC,SAAAF,EAAE,QAAQ,CAAAD,MAAG;AAAC,QAAc,OAAOA,KAAlB,UAAoB;AAAC,MAAAA,IAAEA,EAAE,MAAM;AAAA,CAAI;AAAE,eAAQI,IAAE,GAAEA,IAAEJ,EAAE,QAAOI,KAAI;AAAC,YAAIZ,IAAEQ,EAAEI;AAAG,QAAAZ,EAAE,UAAQW,EAAE,KAAKgF,GAAE3F,CAAC,CAAC,GAAEY,IAAEJ,EAAE,SAAO,KAAGG,EAAE,KAAKgD,EAAE,qBAAsB,CAAA;AAAA,MAAC;AAAA,IAAC;AAAK,OAAC,EAAC,SAAQ/C,EAAC,IAAEJ,IAAc,OAAOI,KAAlB,WAAoBD,EAAE,KAAKgF,GAAE/E,GAAEJ,EAAE,IAAI,CAAC,IAAE,MAAM,QAAQI,CAAC,KAAOA,EAAE,WAAN,KAAyB,OAAOA,EAAE,MAApB,WAAuBD,EAAE,KAAKgF,GAAE/E,EAAE,IAAGJ,EAAE,IAAI,CAAC,IAAE,MAAM,QAAQI,CAAC,KAAGD,EAAE,KAAK,GAAGyK,GAAExK,CAAC,CAAC;AAAA,EAAC,CAAC,GAASD;AAAC;AACnf,SAASc,GAAGhB,GAAEE,GAAE;AAAsB,MAArBF,IAAEkD,EAAE,cAAclD,CAAC,GAAK2H,GAAE3H,CAAC,KAAGA,EAAE,cAAa;AAAC,QAAID,IAAEmD,EAAE,cAAe;AAAC,QAAGA,EAAE,kBAAkBnD,CAAC,GAAE;AAAC,MAAAA,IAAEA,EAAE;AAAO,UAAII,IAAEJ,EAAE,QAAOR,IAAcQ,EAAE,SAAd,aAAoBmD,EAAE,iBAAiBlD,EAAE,gBAAgBD,EAAE,SAAO,CAAC,CAAC,GAAEE,IAAE;AAAE,UAAG,CAACV,GAAE;AAAC,YAAIE,IAAEM,EAAE,QAAS;AAAC,QAAAE,IAAEE,IAAEV,EAAE,sBAAsB,OAAO,CAACY,GAAET,MAAIS,KAAG6C,EAAE,iBAAiBtD,CAAC,IAAE,IAAEA,EAAE,mBAAoB,IAAE,CAAC;AAAA,MAAC;AAAC,MAAAM,QAAMX,IAAEQ,EAAE,QAAO,EAAG,OAAOI,GAAEA,CAAC,IAAEH,EAAE,YAAW,EAAG,KAAK,CAAAP,MAAG;AAAC,YAAGyD,EAAE,YAAYzD,CAAC,GAAE;AAAC,cAAIY,IAAEZ,EAAE,mBAAkB;AAAG,cAAGY,KAAGJ;AAAE,mBAAOR,EAAE,OAAOQ,GAAEA,CAAC,GAAE;AAAG,UAAAA,KAAGI;AAAA,QAAC;AAAC,eAAM;AAAA,MAAE,CAAC;AAAA,IAAE;AAAM,MAAAH,EAAG;AAAA,EAAA;AAAC;AACtf,SAAS4L,GAAE9L,GAAEE,GAAE;AAAC,SAAO2E,GAAE7E,CAAC,KAAG6E,GAAE3E,CAAC,IAAEF,EAAE,WAASE,EAAE,UAAQF,EAAE,oBAAkBE,EAAE,kBAAgBgD,GAAAA,EAAE,iBAAiBlD,CAAC,KAAGkD,EAAE,iBAAiBhD,CAAC;AAAO;AAAC,SAAS6O,GAAE/O,GAAE;AAAC,MAAIE,IAAEgD,EAAE;AAAgB,MAAG,CAACA,EAAE,kBAAkBhD,CAAC,KAAGA,EAAE,YAAa;AAAC,WAAM;AAAG,EAAAA,IAAEA,EAAE,SAAQ;AAAG,WAAQH,IAAE,GAAEA,IAAEG,EAAE,QAAOH,KAAI;AAAC,QAAII,IAAED,EAAEH;AAAG,QAAG,CAAC8E,GAAE1E,CAAC,KAAG,CAAC+C,EAAE,iBAAiB/C,CAAC;AAAE,aAAM;AAAA,EAAE;AAA2B,OAA1BJ,IAAEgF,GAAE7E,EAAE,EAAE,GAAQH,KAAN,QAASyM,GAAEzM,GAAEC,CAAC,GAAMD,IAAE,GAAEA,IAAEG,EAAE,QAAOH;AAAI,IAAAI,IAAED,EAAEH,IAAGmD,EAAE,iBAAiBhD,EAAEH,IAAE,EAAE,KAAG8E,GAAE1E,CAAC,KAAGqM,GAAErM,GAAEH,CAAC;AAAE,SAAM;AAAE;AACpb,SAASwM,GAAExM,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE;AAAiB,EAAAE,MAAIgD,EAAE,yBAAuB,IAAEnD,EAAE,UAAQ,KAAK,KAAKA,EAAE,EAAE,IAAEC,EAAE,eAAe,MAAKD,CAAC,KAAGG,IAAEgF,GAAE,GAAI,GAAElF,EAAE,aAAaE,CAAC,KAAOH,EAAE,QAAQ,GAAI,MAAlB,MAA0BA,EAAE,WAAN,IAAaC,EAAE,WAASA,EAAE,eAAeD,EAAE,UAAU,CAAC,CAAC;AAAE;AACxO,SAASwO,GAAEvO,GAAEE,GAAE;AAAC,MAAIH,IAAEmD,EAAE,cAAe;AAAC,MAAG,CAACA,EAAE,kBAAkBnD,CAAC;AAAE,WAAM;AAAG,MAAI,EAAC,QAAOI,GAAE,OAAMZ,EAAC,IAAEQ,GAAEE,IAAEE,EAAE,QAAOV,IAAEF,EAAE,QAAOc,IAAEF,EAAE,WAAUP,IAAEL,EAAE,QAAS;AAAC,MAAIG,IAAEM,MAAIkD,EAAE;AAAqB,MAAG,CAAC2B,GAAExE,CAAC,KAAG,CAACwE,GAAEjF,CAAC;AAAE,WAAM;AAAG,MAAG,CAACM,EAAE,QAAO;AAAC,QAAGH,EAAE;AAAc,UAAGC,IAAEK,EAAE,iBAAgB,GAAGX,KAAOO,MAAJ,KAAcI,EAAE,mBAAoB,MAA7B;AAA+B,YAAUL,EAAE,mBAAoB,MAA7B;AAA8B,iBAAOA,EAAE,eAAc,GAAGE,EAAE,eAAgB,GAAC;AAAA,iBAAW,CAACR,KAAGO,MAAII,EAAE,mBAAkB,KAAWA,EAAE,qBAAT,QAAkCL,EAAE,eAAgB,MAAzB;AAA0B,eAAOA,EAAE,WAAY,GACxfE,EAAE,eAAgB,GAAC;AAAA;AAAG,WAAM;AAAA,EAAE;AAAC,MAAIL,IAAEkF,GAAE1E,CAAC;AAAE,MAAImE,IAAEY,GAAExF,CAAC;AAAE,MAASC,KAAN,QAAe2E,KAAN;AAAQ,WAAM;AAAG,MAAIzB,IAAElD,EAAE,gBAAgB2E,CAAC;AAAE,WAAQ1E,IAAE,GAAEA,IAAEiD,EAAE,QAAOjD,KAAI;AAAC,QAAIwO,IAAEvL,EAAEjD;AAAG,QAAG,CAAC+E,GAAEyJ,CAAC,KAAG,CAACpL,EAAE,iBAAiBoL,CAAC;AAAE,aAAM;AAAA,EAAE;AAAuK,MAAtKpO,EAAE,eAAc,GAAGA,EAAE,gBAAe,GAAGA,IAAER,IAAEG,EAAE,mBAAoB,IAAC2E,EAAE,eAAgB,GAAI,CAACtB,EAAE,iBAAiBhD,CAAC,MAAWL,IAAEH,IAAEQ,EAAE,mBAAoB,IAACA,EAAE,eAAgB,GAAUL,KAAN;AAAQ,WAAM;AAAG,EAAAH,IAAEA,IAAEqF,GAAElF,CAAC,IAAEuF,GAAEvF,CAAC;AAAE,MAAIiF,IAAQpF,KAAN,OAAQA,IAAEG;AAAE,SAAAK,EAAE,OAAQ,GAAC6C,EAAE,QAAQ,CAAAjD,MAAGA,EAAE,OAAQ,CAAA,GAAEE,MAAIkD,EAAE,wBAAsBH,EAAE,QAAQ,CAAAjD,MAAGgF,EAAE,aAAahF,CAAC,CAAC,GACtfgF,EAAE,aAAa5E,CAAC,MAAI4E,EAAE,YAAY5E,CAAC,GAAE4E,IAAE5E,GAAE6C,EAAE,QAAQ,CAAAjD,MAAG;AAAC,IAAAgF,EAAE,YAAYhF,CAAC,GAAEgF,IAAEhF;AAAA,EAAC,CAAC,IAAGC,EAAE,iBAAiBM,GAAEJ,GAAEL,GAAEH,CAAC,GAAQ;AAAE;AAAC,SAAS6F,GAAEtF,GAAEE,GAAE;AAAC,MAAIH,IAAEmD,EAAE,cAAa;AAAG,MAAG,CAACA,EAAE,kBAAkBnD,CAAC;AAAE,WAAM;AAAG,MAAI,EAAC,QAAOI,GAAE,OAAMZ,EAAC,IAAEQ,GAAEE,IAAEE,EAAE,QAAS,GAACV,IAAEF,EAAE;AAAgC,MAAtBS,IAAEA,MAAIkD,EAAE,eAAiB,CAAC2B,GAAE5E,CAAC,KAAG,CAAC4E,GAAEpF,CAAC;AAAE,WAAM;AAAG,MAAIY,GAAET;AAAE,SAAAI,IAAE,EAAC,MAAKK,GAAE,QAAOT,EAAC,IAAEkJ,GAAErJ,CAAC,IAAE,EAAC,MAAKY,GAAE,QAAOT,EAAC,IAAEmJ,GAAEtJ,CAAC,GAASY,MAAP,QAAeT,MAAL,MAAQG,EAAE,iBAAiBM,GAAET,GAAES,GAAET,CAAC,GAAEM,EAAE,eAAc,GAAGA,EAAE,gBAAe,GAAS;AAAE;AAACqlB,GAAA,2BAAiCrgB;AAC3dqgB,GAAA,kBAAwBve;AAAEue,GAAA,uBAA6B1gB;AAAqB0gB,GAAA,cAAC5d;AAAE4d,GAAA,kCAAwCjhB;AAA2BihB,GAAA,oBAAC9gB;AAA2B8gB,GAAA,oBAACvgB;cAAmB0B;AAAE6e,GAAA,wBAA8B;AAAqCA,GAAA,mBAAC,MAAI,OAAO,KAAKnlB,GAAE,SAAS,EAAE,OAAO,CAAAJ,MAAgB,OAAOI,GAAE,UAAUJ,MAAhC,UAAkC,EAAE;AAAOulB,GAAA,yBAA+B,MAAI;AAAaA,GAAA,qBAA2Bxc;AAAyCwc,GAAA,kCAACxgB;AAC/cwgB,GAAA,0BAAgC,SAASvlB,GAAE;AAAC,SAAAA,IAAE0E,GAAE1E,CAAC,GAASsE,GAAEtE,MAAIA;AAAC;AAAEulB,GAAA,iCAAuCngB;AAA8BmgB,GAAA,uBAACzc;AAA2Byc,GAAA,oBAAC7gB;AACrK6gB,GAAA,2BAAiC,SAASvlB,GAAE;AAAC,MAAG,CAACA,EAAE,SAAS,CAAC0G,IAAE1B,EAAC,CAAC;AAAE,UAAM,MAAM,6EAA6E;AAAE,SAAOrF,GAAE,cAAcK,EAAE,yBAAyB0G,IAAE,CAAAxG,MAAG;AAAC,IAAAF,EAAE,OAAO,MAAI;AAAC,eAAQ,CAACT,GAAEU,CAAC,KAAIC;AAAE,YAAiBD,MAAd,aAAgB;AAAC,cAAIF,IAAEmD,EAAE,cAAc3D,CAAC;AAAE,cAAUQ,MAAP;AAAS,YAAAC,GAAE;AAAC,kBAAIG,IAAEJ;AAAkC,kBAAhCA,IAAEC,EAAE,gBAAgBG,EAAE,QAAQ,GAAYJ,MAAP;AAAS,sBAAMC;AAAE,cAAAG,IAAEA,EAAE;AAAc,kBAAIV,IAAEU,EAAE;AAAO,kBAAGV,MAAIM,EAAE;AAAuB,sBAAMC;AAAE,cAAAD,EAAE,yBAAuBN;AAAE,kBAAIY,IAAE,KAAIT,IAAE;AAAE,uBAAQF,IAAE,GAAEA,IAAED,GAAEC;AAAIwD,gBAAAA,EAAE,iBAAiB/C,EAAET,EAAE,MAC1gBW,KAAG;AAAA,IAAM,EAAET;AAAG,cAAAG,EAAE,aAAa,eAAcM,CAAC;AAAA,YAAC;AAAA,QAAC;AAAA,IAAC,CAAC;AAAA,EAAC,CAAC,GAAEL,EAAE,sBAAsB0G,IAAE,CAAAxG,MAAG8I,GAAE9I,GAAEF,CAAC,CAAC,GAAEA,EAAE,sBAAsBkD,EAAE,UAAS,CAAAhD,MAAGmF,GAAEnF,GAAEF,CAAC,CAAC,GAAEA,EAAE,sBAAsBgF,IAAE,CAAA9E,MAAGmF,GAAEnF,GAAEF,CAAC,CAAC,GAAEA,EAAE,gBAAgBkD,EAAE,wBAAuB,MAAI6L,GAAE7L,EAAE,sBAAsB,GAAEA,EAAE,oBAAoB,GAAElD,EAAE,gBAAgBkD,EAAE,yBAAwB,MAAI6L,GAAE7L,EAAE,uBAAuB,GAAEA,EAAE,oBAAoB,GAAElD,EAAE,gBAAgBkD,EAAE,sBAAqB,CAAAhD,MAAGqO,GAAErL,EAAE,sBAAqBhD,CAAC,GAAEgD,EAAE,oBAAoB,GAAElD,EAAE;AAAA,IAAgBkD,EAAE;AAAA,IACze,CAAAhD,MAAGqO,GAAErL,EAAE,wBAAuBhD,CAAC;AAAA,IAAEgD,EAAE;AAAA,EAAoB,GAAElD,EAAE,gBAAgBkD,EAAE,aAAY,CAAAhD,MAAGoF,GAAEpC,EAAE,aAAYhD,CAAC,GAAEgD,EAAE,oBAAoB,GAAElD,EAAE,gBAAgBkD,EAAE,eAAc,CAAAhD,MAAGoF,GAAEpC,EAAE,eAAchD,CAAC,GAAEgD,EAAE,oBAAoB,CAAC;AAAC;ACxBzN,MAAMsiB,KAAyFhmB;AAC/F,IAAAimB,KAAiBD,ICFAnlB,IAAEb,GAAmB0D,KAAEoP,IAAyB1N,KAAE2N,IAAyBhN,KAAEgO,IAA8BzS,KAAG0S,IAA0B9M,KAAEoU;AAAyB,SAASnU,GAAE3G,GAAEE,GAAE;AAAC,MAAIH,IAAE,CAAE;AAAC,WAAQI,KAAKH;AAAE,IAAAA,IAAEE,EAAEC,CAAC,GAAEJ,EAAEC,KAAGD,EAAEC,GAAG,KAAKG,CAAC,IAAEJ,EAAEC,KAAG,CAACG,CAAC;AAAE,SAAOJ;AAAC;AAAC,SAAS6G,GAAE5G,GAAE;AAAC,SAAAA,IAAE2G,GAAE3G,GAAE,CAAAE,MAAGA,EAAE,IAAI,GAAQ,EAAC,SAAQF,EAAE,WAAS,CAAA,GAAG,YAAWA,EAAE,kBAAgB,CAAA,GAAG,WAAUA,EAAE,iBAAe,CAAE,EAAA;AAAC;AAAC,IAAI6G,KAAE;AACxY,SAAS9F,GAAGf,GAAE;AAAC,MAAIE,IAAE0G,GAAE5G,CAAC,GAAED,IAAEG,EAAE,WAAW,OAAO,CAAAC,MAAOA,EAAE,OAAO,WAAb,CAAmB;AAAE,SAAM,MAAI;AAAC,QAAIA,IAAE,CAAE;AAAC,QAAIC,IAAEC,EAAE,SAAU,EAAC,YAAW;AAAG,aAAQd,KAAKa;AAAE,MAAAA,IAAEY,GAAGzB,GAAEW,EAAE,SAAQH,GAAEG,EAAE,SAAS,GAAQE,KAAN,QAASD,EAAE,KAAKC,CAAC;AAAE,WAAOD,EAAE,KAAK;AAAA;AAAA,CAAM;AAAA,EAAC;AAAC;AAAC,SAASa,GAAGhB,GAAEE,GAAEH,GAAEI,GAAE;AAAC,WAAQC,KAAKF;AAAE,QAAGA,IAAEE,EAAE,OAAOJ,GAAE,CAAAT,MAAGuH,GAAEvH,GAAEQ,GAAEI,CAAC,CAAC,GAAQD,KAAN;AAAQ,aAAOA;AAAE,SAAOG,EAAE,eAAeL,CAAC,IAAE8G,GAAE9G,GAAED,GAAEI,CAAC,IAAE;AAAI;AAChV,SAAS2G,GAAE9G,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAE,CAAA;AAAG,EAAAH,IAAEA,EAAE,YAAW;AAAG,EAAAA;AAAE,aAAQI,KAAKJ,GAAE;AAAC,eAAQT,KAAKQ;AAAE,YAAGC,IAAET,EAAE,OAAOa,GAAE,CAAAX,MAAGqH,GAAErH,GAAES,GAAEH,CAAC,GAAE,CAACN,GAAEI,MAAImH,GAAEvH,GAAEI,GAAEK,CAAC,CAAC,GAAQF,KAAN,MAAQ;AAAC,UAAAG,EAAE,KAAKH,CAAC;AAAE,mBAASA;AAAA,QAAC;AAACK,MAAAA,EAAE,iBAAiBD,CAAC,IAAED,EAAE,KAAK;AAAA,CAAI,IAAEE,EAAE,YAAYD,CAAC,IAAED,EAAE,KAAK6G,GAAE5G,GAAEA,EAAE,eAAc,GAAGF,CAAC,CAAC,IAAEG,EAAE,eAAeD,CAAC,KAAGD,EAAE,KAAK2G,GAAE1G,GAAEF,GAAEH,CAAC,CAAC;AAAA,IAAC;AAAC,SAAOI,EAAE,KAAK,EAAE;AAAC;AAAC,SAAS6G,GAAEhH,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAED,EAAE,KAAM,GAACE,IAAED,GAAEZ,IAAE,oBAAI;AAAI,WAAQM,KAAKE,GAAE;AAAC,IAAAA,IAAEF,EAAE,OAAO;AAAG,QAAIkD,IAAElD,EAAE;AAAI,QAAG8H,GAAE3H,GAAED,CAAC,KAAG,CAACR,EAAE,IAAIQ,CAAC,GAAE;AAAC,MAAAR,EAAE,IAAIQ,CAAC;AAAE,UAAIN,IAAE0I,GAAEnI,GAAE,EAAE;AAAE,MAAA2H,GAAElI,GAAEM,CAAC,MAAIK,IAAE2C,IAAE3C,IAAGX,IAAE0I,GAAEnI,GAAE,EAAE,GAAE2H,GAAElI,GAAEM,CAAC,MAAIK,KAAG2C;AAAA,IAAE;AAAA,EAAC;AAAC,SAAO7C,EAAE,QAAQC,GAAEC,CAAC;AAAC;AAC5e,SAAS+H,GAAEnI,GAAEE,GAAE;AAAC,MAAIH,IAAEG,IAAEF,EAAE,uBAAqBA,EAAE;AAA2G,OAA1FD,MAAIC,IAAEA,EAAE,iBAAgB,GAAGA,EAAE,SAAQ,MAAKD,IAAEG,IAAEF,EAAE,mBAAoB,IAACA,EAAE,eAAgB,KAAQD,KAAG;AAAC,QAAGM,EAAE,eAAeN,CAAC,GAAE;AAAC,UAAG,CAACA,EAAE;AAAW;AAAuD,UAAjDC,IAAEE,IAAEH,EAAE,kBAAiB,IAAGA,EAAE,mBAAkB,GAAMM,EAAE,YAAYL,CAAC;AAAE,eAAOA;AAAE,MAAAD,IAAEG,IAAEH,EAAE,mBAAkB,IAAGA,EAAE,eAAc;AAAA,IAAE;AAAC,QAAGM,EAAE,YAAYN,CAAC;AAAE,aAAOA;AAAE,QAAG,CAACM,EAAE,eAAeN,CAAC;AAAE;AAAA,EAAK;AAAC,SAAO;AAAI;AAAC,SAAS4H,GAAE3H,GAAEE,GAAE;AAAC,SAAOG,EAAE,YAAYL,CAAC,KAAGA,EAAE,UAAUE,CAAC;AAAC;AAC9c,IAAI4I,KAAgB,OAAO,SAArB,OAA2C,OAAO,OAAO,WAA5B,OAAoD,OAAO,OAAO,SAAS,gBAArC,KAAmD7H,KAAG6H,MAAG,kBAAiB,WAAS,SAAS,eAAa;AAAKA,MAAG,uBAAuB,KAAK,UAAU,QAAQ;AAAEA,MAAG,mCAAmC,KAAK,UAAU,SAAS;AAAEA,MAAG,gBAAe,UAAQ,CAAC7H,MAAG,qBAAoB,IAAI,OAAO,WAAW,OAAO;AACzX,IAAI8H,KAAED,MAAG,0BAA0B,KAAK,UAAU,SAAS,GAAEzD,KAAEyD,MAAG,mBAAmB,KAAK,UAAU,SAAS,KAAG,CAAC,OAAO,UAAS5H,KAAG,aAAY8H,KAAE;AAClJ,SAAS7H,GAAGnB,GAAE;AAAC,MAAIE,IAAE0G,GAAE5G,CAAC,GAAED,IAAEqB,GAAGlB,EAAE,UAAU;AAAE,SAAO,CAAAC,MAAG;AAAC,QAAIC,IAAED,EAAE,MAAM;AAAA,CAAI,GAAEZ,IAAEa,EAAE;AAAO,IAAAD,IAAEE,EAAE,SAAQ,GAAGF,EAAE,MAAK;AAAG,aAAQF,IAAE,GAAEA,IAAEV,GAAEU,KAAI;AAAC,UAAIR,IAAEW,EAAEH;AAAG,MAAAD,GAAE;AAAC,YAAIH,IAAEO,GAAE2C,IAAE9C,GAAML,IAAEO,GAAMmE,IAAEzE,EAAEkD,GAAG,MAAMiG,EAAC;AAAE,YAAG1E;AAAE,mBAAQxE,IAAEiD,GAAErD,IAAEG,EAAE,QAAO,EAAEC,IAAEJ;AAAG,gBAAGG,EAAEC,GAAG,MAAMkJ,EAAC,GAAE;AAAC,cAAA1E,IAAEpB,GAAE,gBAAgBoB,EAAE,EAAE,GAAEzE,IAAEQ,EAAE,gBAAgBR,EAAE,MAAMkD,IAAE,GAAEjD,CAAC,EAAE,KAAK;AAAA,CAAI,CAAC,GAAEwE,EAAE,OAAOzE,CAAC,GAAED,EAAE,OAAO0E,CAAC,GAAE1E,IAAE,CAAC0E,GAAExE,CAAC;AAAE,oBAAME;AAAA,YAAC;AAAA;AAAC,QAAAJ,IAAE,CAAC,MAAKmD,CAAC;AAAA,MAAC;AAAC,UAAI,CAAC,GAAE2B,CAAC,IAAE9E;AAAE,UAAS,KAAN;AAAQ,QAAAK,IAAEyE;AAAA,WAAM;AAAC,QAAA9E,IAAEH,GAAEC,IAAES;AAAE,YAAIqE,IAAEtE,EAAE;AAAQ,QAAAJ,IAAEC,GAAEF,IAAEK,EAAE,WAAU6C,IAAEnD,EAAE,KAAI,GAAG0E,IAAEjE,EAAE,gBAAgB0C,CAAC,GAAEtD,IAAEY,EAAE,qBAAoB,GAAGZ,EAAE,OAAO6E,CAAC,GAC7f5E,EAAE,OAAOD,CAAC;AAAE,iBAAQ,EAAC,QAAOqF,GAAE,SAAQL,EAAC,KAAID;AAAE,cAAG9E,IAAEE,EAAE,MAAMkF,CAAC,GAAE;AAAC,YAAAR,EAAE,eAAe1E,EAAE,MAAMF,EAAE,GAAG,MAAM,CAAC,GAAE+E,EAAEhF,GAAE,CAAC6E,CAAC,GAAE5E,GAAE,EAAE;AAAE;AAAA,UAAK;AAAC,QAAAwJ,GAAE5E,GAAExE,GAAED,CAAC,GAAEJ,EAAE,WAAU,KAAI,IAAEsD,EAAE,WAASnD,IAAEH,EAAE,mBAAkB,GAAGY,EAAE,iBAAiBT,CAAC,KAAG2F,GAAE,aAAa3F,CAAC,KAAGgF,GAAE,YAAYhF,CAAC,OAAKE,IAAEF,GAAEgF,GAAE,YAAYhF,CAAC,MAAIA,IAAEA,EAAE,kBAAiB,GAAGE,IAAQF,KAAN,OAAQ,OAAKkB,GAAG,oBAAoBlB,GAAEgF,GAAE,eAAe,IAAS9E,KAAN,QAAS,IAAEA,EAAE,yBAAuBA,EAAE,OAAOA,EAAE,gBAAe,GAAG,GAAE,CAACO,EAAE,qBAAsB,GAAC,GAAGZ,EAAE,aAAa,CAAC,GAAEA,EAAE,OAAQ;AAAA,MAAE;AAAA,IAAC;AAAC,IAAAW,IAAED,EAAE,YAAW;AAAG,aAAQF,KAAKG;AAAE,MAAAA,IAClgBH,GAAEI,EAAE,iBAAiBD,CAAC,KAAGb,IAAEa,EAAE,cAAa,GAAGA,IAAQb,KAAN,QAAaa,EAAE,gBAAiB,MAAvB,KAAyBC,EAAE,YAAYd,CAAC,KAAG2B,GAAG,KAAK3B,EAAE,eAAc,CAAE,KAAGa,IAAE,IAAGA,KAAGH,EAAE,OAAQ;AAAC,IAAAE,EAAE,UAAS;AAAA,EAAE;AAAC;AACjK,SAAS+I,GAAElJ,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEH,EAAE,eAAgB,GAACI,IAAEiB,GAAGlB,GAAED,CAAC;AAAE,MAAGE,GAAE;AAAC,QAAGA,EAAE,OAAKD;AAAE,UAAIZ,IAAES;AAAA,SAAM;AAAC,UAAIP,IAAEW,EAAE,SAAO,GAAEP,IAAEJ,IAAEW,EAAE,GAAG;AAAO,MAAIX,MAAJ,IAAM,CAACF,GAAEwD,CAAC,IAAE/C,EAAE,UAAUH,CAAC,IAAE,CAACD,GAAEL,GAAEwD,CAAC,IAAE/C,EAAE,UAAUP,GAAEI,CAAC;AAAA,IAAC;AAAwB,QAAvBN,EAAE,eAAea,EAAE,EAAE,GAAKX,IAAES,EAAE,kBAAkBE,EAAE;AAAI,eAAQkE,KAAK7E,EAAE;AAAO,QAAAF,EAAE,UAAU+E,CAAC,KAAG/E,EAAE,aAAa+E,CAAC;AAAE,IAAA/E,EAAE,UAAU,MAAM,KAAG2J,GAAE3J,GAAEW,GAAEH,CAAC,GAAEH,KAAGsJ,GAAEtJ,GAAEM,GAAEH,CAAC,GAAEgD,KAAGmG,GAAEnG,GAAE7C,GAAEH,CAAC;AAAA,EAAC;AAAM,IAAAC;AAAE,WAAIE,IAAEF,GAAEE,KAAG;AAAC,aAAIT,KAAKM;AAAE,cAAGR,IAAEW,EAAE,eAAgB,EAAC,MAAMT,EAAE,YAAY,GAAE;AAAC,gBAAIsD,IAAExD,EAAE,SAAO,GAAMK,IAAEmD,IAAExD,EAAE,GAAG;AAAO,YAAIwD,MAAJ,IAAM,CAAClD,GAAEK,CAAC,IAAEA,EAAE,UAAUN,CAAC,IAAE,GAAEC,GAAEK,CAAC,IAAEA,EAAE,UAAU6C,GAAEnD,CAAC,GAAEH,EAAE;AAAA,cAAQI;AAAA,cAC5fN;AAAA,YAAC;AAAE,qBAASS;AAAA,UAAC;AAAC;AAAA,MAAK;AAAC;AAAC,SAASqB,GAAGrB,GAAEE,GAAE;AAAC,MAAIH,IAAEC,EAAE,MAAME,EAAE,cAAc;AAAE,MAASH,KAAN;AAAQ,WAAO;AAAK,WAAQR,KAAKQ,GAAE;AAAC,QAAII,IAAEZ,EAAE,QAAQ,OAAM,EAAE;AAA8B,QAA5BQ,IAAEG,EAAE,qBAAqBC,IAAYJ,KAAN,SAAUA,IAAEC,EAAE,MAAMD,CAAC,GAAEI,IAAED,EAAE,kBAAkBC,IAASJ,KAAN,QAAeI,KAAN,OAAS;AAAC,UAAQA,EAAE,cAAP;AAAiB,eAAOJ;AAAE,UAAI,EAAC,OAAMK,IAAE,EAAC,IAAEL;AAA8B,UAA5BI,IAAEH,EAAEI,IAAE,IAAGA,IAAEJ,EAAEI,IAAEL,EAAE,GAAG,SAAW,EAAEI,KAAG,CAAC0G,GAAE,KAAK1G,CAAC,KAAGC,KAAG,CAACyG,GAAE,KAAKzG,CAAC;AAAG,eAAOL;AAAA,IAAC;AAAA,EAAC;AAAC,SAAO;AAAI;AAC5W,SAASqB,GAAGpB,GAAE;AAAC,MAAIE,IAAE,CAAE,GAACH,IAAE,CAAA,GAAGI,IAAE;AAAG,WAAQC,KAAKJ,GAAE;AAAC,KAAC,EAAC,KAAIA,EAAC,IAAEI,IAAGF,EAAEF,KAAGI;AAAE,QAAIb,IAAES,EAAE,QAAQ,YAAW,MAAM;AAAE,IAAAG,EAAE,KAAKZ,CAAC,GAAEQ,EAAEC,KAAG+I,MAAG1D,KAAE,IAAI,OAAO,IAAI9F,SAASA,eAAeA,SAASA,OAAOA,IAAI,IAAE,IAAI,OAAO,YAAYA,OAAOA,WAAWA,WAAWA,aAAaA,iCAAiCA,aAAaA,KAAK;AAAA,EAAC;AAAC,SAAM,EAAC,sBAAqBQ,GAAE,gBAAe,IAAI,QAAQgJ,MAAG1D,KAAE,KAAG,iBAAe,MAAIlF,EAAE,KAAK,GAAG,IAAE,KAAI,GAAG,GAAE,mBAAkBD,EAAC;AAAC;AAC5a,SAASyK,GAAE3K,GAAEE,GAAEH,GAAE;AAAC,MAAII,IAAEJ,EAAE;AAAO,SAAKG,KAAGC,GAAED,KAAI;AAAC,QAAIE,IAAEF,IAAEC;AAAE,QAAG2L,GAAE9L,GAAEI,GAAEL,GAAE,GAAEI,CAAC,KAASH,EAAEI,IAAED,OAAV;AAAa,aAAOC;AAAA,EAAC;AAAC,SAAM;AAAE;AAAC,SAAS0L,GAAE9L,GAAEE,GAAEH,GAAEI,GAAEC,GAAE;AAAC,WAAQb,IAAE,GAAEA,IAAEa,GAAEb;AAAI,QAAGS,EAAEE,IAAEX,OAAKQ,EAAEI,IAAEZ;AAAG,aAAM;AAAG,SAAM;AAAE;AACxL,IAAIwP,KAAE,CAAA/O,MAAG,CAACE,GAAEH,GAAEI,MAAI;AAAC,EAAAA,IAAEH,EAAEG,CAAC,GAAEA,EAAE,OAAO,GAAGJ,CAAC,GAAEG,EAAE,QAAQC,CAAC,GAAEA,EAAE,OAAO,GAAE,CAAC;AAAC,GAAEqM,KAAE,CAAAxM,MAAG,CAACE,GAAEH,GAAEI,MAAI;AAAC,MAAIC,IAAEF,EAAE,mBAAoB;AAAC,QAAMX,IAAEqF,GAAE,oBAA8B5E,MAAV,UAAkBG,EAAE,OAAR,MAAW,MAAM;AAAE,EAAAyE,GAAE,YAAYxE,CAAC,KAAGA,EAAE,YAAW,MAAKJ,KAAGI,EAAE,OAAOb,CAAC,GAAEW,EAAE,OAAM,MAAKE,IAAEwE,GAAE,gBAAgB5E,GAAaA,MAAX,WAAa,OAAOG,EAAE,EAAE,IAAE,MAAM,GAAEC,EAAE,OAAOb,CAAC,GAAEW,EAAE,QAAQE,CAAC,IAAGb,EAAE,OAAO,GAAGQ,CAAC,GAAER,EAAE,OAAO,GAAE,CAAC,IAAGW,IAAE,KAAK,MAAMC,EAAE,GAAG,SAAO,CAAC,MAAIZ,EAAE,UAAUW,CAAC;AAAC,GAAEoO,KAAE,CAACtO,GAAEE,GAAEH,MAAI;AAAC,QAAMI,IAAE,CAAA;AAAG,MAAIC,IAAEJ,EAAE,YAAa;AAAC,MAAIT,IAAE;AAAE,aAAUM,KAAKO;AAAE,QAAGwE,GAAE,gBAAgB/E,CAAC,GAAE;AAAC,UAAOA,EAAE,gBAAiB,MAAvB,MAC7eO,IAAEP,EAAE,iBAAgB+E,GAAE,YAAYxE,CAAC,IAAG;AAAC,QAAAD,EAAE,KAAKmO,GAAElO,GAAEF,GAAEH,IAAE,CAAC,CAAC;AAAE;AAAA,MAAQ;AAAC,MAAAK,IAAE,IAAI,OAAO,IAAEL,CAAC;AAAE,UAAIN,IAAEO,EAAE,YAAW;AAAG,MAAAP,IAAaA,MAAX,WAAa,GAAGO,EAAE,SAAU,IAACT,QAAgBE,MAAV,UAAY,MAAMI,EAAE,WAAU,IAAG,MAAI,UAAQ,MAAKM,EAAE,KAAKC,IAAEX,IAAES,EAAEL,CAAC,CAAC,GAAEN;AAAA,IAAG;AAAC,SAAOY,EAAE,KAAK;AAAA,CAAI;AAAC,GAAEoO,KAAE,EAAC,cAAa,CAAChJ,GAAE,WAAW,GAAE,QAAO,CAACvF,GAAEE,MAAI;AAAC,MAAG,CAACqF,GAAE,eAAevF,CAAC;AAAE,WAAO;AAAK,QAAMD,IAAE,OAAOC,EAAE,OAAQ,EAAC,MAAM,CAAC,CAAC;AAAE,SAAM,IAAI,OAAOD,CAAC,IAAE,MAAIG,EAAEF,CAAC;AAAC,GAAE,QAAO,eAAc,SAAQ+O,GAAE,CAAA/O,MAAGuF,GAAE,mBAAmB,MAAIvF,EAAE,GAAG,MAAM,CAAC,GAAE,MAAK,UAAS,GAAEgQ,KAAG;AAAA,EAAC,cAAa,CAACzK,GAAE,SAAS;AAAA,EACxf,QAAO,CAACvF,GAAEE,MAAI;AAAC,QAAG,CAACqF,GAAE,aAAavF,CAAC;AAAE,aAAO;AAAK,IAAAA,IAAEE,EAAEF,CAAC,EAAE,MAAM;AAAA,CAAI,GAAEE,IAAE,CAAE;AAAC,eAAUH,KAAKC;AAAE,MAAAE,EAAE,KAAK,OAAKH,CAAC;AAAE,WAAOG,EAAE,KAAK;AAAA,CAAI;AAAA,EAAC;AAAA,EAAE,QAAO;AAAA,EAAO,SAAQ,CAACF,GAAEE,GAAEH,GAAEI,MAAI;AAAC,QAAGA,MAAIJ,IAAEC,EAAE,mBAAoB,GAACuF,GAAE,aAAaxF,CAAC,IAAG;AAAC,MAAAA,EAAE,OAAOA,EAAE,gBAAiB,GAAC,GAAE,CAACM,EAAE,wBAAuB,GAAGH,CAAC,CAAC,GAAEH,EAAE,OAAO,GAAE,CAAC,GAAEC,EAAE,OAAM;AAAG;AAAA,IAAM;AAAC,IAAAD,IAAEwF,GAAE,iBAAgB,GAAGxF,EAAE,OAAO,GAAGG,CAAC,GAAEF,EAAE,QAAQD,CAAC,GAAEA,EAAE,OAAO,GAAE,CAAC;AAAA,EAAC;AAAA,EAAE,MAAK;AAAS,GAAEuB,KAAG,EAAC,cAAa,CAAC4B,GAAE,QAAQ,GAAE,QAAO,CAAAlD,MAAG;AAAC,MAAG,CAACkD,GAAE,YAAYlD,CAAC;AAAE,WAAO;AAAK,QAAME,IAAEF,EAAE,eAAc;AAAG,SAAM,SAChfA,EAAE,iBAAe,OAAKE,IAAE;AAAA,IAAKA,IAAE,MAAI;AAAO,GAAE,QAAO,qBAAoB,SAAQ6O,GAAE,CAAA/O,MAAGkD,GAAE,gBAAgBlD,IAAEA,EAAE,KAAG,MAAM,CAAC,GAAE,MAAK,UAAS,GAAEuB,KAAG,EAAC,cAAa,CAACqD,GAAE,UAASA,GAAE,YAAY,GAAE,QAAO,CAAC5E,GAAEE,MAAI0E,GAAE,YAAY5E,CAAC,IAAEsO,GAAEtO,GAAEE,GAAE,CAAC,IAAE,MAAK,QAAO,iBAAgB,SAAQsM,GAAE,QAAQ,GAAE,MAAK,UAAS,GAAEhL,KAAG,EAAC,cAAa,CAACoD,GAAE,UAASA,GAAE,YAAY,GAAE,QAAO,CAAC5E,GAAEE,MAAI0E,GAAE,YAAY5E,CAAC,IAAEsO,GAAEtO,GAAEE,GAAE,CAAC,IAAE,MAAK,QAAO,qCAAoC,SAAQsM,GAAE,OAAO,GAAE,MAAK,UAAS,GAAE/K,KAAG,EAAC,cAAa,CAACmD,GAAE,UAASA,GAAE,YAAY,GAAE,QAAO,CAAC5E,GACzfE,MAAI0E,GAAE,YAAY5E,CAAC,IAAEsO,GAAEtO,GAAEE,GAAE,CAAC,IAAE,MAAK,QAAO,sBAAqB,SAAQsM,GAAE,QAAQ,GAAE,MAAK,UAAS,GAAE9K,KAAG,EAAC,QAAO,CAAC,MAAM,GAAE,KAAI,KAAI,MAAK,cAAa,GAAEC,KAAG,EAAC,QAAO,CAAC,QAAO,QAAQ,GAAE,KAAI,OAAM,MAAK,cAAa,GAAEC,KAAG,EAAC,QAAO,CAAC,QAAO,QAAQ,GAAE,WAAU,IAAG,KAAI,OAAM,MAAK,cAAa,GAAEE,KAAG,EAAC,QAAO,CAAC,MAAM,GAAE,KAAI,MAAK,MAAK,cAAa,GAAEC,KAAG,EAAC,QAAO,CAAC,MAAM,GAAE,WAAU,IAAG,KAAI,MAAK,MAAK,cAAa,GAAEmN,KAAG,EAAC,QAAO,CAAC,eAAe,GAAE,KAAI,MAAK,MAAK,cAAa,GAAEK,KAAG,EAAC,QAAO,CAAC,QAAQ,GAAE,KAAI,KAAI,MAAK,cAAa,GAAEU,KAAG;AAAA,EAAC,QAAO,CAAC,QAAQ;AAAA,EACrgB,WAAU;AAAA,EAAG,KAAI;AAAA,EAAI,MAAK;AAAa,GAAEjO,KAAG,EAAC,cAAa,CAAC0E,GAAE,QAAQ,GAAE,QAAO,CAAC1G,GAAEE,GAAEH,MAAI;AAAC,MAAG,CAAC2G,GAAE,YAAY1G,CAAC;AAAE,WAAO;AAAK,EAAAE,IAAE,IAAIF,EAAE,eAAc,MAAOA,EAAE;AAAY,QAAMG,IAAEH,EAAE;AAAgB,SAAWA,EAAE,gBAAe,MAArB,KAAyBK,EAAE,YAAYF,CAAC,IAAEJ,EAAEI,GAAED,CAAC,IAAEA;AAAC,GAAE,cAAa,kCAAiC,QAAO,mCAAkC,SAAQ,CAACF,GAAEE,MAAI;AAAC,QAAM,CAAA,EAAEH,GAAEI,CAAC,IAAED;AAAE,EAAAA,IAAEwG,GAAE,gBAAgBvG,CAAC;AAAE,QAAMC,IAAEC,EAAE,gBAAgBN,CAAC;AAAE,EAAAK,EAAE,UAAUJ,EAAE,UAAS,CAAE,GAAEE,EAAE,OAAOE,CAAC,GAAEJ,EAAE,QAAQE,CAAC;AAAC,GAAE,SAAQ,KAAI,MAAK,aAAY,GACrf+B,KAAG,CAACsM,IAAEyB,IAAG1O,IAAGC,IAAGE,EAAE,GAAES,KAAG,CAACR,IAAGC,IAAGC,IAAGE,IAAGC,IAAGwN,IAAGU,IAAGf,EAAE,GAAE/M,KAAG,CAACH,EAAE,GAAEsD,KAAE,CAAC,GAAGrD,IAAG,GAAGC,IAAG,GAAGC,EAAE;AAAEujB,EAAA,6BAAmC,SAAS1lB,GAAEE,IAAEoF,IAAE;AAAC,SAAOnE,GAAGjB,CAAC,EAAEF,CAAC;AAAC;AAAE0lB,EAAA,2BAAiC,SAAS1lB,IAAEsF,IAAE;AAAC,SAAOvE,GAAGf,CAAC,EAAG;AAAA;AAA0B0lB,EAAA,mBAAC/jB;AAAG+jB,EAAA,yBAA+B9jB;AAAG8jB,EAAA,YAAkB5jB;AAA0B4jB,EAAA,kBAAC3jB;AAAqB2jB,EAAA,aAAClkB;AAAekkB,EAAA,OAACpkB;AAA+BokB,EAAA,uBAACzjB;YAAmBsM;AAAEmX,EAAA,cAAoBhkB;AAAGgkB,EAAA,cAAoBnW;AAA4BmW,EAAA,oBAACzV;AAAeyV,EAAA,OAAC1jB;AAC3d0jB,EAAA,eAACjkB;AAAgBikB,EAAA,QAAC1V;AAAwB0V,EAAA,gBAACxW;AAAmCwW,EAAA,2BAACxjB;AAAGwjB,EAAA,0BAAgCvjB;AAAGujB,EAAA,eAAqBpgB;AAAEogB,EAAA,iBAAuBnkB;AACtJmkB,EAAA,4BAAC,SAAS1lB,GAAEE,IAAEoF,IAAE;AAAC,MAAIvF,IAAE6G,GAAE1G,CAAC,GAAEC,IAAEwG,GAAE5G,EAAE,YAAW,CAAC,EAAC,KAAIR,EAAC,MAAIA,EAAEA,EAAE,SAAO,EAAE,GAAEa,IAAEuG,GAAE5G,EAAE,WAAU,CAAC,EAAC,SAAQR,EAAC,MAAIA,CAAC;AAAE,WAAQA,KAAKW;AAAE,QAAGA,IAAEX,EAAE,OAAkBW,MAAZ,aAA8BA,MAAf,iBAAmB,CAACF,EAAE,SAAST,EAAE,YAAY;AAAE,YAAM,MAAM,wLAAwL;AAAE,SAAOS,EAAE,uBAAuB,CAAC,EAAC,MAAKT,GAAE,aAAYE,GAAE,aAAYI,GAAE,iBAAgBkD,EAAC,MAChgB;AAAC,QAAG,CAACxD,EAAE,IAAI,UAAU,GAAE;AAAC,UAAIK,IAAEC,EAAE,KAAKQ,EAAE,aAAa;AAA4B,UAA1Bd,IAAEwD,EAAE,KAAK1C,EAAE,aAAa,GAAKA,EAAE,kBAAkBd,CAAC,KAAGc,EAAE,kBAAkBT,CAAC,KAAGA,EAAE,YAAW,GAAG;AAAC,QAAAmD,IAAEnD,EAAE,OAAO;AAAI,YAAI0E,IAAE1E,EAAE,OAAO,QAAOE,IAAED,EAAE,SAAS,IAAIkD,CAAC;AAAE1C,QAAAA,EAAE,YAAYP,CAAC,KAAGL,EAAE,IAAIsD,CAAC,MAAQuB,MAAJ,KAAOA,MAAI/E,EAAE,OAAO,SAAO,MAAIS,EAAE,OAAO,MAAI;AAAC,cAAG,CAACF,EAAE,UAAU,MAAM,GAAE;AAAC,gBAAIJ,IAAEI,EAAE;AAAY,gBAAUJ,MAAP,QAAU,CAACwD,GAAE,YAAYxD,CAAC,GAAE;AAAC,kBAAI8E,IAAE5E,EAAE,OAAO;AAAO,cAAAM,GAAE;AAAC,oBAAID,IAAEF,EAAE,SAAQ,IAAEL,EAAE;AAAY,oBAAGW,EAAE,oBAAoB,CAAC,KAAGX,EAAE,cAAa,MAAKI,MAAI,IAAEA,EAAE,eAAc,GAAS,EAAE0E,IAAE,OAAV;AAAc,2BAAQ;AAAA,oBAAC,QAAO;AAAA,oBACrgB,SAAQO;AAAA,kBAAC,KAAI9E;AAAE,yBAAIA,IAAE,EAAE,MAAM,CAAC,MAAIA,EAAE,GAAG,WAASuE,GAAE;AAAC,0BAAE1E,EAAE;AAAkB,0BAAI,CAACsF,GAAEvD,CAAE,IAAE/B,EAAE,UAAU0E,CAAC;AAAE,sBAAAY,EAAE,OAAQ,GAAC,IAAEvD,IAAG,CAACA,GAAG,GAAG,CAAC,IAAE,GAAEkD,EAAErF,GAAE,GAAEO,GAAE,EAAE,GAAEP,IAAE;AAAG,4BAAMQ;AAAA,oBAAC;AAAA;AAAC,gBAAAR,IAAE;AAAA,cAAE;AAAC,kBAAG,CAACA,GAAE;AAAC,gBAAAQ,GAAE;AAAkC,sBAAjCD,IAAEH,EAAE,eAAgB,GAACJ,IAAEU,EAAEH,EAAEuE,IAAE,KAAa9E,KAAN,MAAQ;AAAC,oBAAA8E,IAAEvE,EAAE,WAASA,IAAEA,EAAE,MAAM,GAAEuE,CAAC;AAAG,yBAAIM,KAAKpF;AAAE,0BAAGA,IAAEO,EAAE,MAAM6E,EAAE,MAAM,GAASpF,MAAP,MAAS;AAAC,wBAAAO,IAAEP,EAAE,SAAO,GAAE,IAAEO,IAAEP,EAAE,GAAG;AAAO,4BAAIgF,IAAE;AAAO,wBAAIzE,MAAJ,IAAM,CAACyE,CAAC,IAAE5E,EAAE,UAAU,CAAC,IAAE,CAAA,EAAE4E,CAAC,IAAE5E,EAAE,UAAUG,GAAE,CAAC,GAAEyE,EAAE,WAAW,GAAE,CAAC,GAAEI,EAAE,QAAQJ,GAAEhF,CAAC;AAAE,4BAAIoF,IAAE;AAAG,8BAAM5E;AAAA,sBAAC;AAAA,kBAAC;AAAC,kBAAA4E,IAAE;AAAA,gBAAE;AAAC,oBAAG,CAACA;AAAE,kBAAA5E,GAAE;AAAC,wBAAEJ,EAAE,eAAc,GAAG,EAAE0E;AAAE,wBAAIC,IAAE,EAAED;AAAG,wBAAGM,IAAE3E,EAAEsE;AAAG,+BAAQ,KAAKK,GAAE;AAAC,4BAAI,EAAC,KAAII,EAAC,IAC/f;AAAE,wBAAAJ,IAAEI,EAAE;AAAO,4BAAIH,IAAEP,IAAEM,IAAE;AAAE,4BAAG,EAAE,IAAEA,KAAG,CAACgH,GAAE,GAAE/G,GAAEG,GAAE,GAAEJ,CAAC,KAAS,EAAEC,IAAE,OAAV,SAAgBL,IAAE,EAAEF,IAAE,IAAQ,EAAE,cAAP,MAAkB,CAACE,KAAGmC,GAAE,KAAKnC,CAAC,IAAG;AAAC,0BAAAhF,IAAEgF,IAAE5E,GAAEG,IAAE0K,GAAE,GAAE5F,GAAEG,CAAC;AAAE,mCAAQF,IAAEtF,GAAE,IAAEO,MAAI+E,IAAEA,EAAE,mBAAkB,MAAK,CAAC3E,EAAE,iBAAiB2E,CAAC;AAAG3E,4BAAAA,EAAE,YAAY2E,CAAC,MAAI/E,IAAE+E,EAAE,eAAgB,GAACtF,IAAEsF,GAAE/E,IAAE0K,GAAE1K,GAAEA,EAAE,QAAOiF,CAAC;AAAG,8BAAG,EAAE,IAAEjF,KAAGP,MAAIgF,KAAGzE,IAAE6E,MAAIC,MAAIG,IAAExF,EAAE,eAAc,GAAG,IAAEO,KAAGiF,EAAEjF,IAAE,OAAKwE,MAAIO,IAAEE,EAAEjF,IAAE,IAAQ,EAAE,cAAP,MAAkB+E,KAAG,CAAC6B,GAAE,KAAK7B,CAAC,MAAK;AAAC,gCAAEN,EAAE,eAAc,GAAG,IAAE,EAAE,MAAM,GAAEK,CAAC,IAAE,EAAE,MAAMP,IAAE,CAAC,GAAEE,EAAE,eAAe,CAAC,GAAE,IAAEhF,MAAIgF,IAAE,IAAEQ,GAAExF,EAAE,eAAe,EAAE,MAAM,GAAEO,CAAC,IAAE,EAAE,MAAMA,IAAE6E,CAAC,CAAC,GAAE,IAAEzE,EAAE,iBAClfoE,IAAEpE,EAAE,sBAAqB,GAAGA,EAAE,cAAcoE,CAAC,GAAED,IAAEA,IAAEM,KAAGpF,MAAIgF,IAAE,IAAE,KAAG,GAAED,EAAE,OAAO,IAAI/E,EAAE,OAAMO,GAAE,MAAM,GAAEwE,EAAE,MAAM,IAAIC,EAAE,OAAMF,GAAE,MAAM;AAAE,qCAAQY,KAAK,EAAE;AAAO,8BAAAX,EAAE,UAAUW,CAAC,KAAGX,EAAE,WAAWW,CAAC;AAAE,4BAAAX,EAAE,OAAO,IAAIA,EAAE,MAAM,KAAIA,EAAE,MAAM,QAAOA,EAAE,MAAM,IAAI;AAAE,qCAAQW,KAAK,EAAE;AAAO,8BAAAX,EAAE,UAAUW,CAAC,KAAGX,EAAE,aAAaW,CAAC;AAAE/E,4BAAAA,EAAE,kBAAkB,CAAC,MAAIoE,EAAE,SAAO,EAAE;AAAQ,kCAAMvE;AAAA,0BAAC;AAAA,wBAAC;AAAA,sBAAC;AAAA,kBAAC;AAAA,cAAC;AAAA,YAAC;AAAA,UAAC;AAAA,QAAC,CAAC;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC,CAAC;AAAC;ACxBpW,MAAMylB,KAAiGnmB;AACvG,IAAAomB,KAAiBD,sBCFA5lB,KAAEP,IAAiDY,KAAEkS,GAAmBjS,KAAEkS;AAAiB,SAAS9S,GAAES,GAAEF,GAAE;AAAC,SAAOE,EAAE,eAAc,EAAG,KAAK,MAAI;AAAC,QAAIX,IAAEa,GAAE,cAAcJ,CAAC;AAAE,WAAcT,MAAP,OAAS,KAAGA,EAAE,WAAU;AAAA,EAAE,CAAC;AAAC;AAC5NsmB,GAAA,0BAAgC,SAAS3lB,GAAE;AAAC,MAAI,CAACF,CAAC,IAAED,GAAE,6BAA4B,CAACR,GAAEG,CAAC,IAAEW,GAAE,SAAS,MAAIZ,GAAEO,GAAEE,CAAC,CAAC;AAAEG,EAAAA,GAAE,UAAU,MAAIL,EAAE,uBAAuB,MAAI;AAAC,IAAAN,EAAED,GAAEO,GAAEE,CAAC,CAAC;AAAA,EAAC,CAAC,GAAE,CAACF,GAAEE,CAAC,CAAC;AAAE,MAAIP,IAAEU,GAAE,YAAY,CAAAJ,MAAG;AAAC,IAAAD,EAAE,OAAO,MAAI;AAAC,UAAIG,IAAEC,GAAE,cAAe;AAACA,MAAAA,GAAE,iBAAiBD,CAAC,MAAIA,IAAEC,GAAE,wBAAuBA,GAAE,cAAcD,CAAC,IAAGF,IAAEE,EAAE,IAAID,CAAC,IAAEC,EAAE,OAAOD,CAAC;AAAA,IAAC,CAAC;AAAA,EAAC,GAAE,CAACF,GAAEE,CAAC,CAAC,GAAEN,IAAES,GAAE,YAAY,MAAI;AAAC,IAAAL,EAAE,OAAO,MAAI;AAAC,YAAMC,IAAEG,GAAE,cAAa;AAAGA,MAAAA,GAAE,iBAAiBH,CAAC,KAAGA,EAAE,MAAK;AAAA,IAAE,CAAC;AAAA,EAAC,GAAE,CAACD,CAAC,CAAC;AAAE,SAAM,CAACT,GAAEI,GAAEC,CAAC;AAAC;ACAzc,MAAMkmB,KAAiHtmB;AACvH,IAAAumB,KAAiBD,ICFA9lB,KAAER,IAAiDW,KAAEmS,IAAkDjS,KAAEkS,IAA0B7S,KAAE6T,GAAmB1T,KAAE2T;AAAiB,IAAI1T,KAAEJ,GAAE,cAAa;AACjN,SAASqD,GAAE,EAAC,SAAQ7C,EAAC,GAAE;AAAC,MAAI,CAACX,CAAC,IAAES,GAAE,0BAAyB,GAAGL,IAAEE,GAAE,OAAO,IAAI,GAAE,CAACO,GAAEH,GAAEL,CAAC,IAAEO,GAAE,wBAAwBD,CAAC,GAAET,IAAEI,GAAE,YAAY,CAAAE,OAAIK,KAAGV,GAAE,iBAAiBA,GAAE,eAAe,MAAIK,EAAE,eAAgB,GAACA,IAAEL,GAAE,cAAcQ,CAAC,GAAEgD,GAAEnD,CAAC,KAAGA,EAAE,OAAM,GAAGE,EAAE,EAAE,IAAS,KAAI,CAACG,GAAEF,GAAED,CAAC,CAAC;AAAE,SAAAJ,GAAE,UAAU,MAAIQ,GAAE,cAAcd,EAAE,gBAAgBG,GAAE,eAAc,CAAAK,MAAGA,EAAE,WAASJ,EAAE,WAASI,EAAE,YAAUH,KAAIK,EAAE,CAACG,CAAC,GAAE,MAAI,IAAGV,GAAE,oBAAoB,GAAEH,EAAE,gBAAgBG,GAAE,oBAAmBD,GAAEC,GAAE,oBAAoB,GAAEH,EAAE;AAAA,IAAgBG,GAAE;AAAA,IAC3eD;AAAA,IAAEC,GAAE;AAAA,EAAoB,CAAC,GAAE,CAACE,GAAEL,GAAEa,GAAEX,GAAEQ,CAAC,CAAC,GAASJ,GAAE,cAAc,MAAK,EAAC,KAAIF,GAAE,WAAUS,IAAE,aAAW,OAAM,CAAC;AAAC;AAC1G,MAAMkE,WAAU5E,GAAE,cAAa;AAAA,EAAC,OAAO,UAAS;AAAC,WAAM;AAAA,EAAgB;AAAA,EAAC,OAAO,MAAMQ,GAAE;AAAC,WAAO,IAAIoE,GAAEpE,EAAE,KAAK;AAAA,EAAC;AAAA,EAAC,OAAO,aAAY;AAAC,WAAOuE,GAAG;AAAA,EAAA;AAAA,EAAC,OAAO,YAAW;AAAC,WAAM,EAAC,IAAG,OAAK,EAAC,YAAWC,IAAE,UAAS,EAAC,GAAE;AAAA,EAAC;AAAA,EAAC,aAAY;AAAC,WAAM,EAAC,MAAK,kBAAiB,SAAQ,EAAC;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,WAAM,EAAC,SAAQ,SAAS,cAAc,IAAI,EAAC;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,QAAIxE,IAAE,SAAS,cAAc,KAAK;AAAE,WAAAA,EAAE,MAAM,UAAQ,YAAkBA;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,WAAM;AAAA;AAAA,EAAI;AAAA,EAAC,WAAU;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,YAAW;AAAC,WAAM;AAAA,EAAE;AAAA,EAAC,WAAU;AAAC,WAAOL,GAAE,cAAckD,IAAE,EAAC,SAAQ,KAAK,MAAK,CAAC;AAAA,EAAC;AAAC;AAC5gB,SAAS2B,KAAG;AAAC,SAAM,EAAC,MAAKD,GAAC,EAAE;AAAC;AAAC,SAASA,KAAG;AAAC,SAAO,IAAIH;AAAC;AAAC,SAASpB,GAAEhD,GAAE;AAAC,SAAOA,aAAaoE;AAAC;+BAAmCG;AAA+BuhB,GAAA,wBAAC9iB;AAAE8iB,GAAA,qBAA2B1hB;oCAAyCxE;ACHpO,MAAMmmB,KAAqHzmB;AAC3H,IAAA0mB,KAAiBD,ICFAlmB,KAAEP,IAA6BW,KAAEmS,IAAiDlS,KAAEmS,IAAoDhT,KAAEgU;AAAiB,IAAItT,KAAE,CAAC,EAAC,cAAa,CAACG,GAAE,kBAAkB,GAAE,QAAO,CAAAJ,MAAGI,GAAE,sBAAsBJ,CAAC,IAAE,QAAM,MAAK,QAAO,yBAAwB,SAAQ,CAACA,GAAEE,GAAET,GAAEY,MAAI;AAAC,EAAAH,IAAEE,GAAE,0BAA2B,GAACC,KAASL,EAAE,eAAgB,KAAxB,OAAyBA,EAAE,QAAQE,CAAC,IAAEF,EAAE,aAAaE,CAAC,GAAEA,EAAE,WAAU;AAAE,GAAE,MAAK,UAAS,GAAE,GAAGH,GAAE,YAAY;AAAEomB,GAAA,uBAA6BlmB;AACtekmB,GAAA,yBAA+B,SAAS,EAAC,cAAanmB,IAAEC,GAAC,GAAE;AAAC,MAAI,CAACC,CAAC,IAAEC,GAAE,0BAAyB;AAAG,SAAAZ,GAAE,UAAU,MAAIQ,GAAE,0BAA0BG,GAAEF,CAAC,GAAE,CAACE,GAAEF,CAAC,CAAC,GAAS;AAAI;ACArK,MAAMomB,KAA6H5mB;AACnI,IAAA6mB,KAAiBD;ACIV,MAAME,KAAK;AAAA,EACdC,cAAc,CADA;AAAA,EAEdC,QAASpS,CAASA,MACPuC,GAAsBvC,CAAD,IAAS,QAAQ;AAAA,EAEjDqS,QAAQ;AAAA,EACRC,SAAS,CAACC,GAAYC,GAAIC,GAAIC,MAAa;AACvC,UAAMC,IAAOlR;AAGb,IAAIiR,KAAYH,EAAWK,eAAX,KAA+B,OAC3CL,EAAWD,QAAQK,CAAnB,IAEAJ,EAAWM,aAAaF,CAAxB,GAGJA,EAAKG,WAAL;AAAA,EACH;AAAA,EACDnR,MAAM;AAlBQ,GAqBLoR,KAAa;AAAA,EACtBZ,cAAc,CAACxO,EAAD;AAAA,EACdyO,QAASpS,CAASA,MAAA;AACV,QAAA,CAAC8E,GAAiB9E,CAAD;AACV,aAAA;AAELwQ,UAAAA,IAAcxQ,EAAKmC;AAErB,WAAA,SACCnC,EAAKsE,YAAL,KAAsB,OACtBkM,IAAc;AAAA,IAAOA,IAAc,MACpC;AAAA,EAGP;AAAA,EACD6B,QAAQ;AAAA,EACRC,SAAS,CAACU,GAAUjH,GAAOrB,MAAS;AAC1B7G,UAAAA,IAAW6G,EAAK,MAAM,IACtB1H,IAAW+I,EAAM,IACjBkH,IAAgBhP,GAAqBjB,GAAUa,CAAX;AAC1CmP,IAAAA,EAASV,QAAQW,CAAjB;AAAA,EACH;AAAA,EACDtR,MAAM;AAtBgB,GAyBbuR,KAAuB,CAChCC,GAAAA,SACAC,UACAC,GACAC,gBAAAA,GAAAA,cACApB,IACAa,EANgC,GASvBQ,KAAuB,CAChC,GAAGL,IACH,GAAGM,GAAAA,0BACH,GAAGC,GAAAA,uBAH6B;AAMpC,SAAwBC,GAAuB;AAAA,EAACC,cAAAA,IAAeJ;AAAhB,GAAuC;AAClF,SAAOvB,0BAA8B;AAAA,IAAC2B,cAAAA;AAAAA,EAAAA,CAAF;AACvC;ACzEM,SAASC,GAAgBC,GAAW;AACvC,QAAMC,IAASD,EAAU,QACnBjP,IAAQiP,EAAU,OAClBE,IAAaF,EAAU,OAAO,QAAO,GACrCG,IAAYH,EAAU,MAAM,QAAO;AACzC,SAAIE,MAAeC,IACRD,IAEQF,EAAU,eAElBI,gBAAarP,CAAK,IAAImP,IAAaC,IAEnCC,gBAAaH,CAAM,IAAIE,IAAYD;AAElD;AChBA,MAAMG,KAAe;AAEd,SAASC,GACZC,GACAC,GACAC,GACAC,IAAU,CAAE,GACd;AACE,EAAAA,IAAU,OAAO,OAAO;AAAA,IACpB,aAAaL;AAAA,IACb,gBAAgB;AAAA,EACnB,GAAEK,CAAO;AAEV,QAAMC,IAAeF,EAAW;AAEhC,MAAIF,MAAe,QAAQ,CAACI,GAAc;AACtC,IAAID,EAAQ,mBACRF,EAAa,MAAM,UAAU,MAEjCA,EAAa,MAAM,MAAM,YACzBA,EAAa,MAAM,OAAO;AAE1B;AAAA,EACH;AAED,QAAMI,IAAmBJ,EAAa,yBAChCK,IAAoBJ,EAAW,yBAC/BK,IAAqBH,EAAa;AAExC,MAAII,IAAMR,EAAW,MAAMK,EAAiB,SAASF,EAAQ,aACzDM,IAAOT,EAAW,OAAOA,EAAW,QAAQ,IAAIK,EAAiB,QAAQ;AAE7E,EAAII,IAAOF,EAAmB,SAC1BE,IAAOF,EAAmB,OAG1BE,IAAOJ,EAAiB,QAAQE,EAAmB,UACnDE,IAAOF,EAAmB,QAAQF,EAAiB,QAGvDG,KAAOF,EAAkB,KACzBG,KAAQH,EAAkB,MAEtBH,EAAQ,mBACRF,EAAa,MAAM,UAAU,MAEjCA,EAAa,MAAM,MAAM,GAAGO,OAC5BP,EAAa,MAAM,OAAO,GAAGQ;AACjC;ACzCO,SAASC,GACZC,GACAC,GACF;AACE,QAAMC,IAAWF,EAAgB,WAAW,CAAC;AAE7C,MAAIG;AAEJ,MAAIH,EAAgB,eAAeC,GAAa;AAC5C,QAAIhF,IAAQgF;AACZ,WAAOhF,EAAM,qBAAqB;AAC9B,MAAAA,IAAQA,EAAM;AAElB,IAAAkF,IAAOlF,EAAM;EACrB;AACQ,IAAAkF,IAAOD,EAAS;AAGpB,SAAOC;AACX;AC1BO,SAASC,GAAgBnV,GAAM;AAElC,QAAMoV,IADYpV,aAAgB,eACH,OAAO,iBAAiBA,CAAI,EAAE,WACvDqV,IAAeD,MAAc,aAAaA,MAAc;AAE9D,MAAKpV;AAEE,QAAIqV,KAAgBrV,EAAK,gBAAgBA,EAAK;AACjD,aAAOA;AAAA;AAFP,WAAO;AAKX,SAAOmV,GAAgBnV,EAAK,UAAU,KAAK,SAAS;AACxD;ACXA,MAAMsV,KAAY,CAACC,MAA0B,gBAAApS,GAAM,cAAc,OAAO;AAAA,EACtE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGoS;AACL,GAAmB,gBAAApS,GAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,GCTIqS,KAAc,CAACD,MAA0B,gBAAApS,GAAM,cAAc,OAAO;AAAA,EACxE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGoS;AACL,GAAmB,gBAAApS,GAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,GCTIsS,KAAgB,CAACF,MAA0B,gBAAApS,GAAM,cAAc,OAAO;AAAA,EAC1E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGoS;AACL,GAAmB,gBAAApS,GAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,GCTIuS,KAAgB,CAACH,MAA0B,gBAAApS,GAAM,cAAc,OAAO;AAAA,EAC1E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGoS;AACL,GAAmB,gBAAApS,GAAM,cAAc,QAAQ;AAAA,EAC7C,GAAG;AAAA,EACH,UAAU;AACZ,CAAC,CAAC,GCTIwS,KAAc,CAACJ,MAA0B,gBAAApS,GAAM,cAAc,OAAO;AAAA,EACxE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,GAAGoS;AACL,GAAmB,gBAAApS,GAAM,cAAc,QAAQ;AAAA,EAC7C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AACL,CAAC,CAAC,GCVIyS,KAAc,CAACL,MAA0B,gBAAApS,GAAM,cAAc,OAAO;AAAA,EACxE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,GAAGoS;AACL,GAAmB,gBAAApS,GAAM,cAAc,QAAQ;AAAA,EAC7C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AACL,CAAC,CAAC,GC6BI0S,KAAuB;AAAA,EACzBC,QAAQ;AAAA,EACRC,OAAO;AAAA,EACPhT,MAAM;AAAA,EACNiT,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,QAAQ;AAAA,EACR1V,WAAW;AAAA,EACX2V,OAAO;AAAA,EACPC,OAAO;AAbkB;AAgB7B,SAASC,GAAS;AAAA,EAACC,OAAAA;AAAAA,EAAOC,UAAAA;AAAAA,EAAUC,SAAAA;AAAAA,EAASC,MAAAA;AAAAA,KAAStB;AAApC,GAA4C;AAC1D,2BACI,MAAA;AAAA,IAAI,WAAU;AAAA,IAAd,GAA2CA;AAAAA,IAA3C,4BACI,UAAA;AAAA,MACI,MAAK;AAAA,MACL,WAAU;AAAA,MACV,SAAAqB;AAAA,MACA,cAAYF;AAAAA,MACZ,kBAAgBC;AAAAA,MALpB,4BAOKE,GAAD;AAAA,QAAM,WAAWF,IAAW,eAAe;AAAA,MAAA,CAA3C;AAAA,IAAA,CAPJ;AAAA,EAAA,CAFR;AAaH;AAED,SAASG,KAAgB;AACrB,2BACI,MAAA;AAAA,IAAI,WAAU;AAAA,EAAA,CADlB;AAGH;AAED,SAASC,GAAsB;AAAA,EAAC7T,QAAAA;AAAAA,EAAQoR,YAAAA;AAAAA,EAAY0C,WAAAA;AAAAA,EAAWC,QAAAA;AAAAA,EAAQC,UAAAA;AAAxC,GAAmD;AACxEC,QAAAA,IAAahU,EAAMC,OAAO,IAAb,GAEbgU,IAAkB,MAAM;AAC1B,IAAIJ,MAAc,eACd9T,EAAOI,OAAO,MAAM;AAChB,YAAMuQ,IAAYwD,EAAAA;AAEdC,MAAAA,EAAAA,kBAAkBzD,CAAD,KACNA,GAAAA,WAAAA,GAAW,MAAMnT,EAAAA,qBAAAA,CAAlB;AAAA,IACb,CALL;AAAA,EAOH,GAGC6W,IAAiBC,CAAgBA,MAAA;AACnC,IAAIR,MAAcQ,KACdtU,EAAOI,OAAO,MAAM;AAChB,YAAMuQ,IAAYwD,EAAAA;AAEdC,MAAAA,EAAAA,kBAAkBzD,CAAD,KACjB4D,GAAAA,WAAW5D,GAAW,MAAM6D,sBAAmBF,CAAD,CAApC;AAAA,IACb,CALL;AAAA,EAOH,GAGCG,IAAc,MAAM;AACtBzU,IAAAA,EAAOI,OAAO,MAAM;AAChB,YAAMuQ,IAAYwD,EAAAA;AAEdC,MAAAA,EAAAA,kBAAkBzD,CAAD,MACbmD,MAAc,UACHnD,GAAAA,WAAAA,GAAW,MAAMrT,GAAAA,CAAlB,IACHwW,MAAc,UACVnD,GAAAA,WAAAA,GAAW,MAAMnT,EAAAA,qBAAAA,CAAlB,IAECmT,GAAAA,WAAAA,GAAW,MAAM+D,GAAAA,iBAAAA,CAAlB;AAAA,IAEjB,CAXL;AAAA,EAAA,GAeEC,IAAwB1U,EAAM2U,YAAY,MAAM;AAClD,UAAMC,IAAiBZ,EAAWa;AAElC,QAAI,CAACD;AACD;AAGJ,UAAMlE,IAAYwD,EAAAA,iBACZtC,IAAkBkD,OAAOC,gBACzBlD,IAAc9R,EAAOiV;AAE3B,QACItE,MAAc,QACdkB,MAAoB,QACpB,CAACA,EAAgBqD,eACjBpD,MAAgB,QAChBA,EAAYqD,SAAStD,EAAgBhB,UAArC,GACF;AACQuE,YAAAA,IAAYxD,GAAgBC,GAAiBC,CAAlB;AACTsD,MAAAA,GAAAA,GAAWP,GAAgBzD,CAA5B;AAAA,IAC1B;AAAA,EAAA,GACF,CAACpR,GAAQoR,CAAT,CArB2B;AAuB9BnR,SAAAA,EAAMR,UAAU,MAAM;AACZ4V,UAAAA,IAAgBpD,GAAgBb,CAAD,GAE/BhR,IAAS,MAAM;AACVkV,MAAAA,EAAAA,iBAAiBC,KAAK,MAAM;AACV,QAAAZ;MAAA,CADzB;AAAA,IAAA;AAKGa,kBAAAA,iBAAiB,UAAUpV,CAAlC,GACIiV,KACcG,EAAAA,iBAAiB,UAAUpV,CAAzC,GAGG,MAAM;AACFqV,aAAAA,oBAAoB,UAAUrV,CAArC,GACIiV,KACcI,EAAAA,oBAAoB,UAAUrV,CAA5C;AAAA,IACH;AAAA,EAEN,GAAA,CAACJ,GAAQ2U,GAAuBvD,CAAhC,CApBH,GAsBAnR,EAAMR,UAAU,OACL6V,EAAAA,iBAAiBC,KAAK,MAAM;AACV,IAAAZ;EAAA,CADzB,GAIOe,GAAAA,cACH1V,EAAO2V,uBAAuB,CAAC;AAAA,IAAC1S,aAAAA;AAAAA,EAAAA,MAAiB;AAC7CA,IAAAA,EAAYsS,KAAK,MAAM;AACE,MAAAZ;IAAA,CADzB;AAAA,EADJ,CAAA,GAMA3U,EAAO4V,gBACHC,EAAAA,0BACA,OACyBlB,KACd,KAEXmB,EAAAA,oBANJ,CAPgB,IAgBrB,CAAC9V,GAAQ2U,CAAT,CArBH,qBAwBI,OAAA;AAAA,IAAK,WAAU;AAAA,IAAW,KAAKV;AAAAA,IAAY,4BAA3C;AAAA,IAAA,6BACI,MAAA;AAAA,MAAI,WAAU;AAAA,MAAd,UAAA,CACI7qB,gBAAAA,EAACmqB,IAAD;AAAA,QAAU,OAAM;AAAA,QAAsB,UAAUQ;AAAAA,QAAQ,MAAMgC;AAAAA,QAAU,SAAS,MAAM/V,EAAOgW,gBAAgBC,EAAAA,qBAAqB,MAA5C;AAAA,QAAqD,0BAAuB;AAAA,MAAA,CADvK,GAEI7sB,gBAAAA,EAACmqB,IAAD;AAAA,QAAU,OAAM;AAAA,QAAyB,UAAUS;AAAAA,QAAU,MAAMkC;AAAAA,QAAY,SAAS,MAAMlW,EAAOgW,gBAAgBC,EAAAA,qBAAqB,QAA5C;AAAA,QAAuD,0BAAuB;AAAA,MAAA,CAFhL,GAGI7sB,gBAAAA,EAACmqB,IAAD;AAAA,QAAU,OAAM;AAAA,QAAmB,UAAUO,MAAc;AAAA,QAAM,MAAMqC;AAAAA,QAAgB,SAAS,MAAOrC,MAAc,OAAOI,EAAe,IAAKG,EAAc,IAAD;AAAA,QAAS,0BAAuB;AAAA,MAAA,CAHjM,GAIIjrB,gBAAAA,EAACmqB,IAAD;AAAA,QAAU,OAAM;AAAA,QAAmB,UAAUO,MAAc;AAAA,QAAM,MAAMsC;AAAAA,QAAgB,SAAS,MAAOtC,MAAc,OAAOI,EAAe,IAAKG,EAAc,IAAD;AAAA,QAAS,0BAAuB;AAAA,MAAA,CAA7L,GACCjrB,gBAAAA,EAAAwqB,IALL,CAAA,CAAA,qBAMKL,IAAD;AAAA,QAAU,OAAM;AAAA,QAAoB,UAAUO,MAAc,WAAWA,MAAc;AAAA,QAAS,MAAMA,MAAc,UAAUuC,KAAeC;AAAAA,QAAc,SAAS,MAAO7B,EAAzK;AAAA,QAAyL,0BAAuB;AAAA,MAAA,CANpN,CAAA;AAAA,IAAA,CAAA;AAAA,EAAA,CAFR;AAYH;AAED,SAAS8B,GAAyBvW,GAAQoR,GAAY;AAClD,QAAM,CAACoF,GAAQC,CAAT,IAAsBxW,EAAMyW,SAAS,EAAf,GACtB,CAAC3C,GAAQ4C,CAAT,IAAsB1W,EAAMyW,SAAS,EAAf,GACtB,CAAC1C,GAAU4C,CAAX,IAA0B3W,EAAMyW,SAAS,EAAf,GAC1B,CAAC5C,GAAW+C,CAAZ,IAA4B5W,EAAMyW,SAAS,WAAf,GAE5BI,IAAc7W,EAAM2U,YAAY,MAAM;AACjCU,IAAAA,EAAAA,iBAAiBC,KAAK,MAAM;AAE3BvV,UAAAA,EAAO+W;AACP;AAEJ,YAAMpG,IAAYwD,EAAAA,iBACZtC,IAAkBkD,OAAOC,gBACzBlD,IAAc9R,EAAOiV;AAE3B,UACIpD,MAAoB,SAEhB,CAACuC,EAAAA,kBAAkBzD,CAAD,KAClBmB,MAAgB,QAChB,CAACA,EAAYqD,SAAStD,EAAgBhB,UAArC,IAEP;AACE4F,QAAAA,EAAU,EAAD;AACT;AAAA,MACH;AAEG,UAAA,CAACrC,EAAAA,kBAAkBzD,CAAD;AAClB;AAGEE,YAAAA,IAAaH,GAAgBC,CAAD,GAC5B3T,IAAU6T,EAAWlP,aAAa,SAClCkP,IACAA,EAAWmG,6BACXC,IAAaja,EAAQ2E,UACrBuV,IAAalX,EAAOmX,gBAAgBF,CAAvB;AAMnB,UAHUtG,EAAAA,EAAUyG,UAAU,MAApB,CAAD,GACGzG,EAAAA,EAAUyG,UAAU,QAApB,CAAD,GAEPF,MAAe;AACXG,YAAAA,GAAAA,YAAYra,CAAD,GAAW;AAChBsa,gBAAAA,IAAaC,GAAAA,sBAAsB1G,GAAY9O,GAAb,QAAA,GAClCtD,IAAO6Y,IACPA,EAAWE,YAAX,IACAxa,EAAQwa;AACdX,UAAAA,EAAapY,CAAD;AAAA,QAAA,OACT;AACGA,gBAAAA,IAAOgZ,kBAAeza,CAAD,IACrBA,EAAQ0a,OADD,IAEP1a,EAAQmB;AAEd,UAAIM,KAAQkU,MACRkE,EAAapY,CAAD;AAAA,QAEnB;AAGDkS,MAAAA,EAAU1R,eAAV,MAA+B,KACrB0Y,EAAAA,EAAAA,YAAY9G,CAAD,CAAZ,IAET4F,EAAU,EAAD;AAAA,IACZ,CA1DL;AAAA,EAAA,GA4DD,CAACzW,CAAD,CA7DiB;AA4EpB,MAbAP,GAAU,OACG+V,SAAAA,iBAAiB,mBAAmBsB,CAA7C,GACO,MAAM;AACArB,aAAAA,oBAAoB,mBAAmBqB,CAAhD;AAAA,EAAA,IAEL,CAACA,CAAD,CALM,GAOTrX,GAAU,MACCO,EAAO2V,uBAAuB,MAAM;AAC5B,IAAAmB;EAAA,CADR,GAGR,CAAC9W,GAAQ8W,CAAT,CAJM,GAML,EAACN;AAIEoB,WAAAA,qBACF/D,IAAD;AAAA,MACI,QAAA7T;AAAA,MACA,YAAAoR;AAAA,MACA,WAAA0C;AAAA,MACA,QAAAC;AAAA,MACA,UAAAC;AAAA,IAAA,CANW,GAQf5C,CARe;AAUtB;AAED,SAAwByG,GAA4B;AAAA,EAACzG,YAAAA,IAAavS,SAASiZ;AAAvB,GAA8B;AACxE,QAAA,CAAC9X,CAAD,IAAW+X,GAAAA;AACVxB,SAAAA,GAAyBvW,GAAQoR,CAAT;AAClC;ACvSD,MAAM4G,KAAe,CAAC;AAAA,EAClBC,UAAAA;AAAAA,EACAC,sBAAAA;AAFkB,MAGhB;AACIC,QAAAA,IAAYlY,EAAM2U,YAAa3R,CAAgBA,MAAA;AAC3CmV,UAAAA,IAAOnV,EAAYoV;AACzBJ,IAAAA,KAAAA,QAAAA,EAAWG;AAAAA,EAAH,GACT,CAACH,CAAD,CAHe,GAOZ,CAACK,GAAoBC,CAArB,IAA8CtY,EAAMyW,SAAS,IAAf,GAC9C8B,IAASC,CAAwBA,MAAA;AACnC,IAAIA,MAAwB,QACxBF,EAAsBE,CAAD;AAAA,EACxB;AAGL,4BACI,OAAA;AAAA,IAAK,WAAU;AAAA,IAAf,UAAA,CACIrvB,gBAAAA,EAACsvB,mBAAD;AAAA,MACI,mCACI,OAAA;AAAA,QAAK,KAAKF;AAAAA,QAAV,4BACKG,oBAAD;AAAA,UAAiB,WAAU;AAAA,QAAA,CAA3B;AAAA,MAAA,CAHZ;AAAA,MAMI,+BAAa,OAAA;AAAA,QAAK,WAAU;AAAA,QAAf,UAAA;AAAA,MAAA,CAAA;AAAA,IAAA,CAPrB,GASIvvB,gBAAAA,EAACwvB,mBAAD;AAAA,MAAgB,UAAUT;AAAAA,IAT9B,CAAA,GAUK/uB,gBAAAA,EAAAyvB,kBAVL,CAAA,CAAA,GAAA,KAWIzvB,gBAAAA,EAAC0vB,GAAAA,YAAD,CAAA,CAAA,GACA,uBAACtI,IAAD;AAAA,MAAwB,cAAc0H;AAAAA,IAAAA,CAAtC,GACCI,KAAuBlvB,gBAAAA,EAACyuB,IAAD;AAAA,MAA6B,YAAYS;AAAAA,IAAAA,CAbrE,CAAA;AAAA,EAAA,CADJ;AAiBH;"}
|