1 line
2.4 MiB
1 line
2.4 MiB
(self["webpackChunk_jupyterlab_application_top"]=self["webpackChunk_jupyterlab_application_top"]||[]).push([[4470],{27902:(e,t,n)=>{"use strict";n.r(t);n.d(t,{DEFAULT_CONTEXT_ITEM_RANK:()=>y,default:()=>F});var i=n(88617);var s=n(38850);var o=n(40959);var r=n(67987);var a=n(40065);var l=n(78629);var d=n(4625);var c=n(34881);var h=n(4073);var u=n(34236);var p=n(5592);var m=n(93247);var g=n(90044);var f=n(27518);var v=n(44914);const _="TopBar";const b={id:"@jupyterlab/application-extension:top-bar",description:"Adds a toolbar to the top area (next to the main menu bar).",autoStart:true,requires:[a.ISettingRegistry,s.IToolbarWidgetRegistry],optional:[c.ITranslator],activate:(e,t,n,i)=>{const o=(i!==null&&i!==void 0?i:c.nullTranslator).load("jupyterlab");const r=new h.Toolbar;r.id="jp-top-bar";r.node.setAttribute("aria-label",o.__("Topbar toolbar"));(0,s.setToolbar)(r,(0,s.createToolbarFactory)(n,t,_,b.id,i!==null&&i!==void 0?i:c.nullTranslator),r);e.shell.add(r,"top",{rank:900})}};const y=100;var w;(function(e){e.activateNextTab="application:activate-next-tab";e.activatePreviousTab="application:activate-previous-tab";e.activateNextTabBar="application:activate-next-tab-bar";e.activatePreviousTabBar="application:activate-previous-tab-bar";e.close="application:close";e.closeOtherTabs="application:close-other-tabs";e.closeRightTabs="application:close-right-tabs";e.closeAll="application:close-all";e.setMode="application:set-mode";e.showPropertyPanel="property-inspector:show-panel";e.resetLayout="application:reset-layout";e.toggleContextMenu="application:toggle-context-menu";e.toggleHeader="application:toggle-header";e.toggleMode="application:toggle-mode";e.toggleLeftArea="application:toggle-left-area";e.toggleRightArea="application:toggle-right-area";e.toggleSideTabBar="application:toggle-side-tabbar";e.toggleSidebarWidget="application:toggle-sidebar-widget";e.togglePresentationMode="application:toggle-presentation-mode";e.toggleFullscreenMode="application:toggle-fullscreen-mode";e.tree="router:tree";e.switchSidebar="sidebar:switch"})(w||(w={}));const C={id:"@jupyterlab/application-extension:commands",description:"Adds commands related to the shell.",autoStart:true,requires:[c.ITranslator],optional:[i.ILabShell,s.ICommandPalette],activate:(e,t,n,s)=>{var r;const{commands:a,shell:l}=e;const d=t.load("jupyterlab");const c=d.__("Main Area");a.addCommand(i.JupyterFrontEndContextMenu.contextMenu,{label:d.__("Shift+Right Click for Browser Menu"),describedBy:{args:{type:"object",properties:{}}},isEnabled:()=>false,execute:()=>void 0});const h=()=>{const t=e=>!!e.dataset.id;const n=e.contextMenuHitTest(t);if(!n){return l.currentWidget}return(0,u.find)(l.widgets("main"),(e=>e.id===n.dataset.id))||l.currentWidget};const p=e=>{e.forEach((e=>e.close()))};const m=(e,t)=>{if(e.type==="tab-area"){return e.widgets.includes(t)?e:null}if(e.type==="split-area"){for(const n of e.children){const e=m(n,t);if(e){return e}}}return null};const g=e=>{var t;const i=n===null||n===void 0?void 0:n.saveLayout();const s=i===null||i===void 0?void 0:i.mainArea;if(!s||o.PageConfig.getOption("mode")!=="multiple-document"){return null}const r=(t=s.dock)===null||t===void 0?void 0:t.main;return r?m(r,e):null};const f=e=>{const{id:t}=e;const n=g(e);const i=n?n.widgets||[]:[];const s=i.findIndex((e=>e.id===t));if(s<0){return[]}return i.slice(s+1)};const v=e=>{let t;if(e!="left"&&e!="right"){throw Error(`Unsupported sidebar: ${e}`)}if(e==="left"){t=document.querySelector(".lm-TabBar-tab.lm-mod-current")}else{const e=document.querySelectorAll(".lm-TabBar-tab.lm-mod-current");t=e[e.length-1]}const n=t===null||t===void 0?void 0:t.getAttribute("data-id");if(n){return n===null||n===void 0?void 0:n.toString()}else{return""}};function _(e){if(e){e.focus()}}a.addCommand(w.close,{label:()=>d.__("Close Tab"),describedBy:{args:{type:"object",properties:{}}},isEnabled:()=>{const e=h();return!!e&&e.title.closable},execute:()=>{const e=h();if(e){e.close()}}});a.addCommand(w.closeOtherTabs,{label:()=>d.__("Close All Other Tabs"),describedBy:{args:{type:"object",properties:{}}},isEnabled:()=>(0,u.some)(l.widgets("main"),((e,t)=>t===1)),execute:()=>{const e=h();if(!e){return}const{id:t}=e;for(const n of l.widgets("main")){if(n.id!==t){n.close()}}}});a.addCommand(w.closeRightTabs,{label:()=>d.__("Close Tabs to Right"),describedBy:{args:{type:"object",properties:{}}},isEnabled:()=>!!h()&&f(h()).length>0,execute:()=>{const e=h();if(!e){return}p(f(e))}});(r=l.currentChanged)===null||r===void 0?void 0:r.connect((()=>{[w.close,w.closeOtherTabs,w.closeRightTabs].forEach((e=>a.notifyCommandChanged(e)))}));if(n){a.addCommand(w.activateNextTab,{label:d.__("Activate Next Tab"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{n.activateNextTab()}});a.addCommand(w.activatePreviousTab,{label:d.__("Activate Previous Tab"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{n.activatePreviousTab()}});a.addCommand(w.activateNextTabBar,{label:d.__("Activate Next Tab Bar"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{n.activateNextTabBar()}});a.addCommand(w.activatePreviousTabBar,{label:d.__("Activate Previous Tab Bar"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{n.activatePreviousTabBar()}});a.addCommand(w.closeAll,{label:d.__("Close All Tabs"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{n.closeAll()}});a.addCommand(w.toggleHeader,{label:d.__("Show Header"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(n.mode==="single-document"){n.toggleTopInSimpleModeVisibility()}},isToggled:()=>n.isTopInSimpleModeVisible(),isVisible:()=>n.mode==="single-document"});a.addCommand(w.toggleLeftArea,{label:d.__("Show Left Sidebar"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(n.leftCollapsed){n.expandLeft()}else{n.collapseLeft();if(n.currentWidget){n.activateById(n.currentWidget.id)}}},isToggled:()=>!n.leftCollapsed,isEnabled:()=>!n.isEmpty("left")});a.addCommand(w.toggleRightArea,{label:d.__("Show Right Sidebar"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(n.rightCollapsed){n.expandRight()}else{n.collapseRight();if(n.currentWidget){n.activateById(n.currentWidget.id)}}},isToggled:()=>!n.rightCollapsed,isEnabled:()=>!n.isEmpty("right")});a.addCommand(w.toggleSidebarWidget,{label:e=>e===undefined||e.side===undefined||e.index===undefined?d.__("Toggle Sidebar Element"):e.side==="right"?d.__("Toggle Element %1 in Right Sidebar",parseInt(e.index,10)+1):d.__("Toggle Element %1 in Left Sidebar",parseInt(e.index,10)+1),describedBy:{args:{type:"object",properties:{side:{type:"string",enum:["left","right"],description:d.__("The sidebar side")},index:{type:["string","number"],description:d.__("The index of the sidebar widget")}},required:["side","index"]}},execute:e=>{const t=parseInt(e.index,10);if(e.side!="left"&&e.side!="right"){throw Error(`Unsupported sidebar: ${e.side}`)}const i=Array.from(n.widgets(e.side));if(t>=i.length){return}const s=i[t].id;const o=document.querySelector("[data-id='"+s+"']");if(v(e.side)===s){if(e.side=="left"){n.collapseLeft();_(o)}if(e.side=="right"){n.collapseRight();_(o)}}else{n.activateById(s);_(o)}}});a.addCommand(w.toggleSideTabBar,{label:e=>e.side==="right"?d.__("Show Right Activity Bar"):d.__("Show Left Activity Bar"),describedBy:{args:{type:"object",properties:{side:{type:"string",enum:["left","right"],description:d.__("The sidebar side")}},required:["side"]}},execute:e=>{if(e.side==="right"){n.toggleSideTabBarVisibility("right")}else{n.toggleSideTabBarVisibility("left")}},isToggled:e=>e.side==="right"?n.isSideTabBarVisible("right"):n.isSideTabBarVisible("left"),isEnabled:e=>e.side==="right"?!n.isEmpty("right"):!n.isEmpty("left")});a.addCommand(w.togglePresentationMode,{label:()=>d.__("Presentation Mode"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{n.presentationMode=!n.presentationMode},isToggled:()=>n.presentationMode,isVisible:()=>true});a.addCommand(w.toggleFullscreenMode,{label:d.__("Fullscreen Mode"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(document.fullscreenElement===null||document.fullscreenElement===undefined){document.documentElement.requestFullscreen().catch((e=>{console.error("Failed to enter fullscreen mode.",e)}))}else if(document.fullscreenElement!==null){document.exitFullscreen().catch((e=>{console.error("Failed to exit fullscreen mode.",e)}))}},isToggled:()=>document.fullscreenElement!==null});a.addCommand(w.setMode,{label:e=>e["mode"]?d.__("Set %1 mode.",e["mode"]):d.__("Set the layout `mode`."),caption:d.__('The layout `mode` can be "single-document" or "multiple-document".'),describedBy:{args:{type:"object",properties:{mode:{type:"string",enum:["single-document","multiple-document"],description:d.__("The layout mode")}},required:["mode"]}},isVisible:e=>{const t=e["mode"];return t==="single-document"||t==="multiple-document"},execute:e=>{const t=e["mode"];if(t==="single-document"||t==="multiple-document"){n.mode=t;return}throw new Error(`Unsupported application shell mode: ${t}`)}});a.addCommand(w.toggleMode,{label:d.__("Simple Interface"),describedBy:{args:{type:"object",properties:{}}},isToggled:()=>n.mode==="single-document",execute:()=>{const e=n.mode==="multiple-document"?{mode:"single-document"}:{mode:"multiple-document"};return a.execute(w.setMode,e)}});a.addCommand(w.resetLayout,{label:d.__("Reset Default Layout"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(n.presentationMode){a.execute(w.togglePresentationMode).catch((e=>{console.error("Failed to undo presentation mode.",e)}))}if(document.fullscreenElement!==null||document.fullscreenElement!==undefined){a.execute(w.toggleFullscreenMode).catch((e=>{console.error("Failed to exit fullscreen mode.",e)}))}if(n.mode==="single-document"&&!n.isTopInSimpleModeVisible()){a.execute(w.toggleHeader).catch((e=>{console.error("Failed to display title header.",e)}))}["left","right"].forEach((e=>{if(!n.isSideTabBarVisible(e)&&!n.isEmpty(e)){a.execute(w.toggleSideTabBar,{side:e}).catch((t=>{console.error(`Failed to show ${e} activity bar.`,t)}))}}))}})}if(s){[w.activateNextTab,w.activatePreviousTab,w.activateNextTabBar,w.activatePreviousTabBar,w.close,w.closeAll,w.closeOtherTabs,w.closeRightTabs,w.toggleHeader,w.toggleLeftArea,w.toggleRightArea,w.togglePresentationMode,w.toggleFullscreenMode,w.toggleMode,w.resetLayout].forEach((e=>s.addItem({command:e,category:c})));["right","left"].forEach((e=>{s.addItem({command:w.toggleSideTabBar,category:c,args:{side:e}})}))}}};const x={id:"@jupyterlab/application-extension:main",description:"Initializes the application and provides the URL tree path handler.",requires:[i.IRouter,s.IWindowResolver,c.ITranslator,i.JupyterFrontEnd.ITreeResolver],optional:[i.IConnectionLost],provides:i.ITreePathUpdater,activate:(e,t,n,r,a,l)=>{const d=r.load("jupyterlab");if(!(e instanceof i.JupyterLab)){throw new Error(`${x.id} must be activated in JupyterLab.`)}let c="";let h="";function u(e){void a.paths.then((()=>{h=e;if(!c){const n=o.PageConfig.getUrl({treePath:e});const i=o.URLExt.parse(n).pathname;t.navigate(i,{skipRouting:true});o.PageConfig.setOption("treePath",e)}}))}const p=n.name;console.debug(`Starting application in workspace: "${p}"`);if(e.registerPluginErrors.length!==0){const t=v.createElement("pre",null,e.registerPluginErrors.map((e=>e.message)).join("\n"));void(0,s.showErrorMessage)(d.__("Error Registering Plugins"),{message:t})}e.shell.modeChanged.connect(((e,n)=>{const i=o.PageConfig.getUrl({mode:n});const s=o.URLExt.parse(i).pathname;t.navigate(s,{skipRouting:true});o.PageConfig.setOption("mode",n)}));void a.paths.then((()=>{e.shell.currentPathChanged.connect(((e,n)=>{const i=n.newValue;const s=i||h;const r=o.PageConfig.getUrl({treePath:s});const a=o.URLExt.parse(r).pathname;t.navigate(a,{skipRouting:true});o.PageConfig.setOption("treePath",s);c=i}))}));l=l||i.ConnectionLost;e.serviceManager.connectionFailure.connect(((e,t)=>l(e,t,r)));const m=e.serviceManager.builder;const g=()=>m.build().then((()=>(0,s.showDialog)({title:d.__("Build Complete"),body:v.createElement("div",null,d.__("Build successfully completed, reload page?"),v.createElement("br",null),d.__("You will lose any unsaved changes.")),buttons:[s.Dialog.cancelButton({label:d.__("Reload Without Saving"),actions:["reload"]}),s.Dialog.okButton({label:d.__("Save and Reload")})],hasClose:true}))).then((({button:{accept:n,actions:i}})=>{if(n){void e.commands.execute("docmanager:save").then((()=>{t.reload()})).catch((e=>{void(0,s.showErrorMessage)(d.__("Save Failed"),{message:v.createElement("pre",null,e.message)})}))}else if(i.includes("reload")){t.reload()}})).catch((e=>{void(0,s.showErrorMessage)(d.__("Build Failed"),{message:v.createElement("pre",null,e.message)})}));if(m.isAvailable&&m.shouldCheck){void m.getStatus().then((e=>{if(e.status==="building"){return g()}if(e.status!=="needed"){return}const t=v.createElement("div",null,d.__("JupyterLab build is suggested:"),v.createElement("br",null),v.createElement("pre",null,e.message));void(0,s.showDialog)({title:d.__("Build Recommended"),body:t,buttons:[s.Dialog.cancelButton(),s.Dialog.okButton({label:d.__("Build")})]}).then((e=>e.button.accept?g():undefined))}))}return u},autoStart:true};const S={id:"@jupyterlab/application-extension:context-menu",description:"Populates the context menu.",autoStart:true,requires:[a.ISettingRegistry,c.ITranslator],optional:[s.ICommandPalette],activate:(e,t,n,i)=>{const s=n.load("jupyterlab");function o(t){const n=new h.RankedMenu({...t,commands:e.commands});if(t.label){n.title.label=s.__(t.label)}return n}e.started.then((()=>z.loadSettingsContextMenu(e.contextMenu,e.commands,t,o,n))).then((()=>{if(i){i===null||i===void 0?void 0:i.addItem({category:s.__("Settings"),command:w.toggleContextMenu})}})).catch((e=>{console.error("Failed to load context menu items from settings registry.",e)}))}};const j={id:"@jupyterlab/application-extension:dirty",description:"Adds safeguard dialog when closing the browser tab with unsaved modifications.",autoStart:true,requires:[c.ITranslator],activate:(e,t)=>{if(!(e instanceof i.JupyterLab)){throw new Error(`${j.id} must be activated in JupyterLab.`)}const n=t.load("jupyterlab");const s=n.__("Are you sure you want to exit JupyterLab?\n\nAny unsaved changes will be lost.");window.addEventListener("beforeunload",(t=>{if(e.status.isDirty){return t.returnValue=s}}))}};const k={id:"@jupyterlab/application-extension:layout",description:"Provides the shell layout restorer.",requires:[l.IStateDB,i.ILabShell,a.ISettingRegistry],optional:[c.ITranslator],activate:(e,t,n,r,a)=>{const l=(a!==null&&a!==void 0?a:c.nullTranslator).load("jupyterlab");const d=e.started;const h=e.commands;const u=o.PageConfig.getOption("mode");const m=new i.LayoutRestorer({connector:t,first:d,registry:h,mode:u});r.load(D.id).then((t=>{var i,s;const o=t.composite["layout"];void n.restoreLayout(u,m,{"multiple-document":(i=o.multiple)!==null&&i!==void 0?i:{},"single-document":(s=o.single)!==null&&s!==void 0?s:{}}).then((()=>{n.layoutModified.connect((()=>{void m.save(n.saveLayout())}));t.changed.connect(g);z.activateSidebarSwitcher(e,n,t,l)}))})).catch((e=>{console.error("Fail to load settings for the layout restorer.");console.error(e)}));return m;async function g(e){if(!p.JSONExt.deepEqual(e.composite["layout"],{single:n.userLayout["single-document"],multiple:n.userLayout["multiple-document"]})){const e=await(0,s.showDialog)({title:l.__("Information"),body:l.__("User layout customization has changed. You may need to reload JupyterLab to see the changes."),buttons:[s.Dialog.cancelButton(),s.Dialog.okButton({label:l.__("Reload")})]});if(e.button.accept){location.reload()}}}},autoStart:true,provides:i.ILayoutRestorer};const I={id:"@jupyterlab/application-extension:router",description:"Provides the URL router",requires:[i.JupyterFrontEnd.IPaths],activate:(e,t)=>{const{commands:n}=e;const s=t.urls.base;const o=new i.Router({base:s,commands:n});void e.started.then((()=>{void o.route();window.addEventListener("popstate",(()=>{void o.route()}))}));return o},autoStart:true,provides:i.IRouter};const T={id:"@jupyterlab/application-extension:tree-resolver",description:"Provides the tree route resolver",autoStart:true,requires:[i.IRouter],optional:[c.ITranslator],provides:i.JupyterFrontEnd.ITreeResolver,activate:(e,t,n)=>{const i=(n!==null&&n!==void 0?n:c.nullTranslator).load("jupyterlab");const{commands:s}=e;const r=new g.DisposableSet;const a=new p.PromiseDelegate;const l=new RegExp("/(lab|doc)(/workspaces/[a-zA-Z0-9-_]+)?(/tree/.*)?");r.add(s.addCommand(w.tree,{describedBy:{args:{type:"object",properties:{search:{type:"string",description:i.__("The URL search string containing query parameters")}}}},execute:async e=>{var t;if(r.isDisposed){return}const n=o.URLExt.queryStringToObject((t=e.search)!==null&&t!==void 0?t:"");const i=n["file-browser-path"]||"";delete n["file-browser-path"];r.dispose();a.resolve({browser:i,file:o.PageConfig.getOption("treePath")})}}));r.add(t.register({command:w.tree,pattern:l}));const d=()=>{if(r.isDisposed){return}r.dispose();a.resolve(null)};t.routed.connect(d);r.add(new g.DisposableDelegate((()=>{t.routed.disconnect(d)})));return{paths:a.promise}}};const E={id:"@jupyterlab/application-extension:notfound",description:"Defines the behavior for not found URL (aka route).",requires:[i.JupyterFrontEnd.IPaths,i.IRouter,c.ITranslator],activate:(e,t,n,i)=>{const o=i.load("jupyterlab");const r=t.urls.notFound;if(!r){return}const a=n.base;const l=o.__("The path: %1 was not found. JupyterLab redirected to: %2",r,a);n.navigate("");void(0,s.showErrorMessage)(o.__("Path Not Found"),{message:l})},autoStart:true};const M={id:"@jupyterlab/application-extension:faviconbusy",description:"Handles the favicon depending on the application status.",requires:[i.ILabStatus],activate:async(e,t)=>{t.busySignal.connect(((e,t)=>{const n=document.querySelector(`link[rel="icon"]${t?".idle.favicon":".busy.favicon"}`);if(!n){return}const i=document.querySelector(`link${t?".busy.favicon":".idle.favicon"}`);if(!i){return}if(n!==i){n.rel="";i.rel="icon";i.parentNode.replaceChild(i,i)}}))},autoStart:true};const D={id:"@jupyterlab/application-extension:shell",description:"Provides the JupyterLab shell. It has an extended API compared to `app.shell`.",optional:[a.ISettingRegistry],activate:(e,t)=>{if(!(e.shell instanceof i.LabShell)){throw new Error(`${D.id} did not find a LabShell instance.`)}if(t){void t.load(D.id).then((t=>{e.shell.updateConfig(t.composite);t.changed.connect((()=>{e.shell.updateConfig(t.composite)}))}))}return e.shell},autoStart:true,provides:i.ILabShell};const A={id:"@jupyterlab/application-extension:status",description:"Provides the application status.",activate:e=>{if(!(e instanceof i.JupyterLab)){throw new Error(`${A.id} must be activated in JupyterLab.`)}return e.status},autoStart:true,provides:i.ILabStatus};const P={id:"@jupyterlab/application-extension:info",description:"Provides the application information.",activate:e=>{if(!(e instanceof i.JupyterLab)){throw new Error(`${P.id} must be activated in JupyterLab.`)}return e.info},autoStart:true,provides:i.JupyterLab.IInfo};const L={id:"@jupyterlab/application-extension:paths",description:"Provides the application paths.",activate:e=>{if(!(e instanceof i.JupyterLab)){throw new Error(`${L.id} must be activated in JupyterLab.`)}return e.paths},autoStart:true,provides:i.JupyterFrontEnd.IPaths};const R={id:"@jupyterlab/application-extension:property-inspector",description:"Provides the property inspector.",autoStart:true,requires:[i.ILabShell,c.ITranslator],optional:[i.ILayoutRestorer],provides:r.IPropertyInspectorProvider,activate:(e,t,n,i)=>{const s=n.load("jupyterlab");const o=new r.SideBarPropertyInspectorProvider({shell:t,translator:n});o.title.icon=h.buildIcon;o.title.caption=s.__("Property Inspector");o.id="jp-property-inspector";t.add(o,"right",{rank:100,type:"Property Inspector"});e.commands.addCommand(w.showPropertyPanel,{label:s.__("Property Inspector"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{t.activateById(o.id)}});if(i){i.add(o,"jp-property-inspector")}return o}};const N={id:"@jupyterlab/application-extension:logo",description:"Sets the application logo.",autoStart:true,requires:[i.ILabShell],activate:(e,t)=>{const n=new f.Widget;h.jupyterIcon.element({container:n.node,elementPosition:"center",margin:"2px 2px 2px 8px",height:"auto",width:"16px"});n.id="jp-MainLogo";t.add(n,"top",{rank:0})}};const B={id:"@jupyterlab/application-extension:mode-switch",description:"Adds the interface mode switch",requires:[i.ILabShell,c.ITranslator],optional:[d.IStatusBar,a.ISettingRegistry],activate:(e,t,n,i,s)=>{if(i===null){return}const o=n.load("jupyterlab");const r=new h.Switch;r.id="jp-single-document-mode";r.valueChanged.connect(((e,n)=>{t.mode=n.newValue?"single-document":"multiple-document"}));t.modeChanged.connect(((e,t)=>{r.value=t==="single-document"}));if(s){const n=s.load(D.id);const i=e=>{const n=e.get("startMode").composite;if(n){t.mode=n==="single"?"single-document":"multiple-document"}};Promise.all([n,e.restored]).then((([e])=>{i(e)})).catch((e=>{console.error(e.message)}))}const a=()=>{const t=e.commands.keyBindings.find((e=>e.command==="application:toggle-mode"));if(t){const e=t.keys.map(m.CommandRegistry.formatKeystroke).join(", ");r.caption=o.__("Simple Interface (%1)",e)}else{r.caption=o.__("Simple Interface")}};a();e.commands.keyBindingChanged.connect((()=>{a()}));r.label=o.__("Simple");i.registerStatusItem(B.id,{priority:1,item:r,align:"left",rank:-1})},autoStart:true};const O=[S,j,x,C,k,I,T,E,M,D,A,P,B,L,R,N,b];const F=O;var z;(function(e){async function t(e){const t=await(0,s.showDialog)({title:e.__("Information"),body:e.__("Context menu customization has changed. You will need to reload JupyterLab to see the changes."),buttons:[s.Dialog.cancelButton(),s.Dialog.okButton({label:e.__("Reload")})]});if(t.button.accept){location.reload()}}async function n(e,n,i,o,r){var l;const d=r.load("jupyterlab");const c=S.id;let h=null;let u={};function m(e){var t,n;u={};const s=Object.keys(i.plugins).map((e=>{var t,n;const s=(n=(t=i.plugins[e].schema["jupyter.lab.menus"])===null||t===void 0?void 0:t.context)!==null&&n!==void 0?n:[];u[e]=s;return s})).concat([(n=(t=e["jupyter.lab.menus"])===null||t===void 0?void 0:t.context)!==null&&n!==void 0?n:[]]).reduceRight(((e,t)=>a.SettingRegistry.reconcileItems(e,t,true)),[]);e.properties.contextMenu.default=a.SettingRegistry.reconcileItems(s,e.properties.contextMenu.default,true).sort(((e,t)=>{var n,i;return((n=e.rank)!==null&&n!==void 0?n:Infinity)-((i=t.rank)!==null&&i!==void 0?i:Infinity)}))}i.transform(c,{compose:e=>{var t,n,i,s;if(!h){h=p.JSONExt.deepCopy(e.schema);m(h)}const o=(i=(n=(t=h.properties)===null||t===void 0?void 0:t.contextMenu)===null||n===void 0?void 0:n.default)!==null&&i!==void 0?i:[];const r={...e.data.user,contextMenu:(s=e.data.user.contextMenu)!==null&&s!==void 0?s:[]};const l={...e.data.composite,contextMenu:a.SettingRegistry.reconcileItems(o,r.contextMenu,false)};e.data={composite:l,user:r};return e},fetch:e=>{if(!h){h=p.JSONExt.deepCopy(e.schema);m(h)}return{data:e.data,id:e.id,raw:e.raw,schema:h,version:e.version}}});const g=await i.load(c);const f=e=>{const t=document.body;const n=t.hasAttribute("data-jp-suppress-context-menu");const i=e.get("disabled").composite;if(n&&!i){t.removeAttribute("data-jp-suppress-context-menu")}else if(i&&!n){t.setAttribute("data-jp-suppress-context-menu","true")}};const v=(l=g.composite.contextMenu)!==null&&l!==void 0?l:[];a.SettingRegistry.filterDisabledItems(v).forEach((t=>{s.MenuFactory.addContextItem({rank:y,...t},e,o)}));g.changed.connect((()=>{var e;const n=(e=g.composite.contextMenu)!==null&&e!==void 0?e:[];if(!p.JSONExt.deepEqual(v,n)){void t(d)}f(g)}));i.pluginChanged.connect((async(n,r)=>{var l,h,m,g;if(r!==c){const n=(l=u[r])!==null&&l!==void 0?l:[];const c=(m=(h=i.plugins[r].schema["jupyter.lab.menus"])===null||h===void 0?void 0:h.context)!==null&&m!==void 0?m:[];if(!p.JSONExt.deepEqual(n,c)){if(u[r]){await t(d)}else{u[r]=p.JSONExt.deepCopy(c);const t=(g=a.SettingRegistry.reconcileItems(c,v,false,false))!==null&&g!==void 0?g:[];a.SettingRegistry.filterDisabledItems(t).forEach((t=>{s.MenuFactory.addContextItem({rank:y,...t},e,o)}))}}}}));f(g);n.addCommand(w.toggleContextMenu,{label:d.__("Enable Context Menu"),describedBy:{args:{type:"object",properties:{}}},isToggleable:true,isToggled:()=>!g.get("disabled").composite,execute:()=>void g.set("disabled",!g.get("disabled").composite)})}e.loadSettingsContextMenu=n;function i(e,t,n,i){e.commands.addCommand(w.switchSidebar,{label:i.__("Switch Sidebar Side"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const i=e.contextMenuHitTest((e=>!!e.dataset.id));if(!i){return}const s=i.dataset["id"];const o=document.getElementById("jp-left-stack");const r=document.getElementById(s);let a=null;if(o&&r&&o.contains(r)){const e=(0,u.find)(t.widgets("left"),(e=>e.id===s));if(e){a=t.move(e,"right");t.activateById(e.id)}}else{const e=(0,u.find)(t.widgets("right"),(e=>e.id===s));if(e){a=t.move(e,"left");t.activateById(e.id)}}if(a){n.set("layout",{single:a["single-document"],multiple:a["multiple-document"]}).catch((e=>{console.error("Failed to save user layout customization.",e)}))}}});e.commands.commandExecuted.connect(((e,t)=>{if(t.id===w.resetLayout){n.remove("layout").catch((e=>{console.error("Failed to remove user layout customization.",e)}))}}))}e.activateSidebarSwitcher=i})(z||(z={}))},20979:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(24800);var r=n(3579);var a=n(58130);var l=n(85072);var d=n.n(l);var c=n(97825);var h=n.n(c);var u=n(77659);var p=n.n(u);var m=n(55056);var g=n.n(m);var f=n(10540);var v=n.n(f);var _=n(41113);var b=n.n(_);var y=n(24118);var w={};w.styleTagTransform=b();w.setAttributes=g();w.insert=p().bind(null,"head");w.domAPI=h();w.insertStyleElement=v();var C=d()(y.A,w);const x=y.A&&y.A.locals?y.A.locals:undefined},16214:(e,t,n)=>{"use strict";n.r(t);n.d(t,{ConnectionLost:()=>o,IConnectionLost:()=>q,ILabShell:()=>B,ILabStatus:()=>$,ILayoutRestorer:()=>b,IMimeDocumentTracker:()=>x,IRouter:()=>K,ITreePathUpdater:()=>J,JupyterFrontEnd:()=>p,JupyterFrontEndContextMenu:()=>g,JupyterLab:()=>H,LabShell:()=>O,LabStatus:()=>W,LayoutRestorer:()=>w,Router:()=>U,addSemanticCommand:()=>G,createRendermimePlugin:()=>j,createRendermimePlugins:()=>S,createSemanticCommand:()=>Y});var i=n(38850);var s=n(34881);const o=async function(e,t,n){n=n||s.nullTranslator;const o=n.load("jupyterlab");const a=o.__("Server Connection Error");const l=o.__("A connection to the Jupyter server could not be established.\n"+"JupyterLab will continue trying to reconnect.\n"+"Check your network connection or Jupyter server configuration.\n");if(!r.displayConnectionLost){return}if(r.serverConnectionLost){await r.serverConnectionLost;return}const d=(0,i.showDialog)({title:a,body:l,checkbox:{label:o.__("Do not show this message again in this session."),caption:o.__("If checked, you will not see a dialog informing you about an issue with server connection in this session.")},buttons:[i.Dialog.cancelButton({label:o.__("Close")})]}).then((e=>{if(e.isChecked){r.displayConnectionLost=false}return})).catch((e=>{console.error("An error occurred while showing the dialog: ",e)})).finally((()=>{r.serverConnectionLost=undefined}));r.serverConnectionLost=d};var r;(function(e){e.displayConnectionLost=true})(r||(r={}));var a=n(93067);var l=n(49278);var d=n(4073);var c=n(15439);var h=n(5592);var u=n(2336);class p extends c.Application{constructor(e){super(e);this._formatChanged=new u.Signal(this);e.shell.addClass("jp-ThemedContainer");this.contextMenu=new d.ContextMenuSvg({commands:this.commands,renderer:e.contextMenuRenderer,groupByTarget:false,sortBySelector:false});const t=new Promise((e=>{requestAnimationFrame((()=>{e()}))}));this.commandLinker=e.commandLinker||new i.CommandLinker({commands:this.commands});this.docRegistry=e.docRegistry||new a.DocumentRegistry;this.restored=e.restored||this.started.then((()=>t)).catch((()=>t));this.serviceManager=e.serviceManager||new l.ServiceManager}get format(){return this._format}set format(e){if(this._format!==e){this._format=e;document.body.dataset["format"]=e;this._formatChanged.emit(e)}}get formatChanged(){return this._formatChanged}contextMenuHitTest(e){if(!this._contextMenuEvent||!(this._contextMenuEvent.target instanceof Node)){return undefined}let t=this._contextMenuEvent.target;do{if(t instanceof HTMLElement&&e(t)){return t}t=t.parentNode}while(t&&t.parentNode&&t!==t.parentNode);return undefined}evtContextMenu(e){this._contextMenuEvent=e;if(e.shiftKey||m.suppressContextMenu(e.target)){return}const t=this.contextMenu.open(e);if(t){const t=this.contextMenu.menu.items;if(t.length===1&&t[0].command===g.contextMenu){this.contextMenu.menu.close();return}e.preventDefault();e.stopPropagation()}}}(function(e){function t(e,t){const n=new RegExp(`^${t.urls.doc}`);const i=e.match(n);if(i){return true}else{return false}}e.inDocMode=t;e.IPaths=new h.Token("@jupyterlab/application:IPaths",`A service providing information about various\n URLs and server paths for the current application. Use this service if you want to\n assemble URLs to use the JupyterLab REST API.`);e.ITreeResolver=new h.Token("@jupyterlab/application:ITreeResolver","A service to resolve the tree path.")})(p||(p={}));var m;(function(e){function t(e){return e.closest("[data-jp-suppress-context-menu]")!==null}e.suppressContextMenu=t})(m||(m={}));var g;(function(e){e.contextMenu="__internal:context-menu-info"})(g||(g={}));var f=n(40959);var v=n(95513);var _=n(94466);const b=new h.Token("@jupyterlab/application:ILayoutRestorer","A service providing application layout restoration functionality. Use this to have your activities restored across page loads.");const y="layout-restorer:data";class w{constructor(e){this._deferred=new Array;this._deferredMainArea=null;this._firstDone=false;this._promisesDone=false;this._promises=[];this._restored=new h.PromiseDelegate;this._trackers=new Set;this._widgets=new Map;this._mode="multiple-document";this._connector=e.connector;this._first=e.first;this._registry=e.registry;if(e.mode){this._mode=e.mode}void this._first.then((()=>{this._firstDone=true})).then((()=>Promise.all(this._promises))).then((()=>{this._promisesDone=true;this._trackers.clear()})).then((()=>{this._restored.resolve(void 0)}))}get isDeferred(){return this._deferred.length>0}get restored(){return this._restored.promise}add(e,t){C.nameProperty.set(e,t);this._widgets.set(t,e);e.disposed.connect(this._onWidgetDisposed,this)}async fetch(){var e;const t={fresh:true,mainArea:null,downArea:null,leftArea:null,rightArea:null,topArea:null,relativeSizes:null};const n=this._connector.fetch(y);try{const[i]=await Promise.all([n,this.restored]);if(!i){return t}const{main:s,down:o,left:r,right:a,relativeSizes:l,top:d}=i;const c=false;let h=null;if(this._mode==="multiple-document"){h=this._rehydrateMainArea(s)}else{this._deferredMainArea=s}const u=this._rehydrateDownArea(o);const p=this._rehydrateSideArea(r);const m=this._rehydrateSideArea(a);return{fresh:c,mainArea:h,downArea:u,leftArea:p,rightArea:m,relativeSizes:l||null,topArea:(e=d)!==null&&e!==void 0?e:null}}catch(i){return t}}async restore(e,t){if(this._firstDone){throw new Error("restore() must be called before `first` has resolved.")}const{namespace:n}=e;if(this._trackers.has(n)){throw new Error(`The tracker "${n}" is already restored.`)}const{args:i,command:s,name:o,when:r}=t;this._trackers.add(n);e.widgetAdded.connect(((e,t)=>{const i=o(t);if(i){this.add(t,`${n}:${i}`)}}),this);e.widgetUpdated.connect(((e,t)=>{const i=o(t);if(i){const e=`${n}:${i}`;C.nameProperty.set(t,e);this._widgets.set(e,t)}}));const a=this._first;if(this._mode=="multiple-document"){const t=e.restore({args:i||(()=>h.JSONExt.emptyObject),command:s,connector:this._connector,name:o,registry:this._registry,when:r?[a].concat(r):a}).catch((e=>{console.error(e)}));this._promises.push(t);return t}e.defer({args:i||(()=>h.JSONExt.emptyObject),command:s,connector:this._connector,name:o,registry:this._registry,when:r?[a].concat(r):a});this._deferred.push(e)}async restoreDeferred(){if(!this.isDeferred){return null}const e=Promise.resolve();const t=this._deferred.map((t=>e.then((()=>t.restore()))));this._deferred.length=0;await Promise.all(t);return this._rehydrateMainArea(this._deferredMainArea)}save(e){var t;if(!this._promisesDone){const e="save() was called prematurely.";console.warn(e);return Promise.reject(e)}const n={};n.main=this.isDeferred?this._deferredMainArea:this._dehydrateMainArea(e.mainArea);if(this.isDeferred){const i=(t=e.mainArea)===null||t===void 0?void 0:t.currentWidget;if(i){const e=C.nameProperty.get(i);n.main={...n.main,current:e||undefined}}}n.down=this._dehydrateDownArea(e.downArea);n.left=this._dehydrateSideArea(e.leftArea);n.right=this._dehydrateSideArea(e.rightArea);n.relativeSizes=e.relativeSizes;n.top={...e.topArea};return this._connector.save(y,n)}_dehydrateMainArea(e){if(!e){return null}return C.serializeMain(e)}_rehydrateMainArea(e){if(!e){return null}return C.deserializeMain(e,this._widgets)}_dehydrateDownArea(e){if(!e){return null}const t={size:e.size};if(e.currentWidget){const n=C.nameProperty.get(e.currentWidget);if(n){t.current=n}}if(e.widgets){t.widgets=e.widgets.map((e=>C.nameProperty.get(e))).filter((e=>!!e))}return t}_rehydrateDownArea(e){var t;if(!e){return{currentWidget:null,size:0,widgets:null}}const n=this._widgets;const i=e.current&&n.has(`${e.current}`)?n.get(`${e.current}`):null;const s=!Array.isArray(e.widgets)?null:e.widgets.map((e=>n.has(`${e}`)?n.get(`${e}`):null)).filter((e=>!!e));return{currentWidget:i,size:(t=e.size)!==null&&t!==void 0?t:0,widgets:s}}_dehydrateSideArea(e){if(!e){return null}const t={collapsed:e.collapsed,visible:e.visible};if(e.currentWidget){const n=C.nameProperty.get(e.currentWidget);if(n){t.current=n}}if(e.widgets){t.widgets=e.widgets.map((e=>C.nameProperty.get(e))).filter((e=>!!e))}if(e.widgetStates){t.widgetStates=e.widgetStates}return t}_rehydrateSideArea(e){var t,n;if(!e){return{collapsed:true,currentWidget:null,visible:true,widgets:null,widgetStates:{["null"]:{sizes:null,expansionStates:null}}}}const i=this._widgets;const s=(t=e.collapsed)!==null&&t!==void 0?t:false;const o=e.current&&i.has(`${e.current}`)?i.get(`${e.current}`):null;const r=!Array.isArray(e.widgets)?null:e.widgets.map((e=>i.has(`${e}`)?i.get(`${e}`):null)).filter((e=>!!e));const a=e.widgetStates;return{collapsed:s,currentWidget:o,widgets:r,visible:(n=e.visible)!==null&&n!==void 0?n:true,widgetStates:a}}_onWidgetDisposed(e){const t=C.nameProperty.get(e);this._widgets.delete(t)}}var C;(function(e){e.nameProperty=new _.AttachedProperty({name:"name",create:e=>""});function t(n){if(!n||!n.type){return null}if(n.type==="tab-area"){return{type:"tab-area",currentIndex:n.currentIndex,widgets:n.widgets.map((t=>e.nameProperty.get(t))).filter((e=>!!e))}}return{type:"split-area",orientation:n.orientation,sizes:n.sizes,children:n.children.map(t).filter((e=>!!e))}}function n(n){const i={dock:n&&n.dock&&t(n.dock.main)||null};if(n){if(n.currentWidget){const t=e.nameProperty.get(n.currentWidget);if(t){i.current=t}}}return i}e.serializeMain=n;function i(e,t){if(!e){return null}const n=e.type||"unknown";if(n==="unknown"||n!=="tab-area"&&n!=="split-area"){console.warn(`Attempted to deserialize unknown type: ${n}`);return null}if(n==="tab-area"){const{currentIndex:n,widgets:i}=e;const s={type:"tab-area",currentIndex:n||0,widgets:i&&i.map((e=>t.get(e))).filter((e=>!!e))||[]};if(s.currentIndex>s.widgets.length-1){s.currentIndex=0}return s}const{orientation:s,sizes:o,children:r}=e;const a={type:"split-area",orientation:s,sizes:o||[],children:r&&r.map((e=>i(e,t))).filter((e=>!!e))||[]};return a}function s(e,t){if(!e){return null}const n=e.current||null;const s=e.dock||null;return{currentWidget:n&&t.has(n)&&t.get(n)||null,dock:s?{main:i(s,t)}:null}}e.deserializeMain=s})(C||(C={}));const x=new h.Token("@jupyterlab/application:IMimeDocumentTracker","A widget tracker for documents rendered using a mime renderer extension. Use this if you want to list and interact with documents rendered by such extensions.");function S(e){const t=[];const n="application-mimedocuments";const s=new i.WidgetTracker({namespace:n});e.forEach((e=>{let n=e.default;if(!e.hasOwnProperty("__esModule")){n=e}if(!Array.isArray(n)){n=[n]}n.forEach((e=>{t.push(j(s,e))}))}));t.push({id:"@jupyterlab/application-extension:mimedocument",description:"Provides a mime document widget tracker.",optional:[b],provides:x,autoStart:true,activate:(e,t)=>{if(t){void t.restore(s,{command:"docmanager:open",args:e=>({path:e.context.path,factory:k.factoryNameProperty.get(e)}),name:e=>`${e.context.path}:${k.factoryNameProperty.get(e)}`})}return s}});return t}function j(e,t){return{id:t.id,description:t.description,requires:[v.IRenderMimeRegistry,s.ITranslator],autoStart:true,activate:(n,i,s)=>{if(t.rank!==undefined){i.addFactory(t.rendererFactory,t.rank)}else{i.addFactory(t.rendererFactory)}if(!t.documentWidgetFactoryOptions){return}const o=n.docRegistry;let r=[];if(Array.isArray(t.documentWidgetFactoryOptions)){r=t.documentWidgetFactoryOptions}else{r=[t.documentWidgetFactoryOptions]}if(t.fileTypes){t.fileTypes.forEach((e=>{if(e.icon){e={...e,icon:d.LabIcon.resolve({icon:e.icon})}}n.docRegistry.addFileType(e)}))}r.forEach((n=>{const r=n.toolbarFactory?e=>n.toolbarFactory(e.content.renderer):undefined;const l=new a.MimeDocumentFactory({renderTimeout:t.renderTimeout,dataType:t.dataType,rendermime:i,modelName:n.modelName,name:n.name,primaryFileType:o.getFileType(n.primaryFileType),fileTypes:n.fileTypes,defaultFor:n.defaultFor,defaultRendered:n.defaultRendered,toolbarFactory:r,translator:s,factory:t.rendererFactory});o.addWidgetFactory(l);l.widgetCreated.connect(((t,n)=>{k.factoryNameProperty.set(n,l.name);n.context.pathChanged.connect((()=>{void e.save(n)}));void e.add(n)}))}))}}}var k;(function(e){e.factoryNameProperty=new _.AttachedProperty({name:"factoryName",create:()=>undefined})})(k||(k={}));var I=n(34236);var T=n(42856);var E=n(26568);var M=n(27518);const D="jp-LabShell";const A="jp-SideBar";const P="jp-mod-current";const L="jp-mod-active";const R=900;const N="jp-Activity";const B=new h.Token("@jupyterlab/application:ILabShell","A service for interacting with the JupyterLab shell. The top-level `application` object also has a reference to the shell, but it has a restricted interface in order to be agnostic to different shell implementations on the application. Use this to get more detailed information about currently active widgets and layout state.");class O extends M.Widget{constructor(e){super();this._dockChildHook=(e,t)=>{switch(t.type){case"child-added":t.child.addClass(N);this._tracker.add(t.child);break;case"child-removed":t.child.removeClass(N);this._tracker.remove(t.child);break;default:break}return true};this._activeChanged=new u.Signal(this);this._cachedLayout=null;this._currentChanged=new u.Signal(this);this._currentPath="";this._currentPathChanged=new u.Signal(this);this._modeChanged=new u.Signal(this);this._isRestored=false;this._layoutModified=new u.Signal(this);this._layoutDebouncer=new E.Debouncer((()=>{this._layoutModified.emit(undefined)}),0);this._restored=new h.PromiseDelegate;this._tracker=new M.FocusTracker;this._topHandlerHiddenByUser=false;this._idTypeMap=new Map;this._mainOptionsCache=new Map;this._sideOptionsCache=new Map;this._delayedWidget=new Array;this.addClass(D);this.id="main";if((e===null||e===void 0?void 0:e.waitForRestore)===false){this._userLayout={"multiple-document":{},"single-document":{}}}const t=this._skipLinkWidget=new F.SkipLinkWidget(this);this._skipLinkWidget.show();const n=new M.Panel;n.addClass("jp-skiplink-wrapper");n.addWidget(t);const i=this._headerPanel=new M.BoxPanel;const o=this._menuHandler=new F.PanelHandler;o.panel.node.setAttribute("role","navigation");const r=this._topHandler=new F.PanelHandler;r.panel.node.setAttribute("role","banner");const l=this._bottomPanel=new M.BoxPanel;l.node.setAttribute("role","contentinfo");const c=new M.BoxPanel;const p=this._vsplitPanel=new F.RestorableSplitPanel;const m=this._dockPanel=new d.DockPanelSvg({hiddenMode:M.Widget.HiddenMode.Display});T.MessageLoop.installMessageHook(m,this._dockChildHook);const g=this._hsplitPanel=new F.RestorableSplitPanel;const f=this._downPanel=new d.TabPanelSvg({tabsMovable:true});const v=this._leftHandler=new F.SideBarHandler;const _=this._rightHandler=new F.SideBarHandler;const b=new M.BoxLayout;i.id="jp-header-panel";o.panel.id="jp-menu-panel";r.panel.id="jp-top-panel";l.id="jp-bottom-panel";c.id="jp-main-content-panel";p.id="jp-main-vsplit-panel";m.id="jp-main-dock-panel";g.id="jp-main-split-panel";f.id="jp-down-stack";v.sideBar.addClass(A);v.sideBar.addClass("jp-mod-left");v.sideBar.node.setAttribute("role","complementary");v.stackedPanel.id="jp-left-stack";_.sideBar.addClass(A);_.sideBar.addClass("jp-mod-right");_.sideBar.node.setAttribute("role","complementary");_.stackedPanel.id="jp-right-stack";m.node.setAttribute("role","main");c.spacing=0;p.spacing=1;m.spacing=5;g.spacing=1;i.direction="top-to-bottom";p.orientation="vertical";c.direction="left-to-right";g.orientation="horizontal";l.direction="bottom-to-top";M.SplitPanel.setStretch(v.stackedPanel,0);M.SplitPanel.setStretch(f,0);M.SplitPanel.setStretch(m,1);M.SplitPanel.setStretch(_.stackedPanel,0);M.BoxPanel.setStretch(v.sideBar,0);M.BoxPanel.setStretch(g,1);M.BoxPanel.setStretch(_.sideBar,0);M.SplitPanel.setStretch(p,1);g.addWidget(v.stackedPanel);g.addWidget(m);g.addWidget(_.stackedPanel);p.addWidget(g);p.addWidget(f);c.addWidget(v.sideBar);c.addWidget(p);c.addWidget(_.sideBar);b.direction="top-to-bottom";b.spacing=0;p.setRelativeSizes([3,1]);g.setRelativeSizes([1,2.5,1]);M.BoxLayout.setStretch(i,0);M.BoxLayout.setStretch(o.panel,0);M.BoxLayout.setStretch(r.panel,0);M.BoxLayout.setStretch(c,1);M.BoxLayout.setStretch(l,0);b.addWidget(n);b.addWidget(i);b.addWidget(r.panel);b.addWidget(c);b.addWidget(l);this._headerPanel.hide();this._bottomPanel.hide();this._downPanel.hide();this.layout=b;this._tracker.currentChanged.connect(this._onCurrentChanged,this);this._tracker.activeChanged.connect(this._onActiveChanged,this);this._dockPanel.layoutModified.connect(this._onLayoutModified,this);this._vsplitPanel.updated.connect(this._onLayoutModified,this);this._downPanel.currentChanged.connect(this._onLayoutModified,this);this._downPanel.tabBar.tabMoved.connect(this._onTabPanelChanged,this);this._downPanel.stackedPanel.widgetRemoved.connect(this._onTabPanelChanged,this);this._leftHandler.updated.connect(this._onLayoutModified,this);this._rightHandler.updated.connect(this._onLayoutModified,this);this._hsplitPanel.updated.connect(this._onLayoutModified,this);const y=this._titleHandler=new F.TitleHandler(this);this.add(y,"top",{rank:100});if(this._dockPanel.mode==="multiple-document"){this._topHandler.addWidget(this._menuHandler.panel,100);y.hide()}else{b.insertWidget(3,this._menuHandler.panel)}this.translator=s.nullTranslator;this.currentChanged.connect(((e,t)=>{let n=t.newValue;let i=t.oldValue;if(i){i.title.changed.disconnect(this._updateTitlePanelTitle,this);if(i instanceof a.DocumentWidget){i.context.pathChanged.disconnect(this._updateCurrentPath,this)}}if(n){n.title.changed.connect(this._updateTitlePanelTitle,this);this._updateTitlePanelTitle();if(n instanceof a.DocumentWidget){n.context.pathChanged.connect(this._updateCurrentPath,this)}}this._updateCurrentPath()}))}get activeChanged(){return this._activeChanged}get activeWidget(){return this._tracker.activeWidget}get addButtonEnabled(){return this._dockPanel.addButtonEnabled}set addButtonEnabled(e){this._dockPanel.addButtonEnabled=e}get addRequested(){return this._dockPanel.addRequested}get currentChanged(){return this._currentChanged}get currentPath(){return this._currentPath}get currentPathChanged(){return this._currentPathChanged}get currentWidget(){return this._tracker.currentWidget}get layoutModified(){return this._layoutModified}get leftCollapsed(){return!this._leftHandler.sideBar.currentTitle}get rightCollapsed(){return!this._rightHandler.sideBar.currentTitle}get presentationMode(){return this.hasClass("jp-mod-presentationMode")}set presentationMode(e){this.toggleClass("jp-mod-presentationMode",e)}get mode(){return this._dockPanel.mode}set mode(e){const t=this._dockPanel;if(e===t.mode){return}const n=this.currentWidget;if(e==="single-document"){this._cachedLayout=t.saveLayout();t.mode=e;if(this.currentWidget){t.activateWidget(this.currentWidget)}this.layout.insertWidget(3,this._menuHandler.panel);this._titleHandler.show();this._updateTitlePanelTitle();if(this._topHandlerHiddenByUser){this._topHandler.panel.hide()}}else{const i=Array.from(t.widgets());t.mode=e;if(this._cachedLayout){F.normalizeAreaConfig(t,this._cachedLayout.main);t.restoreLayout(this._cachedLayout);this._cachedLayout=null}if(this._layoutRestorer.isDeferred){this._layoutRestorer.restoreDeferred().then((e=>{if(e){const{currentWidget:t,dock:n}=e;if(n){this._dockPanel.restoreLayout(n)}if(t){this.activateById(t.id)}}})).catch((e=>{console.error("Failed to restore the deferred layout.");console.error(e)}))}i.forEach((e=>{if(!e.parent){this._addToMainArea(e,{...this._mainOptionsCache.get(e),activate:false})}}));this._mainOptionsCache.clear();if(n){t.activateWidget(n)}this.add(this._menuHandler.panel,"top",{rank:100});this._titleHandler.hide()}this.node.dataset.shellMode=e;this._downPanel.fit();this._modeChanged.emit(e)}get modeChanged(){return this._modeChanged}get restored(){return this._restored.promise}get translator(){var e;return(e=this._translator)!==null&&e!==void 0?e:s.nullTranslator}set translator(e){if(e!==this._translator){this._translator=e;d.TabBarSvg.translator=e;const t=e.load("jupyterlab");this._menuHandler.panel.node.setAttribute("aria-label",t.__("main menu"));this._leftHandler.sideBar.node.setAttribute("aria-label",t.__("main sidebar"));this._leftHandler.sideBar.contentNode.setAttribute("aria-label",t.__("main sidebar"));this._rightHandler.sideBar.node.setAttribute("aria-label",t.__("alternate sidebar"));this._rightHandler.sideBar.contentNode.setAttribute("aria-label",t.__("alternate sidebar"));this._topHandler.panel.node.setAttribute("aria-label",t.__("Top Bar"));this._bottomPanel.node.setAttribute("aria-label",t.__("Bottom Panel"));this._dockPanel.node.setAttribute("aria-label",t.__("Main Content"))}}get userLayout(){return h.JSONExt.deepCopy(this._userLayout)}activateById(e){if(this._leftHandler.has(e)){this._leftHandler.activate(e);return}if(this._rightHandler.has(e)){this._rightHandler.activate(e);return}const t=this._downPanel.tabBar.titles.findIndex((t=>t.owner.id===e));if(t>=0){this._downPanel.currentIndex=t;return}const n=this._dockPanel;const i=(0,I.find)(n.widgets(),(t=>t.id===e));if(i){n.activateWidget(i)}}activateArea(e="main"){switch(e){case"main":{const e=this._currentTabBar();if(!e){return}if(e.currentTitle){e.currentTitle.owner.activate()}}return;case"left":case"right":case"header":case"top":case"menu":case"bottom":console.debug(`Area: ${e} activation not yet implemented`);break;default:throw new Error(`Invalid area: ${e}`)}}activateNextTab(){const e=this._currentTabBar();if(!e){return}const t=e.currentIndex;if(t===-1){return}if(t<e.titles.length-1){e.currentIndex+=1;if(e.currentTitle){e.currentTitle.owner.activate()}return}if(t===e.titles.length-1){const e=this._adjacentBar("next");if(e){e.currentIndex=0;if(e.currentTitle){e.currentTitle.owner.activate()}}}}activatePreviousTab(){const e=this._currentTabBar();if(!e){return}const t=e.currentIndex;if(t===-1){return}if(t>0){e.currentIndex-=1;if(e.currentTitle){e.currentTitle.owner.activate()}return}if(t===0){const e=this._adjacentBar("previous");if(e){const t=e.titles.length;e.currentIndex=t-1;if(e.currentTitle){e.currentTitle.owner.activate()}}}}activateNextTabBar(){const e=this._adjacentBar("next");if(e){if(e.currentTitle){e.currentTitle.owner.activate()}}}activatePreviousTabBar(){const e=this._adjacentBar("previous");if(e){if(e.currentTitle){e.currentTitle.owner.activate()}}}add(e,t="main",n){var i;if(!this._userLayout){this._delayedWidget.push({widget:e,area:t,options:n});return}let s;if((n===null||n===void 0?void 0:n.type)&&this._userLayout[this.mode][n.type]){s=this._userLayout[this.mode][n.type];this._idTypeMap.set(e.id,n.type)}else{s=this._userLayout[this.mode][e.id]}if(n===null||n===void 0?void 0:n.type){this._idTypeMap.set(e.id,n.type);e.disposed.connect((()=>{this._idTypeMap.delete(e.id)}))}t=(i=s===null||s===void 0?void 0:s.area)!==null&&i!==void 0?i:t;n=n||(s===null||s===void 0?void 0:s.options)?{...n,...s===null||s===void 0?void 0:s.options}:undefined;switch(t||"main"){case"bottom":return this._addToBottomArea(e,n);case"down":return this._addToDownArea(e,n);case"header":return this._addToHeaderArea(e,n);case"left":return this._addToLeftArea(e,n);case"main":return this._addToMainArea(e,n);case"menu":return this._addToMenuArea(e,n);case"right":return this._addToRightArea(e,n);case"top":return this._addToTopArea(e,n);default:throw new Error(`Invalid area: ${t}`)}}move(e,t,n){var i;const s=(i=this._idTypeMap.get(e.id))!==null&&i!==void 0?i:e.id;for(const o of["single-document","multiple-document"].filter((e=>!n||e===n))){this._userLayout[o][s]={...this._userLayout[o][s],area:t}}this.add(e,t);return this._userLayout}collapseLeft(){this._leftHandler.collapse();this._onLayoutModified()}collapseRight(){this._rightHandler.collapse();this._onLayoutModified()}dispose(){if(this.isDisposed){return}this._layoutDebouncer.dispose();super.dispose()}expandLeft(){this._leftHandler.expand();this._onLayoutModified()}expandRight(){this._rightHandler.expand();this._onLayoutModified()}closeAll(){Array.from(this._dockPanel.widgets()).forEach((e=>e.close()));this._downPanel.stackedPanel.widgets.forEach((e=>e.close()))}isSideTabBarVisible(e){switch(e){case"left":return this._leftHandler.isVisible;case"right":return this._rightHandler.isVisible}}isTopInSimpleModeVisible(){return!this._topHandlerHiddenByUser}isEmpty(e){switch(e){case"bottom":return this._bottomPanel.widgets.length===0;case"down":return this._downPanel.stackedPanel.widgets.length===0;case"header":return this._headerPanel.widgets.length===0;case"left":return this._leftHandler.stackedPanel.widgets.length===0;case"main":return this._dockPanel.isEmpty;case"menu":return this._menuHandler.panel.widgets.length===0;case"right":return this._rightHandler.stackedPanel.widgets.length===0;case"top":return this._topHandler.panel.widgets.length===0;default:return true}}async restoreLayout(e,t,n={}){var i,s,o,r;this._userLayout={"single-document":(i=n["single-document"])!==null&&i!==void 0?i:{},"multiple-document":(s=n["multiple-document"])!==null&&s!==void 0?s:{}};this._delayedWidget.forEach((({widget:e,area:t,options:n})=>{this.add(e,t,n)}));this._delayedWidget.length=0;this._layoutRestorer=t;const a=await t.fetch();const{mainArea:l,downArea:d,leftArea:c,rightArea:h,topArea:u,relativeSizes:p}=a;if(l){const{currentWidget:t,dock:n}=l;if(n&&e==="multiple-document"){this._dockPanel.restoreLayout(n)}if(e){this.mode=e}if(t){this.activateById(t.id)}}else{if(e){this.mode=e}}if((u===null||u===void 0?void 0:u.simpleVisibility)!==undefined){this._topHandlerHiddenByUser=!u.simpleVisibility;if(this.mode==="single-document"){this._topHandler.panel.setHidden(this._topHandlerHiddenByUser)}}if(d){const{currentWidget:e,widgets:t,size:n}=d;const i=(o=t===null||t===void 0?void 0:t.map((e=>e.id)))!==null&&o!==void 0?o:[];this._downPanel.tabBar.titles.filter((e=>!i.includes(e.owner.id))).map((e=>e.owner.close()));const s=this._downPanel.tabBar.titles.map((e=>e.owner.id));t===null||t===void 0?void 0:t.filter((e=>!s.includes(e.id))).map((e=>this._downPanel.addWidget(e)));while(!I.ArrayExt.shallowEqual(i,this._downPanel.tabBar.titles.map((e=>e.owner.id)))){this._downPanel.tabBar.titles.forEach(((e,t)=>{const n=i.findIndex((t=>e.owner.id==t));if(n>=0&&n!=t){this._downPanel.tabBar.insertTab(n,e)}}))}if(e){const t=this._downPanel.stackedPanel.widgets.findIndex((t=>t.id===e.id));if(t){this._downPanel.currentIndex=t;(r=this._downPanel.currentWidget)===null||r===void 0?void 0:r.activate()}}if(n&&n>0){this._vsplitPanel.setRelativeSizes([1-n,n])}else{this._downPanel.stackedPanel.widgets.forEach((e=>e.close()));this._downPanel.hide()}}if(c){this._leftHandler.rehydrate(c)}else{if(e==="single-document"){this.collapseLeft()}}if(h){this._rightHandler.rehydrate(h)}else{if(e==="single-document"){this.collapseRight()}}if(p){this._hsplitPanel.setRelativeSizes(p)}if(!this._isRestored){T.MessageLoop.flush();this._restored.resolve(a)}}saveLayout(){const e={mainArea:{currentWidget:this._tracker.currentWidget,dock:this.mode==="single-document"?this._cachedLayout||this._dockPanel.saveLayout():this._dockPanel.saveLayout()},downArea:{currentWidget:this._downPanel.currentWidget,widgets:Array.from(this._downPanel.stackedPanel.widgets),size:this._vsplitPanel.relativeSizes()[1]},leftArea:this._leftHandler.dehydrate(),rightArea:this._rightHandler.dehydrate(),topArea:{simpleVisibility:!this._topHandlerHiddenByUser},relativeSizes:this._hsplitPanel.relativeSizes()};return e}toggleTopInSimpleModeVisibility(){if(this.mode==="single-document"){if(this._topHandler.panel.isVisible){this._topHandlerHiddenByUser=true;this._topHandler.panel.hide()}else{this._topHandlerHiddenByUser=false;this._topHandler.panel.show();this._updateTitlePanelTitle()}this._onLayoutModified()}}toggleSideTabBarVisibility(e){if(e==="right"){if(this._rightHandler.isVisible){this._rightHandler.hide()}else{this._rightHandler.show()}}else{if(this._leftHandler.isVisible){this._leftHandler.hide()}else{this._leftHandler.show()}}}updateConfig(e){if(e.hiddenMode){switch(e.hiddenMode){case"display":this._dockPanel.hiddenMode=M.Widget.HiddenMode.Display;break;case"scale":this._dockPanel.hiddenMode=M.Widget.HiddenMode.Scale;break;case"contentVisibility":this._dockPanel.hiddenMode=M.Widget.HiddenMode.ContentVisibility;break}}}widgets(e){switch(e!==null&&e!==void 0?e:"main"){case"main":return this._dockPanel.widgets();case"left":return(0,I.map)(this._leftHandler.sideBar.titles,(e=>e.owner));case"right":return(0,I.map)(this._rightHandler.sideBar.titles,(e=>e.owner));case"header":return this._headerPanel.children();case"top":return this._topHandler.panel.children();case"menu":return this._menuHandler.panel.children();case"bottom":return this._bottomPanel.children();default:throw new Error(`Invalid area: ${e}`)}}onAfterAttach(e){this.node.dataset.shellMode=this.mode}_updateTitlePanelTitle(){let e=this.currentWidget;const t=this._titleHandler.inputElement;t.value=e?e.title.label:"";t.title=e?e.title.caption:""}_updateCurrentPath(){let e=this.currentWidget;let t="";if(e&&e instanceof a.DocumentWidget){t=e.context.path}this._currentPathChanged.emit({newValue:t,oldValue:this._currentPath});this._currentPath=t}_addToLeftArea(e,t){if(!e.id){console.error("Widgets added to app shell must have unique id property.");return}t=t||this._sideOptionsCache.get(e)||{};this._sideOptionsCache.set(e,t);const n="rank"in t?t.rank:R;this._leftHandler.addWidget(e,n);this._onLayoutModified()}_addToMainArea(e,t){if(!e.id){console.error("Widgets added to app shell must have unique id property.");return}t=t||{};const n=this._dockPanel;const i=t.mode||"tab-after";let s=this.currentWidget;if(t.ref){s=(0,I.find)(n.widgets(),(e=>e.id===t.ref))||null}const{title:o}=e;o.dataset={...o.dataset,id:e.id};if(o.icon instanceof d.LabIcon){o.icon=o.icon.bindprops({stylesheet:"mainAreaTab"})}else if(typeof o.icon==="string"||!o.icon){o.iconClass=(0,d.classes)(o.iconClass,"jp-Icon")}n.addWidget(e,{mode:i,ref:s});if(n.mode==="single-document"){this._mainOptionsCache.set(e,t)}if(t.activate!==false){n.activateWidget(e)}}_addToRightArea(e,t){if(!e.id){console.error("Widgets added to app shell must have unique id property.");return}t=t||this._sideOptionsCache.get(e)||{};const n="rank"in t?t.rank:R;this._sideOptionsCache.set(e,t);this._rightHandler.addWidget(e,n);this._onLayoutModified()}_addToTopArea(e,t){var n;if(!e.id){console.error("Widgets added to app shell must have unique id property.");return}t=t||{};const i=(n=t.rank)!==null&&n!==void 0?n:R;this._topHandler.addWidget(e,i);this._onLayoutModified();if(this._topHandler.panel.isHidden){this._topHandler.panel.show()}}_addToMenuArea(e,t){var n;if(!e.id){console.error("Widgets added to app shell must have unique id property.");return}t=t||{};const i=(n=t.rank)!==null&&n!==void 0?n:R;this._menuHandler.addWidget(e,i);this._onLayoutModified();if(this._menuHandler.panel.isHidden){this._menuHandler.panel.show()}}_addToHeaderArea(e,t){if(!e.id){console.error("Widgets added to app shell must have unique id property.");return}this._headerPanel.addWidget(e);this._onLayoutModified();if(this._headerPanel.isHidden){this._headerPanel.show()}}_addToBottomArea(e,t){if(!e.id){console.error("Widgets added to app shell must have unique id property.");return}this._bottomPanel.addWidget(e);this._onLayoutModified();if(this._bottomPanel.isHidden){this._bottomPanel.show()}}_addToDownArea(e,t){if(!e.id){console.error("Widgets added to app shell must have unique id property.");return}t=t||{};const{title:n}=e;n.dataset={...n.dataset,id:e.id};if(n.icon instanceof d.LabIcon){n.icon=n.icon.bindprops({stylesheet:"mainAreaTab"})}else if(typeof n.icon==="string"||!n.icon){n.iconClass=(0,d.classes)(n.iconClass,"jp-Icon")}this._downPanel.addWidget(e);this._onLayoutModified();if(this._downPanel.isHidden){this._downPanel.show()}}_adjacentBar(e){const t=this._currentTabBar();if(!t){return null}const n=Array.from(this._dockPanel.tabBars());const i=n.length;const s=n.indexOf(t);if(e==="previous"){return s>0?n[s-1]:s===0?n[i-1]:null}return s<i-1?n[s+1]:s===i-1?n[0]:null}_currentTabBar(){const e=this._tracker.currentWidget;if(!e){return null}const t=e.title;const n=this._dockPanel.tabBars();return(0,I.find)(n,(e=>e.titles.indexOf(t)>-1))||null}_onActiveChanged(e,t){if(t.newValue){t.newValue.title.className+=` ${L}`}if(t.oldValue){t.oldValue.title.className=t.oldValue.title.className.replace(L,"")}this._activeChanged.emit(t)}_onCurrentChanged(e,t){if(t.newValue){t.newValue.title.className+=` ${P}`}if(t.oldValue){t.oldValue.title.className=t.oldValue.title.className.replace(P,"")}this._currentChanged.emit(t);this._onLayoutModified()}_onTabPanelChanged(){if(this._downPanel.stackedPanel.widgets.length===0){this._downPanel.hide()}this._onLayoutModified()}_onLayoutModified(){void this._layoutDebouncer.invoke()}}var F;(function(e){function t(e,t){return e.rank-t.rank}e.itemCmp=t;function n(e,t){if(!t){return}if(t.type==="tab-area"){t.widgets=t.widgets.filter((t=>!t.isDisposed&&t.parent===e));return}t.children.forEach((t=>{n(e,t)}))}e.normalizeAreaConfig=n;class i{constructor(){this._panelChildHook=(e,t)=>{switch(t.type){case"child-added":{const e=t.child;if(this._items.find((t=>t.widget===e))){break}const n=this._items[this._items.length-1].rank;this._items.push({widget:e,rank:n})}break;case"child-removed":{const e=t.child;I.ArrayExt.removeFirstWhere(this._items,(t=>t.widget===e))}break;default:break}return true};this._items=new Array;this._panel=new M.Panel;T.MessageLoop.installMessageHook(this._panel,this._panelChildHook)}get panel(){return this._panel}addWidget(t,n){t.parent=null;const i={widget:t,rank:n};const s=I.ArrayExt.upperBound(this._items,i,e.itemCmp);I.ArrayExt.insert(this._items,s,i);this._panel.insertWidget(s,t)}}e.PanelHandler=i;class s{constructor(){this._isHiddenByUser=false;this._items=new Array;this._updated=new u.Signal(this);this._sideBar=new M.TabBar({insertBehavior:"none",removeBehavior:"none",allowDeselect:true,orientation:"vertical"});this._stackedPanel=new M.StackedPanel;this._sideBar.hide();this._stackedPanel.hide();this._lastCurrent=null;this._sideBar.currentChanged.connect(this._onCurrentChanged,this);this._sideBar.tabActivateRequested.connect(this._onTabActivateRequested,this);this._stackedPanel.widgetRemoved.connect(this._onWidgetRemoved,this)}get isVisible(){return this._sideBar.isVisible}get sideBar(){return this._sideBar}get stackedPanel(){return this._stackedPanel}get updated(){return this._updated}_onHandleMoved(){return this._refreshVisibility()}_onExpansionToggle(e,t){return this._refreshVisibility()}expand(){const e=this._lastCurrent||this._items.length>0&&this._items[0].widget;if(e){this.activate(e.id)}}activate(e){const t=this._findWidgetByID(e);if(t){this._sideBar.currentTitle=t.title;t.activate()}}has(e){return this._findWidgetByID(e)!==null}collapse(){this._sideBar.currentTitle=null}addWidget(e,t){var n,i,s,o;e.parent=null;e.hide();const r={widget:e,rank:t};const a=this._findInsertIndex(r);I.ArrayExt.insert(this._items,a,r);this._stackedPanel.insertWidget(a,e);const l=this._sideBar.insertTab(a,e.title);l.dataset={id:e.id};if(l.icon instanceof d.LabIcon){l.icon=l.icon.bindprops({stylesheet:"sideBar"})}else if(typeof l.icon==="string"&&l.icon!=""){l.iconClass=(0,d.classes)(l.iconClass,"jp-Icon","jp-Icon-20")}else if(!l.icon&&!l.label){l.icon=d.tabIcon.bindprops({stylesheet:"sideBar"})}(i=(n=e.content)===null||n===void 0?void 0:n.expansionToggled)===null||i===void 0?void 0:i.connect(this._onExpansionToggle,this);(o=(s=e.content)===null||s===void 0?void 0:s.handleMoved)===null||o===void 0?void 0:o.connect(this._onHandleMoved,this);this._refreshVisibility()}dehydrate(){const e=this._sideBar.currentTitle===null;const t=Array.from(this._stackedPanel.widgets);const n=t[this._sideBar.currentIndex];const i={};this._stackedPanel.widgets.forEach((e=>{if(e.id&&e.content instanceof M.SplitPanel){i[e.id]={sizes:e.content.relativeSizes(),expansionStates:e.content.widgets.map((e=>e.isVisible))}}}));return{collapsed:e,currentWidget:n,visible:!this._isHiddenByUser,widgets:t,widgetStates:i}}rehydrate(e){if(e.currentWidget){this.activate(e.currentWidget.id)}if(e.collapsed){this.collapse()}if(!e.visible){this.hide()}if(e.widgetStates){this._stackedPanel.widgets.forEach((t=>{var n;if(t.id&&t.content instanceof M.SplitPanel){const i=(n=e.widgetStates[t.id])!==null&&n!==void 0?n:{};t.content.widgets.forEach(((e,n)=>{var s;const o=((s=i.expansionStates)!==null&&s!==void 0?s:[])[n];if(typeof o==="boolean"&&t.content instanceof M.AccordionPanel){o?t.content.expand(n):t.content.collapse(n)}}));if(i.sizes){t.content.setRelativeSizes(i.sizes)}}}))}}hide(){this._isHiddenByUser=true;this._refreshVisibility()}show(){this._isHiddenByUser=false;this._refreshVisibility()}_findInsertIndex(t){return I.ArrayExt.upperBound(this._items,t,e.itemCmp)}_findWidgetIndex(e){return I.ArrayExt.findFirstIndex(this._items,(t=>t.widget===e))}_findWidgetByTitle(e){const t=(0,I.find)(this._items,(t=>t.widget.title===e));return t?t.widget:null}_findWidgetByID(e){const t=(0,I.find)(this._items,(t=>t.widget.id===e));return t?t.widget:null}_refreshVisibility(){this._stackedPanel.setHidden(this._sideBar.currentTitle===null);this._sideBar.setHidden(this._isHiddenByUser||this._sideBar.titles.length===0);this._updated.emit()}_onCurrentChanged(e,t){const n=t.previousTitle?this._findWidgetByTitle(t.previousTitle):null;const i=t.currentTitle?this._findWidgetByTitle(t.currentTitle):null;if(n){n.hide()}if(i){i.show()}this._lastCurrent=i||n;this._refreshVisibility()}_onTabActivateRequested(e,t){t.title.owner.activate()}_onWidgetRemoved(e,t){if(t===this._lastCurrent){this._lastCurrent=null}I.ArrayExt.removeAt(this._items,this._findWidgetIndex(t));this._sideBar.removeTab(t.title);this._refreshVisibility()}}e.SideBarHandler=s;class o extends M.Widget{constructor(e){super();this.addClass("jp-skiplink");this.id="jp-skiplink";this._shell=e;this._createSkipLink("Skip to main panel","main")}handleEvent(e){var t,n;switch(e.type){case"click":if(e.target instanceof HTMLElement){this._shell.activateArea((n=(t=e.target)===null||t===void 0?void 0:t.dataset)===null||n===void 0?void 0:n.targetarea)}break}}onAfterAttach(e){super.onAfterAttach(e);this.node.addEventListener("click",this)}onBeforeDetach(e){this.node.removeEventListener("click",this);super.onBeforeDetach(e)}_createSkipLink(e,t){const n=document.createElement("a");n.href="#";n.tabIndex=0;n.text=e;n.className="skip-link";n.dataset["targetarea"]=t;this.node.appendChild(n)}}e.SkipLinkWidget=o;class r extends M.Widget{constructor(e){super();this._selected=false;const t=document.createElement("input");t.type="text";this.node.appendChild(t);this._shell=e;this.id="jp-title-panel-title"}onAfterAttach(e){super.onAfterAttach(e);this.inputElement.addEventListener("keyup",this);this.inputElement.addEventListener("click",this);this.inputElement.addEventListener("blur",this)}onBeforeDetach(e){super.onBeforeDetach(e);this.inputElement.removeEventListener("keyup",this);this.inputElement.removeEventListener("click",this);this.inputElement.removeEventListener("blur",this)}handleEvent(e){switch(e.type){case"keyup":void this._evtKeyUp(e);break;case"click":this._evtClick(e);break;case"blur":this._selected=false;break}}async _evtKeyUp(e){if(e.key=="Enter"){const e=this._shell.currentWidget;if(e==null){return}const t=e.title.label;const n=this.inputElement;const i=n.value;n.blur();if(i!==t){e.title.label=i}else{n.value=t}}}_evtClick(e){if(e.button!==0||this._selected){return}const t=this.inputElement;e.preventDefault();e.stopPropagation();this._selected=true;const n=t.value.indexOf(".");if(n===-1){t.select()}else{t.setSelectionRange(0,n)}}get inputElement(){return this.node.children[0]}}e.TitleHandler=r;class a extends M.SplitPanel{constructor(e={}){super(e);this._updated=new u.Signal(this)}get updated(){return this._updated}onUpdateRequest(e){super.onUpdateRequest(e);this._updated.emit()}}e.RestorableSplitPanel=a})(F||(F={}));var z=n(90044);class W{constructor(e){this._busyCount=0;this._dirtyCount=0;this._busySignal=new u.Signal(e);this._dirtySignal=new u.Signal(e)}get busySignal(){return this._busySignal}get dirtySignal(){return this._dirtySignal}get isBusy(){return this._busyCount>0}get isDirty(){return this._dirtyCount>0}setDirty(){const e=this.isDirty;this._dirtyCount++;if(this.isDirty!==e){this._dirtySignal.emit(this.isDirty)}return new z.DisposableDelegate((()=>{const e=this.isDirty;this._dirtyCount=Math.max(0,this._dirtyCount-1);if(this.isDirty!==e){this._dirtySignal.emit(this.isDirty)}}))}setBusy(){const e=this.isBusy;this._busyCount++;if(this.isBusy!==e){this._busySignal.emit(this.isBusy)}return new z.DisposableDelegate((()=>{const e=this.isBusy;this._busyCount--;if(this.isBusy!==e){this._busySignal.emit(this.isBusy)}}))}}class H extends p{constructor(e={shell:new O}){super({...e,shell:e.shell||new O,serviceManager:e.serviceManager||new l.ServiceManager({standby:()=>!this._info.isConnected||"when-hidden"})});this.name=f.PageConfig.getOption("appName")||"JupyterLab";this.namespace=f.PageConfig.getOption("appNamespace")||this.name;this.registerPluginErrors=[];this.status=new W(this);this.version=f.PageConfig.getOption("appVersion")||"unknown";this._allPluginsActivated=new h.PromiseDelegate;this._info=new H.Info(e);this.restored=this.shell.restored.then((async()=>{const e=[];const t=this.activateDeferredPlugins().catch((e=>{console.error("Error when activating deferred plugins\n:",e)}));e.push(t);if(this._info.deferred){const t=Promise.all(this._info.deferred.matches.map((e=>this.activatePlugin(e)))).catch((e=>{console.error("Error when activating customized list of deferred plugins:\n",e)}));e.push(t)}Promise.all(e).then((()=>{this._allPluginsActivated.resolve()})).catch((()=>undefined))})).catch((()=>undefined));const t=H.defaultPaths.urls;const n=H.defaultPaths.directories;const i=e.paths&&e.paths.urls||{};const s=e.paths&&e.paths.directories||{};this._paths={urls:Object.keys(t).reduce(((e,n)=>{if(n in i){const t=i[n];e[n]=t}else{e[n]=t[n]}return e}),{}),directories:Object.keys(H.defaultPaths.directories).reduce(((e,t)=>{if(t in s){const n=s[t];e[t]=n}else{e[t]=n[t]}return e}),{})};if(this._info.devMode){this.shell.addClass("jp-mod-devMode")}this.docRegistry.addModelFactory(new a.Base64ModelFactory);if(e.mimeExtensions){for(const t of S(e.mimeExtensions)){this.registerPlugin(t)}}}get info(){return this._info}get paths(){return this._paths}get allPluginsActivated(){return this._allPluginsActivated.promise}registerPluginModule(e){let t=e.default;if(!e.hasOwnProperty("__esModule")){t=e}if(!Array.isArray(t)){t=[t]}t.forEach((e=>{try{this.registerPlugin(e)}catch(t){this.registerPluginErrors.push(t)}}))}registerPluginModules(e){e.forEach((e=>{this.registerPluginModule(e)}))}evtKeydown(e){const t=new h.PromiseDelegate;this.commands.holdKeyBindingExecution(e,t.promise);this.commands.processKeydownEvent(e);const n=e.target;if(!n){return t.resolve(true)}let i=null;let s=null;const o=()=>{if(i){n.removeEventListener("beforeinput",i)}if(s){n.removeEventListener("keyup",s)}};const r=Promise.race([new Promise((e=>{i=t=>{switch(t.inputType){case"historyUndo":case"historyRedo":{if(t.target instanceof Element&&t.target.closest("[data-jp-undoer]")){t.preventDefault();o();return e(false)}break}case"insertLineBreak":{if(t.target instanceof Element&&t.target.closest(".jp-Cell")){t.preventDefault();o();return e(false)}break}}o();return e(true)};n.addEventListener("beforeinput",i,{once:true})})),new Promise((t=>{s=n=>{if(n.code===e.code){o();return t(false)}};n.addEventListener("keyup",s,{once:true})})),new Promise((e=>{setTimeout((()=>{o();return e(false)}),V.INPUT_GUARD_TIMEOUT)}))]);r.then((e=>{t.resolve(!e)})).catch(console.warn)}}(function(e){e.IInfo=new h.Token("@jupyterlab/application:IInfo","A service providing metadata about the current application, including disabled extensions and whether dev mode is enabled.");class t{constructor({connectionStatus:t,...n}={}){var i,s,o,r,a,d,c;this._connectionStatus=t!==null&&t!==void 0?t:new l.ConnectionStatus;this._availablePlugins=(i=n.availablePlugins)!==null&&i!==void 0?i:e.defaultInfo.availablePlugins;this._devMode=(s=n.devMode)!==null&&s!==void 0?s:e.defaultInfo.devMode;this._deferred=JSON.parse(JSON.stringify((o=n.deferred)!==null&&o!==void 0?o:e.defaultInfo.deferred));this._disabled=JSON.parse(JSON.stringify((r=n.disabled)!==null&&r!==void 0?r:e.defaultInfo.disabled));this._filesCached=(a=n.filesCached)!==null&&a!==void 0?a:e.defaultInfo.filesCached;this._mimeExtensions=JSON.parse(JSON.stringify((d=n.mimeExtensions)!==null&&d!==void 0?d:e.defaultInfo.mimeExtensions));this.isConnected=(c=n.isConnected)!==null&&c!==void 0?c:e.defaultInfo.isConnected}get availablePlugins(){return this._availablePlugins}get devMode(){return this._devMode}get deferred(){return this._deferred}get disabled(){return this._disabled}get filesCached(){return this._filesCached}get isConnected(){return this._connectionStatus.isConnected}set isConnected(e){this._connectionStatus.isConnected=e}get mimeExtensions(){return this._mimeExtensions}}e.Info=t;e.defaultInfo={devMode:f.PageConfig.getOption("devMode").toLowerCase()==="true",deferred:{patterns:[],matches:[]},disabled:{patterns:[],matches:[]},mimeExtensions:[],availablePlugins:[],filesCached:f.PageConfig.getOption("cacheFiles").toLowerCase()==="true",isConnected:true};e.defaultPaths={urls:{base:f.PageConfig.getOption("baseUrl"),notFound:f.PageConfig.getOption("notFoundUrl"),app:f.PageConfig.getOption("appUrl"),doc:f.PageConfig.getOption("docUrl"),static:f.PageConfig.getOption("staticUrl"),settings:f.PageConfig.getOption("settingsUrl"),themes:f.PageConfig.getOption("themesUrl"),translations:f.PageConfig.getOption("translationsApiUrl"),hubHost:f.PageConfig.getOption("hubHost")||undefined,hubPrefix:f.PageConfig.getOption("hubPrefix")||undefined,hubUser:f.PageConfig.getOption("hubUser")||undefined,hubServerName:f.PageConfig.getOption("hubServerName")||undefined},directories:{appSettings:f.PageConfig.getOption("appSettingsDir"),schemas:f.PageConfig.getOption("schemasDir"),static:f.PageConfig.getOption("staticDir"),templates:f.PageConfig.getOption("templatesDir"),themes:f.PageConfig.getOption("themesDir"),userSettings:f.PageConfig.getOption("userSettingsDir"),serverRoot:f.PageConfig.getOption("serverRoot"),workspaces:f.PageConfig.getOption("workspacesDir")}}})(H||(H={}));var V;(function(e){e.INPUT_GUARD_TIMEOUT=10})(V||(V={}));class U{constructor(e){this.stop=new h.Token("@jupyterlab/application:Router#stop");this._routed=new u.Signal(this);this._rules=new Map;this.base=e.base;this.commands=e.commands}get current(){var e,t;const{base:n}=this;const i=f.URLExt.parse(window.location.href);const{search:s,hash:o}=i;const r=(t=(e=i.pathname)===null||e===void 0?void 0:e.replace(n,"/"))!==null&&t!==void 0?t:"";const a=r+s+o;return{hash:o,path:r,request:a,search:s}}get routed(){return this._routed}navigate(e,t={}){const{base:n}=this;const{history:i}=window;const{hard:s}=t;const o=document.location.href;const r=e&&e.indexOf(n)===0?e:f.URLExt.join(n,e);if(r===o){return s?this.reload():undefined}i.pushState({},"",r);if(s){return this.reload()}if(!t.skipRouting){requestAnimationFrame((()=>{void this.route()}))}}register(e){var t;const{command:n,pattern:i}=e;const s=(t=e.rank)!==null&&t!==void 0?t:100;const o=this._rules;o.set(i,{command:n,rank:s});return new z.DisposableDelegate((()=>{o.delete(i)}))}reload(){window.location.reload()}route(){const{commands:e,current:t,stop:n}=this;const{request:i}=t;const s=this._routed;const o=this._rules;const r=[];o.forEach(((e,t)=>{if(i===null||i===void 0?void 0:i.match(t)){r.push(e)}}));const a=r.sort(((e,t)=>t.rank-e.rank));const l=new h.PromiseDelegate;const d=async()=>{if(!a.length){s.emit(t);l.resolve(undefined);return}const{command:o}=a.pop();try{const i=this.current.request;const s=await e.execute(o,t);if(s===n){a.length=0;console.debug(`Routing ${i} was short-circuited by ${o}`)}}catch(r){console.warn(`Routing ${i} to ${o} failed`,r)}void d()};void d();return l.promise}}const q=new h.Token("@jupyterlab/application:IConnectionLost",`A service for invoking the dialog shown\n when JupyterLab has lost its connection to the server. Use this if, for some reason,\n you want to bring up the "connection lost" dialog under new circumstances.`);const $=new h.Token("@jupyterlab/application:ILabStatus",`A service for interacting with the application busy/dirty\n status. Use this if you want to set the application "busy" favicon, or to set\n the application "dirty" status, which asks the user for confirmation before leaving the application page.`);const K=new h.Token("@jupyterlab/application:IRouter","The URL router used by the application. Use this to add custom URL-routing for your extension (e.g., to invoke a command if the user navigates to a sub-path).");const J=new h.Token("@jupyterlab/application:ITreePathUpdater","A service to update the tree path.");function G(e){const{id:t,commands:n,shell:i,semanticCommands:o,default:r,overrides:a,trans:l}=e;n.addCommand(t,{...Y({commands:n,shell:i},o,r!==null&&r!==void 0?r:{},l!==null&&l!==void 0?l:s.nullTranslator.load("jupyterlab")),...a});const d=Array.isArray(o)?o:[o];const c=(e,n)=>{if(n.id){if(n.id===t&&n.type==="removed"){e.commandChanged.disconnect(c)}else{const i=d.reduce(((e,t)=>e.concat(t.ids)),[]);if(i.includes(n.id)){switch(n.type){case"changed":case"many-changed":e.notifyCommandChanged(t);break;case"removed":for(const e of d){e.remove(n.id)}break}}}}};n.commandChanged.connect(c)}function Y(e,t,n,s){const{commands:o,shell:r}=e;const a=Array.isArray(t)?t:[t];return{label:d("label"),caption:d("caption"),isEnabled:()=>{var e;const t=l("isEnabled");return t.length>0&&!t.some((e=>e===false))||((e=n.isEnabled)!==null&&e!==void 0?e:false)},isToggled:()=>{var e;const t=l("isToggled");return t.some((e=>e===true))||((e=n.isToggled)!==null&&e!==void 0?e:false)},isVisible:()=>{var e;const t=l("isVisible");return t.length>0&&!t.some((e=>e===false))||((e=n.isVisible)!==null&&e!==void 0?e:true)},execute:async()=>{const e=r.currentWidget;const t=a.map((t=>e!==null?t.getActiveCommandId(e):null));const s=t.filter((e=>e!==null&&o.isEnabled(e)));let l=null;if(s.length>0){for(const t of s){const n={[i.SemanticCommand.WIDGET]:e.id};l=await o.execute(t,n);if(typeof l==="boolean"&&l===false){break}}}else if(n.execute){l=await o.execute(n.execute)}return l}};function l(e){const t=r.currentWidget;const n=a.map((e=>t!==null?e.getActiveCommandId(t):null));const i=n.filter((e=>e!==null)).map((t=>o[e](t)));return i}function d(e){return()=>{var t;const i=l(e).map(((t,n)=>e=="caption"&&n>0?t.toLocaleLowerCase():t));switch(i.length){case 0:return(t=n[e])!==null&&t!==void 0?t:"";case 1:return i[0];default:{const e=i.some((e=>/…$/.test(e)));const t=i.slice(undefined,-1).map((e=>e.replace(/…$/,""))).join(", ");const n=i.slice(-1)[0].replace(/…$/,"")+(e?"…":"");return s.__("%1 and %2",t,n)}}}}}},3579:(e,t,n)=>{"use strict";var i=n(2898);var s=n(40244);var o=n(10395);var r=n(40662);var a=n(97913);var l=n(79010);var d=n(85072);var c=n.n(d);var h=n(97825);var u=n.n(h);var p=n(77659);var m=n.n(p);var g=n(55056);var f=n.n(g);var v=n(10540);var _=n.n(v);var b=n(41113);var y=n.n(b);var w=n(30966);var C={};C.styleTagTransform=y();C.setAttributes=f();C.insert=m().bind(null,"head");C.domAPI=u();C.insertStyleElement=_();var x=c()(w.A,C);const S=w.A&&w.A.locals?w.A.locals:undefined},97472:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>De,kernelSettings:()=>Ee,toggleHeader:()=>xe});var i=n(88617);var s=n(38850);var o=n(40959);var r=n(93067);var a=n(40065);var l=n(78629);var d=n(34881);var c=n(4073);var h=n(5592);var u=n(90044);var p=n(26568);var m=n(49278);const g="help:open";const f="/lab/api/news";const v="/lab/api/update";const _="https://jupyterlab.readthedocs.io/en/stable/privacy_policies.html";async function b(e,t={},n){const i=n!==null&&n!==void 0?n:m.ServerConnection.makeSettings();const s=o.URLExt.join(i.baseUrl,e);let r;try{r=await m.ServerConnection.makeRequest(s,t,i)}catch(l){throw new m.ServerConnection.NetworkError(l)}const a=await r.json();if(!r.ok){throw new m.ServerConnection.ResponseError(r,a.message)}return a}const y={id:"@jupyterlab/apputils-extension:announcements",description:"Add the announcement feature. It will fetch news on the internet and check for application updates.",autoStart:true,optional:[m.IConfigSectionManager,a.ISettingRegistry,d.ITranslator],activate:(e,t,n,i)=>{var o,r;const a=y.id.replace(/[^\w]/g,"");void Promise.all([e.restored,(o=n===null||n===void 0?void 0:n.load("@jupyterlab/apputils-extension:notification"))!==null&&o!==void 0?o:Promise.resolve(null),(r=t===null||t===void 0?void 0:t.create({name:a}))!==null&&r!==void 0?r:Promise.resolve(null)]).then((async([t,n,o])=>{const r=(i!==null&&i!==void 0?i:d.nullTranslator).load("jupyterlab");s.Notification.manager.changed.connect(((e,t)=>{var n;if(t.type!=="removed"){return}const{id:i,tags:s}=(n=t.notification.options.data)!==null&&n!==void 0?n:{};if((s!==null&&s!==void 0?s:[]).some((e=>["news","update"].includes(e)))&&i){const e={};e[i]={seen:true,dismissed:true};o===null||o===void 0?void 0:o.update(e).catch((e=>{console.error(`Failed to update the announcements config:\n${e}`)}))}}));const a=n===null||n===void 0?void 0:n.get("fetchNews").composite;if(a==="none"){const t=s.Notification.emit(r.__("Would you like to get notified about official Jupyter news?"),"default",{autoClose:false,actions:[{label:r.__("Open privacy policy"),caption:_,callback:t=>{t.preventDefault();if(e.commands.hasCommand(g)){void e.commands.execute(g,{text:r.__("Privacy policies"),url:_})}else{window.open(_,"_blank","noreferrer")}},displayType:"link"},{label:r.__("Yes"),callback:()=>{s.Notification.dismiss(t);o===null||o===void 0?void 0:o.update({}).then((()=>l())).catch((e=>{console.error(`Failed to get the news:\n${e}`)}));n===null||n===void 0?void 0:n.set("fetchNews","true").catch((e=>{console.error(`Failed to save setting 'fetchNews':\n${e}`)}))}},{label:r.__("No"),callback:()=>{s.Notification.dismiss(t);n===null||n===void 0?void 0:n.set("fetchNews","false").catch((e=>{console.error(`Failed to save setting 'fetchNews':\n${e}`)}))}}]})}else{await l()}async function l(){var t,i,a,l;if(((t=n===null||n===void 0?void 0:n.get("fetchNews").composite)!==null&&t!==void 0?t:"false")==="true"){try{const t=await b(f,{},e.serviceManager.serverSettings);for(const{link:e,message:n,type:a,options:l}of t.news){const t=l.data["id"];const d=(i=o===null||o===void 0?void 0:o.data[t])!==null&&i!==void 0?i:{seen:false,dismissed:false};if(!d.dismissed){l.actions=[{label:r.__("Hide"),caption:r.__("Never show this notification again."),callback:()=>{const e={};e[t]={seen:true,dismissed:true};o===null||o===void 0?void 0:o.update(e).catch((e=>{console.error(`Failed to update the announcements config:\n${e}`)}))}}];if((e===null||e===void 0?void 0:e.length)===2){l.actions.push({label:e[0],caption:e[1],callback:()=>{window.open(e[1],"_blank","noreferrer")},displayType:"link"})}if(!d.seen){l.autoClose=5e3;const e={};e[t]={seen:true};o===null||o===void 0?void 0:o.update(e).catch((e=>{console.error(`Failed to update the announcements config:\n${e}`)}))}s.Notification.emit(n,a,l)}}}catch(d){console.log("Failed to get the announcements.",d)}}if((a=n===null||n===void 0?void 0:n.get("checkForUpdates").composite)!==null&&a!==void 0?a:true){const t=await b(v,{},e.serviceManager.serverSettings);if(t.notification){const{link:e,message:i,type:a,options:d}=t.notification;const c=d.data["id"];const h=(l=o===null||o===void 0?void 0:o.data[c])!==null&&l!==void 0?l:{seen:false,dismissed:false};if(!h.dismissed){let t;d.actions=[{label:r.__("Ignore all updates"),caption:r.__("Do not prompt me if a new JupyterLab version is available."),callback:()=>{n===null||n===void 0?void 0:n.set("checkForUpdates",false).then((()=>{s.Notification.dismiss(t)})).catch((e=>{console.error("Failed to set the `checkForUpdates` setting.",e)}))}}];if((e===null||e===void 0?void 0:e.length)===2){d.actions.push({label:e[0],caption:e[1],callback:()=>{window.open(e[1],"_blank","noreferrer")},displayType:"accent"})}if(!h.seen){d.autoClose=5e3;const e={};e[c]={seen:true};o===null||o===void 0?void 0:o.update(e).catch((e=>{console.error(`Failed to update the announcements config:\n${e}`)}))}t=s.Notification.emit(i,a,d)}}}}}))}};var w=n(89433);var C;(function(e){e.licenses="apputils:licenses";e.licenseReport="apputils:license-report";e.refreshLicenses="apputils:licenses-refresh"})(C||(C={}));const x={id:"@jupyterlab/apputils-extension:licenses-client",description:"The licenses client plugin for fetching licenses.",autoStart:true,provides:s.ILicensesClient,activate:e=>{const t=e.serviceManager.serverSettings;return new s.Licenses.LicensesClient({serverSettings:t})}};const S={id:"@jupyterlab/apputils-extension:licenses-plugin",description:"Adds licenses reporting tools.",requires:[s.ILicensesClient,d.ITranslator],optional:[i.ILayoutRestorer,w.IMainMenu,s.ICommandPalette],autoStart:true,activate:(e,t,n,i,r,a)=>{const{commands:l,shell:d}=e;const h=n.load("jupyterlab");const u=h.__("Help");const p=h.__("Download All Licenses as");const m=h.__("Refresh Licenses");const g="help-licenses";const f=new s.WidgetTracker({namespace:g});const v=h.__("Licenses");let _=0;function b(e){const n=new s.Licenses.Model({...e,client:t,trans:h});const i=new s.Licenses({model:n});i.id=`${g}-${++_}`;i.title.label=v;i.title.icon=c.copyrightIcon;const o=new s.MainAreaWidget({content:i,reveal:n.licensesReady});o.toolbar.addItem("refresh-licenses",new c.CommandToolbarButton({id:C.refreshLicenses,args:{noLabel:1},commands:l}));o.toolbar.addItem("spacer",c.Toolbar.createSpacerItem());for(const t of Object.keys(s.Licenses.REPORT_FORMATS)){const e=new c.CommandToolbarButton({id:C.licenseReport,args:{format:t,noLabel:1},commands:l});o.toolbar.addItem(`download-${t}`,e)}return o}function y(e){return s.Licenses.REPORT_FORMATS[e]||s.Licenses.REPORT_FORMATS[s.Licenses.DEFAULT_FORMAT]}l.addCommand(C.licenses,{label:v,describedBy:{args:{type:"object",properties:{}}},execute:e=>{if(!o.PageConfig.getOption("licensesUrl")){console.warn("No license API available from the server");return}const t=b(e);d.add(t,"main",{type:"Licenses"});void f.add(t);t.content.model.trackerDataChanged.connect((()=>{void f.save(t)}));return t}});l.addCommand(C.refreshLicenses,{label:e=>e.noLabel?"":m,caption:m,icon:c.refreshIcon,describedBy:{args:{type:"object",properties:{noLabel:{oneOf:[{type:"boolean"},{type:"number"}],description:"Whether to hide the label (truthy values hide label)"}}}},execute:async()=>{var e;return(e=f.currentWidget)===null||e===void 0?void 0:e.content.model.initLicenses()}});l.addCommand(C.licenseReport,{label:e=>{if(e.noLabel){return""}const t=y(`${e.format}`);return`${p} ${t.title}`},caption:e=>{const t=y(`${e.format}`);return`${p} ${t.title}`},icon:e=>{const t=y(`${e.format}`);return t.icon},describedBy:{args:{type:"object",properties:{format:{type:"string",description:h.__("The report format to use for download")},noLabel:{oneOf:[{type:"boolean"},{type:"number"}],description:"Whether to hide the label (truthy values hide label)"}},required:["format"]}},execute:async e=>{var t;const n=y(`${e.format}`);return await((t=f.currentWidget)===null||t===void 0?void 0:t.content.model.download({format:n.id}))}});if(a){a.addItem({command:C.licenses,category:u})}if(r){const e=r.helpMenu;e.addGroup([{command:C.licenses}],0)}if(i){void i.restore(f,{command:C.licenses,name:e=>"licenses",args:e=>{const{currentBundleName:t,currentPackageIndex:n,packageFilter:i}=e.content.model;const s={currentBundleName:t,currentPackageIndex:n,packageFilter:i};return s}})}}};var j=n(4625);var k=n(27518);var I=n(44914);var T=n(5338);const E="jp-Notification-Toast-Close";const M="jp-Notification-Toast-Close-Margin";const D=140;var A;(function(e){e.dismiss="apputils:dismiss-notification";e.display="apputils:display-notifications";e.notify="apputils:notify";e.update="apputils:update-notification"})(A||(A={}));const P=4;function L(e){const{manager:t,onClose:n,trans:i}=e;const[s,o]=I.useState([]);const[r,a]=I.useState(null);I.useEffect((()=>{async function e(){o(await Promise.all(t.notifications.map((async e=>Object.freeze({...e})))))}if(s.length!==t.count){void e()}t.changed.connect(e);return()=>{t.changed.disconnect(e)}}),[t]);I.useEffect((()=>{O.getIcons().then((e=>{a(e)})).catch((e=>{console.error(`Failed to get react-toastify icons:\n${e}`)}))}),[]);return I.createElement(c.UseSignal,{signal:t.changed},(()=>I.createElement(I.Fragment,null,I.createElement("h2",{className:"jp-Notification-Header jp-Toolbar"},I.createElement("span",{className:"jp-Toolbar-item"},t.count>0?i._n("%1 notification","%1 notifications",t.count):i.__("No notifications")),I.createElement("span",{className:"jp-Toolbar-item jp-Toolbar-spacer"}),I.createElement(c.ToolbarButtonComponent,{noFocusOnClick:false,onClick:()=>{t.dismiss()},icon:c.deleteIcon,tooltip:i.__("Dismiss all notifications"),enabled:t.count>0}),I.createElement(c.ToolbarButtonComponent,{noFocusOnClick:false,onClick:n,icon:c.closeIcon,tooltip:i.__("Hide notifications")})),I.createElement("ol",{className:"jp-Notification-List"},s.map((e=>{var n;const{id:s,message:o,type:a,options:l}=e;const d=a==="in-progress"?"default":a;const h=()=>{t.dismiss(s)};const u=a==="default"?null:a==="in-progress"?(n=r===null||r===void 0?void 0:r.spinner)!==null&&n!==void 0?n:null:r&&r[a];return I.createElement("li",{className:"jp-Notification-List-Item",key:e.id,onClick:e=>{e.stopPropagation()}},I.createElement("div",{className:`Toastify__toast Toastify__toast-theme--light Toastify__toast--${d} jp-Notification-Toast-${d}`},I.createElement("div",{className:"Toastify__toast-body"},u&&I.createElement("div",{className:"Toastify__toast-icon"},u({theme:"light",type:d})),I.createElement("div",null,O.createContent(o,h,l.actions))),I.createElement(O.CloseButton,{close:h,closeIcon:c.deleteIcon.react,title:i.__("Dismiss notification"),closeIconMargin:true})))}))))))}class R extends c.VDomModel{constructor(e){super();this.manager=e;this._highlight=false;this._listOpened=false;this._doNotDisturbMode=false;this._count=e.count;this.manager.changed.connect(this.onNotificationChanged,this)}get count(){return this._count}get doNotDisturbMode(){return this._doNotDisturbMode}set doNotDisturbMode(e){this._doNotDisturbMode=e}get highlight(){return this._highlight}get listOpened(){return this._listOpened}set listOpened(e){this._listOpened=e;if(this._listOpened||this._highlight){this._highlight=false}this.stateChanged.emit()}onNotificationChanged(e,t){this._count=this.manager.count;const{autoClose:n}=t.notification.options;const i=this.doNotDisturbMode||typeof n==="number"&&n<=0;if(!this._listOpened&&t.type!=="removed"&&i){this._highlight=true}this.stateChanged.emit()}}function N(e){return I.createElement(j.GroupItem,{role:"button",tabIndex:0,"aria-haspopup":true,spacing:P,onClick:()=>{e.onClick()},onKeyDown:t=>{if(t.key==="Enter"||t.key===" "){e.onClick()}},title:e.count>0?e.trans._n("%1 notification","%1 notifications",e.count):e.trans.__("No notifications")},I.createElement(j.TextItem,{className:"jp-Notification-Status-Text",source:`${e.count}`}),I.createElement(c.bellIcon.react,{top:"2px",stylesheet:"statusBar"}))}const B={id:"@jupyterlab/apputils-extension:notification",description:"Add the notification center and its status indicator.",autoStart:true,optional:[j.IStatusBar,a.ISettingRegistry,d.ITranslator],activate:(e,t,n,i)=>{O.translator=i!==null&&i!==void 0?i:d.nullTranslator;const o=O.translator.load("jupyterlab");const r=new R(s.Notification.manager);r.doNotDisturbMode=false;if(n){void Promise.all([n.load(B.id),e.restored]).then((([e])=>{const t=()=>{r.doNotDisturbMode=e.get("doNotDisturbMode").composite};t();e.changed.connect(t)}))}e.commands.addCommand(A.notify,{label:o.__("Emit a notification"),caption:o.__("Notification is described by {message: string, type?: string, options?: {autoClose?: number | false, actions: {label: string, commandId: string, args?: ReadOnlyJSONObject, caption?: string, className?: string}[], data?: ReadOnlyJSONValue}}."),describedBy:{args:{type:"object",properties:{message:{type:"string",description:"The notification message text"},type:{type:"string",description:'The notification type (e.g., "default", "info", "warning", "error")'},options:{type:"object",description:"Additional notification options",properties:{autoClose:{oneOf:[{type:"number"},{type:"boolean"}],description:"Auto-close timeout in milliseconds, or false to disable"},actions:{type:"array",description:"Array of action buttons for the notification",items:{type:"object",properties:{label:{type:"string",description:"The action button label"},commandId:{type:"string",description:"The command ID to execute when clicked"},args:{description:"Arguments to pass to the command"},caption:{type:"string",description:"The action button caption/tooltip"},className:{type:"string",description:"CSS class name for the action button"}},required:["label","commandId"]}},data:{description:"Additional data associated with the notification"}}}},required:["message"]}},execute:t=>{var n;const{message:i,type:o}=t;const r=(n=t.options)!==null&&n!==void 0?n:{};return s.Notification.manager.notify(i,o!==null&&o!==void 0?o:"default",{...r,actions:r.actions?r.actions.map((t=>({...t,callback:()=>{e.commands.execute(t.commandId,t.args).catch((e=>{console.error(`Failed to executed '${t.commandId}':\n${e}`)}))}}))):null})}});e.commands.addCommand(A.update,{label:o.__("Update a notification"),caption:o.__("Notification is described by {id: string, message: string, type?: string, options?: {autoClose?: number | false, actions: {label: string, commandId: string, args?: ReadOnlyJSONObject, caption?: string, className?: string}[], data?: ReadOnlyJSONValue}}."),describedBy:{args:{type:"object",properties:{id:{type:"string",description:"The notification ID to update"},message:{type:"string",description:"The notification message text"},type:{type:"string",description:'The notification type (e.g., "default", "info", "warning", "error")'},options:{type:"object",description:"Additional notification options",properties:{autoClose:{oneOf:[{type:"number"},{type:"boolean"}],description:"Auto-close timeout in milliseconds, or false to disable"},actions:{type:"array",description:"Array of action buttons for the notification",items:{type:"object",properties:{label:{type:"string",description:"The action button label"},commandId:{type:"string",description:"The command ID to execute when clicked"},args:{description:"Arguments to pass to the command"},caption:{type:"string",description:"The action button caption/tooltip"},className:{type:"string",description:"CSS class name for the action button"}},required:["label","commandId"]}},data:{description:"Additional data associated with the notification"}}}},required:["id","message"]}},execute:t=>{const{id:n,message:i,type:o,...r}=t;return s.Notification.manager.update({id:n,message:i,type:o!==null&&o!==void 0?o:"default",...r,actions:r.actions?r.actions.map((t=>({...t,callback:()=>{e.commands.execute(t.commandId,t.args).catch((e=>{console.error(`Failed to executed '${t.commandId}':\n${e}`)}))}}))):null})}});e.commands.addCommand(A.dismiss,{label:o.__("Dismiss a notification"),describedBy:{args:{type:"object",properties:{id:{type:"string",description:"The notification ID to dismiss"}},required:["id"]}},execute:e=>{const{id:t}=e;s.Notification.manager.dismiss(t)}});let a=null;r.listOpened=false;const l=s.ReactWidget.create(I.createElement(L,{manager:s.Notification.manager,onClose:()=>{a===null||a===void 0?void 0:a.dispose()},trans:o}));l.addClass("jp-Notification-Center");async function h(e,t){var n;if(r.doNotDisturbMode||a!==null&&!a.isDisposed){return}const{message:i,type:s,options:o,id:l}=t.notification;if(typeof o.autoClose==="number"&&o.autoClose<=0){return}switch(t.type){case"added":await O.createToast(l,i,s,o);break;case"updated":{const t=await O.toast();const r=o.actions;const a=(n=o.autoClose)!==null&&n!==void 0?n:r&&r.length>0?false:null;if(t.isActive(l)){const n=()=>{t.dismiss(l);e.dismiss(l)};t.update(l,{type:s==="in-progress"?null:s,isLoading:s==="in-progress",autoClose:a,render:O.createContent(i,n,o.actions)})}else{await O.createToast(l,i,s,o)}}break;case"removed":await O.toast().then((e=>{e.dismiss(l)}));break}}s.Notification.manager.changed.connect(h);const u=()=>{if(a){a.dispose();a=null}else{a=(0,j.showPopup)({body:l,anchor:p,align:"right",hasDynamicSize:true,startHidden:true});O.toast().then((e=>{e.dismiss()})).catch((e=>{console.error(`Failed to dismiss all toasts:\n${e}`)})).finally((()=>{a===null||a===void 0?void 0:a.launch();l.node.focus();a===null||a===void 0?void 0:a.disposed.connect((()=>{r.listOpened=false;a=null}))}))}r.listOpened=a!==null};e.commands.addCommand(A.display,{label:o.__("Show Notifications"),describedBy:{args:{type:"object",properties:{}}},execute:u});const p=s.ReactWidget.create(I.createElement(c.UseSignal,{signal:r.stateChanged},(()=>{if(r.highlight||a&&!a.isDisposed){p.addClass("jp-mod-selected")}else{p.removeClass("jp-mod-selected")}return I.createElement(N,{count:r.count,highlight:r.highlight,trans:o,onClick:u})})));p.addClass("jp-Notification-Status");if(t){t.registerStatusItem(B.id,{item:p,align:"right",rank:-1})}else{p.addClass("jp-ThemedContainer");p.node.style.position="fixed";p.node.style.bottom="0";p.node.style.right="10px";k.Widget.attach(p,document.body);p.show()}}};var O;(function(e){e.translator=d.nullTranslator;let t=null;function i(e){var t;return I.createElement("button",{className:`jp-Button jp-mod-minimal ${E}${e.closeIconMargin?` ${M}`:""}`,title:(t=e.title)!==null&&t!==void 0?t:"",onClick:e.close},I.createElement(e.closeIcon,{className:"jp-icon-hover",tag:"span"}))}e.CloseButton=i;function o(t){const n=e.translator.load("jupyterlab");return I.createElement(i,{close:t.closeToast,closeIcon:c.closeIcon.react,title:n.__("Hide notification")})}let r=null;async function a(){if(r===null){r=new h.PromiseDelegate}else{await r.promise}if(t===null){t=await n.e(1210).then(n.t.bind(n,91210,23));const e=document.body.appendChild(document.createElement("div"));e.id="react-toastify-container";e.classList.add("jp-ThemedContainer");const i=(0,T.H)(e);i.render(I.createElement(t.ToastContainer,{draggable:false,closeOnClick:false,hideProgressBar:true,newestOnTop:true,pauseOnFocusLoss:true,pauseOnHover:true,position:"bottom-right",className:"jp-toastContainer",transition:t.Slide,closeButton:o}));r.resolve()}return t.toast}e.toast=a;async function l(){if(t===null){await a()}return t.Icons}e.getIcons=l;const u={accent:"jp-mod-accept",link:"jp-mod-link",warn:"jp-mod-warn",default:""};function p({action:e,closeToast:t}){var n,i;const s=n=>{e.callback(n);if(!n.defaultPrevented){t()}};const o=["jp-toast-button",u[(n=e.displayType)!==null&&n!==void 0?n:"default"]].join(" ");return I.createElement(c.Button,{title:(i=e.caption)!==null&&i!==void 0?i:e.label,className:o,onClick:s,small:true},e.label)}function m(e,t,n){var i;const s=e.length>D?e.slice(0,D)+"…":e;return I.createElement(I.Fragment,null,I.createElement("div",{className:"jp-toast-message"},s.split("\n").map(((e,t)=>I.createElement(I.Fragment,{key:`part-${t}`},t>0?I.createElement("br",null):null,e)))),((i=n===null||n===void 0?void 0:n.length)!==null&&i!==void 0?i:0)>0&&I.createElement("div",{className:"jp-toast-buttonBar"},I.createElement("div",{className:"jp-toast-spacer"}),n.map(((e,n)=>I.createElement(p,{key:"button-"+n,action:e,closeToast:t})))))}e.createContent=m;async function g(e,t,n,i={}){const{actions:o,autoClose:r,data:l}=i;const d=await a();const c={autoClose:r!==null&&r!==void 0?r:o&&o.length>0?false:undefined,data:l,className:`jp-Notification-Toast-${n}`,toastId:e,type:n==="in-progress"?null:n,isLoading:n==="in-progress"};return d((({closeToast:n})=>m(t,(()=>{if(n)n();s.Notification.manager.dismiss(e)}),o)),c)}e.createToast=g})(O||(O={}));var F=n(34236);var z=n(93247);var W;(function(e){e.activate="apputils:activate-command-palette"})(W||(W={}));const H="@jupyterlab/apputils-extension:palette";class V{constructor(e,t){this.translator=t||d.nullTranslator;const n=this.translator.load("jupyterlab");this._palette=e;this._palette.title.label="";this._palette.title.caption=n.__("Command Palette")}set placeholder(e){this._palette.inputNode.placeholder=e}get placeholder(){return this._palette.inputNode.placeholder}activate(){this._palette.activate()}addItem(e){const t=this._palette.addItem(e);return new u.DisposableDelegate((()=>{this._palette.removeItem(t)}))}}(function(e){function t(t,n,i){const{commands:o,shell:r}=t;const a=n.load("jupyterlab");const l=U.createPalette(t,n);const d=new s.ModalCommandPalette({commandPalette:l,restore:()=>{const e=t.shell.currentWidget;if(e){e.activate()}}});let c=false;l.node.setAttribute("role","region");l.node.setAttribute("aria-label",a.__("Command Palette Section"));r.add(l,"left",{rank:300,type:"Command Palette"});if(i){const e=i.load(H);const n=e=>{const t=e.get("modal").composite;if(c&&!t){l.parent=null;d.detach();r.add(l,"left",{rank:300,type:"Command Palette"})}else if(!c&&t){l.parent=null;d.palette=l;l.show();d.attach()}c=t};Promise.all([e,t.restored]).then((([e])=>{n(e);e.changed.connect((e=>{n(e)}))})).catch((e=>{console.error(e.message)}))}const h=()=>{const e=(0,F.find)(t.commands.keyBindings,(e=>e.command===W.activate));if(e){const t=e.keys.map(z.CommandRegistry.formatKeystroke).join(", ");l.title.caption=a.__("Commands (%1)",t)}else{l.title.caption=a.__("Commands")}};h();t.commands.keyBindingChanged.connect((()=>{h()}));o.addCommand(W.activate,{describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(c){d.activate()}else{r.activateById(l.id)}},label:a.__("Activate Command Palette")});l.inputNode.placeholder=a.__("SEARCH");return new e(l,n)}e.activate=t;function n(e,t,n){const i=U.createPalette(e,n);t.add(i,"command-palette")}e.restore=n})(V||(V={}));var U;(function(e){let t;function n(e,n){if(!t){t=new k.CommandPalette({commands:e.commands,renderer:c.CommandPaletteSvg.defaultRenderer});t.id="command-palette";t.title.icon=c.paletteIcon;const i=n.load("jupyterlab");t.title.label=i.__("Commands")}return t}e.createPalette=n})(U||(U={}));class q extends l.DataConnector{constructor(e){super();this._throttlers=Object.create(null);this._connector=e}fetch(e){const t=this._throttlers;if(!(e in t)){t[e]=new p.Throttler((()=>this._connector.fetch(e)),100)}return t[e].invoke()}async list(e="all"){const{isDisabled:t}=o.PageConfig.Extension;const{ids:n,values:i}=await this._connector.list(e==="ids"?"ids":undefined);if(e==="all"){return{ids:n,values:i}}if(e==="ids"){return{ids:n}}return{ids:n.filter((e=>!t(e))),values:i.filter((({id:e})=>!t(e)))}}async save(e,t){await this._connector.save(e,t)}}const $={id:"@jupyterlab/apputils-extension:settings-connector",description:"Provides the settings connector.",autoStart:true,provides:a.ISettingConnector,activate:e=>new q(e.serviceManager.settings)};const K={id:"@jupyterlab/apputils-extension:settings",autoStart:true,provides:a.ISettingRegistry,optional:[a.ISettingConnector],description:"Provides the setting registry.",activate:async(e,t)=>{const{isDisabled:n}=o.PageConfig.Extension;const i=t!==null&&t!==void 0?t:new q(e.serviceManager.settings);const s=new a.SettingRegistry({connector:i,plugins:(await i.list("active")).values.filter((t=>e.hasPlugin(t.id)))});void e.restored.then((async()=>{const t=await i.list("ids");t.ids.forEach((async t=>{if(!e.hasPlugin(t)||n(t)||t in s.plugins){return}try{await s.load(t)}catch(i){console.warn(`Settings failed to load for (${t})`,i);if(!e.isPluginActivated(t)){console.warn(`If 'jupyter.lab.transform=true' in the plugin schema, this `+`may happen if {autoStart: false} in (${t}) or if it is `+`one of the deferredExtensions in page config.`)}}}))}));return s}};const J={id:"@jupyterlab/apputils-extension:kernel-status",description:"Provides the kernel status indicator model.",autoStart:true,requires:[j.IStatusBar],provides:s.IKernelStatusModel,optional:[s.ISessionContextDialogs,d.ITranslator,i.ILabShell],activate:(e,t,n,i,o)=>{const r=i!==null&&i!==void 0?i:d.nullTranslator;const a=n!==null&&n!==void 0?n:new s.SessionContextDialogs({translator:r});const l=async()=>{if(!h.model.sessionContext){return}await a.selectKernel(h.model.sessionContext)};const c=async e=>{if(e.key==="Enter"||e.key==="Spacebar"||e.key===" "){e.preventDefault();e.stopPropagation();return l()}};const h=new s.KernelStatus({onClick:l,onKeyDown:c},r);const u=new Set;const p=t=>{u.add(t);if(e.shell.currentWidget){m(e.shell,{newValue:e.shell.currentWidget,oldValue:null})}};function m(e,t){var n;const{oldValue:i,newValue:s}=t;if(i){i.title.changed.disconnect(g)}h.model.sessionContext=(n=[...u].map((e=>e(t.newValue))).filter((e=>e!==null))[0])!==null&&n!==void 0?n:null;if(s&&h.model.sessionContext){g(s.title);s.title.changed.connect(g)}}const g=e=>{h.model.activityName=e.label};if(o){o.currentChanged.connect(m)}t.registerStatusItem(J.id,{priority:1,item:h,align:"left",rank:1,isActive:()=>h.model.sessionContext!==null});return{addSessionProvider:p}}};const G={id:"@jupyterlab/apputils-extension:running-sessions-status",description:"Add the running sessions and terminals status bar item.",autoStart:true,requires:[j.IStatusBar,d.ITranslator],optional:[a.ISettingRegistry],activate:(e,t,n,i)=>{const o=t=>{const i=new s.RunningSessions({onClick:()=>e.shell.activateById("jp-running-sessions"),onKeyDown:t=>{if(t.key==="Enter"||t.key==="Spacebar"||t.key===" "){t.preventDefault();t.stopPropagation();e.shell.activateById("jp-running-sessions")}},serviceManager:e.serviceManager,translator:n,...t});i.model.sessions=Array.from(e.serviceManager.sessions.running()).length;i.model.terminals=Array.from(e.serviceManager.terminals.running()).length;return i};const r=e=>{const n=o(e);return t.registerStatusItem(G.id,{item:n,align:"left",rank:0})};if(i){let e;const t=(t,n)=>{var i,s;const o={"if-any":undefined,never:false,always:true};const a=(i=t===null||t===void 0?void 0:t.get("showStatusBarItem").composite)!==null&&i!==void 0?i:true;const l=o[(s=n===null||n===void 0?void 0:n.get("showStatusBarItem").composite)!==null&&s!==void 0?s:"if-any"];e===null||e===void 0?void 0:e.dispose();if(a||l!==false){e=r({showKernels:a,showTerminals:l})}};const n="@jupyterlab/apputils-extension:kernels-settings";const s="@jupyterlab/terminal-extension:plugin";void Promise.all([n in i.plugins?i.load(n).catch((()=>undefined)):Promise.resolve(undefined),s in i.plugins?i.load(s).catch((()=>undefined)):Promise.resolve(undefined)]).then((([e,n])=>{t(e,n);if(e){e.changed.connect((i=>{e=i;t(e,n)}))}if(n){n.changed.connect((i=>{n=i;t(e,n)}))}}))}else{r({showKernels:true})}}};const Y={id:"@jupyterlab/apputils-extension:subshell-settings",description:"Kernel subshell settings.",autoStart:true,requires:[],optional:[a.ISettingRegistry],activate:(e,t)=>{if(t){e.started.then((async()=>{const n=await t.load("@jupyterlab/apputils-extension:kernels-settings");const i=n.get("commsOverSubshells").composite;e.serviceManager.kernels.commsOverSubshells=i;n.changed.connect((()=>{const t=n.get("commsOverSubshells").composite;e.serviceManager.kernels.commsOverSubshells=t}))})).catch((e=>{console.error("Fail to load settings for the subshells.");console.error(e)}))}}};const X="/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*\n * Webkit scrollbar styling.\n * Separate file which is dynamically loaded based on user/theme settings.\n */\n\n/* use standard opaque scrollbars for most nodes */\n\n::-webkit-scrollbar,\n::-webkit-scrollbar-corner {\n background: var(--jp-scrollbar-background-color);\n}\n\n::-webkit-scrollbar-thumb {\n background: rgb(var(--jp-scrollbar-thumb-color));\n border: var(--jp-scrollbar-thumb-margin) solid transparent;\n background-clip: content-box;\n border-radius: var(--jp-scrollbar-thumb-radius);\n}\n\n::-webkit-scrollbar-track:horizontal {\n border-left: var(--jp-scrollbar-endpad) solid\n var(--jp-scrollbar-background-color);\n border-right: var(--jp-scrollbar-endpad) solid\n var(--jp-scrollbar-background-color);\n}\n\n::-webkit-scrollbar-track:vertical {\n border-top: var(--jp-scrollbar-endpad) solid\n var(--jp-scrollbar-background-color);\n border-bottom: var(--jp-scrollbar-endpad) solid\n var(--jp-scrollbar-background-color);\n}\n\n/* for code nodes, use a transparent style of scrollbar */\n\n.CodeMirror-hscrollbar::-webkit-scrollbar,\n.CodeMirror-vscrollbar::-webkit-scrollbar,\n.CodeMirror-hscrollbar::-webkit-scrollbar-corner,\n.CodeMirror-vscrollbar::-webkit-scrollbar-corner {\n background-color: transparent;\n}\n\n.CodeMirror-hscrollbar::-webkit-scrollbar-thumb,\n.CodeMirror-vscrollbar::-webkit-scrollbar-thumb {\n background: rgba(var(--jp-scrollbar-thumb-color), 0.5);\n border: var(--jp-scrollbar-thumb-margin) solid transparent;\n background-clip: content-box;\n border-radius: var(--jp-scrollbar-thumb-radius);\n}\n\n.CodeMirror-hscrollbar::-webkit-scrollbar-track:horizontal {\n border-left: var(--jp-scrollbar-endpad) solid transparent;\n border-right: var(--jp-scrollbar-endpad) solid transparent;\n}\n\n.CodeMirror-vscrollbar::-webkit-scrollbar-track:vertical {\n border-top: var(--jp-scrollbar-endpad) solid transparent;\n border-bottom: var(--jp-scrollbar-endpad) solid transparent;\n}\n";var Q;(function(e){e.changeTheme="apputils:change-theme";e.changePreferredLightTheme="apputils:change-light-theme";e.changePreferredDarkTheme="apputils:change-dark-theme";e.toggleAdaptiveTheme="apputils:adaptive-theme";e.themeScrollbars="apputils:theme-scrollbars";e.changeFont="apputils:change-font";e.incrFontSize="apputils:incr-font-size";e.decrFontSize="apputils:decr-font-size"})(Q||(Q={}));function Z(e){const t=document.createElement("style");t.setAttribute("type","text/css");t.appendChild(document.createTextNode(e));return t}const ee={id:"@jupyterlab/apputils-extension:themes",description:"Provides the theme manager.",requires:[a.ISettingRegistry,i.JupyterFrontEnd.IPaths,d.ITranslator],optional:[s.ISplashScreen],activate:(e,t,n,i,r)=>{const a=i.load("jupyterlab");const l=e.shell;const d=e.commands;const c=o.URLExt.join(e.serviceManager.serverSettings.baseUrl,n.urls.themes);const h=ee.id;const u=new s.ThemeManager({key:h,host:l,settings:t,splash:r!==null&&r!==void 0?r:undefined,url:c});let p=null;let m;u.themeChanged.connect(((e,t)=>{m=t.newValue;document.body.dataset.jpThemeLight=String(u.isLight(m));document.body.dataset.jpThemeName=m;document.body.style.colorScheme=u.isLight(m)?"light":"dark";if(document.body.dataset.jpThemeScrollbars!==String(u.themeScrollbars(m))){document.body.dataset.jpThemeScrollbars=String(u.themeScrollbars(m));if(u.themeScrollbars(m)){if(!p){p=Z(X)}if(!p.parentElement){document.body.appendChild(p)}}else{if(p&&p.parentElement){p.parentElement.removeChild(p)}}}d.notifyCommandChanged(Q.changeTheme)}));d.addCommand(Q.changeTheme,{label:e=>{if(e.theme===undefined){return a.__("Switch to the provided `theme`.")}const t=e["theme"];const n=u.getDisplayName(t);return e["isPalette"]?a.__("Use Theme: %1",n):n},describedBy:{args:{type:"object",properties:{theme:{type:"string",description:a.__("The theme name to switch to")},isPalette:{type:"boolean",description:a.__("Whether the command is being called from the palette")}},required:["theme"]}},isToggled:e=>e["theme"]===m,execute:e=>{const t=e["theme"];if(t===u.theme){return}if(u.isToggledAdaptiveTheme()){return u.toggleAdaptiveTheme()}return u.setTheme(t)}});d.addCommand(Q.changePreferredLightTheme,{label:e=>{if(e.theme===undefined){return a.__("Switch to the provided light `theme`.")}const t=e["theme"];const n=u.getDisplayName(t);return e["isPalette"]?a.__("Set Preferred Light Theme: %1",n):n},describedBy:{args:{type:"object",properties:{theme:{type:"string",description:a.__("The preferred light theme name")},isPalette:{type:"boolean",description:a.__("Whether the command is being called from the palette")}},required:["theme"]}},isToggled:e=>e["theme"]===u.preferredLightTheme,execute:e=>{const t=e["theme"];if(t===u.preferredLightTheme){return}return u.setPreferredLightTheme(t)}});d.addCommand(Q.changePreferredDarkTheme,{label:e=>{if(e.theme===undefined){return a.__("Switch to the provided dark `theme`.")}const t=e["theme"];const n=u.getDisplayName(t);return e["isPalette"]?a.__("Set Preferred Dark Theme: %1",n):n},describedBy:{args:{type:"object",properties:{theme:{type:"string",description:a.__("The preferred dark theme name")},isPalette:{type:"boolean",description:a.__("Whether the command is being called from the palette")}},required:["theme"]}},isToggled:e=>e["theme"]===u.preferredDarkTheme,execute:e=>{const t=e["theme"];if(t===u.preferredDarkTheme){return}return u.setPreferredDarkTheme(t)}});d.addCommand(Q.toggleAdaptiveTheme,{label:e=>e["isPalette"]?a.__("Synchronize Styling Theme with System Settings"):a.__("Synchronize with System Settings"),describedBy:{args:{type:"object",properties:{isPalette:{type:"boolean",description:a.__("Whether the command is being called from the palette")}}}},isToggled:()=>u.isToggledAdaptiveTheme(),execute:()=>{u.toggleAdaptiveTheme().catch(console.warn)}});d.addCommand(Q.themeScrollbars,{label:a.__("Theme Scrollbars"),describedBy:{args:{type:"object",properties:{}}},isToggled:()=>u.isToggledThemeScrollbars(),execute:()=>u.toggleThemeScrollbars()});d.addCommand(Q.changeFont,{label:e=>e["enabled"]?`${e["font"]}`:a.__("waiting for fonts"),describedBy:{args:{type:"object",properties:{enabled:{type:"boolean",description:a.__("Whether the font is available and enabled")},font:{type:"string",description:a.__("The font name")},key:{type:"string",description:a.__("The CSS property key to modify")}},required:["enabled","font","key"]}},isEnabled:e=>e["enabled"],isToggled:e=>u.getCSS(e["key"])===e["font"],execute:e=>u.setCSSOverride(e["key"],e["font"])});d.addCommand(Q.incrFontSize,{label:e=>{switch(e.key){case"code-font-size":return a.__("Increase Code Font Size");case"content-font-size1":return a.__("Increase Content Font Size");case"ui-font-size1":return a.__("Increase UI Font Size");default:return a.__("Increase Font Size")}},describedBy:{args:{type:"object",properties:{key:{type:"string",description:a.__('The font size key to increase (e.g., "code-font-size", "content-font-size1", "ui-font-size1")')}},required:["key"]}},execute:e=>u.incrFontSize(e["key"])});d.addCommand(Q.decrFontSize,{label:e=>{switch(e.key){case"code-font-size":return a.__("Decrease Code Font Size");case"content-font-size1":return a.__("Decrease Content Font Size");case"ui-font-size1":return a.__("Decrease UI Font Size");default:return a.__("Decrease Font Size")}},describedBy:{args:{type:"object",properties:{key:{type:"string",description:a.__('The font size key to decrease (e.g., "code-font-size", "content-font-size1", "ui-font-size1")')}},required:["key"]}},execute:e=>u.decrFontSize(e["key"])});const g=window.matchMedia("(prefers-color-scheme: dark)");const f=e=>{if(u.isToggledAdaptiveTheme()){const t=e.matches?u.preferredDarkTheme:u.preferredLightTheme;if(u.theme!==t){void u.setTheme(t)}}};g.addEventListener("change",f);return u},autoStart:true,provides:s.IThemeManager};const te={id:"@jupyterlab/apputils-extension:themes-palette-menu",description:"Adds theme commands to the menu and the command palette.",requires:[s.IThemeManager,d.ITranslator],optional:[s.ICommandPalette,w.IMainMenu],activate:(e,t,n,i,s)=>{const o=n.load("jupyterlab");if(s){void e.restored.then((()=>{var e;const n=false;const i=(e=s.settingsMenu.items.find((e=>{var t;return e.type==="submenu"&&((t=e.submenu)===null||t===void 0?void 0:t.id)==="jp-mainmenu-settings-apputilstheme"})))===null||e===void 0?void 0:e.submenu;if(i){t.themes.forEach(((e,t)=>{i.insertItem(t,{command:Q.changeTheme,args:{isPalette:n,theme:e}})}))}}))}if(i){void e.restored.then((()=>{const e=o.__("Theme");const n=Q.changeTheme;const s=true;t.themes.forEach((t=>{i.addItem({command:n,args:{isPalette:s,theme:t},category:e})}));t.themes.forEach((t=>{i.addItem({command:Q.changePreferredLightTheme,args:{isPalette:s,theme:t},category:e})}));t.themes.forEach((t=>{i.addItem({command:Q.changePreferredDarkTheme,args:{isPalette:s,theme:t},category:e})}));i.addItem({command:Q.toggleAdaptiveTheme,args:{isPalette:s},category:e});i.addItem({command:Q.themeScrollbars,category:e});i.addItem({command:Q.incrFontSize,args:{key:"code-font-size"},category:e});i.addItem({command:Q.decrFontSize,args:{key:"code-font-size"},category:e});i.addItem({command:Q.incrFontSize,args:{key:"content-font-size1"},category:e});i.addItem({command:Q.decrFontSize,args:{key:"content-font-size1"},category:e});i.addItem({command:Q.incrFontSize,args:{key:"ui-font-size1"},category:e});i.addItem({command:Q.decrFontSize,args:{key:"ui-font-size1"},category:e})}))}},autoStart:true};const ne={id:"@jupyterlab/apputils-extension:toolbar-registry",description:"Provides toolbar items registry.",autoStart:true,provides:s.IToolbarWidgetRegistry,activate:e=>{const t=new s.ToolbarWidgetRegistry({defaultFactory:(0,s.createDefaultFactory)(e.commands)});return t}};var ie=n(33641);const se="jupyterlab-workspace";const oe="."+se;const re="workspace-ui:lastSave";const ae="jp-JupyterIcon";const le={id:"@jupyterlab/apputils-extension:workspaces",description:"Add workspace file type.",autoStart:true,requires:[l.IStateDB,d.ITranslator,i.JupyterFrontEnd.IPaths],optional:[i.IRouter,ie.IWorkspaceCommands],activate:(e,t,n,i,s,r)=>{const a=new de.WorkspaceFactory({workspaces:e.serviceManager.workspaces,state:t,translator:n,open:async t=>{if(r){await e.commands.execute(r.open,{workspace:t})}else{const e=o.URLExt.join(i.urls.app,"workspaces");const n=o.URLExt.join(e,t);if(!n.startsWith(e)){throw new Error("Can only be used for workspaces")}if(s){s.navigate(n,{hard:true})}else{document.location.href=n}}}});const l=n.load("jupyterlab");e.docRegistry.addFileType({name:se,contentType:"file",fileFormat:"text",displayName:l.__("JupyterLab Workspace File"),extensions:[oe],mimeTypes:["text/json"],iconClass:ae});e.docRegistry.addWidgetFactory(a)}};var de;(function(e){class t extends r.ABCWidgetFactory{constructor(e){const t=(e.translator||d.nullTranslator).load("jupyterlab");super({name:"Workspace loader",label:t.__("Workspace loader"),fileTypes:[se],defaultFor:[se],readOnly:true});this._state=e.state;this._workspaces=e.workspaces;this._open=e.open}createNewWidget(e){void e.ready.then((async()=>{const t=e.model;const n=t.toJSON();const i=e.path;const s=n.metadata.id;await this._workspaces.save(s,n);await this._state.save(re,i);await this._open(s)}));return n(e)}}e.WorkspaceFactory=t;function n(e){const t=new r.DocumentWidget({content:new k.Widget,context:e});t.content.dispose();return t}})(de||(de={}));var ce=n(76326);const he="jp-ContextualShortcut-TableRow";const ue="jp-ContextualShortcut-TableLastRow";const pe="jp-ContextualShortcut-TableItem";const me="jp-ContextualShortcut-Key";function ge(e){const{commands:t,trans:n,activeElement:i}=e;const o=i!==null&&i!==void 0?i:document.activeElement;function r(e){const t=[];e.forEach(((e,n)=>{const i=[];e.split(" ").forEach(((e,t)=>{i.push(I.createElement("span",{className:me,key:`ch-${t}`},I.createElement("kbd",null,e)),I.createElement(I.Fragment,{key:`fragment-${t}`}," + "))}));t.push(I.createElement("span",{key:`key-${n}`},i.slice(0,-1)),I.createElement(I.Fragment,{key:`fragment-${n}`}," + "))}));return I.createElement("span",null,t.slice(0,-1))}function a(e){const t=e.charAt(0).toUpperCase()+e.slice(1);return t}function l(e){const n=t.label(e.command);const i=e.command.split(":")[1];const s=i.split("-");let o="";for(let t=0;t<s.length;t++){const e=a(s[t]);o=o+" "+e}if(n.length>0){return n}else{return o}}function d(e,t){let n=t;for(let i=0;n!==null&&n!==n.parentElement;n=n.parentElement,++i){if(n.hasAttribute("data-lm-suppress-shortcuts")){return-1}if(n.matches(e)){return i}}return-1}const c=new Map;for(let s=0;s<t.keyBindings.length;s++){const e=t.keyBindings[s];let n=d(e.selector,o);if(n<0){continue}let i=z.CommandRegistry.formatKeystroke(e.keys);if(c.has(i)){let t=c.get(i);if(t[0]<n||t[0]===n&&ce.Selector.calculateSpecificity(t[1].selector)>ce.Selector.calculateSpecificity(e.selector)){continue}}c.set(i,[n,e])}let h=-1;const u=new Map;for(let[s,g]of c.values()){h=Math.max(s,h);if(!u.has(s)){u.set(s,[])}u.get(s).push(g)}const p=[];for(let s=0;s<=h;s++){if(u.has(s)){p.push(u.get(s).map((e=>I.createElement("tr",{className:he,key:`${e.command}-${e.keys.join("-").replace(" ","_")}`},I.createElement("td",{className:pe},l(e)),I.createElement("td",{className:pe},r([...e.keys]))))));p.push(I.createElement("tr",{className:ue,key:`group-${s}-last`}))}}const m=I.createElement("table",null,I.createElement("tbody",null,p));return(0,s.showDialog)({title:n.__("Keyboard Shortcuts"),body:m,buttons:[s.Dialog.cancelButton({label:n.__("Close")})]})}const fe=12e3;var ve;(function(e){e.loadState="apputils:load-statedb";e.print="apputils:print";e.reset="apputils:reset";e.resetOnLoad="apputils:reset-on-load";e.runFirstEnabled="apputils:run-first-enabled";e.runAllEnabled="apputils:run-all-enabled";e.toggleHeader="apputils:toggle-header";e.displayShortcuts="apputils:display-shortcuts"})(ve||(ve={}));const _e={id:"@jupyterlab/apputils-extension:palette",description:"Provides the command palette.",autoStart:true,requires:[d.ITranslator],provides:s.ICommandPalette,optional:[a.ISettingRegistry],activate:(e,t,n)=>V.activate(e,t,n)};const be={id:"@jupyterlab/apputils-extension:palette-restorer",description:"Restores the command palette.",autoStart:true,requires:[i.ILayoutRestorer,d.ITranslator],activate:(e,t,n)=>{V.restore(e,t,n)}};const ye={id:"@jupyterlab/apputils-extension:resolver",description:"Provides the window name resolver.",autoStart:true,provides:s.IWindowResolver,requires:[i.JupyterFrontEnd.IPaths,i.IRouter],activate:async(e,t,n)=>{const{hash:i,search:r}=n.current;const a=o.URLExt.queryStringToObject(r||"");const l=new s.WindowResolver;const d=o.PageConfig.getOption("workspace");const c=o.PageConfig.getOption("treePath");const h=o.PageConfig.getOption("mode")==="multiple-document"?"lab":"doc";const u=d?d:o.PageConfig.defaultWorkspace;const p=c?o.URLExt.join("tree",c):"";try{await l.resolve(u);return l}catch(m){return new Promise((()=>{const{base:e}=t.urls;const s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";const r=s[Math.floor(Math.random()*s.length)];let l=o.URLExt.join(e,h,"workspaces",`auto-${r}`);l=p?o.URLExt.join(l,o.URLExt.encodeParts(p)):l;a["reset"]="";const d=l+o.URLExt.objectToQueryString(a)+(i||"");n.navigate(d,{hard:true})}))}}};const we={id:"@jupyterlab/apputils-extension:splash",description:"Provides the splash screen.",autoStart:true,requires:[d.ITranslator],provides:s.ISplashScreen,activate:(e,t)=>{const n=t.load("jupyterlab");const{commands:i,restored:o}=e;const r=document.createElement("div");const a=document.createElement("div");const l=document.createElement("div");r.id="jupyterlab-splash";a.id="galaxy";l.id="main-logo";c.jupyterFaviconIcon.element({container:l,stylesheet:"splash"});a.appendChild(l);["1","2","3"].forEach((e=>{const t=document.createElement("div");const n=document.createElement("div");t.id=`moon${e}`;t.className="moon orbit";n.id=`planet${e}`;n.className="planet";t.appendChild(n);a.appendChild(t)}));r.appendChild(a);let d;const h=new p.Throttler((async()=>{if(d){return}d=new s.Dialog({title:n.__("Loading…"),body:n.__(`The loading screen is taking a long time.\nWould you like to clear the workspace or keep waiting?`),buttons:[s.Dialog.cancelButton({label:n.__("Keep Waiting")}),s.Dialog.warnButton({label:n.__("Clear Workspace")})]});try{const e=await d.launch();d.dispose();d=null;if(e.button.accept&&i.hasCommand(ve.reset)){return i.execute(ve.reset)}requestAnimationFrame((()=>{void h.invoke().catch((e=>undefined))}))}catch(e){}}),{limit:fe,edge:"trailing"});let m=0;return{show:(e=true)=>{r.classList.remove("splash-fade");r.classList.toggle("light",e);r.classList.toggle("dark",!e);m++;document.body.appendChild(r);void h.invoke().catch((e=>undefined));return new u.DisposableDelegate((async()=>{await o;if(--m===0){void h.stop();if(d){d.dispose();d=null}r.classList.add("splash-fade");window.setTimeout((()=>{document.body.removeChild(r)}),200)}}))}}}};const Ce={id:"@jupyterlab/apputils-extension:print",description:"Add the print capability",autoStart:true,requires:[d.ITranslator],activate:(e,t)=>{var n;const i=t.load("jupyterlab");e.commands.addCommand(ve.print,{label:i.__("Print…"),describedBy:{args:{type:"object",properties:{}}},isEnabled:()=>{const t=e.shell.currentWidget;return s.Printing.getPrintFunction(t)!==null},execute:async()=>{const t=e.shell.currentWidget;const n=s.Printing.getPrintFunction(t);if(n){await n()}}});(n=e.shell.currentChanged)===null||n===void 0?void 0:n.connect((()=>{e.commands.notifyCommandChanged(ve.print)}))}};const xe={id:"@jupyterlab/apputils-extension:toggle-header",description:"Adds a command to display the main area widget content header.",autoStart:true,requires:[d.ITranslator],optional:[s.ICommandPalette],activate:(e,t,n)=>{var i;const o=t.load("jupyterlab");const r=o.__("Main Area");e.commands.addCommand(ve.toggleHeader,{label:o.__("Show Header Above Content"),describedBy:{args:{type:"object",properties:{}}},isEnabled:()=>e.shell.currentWidget instanceof s.MainAreaWidget&&!e.shell.currentWidget.contentHeader.isDisposed&&e.shell.currentWidget.contentHeader.widgets.length>0,isToggled:()=>{const t=e.shell.currentWidget;return t instanceof s.MainAreaWidget?!t.contentHeader.isHidden:false},execute:async()=>{const t=e.shell.currentWidget;if(t instanceof s.MainAreaWidget){t.contentHeader.setHidden(!t.contentHeader.isHidden)}}});(i=e.shell.currentChanged)===null||i===void 0?void 0:i.connect((()=>{e.commands.notifyCommandChanged(ve.toggleHeader)}));if(n){n.addItem({command:ve.toggleHeader,category:r})}}};async function Se(e){var t,n;const{workspace:i,db:s,name:a,currentWidget:l}=e;const d=await s.toJSON();let c=(n=(t=d["layout-restorer:data"])===null||t===void 0?void 0:t.main)===null||n===void 0?void 0:n.current;if(c===undefined||!(c.startsWith("notebook")||c.startsWith("editor"))){document.title=`${o.PageConfig.getOption("appName")||"JupyterLab"}${i==="default"?"":` (${i})`}`}else{let e;if(l instanceof r.DocumentWidget){e=o.PathExt.basename(l.context.path)}else{e=o.PathExt.basename(decodeURIComponent(window.location.href))}e=e.length>15?e.slice(0,12).concat(`…`):e;const t=i.length>15?i.slice(0,12).concat(`…`):i;const n=Object.keys(d).filter((e=>e.startsWith("notebook")||e.startsWith("editor"))).length;document.title=`${e}${n>1?` (${n})`:``} - ${i==="default"?a:t}`}}const je={id:"@jupyterlab/apputils-extension:state",description:"Provides the application state. It is stored per workspaces.",autoStart:true,provides:l.IStateDB,requires:[i.JupyterFrontEnd.IPaths,i.IRouter,d.ITranslator],optional:[s.IWindowResolver],activate:(e,t,n,i,s)=>{const r=i.load("jupyterlab");if(s===null){return new l.StateDB}let a=false;const{commands:d,name:c,serviceManager:u}=e;const{workspaces:m}=u;const g=s.name;const f=new h.PromiseDelegate;const v=new l.StateDB({transform:f.promise});const _=new p.Debouncer((async()=>{const e=g;const t={id:e};const n=await v.toJSON();await m.save(e,{data:n,metadata:t})}));v.changed.connect((()=>void _.invoke()),v);v.changed.connect((()=>{var t;return Se({workspace:g,db:v,name:c,currentWidget:(t=e.shell.currentWidget)!==null&&t!==void 0?t:undefined})}));d.addCommand(ve.loadState,{label:r.__("Load state for the current workspace."),describedBy:{args:{type:"object",properties:{hash:{type:"string",description:r.__("The URL hash")},path:{type:"string",description:r.__("The URL path")},search:{type:"string",description:r.__("The URL search string containing query parameters")}}}},execute:async e=>{if(a){return}const{hash:t,path:i,search:s}=e;const r=o.URLExt.queryStringToObject(s||"");const l=typeof r["clone"]==="string"?r["clone"]===""?o.PageConfig.defaultWorkspace:r["clone"]:null;const d=l||g||null;if(d===null){console.error(`${ve.loadState} cannot load null workspace.`);return}try{const e=await m.fetch(d);if(!a){a=true;f.resolve({type:"overwrite",contents:e.data})}}catch({message:c}){console.warn(`Fetching workspace "${g}" failed.`,c);if(!a){a=true;f.resolve({type:"cancel",contents:null})}}if(d===l){delete r["clone"];const e=i+o.URLExt.objectToQueryString(r)+t;const s=_.invoke().then((()=>n.stop));void s.then((()=>{n.navigate(e)}));return s}await _.invoke()}});d.addCommand(ve.reset,{label:r.__("Reset Application State"),describedBy:{args:{type:"object",properties:{reload:{type:"boolean",description:r.__("Whether to reload the page after resetting")}}}},execute:async({reload:e})=>{await v.clear();await _.invoke();if(e){n.reload()}}});d.addCommand(ve.resetOnLoad,{label:r.__("Reset state when loading for the workspace."),describedBy:{args:{type:"object",properties:{hash:{type:"string",description:r.__("The URL hash")},path:{type:"string",description:r.__("The URL path")},search:{type:"string",description:r.__("The URL search string containing query parameters")}}}},execute:e=>{const{hash:t,path:i,search:s}=e;const r=o.URLExt.queryStringToObject(s||"");const l="reset"in r;const d="clone"in r;if(!l){return}if(a){return n.reload()}a=true;f.resolve({type:"clear",contents:null});delete r["reset"];const c=i+o.URLExt.objectToQueryString(r)+t;const h=v.clear().then((()=>_.invoke()));if(d){void h.then((()=>{n.navigate(c,{hard:true})}))}else{void h.then((()=>{n.navigate(c)}))}return h}});n.register({command:ve.loadState,pattern:/.?/,rank:30});n.register({command:ve.resetOnLoad,pattern:/(\?reset|\&reset)($|&)/,rank:20});return v}};const ke={id:"@jupyterlab/apputils-extension:sessionDialogs",description:"Provides the session context dialogs.",provides:s.ISessionContextDialogs,optional:[d.ITranslator,a.ISettingRegistry],autoStart:true,activate:async(e,t,n)=>new s.SessionContextDialogs({translator:t!==null&&t!==void 0?t:d.nullTranslator,settingRegistry:n!==null&&n!==void 0?n:null})};const Ie={id:"@jupyterlab/apputils-extension:utilityCommands",description:"Adds meta commands to run set of other commands.",requires:[d.ITranslator],optional:[s.ICommandPalette],autoStart:true,activate:(e,t,n)=>{const i=t.load("jupyterlab");const{commands:o}=e;o.addCommand(ve.runFirstEnabled,{label:i.__("Run First Enabled Command"),describedBy:{args:{type:"object",properties:{commands:{type:"array",items:{type:"string"},description:i.__("Array of command IDs to attempt to run")},args:{description:i.__("Arguments to pass to the commands")}},required:["commands"]}},execute:t=>{const n=t.commands;const i=t.args;const s=Array.isArray(t);for(let o=0;o<n.length;o++){const t=n[o];const r=s?i[o]:i;if(e.commands.isEnabled(t,r)){return e.commands.execute(t,r)}}}});o.addCommand(ve.runAllEnabled,{label:i.__("Run All Enabled Commands Passed as Args"),describedBy:{args:{type:"object",properties:{commands:{type:"array",items:{type:"string"},description:i.__("Array of command IDs to run")},args:{description:i.__("Arguments to pass to the commands")},errorIfNotEnabled:{type:"boolean",description:i.__("Whether to log an error if a command is not enabled")}}}},execute:async t=>{var n,i;const s=(n=t.commands)!==null&&n!==void 0?n:[];const o=t.args;const r=Array.isArray(t);const a=(i=t.errorIfNotEnabled)!==null&&i!==void 0?i:false;for(let l=0;l<s.length;l++){const t=s[l];const n=r?o[l]:o;if(e.commands.isEnabled(t,n)){await e.commands.execute(t,n)}else{if(a){console.error(`${t} is not enabled.`)}}}},isEnabled:t=>{var n;const i=(n=t.commands)!==null&&n!==void 0?n:[];const s=t.args;const o=Array.isArray(t);return i.some(((t,n)=>e.commands.isEnabled(t,o?s[n]:s)))}});o.addCommand(ve.displayShortcuts,{label:i.__("Show Keyboard Shortcuts…"),caption:i.__("Show relevant keyboard shortcuts for the current active widget"),describedBy:{args:{type:"object",properties:{}}},execute:t=>{var n;const r=e.shell.currentWidget;const a=r===null||r===void 0?void 0:r.node.contains(document.activeElement);if(!a&&r instanceof s.MainAreaWidget){const e=(n=r.content.node)!==null&&n!==void 0?n:r===null||r===void 0?void 0:r.node;e===null||e===void 0?void 0:e.focus()}const l={commands:o,trans:i};return ge(l)}});if(n){const e=i.__("Help");n.addItem({command:ve.displayShortcuts,category:e})}}};const Te={id:"@jupyterlab/apputils-extension:sanitizer",description:"Provides the HTML sanitizer.",autoStart:true,provides:s.ISanitizer,requires:[a.ISettingRegistry],activate:(e,t)=>{const n=new s.Sanitizer;const i=e=>{const t=e.get("allowedSchemes").composite;const i=e.get("autolink").composite;const s=e.get("allowNamedProperties").composite;if(t){n.setAllowedSchemes(t)}n.setAutolink(i);n.setAllowNamedProperties(s)};t.load("@jupyterlab/apputils-extension:sanitizer").then((e=>{i(e);e.changed.connect(i)})).catch((e=>{console.error(`Failed to load sanitizer settings:`,e)}));return n}};const Ee={id:"@jupyterlab/apputils-extension:kernels-settings",description:"Reserves the name for kernel settings.",autoStart:true,requires:[a.ISettingRegistry],activate:(e,t)=>{void t.load(Ee.id)}};const Me=[Ee,y,J,x,S,B,_e,be,Ce,ye,G,Y,Te,$,K,je,we,ke,ee,te,xe,ne,Ie,le];const De=Me},25313:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(24800);var r=n(97913);var a=n(79010);var l=n(3579);var d=n(67996);var c=n(85072);var h=n.n(c);var u=n(97825);var p=n.n(u);var m=n(77659);var g=n.n(m);var f=n(55056);var v=n.n(f);var _=n(10540);var b=n.n(_);var y=n(41113);var w=n.n(y);var C=n(61510);var x={};x.styleTagTransform=w();x.setAttributes=v();x.insert=g().bind(null,"head");x.domAPI=p();x.insertStyleElement=b();var S=h()(C.A,x);const j=C.A&&C.A.locals?C.A.locals:undefined},12253:(e,t,n)=>{"use strict";n.r(t);n.d(t,{Clipboard:()=>M,Collapse:()=>i.Collapser,CommandLinker:()=>R,CommandToolbarButton:()=>i.CommandToolbarButton,CommandToolbarButtonComponent:()=>i.CommandToolbarButtonComponent,DOMUtils:()=>F,Dialog:()=>v,HoverBox:()=>i.HoverBox,ICommandPalette:()=>ye,IFrame:()=>i.IFrame,IKernelStatusModel:()=>we,ILicensesClient:()=>Ce,ISanitizer:()=>je,ISessionContextDialogs:()=>xe,ISplashScreen:()=>ke,IThemeManager:()=>Se,IToolbarWidgetRegistry:()=>Te,IWindowResolver:()=>Ie,InputDialog:()=>H,KernelStatus:()=>j,Licenses:()=>ee,MainAreaWidget:()=>ie,MenuFactory:()=>se,ModalCommandPalette:()=>B,Notification:()=>re,NotificationManager:()=>oe,Printing:()=>te,ReactWidget:()=>i.ReactWidget,RunningSessions:()=>de,Sanitizer:()=>pe,SemanticCommand:()=>me,SessionContext:()=>b,SessionContextDialogs:()=>y,Spinner:()=>i.Spinner,Styling:()=>i.Styling,SystemClipboard:()=>D,ThemeManager:()=>_e,Toolbar:()=>We,ToolbarButton:()=>i.ToolbarButton,ToolbarButtonComponent:()=>i.ToolbarButtonComponent,ToolbarWidgetRegistry:()=>Ee,UseSignal:()=>i.UseSignal,VDomModel:()=>i.VDomModel,VDomRenderer:()=>i.VDomRenderer,WidgetTracker:()=>m,WindowResolver:()=>Fe,addCommandToolbarButtonClass:()=>i.addCommandToolbarButtonClass,addToolbarButtonClass:()=>i.addToolbarButtonClass,createDefaultFactory:()=>Me,createToolbarFactory:()=>Be,setToolbar:()=>Oe,showDialog:()=>g,showErrorMessage:()=>f,translateKernelStatuses:()=>x});var i=n(4073);var s=n(34881);var o=n(27518);var r=n(44914);var a=n.n(r);var l=n(40959);var d=n(34236);var c=n(5592);var h=n(2336);var u=n(42856);var p=n(78629);class m{constructor(e){this._currentChanged=new h.Signal(this);this._deferred=null;this._isDisposed=false;this._widgetAdded=new h.Signal(this);this._widgetUpdated=new h.Signal(this);const t=this._focusTracker=new o.FocusTracker;const n=this._pool=new p.RestorablePool(e);this.namespace=e.namespace;t.currentChanged.connect(((e,t)=>{if(t.newValue!==this.currentWidget){n.current=t.newValue}}),this);n.added.connect(((e,t)=>{this._widgetAdded.emit(t)}),this);n.currentChanged.connect(((e,i)=>{if(i===null&&t.currentWidget){n.current=t.currentWidget;return}this.onCurrentChanged(i);this._currentChanged.emit(i)}),this);n.updated.connect(((e,t)=>{this._widgetUpdated.emit(t)}),this)}get currentChanged(){return this._currentChanged}get currentWidget(){return this._pool.current||null}get restored(){if(this._deferred){return Promise.resolve()}else{return this._pool.restored}}get size(){return this._pool.size}get widgetAdded(){return this._widgetAdded}get widgetUpdated(){return this._widgetUpdated}async add(e){this._focusTracker.add(e);await this._pool.add(e);if(!this._focusTracker.activeWidget){this._pool.current=e}}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;this._pool.dispose();this._focusTracker.dispose();h.Signal.clearData(this)}find(e){return this._pool.find(e)}forEach(e){return this._pool.forEach(e)}filter(e){return this._pool.filter(e)}inject(e){return this._pool.inject(e)}has(e){return this._pool.has(e)}async restore(e){const t=this._deferred;if(t){this._deferred=null;return this._pool.restore(t)}if(e){return this._pool.restore(e)}console.warn("No options provided to restore the tracker.")}defer(e){this._deferred=e}async save(e){return this._pool.save(e)}onCurrentChanged(e){}}function g(e={}){const t=new v(e);return t.launch()}function f(e,t,n){const i=v.translator.load("jupyterlab");n=n!==null&&n!==void 0?n:[v.cancelButton({label:i.__("Close")})];console.warn("Showing error:",t);const s=typeof t==="string"?t:t.message;const o=e+"----"+s;const r=_.errorMessagePromiseCache.get(o);if(r){return r}else{const t=g({title:e,body:s,buttons:n}).then((()=>{_.errorMessagePromiseCache.delete(o)}),(e=>{_.errorMessagePromiseCache.delete(o);throw e}));_.errorMessagePromiseCache.set(o,t);return t}}class v extends o.Widget{constructor(e={}){const t=document.createElement("dialog");t.ariaModal="true";super({node:t});this._hasValidationErrors=false;this._ready=new c.PromiseDelegate;this._focusNodeSelector="";this.addClass("jp-Dialog");this.addClass("jp-ThemedContainer");const n=_.handleOptions(e);const i=n.renderer;this._host=n.host;this._defaultButton=n.defaultButton;this._buttons=n.buttons;this._hasClose=n.hasClose;this._buttonNodes=this._buttons.map((e=>i.createButtonNode(e)));this._checkboxNode=null;this._lastMouseDownInDialog=false;if(n.checkbox){const{label:e="",caption:t="",checked:s=false,className:o=""}=n.checkbox;this._checkboxNode=i.createCheckboxNode({label:e,caption:t!==null&&t!==void 0?t:e,checked:s,className:o})}const s=this.layout=new o.PanelLayout;const r=new o.Panel;r.addClass("jp-Dialog-content");if(typeof e.body==="string"){r.addClass("jp-Dialog-content-small");t.ariaLabel=[n.title,e.body].join(" ")}s.addWidget(r);this._body=n.body;const a=i.createHeader(n.title,(()=>this.reject()),e);const l=i.createBody(n.body);const d=i.createFooter(this._buttonNodes,this._checkboxNode);r.addWidget(a);r.addWidget(l);r.addWidget(d);this._bodyWidget=l;this._primary=this._buttonNodes[this._defaultButton];this._focusNodeSelector=e.focusNodeSelector;void v.tracker.add(this)}get ready(){return this._ready.promise}dispose(){const e=this._promise;if(e){this._promise=null;e.reject(void 0);d.ArrayExt.removeFirstOf(_.launchQueue,e.promise)}super.dispose()}launch(){if(this._promise){return this._promise.promise}const e=this._promise=new c.PromiseDelegate;const t=Promise.all(_.launchQueue);_.launchQueue.push(this._promise.promise);return t.then((()=>{if(!this._promise){return Promise.resolve({button:v.cancelButton(),isChecked:null,value:null})}o.Widget.attach(this,this._host);return e.promise}))}resolve(e){if(!this._promise){return}if(e===undefined){e=this._defaultButton}this._resolve(this._buttons[e])}reject(){if(!this._promise){return}this._resolve(v.cancelButton())}handleEvent(e){switch(e.type){case"keydown":this._evtKeydown(e);break;case"mousedown":this._evtMouseDown(e);break;case"click":this._evtClick(e);break;case"input":this._evtInput(e);break;case"focus":this._evtFocus(e);break;case"contextmenu":e.preventDefault();e.stopPropagation();break;default:break}}onAfterAttach(e){const t=this.node;t.addEventListener("keydown",this,true);t.addEventListener("contextmenu",this,true);t.addEventListener("click",this,true);document.addEventListener("mousedown",this,true);document.addEventListener("focus",this,true);document.addEventListener("input",this,true);this._first=_.findFirstFocusable(this.node);this._original=document.activeElement;const n=()=>{var e;if(this._focusNodeSelector){const e=this.node.querySelector(".jp-Dialog-body");const t=e===null||e===void 0?void 0:e.querySelector(this._focusNodeSelector);if(t){this._primary=t}}(e=this._primary)===null||e===void 0?void 0:e.focus();this._ready.resolve()};if(this._bodyWidget instanceof i.ReactWidget&&this._bodyWidget.renderPromise!==undefined){this._bodyWidget.renderPromise.then((()=>{n()})).catch((()=>{console.error("Error while loading Dialog's body")}))}else{n()}}onAfterDetach(e){const t=this.node;t.removeEventListener("keydown",this,true);t.removeEventListener("contextmenu",this,true);t.removeEventListener("click",this,true);document.removeEventListener("focus",this,true);document.removeEventListener("mousedown",this,true);document.removeEventListener("input",this,true);this._original.focus()}onCloseRequest(e){if(this._promise){this.reject()}super.onCloseRequest(e)}_evtInput(e){this._hasValidationErrors=!!this.node.querySelector(":invalid");for(let t=0;t<this._buttons.length;t++){if(this._buttons[t].accept){this._buttonNodes[t].disabled=this._hasValidationErrors}}}_evtClick(e){const t=this.node.getElementsByClassName("jp-Dialog-content")[0];if(!t.contains(e.target)){e.stopPropagation();e.preventDefault();if(this._hasClose&&!this._lastMouseDownInDialog){this.reject()}return}for(const n of this._buttonNodes){if(n.contains(e.target)){const e=this._buttonNodes.indexOf(n);this.resolve(e)}}}_evtKeydown(e){switch(e.keyCode){case 27:e.stopPropagation();e.preventDefault();if(this._hasClose){this.reject()}break;case 37:{const t=document.activeElement;if(t instanceof HTMLButtonElement){let n=this._buttonNodes.indexOf(t)-1;if(n<0){n=this._buttonNodes.length-1}const i=this._buttonNodes[n];e.stopPropagation();e.preventDefault();i.focus()}break}case 39:{const t=document.activeElement;if(t instanceof HTMLButtonElement){let n=this._buttonNodes.indexOf(t)+1;if(n==this._buttons.length){n=0}const i=this._buttonNodes[n];e.stopPropagation();e.preventDefault();i.focus()}break}case 9:{const t=this._buttonNodes[this._buttons.length-1];if(document.activeElement===t&&!e.shiftKey){e.stopPropagation();e.preventDefault();this._first.focus()}break}case 13:{e.stopPropagation();e.preventDefault();const t=document.activeElement;if(t instanceof HTMLButtonElement){const e=this._buttonNodes.indexOf(t);if(e!==-1){this.resolve(e)}}else if(!(t instanceof HTMLTextAreaElement)){const e=this._defaultButton;this.resolve(e)}break}default:break}}_evtFocus(e){var t;const n=e.target;if(!this.node.contains(n)){e.stopPropagation();(t=this._buttonNodes[this._defaultButton])===null||t===void 0?void 0:t.focus()}}_evtMouseDown(e){const t=this.node.getElementsByClassName("jp-Dialog-content")[0];const n=e.target;this._lastMouseDownInDialog=t.contains(n)}_resolve(e){var t,n,i;if(this._hasValidationErrors&&e.accept){return}const s=this._promise;if(!s){this.dispose();return}this._promise=null;d.ArrayExt.removeFirstOf(_.launchQueue,s.promise);const r=this._body;let a=null;if(e.accept&&r instanceof o.Widget&&typeof r.getValue==="function"){a=r.getValue()}this.dispose();s.resolve({button:e,isChecked:(i=(n=(t=this._checkboxNode)===null||t===void 0?void 0:t.querySelector("input"))===null||n===void 0?void 0:n.checked)!==null&&i!==void 0?i:null,value:a})}}(function(e){e.translator=s.nullTranslator;function t(t){t.accept=t.accept!==false;const n=e.translator.load("jupyterlab");const i=t.accept?n.__("Ok"):n.__("Cancel");return{ariaLabel:t.ariaLabel||t.label||i,label:t.label||i,iconClass:t.iconClass||"",iconLabel:t.iconLabel||"",caption:t.caption||"",className:t.className||"",accept:t.accept,actions:t.actions||[],displayType:t.displayType||"default"}}e.createButton=t;function n(e={}){e.accept=false;return t(e)}e.cancelButton=n;function a(e={}){e.accept=true;return t(e)}e.okButton=a;function l(e={}){e.displayType="warn";return t(e)}e.warnButton=l;function d(){e.tracker.forEach((e=>{e.dispose()}))}e.flush=d;class c{createHeader(t,n=()=>{},s={}){let o;const a=e=>{if(e.button===0){e.preventDefault();n()}};const l=e=>{const{key:t}=e;if(t==="Enter"||t===" "){n()}};if(typeof t==="string"){const n=e.translator.load("jupyterlab");o=i.ReactWidget.create(r.createElement(r.Fragment,null,t,s.hasClose&&r.createElement(i.Button,{className:"jp-Dialog-close-button",onMouseDown:a,onKeyDown:l,title:n.__("Cancel"),minimal:true},r.createElement(i.LabIcon.resolveReact,{icon:i.closeIcon,tag:"span"}))))}else{o=i.ReactWidget.create(t)}o.addClass("jp-Dialog-header");i.Styling.styleNode(o.node);return o}createBody(e){const t=e=>{if(e.renderPromise!==undefined){e.renderPromise.then((()=>{i.Styling.styleNode(e.node)})).catch((()=>{console.error("Error while loading Dialog's body")}))}else{i.Styling.styleNode(e.node)}};let n;if(typeof e==="string"){n=new o.Widget({node:document.createElement("span")});n.node.textContent=e}else if(e instanceof o.Widget){n=e;if(n instanceof i.ReactWidget){t(n)}else{i.Styling.styleNode(n.node)}}else{n=i.ReactWidget.create(e);u.MessageLoop.sendMessage(n,o.Widget.Msg.UpdateRequest);t(n)}n.addClass("jp-Dialog-body");return n}createFooter(e,t){const n=new o.Widget;n.addClass("jp-Dialog-footer");if(t){n.node.appendChild(t);n.node.insertAdjacentHTML("beforeend",'<div class="jp-Dialog-spacer"></div>')}const s=document.createElement("div");s.classList.add("jp-Dialog-footerButtons");for(const i of e){s.appendChild(i)}n.node.appendChild(s);i.Styling.styleNode(n.node);return n}createButtonNode(e){const t=document.createElement("button");t.className=this.createItemClass(e);t.appendChild(this.renderIcon(e));t.appendChild(this.renderLabel(e));return t}createCheckboxNode(e){const t=document.createElement("label");t.className="jp-Dialog-checkbox";if(e.className){t.classList.add(e.className)}t.title=e.caption;t.textContent=e.label;const n=document.createElement("input");n.type="checkbox";n.checked=!!e.checked;t.insertAdjacentElement("afterbegin",n);return t}createItemClass(e){let t="jp-Dialog-button";if(e.accept){t+=" jp-mod-accept"}else{t+=" jp-mod-reject"}if(e.displayType==="warn"){t+=" jp-mod-warn"}const n=e.className;if(n){t+=` ${n}`}return t}renderIcon(e){const t=document.createElement("div");t.className=this.createIconClass(e);t.appendChild(document.createTextNode(e.iconLabel));return t}createIconClass(e){const t="jp-Dialog-buttonIcon";const n=e.iconClass;return n?`${t} ${n}`:t}renderLabel(e){const t=document.createElement("div");t.className="jp-Dialog-buttonLabel";t.title=e.caption;t.ariaLabel=e.ariaLabel;t.appendChild(document.createTextNode(e.label));return t}}e.Renderer=c;e.defaultRenderer=new c;e.tracker=new m({namespace:"@jupyterlab/apputils:Dialog"})})(v||(v={}));var _;(function(e){e.launchQueue=[];e.errorMessagePromiseCache=new Map;function t(e={}){var t,n,i,s,o,r,a,l,d;const c=(t=e.buttons)!==null&&t!==void 0?t:[v.cancelButton(),v.okButton()];return{title:(n=e.title)!==null&&n!==void 0?n:"",body:(i=e.body)!==null&&i!==void 0?i:"",host:(s=e.host)!==null&&s!==void 0?s:document.body,checkbox:(o=e.checkbox)!==null&&o!==void 0?o:null,buttons:c,defaultButton:(r=e.defaultButton)!==null&&r!==void 0?r:c.length-1,renderer:(a=e.renderer)!==null&&a!==void 0?a:v.defaultRenderer,focusNodeSelector:(l=e.focusNodeSelector)!==null&&l!==void 0?l:"",hasClose:(d=e.hasClose)!==null&&d!==void 0?d:true}}e.handleOptions=t;function n(e){const t=["input","select","a[href]","textarea","button","[tabindex]"].join(",");return e.querySelectorAll(t)[0]}e.findFirstFocusable=n})(_||(_={}));class b{constructor(e){var t,n,i,o;this._path="";this._name="";this._type="";this._prevKernelName="";this._isDisposed=false;this._disposed=new h.Signal(this);this._session=null;this._ready=new c.PromiseDelegate;this._initializing=false;this._initStarted=new c.PromiseDelegate;this._initPromise=new c.PromiseDelegate;this._isReady=false;this._isTerminating=false;this._isRestarting=false;this._kernelChanged=new h.Signal(this);this._preferenceChanged=new h.Signal(this);this._sessionChanged=new h.Signal(this);this._statusChanged=new h.Signal(this);this._connectionStatusChanged=new h.Signal(this);this._pendingInput=false;this._iopubMessage=new h.Signal(this);this._unhandledMessage=new h.Signal(this);this._propertyChanged=new h.Signal(this);this._dialog=null;this._busyDisposable=null;this._pendingKernelName="";this._pendingSessionRequest="";this.kernelManager=e.kernelManager;this.sessionManager=e.sessionManager;this.specsManager=e.specsManager;this.translator=e.translator||s.nullTranslator;this._trans=this.translator.load("jupyterlab");this._path=(t=e.path)!==null&&t!==void 0?t:c.UUID.uuid4();this._type=(n=e.type)!==null&&n!==void 0?n:"";this._name=(i=e.name)!==null&&i!==void 0?i:"";this._setBusy=e.setBusy;this._kernelPreference=(o=e.kernelPreference)!==null&&o!==void 0?o:{}}get session(){var e;return(e=this._session)!==null&&e!==void 0?e:null}get path(){return this._path}get type(){return this._type}get name(){return this._name}get kernelChanged(){return this._kernelChanged}get sessionChanged(){return this._sessionChanged}get statusChanged(){return this._statusChanged}get pendingInput(){return this._pendingInput}get connectionStatusChanged(){return this._connectionStatusChanged}get iopubMessage(){return this._iopubMessage}get unhandledMessage(){return this._unhandledMessage}get propertyChanged(){return this._propertyChanged}get kernelPreference(){return this._kernelPreference}set kernelPreference(e){if(!c.JSONExt.deepEqual(e,this._kernelPreference)){const t=this._kernelPreference;this._kernelPreference=e;this._preferenceChanged.emit({name:"kernelPreference",oldValue:t,newValue:c.JSONExt.deepCopy(e)})}}get kernelPreferenceChanged(){return this._preferenceChanged}get isReady(){return this._isReady}get ready(){return this._ready.promise}get isTerminating(){return this._isTerminating}get isRestarting(){return this._isRestarting}get hasNoKernel(){return this.kernelDisplayName===this.noKernelName}get kernelDisplayName(){var e,t,n,i,s,o,r;const a=(e=this.session)===null||e===void 0?void 0:e.kernel;if(this._pendingKernelName===this.noKernelName){return this.noKernelName}if(this._pendingKernelName){return(i=(n=(t=this.specsManager.specs)===null||t===void 0?void 0:t.kernelspecs[this._pendingKernelName])===null||n===void 0?void 0:n.display_name)!==null&&i!==void 0?i:this._pendingKernelName}if(!a){return this.noKernelName}return(r=(o=(s=this.specsManager.specs)===null||s===void 0?void 0:s.kernelspecs[a.name])===null||o===void 0?void 0:o.display_name)!==null&&r!==void 0?r:a.name}get kernelDisplayStatus(){var e,t;const n=(e=this.session)===null||e===void 0?void 0:e.kernel;if(this._isTerminating){return"terminating"}if(this._isRestarting){return"restarting"}if(this._pendingKernelName===this.noKernelName){return"unknown"}if(!n&&this._pendingKernelName){return"initializing"}if(!n&&!this.isReady&&this.kernelPreference.canStart!==false&&this.kernelPreference.shouldStart!==false){return"initializing"}return(t=(n===null||n===void 0?void 0:n.connectionStatus)==="connected"?n===null||n===void 0?void 0:n.status:n===null||n===void 0?void 0:n.connectionStatus)!==null&&t!==void 0?t:"unknown"}get prevKernelName(){return this._prevKernelName}get isDisposed(){return this._isDisposed}get disposed(){return this._disposed}get noKernelName(){return this._trans.__("No Kernel")}dispose(){if(this._isDisposed){return}this._isDisposed=true;this._disposed.emit();if(this._session){if(this.kernelPreference.shutdownOnDispose){this.sessionManager.shutdown(this._session.id).catch((e=>{console.error(`Kernel not shut down ${e}`)}))}this._session.dispose();this._session=null}if(this._dialog){this._dialog.dispose()}if(this._busyDisposable){this._busyDisposable.dispose();this._busyDisposable=null}h.Signal.clearData(this)}async startKernel(){const e=this.kernelPreference;if(!e.autoStartDefault&&e.shouldStart===false){return true}let t;if(e.id){t={id:e.id}}else{const n=w.getDefaultKernel({specs:this.specsManager.specs,sessions:this.sessionManager.running(),preference:e});if(n){t={name:n}}}if(t){try{await this._changeKernel(t);return false}catch(n){}}return true}async restartKernel(){var e,t,n,i,s,o;const r=((e=this.session)===null||e===void 0?void 0:e.kernel)||null;if(this._isRestarting){return}this._isRestarting=true;this._isReady=false;this._statusChanged.emit("restarting");try{await((n=(t=this.session)===null||t===void 0?void 0:t.kernel)===null||n===void 0?void 0:n.restart());this._isReady=true}catch(a){console.error(a)}this._isRestarting=false;this._statusChanged.emit(((s=(i=this.session)===null||i===void 0?void 0:i.kernel)===null||s===void 0?void 0:s.status)||"unknown");this._kernelChanged.emit({name:"kernel",oldValue:r,newValue:((o=this.session)===null||o===void 0?void 0:o.kernel)||null})}async changeKernel(e={}){if(this.isDisposed){throw new Error("Disposed")}await this._initStarted.promise;return this._changeKernel(e)}async shutdown(){if(this.isDisposed||!this._initializing){return}await this._initStarted.promise;this._pendingSessionRequest="";this._pendingKernelName=this.noKernelName;return this._shutdownSession()}async initialize(){if(this._initializing){return this._initPromise.promise}this._initializing=true;const e=await this._initialize();if(!e){this._isReady=true;this._ready.resolve(undefined)}if(!this._pendingSessionRequest){this._initStarted.resolve(void 0)}this._initPromise.resolve(e);return e}async _initialize(){const e=this.sessionManager;await e.ready;await e.refreshRunning();const t=(0,d.find)(e.running(),(e=>e.path===this._path));if(t){try{const n=e.connectTo({model:t});this._handleNewSession(n)}catch(n){void this._handleSessionError(n);return Promise.reject(n)}}return await this._startIfNecessary()}async _shutdownSession(){var e;const t=this._session;const n=this._isTerminating;const i=this._isReady;this._isTerminating=true;this._isReady=false;this._statusChanged.emit("terminating");try{await(t===null||t===void 0?void 0:t.shutdown());this._isTerminating=false;t===null||t===void 0?void 0:t.dispose();this._session=null;const e=(t===null||t===void 0?void 0:t.kernel)||null;this._statusChanged.emit("unknown");this._kernelChanged.emit({name:"kernel",oldValue:e,newValue:null});this._sessionChanged.emit({name:"session",oldValue:t,newValue:null})}catch(s){this._isTerminating=n;this._isReady=i;const o=(e=t===null||t===void 0?void 0:t.kernel)===null||e===void 0?void 0:e.status;if(o===undefined){this._statusChanged.emit("unknown")}else{this._statusChanged.emit(o)}throw s}return}async _startIfNecessary(){var e;const t=this.kernelPreference;if(this.isDisposed||((e=this.session)===null||e===void 0?void 0:e.kernel)||t.shouldStart===false||t.canStart===false){return false}return this.startKernel()}async _changeKernel(e={}){if(e.name){this._pendingKernelName=e.name}if(!this._session){this._kernelChanged.emit({name:"kernel",oldValue:null,newValue:null})}if(!this._pendingSessionRequest){this._initStarted.resolve(void 0)}if(this._session&&!this._isTerminating){try{await this._session.changeKernel(e);return this._session.kernel}catch(i){void this._handleSessionError(i);throw i}}const t=l.PathExt.dirname(this._path);const n=this._pendingSessionRequest=l.PathExt.join(t,c.UUID.uuid4());try{this._statusChanged.emit("starting");const t=await this.sessionManager.startNew({path:n,type:this._type,name:this._name,kernel:e});if(this._pendingSessionRequest!==t.path){await t.shutdown();t.dispose();return null}await t.setPath(this._path);await t.setName(this._name);if(this._session&&!this._isTerminating){await this._shutdownSession()}return this._handleNewSession(t)}catch(i){void this._handleSessionError(i);throw i}}_handleNewSession(e){var t,n,i;if(this.isDisposed){throw Error("Disposed")}if(!this._isReady){this._isReady=true;this._ready.resolve(undefined)}if(this._session){this._session.dispose()}this._session=e;this._pendingKernelName="";if(e){this._prevKernelName=(n=(t=e.kernel)===null||t===void 0?void 0:t.name)!==null&&n!==void 0?n:"";e.disposed.connect(this._onSessionDisposed,this);e.propertyChanged.connect(this._onPropertyChanged,this);e.kernelChanged.connect(this._onKernelChanged,this);e.statusChanged.connect(this._onStatusChanged,this);e.connectionStatusChanged.connect(this._onConnectionStatusChanged,this);e.pendingInput.connect(this._onPendingInput,this);e.iopubMessage.connect(this._onIopubMessage,this);e.unhandledMessage.connect(this._onUnhandledMessage,this);if(e.path!==this._path){this._onPropertyChanged(e,"path")}if(e.name!==this._name){this._onPropertyChanged(e,"name")}if(e.type!==this._type){this._onPropertyChanged(e,"type")}}this._sessionChanged.emit({name:"session",oldValue:null,newValue:e});this._kernelChanged.emit({oldValue:null,newValue:(e===null||e===void 0?void 0:e.kernel)||null,name:"kernel"});this._statusChanged.emit(((i=e===null||e===void 0?void 0:e.kernel)===null||i===void 0?void 0:i.status)||"unknown");return(e===null||e===void 0?void 0:e.kernel)||null}async _handleSessionError(e){this._handleNewSession(null);let t="";let n="";try{t=e.traceback;n=e.message}catch(e){}await this._displayKernelError(n,t)}async _displayKernelError(e,t){const n=r.createElement("div",null,e&&r.createElement("pre",null,e),t&&r.createElement("details",{className:"jp-mod-wide"},r.createElement("pre",null,t)));const i=this._dialog=new v({title:this._trans.__("Error Starting Kernel"),body:n,buttons:[v.okButton()]});await i.launch();this._dialog=null}_onSessionDisposed(){if(this._session){const e=this._session;this._session=null;const t=this._session;this._sessionChanged.emit({name:"session",oldValue:e,newValue:t})}}_onPropertyChanged(e,t){switch(t){case"path":this._path=e.path;break;case"name":this._name=e.name;break;case"type":this._type=e.type;break;default:throw new Error(`unrecognized property ${t}`)}this._propertyChanged.emit(t)}_onKernelChanged(e,t){this._kernelChanged.emit(t)}_onStatusChanged(e,t){var n;if(t==="dead"){const t=(n=e.kernel)===null||n===void 0?void 0:n.model;if(t===null||t===void 0?void 0:t.reason){const e=t.traceback||"";void this._displayKernelError(t.reason,e)}}if(this._setBusy){if(t==="busy"){if(!this._busyDisposable){this._busyDisposable=this._setBusy()}}else{if(this._busyDisposable){this._busyDisposable.dispose();this._busyDisposable=null}}}this._statusChanged.emit(t)}_onConnectionStatusChanged(e,t){this._connectionStatusChanged.emit(t)}_onPendingInput(e,t){this._pendingInput=t}_onIopubMessage(e,t){if(t.header.msg_type==="shutdown_reply"){this.session.kernel.removeInputGuard()}this._iopubMessage.emit(t)}_onUnhandledMessage(e,t){this._unhandledMessage.emit(t)}}(function(e){function t(e){const{preference:t}=e;const{shouldStart:n}=t;if(n===false){return null}return w.getDefaultKernel(e)}e.getDefaultKernel=t})(b||(b={}));class y{constructor(e={}){var t;this._translator=(t=e.translator)!==null&&t!==void 0?t:s.nullTranslator;this._settingRegistry=e.settingRegistry||null}async selectKernel(e){if(e.isDisposed){return Promise.resolve()}const t=this._translator;const n=t.load("jupyterlab");let i=n.__("Cancel");if(e.hasNoKernel){i=e.kernelDisplayName}const s=[v.cancelButton({label:i}),v.okButton({label:n.__("Select"),ariaLabel:n.__("Select Kernel")})];const o=e.kernelPreference.autoStartDefault;const r=typeof o==="boolean";const a=new v({title:n.__("Select Kernel"),body:w.createKernelSelector(e,t),buttons:s,checkbox:r?{label:n.__("Always start the preferred kernel"),caption:n.__("Remember my choice and always start the preferred kernel"),checked:o}:null});const l=await a.launch();if(e.isDisposed||!l.button.accept){return}if(r&&l.isChecked!==null){e.kernelPreference={...e.kernelPreference,autoStartDefault:l.isChecked}}const d=l.value;if(d===null&&!e.hasNoKernel){return e.shutdown()}if(d){await e.changeKernel(d)}}async restart(e,t){var n,i,s,o,r;const a=this._translator.load("jupyterlab");await e.initialize();if(e.isDisposed){throw new Error("session already disposed")}const l=(n=e.session)===null||n===void 0?void 0:n.kernel;if(!l&&e.prevKernelName){await e.changeKernel({name:e.prevKernelName});return true}if(!l){throw new Error("No kernel to restart")}const d="@jupyterlab/apputils-extension:sessionDialogs";const c=(s=(i=e.kernelPreference)===null||i===void 0?void 0:i.skipKernelRestartDialog)!==null&&s!==void 0?s:false;const h=(r=await((o=this._settingRegistry)===null||o===void 0?void 0:o.get(d,"skipKernelRestartDialog")))===null||r===void 0?void 0:r.composite;if(h||c){await e.restartKernel();return true}const u=v.warnButton({label:a.__("Restart"),ariaLabel:a.__("Confirm Kernel Restart")});const p=await g({title:a.__("Restart Kernel?"),body:a.__("Do you want to restart the kernel of %1? All variables will be lost.",e.name),buttons:[v.cancelButton({ariaLabel:a.__("Cancel Kernel Restart")}),u],checkbox:{label:a.__("Do not ask me again."),caption:a.__("If checked, the kernel will restart without confirmation prompt in the future; you can change this back in the settings.")}});if(l.isDisposed){return false}if(p.button.accept){if(typeof p.isChecked==="boolean"&&p.isChecked==true){e.kernelPreference={...e.kernelPreference,skipKernelRestartDialog:true}}await(t===null||t===void 0?void 0:t.onBeforeRestart());await e.restartKernel();return true}return false}}(function(e){function t(e,t=null){var n,i,o,r,a,d,c;const h={disabled:false,groups:[]};const u=Array.from((i=(n=e.kernelManager)===null||n===void 0?void 0:n.running())!==null&&i!==void 0?i:Array.from(e.sessionManager.running()).filter((e=>!!e.kernel)).map((e=>e.kernel)));const p=Array.from((o=e.sessionManager.running())!==null&&o!==void 0?o:[]).reduce(((e,t)=>{var n;if((n=t.kernel)===null||n===void 0?void 0:n.id)e[t.kernel.id]=t;return e}),{});const m={...e.kernelPreference,id:(a=(r=e.session)===null||r===void 0?void 0:r.kernel)===null||a===void 0?void 0:a.id};const g=!e.hasNoKernel?e.kernelDisplayName:null;const f={default:"",kernelspecs:Object.create(null),...e.specsManager.specs};const v=[];const _=Object.create(null);for(const s in f.kernelspecs){v.push(f.kernelspecs[s]);_[s]=f.kernelspecs[s].language}v.sort(((e,t)=>e.display_name.localeCompare(t.display_name)));t=t||s.nullTranslator;const b=t.load("jupyterlab");const y=m.language||_[m.name]||(m.id?_[(d=p[m.id])===null||d===void 0?void 0:d.name]:"");const w={connectKernel:b.__("Connect to Existing Kernel"),startPreferred:b.__("Start %1 Kernel",y),startOther:b.__("Start Kernel"),connectToPreferred:b.__("Connect to Existing %1 Kernel",y),connectToOther:b.__("Connect to Other Kernel"),noKernel:b.__("No Kernel"),startKernel:b.__("Start Kernel"),useNoKernel:b.__("Use No Kernel")};const C={label:w.useNoKernel,options:[{text:w.noKernel,title:w.noKernel,value:JSON.stringify(null)}]};const x=(e,t,n)=>{const i=n?n.name||l.PathExt.basename(n.path):e.name||b.__("Unknown Kernel");return{text:`${i} (${e.id.split("-")[0]})`,title:(n?`${b.__("Path: %1",n.path)}\n`:``)+`${b.__("Name: %1",i)}\n`+`${b.__("Kernel Name: %1",t!==null&&t!==void 0?t:e.name)}\n`+`${b.__("Kernel Id: %1",e.id)}`,value:JSON.stringify({id:e.id})}};const S=e=>({text:e.display_name,value:JSON.stringify({name:e.name})});if(m.canStart===false){h.disabled=true;h.groups.push(C);return h}if(y){const e={label:w.startPreferred,options:[]};const t={label:w.startOther,options:[]};const n={label:w.connectToPreferred,options:[]};const i={label:w.connectToOther,options:[]};for(const s of v){(s.language===y?e:t).options.push(S(s))}h.groups.push(e);h.groups.push(C);h.groups.push(t);u.map((e=>{var t,n;return{option:x(e,(n=(t=f.kernelspecs[e.name])===null||t===void 0?void 0:t.display_name)!==null&&n!==void 0?n:"",p[e.id]),language:_[e.name]}})).sort(((e,t)=>e.option.text.localeCompare(t.option.text))).forEach((e=>(y===e.language?n:i).options.push(e.option)));if(n.options.length)h.groups.push(n);if(i.options.length)h.groups.push(i)}else{h.groups.push({label:w.startKernel,options:v.map((e=>S(e)))});h.groups.push(C);h.groups.push({label:w.connectKernel,options:u.map((e=>{var t,n;return x(e,(n=(t=f.kernelspecs[e.name])===null||t===void 0?void 0:t.display_name)!==null&&n!==void 0?n:"",p[e.id])})).sort(((e,t)=>e.text.localeCompare(t.text)))})}if(m.id||g||m.name){for(const e of h.groups){for(const t of e.options){const e=JSON.parse(t.value);if(!e)continue;if(m.id){if(m.id===e.id){t.selected=true;return h}continue}if(g){if(g===((c=f.kernelspecs[e.name])===null||c===void 0?void 0:c.display_name)){t.selected=true;return h}continue}if(m.name){if(m.name===e.name){t.selected=true;return h}continue}}}}return h}e.kernelOptions=t})(y||(y={}));var w;(function(e){e.createKernelSelector=(e,i)=>new t({node:n(e,i)});class t extends o.Widget{getValue(){const e=this.node.querySelector("select");return JSON.parse(e.value)}}function n(e,t){t=t||s.nullTranslator;const n=t.load("jupyterlab");const i=document.createElement("div");const o=document.createElement("label");o.textContent=`${n.__("Select kernel for:")} "${e.name}"`;i.appendChild(o);const r=document.createElement("select");const a=y.kernelOptions(e,t);if(a.disabled)r.disabled=true;for(const s of a.groups){const{label:e,options:t}=s;const n=document.createElement("optgroup");n.label=e;for(const{selected:i,text:s,title:o,value:r}of t){const e=document.createElement("option");if(i)e.selected=true;if(o)e.title=o;e.text=s;e.value=r;n.appendChild(e)}r.appendChild(n)}i.appendChild(r);return i}function i(e){var t;const{specs:n,preference:i}=e;const{name:s,language:o,canStart:r,autoStartDefault:a}=i;if(!n||r===false){return null}const l=a?n.default:null;if(!s&&!o){return l}for(const c in n.kernelspecs){if(c===s){return s}}if(!o){return l}const d=[];for(const c in n.kernelspecs){const e=(t=n.kernelspecs[c])===null||t===void 0?void 0:t.language;if(o===e){d.push(c)}}if(d.length===1){const e=d[0];console.warn("No exact match found for "+e+", using kernel "+e+" that matches "+"language="+o);return e}return l}e.getDefaultKernel=i})(w||(w={}));var C=n(4625);function x(e){e=e||s.nullTranslator;const t=e.load("jupyterlab");const n={unknown:t.__("Unknown"),starting:t.__("Starting"),idle:t.__("Idle"),busy:t.__("Busy"),terminating:t.__("Terminating"),restarting:t.__("Restarting"),autorestarting:t.__("Autorestarting"),dead:t.__("Dead"),connected:t.__("Connected"),connecting:t.__("Connecting"),disconnected:t.__("Disconnected"),initializing:t.__("Initializing"),"":""};return n}function S(e){const t=e.translator||s.nullTranslator;const n=t.load("jupyterlab");let i="";if(e.status){i=` | ${e.status}`}return a().createElement(C.TextItem,{role:"button","aria-haspopup":true,onClick:e.handleClick,onKeyDown:e.handleKeyDown,source:`${e.kernelName}${i}`,title:n.__("Change kernel for %1",e.activityName),tabIndex:0})}class j extends i.VDomRenderer{constructor(e,t){super(new j.Model(t));this.translator=t||s.nullTranslator;this._handleClick=e.onClick;this._handleKeyDown=e.onKeyDown;this.addClass("jp-mod-highlighted")}render(){if(this.model===null){return null}else{return a().createElement(S,{status:this.model.status,kernelName:this.model.kernelName,activityName:this.model.activityName,handleClick:this._handleClick,handleKeyDown:this._handleKeyDown,translator:this.translator})}}}(function(e){class t extends i.VDomModel{constructor(e){super();this._activityName="";this._kernelName="";this._kernelStatus="";this._sessionContext=null;e=e!==null&&e!==void 0?e:s.nullTranslator;this._trans=e.load("jupyterlab");this._statusNames=x(e)}get kernelName(){return this._kernelName}get status(){return this._kernelStatus?this._statusNames[this._kernelStatus]:undefined}get activityName(){return this._activityName}set activityName(e){const t=this._activityName;if(t===e){return}this._activityName=e;this.stateChanged.emit()}get sessionContext(){return this._sessionContext}set sessionContext(e){var t,n,i,s;(t=this._sessionContext)===null||t===void 0?void 0:t.statusChanged.disconnect(this._onKernelStatusChanged,this);(n=this._sessionContext)===null||n===void 0?void 0:n.connectionStatusChanged.disconnect(this._onKernelStatusChanged,this);(i=this._sessionContext)===null||i===void 0?void 0:i.kernelChanged.disconnect(this._onKernelChanged,this);const o=this._getAllState();this._sessionContext=e;this._kernelStatus=e===null||e===void 0?void 0:e.kernelDisplayStatus;this._kernelName=(s=e===null||e===void 0?void 0:e.kernelDisplayName)!==null&&s!==void 0?s:this._trans.__("No Kernel");e===null||e===void 0?void 0:e.statusChanged.connect(this._onKernelStatusChanged,this);e===null||e===void 0?void 0:e.connectionStatusChanged.connect(this._onKernelStatusChanged,this);e===null||e===void 0?void 0:e.kernelChanged.connect(this._onKernelChanged,this);this._triggerChange(o,this._getAllState())}_onKernelStatusChanged(){var e;this._kernelStatus=(e=this._sessionContext)===null||e===void 0?void 0:e.kernelDisplayStatus;this.stateChanged.emit(void 0)}_onKernelChanged(e,t){var n;const i=this._getAllState();this._kernelStatus=(n=this._sessionContext)===null||n===void 0?void 0:n.kernelDisplayStatus;this._kernelName=e.kernelDisplayName;this._triggerChange(i,this._getAllState())}_getAllState(){return[this._kernelName,this._kernelStatus,this._activityName]}_triggerChange(e,t){if(c.JSONExt.deepEqual(e,t)){this.stateChanged.emit(void 0)}}}e.Model=t})(j||(j={}));const k="jp-Toolbar-kernelName";const I="jp-Toolbar-kernelStatus";var T;(function(e){function t(e,t){t=t||s.nullTranslator;const n=t.load("jupyterlab");return new i.ToolbarButton({icon:i.stopIcon,onClick:()=>{var t,n;void((n=(t=e.session)===null||t===void 0?void 0:t.kernel)===null||n===void 0?void 0:n.interrupt())},tooltip:n.__("Interrupt the kernel")})}e.createInterruptButton=t;function n(e,t,n){n=n!==null&&n!==void 0?n:s.nullTranslator;const o=n.load("jupyterlab");return new i.ToolbarButton({icon:i.refreshIcon,onClick:()=>{void(t!==null&&t!==void 0?t:new y({translator:n})).restart(e)},tooltip:o.__("Restart the kernel")})}e.createRestartButton=n;function o(e,t,n){const s=i.ReactWidget.create(r.createElement(E.KernelNameComponent,{sessionContext:e,dialogs:t!==null&&t!==void 0?t:new y({translator:n}),translator:n}));s.addClass("jp-KernelName");return s}e.createKernelNameItem=o;function a(e,t){return new E.KernelStatus(e,t)}e.createKernelStatusItem=a})(T||(T={}));var E;(function(e){function t(e){const t=e.translator||s.nullTranslator;const n=t.load("jupyterlab");const o=()=>{void e.dialogs.selectKernel(e.sessionContext)};return r.createElement(i.UseSignal,{signal:e.sessionContext.kernelChanged,initialSender:e.sessionContext},(e=>r.createElement(i.ToolbarButtonComponent,{className:k,onClick:o,tooltip:n.__("Switch kernel"),label:e===null||e===void 0?void 0:e.kernelDisplayName})))}e.KernelNameComponent=t;class n extends o.Widget{constructor(e,t){super();this.translator=t||s.nullTranslator;this._trans=this.translator.load("jupyterlab");this.addClass(I);this._statusNames=x(this.translator);this._onStatusChanged(e);e.statusChanged.connect(this._onStatusChanged,this);e.connectionStatusChanged.connect(this._onStatusChanged,this)}_onStatusChanged(e){if(this.isDisposed){return}const t=e.kernelDisplayStatus;const n={container:this.node,title:this._trans.__("Kernel %1",this._statusNames[t]||t),stylesheet:"toolbarButton",alignSelf:"normal",height:"24px"};i.LabIcon.remove(this.node);if(t==="busy"||t==="starting"||t==="terminating"||t==="restarting"||t==="initializing"){i.circleIcon.element(n)}else if(t==="connecting"||t==="disconnected"||t==="unknown"){i.offlineBoltIcon.element(n)}else{i.circleEmptyIcon.element(n)}}}e.KernelStatus=n})(E||(E={}));var M;(function(e){function t(){return A.instance}e.getInstance=t;function n(e){A.instance=e}e.setInstance=n;function i(e){const t=document.body;const n=i=>{const s=i.clipboardData||window.clipboardData;if(typeof e==="string"){s.setData("text",e)}else{e.types().map((t=>{s.setData(t,e.getData(t))}))}i.preventDefault();t.removeEventListener("copy",n)};t.addEventListener("copy",n);s(t)}e.copyToSystem=i;function s(e,t="copy"){let n=window.getSelection();const i=[];for(let o=0,r=(n===null||n===void 0?void 0:n.rangeCount)||0;o<r;++o){i[o]=n.getRangeAt(o).cloneRange()}const s=document.createRange();s.selectNodeContents(e);if(n){n.removeAllRanges();n.addRange(s)}document.execCommand(t);n=window.getSelection();if(n){n.removeAllRanges();for(let e=0,t=i.length;e<t;++e){n.addRange(i[e])}}}e.generateEvent=s})(M||(M={}));var D;(function(e){function t(){return A.systemInstance}e.getInstance=t})(D||(D={}));var A;(function(e){const t="application/vnd.jupyter.cells";class n{constructor(e){this.fallback=e||new c.MimeData;const{systemClipboard:t}=this;if(!t){console.warn("Clipboard API not available")}}clear(){this.fallback.clear()}async hasData(e){const{systemClipboard:t}=this;if(!t){return this.fallback.hasData(e)}let n;try{n=await t.readText()}catch(i){console.warn("Failed to read data from clipboard:",i);if(i.name==="NotAllowedError"){return this.fallback.hasData(e)}return false}try{this.convertStringToData(e,n);return true}catch(i){return false}}async getData(e){const{systemClipboard:t}=this;if(!t){return this.fallback.getData(e)}try{const n=await t.readText();return this.convertStringToData(e,n)}catch(n){console.warn("Failed to read data from clipboard:",n);if(n.name==="NotAllowedError"){return this.fallback.getData(e)}return null}}async setData(e,t){const{systemClipboard:n}=this;if(!n){this.fallback.clear();this.fallback.setData(e,t);return}try{await n.writeText(this.convertDataToString(e,t))}catch(i){console.warn("Failed to write data to clipboard:",i);this.fallback.clear();this.fallback.setData(e,t)}}convertDataToString(e,n){if(e===t){return JSON.stringify(n)}return(n||"").toString()}convertStringToData(e,n){if(e===t){return JSON.parse(n)}return n}get systemClipboard(){return navigator.clipboard}}e.instance=new c.MimeData;e.systemInstance=new n})(A||(A={}));const P="commandlinker-command";const L="commandlinker-args";class R{constructor(e){this._isDisposed=false;this._commands=e.commands;document.body.addEventListener("click",this)}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;document.body.removeEventListener("click",this)}connectNode(e,t,n){e.setAttribute(`data-${P}`,t);if(n!==void 0){e.setAttribute(`data-${L}`,JSON.stringify(n))}return e}disconnectNode(e){e.removeAttribute(`data-${P}`);e.removeAttribute(`data-${L}`);return e}handleEvent(e){switch(e.type){case"click":this._evtClick(e);break;default:return}}populateVNodeDataset(e,t){let n;if(t!==void 0){n={[L]:JSON.stringify(t),[P]:e}}else{n={[P]:e}}return n}_evtClick(e){let t=e.target;while(t&&t.parentElement){if(t.hasAttribute(`data-${P}`)){e.preventDefault();const n=t.getAttribute(`data-${P}`);if(!n){return}const i=t.getAttribute(`data-${L}`);let s=c.JSONExt.emptyObject;if(i){s=JSON.parse(i)}void this._commands.execute(n,s);return}t=t.parentElement}}}const N="jp-SearchIconGroup";class B extends o.Panel{constructor(e){super();this._options=e;this.addClass("jp-ModalCommandPalette");this.addClass("jp-ThemedContainer");this.id="modal-command-palette";this.palette=e.commandPalette;this._commandPalette.commands.commandExecuted.connect((()=>{if(this.isAttached&&this.isVisible){this.hideAndReset()}}));this.node.tabIndex=0}get palette(){return this._commandPalette}set palette(e){this._commandPalette=e;if(!this.searchIconGroup){this._commandPalette.inputNode.insertAdjacentElement("afterend",this.createSearchIconGroup())}this.addWidget(e);this.hideAndReset()}attach(){o.Widget.attach(this,document.body)}detach(){o.Widget.detach(this)}hideAndReset(){var e,t;this.hide();this._commandPalette.inputNode.value="";this._commandPalette.refresh();(t=(e=this._options).restore)===null||t===void 0?void 0:t.call(e)}handleEvent(e){switch(e.type){case"keydown":this._evtKeydown(e);break;case"blur":{if(this.node.contains(e.target)&&!this.node.contains(e.relatedTarget)){e.stopPropagation();this.hideAndReset()}break}case"contextmenu":e.preventDefault();e.stopPropagation();break;default:break}}get searchIconGroup(){return this._commandPalette.node.getElementsByClassName(N)[0]}createSearchIconGroup(){const e=document.createElement("div");e.classList.add(N);i.searchIcon.render(e);return e}onAfterAttach(e){this.node.addEventListener("keydown",this,true);this.node.addEventListener("contextmenu",this,true)}onAfterDetach(e){this.node.removeEventListener("keydown",this,true);this.node.removeEventListener("contextmenu",this,true)}onBeforeHide(e){document.removeEventListener("blur",this,true)}onAfterShow(e){document.addEventListener("blur",this,true)}onActivateRequest(e){if(this.isAttached){this.show();this._commandPalette.activate()}}_evtKeydown(e){switch(e.keyCode){case 27:e.stopPropagation();e.preventDefault();this.hideAndReset();break;default:break}}}var O=n(76326);var F;(function(e){function t(e,t,n){return d.ArrayExt.findFirstIndex(e,(e=>O.ElementExt.hitTest(e,t,n)))}e.hitTestNodes=t;function n(e,t){return e.querySelector(`.${t}`)}e.findElement=n;function i(e,t){return e.getElementsByClassName(t)}e.findElements=i;function s(){return`id-${c.UUID.uuid4()}`}e.createDomID=s;function o(e,t=document){const n=t.activeElement;return!!(n&&e.contains(n)&&(n.matches(":read-write")||n.shadowRoot&&o(n.shadowRoot,n.shadowRoot)))}e.hasActiveEditableElement=o})(F||(F={}));const z="jp-Input-Dialog";const W="jp-Input-Boolean-Dialog";var H;(function(e){function t(e){return g({...e,body:new U(e),buttons:[v.cancelButton({label:e.cancelLabel}),v.okButton({label:e.okLabel})],focusNodeSelector:"input"})}e.getBoolean=t;function n(e){return g({...e,body:new q(e),buttons:[v.cancelButton({label:e.cancelLabel}),v.okButton({label:e.okLabel})],focusNodeSelector:"input"})}e.getNumber=n;function i(e){return g({...e,body:new G(e),buttons:[v.cancelButton({label:e.cancelLabel}),v.okButton({label:e.okLabel})],focusNodeSelector:e.editable?"input":"select"})}e.getItem=i;function s(e){return g({...e,body:new Y(e),buttons:[v.cancelButton({label:e.cancelLabel}),v.okButton({label:e.okLabel})]})}e.getMultipleItems=s;function o(e){return g({...e,body:new K(e),buttons:[v.cancelButton({label:e.cancelLabel}),v.okButton({label:e.okLabel})],focusNodeSelector:"input"})}e.getText=o;function r(e){return g({...e,body:new J(e),buttons:[v.cancelButton({label:e.cancelLabel}),v.okButton({label:e.okLabel})],focusNodeSelector:"input"})}e.getPassword=r})(H||(H={}));class V extends o.Widget{constructor(e){super();this.addClass(z);this._input=document.createElement("input");this._input.classList.add("jp-mod-styled");this._input.id="jp-dialog-input-id";if(e.label!==undefined){const t=document.createElement("label");t.textContent=e.label;t.htmlFor=this._input.id;this.node.appendChild(t)}const t=document.createElement("div");t.className="jp-InputDialog-inputWrapper";if(e.prefix){const n=document.createElement("span");n.className="jp-InputDialog-inputPrefix";n.textContent=e.prefix;n.ariaHidden="true";t.appendChild(n)}t.appendChild(this._input);if(e.suffix){const n=document.createElement("span");n.className="jp-InputDialog-inputSuffix";n.textContent=e.suffix;n.ariaHidden="true";t.appendChild(n)}this.node.appendChild(t)}}class U extends V{constructor(e){super(e);this.addClass(W);this._input.type="checkbox";this._input.checked=e.value?true:false}getValue(){return this._input.checked}}class q extends V{constructor(e){super(e);this._input.type="number";this._input.value=e.value?e.value.toString():"0"}getValue(){if(this._input.value){return Number(this._input.value)}else{return Number.NaN}}}class $ extends V{constructor(e){super(e);this._input.value=e.text?e.text:"";if(e.placeholder){this._input.placeholder=e.placeholder}if(e.pattern){this._input.pattern=e.pattern}if(e.required){this._input.required=e.required}}getValue(){return this._input.value}}class K extends ${constructor(e){var t;super(e);this._input.type="text";this._initialSelectionRange=Math.min(this._input.value.length,Math.max(0,(t=e.selectionRange)!==null&&t!==void 0?t:this._input.value.length))}onAfterAttach(e){super.onAfterAttach(e);if(this._initialSelectionRange>0&&this._input.value){this._input.setSelectionRange(0,this._initialSelectionRange)}}}class J extends ${constructor(e){super(e);this._input.type="password"}onAfterAttach(e){super.onAfterAttach(e);if(this._input.value){this._input.select()}}}class G extends V{constructor(e){super(e);this._editable=e.editable||false;let t=e.current||0;let n;if(typeof t==="number"){n=Math.max(0,Math.min(t,e.items.length-1));t=""}this._list=document.createElement("select");e.items.forEach(((e,i)=>{const s=document.createElement("option");if(i===n){s.selected=true;t=e}s.value=e;s.textContent=e;this._list.appendChild(s)}));if(e.editable){const n=document.createElement("datalist");n.id="input-dialog-items";n.appendChild(this._list);this._input.type="list";this._input.value=t;this._input.setAttribute("list",n.id);if(e.placeholder){this._input.placeholder=e.placeholder}this.node.appendChild(n)}else{this._input.parentElement.replaceChild(this._list,this._input)}}getValue(){if(this._editable){return this._input.value}else{return this._list.value}}}class Y extends V{constructor(e){super(e);let t=e.defaults||[];this._list=document.createElement("select");this._list.setAttribute("multiple","");e.items.forEach((e=>{const t=document.createElement("option");t.value=e;t.textContent=e;this._list.appendChild(t)}));this._input.remove();this.node.appendChild(this._list);const n=this._list.options;for(let i=0;i<n.length;i++){const e=n[i];if(t.includes(e.value)){e.selected=true}else{e.selected=false}}}getValue(){let e=[];for(let t of this._list.options){if(t.selected&&!t.classList.contains("hidden")){e.push(t.value||t.text)}}return e}}var X=n(49278);var Q=n(97290);const Z="jp-Licenses-Filters-title";class ee extends o.SplitPanel{constructor(e){super();this.addClass("jp-Licenses");this.model=e.model;this.initLeftPanel();this.initFilters();this.initBundles();this.initGrid();this.initLicenseText();this.setRelativeSizes([1,2,3]);void this.model.initLicenses().then((()=>this._updateBundles()));this.model.trackerDataChanged.connect((()=>{this.title.label=this.model.title}))}dispose(){if(this.isDisposed){return}this._bundles.currentChanged.disconnect(this.onBundleSelected,this);this.model.dispose();super.dispose()}initLeftPanel(){this._leftPanel=new o.Panel;this._leftPanel.addClass("jp-Licenses-FormArea");this.addWidget(this._leftPanel);o.SplitPanel.setStretch(this._leftPanel,1)}initFilters(){this._filters=new ee.Filters(this.model);o.SplitPanel.setStretch(this._filters,1);this._leftPanel.addWidget(this._filters)}initBundles(){this._bundles=new o.TabBar({orientation:"vertical",renderer:new ee.BundleTabRenderer(this.model)});this._bundles.addClass("jp-Licenses-Bundles");o.SplitPanel.setStretch(this._bundles,1);this._leftPanel.addWidget(this._bundles);this._bundles.currentChanged.connect(this.onBundleSelected,this);this.model.stateChanged.connect((()=>this._bundles.update()))}initGrid(){this._grid=new ee.Grid(this.model);o.SplitPanel.setStretch(this._grid,1);this.addWidget(this._grid)}initLicenseText(){this._licenseText=new ee.FullText(this.model);o.SplitPanel.setStretch(this._grid,1);this.addWidget(this._licenseText)}onBundleSelected(){var e;if((e=this._bundles.currentTitle)===null||e===void 0?void 0:e.label){this.model.currentBundleName=this._bundles.currentTitle.label}}_updateBundles(){this._bundles.clearTabs();let e=0;const{currentBundleName:t}=this.model;let n=0;for(const i of this.model.bundleNames){const s=new o.Widget;s.title.label=i;if(i===t){n=e}this._bundles.insertTab(++e,s.title)}this._bundles.currentIndex=n}}(function(e){e.REPORT_FORMATS={markdown:{id:"markdown",title:"Markdown",icon:i.markdownIcon},csv:{id:"csv",title:"CSV",icon:i.spreadsheetIcon},json:{id:"json",title:"JSON",icon:i.jsonIcon}};e.DEFAULT_FORMAT="markdown";class t{constructor(e={}){var t;this._preferredLicensesUrl=e.licensesUrl;this._serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:X.ServerConnection.makeSettings()}async download(e){const t=`${this._licensesUrl}?format=${e.format}&download=1`;const n=document.createElement("a");n.href=t;n.download="";document.body.appendChild(n);n.click();document.body.removeChild(n);URL.revokeObjectURL(t);return void 0}async getBundles(){const e=await X.ServerConnection.makeRequest(this._licensesUrl,{},this._serverSettings);return e.json()}get _licensesUrl(){var e;return(e=this._preferredLicensesUrl)!==null&&e!==void 0?e:l.URLExt.join(this._serverSettings.baseUrl,l.PageConfig.getOption("licensesUrl"))+"/"}}e.LicensesClient=t;class n extends i.VDomModel{constructor(e){super();this._selectedPackageChanged=new h.Signal(this);this._trackerDataChanged=new h.Signal(this);this._currentPackageIndex=0;this._licensesReady=new c.PromiseDelegate;this._packageFilter={};this._trans=e.trans;this._client=e.client;if(e.currentBundleName){this._currentBundleName=e.currentBundleName}if(e.packageFilter){this._packageFilter=e.packageFilter}if(e.currentPackageIndex){this._currentPackageIndex=e.currentPackageIndex}}async initLicenses(){try{this._serverResponse=await this._client.getBundles();this._licensesReady.resolve();this.stateChanged.emit(void 0)}catch(e){this._licensesReady.reject(e)}}async download(e){return this._client.download(e)}get selectedPackageChanged(){return this._selectedPackageChanged}get trackerDataChanged(){return this._trackerDataChanged}get bundleNames(){var e;return Object.keys(((e=this._serverResponse)===null||e===void 0?void 0:e.bundles)||{})}get currentBundleName(){if(this._currentBundleName){return this._currentBundleName}if(this.bundleNames.length){return this.bundleNames[0]}return null}set currentBundleName(e){if(this._currentBundleName!==e){this._currentBundleName=e;this.stateChanged.emit(void 0);this._trackerDataChanged.emit(void 0)}}get licensesReady(){return this._licensesReady.promise}get bundles(){var e;return((e=this._serverResponse)===null||e===void 0?void 0:e.bundles)||{}}get currentPackageIndex(){return this._currentPackageIndex}set currentPackageIndex(e){if(this._currentPackageIndex===e){return}this._currentPackageIndex=e;this._selectedPackageChanged.emit(void 0);this.stateChanged.emit(void 0);this._trackerDataChanged.emit(void 0)}get currentPackage(){var e;if(this.currentBundleName&&this.bundles&&this._currentPackageIndex!=null){return this.getFilteredPackages(((e=this.bundles[this.currentBundleName])===null||e===void 0?void 0:e.packages)||[])[this._currentPackageIndex]}return null}get trans(){return this._trans}get title(){return`${this._currentBundleName||""} ${this._trans.__("Licenses")}`.trim()}get packageFilter(){return this._packageFilter}set packageFilter(e){this._packageFilter=e;this.stateChanged.emit(void 0);this._trackerDataChanged.emit(void 0)}getFilteredPackages(e){let t=[];let n=Object.entries(this._packageFilter).filter((([e,t])=>t&&`${t}`.trim().length)).map((([e,t])=>[e,`${t}`.toLowerCase().trim().split(" ")]));for(const i of e){let e=0;for(const[t,s]of n){let n=0;let o=`${i[t]}`.toLowerCase();for(const e of s){if(o.includes(e)){n+=1}}if(n){e+=1}}if(e===n.length){t.push(i)}}return Object.values(t)}}e.Model=n;class s extends i.VDomRenderer{constructor(e){super(e);this.renderFilter=e=>{const t=this.model.packageFilter[e]||"";return r.createElement("input",{type:"text",name:e,defaultValue:t,className:"jp-mod-styled",onInput:this.onFilterInput})};this.onFilterInput=e=>{const t=e.currentTarget;const{name:n,value:i}=t;this.model.packageFilter={...this.model.packageFilter,[n]:i}};this.addClass("jp-Licenses-Filters");this.addClass("jp-RenderedHTMLCommon")}render(){const{trans:e}=this.model;return r.createElement("div",null,r.createElement("label",null,r.createElement("strong",{className:Z},e.__("Filter Licenses By"))),r.createElement("ul",null,r.createElement("li",null,r.createElement("label",null,e.__("Package")),this.renderFilter("name")),r.createElement("li",null,r.createElement("label",null,e.__("Version")),this.renderFilter("versionInfo")),r.createElement("li",null,r.createElement("label",null,e.__("License")),this.renderFilter("licenseId"))),r.createElement("label",null,r.createElement("strong",{className:Z},e.__("Distributions"))))}}e.Filters=s;class a extends o.TabBar.Renderer{constructor(e){super();this.closeIconSelector=".lm-TabBar-tabCloseIcon";this.model=e}renderTab(e){let t=e.title.caption;let n=this.createTabKey(e);let i=this.createTabStyle(e);let s=this.createTabClass(e);let o=this.createTabDataset(e);return Q.h.li({key:n,className:s,title:t,style:i,dataset:o},this.renderIcon(e),this.renderLabel(e),this.renderCountBadge(e))}renderCountBadge(e){const t=e.title.label;const{bundles:n}=this.model;const i=this.model.getFilteredPackages((n&&t?n[t].packages:[])||[]);return Q.h.label({},`${i.length}`)}}e.BundleTabRenderer=a;class d extends i.VDomRenderer{constructor(e){super(e);this.renderRow=(e,t)=>{const n=t===this.model.currentPackageIndex;const i=()=>this.model.currentPackageIndex=t;return r.createElement("tr",{key:e.name,className:n?"jp-mod-selected":"",onClick:i},r.createElement("td",null,r.createElement("input",{type:"radio",name:"show-package-license",value:t,onChange:i,checked:n})),r.createElement("th",null,e.name),r.createElement("td",null,r.createElement("code",null,e.versionInfo)),r.createElement("td",null,r.createElement("code",null,e.licenseId)))};this.addClass("jp-Licenses-Grid");this.addClass("jp-RenderedHTMLCommon")}render(){var e;const{bundles:t,currentBundleName:n,trans:i}=this.model;const s=this.model.getFilteredPackages(t&&n?((e=t[n])===null||e===void 0?void 0:e.packages)||[]:[]);if(!s.length){return r.createElement("blockquote",null,r.createElement("em",null,i.__("No Packages found")))}return r.createElement("form",null,r.createElement("table",null,r.createElement("thead",null,r.createElement("tr",null,r.createElement("td",null),r.createElement("th",null,i.__("Package")),r.createElement("th",null,i.__("Version")),r.createElement("th",null,i.__("License")))),r.createElement("tbody",null,s.map(this.renderRow))))}}e.Grid=d;class u extends i.VDomRenderer{constructor(e){super(e);this.addClass("jp-Licenses-Text");this.addClass("jp-RenderedHTMLCommon");this.addClass("jp-RenderedMarkdown")}render(){const{currentPackage:e,trans:t}=this.model;let n="";let i=t.__("No Package selected");let s="";if(e){const{name:o,versionInfo:r,licenseId:a,extractedText:l}=e;n=`${o} v${r}`;i=`${t.__("License")}: ${a||t.__("No License ID found")}`;s=l||t.__("No License Text found")}return[r.createElement("h1",{key:"h1"},n),r.createElement("blockquote",{key:"quote"},r.createElement("em",null,i)),r.createElement("code",{key:"code"},s)]}}e.FullText=u})(ee||(ee={}));var te;(function(e){e.symbol=Symbol("printable");function t(t){if(typeof t!=="object"||!t){return false}return e.symbol in t}e.isPrintable=t;function n(n){if(t(n)){return n[e.symbol]()}return null}e.getPrintFunction=n;function i(e){return o(e.node)}e.printWidget=i;async function s(e,t){const n=t!==null&&t!==void 0?t:X.ServerConnection.makeSettings();const i=await(await X.ServerConnection.makeRequest(e,{},n)).text();return o(i)}e.printURL=s;async function o(e){const t=typeof e==="string";const n=r();const i=window.document.body;i.appendChild(n);if(t){n.srcdoc=e;await l(n)}else{n.src="about:blank";await l(n);a(n,e)}const s=d();c(n.contentWindow);await s;i.removeChild(n)}function r(){const e=window.document.createElement("iframe");e.setAttribute("sandbox","allow-modals allow-same-origin");const t="visibility:hidden;width:0;height:0;position:absolute;z-index:-9999;bottom:0;";e.setAttribute("style",t);e.setAttribute("width","0");e.setAttribute("height","0");return e}function a(e,t){e.contentDocument.body.appendChild(t.cloneNode(true));e.contentDocument.close()}function l(e){return new Promise((t=>{e.onload=()=>t()}))}function d(){return new Promise((e=>{const t=()=>{document.removeEventListener("mousemove",t,true);document.removeEventListener("mousedown",t,true);document.removeEventListener("keydown",t,true);e()};document.addEventListener("mousemove",t,true);document.addEventListener("mousedown",t,true);document.addEventListener("keydown",t,true)}))}function c(e){const t=e.document.execCommand("print",false);if(!t){e.print()}}})(te||(te={}));const ne=true;class ie extends o.Widget{constructor(e){super(e);this._changeGuard=false;this._spinner=new i.Spinner;this._isRevealed=false;this._evtMouseDown=()=>{if(!this.node.contains(document.activeElement)){this._focusContent()}};this.addClass("jp-MainAreaWidget");this.addClass("jp-MainAreaWidget-ContainStrict");this.id=F.createDomID();const t=(e.translator||s.nullTranslator).load("jupyterlab");const n=this._content=e.content;n.node.setAttribute("role","region");n.node.setAttribute("aria-label",t.__("main area content"));const r=this._toolbar=e.toolbar||new i.ReactiveToolbar({noFocusOnClick:true});r.node.setAttribute("role","toolbar");r.node.setAttribute("aria-label",t.__("main area toolbar"));const a=this._contentHeader=e.contentHeader||new o.BoxPanel({direction:"top-to-bottom",spacing:0});const l=this.layout=new o.BoxLayout({spacing:0});l.direction="top-to-bottom";o.BoxLayout.setStretch(r,0);o.BoxLayout.setStretch(a,0);o.BoxLayout.setStretch(n,1);l.addWidget(r);l.addWidget(a);l.addWidget(n);if(!n.id){n.id=F.createDomID()}n.node.tabIndex=-1;this._updateTitle();n.title.changed.connect(this._updateTitle,this);this.title.closable=true;this.title.changed.connect(this._updateContentTitle,this);if(e.reveal){this.node.appendChild(this._spinner.node);this._revealed=e.reveal.then((()=>{if(n.isDisposed){this.dispose();return}n.disposed.connect((()=>this.dispose()));const e=document.activeElement===this._spinner.node;this._disposeSpinner();this._isRevealed=true;if(e){this._focusContent()}})).catch((e=>{const t=new o.Widget;t.addClass("jp-MainAreaWidget-error");const i=document.createElement("pre");i.textContent=String(e);t.node.appendChild(i);o.BoxLayout.setStretch(t,1);this._disposeSpinner();n.dispose();this._content=null;r.dispose();this._toolbar=null;l.addWidget(t);this._isRevealed=true;throw t}))}else{this._spinner.dispose();this.removeClass("jp-MainAreaWidget-ContainStrict");n.disposed.connect((()=>this.dispose()));this._isRevealed=true;this._revealed=Promise.resolve(undefined)}}[te.symbol](){if(!this._content){return null}return te.getPrintFunction(this._content)}get content(){return this._content}get toolbar(){return this._toolbar}get contentHeader(){return this._contentHeader}get isRevealed(){return this._isRevealed}get revealed(){return this._revealed}onActivateRequest(e){if(this._isRevealed){this._focusContent()}else{this._spinner.node.focus()}}onAfterAttach(e){super.onAfterAttach(e);this.node.addEventListener("mousedown",this._evtMouseDown,ne)}onBeforeDetach(e){this.node.removeEventListener("mousedown",this._evtMouseDown,ne);super.onBeforeDetach(e)}onCloseRequest(e){this.dispose()}onUpdateRequest(e){if(this._content){u.MessageLoop.sendMessage(this._content,e)}}_disposeSpinner(){this.node.removeChild(this._spinner.node);this._spinner.dispose();this.removeClass("jp-MainAreaWidget-ContainStrict")}_updateTitle(){if(this._changeGuard||!this.content){return}this._changeGuard=true;const e=this.content;this.title.label=e.title.label;this.title.mnemonic=e.title.mnemonic;this.title.icon=e.title.icon;this.title.iconClass=e.title.iconClass;this.title.iconLabel=e.title.iconLabel;this.title.caption=e.title.caption;this.title.className=e.title.className;this.title.dataset=e.title.dataset;this._changeGuard=false}_updateContentTitle(){if(this._changeGuard||!this.content){return}this._changeGuard=true;const e=this.content;e.title.label=this.title.label;e.title.mnemonic=this.title.mnemonic;e.title.icon=this.title.icon;e.title.iconClass=this.title.iconClass;e.title.iconLabel=this.title.iconLabel;e.title.caption=this.title.caption;e.title.className=this.title.className;e.title.dataset=this.title.dataset;this._changeGuard=false}_focusContent(){if(!this.content){return}if(!this.content.node.contains(document.activeElement)){this.content.node.focus()}this.content.activate()}}var se;(function(e){function t(e,t){return e.filter((e=>!e.disabled)).sort(((e,t)=>{var n,i;return((n=e.rank)!==null&&n!==void 0?n:Infinity)-((i=t.rank)!==null&&i!==void 0?i:Infinity)})).map((e=>n(e,t)))}e.createMenus=t;function n(e,t){var n,s;const r=t(e);r.id=e.id;if(!r.title.label){r.title.label=(n=e.label)!==null&&n!==void 0?n:l.Text.titleCase(r.id.trim())}if(e.icon){r.title.icon=i.LabIcon.resolve({icon:e.icon})}if(e.mnemonic!==undefined){r.title.mnemonic=e.mnemonic}(s=e.items)===null||s===void 0?void 0:s.filter((e=>!e.disabled)).sort(((e,t)=>{var n,i;return((n=e.rank)!==null&&n!==void 0?n:Infinity)-((i=t.rank)!==null&&i!==void 0?i:Infinity)})).map((e=>{o(e,r,t)}));return r}function s(e,t,i){const{submenu:s,...o}=e;t.addItem({...o,submenu:s?n(s,i):null})}e.addContextItem=s;function o(e,t,i){const{submenu:s,...o}=e;t.addItem({...o,submenu:s?n(s,i):null})}function r(e,t,i){const s=[];t.forEach((t=>{const o=e.find((e=>e.id===t.id));if(o){a(t,o,i)}else{if(!t.disabled){s.push(n(t,i))}}}));e.push(...s);return s}e.updateMenus=r;function a(e,t,n){var i;if(e.disabled){t.dispose()}else{(i=e.items)===null||i===void 0?void 0:i.forEach((e=>{var i,s;const r=t===null||t===void 0?void 0:t.items.find(((t,n)=>{var i,s,o;return t.type===e.type&&t.command===((i=e.command)!==null&&i!==void 0?i:"")&&((s=t.submenu)===null||s===void 0?void 0:s.id)===((o=e.submenu)===null||o===void 0?void 0:o.id)}));if(r&&e.type!=="separator"){if(e.disabled){t.removeItem(r)}else{switch((i=e.type)!==null&&i!==void 0?i:"command"){case"command":if(e.command){if(!c.JSONExt.deepEqual(r.args,(s=e.args)!==null&&s!==void 0?s:{})){o(e,t,n)}}break;case"submenu":if(e.submenu){a(e.submenu,r.submenu,n)}}}}else{o(e,t,n)}}))}}})(se||(se={}));class oe{constructor(){this._isDisposed=false;this._queue=[];this._changed=new h.Signal(this)}get changed(){return this._changed}get count(){return this._queue.length}get isDisposed(){return this._isDisposed}get notifications(){return this._queue.slice()}dismiss(e){if(typeof e==="undefined"){const e=this._queue.slice();this._queue.length=0;for(const t of e){this._changed.emit({type:"removed",notification:t})}}else{const t=this._queue.findIndex((t=>t.id===e));if(t>-1){const e=this._queue.splice(t,1)[0];this._changed.emit({type:"removed",notification:e})}}}dispose(){if(this._isDisposed){return}this._isDisposed=true;h.Signal.clearData(this)}has(e){return this._queue.findIndex((t=>t.id===e))>-1}notify(e,t,n){const i=Date.now();const{progress:s,...o}=n;const r=Object.freeze({id:c.UUID.uuid4(),createdAt:i,modifiedAt:i,message:e,type:t,options:{autoClose:0,progress:typeof s==="number"?Math.min(Math.max(0,s),1):s,...o}});this._queue.unshift(r);this._changed.emit({type:"added",notification:r});return r.id}update(e){const{id:t,message:n,actions:i,autoClose:s,data:o,progress:r,type:a}=e;const l=typeof r==="number"?Math.min(Math.max(0,r),1):r;const d=this._queue.findIndex((e=>e.id===t));if(d>-1){const e=this._queue[d];const t=Object.freeze({...e,message:n!==null&&n!==void 0?n:e.message,type:a!==null&&a!==void 0?a:e.type,options:{actions:i!==null&&i!==void 0?i:e.options.actions,autoClose:s!==null&&s!==void 0?s:e.options.autoClose,data:o!==null&&o!==void 0?o:e.options.data,progress:l!==null&&l!==void 0?l:e.options.progress},modifiedAt:Date.now()});this._queue.splice(d,1);this._queue.unshift(t);this._changed.emit({type:"updated",notification:t});return true}return false}}var re;(function(e){e.manager=new oe;function t(t){e.manager.dismiss(t)}e.dismiss=t;function n(t,n="default",i={}){return e.manager.notify(t,n,i)}e.emit=n;function i(t,n={}){return e.manager.notify(t,"error",n)}e.error=i;function s(t,n={}){return e.manager.notify(t,"info",n)}e.info=s;function o(t,n){var i;const{pending:s,error:o,success:r}=n;const a=e.manager.notify(s.message,"in-progress",(i=s.options)!==null&&i!==void 0?i:{});t.then((t=>{var n,i,s;e.manager.update({id:a,message:r.message(t,(n=r.options)===null||n===void 0?void 0:n.data),type:"success",...r.options,data:(s=(i=r.options)===null||i===void 0?void 0:i.data)!==null&&s!==void 0?s:t})})).catch((t=>{var n,i,s;e.manager.update({id:a,message:o.message(t,(n=o.options)===null||n===void 0?void 0:n.data),type:"error",...o.options,data:(s=(i=o.options)===null||i===void 0?void 0:i.data)!==null&&s!==void 0?s:t})}));return a}e.promise=o;function r(t,n={}){return e.manager.notify(t,"success",n)}e.success=r;function a(t){return e.manager.update(t)}e.update=a;function l(t,n={}){return e.manager.notify(t,"warning",n)}e.warning=l})(re||(re={}));const ae=4;function le(e){var t,n;const s=(t=e.showKernels)!==null&&t!==void 0?t:true;const o=(n=e.showTerminals)!==null&&n!==void 0?n:e.terminals>0;return a().createElement(C.GroupItem,{role:"button",tabIndex:0,spacing:ae,onClick:e.handleClick,onKeyDown:e.handleKeyDown,style:{cursor:"pointer"}},o?a().createElement(C.GroupItem,{spacing:ae},a().createElement(C.TextItem,{source:e.terminals}),a().createElement(i.terminalIcon.react,{verticalAlign:"middle",stylesheet:"statusBar"})):null,s?a().createElement(C.GroupItem,{spacing:ae},a().createElement(C.TextItem,{source:e.sessions}),a().createElement(i.kernelIcon.react,{verticalAlign:"middle",stylesheet:"statusBar"})):null)}class de extends i.VDomRenderer{constructor(e){super(new de.Model);this._serviceManager=e.serviceManager;this._handleClick=e.onClick;this._handleKeyDown=e.onKeyDown;this.translator=e.translator||s.nullTranslator;this._showKernels=e.showKernels;this._showTerminals=e.showTerminals;this._trans=this.translator.load("jupyterlab");this._serviceManager.sessions.runningChanged.connect(this._onSessionsRunningChanged,this);this._serviceManager.terminals.runningChanged.connect(this._onTerminalsRunningChanged,this);this.addClass("jp-mod-highlighted")}render(){if(!this.model){return null}const e=this._trans.__("%1 Terminals, %2 Kernel sessions",this.model.terminals,this.model.sessions);this.node.title=e;return a().createElement(le,{sessions:this.model.sessions,terminals:this.model.terminals,handleClick:this._handleClick,handleKeyDown:this._handleKeyDown,showKernels:this._showKernels,showTerminals:this._showTerminals})}dispose(){super.dispose();this._serviceManager.sessions.runningChanged.disconnect(this._onSessionsRunningChanged,this);this._serviceManager.terminals.runningChanged.disconnect(this._onTerminalsRunningChanged,this)}_onSessionsRunningChanged(e,t){this.model.sessions=t.length}_onTerminalsRunningChanged(e,t){this.model.terminals=t.length}}(function(e){class t extends i.VDomModel{constructor(){super(...arguments);this._terminals=0;this._sessions=0}get sessions(){return this._sessions}set sessions(e){const t=this._sessions;this._sessions=e;if(t!==this._sessions){this.stateChanged.emit(void 0)}}get terminals(){return this._terminals}set terminals(e){const t=this._terminals;this._terminals=e;if(t!==this._terminals){this.stateChanged.emit(void 0)}}}e.Model=t})(de||(de={}));var ce=n(74728);var he=n.n(ce);class ue{static reg(e){return new RegExp("^"+e+"$","i")}}ue.N={integer:`[+-]?[0-9]+`,integer_pos:`[+]?[0-9]+`,integer_zero_ff:`([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])`,integer_non_zero:`[+-]?([1-9][0-9]*)`,integer_pos_non_zero:`[+]?([1-9][0-9]*)`,number:`[+-]?([0-9]*[.])?[0-9]+(e-?[0-9]*)?`,number_pos:`[+]?([0-9]*[.])?[0-9]+(e-?[0-9]*)?`,number_zero_hundred:`[+]?(([0-9]|[1-9][0-9])([.][0-9]+)?|100)`,number_zero_one:`[+]?(1([.][0]+)?|0?([.][0-9]+)?)`};ue._B={angle:`(${ue.N.number}(deg|rad|grad|turn)|0)`,frequency:`${ue.N.number}(Hz|kHz)`,ident:String.raw`-?([_a-z]|[\xA0-\xFF]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])([_a-z0-9-]|[\xA0-\xFF]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*`,len_or_perc:`(0|${ue.N.number}(px|em|rem|ex|in|cm|mm|pt|pc|%))`,length:`(${ue.N.number}(px|em|rem|ex|in|cm|mm|pt|pc)|0)`,length_pos:`(${ue.N.number_pos}(px|em|rem|ex|in|cm|mm|pt|pc)|0)`,percentage:`${ue.N.number}%`,percentage_pos:`${ue.N.number_pos}%`,percentage_zero_hundred:`${ue.N.number_zero_hundred}%`,string:String.raw`(\"([^\n\r\f\\"]|\\\n|\r\n|\r|\f|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*\")|(\'([^\n\r\f\\']|\\\n|\r\n|\r|\f|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*\')`,time:`${ue.N.number}(s|ms)`,url:`url\\(.*?\\)`,z_index:`[+-]?[0-9]{1,7}`};ue._B1={flex:`(${ue.N.number}|${ue._B.len_or_perc}|none|auto)\\s*((${ue.N.number}|${ue._B.len_or_perc}|auto)\\s*){0,2}`,fixed_breadth:`${ue._B.len_or_perc}`,grid_line:`auto|${ue._B.ident}|(${ue.N.integer_non_zero}(\\s+${ue._B.ident})?)|(span\\s+(${ue.N.integer_pos_non_zero}|${ue._B.ident}))`,line_names:String.raw`\[\s*${ue._B.ident}(\s+${ue._B.ident})*\s*\]`};ue._B2={inflexible_breadth:`${ue._B.len_or_perc}|auto|min-content|max-content`,track_breadth:`${ue._B.len_or_perc}|${ue._B1.flex}|auto|min-content|max-content`};ue._B3={fixed_size:`${ue._B1.fixed_breadth}|minmax\\(\\s*${ue._B2.inflexible_breadth}\\s*,\\s*${ue._B1.fixed_breadth}\\s*\\)|minmax\\(\\s*${ue._B1.fixed_breadth}\\s*,\\s*${ue._B2.track_breadth}\\s*\\)`,track_size:`${ue._B2.track_breadth}|minmax\\(\\s*${ue._B2.inflexible_breadth}\\s*,\\s*${ue._B2.track_breadth}\\s*\\)|fit-content\\(\\s*(${ue._B.len_or_perc}\\s*)*\\)`};ue._B4={name_repeat:`repeat\\(\\s*(${ue.N.integer_pos_non_zero}|auto-fill)\\s*,\\s*(${ue._B1.line_names})+\\s*\\)`,auto_repeat:`repeat\\(\\s*(auto-fill|auto-fit)\\s*,\\s*((${ue._B1.line_names}\\s+)?${ue._B3.fixed_size}\\s*)+(${ue._B1.line_names})?\\s*\\)`,fixed_repeat:`repeat\\(\\s*(${ue.N.integer_pos_non_zero})\\s*,\\s*((${ue._B1.line_names}\\s+)?${ue._B3.fixed_size}\\s*)+(${ue._B1.line_names})?\\s*\\)`};ue._B5={auto_track_list:`(${ue._B1.line_names}\\s*)?(${ue._B3.fixed_size}|${ue._B4.fixed_repeat})*(${ue._B1.line_names}\\s*)?${ue._B4.auto_repeat}(${ue._B1.line_names}\\s*)?(${ue._B3.fixed_size}|${ue._B4.fixed_repeat})*(${ue._B1.line_names}\\s*)?`,explicit_track_list:`(${ue._B1.line_names}\\s*)?(${ue._B3.track_size})+(${ue._B1.line_names}\\s*)?`,track_list:`(${ue._B1.line_names}\\s*)?(${ue._B3.track_size}|${ue._B4.name_repeat})+(${ue._B1.line_names}\\s*)?`};ue._B6={grid_template_rows:`none|${ue._B5.track_list}|${ue._B5.auto_track_list}|subgrid\\s*(${ue._B1.line_names})?`,grid_template_columns:`none|${ue._B5.track_list}|${ue._B5.auto_track_list}|subgrid\\s*(${ue._B1.line_names})?`};ue.B={...ue._B,...ue._B1,...ue._B2,...ue._B3,...ue._B4,...ue._B5,...ue._B6};ue.A={absolute_size:`xx-small|x-small|small|medium|large|x-large|xx-large`,attachment:`scroll|fixed|local`,bg_origin:`border-box|padding-box|content-box`,border_style:`none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset`,box:`border-box|padding-box|content-box`,display_inside:`auto|block|table|flex|grid`,display_outside:`block-level|inline-level|none|table-row-group|table-header-group|table-footer-group|table-row|table-cell|table-column-group|table-column|table-caption`,ending_shape:`circle|ellipse`,generic_family:`serif|sans-serif|cursive|fantasy|monospace`,generic_voice:`male|female|child`,relative_size:`smaller|larger`,repeat_style:`repeat-x|repeat-y|((?:repeat|space|round|no-repeat)(?:\\s*(?:repeat|space|round|no-repeat))?)`,side_or_corner:`(left|right)?\\s*(top|bottom)?`,single_animation_direction:`normal|reverse|alternate|alternate-reverse`,single_animation_fill_mode:`none|forwards|backwards|both`,single_animation_play_state:`running|paused`};ue._COLOR={hex:`\\#(0x)?[0-9a-f]+`,name:`aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|transparent|violet|wheat|white|whitesmoke|yellow|yellowgreen`,rgb:String.raw`rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)`,rgba:String.raw`rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(${ue.N.integer_zero_ff}|${ue.N.number_zero_one}|${ue.B.percentage_zero_hundred})\s*\)`};ue._C={alpha:`${ue.N.integer_zero_ff}|${ue.N.number_zero_one}|${ue.B.percentage_zero_hundred}`,alphavalue:ue.N.number_zero_one,bg_position:`((${ue.B.len_or_perc}|left|center|right|top|bottom)\\s*){1,4}`,bg_size:`(${ue.B.length_pos}|${ue.B.percentage}|auto){1,2}|cover|contain`,border_width:`thin|medium|thick|${ue.B.length}`,bottom:`${ue.B.length}|auto`,color:`${ue._COLOR.hex}|${ue._COLOR.rgb}|${ue._COLOR.rgba}|${ue._COLOR.name}`,color_stop_length:`(${ue.B.len_or_perc}\\s*){1,2}`,linear_color_hint:`${ue.B.len_or_perc}`,family_name:`${ue.B.string}|(${ue.B.ident}\\s*)+`,image_decl:ue.B.url,left:`${ue.B.length}|auto`,loose_quotable_words:`(${ue.B.ident})+`,margin_width:`${ue.B.len_or_perc}|auto`,padding_width:`${ue.B.length_pos}|${ue.B.percentage_pos}`,page_url:ue.B.url,position:`((${ue.B.len_or_perc}|left|center|right|top|bottom)\\s*){1,4}`,right:`${ue.B.length}|auto`,shadow:"",size:`closest-side|farthest-side|closest-corner|farthest-corner|${ue.B.length}|(${ue.B.len_or_perc})\\s+(${ue.B.len_or_perc})`,top:`${ue.B.length}|auto`};ue._C1={image_list:`image\\(\\s*(${ue.B.url})*\\s*(${ue.B.url}|${ue._C.color})\\s*\\)`,linear_color_stop:`(${ue._C.color})(\\s*${ue._C.color_stop_length})?`,shadow:`((${ue._C.color})\\s+((${ue.B.length})\\s*){2,4}(s+inset)?)|((inset\\s+)?((${ue.B.length})\\s*){2,4}\\s*(${ue._C.color})?)`};ue._C2={color_stop_list:`((${ue._C1.linear_color_stop})(\\s*(${ue._C.linear_color_hint}))?\\s*,\\s*)+(${ue._C1.linear_color_stop})`,shape:`rect\\(\\s*(${ue._C.top})\\s*,\\s*(${ue._C.right})\\s*,\\s*(${ue._C.bottom})\\s*,\\s*(${ue._C.left})\\s*\\)`};ue._C3={linear_gradient:`linear-gradient\\((((${ue.B.angle})|to\\s+(${ue.A.side_or_corner}))\\s*,\\s*)?\\s*(${ue._C2.color_stop_list})\\s*\\)`,radial_gradient:`radial-gradient\\(((((${ue.A.ending_shape})|(${ue._C.size}))\\s*)*\\s*(at\\s+${ue._C.position})?\\s*,\\s*)?\\s*(${ue._C2.color_stop_list})\\s*\\)`};ue._C4={image:`${ue.B.url}|${ue._C3.linear_gradient}|${ue._C3.radial_gradient}|${ue._C1.image_list}`,bg_image:`(${ue.B.url}|${ue._C3.linear_gradient}|${ue._C3.radial_gradient}|${ue._C1.image_list})|none`};ue.C={...ue._C,...ue._C1,...ue._C2,...ue._C3,...ue._C4};ue.AP={baseline_position:`baseline|first baseline|last baseline`,border_collapse:`collapse|separate`,box:`normal|none|contents`,box_sizing:`content-box|padding-box|border-box`,caption_side:`top|bottom`,clear:`none|left|right|both`,content_position:`start|end|center|flex-start|flex-end`,content_distribution:`stretch|space-between|space-around|space-evenly`,direction:`ltr|rtl`,empty_cells:`show|hide`,flex_direction:`row|row-reverse|column|column-reverse`,flex_wrap:`nowrap|wrap|wrap-reverse`,float:`left|right|none`,font_stretch:`normal|wider|narrower|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded`,font_style:`normal|italic|oblique`,font_variant:`normal|small-caps`,font_weight:`normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900`,list_style_position:`inside|outside`,gap:`normal`,grid_auto_flow:`row|column|dense|row dense|column dense`,justify_content:`start|end|center|stretch|space-between|space-around|space-evenly`,justify_items:`start|end|center|stretch`,justify_self:`auto|start|end|center|stretch`,list_style_type:`disc|circle|square|decimal|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-latin|upper-latin|armenian|georgian|lower-alpha|upper-alpha|none`,overflow:`visible|hidden|scroll|auto`,overflow_position:`unsafe|safe`,overflow_wrap:`normal|break-word`,overflow_x:`visible|hidden|scroll|auto|no-display|no-content`,page_break_after:`auto|always|avoid|left|right`,page_break_before:`auto|always|avoid|left|right`,page_break_inside:`avoid|auto`,place_content:`(center|start|end|space-between|space-around|space-evenly|stretch){1,2}`,place_items:`(center|start|end|baseline|stretch){1,2}`,place_self:`(center|start|end|baseline|stretch){1,2}`,position:`static|relative|absolute`,resize:`none|both|horizontal|vertical`,speak:`normal|none|spell-out`,self_position:`center|start|end|self-start|self-end|flex-start|flex-end`,speak_header:`once|always`,speak_numeral:`digits|continuous`,speak_punctuation:`code|none`,table_layout:`auto|fixed`,text_align:`left|right|center|justify`,text_decoration:`none|((underline|overline|line-through|blink)\\s*)+`,text_transform:`capitalize|uppercase|lowercase|none`,text_wrap:`normal|unrestricted|none|suppress`,unicode_bidi:`normal|embed|bidi-override`,visibility:`visible|hidden|collapse`,white_space:`normal|pre|nowrap|pre-wrap|pre-line`,word_break:`normal|keep-all|break-all`};ue._CP={align_content:`normal|${ue.AP.baseline_position}|${ue.AP.content_distribution}|${ue.AP.overflow_position}|${ue.AP.content_position}`,align_items:`normal|stretch|${ue.AP.baseline_position}|(${ue.AP.overflow_position})?\\s*${ue.AP.self_position}|anchor-center`,align_self:`auto|normal|stretch|${ue.AP.baseline_position}|(${ue.AP.overflow_position})?\\s*${ue.AP.self_position}|anchor-center`,background_attachment:`${ue.A.attachment}(,\\s*${ue.A.attachment})*`,background_color:ue.C.color,background_origin:`${ue.A.box}(,\\s*${ue.A.box})*`,background_repeat:`${ue.A.repeat_style}(,\\s*${ue.A.repeat_style})*`,border:`((${ue.C.border_width}|${ue.A.border_style}|${ue.C.color})\\s*){1,3}`,border_radius:`((${ue.B.len_or_perc})\\s*){1,4}(\\/\\s*((${ue.B.len_or_perc})\\s*){1,4})?`,border_spacing:`${ue.B.length}\\s*(${ue.B.length})?`,border_top_color:ue.C.color,border_top_style:ue.A.border_style,border_width:`((${ue.C.border_width})\\s*){1,4}`,color:ue.C.color,cursor:`(${ue.B.url}(\\s*,\\s*)?)*(auto|crosshair|default|pointer|move|e-resize|ne-resize|nw-resize|n-resize|se-resize|sw-resize|s-resize|w-resize|text|wait|help|progress|all-scroll|col-resize|hand|no-drop|not-allowed|row-resize|vertical-text)`,display:`inline|block|list-item|run-in|inline-list-item|inline-block|table|inline-table|table-cell|table-caption|flex|inline-flex|grid|inline-grid|${ue.A.display_inside}|${ue.A.display_outside}|inherit|inline-box|inline-stack`,display_outside:ue.A.display_outside,elevation:`${ue.B.angle}|below|level|above|higher|lower`,font_family:`(${ue.C.family_name}|${ue.A.generic_family})(,\\s*(${ue.C.family_name}|${ue.A.generic_family}))*`,height:`${ue.B.length}|${ue.B.percentage}|auto`,letter_spacing:`normal|${ue.B.length}`,list_style_image:`${ue.C.image}|none`,margin_right:ue.C.margin_width,max_height:`${ue.B.length_pos}|${ue.B.percentage_pos}|none|auto`,min_height:`${ue.B.length_pos}|${ue.B.percentage_pos}|auto`,opacity:ue.C.alphavalue,outline_color:`${ue.C.color}|invert`,outline_width:ue.C.border_width,padding:`((${ue.C.padding_width})\\s*){1,4}`,padding_top:ue.C.padding_width,pitch_range:ue.N.number,right:`${ue.B.length}|${ue.B.percentage}|auto`,stress:ue.N.number,text_indent:`${ue.B.length}|${ue.B.percentage}`,text_shadow:`none|${ue.C.shadow}(,\\s*(${ue.C.shadow}))*`,volume:`${ue.N.number_pos}|${ue.B.percentage_pos}|silent|x-soft|soft|medium|loud|x-loud`,word_wrap:ue.AP.overflow_wrap,zoom:`normal|${ue.N.number_pos}|${ue.B.percentage_pos}`,backface_visibility:ue.AP.visibility,background_clip:`${ue.A.box}(,\\s*(${ue.A.box}))*`,background_position:`${ue.C.bg_position}(,\\s*(${ue.C.bg_position}))*`,border_bottom_color:ue.C.color,border_bottom_style:ue.A.border_style,border_color:`((${ue.C.color})\\s*){1,4}`,border_left_color:ue.C.color,border_right_color:ue.C.color,border_style:`((${ue.A.border_style})\\s*){1,4}`,border_top_left_radius:`(${ue.B.length}|${ue.B.percentage})(\\s*(${ue.B.length}|${ue.B.percentage}))?`,border_top_width:ue.C.border_width,box_shadow:`none|${ue.C.shadow}(,\\s*(${ue.C.shadow}))*`,clip:`${ue.C.shape}|auto`,display_inside:ue.A.display_inside,font_size:`${ue.A.absolute_size}|${ue.A.relative_size}|${ue.B.length_pos}|${ue.B.percentage_pos}`,line_height:`normal|${ue.N.number_pos}|${ue.B.length_pos}|${ue.B.percentage_pos}`,margin_left:ue.C.margin_width,max_width:`${ue.B.length_pos}|${ue.B.percentage_pos}|none|auto`,outline_style:ue.A.border_style,padding_bottom:ue.C.padding_width,padding_right:ue.C.padding_width,perspective:`none|${ue.B.length}`,richness:ue.N.number,text_overflow:`((clip|ellipsis|${ue.B.string})\\s*){1,2}`,top:`${ue.B.length}|${ue.B.percentage}|auto`,width:`${ue.B.length_pos}|${ue.B.percentage_pos}|auto`,z_index:`auto|${ue.B.z_index}`,background:`(((${ue.C.bg_position}\\s*(\\/\\s*${ue.C.bg_size})?)|(${ue.A.repeat_style})|(${ue.A.attachment})|(${ue.A.bg_origin})|(${ue.C.bg_image})|(${ue.C.color}))\\s*)+`,background_size:`${ue.C.bg_size}(,\\s*${ue.C.bg_size})*`,border_bottom_left_radius:`(${ue.B.length}|${ue.B.percentage})(\\s*(${ue.B.length}|${ue.B.percentage}))?`,border_bottom_width:ue.C.border_width,border_left_style:ue.A.border_style,border_right_style:ue.A.border_style,border_top:`((${ue.C.border_width}|${ue.A.border_style}|${ue.C.color})\\s*){1,3}`,bottom:`${ue.B.len_or_perc}|auto`,list_style:`((${ue.AP.list_style_type}|${ue.AP.list_style_position}|${ue.C.image}|none})\\s*){1,3}`,margin_top:ue.C.margin_width,outline:`((${ue.C.color}|invert|${ue.A.border_style}|${ue.C.border_width})\\s*){1,3}`,overflow_y:ue.AP.overflow_x,pitch:`${ue.B.frequency}|x-low|low|medium|high|x-high`,vertical_align:`baseline|sub|super|top|text-top|middle|bottom|text-bottom|${ue.B.len_or_perc}`,word_spacing:`normal|${ue.B.length}`,background_image:`${ue.C.bg_image}(,\\s*${ue.C.bg_image})*`,border_bottom_right_radius:`(${ue.B.length}|${ue.B.percentage})(\\s*(${ue.B.length}|${ue.B.percentage}))?`,border_left_width:ue.C.border_width,border_right_width:ue.C.border_width,left:`${ue.B.len_or_perc}|auto`,margin_bottom:ue.C.margin_width,pause_after:`${ue.B.time}|${ue.B.percentage}`,speech_rate:`${ue.N.number}|x-slow|slow|medium|fast|x-fast|faster|slower`,transition_duration:`${ue.B.time}(,\\s*${ue.B.time})*`,border_bottom:`((${ue.C.border_width}|${ue.A.border_style}|${ue.C.color})\\s*){1,3}`,border_right:`((${ue.C.border_width}|${ue.A.border_style}|${ue.C.color})\\s*){1,3}`,margin:`((${ue.C.margin_width})\\s*){1,4}`,padding_left:ue.C.padding_width,border_left:`((${ue.C.border_width}|${ue.A.border_style}|${ue.C.color})\\s*){1,3}`,quotes:`(${ue.B.string}\\s*${ue.B.string})+|none`,border_top_right_radius:`(${ue.B.length}|${ue.B.percentage})(\\s*(${ue.B.length}|${ue.B.percentage}))?`,min_width:`${ue.B.length_pos}|${ue.B.percentage_pos}|auto`,flex_basis:`${ue.B.len_or_perc}|auto|content|max-content|min-content|fit-content\\(\\s*(${ue.B.len_or_perc}\\s*)*\\)`,flex_grow:ue.N.number_pos,flex_shrink:ue.N.number_pos,grid:`(${ue.B.string}|none|subgrid)\\s*(\\/\\s*(${ue.B.string}|none|subgrid))?`,grid_area:`${ue.B.ident}|auto|(${ue.N.integer}\\s*\\/\\s*${ue.N.integer}\\s*\\/\\s*${ue.N.integer}\\s*\\/\\s*${ue.N.integer})`,grid_auto_columns:`(${ue.B.track_size})+`,grid_auto_rows:`(${ue.B.track_size})+`,grid_column:`${ue.B.grid_line}(\\s*\\/\\s*${ue.B.grid_line})?`,grid_column_start:`${ue.B.grid_line}`,grid_column_end:`${ue.B.grid_line}`,grid_column_gap:`${ue.B.len_or_perc}|normal`,grid_gap:`(${ue.B.len_or_perc}|normal)(\\s*(${ue.B.len_or_perc}|normal))?`,grid_row:`${ue.B.grid_line}(\\s*\\/\\s*${ue.B.grid_line})?`,grid_row_start:`${ue.B.grid_line}`,grid_row_end:`${ue.B.grid_line}`,grid_row_gap:`${ue.B.len_or_perc}|normal`,grid_template:`none|(${ue.B.grid_template_rows}\\s*\\/\\s*${ue.B.grid_template_columns})|(${ue.B.line_names}\\s*)?(${ue.B.string}\\s*${ue.B.track_size}\\s*(${ue.B.line_names}\\s*)?)+\\s*(\\/\\s*${ue.B.explicit_track_list})?`,grid_template_areas:`none|(${ue.B.string})+`,grid_template_columns:`${ue.B.grid_template_columns}`,grid_template_rows:`${ue.B.grid_template_rows}`,row_gap:`${ue.B.len_or_perc}|normal`,column_gap:`${ue.B.len_or_perc}|normal`,gap:`(${ue.B.len_or_perc}|normal)(\\s*(${ue.B.len_or_perc}|normal))?`,order:ue.N.integer};ue._CP1={font:`(((((${ue.AP.font_style}|${ue.AP.font_variant}|${ue.AP.font_weight})\\s*){1,3})?\\s*(${ue._CP.font_size})\\s*(\\/\\s*(${ue._CP.line_height}))?\\s+(${ue._CP.font_family}))|caption|icon|menu|message-box|small-caption|status-bar)`};ue.CP={...ue._CP,...ue._CP1};ue.BORDER_COLLAPSE=ue.reg(ue.AP.border_collapse);ue.BOX=ue.reg(ue.AP.box);ue.BOX_SIZING=ue.reg(ue.AP.box_sizing);ue.CAPTION_SIDE=ue.reg(ue.AP.caption_side);ue.CLEAR=ue.reg(ue.AP.clear);ue.DIRECTION=ue.reg(ue.AP.direction);ue.EMPTY_CELLS=ue.reg(ue.AP.empty_cells);ue.FLOAT=ue.reg(ue.AP.float);ue.FONT_STRETCH=ue.reg(ue.AP.font_stretch);ue.FONT_STYLE=ue.reg(ue.AP.font_style);ue.FONT_VARIANT=ue.reg(ue.AP.font_variant);ue.FONT_WEIGHT=ue.reg(ue.AP.font_weight);ue.LIST_STYLE_POSITION=ue.reg(ue.AP.list_style_position);ue.LIST_STYLE_TYPE=ue.reg(ue.AP.list_style_type);ue.OVERFLOW=ue.reg(ue.AP.overflow);ue.OVERFLOW_WRAP=ue.reg(ue.AP.overflow_wrap);ue.OVERFLOW_X=ue.reg(ue.AP.overflow_x);ue.PAGE_BREAK_AFTER=ue.reg(ue.AP.page_break_after);ue.PAGE_BREAK_BEFORE=ue.reg(ue.AP.page_break_before);ue.PAGE_BREAK_INSIDE=ue.reg(ue.AP.page_break_inside);ue.POSITION=ue.reg(ue.AP.position);ue.RESIZE=ue.reg(ue.AP.resize);ue.SPEAK=ue.reg(ue.AP.speak);ue.SPEAK_HEADER=ue.reg(ue.AP.speak_header);ue.SPEAK_NUMERAL=ue.reg(ue.AP.speak_numeral);ue.SPEAK_PUNCTUATION=ue.reg(ue.AP.speak_punctuation);ue.TABLE_LAYOUT=ue.reg(ue.AP.table_layout);ue.TEXT_ALIGN=ue.reg(ue.AP.text_align);ue.TEXT_DECORATION=ue.reg(ue.AP.text_decoration);ue.TEXT_TRANSFORM=ue.reg(ue.AP.text_transform);ue.TEXT_WRAP=ue.reg(ue.AP.text_wrap);ue.UNICODE_BIDI=ue.reg(ue.AP.unicode_bidi);ue.VISIBILITY=ue.reg(ue.AP.visibility);ue.WHITE_SPACE=ue.reg(ue.AP.white_space);ue.WORD_BREAK=ue.reg(ue.AP.word_break);ue.BACKGROUND_ATTACHMENT=ue.reg(ue.CP.background_attachment);ue.BACKGROUND_COLOR=ue.reg(ue.CP.background_color);ue.BACKGROUND_ORIGIN=ue.reg(ue.CP.background_origin);ue.BACKGROUND_REPEAT=ue.reg(ue.CP.background_repeat);ue.BORDER=ue.reg(ue.CP.border);ue.BORDER_RADIUS=ue.reg(ue.CP.border_radius);ue.BORDER_SPACING=ue.reg(ue.CP.border_spacing);ue.BORDER_TOP_COLOR=ue.reg(ue.CP.border_top_color);ue.BORDER_TOP_STYLE=ue.reg(ue.CP.border_top_style);ue.BORDER_WIDTH=ue.reg(ue.CP.border_width);ue.COLOR=ue.reg(ue.CP.color);ue.CURSOR=ue.reg(ue.CP.cursor);ue.DISPLAY=ue.reg(ue.CP.display);ue.DISPLAY_OUTSIDE=ue.reg(ue.CP.display_outside);ue.ELEVATION=ue.reg(ue.CP.elevation);ue.FONT_FAMILY=ue.reg(ue.CP.font_family);ue.HEIGHT=ue.reg(ue.CP.height);ue.LETTER_SPACING=ue.reg(ue.CP.letter_spacing);ue.LIST_STYLE_IMAGE=ue.reg(ue.CP.list_style_image);ue.MARGIN_RIGHT=ue.reg(ue.CP.margin_right);ue.MAX_HEIGHT=ue.reg(ue.CP.max_height);ue.MIN_HEIGHT=ue.reg(ue.CP.min_height);ue.OPACITY=ue.reg(ue.CP.opacity);ue.OUTLINE_COLOR=ue.reg(ue.CP.outline_color);ue.OUTLINE_WIDTH=ue.reg(ue.CP.outline_width);ue.PADDING=ue.reg(ue.CP.padding);ue.PADDING_TOP=ue.reg(ue.CP.padding_top);ue.PITCH_RANGE=ue.reg(ue.CP.pitch_range);ue.RIGHT=ue.reg(ue.CP.right);ue.STRESS=ue.reg(ue.CP.stress);ue.TEXT_INDENT=ue.reg(ue.CP.text_indent);ue.TEXT_SHADOW=ue.reg(ue.CP.text_shadow);ue.VOLUME=ue.reg(ue.CP.volume);ue.WORD_WRAP=ue.reg(ue.CP.word_wrap);ue.ZOOM=ue.reg(ue.CP.zoom);ue.BACKFACE_VISIBILITY=ue.reg(ue.CP.backface_visibility);ue.BACKGROUND_CLIP=ue.reg(ue.CP.background_clip);ue.BACKGROUND_POSITION=ue.reg(ue.CP.background_position);ue.BORDER_BOTTOM_COLOR=ue.reg(ue.CP.border_bottom_color);ue.BORDER_BOTTOM_STYLE=ue.reg(ue.CP.border_bottom_style);ue.BORDER_COLOR=ue.reg(ue.CP.border_color);ue.BORDER_LEFT_COLOR=ue.reg(ue.CP.border_left_color);ue.BORDER_RIGHT_COLOR=ue.reg(ue.CP.border_right_color);ue.BORDER_STYLE=ue.reg(ue.CP.border_style);ue.BORDER_TOP_LEFT_RADIUS=ue.reg(ue.CP.border_top_left_radius);ue.BORDER_TOP_WIDTH=ue.reg(ue.CP.border_top_width);ue.BOX_SHADOW=ue.reg(ue.CP.box_shadow);ue.CLIP=ue.reg(ue.CP.clip);ue.DISPLAY_INSIDE=ue.reg(ue.CP.display_inside);ue.FONT_SIZE=ue.reg(ue.CP.font_size);ue.LINE_HEIGHT=ue.reg(ue.CP.line_height);ue.MARGIN_LEFT=ue.reg(ue.CP.margin_left);ue.MAX_WIDTH=ue.reg(ue.CP.max_width);ue.OUTLINE_STYLE=ue.reg(ue.CP.outline_style);ue.PADDING_BOTTOM=ue.reg(ue.CP.padding_bottom);ue.PADDING_RIGHT=ue.reg(ue.CP.padding_right);ue.PERSPECTIVE=ue.reg(ue.CP.perspective);ue.RICHNESS=ue.reg(ue.CP.richness);ue.TEXT_OVERFLOW=ue.reg(ue.CP.text_overflow);ue.TOP=ue.reg(ue.CP.top);ue.WIDTH=ue.reg(ue.CP.width);ue.Z_INDEX=ue.reg(ue.CP.z_index);ue.BACKGROUND=ue.reg(ue.CP.background);ue.BACKGROUND_SIZE=ue.reg(ue.CP.background_size);ue.BORDER_BOTTOM_LEFT_RADIUS=ue.reg(ue.CP.border_bottom_left_radius);ue.BORDER_BOTTOM_WIDTH=ue.reg(ue.CP.border_bottom_width);ue.BORDER_LEFT_STYLE=ue.reg(ue.CP.border_left_style);ue.BORDER_RIGHT_STYLE=ue.reg(ue.CP.border_right_style);ue.BORDER_TOP=ue.reg(ue.CP.border_top);ue.BOTTOM=ue.reg(ue.CP.bottom);ue.LIST_STYLE=ue.reg(ue.CP.list_style);ue.MARGIN_TOP=ue.reg(ue.CP.margin_top);ue.OUTLINE=ue.reg(ue.CP.outline);ue.OVERFLOW_Y=ue.reg(ue.CP.overflow_y);ue.PITCH=ue.reg(ue.CP.pitch);ue.VERTICAL_ALIGN=ue.reg(ue.CP.vertical_align);ue.WORD_SPACING=ue.reg(ue.CP.word_spacing);ue.BACKGROUND_IMAGE=ue.reg(ue.CP.background_image);ue.BORDER_BOTTOM_RIGHT_RADIUS=ue.reg(ue.CP.border_bottom_right_radius);ue.BORDER_LEFT_WIDTH=ue.reg(ue.CP.border_left_width);ue.BORDER_RIGHT_WIDTH=ue.reg(ue.CP.border_right_width);ue.LEFT=ue.reg(ue.CP.left);ue.MARGIN_BOTTOM=ue.reg(ue.CP.margin_bottom);ue.PAUSE_AFTER=ue.reg(ue.CP.pause_after);ue.SPEECH_RATE=ue.reg(ue.CP.speech_rate);ue.TRANSITION_DURATION=ue.reg(ue.CP.transition_duration);ue.BORDER_BOTTOM=ue.reg(ue.CP.border_bottom);ue.BORDER_RIGHT=ue.reg(ue.CP.border_right);ue.MARGIN=ue.reg(ue.CP.margin);ue.PADDING_LEFT=ue.reg(ue.CP.padding_left);ue.BORDER_LEFT=ue.reg(ue.CP.border_left);ue.FONT=ue.reg(ue.CP.font);ue.QUOTES=ue.reg(ue.CP.quotes);ue.BORDER_TOP_RIGHT_RADIUS=ue.reg(ue.CP.border_top_right_radius);ue.MIN_WIDTH=ue.reg(ue.CP.min_width);ue.ALIGN_CONTENT=ue.reg(ue.CP.align_content);ue.ALIGN_ITEMS=ue.reg(ue.CP.align_items);ue.ALIGN_SELF=ue.reg(ue.CP.align_self);ue.FLEX=ue.reg(ue.B.flex);ue.FLEX_BASIS=ue.reg(ue.CP.flex_basis);ue.FLEX_DIRECTION=ue.reg(ue.AP.flex_direction);ue.FLEX_GROW=ue.reg(ue.CP.flex_grow);ue.FLEX_SHRINK=ue.reg(ue.CP.flex_shrink);ue.FLEX_WRAP=ue.reg(ue.AP.flex_wrap);ue.JUSTIFY_CONTENT=ue.reg(ue.AP.justify_content);ue.JUSTIFY_ITEMS=ue.reg(ue.AP.justify_items);ue.JUSTIFY_SELF=ue.reg(ue.AP.justify_self);ue.ORDER=ue.reg(ue.CP.order);ue.GRID=ue.reg(ue.CP.grid);ue.GRID_AREA=ue.reg(ue.CP.grid_area);ue.GRID_AUTO_COLUMNS=ue.reg(ue.CP.grid_auto_columns);ue.GRID_AUTO_FLOW=ue.reg(ue.AP.grid_auto_flow);ue.GRID_AUTO_ROWS=ue.reg(ue.CP.grid_auto_rows);ue.GRID_COLUMN=ue.reg(ue.CP.grid_column);ue.GRID_COLUMN_END=ue.reg(ue.CP.grid_column_end);ue.GRID_COLUMN_GAP=ue.reg(ue.CP.grid_column_gap);ue.GRID_COLUMN_START=ue.reg(ue.CP.grid_column_start);ue.GRID_GAP=ue.reg(ue.CP.grid_gap);ue.GRID_ROW=ue.reg(ue.CP.grid_row);ue.GRID_ROW_END=ue.reg(ue.CP.grid_row_end);ue.GRID_ROW_GAP=ue.reg(ue.CP.grid_row_gap);ue.GRID_ROW_START=ue.reg(ue.CP.grid_row_start);ue.GRID_TEMPLATE=ue.reg(ue.CP.grid_template);ue.GRID_TEMPLATE_AREAS=ue.reg(ue.CP.grid_template_areas);ue.GRID_TEMPLATE_COLUMNS=ue.reg(ue.CP.grid_template_columns);ue.GRID_TEMPLATE_ROWS=ue.reg(ue.CP.grid_template_rows);ue.GAP=ue.reg(ue.CP.gap);ue.ROW_GAP=ue.reg(ue.CP.row_gap);ue.COLUMN_GAP=ue.reg(ue.CP.column_gap);ue.PLACE_CONTENT=ue.reg(ue.AP.place_content);ue.PLACE_ITEMS=ue.reg(ue.AP.place_items);ue.PLACE_SELF=ue.reg(ue.AP.place_self);class pe{constructor(){this._autolink=true;this._allowNamedProperties=false;this._generateOptions=()=>{const e=Array.isArray(this._customAllowedSchemes)?this._customAllowedSchemes:[...he().defaults.allowedSchemes];return{allowedTags:["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blockquote","br","button","canvas","caption","center","cite","code","col","colgroup","colspan","command","data","datalist","dd","del","details","dfn","dir","div","dl","dt","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","img","input","ins","kbd","label","legend","li","map","mark","menu","meter","nav","nobr","ol","optgroup","option","output","p","pre","progress","q","rowspan","s","samp","section","select","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"],allowedAttributes:{"*":["class","data-jupyter-id","dir","draggable","hidden","id","inert","itemprop","itemref","itemscope","lang","spellcheck","style","title","translate"],a:["accesskey","coords","href","hreflang",...this._allowNamedProperties?["name"]:[],"rel","shape","tabindex","target","type"],area:["accesskey","alt","coords","href","nohref","shape","tabindex"],audio:["autoplay","controls","loop","mediagroup","muted","preload","src"],bdo:["dir"],blockquote:["cite"],br:["clear"],button:["accesskey","data-commandlinker-args","data-commandlinker-command","disabled",...this._allowNamedProperties?["name"]:[],"tabindex","type","value"],canvas:["height","width"],caption:["align"],col:["align","char","charoff","span","valign","width"],colgroup:["align","char","charoff","span","valign","width"],command:["checked","command","disabled","icon","label","radiogroup","type"],data:["value"],del:["cite","datetime"],details:["open"],dir:["compact"],div:["align"],dl:["compact"],fieldset:["disabled"],font:["color","face","size"],form:["accept","autocomplete","enctype","method",...this._allowNamedProperties?["name"]:[],"novalidate"],h1:["align"],h2:["align"],h3:["align"],h4:["align"],h5:["align"],h6:["align"],hr:["align","noshade","size","width"],iframe:["align","frameborder","height","marginheight","marginwidth","width"],img:["align","alt","border","height","hspace","ismap",...this._allowNamedProperties?["name"]:[],"src","usemap","vspace","width"],input:["accept","accesskey","align","alt","autocomplete","checked","disabled","inputmode","ismap","list","max","maxlength","min","multiple",...this._allowNamedProperties?["name"]:[],"placeholder","readonly","required","size","src","step","tabindex","type","usemap","value"],ins:["cite","datetime"],label:["accesskey","for"],legend:["accesskey","align"],li:["type","value"],map:this._allowNamedProperties?["name"]:[],menu:["compact","label","type"],meter:["high","low","max","min","value"],ol:["compact","reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for",...this._allowNamedProperties?["name"]:[]],p:["align"],pre:["width"],progress:["max","min","value"],q:["cite"],select:["autocomplete","disabled","multiple",...this._allowNamedProperties?["name"]:[],"required","size","tabindex"],source:["type"],table:["align","bgcolor","border","cellpadding","cellspacing","frame","rules","summary","width"],tbody:["align","char","charoff","valign"],td:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],textarea:["accesskey","autocomplete","cols","disabled","inputmode",...this._allowNamedProperties?["name"]:[],"placeholder","readonly","required","rows","tabindex","wrap"],tfoot:["align","char","charoff","valign"],th:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],thead:["align","char","charoff","valign"],tr:["align","bgcolor","char","charoff","valign"],track:["default","kind","label","srclang"],ul:["compact","type"],video:["autoplay","controls","height","loop","mediagroup","muted","poster","preload","src","width"]},allowedStyles:{"*":{"backface-visibility":[ue.BACKFACE_VISIBILITY],background:[ue.BACKGROUND],"background-attachment":[ue.BACKGROUND_ATTACHMENT],"background-clip":[ue.BACKGROUND_CLIP],"background-color":[ue.BACKGROUND_COLOR],"background-image":[ue.BACKGROUND_IMAGE],"background-origin":[ue.BACKGROUND_ORIGIN],"background-position":[ue.BACKGROUND_POSITION],"background-repeat":[ue.BACKGROUND_REPEAT],"background-size":[ue.BACKGROUND_SIZE],border:[ue.BORDER],"border-bottom":[ue.BORDER_BOTTOM],"border-bottom-color":[ue.BORDER_BOTTOM_COLOR],"border-bottom-left-radius":[ue.BORDER_BOTTOM_LEFT_RADIUS],"border-bottom-right-radius":[ue.BORDER_BOTTOM_RIGHT_RADIUS],"border-bottom-style":[ue.BORDER_BOTTOM_STYLE],"border-bottom-width":[ue.BORDER_BOTTOM_WIDTH],"border-collapse":[ue.BORDER_COLLAPSE],"border-color":[ue.BORDER_COLOR],"border-left":[ue.BORDER_LEFT],"border-left-color":[ue.BORDER_LEFT_COLOR],"border-left-style":[ue.BORDER_LEFT_STYLE],"border-left-width":[ue.BORDER_LEFT_WIDTH],"border-radius":[ue.BORDER_RADIUS],"border-right":[ue.BORDER_RIGHT],"border-right-color":[ue.BORDER_RIGHT_COLOR],"border-right-style":[ue.BORDER_RIGHT_STYLE],"border-right-width":[ue.BORDER_RIGHT_WIDTH],"border-spacing":[ue.BORDER_SPACING],"border-style":[ue.BORDER_STYLE],"border-top":[ue.BORDER_TOP],"border-top-color":[ue.BORDER_TOP_COLOR],"border-top-left-radius":[ue.BORDER_TOP_LEFT_RADIUS],"border-top-right-radius":[ue.BORDER_TOP_RIGHT_RADIUS],"border-top-style":[ue.BORDER_TOP_STYLE],"border-top-width":[ue.BORDER_TOP_WIDTH],"border-width":[ue.BORDER_WIDTH],bottom:[ue.BOTTOM],box:[ue.BOX],"box-shadow":[ue.BOX_SHADOW],"box-sizing":[ue.BOX_SIZING],"caption-side":[ue.CAPTION_SIDE],clear:[ue.CLEAR],clip:[ue.CLIP],color:[ue.COLOR],cursor:[ue.CURSOR],direction:[ue.DIRECTION],display:[ue.DISPLAY],"display-inside":[ue.DISPLAY_INSIDE],"display-outside":[ue.DISPLAY_OUTSIDE],elevation:[ue.ELEVATION],"empty-cells":[ue.EMPTY_CELLS],float:[ue.FLOAT],font:[ue.FONT],"font-family":[ue.FONT_FAMILY],"font-size":[ue.FONT_SIZE],"font-stretch":[ue.FONT_STRETCH],"font-style":[ue.FONT_STYLE],"font-variant":[ue.FONT_VARIANT],"font-weight":[ue.FONT_WEIGHT],height:[ue.HEIGHT],left:[ue.LEFT],"letter-spacing":[ue.LETTER_SPACING],"line-height":[ue.LINE_HEIGHT],"list-style":[ue.LIST_STYLE],"list-style-image":[ue.LIST_STYLE_IMAGE],"list-style-position":[ue.LIST_STYLE_POSITION],"list-style-type":[ue.LIST_STYLE_TYPE],margin:[ue.MARGIN],"margin-bottom":[ue.MARGIN_BOTTOM],"margin-left":[ue.MARGIN_LEFT],"margin-right":[ue.MARGIN_RIGHT],"margin-top":[ue.MARGIN_TOP],"max-height":[ue.MAX_HEIGHT],"max-width":[ue.MAX_WIDTH],"min-height":[ue.MIN_HEIGHT],"min-width":[ue.MIN_WIDTH],opacity:[ue.OPACITY],outline:[ue.OUTLINE],"outline-color":[ue.OUTLINE_COLOR],"outline-style":[ue.OUTLINE_STYLE],"outline-width":[ue.OUTLINE_WIDTH],overflow:[ue.OVERFLOW],"overflow-wrap":[ue.OVERFLOW_WRAP],"overflow-x":[ue.OVERFLOW_X],"overflow-y":[ue.OVERFLOW_Y],padding:[ue.PADDING],"padding-bottom":[ue.PADDING_BOTTOM],"padding-left":[ue.PADDING_LEFT],"padding-right":[ue.PADDING_RIGHT],"padding-top":[ue.PADDING_TOP],"page-break-after":[ue.PAGE_BREAK_AFTER],"page-break-before":[ue.PAGE_BREAK_BEFORE],"page-break-inside":[ue.PAGE_BREAK_INSIDE],"pause-after":[ue.PAUSE_AFTER],perspective:[ue.PERSPECTIVE],pitch:[ue.PITCH],"pitch-range":[ue.PITCH_RANGE],position:[ue.POSITION],quotes:[ue.QUOTES],resize:[ue.RESIZE],richness:[ue.RICHNESS],right:[ue.RIGHT],speak:[ue.SPEAK],"speak-header":[ue.SPEAK_HEADER],"speak-numeral":[ue.SPEAK_NUMERAL],"speak-punctuation":[ue.SPEAK_PUNCTUATION],"speech-rate":[ue.SPEECH_RATE],stress:[ue.STRESS],"table-layout":[ue.TABLE_LAYOUT],"text-align":[ue.TEXT_ALIGN],"text-decoration":[ue.TEXT_DECORATION],"text-indent":[ue.TEXT_INDENT],"text-overflow":[ue.TEXT_OVERFLOW],"text-shadow":[ue.TEXT_SHADOW],"text-transform":[ue.TEXT_TRANSFORM],"text-wrap":[ue.TEXT_WRAP],top:[ue.TOP],"unicode-bidi":[ue.UNICODE_BIDI],"vertical-align":[ue.VERTICAL_ALIGN],visibility:[ue.VISIBILITY],volume:[ue.VOLUME],"white-space":[ue.WHITE_SPACE],width:[ue.WIDTH],"word-break":[ue.WORD_BREAK],"word-spacing":[ue.WORD_SPACING],"word-wrap":[ue.WORD_WRAP],"z-index":[ue.Z_INDEX],zoom:[ue.ZOOM],"align-content":[ue.ALIGN_CONTENT],"align-items":[ue.ALIGN_ITEMS],"align-self":[ue.ALIGN_SELF],flex:[ue.FLEX],"flex-basis":[ue.FLEX_BASIS],"flex-direction":[ue.FLEX_DIRECTION],"flex-grow":[ue.FLEX_GROW],"flex-shrink":[ue.FLEX_SHRINK],"flex-wrap":[ue.FLEX_WRAP],grid:[ue.GRID],"grid-area":[ue.GRID_AREA],"grid-auto-columns":[ue.GRID_AUTO_COLUMNS],"grid-auto-flow":[ue.GRID_AUTO_FLOW],"grid-auto-rows":[ue.GRID_AUTO_ROWS],"grid-column":[ue.GRID_COLUMN],"grid-column-end":[ue.GRID_COLUMN_END],"grid-column-gap":[ue.GRID_COLUMN_GAP],"grid-column-start":[ue.GRID_COLUMN_START],"grid-gap":[ue.GRID_GAP],"grid-row":[ue.GRID_ROW],"grid-row-end":[ue.GRID_ROW_END],"grid-row-gap":[ue.GRID_ROW_GAP],"grid-row-start":[ue.GRID_ROW_START],"grid-template":[ue.GRID_TEMPLATE],"grid-template-areas":[ue.GRID_TEMPLATE_AREAS],"grid-template-columns":[ue.GRID_TEMPLATE_COLUMNS],"grid-template-rows":[ue.GRID_TEMPLATE_ROWS],gap:[ue.GAP],"row-gap":[ue.ROW_GAP],"column-gap":[ue.COLUMN_GAP],"justify-content":[ue.JUSTIFY_CONTENT],"justify-items":[ue.JUSTIFY_ITEMS],"justify-self":[ue.JUSTIFY_SELF],order:[ue.ORDER],"place-content":[ue.PLACE_CONTENT],"place-items":[ue.PLACE_ITEMS],"place-self":[ue.PLACE_SELF]}},transformTags:{a:he().simpleTransform("a",{rel:"nofollow"}),input:he().simpleTransform("input",{disabled:"disabled"}),...this._allowNamedProperties?{}:{"*":function(e,t){if(t.id!==undefined){t["data-jupyter-id"]=t.id;delete t.id}return{tagName:e,attribs:{...t}}}}},allowedSchemes:e,allowedSchemesByTag:{img:[...e,"attachment"]},allowedSchemesAppliedToAttributes:["href","cite"]}};this._options=this._generateOptions()}sanitize(e,t){return he()(e,{...this._options,...t||{}})}getAutolink(){return this._autolink}get allowNamedProperties(){return this._allowNamedProperties}setAllowedSchemes(e){this._customAllowedSchemes=[...e];this._options=this._generateOptions()}setAutolink(e){this._autolink=e}setAllowNamedProperties(e){this._allowNamedProperties=e;this._options=this._generateOptions()}}class me{constructor(){this._commands=new Array}get ids(){return this._commands.map((e=>e.id))}add(e){if(this._commands.map((e=>e.id)).includes(e.id)){throw Error(`Command ${e.id} is already defined.`)}this._commands.push({isEnabled:()=>true,rank:me.DEFAULT_RANK,...e})}getActiveCommandId(e){var t;const n=this._commands.filter((t=>t.isEnabled(e))).sort(((e,t)=>{const n=e.rank-t.rank;return n||(e.id<t.id?-1:1)}));const i=(t=n[0])!==null&&t!==void 0?t:{id:null};return i.id}remove(e){const t=this._commands.findIndex((t=>t.id===e));if(t>=0){this._commands.splice(t,1)}}}me.DEFAULT_RANK=500;me.WIDGET="semanticWidget";var ge=n(90044);const fe=75;const ve=20;class _e{constructor(e){this._current=null;this._links=[];this._overrides={};this._overrideProps={};this._outstanding=null;this._pending=0;this._requests={};this._themes={};this._themeChanged=new h.Signal(this);const{host:t,key:n,splash:i,url:o}=e;this.translator=e.translator||s.nullTranslator;this._trans=this.translator.load("jupyterlab");const r=e.settings;this._base=o;this._host=t;this._splash=i||null;void r.load(n).then((e=>{this._settings=e;this._initOverrideProps();this._settings.changed.connect(this._loadSettings,this);this._loadSettings()}))}get theme(){return this._current}get preferredLightTheme(){return this._settings.composite["preferred-light-theme"]}get preferredDarkTheme(){return this._settings.composite["preferred-dark-theme"]}get preferredTheme(){if(!this.isToggledAdaptiveTheme()){return this.theme}if(this.isSystemColorSchemeDark()){return this.preferredDarkTheme}return this.preferredLightTheme}get themes(){return Object.keys(this._themes)}get lightThemes(){return Object.entries(this._themes).filter((([e,t])=>t.isLight)).map((([e,t])=>e))}get darkThemes(){return Object.entries(this._themes).filter((([e,t])=>!t.isLight)).map((([e,t])=>e))}get themeChanged(){return this._themeChanged}isSystemColorSchemeDark(){return window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches}getCSS(e){var t;return(t=this._overrides[e])!==null&&t!==void 0?t:getComputedStyle(document.documentElement).getPropertyValue(`--jp-${e}`)}loadCSS(e){const t=this._base;const n=l.URLExt.isLocal(e)?l.URLExt.join(t,e):e;const i=this._links;return new Promise(((e,t)=>{const s=document.createElement("link");s.setAttribute("rel","stylesheet");s.setAttribute("type","text/css");s.setAttribute("href",n);s.addEventListener("load",(()=>{e(undefined)}));s.addEventListener("error",(()=>{t(`Stylesheet failed to load: ${n}`)}));document.body.appendChild(s);i.push(s);this.loadCSSOverrides()}))}loadCSSOverrides(){var e;const t=(e=this._settings.user["overrides"])!==null&&e!==void 0?e:{};Object.keys({...this._overrides,...t}).forEach((e=>{const n=t[e];if(n&&this.validateCSS(e,n)){document.documentElement.style.setProperty(`--jp-${e}`,n)}else{delete t[e];document.documentElement.style.removeProperty(`--jp-${e}`)}}));this._overrides=t}validateCSS(e,t){const n=this._overrideProps[e];if(!n){console.warn("CSS validation failed: could not find property corresponding to key.\n"+`key: '${e}', val: '${t}'`);return false}if(CSS.supports(n,t)){return true}else{console.warn("CSS validation failed: invalid value.\n"+`key: '${e}', val: '${t}', prop: '${n}'`);return false}}register(e){const{name:t}=e;const n=this._themes;if(n[t]){throw new Error(`Theme already registered for ${t}`)}n[t]=e;return new ge.DisposableDelegate((()=>{delete n[t]}))}setCSSOverride(e,t){return this._settings.set("overrides",{...this._overrides,[e]:t})}setTheme(e){return this._settings.set("theme",e)}setPreferredLightTheme(e){return this._settings.set("preferred-light-theme",e)}setPreferredDarkTheme(e){return this._settings.set("preferred-dark-theme",e)}isLight(e){return this._themes[e].isLight}incrFontSize(e){return this._incrFontSize(e,true)}decrFontSize(e){return this._incrFontSize(e,false)}themeScrollbars(e){return!!this._settings.composite["theme-scrollbars"]&&!!this._themes[e].themeScrollbars}isToggledThemeScrollbars(){return!!this._settings.composite["theme-scrollbars"]}toggleThemeScrollbars(){return this._settings.set("theme-scrollbars",!this._settings.composite["theme-scrollbars"])}isToggledAdaptiveTheme(){return!!this._settings.composite["adaptive-theme"]}toggleAdaptiveTheme(){return this._settings.set("adaptive-theme",!this._settings.composite["adaptive-theme"])}getDisplayName(e){var t,n;return(n=(t=this._themes[e])===null||t===void 0?void 0:t.displayName)!==null&&n!==void 0?n:e}_incrFontSize(e,t=true){var n;const i=((n=this.getCSS(e))!==null&&n!==void 0?n:"13px").split(/([a-zA-Z]+)/);const s=(t?1:-1)*(i[1]==="em"?.1:1);return this.setCSSOverride(e,`${Number(i[0])+s}${i[1]}`)}_initOverrideProps(){const e=this._settings.schema.definitions;const t=e.cssOverrides.properties;Object.keys(t).forEach((e=>{let n;switch(e){case"code-font-size":case"content-font-size1":case"ui-font-size1":n="font-size";break;default:n=t[e].description;break}this._overrideProps[e]=n}))}_loadSettings(){const e=this._outstanding;const t=this._pending;const n=this._requests;if(t){window.clearTimeout(t);this._pending=0}const i=this._settings;const s=this._themes;let o=i.composite["theme"];if(this.isToggledAdaptiveTheme()){if(this.isSystemColorSchemeDark()){o=this.preferredDarkTheme}else{o=this.preferredLightTheme}}if(e){e.then((()=>{this._loadSettings()})).catch((()=>{this._loadSettings()}));this._outstanding=null;return}n[o]=n[o]?n[o]+1:1;if(s[o]){this._outstanding=this._loadTheme(o);delete n[o];return}if(n[o]>ve){const e=i.default("theme");delete n[o];if(!s[e]){this._onError(this._trans.__("Neither theme %1 nor default %2 loaded.",o,e));return}console.warn(`Could not load theme ${o}, using default ${e}.`);this._outstanding=this._loadTheme(e);return}this._pending=window.setTimeout((()=>{this._loadSettings()}),fe)}_loadTheme(e){var t;const n=this._current;const i=this._links;const s=this._themes;const o=this._splash?this._splash.show(s[e].isLight):new ge.DisposableDelegate((()=>undefined));i.forEach((e=>{if(e.parentElement){e.parentElement.removeChild(e)}}));i.length=0;const r=(t=this._settings.schema.properties)===null||t===void 0?void 0:t.theme;if(r){r.enum=Object.keys(s).map((e=>{var t;return(t=s[e].displayName)!==null&&t!==void 0?t:e}))}const a=n?s[n].unload():Promise.resolve();return Promise.all([a,s[e].load()]).then((()=>{this._current=e;this._themeChanged.emit({name:"theme",oldValue:n,newValue:e});this._host.hide();requestAnimationFrame((()=>{this._host.show();be.fitAll(this._host);o.dispose()}))})).catch((e=>{this._onError(e);o.dispose()}))}_onError(e){void g({title:this._trans.__("Error Loading Theme"),body:String(e),buttons:[v.okButton({label:this._trans.__("OK")})]})}}var be;(function(e){function t(e){for(const n of e.children()){t(n)}e.fit()}e.fitAll=t})(be||(be={}));const ye=new c.Token("@jupyterlab/apputils:ICommandPalette",`A service for the application command palette\n in the left panel. Use this to add commands to the palette.`);const we=new c.Token("@jupyterlab/apputils:IKernelStatusModel","A service to register kernel session provider to the kernel status indicator.");const Ce=new c.Token("@jupyterlab/apputils:ILicensesClient","A service for fetching licenses.");const xe=new c.Token("@jupyterlab/apputils:ISessionContextDialogs","A service for handling the session dialogs.");const Se=new c.Token("@jupyterlab/apputils:IThemeManager","A service for the theme manager for the application. This is used primarily in theme extensions to register new themes.");const je=new c.Token("@jupyterlab/apputils:ISanitizer","A service for sanitizing HTML strings.");const ke=new c.Token("@jupyterlab/apputils:ISplashScreen",`A service for the splash screen for the application.\n Use this if you want to show the splash screen for your own purposes.`);const Ie=new c.Token("@jupyterlab/apputils:IWindowResolver",`A service for a window resolver for the\n application. JupyterLab workspaces are given a name, which are determined using\n the window resolver. Require this if you want to use the name of the current workspace.`);const Te=new c.Token("@jupyterlab/apputils:IToolbarWidgetRegistry",`A registry for toolbar widgets. Require this\n if you want to build the toolbar dynamically from a data definition (stored in settings for example).`);class Ee{constructor(e){this._widgets=new Map;this._factoryAdded=new h.Signal(this);this._defaultFactory=e.defaultFactory}get defaultFactory(){return this._defaultFactory}set defaultFactory(e){this._defaultFactory=e}get factoryAdded(){return this._factoryAdded}createWidget(e,t,n){var i;const s=(i=this._widgets.get(e))===null||i===void 0?void 0:i.get(n.name);return s?s(t):this._defaultFactory(e,t,n)}addFactory(e,t,n){let i=this._widgets.get(e);const s=i===null||i===void 0?void 0:i.get(t);if(!i){i=new Map;this._widgets.set(e,i)}i.set(t,n);this._factoryAdded.emit(t);return s}registerFactory(e,t,n){return this.addFactory(e,t,n)}}function Me(e){return(t,n,s)=>{var r,a;switch((r=s.type)!==null&&r!==void 0?r:"command"){case"command":{const{command:t,args:o,label:r,caption:l,icon:d}=s;const c=t!==null&&t!==void 0?t:"";const h={toolbar:true,...o};const u=d?i.LabIcon.resolve({icon:d}):undefined;const p=n.toolbar;const m=(u!==null&&u!==void 0?u:e.icon(c,h))?r!==null&&r!==void 0?r:"":r;return new i.CommandToolbarButton({commands:e,id:c,args:h,icon:u,label:m,caption:l,noFocusOnClick:(a=p===null||p===void 0?void 0:p.noFocusOnClick)!==null&&a!==void 0?a:false})}case"spacer":return i.Toolbar.createSpacerItem();default:return new o.Widget}}}var De=n(23230);var Ae=n(40065);const Pe=50;const Le="jupyter.lab.toolbars";async function Re(e){const t=await g({title:e.__("Information"),body:e.__("Toolbar customization has changed. You will need to reload JupyterLab to see the changes."),buttons:[v.cancelButton(),v.okButton({label:e.__("Reload")})]});if(t.button.accept){location.reload()}}async function Ne(e,t,n,i,s,o="toolbar"){var r;const a=s.load("jupyterlab");let l=null;let d={};let h=true;try{function g(e){var s,r;d={};const a=Object.keys(t.plugins).filter((e=>e!==i)).map((e=>{var i,s;const o=(s=((i=t.plugins[e].schema[Le])!==null&&i!==void 0?i:{})[n])!==null&&s!==void 0?s:[];d[e]=o;return o})).concat([(r=((s=e[Le])!==null&&s!==void 0?s:{})[n])!==null&&r!==void 0?r:[]]).reduceRight(((e,t)=>Ae.SettingRegistry.reconcileToolbarItems(e,t,true)),[]);e.properties[o].default=Ae.SettingRegistry.reconcileToolbarItems(a,e.properties[o].default,true).sort(((e,t)=>{var n,i;return((n=e.rank)!==null&&n!==void 0?n:Pe)-((i=t.rank)!==null&&i!==void 0?i:Pe)}))}t.transform(i,{compose:e=>{var t,n,i,s,r;if(!l){l=c.JSONExt.deepCopy(e.schema);g(l)}const a=(i=((n=((t=l.properties)!==null&&t!==void 0?t:{})[o])!==null&&n!==void 0?n:{}).default)!==null&&i!==void 0?i:[];const d=e.data.user;const h=e.data.composite;d[o]=(s=e.data.user[o])!==null&&s!==void 0?s:[];h[o]=((r=Ae.SettingRegistry.reconcileToolbarItems(a,d[o],false))!==null&&r!==void 0?r:[]).sort(((e,t)=>{var n,i;return((n=e.rank)!==null&&n!==void 0?n:Pe)-((i=t.rank)!==null&&i!==void 0?i:Pe)}));e.data={composite:h,user:d};return e},fetch:e=>{if(!l){l=c.JSONExt.deepCopy(e.schema);g(l)}return{data:e.data,id:e.id,raw:e.raw,schema:l,version:e.version}}})}catch(m){if(m.name==="TransformError"){h=false}else{throw m}}const u=await t.load(i);u.changed.connect((()=>{var e;const t=(e=u.composite[o])!==null&&e!==void 0?e:[];p(t)}));const p=t=>{e.clear();e.pushAll(t.filter((e=>!e.disabled)))};p((r=u.composite[o])!==null&&r!==void 0?r:[]);if(!h){return}t.pluginChanged.connect((async(e,s)=>{var o,r,h;if(s===i){return}const u=(o=d[s])!==null&&o!==void 0?o:[];const p=(h=((r=t.plugins[s].schema[Le])!==null&&r!==void 0?r:{})[n])!==null&&h!==void 0?h:[];if(!c.JSONExt.deepEqual(u,p)){if(d[s]){await Re(a)}else{if(p.length>0){l=null;const e=t.plugins[i].schema;e.properties.toolbar.default=[];await t.load(i,true)}}}}))}function Be(e,t,n,i,s,o="toolbar"){const r=new De.ObservableList({itemCmp:(e,t)=>c.JSONExt.deepEqual(e,t)});Ne(r,t,n,i,s,o).catch((e=>{console.error(`Failed to load toolbar items for factory ${n} from ${i}`,e)}));return t=>{const i=(i,s)=>{switch(s.type){case"move":o.move(s.oldIndex,s.newIndex);break;case"add":s.newValues.forEach((i=>o.push({name:i.name,widget:e.createWidget(n,t,i)})));break;case"remove":s.oldValues.forEach((()=>o.remove(s.oldIndex)));break;case"set":s.newValues.forEach((i=>o.set(s.newIndex,{name:i.name,widget:e.createWidget(n,t,i)})));break;case"clear":s.oldValues.forEach((()=>o.remove(s.oldIndex)));break}};const s=(i,s)=>{const a=Array.from(r).findIndex((e=>e.name===s));if(a>=0){o.set(a,{name:s,widget:e.createWidget(n,t,r.get(a))})}};const o=new De.ObservableList({values:Array.from(r).map((i=>({name:i.name,widget:e.createWidget(n,t,i)})))});e.factoryAdded.connect(s);r.changed.connect(i);t.disposed.connect((()=>{r.changed.disconnect(i);e.factoryAdded.disconnect(s)}));return o}}function Oe(e,t,n){var i;if(!e.toolbar&&!n){console.log(`Widget ${e.id} has no 'toolbar' and no explicit toolbar was provided.`);return}const s=(i=e.toolbar)!==null&&i!==void 0?i:n;const o=t(e);if(Array.isArray(o)){o.forEach((({name:e,widget:t})=>{s.addItem(e,t)}))}else{const t=(e,t)=>{switch(t.type){case"add":t.newValues.forEach(((e,n)=>{s.insertItem(t.newIndex+n,e.name,e.widget)}));break;case"move":t.oldValues.forEach((e=>{e.widget.parent=null}));t.newValues.forEach(((e,n)=>{s.insertItem(t.newIndex+n,e.name,e.widget)}));break;case"remove":t.oldValues.forEach((e=>{e.widget.parent=null}));break;case"set":t.oldValues.forEach((e=>{e.widget.parent=null}));t.newValues.forEach(((e,n)=>{const i=(0,d.findIndex)(s.names(),(t=>e.name===t));if(i>=0){Array.from(s.children())[i].parent=null}s.insertItem(t.newIndex+n,e.name,e.widget)}));break;case"clear":Array.from(s.children()).forEach((e=>{e.parent=null}));break}};t(o,{newIndex:0,newValues:Array.from(o),oldIndex:0,oldValues:[],type:"add"});o.changed.connect(t);e.disposed.connect((()=>{o.changed.disconnect(t)}))}}class Fe{get name(){return this._name}resolve(e){return ze.resolve(e).then((e=>{this._name=e}))}}var ze;(function(e){const t="@jupyterlab/statedb:StateDB";const n=`${t}:beacon`;const i=Math.floor(200+Math.random()*300);const s=`${t}:window`;let o=null;let r=null;const a=new c.PromiseDelegate;const l={};let d=null;let h=false;function u(){window.addEventListener("storage",(e=>{const{key:t,newValue:i}=e;if(i===null){return}if(t===n&&i!==o&&r!==null){p(h?d:r);return}if(h||t!==s){return}const a=i.replace(/\-\d+$/,"");l[a]=null;if(!r||r in l){m()}}))}function p(e){if(e===null){return}const{localStorage:t}=window;t.setItem(s,`${e}-${(new Date).getTime()}`)}function m(){h=true;o=null;a.reject(`Window name candidate "${r}" already exists`)}function g(e){if(h){return a.promise}r=e;if(r in l){m();return a.promise}const{localStorage:t,setTimeout:s}=window;s((()=>{if(h){return}if(!r||r in l){return m()}h=true;o=null;a.resolve(d=r);p(d)}),i);o=`${Math.random()}-${(new Date).getTime()}`;t.setItem(n,o);return a.promise}e.resolve=g;(()=>{u()})()})(ze||(ze={}));class We extends i.Toolbar{}(function(e){e.createInterruptButton=T.createInterruptButton;e.createKernelNameItem=T.createKernelNameItem;e.createKernelStatusItem=T.createKernelStatusItem;e.createRestartButton=T.createRestartButton;e.createSpacerItem=i.Toolbar.createSpacerItem})(We||(We={}))},97913:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(24800);var r=n(85072);var a=n.n(r);var l=n(97825);var d=n.n(l);var c=n(77659);var h=n.n(c);var u=n(55056);var p=n.n(u);var m=n(10540);var g=n.n(m);var f=n(41113);var v=n.n(f);var _=n(41510);var b={};b.styleTagTransform=v();b.setAttributes=p();b.insert=h().bind(null,"head");b.domAPI=d();b.insertStyleElement=g();var y=a()(_.A,b);const w=_.A&&_.A.locals?_.A.locals:undefined},39721:(e,t,n)=>{"use strict";n.r(t);n.d(t,{AttachmentsModel:()=>r,AttachmentsResolver:()=>a});var i=n(23230);var s=n(95513);var o=n(2336);class r{constructor(e){var t;this._map=new i.ObservableMap;this._isDisposed=false;this._stateChanged=new o.Signal(this);this._changed=new o.Signal(this);this._serialized=null;this._changeGuard=false;this.contentFactory=(t=e.contentFactory)!==null&&t!==void 0?t:r.defaultContentFactory;if(e.values){for(const t of Object.keys(e.values)){if(e.values[t]!==undefined){this.set(t,e.values[t])}}}this._map.changed.connect(this._onMapChanged,this)}get stateChanged(){return this._stateChanged}get changed(){return this._changed}get keys(){return this._map.keys()}get length(){return this._map.keys().length}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;this._map.dispose();o.Signal.clearData(this)}has(e){return this._map.has(e)}get(e){return this._map.get(e)}set(e,t){const n=this._createItem({value:t});this._map.set(e,n)}remove(e){this._map.delete(e)}clear(){this._map.values().forEach((e=>{e.dispose()}));this._map.clear()}fromJSON(e){this.clear();Object.keys(e).forEach((t=>{if(e[t]!==undefined){this.set(t,e[t])}}))}toJSON(){const e={};for(const t of this._map.keys()){e[t]=this._map.get(t).toJSON()}return e}_createItem(e){const t=this.contentFactory;const n=t.createAttachmentModel(e);n.changed.connect(this._onGenericChange,this);return n}_onMapChanged(e,t){if(this._serialized&&!this._changeGuard){this._changeGuard=true;this._serialized.set(this.toJSON());this._changeGuard=false}this._changed.emit(t);this._stateChanged.emit(void 0)}_onGenericChange(){this._stateChanged.emit(void 0)}}(function(e){class t{createAttachmentModel(e){return new s.AttachmentModel(e)}}e.ContentFactory=t;e.defaultContentFactory=new t})(r||(r={}));class a{constructor(e){this._parent=e.parent||null;this._model=e.model}async resolveUrl(e,t){if(this._parent&&!e.startsWith("attachment:")){return this._parent.resolveUrl(e,t)}return e}async getDownloadUrl(e){if(this._parent&&!e.startsWith("attachment:")){return this._parent.getDownloadUrl(e)}const t=e.slice("attachment:".length);const n=this._model.get(t);if(n===undefined){return e}const{data:i}=n;const o=Object.keys(i)[0];if(o===undefined||s.imageRendererFactory.mimeTypes.indexOf(o)===-1){throw new Error(`Cannot render unknown image mime type "${o}".`)}const r=`data:${o};base64,${i[o]}`;return r}isLocal(e){var t,n,i;if(this._parent&&!e.startsWith("attachment:")){return(i=(n=(t=this._parent).isLocal)===null||n===void 0?void 0:n.call(t,e))!==null&&i!==void 0?i:true}return true}}},59894:(e,t,n)=>{"use strict";n.r(t);n.d(t,{AudioDocumentWidget:()=>y,AudioViewer:()=>b,AudioViewerFactory:()=>w,default:()=>S});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(93067);var l=n.n(a);var d=n(49278);var c=n.n(d);var h=n(34881);var u=n.n(h);var p=n(27518);var m=n.n(p);const g="jp-AudioViewer";const f="AudioViewer";const v="audio-provider";function _(e){const t=[];for(const n of e.fileTypes()){if(n.mimeTypes.some((e=>e.startsWith("audio/")))){t.push(n.name)}}return t}class b extends p.Widget{constructor(e){super();this.addClass(g);this._context=e.context;this._contentsManager=e.contentsManager;this._audio=document.createElement("audio");this._audio.controls=true;this.node.appendChild(this._audio);void this._context.ready.then((()=>{void this._updateAudio()}));this._context.model.contentChanged.connect(this._updateAudio,this)}dispose(){if(this.isDisposed){return}super.dispose()}onResize(e){super.onResize(e);if(this._audio){this._audio.style.width="100%"}}async _updateAudio(){const e=await this._contentsManager.getDownloadUrl(this._context.path);this._audio.src=e}}class y extends a.DocumentWidget{constructor(e){super(e)}}class w extends a.ABCWidgetFactory{constructor(e){super(e);this._contentsManager=e.contentsManager}createNewWidget(e){const t=new b({context:e,contentsManager:this._contentsManager});const n=new y({content:t,context:e});return n}}class C extends d.RestContentProvider{constructor(e){super(e)}async get(e,t){return super.get(e,{...t,content:false})}}const x={id:"@jupyterlab/audio-extension:plugin",description:"Adds a viewer for audio files",autoStart:true,requires:[h.ITranslator,d.IDefaultDrive],optional:[i.ILayoutRestorer],activate:(e,t,n,i)=>{const s=t.load("jupyterlab");const{contents:r,serverSettings:a}=e.serviceManager;const l=_(e.docRegistry);const d=n.contentProviderRegistry;if(d){const e=new C({apiEndpoint:"/api/contents",serverSettings:a});d.register(v,e)}const c=new o.WidgetTracker({namespace:"audioviewer"});const h=new w({name:f,label:s.__("Audio Viewer"),fileTypes:l,defaultFor:l,readOnly:true,translator:t,modelName:"base64",contentProviderId:v,contentsManager:r});e.docRegistry.addWidgetFactory(h);h.widgetCreated.connect((async(t,n)=>{void c.add(n);n.context.pathChanged.connect((()=>{void c.save(n)}));const i=e.docRegistry.getFileTypesForPath(n.context.path);const s=i.find((e=>e.mimeTypes.some((e=>e.startsWith("audio/")))));if(s){n.title.icon=s.icon;n.title.iconClass=s.iconClass||"";n.title.iconLabel=s.iconLabel||""}}));if(i){void i.restore(c,{command:"docmanager:open",args:e=>({path:e.context.path,factory:f}),name:e=>e.context.path})}}};const S=x},98807:(e,t,n)=>{"use strict";var i=n(10395);var s=n(97913);var o=n(79010);var r=n(3579);var a=n(85072);var l=n.n(a);var d=n(97825);var c=n.n(d);var h=n(77659);var u=n.n(h);var p=n(55056);var m=n.n(p);var g=n(10540);var f=n.n(g);var v=n(41113);var _=n.n(v);var b=n(81514);var y={};y.styleTagTransform=_();y.setAttributes=m();y.insert=u().bind(null,"head");y.domAPI=c();y.insertStyleElement=f();var w=l()(b.A,y);const C=b.A&&b.A.locals?b.A.locals:undefined},39470:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>p});var i=n(40065);var s=n.n(i);var o=n(65833);var r=n.n(o);var a=n(38850);var l=n.n(a);var d=n(34881);var c=n.n(d);const h="@jupyterlab/cell-toolbar-extension:plugin";const u={id:h,description:"Add the cells toolbar.",autoStart:true,activate:async(e,t,n,i)=>{function s(e){const t=e===null?true:e.get("showToolbar").composite;l.enabled=t}const r=t&&n?(0,a.createToolbarFactory)(n,t,o.CellBarExtension.FACTORY_NAME,u.id,i!==null&&i!==void 0?i:d.nullTranslator):undefined;const l=new o.CellBarExtension(e.commands,r);if(t!==null){void Promise.all([e.restored,t.load(h)]).then((([,e])=>{s(e);e.changed.connect(s)}))}e.docRegistry.addWidgetExtension("Notebook",l)},optional:[i.ISettingRegistry,a.IToolbarWidgetRegistry,d.ITranslator]};const p=u},56104:(e,t,n)=>{"use strict";var i=n(97913);var s=n(3579);var o=n(10395);var r=n(40662);var a=n(79010);var l=n(53377);var d=n(28006);var c=n(85072);var h=n.n(c);var u=n(97825);var p=n.n(u);var m=n(77659);var g=n.n(m);var f=n(55056);var v=n.n(f);var _=n(10540);var b=n.n(_);var y=n(41113);var w=n.n(y);var C=n(31772);var x={};x.styleTagTransform=w();x.setAttributes=v();x.insert=g().bind(null,"head");x.domAPI=p();x.insertStyleElement=b();var S=h()(C.A,x);const j=C.A&&C.A.locals?C.A.locals:undefined},23168:(e,t,n)=>{"use strict";n.r(t);n.d(t,{CellBarExtension:()=>g,CellToolbarTracker:()=>p});var i=n(38850);var s=n(23230);var o=n(4073);var r=n(34236);var a=n(2336);var l=n(34881);const d=["text/plain","application/vnd.jupyter.stdout","application/vnd.jupyter.stderr"];const c="jp-cell-toolbar";const h="jp-cell-menu";const u="jp-toolbar-overlap";class p{constructor(e,t,n,i){this._isDisposed=false;this._toolbar=null;this._toolbarItems=null;this._toolbarFactory=null;this._panel=e;this._previousActiveCell=this._panel.content.activeCell;this._toolbarItems=t!==null&&t!==void 0?t:null;this._toolbarFactory=n!==null&&n!==void 0?n:null;this._enabled=true;this._trans=(i!==null&&i!==void 0?i:l.nullTranslator).load("jupyterlab");if(this._toolbarItems===null&&this._toolbarFactory===null){throw Error("You must provide the toolbarFactory or the toolbar items.")}if(!this._toolbarFactory&&this._toolbarItems){this._onToolbarChanged();this._toolbarItems.changed.connect(this._onToolbarChanged,this)}void e.revealed.then((()=>{requestAnimationFrame((()=>{const t=e.content;this._onActiveCellChanged(t);t.activeCellChanged.connect(this._onActiveCellChanged,this);t.renderingLayoutChanged.connect(this._onActiveCellChanged,this);t.disposed.connect((()=>{t.activeCellChanged.disconnect(this._onActiveCellChanged)}))}))}))}_onMetadataChanged(e,t){if(t.key==="jupyter"){if(typeof t.newValue==="object"&&t.newValue.source_hidden===true&&(t.type==="add"||t.type==="change")){this._removeToolbar(e)}else if(typeof t.oldValue==="object"&&t.oldValue.source_hidden===true){this._addToolbar(e)}}}_onActiveCellChanged(e){if(this._previousActiveCell&&!this._previousActiveCell.isDisposed){this._removeToolbar(this._previousActiveCell.model);this._previousActiveCell.model.metadataChanged.disconnect(this._onMetadataChanged)}const t=e.activeCell;this._previousActiveCell=t;if(t===null||t.inputHidden){return}t.model.metadataChanged.connect(this._onMetadataChanged,this);this._addToolbar(t.model)}get isDisposed(){return this._isDisposed}get enabled(){return this._enabled}set enabled(e){this._enabled=e;this._onToolbarChanged()}dispose(){var e,t;if(this.isDisposed){return}this._isDisposed=true;(e=this._toolbarItems)===null||e===void 0?void 0:e.changed.disconnect(this._onToolbarChanged,this);(t=this._toolbar)===null||t===void 0?void 0:t.dispose();this._panel=null;a.Signal.clearData(this)}_addToolbar(e){if(!this.enabled){return}const t=this._getCell(e);if(t&&!t.isDisposed){const e=this._toolbar=new o.Toolbar;e.addClass(h);e.addClass(c);e.node.setAttribute("aria-label",this._trans.__("Cell toolbar"));const n=[t.ready];if(this._toolbarFactory){const i=this._toolbarFactory(t);for(const{name:t,widget:s}of i){e.addItem(t,s);if(s instanceof o.ReactWidget&&s.renderPromise!==undefined){s.update();n.push(s.renderPromise)}}}else{for(const{name:t,widget:i}of this._toolbarItems){e.addItem(t,i);if(i instanceof o.ReactWidget&&i.renderPromise!==undefined){i.update();n.push(i.renderPromise)}}}n.push(t.ready);Promise.all(n).then((()=>{var n;if(t.isDisposed||((n=this._panel)===null||n===void 0?void 0:n.content.activeCell)!==t){e.dispose();return}t.node.classList.add(u);t.inputArea.layout.insertWidget(0,e);t.displayChanged.connect(this._resizeEventCallback,this);t.model.contentChanged.connect(this._changedEventCallback,this);this._updateCellForToolbarOverlap(t)})).catch((e=>{console.error("Error rendering buttons of the cell toolbar: ",e)}))}}_getCell(e){var t;return(t=this._panel)===null||t===void 0?void 0:t.content.widgets.find((t=>t.model===e))}_removeToolbar(e){var t,n;const i=this._getCell(e);if(i&&!i.isDisposed){i.displayChanged.disconnect(this._resizeEventCallback,this)}e.contentChanged.disconnect(this._changedEventCallback,this);if(((t=this._toolbar)===null||t===void 0?void 0:t.parent)===(i===null||i===void 0?void 0:i.inputArea)&&((n=this._toolbar)===null||n===void 0?void 0:n.isDisposed)===false){this._toolbar.dispose()}}_onToolbarChanged(){var e;const t=(e=this._panel)===null||e===void 0?void 0:e.content.activeCell;if(t){this._removeToolbar(t.model);this._addToolbar(t.model)}}_changedEventCallback(){var e;const t=(e=this._panel)===null||e===void 0?void 0:e.content.activeCell;if(t===null||t===undefined){return}this._updateCellForToolbarOverlap(t)}_resizeEventCallback(){var e;const t=(e=this._panel)===null||e===void 0?void 0:e.content.activeCell;if(t===null||t===undefined){return}this._updateCellForToolbarOverlap(t)}_updateCellForToolbarOverlap(e){requestIdleCallback((()=>{const t=e.node;t.classList.remove(u);if(this._cellToolbarOverlapsContents(e)){t.classList.add(u)}}))}_cellToolbarOverlapsContents(e){var t,n,i,s;if(!e.model){return false}const o=e.model.type;const r=(t=e.editorWidget)===null||t===void 0?void 0:t.node.getBoundingClientRect();const a=(n=r===null||r===void 0?void 0:r.left)!==null&&n!==void 0?n:0;const l=(i=r===null||r===void 0?void 0:r.right)!==null&&i!==void 0?i:0;const d=this._cellToolbarLeft(e);if(d===null){return false}if((a+l)/2>d){return true}if(o==="markdown"&&e.rendered){return this._markdownOverlapsToolbar(e)}if(((s=this._panel)===null||s===void 0?void 0:s.content.renderingLayout)==="default"){return this._codeOverlapsToolbar(e)}else{return this._outputOverlapsToolbar(e)}}_markdownOverlapsToolbar(e){const t=e.inputArea;if(!t){return false}const n=t.renderedInput;const i=n.node;const s=i.firstElementChild;if(s===null){return false}const o=s.style.maxWidth;s.style.maxWidth="max-content";const r=s.getBoundingClientRect().right;s.style.maxWidth=o;const a=this._cellToolbarLeft(e);return a===null?false:r>a}_outputOverlapsToolbar(e){const t=e.outputArea.node;if(t){const n=t.querySelectorAll("[data-mime-type]");const i=this._cellToolbarRect(e);if(i){const{left:e,bottom:t}=i;return(0,r.some)(n,(n=>{const i=n.firstElementChild;if(i){const s=new Range;if(d.includes(n.getAttribute("data-mime-type")||"")){s.selectNodeContents(i)}else{s.selectNode(i)}const{right:o,top:r}=s.getBoundingClientRect();return o>e&&r<t}return false}))}}return false}_codeOverlapsToolbar(e){const t=e.editorWidget;const n=e.editor;if(!t||!n){return false}if(n.lineCount<1){return false}const i=t.node.getElementsByClassName("cm-line");if(i.length<1){return false}let s=i[0].getBoundingClientRect().left;const o=document.createRange();o.selectNodeContents(i[0]);s+=o.getBoundingClientRect().width;const r=this._cellToolbarLeft(e);return r===null?false:s>r}_cellToolbarRect(e){var t;if(((t=this._toolbar)===null||t===void 0?void 0:t.parent)!==e.inputArea){return null}const n=this._toolbar.node;return n.getBoundingClientRect()}_cellToolbarLeft(e){var t;return((t=this._cellToolbarRect(e))===null||t===void 0?void 0:t.left)||null}}const m=[{command:"notebook:duplicate-below",name:"duplicate-cell"},{command:"notebook:move-cell-up",name:"move-cell-up"},{command:"notebook:move-cell-down",name:"move-cell-down"},{command:"notebook:insert-cell-above",name:"insert-cell-above"},{command:"notebook:insert-cell-below",name:"insert-cell-below"},{command:"notebook:delete-cell",name:"delete-cell"}];class g{constructor(e,t){this._commands=e;this._toolbarFactory=t!==null&&t!==void 0?t:this.defaultToolbarFactory}createItemFactory(e){return(0,i.createDefaultFactory)(e)}get defaultToolbarFactory(){const e=this.createItemFactory(this._commands);return(t,n)=>new s.ObservableList({values:m.map((i=>{const s=n?{...i,args:{...i.args,...n}}:i;return{name:i.name,widget:e(g.FACTORY_NAME,t,s)}}))})}createNew(e){const t=t=>this._toolbarFactory(t,{[g.WIDGET_ID_ARG]:e.id});return this._tracker=new p(e,undefined,t)}get enabled(){return this._tracker.enabled}set enabled(e){if(this._tracker){this._tracker.enabled=e}}}g.FACTORY_NAME="Cell";g.WIDGET_ID_ARG="widgetId"},30531:(e,t,n)=>{"use strict";n.r(t);n.d(t,{AttachmentsCell:()=>qe,AttachmentsCellModel:()=>H,Cell:()=>He,CellDragUtils:()=>c,CellFooter:()=>j,CellHeader:()=>S,CellModel:()=>W,CellSearchProvider:()=>re,CodeCell:()=>Ue,CodeCellLayout:()=>Ve,CodeCellModel:()=>q,Collapser:()=>_,InputArea:()=>D,InputCollapser:()=>b,InputPlaceholder:()=>ee,InputPrompt:()=>A,MarkdownCell:()=>$e,MarkdownCellModel:()=>U,OutputCollapser:()=>y,OutputPlaceholder:()=>te,Placeholder:()=>Z,RawCell:()=>Ke,RawCellModel:()=>V,SELECTED_HIGHLIGHT_CLASS:()=>oe,createCellSearchProvider:()=>de,isCodeCellModel:()=>O,isMarkdownCellModel:()=>F,isRawCellModel:()=>z});var i=n(97290);const s=5;const o="jp-dragImage";const r="jp-dragImage-singlePrompt";const a="jp-dragImage-content";const l="jp-dragImage-prompt";const d="jp-dragImage-multipleBack";var c;(function(e){function t(e,t,n){let i=-1;while(e&&e.parentElement){if(n(e)){let n=-1;for(const s of t){if(s.node===e){i=++n;break}}break}e=e.parentElement}return i}e.findCell=t;function n(e,t){var n,i;let s;if(e){if((n=e.editorWidget)===null||n===void 0?void 0:n.node.contains(t)){s="input"}else if((i=e.promptNode)===null||i===void 0?void 0:i.contains(t)){s="prompt"}else{s="cell"}}else{s="unknown"}return s}e.detectTargetArea=n;function c(e,t,n,i){const o=Math.abs(n-e);const r=Math.abs(i-t);return o>=s||r>=s}e.shouldStartDrag=c;function h(e,t){const n=t.length;let s;if(e.model.type==="code"){const t=e.model.executionCount;s=" ";if(t){s=t.toString()}}else{s=""}const c=e.model.sharedModel.getSource().split("\n")[0].slice(0,26);if(n>1){if(s!==""){return i.VirtualDOM.realize(i.h.div(i.h.div({className:o},i.h.span({className:l},"["+s+"]:"),i.h.span({className:a},c)),i.h.div({className:d},"")))}else{return i.VirtualDOM.realize(i.h.div(i.h.div({className:o},i.h.span({className:l}),i.h.span({className:a},c)),i.h.div({className:d},"")))}}else{if(s!==""){return i.VirtualDOM.realize(i.h.div(i.h.div({className:`${o} ${r}`},i.h.span({className:l},"["+s+"]:"),i.h.span({className:a},c))))}else{return i.VirtualDOM.realize(i.h.div(i.h.div({className:`${o} ${r}`},i.h.span({className:l}),i.h.span({className:a},c))))}}}e.createCellDragImage=h})(c||(c={}));var h=n(4073);var u=n(76326);var p=n(44914);const m="jp-Collapser";const g="jp-Collapser-child";const f="jp-InputCollapser";const v="jp-OutputCollapser";class _ extends h.ReactWidget{constructor(){super();this.addClass(m)}get collapsed(){return false}render(){const e=g;return p.createElement("div",{className:e,onClick:e=>this.handleClick(e)})}}class b extends _{constructor(){super();this.addClass(f)}get collapsed(){var e;const t=(e=this.parent)===null||e===void 0?void 0:e.parent;if(t){return t.inputHidden}else{return false}}handleClick(e){var t;const n=(t=this.parent)===null||t===void 0?void 0:t.parent;if(n){n.inputHidden=!n.inputHidden}this.update()}}class y extends _{constructor(){super();this.addClass(v)}get collapsed(){var e;const t=(e=this.parent)===null||e===void 0?void 0:e.parent;if(t){return t.outputHidden}else{return false}}handleClick(e){var t,n;const i=(t=this.parent)===null||t===void 0?void 0:t.parent;if(i){i.outputHidden=!i.outputHidden;if(i.outputHidden){let e=(n=i.parent)===null||n===void 0?void 0:n.node;if(e){u.ElementExt.scrollIntoViewIfNeeded(e,i.node)}}}this.update()}}var w=n(27518);const C="jp-CellHeader";const x="jp-CellFooter";class S extends w.Widget{constructor(){super();this.addClass(C)}}class j extends w.Widget{constructor(){super();this.addClass(x)}}var k=n(44389);const I="jp-InputArea";const T="jp-InputArea-prompt";const E="jp-InputPrompt";const M="jp-InputArea-editor";class D extends w.Widget{constructor(e){super();this.addClass(I);const{contentFactory:t,editorOptions:n,model:i}=e;this.model=i;this.contentFactory=t;const s=this._prompt=t.createInputPrompt();s.addClass(T);const o=this._editor=new k.CodeEditorWrapper({factory:t.editorFactory,model:i,editorOptions:n});o.addClass(M);const r=this.layout=new w.PanelLayout;r.addWidget(s);r.addWidget(o)}get editorWidget(){return this._editor}get editor(){return this._editor.editor}get promptNode(){return this._prompt.node}get renderedInput(){return this._rendered}renderInput(e){const t=this.layout;if(this._rendered){this._rendered.parent=null}this._editor.hide();this._rendered=e;t.addWidget(e)}showEditor(){if(this._rendered){this._rendered.parent=null}this._editor.show()}setPrompt(e){this._prompt.executionCount=e}dispose(){if(this.isDisposed){return}this._prompt=null;this._editor=null;this._rendered=null;super.dispose()}}(function(e){class t{constructor(e){this._editor=e.editorFactory}get editorFactory(){return this._editor}createInputPrompt(){return new A}}e.ContentFactory=t})(D||(D={}));class A extends w.Widget{constructor(){super();this._executionCount=null;this.addClass(E)}get executionCount(){return this._executionCount}set executionCount(e){this._executionCount=e;if(e===null){this.node.textContent=" "}else{this.node.textContent=`[${e||" "}]:`}}}var P=n(2336);var L=n(40869);var R=n(99247);var N=n(95917);const B=(0,N.createMutex)();function O(e){return e.type==="code"}function F(e){return e.type==="markdown"}function z(e){return e.type==="raw"}class W extends k.CodeEditor.Model{constructor(e={}){const{cell_type:t,sharedModel:n,...i}=e;super({sharedModel:n!==null&&n!==void 0?n:(0,N.createStandaloneCell)({cell_type:t!==null&&t!==void 0?t:"raw",id:e.id}),...i});this.contentChanged=new P.Signal(this);this.stateChanged=new P.Signal(this);this._metadataChanged=new P.Signal(this);this._trusted=false;this.standaloneModel=typeof e.sharedModel==="undefined";this.trusted=!!this.getMetadata("trusted")||!!e.trusted;this.sharedModel.changed.connect(this.onGenericChange,this);this.sharedModel.metadataChanged.connect(this._onMetadataChanged,this)}get metadataChanged(){return this._metadataChanged}get id(){return this.sharedModel.getId()}get metadata(){return this.sharedModel.metadata}get trusted(){return this._trusted}set trusted(e){const t=this.trusted;if(t!==e){this._trusted=e;this.onTrustedChanged(this,{newValue:e,oldValue:t})}}dispose(){if(this.isDisposed){return}this.sharedModel.changed.disconnect(this.onGenericChange,this);this.sharedModel.metadataChanged.disconnect(this._onMetadataChanged,this);super.dispose()}onTrustedChanged(e,t){}deleteMetadata(e){return this.sharedModel.deleteMetadata(e)}getMetadata(e){return this.sharedModel.getMetadata(e)}setMetadata(e,t){if(typeof t==="undefined"){this.sharedModel.deleteMetadata(e)}else{this.sharedModel.setMetadata(e,t)}}toJSON(){return this.sharedModel.toJSON()}onGenericChange(){this.contentChanged.emit(void 0)}_onMetadataChanged(e,t){this._metadataChanged.emit(t)}}class H extends W{constructor(e){var t;super(e);const n=(t=e.contentFactory)!==null&&t!==void 0?t:H.defaultContentFactory;const i=this.sharedModel.getAttachments();this._attachments=n.createAttachmentsModel({values:i});this._attachments.stateChanged.connect(this.onGenericChange,this);this._attachments.changed.connect(this._onAttachmentsChange,this);this.sharedModel.changed.connect(this._onSharedModelChanged,this)}get attachments(){return this._attachments}dispose(){if(this.isDisposed){return}this._attachments.stateChanged.disconnect(this.onGenericChange,this);this._attachments.changed.disconnect(this._onAttachmentsChange,this);this._attachments.dispose();this.sharedModel.changed.disconnect(this._onSharedModelChanged,this);super.dispose()}toJSON(){return super.toJSON()}_onAttachmentsChange(e,t){const n=this.sharedModel;B((()=>n.setAttachments(e.toJSON())))}_onSharedModelChanged(e,t){if(t.attachmentsChange){const e=this.sharedModel;B((()=>{var t;return this._attachments.fromJSON((t=e.getAttachments())!==null&&t!==void 0?t:{})}))}}}(function(e){class t{createAttachmentsModel(e){return new L.AttachmentsModel(e)}}e.ContentFactory=t;e.defaultContentFactory=new t})(H||(H={}));class V extends H{constructor(e={}){super({cell_type:"raw",...e})}get type(){return"raw"}toJSON(){return super.toJSON()}}class U extends H{constructor(e={}){super({cell_type:"markdown",...e});this.mimeType="text/x-ipythongfm"}get type(){return"markdown"}toJSON(){return super.toJSON()}}class q extends W{constructor(e={}){var t;super({cell_type:"code",...e});this._executedCode="";this._isDirty=false;const n=(t=e===null||e===void 0?void 0:e.contentFactory)!==null&&t!==void 0?t:q.defaultContentFactory;const i=this.trusted;const s=this.sharedModel.getOutputs();this._outputs=n.createOutputArea({trusted:i,values:s});this.sharedModel.changed.connect(this._onSharedModelChanged,this);this._outputs.changed.connect(this.onGenericChange,this);this._outputs.changed.connect(this.onOutputsChange,this)}get type(){return"code"}get executionCount(){return this.sharedModel.execution_count||null}set executionCount(e){this.sharedModel.execution_count=e||null}get executionState(){return this.sharedModel.executionState}set executionState(e){this.sharedModel.executionState=e}get isDirty(){return this._isDirty}set isDirty(e){this._setDirty(e)}get outputs(){return this._outputs}clearExecution(){this.outputs.clear();this.executionCount=null;this.executionState="idle";this._setDirty(false);this.sharedModel.deleteMetadata("execution");this.trusted=true}dispose(){if(this.isDisposed){return}this.sharedModel.changed.disconnect(this._onSharedModelChanged,this);this._outputs.changed.disconnect(this.onGenericChange,this);this._outputs.changed.disconnect(this.onOutputsChange,this);this._outputs.dispose();this._outputs=null;super.dispose()}onTrustedChanged(e,t){const n=t.newValue;if(this._outputs){this._outputs.trusted=n}if(n){const e=this.sharedModel;const t=e.getMetadata();t.trusted=true;e.setMetadata(t)}this.stateChanged.emit({name:"trusted",oldValue:t.oldValue,newValue:n})}toJSON(){return super.toJSON()}onOutputsChange(e,t){const n=this.sharedModel;B((()=>{switch(t.type){case"add":{for(const n of t.newValues){if(n.type==="stream"){n.streamText.changed.connect(((e,n)=>{if(n.options!==undefined&&n.options["silent"]){return}const i=this.sharedModel;if(n.type==="remove"){i.removeStreamOutput(t.newIndex,n.start,"silent-change")}else{i.appendStreamOutput(t.newIndex,n.value,"silent-change")}}),this)}}const e=t.newValues.map((e=>e.toJSON()));n.updateOutputs(t.newIndex,t.newIndex,e,"silent-change");break}case"set":{const e=t.newValues.map((e=>e.toJSON()));n.updateOutputs(t.oldIndex,t.oldIndex+e.length,e,"silent-change");break}case"remove":n.updateOutputs(t.oldIndex,t.oldValues.length,[],"silent-change");break;case"clear":n.clearOutputs();break;default:throw new Error(`Invalid event type: ${t.type}`)}}))}_onSharedModelChanged(e,t){if(t.streamOutputChange){B((()=>{for(const e of t.streamOutputChange){if("delete"in e){this._outputs.removeStreamOutput(e.delete)}if("insert"in e){this._outputs.appendStreamOutput(e.insert.toString())}}}))}if(t.outputsChange){B((()=>{let e=0;for(const n of t.outputsChange){if("retain"in n){e+=n.retain}if("delete"in n){for(let t=0;t<n.delete;t++){this._outputs.remove(e)}}if("insert"in n){for(const e of n.insert){this._outputs.add("toJSON"in e?e.toJSON():e)}}}}))}if(t.executionCountChange){this.stateChanged.emit({name:"executionCount",oldValue:t.executionCountChange.oldValue,newValue:t.executionCountChange.newValue})}if(t.executionStateChange){if(t.executionStateChange.newValue==="running"){this._setDirty(false)}this.stateChanged.emit({name:"executionState",oldValue:t.executionStateChange.oldValue,newValue:t.executionStateChange.newValue})}if(t.sourceChange&&(this.executionCount!==null||this.executionState==="running")){this._setDirty(this._executedCode!==this.sharedModel.getSource().trim())}}_setDirty(e){if(!e){this._executedCode=this.sharedModel.getSource().trim()}if(e!==this._isDirty){this._isDirty=e;this.stateChanged.emit({name:"isDirty",oldValue:!e,newValue:e})}}}(function(e){class t{createOutputArea(e){return new R.OutputAreaModel(e)}}e.ContentFactory=t;e.defaultContentFactory=new t})(q||(q={}));var $=n(34881);const K="jp-Placeholder";const J="jp-Placeholder-prompt jp-InputPrompt";const G="jp-Placeholder-prompt jp-OutputPrompt";const Y="jp-Placeholder-content";const X="jp-InputPlaceholder";const Q="jp-OutputPlaceholder";class Z extends w.Widget{constructor(e){var t,n,i;const s=document.createElement("div");super({node:s});const o=((t=e.translator)!==null&&t!==void 0?t:$.nullTranslator).load("jupyterlab");const r=document.createElement("div");r.className=(n=e.promptClass)!==null&&n!==void 0?n:"";s.insertAdjacentHTML("afterbegin",r.outerHTML);this._cell=document.createElement("div");this._cell.classList.add(Y);this._cell.title=o.__("Click to expand");const a=this._cell.appendChild(document.createElement("div"));a.classList.add("jp-Placeholder-contentContainer");this._textContent=a.appendChild(document.createElement("span"));this._textContent.className="jp-PlaceholderText";this._textContent.innerText=(i=e.text)!==null&&i!==void 0?i:"";s.appendChild(this._cell);h.ellipsesIcon.element({container:a.appendChild(document.createElement("span")),className:"jp-MoreHorizIcon",elementPosition:"center",height:"auto",width:"32px"});this.addClass(K);this._callback=e.callback}set text(e){this._textContent.innerText=e}get text(){return this._textContent.innerText}onAfterAttach(e){super.onAfterAttach(e);this.node.addEventListener("click",this._callback)}onBeforeDetach(e){this.node.removeEventListener("click",this._callback);super.onBeforeDetach(e)}}class ee extends Z{constructor(e){super({...e,promptClass:J});this.addClass(X)}}class te extends Z{constructor(e){super({...e,promptClass:G});this.addClass(Q)}}var ne=n(45713);var ie=n(40959);var se=n(41043);const oe="jp-mod-selected";class re extends ne.EditorSearchProvider{constructor(e){super();this.cell=e;if(!this.cell.inViewport&&!this.cell.editor){void(0,ie.signalToPromise)(e.inViewportChanged).then((([,e])=>{if(e){this.cmHandler.setEditor(this.editor)}}))}}get editor(){return this.cell.editor}get model(){return this.cell.model}}class ae extends re{constructor(e){super(e);this.currentProviderIndex=-1;this.outputsProvider=[];const t=this.cell.outputArea;this._onOutputsChanged(t,t.widgets.length).catch((e=>{console.error(`Failed to initialize search on cell outputs.`,e)}));t.outputLengthChanged.connect(this._onOutputsChanged,this);t.disposed.connect((()=>{t.outputLengthChanged.disconnect(this._onOutputsChanged)}),this)}get matchesCount(){if(!this.isActive){return 0}return super.matchesCount+this.outputsProvider.reduce(((e,t)=>{var n;return e+((n=t.matchesCount)!==null&&n!==void 0?n:0)}),0)}async clearHighlight(){await super.clearHighlight();await Promise.all(this.outputsProvider.map((e=>e.clearHighlight())))}dispose(){if(this.isDisposed){return}super.dispose();this.outputsProvider.map((e=>{e.dispose()}));this.outputsProvider.length=0}getCurrentMatch(){var e;if(this.currentProviderIndex===-1){return super.getCurrentMatch()}else if(this.currentProviderIndex<this.outputsProvider.length){const t=this.outputsProvider[this.currentProviderIndex];return(e=t.currentMatch)!==null&&e!==void 0?e:undefined}}async highlightNext(e,t){var n;const i=(n=t===null||t===void 0?void 0:t.from)!==null&&n!==void 0?n:"";if(this.matchesCount===0||i==="previous-match"&&this.currentIndex!==null&&this.currentIndex+1>=this.cmHandler.matches.length||!this.isActive){this.currentIndex=null}else{if(this.currentProviderIndex===-1){const n=await super.highlightNext(e,t);if(n){this.currentIndex=this.cmHandler.currentIndex;return n}else{this.currentProviderIndex=0}}while(this.currentProviderIndex<this.outputsProvider.length){const e=this.outputsProvider[this.currentProviderIndex];const t=await e.highlightNext(false);if(t){this.currentIndex=super.matchesCount+this.outputsProvider.slice(0,this.currentProviderIndex).reduce(((e,t)=>{var n;return e+=(n=t.matchesCount)!==null&&n!==void 0?n:0}),0)+e.currentMatchIndex;return t}else{this.currentProviderIndex+=1}}this.currentProviderIndex=-1;this.currentIndex=null;return undefined}}async highlightPrevious(){if(this.matchesCount===0||!this.isActive){this.currentIndex=null}else{if(this.currentIndex===null){this.currentProviderIndex=this.outputsProvider.length-1}while(this.currentProviderIndex>=0){const e=this.outputsProvider[this.currentProviderIndex];const t=await e.highlightPrevious(false);if(t){this.currentIndex=super.matchesCount+this.outputsProvider.slice(0,this.currentProviderIndex).reduce(((e,t)=>{var n;return e+=(n=t.matchesCount)!==null&&n!==void 0?n:0}),0)+e.currentMatchIndex;return t}else{this.currentProviderIndex-=1}}const e=await super.highlightPrevious();if(e){this.currentIndex=this.cmHandler.currentIndex;return e}else{this.currentIndex=null;return undefined}}}async startQuery(e,t){await super.startQuery(e,t);if((t===null||t===void 0?void 0:t.output)!==false&&this.isActive){await Promise.all(this.outputsProvider.map((t=>t.startQuery(e))))}}async endQuery(){var e;await super.endQuery();if(((e=this.filters)===null||e===void 0?void 0:e.output)!==false&&this.isActive){await Promise.all(this.outputsProvider.map((e=>e.endQuery())))}}async replaceAllMatches(e,t){if(this.model.getMetadata("editable")===false)return Promise.resolve(false);const n=await super.replaceAllMatches(e,t);return n}async replaceCurrentMatch(e,t,n){if(this.model.getMetadata("editable")===false)return Promise.resolve(false);const i=await super.replaceCurrentMatch(e,t,n);return i}async _onOutputsChanged(e,t){var n;this.outputsProvider.forEach((e=>{e.dispose()}));this.outputsProvider.length=0;this.currentProviderIndex=-1;this.outputsProvider=this.cell.outputArea.widgets.map((e=>new se.GenericSearchProvider(e)));if(this.isActive&&this.query&&((n=this.filters)===null||n===void 0?void 0:n.output)!==false){await Promise.all([this.outputsProvider.map((e=>{void e.startQuery(this.query)}))])}this._stateChanged.emit()}}class le extends re{constructor(e){super(e);this._unrenderedByHighlight=false;this.renderedProvider=new se.GenericSearchProvider(e.renderer)}async clearHighlight(){await super.clearHighlight();await this.renderedProvider.clearHighlight()}dispose(){if(this.isDisposed){return}super.dispose();this.renderedProvider.dispose()}async endQuery(){await super.endQuery();await this.renderedProvider.endQuery()}async highlightNext(e=true,t){let n=undefined;if(!this.isActive){return n}const i=this.cell;if(i.rendered&&this.matchesCount>0){this._unrenderedByHighlight=true;const e=(0,ie.signalToPromise)(i.renderedChanged);i.rendered=false;await e}n=await super.highlightNext(e,t);return n}async highlightPrevious(){let e=undefined;const t=this.cell;if(t.rendered&&this.matchesCount>0){this._unrenderedByHighlight=true;const e=(0,ie.signalToPromise)(t.renderedChanged);t.rendered=false;await e}e=await super.highlightPrevious();return e}async startQuery(e,t){await super.startQuery(e,t);const n=this.cell;if(n.rendered){this.onRenderedChanged(n,n.rendered)}n.renderedChanged.connect(this.onRenderedChanged,this)}async replaceAllMatches(e,t){if(this.model.getMetadata("editable")===false)return Promise.resolve(false);const n=await super.replaceAllMatches(e,t);if(this.cell.rendered){this.cell.update()}return n}async replaceCurrentMatch(e,t,n){if(this.model.getMetadata("editable")===false)return Promise.resolve(false);const i=await super.replaceCurrentMatch(e,t,n);return i}onRenderedChanged(e,t){var n;if(!this._unrenderedByHighlight){this.currentIndex=null}this._unrenderedByHighlight=false;if(this.isActive){if(t){void this.renderedProvider.startQuery(this.query)}else{(n=e.editor)===null||n===void 0?void 0:n.setCursorPosition({column:0,line:0});void this.renderedProvider.endQuery()}}}}function de(e){if(e.isPlaceholder()){return new re(e)}switch(e.model.type){case"code":return new ae(e);case"markdown":return new le(e);default:return new re(e)}}var ce=n(22819);var he=n(38850);var ue=n(95513);var pe=n(72011);var me=n(5592);var ge=n(34236);var fe=n(42856);var ve=n(26568);const _e="jp-CellResizeHandle";const be="jp-mod-resizedCell";class ye extends w.Widget{constructor(e){super();this.targetNode=e;this._isActive=false;this._isDragging=false;this.sizeChanged=new P.Signal(this);this.addClass(_e);this._resizer=new ve.Throttler((e=>this._resize(e)),50)}dispose(){this._resizer.dispose();super.dispose()}handleEvent(e){var t,n;switch(e.type){case"dblclick":(t=this.targetNode.parentNode)===null||t===void 0?void 0:t.childNodes.forEach((e=>{e.classList.remove(be)}));document.documentElement.style.setProperty("--jp-side-by-side-output-size",`1fr`);this._isActive=false;break;case"mousedown":this._isDragging=true;if(!this._isActive){(n=this.targetNode.parentNode)===null||n===void 0?void 0:n.childNodes.forEach((e=>{e.classList.add(be)}));this._isActive=true}window.addEventListener("mousemove",this);window.addEventListener("mouseup",this);break;case"mousemove":{if(this._isActive&&this._isDragging){void this._resizer.invoke(e)}break}case"mouseup":this._isDragging=false;window.removeEventListener("mousemove",this);window.removeEventListener("mouseup",this);break;default:break}}onAfterAttach(e){this.node.addEventListener("dblclick",this);this.node.addEventListener("mousedown",this);super.onAfterAttach(e)}onBeforeDetach(e){this.node.removeEventListener("dblclick",this);this.node.removeEventListener("mousedown",this);super.onBeforeDetach(e)}_resize(e){const{width:t,x:n}=this.targetNode.getBoundingClientRect();const i=e.clientX-n;const s=t/i-1;if(0<s){const e=Math.max(Math.min(Math.abs(s),50),.05);document.documentElement.style.setProperty("--jp-side-by-side-output-size",`${e}fr`);this.sizeChanged.emit(e)}}}const we="jp-Cell";const Ce="jp-Cell-header";const xe="jp-Cell-footer";const Se="jp-Cell-inputWrapper";const je="jp-Cell-outputWrapper";const ke="jp-Cell-inputArea";const Ie="jp-Cell-outputArea";const Te="jp-Cell-inputCollapser";const Ee="jp-Cell-outputCollapser";const Me="jp-mod-dirty";const De="jp-CodeCell";const Ae="jp-MarkdownCell";const Pe="jp-MarkdownOutput";const Le="jp-MarkdownHeadingCollapsed";const Re="jp-collapseHeadingButton";const Ne="jp-showHiddenCellsButton";const Be="jp-RawCell";const Oe="jp-mod-rendered";const Fe="jp-mod-noOutputs";const ze=1e3;const We="application/x-jupyter-icontentsrich";class He extends w.Widget{constructor(e){var t,n,i,s;super();this.prompt="";this._displayChanged=new P.Signal(this);this._scrollRequested=new P.Signal(this);this._scrollHandlerExtension=ce.EditorView.scrollHandler.of(((e,t,n)=>{const i=this._inViewport!==null;const s=i&&!this._inViewport;this._scrollRequested.emit({defaultPrevented:s,scrollWithinCell:()=>{e.dispatch({effects:ce.EditorView.scrollIntoView(t,n)})}});return s}));this._editorConfig={};this._editorExtensions=[];this._inputHidden=false;this._inViewportChanged=new P.Signal(this);this._readOnly=false;this._ready=new me.PromiseDelegate;this._resizeDebouncer=new ve.Debouncer((()=>{this._displayChanged.emit()}),0);this._syncCollapse=false;this._syncEditable=false;this.addClass(we);const o=this._model=e.model;this.contentFactory=e.contentFactory;this.layout=(t=e.layout)!==null&&t!==void 0?t:new w.PanelLayout;this.translator=(n=e.translator)!==null&&n!==void 0?n:$.nullTranslator;this._editorConfig={searchWithCM:false,...e.editorConfig};this._editorExtensions=(i=e.editorExtensions)!==null&&i!==void 0?i:[];this._editorExtensions.push(this._scrollHandlerExtension);this._placeholder=true;this._inViewport=null;this.placeholder=(s=e.placeholder)!==null&&s!==void 0?s:true;o.metadataChanged.connect(this.onMetadataChanged,this)}initializeState(){this.loadCollapseState();this.loadEditableState();return this}get displayChanged(){return this._displayChanged}get inViewport(){var e;return(e=this._inViewport)!==null&&e!==void 0?e:false}set inViewport(e){if(this._inViewport!==e){this._inViewport=e;this._inViewportChanged.emit(this._inViewport)}}get inViewportChanged(){return this._inViewportChanged}get placeholder(){return this._placeholder}set placeholder(e){if(this._placeholder!==e&&e===false){this.initializeDOM();this._placeholder=e;this._ready.resolve()}}get promptNode(){if(this.placeholder){return null}if(!this._inputHidden){return this._input.promptNode}else{return this._inputPlaceholder.node.firstElementChild}}get editorWidget(){var e,t;return(t=(e=this._input)===null||e===void 0?void 0:e.editorWidget)!==null&&t!==void 0?t:null}get editor(){var e,t;return(t=(e=this._input)===null||e===void 0?void 0:e.editor)!==null&&t!==void 0?t:null}get editorConfig(){return this._editorConfig}get headings(){return new Array}async getHeadings(){return[]}get model(){return this._model}get inputArea(){return this._input}get readOnly(){return this._readOnly}set readOnly(e){if(e===this._readOnly){return}this._readOnly=e;if(this.syncEditable){this.saveEditableState()}this.update()}isPlaceholder(){return this.placeholder}saveEditableState(){const{sharedModel:e}=this.model;const t=e.getMetadata("editable");if(this.readOnly&&t===false||!this.readOnly&&t===undefined){return}if(this.readOnly){e.setMetadata("editable",false)}else{e.deleteMetadata("editable")}}loadEditableState(){this.readOnly=this.model.sharedModel.getMetadata("editable")===false}get ready(){return this._ready.promise}setPrompt(e){return this._setPrompt(e)}_setPrompt(e){var t;this.prompt=e;(t=this._input)===null||t===void 0?void 0:t.setPrompt(e)}get inputHidden(){return this._inputHidden}set inputHidden(e){var t;if(this._inputHidden===e){return}if(!this.placeholder){const n=this._inputWrapper.layout;if(e){this._input.parent=null;if(this._inputPlaceholder){this._inputPlaceholder.text=(t=this.model.sharedModel.getSource().split("\n"))===null||t===void 0?void 0:t[0]}n.addWidget(this._inputPlaceholder)}else{this._inputPlaceholder.parent=null;n.addWidget(this._input)}}this._inputHidden=e;if(this.syncCollapse){this.saveCollapseState()}this.handleInputHidden(e)}saveCollapseState(){const e={...this.model.getMetadata("jupyter")};if(this.inputHidden&&e.source_hidden===true||!this.inputHidden&&e.source_hidden===undefined){return}if(this.inputHidden){e.source_hidden=true}else{delete e.source_hidden}if(Object.keys(e).length===0){this.model.deleteMetadata("jupyter")}else{this.model.setMetadata("jupyter",e)}}loadCollapseState(){var e;const t=(e=this.model.getMetadata("jupyter"))!==null&&e!==void 0?e:{};this.inputHidden=!!t.source_hidden}handleInputHidden(e){return}get syncCollapse(){return this._syncCollapse}set syncCollapse(e){if(this._syncCollapse===e){return}this._syncCollapse=e;if(e){this.loadCollapseState()}}get syncEditable(){return this._syncEditable}set syncEditable(e){if(this._syncEditable===e){return}this._syncEditable=e;if(e){this.loadEditableState()}}clone(){const e=this.constructor;return new e({model:this.model,contentFactory:this.contentFactory,placeholder:false,translator:this.translator})}dispose(){if(this.isDisposed){return}this._resizeDebouncer.dispose();this._input=null;this._model=null;this._inputWrapper=null;this._inputPlaceholder=null;super.dispose()}updateEditorConfig(e){this._editorConfig={...this._editorConfig,...e};if(this.editor){this.editor.setBaseOptions(this._editorConfig)}}get scrollRequested(){return this._scrollRequested}initializeDOM(){if(!this.placeholder){return}const e=this.contentFactory;const t=this._model;const n=e.createCellHeader();n.addClass(Ce);this.layout.addWidget(n);const i=this._inputWrapper=new w.Panel;i.addClass(Se);const s=new b;s.addClass(Te);const o=this._input=new D({model:t,contentFactory:e,editorOptions:this.getEditorOptions()});o.addClass(ke);i.addWidget(s);i.addWidget(o);this.layout.addWidget(i);this._inputPlaceholder=new ee({callback:()=>{this.inputHidden=!this.inputHidden},text:o.model.sharedModel.getSource().split("\n")[0],translator:this.translator});o.model.contentChanged.connect(((e,t)=>{var n;if(this._inputPlaceholder&&this.inputHidden){this._inputPlaceholder.text=(n=e.sharedModel.getSource().split("\n"))===null||n===void 0?void 0:n[0]}}));if(this.inputHidden){o.parent=null;i.layout.addWidget(this._inputPlaceholder)}const r=this.contentFactory.createCellFooter();r.addClass(xe);this.layout.addWidget(r)}getEditorOptions(){return{config:this.editorConfig,extensions:this._editorExtensions}}onBeforeAttach(e){if(this.placeholder){this.placeholder=false}}onAfterAttach(e){this.update()}onActivateRequest(e){var t;(t=this.editor)===null||t===void 0?void 0:t.focus()}onResize(e){void this._resizeDebouncer.invoke()}onUpdateRequest(e){var t,n;if(!this._model){return}if(((t=this.editor)===null||t===void 0?void 0:t.getOption("readOnly"))!==this._readOnly){(n=this.editor)===null||n===void 0?void 0:n.setOption("readOnly",this._readOnly)}}onContentChanged(){var e;if(this.inputHidden&&this._inputPlaceholder){this._inputPlaceholder.text=(e=this.model.sharedModel.getSource().split("\n"))===null||e===void 0?void 0:e[0]}}onMetadataChanged(e,t){switch(t.key){case"jupyter":if(this.syncCollapse){this.loadCollapseState()}break;case"editable":if(this.syncEditable){this.loadEditableState()}break;default:break}}}(function(e){let t;(function(e){e[e["HTML"]=0]="HTML";e[e["Markdown"]=1]="Markdown"})(t=e.HeadingType||(e.HeadingType={}));class n{constructor(e){this._editorFactory=e.editorFactory}get editorFactory(){return this._editorFactory}createCellHeader(){return new S}createCellFooter(){return new j}createInputPrompt(){return new A}createOutputPrompt(){return new R.OutputPrompt}createStdin(e){return new R.Stdin(e)}}e.ContentFactory=n})(He||(He={}));class Ve extends w.PanelLayout{onBeforeAttach(e){let t=true;const n=this.parent.node.firstElementChild;for(const i of this){if(n){if(i.node===n){t=false}else{fe.MessageLoop.sendMessage(i,e);if(t){this.parent.node.insertBefore(i.node,n)}else{this.parent.node.appendChild(i.node)}if(!this.parent.isHidden){i.setFlag(w.Widget.Flag.IsVisible)}fe.MessageLoop.sendMessage(i,w.Widget.Msg.AfterAttach)}}}}onAfterDetach(e){for(const t of this){if(!t.hasClass(je)&&t.node.isConnected){fe.MessageLoop.sendMessage(t,w.Widget.Msg.BeforeDetach);this.parent.node.removeChild(t.node);fe.MessageLoop.sendMessage(t,e)}}}}class Ue extends He{constructor(e){var t;super({layout:new Ve,...e,placeholder:true});this._detectCaretMovementInOuput=e=>{const t=this._inViewport!==null;const n=t&&!this._inViewport;const i=e.target;if(!i||!(i instanceof HTMLElement)){return}if(this._lastTarget){this._lastTarget.removeEventListener("selectionchange",this._lastOnCaretMovedHandler);document.removeEventListener("selectionchange",this._lastOnCaretMovedHandler)}const s=()=>{this._scrollRequested.emit({scrollWithinCell:({scroller:e})=>{u.ElementExt.scrollIntoViewIfNeeded(e,i)},defaultPrevented:n})};this._lastTarget=i;this._lastOnCaretMovedHandler=s;i.addEventListener("selectionchange",s,{once:true});document.addEventListener("selectionchange",s,{once:true});setTimeout((()=>{i.removeEventListener("selectionchange",s);document.removeEventListener("selectionchange",s)}),250)};this._headingsCache=null;this._outputHidden=false;this._outputWrapper=null;this._outputPlaceholder=null;this._syncScrolled=false;this._lastTarget=null;this._lastOutputHeight="";this.addClass(De);const n=this.translator.load("jupyterlab");const i=this._rendermime=e.rendermime;const s=this.contentFactory;const o=this.model;this.maxNumberOutputs=e.maxNumberOutputs;const r=o.outputs.length===0?n.__("Code Cell Content"):n.__("Code Cell Content with Output");this.node.setAttribute("aria-label",r);const a=this._output=new R.OutputArea({model:this.model.outputs,rendermime:i,contentFactory:s,maxNumberOutputs:this.maxNumberOutputs,translator:this.translator,promptOverlay:true,inputHistoryScope:e.inputHistoryScope,showInputPlaceholder:e.showInputPlaceholder});a.node.addEventListener("keydown",this._detectCaretMovementInOuput);a.addClass(Ie);a.toggleScrolling.connect((()=>{this.outputsScrolled=!this.outputsScrolled}));a.initialize.connect((()=>{this.updatePromptOverlayIcon()}));this.placeholder=(t=e.placeholder)!==null&&t!==void 0?t:true;o.outputs.changed.connect(this.onOutputChanged,this);o.outputs.stateChanged.connect(this.onOutputChanged,this);o.stateChanged.connect(this.onStateChanged,this)}initializeDOM(){if(!this.placeholder){return}super.initializeDOM();this._updatePrompt();const e=this._outputWrapper=new w.Panel;e.addClass(je);const t=new y;t.addClass(Ee);e.addWidget(t);if(this.model.outputs.length===0){this.addClass(Fe)}this._output.outputLengthChanged.connect(this._outputLengthHandler,this);e.addWidget(this._output);const n=this.layout;const i=new ye(this.node);i.sizeChanged.connect(this._sizeChangedHandler,this);n.insertWidget(n.widgets.length-1,i);n.insertWidget(n.widgets.length-1,e);if(this.model.isDirty){this.addClass(Me)}this._outputPlaceholder=new te({callback:()=>{this.outputHidden=!this.outputHidden},text:this.getOutputPlaceholderText(),translator:this.translator});const s=e.layout;if(this.outputHidden){s.removeWidget(this._output);s.addWidget(this._outputPlaceholder);if(this.inputHidden&&!e.isHidden){this._outputWrapper.hide()}}const o=this.translator.load("jupyterlab");const r=this.model.outputs.length===0?o.__("Code Cell Content"):o.__("Code Cell Content with Output");this.node.setAttribute("aria-label",r)}getOutputPlaceholderText(){var e;const t=this.model.outputs.get(0);const n=t===null||t===void 0?void 0:t.data;if(!n){return undefined}const i=["text/html","image/svg+xml","application/pdf","text/markdown","text/plain","application/vnd.jupyter.stderr","application/vnd.jupyter.stdout","text"];const s=i.find((e=>{const n=t.data[e];return(Array.isArray(n)?typeof n[0]:typeof n)==="string"}));const o=t.data[s!==null&&s!==void 0?s:""];if(o!==undefined){return(e=Array.isArray(o)?o:o===null||o===void 0?void 0:o.split("\n"))===null||e===void 0?void 0:e.find((e=>e!==""))}return undefined}initializeState(){super.initializeState();this.loadScrolledState();this._updatePrompt();return this}get headings(){var e;return(e=this._headingsCache)!==null&&e!==void 0?e:[]}async getHeadings(){if(!this._headingsCache){const e=[];const t=this.model.outputs;for(let n=0;n<t.length;n++){const i=t.get(n);let s=null;let o=null;Object.keys(i.data).forEach((e=>{if(!o&&pe.TableOfContentsUtils.Markdown.isMarkdown(e)){o=e}else if(!s&&pe.TableOfContentsUtils.isHTML(e)){s=e}}));if(s){let t=i.data[s];if(typeof t!=="string"){t=t.join("\n")}e.push(...pe.TableOfContentsUtils.getHTMLHeadings(this._rendermime.sanitizer.sanitize(t)).map((e=>({...e,outputIndex:n,type:He.HeadingType.HTML}))))}else if(o){const t=await pe.TableOfContentsUtils.Markdown.parseHeadings(i.data[o],this._rendermime.markdownParser);e.push(...t.map((e=>({...e,outputIndex:n,type:He.HeadingType.Markdown}))))}}this._headingsCache=e}return[...this._headingsCache]}get outputArea(){return this._output}get outputHidden(){return this._outputHidden}set outputHidden(e){var t;if(this._outputHidden===e){return}if(!this.placeholder){const n=this._outputWrapper.layout;if(e){n.removeWidget(this._output);n.addWidget(this._outputPlaceholder);if(this.inputHidden&&!this._outputWrapper.isHidden){this._outputWrapper.hide()}if(this._outputPlaceholder){this._outputPlaceholder.text=(t=this.getOutputPlaceholderText())!==null&&t!==void 0?t:""}}else{if(this._outputWrapper.isHidden){this._outputWrapper.show()}n.removeWidget(this._outputPlaceholder);n.addWidget(this._output)}}this._outputHidden=e;if(this.syncCollapse){this.saveCollapseState()}}saveCollapseState(){this.model.sharedModel.transact((()=>{super.saveCollapseState();const e=this.model.getMetadata("collapsed");if(this.outputHidden&&e===true||!this.outputHidden&&e===undefined){return}if(this.outputHidden){this.model.setMetadata("collapsed",true)}else{this.model.deleteMetadata("collapsed")}}),false,"silent-change")}loadCollapseState(){super.loadCollapseState();this.outputHidden=!!this.model.getMetadata("collapsed")}get outputsScrolled(){return this._outputsScrolled}set outputsScrolled(e){this.toggleClass("jp-mod-outputsScrolled",e);this._outputsScrolled=e;if(this.syncScrolled){this.saveScrolledState()}this.updatePromptOverlayIcon()}updatePromptOverlayIcon(){var e;const t=he.DOMUtils.findElement(this.node,"jp-OutputArea-promptOverlay");if(!t){return}const n=16+4+4;if(t.clientHeight<=n){(e=t.firstChild)===null||e===void 0?void 0:e.remove();return}let i;if(this._outputsScrolled){h.expandIcon.element({container:t});i="Expand Output"}else{h.collapseIcon.element({container:t});i="Collapse Output"}const s=this.translator.load("jupyterlab");t.title=s.__(i)}saveScrolledState(){const e=this.model.getMetadata("scrolled");if(this.outputsScrolled&&e===true||!this.outputsScrolled&&e===undefined){return}if(this.outputsScrolled){this.model.setMetadata("scrolled",true)}else{this.outputArea.node.style.height="";this.model.deleteMetadata("scrolled")}}loadScrolledState(){if(this.model.getMetadata("scrolled")==="auto"){this.outputsScrolled=false}else{this.outputsScrolled=!!this.model.getMetadata("scrolled")}}get syncScrolled(){return this._syncScrolled}set syncScrolled(e){if(this._syncScrolled===e){return}this._syncScrolled=e;if(e){this.loadScrolledState()}}handleInputHidden(e){if(this.placeholder){return}if(!e&&this._outputWrapper.isHidden){this._outputWrapper.show()}else if(e&&!this._outputWrapper.isHidden&&this._outputHidden){this._outputWrapper.hide()}}clone(){const e=this.constructor;return new e({model:this.model,contentFactory:this.contentFactory,rendermime:this._rendermime,placeholder:false,translator:this.translator})}cloneOutputArea(){return new R.SimplifiedOutputArea({model:this.model.outputs,contentFactory:this.contentFactory,rendermime:this._rendermime})}dispose(){if(this.isDisposed){return}this._output.outputLengthChanged.disconnect(this._outputLengthHandler,this);this._output.node.removeEventListener("keydown",this._detectCaretMovementInOuput);this._rendermime=null;this._output=null;this._outputWrapper=null;this._outputPlaceholder=null;super.dispose()}onStateChanged(e,t){switch(t.name){case"executionCount":if(t.newValue!==null){this.model.executionState="idle"}this._updatePrompt();break;case"executionState":this._updatePrompt();break;case"isDirty":if(e.isDirty){this.addClass(Me)}else{this.removeClass(Me)}break;default:break}}onOutputChanged(){var e;this._headingsCache=null;if(this._outputPlaceholder&&this.outputHidden){this._outputPlaceholder.text=(e=this.getOutputPlaceholderText())!==null&&e!==void 0?e:""}this.updatePromptOverlayIcon();const t=this.outputArea.node.style.height;if(this.model.outputs.length===0&&t!==""){this._lastOutputHeight=t;this.outputArea.node.style.height=""}else if(this.model.outputs.length>0&&t===""){this.outputArea.node.style.height=this._lastOutputHeight}}onMetadataChanged(e,t){switch(t.key){case"scrolled":if(this.syncScrolled){this.loadScrolledState()}break;case"collapsed":if(this.syncCollapse){this.loadCollapseState()}break;default:break}super.onMetadataChanged(e,t)}_updatePrompt(){let e;if(this.model.executionState=="running"){e="*"}else{e=`${this.model.executionCount||""}`}this._setPrompt(e)}_outputLengthHandler(e,t){const n=t===0?true:false;this.toggleClass(Fe,n);const i=this.translator.load("jupyterlab");const s=n?i.__("Code Cell Content"):i.__("Code Cell Content with Output");this.node.setAttribute("aria-label",s)}_sizeChangedHandler(e){this._displayChanged.emit()}}(function(e){async function t(e,t,n){var i;const s=e.model;const o=s.sharedModel.getSource();if(!o.trim()||!((i=t.session)===null||i===void 0?void 0:i.kernel)){s.sharedModel.transact((()=>{s.clearExecution()}),false);return}const r={cellId:s.sharedModel.getId()};n={...s.metadata,...n,...r};const{recordTiming:a}=n;s.sharedModel.transact((()=>{s.clearExecution();e.outputHidden=false}),false,"silent-change");s.executionState="running";s.trusted=true;let l;try{const i=R.OutputArea.execute(o,e.outputArea,t,n);if(a){const t=e=>{let t;switch(e.header.msg_type){case"status":t=`status.${e.content.execution_state}`;break;case"execute_input":t="execute_input";break;default:return true}const n=e.header.date||(new Date).toISOString();const i=Object.assign({},s.getMetadata("execution"));i[`iopub.${t}`]=n;s.setMetadata("execution",i);return true};e.outputArea.future.registerMessageHook(t)}else{s.deleteMetadata("execution")}l=e.outputArea.future;const r=await i;s.executionCount=r.content.execution_count;if(a){const e=Object.assign({},s.getMetadata("execution"));const t=r.metadata.started;if(t){e["shell.execute_reply.started"]=t}const n=r.header.date;e["shell.execute_reply"]=n||(new Date).toISOString();s.setMetadata("execution",e)}return r}catch(d){if(l&&!e.isDisposed&&e.outputArea.future===l){e.model.executionState="idle";if(a&&l.isDisposed){const e=Object.assign({},s.getMetadata("execution"));e["execution_failed"]=(new Date).toISOString();s.setMetadata("execution",e)}}throw d}}e.execute=t})(Ue||(Ue={}));class qe extends He{handleEvent(e){switch(e.type){case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e);break;default:break}}getEditorOptions(){var e,t;const n=(e=super.getEditorOptions())!==null&&e!==void 0?e:{};n.extensions=[...(t=n.extensions)!==null&&t!==void 0?t:[],ce.EditorView.domEventHandlers({dragenter:e=>{e.preventDefault()},dragover:e=>{e.preventDefault()},drop:e=>{this._evtNativeDrop(e)},paste:e=>{this._evtPaste(e)}})];return n}onAfterAttach(e){super.onAfterAttach(e);const t=this.node;t.addEventListener("lm-dragover",this);t.addEventListener("lm-drop",this)}onBeforeDetach(e){const t=this.node;t.removeEventListener("lm-dragover",this);t.removeEventListener("lm-drop",this);super.onBeforeDetach(e)}_evtDragOver(e){const t=(0,ge.some)(ue.imageRendererFactory.mimeTypes,(t=>{if(!e.mimeData.hasData(We)){return false}const n=e.mimeData.getData(We);return n.model.mimetype===t}));if(!t){return}e.preventDefault();e.stopPropagation();e.dropAction=e.proposedAction}_evtPaste(e){var t;const n=(t=this.model.getMetadata("editable"))!==null&&t!==void 0?t:true;if(e.clipboardData&&n){const t=e.clipboardData.items;for(let n=0;n<t.length;n++){if(t[n].type==="text/plain"){if(n<t.length-1&&t[n+1].kind==="file"){continue}t[n].getAsString((e=>{var t,n;(n=(t=this.editor).replaceSelection)===null||n===void 0?void 0:n.call(t,e.replace(/\r\n/g,"\n").replace(/\r/g,"\n"))}))}this._attachFiles(e.clipboardData.items)}}e.preventDefault()}_evtNativeDrop(e){if(e.dataTransfer){this._attachFiles(e.dataTransfer.items)}e.preventDefault()}_evtDrop(e){const t=e.mimeData.types().filter((t=>{if(t===We){const t=e.mimeData.getData(We);return ue.imageRendererFactory.mimeTypes.indexOf(t.model.mimetype)!==-1}return ue.imageRendererFactory.mimeTypes.indexOf(t)!==-1}));if(t.length===0){return}e.preventDefault();e.stopPropagation();if(e.proposedAction==="none"){e.dropAction="none";return}e.dropAction="copy";for(const n of t){if(n===We){const{model:t,withContent:n}=e.mimeData.getData(We);if(t.type==="file"){const e=this._generateURI(t.name);this.updateCellSourceWithAttachment(t.name,e);void n().then((t=>{this.model.attachments.set(e,{[t.mimetype]:t.content})}))}}else{const t=this._generateURI();this.model.attachments.set(t,{[n]:e.mimeData.getData(n)});this.updateCellSourceWithAttachment(t,t)}}}_attachFiles(e){for(let t=0;t<e.length;t++){const n=e[t];if(n.kind==="file"){const e=n.getAsFile();if(e){this._attachFile(e)}}}}_attachFile(e){const t=new FileReader;t.onload=n=>{const{href:i,protocol:s}=ie.URLExt.parse(t.result);if(s!=="data:"){return}const o=/([\w+\/\+]+)?(?:;(charset=[\w\d-]*|base64))?,(.*)/;const r=o.exec(i);if(!r||r.length!==4){return}const a=r[1];const l=r[3];const d={[a]:l};const c=this._generateURI(e.name);if(a.startsWith("image/")){this.model.attachments.set(c,d);this.updateCellSourceWithAttachment(e.name,c)}};t.onerror=t=>{console.error(`Failed to attach ${e.name}`+t)};t.readAsDataURL(e)}_generateURI(e=""){const t=e.lastIndexOf(".");return t!==-1?me.UUID.uuid4().concat(e.substring(t)):me.UUID.uuid4()}}class $e extends qe{constructor(e){var t,n,i,s,o;super({...e,placeholder:true});this._headingsCache=null;this._headingCollapsedChanged=new P.Signal(this);this._prevText="";this._rendered=true;this._renderedChanged=new P.Signal(this);this._showEditorForReadOnlyMarkdown=true;this._cachedHeadingText="";this._headingResolved=false;this.addClass(Ae);this.model.contentChanged.connect(this.onContentChanged,this);const r=this.translator.load("jupyterlab");this.node.setAttribute("aria-label",r.__("Markdown Cell Content"));this._rendermime=e.rendermime.clone({resolver:new L.AttachmentsResolver({parent:(t=e.rendermime.resolver)!==null&&t!==void 0?t:undefined,model:this.model.attachments})});this._renderer=this._rendermime.createRenderer("text/markdown");this._renderer.addClass(Pe);this._headingCollapsed=(n=this.model.getMetadata(Le))!==null&&n!==void 0?n:false;this._showEditorForReadOnlyMarkdown=(i=e.showEditorForReadOnlyMarkdown)!==null&&i!==void 0?i:$e.defaultShowEditorForReadOnlyMarkdown;this.placeholder=(s=e.placeholder)!==null&&s!==void 0?s:true;this._monitor=new ie.ActivityMonitor({signal:this.model.contentChanged,timeout:ze});this.ready.then((()=>{if(this.isDisposed){return}this._monitor.activityStopped.connect((()=>{if(this._rendered){this.update()}}),this)})).catch((e=>{console.error("Failed to be ready",e)}));this._cachedHeadingText=this.model.sharedModel.getSource();this._emptyPlaceholder=(o=e.emptyPlaceholder)!==null&&o!==void 0?o:r.__("Type Markdown and LaTeX: $ α^2 $")}get headingInfo(){const e=this.headings;if(e.length>0){const{text:t,level:n}=e.reduce(((e,t)=>e.level<=t.level?e:t),e[0]);return{text:t,level:n}}else{return{text:"",level:-1}}}get headings(){var e;return(e=this._headingsCache)!==null&&e!==void 0?e:[]}async getHeadings(){if(!this._headingsCache){const e=await pe.TableOfContentsUtils.Markdown.parseHeadings(this.model.sharedModel.getSource(),this._rendermime.markdownParser);this._headingsCache=e.map((e=>({...e,type:He.HeadingType.Markdown})));this._headingResolved=true;this.renderCollapseButtons()}return[...this._headingsCache]}get headingCollapsed(){return this._headingCollapsed}set headingCollapsed(e){var t;if(this._headingCollapsed!==e){this._headingCollapsed=e;if(e){this.model.setMetadata(Le,e)}else if(this.model.getMetadata(Le)!=="undefined"){this.model.deleteMetadata(Le)}const n=(t=this.inputArea)===null||t===void 0?void 0:t.promptNode.getElementsByClassName(Re)[0];if(n){if(e){n.classList.add("jp-mod-collapsed")}else{n.classList.remove("jp-mod-collapsed")}}this.renderCollapseButtons(this._renderer);this._headingCollapsedChanged.emit(this._headingCollapsed)}}get numberChildNodes(){return this._numberChildNodes}set numberChildNodes(e){this._numberChildNodes=e;this.renderCollapseButtons(this._renderer)}get headingCollapsedChanged(){return this._headingCollapsedChanged}get rendered(){return this._rendered}set rendered(e){if(this.readOnly&&this._showEditorForReadOnlyMarkdown===false){e=true}if(e===this._rendered){return}this._rendered=e;this._handleRendered().then((()=>{this._displayChanged.emit();this._renderedChanged.emit(this._rendered)})).catch((e=>{console.error("Failed to render",e)}))}get renderedChanged(){return this._renderedChanged}get showEditorForReadOnly(){return this._showEditorForReadOnlyMarkdown}set showEditorForReadOnly(e){this._showEditorForReadOnlyMarkdown=e;if(e===false){this.rendered=true}}get renderer(){return this._renderer}dispose(){if(this.isDisposed){return}this._monitor.dispose();super.dispose()}initializeDOM(){if(!this.placeholder){return}super.initializeDOM();this.renderCollapseButtons(this._renderer);this._handleRendered().catch((e=>{console.error("Failed to render",e)}))}maybeCreateCollapseButton(){var e;const{level:t}=this.headingInfo;if(t>0&&((e=this.inputArea)===null||e===void 0?void 0:e.promptNode.getElementsByClassName(Re).length)==0){let e=this.inputArea.promptNode.appendChild(document.createElement("button"));e.className=`jp-Button ${Re}`;e.setAttribute("data-heading-level",t.toString());if(this._headingCollapsed){e.classList.add("jp-mod-collapsed")}else{e.classList.remove("jp-mod-collapsed")}e.onclick=e=>{this.headingCollapsed=!this.headingCollapsed}}}maybeCreateOrUpdateExpandButton(){const e=this.node.getElementsByClassName(Ne);let t=this.translator.load("jupyterlab");let n=t._n("%1 cell hidden","%1 cells hidden",this._numberChildNodes);let i=this.headingCollapsed&&this._numberChildNodes>0&&e.length==0;if(i){const e=document.createElement("button");e.className=`jp-mod-minimal jp-Button ${Ne}`;h.addIcon.render(e);const t=document.createElement("div");t.textContent=n;e.appendChild(t);e.onclick=()=>{this.headingCollapsed=false};this.node.appendChild(e)}let s=this.headingCollapsed&&this._numberChildNodes>0&&e.length==1;if(s){e[0].childNodes[1].textContent=n}let o=!(this.headingCollapsed&&this._numberChildNodes>0);if(o){for(const t of e){this.node.removeChild(t)}}}onContentChanged(){super.onContentChanged();const e=this.model;const t=e&&e.sharedModel.getSource();if(t!==this._cachedHeadingText){this._cachedHeadingText=t;this._headingsCache=null;this._headingResolved=false}}renderCollapseButtons(e){this.node.classList.toggle(Le,this._headingCollapsed);this.maybeCreateCollapseButton();this.maybeCreateOrUpdateExpandButton()}renderInput(e){this.addClass(Oe);if(!this.placeholder&&!this.isDisposed){this.renderCollapseButtons(e);this.inputArea.renderInput(e)}}showEditor(){this.removeClass(Oe);if(!this.placeholder&&!this.isDisposed){this.inputArea.showEditor();let e=(this.model.sharedModel.getSource().match(/^#+/g)||[""])[0].length;if(e>0){this.inputArea.editor.setCursorPosition({column:e+1,line:0},{scroll:false})}}}onUpdateRequest(e){this._handleRendered().catch((e=>{console.error("Failed to render",e)}));super.onUpdateRequest(e)}updateCellSourceWithAttachment(e,t){var n,i;const s=``;(i=(n=this.editor)===null||n===void 0?void 0:n.replaceSelection)===null||i===void 0?void 0:i.call(n,s)}async _handleRendered(){if(!this._rendered){this.showEditor()}else{await this._updateRenderedInput();if(this._rendered){this.renderInput(this._renderer)}}}_updateRenderedInput(){if(this.placeholder){return Promise.resolve()}const e=this.model;const t=e&&e.sharedModel.getSource()||this._emptyPlaceholder;if(t!==this._prevText){const e=new ue.MimeModel({data:{"text/markdown":t}});this._prevText=t;return this._renderer.renderModel(e)}return Promise.resolve()}clone(){const e=this.constructor;return new e({model:this.model,contentFactory:this.contentFactory,rendermime:this._rendermime,placeholder:false,translator:this.translator})}get headingsResolved(){return this._headingResolved}}(function(e){e.defaultShowEditorForReadOnlyMarkdown=true})($e||($e={}));class Ke extends He{constructor(e){super(e);this.addClass(Be);const t=this.translator.load("jupyterlab");this.node.setAttribute("aria-label",t.__("Raw Cell Content"))}clone(){const e=this.constructor;return new e({model:this.model,contentFactory:this.contentFactory,placeholder:false,translator:this.translator})}}},53377:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(5893);var a=n(38457);var l=n(17325);var d=n(19562);var c=n(23359);var h=n(39063);var u=n(1649);var p=n(66731);var m=n(85072);var g=n.n(m);var f=n(97825);var v=n.n(f);var _=n(77659);var b=n.n(_);var y=n(55056);var w=n.n(y);var C=n(10540);var x=n.n(C);var S=n(41113);var j=n.n(S);var k=n(55717);var I={};I.styleTagTransform=j();I.setAttributes=w();I.insert=b().bind(null,"head");I.domAPI=v();I.insertStyleElement=x();var T=g()(k.A,I);const E=k.A&&k.A.locals?k.A.locals:undefined},28211:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>_});var i=n(74823);var s=n(44914);var o=n.n(s);var r=n(4073);var a=n(34236);var l=n(34881);const d="jp-CellTags";const c="jp-CellTags-Tag";const h="jp-CellTags-Applied";const u="jp-CellTags-Unapplied";const p="jp-CellTags-Holder";const m="jp-CellTags-Add";const g="jp-CellTags-Empty";class f{constructor(e,t){this._tracker=e;this._translator=t||l.nullTranslator;this._trans=this._translator.load("jupyterlab");this._editing=false}addTag(e,t){const n=e.formData;if(t&&!n.includes(t)){n.push(t);e.formContext.updateMetadata({[e.name]:n},true)}}pullTags(){var e,t;const n=(e=this._tracker)===null||e===void 0?void 0:e.currentWidget;const i=(t=n===null||n===void 0?void 0:n.model)===null||t===void 0?void 0:t.cells;if(i===undefined){return[]}const s=(0,a.reduce)(i,((e,t)=>{var n;const i=(n=t.getMetadata("tags"))!==null&&n!==void 0?n:[];return[...e,...i]}),[]);return[...new Set(s)].filter((e=>e!==""))}_emptyAddTag(e){e.value="";e.style.width="";e.classList.add(g)}_onAddTagKeyDown(e,t){const n=t.target;if(t.ctrlKey)return;if(t.key==="Enter"){this.addTag(e,n.value)}else if(t.key==="Escape"){this._emptyAddTag(n)}}_onAddTagFocus(e){if(!this._editing){e.target.blur()}}_onAddTagBlur(e){if(this._editing){this._editing=false;this._emptyAddTag(e)}}_onChange(e){if(!e.target.value){this._emptyAddTag(e.target)}else{e.target.classList.remove(g);const t=document.createElement("span");t.className=m;t.textContent=e.target.value;document.body.appendChild(t);e.target.style.setProperty("width",`calc(${t.getBoundingClientRect().width}px + var(--jp-add-tag-extra-width))`);document.body.removeChild(t)}}_onAddTagClick(e,t){const n=t.target.closest("div");const i=n===null||n===void 0?void 0:n.childNodes[0];if(!this._editing){this._editing=true;i.value="";i.focus()}else if(t.target!==i){this.addTag(e,i.value)}t.preventDefault()}_onTagClick(e,t){const n=e.formData;if(n.includes(t)){n.splice(n.indexOf(t),1)}else{n.push(t)}e.formContext.updateMetadata({[e.name]:n},true)}render(e){const t=this.pullTags();return o().createElement("div",{className:d},o().createElement("div",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem"},"Cell Tags"),t&&t.map(((t,n)=>o().createElement("div",{key:n,className:`${c} ${e.formData.includes(t)?h:u}`,onClick:()=>this._onTagClick(e,t)},o().createElement("div",{className:p},o().createElement("span",null,t),e.formData.includes(t)&&o().createElement(r.LabIcon.resolveReact,{icon:r.checkIcon,tag:"span",elementPosition:"center",height:"18px",width:"18px",marginLeft:"5px",marginRight:"-3px"}))))),o().createElement("div",{className:`${c} ${u}`},o().createElement("div",{className:p,onMouseDown:t=>this._onAddTagClick(e,t)},o().createElement("input",{className:`${m} ${g}`,type:"text",placeholder:this._trans.__("Add Tag"),onKeyDown:t=>this._onAddTagKeyDown(e,t),onFocus:e=>this._onAddTagFocus(e),onBlur:e=>this._onAddTagBlur(e.target),onChange:e=>{this._onChange(e)}}),o().createElement(r.LabIcon.resolveReact,{icon:r.addIcon,tag:"span",height:"18px",width:"18px",className:p}))))}}const v={id:"@jupyterlab/celltags-extension:plugin",description:"Adds the cell tags editor.",autoStart:true,requires:[i.INotebookTracker],optional:[r.IFormRendererRegistry],activate:(e,t,n)=>{if(n){const e={fieldRenderer:e=>new f(t).render(e)};n.addRenderer("@jupyterlab/celltags-extension:plugin.renderer",e)}}};const _=[v]},11114:(e,t,n)=>{"use strict";var i=n(40662);var s=n(3579);var o=n(28006);var r=n(85072);var a=n.n(r);var l=n(97825);var d=n.n(l);var c=n(77659);var h=n.n(c);var u=n(55056);var p=n.n(u);var m=n(10540);var g=n.n(m);var f=n(41113);var v=n.n(f);var _=n(96415);var b={};b.styleTagTransform=v();b.setAttributes=p();b.insert=h().bind(null,"head");b.domAPI=d();b.insertStyleElement=g();var y=a()(_.A,b);const w=_.A&&_.A.locals?_.A.locals:undefined},32069:(e,t,n)=>{"use strict";n.r(t);n.d(t,{COMPLETER_ACTIVE_CLASS:()=>j,COMPLETER_ENABLED_CLASS:()=>S,COMPLETER_LINE_BEGINNING_CLASS:()=>k,CodeEditor:()=>a,CodeEditorWrapper:()=>P,CodeViewerWidget:()=>R,IEditorMimeTypeService:()=>r,IEditorServices:()=>I,IPositionModel:()=>T,JSONEditor:()=>f,LineCol:()=>x});var i=n(95917);var s=n(23230);var o=n(2336);var r;(function(e){e.defaultMimeType="text/plain"})(r||(r={}));var a;(function(e){class t{constructor(e={}){var t,n;this.standaloneModel=false;this._isDisposed=false;this._selections=new s.ObservableMap;this._mimeType=r.defaultMimeType;this._mimeTypeChanged=new o.Signal(this);this.standaloneModel=typeof e.sharedModel==="undefined";this.sharedModel=(t=e.sharedModel)!==null&&t!==void 0?t:new i.YFile;this._mimeType=(n=e.mimeType)!==null&&n!==void 0?n:r.defaultMimeType}get mimeTypeChanged(){return this._mimeTypeChanged}get selections(){return this._selections}get mimeType(){return this._mimeType}set mimeType(e){const t=this.mimeType;if(t===e){return}this._mimeType=e;this._mimeTypeChanged.emit({name:"mimeType",oldValue:t,newValue:e})}get isDisposed(){return this._isDisposed}dispose(){if(this._isDisposed){return}this._isDisposed=true;this._selections.dispose();if(this.standaloneModel){this.sharedModel.dispose()}o.Signal.clearData(this)}}e.Model=t})(a||(a={}));var l=n(34881);var d=n(4073);var c=n(5592);var h=n(27518);const u="jp-JSONEditor";const p="jp-mod-error";const m="jp-JSONEditor-host";const g="jp-JSONEditor-header";class f extends h.Widget{constructor(e){super();this._dataDirty=false;this._inputDirty=false;this._source=null;this._originalValue=c.JSONExt.emptyObject;this._changeGuard=false;this.translator=e.translator||l.nullTranslator;this._trans=this.translator.load("jupyterlab");this.addClass(u);this.headerNode=document.createElement("div");this.headerNode.className=g;this.revertButtonNode=d.undoIcon.element({tag:"span",title:this._trans.__("Revert changes to data")});this.commitButtonNode=d.checkIcon.element({tag:"span",title:this._trans.__("Commit changes to data"),marginLeft:"8px"});this.editorHostNode=document.createElement("div");this.editorHostNode.className=m;this.headerNode.appendChild(this.revertButtonNode);this.headerNode.appendChild(this.commitButtonNode);this.node.appendChild(this.headerNode);this.node.appendChild(this.editorHostNode);const t=new a.Model({mimeType:"application/json"});t.sharedModel.changed.connect(this._onModelChanged,this);this.model=t;this.editor=e.editorFactory({host:this.editorHostNode,model:t,config:{readOnly:true}})}get source(){return this._source}set source(e){if(this._source===e){return}if(this._source){this._source.changed.disconnect(this._onSourceChanged,this)}this._source=e;this.editor.setOption("readOnly",e===null);if(e){e.changed.connect(this._onSourceChanged,this)}this._setValue()}get isDirty(){return this._dataDirty||this._inputDirty}dispose(){var e;if(this.isDisposed){return}(e=this.source)===null||e===void 0?void 0:e.dispose();this.model.dispose();this.editor.dispose();super.dispose()}handleEvent(e){switch(e.type){case"blur":this._evtBlur(e);break;case"click":this._evtClick(e);break;default:break}}onAfterAttach(e){const t=this.editorHostNode;t.addEventListener("blur",this,true);t.addEventListener("click",this,true);this.revertButtonNode.hidden=true;this.commitButtonNode.hidden=true;this.headerNode.addEventListener("click",this)}onBeforeDetach(e){const t=this.editorHostNode;t.removeEventListener("blur",this,true);t.removeEventListener("click",this,true);this.headerNode.removeEventListener("click",this)}_onSourceChanged(e,t){if(this._changeGuard){return}if(this._inputDirty||this.editor.hasFocus()){this._dataDirty=true;return}this._setValue()}_onModelChanged(e,t){if(t.sourceChange){let e=true;try{const e=JSON.parse(this.editor.model.sharedModel.getSource());this.removeClass(p);this._inputDirty=!this._changeGuard&&!c.JSONExt.deepEqual(e,this._originalValue)}catch(n){this.addClass(p);this._inputDirty=true;e=false}this.revertButtonNode.hidden=!this._inputDirty;this.commitButtonNode.hidden=!e||!this._inputDirty}}_evtBlur(e){if(!this._inputDirty&&this._dataDirty){this._setValue()}}_evtClick(e){const t=e.target;if(this.revertButtonNode.contains(t)){this._setValue()}else if(this.commitButtonNode.contains(t)){if(!this.commitButtonNode.hidden&&!this.hasClass(p)){this._changeGuard=true;this._mergeContent();this._changeGuard=false;this._setValue()}}else if(this.editorHostNode.contains(t)){this.editor.focus()}}_mergeContent(){const e=this.editor.model;const t=this._originalValue;const n=JSON.parse(e.sharedModel.getSource());const i=this.source;if(!i){return}for(const s in n){if(!c.JSONExt.deepEqual(n[s],t[s]||null)){i.set(s,n[s])}}for(const s in t){if(!(s in n)){i.delete(s)}}}_setValue(){this._dataDirty=false;this._inputDirty=false;this.revertButtonNode.hidden=true;this.commitButtonNode.hidden=true;this.removeClass(p);const e=this.editor.model;const t=this._source?this._source.toJSON():{};this._changeGuard=true;if(t===void 0){e.sharedModel.setSource(this._trans.__("No data!"));this._originalValue=c.JSONExt.emptyObject}else{const n=JSON.stringify(t,null,4);e.sharedModel.setSource(n);this._originalValue=t;if(n.length>1&&n[0]==="{"){this.editor.setCursorPosition({line:0,column:1})}}this._changeGuard=false;this.commitButtonNode.hidden=true;this.revertButtonNode.hidden=true}}var v=n(4625);var _=n(44914);var b=n.n(_);var y=n(38850);class w extends b().Component{constructor(e){super(e);this._handleChange=e=>{this.setState({value:e.currentTarget.value})};this._handleSubmit=e=>{e.preventDefault();const t=parseInt(this._textInput.value,10);if(!isNaN(t)&&isFinite(t)&&1<=t&&t<=this.props.maxLine){this.props.handleSubmit(t)}return false};this._handleFocus=()=>{this.setState({hasFocus:true})};this._handleBlur=()=>{this.setState({hasFocus:false})};this._textInput=null;this.translator=e.translator||l.nullTranslator;this._trans=this.translator.load("jupyterlab");this.state={value:"",hasFocus:false,textInputId:y.DOMUtils.createDomID()+"-line-number-input"}}componentDidMount(){this._textInput.focus()}render(){return b().createElement("div",{className:"jp-lineFormSearch"},b().createElement("form",{name:"lineColumnForm",onSubmit:this._handleSubmit,noValidate:true},b().createElement("div",{className:(0,d.classes)("jp-lineFormWrapper","lm-lineForm-wrapper",this.state.hasFocus?"jp-lineFormWrapperFocusWithin":undefined)},b().createElement("input",{type:"text",id:this.state.textInputId,className:"jp-lineFormInput",onChange:this._handleChange,onFocus:this._handleFocus,onBlur:this._handleBlur,value:this.state.value,ref:e=>{this._textInput=e}}),b().createElement("div",{className:"jp-baseLineForm jp-lineFormButtonContainer"},b().createElement(d.lineFormIcon.react,{className:"jp-baseLineForm jp-lineFormButtonIcon",elementPosition:"center"}),b().createElement("input",{type:"submit",className:"jp-baseLineForm jp-lineFormButton",value:""}))),b().createElement("label",{className:"jp-lineFormCaption",htmlFor:this.state.textInputId},this._trans.__("Go to line number between 1 and %1",this.props.maxLine))))}}function C(e){const t=e.translator||l.nullTranslator;const n=t.load("jupyterlab");const i=t=>{if(t.key==="Enter"||t.key==="Spacebar"||t.key===" "){t.preventDefault();t.stopPropagation();e.handleClick()}else{return}};return b().createElement(v.TextItem,{role:"button","aria-haspopup":true,onClick:e.handleClick,source:n.__("Ln %1, Col %2",e.line,e.column),title:n.__("Go to line number…"),tabIndex:0,onKeyDown:i})}class x extends d.VDomRenderer{constructor(e){super(new x.Model);this._popup=null;this.addClass("jp-mod-highlighted");this.translator=e||l.nullTranslator}render(){if(this.model===null){return null}else{return b().createElement(C,{line:this.model.line,column:this.model.column,translator:this.translator,handleClick:()=>this._handleClick()})}}_handleClick(){if(this._popup){this._popup.dispose()}const e=d.ReactWidget.create(b().createElement(w,{handleSubmit:e=>this._handleSubmit(e),currentLine:this.model.line,maxLine:this.model.editor.lineCount,translator:this.translator}));this._popup=(0,v.showPopup)({body:e,anchor:this,align:"right"})}_handleSubmit(e){this.model.editor.setCursorPosition({line:e-1,column:0});this._popup.dispose();this.model.editor.focus()}}(function(e){class t extends d.VDomModel{constructor(){super(...arguments);this._onSelectionChanged=()=>{const e=this._getAllState();const t=this.editor.getCursorPosition();this._line=t.line+1;this._column=t.column+1;this._triggerChange(e,this._getAllState())};this._line=1;this._column=1;this._editor=null}get editor(){return this._editor}set editor(e){var t;const n=this._editor;if((t=n===null||n===void 0?void 0:n.model)===null||t===void 0?void 0:t.selections){n.model.selections.changed.disconnect(this._onSelectionChanged)}const i=this._getAllState();this._editor=e;if(!this._editor){this._column=1;this._line=1}else{this._editor.model.selections.changed.connect(this._onSelectionChanged);const e=this._editor.getCursorPosition();this._column=e.column+1;this._line=e.line+1}this._triggerChange(i,this._getAllState())}get line(){return this._line}get column(){return this._column}_getAllState(){return[this._line,this._column]}_triggerChange(e,t){if(e[0]!==t[0]||e[1]!==t[1]){this.stateChanged.emit(void 0)}}}e.Model=t})(x||(x={}));const S="jp-mod-completer-enabled";const j="jp-mod-completer-active";const k="jp-mod-at-line-beginning";const I=new c.Token("@jupyterlab/codeeditor:IEditorServices",`A service for the text editor provider\n for the application. Use this to create new text editors and host them in your\n UI elements.`);const T=new c.Token("@jupyterlab/codeeditor:IPositionModel",`A service to handle an code editor cursor position.`);const E="jp-mod-has-primary-selection";const M="jp-mod-in-leading-whitespace";const D="jp-mod-dropTarget";const A=/^\s+$/;class P extends h.Widget{constructor(e){super();const{factory:t,model:n,editorOptions:i}=e;const s=this.editor=t({host:this.node,model:n,...i});s.model.selections.changed.connect(this._onSelectionsChanged,this)}get model(){return this.editor.model}dispose(){if(this.isDisposed){return}this.editor.dispose();super.dispose()}handleEvent(e){switch(e.type){case"lm-dragenter":this._evtDragEnter(e);break;case"lm-dragleave":this._evtDragLeave(e);break;case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e);break;default:break}}onActivateRequest(e){this.editor.focus()}onAfterAttach(e){super.onAfterAttach(e);const t=this.node;t.addEventListener("lm-dragenter",this);t.addEventListener("lm-dragleave",this);t.addEventListener("lm-dragover",this);t.addEventListener("lm-drop",this)}onBeforeDetach(e){const t=this.node;t.removeEventListener("lm-dragenter",this);t.removeEventListener("lm-dragleave",this);t.removeEventListener("lm-dragover",this);t.removeEventListener("lm-drop",this)}_onSelectionsChanged(){const{start:e,end:t}=this.editor.getSelection();if(e.column!==t.column||e.line!==t.line){this.addClass(E);this.removeClass(M)}else{this.removeClass(E);if(this.editor.getLine(t.line).slice(0,t.column).match(A)){this.addClass(M)}else{this.removeClass(M)}}}_evtDragEnter(e){if(this.editor.getOption("readOnly")===true){return}const t=L.findTextData(e.mimeData);if(t===undefined){return}e.preventDefault();e.stopPropagation();this.addClass("jp-mod-dropTarget")}_evtDragLeave(e){this.removeClass(D);if(this.editor.getOption("readOnly")===true){return}const t=L.findTextData(e.mimeData);if(t===undefined){return}e.preventDefault();e.stopPropagation()}_evtDragOver(e){this.removeClass(D);if(this.editor.getOption("readOnly")===true){return}const t=L.findTextData(e.mimeData);if(t===undefined){return}e.preventDefault();e.stopPropagation();e.dropAction="copy";this.addClass(D)}_evtDrop(e){if(this.editor.getOption("readOnly")===true){return}const t=L.findTextData(e.mimeData);if(t===undefined){return}const n={top:e.y,bottom:e.y,left:e.x,right:e.x};const i=this.editor.getPositionForCoordinate(n);if(i===null){return}this.removeClass(D);e.preventDefault();e.stopPropagation();if(e.proposedAction==="none"){e.dropAction="none";return}const s=this.editor.getOffsetAt(i);this.model.sharedModel.updateSource(s,s,t)}}var L;(function(e){function t(e){const t=e.types();const n=t.find((e=>e.indexOf("text")===0));if(n===undefined){return undefined}return e.getData(n)}e.findTextData=t})(L||(L={}));class R extends h.Widget{constructor(e){var t;super();this.model=e.model;const n=new P({factory:e.factory,model:this.model,editorOptions:{...e.editorOptions,config:{...(t=e.editorOptions)===null||t===void 0?void 0:t.config,readOnly:true}}});this.editor=n.editor;const i=this.layout=new h.StackedLayout;i.addWidget(n)}static createCodeViewer(e){const{content:t,mimeType:n,...i}=e;const s=new a.Model({mimeType:n});s.sharedModel.setSource(t);const o=new R({...i,model:s});o.disposed.connect((()=>{s.dispose()}));return o}get content(){return this.model.sharedModel.getSource()}get mimeType(){return this.model.mimeType}}},17325:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(24800);var r=n(97913);var a=n(38457);var l=n(85072);var d=n.n(l);var c=n(97825);var h=n.n(c);var u=n(77659);var p=n.n(u);var m=n(55056);var g=n.n(m);var f=n(10540);var v=n.n(f);var _=n(41113);var b=n.n(_);var y=n(9534);var w={};w.styleTagTransform=b();w.setAttributes=g();w.insert=p().bind(null,"head");w.domAPI=h();w.insertStyleElement=v();var C=d()(y.A,w);const x=y.A&&y.A.locals?y.A.locals:undefined},21699:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>D,lineColItem:()=>E});var i=n(88617);var s=n(44389);var o=n(4625);var r=n(34881);var a=n(58285);var l=n(4452);var d=n(43370);var c=n(74823);var h=n(38850);var u;(function(e){e.deleteLine="codemirror:delete-line";e.toggleBlockComment="codemirror:toggle-block-comment";e.toggleComment="codemirror:toggle-comment";e.selectNextOccurrence="codemirror:select-next-occurrence";e.toggleTabFocusMode="codemirror:toggle-tab-focus-mode";e.foldCurrent="codemirror:fold-current";e.unfoldCurrent="codemirror:unfold-current";e.foldSubregions="codemirror:fold-subregions";e.unfoldSubregions="codemirror:unfold-subregions";e.foldAll="codemirror:fold-all";e.unfoldAll="codemirror:unfold-all"})(u||(u={}));const p=".cm-content";const m={id:"@jupyterlab/codemirror-extension:commands",description:"Registers commands acting on selected/active CodeMirror editor.",autoStart:true,requires:[c.INotebookTracker],optional:[r.ITranslator,h.ICommandPalette],activate:(e,t,n,i)=>{n=n!==null&&n!==void 0?n:r.nullTranslator;const s=n.load("jupyterlab");const o=e=>e.classList.contains(p);const c=()=>{var t,n;const i=(t=e.contextMenuHitTest(o))!==null&&t!==void 0?t:(n=document.activeElement)===null||n===void 0?void 0:n.closest(p);if(!i){return}if(!("cmView"in i)){return}return i.cmView.view};const h=()=>!!c();const m=()=>{var n,i;const s=e.shell.currentWidget;const o=(n=t.currentWidget)===null||n===void 0?void 0:n.content;if(t.currentWidget!==null&&t.currentWidget===s&&o&&o.activeCell){return{type:"notebook",widget:s,notebook:o,isEnabled:true}}const r=s;if(r&&r.content&&typeof((i=r.content.editor)===null||i===void 0?void 0:i.focus)==="function"){return{type:"fileEditor",widget:r,isEnabled:true}}return{type:"none",widget:null,isEnabled:false}};const g=()=>m().isEnabled;e.commands.addCommand(u.deleteLine,{label:s.__("Delete the current line"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const e=c();if(!e){return}(0,a.deleteLine)(e)},isEnabled:h});e.commands.addCommand(u.toggleBlockComment,{label:s.__("Toggle Block Comment"),caption:s.__("Toggles block comments in languages which support it (e.g. C, JavaScript)"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const e=c();if(!e){return}(0,a.toggleBlockComment)(e)},isEnabled:h});e.commands.addCommand(u.toggleComment,{label:s.__("Toggle Comment"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const e=c();if(!e){return}(0,a.toggleComment)(e)},isEnabled:h});e.commands.addCommand(u.toggleTabFocusMode,{label:s.__("Toggle Tab Focus Mode"),caption:s.__("Toggles behavior of Tab key between inserting indentation and moving to next focusable element"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const e=c();if(!e){return}(0,a.toggleTabFocusMode)(e)},isEnabled:h});e.commands.addCommand(u.selectNextOccurrence,{label:s.__("Select Next Occurrence"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const e=c();if(!e){return}(0,d.selectNextOccurrence)(e)},isEnabled:h});e.commands.addCommand(u.foldCurrent,{label:s.__("Fold Current Region"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;const t=m();if(t.type==="notebook"){t.notebook.mode="edit";if(t.notebook.activeCell){(e=t.notebook.activeCell.editor)===null||e===void 0?void 0:e.focus()}}else if(t.type==="fileEditor"){t.widget.content.editor.focus()}const n=c();if(!n){return}const{state:i}=n;const s=i.selection.main.head;const o=i.doc.lineAt(s);const r=(0,l.foldable)(i,o.from,o.to);if(r){(0,l.foldCode)(n)}},isEnabled:g});e.commands.addCommand(u.unfoldCurrent,{label:s.__("Unfold Current Region"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;const t=m();if(t.type==="notebook"){t.notebook.mode="edit";if(t.notebook.activeCell){(e=t.notebook.activeCell.editor)===null||e===void 0?void 0:e.focus()}}else if(t.type==="fileEditor"){t.widget.content.editor.focus()}const n=c();if(!n){return}const{state:i}=n;const s=i.selection.main.head;const o=i.doc.lineAt(s);const r=(0,l.foldable)(i,o.from,o.to);if(r){(0,l.unfoldCode)(n)}},isEnabled:g});e.commands.addCommand(u.foldSubregions,{label:s.__("Fold All Subregions"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;const t=m();if(t.type==="notebook"){t.notebook.mode="edit";if(t.notebook.activeCell){(e=t.notebook.activeCell.editor)===null||e===void 0?void 0:e.focus()}}else if(t.type==="fileEditor"){t.widget.content.editor.focus()}const n=c();if(!n){return}try{const{state:e}=n;const t=e.selection.main.head;const s=e.doc.lineAt(t);const o=(0,l.foldable)(e,s.from,s.to);let r=false;try{const t=e.field(l.foldState,false);r=t!==undefined}catch(i){r=false}if(!r){(0,l.foldCode)(n);(0,l.unfoldCode)(n)}if(!o){return}const a=[];let d=o.from+1;while(d<o.to){const t=e.doc.lineAt(d);const n=(0,l.foldable)(e,t.from,t.to);if(n&&n.from>o.from&&n.to<=o.to){a.push(l.foldEffect.of(n));d=n.to}else{d=t.to+1}}if(a.length>0){n.dispatch({effects:a})}}catch(i){}},isEnabled:g});e.commands.addCommand(u.unfoldSubregions,{label:s.__("Unfold All Subregions"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;const t=m();if(t.type==="notebook"){t.notebook.mode="edit";if(t.notebook.activeCell){(e=t.notebook.activeCell.editor)===null||e===void 0?void 0:e.focus()}}else if(t.type==="fileEditor"){t.widget.content.editor.focus()}const n=c();if(!n){return}try{const{state:e}=n;const t=e.selection.main.head;const i=e.doc.lineAt(t);const s=(0,l.foldable)(e,i.from,i.to);if(!s){return}const o=e.field(l.foldState,false);if(!o){return}const r=[];o.between(s.from+1,s.to,((e,t)=>{if(e>s.from&&t<=s.to){r.push(l.unfoldEffect.of({from:e,to:t}))}}));if(r.length>0){n.dispatch({effects:r})}}catch(i){}},isEnabled:g});e.commands.addCommand(u.foldAll,{label:s.__("Fold All Regions"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;const t=m();if(t.type==="notebook"){t.notebook.mode="edit";if(t.notebook.activeCell){(e=t.notebook.activeCell.editor)===null||e===void 0?void 0:e.focus()}}else if(t.type==="fileEditor"){t.widget.content.editor.focus()}const n=c();if(!n){return}try{(0,l.foldAll)(n)}catch(i){}},isEnabled:g});e.commands.addCommand(u.unfoldAll,{label:s.__("Unfold All Regions"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;const t=m();if(t.type==="notebook"){t.notebook.mode="edit";if(t.notebook.activeCell){(e=t.notebook.activeCell.editor)===null||e===void 0?void 0:e.focus()}}else if(t.type==="fileEditor"){t.widget.content.editor.focus()}const n=c();if(!n){return}try{(0,l.unfoldAll)(n)}catch(i){}},isEnabled:g});if(i){const e=s.__("File Operations");[u.foldCurrent,u.unfoldCurrent,u.foldSubregions,u.unfoldSubregions,u.foldAll,u.unfoldAll].forEach((t=>{i.addItem({command:t,category:e})}))}}};var g=n(45713);var f=n(40065);var v=n(4073);var _=n(5592);var b=n(41742);var y=n.n(b);var w=n(44914);var C=n.n(w);const x="@jupyterlab/codemirror-extension:plugin";const S={id:"@jupyterlab/codemirror-extension:languages",description:"Provides the CodeMirror languages registry.",provides:g.IEditorLanguageRegistry,optional:[r.ITranslator],activate:(e,t)=>{const i=new g.EditorLanguageRegistry;for(const n of g.EditorLanguageRegistry.getDefaultLanguages(t)){i.addLanguage(n)}i.addLanguage({name:"ipythongfm",mime:"text/x-ipythongfm",load:async()=>{const[e,t,s]=await Promise.all([n.e(5625).then(n.t.bind(n,95625,23)),Promise.all([n.e(1423),n.e(9329),n.e(2819),n.e(1674),n.e(6575),n.e(5145)]).then(n.bind(n,9329)),n.e(9746).then(n.bind(n,89746))]);const o=e.markdown({base:e.markdownLanguage,codeLanguages:e=>i.findBest(e),extensions:[(0,g.parseMathIPython)(l.StreamLanguage.define(s.stexMath).parser)]});return new l.LanguageSupport(o.language,[o.support,(0,g.pythonBuiltin)(t.pythonLanguage)])}});return i}};const j={id:"@jupyterlab/codemirror-extension:themes",description:"Provides the CodeMirror theme registry",provides:g.IEditorThemeRegistry,optional:[r.ITranslator],activate:(e,t)=>{const n=new g.EditorThemeRegistry;for(const i of g.EditorThemeRegistry.getDefaultThemes(t)){n.addTheme(i)}return n}};const k={id:"@jupyterlab/codemirror-extension:extensions",description:"Provides the CodeMirror extension factory registry.",provides:g.IEditorExtensionRegistry,requires:[g.IEditorThemeRegistry],optional:[r.ITranslator,f.ISettingRegistry,v.IFormRendererRegistry],activate:(e,t,n,i,s)=>{const o=new g.EditorExtensionRegistry;for(const r of g.EditorExtensionRegistry.getDefaultExtensions({themes:t,translator:n})){o.addExtension(r)}if(i){const t=e=>{var t;o.baseConfiguration=(t=e.get("defaultConfig").composite)!==null&&t!==void 0?t:{}};void Promise.all([i.load(x),e.restored]).then((([e])=>{t(e);e.changed.connect(t)}));s===null||s===void 0?void 0:s.addRenderer(`${x}.defaultConfig`,{fieldRenderer:e=>{let t;const i=C().useMemo((()=>o.settingsSchema),[]);if(e.name in e.formContext.defaultFormData){t=e.formContext.defaultFormData[e.name]}else{t={}}for(const[n,s]of Object.entries(o.defaultConfiguration)){if(typeof i[n]!=="undefined"&&!(n in t)){t[n]=s}}return C().createElement("div",{className:"jp-FormGroup-contentNormal"},C().createElement("h3",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem"},e.schema.title),e.schema.description&&C().createElement("div",{className:"jp-FormGroup-description"},e.schema.description),C().createElement(v.FormComponent,{schema:{title:e.schema.title,description:e.schema.description,type:"object",properties:i,additionalProperties:false},validator:y(),formData:{...t,...e.formData},formContext:{defaultFormData:t},liveValidate:true,onChange:n=>{var i;const s={};for(const[e,o]of Object.entries((i=n.formData)!==null&&i!==void 0?i:{})){const n=t[e];if(n===undefined||!_.JSONExt.deepEqual(o,n)){s[e]=o}}e.onChange(s)},tagName:"div",translator:n!==null&&n!==void 0?n:r.nullTranslator}))}})}return o}};const I={id:"@jupyterlab/codemirror-extension:binding",description:"Register the CodeMirror extension factory binding the editor and the shared model.",autoStart:true,requires:[g.IEditorExtensionRegistry],activate:(e,t)=>{t.addExtension({name:"shared-model-binding",factory:e=>{var t;const n=e.model.sharedModel;return g.EditorExtensionRegistry.createImmutableExtension((0,g.ybinding)({ytext:n.ysource,undoManager:(t=n.undoManager)!==null&&t!==void 0?t:undefined}))}})}};const T={id:"@jupyterlab/codemirror-extension:services",description:"Provides the service to instantiate CodeMirror editors.",provides:s.IEditorServices,requires:[g.IEditorLanguageRegistry,g.IEditorExtensionRegistry],optional:[r.ITranslator],activate:(e,t,n,i)=>{const s=new g.CodeMirrorEditorFactory({extensions:n,languages:t,translator:i!==null&&i!==void 0?i:r.nullTranslator});return{factoryService:s,mimeTypeService:new g.CodeMirrorMimeTypeService(t)}}};const E={id:"@jupyterlab/codemirror-extension:line-col-status",description:"Provides the code editor cursor position model.",autoStart:true,requires:[r.ITranslator],optional:[i.ILabShell,o.IStatusBar],provides:s.IPositionModel,activate:(e,t,n,i)=>{const o=new s.LineCol(t);const r=new Set;if(i){i.registerStatusItem(E.id,{priority:1,item:o,align:"right",rank:2,isActive:()=>!!o.model.editor})}const a=t=>{r.add(t);if(e.shell.currentWidget){d(e.shell,{newValue:e.shell.currentWidget,oldValue:null})}};const l=()=>{d(e.shell,{oldValue:e.shell.currentWidget,newValue:e.shell.currentWidget})};function d(e,t){Promise.all([...r].map((e=>e(t.newValue)))).then((e=>{var t;o.model.editor=(t=e.filter((e=>e!==null))[0])!==null&&t!==void 0?t:null})).catch((e=>{console.error("Get editors",e)}))}if(n){n.currentChanged.connect(d)}return{addEditorProvider:a,update:l}}};const M=[m,S,j,I,k,T,E];const D=M},72508:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(24800);var r=n(97913);var a=n(17325);var l=n(3579);var d=n(23359);var c=n(28006)},68191:(e,t,n)=>{"use strict";n.r(t);n.d(t,{CodeMirrorEditor:()=>le,CodeMirrorEditorFactory:()=>ce,CodeMirrorMimeTypeService:()=>he,CodeMirrorSearchHighlighter:()=>me,EditorExtensionRegistry:()=>J,EditorLanguageRegistry:()=>se,EditorSearchProvider:()=>pe,EditorThemeRegistry:()=>ee,ExtensionsHandler:()=>K,IEditorExtensionRegistry:()=>fe,IEditorLanguageRegistry:()=>ve,IEditorThemeRegistry:()=>_e,PythonBuiltin:()=>te,StateCommands:()=>d,YRange:()=>F,YSyncConfig:()=>z,customTheme:()=>b,jupyterEditorTheme:()=>X,jupyterHighlightStyle:()=>Q,jupyterTheme:()=>Z,parseMathIPython:()=>T,pythonBuiltin:()=>ne,rulers:()=>P,ySync:()=>V,ySyncAnnotation:()=>H,ySyncFacet:()=>W,ybinding:()=>U});var i=n(58285);var s=n(44389);const o="[data-jp-code-runner]";const r='[data-jp-interaction-mode="terminal"]';const a=".jp-CodeMirrorEditor:not(.jp-mod-has-primary-selection):not(.jp-mod-in-leading-whitespace):not(.jp-mod-completer-active)";const l=".jp-mod-editMode .jp-Cell.jp-mod-active";var d;(function(e){function t(e){var t;let n=(t=e.dom.parentElement)===null||t===void 0?void 0:t.classList;let o=n===null||n===void 0?void 0:n.contains(s.COMPLETER_ENABLED_CLASS);let r=n===null||n===void 0?void 0:n.contains(s.COMPLETER_LINE_BEGINNING_CLASS);if(o&&!r){return false}const a={state:e.state,dispatch:e.dispatch};const l=e.state.selection.main.from;const d=e.state.selection.main.to;if(l!=d){return(0,i.indentMore)(a)}const c=e.state.doc.lineAt(l);const h=e.state.doc.slice(c.from,l).toString();if(/^\s*$/.test(h)){return(0,i.indentMore)(a)}else{return(0,i.insertTab)(a)}}e.indentMoreOrInsertTab=t;function n(e){var t;if((t=e.dom.parentElement)===null||t===void 0?void 0:t.classList.contains(s.COMPLETER_ACTIVE_CLASS)){return false}if(e.dom.closest(r)){return false}const n={state:e.state,dispatch:e.dispatch};return(0,i.insertNewlineAndIndent)(n)}e.completerOrInsertNewLine=n;function d(e){if(e.dom.closest(o)){return true}return false}e.preventNewLineOnRun=d;function c(e){if(e.dom.closest(o)){return false}else{const t={state:e.state,dispatch:e.dispatch};return(0,i.insertBlankLine)(t)}}e.insertBlankLineOnRun=c;function h(e){const t={state:e.state,dispatch:e.dispatch};const n=(0,i.simplifySelection)(t);if(e.dom.closest(l)){return false}else{return n}}e.simplifySelectionAndMaybeSwitchToCommandMode=h;function u(e){if(e.dom.closest(a)){return false}return(0,i.indentLess)(e)}e.dedentIfNotLaunchingTooltip=u})(d||(d={}));var c=n(4452);var h=n(71674);var u=n(22819);var p=n(5592);var m=n(2336);var g=n(75128);var f=n(34881);const v=h.Facet.define({combine(e){return(0,h.combineConfig)(e,{fontFamily:null,fontSize:null,lineHeight:null},{fontFamily:(e,t)=>e!==null&&e!==void 0?e:t,fontSize:(e,t)=>e!==null&&e!==void 0?e:t,lineHeight:(e,t)=>e!==null&&e!==void 0?e:t})}});function _(e){const{fontFamily:t,fontSize:n,lineHeight:i}=e.state.facet(v);let s="";if(n){s+=`font-size: ${n}px !important;`}if(t){s+=`font-family: ${t} !important;`}if(i){s+=`line-height: ${i.toString()} !important`}return{style:s}}function b(e){return[v.of(e),u.EditorView.editorAttributes.of(_)]}var y=n(66575);var w=n(45145);const C="InlineMathDollar";const x="InlineMathBracket";const S="BlockMathDollar";const j="BlockMathBracket";const k={[C]:1,[x]:3,[S]:2,[j]:3};const I=Object.keys(k).reduce(((e,t)=>{e[t]={mark:`${t}Mark`,resolve:t};return e}),{});function T(e){const t=new Array;Object.keys(k).forEach((e=>{t.push({name:e,style:w.tags.emphasis},{name:`${e}Mark`,style:w.tags.processingInstruction})}));return{defineNodes:t,parseInline:[{name:S,parse(e,t,n){if(t!=36||e.char(n+1)!=36){return-1}return e.addDelimiter(I[S],n,n+k[S],true,true)}},{name:C,parse(e,t,n){if(t!=36||e.char(n+1)==36){return-1}return e.addDelimiter(I[C],n,n+k[C],true,true)}},{name:x,before:"Escape",parse(e,t,n){if(t!=92||e.char(n+1)!=92||![40,41].includes(e.char(n+2))){return-1}return e.addDelimiter(I[x],n,n+k[x],e.char(n+2)==40,e.char(n+2)==41)}},{name:j,before:"Escape",parse(e,t,n){if(t!=92||e.char(n+1)!=92||![91,93].includes(e.char(n+2))){return-1}return e.addDelimiter(I[j],n,n+k[j],e.char(n+2)==91,e.char(n+2)==93)}}],wrap:e?(0,y.parseMixed)(((t,n)=>{const i=k[t.type.name];if(i){return{parser:e,overlay:[{from:t.from+i,to:t.to-i}]}}return null})):undefined}}const E="cm-rulers";const M=u.EditorView.baseTheme({[`.${E}`]:{borderRight:"1px dotted gray",opacity:.7}});const D=h.Facet.define({combine(e){const t=e.reduce(((e,t)=>e.concat(t.filter(((n,i)=>!e.includes(n)&&i==t.lastIndexOf(n))))),[]);return t}});const A=u.ViewPlugin.fromClass(class{constructor(e){var t,n;this.rulersContainer=e.dom.appendChild(document.createElement("div"));this.rulersContainer.style.cssText=`\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n overflow: hidden;\n `;const i=e.defaultCharacterWidth;const s=e.state.facet(D);const o=(n=(t=e.scrollDOM.querySelector(".cm-gutters"))===null||t===void 0?void 0:t.clientWidth)!==null&&n!==void 0?n:0;this.rulers=s.map((e=>{const t=this.rulersContainer.appendChild(document.createElement("div"));t.classList.add(E);t.style.cssText=`\n position: absolute;\n left: ${o+e*i}px;\n height: 100%;\n `;t.style.width="6px";return t}))}update(e){var t,n;const i=e.view.state.facet(D);if(e.viewportChanged||e.geometryChanged||!p.JSONExt.deepEqual(i,e.startState.facet(D))){const s=(n=(t=e.view.scrollDOM.querySelector(".cm-gutters"))===null||t===void 0?void 0:t.clientWidth)!==null&&n!==void 0?n:0;const o=e.view.defaultCharacterWidth;this.rulers.forEach(((e,t)=>{e.style.left=`${s+i[t]*o}px`}))}}destroy(){this.rulers.forEach((e=>{e.remove()}));this.rulersContainer.remove()}});function P(e){return[M,D.of(e),A]}class L{constructor(e){this.undoManager=e}}const R=h.Facet.define({combine(e){return e[e.length-1]}});class N{constructor(e){this._onStackItemAdded=({stackItem:e,changedParentTypes:t})=>{if(t.has(this._syncConf.ytext)&&this._beforeChangeSelection&&!e.meta.has(this)){e.meta.set(this,this._beforeChangeSelection)}};this._onStackItemPopped=({stackItem:e})=>{const t=e.meta.get(this);if(t){const e=this._syncConf.fromYRange(t);this._view.dispatch(this._view.state.update({selection:e,effects:[u.EditorView.scrollIntoView(e)]}));this._storeSelection()}};this._storeSelection=()=>{this._beforeChangeSelection=this._syncConf.toYRange(this._view.state.selection.main)};this._view=e;this._conf=e.state.facet(R);this._undoManager=this._conf.undoManager;this._syncConf=e.state.facet(W);this._beforeChangeSelection=null;this._undoManager.on("stack-item-added",this._onStackItemAdded);this._undoManager.on("stack-item-popped",this._onStackItemPopped);this._undoManager.addTrackedOrigin(this._syncConf)}update(e){if(e.selectionSet&&(e.transactions.length===0||e.transactions[0].annotation(H)!==this._syncConf)){this._storeSelection()}}destroy(){this._undoManager.off("stack-item-added",this._onStackItemAdded);this._undoManager.off("stack-item-popped",this._onStackItemPopped);this._undoManager.removeTrackedOrigin(this._syncConf)}}const B=u.ViewPlugin.fromClass(N);var O=n(74356);class F{constructor(e,t){this.yanchor=e;this.yhead=t}toJSON(){return{yanchor:(0,O.relativePositionToJSON)(this.yanchor),yhead:(0,O.relativePositionToJSON)(this.yhead)}}static fromJSON(e){return new F((0,O.createRelativePositionFromJSON)(e.yanchor),(0,O.createRelativePositionFromJSON)(e.yhead))}}class z{constructor(e){this.ytext=e}toYPos(e,t=0){return(0,O.createRelativePositionFromTypeIndex)(this.ytext,e,t)}fromYPos(e){const t=(0,O.createAbsolutePositionFromRelativePosition)((0,O.createRelativePositionFromJSON)(e),this.ytext.doc);if(t==null||t.type!==this.ytext){throw new Error("[y-codemirror] The position you want to retrieve was created by a different document")}return{pos:t.index,assoc:t.assoc}}toYRange(e){const t=e.assoc;const n=this.toYPos(e.anchor,t);const i=this.toYPos(e.head,t);return new F(n,i)}fromYRange(e){const t=this.fromYPos(e.yanchor);const n=this.fromYPos(e.yhead);if(t.pos===n.pos){return h.EditorSelection.cursor(n.pos,n.assoc)}return h.EditorSelection.range(t.pos,n.pos)}}const W=h.Facet.define({combine(e){return e[e.length-1]}});const H=h.Annotation.define();const V=u.ViewPlugin.fromClass(class{constructor(e){this.conf=e.state.facet(W);this._observer=(t,n)=>{var i;if(n.origin!==this.conf){const n=t.delta;const s=[];let o=0;for(let e=0;e<n.length;e++){const t=n[e];if(t.insert!=null){s.push({from:o,to:o,insert:t.insert})}else if(t.delete!=null){s.push({from:o,to:o+t.delete,insert:""});o+=t.delete}else{o+=(i=t.retain)!==null&&i!==void 0?i:0}}e.dispatch({changes:s,annotations:[H.of(this.conf)]})}};this._ytext=this.conf.ytext;this._ytext.observe(this._observer)}update(e){if(!e.docChanged||e.transactions.length>0&&e.transactions[0].annotation(H)===this.conf){return}const t=this.conf.ytext;t.doc.transact((()=>{let n=0;e.changes.iterChanges(((e,i,s,o,r)=>{const a=r.sliceString(0,r.length,"\n");if(e!==i){t.delete(e+n,i-e)}if(a.length>0){t.insert(e+n,a)}n+=a.length-(i-e)}))}),this.conf)}destroy(){this._ytext.unobserve(this._observer)}});function U(e){const{ytext:t,undoManager:n}=e;const i=new z(t);const s=[W.of(i),V];if(n){s.push(R.of(new L(n)),B)}return s}var q=n(43370);const $="jp-mod-readOnly";class K{constructor({baseConfiguration:e,config:t,defaultExtensions:n}={}){this._configChanged=new m.Signal(this);this._disposed=new m.Signal(this);this._isDisposed=false;this._immutables=new Set;this._baseConfig=e!==null&&e!==void 0?e:{};this._config=t!==null&&t!==void 0?t:{};this._configurableBuilderMap=new Map(n);const i=Object.keys(this._config).concat(Object.keys(this._baseConfig));this._immutables=new Set([...this._configurableBuilderMap.keys()].filter((e=>!i.includes(e))))}get configChanged(){return this._configChanged}get disposed(){return this._disposed}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;this._disposed.emit();m.Signal.clearData(this)}getOption(e){var t;return(t=this._config[e])!==null&&t!==void 0?t:this._baseConfig[e]}hasOption(e){return Object.keys(this._config).includes(e)||Object.keys(this._baseConfig).includes(e)}setOption(e,t){if(this._config[e]!==t){this._config[e]=t;this._configChanged.emit({[e]:t})}}setBaseOptions(e){const t=this._getChangedOptions(e,this._baseConfig);if(t.length>0){this._baseConfig=e;const n=Object.keys(this._config);const i=t.filter((e=>!n.includes(e)));if(i.length>0){this._configChanged.emit(i.reduce(((e,t)=>{e[t]=this._baseConfig[t];return e}),{}))}}for(const n of Object.keys(e)){if(n in this._config&&this._config[n]!=e[n]){this.setOption(n,e[n])}}}setOptions(e){const t=this._getChangedOptions(e,this._config);if(t.length>0){this._config={...e};this._configChanged.emit(t.reduce(((e,t)=>{var n;e[t]=(n=this._config[t])!==null&&n!==void 0?n:this._baseConfig[t];return e}),{}))}}reconfigureExtension(e,t,n){const i=this.getEffect(e.state,t,n);if(i){e.dispatch({effects:[i]})}}reconfigureExtensions(e,t){const n=Object.keys(t).filter((e=>this.has(e))).map((n=>this.getEffect(e.state,n,t[n])));e.dispatch({effects:n.filter((e=>e!==null))})}injectExtension(e,t){e.dispatch({effects:h.StateEffect.appendConfig.of(t)})}getInitialExtensions(){const e={...this._baseConfig,...this._config};const t=[...this._immutables].map((e=>{var t;return(t=this.get(e))===null||t===void 0?void 0:t.instance(undefined)})).filter((e=>e));for(const n of Object.keys(e)){const i=this.get(n);if(i){const s=e[n];t.push(i.instance(s))}}return t}get(e){return this._configurableBuilderMap.get(e)}has(e){return this._configurableBuilderMap.has(e)}getEffect(e,t,n){var i;const s=this.get(t);return(i=s===null||s===void 0?void 0:s.reconfigure(n))!==null&&i!==void 0?i:null}_getChangedOptions(e,t){const n=new Array;const i=new Array;for(const[s,o]of Object.entries(e)){i.push(s);if(t[s]!==o){n.push(s)}}n.push(...Object.keys(t).filter((e=>!i.includes(e))));return n}}class J{constructor(){this.configurationBuilder=new Map;this.configurationSchema={};this.defaultOptions={};this.handlers=new Set;this.immutableExtensions=new Set;this._baseConfiguration={}}get baseConfiguration(){return{...this.defaultOptions,...this._baseConfiguration}}set baseConfiguration(e){if(!p.JSONExt.deepEqual(e,this._baseConfiguration)){this._baseConfiguration=e;for(const e of this.handlers){e.setBaseOptions(this.baseConfiguration)}}}get defaultConfiguration(){return Object.freeze({...this.defaultOptions})}get settingsSchema(){return Object.freeze(p.JSONExt.deepCopy(this.configurationSchema))}addExtension(e){var t;if(this.configurationBuilder.has(e.name)){throw new Error(`Extension named ${e.name} is already registered.`)}this.configurationBuilder.set(e.name,e);if(typeof e.default!="undefined"){this.defaultOptions[e.name]=e.default}if(e.schema){this.configurationSchema[e.name]={default:(t=e.default)!==null&&t!==void 0?t:null,...e.schema};this.defaultOptions[e.name]=this.configurationSchema[e.name].default}}createNew(e){const t=new Array;for(const[i,s]of this.configurationBuilder.entries()){const n=s.factory(e);if(n){t.push([i,n])}}const n=new K({baseConfiguration:this.baseConfiguration,config:e.config,defaultExtensions:t});this.handlers.add(n);n.disposed.connect((()=>{this.handlers.delete(n)}));return n}}(function(e){class t{constructor(e){this._compartment=new h.Compartment;this._builder=e}instance(e){return this._compartment.of(this._builder(e))}reconfigure(e){return this._compartment.reconfigure(this._builder(e))}}class n{constructor(e){this._extension=e}instance(){return this._extension}reconfigure(){return null}}function s(e){return new t(e)}e.createConfigurableExtension=s;function o(e,n=[]){return new t((t=>t?e:n))}e.createConditionalExtension=o;function r(e){return new n(e)}e.createImmutableExtension=r;function a(e={}){const{themes:t,translator:n}=e;const a=(n!==null&&n!==void 0?n:f.nullTranslator).load("jupyterlab");const l=[Object.freeze({name:"autoClosingBrackets",default:false,factory:()=>o((0,g.wm)()),schema:{type:"boolean",title:a.__("Auto Closing Brackets")}}),Object.freeze({name:"codeFolding",default:false,factory:()=>o((0,c.foldGutter)()),schema:{type:"boolean",title:a.__("Code Folding")}}),Object.freeze({name:"cursorBlinkRate",default:1200,factory:()=>s((e=>(0,u.drawSelection)({cursorBlinkRate:e}))),schema:{type:"number",title:a.__("Cursor blinking rate"),description:a.__("Half-period in milliseconds used for cursor blinking. The default blink rate is 1200ms. By setting this to zero, blinking can be disabled.")}}),Object.freeze({name:"highlightActiveLine",default:false,factory:()=>o((0,u.highlightActiveLine)()),schema:{type:"boolean",title:a.__("Highlight the active line")}}),Object.freeze({name:"highlightSpecialCharacters",default:true,factory:()=>o((0,u.highlightSpecialChars)()),schema:{type:"boolean",title:a.__("Highlight special characters")}}),Object.freeze({name:"highlightTrailingWhitespace",default:false,factory:()=>o((0,u.highlightTrailingWhitespace)()),schema:{type:"boolean",title:a.__("Highlight trailing white spaces")}}),Object.freeze({name:"highlightWhitespace",default:false,factory:()=>o((0,u.highlightWhitespace)()),schema:{type:"boolean",title:a.__("Highlight white spaces")}}),Object.freeze({name:"indentUnit",default:"4",factory:()=>s((e=>e=="Tab"?c.indentUnit.of("\t"):c.indentUnit.of(" ".repeat(parseInt(e,10))))),schema:{type:"string",title:a.__("Indentation unit"),description:a.__("The indentation is a `Tab` or the number of spaces. This defaults to 4 spaces."),enum:["Tab","1","2","4","8"]}}),Object.freeze({name:"keymap",default:[{key:"Mod-Enter",run:d.insertBlankLineOnRun},{key:"Enter",run:d.completerOrInsertNewLine},{key:"Escape",run:d.simplifySelectionAndMaybeSwitchToCommandMode},...i.defaultKeymap.filter((e=>!["Ctrl-m","Mod-Enter","Shift-Mod-k","Mod-/","Alt-A","Escape","Enter"].includes(e.key))),{key:"Tab",run:d.indentMoreOrInsertTab,shift:d.dedentIfNotLaunchingTooltip}],factory:()=>s((e=>u.keymap.of(e)))}),Object.freeze({name:"lineNumbers",default:true,factory:()=>o((0,u.lineNumbers)()),schema:{type:"boolean",title:a.__("Line Numbers")}}),Object.freeze({name:"lineWrap",factory:()=>o(u.EditorView.lineWrapping),default:true,schema:{type:"boolean",title:a.__("Line Wrap")}}),Object.freeze({name:"dropCursor",default:true,factory:()=>o((0,u.dropCursor)()),schema:{type:"boolean",title:a.__("Drop Cursor")}}),Object.freeze({name:"matchBrackets",default:true,factory:()=>o([(0,c.bracketMatching)(),h.Prec.high(u.keymap.of(g.Bc))]),schema:{type:"boolean",title:a.__("Match Brackets")}}),Object.freeze({name:"rectangularSelection",default:true,factory:()=>o([(0,u.rectangularSelection)(),(0,u.crosshairCursor)()]),schema:{type:"boolean",title:a.__("Rectangular selection"),description:a.__("Rectangular (block) selection can be created by dragging the mouse pointer while holding the left mouse button and the Alt key. When the Alt key is pressed, a crosshair cursor will appear, indicating that the rectangular selection mode is active.")}}),Object.freeze({name:"readOnly",default:false,factory:()=>s((e=>[h.EditorState.readOnly.of(e),e?u.EditorView.editorAttributes.of({class:$}):[]]))}),Object.freeze({name:"rulers",default:[],factory:()=>s((e=>e.length>0?P(e):[])),schema:{type:"array",title:a.__("Rulers"),items:{type:"number",minimum:0}}}),Object.freeze({name:"extendSelection",default:true,factory:()=>o(u.keymap.of([{key:"Mod-Shift-l",run:q.selectSelectionMatches,preventDefault:true}]))}),Object.freeze({name:"searchWithCM",default:false,factory:()=>o(u.keymap.of([{key:"Mod-f",run:q.openSearchPanel,scope:"editor search-panel"},{key:"F3",run:q.findNext,shift:q.findPrevious,scope:"editor search-panel",preventDefault:true},{key:"Mod-g",run:q.findNext,shift:q.findPrevious,scope:"editor search-panel",preventDefault:true},{key:"Escape",run:q.closeSearchPanel,scope:"editor search-panel"}]))}),Object.freeze({name:"scrollPastEnd",default:false,factory:e=>e.inline?null:o((0,u.scrollPastEnd)())}),Object.freeze({name:"smartIndent",default:true,factory:()=>o((0,c.indentOnInput)()),schema:{type:"boolean",title:a.__("Smart Indentation")}}),Object.freeze({name:"tabFocusable",default:true,factory:()=>o(u.EditorView.contentAttributes.of({tabIndex:"0"}),u.EditorView.contentAttributes.of({tabIndex:"-1"}))}),Object.freeze({name:"tabSize",default:4,factory:()=>s((e=>h.EditorState.tabSize.of(e))),schema:{type:"number",title:a.__("Tab size")}}),Object.freeze({name:"tooltips",factory:()=>r((0,u.tooltips)({position:"absolute",parent:document.body}))}),Object.freeze({name:"allowMultipleSelections",default:true,factory:()=>s((e=>h.EditorState.allowMultipleSelections.of(e))),schema:{type:"boolean",title:a.__("Multiple selections")}}),Object.freeze({name:"customStyles",factory:()=>s((e=>b(e))),default:{fontFamily:null,fontSize:null,lineHeight:null},schema:{title:a.__("Custom editor styles"),type:"object",properties:{fontFamily:{type:["string","null"],title:a.__("Font Family")},fontSize:{type:["number","null"],minimum:1,maximum:100,title:a.__("Font Size")},lineHeight:{type:["number","null"],title:a.__("Line Height")}},additionalProperties:false}})];if(t){l.push(Object.freeze({name:"theme",default:"jupyter",factory:()=>s((e=>t.getTheme(e))),schema:{type:"string",title:a.__("Theme"),description:a.__("CodeMirror theme")}}))}if(n){l.push(Object.freeze({name:"translation",default:{"Control character":a.__("Control character"),"Selection deleted":a.__("Selection deleted"),"Folded lines":a.__("Folded lines"),"Unfolded lines":a.__("Unfolded lines"),to:a.__("to"),"folded code":a.__("folded code"),unfold:a.__("unfold"),"Fold line":a.__("Fold line"),"Unfold line":a.__("Unfold line"),"Go to line":a.__("Go to line"),go:a.__("go"),Find:a.__("Find"),Replace:a.__("Replace"),next:a.__("next"),previous:a.__("previous"),all:a.__("all"),"match case":a.__("match case"),replace:a.__("replace"),"replace all":a.__("replace all"),close:a.__("close"),"current match":a.__("current match"),"replaced $ matches":a.__("replaced $ matches"),"replaced match on line $":a.__("replaced match on line $"),"on line":a.__("on line"),Completions:a.__("Completions"),Diagnostics:a.__("Diagnostics"),"No diagnostics":a.__("No diagnostics"),Breakpoint:a.__("Breakpoint"),"Selected breakpoint":a.__("Selected breakpoint")},factory:()=>s((e=>h.EditorState.phrases.of(e)))}))}return l}e.getDefaultExtensions=a})(J||(J={}));var G=n(40959);var Y=n(91268);const X=u.EditorView.theme({"&":{background:"var(--jp-layout-color0)",color:"var(--jp-content-font-color1)"},".cm-panels":{color:"var(--jp-ui-font-color2)",backgroundColor:"var(--jp-layout-color2)"},".cm-panels.cm-panels-bottom":{borderTop:"1px solid var(--jp-border-color2)"},".cm-button":{background:"var(--jp-layout-color2)",border:"var(--jp-border-width) solid var(--jp-border-color1)",color:"var(--jp-ui-font-color1)",borderRadius:"var(--jp-border-radius)"},".cm-button:hover":{background:"var(--jp-layout-color1)"},".cm-panel.cm-search > label":{color:"var(--jp-ui-font-color1)"},".cm-textfield":{backgroundColor:"var(--jp-layout-color2)",color:"var(--jp-ui-font-color1)",border:"var(--jp-border-width) solid var(--jp-border-color1)"},".jp-CodeConsole &, .jp-Notebook &":{background:"transparent"},".cm-content":{caretColor:"var(--jp-editor-cursor-color)"},".cm-scroller":{fontFamily:"inherit"},".cm-cursor, .cm-dropCursor":{borderLeft:"var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color)"},".cm-selectionBackground, .cm-content ::selection":{backgroundColor:"var(--jp-editor-selected-background)"},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{backgroundColor:"var(--jp-editor-selected-focused-background)"},".cm-gutters":{borderRight:"1px solid var(--jp-border-color2)",backgroundColor:"var(--jp-layout-color2)"},".cm-gutter":{backgroundColor:"var(--jp-layout-color2)"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--jp-layout-color3) 25%, transparent)"},".cm-lineNumbers":{color:"var(--jp-ui-font-color2)"},".cm-searchMatch":{backgroundColor:"var(--jp-search-unselected-match-background-color)",color:"var(--jp-search-unselected-match-color)"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"var(--jp-search-selected-match-background-color) !important",color:"var(--jp-search-selected-match-color) !important"},".cm-tooltip":{backgroundColor:"var(--jp-layout-color1)"}});const Q=c.HighlightStyle.define([{tag:w.tags.meta,color:"var(--jp-mirror-editor-meta-color)"},{tag:w.tags.heading,color:"var(--jp-mirror-editor-header-color)"},{tag:[w.tags.heading1,w.tags.heading2,w.tags.heading3,w.tags.heading4],color:"var(--jp-mirror-editor-header-color)",fontWeight:"bold"},{tag:w.tags.keyword,color:"var(--jp-mirror-editor-keyword-color)",fontWeight:"bold"},{tag:w.tags.atom,color:"var(--jp-mirror-editor-atom-color)"},{tag:w.tags.number,color:"var(--jp-mirror-editor-number-color)"},{tag:[w.tags.definition(w.tags.name),w.tags.function(w.tags.definition(w.tags.variableName))],color:"var(--jp-mirror-editor-def-color)"},{tag:w.tags.standard(w.tags.variableName),color:"var(--jp-mirror-editor-builtin-color)"},{tag:[w.tags.special(w.tags.variableName),w.tags.self],color:"var(--jp-mirror-editor-variable-2-color)"},{tag:w.tags.punctuation,color:"var(--jp-mirror-editor-punctuation-color)"},{tag:w.tags.propertyName,color:"var(--jp-mirror-editor-property-color)"},{tag:w.tags.operator,color:"var(--jp-mirror-editor-operator-color)",fontWeight:"bold"},{tag:w.tags.comment,color:"var(--jp-mirror-editor-comment-color)",fontStyle:"italic"},{tag:w.tags.string,color:"var(--jp-mirror-editor-string-color)"},{tag:[w.tags.labelName,w.tags.monospace,w.tags.special(w.tags.string)],color:"var(--jp-mirror-editor-string-2-color)"},{tag:w.tags.bracket,color:"var(--jp-mirror-editor-bracket-color)"},{tag:w.tags.tagName,color:"var(--jp-mirror-editor-tag-color)"},{tag:w.tags.attributeName,color:"var(--jp-mirror-editor-attribute-color)"},{tag:w.tags.quote,color:"var(--jp-mirror-editor-quote-color)"},{tag:w.tags.link,color:"var(--jp-mirror-editor-link-color)",textDecoration:"underline"},{tag:[w.tags.separator,w.tags.derefOperator,w.tags.paren],color:""},{tag:w.tags.strong,fontWeight:"bold"},{tag:w.tags.emphasis,fontStyle:"italic"},{tag:w.tags.strikethrough,textDecoration:"line-through"},{tag:w.tags.bool,color:"var(--jp-mirror-editor-keyword-color)",fontWeight:"bold"}]);const Z=[X,(0,c.syntaxHighlighting)(Q)];class ee{constructor(){this._themeMap=new Map([["jupyter",Object.freeze({name:"jupyter",theme:Z})]])}get themes(){return Array.from(this._themeMap.values())}defaultTheme(){return this._themeMap.get("jupyter").theme}addTheme(e){if(this._themeMap.has(e.name)){throw new Error(`A theme named '${e.name}' is already registered.`)}this._themeMap.set(e.name,{displayName:e.name,...e})}getTheme(e){var t;const n=(t=this._themeMap.get(e))===null||t===void 0?void 0:t.theme;return n!==null&&n!==void 0?n:this.defaultTheme()}}(function(e){function t(e){const t=(e!==null&&e!==void 0?e:f.nullTranslator).load("jupyterlab");return[Object.freeze({name:"codemirror",displayName:t.__("codemirror"),theme:[u.EditorView.baseTheme({}),(0,c.syntaxHighlighting)(c.defaultHighlightStyle)]})]}e.getDefaultThemes=t})(ee||(ee={}));class te{constructor(e,t){this.langPython=t;this.tree=(0,c.syntaxTree)(e.state);this.mark=u.Decoration.mark({class:"cm-builtin"});this.decorations=this.buildDeco(e);this.decoratedTo=e.viewport.to}update(e){let t=(0,c.syntaxTree)(e.state);let{viewport:n}=e.view,i=e.changes.mapPos(this.decoratedTo,1);if(t.length<n.to&&t.type==this.tree.type&&i>=n.to){this.decorations=this.decorations.map(e.changes);this.decoratedTo=i}else if(t!=this.tree||e.viewportChanged){this.tree=t;this.decorations=this.buildDeco(e.view);this.decoratedTo=n.to}}buildDeco(e){if(!this.tree.length)return u.Decoration.none;let t=new h.RangeSetBuilder;const n=i=>{var s;const o=i.node.cursor();const r=o.tree&&o.tree.prop(y.NodeProp.mounted);if(r&&r.overlay){(s=i.node.enter(r.overlay[0].from+i.from,1))===null||s===void 0?void 0:s.cursor().iterate(n)}if(this.langPython.isActiveAt(e.state,i.from+1)&&i.name==="VariableName"){const n=e.state.sliceDoc(i.from,i.to);if(ie.includes(n)){t.add(i.from,i.to,this.mark)}}};for(let{from:i,to:s}of e.visibleRanges){this.tree.iterate({enter:n,from:i,to:s})}return t.finish()}}function ne(e){return u.ViewPlugin.define((t=>new te(t,e)),{decorations:e=>e.decorations})}const ie=["abs","aiter","all","any","anext","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__"];class se{constructor(){this._modeList=[];this.addLanguage({name:"none",mime:"text/plain",support:new c.LanguageSupport(c.LRLanguage.define({parser:(0,Y.KO)("@top Program { }")}))})}addLanguage(e){var t;const n=(t=this.findByName(e.name))!==null&&t!==void 0?t:this.findByMIME(e.mime,true);if(n){throw new Error(`${e.mime} already registered`)}this._modeList.push(this.makeSpec(e))}async getLanguage(e){const t=this.findBest(e);if(t&&!t.support){t.support=await t.load()}return t}getLanguages(){return[...this._modeList]}findByMIME(e,t=false){if(Array.isArray(e)){for(let t=0;t<e.length;t++){const n=this.findByMIME(e[t]);if(n)return n}return null}e=e.toLowerCase();for(let n=0;n<this._modeList.length;n++){let t=this._modeList[n];if(Array.isArray(t.mime)){for(let n=0;n<t.mime.length;n++){if(t.mime[n]==e){return t}}}else if(t.mime==e){return t}}if(!t){if(/\+xml$/.test(e))return this.findByMIME("application/xml");if(/\+json$/.test(e))return this.findByMIME("application/json")}return null}findByName(e){e=e.toLowerCase();for(let t=0;t<this._modeList.length;t++){let n=this._modeList[t];if(n.name.toLowerCase()==e)return n;if(n.alias){for(let t=0;t<n.alias.length;t++){if(n.alias[t].toLowerCase()==e){return n}}}}return null}findByExtension(e){if(Array.isArray(e)){for(let t=0;t<e.length;t++){const n=this.findByExtension(e[t]);if(n)return n}return null}e=e.toLowerCase();for(let t=0;t<this._modeList.length;t++){let n=this._modeList[t];for(let t=0;t<n.extensions.length;t++){if(n.extensions[t].toLowerCase()==e){return n}}}return null}findByFileName(e){const t=G.PathExt.basename(e);for(let s=0;s<this._modeList.length;s++){let e=this._modeList[s];if(e.filename&&e.filename.test(t)){return e}}let n=t.lastIndexOf(".");let i=n>-1&&t.substring(n+1,t.length);if(i){return this.findByExtension(i)}return null}findBest(e,t=true){var n,i,o,r;const a=typeof e==="string"?e:e.name;const l=typeof e!=="string"?e.mime:a;const d=typeof e!=="string"?(n=e.extensions)!==null&&n!==void 0?n:[]:[];return(r=(o=(i=a?this.findByName(a):null)!==null&&i!==void 0?i:l?this.findByMIME(l):null)!==null&&o!==void 0?o:this.findByExtension(d))!==null&&r!==void 0?r:t?this.findByMIME(s.IEditorMimeTypeService.defaultMimeType):null}async highlight(e,t,n){var i;if(t){await this.getLanguage(t)}const s=(i=t===null||t===void 0?void 0:t.support)===null||i===void 0?void 0:i.language;if(!s){n.appendChild(document.createTextNode(e));return}const o=s.parser.parse(e);let r=0;(0,w.highlightTree)(o,Q,((t,i,s)=>{if(t>r){n.appendChild(document.createTextNode(e.slice(r,t)))}const o=n.appendChild(document.createElement("span"));o.className=s;o.appendChild(document.createTextNode(e.slice(t,i)));r=i}));if(r<o.length-1){n.appendChild(document.createTextNode(e.slice(r,o.length)))}}makeSpec(e){let t=c.LanguageDescription.of(e);t.mime=e.mime;t.displayName=e.displayName;return t}}(function(e){function t(e){return new c.LanguageSupport(c.StreamLanguage.define(e))}e.legacy=t;async function i(e){const t=await n.e(6492).then(n.bind(n,46492));return t.sql({dialect:t[e]})}function s(e){const s=(e!==null&&e!==void 0?e:f.nullTranslator).load("jupyterlab");return[{name:"C",displayName:s.__("C"),mime:"text/x-csrc",extensions:["c","h","ino"],async load(){const e=await n.e(6166).then(n.bind(n,66166));return e.cpp()}},{name:"C++",displayName:s.__("C++"),mime:"text/x-c++src",extensions:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],async load(){const e=await n.e(6166).then(n.bind(n,66166));return e.cpp()}},{name:"CQL",displayName:s.__("CQL"),mime:"text/x-cassandra",extensions:["cql"],load(){return i("Cassandra")}},{name:"CSS",displayName:s.__("CSS"),mime:"text/css",extensions:["css"],async load(){const e=await n.e(7425).then(n.bind(n,37425));return e.css()}},{name:"HTML",displayName:s.__("HTML"),alias:["xhtml"],mime:"text/html",extensions:["html","htm","handlebars","hbs"],async load(){const e=await Promise.all([n.e(8103),n.e(7425),n.e(1962)]).then(n.bind(n,91962));return e.html()}},{name:"Java",displayName:s.__("Java"),mime:"text/x-java",extensions:["java"],async load(){const e=await n.e(8779).then(n.bind(n,88779));return e.java()}},{name:"Javascript",displayName:s.__("Javascript"),alias:["ecmascript","js","node"],mime:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],extensions:["js","mjs","cjs"],async load(){const e=await n.e(8103).then(n.bind(n,88103));return e.javascript()}},{name:"JSON",displayName:s.__("JSON"),alias:["json5"],mime:["application/json","application/x-json"],extensions:["json","map"],async load(){const e=await n.e(2729).then(n.bind(n,22729));return e.json()}},{name:"JSX",displayName:s.__("JSX"),mime:"text/jsx",extensions:["jsx"],async load(){const e=await n.e(8103).then(n.bind(n,88103));return e.javascript({jsx:true})}},{name:"MariaDB SQL",displayName:s.__("MariaDB SQL"),mime:"text/x-mariadb",load(){return i("MariaSQL")}},{name:"Markdown",displayName:s.__("Markdown"),mime:"text/x-markdown",extensions:["md","markdown","mkd"],async load(){const e=await n.e(5625).then(n.t.bind(n,95625,23));return e.markdown({codeLanguages:this._modeList})}},{name:"MS SQL",displayName:s.__("MS SQL"),mime:"text/x-mssql",load(){return i("MSSQL")}},{name:"MySQL",displayName:s.__("MySQL"),mime:"text/x-mysql",load(){return i("MySQL")}},{name:"PHP",displayName:s.__("PHP"),mime:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],extensions:["php","php3","php4","php5","php7","phtml"],async load(){const e=await Promise.all([n.e(8103),n.e(7425),n.e(1962),n.e(5942)]).then(n.bind(n,35942));return e.php()}},{name:"PLSQL",displayName:s.__("PLSQL"),mime:"text/x-plsql",extensions:["pls"],load(){return i("PLSQL")}},{name:"PostgreSQL",displayName:s.__("PostgreSQL"),mime:"text/x-pgsql",load(){return i("PostgreSQL")}},{name:"Python",displayName:s.__("Python"),mime:"text/x-python",extensions:["BUILD","bzl","py","pyw"],filename:/^(BUCK|BUILD)$/,async load(){const e=await n.e(9329).then(n.bind(n,9329));return new c.LanguageSupport(e.pythonLanguage,ne(e.pythonLanguage))}},{name:"ipython",displayName:s.__("ipython"),mime:"text/x-ipython",async load(){const e=await n.e(9329).then(n.bind(n,9329));return new c.LanguageSupport(e.pythonLanguage,ne(e.pythonLanguage))}},{name:"Rust",displayName:s.__("Rust"),mime:"text/x-rustsrc",extensions:["rs"],async load(){const e=await n.e(7250).then(n.bind(n,97250));return e.rust()}},{name:"SQL",displayName:s.__("SQL"),mime:["application/sql","text/x-sql"],extensions:["sql"],load(){return i("StandardSQL")}},{name:"SQLite",displayName:s.__("SQLite"),mime:"text/x-sqlite",load(){return i("SQLite")}},{name:"TSX",displayName:s.__("TSX"),alias:["TypeScript-JSX"],mime:"text/typescript-jsx",extensions:["tsx"],async load(){const e=await n.e(8103).then(n.bind(n,88103));return e.javascript({jsx:true,typescript:true})}},{name:"TypeScript",displayName:s.__("TypeScript"),alias:["ts"],mime:"application/typescript",extensions:["ts"],async load(){const e=await n.e(8103).then(n.bind(n,88103));return e.javascript({typescript:true})}},{name:"WebAssembly",displayName:s.__("WebAssembly"),mime:"text/webassembly",extensions:["wat","wast"],async load(){const e=await n.e(6095).then(n.bind(n,86095));return e.wast()}},{name:"XML",displayName:s.__("XML"),alias:["rss","wsdl","xsd"],mime:["application/xml","text/xml"],extensions:["xml","xsl","xsd","svg"],async load(){const e=await n.e(1495).then(n.bind(n,21495));return e.xml()}},{name:"APL",displayName:s.__("APL"),mime:"text/apl",extensions:["dyalog","apl"],async load(){const e=await n.e(5085).then(n.bind(n,65085));return t(e.apl)}},{name:"PGP",displayName:s.__("PGP"),alias:["asciiarmor"],mime:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],extensions:["asc","pgp","sig"],async load(){const e=await n.e(1834).then(n.bind(n,11834));return t(e.asciiArmor)}},{name:"ASN.1",displayName:s.__("ASN.1"),mime:"text/x-ttcn-asn",extensions:["asn","asn1"],async load(){const e=await n.e(5929).then(n.bind(n,25929));return t(e.asn1({}))}},{name:"Asterisk",displayName:s.__("Asterisk"),mime:"text/x-asterisk",filename:/^extensions\.conf$/i,async load(){const e=await n.e(1436).then(n.bind(n,11436));return t(e.asterisk)}},{name:"Brainfuck",displayName:s.__("Brainfuck"),mime:"text/x-brainfuck",extensions:["b","bf"],async load(){const e=await n.e(1737).then(n.bind(n,71737));return t(e.brainfuck)}},{name:"Cobol",displayName:s.__("Cobol"),mime:"text/x-cobol",extensions:["cob","cpy"],async load(){const e=await n.e(8217).then(n.bind(n,58217));return t(e.cobol)}},{name:"C#",displayName:s.__("C#"),alias:["csharp","cs"],mime:"text/x-csharp",extensions:["cs"],async load(){const e=await n.e(4528).then(n.bind(n,24528));return t(e.csharp)}},{name:"Clojure",displayName:s.__("Clojure"),mime:"text/x-clojure",extensions:["clj","cljc","cljx"],async load(){const e=await n.e(3974).then(n.bind(n,93974));return t(e.clojure)}},{name:"ClojureScript",displayName:s.__("ClojureScript"),mime:"text/x-clojurescript",extensions:["cljs"],async load(){const e=await n.e(3974).then(n.bind(n,93974));return t(e.clojure)}},{name:"Closure Stylesheets (GSS)",displayName:s.__("Closure Stylesheets (GSS)"),mime:"text/x-gss",extensions:["gss"],async load(){const e=await n.e(9137).then(n.bind(n,59137));return t(e.gss)}},{name:"CMake",displayName:s.__("CMake"),mime:"text/x-cmake",extensions:["cmake","cmake.in"],filename:/^CMakeLists\.txt$/,async load(){const e=await n.e(5317).then(n.bind(n,55317));return t(e.cmake)}},{name:"CoffeeScript",displayName:s.__("CoffeeScript"),alias:["coffee","coffee-script"],mime:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],extensions:["coffee"],async load(){const e=await n.e(2823).then(n.bind(n,82823));return t(e.coffeeScript)}},{name:"Common Lisp",displayName:s.__("Common Lisp"),alias:["lisp"],mime:"text/x-common-lisp",extensions:["cl","lisp","el"],async load(){const e=await n.e(4797).then(n.bind(n,14797));return t(e.commonLisp)}},{name:"Cypher",displayName:s.__("Cypher"),mime:"application/x-cypher-query",extensions:["cyp","cypher"],async load(){const e=await n.e(9023).then(n.bind(n,99023));return t(e.cypher)}},{name:"Cython",displayName:s.__("Cython"),mime:"text/x-cython",extensions:["pyx","pxd","pxi"],async load(){const e=await n.e(8830).then(n.bind(n,68830));return t(e.cython)}},{name:"Crystal",displayName:s.__("Crystal"),mime:"text/x-crystal",extensions:["cr"],async load(){const e=await n.e(3372).then(n.bind(n,43372));return t(e.crystal)}},{name:"D",displayName:s.__("D"),mime:"text/x-d",extensions:["d"],async load(){const e=await n.e(5318).then(n.bind(n,55318));return t(e.d)}},{name:"Dart",displayName:s.__("Dart"),mime:["application/dart","text/x-dart"],extensions:["dart"],async load(){const e=await n.e(4528).then(n.bind(n,24528));return t(e.dart)}},{name:"diff",displayName:s.__("diff"),mime:"text/x-diff",extensions:["diff","patch"],async load(){const e=await n.e(1991).then(n.bind(n,91991));return t(e.diff)}},{name:"Dockerfile",displayName:s.__("Dockerfile"),mime:"text/x-dockerfile",filename:/^Dockerfile$/,async load(){const e=await n.e(2574).then(n.bind(n,92574));return t(e.dockerFile)}},{name:"DTD",displayName:s.__("DTD"),mime:"application/xml-dtd",extensions:["dtd"],async load(){const e=await n.e(246).then(n.bind(n,30246));return t(e.dtd)}},{name:"Dylan",displayName:s.__("Dylan"),mime:"text/x-dylan",extensions:["dylan","dyl","intr"],async load(){const e=await n.e(4076).then(n.bind(n,24076));return t(e.dylan)}},{name:"EBNF",displayName:s.__("EBNF"),mime:"text/x-ebnf",async load(){const e=await n.e(7587).then(n.bind(n,17587));return t(e.ebnf)}},{name:"ECL",displayName:s.__("ECL"),mime:"text/x-ecl",extensions:["ecl"],async load(){const e=await n.e(6294).then(n.bind(n,26294));return t(e.ecl)}},{name:"edn",displayName:s.__("edn"),mime:"application/edn",extensions:["edn"],async load(){const e=await n.e(3974).then(n.bind(n,93974));return t(e.clojure)}},{name:"Eiffel",displayName:s.__("Eiffel"),mime:"text/x-eiffel",extensions:["e"],async load(){const e=await n.e(1887).then(n.bind(n,81887));return t(e.eiffel)}},{name:"Elm",displayName:s.__("Elm"),mime:"text/x-elm",extensions:["elm"],async load(){const e=await n.e(7318).then(n.bind(n,97318));return t(e.elm)}},{name:"Erlang",displayName:s.__("Erlang"),mime:"text/x-erlang",extensions:["erl"],async load(){const e=await n.e(867).then(n.bind(n,90867));return t(e.erlang)}},{name:"Esper",displayName:s.__("Esper"),mime:"text/x-esper",async load(){const e=await n.e(5566).then(n.bind(n,95566));return t(e.esper)}},{name:"Factor",displayName:s.__("Factor"),mime:"text/x-factor",extensions:["factor"],async load(){const e=await n.e(5211).then(n.bind(n,5211));return t(e.factor)}},{name:"FCL",displayName:s.__("FCL"),mime:"text/x-fcl",async load(){const e=await n.e(6831).then(n.bind(n,86831));return t(e.fcl)}},{name:"Forth",displayName:s.__("Forth"),mime:"text/x-forth",extensions:["forth","fth","4th"],async load(){const e=await n.e(6941).then(n.bind(n,46941));return t(e.forth)}},{name:"Fortran",displayName:s.__("Fortran"),mime:"text/x-fortran",extensions:["f","for","f77","f90","f95"],async load(){const e=await n.e(4408).then(n.bind(n,74408));return t(e.fortran)}},{name:"F#",displayName:s.__("F#"),alias:["fsharp"],mime:"text/x-fsharp",extensions:["fs"],async load(){const e=await n.e(1954).then(n.bind(n,21954));return t(e.fSharp)}},{name:"Gas",displayName:s.__("Gas"),mime:"text/x-gas",extensions:["s"],async load(){const e=await n.e(9123).then(n.bind(n,19123));return t(e.gas)}},{name:"Gherkin",displayName:s.__("Gherkin"),mime:"text/x-feature",extensions:["feature"],async load(){const e=await n.e(6060).then(n.bind(n,56060));return t(e.gherkin)}},{name:"Go",displayName:s.__("Go"),mime:"text/x-go",extensions:["go"],async load(){const e=await n.e(8418).then(n.bind(n,28418));return t(e.go)}},{name:"Groovy",displayName:s.__("Groovy"),mime:"text/x-groovy",extensions:["groovy","gradle"],filename:/^Jenkinsfile$/,async load(){const e=await n.e(874).then(n.bind(n,40874));return t(e.groovy)}},{name:"Haskell",displayName:s.__("Haskell"),mime:"text/x-haskell",extensions:["hs"],async load(){const e=await n.e(1986).then(n.bind(n,1986));return t(e.haskell)}},{name:"Haxe",displayName:s.__("Haxe"),mime:"text/x-haxe",extensions:["hx"],async load(){const e=await n.e(6412).then(n.bind(n,56412));return t(e.haxe)}},{name:"HXML",displayName:s.__("HXML"),mime:"text/x-hxml",extensions:["hxml"],async load(){const e=await n.e(6412).then(n.bind(n,56412));return t(e.hxml)}},{name:"HTTP",displayName:s.__("HTTP"),mime:"message/http",async load(){const e=await n.e(3112).then(n.bind(n,3112));return t(e.http)}},{name:"IDL",displayName:s.__("IDL"),mime:"text/x-idl",extensions:["pro"],async load(){const e=await n.e(7769).then(n.bind(n,7769));return t(e.idl)}},{name:"JSON-LD",displayName:s.__("JSON-LD"),alias:["jsonld"],mime:"application/ld+json",extensions:["jsonld"],async load(){const e=await n.e(8368).then(n.bind(n,85987));return t(e.jsonld)}},{name:"Jinja2",displayName:s.__("Jinja2"),mime:"text/jinja2",extensions:["j2","jinja","jinja2"],async load(){const e=await n.e(7694).then(n.bind(n,57694));return t(e.jinja2)}},{name:"Julia",displayName:s.__("Julia"),mime:"text/x-julia",extensions:["jl"],async load(){const e=await n.e(7575).then(n.bind(n,47575));return t(e.julia)}},{name:"Kotlin",displayName:s.__("Kotlin"),mime:"text/x-kotlin",extensions:["kt"],async load(){const e=await n.e(4528).then(n.bind(n,24528));return t(e.kotlin)}},{name:"LESS",displayName:s.__("LESS"),mime:"text/x-less",extensions:["less"],async load(){const e=await n.e(9137).then(n.bind(n,59137));return t(e.less)}},{name:"LiveScript",displayName:s.__("LiveScript"),alias:["ls"],mime:"text/x-livescript",extensions:["ls"],async load(){const e=await n.e(7881).then(n.bind(n,27881));return t(e.liveScript)}},{name:"Lua",displayName:s.__("Lua"),mime:"text/x-lua",extensions:["lua"],async load(){const e=await n.e(1960).then(n.bind(n,41960));return t(e.lua)}},{name:"mIRC",displayName:s.__("mIRC"),mime:"text/mirc",async load(){const e=await n.e(1449).then(n.bind(n,21449));return t(e.mirc)}},{name:"Mathematica",displayName:s.__("Mathematica"),mime:"text/x-mathematica",extensions:["m","nb","wl","wls"],async load(){const e=await n.e(5862).then(n.bind(n,95862));return t(e.mathematica)}},{name:"Modelica",displayName:s.__("Modelica"),mime:"text/x-modelica",extensions:["mo"],async load(){const e=await n.e(3832).then(n.bind(n,83832));return t(e.modelica)}},{name:"MUMPS",displayName:s.__("MUMPS"),mime:"text/x-mumps",extensions:["mps"],async load(){const e=await n.e(2658).then(n.bind(n,12658));return t(e.mumps)}},{name:"mbox",displayName:s.__("mbox"),mime:"application/mbox",extensions:["mbox"],async load(){const e=await n.e(4068).then(n.bind(n,34068));return t(e.mbox)}},{name:"Nginx",displayName:s.__("Nginx"),mime:"text/x-nginx-conf",filename:/nginx.*\.conf$/i,async load(){const e=await n.e(8326).then(n.bind(n,98326));return t(e.nginx)}},{name:"NSIS",displayName:s.__("NSIS"),mime:"text/x-nsis",extensions:["nsh","nsi"],async load(){const e=await n.e(339).then(n.bind(n,70339));return t(e.nsis)}},{name:"NTriples",displayName:s.__("NTriples"),mime:["application/n-triples","application/n-quads","text/n-triples"],extensions:["nt","nq"],async load(){const e=await n.e(5847).then(n.bind(n,85847));return t(e.ntriples)}},{name:"Objective-C",displayName:s.__("Objective-C"),alias:["objective-c","objc"],mime:"text/x-objectivec",extensions:["m"],async load(){const e=await n.e(4528).then(n.bind(n,24528));return t(e.objectiveC)}},{name:"Objective-C++",displayName:s.__("Objective-C++"),alias:["objective-c++","objc++"],mime:"text/x-objectivec++",extensions:["mm"],async load(){const e=await n.e(4528).then(n.bind(n,24528));return t(e.objectiveCpp)}},{name:"OCaml",displayName:s.__("OCaml"),mime:"text/x-ocaml",extensions:["ml","mli","mll","mly"],async load(){const e=await n.e(1954).then(n.bind(n,21954));return t(e.oCaml)}},{name:"Octave",displayName:s.__("Octave"),mime:"text/x-octave",extensions:["m"],async load(){const e=await n.e(7260).then(n.bind(n,7260));return t(e.octave)}},{name:"Oz",displayName:s.__("Oz"),mime:"text/x-oz",extensions:["oz"],async load(){const e=await n.e(7445).then(n.bind(n,57445));return t(e.oz)}},{name:"Pascal",displayName:s.__("Pascal"),mime:"text/x-pascal",extensions:["p","pas"],async load(){const e=await n.e(8232).then(n.bind(n,38232));return t(e.pascal)}},{name:"Perl",displayName:s.__("Perl"),mime:"text/x-perl",extensions:["pl","pm"],async load(){const e=await n.e(3709).then(n.bind(n,73709));return t(e.perl)}},{name:"Pig",displayName:s.__("Pig"),mime:"text/x-pig",extensions:["pig"],async load(){const e=await n.e(4486).then(n.bind(n,14486));return t(e.pig)}},{name:"PowerShell",displayName:s.__("PowerShell"),mime:"application/x-powershell",extensions:["ps1","psd1","psm1"],async load(){const e=await n.e(6145).then(n.bind(n,26145));return t(e.powerShell)}},{name:"Properties files",displayName:s.__("Properties files"),alias:["ini","properties"],mime:"text/x-properties",extensions:["properties","ini","in"],async load(){const e=await n.e(9517).then(n.bind(n,79517));return t(e.properties)}},{name:"ProtoBuf",displayName:s.__("ProtoBuf"),mime:"text/x-protobuf",extensions:["proto"],async load(){const e=await n.e(3303).then(n.bind(n,73303));return t(e.protobuf)}},{name:"Pug",displayName:s.__("Pug"),mime:"text/x-pug",extensions:["pug"],async load(){const e=await n.e(6170).then(n.bind(n,96170));return t(e.pug)}},{name:"Puppet",displayName:s.__("Puppet"),mime:"text/x-puppet",extensions:["pp"],async load(){const e=await n.e(4878).then(n.bind(n,54878));return t(e.puppet)}},{name:"Q",displayName:s.__("Q"),mime:"text/x-q",extensions:["q"],async load(){const e=await n.e(89).then(n.bind(n,30089));return t(e.q)}},{name:"R",displayName:s.__("R"),alias:["rscript"],mime:"text/x-rsrc",extensions:["r","R"],async load(){const e=await n.e(7136).then(n.bind(n,97136));return t(e.r)}},{name:"RPM Changes",displayName:s.__("RPM Changes"),mime:"text/x-rpm-changes",async load(){const e=await n.e(4323).then(n.bind(n,24323));return t(e.rpmChanges)}},{name:"RPM Spec",displayName:s.__("RPM Spec"),mime:"text/x-rpm-spec",extensions:["spec"],async load(){const e=await n.e(4323).then(n.bind(n,24323));return t(e.rpmSpec)}},{name:"Ruby",displayName:s.__("Ruby"),alias:["jruby","macruby","rake","rb","rbx"],mime:"text/x-ruby",extensions:["rb"],async load(){const e=await n.e(4616).then(n.bind(n,44616));return t(e.ruby)}},{name:"SAS",displayName:s.__("SAS"),mime:"text/x-sas",extensions:["sas"],async load(){const e=await n.e(247).then(n.bind(n,90247));return t(e.sas)}},{name:"Scala",displayName:s.__("Scala"),mime:"text/x-scala",extensions:["scala"],async load(){const e=await n.e(4528).then(n.bind(n,24528));return t(e.scala)}},{name:"Scheme",displayName:s.__("Scheme"),mime:"text/x-scheme",extensions:["scm","ss"],async load(){const e=await n.e(2959).then(n.bind(n,42959));return t(e.scheme)}},{name:"SCSS",displayName:s.__("SCSS"),mime:"text/x-scss",extensions:["scss"],async load(){const e=await n.e(9137).then(n.bind(n,59137));return t(e.sCSS)}},{name:"Shell",displayName:s.__("Shell"),alias:["bash","sh","zsh"],mime:["text/x-sh","application/x-sh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,async load(){const e=await n.e(84).then(n.bind(n,50084));return t(e.shell)}},{name:"Sieve",displayName:s.__("Sieve"),mime:"application/sieve",extensions:["siv","sieve"],async load(){const e=await n.e(5224).then(n.bind(n,15224));return t(e.sieve)}},{name:"Smalltalk",displayName:s.__("Smalltalk"),mime:"text/x-stsrc",extensions:["st"],async load(){const e=await n.e(5987).then(n.bind(n,8368));return t(e.smalltalk)}},{name:"Solr",displayName:s.__("Solr"),mime:"text/x-solr",async load(){const e=await n.e(2280).then(n.bind(n,82280));return t(e.solr)}},{name:"SML",displayName:s.__("SML"),mime:"text/x-sml",extensions:["sml","sig","fun","smackspec"],async load(){const e=await n.e(1954).then(n.bind(n,21954));return t(e.sml)}},{name:"SPARQL",displayName:s.__("SPARQL"),alias:["sparul"],mime:"application/sparql-query",extensions:["rq","sparql"],async load(){const e=await n.e(8753).then(n.bind(n,58753));return t(e.sparql)}},{name:"Spreadsheet",displayName:s.__("Spreadsheet"),alias:["excel","formula"],mime:"text/x-spreadsheet",async load(){const e=await n.e(3780).then(n.bind(n,23780));return t(e.spreadsheet)}},{name:"Squirrel",displayName:s.__("Squirrel"),mime:"text/x-squirrel",extensions:["nut"],async load(){const e=await n.e(4528).then(n.bind(n,24528));return t(e.squirrel)}},{name:"Stylus",displayName:s.__("Stylus"),mime:"text/x-styl",extensions:["styl"],async load(){const e=await n.e(4462).then(n.bind(n,84462));return t(e.stylus)}},{name:"Swift",displayName:s.__("Swift"),mime:"text/x-swift",extensions:["swift"],async load(){const e=await n.e(321).then(n.bind(n,90321));return t(e.swift)}},{name:"sTeX",displayName:s.__("sTeX"),mime:"text/x-stex",async load(){const e=await n.e(9746).then(n.bind(n,89746));return t(e.stex)}},{name:"LaTeX",displayName:s.__("LaTeX"),alias:["tex"],mime:"text/x-latex",extensions:["text","ltx","tex"],async load(){const e=await n.e(9746).then(n.bind(n,89746));return t(e.stex)}},{name:"SystemVerilog",displayName:s.__("SystemVerilog"),mime:"text/x-systemverilog",extensions:["v","sv","svh"],async load(){const e=await n.e(4372).then(n.bind(n,14372));return t(e.verilog)}},{name:"Tcl",displayName:s.__("Tcl"),mime:"text/x-tcl",extensions:["tcl"],async load(){const e=await n.e(1189).then(n.bind(n,91189));return t(e.tcl)}},{name:"Textile",displayName:s.__("Textile"),mime:"text/x-textile",extensions:["textile"],async load(){const e=await n.e(4611).then(n.bind(n,64611));return t(e.textile)}},{name:"TiddlyWiki",displayName:s.__("TiddlyWiki"),mime:"text/x-tiddlywiki",async load(){const e=await n.e(7756).then(n.bind(n,7756));return t(e.tiddlyWiki)}},{name:"Tiki wiki",displayName:s.__("Tiki wiki"),mime:"text/tiki",async load(){const e=await n.e(6843).then(n.bind(n,6843));return t(e.tiki)}},{name:"TOML",displayName:s.__("TOML"),mime:"text/x-toml",extensions:["toml"],async load(){const e=await n.e(6460).then(n.bind(n,56460));return t(e.toml)}},{name:"troff",displayName:s.__("troff"),mime:"text/troff",extensions:["1","2","3","4","5","6","7","8","9"],async load(){const e=await n.e(4053).then(n.bind(n,34053));return t(e.troff)}},{name:"TTCN",displayName:s.__("TTCN"),mime:"text/x-ttcn",extensions:["ttcn","ttcn3","ttcnpp"],async load(){const e=await n.e(7269).then(n.bind(n,57269));return t(e.ttcn)}},{name:"TTCN_CFG",displayName:s.__("TTCN_CFG"),mime:"text/x-ttcn-cfg",extensions:["cfg"],async load(){const e=await n.e(6874).then(n.bind(n,96874));return t(e.ttcnCfg)}},{name:"Turtle",displayName:s.__("Turtle"),mime:"text/turtle",extensions:["ttl"],async load(){const e=await n.e(9474).then(n.bind(n,59474));return t(e.turtle)}},{name:"Web IDL",displayName:s.__("Web IDL"),mime:"text/x-webidl",extensions:["webidl"],async load(){const e=await n.e(265).then(n.bind(n,50265));return t(e.webIDL)}},{name:"VB.NET",displayName:s.__("VB.NET"),mime:"text/x-vb",extensions:["vb"],async load(){const e=await n.e(492).then(n.bind(n,30492));return t(e.vb)}},{name:"VBScript",displayName:s.__("VBScript"),mime:"text/vbscript",extensions:["vbs"],async load(){const e=await n.e(6767).then(n.bind(n,56767));return t(e.vbScript)}},{name:"Velocity",displayName:s.__("Velocity"),mime:"text/velocity",extensions:["vtl"],async load(){const e=await n.e(2467).then(n.bind(n,2467));return t(e.velocity)}},{name:"Verilog",displayName:s.__("Verilog"),mime:"text/x-verilog",extensions:["v"],async load(){const e=await n.e(4372).then(n.bind(n,14372));return t(e.verilog)}},{name:"VHDL",displayName:s.__("VHDL"),mime:"text/x-vhdl",extensions:["vhd","vhdl"],async load(){const e=await n.e(4838).then(n.bind(n,84838));return t(e.vhdl)}},{name:"XQuery",displayName:s.__("XQuery"),mime:"application/xquery",extensions:["xy","xquery"],async load(){const e=await n.e(4484).then(n.bind(n,34484));return t(e.xQuery)}},{name:"Yacas",displayName:s.__("Yacas"),mime:"text/x-yacas",extensions:["ys"],async load(){const e=await n.e(2681).then(n.bind(n,82681));return t(e.yacas)}},{name:"YAML",displayName:s.__("YAML"),alias:["yml"],mime:["text/x-yaml","text/yaml"],extensions:["yaml","yml"],async load(){const e=await n.e(731).then(n.bind(n,30731));return t(e.yaml)}},{name:"Z80",displayName:s.__("Z80"),mime:"text/x-z80",extensions:["z80"],async load(){const e=await n.e(4296).then(n.bind(n,44296));return t(e.z80)}},{name:"mscgen",displayName:s.__("mscgen"),mime:"text/x-mscgen",extensions:["mscgen","mscin","msc"],async load(){const e=await n.e(5877).then(n.bind(n,15877));return t(e.mscgen)}},{name:"xu",displayName:s.__("xu"),mime:"text/x-xu",extensions:["xu"],async load(){const e=await n.e(5877).then(n.bind(n,15877));return t(e.xu)}},{name:"msgenny",displayName:s.__("msgenny"),mime:"text/x-msgenny",extensions:["msgenny"],async load(){const e=await n.e(5877).then(n.bind(n,15877));return t(e.msgenny)}}]}e.getDefaultLanguages=s})(se||(se={}));const oe="jp-CodeMirrorEditor";const re=38;const ae=40;class le{constructor(e){var t,n,i,s,o,r;this.edgeRequested=new m.Signal(this);this._isDisposed=false;this._language=new h.Compartment;this._uuid="";this._languages=(t=e.languages)!==null&&t!==void 0?t:new se;this._configurator=(s=(n=e.extensionsRegistry)===null||n===void 0?void 0:n.createNew({...e,inline:(i=e.inline)!==null&&i!==void 0?i:false}))!==null&&s!==void 0?s:new K;const a=this.host=e.host;a.classList.add(oe);a.classList.add("jp-Editor");a.addEventListener("focus",this,true);a.addEventListener("blur",this,true);a.addEventListener("scroll",this,true);this._uuid=(o=e.uuid)!==null&&o!==void 0?o:p.UUID.uuid4();const l=this._model=e.model;const d=u.EditorView.domEventHandlers({keydown:(e,t)=>this.onKeydown(e)});const c=u.EditorView.updateListener.of((e=>{this._onDocChanged(e)}));this._editor=de.createEditor(a,this._configurator,[h.Prec.high(d),c,this._language.of([]),...(r=e.extensions)!==null&&r!==void 0?r:[]],l.sharedModel.source);this._onMimeTypeChanged();this._onCursorActivity();this._configurator.configChanged.connect(this.onConfigChanged,this);l.mimeTypeChanged.connect(this._onMimeTypeChanged,this)}get uuid(){return this._uuid}set uuid(e){this._uuid=e}get editor(){return this._editor}get doc(){return this._editor.state.doc}get lineCount(){return this.doc.lines}get model(){return this._model}get lineHeight(){return this._editor.defaultLineHeight}get charWidth(){return this._editor.defaultCharacterWidth}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;this.host.removeEventListener("focus",this,true);this.host.removeEventListener("blur",this,true);this.host.removeEventListener("scroll",this,true);this._configurator.dispose();m.Signal.clearData(this);this.editor.destroy()}getOption(e){return this._configurator.getOption(e)}hasOption(e){return this._configurator.hasOption(e)}setOption(e,t){this._configurator.setOption(e,t)}setOptions(e){this._configurator.setOptions(e)}setBaseOptions(e){this._configurator.setBaseOptions(e)}injectExtension(e){this._configurator.injectExtension(this._editor,e)}getLine(e){e=e+1;return e<=this.doc.lines?this.doc.line(e).text:undefined}getOffsetAt(e){return this.doc.line(e.line+1).from+e.column}getPositionAt(e){const t=this.doc.lineAt(e);return{line:t.number-1,column:e-t.from}}undo(){this.model.sharedModel.undo()}redo(){this.model.sharedModel.redo()}clearHistory(){this.model.sharedModel.clearUndoHistory()}focus(){this.host.classList.add("jp-mod-focused");this._editor.focus()}hasFocus(){return this._editor.hasFocus}blur(){this._editor.contentDOM.blur()}get state(){return this._editor.state}firstLine(){return 0}lastLine(){return this.doc.lines-1}cursorCoords(e,t){const n=this.state.selection.main;const i=e?n.from:n.to;const s=this.editor.coordsAtPos(i);return s}getRange(e,t,n){const i=this.getOffsetAt(this._toPosition(e));const s=this.getOffsetAt(this._toPosition(t));return this.state.sliceDoc(i,s)}revealPosition(e,t){const n=this.getOffsetAt(e);this._editor.dispatch({effects:u.EditorView.scrollIntoView(n,{y:t===null||t===void 0?void 0:t.block,x:t===null||t===void 0?void 0:t.inline})})}revealSelection(e,t){const n=this.getOffsetAt(e.start);const i=this.getOffsetAt(e.end);this._editor.dispatch({effects:u.EditorView.scrollIntoView(h.EditorSelection.range(n,i),{y:t===null||t===void 0?void 0:t.block,x:t===null||t===void 0?void 0:t.inline})})}getCoordinateForPosition(e){const t=this.getOffsetAt(e);const n=this.editor.coordsAtPos(t);return n}getPositionForCoordinate(e){const t=this.editor.posAtCoords({x:e.left,y:e.top});return this.getPositionAt(t)||null}getCursorPosition(){const e=this.state.selection.main.head;return this.getPositionAt(e)}setCursorPosition(e,t={}){const n=this.getOffsetAt(e);this.editor.dispatch({selection:{anchor:n},scrollIntoView:t.scroll===false?false:true});if(!this.editor.hasFocus){this.model.selections.set(this.uuid,this.getSelections())}}getSelection(){return this.getSelections()[0]}setSelection(e){this.setSelections([e])}getSelections(){const e=this.state.selection.ranges;if(e.length>0){const t=e.map((e=>({anchor:this._toCodeMirrorPosition(this.getPositionAt(e.from)),head:this._toCodeMirrorPosition(this.getPositionAt(e.to))})));return t.map((e=>this._toSelection(e)))}const t=this._toCodeMirrorPosition(this.getPositionAt(this.state.selection.main.head));const n=this._toSelection({anchor:t,head:t});return[n]}setSelections(e){const t=e.length?e.map((e=>h.EditorSelection.range(this.getOffsetAt(e.start),this.getOffsetAt(e.end)))):[h.EditorSelection.range(0,0)];this.editor.dispatch({selection:h.EditorSelection.create(t)})}replaceSelection(e){const t=this.getSelections()[0];this.model.sharedModel.updateSource(this.getOffsetAt(t.start),this.getOffsetAt(t.end),e);const n=this.getPositionAt(this.getOffsetAt(t.start)+e.length);this.setSelection({start:n,end:n})}getTokens(){const e=[];const t=(0,c.ensureSyntaxTree)(this.state,this.doc.length);if(t){t.iterate({enter:t=>{if(t.node.firstChild===null){e.push({value:this.state.sliceDoc(t.from,t.to),offset:t.from,type:t.name})}return true}})}return e}getTokenAt(e){const t=(0,c.ensureSyntaxTree)(this.state,e);let n=null;if(t){t.iterate({enter:t=>{if(n){return false}if(t.node.firstChild){return true}if(e>=t.from&&e<=t.to){let e=t;if(t.name==="⚠"&&t.from===t.to&&t.node.parent){e=t.node.parent}n={value:this.state.sliceDoc(e.from,e.to),offset:e.from,type:e.name};return false}return true}})}return n||{offset:e,value:""}}getTokenAtCursor(){return this.getTokenAt(this.state.selection.main.head)}newIndentedLine(){(0,i.insertNewlineAndIndent)({state:this.state,dispatch:this.editor.dispatch})}execCommand(e){e(this.editor)}onConfigChanged(e,t){const n=Object.keys(t).reduce(((e,n)=>{if(t[n]!=undefined){e[n]=t[n]}return e}),{});e.reconfigureExtensions(this._editor,n);if(t["customStyles"]&&!t["fontSize"]){this.editor.setState(this.editor.state)}}onKeydown(e){const t=this.state.selection.main.head;if(t===0&&e.keyCode===re){if(!e.shiftKey){this.edgeRequested.emit("top")}return false}const n=this.doc.lineAt(t).number;if(n===1&&e.keyCode===re){if(!e.shiftKey){this.edgeRequested.emit("topLine")}return false}const i=this.doc.length;if(t===i&&e.keyCode===ae){if(!e.shiftKey){this.edgeRequested.emit("bottom")}return false}return false}_onMimeTypeChanged(){this._languages.getLanguage(this._model.mimeType).then((e=>{var t;this._editor.dispatch({effects:this._language.reconfigure((t=e===null||e===void 0?void 0:e.support)!==null&&t!==void 0?t:[])})})).catch((e=>{console.log(`Failed to load language for '${this._model.mimeType}'.`,e);this._editor.dispatch({effects:this._language.reconfigure([])})}))}_onCursorActivity(){if(this._editor.hasFocus){const e=this.getSelections();this.model.selections.set(this.uuid,e)}}_toSelection(e){return{uuid:this.uuid,start:this._toPosition(e.anchor),end:this._toPosition(e.head)}}_toPosition(e){return{line:e.line,column:e.ch}}_toCodeMirrorPosition(e){return{line:e.line,ch:e.column}}_onDocChanged(e){if(e.transactions.length&&e.transactions[0].selection){this._onCursorActivity()}}handleEvent(e){switch(e.type){case"focus":this._evtFocus(e);break;case"blur":this._evtBlur(e);break;default:break}}_evtFocus(e){this.host.classList.add("jp-mod-focused");this._onCursorActivity()}_evtBlur(e){this.host.classList.remove("jp-mod-focused")}}var de;(function(e){function t(e,t,n,i){const s=t.getInitialExtensions();s.push(...n);const o=new u.EditorView({state:h.EditorState.create({doc:i,extensions:s}),parent:e});return o}e.createEditor=t})(de||(de={}));class ce{constructor(e={}){var t,n,i;this.newInlineEditor=e=>{e.host.dataset.type="inline";return this.newEditor({...e,config:{...this.inlineCodeMirrorConfig,...e.config||{}},inline:true})};this.newDocumentEditor=e=>{var t,n;e.host.dataset.type="document";return this.newEditor({...e,config:{...this.documentCodeMirrorConfig,...(t=e.config)!==null&&t!==void 0?t:{}},inline:false,extensions:(n=e.extensions)!==null&&n!==void 0?n:[]})};this.languages=(t=e.languages)!==null&&t!==void 0?t:new se;this.extensions=(n=e.extensions)!==null&&n!==void 0?n:new J;this.translator=(i=e.translator)!==null&&i!==void 0?i:f.nullTranslator;this.inlineCodeMirrorConfig={searchWithCM:true};this.documentCodeMirrorConfig={lineNumbers:true,scrollPastEnd:true}}newEditor(e){const t=new le({extensionsRegistry:this.extensions,languages:this.languages,translator:this.translator,...e});return t}}class he{constructor(e){this.languages=e}getMimeTypeByLanguage(e){var t;const n=e.file_extension||"";const i=this.languages.findBest(e.codemirror_mode||{mimetype:e.mimetype,name:e.name,ext:[n.split(".").slice(-1)[0]]});return i?Array.isArray(i.mime)?(t=i.mime[0])!==null&&t!==void 0?t:s.IEditorMimeTypeService.defaultMimeType:i.mime:s.IEditorMimeTypeService.defaultMimeType}getMimeTypeByFilePath(e){var t;const n=G.PathExt.extname(e);if(n===".ipy"){return"text/x-python"}else if(n===".md"){return"text/x-ipythongfm"}const i=this.languages.findByFileName(e);return i?Array.isArray(i.mime)?(t=i.mime[0])!==null&&t!==void 0?t:s.IEditorMimeTypeService.defaultMimeType:i.mime:s.IEditorMimeTypeService.defaultMimeType}}var ue=n(41043);class pe{constructor(){this.currentIndex=null;this.query=null;this._isActive=true;this._inSelection=null;this._isDisposed=false;this._cmHandler=null;this.currentIndex=null;this._stateChanged=new m.Signal(this)}get cmHandler(){if(!this._cmHandler){this._cmHandler=new me(this.editor)}return this._cmHandler}get stateChanged(){return this._stateChanged}get currentMatchIndex(){return this.isActive?this.currentIndex:null}get isActive(){return this._isActive}get isDisposed(){return this._isDisposed}get matchesCount(){return this.isActive?this.cmHandler.matches.length:0}clearHighlight(){this.currentIndex=null;this.cmHandler.clearHighlight();return Promise.resolve()}dispose(){if(this._isDisposed){return}this._isDisposed=true;m.Signal.clearData(this);if(this.isActive){this.endQuery().catch((e=>{console.error(`Failed to end search query on cells.`,e)}))}}async setIsActive(e){if(this._isActive===e){return}this._isActive=e;if(this._isActive){if(this.query!==null){await this.startQuery(this.query,this.filters)}}else{await this.endQuery()}}async setSearchSelection(e){if(this._inSelection===e){return}this._inSelection=e;await this.updateCodeMirror(this.model.sharedModel.getSource());this._stateChanged.emit()}setProtectSelection(e){this.cmHandler.protectSelection=e}async startQuery(e,t){this.query=e;this.filters=t;const n=this.model.sharedModel.getSource();await this.updateCodeMirror(n);this.model.sharedModel.changed.connect(this.onSharedModelChanged,this)}async endQuery(){await this.clearHighlight();await this.cmHandler.endQuery();this.currentIndex=null}async highlightNext(e=true,t){if(this.matchesCount===0||!this.isActive){this.currentIndex=null}else{let n=await this.cmHandler.highlightNext(t);if(n){this.currentIndex=this.cmHandler.currentIndex}else{this.currentIndex=e?0:null}return n}return Promise.resolve(this.getCurrentMatch())}async highlightPrevious(e=true,t){if(this.matchesCount===0||!this.isActive){this.currentIndex=null}else{let n=await this.cmHandler.highlightPrevious(t);if(n){this.currentIndex=this.cmHandler.currentIndex}else{this.currentIndex=e?this.matchesCount-1:null}return n}return Promise.resolve(this.getCurrentMatch())}replaceCurrentMatch(e,t,n){if(!this.isActive){return Promise.resolve(false)}if(this.currentIndex!==null&&this.currentIndex<this.cmHandler.matches.length){const t=this.getCurrentMatch();if(!t){this.currentIndex=null}else{const i=(n===null||n===void 0?void 0:n.regularExpression)?t.text.replace(this.query,e):e;const s=(n===null||n===void 0?void 0:n.preserveCase)?ue.GenericSearchProvider.preserveCase(t.text,i):i;this.model.sharedModel.updateSource(t.position,t.position+t.text.length,s);return new Promise(((e,n)=>{this.updateCodeMirror(this.model.sharedModel.getSource()).then((()=>{const n=this.cmHandler.matches;const i=t.position+s.length;let o=false;for(let e=this.currentIndex||0;e<n.length;e++){if(n[e].position>=i){this.currentIndex=e;o=true;break}void this.highlightNext(false,{from:"previous-match"})}if(!o){this.currentIndex=null}e(true)})).catch((e=>{const t=`Failed to regenerate match list: ${e}`;console.error(t);n(t)}))}))}}return Promise.resolve(false)}replaceAllMatches(e,t){if(!this.isActive){return Promise.resolve(false)}let n=this.cmHandler.matches.length>0;let i=this.model.sharedModel.getSource();let s=0;const o=this.cmHandler.matches.reduce(((n,o)=>{const r=o.position;const a=r+o.text.length;const l=(t===null||t===void 0?void 0:t.regularExpression)?o.text.replace(this.query,e):e;const d=(t===null||t===void 0?void 0:t.preserveCase)?ue.GenericSearchProvider.preserveCase(o.text,l):l;const c=`${n}${i.slice(s,r)}${d}`;s=a;return c}),"");if(n){this.cmHandler.matches=[];this.currentIndex=null;this.model.sharedModel.setSource(`${o}${i.slice(s)}`)}return Promise.resolve(n)}getCurrentMatch(){if(this.currentIndex===null){return undefined}else{let e=undefined;if(this.currentIndex<this.cmHandler.matches.length){e=this.cmHandler.matches[this.currentIndex]}return e}}async onSharedModelChanged(e,t){if(t.sourceChange){await this.updateCodeMirror(e.getSource());this._stateChanged.emit()}}async updateCodeMirror(e){if(this.query!==null&&this.isActive){const t=await ue.TextSearchEngine.search(this.query,e);if(this._inSelection){const e=this.editor;const n=e.getOffsetAt(this._inSelection.start);const i=e.getOffsetAt(this._inSelection.end);this.cmHandler.matches=t.filter((e=>e.position>=n&&e.position<=i));if(this.cmHandler.currentIndex===null&&this.cmHandler.matches.length>0){await this.cmHandler.highlightNext({from:"selection",select:false,scroll:false})}this.currentIndex=this.cmHandler.currentIndex}else{this.cmHandler.matches=t}}else{this.cmHandler.matches=[]}}}class me{constructor(e){this._current=null;this._cm=e;this._matches=new Array;this._currentIndex=null;this._highlightEffect=h.StateEffect.define({map:(e,t)=>{const n=e=>({text:e.text,position:t.mapPos(e.position)});return{matches:e.matches.map(n),currentMatch:e.currentMatch?n(e.currentMatch):null}}});this._highlightMark=u.Decoration.mark({class:"cm-searching"});this._currentMark=u.Decoration.mark({class:"jp-current-match"});this._highlightField=h.StateField.define({create:()=>u.Decoration.none,update:(e,t)=>{e=e.map(t.changes);for(let n of t.effects){if(n.is(this._highlightEffect)){const t=n;if(t.value.matches.length){e=e.update({add:t.value.matches.map((e=>this._highlightMark.range(e.position,e.position+e.text.length))),filter:()=>false});e=e.update({add:t.value.currentMatch?[this._currentMark.range(t.value.currentMatch.position,t.value.currentMatch.position+t.value.currentMatch.text.length)]:[]})}else{e=u.Decoration.none}}}return e},provide:e=>u.EditorView.decorations.from(e)});this._domEventHandlers=u.EditorView.domEventHandlers({focus:()=>{this._selectCurrentMatch()}})}get currentIndex(){return this._currentIndex}get matches(){return this._matches}set matches(e){this._matches=e;if(this._currentIndex!==null&&this._currentIndex>this._matches.length){this._currentIndex=this._matches.length>0?0:null}this._highlightCurrentMatch({select:false})}get protectSelection(){return this._protectSelection}set protectSelection(e){this._protectSelection=e}clearHighlight(){this._currentIndex=null;this._highlightCurrentMatch()}endQuery(){this._currentIndex=null;this._matches=[];if(this._cm){this._cm.editor.dispatch({effects:this._highlightEffect.of({matches:[],currentMatch:null})})}return Promise.resolve()}highlightNext(e){var t;this._currentIndex=this._findNext(false,(t=e===null||e===void 0?void 0:e.from)!==null&&t!==void 0?t:"auto");this._highlightCurrentMatch(e);return Promise.resolve(this._currentIndex!==null?this._matches[this._currentIndex]:undefined)}highlightPrevious(e){var t;this._currentIndex=this._findNext(true,(t=e===null||e===void 0?void 0:e.from)!==null&&t!==void 0?t:"auto");this._highlightCurrentMatch(e);return Promise.resolve(this._currentIndex!==null?this._matches[this._currentIndex]:undefined)}setEditor(e){if(this._cm){throw new Error("CodeMirrorEditor already set.")}else{this._cm=e;if(this._currentIndex!==null){this._highlightCurrentMatch()}this._cm.editor.dispatch({effects:h.StateEffect.appendConfig.of(this._domEventHandlers)});this._refresh()}}_selectCurrentMatch(e=true){const t=this._current;if(!t){return}if(!this._cm){return}const n={anchor:t.position,head:t.position+t.text.length};const i=this._cm.editor.state.selection.main;if(i.from===t.position&&i.to===t.position+t.text.length||this._protectSelection){if(e){this._cm.editor.dispatch({effects:u.EditorView.scrollIntoView(h.EditorSelection.range(n.anchor,n.head))});return}}else{this._cm.editor.dispatch({selection:n,scrollIntoView:e})}}_highlightCurrentMatch(e){var t,n,i;if(!this._cm){return}if(this._currentIndex!==null){const s=this.matches[this._currentIndex];this._current=s;if((t=e===null||e===void 0?void 0:e.select)!==null&&t!==void 0?t:true){if(this._cm.hasFocus()){this._selectCurrentMatch((n=e===null||e===void 0?void 0:e.scroll)!==null&&n!==void 0?n:true)}else if((i=e===null||e===void 0?void 0:e.scroll)!==null&&i!==void 0?i:true){this._cm.editor.dispatch({effects:u.EditorView.scrollIntoView(s.position)})}}}else{this._current=null}this._refresh()}_refresh(){if(!this._cm){return}let e=[this._highlightEffect.of({matches:this.matches,currentMatch:this._current})];if(!this._cm.state.field(this._highlightField,false)){e.push(h.StateEffect.appendConfig.of([this._highlightField]))}this._cm.editor.dispatch({effects:e})}_findNext(e,t="auto"){var n,i,s,o;if(this._matches.length===0){return null}if(!this._cm&&!["previous-match","start"].includes(t)){t="previous-match"}let r=0;if(t==="auto"&&((i=(n=this._cm)===null||n===void 0?void 0:n.hasFocus())!==null&&i!==void 0?i:false)||t==="selection"){const t=this._cm.state.selection.main;r=e?t.anchor:t.head}else if(t==="selection-start"){const e=this._cm.state.selection.main;r=Math.min(e.anchor,e.head)}else if(t==="start"){r=0}else if(this._current){r=e?this._current.position:this._current.position+this._current.text.length}if(r===0&&e&&this.currentIndex===null){r=(o=(s=this._cm)===null||s===void 0?void 0:s.doc.length)!==null&&o!==void 0?o:d(this._matches[this._matches.length-1])}const a=r;let l=ge.findNext(this._matches,a,0,this._matches.length-1);if(l===null){return e?this._matches.length-1:null}if(e){l-=1;if(l<0){return null}}return l;function d(e){return e?e.position+e.text.length:0}}}var ge;(function(e){function t(e,t,n=0,i=Infinity){i=Math.min(e.length-1,i);while(n<=i){let s=Math.floor(.5*(n+i));const o=e[s].position;if(o<t){n=s+1;if(n<e.length&&e[n].position>t){return n}}else if(o>t){i=s-1;if(i>0&&e[i].position<t){return s}}else{return s}}const s=n>0?n-1:0;const o=e[s];return o.position>=t?s:null}e.findNext=t})(ge||(ge={}));const fe=new p.Token("@jupyterlab/codemirror:IEditorExtensionRegistry",`A registry for CodeMirror extension factories.`);const ve=new p.Token("@jupyterlab/codemirror:IEditorLanguageRegistry","A registry for CodeMirror languages.");const _e=new p.Token("@jupyterlab/codemirror:IEditorThemeRegistry","A registry for CodeMirror theme.")},23359:(e,t,n)=>{"use strict";var i=n(17325);var s=n(19562);var o=n(85072);var r=n.n(o);var a=n(97825);var l=n.n(a);var d=n(77659);var c=n.n(d);var h=n(55056);var u=n.n(h);var p=n(10540);var m=n.n(p);var g=n(41113);var f=n.n(g);var v=n(29500);var _={};_.styleTagTransform=f();_.setAttributes=u();_.insert=c().bind(null,"head");_.domAPI=l();_.insertStyleElement=m();var b=r()(v.A,_);const y=v.A&&v.A.locals?v.A.locals:undefined},76177:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>C});var i=n(44389);var s=n(4073);var o=n(25481);var r=n(40065);var a=n(34881);var l=n(93247);var d=n(44914);var c=n.n(d);const h="availableProviders";function u(e){const{schema:t}=e;const n=t.title;const i=t.description;const s=e.formContext.settings;const o=s.get(h).user;const r={...t.default};if(o){for(const e of Object.keys(r)){if(e in o){r[e]=o[e]}else{r[e]=-1}}}const[a,l]=(0,d.useState)(r);const u=(e,t)=>{const n={...a,[e]:parseInt(t.target.value)};s.set(h,n).catch(console.error);l(n)};return c().createElement("div",null,c().createElement("fieldset",null,c().createElement("legend",null,n),c().createElement("p",{className:"field-description"},i),Object.keys(r).map((e=>c().createElement("div",{key:e,className:"form-group small-field"},c().createElement("div",null,c().createElement("h3",null," ",e),c().createElement("div",{className:"inputFieldWrapper"},c().createElement("input",{className:"form-control",type:"number",value:a[e],onChange:t=>{u(e,t)}}))))))))}const p="@jupyterlab/completer-extension:manager";const m="@jupyterlab/completer-extension:inline-completer";var g;(function(e){e.nextInline="inline-completer:next";e.previousInline="inline-completer:previous";e.acceptInline="inline-completer:accept";e.invokeInline="inline-completer:invoke"})(g||(g={}));const f={id:"@jupyterlab/completer-extension:base-service",description:"Adds context and kernel completion providers.",requires:[o.ICompletionProviderManager],autoStart:true,activate:(e,t)=>{t.registerProvider(new o.ContextCompleterProvider);t.registerProvider(new o.KernelCompleterProvider)}};const v={id:"@jupyterlab/completer-extension:inline-history",description:"Adds inline completion provider suggesting code from execution history.",requires:[o.ICompletionProviderManager],optional:[a.ITranslator],autoStart:true,activate:(e,t,n)=>{t.registerInlineProvider(new o.HistoryInlineCompletionProvider({translator:n!==null&&n!==void 0?n:a.nullTranslator}))}};const _={id:"@jupyterlab/completer-extension:inline-completer-factory",description:"Provides a factory for inline completer.",provides:o.IInlineCompleterFactory,optional:[a.ITranslator],autoStart:true,activate:(e,t)=>{const n=(t||a.nullTranslator).load("jupyterlab");return{factory:t=>{const i=new o.InlineCompleter({...t,trans:n});const r=t=>{const n=e.commands.keyBindings.find((e=>e.command===t));const i=n?l.CommandRegistry.formatKeystroke(n.keys):"";return i?`${i}`:""};const a={[g.previousInline]:r(g.previousInline),[g.nextInline]:r(g.nextInline),[g.acceptInline]:r(g.acceptInline)};e.commands.keyBindingChanged.connect(((t,n)=>{const i=n.binding.command;if(a.hasOwnProperty(i)){const t=a[i];const n=r(i);if(n!==t){a[i]=n;e.commands.notifyCommandChanged(i)}}}));i.toolbar.addItem("previous-inline-completion",new s.CommandToolbarButton({commands:e.commands,icon:s.caretLeftIcon,id:g.previousInline,label:()=>a[g.previousInline],caption:n.__("Previous")}));i.toolbar.addItem("next-inline-completion",new s.CommandToolbarButton({commands:e.commands,icon:s.caretRightIcon,id:g.nextInline,label:()=>a[g.nextInline],caption:n.__("Next")}));i.toolbar.addItem("accept-inline-completion",new s.CommandToolbarButton({commands:e.commands,icon:s.checkIcon,id:g.acceptInline,label:()=>a[g.acceptInline],caption:n.__("Accept")}));i.model.suggestionsChanged.connect((()=>{for(const t of[g.previousInline,g.nextInline,g.acceptInline]){e.commands.notifyCommandChanged(t)}}));return i}}}};const b={id:m,description:"Registers the inline completer factory; adds inline completer commands, shortcuts and settings.",requires:[o.ICompletionProviderManager,o.IInlineCompleterFactory,r.ISettingRegistry],optional:[a.ITranslator],autoStart:true,activate:(e,t,n,s,o)=>{t.setInlineCompleterFactory(n);const r=(o||a.nullTranslator).load("jupyterlab");const l=()=>!!e.shell.currentWidget&&!!t.inline;let d;e.commands.addCommand(g.nextInline,{execute:()=>{var n;(n=t.inline)===null||n===void 0?void 0:n.cycle(e.shell.currentWidget.id,"next")},label:r.__("Next Inline Completion"),isEnabled:l,describedBy:{args:{type:"object",properties:{}}}});e.commands.addCommand(g.previousInline,{execute:()=>{var n;(n=t.inline)===null||n===void 0?void 0:n.cycle(e.shell.currentWidget.id,"previous")},label:r.__("Previous Inline Completion"),isEnabled:l,describedBy:{args:{type:"object",properties:{}}}});e.commands.addCommand(g.acceptInline,{execute:()=>{var n;(n=t.inline)===null||n===void 0?void 0:n.accept(e.shell.currentWidget.id)},label:r.__("Accept Inline Completion"),isEnabled:()=>l()&&t.inline.isActive(e.shell.currentWidget.id),describedBy:{args:{type:"object",properties:{}}}});e.commands.addCommand(g.invokeInline,{execute:()=>{var n;(n=t.inline)===null||n===void 0?void 0:n.invoke(e.shell.currentWidget.id)},label:r.__("Invoke Inline Completer"),isEnabled:l,describedBy:{args:{type:"object",properties:{}}}});const c=e=>{var n;d=e.composite;(n=t.inline)===null||n===void 0?void 0:n.configure(d)};e.restored.then((()=>{var e;const n=(e=t.inlineProviders)!==null&&e!==void 0?e:[];const i=e=>{var t,n;return{enabled:true,autoFillInMiddle:false,timeout:5e3,debouncerDelay:0,...(n=(t=e.schema)===null||t===void 0?void 0:t.default)!==null&&n!==void 0?n:{}}};s.transform(m,{compose:e=>{var t,s;const o=(t=e.data.composite["providers"])!==null&&t!==void 0?t:{};for(const r of n){const e=i(r);o[r.identifier]={...e,...(s=o[r.identifier])!==null&&s!==void 0?s:{}}}e.data["composite"]["providers"]=o;return e},fetch:e=>{var t,s;const o=e.schema.properties;const a={};for(const l of n){a[l.identifier]={title:r.__("%1 provider",l.name),properties:{...(s=(t=l.schema)===null||t===void 0?void 0:t.properties)!==null&&s!==void 0?s:{},timeout:{title:r.__("Timeout"),description:r.__("Timeout for %1 provider (in milliseconds).",l.name),type:"number",minimum:0},debouncerDelay:{title:r.__("Debouncer delay"),minimum:0,description:r.__("Time since the last key press to wait before requesting completions from %1 provider (in milliseconds).",l.name),type:"number"},enabled:{title:r.__("Enabled"),description:r.__("Whether to fetch completions %1 provider.",l.name),type:"boolean"},autoFillInMiddle:{title:r.__("Fill in middle on typing"),description:r.__("Whether to show completions in the middle of the code line from %1 provider on typing.",l.name),type:"boolean"}},default:i(l),type:"object"}}o["providers"]["properties"]=a;return e}});const o=s.load(m);o.then((e=>{c(e);e.changed.connect((e=>{c(e)}))})).catch(console.error)})).catch(console.error);const h=t=>e.commands.keyBindings.find((e=>e.command===t));const u={[g.acceptInline]:h(g.acceptInline),[g.invokeInline]:h(g.invokeInline)};e.commands.keyBindingChanged.connect(((e,t)=>{const n=t.binding.command;if(u.hasOwnProperty(n)){u[n]=h(n)}}));const p=t=>{if(!(t.target instanceof Element)){return}const n=t.target;switch(t.keyCode){case 9:{const s=[u[g.acceptInline],u[g.invokeInline]];for(const o of s){if(o&&o.keys.length===1&&o.keys[0]==="Tab"&&n.closest(o.selector)&&e.commands.isEnabled(o.command)){const s=n.closest("."+i.COMPLETER_ACTIVE_CLASS);if((d===null||d===void 0?void 0:d.suppressIfTabCompleterActive)&&s){return}e.commands.execute(o.command).catch(console.error);t.preventDefault();t.stopPropagation();t.stopImmediatePropagation();return}}break}default:return}};document.addEventListener("keydown",p,true)}};const y={id:p,description:"Provides the completion provider manager.",requires:[r.ISettingRegistry],optional:[s.IFormRendererRegistry],provides:o.ICompletionProviderManager,autoStart:true,activate:(e,t,n)=>{const i="availableProviders";const s=new o.CompletionProviderManager;const r=(e,t)=>{var n;const o=e.get(i);const r=e.composite;s.setTimeout(r.providerTimeout);s.setShowDocumentationPanel(r.showDocumentationPanel);s.setContinuousHinting(r.autoCompletion);s.setSuppressIfInlineCompleterActive(r.suppressIfInlineCompleterActive);const a=(n=o.user)!==null&&n!==void 0?n:o.composite;const l=Object.entries(a!==null&&a!==void 0?a:{}).filter((e=>e[1]>=0&&t.includes(e[0]))).sort((([,e],[,t])=>t-e)).map((e=>e[0]));s.activateProvider(l)};e.restored.then((()=>{const e=[...s.getProviders().entries()];const n=e.map((([e,t])=>e));t.transform(p,{fetch:t=>{const n=t.schema.properties;const s={};e.forEach((([e,t],n)=>{var i;s[e]=(i=t.rank)!==null&&i!==void 0?i:(n+1)*10}));n[i]["default"]=s;return t}});const o=t.load(p);o.then((e=>{r(e,n);e.changed.connect((e=>{r(e,n)}))})).catch(console.error)})).catch(console.error);if(n){const e={fieldRenderer:e=>u(e)};n.addRenderer(`${p}.availableProviders`,e)}return s}};const w=[y,f,v,_,b];const C=w},2129:(e,t,n)=>{"use strict";var i=n(40662);var s=n(17325);var o=n(3579);var r=n(36060)},55178:(e,t,n)=>{"use strict";n.r(t);n.d(t,{CONTEXT_PROVIDER_ID:()=>A,Completer:()=>T,CompleterModel:()=>g,CompletionHandler:()=>u,CompletionProviderManager:()=>ie,CompletionTriggerKind:()=>l,ContextCompleterProvider:()=>P,HistoryInlineCompletionProvider:()=>de,ICompletionProviderManager:()=>h,IInlineCompleterFactory:()=>c,InlineCompleter:()=>ne,InlineCompletionTriggerKind:()=>d,KERNEL_PROVIDER_ID:()=>R,KernelCompleterProvider:()=>N,ProviderReconciliator:()=>D,completerWidgetIcon:()=>ae,inlineCompleterIcon:()=>re});var i=n(44389);var s=n(40959);var o=n(42856);var r=n(2336);var a=n(5592);var l;(function(e){e[e["Invoked"]=1]="Invoked";e[e["TriggerCharacter"]=2]="TriggerCharacter";e[e["TriggerForIncompleteCompletions"]=3]="TriggerForIncompleteCompletions"})(l||(l={}));var d;(function(e){e[e["Invoke"]=0]="Invoke";e[e["Automatic"]=1]="Automatic"})(d||(d={}));const c=new a.Token("@jupyterlab/completer:IInlineCompleterFactory","A factory of inline completer widgets.");const h=new a.Token("@jupyterlab/completer:ICompletionProviderManager","A service for the completion providers management.");class u{constructor(e){this._fetchingInline=0;this._editor=null;this._enabled=false;this._isDisposed=false;this._autoCompletion=false;this._continuousInline=true;this._tabCompleterActive=false;this.completer=e.completer;this.inlineCompleter=e.inlineCompleter;this.completer.selected.connect(this.onCompletionSelected,this);this.completer.visibilityChanged.connect(this.onVisibilityChanged,this);this._reconciliator=e.reconciliator}set reconciliator(e){this._reconciliator=e}get editor(){return this._editor}set editor(e){if(e===this._editor){return}let t=this._editor;if(t&&!t.isDisposed){const e=t.model;t.host.classList.remove(i.COMPLETER_ENABLED_CLASS);t.host.classList.remove(i.COMPLETER_ACTIVE_CLASS);e.selections.changed.disconnect(this.onSelectionsChanged,this);e.sharedModel.changed.disconnect(this._onSharedModelChanged,this)}this.completer.reset();this.completer.editor=e;t=this._editor=e;if(t){const e=t.model;this._enabled=false;e.selections.changed.connect(this.onSelectionsChanged,this);const n=e.sharedModel;n.changed.connect(this._onSharedModelChanged,this);this.onSelectionsChanged();if(this.inlineCompleter){this.inlineCompleter.editor=t}}}get isDisposed(){return this._isDisposed}set autoCompletion(e){this._autoCompletion=e}get autoCompletion(){return this._autoCompletion}dispose(){if(this.isDisposed){return}this._isDisposed=true;r.Signal.clearData(this)}invokeInline(){const e=this._editor;if(e){this._makeInlineRequest(e.getCursorPosition(),d.Invoke).catch((e=>{console.warn("Inline invoke request bailed",e)}))}}invoke(){o.MessageLoop.sendMessage(this,u.Msg.InvokeRequest)}processMessage(e){switch(e.type){case u.Msg.InvokeRequest.type:this.onInvokeRequest(e);break;default:break}}getState(e,t){return{text:e.model.sharedModel.getSource(),line:t.line,column:t.column}}onCompletionSelected(e,t){const n=e.model;const i=this._editor;if(!i||!n){return}const s=n.createPatch(t);if(!s){return}const{start:o,end:r,value:a}=s;const l=i.getOffsetAt(i.getCursorPosition());const d={changes:{from:o,to:r,insert:a}};if(l<=r&&l>=o){d.selection={anchor:o+a.length}}i.editor.dispatch(d)}onInvokeRequest(e){if(!this.completer.model){return}if(this.completer.model.original){return}const t=this._editor;if(t){this._makeRequest(t.getCursorPosition(),l.Invoked).catch((e=>{console.warn("Invoke request bailed",e)}))}}onSelectionsChanged(){var e;const t=this.completer.model;const n=this._editor;if(!n){return}const s=(e=this.inlineCompleter)===null||e===void 0?void 0:e.model;if(s){s.handleSelectionChange(n.getSelection())}const o=n.host;if(!t){this._enabled=false;o.classList.remove(i.COMPLETER_ENABLED_CLASS);return}if(t.subsetMatch){return}const r=n.getCursorPosition();const a=n.getLine(r.line);const{start:l,end:d}=n.getSelection();if(l.column!==d.column||l.line!==d.line){this._enabled=false;t.reset(true);o.classList.remove(i.COMPLETER_ENABLED_CLASS);return}if(!a||d.column===0){o.classList.add(i.COMPLETER_LINE_BEGINNING_CLASS)}else if(a&&a.slice(0,r.column).match(/^\s*$/)){o.classList.add(i.COMPLETER_LINE_BEGINNING_CLASS)}else{o.classList.remove(i.COMPLETER_LINE_BEGINNING_CLASS)}if(!this._enabled){this._enabled=true;o.classList.add(i.COMPLETER_ENABLED_CLASS)}t.handleCursorChange(this.getState(n,n.getCursorPosition()))}async onTextChanged(e,t){var n;if(!this._enabled){return}const i=this.completer.model;const s=this.editor;if(!s){return}if(i&&this._autoCompletion&&this._reconciliator.shouldShowContinuousHint&&await this._reconciliator.shouldShowContinuousHint(this.completer.isVisible,t)){void this._makeRequest(s.getCursorPosition(),l.TriggerCharacter)}const o=(n=this.inlineCompleter)===null||n===void 0?void 0:n.model;if(o){o.handleTextChange(t);if(this._continuousInline){void this._makeInlineRequest(s.getCursorPosition(),d.Automatic)}}if(i){const{start:e,end:t}=s.getSelection();if(e.column!==t.column||e.line!==t.line){return}i.handleTextChange(this.getState(s,s.getCursorPosition()))}}onVisibilityChanged(e){var t;if(e.isDisposed||e.isHidden){this._tabCompleterActive=false;if(this._editor){this._editor.host.classList.remove(i.COMPLETER_ACTIVE_CLASS);this._editor.focus()}return}this._tabCompleterActive=true;(t=this._editor)===null||t===void 0?void 0:t.host.classList.add(i.COMPLETER_ACTIVE_CLASS)}async _onSharedModelChanged(e,t){if(t.sourceChange){await this.onTextChanged(e,t)}}_makeRequest(e,t){const n=this.editor;if(!n){return Promise.reject(new Error("No active editor"))}const i=this._composeRequest(n,e);const s=this.getState(n,e);return this._reconciliator.fetch(i,t).then((e=>{var t;if(!e){return}const n=this._updateModel(s,e.start,e.end);if(!n){return}if(this.completer.suppressIfInlineCompleterActive&&((t=this.inlineCompleter)===null||t===void 0?void 0:t.isActive)){return}if(n.setCompletionItems){n.setCompletionItems(e.items)}})).catch((e=>{}))}async _makeInlineRequest(e,t){const n=this.editor;if(!n){return Promise.reject(new Error("No active editor"))}if(!this.inlineCompleter){return Promise.reject(new Error("No inline completer"))}const i=n.getLine(e.line);if(t===d.Automatic&&(typeof i==="undefined"||i.slice(0,e.column).match(/^\s*$/))){this._fetchingInline+=1;return}let s=false;if(typeof i!=="undefined"&&e.column<i.length){s=true}const o=this._composeRequest(n,e);const r=this.inlineCompleter.model;if(!r){return}r.cursor=e;const a=++this._fetchingInline;const l=this._reconciliator.fetchInline(o,t,s);let c=false;const h=new Set;for(const d of l){d.then((e=>{var t;if(c||!e||!e.items){return}if(a!==this._fetchingInline){return}h.add(d);if(h.size===1){if(((t=this.inlineCompleter)===null||t===void 0?void 0:t.suppressIfTabCompleterActive)&&this._tabCompleterActive){c=true;return}r.setCompletions(e)}else{r.appendCompletions(e)}})).catch((e=>{console.warn(e)})).finally((()=>{h.add(d);const e=l.length-h.size;r.notifyProgress({pendingProviders:e,totalProviders:l.length})}))}}_composeRequest(e,t){const n=e.model.sharedModel.getSource();const i=e.model.mimeType;const o=s.Text.jsIndexToCharIndex(e.getOffsetAt(t),n);return{text:n,offset:o,mimeType:i}}_updateModel(e,t,n){const i=this.completer.model;const o=e.text;if(!i){return null}i.original=e;i.cursor={start:s.Text.charIndexToJsIndex(t,o),end:s.Text.charIndexToJsIndex(n,o)};return i}}(function(e){let t;(function(e){e[e["opened"]=0]="opened";e[e["update"]=1]="update";e[e["closed"]=2]="closed"})(t=e.StraemEvent||(e.StraemEvent={}));let n;(function(e){e.InvokeRequest=new o.Message("invoke-request")})(n=e.Msg||(e.Msg={}))})(u||(u={}));var p=n(34236);function m(e){const t=document.createElement("span");t.textContent=e;return t.innerHTML}class g{constructor(){this.processedItemsCache=null;this._current=null;this._cursor=null;this._isDisposed=false;this._completionItems=[];this._original=null;this._query="";this._subsetMatch=false;this._typeMap={};this._orderedTypes=[];this._stateChanged=new r.Signal(this);this._queryChanged=new r.Signal(this);this._processedToOriginalItem=null;this._resolvingItem=0}get stateChanged(){return this._stateChanged}get queryChanged(){return this._queryChanged}get original(){return this._original}set original(e){const t=this._original===e||this._original&&e&&a.JSONExt.deepEqual(e,this._original);if(t){return}this._reset();this._current=this._original=e;this._stateChanged.emit(undefined)}get current(){return this._current}set current(e){const t=this._current===e||this._current&&e&&a.JSONExt.deepEqual(e,this._current);if(t){return}const n=this._original;if(!n){return}const i=this._cursor;if(!i){return}const s=this._current=e;if(!s){this._stateChanged.emit(undefined);return}const o=n.text.split("\n")[n.line];const r=s.text.split("\n")[s.line];if(!this._subsetMatch&&r.length<o.length){this.reset(true);return}const{start:l,end:d}=i;let c=s.text.substring(l);const h=n.text.substring(d);c=c.substring(0,c.lastIndexOf(h));this._query=c;this.processedItemsCache=null;this._processedToOriginalItem=null;this._queryChanged.emit({newValue:this._query,origin:"editorUpdate"});this._stateChanged.emit(undefined)}get cursor(){return this._cursor}set cursor(e){if(!this.original){return}this._cursor=e}get query(){return this._query}set query(e){this._query=e;this.processedItemsCache=null;this._processedToOriginalItem=null;this._queryChanged.emit({newValue:this._query,origin:"setter"})}get subsetMatch(){return this._subsetMatch}set subsetMatch(e){this._subsetMatch=e}get isDisposed(){return this._isDisposed}dispose(){if(this._isDisposed){return}this._isDisposed=true;r.Signal.clearData(this)}completionItems(){if(!this.processedItemsCache){let e=this._query;if(e){const t=this._markup(e);this.processedItemsCache=t.map((e=>e.processedItem));this._processedToOriginalItem=new WeakMap(t.map((e=>[e.processedItem,e.originalItem])))}else{this.processedItemsCache=this._completionItems.map((e=>this._escapeItemLabel(e)));this._processedToOriginalItem=null}}return this.processedItemsCache}setCompletionItems(e){if(a.JSONExt.deepEqual(e,this._completionItems)){return}this._completionItems=e;this._orderedTypes=f.findOrderedCompletionItemTypes(this._completionItems);this.processedItemsCache=null;this._processedToOriginalItem=null;this._stateChanged.emit(undefined)}typeMap(){return this._typeMap}orderedTypes(){return this._orderedTypes}handleCursorChange(e){if(!this._original){return}const{column:t,line:n}=e;const{current:i,original:s}=this;if(!s){return}if(n!==s.line){this.reset(true);return}if(t<s.column){this.reset(true);return}const{cursor:o}=this;if(!o||!i){return}const r=o.end-o.start;const a=s.text.split("\n")[s.line];const l=i.text.split("\n")[i.line];const d=l.length-a.length;if(t>s.column+r+d){this.reset(true);return}}handleTextChange(e){const t=this._original;if(!t){return}const{text:n,column:i,line:s}=e;const o=n.split("\n")[s][i-1];if(o&&o.match(/\S/)||e.column>=t.column){this.current=e;return}this.reset(false)}createPatch(e){const t=this._original;const n=this._cursor;const i=this._current;if(!t||!n||!i){return undefined}let{start:s,end:o}=n;o=o+(i.text.length-t.text.length);return{start:s,end:o,value:e}}reset(e=false){if(!e&&this._subsetMatch){return}this._reset();this._stateChanged.emit(undefined)}_markup(e){var t;const n=this._completionItems;let i=[];for(const s of n){const n=s.label.indexOf("(");const o=n>-1?s.label.substring(0,n):s.label;const r=p.StringExt.matchSumOfSquares(m(o),e);if(r){let e=p.StringExt.highlight(m(s.label),r.indices,f.mark);const n=Object.assign({},s);n.label=e.join("");n.insertText=(t=s.insertText)!==null&&t!==void 0?t:s.label;i.push({item:n,score:r.score,originalItem:s})}}i.sort(f.scoreCmp);return i.map((e=>({processedItem:e.item,originalItem:e.originalItem})))}resolveItem(e){let t;if(typeof e==="number"){const n=this.completionItems();if(!n||!n[e]){return undefined}t=n[e]}else{t=e}if(!t){return undefined}let n;if(this._processedToOriginalItem){n=this._processedToOriginalItem.get(t)}else{n=t}if(!n){return undefined}return this._resolveItemByValue(n)}_resolveItemByValue(e){const t=++this._resolvingItem;let n;if(e.resolve){let t;if(e.insertText){t=this.createPatch(e.insertText)}n=e.resolve(t)}else{n=Promise.resolve(e)}return n.then((n=>{this._escapeItemLabel(n,true);Object.keys(n).forEach((t=>{e[t]=n[t]}));e.resolve=undefined;if(t!==this._resolvingItem){return Promise.resolve(null)}return n})).catch((t=>{console.error(t);return Promise.resolve(e)}))}_escapeItemLabel(e,t=false){var n;const i=m(e.label);if(i!==e.label){const s=t?e:Object.assign({},e);s.insertText=(n=e.insertText)!==null&&n!==void 0?n:e.label;s.label=i;return s}return e}_reset(){const e=this._query;this._current=null;this._cursor=null;this._completionItems=[];this._original=null;this._query="";this.processedItemsCache=null;this._processedToOriginalItem=null;this._subsetMatch=false;this._typeMap={};this._orderedTypes=[];if(e){this._queryChanged.emit({newValue:this._query,origin:"reset"})}}}var f;(function(e){const t=["function","instance","class","module","keyword"];const n=t.reduce(((e,t)=>{e[t]=null;return e}),{});function i(e){return`<mark>${e}</mark>`}e.mark=i;function s(e,t){var n,i,s;const o=e.score-t.score;if(o!==0){return o}return(s=(n=e.item.insertText)===null||n===void 0?void 0:n.localeCompare((i=t.item.insertText)!==null&&i!==void 0?i:""))!==null&&s!==void 0?s:0}e.scoreCmp=s;function o(e){const n=new Set;e.forEach((e=>{if(e.type&&!t.includes(e.type)&&!n.has(e.type)){n.add(e.type)}}));const i=Array.from(n);i.sort(((e,t)=>e.localeCompare(t)));return t.concat(i)}e.findOrderedCompletionItemTypes=o;function r(e){const i=Object.keys(e).map((t=>e[t])).filter((e=>!!e&&!(e in n))).sort(((e,t)=>e.localeCompare(t)));return t.concat(i)}e.findOrderedTypes=r})(f||(f={}));var v=n(38850);var _=n(95513);var b=n(4073);var y=n(76326);var w=n(27518);const C="jp-Completer-item";const x="jp-mod-active";const S="jp-Completer-list";const j="jp-Completer-docpanel";const k=true;const I=10;class T extends w.Widget{constructor(e){var t,n,i,s;super({node:document.createElement("div")});this._activeIndex=0;this._editor=null;this._model=null;this._selected=new r.Signal(this);this._visibilityChanged=new r.Signal(this);this._indexChanged=new r.Signal(this);this._lastSubsetMatch="";this._geometryLock=false;this._geometryCounter=0;this._docPanelExpanded=false;this._renderCounter=0;this.sanitizer=(t=e.sanitizer)!==null&&t!==void 0?t:new v.Sanitizer;this._defaultRenderer=T.getDefaultRenderer(this.sanitizer);this._renderer=(n=e.renderer)!==null&&n!==void 0?n:this._defaultRenderer;this._docPanel=this._createDocPanelNode();this.model=(i=e.model)!==null&&i!==void 0?i:null;this.editor=(s=e.editor)!==null&&s!==void 0?s:null;this.addClass("jp-Completer");this.addClass("jp-ThemedContainer");this._updateConstraints()}_updateConstraints(){const e=document.createElement("div");e.classList.add(S);e.style.visibility="hidden";e.style.overflowY="scroll";document.body.appendChild(e);const t=window.getComputedStyle(e);this._maxHeight=parseInt(t.maxHeight,10);this._minHeight=parseInt(t.minHeight,10);this._scrollbarWidth=e.offsetWidth-e.clientWidth;document.body.removeChild(e);const n=this._createDocPanelNode();this._docPanelWidth=E.measureSize(n,"inline-block").width}get activeIndex(){return this._activeIndex}get editor(){return this._editor}set editor(e){this._editor=e}get selected(){return this._selected}get visibilityChanged(){return this._visibilityChanged}get indexChanged(){return this._indexChanged}get model(){return this._model}set model(e){if(!e&&!this._model||e===this._model){return}if(this._model){this._model.stateChanged.disconnect(this.onModelStateChanged,this);this._model.queryChanged.disconnect(this.onModelQueryChanged,this)}this._model=e;if(this._model){this._model.stateChanged.connect(this.onModelStateChanged,this);this._model.queryChanged.connect(this.onModelQueryChanged,this)}}get renderer(){return this._renderer}set renderer(e){this._renderer=e}set showDocsPanel(e){this._showDoc=e}get showDocsPanel(){return this._showDoc}dispose(){this._sizeCache=undefined;this._model=null;super.dispose()}handleEvent(e){if(this.isHidden||!this._editor){return}switch(e.type){case"keydown":this._evtKeydown(e);break;case"pointerdown":this._evtPointerdown(e);break;case"scroll":this._evtScroll(e);break;default:break}}reset(){this._activeIndex=0;this._lastSubsetMatch="";if(this._model){this._model.reset(true)}this._docPanel.style.display="none";this._sizeCache=undefined;this.node.scrollTop=0}selectActive(){const e=this.node.querySelector(`.${x}`);if(!e){this.reset();return}this._selected.emit(e.getAttribute("data-value"));this.reset()}onAfterAttach(e){document.addEventListener("keydown",this,k);document.addEventListener("pointerdown",this,k);document.addEventListener("scroll",this,k)}onBeforeDetach(e){document.removeEventListener("keydown",this,k);document.removeEventListener("pointerdown",this,k);document.removeEventListener("scroll",this,k)}onModelStateChanged(){if(this.isAttached){this._activeIndex=0;this._indexChanged.emit(this._activeIndex);this.update()}}onModelQueryChanged(e,t){if(this._sizeCache&&t.origin==="editorUpdate"){const t=e.completionItems();const n=this._sizeCache.items;const i=n[this._findWidestItemIndex(n)];const s=t[this._findWidestItemIndex(t)];const o=this._getPreferredItemWidthHeuristic();if(t.length!==this._sizeCache.items.length||o(i)!==o(s)){this._sizeCache=undefined}}}onUpdateRequest(e){var t;const n=this._model;if(!n){return}if(!n.query){this._populateSubset()}let i=n.completionItems();if(!i.length){if(!this.isHidden){this.reset();this.hide();this._visibilityChanged.emit(undefined)}return}this._updateConstraints();this._geometryLock=true;const s=this._createCompleterNode(n,i);let o=s.querySelectorAll(`.${C}`)[this._activeIndex];o.classList.add(x);const r=(t=this.model)===null||t===void 0?void 0:t.resolveItem(i[this._activeIndex]);if(this._showDoc){this._docPanel.innerText="";s.appendChild(this._docPanel);this._docPanelExpanded=false;this._docPanel.style.display="none";this._updateDocPanel(r,o)}if(this.isHidden){this.show();this._setGeometry();this._visibilityChanged.emit(undefined)}else{this._setGeometry()}this._geometryLock=false}get sizeCache(){if(!this._sizeCache){return}return{width:this._sizeCache.width+this._sizeCache.docPanelWidth,height:Math.max(this._sizeCache.height,this._sizeCache.docPanelHeight)}}_createDocPanelNode(){const e=document.createElement("div");e.className=j;return e}_createCompleterNode(e,t){const n=++this._renderCounter;let i=this.node;i.textContent="";let s=e.orderedTypes();let o=document.createElement("ul");o.className=S;const r=this._renderer.createCompletionItemNode(t[0],s);const a=[r];const l=E.measureSize(r,"inline-grid");const d=Math.max(Math.ceil(this._maxHeight/l.height),5);const c=Math.min(d+1,t.length);const h=performance.now();for(let g=1;g<c;g++){const e=this._renderer.createCompletionItemNode(t[g],s);a.push(e)}for(const g of a){o.appendChild(g)}const u=this._findWidestItemIndex(t);const p=u<a.length?a[u]:this._renderer.createCompletionItemNode(t[u],s);const m=E.measureSize(p.cloneNode(true),"inline-grid");this._sizeCache={height:Math.min(this._maxHeight,l.height*t.length),width:m.width+this._scrollbarWidth,items:t,docPanelWidth:0,docPanelHeight:0};if(c<t.length){const e=(performance.now()-h)/c;const i=Math.max(5,Math.floor(12/e));let r=c;let d=a[a.length-1];const u=()=>{if(r>=t.length){return}const e=l.height*(t.length-r);d.style.marginBottom=`${e}px`;requestAnimationFrame((()=>{if(n!=this._renderCounter){return}d.style.marginBottom="";const e=Math.min(t.length,r+i);for(let n=r;n<e;n++){const e=this._renderer.createCompletionItemNode(t[n],s);o.appendChild(e);d=e}r=e;u()}))};u()}i.appendChild(o);return i}_findWidestItemIndex(e){const t=this._getPreferredItemWidthHeuristic();const n=e.map(t);return n.indexOf(Math.max(...n))}_getPreferredItemWidthHeuristic(){return this._renderer.itemWidthHeuristic?this._renderer.itemWidthHeuristic.bind(this._renderer):this._defaultRenderer.itemWidthHeuristic.bind(this._defaultRenderer)}_cycle(e){var t,n;const i=this.node.querySelectorAll(`.${C}`);const s=this._activeIndex;const o=i.length-1;let r=this.node.querySelector(`.${x}`);r.classList.remove(x);switch(e){case"up":this._activeIndex=s===0?o:s-1;break;case"down":this._activeIndex=s<o?s+1:0;break;case"pageUp":case"pageDown":{const t=this.node.getBoundingClientRect();const n=r.getBoundingClientRect();const i=Math.floor(t.height/n.height);const a=e==="pageUp"?-1:1;this._activeIndex=Math.min(Math.max(0,s+a*i),o);break}}r=i[this._activeIndex];r.classList.add(x);let a=this.node.querySelector(`.${S}`);y.ElementExt.scrollIntoViewIfNeeded(a,r);this._indexChanged.emit(this._activeIndex);const l=(t=this.model)===null||t===void 0?void 0:t.completionItems();const d=l===null||l===void 0?void 0:l[this._activeIndex];if(d){const e=(n=this.model)===null||n===void 0?void 0:n.resolveItem(d);if(this._showDoc){this._updateDocPanel(e,r)}}}_evtKeydown(e){if(this.isHidden||!this._editor){return}if(!this._editor.host.contains(e.target)){this.reset();return}switch(e.keyCode){case 9:{e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();const t=this._model;if(!t){return}const n=t.completionItems();if(n&&n.length===1){this._selected.emit(n[0].insertText||n[0].label);this.reset();return}const i=this._populateSubset();if(t.query&&t.query!==this._lastSubsetMatch){t.subsetMatch=true;this._selected.emit(t.query);t.subsetMatch=false;this._lastSubsetMatch=t.query}if(i){this.update()}this._cycle(e.shiftKey?"up":"down");return}case 27:e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();this.reset();return;case 33:case 34:case 38:case 40:{e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();const t=E.keyCodeMap[e.keyCode];this._cycle(t);return}default:return}}_evtPointerdown(e){if(this.isHidden||!this._editor){return}if(E.nonstandardClick(e)){this.reset();return}let t=e.target;while(t!==document.documentElement){if(t.classList.contains(C)){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();this._selected.emit(t.getAttribute("data-value"));this.reset();return}if(t===this.node){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();return}t=t.parentElement}this.reset()}_evtScroll(e){if(this.isHidden||!this._editor){return}const{node:t}=this;if(t.contains(e.target)){return}requestAnimationFrame((()=>{this._setGeometry()}))}_populateSubset(){const{model:e}=this;if(!e){return false}const t=e.completionItems();const n=E.commonSubset(t.map((e=>e.insertText||e.label)));const{query:i}=e;if(n&&n!==i&&n.indexOf(i)===0){e.query=n;return true}return false}_setGeometry(){const{node:e}=this;const t=this._model;const n=this._editor;if(!n||!t||!t.original||!t.cursor){return}const i=t.cursor.start;const s=n.getPositionAt(i);const o=n.getCoordinateForPosition(s);if(!o){return}const r=window.getComputedStyle(e);const a=parseInt(r.borderLeftWidth,10)||0;const l=parseInt(r.paddingLeft,10)||0;const d=n.host.closest(".jp-MainAreaWidget > .lm-Widget")||n.host;const c=t.completionItems();if(this._sizeCache&&this._sizeCache.items.length!==c.length){this._sizeCache=undefined}b.HoverBox.setGeometry({anchor:o,host:d,maxHeight:this._maxHeight,minHeight:this._minHeight,node:e,size:this.sizeCache,offset:{horizontal:a+l},privilege:"below",style:r,outOfViewDisplay:{top:"stick-inside",bottom:"stick-inside",left:"stick-inside",right:"stick-outside"}});const h=++this._geometryCounter;if(!this._sizeCache){requestAnimationFrame((()=>{if(h!=this._geometryCounter){return}let t=e.getBoundingClientRect();let n=this._docPanel.getBoundingClientRect();this._sizeCache={width:t.width-n.width,height:t.height,items:c,docPanelWidth:n.width,docPanelHeight:n.height}}))}}_updateDocPanel(e,t){var n,i,s;let o=this._docPanel;if(!e){this._toggleDocPanel(false);return}const r=(s=(i=(n=this._renderer).createLoadingDocsIndicator)===null||i===void 0?void 0:i.call(n))!==null&&s!==void 0?s:this._defaultRenderer.createLoadingDocsIndicator();t.appendChild(r);e.then((e=>{var t,n,i;if(!e){return}if(!o){return}if(e.documentation){const s=(i=(n=(t=this._renderer).createDocumentationNode)===null||n===void 0?void 0:n.call(t,e))!==null&&i!==void 0?i:this._defaultRenderer.createDocumentationNode(e);o.textContent="";o.appendChild(s);this._toggleDocPanel(true)}else{this._toggleDocPanel(false)}})).catch((e=>console.error(e))).finally((()=>{t.removeChild(r)}))}_toggleDocPanel(e){let t=this._docPanel;if(e){if(this._docPanelExpanded){return}t.style.display="";this._docPanelExpanded=true}else{if(!this._docPanelExpanded){return}t.style.display="none";this._docPanelExpanded=false}const n=this._sizeCache;if(n){n.docPanelHeight=e?this._maxHeight:0;n.docPanelWidth=e?this._docPanelWidth:0;if(!this._geometryLock){this._setGeometry()}}}}(function(e){class t{constructor(e){this.sanitizer=(e===null||e===void 0?void 0:e.sanitizer)||new v.Sanitizer}createCompletionItemNode(e,t){let n=this._createWrapperNode(e.insertText||e.label);if(e.deprecated){n.classList.add("jp-Completer-deprecated")}return this._constructNode(n,this._createLabelNode(e.label),!!e.type,e.type,t,e.icon)}createDocumentationNode(e){const t=document.createElement("div");t.classList.add("jp-RenderedText");const n=this.sanitizer;const i=e.documentation||"";(0,_.renderText)({host:t,sanitizer:n,source:i}).catch(console.error);return t}itemWidthHeuristic(e){var t;const n=e.label.replace(/<(\/)?mark>/g,"");return n.length+(((t=e.type)===null||t===void 0?void 0:t.length)||0)}createLoadingDocsIndicator(){const e=document.createElement("div");e.classList.add("jp-Completer-loading-bar-container");const t=document.createElement("div");t.classList.add("jp-Completer-loading-bar");e.append(t);return e}_createWrapperNode(e){const t=document.createElement("li");t.className=C;t.setAttribute("data-value",e);return t}_createLabelNode(e){const t=document.createElement("code");t.className="jp-Completer-match";t.innerHTML=e;return t}_constructNode(e,t,n,i,s,o){if(o){const t=o.element({className:"jp-Completer-type jp-Completer-icon"});e.appendChild(t)}else if(n){const t=document.createElement("span");t.textContent=(i[0]||"").toLowerCase();const n=s.indexOf(i)%I+1;t.className="jp-Completer-type jp-Completer-monogram";t.setAttribute(`data-color-index`,n.toString());e.appendChild(t)}else{const t=document.createElement("span");t.className="jp-Completer-monogram";e.appendChild(t)}e.appendChild(t);if(n){e.title=i;const t=document.createElement("code");t.className="jp-Completer-typeExtended";t.textContent=i.toLocaleLowerCase();e.appendChild(t)}else{const t=document.createElement("span");t.className="jp-Completer-typeExtended";e.appendChild(t)}return e}}e.Renderer=t;let n;function i(e){if(!n||e&&n.sanitizer!==e){n=new t({sanitizer:e})}return n}e.getDefaultRenderer=i})(T||(T={}));var E;(function(e){e.keyCodeMap={38:"up",40:"down",33:"pageUp",34:"pageDown"};function t(e){const t=e.length;let n="";if(t<2){return n}const i=e[0].length;for(let s=0;s<i;s++){const i=e[0][s];for(let o=1;o<t;o++){if(e[o][s]!==i){return n}}n+=i}return n}e.commonSubset=t;function n(e){return e.button!==0||e.altKey||e.ctrlKey||e.shiftKey||e.metaKey}e.nonstandardClick=n;function i(e,t){if(e.isConnected){console.warn("Measuring connected elements with `measureSize` has side-effects")}e.style.visibility="hidden";e.style.display=t;document.body.appendChild(e);const n=e.getBoundingClientRect();document.body.removeChild(e);e.removeAttribute("style");return n}e.measureSize=i})(E||(E={}));function M(e){const t=new Set(["text/plain","text/markdown","text/x-ipythongfm","text/x-rst","text/latex","application/json","text/html","text/css"]);return!t.has(e)}class D{constructor(e){var t,n;this._resolveFactory=(e,t)=>e.resolve?n=>e.resolve(t,this._context,n):undefined;this._fetching=0;this._inlineFetching=0;this._providers=e.providers;this._inlineProviders=(t=e.inlineProviders)!==null&&t!==void 0?t:[];this._inlineProvidersSettings=(n=e.inlineProvidersSettings)!==null&&n!==void 0?n:{};this._context=e.context;this._timeout=e.timeout}async applicableProviders(){const e=this._providers.map((e=>e.isApplicable(this._context)));const t=await Promise.all(e);return this._providers.filter(((e,n)=>t[n]))}fetchInline(e,t,n){let i=[];const s=++this._inlineFetching;for(const o of this._inlineProviders){const a=this._inlineProvidersSettings[o.identifier];if(t!==d.Invoke&&n&&!a.autoFillInMiddle){continue}let l=0;if(t===d.Automatic){l=a.debouncerDelay}const c=()=>{const n=o.fetch(e,{...this._context,triggerKind:t}).then((e=>({...e,items:e.items.map((e=>{const t=e;t.stream=new r.Signal(t);t.provider=o;void this._stream(t,o);return t}))})));const i=new Promise((e=>setTimeout((()=>e(null)),l+a.timeout)));return Promise.race([n,i])};const h=l===0?c():new Promise(((e,t)=>setTimeout((()=>{if(s!=this._inlineFetching){return t(null)}else{return e(c())}}),l)));i.push(h.catch((e=>e)))}return i}async _stream(e,t){if(!e.isIncomplete||!t.stream||!e.token){return}const n=e.stream;const i=e.token;e.token=undefined;e.streaming=true;n.emit(u.StraemEvent.opened);for await(const s of t.stream(i)){const t=s.response;const i=t.insertText.substring(e.insertText.length);e.insertText=t.insertText;e.lastStreamed=i;e.error=s.response.error;n.emit(u.StraemEvent.update)}e.isIncomplete=false;e.lastStreamed=undefined;e.streaming=false;n.emit(u.StraemEvent.closed)}async fetch(e,t){const n=++this._fetching;let i=[];const s=await this.applicableProviders();for(const r of s){let s;s=r.fetch(e,this._context,t).then((e=>{if(n!==this._fetching){return Promise.reject(void 0)}const t=e.items.map((e=>({...e,resolve:this._resolveFactory(r,e)})));return{...e,items:t}}));const o=new Promise((e=>setTimeout((()=>e(null)),this._timeout)));s=Promise.race([s,o]);i.push(s.catch((e=>e)))}const o=Promise.all(i);return this._mergeCompletions(o)}async shouldShowContinuousHint(e,t){const n=await this.applicableProviders();if(n.length===0){return false}if(n[0].shouldShowContinuousHint){return n[0].shouldShowContinuousHint(e,t,this._context)}return this._defaultShouldShowContinuousHint(e,t)}_alignPrefixes(e,t,n){if(t!=n){const t=this._context.editor;if(!t){return e}const i=t.getCursorPosition();const s=t.getLine(i.line);if(!s){return e}const o=t.getOffsetAt({line:i.line,column:0});return e.map((e=>{const t=Math.max(e.start-o,0);const i=Math.max(n-o,0);if(t==i){return e}const r=s.substring(t,i);return{...e,items:e.items.map((e=>{let t=e.insertText||e.label;e.insertText=t.startsWith(r)?t.slice(r.length):t;return e}))}}))}return e}async _mergeCompletions(e){let t=(await e).filter((e=>{if(!e||e instanceof Error){return false}if(!e.items.length){return false}return true}));if(t.length==0){return null}else if(t.length==1){return t[0]}const n=Math.min(...t.map((e=>e.end)));const i=t.map((e=>e.start));const s=Math.min(...i);const o=Math.max(...i);t=this._alignPrefixes(t,s,o);const r=new Set;const a=new Array;for(const l of t){l.items.forEach((e=>{let t=(e.insertText||e.label).trim();if(r.has(t)){return}r.add(t);a.push(e)}))}return{start:o,end:n,items:a}}_defaultShouldShowContinuousHint(e,t){var n,i,s;const o=(s=(i=(n=this._context)===null||n===void 0?void 0:n.editor)===null||i===void 0?void 0:i.model.mimeType)!==null&&s!==void 0?s:"";if(!M(o)){return false}return!e&&(t.sourceChange==null||t.sourceChange.some((e=>e.insert!=null&&e.insert.length>0)))}}const A="CompletionProvider:context";class P{constructor(){this.identifier=A;this.rank=500;this.renderer=null}async isApplicable(e){return true}fetch(e,t){const n=t.editor;if(!n){return Promise.reject("No editor")}return new Promise((e=>{e(L.contextHint(n))}))}}var L;(function(e){function t(e){const t=e.getTokenAtCursor();const i=n(t,e);const s=i.filter((e=>e.type)).map((e=>e.value));const o=new Set(s);const r=new Array;o.forEach((e=>r.push({label:e})));return{start:t.offset,end:t.offset+t.value.length,items:r}}e.contextHint=t;function n(e,t){const n=t.getTokens();return n.filter((t=>t.value.indexOf(e.value)===0&&t.value!==e.value))}})(L||(L={}));const R="CompletionProvider:kernel";class N{constructor(){this.identifier=R;this.rank=550;this.renderer=null}async isApplicable(e){var t;const n=(t=e.session)===null||t===void 0?void 0:t.kernel;if(!n){return false}return true}async fetch(e,t){var n;const i=(n=t.session)===null||n===void 0?void 0:n.kernel;if(!i){throw new Error("No kernel for completion request.")}const s={code:e.text,cursor_pos:e.offset};const o=await i.requestComplete(s);const r=o.content;if(r.status!=="ok"){throw new Error("Completion fetch failed to return successfully.")}const a=new Array;const l=r.metadata._jupyter_types_experimental;r.matches.forEach(((e,t)=>{if(l&&l[t]){a.push({label:e,type:l[t].type,insertText:l[t].text})}else{a.push({label:e})}}));return{start:r.cursor_start,end:r.cursor_end,items:a}}async resolve(e,t,n){const{editor:i,session:o}=t;if(o&&i){let t=i.model.sharedModel.getSource();const r=i.getCursorPosition();let a=s.Text.jsIndexToCharIndex(i.getOffsetAt(r),t);const l=o.kernel;if(!t||!l){return Promise.resolve(e)}if(n){const{start:e,value:i}=n;t=t.substring(0,e)+i;a=a+i.length}const d={code:t,cursor_pos:a,detail_level:0};const c=await l.requestInspect(d);const h=c.content;if(h.status!=="ok"||!h.found){return e}e.documentation=h.data["text/plain"];return e}return e}shouldShowContinuousHint(e,t,n){var i,s;const o=(s=(i=n===null||n===void 0?void 0:n.editor)===null||i===void 0?void 0:i.model.mimeType)!==null&&s!==void 0?s:"";if(!M(o)){return false}const r=t.sourceChange;if(r==null){return true}if(r.some((e=>e.delete!=null))){return false}return r.some((t=>t.insert!=null&&(t.insert==="."||!e&&t.insert.trim().length>0)))}}var B=n(22819);var O=n(71674);const F="jp-GhostText-lineSpacer";const z="jp-GhostText-letterSpacer";const W="jp-GhostText";const H="jp-GhostText-streamedToken";const V="jp-GhostText-streamingIndicator";const U="jp-GhostText-errorIndicator";const q="jp-GhostText-hiddenLines";class ${constructor(e){this.options=e}placeGhost(e,t){const n=[X.addMark.of(t)];if(!e.state.field(X.markField,false)){n.push(O.StateEffect.appendConfig.of([X.markField]));n.push(O.StateEffect.appendConfig.of([B.EditorView.domEventHandlers({blur:t=>{if(this.options.onBlur(t)===false){return true}const n=[X.removeMark.of(null)];setTimeout((()=>{e.dispatch({effects:n})}),0)}})]))}e.dispatch({effects:n})}clearGhosts(e){const t=[X.removeMark.of(null)];e.dispatch({effects:t})}}$.streamingAnimation="uncover";$.spacerRemovalDelay=700;$.spacerRemovalDuration=300;class K extends B.WidgetType{constructor(e){super();this.options=e;this.isSpacer=false;this._clearErrorTimeout=null}eq(e){return e.content==this.content&&e.options.streaming===this.options.streaming&&e.options.error===this.options.error}get lineBreaks(){return(this.content.match(/\n/g)||"").length}updateDOM(e,t){this._updateDOM(e);return true}get content(){return this.options.content}toDOM(){let e=document.createElement("span");if(this.options.onPointerOver){e.addEventListener("pointerover",this.options.onPointerOver)}if(this.options.onPointerLeave){e.addEventListener("pointerleave",this.options.onPointerLeave)}e.classList.add(W);e.dataset.animation=$.streamingAnimation;e.dataset.providedBy=this.options.providerId;this._updateDOM(e);return e}_removeErrorAnimation(e){const t=e.querySelectorAll(`.${U}`);t.forEach((e=>{e.remove()}))}_mountErrorAnimation(e){const t=document.createElement("span");t.className=U;const n=this.options.error;if(n===null||n===void 0?void 0:n.message){t.title=n===null||n===void 0?void 0:n.message}const i=e.querySelectorAll(`.${V}, .${U}`);i.forEach((e=>{e.remove()}));e.appendChild(t)}_updateDOM(e){var t,n;if(this.options.error){this._mountErrorAnimation(e);this._clearErrorTimeout=setTimeout((()=>{this._removeErrorAnimation(e);this._clearErrorTimeout=null}),5e3);return}if(this._clearErrorTimeout!==null){clearTimeout(this._clearErrorTimeout);this._removeErrorAnimation(e);this._clearErrorTimeout=null}let i=this.content;let s="";let o=this.options.addedPart;if(o){if(o.startsWith("\n")){o=o.substring(1)}i=i.substring(0,i.length-o.length)}if(this.options.maxLines){const e=i.split("\n");i=e.slice(0,this.options.maxLines).join("\n");s=e.slice(this.options.maxLines).join("\n")}const r=Math.min((t=this.options.minLines)!==null&&t!==void 0?t:0,(n=this.options.maxLines)!==null&&n!==void 0?n:Infinity);const a=Math.max(0,r-i.split("\n").length+1);const l=new Array(a).fill("").join("\n");if(this.isSpacer){e.innerText=i+l;return}e.innerText=i;let d=e;if(s.length>0){const t=document.createElement("span");t.className="jp-GhostText-hiddenWrapper";e.appendChild(t);const n=document.createElement("span");n.className="jp-GhostText-expandHidden";n.innerText="⇓";const i=document.createElement("span");t.appendChild(n);i.className=q;i.innerText="\n"+s;t.appendChild(i);d=i}if(o){const e=document.createElement("span");e.className=H;e.innerText=o;d.appendChild(e)}if(this.options.streaming){const e=document.createElement("span");e.className=V;d.appendChild(e)}if(l.length>0){const e=document.createTextNode(l);d.appendChild(e)}}destroy(e){if(this.options.onPointerOver){e.removeEventListener("pointerover",this.options.onPointerOver)}if(this.options.onPointerLeave){e.removeEventListener("pointerleave",this.options.onPointerLeave)}super.destroy(e)}}class J extends K{constructor(){super(...arguments);this.isSpacer=true}}class G extends J{toDOM(){const e=super.toDOM();e.classList.add(F);e.style.animationDelay=$.spacerRemovalDelay+"ms";e.style.animationDuration=$.spacerRemovalDuration+"ms";return e}}class Y extends J{get content(){return this.options.content[0]}toDOM(){const e=super.toDOM();e.classList.add(z);return e}}var X;(function(e){let t;(function(e){e[e["Set"]=0]="Set";e[e["Remove"]=1]="Remove";e[e["FilterAndUpdate"]=2]="FilterAndUpdate"})(t||(t={}));e.addMark=O.StateEffect.define({map:(e,t)=>({...e,from:t.mapPos(e.from),to:t.mapPos(e.from+e.content.length)})});e.removeMark=O.StateEffect.define();function n(n){for(let i of n.effects){if(i.is(e.addMark)){return{action:t.Set,spec:i.value}}else if(i.is(e.removeMark)){return{action:t.Remove}}}if(n.docChanged||n.selection){return{action:t.FilterAndUpdate}}return null}function i(e,t){const n=B.Decoration.widget({widget:new K(e),side:1,ghostSpec:e});return n.range(Math.min(e.from,t.newDoc.length),Math.min(e.from,t.newDoc.length))}function s(e,t,n=1e3){if(e.content.length<2){return[]}const i={elapsed:false};setTimeout((()=>{i.elapsed=true}),n);const s=B.Decoration.widget({widget:new Y(e),side:1,timeoutInfo:i});const o=B.Decoration.widget({widget:new G(e),side:1,timeoutInfo:i});return[s.range(Math.min(e.from,t.newDoc.length),Math.min(e.from,t.newDoc.length)),o.range(Math.min(e.from,t.newDoc.length),Math.min(e.from,t.newDoc.length))]}e.markField=O.StateField.define({create(){return B.Decoration.none},update(e,o){const r=n(o);e=e.update({filter:(e,t,n)=>{if(n.spec.widget instanceof J){return!n.spec.timeoutInfo.elapsed}return true}});if(!r){return e.map(o.changes)}switch(r.action){case t.Set:{const t=r.spec;const n=i(t,o);return e.update({add:[n],filter:(e,t,i)=>i===n.value})}case t.Remove:return e.update({filter:()=>false});case t.FilterAndUpdate:{let t=e.iter();while(t.value&&t.value.spec.widget instanceof J){t.next()}if(!t.value){return e.map(o.changes)}const n=t.value.spec.ghostSpec;const r={...n};let l=false;o.changes.iterChanges(((e,t,n,i,s)=>{if(l){return}if(e===t&&n!==i){for(let e=0;e<s.lines;e++){const t=s.lineAt(e).text;const n=e>0?"\n"+t:t;if(r.content.startsWith(n)){r.content=r.content.slice(n.length);r.from+=n.length}else{l=true;break}}}else if(n===i&&e!==t){l=true}else{l=true}}));const d=l?s(n,o):[i(r,o)];const c=d.map((e=>e.value));e=e.update({add:d,filter:(e,t,n)=>c.includes(n)});if(l){try{e=e.map(o.changes)}catch(a){console.warn(a);return B.Decoration.none}}return e}}},provide:e=>B.EditorView.decorations.from(e)})})(X||(X={}));const Q="jp-InlineCompleter";const Z="jp-mod-inline-completer-active";const ee="jp-InlineCompleter-hover";const te="jp-InlineCompleter-progressBar";class ne extends w.Widget{constructor(e){var t,n;super({node:document.createElement("div")});this._clearHoverTimeout=null;this._current=0;this._editor=null;this._lastItem=null;this._model=null;this._providerWidget=new w.Widget;this._showShortcuts=ne.defaultSettings.showShortcuts;this._showWidget=ne.defaultSettings.showWidget;this._suggestionsCounter=new w.Widget;this._toolbar=new b.Toolbar;this.model=(t=e.model)!==null&&t!==void 0?t:null;this.editor=(n=e.editor)!==null&&n!==void 0?n:null;this.addClass(Q);this.addClass("jp-ThemedContainer");this._ghostManager=new $({onBlur:this._onEditorBlur.bind(this)});this._trans=e.trans;const i=this.layout=new w.PanelLayout;i.addWidget(this._suggestionsCounter);i.addWidget(this.toolbar);i.addWidget(this._providerWidget);this._progressBar=document.createElement("div");this._progressBar.className=te;this.node.appendChild(this._progressBar);this._updateShortcutsVisibility();this._updateDisplay();this.node.tabIndex=0}get toolbar(){return this._toolbar}get editor(){return this._editor}set editor(e){var t;(t=this.model)===null||t===void 0?void 0:t.reset();this._editor=e}get model(){return this._model}set model(e){if(!e&&!this._model||e===this._model){return}if(this._model){this._model.suggestionsChanged.disconnect(this._onModelSuggestionsChanged,this);this._model.filterTextChanged.disconnect(this._onModelFilterTextChanged,this);this._model.provisionProgress.disconnect(this._onProvisionProgress,this)}this._model=e;if(this._model){this._model.suggestionsChanged.connect(this._onModelSuggestionsChanged,this);this._model.filterTextChanged.connect(this._onModelFilterTextChanged,this);this._model.provisionProgress.connect(this._onProvisionProgress,this)}}cycle(e){var t,n;const i=(n=(t=this.model)===null||t===void 0?void 0:t.completions)===null||n===void 0?void 0:n.items;if(!i){return}if(e==="next"){const e=this._current+1;this._current=e===i.length?0:e}else{const e=this._current-1;this._current=e===-1?i.length-1:e}this._updateStreamTracking();this._render()}accept(){const e=this.model;const t=this.current;const n=this._editor;if(!n||!e||!t){return}const i=e.cursor;const s=t.insertText;const o=n.getOffsetAt(n.getCursorPosition());const r=n.getOffsetAt(i);const a=r;const l=o;const d={changes:{from:a,to:l,insert:s}};if(o<=l&&o>=a){d.selection={anchor:a+s.length}}n.editor.dispatch(d);e.reset();this.update()}get current(){var e;const t=(e=this.model)===null||e===void 0?void 0:e.completions;if(!t){return null}return t.items[this._current]}_updateStreamTracking(){if(this._lastItem){this._lastItem.stream.disconnect(this._onStream,this)}const e=this.current;if(e){e.stream.connect(this._onStream,this)}this._lastItem=e}_onStream(e,t){var n;const i=(n=this.model)===null||n===void 0?void 0:n.completions;if(!i||!i.items||i.items.length===0){return}if(this.isHidden){return}const s=i.items[this._current];this._setText(s)}configure(e){this._showWidget=e.showWidget;this._updateDisplay();if(e.showShortcuts!==this._showShortcuts){this._showShortcuts=e.showShortcuts;this._updateShortcutsVisibility()}$.streamingAnimation=e.streamingAnimation;$.spacerRemovalDelay=Math.max(0,e.editorResizeDelay-300);$.spacerRemovalDuration=Math.max(0,Math.min(300,e.editorResizeDelay-300));this._minLines=e.minLines;this._maxLines=e.maxLines;this._reserveSpaceForLongest=e.reserveSpaceForLongest;this._suppressIfTabCompleterActive=e.suppressIfTabCompleterActive}get suppressIfTabCompleterActive(){return this._suppressIfTabCompleterActive}get isActive(){var e;return!!((e=this.editor)===null||e===void 0?void 0:e.host.classList.contains(Z))}handleEvent(e){if(this.isHidden||!this._editor){return}switch(e.type){case"pointerdown":this._evtPointerdown(e);break;case"scroll":this._evtScroll(e);break;default:break}}onUpdateRequest(e){super.onUpdateRequest(e);const t=this._model;if(!t){return}let n=t.completions;if(!n||!n.items||n.items.length===0){if(!this.isHidden){this.hide()}return}if(this.isHidden){this.show();this._setGeometry()}}onAfterAttach(e){document.addEventListener("scroll",this,true);document.addEventListener("pointerdown",this,true)}onBeforeDetach(e){document.removeEventListener("scroll",this,true);document.removeEventListener("pointerdown",this,true)}_evtPointerdown(e){var t;if(this.isHidden||!this._editor){return}const n=e.target;if(this.node.contains(n)){return true}this.hide();(t=this.model)===null||t===void 0?void 0:t.reset()}_evtScroll(e){if(this.isHidden||!this._editor){return}const{node:t}=this;if(t.contains(e.target)){return}requestAnimationFrame((()=>{this._setGeometry()}))}_onEditorBlur(e){var t;if(this.node.contains(e.relatedTarget)){return false}(t=this._editor)===null||t===void 0?void 0:t.host.classList.remove(Z);this.hide()}_onModelSuggestionsChanged(e,t){var n;if(!this.isAttached){this.update();return}if(t.event==="set"){this._current=(n=t.indexMap.get(this._current))!==null&&n!==void 0?n:0}else if(t.event==="clear"){const e=this.editor;if(e){this._ghostManager.clearGhosts(e.editor);e.host.classList.remove(Z)}}this._updateStreamTracking();this.update();this._render()}_onModelFilterTextChanged(e,t){var n,i;const s=(n=this.model)===null||n===void 0?void 0:n.completions;if(!s||!s.items||s.items.length===0){return}this._current=(i=t.get(this._current))!==null&&i!==void 0?i:0;this._updateStreamTracking();setTimeout((()=>{this._render();this._setGeometry()}),0)}_onProvisionProgress(e,t){requestAnimationFrame((()=>{if(t.pendingProviders===0){this._progressBar.style.display="none"}else{this._progressBar.style.display="";this._progressBar.style.width=100*t.pendingProviders/t.totalProviders+"%"}}))}_render(){var e,t;const n=(e=this.model)===null||e===void 0?void 0:e.completions;if(!n||!n.items||n.items.length===0){return}const i=n.items[this._current];this._setText(i);if(this._showWidget==="never"){return}this._suggestionsCounter.node.innerText=this._trans.__("%1/%2",this._current+1,n.items.length);this._providerWidget.node.title=this._trans.__("Provider: %1",i.provider.name);const s=(t=i.provider.icon)!==null&&t!==void 0?t:b.kernelIcon;s.render(this._providerWidget.node)}_setText(e){var t,n,i;const s=e.insertText;const o=this._editor;const r=this._model;if(!r||!o){return}const a=o.editor;let l;if(this._reserveSpaceForLongest){const e=(i=(n=(t=this.model)===null||t===void 0?void 0:t.completions)===null||n===void 0?void 0:n.items)!==null&&i!==void 0?i:[];const s=Math.max(...e.map((e=>e.insertText.split("\n").length)));l=Math.max(this._minLines,s)}else{l=this._minLines}this._ghostManager.placeGhost(a,{from:o.getOffsetAt(r.cursor),content:s,providerId:e.provider.identifier,addedPart:e.lastStreamed,streaming:e.streaming,minLines:l,maxLines:this._maxLines,onPointerOver:this._onPointerOverGhost.bind(this),onPointerLeave:this._onPointerLeaveGhost.bind(this),error:e.error});o.host.classList.add(Z)}_onPointerOverGhost(){if(this._clearHoverTimeout!==null){window.clearTimeout(this._clearHoverTimeout);this._clearHoverTimeout=null}this.node.classList.add(ee)}_onPointerLeaveGhost(){this._clearHoverTimeout=window.setTimeout((()=>this.node.classList.remove(ee)),500)}_setGeometry(){const{node:e}=this;const t=this._model;const n=this._editor;if(!n||!t||!t.cursor){return}const i=n.host.closest(".jp-MainAreaWidget > .lm-Widget")||n.host;let s;try{const e=n.getCoordinateForPosition(t.cursor);if(!e){throw Error("No coordinates for cursor position")}s=e}catch(o){this.hide();return}b.HoverBox.setGeometry({anchor:s,host:i,maxHeight:40,minHeight:20,node:e,privilege:"forceAbove",outOfViewDisplay:{top:"stick-outside",bottom:"stick-inside",left:"stick-inside",right:"stick-outside"}})}_updateShortcutsVisibility(){this.node.dataset.showShortcuts=this._showShortcuts+""}_updateDisplay(){this.node.dataset.display=this._showWidget}}(function(e){e.defaultSettings={showWidget:"onHover",showShortcuts:true,streamingAnimation:"uncover",providers:{},minLines:2,maxLines:4,editorResizeDelay:1e3,reserveSpaceForLongest:false,suppressIfTabCompleterActive:true};class t{constructor(){this.suggestionsChanged=new r.Signal(this);this.filterTextChanged=new r.Signal(this);this.provisionProgress=new r.Signal(this);this._isDisposed=false;this._completions=null}setCompletions(e){var t,n;const i=new Map((n=(t=this._completions)===null||t===void 0?void 0:t.items)===null||n===void 0?void 0:n.map(((e,t)=>[e.insertText,t])));this._completions=e;const s=new Map(e.items.map(((e,t)=>[i.get(e.insertText),t])));this.suggestionsChanged.emit({event:"set",indexMap:s})}appendCompletions(e){if(!this._completions||!this._completions.items){console.warn("No completions to append to");return}this._completions.items.push(...e.items);this.suggestionsChanged.emit({event:"append"})}notifyProgress(e){this.provisionProgress.emit(e)}get cursor(){return this._cursor}set cursor(e){this._cursor=e}get completions(){return this._completions}reset(){this._completions=null;this.suggestionsChanged.emit({event:"clear"})}get isDisposed(){return this._isDisposed}handleTextChange(e){var t;const n=this._completions;if(!n||!n.items||n.items.length===0){return}const i=new Map(n.items.map(((e,t)=>[e,t])));for(let o of(t=e.sourceChange)!==null&&t!==void 0?t:[]){const e=o.insert;if(e){const t=n.items.filter((t=>{var n;const i=(n=t.filterText)!==null&&n!==void 0?n:t.insertText;if(!i.startsWith(e)){return false}t.filterText=i.substring(e.length);t.insertText=t.insertText.substring(e.length);return true}));if(t.length===0){this._completions=null}n.items=t}else{if(!o.retain){this._completions=null}}}const s=new Map(n.items.map(((e,t)=>[i.get(e),t])));this.filterTextChanged.emit(s)}handleSelectionChange(e){const t=this.cursor;if(!t){return}const{start:n,end:i}=e;if(n.column!==i.column||n.line!==i.line){this.reset()}if(n.line!==t.line||n.column<t.column){this.reset()}}dispose(){if(this._isDisposed){return}this._isDisposed=true;r.Signal.clearData(this)}}e.Model=t})(ne||(ne={}));class ie{constructor(){this._activeProviders=new Set([R,A]);this._inlineCompleterSettings=ne.defaultSettings;this._providers=new Map;this._inlineProviders=new Map;this._panelHandlers=new Map;this._mostRecentContext=new Map;this._activeProvidersChanged=new r.Signal(this);this._selected=new r.Signal(this);this._inlineCompleterFactory=null}get activeProvidersChanged(){return this._activeProvidersChanged}get selected(){return this._selected}setTimeout(e){this._timeout=e}setShowDocumentationPanel(e){this._panelHandlers.forEach((t=>t.completer.showDocsPanel=e));this._showDoc=e}setSuppressIfInlineCompleterActive(e){this._panelHandlers.forEach((t=>t.completer.suppressIfInlineCompleterActive=e));this._suppressIfInlineCompleterActive=e}setContinuousHinting(e){this._panelHandlers.forEach((t=>t.autoCompletion=e));this._autoCompletion=e}registerProvider(e){const t=e.identifier;if(this._providers.has(t)){console.warn(`Completion provider with identifier ${t} is already registered`)}else{this._providers.set(t,e);this._panelHandlers.forEach(((e,t)=>{void this.updateCompleter(this._mostRecentContext.get(t))}))}}registerInlineProvider(e){const t=e.identifier;if(this._inlineProviders.has(t)){console.warn(`Completion provider with identifier ${t} is already registered`)}else{this._inlineProviders.set(t,e);this._panelHandlers.forEach(((e,t)=>{void this.updateCompleter(this._mostRecentContext.get(t))}))}}getProviders(){return this._providers}activateProvider(e){this._activeProviders=new Set([]);e.forEach((e=>{if(this._providers.has(e)){this._activeProviders.add(e)}}));if(this._activeProviders.size===0){this._activeProviders.add(R);this._activeProviders.add(A)}this._activeProvidersChanged.emit()}async updateCompleter(e){var t,n;const{widget:i,editor:s,sanitizer:o}=e;const r=i.id;const a=this._panelHandlers.get(r);const l=[...this._activeProviders][0];const d=this._providers.get(l);let c=(t=d===null||d===void 0?void 0:d.renderer)!==null&&t!==void 0?t:T.getDefaultRenderer(o);const h=d===null||d===void 0?void 0:d.modelFactory;let u;if(h){u=await h.call(d,e)}else{u=new g}this._mostRecentContext.set(i.id,e);const p={model:u,editor:s,renderer:c,sanitizer:o,showDoc:this._showDoc};if(!a){const t=await this._generateHandler(e,p);this._panelHandlers.set(i.id,t);t.completer.selected.connect(((e,t)=>this._selected.emit({insertText:t})));i.disposed.connect((e=>{this.disposeHandler(e.id,t);this._mostRecentContext.delete(r)}))}else{const t=a.completer;(n=t.model)===null||n===void 0?void 0:n.dispose();t.model=p.model;t.renderer=p.renderer;t.showDocsPanel=p.showDoc;t.suppressIfInlineCompleterActive=this._suppressIfInlineCompleterActive;a.autoCompletion=this._autoCompletion;if(s){a.editor=s;a.reconciliator=await this.generateReconciliator(e)}}}invoke(e){const t=this._panelHandlers.get(e);if(t){t.invoke()}}select(e){const t=this._panelHandlers.get(e);if(t){t.completer.selectActive()}}setInlineCompleterFactory(e){this._inlineCompleterFactory=e;this._panelHandlers.forEach(((e,t)=>{void this.updateCompleter(this._mostRecentContext.get(t))}));if(this.inline){return}this.inline={invoke:e=>{const t=this._panelHandlers.get(e);if(t&&t.inlineCompleter){t.invokeInline()}},isActive:e=>{const t=this._panelHandlers.get(e);if(t&&t.inlineCompleter){return t.inlineCompleter.isActive}return false},cycle:(e,t)=>{const n=this._panelHandlers.get(e);if(n&&n.inlineCompleter){n.inlineCompleter.cycle(t)}},accept:e=>{const t=this._panelHandlers.get(e);if(t&&t.inlineCompleter){t.inlineCompleter.accept()}},configure:e=>{this._inlineCompleterSettings=e;for(const[t,n]of this._inlineProviders.entries()){if(n.configure){n.configure(e.providers[t])}}this._panelHandlers.forEach(((t,n)=>{if(t.inlineCompleter){t.inlineCompleter.configure(e)}void this.updateCompleter(this._mostRecentContext.get(n))}))}}}get inlineProviders(){return[...this._inlineProviders.values()]}async generateReconciliator(e){const t=[];for(const[s,o]of Object.entries(this._inlineCompleterSettings.providers)){if(o.enabled===true){t.push(s)}}const n=[...this._inlineProviders.values()].filter((e=>t.includes(e.identifier)));const i=[];for(const s of this._activeProviders){const e=this._providers.get(s);if(e){i.push(e)}}return new D({context:e,providers:i,inlineProviders:n,inlineProvidersSettings:this._inlineCompleterSettings.providers,timeout:this._timeout})}disposeHandler(e,t){var n,i,s,o;(n=t.completer.model)===null||n===void 0?void 0:n.dispose();t.completer.dispose();(s=(i=t.inlineCompleter)===null||i===void 0?void 0:i.model)===null||s===void 0?void 0:s.dispose();(o=t.inlineCompleter)===null||o===void 0?void 0:o.dispose();t.dispose();this._panelHandlers.delete(e)}async _generateHandler(e,t){const n=new T(t);const i=this._inlineCompleterFactory?this._inlineCompleterFactory.factory({...t,model:new ne.Model}):undefined;n.hide();w.Widget.attach(n,document.body);if(i){w.Widget.attach(i,document.body);i.hide();i.configure(this._inlineCompleterSettings)}const s=await this.generateReconciliator(e);const o=new u({completer:n,inlineCompleter:i,reconciliator:s});o.editor=e.editor;return o}}const se='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path class="jp-icon4" fill="#bbbbbb" d="M17 15H3v2h14v-2Zm0-8h-6v2h6V7ZM3 13h18v-2H3v2Zm0 8h18v-2H3v2Z"/>\n <path class="jp-icon1" fill="#616161" d="M3 3v2h18V3H3ZM3 7v2h8V7H3Z"/>\n</svg>\n';const oe='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n<g fill="#616161" class="jp-icon2 jp-icon-selectable">\n <path d="M6 8h16v14.3H6z" style="fill:#eee;stroke:#444;stroke-linejoin:round"/>\n <path d="M3 3v2h10V3H3Z" transform="matrix(.8 0 0 1 .5 0)"/>\n</g>\n<g class="jp-icon3 jp-icon-selectable">\n <path fill="#616161" d="M18 14.1H8v2h11v-2ZM8 12.1H20V10.1H8v2Zm0 8H20v-2H8v3Z"/>\n</g>\n</svg>\n';const re=new b.LabIcon({name:"completer:inline",svgstr:se});const ae=new b.LabIcon({name:"completer:widget",svgstr:oe});var le=n(34881);class de{constructor(e){this.options=e;this.identifier="@jupyterlab/inline-completer:history";this._maxSuggestions=100;const t=e.translator||le.nullTranslator;this._trans=t.load("jupyterlab")}get name(){return this._trans.__("History")}get icon(){return b.historyIcon}get schema(){return{properties:{maxSuggestions:{title:this._trans.__("Maximum number of suggestions"),description:this._trans.__("The maximum number of suggestions to retrieve from history."),type:"number"}},default:{enabled:false,maxSuggestions:100}}}configure(e){var t;this._maxSuggestions=(t=e.maxSuggestions)!==null&&t!==void 0?t:100}async fetch(e,t,n){var i;const s=(i=t.session)===null||i===void 0?void 0:i.kernel;if(!s){throw new Error("No kernel for completion request.")}const o=e.text.slice(0,e.offset);const r=o.split("\n").slice(-1)[0];const a=e.text.slice(e.offset).split("\n")[0];let l;const d=[];if(r===""){l={output:false,raw:true,hist_access_type:"tail",n:this._maxSuggestions};const e=await s.requestHistory(l);if(e.content.status==="ok"){let t=e.content.history;const n=new Map;for(const e of t.reverse()){const t=e[2];n.set(t,(n.get(t)||0)+1)}const i=Array.from(n.entries());const s=i.sort(((e,t)=>{if(e[1]>t[1]){return-1}else if(e[1]<t[1]){return 1}else{return 0}}));for(const e of s){d.push({insertText:e[0]})}}}else{l={output:false,raw:true,hist_access_type:"search",pattern:r+"*"+(a?a+"*":""),unique:true,n:this._maxSuggestions};const e=await s.requestHistory(l);if(e.content.status==="ok"){for(const t of e.content.history){const e=t[2].split("\n");for(let t=0;t<e.length;t++){const n=e[t];if(n.startsWith(r)){let i=n.slice(r.length);if(t+1<e.length){i+="\n"+e.slice(t+1).join("\n")}if(a){i=i.slice(0,i.indexOf(a))}d.push({insertText:i})}}}}}return{items:d}}}},36060:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(23359);var a=n(5893);var l=n(85072);var d=n.n(l);var c=n(97825);var h=n.n(c);var u=n(77659);var p=n.n(u);var m=n(55056);var g=n.n(m);var f=n(10540);var v=n.n(f);var _=n(41113);var b=n.n(_);var y=n(57331);var w={};w.styleTagTransform=b();w.setAttributes=g();w.insert=p().bind(null,"head");w.domAPI=h();w.insertStyleElement=v();var C=d()(y.A,w);const x=y.A&&y.A.locals?y.A.locals:undefined},70802:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>A});var i=n(88617);var s=n(38850);var o=n(44389);var r=n(25481);var a=n(59733);var l=n(44577);var d=n(46417);var c=n(89433);var h=n(95513);var u=n(40065);var p=n(34881);var m=n(4073);var g=n(34236);var f=n(5592);var v=n(90044);var _=n(27518);var b=n(94466);const y={id:"@jupyterlab/console-extension:foreign",description:"Add foreign handler of IOPub messages to the console.",requires:[a.IConsoleTracker,u.ISettingRegistry,p.ITranslator],optional:[s.ICommandPalette],activate:C,autoStart:true};const w=y;function C(e,t,n,i,s){var o;const r=i.load("jupyterlab");const{shell:l}=e;t.widgetAdded.connect(((e,t)=>{const i=t.console;const s=new a.ForeignHandler({sessionContext:i.sessionContext,parent:i});x.foreignHandlerProperty.set(i,s);void n.get("@jupyterlab/console-extension:tracker","showAllKernelActivity").then((({composite:e})=>{const t=e;s.enabled=t}));i.disposed.connect((()=>{s.dispose()}))}));const{commands:d}=e;const c=r.__("Console");const h="console:toggle-show-all-kernel-activity";function u(e){const n=t.currentWidget;const i=e["activate"]!==false;if(i&&n){l.activateById(n.id)}return n}d.addCommand(h,{label:e=>r.__("Show All Kernel Activity"),execute:e=>{const t=u(e);if(!t){return}const n=x.foreignHandlerProperty.get(t.console);if(n){n.enabled=!n.enabled}},isToggled:()=>{var e;return t.currentWidget!==null&&!!((e=x.foreignHandlerProperty.get(t.currentWidget.console))===null||e===void 0?void 0:e.enabled)},isEnabled:()=>t.currentWidget!==null&&t.currentWidget===l.currentWidget,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:r.__("Whether to activate the widget")}}}}});const p=()=>{d.notifyCommandChanged(h)};t.currentChanged.connect(p);(o=l.currentChanged)===null||o===void 0?void 0:o.connect(p);if(s){s.addItem({command:h,category:c,args:{isPalette:true}})}}var x;(function(e){e.foreignHandlerProperty=new b.AttachedProperty({name:"foreignHandler",create:()=>undefined})})(x||(x={}));const S={id:"@jupyterlab/console-extension:cell-executor",description:"Provides the console cell executor.",autoStart:true,provides:a.IConsoleCellExecutor,activate:()=>Object.freeze({runCell:a.runCell})};var j;(function(e){e.autoClosingBrackets="console:toggle-autoclosing-brackets";e.create="console:create";e.clear="console:clear";e.runUnforced="console:run-unforced";e.runForced="console:run-forced";e.linebreak="console:linebreak";e.interrupt="console:interrupt-kernel";e.restart="console:restart-kernel";e.closeAndShutdown="console:close-and-shutdown";e.open="console:open";e.inject="console:inject";e.changeKernel="console:change-kernel";e.getKernel="console:get-kernel";e.interactionMode="console:interaction-mode";e.redo="console:redo";e.replaceSelection="console:replace-selection";e.shutdown="console:shutdown";e.undo="console:undo";e.invokeCompleter="completer:invoke-console";e.selectCompleter="completer:select-console"})(j||(j={}));const k={id:"@jupyterlab/console-extension:tracker",description:"Provides the console widget tracker.",provides:a.IConsoleTracker,requires:[a.ConsolePanel.IContentFactory,o.IEditorServices,a.IConsoleCellExecutor,h.IRenderMimeRegistry,u.ISettingRegistry],optional:[i.ILayoutRestorer,l.IDefaultFileBrowser,c.IMainMenu,s.ICommandPalette,d.ILauncher,i.ILabStatus,s.ISessionContextDialogs,m.IFormRendererRegistry,p.ITranslator,s.ISessionContextDialogs,s.IToolbarWidgetRegistry],activate:P,autoStart:true};const I={id:"@jupyterlab/console-extension:factory",description:"Provides the console widget content factory.",provides:a.ConsolePanel.IContentFactory,requires:[o.IEditorServices],autoStart:true,activate:(e,t)=>{const n=t.factoryService.newInlineEditor;return new a.ConsolePanel.ContentFactory({editorFactory:n})}};const T={id:"@jupyterlab/console-extension:kernel-status",description:"Adds the console to the kernel status indicator model.",autoStart:true,requires:[a.IConsoleTracker,s.IKernelStatusModel],activate:(e,t,n)=>{const i=e=>{let n=null;if(e&&t.has(e)){return e.sessionContext}return n};n.addSessionProvider(i)}};const E={id:"@jupyterlab/console-extension:cursor-position",description:"Adds the console to the code editor cursor position model.",autoStart:true,requires:[a.IConsoleTracker,o.IPositionModel],activate:(e,t,n)=>{let i=null;const s=async e=>{let s=null;if(e!==i){i===null||i===void 0?void 0:i.console.promptCellCreated.disconnect(n.update);i=null;if(e&&t.has(e)){e.console.promptCellCreated.connect(n.update);const t=e.console.promptCell;s=null;if(t){await t.ready;s=t.editor}i=e}}else if(e){const t=e.console.promptCell;s=null;if(t){await t.ready;s=t.editor}}return s};n.addEditorProvider(s)}};const M={id:"@jupyterlab/console-extension:completer",description:"Adds completion to the console.",autoStart:true,requires:[a.IConsoleTracker],optional:[r.ICompletionProviderManager,p.ITranslator,s.ISanitizer],activate:L};const D=[I,k,w,T,E,M,S];const A=D;async function P(e,t,n,i,o,r,l,d,c,h,u,b,y,w,C,x,S){var k;const I=C!==null&&C!==void 0?C:p.nullTranslator;const T=I.load("jupyterlab");const E=e.serviceManager;const{commands:M,shell:D}=e;const A=T.__("Console");const P=y!==null&&y!==void 0?y:new s.SessionContextDialogs({translator:I});const L="@jupyterlab/console-extension:tracker";const R=["top","bottom","left","right"];let N;if(S){const e="ConsolePanel";N=(0,s.createToolbarFactory)(S,r,e,L,I);if(x){S.addFactory(e,"kernelName",(e=>s.Toolbar.createKernelNameItem(e.sessionContext,x,I)))}S.addFactory(e,"kernelStatus",(e=>{const t=e.sessionContext;const n=s.Toolbar.createKernelStatusItem(t);return n}));const t=new _.Menu({commands:M});t.addClass("jp-CodeConsolePromptMenu");R.forEach((e=>{t.addItem({command:`console:prompt-to-${e}`})}));S.addFactory(e,"promptPosition",(e=>{const n=new m.ToolbarButton({tooltip:T.__("Change Console Prompt Position"),icon:m.dotsIcon,onClick:()=>{const e=n.node.getBoundingClientRect().right;const i=n.node.getBoundingClientRect().bottom;t.open(e,i,{horizontalAlignment:"right"})}});return n}))}const B=new s.WidgetTracker({namespace:"console"});if(l){void l.restore(B,{command:j.create,args:e=>{const{path:t,name:n,kernelPreference:i}=e.console.sessionContext;return{path:t,name:n,kernelPreference:{...i}}},name:e=>{var t;return(t=e.console.sessionContext.path)!==null&&t!==void 0?t:f.UUID.uuid4()},when:E.ready})}if(u){void E.ready.then((()=>{let e=null;const t=()=>{if(e){e.dispose();e=null}const t=E.kernelspecs.specs;if(!t){return}e=new v.DisposableSet;for(const n in t.kernelspecs){const i=n===t.default?0:Infinity;const s=t.kernelspecs[n];const o=s.resources["logo-svg"]||s.resources["logo-64x64"];e.add(u.add({command:j.create,args:{isLauncher:true,kernelPreference:{name:n}},category:T.__("Console"),rank:i,kernelIconUrl:o,metadata:{kernel:f.JSONExt.deepCopy(s.metadata||{})}}))}};t();E.kernelspecs.specsChanged.connect(t)}))}async function O(e){var l,d;await E.ready;const c=new a.ConsolePanel({manager:E,contentFactory:t,mimeTypeService:n.mimeTypeService,rendermime:o,sessionDialogs:P,executor:i,translator:I,setBusy:(l=b&&(()=>b.setBusy()))!==null&&l!==void 0?l:undefined,...e});if(N){(0,s.setToolbar)(c,N)}const h=(await r.get("@jupyterlab/console-extension:tracker","interactionMode")).composite;c.console.node.dataset.jpInteractionMode=h;await B.add(c);c.sessionContext.propertyChanged.connect((()=>{void B.save(c)}));if(e.subshell){c.sessionContext.kernelChanged.connect((async()=>{if(!c.sessionContext.isDisposed){c.sessionContext.ready.then((async()=>{if(c.sessionContext.session===null){console.error("Cannot create subshell without session")}else if(c.sessionContext.session.kernel===null){console.error("Cannot create subshell without kernel")}else{const{kernel:e}=c.sessionContext.session;await e.info;const t=await e.requestCreateSubshell({}).done;e.subshellId=t.content.subshell_id}})).catch((e=>{console.error("Failed to initialize SessionContext or create new subshell.",e)}))}}))}D.add(c,"main",{ref:e.ref,mode:e.insertMode,activate:e.activate!==false,type:(d=e.type)!==null&&d!==void 0?d:"Console"});return c}let F;let z;let W;let H;let V={};let U;let q;async function $(e){F=(await r.get(L,"clearCellsOnExecute")).composite;z=(await r.get(L,"clearCodeContentOnExecute")).composite;W=(await r.get(L,"hideCodeInput")).composite;H=(await r.get(L,"interactionMode")).composite;V=(await r.get(L,"promptCellConfig")).composite;U=(await r.get(L,"promptCellPosition")).composite;q=(await r.get(L,"showBanner")).composite;const t=e=>{var t,n;e.console.node.dataset.jpInteractionMode=H;e.console.editorConfig=V;(n=(t=e.console.promptCell)===null||t===void 0?void 0:t.editor)===null||n===void 0?void 0:n.setOptions(V);e.console.setConfig({clearCellsOnExecute:F,clearCodeContentOnExecute:z,hideCodeInput:W,promptCellPosition:U,showBanner:q})};if(e){t(e)}else{B.forEach(t)}}r.pluginChanged.connect(((e,t)=>{if(t===L){void $()}}));await $();if(w){const e=w.getRenderer("@jupyterlab/codemirror-extension:plugin.defaultConfig");if(e){w.addRenderer("@jupyterlab/console-extension:tracker.promptCellConfig",e)}}B.widgetAdded.connect(((e,t)=>{void $(t)}));M.addCommand(j.autoClosingBrackets,{execute:async e=>{var t;V.autoClosingBrackets=!!((t=e["force"])!==null&&t!==void 0?t:!V.autoClosingBrackets);await r.set(L,"promptCellConfig",V)},label:T.__("Auto Close Brackets for Code Console Prompt"),isToggled:()=>V.autoClosingBrackets,describedBy:{args:{type:"object",properties:{force:{type:"boolean",description:T.__("Whether to force the toggle state")}}}}});function K(){return B.currentWidget!==null&&B.currentWidget===D.currentWidget}M.addCommand(j.open,{label:T.__("Open a console for the provided `path`."),describedBy:{args:{type:"object",properties:{path:{type:"string",description:T.__("The path of the session to open")},activate:{type:"boolean",description:T.__("Whether to activate the console widget")}},required:["path"]}},execute:e=>{const t=e["path"];const n=B.find((e=>{var n;return((n=e.console.sessionContext.session)===null||n===void 0?void 0:n.path)===t}));if(n){if(e.activate!==false){D.activateById(n.id)}return n}else{return E.ready.then((()=>{const n=(0,g.find)(E.sessions.running(),(e=>e.path===t));if(n){return O(e)}return Promise.reject(`No running kernel session for path: ${t}`)}))}}});M.addCommand(j.create,{label:e=>{var t,n,i,s;if(e["isPalette"]){return T.__("New Console")}else if(e["isLauncher"]&&e["kernelPreference"]){const o=e["kernelPreference"];return(s=(i=(n=(t=E.kernelspecs)===null||t===void 0?void 0:t.specs)===null||n===void 0?void 0:n.kernelspecs[o.name||""])===null||i===void 0?void 0:i.display_name)!==null&&s!==void 0?s:""}return T.__("Console")},icon:e=>e["isPalette"]?undefined:m.consoleIcon,describedBy:{args:{type:"object",properties:{isPalette:{type:"boolean",description:T.__("Whether the command is executed from the palette")},isLauncher:{type:"boolean",description:T.__("Whether the command is executed from the launcher")},kernelPreference:{type:"object",description:T.__("The kernel preference for the console")},basePath:{type:"string",description:T.__("The base path for the console")},cwd:{type:"string",description:T.__("The current working directory")},activate:{type:"boolean",description:T.__("Whether to activate the widget")},ref:{type:"string",description:T.__("The reference widget id for the insert location")},insertMode:{type:"string",description:T.__("The tab insert mode")}}}},execute:e=>{var t;const n=(t=e["basePath"]||e["cwd"]||(d===null||d===void 0?void 0:d.model.path))!==null&&t!==void 0?t:"";return O({basePath:n,...e})}});function J(e){var t;const n=e[s.SemanticCommand.WIDGET]?(t=B.find((t=>t.id===e[s.SemanticCommand.WIDGET])))!==null&&t!==void 0?t:null:B.currentWidget;const i=e["activate"]!==false;if(i&&n){D.activateById(n.id)}return n}const G={top:m.dockTopIcon,bottom:m.dockBottomIcon,right:m.dockRightIcon,left:m.dockLeftIcon};R.forEach((e=>{const t=`console:prompt-to-${e}`;M.addCommand(t,{execute:t=>{const n=J(t);if(!n){return}n.console.setConfig({promptCellPosition:e})},isEnabled:K,label:T.__(`Prompt to ${e}`),icon:t=>t["isPalette"]?undefined:G[e],describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:T.__("Whether to activate the widget")},isPalette:{type:"boolean",description:T.__("Whether the command is executed from palette")}}}}});if(h){h.addItem({command:t,category:A,args:{isPalette:true}})}}));M.addCommand(j.undo,{execute:e=>{var t;const n=J(e);if(!n){return}const i=(t=n.console.promptCell)===null||t===void 0?void 0:t.editor;if(!i){return}i.undo()},isEnabled:e=>{var t,n,i;if(!K()){return false}const s=(i=(n=(t=J(e))===null||t===void 0?void 0:t.console)===null||n===void 0?void 0:n.promptCell)===null||i===void 0?void 0:i.editor;if(!s){return false}return s.model.sharedModel.canUndo()},icon:m.undoIcon.bindprops({stylesheet:"menuItem"}),label:T.__("Undo"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:T.__("Whether to activate the widget")}}}}});M.addCommand(j.redo,{execute:e=>{var t;const n=J(e);if(!n){return}const i=(t=n.console.promptCell)===null||t===void 0?void 0:t.editor;if(!i){return}i.redo()},isEnabled:e=>{var t,n,i;if(!K()){return false}const s=(i=(n=(t=J(e))===null||t===void 0?void 0:t.console)===null||n===void 0?void 0:n.promptCell)===null||i===void 0?void 0:i.editor;if(!s){return false}return s.model.sharedModel.canRedo()},icon:m.redoIcon.bindprops({stylesheet:"menuItem"}),label:T.__("Redo"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:T.__("Whether to activate the widget")}}}}});M.addCommand(j.clear,{label:T.__("Clear Console Cells"),icon:e=>e.toolbar?m.clearIcon:undefined,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:T.__("Whether executed from toolbar")},activate:{type:"boolean",description:T.__("Whether to activate the widget")}}}},execute:e=>{const t=J(e);if(!t){return}t.console.clear()},isEnabled:K});M.addCommand(j.runUnforced,{label:T.__("Run Cell (unforced)"),icon:e=>e.toolbar?m.runIcon:undefined,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:T.__("Whether executed from toolbar")},activate:{type:"boolean",description:T.__("Whether to activate the widget")}}}},execute:e=>{const t=J(e);if(!t){return}return t.console.execute()},isEnabled:K});M.addCommand(j.runForced,{label:T.__("Run Cell (forced)"),icon:e=>e.toolbar?m.runIcon:undefined,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:T.__("Whether executed from toolbar")},activate:{type:"boolean",description:T.__("Whether to activate the widget")}}}},execute:e=>{const t=J(e);if(!t){return}return t.console.execute(true)},isEnabled:K});M.addCommand(j.linebreak,{label:T.__("Insert Line Break"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:T.__("Whether to activate the widget")}}}},execute:e=>{const t=J(e);if(!t){return}t.console.insertLinebreak()},isEnabled:K});M.addCommand(j.replaceSelection,{label:T.__("Replace Selection in Console"),describedBy:{args:{type:"object",properties:{text:{type:"string",description:T.__("The text to replace the selection with")},activate:{type:"boolean",description:T.__("Whether to activate the widget")}}}},execute:e=>{const t=J(e);if(!t){return}const n=e["text"]||"";t.console.replaceSelection(n)},isEnabled:K});M.addCommand(j.interrupt,{label:T.__("Interrupt Kernel"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:T.__("Whether to activate the widget")}}}},execute:e=>{var t;const n=J(e);if(!n){return}const i=(t=n.console.sessionContext.session)===null||t===void 0?void 0:t.kernel;if(i){return i.interrupt()}},isEnabled:K});M.addCommand(j.restart,{label:T.__("Restart Kernel…"),icon:e=>e.toolbar?m.refreshIcon:undefined,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:T.__("Whether executed from toolbar")},activate:{type:"boolean",description:T.__("Whether to activate the widget")}}}},execute:e=>{const t=J(e);if(!t){return}return P.restart(t.console.sessionContext)},isEnabled:K});M.addCommand(j.shutdown,{label:T.__("Shut Down"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:T.__("Whether to activate the widget")}}}},execute:e=>{const t=J(e);if(!t){return}return t.console.sessionContext.shutdown()}});M.addCommand(j.closeAndShutdown,{label:T.__("Close and Shut Down…"),execute:e=>{const t=J(e);if(!t){return}return(0,s.showDialog)({title:T.__("Shut down the console?"),body:T.__('Are you sure you want to close "%1"?',t.title.label),buttons:[s.Dialog.cancelButton({ariaLabel:T.__("Cancel console Shut Down")}),s.Dialog.warnButton({ariaLabel:T.__("Confirm console Shut Down")})]}).then((e=>{if(e.button.accept){return M.execute(j.shutdown,{activate:false}).then((()=>{t.dispose();return true}))}else{return false}}))},isEnabled:K,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:T.__("Whether to activate the widget")}}}}});M.addCommand(j.inject,{label:T.__("Inject some code in a console."),describedBy:{args:{type:"object",properties:{path:{type:"string",description:T.__("The path of the console session")},code:{type:"string",description:T.__("The code to inject")},metadata:{type:"object",description:T.__("The metadata for the code")},activate:{type:"boolean",description:T.__("Whether to activate the widget")}},required:["path","code"]}},execute:e=>{const t=e["path"];B.find((n=>{var i;if(((i=n.console.sessionContext.session)===null||i===void 0?void 0:i.path)===t){if(e["activate"]!==false){D.activateById(n.id)}void n.console.inject(e["code"],e["metadata"]);return true}return false}))},isEnabled:K});M.addCommand(j.changeKernel,{label:T.__("Change Kernel…"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:T.__("Whether to activate the widget")}}}},execute:e=>{const t=J(e);if(!t){return}return P.selectKernel(t.console.sessionContext)},isEnabled:K});M.addCommand(j.getKernel,{label:T.__("Get Kernel"),describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:T.__("Whether to activate the widget")}}}},execute:e=>{var t;const n=J({activate:false,...e});if(!n){return}return(t=n.sessionContext.session)===null||t===void 0?void 0:t.kernel},isEnabled:K});const Y=[j.create];const X=()=>{Object.values(j).filter((e=>!Y.includes(e))).forEach((t=>e.commands.notifyCommandChanged(t)))};B.currentChanged.connect(X);(k=D.currentChanged)===null||k===void 0?void 0:k.connect(X);if(h){[j.create,j.linebreak,j.clear,j.runUnforced,j.runForced,j.restart,j.interrupt,j.changeKernel,j.closeAndShutdown].forEach((e=>{h.addItem({command:e,category:A,args:{isPalette:true}})}))}if(c){c.fileMenu.closeAndCleaners.add({id:j.closeAndShutdown,isEnabled:K});c.kernelMenu.kernelUsers.changeKernel.add({id:j.changeKernel,isEnabled:K});c.kernelMenu.kernelUsers.clearWidget.add({id:j.clear,isEnabled:K});c.kernelMenu.kernelUsers.interruptKernel.add({id:j.interrupt,isEnabled:K});c.kernelMenu.kernelUsers.restartKernel.add({id:j.restart,isEnabled:K});c.kernelMenu.kernelUsers.shutdownKernel.add({id:j.shutdown,isEnabled:K});c.runMenu.codeRunners.run.add({id:j.runForced,isEnabled:K});c.editMenu.clearers.clearCurrent.add({id:j.clear,isEnabled:K});c.editMenu.undoers.redo.add({id:j.redo,isEnabled:K});c.editMenu.undoers.undo.add({id:j.undo,isEnabled:K});c.helpMenu.getKernel.add({id:j.getKernel,isEnabled:K})}const Q={notebook:T.__("Execute with Shift+Enter"),terminal:T.__("Execute with Enter")};M.addCommand(j.interactionMode,{label:e=>{var t;return(t=Q[e["interactionMode"]])!==null&&t!==void 0?t:"Set the console interaction mode."},execute:async e=>{const t="keyMap";try{await r.set(L,"interactionMode",e["interactionMode"])}catch(n){console.error(`Failed to set ${L}:${t} - ${n.message}`)}},isToggled:e=>e["interactionMode"]===H,describedBy:{args:{type:"object",properties:{interactionMode:{type:"string",enum:["notebook","terminal"],description:T.__("The interaction mode for the console")}}}}});return B}function L(e,t,n,i,o){if(!n){return}const r=(i!==null&&i!==void 0?i:p.nullTranslator).load("jupyterlab");const a=o!==null&&o!==void 0?o:new s.Sanitizer;e.commands.addCommand(j.invokeCompleter,{label:r.__("Display the completion helper."),execute:()=>{const e=t.currentWidget&&t.currentWidget.id;if(e){return n.invoke(e)}},describedBy:{args:{type:"object",properties:{}}}});e.commands.addCommand(j.selectCompleter,{label:r.__("Select the completion suggestion."),execute:()=>{const e=t.currentWidget&&t.currentWidget.id;if(e){return n.select(e)}},describedBy:{args:{type:"object",properties:{}}}});e.commands.addKeyBinding({command:j.selectCompleter,keys:["Enter"],selector:".jp-ConsolePanel .jp-mod-completer-active"});const l=async(e,t)=>{var i,s;const o={editor:(s=(i=t.console.promptCell)===null||i===void 0?void 0:i.editor)!==null&&s!==void 0?s:null,session:t.console.sessionContext.session,widget:t};await n.updateCompleter(o);t.console.promptCellCreated.connect(((e,i)=>{const s={editor:i.editor,session:e.sessionContext.session,widget:t,sanitzer:a};n.updateCompleter(s).catch(console.error)}));t.console.sessionContext.sessionChanged.connect((()=>{var e,i;const s={editor:(i=(e=t.console.promptCell)===null||e===void 0?void 0:e.editor)!==null&&i!==void 0?i:null,session:t.console.sessionContext.session,widget:t,sanitizer:a};n.updateCompleter(s).catch(console.error)}))};t.widgetAdded.connect(l);n.activeProvidersChanged.connect((()=>{t.forEach((e=>{l(undefined,e).catch((e=>console.error(e)))}))}))}},99382:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(17325);var a=n(5893);var l=n(3579);var d=n(36060);var c=n(39063);var h=n(50286);var u=n(75797);var p=n(67996);var m=n(85072);var g=n.n(m);var f=n(97825);var v=n.n(f);var _=n(77659);var b=n.n(_);var y=n(55056);var w=n.n(y);var C=n(10540);var x=n.n(C);var S=n(41113);var j=n.n(S);var k=n(19961);var I={};I.styleTagTransform=j();I.setAttributes=w();I.insert=b().bind(null,"head");I.domAPI=v();I.insertStyleElement=x();var T=g()(k.A,I);const E=k.A&&k.A.locals?k.A.locals:undefined},57958:(e,t,n)=>{"use strict";n.r(t);n.d(t,{CodeConsole:()=>A,ConsoleHistory:()=>l,ConsolePanel:()=>R,ForeignHandler:()=>a,IConsoleCellExecutor:()=>O,IConsoleTracker:()=>B,runCell:()=>s});var i=n(88459);async function s({cell:e,onCellExecuted:t,sessionContext:n}){const s=n=>{if(n&&n.content.status==="ok"){const i=n.content;if(i.payload&&i.payload.length){const t=i.payload.filter((e=>e.source==="set_next_input"))[0];if(t){const n=t.text;e.model.sharedModel.setSource(n)}}t({cell:e,executionDate:new Date,success:true});return true}else if(n&&n.content.status==="error"){const i=n.content.ename;const s=n.content.evalue;t({cell:e,executionDate:new Date,success:false,error:new Error(`KernelReplyNotOK: ${i} ${s}`)});return false}t({cell:e,executionDate:new Date,success:false});return false};const o=n=>{t({cell:e,executionDate:new Date,success:false,error:new Error(n)});return false};return i.CodeCell.execute(e,n).then(s,o)}var o=n(2336);const r="jp-CodeConsole-foreignCell";class a{constructor(e){this._enabled=false;this._isDisposed=false;this.sessionContext=e.sessionContext;this.sessionContext.iopubMessage.connect(this.onIOPubMessage,this);this._parent=e.parent}get enabled(){return this._enabled}set enabled(e){this._enabled=e}get parent(){return this._parent}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;o.Signal.clearData(this)}onIOPubMessage(e,t){var n;if(!this._enabled){return false}const i=(n=this.sessionContext.session)===null||n===void 0?void 0:n.kernel;if(!i){return false}const s=this._parent;const o=t.parent_header.session;if(o===i.clientId){return false}const r=t.header.msg_type;const a=t.parent_header;const l=a.msg_id;let d;switch(r){case"execute_input":{const e=t;d=this._newCell(l);const n=d.model;n.executionCount=e.content.execution_count;n.sharedModel.setSource(e.content.code);n.trusted=true;s.update();return true}case"execute_result":case"display_data":case"stream":case"error":{d=this._parent.getCell(l);if(!d){return false}const e={...t.content,output_type:r};d.model.outputs.add(e);s.update();return true}case"clear_output":{const e=t.content.wait;d=this._parent.getCell(l);if(d){d.model.outputs.clear(e)}return true}default:return false}}_newCell(e){const t=this.parent.createCodeCell();t.addClass(r);this._parent.addCell(t,e);return t}}class l{constructor(e){this._cursor=0;this._hasSession=false;this._history=[];this._placeholder="";this._setByHistory=false;this._isDisposed=false;this._editor=null;this._filtered=[];const{sessionContext:t}=e;if(t){this.sessionContext=t;void this._handleKernel();this.sessionContext.kernelChanged.connect(this._handleKernel,this)}}get editor(){return this._editor}set editor(e){if(this._editor===e){return}const t=this._editor;if(t){t.edgeRequested.disconnect(this.onEdgeRequest,this);t.model.sharedModel.changed.disconnect(this.onTextChange,this)}this._editor=e;if(e){e.edgeRequested.connect(this.onEdgeRequest,this);e.model.sharedModel.changed.connect(this.onTextChange,this)}}get placeholder(){return this._placeholder}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed=true;this._history.length=0;o.Signal.clearData(this)}back(e){if(!this._hasSession){this._hasSession=true;this._placeholder=e;this.setFilter(e);this._cursor=this._filtered.length-1}--this._cursor;this._cursor=Math.max(0,this._cursor);const t=this._filtered[this._cursor];return Promise.resolve(t)}forward(e){if(!this._hasSession){this._hasSession=true;this._placeholder=e;this.setFilter(e);this._cursor=this._filtered.length}++this._cursor;this._cursor=Math.min(this._filtered.length-1,this._cursor);const t=this._filtered[this._cursor];return Promise.resolve(t)}push(e){if(e&&e!==this._history[this._history.length-1]){this._history.push(e)}this.reset()}reset(){this._cursor=this._history.length;this._hasSession=false;this._placeholder=""}onHistory(e){this._history.length=0;let t="";let n="";if(e.content.status==="ok"){for(let i=0;i<e.content.history.length;i++){n=e.content.history[i][2];if(n!==t){this._history.push(t=n)}}}this._cursor=this._history.length}onTextChange(){if(this._setByHistory){this._setByHistory=false;return}this.reset()}onEdgeRequest(e,t){const n=e.model.sharedModel;const i=n.getSource();if(t==="top"||t==="topLine"){void this.back(i).then((t=>{if(this.isDisposed||!t){return}if(n.getSource()===t){return}this._setByHistory=true;n.setSource(t);let i=0;i=t.indexOf("\n");if(i<0){i=t.length}e.setCursorPosition({line:0,column:i})}))}else{void this.forward(i).then((t=>{if(this.isDisposed){return}const i=t||this.placeholder;if(n.getSource()===i){return}this._setByHistory=true;n.setSource(i);const s=e.getPositionAt(i.length);if(s){e.setCursorPosition(s)}}))}}async _handleKernel(){var e,t;const n=(t=(e=this.sessionContext)===null||e===void 0?void 0:e.session)===null||t===void 0?void 0:t.kernel;if(!n){this._history.length=0;return}return n.requestHistory(d.initialRequest).then((e=>{this.onHistory(e)}))}setFilter(e=""){this._filtered.length=0;let t="";let n="";for(let i=0;i<this._history.length;i++){n=this._history[i];if(n!==t&&e===n.slice(0,e.length)){this._filtered.push(t=n)}}this._filtered.push(e)}}var d;(function(e){e.initialRequest={output:false,raw:true,hist_access_type:"tail",n:500}})(d||(d={}));var c=n(38850);var h=n(40959);var u=n(95513);var p=n(34881);var m=n(4073);var g=n(5592);var f=n(27518);var v=n(95917);var _=n(23230);var b=n(10970);const y="jpKernelUser";const w="jpCodeRunner";const C="jp-CodeConsole";const x="jp-Console-cell";const S="jp-CodeConsole-banner";const j="jp-CodeConsole-promptCell";const k="jp-CodeConsole-content";const I="jp-CodeConsole-input";const T="jp-mod-readWrite";const E=250;const M="application/vnd.jupyter.cells";const D="jpUndoer";class A extends f.Widget{constructor(e){var t,n,i;super();this.editorConfig=A.defaultEditorConfig;this._banner=null;this._executed=new o.Signal(this);this._config={};this._mimetype="text/x-ipython";this._msgIds=new Map;this._msgIdCells=new Map;this._promptCellCreated=new o.Signal(this);this._dragData=null;this._drag=null;this._focusedCell=null;this._promptResizeObserver=null;this._hasManualResize=false;this._resizeAnimationFrameId=null;this._translator=(t=e.translator)!==null&&t!==void 0?t:p.nullTranslator;this._executor=(n=e.executor)!==null&&n!==void 0?n:Object.freeze({runCell:s});this.addClass(C);this.node.dataset[y]="true";this.node.dataset[w]="true";this.node.dataset[D]="true";this.node.tabIndex=-1;const r=this.layout=new f.PanelLayout;this._cells=new _.ObservableList;this._content=new f.Panel;this._input=new f.Panel;this._splitPanel=new f.SplitPanel({spacing:0});this._splitPanel.addClass("jp-CodeConsole-split");this.contentFactory=e.contentFactory;this.modelFactory=(i=e.modelFactory)!==null&&i!==void 0?i:A.defaultModelFactory;this.rendermime=e.rendermime;this.sessionContext=e.sessionContext;this._mimeTypeService=e.mimeTypeService;this._content.addClass(k);this._input.addClass(I);r.addWidget(this._splitPanel);this._splitPanel.handleMoved.connect((()=>{this._setManualResize()}),this);this._splitPanel.node.addEventListener("pointerdown",(e=>{const t=e.target;if(t.classList.contains("lm-SplitPanel-handle")){this._setManualResize()}}),true);this.setConfig({clearCellsOnExecute:false,clearCodeContentOnExecute:true,hideCodeInput:false,promptCellPosition:"bottom",showBanner:true});this._history=new l({sessionContext:this.sessionContext});void this._onKernelChanged();this.sessionContext.kernelChanged.connect(this._onKernelChanged,this);this.sessionContext.statusChanged.connect(this._onKernelStatusChanged,this)}get executed(){return this._executed}get promptCellCreated(){return this._promptCellCreated}get cells(){return this._cells}get promptCell(){const e=this._input.layout;if(!e){return null}return e.widgets[0]||null}addCell(e,t){if(this._config.clearCellsOnExecute){this.clear()}e.addClass(x);this._content.addWidget(e);this._cells.push(e);if(t){this._msgIds.set(t,e);this._msgIdCells.set(e,t)}e.disposed.connect(this._onCellDisposed,this);this.update()}addBanner(){if(this._banner){const e=this._banner;this._cells.push(this._banner);e.disposed.connect(this._onCellDisposed,this)}const e=this.modelFactory.createRawCell({sharedModel:(0,v.createStandaloneCell)({cell_type:"raw",source:"..."})});const t=(this._banner=new i.RawCell({model:e,contentFactory:this.contentFactory,placeholder:false,editorConfig:{autoClosingBrackets:false,codeFolding:false,highlightActiveLine:false,highlightTrailingWhitespace:false,highlightWhitespace:false,indentUnit:"4",lineNumbers:false,lineWrap:true,matchBrackets:false,readOnly:true,rulers:[],scrollPastEnd:false,smartIndent:false,tabSize:4,theme:"jupyter"}})).initializeState();t.addClass(S);t.readOnly=true;this._content.addWidget(t)}clear(){const e=this._cells;while(e.length>0){e.get(0).dispose()}}createCodeCell(){const e=this.contentFactory;const t=this._createCodeCellOptions();const n=e.createCodeCell(t);n.readOnly=true;n.model.mimeType=this._mimetype;return n}dispose(){if(this.isDisposed){return}const e=this.promptCell;if(e){if(this._promptResizeObserver){this._promptResizeObserver.disconnect();this._promptResizeObserver=null}e.model.sharedModel.changed.disconnect(this._onPromptContentChanged,this)}this._cancelPendingResizeAdjustment();this._msgIdCells=null;this._msgIds=null;this._history.dispose();super.dispose()}async execute(e=false,t=E){var n,i;if(((i=(n=this.sessionContext.session)===null||n===void 0?void 0:n.kernel)===null||i===void 0?void 0:i.status)==="dead"){return}const s=this.promptCell;if(!s){throw new Error("Cannot execute without a prompt cell")}s.model.trusted=true;if(e){this.newPromptCell();await this._execute(s);return}const o=await this._shouldExecute(t);if(this.isDisposed){return}if(o){this.newPromptCell();this.promptCell.editor.focus();await this._execute(s)}else{s.editor.newIndentedLine()}}getCell(e){return this._msgIds.get(e)}inject(e,t={}){const n=this.createCodeCell();n.model.sharedModel.setSource(e);for(const i of Object.keys(t)){n.model.setMetadata(i,t[i])}this.addCell(n);return this._execute(n)}insertLinebreak(){const e=this.promptCell;if(!e){return}e.editor.newIndentedLine()}replaceSelection(e){var t,n;const i=this.promptCell;if(!i){return}(n=(t=i.editor).replaceSelection)===null||n===void 0?void 0:n.call(t,e)}setConfig(e){const{clearCellsOnExecute:t,clearCodeContentOnExecute:n,hideCodeInput:i,promptCellPosition:s,showBanner:o}=e;this._config={clearCellsOnExecute:t!==null&&t!==void 0?t:this._config.clearCellsOnExecute,clearCodeContentOnExecute:n!==null&&n!==void 0?n:this._config.clearCodeContentOnExecute,hideCodeInput:i!==null&&i!==void 0?i:this._config.hideCodeInput,promptCellPosition:s!==null&&s!==void 0?s:this._config.promptCellPosition,showBanner:o!==null&&o!==void 0?o:this._config.showBanner};this._updateLayout()}serialize(){const e=[];for(const t of this._cells){const n=t.model;if((0,i.isCodeCellModel)(n)){e.push(n.toJSON())}}if(this.promptCell){e.push(this.promptCell.model.toJSON())}return e}_evtMouseDown(e){const{button:t,shiftKey:n}=e;if(!(t===0||t===2)||n&&t===2){return}let s=e.target;const o=e=>e.classList.contains(x);let r=i.CellDragUtils.findCell(s,this._cells,o);if(r===-1){s=document.elementFromPoint(e.clientX,e.clientY);r=i.CellDragUtils.findCell(s,this._cells,o)}if(r===-1){return}const a=this._cells.get(r);const l=i.CellDragUtils.detectTargetArea(a,e.target);if(l==="prompt"){this._dragData={pressX:e.clientX,pressY:e.clientY,index:r};this._focusedCell=a;document.addEventListener("mouseup",this,true);document.addEventListener("mousemove",this,true);e.preventDefault()}}_evtMouseMove(e){const t=this._dragData;if(t&&i.CellDragUtils.shouldStartDrag(t.pressX,t.pressY,e.clientX,e.clientY)){void this._startDrag(t.index,e.clientX,e.clientY)}}_startDrag(e,t,n){const s=this._focusedCell.model;const o=[s.toJSON()];const r=i.CellDragUtils.createCellDragImage(this._focusedCell,o);this._drag=new b.Drag({mimeData:new g.MimeData,dragImage:r,proposedAction:"copy",supportedActions:"copy",source:this});this._drag.mimeData.setData(M,o);const a=s.sharedModel.getSource();this._drag.mimeData.setData("text/plain",a);this._focusedCell=null;document.removeEventListener("mousemove",this,true);document.removeEventListener("mouseup",this,true);return this._drag.start(t,n).then((()=>{if(this.isDisposed){return}this._drag=null;this._dragData=null}))}handleEvent(e){switch(e.type){case"keydown":this._evtKeyDown(e);break;case"mousedown":this._evtMouseDown(e);break;case"mousemove":this._evtMouseMove(e);break;case"mouseup":this._evtMouseUp(e);break;case"resize":this._splitPanel.fit();break;case"focusin":this._evtFocusIn(e);break;case"focusout":this._evtFocusOut(e);break;default:break}}onAfterAttach(e){const t=this.node;t.addEventListener("keydown",this,true);t.addEventListener("click",this);t.addEventListener("mousedown",this);t.addEventListener("focusin",this);t.addEventListener("focusout",this);if(!this.promptCell){this.newPromptCell()}else{this.promptCell.editor.focus();this.update()}}onBeforeDetach(e){const t=this.node;t.removeEventListener("keydown",this,true);t.removeEventListener("click",this);t.removeEventListener("focusin",this);t.removeEventListener("focusout",this)}onActivateRequest(e){const t=this.promptCell&&this.promptCell.editor;if(t){t.focus()}this.update()}newPromptCell(){var e,t,n,i,s;let r=this.promptCell;const a=this._input;const l=(e=r===null||r===void 0?void 0:r.model.sharedModel.getSource())!==null&&e!==void 0?e:"";const d=(t=r===null||r===void 0?void 0:r.editor)===null||t===void 0?void 0:t.getCursorPosition();if(r){r.readOnly=true;r.removeClass(j);r.model.sharedModel.changed.disconnect(this._onPromptContentChanged,this);const e=r;const t=this._promptResizeObserver;requestIdleCallback((()=>{o.Signal.clearData(e.editor);if(t){t.disconnect()}}));(n=r.editor)===null||n===void 0?void 0:n.blur();const s=a.widgets[0];s.parent=null;if(this._config.hideCodeInput){(i=r.inputArea)===null||i===void 0?void 0:i.setHidden(true)}this.addCell(r)}const c=this.contentFactory;const h=this._createCodeCellOptions();r=c.createCodeCell(h);r.model.mimeType=this._mimetype;r.addClass(j);this._input.addWidget(r);this._history.editor=r.editor;if(r.node){this._promptResizeObserver=new ResizeObserver((()=>{this._scheduleInputSizeAdjustment()}));this._promptResizeObserver.observe(r.node)}r.model.sharedModel.changed.connect(this._onPromptContentChanged,this);if(!this._config.clearCodeContentOnExecute){r.model.sharedModel.setSource(l);if(d){(s=r.editor)===null||s===void 0?void 0:s.setCursorPosition(d)}}this._promptCellCreated.emit(r)}onUpdateRequest(e){P.scrollToBottom(this._content.node)}_evtKeyDown(e){const t=this.promptCell&&this.promptCell.editor;if(!t){return}if(e.keyCode===13&&!t.hasFocus()){e.preventDefault();t.focus()}else if(e.keyCode===27&&t.hasFocus()){e.preventDefault();e.stopPropagation();this.node.focus()}}_evtMouseUp(e){if(this.promptCell&&this.promptCell.node.contains(e.target)){this.promptCell.editor.focus()}}_evtFocusIn(e){this._updateReadWrite()}_evtFocusOut(e){this._updateReadWrite()}async _execute(e){const t=e.model.sharedModel.getSource();this._history.push(t);if(t==="clear"||t==="%clear"){this.clear();return Promise.resolve(void 0)}e.model.contentChanged.connect(this.update,this);const n={cell:e,sessionContext:this.sessionContext,onCellExecuted:e=>{this._executed.emit(e.executionDate);if(e.error){for(const e of this._cells){if(e.model.executionCount===null){e.model.executionState="idle"}}}}};try{await this._executor.runCell(n)}finally{if(!this.isDisposed){e.model.contentChanged.disconnect(this.update,this);this.update()}}}_handleInfo(e){if(e.status!=="ok"){if(this._banner){this._banner.model.sharedModel.setSource("Error in getting kernel banner")}return}if(this._banner){this._banner.model.sharedModel.setSource(e.banner)}const t=e.language_info;this._mimetype=this._mimeTypeService.getMimeTypeByLanguage(t);if(this.promptCell){this.promptCell.model.mimeType=this._mimetype}}_createCodeCellOptions(){const e=this.contentFactory;const t=this.modelFactory;const n=t.createCodeCell({});const i=this.rendermime;const s=this.editorConfig;return{model:n,rendermime:i,contentFactory:e,editorConfig:s,placeholder:false,translator:this._translator}}_onCellDisposed(e,t){if(!this.isDisposed){this._cells.removeValue(e);const t=this._msgIdCells.get(e);if(t){this._msgIdCells.delete(e);this._msgIds.delete(t)}}}_shouldExecute(e){const t=this.promptCell;if(!t){return Promise.resolve(false)}const n=t.model;const i=n.sharedModel.getSource();return new Promise(((t,n)=>{var s;const o=setTimeout((()=>{t(true)}),e);const r=(s=this.sessionContext.session)===null||s===void 0?void 0:s.kernel;if(!r){t(false);return}r.requestIsComplete({code:i}).then((e=>{clearTimeout(o);if(this.isDisposed){t(false)}if(e.content.status!=="incomplete"){t(true);return}t(false)})).catch((()=>{t(true)}))}))}async _onKernelChanged(){var e;this.clear();if(this._banner){this._banner.dispose();this._banner=null}if(this._config.showBanner){this.addBanner()}if((e=this.sessionContext.session)===null||e===void 0?void 0:e.kernel){this._handleInfo(await this.sessionContext.session.kernel.info)}}async _onKernelStatusChanged(){var e;const t=(e=this.sessionContext.session)===null||e===void 0?void 0:e.kernel;if((t===null||t===void 0?void 0:t.status)==="restarting"){if(this._config.showBanner){this.addBanner()}this._handleInfo(await(t===null||t===void 0?void 0:t.info))}}_updateReadWrite(){const e=c.DOMUtils.hasActiveEditableElement(this.node);this.node.classList.toggle(T,e)}_calculateRelativeSizes(){const{promptCellPosition:e="bottom"}=this._config;let t=[1,1];if(e==="top"){t=[1,100]}else if(e==="bottom"){t=[100,1]}return t}_setManualResize(){this._hasManualResize=true;this._cancelPendingResizeAdjustment()}_cancelPendingResizeAdjustment(){if(this._resizeAnimationFrameId!==null){cancelAnimationFrame(this._resizeAnimationFrameId);this._resizeAnimationFrameId=null}}_scheduleInputSizeAdjustment(){if(this._hasManualResize){return}if(this._resizeAnimationFrameId===null){this._resizeAnimationFrameId=requestAnimationFrame((()=>{this._resizeAnimationFrameId=null;this._adjustSplitPanelForInputGrowth()}))}}_onPromptContentChanged(){this._scheduleInputSizeAdjustment()}_adjustSplitPanelForInputGrowth(){if(this.isDisposed||!this._input.node||!this._content.node||this._hasManualResize){return}const{promptCellPosition:e="bottom"}=this._config;if(e==="left"||e==="right"){return}const t=this.promptCell;if(!t||!t.editor){return}const n=t.editor;const i=n.editor.contentHeight;const s=this._getInputCellPadding();const o=i+s;const r=this._splitPanel.node.clientHeight;if(r<=0||o<=0){this._splitPanel.fit();return}const a=r-o;let l;let d;if(e==="bottom"){l=a/r;d=o/r}else{d=o/r;l=a/r}const c=l+d;if(c>0){const t=e==="bottom"?[l/c,d/c]:[d/c,l/c];this._splitPanel.setRelativeSizes(t)}}_getInputCellPadding(){var e;const t=this._input.node;const n=window.getComputedStyle(t);const i=parseFloat(n.paddingTop)+parseFloat(n.paddingBottom);const s=this.promptCell;if(!s){return i}const o=window.getComputedStyle(s.node);const r=parseFloat(o.paddingTop)+parseFloat(o.paddingBottom);const a=(e=s.editorWidget)===null||e===void 0?void 0:e.node;let l=0;if(a){const e=window.getComputedStyle(a);l=parseFloat(e.borderTopWidth)+parseFloat(e.borderBottomWidth)}return i+r+l}_updateLayout(){const{promptCellPosition:e="bottom"}=this._config;this._hasManualResize=false;this._splitPanel.orientation=["left","right"].includes(e)?"horizontal":"vertical";f.SplitPanel.setStretch(this._content,1);f.SplitPanel.setStretch(this._input,1);if(e==="bottom"||e==="right"){this._splitPanel.insertWidget(0,this._content);this._splitPanel.insertWidget(1,this._input)}else{this._splitPanel.insertWidget(0,this._input);this._splitPanel.insertWidget(1,this._content)}this._splitPanel.setRelativeSizes(this._calculateRelativeSizes());requestAnimationFrame((()=>{this._adjustSplitPanelForInputGrowth()}))}}(function(e){e.defaultEditorConfig={codeFolding:false,lineNumbers:false};class t extends i.Cell.ContentFactory{createCodeCell(e){return new i.CodeCell(e).initializeState()}createRawCell(e){return new i.RawCell(e).initializeState()}}e.ContentFactory=t;class n{constructor(e={}){this.codeCellContentFactory=e.codeCellContentFactory||i.CodeCellModel.defaultContentFactory}createCodeCell(e={}){if(!e.contentFactory){e.contentFactory=this.codeCellContentFactory}return new i.CodeCellModel(e)}createRawCell(e){return new i.RawCellModel(e)}}e.ModelFactory=n;e.defaultModelFactory=new n({})})(A||(A={}));var P;(function(e){function t(e){e.scrollTop=e.scrollHeight-e.clientHeight}e.scrollToBottom=t})(P||(P={}));const L="jp-ConsolePanel";class R extends c.MainAreaWidget{constructor(e){super({content:new f.Panel});this._executed=null;this._connected=null;this.addClass(L);let{executor:t,rendermime:n,mimeTypeService:i,path:s,basePath:o,name:r,manager:a,modelFactory:l,sessionContext:d,translator:v}=e;this.translator=v!==null&&v!==void 0?v:p.nullTranslator;const _=this.translator.load("jupyterlab");const b=this.contentFactory=e.contentFactory;const y=N.count++;if(!s){s=h.PathExt.join(o||"",`console-${y}-${g.UUID.uuid4()}`)}d=this._sessionContext=d!==null&&d!==void 0?d:new c.SessionContext({kernelManager:a.kernels,sessionManager:a.sessions,specsManager:a.kernelspecs,path:a.contents.localPath(s),name:r||_.__("Console %1",y),type:"console",kernelPreference:e.kernelPreference,setBusy:e.setBusy});const w=new u.RenderMimeRegistry.UrlResolver({path:s,contents:a.contents});n=n.clone({resolver:w});this.console=b.createConsole({executor:t,rendermime:n,sessionContext:d,mimeTypeService:i,contentFactory:b,modelFactory:l,translator:v});this.content.addWidget(this.console);void d.initialize().then((async t=>{var n;if(t){await((n=e.sessionDialogs)!==null&&n!==void 0?n:new c.SessionContextDialogs({translator:v})).selectKernel(d)}this._connected=new Date;this._updateTitlePanel()}));this.console.executed.connect(this._onExecuted,this);this._updateTitlePanel();d.kernelChanged.connect(this._updateTitlePanel,this);d.propertyChanged.connect(this._updateTitlePanel,this);this.title.icon=m.consoleIcon;this.title.closable=true;this.id=`console-${y}`}get sessionContext(){return this._sessionContext}dispose(){this.sessionContext.dispose();this.console.dispose();super.dispose()}onActivateRequest(e){const t=this.console.promptCell;if(t){t.editor.focus()}}onCloseRequest(e){super.onCloseRequest(e);this.dispose()}_onExecuted(e,t){this._executed=t;this._updateTitlePanel()}_updateTitlePanel(){N.updateTitle(this,this._connected,this._executed,this.translator)}}(function(e){class t extends A.ContentFactory{createConsole(e){return new A(e)}}e.ContentFactory=t;e.IContentFactory=new g.Token("@jupyterlab/console:IContentFactory","A factory object that creates new code consoles. Use this if you want to create and host code consoles in your own UI elements.")})(R||(R={}));var N;(function(e){e.count=1;function t(e,t,n,i){i=i||p.nullTranslator;const s=i.load("jupyterlab");const o=e.console.sessionContext.session;if(o){let i=s.__("Name: %1\n",o.name)+s.__("Directory: %1\n",h.PathExt.dirname(o.path))+s.__("Kernel: %1",e.console.sessionContext.kernelDisplayName);if(t){i+=s.__("\nConnected: %1",h.Time.format(t.toISOString()))}if(n){i+=s.__("\nLast Execution: %1")}e.title.label=o.name;e.title.caption=i}else{e.title.label=s.__("Console");e.title.caption=""}}e.updateTitle=t})(N||(N={}));const B=new g.Token("@jupyterlab/console:IConsoleTracker",`A widget tracker for code consoles.\n Use this if you want to be able to iterate over and interact with code consoles\n created by the application.`);const O=new g.Token("@jupyterlab/console:IConsoleCellExecutor",`The console cell executor`)},50286:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(5893);var a=n(38457);var l=n(17325);var d=n(23359);var c=n(53377);var h=n(85072);var u=n.n(h);var p=n(97825);var m=n.n(p);var g=n(77659);var f=n.n(g);var v=n(55056);var _=n.n(v);var b=n(10540);var y=n.n(b);var w=n(41113);var C=n.n(w);var x=n(16513);var S={};S.styleTagTransform=C();S.setAttributes=_();S.insert=f().bind(null,"head");S.domAPI=m();S.insertStyleElement=y();var j=u()(x.A,S);const k=x.A&&x.A.locals?x.A.locals:undefined},75013:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ActivityMonitor=void 0;const i=n(2336);class s{constructor(e){this._timer=-1;this._timeout=-1;this._isDisposed=false;this._activityStopped=new i.Signal(this);e.signal.connect(this._onSignalFired,this);this._timeout=e.timeout||1e3}get activityStopped(){return this._activityStopped}get timeout(){return this._timeout}set timeout(e){this._timeout=e}get isDisposed(){return this._isDisposed}dispose(){if(this._isDisposed){return}this._isDisposed=true;i.Signal.clearData(this)}_onSignalFired(e,t){clearTimeout(this._timer);this._sender=e;this._args=t;this._timer=setTimeout((()=>{this._activityStopped.emit({sender:this._sender,args:this._args})}),this._timeout)}}t.ActivityMonitor=s},26376:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){if(i===undefined)i=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,i,s)}:function(e,t,n,i){if(i===undefined)i=n;e[i]=t[n]});var s=this&&this.__exportStar||function(e,t){for(var n in e)if(n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n))i(t,e,n)};Object.defineProperty(t,"__esModule",{value:true});s(n(75013),t);s(n(23106),t);s(n(24477),t);s(n(87484),t);s(n(92279),t);s(n(67169),t);s(n(97058),t);s(n(80121),t);s(n(9659),t);s(n(67881),t);s(n(78378),t)},23106:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true})},24477:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LruCache=void 0;const n=128;class i{constructor(e={}){this._map=new Map;this._maxSize=(e===null||e===void 0?void 0:e.maxSize)||n}get size(){return this._map.size}clear(){this._map.clear()}get(e){const t=this._map.get(e)||null;if(t!=null){this._map.delete(e);this._map.set(e,t)}return t}set(e,t){if(this._map.size>=this._maxSize){this._map.delete(this._map.keys().next().value)}this._map.set(e,t)}}t.LruCache=i},87484:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.MarkdownCodeBlocks=void 0;var n;(function(e){e.CODE_BLOCK_MARKER="```";const t=[".markdown",".mdown",".mkdn",".md",".mkd",".mdwn",".mdtxt",".mdtext",".text",".txt",".Rmd"];class n{constructor(e){this.startLine=e;this.code="";this.endLine=-1}}e.MarkdownCodeBlock=n;function i(e){return t.indexOf(e)>-1}e.isMarkdown=i;function s(t){if(!t||t===""){return[]}const i=t.split("\n");const s=[];let o=null;for(let r=0;r<i.length;r++){const t=i[r];const a=t.indexOf(e.CODE_BLOCK_MARKER)===0;const l=o!=null;if(!a&&!l){continue}if(!l){o=new n(r);const i=t.indexOf(e.CODE_BLOCK_MARKER);const a=t.lastIndexOf(e.CODE_BLOCK_MARKER);const l=i!==a;if(l){o.code=t.substring(i+e.CODE_BLOCK_MARKER.length,a);o.endLine=r;s.push(o);o=null}}else if(o){if(a){o.endLine=r-1;s.push(o);o=null}else{o.code+=t+"\n"}}}return s}e.findMarkdownCodeBlocks=s})(n||(t.MarkdownCodeBlocks=n={}))},92279:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var process=__webpack_require__(65606);var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:true});exports.PageConfig=void 0;const coreutils_1=__webpack_require__(5592);const minimist_1=__importDefault(__webpack_require__(89031));const url_1=__webpack_require__(67881);var PageConfig;(function(PageConfig){function getOption(name){if(configData){return configData[name]||getBodyData(name)}configData=Object.create(null);let found=false;if(typeof document!=="undefined"&&document){const e=document.getElementById("jupyter-config-data");if(e){configData=JSON.parse(e.textContent||"");found=true}}if(!found&&typeof process!=="undefined"&&process.argv){try{const cli=(0,minimist_1.default)(process.argv.slice(2));const path=__webpack_require__(57975);let fullPath="";if("jupyter-config-data"in cli){fullPath=path.resolve(cli["jupyter-config-data"])}else if("JUPYTER_CONFIG_DATA"in process.env){fullPath=path.resolve(process.env["JUPYTER_CONFIG_DATA"])}if(fullPath){configData=eval("require")(fullPath)}}catch(e){console.error(e)}}if(!coreutils_1.JSONExt.isObject(configData)){configData=Object.create(null)}else{for(const e in configData){if(typeof configData[e]!=="string"){configData[e]=JSON.stringify(configData[e])}}}return configData[name]||getBodyData(name)}PageConfig.getOption=getOption;function setOption(e,t){const n=getOption(e);configData[e]=t;return n}PageConfig.setOption=setOption;function getBaseUrl(){return url_1.URLExt.normalize(getOption("baseUrl")||"/")}PageConfig.getBaseUrl=getBaseUrl;function getTreeUrl(){return url_1.URLExt.join(getBaseUrl(),getOption("treeUrl"))}PageConfig.getTreeUrl=getTreeUrl;function getShareUrl(){return url_1.URLExt.normalize(getOption("shareUrl")||getBaseUrl())}PageConfig.getShareUrl=getShareUrl;function getTreeShareUrl(){return url_1.URLExt.normalize(url_1.URLExt.join(getShareUrl(),getOption("treeUrl")))}PageConfig.getTreeShareUrl=getTreeShareUrl;function getUrl(e){var t,n,i,s;let o=e.toShare?getShareUrl():getBaseUrl();const r=(t=e.mode)!==null&&t!==void 0?t:getOption("mode");const a=(n=e.workspace)!==null&&n!==void 0?n:getOption("workspace");const l=r==="single-document"?"doc":"lab";o=url_1.URLExt.join(o,l);if(a!==PageConfig.defaultWorkspace){o=url_1.URLExt.join(o,"workspaces",encodeURIComponent((i=getOption("workspace"))!==null&&i!==void 0?i:PageConfig.defaultWorkspace))}const d=(s=e.treePath)!==null&&s!==void 0?s:getOption("treePath");if(d){o=url_1.URLExt.join(o,"tree",url_1.URLExt.encodeParts(d))}return o}PageConfig.getUrl=getUrl;PageConfig.defaultWorkspace="default";function getWsUrl(e){let t=getOption("wsUrl");if(!t){e=e?url_1.URLExt.normalize(e):getBaseUrl();if(e.indexOf("http")!==0){return""}t="ws"+e.slice(4)}return url_1.URLExt.normalize(t)}PageConfig.getWsUrl=getWsUrl;function getNBConvertURL({path:e,format:t,download:n}){const i=url_1.URLExt.encodeParts(e);const s=url_1.URLExt.join(getBaseUrl(),"nbconvert",t,i);if(n){return s+"?download=true"}return s}PageConfig.getNBConvertURL=getNBConvertURL;function getToken(){return getOption("token")||getBodyData("jupyterApiToken")}PageConfig.getToken=getToken;function getNotebookVersion(){const e=getOption("notebookVersion");if(e===""){return[0,0,0]}return JSON.parse(e)}PageConfig.getNotebookVersion=getNotebookVersion;let configData=null;function getBodyData(e){if(typeof document==="undefined"||!document.body){return""}const t=document.body.dataset[e];if(typeof t==="undefined"){return""}return decodeURIComponent(t)}let Extension;(function(e){function t(e){try{const t=getOption(e);if(t){return JSON.parse(t)}}catch(t){console.warn(`Unable to parse ${e}.`,t)}return[]}e.deferred=t("deferredExtensions");e.disabled=t("disabledExtensions");function n(t){const n=t.indexOf(":");let i="";if(n!==-1){i=t.slice(0,n)}return e.deferred.some((e=>e===t||i&&e===i))}e.isDeferred=n;function i(t){const n=t.indexOf(":");let i="";if(n!==-1){i=t.slice(0,n)}return e.disabled.some((e=>e===t||i&&e===i))}e.isDisabled=i})(Extension=PageConfig.Extension||(PageConfig.Extension={}))})(PageConfig||(exports.PageConfig=PageConfig={}))},67169:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PathExt=void 0;const i=n(57975);var s;(function(e){function t(...e){const t=i.posix.join(...e);return t==="."?"":h(t)}e.join=t;function n(...e){const t=i.posix.join(...e);return t==="."?"":t}e.joinWithLeadingSlash=n;function s(e,t){return i.posix.basename(e,t)}e.basename=s;function o(e){const t=h(i.posix.dirname(e));return t==="."?"":t}e.dirname=o;function r(e){return i.posix.extname(e)}e.extname=r;function a(e){if(e===""){return""}return h(i.posix.normalize(e))}e.normalize=a;function l(...e){return h(i.posix.resolve(...e))}e.resolve=l;function d(e,t){return h(i.posix.relative(e,t))}e.relative=d;function c(e){if(e.length>0&&e.indexOf(".")!==0){e=`.${e}`}return e}e.normalizeExtension=c;function h(e){if(e.indexOf("/")===0){e=e.slice(1)}return e}e.removeSlash=h})(s||(t.PathExt=s={}))},78378:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.JupyterPluginRegistry=void 0;const i=n(5592);const s=5e3;class o extends i.PluginRegistry{constructor(e){var t;super(e);this._pluginData=new Map;this._expectedActivationTime=(t=e===null||e===void 0?void 0:e.expectedActivationTime)!==null&&t!==void 0?t:s}registerPlugin(e){this._pluginData.set(e.id,e);return super.registerPlugin(e)}async activatePlugin(e){const t=performance.now();let n=setTimeout((()=>{console.warn(`Plugin ${e} is taking too long to activate.`)}),this._expectedActivationTime);try{const i=await super.activatePlugin(e);clearTimeout(n);const s=performance.now();const o=s-t;if(o>=this._expectedActivationTime){const t=this._getDependentCount(e);console.warn(`Plugin ${e} (with ${t} dependants) took ${o.toFixed(2)}ms to activate.`)}return i}catch(i){clearTimeout(n);console.error(`Error activating plugin: ${e}`,i);throw i}}_getDependentCount(e){var t;const n=this._pluginData.get(e);if(!(n===null||n===void 0?void 0:n.provides))return 0;const i=n.provides.name;let s=0;for(const[o,r]of this._pluginData.entries()){if(o===e)continue;const n=(t=r.requires)===null||t===void 0?void 0:t.filter((e=>!!e)).some((e=>e.name===i));if(n){s++}}return s}}t.JupyterPluginRegistry=o},97058:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.signalToPromise=s;const i=n(5592);function s(e,t){const n=new i.PromiseDelegate;function s(){e.disconnect(o)}function o(e,t){s();n.resolve([e,t])}e.connect(o);if((t!==null&&t!==void 0?t:0)>0){setTimeout((()=>{s();n.reject(`Signal not emitted within ${t} ms.`)}),t)}return n.promise}},80121:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Text=void 0;var n;(function(e){const t="𝐚".length>1;function n(e,n){if(t){return e}let i=e;for(let t=0;t+1<n.length&&t<e;t++){const e=n.charCodeAt(t);if(e>=55296&&e<=56319){const e=n.charCodeAt(t+1);if(e>=56320&&e<=57343){i--;t++}}}return i}e.jsIndexToCharIndex=n;function i(e,n){if(t){return e}let i=e;for(let t=0;t+1<n.length&&t<i;t++){const e=n.charCodeAt(t);if(e>=55296&&e<=56319){const e=n.charCodeAt(t+1);if(e>=56320&&e<=57343){i++;t++}}}return i}e.charIndexToJsIndex=i;function s(e,t=false){return e.replace(/^(\w)|[\s-_:]+(\w)/g,(function(e,n,i){if(i){return i.toUpperCase()}else{return t?n.toUpperCase():n.toLowerCase()}}))}e.camelCase=s;function o(e){return(e||"").toLowerCase().split(" ").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" ")}e.titleCase=o})(n||(t.Text=n={}))},9659:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Time=void 0;const n=[{name:"years",milliseconds:365*24*60*60*1e3},{name:"months",milliseconds:30*24*60*60*1e3},{name:"days",milliseconds:24*60*60*1e3},{name:"hours",milliseconds:60*60*1e3},{name:"minutes",milliseconds:60*1e3},{name:"seconds",milliseconds:1e3}];var i;(function(e){function t(e,t="long"){const i=document.documentElement.lang||"en";const s=new Intl.RelativeTimeFormat(i,{numeric:"auto",style:t});const o=new Date(e).getTime()-Date.now();for(let r of n){const e=Math.ceil(o/r.milliseconds);if(e===0){continue}return s.format(e,r.name)}return s.format(0,"seconds")}e.formatHuman=t;function i(e){const t=document.documentElement.lang||"en";const n=new Intl.DateTimeFormat(t,{dateStyle:"short",timeStyle:"short"});return n.format(new Date(e))}e.format=i})(i||(t.Time=i={}))},67881:function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.URLExt=void 0;const s=n(57975);const o=i(n(61160));var r;(function(e){function t(e){if(typeof document!=="undefined"&&document){const t=document.createElement("a");t.href=e;return t}return(0,o.default)(e)}e.parse=t;function n(e){return(0,o.default)(e).hostname}e.getHostName=n;function i(e){return e&&t(e).toString()}e.normalize=i;function r(...e){let t=(0,o.default)(e[0],{});const n=t.protocol===""&&t.slashes;if(n){t=(0,o.default)(e[0],"https:"+e[0])}const i=`${n?"":t.protocol}${t.slashes?"//":""}${t.auth}${t.auth?"@":""}${t.host}`;const r=s.posix.join(`${!!i&&t.pathname[0]!=="/"?"/":""}${t.pathname}`,...e.slice(1));return`${i}${r==="."?"":r}`}e.join=r;function a(e){return r(...e.split("/").map(encodeURIComponent))}e.encodeParts=a;function l(e){const t=Object.keys(e).filter((e=>e.length>0));if(!t.length){return""}return"?"+t.map((t=>{const n=encodeURIComponent(String(e[t]));return t+(n?"="+n:"")})).join("&")}e.objectToQueryString=l;function d(e){return e.replace(/^\?/,"").split("&").reduce(((e,t)=>{const[n,i]=t.split("=");if(n.length>0){e[n]=decodeURIComponent(i||"")}return e}),{})}e.queryStringToObject=d;function c(e,n=false){const{protocol:i}=t(e);return(!i||e.toLowerCase().indexOf(i)!==0)&&(n?e.indexOf("//")!==0:e.indexOf("/")!==0)}e.isLocal=c})(r||(t.URLExt=r={}))},32254:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>j});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(92500);var l=n(69105);var d=n(41043);var c=n.n(d);var h=n(89433);var u=n.n(h);var p=n(40065);var m=n.n(p);var g=n(34881);var f=n.n(g);const v="CSVTable";const _="TSVTable";var b;(function(e){e.CSVGoToLine="csv:go-to-line";e.TSVGoToLine="tsv:go-to-line"})(b||(b={}));const y={activate:C,id:"@jupyterlab/csvviewer-extension:csv",description:"Adds viewer for CSV file types",requires:[g.ITranslator],optional:[i.ILayoutRestorer,o.IThemeManager,h.IMainMenu,d.ISearchProviderRegistry,p.ISettingRegistry,o.IToolbarWidgetRegistry],autoStart:true};const w={activate:x,id:"@jupyterlab/csvviewer-extension:tsv",description:"Adds viewer for TSV file types.",requires:[g.ITranslator],optional:[i.ILayoutRestorer,o.IThemeManager,h.IMainMenu,d.ISearchProviderRegistry,p.ISettingRegistry,o.IToolbarWidgetRegistry],autoStart:true};function C(e,t,i,s,r,d,c,h){var u;const{commands:p,shell:m}=e;let g;if(h){h.addFactory(v,"delimiter",(e=>new l.G({widget:e.content,translator:t})));if(c){g=(0,o.createToolbarFactory)(h,c,v,y.id,t)}}const f=t.load("jupyterlab");const _=new a.Pb({name:v,label:f.__("CSV Viewer"),fileTypes:["csv"],defaultFor:["csv"],readOnly:true,toolbarFactory:g,translator:t});const w=new o.WidgetTracker({namespace:"csvviewer"});let C=k.LIGHT_STYLE;let x=k.LIGHT_TEXT_CONFIG;if(i){void i.restore(w,{command:"docmanager:open",args:e=>({path:e.context.path,factory:v}),name:e=>e.context.path})}e.docRegistry.addWidgetFactory(_);const S=e.docRegistry.getFileType("csv");let j=false;_.widgetCreated.connect((async(e,t)=>{void w.add(t);t.context.pathChanged.connect((()=>{void w.save(t)}));if(S){t.title.icon=S.icon;t.title.iconClass=S.iconClass;t.title.iconLabel=S.iconLabel}if(d&&!j){const{CSVSearchProvider:e}=await Promise.all([n.e(4470),n.e(4685)]).then(n.bind(n,54041));d.add("csv",e);j=true}await t.content.ready;t.content.style=C;t.content.rendererConfig=x;I()}));const I=()=>{const e=s&&s.theme?s.isLight(s.theme):true;C=e?k.LIGHT_STYLE:k.DARK_STYLE;x=e?k.LIGHT_TEXT_CONFIG:k.DARK_TEXT_CONFIG;w.forEach((async e=>{await e.content.ready;e.content.style=C;e.content.rendererConfig=x}))};if(s){s.themeChanged.connect(I)}const T=()=>w.currentWidget!==null&&w.currentWidget===m.currentWidget;p.addCommand(b.CSVGoToLine,{label:f.__("Go to Line"),execute:async()=>{const e=w.currentWidget;if(e===null){return}const t=await o.InputDialog.getNumber({title:f.__("Go to Line"),value:0});if(t.button.accept&&t.value!==null){e.content.goToLine(t.value)}},isEnabled:T,describedBy:{args:{type:"object",properties:{}}}});if(r){r.editMenu.goToLiners.add({id:b.CSVGoToLine,isEnabled:T})}const E=()=>{p.notifyCommandChanged(b.CSVGoToLine)};w.currentChanged.connect(E);(u=m.currentChanged)===null||u===void 0?void 0:u.connect(E)}function x(e,t,i,s,r,d,c,h){const{commands:u,shell:p}=e;let m;if(h){h.addFactory(_,"delimiter",(e=>new l.G({widget:e.content,translator:t})));if(c){m=(0,o.createToolbarFactory)(h,c,_,w.id,t)}}const g=t.load("jupyterlab");const f=new a.og({name:_,label:g.__("TSV Viewer"),fileTypes:["tsv"],defaultFor:["tsv"],readOnly:true,toolbarFactory:m,translator:t});const v=new o.WidgetTracker({namespace:"tsvviewer"});let y=k.LIGHT_STYLE;let C=k.LIGHT_TEXT_CONFIG;if(i){void i.restore(v,{command:"docmanager:open",args:e=>({path:e.context.path,factory:_}),name:e=>e.context.path})}e.docRegistry.addWidgetFactory(f);const x=e.docRegistry.getFileType("tsv");let S=false;f.widgetCreated.connect((async(e,t)=>{void v.add(t);t.context.pathChanged.connect((()=>{void v.save(t)}));if(x){t.title.icon=x.icon;t.title.iconClass=x.iconClass;t.title.iconLabel=x.iconLabel}if(d&&!S){const{CSVSearchProvider:e}=await Promise.all([n.e(4470),n.e(4685)]).then(n.bind(n,54041));d.add("tsv",e);S=true}await t.content.ready;t.content.style=y;t.content.rendererConfig=C}));const j=()=>{const e=s&&s.theme?s.isLight(s.theme):true;y=e?k.LIGHT_STYLE:k.DARK_STYLE;C=e?k.LIGHT_TEXT_CONFIG:k.DARK_TEXT_CONFIG;v.forEach((async e=>{await e.content.ready;e.content.style=y;e.content.rendererConfig=C}))};if(s){s.themeChanged.connect(j)}const I=()=>v.currentWidget!==null&&v.currentWidget===p.currentWidget;u.addCommand(b.TSVGoToLine,{label:g.__("Go to Line"),execute:async()=>{const e=v.currentWidget;if(e===null){return}const t=await o.InputDialog.getNumber({title:g.__("Go to Line"),value:0});if(t.button.accept&&t.value!==null){e.content.goToLine(t.value)}},isEnabled:I,describedBy:{args:{type:"object",properties:{}}}});if(r){r.editMenu.goToLiners.add({id:b.TSVGoToLine,isEnabled:I})}v.currentChanged.connect((()=>{u.notifyCommandChanged(b.TSVGoToLine)}))}const S=[y,w];const j=S;var k;(function(e){e.LIGHT_STYLE={voidColor:"#F3F3F3",backgroundColor:"white",headerBackgroundColor:"#EEEEEE",gridLineColor:"rgba(20, 20, 20, 0.15)",headerGridLineColor:"rgba(20, 20, 20, 0.25)",rowBackgroundColor:e=>e%2===0?"#F5F5F5":"white"};e.DARK_STYLE={voidColor:"black",backgroundColor:"#111111",headerBackgroundColor:"#424242",gridLineColor:"rgba(235, 235, 235, 0.15)",headerGridLineColor:"rgba(235, 235, 235, 0.25)",rowBackgroundColor:e=>e%2===0?"#212121":"#111111"};e.LIGHT_TEXT_CONFIG={textColor:"#111111",matchBackgroundColor:"#FFFFE0",currentMatchBackgroundColor:"#FFFF00",horizontalAlignment:"right"};e.DARK_TEXT_CONFIG={textColor:"#F5F5F5",matchBackgroundColor:"#838423",currentMatchBackgroundColor:"#A3807A",horizontalAlignment:"right"}})(k||(k={}))},54041:(e,t,n)=>{"use strict";n.d(t,{CSVSearchProvider:()=>d});var i=n(84685);var s=n.n(i);var o=n(93067);var r=n.n(o);var a=n(41043);var l=n.n(a);class d extends a.SearchProvider{constructor(){super(...arguments);this.isReadOnly=true}static createNew(e,t){return new d(e)}static isApplicable(e){return e instanceof o.DocumentWidget&&e.content instanceof i.CSVViewer}clearHighlight(){return Promise.resolve()}highlightNext(e){this.widget.content.searchService.find(this._query);return Promise.resolve(undefined)}highlightPrevious(e){this.widget.content.searchService.find(this._query,true);return Promise.resolve(undefined)}replaceCurrentMatch(e,t){return Promise.resolve(false)}replaceAllMatches(e){return Promise.resolve(false)}startQuery(e){this._query=e;this.widget.content.searchService.find(e);return Promise.resolve()}endQuery(){this.widget.content.searchService.clear();return Promise.resolve()}}},36672:(e,t,n)=>{"use strict";var i=n(10395);var s=n(97913);var o=n(79010);var r=n(3579);var a=n(40662);var l=n(85072);var d=n.n(l);var c=n(97825);var h=n.n(c);var u=n(77659);var p=n.n(u);var m=n(55056);var g=n.n(m);var f=n(10540);var v=n.n(f);var _=n(41113);var b=n.n(_);var y=n(40538);var w={};w.styleTagTransform=b();w.setAttributes=g();w.insert=p().bind(null,"head");w.domAPI=h();w.insertStyleElement=v();var C=d()(y.A,w);const x=y.A&&y.A.locals?y.A.locals:undefined;var S=n(19562);var j=n(67996)},77678:(e,t,n)=>{"use strict";n.r(t);n.d(t,{CSVDelimiter:()=>o.G,CSVDocumentWidget:()=>r.Am,CSVViewer:()=>r.t2,CSVViewerFactory:()=>r.Pb,DSVModel:()=>i.DSVModel,GridSearchService:()=>r.Mv,TSVViewerFactory:()=>r.og,TextRenderConfig:()=>r.Gg,parseDSV:()=>s.h,parseDSVNoQuotes:()=>s.l});var i=n(77515);var s=n(69181);var o=n(69105);var r=n(92500)},77515:(e,t,n)=>{"use strict";n.r(t);n.d(t,{DSVModel:()=>d});var i=n(5592);var s=n.n(i);var o=n(44505);var r=n.n(o);var a=n(69181);const l={quotes:a.h,noquotes:a.l};class d extends o.DataModel{constructor(e){super();this._rowCount=0;this._header=[];this._columnOffsets=new Uint32Array(0);this._columnOffsetsStartingRow=0;this._maxCacheGet=1e3;this._rowOffsets=new Uint32Array(0);this._delayedParse=null;this._startedParsing=false;this._doneParsing=false;this._isDisposed=false;this._ready=new i.PromiseDelegate;let{data:t,delimiter:n=",",rowDelimiter:s=undefined,quote:o='"',quoteParser:r=undefined,header:a=true,initialRows:l=500}=e;this._rawData=t;this._delimiter=n;this._quote=o;this._quoteEscaped=new RegExp(o+o,"g");this._initialRows=l;if(s===undefined){const e=t.slice(0,5e3).indexOf("\r");if(e===-1){s="\n"}else if(t[e+1]==="\n"){s="\r\n"}else{s="\r"}}this._rowDelimiter=s;if(r===undefined){r=t.indexOf(o)>=0}this._parser=r?"quotes":"noquotes";this.parseAsync();if(a===true&&this._columnCount>0){const e=[];for(let t=0;t<this._columnCount;t++){e.push(this._getField(0,t))}this._header=e}}get isDisposed(){return this._isDisposed}get ready(){return this._ready.promise}get rawData(){return this._rawData}set rawData(e){this._rawData=e}get initialRows(){return this._initialRows}set initialRows(e){this._initialRows=e}get header(){return this._header}set header(e){this._header=e}get delimiter(){return this._delimiter}get rowDelimiter(){return this._rowDelimiter}get doneParsing(){return this._doneParsing}rowCount(e){if(e==="body"){if(this._header.length===0){return this._rowCount}else{return this._rowCount-1}}return 1}columnCount(e){if(e==="body"){return this._columnCount}return 1}data(e,t,n){let i;switch(e){case"body":if(this._header.length===0){i=this._getField(t,n)}else{i=this._getField(t+1,n)}break;case"column-header":if(this._header.length===0){i=(n+1).toString()}else{i=this._header[n]}break;case"row-header":i=(t+1).toString();break;case"corner-header":i="";break;default:throw"unreachable"}return i}dispose(){if(this._isDisposed){return}this._isDisposed=true;this._columnCount=undefined;this._rowCount=undefined;this._rowOffsets=null;this._columnOffsets=null;this._rawData=null;if(this._doneParsing===false){this.ready.catch((()=>{}));this._ready.reject(undefined)}if(this._delayedParse!==null){window.clearTimeout(this._delayedParse)}}getOffsetIndex(e,t){const n=this._columnCount;let i=(e-this._columnOffsetsStartingRow)*n;if(i<0||i>this._columnOffsets.length){this._columnOffsets.fill(4294967295);this._columnOffsetsStartingRow=e;i=0}if(this._columnOffsets[i]===4294967295){let t=1;while(t<=this._maxCacheGet&&this._columnOffsets[i+t*n]===16777215){t++}const{offsets:s}=l[this._parser]({data:this._rawData,delimiter:this._delimiter,rowDelimiter:this._rowDelimiter,quote:this._quote,columnOffsets:true,maxRows:t,ncols:n,startIndex:this._rowOffsets[e]});for(let e=0;e<s.length;e++){this._columnOffsets[i+e]=s[e]}}return this._columnOffsets[i+t]}parseAsync(){let e=this._initialRows;let t=Math.pow(2,32)-1;const n=30;const i=e=>{try{this._computeRowOffsets(e)}catch(t){if(this._parser==="quotes"){console.warn(t);this._parser="noquotes";this._resetParser();this._computeRowOffsets(e)}else{throw t}}return this._doneParsing};this._resetParser();const s=i(e);if(s){return}const o=()=>{const s=i(e+t);e+=t;if(t<1e6){t*=2}if(s){this._delayedParse=null}else{this._delayedParse=window.setTimeout(o,n)}};this._delayedParse=window.setTimeout(o,n)}_computeRowOffsets(e=4294967295){var t;if(this._rowCount>=e||this._doneParsing===true){return}if(this._columnCount===undefined){this._columnCount=l[this._parser]({data:this._rawData,delimiter:this._delimiter,rowDelimiter:this._rowDelimiter,quote:this._quote,columnOffsets:true,maxRows:1}).ncols}const n=this._rowCount>0?1:0;const{nrows:i,offsets:s}=l[this._parser]({data:this._rawData,startIndex:(t=this._rowOffsets[this._rowCount-n])!==null&&t!==void 0?t:0,delimiter:this._delimiter,rowDelimiter:this._rowDelimiter,quote:this._quote,columnOffsets:false,maxRows:e-this._rowCount+n});if(this._startedParsing&&i<=n){this._doneParsing=true;this._ready.resolve(undefined);return}this._startedParsing=true;const o=this._rowCount;const r=Math.min(i,n);this._rowCount=o+i-r;if(this._rowCount<e){this._doneParsing=true;this._ready.resolve(undefined)}if(this._rowCount>o){const e=this._rowOffsets;this._rowOffsets=new Uint32Array(this._rowCount);this._rowOffsets.set(e);this._rowOffsets.set(s,o-r)}const a=Math.floor(33554432/this._columnCount);if(o<=a){if(this._rowCount<=a){const e=this._columnOffsets;this._columnOffsets=new Uint32Array(this._rowCount*this._columnCount);this._columnOffsets.set(e);this._columnOffsets.fill(4294967295,e.length)}else{const e=this._columnOffsets;this._columnOffsets=new Uint32Array(Math.min(this._maxCacheGet,a)*this._columnCount);this._columnOffsets.set(e.subarray(0,this._columnOffsets.length));this._columnOffsets.fill(4294967295,e.length);this._columnOffsetsStartingRow=0}}let d=o;if(this._header.length>0){d-=1}this.emitChanged({type:"rows-inserted",region:"body",index:d,span:this._rowCount-o})}_getField(e,t){let n;let i;const s=this.getOffsetIndex(e,t);let o=0;let r=0;if(t===this._columnCount-1){if(e<this._rowCount-1){i=this.getOffsetIndex(e+1,0);o+=this._rowDelimiter.length}else{i=this._rawData.length;if(this._rawData[i-1]===this._rowDelimiter[this._rowDelimiter.length-1]){o+=this._rowDelimiter.length}}}else{i=this.getOffsetIndex(e,t+1);if(s<i&&this._rawData[i-1]===this._delimiter){o+=1}}if(this._rawData[s]===this._quote){r+=1;o+=1}n=this._rawData.slice(s+r,i-o);if(r===1&&n.indexOf(this._quote)!==-1){n=n.replace(this._quoteEscaped,this._quote)}return n}_resetParser(){this._columnCount=undefined;this._rowOffsets=new Uint32Array(0);this._rowCount=0;this._startedParsing=false;this._columnOffsets=new Uint32Array(0);if(this._doneParsing===false){this.ready.catch((()=>{}));this._ready.reject(undefined)}this._doneParsing=false;this._ready=new i.PromiseDelegate;if(this._delayedParse!==null){window.clearTimeout(this._delayedParse);this._delayedParse=null}this.emitChanged({type:"model-reset"})}}},69181:(e,t,n)=>{"use strict";n.d(t,{h:()=>o,l:()=>r});var i;(function(e){e[e["QUOTED_FIELD"]=0]="QUOTED_FIELD";e[e["QUOTED_FIELD_QUOTE"]=1]="QUOTED_FIELD_QUOTE";e[e["UNQUOTED_FIELD"]=2]="UNQUOTED_FIELD";e[e["NEW_FIELD"]=3]="NEW_FIELD";e[e["NEW_ROW"]=4]="NEW_ROW"})(i||(i={}));var s;(function(e){e[e["CR"]=0]="CR";e[e["CRLF"]=1]="CRLF";e[e["LF"]=2]="LF"})(s||(s={}));function o(e){const{data:t,columnOffsets:n,delimiter:o=",",startIndex:r=0,maxRows:a=4294967295,rowDelimiter:l="\r\n",quote:d='"'}=e;let c=e.ncols;let h=0;const u=[];const p=o.charCodeAt(0);const m=d.charCodeAt(0);const g=10;const f=13;const v=t.length;const{QUOTED_FIELD:_,QUOTED_FIELD_QUOTE:b,UNQUOTED_FIELD:y,NEW_FIELD:w,NEW_ROW:C}=i;const{CR:x,LF:S,CRLF:j}=s;const[k,I]=l==="\r\n"?[j,2]:l==="\r"?[x,1]:[S,1];let T=C;let E=r;let M=0;let D;while(E<v){if(T===C){u.push(E);M=1}D=t.charCodeAt(E);switch(T){case C:case w:switch(D){case m:T=_;break;case p:T=w;break;case f:if(k===x){T=C}else if(k===j&&t.charCodeAt(E+1)===g){E++;T=C}else{throw`string index ${E} (in row ${h}, column ${M}): carriage return found, but not as part of a row delimiter C ${t.charCodeAt(E+1)}`}break;case g:if(k===S){T=C}else{throw`string index ${E} (in row ${h}, column ${M}): line feed found, but row delimiter starts with a carriage return`}break;default:T=y;break}break;case _:E=t.indexOf(d,E);if(E<0){throw`string index ${E} (in row ${h}, column ${M}): mismatched quote`}T=b;break;case b:switch(D){case m:T=_;break;case p:T=w;break;case f:if(k===x){T=C}else if(k===j&&t.charCodeAt(E+1)===g){E++;T=C}else{throw`string index ${E} (in row ${h}, column ${M}): carriage return found, but not as part of a row delimiter C ${t.charCodeAt(E+1)}`}break;case g:if(k===S){T=C}else{throw`string index ${E} (in row ${h}, column ${M}): line feed found, but row delimiter starts with a carriage return`}break;default:throw`string index ${E} (in row ${h}, column ${M}): quote in escaped field not followed by quote, delimiter, or row delimiter`}break;case y:while(E<v){D=t.charCodeAt(E);if(D===p||D===g||D===f){break}E++}switch(D){case p:T=w;break;case f:if(k===x){T=C}else if(k===j&&t.charCodeAt(E+1)===g){E++;T=C}else{throw`string index ${E} (in row ${h}, column ${M}): carriage return found, but not as part of a row delimiter C ${t.charCodeAt(E+1)}`}break;case g:if(k===S){T=C}else{throw`string index ${E} (in row ${h}, column ${M}): line feed found, but row delimiter starts with a carriage return`}break;default:continue}break;default:throw`string index ${E} (in row ${h}, column ${M}): state not recognized`}E++;switch(T){case C:h++;if(c===undefined){if(h!==1){throw new Error("Error parsing default number of columns")}c=M}if(n===true){if(M<c){for(;M<c;M++){u.push(E-I)}}else if(M>c){u.length=u.length-(M-c)}}if(h===a){return{nrows:h,ncols:n?c:0,offsets:u}}break;case w:if(n===true){u.push(E)}M++;break;default:break}}if(T!==C){h++;if(n===true){if(c===undefined){c=M}if(M<c){for(;M<c;M++){u.push(E-(I-1))}}else if(M>c){u.length=u.length-(M-c)}}}return{nrows:h,ncols:n?c!==null&&c!==void 0?c:0:0,offsets:u}}function r(e){const{data:t,columnOffsets:n,delimiter:i=",",rowDelimiter:s="\r\n",startIndex:o=0,maxRows:r=4294967295}=e;let a=e.ncols;const l=[];let d=0;const c=s.length;let h=o;const u=t.length;let p;let m;let g;let f;let v;p=o;while(p!==-1&&d<r&&h<u){l.push(h);d++;p=t.indexOf(s,h);v=p===-1?u:p;if(n===true){m=1;g=t.slice(h,v);f=g.indexOf(i);if(a===undefined){while(f!==-1){l.push(h+f+1);m++;f=g.indexOf(i,f+1)}a=m}else{while(f!==-1&&m<a){l.push(h+f+1);m++;f=g.indexOf(i,f+1)}while(m<a){l.push(v);m++}}}h=v+c}return{nrows:d,ncols:n?a!==null&&a!==void 0?a:0:0,offsets:l}}},69105:(e,t,n)=>{"use strict";n.d(t,{G:()=>u});var i=n(34881);var s=n.n(i);var o=n(4073);var r=n.n(o);var a=n(27518);var l=n.n(a);const d="jp-CSVDelimiter";const c="jp-CSVDelimiter-label";const h="jp-CSVDelimiter-dropdown";class u extends a.Widget{constructor(e){super({node:p.createNode(e.widget.delimiter,e.translator)});this._widget=e.widget;this.addClass(d)}get selectNode(){return this.node.getElementsByTagName("select")[0]}handleEvent(e){switch(e.type){case"change":this._widget.delimiter=this.selectNode.value;break;default:break}}onAfterAttach(e){this.selectNode.addEventListener("change",this)}onBeforeDetach(e){this.selectNode.removeEventListener("change",this)}}var p;(function(e){function t(e,t){t=t||i.nullTranslator;const n=t===null||t===void 0?void 0:t.load("jupyterlab");const s=[[",",","],[";",";"],["\t",n.__("tab")],["|",n.__("pipe")],["#",n.__("hash")]];const r=document.createElement("div");const a=document.createElement("span");const l=document.createElement("select");a.textContent=n.__("Delimiter: ");a.className=c;for(const[i,o]of s){const t=document.createElement("option");t.value=i;t.textContent=o;if(i===e){t.selected=true}l.appendChild(t)}r.appendChild(a);const d=o.Styling.wrapSelect(l);d.classList.add(h);r.appendChild(d);return r}e.createNode=t})(p||(p={}))},92500:(e,t,n)=>{"use strict";n.d(t,{Am:()=>y,Gg:()=>v,Mv:()=>_,Pb:()=>w,og:()=>C,t2:()=>b});var i=n(40959);var s=n.n(i);var o=n(93067);var r=n.n(o);var a=n(5592);var l=n.n(a);var d=n(2336);var c=n.n(d);var h=n(27518);var u=n.n(h);var p=n(69105);const m="jp-CSVViewer";const g="jp-CSVViewer-grid";const f=1e3;class v{}class _{constructor(e){this._looping=true;this._changed=new d.Signal(this);this._grid=e;this._query=null;this._row=0;this._column=-1}get changed(){return this._changed}cellBackgroundColorRendererFunc(e){return({value:t,row:n,column:i})=>{if(this._query){if(t.match(this._query)){if(this._row===n&&this._column===i){return e.currentMatchBackgroundColor}return e.matchBackgroundColor}}return""}}clear(){this._query=null;this._row=0;this._column=-1;this._changed.emit(undefined)}find(e,t=false){const n=this._grid.dataModel;const i=n.rowCount("body");const s=n.columnCount("body");if(this._query!==e){this._row=0;this._column=-1}this._query=e;const o=this._grid.scrollY/this._grid.defaultSizes.rowHeight;const r=(this._grid.scrollY+this._grid.pageHeight)/this._grid.defaultSizes.rowHeight;const a=this._grid.scrollX/this._grid.defaultSizes.columnHeaderHeight;const l=(this._grid.scrollX+this._grid.pageWidth)/this._grid.defaultSizes.columnHeaderHeight;const d=(e,t)=>e>=o&&e<=r&&t>=a&&t<=l;const c=t?-1:1;this._column+=c;for(let h=this._row;t?h>=0:h<i;h+=c){for(let i=this._column;t?i>=0:i<s;i+=c){const t=n.data("body",h,i);if(t.match(e)){this._changed.emit(undefined);if(!d(h,i)){this._grid.scrollToRow(h)}this._row=h;this._column=i;return true}}this._column=t?s-1:0}if(this._looping){this._looping=false;this._row=t?0:i-1;this._wrapRows(t);try{return this.find(e,t)}finally{this._looping=true}}return false}_wrapRows(e=false){const t=this._grid.dataModel;const n=t.rowCount("body");const i=t.columnCount("body");if(e&&this._row<=0){this._row=n-1;this._column=i}else if(!e&&this._row>=n-1){this._row=0;this._column=-1}}get query(){return this._query}}class b extends h.Widget{constructor(e){super();this._monitor=null;this._delimiter=",";this._revealed=new a.PromiseDelegate;this._baseRenderer=null;this._context=e.context;this.layout=new h.PanelLayout;this.addClass(m);this._ready=this.initialize()}get ready(){return this._ready}async initialize(){const e=this.layout;if(this.isDisposed||!e){return}const{BasicKeyHandler:t,BasicMouseHandler:n,DataGrid:s}=await x.ensureDataGrid();this._defaultStyle=s.defaultStyle;this._grid=new s({defaultSizes:{rowHeight:24,columnWidth:144,rowHeaderWidth:64,columnHeaderHeight:36}});this._grid.addClass(g);this._grid.headerVisibility="all";this._grid.keyHandler=new t;this._grid.mouseHandler=new n;this._grid.copyConfig={separator:"\t",format:s.copyFormatGeneric,headers:"all",warningThreshold:1e6};e.addWidget(this._grid);this._searchService=new _(this._grid);this._searchService.changed.connect(this._updateRenderer,this);await this._context.ready;await this._updateGrid();this._revealed.resolve(undefined);this._monitor=new i.ActivityMonitor({signal:this._context.model.contentChanged,timeout:f});this._monitor.activityStopped.connect(this._updateGrid,this)}get context(){return this._context}get revealed(){return this._revealed.promise}get delimiter(){return this._delimiter}set delimiter(e){if(e===this._delimiter){return}this._delimiter=e;void this._updateGrid()}get style(){return this._grid.style}set style(e){this._grid.style={...this._defaultStyle,...e}}set rendererConfig(e){this._baseRenderer=e;void this._updateRenderer()}get searchService(){return this._searchService}dispose(){if(this._monitor){this._monitor.dispose()}super.dispose()}goToLine(e){this._grid.scrollToRow(e)}onActivateRequest(e){this.node.tabIndex=-1;this.node.focus()}async _updateGrid(){const{BasicSelectionModel:e}=await x.ensureDataGrid();const{DSVModel:t}=await x.ensureDSVModel();const n=this._context.model.toString();const i=this._delimiter;const s=this._grid.dataModel;const o=this._grid.dataModel=new t({data:n,delimiter:i});this._grid.selectionModel=new e({dataModel:o});if(s){s.dispose()}}async _updateRenderer(){if(this._baseRenderer===null){return}const{TextRenderer:e}=await x.ensureDataGrid();const t=this._baseRenderer;const n=new e({textColor:t.textColor,horizontalAlignment:t.horizontalAlignment,backgroundColor:this._searchService.cellBackgroundColorRendererFunc(t)});this._grid.cellRenderers.update({body:n,"column-header":n,"corner-header":n,"row-header":n})}}class y extends o.DocumentWidget{constructor(e){let{content:t,context:n,delimiter:i,reveal:s,...o}=e;t=t||x.createContent(n);s=Promise.all([s,t.revealed]);super({content:t,context:n,reveal:s,...o});if(i){t.delimiter=i}}setFragment(e){const t=e.split("=");if(t[0]!=="#row"){return}let n=t[1].split(";")[0];n=n.split("-")[0];void this.context.ready.then((()=>{this.content.goToLine(Number(n))}))}}class w extends o.ABCWidgetFactory{createNewWidget(e){const t=this.translator;return new y({context:e,translator:t})}defaultToolbarFactory(e){return[{name:"delimiter",widget:new p.G({widget:e.content,translator:this.translator})}]}}class C extends w{createNewWidget(e){const t="\t";return new y({context:e,delimiter:t,translator:this.translator})}}var x;(function(e){let t=null;let i=null;async function s(){if(t==null){t=new a.PromiseDelegate;t.resolve(await n.e(4505).then(n.t.bind(n,44505,23)))}return t.promise}e.ensureDataGrid=s;async function o(){if(i==null){i=new a.PromiseDelegate;i.resolve(await Promise.all([n.e(4470),n.e(4505)]).then(n.bind(n,77515)))}return i.promise}e.ensureDSVModel=o;function r(e){return new b({context:e})}e.createContent=r})(x||(x={}))},55923:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>R});var i=n(88617);var s=n(38850);var o=n(44389);var r=n(59733);var a=n(40959);var l=n(94267);var d=n(93067);var c=n(50655);var h=n(74823);var u=n(95513);var p=n(40065);var m=n(34881);var g=n(25481);class f{constructor(e){this._debuggerService=e.debuggerService;this._trans=e.trans}createDisplayData(e,t){return{output_type:"display_data",data:{"text/plain":e},metadata:{execution_count:t}}}async evaluateWithDebugger(e){const{code:t,executionCount:n}=e;try{if(!this._debuggerService.hasStoppedThreads()){return this.createDisplayData(this._trans.__("Debugger does not have stopped threads - cannot evaluate"),n)}const e=await this._debuggerService.evaluate(t);if(!e){return this.createDisplayData(this._trans.__("Evaluation resulted in an error"),n)}return this.createDisplayData(e.result,n)}catch(i){console.error("Error evaluating code with debugger:",i);return this.createDisplayData(`Error: ${i}`,n)}}async runCell(e){const{cell:t}=e;const n=t.model.sharedModel.getSource();const i=t.model.sharedModel.execution_count;const s=await this.evaluateWithDebugger({code:n,executionCount:i});if(!s){const e=this.createDisplayData(this._trans.__("Could not display output data"),i);t.model.outputs.add(e);return false}t.model.outputs.add(s);return true}}class v{constructor(e){this.options=e;this.identifier="DebuggerCompletionProvider";this.rank=1e3;const t=e.translator||m.nullTranslator;this._trans=t.load("jupyterlab");this.name=this._trans.__("Debugger");this._debuggerService=e.debuggerService}async isApplicable(e){var t,n,i;try{const e=await((i=(n=(t=this._debuggerService.session)===null||t===void 0?void 0:t.connection)===null||n===void 0?void 0:n.kernel)===null||i===void 0?void 0:i.spec);return(e===null||e===void 0?void 0:e.language)==="python"}catch(s){return false}}async fetch(e,t,n){var i,s;let o=[];let r;try{const{text:t,offset:n}=e;const i=`\nfrom IPython.core.completer import provisionalcompleter as _provisionalcompleter\nfrom IPython.core.completer import rectify_completions as _rectify_completions\nfrom IPython.core.completer import IPCompleter\n_EXPERIMENTAL_KEY_NAME = "_jupyter_types_experimental"\n\ndef getCompletionsForDebugger(code, cursor_pos):\n ip = get_ipython()\n\n # Access the current debugger frame\n import inspect\n current_frame = inspect.currentframe()\n\n # Get the frame that called this function (the debugger's target frame)\n caller_frame = current_frame.f_back if current_frame else None\n\n # Get the debugger's frame variables\n if caller_frame:\n frame_locals = caller_frame.f_locals\n frame_globals = caller_frame.f_globals\n else:\n frame_locals = locals()\n frame_globals = globals()\n\n local_completer = IPCompleter(shell=ip, namespace=frame_locals, global_namespace=frame_globals, parent=ip)\n\n with _provisionalcompleter():\n raw_completions = local_completer.completions(code, cursor_pos)\n completions = list(_rectify_completions(code, raw_completions))\n\n comps = []\n for comp in completions:\n comps.append(\n dict(\n start=comp.start,\n end=comp.end,\n text=comp.text,\n type=comp.type,\n signature=comp.signature,\n )\n )\n\n if completions:\n s = completions[0].start\n e = completions[0].end\n matches = [c.text for c in completions]\n types = [c.type for c in completions]\n else:\n s = cursor_pos\n e = cursor_pos\n matches = []\n types = []\n\n result = {\n "matches": matches,\n "types": types,\n "cursor_end": e,\n "cursor_start": s,\n "status": "ok",\n }\n\n return result\n`;await this._debuggerService.evaluate(i);const s=`getCompletionsForDebugger(${JSON.stringify(t)}, ${n})`;const a=await this._debuggerService.evaluate(s);if(!a){return{start:0,end:0,items:[]}}const l=a.result;let c=l.replace(/'/g,'"');c=c.replace(/, \.\.\./g,"");try{r=JSON.parse(c)}catch(d){console.error("Failed to parse corrected matches:",d);return{start:0,end:0,items:[]}}const h=r.matches.map(((e,t)=>{var n;return{label:e,insertText:e,type:((n=r.types)===null||n===void 0?void 0:n[t])||undefined}}));o=[...h]}catch(d){console.warn("Error fetching debugger completions:",d);return{start:0,end:0,items:[]}}const a=(i=r.cursor_start)!==null&&i!==void 0?i:0;const l=(s=r.cursor_end)!==null&&s!==void 0?s:0;return{start:a,end:l,items:o}}}var _=n(88459);function b(e){Object.values(l.Debugger.CommandIDs).forEach((t=>{if(e.hasCommand(t)){e.notifyCommandChanged(t)}}))}function y(e,t){const n=t.hasStoppedThreads();if(n){document.body.dataset.jpDebuggerStoppedThreads="true"}else{delete document.body.dataset.jpDebuggerStoppedThreads}b(e)}const w={id:"@jupyterlab/debugger-extension:consoles",description:"Add debugger capability to the consoles.",autoStart:true,requires:[l.IDebugger,r.IConsoleTracker],optional:[i.ILabShell,p.ISettingRegistry,m.ITranslator,l.IDebuggerDisplayRegistry],activate:async(e,t,n,i,s,o,a)=>{if(s){const e=await(s===null||s===void 0?void 0:s.load(D.id));const t=()=>{var t;const n=(t=e.composite["showPausedOverlay"])!==null&&t!==void 0?t:true;document.body.dataset.showPausedOverlay=n?"true":"false"};t();e.changed.connect(t)}const d=new l.Debugger.Handler({type:"console",shell:e.shell,service:t,translator:o});const c=async n=>{const{sessionContext:i}=n;await i.ready;await d.updateContext(n,i);y(e.commands,t)};if(i){i.currentChanged.connect(((e,t)=>{const n=t.newValue;if(n instanceof r.ConsolePanel){void c(n)}}))}else{n.currentChanged.connect(((e,t)=>{if(t){void c(t)}}))}if(a){a.register({canHandle(e){var t,n;return(n=(t=e.path)===null||t===void 0?void 0:t.includes("ipykernel_"))!==null&&n!==void 0?n:false},getDisplayName(e){var i;let s=(i=e.path)!==null&&i!==void 0?i:"";n.forEach((n=>{var i,o;for(const r of n.console.cells){const n=r.model;if(!(0,_.isCodeCellModel)(n)){continue}const a=n.sharedModel.getSource();const l=t.getCodeId(a);if(l&&l===e.path){const e=(i=n.executionCount)!==null&&i!==void 0?i:null;const t=(o=n.executionState)!==null&&o!==void 0?o:null;if(t==="running"){s="In [*]"}else if(e===null){s="In [ ]"}else{s=`In [${e}]`}return}}}));return s}})}}};const C={id:"@jupyterlab/debugger-extension:files",description:"Adds debugger capabilities to files.",autoStart:true,requires:[l.IDebugger,c.IEditorTracker],optional:[i.ILabShell,p.ISettingRegistry,m.ITranslator],activate:async(e,t,n,i,s,o)=>{if(s){const e=await(s===null||s===void 0?void 0:s.load(D.id));const t=()=>{var t;const n=(t=e.composite["showPausedOverlay"])!==null&&t!==void 0?t:true;document.body.dataset.showPausedOverlay=n?"true":"false"};t();e.changed.connect(t)}const r=new l.Debugger.Handler({type:"file",shell:e.shell,service:t,translator:o});const a={};const h=async n=>{const i=e.serviceManager.sessions;try{const s=await i.findByPath(n.context.path);if(!s){return}let o=a[s.id];if(!o){o=i.connectTo({model:s});a[s.id]=o}await r.update(n,o);y(e.commands,t)}catch(s){return}};if(i){i.currentChanged.connect(((e,t)=>{const n=t.newValue;if(n instanceof d.DocumentWidget){const{content:e}=n;if(e instanceof c.FileEditor){void h(n)}}}))}else{n.currentChanged.connect(((e,t)=>{if(t){void h(t)}}))}}};const x={id:"@jupyterlab/debugger-extension:notebooks",description:"Adds debugger capability to notebooks and provides the debugger notebook handler.",autoStart:true,requires:[l.IDebugger,h.INotebookTracker],optional:[i.ILabShell,s.ICommandPalette,s.ISessionContextDialogs,p.ISettingRegistry,m.ITranslator,l.IDebuggerDisplayRegistry],provides:l.IDebuggerHandler,activate:async(e,t,n,i,o,r,a,d,c)=>{const u=d!==null&&d!==void 0?d:m.nullTranslator;if(a){const e=await(a===null||a===void 0?void 0:a.load(D.id));const t=()=>{var t;const n=(t=e.composite["showPausedOverlay"])!==null&&t!==void 0?t:true;document.body.dataset.showPausedOverlay=n?"true":"false"};t();e.changed.connect(t)}const p=r!==null&&r!==void 0?r:new s.SessionContextDialogs({translator:u});const g=new l.Debugger.Handler({type:"notebook",shell:e.shell,service:t,translator:u});const f=u.load("jupyterlab");e.commands.addCommand(l.Debugger.CommandIDs.restartDebug,{label:f.__("Restart Kernel and Debug…"),caption:f.__("Restart Kernel and Debug…"),isEnabled:()=>t.isStarted,describedBy:{args:{type:"object",properties:{}}},execute:async()=>{const e=t.getDebuggerState();const i=n.currentWidget;if(!i){return}const{content:s,sessionContext:o}=i;const r=await p.restart(o,{onBeforeRestart:async()=>{await t.stop()}});if(!r){return}await t.start();await t.restoreDebuggerState(e);await g.updateWidget(i,o.session);await h.NotebookActions.runAll(s,o,p,u)}});const v=async n=>{if(n){const{sessionContext:e}=n;await e.ready;await g.updateContext(n,e);await g.updateWidget(n,e.session)}y(e.commands,t)};if(i){i.currentChanged.connect(((e,t)=>{const n=t.newValue;if(n instanceof h.NotebookPanel){void v(n)}}))}else{n.currentChanged.connect(((e,t)=>{if(t){void v(t)}}))}if(o){o.addItem({category:"Notebook Operations",command:l.Debugger.CommandIDs.restartDebug})}if(c){c.register({canHandle(e){var t,n;return(n=(t=e.path)===null||t===void 0?void 0:t.includes("ipykernel_"))!==null&&n!==void 0?n:false},getDisplayName(e){var i;let s=(i=e.path)!==null&&i!==void 0?i:"";n.forEach((n=>{for(const i of n.content.widgets){const n=i.model;if(!(0,_.isCodeCellModel)(n)){continue}const o=n.sharedModel.getSource();const r=t.getCodeId(o);if(r===e.path){const e=n.executionCount;if(n.executionState==="running"){s="Cell [*]"}else{s=e==null?"Cell [ ]":`Cell [${e}]`}return}}}));return s}})}return g}};const S={id:"@jupyterlab/debugger-extension:service",description:"Provides the debugger service.",autoStart:true,provides:l.IDebugger,requires:[l.IDebuggerConfig],optional:[l.IDebuggerDisplayRegistry,l.IDebuggerSources,m.ITranslator],activate:(e,t,n,i,s)=>new l.Debugger.Service({config:t,displayRegistry:n,debuggerSources:i,specsManager:e.serviceManager.kernelspecs,translator:s})};const j={id:"@jupyterlab/debugger-extension:display-registry",description:"Provides the debugger display registry for cell/file display names.",provides:l.IDebuggerDisplayRegistry,autoStart:true,activate:()=>new l.DebuggerDisplayRegistry};const k={id:"@jupyterlab/debugger-extension:config",description:"Provides the debugger configuration",provides:l.IDebuggerConfig,autoStart:true,activate:()=>new l.Debugger.Config};const I={id:"@jupyterlab/debugger-extension:sources",description:"Provides the source feature for debugging",autoStart:true,provides:l.IDebuggerSources,requires:[l.IDebuggerConfig,o.IEditorServices],optional:[h.INotebookTracker,r.IConsoleTracker,c.IEditorTracker],activate:(e,t,n,i,s,o)=>new l.Debugger.Sources({config:t,shell:e.shell,editorServices:n,notebookTracker:i,consoleTracker:s,editorTracker:o})};const T={id:"@jupyterlab/debugger-extension:variables",description:"Adds variables renderer and inspection in the debugger variable panel.",autoStart:true,requires:[l.IDebugger,l.IDebuggerHandler,m.ITranslator],optional:[s.IThemeManager,u.IRenderMimeRegistry],activate:(e,t,n,i,o,r)=>{const a=i.load("jupyterlab");const{commands:d,shell:c}=e;const u=new s.WidgetTracker({namespace:"debugger/inspect-variable"});const p=new s.WidgetTracker({namespace:"debugger/render-variable"});const m=l.Debugger.CommandIDs;d.addCommand(m.inspectVariable,{label:a.__("Inspect Variable"),caption:a.__("Inspect Variable"),isEnabled:e=>{var n,i,s,o;return!!((n=t.session)===null||n===void 0?void 0:n.isStarted)&&Number((o=(i=e.variableReference)!==null&&i!==void 0?i:(s=t.model.variables.selectedVariable)===null||s===void 0?void 0:s.variablesReference)!==null&&o!==void 0?o:0)>0},describedBy:{args:{type:"object",properties:{variableReference:{type:"number",description:a.__("The variable reference to inspect")},name:{type:"string",description:a.__("The name of the variable to inspect")}}}},execute:async e=>{var n,i,r,a;let{variableReference:h,name:p}=e;if(!h){h=(n=t.model.variables.selectedVariable)===null||n===void 0?void 0:n.variablesReference}if(!p){p=(i=t.model.variables.selectedVariable)===null||i===void 0?void 0:i.name}const m=`jp-debugger-variable-${p}`;if(!p||!h||u.find((e=>e.id===m))){return}const g=await t.inspectVariable(h);if(!g||g.length===0){return}const f=t.model.variables;const v=new s.MainAreaWidget({content:new l.Debugger.VariablesGrid({model:f,commands:d,scopes:[{name:p,variables:g}],themeManager:o})});v.addClass("jp-DebuggerVariables");v.id=m;v.title.icon=l.Debugger.Icons.variableIcon;v.title.label=`${(a=(r=t.session)===null||r===void 0?void 0:r.connection)===null||a===void 0?void 0:a.name} - ${p}`;void u.add(v);const _=()=>{v.dispose();f.changed.disconnect(_)};f.changed.connect(_);c.add(v,"main",{mode:u.currentWidget?"split-right":"split-bottom",activate:false,type:"Debugger Variables"})}});d.addCommand(m.renderMimeVariable,{label:a.__("Render Variable"),caption:a.__("Render variable according to its mime type"),isEnabled:()=>{var e;return!!((e=t.session)===null||e===void 0?void 0:e.isStarted)},isVisible:()=>t.model.hasRichVariableRendering&&(r!==null||n.activeWidget instanceof h.NotebookPanel),describedBy:{args:{type:"object",properties:{frameId:{type:"number",description:a.__("The frame ID")},name:{type:"string",description:a.__("The name of the variable to render")}}}},execute:e=>{var s,o,a,d,u,m,g,f;let{name:v,frameId:_}=e;if(!v){v=(s=t.model.variables.selectedVariable)===null||s===void 0?void 0:s.name}if(!_){_=(o=t.model.callstack.frame)===null||o===void 0?void 0:o.id}const b=n.activeWidget;let y=b instanceof h.NotebookPanel?b.content.rendermime:r;if(!y){return}const w=`jp-debugger-variable-mime-${v}-${(d=(a=t.session)===null||a===void 0?void 0:a.connection)===null||d===void 0?void 0:d.path.replace("/","-")}`;if(!v||p.find((e=>e.id===w))||!_&&t.hasStoppedThreads()){return}const C=t.model.variables;const x=new l.Debugger.VariableRenderer({dataLoader:()=>t.inspectRichVariable(v,_),rendermime:y,translator:i});x.addClass("jp-DebuggerRichVariable");x.id=w;x.title.icon=l.Debugger.Icons.variableIcon;x.title.label=`${v} - ${(m=(u=t.session)===null||u===void 0?void 0:u.connection)===null||m===void 0?void 0:m.name}`;x.title.caption=`${v} - ${(f=(g=t.session)===null||g===void 0?void 0:g.connection)===null||f===void 0?void 0:f.path}`;void p.add(x);const S=()=>{x.dispose();C.changed.disconnect(j);b===null||b===void 0?void 0:b.disposed.disconnect(S)};const j=()=>{if(n.activeWidget===b){void x.refresh()}};x.disposed.connect(S);C.changed.connect(j);b===null||b===void 0?void 0:b.disposed.connect(S);c.add(x,"main",{mode:p.currentWidget?"split-right":"split-bottom",activate:false,type:"Debugger Variables"})}});d.addCommand(m.copyToClipboard,{label:a.__("Copy to Clipboard"),caption:a.__("Copy text representation of the value to clipboard"),isEnabled:()=>{var e,n;return!!((e=t.session)===null||e===void 0?void 0:e.isStarted)&&!!((n=t.model.variables.selectedVariable)===null||n===void 0?void 0:n.value)},isVisible:()=>n.activeWidget instanceof h.NotebookPanel,describedBy:{args:{type:"object",properties:{}}},execute:async()=>{const e=t.model.variables.selectedVariable.value;if(e){s.Clipboard.copyToSystem(e)}}});d.addCommand(m.copyToGlobals,{label:a.__("Copy Variable to Globals"),caption:a.__("Copy variable to globals scope"),isEnabled:()=>{var e;return!!((e=t.session)===null||e===void 0?void 0:e.isStarted)},isVisible:()=>n.activeWidget instanceof h.NotebookPanel&&t.model.supportCopyToGlobals,describedBy:{args:{type:"object",properties:{}}},execute:async e=>{const n=t.model.variables.selectedVariable.name;await t.copyToGlobals(n)}})}};const E={id:"@jupyterlab/debugger-extension:sidebar",description:"Provides the debugger sidebar.",provides:l.IDebuggerSidebar,requires:[l.IDebugger,o.IEditorServices,m.ITranslator],optional:[s.IThemeManager,p.ISettingRegistry],autoStart:true,activate:async(e,t,n,i,s,o)=>{const{commands:r}=e;const a=l.Debugger.CommandIDs;const d={registry:r,continue:a.debugContinue,terminate:a.terminate,next:a.next,stepIn:a.stepIn,stepOut:a.stepOut,evaluate:a.evaluate};const c={registry:r,pauseOnExceptions:a.pauseOnExceptions};const h=new l.Debugger.Sidebar({service:t,callstackCommands:d,breakpointsCommands:c,editorServices:n,themeManager:s,translator:i});if(o){const e=await o.load(D.id);const n=()=>{var n,i,s,o;const r=e.get("variableFilters").composite;const a=(o=(s=(i=(n=t.session)===null||n===void 0?void 0:n.connection)===null||i===void 0?void 0:i.kernel)===null||s===void 0?void 0:s.name)!==null&&o!==void 0?o:"";if(a&&r[a]){h.variables.filter=new Set(r[a])}const l=e.get("defaultKernelSourcesFilter").composite;h.kernelSources.filter=l};n();e.changed.connect(n);t.sessionChanged.connect(n)}return h}};const M={id:"@jupyterlab/debugger-extension:source-viewer",description:"Initialize the debugger sources viewer.",requires:[l.IDebugger,o.IEditorServices,l.IDebuggerSources,m.ITranslator],provides:l.IDebuggerSourceViewer,autoStart:true,activate:async(e,t,n,i,o)=>{const r=new l.Debugger.ReadOnlyEditorFactory({editorServices:n});const{model:d}=t;const c=(e,n)=>{var s,o,r,a,d,c,h,u,p;i.find({focus:true,kernel:(a=(r=(o=(s=t.session)===null||s===void 0?void 0:s.connection)===null||o===void 0?void 0:o.kernel)===null||r===void 0?void 0:r.name)!==null&&a!==void 0?a:"",path:(h=(c=(d=t.session)===null||d===void 0?void 0:d.connection)===null||c===void 0?void 0:c.path)!==null&&h!==void 0?h:"",source:(p=(u=n===null||n===void 0?void 0:n.source)===null||u===void 0?void 0:u.path)!==null&&p!==void 0?p:""}).forEach((e=>{requestAnimationFrame((()=>{void e.reveal().then((()=>{const t=e.get();if(t){l.Debugger.EditorHandler.showCurrentLine(t,n.line)}}))}))}))};d.callstack.currentFrameChanged.connect(c);const h=(e,n)=>{var s,o,d,c,h,u,p;if(!e){return}const{content:m,mimeType:g,path:f}=e;const v=i.find({focus:true,kernel:(c=(d=(o=(s=t.session)===null||s===void 0?void 0:s.connection)===null||o===void 0?void 0:o.kernel)===null||d===void 0?void 0:d.name)!==null&&c!==void 0?c:"",path:(p=(u=(h=t.session)===null||h===void 0?void 0:h.connection)===null||u===void 0?void 0:u.path)!==null&&p!==void 0?p:"",source:f});if(v.length>0){if(n&&typeof n.line!=="undefined"){v.forEach((e=>{void e.reveal().then((()=>{var t;(t=e.get())===null||t===void 0?void 0:t.revealPosition({line:n.line-1,column:n.column||0})}))}))}return}const _=r.createNewEditor({content:m,mimeType:g,path:f});const b=_.editor;const y=new l.Debugger.EditorHandler({debuggerService:t,editorReady:()=>Promise.resolve(b),getEditor:()=>b,path:f,src:b.model.sharedModel});_.disposed.connect((()=>y.dispose()));i.open({label:a.PathExt.basename(f),caption:f,editorWrapper:_});const w=t.model.callstack.frame;if(w){l.Debugger.EditorHandler.showCurrentLine(b,w.line)}};const u=o.load("jupyterlab");e.commands.addCommand(l.Debugger.CommandIDs.openSource,{label:u.__("Open Source"),caption:u.__("Open Source"),isEnabled:()=>!!M,execute:async e=>{const n=e.path||"";if(!n){throw Error("Path to open is needed")}if(!t.isStarted){const e=await(0,s.showDialog)({title:u.__("Start debugger?"),body:u.__("The debugger service is needed to open the source %1",n),buttons:[s.Dialog.cancelButton({label:u.__("Cancel")}),s.Dialog.okButton({label:u.__("Start debugger")})]});if(e.button.accept){await t.start()}else{return}}const i=await t.getSource({path:n});return h(i)},describedBy:{args:{type:"object",properties:{path:{type:"string",description:u.__("Path to the source file to open")}}}}});return Object.freeze({open:h})}};const D={id:"@jupyterlab/debugger-extension:main",description:"Initialize the debugger user interface.",requires:[l.IDebugger,l.IDebuggerSidebar,o.IEditorServices,m.ITranslator,r.ConsolePanel.IContentFactory,r.IConsoleTracker],optional:[s.ICommandPalette,l.IDebuggerSourceViewer,i.ILabShell,i.ILayoutRestorer,p.ISettingRegistry],autoStart:true,activate:async(e,t,n,i,o,r,d,c,h,u,p,m)=>{var g;const f=o.load("jupyterlab");const{commands:v,shell:_,serviceManager:b}=e;const{kernelspecs:w}=b;const C=l.Debugger.CommandIDs;const x=a.PageConfig.getOption("alwaysShowDebuggerExtension").toLowerCase()==="true";if(!x){await w.ready;const e=(g=w.specs)===null||g===void 0?void 0:g.kernelspecs;if(!e){return}const t=Object.keys(e).some((t=>{var n,i,s;return!!((s=(i=(n=e[t])===null||n===void 0?void 0:n.metadata)===null||i===void 0?void 0:i["debugger"])!==null&&s!==void 0?s:false)}));if(!t){return}}v.addCommand(C.debugContinue,{label:()=>t.hasStoppedThreads()?f.__("Continue"):f.__("Pause"),caption:()=>t.hasStoppedThreads()?f.__("Continue"):f.__("Pause"),icon:()=>t.hasStoppedThreads()?l.Debugger.Icons.continueIcon:l.Debugger.Icons.pauseIcon,isEnabled:()=>{var e,n;return(n=(e=t.session)===null||e===void 0?void 0:e.isStarted)!==null&&n!==void 0?n:false},execute:async()=>{if(t.hasStoppedThreads()){await t.continue()}else{await t.pause()}v.notifyCommandChanged(C.debugContinue)},describedBy:{args:{type:"object",properties:{}}}});v.addCommand(C.terminate,{label:f.__("Terminate"),caption:f.__("Terminate"),icon:l.Debugger.Icons.terminateIcon,isEnabled:()=>t.hasStoppedThreads(),execute:async()=>{await t.restart();y(e.commands,t)},describedBy:{args:{type:"object",properties:{}}}});v.addCommand(C.next,{label:f.__("Next"),caption:f.__("Next"),icon:l.Debugger.Icons.stepOverIcon,isEnabled:()=>t.hasStoppedThreads(),execute:async()=>{await t.next()},describedBy:{args:{type:"object",properties:{}}}});v.addCommand(C.stepIn,{label:f.__("Step In"),caption:f.__("Step In"),icon:l.Debugger.Icons.stepIntoIcon,isEnabled:()=>t.hasStoppedThreads(),execute:async()=>{await t.stepIn()},describedBy:{args:{type:"object",properties:{}}}});v.addCommand(C.stepOut,{label:f.__("Step Out"),caption:f.__("Step Out"),icon:l.Debugger.Icons.stepOutIcon,isEnabled:()=>t.hasStoppedThreads(),execute:async()=>{await t.stepOut()},describedBy:{args:{type:"object",properties:{}}}});v.addCommand(C.pauseOnExceptions,{label:e=>e.filter||"Breakpoints on exception",caption:e=>{var t;return(t=e.description)!==null&&t!==void 0?t:""},isToggled:e=>{var n;return((n=t.session)===null||n===void 0?void 0:n.isPausingOnException(e.filter))||false},isEnabled:()=>t.pauseOnExceptionsIsValid(),execute:async e=>{var n,i,o;if(e===null||e===void 0?void 0:e.filter){let n=e.filter;await t.pauseOnExceptionsFilter(n)}else{let e=[];(i=(n=t.session)===null||n===void 0?void 0:n.exceptionBreakpointFilters)===null||i===void 0?void 0:i.forEach((t=>{e.push(t.filter)}));const r=await s.InputDialog.getMultipleItems({title:f.__("Select a filter for breakpoints on exception"),items:e,defaults:((o=t.session)===null||o===void 0?void 0:o.currentExceptionFilters)||[]});let a=r.button.accept?r.value:null;if(a!==null){await t.pauseOnExceptions(a)}}},describedBy:{args:{type:"object",properties:{filter:{type:"string",description:f.__("Exception filter to pause on")},description:{type:"string",description:f.__("Description of the exception filter")}}}}});let S=false;if(m){const e=await m.load(D.id);const t=()=>{S=e.get("autoCollapseDebuggerSidebar").composite};t();e.changed.connect(t)}t.eventMessage.connect(((i,s)=>{y(e.commands,t);if(u&&s.event==="initialized"){u.activateById(n.id)}else if(u&&n.isVisible&&s.event==="terminated"&&S){u.collapseRight()}}));t.sessionChanged.connect((n=>{y(e.commands,t)}));if(p){p.add(n,"debugger-sidebar")}n.node.setAttribute("role","region");n.node.setAttribute("aria-label",f.__("Debugger section"));n.title.caption=f.__("Debugger");_.add(n,"right",{type:"Debugger"});v.addCommand(C.showPanel,{label:f.__("Debugger Panel"),execute:()=>{_.activateById(n.id)},describedBy:{args:{type:"object",properties:{}}}});if(c){const e=f.__("Debugger");[C.debugContinue,C.terminate,C.next,C.stepIn,C.stepOut,C.evaluate,C.pauseOnExceptions].forEach((t=>{c.addItem({command:t,category:e})}))}if(h){const{model:e}=t;const n=(e,t,n)=>{if(!t){return}h.open(t,n)};e.sources.currentSourceOpened.connect(((e,t)=>{h.open(t)}));e.kernelSources.kernelSourceOpened.connect(n);e.breakpoints.clicked.connect((async(e,n)=>{var i;const s=(i=n.source)===null||i===void 0?void 0:i.path;const o=await t.getSource({sourceReference:0,path:s});h.open(o,n)}))}}};const A={id:"@jupyterlab/debugger-extension:completions",description:"Provides debugger-based completions.",autoStart:true,requires:[l.IDebugger,g.ICompletionProviderManager],optional:[m.ITranslator],activate:(e,t,n,i)=>{const s=new v({debuggerService:t,translator:i||m.nullTranslator});n.registerProvider(s)}};const P={id:"@jupyterlab/debugger-extension:debug-console",description:"Debugger console to enable evaluation in debugger context.",autoStart:true,requires:[l.IDebugger,r.ConsolePanel.IContentFactory,o.IEditorServices,g.ICompletionProviderManager,s.ISanitizer,m.ITranslator],optional:[i.ILabShell],activate:(e,t,n,i,o,a,d,c)=>{const h=l.Debugger.CommandIDs;const p=d.load("jupyterlab");const m=new s.WidgetTracker({namespace:"debugger-debug-console"});let g=null;const v=async()=>{const s=new u.RenderMimeRegistry({initialFactories:u.standardRendererFactories});const o=new f({debuggerService:t,trans:p});g=new r.ConsolePanel({manager:e.serviceManager,name:p.__("Debug Console"),contentFactory:n,rendermime:s,executor:o,mimeTypeService:i.mimeTypeService,kernelPreference:{shouldStart:false,canStart:false}});g.title.label=p.__("Debug Console");g.title.icon=l.Debugger.Icons.evaluateIcon;g.addClass("jp-DebugConsole");g.console.addClass("jp-DebugConsole-widget");t.eventMessage.connect(((e,t)=>{if(c&&t.event==="terminated"){g===null||g===void 0?void 0:g.dispose()}}));const a=()=>{e.commands.notifyCommandChanged(h.evaluate);e.commands.notifyCommandChanged(h.executeConsole);e.commands.notifyCommandChanged(h.invokeConsole);e.commands.notifyCommandChanged(h.selectConsole)};g.disposed.connect((()=>{g=null}));e.shell.add(g,"main",{mode:"split-bottom",activate:true,type:"Debugger Console"});void m.add(g);e.shell.activateById(g.id);await _(undefined,g);g===null||g===void 0?void 0:g.update();a()};const _=async(e,t)=>{var n,i;const s={editor:(i=(n=t.console.promptCell)===null||n===void 0?void 0:n.editor)!==null&&i!==void 0?i:null,session:t.console.sessionContext.session,widget:t};await o.updateCompleter(s);t.console.promptCellCreated.connect(((e,n)=>{const i={editor:n.editor,session:e.sessionContext.session,widget:t,sanitizer:a};o.updateCompleter(i).catch(console.error)}));t.console.sessionContext.sessionChanged.connect((()=>{var e,n;const i={editor:(n=(e=t.console.promptCell)===null||e===void 0?void 0:e.editor)!==null&&n!==void 0?n:null,session:t.console.sessionContext.session,widget:t,sanitizer:a};o.updateCompleter(i).catch(console.error)}))};m.widgetAdded.connect(_);o.activeProvidersChanged.connect((()=>{m.forEach((e=>{_(undefined,e).catch((e=>console.error(e)))}))}));e.commands.addCommand(h.invokeConsole,{label:p.__("Display the tab completion widget."),execute:()=>{const e=m.currentWidget&&m.currentWidget.id;if(e){return o.invoke(e)}},describedBy:{args:{type:"object",properties:{}}}});e.commands.addCommand(h.selectConsole,{label:p.__("Select the completion suggestion."),execute:()=>{const e=m.currentWidget&&m.currentWidget.id;if(e){return o.select(e)}},describedBy:{args:{type:"object",properties:{}}}});e.commands.addCommand(h.executeConsole,{label:p.__("Execute the current line in debug console."),execute:async()=>{const e=m.currentWidget;if(e&&e.console){await e.console.execute(true);const t=e.console.promptCell;if(t&&t.editor){t.editor.focus()}}},describedBy:{args:{type:"object",properties:{}}}});e.commands.addCommand(h.evaluate,{label:p.__("Evaluate Code"),caption:p.__("Evaluate Code"),icon:l.Debugger.Icons.evaluateIcon,isEnabled:()=>{var e;return!!((e=t.session)===null||e===void 0?void 0:e.isStarted)},execute:async()=>{if(g){g.dispose()}else{void v()}},isToggled:()=>g!==null,describedBy:{args:{type:"object",properties:{}}}});e.commands.addKeyBinding({command:h.selectConsole,keys:["Enter"],selector:".jp-ConsolePanel.jp-DebugConsole .jp-DebugConsole-widget .jp-mod-completer-active"});e.commands.addKeyBinding({command:h.invokeConsole,keys:["Tab"],selector:".jp-ConsolePanel.jp-DebugConsole .jp-DebugConsole-widget .jp-CodeConsole-promptCell .jp-mod-completer-enabled:not(.jp-mod-at-line-beginning)"});e.commands.addKeyBinding({command:h.executeConsole,keys:["Shift Enter"],selector:".jp-ConsolePanel.jp-DebugConsole .jp-DebugConsole-widget .jp-CodeConsole-promptCell"})}};const L=[S,j,w,C,x,T,E,D,I,M,k,A,P];const R=L},1904:(e,t,n)=>{"use strict";var i=n(97913);var s=n(17325);var o=n(5893);var r=n(79010);var a=n(3579);var l=n(53377);var d=n(36060);var c=n(50286);var h=n(77748);var u=n(28006);var p=n(10395);var m=n(40662);var g=n(23359);var f=n(85072);var v=n.n(f);var _=n(97825);var b=n.n(_);var y=n(77659);var w=n.n(y);var C=n(55056);var x=n.n(C);var S=n(10540);var j=n.n(S);var k=n(41113);var I=n.n(k);var T=n(1597);var E={};E.styleTagTransform=I();E.setAttributes=x();E.insert=w().bind(null,"head");E.domAPI=b();E.insertStyleElement=j();var M=v()(T.A,E);const D=T.A&&T.A.locals?T.A.locals:undefined},86185:(e,t,n)=>{"use strict";n.d(t,{s:()=>Be});var i=n(4073);const s=1540483477;const o=new TextEncoder;function r(e,t){const n=o.encode(e);let i=n.length;let r=t^i;let a=0;while(i>=4){let e=n[a]&255|(n[++a]&255)<<8|(n[++a]&255)<<16|(n[++a]&255)<<24;e=(e&65535)*s+(((e>>>16)*s&65535)<<16);e^=e>>>24;e=(e&65535)*s+(((e>>>16)*s&65535)<<16);r=(r&65535)*s+(((r>>>16)*s&65535)<<16)^e;i-=4;++a}switch(i){case 3:r^=(n[a+2]&255)<<16;case 2:r^=(n[a+1]&255)<<8;case 1:r^=n[a]&255;r=(r&65535)*s+(((r>>>16)*s&65535)<<16)}r^=r>>>13;r=(r&65535)*s+(((r>>>16)*s&65535)<<16);r^=r>>>15;return r>>>0}class a{constructor(){this._fileParams=new Map;this._hashMethods=new Map}getCodeId(e,t){const n=this._fileParams.get(t);if(!n){throw new Error(`Kernel (${t}) has no tmp file params.`)}const i=this._hashMethods.get(t);if(!i){throw new Error(`Kernel (${t}) has no hashing params.`)}const{prefix:s,suffix:o}=n;return`${s}${i(e)}${o}`}setHashParams(e){const{kernel:t,method:n,seed:i}=e;if(!t){throw new TypeError(`Kernel name is not defined.`)}switch(n){case"Murmur2":this._hashMethods.set(t,(e=>r(e,i).toString()));break;default:throw new Error(`Hash method (${n}) is not supported.`)}}setTmpFileParams(e){const{kernel:t,prefix:n,suffix:i}=e;if(!t){throw new TypeError(`Kernel name is not defined.`)}this._fileParams.set(t,{kernel:t,prefix:n,suffix:i})}getTmpFileParams(e){return this._fileParams.get(e)}}var l=n(38850);var d=n(88459);var c=n(27518);var h;(function(e){function t(e){const t=new u({...e,body:new p(e),buttons:[l.Dialog.cancelButton({label:e.cancelLabel}),l.Dialog.okButton({label:e.okLabel})]});return t.launch()}e.getCode=t})(h||(h={}));class u extends l.Dialog{handleEvent(e){if(e.type==="keydown"){const t=e;const{code:n,shiftKey:i}=t;if(i&&n==="Enter"){return this.resolve()}if(n==="Enter"){return}}super.handleEvent(e)}}class p extends c.Widget{constructor(e){super();const{contentFactory:t,rendermime:n,mimeType:i}=e;const s=new d.CodeCellModel;s.mimeType=i!==null&&i!==void 0?i:"";this._prompt=new d.CodeCell({contentFactory:t,rendermime:n,model:s,placeholder:false}).initializeState();this._prompt.inputArea.promptNode.remove();this.node.appendChild(this._prompt.node)}getValue(){return this._prompt.model.sharedModel.getSource()}onAfterAttach(e){super.onAfterAttach(e);this._prompt.activate()}}var m=n(44389);class g{constructor(e){this._services=e.editorServices}createNewEditor(e){const{content:t,mimeType:n,path:i}=e;const s=this._services.factoryService.newInlineEditor;const o=this._services.mimeTypeService;const r=new m.CodeEditor.Model({mimeType:n||o.getMimeTypeByFilePath(i)});r.sharedModel.source=t;const a=new m.CodeEditorWrapper({editorOptions:{config:{readOnly:true,lineNumbers:true}},model:r,factory:s});a.node.setAttribute("data-jp-debugger","true");a.disposed.connect((()=>{r.dispose()}));return a}}var f=n(34881);var v=n(23230);var _=n(2336);var b=n(40959);var y=n(71674);var w=n(22819);const C="jp-DebuggerEditor-highlight";const x=1e3;class S{constructor(e){var t,n,i,s;this._src=e.src;this._id=(i=(n=(t=e.debuggerService.session)===null||t===void 0?void 0:t.connection)===null||n===void 0?void 0:n.id)!==null&&i!==void 0?i:"";this._path=(s=e.path)!==null&&s!==void 0?s:"";this._debuggerService=e.debuggerService;this._editor=e.getEditor;this._editorMonitor=new b.ActivityMonitor({signal:this._src.changed,timeout:x});this._editorMonitor.activityStopped.connect((()=>{this._sendEditorBreakpoints()}),this);this._selectedBreakpoint=this._debuggerService.model.breakpoints.selectedBreakpoint;this._debuggerService.model.breakpoints.changed.connect((async()=>{const e=this.editor;if(!e||e.isDisposed){return}this._addBreakpointsToEditor()}));this._debuggerService.model.breakpoints.restored.connect((async()=>{const e=this.editor;if(!e||e.isDisposed){return}this._addBreakpointsToEditor()}));this._debuggerService.model.breakpoints.selectedChanged.connect(((e,t)=>{this._selectedBreakpoint=t;this._addBreakpointsToEditor()}));this._debuggerService.model.callstack.currentFrameChanged.connect(((e,t)=>{var n,i;const s=this.editor;if(s){S.clearHighlight(s);const e=(i=(n=t===null||t===void 0?void 0:t.source)===null||n===void 0?void 0:n.path)!==null&&i!==void 0?i:"";const o=this._path||this._debuggerService.getCodeId(this._src.getSource());if(e&&o&&e===o){if(typeof(t===null||t===void 0?void 0:t.line)==="number"){S.showCurrentLine(s,t.line)}}}}));this._breakpointEffect=y.StateEffect.define({map:(e,t)=>e.map((e=>({pos:t.mapPos(e.pos),selected:e.selected})))});this._breakpointState=y.StateField.define({create:()=>y.RangeSet.empty,update:(e,t)=>{let n=false;let i=[];for(let s of t.effects){if(s.is(this._breakpointEffect)){n=true;i=s.value.map((({pos:e,selected:t})=>{const n=t?j.selectedBreakpointMarker:j.breakpointMarker;return n.range(e)}))}}if(n){return y.RangeSet.of(i,true)}return e.map(t.changes)}});this._gutter=new y.Compartment;this._highlightDeco=w.Decoration.line({class:C});this._highlightState=y.StateField.define({create:()=>w.Decoration.none,update:(e,t)=>{e=e.map(t.changes);for(let n of t.effects){if(n.is(S._highlightEffect)){let t=n;if(t.value.pos.length){e=e.update({add:t.value.pos.map((e=>this._highlightDeco.range(e)))})}else{e=w.Decoration.none}}}return e},provide:e=>w.EditorView.decorations.from(e)});void e.editorReady().then((()=>{this._setupEditor()}))}get editor(){return this._editor()}dispose(){if(this.isDisposed){return}this._editorMonitor.dispose();this._clearEditor();this.isDisposed=true;_.Signal.clearData(this)}refreshBreakpoints(){this._addBreakpointsToEditor()}_setupEditor(){const e=this.editor;if(!e||e.isDisposed){return}e.setOption("lineNumbers",true);const t=[this._breakpointState,this._highlightState,y.Prec.highest((0,w.gutter)({class:"cm-breakpoint-gutter",renderEmptyElements:true,markers:e=>e.state.field(this._breakpointState),initialSpacer:()=>j.breakpointMarker,domEventHandlers:{mousedown:(e,t)=>{this._onGutterClick(e,t.from);return true}}}))];e.injectExtension(this._gutter.of(t));this._addBreakpointsToEditor()}_clearEditor(){const e=this.editor;if(!e||e.isDisposed){return}S.clearHighlight(e);this._clearGutter(e);e.setOption("lineNumbers",false);e.editor.dispatch({effects:this._gutter.reconfigure([])})}_sendEditorBreakpoints(){var e;if((e=this.editor)===null||e===void 0?void 0:e.isDisposed){return}const t=this._getBreakpointsFromEditor().map((e=>{var t,n;return j.createBreakpoint(((n=(t=this._debuggerService.session)===null||t===void 0?void 0:t.connection)===null||n===void 0?void 0:n.name)||"",e)}));void this._debuggerService.updateBreakpoints(this._src.getSource(),t,this._path)}_getEffectiveClickedLine(e,t){let n=e.state.doc.lineAt(t);let i=n.number;let s=undefined;let o=false;if(n.text.trim()===""){o=true;while(i>1){i--;const t=e.state.doc.line(i);if(t.text.trim()!==""){s=t;break}}}else{if(o===false){s=n}}return[s,o]}_onGutterClick(e,t){var n,i,s;if(this._id!==((i=(n=this._debuggerService.session)===null||n===void 0?void 0:n.connection)===null||i===void 0?void 0:i.id)){return}const[o,r]=this._getEffectiveClickedLine(e,t);let a=this._getBreakpoints();let l=e.state.field(this._breakpointState);let d=false;if(o){l.between(o===null||o===void 0?void 0:o.from,o===null||o===void 0?void 0:o.from,(()=>{d=true}));if(!d){this._debuggerService.model.breakpoints.selectedBreakpoint=null;const e=j.createBreakpoint((s=this._path)!==null&&s!==void 0?s:this._debuggerService.session.connection.name,o.number);a.push(e)}else{if(!r){a=a.filter((e=>e.line!==o.number));if(this._selectedBreakpoint){a=a.filter((e=>{var t;return e.line!==((t=this._selectedBreakpoint)===null||t===void 0?void 0:t.line)}))}}else{const e=a.find((e=>e.line===o.number));if(e){this._debuggerService.model.breakpoints.selectedBreakpoint=e}}}}a.sort(((e,t)=>e.line-t.line));void this._debuggerService.updateBreakpoints(this._src.getSource(),a,this._path)}_addBreakpointsToEditor(){var e,t,n,i,s;if(!this.editor||this._id!==((t=(e=this._debuggerService.session)===null||e===void 0?void 0:e.connection)===null||t===void 0?void 0:t.id)){return}const o=this.editor;const r=this._getBreakpoints();this._clearGutter(o);const a=(n=this._selectedBreakpoint)===null||n===void 0?void 0:n.line;const l=(s=(i=this._selectedBreakpoint)===null||i===void 0?void 0:i.source)===null||s===void 0?void 0:s.path;const d=r.map((e=>{var t;const n=o.state.doc.line(e.line).from;const i=e.line===a&&((t=e.source)===null||t===void 0?void 0:t.path)===l;return{pos:n,selected:i}}));o.editor.dispatch({effects:this._breakpointEffect.of(d)})}_getBreakpointsFromEditor(){if(!this.editor){return[]}const e=this.editor;const t=e.editor.state.field(this._breakpointState);let n=[];t.between(0,e.doc.length,(t=>{n.push(e.doc.lineAt(t).number)}));return n}_clearGutter(e){if(!e){return}const t=e.editor;t.dispatch({effects:this._breakpointEffect.of([])})}_getBreakpoints(){const e=this._src.getSource();return this._debuggerService.model.breakpoints.getBreakpoints(this._path||this._debuggerService.getCodeId(e))}}(function(e){e._highlightEffect=y.StateEffect.define({map:(e,t)=>({pos:e.pos.map((e=>t.mapPos(e)))})});function t(t,i,s="nearest"){n(t);const o=t;const r=o.doc.line(i).from;const a=[e._highlightEffect.of({pos:[r]})];if(s){const e=o.getOffsetAt({line:i-1,column:0});a.push(w.EditorView.scrollIntoView(e,{y:s}))}o.editor.dispatch({effects:a})}e.showCurrentLine=t;function n(t){if(!t||t.isDisposed){return}const n=t;n.editor.dispatch({effects:e._highlightEffect.of({pos:[]})})}e.clearHighlight=n})(S||(S={}));var j;(function(e){e.breakpointMarker=new class extends w.GutterMarker{toDOM(e){const t=document.createElement("span");t.className="cm-breakpoint-gutter";t.ariaLabel=e.state.phrase("Breakpoint");const n=i.breakpointIcon.element({tag:"span",className:"cm-breakpoint-icon"});t.appendChild(n);return t}};e.selectedBreakpointMarker=new class extends w.GutterMarker{toDOM(e){const t=document.createElement("span");t.className="cm-breakpoint-gutter";t.ariaLabel=e.state.phrase("Selected breakpoint");const n=i.selectedBreakpointIcon.element({tag:"span",className:"cm-selected-breakpoint-icon"});t.appendChild(n);return t}};function t(e,t){return{line:t,verified:true,source:{name:e}}}e.createBreakpoint=t})(j||(j={}));class k{constructor(e){this._isDisposed=false;this._debuggerService=e.debuggerService;this._container=e.container;this._trans=(e.translator||f.nullTranslator).load("jupyterlab");const t=document.createElement("div");t.className="jp-DebuggerPausedOverlay";const n=document.createElement("span");n.textContent=this._trans.__("Paused in Debugger");t.appendChild(n);const s=document.createElement("button");s.className="jp-DebuggerPausedButton";s.title=this._trans.__("Continue");i.runIcon.element({container:s,elementPosition:"center"});s.onclick=()=>{void this._debuggerService.continue()};const o=document.createElement("button");o.className="jp-DebuggerPausedButton";o.title=this._trans.__("Next");i.stepOverIcon.element({container:o,elementPosition:"center"});o.onclick=()=>{void this._debuggerService.next()};t.appendChild(s);t.appendChild(o);t.style.pointerEvents="auto";this._overlay=t}show(){if(this._isDisposed){return}const e=document.body.dataset.showPausedOverlay!=="false";if(!e||!this._overlay||this._overlay.isConnected){return}this._container.appendChild(this._overlay)}hide(){if(this._isDisposed||!this._overlay||!this._overlay.isConnected){return}this._container.style.pointerEvents="";this._overlay.remove()}dispose(){if(this._isDisposed){return}this._isDisposed=true;this.hide();this._overlay=null}get isDisposed(){return this._isDisposed}}class I{constructor(e){var t;this._debuggerService=e.debuggerService;this._consolePanel=e.widget;this._cellMap=new v.ObservableMap;this.translator=e.translator||f.nullTranslator;this._pausedOverlay=new k({debuggerService:this._debuggerService,container:this._consolePanel.node,translator:this.translator});const n=this._consolePanel.console;if(n.promptCell){this._addEditorHandler(n.promptCell)}n.promptCellCreated.connect(((e,t)=>{this._addEditorHandler(t)}));const i=()=>{for(const e of n.cells){this._addEditorHandler(e)}};i();this._consolePanel.console.cells.changed.connect(i);(t=this._debuggerService.session)===null||t===void 0?void 0:t.eventMessage.connect(((e,t)=>{var n,i,s;const o=this._debuggerService.session;const r=this._consolePanel.sessionContext.session;if(!o||!r){return}if(((i=(n=o.connection)===null||n===void 0?void 0:n.kernel)===null||i===void 0?void 0:i.id)!==((s=r.kernel)===null||s===void 0?void 0:s.id)){return}if(t.event==="stopped"){void this._pausedOverlay.show()}else if(t.event==="continued"||t.event==="terminated"){void this._pausedOverlay.hide()}}));if(this._debuggerService.hasStoppedThreads()){void this._pausedOverlay.show()}}dispose(){if(this.isDisposed){return}this.isDisposed=true;this._pausedOverlay.dispose();this._cellMap.values().forEach((e=>e.dispose()));this._cellMap.dispose();_.Signal.clearData(this)}_addEditorHandler(e){const t=e.model.id;if(e.model.type!=="code"||this._cellMap.has(t)){return}const n=e;const i=new S({debuggerService:this._debuggerService,editorReady:async()=>{await n.ready;return n.editor},getEditor:()=>n.editor,src:e.model.sharedModel});n.disposed.connect((()=>{this._cellMap.delete(t);i.dispose()}));this._cellMap.set(t,i)}}class T{constructor(e){var t,n;this._debuggerService=e.debuggerService;this._fileEditor=e.widget.content;this.translator=e.translator||f.nullTranslator;this._hasLineNumber=(t=this._fileEditor.editor.getOption("lineNumbers"))!==null&&t!==void 0?t:false;this._editorHandler=new S({debuggerService:this._debuggerService,editorReady:()=>Promise.resolve(this._fileEditor.editor),getEditor:()=>this._fileEditor.editor,src:this._fileEditor.model.sharedModel});this._pausedOverlay=new k({debuggerService:this._debuggerService,container:e.widget.node,translator:this.translator});(n=this._debuggerService.session)===null||n===void 0?void 0:n.eventMessage.connect(((t,n)=>{var i,s,o;const r=this._debuggerService.session;const a=e.widget.context.sessionContext.session;if(!r||!a){return}if(((s=(i=r.connection)===null||i===void 0?void 0:i.kernel)===null||s===void 0?void 0:s.id)!==((o=a.kernel)===null||o===void 0?void 0:o.id)){return}if(n.event==="stopped"){void this._pausedOverlay.show()}else if(n.event==="continued"||n.event==="terminated"){void this._pausedOverlay.hide()}}));if(this._debuggerService.hasStoppedThreads()){void this._pausedOverlay.show()}}dispose(){var e,t;if(this.isDisposed){return}this.isDisposed=true;this._pausedOverlay.dispose();(e=this._editorHandler)===null||e===void 0?void 0:e.dispose();(t=this._editorHandler)===null||t===void 0?void 0:t.editor.setOptions({lineNumbers:this._hasLineNumber});_.Signal.clearData(this)}}class E{constructor(e){var t;this._debuggerService=e.debuggerService;this._notebookPanel=e.widget;this._cellMap=new v.ObservableMap;this.translator=e.translator||f.nullTranslator;this._pausedOverlay=new k({debuggerService:this._debuggerService,container:this._notebookPanel.node,translator:this.translator});const n=this._notebookPanel.content;n.model.cells.changed.connect(this._onCellsChanged,this);(t=this._debuggerService.session)===null||t===void 0?void 0:t.eventMessage.connect(((e,t)=>{var n,i,s;const o=this._debuggerService.session;const r=this._notebookPanel.sessionContext.session;if(!o||!r){return}if(((i=(n=o.connection)===null||n===void 0?void 0:n.kernel)===null||i===void 0?void 0:i.id)!==((s=r.kernel)===null||s===void 0?void 0:s.id)){return}if(t.event==="stopped"){void this._pausedOverlay.show()}else if(t.event==="continued"||t.event==="terminated"){void this._pausedOverlay.hide()}}));if(this._debuggerService.hasStoppedThreads()===true){void this._pausedOverlay.show()}this._onCellsChanged()}dispose(){if(this.isDisposed){return}this.isDisposed=true;this._pausedOverlay.dispose();this._cellMap.values().forEach((e=>{var t;e.dispose();(t=e.editor)===null||t===void 0?void 0:t.setOptions({...this._notebookPanel.content.editorConfig.code})}));this._cellMap.dispose();_.Signal.clearData(this)}_onCellsChanged(e,t){var n;this._notebookPanel.content.widgets.forEach((e=>this._addEditorHandler(e)));if((t===null||t===void 0?void 0:t.type)==="move"){for(const e of t.newValues){(n=this._cellMap.get(e.id))===null||n===void 0?void 0:n.refreshBreakpoints()}}}_addEditorHandler(e){const t=e.model.id;if(e.model.type!=="code"||this._cellMap.has(t)){return}const n=e;const i=new S({debuggerService:this._debuggerService,editorReady:async()=>{await n.ready;return n.editor},getEditor:()=>n.editor,src:e.model.sharedModel});n.disposed.connect((()=>{this._cellMap.delete(t);i.dispose()}));this._cellMap.set(e.model.id,i)}}const M="debugger-icon";function D(e,t,n,s,o=f.nullTranslator){const r=o.load("jupyterlab");const a=new i.ToolbarButton({className:"jp-DebuggerBugButton",icon:i.bugIcon,tooltip:r.__("Enable Debugger"),pressedIcon:i.bugDotIcon,pressedTooltip:r.__("Disable Debugger"),disabledTooltip:r.__("Select a kernel that supports debugging to enable debugger"),enabled:n,pressed:s,onClick:t});if(!e.toolbar.insertBefore("kernelName",M,a)){e.toolbar.addItem(M,a)}return a}function A(e,t,n=true,i){if(e){e.enabled=n;e.pressed=t;if(i){e.onClick=i}}}class P{constructor(e){this._handlers={};this._contextKernelChangedHandlers={};this._kernelChangedHandlers={};this._statusChangedHandlers={};this._iopubMessageHandlers={};this._iconButtons={};this._type=e.type;this._shell=e.shell;this._service=e.service;this._translator=e.translator||f.nullTranslator}get activeWidget(){return this._activeWidget}async update(e,t){if(!t){delete this._kernelChangedHandlers[e.id];delete this._statusChangedHandlers[e.id];delete this._iopubMessageHandlers[e.id];return this.updateWidget(e,t)}const n=()=>{void this.updateWidget(e,t)};const i=this._kernelChangedHandlers[e.id];if(i){t.kernelChanged.disconnect(i)}this._kernelChangedHandlers[e.id]=n;t.kernelChanged.connect(n);const s=(n,i)=>{if(i.endsWith("restarting")){void this.updateWidget(e,t)}};const o=this._statusChangedHandlers[e.id];if(o){t.statusChanged.disconnect(o)}t.statusChanged.connect(s);this._statusChangedHandlers[e.id]=s;const r=(e,t)=>{if(this._service.isStarted&&!this._service.hasStoppedThreads()&&t.parent_header.msg_type==="execute_request"){void this._service.displayDefinedVariables()}};const a=this._iopubMessageHandlers[e.id];if(a){t.iopubMessage.disconnect(a)}t.iopubMessage.connect(r);this._iopubMessageHandlers[e.id]=r;this._activeWidget=e;return this.updateWidget(e,t)}async updateContext(e,t){const n=()=>{const{session:n}=t;void this.update(e,n)};const i=this._contextKernelChangedHandlers[e.id];if(i){t.kernelChanged.disconnect(i)}this._contextKernelChangedHandlers[e.id]=n;t.kernelChanged.connect(n);return this.update(e,t.session)}async updateWidget(e,t){var n,i,s,o;if(!this._service.model||!t){return}const r=()=>this._shell.currentWidget===e;const a=()=>{if(!this._handlers[e.id]){e.node.removeAttribute("data-jp-debugger");return}e.node.setAttribute("data-jp-debugger","true")};const l=()=>{if(this._handlers[e.id]){return}switch(this._type){case"notebook":this._handlers[e.id]=new E({debuggerService:this._service,widget:e,translator:this._translator||undefined});break;case"console":this._handlers[e.id]=new I({debuggerService:this._service,widget:e,translator:this._translator||undefined});break;case"file":this._handlers[e.id]=new T({debuggerService:this._service,widget:e,translator:this._translator||undefined});break;default:throw Error(`No handler for the type ${this._type}`)}a()};const d=()=>{var n,i,s,o;const r=this._handlers[e.id];if(!r){return}r.dispose();delete this._handlers[e.id];delete this._kernelChangedHandlers[e.id];delete this._statusChangedHandlers[e.id];delete this._iopubMessageHandlers[e.id];delete this._contextKernelChangedHandlers[e.id];if(((i=(n=this._service.session)===null||n===void 0?void 0:n.connection)===null||i===void 0?void 0:i.path)===(t===null||t===void 0?void 0:t.path)||!((o=(s=this._service.session)===null||s===void 0?void 0:s.connection)===null||o===void 0?void 0:o.kernel)){const e=this._service.model;e.clear()}a()};const c=(t=true)=>{const n=this._iconButtons[e.id];if(!n){this._iconButtons[e.id]=D(e,m,this._service.isStarted,t)}else{A(n,this._service.isStarted,t,m)}};const h=()=>{var e;return this._service.isStarted&&((e=this._previousConnection)===null||e===void 0?void 0:e.id)===(t===null||t===void 0?void 0:t.id)};const u=async()=>{this._service.session.connection=t;await this._service.stop()};const p=async()=>{var e,n;this._service.session.connection=t;this._previousConnection=t;await this._service.restoreState(true);await this._service.displayDefinedVariables();if((n=(e=this._service.session)===null||e===void 0?void 0:e.capabilities)===null||n===void 0?void 0:n.supportsModulesRequest){await this._service.displayModules()}};const m=async()=>{if(!r()){return}const t=this._iconButtons[e.id];if(h()){await u();d();A(t,false)}else{await p();l();A(t,true)}};c(false);e.disposed.connect((async()=>{if(h()){await u()}d();delete this._iconButtons[e.id];delete this._contextKernelChangedHandlers[e.id]}));const g=await this._service.isAvailable(t);if(!g){d();A(this._iconButtons[e.id],false,false);return}if(!this._service.session){this._service.session=new Be.Session({connection:t,config:this._service.config})}else{this._previousConnection=((n=this._service.session.connection)===null||n===void 0?void 0:n.kernel)?this._service.session.connection:null;this._service.session.connection=t}if(h()){await this._service.restoreState(true)}else{await this._service.restoreState(false)}if(this._service.isStarted&&!this._service.hasStoppedThreads()){await this._service.displayDefinedVariables();if((s=(i=this._service.session)===null||i===void 0?void 0:i.capabilities)===null||s===void 0?void 0:s.supportsModulesRequest){await this._service.displayModules()}}A(this._iconButtons[e.id],this._service.isStarted,true);if(!this._service.isStarted){d();this._service.session.connection=(o=this._previousConnection)!==null&&o!==void 0?o:t;await this._service.restoreState(false);return}l();this._previousConnection=t}}var L=n(82402);class R{constructor(e){var t;this._breakpoints=new Map;this._changed=new _.Signal(this);this._restored=new _.Signal(this);this._clicked=new _.Signal(this);this._selectedChanged=new _.Signal(this);this._displayRegistry=(t=e.displayRegistry)!==null&&t!==void 0?t:new L.V}get changed(){return this._changed}get restored(){return this._restored}get clicked(){return this._clicked}get selectedChanged(){return this._selectedChanged}get selectedBreakpoint(){return this._selectedBreakpoint}set selectedBreakpoint(e){this._selectedBreakpoint=e;this._selectedChanged.emit(e)}get breakpoints(){return this._breakpoints}setBreakpoints(e,t){this._breakpoints.set(e,t);this._changed.emit(t)}getBreakpoints(e){var t;return(t=this._breakpoints.get(e))!==null&&t!==void 0?t:[]}restoreBreakpoints(e){this._breakpoints=e;this._restored.emit()}getDisplayName(e){return this._displayRegistry.getDisplayName(e.source)}}class N{constructor(e){var t;this._state=[];this._currentFrame=null;this._framesChanged=new _.Signal(this);this._currentFrameChanged=new _.Signal(this);this._displayRegistry=(t=e.displayRegistry)!==null&&t!==void 0?t:new L.V}get frames(){return this._state}set frames(e){this._state=e;const t=this.frame!==null?B.getFrameId(this.frame):"";const n=e.find((e=>B.getFrameId(e)===t));if(!n){this.frame=e[0]}this._framesChanged.emit(e)}get frame(){return this._currentFrame}set frame(e){this._currentFrame=e;this._currentFrameChanged.emit(e)}get framesChanged(){return this._framesChanged}get currentFrameChanged(){return this._currentFrameChanged}getDisplayName(e){let t=this._displayRegistry.getDisplayName(e.source);if(e.line!==undefined){t+=`:${e.line}`}return t}}var B;(function(e){function t(e){var t;return`${(t=e===null||e===void 0?void 0:e.source)===null||t===void 0?void 0:t.path}-${e===null||e===void 0?void 0:e.id}`}e.getFrameId=t})(B||(B={}));class O{constructor(e){var t;this._currentSourceOpened=new _.Signal(this);this._currentSourceChanged=new _.Signal(this);this.currentFrameChanged=e.currentFrameChanged;this._displayRegistry=(t=e.displayRegistry)!==null&&t!==void 0?t:new L.V}get currentSourceOpened(){return this._currentSourceOpened}get currentSourceChanged(){return this._currentSourceChanged}get currentSource(){return this._currentSource}set currentSource(e){this._currentSource=e;this._currentSourceChanged.emit(e)}open(){this._currentSourceOpened.emit(this._currentSource)}getDisplayName(e){let t=this._displayRegistry.getDisplayName(e.source);if(e.line!==undefined){t+=`:${e.line}`}return t}}var F=n(26568);const z=500;const W=(e,t)=>{if(e.name<t.name){return-1}if(e.name>t.name){return 1}return 0};class H{constructor(){this._filteredKernelSources=null;this._filter="";this._isDisposed=false;this._kernelSources=null;this._changed=new _.Signal(this);this._filterChanged=new _.Signal(this);this._kernelSourceOpened=new _.Signal(this);this.refresh=this.refresh.bind(this);this._refreshDebouncer=new F.Debouncer(this.refresh,z)}get filter(){return this._filter}set filter(e){this._filter=e;this._filterChanged.emit(e);void this._refreshDebouncer.invoke()}get isDisposed(){return this._isDisposed}get kernelSources(){return this._kernelSources}set kernelSources(e){this._kernelSources=e;this.refresh()}get changed(){return this._changed}get filterChanged(){return this._filterChanged}get kernelSourceOpened(){return this._kernelSourceOpened}dispose(){if(this._isDisposed){return}this._isDisposed=true;this._refreshDebouncer.dispose();_.Signal.clearData(this)}open(e){this._kernelSourceOpened.emit(e)}getFilteredKernelSources(){const e=new RegExp(this._filter);return this._kernelSources.filter((t=>e.test(t.name)))}refresh(){if(this._kernelSources){this._filteredKernelSources=this._filter?this.getFilteredKernelSources():this._kernelSources;this._filteredKernelSources.sort(W)}else{this._kernelSources=new Array;this._filteredKernelSources=new Array}this._changed.emit(this._filteredKernelSources)}}class V{constructor(){this._selectedVariable=null;this._state=[];this._variableExpanded=new _.Signal(this);this._changed=new _.Signal(this)}get scopes(){return this._state}set scopes(e){this._state=e;this._changed.emit()}get changed(){return this._changed}get variableExpanded(){return this._variableExpanded}get selectedVariable(){return this._selectedVariable}set selectedVariable(e){this._selectedVariable=e}expandVariable(e){this._variableExpanded.emit(e)}}class U{constructor(e){var t;this._disposed=new _.Signal(this);this._isDisposed=false;this._hasRichVariableRendering=false;this._supportCopyToGlobals=false;this._stoppedThreads=new Set;this._title="-";this._titleChanged=new _.Signal(this);const n=(t=e.displayRegistry)!==null&&t!==void 0?t:new L.V;this.breakpoints=new R({displayRegistry:n});this.callstack=new N({displayRegistry:n});this.variables=new V;this.sources=new O({currentFrameChanged:this.callstack.currentFrameChanged,displayRegistry:n});this.kernelSources=new H}get disposed(){return this._disposed}get hasRichVariableRendering(){return this._hasRichVariableRendering}set hasRichVariableRendering(e){this._hasRichVariableRendering=e}get supportCopyToGlobals(){return this._supportCopyToGlobals}set supportCopyToGlobals(e){this._supportCopyToGlobals=e}get isDisposed(){return this._isDisposed}get stoppedThreads(){return this._stoppedThreads}set stoppedThreads(e){this._stoppedThreads=e}get title(){return this._title}set title(e){if(e===this._title){return}this._title=e!==null&&e!==void 0?e:"-";this._titleChanged.emit(e)}get titleChanged(){return this._titleChanged}dispose(){if(this._isDisposed){return}this._isDisposed=true;this.kernelSources.dispose();this._disposed.emit()}clear(){this._stoppedThreads.clear();const e=new Map;this.breakpoints.restoreBreakpoints(e);this.callstack.frames=[];this.variables.scopes=[];this.sources.currentSource=null;this.kernelSources.kernelSources=null;this.title="-"}}class q extends c.Panel{constructor(e){super();this._filter=new Set;this._grid=null;this._pending=null;this.commands=e.commands;this.model=e.model;this.themeManager=e.themeManager;this.translator=e.translator;this.model.changed.connect((()=>this.update()),this);this.addClass("jp-DebuggerVariables-body")}get filter(){return this._filter}set filter(e){this._filter=e;this.update()}get scope(){return this._scope}set scope(e){this._scope=e;if(e!=="Globals"){this.addClass("jp-debuggerVariables-local")}else{this.removeClass("jp-debuggerVariables-local")}this.update()}async initialize(){if(this._grid||this._pending){return}const{Grid:e}=await(this._pending=Promise.all([n.e(4470),n.e(4505)]).then(n.bind(n,5011)));const{commands:t,model:i,themeManager:s,translator:o}=this;this._grid=new e({commands:t,model:i,themeManager:s,translator:o});this._grid.addClass("jp-DebuggerVariables-grid");this._pending=null;this.addWidget(this._grid);this.update()}onBeforeShow(e){if(!this._grid&&!this._pending){void this.initialize()}super.onBeforeShow(e)}onUpdateRequest(e){var t;if(this._grid){const{dataModel:e}=this._grid;e.filter=this._filter;e.scope=this._scope;e.setData((t=this.model.scopes)!==null&&t!==void 0?t:[])}super.onUpdateRequest(e)}}var $=n(95513);var K=n(5592);const J="jp-VariableRendererPanel";const G="jp-VariableRendererPanel-renderer";class Y extends l.MainAreaWidget{constructor(e){const{dataLoader:t,rendermime:n,translator:i}=e;const s=new c.Panel;const o=new K.PromiseDelegate;super({content:s,reveal:Promise.all([t,o.promise])});this.content.addClass(J);this.trans=(i!==null&&i!==void 0?i:f.nullTranslator).load("jupyterlab");this.dataLoader=t;this.renderMime=n;this._dataHash=null;this.refresh().then((()=>{o.resolve()})).catch((e=>o.reject(e)))}async refresh(e=false){let t=await this.dataLoader();if(Object.keys(t.data).length===0){t={data:{"text/plain":this.trans.__("The variable is undefined in the active context.")},metadata:{}}}if(t.data){const n=r(JSON.stringify(t),17);if(e||this._dataHash!==n){if(this.content.layout){this.content.widgets.forEach((e=>{this.content.layout.removeWidget(e)}))}const e=this.renderMime.preferredMimeType(t.data,"any");if(e){const i=this.renderMime.createRenderer(e);i.addClass(G);const s=new $.MimeModel({...t,trusted:true});this._dataHash=n;await i.renderModel(s);this.content.addWidget(i)}else{this._dataHash=null;return Promise.reject("Unable to determine the preferred mime type.")}}}else{this._dataHash=null;return Promise.reject("Unable to get a view on the variable.")}}}class X{constructor(e){var t,n;this._eventMessage=new _.Signal(this);this._isDisposed=false;this._sessionChanged=new _.Signal(this);this._pauseOnExceptionChanged=new _.Signal(this);this._config=e.config;this._session=null;this._specsManager=(t=e.specsManager)!==null&&t!==void 0?t:null;this._model=new Be.Model({displayRegistry:e.displayRegistry});this._debuggerSources=(n=e.debuggerSources)!==null&&n!==void 0?n:null;this._trans=(e.translator||f.nullTranslator).load("jupyterlab")}get eventMessage(){return this._eventMessage}get config(){return this._config}get isDisposed(){return this._isDisposed}get isStarted(){var e,t;return(t=(e=this._session)===null||e===void 0?void 0:e.isStarted)!==null&&t!==void 0?t:false}get pauseOnExceptionChanged(){return this._pauseOnExceptionChanged}get model(){return this._model}get session(){return this._session}set session(e){var t;if(this._session===e){return}if(this._session){this._session.dispose()}this._session=e;(t=this._session)===null||t===void 0?void 0:t.eventMessage.connect(((e,t)=>{if(t.event==="stopped"){this._model.stoppedThreads.clear();this._model.stoppedThreads.add(t.body.threadId);void this._getAllFrames()}else if(t.event==="continued"){this._model.stoppedThreads.delete(t.body.threadId);this._clearModel();this._clearSignals()}this._eventMessage.emit(t)}));this._sessionChanged.emit(e)}get sessionChanged(){return this._sessionChanged}dispose(){if(this.isDisposed){return}this._isDisposed=true;_.Signal.clearData(this)}getCodeId(e){var t,n,i,s;try{return this._config.getCodeId(e,(s=(i=(n=(t=this.session)===null||t===void 0?void 0:t.connection)===null||n===void 0?void 0:n.kernel)===null||i===void 0?void 0:i.name)!==null&&s!==void 0?s:"")}catch(o){return""}}hasStoppedThreads(){var e,t;return(t=((e=this._model)===null||e===void 0?void 0:e.stoppedThreads.size)>0)!==null&&t!==void 0?t:false}async isAvailable(e){var t,n,i,s;if(!this._specsManager){return true}await this._specsManager.ready;const o=e===null||e===void 0?void 0:e.kernel;if(!o){return false}const r=o.name;if(!((t=this._specsManager.specs)===null||t===void 0?void 0:t.kernelspecs[r])){return true}return!!((s=(i=(n=this._specsManager.specs.kernelspecs[r])===null||n===void 0?void 0:n.metadata)===null||i===void 0?void 0:i["debugger"])!==null&&s!==void 0?s:false)}async clearBreakpoints(){var e;if(((e=this.session)===null||e===void 0?void 0:e.isStarted)!==true){return}this._model.breakpoints.breakpoints.forEach(((e,t,n)=>{void this._setBreakpoints([],t)}));let t=new Map;this._model.breakpoints.restoreBreakpoints(t)}async continue(){try{if(!this.session){throw new Error("No active debugger session")}await this.session.sendRequest("continue",{threadId:this._currentThread()});this._model.stoppedThreads.delete(this._currentThread());this._clearModel();this._clearSignals()}catch(e){console.error("Error:",e.message)}}async getSource(e){var t,n;if(!this.session){throw new Error("No active debugger session")}const i=await this.session.sendRequest("source",{source:e,sourceReference:(t=e.sourceReference)!==null&&t!==void 0?t:0});return{...i.body,path:(n=e.path)!==null&&n!==void 0?n:""}}async evaluate(e){var t;if(!this.session){throw new Error("No active debugger session")}const n=(t=this.model.callstack.frame)===null||t===void 0?void 0:t.id;const i=await this.session.sendRequest("evaluate",{context:"repl",expression:e,frameId:n});if(!i.success){return null}this._model.variables.scopes=[];await this._getAllFrames();return i.body}async next(){try{if(!this.session){throw new Error("No active debugger session")}await this.session.sendRequest("next",{threadId:this._currentThread()})}catch(e){console.error("Error:",e.message)}}async inspectRichVariable(e,t){if(!this.session){throw new Error("No active debugger session")}const n=await this.session.sendRequest("richInspectVariables",{variableName:e,frameId:t});if(n.success){return n.body}else{throw new Error(n.message)}}async inspectVariable(e){if(!this.session){throw new Error("No active debugger session")}const t=await this.session.sendRequest("variables",{variablesReference:e});if(t.success){return t.body.variables}else{throw new Error(t.message)}}async copyToGlobals(e){if(!this.session){throw new Error("No active debugger session")}if(!this.model.supportCopyToGlobals){throw new Error('The "copyToGlobals" request is not supported by the kernel')}const t=this.model.callstack.frames;this.session.sendRequest("copyToGlobals",{srcVariableName:e,dstVariableName:e,srcFrameId:t[0].id}).then((async()=>{const e=await this._getScopes(t[0]);const n=await Promise.all(e.map((e=>this._getVariables(e))));const i=this._convertScopes(e,n);this._model.variables.scopes=i})).catch((e=>{console.error(e)}))}async displayDefinedVariables(){if(!this.session){throw new Error("No active debugger session")}const e=await this.session.sendRequest("inspectVariables",{});const t=e.body.variables;const n=[{name:this._trans.__("Globals"),variables:t}];this._model.variables.scopes=n}async displayModules(){if(!this.session){throw new Error("No active debugger session")}const e=await this.session.sendRequest("modules",{});this._model.kernelSources.kernelSources=e.body.modules.map((e=>({name:e.name,path:e.path})))}async restart(){const{breakpoints:e}=this._model.breakpoints;await this.stop();await this.start();await this._restoreBreakpoints(e)}async restoreState(e){var t,n,i,s,o,r,a,l,d,c,h;if(!this.model||!this.session){return}const u=await this.session.restoreState();const{body:p}=u;const m=this._mapBreakpoints(p.breakpoints);const g=new Set(p.stoppedThreads);const f=this.getDebuggerState();this._model.hasRichVariableRendering=p.richRendering===true;this._model.supportCopyToGlobals=p.copyToGlobals===true;this._config.setHashParams({kernel:(s=(i=(n=(t=this.session)===null||t===void 0?void 0:t.connection)===null||n===void 0?void 0:n.kernel)===null||i===void 0?void 0:i.name)!==null&&s!==void 0?s:"",method:p.hashMethod,seed:p.hashSeed});this._config.setTmpFileParams({kernel:(l=(a=(r=(o=this.session)===null||o===void 0?void 0:o.connection)===null||r===void 0?void 0:r.kernel)===null||a===void 0?void 0:a.name)!==null&&l!==void 0?l:"",prefix:p.tmpFilePrefix,suffix:p.tmpFileSuffix});this._model.stoppedThreads=g;if(!this.isStarted&&(e||g.size!==0)){await this.start()}if(this.isStarted||e){this._model.title=this.isStarted?((c=(d=this.session)===null||d===void 0?void 0:d.connection)===null||c===void 0?void 0:c.name)||"-":"-"}const v=await this._migrateBreakpoints(f);for(const[_,b]of m){const e=(h=v.get(_))!==null&&h!==void 0?h:[];const t=b.filter((t=>!e.some((e=>e.line===t.line))));v.set(_,[...e,...t])}await this._restoreBreakpoints(v);this._model.breakpoints.restoreBreakpoints(v);if(g.size!==0){await this._getAllFrames()}else if(this.isStarted){this._model.callstack.frames=[];this._clearSignals()}if(this.session.currentExceptionFilters){await this.pauseOnExceptions(this.session.currentExceptionFilters)}}start(){if(!this.session){throw new Error("No active debugger session")}return this.session.start()}async pause(){try{if(!this.session){throw new Error("No active debugger session")}await this.session.sendRequest("pause",{threadId:this._currentThread()})}catch(e){console.error("Error:",e.message)}}async stepIn(){try{if(!this.session){throw new Error("No active debugger session")}await this.session.sendRequest("stepIn",{threadId:this._currentThread()})}catch(e){console.error("Error:",e.message)}}async stepOut(){try{if(!this.session){throw new Error("No active debugger session")}await this.session.sendRequest("stepOut",{threadId:this._currentThread()})}catch(e){console.error("Error:",e.message)}}async stop(){if(!this.session){throw new Error("No active debugger session")}await this.session.stop();if(this._model){this._model.clear()}}async updateBreakpoints(e,t,n){var i;if(!((i=this.session)===null||i===void 0?void 0:i.isStarted)){return}if(!n){n=(await this._dumpCell(e)).body.sourcePath}const s=await this.session.restoreState();const o=t.filter((({line:e})=>typeof e==="number")).map((({line:e})=>({line:e})));const r=this._mapBreakpoints(s.body.breakpoints);this._model.breakpoints.restoreBreakpoints(r);let a=new Set;const l=await this._setBreakpoints(o,n);const d=l.body.breakpoints.filter(((e,t,n)=>{const i=n.findIndex((t=>t.line===e.line))>-1;const s=!a.has(e.line);a.add(e.line);return i&&s}));this._model.breakpoints.setBreakpoints(n,d)}pauseOnExceptionsIsValid(){var e,t;if(this.isStarted){if(((t=(e=this.session)===null||e===void 0?void 0:e.exceptionBreakpointFilters)===null||t===void 0?void 0:t.length)!==0){return true}}return false}async pauseOnExceptionsFilter(e){var t;if(!((t=this.session)===null||t===void 0?void 0:t.isStarted)){return}let n=this.session.currentExceptionFilters;if(this.session.isPausingOnException(e)){const t=n.indexOf(e);n.splice(t,1)}else{n===null||n===void 0?void 0:n.push(e)}await this.pauseOnExceptions(n)}async pauseOnExceptions(e){var t,n;if(!((t=this.session)===null||t===void 0?void 0:t.isStarted)){return}const i=((n=this.session.exceptionBreakpointFilters)===null||n===void 0?void 0:n.map((e=>e.filter)))||[];let s={filters:[]};e.forEach((e=>{if(i.includes(e)){s.filters.push(e)}}));this.session.currentExceptionFilters=s.filters;await this.session.sendRequest("setExceptionBreakpoints",s);this._pauseOnExceptionChanged.emit()}getDebuggerState(){var e,t,n,i,s,o,r,a,l,d,c,h;const u=this._model.breakpoints.breakpoints;let p=[];const m=(i=(n=(t=(e=this.session)===null||e===void 0?void 0:e.connection)===null||t===void 0?void 0:t.kernel)===null||n===void 0?void 0:n.name)!==null&&i!==void 0?i:"";const g=this._config.getTmpFileParams(m);const f=(s=g===null||g===void 0?void 0:g.prefix)!==null&&s!==void 0?s:"";if(this._debuggerSources){for(const e of u.keys()){const t=this._debuggerSources.find({focus:false,kernel:(l=(a=(r=(o=this.session)===null||o===void 0?void 0:o.connection)===null||r===void 0?void 0:r.kernel)===null||a===void 0?void 0:a.name)!==null&&l!==void 0?l:"",path:(h=(c=(d=this._session)===null||d===void 0?void 0:d.connection)===null||c===void 0?void 0:c.path)!==null&&h!==void 0?h:"",source:e});const n=t.map((e=>e.src.getSource()));p=p.concat(n)}}return{cells:p,breakpoints:u,tmpPrefix:f}}async restoreDebuggerState(e){const t=await this._migrateBreakpoints(e);await this._restoreBreakpoints(t);const n=await this.session.sendRequest("configurationDone",{});await this.restoreState(false);return n.success}async _migrateBreakpoints(e){var t,n,i,s;const o=e.tmpPrefix;const r=(s=(i=(n=(t=this.session)===null||t===void 0?void 0:t.connection)===null||n===void 0?void 0:n.kernel)===null||i===void 0?void 0:i.name)!==null&&s!==void 0?s:"";const{prefix:a}=this._config.getTmpFileParams(r);const{breakpoints:l}=e;if(o===a){return l}const d=new Map;for(const c of l){const[e,t]=c;if(o&&e.startsWith(o)&&o!==a){const n=e.replace(o,a);d.set(n,t.map((e=>{var t;return{...e,source:{...e.source,path:((t=e.source)===null||t===void 0?void 0:t.path)?e.source.path.replace(o,a):undefined}}})))}else{d.set(e,t)}}for(const c of e.cells){await this._dumpCell(c)}return d}_clearModel(){this._model.callstack.frames=[];this._model.variables.scopes=[]}_clearSignals(){this._model.callstack.currentFrameChanged.disconnect(this._onCurrentFrameChanged,this);this._model.variables.variableExpanded.disconnect(this._onVariableExpanded,this)}_convertScopes(e,t){if(!t||!e){return[]}return e.map(((e,n)=>({name:e.name,variables:t[n].map((e=>({...e})))})))}_currentThread(){var e;return(e=this._model.stoppedThreads.values().next().value)!==null&&e!==void 0?e:1}async _dumpCell(e){if(!this.session){throw new Error("No active debugger session")}return this.session.sendRequest("dumpCell",{code:e})}async _getAllFrames(){this._model.callstack.currentFrameChanged.connect(this._onCurrentFrameChanged,this);this._model.variables.variableExpanded.connect(this._onVariableExpanded,this);const e=await this._getFrames(this._currentThread());this._model.callstack.frames=e}async _getFrames(e){if(!this.session){throw new Error("No active debugger session")}const t=await this.session.sendRequest("stackTrace",{threadId:e});const n=t.body.stackFrames;return n}async _getScopes(e){if(!this.session){throw new Error("No active debugger session")}if(!e){return[]}const t=await this.session.sendRequest("scopes",{frameId:e.id});return t.body.scopes}async _getVariables(e){if(!this.session){throw new Error("No active debugger session")}if(!e){return[]}const t=await this.session.sendRequest("variables",{variablesReference:e.variablesReference});return t.body.variables}_mapBreakpoints(e){if(!e.length){return new Map}return e.reduce(((e,t)=>{const{breakpoints:n,source:i}=t;e.set(i,n.map((e=>({...e,source:{path:i},verified:true}))));return e}),new Map)}async _onCurrentFrameChanged(e,t){if(!t){return}const n=await this._getScopes(t);const i=await Promise.all(n.map((e=>this._getVariables(e))));const s=this._convertScopes(n,i);this._model.variables.scopes=s}async _onVariableExpanded(e,t){if(!this.session){throw new Error("No active debugger session")}const n=await this.session.sendRequest("variables",{variablesReference:t.variablesReference});let i={...t,expanded:true};n.body.variables.forEach((e=>{i={[e.name]:e,...i}}));const s=this._model.variables.scopes.map((e=>{const n=e.variables.findIndex((e=>e.variablesReference===t.variablesReference));e.variables[n]=i;return{...e}}));this._model.variables.scopes=[...s];return n.body.variables}async _setBreakpoints(e,t){if(!this.session){throw new Error("No active debugger session")}return await this.session.sendRequest("setBreakpoints",{breakpoints:e,source:{path:t},sourceModified:false})}async _restoreBreakpoints(e){for(const[t,n]of e){await this._setBreakpoints(n.filter((({line:e})=>typeof e==="number")).map((({line:e})=>({line:e}))),t)}this._model.breakpoints.restoreBreakpoints(e)}}class Q{constructor(e){this._seq=0;this._ready=new K.PromiseDelegate;this._isDisposed=false;this._isStarted=false;this._exceptionPaths=[];this._exceptionBreakpointFilters=[];this._currentExceptionFilters={};this._disposed=new _.Signal(this);this._eventMessage=new _.Signal(this);this.connection=e.connection;this._config=e.config;this.translator=e.translator||f.nullTranslator}get isDisposed(){return this._isDisposed}get capabilities(){return this._capabilities}get disposed(){return this._disposed}get connection(){return this._connection}set connection(e){var t,n;if(this._connection){this._connection.iopubMessage.disconnect(this._handleEvent,this)}this._connection=e;if(!this._connection){this._isStarted=false;return}this._connection.iopubMessage.connect(this._handleEvent,this);this._ready=new K.PromiseDelegate;const i=(n=(t=this.connection)===null||t===void 0?void 0:t.kernel)===null||n===void 0?void 0:n.requestDebug({type:"request",seq:0,command:"debugInfo"});if(i){i.onReply=e=>{this._ready.resolve();i.dispose()}}}get isStarted(){return this._isStarted}get exceptionPaths(){return this._exceptionPaths}get exceptionBreakpointFilters(){return this._exceptionBreakpointFilters}get currentExceptionFilters(){var e,t,n;const i=(n=(t=(e=this.connection)===null||e===void 0?void 0:e.kernel)===null||t===void 0?void 0:t.name)!==null&&n!==void 0?n:"";if(!i){return[]}const s=this._config.getTmpFileParams(i);if(!s){return[]}let o=s.prefix;if(Object.keys(this._currentExceptionFilters).includes(o)){return this._currentExceptionFilters[o]}return[]}set currentExceptionFilters(e){var t,n,i;const s=(i=(n=(t=this.connection)===null||t===void 0?void 0:t.kernel)===null||n===void 0?void 0:n.name)!==null&&i!==void 0?i:"";if(!s){return}const o=this._config.getTmpFileParams(s);if(!o){return}let r=o.prefix;if(e===null){if(Object.keys(this._currentExceptionFilters).includes(r)){delete this._currentExceptionFilters[r]}}else{this._currentExceptionFilters[r]=e}}get eventMessage(){return this._eventMessage}dispose(){if(this._isDisposed){return}this._isDisposed=true;this._disposed.emit();_.Signal.clearData(this)}async start(){var e,t,n,i;const s=await this.sendRequest("initialize",{clientID:"jupyterlab",clientName:"JupyterLab",adapterID:(n=(t=(e=this.connection)===null||e===void 0?void 0:e.kernel)===null||t===void 0?void 0:t.name)!==null&&n!==void 0?n:"",pathFormat:"path",linesStartAt1:true,columnsStartAt1:true,supportsVariableType:true,supportsVariablePaging:true,supportsRunInTerminalRequest:true,locale:document.documentElement.lang});if(!s.success){throw new Error(`Could not start the debugger: ${s.message}`)}this._capabilities=s.body;this._isStarted=true;this._exceptionBreakpointFilters=(i=s.body)===null||i===void 0?void 0:i.exceptionBreakpointFilters;await this.sendRequest("attach",{})}async stop(){this._isStarted=false;await this.sendRequest("disconnect",{restart:false,terminateDebuggee:false})}async restoreState(){var e;const t=await this.sendRequest("debugInfo",{});this._isStarted=t.body.isStarted;this._exceptionPaths=(e=t.body)===null||e===void 0?void 0:e.exceptionPaths;return t}isPausingOnException(e){var t,n;if(e){return(n=(t=this.currentExceptionFilters)===null||t===void 0?void 0:t.includes(e))!==null&&n!==void 0?n:false}else{return this.currentExceptionFilters.length>0}}async sendRequest(e,t){await this._ready.promise;const n=await this._sendDebugMessage({type:"request",seq:this._seq++,command:e,arguments:t});return n.content}_handleEvent(e,t){const n=t.header.msg_type;if(n!=="debug_event"){return}const i=t.content;this._eventMessage.emit(i)}async _sendDebugMessage(e){var t;const n=(t=this.connection)===null||t===void 0?void 0:t.kernel;if(!n){return Promise.reject(new Error("A kernel is required to send debug messages."))}const i=new K.PromiseDelegate;const s=n.requestDebug(e);s.onReply=e=>{i.resolve(e)};await s.done;return i.promise}}var Z=n(44914);var ee=n.n(Z);class te extends i.ReactWidget{constructor(e,t=f.nullTranslator){super();this._model=e;this._translator=t;this.addClass("jp-DebuggerBreakpoints-body")}render(){return ee().createElement(ne,{model:this._model,translator:this._translator})}}const ne=({model:e,translator:t})=>{const n=t.load("jupyterlab");const[i,s]=(0,Z.useState)(Array.from(e.breakpoints.entries()));const[o,r]=(0,Z.useState)(null);(0,Z.useEffect)((()=>{const t=(t,n)=>{s(Array.from(e.breakpoints.entries()))};const n=t=>{s(Array.from(e.breakpoints.entries()))};const i=(t,n)=>{e.selectedBreakpoint=n};const o=t=>{r(e.selectedBreakpoint)};e.changed.connect(t);e.restored.connect(n);e.clicked.connect(i);e.selectedChanged.connect(o);return()=>{e.changed.disconnect(t);e.restored.disconnect(n);e.clicked.disconnect(i);e.selectedChanged.disconnect((()=>o))}}));return ee().createElement(ee().Fragment,null,i.map((t=>ee().createElement(ie,{key:t[0],breakpoints:t[1],model:e,selectedBreakpoint:o,trans:n}))))};const ie=({breakpoints:e,model:t,selectedBreakpoint:n,trans:i})=>ee().createElement(ee().Fragment,null,e.sort(((e,t)=>{var n,i;return((n=e.line)!==null&&n!==void 0?n:0)-((i=t.line)!==null&&i!==void 0?i:0)})).map(((e,s)=>{var o,r,a,l;return ee().createElement(se,{key:((r=(o=e.source)===null||o===void 0?void 0:o.path)!==null&&r!==void 0?r:"")+s,breakpoint:e,model:t,isSelected:(n===null||n===void 0?void 0:n.line)===e.line&&((a=n===null||n===void 0?void 0:n.source)===null||a===void 0?void 0:a.path)===((l=e.source)===null||l===void 0?void 0:l.path),trans:i})})));const se=({breakpoint:e,model:t,isSelected:n,trans:s})=>{var o;const r=t.getDisplayName(e);return ee().createElement("div",{className:"jp-DebuggerBreakpoint",onClick:()=>t.clicked.emit(e),title:(o=e.source)===null||o===void 0?void 0:o.path},ee().createElement("span",{className:"jp-DebuggerBreakpoint-container"},!n?ee().createElement(i.breakpointIcon.react,{"aria-label":s.__("Breakpoint")}):ee().createElement(i.selectedBreakpointIcon.react,{"aria-label":s.__("Selected breakpoint")})),ee().createElement("span",{className:"jp-DebuggerBreakpoint-source jp-left-truncated"},r),ee().createElement("span",{className:"jp-DebuggerBreakpoint-line"},e.line))};const oe="jp-debugger-pauseOnExceptions";const re="jp-PauseOnExceptions";const ae="jp-PauseOnExceptions-menu";class le extends i.ToolbarButton{constructor(e){super();this.onclick=()=>{this._menu.open(this.node.getBoundingClientRect().left,this.node.getBoundingClientRect().bottom)};this._menu=new de({service:e.service,commands:{registry:e.commands.registry,pauseOnExceptions:e.commands.pauseOnExceptions}});this.node.className=oe;this._props=e;this._props.className=re;this._props.service.eventMessage.connect(((e,t)=>{if(t.event==="initialized"||t.event==="terminated"){this.onChange()}}),this);this._props.enabled=this._props.service.pauseOnExceptionsIsValid();this._props.service.pauseOnExceptionChanged.connect(this.onChange,this)}onChange(){var e;const t=this._props.service.session;const n=t===null||t===void 0?void 0:t.exceptionBreakpointFilters;this._props.className=re;if(((e=this._props.service.session)===null||e===void 0?void 0:e.isStarted)&&n){this._props.pressed=t.isPausingOnException();this._props.enabled=true}else{this._props.enabled=false}this.update()}render(){return Z.createElement(i.ToolbarButtonComponent,{...this._props,onClick:this.onclick})}}class de extends i.MenuSvg{constructor(e){super({commands:e.commands.registry});this._service=e.service;this._command=e.commands.pauseOnExceptions;e.service.eventMessage.connect(((e,t)=>{if(t.event==="initialized"){this._build()}}),this);this._build();this.addClass(ae)}_build(){var e,t;this.clearItems();const n=(t=(e=this._service.session)===null||e===void 0?void 0:e.exceptionBreakpointFilters)!==null&&t!==void 0?t:[];n.map(((e,t)=>{this.addItem({command:this._command,args:{filter:e.filter,description:e.description}})}))}}class ce extends i.PanelWithToolbar{constructor(e){var t;super(e);this.clicked=new _.Signal(this);const{model:n,service:s,commands:o}=e;const r=((t=e.translator)!==null&&t!==void 0?t:f.nullTranslator).load("jupyterlab");this.title.label=r.__("Breakpoints");const a=new te(n);this.toolbar.node.setAttribute("aria-label",r.__("Breakpoints panel toolbar"));this.toolbar.addItem("pauseOnException",new le({service:s,commands:o,icon:i.exceptionsIcon,tooltip:r.__("Pause on exception filter")}));this.toolbar.addItem("closeAll",new i.ToolbarButton({icon:i.closeAllIcon,onClick:async()=>{if(n.breakpoints.size===0){return}const e=await(0,l.showDialog)({title:r.__("Remove All Breakpoints"),body:r.__("Are you sure you want to remove all breakpoints?"),buttons:[l.Dialog.okButton({label:r.__("Remove breakpoints")}),l.Dialog.cancelButton()],hasClose:true});if(e.button.accept){return s.clearBreakpoints()}},tooltip:r.__("Remove All Breakpoints")}));this.addWidget(a);this.addClass("jp-DebuggerBreakpoints")}}class he extends i.ReactWidget{constructor(e){super();this._model=e;this.addClass("jp-DebuggerCallstack-body")}render(){return ee().createElement(ue,{model:this._model})}}const ue=({model:e})=>{const[t,n]=(0,Z.useState)(e.frames);const[i,s]=(0,Z.useState)(e.frame);const o=t=>{s(t);e.frame=t};(0,Z.useEffect)((()=>{const t=()=>{s(e.frame);n(e.frames)};e.framesChanged.connect(t);return()=>{e.framesChanged.disconnect(t)}}),[e]);return ee().createElement("ul",null,t.map((t=>{var n,s,r,a;return ee().createElement("li",{key:t.id,onClick:()=>o(t),className:(i===null||i===void 0?void 0:i.id)===t.id?"selected jp-DebuggerCallstackFrame":"jp-DebuggerCallstackFrame"},ee().createElement("span",{className:"jp-DebuggerCallstackFrame-name"},t.name),ee().createElement("span",{className:"jp-DebuggerCallstackFrame-location",title:(n=t.source)===null||n===void 0?void 0:n.path},(r=(s=e.getDisplayName)===null||s===void 0?void 0:s.call(e,t))!==null&&r!==void 0?r:(a=t.source)===null||a===void 0?void 0:a.path))})))};class pe extends i.PanelWithToolbar{constructor(e){var t;super(e);const{commands:n,model:s}=e;const o=((t=e.translator)!==null&&t!==void 0?t:f.nullTranslator).load("jupyterlab");this.title.label=o.__("Callstack");const r=new he(s);this.toolbar.node.setAttribute("aria-label",o.__("Callstack panel toolbar"));this.toolbar.addItem("continue",new i.CommandToolbarButton({commands:n.registry,id:n.continue,label:""}));this.toolbar.addItem("terminate",new i.CommandToolbarButton({commands:n.registry,id:n.terminate,label:""}));this.toolbar.addItem("step-over",new i.CommandToolbarButton({commands:n.registry,id:n.next,label:""}));this.toolbar.addItem("step-in",new i.CommandToolbarButton({commands:n.registry,id:n.stepIn,label:""}));this.toolbar.addItem("step-out",new i.CommandToolbarButton({commands:n.registry,id:n.stepOut,label:""}));this.toolbar.addItem("evaluate",new i.CommandToolbarButton({commands:n.registry,id:n.evaluate,label:""}));this.addWidget(r);this.addClass("jp-DebuggerCallstack")}}class me extends c.Widget{constructor(e){super();this._model=e.model;this._debuggerService=e.service;this._mimeTypeService=e.editorServices.mimeTypeService;const t=new Be.ReadOnlyEditorFactory({editorServices:e.editorServices});this._editor=t.createNewEditor({content:"",mimeType:"",path:""});this._editor.hide();this._model.currentFrameChanged.connect((async(e,t)=>{if(!t){this._clearEditor();return}void this._showSource(t)}));const n=new c.PanelLayout;n.addWidget(this._editor);this.layout=n;this.addClass("jp-DebuggerSources-body")}dispose(){var e;if(this.isDisposed){return}(e=this._editorHandler)===null||e===void 0?void 0:e.dispose();_.Signal.clearData(this);super.dispose()}_clearEditor(){this._model.currentSource=null;this._editor.hide()}async _showSource(e){var t,n,i,s,o;const r=this._model.getDisplayName(e);const a=await this._debuggerService.getSource({sourceReference:0,path:(t=e.source)===null||t===void 0?void 0:t.path});if(!(a===null||a===void 0?void 0:a.content)){this._clearEditor();return}if(this._editorHandler){this._editorHandler.dispose()}const{content:l,mimeType:d}=a;const c=d||this._mimeTypeService.getMimeTypeByFilePath((i=(n=e.source)===null||n===void 0?void 0:n.path)!==null&&i!==void 0?i:"");this._editor.model.sharedModel.setSource(l);this._editor.model.mimeType=c;this._editorHandler=new S({debuggerService:this._debuggerService,editorReady:()=>Promise.resolve(this._editor.editor),getEditor:()=>this._editor.editor,path:(o=(s=e.source)===null||s===void 0?void 0:s.path)!==null&&o!==void 0?o:"",src:this._editor.model.sharedModel});this._model.currentSource={content:l,mimeType:c,path:r};requestAnimationFrame((()=>{S.showCurrentLine(this._editor.editor,e.line,"start")}));this._editor.show()}}const ge=({model:e,trans:t})=>ee().createElement(i.UseSignal,{signal:e.currentSourceChanged,initialSender:e},(e=>{var n,i;return ee().createElement("span",{onClick:t=>{if(t.ctrlKey){e===null||e===void 0?void 0:e.open()}},title:t.__("Ctrl + click to open in the Main Area"),className:"jp-DebuggerSources-header-path"},(i=(n=e===null||e===void 0?void 0:e.currentSource)===null||n===void 0?void 0:n.path)!==null&&i!==void 0?i:"")}));class fe extends i.PanelWithToolbar{constructor(e){var t;super();const{model:n,service:s,editorServices:o}=e;const r=((t=e.translator)!==null&&t!==void 0?t:f.nullTranslator).load("jupyterlab");this.title.label=r.__("Source");this.toolbar.addClass("jp-DebuggerSources-header");this.toolbar.node.setAttribute("aria-label",r.__("Sources preview panel toolbar"));const a=new me({service:s,model:n,editorServices:o});this.toolbar.addItem("open",new i.ToolbarButton({icon:i.viewBreakpointIcon,onClick:()=>n.open(),tooltip:r.__("Open in the Main Area")}));const l=i.ReactWidget.create(ee().createElement(ge,{model:n,trans:r}));this.toolbar.addItem("sourcePath",l);this.addClass("jp-DebuggerSources-header");this.addWidget(a);this.addClass("jp-DebuggerSources")}}var ve=n(54158);const _e=e=>{const t=t=>{const n=t.target.value;e.model.filter=n};return ee().createElement(ve.Search,{onChange:t,placeholder:e.trans.__("Filter the kernel sources"),value:e.model.filter})};const be=e=>ee().createElement(i.UseSignal,{signal:e.model.filterChanged,initialArgs:e.model.filter},(t=>ee().createElement(_e,{model:e.model,trans:e.trans})));const ye="jp-DebuggerKernelSource-filterBox";const we="jp-DebuggerKernelSource-filterBox-hidden";const Ce="jp-DebuggerKernelSource-source";class xe extends i.ReactWidget{constructor(e){var t;super();this._showFilter=false;this._model=e.model;this._debuggerService=e.service;this._trans=((t=e.translator)!==null&&t!==void 0?t:f.nullTranslator).load("jupyterlab");this.addClass("jp-DebuggerKernelSources-body")}render(){let e=ye;if(!this._showFilter){e+=" "+we}return ee().createElement(ee().Fragment,null,ee().createElement("div",{className:e,key:"filter"},ee().createElement(be,{model:this._model,trans:this._trans})),ee().createElement(i.UseSignal,{signal:this._model.changed},((e,t)=>{const n={};return(t!==null&&t!==void 0?t:[]).map((e=>{var t;const s=e.name;const o=e.path;const r=s+(n[s]=((t=n[s])!==null&&t!==void 0?t:0)+1).toString();return ee().createElement("div",{key:r,title:o,className:Ce,onClick:()=>{this._debuggerService.getSource({sourceReference:0,path:o}).then((e=>{this._model.open(e)})).catch((e=>{void(0,l.showErrorMessage)(this._trans.__("Fail to get source"),this._trans.__("Fail to get '%1' source:\n%2",o,e))}))}},ee().createElement(i.LabIcon.resolveReact,{icon:i.openKernelSourceIcon,iconClass:(0,i.classes)("jp-Icon"),tag:null}),s)}))})))}toggleFilterbox(){this._showFilter=!this._showFilter;this.update()}}class Se extends i.PanelWithToolbar{constructor(e){var t;super();const{model:n,service:s}=e;this._model=n;const o=((t=e.translator)!==null&&t!==void 0?t:f.nullTranslator).load("jupyterlab");this.title.label=o.__("Kernel Sources");this.toolbar.addClass("jp-DebuggerKernelSources-header");this.toolbar.node.setAttribute("aria-label",o.__("Kernel sources panel toolbar"));this._body=new xe({service:s,model:n,translator:e.translator});this.toolbar.addItem("open-filter",new i.ToolbarButton({icon:i.searchIcon,onClick:async()=>{this._body.toggleFilterbox()},tooltip:o.__("Toggle search filter")}));this.toolbar.addItem("refresh",new i.ToolbarButton({icon:i.refreshIcon,onClick:()=>{this._model.kernelSources=[];void s.displayModules().catch((e=>{void(0,l.showErrorMessage)(o.__("Fail to get kernel sources"),o.__("Fail to get kernel sources:\n%2",e))}))},tooltip:o.__("Refresh kernel sources")}));this.addClass("jp-DebuggerKernelSources-header");this.addWidget(this._body);this.addClass("jp-DebuggerKenelSources")}set filter(e){this._model.filter=e}}const je=({model:e,tree:t,grid:n,trans:s})=>{const[o,r]=(0,Z.useState)("-");const a=e.scopes;const l=e=>{const i=e.target.value;r(i);t.scope=i;n.scope=i};return ee().createElement(i.HTMLSelect,{onChange:l,value:o,"aria-label":s.__("Scope")},a.map((e=>ee().createElement("option",{key:e.name,value:e.name},s.__(e.name)))))};class ke extends i.ReactWidget{constructor(e){super();const{translator:t,model:n,tree:i,grid:s}=e;this._model=n;this._tree=i;this._grid=s;this._trans=(t||f.nullTranslator).load("jupyterlab")}render(){return ee().createElement(i.UseSignal,{signal:this._model.changed,initialSender:this._model},(()=>ee().createElement(je,{model:this._model,trans:this._trans,tree:this._tree,grid:this._grid})))}}var Ie=n(34236);class Te extends i.ReactWidget{constructor(e){super();this._scope="";this._scopes=[];this._filter=new Set;this._commands=e.commands;this._service=e.service;this._translator=e.translator;const t=this.model=e.model;t.changed.connect(this._updateScopes,this);this.addClass("jp-DebuggerVariables-body")}render(){var e;const t=(e=this._scopes.find((e=>e.name===this._scope)))!==null&&e!==void 0?e:this._scopes[0];const n=e=>{this.model.selectedVariable=e};if((t===null||t===void 0?void 0:t.name)!=="Globals"){this.addClass("jp-debuggerVariables-local")}else{this.removeClass("jp-debuggerVariables-local")}return t?ee().createElement(ee().Fragment,null,ee().createElement(ve.TreeView,{className:"jp-TreeView"},ee().createElement(Ee,{key:t.name,commands:this._commands,service:this._service,data:t.variables,filter:this._filter,translator:this._translator,handleSelectVariable:n}))):ee().createElement("div",null)}set filter(e){this._filter=e;this.update()}set scope(e){this._scope=e;this.update()}_updateScopes(e){if(Ie.ArrayExt.shallowEqual(this._scopes,e.scopes)){return}this._scopes=e.scopes;this.update()}}const Ee=e=>{const{commands:t,data:n,service:i,filter:s,translator:o,handleSelectVariable:r}=e;const[a,l]=(0,Z.useState)(n);(0,Z.useEffect)((()=>{l(n)}),[n]);return ee().createElement(ee().Fragment,null,a.filter((e=>!(s||new Set).has(e.evaluateName||""))).map((e=>{const n=`${e.name}-${e.evaluateName}-${e.type}-${e.value}-${e.variablesReference}`;return ee().createElement(De,{key:n,commands:t,data:e,service:i,filter:s,translator:o,onSelect:r})})))};function Me(e){if(e.type==="float"&&(e.value=="inf"||e.value=="-inf")){return e.value}const t=Pe(e);if(e.type==="float"&&isNaN(t)){return"NaN"}return t}const De=e=>{var t,n;const{commands:s,data:o,service:r,filter:a,translator:l,onSelect:d}=e;const[c]=(0,Z.useState)(o);const[h,u]=(0,Z.useState)(false);const[p,m]=(0,Z.useState)(false);const[g,v]=(0,Z.useState)(null);const _=(0,Z.useMemo)((()=>(l!==null&&l!==void 0?l:f.nullTranslator).load("jupyterlab")),[l]);const b=d!==null&&d!==void 0?d:()=>void 0;const y=(0,Z.useMemo)((()=>c.variablesReference!==0||c.type==="function"),[c.variablesReference,c.type]);const w=(0,Z.useMemo)((()=>Me(c)),[c]);const C=(0,Z.useMemo)((()=>!["special variables","protected variables","function variables","class variables"].includes(c.name)),[c.name]);const x=(0,Z.useMemo)((()=>{var e;return!r.model.hasRichVariableRendering||!s.isEnabled(Be.CommandIDs.renderMimeVariable,{name:c.name,frameID:(e=r.model.callstack.frame)===null||e===void 0?void 0:e.id})}),[r.model.hasRichVariableRendering,c.name,(t=r.model.callstack.frame)===null||t===void 0?void 0:t.id]);const S=(0,Z.useCallback)((async()=>{if(y&&!g){v(await r.inspectVariable(c.variablesReference))}}),[y,r,c.variablesReference,g]);const j=(0,Z.useCallback)((async e=>{const t=(0,i.getTreeItemElement)(e.target);if(e.currentTarget!==t){return}if(!y){return}m(!p)}),[y,p]);const k=(0,Z.useCallback)((e=>{if(e.currentTarget===e.detail&&e.detail.selected){b(c)}}),[c]);const I=(0,Z.useCallback)((()=>{var e;s.execute(Be.CommandIDs.renderMimeVariable,{name:c.name,frameID:(e=r.model.callstack.frame)===null||e===void 0?void 0:e.id}).catch((e=>{console.error(`Failed to render variable ${c===null||c===void 0?void 0:c.name}`,e)}))}),[s,c.name,(n=r.model.callstack.frame)===null||n===void 0?void 0:n.id]);const T=(0,Z.useCallback)((e=>{const t=(0,i.getTreeItemElement)(e.target);if(e.currentTarget!==t){return}b(c)}),[c]);return ee().createElement(ve.TreeItem,{className:"jp-TreeItem nested",expanded:p,onSelect:k,onExpand:S,onClick:e=>j(e),onContextMenu:T,onKeyDown:e=>{if(e.key=="Enter"){if(C&&h){b(c);I()}}},onFocus:e=>{u(!e.defaultPrevented);e.preventDefault()},onBlur:e=>{u(false)},onMouseOver:e=>{u(!e.defaultPrevented);e.preventDefault()},onMouseLeave:e=>{u(false)}},ee().createElement("span",{className:"jp-DebuggerVariables-name"},c.name),w&&ee().createElement("span",{className:"jp-DebuggerVariables-detail"},w),C&&h&&ee().createElement(ve.Button,{className:"jp-DebuggerVariables-renderVariable",appearance:"stealth",slot:"end",disabled:x,onClick:e=>{e.stopPropagation();I()},title:_.__("Render variable: %1",c===null||c===void 0?void 0:c.name)},ee().createElement(i.searchIcon.react,{tag:null})),g?ee().createElement(Ee,{key:c.name,commands:s,data:g,service:r,filter:a,translator:l,handleSelectVariable:d}):y&&ee().createElement(ve.TreeItem,null))};class Ae extends i.PanelWithToolbar{constructor(e){super(e);const{model:t,service:n,commands:s,themeManager:o}=e;const r=e.translator||f.nullTranslator;const a=r.load("jupyterlab");this.title.label=a.__("Variables");this.toolbar.addClass("jp-DebuggerVariables-toolbar");this.toolbar.node.setAttribute("aria-label",a.__("Variables toolbar"));this._tree=new Te({model:t,service:n,commands:s,translator:r});this._table=new q({model:t,commands:s,themeManager:o,translator:r});this._table.hide();this.toolbar.addItem("scope-switcher",new ke({translator:r,model:t,tree:this._tree,grid:this._table}));const l=()=>{if(this._table.isHidden){this._tree.hide();this._table.show();this.node.setAttribute("data-jp-table","true");h("table")}else{this._tree.show();this._table.hide();this.node.removeAttribute("data-jp-table");h("tree")}this.update()};const d=new i.ToolbarButton({icon:i.treeViewIcon,className:"jp-TreeView-Button",onClick:l,tooltip:a.__("Tree View")});const c=new i.ToolbarButton({icon:i.tableRowsIcon,className:"jp-TableView-Button",onClick:l,tooltip:a.__("Table View")});const h=e=>{c.pressed=e!=="tree";d.pressed=!c.pressed};h(this._table.isHidden?"tree":"table");this.toolbar.addItem("view-VariableTreeView",d);this.toolbar.addItem("view-VariableTableView",c);this.addWidget(this._tree);this.addWidget(this._table);this.addClass("jp-DebuggerVariables")}set filter(e){this._tree.filter=e;this._table.filter=e}onResize(e){super.onResize(e);this._resizeBody(e)}_resizeBody(e){const t=e.height-this.toolbar.node.offsetHeight;this._tree.node.style.height=`${t}px`}}const Pe=e=>{var t,n;const{type:i,value:s}=e;switch(i){case"int":return parseInt(s,10);case"float":return parseFloat(s);case"bool":return s;case"str":if((n=(t=e.presentationHint)===null||t===void 0?void 0:t.attributes)===null||n===void 0?void 0:n.includes("rawString")){return s.slice(1,s.length-1)}else{return s}default:return i!==null&&i!==void 0?i:s}};class Le extends i.SidePanel{constructor(e){const t=e.translator||f.nullTranslator;super({translator:t});this.id="jp-debugger-sidebar";this.title.icon=i.bugIcon;this.addClass("jp-DebuggerSidebar");const{callstackCommands:n,breakpointsCommands:s,editorServices:o,service:r,themeManager:a}=e;const l=r.model;this.variables=new Ae({model:l.variables,commands:n.registry,service:r,themeManager:a,translator:t});this.callstack=new pe({commands:n,model:l.callstack,translator:t});this.breakpoints=new ce({service:r,commands:s,model:l.breakpoints,translator:t});this.sources=new fe({model:l.sources,service:r,editorServices:o,translator:t});this.kernelSources=new Se({model:l.kernelSources,service:r,translator:t});const d=new Le.Header;this.header.addWidget(d);l.titleChanged.connect(((e,t)=>{d.title.label=t}));this.content.addClass("jp-DebuggerSidebar-body");this.addWidget(this.variables);this.addWidget(this.callstack);this.addWidget(this.breakpoints);this.addWidget(this.sources);this.addWidget(this.kernelSources)}}(function(e){class t extends c.Widget{constructor(){super({node:Re.createHeader()});this.title.changed.connect((e=>{this.node.textContent=this.title.label}))}}e.Header=t})(Le||(Le={}));var Re;(function(e){function t(){const e=document.createElement("h2");e.textContent="-";e.classList.add("jp-text-truncated");return e}e.createHeader=t})(Re||(Re={}));class Ne{constructor(e){var t,n,i;this._config=e.config;this._shell=e.shell;this._notebookTracker=(t=e.notebookTracker)!==null&&t!==void 0?t:null;this._consoleTracker=(n=e.consoleTracker)!==null&&n!==void 0?n:null;this._editorTracker=(i=e.editorTracker)!==null&&i!==void 0?i:null;this._readOnlyEditorTracker=new l.WidgetTracker({namespace:"@jupyterlab/debugger"})}find(e){return[...this._findInConsoles(e),...this._findInEditors(e),...this._findInNotebooks(e),...this._findInReadOnlyEditors(e)]}open(e){const{editorWrapper:t,label:n,caption:s}=e;const o=new l.MainAreaWidget({content:t});o.id=l.DOMUtils.createDomID();o.title.label=n;o.title.closable=true;o.title.caption=s;o.title.icon=i.textEditorIcon;this._shell.add(o,"main",{type:"Debugger Sources"});void this._readOnlyEditorTracker.add(o)}_findInNotebooks(e){if(!this._notebookTracker){return[]}const{focus:t,kernel:n,path:i,source:s}=e;const o=[];this._notebookTracker.forEach((e=>{const r=e.sessionContext;if(i!==r.path){return}const a=e.content;if(t){a.mode="command"}const l=e.content.widgets;l.forEach(((i,r)=>{const l=i.model.sharedModel.getSource();const d=this._getCodeId(l,n);if(!d){return}if(s!==d){return}if(t){a.activeCellIndex=r;if(a.activeCell){a.scrollToItem(a.activeCellIndex,"smart").catch((e=>{}))}this._shell.activateById(e.id)}o.push(Object.freeze({get:()=>i.editor,reveal:()=>a.scrollToItem(r,"smart"),src:i.model.sharedModel}))}))}));return o}_findInConsoles(e){if(!this._consoleTracker){return[]}const{focus:t,kernel:n,path:i,source:s}=e;const o=[];this._consoleTracker.forEach((e=>{const r=e.sessionContext;if(i!==r.path){return}const a=e.console.cells;for(const i of a){const r=i.model.sharedModel.getSource();const a=this._getCodeId(r,n);if(!a){break}if(s!==a){break}o.push(Object.freeze({get:()=>i.editor,reveal:()=>Promise.resolve(this._shell.activateById(e.id)),src:i.model.sharedModel}));if(t){this._shell.activateById(e.id)}}}));return o}_findInEditors(e){if(!this._editorTracker){return[]}const{focus:t,kernel:n,path:i,source:s}=e;const o=[];this._editorTracker.forEach((e=>{const r=e.content;if(i!==r.context.path){return}const a=r.editor;if(!a){return}const l=a.model.sharedModel.getSource();const d=this._getCodeId(l,n);if(!d){return}if(s!==d){return}o.push(Object.freeze({get:()=>a,reveal:()=>Promise.resolve(this._shell.activateById(e.id)),src:r.model.sharedModel}));if(t){this._shell.activateById(e.id)}}));return o}_findInReadOnlyEditors(e){const{focus:t,kernel:n,source:i}=e;const s=[];this._readOnlyEditorTracker.forEach((e=>{var o;const r=(o=e.content)===null||o===void 0?void 0:o.editor;if(!r){return}const a=r.model.sharedModel.getSource();const l=this._getCodeId(a,n);if(!l){return}if(e.title.caption!==i&&i!==l){return}s.push(Object.freeze({get:()=>r,reveal:()=>Promise.resolve(this._shell.activateById(e.id)),src:r.model.sharedModel}));if(t){this._shell.activateById(e.id)}}));return s}_getCodeId(e,t){try{return this._config.getCodeId(e,t)}catch(n){return""}}}var Be;(function(e){class t extends a{}e.Config=t;class n extends S{}e.EditorHandler=n;class s extends P{}e.Handler=s;class o extends U{}e.Model=o;class r extends g{}e.ReadOnlyEditorFactory=r;class l extends X{}e.Service=l;class d extends Q{}e.Session=d;class c extends Le{}e.Sidebar=c;class u extends Ne{}e.Sources=u;class p extends q{}e.VariablesGrid=p;class m extends Y{}e.VariableRenderer=m;let f;(function(e){e.debugContinue="debugger:continue";e.terminate="debugger:terminate";e.next="debugger:next";e.showPanel="debugger:show-panel";e.stepIn="debugger:stepIn";e.stepOut="debugger:stepOut";e.inspectVariable="debugger:inspect-variable";e.renderMimeVariable="debugger:render-mime-variable";e.evaluate="debugger:evaluate";e.restartDebug="debugger:restart-debug";e.pauseOnExceptions="debugger:pause-on-exceptions";e.copyToClipboard="debugger:copy-to-clipboard";e.copyToGlobals="debugger:copy-to-globals";e.invokeConsole="debugger:invoke-console-completer";e.selectConsole="debugger:select-console-completion";e.executeConsole="debugger:run-in-console";e.openSource="debugger:open-source"})(f=e.CommandIDs||(e.CommandIDs={}));let v;(function(e){e.closeAllIcon=i.closeAllIcon;e.evaluateIcon=i.codeIcon;e.continueIcon=i.runIcon;e.pauseIcon=i.pauseIcon;e.stepIntoIcon=i.stepIntoIcon;e.stepOutIcon=i.stepOutIcon;e.stepOverIcon=i.stepOverIcon;e.terminateIcon=i.stopIcon;e.variableIcon=i.variableIcon;e.viewBreakpointIcon=i.viewBreakpointIcon;e.pauseOnExceptionsIcon=i.pauseIcon})(v=e.Icons||(e.Icons={}));let _;(function(e){e.getCode=h.getCode})(_=e.Dialogs||(e.Dialogs={}))})(Be||(Be={}))},82402:(e,t,n)=>{"use strict";n.d(t,{V:()=>i});class i{constructor(){this._providers=[]}register(e){this._providers.push(e)}getDisplayName(e){var t;const n=(t=e.path)!==null&&t!==void 0?t:"";let i=n;for(const s of this._providers){if(!s.canHandle(e)){continue}const t=s.getDisplayName(e);if(t&&t!==n){i=t}}return i}}},85995:(e,t,n)=>{"use strict";n.r(t);n.d(t,{Debugger:()=>i.s,DebuggerDisplayRegistry:()=>s.V,IDebugger:()=>r,IDebuggerConfig:()=>a,IDebuggerDisplayRegistry:()=>u,IDebuggerHandler:()=>c,IDebuggerSidebar:()=>d,IDebuggerSourceViewer:()=>h,IDebuggerSources:()=>l});var i=n(86185);var s=n(82402);var o=n(5592);const r=new o.Token("@jupyterlab/debugger:IDebugger","A debugger user interface.");const a=new o.Token("@jupyterlab/debugger:IDebuggerConfig","A service to handle the debugger configuration.");const l=new o.Token("@jupyterlab/debugger:IDebuggerSources","A service to display sources in debug mode.");const d=new o.Token("@jupyterlab/debugger:IDebuggerSidebar","A service for the debugger sidebar.");const c=new o.Token("@jupyterlab/debugger:IDebuggerHandler","A service for handling notebook debugger.");const h=new o.Token("@jupyterlab/debugger:IDebuggerSourceViewer","A debugger source viewer.");const u=new o.Token("@jupyterlab/debugger:IDebuggerDisplayRegistry","A service for registering display labels for cells/files in the debugger.")},5011:(e,t,n)=>{"use strict";n.r(t);n.d(t,{Grid:()=>u,GridModel:()=>p});var i=n(44505);var s=n.n(i);var o=n(2336);var r=n.n(o);var a=n(27518);var l=n.n(a);var d=n(34881);var c=n.n(d);var h=n(86185);class u extends a.Panel{constructor(e){super();const{commands:t,model:n,themeManager:s}=e;this.model=n;const o=new p(e.translator);const r=new i.DataGrid;const a=new m.MouseHandler;a.doubleClicked.connect(((e,n)=>t.execute(h.s.CommandIDs.inspectVariable,{variableReference:o.getVariableReference(n.row),name:o.getVariableName(n.row)})));a.selected.connect(((e,t)=>{const{row:n}=t;this.model.selectedVariable={name:o.getVariableName(n),value:o.data("body",n,1),type:o.data("body",n,2),variablesReference:o.getVariableReference(n)}}));r.dataModel=o;r.keyHandler=new i.BasicKeyHandler;r.mouseHandler=a;r.selectionModel=new i.BasicSelectionModel({dataModel:o});r.stretchLastColumn=true;r.node.style.height="100%";this._grid=r;if(s){s.themeChanged.connect(this._updateStyles,this)}this.addWidget(r)}set filter(e){this._grid.dataModel.filter=e;this.update()}set scope(e){this._grid.dataModel.scope=e;this.update()}get dataModel(){return this._grid.dataModel}onAfterAttach(e){super.onAfterAttach(e);this._updateStyles()}_updateStyles(){const{style:e,textRenderer:t}=m.computeStyle();this._grid.cellRenderers.update({},t);this._grid.style=e}}class p extends i.DataModel{constructor(e){super();this._filter=new Set;this._scope="";this._data={name:[],type:[],value:[],variablesReference:[]};this._trans=(e||d.nullTranslator).load("jupyterlab")}get filter(){return this._filter}set filter(e){this._filter=e}get scope(){return this._scope}set scope(e){this._scope=e}rowCount(e){return e==="body"?this._data.name.length:1}columnCount(e){return e==="body"?2:1}data(e,t,n){if(e==="row-header"){return this._data.name[t]}if(e==="column-header"){return n===1?this._trans.__("Value"):this._trans.__("Type")}if(e==="corner-header"){return this._trans.__("Name")}return n===1?this._data.value[t]:this._data.type[t]}getVariableReference(e){return this._data.variablesReference[e]}getVariableName(e){return this._data.name[e]}setData(e){var t,n;this._clearData();this.emitChanged({type:"model-reset"});const i=(t=e.find((e=>e.name===this._scope)))!==null&&t!==void 0?t:e[0];const s=(n=i===null||i===void 0?void 0:i.variables)!==null&&n!==void 0?n:[];const o=s.filter((e=>e.name&&!this._filter.has(e.name)));o.forEach(((e,t)=>{var n;this._data.name[t]=e.name;this._data.type[t]=(n=e.type)!==null&&n!==void 0?n:"";this._data.value[t]=e.value;this._data.variablesReference[t]=e.variablesReference}));this.emitChanged({type:"rows-inserted",region:"body",index:1,span:o.length})}_clearData(){this._data={name:[],type:[],value:[],variablesReference:[]}}}var m;(function(e){function t(){const e=document.createElement("div");e.className="jp-DebuggerVariables-colorPalette";e.innerHTML=`\n <div class="jp-mod-void"></div>\n <div class="jp-mod-background"></div>\n <div class="jp-mod-header-background"></div>\n <div class="jp-mod-grid-line"></div>\n <div class="jp-mod-header-grid-line"></div>\n <div class="jp-mod-selection"></div>\n <div class="jp-mod-text"></div>\n `;return e}function n(){const e=t();document.body.appendChild(e);let n;n=e.querySelector(".jp-mod-void");const s=getComputedStyle(n).color;n=e.querySelector(".jp-mod-background");const o=getComputedStyle(n).color;n=e.querySelector(".jp-mod-header-background");const r=getComputedStyle(n).color;n=e.querySelector(".jp-mod-grid-line");const a=getComputedStyle(n).color;n=e.querySelector(".jp-mod-header-grid-line");const l=getComputedStyle(n).color;n=e.querySelector(".jp-mod-selection");const d=getComputedStyle(n).color;n=e.querySelector(".jp-mod-text");const c=getComputedStyle(n).color;document.body.removeChild(e);return{style:{voidColor:s,backgroundColor:o,headerBackgroundColor:r,gridLineColor:a,headerGridLineColor:l,rowBackgroundColor:e=>e%2===0?s:o,selectionFillColor:d},textRenderer:new i.TextRenderer({font:"12px sans-serif",textColor:c,backgroundColor:"",verticalAlignment:"center",horizontalAlignment:"left"})}}e.computeStyle=n;class s extends i.BasicMouseHandler{constructor(){super(...arguments);this._doubleClicked=new o.Signal(this);this._selected=new o.Signal(this)}get doubleClicked(){return this._doubleClicked}get selected(){return this._selected}dispose(){if(this.isDisposed){return}o.Signal.disconnectSender(this);super.dispose()}onMouseDoubleClick(e,t){const n=e.hitTest(t.clientX,t.clientY);this._doubleClicked.emit(n)}onMouseDown(e,t){let{clientX:n,clientY:i}=t;let s=e.hitTest(n,i);this._selected.emit(s);super.onMouseDown(e,t)}onContextMenu(e,t){let{clientX:n,clientY:i}=t;let s=e.hitTest(n,i);this._selected.emit(s)}}e.MouseHandler=s})(m||(m={}))},82372:(e,t,n)=>{"use strict";n.r(t);n.d(t,{ToolbarItems:()=>L,default:()=>P,downloadPlugin:()=>E,openBrowserTabPlugin:()=>M,pathStatusPlugin:()=>T,savingStatusPlugin:()=>I});var i=n(88617);var s=n(38850);var o=n(40959);var r=n(11927);var a=n(95513);var l=n(40065);var d=n(4625);var c=n(34881);var h=n(4073);var u=n(34236);var p=n(5592);var m=n(2336);var g=n(27518);var f=n(44914);var v=n(78629);var _;(function(e){e.clearRecents="docmanager:clear-recents"})(_||(_={}));var b;(function(e){e.recentsManager="@jupyterlab/docmanager-extension:recents";e.reopenClosed="@jupyterlab/docmanager-extension:reopen-recently-closed";e.mainPlugin="@jupyterlab/docmanager-extension:plugin"})(b||(b={}));const y={id:b.recentsManager,description:"Provides a manager of recently opened and closed documents.",autoStart:true,requires:[v.IStateDB],optional:[l.ISettingRegistry,c.ITranslator],provides:r.IRecentsManager,activate:(e,t,n,i)=>{const{serviceManager:s}=e;const o=(i!==null&&i!==void 0?i:c.nullTranslator).load("jupyterlab");const a=new r.RecentsManager({stateDB:t,contents:s.contents});const l=e=>{a.maximalRecentsLength=e.get("maxNumberRecents").composite};if(n){void Promise.all([e.restored,n.load(b.mainPlugin)]).then((([e,t])=>{t.changed.connect(l);l(t)}))}e.commands.addCommand(_.clearRecents,{execute:()=>{a.clearRecents()},isEnabled:()=>a.recentlyOpened.length!=0||a.recentlyClosed.length!=0,label:o.__("Clear Recent Documents"),caption:o.__("Clear the list of recently opened items."),describedBy:{args:{type:"object",properties:{}}}});return a}};var w;(function(e){e.clone="docmanager:clone";e.deleteFile="docmanager:delete-file";e.newUntitled="docmanager:new-untitled";e.open="docmanager:open";e.openBrowserTab="docmanager:open-browser-tab";e.reload="docmanager:reload";e.rename="docmanager:rename";e.del="docmanager:delete";e.duplicate="docmanager:duplicate";e.restoreCheckpoint="docmanager:restore-checkpoint";e.save="docmanager:save";e.saveAll="docmanager:save-all";e.saveAs="docmanager:save-as";e.download="docmanager:download";e.toggleAutosave="docmanager:toggle-autosave";e.showInFileBrowser="docmanager:show-in-file-browser"})(w||(w={}));const C="@jupyterlab/docmanager-extension:plugin";const x={id:"@jupyterlab/docmanager-extension:opener",description:"Provides the widget opener.",autoStart:true,provides:r.IDocumentWidgetOpener,activate:e=>{const{shell:t}=e;return new class{constructor(){this._opened=new m.Signal(this)}open(e,n){var i;if(!e.id){e.id=`document-manager-${++z.id}`}e.title.dataset={type:"document-title",...e.title.dataset};if(!e.isAttached){t.add(e,"main",n||{})}if((i=n===null||n===void 0?void 0:n.activate)!==null&&i!==void 0?i:true){t.activateById(e.id)}this._opened.emit(e)}get opened(){return this._opened}}}};const S={id:"@jupyterlab/docmanager-extension:contexts",description:"Adds the handling of opened documents dirty state.",autoStart:true,requires:[r.IDocumentManager,r.IDocumentWidgetOpener],optional:[i.ILabStatus],activate:(e,t,n,i)=>{const s=new WeakSet;n.opened.connect(((e,n)=>{const o=t.contextForWidget(n);if(o&&!s.has(o)){if(i){F(i,o)}s.add(o)}}))}};const j={id:"@jupyterlab/docmanager-extension:manager",description:"Provides the document manager.",provides:r.IDocumentManager,requires:[r.IDocumentWidgetOpener],optional:[c.ITranslator,i.ILabStatus,s.ISessionContextDialogs,i.JupyterLab.IInfo,r.IRecentsManager,a.IUrlResolverFactory,r.IDocumentManagerDialogs],activate:(e,t,n,i,o,a,l,d,h)=>{var u;const{serviceManager:p,docRegistry:m}=e;const g=n!==null&&n!==void 0?n:c.nullTranslator;const f=o!==null&&o!==void 0?o:new s.SessionContextDialogs({translator:g});const v=h!==null&&h!==void 0?h:new r.DocumentManagerDialogs({translator:g});const _=e.restored.then((()=>void 0));const b=new r.DocumentManager({registry:m,manager:p,opener:t,when:_,setBusy:(u=i&&(()=>i.setBusy()))!==null&&u!==void 0?u:undefined,sessionDialogs:f,translator:g!==null&&g!==void 0?g:c.nullTranslator,isConnectedCallback:()=>{if(a){return a.isConnected}return true},recentsManager:l!==null&&l!==void 0?l:undefined,urlResolverFactory:d!==null&&d!==void 0?d:undefined,docManagerDialogs:v});return b}};const k={id:C,description:"Adds commands and settings to the document manager.",autoStart:true,requires:[r.IDocumentManager,r.IDocumentWidgetOpener,l.ISettingRegistry],optional:[c.ITranslator,s.ICommandPalette,i.ILabShell,r.IDocumentManagerDialogs],activate:(e,t,n,i,s,o,r,a)=>{s=s!==null&&s!==void 0?s:c.nullTranslator;const l=s.load("jupyterlab");const d=e.docRegistry;B(e,t,n,i,s,r,o,a);const h=n=>{const i=n.get("autosave").composite;t.autosave=i===true||i===false?i:true;e.commands.notifyCommandChanged(w.toggleAutosave);const s=n.get("confirmClosingDocument").composite;t.confirmClosingDocument=s!==null&&s!==void 0?s:true;const o=n.get("autosaveInterval").composite;t.autosaveInterval=o||120;const r=n.get("lastModifiedCheckMargin").composite;t.lastModifiedCheckMargin=r||500;const a=n.get("renameUntitledFileOnSave").composite;t.renameUntitledFileOnSave=a!==null&&a!==void 0?a:true;const l=n.get("defaultViewers").composite;const c={};Object.keys(l).forEach((e=>{if(!d.getFileType(e)){console.warn(`File Type ${e} not found`);return}if(!d.getWidgetFactory(l[e])){console.warn(`Document viewer ${l[e]} not found`)}c[e]=l[e]}));for(const e of d.fileTypes()){try{d.setDefaultWidgetFactory(e.name,c[e.name])}catch(h){console.warn(`Failed to set default viewer ${c[e.name]} for file type ${e.name}`)}}};Promise.all([i.load(C),e.restored]).then((([e])=>{e.changed.connect(h);h(e);const n=(t,n)=>{if(["autosave","autosaveInterval","confirmClosingDocument","lastModifiedCheckMargin","renameUntitledFileOnSave"].includes(n.name)&&e.get(n.name).composite!==n.newValue){e.set(n.name,n.newValue).catch((e=>{console.error(`Failed to set the setting '${n.name}':\n${e}`)}))}};t.stateChanged.connect(n)})).catch((e=>{console.error(e.message)}));i.transform(C,{fetch:e=>{const t=Array.from(d.fileTypes()).map((e=>e.name)).join(" \n");const n=Array.from(d.widgetFactories()).map((e=>e.name)).join(" \n");const i=l.__(`Overrides for the default viewers for file types.\nSpecify a mapping from file type name to document viewer name, for example:\n\ndefaultViewers: {\n markdown: "Markdown Preview"\n}\n\nIf you specify non-existent file types or viewers, or if a viewer cannot\nopen a given file type, the override will not function.\n\nAvailable viewers:\n%1\n\nAvailable file types:\n%2`,n,t);const s=p.JSONExt.deepCopy(e.schema);s.properties.defaultViewers.description=i;return{...e,schema:s}}});d.changed.connect((()=>i.load(C,true)))}};const I={id:"@jupyterlab/docmanager-extension:saving-status",description:"Adds a saving status indicator.",autoStart:true,requires:[r.IDocumentManager,i.ILabShell],optional:[c.ITranslator,d.IStatusBar],activate:(e,t,n,i,s)=>{if(!s){return}const o=new r.SavingStatus({docManager:t,translator:i!==null&&i!==void 0?i:c.nullTranslator});o.model.widget=n.currentWidget;n.currentChanged.connect((()=>{o.model.widget=n.currentWidget}));s.registerStatusItem(I.id,{item:o,align:"middle",isActive:()=>o.model!==null&&o.model.status!==null,activeStateChanged:o.model.stateChanged})}};const T={id:"@jupyterlab/docmanager-extension:path-status",description:"Adds a file path indicator in the status bar.",autoStart:true,requires:[r.IDocumentManager,i.ILabShell],optional:[d.IStatusBar],activate:(e,t,n,i)=>{if(!i){return}const s=new r.PathStatus({docManager:t});s.model.widget=n.currentWidget;n.currentChanged.connect((()=>{s.model.widget=n.currentWidget}));i.registerStatusItem(T.id,{item:s,align:"right",rank:0})}};const E={id:"@jupyterlab/docmanager-extension:download",description:"Adds command to download files.",autoStart:true,requires:[r.IDocumentManager],optional:[c.ITranslator,s.ICommandPalette],activate:(e,t,n,i)=>{var o;const r=(n!==null&&n!==void 0?n:c.nullTranslator).load("jupyterlab");const{commands:a,shell:l}=e;const d=()=>{const{currentWidget:e}=l;return!!(e&&t.contextForWidget(e))};a.addCommand(w.download,{label:r.__("Download"),caption:r.__("Download the file to your computer"),isEnabled:d,describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(d()){const e=t.contextForWidget(l.currentWidget);if(!e){return(0,s.showDialog)({title:r.__("Cannot Download"),body:r.__("No context found for current widget!"),buttons:[s.Dialog.okButton()]})}return e.download()}}});(o=e.shell.currentChanged)===null||o===void 0?void 0:o.connect((()=>{e.commands.notifyCommandChanged(w.download)}));const h=r.__("File Operations");if(i){i.addItem({command:w.download,category:h})}}};const M={id:"@jupyterlab/docmanager-extension:open-browser-tab",description:"Adds command to open a browser tab.",autoStart:true,requires:[r.IDocumentManager],optional:[c.ITranslator],activate:(e,t,n)=>{const i=(n!==null&&n!==void 0?n:c.nullTranslator).load("jupyterlab");const{commands:s}=e;s.addCommand(w.openBrowserTab,{execute:e=>{const n=typeof e["path"]==="undefined"?"":e["path"];if(!n){return}return t.services.contents.getDownloadUrl(n).then((e=>{const t=window.open();if(t){t.opener=null;t.location.href=e}else{throw new Error("Failed to open new browser tab.")}}))},iconClass:e=>e["icon"]||"",label:()=>i.__("Open in New Browser Tab"),describedBy:{args:{type:"object",properties:{path:{type:"string",description:i.__("The path of the file to open in browser tab")},icon:{type:"string",description:i.__("The icon class for the command")}},required:["path"]}}})}};const D={id:"@jupyterlab/docmanager-extension:dialogs",description:"Provides default dialogs for document management operations.",autoStart:true,provides:r.IDocumentManagerDialogs,requires:[c.ITranslator],activate:(e,t)=>new r.DocumentManagerDialogs({translator:t})};const A=[j,k,S,T,I,E,M,x,y,D];const P=A;var L;(function(e){function t(e,t){return(0,s.addCommandToolbarButtonClass)(s.ReactWidget.create(f.createElement(s.UseSignal,{signal:t},(()=>f.createElement(s.CommandToolbarButtonComponent,{commands:e,id:w.save,label:"",args:{toolbar:true}})))))}e.createSaveButton=t})(L||(L={}));class R extends g.Widget{constructor(e,t,n="notebook"){super({node:z.createRevertConfirmNode(e,n,t)})}}function N(e,t){if(!e){return"File"}const n=t.contextForWidget(e);if(!n){return""}const i=t.registry.getFileTypesForPath(n.path);return i.length&&i[0].displayName?i[0].displayName:"File"}function B(e,t,n,i,a,l,d,c){var p;const m=a.load("jupyterlab");const{commands:g,shell:f}=e;const v=m.__("File Operations");const _=()=>{const{currentWidget:e}=f;return!!(e&&t.contextForWidget(e))};const b=()=>{var e;const{currentWidget:n}=f;if(!n){return false}const i=t.contextForWidget(n);return!!((e=i===null||i===void 0?void 0:i.contentsModel)===null||e===void 0?void 0:e.writable)};const y=e=>s.Notification.warning(m.__(`%1 is read-only. Use "Save as…" instead.`,e),{autoClose:5e3});if(l){if(!c){c=new r.DocumentManagerDialogs({translator:a})}O(e,t,l,n,a,c)}g.addCommand(w.deleteFile,{label:()=>`Delete ${N(f.currentWidget,t)}`,describedBy:{args:{type:"object",properties:{path:{type:"string",description:"The path of the file to delete"}},required:["path"]}},execute:e=>{const n=typeof e["path"]==="undefined"?"":e["path"];if(!n){const e=w.deleteFile;throw new Error(`A non-empty path is required for ${e}.`)}return t.deleteFile(n)}});g.addCommand(w.newUntitled,{execute:async e=>{const n=e["error"]||m.__("Error");const i=typeof e["path"]==="undefined"?"":e["path"];const o={type:e["type"],path:i};if(e["type"]==="file"){o.ext=e["ext"]||".txt"}return t.services.contents.newUntitled(o).catch((e=>(0,s.showErrorMessage)(n,e)))},label:e=>e["label"]||`New ${e["type"]}`,describedBy:{args:{type:"object",properties:{error:{type:"string",description:"The error title to display"},path:{type:"string",description:"The path where to create the file"},type:{type:"string",description:"The type of content to create",enum:["file","directory","notebook"]},ext:{type:"string",description:"The file extension (for file type)"},label:{type:"string",description:"The label for the command"}}}}});g.addCommand(w.open,{execute:async e=>{const n=typeof e["path"]==="undefined"?"":e["path"];const i=e["factory"]||void 0;const s=e===null||e===void 0?void 0:e.kernel;const o=e===null||e===void 0?void 0:e.kernelPreference;const r=e["options"]||void 0;return t.services.contents.get(n,{content:false}).then((()=>t.openOrReveal(n,i,s,r,o)))},iconClass:e=>e["icon"]||"",label:e=>{var t;return(t=e["label"]||e["factory"])!==null&&t!==void 0?t:m.__("Open the provided `path`.")},mnemonic:e=>e["mnemonic"]||-1,describedBy:{args:{type:"object",properties:{path:{type:"string",description:"The path of the file to open"},factory:{type:"string",description:"The widget factory name"},kernel:{type:"object",description:"The kernel model to use"},kernelPreference:{type:"object",description:"Override kernel preferences, see [`IKernelPreference`](https://jupyterlab.readthedocs.io/en/stable/api/interfaces/apputils.ISessionContext.IKernelPreference.html) for possible values"},options:{type:"object",description:"Additional options for opening"},icon:{type:"string",description:"The icon class for the command"},label:{type:"string",description:"The label for the command"},mnemonic:{type:"number",description:"The mnemonic index for the command"}}}}});g.addCommand(w.reload,{label:()=>m.__("Reload %1 from Disk",N(f.currentWidget,t)),caption:m.__("Reload contents from disk"),isEnabled:_,describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(!_()){return}const e=t.contextForWidget(f.currentWidget);const n=N(f.currentWidget,t);if(!e){return(0,s.showDialog)({title:m.__("Cannot Reload"),body:m.__("No context found for current widget!"),buttons:[s.Dialog.okButton()]})}if(e.model.dirty){return(0,s.showDialog)({title:m.__("Reload %1 from Disk",n),body:m.__("Are you sure you want to reload the %1 from the disk?",n),buttons:[s.Dialog.cancelButton(),s.Dialog.warnButton({label:m.__("Reload")})]}).then((t=>{if(t.button.accept&&!e.isDisposed){return e.revert()}}))}else{if(!e.isDisposed){return e.revert()}}}});g.addCommand(w.restoreCheckpoint,{label:()=>m.__("Revert %1 to Checkpoint…",N(f.currentWidget,t)),caption:m.__("Revert contents to previous checkpoint"),isEnabled:_,describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(!_()){return}const e=t.contextForWidget(f.currentWidget);if(!e){return(0,s.showDialog)({title:m.__("Cannot Revert"),body:m.__("No context found for current widget!"),buttons:[s.Dialog.okButton()]})}return e.listCheckpoints().then((async n=>{const i=N(f.currentWidget,t);if(n.length<1){await(0,s.showErrorMessage)(m.__("No checkpoints"),m.__("No checkpoints are available for this %1.",i));return}const o=n.length===1?n[0]:await z.getTargetCheckpoint(n.reverse(),m);if(!o){return}return(0,s.showDialog)({title:m.__("Revert %1 to checkpoint",i),body:new R(o,m,i),buttons:[s.Dialog.cancelButton(),s.Dialog.warnButton({label:m.__("Revert"),ariaLabel:m.__("Revert to Checkpoint")})]}).then((t=>{if(e.isDisposed){return}if(t.button.accept){if(e.model.readOnly){return e.revert()}return e.restoreCheckpoint(o.id).then((()=>e.revert()))}}))}))}});const x=()=>{if(f.currentWidget){if(!b()){return m.__(`Document is read-only. "Save" is disabled; use "Save as…" instead`)}}return m.__("Save and create checkpoint")};const S=new WeakSet;g.addCommand(w.save,{label:()=>m.__("Save %1",N(f.currentWidget,t)),caption:x,icon:e=>e.toolbar?h.saveIcon:undefined,isEnabled:e=>{if(e._luminoEvent){return e._luminoEvent.type==="keybinding"?true:b()}else{return b()}},describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether executed from toolbar"},_luminoEvent:{type:"object",description:"The lumino event object"}}}},execute:async e=>{var n,r,a,l,d;const c=f.currentWidget;const h=t.contextForWidget(c);if(_()){if(!h){return(0,s.showDialog)({title:m.__("Cannot Save"),body:m.__("No context found for current widget!"),buttons:[s.Dialog.okButton()]})}else{if(S.has(h)){return}if(!((n=h.contentsModel)===null||n===void 0?void 0:n.writable)){let t=(r=e._luminoEvent)===null||r===void 0?void 0:r.type;if(e._luminoEvent&&t==="keybinding"){y(h.path);return}else{return(0,s.showDialog)({title:m.__("Cannot Save"),body:m.__("Document is read-only"),buttons:[s.Dialog.okButton()]})}}S.add(h);const p=o.PathExt.basename((l=(a=h.contentsModel)===null||a===void 0?void 0:a.path)!==null&&l!==void 0?l:"");let g=p;if(t.renameUntitledFileOnSave&&c.isUntitled===true){const e=await s.InputDialog.getText({title:m.__("Rename file"),okLabel:m.__("Rename and Save"),placeholder:m.__("File name"),text:p,selectionRange:p.length-o.PathExt.extname(p).length,checkbox:{label:m.__("Do not ask for rename on first save."),caption:m.__("If checked, you will not be asked to rename future untitled files when saving them.")}});if(e.button.accept){g=(d=e.value)!==null&&d!==void 0?d:p;c.isUntitled=false;if(typeof e.isChecked==="boolean"){const t=(await i.get(C,"renameUntitledFileOnSave")).composite;if(e.isChecked===t){i.set(C,"renameUntitledFileOnSave",!e.isChecked).catch((e=>{console.error(`Fail to set 'renameUntitledFileOnSave:\n${e}`)}))}}}}try{await h.save();if(g!==p){await h.rename(g)}if(!(c===null||c===void 0?void 0:c.isDisposed)){await h.createCheckpoint()}}catch(u){if(u.name==="ModalCancelError"){return}throw u}finally{S.delete(h)}}}}});g.addCommand(w.saveAll,{label:()=>m.__("Save All"),caption:m.__("Save all open documents"),isEnabled:()=>(0,u.some)(f.widgets("main"),(e=>{var n,i,s;return(s=(i=(n=t.contextForWidget(e))===null||n===void 0?void 0:n.contentsModel)===null||i===void 0?void 0:i.writable)!==null&&s!==void 0?s:false})),describedBy:{args:{type:"object",properties:{}}},execute:()=>{var e;const n=[];const i=new Set;for(const s of f.widgets("main")){const o=t.contextForWidget(s);if(o&&!i.has(o.path)){if((e=o.contentsModel)===null||e===void 0?void 0:e.writable){i.add(o.path);n.push(o.save())}else{y(o.path)}}}return Promise.all(n)}});g.addCommand(w.saveAs,{label:()=>m.__("Save %1 As…",N(f.currentWidget,t)),caption:m.__("Save with new path"),isEnabled:_,describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(_()){const e=t.contextForWidget(f.currentWidget);if(!e){return(0,s.showDialog)({title:m.__("Cannot Save"),body:m.__("No context found for current widget!"),buttons:[s.Dialog.okButton()]})}const n=(n,i)=>{if(i.type==="save"&&i.newValue&&i.newValue.path!==e.path){void t.closeFile(e.path);void g.execute(w.open,{path:i.newValue.path})}};t.services.contents.fileChanged.connect(n);void e.saveAs().finally((()=>t.services.contents.fileChanged.disconnect(n)))}}});(p=e.shell.currentChanged)===null||p===void 0?void 0:p.connect((()=>{[w.reload,w.restoreCheckpoint,w.save,w.saveAll,w.saveAs].forEach((t=>{e.commands.notifyCommandChanged(t)}))}));g.addCommand(w.toggleAutosave,{label:m.__("Autosave Documents"),isToggled:()=>t.autosave,execute:()=>{const e=!t.autosave;const n="autosave";return i.set(C,n,e).catch((e=>{console.error(`Failed to set ${C}:${n} - ${e.message}`)}))},describedBy:{args:{type:"object",properties:{}}}});if(d){[w.reload,w.restoreCheckpoint,w.save,w.saveAs,w.toggleAutosave,w.duplicate].forEach((e=>{d.addItem({command:e,category:v})}))}}function O(e,t,n,i,o,r){const a=o.load("jupyterlab");const{commands:l}=e;const d=()=>{var i;const s=/[Pp]ath:\s?(.*)\n?/;const o=e=>{var t;return!!((t=e["title"])===null||t===void 0?void 0:t.match(s))};const r=e.contextMenuHitTest(o);const a=r===null||r===void 0?void 0:r["title"].match(s);return(i=a&&t.findWidget(a[1],null))!==null&&i!==void 0?i:n.currentWidget};const c=()=>{const{currentWidget:e}=n;return!!(e&&t.contextForWidget(e))};l.addCommand(w.clone,{label:()=>a.__("New View for %1",N(d(),t)),isEnabled:c,execute:e=>{const n=d();const s=e["options"]||{mode:"split-right"};if(!n){return}const o=t.cloneWidget(n);if(o){i.open(o,s)}},describedBy:{args:{type:"object",properties:{options:{type:"object",description:a.__("Options for opening the cloned document")}}}}});l.addCommand(w.rename,{label:()=>{let e=N(d(),t);if(e){e=" "+e}return a.__("Rename%1…",e)},isEnabled:c,execute:()=>{if(c()){const e=t.contextForWidget(d());return r.rename(e)}},describedBy:{args:{type:"object",properties:{}}}});l.addCommand(w.duplicate,{label:()=>a.__("Duplicate %1",N(d(),t)),isEnabled:c,execute:()=>{if(c()){const e=t.contextForWidget(d());if(!e){return}return t.duplicate(e.path)}},describedBy:{args:{type:"object",properties:{}}}});l.addCommand(w.del,{label:()=>a.__("Delete %1",N(d(),t)),isEnabled:c,execute:async()=>{if(c()){const n=t.contextForWidget(d());if(!n){return}const i=await(0,s.showDialog)({title:a.__("Delete"),body:a.__("Are you sure you want to delete %1",n.path),buttons:[s.Dialog.cancelButton(),s.Dialog.warnButton({label:a.__("Delete")})]});if(i.button.accept){await e.commands.execute("docmanager:delete-file",{path:n.path})}}},describedBy:{args:{type:"object",properties:{}}}});l.addCommand(w.showInFileBrowser,{label:()=>a.__("Show in File Browser"),isEnabled:c,execute:async()=>{const e=d();const n=e&&t.contextForWidget(e);if(!n){return}await l.execute("filebrowser:activate",{path:n.path});await l.execute("filebrowser:go-to-path",{path:n.path})},describedBy:{args:{type:"object",properties:{}}}});n.currentChanged.connect((()=>{[w.clone,w.rename,w.duplicate,w.del,w.showInFileBrowser].forEach((t=>{e.commands.notifyCommandChanged(t)}))}))}function F(e,t){let n=null;const i=(t,i)=>{if(i.name==="dirty"){if(i.newValue===true){if(!n){n=e.setDirty()}}else if(n){n.dispose();n=null}}};void t.ready.then((()=>{t.model.stateChanged.connect(i);if(t.model.dirty){n=e.setDirty()}}));t.disposed.connect((()=>{if(n){n.dispose()}}))}var z;(function(e){e.id=0;function t(e,t,n){const i=document.createElement("div");const s=document.createElement("p");const r=document.createTextNode(n.__("Are you sure you want to revert the %1 to checkpoint? ",t));const a=document.createElement("strong");a.textContent=n.__("This cannot be undone.");s.appendChild(r);s.appendChild(a);const l=document.createElement("p");const d=document.createTextNode(n.__("The checkpoint was last updated at: "));const c=document.createElement("p");const h=new Date(e.last_modified);c.style.textAlign="center";c.textContent=o.Time.format(h)+" ("+o.Time.formatHuman(h)+")";l.appendChild(d);l.appendChild(c);i.appendChild(s);i.appendChild(l);return i}e.createRevertConfirmNode=t;async function n(e,t){const n=".";const i=e.map(((e,t)=>{const i=o.Time.format(e.last_modified);const s=o.Time.formatHuman(e.last_modified);return`${t}${n} ${i} (${s})`}));const r=(await s.InputDialog.getItem({items:i,title:t.__("Choose a checkpoint")})).value;if(!r){return}const a=r.split(n,1)[0];return e[parseInt(a,10)]}e.getTargetCheckpoint=n})(z||(z={}))},87779:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(24800);var r=n(97913);var a=n(5893);var l=n(79010);var d=n(3579);var c=n(41603)},89069:(e,t,n)=>{"use strict";n.r(t);n.d(t,{DocumentManager:()=>I,DocumentManagerDialogs:()=>d,DocumentWidgetManager:()=>j,IDocumentManager:()=>O,IDocumentManagerDialogs:()=>W,IDocumentWidgetOpener:()=>F,IRecentsManager:()=>z,PathStatus:()=>L,RecentsManager:()=>V,SaveHandler:()=>w,SavingStatus:()=>B,isValidFileName:()=>p,renameDialog:()=>c,renameFile:()=>h,shouldOverwrite:()=>u});var i=n(38850);var s=n(40959);var o=n(34881);var r=n(27518);const a="jp-FileDialog";const l="jp-new-name-title";class d{constructor(e={}){this._translator=e.translator||o.nullTranslator}async rename(e){const t=this._translator.load("jupyterlab");const n=e.localPath.split("/");const s=n.pop()||e.localPath;const o=new m(s,this._translator);const r=await(0,i.showDialog)({title:t.__("Rename File"),body:o,buttons:[i.Dialog.cancelButton(),i.Dialog.okButton({label:t.__("Rename"),ariaLabel:t.__("Rename File")})],focusNodeSelector:"input"});if(!r.button.accept){return null}const a=r.value;if(!a||a===s){return null}if(!p(a)){void(0,i.showErrorMessage)(t.__("Rename Error"),Error(t.__('"%1" is not a valid name for a file. Names must have nonzero length, and cannot include "/", "\\", or ":"',r.value)));return null}return e.rename(a)}async confirmClose(e){const t=this._translator.load("jupyterlab");const{fileName:n,isDirty:s}=e;const o=[i.Dialog.cancelButton(),i.Dialog.okButton({label:s?t.__("Close and save"):t.__("Close"),ariaLabel:s?t.__("Close and save Document"):t.__("Close Document")})];if(s){o.splice(1,0,i.Dialog.warnButton({label:t.__("Close without saving"),ariaLabel:t.__("Close Document without saving")}))}const r=await(0,i.showDialog)({title:t.__("Confirmation"),body:t.__('Please confirm you want to close "%1".',n),checkbox:s?null:{label:t.__("Do not ask me again."),caption:t.__("If checked, no confirmation to close a document will be asked in the future.")},buttons:o});const a=r.button.accept;const l=s?r.button.displayType==="warn":true;const d=r.isChecked===true;return{shouldClose:a,ignoreSave:l,doNotAskAgain:d}}async saveBeforeClose(e){const t=this._translator.load("jupyterlab");const{fileName:n,writable:s}=e;const o=s?t.__("Save"):t.__("Save as");const r=await(0,i.showDialog)({title:t.__("Save your work"),body:t.__('Save changes in "%1" before closing?',n),buttons:[i.Dialog.cancelButton(),i.Dialog.warnButton({label:t.__("Discard"),ariaLabel:t.__("Discard changes to file")}),i.Dialog.okButton({label:o})]});const a=r.button.accept;const l=r.button.displayType==="warn";return{shouldClose:a,ignoreSave:l}}}function c(e,t,n,i){if(i){return i.rename(t)}const s=new d({translator:n});return s.rename(t)}function h(e,t,n){return e.rename(t,n).catch((i=>{if(i.response.status!==409){throw i}return u(n).then((i=>{if(i){return e.overwrite(t,n)}return Promise.reject("File not renamed")}))}))}function u(e,t){t=t||o.nullTranslator;const n=t.load("jupyterlab");const s={title:n.__("Overwrite file?"),body:n.__('"%1" already exists, overwrite?',e),buttons:[i.Dialog.cancelButton(),i.Dialog.warnButton({label:n.__("Overwrite"),ariaLabel:n.__("Overwrite Existing File")})]};return(0,i.showDialog)(s).then((e=>Promise.resolve(e.button.accept)))}function p(e){const t=/[\/\\:]/;return e.length>0&&!t.test(e)}class m extends r.Widget{constructor(e,t){super({node:g.createRenameNode(e,t)});this.addClass(a);const n=s.PathExt.extname(e);const i=this.inputNode.value=s.PathExt.basename(e);this.inputNode.setSelectionRange(0,i.length-n.length)}get inputNode(){return this.node.getElementsByTagName("input")[0]}getValue(){return this.inputNode.value}}var g;(function(e){function t(e,t){t=t||o.nullTranslator;const n=t.load("jupyterlab");const i=document.createElement("div");const s=document.createElement("label");s.textContent=n.__("File Path");const r=document.createElement("span");r.textContent=e;const a=document.createElement("label");a.textContent=n.__("New Name");a.className=l;const d=document.createElement("input");i.appendChild(s);i.appendChild(r);i.appendChild(a);i.appendChild(d);return i}e.createRenameNode=t})(g||(g={}));var f=n(93067);var v=n(34236);var _=n(5592);var b=n(94466);var y=n(2336);class w{constructor(e){this._autosaveTimer=-1;this._minInterval=-1;this._interval=-1;this._isActive=false;this._inDialog=false;this._isDisposed=false;this._multiplier=10;this._context=e.context;this._isConnectedCallback=e.isConnectedCallback||(()=>true);const t=e.saveInterval||120;this._minInterval=t*1e3;this._interval=this._minInterval;this._context.fileChanged.connect(this._setTimer,this);this._context.disposed.connect(this.dispose,this)}get saveInterval(){return this._interval/1e3}set saveInterval(e){this._minInterval=this._interval=e*1e3;if(this._isActive){this._setTimer()}}get isActive(){return this._isActive}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;clearTimeout(this._autosaveTimer);y.Signal.clearData(this)}start(){this._isActive=true;this._setTimer()}stop(){this._isActive=false;clearTimeout(this._autosaveTimer)}_setTimer(){clearTimeout(this._autosaveTimer);if(!this._isActive){return}this._autosaveTimer=window.setTimeout((()=>{if(this._isConnectedCallback()){this._save()}else{this._setTimer()}}),this._interval)}_save(){var e;const t=this._context;this._setTimer();if(!t){return}if(!((e=t.canSave)!==null&&e!==void 0?e:true)||!t.model.dirty||this._inDialog){return}const n=(new Date).getTime();t.save().then((()=>{if(this.isDisposed){return}const e=(new Date).getTime()-n;this._interval=Math.max(this._multiplier*e,this._minInterval);this._setTimer()})).catch((e=>{const{name:t}=e;if(t==="ModalCancelError"||t==="ModalDuplicateError"){return}console.error("Error in Auto-Save",e.message)}))}}var C=n(90044);var x=n(42856);const S="jp-Document";class j{constructor(e){this._activateRequested=new y.Signal(this);this._confirmClosingTab=false;this._isDisposed=false;this._stateChanged=new y.Signal(this);this._registry=e.registry;this.translator=e.translator||o.nullTranslator;this._recentsManager=e.recentsManager||null;this._dialogs=e.dialogs||null}get activateRequested(){return this._activateRequested}get confirmClosingDocument(){return this._confirmClosingTab}set confirmClosingDocument(e){if(this._confirmClosingTab!==e){const t=this._confirmClosingTab;this._confirmClosingTab=e;this._stateChanged.emit({name:"confirmClosingDocument",oldValue:t,newValue:e})}}get stateChanged(){return this._stateChanged}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;y.Signal.disconnectReceiver(this)}createWidget(e,t){const n=e.createNew(t);this._initializeWidget(n,e,t);return n}_initializeWidget(e,t,n){k.factoryProperty.set(e,t);const i=new C.DisposableSet;for(const s of this._registry.widgetExtensions(t.name)){const t=s.createNew(e,n);if(t){i.add(t)}}k.disposablesProperty.set(e,i);e.disposed.connect(this._onWidgetDisposed,this);this.adoptWidget(n,e);n.fileChanged.connect(this._onFileChanged,this);n.pathChanged.connect(this._onPathChanged,this);void n.ready.then((()=>{void this.setCaption(e)}))}adoptWidget(e,t){const n=k.widgetsProperty.get(e);n.push(t);x.MessageLoop.installMessageHook(t,this);t.addClass(S);t.title.closable=true;t.disposed.connect(this._widgetDisposed,this);k.contextProperty.set(t,e)}findWidget(e,t){const n=k.widgetsProperty.get(e);if(!n){return undefined}return(0,v.find)(n,(e=>{const n=k.factoryProperty.get(e);if(!n){return false}return n.name===t}))}contextForWidget(e){return k.contextProperty.get(e)}cloneWidget(e){const t=k.contextProperty.get(e);if(!t){return undefined}const n=k.factoryProperty.get(e);if(!n){return undefined}const i=n.createNew(t,e);this._initializeWidget(i,n,t);return i}closeWidgets(e){const t=k.widgetsProperty.get(e);return Promise.all(t.map((e=>this.onClose(e)))).then((()=>undefined))}deleteWidgets(e){const t=k.widgetsProperty.get(e);return Promise.all(t.map((e=>this.onDelete(e)))).then((()=>undefined))}messageHook(e,t){switch(t.type){case"close-request":void this.onClose(e);return false;case"activate-request":{const t=e;const n=this.contextForWidget(t);if(n){n.ready.then((()=>{this._recordAsRecentlyOpened(t,n.contentsModel)})).catch((()=>{console.warn("Could not record the recents status for",n)}));this._activateRequested.emit(n.path)}break}default:break}return true}async setCaption(e){const t=this.translator.load("jupyterlab");const n=k.contextProperty.get(e);if(!n){return}const i=n.contentsModel;if(!i){e.title.caption="";return}return n.listCheckpoints().then((o=>{if(e.isDisposed){return}const r=o[o.length-1];const a=r?s.Time.format(r.last_modified):"None";let l=t.__("Name: %1\nPath: %2\n",i.name,i.path);if(n.model.readOnly){l+=t.__("Read-only")}else{l+=t.__("Last Saved: %1\n",s.Time.format(i.last_modified))+t.__("Last Checkpoint: %1",a)}e.title.caption=l}))}async onClose(e){var t;const[n,i]=await this._maybeClose(e,this.translator);if(e.isDisposed){return true}if(n){const n=k.contextProperty.get(e);if(!i){if(!n){return true}if((t=n.contentsModel)===null||t===void 0?void 0:t.writable){await n.save()}else{const e=await n.saveAs();if(!e){return false}}}if(n){const t=await Promise.race([n.ready,new Promise((e=>setTimeout(e,3e3,"timeout")))]);if(t==="timeout"){console.warn("Could not record the widget as recently closed because the context did not become ready in 3 seconds")}else{this._recordAsRecentlyClosed(e,n.contentsModel)}}if(e.isDisposed){return true}e.dispose()}return n}onDelete(e){e.dispose();return Promise.resolve(void 0)}_recordAsRecentlyOpened(e,t){var n;const i=this._recentsManager;if(!i){return}const s=t.path;const o=this._registry.getFileTypeForModel(t);const r=o.contentType;const a=(n=k.factoryProperty.get(e))===null||n===void 0?void 0:n.name;i.addRecent({path:s,contentType:r,factory:a},"opened");if(r!=="directory"){const e=s.lastIndexOf("/")>0?s.slice(0,s.lastIndexOf("/")):"";i.addRecent({path:e,contentType:"directory"},"opened")}}_recordAsRecentlyClosed(e,t){var n;const i=this._recentsManager;if(!i){return}const s=t.path;const o=this._registry.getFileTypeForModel(t);const r=o.contentType;const a=(n=k.factoryProperty.get(e))===null||n===void 0?void 0:n.name;i.addRecent({path:s,contentType:r,factory:a},"closed")}async _maybeClose(e,t){var n,i,s;t=t||o.nullTranslator;const r=k.contextProperty.get(e);if(!r){return Promise.resolve([true,true])}let a=k.widgetsProperty.get(r);if(!a){return Promise.resolve([true,true])}a=a.filter((e=>{const t=k.factoryProperty.get(e);if(!t){return false}return t.readOnly===false}));const l=e.title.label;const c=k.factoryProperty.get(e);const h=r.model.dirty&&a.length<=1&&!((n=c===null||c===void 0?void 0:c.readOnly)!==null&&n!==void 0?n:true);const u=(i=this._dialogs)!==null&&i!==void 0?i:new d({translator:t});if(this.confirmClosingDocument){const{shouldClose:e,ignoreSave:t,doNotAskAgain:n}=await u.confirmClose({fileName:l,isDirty:h});if(n){this.confirmClosingDocument=false}return Promise.resolve([e,t])}else{if(!h){return Promise.resolve([true,true])}const e=await(u===null||u===void 0?void 0:u.saveBeforeClose({fileName:l,writable:(s=r.contentsModel)===null||s===void 0?void 0:s.writable}));return[e.shouldClose,e.ignoreSave]}}_widgetDisposed(e){const t=k.contextProperty.get(e);if(!t){return}const n=k.widgetsProperty.get(t);if(!n){return}v.ArrayExt.removeFirstOf(n,e);if(!n.length){t.dispose()}}_onWidgetDisposed(e){const t=k.disposablesProperty.get(e);t.dispose()}_onFileChanged(e){const t=k.widgetsProperty.get(e);for(const n of t){void this.setCaption(n)}}_onPathChanged(e){const t=k.widgetsProperty.get(e);for(const n of t){void this.setCaption(n)}}}var k;(function(e){e.contextProperty=new b.AttachedProperty({name:"context",create:()=>undefined});e.factoryProperty=new b.AttachedProperty({name:"factory",create:()=>undefined});e.widgetsProperty=new b.AttachedProperty({name:"widgets",create:()=>[]});e.disposablesProperty=new b.AttachedProperty({name:"disposables",create:()=>new C.DisposableSet})})(k||(k={}));class I{constructor(e){var t,n;this._activateRequested=new y.Signal(this);this._contexts=[];this._isDisposed=false;this._autosave=true;this._autosaveInterval=120;this._lastModifiedCheckMargin=500;this._renameUntitledFileOnSave=true;this._stateChanged=new y.Signal(this);this.translator=e.translator||o.nullTranslator;this.registry=e.registry;this.services=e.manager;this._docManagerDialogs=(t=e.docManagerDialogs)!==null&&t!==void 0?t:new d({translator:this.translator});this._dialogs=(n=e.sessionDialogs)!==null&&n!==void 0?n:new i.SessionContextDialogs({translator:e.translator});this._isConnectedCallback=e.isConnectedCallback||(()=>true);this._opener=e.opener;this._when=e.when||e.manager.ready;const s=new j({registry:this.registry,translator:this.translator,recentsManager:e.recentsManager,dialogs:this._docManagerDialogs});s.activateRequested.connect(this._onActivateRequested,this);s.stateChanged.connect(this._onWidgetStateChanged,this);this._widgetManager=s;this._setBusy=e.setBusy;this._urlResolverFactory=e.urlResolverFactory}get activateRequested(){return this._activateRequested}get autosave(){return this._autosave}set autosave(e){if(this._autosave!==e){const t=this._autosave;this._autosave=e;this._contexts.forEach((t=>{const n=T.saveHandlerProperty.get(t);if(!n){return}if(e===true&&!n.isActive){n.start()}else if(e===false&&n.isActive){n.stop()}}));this._stateChanged.emit({name:"autosave",oldValue:t,newValue:e})}}get autosaveInterval(){return this._autosaveInterval}set autosaveInterval(e){if(this._autosaveInterval!==e){const t=this._autosaveInterval;this._autosaveInterval=e;this._contexts.forEach((t=>{const n=T.saveHandlerProperty.get(t);if(!n){return}n.saveInterval=e||120}));this._stateChanged.emit({name:"autosaveInterval",oldValue:t,newValue:e})}}get confirmClosingDocument(){return this._widgetManager.confirmClosingDocument}set confirmClosingDocument(e){if(this._widgetManager.confirmClosingDocument!==e){const t=this._widgetManager.confirmClosingDocument;this._widgetManager.confirmClosingDocument=e;this._stateChanged.emit({name:"confirmClosingDocument",oldValue:t,newValue:e})}}get lastModifiedCheckMargin(){return this._lastModifiedCheckMargin}set lastModifiedCheckMargin(e){if(this._lastModifiedCheckMargin!==e){const t=this._lastModifiedCheckMargin;this._lastModifiedCheckMargin=e;this._contexts.forEach((t=>{t.lastModifiedCheckMargin=e}));this._stateChanged.emit({name:"lastModifiedCheckMargin",oldValue:t,newValue:e})}}get renameUntitledFileOnSave(){return this._renameUntitledFileOnSave}set renameUntitledFileOnSave(e){if(this._renameUntitledFileOnSave!==e){const t=this._renameUntitledFileOnSave;this._renameUntitledFileOnSave=e;this._stateChanged.emit({name:"renameUntitledFileOnSave",oldValue:t,newValue:e})}}get stateChanged(){return this._stateChanged}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;y.Signal.clearData(this);this._contexts.forEach((e=>this._widgetManager.closeWidgets(e)));this._widgetManager.dispose();this._contexts.length=0}cloneWidget(e){return this._widgetManager.cloneWidget(e)}closeAll(){return Promise.all(this._contexts.map((e=>this._widgetManager.closeWidgets(e)))).then((()=>undefined))}closeFile(e){const t=this._contextsForPath(e).map((e=>this._widgetManager.closeWidgets(e)));return Promise.all(t).then((e=>undefined))}contextForWidget(e){return this._widgetManager.contextForWidget(e)}copy(e,t){return this.services.contents.copy(e,t)}createNew(e,t="default",n){return this._createOrOpenDocument("create",e,t,n)}deleteFile(e){return this.services.sessions.stopIfNeeded(e).then((()=>this.services.contents.delete(e))).then((()=>{this._contextsForPath(e).forEach((e=>this._widgetManager.deleteWidgets(e)));return Promise.resolve(void 0)}))}duplicate(e){const t=s.PathExt.dirname(e);return this.services.contents.copy(e,t)}findWidget(e,t="default"){const n=s.PathExt.normalize(e);let i=[t];if(t==="default"){const e=this.registry.defaultWidgetFactory(n);if(!e){return undefined}i=[e.name]}else if(t===null){i=this.registry.preferredWidgetFactories(n).map((e=>e.name))}for(const s of this._contextsForPath(n)){for(const e of i){if(e!==null){const t=this._widgetManager.findWidget(s,e);if(t){return t}}}}return undefined}newUntitled(e){if(e.type==="file"){e.ext=e.ext||".txt"}return this.services.contents.newUntitled(e)}open(e,t="default",n,i,s){return this._createOrOpenDocument("open",e,t,n,i,s)}openOrReveal(e,t=null,n,i,s){const o=this.findWidget(e,t);if(o){this._opener.open(o,{type:t||"default",...i});return o}return this.open(e,t||"default",n,i!==null&&i!==void 0?i:{},s)}overwrite(e,t){const n=`${t}.${_.UUID.uuid4()}`;const i=()=>this.rename(n,t);return this.rename(e,n).then((()=>this.deleteFile(t))).then(i,i)}rename(e,t){return this.services.contents.rename(e,t)}_findContext(e,t){const n=this.services.contents.normalize(e);return(0,v.find)(this._contexts,(e=>e.path===n&&e.factoryName===t))}_contextsForPath(e){const t=this.services.contents.normalize(e);return this._contexts.filter((e=>e.path===t))}_createContext(e,t,n,i){const s=(e,t)=>{this._widgetManager.adoptWidget(o,e);this._opener.open(e,t)};const o=new f.Context({opener:s,manager:this.services,factory:t,path:e,kernelPreference:n,setBusy:this._setBusy,sessionDialogs:this._dialogs,lastModifiedCheckMargin:this._lastModifiedCheckMargin,translator:this.translator,contentProviderId:i,urlResolverFactory:this._urlResolverFactory});const r=new w({context:o,isConnectedCallback:this._isConnectedCallback,saveInterval:this.autosaveInterval});T.saveHandlerProperty.set(o,r);void o.ready.then((()=>{if(this.autosave){r.start()}}));o.disposed.connect(this._onContextDisposed,this);this._contexts.push(o);return o}_onContextDisposed(e){v.ArrayExt.removeFirstOf(this._contexts,e)}_widgetFactoryFor(e,t){const{registry:n}=this;if(t==="default"){const i=n.defaultWidgetFactory(e);if(!i){return undefined}t=i.name}return n.getWidgetFactory(t)}_createOrOpenDocument(e,t,n="default",i,s,o){const r=this._widgetFactoryFor(t,n);if(!r){return undefined}const a=r.modelName||"text";const l=this.registry.getModelFactory(a);if(!l){return undefined}const d={...this.registry.getKernelPreference(t,r.name,i),...o};let c;let h=Promise.resolve(undefined);if(e==="open"){c=this._findContext(t,l.name)||null;if(!c){c=this._createContext(t,l,d,r.contentProviderId);h=this._when.then((()=>c.initialize(false)))}}else if(e==="create"){c=this._createContext(t,l,d,r.contentProviderId);h=this._when.then((()=>c.initialize(true)))}else{throw new Error(`Invalid argument 'which': ${e}`)}const u=this._widgetManager.createWidget(r,c);this._opener.open(u,{type:r.name,...s});h.catch((e=>{console.error(`Failed to initialize the context with '${l.name}' for ${t}`,e);u.close()}));return u}_onActivateRequested(e,t){this._activateRequested.emit(t)}_onWidgetStateChanged(e,t){if(t.name==="confirmClosingDocument"){this._stateChanged.emit(t)}}}var T;(function(e){e.saveHandlerProperty=new b.AttachedProperty({name:"saveHandler",create:()=>undefined})})(T||(T={}));var E=n(4625);var M=n(4073);var D=n(44914);var A=n.n(D);function P(e){return A().createElement(E.TextItem,{source:e.name,title:e.fullPath})}class L extends M.VDomRenderer{constructor(e){super(new L.Model(e.docManager));this.node.title=this.model.path}render(){return A().createElement(P,{fullPath:this.model.path,name:this.model.name})}}(function(e){class t extends M.VDomModel{constructor(e){super();this._onTitleChange=e=>{const t=this._getAllState();this._name=e.label;this._triggerChange(t,this._getAllState())};this._onPathChange=(e,t)=>{const n=this._getAllState();this._path=t;this._name=s.PathExt.basename(t);this._triggerChange(n,this._getAllState())};this._path="";this._name="";this._widget=null;this._docManager=e}get path(){return this._path}get name(){return this._name}get widget(){return this._widget}set widget(e){const t=this._widget;if(t!==null){const e=this._docManager.contextForWidget(t);if(e){e.pathChanged.disconnect(this._onPathChange)}else{t.title.changed.disconnect(this._onTitleChange)}}const n=this._getAllState();this._widget=e;if(this._widget===null){this._path="";this._name=""}else{const e=this._docManager.contextForWidget(this._widget);if(e){this._path=e.path;this._name=s.PathExt.basename(e.path);e.pathChanged.connect(this._onPathChange)}else{this._path="";this._name=this._widget.title.label;this._widget.title.changed.connect(this._onTitleChange)}}this._triggerChange(n,this._getAllState())}_getAllState(){return[this._path,this._name]}_triggerChange(e,t){if(e[0]!==t[0]||e[1]!==t[1]){this.stateChanged.emit(void 0)}}}e.Model=t})(L||(L={}));function R(e){return A().createElement(E.TextItem,{source:e.fileStatus})}const N=2e3;class B extends M.VDomRenderer{constructor(e){super(new B.Model(e.docManager));const t=e.translator||o.nullTranslator;const n=t.load("jupyterlab");this._statusMap={completed:n.__("Saving completed"),started:n.__("Saving started"),failed:n.__("Saving failed")}}render(){if(this.model===null||this.model.status===null){return null}else{return A().createElement(R,{fileStatus:this._statusMap[this.model.status]})}}}(function(e){class t extends M.VDomModel{constructor(e){super();this._onStatusChange=(e,t)=>{this._status=t;if(this._status==="completed"){setTimeout((()=>{this._status=null;this.stateChanged.emit(void 0)}),N);this.stateChanged.emit(void 0)}else{this.stateChanged.emit(void 0)}};this._status=null;this._widget=null;this._status=null;this.widget=null;this._docManager=e}get status(){return this._status}get widget(){return this._widget}set widget(e){var t,n;const i=this._widget;if(i!==null){const e=this._docManager.contextForWidget(i);if(e){e.saveState.disconnect(this._onStatusChange)}else if((t=this._widget.content)===null||t===void 0?void 0:t.saveStateChanged){this._widget.content.saveStateChanged.disconnect(this._onStatusChange)}}this._widget=e;if(this._widget===null){this._status=null}else{const e=this._docManager.contextForWidget(this._widget);if(e){e.saveState.connect(this._onStatusChange)}else if((n=this._widget.content)===null||n===void 0?void 0:n.saveStateChanged){this._widget.content.saveStateChanged.connect(this._onStatusChange)}}}}e.Model=t})(B||(B={}));const O=new _.Token("@jupyterlab/docmanager:IDocumentManager",`A service for the manager for all\n documents used by the application. Use this if you want to open and close documents,\n create and delete files, and otherwise interact with the file system.`);const F=new _.Token("@jupyterlab/docmanager:IDocumentWidgetOpener",`A service to open a widget.`);const z=new _.Token("@jupyterlab/docmanager:IRecentsManager",`A service providing information about recently opened and closed documents`);const W=new _.Token("@jupyterlab/docmanager:IDocumentManagerDialogs","A service for displaying dialogs related to document management.");var H=n(26568);class V{constructor(e){this._recentsChanged=new y.Signal(this);this._recents={opened:[],closed:[]};this._isDisposed=false;this._maxRecentsLength=10;this._saveDebouncer=new H.Debouncer(this._save.bind(this),500);this._stateDB=e.stateDB;this._contentsManager=e.contents;this.updateRootDir();this._loadRecents().catch((e=>{console.error(`Failed to load recent list from state:\n${e}`)}))}get isDisposed(){return this._isDisposed}get recentlyOpened(){const e=this._recents.opened||[];return e.filter((e=>e.root===this._serverRoot))}get recentlyClosed(){const e=this._recents.closed||[];return e.filter((e=>e.root===this._serverRoot))}get changed(){return this._recentsChanged}get maximalRecentsLength(){return this._maxRecentsLength}set maximalRecentsLength(e){this._maxRecentsLength=Math.round(Math.max(1,e));let t=false;for(const n of["opened","closed"]){if(this._recents[n].length>this._maxRecentsLength){this._recents[n].length=this._maxRecentsLength;t=true}}if(t){this._recentsChanged.emit(undefined)}}dispose(){if(this.isDisposed){return}this._isDisposed=true;y.Signal.clearData(this);this._saveDebouncer.dispose()}addRecent(e,t){const n={...e,root:this._serverRoot};const i=this._recents[t];const s=i.findIndex((t=>t.path===e.path));if(s>=0){i.splice(s,1)}i.unshift(n);this._setRecents(i,t);this._recentsChanged.emit(undefined)}clearRecents(){this._setRecents([],"opened");this._setRecents([],"closed");this._recentsChanged.emit(undefined)}removeRecent(e,t){this._removeRecent(e.path,[t])}async validate(e){const t=await this._isValid(e);if(!t){this._removeRecent(e.path)}return t}updateRootDir(){this._serverRoot=s.PageConfig.getOption("serverRoot")}_removeRecent(e,t=["opened","closed"]){let n=false;for(const i of t){const t=this._recents[i];const s=t.filter((t=>e!==t.path));if(t.length!==s.length){this._setRecents(s,i);n=true}}if(n){this._recentsChanged.emit(undefined)}}async _isValid(e){var t;try{await this._contentsManager.get(e.path,{content:false})}catch(n){if(((t=n.response)===null||t===void 0?void 0:t.status)===404){return false}}return true}_setRecents(e,t){this._recents[t]=e.slice(0,this.maximalRecentsLength).sort(((e,t)=>{if(e.root===t.root){return 0}else{return e.root!==this._serverRoot?1:-1}}));this._saveDebouncer.invoke().catch(console.warn)}async _loadRecents(){const e=await this._stateDB.fetch(U.stateDBKey)||{opened:[],closed:[]};const t=[...e.opened,...e.closed];const n=new Set(await this._getInvalidPaths(t));for(const i of["opened","closed"]){this._setRecents(e[i].filter((e=>!n.has(e.path))),i)}this._recentsChanged.emit(undefined)}async _getInvalidPaths(e){const t=await Promise.all(e.map((async e=>{if(await this._isValid(e)){return null}else{return e.path}})));return t.filter((e=>typeof e==="string"))}async _save(){try{await this._stateDB.save(U.stateDBKey,this._recents)}catch(e){console.log("Saving recents failed",e)}}}var U;(function(e){e.stateDBKey="docmanager:recents"})(U||(U={}))},41603:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(5893);var a=n(79010)},54294:(e,t,n)=>{"use strict";n.r(t);n.d(t,{ABCWidgetFactory:()=>b,Base64ModelFactory:()=>_,Context:()=>h,DocumentModel:()=>f,DocumentRegistry:()=>E,DocumentWidget:()=>w,MimeContent:()=>x,MimeDocument:()=>S,MimeDocumentFactory:()=>j,TextModelFactory:()=>v,createReadonlyLabel:()=>g,getAvailableKernelFileTypes:()=>D});var i=n(38850);var s=n(40959);var o=n(95513);var r=n(34881);var a=n(5592);var l=n(90044);var d=n(2336);var c=n(27518);class h{constructor(e){var t,n;this._isReady=false;this._isDisposed=false;this._isPopulated=false;this._path="";this._lineEnding=null;this._contentsModel=null;this._populatedPromise=new a.PromiseDelegate;this._pathChanged=new d.Signal(this);this._fileChanged=new d.Signal(this);this._saveState=new d.Signal(this);this._disposed=new d.Signal(this);this._lastModifiedCheckMargin=500;this._conflictModalIsOpen=false;const l=this._manager=e.manager;this.translator=e.translator||r.nullTranslator;this._contentProviderId=e.contentProviderId;this._trans=this.translator.load("jupyterlab");this._factory=e.factory;this._dialogs=(t=e.sessionDialogs)!==null&&t!==void 0?t:new i.SessionContextDialogs({translator:e.translator});this._opener=e.opener||u.noOp;this._path=this._manager.contents.normalize(e.path);this._lastModifiedCheckMargin=e.lastModifiedCheckMargin||500;const c=this._manager.contents.localPath(this._path);const h=this._factory.preferredLanguage(s.PathExt.basename(c));const p=this._manager.contents.getSharedModelFactory(this._path,{contentProviderId:e.contentProviderId});const m=p===null||p===void 0?void 0:p.createNew({path:this._path,format:this._factory.fileFormat,contentType:this._factory.contentType,collaborative:this._factory.collaborative});this._model=this._factory.createNew({languagePreference:h,sharedModel:m,collaborationEnabled:(n=p===null||p===void 0?void 0:p.collaborative)!==null&&n!==void 0?n:false});this._readyPromise=l.ready.then((()=>this._populatedPromise.promise));const g=s.PathExt.extname(this._path);this.sessionContext=new i.SessionContext({kernelManager:l.kernels,sessionManager:l.sessions,specsManager:l.kernelspecs,path:this._path,type:g===".ipynb"?"notebook":"file",name:s.PathExt.basename(c),kernelPreference:e.kernelPreference||{shouldStart:false},setBusy:e.setBusy});this.sessionContext.propertyChanged.connect(this._onSessionChanged,this);l.contents.fileChanged.connect(this._onFileChanged,this);const f=e.urlResolverFactory?e.urlResolverFactory:{createResolver:e=>new o.RenderMimeRegistry.UrlResolver(e)};this._urlResolver=f.createResolver({path:this._path,contents:l.contents})}get pathChanged(){return this._pathChanged}get fileChanged(){return this._fileChanged}get saveState(){return this._saveState}get disposed(){return this._disposed}get lastModifiedCheckMargin(){return this._lastModifiedCheckMargin}set lastModifiedCheckMargin(e){this._lastModifiedCheckMargin=e}get model(){return this._model}get path(){return this._path}get localPath(){return this._manager.contents.localPath(this._path)}get contentsModel(){return this._contentsModel?{...this._contentsModel}:null}get factoryName(){return this.isDisposed?"":this._factory.name}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;this.sessionContext.dispose();this._model.dispose();this._model.sharedModel.dispose();this._disposed.emit(void 0);d.Signal.clearData(this)}get isReady(){return this._isReady}get ready(){return this._readyPromise}get canSave(){var e;return!!(((e=this._contentsModel)===null||e===void 0?void 0:e.writable)&&!this._model.collaborative)}get urlResolver(){return this._urlResolver}async initialize(e){if(e){await this._save()}else{await this._revert()}this.model.sharedModel.clearUndoHistory()}rename(e){return this.ready.then((()=>this._manager.ready.then((()=>this._rename(e)))))}async save(){await this.ready;await this._save()}async saveAs(){await this.ready;const e=this._manager.contents.localPath(this.path);const t=await u.getSavePath(e);if(this.isDisposed||!t){return false}const n=this._manager.contents.driveName(this.path);const i=n==""?t:`${n}:${t}`;if(i===this._path){await this.save();return true}try{await this._manager.ready;await this._manager.contents.get(i,{contentProviderId:this._contentProviderId});await this._maybeOverWrite(i)}catch(s){if(!s.response||s.response.status!==404){if(!s.response){return false}throw s}}await this._finishSaveAs(i);return true}async download(){const e=await this._manager.contents.getDownloadUrl(this._path);const t=document.createElement("a");t.href=e;t.download="";document.body.appendChild(t);t.click();document.body.removeChild(t);return void 0}async revert(){await this.ready;await this._revert()}createCheckpoint(){const e=this._manager.contents;return this._manager.ready.then((()=>e.createCheckpoint(this._path)))}deleteCheckpoint(e){const t=this._manager.contents;return this._manager.ready.then((()=>t.deleteCheckpoint(this._path,e)))}restoreCheckpoint(e){const t=this._manager.contents;const n=this._path;return this._manager.ready.then((()=>{if(e){return t.restoreCheckpoint(n,e)}return this.listCheckpoints().then((i=>{if(this.isDisposed||!i.length){return}e=i[i.length-1].id;return t.restoreCheckpoint(n,e)}))}))}listCheckpoints(){const e=this._manager.contents;return this._manager.ready.then((()=>e.listCheckpoints(this._path)))}addSibling(e,t={}){const n=this._opener;if(n){n(e,t)}return new l.DisposableDelegate((()=>{e.close()}))}_onFileChanged(e,t){var n,i,s;if(t.type==="save"&&this._model.collaborative){if(((n=this._contentsModel)===null||n===void 0?void 0:n.path)!==((i=t.newValue)===null||i===void 0?void 0:i.path)){return}this._updateContentsModel({...this._contentsModel,...t.newValue});return}if(t.type!=="rename"){return}let o=t.oldValue&&t.oldValue.path;let r=t.newValue&&t.newValue.path;if(r&&this._path.indexOf(o||"")===0){let e=t.newValue;if(o!==this._path){r=this._path.replace(new RegExp(`^${o}/`),`${r}/`);o=this._path;e={last_modified:(s=t.newValue)===null||s===void 0?void 0:s.created,path:r}}this._updateContentsModel({...this._contentsModel,...e});this._updatePath(r)}}_onSessionChanged(e,t){if(t!=="path"){return}const n=this._manager.contents.driveName(this.path);let i=this._manager.contents.localPath(this.sessionContext.session.path);if(n){i=`${n}:${i}`}this._updatePath(i)}_updateContentsModel(e){var t,n,i,s;const o={path:e.path,name:e.name,type:e.type,writable:e.writable,created:e.created,last_modified:e.last_modified,mimetype:e.mimetype,format:e.format,hash:e.hash,hash_algorithm:e.hash_algorithm};const r=(n=(t=this._contentsModel)===null||t===void 0?void 0:t.last_modified)!==null&&n!==void 0?n:null;const a=(s=(i=this._contentsModel)===null||i===void 0?void 0:i.hash)!==null&&s!==void 0?s:null;this._contentsModel=o;if(!r&&!a||!a&&o.last_modified!==r||a&&o.hash!==a){this._fileChanged.emit(o)}}_updatePath(e){var t,n,i,o;if(this._path===e){return}this._path=e;const r=this._manager.contents.localPath(e);const a=s.PathExt.basename(r);if(((t=this.sessionContext.session)===null||t===void 0?void 0:t.path)!==e){void((n=this.sessionContext.session)===null||n===void 0?void 0:n.setPath(e))}if(((i=this.sessionContext.session)===null||i===void 0?void 0:i.name)!==a){void((o=this.sessionContext.session)===null||o===void 0?void 0:o.setName(a))}if(this._urlResolver.path!==e){this._urlResolver.path=e}if(this._contentsModel&&(this._contentsModel.path!==e||this._contentsModel.name!==a)){const t={...this._contentsModel,name:a,path:e};this._updateContentsModel(t)}this._pathChanged.emit(e)}async _populate(){this._isPopulated=true;this._isReady=true;this._populatedPromise.resolve(void 0);await this._maybeCheckpoint(false);if(this.isDisposed){return}const e=this._model.defaultKernelName||this.sessionContext.kernelPreference.name;this.sessionContext.kernelPreference={...this.sessionContext.kernelPreference,name:e,language:this._model.defaultKernelLanguage};void this.sessionContext.initialize().then((e=>{if(e){void this._dialogs.selectKernel(this.sessionContext)}}))}async _rename(e){const t=this.localPath.split("/");t[t.length-1]=e;let n=s.PathExt.join(...t);const i=this._manager.contents.driveName(this.path);if(i){n=`${i}:${n}`}await this._manager.contents.rename(this.path,n)}async _save(){this._saveState.emit("started");const e=this._createSaveOptions();try{await this._manager.ready;const t=await this._maybeSave(e);if(this.isDisposed){return}this._model.dirty=false;this._updateContentsModel(t);if(!this._isPopulated){await this._populate()}this._saveState.emit("completed")}catch(t){const{name:e}=t;if(e==="ModalCancelError"||e==="ModalDuplicateError"){throw t}const n=this._manager.contents.localPath(this._path);const i=s.PathExt.basename(n);void this._handleError(t,this._trans.__("File Save Error for %1",i));this._saveState.emit("failed");throw t}}_revert(e=false){const t={type:this._factory.contentType,content:this._factory.fileFormat!==null,hash:this._factory.fileFormat!==null,...this._factory.fileFormat!==null?{format:this._factory.fileFormat}:{},contentProviderId:this._contentProviderId};const n=this._path;const i=this._model;return this._manager.ready.then((()=>this._manager.contents.get(n,t))).then((e=>{if(this.isDisposed){return}if(e.content){if(e.format==="json"){i.fromJSON(e.content)}else{let t=e.content;if(t.indexOf("\r\n")!==-1){this._lineEnding="\r\n";t=t.replace(/\r\n/g,"\n")}else if(t.indexOf("\r")!==-1){this._lineEnding="\r";t=t.replace(/\r/g,"\n")}else{this._lineEnding=null}i.fromString(t)}}this._updateContentsModel(e);i.dirty=false;if(!this._isPopulated){return this._populate()}})).catch((async e=>{const t=this._manager.contents.localPath(this._path);const n=s.PathExt.basename(t);void this._handleError(e,this._trans.__("File Load Error for %1",n));throw e}))}_maybeSave(e){const t=this._path;const n=this._manager.contents.get(t,{content:false,hash:true,contentProviderId:this._contentProviderId});return n.then((n=>{var i,s,o,r;if(this.isDisposed){return Promise.reject(new Error("Disposed"))}const a=((i=this.contentsModel)===null||i===void 0?void 0:i.hash)!==undefined&&((s=this.contentsModel)===null||s===void 0?void 0:s.hash)!==null&&n.hash!==undefined&&n.hash!==null;const l=(o=this.contentsModel)===null||o===void 0?void 0:o.hash;const d=n.hash;if(a&&l!==d){console.warn(`Different hash found for ${this.path}`);return this._raiseConflict(n,e)}const c=this._lastModifiedCheckMargin;const h=(r=this.contentsModel)===null||r===void 0?void 0:r.last_modified;const u=h?new Date(h):new Date;const p=new Date(n.last_modified);if(!a&&h&&p.getTime()-u.getTime()>c){console.warn(`Last saving performed ${u} `+`while the current file seems to have been saved `+`${p}`);return this._raiseConflict(n,e)}return this._manager.contents.save(t,{...e,contentProviderId:this._contentProviderId}).then((async e=>{const n=await this._manager.contents.get(t,{content:false,hash:true,contentProviderId:this._contentProviderId});return{...e,hash:n.hash,hash_algorithm:n.hash_algorithm}}))}),(n=>{if(n.response&&n.response.status===404){return this._manager.contents.save(t,e).then((async e=>{const n=await this._manager.contents.get(t,{content:false,hash:true,contentProviderId:this._contentProviderId});return{...e,hash:n.hash,hash_algorithm:n.hash_algorithm}}))}throw n}))}async _handleError(e,t){await(0,i.showErrorMessage)(t,e);return}_maybeCheckpoint(e){let t=Promise.resolve(void 0);if(!this.canSave){return t}if(e){t=this.createCheckpoint().then()}else{t=this.listCheckpoints().then((e=>{if(!this.isDisposed&&!e.length&&this.canSave){return this.createCheckpoint().then()}}))}return t.catch((e=>{if(!e.response||e.response.status!==403){throw e}}))}_raiseConflict(e,t){if(this._conflictModalIsOpen){const e=new Error("Modal is already displayed");e.name="ModalDuplicateError";return Promise.reject(e)}const n=this._trans.__(`"%1" has changed on disk since the last time it was opened or saved.\nDo you want to overwrite the file on disk with the version open here,\nor load the version on disk (revert)?`,this.path);const s=i.Dialog.okButton({label:this._trans.__("Revert"),actions:["revert"]});const o=i.Dialog.warnButton({label:this._trans.__("Overwrite"),actions:["overwrite"]});this._conflictModalIsOpen=true;return(0,i.showDialog)({title:this._trans.__("File Changed"),body:n,buttons:[i.Dialog.cancelButton(),s,o]}).then((n=>{this._conflictModalIsOpen=false;if(this.isDisposed){return Promise.reject(new Error("Disposed"))}if(n.button.actions.includes("overwrite")){return this._manager.contents.save(this._path,{...t,contentProviderId:this._contentProviderId})}if(n.button.actions.includes("revert")){return this.revert().then((()=>e))}const i=new Error("Cancel");i.name="ModalCancelError";return Promise.reject(i)}))}_maybeOverWrite(e){const t=this._trans.__('"%1" already exists. Do you want to replace it?',e);const n=i.Dialog.warnButton({label:this._trans.__("Overwrite"),accept:true});return(0,i.showDialog)({title:this._trans.__("File Overwrite?"),body:t,buttons:[i.Dialog.cancelButton(),n]}).then((t=>{if(this.isDisposed){return Promise.reject(new Error("Disposed"))}if(t.button.accept){return this._manager.contents.delete(e).then((()=>this._finishSaveAs(e)))}else{return Promise.reject(new Error("Cancelled"))}}))}async _finishSaveAs(e){this._saveState.emit("started");try{await this._manager.ready;const t=this._createSaveOptions();await this._manager.contents.save(e,t);await this._maybeCheckpoint(true);this._saveState.emit("completed")}catch(t){if(t.message==="Cancel"||t.message==="Modal is already displayed"){throw t}const e=this._manager.contents.localPath(this._path);const n=s.PathExt.basename(e);void this._handleError(t,this._trans.__("File Save Error for %1",n));this._saveState.emit("failed");return}}_createSaveOptions(){let e=null;if(this._factory.fileFormat==="json"){e=this._model.toJSON()}else{e=this._model.toString();if(this._lineEnding){e=e.replace(/\n/g,this._lineEnding)}}return{type:this._factory.contentType,format:this._factory.fileFormat,content:e}}}var u;(function(e){function t(e,t){t=t||r.nullTranslator;const n=t.load("jupyterlab");const o=i.Dialog.okButton({label:n.__("Save"),accept:true});return(0,i.showDialog)({title:n.__("Save File As…"),body:new s(e),buttons:[i.Dialog.cancelButton(),o]}).then((e=>{var t;if(e.button.accept){return(t=e.value)!==null&&t!==void 0?t:undefined}return}))}e.getSavePath=t;function n(){}e.noOp=n;class s extends c.Widget{constructor(e){super({node:o(e)})}getValue(){return this.node.value}}function o(e){const t=document.createElement("input");t.value=e;return t}})(u||(u={}));var p=n(44389);var m=n(44914);function g(e,t){var n;let s=(t!==null&&t!==void 0?t:r.nullTranslator).load("jupyterlab");return i.ReactWidget.create(m.createElement("div",null,m.createElement("span",{className:"jp-ToolbarLabelComponent",title:s.__(`Document is read-only. "Save" is disabled; use "Save as…" instead`)},s.__(`%1 is read-only`,(n=e.context.contentsModel)===null||n===void 0?void 0:n.type))))}class f extends p.CodeEditor.Model{constructor(e={}){var t;super({sharedModel:e.sharedModel});this._defaultLang="";this._dirty=false;this._readOnly=false;this._contentChanged=new d.Signal(this);this._stateChanged=new d.Signal(this);this._defaultLang=(t=e.languagePreference)!==null&&t!==void 0?t:"";this._collaborationEnabled=!!e.collaborationEnabled;this.sharedModel.changed.connect(this._onStateChanged,this)}get contentChanged(){return this._contentChanged}get stateChanged(){return this._stateChanged}get dirty(){return this._dirty}set dirty(e){const t=this._dirty;if(e===t){return}this._dirty=e;this.triggerStateChange({name:"dirty",oldValue:t,newValue:e})}get readOnly(){return this._readOnly}set readOnly(e){if(e===this._readOnly){return}const t=this._readOnly;this._readOnly=e;this.triggerStateChange({name:"readOnly",oldValue:t,newValue:e})}get defaultKernelName(){return""}get defaultKernelLanguage(){return this._defaultLang}get collaborative(){return this._collaborationEnabled}toString(){return this.sharedModel.getSource()}fromString(e){this.sharedModel.setSource(e)}toJSON(){return JSON.parse(this.sharedModel.getSource()||"null")}fromJSON(e){this.fromString(JSON.stringify(e))}initialize(){return}triggerStateChange(e){this._stateChanged.emit(e)}triggerContentChange(){this._contentChanged.emit(void 0);this.dirty=true}_onStateChanged(e,t){if(t.sourceChange){this.triggerContentChange()}if(t.stateChange){t.stateChange.forEach((e=>{if(e.name==="dirty"){this.dirty=e.newValue}else if(e.oldValue!==e.newValue){this.triggerStateChange({newValue:undefined,oldValue:undefined,...e})}}))}}}class v{constructor(e){this._isDisposed=false;this._collaborative=e!==null&&e!==void 0?e:true}get name(){return"text"}get contentType(){return"file"}get fileFormat(){return"text"}get collaborative(){return this._collaborative}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed=true}createNew(e={}){const t=e.collaborationEnabled&&this.collaborative;return new f({...e,collaborationEnabled:t})}preferredLanguage(e){return""}}class _ extends v{get name(){return"base64"}get contentType(){return"file"}get fileFormat(){return"base64"}}class b{constructor(e){this._isDisposed=false;this._widgetCreated=new d.Signal(this);this._translator=e.translator||r.nullTranslator;this._name=e.name;this._label=e.label||e.name;this._readOnly=e.readOnly===undefined?false:e.readOnly;this._defaultFor=e.defaultFor?e.defaultFor.slice():[];this._defaultRendered=(e.defaultRendered||[]).slice();this._fileTypes=e.fileTypes.slice();this._modelName=e.modelName||"text";this._preferKernel=!!e.preferKernel;this._canStartKernel=!!e.canStartKernel;this._shutdownOnClose=!!e.shutdownOnClose;this._autoStartDefault=!!e.autoStartDefault;this._toolbarFactory=e.toolbarFactory;this._contentProviderId=e.contentProviderId}get widgetCreated(){return this._widgetCreated}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;d.Signal.clearData(this)}get readOnly(){return this._readOnly}get name(){return this._name}get label(){return this._label}get fileTypes(){return this._fileTypes.slice()}get modelName(){return this._modelName}get defaultFor(){return this._defaultFor.slice()}get defaultRendered(){return this._defaultRendered.slice()}get preferKernel(){return this._preferKernel}get canStartKernel(){return this._canStartKernel}get translator(){return this._translator}get shutdownOnClose(){return this._shutdownOnClose}set shutdownOnClose(e){this._shutdownOnClose=e}get autoStartDefault(){return this._autoStartDefault}set autoStartDefault(e){this._autoStartDefault=e}createNew(e,t){var n;const s=this.createNewWidget(e,t);(0,i.setToolbar)(s,(n=this._toolbarFactory)!==null&&n!==void 0?n:this.defaultToolbarFactory.bind(this));this._widgetCreated.emit(s);return s}get contentProviderId(){return this._contentProviderId}set contentProviderId(e){if(this._contentProviderId&&e!==this._contentProviderId){throw Error(`Cannot change content provider on factory with an existing provider: ${this._contentProviderId}`)}this._contentProviderId=e}defaultToolbarFactory(e){return[]}}const y="jp-mod-dirty";class w extends i.MainAreaWidget{constructor(e){var t;e.reveal=Promise.all([e.reveal,e.context.ready]);super(e);this._trans=((t=e.translator)!==null&&t!==void 0?t:r.nullTranslator).load("jupyterlab");this.context=e.context;this.context.pathChanged.connect(this._onPathChanged,this);this._onPathChanged(this.context,this.context.path);this.context.model.stateChanged.connect(this._onModelStateChanged,this);void this.context.ready.then((()=>{this._handleDirtyState()}));this.title.changed.connect(this._onTitleChanged,this)}setFragment(e){}async _onTitleChanged(e){const t=/[\/\\:]/;const n=this.title.label;const i=this.context.localPath.split("/").pop()||this.context.localPath;if(n===i){return}if(n.length>0&&!t.test(n)){const e=this.context.path;await this.context.rename(n);if(this.context.path!==e){return}}this.title.label=i}_onPathChanged(e,t){this.title.label=s.PathExt.basename(e.localPath);this.isUntitled=false}_onModelStateChanged(e,t){var n;if(t.name==="dirty"){this._handleDirtyState()}if(!this.context.model.dirty){if(((n=this.context.contentsModel)===null||n===void 0?void 0:n.writable)===false){const e=g(this);let t=this.toolbar.insertBefore("kernelName","read-only-indicator",e);if(!t){this.toolbar.addItem("read-only-indicator",e)}}}}_handleDirtyState(){if(this.context.model.dirty&&!this.title.className.includes(y)){this.title.className+=` ${y}`}else{this.title.className=this.title.className.replace(y,"")}}}var C=n(42856);class x extends c.Widget{constructor(e){super();this._changeCallback=e=>{if(!e.data||!e.data[this.mimeType]){return}const t=e.data[this.mimeType];if(typeof t==="string"){if(t!==this._context.model.toString()){this._context.model.fromString(t)}}else if(t!==null&&t!==undefined&&!a.JSONExt.deepEqual(t,this._context.model.toJSON())){this._context.model.fromJSON(t)}};this._fragment="";this._ready=new a.PromiseDelegate;this._isRendering=false;this._renderRequested=false;this.addClass("jp-MimeDocument");this.translator=e.translator||r.nullTranslator;this._trans=this.translator.load("jupyterlab");this.mimeType=e.mimeType;this._dataType=e.dataType||"string";this._context=e.context;this.renderer=e.renderer;const t=this.layout=new c.StackedLayout;t.addWidget(this.renderer);this._context.ready.then((()=>this._render())).then((()=>{if(this.node===document.activeElement){C.MessageLoop.sendMessage(this.renderer,c.Widget.Msg.ActivateRequest)}this._monitor=new s.ActivityMonitor({signal:this._context.model.contentChanged,timeout:e.renderTimeout});this._monitor.activityStopped.connect(this.update,this);this._ready.resolve(undefined)})).catch((e=>{requestAnimationFrame((()=>{this.dispose()}));void(0,i.showErrorMessage)(this._trans.__("Renderer Failure: %1",this._context.path),e)}))}[i.Printing.symbol](){return i.Printing.getPrintFunction(this.renderer)}get ready(){return this._ready.promise}setFragment(e){this._fragment=e;this.update()}dispose(){if(this.isDisposed){return}if(this._monitor){this._monitor.dispose()}this._monitor=null;super.dispose()}onUpdateRequest(e){if(this._context.isReady){void this._render();this._fragment=""}}async _render(){if(this.isDisposed){return}if(this._isRendering){this._renderRequested=true;return}this._renderRequested=false;const e=this._context;const t=e.model;const n={};if(this._dataType==="string"){n[this.mimeType]=t.toString()}else{n[this.mimeType]=t.toJSON()}const s=new o.MimeModel({data:n,callback:this._changeCallback,metadata:{fragment:this._fragment}});try{this._isRendering=true;await this.renderer.renderModel(s);this._isRendering=false;if(this._renderRequested){return this._render()}}catch(r){requestAnimationFrame((()=>{this.dispose()}));void(0,i.showErrorMessage)(this._trans.__("Renderer Failure: %1",e.path),r)}}}class S extends w{setFragment(e){this.content.setFragment(e)}}class j extends b{constructor(e){super(k.createRegistryOptions(e));this._rendermime=e.rendermime;this._renderTimeout=e.renderTimeout||1e3;this._dataType=e.dataType||"string";this._fileType=e.primaryFileType;this._factory=e.factory}createNewWidget(e){var t,n;const i=this._fileType;const s=(i===null||i===void 0?void 0:i.mimeTypes.length)?i.mimeTypes[0]:p.IEditorMimeTypeService.defaultMimeType;const o=this._rendermime.clone({resolver:e.urlResolver});let r;if(this._factory&&this._factory.mimeTypes.includes(s)){r=this._factory.createRenderer({mimeType:s,resolver:o.resolver,sanitizer:o.sanitizer,linkHandler:o.linkHandler,latexTypesetter:o.latexTypesetter,markdownParser:o.markdownParser})}else{r=o.createRenderer(s)}const a=new x({context:e,renderer:r,mimeType:s,renderTimeout:this._renderTimeout,dataType:this._dataType});a.title.icon=i===null||i===void 0?void 0:i.icon;a.title.iconClass=(t=i===null||i===void 0?void 0:i.iconClass)!==null&&t!==void 0?t:"";a.title.iconLabel=(n=i===null||i===void 0?void 0:i.iconLabel)!==null&&n!==void 0?n:"";const l=new S({content:a,context:e});return l}}var k;(function(e){function t(e){return{...e,readOnly:true}}e.createRegistryOptions=t})(k||(k={}));var I=n(4073);var T=n(34236);class E{constructor(e={}){this._modelFactories=Object.create(null);this._widgetFactories=Object.create(null);this._defaultWidgetFactory="";this._defaultWidgetFactoryOverrides=Object.create(null);this._defaultWidgetFactories=Object.create(null);this._defaultRenderedWidgetFactories=Object.create(null);this._widgetFactoriesForFileType=Object.create(null);this._fileTypes=[];this._extenders=Object.create(null);this._changed=new d.Signal(this);this._isDisposed=false;const t=e.textModelFactory;this.translator=e.translator||r.nullTranslator;if(t&&t.name!=="text"){throw new Error("Text model factory must have the name `text`")}this._modelFactories["text"]=t||new v(true);const n=e.initialFileTypes||E.getDefaultFileTypes(this.translator);n.forEach((e=>{const t={...E.getFileTypeDefaults(this.translator),...e};this._fileTypes.push(t)}))}get changed(){return this._changed}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;for(const e in this._modelFactories){this._modelFactories[e].dispose()}for(const e in this._widgetFactories){this._widgetFactories[e].dispose()}for(const e in this._extenders){this._extenders[e].length=0}this._fileTypes.length=0;d.Signal.clearData(this)}addWidgetFactory(e){const t=e.name.toLowerCase();if(!t||t==="default"){throw Error("Invalid factory name")}if(this._widgetFactories[t]){console.warn(`Duplicate registered factory ${t}`);return new l.DisposableDelegate(M.noOp)}this._widgetFactories[t]=e;for(const n of e.defaultFor||[]){if(e.fileTypes.indexOf(n)===-1){continue}if(n==="*"){this._defaultWidgetFactory=t}else{this._defaultWidgetFactories[n]=t}}for(const n of e.defaultRendered||[]){if(e.fileTypes.indexOf(n)===-1){continue}this._defaultRenderedWidgetFactories[n]=t}for(const n of e.fileTypes){if(!this._widgetFactoriesForFileType[n]){this._widgetFactoriesForFileType[n]=[]}this._widgetFactoriesForFileType[n].push(t)}this._changed.emit({type:"widgetFactory",name:t,change:"added"});return new l.DisposableDelegate((()=>{delete this._widgetFactories[t];if(this._defaultWidgetFactory===t){this._defaultWidgetFactory=""}for(const e of Object.keys(this._defaultWidgetFactories)){if(this._defaultWidgetFactories[e]===t){delete this._defaultWidgetFactories[e]}}for(const e of Object.keys(this._defaultRenderedWidgetFactories)){if(this._defaultRenderedWidgetFactories[e]===t){delete this._defaultRenderedWidgetFactories[e]}}for(const e of Object.keys(this._widgetFactoriesForFileType)){T.ArrayExt.removeFirstOf(this._widgetFactoriesForFileType[e],t);if(this._widgetFactoriesForFileType[e].length===0){delete this._widgetFactoriesForFileType[e]}}for(const e of Object.keys(this._defaultWidgetFactoryOverrides)){if(this._defaultWidgetFactoryOverrides[e]===t){delete this._defaultWidgetFactoryOverrides[e]}}this._changed.emit({type:"widgetFactory",name:t,change:"removed"})}))}addModelFactory(e){const t=e.name.toLowerCase();if(this._modelFactories[t]){console.warn(`Duplicate registered factory ${t}`);return new l.DisposableDelegate(M.noOp)}this._modelFactories[t]=e;this._changed.emit({type:"modelFactory",name:t,change:"added"});return new l.DisposableDelegate((()=>{delete this._modelFactories[t];this._changed.emit({type:"modelFactory",name:t,change:"removed"})}))}addWidgetExtension(e,t){e=e.toLowerCase();if(!(e in this._extenders)){this._extenders[e]=[]}const n=this._extenders[e];const i=T.ArrayExt.firstIndexOf(n,t);if(i!==-1){console.warn(`Duplicate registered extension for ${e}`);return new l.DisposableDelegate(M.noOp)}this._extenders[e].push(t);this._changed.emit({type:"widgetExtension",name:e,change:"added"});return new l.DisposableDelegate((()=>{T.ArrayExt.removeFirstOf(this._extenders[e],t);this._changed.emit({type:"widgetExtension",name:e,change:"removed"})}))}addFileType(e,t){const n={...E.getFileTypeDefaults(this.translator),...e,...!(e.icon||e.iconClass)&&{icon:I.fileIcon}};this._fileTypes.push(n);if(t){const e=n.name.toLowerCase();t.map((e=>e.toLowerCase())).forEach((t=>{if(!this._widgetFactoriesForFileType[e]){this._widgetFactoriesForFileType[e]=[]}if(!this._widgetFactoriesForFileType[e].includes(t)){this._widgetFactoriesForFileType[e].push(t)}}));if(!this._defaultWidgetFactories[e]){this._defaultWidgetFactories[e]=this._widgetFactoriesForFileType[e][0]}}this._changed.emit({type:"fileType",name:n.name,change:"added"});return new l.DisposableDelegate((()=>{T.ArrayExt.removeFirstOf(this._fileTypes,n);if(t){const e=n.name.toLowerCase();for(const n of t.map((e=>e.toLowerCase()))){T.ArrayExt.removeFirstOf(this._widgetFactoriesForFileType[e],n)}if(this._defaultWidgetFactories[e]===t[0].toLowerCase()){delete this._defaultWidgetFactories[e]}}this._changed.emit({type:"fileType",name:e.name,change:"removed"})}))}preferredWidgetFactories(e){const t=new Set;const n=this.getFileTypesForPath(s.PathExt.basename(e));n.forEach((e=>{if(e.name in this._defaultWidgetFactoryOverrides){t.add(this._defaultWidgetFactoryOverrides[e.name])}}));n.forEach((e=>{if(e.name in this._defaultWidgetFactories){t.add(this._defaultWidgetFactories[e.name])}}));n.forEach((e=>{if(e.name in this._defaultRenderedWidgetFactories){t.add(this._defaultRenderedWidgetFactories[e.name])}}));if(this._defaultWidgetFactory){t.add(this._defaultWidgetFactory)}for(const s of n){if(s.name in this._widgetFactoriesForFileType){for(const e of this._widgetFactoriesForFileType[s.name]){t.add(e)}}}if("*"in this._widgetFactoriesForFileType){for(const e of this._widgetFactoriesForFileType["*"]){t.add(e)}}const i=[];for(const s of t){const e=this._widgetFactories[s];if(!e){continue}const t=e.modelName||"text";if(t in this._modelFactories){i.push(e)}}return i}defaultRenderedWidgetFactory(e){const t=this.getFileTypesForPath(s.PathExt.basename(e)).map((e=>e.name));for(const n in t){if(n in this._defaultWidgetFactoryOverrides){return this._widgetFactories[this._defaultWidgetFactoryOverrides[n]]}}for(const n in t){if(n in this._defaultRenderedWidgetFactories){return this._widgetFactories[this._defaultRenderedWidgetFactories[n]]}}return this.defaultWidgetFactory(e)}defaultWidgetFactory(e){if(!e){return this._widgetFactories[this._defaultWidgetFactory]}return this.preferredWidgetFactories(e)[0]}setDefaultWidgetFactory(e,t){e=e.toLowerCase();if(!this.getFileType(e)){throw Error(`Cannot find file type ${e}`)}if(!t){if(this._defaultWidgetFactoryOverrides[e]){delete this._defaultWidgetFactoryOverrides[e]}return}if(!this.getWidgetFactory(t)){throw Error(`Cannot find widget factory ${t}`)}t=t.toLowerCase();const n=this._widgetFactoriesForFileType[e];if(t!==this._defaultWidgetFactory&&!(n&&n.includes(t))){throw Error(`Factory ${t} cannot view file type ${e}`)}this._defaultWidgetFactoryOverrides[e]=t}*widgetFactories(){for(const e in this._widgetFactories){yield this._widgetFactories[e]}}*modelFactories(){for(const e in this._modelFactories){yield this._modelFactories[e]}}*widgetExtensions(e){e=e.toLowerCase();if(e in this._extenders){for(const t of this._extenders[e]){yield t}}}*fileTypes(){for(const e of this._fileTypes){yield e}}getWidgetFactory(e){return this._widgetFactories[e.toLowerCase()]}getModelFactory(e){return this._modelFactories[e.toLowerCase()]}getFileType(e){e=e.toLowerCase();return(0,T.find)(this._fileTypes,(t=>t.name.toLowerCase()===e))}getKernelPreference(e,t,n){t=t.toLowerCase();const i=this._widgetFactories[t];if(!i){return void 0}const o=this.getModelFactory(i.modelName||"text");if(!o){return void 0}const r=o.preferredLanguage(s.PathExt.basename(e));const a=n&&n.name;const l=n&&n.id;return{id:l,name:a,language:r,shouldStart:i.preferKernel,canStart:i.canStartKernel,shutdownOnDispose:i.shutdownOnClose,autoStartDefault:i.autoStartDefault}}getFileTypeForModel(e){let t=null;if(e.name||e.path){const n=e.name||s.PathExt.basename(e.path);const i=this.getFileTypesForPath(n);if(i.length>0){t=i[0]}}switch(e.type){case"directory":if(t!==null&&t.contentType==="directory"){return t}return(0,T.find)(this._fileTypes,(e=>e.contentType==="directory"))||E.getDefaultDirectoryFileType(this.translator);case"notebook":if(t!==null&&t.contentType==="notebook"){return t}return(0,T.find)(this._fileTypes,(e=>e.contentType==="notebook"))||E.getDefaultNotebookFileType(this.translator);default:if(t!==null){return t}return this.getFileType("text")||E.getDefaultTextFileType(this.translator)}}getFileTypesForPath(e){const t=[];const n=s.PathExt.basename(e);let i=(0,T.find)(this._fileTypes,(e=>!!(e.pattern&&n.match(e.pattern)!==null)));if(i){t.push(i)}let o=M.extname(n);while(o.length>1){const e=this._fileTypes.filter((e=>e.extensions.map((e=>e.toLowerCase())).includes(o)));t.push(...e);o="."+o.split(".").slice(2).join(".")}return t}}(function(e){function t(e){e=e||r.nullTranslator;const t=e===null||e===void 0?void 0:e.load("jupyterlab");return{name:"default",displayName:t.__("default"),extensions:[],mimeTypes:[],contentType:"file",fileFormat:"text"}}e.getFileTypeDefaults=t;function n(e){e=e||r.nullTranslator;const n=e===null||e===void 0?void 0:e.load("jupyterlab");const i=t(e);return{...i,name:"text",displayName:n.__("Text"),mimeTypes:["text/plain"],extensions:[".txt"],icon:I.fileIcon}}e.getDefaultTextFileType=n;function i(e){e=e||r.nullTranslator;const n=e===null||e===void 0?void 0:e.load("jupyterlab");return{...t(e),name:"notebook",displayName:n.__("Notebook"),mimeTypes:["application/x-ipynb+json"],extensions:[".ipynb"],contentType:"notebook",fileFormat:"json",icon:I.notebookIcon}}e.getDefaultNotebookFileType=i;function s(e){e=e||r.nullTranslator;const n=e===null||e===void 0?void 0:e.load("jupyterlab");return{...t(e),name:"directory",displayName:n.__("Directory"),extensions:[],mimeTypes:["text/directory"],contentType:"directory",icon:I.folderIcon}}e.getDefaultDirectoryFileType=s;function o(e){e=e||r.nullTranslator;const t=e===null||e===void 0?void 0:e.load("jupyterlab");return[n(e),i(e),s(e),{name:"markdown",displayName:t.__("Markdown File"),extensions:[".md"],mimeTypes:["text/markdown"],icon:I.markdownIcon},{name:"PDF",displayName:t.__("PDF File"),extensions:[".pdf"],mimeTypes:["application/pdf"],icon:I.pdfIcon},{name:"python",displayName:t.__("Python File"),extensions:[".py"],mimeTypes:["text/x-python"],icon:I.pythonIcon},{name:"json",displayName:t.__("JSON File"),extensions:[".json"],mimeTypes:["application/json"],icon:I.jsonIcon},{name:"jsonl",displayName:t.__("JSONLines File"),extensions:[".jsonl",".ndjson"],mimeTypes:["text/jsonl","application/jsonl","application/json-lines"],icon:I.jsonIcon},{name:"julia",displayName:t.__("Julia File"),extensions:[".jl"],mimeTypes:["text/x-julia"],icon:I.juliaIcon},{name:"csv",displayName:t.__("CSV File"),extensions:[".csv"],mimeTypes:["text/csv"],icon:I.spreadsheetIcon},{name:"tsv",displayName:t.__("TSV File"),extensions:[".tsv"],mimeTypes:["text/csv"],icon:I.spreadsheetIcon},{name:"r",displayName:t.__("R File"),mimeTypes:["text/x-rsrc"],extensions:[".R"],icon:I.rKernelIcon},{name:"yaml",displayName:t.__("YAML File"),mimeTypes:["text/x-yaml","text/yaml"],extensions:[".yaml",".yml"],icon:I.yamlIcon},{name:"svg",displayName:t.__("Image"),mimeTypes:["image/svg+xml"],extensions:[".svg"],icon:I.imageIcon,fileFormat:"base64"},{name:"tiff",displayName:t.__("Image"),mimeTypes:["image/tiff"],extensions:[".tif",".tiff"],icon:I.imageIcon,fileFormat:"base64"},{name:"jpeg",displayName:t.__("Image"),mimeTypes:["image/jpeg"],extensions:[".jpg",".jpeg"],icon:I.imageIcon,fileFormat:"base64"},{name:"gif",displayName:t.__("Image"),mimeTypes:["image/gif"],extensions:[".gif"],icon:I.imageIcon,fileFormat:"base64"},{name:"png",displayName:t.__("Image"),mimeTypes:["image/png"],extensions:[".png"],icon:I.imageIcon,fileFormat:"base64"},{name:"bmp",displayName:t.__("Image"),mimeTypes:["image/bmp"],extensions:[".bmp"],icon:I.imageIcon,fileFormat:"base64"},{name:"webp",displayName:t.__("Image"),mimeTypes:["image/webp"],extensions:[".webp"],icon:I.imageIcon,fileFormat:"base64"},{name:"aac",displayName:t.__("Audio"),extensions:[".aac"],mimeTypes:["audio/aac"],icon:I.audioIcon,fileFormat:"base64"},{name:"midi",displayName:t.__("Audio"),extensions:[".midi",".mid"],mimeTypes:["audio/midi","audio/x-midi"],icon:I.audioIcon,fileFormat:"base64"},{name:"mp3",displayName:t.__("Audio"),extensions:[".mp3"],mimeTypes:["audio/mpeg"],icon:I.audioIcon,fileFormat:"base64"},{name:"wav",displayName:t.__("Audio"),extensions:[".wav"],mimeTypes:["audio/wav","audio/x-wav"],icon:I.audioIcon,fileFormat:"base64"},{name:"ogg",displayName:t.__("Audio"),extensions:[".ogg"],mimeTypes:["audio/ogg"],icon:I.audioIcon,fileFormat:"base64"},{name:"m4a",displayName:t.__("Audio"),extensions:[".m4a"],mimeTypes:["audio/mp4"],icon:I.audioIcon,fileFormat:"base64"},{name:"flac",displayName:t.__("Audio"),extensions:[".flac"],mimeTypes:["audio/flac"],icon:I.audioIcon,fileFormat:"base64"},{name:"opus",displayName:t.__("Audio"),extensions:[".opus"],mimeTypes:["audio/opus"],icon:I.audioIcon,fileFormat:"base64"},{name:"mp4",displayName:t.__("Video"),extensions:[".mp4"],mimeTypes:["video/mp4"],fileFormat:"base64",icon:I.videoIcon},{name:"mpeg",displayName:t.__("Video"),extensions:[".mpeg"],mimeTypes:["video/mpeg"],fileFormat:"base64",icon:I.videoIcon},{name:"webm",displayName:t.__("Video"),extensions:[".webm"],mimeTypes:["video/webm"],fileFormat:"base64",icon:I.videoIcon},{name:"ogv",displayName:t.__("Video"),extensions:[".ogv",".ogg"],mimeTypes:["video/ogg"],fileFormat:"base64",icon:I.videoIcon},{name:"avi",displayName:t.__("Video"),extensions:[".avi"],mimeTypes:["video/x-msvideo"],fileFormat:"base64",icon:I.videoIcon},{name:"mov",displayName:t.__("Video"),extensions:[".mov"],mimeTypes:["video/quicktime"],fileFormat:"base64",icon:I.videoIcon},{name:"m4v",displayName:t.__("Video"),extensions:[".m4v"],mimeTypes:["video/mp4","video/x-m4v"],fileFormat:"base64",icon:I.videoIcon},{name:"3gp",displayName:t.__("Video"),extensions:[".3gp"],mimeTypes:["video/3gpp"],fileFormat:"base64",icon:I.videoIcon},{name:"mkv",displayName:t.__("Video"),extensions:[".mkv"],mimeTypes:["video/x-matroska"],fileFormat:"base64",icon:I.videoIcon}]}e.getDefaultFileTypes=o})(E||(E={}));var M;(function(e){function t(e){const t=s.PathExt.basename(e).split(".");t.shift();const n="."+t.join(".");return n.toLowerCase()}e.extname=t;function n(){}e.noOp=n})(M||(M={}));async function D(e){var t,n;const i=new Map([["python",[{name:"Python",extensions:[".py"],icon:"ui-components:python",displayName:"Python",mimeTypes:["text/plain"]}]],["julia",[{name:"Julia",extensions:[".jl"],icon:"ui-components:julia",displayName:"Julia",mimeTypes:["text/plain"]}]],["R",[{name:"R",extensions:[".r"],icon:"ui-components:r-kernel",displayName:"R",mimeTypes:["text/plain"]}]]]);await e.ready;let s=new Set;const o=(n=(t=e.specs)===null||t===void 0?void 0:t.kernelspecs)!==null&&n!==void 0?n:{};Object.keys(o).forEach((e=>{const t=o[e];if(t){const e=i.get(t.language);e===null||e===void 0?void 0:e.forEach((e=>s.add(e)))}}));return s}},79010:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(85072);var a=n.n(r);var l=n(97825);var d=n.n(l);var c=n(77659);var h=n.n(c);var u=n(55056);var p=n.n(u);var m=n(10540);var g=n.n(m);var f=n(41113);var v=n.n(f);var _=n(79993);var b={};b.styleTagTransform=v();b.setAttributes=p();b.insert=h().bind(null,"head");b.domAPI=d();b.insertStyleElement=g();var y=a()(_.A,b);const w=_.A&&_.A.locals?_.A.locals:undefined},68201:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>w});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(41043);var l=n.n(a);var d=n(40065);var c=n.n(d);var h=n(34881);var u=n.n(h);var p=n(27518);var m=n.n(p);const g="jp-mod-searchable";const f="jp-mod-search-active";var v;(function(e){e.search="documentsearch:start";e.searchAndReplace="documentsearch:startWithReplace";e.findNext="documentsearch:highlightNext";e.findPrevious="documentsearch:highlightPrevious";e.end="documentsearch:end";e.toggleSearchInSelection="documentsearch:toggleSearchInSelection"})(v||(v={}));const _={id:"@jupyterlab/documentsearch-extension:labShellWidgetListener",description:"Active search on valid document",requires:[i.ILabShell,a.ISearchProviderRegistry],autoStart:true,activate:(e,t,n)=>{const i=e=>{if(!e){return}if(n.hasProvider(e)){e.addClass(g)}else{e.removeClass(g)}};n.changed.connect((()=>i(t.activeWidget)));t.activeChanged.connect(((e,t)=>{const n=t.oldValue;if(n){n.removeClass(g)}i(t.newValue)}))}};class b{constructor(e){this._commandRegistry=e;this._cache=this._buildCache();this._commandRegistry.keyBindingChanged.connect(this._rebuildCache,this)}get next(){return this._cache.next}get previous(){return this._cache.previous}get toggleSearchInSelection(){return this._cache.toggleSearchInSelection}_rebuildCache(){this._cache=this._buildCache()}_buildCache(){const e=this._commandRegistry.keyBindings.find((e=>e.command===v.findNext));const t=this._commandRegistry.keyBindings.find((e=>e.command===v.findPrevious));const n=this._commandRegistry.keyBindings.find((e=>e.command===v.toggleSearchInSelection));return{next:e,previous:t,toggleSearchInSelection:n}}dispose(){this._commandRegistry.keyBindingChanged.disconnect(this._rebuildCache,this)}}const y={id:"@jupyterlab/documentsearch-extension:plugin",description:"Provides the document search registry.",provides:a.ISearchProviderRegistry,requires:[h.ITranslator],optional:[o.ICommandPalette,d.ISettingRegistry],autoStart:true,activate:(e,t,n,i)=>{var s;const r=t.load("jupyterlab");let l=500;let d="never";const c=new a.SearchProviderRegistry(t);const h=new Map;if(i){const t=i.load(y.id);const n=e=>{l=e.get("searchDebounceTime").composite;d=e.get("autoSearchInSelection").composite};Promise.all([t,e.restored]).then((([e])=>{n(e);e.changed.connect((e=>{n(e)}))})).catch((e=>{console.error(e.message)}))}const u=()=>{const t=e.shell.currentWidget;if(!t){return false}return c.hasProvider(t)};const m=n=>{if(!n){return}const i=n.id;let s=h.get(i);if(!s){const o=c.getProvider(n);if(!o){return}const r=new a.SearchDocumentModel(o,l);const d=new b(e.commands);const u=new a.SearchDocumentView(r,t,d);h.set(i,u);[v.findNext,v.findPrevious,v.end,v.toggleSearchInSelection].forEach((t=>{e.commands.notifyCommandChanged(t)}));u.closed.connect((()=>{if(!n.isDisposed){n.activate();n.removeClass(f)}}));u.disposed.connect((()=>{if(!n.isDisposed){n.activate();n.removeClass(f)}h.delete(i);[v.findNext,v.findPrevious,v.end,v.toggleSearchInSelection].forEach((t=>{e.commands.notifyCommandChanged(t)}))}));n.disposed.connect((()=>{u.dispose();r.dispose();o.dispose();d.dispose()}));s=u}if(!s.isAttached){p.Widget.attach(s,n.node);n.addClass(f);if(n instanceof o.MainAreaWidget){s.node.style.top=`${n.toolbar.node.getBoundingClientRect().height+n.contentHeader.node.getBoundingClientRect().height}px`}if(s.model.searchExpression){s.model.refresh()}}return s};e.commands.addCommand(v.search,{label:r.__("Find…"),isEnabled:u,describedBy:{args:{type:"object",properties:{searchText:{type:"string",description:r.__("The text to search for")}}}},execute:async t=>{const n=m(e.shell.currentWidget);if(n){const e=t["searchText"];if(e){n.setSearchText(e)}else{n.setSearchText(n.model.suggestedInitialQuery)}const i=n.model.selectionState;let s=false;switch(d){case"multiple-selected":s=i==="multiple";break;case"any-selected":s=i==="multiple"||i==="single";break;case"never":break}if(s){await n.model.setFilter("selection",true)}n.focusSearchInput()}}});e.commands.addCommand(v.searchAndReplace,{label:r.__("Find and Replace…"),isEnabled:u,describedBy:{args:{type:"object",properties:{searchText:{type:"string",description:r.__("The text to search for")},replaceText:{type:"string",description:r.__("The text to replace with")}}}},execute:t=>{const n=m(e.shell.currentWidget);if(n){const e=t["searchText"];if(e){n.setSearchText(e)}else{n.setSearchText(n.model.suggestedInitialQuery)}const i=t["replaceText"];if(i){n.setReplaceText(i)}n.showReplace();n.focusSearchInput()}}});e.commands.addCommand(v.findNext,{label:r.__("Find Next"),isEnabled:()=>!!e.shell.currentWidget&&h.has(e.shell.currentWidget.id),describedBy:{args:{type:"object",properties:{}}},execute:async()=>{var t;const n=e.shell.currentWidget;if(!n){return}await((t=h.get(n.id))===null||t===void 0?void 0:t.model.highlightNext())}});e.commands.addCommand(v.findPrevious,{label:r.__("Find Previous"),isEnabled:()=>!!e.shell.currentWidget&&h.has(e.shell.currentWidget.id),describedBy:{args:{type:"object",properties:{}}},execute:async()=>{var t;const n=e.shell.currentWidget;if(!n){return}await((t=h.get(n.id))===null||t===void 0?void 0:t.model.highlightPrevious())}});e.commands.addCommand(v.end,{label:r.__("End Search"),isEnabled:()=>!!e.shell.currentWidget&&h.has(e.shell.currentWidget.id),describedBy:{args:{type:"object",properties:{}}},execute:async()=>{var t;const n=e.shell.currentWidget;if(!n){return}(t=h.get(n.id))===null||t===void 0?void 0:t.close()}});e.commands.addCommand(v.toggleSearchInSelection,{label:r.__("Search in Selection"),isEnabled:()=>!!e.shell.currentWidget&&h.has(e.shell.currentWidget.id)&&"selection"in h.get(e.shell.currentWidget.id).model.filtersDefinition,describedBy:{args:{type:"object",properties:{}}},execute:async()=>{var t;const n=e.shell.currentWidget;if(!n){return}const i=(t=h.get(n.id))===null||t===void 0?void 0:t.model;if(!i){return}const s=i.filters["selection"];return i.setFilter("selection",!s)}});(s=e.shell.currentChanged)===null||s===void 0?void 0:s.connect((()=>{Object.values(v).forEach((t=>{e.commands.notifyCommandChanged(t)}))}));if(n){[v.search,v.findNext,v.findPrevious,v.end,v.toggleSearchInSelection].forEach((e=>{n.addItem({command:e,category:r.__("Main Area")})}))}return c}};const w=[y,_]},13067:(e,t,n)=>{"use strict";var i=n(10395);var s=n(97913);var o=n(3579);var r=n(19562)},42866:(e,t,n)=>{"use strict";n.r(t);n.d(t,{FOUND_CLASSES:()=>a,GenericSearchProvider:()=>c,HTMLSearchEngine:()=>d,ISearchProviderRegistry:()=>se,SearchDocumentModel:()=>g,SearchDocumentView:()=>ee,SearchProvider:()=>o,SearchProviderRegistry:()=>ne,TextSearchEngine:()=>u});var i=n(27518);var s=n(2336);class o{constructor(e){this.widget=e;this._stateChanged=new s.Signal(this);this._filtersChanged=new s.Signal(this);this._disposed=false}get stateChanged(){return this._stateChanged}get filtersChanged(){return this._filtersChanged}get currentMatchIndex(){return null}get isDisposed(){return this._disposed}get matchesCount(){return null}dispose(){if(this._disposed){return}this._disposed=true;s.Signal.clearData(this)}getInitialQuery(){return""}getFilters(){return{}}static preserveCase(e,t){if(e.toUpperCase()===e){return t.toUpperCase()}if(e.toLowerCase()===e){return t.toLowerCase()}if(r(e)===e){return r(t)}return t}}function r([e="",...t]){return e.toUpperCase()+""+t.join("").toLowerCase()}const a=["cm-string","cm-overlay","cm-searching"];const l=["CodeMirror-selectedtext","jp-current-match"];class d{static search(e,t){if(!(t instanceof Node)){console.warn("Unable to search with HTMLSearchEngine the provided object.",t);return Promise.resolve([])}if(!e.global){e=new RegExp(e.source,e.flags+"g")}const n=[];const i=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,{acceptNode:n=>{let i=n.parentElement;while(i!==t){if(i.nodeName in d.UNSUPPORTED_ELEMENTS){return NodeFilter.FILTER_REJECT}i=i.parentElement}return e.test(n.textContent)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}});let s=null;while((s=i.nextNode())!==null){e.lastIndex=0;let t=null;while((t=e.exec(s.textContent))!==null){n.push({text:t[0],position:t.index,node:s})}}return Promise.resolve(n)}}d.UNSUPPORTED_ELEMENTS={BASE:true,HEAD:true,LINK:true,META:true,STYLE:true,TITLE:true,BODY:true,AREA:true,AUDIO:true,IMG:true,MAP:true,TRACK:true,VIDEO:true,APPLET:true,EMBED:true,IFRAME:true,NOEMBED:true,OBJECT:true,PARAM:true,PICTURE:true,SOURCE:true,CANVAS:true,NOSCRIPT:true,SCRIPT:true,svg:true,SVG:true};class c extends o{constructor(){super(...arguments);this.isReadOnly=true;this._matches=[];this._mutationObserver=new MutationObserver(this._onWidgetChanged.bind(this));this._markNodes=new Array}static isApplicable(e){return e instanceof i.Widget}static createNew(e,t,n){return new c(e)}get currentMatchIndex(){return this._currentMatchIndex>=0?this._currentMatchIndex:null}get currentMatch(){var e;return(e=this._matches[this._currentMatchIndex])!==null&&e!==void 0?e:null}get matches(){return this._matches?this._matches.map((e=>Object.assign({},e))):this._matches}get matchesCount(){return this._matches.length}clearHighlight(){if(this._currentMatchIndex>=0){const e=this._markNodes[this._currentMatchIndex];e.classList.remove(...l)}this._currentMatchIndex=-1;return Promise.resolve()}dispose(){if(this.isDisposed){return}this.endQuery().catch((e=>{console.error(`Failed to end search query.`,e)}));super.dispose()}async highlightNext(e){var t;return(t=this._highlightNext(false,e!==null&&e!==void 0?e:true))!==null&&t!==void 0?t:undefined}async highlightPrevious(e){var t;return(t=this._highlightNext(true,e!==null&&e!==void 0?e:true))!==null&&t!==void 0?t:undefined}async replaceCurrentMatch(e,t){return Promise.resolve(false)}async replaceAllMatches(e){return Promise.resolve(false)}async startQuery(e,t={}){await this.endQuery();this._query=e;if(e===null){return Promise.resolve()}const n=await d.search(e,this.widget.node);let i=0;while(i<n.length){let e=n[i].node;let t=e.parentNode;let s=[n[i]];while(++i<n.length&&n[i].node===e){s.unshift(n[i])}const o=s.map((n=>{const i=document.createElement("mark");i.classList.add(...a);i.textContent=n.text;const s=e.splitText(n.position);s.textContent=s.textContent.slice(n.text.length);t.insertBefore(i,s);return i}));for(let n=o.length-1;n>=0;n--){this._markNodes.push(o[n])}}this._mutationObserver.observe(this.widget.node,{attributes:false,characterData:true,childList:true,subtree:true});this._matches=n}async endQuery(){this._mutationObserver.disconnect();this._markNodes.forEach((e=>{const t=e.parentNode;t.replaceChild(document.createTextNode(e.textContent),e);t.normalize()}));this._markNodes=[];this._matches=[];this._currentMatchIndex=-1}_highlightNext(e,t){if(this._matches.length===0){return null}if(this._currentMatchIndex===-1){this._currentMatchIndex=e?this.matches.length-1:0}else{const n=this._markNodes[this._currentMatchIndex];n.classList.remove(...l);this._currentMatchIndex=e?this._currentMatchIndex-1:this._currentMatchIndex+1;if(t&&(this._currentMatchIndex<0||this._currentMatchIndex>=this._matches.length)){this._currentMatchIndex=(this._currentMatchIndex+this._matches.length)%this._matches.length}}if(this._currentMatchIndex>=0&&this._currentMatchIndex<this._matches.length){const t=this._markNodes[this._currentMatchIndex];t.classList.add(...l);if(!h(t)){t.scrollIntoView(e)}t.focus();return this._matches[this._currentMatchIndex]}else{this._currentMatchIndex=-1;return null}}async _onWidgetChanged(e,t){this._currentMatchIndex=-1;await this.startQuery(this._query);this._stateChanged.emit()}}function h(e){const t=e.getBoundingClientRect();return t.top>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.left>=0&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}const u={search(e,t){if(typeof t!=="string"){try{t=JSON.stringify(t)}catch(s){console.warn("Unable to search with TextSearchEngine non-JSON serializable object.",s,t);return Promise.resolve([])}}if(!e.global){e=new RegExp(e.source,e.flags+"g")}const n=new Array;let i=null;while((i=e.exec(t))!==null){n.push({text:i[0],position:i.index})}return Promise.resolve(n)}};var p=n(4073);var m=n(26568);class g extends p.VDomModel{constructor(e,t){super();this.searchProvider=e;this._caseSensitive=false;this._disposed=new s.Signal(this);this._parsingError="";this._preserveCase=false;this._initialQuery="";this._filters={};this._replaceText="";this._searchActive=false;this._searchExpression="";this._useRegex=false;this._wholeWords=false;this._filters={};if(this.searchProvider.getFilters){const e=this.searchProvider.getFilters();for(const t in e){this._filters[t]=e[t].default}}e.stateChanged.connect(this._onProviderStateChanged,this);this._searchDebouncer=new m.Debouncer((()=>{this._updateSearch().catch((e=>{console.error("Failed to update search on document.",e)}))}),t)}get caseSensitive(){return this._caseSensitive}set caseSensitive(e){if(this._caseSensitive!==e){this._caseSensitive=e;this.stateChanged.emit();this.refresh()}}get currentIndex(){return this.searchProvider.currentMatchIndex}get disposed(){return this._disposed}get filters(){return this._filters}get filtersDefinition(){var e,t,n;return(n=(t=(e=this.searchProvider).getFilters)===null||t===void 0?void 0:t.call(e))!==null&&n!==void 0?n:{}}get filtersDefinitionChanged(){return this.searchProvider.filtersChanged||null}get initialQuery(){return this._initialQuery}set initialQuery(e){this._initialQuery=e}get suggestedInitialQuery(){return this.searchProvider.getInitialQuery()}get selectionState(){return this.searchProvider.getSelectionState?this.searchProvider.getSelectionState():undefined}get isReadOnly(){return this.searchProvider.isReadOnly}get replaceOptionsSupport(){return this.searchProvider.replaceOptionsSupport}get parsingError(){return this._parsingError}get preserveCase(){return this._preserveCase}set preserveCase(e){if(this._preserveCase!==e){this._preserveCase=e;this.stateChanged.emit();this.refresh()}}get replaceText(){return this._replaceText}set replaceText(e){if(this._replaceText!==e){this._replaceText=e;this.stateChanged.emit()}}get searchExpression(){return this._searchExpression}set searchExpression(e){if(this._searchExpression!==e){this._searchExpression=e;this.stateChanged.emit();this.refresh()}}get totalMatches(){return this.searchProvider.matchesCount}get useRegex(){return this._useRegex}set useRegex(e){if(this._useRegex!==e){this._useRegex=e;this.stateChanged.emit();this.refresh()}}get wholeWords(){return this._wholeWords}set wholeWords(e){if(this._wholeWords!==e){this._wholeWords=e;this.stateChanged.emit();this.refresh()}}dispose(){if(this.isDisposed){return}if(this._searchExpression){this.endQuery().catch((e=>{console.error(`Failed to end query '${this._searchExpression}.`,e)}))}this.searchProvider.stateChanged.disconnect(this._onProviderStateChanged,this);this._searchDebouncer.dispose();super.dispose()}async endQuery(){this._searchActive=false;await this.searchProvider.endQuery();this.stateChanged.emit()}async highlightNext(){await this.searchProvider.highlightNext();this.stateChanged.emit()}async highlightPrevious(){await this.searchProvider.highlightPrevious();this.stateChanged.emit()}refresh(){this._searchDebouncer.invoke().catch((e=>{console.error("Failed to invoke search document debouncer.",e)}))}async replaceAllMatches(){await this.searchProvider.replaceAllMatches(this._replaceText,{preserveCase:this.preserveCase,regularExpression:this.useRegex});this.stateChanged.emit()}async replaceCurrentMatch(){await this.searchProvider.replaceCurrentMatch(this._replaceText,true,{preserveCase:this.preserveCase,regularExpression:this.useRegex});this.stateChanged.emit()}async setFilter(e,t){if(this._filters[e]!==t){if(this.searchProvider.validateFilter){this._filters[e]=await this.searchProvider.validateFilter(e,t);if(this._filters[e]===t){this.stateChanged.emit();this.refresh()}}else{this._filters[e]=t;this.stateChanged.emit();this.refresh()}}}async _updateSearch(){if(this._parsingError){this._parsingError="";this.stateChanged.emit()}try{const e=this.searchExpression?f.parseQuery(this.searchExpression,this.caseSensitive,this.useRegex,this.wholeWords):null;if(e){this._searchActive=true;await this.searchProvider.startQuery(e,this._filters)}else{this._searchActive=false;await this.searchProvider.endQuery()}this.stateChanged.emit()}catch(e){this._parsingError=e.toString();this.stateChanged.emit();console.error(`Failed to parse expression ${this.searchExpression}`,e)}}_onProviderStateChanged(){if(this._searchActive){this.refresh()}}}var f;(function(e){function t(e,t,n,i){const s=t?"gm":"gim";let o=n?e:e.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&");if(i){o="\\b"+o+"\\b"}const r=new RegExp(o,s);if(r.test("")){return null}return r}e.parseQuery=t})(f||(f={}));var v=n(34881);var _=n(93247);var b=n(38850);var y=n(44914);const w="jp-DocumentSearch-overlay";const C="jp-DocumentSearch-overlay-row";const x="jp-DocumentSearch-input";const S="jp-DocumentSearch-input-label";const j="jp-DocumentSearch-input-wrapper";const k="jp-DocumentSearch-input-button-off";const I="jp-DocumentSearch-input-button-on";const T="jp-DocumentSearch-index-counter";const E="jp-DocumentSearch-up-down-wrapper";const M="jp-DocumentSearch-up-down-button";const D="jp-DocumentSearch-filter-button";const A="jp-DocumentSearch-filter-button-enabled";const P="jp-DocumentSearch-regex-error";const L="jp-DocumentSearch-search-options";const R="jp-DocumentSearch-search-filter-disabled";const N="jp-DocumentSearch-search-filter";const B="jp-DocumentSearch-replace-button";const O="jp-DocumentSearch-replace-button-wrapper";const F="jp-DocumentSearch-replace-wrapper-class";const z="jp-DocumentSearch-replace-toggle";const W="jp-DocumentSearch-toggle-wrapper";const H="jp-DocumentSearch-toggle-placeholder";const V="jp-DocumentSearch-button-content";const U="jp-DocumentSearch-button-wrapper";const q="jp-DocumentSearch-spacer";function $(e){const[t,n]=(0,y.useState)(1);const i=(0,y.useCallback)((t=>{var i;const s=t?t.target:(i=e.inputRef)===null||i===void 0?void 0:i.current;if(s){const e=s.value.split(/\n/);let t=e.reduce(((e,t)=>e.length>t.length?e:t),"");if(s.parentNode&&s.parentNode instanceof HTMLElement){s.parentNode.dataset.value=t}n(e.length)}}),[]);(0,y.useEffect)((()=>{var t,n;(n=(t=e.inputRef)===null||t===void 0?void 0:t.current)===null||n===void 0?void 0:n.select();i()}),[e.initialValue]);return y.createElement("label",{className:S},y.createElement("textarea",{onChange:t=>{e.onChange(t);i(t)},onKeyDown:t=>{e.onKeyDown(t);i(t)},rows:t,placeholder:e.placeholder,className:x,key:e.autoUpdate?e.initialValue:null,tabIndex:0,ref:e.inputRef,title:e.title,defaultValue:e.initialValue||e.lastSearchText,autoFocus:e.autoFocus}))}function K(e){var t;const n=((t=e.translator)!==null&&t!==void 0?t:v.nullTranslator).load("jupyterlab");const i=(0,p.classes)(e.caseSensitive?I:k,V);const s=(0,p.classes)(e.useRegex?I:k,V);const o=(0,p.classes)(e.wholeWords?I:k,V);const r=j;return y.createElement("div",{className:r},y.createElement($,{placeholder:n.__("Find"),onChange:t=>e.onChange(t),onKeyDown:t=>e.onKeydown(t),inputRef:e.inputRef,initialValue:e.initialSearchText,lastSearchText:e.lastSearchText,title:n.__("Find"),autoFocus:true,autoUpdate:true}),y.createElement("button",{className:U,onClick:()=>{e.onCaseSensitiveToggled()},tabIndex:0,title:n.__("Match Case")},y.createElement(p.caseSensitiveIcon.react,{className:i,tag:"span"})),y.createElement("button",{className:U,onClick:()=>e.onWordToggled(),tabIndex:0,title:n.__("Match Whole Word")},y.createElement(p.wordIcon.react,{className:o,tag:"span"})),y.createElement("button",{className:U,onClick:()=>e.onRegexToggled(),tabIndex:0,title:n.__("Use Regular Expression")},y.createElement(p.regexIcon.react,{className:s,tag:"span"})))}function J(e){var t,n,i;const s=((t=e.translator)!==null&&t!==void 0?t:v.nullTranslator).load("jupyterlab");const o=(0,p.classes)(e.preserveCase?I:k,V);return y.createElement("div",{className:F},y.createElement("div",{className:j},y.createElement($,{placeholder:s.__("Replace"),initialValue:(n=e.replaceText)!==null&&n!==void 0?n:"",onKeyDown:t=>e.onReplaceKeydown(t),onChange:t=>e.onChange(t),title:s.__("Replace"),autoFocus:false,autoUpdate:false}),((i=e.replaceOptionsSupport)===null||i===void 0?void 0:i.preserveCase)?y.createElement("button",{className:U,onClick:()=>e.onPreserveCaseToggled(),tabIndex:0,title:s.__("Preserve Case")},y.createElement(p.caseSensitiveIcon.react,{className:o,tag:"span"})):null),y.createElement("button",{className:O,onClick:()=>e.onReplaceCurrent(),tabIndex:0},y.createElement("span",{className:`${B} ${V}`,tabIndex:0},s.__("Replace"))),y.createElement("button",{className:O,tabIndex:0,onClick:()=>e.onReplaceAll()},y.createElement("span",{className:`${B} ${V}`,tabIndex:-1},s.__("Replace All"))))}function G(e){var t,n;const i=(t=e.keyBindings)===null||t===void 0?void 0:t.next;const s=(n=e.keyBindings)===null||n===void 0?void 0:n.previous;const o=i?_.CommandRegistry.formatKeystroke(i.keys):"";const r=s?_.CommandRegistry.formatKeystroke(s.keys):"";const a=r?` (${r})`:"";const l=o?` (${o})`:"";const d=y.createElement("button",{className:U,onClick:()=>e.isEnabled?e.onHighlightPrevious():false,tabIndex:0,title:`${e.trans.__("Previous Match")}${a}`,disabled:!e.isEnabled},y.createElement(p.caretUpEmptyThinIcon.react,{className:(0,p.classes)(M,V),tag:"span"}));const c=y.createElement("button",{className:U,onClick:()=>e.isEnabled?e.onHighlightNext():false,tabIndex:0,title:`${e.trans.__("Next Match")}${l}`,disabled:!e.isEnabled},y.createElement(p.caretDownEmptyThinIcon.react,{className:(0,p.classes)(M,V),tag:"span"}));return y.createElement("div",{className:E},d,c)}function Y(e){return y.createElement("div",{className:T},e.totalMatches===0?"-/-":`${e.currentIndex===null?"-":e.currentIndex+1}/${e.totalMatches}`)}function X(e){let t=`${D} ${V}`;if(e.visible){t=`${t} ${A}`}const n=e.anyEnabled?p.filterDotIcon:p.filterIcon;return y.createElement("button",{className:U,onClick:()=>e.toggleVisible(),tabIndex:0,title:e.visible?e.trans.__("Hide Search Filters"):e.trans.__("Show Search Filters")},y.createElement(n.react,{className:t,tag:"span",height:"20px",width:"20px"}))}function Q(e){return y.createElement("label",{className:e.isEnabled?N:`${N} ${R}`,title:e.description},y.createElement("input",{type:"checkbox",className:"jp-mod-styled",disabled:!e.isEnabled,checked:e.value,onChange:e.onToggle}),e.title)}class Z extends y.Component{constructor(e){super(e);this.translator=e.translator||v.nullTranslator}_onSearchChange(e){const t=e.target.value;this.props.onSearchChanged(t)}_onSearchKeydown(e){if(e.keyCode===13){e.stopPropagation();e.preventDefault();if(e.ctrlKey){const t=e.target;this._insertNewLine(t);this.props.onSearchChanged(t.value)}else{e.shiftKey?this.props.onHighlightPrevious():this.props.onHighlightNext()}}}_onReplaceKeydown(e){if(e.keyCode===13){e.stopPropagation();e.preventDefault();if(e.ctrlKey){this._insertNewLine(e.target)}else{this.props.onReplaceCurrent()}}}_insertNewLine(e){const[t,n]=[e.selectionStart,e.selectionEnd];e.setRangeText("\n",t,n,"end")}_onClose(){this.props.onClose()}_onReplaceToggled(){if(!this.props.replaceEntryVisible){for(const e in this.props.filtersDefinition){const t=this.props.filtersDefinition[e];if(!t.supportReplace){this.props.onFilterChanged(e,false).catch((e=>{console.error(`Fail to update filter value for ${t.title}:\n${e}`)}))}}}this.props.onReplaceEntryShown(!this.props.replaceEntryVisible)}_toggleFiltersVisibility(){this.props.onFiltersVisibilityChanged(!this.props.filtersVisible)}render(){var e,t,n;const i=this.translator.load("jupyterlab");const s=!this.props.isReadOnly&&this.props.replaceEntryVisible;const o=this.props.filtersDefinition;const r=Object.keys(o).length>0;const a=r?y.createElement(X,{visible:this.props.filtersVisible,anyEnabled:Object.keys(o).some((e=>{var t;const n=o[e];return(t=this.props.filters[e])!==null&&t!==void 0?t:n.default})),toggleVisible:()=>this._toggleFiltersVisibility(),trans:i}):null;const l=(e=this.props.keyBindings)===null||e===void 0?void 0:e.toggleSearchInSelection;const d=l?_.CommandRegistry.formatKeystroke(l.keys):"";const c=d?` (${d})`:"";const h=r?y.createElement("div",{className:L},Object.keys(o).map((e=>{var t,n;const i=o[e];const r=!s||i.supportReplace;const a=r?i.description:(t=i.disabledDescription)!==null&&t!==void 0?t:i.description;return y.createElement(Q,{key:e,title:i.title,description:a+(e=="selection"?c:""),isEnabled:r,onToggle:async()=>{await this.props.onFilterChanged(e,!this.props.filters[e])},value:(n=this.props.filters[e])!==null&&n!==void 0?n:i.default})}))):null;const u=this.props.replaceEntryVisible?p.caretDownIcon:p.caretRightIcon;return y.createElement(y.Fragment,null,y.createElement("div",{className:C},this.props.isReadOnly?y.createElement("div",{className:H}):y.createElement("button",{className:W,onClick:()=>this._onReplaceToggled(),tabIndex:0,title:s?i.__("Hide Replace"):i.__("Show Replace")},y.createElement(u.react,{className:`${z} ${V}`,tag:"span",elementPosition:"center",height:"20px",width:"20px"})),y.createElement(K,{inputRef:this.props.searchInputRef,useRegex:this.props.useRegex,caseSensitive:this.props.caseSensitive,wholeWords:this.props.wholeWords,onCaseSensitiveToggled:this.props.onCaseSensitiveToggled,onRegexToggled:this.props.onRegexToggled,onWordToggled:this.props.onWordToggled,onKeydown:e=>this._onSearchKeydown(e),onChange:e=>this._onSearchChange(e),initialSearchText:this.props.initialSearchText,lastSearchText:this.props.lastSearchText,translator:this.translator}),a,y.createElement(Y,{currentIndex:this.props.currentIndex,totalMatches:(t=this.props.totalMatches)!==null&&t!==void 0?t:0}),y.createElement(G,{onHighlightPrevious:()=>{this.props.onHighlightPrevious()},onHighlightNext:()=>{this.props.onHighlightNext()},trans:i,keyBindings:this.props.keyBindings,isEnabled:!!((n=this.props.searchInputRef.current)===null||n===void 0?void 0:n.value)}),y.createElement("button",{className:U,onClick:()=>this._onClose(),tabIndex:0,title:i.__("Close Search Box")},y.createElement(p.closeIcon.react,{className:"jp-icon-hover",elementPosition:"center",height:"16px",width:"16px"}))),y.createElement("div",{className:C},s?y.createElement(y.Fragment,null,y.createElement(J,{onPreserveCaseToggled:this.props.onPreserveCaseToggled,onReplaceKeydown:e=>this._onReplaceKeydown(e),onChange:e=>this.props.onReplaceChanged(e.target.value),onReplaceCurrent:()=>this.props.onReplaceCurrent(),onReplaceAll:()=>this.props.onReplaceAll(),replaceOptionsSupport:this.props.replaceOptionsSupport,replaceText:this.props.replaceText,preserveCase:this.props.preserveCase,translator:this.translator}),y.createElement("div",{className:q})):null),this.props.filtersVisible?h:null,!!this.props.errorMessage&&y.createElement("div",{className:P},this.props.errorMessage))}}class ee extends p.VDomRenderer{constructor(e,t,n){super(e);this.translator=t;this._showReplace=false;this._showFilters=false;this._closed=new s.Signal(this);this.addClass(w);this._searchInput=y.createRef();this._keyBindings=n}get closed(){return this._closed}focusSearchInput(){var e;(e=this._searchInput.current)===null||e===void 0?void 0:e.select()}setSearchText(e){this.model.initialQuery=e;if(e){this.model.searchExpression=e}}setReplaceText(e){this.model.replaceText=e}showReplace(){this.setReplaceInputVisibility(true)}onCloseRequest(e){super.onCloseRequest(e);this._closed.emit();void this.model.endQuery()}setReplaceInputVisibility(e){if(this._showReplace!==e){this._showReplace=e;this.update()}}setFiltersVisibility(e){if(this._showFilters!==e){this._showFilters=e;this.update()}}render(){return this.model.filtersDefinitionChanged?y.createElement(b.UseSignal,{signal:this.model.filtersDefinitionChanged},(()=>this._renderOverlay())):this._renderOverlay()}_renderOverlay(){return y.createElement(Z,{caseSensitive:this.model.caseSensitive,currentIndex:this.model.currentIndex,isReadOnly:this.model.isReadOnly,errorMessage:this.model.parsingError,filters:this.model.filters,filtersDefinition:this.model.filtersDefinition,preserveCase:this.model.preserveCase,replaceEntryVisible:this._showReplace,filtersVisible:this._showFilters,replaceOptionsSupport:this.model.replaceOptionsSupport,replaceText:this.model.replaceText,initialSearchText:this.model.initialQuery,lastSearchText:this.model.searchExpression,searchInputRef:this._searchInput,totalMatches:this.model.totalMatches,translator:this.translator,useRegex:this.model.useRegex,wholeWords:this.model.wholeWords,onCaseSensitiveToggled:()=>{this.model.caseSensitive=!this.model.caseSensitive},onRegexToggled:()=>{this.model.useRegex=!this.model.useRegex},onWordToggled:()=>{this.model.wholeWords=!this.model.wholeWords},onFilterChanged:async(e,t)=>{await this.model.setFilter(e,t)},onFiltersVisibilityChanged:e=>{this.setFiltersVisibility(e)},onHighlightNext:()=>{void this.model.highlightNext()},onHighlightPrevious:()=>{void this.model.highlightPrevious()},onPreserveCaseToggled:()=>{this.model.preserveCase=!this.model.preserveCase},onSearchChanged:e=>{this.model.searchExpression=e},onClose:()=>{this.close()},onReplaceEntryShown:e=>{this.setReplaceInputVisibility(e)},onReplaceChanged:e=>{this.model.replaceText=e},onReplaceCurrent:()=>{void this.model.replaceCurrentMatch()},onReplaceAll:()=>{void this.model.replaceAllMatches()},keyBindings:this._keyBindings})}}var te=n(90044);class ne{constructor(e=v.nullTranslator){this.translator=e;this._changed=new s.Signal(this);this._providerMap=new Map}add(e,t){this._providerMap.set(e,t);this._changed.emit();return new te.DisposableDelegate((()=>{this._providerMap.delete(e);this._changed.emit()}))}getProvider(e){for(const t of this._providerMap.values()){if(t.isApplicable(e)){return t.createNew(e,this.translator)}}return undefined}hasProvider(e){for(const t of this._providerMap.values()){if(t.isApplicable(e)){return true}}return false}get changed(){return this._changed}}var ie=n(5592);const se=new ie.Token("@jupyterlab/documentsearch:ISearchProviderRegistry",`A service for a registry of search\n providers for the application. Plugins can register their UI elements with this registry\n to provide find/replace support.`)},19562:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(85072);var a=n.n(r);var l=n(97825);var d=n.n(l);var c=n(77659);var h=n.n(c);var u=n(55056);var p=n.n(u);var m=n(10540);var g=n.n(m);var f=n(41113);var v=n.n(f);var _=n(20939);var b={};b.styleTagTransform=v();b.setAttributes=p();b.insert=h().bind(null,"head");b.domAPI=d();b.insertStyleElement=g();var y=a()(_.A,b);const w=_.A&&_.A.locals?_.A.locals:undefined},53316:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>_});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(45273);var l=n.n(a);var d=n(40065);var c=n.n(d);var h=n(34881);var u=n.n(h);var p=n(4073);var m=n.n(p);const g="@jupyterlab/extensionmanager-extension:plugin";var f;(function(e){e.showPanel="extensionmanager:show-panel";e.toggle="extensionmanager:toggle"})(f||(f={}));const v={id:g,description:"Adds the extension manager plugin.",autoStart:true,requires:[d.ISettingRegistry],optional:[h.ITranslator,i.ILayoutRestorer,o.ICommandPalette],activate:async(e,t,n,i,s)=>{const{commands:o,shell:r,serviceManager:l}=e;n=n!==null&&n!==void 0?n:h.nullTranslator;const d=n.load("jupyterlab");const c=new a.ListModel(l,n);const u=()=>{const e=new a.ExtensionsPanel({model:c,translator:n});e.id="extensionmanager.main-view";e.title.icon=p.extensionIcon;e.title.caption=d.__("Extension Manager");e.node.setAttribute("role","region");e.node.setAttribute("aria-label",d.__("Extension Manager section"));if(i){i.add(e,e.id)}r.add(e,"left",{rank:1e3});return e};let m=u();Promise.all([e.restored,t.load(g)]).then((([,t])=>{c.isDisclaimed=t.get("disclaimed").composite;c.isEnabled=t.get("enabled").composite;c.stateChanged.connect((()=>{if(c.isDisclaimed!==t.get("disclaimed").composite){t.set("disclaimed",c.isDisclaimed).catch((e=>{console.error(`Failed to set setting 'disclaimed'.\n${e}`)}))}if(c.isEnabled!==t.get("enabled").composite){t.set("enabled",c.isEnabled).catch((e=>{console.error(`Failed to set setting 'enabled'.\n${e}`)}))}}));if(c.isEnabled){m=m!==null&&m!==void 0?m:u()}else{m===null||m===void 0?void 0:m.dispose();m=null}t.changed.connect((async()=>{c.isDisclaimed=t.get("disclaimed").composite;c.isEnabled=t.get("enabled").composite;e.commands.notifyCommandChanged(f.toggle);if(c.isEnabled){if(m===null||!m.isAttached){const e=await b.showWarning(d);if(!e){void t.set("enabled",false);return}}m=m!==null&&m!==void 0?m:u()}else{m===null||m===void 0?void 0:m.dispose();m=null}}))})).catch((e=>{console.error(`Something went wrong when reading the settings.\n${e}`)}));o.addCommand(f.showPanel,{label:d.__("Extension Manager"),execute:()=>{if(m){r.activateById(m.id)}},isVisible:()=>c.isEnabled,describedBy:{args:{type:"object",properties:{}}}});o.addCommand(f.toggle,{label:d.__("Enable Extension Manager"),execute:()=>{if(t){void t.set(v.id,"enabled",!c.isEnabled)}},isToggled:()=>c.isEnabled,describedBy:{args:{type:"object",properties:{}}}});if(s){s.addItem({command:f.toggle,category:d.__("Extension Manager")})}}};const _=v;var b;(function(e){async function t(e){const t=await(0,o.showDialog)({title:e.__("Enable Extension Manager?"),body:e.__(`Thanks for trying out JupyterLab's extension manager.\nThe JupyterLab development team is excited to have a robust\nthird-party extension community.\nHowever, we cannot vouch for every extension,\nand some may introduce security risks.\nDo you want to continue?`),buttons:[o.Dialog.cancelButton({label:e.__("Disable")}),o.Dialog.warnButton({label:e.__("Enable")})]});return t.button.accept}e.showWarning=t})(b||(b={}))},67374:(e,t,n)=>{"use strict";var i=n(40662);var s=n(97913);var o=n(3579);var r=n(10395);var a=n(85072);var l=n.n(a);var d=n(97825);var c=n.n(d);var h=n(77659);var u=n.n(h);var p=n(55056);var m=n.n(p);var g=n(10540);var f=n.n(g);var v=n(41113);var _=n.n(v);var b=n(40502);var y={};y.styleTagTransform=_();y.setAttributes=m();y.insert=u().bind(null,"head");y.domAPI=c();y.insertStyleElement=f();var w=l()(b.A,y);const C=b.A&&b.A.locals?b.A.locals:undefined},84468:(e,t,n)=>{"use strict";n.r(t);n.d(t,{ExtensionsPanel:()=>I,ListModel:()=>p});var i=n(38850);var s=n(40959);var o=n(49278);var r=n(34881);var a=n(4073);var l=n(26568);var d=n(99589);var c=n(44914);function h(e,t,n){n=n||r.nullTranslator;const s=n.load("jupyterlab");const o=[];o.push(c.createElement("p",null,s.__(`An error occurred installing "${e}".`)));if(t){o.push(c.createElement("p",null,c.createElement("span",{className:"jp-extensionmanager-dialog-subheader"},s.__("Error message:"))),c.createElement("pre",null,t.trim()))}const a=c.createElement("div",{className:"jp-extensionmanager-dialog"},o);void(0,i.showDialog)({title:s.__("Extension Installation Error"),body:a,buttons:[i.Dialog.warnButton({label:s.__("Ok")})]})}const u="lab/api/extensions";class p extends a.VDomModel{constructor(e,t){super();this.actionError=null;this.installedError=null;this.searchError=null;this.promptReload=false;this._isDisclaimed=false;this._isEnabled=false;this._isLoadingInstalledExtensions=false;this._isSearching=false;this._query="";this._page=1;this._pagination=30;this._lastPage=1;this._pendingActions=[];const n=JSON.parse(s.PageConfig.getOption("extensionManager")||"{}");this.name=n.name;this.canInstall=n.can_install;this.installPath=n.install_path;this.translator=t||r.nullTranslator;this._installed=[];this._lastSearchResult=[];this.serviceManager=e;this._debouncedSearch=new l.Debouncer(this.search.bind(this),1e3)}get installed(){return this._installed}get isDisclaimed(){return this._isDisclaimed}set isDisclaimed(e){if(e!==this._isDisclaimed){this._isDisclaimed=e;this.stateChanged.emit();void this._debouncedSearch.invoke()}}get isEnabled(){return this._isEnabled}set isEnabled(e){if(e!==this._isEnabled){this._isEnabled=e;this.stateChanged.emit()}}get isLoadingInstalledExtensions(){return this._isLoadingInstalledExtensions}get isSearching(){return this._isSearching}get searchResult(){return this._lastSearchResult}get query(){return this._query}set query(e){if(this._query!==e){this._query=e;this._page=1;void this._debouncedSearch.invoke()}}get page(){return this._page}set page(e){if(this._page!==e){this._page=e;void this._debouncedSearch.invoke()}}get pagination(){return this._pagination}set pagination(e){if(this._pagination!==e){this._pagination=e;void this._debouncedSearch.invoke()}}get lastPage(){return this._lastPage}dispose(){if(this.isDisposed){return}this._debouncedSearch.dispose();super.dispose()}hasPendingActions(){return this._pendingActions.length>0}async install(e,t={}){await this.performAction("install",e,t).then((t=>{if(t.status!=="ok"){h(e.name,t.message,this.translator)}return this.update(true)}))}async uninstall(e){if(!e.installed){throw new Error(`Not installed, cannot uninstall: ${e.name}`)}await this.performAction("uninstall",e);return this.update(true)}async enable(e){if(e.enabled){throw new Error(`Already enabled: ${e.name}`)}await this.performAction("enable",e);await this.refreshInstalled(true)}async disable(e){if(!e.enabled){throw new Error(`Already disabled: ${e.name}`)}await this.performAction("disable",e);await this.refreshInstalled(true)}async refreshInstalled(e=false){this.installedError=null;this._isLoadingInstalledExtensions=true;this.stateChanged.emit();try{const[t]=await m.requestAPI({refresh:e?1:0});this._installed=t.sort(m.installedComparator)}catch(t){this.installedError=t.toString()}finally{this._isLoadingInstalledExtensions=false;this.stateChanged.emit()}}async search(e=false){var t,n;if(!this.isDisclaimed){return Promise.reject("Installation warning is not disclaimed.")}this.searchError=null;this._isSearching=true;this.stateChanged.emit();try{const[i,o]=await m.requestAPI({query:(t=this.query)!==null&&t!==void 0?t:"",page:this.page,per_page:this.pagination,refresh:e?1:0});const r=o["last"];if(r){const e=s.URLExt.queryStringToObject((n=s.URLExt.parse(r).search)!==null&&n!==void 0?n:"")["page"];if(e){this._lastPage=parseInt(e,10)}}const a=this._installed.map((e=>e.name));this._lastSearchResult=i.filter((e=>!a.includes(e.name)))}catch(i){this.searchError=i.toString()}finally{this._isSearching=false;this.stateChanged.emit()}}async update(e=false){if(this.isDisclaimed){await this.refreshInstalled(e);await this.search()}}performAction(e,t,n={}){const s={cmd:e,extension_name:t.name};if(n.useVersion){s["extension_version"]=n.useVersion}const o=m.requestAPI({},{method:"POST",body:JSON.stringify(s)});o.then((([e])=>{const t=this.translator.load("jupyterlab");if(e.needs_restart.includes("server")){void(0,i.showDialog)({title:t.__("Information"),body:t.__("You will need to restart JupyterLab to apply the changes."),buttons:[i.Dialog.okButton({label:t.__("Ok")})]})}else{const n=[];if(e.needs_restart.includes("frontend")){n.push(window.isElectron?t.__("reload JupyterLab"):t.__("refresh the web page"))}if(e.needs_restart.includes("kernel")){n.push(t.__("install the extension in all kernels and restart them"))}void(0,i.showDialog)({title:t.__("Information"),body:t.__("You will need to %1 to apply the changes.",n.join(t.__(" and "))),buttons:[i.Dialog.okButton({label:t.__("Ok")})]})}this.actionError=null}),(e=>{this.actionError=e.toString()}));this.addPendingAction(o);return o.then((([e])=>e))}addPendingAction(e){this._pendingActions.push(e);const t=()=>{const t=this._pendingActions.indexOf(e);this._pendingActions.splice(t,1);this.stateChanged.emit(undefined)};e.then(t,t);this.stateChanged.emit(undefined)}}(function(e){function t(e){if(!e.installed||!e.latest_version){return false}return d.lt(e.installed_version,e.latest_version)}e.entryHasUpdate=t})(p||(p={}));var m;(function(e){function t(e,t){return e.name.localeCompare(t.name)}e.installedComparator=t;const n=/<([^>]+)>; rel="([^"]+)",?/g;async function i(e={},t={},i){var r;const a=i!==null&&i!==void 0?i:o.ServerConnection.makeSettings();const l=s.URLExt.join(a.baseUrl,u);let d;try{d=await o.ServerConnection.makeRequest(l+s.URLExt.objectToQueryString(e),t,a)}catch(g){throw new o.ServerConnection.NetworkError(g)}let c=await d.text();if(c.length>0){try{c=JSON.parse(c)}catch(g){console.log("Not a JSON response body.",d)}}if(!d.ok){throw new o.ServerConnection.ResponseError(d,c.message||c)}const h=(r=d.headers.get("Link"))!==null&&r!==void 0?r:"";const p={};let m=null;while((m=n.exec(h))!==null){p[m[2]]=m[1]}return[c,p]}e.requestAPI=i})(m||(m={}));var g=n(49764);var f=n.n(g);const v=32;const _=Math.floor(devicePixelRatio*v);function b(e){if(e.homepage_url&&e.homepage_url.startsWith("https://github.com/")){return e.homepage_url.split("/")[3]}else if(e.repository_url&&e.repository_url.startsWith("https://github.com/")){return e.repository_url.split("/")[3]}return null}function y(e){const{canFetch:t,entry:n,supportInstallation:i,trans:s}=e;const o=[];if(n.status&&["ok","warning","error"].indexOf(n.status)!==-1){o.push(`jp-extensionmanager-entry-${n.status}`)}const r=t?b(n):null;if(!n.allowed){o.push(`jp-extensionmanager-entry-should-be-uninstalled`)}return c.createElement("li",{className:`jp-extensionmanager-entry ${o.join(" ")}`,style:{display:"flex"}},c.createElement("div",{style:{marginRight:"8px"}},r?c.createElement("img",{src:`https://github.com/${r}.png?size=${_}`,style:{width:"32px",height:"32px"}}):c.createElement("div",{style:{width:`${v}px`,height:`${v}px`}})),c.createElement("div",{className:"jp-extensionmanager-entry-description"},c.createElement("div",{className:"jp-extensionmanager-entry-title"},c.createElement("div",{className:"jp-extensionmanager-entry-name"},n.homepage_url?c.createElement("a",{href:n.homepage_url,target:"_blank",rel:"noopener noreferrer",title:s.__("%1 extension home page",n.name)},n.name):c.createElement("div",null,n.name)),c.createElement("div",{className:"jp-extensionmanager-entry-version"},c.createElement("div",{title:s.__("Version: %1",n.installed_version)},n.installed_version)),n.installed&&!n.allowed&&c.createElement(a.ToolbarButtonComponent,{icon:a.infoIcon,iconLabel:s.__("%1 extension is not allowed anymore. Please uninstall it immediately or contact your administrator.",n.name),onClick:()=>window.open("https://jupyterlab.readthedocs.io/en/stable/user/extensions.html")}),n.approved&&c.createElement(a.jupyterIcon.react,{className:"jp-extensionmanager-is-approved",top:"1px",height:"auto",width:"1em",title:s.__("This extension is approved by your security team.")})),c.createElement("div",{className:"jp-extensionmanager-entry-content"},c.createElement("div",{className:"jp-extensionmanager-entry-description"},n.description),e.performAction&&c.createElement("div",{className:"jp-extensionmanager-entry-buttons"},n.installed?c.createElement(c.Fragment,null,i&&c.createElement(c.Fragment,null,p.entryHasUpdate(n)&&c.createElement(a.Button,{onClick:()=>e.performAction("install",n,{useVersion:n.latest_version}),title:s.__('Update "%1" to "%2"',n.name,n.latest_version),minimal:true,small:true},s.__("Update to %1",n.latest_version)),c.createElement(a.Button,{onClick:()=>e.performAction("uninstall",n),title:s.__('Uninstall "%1"',n.name),minimal:true,small:true},s.__("Uninstall"))),n.enabled?c.createElement(a.Button,{onClick:()=>e.performAction("disable",n),title:s.__('Disable "%1"',n.name),minimal:true,small:true},s.__("Disable")):c.createElement(a.Button,{onClick:()=>e.performAction("enable",n),title:s.__('Enable "%1"',n.name),minimal:true,small:true},s.__("Enable"))):i&&c.createElement(a.Button,{onClick:()=>e.performAction("install",n),title:s.__('Install "%1"',n.name),minimal:true,small:true},s.__("Install"))))))}function w(e){var t;const{canFetch:n,performAction:i,supportInstallation:s,trans:o}=e;return c.createElement("div",{className:"jp-extensionmanager-listview-wrapper"},e.entries.length>0?c.createElement("ul",{className:"jp-extensionmanager-listview"},e.entries.map((e=>c.createElement(y,{key:e.name,canFetch:n,entry:e,performAction:i,supportInstallation:s,trans:o})))):c.createElement("div",{key:"message",className:"jp-extensionmanager-listview-message"},o.__("No entries")),e.numPages>1&&c.createElement("div",{className:"jp-extensionmanager-pagination"},c.createElement(f(),{previousLabel:"<",nextLabel:">",breakLabel:"...",breakClassName:"break",initialPage:((t=e.initialPage)!==null&&t!==void 0?t:1)-1,pageCount:e.numPages,marginPagesDisplayed:2,pageRangeDisplayed:3,onPageChange:t=>e.onPage(t.selected+1),activeClassName:"active"})))}function C(e){return c.createElement("div",{className:"jp-extensionmanager-error"},e.children)}class x extends a.ReactWidget{constructor(e,t,n){super();this.model=e;this.trans=t;this.searchInputRef=n;e.stateChanged.connect(this.update,this);this.addClass("jp-extensionmanager-header")}render(){return c.createElement(c.Fragment,null,c.createElement("div",{className:"jp-extensionmanager-title"},c.createElement("span",null,this.trans.__("%1 Manager",this.model.name)),this.model.installPath&&c.createElement(a.infoIcon.react,{className:"jp-extensionmanager-path",tag:"span",title:this.trans.__("Extension installation path: %1",this.model.installPath)})),c.createElement(a.FilterBox,{placeholder:this.trans.__("Search extensions"),disabled:!this.model.isDisclaimed,updateFilter:(e,t)=>{this.model.query=t!==null&&t!==void 0?t:""},useFuzzyFilter:false,inputRef:this.searchInputRef}),c.createElement("div",{className:`jp-extensionmanager-pending ${this.model.hasPendingActions()?"jp-mod-hasPending":""}`}),this.model.actionError&&c.createElement(C,null,c.createElement("p",null,this.trans.__("Error when performing an action.")),c.createElement("p",null,this.trans.__("Reason given:")),c.createElement("pre",null,this.model.actionError)))}}class S extends a.ReactWidget{constructor(e,t){super();this.model=e;this.trans=t;this.addClass("jp-extensionmanager-disclaimer");e.stateChanged.connect(this.update,this)}render(){return c.createElement(c.Fragment,null,c.createElement("p",null,this.trans.__(`The JupyterLab development team is excited to have a robust\nthird-party extension community. However, we do not review\nthird-party extensions, and some extensions may introduce security\nrisks or contain malicious code that runs on your machine. Moreover in order\nto work, this panel needs to fetch data from web services. Do you agree to\nactivate this feature?`),c.createElement("br",null),c.createElement("a",{href:"https://jupyterlab.readthedocs.io/en/stable/privacy_policies.html",target:"_blank",rel:"noreferrer"},this.trans.__("Please read the privacy policy."))),this.model.isDisclaimed?c.createElement(a.Button,{className:"jp-extensionmanager-disclaimer-disable",onClick:e=>{this.model.isDisclaimed=false},title:this.trans.__("This will withdraw your consent.")},this.trans.__("No")):c.createElement("div",null,c.createElement(a.Button,{className:"jp-extensionmanager-disclaimer-enable",onClick:()=>{this.model.isDisclaimed=true}},this.trans.__("Yes")),c.createElement(a.Button,{className:"jp-extensionmanager-disclaimer-disable",onClick:()=>{this.model.isEnabled=false},title:this.trans.__("This will disable the extension manager panel; including the listing of installed extension.")},this.trans.__("No, disable"))))}}class j extends a.ReactWidget{constructor(e,t){super();this.model=e;this.trans=t;e.stateChanged.connect(this.update,this)}render(){return c.createElement(c.Fragment,null,this.model.installedError!==null?c.createElement(C,null,`Error querying installed extensions${this.model.installedError?`: ${this.model.installedError}`:"."}`):this.model.isLoadingInstalledExtensions?c.createElement("div",{className:"jp-extensionmanager-loader"},this.trans.__("Updating extensions list…")):c.createElement(w,{canFetch:this.model.isDisclaimed,entries:this.model.installed.filter((e=>new RegExp(this.model.query.toLowerCase()).test(e.name))),numPages:1,trans:this.trans,onPage:e=>{},performAction:this.model.isDisclaimed?this.onAction.bind(this):null,supportInstallation:this.model.canInstall&&this.model.isDisclaimed}))}onAction(e,t,n={}){switch(e){case"install":return this.model.install(t,n);case"uninstall":return this.model.uninstall(t);case"enable":return this.model.enable(t);case"disable":return this.model.disable(t);default:throw new Error(`Invalid action: ${e}`)}}}class k extends a.ReactWidget{constructor(e,t){super();this.model=e;this.trans=t;e.stateChanged.connect(this.update,this)}onPage(e){this.model.page=e}onAction(e,t,n={}){switch(e){case"install":return this.model.install(t,n);case"uninstall":return this.model.uninstall(t);case"enable":return this.model.enable(t);case"disable":return this.model.disable(t);default:throw new Error(`Invalid action: ${e}`)}}render(){return c.createElement(c.Fragment,null,this.model.searchError!==null?c.createElement(C,null,`Error searching for extensions${this.model.searchError?`: ${this.model.searchError}`:"."}`):this.model.isSearching?c.createElement("div",{className:"jp-extensionmanager-loader"},this.trans.__("Updating extensions list…")):c.createElement(w,{canFetch:this.model.isDisclaimed,entries:this.model.searchResult,initialPage:this.model.page,numPages:this.model.lastPage,onPage:e=>{this.onPage(e)},performAction:this.model.isDisclaimed?this.onAction.bind(this):null,supportInstallation:this.model.canInstall&&this.model.isDisclaimed,trans:this.trans}))}update(){this.title.label=this.model.query?this.trans.__("Search Results"):this.trans.__("Discover");super.update()}}class I extends a.SidePanel{constructor(e){const{model:t,translator:n}=e;super({translator:n});this._wasInitialized=false;this._wasDisclaimed=true;this.model=t;this._searchInputRef=c.createRef();this.addClass("jp-extensionmanager-view");this.trans=n.load("jupyterlab");this.header.addWidget(new x(t,this.trans,this._searchInputRef));const i=new S(t,this.trans);i.title.label=this.trans.__("Warning");this.addWidget(i);const s=new a.PanelWithToolbar;s.addClass("jp-extensionmanager-installedlist");s.toolbar.node.setAttribute("aria-label",this.trans.__("Extensions panel toolbar"));s.title.label=this.trans.__("Installed");s.toolbar.addItem("refresh",new a.ToolbarButton({icon:a.refreshIcon,onClick:()=>{t.refreshInstalled(true).catch((e=>{console.error(`Failed to refresh the installed extensions list:\n${e}`)}))},tooltip:this.trans.__("Refresh extensions list")}));s.addWidget(new j(t,this.trans));this.addWidget(s);if(this.model.canInstall){const e=new k(t,this.trans);e.addClass("jp-extensionmanager-searchresults");this.addWidget(e)}this._wasDisclaimed=this.model.isDisclaimed;if(this.model.isDisclaimed){this.content.collapse(0);this.content.layout.setRelativeSizes([0,1,1])}else{this.content.expand(0);this.content.collapse(1);this.content.collapse(2)}this.model.stateChanged.connect(this._onStateChanged,this)}dispose(){if(this.isDisposed){return}this.model.stateChanged.disconnect(this._onStateChanged,this);super.dispose()}handleEvent(e){switch(e.type){case"focus":case"blur":this._toggleFocused();break;default:break}}onBeforeAttach(e){this.node.addEventListener("focus",this,true);this.node.addEventListener("blur",this,true);super.onBeforeAttach(e)}onBeforeShow(e){if(!this._wasInitialized){this._wasInitialized=true;this.model.refreshInstalled().catch((e=>{console.log(`Failed to refresh installed extension list:\n${e}`)}))}}onAfterDetach(e){super.onAfterDetach(e);this.node.removeEventListener("focus",this,true);this.node.removeEventListener("blur",this,true)}onActivateRequest(e){if(this.isAttached){const e=this._searchInputRef.current;if(e){if(e.focus){e.focus()}if(e.select){e.select()}}}super.onActivateRequest(e)}_onStateChanged(){if(!this._wasDisclaimed&&this.model.isDisclaimed){this.content.collapse(0);this.content.expand(1);this.content.expand(2)}this._wasDisclaimed=this.model.isDisclaimed}_toggleFocused(){const e=document.activeElement===this._searchInputRef.current;this.toggleClass("lm-mod-focused",e)}}},48934:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>Y,fileUploadStatus:()=>q});var i=n(90044);var s=n.n(i);var o=n(88617);var r=n.n(o);var a=n(38850);var l=n.n(a);var d=n(40959);var c=n.n(d);var h=n(11927);var u=n.n(h);var p=n(93067);var m=n.n(p);var g=n(44577);var f=n.n(g);var v=n(40065);var _=n.n(v);var b=n(78629);var y=n.n(b);var w=n(4625);var C=n.n(w);var x=n(34881);var S=n.n(x);var j=n(4073);var k=n.n(j);var I=n(34236);var T=n.n(I);var E=n(93247);var M=n.n(E);const D="FileBrowser";const A="@jupyterlab/filebrowser-extension:browser";var P;(function(e){e.copy="filebrowser:copy";e.copyDownloadLink="filebrowser:copy-download-link";e.cut="filebrowser:cut";e.del="filebrowser:delete";e.download="filebrowser:download";e.duplicate="filebrowser:duplicate";e.selectAll="filebrowser:select-all";e.hideBrowser="filebrowser:hide-main";e.goToPath="filebrowser:go-to-path";e.goUp="filebrowser:go-up";e.openPath="filebrowser:open-path";e.openUrl="filebrowser:open-url";e.open="filebrowser:open";e.openBrowserTab="filebrowser:open-browser-tab";e.paste="filebrowser:paste";e.createNewDirectory="filebrowser:create-new-directory";e.createNewFile="filebrowser:create-new-file";e.createNewMarkdownFile="filebrowser:create-new-markdown-file";e.refresh="filebrowser:refresh";e.rename="filebrowser:rename";e.copyShareableLink="filebrowser:share-main";e.copyPath="filebrowser:copy-path";e.showBrowser="filebrowser:activate";e.shutdown="filebrowser:shutdown";e.toggleBrowser="filebrowser:toggle-main";e.toggleFileFilter="filebrowser:toggle-file-filter";e.toggleNavigateToCurrentDirectory="filebrowser:toggle-navigate-to-current-directory";e.toggleLastModified="filebrowser:toggle-last-modified";e.toggleShowFullPath="filebrowser:toggle-show-full-path";e.toggleFileSize="filebrowser:toggle-file-size";e.toggleSortNotebooksFirst="filebrowser:toggle-sort-notebooks-first";e.search="filebrowser:search";e.toggleHiddenFiles="filebrowser:toggle-hidden-files";e.toggleSingleClick="filebrowser:toggle-single-click-navigation";e.toggleFileCheckboxes="filebrowser:toggle-file-checkboxes"})(P||(P={}));const L="filebrowser";const R={id:A,description:"Set up the default file browser commands and state restoration",requires:[g.IDefaultFileBrowser,g.IFileBrowserFactory,x.ITranslator],optional:[o.ILayoutRestorer,v.ISettingRegistry,o.ITreePathUpdater,a.ICommandPalette],provides:g.IFileBrowserCommands,autoStart:true,activate:async(e,t,n,i,s,o,r,a)=>{const l=t;if(s){s.add(l,L)}const c=d.PageConfig.getOption("preferredPath");if(c){await l.model.cd(c)}J(e,l,n,i,o,a);void Promise.all([e.restored,l.model.restored]).then((()=>{if(r){l.model.pathChanged.connect(((e,t)=>{r(t.newValue)}))}}));return{openPath:P.openPath}}};const N={id:"@jupyterlab/filebrowser-extension:settings",description:"Set up the default file browser settings",requires:[g.IDefaultFileBrowser],optional:[v.ISettingRegistry],autoStart:true,activate:(e,t,n)=>{if(n){void n.load(A).then((e=>{const n={navigateToCurrentDirectory:false,singleClickNavigation:false,showLastModifiedColumn:true,showFileSizeColumn:false,showHiddenFiles:false,showFileCheckboxes:false,sortNotebooksFirst:false,showFullPath:false,allowFileUploads:true};function i(e){let i;for(i in n){const n=e.get(i).composite;t[i]=n}const s=e.get("breadcrumbs").composite;t.minimumBreadcrumbsLeftItems=s.minimumLeftItems;t.minimumBreadcrumbsRightItems=s.minimumRightItems;const o=e.get("filterDirectories").composite;const r=e.get("useFuzzyFilter").composite;t.model.filterDirectories=o;t.model.useFuzzyFilter=r}e.changed.connect(i);i(e)}))}}};const B={id:"@jupyterlab/filebrowser-extension:factory",description:"Provides the file browser factory.",provides:g.IFileBrowserFactory,requires:[h.IDocumentManager,x.ITranslator],optional:[b.IStateDB,o.JupyterLab.IInfo],activate:async(e,t,n,i,s)=>{const o=new a.WidgetTracker({namespace:L});const r=(e,r={})=>{var a,l;const d=r.state===null?undefined:r.state||i||undefined;const c=new g.FilterFileBrowserModel({translator:n,auto:(a=r.auto)!==null&&a!==void 0?a:true,manager:t,driveName:r.driveName||"",refreshInterval:r.refreshInterval,refreshStandby:()=>{if(s){return!s.isConnected||"when-hidden"}return"when-hidden"},state:d,allowFileUploads:(l=r.allowFileUploads)!==null&&l!==void 0?l:true});const h=r.restore;const u=new g.FileBrowser({id:e,model:c,restore:h,translator:n,state:d});void o.add(u);return u};return{createFileBrowser:r,tracker:o}}};const O={id:"@jupyterlab/filebrowser-extension:default-file-browser",description:"Provides the default file browser",provides:g.IDefaultFileBrowser,requires:[g.IFileBrowserFactory],optional:[o.IRouter,o.JupyterFrontEnd.ITreeResolver,o.ILabShell,x.ITranslator],activate:async(e,t,n,i,s,o)=>{const{commands:r}=e;const a=(o!==null&&o!==void 0?o:x.nullTranslator).load("jupyterlab");const l=t.createFileBrowser("filebrowser",{auto:false,restore:false});l.node.setAttribute("role","region");l.node.setAttribute("aria-label",a.__("File Browser Section"));l.title.icon=j.folderIcon;const d=()=>{const t=e.commands.keyBindings.find((e=>e.command===P.toggleBrowser));if(t){const e=t.keys.map(E.CommandRegistry.formatKeystroke).join(", ");l.title.caption=a.__("File Browser (%1)",e)}else{l.title.caption=a.__("File Browser")}};d();e.commands.keyBindingChanged.connect((()=>{d()}));void X.restoreBrowser(l,r,n,i,e,s);return l}};const F={id:"@jupyterlab/filebrowser-extension:download",description:"Adds the download file commands. Disabling this plugin will NOT disable downloading files from the server, if the user enters the appropriate download URLs.",requires:[g.IFileBrowserFactory,x.ITranslator],autoStart:true,activate:(e,t,n)=>{const i=n.load("jupyterlab");const{commands:s}=e;const{tracker:o}=t;s.addCommand(P.download,{execute:()=>{const e=o.currentWidget;if(e){return e.download()}},icon:j.downloadIcon.bindprops({stylesheet:"menuItem"}),label:i.__("Download"),describedBy:{args:{type:"object",properties:{}}}});s.addCommand(P.copyDownloadLink,{execute:()=>{const e=o.currentWidget;if(!e){return}return e.model.manager.services.contents.getDownloadUrl(e.selectedItems().next().value.path).then((e=>{a.Clipboard.copyToSystem(e)}))},isVisible:()=>!!o.currentWidget&&Array.from(o.currentWidget.selectedItems()).length===1,icon:j.copyIcon.bindprops({stylesheet:"menuItem"}),label:i.__("Copy Download Link"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}})}};const z={id:"@jupyterlab/filebrowser-extension:create-new-language-file",description:"Adds context menu entries for creating Python/R/Julia files",requires:[x.ITranslator],autoStart:true,activate:async(e,t)=>{const n=t.load("jupyterlab");let s=new i.DisposableSet;const o=e.serviceManager.kernelspecs;const r=async()=>{var t,r;if(s){s.dispose();s=new i.DisposableSet}const a=await(0,p.getAvailableKernelFileTypes)(o);for(const i of a){s.add(e.contextMenu.addItem({command:P.createNewFile,selector:".jp-DirListing",args:{ext:i.extensions[0],label:n.__("New %1 File",i.displayName),iconName:(r=(t=i.icon)===null||t===void 0?void 0:t.toString())!==null&&r!==void 0?r:""},rank:52}))}};o.specsChanged.connect(r);r().catch(console.warn)}};const W={id:"@jupyterlab/filebrowser-extension:widget",description:"Adds the file browser to the application shell.",requires:[h.IDocumentManager,g.IDefaultFileBrowser,g.IFileBrowserFactory,v.ISettingRegistry,a.IToolbarWidgetRegistry,x.ITranslator,o.ILabShell,g.IFileBrowserCommands],optional:[a.ICommandPalette],autoStart:true,activate:(e,t,n,i,s,o,r,l,d,c)=>{const{commands:h}=e;const{tracker:u}=i;const p=r.load("jupyterlab");o.addFactory(D,"uploader",(e=>new g.Uploader({model:e.model,translator:r})));(0,a.setToolbar)(n,(0,a.createToolbarFactory)(o,s,D,W.id,r));l.add(n,"left",{rank:100,type:"File Browser"});h.addCommand(P.toggleBrowser,{label:p.__("File Browser"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{if(n.isHidden){return h.execute(P.showBrowser,void 0)}return h.execute(P.hideBrowser,void 0)}});h.addCommand(P.showBrowser,{label:p.__("Open the file browser for the provided `path`."),describedBy:{args:{type:"object",properties:{path:{type:"string",description:p.__("The path to open in the file browser")}}}},execute:e=>{const t=e.path||"";const s=X.getBrowserForPath(t,n,i);if(!s){return}if(n===s){l.activateById(n.id);return}else{const e=["left","right"];for(const t of e){for(const e of l.widgets(t)){if(e.contains(s)){l.activateById(e.id);return}}}}}});h.addCommand(P.hideBrowser,{label:p.__("Hide the file browser."),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const e=u.currentWidget;if(e&&!e.isHidden){l.collapseLeft()}}});h.addCommand(P.toggleNavigateToCurrentDirectory,{label:p.__("Show Active File in File Browser"),isToggled:()=>n.navigateToCurrentDirectory,execute:()=>{const e=!n.navigateToCurrentDirectory;const t="navigateToCurrentDirectory";return s.set(A,t,e).catch((e=>{console.error(`Failed to set navigateToCurrentDirectory setting`)}))},describedBy:{args:{type:"object",properties:{}}}});if(c){c.addItem({command:P.toggleNavigateToCurrentDirectory,category:p.__("File Operations")})}void l.restored.then((e=>{if(e.fresh&&l.mode!=="single-document"){void h.execute(P.showBrowser,void 0)}}));void Promise.all([e.restored,n.model.restored]).then((()=>{l.currentChanged.connect((async(e,s)=>{if(n.navigateToCurrentDirectory&&s.newValue){const{newValue:e}=s;const a=t.contextForWidget(e);if(a){const{path:e}=a;try{await X.navigateToPath(e,n,i,r)}catch(o){console.warn(`${P.goToPath} failed to open: ${e}`,o)}}}}))}))}};const H={id:"@jupyterlab/filebrowser-extension:share-file",description:'Adds the "Copy Shareable Link" command; useful for JupyterHub deployment for example.',requires:[g.IFileBrowserFactory,x.ITranslator],autoStart:true,activate:(e,t,n)=>{const i=n.load("jupyterlab");const{commands:s}=e;const{tracker:o}=t;s.addCommand(P.copyShareableLink,{execute:()=>{const e=o.currentWidget;const t=e===null||e===void 0?void 0:e.selectedItems().next();if(t===undefined||t.done){return}a.Clipboard.copyToSystem(d.PageConfig.getUrl({workspace:d.PageConfig.defaultWorkspace,treePath:t.value.path,toShare:true}))},isVisible:()=>!!o.currentWidget&&Array.from(o.currentWidget.selectedItems()).length===1,icon:j.linkIcon.bindprops({stylesheet:"menuItem"}),label:i.__("Copy Shareable Link"),describedBy:{args:{type:"object",properties:{}}}})}};const V={id:"@jupyterlab/filebrowser-extension:open-with",description:"Adds the open-with feature allowing an user to pick the non-preferred document viewer.",requires:[g.IFileBrowserFactory],autoStart:true,activate:(e,t)=>{const{docRegistry:n}=e;const{tracker:i}=t;let s=[];function o(e){var t,o;const r=(o=(t=e.menu.items.find((e=>{var t;return e.type==="submenu"&&((t=e.submenu)===null||t===void 0?void 0:t.id)==="jp-contextmenu-open-with"})))===null||t===void 0?void 0:t.submenu)!==null&&o!==void 0?o:null;if(!r){return}s.forEach((e=>e.dispose()));s.length=0;r.clearItems();const a=i.currentWidget?X.OpenWith.intersection((0,I.map)(i.currentWidget.selectedItems(),(e=>X.OpenWith.getFactories(n,e)))):new Set;s=[...a].map((e=>r.addItem({args:{factory:e.name,label:e.label||e.name},command:P.open})))}e.contextMenu.opened.connect(o)}};const U={id:"@jupyterlab/filebrowser-extension:open-browser-tab",description:"Adds the open-in-new-browser-tab features.",requires:[g.IFileBrowserFactory,x.ITranslator],autoStart:true,activate:(e,t,n)=>{const{commands:i}=e;const s=n.load("jupyterlab");const{tracker:o}=t;i.addCommand(P.openBrowserTab,{execute:e=>{const t=o.currentWidget;if(!t){return}const n=e["mode"];return Promise.all(Array.from((0,I.map)(t.selectedItems(),(e=>{if(n==="single-document"){const t=d.PageConfig.getUrl({mode:"single-document",treePath:e.path});const n=window.open();if(n){n.opener=null;n.location.href=t}else{throw new Error("Failed to open new browser tab.")}}else{return i.execute("docmanager:open-browser-tab",{path:e.path})}}))))},icon:j.addIcon.bindprops({stylesheet:"menuItem"}),label:e=>e["mode"]==="single-document"?s.__("Open in Simple Mode"):s.__("Open in New Browser Tab"),mnemonic:0,describedBy:{args:{type:"object",properties:{mode:{type:"string",description:s.__("Mode for opening files (e.g., single-document)")}}}}})}};const q={id:"@jupyterlab/filebrowser-extension:file-upload-status",description:"Adds a file upload status widget.",autoStart:true,requires:[g.IFileBrowserFactory,x.ITranslator],optional:[w.IStatusBar],activate:(e,t,n,i)=>{if(!i){return}const s=new g.FileUploadStatus({tracker:t.tracker,translator:n});i.registerStatusItem("@jupyterlab/filebrowser-extension:file-upload-status",{item:s,align:"middle",isActive:()=>!!s.model&&s.model.items.length>0,activeStateChanged:s.model.stateChanged})}};const $={id:"@jupyterlab/filebrowser-extension:open-url",description:'Adds the feature "Open files from remote URLs".',autoStart:true,requires:[g.IDefaultFileBrowser,x.ITranslator],optional:[a.ICommandPalette],activate:(e,t,n,i)=>{const{commands:s}=e;const o=n.load("jupyterlab");const r=P.openUrl;s.addCommand(r,{label:e=>e.url?o.__("Open %1",e.url):o.__("Open from URL…"),caption:e=>e.url?o.__("Open %1",e.url):o.__("Open from URL"),execute:async e=>{var n,i,r;let l=(n=e===null||e===void 0?void 0:e.url)!==null&&n!==void 0?n:"";if(!l){l=(i=(await a.InputDialog.getText({label:o.__("URL"),placeholder:"https://example.com/path/to/file",title:o.__("Open URL"),okLabel:o.__("Open")})).value)!==null&&i!==void 0?i:undefined}if(!l){return}let c="";let h;try{const e=await fetch(l);h=await e.blob();c=(r=e.headers.get("Content-Type"))!==null&&r!==void 0?r:""}catch(u){if(u.response&&u.response.status!==200){u.message=o.__("Could not open URL: %1",l)}return(0,a.showErrorMessage)(o.__("Cannot fetch"),u)}try{const e=d.PathExt.basename(l);const n=new File([h],e,{type:c});const i=await t.model.upload(n);return s.execute("docmanager:open",{path:i.path})}catch(p){return(0,a.showErrorMessage)(o._p("showErrorMessage","Upload Error"),p)}},describedBy:{args:{type:"object",properties:{url:{type:"string",description:o.__("URL of the file to open")}}}}});if(i){i.addItem({command:r,category:o.__("File Operations")})}}};const K={id:"@jupyterlab/filebrowser-extension:notify-upload",requires:[g.IDefaultFileBrowser,v.ISettingRegistry,x.ITranslator],description:"Adds feature to auto-open supported files after upload",autoStart:true,activate:async(e,t,n,i)=>{const s=i.load("jupyterlab");const o=await n.load(A);let r=o.get("autoOpenUploads").composite;let l=o.get("maxAutoOpenSizeMB").composite*1024*1024;o.changed.connect((()=>{r=o.get("autoOpenUploads").composite;l=o.get("maxAutoOpenSizeMB").composite*1024*1024}));void e.restored.then((()=>{const n=Array.from(t.toolbar.children());const i=n.find((e=>e instanceof g.Uploader));if(!i){console.warn("Uploader widget not found");return}i.filesUploaded.connect(((t,n)=>{const i=Array.from(e.docRegistry.fileTypes());const o=i.reduce(((e,t)=>{if(t.extensions){for(const n of t.extensions){e.push(n.toLowerCase())}}return e}),[]);const d=n[0].name.toLowerCase();const c=o.some((e=>d.endsWith(e)));if(n.length===1&&(n[0].type==="notebook"||n[0].type==="file")){const t=n[0];if(r&&t.size&&t.size<=l&&c){e.commands.execute("docmanager:open",{path:t.path}).catch((e=>{void(0,a.showErrorMessage)(`Opening ${t.name} failed`,e)}))}else{a.Notification.emit(s.__("Uploaded %1%2",t.name,t.size?` (${(0,g.formatFileSize)(t.size,1,1024)})`:""),"info",{autoClose:5e3,actions:[{label:s.__("Open File"),callback:()=>{void e.commands.execute("docmanager:open",{path:t.path}).catch((e=>{void(0,a.showErrorMessage)(`Could not open ${t.name}`,e)}))}}]})}}else{a.Notification.emit(s.__("Upload complete (%1 files)",n.length),"info",{autoClose:5e3,actions:[{label:s.__("Open All"),callback:()=>{n.forEach((t=>void e.commands.execute("docmanager:open",{path:t.path}).catch((e=>{void(0,a.showErrorMessage)(`Could not open ${t.path}`,e)}))))}}]})}}))}))}};function J(e,t,n,i,s,o){const r=i.load("jupyterlab");const{docRegistry:l,commands:c}=e;const{tracker:h}=n;const u=d.PageConfig.getOption("delete_to_trash")==="true";c.addCommand(P.del,{execute:()=>{const e=h.currentWidget;if(e){return e.delete()}},icon:j.closeIcon.bindprops({stylesheet:"menuItem"}),label:u?r.__("Move to Trash"):r.__("Delete"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.copy,{execute:()=>{const e=h.currentWidget;if(e){return e.copy()}},icon:j.copyIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Copy"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.cut,{execute:()=>{const e=h.currentWidget;if(e){return e.cut()}},icon:j.cutIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Cut"),describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.duplicate,{execute:()=>{const e=h.currentWidget;if(e){return e.duplicate()}},icon:j.copyIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Duplicate"),describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.selectAll,{execute:()=>{const e=h.currentWidget;if(e){return e.selectAll()}},label:r.__("Select All"),describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.goToPath,{label:r.__("Update the file browser to display the provided `path`."),describedBy:{args:{type:"object",properties:{path:{type:"string",description:r.__("The path to navigate to")},dontShowBrowser:{type:"boolean",description:r.__("Whether to avoid showing the browser")}}}},execute:async e=>{var s;const o=e.path||"";const r=!((s=e===null||e===void 0?void 0:e.dontShowBrowser)!==null&&s!==void 0?s:false);try{const e=await X.navigateToPath(o,t,n,i);if(e.type!=="directory"&&r){const e=X.getBrowserForPath(o,t,n);if(e){e.clearSelectedItems();const t=o.split("/");const n=t[t.length-1];if(n){await e.selectItemByName(n)}}}}catch(a){console.warn(`${P.goToPath} failed to go to: ${o}`,a)}if(r){return c.execute(P.showBrowser,{path:o})}}});c.addCommand(P.goUp,{label:"go up",execute:async()=>{const e=X.getBrowserForPath("",t,n);if(!e){return}const{model:i}=e;await i.restored;void e.goUp()},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.openPath,{label:e=>e.path?r.__("Open %1",e.path):r.__("Open from Path…"),caption:e=>e.path?r.__("Open %1",e.path):r.__("Open from path"),execute:async e=>{var i;let s;if(e===null||e===void 0?void 0:e.path){s=e.path}else{s=(i=(await a.InputDialog.getText({label:r.__("Path"),placeholder:"/path/relative/to/jlab/root",title:r.__("Open Path"),okLabel:r.__("Open")})).value)!==null&&i!==void 0?i:undefined}if(!s){return}try{const i=s!=="/"&&s.endsWith("/");if(i){s=s.slice(0,s.length-1)}const o=X.getBrowserForPath(s,t,n);const{services:r}=o.model.manager;const a=await r.contents.get(s,{content:false});if(i&&a.type!=="directory"){throw new Error(`Path ${s}/ is not a directory`)}await c.execute(P.goToPath,{path:s,dontShowBrowser:e.dontShowBrowser});if(a.type==="directory"){return}return c.execute("docmanager:open",{path:s})}catch(o){if(o.response&&o.response.status===404){o.message=r.__("Could not find path: %1",s)}return(0,a.showErrorMessage)(r.__("Cannot open"),o)}},describedBy:{args:{type:"object",properties:{path:{type:"string",description:r.__("Path to the file or directory to open")},dontShowBrowser:{type:"boolean",description:r.__("Whether to avoid showing the file browser")}}}}});if(o){o.addItem({command:P.openPath,category:r.__("File Operations")})}c.addCommand(P.open,{execute:e=>{const t=e["factory"]||void 0;const n=h.currentWidget;if(!n){return}const{contents:i}=n.model.manager.services;return Promise.all(Array.from((0,I.map)(n.selectedItems(),(s=>{if(s.type==="directory"){const e=i.localPath(s.path);return n.model.cd(`/${e}`)}return c.execute("docmanager:open",{factory:t,path:s.path,kernelPreference:e["kernelPreference"]})}))))},icon:e=>{var t;const n=e["factory"]||void 0;if(n){const e=l.getFileType(n);return(t=e===null||e===void 0?void 0:e.icon)===null||t===void 0?void 0:t.bindprops({stylesheet:"menuItem"})}else{return j.folderIcon.bindprops({stylesheet:"menuItem"})}},label:e=>e["label"]||e["factory"]||r.__("Open"),mnemonic:0,describedBy:{args:{type:"object",properties:{factory:{type:"string",description:r.__("The name of the widget factory to use")},label:{type:"string",description:r.__("The label to display for the command")}}}}});c.addCommand(P.paste,{execute:()=>{const e=h.currentWidget;if(e){return e.paste()}},icon:j.pasteIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Paste"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.createNewDirectory,{execute:()=>{const e=h.currentWidget;if(e){return e.createNewDirectory()}},icon:j.newFolderIcon.bindprops({stylesheet:"menuItem"}),label:r.__("New Folder"),describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.createNewFile,{execute:e=>{var t;const n=h.currentWidget;if(n){return n.createNewFile({ext:(t=e.ext)!==null&&t!==void 0?t:"txt"})}},icon:e=>e.iconName?j.LabIcon.resolve({icon:e.iconName}):j.textEditorIcon.bindprops({stylesheet:"menuItem"}),label:e=>{var t;return r.__((t=e.label)!==null&&t!==void 0?t:"New File")},describedBy:{args:{type:"object",properties:{label:{type:"string",default:"New File",description:r.__("The command label.")},iconName:{type:"string",description:r.__("The command icon.")},ext:{type:"string",default:"txt",description:r.__("The file extension.")}}}}});c.addCommand(P.createNewMarkdownFile,{execute:()=>{const e=h.currentWidget;if(e){return e.createNewFile({ext:"md"})}},icon:j.markdownIcon.bindprops({stylesheet:"menuItem"}),label:r.__("New Markdown File"),describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.refresh,{execute:e=>{const t=h.currentWidget;if(t){return t.model.refresh()}},icon:j.refreshIcon.bindprops({stylesheet:"menuItem"}),caption:r.__("Refresh the file browser."),label:r.__("Refresh File List"),describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.rename,{execute:e=>{const t=h.currentWidget;if(t){return t.rename()}},isVisible:()=>!!h.currentWidget&&Array.from(h.currentWidget.selectedItems()).length===1,icon:j.editIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Rename"),mnemonic:0,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.copyPath,{execute:()=>{var e;const t=h.currentWidget;if(!t){return}const n=t.selectedItems().next();if(n.done){return}if(d.PageConfig.getOption("copyAbsolutePath")==="true"){const t=d.PathExt.joinWithLeadingSlash((e=d.PageConfig.getOption("serverRoot"))!==null&&e!==void 0?e:"",n.value.path);a.Clipboard.copyToSystem(t)}else{a.Clipboard.copyToSystem(n.value.path)}},isVisible:()=>!!h.currentWidget&&Array.from(h.currentWidget.selectedItems()).length===1,icon:j.fileIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Copy Path"),describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.shutdown,{execute:()=>{const e=h.currentWidget;if(e){return e.shutdownKernels()}},icon:j.stopIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Shut Down Kernel"),describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.toggleFileFilter,{execute:()=>{t.showFileFilter=!t.showFileFilter;c.notifyCommandChanged(P.toggleFileFilter)},isToggled:()=>{const e=t.showFileFilter;return e},icon:j.filterIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Toggle File Filter"),describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.toggleLastModified,{label:r.__("Show Last Modified Column"),isToggled:()=>t.showLastModifiedColumn,execute:()=>{const e=!t.showLastModifiedColumn;const n="showLastModifiedColumn";if(s){return s.set(A,n,e).catch((e=>{console.error(`Failed to set ${n} setting`)}))}},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.toggleShowFullPath,{label:r.__("Show Full Path"),isToggled:()=>t.showFullPath,execute:()=>{const e=!t.showFullPath;const n="showFullPath";if(s){return s.set(A,n,e).catch((e=>{console.error(`Failed to set ${n} setting`)}))}},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.toggleSortNotebooksFirst,{label:r.__("Sort Notebooks Above Files"),isToggled:()=>t.sortNotebooksFirst,execute:()=>{const e=!t.sortNotebooksFirst;const n="sortNotebooksFirst";if(s){return s.set(A,n,e).catch((e=>{console.error(`Failed to set ${n} setting`)}))}},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.toggleFileSize,{label:r.__("Show File Size Column"),isToggled:()=>t.showFileSizeColumn,execute:()=>{const e=!t.showFileSizeColumn;const n="showFileSizeColumn";if(s){return s.set(A,n,e).catch((e=>{console.error(`Failed to set ${n} setting`)}))}},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.toggleSingleClick,{label:r.__("Enable Single Click Navigation"),isToggled:()=>t.singleClickNavigation,execute:()=>{const e=!t.singleClickNavigation;const n="singleClickNavigation";if(s){return s.set(A,n,e).catch((e=>{console.error(`Failed to set singleClickNavigation setting`)}))}},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.toggleHiddenFiles,{label:r.__("Show Hidden Files"),isToggled:()=>t.showHiddenFiles,isVisible:()=>d.PageConfig.getOption("allow_hidden_files")==="true",execute:()=>{const e=!t.showHiddenFiles;const n="showHiddenFiles";if(s){return s.set(A,n,e).catch((e=>{console.error(`Failed to set showHiddenFiles setting`)}))}},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.toggleFileCheckboxes,{label:r.__("Show File Checkboxes"),isToggled:()=>t.showFileCheckboxes,execute:()=>{const e=!t.showFileCheckboxes;const n="showFileCheckboxes";if(s){return s.set(A,n,e).catch((e=>{console.error(`Failed to set showFileCheckboxes setting`)}))}},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(P.search,{label:r.__("Search on File Names"),execute:()=>alert("search"),describedBy:{args:{type:"object",properties:{}}}})}const G=[B,O,R,N,H,q,F,W,V,U,$,K,z];const Y=G;var X;(function(e){function t(e,t,n){const{tracker:i}=n;const s=t.model.manager.services.contents.driveName(e);if(s){const t=i.find((e=>e.model.driveName===s));if(!t){console.warn(`${P.goToPath} failed to find filebrowser for path: ${e}`);return}return t}return t}e.getBrowserForPath=t;async function n(t,n,i,s){const o=s.load("jupyterlab");const r=e.getBrowserForPath(t,n,i);if(!r){throw new Error(o.__("No browser for path"))}const{services:a}=r.model.manager;const l=a.contents.localPath(t);await a.ready;const c=await a.contents.get(t,{content:false});const{model:h}=r;await h.restored;if(c.type==="directory"){await h.cd(`/${l}`)}else{await h.cd(`/${d.PathExt.dirname(l)}`)}return c}e.navigateToPath=n;async function i(e,t,n,i,s,o){const r="jp-mod-restoring";e.addClass(r);if(!n){await e.model.restore(e.id);await e.model.refresh();e.removeClass(r);return}const a=async()=>{n.routed.disconnect(a);const s=await(i===null||i===void 0?void 0:i.paths);if((s===null||s===void 0?void 0:s.file)||(s===null||s===void 0?void 0:s.browser)){await e.model.restore(e.id,false);if(s.file){await t.execute(P.openPath,{path:s.file,dontShowBrowser:true})}if(s.browser){await t.execute(P.openPath,{path:s.browser,dontShowBrowser:true})}}else{await e.model.restore(e.id);await e.model.refresh()}e.removeClass(r);if(o===null||o===void 0?void 0:o.isEmpty("main")){void t.execute("launcher:create")}};n.routed.connect(a)}e.restoreBrowser=i;let s;(function(e){function t(e,t){const n=e.preferredWidgetFactories(t.path);const i=e.getWidgetFactory("notebook");if(i&&t.type==="notebook"&&n.indexOf(i)===-1){n.unshift(i)}return n}e.getFactories=t;function n(e){let t=undefined;for(const n of e){if(t===undefined){t=new Set(n);continue}if(t.size===0){return t}let e=new Set;for(const i of n){if(t.has(i)){e.add(i)}}t=e}return t!==null&&t!==void 0?t:new Set}e.intersection=n})(s=e.OpenWith||(e.OpenWith={}))})(X||(X={}))},20135:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(24800);var r=n(97913);var a=n(79010);var l=n(3579);var d=n(41603);var c=n(39063);var h=n(85072);var u=n.n(h);var p=n(97825);var m=n.n(p);var g=n(77659);var f=n.n(g);var v=n(55056);var _=n.n(v);var b=n(10540);var y=n.n(b);var w=n(41113);var C=n.n(w);var x=n(538);var S={};S.styleTagTransform=C();S.setAttributes=_();S.insert=f().bind(null,"head");S.domAPI=m();S.insertStyleElement=y();var j=u()(x.A,S);const k=x.A&&x.A.locals?x.A.locals:undefined},21813:(e,t,n)=>{"use strict";n.r(t);n.d(t,{BreadCrumbs:()=>w,CHUNK_SIZE:()=>Se,DirListing:()=>ce,FileBrowser:()=>ye,FileBrowserModel:()=>je,FileDialog:()=>Me,FileUploadStatus:()=>Ve,FilterFileBrowserModel:()=>Ie,IDefaultFileBrowser:()=>Re,IFileBrowserCommands:()=>Ne,IFileBrowserFactory:()=>Le,LARGE_FILE_SIZE:()=>xe,TogglableHiddenFileBrowserModel:()=>ke,Uploader:()=>Be,formatFileSize:()=>ue});var i=n(38850);var s=n(40959);var o=n(49278);var r=n(34881);var a=n(4073);var l=n(2336);var d=n(27518);var c=n(44914);var h=n.n(c);var u=n(11927);var p=n(5592);const m="jp-BreadCrumbs";const g="jp-BreadCrumbs-home";const f="jp-BreadCrumbs-preferred";const v="jp-BreadCrumbs-item";const _="jp-BreadCrumbs-ellipsis";const b="application/x-jupyter-icontents";const y="jp-mod-dropTarget";class w extends d.Widget{constructor(e){var t,n;super();this._previousState=null;this.translator=e.translator||r.nullTranslator;this._trans=this.translator.load("jupyterlab");this._model=e.model;this._fullPath=e.fullPath||false;this._minimumLeftItems=(t=e.minimumLeftItems)!==null&&t!==void 0?t:0;this._minimumRightItems=(n=e.minimumRightItems)!==null&&n!==void 0?n:2;this.addClass(m);this._crumbs=C.createCrumbs();const i=s.PageConfig.getOption("preferredPath");this._hasPreferred=i&&i!=="/"?true:false;if(this._hasPreferred){this.node.appendChild(this._crumbs[C.Crumb.Preferred])}this.node.appendChild(this._crumbs[C.Crumb.Home]);this._model.refreshed.connect(this.update,this)}handleEvent(e){switch(e.type){case"click":this._evtClick(e);break;case"lm-dragenter":this._evtDragEnter(e);break;case"lm-dragleave":this._evtDragLeave(e);break;case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e);break;default:return}}get fullPath(){return this._fullPath}set fullPath(e){this._fullPath=e}get minimumLeftItems(){return this._minimumLeftItems}set minimumLeftItems(e){this._minimumLeftItems=e}get minimumRightItems(){return this._minimumRightItems}set minimumRightItems(e){this._minimumRightItems=e}onAfterAttach(e){super.onAfterAttach(e);this.update();const t=this.node;t.addEventListener("click",this);t.addEventListener("lm-dragenter",this);t.addEventListener("lm-dragleave",this);t.addEventListener("lm-dragover",this);t.addEventListener("lm-drop",this)}onBeforeDetach(e){super.onBeforeDetach(e);const t=this.node;t.removeEventListener("click",this);t.removeEventListener("lm-dragenter",this);t.removeEventListener("lm-dragleave",this);t.removeEventListener("lm-dragover",this);t.removeEventListener("lm-drop",this)}onUpdateRequest(e){const t=this._model.manager.services.contents;const n=t.localPath(this._model.path);const i={path:n,hasPreferred:this._hasPreferred,fullPath:this._fullPath,minimumLeftItems:this._minimumLeftItems,minimumRightItems:this._minimumRightItems};if(this._previousState&&p.JSONExt.deepEqual(i,this._previousState)){return}this._previousState=i;C.updateCrumbs(this._crumbs,i)}_evtClick(e){if(e.button!==0){return}let t=e.target;while(t&&t!==this.node){if(t.classList.contains(f)){const t=s.PageConfig.getOption("preferredPath");const n=t?"/"+t:t;this._model.cd(n).catch((e=>(0,i.showErrorMessage)(this._trans.__("Open Error"),e)));e.preventDefault();e.stopPropagation();return}if(t.classList.contains(v)||t.classList.contains(g)){let n;if(t.classList.contains(g)){n="/"}else{n=`/${t.dataset.path}`}if(n){this._model.cd(n).catch((e=>(0,i.showErrorMessage)(this._trans.__("Open Error"),e)))}e.preventDefault();e.stopPropagation();return}t=t.parentElement}}_evtDragEnter(e){if(e.mimeData.hasData(b)){const t=this._getBreadcrumbElements();let n=-1;let i=e.target;while(i&&i!==this.node){n=t.indexOf(i);if(n!==-1){break}i=i.parentElement}if(n!==-1){const i=t[n];const s=this._model.manager.services.contents.localPath(this._model.path);if(i.dataset.path!==s){i.classList.add(y);e.preventDefault();e.stopPropagation()}}}}_evtDragLeave(e){e.preventDefault();e.stopPropagation();const t=i.DOMUtils.findElement(this.node,y);if(t){t.classList.remove(y)}}_evtDragOver(e){e.preventDefault();e.stopPropagation();e.dropAction=e.proposedAction;const t=i.DOMUtils.findElement(this.node,y);if(t){t.classList.remove(y)}const n=this._getBreadcrumbElements();let s=-1;let o=e.target;while(o&&o!==this.node){s=n.indexOf(o);if(s!==-1){break}o=o.parentElement}if(s!==-1){n[s].classList.add(y)}}_evtDrop(e){e.preventDefault();e.stopPropagation();if(e.proposedAction==="none"){e.dropAction="none";return}if(!e.mimeData.hasData(b)){return}e.dropAction=e.proposedAction;let t=e.target;while(t&&t.parentElement){if(t.classList.contains(y)){t.classList.remove(y);break}t=t.parentElement}let n=null;if(t.classList.contains(g)){n="/"}else if(t.classList.contains(f)){const e=s.PageConfig.getOption("preferredPath");n=e?"/"+e:"/"}else if(t.dataset.path){n=t.dataset.path}if(!n){return}const o=this._model;const r=o.manager;const a=[];const l=e.mimeData.getData(b);for(const i of l){const e=s.PathExt.basename(i);const t=s.PathExt.join(n,e);a.push((0,u.renameFile)(r,i,t))}void Promise.all(a).catch((e=>(0,i.showErrorMessage)(this._trans.__("Move Error"),e)))}_getBreadcrumbElements(){const e=[];const t=this.node.children;for(let n=0;n<t.length;n++){const i=t[n];if((i.classList.contains(v)||i.classList.contains(g)||i.classList.contains(f))&&!i.classList.contains(_)){e.push(i)}}return e}}var C;(function(e){let t;(function(e){e[e["Home"]=0]="Home";e[e["Ellipsis"]=1]="Ellipsis";e[e["Preferred"]=2]="Preferred"})(t=e.Crumb||(e.Crumb={}));function n(e,n){const s=e[0].parentNode;const o=s.firstChild;while(o&&o.nextSibling){s.removeChild(o.nextSibling)}if(n.hasPreferred){s.appendChild(e[t.Home]);s.appendChild(r())}else{s.appendChild(r())}const a=n.path.split("/").filter((e=>e!==""));if(!n.fullPath&&a.length>0){const o=n.minimumLeftItems;const l=n.minimumRightItems;if(a.length>o+l){for(let e=0;e<o;e++){const t=a.slice(0,e+1).join("/");const n=i(a[e],t);s.appendChild(n);s.appendChild(r())}s.appendChild(e[t.Ellipsis]);const n=o;const d=a.length-l;const c=a.slice(n,d);const h=c.join("/");const u=c.length>0?a.slice(0,d).join("/"):a.slice(0,o).join("/");e[t.Ellipsis].title=h;e[t.Ellipsis].dataset.path=u;s.appendChild(r());const p=a.length-l;for(let e=p;e<a.length;e++){const t=a.slice(0,e+1).join("/");const n=i(a[e],t);s.appendChild(n);s.appendChild(r())}}else{for(let e=0;e<a.length;e++){const t=a.slice(0,e+1).join("/");const n=i(a[e],t);s.appendChild(n);s.appendChild(r())}}}else if(n.fullPath&&a.length>0){for(let e=0;e<a.length;e++){const t=a.slice(0,e+1).join("/");const n=i(a[e],t);s.appendChild(n);const o=document.createElement("span");o.textContent="/";s.appendChild(o)}}}e.updateCrumbs=n;function i(e,t){const n=document.createElement("span");n.className=v;n.textContent=e;n.title=t;n.dataset.path=t;return n}function o(){const e=a.folderIcon.element({className:g,tag:"span",title:s.PageConfig.getOption("serverRoot")||"Jupyter Server Root",stylesheet:"breadCrumb"});e.dataset.path="/";const t=a.ellipsesIcon.element({className:`${v} ${_}`,tag:"span",stylesheet:"breadCrumb"});const n=s.PageConfig.getOption("preferredPath");const i=n?"/"+n:n;const o=a.homeIcon.element({className:f,tag:"span",title:i||"Jupyter Preferred Path",stylesheet:"breadCrumb"});o.dataset.path=i||"/";return[e,t,o]}e.createCrumbs=o;function r(){const e=document.createElement("span");e.textContent="/";return e}e.createCrumbSeparator=r})(C||(C={}));var x=n(93067);var S=n(34236);var j=n(76326);var k=n(90044);var I=n(10970);var T=n(42856);var E=n(97290);const M="jp-DirListing";const D="jp-DirListing-header";const A="jp-DirListing-headerItem";const P="jp-DirListing-headerItemText";const L="jp-DirListing-headerItemIcon";const R="jp-DirListing-content";const N="jp-DirListing-item";const B="jp-DirListing-itemText";const O="jp-DirListing-itemName";const F="jp-DirListing-itemIcon";const z="jp-DirListing-itemModified";const W="jp-DirListing-itemFileSize";const H="jp-DirListing-checkboxWrapper";const V="jp-DirListing-editor";const U="jp-id-name";const q="jp-id-modified";const $="jp-id-filesize";const K="application/x-jupyter-icontents";const J="application/x-jupyter-icontentsrich";const G="jp-mod-dropTarget";const Y="jp-mod-selected";const X="jp-DragIcon";const Q="jp-DirListing-resizeHandle";const Z="jp-mod-clipboard";const ee="jp-mod-cut";const te="jp-mod-multiSelected";const ne="jp-mod-running";const ie="jp-mod-active";const se="jp-mod-descending";const oe=1e3;const re=5;const ae=5;const le=!!navigator.platform.match(/Mac/i);const de="application/vnd.lumino.widget-factory";class ce extends d.Widget{constructor(e){var t;super({node:(e.renderer||ce.defaultRenderer).createNode()});this._items=[];this._sortedItems=[];this._sortState={direction:"ascending",key:"name"};this._onItemOpened=new l.Signal(this);this._selectionChanged=new l.Signal(this);this._drag=null;this._dragData=null;this._resizeData=null;this._selectTimer=-1;this._isCut=false;this._prevPath="";this._clipboard=[];this._softSelection="";this.selection=Object.create(null);this._searchPrefix="";this._searchPrefixTimer=-1;this._inRename=false;this._isDirty=false;this._hiddenColumns=new Set;this._columnSizes={name:null,file_size:null,is_selected:null,last_modified:null};this._sortNotebooksFirst=false;this._allowSingleClick=false;this._allowDragDropUpload=true;this._focusIndex=0;this._allUploaded=new l.Signal(this);this._width=null;this._state=null;this._contentScrollbarWidth=0;this._contentSizeObserver=new ResizeObserver(this._onContentResize.bind(this));this._paddingWidth=0;this._handleWidth=re;this._lastRenderedState=new WeakMap;this.addClass(M);this.translator=e.translator||r.nullTranslator;this._trans=this.translator.load("jupyterlab");this._model=e.model;this._model.fileChanged.connect(this._onFileChanged,this);this._model.refreshed.connect(this._onModelRefreshed,this);this._model.pathChanged.connect(this._onPathChanged,this);this._editNode=document.createElement("input");this._editNode.className=V;this._manager=this._model.manager;this._renderer=e.renderer||ce.defaultRenderer;this._state=e.state||null;this._allowDragDropUpload=(t=e.allowDragDropUpload)!==null&&t!==void 0?t:true;this._handleOpenFile=e.handleOpenFile||(e=>{this._manager.openOrReveal(e)});this._updateModifiedSize(this.node);const n=i.DOMUtils.findElement(this.node,D);this._hiddenColumns.add("file_size");this._renderer.populateHeaderNode(n,this.translator,this._hiddenColumns,this._columnSizes);this._manager.activateRequested.connect(this._onActivateRequested,this)}dispose(){this._items.length=0;this._sortedItems.length=0;this._clipboard.length=0;super.dispose()}get model(){return this._model}get headerNode(){return i.DOMUtils.findElement(this.node,D)}get contentNode(){return i.DOMUtils.findElement(this.node,R)}get renderer(){return this._renderer}get sortState(){return this._sortState}get onItemOpened(){return this._onItemOpened}get selectionChanged(){return this._selectionChanged}selectedItems(){const e=this._sortedItems;return(0,S.filter)(e,(e=>this.selection[e.path]))}sortedItems(){return this._sortedItems[Symbol.iterator]()}sort(e){this._sortedItems=he.sort(this.model.items(),e,this._sortNotebooksFirst,this.translator);this._sortState=e;this.update()}rename(){return this._doRename()}cut(){this._isCut=true;this._copy();this.update()}copy(){this._copy()}paste(){if(!this._clipboard.length){this._isCut=false;return Promise.resolve(undefined)}const e=this._model.path;const t=[];for(const n of this._clipboard){if(this._isCut){const i=this._manager.services.contents.localPath(n);const o=i.split("/");const r=o[o.length-1];const a=s.PathExt.join(e,r);t.push(this._model.manager.rename(n,a))}else{t.push(this._model.manager.copy(n,e))}}for(const n of this._items){n.classList.remove(ee)}this._clipboard.length=0;this._isCut=false;this.removeClass(Z);return Promise.all(t).then((()=>undefined)).catch((e=>{void(0,i.showErrorMessage)(this._trans._p("showErrorMessage","Paste Error"),e)}))}async delete(){const e=s.PageConfig.getOption("delete_to_trash")==="true";const t=this._sortedItems.filter((e=>this.selection[e.path]));if(!t.length){return}const n=this._trans.__("Are you sure you want to move to trash: %1?",t[0].name);const o=this._trans.__("Are you sure you want to permanently delete: %1?",t[0].name);const r=this._trans._n("Are you sure you want to move to trash the %1 selected item?","Are you sure you want to move to trash the %1 selected items?",t.length);const a=this._trans._n("Are you sure you want to permanently delete the %1 selected item?","Are you sure you want to permanently delete the %1 selected items?",t.length);const l=e?n:o;const d=e?r:a;const c=e?this._trans.__("Move to Trash"):this._trans.__("Delete");const h=t.length===1?l:d;const u=await(0,i.showDialog)({title:c,body:h,buttons:[i.Dialog.cancelButton({label:this._trans.__("Cancel")}),i.Dialog.warnButton({label:c})],defaultButton:0});if(!this.isDisposed&&u.button.accept){await this._delete(t.map((e=>e.path)))}let p=this._focusIndex;const m=this._sortedItems.length-t.length-1;if(p>m){p=Math.max(0,m)}this._focusItem(p)}duplicate(){const e=this._model.path;const t=[];for(const n of this.selectedItems()){if(n.type!=="directory"){t.push(this._model.manager.copy(n.path,e))}}return Promise.all(t).then((()=>undefined)).catch((e=>{void(0,i.showErrorMessage)(this._trans._p("showErrorMessage","Duplicate file"),e)}))}async selectAll(){const e=this._model.items();const t={};for(const n of e){t[n.path]=true}this.selection=t;this._selectionChanged.emit();this.update()}async download(){await Promise.all(Array.from(this.selectedItems()).filter((e=>e.type!=="directory")).map((e=>this._model.download(e.path))))}async restore(e){const t=`file-browser-${e}:columns`;const n=this._state;this._stateColumnsKey=t;if(!n){return}try{const e=await n.fetch(t);if(!e){return}const i=e["sizes"];if(!i){return}for(const[t,n]of Object.entries(i)){this._columnSizes[t]=n}this._updateColumnSizes()}catch(i){await n.remove(t)}}shutdownKernels(){const e=this._model;const t=this._sortedItems;const n=t.map((e=>e.path));const s=Array.from(this._model.sessions()).filter((e=>{const i=S.ArrayExt.firstIndexOf(n,e.path);return this.selection[t[i].path]})).map((t=>e.manager.services.sessions.shutdown(t.id)));return Promise.all(s).then((()=>undefined)).catch((e=>{void(0,i.showErrorMessage)(this._trans._p("showErrorMessage","Shut down kernel"),e)}))}selectNext(e=false){let t=-1;const n=Object.keys(this.selection);const i=this._sortedItems;if(n.length===1||e){const e=n[n.length-1];t=S.ArrayExt.findFirstIndex(i,(t=>t.path===e));t+=1;if(t===this._items.length){t=0}}else if(n.length===0){t=0}else{const e=n[n.length-1];t=S.ArrayExt.findFirstIndex(i,(t=>t.path===e))}if(t!==-1){this._selectItem(t,e);j.ElementExt.scrollIntoViewIfNeeded(this.contentNode,this._items[t])}}selectPrevious(e=false){let t=-1;const n=Object.keys(this.selection);const i=this._sortedItems;if(n.length===1||e){const e=n[0];t=S.ArrayExt.findFirstIndex(i,(t=>t.path===e));t-=1;if(t===-1){t=this._items.length-1}}else if(n.length===0){t=this._items.length-1}else{const e=n[0];t=S.ArrayExt.findFirstIndex(i,(t=>t.path===e))}if(t!==-1){this._selectItem(t,e);j.ElementExt.scrollIntoViewIfNeeded(this.contentNode,this._items[t])}}selectByPrefix(){const e=this._searchPrefix.toLowerCase();const t=this._sortedItems;const n=S.ArrayExt.findFirstIndex(t,(t=>t.name.toLowerCase().substr(0,e.length)===e));if(n!==-1){this._selectItem(n,false);j.ElementExt.scrollIntoViewIfNeeded(this.contentNode,this._items[n])}}isSelected(e){const t=this._sortedItems;return Array.from((0,S.filter)(t,(t=>t.name===e&&this.selection[t.path]))).length!==0}modelForClick(e){const t=this._sortedItems;const n=he.hitTestNodes(this._items,e);if(n!==-1){return t[n]}return undefined}clearSelectedItems(e=true){this.selection=Object.create(null);if(e){this._selectionChanged.emit()}}async selectItemByName(e,t=false){return this._selectItemByName(e,t)}async _selectItemByName(e,t=false,n=false){if(!n&&this.isSelected(e)){return}await this.model.refresh();if(this.isDisposed){throw new Error("File browser is disposed.")}const i=this._sortedItems;const s=S.ArrayExt.findFirstIndex(i,(t=>t.name===e));if(s===-1){throw new Error("Item does not exist.")}this._selectItem(s,false,t);T.MessageLoop.sendMessage(this,d.Widget.Msg.UpdateRequest);j.ElementExt.scrollIntoViewIfNeeded(this.contentNode,this._items[s])}handleEvent(e){switch(e.type){case"mousedown":this._evtMousedown(e);break;case"mouseup":this._evtMouseup(e);break;case"mousemove":this._evtMousemove(e);break;case"keydown":this.evtKeydown(e);break;case"click":this._evtClick(e);break;case"dblclick":this.evtDblClick(e);break;case"dragenter":case"dragover":if(this._allowDragDropUpload){this.addClass("jp-mod-native-drop")}e.preventDefault();break;case"dragleave":case"dragend":this.removeClass("jp-mod-native-drop");break;case"drop":this.removeClass("jp-mod-native-drop");this.evtNativeDrop(e);break;case"scroll":this._evtScroll(e);break;case"lm-dragenter":this.evtDragEnter(e);break;case"lm-dragleave":this.evtDragLeave(e);break;case"lm-dragover":this.evtDragOver(e);break;case"lm-drop":this.evtDrop(e);break;default:break}}onAfterAttach(e){super.onAfterAttach(e);const t=this.node;this._width=this._computeContentWidth();const n=i.DOMUtils.findElement(t,R);t.addEventListener("mousedown",this);t.addEventListener("keydown",this);t.addEventListener("click",this);t.addEventListener("dblclick",this);this._contentSizeObserver.observe(n);n.addEventListener("dragenter",this);n.addEventListener("dragover",this);n.addEventListener("dragleave",this);n.addEventListener("dragend",this);n.addEventListener("drop",this);n.addEventListener("scroll",this);n.addEventListener("lm-dragenter",this);n.addEventListener("lm-dragleave",this);n.addEventListener("lm-dragover",this);n.addEventListener("lm-drop",this);this._updateColumnSizes()}onBeforeDetach(e){super.onBeforeDetach(e);const t=this.node;const n=i.DOMUtils.findElement(t,R);t.removeEventListener("mousedown",this);t.removeEventListener("keydown",this);t.removeEventListener("click",this);t.removeEventListener("dblclick",this);this._contentSizeObserver.disconnect();n.removeEventListener("scroll",this);n.removeEventListener("dragover",this);n.removeEventListener("dragover",this);n.removeEventListener("dragleave",this);n.removeEventListener("dragend",this);n.removeEventListener("drop",this);n.removeEventListener("lm-dragenter",this);n.removeEventListener("lm-dragleave",this);n.removeEventListener("lm-dragover",this);n.removeEventListener("lm-drop",this);document.removeEventListener("mousemove",this,true);document.removeEventListener("mouseup",this,true)}onAfterShow(e){if(this._isDirty){this.sort(this.sortState);this.update()}}_onContentResize(){const e=i.DOMUtils.findElement(this.node,R);const t=e.offsetWidth-e.clientWidth;if(t!=this._contentScrollbarWidth){this._contentScrollbarWidth=t;this._width=this._computeContentWidth();this._updateColumnSizes()}}_computeContentWidth(e=null){if(!e){e=this.node.getBoundingClientRect().width}this._paddingWidth=parseFloat(window.getComputedStyle(this.node).getPropertyValue("--jp-dirlisting-padding-width"));const t=this.node.querySelector(`.${Q}`);this._handleWidth=t?t.getBoundingClientRect().width:re;return e-this._paddingWidth*2-this._contentScrollbarWidth}_updateModifiedSize(e){var t,n;const s=i.DOMUtils.findElement(e,q);this._modifiedWidth=(n=(t=this._columnSizes["last_modified"])!==null&&t!==void 0?t:s===null||s===void 0?void 0:s.getBoundingClientRect().width)!==null&&n!==void 0?n:83;this._modifiedStyle=this._modifiedWidth<100?"narrow":this._modifiedWidth>120?"long":"short"}_updateModifiedStyleAndSize(){const e=this._modifiedStyle;this._updateModifiedSize(this.node);if(e!==this._modifiedStyle){this.updateModified(this._sortedItems,this._items)}}updateModified(e,t){e.forEach(((e,n)=>{const s=t[n];if(s&&e.last_modified){const t=i.DOMUtils.findElement(s,z);if(this.renderer.updateItemModified!==undefined){this.renderer.updateItemModified(t,e.last_modified,this._modifiedStyle)}else{ce.defaultRenderer.updateItemModified(t,e.last_modified,this._modifiedStyle)}}}))}updateNodes(e,t,n=false){var i;e.forEach(((e,i)=>{const s=t[i];if(n&&this.renderer.updateItemSize){if(!s){return}return this.renderer.updateItemSize(s,e,this._modifiedStyle,this._columnSizes)}const o=this._manager.registry.getFileTypeForModel(e);this.renderer.updateItemNode(s,e,o,this.translator,this._hiddenColumns,this.selection[e.path],this._modifiedStyle,this._columnSizes);if(this.selection[e.path]&&this._isCut&&this._model.path===this._prevPath){s.classList.add(ee)}s.setAttribute("data-isdir",e.type==="directory"?"true":"false")}));const s=Object.keys(this.selection).length;if(s){this.addClass(Y);if(s>1){this.addClass(te)}}const o=e.map((e=>e.path));for(const r of this._model.sessions()){const e=S.ArrayExt.firstIndexOf(o,r.path);const n=t[e];if(n){let e=(i=r.kernel)===null||i===void 0?void 0:i.name;const t=this._model.specs;n.classList.add(ne);if(t&&e){const n=t.kernelspecs[e];e=n?n.display_name:this._trans.__("unknown")}const s=this._lastRenderedState.get(n);if(s!==n.title){n.title=this._trans.__("%1\nKernel: %2",n.title,e);this._lastRenderedState.set(n,n.title)}}}}onUpdateRequest(e){this._isDirty=false;const t=this._sortedItems;const n=this._items;const s=n.length===0;const o=i.DOMUtils.findElement(this.node,R);const r=this._renderer;this.removeClass(te);this.removeClass(Y);while(n.length>t.length){o.removeChild(n.pop())}while(n.length<t.length){const e=r.createItemNode(this._hiddenColumns,this._columnSizes);e.classList.add(N);n.push(e);o.appendChild(e)}n.forEach(((e,t)=>{e.classList.remove(Y);e.classList.remove(ne);e.classList.remove(ee);const n=r.getCheckboxNode(e);if(n){n.checked=false}const i=r.getNameNode(e);if(i){if(t===this._focusIndex){i.setAttribute("tabIndex","0");i.setAttribute("role","button")}else{i.setAttribute("tabIndex","-1");i.removeAttribute("role")}}}));const a=r.getCheckboxNode(this.headerNode);if(a){const e=Object.keys(this.selection).length;const n=t.length>0&&e===t.length;const i=!n&&e>0;a.checked=n;a.indeterminate=i;a.dataset.checked=String(n);a.dataset.indeterminate=String(i);const s=this.translator.load("jupyterlab");a===null||a===void 0?void 0:a.setAttribute("aria-label",n||i?s.__("Deselect all files and directories"):s.__("Select all files and directories"))}this.updateNodes(t,n);if(s){this._width=this._computeContentWidth();this._updateColumnSizes()}this._prevPath=this._model.path}onResize(e){const{width:t}=e.width===-1?this.node.getBoundingClientRect():e;this._width=this._computeContentWidth(t);this._updateColumnSizes()}setColumnVisibility(e,t){if(t){this._hiddenColumns.delete(e)}else{this._hiddenColumns.add(e)}this.headerNode.innerHTML="";this._renderer.populateHeaderNode(this.headerNode,this.translator,this._hiddenColumns,this._columnSizes);this._updateColumnSizes()}_updateColumnSizes(e=null){const t=this._visibleColumns.map((e=>({...e,element:i.DOMUtils.findElement(this.node,e.className)}))).filter((e=>e.element));let n=0;for(const i of t){let e=this._columnSizes[i.id];if(e===null){e=i.element.getBoundingClientRect().width}e=Math.max(e,i.minWidth);if(this._width){let n=0;for(const e of t){if(e.id===i.id){continue}n+=e.minWidth}e=Math.min(e,this._width-n)}this._columnSizes[i.id]=e;n+=e}if(this._width){const i=this._width-n;let s=e===null;const o=t.filter((t=>{if(s){return true}if(t.id===e){s=true}return false}));const r=o.map((e=>e.grow)).reduce(((e,t)=>e+t),0);for(const e of o){const t=i*e.grow/r;this._columnSizes[e.id]=this._columnSizes[e.id]+t}}const s=this.node.getElementsByClassName(Q);const o=t.map((e=>he.isResizable(e)));let r=0;for(const i of t){let e=this._columnSizes[i.id];if(he.isResizable(i)&&e){e-=this._handleWidth*s.length/o.length;if(r===0||r===o.length-1){e+=this._paddingWidth}r+=1}i.element.style.width=e===null?"":e+"px"}this._updateModifiedStyleAndSize();if(this.isVisible){const e=this._items;if(e.length!==0){this.updateNodes(this._sortedItems,this._items,true)}}if(this._state&&this._stateColumnsKey){void this._state.save(this._stateColumnsKey,{sizes:this._columnSizes})}}get _visibleColumns(){return ce.columns.filter((e=>{var t;return e.id==="name"||!((t=this._hiddenColumns)===null||t===void 0?void 0:t.has(e.id))}))}_setColumnSize(e,t){var n;const s=this._columnSizes[e];if(s&&t&&t>s){let s=0;let o=true;for(const r of this._visibleColumns){if(r.id===e){s+=t;o=false;continue}if(o){const e=i.DOMUtils.findElement(this.node,r.className);s+=(n=this._columnSizes[r.id])!==null&&n!==void 0?n:e.getBoundingClientRect().width}else{s+=r.minWidth}}if(this._width&&s>this._width){return}}this._columnSizes[e]=t;this._updateColumnSizes(e)}setNotebooksFirstSorting(e){let t=this._sortNotebooksFirst;this._sortNotebooksFirst=e;if(this._sortNotebooksFirst!==t){this.sort(this._sortState)}}setAllowSingleClickNavigation(e){this._allowSingleClick=e}setAllowDragDropUpload(e){this._allowDragDropUpload=e}isWithinCheckboxHitArea(e){let t=e.target;while(t){if(t.classList.contains(H)){return true}t=t.parentElement}return false}_evtClick(e){const t=e.target;const n=this.headerNode;const i=this._renderer;if(n.contains(t)){const t=i.getCheckboxNode(n);if(t&&this.isWithinCheckboxHitArea(e)){const e=t.dataset.indeterminate==="false"&&t.dataset.checked==="false";if(e){this._sortedItems.forEach((e=>this.selection[e.path]=true));this._selectionChanged.emit()}else{this.clearSelectedItems()}this.update()}else{const t=this.renderer.handleHeaderClick(n,e);if(t){this.sort(t)}}return}else{this._focusItem(this._focusIndex)}if(this._allowSingleClick){this.evtDblClick(e)}}_evtScroll(e){this.headerNode.scrollLeft=this.contentNode.scrollLeft}_evtMousedown(e){if(e.target===this._editNode){return}if(this._editNode.parentNode){if(this._editNode!==e.target){this._editNode.focus();this._editNode.blur();clearTimeout(this._selectTimer)}else{return}}let t=he.hitTestNodes(this._items,e);if(t===-1){if(e.button===0){const t=e.target;if(t instanceof HTMLElement&&t.classList.contains(Q)){const n=t.dataset.column;if(!n){throw Error("Column resize handle is missing data-column attribute")}const s=ce.columns.find((e=>e.id===n));if(!s){throw Error(`Column with identifier ${n} not found`)}const o=i.DOMUtils.findElement(this.node,s.className);t.classList.add(ie);const r=I.Drag.overrideCursor("col-resize");this._resizeData={pressX:e.clientX,column:n,initialSize:o.getBoundingClientRect().width,overrides:new k.DisposableDelegate((()=>{r.dispose();t.classList.remove(ie)}))};document.addEventListener("mouseup",this,true);document.addEventListener("mousemove",this,true);return}}return}this.handleFileSelect(e);if(e.button!==0){clearTimeout(this._selectTimer)}const n=le&&e.ctrlKey||e.button===2;if(n){return}if(e.button===0){this._dragData={pressX:e.clientX,pressY:e.clientY,index:t};document.addEventListener("mouseup",this,true);document.addEventListener("mousemove",this,true)}}_evtMouseup(e){if(this._softSelection){const t=e.metaKey||e.shiftKey||e.ctrlKey;if(!t&&e.button===0){this.clearSelectedItems();this.selection[this._softSelection]=true;this._selectionChanged.emit();this.update()}this._softSelection=""}if(e.button===0){this._focusItem(this._focusIndex)}if(this._resizeData){this._resizeData.overrides.dispose();this._resizeData=null;document.removeEventListener("mousemove",this,true);document.removeEventListener("mouseup",this,true);return}if(e.button!==0||!this._drag){document.removeEventListener("mousemove",this,true);document.removeEventListener("mouseup",this,true);return}e.preventDefault();e.stopPropagation()}_evtMousemove(e){e.preventDefault();e.stopPropagation();if(this._resizeData){const{initialSize:t,column:n,pressX:i}=this._resizeData;this._setColumnSize(n,t+e.clientX-i);return}if(this._drag||!this._dragData){return}const t=this._dragData;const n=Math.abs(e.clientX-t.pressX);const i=Math.abs(e.clientY-t.pressY);if(n<ae&&i<ae){return}this._startDrag(t.index,e.clientX,e.clientY)}handleOpen(e){this._onItemOpened.emit(e);if(e.type==="directory"){const t=this._manager.services.contents.localPath(e.path);this._model.cd(`/${t}`).catch((e=>(0,i.showErrorMessage)(this._trans._p("showErrorMessage","Open directory"),e)))}else{const t=e.path;this._handleOpenFile(t)}}_getNextFocusIndex(e,t){const n=e+t;if(n===-1||n===this._items.length){return e}else{return n}}_handleArrowY(e,t){if(e.altKey||e.metaKey){return}if(!this._items.length){return}if(!e.target.classList.contains(B)){return}e.stopPropagation();e.preventDefault();const n=this._focusIndex;let i=this._getNextFocusIndex(n,t);if(t>0&&n===0&&!e.ctrlKey&&Object.keys(this.selection).length===0){i=0}if(e.shiftKey){this._handleMultiSelect(i)}else if(!e.ctrlKey){this._selectItem(i,e.shiftKey,false)}this._focusItem(i);this.update()}async goUp(){const e=this.model;if(e.path===e.rootPath){return}try{await e.cd("..")}catch(t){console.warn(`Failed to go to parent directory of ${e.path}`,t)}}evtKeydown(e){if(this._inRename){return}switch(e.keyCode){case 13:{if(e.ctrlKey||e.shiftKey||e.altKey||e.metaKey){return}e.preventDefault();e.stopPropagation();for(const e of this.selectedItems()){this.handleOpen(e)}return}case 38:this._handleArrowY(e,-1);return;case 40:this._handleArrowY(e,1);return;case 32:{if(e.ctrlKey){if(e.metaKey||e.shiftKey||e.altKey){return}const t=this._items[this._focusIndex];if(!(t.contains(e.target)&&t.contains(document.activeElement))){return}e.stopPropagation();e.preventDefault();const{path:n}=this._sortedItems[this._focusIndex];if(this.selection[n]){delete this.selection[n]}else{this.selection[n]=true}this._selectionChanged.emit();this.update();return}break}}if(e.key!==undefined&&e.key.length===1&&!((e.key===" "||e.keyCode===32)&&e.target.type==="checkbox")){if(e.ctrlKey||e.shiftKey||e.altKey||e.metaKey){return}this._searchPrefix+=e.key;clearTimeout(this._searchPrefixTimer);this._searchPrefixTimer=window.setTimeout((()=>{this._searchPrefix=""}),oe);this.selectByPrefix();e.stopPropagation();e.preventDefault()}}evtDblClick(e){if(e.button!==0){return}if(e.ctrlKey||e.shiftKey||e.altKey||e.metaKey){return}if(this.isWithinCheckboxHitArea(e)){return}e.preventDefault();e.stopPropagation();clearTimeout(this._selectTimer);this._editNode.blur();const t=e.target;const n=S.ArrayExt.findFirstIndex(this._items,(e=>e.contains(t)));if(n===-1){return}const i=this._sortedItems[n];this.handleOpen(i)}evtNativeDrop(e){var t,n,i;e.preventDefault();if(!this._allowDragDropUpload){return}const s=(t=e.dataTransfer)===null||t===void 0?void 0:t.items;if(!s){const t=(n=e.dataTransfer)===null||n===void 0?void 0:n.files;if(!t||t.length===0){return}const i=[];for(const e of t){const t=this._model.upload(e);i.push(t)}Promise.all(i).then((()=>this._allUploaded.emit())).catch((e=>{console.error("Error while uploading files: ",e)}));return}const o=async(e,t)=>{if(he.isDirectoryEntry(e)){const n=await he.createDirectory(this._model.manager,t,e.name);const i=e.createReader();const s=await he.collectEntries(i);for(const e of s){await o(e,n)}}else if(he.isFileEntry(e)){const n=await he.readFile(e);await this._model.upload(n,t)}};const r=[];for(const a of s){const e=he.defensiveGetAsEntry(a);if(!e){continue}const t=o(e,(i=this._model.path)!==null&&i!==void 0?i:"/");r.push(t)}Promise.all(r).then((()=>this._allUploaded.emit())).catch((e=>{console.error("Error while uploading files: ",e)}))}get allUploaded(){return this._allUploaded}evtDragEnter(e){if(e.mimeData.hasData(K)){const t=he.hitTestNodes(this._items,e);if(t===-1){return}const n=this._sortedItems[t];if(n.type!=="directory"||this.selection[n.path]){return}const i=e.target;i.classList.add(G);e.preventDefault();e.stopPropagation()}}evtDragLeave(e){e.preventDefault();e.stopPropagation();const t=i.DOMUtils.findElement(this.node,G);if(t){t.classList.remove(G)}}evtDragOver(e){e.preventDefault();e.stopPropagation();e.dropAction=e.proposedAction;const t=i.DOMUtils.findElement(this.node,G);if(t){t.classList.remove(G)}const n=he.hitTestNodes(this._items,e);this._items[n].classList.add(G)}evtDrop(e){e.preventDefault();e.stopPropagation();clearTimeout(this._selectTimer);if(e.proposedAction==="none"){e.dropAction="none";return}if(!e.mimeData.hasData(K)){return}let t=e.target;while(t&&t.parentElement){if(t.classList.contains(G)){t.classList.remove(G);break}t=t.parentElement}const n=S.ArrayExt.firstIndexOf(this._items,t);const o=this._sortedItems;let r=this._model.path;if(o[n].type==="directory"){r=s.PathExt.join(r,o[n].name)}const a=this._manager;const l=[];const d=e.mimeData.getData(K);if(e.ctrlKey&&e.proposedAction==="move"){e.dropAction="copy"}else{e.dropAction=e.proposedAction}for(const i of d){const t=a.services.contents.localPath(i);const n=s.PathExt.basename(t);const o=s.PathExt.join(r,n);if(o===i){continue}if(e.dropAction==="copy"){l.push(a.copy(i,r))}else{l.push((0,u.renameFile)(a,i,o))}}Promise.all(l).catch((e=>{void(0,i.showErrorMessage)(this._trans._p("showErrorMessage","Error while copying/moving files"),e)}))}_startDrag(e,t,n){let i=Object.keys(this.selection);const s=this._items[e];const o=this._sortedItems;let r;let a;if(!s.classList.contains(Y)){a=o[e];i=[a.path];r=[a]}else{const e=i[0];a=o.find((t=>t.path===e));r=this.selectedItems()}if(!a){return}const l=this._manager.registry.getFileTypeForModel(a);const d=this.renderer.createDragImage(s,i.length,this._trans,l);this._drag=new I.Drag({dragImage:d,mimeData:new p.MimeData,supportedActions:"move",proposedAction:"move"});this._drag.mimeData.setData(K,i);const c=this.model.manager.services;for(const h of r){this._drag.mimeData.setData(J,{model:h,withContent:async()=>await c.contents.get(h.path)})}if(a&&a.type!=="directory"){const e=i.slice(1).reverse();this._drag.mimeData.setData(de,(()=>{if(!a){return}const t=a.path;let n=this._manager.findWidget(t);if(!n){n=this._manager.open(a.path)}if(e.length){const t=new p.PromiseDelegate;void t.promise.then((()=>{let t=n;e.forEach((e=>{const n={ref:t===null||t===void 0?void 0:t.id,mode:"tab-after"};t=this._manager.openOrReveal(e,void 0,void 0,n);this._manager.openOrReveal(a.path)}))}));t.resolve(void 0)}return n}))}document.removeEventListener("mousemove",this,true);document.removeEventListener("mouseup",this,true);clearTimeout(this._selectTimer);void this._drag.start(t,n).then((e=>{this._drag=null;clearTimeout(this._selectTimer)}))}handleFileSelect(e){const t=this._sortedItems;const n=he.hitTestNodes(this._items,e);clearTimeout(this._selectTimer);if(n===-1){return}this._softSelection="";const i=t[n].path;const s=Object.keys(this.selection);const o=e.button===0&&!(le&&e.ctrlKey)&&this.isWithinCheckboxHitArea(e);if(le&&e.metaKey||!le&&e.ctrlKey||o){if(this.selection[i]){delete this.selection[i]}else{this.selection[i]=true}this._selectionChanged.emit();this._focusItem(n)}else if(e.shiftKey){this._handleMultiSelect(n);this._focusItem(n)}else if(i in this.selection&&s.length>1){this._softSelection=i}else{return this._selectItem(n,false,true)}this.update()}_focusItem(e){const t=this._items;if(t.length===0){this._focusIndex=0;this.node.focus();return}this._focusIndex=e;const n=t[e];const i=this.renderer.getNameNode(n);if(i){i.tabIndex=0;i.focus()}}_allSelectedBetween(e,t){if(e===t){return}const[n,i]=e<t?[e+1,t]:[t+1,e];return this._sortedItems.slice(n,i).reduce(((e,t)=>e&&this.selection[t.path]),true)}_handleMultiSelect(e){const t=this._sortedItems;const n=this._focusIndex;const i=t[e];let s=true;if(e===n){if(!this.selection[i.path]){this.selection[i.path]=true;this._selectionChanged.emit()}return}if(this.selection[i.path]){if(Math.abs(e-n)===1){const i=t[n];const s=t[n+(e<n?1:-1)];if(this.selection[i.path]&&(!s||!this.selection[s.path])){delete this.selection[i.path];this._selectionChanged.emit()}}else if(this._allSelectedBetween(n,e)){s=false}}const o=n<e?1:-1;let r=false;for(let a=n;a!==e+o;a+=o){if(s){if(a===n){continue}if(!this.selection[t[a].path]){this.selection[t[a].path]=true;r=true}}else{if(a===e){continue}if(this.selection[t[a].path]){delete this.selection[t[a].path];r=true}}}if(r){this._selectionChanged.emit()}}_copy(){this._clipboard.length=0;for(const e of this.selectedItems()){this._clipboard.push(e.path)}}async _delete(e){await Promise.all(e.map((e=>this._model.manager.deleteFile(e).catch((e=>{void(0,i.showErrorMessage)(this._trans._p("showErrorMessage","Delete Failed"),e)})))))}async _doRename(){this._inRename=true;const e=Object.keys(this.selection);if(e.length===0){this._inRename=false;return Promise.resolve("")}const t=this._sortedItems;let{path:n}=t[this._focusIndex];if(!this.selection[n]){n=e.slice(-1)[0]}const o=S.ArrayExt.findFirstIndex(t,(e=>e.path===n));const r=this._items[o];const a=t[o];const l=this.renderer.getNameNode(r);const d=a.name;this._editNode.value=d;this._selectItem(o,false,true);const c=await he.userInputForRename(l,this._editNode,d);if(this.isDisposed){this._inRename=false;throw new Error("File browser is disposed.")}let h=c;if(!c||c===d){h=d}else if(!(0,u.isValidFileName)(c)){void(0,i.showErrorMessage)(this._trans.__("Rename Error"),Error(this._trans._p("showErrorMessage",'"%1" is not a valid name for a file. Names must have nonzero length, and cannot include "/", "\\", or ":"',c)));h=d}else{const e=this._manager;const t=s.PathExt.join(this._model.path,d);const n=s.PathExt.join(this._model.path,c);try{await(0,u.renameFile)(e,t,n)}catch(p){if(p!=="File not renamed"){void(0,i.showErrorMessage)(this._trans._p("showErrorMessage","Rename Error"),p)}h=d}if(this.isDisposed){this._inRename=false;throw new Error("File browser is disposed.")}}if(!this.isDisposed&&Object.keys(this.selection).length===1&&this.selection[a.path]){try{await this._selectItemByName(h,true,true)}catch(m){console.warn("After rename, failed to select file",h)}}this._inRename=false;return h}_selectItem(e,t,n=true){const i=this._sortedItems;if(!t){this.clearSelectedItems()}const s=i[e].path;this.selection[s]=true;this._selectionChanged.emit();if(n){this._focusItem(e)}this.update()}_onModelRefreshed(){const e=Object.keys(this.selection);this.clearSelectedItems(false);for(const t of this._model.items()){const n=t.path;if(e.indexOf(n)!==-1){this.selection[n]=true}}if(this.isVisible){this.sort(this.sortState)}else{this._isDirty=true}}_onPathChanged(){this.clearSelectedItems();this.sort(this.sortState);requestAnimationFrame((()=>{this._focusItem(0)}))}_onFileChanged(e,t){const n=t.newValue;if(!n){return}const i=n.name;if(t.type!=="new"||!i){return}void this.selectItemByName(i).catch((()=>{}))}_onActivateRequested(e,t){const n=s.PathExt.dirname(t);if(n!==this._model.path){return}const i=s.PathExt.basename(t);this.selectItemByName(i).catch((()=>{}))}}(function(e){e.columns=[{id:"is_selected",className:H,itemClassName:H,minWidth:18,resizable:false,sortable:false,grow:0},{id:"name",className:U,itemClassName:O,minWidth:60,resizable:true,sortable:true,caretSide:"right",grow:3},{id:"last_modified",className:q,itemClassName:z,minWidth:60,resizable:true,sortable:true,caretSide:"left",grow:1},{id:"file_size",className:$,itemClassName:W,minWidth:60,resizable:true,sortable:true,caretSide:"left",grow:.5}];class t{constructor(){this.itemFactories={name:()=>{const e=document.createElement("span");const t=document.createElement("span");const n=document.createElement("span");t.className=F;n.className=B;e.className=O;e.appendChild(t);e.appendChild(n);return e},last_modified:()=>{const e=document.createElement("span");e.className=z;return e},file_size:()=>{const e=document.createElement("span");e.className=W;return e},is_selected:()=>this.createCheckboxWrapperNode()};this._modifiedColumnLastUpdate=new WeakMap;this._lastRenderedState=new WeakMap}createNode(){const e=document.createElement("div");const t=document.createElement("div");const n=document.createElement("ul");n.setAttribute("data-lm-dragscroll","true");n.className=R;t.className=D;e.appendChild(t);e.appendChild(n);e.tabIndex=-1;return e}populateHeaderNode(t,n,s,o){n=n||r.nullTranslator;const a=n.load("jupyterlab");const l={name:()=>this.createHeaderItemNode(a.__("Name")),last_modified:()=>this._createHeaderItemNodeWithSizes({small:a.__("Modified"),large:a.__("Last Modified")}),file_size:()=>this._createHeaderItemNodeWithSizes({small:a.__("Size"),large:a.__("File Size")}),is_selected:()=>this.createCheckboxWrapperNode({alwaysVisible:true,headerNode:true})};const d=e.columns.filter((e=>e.id==="name"||!(s===null||s===void 0?void 0:s.has(e.id))));for(const e of d){const n=l[e.id];const i=n();i.classList.add(e.className);const s=e.id===d[d.length-1].id;if(o){const t=o[e.id];if(!s){i.style.width=t+"px"}}t.appendChild(i);if(he.isResizable(e)&&!s){const n=document.createElement("div");n.classList.add(Q);n.dataset.column=e.id;t.appendChild(n)}}const c=i.DOMUtils.findElement(t,U);c.classList.add(Y);he.updateCaret(i.DOMUtils.findElement(c,L),"right","up")}handleHeaderClick(t,n){const s={direction:"ascending",key:"name"};const o=n.target;const r=e.columns.filter(he.isSortable);for(const e of r){const n=t.querySelector(`.${e.className}`);if(!n){continue}if(n.contains(o)){s.key=e.id;const o=i.DOMUtils.findElement(n,L);if(n.classList.contains(Y)){if(!n.classList.contains(se)){s.direction="descending";n.classList.add(se);he.updateCaret(o,e.caretSide,"down")}else{n.classList.remove(se);he.updateCaret(o,e.caretSide,"up")}}else{n.classList.remove(se);he.updateCaret(o,e.caretSide,"up")}n.classList.add(Y);for(const n of r){if(n.id===e.id){continue}const s=t.querySelector(`.${n.className}`);if(!s){continue}s.classList.remove(Y);s.classList.remove(se);const o=i.DOMUtils.findElement(s,L);he.updateCaret(o,n.caretSide)}return s}}return s}createItemNode(t,n){const i=document.createElement("li");for(const s of e.columns){if(s.id!="name"&&(t===null||t===void 0?void 0:t.has(s.id))){continue}const e=this.itemFactories[s.id];const o=e();i.appendChild(o);if(n){const e=n[s.id];o.style.width=e+"px"}}return i}createCheckboxWrapperNode(e){const t=document.createElement("label");t.classList.add(H);const n=document.createElement("input");n.type="checkbox";if(!(e===null||e===void 0?void 0:e.headerNode)){n.addEventListener("click",(e=>{e.preventDefault()}))}if(e===null||e===void 0?void 0:e.alwaysVisible){t.classList.add("jp-mod-visible")}else{n.tabIndex=-1}t.appendChild(n);return t}updateItemModified(e,t,n){const i=this._modifiedColumnLastUpdate.get(e);if((i===null||i===void 0?void 0:i.date)===t&&(i===null||i===void 0?void 0:i.style)===n){return}const o=new Date(t);const r=s.Time.formatHuman(o,n);const a=s.Time.format(o);e.textContent=r;e.title=a;this._modifiedColumnLastUpdate.set(e,{date:t,style:n})}updateItemNode(e,t,n,o,l,d,c,h){if(d){e.classList.add(Y)}n=n||x.DocumentRegistry.getDefaultTextFileType(o);const{icon:u,iconClass:p,name:m}=n;o=o||r.nullTranslator;const g=o.load("jupyterlab");const f=this._lastRenderedState.get(e);const v=JSON.stringify({name:t.name,selected:d,lastModified:t.last_modified,modifiedStyle:c,hiddenColumns:l,columnsSizes:h,fileSize:t.size});const _=i.DOMUtils.findElement(e,H);const b=_===null||_===void 0?void 0:_.querySelector('input[type="checkbox"]');if(b)b.checked=d!==null&&d!==void 0?d:false;if(f===v)return;this._lastRenderedState.set(e,v);const y=i.DOMUtils.findElement(e,F);const w=i.DOMUtils.findElement(e,B);const C=i.DOMUtils.findElement(e,O);let j=i.DOMUtils.findElement(e,z);let k=i.DOMUtils.findElement(e,W);const I=!(l===null||l===void 0?void 0:l.has("is_selected"));if(_&&!I){e.removeChild(_)}else if(I&&!_){const e=this.createCheckboxWrapperNode();C.insertAdjacentElement("beforebegin",e)}const T=!(l===null||l===void 0?void 0:l.has("last_modified"));if(j&&!T){e.removeChild(j)}else if(T&&!j){j=this.itemFactories.last_modified();C.insertAdjacentElement("afterend",j)}const M=!(l===null||l===void 0?void 0:l.has("file_size"));if(k&&!M){e.removeChild(k)}else if(M&&!k){k=this.itemFactories.file_size();(j!==null&&j!==void 0?j:C).insertAdjacentElement("afterend",k)}requestAnimationFrame((()=>{a.LabIcon.resolveElement({icon:u,iconClass:(0,a.classes)(p,"jp-Icon"),container:y,className:F,stylesheet:"listing"})}));let D=g.__("Name: %1",t.name);if(t.size!==null&&t.size!==undefined){const e=ue(t.size,1,1024);if(k){k.textContent=e}D+=g.__("\nSize: %1",ue(t.size,1,1024))}else if(k){k.textContent=""}if(t.path){const e=s.PathExt.dirname(t.path);if(e){D+=g.__("\nPath: %1",e.substr(0,50));if(e.length>50){D+="..."}}}if(t.created){D+=g.__("\nCreated: %1",s.Time.format(new Date(t.created)))}if(t.last_modified){D+=g.__("\nModified: %1",s.Time.format(new Date(t.last_modified)))}D+=g.__("\nWritable: %1",t.writable);e.title=D;e.setAttribute("data-file-type",m);if(t.name.startsWith(".")){e.setAttribute("data-is-dot","true")}else{e.removeAttribute("data-is-dot")}const A=!t.indices?[]:t.indices;let P=S.StringExt.highlight(t.name,A,E.h.mark);if(w){E.VirtualDOM.render(E.h.span(P),w)}if(b){let e;if(n.contentType==="directory"){e=d?g.__('Deselect directory "%1"',P):g.__('Select directory "%1"',P)}else{e=d?g.__('Deselect file "%1"',P):g.__('Select file "%1"',P)}b.setAttribute("aria-label",e);b.checked=d!==null&&d!==void 0?d:false}this.updateItemSize(e,t,c,h)}updateItemSize(t,n,s,o){if(o){for(const n of e.columns){const e=i.DOMUtils.findElement(t,n.itemClassName);if(!e){continue}const s=o[n.id];const r=s===null?"":s+"px";if(r!==e.style.width){e.style.width=r}}}let r=i.DOMUtils.findElement(t,z);if(n.last_modified&&r){this.updateItemModified(r,n.last_modified,s!==null&&s!==void 0?s:"short")}}getNameNode(e){return i.DOMUtils.findElement(e,B)}getCheckboxNode(e){return e.querySelector(`.${H} input[type=checkbox]`)}createDragImage(t,n,s,o){const r=t.cloneNode(true);const a=i.DOMUtils.findElement(r,F);const l=e.columns.filter((e=>e.id!=="name"));for(const e of l){const t=i.DOMUtils.findElement(r,e.itemClassName);if(!t){continue}r.removeChild(t)}if(!o){a.textContent="";a.className=""}else{a.textContent=o.iconLabel||"";a.className=o.iconClass||""}a.classList.add(X);if(n>1){const e=i.DOMUtils.findElement(r,B);e.textContent=s._n("%1 Item","%1 Items",n)}return r}createHeaderItemNode(e){const t=document.createElement("div");const n=document.createElement("span");const i=document.createElement("span");t.className=A;n.className=P;i.className=L;n.textContent=e;t.appendChild(n);t.appendChild(i);return t}_createHeaderItemNodeWithSizes(e){const t=document.createElement("div");t.className=A;const n=document.createElement("span");n.className=L;for(let i of Object.keys(e)){const n=document.createElement("span");n.classList.add(P,P+"-"+i);n.textContent=e[i];t.appendChild(n)}t.appendChild(n);return t}}e.Renderer=t;e.defaultRenderer=new t})(ce||(ce={}));var he;(function(e){function t(e,t,n){const i=e.parentElement;i.replaceChild(t,e);t.focus();const s=t.value.lastIndexOf(".");if(s===-1){t.setSelectionRange(0,t.value.length)}else{t.setSelectionRange(0,s)}return new Promise((s=>{t.onblur=()=>{i.replaceChild(e,t);s(t.value)};t.onkeydown=i=>{switch(i.keyCode){case 13:i.stopPropagation();i.preventDefault();t.blur();break;case 27:i.stopPropagation();i.preventDefault();t.value=n;t.blur();e.focus();break;default:break}}}))}e.userInputForRename=t;function n(e,t,n=false,i){const s=Array.from(e);const o=t.direction==="descending"?1:-1;function r(e,t){if(n){return e.type!==t.type}return e.type==="directory"!==(t.type==="directory")}function a(e){if(e.type==="directory"){return 2}if(e.type==="notebook"&&n){return 1}return 0}function l(e,t){var n;const s=navigator.language.split("@")[0];const o=((n=i.languageCode)!==null&&n!==void 0?n:s).replace("_","-");try{return e.name.localeCompare(t.name,o,{numeric:true,sensitivity:"base"})}catch(r){console.warn(`localeCompare failed to compare ${e.name} and ${t.name} under languageCode: ${o}`);return e.name.localeCompare(t.name,s,{numeric:true,sensitivity:"base"})}}function d(e){return(t,n)=>{if(r(t,n)){return a(n)-a(t)}const i=e(t,n);if(i!==0){return i*o}return l(t,n)}}if(t.key==="last_modified"){s.sort(d(((e,t)=>new Date(e.last_modified).getTime()-new Date(t.last_modified).getTime())))}else if(t.key==="file_size"){s.sort(d(((e,t)=>{var n,i;return((n=t.size)!==null&&n!==void 0?n:0)-((i=e.size)!==null&&i!==void 0?i:0)})))}else{s.sort(d(((e,t)=>l(t,e))))}return s}e.sort=n;e.isResizable=e=>"resizable"in e&&e.resizable;e.isSortable=e=>"sortable"in e&&e.sortable;function i(e,t){return S.ArrayExt.findFirstIndex(e,(e=>j.ElementExt.hitTest(e,t.clientX,t.clientY)||t.target===e))}e.hitTestNodes=i;function o(e,t,n){if(n){(n==="down"?a.caretDownIcon:a.caretUpIcon).element({container:e,tag:"span",stylesheet:"listingHeaderItem"});if(t==="left"){e.style.order="-1"}else{e.style.order=""}}else{a.LabIcon.remove(e);e.className=L}}e.updateCaret=o;async function r(e,t,n){const i=await e.newUntitled({path:t,type:"directory"});const o=s.PathExt.join(t,i.name);const r=s.PathExt.join(t,n);try{await e.rename(o,r)}catch(a){await e.deleteFile(o)}return r}e.createDirectory=r;function l(e){return e.isDirectory}e.isDirectoryEntry=l;function d(e){return e.isFile}e.isFileEntry=d;function c(e){if(e.webkitGetAsEntry){return e.webkitGetAsEntry()}if("getAsEntry"in e){return e["getAsEntry"]()}return null}e.defensiveGetAsEntry=c;function h(e){return new Promise(((t,n)=>e.readEntries(t,n)))}function u(e){return new Promise(((t,n)=>e.file(t,n)))}e.readFile=u;async function p(e){const t=[];let n=false;while(!n){const i=await h(e);if(i.length===0){n=true}else{t.push(...i)}}return t}e.collectEntries=p})(he||(he={}));function ue(e,t,n){if(e===0){return"0 B"}const i=t||2;const s=["B","KB","MB","GB","TB","PB","EB","ZB","YB"];const o=Math.floor(Math.log(e)/Math.log(n));if(o>=0&&o<s.length){return parseFloat((e/Math.pow(n,o)).toFixed(i))+" "+s[o]}else{return String(e)}}const pe="jp-FileBrowser";const me="jp-FileBrowser-Panel";const ge="jp-FileBrowser-crumbs";const fe="jp-FileBrowser-toolbar";const ve="jp-FileBrowser-filterToolbar";const _e="jp-FileBrowser-listing";const be="jp-FileBrowser-filterBox";class ye extends a.SidePanel{constructor(e){var t;super({content:new d.Panel,translator:e.translator});this._directoryPending=null;this._filePending=null;this._fileFilterRef=(0,c.createRef)();this._allowSingleClick=false;this._showFileCheckboxes=false;this._showFileFilter=false;this._showFileSizeColumn=false;this._showHiddenFiles=false;this._showLastModifiedColumn=true;this._sortNotebooksFirst=false;this._allowFileUploads=true;this._selectionChanged=new l.Signal(this);this.addClass(pe);this.toolbar.addClass(fe);this.id=e.id;const n=this.translator=(t=e.translator)!==null&&t!==void 0?t:r.nullTranslator;const i=this.model=e.model;const s=e.renderer;i.connectionFailure.connect(this._onConnectionFailure,this);this._manager=i.manager;this.toolbar.node.setAttribute("aria-label",this._trans.__("file browser"));this.mainPanel=new d.Panel;this.mainPanel.addClass(me);this.mainPanel.title.label=this._trans.__("File Browser");this.crumbs=new w({model:i,translator:n});this.crumbs.addClass(ge);const o=(0,a.FilenameSearcher)({updateFilter:(e,t)=>{this.model.setFilter((t=>e(t.name.toLowerCase())))},useFuzzyFilter:this.model.useFuzzyFilter,placeholder:this._trans.__("Filter files by name"),forceRefresh:false,showIcon:false,inputRef:this._fileFilterRef,filterSettingsChanged:this.model.filterSettingsChanged});o.addClass(be);this.filterToolbar=new a.Toolbar;this.filterToolbar.addClass(ve);this.filterToolbar.node.setAttribute("aria-label",this._trans.__("File browser toolbar"));this.filterToolbar.addItem("fileNameSearcher",o);this.filterToolbar.setHidden(!this.showFileFilter);this.listing=this.createDirListing({model:i,renderer:s,translator:n,state:e.state,handleOpenFile:e.handleOpenFile});this.listing.addClass(_e);this.listing.selectionChanged.connect((()=>{this._selectionChanged.emit()}));this.mainPanel.addWidget(this.crumbs);this.mainPanel.addWidget(this.filterToolbar);this.mainPanel.addWidget(this.listing);this.addWidget(this.mainPanel);if(e.restore!==false){void i.restore(this.id)}void this.listing.restore(this.id)}get navigateToCurrentDirectory(){return this._navigateToCurrentDirectory}set navigateToCurrentDirectory(e){this._navigateToCurrentDirectory=e}get showLastModifiedColumn(){return this._showLastModifiedColumn}set showLastModifiedColumn(e){if(this.listing.setColumnVisibility){this.listing.setColumnVisibility("last_modified",e);this._showLastModifiedColumn=e}else{console.warn("Listing does not support toggling column visibility")}}get minimumBreadcrumbsLeftItems(){return this.crumbs.minimumLeftItems}set minimumBreadcrumbsLeftItems(e){this.crumbs.minimumLeftItems=e}get minimumBreadcrumbsRightItems(){return this.crumbs.minimumRightItems}set minimumBreadcrumbsRightItems(e){this.crumbs.minimumRightItems=e}get showFullPath(){return this.crumbs.fullPath}set showFullPath(e){this.crumbs.fullPath=e}get showFileSizeColumn(){return this._showFileSizeColumn}set showFileSizeColumn(e){if(this.listing.setColumnVisibility){this.listing.setColumnVisibility("file_size",e);this._showFileSizeColumn=e}else{console.warn("Listing does not support toggling column visibility")}}get showHiddenFiles(){return this._showHiddenFiles}set showHiddenFiles(e){this.model.showHiddenFiles(e);this._showHiddenFiles=e}get showFileCheckboxes(){return this._showFileCheckboxes}set showFileCheckboxes(e){if(this.listing.setColumnVisibility){this.listing.setColumnVisibility("is_selected",e);this._showFileCheckboxes=e}else{console.warn("Listing does not support toggling column visibility")}}get showFileFilter(){return this._showFileFilter}set showFileFilter(e){var t;const n=this.showFileFilter;if(n&&!e){if(this._fileFilterRef.current){this._fileFilterRef.current.value=""}this.model.setFilter((e=>({})));this.model.refresh().catch(console.warn)}this._showFileFilter=e;this.filterToolbar.setHidden(!this.showFileFilter);if(this.showFileFilter){(t=this._fileFilterRef.current)===null||t===void 0?void 0:t.focus()}}get sortNotebooksFirst(){return this._sortNotebooksFirst}set sortNotebooksFirst(e){if(this.listing.setNotebooksFirstSorting){this.listing.setNotebooksFirstSorting(e);this._sortNotebooksFirst=e}else{console.warn("Listing does not support sorting notebooks first")}}get singleClickNavigation(){return this._allowSingleClick}set singleClickNavigation(e){if(this.listing.setAllowSingleClickNavigation){this.listing.setAllowSingleClickNavigation(e);this._allowSingleClick=e}else{console.warn("Listing does not support single click navigation")}}get allowFileUploads(){return this._allowFileUploads}set allowFileUploads(e){this.model.allowFileUploads=e;if(this.listing.setAllowDragDropUpload){this.listing.setAllowDragDropUpload(e);this._allowFileUploads=e}else{console.warn("Listing does not support setting upload")}}selectedItems(){return this.listing.selectedItems()}get selectionChanged(){return this._selectionChanged}async selectItemByName(e){await this.listing.selectItemByName(e)}clearSelectedItems(){this.listing.clearSelectedItems()}rename(){return this.listing.rename()}cut(){this.listing.cut()}copy(){this.listing.copy()}paste(){return this.listing.paste()}async _createNew(e){if(e.path){const t=this._manager.services.contents.localPath(e.path);e.path=this._toDrivePath(this.model.driveName,t)}try{const t=await this._manager.newUntitled(e);await this.listing.selectItemByName(t.name,true);await this.rename();return t}catch(t){void(0,i.showErrorMessage)(this._trans.__("Error"),t);throw t}}async createNewDirectory(){if(this._directoryPending){return this._directoryPending}this._directoryPending=this._createNew({path:this.model.path,type:"directory"});try{return await this._directoryPending}finally{this._directoryPending=null}}async createNewFile(e){if(this._filePending){return this._filePending}this._filePending=this._createNew({path:this.model.path,type:"file",ext:e.ext});try{return await this._filePending}finally{this._filePending=null}}delete(){return this.listing.delete()}duplicate(){return this.listing.duplicate()}selectAll(){return this.listing.selectAll()}download(){return this.listing.download()}async goUp(){return this.listing.goUp()}shutdownKernels(){return this.listing.shutdownKernels()}selectNext(){this.listing.selectNext()}selectPrevious(){this.listing.selectPrevious()}modelForClick(e){return this.listing.modelForClick(e)}createDirListing(e){return new ce(e)}_onConnectionFailure(e,t){if(t instanceof o.ServerConnection.ResponseError&&t.response.status===404){const e=this._trans.__("Directory not found");t.message=this._trans.__('Directory not found: "%1"',this.model.path);void(0,i.showErrorMessage)(e,t)}}_toDrivePath(e,t){if(e===""){return t}else{return`${e}:${s.PathExt.removeSlash(t)}`}}}var we=n(26568);const Ce=1e4;const xe=15*1024*1024;const Se=1024*1024;class je{constructor(e){var t,n;this._connectionFailure=new l.Signal(this);this._fileChanged=new l.Signal(this);this._items=[];this._key="";this._pathChanged=new l.Signal(this);this._paths=new Set;this._pending=null;this._pendingPath=null;this._refreshed=new l.Signal(this);this._sessions=[];this._state=null;this._isDisposed=false;this._restored=new p.PromiseDelegate;this._uploads=[];this._uploadChanged=new l.Signal(this);this.manager=e.manager;this.translator=e.translator||r.nullTranslator;this._trans=this.translator.load("jupyterlab");this._driveName=e.driveName||"";this._allowFileUploads=(t=e.allowFileUploads)!==null&&t!==void 0?t:true;this._model={path:this.rootPath,name:s.PathExt.basename(this.rootPath),type:"directory",content:undefined,writable:false,created:"unknown",last_modified:"unknown",mimetype:"text/plain",format:"text"};this._state=e.state||null;const i=e.refreshInterval||Ce;const{services:o}=e.manager;o.contents.fileChanged.connect(this.onFileChanged,this);o.sessions.runningChanged.connect(this.onRunningChanged,this);this._unloadEventListener=e=>{if(this._uploads.length>0){const t=this._trans.__("Files still uploading");e.returnValue=t;return t}};window.addEventListener("beforeunload",this._unloadEventListener);this._poll=new we.Poll({auto:(n=e.auto)!==null&&n!==void 0?n:true,name:"@jupyterlab/filebrowser:Model",factory:()=>this.cd("."),frequency:{interval:i,backoff:true,max:300*1e3},standby:e.refreshStandby||"when-hidden"})}get connectionFailure(){return this._connectionFailure}get driveName(){return this._driveName}get restored(){return this._restored.promise}get fileChanged(){return this._fileChanged}get path(){return this._model?this._model.path:""}get rootPath(){return this._driveName?this._driveName+":":""}get pathChanged(){return this._pathChanged}get refreshed(){return this._refreshed}get specs(){return this.manager.services.kernelspecs.specs}get isDisposed(){return this._isDisposed}get uploadChanged(){return this._uploadChanged}uploads(){return this._uploads[Symbol.iterator]()}dispose(){if(this.isDisposed){return}window.removeEventListener("beforeunload",this._unloadEventListener);this._isDisposed=true;this._poll.dispose();this._sessions.length=0;this._items.length=0;l.Signal.clearData(this)}items(){return this._items[Symbol.iterator]()}sessions(){return this._sessions[Symbol.iterator]()}async refresh(){await this._poll.refresh();await this._poll.tick;this._refreshed.emit(void 0)}async cd(e="."){if(e!=="."){e=this.manager.services.contents.resolvePath(this._model.path,e)}else{e=this._pendingPath||this._model.path}if(this._pending){if(e===this._pendingPath){return this._pending}await this._pending}const t=this.path;const n={content:true};this._pendingPath=e;if(t!==e){this._sessions.length=0}const i=this.manager.services;this._pending=i.contents.get(e,n).then((n=>{if(this.isDisposed){return}this.handleContents(n);this._pendingPath=null;this._pending=null;if(t!==e){if(this._state&&this._key){void this._state.save(this._key,{path:e})}this._pathChanged.emit({name:"path",oldValue:t,newValue:e})}this.onRunningChanged(i.sessions,i.sessions.running());this._refreshed.emit(void 0)})).catch((t=>{this._pendingPath=null;this._pending=null;if(t.response&&t.response.status===404&&e!=="/"){t.message=this._trans.__('Directory not found: "%1"',this._model.path);console.error(t);this._connectionFailure.emit(t);return this.cd("/")}else{this._connectionFailure.emit(t)}}));return this._pending}async download(e){const t=await this.manager.services.contents.getDownloadUrl(e);const n=document.createElement("a");n.href=t;n.download="";document.body.appendChild(n);n.click();document.body.removeChild(n);return void 0}async restore(e,t=true){const{manager:n}=this;const i=`file-browser-${e}:cwd`;const s=this._state;const o=!!this._key;if(o){return}this._key=i;if(!t||!s){this._restored.resolve(undefined);return}await n.services.ready;try{const e=await s.fetch(i);if(!e){this._restored.resolve(undefined);return}const t=e["path"];if(t){await this.cd("/")}const o=n.services.contents.localPath(t);await n.services.contents.get(t);await this.cd(o)}catch(r){await s.remove(i)}this._restored.resolve(undefined)}get allowFileUploads(){return this._allowFileUploads}set allowFileUploads(e){this._allowFileUploads=e}async upload(e,t){if(!this._allowFileUploads){throw new Error(this._trans.__("File uploads are disabled"))}const n=s.PageConfig.getNotebookVersion();const i=n<[4,0,0]||n>=[5,1,0];const o=e.size>xe;if(o&&!i){const t=this._trans.__("Cannot upload file (>%1 MB). %2",xe/(1024*1024),e.name);console.warn(t);throw t}const r="File not uploaded";if(o&&!(await this._shouldUploadLarge(e))){throw"Cancelled large file upload"}await this._uploadCheckDisposed();await this.refresh();await this._uploadCheckDisposed();if(this._items.find((t=>t.name===e.name))&&!(await(0,u.shouldOverwrite)(e.name))){throw r}await this._uploadCheckDisposed();const a=i&&e.size>Se;return await this._upload(e,a,t)}async _shouldUploadLarge(e){const{button:t}=await(0,i.showDialog)({title:this._trans.__("Large file size warning"),body:this._trans.__("The file size is %1 MB. Do you still want to upload it?",Math.round(e.size/(1024*1024))),buttons:[i.Dialog.cancelButton({label:this._trans.__("Cancel")}),i.Dialog.warnButton({label:this._trans.__("Upload")})]});return t.accept}async _upload(e,t,n){let i=typeof n==="undefined"?this._model.path:n;i=i?i+"/"+e.name:e.name;const s=e.name;const o="file";const r="base64";const a=async(t,n)=>{await this._uploadCheckDisposed();const a=new FileReader;a.readAsDataURL(t);await new Promise(((t,n)=>{a.onload=t;a.onerror=t=>n(`Failed to upload "${e.name}":`+t)}));await this._uploadCheckDisposed();const l=a.result.split(",")[1];const d={type:o,format:r,name:s,chunk:n,content:l};return await this.manager.services.contents.save(i,d)};if(!t){try{return await a(e)}catch(c){S.ArrayExt.removeFirstWhere(this._uploads,(t=>e.name===t.path));throw c}}let l;let d={path:i,progress:0};this._uploadChanged.emit({name:"start",newValue:d,oldValue:null});for(let h=0;!l;h+=Se){const t=h+Se;const n=t>=e.size;const s=n?-1:t/Se;const o={path:i,progress:h/e.size};this._uploads.splice(this._uploads.indexOf(d));this._uploads.push(o);this._uploadChanged.emit({name:"update",newValue:o,oldValue:d});d=o;let r;try{r=await a(e.slice(h,t),s)}catch(c){S.ArrayExt.removeFirstWhere(this._uploads,(t=>e.name===t.path));this._uploadChanged.emit({name:"failure",newValue:d,oldValue:null});throw c}if(n){l=r}}this._uploads.splice(this._uploads.indexOf(d));this._uploadChanged.emit({name:"finish",newValue:null,oldValue:d});return l}_uploadCheckDisposed(){if(this.isDisposed){return Promise.reject("Filemanager disposed. File upload canceled")}return Promise.resolve()}handleContents(e){this._model={name:e.name,path:e.path,type:e.type,content:undefined,writable:e.writable,created:e.created,last_modified:e.last_modified,size:e.size,mimetype:e.mimetype,format:e.format};this._items=e.content;this._paths.clear();e.content.forEach((e=>{this._paths.add(e.path)}))}onRunningChanged(e,t){this._populateSessions(t);this._refreshed.emit(void 0)}onFileChanged(e,t){const n=this._model.path;const{sessions:i}=this.manager.services;const{oldValue:o,newValue:r}=t;const a=this.driveName.length>0?this.driveName+":":"";const l=o&&o.path&&a+s.PathExt.dirname(o.path)===n?o:r&&r.path&&a+s.PathExt.dirname(r.path)===n?r:undefined;if(l){void this._poll.refresh();this._populateSessions(i.running());this._fileChanged.emit(t);return}}_populateSessions(e){this._sessions.length=0;for(const t of e){if(this._paths.has(t.path)){this._sessions.push(t)}}}}class ke extends je{constructor(e){super(e);this._includeHiddenFiles=e.includeHiddenFiles||false}items(){return this._includeHiddenFiles?super.items():(0,S.filter)(super.items(),(e=>!e.name.startsWith(".")))}showHiddenFiles(e){this._includeHiddenFiles=e;void this.refresh()}}class Ie extends ke{constructor(e){var t,n,i;super(e);this._filterSettingsChanged=new l.Signal(this);this._filter=(t=e.filter)!==null&&t!==void 0?t:e=>({});this._filterDirectories=(n=e.filterDirectories)!==null&&n!==void 0?n:true;this._useFuzzyFilter=(i=e.useFuzzyFilter)!==null&&i!==void 0?i:true}get filterDirectories(){return this._filterDirectories}set filterDirectories(e){this._filterDirectories=e}get useFuzzyFilter(){return this._useFuzzyFilter}set useFuzzyFilter(e){if(this._useFuzzyFilter===e){return}this._useFuzzyFilter=e;this._filterSettingsChanged.emit({useFuzzyFilter:e})}get filterSettingsChanged(){return this._filterSettingsChanged}items(){return(0,S.filter)(super.items(),(e=>{if(!this._filterDirectories&&e.type==="directory"){return true}else{const t=this._filter(e);e.indices=t===null||t===void 0?void 0:t.indices;return!!t}}))}setFilter(e){this._filter=e;void this.refresh()}}const Te="jp-Open-Dialog";const Ee="jp-Open-Dialog-label";var Me;(function(e){async function t(e){const t=new De(e);return t.launch()}e.getOpenFiles=t;function n(e){return t({...e,filter:e=>e.type==="directory"?{}:null})}e.getExistingDirectory=n})(Me||(Me={}));class De extends i.Dialog{constructor(e){const t=e.translator||r.nullTranslator;const n=t.load("jupyterlab");const s=()=>{this.resolve()};const o=new Ae(e.manager,e.filter,t,e.defaultPath,e.label,true,s);super({title:e.title,buttons:[i.Dialog.cancelButton(),i.Dialog.okButton({label:n.__("Select")})],focusNodeSelector:e.focusNodeSelector,host:e.host,renderer:e.renderer,body:o})}}class Ae extends d.Widget{constructor(e,t,n,s,o,l,c){super();this._ready=new p.PromiseDelegate;n=n!==null&&n!==void 0?n:r.nullTranslator;const h=n.load("jupyterlab");this.addClass(Te);Pe.createFilteredFileBrowser("filtered-file-browser-dialog",e,t,{},n,s,l,c).then((e=>{this._browser=e;(0,i.setToolbar)(this._browser,(e=>[{name:"new-folder",widget:new i.ToolbarButton({icon:a.newFolderIcon,onClick:()=>{void e.createNewDirectory()},tooltip:h.__("New Folder")})},{name:"refresher",widget:new i.ToolbarButton({icon:a.refreshIcon,onClick:()=>{e.model.refresh().catch((e=>{console.error("Failed to refresh file browser in open dialog.",e)}))},tooltip:h.__("Refresh File List")})}]));const t=new d.PanelLayout;if(o){const e=new d.Widget;e.addClass(Ee);e.node.textContent=o;t.addWidget(e)}t.addWidget(this._browser);this.dispose=()=>{if(this.isDisposed){return}this._browser.model.dispose();super.dispose()};this.layout=t;this._ready.resolve()})).catch((e=>{console.error("Error while creating file browser in open dialog",e);this._ready.reject(void 0)}))}getValue(){const e=Array.from(this._browser.selectedItems());if(e.length===0){return[{path:this._browser.model.path,name:s.PathExt.basename(this._browser.model.path),type:"directory",content:undefined,writable:false,created:"unknown",last_modified:"unknown",mimetype:"text/plain",format:"text"}]}else{return e}}get ready(){return this._ready.promise}}var Pe;(function(e){e.createFilteredFileBrowser=async(e,t,n,i={},s,o,a,l)=>{s=s||r.nullTranslator;const d=new Ie({manager:t,filter:n,translator:s,driveName:i.driveName,refreshInterval:i.refreshInterval,filterDirectories:a});const c=new ye({id:e,model:d,translator:s,handleOpenFile:l});if(o){await c.model.cd(o)}return c}})(Pe||(Pe={}));const Le=new p.Token("@jupyterlab/filebrowser:IFileBrowserFactory",`A factory object that creates file browsers.\n Use this if you want to create your own file browser (e.g., for a custom storage backend),\n or to interact with other file browsers that have been created by extensions.`);const Re=new p.Token("@jupyterlab/filebrowser:IDefaultFileBrowser","A service for the default file browser.");const Ne=new p.Token("@jupyterlab/filebrowser:IFileBrowserCommands","A token to ensure file browser commands are loaded.");class Be extends a.ToolbarButton{constructor(e){super({icon:a.fileUploadIcon,label:e.label,onClick:()=>{this._input.click()},tooltip:Oe.translateToolTip(e.translator),enabled:e.model.allowFileUploads});this._onInputChanged=()=>{const e=Array.prototype.slice.call(this._input.files);const t=e.map((e=>this.fileBrowserModel.upload(e)));void Promise.all(t).then((e=>{this._filesUploaded.emit(e)})).catch((e=>{void(0,i.showErrorMessage)(this._trans._p("showErrorMessage","Upload Error"),e)}))};this._onInputClicked=()=>{this._input.value=""};this._input=Oe.createUploadInput();this._filesUploaded=new l.Signal(this);this.fileBrowserModel=e.model;this.translator=e.translator||r.nullTranslator;this._trans=this.translator.load("jupyterlab");this._input.onclick=this._onInputClicked;this._input.onchange=this._onInputChanged;this.addClass("jp-id-upload")}get filesUploaded(){return this._filesUploaded}}var Oe;(function(e){function t(){const e=document.createElement("input");e.type="file";e.multiple=true;return e}e.createUploadInput=t;function n(e){e=e||r.nullTranslator;const t=e.load("jupyterlab");return t.__("Upload Files")}e.translateToolTip=n})(Oe||(Oe={}));var Fe=n(4625);const ze=4;function We(e){const t=e.translator||r.nullTranslator;const n=t.load("jupyterlab");return h().createElement(Fe.GroupItem,{spacing:ze},h().createElement(Fe.TextItem,{source:n.__("Uploading…")}),h().createElement(Fe.ProgressBar,{percentage:e.upload}))}const He=2e3;class Ve extends a.VDomRenderer{constructor(e){super(new Ve.Model(e.tracker.currentWidget&&e.tracker.currentWidget.model));this._onBrowserChange=(e,t)=>{if(t===null){this.model.browserModel=null}else{this.model.browserModel=t.model}};this.translator=e.translator||r.nullTranslator;this._trans=this.translator.load("jupyterlab");this._tracker=e.tracker;this._tracker.currentChanged.connect(this._onBrowserChange)}render(){const e=this.model.items;if(e.length>0){const e=this.model.items[0];if(e.complete){return h().createElement(Fe.TextItem,{source:this._trans.__("Complete!")})}else{return h().createElement(We,{upload:this.model.items[0].progress,translator:this.translator})}}else{return h().createElement(We,{upload:100,translator:this.translator})}}dispose(){super.dispose();this._tracker.currentChanged.disconnect(this._onBrowserChange)}}(function(e){class t extends a.VDomModel{constructor(e){super();this._uploadChanged=(e,t)=>{if(t.name==="start"){this._items.push({path:t.newValue.path,progress:t.newValue.progress*100,complete:false})}else if(t.name==="update"){const e=S.ArrayExt.findFirstIndex(this._items,(e=>e.path===t.oldValue.path));if(e!==-1){this._items[e].progress=t.newValue.progress*100}}else if(t.name==="finish"){const e=S.ArrayExt.findFirstValue(this._items,(e=>e.path===t.oldValue.path));if(e){e.complete=true;setTimeout((()=>{S.ArrayExt.removeFirstOf(this._items,e);this.stateChanged.emit(void 0)}),He)}}else if(t.name==="failure"){S.ArrayExt.removeFirstWhere(this._items,(e=>e.path===t.newValue.path))}else return;this.stateChanged.emit(void 0)};this._items=[];this._browserModel=null;this.browserModel=e}get items(){return this._items}get browserModel(){return this._browserModel}set browserModel(e){const t=this._browserModel;if(t){t.uploadChanged.disconnect(this._uploadChanged)}this._browserModel=e;this._items=[];if(this._browserModel!==null){this._browserModel.uploadChanged.connect(this._uploadChanged)}this.stateChanged.emit(void 0)}}e.Model=t})(Ve||(Ve={}))},39063:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(38457);var a=n(79010);var l=n(41603);var d=n(85072);var c=n.n(d);var h=n(97825);var u=n.n(h);var p=n(77659);var m=n.n(p);var g=n(55056);var f=n.n(g);var v=n(10540);var _=n.n(v);var b=n(41113);var y=n.n(b);var w=n(96562);var C={};C.styleTagTransform=y();C.setAttributes=f();C.insert=m().bind(null,"head");C.domAPI=u();C.insertStyleElement=_();var x=c()(w.A,C);const S=w.A&&w.A.locals?w.A.locals:undefined},57256:(e,t,n)=>{"use strict";n.r(t);n.d(t,{Commands:()=>D,default:()=>W,tabSpaceStatus:()=>R});var i=n(88617);var s=n(38850);var o=n(44389);var r=n(45713);var a=n(25481);var l=n(59733);var d=n(93067);var c=n(41043);var h=n(44577);var u=n(50655);var p=n(46417);var m=n(71681);var g=n(89433);var f=n(95513);var v=n(40065);var _=n(4625);var b=n(72011);var y=n(34881);var w=n(4073);var C=n(34236);var x=n(58285);var S=n(43370);var j=n(40959);var k=n(90044);const I="notebook:toggle-autoclosing-brackets";const T="console:toggle-autoclosing-brackets";var E;(function(e){e.createNew="fileeditor:create-new";e.createNewMarkdown="fileeditor:create-new-markdown-file";e.changeFontSize="fileeditor:change-font-size";e.lineNumbers="fileeditor:toggle-line-numbers";e.currentLineNumbers="fileeditor:toggle-current-line-numbers";e.lineWrap="fileeditor:toggle-line-wrap";e.currentLineWrap="fileeditor:toggle-current-line-wrap";e.changeTabs="fileeditor:change-tabs";e.matchBrackets="fileeditor:toggle-match-brackets";e.currentMatchBrackets="fileeditor:toggle-current-match-brackets";e.autoClosingBrackets="fileeditor:toggle-autoclosing-brackets";e.autoClosingBracketsUniversal="fileeditor:toggle-autoclosing-brackets-universal";e.createConsole="fileeditor:create-console";e.replaceSelection="fileeditor:replace-selection";e.restartConsole="fileeditor:restart-console";e.runCode="fileeditor:run-code";e.runAllCode="fileeditor:run-all";e.markdownPreview="fileeditor:markdown-preview";e.undo="fileeditor:undo";e.redo="fileeditor:redo";e.cut="fileeditor:cut";e.copy="fileeditor:copy";e.paste="fileeditor:paste";e.selectAll="fileeditor:select-all";e.invokeCompleter="completer:invoke-file";e.selectCompleter="completer:select-file";e.openCodeViewer="code-viewer:open";e.changeTheme="fileeditor:change-theme";e.changeLanguage="fileeditor:change-language";e.find="fileeditor:find";e.goToLine="fileeditor:go-to-line"})(E||(E={}));const M="Editor";var D;(function(e){let t={};let n=true;function i(e,t){return async function n(i,s){var o,r,a;const l=s||{};const d=await e.execute("console:create",{activate:l["activate"],name:(o=i.context.contentsModel)===null||o===void 0?void 0:o.name,path:i.context.path,preferredLanguage:i.context.model.defaultKernelLanguage||((a=(r=t.findByFileName(i.context.path))===null||r===void 0?void 0:r.name)!==null&&a!==void 0?a:""),ref:i.id,insertMode:"split-bottom"});i.context.pathChanged.connect(((e,t)=>{var n;d.session.setPath(t);d.session.setName((n=i.context.contentsModel)===null||n===void 0?void 0:n.name)}))}}function r(e,i){var s;t=(s=e.get("editorConfig").composite)!==null&&s!==void 0?s:{};n=e.get("scrollPastEnd").composite;i.notifyCommandChanged(E.lineNumbers);i.notifyCommandChanged(E.currentLineNumbers);i.notifyCommandChanged(E.lineWrap);i.notifyCommandChanged(E.currentLineWrap);i.notifyCommandChanged(E.changeTabs);i.notifyCommandChanged(E.matchBrackets);i.notifyCommandChanged(E.currentMatchBrackets);i.notifyCommandChanged(E.autoClosingBrackets);i.notifyCommandChanged(E.changeLanguage)}e.updateSettings=r;function a(e){e.forEach((e=>{l(e.content)}))}e.updateTracker=a;function l(e){const i=e.editor;i.setOptions({...t,scrollPastEnd:n});e.toggleClass("jp-mod-scrollPastEnd",n)}e.updateWidget=l;function d(e,n,r,a,l,d,c,m,g,f,v,_){var b;e.addCommand(E.changeFontSize,{execute:e=>{var i;const s=Number(e["delta"]);if(Number.isNaN(s)){console.error(`${E.changeFontSize}: delta arg must be a number`);return}const o=window.getComputedStyle(document.documentElement);const r=parseInt(o.getPropertyValue("--jp-code-font-size"),10);if(!t.customStyles){t.customStyles={}}const l=((i=t["customStyles"]["fontSize"])!==null&&i!==void 0?i:m.baseConfiguration["customStyles"]["fontSize"])||r;t.customStyles.fontSize=l+s;return n.set(a,"editorConfig",t).catch((e=>{console.error(`Failed to set ${a}: ${e.message}`)}))},label:e=>{var t;const n=Number((t=e.delta)!==null&&t!==void 0?t:0);if(n>0){return e.isMenu?r.__("Increase Text Editor Font Size"):r.__("Increase Font Size")}else if(n<0){return e.isMenu?r.__("Decrease Text Editor Font Size"):r.__("Decrease Font Size")}else{return r.__("Change Font Size")}},describedBy:{args:{type:"object",properties:{delta:{type:"number",description:r.__("The font size change delta (positive to increase, negative to decrease)")},isMenu:{type:"boolean",description:r.__("Whether the command is called from a menu context")}},required:["delta"]}}});e.addCommand(E.lineNumbers,{execute:async()=>{var e;t.lineNumbers=!((e=t.lineNumbers)!==null&&e!==void 0?e:m.baseConfiguration.lineNumbers);try{return await n.set(a,"editorConfig",t)}catch(i){console.error(`Failed to set ${a}: ${i.message}`)}},isEnabled:l,isToggled:()=>{var e;return(e=t.lineNumbers)!==null&&e!==void 0?e:m.baseConfiguration.lineNumbers},label:r.__("Show Line Numbers"),describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.currentLineNumbers,{label:r.__("Show Line Numbers"),caption:r.__("Show the line numbers for the current file."),execute:()=>{const e=d.currentWidget;if(!e){return}const t=!e.content.editor.getOption("lineNumbers");e.content.editor.setOption("lineNumbers",t)},isEnabled:l,isToggled:()=>{var e;const t=d.currentWidget;return(e=t===null||t===void 0?void 0:t.content.editor.getOption("lineNumbers"))!==null&&e!==void 0?e:false},describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.lineWrap,{execute:async e=>{var i;t.lineWrap=(i=e["mode"])!==null&&i!==void 0?i:false;try{return await n.set(a,"editorConfig",t)}catch(s){console.error(`Failed to set ${a}: ${s.message}`)}},isEnabled:l,isToggled:e=>{var n,i;const s=(n=e["mode"])!==null&&n!==void 0?n:false;return s===((i=t.lineWrap)!==null&&i!==void 0?i:m.baseConfiguration.lineWrap)},label:r.__("Word Wrap"),describedBy:{args:{type:"object",properties:{mode:{type:"boolean",description:r.__("Whether to enable word wrap")}}}}});e.addCommand(E.currentLineWrap,{label:r.__("Wrap Words"),caption:r.__("Wrap words for the current file."),execute:()=>{const e=d.currentWidget;if(!e){return}const t=e.content.editor.getOption("lineWrap");e.content.editor.setOption("lineWrap",!t)},isEnabled:l,isToggled:()=>{var e;const t=d.currentWidget;return(e=t===null||t===void 0?void 0:t.content.editor.getOption("lineWrap"))!==null&&e!==void 0?e:false},describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.changeTabs,{label:e=>{var t;if(e.size){return r._p("v4","Spaces: %1",(t=e.size)!==null&&t!==void 0?t:"")}else{return r.__("Indent with Tab")}},execute:async e=>{var i;t.indentUnit=e["size"]!==undefined?((i=e["size"])!==null&&i!==void 0?i:"4").toString():"Tab";try{return await n.set(a,"editorConfig",t)}catch(s){console.error(`Failed to set ${a}: ${s.message}`)}},isToggled:e=>{var n;const i=(n=t.indentUnit)!==null&&n!==void 0?n:m.baseConfiguration.indentUnit;return e["size"]?e["size"]===i:"Tab"==i},describedBy:{args:{type:"object",properties:{size:{type:"string",description:r.__("The number of spaces for indentation (or Tab for tab indentation)")}}}}});e.addCommand(E.matchBrackets,{execute:async()=>{var e;t.matchBrackets=!((e=t.matchBrackets)!==null&&e!==void 0?e:m.baseConfiguration.matchBrackets);try{return await n.set(a,"editorConfig",t)}catch(i){console.error(`Failed to set ${a}: ${i.message}`)}},label:r.__("Match Brackets"),isEnabled:l,isToggled:()=>{var e;return(e=t.matchBrackets)!==null&&e!==void 0?e:m.baseConfiguration.matchBrackets},describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.currentMatchBrackets,{label:r.__("Match Brackets"),caption:r.__("Change match brackets for the current file."),execute:()=>{const e=d.currentWidget;if(!e){return}const t=!e.content.editor.getOption("matchBrackets");e.content.editor.setOption("matchBrackets",t)},isEnabled:l,isToggled:()=>{var e;const t=d.currentWidget;return(e=t===null||t===void 0?void 0:t.content.editor.getOption("matchBrackets"))!==null&&e!==void 0?e:false},describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.autoClosingBrackets,{execute:async e=>{var i,s;t.autoClosingBrackets=!!((i=e["force"])!==null&&i!==void 0?i:!((s=t.autoClosingBrackets)!==null&&s!==void 0?s:m.baseConfiguration.autoClosingBrackets));try{return await n.set(a,"editorConfig",t)}catch(o){console.error(`Failed to set ${a}: ${o.message}`)}},label:r.__("Auto Close Brackets in Text Editor"),isToggled:()=>{var e;return(e=t.autoClosingBrackets)!==null&&e!==void 0?e:m.baseConfiguration.autoClosingBrackets},describedBy:{args:{type:"object",properties:{force:{type:"boolean",description:r.__("Force enable/disable auto closing brackets")}}}}});e.addCommand(E.autoClosingBracketsUniversal,{execute:()=>{const t=e.isToggled(E.autoClosingBrackets)||e.isToggled(I)||e.isToggled(T);if(t){void e.execute(E.autoClosingBrackets,{force:false});void e.execute(I,{force:false});void e.execute(T,{force:false})}else{void e.execute(E.autoClosingBrackets,{force:true});void e.execute(I,{force:true});void e.execute(T,{force:true})}},label:r.__("Auto Close Brackets"),isToggled:()=>e.isToggled(E.autoClosingBrackets)||e.isToggled(I)||e.isToggled(T),describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.changeTheme,{label:e=>{var n,i,s,o;return(o=(s=(i=(n=e.displayName)!==null&&n!==void 0?n:e.theme)!==null&&i!==void 0?i:t.theme)!==null&&s!==void 0?s:m.baseConfiguration.theme)!==null&&o!==void 0?o:r.__("Editor Theme")},execute:async e=>{var i;t.theme=(i=e["theme"])!==null&&i!==void 0?i:t.theme;try{return await n.set(a,"editorConfig",t)}catch(s){console.error(`Failed to set theme - ${s.message}`)}},isToggled:e=>{var n;return e["theme"]===((n=t.theme)!==null&&n!==void 0?n:m.baseConfiguration.theme)},describedBy:{args:{type:"object",properties:{theme:{type:"string",description:r.__("The theme name to change to")},displayName:{type:"string",description:r.__("The display name of the theme")}}}}});e.addCommand(E.find,{label:r.__("Find…"),execute:()=>{const e=d.currentWidget;if(!e){return}const t=e.content.editor;t.execCommand(S.findNext)},isEnabled:l,describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.goToLine,{label:r.__("Go to Line…"),execute:e=>{const t=d.currentWidget;if(!t){return}const n=t.content.editor;const i=e["line"];const s=e["column"];if(i!==undefined||s!==undefined){n.setCursorPosition({line:(i!==null&&i!==void 0?i:1)-1,column:(s!==null&&s!==void 0?s:1)-1})}else{n.execCommand(S.gotoLine)}},isEnabled:l,describedBy:{args:{type:"object",properties:{line:{type:"number",description:r.__("The line number to go to (1-indexed)")},column:{type:"number",description:r.__("The column number to go to (1-indexed)")}}}}});e.addCommand(E.changeLanguage,{label:e=>{var t,n;return(n=(t=e["displayName"])!==null&&t!==void 0?t:e["name"])!==null&&n!==void 0?n:r.__("Change editor language.")},execute:e=>{var t;const n=e["name"];const i=d.currentWidget;if(n&&i){const e=g.findByName(n);if(e){if(Array.isArray(e.mime)){i.content.model.mimeType=(t=e.mime[0])!==null&&t!==void 0?t:o.IEditorMimeTypeService.defaultMimeType}else{i.content.model.mimeType=e.mime}}}},isEnabled:l,isToggled:e=>{const t=d.currentWidget;if(!t){return false}const n=t.content.model.mimeType;const i=g.findByMIME(n);const s=i&&i.name;return e["name"]===s},describedBy:{args:{type:"object",properties:{name:{type:"string",description:r.__("The language name to change to")},displayName:{type:"string",description:r.__("The display name of the language")}}}}});e.addCommand(E.replaceSelection,{execute:e=>{var t,n;const i=e["text"]||"";const s=d.currentWidget;if(!s){return}(n=(t=s.content.editor).replaceSelection)===null||n===void 0?void 0:n.call(t,i)},isEnabled:l,label:r.__("Replace Selection in Editor"),describedBy:{args:{type:"object",properties:{text:{type:"string",description:r.__("The text to replace the current selection with")}}}}});e.addCommand(E.createConsole,{execute:t=>{const n=d.currentWidget;if(!n){return}return i(e,g)(n,t)},isEnabled:l,icon:w.consoleIcon,label:r.__("Create Console for Editor"),describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.restartConsole,{execute:async()=>{var e;const t=(e=d.currentWidget)===null||e===void 0?void 0:e.content;if(!t||f===null){return}const n=f.find((e=>{var n;return((n=e.sessionContext.session)===null||n===void 0?void 0:n.path)===t.context.path}));if(n){return v.restart(n.sessionContext)}},label:r.__("Restart Kernel"),isEnabled:()=>f!==null&&l(),describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.runCode,{execute:()=>{var t,n;const i=(t=d.currentWidget)===null||t===void 0?void 0:t.content;if(!i){return}let s="";const o=i.editor;const r=i.context.path;const a=j.PathExt.extname(r);const l=o.getSelection();const{start:c,end:h}=l;let u=c.column!==h.column||c.line!==h.line;if(u){const e=o.getOffsetAt(l.start);const t=o.getOffsetAt(l.end);s=o.model.sharedModel.getSource().substring(e,t)}else if(j.MarkdownCodeBlocks.isMarkdown(a)){const e=o.model.sharedModel.getSource();const t=j.MarkdownCodeBlocks.findMarkdownCodeBlocks(e);for(const n of t){if(n.startLine<=c.line&&c.line<=n.endLine){s=n.code;u=true;break}}}if(!u){s=o.getLine(l.start.line);const e=o.getCursorPosition();const t=o.getLine(e.line+1);if(e.line+1===o.lineCount){const e=o.model.sharedModel.getSource();o.model.sharedModel.setSource(e+"\n")}o.setCursorPosition({line:e.line+1,column:(n=t===null||t===void 0?void 0:t.length)!==null&&n!==void 0?n:0})}const p=false;if(s){return e.execute("console:inject",{activate:p,code:s,path:r})}else{return Promise.resolve(void 0)}},isEnabled:l,label:r.__("Run Selected Code"),describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.runAllCode,{execute:()=>{var t;const n=(t=d.currentWidget)===null||t===void 0?void 0:t.content;if(!n){return}let i="";const s=n.editor;const o=s.model.sharedModel.getSource();const r=n.context.path;const a=j.PathExt.extname(r);if(j.MarkdownCodeBlocks.isMarkdown(a)){const e=j.MarkdownCodeBlocks.findMarkdownCodeBlocks(o);for(const t of e){i+=t.code}}else{i=o}const l=false;if(i){return e.execute("console:inject",{activate:l,code:i,path:r})}else{return Promise.resolve(void 0)}},isEnabled:l,label:r.__("Run All Code"),describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.markdownPreview,{execute:()=>{const t=d.currentWidget;if(!t){return}const n=t.context.path;return e.execute("markdownviewer:open",{path:n,options:{mode:"split-right"}})},isVisible:()=>{const e=d.currentWidget;return e&&j.PathExt.extname(e.context.path)===".md"||false},icon:w.markdownIcon,label:r.__("Show Markdown Preview"),describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.createNew,{label:e=>{var t,n;if(e.isPalette){return(t=e.paletteLabel)!==null&&t!==void 0?t:r.__("New Text File")}return(n=e.launcherLabel)!==null&&n!==void 0?n:r.__("Text File")},caption:e=>{var t;return(t=e.caption)!==null&&t!==void 0?t:r.__("Create a new text file")},icon:e=>{var t;return e.isPalette?undefined:w.LabIcon.resolve({icon:(t=e.iconName)!==null&&t!==void 0?t:w.textEditorIcon})},execute:t=>{var n,i;const s=t.cwd||((n=c===null||c===void 0?void 0:c.model.path)!==null&&n!==void 0?n:".");return p(e,s,(i=t.fileExt)!==null&&i!==void 0?i:"txt")},describedBy:{args:{type:"object",properties:{cwd:{type:"string",description:r.__("The current working directory path")},fileExt:{type:"string",description:r.__("The file extension for the new file")},isPalette:{type:"boolean",description:"Whether the command is being called from the command palette"},paletteLabel:{type:"string",description:r.__("The label to show in the command palette")},launcherLabel:{type:"string",description:r.__("The label to show in the launcher")},caption:{type:"string",description:r.__("The caption for the command")},iconName:{type:"string",description:r.__("The name of the icon to use")}}}}});e.addCommand(E.createNewMarkdown,{label:e=>e["isPalette"]?r.__("New Markdown File"):r.__("Markdown File"),caption:r.__("Create a new markdown file"),icon:e=>e["isPalette"]?undefined:w.markdownIcon,execute:t=>{var n;const i=t["cwd"]||((n=c===null||c===void 0?void 0:c.model.path)!==null&&n!==void 0?n:".");return p(e,i,"md")},describedBy:{args:{type:"object",properties:{cwd:{type:"string",description:r.__("The current working directory path")},isPalette:{type:"boolean",description:"Whether the command is being called from the command palette"}}}}});e.addCommand(E.undo,{execute:()=>{var e;const t=(e=d.currentWidget)===null||e===void 0?void 0:e.content;if(!t){return}t.editor.undo()},isEnabled:()=>{var e;if(!l()){return false}const t=(e=d.currentWidget)===null||e===void 0?void 0:e.content;if(!t){return false}return t.editor.model.sharedModel.canUndo()},icon:w.undoIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Undo"),describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.redo,{execute:()=>{var e;const t=(e=d.currentWidget)===null||e===void 0?void 0:e.content;if(!t){return}t.editor.redo()},isEnabled:()=>{var e;if(!l()){return false}const t=(e=d.currentWidget)===null||e===void 0?void 0:e.content;if(!t){return false}return t.editor.model.sharedModel.canRedo()},icon:w.redoIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Redo"),describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.cut,{execute:()=>{var e;const t=(e=d.currentWidget)===null||e===void 0?void 0:e.content;if(!t){return}const n=t.editor;const i=u(n);s.Clipboard.copyToSystem(i);n.replaceSelection&&n.replaceSelection("")},isEnabled:()=>{var e;if(!l()){return false}const t=(e=d.currentWidget)===null||e===void 0?void 0:e.content;if(!t){return false}return h(t.editor)},icon:w.cutIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Cut"),describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.copy,{execute:()=>{var e;const t=(e=d.currentWidget)===null||e===void 0?void 0:e.content;if(!t){return}const n=t.editor;const i=u(n);s.Clipboard.copyToSystem(i)},isEnabled:()=>{var e;if(!l()){return false}const t=(e=d.currentWidget)===null||e===void 0?void 0:e.content;if(!t){return false}return h(t.editor)},icon:w.copyIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Copy"),describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.paste,{execute:async()=>{var e;const t=(e=d.currentWidget)===null||e===void 0?void 0:e.content;if(!t){return}const n=t.editor;const i=window.navigator.clipboard;const s=await i.readText();if(s){n.replaceSelection&&n.replaceSelection(s)}},isEnabled:()=>{var e;return Boolean(l()&&((e=d.currentWidget)===null||e===void 0?void 0:e.content))},icon:w.pasteIcon.bindprops({stylesheet:"menuItem"}),label:r.__("Paste"),describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.selectAll,{execute:()=>{var e;const t=(e=d.currentWidget)===null||e===void 0?void 0:e.content;if(!t){return}const n=t.editor;n.execCommand(x.selectAll)},isEnabled:()=>{var e;return Boolean(l()&&((e=d.currentWidget)===null||e===void 0?void 0:e.content))},label:r.__("Select All"),describedBy:{args:{type:"object",properties:{}}}});const y=[E.lineNumbers,E.currentLineNumbers,E.lineWrap,E.currentLineWrap,E.matchBrackets,E.currentMatchBrackets,E.find,E.goToLine,E.changeLanguage,E.replaceSelection,E.createConsole,E.restartConsole,E.runCode,E.runAllCode,E.undo,E.redo,E.cut,E.copy,E.paste,E.selectAll,E.createConsole];const C=()=>{y.forEach((t=>e.notifyCommandChanged(t)))};d.currentChanged.connect(C);(b=_.currentChanged)===null||b===void 0?void 0:b.connect(C)}e.addCommands=d;function c(e,t,n,i){const s=(i!==null&&i!==void 0?i:y.nullTranslator).load("jupyterlab");e.addCommand(E.invokeCompleter,{label:s.__("Display the completion helper."),execute:()=>{const e=t.currentWidget&&t.currentWidget.id;if(e){return n.invoke(e)}},describedBy:{args:{type:"object",properties:{}}}});e.addCommand(E.selectCompleter,{label:s.__("Select the completion suggestion."),execute:()=>{const e=t.currentWidget&&t.currentWidget.id;if(e){return n.select(e)}},describedBy:{args:{type:"object",properties:{}}}});e.addKeyBinding({command:E.selectCompleter,keys:["Enter"],selector:".jp-FileEditor .jp-mod-completer-active"})}e.addCompleterCommands=c;function h(e){const t=e.getSelection();const{start:n,end:i}=t;const s=n.column!==i.column||n.line!==i.line;return s}function u(e){const t=e.getSelection();const n=e.getOffsetAt(t.start);const i=e.getOffsetAt(t.end);const s=e.model.sharedModel.getSource().substring(n,i);return s}async function p(e,t,n="txt"){const i=await e.execute("docmanager:new-untitled",{path:t,type:"file",ext:n});if(i!=undefined){const t=await e.execute("docmanager:open",{path:i.path,factory:M});t.isUntitled=true;return t}}function m(e,t){g(e,t);f(e,t)}e.addLauncherItems=m;function g(e,t){e.add({command:E.createNew,category:t.__("Other"),rank:1})}e.addCreateNewToLauncher=g;function f(e,t){e.add({command:E.createNewMarkdown,category:t.__("Other"),rank:2})}e.addCreateNewMarkdownToLauncher=f;function v(e,t,n){var i,s;const o=new k.DisposableSet;for(const r of n){o.add(e.add({command:E.createNew,category:t.__("Other"),rank:3,args:{fileExt:r.extensions[0],iconName:(s=(i=r.icon)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:"",launcherLabel:t.__("%1 File",r.displayName),paletteLabel:t.__("New %1 File",r.displayName),caption:t.__("Create a new %1 File",r.displayName)}}))}return o}e.addKernelLanguageLauncherItems=v;function _(e,t){b(e,t);D(e,t);A(e,t);P(e,t)}e.addPaletteItems=_;function b(e,t){const n=t.__("Text Editor");const i={size:4};const s=E.changeTabs;e.addItem({command:s,args:i,category:n});for(const o of[1,2,4,8]){const t={size:o};e.addItem({command:s,args:t,category:n})}}e.addChangeTabsCommandsToPalette=b;function D(e,t){const n=t.__("Text Editor");e.addItem({command:E.createNew,args:{isPalette:true},category:n})}e.addCreateNewCommandToPalette=D;function A(e,t){const n=t.__("Text Editor");e.addItem({command:E.createNewMarkdown,args:{isPalette:true},category:n})}e.addCreateNewMarkdownCommandToPalette=A;function P(e,t){const n=t.__("Text Editor");const i=E.changeFontSize;let s={delta:1};e.addItem({command:i,args:s,category:n});s={delta:-1};e.addItem({command:i,args:s,category:n})}e.addChangeFontSizeCommandsToPalette=P;function L(e,t,n){var i,s;const o=new k.DisposableSet;const r=t.__("Text Editor");for(const a of n){o.add(e.addItem({command:E.createNew,args:{fileExt:a.extensions[0],iconName:(s=(i=a.icon)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:"",launcherLabel:t.__("%1 File",a.displayName),paletteLabel:t.__("New %1 File",a.displayName),caption:t.__("Create a new %1 File",a.displayName),isPalette:true},category:r}))}return o}e.addKernelLanguagePaletteItems=L;function R(e,t,n,i){e.editMenu.undoers.redo.add({id:E.redo,isEnabled:i});e.editMenu.undoers.undo.add({id:E.undo,isEnabled:i});e.viewMenu.editorViewers.toggleLineNumbers.add({id:E.currentLineNumbers,isEnabled:i});e.viewMenu.editorViewers.toggleMatchBrackets.add({id:E.currentMatchBrackets,isEnabled:i});e.viewMenu.editorViewers.toggleWordWrap.add({id:E.currentLineWrap,isEnabled:i});e.fileMenu.consoleCreators.add({id:E.createConsole,isEnabled:i});if(n){B(e,n,i)}}e.addMenuItems=R;function N(e,t,n){var i,s;const o=new k.DisposableSet;for(const r of n){o.add(e.fileMenu.newMenu.addItem({command:E.createNew,args:{fileExt:r.extensions[0],iconName:(s=(i=r.icon)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:"",launcherLabel:t.__("%1 File",r.displayName),paletteLabel:t.__("New %1 File",r.displayName),caption:t.__("Create a new %1 File",r.displayName)},rank:31}))}return o}e.addKernelLanguageMenuItems=N;function B(e,t,n){const i=e=>n()&&e.context&&!!t.find((t=>{var n;return((n=t.sessionContext.session)===null||n===void 0?void 0:n.path)===e.context.path}));e.runMenu.codeRunners.restart.add({id:E.restartConsole,isEnabled:i});e.runMenu.codeRunners.run.add({id:E.runCode,isEnabled:i});e.runMenu.codeRunners.runAll.add({id:E.runAllCode,isEnabled:i})}e.addCodeRunnersToRunMenu=B;function O(e,t,n,i){const r=async r=>{var a;const l=t.factoryService.newDocumentEditor;const d=e=>l(e);let c=r.mimeType;if(!c&&r.extension){c=t.mimeTypeService.getMimeTypeByFilePath(`temp.${r.extension.replace(/\\.$/,"")}`)}const h=o.CodeViewerWidget.createCodeViewer({factory:d,content:r.content,mimeType:c});h.title.label=r.label||i.__("Code Viewer");h.title.caption=h.title.label;const u=(0,C.find)(e.docRegistry.fileTypes(),(e=>c?e.mimeTypes.includes(c):false));h.title.icon=(a=u===null||u===void 0?void 0:u.icon)!==null&&a!==void 0?a:w.textEditorIcon;if(r.widgetId){h.id=r.widgetId}const p=new s.MainAreaWidget({content:h});await n.add(p);e.shell.add(p,"main");return h};e.commands.addCommand(E.openCodeViewer,{label:i.__("Open Code Viewer"),execute:e=>r(e),describedBy:{args:{type:"object",properties:{content:{type:"string",description:i.__("The content to display in the code viewer")},label:{type:"string",description:i.__("The label for the code viewer")},mimeType:{type:"string",description:i.__("The MIME type of the content")},extension:{type:"string",description:i.__("The file extension to derive MIME type from")},widgetId:{type:"string",description:i.__("The ID to assign to the widget")}},required:["content"]}}})}e.addOpenCodeViewerCommand=O})(D||(D={}));const A={id:"@jupyterlab/fileeditor-extension:editor-syntax-status",description:"Adds a file editor syntax status widget.",autoStart:true,requires:[u.IEditorTracker,r.IEditorLanguageRegistry,i.ILabShell,y.ITranslator],optional:[_.IStatusBar],activate:(e,t,n,i,s,o)=>{if(!o){return}const r=new u.EditorSyntaxStatus({commands:e.commands,languages:n,translator:s});i.currentChanged.connect((()=>{const e=i.currentWidget;if(e&&t.has(e)&&r.model){r.model.editor=e.content.editor}}));o.registerStatusItem(A.id,{item:r,align:"left",rank:0,isActive:()=>!!i.currentWidget&&!!t.currentWidget&&i.currentWidget===t.currentWidget})}};const P={activate:H,id:"@jupyterlab/fileeditor-extension:plugin",description:"Provides the file editor widget tracker.",requires:[u.IEditorWidgetFactory,o.IEditorServices,r.IEditorExtensionRegistry,r.IEditorLanguageRegistry,r.IEditorThemeRegistry,v.ISettingRegistry],optional:[h.IDefaultFileBrowser,l.IConsoleTracker,s.ICommandPalette,p.ILauncher,g.IMainMenu,i.ILayoutRestorer,s.ISessionContextDialogs,b.ITableOfContentsRegistry,y.ITranslator,w.IFormRendererRegistry,f.IMarkdownParser],provides:u.IEditorTracker,autoStart:true};const L={id:"@jupyterlab/fileeditor-extension:widget-factory",description:"Provides the factory for creating file editors.",autoStart:true,requires:[o.IEditorServices,v.ISettingRegistry],optional:[s.IToolbarWidgetRegistry,y.ITranslator],provides:u.IEditorWidgetFactory,activate:(e,t,n,i,o)=>{const r=P.id;const a=o!==null&&o!==void 0?o:y.nullTranslator;const l=a.load("jupyterlab");let d;if(i){d=(0,s.createToolbarFactory)(i,n,M,r,a)}const c=new u.FileEditorFactory({editorServices:t,factoryOptions:{name:M,label:l.__("Editor"),fileTypes:["markdown","*"],defaultFor:["markdown","*"],toolbarFactory:d,translator:a}});e.docRegistry.addWidgetFactory(c);return c}};const R={id:"@jupyterlab/fileeditor-extension:tab-space-status",description:"Adds a file editor indentation status widget.",autoStart:true,requires:[u.IEditorTracker,r.IEditorExtensionRegistry,v.ISettingRegistry,y.ITranslator],optional:[_.IStatusBar],activate:(e,t,n,i,s,o)=>{const r=s.load("jupyterlab");if(!o){return}const a=new w.MenuSvg({commands:e.commands});const l="fileeditor:change-tabs";const{shell:d}=e;const c={name:r.__("Indent with Tab")};a.addItem({command:l,args:c});for(const u of["1","2","4","8"]){const e={size:u,name:r._p("v4","Spaces: %1",u)};a.addItem({command:l,args:e})}const h=new u.TabSpaceStatus({menu:a,translator:s});const p=e=>{var t,i,s;h.model.indentUnit=(s=(i=(t=e.get("editorConfig").composite)===null||t===void 0?void 0:t.indentUnit)!==null&&i!==void 0?i:n.baseConfiguration.indentUnit)!==null&&s!==void 0?s:null};void Promise.all([i.load("@jupyterlab/fileeditor-extension:plugin"),e.restored]).then((([e])=>{p(e);e.changed.connect(p)}));o.registerStatusItem("@jupyterlab/fileeditor-extension:tab-space-status",{item:h,align:"right",rank:1,isActive:()=>!!d.currentWidget&&t.has(d.currentWidget)})}};const N={id:"@jupyterlab/fileeditor-extension:cursor-position",description:"Adds a file editor cursor position status widget.",activate:(e,t,n)=>{n.addEditorProvider((e=>Promise.resolve(e&&t.has(e)?e.content.editor:null)))},requires:[u.IEditorTracker,o.IPositionModel],autoStart:true};const B={id:"@jupyterlab/fileeditor-extension:completer",description:"Adds the completer capability to the file editor.",requires:[u.IEditorTracker],optional:[a.ICompletionProviderManager,y.ITranslator,s.ISanitizer],activate:V,autoStart:true};const O={id:"@jupyterlab/fileeditor-extension:search",description:"Adds search capability to the file editor.",requires:[c.ISearchProviderRegistry],autoStart:true,activate:(e,t)=>{t.add("jp-fileeditorSearchProvider",u.FileEditorSearchProvider)}};const F={id:"@jupyterlab/fileeditor-extension:language-server",description:"Adds Language Server capability to the file editor.",requires:[u.IEditorTracker,m.ILSPDocumentConnectionManager,m.ILSPFeatureManager,m.ILSPCodeExtractorsManager,m.IWidgetLSPAdapterTracker],activate:U,autoStart:true};const z=[L,P,N,B,F,O,A,R];const W=z;function H(e,t,n,i,o,r,a,l,c,h,p,m,g,f,v,_,b,w){const C=P.id;const x=_!==null&&_!==void 0?_:y.nullTranslator;const S=f!==null&&f!==void 0?f:new s.SessionContextDialogs({translator:x});const j=x.load("jupyterlab");const k="editor";const{commands:I,restored:T,shell:A}=e;const L=new s.WidgetTracker({namespace:k});const R=()=>L.currentWidget!==null&&L.currentWidget===A.currentWidget;let N=null;let B=null;let O=null;const F=e=>{if(N){N.dispose();N=null}if(B){B.dispose();B=null}if(O){O.dispose();O=null}if(p){N=D.addKernelLanguageLauncherItems(p,j,e)}if(h){B=D.addKernelLanguagePaletteItems(h,j,e)}if(m){O=D.addKernelLanguageMenuItems(m,j,e)}};const z=e.serviceManager.kernelspecs;z.specsChanged.connect((async()=>{try{const t=await(0,d.getAvailableKernelFileTypes)(e.serviceManager.kernelspecs);F(t)}catch(t){console.error("Error updating kernel file types:",t)}}));if(g){void g.restore(L,{command:"docmanager:open",args:e=>({path:e.context.path,factory:M}),name:e=>e.context.path})}Promise.all([a.load(C),T]).then((([e])=>{var t,n,i;if(m){const e=(t=m.viewMenu.items.find((e=>{var t;return e.type==="submenu"&&((t=e.submenu)===null||t===void 0?void 0:t.id)==="jp-mainmenu-view-codemirror-language"})))===null||t===void 0?void 0:t.submenu;if(e){o.getLanguages().sort(((e,t)=>{const n=e.name;const i=t.name;return n.localeCompare(i)})).forEach((t=>{if(t.name.toLowerCase().indexOf("brainf")===0){return}e.addItem({command:E.changeLanguage,args:{...t}})}))}const s=(n=m.settingsMenu.items.find((e=>{var t;return e.type==="submenu"&&((t=e.submenu)===null||t===void 0?void 0:t.id)==="jp-mainmenu-settings-codemirror-theme"})))===null||n===void 0?void 0:n.submenu;if(s){for(const e of r.themes){s.addItem({command:E.changeTheme,args:{theme:e.name,displayName:(i=e.displayName)!==null&&i!==void 0?i:e.name}})}}m.editMenu.goToLiners.add({id:E.goToLine,isEnabled:e=>L.currentWidget!==null&&L.has(e)})}D.updateSettings(e,I);D.updateTracker(L);e.changed.connect((()=>{D.updateSettings(e,I);D.updateTracker(L)}))})).catch((e=>{console.error(e.message);D.updateTracker(L)}));if(b){const e=b.getRenderer("@jupyterlab/codemirror-extension:plugin.defaultConfig");if(e){b.addRenderer("@jupyterlab/fileeditor-extension:plugin.editorConfig",e)}}t.widgetCreated.connect(((e,t)=>{t.context.pathChanged.connect((()=>{void L.save(t)}));void L.add(t);D.updateWidget(t.content)}));L.widgetAdded.connect(((e,t)=>{D.updateWidget(t.content)}));D.addCommands(e.commands,a,j,C,R,L,l,i,o,c,S,e.shell);const W=new s.WidgetTracker({namespace:"codeviewer"});if(g){void g.restore(W,{command:E.openCodeViewer,args:e=>({content:e.content.content,label:e.content.title.label,mimeType:e.content.mimeType,widgetId:e.content.id}),name:e=>e.content.id})}D.addOpenCodeViewerCommand(e,n,W,j);if(p){D.addLauncherItems(p,j)}if(h){D.addPaletteItems(h,j)}if(m){D.addMenuItems(m,L,c,R)}(0,d.getAvailableKernelFileTypes)(e.serviceManager.kernelspecs).then(F).catch((e=>{console.error(e.message)}));if(v){v.add(new u.LaTeXTableOfContentsFactory(L));v.add(new u.MarkdownTableOfContentsFactory(L,w));v.add(new u.PythonTableOfContentsFactory(L))}return L}function V(e,t,n,i,o){if(!n){return}D.addCompleterCommands(e.commands,t,n,i);const r=e.serviceManager.sessions;const a=o!==null&&o!==void 0?o:new s.Sanitizer;const l=new Map;const d=async(e,t)=>{const i={editor:t.content.editor,widget:t};await n.updateCompleter(i);const s=(e,i)=>{const s=l.get(t.id);const o=(0,C.find)(i,(e=>e.path===t.context.path));if(o){if(s&&s.id===o.id){return}if(s){l.delete(t.id);s.dispose()}const e=r.connectTo({model:o});const i={editor:t.content.editor,widget:t,session:e,sanitizer:a};n.updateCompleter(i).catch(console.error);l.set(t.id,e)}else{if(s){l.delete(t.id);s.dispose()}}};s(r,Array.from(r.running()));r.runningChanged.connect(s);t.disposed.connect((()=>{r.runningChanged.disconnect(s);const e=l.get(t.id);if(e){l.delete(t.id);e.dispose()}}))};t.widgetAdded.connect(d);n.activeProvidersChanged.connect((()=>{t.forEach((e=>{d(t,e).catch(console.error)}))}))}function U(e,t,n,i,s,o){t.widgetAdded.connect((async(t,r)=>{const a=new u.FileEditorAdapter(r,{connectionManager:n,featureManager:i,foreignCodeExtractorsManager:s,docRegistry:e.docRegistry});o.add(a)}))}},61689:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(24800);var r=n(97913);var a=n(17325);var l=n(5893);var d=n(79010);var c=n(3579);var h=n(19562);var u=n(23359);var p=n(36060);var m=n(39063);var g=n(66731);var f=n(50286);var v=n(13137);var _=n(77748);var b=n(75797);var y=n(67996)},53062:(e,t,n)=>{"use strict";n.r(t);n.d(t,{EditorSyntaxStatus:()=>x,EditorTableOfContentsFactory:()=>I,FileEditor:()=>m,FileEditorAdapter:()=>r,FileEditorFactory:()=>f,FileEditorSearchProvider:()=>v,FileEditorWidget:()=>g,IEditorTracker:()=>B,IEditorWidgetFactory:()=>O,LaTeXTableOfContentsFactory:()=>D,LaTeXTableOfContentsModel:()=>M,MarkdownTableOfContentsFactory:()=>P,MarkdownTableOfContentsModel:()=>A,PythonTableOfContentsFactory:()=>N,PythonTableOfContentsModel:()=>R,TabSpaceStatus:()=>j});var i=n(44389);var s=n(71681);var o=n(5592);class r extends s.WidgetLSPAdapter{constructor(e,t){const{docRegistry:n,...i}=t;super(e,i);this._readyDelegate=new o.PromiseDelegate;this.editor=e.content;this._docRegistry=n;this._virtualEditor=Object.freeze({getEditor:()=>this.editor.editor,ready:()=>Promise.resolve(this.editor.editor),reveal:()=>Promise.resolve(this.editor.editor)});Promise.all([this.editor.context.ready,this.connectionManager.ready]).then((async()=>{await this.initOnceReady();this._readyDelegate.resolve();this._editorAdded.emit({editor:this._virtualEditor})})).catch(console.error)}get ready(){return this._readyDelegate.promise}get documentPath(){return this.widget.context.path}get mimeType(){var e;const t=this.editor.model.mimeType;const n=Array.isArray(t)?(e=t[0])!==null&&e!==void 0?e:i.IEditorMimeTypeService.defaultMimeType:t;const s=this.editor.context.contentsModel;if(n!=i.IEditorMimeTypeService.defaultMimeType){return n}else if(s){let e=this._docRegistry.getFileTypeForModel(s);return e.mimeTypes[0]}else{return n}}get languageFileExtension(){let e=this.documentPath.split(".");return e[e.length-1]}get ceEditor(){return this.editor.editor}get activeEditor(){return this._virtualEditor}get wrapperElement(){return this.widget.node}get path(){return this.widget.context.path}get editors(){var e,t;return[{ceEditor:this._virtualEditor,type:"code",value:(t=(e=this.editor)===null||e===void 0?void 0:e.model.sharedModel.getSource())!==null&&t!==void 0?t:""}]}dispose(){if(this.isDisposed){return}this._editorRemoved.emit({editor:this._virtualEditor});this.editor.model.mimeTypeChanged.disconnect(this.reloadConnection);super.dispose()}createVirtualDocument(){return new s.VirtualDocument({language:this.language,foreignCodeExtractors:this.options.foreignCodeExtractorsManager,path:this.documentPath,fileExtension:this.languageFileExtension,standalone:true,hasLspSupportedFile:true})}getEditorIndexAt(e){return 0}getEditorIndex(e){return 0}getEditorWrapper(e){return this.wrapperElement}async initOnceReady(){this.initVirtual();await this.connectDocument(this.virtualDocument,false);this.editor.model.mimeTypeChanged.connect(this.reloadConnection,this)}}var a=n(38850);var l=n(45713);var d=n(93067);var c=n(4073);var h=n(27518);const u="jpCodeRunner";const p="jpUndoer";class m extends h.Widget{constructor(e){super();this._ready=new o.PromiseDelegate;this.addClass("jp-FileEditor");const t=this._context=e.context;this._mimeTypeService=e.mimeTypeService;const n=this._editorWidget=new i.CodeEditorWrapper({factory:e.factory,model:t.model,editorOptions:{config:m.defaultEditorConfig}});this._editorWidget.addClass("jp-FileEditorCodeWrapper");this._editorWidget.node.dataset[u]="true";this._editorWidget.node.dataset[p]="true";this.editor=n.editor;this.model=n.model;const s=m.defaultEditorConfig.scrollPastEnd;this.toggleClass("jp-mod-scrollPastEnd",s);void t.ready.then((()=>{this._onContextReady()}));this._onPathChanged();t.pathChanged.connect(this._onPathChanged,this);const r=this.layout=new h.StackedLayout;r.addWidget(n)}get context(){return this._context}get ready(){return this._ready.promise}handleEvent(e){if(!this.model){return}switch(e.type){case"mousedown":this._ensureFocus();break;default:break}}onAfterAttach(e){super.onAfterAttach(e);const t=this.node;t.addEventListener("mousedown",this)}onBeforeDetach(e){const t=this.node;t.removeEventListener("mousedown",this)}onActivateRequest(e){this._ensureFocus()}_ensureFocus(){if(!this.editor.hasFocus()){this.editor.focus()}}_onContextReady(){if(this.isDisposed){return}this.editor.clearHistory();this._ready.resolve(undefined)}_onPathChanged(){const e=this.editor;const t=this._context.localPath;e.model.mimeType=this._mimeTypeService.getMimeTypeByFilePath(t)}}(function(e){e.defaultEditorConfig={lineNumbers:true,scrollPastEnd:true}})(m||(m={}));class g extends d.DocumentWidget{async setFragment(e){const t=e.split("=");if(t[0]!=="#line"){return}const n=t[1];let i;if(n.includes(",")){i=n.split(",")[0]||"0"}else{i=n}return this.context.ready.then((()=>{const e={line:parseInt(i,10),column:0};this.content.editor.setCursorPosition(e);this.content.editor.revealPosition(e)}))}}class f extends d.ABCWidgetFactory{constructor(e){super(e.factoryOptions);this._services=e.editorServices}createNewWidget(e){const t=this._services.factoryService.newDocumentEditor;const n=e=>t(e);const i=new m({factory:n,context:e,mimeTypeService:this._services.mimeTypeService});i.title.icon=c.textEditorIcon;const s=new g({content:i,context:e});return s}}class v extends l.EditorSearchProvider{constructor(e){super();this.widget=e;this._searchActive=false}get isReadOnly(){return this.editor.getOption("readOnly")}get replaceOptionsSupport(){return{preserveCase:true}}get editor(){return this.widget.content.editor}get model(){return this.widget.content.model}async startQuery(e,t){this._searchActive=true;await super.startQuery(e,t);await this.highlightNext(true,{from:"selection-start",scroll:false,select:false})}async endQuery(){this._searchActive=false;await super.endQuery()}async onSharedModelChanged(e,t){if(this._searchActive){return super.onSharedModelChanged(e,t)}}static createNew(e,t){return new v(e)}static isApplicable(e){return e instanceof a.MainAreaWidget&&e.content instanceof m&&e.content.editor instanceof l.CodeMirrorEditor}getInitialQuery(){const e=this.editor;const t=e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to);return t}}var _=n(4625);var b=n(34881);var y=n(44914);var w=n.n(y);function C(e){return w().createElement(_.TextItem,{role:"button","aria-haspopup":true,tabIndex:0,source:e.language,onClick:e.handleClick,onKeyDown:t=>{if(t.key==="Enter"||t.key===" "){e.handleClick()}}})}class x extends c.VDomRenderer{constructor(e){var t;super(new x.Model(e.languages));this._handleClick=()=>{const e=new h.Menu({commands:this._commands});const t="fileeditor:change-language";if(this._popup){this._popup.dispose()}this.model.languages.getLanguages().sort(((e,t)=>{var n,i;const s=(n=e.displayName)!==null&&n!==void 0?n:e.name;const o=(i=t.displayName)!==null&&i!==void 0?i:t.name;return s.localeCompare(o)})).forEach((n=>{var i;if(n.name.toLowerCase().indexOf("brainf")===0){return}const s={name:n.name,displayName:(i=n.displayName)!==null&&i!==void 0?i:n.name};e.addItem({command:t,args:s})}));this._popup=(0,_.showPopup)({body:e,anchor:this,align:"left"})};this._popup=null;this._commands=e.commands;this.translator=(t=e.translator)!==null&&t!==void 0?t:b.nullTranslator;const n=this.translator.load("jupyterlab");this.addClass("jp-mod-highlighted");this.title.caption=n.__("Change text editor syntax highlighting")}render(){if(!this.model){return null}return w().createElement(C,{language:this.model.language,handleClick:this._handleClick})}}(function(e){class t extends c.VDomModel{constructor(e){super();this.languages=e;this._onMIMETypeChange=(e,t)=>{var n;const s=this._language;const o=this.languages.findByMIME(t.newValue);this._language=(n=o===null||o===void 0?void 0:o.name)!==null&&n!==void 0?n:i.IEditorMimeTypeService.defaultMimeType;this._triggerChange(s,this._language)};this._language="";this._editor=null}get language(){return this._language}get editor(){return this._editor}set editor(e){var t;const n=this._editor;if(n!==null){n.model.mimeTypeChanged.disconnect(this._onMIMETypeChange)}const s=this._language;this._editor=e;if(this._editor===null){this._language=""}else{const e=this.languages.findByMIME(this._editor.model.mimeType);this._language=(t=e===null||e===void 0?void 0:e.name)!==null&&t!==void 0?t:i.IEditorMimeTypeService.defaultMimeType;this._editor.model.mimeTypeChanged.connect(this._onMIMETypeChange)}this._triggerChange(s,this._language)}_triggerChange(e,t){if(e!==t){this.stateChanged.emit(void 0)}}}e.Model=t})(x||(x={}));function S(e){const t=e.translator||b.nullTranslator;const n=t.load("jupyterlab");const i=typeof e.tabSpace==="number"?n.__("Spaces"):n.__("Tab Indent");return w().createElement(_.TextItem,{role:"button","aria-haspopup":true,tabIndex:0,onClick:e.handleClick,onKeyDown:t=>{if(t.key==="Enter"||t.key===" "){e.handleClick()}},source:typeof e.tabSpace==="number"?`${i}: ${e.tabSpace}`:i,title:n.__("Change the indentation…")})}class j extends c.VDomRenderer{constructor(e){super(new j.Model);this._popup=null;this._menu=e.menu;this.translator=e.translator||b.nullTranslator;this.addClass("jp-mod-highlighted")}render(){var e;if(!((e=this.model)===null||e===void 0?void 0:e.indentUnit)){return null}else{const e=this.model.indentUnit==="Tab"?null:parseInt(this.model.indentUnit,10);return w().createElement(S,{tabSpace:e,handleClick:()=>this._handleClick(),translator:this.translator})}}_handleClick(){const e=this._menu;if(this._popup){this._popup.dispose()}e.aboutToClose.connect(this._menuClosed,this);this._popup=(0,_.showPopup)({body:e,anchor:this,align:"right"});e.update()}_menuClosed(){this.removeClass("jp-mod-clicked")}}(function(e){class t extends c.VDomModel{get indentUnit(){return this._indentUnit}set indentUnit(e){if(e!==this._indentUnit){this._indentUnit=e;this.stateChanged.emit()}}}e.Model=t})(j||(j={}));var k=n(72011);class I extends k.TableOfContentsFactory{createNew(e,t){const n=super.createNew(e,t);const i=(t,n)=>{if(n){e.content.editor.setCursorPosition({line:n.line,column:0})}};n.activeHeadingChanged.connect(i);e.disposed.connect((()=>{n.activeHeadingChanged.disconnect(i)}));return n}}const T={part:1,chapter:1,section:1,subsection:2,subsubsection:3,paragraph:4,subparagraph:5};const E=/^\s*\\(section|subsection|subsubsection){(.+)}/;class M extends k.TableOfContentsModel{get documentType(){return"latex"}get supportedOptions(){return["maximalDepth","numberHeaders"]}getHeadings(){if(!this.isActive){return Promise.resolve(null)}const e=this.widget.content.model.sharedModel.getSource().split("\n");const t=new Array;let n=t.length;const i=new Array;for(let s=0;s<e.length;s++){const o=e[s].match(E);if(o){const e=T[o[1]];if(e<=this.configuration.maximalDepth){const r=k.TableOfContentsUtils.getPrefix(e,n,t,{...this.configuration,baseNumbering:1,numberingH1:true});n=e;i.push({text:o[2],prefix:r,level:e,line:s})}}}return Promise.resolve(i)}}class D extends I{isApplicable(e){var t,n;const i=super.isApplicable(e);if(i){let i=(n=(t=e.content)===null||t===void 0?void 0:t.model)===null||n===void 0?void 0:n.mimeType;return i&&(i==="text/x-latex"||i==="text/x-stex")}return false}_createNew(e,t){return new M(e,t)}}class A extends k.TableOfContentsModel{constructor(e,t,n=null){super(e,t);this.widget=e;this.parser=n}get documentType(){return"markdown"}async getHeadings(){if(!this.isActive){return Promise.resolve(null)}const e=this.widget.content.model.sharedModel.getSource();const t=k.TableOfContentsUtils.filterHeadings(await k.TableOfContentsUtils.Markdown.parseHeadings(e,this.parser),{...this.configuration,numberHeaders:false});return t}}class P extends I{constructor(e,t=null){super(e);this.parser=t}isApplicable(e){var t,n;const i=super.isApplicable(e);if(i){let i=(n=(t=e.content)===null||t===void 0?void 0:t.model)===null||n===void 0?void 0:n.mimeType;return i&&k.TableOfContentsUtils.Markdown.isMarkdown(i)}return false}_createNew(e,t){return new A(e,t,this.parser)}}let L;try{L=new RegExp("^\\s*(class |def |async def |from |import )","d")}catch(F){L=new RegExp("^\\s*(class |def |async def |from |import )")}class R extends k.TableOfContentsModel{get documentType(){return"python"}async getHeadings(){if(!this.isActive){return Promise.resolve(null)}const e=this.widget.content.model.sharedModel.getSource().split("\n");let t=new Array;let i=false;let s=1;let o=-1;for(const r of e){o++;let e;if(L.flags.includes("d")){e=L.exec(r)}else{const{default:t}=await n.e(9892).then(n.t.bind(n,9892,23));e=t(L,r)}if(e){const[n]=e.indices[1];if(s===1&&n>0){s=n}const a=["from ","import "].includes(e[1]);if(a&&i){continue}i=a;const l=1+n/s;if(l>this.configuration.maximalDepth){continue}t.push({text:r.slice(n),level:l,line:o})}}return Promise.resolve(t)}}class N extends I{isApplicable(e){var t,n;const i=super.isApplicable(e);if(i){let i=(n=(t=e.content)===null||t===void 0?void 0:t.model)===null||n===void 0?void 0:n.mimeType;return i&&(i==="application/x-python-code"||i==="text/x-python")}return false}_createNew(e,t){return new R(e,t)}}const B=new o.Token("@jupyterlab/fileeditor:IEditorTracker",`A widget tracker for file editors.\n Use this if you want to be able to iterate over and interact with file editors\n created by the application.`);const O=new o.Token("@jupyterlab/fileeditor:IEditorWidgetFactory","A factory for creating file editors.")},77748:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(17325);var a=n(19562);var l=n(23359);var d=n(5893);var c=n(79010);var h=n(13137);var u=n(66731);var p=n(85072);var m=n.n(p);var g=n(97825);var f=n.n(g);var v=n(77659);var _=n.n(v);var b=n(55056);var y=n.n(b);var w=n(10540);var C=n.n(w);var x=n(41113);var S=n.n(x);var j=n(98561);var k={};k.styleTagTransform=S();k.setAttributes=y();k.insert=_().bind(null,"head");k.domAPI=f();k.insertStyleElement=C();var I=m()(j.A,k);const T=j.A&&j.A.locals?j.A.locals:undefined},97491:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>k});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(40959);var l=n.n(a);var d=n(89433);var c=n.n(d);var h=n(34881);var u=n.n(h);var p=n(4073);var m=n.n(p);var g=n(44914);var f=n.n(g);var v;(function(e){e.open="help:open";e.about="help:about";e.activate="help:activate";e.close="help:close";e.show="help:show";e.hide="help:hide";e.jupyterForum="help:jupyter-forum";e.licenses="help:licenses";e.licenseReport="help:license-report";e.refreshLicenses="help:licenses-refresh"})(v||(v={}));const _=window.location.protocol==="https:";const b="jp-Help";const y={id:"@jupyterlab/help-extension:licenses-commands",autoStart:true,optional:[h.ITranslator],description:"Add licenses commands for backwards compatibility.",activate:(e,t)=>{const{commands:n}=e;const i=(t!==null&&t!==void 0?t:h.nullTranslator).load("jupyterlab");const s=i.__("Licenses");const o=i.__("Download All Licenses");const r=i.__("Refresh Licenses");const a="apputils:licenses";n.addCommand(v.licenses,{label:s,describedBy:{args:{type:"object",properties:{}}},execute:e=>{console.warn(`The command ${v.licenses} is deprecated, use ${a} instead.`);return n.execute(a,e)}});const l="apputils:license-report";n.addCommand(v.licenseReport,{label:o,describedBy:{args:{type:"object",properties:{}}},execute:e=>{console.warn(`The command ${v.licenseReport} is deprecated, use ${l} instead.`);return n.execute(l,e)}});const d="apputils:licenses-refresh";n.addCommand(v.refreshLicenses,{label:r,describedBy:{args:{type:"object",properties:{}}},execute:e=>{console.warn(`The command ${v.refreshLicenses} is deprecated, use ${d} instead.`);return n.execute(d,e)}})}};const w={id:"@jupyterlab/help-extension:about",description:'Adds a "About" dialog feature.',autoStart:true,requires:[h.ITranslator],optional:[o.ICommandPalette],activate:(e,t,n)=>{const{commands:i}=e;const s=t.load("jupyterlab");const r=s.__("Help");i.addCommand(v.about,{label:s.__("About %1",e.name),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const t=s.__("Version %1",e.version);const n=g.createElement("span",{className:"jp-About-version-info"},g.createElement("span",{className:"jp-About-version"},t));const i=g.createElement("span",{className:"jp-About-header"},g.createElement(p.jupyterIcon.react,{margin:"7px 9.5px",height:"auto",width:"58px"}),g.createElement("div",{className:"jp-About-header-info"},g.createElement(p.jupyterlabWordmarkIcon.react,{height:"auto",width:"196px"}),n));const r="https://jupyter.org/about.html";const a="https://github.com/jupyterlab/jupyterlab/graphs/contributors";const l=g.createElement("span",{className:"jp-About-externalLinks"},g.createElement("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"jp-Button-flat"},s.__("CONTRIBUTOR LIST")),g.createElement("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"jp-Button-flat"},s.__("ABOUT PROJECT JUPYTER")));const d=g.createElement("span",{className:"jp-About-copyright"},s.__("© %1-%2 Project Jupyter Contributors",2015,2025));const c=g.createElement("div",{className:"jp-About-body"},l,d);return(0,o.showDialog)({title:i,body:c,buttons:[o.Dialog.cancelButton({label:s.__("Close")})]})}});if(n){n.addItem({command:v.about,category:r})}}};const C={id:"@jupyterlab/help-extension:jupyter-forum",description:"Adds command to open the Jupyter Forum website.",autoStart:true,requires:[h.ITranslator],optional:[o.ICommandPalette],activate:(e,t,n)=>{const{commands:i}=e;const s=t.load("jupyterlab");const o=s.__("Help");i.addCommand(v.jupyterForum,{label:s.__("Jupyter Forum"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{window.open("https://discourse.jupyter.org/c/jupyterlab")}});if(n){n.addItem({command:v.jupyterForum,category:o})}}};const x={id:"@jupyterlab/help-extension:open",description:"Add command to open websites as panel or browser tab.",autoStart:true,requires:[h.ITranslator],optional:[i.ILayoutRestorer],activate:(e,t,n)=>{const{commands:i,shell:s}=e;const r=t.load("jupyterlab");const l="help-doc";const d=new o.WidgetTracker({namespace:l});let c=0;function h(e,t){const n=new p.IFrame({sandbox:["allow-scripts","allow-forms"],loading:"lazy"});n.url=e;n.addClass(b);n.title.label=t;n.id=`${l}-${++c}`;const i=new o.MainAreaWidget({content:n});i.addClass("jp-Help");return i}i.addCommand(v.open,{label:e=>{var t;return(t=e["text"])!==null&&t!==void 0?t:r.__("Open the provided `url` in a tab.")},describedBy:{args:{type:"object",properties:{url:{type:"string",description:"The URL to open"},text:{type:"string",description:"The text label for the tab"},newBrowserTab:{type:"boolean",description:"Whether to open in a new browser tab"}},required:["url"]}},execute:e=>{const t=e["url"];const n=e["text"];const i=e["newBrowserTab"]||false;if(i||_&&a.URLExt.parse(t).protocol!=="https:"){window.open(t);return}const o=h(t,n);void d.add(o);s.add(o,"main");return o}});if(n){void n.restore(d,{command:v.open,args:e=>({url:e.content.url,text:e.content.title.label}),name:e=>e.content.url})}}};const S={id:"@jupyterlab/help-extension:resources",description:"Adds menu entries to Jupyter reference documentation websites.",autoStart:true,requires:[d.IMainMenu,h.ITranslator],optional:[i.ILabShell,o.ICommandPalette],activate:(e,t,n,i,s)=>{const r=n.load("jupyterlab");const a=r.__("Help");const{commands:l,serviceManager:d}=e;const c=[{text:r.__("JupyterLab Reference"),url:"https://jupyterlab.readthedocs.io/en/stable/"},{text:r.__("JupyterLab FAQ"),url:"https://jupyterlab.readthedocs.io/en/stable/getting_started/faq.html"},{text:r.__("Jupyter Reference"),url:"https://jupyter.org/documentation"},{text:r.__("Markdown Reference"),url:"https://commonmark.org/help/"}];c.sort(((e,t)=>e.text.localeCompare(t.text)));const h=t.helpMenu;const u=c.map((e=>({args:e,command:v.open})));h.addGroup(u,10);const p=new Map;const m=(e,t)=>{var n;if(!t.length){return}const s=t[t.length-1];if(!s.kernel||p.has(s.kernel.name)){return}const a=d.sessions.connectTo({model:s,kernelConnectionOptions:{handleComms:false}});void((n=a.kernel)===null||n===void 0?void 0:n.info.then((e=>{var t,n;const s=a.kernel.name;if(p.has(s)){return}const c=(n=(t=d.kernelspecs)===null||t===void 0?void 0:t.specs)===null||n===void 0?void 0:n.kernelspecs[s];if(!c){return}p.set(s,e);let u=false;const m=async()=>{const e=await l.execute("helpmenu:get-kernel");u=(e===null||e===void 0?void 0:e.name)===s};m().catch((e=>{console.error("Failed to get the kernel for the current widget.",e)}));if(i){i.currentChanged.connect(m)}const f=()=>u;const _=`help-menu-${s}:banner`;const b=c.display_name;const y=c.resources["logo-svg"]||c.resources["logo-64x64"];l.addCommand(_,{label:r.__("About the %1 Kernel",b),isVisible:f,isEnabled:f,execute:()=>{const t=g.createElement("img",{src:y,alt:r.__("Kernel Icon")});const n=g.createElement("span",{className:"jp-About-header"},t,g.createElement("div",{className:"jp-About-header-info"},b));const i=g.createElement("pre",null,e.banner);const s=g.createElement("div",{className:"jp-About-body"},i);return(0,o.showDialog)({title:n,body:s,buttons:[o.Dialog.cancelButton({label:r.__("Close")})]})}});h.addGroup([{command:_}],20);const w=[];(e.help_links||[]).forEach((e=>{const t=`help-menu-${s}:${e.text}`;l.addCommand(t,{label:l.label(v.open,e),isVisible:f,isEnabled:f,execute:()=>l.execute(v.open,e)});w.push({command:t})}));h.addGroup(w,21)})).then((()=>{a.dispose()})))};for(const o of d.sessions.running()){m(d.sessions,[o])}d.sessions.runningChanged.connect(m);if(s){c.forEach((e=>{s.addItem({args:e,command:v.open,category:a})}));s.addItem({args:{reload:true},command:"apputils:reset",category:a})}}};const j=[w,C,y,x,S];const k=j},34072:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(67996);var a=n(85072);var l=n.n(a);var d=n(97825);var c=n.n(d);var h=n(77659);var u=n.n(h);var p=n(55056);var m=n.n(p);var g=n(10540);var f=n.n(g);var v=n(41113);var _=n.n(v);var b=n(31569);var y={};y.styleTagTransform=_();y.setAttributes=m();y.insert=u().bind(null,"head");y.domAPI=c();y.insertStyleElement=f();var w=l()(b.A,y);const C=b.A&&b.A.locals?b.A.locals:undefined},1951:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>y});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(62035);var l=n.n(a);var d=n(40065);var c=n.n(d);var h=n(34881);var u=n.n(h);var p=n(4073);var m=n.n(p);const g="@jupyterlab/htmlviewer-extension:plugin";const f="HTML Viewer";var v;(function(e){e.trustHTML="htmlviewer:trust-html"})(v||(v={}));const _={activate:b,id:g,description:"Adds HTML file viewer and provides its tracker.",provides:a.IHTMLViewerTracker,requires:[h.ITranslator],optional:[o.ICommandPalette,i.ILayoutRestorer,d.ISettingRegistry,o.IToolbarWidgetRegistry],autoStart:true};function b(e,t,n,i,s,r){let l;const d=t.load("jupyterlab");if(r){r.addFactory(f,"refresh",(e=>a.ToolbarItems.createRefreshButton(e,t)));r.addFactory(f,"trust",(e=>a.ToolbarItems.createTrustButton(e,t)));if(s){l=(0,o.createToolbarFactory)(r,s,f,_.id,t)}}const c={name:"html",contentType:"file",fileFormat:"text",displayName:d.__("HTML File"),extensions:[".html"],mimeTypes:["text/html"],icon:p.html5Icon};e.docRegistry.addFileType(c);const h=new a.HTMLViewerFactory({name:f,label:d.__("HTML Viewer"),fileTypes:["html"],defaultFor:["html"],readOnly:true,toolbarFactory:l,translator:t});const u=new o.WidgetTracker({namespace:"htmlviewer"});if(i){void i.restore(u,{command:"docmanager:open",args:e=>({path:e.context.path,factory:"HTML Viewer"}),name:e=>e.context.path})}let m=false;if(s){const t=s.load(g);const n=e=>{m=e.get("trustByDefault").composite};Promise.all([t,e.restored]).then((([e])=>{n(e);e.changed.connect((e=>{n(e)}))})).catch((e=>{console.error(e.message)}))}e.docRegistry.addWidgetFactory(h);h.widgetCreated.connect(((t,n)=>{var i,s;void u.add(n);n.context.pathChanged.connect((()=>{void u.save(n)}));n.trustedChanged.connect((()=>{e.commands.notifyCommandChanged(v.trustHTML)}));n.trusted=m;n.title.icon=c.icon;n.title.iconClass=(i=c.iconClass)!==null&&i!==void 0?i:"";n.title.iconLabel=(s=c.iconLabel)!==null&&s!==void 0?s:""}));e.commands.addCommand(v.trustHTML,{label:d.__("Trust HTML File"),caption:d.__(`Whether the HTML file is trusted.\n Trusting the file allows scripts to run in it,\n which may result in security risks.\n Only enable for files you trust.`),isEnabled:()=>!!u.currentWidget,isToggled:()=>{const e=u.currentWidget;if(!e){return false}const t=e.content.sandbox;return t.indexOf("allow-scripts")!==-1},describedBy:{args:{type:"object",properties:{}}},execute:()=>{const e=u.currentWidget;if(!e){return}e.trusted=!e.trusted}});u.currentChanged.connect((()=>{e.commands.notifyCommandChanged(v.trustHTML)}));if(n){n.addItem({command:v.trustHTML,category:d.__("File Operations")})}return u}const y=_},54336:(e,t,n)=>{"use strict";var i=n(40662);var s=n(97913);var o=n(79010);var r=n(3579);var a=n(10395);var l=n(85072);var d=n.n(l);var c=n(97825);var h=n.n(c);var u=n(77659);var p=n.n(u);var m=n(55056);var g=n.n(m);var f=n(10540);var v=n.n(f);var _=n(41113);var b=n.n(_);var y=n(20813);var w={};w.styleTagTransform=b();w.setAttributes=g();w.insert=p().bind(null,"head");w.domAPI=h();w.insertStyleElement=v();var C=d()(y.A,w);const x=y.A&&y.A.locals?y.A.locals:undefined},43947:(e,t,n)=>{"use strict";n.r(t);n.d(t,{HTMLViewer:()=>m,HTMLViewerFactory:()=>g,IHTMLViewerTracker:()=>s,ToolbarItems:()=>f});var i=n(5592);const s=new i.Token("@jupyterlab/htmlviewer:IHTMLViewerTracker",`A widget tracker for rendered HTML documents.\n Use this if you want to be able to iterate over and interact with HTML documents\n viewed by the application.`);var o=n(40959);var r=n(93067);var a=n(34881);var l=n(4073);var d=n(2336);var c=n(44914);const h=1e3;const u="jp-HTMLViewer";const p=e=>`<style>\na[target="_blank"],\narea[target="_blank"],\nform[target="_blank"],\nbutton[formtarget="_blank"],\ninput[formtarget="_blank"][type="image"],\ninput[formtarget="_blank"][type="submit"] {\n cursor: not-allowed !important;\n}\na[target="_blank"]:hover::after,\narea[target="_blank"]:hover::after,\nform[target="_blank"]:hover::after,\nbutton[formtarget="_blank"]:hover::after,\ninput[formtarget="_blank"][type="image"]:hover::after,\ninput[formtarget="_blank"][type="submit"]:hover::after {\n content: "${e.warning}";\n box-sizing: border-box;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 1000;\n border: 2px solid #e65100;\n background-color: #ffb74d;\n color: black;\n font-family: system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI', helvetica, arial, sans-serif;\n text-align: center;\n}\n</style>`;class m extends r.DocumentWidget{constructor(e){super({...e,content:new l.IFrame({sandbox:v.common,loading:"lazy"})});this._renderPending=false;this._parser=new DOMParser;this._monitor=null;this._objectUrl="";this._trustedChanged=new d.Signal(this);this.translator=e.translator||a.nullTranslator;this.content.addClass(u);void this.context.ready.then((()=>{this.update();this._monitor=new o.ActivityMonitor({signal:this.context.model.contentChanged,timeout:h});this._monitor.activityStopped.connect(this.update,this)}))}get trusted(){return this.content.sandbox.indexOf("allow-scripts")!==-1}set trusted(e){if(this.trusted===e){return}if(e){this.content.sandbox=[...v.common,...v.trusted]}else{this.content.sandbox=[...v.common,...v.untrusted]}this.update();this._trustedChanged.emit(e)}get trustedChanged(){return this._trustedChanged}dispose(){if(this._objectUrl){try{URL.revokeObjectURL(this._objectUrl)}catch(e){}}super.dispose()}onUpdateRequest(){if(this._renderPending){return}this._renderPending=true;void this._renderModel().then((()=>this._renderPending=false))}async _renderModel(){let e=this.context.model.toString();e=await this._setupDocument(e);const t=new Blob([e],{type:"text/html"});const n=this._objectUrl;this._objectUrl=URL.createObjectURL(t);this.content.url=this._objectUrl;if(n){try{URL.revokeObjectURL(n)}catch(i){}}return}async _setupDocument(e){const t=this._parser.parseFromString(e,"text/html");let n=t.querySelector("base");if(!n){n=t.createElement("base");t.head.insertBefore(n,t.head.firstChild)}const i=this.context.path;const s=await this.context.urlResolver.getDownloadUrl(i);n.href=s;n.target="_self";if(!this.trusted){const e=this.translator.load("jupyterlab");const n=e.__("Action disabled as the file is not trusted.");t.body.insertAdjacentHTML("beforeend",p({warning:n}))}return t.documentElement.innerHTML}}class g extends r.ABCWidgetFactory{createNewWidget(e){return new m({context:e})}defaultToolbarFactory(e){return[{name:"refresh",widget:f.createRefreshButton(e,this.translator)},{name:"trust",widget:f.createTrustButton(e,this.translator)}]}}var f;(function(e){function t(e,t){const n=(t!==null&&t!==void 0?t:a.nullTranslator).load("jupyterlab");return new l.ToolbarButton({icon:l.refreshIcon,onClick:async()=>{if(!e.context.model.dirty){await e.context.revert();e.update()}},tooltip:n.__("Rerender HTML Document")})}e.createRefreshButton=t;function n(e,t){return l.ReactWidget.create(c.createElement(v.TrustButtonComponent,{htmlDocument:e,translator:t}))}e.createTrustButton=n})(f||(f={}));var v;(function(e){e.common=["allow-same-origin"];e.untrusted=[];e.trusted=["allow-scripts","allow-popups"];function t(e){const t=e.translator||a.nullTranslator;const n=t.load("jupyterlab");return c.createElement(l.UseSignal,{signal:e.htmlDocument.trustedChanged,initialSender:e.htmlDocument},(()=>c.createElement(l.ToolbarButtonComponent,{className:"",onClick:()=>e.htmlDocument.trusted=!e.htmlDocument.trusted,tooltip:n.__(`Whether the HTML file is trusted.\nTrusting the file allows opening pop-ups and running scripts\nwhich may result in security risks.\nOnly enable for files you trust.`),label:e.htmlDocument.trusted?n.__("Distrust HTML"):n.__("Trust HTML")})))}e.TrustButtonComponent=t})(v||(v={}))},44031:(e,t,n)=>{"use strict";n.r(t);n.d(t,{CommandIDs:()=>h,default:()=>f});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(40959);var l=n.n(a);var d=n(34881);var c=n.n(d);var h;(function(e){e.controlPanel="hub:control-panel";e.logout="hub:logout";e.restart="hub:restart"})(h||(h={}));function u(e,t,n,i){const s=n.load("jupyterlab");const o=t.urls.hubHost||"";const r=t.urls.hubPrefix||"";const l=t.urls.hubUser||"";const d=t.urls.hubServerName||"";const c=t.urls.base;if(!r){return}console.debug("hub-extension: Found configuration ",{hubHost:o,hubPrefix:r});const u=a.URLExt.join(r,"spawn");let p=o+u;if(d){const e=a.URLExt.join(u,l,d);if(!e.startsWith(u)){throw new Error("Can only be used for spawn requests")}p=o+e}const{commands:m}=e;m.addCommand(h.restart,{label:s.__("Restart Server"),caption:s.__("Request that the Hub restart this server"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{window.open(p,"_blank")}});m.addCommand(h.controlPanel,{label:s.__("Hub Control Panel"),caption:s.__("Open the Hub control panel in a new browser tab"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{window.open(o+a.URLExt.join(r,"home"),"_blank")}});m.addCommand(h.logout,{label:s.__("Log Out"),caption:s.__("Log out of the Hub"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{window.location.href=o+a.URLExt.join(c,"logout")}});if(i){const e=s.__("Hub");i.addItem({category:e,command:h.controlPanel});i.addItem({category:e,command:h.logout})}}const p={activate:u,id:"@jupyterlab/hub-extension:plugin",description:"Registers commands related to the hub server",requires:[i.JupyterFrontEnd.IPaths,d.ITranslator],optional:[o.ICommandPalette],autoStart:true};const m={activate:()=>void 0,id:"@jupyterlab/hub-extension:menu",description:"Adds hub related commands to the menu.",autoStart:true};const g={id:"@jupyterlab/hub-extension:connectionlost",description:"Provides a service to be notified when the connection to the hub server is lost.",requires:[i.JupyterFrontEnd.IPaths,d.ITranslator],optional:[i.JupyterLab.IInfo],activate:(e,t,n,s)=>{const r=n.load("jupyterlab");const a=t.urls.hubPrefix||"";const l=t.urls.base;if(!a){return i.ConnectionLost}let d=false;const c=async(t,n)=>{if(d){return}d=true;if(s){s.isConnected=false}const i=await(0,o.showDialog)({title:r.__("Server unavailable or unreachable"),body:r.__("Your server at %1 is not running.\nWould you like to restart it?",l),buttons:[o.Dialog.okButton({label:r.__("Restart")}),o.Dialog.cancelButton({label:r.__("Dismiss")})]});if(s){s.isConnected=true}d=false;if(i.button.accept){await e.commands.execute(h.restart)}};return c},autoStart:true,provides:i.IConnectionLost};const f=[p,m,g]},19457:(e,t,n)=>{"use strict";var i=n(97913);var s=n(3579)},55575:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>_});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(38645);var l=n.n(a);var d=n(34881);var c=n.n(d);var h;(function(e){e.resetImage="imageviewer:reset-image";e.zoomIn="imageviewer:zoom-in";e.zoomOut="imageviewer:zoom-out";e.flipHorizontal="imageviewer:flip-horizontal";e.flipVertical="imageviewer:flip-vertical";e.rotateClockwise="imageviewer:rotate-clockwise";e.rotateCounterclockwise="imageviewer:rotate-counterclockwise";e.invertColors="imageviewer:invert-colors"})(h||(h={}));const u=["png","gif","jpeg","bmp","ico","tiff"];const p="Image";const m="Image (Text)";const g=["svg","xbm"];const f=new RegExp(`[.](${g.join("|")})$`);const v={activate:b,description:"Adds image viewer and provide its tracker.",id:"@jupyterlab/imageviewer-extension:plugin",provides:a.IImageTracker,requires:[d.ITranslator],optional:[o.ICommandPalette,i.ILayoutRestorer],autoStart:true};const _=v;function b(e,t,n,i){const s=t.load("jupyterlab");const r="image-widget";function l(t,n){var i,s;n.context.pathChanged.connect((()=>{void v.save(n)}));void v.add(n);const o=e.docRegistry.getFileTypesForPath(n.context.path);if(o.length>0){n.title.icon=o[0].icon;n.title.iconClass=(i=o[0].iconClass)!==null&&i!==void 0?i:"";n.title.iconLabel=(s=o[0].iconLabel)!==null&&s!==void 0?s:""}}const d=new a.ImageViewerFactory({name:p,label:s.__("Image"),modelName:"base64",fileTypes:[...u,...g],defaultFor:u,readOnly:true});const c=new a.ImageViewerFactory({name:m,label:s.__("Image (Text)"),modelName:"text",fileTypes:g,defaultFor:g,readOnly:true});[d,c].forEach((t=>{e.docRegistry.addWidgetFactory(t);t.widgetCreated.connect(l)}));const v=new o.WidgetTracker({namespace:r});if(i){void i.restore(v,{command:"docmanager:open",args:e=>({path:e.context.path,factory:f.test(e.context.path)?m:p}),name:e=>e.context.path})}y(e,v,t);if(n){const e=s.__("Image Viewer");[h.zoomIn,h.zoomOut,h.resetImage,h.rotateClockwise,h.rotateCounterclockwise,h.flipHorizontal,h.flipVertical,h.invertColors].forEach((t=>{n.addItem({command:t,category:e})}))}return v}function y(e,t,n){var i;const s=n.load("jupyterlab");const{commands:o,shell:r}=e;function a(){return t.currentWidget!==null&&t.currentWidget===r.currentWidget}o.addCommand(h.zoomIn,{execute:d,label:s.__("Zoom In"),isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});o.addCommand(h.zoomOut,{execute:c,label:s.__("Zoom Out"),isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});o.addCommand(h.resetImage,{execute:u,label:s.__("Reset Image"),isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});o.addCommand(h.rotateClockwise,{execute:p,label:s.__("Rotate Clockwise"),isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});o.addCommand(h.rotateCounterclockwise,{execute:m,label:s.__("Rotate Counterclockwise"),isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});o.addCommand(h.flipHorizontal,{execute:g,label:s.__("Flip image horizontally"),isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});o.addCommand(h.flipVertical,{execute:f,label:s.__("Flip image vertically"),isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});o.addCommand(h.invertColors,{execute:v,label:s.__("Invert Colors"),isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});const l=()=>{Object.values(h).forEach((e=>o.notifyCommandChanged(e)))};t.currentChanged.connect(l);(i=r.currentChanged)===null||i===void 0?void 0:i.connect(l);function d(){var e;const n=(e=t.currentWidget)===null||e===void 0?void 0:e.content;if(n){n.scale=n.scale>1?n.scale+.5:n.scale*2}}function c(){var e;const n=(e=t.currentWidget)===null||e===void 0?void 0:e.content;if(n){n.scale=n.scale>1?n.scale-.5:n.scale/2}}function u(){var e;const n=(e=t.currentWidget)===null||e===void 0?void 0:e.content;if(n){n.scale=1;n.colorinversion=0;n.resetRotationFlip()}}function p(){var e;const n=(e=t.currentWidget)===null||e===void 0?void 0:e.content;if(n){n.rotateClockwise()}}function m(){var e;const n=(e=t.currentWidget)===null||e===void 0?void 0:e.content;if(n){n.rotateCounterclockwise()}}function g(){var e;const n=(e=t.currentWidget)===null||e===void 0?void 0:e.content;if(n){n.flipHorizontal()}}function f(){var e;const n=(e=t.currentWidget)===null||e===void 0?void 0:e.content;if(n){n.flipVertical()}}function v(){var e;const n=(e=t.currentWidget)===null||e===void 0?void 0:e.content;if(n){n.colorinversion+=1;n.colorinversion%=2}}}},43017:(e,t,n)=>{"use strict";var i=n(97913);var s=n(79010);var o=n(3579);var r=n(10395);var a=n(85072);var l=n.n(a);var d=n(97825);var c=n.n(d);var h=n(77659);var u=n.n(h);var p=n(55056);var m=n.n(p);var g=n(10540);var f=n.n(g);var v=n(41113);var _=n.n(v);var b=n(70047);var y={};y.styleTagTransform=_();y.setAttributes=m();y.insert=u().bind(null,"head");y.domAPI=c();y.insertStyleElement=f();var w=l()(b.A,y);const C=b.A&&b.A.locals?b.A.locals:undefined},70496:(e,t,n)=>{"use strict";n.r(t);n.d(t,{IImageTracker:()=>s,ImageViewer:()=>c,ImageViewerFactory:()=>h});var i=n(5592);const s=new i.Token("@jupyterlab/imageviewer:IImageTracker",`A widget tracker for images.\n Use this if you want to be able to iterate over and interact with images\n viewed by the application.`);var o=n(40959);var r=n(38850);var a=n(93067);var l=n(27518);const d="jp-ImageViewer";class c extends l.Widget{constructor(e){super();this._scale=1;this._matrix=[1,0,0,1];this._colorinversion=0;this._ready=new i.PromiseDelegate;this.context=e;this.node.tabIndex=0;this.addClass(d);this._img=document.createElement("img");this.node.appendChild(this._img);this._onTitleChanged();e.pathChanged.connect(this._onTitleChanged,this);void e.ready.then((()=>{if(this.isDisposed){return}const t=e.contentsModel;this._mimeType=t.mimetype;this._render();e.model.contentChanged.connect(this.update,this);e.fileChanged.connect(this.update,this);this._ready.resolve(void 0)}))}[r.Printing.symbol](){return()=>r.Printing.printWidget(this)}get ready(){return this._ready.promise}get scale(){return this._scale}set scale(e){if(e===this._scale){return}this._scale=e;this._updateStyle()}get colorinversion(){return this._colorinversion}set colorinversion(e){if(e===this._colorinversion){return}this._colorinversion=e;this._updateStyle()}dispose(){if(this._img.src){URL.revokeObjectURL(this._img.src||"")}super.dispose()}resetRotationFlip(){this._matrix=[1,0,0,1];this._updateStyle()}rotateCounterclockwise(){this._matrix=u.prod(this._matrix,u.rotateCounterclockwiseMatrix);this._updateStyle()}rotateClockwise(){this._matrix=u.prod(this._matrix,u.rotateClockwiseMatrix);this._updateStyle()}flipHorizontal(){this._matrix=u.prod(this._matrix,u.flipHMatrix);this._updateStyle()}flipVertical(){this._matrix=u.prod(this._matrix,u.flipVMatrix);this._updateStyle()}onUpdateRequest(e){if(this.isDisposed||!this.context.isReady){return}this._render()}onActivateRequest(e){this.node.focus()}_onTitleChanged(){this.title.label=o.PathExt.basename(this.context.localPath)}_render(){const e=this.context;const t=e.contentsModel;if(!t){return}const n=this._img.src||"";let i=e.model.toString();if(t.format==="base64"){this._img.src=`data:${this._mimeType};base64,${i}`}else{const e=new Blob([i],{type:this._mimeType});this._img.src=URL.createObjectURL(e)}URL.revokeObjectURL(n)}_updateStyle(){const[e,t,n,i]=this._matrix;const[s,o]=u.prodVec(this._matrix,[1,1]);const r=`matrix(${e}, ${t}, ${n}, ${i}, 0, 0) translate(${s<0?-100:0}%, ${o<0?-100:0}%) `;this._img.style.transform=`scale(${this._scale}) ${r}`;this._img.style.filter=`invert(${this._colorinversion})`}}class h extends a.ABCWidgetFactory{createNewWidget(e){const t=new c(e);const n=new a.DocumentWidget({content:t,context:e});return n}}var u;(function(e){function t([e,t,n,i],[s,o,r,a]){return[e*s+t*r,e*o+t*a,n*s+i*r,n*o+i*a]}e.prod=t;function n([e,t,n,i],[s,o]){return[e*s+t*o,n*s+i*o]}e.prodVec=n;e.rotateClockwiseMatrix=[0,1,-1,0];e.rotateCounterclockwiseMatrix=[0,-1,1,0];e.flipHMatrix=[-1,0,0,1];e.flipVMatrix=[1,0,0,-1]})(u||(u={}))},33389:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>S});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(59733);var l=n.n(a);var d=n(35361);var c=n.n(d);var h=n(46417);var u=n.n(h);var p=n(74823);var m=n.n(p);var g=n(34881);var f=n.n(g);var v=n(4073);var _=n.n(v);var b;(function(e){e.open="inspector:open";e.close="inspector:close";e.toggle="inspector:toggle"})(b||(b={}));const y={id:"@jupyterlab/inspector-extension:inspector",description:"Provides the code introspection widget.",requires:[g.ITranslator],optional:[o.ICommandPalette,h.ILauncher,i.ILayoutRestorer],provides:d.IInspector,autoStart:true,activate:(e,t,n,i,s)=>{const r=t.load("jupyterlab");const{commands:a,shell:l}=e;const c=r.__("Live updating code documentation from the active kernel");const h=r.__("Contextual Help");const u="inspector";const p="jpInspector";const m=new o.WidgetTracker({namespace:u});function g(){return _&&!_.isDisposed}let f=null;let _;function y(e){var n;if(!g()){_=new o.MainAreaWidget({content:new d.InspectorPanel({translator:t})});_.id="jp-inspector";_.title.label=h;_.title.icon=v.inspectorIcon;void m.add(_);f=f&&!f.isDisposed?f:null;_.content.source=f;(n=_.content.source)===null||n===void 0?void 0:n.onEditorChange(e)}if(!_.isAttached){l.add(_,"main",{activate:false,mode:"split-right",type:"Inspector"})}l.activateById(_.id);document.body.dataset[p]="open";return _}function w(){_.dispose();delete document.body.dataset[p]}const C=r.__("Show Contextual Help");a.addCommand(b.open,{caption:c,isEnabled:()=>!_||_.isDisposed||!_.isAttached||!_.isVisible,label:C,icon:e=>e.isLauncher?v.inspectorIcon:undefined,describedBy:{args:{type:"object",properties:{text:{type:"string",description:r.__("Text to display in the inspector")},refresh:{type:"boolean",description:r.__("Whether to refresh the inspector")},isLauncher:{type:"boolean",description:r.__("Whether command is called from launcher")}}}},execute:e=>{var t;const n=e&&e.text;const i=e&&e.refresh;if(g()&&i)(t=_.content.source)===null||t===void 0?void 0:t.onEditorChange(n);else y(n)}});const x=r.__("Hide Contextual Help");a.addCommand(b.close,{caption:c,isEnabled:()=>g(),label:x,icon:e=>e.isLauncher?v.inspectorIcon:undefined,describedBy:{args:{type:"object",properties:{isLauncher:{type:"boolean",description:r.__("Whether command is called from launcher")}}}},execute:()=>w()});const S=r.__("Show Contextual Help");a.addCommand(b.toggle,{caption:c,label:S,isToggled:()=>g(),describedBy:{args:{type:"object",properties:{text:{type:"string",description:r.__("Text to display in the inspector")}}}},execute:e=>{if(g()){w()}else{const t=e&&e.text;y(t)}}});if(i){i.add({command:b.open,args:{isLauncher:true}})}if(n){n.addItem({command:b.toggle,category:S})}if(s){void s.restore(m,{command:b.toggle,name:()=>"inspector"})}const j=Object.defineProperty({},"source",{get:()=>!_||_.isDisposed?null:_.content.source,set:e=>{f=e&&!e.isDisposed?e:null;if(_&&!_.isDisposed){_.content.source=f}}});return j}};const w={id:"@jupyterlab/inspector-extension:consoles",description:"Adds code introspection support to consoles.",requires:[d.IInspector,a.IConsoleTracker],autoStart:true,activate:(e,t,n,i)=>{var s;const o={};n.widgetAdded.connect(((e,t)=>{const n=t.console.sessionContext;const i=t.console.rendermime;const s=new d.KernelConnector({sessionContext:n});const r=new d.InspectionHandler({connector:s,rendermime:i});o[t.id]=r;const a=t.console.promptCell;r.editor=a&&a.editor;t.console.promptCellCreated.connect(((e,t)=>{r.editor=t&&t.editor}));t.disposed.connect((()=>{delete o[t.id];r.dispose()}))}));const r=e=>{if(e&&n.has(e)&&o[e.id]){t.source=o[e.id]}};(s=e.shell.currentChanged)===null||s===void 0?void 0:s.connect(((e,t)=>r(t.newValue)));void e.restored.then((()=>r(e.shell.currentWidget)))}};const C={id:"@jupyterlab/inspector-extension:notebooks",description:"Adds code introspection to notebooks.",requires:[d.IInspector,p.INotebookTracker],autoStart:true,activate:(e,t,n)=>{var i;const s={};n.widgetAdded.connect(((e,t)=>{const n=t.sessionContext;const i=t.content.rendermime;const o=new d.KernelConnector({sessionContext:n});const r=new d.InspectionHandler({connector:o,rendermime:i});s[t.id]=r;const a=t.content.activeCell;r.editor=a&&a.editor;t.content.activeCellChanged.connect(((e,n)=>{void(n===null||n===void 0?void 0:n.ready.then((()=>{if(n===t.content.activeCell){r.editor=n.editor}})))}));t.disposed.connect((()=>{delete s[t.id];r.dispose()}))}));const o=e=>{if(e&&n.has(e)&&s[e.id]){t.source=s[e.id]}};(i=e.shell.currentChanged)===null||i===void 0?void 0:i.connect(((e,t)=>o(t.newValue)));void e.restored.then((()=>o(e.shell.currentWidget)))}};const x=[y,w,C];const S=x},45695:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(3579);var a=n(50286);var l=n(52638);var d=n(75797);var c=n(28006)},40516:(e,t,n)=>{"use strict";n.r(t);n.d(t,{IInspector:()=>_,InspectionHandler:()=>l,InspectorPanel:()=>g,KernelConnector:()=>v});var i=n(40959);var s=n(95513);var o=n(5592);var r=n(26568);var a=n(2336);class l{constructor(e){this._cleared=new a.Signal(this);this._disposed=new a.Signal(this);this._editor=null;this._inspected=new a.Signal(this);this._isDisposed=false;this._pending=0;this._standby=true;this._lastInspectedReply=null;this._connector=e.connector;this._rendermime=e.rendermime;this._debouncer=new r.Debouncer(this.onEditorChange.bind(this),250)}get cleared(){return this._cleared}get disposed(){return this._disposed}get inspected(){return this._inspected}get editor(){return this._editor}set editor(e){if(e===this._editor){return}a.Signal.disconnectReceiver(this);const t=this._editor=e;if(t){this._cleared.emit(void 0);this.onEditorChange();t.model.selections.changed.connect(this._onChange,this);t.model.sharedModel.changed.connect(this._onChange,this)}}get standby(){return this._standby}set standby(e){this._standby=e}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;this._debouncer.dispose();this._disposed.emit(void 0);a.Signal.clearData(this)}onEditorChange(e){if(this._standby){return}const t=this.editor;if(!t){return}const n=e?e:t.model.sharedModel.getSource();const r=t.getCursorPosition();const a=i.Text.jsIndexToCharIndex(t.getOffsetAt(r),n);const l={content:null};const d=++this._pending;void this._connector.fetch({offset:a,text:n}).then((e=>{if(!e||this.isDisposed||d!==this._pending){this._lastInspectedReply=null;this._inspected.emit(l);return}const{data:t}=e;if(this._lastInspectedReply&&o.JSONExt.deepEqual(this._lastInspectedReply,t)){return}const n=this._rendermime.preferredMimeType(t);if(n){const e=this._rendermime.createRenderer(n);const i=new s.MimeModel({data:t});void e.renderModel(i);l.content=e}this._lastInspectedReply=e.data;this._inspected.emit(l)})).catch((e=>{this._lastInspectedReply=null;this._inspected.emit(l)}))}_onChange(){void this._debouncer.invoke()}}var d=n(38850);var c=n(34881);var h=n(27518);const u="jp-Inspector";const p="jp-Inspector-content";const m="jp-Inspector-placeholderContent";class g extends h.Panel{constructor(e={}){super();this._source=null;this.translator=e.translator||c.nullTranslator;this._trans=this.translator.load("jupyterlab");if(e.initialContent instanceof h.Widget){this._content=e.initialContent}else if(typeof e.initialContent==="string"){this._content=g._generateContentWidget(`<p>${e.initialContent}</p>`)}else{const e=`<h3>${this._trans.__("No Documentation")}</h3>`;const t=`<p>${this._trans.__("Move the cursor to a code fragment (e.g. function or object) to request information about it from the kernel attached to the editor.")}</p>`;this._content=g._generateContentWidget(`${e}${t}`)}this.addClass(u);this.layout.addWidget(this._content)}[d.Printing.symbol](){return()=>d.Printing.printWidget(this)}get source(){return this._source}set source(e){if(this._source===e){return}if(this._source){this._source.standby=true;this._source.inspected.disconnect(this.onInspectorUpdate,this);this._source.disposed.disconnect(this.onSourceDisposed,this)}if(e&&e.isDisposed){e=null}this._source=e;if(this._source){this._source.standby=false;this._source.inspected.connect(this.onInspectorUpdate,this);this._source.disposed.connect(this.onSourceDisposed,this)}}dispose(){if(this.isDisposed){return}this.source=null;super.dispose()}onInspectorUpdate(e,t){const{content:n}=t;if(!n||n===this._content){return}this._content.dispose();this._content=n;n.addClass(p);this.layout.addWidget(n)}onSourceDisposed(e,t){this.source=null}static _generateContentWidget(e){const t=new h.Widget;t.node.innerHTML=e;t.addClass(p);t.addClass(m);return t}}var f=n(78629);class v extends f.DataConnector{constructor(e){super();this._sessionContext=e.sessionContext}fetch(e){var t;const n=(t=this._sessionContext.session)===null||t===void 0?void 0:t.kernel;if(!n){return Promise.reject(new Error("Inspection fetch requires a kernel."))}const i={code:e.text,cursor_pos:e.offset,detail_level:1};return n.requestInspect(i).then((e=>{const t=e.content;if(t.status!=="ok"||!t.found){throw new Error("Inspection fetch failed to return successfully.")}return{data:t.data,metadata:t.metadata}}))}}const _=new o.Token("@jupyterlab/inspector:IInspector",`A service for adding contextual help to widgets (visible using "Show Contextual Help" from the Help menu).\n Use this to hook into the contextual help system in your extension.`)},52638:(e,t,n)=>{"use strict";var i=n(10395);var s=n(97913);var o=n(17325);var r=n(5893);var a=n(85072);var l=n.n(a);var d=n(97825);var c=n.n(d);var h=n(77659);var u=n.n(h);var p=n(55056);var m=n.n(p);var g=n(10540);var f=n.n(g);var v=n(41113);var _=n.n(v);var b=n(96741);var y={};y.styleTagTransform=_();y.setAttributes=m();y.insert=u().bind(null,"head");y.domAPI=c();y.insertStyleElement=f();var w=l()(b.A,y);const C=b.A&&b.A.locals?b.A.locals:undefined},42147:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,{APPLICATION_JAVASCRIPT_MIMETYPE:()=>APPLICATION_JAVASCRIPT_MIMETYPE,ExperimentalRenderedJavascript:()=>ExperimentalRenderedJavascript,TEXT_JAVASCRIPT_MIMETYPE:()=>TEXT_JAVASCRIPT_MIMETYPE,default:()=>__WEBPACK_DEFAULT_EXPORT__,rendererFactory:()=>rendererFactory});var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(95513);var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_0__);const TEXT_JAVASCRIPT_MIMETYPE="text/javascript";const APPLICATION_JAVASCRIPT_MIMETYPE="application/javascript";function evalInContext(code,element,document,window){return eval(code)}class ExperimentalRenderedJavascript extends _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_0__.RenderedJavaScript{render(e){const t=this.translator.load("jupyterlab");const n=()=>{try{const t=e.data[this.mimeType];if(t){evalInContext(t,this.node,document,window)}return Promise.resolve()}catch(t){return Promise.reject(t)}};if(!e.trusted){const e=document.createElement("pre");e.textContent=t.__("Are you sure that you want to run arbitrary Javascript within your JupyterLab session?");const i=document.createElement("button");i.textContent=t.__("Run");this.node.appendChild(e);this.node.appendChild(i);i.onclick=e=>{this.node.textContent="";void n()};return Promise.resolve()}return n()}}const rendererFactory={safe:false,mimeTypes:[TEXT_JAVASCRIPT_MIMETYPE,APPLICATION_JAVASCRIPT_MIMETYPE],createRenderer:e=>new ExperimentalRenderedJavascript(e)};const extension={id:"@jupyterlab/javascript-extension:factory",description:"Adds renderer for JavaScript content.",rendererFactory,rank:0,dataType:"string"};const __WEBPACK_DEFAULT_EXPORT__=extension},53640:(e,t,n)=>{"use strict";var i=n(5893);var s=n(85072);var o=n.n(s);var r=n(97825);var a=n.n(r);var l=n(77659);var d=n.n(l);var c=n(55056);var h=n.n(c);var u=n(10540);var p=n.n(u);var m=n(41113);var g=n.n(m);var f=n(67613);var v={};v.styleTagTransform=g();v.setAttributes=h();v.insert=d().bind(null,"head");v.domAPI=a();v.insertStyleElement=p();var _=o()(f.A,v);const b=f.A&&f.A.locals?f.A.locals:undefined},60885:(e,t,n)=>{"use strict";n.d(t,{Component:()=>C});var i=n(45713);var s=n.n(i);var o=n(34881);var r=n.n(o);var a=n(4073);var l=n.n(a);var d=n(45145);var c=n.n(d);var h=n(5592);var u=n.n(h);var p=n(44914);var m=n.n(p);var g=n(80171);var f=n.n(g);var v=n(64368);var _=n.n(v);var b=n(23546);var y=n.n(b);function w(e){var t;return(t=i.jupyterHighlightStyle.style([e]))!==null&&t!==void 0?t:""}class C extends p.Component{constructor(){super(...arguments);this.state={filter:"",value:""};this.timer=0;this.handleChange=e=>{const{value:t}=e.target;this.setState({value:t});window.clearTimeout(this.timer);this.timer=window.setTimeout((()=>{this.setState({filter:t})}),300)}}componentDidMount(){b.StyleModule.mount(document,i.jupyterHighlightStyle.module)}render(){const e=this.props.translator||o.nullTranslator;const t=e.load("jupyterlab");const{data:n,metadata:i,forwardedRef:s}=this.props;const r=i&&i.root?i.root:"root";const l=this.state.filter?j(n,this.state.filter,[r]):[r];return p.createElement("div",{className:"container",ref:s},p.createElement(a.InputGroup,{className:"filter",type:"text",placeholder:t.__("Find…"),onChange:this.handleChange,value:this.state.value,rightIcon:"ui-components:search"}),p.createElement(v.JSONTree,{data:n,collectionLimit:100,theme:{extend:x,valueLabel:w(d.tags.variableName),valueText:w(d.tags.string),nestedNodeItemString:w(d.tags.comment)},invertTheme:false,keyPath:[r],getItemString:(e,t,n,i)=>Array.isArray(t)?p.createElement("span",null,n," ",i):Object.keys(t).length===0?p.createElement("span",null,n):null,labelRenderer:([e,t])=>p.createElement("span",{className:w(d.tags.keyword)},p.createElement(f(),{searchWords:[this.state.filter],textToHighlight:`${e}`,highlightClassName:"jp-mod-selected"})),valueRenderer:e=>{let t=w(d.tags.string);if(typeof e==="number"){t=w(d.tags.number)}if(e==="true"||e==="false"){t=w(d.tags.keyword)}return p.createElement("span",{className:t},p.createElement(f(),{searchWords:[this.state.filter],textToHighlight:`${e}`,highlightClassName:"jp-mod-selected"}))},shouldExpandNodeInitially:(e,t,n)=>i&&i.expanded?true:l.join(",").includes(e.join(","))}))}}const x={scheme:"jupyter",base00:"invalid",base01:"invalid",base02:"invalid",base03:"invalid",base04:"invalid",base05:"invalid",base06:"invalid",base07:"invalid",base08:"invalid",base09:"invalid",base0A:"invalid",base0B:"invalid",base0C:"invalid",base0D:"invalid",base0E:"invalid",base0F:"invalid",author:"invalid"};function S(e,t){return JSON.stringify(e).includes(t)}function j(e,t,n=["root"]){if(h.JSONExt.isArray(e)){return e.reduce(((e,i,s)=>{if(i&&typeof i==="object"&&S(i,t)){return[...e,[s,...n].join(","),...j(i,t,[s,...n])]}return e}),[])}if(h.JSONExt.isObject(e)){return Object.keys(e).reduce(((i,s)=>{const o=e[s];if(o&&typeof o==="object"&&(s.includes(t)||S(o,t))){return[...i,[s,...n].join(","),...j(o,t,[s,...n])]}return i}),[])}return[]}},94206:(e,t,n)=>{"use strict";n.r(t);n.d(t,{MIME_TYPE:()=>p,MIME_TYPES_JSONL:()=>m,RenderedJSON:()=>g,default:()=>_,rendererFactory:()=>f});var i=n(38850);var s=n.n(i);var o=n(34881);var r=n.n(o);var a=n(27518);var l=n.n(a);var d=n(44914);var c=n.n(d);var h=n(5338);const u="jp-RenderedJSON";const p="application/json";const m=["text/jsonl","application/jsonl","application/json-lines"];class g extends a.Widget{constructor(e){super();this._rootDOM=null;this.addClass(u);this.addClass("CodeMirror");this._mimeType=e.mimeType;this.translator=e.translator||o.nullTranslator}[i.Printing.symbol](){return()=>i.Printing.printWidget(this)}async renderModel(e){const{Component:t}=await Promise.all([n.e(4470),n.e(5592),n.e(4073),n.e(5713),n.e(5145),n.e(3546),n.e(5930)]).then(n.bind(n,60885));let i;if(m.indexOf(this._mimeType)>=0){const t=(e.data[this._mimeType]||"").trim().split(/\n/);i=JSON.parse(`[${t.join(",")}]`)}else{i=e.data[this._mimeType]||{}}const s=e.metadata[this._mimeType]||{};if(this._rootDOM===null){this._rootDOM=(0,h.H)(this.node)}return new Promise(((e,n)=>{this._rootDOM.render(d.createElement(t,{data:i,metadata:s,translator:this.translator,forwardedRef:()=>e()}))}))}onBeforeDetach(e){if(this._rootDOM){this._rootDOM.unmount();this._rootDOM=null}}}const f={safe:true,mimeTypes:[p,...m],createRenderer:e=>new g(e)};const v=[{id:"@jupyterlab/json-extension:factory",description:"Adds renderer for JSON content.",rendererFactory:f,rank:0,dataType:"json",documentWidgetFactoryOptions:{name:"JSON",primaryFileType:"json",fileTypes:["json","notebook","geojson"],defaultFor:["json"]}},{id:"@jupyterlab/json-lines-extension:factory",description:"Adds renderer for JSONLines content.",rendererFactory:f,rank:0,dataType:"string",documentWidgetFactoryOptions:{name:"JSONLines",primaryFileType:"jsonl",fileTypes:["jsonl","ndjson"],defaultFor:["jsonl","ndjson"]}}];const _=v},367:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(23359);var a=n(85072);var l=n.n(a);var d=n(97825);var c=n.n(d);var h=n(77659);var u=n.n(h);var p=n(55056);var m=n.n(p);var g=n(10540);var f=n.n(g);var v=n(41113);var _=n.n(v);var b=n(34176);var y={};y.styleTagTransform=_();y.setAttributes=m();y.insert=u().bind(null,"head");y.domAPI=c();y.insertStyleElement=f();var w=l()(b.A,y);const C=b.A&&b.A.locals?b.A.locals:undefined},960:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>b});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(44577);var l=n.n(a);var d=n(46417);var c=n.n(d);var h=n(34881);var u=n.n(h);var p=n(4073);var m=n.n(p);var g=n(34236);var f=n.n(g);var v;(function(e){e.create="launcher:create"})(v||(v={}));const _={activate:y,id:"@jupyterlab/launcher-extension:plugin",description:"Provides the launcher tab service.",requires:[h.ITranslator],optional:[i.ILabShell,o.ICommandPalette,a.IDefaultFileBrowser],provides:d.ILauncher,autoStart:true};const b=_;function y(e,t,n,i,s){const{commands:r,shell:a}=e;const l=t.load("jupyterlab");const c=new d.LauncherModel;r.addCommand(v.create,{label:l.__("New Launcher"),icon:e=>e.toolbar?p.addIcon:undefined,describedBy:{args:{type:"object",properties:{cwd:{type:"string",description:l.__("The current working directory")},toolbar:{type:"boolean",description:l.__("Whether the command is executed from a toolbar")},activate:{type:"boolean",description:l.__("Whether to activate the widget")},ref:{type:"string",description:l.__("The reference widget id")}}}},execute:e=>{var i,h;const u=(h=(i=e["cwd"])!==null&&i!==void 0?i:s===null||s===void 0?void 0:s.model.path)!==null&&h!==void 0?h:"";const m=`launcher-${w.id++}`;const f=e=>{if((0,g.find)(a.widgets("main"),(t=>t===e))){a.add(e,"main",{ref:m});v.dispose()}};const v=new d.Launcher({model:c,cwd:u,callback:f,commands:r,translator:t});v.model=c;v.title.icon=p.launcherIcon;v.title.label=l.__("Launcher");const _=new o.MainAreaWidget({content:v});_.title.closable=!!Array.from(a.widgets("main")).length;_.id=m;a.add(_,"main",{activate:e["activate"],ref:e["ref"]});if(n){n.layoutModified.connect((()=>{_.title.closable=Array.from(n.widgets("main")).length>1}),_)}if(s){const e=e=>{v.cwd=e.path};s.model.pathChanged.connect(e);v.disposed.connect((()=>{s.model.pathChanged.disconnect(e)}))}return _}});if(n){void Promise.all([e.restored,s===null||s===void 0?void 0:s.model.restored]).then((()=>{function e(){if(n.isEmpty("main")){void r.execute(v.create)}}n.layoutModified.connect((()=>{e()}))}))}if(i){i.addItem({command:v.create,category:l.__("Launcher")})}if(n){n.addButtonEnabled=true;n.addRequested.connect(((e,t)=>{var n;const i=((n=t.currentTitle)===null||n===void 0?void 0:n.owner.id)||t.titles[t.titles.length-1].owner.id;return r.execute(v.create,{ref:i})}))}return c}var w;(function(e){e.id=0})(w||(w={}))},68149:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(3579);var a=n(39063);var l=n(75797);var d=n(85072);var c=n.n(d);var h=n(97825);var u=n.n(h);var p=n(77659);var m=n.n(p);var g=n(55056);var f=n.n(g);var v=n(10540);var _=n.n(v);var b=n(41113);var y=n.n(b);var w=n(41782);var C={};C.styleTagTransform=y();C.setAttributes=f();C.insert=m().bind(null,"head");C.domAPI=u();C.insertStyleElement=_();var x=c()(w.A,C);const S=w.A&&w.A.locals?w.A.locals:undefined},70322:(e,t,n)=>{"use strict";n.r(t);n.d(t,{ILauncher:()=>s,Launcher:()=>g,LauncherModel:()=>m});var i=n(5592);const s=new i.Token("@jupyterlab/launcher:ILauncher",`A service for the application activity launcher.\n Use this to add your extension activities to the launcher panel.`);var o=n(38850);var r=n(34881);var a=n(4073);var l=n(34236);var d=n(90044);var c=n(94466);var h=n(27518);var u=n(44914);const p="jp-Launcher";class m extends a.VDomModel{constructor(){super(...arguments);this.itemsList=[]}add(e){const t=v.createItem(e);this.itemsList.push(t);this.stateChanged.emit(void 0);return new d.DisposableDelegate((()=>{l.ArrayExt.removeFirstOf(this.itemsList,t);this.stateChanged.emit(void 0)}))}items(){return this.itemsList[Symbol.iterator]()}}class g extends a.VDomRenderer{constructor(e){super(e.model);this._pending=false;this._cwd="";this._cwd=e.cwd;this.translator=e.translator||r.nullTranslator;this._trans=this.translator.load("jupyterlab");this._callback=e.callback;this._commands=e.commands;this.addClass(p)}get cwd(){return this._cwd}set cwd(e){this._cwd=e;this.update()}get pending(){return this._pending}set pending(e){this._pending=e}render(){if(!this.model){return null}const e=[this._trans.__("Notebook"),this._trans.__("Console"),this._trans.__("Other")];const t=[this._trans.__("Notebook"),this._trans.__("Console")];const n=Object.create(null);for(const r of this.model.items()){const e=r.category||this._trans.__("Other");if(!(e in n)){n[e]=[]}n[e].push(r)}for(const r in n){n[r]=n[r].sort(((e,t)=>v.sortCmp(e,t,this._cwd,this._commands)))}const i=[];let s;const o=[];for(const r of e){o.push(r)}for(const r in n){if(e.indexOf(r)===-1){o.push(r)}}o.forEach((e=>{if(!n[e]){return}const o=n[e][0];const r={...o.args,cwd:this.cwd};const d=t.indexOf(e)>-1;const c=this._commands.iconClass(o.command,r);const h=this._commands.icon(o.command,r);if(e in n){s=u.createElement("div",{className:"jp-Launcher-section",key:e},u.createElement("div",{className:"jp-Launcher-sectionHeader"},u.createElement(a.LabIcon.resolveReact,{icon:h,iconClass:(0,a.classes)(c,"jp-Icon-cover"),stylesheet:"launcherSection","aria-hidden":"true"}),u.createElement("h2",{className:"jp-Launcher-sectionTitle"},e)),u.createElement("div",{className:"jp-Launcher-cardContainer"},Array.from((0,l.map)(n[e],(e=>f(d,e,this,this._commands,this._trans,this._callback))))));i.push(s)}}));return u.createElement("div",{className:"jp-Launcher-body"},u.createElement("div",{className:"jp-Launcher-content"},u.createElement("div",{className:"jp-Launcher-cwd"},u.createElement("h3",null,this.cwd)),i))}}function f(e,t,n,i,s,r){const l=t.command;const d={...t.args,cwd:n.cwd};const c=i.caption(l,d);const p=i.label(l,d);const m=e?p:c||p;const g=()=>{if(n.pending===true){return}n.pending=true;void i.execute(l,{...t.args,cwd:n.cwd}).then((e=>{n.pending=false;if(e instanceof h.Widget){r(e)}})).catch((e=>{console.error(e);n.pending=false;void(0,o.showErrorMessage)(s._p("Error","Launcher Error"),e)}))};const f=e=>{if(e.key==="Enter"){g()}};const _=i.iconClass(l,d);const b=i.icon(l,d);return u.createElement("div",{className:"jp-LauncherCard",title:m,role:"button",onClick:g,onKeyDown:f,tabIndex:0,"data-category":t.category||s.__("Other"),key:v.keyProperty.get(t)},u.createElement("div",{className:"jp-LauncherCard-icon"},e?t.kernelIconUrl?u.createElement("img",{src:t.kernelIconUrl,className:"jp-Launcher-kernelIcon",alt:m}):u.createElement("div",{className:"jp-LauncherCard-noKernelIcon"},p[0].toUpperCase()):u.createElement(a.LabIcon.resolveReact,{icon:b,iconClass:(0,a.classes)(_,"jp-Icon-cover"),stylesheet:"launcherCard"})),u.createElement("div",{className:"jp-LauncherCard-label",title:m},u.createElement("p",null,p)))}var v;(function(e){let t=0;e.keyProperty=new c.AttachedProperty({name:"key",create:()=>t++});function n(e){return{...e,category:e.category||"",rank:e.rank!==undefined?e.rank:Infinity}}e.createItem=n;function i(e,t,n,i){const s=e.rank;const o=t.rank;if(s!==o&&s!==undefined&&o!==undefined){return s<o?-1:1}const r=i.label(e.command,{...e.args,cwd:n});const a=i.label(t.command,{...t.args,cwd:n});return r.localeCompare(a)}e.sortCmp=i})(v||(v={}))},75797:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(85072);var a=n.n(r);var l=n(97825);var d=n.n(l);var c=n(77659);var h=n.n(c);var u=n(55056);var p=n.n(u);var m=n(10540);var g=n.n(m);var f=n(41113);var v=n.n(f);var _=n(97718);var b={};b.styleTagTransform=v();b.setAttributes=p();b.insert=h().bind(null,"head");b.domAPI=d();b.insertStyleElement=g();var y=a()(_.A,b);const w=_.A&&_.A.locals?_.A.locals:undefined},62062:(e,t,n)=>{"use strict";n.r(t);n.d(t,{LogLevelSwitcher:()=>x,default:()=>S});var i=n(88617);var s=n(38850);var o=n(93067);var r=n(35555);var a=n(95513);var l=n(40065);var d=n(4625);var c=n(34881);var h=n(4073);var u=n(5592);var p=n(44914);var m=n.n(p);var g=n(2336);function f(e){const t=e.translator||c.nullTranslator;const n=t.load("jupyterlab");let i="";if(e.newMessages>0){i=n.__("%1 new messages, %2 log entries for %3",e.newMessages,e.logEntries,e.source)}else{i+=n.__("%1 log entries for %2",e.logEntries,e.source)}return m().createElement(d.GroupItem,{role:"button",tabIndex:0,spacing:0,onClick:e.handleClick,onKeyDown:t=>{if(t.key==="Enter"||t.key===" "){e.handleClick()}},title:i},m().createElement(h.listIcon.react,{top:"2px",stylesheet:"statusBar"}),e.newMessages>0?m().createElement(d.TextItem,{source:e.newMessages}):m().createElement(m().Fragment,null))}class v extends h.VDomRenderer{constructor(e){super(new v.Model(e.loggerRegistry));this.translator=e.translator||c.nullTranslator;this._handleClick=e.handleClick;this.addClass("jp-mod-highlighted");this.addClass("jp-LogConsoleStatusItem")}render(){if(this.model===null||this.model.version===0){return null}const{flashEnabled:e,messages:t,source:n,version:i,versionDisplayed:s,versionNotified:o}=this.model;if(n!==null&&e&&i>o){this._flashHighlight();this.model.sourceNotified(n,i)}else if(n!==null&&e&&i>s){this._showHighlighted()}else{this._clearHighlight()}return m().createElement(f,{handleClick:this._handleClick,logEntries:t,newMessages:i-s,source:this.model.source,translator:this.translator})}_flashHighlight(){this._showHighlighted();this.removeClass("jp-LogConsole-flash");requestAnimationFrame((()=>{this.addClass("jp-LogConsole-flash")}))}_showHighlighted(){this.addClass("jp-mod-selected")}_clearHighlight(){this.removeClass("jp-LogConsole-flash");this.removeClass("jp-mod-selected")}}(function(e){class t extends h.VDomModel{constructor(e){super();this.flashEnabledChanged=new g.Signal(this);this._flashEnabled=true;this._source=null;this._sourceVersion=new Map;this._loggerRegistry=e;this._loggerRegistry.registryChanged.connect(this._handleLogRegistryChange,this);this._handleLogRegistryChange()}get messages(){if(this._source===null){return 0}const e=this._loggerRegistry.getLogger(this._source);return e.length}get version(){if(this._source===null){return 0}const e=this._loggerRegistry.getLogger(this._source);return e.version}get source(){return this._source}set source(e){if(this._source===e){return}this._source=e;this.stateChanged.emit()}get versionDisplayed(){var e,t;if(this._source===null){return 0}return(t=(e=this._sourceVersion.get(this._source))===null||e===void 0?void 0:e.lastDisplayed)!==null&&t!==void 0?t:0}get versionNotified(){var e,t;if(this._source===null){return 0}return(t=(e=this._sourceVersion.get(this._source))===null||e===void 0?void 0:e.lastNotified)!==null&&t!==void 0?t:0}get flashEnabled(){return this._flashEnabled}set flashEnabled(e){if(this._flashEnabled===e){return}this._flashEnabled=e;this.flashEnabledChanged.emit();this.stateChanged.emit()}sourceDisplayed(e,t){if(e===null||t===null){return}const n=this._sourceVersion.get(e);let i=false;if(n.lastDisplayed<t){n.lastDisplayed=t;i=true}if(n.lastNotified<t){n.lastNotified=t;i=true}if(i&&e===this._source){this.stateChanged.emit()}}sourceNotified(e,t){if(e===null){return}const n=this._sourceVersion.get(e);if(n.lastNotified<t){n.lastNotified=t;if(e===this._source){this.stateChanged.emit()}}}_handleLogRegistryChange(){const e=this._loggerRegistry.getLoggers();for(const t of e){if(!this._sourceVersion.has(t.source)){t.contentChanged.connect(this._handleLogContentChange,this);this._sourceVersion.set(t.source,{lastDisplayed:0,lastNotified:0})}}}_handleLogContentChange({source:e},t){if(e===this._source){this.stateChanged.emit()}}}e.Model=t})(v||(v={}));const _="LogConsole";const b="@jupyterlab/logconsole-extension:plugin";var y;(function(e){e.addCheckpoint="logconsole:add-checkpoint";e.clear="logconsole:clear";e.open="logconsole:open";e.setLevel="logconsole:set-level"})(y||(y={}));const w={activate:C,id:b,description:"Provides the logger registry.",provides:r.ILoggerRegistry,requires:[a.IRenderMimeRegistry,c.ITranslator],optional:[i.ILabShell,s.ICommandPalette,i.ILayoutRestorer,d.IStatusBar,l.ISettingRegistry,s.IToolbarWidgetRegistry],autoStart:true};function C(e,t,n,i,a,l,d,c,u){const p=n.load("jupyterlab");let m=null;let g=null;let f;if(c&&u){f=(0,s.createToolbarFactory)(u,c,_,b,n);u.addFactory(_,"set-level",(e=>new x(e.content,n)))}const w=new r.LoggerRegistry({defaultRendermime:t,maxLength:1e3});const C=new s.WidgetTracker({namespace:"logconsole"});if(l){void l.restore(C,{command:y.open,name:()=>"logconsole"})}const S=new v({loggerRegistry:w,handleClick:()=>{var t;if(!m){k({insertMode:"split-bottom",ref:(t=e.shell.currentWidget)===null||t===void 0?void 0:t.id})}else{e.shell.activateById(m.id)}},translator:n});const j=()=>{const t=e.shell.currentWidget;if(i===null||i===void 0?void 0:i.currentPath){return i.currentPath}if(t&&t instanceof o.DocumentWidget){return t.context.path}return null};const k=(t={})=>{var i,o;g=new r.LogConsolePanel(w,n);g.source=(o=(i=t.source)!==null&&i!==void 0?i:j())!==null&&o!==void 0?o:null;m=new s.MainAreaWidget({content:g});m.addClass("jp-LogConsole");m.title.closable=true;m.title.icon=h.listIcon;m.title.label=p.__("Log Console");if(f){(0,s.setToolbar)(m,f)}const a=()=>{e.commands.notifyCommandChanged(y.addCheckpoint);e.commands.notifyCommandChanged(y.clear);e.commands.notifyCommandChanged(y.open);e.commands.notifyCommandChanged(y.setLevel)};g.sourceChanged.connect((()=>{a()}));g.sourceDisplayed.connect(((e,{source:t,version:n})=>{S.model.sourceDisplayed(t,n)}));m.disposed.connect((()=>{m=null;g=null;a()}));e.shell.add(m,"down",{ref:t.ref,mode:t.insertMode,type:"Log Console"});void C.add(m);e.shell.activateById(m.id);m.update();a()};e.commands.addCommand(y.open,{label:p.__("Show Log Console"),execute:(e={})=>{if(m){m.dispose()}else{k(e)}},isToggled:()=>m!==null,describedBy:{args:{type:"object",properties:{source:{type:"string",description:p.__("The source for the log console")},insertMode:{type:"string",description:p.__("The insert mode for the dock layout")},ref:{type:"string",description:p.__("The reference widget")}}}}});e.commands.addCommand(y.addCheckpoint,{execute:()=>{var e;(e=g===null||g===void 0?void 0:g.logger)===null||e===void 0?void 0:e.checkpoint()},icon:h.addIcon,isEnabled:()=>!!g&&g.source!==null,label:p.__("Add Checkpoint"),describedBy:{args:{type:"object",properties:{}}}});e.commands.addCommand(y.clear,{execute:()=>{var e;(e=g===null||g===void 0?void 0:g.logger)===null||e===void 0?void 0:e.clear()},icon:h.clearIcon,isEnabled:()=>!!g&&g.source!==null,label:p.__("Clear Log"),describedBy:{args:{type:"object",properties:{}}}});function I(e){return e.length===0?e:e[0].toUpperCase()+e.slice(1)}e.commands.addCommand(y.setLevel,{execute:e=>{if(g===null||g===void 0?void 0:g.logger){g.logger.level=e.level}},isEnabled:()=>!!g&&g.source!==null,label:e=>e["level"]?p.__("Set Log Level to %1",I(e.level)):p.__("Set log level to `level`."),describedBy:{args:{type:"object",properties:{level:{type:"string",enum:["Critical","Error","Warning","Info","Debug"],description:p.__("The log level to set")}},required:["level"]}}});if(a){a.addItem({command:y.open,category:p.__("Main Area")})}if(d){d.registerStatusItem("@jupyterlab/logconsole-extension:status",{item:S,align:"left",isActive:()=>{var e;return((e=S.model)===null||e===void 0?void 0:e.version)>0},activeStateChanged:S.model.stateChanged})}function T(e){if(g){g.source=e}S.model.source=e}void e.restored.then((()=>{var e;if(i){i.currentPathChanged.connect(((e,{newValue:t})=>T(t)));T((e=i.currentPath)!==null&&e!==void 0?e:null)}else{T(j())}}));if(c){const t=e=>{w.maxLength=e.get("maxLogEntries").composite;S.model.flashEnabled=e.get("flash").composite;w.defaultLogLevel=e.get("defaultLogLevel").composite};Promise.all([c.load(b),e.restored]).then((([e])=>{t(e);e.changed.connect((e=>{t(e)}))})).catch((e=>{console.error(e.message)}))}return w}class x extends h.ReactWidget{constructor(e,t){super();this.handleChange=e=>{if(this._logConsole.logger){this._logConsole.logger.level=e.target.value}this.update()};this.handleKeyDown=e=>{if(e.keyCode===13){this._logConsole.activate()}};this._id=`level-${u.UUID.uuid4()}`;this.translator=t!==null&&t!==void 0?t:c.nullTranslator;this._trans=this.translator.load("jupyterlab");this.addClass("jp-LogConsole-toolbarLogLevel");this._logConsole=e;if(e.source){this.update()}e.sourceChanged.connect(this._updateSource,this)}_updateSource(e,{oldValue:t,newValue:n}){if(t!==null){const n=e.loggerRegistry.getLogger(t);n.stateChanged.disconnect(this.update,this)}if(n!==null){const t=e.loggerRegistry.getLogger(n);t.stateChanged.connect(this.update,this)}this.update()}render(){const e=this._logConsole.logger;return p.createElement(p.Fragment,null,p.createElement("label",{htmlFor:this._id,className:e===null?"jp-LogConsole-toolbarLogLevel-disabled":undefined},this._trans.__("Log Level:")),p.createElement(h.HTMLSelect,{id:this._id,className:"jp-LogConsole-toolbarLogLevelDropdown",onChange:this.handleChange,onKeyDown:this.handleKeyDown,value:e===null||e===void 0?void 0:e.level,"aria-label":this._trans.__("Log level"),disabled:e===null,options:e===null?[]:[[this._trans.__("Critical"),"Critical"],[this._trans.__("Error"),"Error"],[this._trans.__("Warning"),"Warning"],[this._trans.__("Info"),"Info"],[this._trans.__("Debug"),"Debug"]].map((e=>({label:e[0],value:e[1].toLowerCase()})))}))}}const S=w},87456:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(24800);var r=n(97913);var a=n(5893);var l=n(79010);var d=n(3579);var c=n(69704);var h=n(85072);var u=n.n(h);var p=n(97825);var m=n.n(p);var g=n(77659);var f=n.n(g);var v=n(55056);var _=n.n(v);var b=n(10540);var y=n.n(b);var w=n(41113);var C=n.n(w);var x=n(39817);var S={};S.styleTagTransform=C();S.setAttributes=_();S.insert=f().bind(null,"head");S.domAPI=m();S.insertStyleElement=y();var j=u()(x.A,S);const k=x.A&&x.A.locals?x.A.locals:undefined},42708:(e,t,n)=>{"use strict";n.r(t);n.d(t,{ILoggerRegistry:()=>p,LogConsolePanel:()=>w,LogOutputModel:()=>r,Logger:()=>d,LoggerOutputAreaModel:()=>l,LoggerRegistry:()=>h,ScrollingWidget:()=>y});var i=n(99247);var s=n(95513);var o=n(2336);class r extends s.OutputModel{constructor(e){super(e);this.timestamp=new Date(e.value.timestamp);this.level=e.value.level}}class a extends i.OutputAreaModel.ContentFactory{createOutputModel(e){return new r(e)}}class l extends i.OutputAreaModel{constructor({maxLength:e,...t}){super(t);this.maxLength=e}add(e){super.add(e);this._applyMaxLength();return this.length}shouldCombine(e){const{value:t,lastModel:n}=e;const i=Math.trunc(n.timestamp.getTime()/1e3);const s=Math.trunc(t.timestamp/1e3);return i===s}get(e){return super.get(e)}get maxLength(){return this._maxLength}set maxLength(e){this._maxLength=e;this._applyMaxLength()}_applyMaxLength(){if(this.list.length>this._maxLength){this.list.removeRange(0,this.list.length-this._maxLength)}}}class d{constructor(e){var t;this._isDisposed=false;this._contentChanged=new o.Signal(this);this._stateChanged=new o.Signal(this);this._rendermime=null;this._version=0;this.source=e.source;this.outputAreaModel=new l({contentFactory:new a,maxLength:e.maxLength});this._level=(t=e.level)!==null&&t!==void 0?t:"warning"}get maxLength(){return this.outputAreaModel.maxLength}set maxLength(e){this.outputAreaModel.maxLength=e}get level(){return this._level}set level(e){const t=this._level;if(t===e){return}this._level=e;this._log({output:{output_type:"display_data",data:{"text/plain":`Log level set to ${e}`}},level:"metadata"});this._stateChanged.emit({name:"level",oldValue:t,newValue:e})}get length(){return this.outputAreaModel.length}get contentChanged(){return this._contentChanged}get stateChanged(){return this._stateChanged}get rendermime(){return this._rendermime}set rendermime(e){if(e!==this._rendermime){const t=this._rendermime;const n=this._rendermime=e;this._stateChanged.emit({name:"rendermime",oldValue:t,newValue:n})}}get version(){return this._version}log(e){if(c.LogLevel[e.level]<c.LogLevel[this._level]){return}let t=null;switch(e.type){case"text":t={output_type:"display_data",data:{"text/plain":e.data}};break;case"html":t={output_type:"display_data",data:{"text/html":e.data}};break;case"output":t=e.data;break;default:break}if(t){this._log({output:t,level:e.level})}}clear(){this.outputAreaModel.clear(false);this._contentChanged.emit("clear")}checkpoint(){this._log({output:{output_type:"display_data",data:{"text/html":"<hr/>"}},level:"metadata"})}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;this.clear();this._rendermime=null;o.Signal.clearData(this)}_log(e){this._version++;this.outputAreaModel.add({...e.output,timestamp:Date.now(),level:e.level});this._contentChanged.emit("append")}}var c;(function(e){let t;(function(e){e[e["debug"]=0]="debug";e[e["info"]=1]="info";e[e["warning"]=2]="warning";e[e["error"]=3]="error";e[e["critical"]=4]="critical";e[e["metadata"]=5]="metadata"})(t=e.LogLevel||(e.LogLevel={}))})(c||(c={}));class h{constructor(e){var t;this._loggers=new Map;this._registryChanged=new o.Signal(this);this._isDisposed=false;this._defaultRendermime=e.defaultRendermime;this._maxLength=e.maxLength;this._defaultLogLevel=(t=e.defaultLogLevel)!==null&&t!==void 0?t:"warning"}getLogger(e){const t=this._loggers;let n=t.get(e);if(n){return n}n=new d({source:e,maxLength:this.maxLength,level:this.defaultLogLevel});n.rendermime=this._defaultRendermime;t.set(e,n);this._registryChanged.emit("append");return n}getLoggers(){return Array.from(this._loggers.values())}get registryChanged(){return this._registryChanged}get maxLength(){return this._maxLength}set maxLength(e){this._maxLength=e;this._loggers.forEach((t=>{t.maxLength=e}))}get defaultLogLevel(){return this._defaultLogLevel}set defaultLogLevel(e){this._defaultLogLevel=e}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;this._loggers.forEach((e=>e.dispose()));o.Signal.clearData(this)}}var u=n(5592);const p=new u.Token("@jupyterlab/logconsole:ILoggerRegistry","A service providing a logger infrastructure.");var m=n(34881);var g=n(27518);function f(e){return e.length===0?e:e[0].toUpperCase()+e.slice(1)}class v extends g.Widget{constructor(){super();this._timestampNode=document.createElement("div");this.node.append(this._timestampNode)}set timestamp(e){this._timestamp=e;this._timestampNode.innerHTML=this._timestamp.toLocaleTimeString();this.update()}set level(e){this._level=e;this.node.dataset.logLevel=e;this.update()}update(){if(this._level!==undefined&&this._timestamp!==undefined){this.node.title=`${this._timestamp.toLocaleString()}; ${f(this._level)} level`}}}class _ extends i.OutputArea{createOutputItem(e){const t=super.createOutputItem(e);if(t===null){return null}const n=t.widgets[0];n.timestamp=e.timestamp;n.level=e.level;return t}onInputRequest(e,t){return}}class b extends i.OutputArea.ContentFactory{createOutputPrompt(){return new v}}class y extends g.Widget{constructor({content:e,...t}){super(t);this._observer=null;this.addClass("jp-Scrolling");const n=this.layout=new g.PanelLayout;n.addWidget(e);this._content=e;this._sentinel=document.createElement("div");this.node.appendChild(this._sentinel)}get content(){return this._content}onAfterAttach(e){super.onAfterAttach(e);requestAnimationFrame((()=>{this._sentinel.scrollIntoView();this._scrollHeight=this.node.scrollHeight}));if(typeof IntersectionObserver!=="undefined"){this._observer=new IntersectionObserver((e=>{this._handleScroll(e)}),{root:this.node,threshold:1});this._observer.observe(this._sentinel)}}onBeforeDetach(e){if(this._observer){this._observer.disconnect()}}onAfterShow(e){if(this._tracking){this._sentinel.scrollIntoView()}}_handleScroll([e]){if(e.isIntersecting){this._tracking=true}else if(this.isVisible){const e=this.node.scrollHeight;if(e===this._scrollHeight){this._tracking=false}else{this._sentinel.scrollIntoView();this._scrollHeight=e;this._tracking=true}}}}class w extends g.StackedPanel{constructor(e,t){super();this._outputAreas=new Map;this._source=null;this._sourceChanged=new o.Signal(this);this._sourceDisplayed=new o.Signal(this);this._loggersWatched=new Set;this.translator=t||m.nullTranslator;this._trans=this.translator.load("jupyterlab");this._loggerRegistry=e;this.addClass("jp-LogConsolePanel");e.registryChanged.connect(((e,t)=>{this._bindLoggerSignals()}),this);this._bindLoggerSignals();this._placeholder=new g.Widget;this._placeholder.addClass("jp-LogConsoleListPlaceholder");this.addWidget(this._placeholder)}get loggerRegistry(){return this._loggerRegistry}get logger(){if(this.source===null){return null}return this.loggerRegistry.getLogger(this.source)}get source(){return this._source}set source(e){if(e===this._source){return}const t=this._source;const n=this._source=e;this._showOutputFromSource(n);this._handlePlaceholder();this._sourceChanged.emit({oldValue:t,newValue:n,name:"source"})}get sourceVersion(){const e=this.source;return e!==null?this._loggerRegistry.getLogger(e).version:null}get sourceChanged(){return this._sourceChanged}get sourceDisplayed(){return this._sourceDisplayed}onAfterAttach(e){super.onAfterAttach(e);this._updateOutputAreas();this._showOutputFromSource(this._source);this._handlePlaceholder()}onAfterShow(e){super.onAfterShow(e);if(this.source!==null){this._sourceDisplayed.emit({source:this.source,version:this.sourceVersion})}}_bindLoggerSignals(){const e=this._loggerRegistry.getLoggers();for(const t of e){if(this._loggersWatched.has(t.source)){continue}t.contentChanged.connect(((e,t)=>{this._updateOutputAreas();this._handlePlaceholder()}),this);t.stateChanged.connect(((e,t)=>{if(t.name!=="rendermime"){return}const n=`source:${e.source}`;const i=this._outputAreas.get(n);if(i){if(t.newValue){i.rendermime=t.newValue}else{i.dispose()}}}),this);this._loggersWatched.add(t.source)}}_showOutputFromSource(e){const t=e===null?"null source":`source:${e}`;this._outputAreas.forEach(((e,n)=>{var i,s;if(e.id===t){(i=e.parent)===null||i===void 0?void 0:i.show();if(e.isVisible){this._sourceDisplayed.emit({source:this.source,version:this.sourceVersion})}}else{(s=e.parent)===null||s===void 0?void 0:s.hide()}}));const n=e===null?this._trans.__("Log Console"):this._trans.__("Log: %1",e);this.title.label=n;this.title.caption=n}_handlePlaceholder(){if(this.source===null){this._placeholder.node.textContent=this._trans.__("No source selected.");this._placeholder.show()}else if(this._loggerRegistry.getLogger(this.source).length===0){this._placeholder.node.textContent=this._trans.__("No log messages.");this._placeholder.show()}else{this._placeholder.hide();this._placeholder.node.textContent=""}}_updateOutputAreas(){const e=new Set;const t=this._loggerRegistry.getLoggers();for(const i of t){const t=i.source;const n=`source:${t}`;e.add(n);if(!this._outputAreas.has(n)){const e=new _({rendermime:i.rendermime,contentFactory:new b,model:i.outputAreaModel});e.id=n;const s=new y({content:e});this.addWidget(s);this._outputAreas.set(n,e);const o=e=>{if(this.source===t&&e.isVisible){this._sourceDisplayed.emit({source:this.source,version:this.sourceVersion})}};e.outputLengthChanged.connect(o,this);o(e)}}const n=this._outputAreas.keys();for(const i of n){if(!e.has(i)){const e=this._outputAreas.get(i);e===null||e===void 0?void 0:e.dispose();this._outputAreas.delete(i)}}}}},69704:(e,t,n)=>{"use strict";var i=n(10395);var s=n(5893);var o=n(1649);var r=n(85072);var a=n.n(r);var l=n(97825);var d=n.n(l);var c=n(77659);var h=n.n(c);var u=n(55056);var p=n.n(u);var m=n(10540);var g=n.n(m);var f=n(41113);var v=n.n(f);var _=n(42769);var b={};b.styleTagTransform=v();b.setAttributes=p();b.insert=h().bind(null,"head");b.domAPI=d();b.insertStyleElement=g();var y=a()(_.A,b);const w=_.A&&_.A.locals?_.A.locals:undefined},8113:(e,t,n)=>{"use strict";n.r(t);n.d(t,{RunningLanguageServer:()=>k,default:()=>E});var i=n(71681);var s=n(58719);var o=n(40065);var r=n(34881);var a=n(4073);var l=n(2336);var d=n(5592);var c=n(26568);var h=n(44914);var u=n.n(h);var p=n(38850);const m="languageServers";const g="configuration";function f(e){const{[g]:t,...n}=e.schema;const{[g]:i,serverName:s,...o}=e.settings;const[r,a]=(0,h.useState)(s);const l=t=>{e.updateSetting.invoke(e.serverHash,{serverName:t.target.value}).catch(console.error);a(t.target.value)};const m={};Object.entries(i).forEach((([e,t])=>{const n={property:e,type:typeof t,value:t};m[d.UUID.uuid4()]=n}));const[f,_]=(0,h.useState)(m);const b={};Object.entries(n).forEach((([e,t])=>{if(e in o){b[e]=o[e]}else{b[e]=t["default"]}}));const[y,w]=(0,h.useState)(b);const C=(t,n,i)=>{let s=n;if(i==="number"){s=parseFloat(n)}const o={...y,[t]:s};e.updateSetting.invoke(e.serverHash,o).catch(console.error);w(o)};const x=()=>{const t=d.UUID.uuid4();const n={...f,[t]:{property:"",type:"string",value:""}};const i={};Object.values(n).forEach((e=>{i[e.property]=e.value}));e.updateSetting.invoke(e.serverHash,{[g]:i}).catch(console.error);_(n)};const S=t=>{const n={};Object.entries(f).forEach((([i,s])=>{if(i!==t){n[i]=s}const o={};Object.values(n).forEach((e=>{o[e.property]=e.value}));e.updateSetting.invoke(e.serverHash,{[g]:o}).catch(console.error);_(n)}))};const j=(t,n)=>{if(t in f){const i={...f,[t]:n};const s={};Object.values(i).forEach((e=>{s[e.property]=e.value}));_(i);e.updateSetting.invoke(e.serverHash,{[g]:s}).catch(console.error)}};const k=new c.Debouncer(j);const I=(0,h.useRef)(p.DOMUtils.createDomID()+"-line-number-input");return u().createElement("div",{className:"array-item"},u().createElement("div",{className:"form-group "},u().createElement("div",{className:"jp-FormGroup-content"},u().createElement("div",{className:"jp-objectFieldWrapper"},u().createElement("fieldset",null,u().createElement("div",{className:"form-group small-field"},u().createElement("div",{className:"jp-modifiedIndicator jp-errorIndicator"}),u().createElement("div",{className:"jp-FormGroup-content"},u().createElement("label",{htmlFor:I.current,className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem"},e.trans.__("Server name:")),u().createElement("div",{className:"jp-inputFieldWrapper jp-FormGroup-contentItem"},u().createElement("input",{id:I.current,className:"form-control",type:"text",required:true,value:r,onChange:e=>{l(e)}})),u().createElement("div",{className:"validationErrors"},u().createElement("div",null,u().createElement("ul",{className:"error-detail bs-callout bs-callout-info"},u().createElement("li",{className:"text-danger"},e.trans.__("is a required property"))))))),Object.entries(n).map((([e,t],n)=>u().createElement("div",{key:`${n}-${e}`,className:"form-group small-field"},u().createElement("div",{className:"jp-FormGroup-content"},u().createElement("h3",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem"},t.title),u().createElement("div",{className:"jp-inputFieldWrapper jp-FormGroup-contentItem"},u().createElement("input",{className:"form-control",placeholder:"",type:t.type,value:y[e],onChange:n=>C(e,n.target.value,t.type)})),u().createElement("div",{className:"jp-FormGroup-description"},t.description),u().createElement("div",{className:"validationErrors"}))))),u().createElement("fieldset",null,u().createElement("legend",null,t["title"]),Object.entries(f).map((([e,t])=>u().createElement(v,{key:e,hash:e,property:t,removeProperty:S,setProperty:k}))),u().createElement("span",null,t["description"])))))),u().createElement("div",{className:"jp-ArrayOperations"},u().createElement("button",{className:"jp-mod-styled jp-mod-reject",onClick:x},e.trans.__("Add property")),u().createElement("button",{className:"jp-mod-styled jp-mod-warn jp-FormGroup-removeButton",onClick:()=>e.removeSetting(e.serverHash)},e.trans.__("Remove server"))))}function v(e){const[t,n]=(0,h.useState)({...e.property});const i={string:"text",number:"number",boolean:"checkbox"};const s=()=>{e.removeProperty(e.hash)};const o=i=>{const s={...t,property:i};e.setProperty.invoke(e.hash,s).catch(console.error);n(s)};const r=(i,s)=>{let o=i;if(s==="number"){o=parseFloat(i)}const r={...t,value:o};e.setProperty.invoke(e.hash,r).catch(console.error);n(r)};const l=i=>{let s;if(i==="boolean"){s=false}else if(i==="number"){s=0}else{s=""}const o={...t,type:i,value:s};n(o);e.setProperty.invoke(e.hash,o).catch(console.error)};return u().createElement("div",{key:e.hash,className:"form-group small-field"},u().createElement("div",{className:"jp-FormGroup-content jp-LSPExtension-FormGroup-content"},u().createElement("input",{className:"form-control",type:"text",required:true,placeholder:"Property name",value:t.property,onChange:e=>{o(e.target.value)}}),u().createElement("select",{className:"form-control",value:t.type,onChange:e=>l(e.target.value)},u().createElement("option",{value:"string"},"String"),u().createElement("option",{value:"number"},"Number"),u().createElement("option",{value:"boolean"},"Boolean")),u().createElement("input",{className:"form-control",type:i[t.type],required:false,placeholder:"Property value",value:t.type!=="boolean"?t.value:undefined,checked:t.type==="boolean"?t.value:undefined,onChange:t.type!=="boolean"?e=>r(e.target.value,t.type):e=>r(e.target.checked,t.type)}),u().createElement("button",{className:"jp-mod-minimal jp-Button",onClick:s},u().createElement(a.closeIcon.react,null))))}class _ extends u().Component{constructor(e){super(e);this.removeSetting=e=>{if(e in this.state.items){const t={};for(const n in this.state.items){if(n!==e){t[n]=this.state.items[n]}}this.setState((e=>({...e,items:t})),(()=>{this.saveServerSetting()}))}};this.updateSetting=(e,t)=>{if(e in this.state.items){const n={};for(const i in this.state.items){if(i===e){n[i]={...this.state.items[i],...t}}else{n[i]=this.state.items[i]}}this.setState((e=>({...e,items:n})),(()=>{this.saveServerSetting()}))}};this.addServerSetting=()=>{let e=0;let t="newKey";while(Object.values(this.state.items).map((e=>e.serverName)).includes(t)){e+=1;t=`newKey-${e}`}this.setState((e=>({...e,items:{...e.items,[d.UUID.uuid4()]:{...this._defaultSetting,serverName:t}}})),(()=>{this.saveServerSetting()}))};this.saveServerSetting=()=>{const e={};Object.values(this.state.items).forEach((t=>{const{serverName:n,...i}=t;e[n]=i}));this._setting.set(m,e).catch(console.error)};this._setting=e.formContext.settings;this._trans=e.translator.load("jupyterlab");const t=this._setting.schema["definitions"];this._defaultSetting=t["languageServer"]["default"];this._schema=t["languageServer"]["properties"];const n=e.schema.title;const i=e.schema.description;const s=e.formContext.settings;const o=s.get(m).composite;let r={};if(o){Object.entries(o).forEach((([e,t])=>{if(t){const n=d.UUID.uuid4();r[n]={serverName:e,...t}}}))}this.state={title:n,desc:i,items:r};this._debouncedUpdateSetting=new c.Debouncer(this.updateSetting.bind(this))}render(){return u().createElement("div",null,u().createElement("fieldset",null,u().createElement("legend",null,this.state.title),u().createElement("p",{className:"field-description"},this.state.desc),u().createElement("div",{className:"field field-array field-array-of-object"},Object.entries(this.state.items).map((([e,t],n)=>u().createElement(f,{key:`${n}-${e}`,trans:this._trans,removeSetting:this.removeSetting,updateSetting:this._debouncedUpdateSetting,serverHash:e,settings:t,schema:this._schema})))),u().createElement("div",null,u().createElement("button",{style:{margin:2},className:"jp-mod-styled jp-mod-reject",onClick:this.addServerSetting},this._trans.__("Add server")))))}}function b(e,t){return u().createElement(_,{...e,translator:t})}const y={activate:S,id:"@jupyterlab/lsp-extension:plugin",description:"Provides the language server connection manager.",requires:[r.ITranslator,i.IWidgetLSPAdapterTracker],optional:[s.IRunningSessionManagers],provides:i.ILSPDocumentConnectionManager,autoStart:true};const w={id:"@jupyterlab/lsp-extension:feature",description:"Provides the language server feature manager.",activate:()=>new i.FeatureManager,provides:i.ILSPFeatureManager,autoStart:true};const C={activate:j,id:"@jupyterlab/lsp-extension:settings",description:"Provides the language server settings.",requires:[i.ILSPDocumentConnectionManager,o.ISettingRegistry,r.ITranslator],optional:[a.IFormRendererRegistry],autoStart:true};const x={id:"@jupyterlab/lsp-extension:code-extractor-manager",autoStart:true,description:"Provides the code extractor manager.",provides:i.ILSPCodeExtractorsManager,activate:e=>{const t=new i.CodeExtractorsManager;const n=new i.TextForeignCodeExtractor({language:"markdown",isStandalone:false,file_extension:"md",cellType:["markdown"]});t.register(n,null);const s=new i.TextForeignCodeExtractor({language:"text",isStandalone:false,file_extension:"txt",cellType:["raw"]});t.register(s,null);return t}};function S(e,t,n,s){const o=new i.LanguageServerManager({settings:e.serviceManager.serverSettings});const r=new i.DocumentConnectionManager({languageServerManager:o,adapterTracker:n});if(s){I(s,r,t)}return r}function j(e,t,n,i,s){const o="languageServers";const r=t.languageServerManager;const a=e=>{const n=e.composite;const i=n.languageServers||{};if(n.activate==="on"&&!r.isEnabled){r.enable().catch(console.error)}else if(n.activate==="off"&&r.isEnabled){r.disable();return}t.initialConfigurations=i;t.updateConfiguration(i);t.updateServerConfigurations(i);t.updateLogging(n.logAllCommunication,n.setTrace)};n.transform(y.id,{fetch:e=>{const t=e.schema.properties;const n={};r.sessions.forEach(((e,t)=>{n[t]={rank:50,configuration:{}}}));t[o]["default"]=n;return e},compose:e=>{const t=e.schema.properties;const n=e.data.user;const i=t[o]["default"];const s=n[o];let r={...i};if(s){r={...r,...s}}const a={[o]:r};Object.entries(t).forEach((([e,t])=>{if(e!==o){if(e in n){a[e]=n[e]}else{a[e]=t.default}}}));e.data.composite=a;return e}});r.sessionsChanged.connect((async()=>{await n.load(y.id,true)}));n.load(y.id).then((e=>{a(e);e.changed.connect((()=>{a(e)}));r.disable()})).catch((e=>{console.error(e.message)}));if(s){const e={fieldRenderer:e=>b(e,i)};s.addRenderer(`${y.id}.${o}`,e)}}class k{constructor(e,t){this._connection=new WeakSet([e]);this._manager=t;this._serverIdentifier=e.serverIdentifier;this._serverLanguage=e.serverLanguage}open(){}icon(){return a.pythonIcon}label(){var e,t;return`${(e=this._serverIdentifier)!==null&&e!==void 0?e:""} (${(t=this._serverLanguage)!==null&&t!==void 0?t:""})`}shutdown(){for(const[e,t]of this._manager.connections.entries()){if(this._connection.has(t)){const{uri:t}=this._manager.documents.get(e);this._manager.unregisterDocument(t)}}this._manager.disconnect(this._serverIdentifier)}}function I(e,t,n){const i=n.load("jupyterlab");const s=new l.Signal(t);t.connected.connect((()=>s.emit(t)));t.disconnected.connect((()=>s.emit(t)));t.closed.connect((()=>s.emit(t)));t.documentsChanged.connect((()=>s.emit(t)));let o=[];e.add({name:i.__("Language servers"),supportsMultipleViews:false,running:()=>{const e=new Set([...t.connections.values()]);o=[...e].map((e=>new k(e,t)));return o},shutdownAll:()=>{o.forEach((e=>{e.shutdown()}))},refreshRunning:()=>void 0,runningChanged:s,shutdownLabel:i.__("Shut Down"),shutdownAllLabel:i.__("Shut Down All"),shutdownAllConfirmationText:i.__("Are you sure you want to permanently shut down all running language servers?")})}const T={id:"@jupyterlab/lsp-extension:tracker",description:"Provides the tracker of `WidgetLSPAdapter`.",autoStart:true,provides:i.IWidgetLSPAdapterTracker,activate:e=>new i.WidgetLSPAdapterTracker({shell:e.shell})};const E=[y,w,C,x,T]},4380:(e,t,n)=>{"use strict";var i=n(40662);var s=n(97913);var o=n(3579);var r=n(13137);var a=n(94780);var l=n(85072);var d=n.n(l);var c=n(97825);var h=n.n(c);var u=n(77659);var p=n.n(u);var m=n(55056);var g=n.n(m);var f=n(10540);var v=n.n(f);var _=n(41113);var b=n.n(_);var y=n(37347);var w={};w.styleTagTransform=b();w.setAttributes=g();w.insert=p().bind(null,"head");w.domAPI=h();w.insertStyleElement=v();var C=d()(y.A,w);const x=y.A&&y.A.locals?y.A.locals:undefined},15771:(e,t,n)=>{"use strict";n.r(t);n.d(t,{CodeExtractorsManager:()=>F,DefaultMap:()=>k,DocumentConnectionManager:()=>B,EditorAdapter:()=>l,FeatureManager:()=>q,ILSPCodeExtractorsManager:()=>b,ILSPDocumentConnectionManager:()=>v,ILSPFeatureManager:()=>_,ILanguageServerManager:()=>f,IWidgetLSPAdapterTracker:()=>y,LanguageServerManager:()=>K,Method:()=>w,ProtocolCoordinates:()=>V,TextForeignCodeExtractor:()=>U,UpdateManager:()=>Q,VirtualDocument:()=>Y,VirtualDocumentInfo:()=>G,WidgetLSPAdapter:()=>h,WidgetLSPAdapterTracker:()=>p,collectDocuments:()=>X,expandDottedPaths:()=>S,expandPath:()=>j,isEqual:()=>z,isWithinRange:()=>J,offsetAtPosition:()=>H,positionAtOffset:()=>W,sleep:()=>C,untilReady:()=>x});var i=n(8394);var s=n.n(i);var o=n(38850);var r=n(34881);var a=n(2336);class l{constructor(e){this._widgetAdapter=e.widgetAdapter;this._extensions=e.extensions;void e.editor.ready().then((t=>{this._injectExtensions(e.editor)}))}dispose(){if(this.isDisposed){return}this.isDisposed=true;a.Signal.clearData(this)}_injectExtensions(e){const t=e.getEditor();if(!t||t.isDisposed){return}this._extensions.forEach((n=>{const i=n.factory({path:this._widgetAdapter.widget.context.path,editor:e,widgetAdapter:this._widgetAdapter,model:t.model,inline:true});if(!i){return}t.injectExtension(i.instance(t))}))}}const d=o.Dialog.createButton;const c={"text/x-rsrc":"r","text/x-r-source":"r","text/x-ipython":"python"};class h{constructor(e,t){this.widget=e;this.options=t;this._adapterConnected=new a.Signal(this);this._activeEditorChanged=new a.Signal(this);this._editorAdded=new a.Signal(this);this._editorRemoved=new a.Signal(this);this._disposed=new a.Signal(this);this._isDisposed=false;this._virtualDocument=null;this._connectionManager=t.connectionManager;this._isConnected=false;this._trans=(t.translator||r.nullTranslator).load("jupyterlab");this.widget.context.saveState.connect(this.onSaveState,this);this.connectionManager.closed.connect(this.onConnectionClosed,this);this.widget.disposed.connect(this.dispose,this);this._editorToAdapter=new WeakMap;this.editorAdded.connect(this._onEditorAdded,this);this.editorRemoved.connect(this._onEditorRemoved,this);this._connectionManager.languageServerManager.sessionsChanged.connect(this._onLspSessionOrFeatureChanged,this);this.options.featureManager.featureRegistered.connect(this._onLspSessionOrFeatureChanged,this)}get isDisposed(){return this._isDisposed}get hasMultipleEditors(){return this.editors.length>1}get widgetId(){return this.widget.id}get language(){if(c.hasOwnProperty(this.mimeType)){return c[this.mimeType]}else{let e=this.mimeType.split(";")[0];let[t,n]=e.split("/");if(t==="application"||t==="text"){if(n.startsWith("x-")){return n.substring(2)}else{return n}}else{return this.mimeType}}}get adapterConnected(){return this._adapterConnected}get activeEditorChanged(){return this._activeEditorChanged}get disposed(){return this._disposed}get editorAdded(){return this._editorAdded}get editorRemoved(){return this._editorRemoved}get isConnected(){return this._isConnected}get connectionManager(){return this._connectionManager}get trans(){return this._trans}get updateFinished(){return this._updateFinished}get virtualDocument(){return this._virtualDocument}onConnectionClosed(e,{virtualDocument:t}){if(t===this.virtualDocument){this.dispose()}}dispose(){if(this._isDisposed){return}this.editorAdded.disconnect(this._onEditorAdded,this);this.editorRemoved.disconnect(this._onEditorRemoved,this);this._connectionManager.languageServerManager.sessionsChanged.disconnect(this._onLspSessionOrFeatureChanged,this);this.options.featureManager.featureRegistered.disconnect(this._onLspSessionOrFeatureChanged,this);this._isDisposed=true;this.disconnect();this._virtualDocument=null;this._disposed.emit();a.Signal.clearData(this)}disconnect(){var e,t;const n=(e=this.virtualDocument)===null||e===void 0?void 0:e.uri;const{model:i}=this.widget.context;if(n){this.connectionManager.unregisterDocument(n)}i.contentChanged.disconnect(this._onContentChanged,this);for(let{ceEditor:s}of this.editors){this._editorRemoved.emit({editor:s})}(t=this.virtualDocument)===null||t===void 0?void 0:t.dispose()}updateDocuments(){if(this._isDisposed){console.warn("Cannot update documents: adapter disposed");return Promise.reject("Cannot update documents: adapter disposed")}return this.virtualDocument.updateManager.updateDocuments(this.editors)}documentChanged(e,t,n=false){if(this._isDisposed){console.warn("Cannot swap document: adapter disposed");return}let i=this.connectionManager.connections.get(e.uri);if(!(i===null||i===void 0?void 0:i.isReady)){console.log("Skipping document update signal: connection not ready");return}i.sendFullTextChange(e.value,e.documentInfo)}reloadConnection(){if(this.virtualDocument===null){return}this.disconnect();this.initVirtual();this.connectDocument(this.virtualDocument,true).catch(console.warn)}onSaveState(e,t){if(this.virtualDocument===null){return}if(t==="completed"){const e=[this.virtualDocument];for(let t of e){let n=this.connectionManager.connections.get(t.uri);if(!n){continue}n.sendSaved(t.documentInfo);for(let i of t.foreignDocuments.values()){e.push(i)}}}}async onConnected(e){let{virtualDocument:t}=e;this._adapterConnected.emit(e);this._isConnected=true;try{await this.updateDocuments()}catch(n){console.warn("Could not update documents",n);return}this.documentChanged(t,t,true);e.connection.serverNotifications["$/logTrace"].connect(((n,i)=>{console.log(e.connection.serverIdentifier,"trace",t.uri,i)}));e.connection.serverNotifications["window/logMessage"].connect(((e,t)=>{console.log(e.serverIdentifier+": "+t.message)}));e.connection.serverNotifications["window/showMessage"].connect(((e,t)=>{void(0,o.showDialog)({title:this.trans.__("Message from ")+e.serverIdentifier,body:t.message})}));e.connection.serverRequests["window/showMessageRequest"].setHandler((async t=>{const n=t.actions;const i=n?n.map((e=>d({label:e.title}))):[d({label:this.trans.__("Dismiss")})];const s=await(0,o.showDialog)({title:this.trans.__("Message from ")+e.connection.serverIdentifier,body:t.message,buttons:i});const r=i.indexOf(s.button);if(r===-1){return null}if(n){return n[r]}return null}))}async connectDocument(e,t=false){e.foreignDocumentOpened.connect(this.onForeignDocumentOpened,this);const n=await this._connect(e).catch(console.error);if(n&&n.connection){e.changed.connect(this.documentChanged,this);if(t){n.connection.sendOpenWhenReady(e.documentInfo)}}}initVirtual(){var e;(e=this._virtualDocument)===null||e===void 0?void 0:e.dispose();this._virtualDocument=this.createVirtualDocument();this._onLspSessionOrFeatureChanged()}async onForeignDocumentOpened(e,t){const{foreignDocument:n}=t;await this.connectDocument(n,true);n.foreignDocumentClosed.connect(this._onForeignDocumentClosed,this)}_onEditorAdded(e,t){const{editor:n}=t;const i=new l({editor:n,widgetAdapter:this,extensions:this.options.featureManager.extensionFactories()});this._editorToAdapter.set(n,i)}_onEditorRemoved(e,t){const{editor:n}=t;const i=this._editorToAdapter.get(n);i===null||i===void 0?void 0:i.dispose();this._editorToAdapter.delete(n)}_onForeignDocumentClosed(e,t){const{foreignDocument:n}=t;n.foreignDocumentClosed.disconnect(this._onForeignDocumentClosed,this);n.foreignDocumentOpened.disconnect(this.onForeignDocumentOpened,this);n.changed.disconnect(this.documentChanged,this)}async _connect(e){let t=e.language;let n={textDocument:{synchronization:{dynamicRegistration:true,willSave:false,didSave:true,willSaveWaitUntil:false}},workspace:{didChangeConfiguration:{dynamicRegistration:true}}};n=s()(n,this.options.featureManager.clientCapabilities());let i={capabilities:n,virtualDocument:e,language:t,hasLspSupportedFile:e.hasLspSupportedFile};let o=await this.connectionManager.connect(i);if(o){await this.onConnected({virtualDocument:e,connection:o});return{connection:o,virtualDocument:e}}else{return undefined}}async _onContentChanged(e){const t=this.updateDocuments();if(!t){console.warn("Could not update documents");return}this._updateFinished=t.catch(console.warn);await this.updateFinished}_shouldUpdateVirtualDocument(){const{languageServerManager:e}=this.connectionManager;return e.isEnabled&&this.options.featureManager.features.length>0}_onLspSessionOrFeatureChanged(){if(!this._virtualDocument){return}const{model:e}=this.widget.context;if(this._shouldUpdateVirtualDocument()){e.contentChanged.connect(this._onContentChanged,this)}else{e.contentChanged.disconnect(this._onContentChanged,this)}}}var u=n(93067);class p{constructor(e){this._isDisposed=false;this._current=null;this._adapters=new Set;this._adapterAdded=new a.Signal(this);this._adapterUpdated=new a.Signal(this);this._currentChanged=new a.Signal(this);const t=this._shell=e.shell;t.currentChanged.connect(((e,t)=>{let n=t.newValue;if(!n||!(n instanceof u.DocumentWidget)){return}const i=this.find((e=>e.widget===n));if(!i){return}this._current=i;this._currentChanged.emit(i)}))}get currentChanged(){return this._currentChanged}get currentAdapter(){return this._current}get size(){return this._adapters.size}get adapterAdded(){return this._adapterAdded}get adapterUpdated(){return this._adapterUpdated}add(e){if(e.isDisposed){const t="A disposed object cannot be added.";console.warn(t,e);throw new Error(t)}if(this._adapters.has(e)){const t="This object already exists in the pool.";console.warn(t,e);throw new Error(t)}this._adapters.add(e);this._adapterAdded.emit(e);e.disposed.connect((()=>{this._adapters.delete(e);if(e===this._current){this._current=null;this._currentChanged.emit(this._current)}}),this);const t=this._shell.activeWidget;if(!t||!(t instanceof u.DocumentWidget)){this._current=e;this._currentChanged.emit(e)}}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;this._adapters.clear();a.Signal.clearData(this)}find(e){const t=this._adapters.values();for(const n of t){if(e(n)){return n}}return undefined}forEach(e){this._adapters.forEach(e)}filter(e){const t=[];this.forEach((n=>{if(e(n)){t.push(n)}}));return t}has(e){return this._adapters.has(e)}}var m=n(40959);var g=n(5592);var f;(function(e){e.URL_NS="lsp"})(f||(f={}));const v=new g.Token("@jupyterlab/lsp:ILSPDocumentConnectionManager","Provides the virtual documents and language server connections service.");const _=new g.Token("@jupyterlab/lsp:ILSPFeatureManager","Provides the language server feature manager. This token is required to register new client capabilities.");const b=new g.Token("@jupyterlab/lsp:ILSPCodeExtractorsManager","Provides the code extractor manager. This token is required in your extension to register code extractor allowing the creation of multiple virtual document from an opened document.");const y=new g.Token("@jupyterlab/lsp:IWidgetLSPAdapterTracker","Provides the WidgetLSPAdapter tracker. This token is required in your extension to track WidgetLSPAdapters.");var w;(function(e){let t;(function(e){e["PUBLISH_DIAGNOSTICS"]="textDocument/publishDiagnostics";e["SHOW_MESSAGE"]="window/showMessage";e["LOG_TRACE"]="$/logTrace";e["LOG_MESSAGE"]="window/logMessage"})(t=e.ServerNotification||(e.ServerNotification={}));let n;(function(e){e["DID_CHANGE"]="textDocument/didChange";e["DID_CHANGE_CONFIGURATION"]="workspace/didChangeConfiguration";e["DID_OPEN"]="textDocument/didOpen";e["DID_SAVE"]="textDocument/didSave";e["INITIALIZED"]="initialized";e["SET_TRACE"]="$/setTrace"})(n=e.ClientNotification||(e.ClientNotification={}));let i;(function(e){e["REGISTER_CAPABILITY"]="client/registerCapability";e["SHOW_MESSAGE_REQUEST"]="window/showMessageRequest";e["UNREGISTER_CAPABILITY"]="client/unregisterCapability";e["WORKSPACE_CONFIGURATION"]="workspace/configuration"})(i=e.ServerRequest||(e.ServerRequest={}));let s;(function(e){e["CODE_ACTION"]="textDocument/codeAction";e["COMPLETION"]="textDocument/completion";e["COMPLETION_ITEM_RESOLVE"]="completionItem/resolve";e["DEFINITION"]="textDocument/definition";e["DOCUMENT_COLOR"]="textDocument/documentColor";e["DOCUMENT_HIGHLIGHT"]="textDocument/documentHighlight";e["DOCUMENT_SYMBOL"]="textDocument/documentSymbol";e["HOVER"]="textDocument/hover";e["IMPLEMENTATION"]="textDocument/implementation";e["INITIALIZE"]="initialize";e["REFERENCES"]="textDocument/references";e["RENAME"]="textDocument/rename";e["SIGNATURE_HELP"]="textDocument/signatureHelp";e["TYPE_DEFINITION"]="textDocument/typeDefinition";e["LINKED_EDITING_RANGE"]="textDocument/linkedEditingRange";e["INLINE_VALUE"]="textDocument/inlineValue";e["INLAY_HINT"]="textDocument/inlayHint";e["WORKSPACE_SYMBOL"]="workspace/symbol";e["WORKSPACE_SYMBOL_RESOLVE"]="workspaceSymbol/resolve";e["FORMATTING"]="textDocument/formatting";e["RANGE_FORMATTING"]="textDocument/rangeFormatting"})(s=e.ClientRequest||(e.ClientRequest={}))})(w||(w={}));async function C(e){return new Promise((t=>{setTimeout((()=>{t()}),e)}))}function x(e,t=35,n=50,i=e=>e){return(async()=>{let s=0;while(e()!==true){s+=1;if(t!==-1&&s>t){throw Error("Too many retrials")}n=i(n);await C(n)}return e})()}function S(e){const t=[];for(let n in e){const i=j(n.split("."),e[n]);t.push(i)}return s()({},...t)}const j=(e,t)=>{const n=Object.create(null);let i=n;e.forEach(((n,s)=>{i[n]=Object.create(null);if(s===e.length-1){i[n]=t}else{i=i[n]}}));return n};class k extends Map{constructor(e,t){super(t);this.defaultFactory=e}get(e){return this.getOrCreate(e)}getOrCreate(e,...t){if(this.has(e)){return super.get(e)}else{let n=this.defaultFactory(e,...t);this.set(e,n);return n}}}function I(e,t){const n=JSON.parse(JSON.stringify(e));const{method:i,registerOptions:s}=t;const o=i.substring(13)+"Provider";if(o){if(!s){n[o]=true}else{n[o]=JSON.parse(JSON.stringify(s))}}else{console.warn("Could not register server capability.",t);return null}return n}function T(e,t){const n=JSON.parse(JSON.stringify(e));const{method:i}=t;const s=i.substring(13)+"Provider";delete n[s];return n}var E=n(96092);class M{constructor(e){this.openedUris=new Map;this._isConnected=false;this._isInitialized=false;this._disposables=[];this._disposed=new a.Signal(this);this._isDisposed=false;this._rootUri=e.rootUri}get isConnected(){return this._isConnected}get isInitialized(){return this._isInitialized}get isReady(){return this._isConnected&&this._isInitialized}get disposed(){return this._disposed}get isDisposed(){return this._isDisposed}connect(e){this.socket=e;(0,E.listen)({webSocket:this.socket,logger:new E.ConsoleLogger,onConnection:e=>{e.listen();this._isConnected=true;this.connection=e;this.sendInitialize();const t=this.connection.onRequest("client/registerCapability",(e=>{e.registrations.forEach((e=>{try{this.serverCapabilities=I(this.serverCapabilities,e)}catch(t){console.error(t)}}))}));this._disposables.push(t);const n=this.connection.onRequest("client/unregisterCapability",(e=>{e.unregisterations.forEach((e=>{this.serverCapabilities=T(this.serverCapabilities,e)}))}));this._disposables.push(n);const i=this.connection.onClose((()=>{this._isConnected=false}));this._disposables.push(i)}})}close(){if(this.connection){this.connection.dispose()}this.openedUris.clear();this.socket.close()}sendInitialize(){if(!this._isConnected){return}this.openedUris.clear();const e=this.initializeParams();this.connection.sendRequest("initialize",e).then((e=>{this.onServerInitialized(e)}),(e=>{console.warn("LSP websocket connection initialization failure",e)}))}sendOpen(e){const t={textDocument:{uri:e.uri,languageId:e.languageId,text:e.text,version:e.version}};this.connection.sendNotification("textDocument/didOpen",t).catch(console.error);this.openedUris.set(e.uri,true);this.sendChange(e)}sendChange(e){if(!this.isReady){return}if(!this.openedUris.get(e.uri)){this.sendOpen(e);return}const t={textDocument:{uri:e.uri,version:e.version},contentChanges:[{text:e.text}]};this.connection.sendNotification("textDocument/didChange",t).catch(console.error);e.version++}sendSaved(e){if(!this.isReady){return}const t={textDocument:{uri:e.uri,version:e.version},text:e.text};this.connection.sendNotification("textDocument/didSave",t).catch(console.error)}sendConfigurationChange(e){if(!this.isReady){return}this.connection.sendNotification("workspace/didChangeConfiguration",e).catch(console.error)}dispose(){if(this._isDisposed){return}this._isDisposed=true;this._disposables.forEach((e=>{e.dispose()}));this._disposed.emit();a.Signal.clearData(this)}onServerInitialized(e){this._isInitialized=true;this.serverCapabilities=e.capabilities;this.connection.sendNotification("initialized",{}).catch(console.error);this.connection.sendNotification("workspace/didChangeConfiguration",{settings:{}}).catch(console.error)}initializeParams(){return{capabilities:{},processId:null,rootUri:this._rootUri,workspaceFolders:null}}}class D{constructor(e,t,n){this.connection=e;this.method=t;this.emitter=n}request(e){this.emitter.log(R.clientRequested,{method:this.method,message:e});return this.connection.sendRequest(this.method,e).then((t=>{this.emitter.log(R.resultForClient,{method:this.method,message:e});return t}))}}class A{constructor(e,t,n){this.connection=e;this.method=t;this.emitter=n;this.connection.onRequest(t,this._handle.bind(this));this._handler=null}setHandler(e){this._handler=e}clearHandler(){this._handler=null}_handle(e){this.emitter.log(R.serverRequested,{method:this.method,message:e});if(!this._handler){return new Promise((()=>undefined))}return this._handler(e,this.emitter).then((e=>{this.emitter.log(R.responseForServer,{method:this.method,message:e});return e}))}}const P={TEXT_DOCUMENT_SYNC:"textDocumentSync",COMPLETION:"completionProvider",HOVER:"hoverProvider",SIGNATURE_HELP:"signatureHelpProvider",DECLARATION:"declarationProvider",DEFINITION:"definitionProvider",TYPE_DEFINITION:"typeDefinitionProvider",IMPLEMENTATION:"implementationProvider",REFERENCES:"referencesProvider",DOCUMENT_HIGHLIGHT:"documentHighlightProvider",DOCUMENT_SYMBOL:"documentSymbolProvider",CODE_ACTION:"codeActionProvider",CODE_LENS:"codeLensProvider",DOCUMENT_LINK:"documentLinkProvider",COLOR:"colorProvider",DOCUMENT_FORMATTING:"documentFormattingProvider",DOCUMENT_RANGE_FORMATTING:"documentRangeFormattingProvider",DOCUMENT_ON_TYPE_FORMATTING:"documentOnTypeFormattingProvider",RENAME:"renameProvider",FOLDING_RANGE:"foldingRangeProvider",EXECUTE_COMMAND:"executeCommandProvider",SELECTION_RANGE:"selectionRangeProvider",WORKSPACE_SYMBOL:"workspaceSymbolProvider",WORKSPACE:"workspace"};function L(e,t){const n={};for(let i of Object.values(e)){n[i]=t(i)}return n}var R;(function(e){e[e["clientNotifiedServer"]=0]="clientNotifiedServer";e[e["serverNotifiedClient"]=1]="serverNotifiedClient";e[e["serverRequested"]=2]="serverRequested";e[e["clientRequested"]=3]="clientRequested";e[e["resultForClient"]=4]="resultForClient";e[e["responseForServer"]=5]="responseForServer"})(R||(R={}));class N extends M{constructor(e){super(e);this._closingManually=false;this._closeSignal=new a.Signal(this);this._errorSignal=new a.Signal(this);this._serverInitialized=new a.Signal(this);this._options=e;this.logAllCommunication=false;this.serverIdentifier=e.serverIdentifier;this.serverLanguage=e.languageId;this.documentsToOpen=[];this.clientNotifications=this.constructNotificationHandlers(w.ClientNotification);this.serverNotifications=this.constructNotificationHandlers(w.ServerNotification)}get closeSignal(){return this._closeSignal}get errorSignal(){return this._errorSignal}get serverInitialized(){return this._serverInitialized}dispose(){if(this.isDisposed){return}if(this.serverRequests){Object.values(this.serverRequests).forEach((e=>e.clearHandler()))}this.close();super.dispose()}log(e,t){if(this.logAllCommunication){console.log(e,t)}}sendOpenWhenReady(e){if(this.isReady){this.sendOpen(e)}else{this.documentsToOpen.push(e)}}sendSelectiveChange(e,t){this._sendChange([e],t)}sendFullTextChange(e,t){this._sendChange([{text:e}],t)}provides(e){return!!(this.serverCapabilities&&this.serverCapabilities[e])}close(){try{this._closingManually=true;super.close()}catch(e){this._closingManually=false}}connect(e){super.connect(e);x((()=>this.isConnected),-1).then((()=>{const e=this.connection.onClose((()=>{this._isConnected=false;this._closeSignal.emit(this._closingManually)}));this._disposables.push(e)})).catch((()=>{console.error("Could not connect onClose signal")}))}async getCompletionResolve(e){if(!this.isReady){return}return this.connection.sendRequest("completionItem/resolve",e)}constructNotificationHandlers(e){const t=()=>new a.Signal(this);return L(e,t)}constructClientRequestHandler(e){return L(e,(e=>new D(this.connection,e,this)))}constructServerRequestHandler(e){return L(e,(e=>new A(this.connection,e,this)))}initializeParams(){return{...super.initializeParams(),capabilities:this._options.capabilities,initializationOptions:null,processId:null,workspaceFolders:null}}onServerInitialized(e){this.afterInitialized();super.onServerInitialized(e);while(this.documentsToOpen.length){this.sendOpen(this.documentsToOpen.pop())}this._serverInitialized.emit(this.serverCapabilities)}afterInitialized(){const e=this.connection.onError((e=>this._errorSignal.emit(e)));this._disposables.push(e);for(const t of Object.values(w.ServerNotification)){const e=this.serverNotifications[t];const n=this.connection.onNotification(t,(n=>{this.log(R.serverNotifiedClient,{method:t,message:n});e.emit(n)}));this._disposables.push(n)}for(const t of Object.values(w.ClientNotification)){const e=this.clientNotifications[t];e.connect(((e,n)=>{this.log(R.clientNotifiedServer,{method:t,message:n});this.connection.sendNotification(t,n).catch(console.error)}))}this.clientRequests=this.constructClientRequestHandler(w.ClientRequest);this.serverRequests=this.constructServerRequestHandler(w.ServerRequest);this.serverRequests["client/registerCapability"].setHandler((async e=>{e.registrations.forEach((e=>{try{const t=I(this.serverCapabilities,e);if(t===null){console.error(`Failed to register server capability: ${e}`);return}this.serverCapabilities=t}catch(t){console.error(t)}}))}));this.serverRequests["client/unregisterCapability"].setHandler((async e=>{e.unregisterations.forEach((e=>{this.serverCapabilities=T(this.serverCapabilities,e)}))}));this.serverRequests["workspace/configuration"].setHandler((async e=>e.items.map((e=>null))))}_sendChange(e,t){if(!this.isReady){return}if(t.uri.length===0){return}if(!this.openedUris.get(t.uri)){this.sendOpen(t)}const n={textDocument:{uri:t.uri,version:t.version},contentChanges:e};this.connection.sendNotification("textDocument/didChange",n).catch(console.error);t.version++}}class B{constructor(e){this.onNewConnection=e=>{const t=(t,n)=>{console.error(n);let i=n.length&&n.length>=1?n[0]:new Error;if(i.message.indexOf("code = 1005")!==-1){console.error(`Connection failed for ${e}`);this._forEachDocumentOfConnection(e,(t=>{console.error("disconnecting "+t.uri);this._closed.emit({connection:e,virtualDocument:t});this._ignoredLanguages.add(t.language);console.error(`Cancelling further attempts to connect ${t.uri} and other documents for this language (no support from the server)`)}))}else if(i.message.indexOf("code = 1006")!==-1){console.error("Connection closed by the server")}else{console.error("Connection error:",n)}};e.errorSignal.connect(t);const n=()=>{this._forEachDocumentOfConnection(e,(t=>{this._initialized.emit({connection:e,virtualDocument:t})}));this.updateServerConfigurations(this.initialConfigurations)};e.serverInitialized.connect(n);const i=(t,n)=>{if(!n){console.error("Connection unexpectedly disconnected")}else{console.log("Connection closed");this._forEachDocumentOfConnection(e,(t=>{this._closed.emit({connection:e,virtualDocument:t})}))}};e.closeSignal.connect(i)};this._initialized=new a.Signal(this);this._connected=new a.Signal(this);this._disconnected=new a.Signal(this);this._closed=new a.Signal(this);this._documentsChanged=new a.Signal(this);this.connections=new Map;this.documents=new Map;this.adapters=new Map;this._ignoredLanguages=new Set;this.languageServerManager=e.languageServerManager;O.setLanguageServerManager(e.languageServerManager);e.adapterTracker.adapterAdded.connect(((e,t)=>{const n=t.widget.context.path;this.registerAdapter(n,t)}))}get initialized(){return this._initialized}get connected(){return this._connected}get disconnected(){return this._disconnected}get closed(){return this._closed}get documentsChanged(){return this._documentsChanged}get ready(){return O.getLanguageServerManager().ready}connectDocumentSignals(e){e.foreignDocumentOpened.connect(this.onForeignDocumentOpened,this);e.foreignDocumentClosed.connect(this.onForeignDocumentClosed,this);this.documents.set(e.uri,e);this._documentsChanged.emit(this.documents)}disconnectDocumentSignals(e,t=true){e.foreignDocumentOpened.disconnect(this.onForeignDocumentOpened,this);e.foreignDocumentClosed.disconnect(this.onForeignDocumentClosed,this);this.documents.delete(e.uri);for(const n of e.foreignDocuments.values()){this.disconnectDocumentSignals(n,false)}if(t){this._documentsChanged.emit(this.documents)}}onForeignDocumentOpened(e,t){}onForeignDocumentClosed(e,t){const{foreignDocument:n}=t;this.unregisterDocument(n.uri,false);this.disconnectDocumentSignals(n)}registerAdapter(e,t){this.adapters.set(e,t);t.widget.context.pathChanged.connect(((n,i)=>{this.adapters.delete(e);this.adapters.set(i,t)}));t.disposed.connect((()=>{if(t.virtualDocument){this.documents.delete(t.virtualDocument.uri)}this.adapters.delete(e)}))}updateConfiguration(e){this.languageServerManager.setConfiguration(e)}updateServerConfigurations(e){let t;for(t in e){if(!e.hasOwnProperty(t)){continue}const n=e[t];const i=S(n.configuration||{});const s={settings:i};O.updateServerConfiguration(t,s)}}async retryToConnect(e,t,n=-1){let{virtualDocument:i}=e;if(this._ignoredLanguages.has(i.language)){return}let s=t*1e3;let o=false;while(n!==0&&!o){await this.connect(e).then((()=>{o=true})).catch((e=>{console.warn(e)}));console.log("will attempt to re-connect in "+s/1e3+" seconds");await C(s);s=s<5*1e3?s+500:s}}disconnect(e){O.disconnect(e)}async connect(e,t=30,n=5){let i=await this._connectSocket(e);let{virtualDocument:s}=e;if(!i){return}if(!i.isReady){try{await x((()=>i.isReady),Math.round(t*1e3/150),150)}catch(o){console.log(`Connection to ${s.uri} timed out after ${t} seconds, will continue retrying for another ${n} minutes`);try{await x((()=>i.isReady),60*n,1e3)}catch(r){console.log(`Connection to ${s.uri} timed out again after ${n} minutes, giving up`);return}}}this._connected.emit({connection:i,virtualDocument:s});return i}unregisterDocument(e,t=true){const n=this.connections.get(e);if(n){this.connections.delete(e);const i=new Set(this.connections.values());if(!i.has(n)){this.disconnect(n.serverIdentifier);n.dispose()}if(t){this._documentsChanged.emit(this.documents)}}}updateLogging(e,t){for(const n of this.connections.values()){n.logAllCommunication=e;if(t!==null){n.clientNotifications["$/setTrace"].emit({value:t})}}}async _connectSocket(e){let{language:t,capabilities:n,virtualDocument:i}=e;this.connectDocumentSignals(i);const s=B.solveUris(i,t);const o=this.languageServerManager.getMatchingServers({language:t});const r=o.length===0?null:o[0];if(!s){return}const a=await O.connection(t,r,s,this.onNewConnection,n);this.connections.set(i.uri,a);return a}_forEachDocumentOfConnection(e,t){for(const[n,i]of this.connections.entries()){if(e!==i){continue}t(this.documents.get(n))}}}(function(e){function t(e,t){var n;const i=O.getLanguageServerManager();const s=i.settings.wsUrl;const o=m.PageConfig.getOption("rootUri");const r=m.PageConfig.getOption("virtualDocumentsUri");const a={language:t};const l=i.getMatchingServers(a);const d=l.length===0?null:l[0];if(d===null){return}const c=i.getMatchingSpecs(a);const h=c.get(d);if(!h){console.warn(`Specification not available for server ${d}`)}const u=(n=h===null||h===void 0?void 0:h.requires_documents_on_disk)!==null&&n!==void 0?n:true;const p=!u;const g=e.hasLspSupportedFile||p?o:r;let f=m.URLExt.join(g,e.uri);if(!f.startsWith("file:///")&&f.startsWith("file://")){f=f.replace("file://","file:///");if(f.startsWith("file:///users/")&&g.startsWith("file:///Users/")){f=f.replace("file:///users/","file:///Users/")}}return{base:g,document:f,server:m.URLExt.join("ws://jupyter-lsp",t),socket:m.URLExt.join(s,"lsp","ws",d)}}e.solveUris=t})(B||(B={}));var O;(function(e){const t=new Map;let n;function i(){return n}e.getLanguageServerManager=i;function s(e){n=e}e.setLanguageServerManager=s;function o(e){const n=t.get(e);if(n){n.close();t.delete(e)}}e.disconnect=o;async function r(n,i,s,o,r){let a=t.get(i);if(!a){const{settings:a}=e.getLanguageServerManager();const l=new a.WebSocket(s.socket);const d=new N({languageId:n,serverUri:s.server,rootUri:s.base,serverIdentifier:i,capabilities:r});t.set(i,d);d.connect(l);o(d)}a=t.get(i);return a}e.connection=r;function a(e,n){const i=t.get(e);if(i){i.sendConfigurationChange(n)}}e.updateServerConfiguration=a})(O||(O={}));class F{constructor(){this._extractorMap=new Map;this._extractorMapAnyLanguage=new Map}getExtractors(e,t){var n,i;if(t){const i=this._extractorMap.get(e);if(!i){return[]}return(n=i.get(t))!==null&&n!==void 0?n:[]}else{return(i=this._extractorMapAnyLanguage.get(e))!==null&&i!==void 0?i:[]}}register(e,t){const n=e.cellType;if(t){n.forEach((n=>{if(!this._extractorMap.has(n)){this._extractorMap.set(n,new Map)}const i=this._extractorMap.get(n);const s=i.get(t);if(!s){i.set(t,[e])}else{s.push(e)}}))}else{n.forEach((t=>{if(!this._extractorMapAnyLanguage.has(t)){this._extractorMapAnyLanguage.set(t,[])}this._extractorMapAnyLanguage.get(t).push(e)}))}}}function z(e,t){return t&&e.line===t.line&&e.ch===t.ch}function W(e,t){let n=0;let i=0;for(let s of t){if(s.length+1<=e){e-=s.length+1;n+=1}else{i=e;break}}return{line:n,column:i}}function H(e,t,n=false){let i=n?0:1;let s=0;for(let o=0;o<t.length;o++){let n=t[o];if(e.line>o){s+=n.length+i}else{s+=e.column;break}}return s}var V;(function(e){function t(e,t){const{line:n,character:i}=e;return n>=t.start.line&&n<=t.end.line&&(n!=t.start.line||i>t.start.character)&&(n!=t.end.line||i<=t.end.character)}e.isWithinRange=t})(V||(V={}));class U{constructor(e){this.language=e.language;this.standalone=e.isStandalone;this.fileExtension=e.file_extension;this.cellType=e.cellType}hasForeignCode(e,t){return this.cellType.includes(t)}extractForeignCode(e){let t=e.split("\n");let n=new Array;let i=e;let s=W(0,t);let o=W(i.length,t);n.push({hostCode:"",foreignCode:i,range:{start:s,end:o},virtualShift:null});return n}}class q{constructor(){this.features=[];this._featureRegistered=new a.Signal(this)}get featureRegistered(){return this._featureRegistered}register(e){if(this.features.some((t=>t.id===e.id))){console.warn(`Feature with id ${e.id} is already registered, skipping.`)}else{this.features.push(e);this._featureRegistered.emit(e)}}clientCapabilities(){let e={};for(const t of this.features){if(!t.capabilities){continue}e=s()(e,t.capabilities)}return e}extensionFactories(){const e=[];for(const t of this.features){if(!t.extensionFactory){continue}e.push(t.extensionFactory)}return e}}var $=n(49278);class K{constructor(e){this._sessions=new Map;this._specs=new Map;this._warningsEmitted=new Set;this._ready=new g.PromiseDelegate;this._sessionsChanged=new a.Signal(this);this._isDisposed=false;this._enabled=true;this._settings=e.settings||$.ServerConnection.makeSettings();this._baseUrlOverride=e.baseUrl;this._retries=e.retries||2;this._retriesInterval=e.retriesInterval||1e4;this._statusCode=-1;this._configuration={};this.fetchSessions().catch((e=>console.log(e)))}get isEnabled(){return this._enabled}get isDisposed(){return this._isDisposed}get settings(){return this._settings}get specs(){return this._specs}get statusUrl(){return m.URLExt.join(this._baseUrl,f.URL_NS,"status")}get sessionsChanged(){return this._sessionsChanged}get sessions(){return this._sessions}get ready(){return this._ready.promise}get statusCode(){return this._statusCode}async enable(){this._enabled=true;await this.fetchSessions()}disable(){this._enabled=false;this._sessions=new Map;this._sessionsChanged.emit(void 0)}dispose(){if(this._isDisposed){return}this._isDisposed=true;a.Signal.clearData(this)}setConfiguration(e){this._configuration=e}getMatchingServers(e){if(!e.language){console.error("Cannot match server by language: language not available; ensure that kernel and specs provide language and MIME type");return[]}const t=[];for(const[n,i]of this._sessions.entries()){if(this.isMatchingSpec(e,i.spec)){t.push(n)}}return t.sort(this.compareRanks.bind(this))}getMatchingSpecs(e){const t=new Map;for(const[n,i]of this._specs.entries()){if(this.isMatchingSpec(e,i)){t.set(n,i)}}return t}async fetchSessions(){if(!this._enabled){return}let e=await $.ServerConnection.makeRequest(this.statusUrl,{method:"GET"},this._settings);this._statusCode=e.status;if(!e.ok){if(this._retries>0){this._retries-=1;setTimeout(this.fetchSessions.bind(this),this._retriesInterval)}else{this._ready.resolve(undefined);console.log("Missing jupyter_lsp server extension, skipping.")}return}let t;try{const n=await e.json();t=n.sessions;try{this.version=n.version;this._specs=new Map(Object.entries(n.specs))}catch(i){console.warn(i)}}catch(i){console.warn(i);this._ready.resolve(undefined);return}for(let s of Object.keys(t)){let e=s;if(this._sessions.has(e)){Object.assign(this._sessions.get(e)||{},t[s])}else{this._sessions.set(e,t[s])}}const n=this._sessions.keys();for(const s in n){if(!t[s]){let e=s;this._sessions.delete(e)}}this._sessionsChanged.emit(void 0);this._ready.resolve(undefined)}isMatchingSpec(e,t){const n=e.language.toLocaleLowerCase();return t.languages.some((e=>e.toLocaleLowerCase()==n))}warnOnce(e){if(!this._warningsEmitted.has(e)){this._warningsEmitted.add(e);console.warn(e)}}compareRanks(e,t){var n,i,s,o;const r=50;const a=(i=(n=this._configuration[e])===null||n===void 0?void 0:n.rank)!==null&&i!==void 0?i:r;const l=(o=(s=this._configuration[t])===null||s===void 0?void 0:s.rank)!==null&&o!==void 0?o:r;if(a==l){this.warnOnce(`Two matching servers: ${e} and ${t} have the same rank; choose which one to use by changing the rank in Advanced Settings Editor`);return e.localeCompare(t)}return l-a}get _baseUrl(){return this._baseUrlOverride||this._settings.baseUrl}}function J(e,t){if(t.start.line===t.end.line){return e.line===t.start.line&&e.column>=t.start.column&&e.column<=t.end.column}return e.line===t.start.line&&e.column>=t.start.column&&e.line<t.end.line||e.line>t.start.line&&e.column<=t.end.column&&e.line===t.end.line||e.line>t.start.line&&e.line<t.end.line}class G{constructor(e){this.version=0;this._document=e}get text(){return this._document.value}get uri(){const e=B.solveUris(this._document,this.languageId);if(!e){return""}return e.document}get languageId(){return this._document.language}}class Y{constructor(e){this.blankLinesBetweenCells=2;this._isDisposed=false;this._foreignDocumentClosed=new a.Signal(this);this._foreignDocumentOpened=new a.Signal(this);this._changed=new a.Signal(this);this.options=e;this.path=this.options.path;this.fileExtension=e.fileExtension;this.hasLspSupportedFile=e.hasLspSupportedFile;this.parent=e.parent;this.language=e.language;this.virtualLines=new Map;this.sourceLines=new Map;this.foreignDocuments=new Map;this._editorToSourceLine=new Map;this._foreignCodeExtractors=e.foreignCodeExtractors;this.standalone=e.standalone||false;this.instanceId=Y.instancesCount;Y.instancesCount+=1;this.unusedStandaloneDocuments=new k((()=>new Array));this._remainingLifetime=6;this.documentInfo=new G(this);this.updateManager=new Q(this);this.updateManager.updateBegan.connect(this._updateBeganSlot,this);this.updateManager.blockAdded.connect(this._blockAddedSlot,this);this.updateManager.updateFinished.connect(this._updateFinishedSlot,this);this.clear()}static ceToCm(e){return{line:e.line,ch:e.column}}get isDisposed(){return this._isDisposed}get foreignDocumentClosed(){return this._foreignDocumentClosed}get foreignDocumentOpened(){return this._foreignDocumentOpened}get changed(){return this._changed}get virtualId(){return this.standalone?this.instanceId+"("+this.language+")":this.language}get ancestry(){if(!this.parent){return[this]}return this.parent.ancestry.concat([this])}get idPath(){if(!this.parent){return this.virtualId}return this.parent.idPath+"-"+this.virtualId}get uri(){const e=encodeURI(this.path);if(!this.parent){return e}return e+"."+this.idPath+"."+this.fileExtension}get value(){let e="\n".repeat(this.blankLinesBetweenCells);return this.lineBlocks.join(e)}get lastLine(){const e=this.lineBlocks[this.lineBlocks.length-1].split("\n");return e[e.length-1]}get root(){return this.parent?this.parent.root:this}dispose(){if(this._isDisposed){return}this._isDisposed=true;this.parent=null;this.closeAllForeignDocuments();this.updateManager.dispose();this.foreignDocuments.clear();this.sourceLines.clear();this.unusedStandaloneDocuments.clear();this.virtualLines.clear();this.documentInfo=null;this.lineBlocks=null;a.Signal.clearData(this)}clear(){this.unusedStandaloneDocuments.clear();for(let e of this.foreignDocuments.values()){e.clear();if(e.standalone){let t=this.unusedStandaloneDocuments.get(e.language);t.push(e)}}this.virtualLines.clear();this.sourceLines.clear();this.lastVirtualLine=0;this.lastSourceLine=0;this.lineBlocks=[]}documentAtSourcePosition(e){let t=this.sourceLines.get(e.line);if(!t){return this}let n={line:t.editorLine,column:e.ch};for(let[i,{virtualDocument:s}]of t.foreignDocumentsMap){if(J(n,i)){let e={line:n.line-i.start.line,ch:n.column-i.start.column};return s.documentAtSourcePosition(e)}}return this}isWithinForeign(e){let t=this.sourceLines.get(e.line);let n={line:t.editorLine,column:e.ch};for(let[i]of t.foreignDocumentsMap){if(J(n,i)){return true}}return false}transformFromEditorToRoot(e,t){if(!this._editorToSourceLine.has(e)){console.log("Editor not found in _editorToSourceLine map");return null}let n=this._editorToSourceLine.get(e);return{...t,line:t.line+n}}virtualPositionAtDocument(e){let t=this.sourceLines.get(e.line);if(t==null){throw new Error("Source line not mapped to virtual position")}let n=t.virtualLine;let i={line:t.editorLine,column:e.ch};for(let[s,o]of t.foreignDocumentsMap){const{virtualLine:e,virtualDocument:t}=o;if(J(i,s)){let n={line:i.line-s.start.line,ch:i.column-s.start.column};if(t.isWithinForeign(n)){return this.virtualPositionAtDocument(n)}else{n.line+=e;return n}}}return{ch:e.ch,line:n}}appendCodeBlock(e,t={line:0,column:0},n){let i=e.value;let s=e.ceEditor;if(this.isDisposed){console.warn("Cannot append code block: document disposed");return}let o=i.split("\n");let{lines:r,foreignDocumentsMap:a}=this.prepareCodeBlock(e,t);for(let l=0;l<r.length;l++){this.virtualLines.set(this.lastVirtualLine+l,{skipInspect:[],editor:s,sourceLine:this.lastSourceLine+l})}for(let l=0;l<o.length;l++){this.sourceLines.set(this.lastSourceLine+l,{editorLine:l,editorShift:{line:t.line-((n===null||n===void 0?void 0:n.line)||0),column:l===0?t.column-((n===null||n===void 0?void 0:n.column)||0):0},editor:s,foreignDocumentsMap:a,virtualLine:this.lastVirtualLine+l})}this.lastVirtualLine+=r.length;this.lineBlocks.push(r.join("\n")+"\n");for(let l=0;l<this.blankLinesBetweenCells;l++){this.virtualLines.set(this.lastVirtualLine+l,{skipInspect:[this.idPath],editor:s,sourceLine:null})}this.lastVirtualLine+=this.blankLinesBetweenCells;this.lastSourceLine+=o.length}prepareCodeBlock(e,t={line:0,column:0}){let{cellCodeKept:n,foreignDocumentsMap:i}=this.extractForeignCode(e,t);let s=n.split("\n");return{lines:s,foreignDocumentsMap:i}}extractForeignCode(e,t){let n=new Map;let i=e.value;const s=this._foreignCodeExtractors.getExtractors(e.type,null);const o=this._foreignCodeExtractors.getExtractors(e.type,this.language);for(let r of[...s,...o]){if(!r.hasForeignCode(i,e.type)){continue}let s=r.extractForeignCode(i);let o="";for(let i of s){if(i.foreignCode!==null){if(i.range===null){console.log("Failure in foreign code extraction: `range` is null but `foreign_code` is not!");continue}let s=this._chooseForeignDocument(r);n.set(i.range,{virtualLine:s.lastVirtualLine,virtualDocument:s,editor:e.ceEditor});let o={line:t.line+i.range.start.line,column:t.column+i.range.start.column};s.appendCodeBlock({value:i.foreignCode,ceEditor:e.ceEditor,type:"code"},o,i.virtualShift)}if(i.hostCode!=null){o+=i.hostCode}}i=o}return{cellCodeKept:i,foreignDocumentsMap:n}}closeForeign(e){this._foreignDocumentClosed.emit({foreignDocument:e,parentHost:this});this.foreignDocuments.delete(e.virtualId);e.closeAllForeignDocuments();e.foreignDocumentClosed.disconnect(this.forwardClosedSignal,this);e.foreignDocumentOpened.disconnect(this.forwardOpenedSignal,this);e.dispose()}closeAllForeignDocuments(){for(let e of this.foreignDocuments.values()){this.closeForeign(e)}}closeExpiredDocuments(){const e=new Set;for(const s of this.sourceLines.values()){for(const t of s.foreignDocumentsMap.values()){e.add(t.virtualDocument)}}const t=new Map;for(const[s,o]of this.foreignDocuments.entries()){const e=t.get(o);if(typeof e!=="undefined"){t.set(o,[...e,s])}t.set(o,[s])}const n=new Set(t.keys());const i=new Set([...n].filter((t=>!e.has(t))));for(let s of i.values()){s.remainingLifetime-=1;if(s.remainingLifetime<=0){s.dispose();const e=t.get(s);for(const t of e){this.foreignDocuments.delete(t)}}}}transformSourceToEditor(e){let t=this.sourceLines.get(e.line);let n=t.editorLine;let i=t.editorShift;return{ch:e.ch+(n===0?i.column:0),line:n+i.line}}transformVirtualToEditor(e){let t=this.transformVirtualToSource(e);if(t==null){return null}return this.transformSourceToEditor(t)}transformVirtualToSource(e){const t=this.virtualLines.get(e.line).sourceLine;if(t==null){return null}return{ch:e.ch,line:t}}transformVirtualToRoot(e){var t;const n=(t=this.virtualLines.get(e.line))===null||t===void 0?void 0:t.editor;const i=this.transformVirtualToEditor(e);if(!n||!i){return null}return this.root.transformFromEditorToRoot(n,i)}getEditorAtVirtualLine(e){let t=e.line;if(!this.virtualLines.has(t)){t-=1}return this.virtualLines.get(t).editor}getEditorAtSourceLine(e){return this.sourceLines.get(e.line).editor}maybeEmitChanged(){if(this.value!==this.previousValue){this._changed.emit(this)}this.previousValue=this.value;for(let e of this.foreignDocuments.values()){e.maybeEmitChanged()}}get remainingLifetime(){if(!this.parent){return Infinity}return this._remainingLifetime}set remainingLifetime(e){if(this.parent){this._remainingLifetime=e}}_chooseForeignDocument(e){let t;let n=this.foreignDocuments.has(e.language);if(!e.standalone&&n){t=this.foreignDocuments.get(e.language)}else{let n=this.unusedStandaloneDocuments.get(e.language);if(e.standalone&&n.length>0){t=n.pop()}else{t=this.openForeign(e.language,e.standalone,e.fileExtension)}}return t}openForeign(e,t,n){let i=new this.constructor({...this.options,parent:this,standalone:t,fileExtension:n,language:e});const s={foreignDocument:i,parentHost:this};this._foreignDocumentOpened.emit(s);i.foreignDocumentClosed.connect(this.forwardClosedSignal,this);i.foreignDocumentOpened.connect(this.forwardOpenedSignal,this);this.foreignDocuments.set(i.virtualId,i);return i}forwardClosedSignal(e,t){this._foreignDocumentClosed.emit(t)}forwardOpenedSignal(e,t){this._foreignDocumentOpened.emit(t)}_updateBeganSlot(){this._editorToSourceLineNew=new Map}_blockAddedSlot(e,t){this._editorToSourceLineNew.set(t.block.ceEditor,t.virtualDocument.lastSourceLine)}_updateFinishedSlot(){this._editorToSourceLine=this._editorToSourceLineNew}}Y.instancesCount=0;function X(e){let t=new Set;t.add(e);for(let n of e.foreignDocuments.values()){let e=X(n);e.forEach(t.add,t)}return t}class Q{constructor(e){this.virtualDocument=e;this._isDisposed=false;this._updateDone=new Promise((e=>{e()}));this._isUpdateInProgress=false;this._updateLock=false;this._blockAdded=new a.Signal(this);this._documentUpdated=new a.Signal(this);this._updateBegan=new a.Signal(this);this._updateFinished=new a.Signal(this);this.documentUpdated.connect(this._onUpdated,this)}get updateDone(){return this._updateDone}get isDisposed(){return this._isDisposed}get blockAdded(){return this._blockAdded}get documentUpdated(){return this._documentUpdated}get updateBegan(){return this._updateBegan}get updateFinished(){return this._updateFinished}dispose(){if(this._isDisposed){return}this._isDisposed=true;this.documentUpdated.disconnect(this._onUpdated);a.Signal.clearData(this)}async withUpdateLock(e){await x((()=>this._canUpdate()),12,10).then((()=>{try{this._updateLock=true;e()}finally{this._updateLock=false}}))}async updateDocuments(e){let t=new Promise(((t,n)=>{x((()=>this._canUpdate()),10,5).then((()=>{if(this.isDisposed||!this.virtualDocument){t()}try{this._isUpdateInProgress=true;this._updateBegan.emit(e);this.virtualDocument.clear();for(let t of e){this._blockAdded.emit({block:t,virtualDocument:this.virtualDocument});this.virtualDocument.appendCodeBlock(t)}this._updateFinished.emit(e);if(this.virtualDocument){this._documentUpdated.emit(this.virtualDocument);this.virtualDocument.maybeEmitChanged()}t()}catch(i){console.warn("Documents update failed:",i);n(i)}finally{this._isUpdateInProgress=false}})).catch(console.error)}));this._updateDone=t;return t}_onUpdated(e,t){try{t.closeExpiredDocuments()}catch(n){console.warn("Failed to close expired documents")}}_canUpdate(){return!this.isDisposed&&!this._isUpdateInProgress&&!this._updateLock}}},13137:(e,t,n)=>{"use strict";var i=n(10395);var s=n(97913);var o=n(17325);var r=n(23359);var a=n(79010)},72825:(e,t,n)=>{"use strict";n.r(t);n.d(t,{CommandIDs:()=>w,default:()=>M});var i=n(88617);var s=n(38850);var o=n(40959);var r=n(89433);var a=n(49278);var l=n(40065);var d=n(34881);var c=n(4073);var h=n(34236);var u=n(5592);var p=n(27518);var m=n(11927);var g=n(44577);const f="@jupyterlab/mainmenu-extension:recents";var v;(function(e){e.openRecent="recentmenu:open-recent";e.reopenLast="recentmenu:reopen-last";e.clearRecents="docmanager:clear-recents"})(v||(v={}));class _ extends p.Menu{constructor(e){super(e);this._manager=e.manager;this._showDirectories=e.showDirectories;this.updateItems();this._manager.changed.connect(this.updateItems,this)}async _validateRecentlyOpened(){return void Promise.all(this._manager.recentlyOpened.map((e=>this._manager.validate(e))))}onBeforeAttach(e){const t=new u.PromiseDelegate;setTimeout((()=>{t.reject("Recents validation timed out.")}),550);Promise.race([t.promise,this._validateRecentlyOpened()]).then((()=>{this.update()})).catch((()=>{}));super.onBeforeAttach(e)}updateItems(){this.clearItems();this.addItem({command:v.reopenLast});this.addItem({type:"separator"});let e=true;let t=false;this._manager.recentlyOpened.sort(((e,t)=>{if(e.contentType===t.contentType){return 0}else{return e.contentType!=="directory"?1:-1}})).forEach((n=>{const i=n.contentType==="directory";if(i){if(!this._showDirectories){return}t=true}else if(e&&t){e=false;this.addItem({type:"separator"})}this.addItem({command:v.openRecent,args:{recent:n}})}));this.addItem({type:"separator"});this.addItem({command:v.clearRecents})}}const b={id:f,description:"Adds sub-menu for opening recent documents to the File section of the main menu.",autoStart:true,requires:[m.IRecentsManager,r.IMainMenu],optional:[g.IFileBrowserCommands,d.ITranslator],activate:(e,t,n,i,r)=>{const{commands:a}=e;const l=(r!==null&&r!==void 0?r:d.nullTranslator).load("jupyterlab");const c=i!==null;const h=async e=>{const n=await t.validate(e);if(!n){await(0,s.showErrorMessage)(l.__("Could Not Open Recent"),l.__("%1 is no longer valid and will be removed from the list",e.path))}return n};a.addCommand(v.openRecent,{execute:async e=>{const t=e.recent;const n=t.path===""?"/":t.path;const s=await h(t);if(!s){return}if(i&&t.contentType==="directory"){await a.execute(i.openPath,{path:n})}else{await a.execute("docmanager:open",{path:n,factory:t.factory})}},label:e=>{const t=e.recent;if(t){return o.PathExt.joinWithLeadingSlash(t.root,t.path)}else{return l.__("Open a Recent Document (given by `recent` argument)")}},isEnabled:e=>t.recentlyOpened.includes(e.recent),describedBy:{args:{type:"object",properties:{recent:{type:"object",description:l.__("Recent document to open")}}}}});e.commands.addCommand(v.reopenLast,{execute:async()=>{const e=t.recentlyClosed[0];if(!e){return}const n=await h(e);if(!n){return}await a.execute("docmanager:open",{path:e.path,factory:e.factory});t.removeRecent(e,"closed")},label:()=>{const e=t.recentlyClosed[0];return e?l.__("Reopen %1",e.path):l.__("Reopen Closed Document")},isEnabled:()=>t.recentlyClosed.length!==0,caption:l.__("Reopen recently closed file or notebook."),describedBy:{args:{type:"object",properties:{}}}});const u=new _({commands:a,manager:t,showDirectories:c});u.title.label=l.__("Open Recent");n.fileMenu.addItem({type:"submenu",submenu:u,rank:1})}};const y="@jupyterlab/mainmenu-extension:plugin";var w;(function(e){e.openEdit="editmenu:open";e.undo="editmenu:undo";e.redo="editmenu:redo";e.clearCurrent="editmenu:clear-current";e.clearAll="editmenu:clear-all";e.find="editmenu:find";e.goToLine="editmenu:go-to-line";e.openFile="filemenu:open";e.closeAndCleanup="filemenu:close-and-cleanup";e.createConsole="filemenu:create-console";e.shutdown="filemenu:shutdown";e.logout="filemenu:logout";e.openKernel="kernelmenu:open";e.interruptKernel="kernelmenu:interrupt";e.reconnectToKernel="kernelmenu:reconnect-to-kernel";e.restartKernel="kernelmenu:restart";e.restartKernelAndClear="kernelmenu:restart-and-clear";e.changeKernel="kernelmenu:change";e.shutdownKernel="kernelmenu:shutdown";e.shutdownAllKernels="kernelmenu:shutdownAll";e.openView="viewmenu:open";e.wordWrap="viewmenu:word-wrap";e.lineNumbering="viewmenu:line-numbering";e.minimap="viewmenu:show-minimap";e.matchBrackets="viewmenu:match-brackets";e.openRun="runmenu:open";e.run="runmenu:run";e.runAll="runmenu:run-all";e.restartAndRunAll="runmenu:restart-and-run-all";e.runAbove="runmenu:run-above";e.runBelow="runmenu:run-below";e.openTabs="tabsmenu:open";e.activateById="tabsmenu:activate-by-id";e.activatePreviouslyUsedTab="tabsmenu:activate-previously-used-tab";e.openSettings="settingsmenu:open";e.openHelp="helpmenu:open";e.getKernel="helpmenu:get-kernel";e.openFirst="mainmenu:open-first"})(w||(w={}));const C={id:y,description:"Adds and provides the application main menu.",requires:[i.IRouter,d.ITranslator],optional:[s.ICommandPalette,i.ILabShell,l.ISettingRegistry],provides:r.IMainMenu,activate:async(e,t,n,i,s,a)=>{const{commands:l}=e;const d=n.load("jupyterlab");const c=new r.MainMenu(l);c.id="jp-MainMenu";c.addClass("jp-scrollbar-tiny");if(a){await D.loadSettingsMenu(a,(e=>{c.addMenu(e,false,{rank:e.rank})}),(e=>r.MainMenu.generateMenu(l,e,d)),n);c.update()}const h=o.PageConfig.getOption("quitButton").toLowerCase();c.fileMenu.quitEntry=h==="true";x(e,c.editMenu,d);S(e,c.fileMenu,t,d);j(e,c.kernelMenu,d);I(e,c.runMenu,d);k(e,c.viewMenu,d);E(e,c.helpMenu,d);if(s){T(e,c.tabsMenu,s,d)}const u=e=>{c.activeMenu=e;c.openActiveMenu()};l.addCommand(w.openEdit,{label:d.__("Open Edit Menu"),execute:()=>u(c.editMenu),describedBy:{args:{type:"object",properties:{}}}});l.addCommand(w.openFile,{label:d.__("Open File Menu"),execute:()=>u(c.fileMenu),describedBy:{args:{type:"object",properties:{}}}});l.addCommand(w.openKernel,{label:d.__("Open Kernel Menu"),execute:()=>u(c.kernelMenu),describedBy:{args:{type:"object",properties:{}}}});l.addCommand(w.openRun,{label:d.__("Open Run Menu"),execute:()=>u(c.runMenu),describedBy:{args:{type:"object",properties:{}}}});l.addCommand(w.openView,{label:d.__("Open View Menu"),execute:()=>u(c.viewMenu),describedBy:{args:{type:"object",properties:{}}}});l.addCommand(w.openSettings,{label:d.__("Open Settings Menu"),execute:()=>u(c.settingsMenu),describedBy:{args:{type:"object",properties:{}}}});l.addCommand(w.openTabs,{label:d.__("Open Tabs Menu"),execute:()=>u(c.tabsMenu),describedBy:{args:{type:"object",properties:{}}}});l.addCommand(w.openHelp,{label:d.__("Open Help Menu"),execute:()=>u(c.helpMenu),describedBy:{args:{type:"object",properties:{}}}});l.addCommand(w.openFirst,{label:d.__("Open First Menu"),execute:()=>{c.activeIndex=0;c.openActiveMenu()},describedBy:{args:{type:"object",properties:{}}}});if(i){i.addItem({command:w.shutdown,category:d.__("Main Area")});i.addItem({command:w.logout,category:d.__("Main Area")});i.addItem({command:w.shutdownAllKernels,category:d.__("Kernel Operations")});i.addItem({command:w.activatePreviouslyUsedTab,category:d.__("Main Area")})}e.shell.add(c,"menu",{rank:100});return c}};function x(e,t,n){const{commands:s,shell:o}=e;(0,i.addSemanticCommand)({id:w.undo,commands:s,shell:o,semanticCommands:t.undoers.undo,default:{label:n.__("Undo")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.redo,commands:s,shell:o,semanticCommands:t.undoers.redo,default:{label:n.__("Redo")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.clearCurrent,commands:s,shell:o,semanticCommands:t.clearers.clearCurrent,default:{label:n.__("Clear")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.clearAll,commands:s,shell:o,semanticCommands:t.clearers.clearAll,default:{label:n.__("Clear All")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.goToLine,commands:s,shell:o,semanticCommands:t.goToLiners,default:{label:n.__("Go to Line…")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n})}function S(e,t,n,r){const{commands:l,shell:d}=e;(0,i.addSemanticCommand)({id:w.closeAndCleanup,commands:l,shell:d,semanticCommands:t.closeAndCleaners,default:{execute:"application:close",label:r.__("Close and Shut Down"),isEnabled:true},overrides:{isEnabled:()=>!!e.shell.currentWidget&&!!e.shell.currentWidget.title.closable,describedBy:{args:{type:"object",properties:{}}}},trans:r});(0,i.addSemanticCommand)({id:w.createConsole,commands:l,shell:d,semanticCommands:t.consoleCreators,default:{label:r.__("New Console for Activity")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:r});l.addCommand(w.shutdown,{label:r.__("Shut Down"),caption:r.__("Shut down %1",e.name),isVisible:()=>t.quitEntry,isEnabled:()=>t.quitEntry,describedBy:{args:{type:"object",properties:{}}},execute:()=>(0,s.showDialog)({title:r.__("Shutdown confirmation"),body:r.__("Please confirm you want to shut down %1.",e.name),buttons:[s.Dialog.cancelButton(),s.Dialog.warnButton({label:r.__("Shut Down")})]}).then((async t=>{if(t.button.accept){const t=e.serviceManager.serverSettings;const i=o.URLExt.join(t.baseUrl,"api/shutdown");try{await Promise.all([e.serviceManager.sessions.shutdownAll(),e.serviceManager.terminals.shutdownAll()])}catch(n){console.log(`Failed to shutdown sessions and terminals: ${n}`)}return a.ServerConnection.makeRequest(i,{method:"POST"},t).then((t=>{if(t.ok){const t=document.createElement("div");const n=document.createElement("p");n.textContent=r.__("You have shut down the Jupyter server. You can now close this tab.");const i=document.createElement("p");i.textContent=r.__("To use %1 again, you will need to relaunch it.",e.name);t.appendChild(n);t.appendChild(i);void(0,s.showDialog)({title:r.__("Server stopped"),body:new p.Widget({node:t}),buttons:[]});window.close()}else{throw new a.ServerConnection.ResponseError(t)}})).catch((e=>{throw new a.ServerConnection.NetworkError(e)}))}}))});l.addCommand(w.logout,{label:r.__("Log Out"),caption:r.__("Log out of %1",e.name),isVisible:()=>t.quitEntry,isEnabled:()=>t.quitEntry,describedBy:{args:{type:"object",properties:{}}},execute:()=>{n.navigate("/logout",{hard:true})}})}function j(e,t,n){const{commands:o,shell:r}=e;(0,i.addSemanticCommand)({id:w.interruptKernel,commands:o,shell:r,semanticCommands:t.kernelUsers.interruptKernel,default:{label:n.__("Interrupt Kernel"),caption:n.__("Interrupt the kernel")},overrides:{icon:e=>e.toolbar?c.stopIcon:undefined,describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.reconnectToKernel,commands:o,shell:r,semanticCommands:t.kernelUsers.reconnectToKernel,default:{label:n.__("Reconnect to Kernel")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.restartKernel,commands:o,shell:r,semanticCommands:t.kernelUsers.restartKernel,default:{label:n.__("Restart Kernel…"),caption:n.__("Restart the kernel")},overrides:{icon:e=>e.toolbar?c.refreshIcon:undefined,describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.restartKernelAndClear,commands:o,shell:r,semanticCommands:[t.kernelUsers.restartKernel,t.kernelUsers.clearWidget],default:{label:n.__("Restart Kernel and Clear…")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.changeKernel,commands:o,shell:r,semanticCommands:t.kernelUsers.changeKernel,default:{label:n.__("Change Kernel…")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.shutdownKernel,commands:o,shell:r,semanticCommands:t.kernelUsers.shutdownKernel,default:{label:n.__("Shut Down Kernel"),caption:n.__("Shut down kernel")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n});o.addCommand(w.shutdownAllKernels,{label:n.__("Shut Down All Kernels…"),isEnabled:()=>!e.serviceManager.sessions.running().next().done,describedBy:{args:{type:"object",properties:{}}},execute:()=>(0,s.showDialog)({title:n.__("Shut Down All?"),body:n._n("Are you sure you want to permanently shut down the running kernel?","Are you sure you want to permanently shut down the %1 running kernels?",e.serviceManager.kernels.runningCount),buttons:[s.Dialog.cancelButton(),s.Dialog.warnButton({label:n.__("Shut Down All")})]}).then((t=>{if(t.button.accept){return e.serviceManager.sessions.shutdownAll()}}))})}function k(e,t,n){const{commands:s,shell:o}=e;(0,i.addSemanticCommand)({id:w.lineNumbering,commands:s,shell:o,semanticCommands:t.editorViewers.toggleLineNumbers,default:{label:n.__("Show Line Numbers")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.minimap,commands:s,shell:o,semanticCommands:t.editorViewers.toggleMinimap,default:{label:n.__("Show Minimap")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.matchBrackets,commands:s,shell:o,semanticCommands:t.editorViewers.toggleMatchBrackets,default:{label:n.__("Match Brackets")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.wordWrap,commands:s,shell:o,semanticCommands:t.editorViewers.toggleWordWrap,default:{label:n.__("Wrap Words")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n})}function I(e,t,n){const{commands:s,shell:o}=e;(0,i.addSemanticCommand)({id:w.run,commands:s,shell:o,semanticCommands:t.codeRunners.run,default:{label:n.__("Run Selected"),caption:n.__("Run Selected")},overrides:{icon:e=>e.toolbar?c.runIcon:undefined,describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.runAll,commands:s,shell:o,semanticCommands:t.codeRunners.runAll,default:{label:n.__("Run All"),caption:n.__("Run All")},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n});(0,i.addSemanticCommand)({id:w.restartAndRunAll,commands:s,shell:o,semanticCommands:[t.codeRunners.restart,t.codeRunners.runAll],default:{label:n.__("Restart Kernel and Run All"),caption:n.__("Restart Kernel and Run All")},overrides:{icon:e=>e.toolbar?c.fastForwardIcon:undefined,describedBy:{args:{type:"object",properties:{}}}},trans:n})}function T(e,t,n,i){const s=e.commands;const o=[];let r;s.addCommand(w.activateById,{label:t=>{if(t.id===undefined){return i.__("Activate a widget by its `id`.")}const n=t["id"]||"";const s=(0,h.find)(e.shell.widgets("main"),(e=>e.id===n));return s&&s.title.label||""},isToggled:t=>{const n=t["id"]||"";return!!e.shell.currentWidget&&e.shell.currentWidget.id===n},describedBy:{args:{type:"object",properties:{id:{type:"string",description:i.__("The widget id to activate")}},required:["id"]}},execute:t=>e.shell.activateById(t["id"]||"")});let a="";s.addCommand(w.activatePreviouslyUsedTab,{label:i.__("Activate Previously Used Tab"),isEnabled:()=>!!a,describedBy:{args:{type:"object",properties:{}}},execute:()=>s.execute(w.activateById,{id:a})});if(n){void e.restored.then((()=>{const i=()=>{if(r&&!r.isDisposed){r.dispose()}o.length=0;let n=false;for(const t of e.shell.widgets("main")){if(t.id===a){n=true}o.push({command:w.activateById,args:{id:t.id}})}r=t.addGroup(o,1);a=n?a:""};i();n.layoutModified.connect((()=>{i()}));n.currentChanged.connect(((e,t)=>{const n=t.oldValue;if(!n){return}a=n.id}))}))}}function E(e,t,n){const{commands:s,shell:o}=e;(0,i.addSemanticCommand)({id:w.getKernel,commands:s,shell:o,semanticCommands:t.getKernel,default:{label:n.__("Get Kernel"),isVisible:false},overrides:{describedBy:{args:{type:"object",properties:{}}}},trans:n})}const M=[C,b];var D;(function(e){async function t(e){const t=await(0,s.showDialog)({title:e.__("Information"),body:e.__("Menu customization has changed. You will need to reload JupyterLab to see the changes."),buttons:[s.Dialog.cancelButton(),s.Dialog.okButton({label:e.__("Reload")})]});if(t.button.accept){location.reload()}}async function n(e,n,i,o){var r;const a=o.load("jupyterlab");let d=null;let c={};function h(t){var n,i;c={};const s=Object.keys(e.plugins).map((t=>{var n,i;const s=(i=(n=e.plugins[t].schema["jupyter.lab.menus"])===null||n===void 0?void 0:n.main)!==null&&i!==void 0?i:[];c[t]=s;return s})).concat([(i=(n=t["jupyter.lab.menus"])===null||n===void 0?void 0:n.main)!==null&&i!==void 0?i:[]]).reduceRight(((e,t)=>l.SettingRegistry.reconcileMenus(e,t,true)),t.properties.menus.default);t.properties.menus.default=l.SettingRegistry.reconcileMenus(s,t.properties.menus.default,true).sort(((e,t)=>{var n,i;return((n=e.rank)!==null&&n!==void 0?n:Infinity)-((i=t.rank)!==null&&i!==void 0?i:Infinity)}))}e.transform(y,{compose:e=>{var t,n,i,s;if(!d){d=u.JSONExt.deepCopy(e.schema);h(d)}const o=(i=(n=(t=d.properties)===null||t===void 0?void 0:t.menus)===null||n===void 0?void 0:n.default)!==null&&i!==void 0?i:[];const r={...e.data.user,menus:(s=e.data.user.menus)!==null&&s!==void 0?s:[]};const a={...e.data.composite,menus:l.SettingRegistry.reconcileMenus(o,r.menus)};e.data={composite:a,user:r};return e},fetch:e=>{if(!d){d=u.JSONExt.deepCopy(e.schema);h(d)}return{data:e.data,id:e.id,raw:e.raw,schema:d,version:e.version}}});const p=await e.load(y);const m=(r=u.JSONExt.deepCopy(p.composite.menus))!==null&&r!==void 0?r:[];const g=new Array;s.MenuFactory.createMenus(m.filter((e=>!e.disabled)).map((e=>{var t;return{...e,items:l.SettingRegistry.filterDisabledItems((t=e.items)!==null&&t!==void 0?t:[])}})),i).forEach((e=>{g.push(e);n(e)}));p.changed.connect((()=>{var e;const n=(e=p.composite.menus)!==null&&e!==void 0?e:[];if(!u.JSONExt.deepEqual(m,n)){void t(a)}}));e.pluginChanged.connect((async(o,r)=>{var d,h,p;if(r!==y){const o=(d=c[r])!==null&&d!==void 0?d:[];const f=(p=(h=e.plugins[r].schema["jupyter.lab.menus"])===null||h===void 0?void 0:h.main)!==null&&p!==void 0?p:[];if(!u.JSONExt.deepEqual(o,f)){if(c[r]){await t(a)}else{c[r]=u.JSONExt.deepCopy(f);const e=l.SettingRegistry.reconcileMenus(f,m,false,false).filter((e=>!e.disabled)).map((e=>{var t;return{...e,items:l.SettingRegistry.filterDisabledItems((t=e.items)!==null&&t!==void 0?t:[])}}));s.MenuFactory.updateMenus(g,e,i).forEach((e=>{n(e)}))}}}}))}e.loadSettingsMenu=n})(D||(D={}))},61132:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(3579);var a=n(41603);var l=n(39063);var d=n(67996)},43744:(e,t,n)=>{"use strict";n.r(t);n.d(t,{EditMenu:()=>a,FileMenu:()=>l,HelpMenu:()=>d,IMainMenu:()=>_,KernelMenu:()=>c,MainMenu:()=>g,RunMenu:()=>h,SettingsMenu:()=>u,TabsMenu:()=>p,ViewMenu:()=>m});var i=n(4073);var s=n(34236);var o=n(27518);var r=n(38850);class a extends i.RankedMenu{constructor(e){super(e);this.undoers={redo:new r.SemanticCommand,undo:new r.SemanticCommand};this.clearers={clearAll:new r.SemanticCommand,clearCurrent:new r.SemanticCommand};this.goToLiners=new r.SemanticCommand}}class l extends i.RankedMenu{constructor(e){super(e);this.quitEntry=false;this.closeAndCleaners=new r.SemanticCommand;this.consoleCreators=new r.SemanticCommand}get newMenu(){var e,t;if(!this._newMenu){this._newMenu=(t=(e=(0,s.find)(this.items,(e=>{var t;return((t=e.submenu)===null||t===void 0?void 0:t.id)==="jp-mainmenu-file-new"})))===null||e===void 0?void 0:e.submenu)!==null&&t!==void 0?t:new i.RankedMenu({commands:this.commands})}return this._newMenu}dispose(){var e;(e=this._newMenu)===null||e===void 0?void 0:e.dispose();super.dispose()}}class d extends i.RankedMenu{constructor(e){super(e);this.getKernel=new r.SemanticCommand}}class c extends i.RankedMenu{constructor(e){super(e);this.kernelUsers={changeKernel:new r.SemanticCommand,clearWidget:new r.SemanticCommand,interruptKernel:new r.SemanticCommand,reconnectToKernel:new r.SemanticCommand,restartKernel:new r.SemanticCommand,shutdownKernel:new r.SemanticCommand}}}class h extends i.RankedMenu{constructor(e){super(e);this.codeRunners={restart:new r.SemanticCommand,run:new r.SemanticCommand,runAll:new r.SemanticCommand}}}class u extends i.RankedMenu{constructor(e){super(e)}}class p extends i.RankedMenu{constructor(e){super(e)}}class m extends i.RankedMenu{constructor(e){super(e);this.editorViewers={toggleLineNumbers:new r.SemanticCommand,toggleMinimap:new r.SemanticCommand,toggleMatchBrackets:new r.SemanticCommand,toggleWordWrap:new r.SemanticCommand}}}class g extends o.MenuBar{constructor(e){let t={forceItemsPosition:{forceX:false,forceY:true}};super(t);this._items=[];this._commands=e}get editMenu(){if(!this._editMenu){this._editMenu=new a({commands:this._commands,rank:2,renderer:i.MenuSvg.defaultRenderer})}return this._editMenu}get fileMenu(){if(!this._fileMenu){this._fileMenu=new l({commands:this._commands,rank:1,renderer:i.MenuSvg.defaultRenderer})}return this._fileMenu}get helpMenu(){if(!this._helpMenu){this._helpMenu=new d({commands:this._commands,rank:1e3,renderer:i.MenuSvg.defaultRenderer})}return this._helpMenu}get kernelMenu(){if(!this._kernelMenu){this._kernelMenu=new c({commands:this._commands,rank:5,renderer:i.MenuSvg.defaultRenderer})}return this._kernelMenu}get runMenu(){if(!this._runMenu){this._runMenu=new h({commands:this._commands,rank:4,renderer:i.MenuSvg.defaultRenderer})}return this._runMenu}get settingsMenu(){if(!this._settingsMenu){this._settingsMenu=new u({commands:this._commands,rank:999,renderer:i.MenuSvg.defaultRenderer})}return this._settingsMenu}get viewMenu(){if(!this._viewMenu){this._viewMenu=new m({commands:this._commands,rank:3,renderer:i.MenuSvg.defaultRenderer})}return this._viewMenu}get tabsMenu(){if(!this._tabsMenu){this._tabsMenu=new p({commands:this._commands,rank:500,renderer:i.MenuSvg.defaultRenderer})}return this._tabsMenu}addMenu(e,t=true,n={}){if(s.ArrayExt.firstIndexOf(this.menus,e)>-1){return}i.MenuSvg.overrideDefaultRenderer(e);const o="rank"in n?n.rank:"rank"in e?e.rank:i.IRankedMenu.DEFAULT_RANK;const r={menu:e,rank:o};const g=s.ArrayExt.upperBound(this._items,r,f.itemCmp);e.disposed.connect(this._onMenuDisposed,this);s.ArrayExt.insert(this._items,g,r);this.insertMenu(g,e);switch(e.id){case"jp-mainmenu-file":if(!this._fileMenu&&e instanceof l){this._fileMenu=e}break;case"jp-mainmenu-edit":if(!this._editMenu&&e instanceof a){this._editMenu=e}break;case"jp-mainmenu-view":if(!this._viewMenu&&e instanceof m){this._viewMenu=e}break;case"jp-mainmenu-run":if(!this._runMenu&&e instanceof h){this._runMenu=e}break;case"jp-mainmenu-kernel":if(!this._kernelMenu&&e instanceof c){this._kernelMenu=e}break;case"jp-mainmenu-tabs":if(!this._tabsMenu&&e instanceof p){this._tabsMenu=e}break;case"jp-mainmenu-settings":if(!this._settingsMenu&&e instanceof u){this._settingsMenu=e}break;case"jp-mainmenu-help":if(!this._helpMenu&&e instanceof d){this._helpMenu=e}break}}dispose(){var e,t,n,i,s,o,r,a;(e=this._editMenu)===null||e===void 0?void 0:e.dispose();(t=this._fileMenu)===null||t===void 0?void 0:t.dispose();(n=this._helpMenu)===null||n===void 0?void 0:n.dispose();(i=this._kernelMenu)===null||i===void 0?void 0:i.dispose();(s=this._runMenu)===null||s===void 0?void 0:s.dispose();(o=this._settingsMenu)===null||o===void 0?void 0:o.dispose();(r=this._viewMenu)===null||r===void 0?void 0:r.dispose();(a=this._tabsMenu)===null||a===void 0?void 0:a.dispose();super.dispose()}static generateMenu(e,t,n){let s;const{id:o,label:r,rank:g}=t;switch(o){case"jp-mainmenu-file":s=new l({commands:e,rank:g,renderer:i.MenuSvg.defaultRenderer});break;case"jp-mainmenu-edit":s=new a({commands:e,rank:g,renderer:i.MenuSvg.defaultRenderer});break;case"jp-mainmenu-view":s=new m({commands:e,rank:g,renderer:i.MenuSvg.defaultRenderer});break;case"jp-mainmenu-run":s=new h({commands:e,rank:g,renderer:i.MenuSvg.defaultRenderer});break;case"jp-mainmenu-kernel":s=new c({commands:e,rank:g,renderer:i.MenuSvg.defaultRenderer});break;case"jp-mainmenu-tabs":s=new p({commands:e,rank:g,renderer:i.MenuSvg.defaultRenderer});break;case"jp-mainmenu-settings":s=new u({commands:e,rank:g,renderer:i.MenuSvg.defaultRenderer});break;case"jp-mainmenu-help":s=new d({commands:e,rank:g,renderer:i.MenuSvg.defaultRenderer});break;default:s=new i.RankedMenu({commands:e,rank:g,renderer:i.MenuSvg.defaultRenderer})}if(r){s.title.label=n._p("menu",r)}return s}_onMenuDisposed(e){this.removeMenu(e);const t=s.ArrayExt.findFirstIndex(this._items,(t=>t.menu===e));if(t!==-1){s.ArrayExt.removeAt(this._items,t)}}}var f;(function(e){function t(e,t){return e.rank-t.rank}e.itemCmp=t})(f||(f={}));var v=n(5592);const _=new v.Token("@jupyterlab/mainmenu:IMainMenu",`A service for the main menu bar for the application.\n Use this if you want to add your own menu items or provide implementations for standardized menu items for specific activities.`)},67996:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913)},69195:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>x});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(40959);var l=n.n(a);var d=n(48407);var c=n.n(d);var h=n(95513);var u=n.n(h);var p=n(40065);var m=n.n(p);var g=n(72011);var f=n.n(g);var v=n(34881);var _=n.n(v);var b;(function(e){e.markdownPreview="markdownviewer:open";e.markdownEditor="markdownviewer:edit"})(b||(b={}));const y="Markdown Preview";const w={activate:C,id:"@jupyterlab/markdownviewer-extension:plugin",description:"Adds markdown file viewer and provides its tracker.",provides:d.IMarkdownViewerTracker,requires:[h.IRenderMimeRegistry,v.ITranslator],optional:[i.ILayoutRestorer,p.ISettingRegistry,g.ITableOfContentsRegistry,o.ISanitizer],autoStart:true};function C(e,t,n,i,s,r,l){const c=n.load("jupyterlab");const{commands:u,docRegistry:p}=e;t.addFactory(h.markdownRendererFactory);const m="markdownviewer-widget";const g=new o.WidgetTracker({namespace:m});let f={...d.MarkdownViewer.defaultConfig};function v(e){Object.keys(f).forEach((t=>{var n;e.setOption(t,(n=f[t])!==null&&n!==void 0?n:null)}))}if(s){const e=e=>{f=e.composite;g.forEach((e=>{v(e.content)}))};s.load(w.id).then((t=>{t.changed.connect((()=>{e(t)}));e(t)})).catch((e=>{console.error(e.message)}))}const _=new d.MarkdownViewerFactory({rendermime:t,name:y,label:c.__("Markdown Preview"),primaryFileType:p.getFileType("markdown"),fileTypes:["markdown"],defaultRendered:["markdown"]});_.widgetCreated.connect(((e,t)=>{t.context.pathChanged.connect((()=>{void g.save(t)}));v(t.content);void g.add(t)}));p.addWidgetFactory(_);if(i){void i.restore(g,{command:"docmanager:open",args:e=>({path:e.context.path,factory:y}),name:e=>e.context.path})}u.addCommand(b.markdownPreview,{label:c.__("Markdown Preview"),execute:e=>{const t=e["path"];if(typeof t!=="string"){return}return u.execute("docmanager:open",{path:t,factory:y,options:e["options"]})},describedBy:{args:{type:"object",properties:{path:{type:"string",description:c.__("The path to the markdown file to preview")},options:{type:"object",description:c.__("Options for opening the preview")}},required:["path"]}}});u.addCommand(b.markdownEditor,{execute:()=>{const e=g.currentWidget;if(!e){return}const t=e.context.path;return u.execute("docmanager:open",{path:t,factory:"Editor",options:{mode:"split-right"}})},isVisible:()=>{const e=g.currentWidget;return e&&a.PathExt.extname(e.context.path)===".md"||false},label:c.__("Show Markdown Editor"),describedBy:{args:{type:"object",properties:{}}}});if(r){r.add(new d.MarkdownViewerTableOfContentsFactory(g,t.markdownParser,l!==null&&l!==void 0?l:t.sanitizer))}return g}const x=w},57996:(e,t,n)=>{"use strict";var i=n(97913);var s=n(5893);var o=n(3579);var r=n(66731);var a=n(10395);var l=n(79010);var d=n(85072);var c=n.n(d);var h=n(97825);var u=n.n(h);var p=n(77659);var m=n.n(p);var g=n(55056);var f=n.n(g);var v=n(10540);var _=n.n(v);var b=n(41113);var y=n.n(b);var w=n(80877);var C={};C.styleTagTransform=y();C.setAttributes=f();C.insert=m().bind(null,"head");C.domAPI=u();C.insertStyleElement=_();var x=c()(w.A,C);const S=w.A&&w.A.locals?w.A.locals:undefined},34572:(e,t,n)=>{"use strict";n.r(t);n.d(t,{IMarkdownViewerTracker:()=>a,MarkdownDocument:()=>_,MarkdownViewer:()=>v,MarkdownViewerFactory:()=>b,MarkdownViewerTableOfContentsFactory:()=>o,MarkdownViewerTableOfContentsModel:()=>s});var i=n(72011);class s extends i.TableOfContentsModel{constructor(e,t,n){super(e,n);this.parser=t}get documentType(){return"markdown-viewer"}get isAlwaysActive(){return true}get supportedOptions(){return["maximalDepth","numberingH1","numberHeaders"]}async getHeadings(){const e=this.widget.context.model.toString();const t=await i.TableOfContentsUtils.Markdown.parseHeadings(e,this.parser);const n=i.TableOfContentsUtils.filterHeadings(t,{...this.configuration,baseNumbering:1});return Promise.resolve(n)}}class o extends i.TableOfContentsFactory{constructor(e,t,n){super(e);this.parser=t;this.sanitizer=n}_createNew(e,t){const n=new s(e,this.parser,t);let o=new WeakMap;const r=(t,n)=>{if(n){const t=o.get(n);if(t){const n=e.content.node.getBoundingClientRect();const i=t.getBoundingClientRect();if(i.top>n.bottom||i.bottom<n.top){t.scrollIntoView({block:"center"})}}else{console.warn("Heading element not found for heading",n,"in widget",e)}}};const a=()=>{if(!this.parser){return}i.TableOfContentsUtils.clearNumbering(e.content.node);o=new WeakMap;n.headings.forEach((async t=>{var n;const s=await i.TableOfContentsUtils.Markdown.getHeadingId(this.parser,t.raw,t.level,this.sanitizer);if(!s){return}const r=`h${t.level}[id="${CSS.escape(s)}"]`;o.set(t,i.TableOfContentsUtils.addPrefix(e.content.node,r,(n=t.prefix)!==null&&n!==void 0?n:""))}))};void e.content.ready.then((()=>{a();e.content.rendered.connect(a);n.activeHeadingChanged.connect(r);n.headingsChanged.connect(a);e.disposed.connect((()=>{e.content.rendered.disconnect(a);n.activeHeadingChanged.disconnect(r);n.headingsChanged.disconnect(a)}))}));return n}}var r=n(5592);const a=new r.Token("@jupyterlab/markdownviewer:IMarkdownViewerTracker",`A widget tracker for markdown\n document viewers. Use this if you want to iterate over and interact with rendered markdown documents.`);var l=n(38850);var d=n(40959);var c=n(93067);var h=n(95513);var u=n(34881);var p=n(2336);var m=n(27518);const g="jp-MarkdownViewer";const f="text/markdown";class v extends m.Widget{constructor(e){super();this._config={...v.defaultConfig};this._fragment="";this._ready=new r.PromiseDelegate;this._isRendering=false;this._renderRequested=false;this._rendered=new p.Signal(this);this.context=e.context;this.translator=e.translator||u.nullTranslator;this._trans=this.translator.load("jupyterlab");this.renderer=e.renderer;this.node.tabIndex=0;this.addClass(g);const t=this.layout=new m.StackedLayout;t.addWidget(this.renderer);void this.context.ready.then((async()=>{await this._render();this._monitor=new d.ActivityMonitor({signal:this.context.model.contentChanged,timeout:this._config.renderTimeout});this._monitor.activityStopped.connect(this.update,this);this._ready.resolve(undefined)}))}get ready(){return this._ready.promise}get rendered(){return this._rendered}setFragment(e){this._fragment=e;this.update()}setOption(e,t){if(this._config[e]===t){return}this._config[e]=t;const{style:n}=this.renderer.node;switch(e){case"fontFamily":n.setProperty("font-family",t);break;case"fontSize":n.setProperty("font-size",t?t+"px":null);break;case"hideFrontMatter":this.update();break;case"lineHeight":n.setProperty("line-height",t?t.toString():null);break;case"lineWidth":{const e=t?`calc(50% - ${t/2}ch)`:null;n.setProperty("padding-left",e);n.setProperty("padding-right",e);break}case"renderTimeout":if(this._monitor){this._monitor.timeout=t}break;default:break}}dispose(){if(this.isDisposed){return}if(this._monitor){this._monitor.dispose()}this._monitor=null;super.dispose()}onUpdateRequest(e){if(this.context.isReady&&!this.isDisposed){void this._render();this._fragment=""}}onActivateRequest(e){this.node.focus()}async _render(){if(this.isDisposed){return}if(this._isRendering){this._renderRequested=true;return}this._renderRequested=false;const{context:e}=this;const{model:t}=e;const n=t.toString();const i={};i[f]=this._config.hideFrontMatter?y.removeFrontMatter(n):n;const s=new h.MimeModel({data:i,metadata:{fragment:this._fragment}});try{this._isRendering=true;await this.renderer.renderModel(s);this._isRendering=false;if(this._renderRequested){return this._render()}else{this._rendered.emit()}}catch(o){requestAnimationFrame((()=>{this.dispose()}));void(0,l.showErrorMessage)(this._trans.__("Renderer Failure: %1",e.path),o)}}}(function(e){e.defaultConfig={fontFamily:null,fontSize:null,lineHeight:null,lineWidth:null,hideFrontMatter:true,renderTimeout:1e3}})(v||(v={}));class _ extends c.DocumentWidget{setFragment(e){this.content.setFragment(e)}}class b extends c.ABCWidgetFactory{constructor(e){super(y.createRegistryOptions(e));this._fileType=e.primaryFileType;this._rendermime=e.rendermime}createNewWidget(e){var t,n,i,s,o;const r=this._rendermime.clone({resolver:e.urlResolver});const a=r.createRenderer(f);const l=new v({context:e,renderer:a});l.title.icon=(t=this._fileType)===null||t===void 0?void 0:t.icon;l.title.iconClass=(i=(n=this._fileType)===null||n===void 0?void 0:n.iconClass)!==null&&i!==void 0?i:"";l.title.iconLabel=(o=(s=this._fileType)===null||s===void 0?void 0:s.iconLabel)!==null&&o!==void 0?o:"";l.title.caption=this.label;const d=new _({content:l,context:e});return d}}var y;(function(e){function t(e){return{...e,readOnly:true}}e.createRegistryOptions=t;function n(e){const t=/^---\n[^]*?\n(---|...)\n/;const n=e.match(t);if(!n){return e}const{length:i}=n[0];return e.slice(i)}e.removeFrontMatter=n})(y||(y={}))},55151:(e,t,n)=>{"use strict";n.r(t);n.d(t,{createMarkdownParser:()=>m,default:()=>f});var i=n(5592);var s=n.n(i);var o=n(40959);var r=n.n(o);var a=n(45713);var l=n.n(a);var d=n(95513);var c=n.n(d);var h=n(221);var u=n.n(h);const p="```~~~";function m(e,t){return{render:n=>v.render(n,e,t)}}const g={id:"@jupyterlab/markedparser-extension:plugin",description:"Provides the Markdown parser.",autoStart:true,provides:d.IMarkdownParser,requires:[a.IEditorLanguageRegistry],optional:[h.IMermaidMarkdown],activate:(e,t,n)=>m(t,{blocks:n?[n]:[]})};const f=g;var v;(function(e){let t=null;let s=null;let r=[];let a=null;let l={};let d=new o.LruCache;async function c(e,t,n){a=t;if(!s){s=await h(n)}return s(e,l)}e.render=c;async function h(e){if(s){return s}if(t){return await t.promise}r=(e===null||e===void 0?void 0:e.blocks)||[];r=r.sort(((e,t)=>{var n,i;return((n=e.rank)!==null&&n!==void 0?n:Infinity)-((i=t.rank)!==null&&i!==void 0?i:Infinity)}));t=new i.PromiseDelegate;const[{marked:o,Renderer:a},d]=await Promise.all([n.e(926).then(n.t.bind(n,50926,23)),u()]);for(const t of d){o.use(t)}l={async:true,gfm:true,walkTokens:f,renderer:m(a)};s=o;t.resolve(s);return s}e.initializeMarked=h;async function u(){return Promise.all([(async()=>(await n.e(8111).then(n.t.bind(n,58111,23))).gfmHeadingId())(),(async()=>(await n.e(9962).then(n.t.bind(n,39962,23))).mangle())()])}function m(e){const t=new e;const n=t.code;t.code=({text:e,lang:i,escaped:s})=>{for(const t of r){if(i&&t.languages.includes(i)){const n=t.render(e);if(n!=null){return n}}}const o=`${i}${p}${e}${p}`;const a=d.get(o);if(a!=null){return a}return n.call(t,{text:e,lang:i,escaped:s})};return t}async function g(e){const{lang:t,text:n}=e;if(!t||!a){return}const i=`${t}${p}${n}${p}`;if(d.get(i)){return}const s=document.createElement("div");try{await a.highlight(n,a.findBest(t),s);const e=`<pre><code class="language-${t}">${s.innerHTML}</code></pre>`;d.set(i,e)}catch(o){console.error(`Failed to highlight ${t} code`,o)}finally{s.remove()}}async function f(e){switch(e.type){case"code":if(e.lang){for(const t of r){if(t.languages.includes(e.lang)){await t.walk(e.text);return}}}await g(e)}}})(v||(v={}))},41884:(e,t,n)=>{"use strict";var i=n(5893);var s=n(3579);var o=n(23359);var r=n(69240);var a=n(85072);var l=n.n(a);var d=n(97825);var c=n.n(d);var h=n(77659);var u=n.n(h);var p=n(55056);var m=n.n(p);var g=n(10540);var f=n.n(g);var v=n(41113);var _=n.n(v);var b=n(23865);var y={};y.styleTagTransform=_();y.setAttributes=m();y.insert=u().bind(null,"head");y.domAPI=c();y.insertStyleElement=f();var w=l()(b.A,y);const C=b.A&&b.A.locals?b.A.locals:undefined},31217:(e,t,n)=>{"use strict";n.r(t);n.d(t,{MathJaxTypesetter:()=>c,default:()=>u});var i=n(5592);var s=n.n(i);var o=n(95513);var r=n.n(o);var a=n(34881);var l=n.n(a);var d;(function(e){e.copy="mathjax:clipboard";e.scale="mathjax:scale"})(d||(d={}));class c{constructor(){this._initialized=false}async _ensureInitialized(){if(!this._initialized){this._mathDocument=await p.ensureMathDocument();this._initialized=true}}async mathDocument(){await this._ensureInitialized();return this._mathDocument}async typeset(e){try{await this._ensureInitialized()}catch(t){console.error(t);return}this._mathDocument.options.elements=[e];this._mathDocument.clear().render();delete this._mathDocument.options.elements;p.hardenAnchorLinks(e)}}const h={id:"@jupyterlab/mathjax-extension:plugin",description:"Provides the LaTeX mathematical expression interpreter.",provides:o.ILatexTypesetter,optional:[a.ITranslator],activate:(e,t)=>{const n=(t!==null&&t!==void 0?t:a.nullTranslator).load("jupyterlab");const i=new c;e.commands.addCommand(d.copy,{execute:async()=>{const e=await i.mathDocument();const t=e.outputJax;await navigator.clipboard.writeText(t.math.math)},label:n.__("MathJax Copy Latex"),describedBy:{args:{type:"object",properties:{}}}});e.commands.addCommand(d.scale,{execute:async e=>{const t=await i.mathDocument();const n=e["scale"]||1;t.outputJax.options.scale=n;t.rerender();for(const i of t.math){const e=i.typesetRoot;if(e){p.hardenAnchorLinks(e)}}},label:e=>n.__("Mathjax Scale ")+(e["scale"]?`x${e["scale"]}`:n.__("Reset")),describedBy:{args:{type:"object",properties:{scale:{type:"number",description:n.__("The scale factor for MathJax rendering")}}}}});return i},autoStart:true};const u=h;var p;(function(e){let t=null;async function s(){if(!t){t=new i.PromiseDelegate;void Promise.all([n.e(2353),n.e(2633),n.e(8816)]).then(n.t.bind(n,58816,23));const[{mathjax:e},{CHTML:s},{TeX:o},{TeXFont:r},{AllPackages:a},{SafeHandler:l},{HTMLHandler:d},{browserAdaptor:c},{AssistiveMmlHandler:h}]=await Promise.all([n.e(1039).then(n.bind(n,81039)),Promise.all([n.e(2353),n.e(6275),n.e(1673),n.e(4090)]).then(n.t.bind(n,24090,23)),Promise.all([n.e(2353),n.e(2633),n.e(2707),n.e(4928)]).then(n.t.bind(n,4928,23)),Promise.all([n.e(1673),n.e(4981)]).then(n.t.bind(n,1673,23)),Promise.all([n.e(2353),n.e(2633),n.e(2707),n.e(1909)]).then(n.bind(n,31909)),n.e(5244).then(n.t.bind(n,75244,23)),Promise.all([n.e(2353),n.e(6275),n.e(4001),n.e(1969)]).then(n.t.bind(n,1969,23)),n.e(9400).then(n.bind(n,59400)),Promise.all([n.e(2353),n.e(6275),n.e(4001),n.e(4855)]).then(n.t.bind(n,34855,23))]);e.handlers.register(h(l(new d(c()))));class u extends r{}u.defaultFonts={};const p=new s({font:new u});const m=new o({packages:a.concat("require"),inlineMath:[["$","$"],["\\(","\\)"]],displayMath:[["$$","$$"],["\\[","\\]"]],processEscapes:true,processEnvironments:true});const g=e.document(window.document,{InputJax:m,OutputJax:p});t.resolve(g)}return t.promise}e.ensureMathDocument=s;function o(e){const t=e.querySelectorAll(".MathJax a");t.forEach((e=>{const t=e.rel||"";const n=t.split(/\s+/).filter((e=>e.length>0));if(!n.includes("noopener")){n.push("noopener")}e.rel=n.join(" ");if(e.target!=="_blank"){e.target="_blank"}}))}e.hardenAnchorLinks=o})(p||(p={}))},51874:(e,t,n)=>{"use strict";var i=n(5893);var s=n(3579);var o=n(85072);var r=n.n(o);var a=n(97825);var l=n.n(a);var d=n(77659);var c=n.n(d);var h=n(55056);var u=n.n(h);var p=n(10540);var m=n.n(p);var g=n(41113);var f=n.n(g);var v=n(25149);var _={};_.styleTagTransform=f();_.setAttributes=u();_.insert=c().bind(null,"head");_.domAPI=l();_.insertStyleElement=m();var b=r()(v.A,_);const y=v.A&&v.A.locals?v.A.locals:undefined},71579:(e,t,n)=>{"use strict";n.r(t);n.d(t,{CommandIDs:()=>d,default:()=>p});var i=n(38850);var s=n.n(i);var o=n(221);var r=n.n(o);var a=n(34881);var l=n.n(a);var d;(function(e){e.copySource="mermaid:copy-source"})(d||(d={}));const c={id:"@jupyterlab/mermaid-extension:core",description:"Provides the Mermaid manager.",autoStart:true,optional:[i.IThemeManager],provides:o.IMermaidManager,activate:(e,t)=>{const n=new o.MermaidManager({themes:t});o.RenderedMermaid.manager=n;return n}};const h={id:"@jupyterlab/mermaid-extension:markdown",description:"Provides the Mermaid markdown renderer.",autoStart:true,requires:[o.IMermaidManager],provides:o.IMermaidMarkdown,activate:(e,t)=>new o.MermaidMarkdown({mermaid:t})};const u={id:"@jupyterlab/mermaid-extension:context-commands",description:"Provides context menu commands for mermaid diagrams.",autoStart:true,requires:[o.IMermaidManager],optional:[a.ITranslator],activate:(e,t,n)=>{const i=e=>e.classList.contains(o.MERMAID_CLASS);const s=(n!==null&&n!==void 0?n:a.nullTranslator).load("jupyterlab");e.commands.addCommand(d.copySource,{label:s.__("Mermaid Copy Diagram Source"),execute:async t=>{const n=e.contextMenuHitTest(i);if(!n){return}const s=n.querySelector(`.${o.MERMAID_CODE_CLASS}`);if(!s||!s.textContent){return}await navigator.clipboard.writeText(s.textContent)},describedBy:{args:{type:"object",properties:{}}}});const r={selector:`.${o.MERMAID_CLASS}`,rank:13};e.contextMenu.addItem({command:d.copySource,...r});e.contextMenu.addItem({type:"separator",...r})}};const p=[c,h,u]},47375:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>r});var i=n(221);var s=n.n(i);const o={id:"@jupyterlab/mermaid-extension:factory",description:"Provides a renderer for mermaid text-based diagrams.",rendererFactory:i.rendererFactory,rank:61,dataType:"string",documentWidgetFactoryOptions:[{name:"Mermaid",primaryFileType:"mermaid",fileTypes:["mermaid"],defaultFor:["mermaid"]}],fileTypes:[{mimeTypes:[i.MERMAID_MIME_TYPE],name:"mermaid",extensions:i.MERMAID_FILE_EXTENSIONS,icon:"ui-components:mermaid"}]};const r=o},90288:(e,t,n)=>{"use strict";var i=n(97913);var s=n(3579);var o=n(69240);var r=n(85072);var a=n.n(r);var l=n(97825);var d=n.n(l);var c=n(77659);var h=n.n(c);var u=n(55056);var p=n.n(u);var m=n(10540);var g=n.n(m);var f=n(41113);var v=n.n(f);var _=n(4555);var b={};b.styleTagTransform=v();b.setAttributes=p();b.insert=h().bind(null,"head");b.domAPI=d();b.insertStyleElement=g();var y=a()(_.A,b);const w=_.A&&_.A.locals?_.A.locals:undefined},63005:(e,t,n)=>{"use strict";n.r(t);n.d(t,{DETAILS_CLASS:()=>p,IMermaidManager:()=>g,IMermaidMarkdown:()=>f,MERMAID_CLASS:()=>c,MERMAID_CODE_CLASS:()=>h,MERMAID_DARK_THEME:()=>d,MERMAID_DEFAULT_THEME:()=>l,MERMAID_FILE_EXTENSIONS:()=>r,MERMAID_MIME_TYPE:()=>o,MermaidManager:()=>v,MermaidMarkdown:()=>b,RE_DEFAULT_RENDERER:()=>a,RenderedMermaid:()=>C,SUMMARY_CLASS:()=>m,WARNING_CLASS:()=>u,rendererFactory:()=>x});var i=n(5592);var s=n(40959);const o="text/vnd.mermaid";const r=[".mmd",".mermaid"];const a=/\bdefaultRenderer["']?\s*:\s*(["']?)(\b[^"'\s]+\b)(\1)/gm;const l="default";const d="dark";const c="jp-RenderedMermaid";const h="mermaid";const u="jp-mod-warning";const p="jp-RenderedMermaid-Details";const m="jp-RenderedMermaid-Summary";const g=new i.Token("@jupyterlab/mermaid:IMermaidManager",`a manager for rendering mermaid text-based diagrams`);const f=new i.Token("@jupyterlab/mermaid:IMermaidMarkdown",`a manager for rendering mermaid text-based diagrams in markdown fenced code blocks`);class v{constructor(e={}){this._diagrams=new s.LruCache({maxSize:e.maxCacheSize||null});if(e.themes){_.initThemes(e.themes||null);e.themes.themeChanged.connect(this.initialize,this)}}static cleanMermaidSvg(e){e=e.replace(_.RE_VOID_ELEMENT,_.replaceVoidElement);return`${_.SVG_XML_HEADER}${e}`}initialize(){this._diagrams.clear();_.initMermaid()}async getMermaid(){return await _.ensureMermaid()}getMermaidVersion(){return _.version()}getCachedFigure(e){return this._diagrams.get(e)}async renderSvg(e){const t=await this.getMermaid();await _.ensureRenderers(e);const n=`jp-mermaid-${_.nextMermaidId()}`;const i=document.createElement("div");document.body.appendChild(i);try{let{svg:s}=await t.render(n,e,i);s=v.cleanMermaidSvg(s);const o=new DOMParser;const r=o.parseFromString(s,"image/svg+xml");const a={text:e,svg:s};const l=r.querySelector("svg");const{maxWidth:d}=(l===null||l===void 0?void 0:l.style)||{};a.width=d?parseFloat(d):null;const c=r.querySelector("title");const h=r.querySelector("desc");if(c){a.accessibleTitle=c.textContent}if(h){a.accessibleDescription=h.textContent}return a}finally{i.remove()}}async renderFigure(e){let t=this._diagrams.get(e);if(t!=null){return t}let n=c;let i=null;t=document.createElement("div");t.className=n;try{const t=await this.renderSvg(e);i=this.makeMermaidFigure(t)}catch(o){t.classList.add(u);i=await this.makeMermaidError(e)}let s=this.getMermaidVersion();if(s){i.dataset.jpMermaidVersion=s}t.appendChild(i);this._diagrams.set(e,t);return t}makeMermaidCode(e){const t=document.createElement("pre");const n=document.createElement("code");n.innerText=e;t.appendChild(n);n.className=h;n.textContent=e;return t}async makeMermaidError(e){const t=await this.getMermaid();let n="";try{await t.parse(e)}catch(r){n=`${r}`}const i=document.createElement("details");i.className=p;const s=document.createElement("summary");s.className=m;s.appendChild(this.makeMermaidCode(e));i.appendChild(s);const o=document.createElement("pre");o.innerText=n;i.appendChild(o);return i}makeMermaidFigure(e){const t=document.createElement("figure");const n=document.createElement("img");t.appendChild(n);n.setAttribute("src",`data:image/svg+xml,${encodeURIComponent(e.svg)}`);if(e.width){n.width=e.width}if(e.accessibleTitle){n.setAttribute("alt",e.accessibleTitle)}t.appendChild(this.makeMermaidCode(e.text));if(e.accessibleDescription){const n=document.createElement("figcaption");n.className="sr-only";n.textContent=e.accessibleDescription;t.appendChild(n)}return t}}var _;(function(e){let t=null;let s=null;let o=null;let r=null;let c=null;let h=0;let u=null;function p(e){t=e}e.initThemes=p;function m(){return u}e.version=m;function g(e=null){e=s;if(!e){return false}let n=l;if(t){const e=t.theme;n=e&&t.isLight(e)?l:d}const i=window.getComputedStyle(document.body).getPropertyValue("--jp-ui-font-family");e.initialize({theme:n,fontFamily:i,securityLevel:"strict",maxTextSize:1e5,maxEdges:1e5,startOnLoad:false});return true}e.initMermaid=g;function f(){return s}e.getMermaid=f;function v(){return h++}e.nextMermaidId=v;async function _(){if(s!=null){return s}if(r){return r.promise}r=new i.PromiseDelegate;u=(await n.e(3763).then(n.t.bind(n,73763,19))).version;const e=s=(await Promise.all([n.e(7975),n.e(1218),n.e(227),n.e(926)]).then(n.bind(n,90227))).default;g(e);s=e;r.resolve(s);return s}e.ensureMermaid=_;async function b(t){let n=[];for(const i of[...t.matchAll(a)]){switch(i&&i[2]||null){case"elk":n.push(e.ensureMermaidElk());break}}if(n.length){await Promise.all(n)}}e.ensureRenderers=b;async function y(){if(o!=null){return o}if(c){return c.promise}c=new i.PromiseDelegate;const e=await _();const t=(await n.e(6986).then(n.bind(n,96986))).default;e.registerLayoutLoaders(t);o=t;c.resolve(o);return o}e.ensureMermaidElk=y;e.RE_VOID_ELEMENT=/<\s*(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)\s*([^>]*?)\s*>/gi;function w(e,t,n){n=n.trim();if(!n.endsWith("/")){n=`${n} /`}return`<${t} ${n}>`}e.replaceVoidElement=w;e.HTML_ENTITIES=`<!ENTITY Aacute "Á">\n<!ENTITY aacute "á">\n<!ENTITY Acirc "Â">\n<!ENTITY acirc "â">\n<!ENTITY acute "´">\n<!ENTITY AElig "Æ">\n<!ENTITY aelig "æ">\n<!ENTITY Agrave "À">\n<!ENTITY agrave "à">\n<!ENTITY alefsym "ℵ">\n<!ENTITY Alpha "Α">\n<!ENTITY alpha "α">\n<!ENTITY amp "&">\n<!ENTITY and "⊥">\n<!ENTITY ang "∠">\n<!ENTITY Aring "Å">\n<!ENTITY aring "å">\n<!ENTITY asymp "≈">\n<!ENTITY Atilde "Ã">\n<!ENTITY atilde "ã">\n<!ENTITY Auml "Ä">\n<!ENTITY auml "ä">\n<!ENTITY bdquo "„">\n<!ENTITY Beta "Β">\n<!ENTITY beta "β">\n<!ENTITY brvbar "¦">\n<!ENTITY bull "•">\n<!ENTITY cap "∩">\n<!ENTITY Ccedil "Ç">\n<!ENTITY ccedil "ç">\n<!ENTITY cedil "¸">\n<!ENTITY cent "¢">\n<!ENTITY Chi "Χ">\n<!ENTITY chi "χ">\n<!ENTITY circ "ˆ">\n<!ENTITY clubs "♣">\n<!ENTITY cong "≅">\n<!ENTITY copy "©">\n<!ENTITY crarr "↵">\n<!ENTITY cup "∪">\n<!ENTITY curren "¤">\n<!ENTITY dagger "†">\n<!ENTITY Dagger "‡">\n<!ENTITY darr "↓">\n<!ENTITY dArr "⇓">\n<!ENTITY deg "°">\n<!ENTITY Delta "Δ">\n<!ENTITY delta "δ">\n<!ENTITY diams "♦">\n<!ENTITY divide "÷">\n<!ENTITY Eacute "É">\n<!ENTITY eacute "é">\n<!ENTITY Ecirc "Ê">\n<!ENTITY ecirc "ê">\n<!ENTITY Egrave "È">\n<!ENTITY egrave "è">\n<!ENTITY empty "∅">\n<!ENTITY emsp " ">\n<!ENTITY ensp " ">\n<!ENTITY epsilon "ε">\n<!ENTITY Epsilon "Ε">\n<!ENTITY equiv "≡">\n<!ENTITY Eta "Η">\n<!ENTITY eta "η">\n<!ENTITY ETH "Ð">\n<!ENTITY eth "ð">\n<!ENTITY Euml "Ë">\n<!ENTITY euml "ë">\n<!ENTITY exist "∃">\n<!ENTITY fnof "ƒ">\n<!ENTITY forall "∀">\n<!ENTITY frac12 "½">\n<!ENTITY frac14 "¼">\n<!ENTITY frac34 "¾">\n<!ENTITY frasl "⁄">\n<!ENTITY Gamma "Γ">\n<!ENTITY gamma "γ">\n<!ENTITY ge "≥">\n<!ENTITY gt ">">\n<!ENTITY harr "↔">\n<!ENTITY hArr "⇔">\n<!ENTITY hearts "♥">\n<!ENTITY hellip "…">\n<!ENTITY Iacute "Í">\n<!ENTITY iacute "í">\n<!ENTITY Icirc "Î">\n<!ENTITY icirc "î">\n<!ENTITY iexcl "¡">\n<!ENTITY Igrave "Ì">\n<!ENTITY igrave "ì">\n<!ENTITY image "ℑ">\n<!ENTITY infin "∞">\n<!ENTITY int "∫">\n<!ENTITY Iota "Ι">\n<!ENTITY iota "ι">\n<!ENTITY iquest "¿">\n<!ENTITY isin "∈">\n<!ENTITY Iuml "Ï">\n<!ENTITY iuml "ï">\n<!ENTITY Kappa "Κ">\n<!ENTITY kappa "κ">\n<!ENTITY Lambda "Λ">\n<!ENTITY lambda "λ">\n<!ENTITY lang "〈">\n<!ENTITY laquo "«">\n<!ENTITY larr "←">\n<!ENTITY lArr "⇐">\n<!ENTITY lceil "⌈">\n<!ENTITY ldquo "“">\n<!ENTITY le "≤">\n<!ENTITY lfloor "⌊">\n<!ENTITY lowast "∗">\n<!ENTITY loz "◊">\n<!ENTITY lrm "‎">\n<!ENTITY lsaquo "‹">\n<!ENTITY lsquo "‘">\n<!ENTITY lt "<">\n<!ENTITY macr "¯">\n<!ENTITY mdash "—">\n<!ENTITY micro "µ">\n<!ENTITY middot "·">\n<!ENTITY minus "−">\n<!ENTITY Mu "Μ">\n<!ENTITY mu "μ">\n<!ENTITY nabla "∇">\n<!ENTITY nbsp " ">\n<!ENTITY ndash "–">\n<!ENTITY ne "≠">\n<!ENTITY ni "∋">\n<!ENTITY not "¬">\n<!ENTITY notin "∉">\n<!ENTITY nsub "⊄">\n<!ENTITY Ntilde "Ñ">\n<!ENTITY ntilde "ñ">\n<!ENTITY Nu "Ν">\n<!ENTITY nu "ν">\n<!ENTITY Oacute "Ó">\n<!ENTITY oacute "ó">\n<!ENTITY Ocirc "Ô">\n<!ENTITY ocirc "ô">\n<!ENTITY OElig "Œ">\n<!ENTITY oelig "œ">\n<!ENTITY Ograve "Ò">\n<!ENTITY ograve "ò">\n<!ENTITY oline "‾">\n<!ENTITY Omega "Ω">\n<!ENTITY omega "ω">\n<!ENTITY Omicron "Ο">\n<!ENTITY omicron "ο">\n<!ENTITY oplus "⊕">\n<!ENTITY or "⊦">\n<!ENTITY ordf "ª">\n<!ENTITY ordm "º">\n<!ENTITY Oslash "Ø">\n<!ENTITY oslash "ø">\n<!ENTITY Otilde "Õ">\n<!ENTITY otilde "õ">\n<!ENTITY otimes "⊗">\n<!ENTITY Ouml "Ö">\n<!ENTITY ouml "ö">\n<!ENTITY para "¶">\n<!ENTITY part "∂">\n<!ENTITY permil "‰">\n<!ENTITY perp "⊥">\n<!ENTITY Phi "Φ">\n<!ENTITY phi "φ">\n<!ENTITY Pi "Π">\n<!ENTITY pi "π">\n<!ENTITY piv "ϖ">\n<!ENTITY plusmn "±">\n<!ENTITY pound "£">\n<!ENTITY prime "′">\n<!ENTITY Prime "″">\n<!ENTITY prod "∏">\n<!ENTITY prop "∝">\n<!ENTITY Psi "Ψ">\n<!ENTITY psi "ψ">\n<!ENTITY quot """>\n<!ENTITY radic "√">\n<!ENTITY rang "〉">\n<!ENTITY raquo "»">\n<!ENTITY rarr "→">\n<!ENTITY rArr "⇒">\n<!ENTITY rceil "⌉">\n<!ENTITY rdquo "”">\n<!ENTITY real "ℜ">\n<!ENTITY reg "®">\n<!ENTITY rfloor "⌋">\n<!ENTITY Rho "Ρ">\n<!ENTITY rho "ρ">\n<!ENTITY rlm "‏">\n<!ENTITY rsaquo "›">\n<!ENTITY rsquo "’">\n<!ENTITY sbquo "‚">\n<!ENTITY Scaron "Š">\n<!ENTITY scaron "š">\n<!ENTITY sdot "⋅">\n<!ENTITY sect "§">\n<!ENTITY shy "­">\n<!ENTITY Sigma "Σ">\n<!ENTITY sigma "σ">\n<!ENTITY sigmaf "ς">\n<!ENTITY sim "∼">\n<!ENTITY spades "♠">\n<!ENTITY sub "⊂">\n<!ENTITY sube "⊆">\n<!ENTITY sum "∑">\n<!ENTITY sup "⊃">\n<!ENTITY sup1 "¹">\n<!ENTITY sup2 "²">\n<!ENTITY sup3 "³">\n<!ENTITY supe "⊇">\n<!ENTITY szlig "ß">\n<!ENTITY Tau "Τ">\n<!ENTITY tau "τ">\n<!ENTITY there4 "∴">\n<!ENTITY Theta "Θ">\n<!ENTITY theta "θ">\n<!ENTITY thetasym "ϑ">\n<!ENTITY thinsp " ">\n<!ENTITY THORN "Þ">\n<!ENTITY thorn "þ">\n<!ENTITY tilde "˜">\n<!ENTITY times "×">\n<!ENTITY trade "™">\n<!ENTITY Uacute "Ú">\n<!ENTITY uacute "ú">\n<!ENTITY uarr "↑">\n<!ENTITY uArr "⇑">\n<!ENTITY Ucirc "Û">\n<!ENTITY ucirc "û">\n<!ENTITY Ugrave "Ù">\n<!ENTITY ugrave "ù">\n<!ENTITY uml "¨">\n<!ENTITY upsih "ϒ">\n<!ENTITY Upsilon "Υ">\n<!ENTITY upsilon "υ">\n<!ENTITY Uuml "Ü">\n<!ENTITY uuml "ü">\n<!ENTITY weierp "℘">\n<!ENTITY Xi "Ξ">\n<!ENTITY xi "ξ">\n<!ENTITY Yacute "Ý">\n<!ENTITY yacute "ý">\n<!ENTITY yen "¥">\n<!ENTITY Yuml "Ÿ">\n<!ENTITY yuml "ÿ">\n<!ENTITY Zeta "Ζ">\n<!ENTITY zeta "ζ">\n<!ENTITY zwj "‍">\n<!ENTITY zwnj "‌">`.replace(/\n/g," ");const C='<?xml version="1.0" standalone="no"?>';const x=`<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [`;const S="]>";e.SVG_XML_HEADER=`${C}\n ${x}${e.HTML_ENTITIES}${S}`})(_||(_={}));class b{constructor(e){this.languages=["mermaid"];this.rank=100;this._mermaid=e.mermaid}async walk(e){await this._mermaid.renderFigure(e)}render(e){let t=this._mermaid.getCachedFigure(e);if(t){return t.outerHTML}return null}}var y=n(27518);const w="image/svg+xml";class C extends y.Widget{constructor(e){super();this._lastRendered=null;this._mimeType=e.mimeType;this.addClass(c)}static set manager(e){if(C._manager){console.warn("Mermaid manager may only be set once, and is already set.");return}C._manager=e;C._managerReady.resolve(e)}async renderModel(e){const t=await C._managerReady.promise;const n=e.data[this._mimeType];if(n==null||n===this._lastRendered){return}this._lastRendered=n;const i=await t.renderFigure(n);if(i.classList.contains(u)){this.node.classList.add(u)}else{this.node.classList.remove(u)}if(!i.firstChild){return}if(this.node.innerHTML!==i.innerHTML){this.node.innerHTML=i.innerHTML}const s=t.getMermaidVersion();const r={...e.metadata[o]||{},version:s};const a={...e.metadata,[o]:r};const l=i.querySelector("img");if(l){const t=decodeURIComponent(l.src.split(",")[1]);const n=e.data[w];if(t!==n){e.setData({data:{...e.data,[w]:t},metadata:a})}}else{const t={...e.data};delete t[w];e.setData({data:t,metadata:a})}}}C._manager=null;C._managerReady=new i.PromiseDelegate;const x={safe:true,mimeTypes:[o],createRenderer:e=>new C(e)}},69240:(e,t,n)=>{"use strict";var i=n(10395);var s=n(97913);var o=n(85072);var r=n.n(o);var a=n(97825);var l=n.n(a);var d=n(77659);var c=n.n(d);var h=n(55056);var u=n.n(h);var p=n(10540);var m=n.n(p);var g=n(41113);var f=n.n(g);var v=n(9979);var _={};_.styleTagTransform=f();_.setAttributes=u();_.insert=c().bind(null,"head");_.domAPI=l();_.insertStyleElement=m();var b=r()(v.A,_);const y=v.A&&v.A.locals?v.A.locals:undefined},24039:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>_});var i=n(74823);var s=n.n(i);var o=n(40065);var r=n.n(o);var a=n(34881);var l=n.n(a);var d=n(4073);var c=n.n(d);var h=n(5592);var u=n.n(h);var p=n(54103);var m=n.n(p);const g="@jupyterlab/metadataform-extension:metadataforms";var f;(function(e){async function t(e,t,n,i,s){var o;let r;let a={};function l(e){a={};e.properties.metadataforms.default=Object.keys(t.plugins).map((e=>{var n;const i=(n=t.plugins[e].schema["jupyter.lab.metadataforms"])!==null&&n!==void 0?n:[];i.forEach((t=>{t._origin=e}));a[e]=i;return i})).concat([e["jupyter.lab.metadataforms"]]).reduce(((e,t)=>{t.forEach((t=>{const n=e.find((e=>e.id===t.id));if(n){for(let[e,i]of Object.entries(t.metadataSchema.properties)){n.metadataSchema.properties[e]=i}if(t.metadataSchema.required){if(!n.metadataSchema.required){n.metadataSchema.required=t.metadataSchema.required}else{n.metadataSchema.required.concat(t.metadataSchema.required)}}if(t.metadataSchema.allOf){if(!n.metadataSchema.allOf){n.metadataSchema.allOf=t.metadataSchema.allOf}else{n.metadataSchema.allOf.concat(t.metadataSchema.allOf)}}if(t.uiSchema){if(!n.uiSchema)n.uiSchema={};for(let[e,i]of Object.entries(t.uiSchema)){n.uiSchema[e]=i}}if(t.metadataOptions){if(!n.metadataOptions)n.metadataOptions={};for(let[e,i]of Object.entries(t.metadataOptions)){n.metadataOptions[e]=i}}}else{e.push(t)}}));return e}),[])}t.transform(g,{compose:e=>{var t,n,i,s;if(!r){r=h.JSONExt.deepCopy(e.schema);l(r)}const o=(i=(n=(t=r.properties)===null||t===void 0?void 0:t.metadataforms)===null||n===void 0?void 0:n.default)!==null&&i!==void 0?i:[];const a={metadataforms:(s=e.data.user.metadataforms)!==null&&s!==void 0?s:[]};const d={metadataforms:o.concat(a.metadataforms)};e.data={composite:d,user:a};return e},fetch:e=>{if(!r){r=h.JSONExt.deepCopy(e.schema);l(r)}return{data:e.data,id:e.id,raw:e.raw,schema:r,version:e.version}}});r=null;const d=await t.load(g);const c=new p.MetadataFormProvider;for(let u of d.composite.metadataforms){let e={};let t=h.JSONExt.deepCopy(u.metadataSchema);let r={};if(u.uiSchema){r=h.JSONExt.deepCopy(u.uiSchema)}for(let[n,i]of Object.entries(t.properties)){if(i.default){if(!e[n])e[n]={};e[n].default=i.default}}if(u.metadataOptions){for(let[t,n]of Object.entries(u.metadataOptions)){if(n.cellTypes){if(!e[t])e[t]={};e[t].cellTypes=n.cellTypes}if(n.metadataLevel){if(!e[t])e[t]={};e[t].level=n.metadataLevel}if(n.writeDefault!==undefined){if(!e[t])e[t]={};e[t].writeDefault=n.writeDefault}if(n.customRenderer){const e=s.getRenderer(n.customRenderer);if(e!==undefined){if(!r[t])r[t]={};if(e.fieldRenderer){r[t]["ui:field"]=e.fieldRenderer}else{r[t]["ui:widget"]=e.widgetRenderer}}}}}n.addSection({sectionName:u.id,rank:u.rank,label:(o=u.label)!==null&&o!==void 0?o:u.id});const a=new p.MetadataFormWidget({metadataSchema:t,metaInformation:e,uiSchema:r,pluginId:u._origin,translator:i,showModified:u.showModified});n.addItem({section:u.id,tool:a});c.add(u.id,a)}return c}e.loadSettingsMetadataForm=t})(f||(f={}));const v={id:g,description:"Provides the metadata form registry.",autoStart:true,requires:[i.INotebookTools,a.ITranslator,d.IFormRendererRegistry,o.ISettingRegistry],provides:p.IMetadataFormProvider,activate:async(e,t,n,i,s)=>await f.loadSettingsMetadataForm(e,s,t,n,i)};const _=v},87145:(e,t,n)=>{"use strict";var i=n(40662);var s=n(3579);var o=n(28006);var r=n(69540)},32822:(e,t,n)=>{"use strict";n.r(t);n.d(t,{FormWidget:()=>d,IMetadataFormProvider:()=>_,MetadataFormProvider:()=>v,MetadataFormWidget:()=>g});var i=n(38850);var s=n(4073);var o=n(41742);var r=n.n(o);var a=n(44914);var l=n.n(a);class d extends i.ReactWidget{constructor(e){super();this.addClass("jp-FormWidget");this._props=e}render(){const e={defaultFormData:this._props.settings.default(),updateMetadata:this._props.metadataFormWidget.updateMetadata};return l().createElement(s.FormComponent,{validator:r(),schema:this._props.properties,formData:this._props.formData,formContext:e,uiSchema:this._props.uiSchema,liveValidate:true,idPrefix:`jp-MetadataForm-${this._props.pluginId}`,onChange:e=>{this._props.metadataFormWidget.updateMetadata(e.formData||{})},compact:true,showModifiedFromDefault:this._props.showModified,translator:this._props.translator})}}var c=n(74823);var h=n(40065);var u=n(34881);var p=n(5592);var m=n(27518);class g extends c.NotebookTools.Tool{constructor(e){super();this.updateMetadata=(e,t)=>{var n,i,s,o,r,a,l,d;if(this.notebookTools==undefined)return;const c=this.notebookTools.activeNotebookPanel;const h=this.notebookTools.activeCell;if(h==null)return;this._updatingMetadata=true;const u={};const p={};for(let[m,g]of Object.entries(e)){if(!this.metadataKeys.includes(m))continue;if(((n=this._metaInformation[m])===null||n===void 0?void 0:n.level)==="notebook"&&this._notebookModelNull)continue;if(((i=this._metaInformation[m])===null||i===void 0?void 0:i.cellTypes)&&!((o=(s=this._metaInformation[m])===null||s===void 0?void 0:s.cellTypes)===null||o===void 0?void 0:o.includes(h.model.type))){continue}let e;let t;if(((r=this._metaInformation[m])===null||r===void 0?void 0:r.level)==="notebook"){e=c.model.metadata;t=p}else{e=h.model.metadata;t=u}let v=m.replace(/^\/+/,"").replace(/\/+$/,"").split("/");let _=v[0];if(_==undefined)continue;let b=g!==undefined&&(((l=(a=this._metaInformation[m])===null||a===void 0?void 0:a.writeDefault)!==null&&l!==void 0?l:true)||g!==((d=this._metaInformation[m])===null||d===void 0?void 0:d.default));if(v.length==1){if(b)t[_]=g;else t[_]=undefined;continue}let y=v.slice(1,-1);let w=v[v.length-1];if(!(_ in t)){t[_]=e[_]}if(t[_]===undefined)t[_]={};let C=t[_];let x=true;for(let n of y){if(!(n in C)){if(!b){x=false;break}else C[n]={}}C=C[n]}if(x){if(!b)delete C[w];else C[w]=g}if(!b){t[_]=f.deleteEmptyNested(t[_],v.slice(1));if(!Object.keys(t[_]).length)t[_]=undefined}}for(let[m,g]of Object.entries(u)){if(g===undefined)h.model.deleteMetadata(m);else h.model.setMetadata(m,g)}if(!this._notebookModelNull){for(let[e,t]of Object.entries(p)){if(t===undefined)c.model.deleteMetadata(e);else c.model.setMetadata(e,t)}}this._updatingMetadata=false;if(t){this._update()}};this._notebookModelNull=false;this._metadataSchema=e.metadataSchema;this._metaInformation=e.metaInformation;this._uiSchema=e.uiSchema||{};this._pluginId=e.pluginId;this._showModified=e.showModified||false;this.translator=e.translator||u.nullTranslator;this._trans=this.translator.load("jupyterlab");this._updatingMetadata=false;const t=this.layout=new m.SingletonLayout;const n=document.createElement("div");const i=document.createElement("div");i.textContent=this._trans.__("No metadata.");i.className="jp-MetadataForm-placeholderContent";n.appendChild(i);this._placeholder=new m.Widget({node:n});this._placeholder.addClass("jp-MetadataForm-placeholder");t.widget=this._placeholder}get form(){return this._form}get metadataKeys(){var e;const t=[];for(let n of Object.keys(this._metadataSchema.properties)){t.push(n)}(e=this._metadataSchema.allOf)===null||e===void 0?void 0:e.forEach((e=>{if(e.then!==undefined){if(e.then.properties!==undefined){let n=e.then.properties;for(let e of Object.keys(n)){if(!t.includes(e))t.push(e)}}}if(e.else!==undefined){if(e.else.properties!==undefined){let n=e.else.properties;for(let e of Object.keys(n)){if(!t.includes(e))t.push(e)}}}}));return t}getProperties(e){return p.JSONExt.deepCopy(this._metadataSchema.properties[e])||null}setProperties(e,t){Object.entries(t).forEach((([t,n])=>{this._metadataSchema.properties[e][t]=n}))}setContent(e){const t=this.layout;if(t.widget){t.widget.removeClass("jp-MetadataForm-content");t.removeWidget(t.widget)}if(!e){e=this._placeholder}e.addClass("jp-MetadataForm-content");t.widget=e}buildWidget(e){this._form=new d(e);this._form.addClass("jp-MetadataForm");this.setContent(this._form)}onAfterShow(e){this._update()}onActiveCellChanged(e){if(this.isVisible)this._update()}onActiveCellMetadataChanged(e){if(!this._updatingMetadata&&this.isVisible)this._update()}onActiveNotebookPanelChanged(e){const t=this.notebookTools.activeNotebookPanel;this._notebookModelNull=t===null||t.model===null;if(!this._updatingMetadata&&this.isVisible)this._update()}onActiveNotebookPanelMetadataChanged(e){if(!this._updatingMetadata&&this.isVisible)this._update()}_update(){var e,t,n,i,s;const o=this.notebookTools.activeNotebookPanel;const r=this.notebookTools.activeCell;if(r==undefined)return;const a=p.JSONExt.deepCopy(this._metadataSchema);const l={};for(let d of Object.keys(this._metadataSchema.properties||p.JSONExt.emptyObject)){if(((e=this._metaInformation[d])===null||e===void 0?void 0:e.level)==="notebook"&&this._notebookModelNull){delete a.properties[d];continue}if(((t=this._metaInformation[d])===null||t===void 0?void 0:t.cellTypes)&&!((i=(n=this._metaInformation[d])===null||n===void 0?void 0:n.cellTypes)===null||i===void 0?void 0:i.includes(r.model.type))){delete a.properties[d];continue}let c;let h=d.replace(/^\/+/,"").replace(/\/+$/,"").split("/");if(((s=this._metaInformation[d])===null||s===void 0?void 0:s.level)==="notebook"){c=o.model.metadata}else{c=r.model.metadata}let u=true;for(let e of h){if(e in c)c=c[e];else{u=false;break}}if(u)l[d]=c}this.buildWidget({properties:a,settings:new h.BaseSettings({schema:this._metadataSchema}),uiSchema:this._uiSchema,translator:this.translator||null,formData:l,metadataFormWidget:this,showModified:this._showModified,pluginId:this._pluginId})}}var f;(function(e){function t(e,n){let i=n.shift();if(i!==undefined&&i in e){if(Object.keys(e[i]).length)e[i]=t(e[i],n);if(!Object.keys(e[i]).length)delete e[i]}return e}e.deleteEmptyNested=t})(f||(f={}));class v{constructor(){this._items={}}add(e,t){if(!this._items[e]){this._items[e]=t}else{console.warn(`A MetadataformWidget is already registered with id ${e}`)}}get(e){if(this._items[e]){return this._items[e]}else{console.warn(`There is no MetadataformWidget registered with id ${e}`)}}}const _=new p.Token("@jupyterlab/metadataform:IMetadataFormProvider",`A service to register new metadata editor widgets.`)},69540:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(28006);var a=n(85072);var l=n.n(a);var d=n(97825);var c=n.n(d);var h=n(77659);var u=n.n(h);var p=n(55056);var m=n.n(p);var g=n(10540);var f=n.n(g);var v=n(41113);var _=n.n(v);var b=n(62129);var y={};y.styleTagTransform=_();y.setAttributes=m();y.insert=u().bind(null,"head");y.domAPI=c();y.insertStyleElement=f();var w=l()(b.A,y);const C=b.A&&b.A.locals?b.A.locals:undefined},15555:(e,t,n)=>{"use strict";n.r(t);n.d(t,{MAJOR_VERSION:()=>o,MINOR_VERSION:()=>r,isCode:()=>c,isDisplayData:()=>u,isDisplayUpdate:()=>p,isError:()=>g,isExecuteResult:()=>h,isMarkdown:()=>d,isRaw:()=>l,isStream:()=>m,validateMimeValue:()=>a});var i=n(5592);var s=n.n(i);const o=4;const r=4;function a(e,t){const n=/^application\/.+\+json$/;const s=e==="application/json"||n.test(e);const o=e=>Object.prototype.toString.call(e)==="[object String]";if(Array.isArray(t)){if(s){return false}let e=true;t.forEach((t=>{if(!o(t)){e=false}}));return e}if(o(t)){return!s}if(!s){return false}return i.JSONExt.isObject(t)}function l(e){return e.cell_type==="raw"}function d(e){return e.cell_type==="markdown"}function c(e){return e.cell_type==="code"}function h(e){return e.output_type==="execute_result"}function u(e){return e.output_type==="display_data"}function p(e){return e.output_type==="update_display_data"}function m(e){return e.output_type==="stream"}function g(e){return e.output_type==="error"}},65463:(e,t,n)=>{"use strict";n.r(t);n.d(t,{commandEditItem:()=>se,default:()=>xe,executionIndicator:()=>oe,exportPlugin:()=>re,notebookTrustItem:()=>ae});var i=n(88617);var s=n(38850);var o=n(88459);var r=n(44389);var a=n(40959);var l=n(45713);var d=n(25481);var c=n(11927);var h=n(62019);var u=n(41043);var p=n(44577);var m=n(46417);var g=n(71681);var f=n(89433);var v=n(54103);var _=n(74823);var b=n(67987);var y=n(95513);var w=n(40065);var C=n(78629);var x=n(4625);var S=n(72011);var j=n(34881);var k=n(4073);var I=n(34236);var T=n(5592);var E=n(90044);var M=n(42856);var D=n(27518);var A=n(65833);const P={id:"@jupyterlab/notebook-extension:cell-executor",description:"Provides the notebook cell executor.",autoStart:true,provides:_.INotebookCellExecutor,activate:()=>Object.freeze({runCell:_.runCell})};var L=n(35555);var R=n(49278);const N={activate:B,id:"@jupyterlab/notebook-extension:log-output",description:"Adds cell outputs log to the application logger.",requires:[_.INotebookTracker],optional:[L.ILoggerRegistry],autoStart:true};function B(e,t,n){if(!n){return}function i(e){function t(t,i,s){if(R.KernelMessage.isDisplayDataMsg(t)||R.KernelMessage.isStreamMsg(t)||R.KernelMessage.isErrorMsg(t)||R.KernelMessage.isExecuteResultMsg(t)){const o=n.getLogger(e.context.path);o.rendermime=e.content.rendermime;const r={...t.content,output_type:t.header.msg_type};let a=i;if(R.KernelMessage.isErrorMsg(t)||R.KernelMessage.isStreamMsg(t)&&t.content.name==="stderr"){a=s}o.log({type:"output",data:r,level:a})}}e.context.sessionContext.iopubMessage.connect(((e,n)=>t(n,"info","info")));e.context.sessionContext.unhandledMessage.connect(((e,n)=>t(n,"warning","error")))}t.forEach((e=>i(e)));t.widgetAdded.connect(((e,t)=>i(t)))}var O=n(44914);var F=n.n(O);var z=n(26568);const W="jp-ActiveCellTool";const H="jp-ActiveCellTool-Content";const V="jp-ActiveCellTool-CellContent";class U extends _.NotebookTools.Tool{constructor(e){super();const{languages:t}=e;this._tracker=e.tracker;this.addClass(W);this.layout=new D.PanelLayout;this._inputPrompt=new o.InputPrompt;this.layout.addWidget(this._inputPrompt);const n=document.createElement("div");n.classList.add(H);const i=n.appendChild(document.createElement("div"));const s=i.appendChild(document.createElement("pre"));i.className=V;this._editorEl=s;this.layout.addWidget(new D.Widget({node:n}));const r=async()=>{var e,n;this._editorEl.innerHTML="";if(((e=this._cellModel)===null||e===void 0?void 0:e.type)==="code"){this._inputPrompt.executionCount=`${(n=this._cellModel.executionCount)!==null&&n!==void 0?n:""}`;this._inputPrompt.show()}else{this._inputPrompt.executionCount=null;this._inputPrompt.hide()}if(this._cellModel){await t.highlight(this._cellModel.sharedModel.getSource().split("\n")[0],t.findByMIME(this._cellModel.mimeType),this._editorEl)}};this._refreshDebouncer=new z.Debouncer(r,150)}render(e){var t,n;const i=this._tracker.activeCell;if(i)this._cellModel=(i===null||i===void 0?void 0:i.model)||null;((t=this._cellModel)===null||t===void 0?void 0:t.sharedModel).changed.connect(this.refresh,this);(n=this._cellModel)===null||n===void 0?void 0:n.mimeTypeChanged.connect(this.refresh,this);this.refresh().then((()=>undefined)).catch((()=>undefined));return F().createElement("div",{ref:e=>e===null||e===void 0?void 0:e.appendChild(this.node)})}async refresh(){await this._refreshDebouncer.invoke()}}var q=n(23230);const $="jp-CellMetadataEditor";const K="jp-NotebookMetadataEditor";class J extends _.NotebookTools.MetadataEditorTool{constructor(e){super(e);this._tracker=e.tracker;this.editor.editorHostNode.addEventListener("blur",this.editor,true);this.editor.editorHostNode.addEventListener("click",this.editor,true);this.editor.headerNode.addEventListener("click",this.editor)}_onSourceChanged(){var e,t,n;const i=(e=this._tracker.activeCell)===null||e===void 0?void 0:e.model.sharedModel;if(i&&this.editor.source){const e=Object.keys((t=i.metadata)!==null&&t!==void 0?t:{});const s=(n=this.editor.source.toJSON())!==null&&n!==void 0?n:{};i.transact((()=>{e.forEach((e=>i.deleteMetadata(e)));i.setMetadata(s)}))}}render(e){var t;const n=this._tracker.activeCell;this.editor.source=n?new q.ObservableJSON({values:n.model.metadata}):null;(t=this.editor.source)===null||t===void 0?void 0:t.changed.connect(this._onSourceChanged,this);return F().createElement("div",{className:$},F().createElement("div",{ref:e=>e===null||e===void 0?void 0:e.appendChild(this.node)}))}}class G extends _.NotebookTools.MetadataEditorTool{constructor(e){super(e);this._tracker=e.tracker;this.editor.editorHostNode.addEventListener("blur",this.editor,true);this.editor.editorHostNode.addEventListener("click",this.editor,true);this.editor.headerNode.addEventListener("click",this.editor)}_onSourceChanged(){var e,t;if(this.editor.source){(t=(e=this._tracker.currentWidget)===null||e===void 0?void 0:e.model)===null||t===void 0?void 0:t.sharedModel.setMetadata(this.editor.source.toJSON())}}render(e){var t,n;const i=this._tracker.currentWidget;this.editor.source=i?new q.ObservableJSON({values:(t=i.model)===null||t===void 0?void 0:t.metadata}):null;(n=this.editor.source)===null||n===void 0?void 0:n.changed.connect(this._onSourceChanged,this);return F().createElement("div",{className:K},F().createElement("div",{ref:e=>e===null||e===void 0?void 0:e.appendChild(this.node)}))}}var Y;(function(e){e.createNew="notebook:create-new";e.interrupt="notebook:interrupt-kernel";e.restart="notebook:restart-kernel";e.restartClear="notebook:restart-clear-output";e.restartAndRunToSelected="notebook:restart-and-run-to-selected";e.restartRunAll="notebook:restart-run-all";e.reconnectToKernel="notebook:reconnect-to-kernel";e.changeKernel="notebook:change-kernel";e.getKernel="notebook:get-kernel";e.createConsole="notebook:create-console";e.createSubshellConsole="notebook:create-subshell-console";e.createOutputView="notebook:create-output-view";e.clearAllOutputs="notebook:clear-all-cell-outputs";e.shutdown="notebook:shutdown-kernel";e.closeAndShutdown="notebook:close-and-shutdown";e.trust="notebook:trust";e.exportToFormat="notebook:export-to-format";e.run="notebook:run-cell";e.runAndAdvance="notebook:run-cell-and-select-next";e.runAndInsert="notebook:run-cell-and-insert-below";e.runInConsole="notebook:run-in-console";e.runAll="notebook:run-all-cells";e.runAllAbove="notebook:run-all-above";e.runAllBelow="notebook:run-all-below";e.renderAllMarkdown="notebook:render-all-markdown";e.toCode="notebook:change-cell-to-code";e.toMarkdown="notebook:change-cell-to-markdown";e.toRaw="notebook:change-cell-to-raw";e.cut="notebook:cut-cell";e.copy="notebook:copy-cell";e.pasteAbove="notebook:paste-cell-above";e.pasteBelow="notebook:paste-cell-below";e.duplicateBelow="notebook:duplicate-below";e.pasteAndReplace="notebook:paste-and-replace-cell";e.moveUp="notebook:move-cell-up";e.moveDown="notebook:move-cell-down";e.clearOutputs="notebook:clear-cell-output";e.deleteCell="notebook:delete-cell";e.insertAbove="notebook:insert-cell-above";e.insertBelow="notebook:insert-cell-below";e.selectAbove="notebook:move-cursor-up";e.selectBelow="notebook:move-cursor-down";e.selectHeadingAboveOrCollapse="notebook:move-cursor-heading-above-or-collapse";e.selectHeadingBelowOrExpand="notebook:move-cursor-heading-below-or-expand";e.insertHeadingAbove="notebook:insert-heading-above";e.insertHeadingBelow="notebook:insert-heading-below";e.extendAbove="notebook:extend-marked-cells-above";e.extendTop="notebook:extend-marked-cells-top";e.extendBelow="notebook:extend-marked-cells-below";e.extendBottom="notebook:extend-marked-cells-bottom";e.selectAll="notebook:select-all";e.deselectAll="notebook:deselect-all";e.editMode="notebook:enter-edit-mode";e.merge="notebook:merge-cells";e.mergeAbove="notebook:merge-cell-above";e.mergeBelow="notebook:merge-cell-below";e.split="notebook:split-cell-at-cursor";e.commandMode="notebook:enter-command-mode";e.toggleAllLines="notebook:toggle-all-cell-line-numbers";e.undoCellAction="notebook:undo-cell-action";e.redoCellAction="notebook:redo-cell-action";e.redo="notebook:redo";e.undo="notebook:undo";e.markdown1="notebook:change-cell-to-heading-1";e.markdown2="notebook:change-cell-to-heading-2";e.markdown3="notebook:change-cell-to-heading-3";e.markdown4="notebook:change-cell-to-heading-4";e.markdown5="notebook:change-cell-to-heading-5";e.markdown6="notebook:change-cell-to-heading-6";e.hideCode="notebook:hide-cell-code";e.showCode="notebook:show-cell-code";e.hideAllCode="notebook:hide-all-cell-code";e.showAllCode="notebook:show-all-cell-code";e.hideOutput="notebook:hide-cell-outputs";e.showOutput="notebook:show-cell-outputs";e.toggleOutput="notebook:toggle-cell-outputs";e.hideAllOutputs="notebook:hide-all-cell-outputs";e.showAllOutputs="notebook:show-all-cell-outputs";e.toggleRenderSideBySideCurrentNotebook="notebook:toggle-render-side-by-side-current";e.setSideBySideRatio="notebook:set-side-by-side-ratio";e.enableOutputScrolling="notebook:enable-output-scrolling";e.disableOutputScrolling="notebook:disable-output-scrolling";e.selectLastRunCell="notebook:select-last-run-cell";e.replaceSelection="notebook:replace-selection";e.autoClosingBrackets="notebook:toggle-autoclosing-brackets";e.toggleCollapseCmd="notebook:toggle-heading-collapse";e.collapseAllCmd="notebook:collapse-all-headings";e.expandAllCmd="notebook:expand-all-headings";e.copyToClipboard="notebook:copy-to-clipboard";e.invokeCompleter="completer:invoke-notebook";e.selectCompleter="completer:select-notebook";e.tocRunCells="toc:run-cells";e.accessPreviousHistory="notebook:access-previous-history-entry";e.accessNextHistory="notebook:access-next-history-entry";e.virtualScrollbar="notebook:toggle-virtual-scrollbar"})(Y||(Y={}));const X="Notebook";const Q=["notebook","python","custom"];const Z="@jupyterlab/notebook-extension:panel";const ee="jp-NotebookExtension-sideBySideMargins";const te={id:"@jupyterlab/notebook-extension:tracker",description:"Provides the notebook widget tracker.",provides:_.INotebookTracker,requires:[_.INotebookWidgetFactory,l.IEditorExtensionRegistry,_.INotebookCellExecutor],optional:[s.ICommandPalette,p.IDefaultFileBrowser,m.ILauncher,i.ILayoutRestorer,f.IMainMenu,i.IRouter,w.ISettingRegistry,s.ISessionContextDialogs,j.ITranslator,k.IFormRendererRegistry,p.IFileBrowserFactory],activate:Ee,autoStart:true};const ne={id:"@jupyterlab/notebook-extension:factory",description:"Provides the notebook cell factory.",provides:_.NotebookPanel.IContentFactory,requires:[r.IEditorServices],autoStart:true,activate:(e,t)=>{const n=t.factoryService.newInlineEditor;return new _.NotebookPanel.ContentFactory({editorFactory:n})}};const ie={activate:Se,provides:_.INotebookTools,id:"@jupyterlab/notebook-extension:tools",description:"Provides the notebook tools.",autoStart:true,requires:[_.INotebookTracker,r.IEditorServices,l.IEditorLanguageRegistry,C.IStateDB,j.ITranslator],optional:[b.IPropertyInspectorProvider]};const se={id:"@jupyterlab/notebook-extension:mode-status",description:"Adds a notebook mode status widget.",autoStart:true,requires:[_.INotebookTracker,j.ITranslator],optional:[x.IStatusBar],activate:(e,t,n,i)=>{if(!i){return}const{shell:s}=e;const o=new _.CommandEditStatus(n);t.currentChanged.connect((()=>{const e=t.currentWidget;o.model.notebook=e&&e.content}));i.registerStatusItem("@jupyterlab/notebook-extension:mode-status",{priority:1,item:o,align:"right",rank:4,isActive:()=>!!s.currentWidget&&!!t.currentWidget&&s.currentWidget===t.currentWidget})}};const oe={id:"@jupyterlab/notebook-extension:execution-indicator",description:"Adds a notebook execution status widget.",autoStart:true,requires:[_.INotebookTracker,i.ILabShell,j.ITranslator],optional:[x.IStatusBar,w.ISettingRegistry],activate:(e,t,n,i,s,o)=>{let r;let a;let l;const d=e=>{var o,d;let{showOnToolBar:c,showProgress:h,showJumpToCell:u}=e;if(!c){if(!s){return}if(!(r===null||r===void 0?void 0:r.model)){r=new _.ExecutionIndicator(i);a=(e,n)=>{const{newValue:i}=n;if(i&&t.has(i)){const e=i;r.model.attachNotebook({content:e.content,context:e.sessionContext})}};l=s.registerStatusItem("@jupyterlab/notebook-extension:execution-indicator",{item:r,align:"left",rank:3,isActive:()=>{const e=n.currentWidget;return!!e&&t.has(e)}});r.model.attachNotebook({content:(o=t.currentWidget)===null||o===void 0?void 0:o.content,context:(d=t.currentWidget)===null||d===void 0?void 0:d.sessionContext});n.currentChanged.connect(a);r.disposed.connect((()=>{n.currentChanged.disconnect(a)}))}r.model.displayOption={showOnToolBar:c,showProgress:h,showJumpToCell:u}}else{if(l){n.currentChanged.disconnect(a);l.dispose()}}};if(o){const t=o.load(te.id);Promise.all([t,e.restored]).then((([e])=>{d(_.ExecutionIndicator.getSettingValue(e));e.changed.connect((e=>d(_.ExecutionIndicator.getSettingValue(e))))})).catch((e=>{console.error(e.message)}))}}};const re={id:"@jupyterlab/notebook-extension:export",description:"Adds the export notebook commands.",autoStart:true,requires:[j.ITranslator,_.INotebookTracker],optional:[f.IMainMenu,s.ICommandPalette],activate:(e,t,n,i,s)=>{var o;const r=t.load("jupyterlab");const{commands:a,shell:l}=e;const d=e.serviceManager;const c=()=>Ne.isEnabled(l,n);a.addCommand(Y.exportToFormat,{label:e=>{if(e.label===undefined){return r.__("Save and Export Notebook to the given `format`.")}const t=e["label"];return e["isPalette"]?r.__("Save and Export Notebook: %1",t):t},execute:async e=>{var t,i;const s=Ae(n,l,e);if(!s){return}const{context:o}=s;const r={format:e["format"],path:s.context.path,exporterOptions:{download:true}};if(o.model.dirty&&!o.model.readOnly){await o.save()}return(i=(t=d.nbconvert).exportAs)===null||i===void 0?void 0:i.call(t,r)},isEnabled:c,describedBy:{args:{type:"object",properties:{format:{type:"string",description:r.__("The export format (e.g., pdf, html, latex)")},label:{type:"string",description:r.__("The label to display for this format")},isPalette:{type:"boolean",description:r.__("Whether the command is called from the command palette")}},required:["format"]}}});let h;if(i){h=(o=i.fileMenu.items.find((e=>{var t;return e.type==="submenu"&&((t=e.submenu)===null||t===void 0?void 0:t.id)==="jp-mainmenu-file-notebookexport"})))===null||o===void 0?void 0:o.submenu}let u=false;const p=async()=>{if(u){return}n.widgetAdded.disconnect(p);u=true;const e=await d.nbconvert.getExportFormats(false);if(!e){return}const i=Ne.getFormatLabels(t);const o=Object.keys(e);o.forEach((function(e){const t=r.__(e[0].toUpperCase()+e.substr(1));const n=i[e]?i[e]:t;let o={format:e,label:n,isPalette:false};if(Q.indexOf(e)===-1){if(h){h.addItem({command:Y.exportToFormat,args:o})}if(s){o={format:e,label:n,isPalette:true};const t=r.__("Notebook Operations");s.addItem({command:Y.exportToFormat,category:t,args:o})}}}))};n.widgetAdded.connect(p)}};const ae={id:"@jupyterlab/notebook-extension:trust-status",description:"Adds the notebook trusted status widget.",autoStart:true,requires:[_.INotebookTracker,j.ITranslator],optional:[x.IStatusBar],activate:(e,t,n,i)=>{if(!i){return}const{shell:s}=e;const o=new _.NotebookTrustStatus(n);t.currentChanged.connect((()=>{const e=t.currentWidget;o.model.notebook=e&&e.content}));i.registerStatusItem("@jupyterlab/notebook-extension:trust-status",{item:o,align:"right",rank:3,isActive:()=>!!s.currentWidget&&!!t.currentWidget&&s.currentWidget===t.currentWidget})}};const le={id:"@jupyterlab/notebook-extension:widget-factory",description:"Provides the notebook widget factory.",provides:_.INotebookWidgetFactory,requires:[_.NotebookPanel.IContentFactory,r.IEditorServices,y.IRenderMimeRegistry,s.IToolbarWidgetRegistry],optional:[w.ISettingRegistry,s.ISessionContextDialogs,j.ITranslator],activate:je,autoStart:true};const de={id:"@jupyterlab/notebook-extension:cloned-outputs",description:"Adds the clone output feature.",requires:[c.IDocumentManager,_.INotebookTracker,j.ITranslator],optional:[i.ILayoutRestorer],activate:ke,autoStart:true};const ce={id:"@jupyterlab/notebook-extension:code-console",description:"Adds the notebook code consoles features.",requires:[_.INotebookTracker,j.ITranslator],activate:Ie,autoStart:true};const he={id:"@jupyterlab/notebook-extension:copy-output",description:"Adds the copy cell outputs feature.",activate:Te,requires:[j.ITranslator,_.INotebookTracker],autoStart:true};const ue={id:"@jupyterlab/notebook-extension:kernel-status",description:"Adds the notebook kernel status.",activate:(e,t,n)=>{const i=e=>{let n=null;if(e&&t.has(e)){return e.sessionContext}return n};n.addSessionProvider(i)},requires:[_.INotebookTracker,s.IKernelStatusModel],autoStart:true};const pe={id:"@jupyterlab/notebook-extension:cursor-position",description:"Adds the notebook cursor position status.",activate:(e,t,n)=>{let i=null;const s=async e=>{let s=null;if(e!==i){i===null||i===void 0?void 0:i.content.activeCellChanged.disconnect(n.update);i=null;if(e&&t.has(e)){e.content.activeCellChanged.connect(n.update);const t=e.content.activeCell;s=null;if(t){await t.ready;s=t.editor}i=e}}else if(e){const t=e.content.activeCell;s=null;if(t){await t.ready;s=t.editor}}return s};n.addEditorProvider(s)},requires:[_.INotebookTracker,r.IPositionModel],autoStart:true};const me={id:"@jupyterlab/notebook-extension:completer",description:"Adds the code completion capability to notebooks.",requires:[_.INotebookTracker],optional:[d.ICompletionProviderManager,j.ITranslator,s.ISanitizer],activate:Me,autoStart:true};const ge={id:"@jupyterlab/notebook-extension:search",description:"Adds search capability to notebooks.",requires:[u.ISearchProviderRegistry],autoStart:true,activate:(e,t)=>{t.add("jp-notebookSearchProvider",_.NotebookSearchProvider)}};const fe={id:"@jupyterlab/notebook-extension:toc",description:"Adds table of content capability to the notebooks",requires:[_.INotebookTracker,S.ITableOfContentsRegistry,s.ISanitizer],optional:[y.IMarkdownParser,w.ISettingRegistry],autoStart:true,activate:(e,t,n,i,s,o)=>{const r=new _.NotebookToCFactory(t,s,i);n.add(r);if(o){Promise.all([e.restored,o.load(te.id)]).then((([e,t])=>{const n=()=>{var e;r.scrollToTop=(e=t.composite["scrollHeadingToTop"])!==null&&e!==void 0?e:true};n();t.changed.connect(n)})).catch((e=>{console.error("Failed to load notebook table of content settings.",e)}))}}};const ve={id:"@jupyterlab/notebook-extension:language-server",description:"Adds language server capability to the notebooks.",requires:[_.INotebookTracker,g.ILSPDocumentConnectionManager,g.ILSPFeatureManager,g.ILSPCodeExtractorsManager,g.IWidgetLSPAdapterTracker],activate:De,autoStart:true};const _e={id:"@jupyterlab/notebook-extension:update-raw-mimetype",description:"Adds metadata form editor for raw cell mimetype.",autoStart:true,requires:[_.INotebookTracker,v.IMetadataFormProvider,j.ITranslator],activate:(e,t,n,i)=>{const s=i.load("jupyterlab");let o=false;async function r(){if(o){return}if(!n.get("commonToolsSection")){return}const a=n.get("commonToolsSection").getProperties("/raw_mimetype");if(!a){return}t.widgetAdded.disconnect(r);o=true;const l=e.serviceManager;const d=await l.nbconvert.getExportFormats(false);if(!d){return}const c=Object.keys(d);const h=Ne.getFormatLabels(i);c.forEach((function(e){var t;const n=((t=a.oneOf)===null||t===void 0?void 0:t.filter((t=>t.const===e)).length)>0;if(!n){const t=s.__(e[0].toUpperCase()+e.substr(1));const n=h[e]?h[e]:t;const i=d[e].output_mimetype;a.oneOf.push({const:i,title:n})}}));n.get("commonToolsSection").setProperties("/raw_mimetype",a)}t.widgetAdded.connect(r)}};const be={id:"@jupyterlab/notebook-extension:metadata-editor",description:"Adds metadata form for full metadata editor.",autoStart:true,requires:[_.INotebookTracker,r.IEditorServices,k.IFormRendererRegistry],optional:[j.ITranslator],activate:(e,t,n,i,s)=>{const o=e=>n.factoryService.newInlineEditor(e);const r={fieldRenderer:e=>new J({editorFactory:o,tracker:t,label:"Cell metadata",translator:s}).render(e)};i.addRenderer("@jupyterlab/notebook-extension:metadata-editor.cell-metadata",r);const a={fieldRenderer:e=>new G({editorFactory:o,tracker:t,label:"Notebook metadata",translator:s}).render(e)};i.addRenderer("@jupyterlab/notebook-extension:metadata-editor.notebook-metadata",a)}};const ye={id:"@jupyterlab/notebook-extension:active-cell-tool",description:"Adds active cell field in the metadata editor tab.",autoStart:true,requires:[_.INotebookTracker,k.IFormRendererRegistry,l.IEditorLanguageRegistry],activate:(e,t,n,i)=>{const s={fieldRenderer:e=>new U({tracker:t,languages:i}).render(e)};n.addRenderer("@jupyterlab/notebook-extension:active-cell-tool.renderer",s)}};const we={id:"@jupyterlab/notebook-extension:open-with-no-kernel",description:'Adds the "Notebook (no kernel)" option to the Open With menu.',requires:[p.IFileBrowserFactory],optional:[j.ITranslator],autoStart:true,activate:(e,t,n)=>{const{tracker:i}=t;const s=(n!==null&&n!==void 0?n:j.nullTranslator).load("jupyterlab");const o=[];function r(e){var t,n;o.forEach((e=>e.dispose()));o.length=0;const r=(n=(t=e.menu.items.find((e=>{var t;return e.type==="submenu"&&((t=e.submenu)===null||t===void 0?void 0:t.id)==="jp-contextmenu-open-with"})))===null||t===void 0?void 0:t.submenu)!==null&&n!==void 0?n:null;if(!r){return}const a=i.currentWidget?Array.from(i.currentWidget.selectedItems()):[];const l=a.some((e=>e.type==="notebook"));if(l){o.push(r.addItem({command:"filebrowser:open",args:{label:s.__("Notebook (no kernel)"),factory:X,kernelPreference:{shouldStart:false}}}))}}e.contextMenu.opened.connect(r)}};const Ce=[P,ne,te,oe,re,ie,se,ae,le,N,de,ce,he,ue,pe,me,ge,fe,ve,_e,be,ye,we];const xe=Ce;function Se(e,t,n,i,s,o,r){const a=o.load("jupyterlab");const l="notebook-tools";const d=new _.NotebookTools({tracker:t,translator:o});const c=(e,t)=>{switch(t.type){case"activate-request":void s.save(l,{open:true});break;case"after-hide":case"close-request":void s.remove(l);break;default:break}return true};d.title.icon=k.buildIcon;d.title.caption=a.__("Notebook Tools");d.id=l;M.MessageLoop.installMessageHook(d,c);if(r){t.widgetAdded.connect(((e,t)=>{const n=r.register(t);n.render(d)}))}return d}function je(e,t,n,i,o,r,l,d){const c=d!==null&&d!==void 0?d:j.nullTranslator;const u=l!==null&&l!==void 0?l:new s.SessionContextDialogs({translator:c});const p=a.PageConfig.getOption("notebookStartsKernel");const m=p===""||p.toLowerCase()==="true";const{commands:g}=e;let f;o.addFactory(X,"save",(e=>h.ToolbarItems.createSaveButton(g,e.context.fileChanged)));o.addFactory(X,"cellType",(e=>_.ToolbarItems.createCellTypeItem(e,c)));o.addFactory(X,"kernelName",(e=>s.Toolbar.createKernelNameItem(e.sessionContext,u,c)));o.addFactory(X,"executionProgress",(e=>{const t=r===null||r===void 0?void 0:r.load(te.id);const n=_.ExecutionIndicator.createExecutionIndicatorItem(e,c,t);void(t===null||t===void 0?void 0:t.then((t=>{e.disposed.connect((()=>{t.dispose()}))})));return n}));if(r){f=(0,s.createToolbarFactory)(o,r,X,Z,c)}const v=c.load("jupyterlab");const b=new _.NotebookWidgetFactory({name:X,label:v.__("Notebook"),fileTypes:["notebook"],modelName:"notebook",defaultFor:["notebook"],preferKernel:m,canStartKernel:true,rendermime:i,contentFactory:t,editorConfig:_.StaticNotebook.defaultEditorConfig,notebookConfig:_.StaticNotebook.defaultNotebookConfig,mimeTypeService:n.mimeTypeService,toolbarFactory:f,translator:c});e.docRegistry.addWidgetFactory(b);return b}function ke(e,t,n,i,o){const r=i.load("jupyterlab");const a=new s.WidgetTracker({namespace:"cloned-outputs"});if(o){void o.restore(a,{command:Y.createOutputView,args:e=>({path:e.content.path,index:e.content.index}),name:e=>`${e.content.path}:${e.content.index}`,when:n.restored})}const{commands:l,shell:d}=e;const c=()=>Ne.isEnabledAndSingleSelected(d,n);l.addCommand(Y.createOutputView,{label:r.__("Create New View for Cell Output"),execute:async e=>{var o;let r;let l;const d=e.path;let c=e.index;if(d&&c!==undefined&&c!==null){l=t.findWidget(d,X);if(!l){return}}else{l=n.currentWidget;if(!l){return}r=l.content.activeCell;c=l.content.activeCellIndex}const h=new Ne.ClonedOutputArea({notebook:l,cell:r,index:c,translator:i});const u=new s.MainAreaWidget({content:h});l.context.addSibling(u,{ref:l.id,mode:"split-bottom",type:"Cloned Output"});const p=()=>{void a.save(u)};l.context.pathChanged.connect(p);(o=l.context.model)===null||o===void 0?void 0:o.cells.changed.connect(p);void a.add(u);l.content.disposed.connect((()=>{var e;l.context.pathChanged.disconnect(p);(e=l.context.model)===null||e===void 0?void 0:e.cells.changed.disconnect(p);u.dispose()}))},isEnabled:c,describedBy:{args:{type:"object",properties:{path:{type:"string",description:r.__("The path to the notebook containing the cell")},index:{type:"number",description:r.__("The index of the cell to create an output view for")}}}}})}function Ie(e,t,n){const i=n.load("jupyterlab");const{commands:s,shell:o}=e;const r=()=>Ne.isEnabled(o,t);s.addCommand(Y.createConsole,{label:i.__("New Console for Notebook"),execute:e=>{const n=t.currentWidget;if(!n){return}return Ne.createConsole(s,n,e["activate"])},isEnabled:r,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:i.__("Whether to activate the console after creation")}}}}});s.addCommand(Y.createSubshellConsole,{label:i.__("New Subshell Console for Notebook"),execute:e=>{const n=t.currentWidget;if(!n){return}return Ne.createConsole(s,n,e["activate"],true)},isEnabled:r,isVisible:()=>{var e,n,i;const s=(n=(e=t.currentWidget)===null||e===void 0?void 0:e.context.sessionContext.session)===null||n===void 0?void 0:n.kernel;return(i=s===null||s===void 0?void 0:s.supportsSubshells)!==null&&i!==void 0?i:false},describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:i.__("Whether to activate the console after creation")}}}}});s.addCommand(Y.runInConsole,{label:i.__("Run Selected Text or Current Line in Console"),execute:async e=>{var n,i;const o=t.currentWidget;if(!o){return}const{context:r,content:a}=o;const l=a.activeCell;const d=l===null||l===void 0?void 0:l.model.metadata;const c=r.path;if(!l||l.model.type!=="code"){return}let h;const u=l.editor;if(!u){return}const p=u.getSelection();const{start:m,end:g}=p;const f=m.column!==g.column||m.line!==g.line;if(f){const e=u.getOffsetAt(p.start);const t=u.getOffsetAt(p.end);h=u.model.sharedModel.getSource().substring(e,t)}else{const e=u.getCursorPosition();const t=u.model.sharedModel.getSource().split("\n");let s=p.start.line;while(s<u.lineCount&&!t[s].replace(/\s/g,"").length){s+=1}let r=s>0;let a=0;let l=a+1;while(true){h=t.slice(a,l).join("\n");const d=await((i=(n=o.context.sessionContext.session)===null||n===void 0?void 0:n.kernel)===null||i===void 0?void 0:i.requestIsComplete({code:h+"\n\n"}));if((d===null||d===void 0?void 0:d.content.status)==="complete"){if(s<l){while(l<u.lineCount&&!t[l].replace(/\s/g,"").length){l+=1}u.setCursorPosition({line:l,column:e.column});break}else{a=l;l=a+1}}else if(l<u.lineCount){l+=1}else if(r){a=s;l=s+1;r=false}else{h=t[s];while(s+1<u.lineCount&&!t[s+1].replace(/\s/g,"").length){s+=1}u.setCursorPosition({line:s+1,column:e.column});break}}}if(!h){return}await s.execute("console:open",{activate:false,insertMode:"split-bottom",path:c});await s.execute("console:inject",{activate:false,code:h,path:c,metadata:d})},isEnabled:r,describedBy:{args:{type:"object",properties:{}}}})}function Te(e,t,n){const i=t.load("jupyterlab");function s(e){const t=window.getSelection();if(t==null){return}const n=[];for(let s=0;s<t.rangeCount;++s){n[s]=t.getRangeAt(s).cloneRange()}const i=document.createRange();i.selectNodeContents(e);t.removeAllRanges();t.addRange(i);document.execCommand("copy");t.removeAllRanges();n.forEach((e=>t.addRange(e)))}e.commands.addCommand(Y.copyToClipboard,{label:i.__("Copy Output to Clipboard"),execute:e=>{var t;const i=(t=n.currentWidget)===null||t===void 0?void 0:t.content.activeCell;if(i==null){return}const o=i.outputArea.outputTracker.currentWidget;if(o==null){return}const r=o.node.getElementsByClassName("jp-OutputArea-output");if(r.length>0){const e=r[0];s(e)}},describedBy:{args:{type:"object",properties:{}}}});e.contextMenu.addItem({command:Y.copyToClipboard,selector:".jp-Notebook .jp-OutputArea-child",rank:0})}function Ee(e,t,n,i,o,r,a,l,d,c,h,u,p,m,g){(0,_.setCellExecutor)(i);const f=p!==null&&p!==void 0?p:j.nullTranslator;const v=u!==null&&u!==void 0?u:new s.SessionContextDialogs({translator:f});const b=f.load("jupyterlab");const y=e.serviceManager;const{commands:w,shell:C}=e;const x=new _.NotebookTracker({namespace:"notebook"});function S(e,t){if(t.hash&&x.currentWidget){x.currentWidget.setFragment(t.hash)}}c===null||c===void 0?void 0:c.routed.connect(S);const I=()=>Ne.isEnabled(C,x);const M=e=>document.documentElement.style.setProperty("--jp-side-by-side-output-size",`${e}fr`);const D=h?h.load(te.id):Promise.reject(new Error(`No setting registry for ${te.id}`));D.then((t=>{B(t);t.changed.connect((()=>{B(t);w.notifyCommandChanged(Y.virtualScrollbar)}));const i=(e,n)=>{const{newValue:i,oldValue:s}=n;const o=i.autoStartDefault;if(typeof o==="boolean"&&o!==s.autoStartDefault){if(o!==t.get("autoStartDefaultKernel").composite)t.set("autoStartDefaultKernel",o).catch((e=>{console.error(`Failed to set ${t.id}.autoStartDefaultKernel`)}))}};const o=new WeakSet;const r=e=>{const t=e.context.sessionContext;if(!t.isDisposed&&!o.has(t)){o.add(t);t.kernelPreferenceChanged.connect(i);t.disposed.connect((()=>{t.kernelPreferenceChanged.disconnect(i)}))}};x.forEach(r);x.widgetAdded.connect(((e,t)=>{r(t)}));w.addCommand(Y.autoClosingBrackets,{execute:e=>{var n;const i=t.get("codeCellConfig").composite;const s=t.get("markdownCellConfig").composite;const o=t.get("rawCellConfig").composite;const r=i.autoClosingBrackets||s.autoClosingBrackets||o.autoClosingBrackets;const a=!!((n=e["force"])!==null&&n!==void 0?n:!r);[i.autoClosingBrackets,s.autoClosingBrackets,o.autoClosingBrackets]=[a,a,a];void t.set("codeCellConfig",i);void t.set("markdownCellConfig",s);void t.set("rawCellConfig",o)},label:b.__("Auto Close Brackets for All Notebook Cell Types"),isToggled:()=>["codeCellConfig","markdownCellConfig","rawCellConfig"].some((e=>{var i;return((i=t.get(e).composite.autoClosingBrackets)!==null&&i!==void 0?i:n.baseConfiguration["autoClosingBrackets"])===true})),describedBy:{args:{type:"object",properties:{force:{type:"boolean",description:b.__("Force toggling the auto closing brackets setting")}}}}});w.addCommand(Y.setSideBySideRatio,{label:b.__("Set side-by-side ratio"),execute:e=>{s.InputDialog.getNumber({title:b.__("Width of the output in side-by-side mode"),value:t.get("sideBySideOutputRatio").composite}).then((e=>{M(e.value);if(e.value){void t.set("sideBySideOutputRatio",e.value)}})).catch(console.error)},describedBy:{args:{type:"object",properties:{}}}});Pe(e,x,f,v,t,I)})).catch((n=>{console.warn(n.message);N({editorConfig:t.editorConfig,notebookConfig:t.notebookConfig,kernelShutdown:t.shutdownOnClose,autoStartDefault:t.autoStartDefault});Pe(e,x,f,v,null,I)}));if(m){const e=m.getRenderer("@jupyterlab/codemirror-extension:plugin.defaultConfig");if(e){m.addRenderer("@jupyterlab/notebook-extension:tracker.codeCellConfig",e);m.addRenderer("@jupyterlab/notebook-extension:tracker.markdownCellConfig",e);m.addRenderer("@jupyterlab/notebook-extension:tracker.rawCellConfig",e)}}if(l){void l.restore(x,{command:"docmanager:open",args:e=>({path:e.context.path,factory:X}),name:e=>e.context.path,when:y.ready})}const A=e.docRegistry;const P=new _.NotebookModelFactory({disableDocumentWideUndoRedo:t.notebookConfig.disableDocumentWideUndoRedo,collaborative:true});A.addModelFactory(P);if(o){Le(o,f)}let L=0;const R=e.docRegistry.getFileType("notebook");t.widgetCreated.connect(((e,n)=>{var i,s,o;n.id=n.id||`notebook-${++L}`;n.title.icon=R===null||R===void 0?void 0:R.icon;n.title.iconClass=(i=R===null||R===void 0?void 0:R.iconClass)!==null&&i!==void 0?i:"";n.title.iconLabel=(s=R===null||R===void 0?void 0:R.iconLabel)!==null&&s!==void 0?s:"";n.content.scrollbar=(o=t.notebookConfig.showMinimap)!==null&&o!==void 0?o:false;n.context.pathChanged.connect((()=>{void x.save(n)}));void x.add(n)}));function N(e){x.forEach((t=>{var n;t.setConfig(e);t.content.scrollbar=(n=e.notebookConfig.showMinimap)!==null&&n!==void 0?n:false}))}function B(e){const n={..._.StaticNotebook.defaultEditorConfig.code,...e.get("codeCellConfig").composite};const i={..._.StaticNotebook.defaultEditorConfig.markdown,...e.get("markdownCellConfig").composite};const s={..._.StaticNotebook.defaultEditorConfig.raw,...e.get("rawCellConfig").composite};t.editorConfig={code:n,markdown:i,raw:s};t.notebookConfig={enableKernelInitNotification:e.get("enableKernelInitNotification").composite,autoRenderMarkdownCells:e.get("autoRenderMarkdownCells").composite,showHiddenCellsButton:e.get("showHiddenCellsButton").composite,scrollPastEnd:e.get("scrollPastEnd").composite,defaultCell:e.get("defaultCell").composite,recordTiming:e.get("recordTiming").composite,overscanCount:e.get("overscanCount").composite,showInputPlaceholder:e.get("showInputPlaceholder").composite,inputHistoryScope:e.get("inputHistoryScope").composite,maxNumberOutputs:e.get("maxNumberOutputs").composite,showEditorForReadOnlyMarkdown:e.get("showEditorForReadOnlyMarkdown").composite,disableDocumentWideUndoRedo:!e.get("documentWideUndoRedo").composite,renderingLayout:e.get("renderingLayout").composite,sideBySideLeftMarginOverride:e.get("sideBySideLeftMarginOverride").composite,sideBySideRightMarginOverride:e.get("sideBySideRightMarginOverride").composite,sideBySideOutputRatio:e.get("sideBySideOutputRatio").composite,windowingMode:e.get("windowingMode").composite,accessKernelHistory:e.get("accessKernelHistory").composite,showMinimap:e.get("showMinimap").composite};M(t.notebookConfig.sideBySideOutputRatio);const o=`.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {\n margin-left: ${t.notebookConfig.sideBySideLeftMarginOverride} !important;\n margin-right: ${t.notebookConfig.sideBySideRightMarginOverride} !important;`;const r=document.getElementById(ee);if(r){r.innerText=o}else{document.head.insertAdjacentHTML("beforeend",`<style id="${ee}">${o}}</style>`)}t.autoStartDefault=e.get("autoStartDefaultKernel").composite;t.shutdownOnClose=e.get("kernelShutdown").composite;P.disableDocumentWideUndoRedo=!e.get("documentWideUndoRedo").composite;N({editorConfig:t.editorConfig,notebookConfig:t.notebookConfig,kernelShutdown:t.shutdownOnClose,autoStartDefault:t.autoStartDefault})}if(d){Re(d,I)}const O=async(e,t,n)=>{const i=await w.execute("docmanager:new-untitled",{path:e,type:"notebook"});if(i!==undefined){const e=await w.execute("docmanager:open",{path:i.path,factory:X,kernel:{id:t,name:n}});e.isUntitled=true;return e}};w.addCommand(Y.createNew,{label:e=>{var t,n,i;const s=e["kernelName"]||"";if(e["isLauncher"]&&e["kernelName"]&&y.kernelspecs){return(i=(n=(t=y.kernelspecs.specs)===null||t===void 0?void 0:t.kernelspecs[s])===null||n===void 0?void 0:n.display_name)!==null&&i!==void 0?i:""}if(e["isPalette"]||e["isContextMenu"]){return b.__("New Notebook")}return b.__("Notebook")},caption:b.__("Create a new notebook"),icon:e=>e["isPalette"]?undefined:k.notebookIcon,execute:e=>{var t,n;const i=(t=g===null||g===void 0?void 0:g.tracker.currentWidget)!==null&&t!==void 0?t:r;const s=e["cwd"]||((n=i===null||i===void 0?void 0:i.model.path)!==null&&n!==void 0?n:"");const o=e["kernelId"]||"";const a=e["kernelName"]||"";return O(s,o,a)},describedBy:{args:{type:"object",properties:{cwd:{type:"string",description:b.__("Current working directory for the new notebook")},kernelId:{type:"string",description:b.__("Kernel ID to use for the new notebook")},kernelName:{type:"string",description:b.__("Kernel name to use for the new notebook")},isLauncher:{type:"boolean",description:b.__("Whether the command is executed from launcher")},isPalette:{type:"boolean",description:b.__("Whether the command is executed from palette")},isContextMenu:{type:"boolean",description:b.__("Whether the command is executed from context menu")}}}}});if(a){void y.ready.then((()=>{let e=null;const t=()=>{if(e){e.dispose();e=null}const t=y.kernelspecs.specs;if(!t){return}e=new E.DisposableSet;for(const n in t.kernelspecs){const i=n===t.default?0:Infinity;const s=t.kernelspecs[n];const o=s.resources["logo-svg"]||s.resources["logo-64x64"];e.add(a.add({command:Y.createNew,args:{isLauncher:true,kernelName:n},category:b.__("Notebook"),rank:i,kernelIconUrl:o,metadata:{kernel:T.JSONExt.deepCopy(s.metadata||{})}}))}};t();y.kernelspecs.specsChanged.connect(t)}))}return x}function Me(e,t,n,i,o){if(!n){return}const r=(i!==null&&i!==void 0?i:j.nullTranslator).load("jupyterlab");const a=o!==null&&o!==void 0?o:new s.Sanitizer;e.commands.addCommand(Y.invokeCompleter,{label:r.__("Display the completion helper."),execute:e=>{var i;const s=t.currentWidget;if(s&&((i=s.content.activeCell)===null||i===void 0?void 0:i.model.type)==="code"){n.invoke(s.id)}},describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:r.__("Whether to activate the widget")}}}}});e.commands.addCommand(Y.selectCompleter,{label:r.__("Select the completion suggestion."),execute:()=>{const e=t.currentWidget&&t.currentWidget.id;if(e){return n.select(e)}},describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:r.__("Whether to activate the widget")}}}}});e.commands.addKeyBinding({command:Y.selectCompleter,keys:["Enter"],selector:".jp-Notebook .jp-mod-completer-active"});const l=async(e,t)=>{var i,s;const o={editor:(s=(i=t.content.activeCell)===null||i===void 0?void 0:i.editor)!==null&&s!==void 0?s:null,session:t.sessionContext.session,widget:t,sanitizer:a};await n.updateCompleter(o);t.content.activeCellChanged.connect(((e,i)=>{i===null||i===void 0?void 0:i.ready.then((()=>{const e={editor:i.editor,session:t.sessionContext.session,widget:t,sanitizer:a};return n.updateCompleter(e)})).catch(console.error)}));t.sessionContext.sessionChanged.connect((()=>{var e;(e=t.content.activeCell)===null||e===void 0?void 0:e.ready.then((()=>{var e,i;const s={editor:(i=(e=t.content.activeCell)===null||e===void 0?void 0:e.editor)!==null&&i!==void 0?i:null,session:t.sessionContext.session,widget:t};return n.updateCompleter(s)})).catch(console.error)}))};t.widgetAdded.connect(l);n.activeProvidersChanged.connect((()=>{t.forEach((e=>{l(undefined,e).catch((e=>console.error(e)))}))}))}function De(e,t,n,i,s,o){t.widgetAdded.connect((async(e,t)=>{const r=new _.NotebookAdapter(t,{connectionManager:n,featureManager:i,foreignCodeExtractorsManager:s});o.add(r)}))}function Ae(e,t,n){var i,o;let r=null;if(n[A.CellBarExtension.WIDGET_ID_ARG]){r=(i=e.find((e=>e.id===n[A.CellBarExtension.WIDGET_ID_ARG])))!==null&&i!==void 0?i:null}else if(n[s.SemanticCommand.WIDGET]){r=(o=e.find((e=>e.id===n[s.SemanticCommand.WIDGET])))!==null&&o!==void 0?o:null}else{r=e.currentWidget}const a=n["activate"]!==false;if(a&&r){t.activateById(r.id)}return r}function Pe(e,t,n,i,r,a){var l;const d=n.load("jupyterlab");const{commands:c,shell:h}=e;const u=()=>Ne.isEnabledAndSingleSelected(h,t);const p=e=>{var t,n;for(const i of e.widgets){if(i instanceof o.MarkdownCell&&i.headingCollapsed){i.getHeadings().then((()=>{_.NotebookActions.setHeadingCollapse(i,true,e)})).catch((e=>{console.warn("Failed to resolve headings: ",e)}))}if(i.model.id===((n=(t=e.activeCell)===null||t===void 0?void 0:t.model)===null||n===void 0?void 0:n.id)){_.NotebookActions.expandParent(i,e)}}};const m=()=>Ne.isEnabledAndHeadingSelected(h,t);t.currentChanged.connect(((e,t)=>{var n,i;if(!((i=(n=t===null||t===void 0?void 0:t.content)===null||n===void 0?void 0:n.model)===null||i===void 0?void 0:i.cells)){return}t.content.model.cells.changed.connect(((e,n)=>{p(t.content)}));t.content.activeCellChanged.connect(((e,t)=>{_.NotebookActions.expandParent(t,e)}))}));t.selectionChanged.connect((()=>{c.notifyCommandChanged(Y.duplicateBelow);c.notifyCommandChanged(Y.deleteCell);c.notifyCommandChanged(Y.copy);c.notifyCommandChanged(Y.cut);c.notifyCommandChanged(Y.pasteBelow);c.notifyCommandChanged(Y.pasteAbove);c.notifyCommandChanged(Y.pasteAndReplace);c.notifyCommandChanged(Y.moveUp);c.notifyCommandChanged(Y.moveDown);c.notifyCommandChanged(Y.run);c.notifyCommandChanged(Y.runAll);c.notifyCommandChanged(Y.runAndAdvance);c.notifyCommandChanged(Y.runAndInsert)}));t.activeCellChanged.connect((()=>{c.notifyCommandChanged(Y.moveUp);c.notifyCommandChanged(Y.moveDown)}));c.addCommand(Y.runAndAdvance,{label:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Run Selected Cell","Run Selected Cells",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},caption:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Run this cell and advance","Run these %1 cells and advance",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},execute:e=>{const s=Ae(t,h,e);if(s){const{context:e,content:t}=s;return _.NotebookActions.runAndAdvance(t,e.sessionContext,i,n)}},isEnabled:e=>e.toolbar?true:a(),icon:e=>e.toolbar?k.runIcon:undefined,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.run,{label:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Run Selected Cell and Do not Advance","Run Selected Cells and Do not Advance",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},execute:e=>{const s=Ae(t,h,e);if(s){const{context:e,content:t}=s;return _.NotebookActions.run(t,e.sessionContext,i,n)}},isEnabled:a,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.runAndInsert,{label:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Run Selected Cell and Insert Below","Run Selected Cells and Insert Below",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},execute:e=>{const s=Ae(t,h,e);if(s){const{context:e,content:t}=s;return _.NotebookActions.runAndInsert(t,e.sessionContext,i,n)}},isEnabled:a,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.runAll,{label:d.__("Run All Cells"),caption:d.__("Run all cells"),execute:e=>{const s=Ae(t,h,e);if(s){const{context:e,content:t}=s;return _.NotebookActions.runAll(t,e.sessionContext,i,n)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.runAllAbove,{label:d.__("Run All Above Selected Cell"),execute:e=>{const s=Ae(t,h,e);if(s){const{context:e,content:t}=s;return _.NotebookActions.runAllAbove(t,e.sessionContext,i,n)}},isEnabled:()=>u()&&t.currentWidget.content.activeCellIndex!==0,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.runAllBelow,{label:d.__("Run Selected Cell and All Below"),execute:e=>{const s=Ae(t,h,e);if(s){const{context:e,content:t}=s;return _.NotebookActions.runAllBelow(t,e.sessionContext,i,n)}},isEnabled:()=>u()&&(t.currentWidget.content.widgets.length===1||t.currentWidget.content.activeCellIndex!==t.currentWidget.content.widgets.length-1),describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.renderAllMarkdown,{label:d.__("Render All Markdown Cells"),execute:e=>{const n=Ae(t,h,e);if(n){const{content:e}=n;return _.NotebookActions.renderAllMarkdown(e)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.restart,{label:d.__("Restart Kernel…"),caption:d.__("Restart the kernel"),execute:e=>{const n=Ae(t,h,e);if(n){return i.restart(n.sessionContext)}},isEnabled:e=>e.toolbar?true:a(),icon:e=>e.toolbar?k.refreshIcon:undefined,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"}}}}});c.addCommand(Y.shutdown,{label:d.__("Shut Down Kernel"),execute:e=>{const n=Ae(t,h,e);if(!n){return}return n.context.sessionContext.shutdown()},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.closeAndShutdown,{label:d.__("Close and Shut Down Notebook…"),execute:e=>{const n=Ae(t,h,e);if(!n){return}const i=n.title.label;return(0,s.showDialog)({title:d.__("Shut down the notebook?"),body:d.__('Are you sure you want to close "%1"?',i),buttons:[s.Dialog.cancelButton(),s.Dialog.warnButton()]}).then((e=>{if(e.button.accept){return c.execute(Y.shutdown,{activate:false}).then((()=>{n.dispose()}))}}))},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.trust,{label:()=>d.__("Trust Notebook"),execute:e=>{const n=Ae(t,h,e);if(n){const{context:e,content:t}=n;return _.NotebookActions.trust(t).then((()=>e.save()))}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.restartClear,{label:d.__("Restart Kernel and Clear Outputs of All Cells…"),caption:d.__("Restart the kernel and clear all outputs of all cells"),execute:async()=>{const e=await c.execute(Y.restart,{activate:false});if(e){await c.execute(Y.clearAllOutputs)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.restartAndRunToSelected,{label:d.__("Restart Kernel and Run up to Selected Cell…"),execute:async e=>{const s=Ae(t,h,{activate:false,...e});if(!s){return}const{context:o,content:r}=s;const a=r.widgets.slice(0,r.activeCellIndex+1);const l=await i.restart(s.sessionContext);if(l){return _.NotebookActions.runCells(r,a,o.sessionContext,i,n)}},isEnabled:u,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.restartRunAll,{label:d.__("Restart Kernel and Run All Cells…"),caption:d.__("Restart the kernel and run all cells"),execute:async e=>{const s=Ae(t,h,{activate:false,...e});if(!s){return}const{context:o,content:r}=s;const a=r.widgets;const l=await i.restart(s.sessionContext);if(l){return _.NotebookActions.runCells(r,a,o.sessionContext,i,n)}},isEnabled:e=>e.toolbar?true:a(),icon:e=>e.toolbar?k.fastForwardIcon:undefined,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.clearAllOutputs,{label:d.__("Clear Outputs of All Cells"),caption:d.__("Clear all outputs of all cells"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.clearAllOutputs(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.clearOutputs,{label:d.__("Clear Cell Output"),caption:d.__("Clear outputs for the selected cells"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.clearOutputs(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.interrupt,{label:d.__("Interrupt Kernel"),caption:d.__("Interrupt the kernel"),execute:e=>{var n;const i=Ae(t,h,e);if(!i){return}const s=(n=i.context.sessionContext.session)===null||n===void 0?void 0:n.kernel;if(s){return s.interrupt()}},isEnabled:e=>e.toolbar?true:a(),icon:e=>e.toolbar?k.stopIcon:undefined,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"}}}}});c.addCommand(Y.toCode,{label:d.__("Change to Code Cell Type"),execute:e=>{const i=Ae(t,h,e);if(i){return _.NotebookActions.changeCellType(i.content,"code",n)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.toMarkdown,{label:d.__("Change to Markdown Cell Type"),execute:e=>{const i=Ae(t,h,e);if(i){return _.NotebookActions.changeCellType(i.content,"markdown",n)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.toRaw,{label:d.__("Change to Raw Cell Type"),execute:e=>{const i=Ae(t,h,e);if(i){return _.NotebookActions.changeCellType(i.content,"raw",n)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.cut,{label:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Cut Cell","Cut Cells",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},caption:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Cut this cell","Cut these %1 cells",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},execute:async e=>{const n=Ae(t,h,e);if(n){return await _.NotebookActions.cutToSystemClipboard(n.content)}},icon:e=>e.toolbar?k.cutIcon:undefined,isEnabled:e=>e.toolbar?true:a(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.copy,{label:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Copy Cell","Copy Cells",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},caption:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Copy this cell","Copy these %1 cells",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},execute:async e=>{const n=Ae(t,h,e);if(n){return await _.NotebookActions.copyToSystemClipboard(n.content)}},icon:e=>e.toolbar?k.copyIcon:undefined,isEnabled:e=>e.toolbar?true:a(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.pasteBelow,{label:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Paste Cell Below","Paste Cells Below",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},caption:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Paste this cell from the clipboard","Paste these %1 cells from the clipboard",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},execute:async e=>{const n=Ae(t,h,e);if(n){return await _.NotebookActions.pasteFromSystemClipboard(n.content,"below")}},icon:e=>e.toolbar?k.pasteIcon:undefined,isEnabled:e=>e.toolbar?true:a(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.pasteAbove,{label:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Paste Cell Above","Paste Cells Above",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},caption:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Paste this cell from the clipboard","Paste these %1 cells from the clipboard",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},execute:async e=>{const n=Ae(t,h,e);if(n){return await _.NotebookActions.pasteFromSystemClipboard(n.content,"above")}},isEnabled:a,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.duplicateBelow,{label:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Duplicate Cell Below","Duplicate Cells Below",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},caption:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Create a duplicate of this cell below","Create duplicates of %1 cells below",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},execute:e=>{const n=Ae(t,h,e);if(n){_.NotebookActions.duplicate(n.content,"belowSelected")}},icon:e=>e.toolbar?k.duplicateIcon:undefined,isEnabled:e=>e.toolbar?true:a(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.pasteAndReplace,{label:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Paste Cell and Replace","Paste Cells and Replace",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},execute:async e=>{const n=Ae(t,h,e);if(n){return await _.NotebookActions.pasteFromSystemClipboard(n.content,"replace")}},isEnabled:a,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.deleteCell,{label:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Delete Cell","Delete Cells",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},caption:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Delete this cell","Delete these %1 cells",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.deleteCells(n.content)}},isEnabled:e=>e.toolbar?true:a(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.split,{label:d.__("Split Cell"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.splitCell(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.merge,{label:d.__("Merge Selected Cells"),execute:e=>{var n;const i=Ae(t,h,e);if(i){const e=(n=r===null||r===void 0?void 0:r.get("addExtraLineOnCellMerge").composite)!==null&&n!==void 0?n:true;return _.NotebookActions.mergeCells(i.content,false,e)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.mergeAbove,{label:d.__("Merge Cell Above"),execute:e=>{var n;const i=Ae(t,h,e);if(i){const e=(n=r===null||r===void 0?void 0:r.get("addExtraLineOnCellMerge").composite)!==null&&n!==void 0?n:true;return _.NotebookActions.mergeCells(i.content,true,e)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.mergeBelow,{label:d.__("Merge Cell Below"),execute:e=>{var n;const i=Ae(t,h,e);if(i){const e=(n=r===null||r===void 0?void 0:r.get("addExtraLineOnCellMerge").composite)!==null&&n!==void 0?n:true;return _.NotebookActions.mergeCells(i.content,false,e)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.insertAbove,{label:d.__("Insert Cell Above"),caption:d.__("Insert a cell above"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.insertAbove(n.content)}},icon:e=>e.toolbar?k.addAboveIcon:undefined,isEnabled:e=>e.toolbar?true:a(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"}}}}});c.addCommand(Y.insertBelow,{label:d.__("Insert Cell Below"),caption:d.__("Insert a cell below"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.insertBelow(n.content)}},icon:e=>e.toolbar?k.addBelowIcon:undefined,isEnabled:e=>e.toolbar?true:a(),describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"}}}}});c.addCommand(Y.selectAbove,{label:d.__("Select Cell Above"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.selectAbove(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.selectBelow,{label:d.__("Select Cell Below"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.selectBelow(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.insertHeadingAbove,{label:d.__("Insert Heading Above Current Heading"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.insertSameLevelHeadingAbove(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.insertHeadingBelow,{label:d.__("Insert Heading Below Current Heading"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.insertSameLevelHeadingBelow(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.selectHeadingAboveOrCollapse,{label:d.__("Select Heading Above or Collapse Heading"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.selectHeadingAboveOrCollapseHeading(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.selectHeadingBelowOrExpand,{label:d.__("Select Heading Below or Expand Heading"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.selectHeadingBelowOrExpandHeading(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.extendAbove,{label:d.__("Extend Selection Above"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.extendSelectionAbove(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.extendTop,{label:d.__("Extend Selection to Top"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.extendSelectionAbove(n.content,true)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.extendBelow,{label:d.__("Extend Selection Below"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.extendSelectionBelow(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.extendBottom,{label:d.__("Extend Selection to Bottom"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.extendSelectionBelow(n.content,true)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.selectAll,{label:d.__("Select All Cells"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.selectAll(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.deselectAll,{label:d.__("Deselect All Cells"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.deselectAll(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.moveUp,{label:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Move Cell Up","Move Cells Up",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},caption:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Move this cell up","Move these %1 cells up",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},execute:e=>{const n=Ae(t,h,e);if(n){_.NotebookActions.moveUp(n.content);Ne.raiseSilentNotification(d.__("Notebook cell shifted up successfully"),n.node)}},isEnabled:e=>{const n=Ae(t,h,{...e,activate:false});if(!n){return false}return n.content.activeCellIndex>=1},icon:e=>e.toolbar?k.moveUpIcon:undefined,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.moveDown,{label:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Move Cell Down","Move Cells Down",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},caption:e=>{var n;const i=Ae(t,h,{...e,activate:false});return d._n("Move this cell down","Move these %1 cells down",(n=i===null||i===void 0?void 0:i.content.selectedCells.length)!==null&&n!==void 0?n:1)},execute:e=>{const n=Ae(t,h,e);if(n){_.NotebookActions.moveDown(n.content);Ne.raiseSilentNotification(d.__("Notebook cell shifted down successfully"),n.node)}},isEnabled:e=>{const n=Ae(t,h,{...e,activate:false});if(!n||!n.content.model){return false}const i=n.content.model.cells.length;return n.content.activeCellIndex<i-1},icon:e=>e.toolbar?k.moveDownIcon:undefined,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:"Whether the command is being executed from the toolbar"},activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.toggleAllLines,{label:d.__("Show Line Numbers"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.toggleAllLineNumbers(n.content)}},isEnabled:a,isToggled:e=>{const n=Ae(t,h,{...e,activate:false});if(n){const e=n.content.editorConfig;return!!(e.code.lineNumbers&&e.markdown.lineNumbers&&e.raw.lineNumbers)}else{return false}},describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.commandMode,{label:d.__("Enter Command Mode"),execute:e=>{const n=Ae(t,h,e);if(n){n.content.mode="command"}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.editMode,{label:d.__("Enter Edit Mode"),execute:e=>{const n=Ae(t,h,e);if(n){n.content.mode="edit"}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.undoCellAction,{label:d.__("Undo Cell Operation"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.undo(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.redoCellAction,{label:d.__("Redo Cell Operation"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.redo(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.redo,{label:d.__("Redo"),execute:e=>{var n;const i=Ae(t,h,e);if(i){const e=i.content.activeCell;if(e){e.inputHidden=false;return(n=e.editor)===null||n===void 0?void 0:n.redo()}}},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.undo,{label:d.__("Undo"),execute:e=>{var n;const i=Ae(t,h,e);if(i){const e=i.content.activeCell;if(e){e.inputHidden=false;return(n=e.editor)===null||n===void 0?void 0:n.undo()}}},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.changeKernel,{label:d.__("Change Kernel…"),execute:e=>{const n=Ae(t,h,e);if(n){return i.selectKernel(n.context.sessionContext)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.getKernel,{label:d.__("Get Kernel"),execute:e=>{var n;const i=Ae(t,h,{activate:false,...e});if(i){return(n=i.sessionContext.session)===null||n===void 0?void 0:n.kernel}},isEnabled:a,describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.reconnectToKernel,{label:d.__("Reconnect to Kernel"),execute:e=>{var n;const i=Ae(t,h,e);if(!i){return}const s=(n=i.context.sessionContext.session)===null||n===void 0?void 0:n.kernel;if(s){return s.reconnect()}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.markdown1,{label:d.__("Change to Heading 1"),execute:e=>{const i=Ae(t,h,e);if(i){return _.NotebookActions.setMarkdownHeader(i.content,1,n)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.markdown2,{label:d.__("Change to Heading 2"),execute:e=>{const i=Ae(t,h,e);if(i){return _.NotebookActions.setMarkdownHeader(i.content,2,n)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.markdown3,{label:d.__("Change to Heading 3"),execute:e=>{const i=Ae(t,h,e);if(i){return _.NotebookActions.setMarkdownHeader(i.content,3,n)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.markdown4,{label:d.__("Change to Heading 4"),execute:e=>{const i=Ae(t,h,e);if(i){return _.NotebookActions.setMarkdownHeader(i.content,4,n)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.markdown5,{label:d.__("Change to Heading 5"),execute:e=>{const i=Ae(t,h,e);if(i){return _.NotebookActions.setMarkdownHeader(i.content,5,n)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.markdown6,{label:d.__("Change to Heading 6"),execute:e=>{const i=Ae(t,h,e);if(i){return _.NotebookActions.setMarkdownHeader(i.content,6,n)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.hideCode,{label:d.__("Collapse Selected Code"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.hideCode(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.showCode,{label:d.__("Expand Selected Code"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.showCode(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.hideAllCode,{label:d.__("Collapse All Code"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.hideAllCode(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.showAllCode,{label:d.__("Expand All Code"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.showAllCode(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.hideOutput,{label:d.__("Collapse Selected Outputs"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.hideOutput(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.showOutput,{label:d.__("Expand Selected Outputs"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.showOutput(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.toggleOutput,{label:d.__("Toggle Visibility of Selected Outputs"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.toggleOutput(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.hideAllOutputs,{label:d.__("Collapse All Outputs"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.hideAllOutputs(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.toggleRenderSideBySideCurrentNotebook,{label:d.__("Render Side-by-Side"),execute:e=>{const n=Ae(t,h,e);if(n){if(n.content.renderingLayout==="side-by-side"){return _.NotebookActions.renderDefault(n.content)}return _.NotebookActions.renderSideBySide(n.content)}},isEnabled:a,isToggled:e=>{const n=Ae(t,h,{...e,activate:false});if(n){return n.content.renderingLayout==="side-by-side"}else{return false}},describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.showAllOutputs,{label:d.__("Expand All Outputs"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.showAllOutputs(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.enableOutputScrolling,{label:d.__("Enable Scrolling for Outputs"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.enableOutputScrolling(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.disableOutputScrolling,{label:d.__("Disable Scrolling for Outputs"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.disableOutputScrolling(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.selectLastRunCell,{label:d.__("Select current running or last run cell"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.selectLastRunCell(n.content)}},isEnabled:a,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.replaceSelection,{label:d.__("Replace Selection in Notebook Cell"),execute:e=>{const n=Ae(t,h,e);const i=e["text"]||"";if(n){return _.NotebookActions.replaceSelection(n.content,i)}},isEnabled:a,describedBy:{args:{type:"object",properties:{text:{type:"string",description:d.__("Text to replace the selection with")}}}}});c.addCommand(Y.toggleCollapseCmd,{label:d.__("Toggle Collapse Notebook Heading"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.toggleCurrentHeadingCollapse(n.content)}},isEnabled:m,describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.collapseAllCmd,{label:d.__("Collapse All Headings"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.collapseAllHeadings(n.content)}},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.expandAllCmd,{label:d.__("Expand All Headings"),execute:e=>{const n=Ae(t,h,e);if(n){return _.NotebookActions.expandAllHeadings(n.content)}},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.tocRunCells,{label:d.__("Select and Run Cell(s) for this Heading"),execute:e=>{const s=Ae(t,h,{activate:false,...e});if(s===null){return}const r=s.content.activeCell;let a=s.content.activeCellIndex;if(r instanceof o.MarkdownCell){const e=s.content.widgets;const t=r.headingInfo.level;for(let n=s.content.activeCellIndex+1;n<e.length;n++){const i=e[n];if(i instanceof o.MarkdownCell&&i.headingInfo.level>=0&&i.headingInfo.level<=t){break}a=n}}s.content.extendContiguousSelectionTo(a);void _.NotebookActions.run(s.content,s.sessionContext,i,n)},describedBy:{args:{type:"object",properties:{activate:{type:"boolean",description:d.__("Whether to activate the notebook after execution")}}}}});c.addCommand(Y.accessPreviousHistory,{label:d.__("Access Previous Kernel History Entry"),execute:async e=>{const n=Ae(t,h,e);if(n){return await _.NotebookActions.accessPreviousHistory(n.content)}},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.accessNextHistory,{label:d.__("Access Next Kernel History Entry"),execute:async e=>{const n=Ae(t,h,e);if(n){return await _.NotebookActions.accessNextHistory(n.content)}},describedBy:{args:{type:"object",properties:{}}}});c.addCommand(Y.virtualScrollbar,{label:d.__("Show Minimap"),caption:d.__("Show Minimap"),execute:e=>{const n=Ae(t,h,e);if(n){n.content.scrollbar=!n.content.scrollbar}},isEnabled:()=>{const e=t.currentWidget;return!!e},isToggled:()=>{var e;const n=t.currentWidget;return(e=n===null||n===void 0?void 0:n.content.scrollbar)!==null&&e!==void 0?e:false},describedBy:{args:{type:"object",properties:{}}}});const g=[Y.createNew,Y.createOutputView];const f=()=>{Object.values(Y).filter((t=>!g.includes(t)&&e.commands.hasCommand(t))).forEach((t=>e.commands.notifyCommandChanged(t)))};t.currentChanged.connect(f);(l=h.currentChanged)===null||l===void 0?void 0:l.connect(f)}function Le(e,t){const n=t.load("jupyterlab");let i=n.__("Notebook Operations");[Y.interrupt,Y.restart,Y.restartClear,Y.restartRunAll,Y.runAll,Y.renderAllMarkdown,Y.runAllAbove,Y.runAllBelow,Y.restartAndRunToSelected,Y.selectAll,Y.deselectAll,Y.clearAllOutputs,Y.toggleAllLines,Y.editMode,Y.commandMode,Y.changeKernel,Y.reconnectToKernel,Y.createConsole,Y.createSubshellConsole,Y.closeAndShutdown,Y.trust,Y.toggleCollapseCmd,Y.collapseAllCmd,Y.expandAllCmd,Y.accessPreviousHistory,Y.accessNextHistory,Y.virtualScrollbar].forEach((t=>{e.addItem({command:t,category:i})}));e.addItem({command:Y.createNew,category:i,args:{isPalette:true}});i=n.__("Notebook Cell Operations");[Y.run,Y.runAndAdvance,Y.runAndInsert,Y.runInConsole,Y.clearOutputs,Y.toCode,Y.toMarkdown,Y.toRaw,Y.cut,Y.copy,Y.pasteBelow,Y.pasteAbove,Y.pasteAndReplace,Y.deleteCell,Y.split,Y.merge,Y.mergeAbove,Y.mergeBelow,Y.insertAbove,Y.insertBelow,Y.selectAbove,Y.selectBelow,Y.selectHeadingAboveOrCollapse,Y.selectHeadingBelowOrExpand,Y.insertHeadingAbove,Y.insertHeadingBelow,Y.extendAbove,Y.extendTop,Y.extendBelow,Y.extendBottom,Y.moveDown,Y.moveUp,Y.undoCellAction,Y.redoCellAction,Y.markdown1,Y.markdown2,Y.markdown3,Y.markdown4,Y.markdown5,Y.markdown6,Y.hideCode,Y.showCode,Y.hideAllCode,Y.showAllCode,Y.hideOutput,Y.showOutput,Y.toggleOutput,Y.hideAllOutputs,Y.showAllOutputs,Y.toggleRenderSideBySideCurrentNotebook,Y.setSideBySideRatio,Y.enableOutputScrolling,Y.disableOutputScrolling].forEach((t=>{e.addItem({command:t,category:i})}))}function Re(e,t){e.editMenu.undoers.redo.add({id:Y.redo,isEnabled:t});e.editMenu.undoers.undo.add({id:Y.undo,isEnabled:t});e.editMenu.clearers.clearAll.add({id:Y.clearAllOutputs,isEnabled:t});e.editMenu.clearers.clearCurrent.add({id:Y.clearOutputs,isEnabled:t});e.fileMenu.consoleCreators.add({id:Y.createConsole,isEnabled:t});e.fileMenu.closeAndCleaners.add({id:Y.closeAndShutdown,isEnabled:t});e.kernelMenu.kernelUsers.changeKernel.add({id:Y.changeKernel,isEnabled:t});e.kernelMenu.kernelUsers.clearWidget.add({id:Y.clearAllOutputs,isEnabled:t});e.kernelMenu.kernelUsers.interruptKernel.add({id:Y.interrupt,isEnabled:t});e.kernelMenu.kernelUsers.reconnectToKernel.add({id:Y.reconnectToKernel,isEnabled:t});e.kernelMenu.kernelUsers.restartKernel.add({id:Y.restart,isEnabled:t});e.kernelMenu.kernelUsers.shutdownKernel.add({id:Y.shutdown,isEnabled:t});e.viewMenu.editorViewers.toggleLineNumbers.add({id:Y.toggleAllLines,isEnabled:t});e.viewMenu.editorViewers.toggleMinimap.add({id:Y.virtualScrollbar,isEnabled:()=>true});e.runMenu.codeRunners.restart.add({id:Y.restart,isEnabled:t});e.runMenu.codeRunners.run.add({id:Y.runAndAdvance,isEnabled:t});e.runMenu.codeRunners.runAll.add({id:Y.runAll,isEnabled:t});e.helpMenu.getKernel.add({id:Y.getKernel,isEnabled:t})}var Ne;(function(e){function t(e,t,n,i){const s={path:t.context.path,preferredLanguage:t.context.model.defaultKernelLanguage,activate:n,subshell:i,ref:t.id,insertMode:"split-bottom",type:"Linked Console"};return e.execute("console:create",s)}e.createConsole=t;function n(e,t){return t.currentWidget!==null&&t.currentWidget===e.currentWidget}e.isEnabled=n;function i(t,n){if(!e.isEnabled(t,n)){return false}const{content:i}=n.currentWidget;const s=i.activeCellIndex;for(let e=0;e<i.widgets.length;++e){if(i.isSelected(i.widgets[e])&&e!==s){return false}}return true}e.isEnabledAndSingleSelected=i;function s(t,n){if(!e.isEnabled(t,n)){return false}const{content:i}=n.currentWidget;const s=i.activeCellIndex;if(!(i.activeCell instanceof o.MarkdownCell)){return false}for(let e=0;e<i.widgets.length;++e){if(i.isSelected(i.widgets[e])&&e!==s){return false}}return true}e.isEnabledAndHeadingSelected=s;function r(e){e=e||j.nullTranslator;const t=e.load("jupyterlab");return{html:t.__("HTML"),latex:t.__("LaTeX"),markdown:t.__("Markdown"),pdf:t.__("PDF"),rst:t.__("ReStructured Text"),script:t.__("Executable Script"),slides:t.__("Reveal.js Slides")}}e.getFormatLabels=r;function a(e,t){const n=`sr-message-container-${t.id}`;const i=document.getElementById(n)||document.createElement("div");if(i.getAttribute("id")!==n){i.classList.add("sr-only");i.setAttribute("id",n);i.setAttribute("role","alert");i.hidden=true;t.appendChild(i)}i.innerText=e}e.raiseSilentNotification=a;class l extends D.Panel{constructor(e){super();this._cell=null;const t=(e.translator||j.nullTranslator).load("jupyterlab");this._notebook=e.notebook;this._index=e.index!==undefined?e.index:-1;this._cell=e.cell||null;this.id=`LinkedOutputView-${T.UUID.uuid4()}`;this.title.label="Output View";this.title.icon=k.notebookIcon;this.title.caption=this._notebook.title.label?t.__("For Notebook: %1",this._notebook.title.label):t.__("For Notebook:");this.addClass("jp-LinkedOutputView");void this._notebook.context.ready.then((()=>{if(!this._cell){this._cell=this._notebook.content.widgets[this._index]}if(!this._cell||this._cell.model.type!=="code"){this.dispose();return}const e=this._cell.cloneOutputArea();this.addWidget(e)}))}get index(){return this._cell?I.ArrayExt.findFirstIndex(this._notebook.content.widgets,(e=>e===this._cell)):this._index}get path(){return this._notebook.context.path}}e.ClonedOutputArea=l})(Ne||(Ne={}))},90167:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(24800);var r=n(97913);var a=n(17325);var l=n(5893);var d=n(79010);var c=n(3579);var h=n(19562);var u=n(23359);var p=n(41603);var m=n(39063);var g=n(66731);var f=n(53377);var v=n(13137);var _=n(28006);var b=n(36060);var y=n(87779);var w=n(75797);var C=n(69704);var x=n(67996);var S=n(69540);var j=n(58130)},97846:(e,t,n)=>{"use strict";n.r(t);n.d(t,{CellList:()=>b,CellTypeSwitcher:()=>S,CommandEditStatus:()=>N,ExecutionIndicator:()=>T,ExecutionIndicatorComponent:()=>I,INotebookCellExecutor:()=>Je,INotebookTools:()=>$e,INotebookTracker:()=>Ke,INotebookWidgetFactory:()=>qe,KernelError:()=>g,Notebook:()=>Pe,NotebookActions:()=>f,NotebookAdapter:()=>F,NotebookHistory:()=>E,NotebookModel:()=>P,NotebookModelFactory:()=>L,NotebookPanel:()=>Oe,NotebookSearchProvider:()=>ze,NotebookToCFactory:()=>Ve,NotebookToCModel:()=>He,NotebookTools:()=>U,NotebookTracker:()=>Ge,NotebookTrustStatus:()=>Ze,NotebookViewModel:()=>ie,NotebookWidgetFactory:()=>et,NotebookWindowedLayout:()=>se,RunningStatus:()=>We,StaticNotebook:()=>De,ToolbarItems:()=>x,getIdForHeading:()=>Ue,runCell:()=>u,setCellExecutor:()=>v});var i=n(38850);var s=n(88459);var o=n(40959);var r=n(34881);var a=n(34236);var l=n(5592);var d=n(2336);var c=n(44914);var h=n.n(c);async function u({cell:e,notebook:t,notebookConfig:n,onCellExecuted:o,onCellExecutionScheduled:a,sessionContext:l,sessionDialogs:d,translator:c}){var h;c=c!==null&&c!==void 0?c:r.nullTranslator;const u=c.load("jupyterlab");switch(e.model.type){case"markdown":e.rendered=true;e.inputHidden=false;o({cell:e,success:true});break;case"code":if(l){if(l.isTerminating){await(0,i.showDialog)({title:u.__("Kernel Terminating"),body:u.__("The kernel for %1 appears to be terminating. You can not run any cell for now.",(h=l.session)===null||h===void 0?void 0:h.path),buttons:[i.Dialog.okButton()]});break}if(l.pendingInput){await(0,i.showDialog)({title:u.__("Cell not executed due to pending input"),body:u.__("The cell has not been executed to avoid kernel deadlock as there is another pending input! Type your input in the input box, press Enter and try again."),buttons:[i.Dialog.okButton()]});return false}if(l.hasNoKernel){const e=await l.startKernel();if(e&&d){await d.selectKernel(l)}}if(l.hasNoKernel){e.model.sharedModel.transact((()=>{e.model.clearExecution()}));return true}const r=t.deletedCells;a({cell:e});let c=false;try{const i=await s.CodeCell.execute(e,l,{deletedCells:r,recordTiming:n.recordTiming});r.splice(0,r.length);c=(()=>{if(e.isDisposed){return false}if(!i){return true}if(i.content.status==="ok"){const n=i.content;if(n.payload&&n.payload.length){p(n,t,e)}return true}else{throw new g(i.content)}})()}catch(m){if(e.isDisposed||m.message.startsWith("Canceled")){c=false}else{o({cell:e,success:false,error:m});throw m}}if(c){o({cell:e,success:true})}return c}e.model.sharedModel.transact((()=>{e.model.clearExecution()}),false);break;default:break}return Promise.resolve(true)}function p(e,t,n){var i;const s=(i=e.payload)===null||i===void 0?void 0:i.filter((e=>e.source==="set_next_input"))[0];if(!s){return}const o=s.text;const r=s.replace;if(r){n.model.sharedModel.setSource(o);return}const l=t.sharedModel;const d=t.cells;const c=(0,a.findIndex)(d,(e=>e===n.model));if(c===-1){l.insertCell(l.cells.length,{cell_type:"code",source:o,metadata:{trusted:false}})}else{l.insertCell(c+1,{cell_type:"code",source:o,metadata:{trusted:false}})}}const m="application/vnd.jupyter.cells";class g extends Error{constructor(e){const t=e;const n=t.ename;const i=t.evalue;super(`KernelReplyNotOK: ${n} ${i}`);this.errorName=n;this.errorValue=i;this.traceback=t.traceback;Object.setPrototypeOf(this,g.prototype)}}class f{static get executed(){return _.executed}static get executionScheduled(){return _.executionScheduled}static get selectionExecuted(){return _.selectionExecuted}static get outputCleared(){return _.outputCleared}constructor(){}}(function(e){function t(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);e.mode="edit";e.deselectAll();const n=e.model;const i=e.activeCellIndex;const o=e.widgets[i];const r=o.editor;if(!r){return}const a=r.getSelections();const l=o.model.sharedModel.getSource();const d=[0];let c=-1;let h=-1;for(let s=0;s<a.length;s++){c=r.getOffsetAt(a[s].start);h=r.getOffsetAt(a[s].end);if(c<h){d.push(c);d.push(h)}else if(h<c){d.push(h);d.push(c)}else{d.push(c)}}d.push(l.length);const{cell_type:u,metadata:p}=o.model.sharedModel.toJSON();const m=JSON.parse(JSON.stringify(p!==null&&p!==void 0?p:{}));if(u==="code"&&m.execution&&m.execution["iopub.execute_input"]&&!m.execution["shell.execute_reply"]){delete m.execution}const g=d.slice(0,-2).map(((e,t)=>({cell_type:u,metadata:JSON.parse(JSON.stringify(m)),source:l.slice(e,d[t+1]).replace(/^\n+/,"").replace(/\n+$/,""),outputs:undefined})));const f=d[d.length-2];const v=d[d.length-1];const b=l.slice(f,v).replace(/^\n+/,"").replace(/\n+$/,"");n.sharedModel.transact((()=>{if(g.length>0){n.sharedModel.insertCells(i,g)}o.model.sharedModel.setSource(b);if(o.model instanceof s.CodeCellModel){const e=o.model;if(e.executionState==="running"){e.isDirty=true}}}));let y;if(c!==h){let e=0;for(let t=0;t<d.length-1;t++){if(c>=d[t]&&c<d[t+1]){e=t;break}}y=i+e}else{y=i+g.length}e.activeCellIndex=y;e.scrollToItem(e.activeCellIndex).then((()=>{var t;(t=e.activeCell)===null||t===void 0?void 0:t.editor.focus()})).catch((e=>{}));void _.handleState(e,t)}e.splitCell=t;function n(e,t=false,n=true){if(!e.model||!e.activeCell){return}const i=_.getState(e);const o=[];const r=[];const a=e.model;const l=a.cells;const d=e.activeCell;const c=e.activeCellIndex;const h={};e.widgets.forEach(((t,n)=>{if(e.isSelectedOrActive(t)){o.push(t.model.sharedModel.getSource());if(n!==c){r.push(n)}const e=t.model;if((0,s.isRawCellModel)(e)||(0,s.isMarkdownCellModel)(e)){for(const t of e.attachments.keys){h[t]=e.attachments.get(t).toJSON()}}}}));if(o.length===1){if(t===true){if(c===0){return}const e=l.get(c-1);o.unshift(e.sharedModel.getSource());r.push(c-1)}else if(t===false){if(c===l.length-1){return}const e=l.get(c+1);o.push(e.sharedModel.getSource());r.push(c+1)}}e.deselectAll();const u=d.model.sharedModel;const{cell_type:p,metadata:m}=u.toJSON();if(u.cell_type==="code"){m.trusted=true}const g={cell_type:p,metadata:m,source:o.join(n?"\n\n":"\n"),attachments:u.cell_type==="markdown"||u.cell_type==="raw"?h:undefined};a.sharedModel.transact((()=>{a.sharedModel.deleteCell(c);a.sharedModel.insertCell(c,g);r.sort(((e,t)=>t-e)).forEach((e=>{a.sharedModel.deleteCell(e)}))}));if(d instanceof s.MarkdownCell){e.activeCell.rendered=false}void _.handleState(e,i)}e.mergeCells=n;function d(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);_.deleteCells(e);void _.handleState(e,t,true)}e.deleteCells=d;function h(e){if(!e.model){return}const t=_.getState(e);const n=e.model;const i=e.activeCell?e.activeCellIndex:0;n.sharedModel.insertCell(i,{cell_type:e.notebookConfig.defaultCell,metadata:e.notebookConfig.defaultCell==="code"?{trusted:true}:{}});e.activeCellIndex=i;e.deselectAll();void _.handleState(e,t,true)}e.insertAbove=h;function u(e){if(!e.model){return}const t=_.getState(e);const n=e.model;const i=e.activeCell?e.activeCellIndex+1:0;n.sharedModel.insertCell(i,{cell_type:e.notebookConfig.defaultCell,metadata:e.notebookConfig.defaultCell==="code"?{trusted:true}:{}});e.activeCellIndex=i;e.deselectAll();void _.handleState(e,t,true)}e.insertBelow=u;function p(e,t){if(!e.model||!e.activeCell){return}const n=_.getState(e);const i=e.widgets.findIndex((t=>e.isSelectedOrActive(t)));let s=e.widgets.slice(i+1).findIndex((t=>!e.isSelectedOrActive(t)));if(s>=0){s+=i+1}else{s=e.model.cells.length}if(t>0){e.moveCell(i,s,s-i)}else{e.moveCell(i,i+t,s-i)}void _.handleState(e,n,true)}function g(e){p(e,1)}e.moveDown=g;function f(e){p(e,-1)}e.moveUp=f;function v(e,t,n){if(!e.model||!e.activeCell){return}const i=_.getState(e);_.changeCellType(e,t,n);void _.handleState(e,i)}e.changeCellType=v;function b(e,t,n,i){if(!e.model||!e.activeCell){return Promise.resolve(false)}const s=_.getState(e);const o=_.runSelected(e,t,n,i);void _.handleRunState(e,s);return o}e.run=b;function y(e,t,n,i,s){if(!e.model){return Promise.resolve(false)}const o=_.getState(e);const r=_.runCells(e,t,n,i,s);void _.handleRunState(e,o);return r}e.runCells=y;async function w(e,t,n,i){var s;if(!e.model||!e.activeCell){return Promise.resolve(false)}const r=_.getState(e);const a=_.runSelected(e,t,n,i);const l=e.model;if(e.activeCellIndex===e.widgets.length-1){l.sharedModel.insertCell(e.widgets.length,{cell_type:e.notebookConfig.defaultCell,metadata:e.notebookConfig.defaultCell==="code"?{trusted:true}:{}});e.activeCellIndex++;if(((s=e.activeCell)===null||s===void 0?void 0:s.inViewport)===false){await(0,o.signalToPromise)(e.activeCell.inViewportChanged,200).catch((()=>{}))}e.mode="edit"}else{e.activeCellIndex++}void _.handleRunState(e,r,"center");return a}e.runAndAdvance=w;async function C(e,t,n,i){var s;if(!e.model||!e.activeCell){return Promise.resolve(false)}const r=_.getState(e);const a=_.runSelected(e,t,n,i);const l=e.model;l.sharedModel.insertCell(e.activeCellIndex+1,{cell_type:e.notebookConfig.defaultCell,metadata:e.notebookConfig.defaultCell==="code"?{trusted:true}:{}});e.activeCellIndex++;if(((s=e.activeCell)===null||s===void 0?void 0:s.inViewport)===false){await(0,o.signalToPromise)(e.activeCell.inViewportChanged,200).catch((()=>{}))}e.mode="edit";void _.handleRunState(e,r,"center");return a}e.runAndInsert=C;function x(e,t,n,i){if(!e.model||!e.activeCell){return Promise.resolve(false)}const s=_.getState(e);const o=e.widgets.length;const r=_.runCells(e,e.widgets,t,n,i);e.activeCellIndex=o;e.deselectAll();void _.handleRunState(e,s);return r}e.runAll=x;function S(e){if(!e.model||!e.activeCell){return Promise.resolve(false)}const t=e.activeCellIndex;const n=_.getState(e);e.widgets.forEach(((t,n)=>{if(t.model.type==="markdown"){e.select(t);e.activeCellIndex=n}}));if(e.activeCell.model.type!=="markdown"){return Promise.resolve(true)}const i=_.runSelected(e);e.activeCellIndex=t;void _.handleRunState(e,n);return i}e.renderAllMarkdown=S;function j(e,t,n,i){const{activeCell:s,activeCellIndex:o,model:r}=e;if(!r||!s||o<1){return Promise.resolve(false)}const a=_.getState(e);const l=_.runCells(e,e.widgets.slice(0,e.activeCellIndex),t,n,i);e.deselectAll();void _.handleRunState(e,a);return l}e.runAllAbove=j;function k(e,t,n,i){if(!e.model||!e.activeCell){return Promise.resolve(false)}const s=_.getState(e);const o=e.widgets.length;const r=_.runCells(e,e.widgets.slice(e.activeCellIndex),t,n,i);e.activeCellIndex=o;e.deselectAll();void _.handleRunState(e,s);return r}e.runAllBelow=k;function I(e,t){var n,i,s;if(!e.model||!((n=e.activeCell)===null||n===void 0?void 0:n.editor)){return}(s=(i=e.activeCell.editor).replaceSelection)===null||s===void 0?void 0:s.call(i,t)}e.replaceSelection=I;function T(e){if(!e.model||!e.activeCell){return}const t=e.layout.footer;if(t&&document.activeElement===t.node){t.node.blur();e.mode="command";return}if(e.activeCellIndex===0){return}let n=e.activeCellIndex-1;while(n>=0){const t=e.widgets[n];if(!t.inputHidden&&!t.isHidden){break}n-=1}const i=_.getState(e);e.activeCellIndex=n;e.deselectAll();void _.handleState(e,i,true)}e.selectAbove=T;function E(e){if(!e.model||!e.activeCell){return}let t=e.widgets.length-1;while(e.widgets[t].isHidden||e.widgets[t].inputHidden){t-=1}if(e.activeCellIndex===t){const t=e.layout.footer;t===null||t===void 0?void 0:t.node.focus();return}let n=e.activeCellIndex+1;while(n<t){let t=e.widgets[n];if(!t.inputHidden&&!t.isHidden){break}n+=1}const i=_.getState(e);e.activeCellIndex=n;e.deselectAll();void _.handleState(e,i,true)}e.selectBelow=E;async function M(e){if(!e.model||!e.activeCell){return}let t=_.Headings.determineHeadingLevel(e.activeCell,e);if(t==-1){await _.Headings.insertHeadingAboveCellIndex(0,1,e)}else{await _.Headings.insertHeadingAboveCellIndex(e.activeCellIndex,t,e)}}e.insertSameLevelHeadingAbove=M;async function D(e){if(!e.model||!e.activeCell){return}let t=_.Headings.determineHeadingLevel(e.activeCell,e);t=t>-1?t:1;let n=_.Headings.findLowerEqualLevelHeadingBelow(e.activeCell,e,true);await _.Headings.insertHeadingAboveCellIndex(n==-1?e.model.cells.length:n,t,e)}e.insertSameLevelHeadingBelow=D;function A(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);let n=ye(e.activeCell);if(n.isHeading&&!n.collapsed){ve(e.activeCell,true,e)}else{let t=_.Headings.findLowerEqualLevelParentHeadingAbove(e.activeCell,e,true);if(t>-1){e.activeCellIndex=t}}e.deselectAll();void _.handleState(e,t,true)}e.selectHeadingAboveOrCollapseHeading=A;function P(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);let n=ye(e.activeCell);if(n.isHeading&&n.collapsed){ve(e.activeCell,false,e)}else{let t=_.Headings.findHeadingBelow(e.activeCell,e,true);if(t>-1){e.activeCellIndex=t}}e.deselectAll();void _.handleState(e,t,true)}e.selectHeadingBelowOrExpandHeading=P;function L(e,t=false){if(!e.model||!e.activeCell){return}if(e.activeCellIndex===0){return}const n=_.getState(e);e.mode="command";if(t){e.extendContiguousSelectionTo(0)}else{e.extendContiguousSelectionTo(e.activeCellIndex-1)}void _.handleState(e,n,true)}e.extendSelectionAbove=L;function R(e,t=false){if(!e.model||!e.activeCell){return}if(e.activeCellIndex===e.widgets.length-1){return}const n=_.getState(e);e.mode="command";if(t){e.extendContiguousSelectionTo(e.widgets.length-1)}else{e.extendContiguousSelectionTo(e.activeCellIndex+1)}void _.handleState(e,n,true)}e.extendSelectionBelow=R;function N(e){if(!e.model||!e.activeCell){return}e.widgets.forEach((t=>{e.select(t)}))}e.selectAll=N;function B(e){if(!e.model||!e.activeCell){return}e.deselectAll()}e.deselectAll=B;function O(e){_.copyOrCut(e,false)}e.copy=O;async function F(e){await _.copyOrCutToSystemClipboard(e,false)}e.copyToSystemClipboard=F;function z(e){_.copyOrCut(e,true)}e.cut=z;async function W(e){await _.copyOrCutToSystemClipboard(e,true)}e.cutToSystemClipboard=W;function H(e,t="below"){const n=i.Clipboard.getInstance();if(!n.hasData(m)){return}const s=n.getData(m);q(e,t,s,true);void Ce(e)}e.paste=H;async function V(e,t="below"){const n=i.SystemClipboard.getInstance();const s=await n.getData(m);if(s===null||s===undefined){return}const o=s;q(e,t,o,true);void Ce(e)}e.pasteFromSystemClipboard=V;function U(e,t="below"){const n=_.selectedCells(e);if(!n||n.length===0){return}q(e,t,n,false)}e.duplicate=U;function q(e,t="below",n,i=false){if(!e.model||!e.activeCell){return}const s=_.getState(e);const o=e.model;e.mode="command";let r=0;const a=e.activeCellIndex;o.sharedModel.transact((()=>{switch(t){case"below":r=e.activeCellIndex+1;break;case"belowSelected":e.widgets.forEach(((t,n)=>{if(e.isSelectedOrActive(t)){r=n+1}}));break;case"above":r=e.activeCellIndex;break;case"replace":{const t=[];e.widgets.forEach(((n,i)=>{const s=n.model.sharedModel.getMetadata("deletable")!==false;if(e.isSelectedOrActive(n)&&s){t.push(i)}}));if(t.length>0){t.reverse().forEach((e=>{o.sharedModel.deleteCell(e)}))}r=t[0];break}default:break}o.sharedModel.insertCells(r,n.map((t=>{t.id=t.cell_type==="code"&&e.lastClipboardInteraction==="cut"&&typeof t.id==="string"?t.id:undefined;return t})))}));e.activeCellIndex=a+n.length;e.deselectAll();if(i){e.lastClipboardInteraction="paste"}void _.handleState(e,s,true)}function $(e){if(!e.model){return}const t=_.getState(e);e.mode="command";e.model.sharedModel.undo();e.deselectAll();void _.handleState(e,t)}e.undo=$;function K(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);e.mode="command";e.model.sharedModel.redo();e.deselectAll();void _.handleState(e,t)}e.redo=K;function J(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);const n=e.editorConfig;const i=!(n.code.lineNumbers&&n.markdown.lineNumbers&&n.raw.lineNumbers);const s={code:{...n.code,lineNumbers:i},markdown:{...n.markdown,lineNumbers:i},raw:{...n.raw,lineNumbers:i}};e.editorConfig=s;void _.handleState(e,t)}e.toggleAllLineNumbers=J;function G(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);let n=-1;for(const i of e.model.cells){const t=e.widgets[++n];if(e.isSelectedOrActive(t)&&i.type==="code"){i.sharedModel.transact((()=>{i.clearExecution();t.outputHidden=false}),false);_.outputCleared.emit({notebook:e,cell:t})}}void _.handleState(e,t,true)}e.clearOutputs=G;function Y(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);let n=-1;for(const i of e.model.cells){const t=e.widgets[++n];if(i.type==="code"){i.sharedModel.transact((()=>{i.clearExecution();t.outputHidden=false}),false);_.outputCleared.emit({notebook:e,cell:t})}}void _.handleState(e,t,true)}e.clearAllOutputs=Y;function X(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);e.widgets.forEach((t=>{if(e.isSelectedOrActive(t)&&t.model.type==="code"){t.inputHidden=true}}));void _.handleState(e,t)}e.hideCode=X;function Q(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);e.widgets.forEach((t=>{if(e.isSelectedOrActive(t)&&t.model.type==="code"){t.inputHidden=false}}));void _.handleState(e,t)}e.showCode=Q;function Z(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);e.widgets.forEach((e=>{if(e.model.type==="code"){e.inputHidden=true}}));void _.handleState(e,t)}e.hideAllCode=Z;function ee(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);e.widgets.forEach((e=>{if(e.model.type==="code"){e.inputHidden=false}}));void _.handleState(e,t)}e.showAllCode=ee;function te(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);e.widgets.forEach((t=>{if(e.isSelectedOrActive(t)&&t.model.type==="code"){t.outputHidden=true}}));void _.handleState(e,t,true)}e.hideOutput=te;function ne(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);e.widgets.forEach((t=>{if(e.isSelectedOrActive(t)&&t.model.type==="code"){t.outputHidden=false}}));void _.handleState(e,t)}e.showOutput=ne;function ie(e){if(!e.model||!e.activeCell){return}for(const t of e.widgets){if(e.isSelectedOrActive(t)&&t.model.type==="code"){if(t.outputHidden===false){return te(e)}}}return ne(e)}e.toggleOutput=ie;function se(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);e.widgets.forEach((e=>{if(e.model.type==="code"){e.outputHidden=true}}));void _.handleState(e,t,true)}e.hideAllOutputs=se;function oe(e){e.renderingLayout="side-by-side"}e.renderSideBySide=oe;function re(e){e.renderingLayout="default"}e.renderDefault=re;function ae(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);e.widgets.forEach((e=>{if(e.model.type==="code"){e.outputHidden=false}}));void _.handleState(e,t)}e.showAllOutputs=ae;function le(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);e.widgets.forEach((t=>{if(e.isSelectedOrActive(t)&&t.model.type==="code"){t.outputsScrolled=true}}));void _.handleState(e,t,true)}e.enableOutputScrolling=le;function de(e){if(!e.model||!e.activeCell){return}const t=_.getState(e);e.widgets.forEach((t=>{if(e.isSelectedOrActive(t)&&t.model.type==="code"){t.outputsScrolled=false}}));void _.handleState(e,t)}e.disableOutputScrolling=de;function ce(e){let t=null;let n=null;e.widgets.forEach(((e,i)=>{if(e.model.type==="code"){const s=e.model.getMetadata("execution");if(s&&l.JSONExt.isObject(s)&&s["iopub.status.busy"]!==undefined){const e=s["iopub.status.busy"].toString();if(e){const s=new Date(e);if(!t||s>=t){t=s;n=i}}}}}));if(n!==null){e.activeCellIndex=n}}e.selectLastRunCell=ce;function he(e,t,n){if(!e.model||!e.activeCell){return}const i=_.getState(e);const s=e.model.cells;t=Math.min(Math.max(t,1),6);e.widgets.forEach(((n,i)=>{if(e.isSelectedOrActive(n)){_.setMarkdownHeader(s.get(i),t)}}));_.changeCellType(e,"markdown",n);void _.handleState(e,i)}e.setMarkdownHeader=he;function ue(t){const n=_.getState(t);for(const i of t.widgets){if(e.getHeadingInfo(i).isHeading){e.setHeadingCollapse(i,true,t);e.setCellCollapse(i,true)}}t.activeCellIndex=0;void _.handleState(t,n,true)}e.collapseAllHeadings=ue;function pe(t){for(const n of t.widgets){if(e.getHeadingInfo(n).isHeading){e.setHeadingCollapse(n,false,t);e.setCellCollapse(n,false)}}}e.expandAllHeadings=pe;function me(e,t){const n=(0,a.findIndex)(t.widgets,((t,n)=>e.model.id===t.model.id));if(n===-1){return}if(n>=t.widgets.length){return}let i=ye(t.widgets[n]);for(let s=n-1;s>=0;s--){if(s<t.widgets.length){let e=ye(t.widgets[s]);if(e.isHeading&&e.headingLevel<i.headingLevel){return t.widgets[s]}}}return}function ge(e,t){let n=me(e,t);if(!n){return}if(!ye(n).collapsed&&!n.isHidden){return}if(n.isHidden){ge(n,t)}if(ye(n).collapsed){ve(n,false,t)}}e.expandParent=ge;function fe(e,t){let n=(0,a.findIndex)(t.widgets,((t,n)=>e.model.id===t.model.id));if(n===-1){return-1}let i=ye(e);for(n=n+1;n<t.widgets.length;n++){let e=ye(t.widgets[n]);if(e.isHeading&&e.headingLevel<=i.headingLevel){return n}}return t.widgets.length}e.findNextParentHeading=fe;function ve(t,n,i){const o=(0,a.findIndex)(i.widgets,((e,n)=>t.model.id===e.model.id));if(o===-1){return-1}if(!i.widgets.length){return o+1}let r=e.getHeadingInfo(t);if(t.isHidden||!(t instanceof s.MarkdownCell)||!r.isHeading){return o+1}let l=false;let d=0;let c;for(c=o+1;c<i.widgets.length;c++){let s=i.widgets[c];let o=e.getHeadingInfo(s);const a=s.headingsResolved;if(o.headingLevel===-1&&!a){requestAnimationFrame((()=>{ve(t,n,i)}));break}if(o.isHeading&&o.headingLevel<=r.headingLevel){c-=1;break}if(l&&o.isHeading&&o.headingLevel<=d){l=false}if(n||l){s.setHidden(true);continue}if(o.collapsed&&o.isHeading){l=true;d=o.headingLevel}s.setHidden(false)}if(c===i.widgets.length){t.numberChildNodes=c-o-1}else{t.numberChildNodes=c-o}e.setCellCollapse(t,n);return c+1}e.setHeadingCollapse=ve;function _e(t){if(!t.activeCell||t.activeCellIndex===undefined){return}let n=e.getHeadingInfo(t.activeCell);if(n.isHeading){e.setHeadingCollapse(t.activeCell,!n.collapsed,t)}t.scrollToItem(t.activeCellIndex).catch((e=>{}))}e.toggleCurrentHeadingCollapse=_e;function be(e,t){if(e instanceof s.MarkdownCell){e.headingCollapsed=t}else{e.setHidden(t)}}e.setCellCollapse=be;function ye(e){if(!(e instanceof s.MarkdownCell)){return{isHeading:false,headingLevel:7}}let t=e.headingInfo.level;let n=e.headingCollapsed;return{isHeading:t>0,headingLevel:t,collapsed:n}}e.getHeadingInfo=ye;function we(e,t){t=t||r.nullTranslator;const n=t.load("jupyterlab");if(!e.model){return Promise.resolve()}const s=(0,a.every)(e.model.cells,(e=>e.trusted));const o=c.createElement("p",null,n.__("A trusted Jupyter notebook may execute hidden malicious code when you open it."),c.createElement("br",null),n.__('Selecting "Trust" will re-render this notebook in a trusted state.'),c.createElement("br",null),n.__("For more information, see")," ",c.createElement("a",{href:"https://jupyter-server.readthedocs.io/en/stable/operators/security.html",target:"_blank",rel:"noopener noreferrer"},n.__("the Jupyter security documentation")),".");if(s){return(0,i.showDialog)({body:n.__("Notebook is already trusted"),buttons:[i.Dialog.okButton()]}).then((()=>undefined))}return(0,i.showDialog)({body:o,title:n.__("Trust this notebook?"),buttons:[i.Dialog.cancelButton(),i.Dialog.warnButton({label:n.__("Trust"),ariaLabel:n.__("Confirm Trusting this notebook")})]}).then((t=>{if(t.button.accept){if(e.model){for(const t of e.model.cells){t.trusted=true}}}}))}e.trust=we;async function Ce(e,t={waitUntilReady:true,preventScroll:false}){const{activeCell:n}=e;const{waitUntilReady:i,preventScroll:s}=t;if(!n){return}if(i){await n.ready}if(e.isDisposed||n.isDisposed){return}n.node.focus({preventScroll:s})}e.focusActiveCell=Ce;async function xe(e){if(!e.notebookConfig.accessKernelHistory){return}const t=e.activeCell;if(t){if(e.kernelHistory){const n=await e.kernelHistory.back(t);e.kernelHistory.updateEditor(t,n)}}}e.accessPreviousHistory=xe;async function Se(e){if(!e.notebookConfig.accessKernelHistory){return}const t=e.activeCell;if(t){if(e.kernelHistory){const n=await e.kernelHistory.forward(t);e.kernelHistory.updateEditor(t,n)}}}e.accessNextHistory=Se})(f||(f={}));function v(e){if(_.executor){throw new Error("Cell executor can only be set once.")}_.executor=e}var _;(function(e){e.executed=new d.Signal({});e.executionScheduled=new d.Signal({});e.selectionExecuted=new d.Signal({});e.outputCleared=new d.Signal({});function t(e){var t,n;return{wasFocused:e.node.contains(document.activeElement),activeCellId:(n=(t=e.activeCell)===null||t===void 0?void 0:t.model.id)!==null&&n!==void 0?n:null}}e.getState=t;async function n(e,t,n=false){const{activeCell:i,activeCellIndex:s}=e;if(n&&i){await e.scrollToItem(s,"auto",0).catch((e=>{}))}if(t.wasFocused||e.mode==="edit"){e.activate()}}e.handleState=n;async function s(e,t,n){const{activeCell:i,activeCellIndex:s}=e;if(i){await e.scrollToItem(s,"smart",0,n).catch((e=>{}))}if(t.wasFocused||e.mode==="edit"){e.activate()}}e.handleRunState=s;function a(t,n,s,o,a){const l=n[n.length-1];t.mode="command";let d=false;return Promise.all(n.map((e=>{if(e.model.type==="code"&&t.notebookConfig.enableKernelInitNotification&&s&&s.kernelDisplayStatus==="initializing"&&!d){d=true;a=a||r.nullTranslator;const e=a.load("jupyterlab");i.Notification.emit(e.__(`Kernel '${s.kernelDisplayName}' for '${s.path}' is still initializing. You can run code cells when the kernel has initialized.`),"warning",{autoClose:false});return Promise.resolve(false)}if(e.model.type==="code"&&t.notebookConfig.enableKernelInitNotification&&d){return Promise.resolve(false)}return c(t,e,s,o,a)}))).then((n=>{if(t.isDisposed){return false}e.selectionExecuted.emit({notebook:t,lastCell:l});t.update();return n.every((e=>e))})).catch((i=>{if(i.message.startsWith("KernelReplyNotOK")){n.map((e=>{if(e.model.type==="code"&&e.model.executionCount==null){e.model.executionState="idle"}}))}else{throw i}e.selectionExecuted.emit({notebook:t,lastCell:l});t.update();return false}))}e.runCells=a;function l(e,t,n,i){e.mode="command";let s=e.activeCellIndex;const o=e.widgets.filter(((t,n)=>{const i=e.isSelectedOrActive(t);if(i){s=n}return i}));e.activeCellIndex=s;e.deselectAll();return a(e,o,t,n,i)}e.runSelected=l;async function c(t,n,i,s,o){if(!e.executor){console.warn("Requesting cell execution without any cell executor defined. Falling back to default execution.")}const r={cell:n,notebook:t.model,notebookConfig:t.notebookConfig,onCellExecuted:n=>{e.executed.emit({notebook:t,...n})},onCellExecutionScheduled:n=>{e.executionScheduled.emit({notebook:t,...n})},sessionContext:i,sessionDialogs:s,translator:o};return e.executor?e.executor.runCell(r):u(r)}function h(e){return e.widgets.filter((t=>e.isSelectedOrActive(t))).map((e=>e.model.toJSON())).map((e=>{if(e.metadata.deletable!==undefined){delete e.metadata.deletable}return e}))}e.selectedCells=h;function p(s,o){if(!s.model||!s.activeCell){return}const r=t(s);const a=i.Clipboard.getInstance();s.mode="command";a.clear();const l=e.selectedCells(s);a.setData(m,l);if(o){_(s)}else{s.deselectAll()}if(o){s.lastClipboardInteraction="cut"}else{s.lastClipboardInteraction="copy"}void n(s,r)}e.copyOrCut=p;async function g(s,o){if(!s.model||!s.activeCell){return}const r=t(s);const a=i.SystemClipboard.getInstance();s.mode="command";a.clear();const l=e.selectedCells(s);await a.setData(m,l);if(o){_(s)}else{s.deselectAll()}if(o){s.lastClipboardInteraction="cut"}else{s.lastClipboardInteraction="copy"}void n(s,r)}e.copyOrCutToSystemClipboard=g;function v(e,t,n){const s=e.model.sharedModel;e.widgets.forEach(((o,a)=>{if(!e.isSelectedOrActive(o)){return}if(o.model.type==="code"&&o.outputArea.pendingInput){n=n||r.nullTranslator;const e=n.load("jupyterlab");void(0,i.showDialog)({title:e.__("Cell type not changed due to pending input"),body:e.__("The cell type has not been changed to avoid kernel deadlock as this cell has pending input! Submit your pending input and try again."),buttons:[i.Dialog.okButton()]});return}if(o.model.getMetadata("editable")==false){n=n||r.nullTranslator;const e=n.load("jupyterlab");void(0,i.showDialog)({title:e.__("Cell is read-only"),body:e.__("The cell is read-only, its type cannot be changed!"),buttons:[i.Dialog.okButton()]});return}if(o.model.type!==t){const e=o.model.toJSON();s.transact((()=>{s.deleteCell(a);if(t==="code"){e.metadata.trusted=true}else{e.metadata.trusted=undefined}const n=s.insertCell(a,{id:e.id,cell_type:t,source:e.source,metadata:e.metadata});if(e.attachments&&["markdown","raw"].includes(t)){n.attachments=e.attachments}}))}if(t==="markdown"){o=e.widgets[a];o.rendered=false}}));e.deselectAll()}e.changeCellType=v;function _(e){const t=e.model;const n=t.sharedModel;const i=[];e.mode="command";e.widgets.forEach(((t,n)=>{var s;const o=t.model.getMetadata("deletable")!==false;if(e.isSelectedOrActive(t)&&o){i.push(n);(s=e.model)===null||s===void 0?void 0:s.deletedCells.push(t.model.id)}}));if(i.length>0){n.transact((()=>{i.reverse().forEach((e=>{n.deleteCell(e)}));if(n.cells.length==i.length){n.insertCell(0,{cell_type:e.notebookConfig.defaultCell,metadata:e.notebookConfig.defaultCell==="code"?{trusted:true}:{}})}}));e.activeCellIndex=i[0]-i.length+1}e.deselectAll()}e.deleteCells=_;function b(e,t){let n=e.sharedModel.getSource();const i=/^(#+\s*)|^(\s*)/;const s=Array(t+1).join("#")+" ";const o=i.exec(n);if(o){n=n.slice(o[0].length)}e.sharedModel.setSource(s+n)}e.setMarkdownHeader=b;let y;(function(t){function n(e,t,n=false,i=false){let s=t.widgets.indexOf(e)-(n?1:0);while(s>=0){let e=f.getHeadingInfo(t.widgets[s]);if(e.isHeading){return i?s:t.widgets[s]}s--}return i?-1:null}t.findParentHeading=n;function i(t,n,i=false){let s=e.Headings.determineHeadingLevel(t,n);if(s==-1){s=1}let o=n.widgets.indexOf(t)-1;while(o>=0){let e=n.widgets[o];let t=f.getHeadingInfo(e);if(t.isHeading&&t.headingLevel<=s){return i?o:e}o--}return i?-1:null}t.findLowerEqualLevelParentHeadingAbove=i;function s(t,n,i=false){let s=e.Headings.determineHeadingLevel(t,n);if(s==-1){s=1}let o=n.widgets.indexOf(t)+1;while(o<n.widgets.length){let e=n.widgets[o];let t=f.getHeadingInfo(e);if(t.isHeading&&t.headingLevel<=s){return i?o:e}o++}return i?-1:null}t.findLowerEqualLevelHeadingBelow=s;function r(e,t,n=false){let i=t.widgets.indexOf(e)+1;while(i<t.widgets.length){let e=t.widgets[i];let s=f.getHeadingInfo(e);if(s.isHeading){return n?i:e}i++}return n?-1:null}t.findHeadingBelow=r;function a(e,t){let i=f.getHeadingInfo(e);if(i.isHeading){return i.headingLevel}else{let i=n(e,t,true);if(i==null){return-1}return f.getHeadingInfo(i).headingLevel}}t.determineHeadingLevel=a;async function l(t,n,i){var s;n=Math.min(Math.max(n,1),6);const r=e.getState(i);const a=i.model;const l=a.sharedModel;l.insertCell(t,{cell_type:"markdown",source:"#".repeat(n)+" "});i.activeCellIndex=t;if(((s=i.activeCell)===null||s===void 0?void 0:s.inViewport)===false){await(0,o.signalToPromise)(i.activeCell.inViewportChanged,200).catch((()=>{}))}i.deselectAll();void e.handleState(i,r,true);i.mode="edit";i.widgets[t].setHidden(false)}t.insertHeadingAboveCellIndex=l})(y=e.Headings||(e.Headings={}))})(_||(_={}));class b{constructor(e){this.model=e;this._cellMap=new WeakMap;this._changed=new d.Signal(this);this._isDisposed=false;this._insertCells(0,this.model.cells);this.model.changed.connect(this._onSharedModelChanged,this)}get changed(){return this._changed}get isDisposed(){return this._isDisposed}get length(){return this.model.cells.length}*[Symbol.iterator](){for(const e of this.model.cells){yield this._cellMap.get(e)}}dispose(){var e;if(this._isDisposed){return}this._isDisposed=true;for(const t of this.model.cells){(e=this._cellMap.get(t))===null||e===void 0?void 0:e.dispose()}d.Signal.clearData(this)}get(e){return this._cellMap.get(this.model.cells[e])}_insertCells(e,t){t.forEach((e=>{let t;switch(e.cell_type){case"code":{t=new s.CodeCellModel({sharedModel:e});break}case"markdown":{t=new s.MarkdownCellModel({sharedModel:e});break}default:{t=new s.RawCellModel({sharedModel:e})}}this._cellMap.set(e,t);e.disposed.connect((()=>{t.dispose();this._cellMap.delete(e)}))}));return this.length}_onSharedModelChanged(e,t){var n;let i=0;const s=new Array;(n=t.cellsChange)===null||n===void 0?void 0:n.forEach((e=>{if(e.insert!=null){this._insertCells(i,e.insert);s.push({type:"add",newIndex:i,newValues:e.insert.map((e=>this._cellMap.get(e))),oldIndex:-2,oldValues:[]});i+=e.insert.length}else if(e.delete!=null){s.push({type:"remove",newIndex:-1,newValues:[],oldIndex:i,oldValues:new Array(e.delete).fill(undefined)})}else if(e.retain!=null){i+=e.retain}}));s.forEach((e=>this._changed.emit(e)))}}var y=n(4073);const w="jp-Notebook-toolbarCellType";const C="jp-Notebook-toolbarCellTypeDropdown";var x;(function(e){function t(e,t){const n=(t||r.nullTranslator).load("jupyterlab");function s(){if(e.context.model.readOnly){return(0,i.showDialog)({title:n.__("Cannot Save"),body:n.__("Document is read-only"),buttons:[i.Dialog.okButton()]})}void e.context.save().then((()=>{if(!e.isDisposed){return e.context.createCheckpoint()}}))}return(0,y.addToolbarButtonClass)(y.ReactWidget.create(c.createElement(y.UseSignal,{signal:e.context.fileChanged},(()=>c.createElement(y.ToolbarButtonComponent,{icon:y.saveIcon,onClick:s,tooltip:n.__("Save the notebook contents and create checkpoint"),enabled:!!(e&&e.context&&e.context.contentsModel&&e.context.contentsModel.writable)})))))}e.createSaveButton=t;function n(e,t){const n=(t||r.nullTranslator).load("jupyterlab");return new y.ToolbarButton({icon:y.addIcon,onClick:()=>{f.insertBelow(e.content)},tooltip:n.__("Insert a cell below")})}e.createInsertButton=n;function s(e,t){const n=(t||r.nullTranslator).load("jupyterlab");return new y.ToolbarButton({icon:y.cutIcon,onClick:async()=>{await f.cutToSystemClipboard(e.content)},tooltip:n.__("Cut the selected cells")})}e.createCutButton=s;function o(e,t){const n=(t||r.nullTranslator).load("jupyterlab");return new y.ToolbarButton({icon:y.copyIcon,onClick:async()=>{await f.copyToSystemClipboard(e.content)},tooltip:n.__("Copy the selected cells")})}e.createCopyButton=o;function a(e,t){const n=(t||r.nullTranslator).load("jupyterlab");return new y.ToolbarButton({icon:y.pasteIcon,onClick:async()=>{await f.pasteFromSystemClipboard(e.content)},tooltip:n.__("Paste cells from the clipboard")})}e.createPasteButton=a;function l(e,t,n){const i=(n!==null&&n!==void 0?n:r.nullTranslator).load("jupyterlab");return new y.ToolbarButton({icon:y.runIcon,onClick:()=>{void f.runAndAdvance(e.content,e.sessionContext,t,n)},tooltip:i.__("Run the selected cells and advance")})}e.createRunButton=l;function d(e,t,n){const s=(n!==null&&n!==void 0?n:r.nullTranslator).load("jupyterlab");return new y.ToolbarButton({icon:y.fastForwardIcon,onClick:()=>{const s=t!==null&&t!==void 0?t:new i.SessionContextDialogs({translator:n});void s.restart(e.sessionContext).then((t=>{if(t){void f.runAll(e.content,e.sessionContext,s,n)}return t}))},tooltip:s.__("Restart the kernel, then re-run the whole notebook")})}e.createRestartRunAllButton=d;function h(e,t){return new S(e.content,t)}e.createCellTypeItem=h;function u(e,r,c){return[{name:"save",widget:t(e,c)},{name:"insert",widget:n(e,c)},{name:"cut",widget:s(e,c)},{name:"copy",widget:o(e,c)},{name:"paste",widget:a(e,c)},{name:"run",widget:l(e,r,c)},{name:"interrupt",widget:i.Toolbar.createInterruptButton(e.sessionContext,c)},{name:"restart",widget:i.Toolbar.createRestartButton(e.sessionContext,r,c)},{name:"restart-and-run",widget:d(e,r,c)},{name:"cellType",widget:h(e,c)},{name:"spacer",widget:y.Toolbar.createSpacerItem()},{name:"kernelName",widget:i.Toolbar.createKernelNameItem(e.sessionContext,r,c)}]}e.getDefaultItems=u})(x||(x={}));class S extends y.ReactWidget{constructor(e,t){super();this.handleChange=e=>{if(e.target.value!=="-"){f.changeCellType(this._notebook,e.target.value);this._notebook.activate()}};this.handleKeyDown=e=>{if(e.keyCode===13){this._notebook.activate()}};this._trans=(t||r.nullTranslator).load("jupyterlab");this.addClass(w);this._notebook=e;if(e.model){this.update()}e.activeCellChanged.connect(this.update,this);e.selectionChanged.connect(this.update,this)}render(){let e="-";if(this._notebook.activeCell){e=this._notebook.activeCell.model.type}for(const t of this._notebook.widgets){if(this._notebook.isSelectedOrActive(t)){if(t.model.type!==e){e="-";break}}}return c.createElement(y.HTMLSelect,{className:C,onChange:this.handleChange,onKeyDown:this.handleKeyDown,value:e,"aria-label":this._trans.__("Cell type"),title:this._trans.__("Select the cell type")},c.createElement("option",{value:"-"},"-"),c.createElement("option",{value:"code"},this._trans.__("Code")),c.createElement("option",{value:"markdown"},this._trans.__("Markdown")),c.createElement("option",{value:"raw"},this._trans.__("Raw")))}}var j=n(4625);var k=n(49278);function I(e){var t;const n=e.translator||r.nullTranslator;const s=(0,i.translateKernelStatuses)(n);const o=n.load("jupyterlab");const a=(t=e.displayOption.showJumpToCell)!==null&&t!==void 0?t:false;const l=e.state;const d=e.displayOption.showOnToolBar;const c=e.displayOption.showProgress;const u=d?"down":"up";const p=h().createElement("div",null);const[m,g]=h().useState(false);h().useEffect((()=>{if(m){return}const e=()=>{g(true)};f.executionScheduled.connect(e);return()=>{f.executionScheduled.disconnect(e)}}),[a,m]);if(!l){return p}const v=l.kernelStatus;const _={alignSelf:"normal",height:"24px"};const b=l.totalTime;const w=l.scheduledCellNumber||0;const C=l.scheduledCell.size||0;const x=w-C;let S=100*x/w;let k=c?"":"hidden";if(!c&&S<100){S=0}const I=e=>h().createElement(j.ProgressCircle,{progress:e,width:16,height:24,label:o.__("Kernel status")});const T=e=>o.__("Kernel status: %1",e);const E=()=>{const t=e.notebook;f.selectLastRunCell(t);if(t.activeCell){void t.scrollToCell(t.activeCell)}};const M=(e,t,n)=>h().createElement("div",{className:"jp-Notebook-ExecutionIndicator",title:c?"":T(s[e]),"data-status":e},t,h().createElement("div",{className:`jp-Notebook-ExecutionIndicator-tooltip ${u} ${k}`},h().createElement("span",null," ",T(s[e])," "),n,a&&m&&h().createElement(y.Button,{className:"jp-Notebook-ExecutionIndicator-jumpButton",onClick:E,title:o.__("Jump to current or last executed cell")},o.__("Jump to cell"))));if(l.kernelStatus==="connecting"||l.kernelStatus==="disconnected"||l.kernelStatus==="unknown"){return M(v,h().createElement(y.offlineBoltIcon.react,{..._}),[])}if(l.kernelStatus==="starting"||l.kernelStatus==="terminating"||l.kernelStatus==="restarting"||l.kernelStatus==="initializing"){return M(v,h().createElement(y.circleIcon.react,{..._}),[])}if(l.executionStatus==="busy"){return M("busy",I(S),[h().createElement("span",{key:0},o.__(`Executed ${x}/${w} cells`)),h().createElement("span",{key:1},o._n("Elapsed time: %1 second","Elapsed time: %1 seconds",b))])}else{const e=l.kernelStatus==="busy"?0:100;const t=l.kernelStatus==="busy"||b===0?[]:[h().createElement("span",{key:0},o._n("Executed %1 cell","Executed %1 cells",w)),h().createElement("span",{key:1},o._n("Elapsed time: %1 second","Elapsed time: %1 seconds",b))];return M(l.kernelStatus,I(e),t)}}class T extends y.VDomRenderer{constructor(e,t=true){super(new T.Model);this.translator=e||r.nullTranslator;this.addClass("jp-mod-highlighted")}render(){if(this.model===null||!this.model.renderFlag){return h().createElement("div",null)}else{const e=this.model.currentNotebook;if(!e){return h().createElement(I,{displayOption:this.model.displayOption,state:undefined,translator:this.translator,notebook:undefined})}return h().createElement(I,{displayOption:this.model.displayOption,state:this.model.executionState(e),translator:this.translator,notebook:e})}}}(function(e){class t extends y.VDomModel{constructor(){super();this._notebookExecutionProgress=new WeakMap;this._displayOption={showOnToolBar:true,showProgress:true,showJumpToCell:false};this._renderFlag=true}attachNotebook(e){var t,n,i,s;if(e&&e.content&&e.context){const o=e.content;const r=e.context;this._currentNotebook=o;if(!this._notebookExecutionProgress.has(o)){this._notebookExecutionProgress.set(o,{executionStatus:"idle",kernelStatus:"idle",totalTime:0,interval:0,timeout:0,scheduledCell:new Set,scheduledCellNumber:0,needReset:true});const e=this._notebookExecutionProgress.get(o);const a=t=>{if(e){e.kernelStatus=t.kernelDisplayStatus}this.stateChanged.emit(void 0)};r.statusChanged.connect(a,this);const l=t=>{if(e){e.kernelStatus=t.kernelDisplayStatus}this.stateChanged.emit(void 0)};r.connectionStatusChanged.connect(l,this);r.disposed.connect((e=>{e.connectionStatusChanged.disconnect(l,this);e.statusChanged.disconnect(a,this)}));const d=(e,t)=>{const n=t.msg;const i=n.header.msg_id;if(n.header.msg_type==="execute_request"){this._cellScheduledCallback(o,i)}else if(k.KernelMessage.isStatusMsg(n)&&n.content.execution_state==="idle"){const e=n.parent_header.msg_id;this._cellExecutedCallback(o,e)}else if(k.KernelMessage.isStatusMsg(n)&&n.content.execution_state==="restarting"){this._restartHandler(o)}else if(n.header.msg_type==="execute_input"){this._startTimer(o)}};(n=(t=r.session)===null||t===void 0?void 0:t.kernel)===null||n===void 0?void 0:n.anyMessage.connect(d);(s=(i=r.session)===null||i===void 0?void 0:i.kernel)===null||s===void 0?void 0:s.disposed.connect((e=>e.anyMessage.disconnect(d)));const c=(t,n)=>{if(e){this._resetTime(e);this.stateChanged.emit(void 0);if(n.newValue){n.newValue.anyMessage.connect(d)}}};r.kernelChanged.connect(c);r.disposed.connect((e=>e.kernelChanged.disconnect(c)))}}}get currentNotebook(){return this._currentNotebook}get displayOption(){return this._displayOption}set displayOption(e){this._displayOption=e}executionState(e){return this._notebookExecutionProgress.get(e)}_scheduleSwitchToIdle(e){window.setTimeout((()=>{e.executionStatus="idle";clearInterval(e.interval);this.stateChanged.emit(void 0)}),150);e.timeout=window.setTimeout((()=>{e.needReset=true}),1e3)}_cellExecutedCallback(e,t){const n=this._notebookExecutionProgress.get(e);if(n&&n.scheduledCell.has(t)){n.scheduledCell.delete(t);if(n.scheduledCell.size===0){this._scheduleSwitchToIdle(n)}}}_restartHandler(e){const t=this._notebookExecutionProgress.get(e);if(t){t.scheduledCell.clear();this._scheduleSwitchToIdle(t)}}_startTimer(e){const t=this._notebookExecutionProgress.get(e);if(!t){return}if(t.scheduledCell.size>0){if(t.executionStatus!=="busy"){t.executionStatus="busy";clearTimeout(t.timeout);this.stateChanged.emit(void 0);t.interval=window.setInterval((()=>{this._tick(t)}),1e3)}}else{this._resetTime(t)}}_cellScheduledCallback(e,t){const n=this._notebookExecutionProgress.get(e);if(n&&!n.scheduledCell.has(t)){if(n.needReset){this._resetTime(n)}n.scheduledCell.add(t);n.scheduledCellNumber+=1}}_tick(e){e.totalTime+=1;this.stateChanged.emit(void 0)}_resetTime(e){e.totalTime=0;e.scheduledCellNumber=0;e.executionStatus="idle";e.scheduledCell=new Set;clearTimeout(e.timeout);clearInterval(e.interval);e.needReset=false}get renderFlag(){return this._renderFlag}updateRenderOption(e){if(this.displayOption.showOnToolBar){if(!e.showOnToolBar){this._renderFlag=false}else{this._renderFlag=true}}this.displayOption.showProgress=e.showProgress;this.displayOption.showJumpToCell=e.showJumpToCell;this.stateChanged.emit(void 0)}}e.Model=t;function n(t,n,s){const o=new e(n);o.model.displayOption={showOnToolBar:true,showProgress:true,showJumpToCell:false};o.model.attachNotebook({content:t.content,context:t.sessionContext});if(s){s.then((e=>{const t=e=>{const t=i(e);if(t.showJumpToCell){const t=e.get("recordTiming").composite;if(!t){e.set("recordTiming",true).catch((e=>{console.error("Failed to auto-enable recordTiming:",e.message)}))}}o.model.updateRenderOption(t)};e.changed.connect(t);t(e);o.disposed.connect((()=>{e.changed.disconnect(t)}))})).catch((e=>{console.error(e.message)}))}return o}e.createExecutionIndicatorItem=n;function i(e){let t=true;let n=true;let i=false;const s=e.get("kernelStatus").composite;if(s){t=!s.showOnStatusBar;n=s.showProgress;i=s.showJumpToRecentExecutionButton}return{showOnToolBar:t,showProgress:n,showJumpToCell:i}}e.getSettingValue=i})(T||(T={}));class E{constructor(e){this._requestBatchSize=10;this._cursor=0;this._hasSession=false;this._history=[];this._placeholder="";this._kernelSession="";this._setByHistory=false;this._isDisposed=false;this._editor=null;this._filtered=[];this._kernel=null;this._sessionContext=e.sessionContext;this._trans=(e.translator||r.nullTranslator).load("jupyterlab");void this._handleKernel().then((()=>{this._sessionContext.kernelChanged.connect(this._handleKernel,this)}));this._toRequest=this._requestBatchSize}get editor(){return this._editor}set editor(e){if(this._editor===e){return}const t=this._editor;if(t){t.model.sharedModel.changed.disconnect(this.onTextChange,this)}this._editor=e;if(e){e.model.sharedModel.changed.connect(this.onTextChange,this)}}get placeholder(){return this._placeholder}get kernelSession(){return this._kernelSession}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed=true;this._history.length=0;d.Signal.clearData(this)}async checkSession(e){var t;if(!this._hasSession){await this._retrieveHistory();this._hasSession=true;this.editor=e.editor;this._placeholder=((t=this._editor)===null||t===void 0?void 0:t.model.sharedModel.getSource())||"";this.setFilter(this._placeholder);this._cursor=this._filtered.length-1}}async back(e){await this.checkSession(e);--this._cursor;if(this._cursor<0){await this.fetchBatch()}this._cursor=Math.max(0,this._cursor);const t=this._filtered[this._cursor];return t}async forward(e){await this.checkSession(e);++this._cursor;this._cursor=Math.min(this._filtered.length-1,this._cursor);const t=this._filtered[this._cursor];return t}updateEditor(e,t){var n,i;if(e){const s=(n=e.editor)===null||n===void 0?void 0:n.model;const o=s===null||s===void 0?void 0:s.sharedModel.getSource();if(this.isDisposed||!t){return}if(o===t){return}this._setByHistory=true;s===null||s===void 0?void 0:s.sharedModel.setSource(t);let r=0;r=t.indexOf("\n");if(r<0){r=t.length}(i=e.editor)===null||i===void 0?void 0:i.setCursorPosition({line:0,column:r})}}reset(){this._hasSession=false;this._placeholder="";this._toRequest=this._requestBatchSize}async fetchBatch(){this._toRequest+=this._requestBatchSize;let e=this._filtered.slice().reverse();let t=this._history.slice();await this._retrieveHistory().then((()=>{this.setFilter(this._placeholder);let t=0;let n=this._filtered.slice().reverse();for(let i=0;i<e.length;i++){let s=e[i];for(let e=i+t;e<n.length;e++){if(s===n[e]){break}else{t+=1}}}this._cursor=this._filtered.length-(e.length+1)-t}));if(this._cursor<0){if(this._history.length>t.length){await this.fetchBatch()}}}onHistory(e,t){this._history.length=0;let n=["","",""];let i=["","",""];let s="";if(e.content.status==="ok"){for(let t=0;t<e.content.history.length;t++){i=e.content.history[t];if(i!==n){s=e.content.history[t][0];this._history.push(n=i)}}if(!this.kernelSession){if(i[2]==(t===null||t===void 0?void 0:t.model.sharedModel.getSource())){this._kernelSession=s}}}}onTextChange(){if(this._setByHistory){this._setByHistory=false;return}this.reset()}async _handleKernel(){var e;this._kernel=(e=this._sessionContext.session)===null||e===void 0?void 0:e.kernel;if(!this._kernel){this._history.length=0;return}await this._retrieveHistory().catch();return}async _retrieveHistory(e){var t;return await((t=this._kernel)===null||t===void 0?void 0:t.requestHistory(M(this._toRequest)).then((t=>{this.onHistory(t,e)})).catch((()=>{console.warn(this._trans.__("History was unable to be retrieved"))})))}setFilter(e=""){this._filtered.length=0;let t="";let n="";for(let i=0;i<this._history.length;i++){n=this._history[i][2];if(n!==t&&e!==n){this._filtered.push(t=n)}}this._filtered.push(e)}}function M(e){return{output:false,raw:true,hist_access_type:"tail",n:e}}var D=n(72363);var A=n(95917);class P{constructor(e={}){var t,n;this.standaloneModel=false;this._dirty=false;this._readOnly=false;this._contentChanged=new d.Signal(this);this._stateChanged=new d.Signal(this);this._isDisposed=false;this._metadataChanged=new d.Signal(this);this.standaloneModel=typeof e.sharedModel==="undefined";if(e.sharedModel){this.sharedModel=e.sharedModel}else{this.sharedModel=A.YNotebook.create({disableDocumentWideUndoRedo:(t=e.disableDocumentWideUndoRedo)!==null&&t!==void 0?t:true,data:{nbformat:D.MAJOR_VERSION,nbformat_minor:D.MINOR_VERSION,metadata:{kernelspec:{name:"",display_name:""},language_info:{name:(n=e.languagePreference)!==null&&n!==void 0?n:""}}}})}this._cells=new b(this.sharedModel);this._trans=(e.translator||r.nullTranslator).load("jupyterlab");this._deletedCells=[];this._collaborationEnabled=!!(e===null||e===void 0?void 0:e.collaborationEnabled);this._cells.changed.connect(this._onCellsChanged,this);this.sharedModel.changed.connect(this._onStateChanged,this);this.sharedModel.metadataChanged.connect(this._onMetadataChanged,this)}get contentChanged(){return this._contentChanged}get metadataChanged(){return this._metadataChanged}get stateChanged(){return this._stateChanged}get cells(){return this._cells}get dirty(){return this._dirty}set dirty(e){const t=this._dirty;if(e===t){return}this._dirty=e;this.triggerStateChange({name:"dirty",oldValue:t,newValue:e})}get readOnly(){return this._readOnly}set readOnly(e){if(e===this._readOnly){return}const t=this._readOnly;this._readOnly=e;this.triggerStateChange({name:"readOnly",oldValue:t,newValue:e})}get metadata(){return this.sharedModel.metadata}get nbformat(){return this.sharedModel.nbformat}get nbformatMinor(){return this.sharedModel.nbformat_minor}get defaultKernelName(){var e;const t=this.getMetadata("kernelspec");return(e=t===null||t===void 0?void 0:t.name)!==null&&e!==void 0?e:""}get deletedCells(){return this._deletedCells}get defaultKernelLanguage(){var e;const t=this.getMetadata("language_info");return(e=t===null||t===void 0?void 0:t.name)!==null&&e!==void 0?e:""}get collaborative(){return this._collaborationEnabled}dispose(){if(this.isDisposed){return}this._isDisposed=true;const e=this.cells;this._cells=null;e.dispose();if(this.standaloneModel){this.sharedModel.dispose()}d.Signal.clearData(this)}deleteMetadata(e){return this.sharedModel.deleteMetadata(e)}getMetadata(e){return this.sharedModel.getMetadata(e)}setMetadata(e,t){if(typeof t==="undefined"){this.sharedModel.deleteMetadata(e)}else{this.sharedModel.setMetadata(e,t)}}toString(){return JSON.stringify(this.toJSON())}fromString(e){this.fromJSON(JSON.parse(e))}toJSON(){this._ensureMetadata();return this.sharedModel.toJSON()}fromJSON(e){var t,n;const s=l.JSONExt.deepCopy(e);const o=e.metadata.orig_nbformat;s.nbformat=Math.max(e.nbformat,D.MAJOR_VERSION);if(s.nbformat!==e.nbformat||s.nbformat_minor<D.MINOR_VERSION){s.nbformat_minor=D.MINOR_VERSION}if(o!==undefined&&s.nbformat!==o){const e=s.nbformat>o;let t;if(e){t=this._trans.__(`This notebook has been converted from an older notebook format (v%1)\nto the current notebook format (v%2).\nThe next time you save this notebook, the current notebook format (v%2) will be used.\n'Older versions of Jupyter may not be able to read the new format.' To preserve the original format version,\nclose the notebook without saving it.`,o,s.nbformat)}else{t=this._trans.__(`This notebook has been converted from an newer notebook format (v%1)\nto the current notebook format (v%2).\nThe next time you save this notebook, the current notebook format (v%2) will be used.\nSome features of the original notebook may not be available.' To preserve the original format version,\nclose the notebook without saving it.`,o,s.nbformat)}void(0,i.showDialog)({title:this._trans.__("Notebook converted"),body:t,buttons:[i.Dialog.okButton({label:this._trans.__("Ok")})]})}if(((n=(t=s.cells)===null||t===void 0?void 0:t.length)!==null&&n!==void 0?n:0)===0){s["cells"]=[{cell_type:"code",source:"",metadata:{trusted:true}}]}this.sharedModel.fromJSON(s);this._ensureMetadata();this.dirty=true}_onCellsChanged(e,t){switch(t.type){case"add":t.newValues.forEach((e=>{e.contentChanged.connect(this.triggerContentChange,this)}));break;case"remove":break;case"clear":break;case"set":t.newValues.forEach((e=>{e.contentChanged.connect(this.triggerContentChange,this)}));break;default:break}this.triggerContentChange()}_onMetadataChanged(e,t){this._metadataChanged.emit(t);this.triggerContentChange()}_onStateChanged(e,t){if(t.stateChange){t.stateChange.forEach((e=>{if(e.name==="dirty"){this.dirty=e.newValue}else if(e.oldValue!==e.newValue){this.triggerStateChange({newValue:undefined,oldValue:undefined,...e})}}))}}_ensureMetadata(e=""){if(!this.getMetadata("language_info")){this.sharedModel.setMetadata("language_info",{name:e})}if(!this.getMetadata("kernelspec")){this.sharedModel.setMetadata("kernelspec",{name:"",display_name:""})}}triggerStateChange(e){this._stateChanged.emit(e)}triggerContentChange(){this._contentChanged.emit(void 0);this.dirty=true}get isDisposed(){return this._isDisposed}}class L{constructor(e={}){var t,n;this._disposed=false;this._disableDocumentWideUndoRedo=(t=e.disableDocumentWideUndoRedo)!==null&&t!==void 0?t:true;this._collaborative=(n=e.collaborative)!==null&&n!==void 0?n:true}get disableDocumentWideUndoRedo(){return this._disableDocumentWideUndoRedo}set disableDocumentWideUndoRedo(e){this._disableDocumentWideUndoRedo=e}get name(){return"notebook"}get contentType(){return"notebook"}get fileFormat(){return"json"}get collaborative(){return this._collaborative}get isDisposed(){return this._disposed}dispose(){this._disposed=true}createNew(e={}){return new P({languagePreference:e.languagePreference,sharedModel:e.sharedModel,collaborationEnabled:e.collaborationEnabled&&this.collaborative,disableDocumentWideUndoRedo:this._disableDocumentWideUndoRedo})}preferredLanguage(e){return""}}function R(e){const t=(e.translator||r.nullTranslator).load("jupyterlab");return c.createElement(j.TextItem,{source:t.__("Mode: %1",e.modeNames[e.notebookMode])})}class N extends y.VDomRenderer{constructor(e){super(new N.Model);this.translator=e||r.nullTranslator;this._trans=this.translator.load("jupyterlab");this._modeNames={command:this._trans.__("Command"),edit:this._trans.__("Edit")}}render(){if(!this.model){return null}this.node.title=this._trans.__("Notebook is in %1 mode",this._modeNames[this.model.notebookMode]);return c.createElement(R,{notebookMode:this.model.notebookMode,translator:this.translator,modeNames:this._modeNames})}}(function(e){class t extends y.VDomModel{constructor(){super(...arguments);this._onChanged=e=>{const t=this._notebookMode;if(this._notebook){this._notebookMode=e.mode}else{this._notebookMode="command"}this._triggerChange(t,this._notebookMode)};this._notebookMode="command";this._notebook=null}get notebookMode(){return this._notebookMode}set notebook(e){const t=this._notebook;if(t!==null){t.stateChanged.disconnect(this._onChanged,this);t.activeCellChanged.disconnect(this._onChanged,this);t.modelContentChanged.disconnect(this._onChanged,this)}const n=this._notebookMode;this._notebook=e;if(this._notebook===null){this._notebookMode="command"}else{this._notebookMode=this._notebook.mode;this._notebook.stateChanged.connect(this._onChanged,this);this._notebook.activeCellChanged.connect(this._onChanged,this);this._notebook.modelContentChanged.connect(this._onChanged,this)}this._triggerChange(n,this._notebookMode)}_triggerChange(e,t){if(e!==t){this.stateChanged.emit(void 0)}}}e.Model=t})(N||(N={}));var B=n(44389);var O=n(71681);class F extends O.WidgetLSPAdapter{constructor(e,t){super(e,t);this.editorWidget=e;this.options=t;this._type="code";this._readyDelegate=new l.PromiseDelegate;this._editorToCell=new Map;this.editor=e.content;this._cellToEditor=new WeakMap;this.isReady=this.isReady.bind(this);Promise.all([this.widget.context.sessionContext.ready,this.connectionManager.ready]).then((async()=>{await this.initOnceReady();this._readyDelegate.resolve()})).catch(console.error)}get documentPath(){return this.widget.context.path}get mimeType(){var e;let t;let n=this.language_info();if(!n||!n.mimetype){t=this.widget.content.codeMimetype}else{t=n.mimetype}return Array.isArray(t)?(e=t[0])!==null&&e!==void 0?e:B.IEditorMimeTypeService.defaultMimeType:t}get languageFileExtension(){let e=this.language_info();if(!e||!e.file_extension){return}return e.file_extension.replace(".","")}get wrapperElement(){return this.widget.node}get editors(){if(this.isDisposed){return[]}let e=this.widget.content;this._editorToCell.clear();if(e.isDisposed){return[]}return e.widgets.map((e=>({ceEditor:this._getCellEditor(e),type:e.model.type,value:e.model.sharedModel.getSource()})))}get activeEditor(){return this.editor.activeCell?this._getCellEditor(this.editor.activeCell):undefined}get ready(){return this._readyDelegate.promise}getEditorIndexAt(e){let t=this._getCellAt(e);let n=this.widget.content;return n.widgets.findIndex((e=>t===e))}getEditorIndex(e){let t=this._editorToCell.get(e);return this.editor.widgets.findIndex((e=>t===e))}getEditorWrapper(e){let t=this._editorToCell.get(e);return t.node}async onKernelChanged(e,t){if(!t.newValue){return}try{const e=this._languageInfo;await(0,O.untilReady)(this.isReady,-1);await this._updateLanguageInfo();const t=this._languageInfo;if((e===null||e===void 0?void 0:e.name)!=t.name||(e===null||e===void 0?void 0:e.mimetype)!=(t===null||t===void 0?void 0:t.mimetype)||(e===null||e===void 0?void 0:e.file_extension)!=(t===null||t===void 0?void 0:t.file_extension)){console.log(`Changed to ${this._languageInfo.name} kernel, reconnecting`);this.reloadConnection()}else{console.log("Keeping old LSP connection as the new kernel uses the same language")}}catch(n){console.warn(n);this.reloadConnection()}}dispose(){if(this.isDisposed){return}this.widget.context.sessionContext.kernelChanged.disconnect(this.onKernelChanged,this);this.widget.content.activeCellChanged.disconnect(this._activeCellChanged,this);super.dispose();this._editorToCell.clear();d.Signal.clearData(this)}isReady(){var e;return!this.widget.isDisposed&&this.widget.context.isReady&&this.widget.content.isVisible&&this.widget.content.widgets.length>0&&((e=this.widget.context.sessionContext.session)===null||e===void 0?void 0:e.kernel)!=null}async handleCellChange(e,t){let n=[];let i=[];const s=this._type;if(t.type==="set"){let e=[];let o=[];if(t.newValues.length===t.oldValues.length){for(let n=0;n<t.newValues.length;n++){if(t.oldValues[n].type===s&&t.newValues[n].type!==s){e.push(t.newValues[n])}else if(t.oldValues[n].type!==s&&t.newValues[n].type===s){o.push(t.newValues[n])}}n=o;i=e}}else if(t.type=="add"){n=t.newValues.filter((e=>e.type===s))}if(i.length||n.length||t.type==="set"||t.type==="move"||t.type==="remove"||t.type==="clear"){await this.updateDocuments()}for(let o of n){let e=this.widget.content.widgets.find((e=>e.model.id===o.id));if(!e){console.warn(`Widget for added cell with ID: ${o.id} not found!`);continue}this._getCellEditor(e)}}createVirtualDocument(){return new O.VirtualDocument({language:this.language,foreignCodeExtractors:this.options.foreignCodeExtractorsManager,path:this.documentPath,fileExtension:this.languageFileExtension,standalone:false,hasLspSupportedFile:false})}language_info(){return this._languageInfo}async initOnceReady(){await(0,O.untilReady)(this.isReady.bind(this),-1);await this._updateLanguageInfo();this.initVirtual();this.connectDocument(this.virtualDocument,false).catch(console.warn);this.widget.context.sessionContext.kernelChanged.connect(this.onKernelChanged,this);this.widget.content.activeCellChanged.connect(this._activeCellChanged,this);this._connectModelSignals(this.widget);this.editor.modelChanged.connect((e=>{console.warn("Model changed, connecting cell change handler; this is not something we were expecting");this._connectModelSignals(e)}))}_connectModelSignals(e){if(e.model===null){console.warn(`Model is missing for notebook ${e}, cannot connect cell changed signal!`)}else{e.model.cells.changed.connect(this.handleCellChange,this)}}async _updateLanguageInfo(){var e,t,n,i;const s=(i=await((n=(t=(e=this.widget.context.sessionContext)===null||e===void 0?void 0:e.session)===null||t===void 0?void 0:t.kernel)===null||n===void 0?void 0:n.info))===null||i===void 0?void 0:i.language_info;if(s){this._languageInfo=s}else{throw new Error("Language info update failed (no session, kernel, or info available)")}}_activeCellChanged(e,t){if(!t||t.model.type!==this._type){return}this._activeEditorChanged.emit({editor:this._getCellEditor(t)})}_getCellAt(e){let t=this.virtualDocument.getEditorAtVirtualLine(e);return this._editorToCell.get(t)}_getCellEditor(e){if(!this._cellToEditor.has(e)){const t=Object.freeze({getEditor:()=>e.editor,ready:async()=>{await e.ready;return e.editor},reveal:async()=>{await this.editor.scrollToCell(e);return e.editor}});this._cellToEditor.set(e,t);this._editorToCell.set(t,e);e.disposed.connect((()=>{this._cellToEditor.delete(e);this._editorToCell.delete(t);this._editorRemoved.emit({editor:t})}));this._editorAdded.emit({editor:t})}return this._cellToEditor.get(e)}}var z=n(23230);var W=n(42856);var H=n(27518);class V extends H.Widget{constructor(){super();this._items=[];this.layout=new H.PanelLayout;this.addClass("jp-RankedPanel")}addWidget(e,t){const n={widget:e,rank:t};const i=a.ArrayExt.upperBound(this._items,n,q.itemCmp);a.ArrayExt.insert(this._items,i,n);const s=this.layout;s.insertWidget(i,e)}onChildRemoved(e){const t=a.ArrayExt.findFirstIndex(this._items,(t=>t.widget===e.child));if(t!==-1){a.ArrayExt.removeAt(this._items,t)}}}class U extends H.Widget{constructor(e){super();this.addClass("jp-NotebookTools");this.translator=e.translator||r.nullTranslator;this._tools=[];this.layout=new H.PanelLayout;this._tracker=e.tracker;this._tracker.currentChanged.connect(this._onActiveNotebookPanelChanged,this);this._tracker.activeCellChanged.connect(this._onActiveCellChanged,this);this._tracker.selectionChanged.connect(this._onSelectionChanged,this);this._onActiveNotebookPanelChanged();this._onActiveCellChanged();this._onSelectionChanged()}get activeCell(){return this._tracker.activeCell}get selectedCells(){const e=this._tracker.currentWidget;if(!e){return[]}const t=e.content;return t.widgets.filter((e=>t.isSelectedOrActive(e)))}get activeNotebookPanel(){return this._tracker.currentWidget}addItem(e){var t;const n=e.tool;const i=(t=e.rank)!==null&&t!==void 0?t:100;let s;const o=this._tools.find((t=>t.section===e.section));if(o)s=o.panel;else{throw new Error(`The section ${e.section} does not exist`)}n.addClass("jp-NotebookTools-tool");s.addWidget(n,i);n.notebookTools=this;W.MessageLoop.sendMessage(n,U.ActiveNotebookPanelMessage);W.MessageLoop.sendMessage(n,U.ActiveCellMessage)}addSection(e){var t;const n=e.sectionName;const i=e.label||e.sectionName;const s=e.tool;let o=(t=e.rank)!==null&&t!==void 0?t:null;const r=new V;r.title.label=i;if(s)r.addWidget(s,0);this._tools.push({section:n,panel:r,rank:o});if(o!=null)this.layout.insertWidget(o,new y.Collapser({widget:r}));else{let e=null;const t=this.layout;for(let n=0;n<t.widgets.length;n++){let i=t.widgets[n];if(i instanceof y.Collapser){if(i.widget.id==="advancedToolsSection"){e=n;break}}}if(e!==null)this.layout.insertWidget(e,new y.Collapser({widget:r}));else this.layout.addWidget(new y.Collapser({widget:r}))}}_onActiveNotebookPanelChanged(){if(this._prevActiveNotebookModel&&!this._prevActiveNotebookModel.isDisposed){this._prevActiveNotebookModel.metadataChanged.disconnect(this._onActiveNotebookPanelMetadataChanged,this)}const e=this.activeNotebookPanel&&this.activeNotebookPanel.content?this.activeNotebookPanel.content.model:null;this._prevActiveNotebookModel=e;if(e){e.metadataChanged.connect(this._onActiveNotebookPanelMetadataChanged,this)}for(const t of this._toolChildren()){W.MessageLoop.sendMessage(t,U.ActiveNotebookPanelMessage)}}_onActiveCellChanged(){if(this._prevActiveCell&&!this._prevActiveCell.isDisposed){this._prevActiveCell.metadataChanged.disconnect(this._onActiveCellMetadataChanged,this)}const e=this.activeCell?this.activeCell.model:null;this._prevActiveCell=e;if(e){e.metadataChanged.connect(this._onActiveCellMetadataChanged,this)}for(const t of this._toolChildren()){W.MessageLoop.sendMessage(t,U.ActiveCellMessage)}}_onSelectionChanged(){for(const e of this._toolChildren()){W.MessageLoop.sendMessage(e,U.SelectionMessage)}}_onActiveNotebookPanelMetadataChanged(e,t){const n=new z.ObservableJSON.ChangeMessage("activenotebookpanel-metadata-changed",{oldValue:undefined,newValue:undefined,...t});for(const i of this._toolChildren()){W.MessageLoop.sendMessage(i,n)}}_onActiveCellMetadataChanged(e,t){const n=new z.ObservableJSON.ChangeMessage("activecell-metadata-changed",{newValue:undefined,oldValue:undefined,...t});for(const i of this._toolChildren()){W.MessageLoop.sendMessage(i,n)}}*_toolChildren(){for(let e of this._tools){yield*e.panel.children()}}}(function(e){e.ActiveNotebookPanelMessage=new W.ConflatableMessage("activenotebookpanel-changed");e.ActiveCellMessage=new W.ConflatableMessage("activecell-changed");e.SelectionMessage=new W.ConflatableMessage("selection-changed");class t extends H.Widget{dispose(){super.dispose();if(this.notebookTools){this.notebookTools=null}}processMessage(e){super.processMessage(e);switch(e.type){case"activenotebookpanel-changed":this.onActiveNotebookPanelChanged(e);break;case"activecell-changed":this.onActiveCellChanged(e);break;case"selection-changed":this.onSelectionChanged(e);break;case"activecell-metadata-changed":this.onActiveCellMetadataChanged(e);break;case"activenotebookpanel-metadata-changed":this.onActiveNotebookPanelMetadataChanged(e);break;default:break}}onActiveNotebookPanelChanged(e){}onActiveCellChanged(e){}onSelectionChanged(e){}onActiveCellMetadataChanged(e){}onActiveNotebookPanelMetadataChanged(e){}}e.Tool=t;class n extends t{constructor(e){super();const{editorFactory:t}=e;this.addClass("jp-MetadataEditorTool");const n=this.layout=new H.PanelLayout;this._editorFactory=t;this._editorLabel=e.label||"Edit Metadata";this.createEditor();const i=new H.Widget({node:document.createElement("label")});i.node.textContent=e.label||"Edit Metadata";n.addWidget(i);n.addWidget(this.editor)}get editor(){return this._editor}onActiveNotebookPanelChanged(e){this.editor.dispose();if(this.notebookTools.activeNotebookPanel){this.createEditor()}}createEditor(){this._editor=new B.JSONEditor({editorFactory:this._editorFactory});this.editor.title.label=this._editorLabel;this.layout.addWidget(this.editor)}}e.MetadataEditorTool=n})(U||(U={}));var q;(function(e){function t(e,t){return e.rank-t.rank}e.itemCmp=t})(q||(q={}));var $=n(93067);var K=n(72011);var J=n(76326);var G=n(10970);var Y=n(94466);var X=n(97290);const Q="jp-mod-dropTarget";const Z="jp-mod-dropSource";var ee=n(26568);function te(e){if(!e){return false}const t=e.closest(".jp-WindowedPanel-viewport");if(t&&t.dataset.isScrolling=="true"){return true}const n=e.getRootNode();return!!(n&&n instanceof ShadowRoot&&te(n.host))}function ne(e){if(!e){return false}return!!e.closest(".cm-editor")}window.IntersectionObserver=class extends window.IntersectionObserver{constructor(e,t){super((e=>{this._delayCallbackInScrollingNotebook(e)}),t);this.callback=e;this._delayCallbackInScrollingNotebook=e=>{const t=[];const n=[];for(const i of e){if(te(i.target)&&!ne(i.target)){t.push(i)}else{n.push(i)}}if(n.length){this.callback(n,this)}if(t.length){void this._throttler.invoke(t)}};this._throttler=new ee.Throttler((e=>{this._delayCallbackInScrollingNotebook(e)}),{limit:1e3,edge:"trailing"})}};window.ResizeObserver=class extends window.ResizeObserver{constructor(e){super((e=>{this._delayCallbackInScrollingNotebook(e)}));this.callback=e;this._delayCallbackInScrollingNotebook=e=>{const t=[];const n=[];for(const i of e){if(te(i.target)){t.push(i)}else{n.push(i)}}if(n.length){this.callback(n,this)}if(t.length){void this._throttler.invoke(t)}};this._throttler=new ee.Throttler((e=>{this._delayCallbackInScrollingNotebook(e)}),{limit:1e3,edge:"trailing"})}};class ie extends y.WindowedListModel{constructor(e,t){super(t);this.cells=e;this.estimateWidgetSize=e=>{const t=this.cells[e];if(!t){console.warn(`estimateWidgetSize requested for cell ${e} in notebook with only ${this.cells.length} cells`);return 0}const n=t.model;const i=this.cellsEstimatedHeight.get(n.id);if(typeof i==="number"){return i}const o=n.sharedModel.getSource().split("\n").length;let r=0;if(n instanceof s.CodeCellModel&&!n.isDisposed){for(let e=0;e<n.outputs.length;e++){const t=n.outputs.get(e);const i=t.data["text/plain"];if(typeof i==="string"){r+=i.split("\n").length}else if(Array.isArray(i)){r+=i.join("").split("\n").length}}}return ie.DEFAULT_EDITOR_LINE_HEIGHT*(o+r)+ie.DEFAULT_CELL_MARGIN};this.widgetRenderer=e=>this.cells[e];this.scrollDownThreshold=ie.DEFAULT_CELL_MARGIN/2+ie.DEFAULT_EDITOR_LINE_HEIGHT;this.scrollUpThreshold=ie.DEFAULT_CELL_MARGIN/2;this.cellsEstimatedHeight=new Map;this._emitEstimatedHeightChanged=new ee.Debouncer((()=>{this._stateChanged.emit({name:"estimatedWidgetSize",newValue:null,oldValue:null})}));this._estimatedWidgetSize=ie.DEFAULT_CELL_SIZE}setEstimatedWidgetSize(e,t){if(t===null){if(this.cellsEstimatedHeight.has(e)){this.cellsEstimatedHeight.delete(e)}}else{this.cellsEstimatedHeight.set(e,t);this._emitEstimatedHeightChanged.invoke().catch((e=>{console.error("Fail to trigger an update following a estimated height update.",e)}))}}}ie.DEFAULT_CELL_SIZE=39;ie.DEFAULT_EDITOR_LINE_HEIGHT=17;ie.DEFAULT_CELL_MARGIN=22;class se extends y.WindowedLayout{constructor(){super(...arguments);this._header=null;this._footer=null;this._willBeRemoved=null;this._topHiddenCodeCells=-1}get header(){return this._header}set header(e){var t;if(this._header&&this._header.isAttached){H.Widget.detach(this._header)}this._header=e;if(this._header&&((t=this.parent)===null||t===void 0?void 0:t.isAttached)){H.Widget.attach(this._header,this.parent.node)}}get footer(){return this._footer}set footer(e){var t;if(this._footer&&this._footer.isAttached){H.Widget.detach(this._footer)}this._footer=e;if(this._footer&&((t=this.parent)===null||t===void 0?void 0:t.isAttached)){H.Widget.attach(this._footer,this.parent.outerNode)}}get activeCell(){return this._activeCell}set activeCell(e){this._activeCell=e}dispose(){var e,t;if(this.isDisposed){return}(e=this._header)===null||e===void 0?void 0:e.dispose();(t=this._footer)===null||t===void 0?void 0:t.dispose();super.dispose()}removeWidget(e){const t=this.widgets.indexOf(e);if(t>=0){this.removeWidgetAt(t)}else if(e===this._willBeRemoved&&this.parent){this.detachWidget(t,e)}}attachWidget(e,t){const n=t.isPlaceholder();const i=this._isSoftHidden(t);if(this.parent.isAttached&&!i){W.MessageLoop.sendMessage(t,H.Widget.Msg.BeforeAttach)}if(i){this._toggleSoftVisibility(t,true)}if(!n&&t instanceof s.CodeCell&&t.node.parentElement){t.node.style.display="";this._topHiddenCodeCells=-1;if(this.parent.isAttached&&!t.isAttached){t.setFlag(H.Widget.Flag.IsAttached)}}else if(!i){const e=this._findNearestChildBinarySearch(this.parent.viewportNode.childElementCount-1,0,parseInt(t.dataset.windowedListIndex,10)+1);let n=this.parent.viewportNode.children[e];this.parent.viewportNode.insertBefore(t.node,n);if(this.parent.isAttached){W.MessageLoop.sendMessage(t,H.Widget.Msg.AfterAttach)}}t.inViewport=true}detachWidget(e,t){t.inViewport=false;if(t===this.activeCell&&t!==this._willBeRemoved){this._toggleSoftVisibility(t,false);return}const n=t.node.querySelector("defs,.myst");if(n){this._toggleSoftVisibility(t,false);return}if(t instanceof s.CodeCell&&!t.node.classList.contains(Z)&&t!==this._willBeRemoved){t.node.style.display="none";this._topHiddenCodeCells=-1}else{if(this.parent.isAttached){W.MessageLoop.sendMessage(t,H.Widget.Msg.BeforeDetach)}this.parent.viewportNode.removeChild(t.node);t.node.classList.remove(Q)}if(this.parent.isAttached){W.MessageLoop.sendMessage(t,H.Widget.Msg.AfterDetach)}}moveWidget(e,t,n){if(this._topHiddenCodeCells<0){this._topHiddenCodeCells=0;for(let e=0;e<this.parent.viewportNode.children.length;e++){const t=this.parent.viewportNode.children[e];if(t.style.display=="none"){this._topHiddenCodeCells++}else{break}}}const i=this.parent.viewportNode.children[t+this._topHiddenCodeCells];if(e<t){i.insertAdjacentElement("afterend",n.node)}else{i.insertAdjacentElement("beforebegin",n.node)}}onAfterAttach(e){super.onAfterAttach(e);if(this._header&&!this._header.isAttached){H.Widget.attach(this._header,this.parent.node,this.parent.node.firstElementChild)}if(this._footer&&!this._footer.isAttached){H.Widget.attach(this._footer,this.parent.outerNode)}}onBeforeDetach(e){var t,n;if((t=this._header)===null||t===void 0?void 0:t.isAttached){H.Widget.detach(this._header)}if((n=this._footer)===null||n===void 0?void 0:n.isAttached){H.Widget.detach(this._footer)}super.onBeforeDetach(e)}onChildRemoved(e){this._willBeRemoved=e.child;super.onChildRemoved(e);this._willBeRemoved=null}_toggleSoftVisibility(e,t){if(t){e.node.style.opacity="";e.node.style.height="";e.node.style.padding=""}else{e.node.style.opacity="0";e.node.style.height="0";e.node.style.padding="0"}}_isSoftHidden(e){return e.node.style.opacity==="0"}_findNearestChildBinarySearch(e,t,n){while(t<=e){const i=t+Math.floor((e-t)/2);const s=parseInt(this.parent.viewportNode.children[i].dataset.windowedListIndex,10);if(s===n){return i}else if(s<n){t=i+1}else if(s>n){e=i-1}}if(t>0){return t}else{return 0}}}const oe="jp-Notebook-footer";class re extends H.Widget{constructor(e){super({node:document.createElement("button")});this.notebook=e;const t=e.translator.load("jupyterlab");this.addClass(oe);this.node.setAttribute("tabindex","-1");this.node.innerText=t.__("Click to add a cell.")}handleEvent(e){switch(e.type){case"click":this.onClick();break;case"keydown":if(e.key==="ArrowUp"){this.onArrowUp();break}}}onClick(){if(this.notebook.widgets.length>0){this.notebook.activeCellIndex=this.notebook.widgets.length-1}f.insertBelow(this.notebook);void f.focusActiveCell(this.notebook)}onArrowUp(){}onAfterAttach(e){super.onAfterAttach(e);this.node.addEventListener("click",this);this.node.addEventListener("keydown",this)}onBeforeDetach(e){this.node.removeEventListener("click",this);this.node.removeEventListener("keydown",this);super.onBeforeDetach(e)}}const ae="jpKernelUser";const le="jpCodeRunner";const de="jpUndoer";const ce="jp-Notebook";const he="jp-Notebook-cell";const ue="jp-mod-editMode";const pe="jp-mod-commandMode";const me="jp-mod-active";const ge="jp-mod-selected";const fe="jp-mod-dirty";const ve="jp-mod-multiSelected";const _e="jp-mod-unconfined";const be="jp-mod-readWrite";const ye="jp-dragImage";const we="jp-dragImage-singlePrompt";const Ce="jp-dragImage-content";const xe="jp-dragImage-prompt";const Se="jp-dragImage-multipleBack";const je="application/vnd.jupyter.cells";const ke=5;const Ie=50;const Te="jp-collapseHeadingButton";const Ee="jp-mod-showHiddenCellsButton";const Me="jp-mod-sideBySide";if(window.requestIdleCallback===undefined){window.requestIdleCallback=function(e){let t=Date.now();return setTimeout((function(){e({didTimeout:false,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})}),1)};window.cancelIdleCallback=function(e){clearTimeout(e)}}class De extends y.WindowedList{constructor(e){var t,n,i,s,o,a;const l=new Array;const c=((n=(t=e.notebookConfig)===null||t===void 0?void 0:t.windowingMode)!==null&&n!==void 0?n:De.defaultNotebookConfig.windowingMode)==="full";super({model:new ie(l,{overscanCount:(s=(i=e.notebookConfig)===null||i===void 0?void 0:i.overscanCount)!==null&&s!==void 0?s:De.defaultNotebookConfig.overscanCount,windowingActive:c}),layout:new se,renderer:(o=e.renderer)!==null&&o!==void 0?o:y.WindowedList.defaultRenderer,scrollbar:false});this._cellCollapsed=new d.Signal(this);this._cellInViewportChanged=new d.Signal(this);this._renderingLayoutChanged=new d.Signal(this);this._contentVisibilityObserver=null;this.addClass(ce);this.cellsArray=l;this._idleCallBack=null;this._editorConfig=De.defaultEditorConfig;this._notebookConfig=De.defaultNotebookConfig;this._mimetype=B.IEditorMimeTypeService.defaultMimeType;this._notebookModel=null;this._modelChanged=new d.Signal(this);this._modelContentChanged=new d.Signal(this);this.node.dataset[ae]="true";this.node.dataset[de]="true";this.node.dataset[le]="true";this.rendermime=e.rendermime;this.translator=e.translator||r.nullTranslator;this.contentFactory=e.contentFactory;this.editorConfig=e.editorConfig||De.defaultEditorConfig;this.notebookConfig=e.notebookConfig||De.defaultNotebookConfig;this._updateNotebookConfig();this._mimetypeService=e.mimeTypeService;this.renderingLayout=(a=e.notebookConfig)===null||a===void 0?void 0:a.renderingLayout;this.kernelHistory=e.kernelHistory}get cellCollapsed(){return this._cellCollapsed}get cellInViewportChanged(){return this._cellInViewportChanged}get modelChanged(){return this._modelChanged}get modelContentChanged(){return this._modelContentChanged}get renderingLayoutChanged(){return this._renderingLayoutChanged}get model(){return this._notebookModel}set model(e){var t;e=e||null;if(this._notebookModel===e){return}const n=this._notebookModel;this._notebookModel=e;this._onModelChanged(n,e);this.onModelChanged(n,e);this._modelChanged.emit(void 0);this.viewModel.itemsList=(t=e===null||e===void 0?void 0:e.cells)!==null&&t!==void 0?t:null}get codeMimetype(){return this._mimetype}get widgets(){return this.cellsArray}get editorConfig(){return this._editorConfig}set editorConfig(e){this._editorConfig=e;this._updateEditorConfig()}get notebookConfig(){return this._notebookConfig}set notebookConfig(e){this._notebookConfig=e;this._updateNotebookConfig()}get renderingLayout(){return this._renderingLayout}set renderingLayout(e){var t;this._renderingLayout=e;if(this._renderingLayout==="side-by-side"){this.node.classList.add(Me)}else{this.node.classList.remove(Me)}this._renderingLayoutChanged.emit((t=this._renderingLayout)!==null&&t!==void 0?t:"default")}dispose(){var e;if(this.isDisposed){return}this._notebookModel=null;(e=this.layout.header)===null||e===void 0?void 0:e.dispose();if(this._contentVisibilityObserver){this._contentVisibilityObserver.disconnect();this._contentVisibilityObserver=null}super.dispose()}onBeforeDetach(e){if(this._contentVisibilityObserver){this._contentVisibilityObserver.disconnect();this._contentVisibilityObserver=null}super.onBeforeDetach(e)}moveCell(e,t,n=1){if(!this.model){return}const i=Math.min(this.model.cells.length-1,Math.max(0,t));if(i===e){return}const s=new Array(n);let o=new Array(n);for(let r=0;r<n;r++){s[r]={};const t=this.widgets[e+r];if(t.model.type==="markdown"){for(const e of["rendered","headingCollapsed"]){s[r][e]=t[e]}}else if(t.model.type==="code"){const e=t.model;o[r]=e.isDirty}}this.model.sharedModel.moveCells(e,i,n);for(let r=0;r<n;r++){const i=this.widgets[t+r];const a=s[r];for(const e in a){i[e]=a[e]}if(e>t){if(this.widgets[t+r].model.type==="code"){this.widgets[t+r].model.isDirty=o[r]}}else{if(this.widgets[t+r-n+1].model.type==="code"){this.widgets[t+r-n+1].model.isDirty=o[r]}}}}renderCellOutputs(e){const t=this.viewModel.widgetRenderer(e);if(t instanceof s.CodeCell&&t.isPlaceholder()){t.dataset.windowedListIndex=`${e}`;this.layout.insertWidget(e,t);if(this.notebookConfig.windowingMode==="full"){requestAnimationFrame((()=>{this.layout.removeWidget(t)}))}}}addHeader(){const e=this.translator.load("jupyterlab");const t=new H.Widget;t.node.textContent=e.__("The notebook is empty. Click the + button on the toolbar to add a new cell.");this.layout.header=t}removeHeader(){var e;(e=this.layout.header)===null||e===void 0?void 0:e.dispose();this.layout.header=null}onModelChanged(e,t){}onModelContentChanged(e,t){this._modelContentChanged.emit(void 0)}onMetadataChanged(e,t){switch(t.key){case"language_info":this._updateMimetype();break;default:break}}onCellInserted(e,t){}onCellRemoved(e,t){}onUpdateRequest(e){if(this.notebookConfig.windowingMode==="defer"){void this._runOnIdleTime()}else{super.onUpdateRequest(e)}}_onModelChanged(e,t){var n;if(e){e.contentChanged.disconnect(this.onModelContentChanged,this);e.metadataChanged.disconnect(this.onMetadataChanged,this);e.cells.changed.disconnect(this._onCellsChanged,this);while(this.cellsArray.length){this._removeCell(0)}}if(!t){this._mimetype=B.IEditorMimeTypeService.defaultMimeType;return}this._updateMimetype();const i=t.cells;const s=(n=t.collaborative)!==null&&n!==void 0?n:false;if(!s&&!i.length){t.sharedModel.insertCell(0,{cell_type:this.notebookConfig.defaultCell,metadata:this.notebookConfig.defaultCell==="code"?{trusted:true}:{}})}let o=-1;for(const r of i){this._insertCell(++o,r)}t.cells.changed.connect(this._onCellsChanged,this);t.metadataChanged.connect(this.onMetadataChanged,this);t.contentChanged.connect(this.onModelContentChanged,this)}_onCellsChanged(e,t){this.removeHeader();switch(t.type){case"add":{let e=0;e=t.newIndex;for(const n of t.newValues){this._insertCell(e++,n)}this._updateDataWindowedListIndex(t.newIndex,this.model.cells.length,t.newValues.length);break}case"remove":for(let e=t.oldValues.length;e>0;e--){this._removeCell(t.oldIndex)}this._updateDataWindowedListIndex(t.oldIndex,this.model.cells.length+t.oldValues.length,-1*t.oldValues.length);if(!e.length){const e=this.model;requestAnimationFrame((()=>{if(e&&!e.isDisposed&&!e.sharedModel.cells.length){e.sharedModel.insertCell(0,{cell_type:this.notebookConfig.defaultCell,metadata:this.notebookConfig.defaultCell==="code"?{trusted:true}:{}})}}))}break;default:return}if(!this.model.sharedModel.cells.length){this.addHeader()}this.update()}_insertCell(e,t){let n;switch(t.type){case"code":n=this._createCodeCell(t);n.model.mimeType=this._mimetype;break;case"markdown":n=this._createMarkdownCell(t);if(t.sharedModel.getSource()===""){n.rendered=false}break;default:n=this._createRawCell(t)}n.inViewportChanged.connect(this._onCellInViewportChanged,this);n.addClass(he);a.ArrayExt.insert(this.cellsArray,e,n);this.onCellInserted(e,n);this._scheduleCellRenderOnIdle()}_createCodeCell(e){const t=this.rendermime;const n=this.contentFactory;const i=this.editorConfig.code;const s={contentFactory:n,editorConfig:i,inputHistoryScope:this.notebookConfig.inputHistoryScope,showInputPlaceholder:this.notebookConfig.showInputPlaceholder,maxNumberOutputs:this.notebookConfig.maxNumberOutputs,model:e,placeholder:this._notebookConfig.windowingMode!=="none",rendermime:t,translator:this.translator};const o=this.contentFactory.createCodeCell(s);o.syncCollapse=true;o.syncEditable=true;o.syncScrolled=true;o.outputArea.inputRequested.connect(((e,t)=>{this._onInputRequested(o).catch((e=>{console.error("Failed to scroll to cell requesting input.",e)}));t.disposed.connect((()=>{o.node.focus()}))}));return o}_createMarkdownCell(e){const t=this.rendermime;const n=this.contentFactory;const i=this.editorConfig.markdown;const s={contentFactory:n,editorConfig:i,model:e,placeholder:this._notebookConfig.windowingMode!=="none",rendermime:t,showEditorForReadOnlyMarkdown:this._notebookConfig.showEditorForReadOnlyMarkdown};const o=this.contentFactory.createMarkdownCell(s);o.syncCollapse=true;o.syncEditable=true;o.headingCollapsedChanged.connect(this._onCellCollapsed,this);return o}_createRawCell(e){const t=this.contentFactory;const n=this.editorConfig.raw;const i={editorConfig:n,model:e,contentFactory:t,placeholder:this._notebookConfig.windowingMode!=="none"};const s=this.contentFactory.createRawCell(i);s.syncCollapse=true;s.syncEditable=true;return s}_removeCell(e){const t=this.cellsArray[e];t.parent=null;a.ArrayExt.removeAt(this.cellsArray,e);this.onCellRemoved(e,t);t.dispose()}_updateMimetype(){var e;const t=(e=this._notebookModel)===null||e===void 0?void 0:e.getMetadata("language_info");if(!t){return}this._mimetype=this._mimetypeService.getMimeTypeByLanguage(t);for(const n of this.widgets){if(n.model.type==="code"){n.model.mimeType=this._mimetype}}}_onCellCollapsed(e,t){e.getHeadings().then((()=>{f.setHeadingCollapse(e,t,this);this._cellCollapsed.emit(e)})).catch((e=>{console.warn("Failed to resolve headings: ",e)}))}_onCellInViewportChanged(e){this._cellInViewportChanged.emit(e)}async _onInputRequested(e){if(!e.inViewport){const t=this.widgets.findIndex((t=>t===e));if(t>=0){await this.scrollToItem(t);const n=e.node.querySelector(".jp-Stdin");if(n){J.ElementExt.scrollIntoViewIfNeeded(this.node,n);n.focus()}}}}_scheduleCellRenderOnIdle(){if(this.notebookConfig.windowingMode!=="none"&&!this.isDisposed){if(!this._idleCallBack){this._idleCallBack=requestIdleCallback((e=>{this._idleCallBack=null;void this._runOnIdleTime(e.didTimeout?Ie:e.timeRemaining())}),{timeout:3e3})}}}_updateDataWindowedListIndex(e,t,n){for(let i=0;i<this.viewportNode.childElementCount;i++){const s=this.viewportNode.children[i];const o=parseInt(s.dataset.windowedListIndex,10);if(o>=e&&o<t){s.dataset.windowedListIndex=`${o+n}`}}}_updateEditorConfig(){for(let e=0;e<this.widgets.length;e++){const t=this.widgets[e];let n={};switch(t.model.type){case"code":n=this._editorConfig.code;break;case"markdown":n=this._editorConfig.markdown;break;default:n=this._editorConfig.raw;break}t.updateEditorConfig({...n})}}async _runOnIdleTime(e=Ie){const t=Date.now();let n=0;while(Date.now()-t<e&&n<this.cellsArray.length){const e=this.cellsArray[n];if(e.isPlaceholder()){if(["defer","full","contentVisibility"].includes(this.notebookConfig.windowingMode)){await this._updateForDeferMode(e,n);if(this.notebookConfig.windowingMode==="full"){requestAnimationFrame((()=>{this.viewModel.setEstimatedWidgetSize(e.model.id,e.node.getBoundingClientRect().height);this.layout.removeWidget(e)}))}else if(this.notebookConfig.windowingMode==="contentVisibility"){const t=e.node.getBoundingClientRect().height;this.viewModel.setEstimatedWidgetSize(e.model.id,t);e.node.style.containIntrinsicSize=`auto ${t}px`}}}n++}if(n<this.cellsArray.length){if(this.notebookConfig.windowingMode==="defer"&&this.viewportNode.clientHeight<this.node.clientHeight){await this._runOnIdleTime()}else{this._scheduleCellRenderOnIdle()}}else{if(this._idleCallBack){window.cancelIdleCallback(this._idleCallBack);this._idleCallBack=null}}}async _updateForDeferMode(e,t){e.dataset.windowedListIndex=`${t}`;this.layout.insertWidget(t,e);await e.ready}_updateNotebookConfig(){this.toggleClass("jp-mod-scrollPastEnd",this._notebookConfig.scrollPastEnd);this.toggleClass(Ee,this._notebookConfig.showHiddenCellsButton);const e=this._notebookConfig.showEditorForReadOnlyMarkdown;if(e!==undefined){for(const t of this.cellsArray){if(t.model.type==="markdown"){t.showEditorForReadOnly=e}}}this.viewModel.windowingActive=this._notebookConfig.windowingMode==="full";const t=this._notebookConfig.windowingMode==="contentVisibility";this.viewportNode.classList.toggle("jp-content-visibility-mode",t);if(t){requestAnimationFrame((()=>{this.cellsArray.forEach(((e,t)=>{const n=this._viewModel.estimateWidgetSize(t);e.node.style.containIntrinsicSize=`auto ${n}px`}))}));this._setupContentVisibilityObserver()}else{this.cellsArray.forEach((e=>{e.node.style.removeProperty("contain-intrinsic-size");e.node.style.removeProperty("content-visibility");e.node.style.removeProperty("contain")}));if(this._contentVisibilityObserver){this._contentVisibilityObserver.disconnect();this._contentVisibilityObserver=null}}}onAfterAttach(e){super.onAfterAttach(e);if(this._notebookConfig.windowingMode==="contentVisibility"){this.viewportNode.classList.toggle("jp-content-visibility-mode",true);requestAnimationFrame((()=>{this.cellsArray.forEach(((e,t)=>{const n=this._viewModel.estimateWidgetSize(t);e.node.style.containIntrinsicSize=`auto ${n}px`;e.node.style.contentVisibility="auto";e.node.style.contain="layout style paint"}))}));this._setupContentVisibilityObserver()}}_setupContentVisibilityObserver(){var e;if(!this._contentVisibilityObserver){this._contentVisibilityObserver=new IntersectionObserver((e=>{for(const t of e){const e=t.target;if(t.isIntersecting){e.style.contentVisibility="visible";e.style.contain="style"}else{e.style.contentVisibility="auto";e.style.contain="layout style paint"}}}),{root:null,threshold:.1})}this.cellsArray.forEach((e=>this._contentVisibilityObserver.observe(e.node)));(e=this.model)===null||e===void 0?void 0:e.cells.changed.connect((()=>{requestAnimationFrame((()=>{this.cellsArray.forEach(((e,t)=>{const n=this._viewModel.estimateWidgetSize(t);e.node.style.containIntrinsicSize=`auto ${n}px`;this._contentVisibilityObserver.observe(e.node)}))}))}))}}(function(e){e.defaultEditorConfig={code:{lineNumbers:false,lineWrap:false,matchBrackets:true,tabFocusable:false},markdown:{lineNumbers:false,lineWrap:true,matchBrackets:false,tabFocusable:false},raw:{lineNumbers:false,lineWrap:true,matchBrackets:false,tabFocusable:false}};e.defaultNotebookConfig={enableKernelInitNotification:false,showHiddenCellsButton:true,scrollPastEnd:true,defaultCell:"code",recordTiming:false,inputHistoryScope:"global",maxNumberOutputs:50,showEditorForReadOnlyMarkdown:true,disableDocumentWideUndoRedo:true,autoRenderMarkdownCells:false,renderingLayout:"default",sideBySideLeftMarginOverride:"10px",sideBySideRightMarginOverride:"10px",sideBySideOutputRatio:1,overscanCount:1,windowingMode:"contentVisibility",accessKernelHistory:false,showInputPlaceholder:true,showMinimap:false};class t extends s.Cell.ContentFactory{createCodeCell(e){return new s.CodeCell(e).initializeState()}createMarkdownCell(e){return new s.MarkdownCell(e).initializeState()}createRawCell(e){return new s.RawCell(e).initializeState()}}e.ContentFactory=t})(De||(De={}));class Ae{constructor(e){this.render=e=>{if(!this._element){this._element=this._createElement();this._notebook.activeCellChanged.connect(this._updateActive);this._notebook.selectionChanged.connect(this._updateSelection);if(this._model.type==="code"){const e=this._model;e.outputs.changed.connect(this._updatePrompt);e.stateChanged.connect(this._updateState)}}if(this._model.type!=this._element.dataset.type){this._element.dataset.type=this._model.type}const t=this._model.sharedModel.source;const n=t.length>1e4?t.substring(0,1e4):t;if(n!==this._source.textContent){this._source.textContent=n}this._updateActive();this._updateSelection();this._updatePrompt();this._updateDirty();return this._element};this.dispose=()=>{this._isDisposed=true;this._notebook.activeCellChanged.disconnect(this._updateActive);this._notebook.selectionChanged.disconnect(this._updateSelection);if(this._model.type==="code"){const e=this._model;if(e.outputs){e.outputs.changed.disconnect(this._updatePrompt);e.stateChanged.disconnect(this._updateState)}}};this._updateState=(e,t)=>{switch(t.name){case"executionCount":case"executionState":this._updatePrompt();break;case"isDirty":{this._updateDirty();break}}};this._updatePrompt=()=>{if(this._model.type!=="code"){return}const e=this._model;let t=false;for(let s=0;s<e.outputs.length;s++){const n=e.outputs.get(s);if(n.type==="error"){t=true;break}}let n;let i="";if(t){n="[!]";i="error"}else if(e.executionState=="running"){n="[*]"}else if(e.executionCount){n=`[${e.executionCount}]`}else{n="[ ]"}if(this._executionIndicator.textContent!==n){this._executionIndicator.textContent=n}if(this._element.dataset.output!==i){this._element.dataset.output=i}};this._updateActive=()=>{var e;if(!this._element){this._element=this._createElement()}const t=this._element;const n=t.classList.contains(me);if(((e=this._notebook.activeCell)===null||e===void 0?void 0:e.model)===this._model){if(!n){t.classList.add(me)}}else if(n){t.classList.remove(me);t.classList.remove(ge)}};this._updateSelection=()=>{if(!this._element){this._element=this._createElement()}const e=this._element;const t=e.classList.contains(ge);if(this._notebook.selectedCells.some((e=>this._model===e.model))){if(!t){e.classList.add(ge)}}else if(t){e.classList.remove(ge)}};this._isDisposed=false;this._element=null;this._model=e.model;this._notebook=e.notebook}get key(){return this._model.id}get isDisposed(){if(!this._isDisposed&&this._model.isDisposed){this.dispose()}return this._isDisposed}_updateDirty(){if(this._model.type!=="code"||!this._element){return}const e=this._model;const t=this._element.classList.contains(fe);if(t!==e.isDirty){if(e.isDirty){this._element.classList.add(fe)}else{this._element.classList.remove(fe)}}}_createElement(){const e=document.createElement("li");const t=this._executionIndicator=document.createElement("div");t.className="jp-scrollbarItem-executionIndicator";const n=this._source=document.createElement("div");n.className="jp-scrollbarItem-source";e.append(t);e.append(n);return e}}class Pe extends De{constructor(e){super({renderer:{createOuter(){return document.createElement("div")},createViewport(){const e=document.createElement("div");e.setAttribute("role","feed");e.setAttribute("aria-label","Cells");return e},createScrollbar(){return document.createElement("ol")},createScrollbarViewportIndicator(){return document.createElement("div")},createScrollbarItem(e,t,n){return new Ae({notebook:e,model:n})}},...e});this._activeCellIndex=-1;this._activeCell=null;this._mode="command";this._drag=null;this._dragData=null;this._selectData=null;this._mouseMode=null;this._activeCellChanged=new d.Signal(this);this._stateChanged=new d.Signal(this);this._selectionChanged=new d.Signal(this);this._cellsPasted=new d.Signal(this);this._localCopy=[];this._checkCacheOnNextResize=false;this._lastClipboardInteraction=null;this._selectedCells=[];this.outerNode.setAttribute("data-lm-dragscroll","true");this.activeCellChanged.connect(this._updateSelectedCells,this);this.jumped.connect(((e,t)=>this.activeCellIndex=t));this.selectionChanged.connect(this._updateSelectedCells,this);this.addFooter()}get selectedCells(){return this._selectedCells}addFooter(){const e=new re(this);this.layout.footer=e}_onCellsChanged(e,t){var n,i;const s=(n=this.activeCell)===null||n===void 0?void 0:n.model.id;super._onCellsChanged(e,t);if(s){const e=(i=this.model)===null||i===void 0?void 0:i.sharedModel.cells.findIndex((e=>e.getId()===s));if(e!=null){this.activeCellIndex=e}}}get activeCellChanged(){return this._activeCellChanged}get stateChanged(){return this._stateChanged}get selectionChanged(){return this._selectionChanged}get cellsPasted(){return this._cellsPasted}get mode(){return this._mode}set mode(e){this.setMode(e)}setMode(e,t={}){var n;const i=(n=t.focus)!==null&&n!==void 0?n:true;const o=this.activeCell;if(!o){e="command"}if(e===this._mode){if(i){this._ensureFocus()}return}this.update();const r=this._mode;this._mode=e;if(e==="edit"){for(const e of this.widgets){this.deselect(e)}if(o instanceof s.MarkdownCell){o.rendered=false}o.inputHidden=false}else{if(i){void f.focusActiveCell(this,{waitUntilReady:false,preventScroll:true})}}this._stateChanged.emit({name:"mode",oldValue:r,newValue:e});if(i){this._ensureFocus()}}get activeCellIndex(){if(!this.model){return-1}return this.widgets.length?this._activeCellIndex:-1}set activeCellIndex(e){var t,n;const i=this._activeCellIndex;if(!this.model||!this.widgets.length){e=-1}else{e=Math.max(e,0);e=Math.min(e,this.widgets.length-1)}this._activeCellIndex=e;const o=(t=this.widgets[i])!==null&&t!==void 0?t:null;const r=(n=this.widgets[e])!==null&&n!==void 0?n:null;this.layout.activeCell=r;const a=r!==this._activeCell;if(a){this.update();this._activeCell=r}if(a||e!=i){this._activeCellChanged.emit(r)}if(this.mode==="edit"){if(r instanceof s.MarkdownCell){r.rendered=false}if(this.notebookConfig.autoRenderMarkdownCells&&a&&o instanceof s.MarkdownCell){o.rendered=true}}this._ensureFocus();if(e===i){return}this._trimSelections();this._stateChanged.emit({name:"activeCellIndex",oldValue:i,newValue:e})}get activeCell(){return this._activeCell}get lastClipboardInteraction(){return this._lastClipboardInteraction}set lastClipboardInteraction(e){const t=i.SystemClipboard.getInstance();const n=this._lastClipboardInteraction;t.getData(je).then((t=>{if(t!==null){if(e==="copy"||e==="cut"){this._localCopy=t}else if(e==="paste"){const e=t;const i=a.ArrayExt.shallowEqual(e,this._localCopy,l.JSONExt.deepEqual);this._cellsPasted.emit({previousInteraction:i?n:null,cellCount:e.length})}}})).catch((()=>{}));this._lastClipboardInteraction=e}dispose(){if(this.isDisposed){return}this._activeCell=null;super.dispose()}moveCell(e,t,n=1){const i=e<=this.activeCellIndex&&this.activeCellIndex<e+n?this.activeCellIndex+t-e-(e>t?0:n-1):-1;const s=this.widgets.slice(e,e+n).map((e=>this.isSelected(e)));super.moveCell(e,t,n);if(i>=0){this.activeCellIndex=i}if(e>t){s.forEach(((e,n)=>{if(e){this.select(this.widgets[t+n])}}))}else{s.forEach(((e,i)=>{if(e){this.select(this.widgets[t-n+1+i])}}))}}select(e){if(Le.selectedProperty.get(e)){return}Le.selectedProperty.set(e,true);this._selectionChanged.emit(void 0);this.update()}deselect(e){if(!Le.selectedProperty.get(e)){return}Le.selectedProperty.set(e,false);this._selectionChanged.emit(void 0);this.update()}isSelected(e){return Le.selectedProperty.get(e)}isSelectedOrActive(e){if(e===this._activeCell){return true}return Le.selectedProperty.get(e)}deselectAll(){let e=false;for(const t of this.widgets){if(Le.selectedProperty.get(t)){e=true}Le.selectedProperty.set(t,false)}if(e){this._selectionChanged.emit(void 0)}this.activeCellIndex=this.activeCellIndex;this.update()}extendContiguousSelectionTo(e){let{head:t,anchor:n}=this.getContiguousSelection();let i;if(n===null||t===null){if(e===this.activeCellIndex){return}t=this.activeCellIndex;n=this.activeCellIndex}this.activeCellIndex=e;e=this.activeCellIndex;if(e===n){this.deselectAll();return}let s=false;if(t<e){if(t<n){Le.selectedProperty.set(this.widgets[t],false);s=true}for(i=t+1;i<e;i++){if(i!==n){Le.selectedProperty.set(this.widgets[i],!Le.selectedProperty.get(this.widgets[i]));s=true}}}else if(e<t){if(n<t){Le.selectedProperty.set(this.widgets[t],false);s=true}for(i=e+1;i<t;i++){if(i!==n){Le.selectedProperty.set(this.widgets[i],!Le.selectedProperty.get(this.widgets[i]));s=true}}}if(!Le.selectedProperty.get(this.widgets[n])){s=true}Le.selectedProperty.set(this.widgets[n],true);if(!Le.selectedProperty.get(this.widgets[e])){s=true}Le.selectedProperty.set(this.widgets[e],true);if(s){this._selectionChanged.emit(void 0)}}getContiguousSelection(){const e=this.widgets;const t=a.ArrayExt.findFirstIndex(e,(e=>this.isSelected(e)));if(t===-1){return{head:null,anchor:null}}const n=a.ArrayExt.findLastIndex(e,(e=>this.isSelected(e)),-1,t);for(let s=t;s<=n;s++){if(!this.isSelected(e[s])){throw new Error("Selection not contiguous")}}const i=this.activeCellIndex;if(t!==i&&n!==i){throw new Error("Active cell not at endpoint of selection")}if(t===i){return{head:t,anchor:n}}else{return{head:n,anchor:t}}}async scrollToCell(e,t="auto"){try{await this.scrollToItem(this.widgets.findIndex((t=>t===e)),t)}catch(n){}this.deselectAll();this.select(e);e.activate()}_parseFragment(e){const t=e.slice(1);if(!t){return}const n=t.split("=");if(n.length===1){return{kind:"legacy",value:t}}return{kind:n[0],value:n.slice(1).join("=")}}async setFragment(e){const t=this._parseFragment(e);if(!t){return}let n;switch(t.kind){case"heading":n=await this._findHeading(t.value);break;case"cell-id":n=this._findCellById(t.value);break;case"legacy":n=await this._findLegacy(t.value);break;default:console.warn(`Unknown target type for URI fragment ${e}, interpreting as a heading`);n=await this._findLegacy(t.kind+"="+t.value);break}if(n==null){return}let{cell:i,element:s}=n;if(!i.inViewport){await this.scrollToCell(i,"center")}if(s==null){s=i.node}s.scrollIntoView()}handleEvent(e){if(!this.model){return}switch(e.type){case"contextmenu":if(e.eventPhase===Event.CAPTURING_PHASE){this._evtContextMenuCapture(e)}break;case"mousedown":if(e.eventPhase===Event.CAPTURING_PHASE){this._evtMouseDownCapture(e)}else{if(!e.defaultPrevented){this._evtMouseDown(e)}}break;case"mouseup":if(e.currentTarget===document){this._evtDocumentMouseup(e)}break;case"mousemove":if(e.currentTarget===document){this._evtDocumentMousemove(e)}break;case"keydown":this._ensureFocus(true);break;case"dblclick":this._evtDblClick(e);break;case"focusin":this._evtFocusIn(e);break;case"focusout":this._evtFocusOut(e);break;case"lm-dragenter":this._evtDragEnter(e);break;case"lm-dragleave":this._evtDragLeave(e);break;case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e);break;default:super.handleEvent(e);break}}onAfterAttach(e){super.onAfterAttach(e);const t=this.node;t.addEventListener("contextmenu",this,true);t.addEventListener("mousedown",this,true);t.addEventListener("mousedown",this);t.addEventListener("keydown",this);t.addEventListener("dblclick",this);t.addEventListener("focusin",this);t.addEventListener("focusout",this);t.addEventListener("lm-dragenter",this,true);t.addEventListener("lm-dragleave",this,true);t.addEventListener("lm-dragover",this,true);t.addEventListener("lm-drop",this,true)}onBeforeDetach(e){const t=this.node;t.removeEventListener("contextmenu",this,true);t.removeEventListener("mousedown",this,true);t.removeEventListener("mousedown",this);t.removeEventListener("keydown",this);t.removeEventListener("dblclick",this);t.removeEventListener("focusin",this);t.removeEventListener("focusout",this);t.removeEventListener("lm-dragenter",this,true);t.removeEventListener("lm-dragleave",this,true);t.removeEventListener("lm-dragover",this,true);t.removeEventListener("lm-drop",this,true);document.removeEventListener("mousemove",this,true);document.removeEventListener("mouseup",this,true);super.onBeforeDetach(e)}onAfterShow(e){super.onAfterShow(e);this._checkCacheOnNextResize=true}onResize(e){var t;if(!this._checkCacheOnNextResize){return super.onResize(e)}super.onResize(e);this._checkCacheOnNextResize=false;const n=this._cellLayoutStateCache;const i=parseInt(this.node.style.width,10);if(n){if(i===n.width){return}}this._cellLayoutStateCache={width:i};for(const o of this.widgets){if(o instanceof s.Cell&&o.inViewport){(t=o.editorWidget)===null||t===void 0?void 0:t.update()}}}onBeforeHide(e){super.onBeforeHide(e);const t=parseInt(this.node.style.width,10);this._cellLayoutStateCache={width:t}}onActivateRequest(e){super.onActivateRequest(e);this._ensureFocus(true)}onUpdateRequest(e){super.onUpdateRequest(e);const t=this.activeCell;if(this.mode==="edit"){this.addClass(ue);this.removeClass(pe)}else{this.addClass(pe);this.removeClass(ue)}let n=0;for(const i of this.widgets){if(i===t){t.addClass(me);t.addClass(ge);t.node.tabIndex=0}else{i.node.tabIndex=-1;i.removeClass(me);i.removeClass(ve)}if(this.isSelectedOrActive(i)){i.addClass(ge);n++}else{i.removeClass(ge)}}if(t&&n>1){t.addClass(ve)}}onCellInserted(e,t){void t.ready.then((()=>{if(!t.isDisposed){t.editor.edgeRequested.connect(this._onEdgeRequest,this)}}));t.scrollRequested.connect(((e,n)=>{if(t!==this.activeCell){return}if(!n.defaultPrevented){return}const i=this.outerNode;if(t.inViewport){return n.scrollWithinCell({scroller:i})}this.scrollToItem(this.activeCellIndex).then((()=>{void t.ready.then((()=>{n.scrollWithinCell({scroller:i})}))})).catch((e=>{}))}));this.activeCellIndex=e<=this.activeCellIndex?this.activeCellIndex+1:this.activeCellIndex}onCellRemoved(e,t){this.activeCellIndex=e<=this.activeCellIndex?this.activeCellIndex-1:this.activeCellIndex;if(this.isSelected(t)){this._selectionChanged.emit(void 0)}}onModelChanged(e,t){super.onModelChanged(e,t);this.activeCellIndex=0}_onEdgeRequest(e,t){this.setMode("edit",{focus:false});const n=this.activeCellIndex;if(t==="top"){this.activeCellIndex--;if(this.activeCellIndex<n){const e=this.activeCell.editor;if(e){const t=e.lineCount-1;e.setCursorPosition({line:t,column:0})}}}else if(t==="bottom"){this.activeCellIndex++;if(this.activeCellIndex>n){const e=this.activeCell.editor;if(e){e.setCursorPosition({line:0,column:0})}}}this.mode="edit"}_ensureFocus(e=false){var t,n;const i=this.layout.footer;if(i&&document.activeElement===i.node){return}const s=this.activeCell;if(this.mode==="edit"&&s){if(((t=s.editor)===null||t===void 0?void 0:t.hasFocus())!==true){if(s.inViewport){(n=s.editor)===null||n===void 0?void 0:n.focus()}else{this.scrollToItem(this.activeCellIndex).then((()=>{void s.ready.then((()=>{var e;(e=s.editor)===null||e===void 0?void 0:e.focus()}))})).catch((e=>{}))}}}if(e&&s&&!s.node.contains(document.activeElement)){void f.focusActiveCell(this,{preventScroll:true})}}_findCell(e){let t=e;while(t&&t!==this.node){if(t.classList.contains(he)){const e=a.ArrayExt.findFirstIndex(this.widgets,(e=>e.node===t));if(e!==-1){return e}break}t=t.parentElement}return-1}_findEventTargetAndCell(e){let t=e.target;let n=this._findCell(t);if(n===-1){t=document.elementFromPoint(e.clientX,e.clientY);n=this._findCell(t)}return[t,n]}async _findHeading(e){var t;for(let n=0;n<this.widgets.length;n++){const i=this.widgets[n];if(i.model.type==="raw"||i.model.type==="markdown"&&!i.rendered){continue}for(const n of i.headings){let o="";switch(n.type){case s.Cell.HeadingType.HTML:o=n.id;break;case s.Cell.HeadingType.Markdown:{const e=n;o=await K.TableOfContentsUtils.Markdown.getHeadingId(this.rendermime.markdownParser,e.raw,e.level,this.rendermime.sanitizer)}break}if(o===e){const e=((t=this.rendermime.sanitizer.allowNamedProperties)!==null&&t!==void 0?t:false)?"id":"data-jupyter-id";const s=this.node.querySelector(`h${n.level}[${e}="${CSS.escape(o)}"]`);return{cell:i,element:s}}}}return null}_findCellById(e){for(let t=0;t<this.widgets.length;t++){const n=this.widgets[t];if(n.model.id===e){return{cell:n}}}return null}async _findLegacy(e){var t;for(let n=0;n<this.widgets.length;n++){const i=this.widgets[n];if(i.model.type==="raw"||i.model.type==="markdown"&&!i.rendered){continue}const s=((t=this.rendermime.sanitizer.allowNamedProperties)!==null&&t!==void 0?t:false)?"id":"data-jupyter-id";const o=i.node.querySelector(`[${s}="${CSS.escape(e)}"]`);if(o!==null){return{cell:i,element:o}}}return null}_evtContextMenuCapture(e){var t;if(e.shiftKey){return}const[n,i]=this._findEventTargetAndCell(e);const s=this.widgets[i];if(s&&((t=s.editorWidget)===null||t===void 0?void 0:t.node.contains(n))){e.preventDefault()}}_evtMouseDownCapture(e){var t;const{button:n,shiftKey:i}=e;const[s,o]=this._findEventTargetAndCell(e);const r=this.widgets[o];if(n===2&&!i&&r&&((t=r.editorWidget)===null||t===void 0?void 0:t.node.contains(s))){this.mode="command";e.preventDefault()}}_evtMouseDown(e){var t,n,i;const{button:s,shiftKey:o}=e;if(!(s===0||s===2)){return}if(o&&s===2){return}const[r,a]=this._findEventTargetAndCell(e);const l=this.widgets[a];let d;if(l){if((t=l.editorWidget)===null||t===void 0?void 0:t.node.contains(r)){d="input"}else if((n=l.promptNode)===null||n===void 0?void 0:n.contains(r)){d="prompt"}else{d="cell"}}else{d="notebook"}if(d!=="input"){this.mode="command"}if(d==="notebook"){this.deselectAll()}else if(d==="prompt"||d==="cell"){const t=((i=window.getSelection())!==null&&i!==void 0?i:"").toString()!=="";if(s===0&&o&&!t&&!["INPUT","OPTION"].includes(r.tagName)){e.preventDefault();try{this.extendContiguousSelectionTo(a)}catch(c){console.error(c);this.deselectAll();return}this._mouseMode="select";this._selectData={startedOnActiveCell:a==this.activeCellIndex,startingCellIndex:this.activeCellIndex};document.addEventListener("mouseup",this,true);document.addEventListener("mousemove",this,true)}else if(s===0&&!o){if(d==="prompt"){this._dragData={pressX:e.clientX,pressY:e.clientY,index:a};this._mouseMode="couldDrag";document.addEventListener("mouseup",this,true);document.addEventListener("mousemove",this,true);e.preventDefault()}if(!this.isSelectedOrActive(l)){this.deselectAll();this.activeCellIndex=a}}else if(s===2){if(!this.isSelectedOrActive(l)){this.deselectAll();this.activeCellIndex=a}e.preventDefault()}}else if(d==="input"){if(s===2&&!this.isSelectedOrActive(l)){this.deselectAll();this.activeCellIndex=a}}this._ensureFocus(true)}_evtDocumentMouseup(e){const[,t]=this._findEventTargetAndCell(e);let n=true;if(this._mouseMode==="select"&&this._selectData){const{startedOnActiveCell:e,startingCellIndex:i}=this._selectData;if(e&&t===i){n=false}this._selectData=null}if(n){e.preventDefault();e.stopPropagation()}document.removeEventListener("mousemove",this,true);document.removeEventListener("mouseup",this,true);if(this._mouseMode==="couldDrag"){this.deselectAll();this.activeCellIndex=t;if(!this.activeCell.node.contains(document.activeElement)){void f.focusActiveCell(this)}}this._mouseMode=null}_evtDocumentMousemove(e){e.preventDefault();e.stopPropagation();switch(this._mouseMode){case"select":{const t=e.target;const n=this._findCell(t);if(n!==-1){this.extendContiguousSelectionTo(n)}break}case"couldDrag":{const t=this._dragData;const n=Math.abs(e.clientX-t.pressX);const i=Math.abs(e.clientY-t.pressY);if(n>=ke||i>=ke){this._mouseMode=null;this._startDrag(t.index,e.clientX,e.clientY)}break}default:break}}_evtDragEnter(e){if(!e.mimeData.hasData(je)){return}e.preventDefault();e.stopPropagation();const t=e.target;const n=this._findCell(t);if(n===-1){return}const i=this.cellsArray[n];i.node.classList.add(Q)}_evtDragLeave(e){if(!e.mimeData.hasData(je)){return}e.preventDefault();e.stopPropagation();const t=this.node.getElementsByClassName(Q);if(t.length){t[0].classList.remove(Q)}}_evtDragOver(e){if(!e.mimeData.hasData(je)){return}e.preventDefault();e.stopPropagation();e.dropAction=e.proposedAction;const t=this.node.getElementsByClassName(Q);if(t.length){t[0].classList.remove(Q)}const n=e.target;const i=this._findCell(n);if(i===-1){return}const s=this.cellsArray[i];s.node.classList.add(Q)}_evtDrop(e){if(!e.mimeData.hasData(je)){return}e.preventDefault();e.stopPropagation();if(e.proposedAction==="none"){e.dropAction="none";return}let t=e.target;while(t&&t.parentElement){if(t.classList.contains(Q)){t.classList.remove(Q);break}t=t.parentElement}const n=this.model;const i=e.source;if(i===this){e.dropAction="move";const n=e.mimeData.getData("internal:cells");const o=n[n.length-1];if(o instanceof s.MarkdownCell&&o.headingCollapsed){const e=f.findNextParentHeading(o,i);if(e>0){const t=(0,a.findIndex)(i.widgets,(e=>o.model.id===e.model.id));n.push(...i.widgets.slice(t+1,e))}}let r=a.ArrayExt.firstIndexOf(this.widgets,n[0]);let l=this._findCell(t);if(l!==-1&&l>r){l-=1}else if(l===-1){l=this.widgets.length-1}if(l>=r&&l<r+n.length){return}this.moveCell(r,l,n.length)}else{e.dropAction="copy";let i=this._findCell(t);if(i===-1){i=this.widgets.length}const s=i;const o=e.mimeData.getData(je);n.sharedModel.insertCells(i,o);this.deselectAll();this.activeCellIndex=s;this.extendContiguousSelectionTo(i-1)}void f.focusActiveCell(this)}_startDrag(e,t,n){var i;const s=this.model.cells;const o=[];const r=[];let a=-1;for(const l of this.widgets){const e=s.get(++a);if(this.isSelectedOrActive(l)){l.addClass(Z);o.push(e.toJSON());r.push(l)}}const d=this.activeCell;let c=null;let h;if((d===null||d===void 0?void 0:d.model.type)==="code"){const e=d.model.executionCount;h=" ";if(e){h=e.toString()}}else{h=""}c=Le.createDragImage(o.length,h,(i=d===null||d===void 0?void 0:d.model.sharedModel.getSource().split("\n")[0].slice(0,26))!==null&&i!==void 0?i:"");this._drag=new G.Drag({mimeData:new l.MimeData,dragImage:c,supportedActions:"copy-move",proposedAction:"copy",source:this});this._drag.mimeData.setData(je,o);this._drag.mimeData.setData("internal:cells",r);const u=r.map((e=>e.model.sharedModel.getSource())).join("\n");this._drag.mimeData.setData("text/plain",u);document.removeEventListener("mousemove",this,true);document.removeEventListener("mouseup",this,true);this._mouseMode=null;void this._drag.start(t,n).then((e=>{if(this.isDisposed){return}this._drag=null;for(const t of r){t.removeClass(Z)}}))}_updateReadWrite(){const e=i.DOMUtils.hasActiveEditableElement(this.node);if(this.node.classList.contains(be)===e){return}this.node.classList.toggle(be,e)}_evtFocusIn(e){var t,n;this._updateReadWrite();const i=e.target;const s=this._findCell(i);if(s!==-1){const e=this.widgets[s];if(e.editorWidget&&!e.editorWidget.node.contains(i)){this.setMode("command",{focus:false})}this.activeCellIndex=s;const n=(t=e.editorWidget)===null||t===void 0?void 0:t.node;if(n===null||n===void 0?void 0:n.contains(i)){this.setMode("edit",{focus:false})}}else{this.setMode("command",{focus:false});e.preventDefault();const t=e.relatedTarget;if(this._activeCell&&!this._activeCell.node.contains(t)){this._activeCell.ready.then((()=>{var e;(e=this._activeCell)===null||e===void 0?void 0:e.node.focus({preventScroll:true})})).catch((()=>{var e;(e=this.layout.footer)===null||e===void 0?void 0:e.node.focus({preventScroll:true})}))}else{(n=this.layout.footer)===null||n===void 0?void 0:n.node.focus({preventScroll:true})}}}_evtFocusOut(e){var t;const n=e.relatedTarget;if(!n){this._updateReadWrite();return}const i=this._findCell(n);if(i!==-1){const e=this.widgets[i];if((t=e.editorWidget)===null||t===void 0?void 0:t.node.contains(n)){return}}if(this.mode!=="command"){this.setMode("command",{focus:false})}this._updateReadWrite()}_evtDblClick(e){const t=this.model;if(!t){return}this.deselectAll();const[n,i]=this._findEventTargetAndCell(e);if(e.target.classList.contains(Te)){return}if(i===-1){return}this.activeCellIndex=i;if(t.cells.get(i).type==="markdown"){const e=this.widgets[i];e.rendered=false}else if(n.localName==="img"){n.classList.toggle(_e)}}_trimSelections(){for(let e=0;e<this.widgets.length;e++){if(e!==this._activeCellIndex){const t=this.widgets[e];if(!t.model.isDisposed&&t.editor){t.model.selections.delete(t.editor.uuid)}}}}_updateSelectedCells(){this._selectedCells=this.widgets.filter((e=>this.isSelectedOrActive(e)));if(this.kernelHistory){this.kernelHistory.reset()}}}(function(e){class t extends De.ContentFactory{}e.ContentFactory=t})(Pe||(Pe={}));var Le;(function(e){e.selectedProperty=new Y.AttachedProperty({name:"selected",create:()=>false});class t extends H.PanelLayout{onUpdateRequest(e){}}e.NotebookPanelLayout=t;function n(e,t,n){if(e>1){if(t!==""){return X.VirtualDOM.realize(X.h.div(X.h.div({className:ye},X.h.span({className:xe},"["+t+"]:"),X.h.span({className:Ce},n)),X.h.div({className:Se},"")))}else{return X.VirtualDOM.realize(X.h.div(X.h.div({className:ye},X.h.span({className:xe}),X.h.span({className:Ce},n)),X.h.div({className:Se},"")))}}else{if(t!==""){return X.VirtualDOM.realize(X.h.div(X.h.div({className:`${ye} ${we}`},X.h.span({className:xe},"["+t+"]:"),X.h.span({className:Ce},n))))}else{return X.VirtualDOM.realize(X.h.div(X.h.div({className:`${ye} ${we}`},X.h.span({className:xe}),X.h.span({className:Ce},n))))}}}e.createDragImage=n})(Le||(Le={}));const Re="jp-NotebookPanel";const Ne="jp-NotebookPanel-toolbar";const Be="jp-NotebookPanel-notebook";class Oe extends $.DocumentWidget{constructor(e){super(e);this._autorestarting=false;this.addClass(Re);this.toolbar.addClass(Ne);this.content.addClass(Be);this.content.model=this.context.model;this.context.sessionContext.kernelChanged.connect(this._onKernelChanged,this);this.context.sessionContext.statusChanged.connect(this._onSessionStatusChanged,this);this.context.saveState.connect(this._onSave,this);void this.revealed.then((()=>{if(this.isDisposed){return}if(this.content.widgets.length===1){const e=this.content.widgets[0].model;if(e.type==="code"&&e.sharedModel.getSource()===""){this.content.mode="edit"}}}))}_onSave(e,t){if(t==="started"&&this.model){for(const e of this.model.cells){if((0,s.isMarkdownCellModel)(e)){for(const t of e.attachments.keys){if(!e.sharedModel.getSource().includes(t)){e.attachments.remove(t)}}}}}}get sessionContext(){return this.context.sessionContext}get model(){return this.content.model}setConfig(e){this.content.editorConfig=e.editorConfig;this.content.notebookConfig=e.notebookConfig;const t=this.context.sessionContext.kernelPreference;this.context.sessionContext.kernelPreference={...t,shutdownOnDispose:e.kernelShutdown,autoStartDefault:e.autoStartDefault}}setFragment(e){void this.context.ready.then((()=>{void this.content.setFragment(e)}))}dispose(){this.content.dispose();super.dispose()}[i.Printing.symbol](){return async()=>{if(this.context.model.dirty&&!this.context.model.readOnly){await this.context.save()}await i.Printing.printURL(o.PageConfig.getNBConvertURL({format:"html",download:false,path:this.context.path}))}}onBeforeHide(e){super.onBeforeHide(e);this.content.isParentHidden=true}onBeforeShow(e){this.content.isParentHidden=false;super.onBeforeShow(e)}_onKernelChanged(e,t){if(!this.model||!t.newValue){return}const{newValue:n}=t;void n.info.then((e=>{var t;if(this.model&&((t=this.context.sessionContext.session)===null||t===void 0?void 0:t.kernel)===n){this._updateLanguage(e.language_info)}}));void this._updateSpec(n)}_onSessionStatusChanged(e,t){var n;if(t==="autorestarting"&&!this._autorestarting){void(0,i.showDialog)({title:this._trans.__("Kernel Restarting"),body:this._trans.__("The kernel for %1 appears to have died. It will restart automatically.",(n=this.sessionContext.session)===null||n===void 0?void 0:n.path),buttons:[i.Dialog.okButton({label:this._trans.__("Ok")})]});this._autorestarting=true}else if(t==="restarting"){}else{this._autorestarting=false}}_updateLanguage(e){this.model.setMetadata("language_info",e)}async _updateSpec(e){const t=await e.spec;if(this.isDisposed){return}this.model.setMetadata("kernelspec",{name:e.name,display_name:t===null||t===void 0?void 0:t.display_name,language:t===null||t===void 0?void 0:t.language})}}(function(e){class t extends Pe.ContentFactory{createNotebook(e){return new Pe(e)}}e.ContentFactory=t;e.IContentFactory=new l.Token("@jupyterlab/notebook:IContentFactory",`A factory object that creates new notebooks.\n Use this if you want to create and host notebooks in your own UI elements.`)})(Oe||(Oe={}));var Fe=n(41043);class ze extends Fe.SearchProvider{constructor(e,t=r.nullTranslator){super(e);this.translator=t;this._textSelection=null;this._currentProviderIndex=null;this._delayedActiveCellChangeHandler=null;this._onSelection=false;this._selectedCells=1;this._selectedLines=0;this._query=null;this._searchProviders=[];this._editorSelectionsObservable=null;this._selectionSearchMode="cells";this._selectionLock=false;this._searchActive=false;this._handleHighlightsAfterActiveCellChange=this._handleHighlightsAfterActiveCellChange.bind(this);this.widget.model.cells.changed.connect(this._onCellsChanged,this);this.widget.content.activeCellChanged.connect(this._onActiveCellChanged,this);this.widget.content.selectionChanged.connect(this._onCellSelectionChanged,this);this.widget.content.stateChanged.connect(this._onNotebookStateChanged,this);this._observeActiveCell();this._filtersChanged.connect(this._setEnginesSelectionSearchMode,this)}_onNotebookStateChanged(e,t){if(t.name==="mode"){window.setTimeout((()=>{var e;if(t.newValue==="command"&&((e=document.activeElement)===null||e===void 0?void 0:e.closest(".jp-DocumentSearch-overlay"))){return}this._updateSelectionMode();this._filtersChanged.emit()}),0)}}static isApplicable(e){return e instanceof Oe}static createNew(e,t){return new ze(e,t)}get currentMatchIndex(){let e=0;let t=false;for(let n=0;n<this._searchProviders.length;n++){const i=this._searchProviders[n];if(this._currentProviderIndex==n){const n=i.currentMatchIndex;if(n===null){return null}e+=n;t=true;break}else{e+=i.matchesCount}}return t?e:null}get matchesCount(){return this._searchProviders.reduce(((e,t)=>e+=t.matchesCount),0)}get isReadOnly(){var e,t,n;return(n=(t=(e=this.widget)===null||e===void 0?void 0:e.content.model)===null||t===void 0?void 0:t.readOnly)!==null&&n!==void 0?n:false}get replaceOptionsSupport(){return{preserveCase:true}}getSelectionState(){const e=this._selectionSearchMode==="cells";const t=e?this._selectedCells:this._selectedLines;return t>1?"multiple":t===1&&!e?"single":"none"}dispose(){var e;if(this.isDisposed){return}this.widget.content.activeCellChanged.disconnect(this._onActiveCellChanged,this);(e=this.widget.model)===null||e===void 0?void 0:e.cells.changed.disconnect(this._onCellsChanged,this);this.widget.content.stateChanged.disconnect(this._onNotebookStateChanged,this);this.widget.content.selectionChanged.disconnect(this._onCellSelectionChanged,this);this._stopObservingLastCell();super.dispose();const t=this.widget.content.activeCellIndex;this.endQuery().then((()=>{if(!this.widget.isDisposed){this.widget.content.activeCellIndex=t}})).catch((e=>{console.error(`Fail to end search query in notebook:\n${e}`)}))}getFilters(){const e=this.translator.load("jupyterlab");return{output:{title:e.__("Search Cell Outputs"),description:e.__("Search in the cell outputs."),disabledDescription:e.__("Search in the cell outputs (not available when replace options are shown)."),default:false,supportReplace:false},selection:{title:this._selectionSearchMode==="cells"?e._n("Search in %1 Selected Cell","Search in %1 Selected Cells",this._selectedCells):e._n("Search in %1 Selected Line","Search in %1 Selected Lines",this._selectedLines),description:e.__("Search only in the selected cells or text (depending on edit/command mode)."),default:false,supportReplace:true}}}_updateSelectionMode(){if(this._selectionLock){return}this._selectionSearchMode=this._selectedCells===1&&this.widget.content.mode==="edit"&&this._selectedLines!==0?"text":"cells"}getInitialQuery(){var e;return((e=window.getSelection())===null||e===void 0?void 0:e.toString())||""}async clearHighlight(){this._selectionLock=true;if(this._currentProviderIndex!==null&&this._currentProviderIndex<this._searchProviders.length){await this._searchProviders[this._currentProviderIndex].clearHighlight();this._currentProviderIndex=null}this._selectionLock=false}async highlightNext(e=true,t){const n=await this._stepNext(false,e,t);return n!==null&&n!==void 0?n:undefined}async highlightPrevious(e=true,t){const n=await this._stepNext(true,e,t);return n!==null&&n!==void 0?n:undefined}async startQuery(e,t){if(!this.widget){return}await this.endQuery();this._searchActive=true;let n=this.widget.content.widgets;this._query=e;this._filters={output:false,selection:false,...t!==null&&t!==void 0?t:{}};this._onSelection=this._filters.selection;const i=this.widget.content.activeCellIndex;this._searchProviders=await Promise.all(n.map((async(t,n)=>{const o=(0,s.createCellSearchProvider)(t);await o.setIsActive(!this._filters.selection||this.widget.content.isSelectedOrActive(t));if(this._onSelection&&this._selectionSearchMode==="text"&&n===i){if(this._textSelection){await o.setSearchSelection(this._textSelection)}}await o.startQuery(e,this._filters);return o})));this._currentProviderIndex=i;await this.highlightNext(true,{from:"selection-start",scroll:false,select:false});return Promise.resolve()}async endQuery(){await Promise.all(this._searchProviders.map((e=>e.endQuery().then((()=>{e.dispose()})))));this._searchActive=false;this._searchProviders.length=0;this._currentProviderIndex=null}async replaceCurrentMatch(e,t=true,n){let i=false;const s=async(e=false)=>{var n;const i=(n=this.widget)===null||n===void 0?void 0:n.content.activeCell;if((i===null||i===void 0?void 0:i.model.type)==="markdown"&&i.rendered){i.rendered=false;if(e){await this.highlightNext(t)}}};if(this._currentProviderIndex!==null){await s();const o=this._searchProviders[this._currentProviderIndex];i=await o.replaceCurrentMatch(e,false,n);if(o.currentMatchIndex===null){await this.highlightNext(t,{from:"previous-match"})}}await s(true);return i}async replaceAllMatches(e,t){const n=await Promise.all(this._searchProviders.map((n=>n.replaceAllMatches(e,t))));return n.includes(true)}async validateFilter(e,t){if(e!=="output"){return t}if(t&&this.widget.content.widgets.some((e=>e instanceof s.CodeCell&&e.isPlaceholder()))){const e=this.translator.load("jupyterlab");const t=await(0,i.showDialog)({title:e.__("Confirmation"),body:e.__("Searching outputs requires you to run all cells and render their outputs. Are you sure you want to search in the cell outputs?"),buttons:[i.Dialog.cancelButton({label:e.__("Cancel")}),i.Dialog.okButton({label:e.__("Ok")})]});if(t.button.accept){this.widget.content.widgets.forEach(((e,t)=>{if(e instanceof s.CodeCell&&e.isPlaceholder()){this.widget.content.renderCellOutputs(t)}}))}else{return false}}return t}_addCellProvider(e){var t,n;const i=this.widget.content.widgets[e];const o=(0,s.createCellSearchProvider)(i);a.ArrayExt.insert(this._searchProviders,e,o);void o.setIsActive(!((n=(t=this._filters)===null||t===void 0?void 0:t.selection)!==null&&n!==void 0?n:false)||this.widget.content.isSelectedOrActive(i)).then((()=>{if(this._searchActive){void o.startQuery(this._query,this._filters)}}))}_removeCellProvider(e){const t=a.ArrayExt.removeAt(this._searchProviders,e);t===null||t===void 0?void 0:t.dispose()}async _onCellsChanged(e,t){switch(t.type){case"add":t.newValues.forEach(((e,n)=>{this._addCellProvider(t.newIndex+n)}));break;case"move":a.ArrayExt.move(this._searchProviders,t.oldIndex,t.newIndex);break;case"remove":for(let e=0;e<t.oldValues.length;e++){this._removeCellProvider(t.oldIndex)}break;case"set":t.newValues.forEach(((e,n)=>{this._addCellProvider(t.newIndex+n);this._removeCellProvider(t.newIndex+n+1)}));break;case"clear":for(let e=this._searchProviders.length-1;e>=0;e--){this._removeCellProvider(e)}break}this._stateChanged.emit()}async _stepNext(e=false,t=false,n){var i;const s=async e=>{var t;const i=(t=n===null||n===void 0?void 0:n.scroll)!==null&&t!==void 0?t:true;if(!i){return}this._selectionLock=true;if(this.widget.content.activeCellIndex!==this._currentProviderIndex){this.widget.content.activeCellIndex=this._currentProviderIndex}if(this.widget.content.activeCellIndex===-1){console.warn("No active cell (no cells or no model), aborting search");this._selectionLock=false;return}const s=this.widget.content.activeCell;if(!s.inViewport){try{await this.widget.content.scrollToItem(this._currentProviderIndex)}catch(r){}}if(s.inputHidden){s.inputHidden=false}if(!s.inViewport){this._selectionLock=false;return}await s.ready;const o=s.editor;o.revealPosition(o.getPositionAt(e.position));this._selectionLock=false};if(this._currentProviderIndex===null){this._currentProviderIndex=this.widget.content.activeCellIndex}if(e&&this.widget.content.mode==="command"){const e=this._searchProviders[this._currentProviderIndex];const n=e.getCurrentMatch();if(!n){this._currentProviderIndex-=1}if(t){this._currentProviderIndex=(this._currentProviderIndex+this._searchProviders.length)%this._searchProviders.length}}const o=(i=n===null||n===void 0?void 0:n.from)!==null&&i!==void 0?i:"";const r=o==="previous-match"&&this._searchProviders[this._currentProviderIndex].currentMatchIndex===null;const a=this._currentProviderIndex;if(r){void this._searchProviders[this._currentProviderIndex].clearHighlight()}if(t&&r&&this._currentProviderIndex+1>=this._searchProviders.length){this._currentProviderIndex=0}else{this._currentProviderIndex+=r?1:0}do{const i=this._searchProviders[this._currentProviderIndex];const o=e?await i.highlightPrevious(false,n):await i.highlightNext(false,n);if(o){await s(o);return o}else{this._currentProviderIndex=this._currentProviderIndex+(e?-1:1);if(t){this._currentProviderIndex=(this._currentProviderIndex+this._searchProviders.length)%this._searchProviders.length}}}while(t?this._currentProviderIndex!==a:0<=this._currentProviderIndex&&this._currentProviderIndex<this._searchProviders.length);if(t){const t=this._searchProviders[a];const i=e?await t.highlightPrevious(false,n):await t.highlightNext(false,n);if(i){await s(i);return i}}this._currentProviderIndex=null;return null}async _onActiveCellChanged(){if(this._delayedActiveCellChangeHandler!==null){clearTimeout(this._delayedActiveCellChangeHandler);this._delayedActiveCellChangeHandler=null}if(this.widget.content.activeCellIndex!==this._currentProviderIndex){this._delayedActiveCellChangeHandler=window.setTimeout((()=>{this.delayedActiveCellChangeHandlerReady=this._handleHighlightsAfterActiveCellChange()}),0)}this._observeActiveCell()}async _handleHighlightsAfterActiveCellChange(){if(this._onSelection){const e=this._currentProviderIndex!==null&&this._currentProviderIndex<this.widget.content.widgets.length?this.widget.content.widgets[this._currentProviderIndex]:null;const t=e&&this.widget.content.isSelectedOrActive(e);if(!t){await this._updateCellSelection();await this.clearHighlight();this._currentProviderIndex=this.widget.content.activeCellIndex}}await this._ensureCurrentMatch()}async _ensureCurrentMatch(){if(this._currentProviderIndex!==null){const e=this._searchProviders[this._currentProviderIndex];if(!e){return}const t=e.getCurrentMatch();if(!t&&this.matchesCount){await this.highlightNext(true,{from:"start",scroll:false,select:false})}}}_observeActiveCell(){var e;const t=(e=this.widget.content.activeCell)===null||e===void 0?void 0:e.editor;if(!t){return}this._stopObservingLastCell();t.model.selections.changed.connect(this._setSelectedLines,this);this._editorSelectionsObservable=t.model.selections}_stopObservingLastCell(){if(this._editorSelectionsObservable){this._editorSelectionsObservable.changed.disconnect(this._setSelectedLines,this)}}_setSelectedLines(){var e;const t=(e=this.widget.content.activeCell)===null||e===void 0?void 0:e.editor;if(!t){return}const n=t.getSelection();const{start:i,end:s}=n;const o=s.line===i.line&&s.column===i.column?0:s.line-i.line+1;this._textSelection=n;if(o!==this._selectedLines){this._selectedLines=o;this._updateSelectionMode()}this._filtersChanged.emit()}async _setEnginesSelectionSearchMode(){let e;if(!this._onSelection){e=false}else{e=this._selectionSearchMode==="text"}if(this._selectionLock){return}await Promise.all(this._searchProviders.map(((t,n)=>{const i=this.widget.content.activeCellIndex===n;t.setProtectSelection(i&&this._onSelection);return t.setSearchSelection(i&&e?this._textSelection:null)})))}async _onCellSelectionChanged(){if(this._delayedActiveCellChangeHandler!==null){clearTimeout(this._delayedActiveCellChangeHandler);this._delayedActiveCellChangeHandler=null}await this._updateCellSelection();if(this._currentProviderIndex===null){const e=this.widget.content.widgets.findIndex((e=>this.widget.content.isSelectedOrActive(e)));this._currentProviderIndex=e}await this._ensureCurrentMatch()}async _updateCellSelection(){const e=this.widget.content.widgets;let t=0;await Promise.all(e.map((async(e,n)=>{const i=this._searchProviders[n];const s=this.widget.content.isSelectedOrActive(e);if(s){t+=1}if(i&&this._onSelection){await i.setIsActive(s)}})));if(t!==this._selectedCells){this._selectedCells=t;this._updateSelectionMode()}this._filtersChanged.emit()}}var We;(function(e){e[e["Idle"]=-1]="Idle";e[e["Error"]=-.5]="Error";e[e["Scheduled"]=0]="Scheduled";e[e["Running"]=1]="Running"})(We||(We={}));class He extends K.TableOfContentsModel{constructor(e,t,n,i){super(e,i);this.parser=t;this.sanitizer=n;this.configMetadataMap={numberHeaders:["toc-autonumbering","toc/number_sections"],numberingH1:["!toc/skip_h1_title"],baseNumbering:["toc/base_numbering"]};this._runningCells=new Array;this._errorCells=new Array;this._cellToHeadingIndex=new WeakMap;void e.context.ready.then((()=>{this.setConfiguration({})}));this.widget.context.model.metadataChanged.connect(this.onMetadataChanged,this);this.widget.content.activeCellChanged.connect(this.onActiveCellChanged,this);f.executionScheduled.connect(this.onExecutionScheduled,this);f.executed.connect(this.onExecuted,this);f.outputCleared.connect(this.onOutputCleared,this);this.headingsChanged.connect(this.onHeadingsChanged,this)}get documentType(){return"notebook"}get isAlwaysActive(){return true}get supportedOptions(){return["baseNumbering","maximalDepth","numberingH1","numberHeaders","includeOutput","syncCollapseState"]}getCellHeadings(e){const t=new Array;let n=this._cellToHeadingIndex.get(e);if(n!==undefined){const e=this.headings[n];t.push(e);while(this.headings[n-1]&&this.headings[n-1].cellRef===e.cellRef){n--;t.unshift(this.headings[n])}}return t}dispose(){var e,t,n;if(this.isDisposed){return}this.headingsChanged.disconnect(this.onHeadingsChanged,this);(t=(e=this.widget.context)===null||e===void 0?void 0:e.model)===null||t===void 0?void 0:t.metadataChanged.disconnect(this.onMetadataChanged,this);(n=this.widget.content)===null||n===void 0?void 0:n.activeCellChanged.disconnect(this.onActiveCellChanged,this);f.executionScheduled.disconnect(this.onExecutionScheduled,this);f.executed.disconnect(this.onExecuted,this);f.outputCleared.disconnect(this.onOutputCleared,this);this._runningCells.length=0;this._errorCells.length=0;super.dispose()}setConfiguration(e){const t=this.loadConfigurationFromMetadata();super.setConfiguration({...this.configuration,...t,...e})}toggleCollapse(e){super.toggleCollapse(e);this.updateRunningStatus(this.headings)}async getHeadings(){const e=this.widget.content.widgets;const t=[];const n=new Array;for(let i=0;i<e.length;i++){const s=e[i];const o=s.model;switch(o.type){case"code":{if(!this.configuration.syncCollapseState&&this.configuration.includeOutput){t.push(...K.TableOfContentsUtils.filterHeadings(await s.getHeadings(),this.configuration,n).map((e=>({...e,cellRef:s,collapsed:false,isRunning:We.Idle}))))}break}case"markdown":{const e=K.TableOfContentsUtils.filterHeadings(await s.getHeadings(),this.configuration,n).map(((e,t)=>({...e,cellRef:s,collapsed:false,isRunning:We.Idle})));if(this.configuration.syncCollapseState&&s.headingCollapsed){const t=Math.min(...e.map((e=>e.level)));const n=e.find((e=>e.level===t));n.collapsed=s.headingCollapsed}t.push(...e);break}}if(t.length>0){this._cellToHeadingIndex.set(s,t.length-1)}else{this._cellToHeadingIndex.delete(s)}}this.updateRunningStatus(t);return Promise.resolve(t)}isHeadingEqual(e,t){return super.isHeadingEqual(e,t)&&e.cellRef===t.cellRef}loadConfigurationFromMetadata(){const e=this.widget.content.model;const t={};if(e){for(const n in this.configMetadataMap){const i=this.configMetadataMap[n];for(const s of i){let i=s;const o=i[0]==="!";if(o){i=i.slice(1)}const r=i.split("/");let a=e.getMetadata(r[0]);for(let e=1;e<r.length;e++){a=(a!==null&&a!==void 0?a:{})[r[e]]}if(a!==undefined){if(typeof a==="boolean"&&o){a=!a}t[n]=a}}}}return t}onActiveCellChanged(e,t){const n=this.getCellHeadings(t)[0];this.setActiveHeading(n!==null&&n!==void 0?n:null,false)}onHeadingsChanged(){if(this.widget.content.activeCell){this.onActiveCellChanged(this.widget.content,this.widget.content.activeCell)}}onExecuted(e,t){this._runningCells.forEach(((e,n)=>{var i;if(e===t.cell){this._runningCells.splice(n,1);const s=this._cellToHeadingIndex.get(e);if(s!==undefined){const n=this.headings[s];if(t.success||((i=t.error)===null||i===void 0?void 0:i.errorName)===undefined){n.isRunning=We.Idle;return}n.isRunning=We.Error;if(!this._errorCells.includes(e)){this._errorCells.push(e)}}}}));this.updateRunningStatus(this.headings);this.stateChanged.emit()}onExecutionScheduled(e,t){if(!this._runningCells.includes(t.cell)){this._runningCells.push(t.cell)}this._errorCells.forEach(((e,n)=>{if(e===t.cell){this._errorCells.splice(n,1)}}));this.updateRunningStatus(this.headings);this.stateChanged.emit()}onOutputCleared(e,t){this._errorCells.forEach(((e,n)=>{if(e===t.cell){this._errorCells.splice(n,1);const t=this._cellToHeadingIndex.get(e);if(t!==undefined){const e=this.headings[t];e.isRunning=We.Idle}}}));this.updateRunningStatus(this.headings);this.stateChanged.emit()}onMetadataChanged(){this.setConfiguration({})}updateRunningStatus(e){this._runningCells.forEach(((e,t)=>{const n=this._cellToHeadingIndex.get(e);if(n!==undefined){const e=this.headings[n];if(e.isRunning!==We.Running){e.isRunning=t>0?We.Scheduled:We.Running}}}));this._errorCells.forEach(((e,t)=>{const n=this._cellToHeadingIndex.get(e);if(n!==undefined){const e=this.headings[n];if(e.isRunning===We.Idle){e.isRunning=We.Error}}}));let t=0;while(t<e.length){const i=e[t];t++;if(i.collapsed){const t=Math.max(i.isRunning,n(e,i.level));i.dataset={...i.dataset,"data-running":t.toString()}}else{i.dataset={...i.dataset,"data-running":i.isRunning.toString()}}}function n(e,i){let s=We.Idle;while(t<e.length){const o=e[t];o.dataset={...o.dataset,"data-running":o.isRunning.toString()};if(o.level>i){t++;s=Math.max(o.isRunning,s);if(o.collapsed){s=Math.max(s,n(e,o.level));o.dataset={...o.dataset,"data-running":s.toString()}}}else{break}}return s}}}class Ve extends K.TableOfContentsFactory{constructor(e,t,n){super(e);this.parser=t;this.sanitizer=n;this._scrollToTop=true}get scrollToTop(){return this._scrollToTop}set scrollToTop(e){this._scrollToTop=e}_createNew(e,t){const n=new He(e,this.parser,this.sanitizer,t);let i=new WeakMap;const o=(t,n)=>{if(n){const t=async t=>{if(!t.inViewport){return}const s=i.get(n);if(s){if(this.scrollToTop){s.scrollIntoView({block:"start"})}else{const t=e.content.node.getBoundingClientRect();const n=s.getBoundingClientRect();if(n.top>t.bottom||n.bottom<t.top){s.scrollIntoView({block:"center"})}}}else{console.debug("scrolling to heading: using fallback strategy");await e.content.scrollToItem(e.content.activeCellIndex,this.scrollToTop?"start":undefined,0)}};const s=n.cellRef;const o=e.content.widgets;const r=o.indexOf(s);if(s.model.type=="markdown"&&e.content.mode!="command"){e.content.mode="command"}e.content.activeCellIndex=r;if(s.inViewport){t(s).catch((e=>{console.error(`Fail to scroll to cell to display the required heading (${e}).`)}))}else{e.content.scrollToItem(r,this.scrollToTop?"start":undefined).then((()=>t(s))).catch((e=>{console.error(`Fail to scroll to cell to display the required heading (${e}).`)}))}}};const r=e=>{n.getCellHeadings(e).forEach((async e=>{var t,n,s;const o=await Ue(e,this.parser,this.sanitizer);const r=((t=this.sanitizer.allowNamedProperties)!==null&&t!==void 0?t:false)?"id":"data-jupyter-id";const a=o?`h${e.level}[${r}="${CSS.escape(o)}"]`:`h${e.level}`;if(e.outputIndex!==undefined){i.set(e,K.TableOfContentsUtils.addPrefix(e.cellRef.outputArea.widgets[e.outputIndex].node,a,(n=e.prefix)!==null&&n!==void 0?n:""))}else{i.set(e,K.TableOfContentsUtils.addPrefix(e.cellRef.node,a,(s=e.prefix)!==null&&s!==void 0?s:""))}}))};const a=t=>{if(!this.parser){return}K.TableOfContentsUtils.clearNumbering(e.content.node);i=new WeakMap;e.content.widgets.forEach((e=>{r(e)}))};const l=(t,i)=>{var o,r,a,l;if(n.configuration.syncCollapseState){if(i!==null){const e=i.cellRef;if(e.headingCollapsed!==((o=i.collapsed)!==null&&o!==void 0?o:false)){e.headingCollapsed=(r=i.collapsed)!==null&&r!==void 0?r:false}}else{const t=(l=(a=n.headings[0])===null||a===void 0?void 0:a.collapsed)!==null&&l!==void 0?l:false;e.content.widgets.forEach((e=>{if(e instanceof s.MarkdownCell){if(e.headingInfo.level>=0){e.headingCollapsed=t}}}))}}};const d=(e,t)=>{if(n.configuration.syncCollapseState){const e=n.getCellHeadings(t)[0];if(e){n.toggleCollapse({heading:e,collapsed:t.headingCollapsed})}}};const c=(e,t)=>{if(t.inViewport){r(t)}else{K.TableOfContentsUtils.clearNumbering(t.node)}};void e.context.ready.then((()=>{a(n);n.activeHeadingChanged.connect(o);n.headingsChanged.connect(a);n.collapseChanged.connect(l);e.content.cellCollapsed.connect(d);e.content.cellInViewportChanged.connect(c);e.disposed.connect((()=>{n.activeHeadingChanged.disconnect(o);n.headingsChanged.disconnect(a);n.collapseChanged.disconnect(l);e.content.cellCollapsed.disconnect(d);e.content.cellInViewportChanged.disconnect(c)}))}));return n}}async function Ue(e,t,n){let i=null;if(e.type===s.Cell.HeadingType.Markdown){i=await K.TableOfContentsUtils.Markdown.getHeadingId(t,e.raw,e.level,n)}else if(e.type===s.Cell.HeadingType.HTML){i=e.id}return i}const qe=new l.Token("@jupyterlab/notebook:INotebookWidgetFactory","A service to create the notebook viewer.");const $e=new l.Token("@jupyterlab/notebook:INotebookTools",`A service for the "Notebook Tools" panel in the\n right sidebar. Use this to add your own functionality to the panel.`);const Ke=new l.Token("@jupyterlab/notebook:INotebookTracker",`A widget tracker for notebooks.\n Use this if you want to be able to iterate over and interact with notebooks\n created by the application.`);const Je=new l.Token("@jupyterlab/notebook:INotebookCellExecutor",`The notebook cell executor`);class Ge extends i.WidgetTracker{constructor(){super(...arguments);this._activeCell=null;this._activeCellChanged=new d.Signal(this);this._selectionChanged=new d.Signal(this)}get activeCell(){const e=this.currentWidget;if(!e){return null}return e.content.activeCell||null}get activeCellChanged(){return this._activeCellChanged}get selectionChanged(){return this._selectionChanged}add(e){const t=super.add(e);e.content.activeCellChanged.connect(this._onActiveCellChanged,this);e.content.selectionChanged.connect(this._onSelectionChanged,this);return t}dispose(){this._activeCell=null;super.dispose()}onCurrentChanged(e){const t=this.activeCell;if(t&&t===this._activeCell){return}this._activeCell=t;if(!e){return}this._activeCellChanged.emit(e.content.activeCell||null)}_onActiveCellChanged(e,t){if(this.currentWidget&&this.currentWidget.content===e){this._activeCell=t||null;this._activeCellChanged.emit(this._activeCell)}}_onSelectionChanged(e){if(this.currentWidget&&this.currentWidget.content===e){this._selectionChanged.emit(void 0)}}}const Ye="jp-StatusItem-trust";function Xe(e,t){t=t||r.nullTranslator;const n=t.load("jupyterlab");if(e.trustedCells===e.totalCells){return n.__("Notebook trusted: %1 of %2 code cells trusted.",e.trustedCells,e.totalCells)}else if(e.activeCellTrusted){return n.__("Active cell trusted: %1 of %2 code cells trusted.",e.trustedCells,e.totalCells)}else{return n.__("Notebook not trusted: %1 of %2 code cells trusted.",e.trustedCells,e.totalCells)}}function Qe(e){if(e.allCellsTrusted){return h().createElement(y.trustedIcon.react,{top:"2px",stylesheet:"statusBar"})}else{return h().createElement(y.notTrustedIcon.react,{top:"2px",stylesheet:"statusBar"})}}class Ze extends y.VDomRenderer{constructor(e){super(new Ze.Model);this.translator=e||r.nullTranslator;this.node.classList.add(Ye)}render(){if(!this.model){return null}const e=Xe(this.model,this.translator);if(e!==this.node.title){this.node.title=e}return h().createElement(Qe,{allCellsTrusted:this.model.trustedCells===this.model.totalCells,activeCellTrusted:this.model.activeCellTrusted,totalCells:this.model.totalCells,trustedCells:this.model.trustedCells})}}(function(e){class t extends y.VDomModel{constructor(){super(...arguments);this._trustedCells=0;this._totalCells=0;this._activeCellTrusted=false;this._notebook=null}get trustedCells(){return this._trustedCells}get totalCells(){return this._totalCells}get activeCellTrusted(){return this._activeCellTrusted}get notebook(){return this._notebook}set notebook(e){const t=this._notebook;if(t!==null){t.activeCellChanged.disconnect(this._onActiveCellChanged,this);t.modelContentChanged.disconnect(this._onModelChanged,this)}const n=this._getAllState();this._notebook=e;if(this._notebook===null){this._trustedCells=0;this._totalCells=0;this._activeCellTrusted=false}else{this._notebook.activeCellChanged.connect(this._onActiveCellChanged,this);this._notebook.modelContentChanged.connect(this._onModelChanged,this);if(this._notebook.activeCell){this._activeCellTrusted=this._notebook.activeCell.model.trusted}else{this._activeCellTrusted=false}const{total:e,trusted:t}=this._deriveCellTrustState(this._notebook.model);this._totalCells=e;this._trustedCells=t}this._triggerChange(n,this._getAllState())}_onModelChanged(e){const t=this._getAllState();const{total:n,trusted:i}=this._deriveCellTrustState(e.model);this._totalCells=n;this._trustedCells=i;this._triggerChange(t,this._getAllState())}_onActiveCellChanged(e,t){const n=this._getAllState();if(t){this._activeCellTrusted=t.model.trusted}else{this._activeCellTrusted=false}this._triggerChange(n,this._getAllState())}_deriveCellTrustState(e){if(e===null){return{total:0,trusted:0}}let t=0;let n=0;for(const i of e.cells){if(i.type!=="code"){continue}t++;if(i.trusted){n++}}return{total:t,trusted:n}}_getAllState(){return[this._trustedCells,this._totalCells,this.activeCellTrusted]}_triggerChange(e,t){if(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]){this.stateChanged.emit(void 0)}}}e.Model=t})(Ze||(Ze={}));class et extends $.ABCWidgetFactory{constructor(e){super(e);this.rendermime=e.rendermime;this.contentFactory=e.contentFactory;this.mimeTypeService=e.mimeTypeService;this._editorConfig=e.editorConfig||De.defaultEditorConfig;this._notebookConfig=e.notebookConfig||De.defaultNotebookConfig}get editorConfig(){return this._editorConfig}set editorConfig(e){this._editorConfig=e}get notebookConfig(){return this._notebookConfig}set notebookConfig(e){this._notebookConfig=e}createNewWidget(e,t){const n=e.translator;const i=new E({sessionContext:e.sessionContext,translator:n});const s={rendermime:t?t.content.rendermime:this.rendermime.clone({resolver:e.urlResolver}),contentFactory:this.contentFactory,mimeTypeService:this.mimeTypeService,editorConfig:t?t.content.editorConfig:this._editorConfig,notebookConfig:t?t.content.notebookConfig:this._notebookConfig,translator:n,kernelHistory:i};const o=this.contentFactory.createNotebook(s);return new Oe({context:e,content:o})}}},28006:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(24800);var r=n(97913);var a=n(5893);var l=n(38457);var d=n(17325);var c=n(19562);var h=n(23359);var u=n(79010);var p=n(66731);var m=n(53377);var g=n(13137);var f=n(85072);var v=n.n(f);var _=n(97825);var b=n.n(_);var y=n(77659);var w=n.n(y);var C=n(55056);var x=n.n(C);var S=n(10540);var j=n.n(S);var k=n(41113);var I=n.n(k);var T=n(30979);var E={};E.styleTagTransform=I();E.setAttributes=x();E.insert=w().bind(null,"head");E.domAPI=b();E.insertStyleElement=j();var M=v()(T.A,E);const D=T.A&&T.A.locals?T.A.locals:undefined},56701:(e,t,n)=>{"use strict";n.r(t);n.d(t,{ModelDB:()=>f,ObservableJSON:()=>d,ObservableList:()=>u,ObservableMap:()=>a,ObservableString:()=>c,ObservableUndoableList:()=>m,ObservableValue:()=>g});var i=n(5592);var s=n(90044);var o=n(2336);var r=n(42856);class a{constructor(e={}){this._map=new Map;this._changed=new o.Signal(this);this._isDisposed=false;this._itemCmp=e.itemCmp||l.itemCmp;if(e.values){for(const t in e.values){this._map.set(t,e.values[t])}}}get type(){return"Map"}get changed(){return this._changed}get isDisposed(){return this._isDisposed}get size(){return this._map.size}set(e,t){const n=this._map.get(e);if(t===undefined){throw Error("Cannot set an undefined value, use remove")}const i=this._itemCmp;if(n!==undefined&&i(n,t)){return n}this._map.set(e,t);this._changed.emit({type:n?"change":"add",key:e,oldValue:n,newValue:t});return n}get(e){return this._map.get(e)}has(e){return this._map.has(e)}keys(){const e=[];this._map.forEach(((t,n)=>{e.push(n)}));return e}values(){const e=[];this._map.forEach(((t,n)=>{e.push(t)}));return e}delete(e){const t=this._map.get(e);const n=this._map.delete(e);if(n){this._changed.emit({type:"remove",key:e,oldValue:t,newValue:undefined})}return t}clear(){const e=this.keys();for(let t=0;t<e.length;t++){this.delete(e[t])}}dispose(){if(this.isDisposed){return}this._isDisposed=true;o.Signal.clearData(this);this._map.clear()}}var l;(function(e){function t(e,t){return e===t}e.itemCmp=t})(l||(l={}));class d extends a{constructor(e={}){super({itemCmp:i.JSONExt.deepEqual,values:e.values})}toJSON(){const e=Object.create(null);const t=this.keys();for(const n of t){const t=this.get(n);if(t!==undefined){e[n]=i.JSONExt.deepCopy(t)}}return e}}(function(e){class t extends r.Message{constructor(e,t){super(e);this.args=t}}e.ChangeMessage=t})(d||(d={}));class c{constructor(e=""){this._text="";this._isDisposed=false;this._changed=new o.Signal(this);this._text=e}get type(){return"String"}get changed(){return this._changed}set text(e){if(e.length===this._text.length&&e===this._text){return}this._text=e;this._changed.emit({type:"set",start:0,end:e.length,value:e})}get text(){return this._text}insert(e,t,n){this._text=this._text.slice(0,e)+t+this._text.slice(e);this._changed.emit({type:"insert",start:e,end:e+t.length,value:t,options:n})}remove(e,t,n){const i=this._text.slice(e,t);this._text=this._text.slice(0,e)+this._text.slice(t);this._changed.emit({type:"remove",start:e,end:t,value:i,options:n})}clear(){this.text=""}get isDisposed(){return this._isDisposed}dispose(){if(this._isDisposed){return}this._isDisposed=true;o.Signal.clearData(this);this.clear()}}var h=n(34236);class u{constructor(e={}){this._array=[];this._isDisposed=false;this._changed=new o.Signal(this);if(e.values){for(const t of e.values){this._array.push(t)}}this._itemCmp=e.itemCmp||p.itemCmp}get type(){return"List"}get changed(){return this._changed}get length(){return this._array.length}get isDisposed(){return this._isDisposed}dispose(){if(this._isDisposed){return}this._isDisposed=true;o.Signal.clearData(this);this.clear()}[Symbol.iterator](){return this._array[Symbol.iterator]()}get(e){return this._array[e]}set(e,t){const n=this._array[e];if(t===undefined){throw new Error("Cannot set an undefined item")}const i=this._itemCmp;if(i(n,t)){return}this._array[e]=t;this._changed.emit({type:"set",oldIndex:e,newIndex:e,oldValues:[n],newValues:[t]})}push(e){const t=this._array.push(e);this._changed.emit({type:"add",oldIndex:-1,newIndex:this.length-1,oldValues:[],newValues:[e]});return t}insert(e,t){if(e===this._array.length){this._array.push(t)}else{h.ArrayExt.insert(this._array,e,t)}this._changed.emit({type:"add",oldIndex:-2,newIndex:e,oldValues:[],newValues:[t]})}removeValue(e){const t=this._itemCmp;const n=h.ArrayExt.findFirstIndex(this._array,(n=>t(n,e)));if(n<0)return n;this.remove(n);return n}remove(e){const t=h.ArrayExt.removeAt(this._array,e);if(t===undefined){return}this._changed.emit({type:"remove",oldIndex:e,newIndex:-1,newValues:[],oldValues:[t]});return t}clear(){const e=this._array.slice();this._array.length=0;this._changed.emit({type:"clear",oldIndex:0,newIndex:0,newValues:[],oldValues:e})}move(e,t){if(this.length<=1||e===t){return}const n=[this._array[e]];h.ArrayExt.move(this._array,e,t);this._changed.emit({type:"move",oldIndex:e,newIndex:t,oldValues:n,newValues:n})}pushAll(e){const t=this.length;for(const n of e){this._array.push(n)}this._changed.emit({type:"add",oldIndex:-1,newIndex:t,oldValues:[],newValues:Array.from(e)});return this.length}insertAll(e,t){const n=e;for(const i of t){h.ArrayExt.insert(this._array,e++,i)}this._changed.emit({type:"add",oldIndex:-2,newIndex:n,oldValues:[],newValues:Array.from(t)})}removeRange(e,t){const n=this._array.slice(e,t);for(let i=e;i<t;i++){h.ArrayExt.removeAt(this._array,e)}this._changed.emit({type:"remove",oldIndex:e,newIndex:-1,oldValues:n,newValues:[]});return this.length}}var p;(function(e){function t(e,t){return e===t}e.itemCmp=t})(p||(p={}));class m extends u{constructor(e){super();this._inCompound=false;this._isUndoable=true;this._madeCompoundChange=false;this._index=-1;this._stack=[];this._serializer=e;this.changed.connect(this._onListChanged,this)}get canRedo(){return this._index<this._stack.length-1}get canUndo(){return this._index>=0}beginCompoundOperation(e){this._inCompound=true;this._isUndoable=e!==false;this._madeCompoundChange=false}endCompoundOperation(){this._inCompound=false;this._isUndoable=true;if(this._madeCompoundChange){this._index++}}undo(){if(!this.canUndo){return}const e=this._stack[this._index];this._isUndoable=false;for(const t of e.reverse()){this._undoChange(t)}this._isUndoable=true;this._index--}redo(){if(!this.canRedo){return}this._index++;const e=this._stack[this._index];this._isUndoable=false;for(const t of e){this._redoChange(t)}this._isUndoable=true}clearUndo(){this._index=-1;this._stack=[]}_onListChanged(e,t){if(this.isDisposed||!this._isUndoable){return}if(!this._inCompound||!this._madeCompoundChange){this._stack=this._stack.slice(0,this._index+1)}const n=this._copyChange(t);if(this._stack[this._index+1]){this._stack[this._index+1].push(n)}else{this._stack.push([n])}if(!this._inCompound){this._index++}else{this._madeCompoundChange=true}}_undoChange(e){let t=0;const n=this._serializer;switch(e.type){case"add":for(let t=e.newValues.length;t>0;t--){this.remove(e.newIndex)}break;case"set":t=e.oldIndex;for(const i of e.oldValues){this.set(t++,n.fromJSON(i))}break;case"remove":t=e.oldIndex;for(const i of e.oldValues){this.insert(t++,n.fromJSON(i))}break;case"move":this.move(e.newIndex,e.oldIndex);break;case"clear":t=0;for(const i of e.oldValues){this.insert(t++,n.fromJSON(i))}break;default:return}}_redoChange(e){let t=0;const n=this._serializer;switch(e.type){case"add":t=e.newIndex;for(const i of e.newValues){this.insert(t++,n.fromJSON(i))}break;case"set":t=e.newIndex;for(const t of e.newValues){this.set(e.newIndex++,n.fromJSON(t))}break;case"remove":for(let t=e.oldValues.length;t>0;t--){this.remove(e.oldIndex)}break;case"move":this.move(e.oldIndex,e.newIndex);break;case"clear":this.clear();break;default:return}}_copyChange(e){const t=[];for(const i of e.oldValues){t.push(this._serializer.toJSON(i))}const n=[];for(const i of e.newValues){n.push(this._serializer.toJSON(i))}return{type:e.type,oldIndex:e.oldIndex,newIndex:e.newIndex,oldValues:t,newValues:n}}}(function(e){class t{toJSON(e){return e}fromJSON(e){return e}}e.IdentitySerializer=t})(m||(m={}));class g{constructor(e=null){this._value=null;this._changed=new o.Signal(this);this._isDisposed=false;this._value=e}get type(){return"Value"}get isDisposed(){return this._isDisposed}get changed(){return this._changed}get(){return this._value}set(e){const t=this._value;if(i.JSONExt.deepEqual(t,e)){return}this._value=e;this._changed.emit({oldValue:t,newValue:e})}dispose(){if(this._isDisposed){return}this._isDisposed=true;o.Signal.clearData(this);this._value=null}}(function(e){class t{}e.IChangedArgs=t})(g||(g={}));class f{constructor(e={}){this.isPrepopulated=false;this.isCollaborative=false;this.connected=Promise.resolve(void 0);this._toDispose=false;this._isDisposed=false;this._disposables=new s.DisposableSet;this._basePath=e.basePath||"";if(e.baseDB){this._db=e.baseDB}else{this._db=new a;this._toDispose=true}}get basePath(){return this._basePath}get isDisposed(){return this._isDisposed}get(e){return this._db.get(this._resolvePath(e))}has(e){return this._db.has(this._resolvePath(e))}createString(e){const t=new c;this._disposables.add(t);this.set(e,t);return t}createList(e){const t=new m(new m.IdentitySerializer);this._disposables.add(t);this.set(e,t);return t}createMap(e){const t=new d;this._disposables.add(t);this.set(e,t);return t}createValue(e){const t=new g;this._disposables.add(t);this.set(e,t);return t}getValue(e){const t=this.get(e);if(!t||t.type!=="Value"){throw Error("Can only call getValue for an ObservableValue")}return t.get()}setValue(e,t){const n=this.get(e);if(!n||n.type!=="Value"){throw Error("Can only call setValue on an ObservableValue")}n.set(t)}view(e){const t=new f({basePath:e,baseDB:this});this._disposables.add(t);return t}set(e,t){this._db.set(this._resolvePath(e),t)}dispose(){if(this.isDisposed){return}this._isDisposed=true;if(this._toDispose){this._db.dispose()}this._disposables.dispose()}_resolvePath(e){if(this._basePath){e=this._basePath+"."+e}return e}}},66990:(e,t,n)=>{"use strict";n.r(t);n.d(t,{OutputArea:()=>T,OutputAreaModel:()=>d,OutputPrompt:()=>M,SimplifiedOutputArea:()=>E,Stdin:()=>D});var i=n(72363);var s=n(23230);var o=n(95513);var r=n(34236);var a=n(5592);var l=n(2336);class d{constructor(e={}){this.clearNext=false;this._lastStreamName="";this._trusted=false;this._isDisposed=false;this._stateChanged=new l.Signal(this);this._changed=new l.Signal(this);this._streamIndex=0;this._trusted=!!e.trusted;this.contentFactory=e.contentFactory||d.defaultContentFactory;this.list=new s.ObservableList;if(e.values){for(const t of e.values){const e=this._add(t)-1;const n=this.list.get(e);n.changed.connect(this._onGenericChange,this)}}this.list.changed.connect(this._onListChanged,this)}get stateChanged(){return this._stateChanged}get changed(){return this._changed}get length(){return this.list?this.list.length:0}get trusted(){return this._trusted}set trusted(e){if(e===this._trusted){return}const t=this._trusted=e;for(let n=0;n<this.list.length;n++){const e=this.list.get(n);const i=e.toJSON();const s=this._createItem({value:i,trusted:t});this.list.set(n,s);e.dispose()}}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;this.list.dispose();l.Signal.clearData(this)}get(e){return this.list.get(e)}set(e,t){t=a.JSONExt.deepCopy(t);c.normalize(t);const n=this._createItem({value:t,trusted:this._trusted});this.list.set(e,n)}removeStreamOutput(e){const t=this.list.get(this.length-1);const n=t.streamText;const i=n.text.length;const s={silent:true};n.remove(i-e,i,s)}appendStreamOutput(e){const t=this.list.get(this.length-1);const n=t.streamText;const i=n.text.length;const s={silent:true};n.insert(i,e,s)}add(e){if(this.clearNext){this.clear();this.clearNext=false}return this._add(e)}remove(e){var t;(t=this.list.remove(e))===null||t===void 0?void 0:t.dispose()}clear(e=false){this._lastStreamName="";if(e){this.clearNext=true;return}for(const t of this.list){t.dispose()}this.list.clear()}fromJSON(e){this.clear();for(const t of e){this._add(t)}}toJSON(){return Array.from((0,r.map)(this.list,(e=>e.toJSON())))}_add(e){const t=this._trusted;e=a.JSONExt.deepCopy(e);c.normalize(e);if(i.isStream(e)&&e.name===this._lastStreamName&&this.length>0&&this.shouldCombine({value:e,lastModel:this.list.get(this.length-1)})){const t=this.list.get(this.length-1);const n=t.streamText;const i=typeof e.text==="string"?e.text:e.text.join("");this._streamIndex=c.addText(this._streamIndex,n,i);return this.length}if(i.isStream(e)){if(typeof e.text!=="string"){e.text=e.text.join("")}const{text:t,index:n}=c.processText(0,e.text);this._streamIndex=n;e.text=t}const n=this._createItem({value:e,trusted:t});const s=this.list.push(n);if(i.isStream(e)){this._lastStreamName=e.name}else{this._lastStreamName=""}return s}shouldCombine(e){return true}_createItem(e){const t=this.contentFactory;const n=t.createOutputModel(e);return n}_onListChanged(e,t){switch(t.type){case"add":t.newValues.forEach((e=>{e.changed.connect(this._onGenericChange,this)}));break;case"remove":t.oldValues.forEach((e=>{e.changed.disconnect(this._onGenericChange,this)}));break;case"set":t.newValues.forEach((e=>{e.changed.connect(this._onGenericChange,this)}));t.oldValues.forEach((e=>{e.changed.disconnect(this._onGenericChange,this)}));break;case"move":break;case"clear":t.oldValues.forEach((e=>{e.changed.disconnect(this._onGenericChange,this)}));break}this._changed.emit(t)}_onGenericChange(e){let t;let n=null;for(t=0;t<this.list.length;t++){n=this.list.get(t);if(n===e){break}}if(n!=null){this._stateChanged.emit(t);this._changed.emit({type:"set",newIndex:t,oldIndex:t,oldValues:[n],newValues:[n]})}}}(function(e){class t{createOutputModel(e){return new o.OutputModel(e)}}e.ContentFactory=t;e.defaultContentFactory=new t})(d||(d={}));var c;(function(e){function t(e){if(i.isStream(e)){if(Array.isArray(e.text)){e.text=e.text.join("\n")}}}e.normalize=t;function n(e,t,n){const i=e.slice(n).search(t);return i>=0?i+n:i}function s(e,t,i){if(i===undefined){i=""}if(!(t.includes("\b")||t.includes("\r")||t.includes("\n"))){i=i.slice(0,e)+t+i.slice(e+t.length);return{text:i,index:e+t.length}}let s=e;let o=-1;let r=0;const a=/[\n\b\r]/;while(true){o=n(t,a,r);const e=t.slice(r,o===-1?t.length:o);i=i.slice(0,s)+e+i.slice(s+e.length);r=o+1;s+=e.length;if(o===-1){break}const l=t[o];if(l==="\b"){if(s>0&&i[s-1]!=="\n"){i=i.slice(0,s-1)+i.slice(s+1);s--}}else if(l==="\r"){let e=false;while(!e){if(s===0){e=true}else if(i[s-1]==="\n"){e=true}else{s--}}}else if(l==="\n"){i=i+"\n";s=i.length}else{throw Error(`This should not happen`)}}return{text:i,index:s}}e.processText=s;function o(e){return JSON.parse(JSON.stringify(e))}function r(e,t,n){const{text:i,index:r}=s(e,n,t.text);let a=false;let l=0;while(!a){if(l===i.length){if(l===t.text.length){a=true}else{t.remove(l,t.text.length);a=true}}else if(l===t.text.length){if(l!==i.length){t.insert(t.text.length,o(i.slice(l)));a=true}}else if(i[l]!==t.text[l]){t.remove(l,t.text.length);t.insert(l,o(i.slice(l)));a=true}else{l++}}return r}e.addText=r})(c||(c={}));var h=n(38850);var u=n(49278);var p=n(34881);var m=n(94466);var g=n(27518);const f="jp-OutputArea";const v="jp-OutputArea-child";const _="jp-OutputArea-output";const b="jp-OutputArea-prompt";const y="jp-OutputArea-stdin-hiding";const w="jp-OutputPrompt";const C="jp-OutputArea-executeResult";const x="jp-OutputArea-stdin-item";const S="jp-Stdin";const j="jp-Stdin-prompt";const k="jp-Stdin-input";const I="jp-OutputArea-promptOverlay";class T extends g.Widget{constructor(e){var t,n,i,s,o;super();this.outputLengthChanged=new l.Signal(this);this._onIOPub=e=>{const t=this.model;const n=e.header.msg_type;let i;const s=e.content.transient||{};const o=s["display_id"];let r;switch(n){case"execute_result":case"display_data":case"stream":case"error":i={...e.content,output_type:n};t.add(i);break;case"clear_output":{const n=e.content.wait;t.clear(n);break}case"update_display_data":i={...e.content,output_type:"display_data"};r=this._displayIdMap.get(o);if(r){for(const e of r){t.set(e,i)}}break;case"status":{const t=e.content.execution_state;if(t==="idle"){this._pendingInput=false}break}default:break}if(o&&n==="display_data"){r=this._displayIdMap.get(o)||[];r.push(t.length-1);this._displayIdMap.set(o,r)}};this._onExecuteReply=e=>{const t=this.model;const n=e.content;if(n.status!=="ok"){return}const i=n&&n.payload;if(!i||!i.length){return}const s=i.filter((e=>e.source==="page"));if(!s.length){return}const o=JSON.parse(JSON.stringify(s[0]));const r={output_type:"display_data",data:o.data,metadata:{}};t.add(r)};this._displayIdMap=new Map;this._minHeightTimeout=null;this._inputRequested=new l.Signal(this);this._toggleScrolling=new l.Signal(this);this._initialize=new l.Signal(this);this._outputTracker=new h.WidgetTracker({namespace:a.UUID.uuid4()});this._inputHistoryScope="global";this._pendingInput=false;this._showInputPlaceholder=true;super.layout=new g.PanelLayout;this.addClass(f);this.contentFactory=(t=e.contentFactory)!==null&&t!==void 0?t:T.defaultContentFactory;this.rendermime=e.rendermime;this._maxNumberOutputs=(n=e.maxNumberOutputs)!==null&&n!==void 0?n:Infinity;this._translator=(i=e.translator)!==null&&i!==void 0?i:p.nullTranslator;this._inputHistoryScope=(s=e.inputHistoryScope)!==null&&s!==void 0?s:"global";this._showInputPlaceholder=(o=e.showInputPlaceholder)!==null&&o!==void 0?o:true;const r=this.model=e.model;for(let a=0;a<Math.min(r.length,this._maxNumberOutputs+1);a++){const e=r.get(a);this._insertOutput(a,e);if(e.type==="stream"){e.streamText.changed.connect(((t,n)=>{this._setOutput(a,e)}))}}r.changed.connect(this.onModelChanged,this);r.stateChanged.connect(this.onStateChanged,this);if(e.promptOverlay){this._addPromptOverlay()}}get layout(){return super.layout}get widgets(){return this.layout.widgets}get future(){return this._future}set future(e){if(this.model.isDisposed){throw Error("Model is disposed")}if(this._future===e){return}if(this._future){this._future.dispose()}this._future=e;e.done.finally((()=>{this._pendingInput=false})).catch((()=>{}));this.model.clear();if(this.widgets.length){this._clear();this.outputLengthChanged.emit(Math.min(this.model.length,this._maxNumberOutputs))}e.onIOPub=this._onIOPub;e.onReply=this._onExecuteReply;e.onStdin=t=>{if(u.KernelMessage.isInputRequestMsg(t)){this.onInputRequest(t,e)}}}get inputRequested(){return this._inputRequested}get pendingInput(){return this._pendingInput}get maxNumberOutputs(){return this._maxNumberOutputs}set maxNumberOutputs(e){if(e<=0){console.warn(`OutputArea.maxNumberOutputs must be strictly positive.`);return}const t=this._maxNumberOutputs;this._maxNumberOutputs=e;if(t<e){this._showTrimmedOutputs(t)}}dispose(){if(this._future){this._future.dispose();this._future=null}this._displayIdMap.clear();this._outputTracker.dispose();super.dispose()}onModelChanged(e,t){switch(t.type){case"add":const e=t.newValues[0];this._insertOutput(t.newIndex,e);if(e.type==="stream"){e.streamText.changed.connect(((n,i)=>{this._setOutput(t.newIndex,e)}))}break;case"remove":if(this.widgets.length){if(this.model.length===0){this._clear()}else{const e=t.oldIndex;for(let n=0;n<t.oldValues.length&&e<this.widgets.length;++n){const t=this.widgets[e];t.parent=null;t.dispose()}this._moveDisplayIdIndices(e,t.oldValues.length);this._preventHeightChangeJitter()}}break;case"clear":this._clear();break;case"set":this._setOutput(t.newIndex,t.newValues[0]);break;default:break}this.outputLengthChanged.emit(Math.min(this.model.length,this._maxNumberOutputs))}get toggleScrolling(){return this._toggleScrolling}get initialize(){return this._initialize}_addPromptOverlay(){const e=document.createElement("div");e.className=I;e.addEventListener("click",(()=>{this._toggleScrolling.emit()}));this.node.appendChild(e);const t=()=>{const t=this.node.querySelector(".jp-OutputArea-child");if(t){e.style.height=`${Math.max(t.getBoundingClientRect().height,this.node.getBoundingClientRect().height)}px`}};const n=new ResizeObserver(t);n.observe(this.node);this.disposed.connect((()=>{n.disconnect()}));requestAnimationFrame((()=>{this._initialize.emit()}))}_moveDisplayIdIndices(e,t){this._displayIdMap.forEach((n=>{const i=e+t;const s=n.length;for(let o=s-1;o>=0;--o){const s=n[o];if(s>=e&&s<i){n.splice(o,1)}else if(s>=i){n[o]-=t}}}))}onStateChanged(e,t){const n=Math.min(this.model.length,this._maxNumberOutputs);if(t){if(t>=this._maxNumberOutputs){return}this._setOutput(t,this.model.get(t))}else{for(let e=0;e<n;e++){this._setOutput(e,this.model.get(e))}}this.outputLengthChanged.emit(n)}_clear(){if(!this.widgets.length){return}const e=this.widgets.length;for(let t=0;t<e;t++){const e=this.widgets[0];e.parent=null;e.dispose()}this._displayIdMap.clear();this._preventHeightChangeJitter()}_preventHeightChangeJitter(){const e=this.node.getBoundingClientRect();this.node.style.minHeight=`${e.height}px`;if(this._minHeightTimeout){window.clearTimeout(this._minHeightTimeout)}this._minHeightTimeout=window.setTimeout((()=>{if(this.isDisposed){return}this.node.style.minHeight=""}),50)}onInputRequest(e,t){const n=this.contentFactory;const i=e.content.prompt;const s=e.content.password;const o=new g.Panel;o.addClass(v);o.addClass(x);const r=n.createOutputPrompt();r.addClass(b);o.addWidget(r);this._pendingInput=true;const a=n.createStdin({parent_header:e.header,prompt:i,password:s,future:t,translator:this._translator,inputHistoryScope:this._inputHistoryScope,showInputPlaceholder:this._showInputPlaceholder});a.addClass(_);o.addWidget(a);if(this.model.length>=this.maxNumberOutputs){this.maxNumberOutputs=this.model.length}this._inputRequested.emit(a);const l=a.node.getElementsByTagName("input")[0];void a.value.then((e=>{if(this.model.length>=this.maxNumberOutputs){this.maxNumberOutputs=this.model.length+1}o.addClass(y);this.model.add({output_type:"stream",name:"stdin",text:e+"\n"});l.focus();this._pendingInput=false;window.setTimeout((()=>{const e=document.activeElement;o.dispose();if(e&&e instanceof HTMLElement){e.focus()}}),500)}));this.layout.addWidget(o)}_setOutput(e,t){if(e>=this._maxNumberOutputs){return}const n=this.layout.widgets[e];const i=n.widgets?n.widgets.filter((e=>"renderModel"in e)).pop():n;const s=this.rendermime.preferredMimeType(t.data,t.trusted?"any":"ensure");if(A.currentPreferredMimetype.get(i)===s&&T.isIsolated(s,t.metadata)===i instanceof A.IsolatedRenderer){void i.renderModel(t)}else{this.layout.widgets[e].dispose();this._insertOutput(e,t)}}_insertOutput(e,t){if(e>this._maxNumberOutputs){return}const n=this.layout;if(e===this._maxNumberOutputs){const t=new A.TrimmedOutputs(this._maxNumberOutputs,(()=>{const e=this._maxNumberOutputs;this._maxNumberOutputs=Infinity;this._showTrimmedOutputs(e)}),this._translator);n.insertWidget(e,this._wrappedOutput(t))}else{let i=this.createOutputItem(t);if(i){i.toggleClass(C,t.executionCount!==null)}else{i=new g.Widget}if(!this._outputTracker.has(i)){void this._outputTracker.add(i)}n.insertWidget(e,i)}}get outputTracker(){return this._outputTracker}_showTrimmedOutputs(e){this.widgets[e].dispose();for(let t=e;t<this.model.length;t++){this._insertOutput(t,this.model.get(t))}this.outputLengthChanged.emit(Math.min(this.model.length,this._maxNumberOutputs))}createOutputItem(e){const t=this.createRenderedMimetype(e);if(!t){return null}return this._wrappedOutput(t,e.executionCount)}createRenderedMimetype(e){const t=this.rendermime.preferredMimeType(e.data,e.trusted?"any":"ensure");if(!t){return null}let n=this.rendermime.createRenderer(t);const i=T.isIsolated(t,e.metadata);if(i===true){n=new A.IsolatedRenderer(n)}A.currentPreferredMimetype.set(n,t);n.renderModel(e).catch((e=>{const t=document.createElement("pre");const i=this._translator.load("jupyterlab");t.textContent=i.__("Javascript Error: %1",e.message);n.node.appendChild(t);n.node.className="lm-Widget jp-RenderedText";n.node.setAttribute("data-mime-type","application/vnd.jupyter.stderr")}));return n}_wrappedOutput(e,t=null){const n=new A.OutputPanel;n.addClass(v);const i=this.contentFactory.createOutputPrompt();i.executionCount=t;i.addClass(b);n.addWidget(i);e.addClass(_);n.addWidget(e);return n}}class E extends T{onInputRequest(e,t){return}createOutputItem(e){const t=this.createRenderedMimetype(e);if(!t){return null}const n=new A.OutputPanel;n.addClass(v);t.addClass(_);n.addWidget(t);return n}}(function(e){async function t(e,t,n,i){var s;let o=true;if(i&&Array.isArray(i.tags)&&i.tags.indexOf("raises-exception")!==-1){o=false}const r={code:e,stop_on_error:o};const a=(s=n.session)===null||s===void 0?void 0:s.kernel;if(!a){throw new Error("Session has no kernel.")}const l=a.requestExecute(r,false,i);t.future=l;return l.done}e.execute=t;function n(e,t){const n=t[e];if(n&&n["isolated"]!==undefined){return!!n["isolated"]}else{return!!t["isolated"]}}e.isIsolated=n;class i{createOutputPrompt(){return new M}createStdin(e){return new D(e)}}e.ContentFactory=i;e.defaultContentFactory=new i})(T||(T={}));class M extends g.Widget{constructor(){super();this._executionCount=null;this.addClass(w)}get executionCount(){return this._executionCount}set executionCount(e){this._executionCount=e;if(e===null){this.node.textContent=""}else{this.node.textContent=`[${e}]:`}}}class D extends g.Widget{static _historyIx(e,t){const n=D._history.get(e);if(!n){return undefined}const i=n.length;if(t<=0){return i+t}}static _historyAt(e,t){const n=D._history.get(e);if(!n){return undefined}const i=n.length;const s=D._historyIx(e,t);if(s!==undefined&&s<i){return n[s]}}static _historyPush(e,t){const n=D._history.get(e);n.push(t);if(n.length>1e3){n.shift()}}static _historySearch(e,t,n,i=true){const s=D._history.get(e);const o=s.length;const r=D._historyIx(e,n);const a=e=>e.search(t)!==-1;if(r===undefined){return}if(i){if(r===0){return}const e=s.slice(0,r).findLastIndex(a);if(e!==-1){return e-o}}else{if(r>=o-1){return}const e=s.slice(r+1).findIndex(a);if(e!==-1){return e-o+r+1}}}constructor(e){var t;super({node:A.createInputWidgetNode(e.prompt,e.password)});this._promise=new a.PromiseDelegate;this._resolved=false;this.addClass(S);this._future=e.future;this._historyIndex=0;this._historyKey=e.inputHistoryScope==="session"?e.parent_header.session:"";this._historyPat="";this._parentHeader=e.parent_header;this._password=e.password;this._trans=((t=e.translator)!==null&&t!==void 0?t:p.nullTranslator).load("jupyterlab");this._value=e.prompt+" ";this._input=this.node.getElementsByTagName("input")[0];if(e.showInputPlaceholder&&!this._password){this._input.placeholder=this._trans.__("↑↓ for history. Search history with c-↑/c-↓")}else{this._input.placeholder=""}if(!D._history.has(this._historyKey)){D._history.set(this._historyKey,[])}}get value(){return this._promise.promise.then((()=>this._value))}handleEvent(e){e.stopPropagation();if(this._resolved){e.preventDefault();return}const t=this._input;if(e.type==="keydown"){if(e.key==="Enter"){this.resetSearch();this._future.sendInputReply({status:"ok",value:t.value},this._parentHeader);if(this._password){this._value+="········"}else{this._value+=t.value;D._historyPush(this._historyKey,t.value)}this._resolved=true;this._promise.resolve(void 0)}else if(e.key==="Escape"){this.resetSearch();t.blur()}else if(e.ctrlKey&&(e.key==="ArrowUp"||e.key==="ArrowDown")){if(this._historyPat===""){this._historyPat=t.value}const n=e.key==="ArrowUp";const i=D._historySearch(this._historyKey,this._historyPat,this._historyIndex,n);if(i!==undefined){const n=D._historyAt(this._historyKey,i);if(n!==undefined){if(this._historyIndex===0){this._valueCache=t.value}this._setInputValue(n);this._historyIndex=i;e.preventDefault()}}}else if(e.key==="ArrowUp"){this.resetSearch();const n=D._historyAt(this._historyKey,this._historyIndex-1);if(n){if(this._historyIndex===0){this._valueCache=t.value}this._setInputValue(n);--this._historyIndex;e.preventDefault()}}else if(e.key==="ArrowDown"){this.resetSearch();if(this._historyIndex===0){}else if(this._historyIndex===-1){this._setInputValue(this._valueCache);++this._historyIndex}else{const e=D._historyAt(this._historyKey,this._historyIndex+1);if(e){this._setInputValue(e);++this._historyIndex}}}}}resetSearch(){this._historyPat=""}onAfterAttach(e){this._input.addEventListener("keydown",this);this._input.focus()}onBeforeDetach(e){this._input.removeEventListener("keydown",this)}_setInputValue(e){this._input.value=e;this._input.setSelectionRange(e.length,e.length)}}D._history=new Map;var A;(function(e){function t(e,t){const n=document.createElement("div");const i=document.createElement("pre");i.className=j;i.textContent=e;const s=document.createElement("input");s.className=k;if(t){s.type="password"}n.appendChild(i);i.appendChild(s);return n}e.createInputWidgetNode=t;class n extends g.Widget{constructor(e){super({node:document.createElement("iframe")});this.addClass("jp-mod-isolated");this._wrapped=e;const t=this.node;t.frameBorder="0";t.scrolling="auto";t.addEventListener("load",(()=>{t.contentDocument.open();t.contentDocument.write(this._wrapped.node.innerHTML);t.contentDocument.close();const e=t.contentDocument.body;t.style.height=`${e.scrollHeight}px`;t.heightChangeObserver=new ResizeObserver((()=>{t.style.height=`${e.scrollHeight}px`}));t.heightChangeObserver.observe(e)}))}renderModel(e){return this._wrapped.renderModel(e)}}e.IsolatedRenderer=n;e.currentPreferredMimetype=new m.AttachedProperty({name:"preferredMimetype",create:e=>""});class i extends g.Panel{constructor(e){super(e)}_onContext(e){this.node.focus()}onAfterAttach(e){super.onAfterAttach(e);this.node.addEventListener("contextmenu",this._onContext.bind(this))}onBeforeDetach(e){super.onAfterDetach(e);this.node.removeEventListener("contextmenu",this._onContext.bind(this))}}e.OutputPanel=i;class s extends g.Widget{constructor(e,t,n){const i=document.createElement("div");const s=(n!==null&&n!==void 0?n:p.nullTranslator).load("jupyterlab");const o=document.createElement("button");o.type="button";o.className="jp-TrimmedOutputs-button";o.title=s.__("The first %1 are displayed",e);o.textContent=s.__("Show more outputs");i.appendChild(o);super({node:i});this._onClick=t;this.addClass("jp-TrimmedOutputs")}handleEvent(e){if(e.type==="click"){this._onClick(e)}}onAfterAttach(e){super.onAfterAttach(e);this.node.addEventListener("click",this)}onBeforeDetach(e){super.onBeforeDetach(e);this.node.removeEventListener("click",this)}}e.TrimmedOutputs=s})(A||(A={}))},1649:(e,t,n)=>{"use strict";var i=n(10395);var s=n(97913);var o=n(5893);var r=n(85072);var a=n.n(r);var l=n(97825);var d=n.n(l);var c=n(77659);var h=n.n(c);var u=n(55056);var p=n.n(u);var m=n(10540);var g=n.n(m);var f=n(41113);var v=n.n(f);var _=n(5526);var b={};b.styleTagTransform=v();b.setAttributes=p();b.insert=h().bind(null,"head");b.domAPI=d();b.insertStyleElement=g();var y=a()(_.A,b);const w=_.A&&_.A.locals?_.A.locals:undefined},93034:(e,t,n)=>{"use strict";n.r(t);n.d(t,{RenderedPDF:()=>c,default:()=>p,rendererFactory:()=>h});var i=n(5592);var s=n.n(i);var o=n(90044);var r=n.n(o);var a=n(27518);var l=n.n(a);const d="application/pdf";class c extends a.Widget{constructor(){super();this._base64="";this._disposable=null;this._ready=new i.PromiseDelegate;this.addClass("jp-PDFContainer");const e=document.createElement("iframe");e.setAttribute("loading","lazy");this.node.appendChild(e);e.onload=()=>{const t=e.contentWindow.document.createElement("body");t.style.margin="0px";e.contentWindow.document.body=t;this._object=e.contentWindow.document.createElement("object");if(!window.safari){this._object.type=d}this._object.width="100%";this._object.height="100%";t.appendChild(this._object);this._ready.resolve(void 0)}}async renderModel(e){await this._ready.promise;const t=e.data[d];if(!t||t.length===this._base64.length&&t===this._base64){if(e.metadata.fragment&&this._object.data){const t=this._object.data;this._object.data=`${t.split("#")[0]}${e.metadata.fragment}`}if(m.IS_FIREFOX){this._object.data=this._object.data}return Promise.resolve(void 0)}this._base64=t;const n=m.b64toBlob(t,d);if(this._disposable){this._disposable.dispose()}let i=URL.createObjectURL(n);if(e.metadata.fragment){i+=e.metadata.fragment}this._object.data=i;this._disposable=new o.DisposableDelegate((()=>{try{URL.revokeObjectURL(i)}catch(e){}}));return}onBeforeHide(){if(m.IS_FIREFOX){this._object.data=this._object.data.split("#")[0]}}dispose(){if(this._disposable){this._disposable.dispose()}super.dispose()}}const h={safe:false,mimeTypes:[d],defaultRank:100,createRenderer:e=>new c};const u=[{id:"@jupyterlab/pdf-extension:factory",description:"Adds renderer for PDF content.",rendererFactory:h,dataType:"string",documentWidgetFactoryOptions:{name:"PDF",modelName:"base64",primaryFileType:"PDF",fileTypes:["PDF"],defaultFor:["PDF"]}}];const p=u;var m;(function(e){e.IS_FIREFOX=/Firefox/.test(navigator.userAgent);function t(e,t="",n=512){const i=atob(e);const s=[];for(let o=0;o<i.length;o+=n){const e=i.slice(o,o+n);const t=new Array(e.length);for(let n=0;n<e.length;n++){t[n]=e.charCodeAt(n)}const r=new Uint8Array(t);s.push(r)}return new Blob(s,{type:t})}e.b64toBlob=t})(m||(m={}))},98547:(e,t,n)=>{"use strict";var i=n(10395);var s=n(85072);var o=n.n(s);var r=n(97825);var a=n.n(r);var l=n(77659);var d=n.n(l);var c=n(55056);var h=n.n(c);var u=n(10540);var p=n.n(u);var m=n(41113);var g=n.n(m);var f=n(44486);var v={};v.styleTagTransform=g();v.setAttributes=h();v.insert=d().bind(null,"head");v.domAPI=a();v.insertStyleElement=p();var _=o()(f.A,v);const b=f.A&&f.A.locals?f.A.locals:undefined},49870:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>v});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(34881);var l=n.n(a);var d=n(4073);var c=n.n(d);var h=n(26849);var u=n.n(h);var p;(function(e){e.open="pluginmanager:open";e.refreshPlugins="pluginmanager:refresh"})(p||(p={}));const m="@jupyterlab/pluginmanager-extension:plugin";const g={id:m,description:"Enable or disable individual plugins.",autoStart:true,requires:[i.JupyterLab.IInfo],optional:[a.ITranslator,o.ICommandPalette,i.ILayoutRestorer],provides:h.IPluginManager,activate:(e,t,n,i,s)=>{const{commands:r,shell:l}=e;n=n!==null&&n!==void 0?n:a.nullTranslator;const c=n.load("jupyterlab");const u=c.__("Plugin Manager");const g=c.__("Advanced Plugin Manager");const f=c.__("Refresh Plugin List");const v="plugin-manager";const _=new o.WidgetTracker({namespace:v});function b(i){const s=new h.PluginListModel({...i,pluginData:{availablePlugins:t.availablePlugins},serverSettings:e.serviceManager.serverSettings,extraLockedPlugins:[m,"@jupyterlab/services-extension:service-manager","@jupyterlab/application-extension:layout","@jupyterlab/apputils-extension:resolver"],translator:n!==null&&n!==void 0?n:a.nullTranslator});const l=new h.Plugins({model:s,translator:n!==null&&n!==void 0?n:a.nullTranslator});l.title.label=g;l.title.icon=d.extensionIcon;l.title.caption=c.__("Plugin Manager");const u=new o.MainAreaWidget({content:l,reveal:s.ready});u.toolbar.addItem("refresh-plugins",new d.CommandToolbarButton({id:p.refreshPlugins,args:{noLabel:true},commands:r}));return u}r.addCommand(p.open,{label:g,execute:e=>{const t=b(e);l.add(t,"main",{type:"Plugins"});void _.add(t);t.content.model.trackerDataChanged.connect((()=>{void _.save(t)}));return t},describedBy:{args:{type:"object",properties:{query:{type:"string",description:c.__("The search query for plugins")},isDisclaimed:{type:"boolean",description:c.__("Whether the disclaimer has been accepted")}}}}});r.addCommand(p.refreshPlugins,{label:e=>e.noLabel?"":f,caption:c.__("Refresh plugins list"),icon:d.refreshIcon,execute:async()=>{var e;return(e=_.currentWidget)===null||e===void 0?void 0:e.content.model.refresh().catch((e=>{console.error(`Failed to refresh the available plugins list:\n${e}`)}))},describedBy:{args:{type:"object",properties:{noLabel:{type:"boolean",description:c.__("Whether to hide the label")}}}}});if(i){i.addItem({command:p.open,category:u})}if(s){void s.restore(_,{command:p.open,name:e=>"plugins",args:e=>{const{query:t,isDisclaimed:n}=e.content.model;const i={query:t,isDisclaimed:n};return i}})}return{open:()=>e.commands.execute(p.open)}}};const f=[g];const v=f},57292:(e,t,n)=>{"use strict";var i=n(40662);var s=n(97913);var o=n(3579);var r=n(14383)},13125:(e,t,n)=>{"use strict";n.r(t);n.d(t,{IPluginManager:()=>w,PluginListModel:()=>m,Plugins:()=>f});var i=n(38850);var s=n(40959);var o=n(49278);var r=n(4073);var a=n(2336);var l=n(5592);var d=n(34881);var c=n(44914);function h(e){return c.createElement(c.Fragment,null,e.trans.__('The plugin "%1" cannot be disabled as it is required by other plugins:',e.plugin.id),c.createElement("ul",null,e.dependants.map((e=>c.createElement("li",{key:"dependantsDialog-"+e.id},e.id)))),e.trans.__("Please disable the dependent plugins first."))}function u(e){return c.createElement("div",{className:"jp-pluginmanager-PluginInUseMessage"},e.trans.__('While the plugin "%1" is not required by other enabled plugins, some plugins provide optional features depending on it. These plugins are:',e.plugin.id),c.createElement("ul",null,e.optionalDependants.map((e=>c.createElement("li",{key:"optionalDependantsDialog-"+e.id},e.id)))),e.trans.__("Do you want to disable it anyway?"))}const p="lab/api/plugins";class m extends r.VDomModel{constructor(e){var t,n,i;super();this.statusError=null;this.actionError=null;this._trackerDataChanged=new a.Signal(this);this._isLoading=false;this._pendingActions=[];this._ready=new l.PromiseDelegate;this._pluginData=e.pluginData;this._serverSettings=e.serverSettings||o.ServerConnection.makeSettings();this._query=e.query||"";this._isDisclaimed=(t=e.isDisclaimed)!==null&&t!==void 0?t:false;this._extraLockedPlugins=(n=e.extraLockedPlugins)!==null&&n!==void 0?n:[];this.refresh().then((()=>this._ready.resolve())).catch((e=>this._ready.reject(e)));this._trans=((i=e.translator)!==null&&i!==void 0?i:d.nullTranslator).load("jupyterlab")}get available(){return[...this._available.values()]}get isLoading(){return this._isLoading}get isDisclaimed(){return this._isDisclaimed}set isDisclaimed(e){if(e!==this._isDisclaimed){this._isDisclaimed=e;this.stateChanged.emit();this._trackerDataChanged.emit(void 0)}}get query(){return this._query}set query(e){if(this._query!==e){this._query=e;this.stateChanged.emit();this._trackerDataChanged.emit(void 0)}}get trackerDataChanged(){return this._trackerDataChanged}get ready(){return this._ready.promise}async enable(e){if(!this.isDisclaimed){throw new Error("User has not confirmed the disclaimer")}await this._performAction("enable",e);e.enabled=true}async disable(e){if(!this.isDisclaimed){throw new Error("User has not confirmed the disclaimer")}const{dependants:t,optionalDependants:n}=this.getDependants(e);if(t.length>0){void(0,i.showDialog)({title:this._trans.__("This plugin is required by other plugins"),body:h({plugin:e,dependants:t,trans:this._trans}),buttons:[i.Dialog.okButton()]});return}if(n.length>0){const t=await(0,i.showDialog)({title:this._trans.__("This plugin is used by other plugins"),body:u({plugin:e,optionalDependants:n,trans:this._trans}),buttons:[i.Dialog.okButton({label:this._trans.__("Disable anyway")}),i.Dialog.cancelButton()]});if(!t.button.accept){return}}await this._performAction("disable",e);if(this.actionError){return}e.enabled=false}getDependants(e){const t=[];const n=[];if(e.provides){const i=e.provides.name;for(const e of this._available.values()){if(!e.enabled){continue}if(e.requires.filter((e=>!!e)).some((e=>e.name===i))){t.push(e)}if(e.optional.filter((e=>!!e)).some((e=>e.name===i))){n.push(e)}}}return{dependants:t,optionalDependants:n}}hasPendingActions(){return this._pendingActions.length>0}_performAction(e,t){this.actionError=null;const n=this._requestAPI({},{method:"POST",body:JSON.stringify({cmd:e,plugin_name:t.id})});n.catch((e=>{this.actionError=e.toString()}));this._addPendingAction(n);return n}_addPendingAction(e){this._pendingActions.push(e);const t=()=>{const t=this._pendingActions.indexOf(e);this._pendingActions.splice(t,1);this.stateChanged.emit(undefined)};e.then(t,t);this.stateChanged.emit(undefined)}async refresh(){var e;this.statusError=null;this._isLoading=true;this.stateChanged.emit();try{const t={allLocked:true,lockRules:[]};const n=(e=await this._requestAPI())!==null&&e!==void 0?e:t;this._available=new Map(this._pluginData.availablePlugins.map((e=>{let t=e.provides?e.provides.name.split(":")[1]:undefined;if(e.provides&&!t){t=e.provides.name}return[e.id,{...e,locked:this._isLocked(e.id,n),tokenLabel:t}]})))}catch(t){this.statusError=t.toString()}finally{this._isLoading=false;this.stateChanged.emit()}}_isLocked(e,t){if(t.allLocked){return true}if(this._extraLockedPlugins.includes(e)){return true}const n=e.split(":")[0];if(t.lockRules.includes(n)){return true}if(t.lockRules.includes(e)){return true}return false}async _requestAPI(e={},t={}){const n=this._serverSettings;const i=s.URLExt.join(n.baseUrl,p);let r;try{r=await o.ServerConnection.makeRequest(i+s.URLExt.objectToQueryString(e),t,n)}catch(l){throw new o.ServerConnection.NetworkError(l)}let a=await r.text();if(a.length>0){try{a=JSON.parse(a)}catch(l){console.log("Not a JSON response body.",r)}}if(!r.ok){throw new o.ServerConnection.ResponseError(r,a.message||a)}return a}}var g=n(27518);class f extends g.Panel{constructor(e){const{model:t,translator:n}=e;super();this.model=t;this.addClass("jp-pluginmanager");this.trans=n.load("jupyterlab");this.addWidget(new _(t,this.trans));const i=new b(t,this.trans);this.addWidget(i);const s=new v(t,this.trans);this.addWidget(s)}}class v extends i.VDomRenderer{constructor(e,t){super(e);this.trans=t;this.addClass("jp-pluginmanager-AvailableList")}render(){return c.createElement(c.Fragment,null,this.model.statusError!==null?c.createElement(y,null,this.trans.__("Error querying installed extensions%1",this.model.statusError?`: ${this.model.statusError}`:".")):this.model.isLoading?c.createElement("div",{className:"jp-pluginmanager-loader"},this.trans.__("Updating plugin list…")):c.createElement(r.Table,{blankIndicator:()=>c.createElement("div",null,this.trans.__("No entries")),sortKey:"plugin-id",rows:this.model.available.filter((e=>{const t=new RegExp(this.model.query,"i");return t.test(e.id)||t.test(e.extension)||e.tokenLabel&&t.test(e.tokenLabel)})).map((e=>({data:e,key:e.id}))),columns:[{id:"plugin-id",label:this.trans.__("Plugin"),renderCell:e=>c.createElement(c.Fragment,null,c.createElement("code",null,e.id),c.createElement("br",null),e.description),sort:(e,t)=>e.id.localeCompare(t.id)},{id:"description",label:this.trans.__("Description"),renderCell:e=>c.createElement(c.Fragment,null,e.description),sort:(e,t)=>e.description&&t.description?e.description.localeCompare(t.description):undefined,isHidden:true},{id:"autostart",label:this.trans.__("Autostart?"),renderCell:e=>{switch(e.autoStart){case"defer":return this.trans.__("Defer");case true:return this.trans.__("Yes");case false:case undefined:return this.trans.__("No");default:const t=e.autoStart;throw new Error(`Unknown value: ${t}`)}},sort:(e,t)=>e.autoStart===t.autoStart?0:e.autoStart?-1:1},{id:"requires",label:this.trans.__("Depends on"),renderCell:e=>c.createElement(c.Fragment,null,e.requires.map((e=>e.name)).join("\n")),sort:(e,t)=>(e.requires||[]).length-(t.requires||[]).length,isHidden:true},{id:"extension",label:this.trans.__("Extension"),renderCell:e=>c.createElement(c.Fragment,null,e.extension),sort:(e,t)=>e.extension.localeCompare(t.extension)},{id:"provides",label:this.trans.__("Provides"),renderCell:e=>c.createElement(c.Fragment,null,e.provides?c.createElement("code",{title:e.provides.name},e.tokenLabel):"-"),sort:(e,t)=>(e.tokenLabel||"").localeCompare(t.tokenLabel||"")},{id:"enabled",label:this.trans.__("Enabled"),renderCell:e=>c.createElement(c.Fragment,null,c.createElement("input",{type:"checkbox",checked:e.enabled,disabled:e.locked||!this.model.isDisclaimed,title:e.locked||!this.model.isDisclaimed?e.locked?this.trans.__("This plugin is locked."):this.trans.__("To enable/disable, please acknowledge the disclaimer."):e.enabled?this.trans.__("Disable %1 plugin",e.id):this.trans.__("Enable %1 plugin",e.id),onChange:t=>{if(!this.model.isDisclaimed){return}if(t.target.checked){void this.onAction("enable",e)}else{void this.onAction("disable",e)}}}),e.locked?c.createElement(r.lockIcon.react,{tag:"span",title:this.trans.__("This plugin was locked by system administrator or is a critical dependency and cannot be enabled/disabled.")}):""),sort:(e,t)=>+e.enabled-+t.enabled}]}))}onAction(e,t){switch(e){case"enable":return this.model.enable(t);case"disable":return this.model.disable(t);default:throw new Error(`Invalid action: ${e}`)}}}class _ extends i.VDomRenderer{constructor(e,t){super(e);this.trans=t;this.addClass("jp-pluginmanager-Disclaimer")}render(){return c.createElement("div",null,c.createElement("div",null,this.trans.__("Customise your experience/improve performance by disabling plugins you do not need. To disable or uninstall an entire extension use the Extension Manager instead. Changes will apply after reloading JupyterLab.")),c.createElement("label",null,c.createElement("input",{type:"checkbox",className:"jp-mod-styled jp-pluginmanager-Disclaimer-checkbox",defaultChecked:this.model.isDisclaimed,onChange:e=>{this.model.isDisclaimed=e.target.checked}}),this.trans.__("I understand that disabling core application plugins may render features and parts of the user interface unavailable and recovery using `jupyter labextension enable <plugin-name>` command may be required")))}}class b extends i.VDomRenderer{constructor(e,t){super(e);this.trans=t;this.addClass("jp-pluginmanager-Header")}render(){return c.createElement(c.Fragment,null,c.createElement(r.FilterBox,{placeholder:this.trans.__("Filter"),updateFilter:(e,t)=>{this.model.query=t!==null&&t!==void 0?t:""},initialQuery:this.model.query,useFuzzyFilter:false}),c.createElement("div",{className:`jp-pluginmanager-pending ${this.model.hasPendingActions()?"jp-mod-hasPending":""}`}),this.model.actionError&&c.createElement(y,null,c.createElement("p",null,this.trans.__("Error when performing an action.")),c.createElement("p",null,this.trans.__("Reason given:")),c.createElement("pre",null,this.model.actionError)))}}function y(e){return c.createElement("div",{className:"jp-pluginmanager-error"},e.children)}const w=new l.Token("@jupyterlab/pluginmanager:IPluginManager",`A canary for plugin manager presence, with a method to open the plugin manager widget.`)},14383:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(3579);var a=n(85072);var l=n.n(a);var d=n(97825);var c=n.n(d);var h=n(77659);var u=n.n(h);var p=n(55056);var m=n.n(p);var g=n(10540);var f=n.n(g);var v=n(41113);var _=n.n(v);var b=n(37442);var y={};y.styleTagTransform=_();y.setAttributes=m();y.insert=u().bind(null,"head");y.domAPI=c();y.insertStyleElement=f();var w=l()(b.A,y);const C=b.A&&b.A.locals?b.A.locals:undefined},87221:(e,t,n)=>{"use strict";n.r(t);n.d(t,{IPropertyInspectorProvider:()=>l,SideBarPropertyInspectorProvider:()=>c});var i=n(34881);var s=n(4073);var o=n(2336);var r=n(27518);var a=n(5592);const l=new a.Token("@jupyterlab/property-inspector:IPropertyInspectorProvider","A service to register new widgets in the property inspector side panel.");class d extends r.Widget{constructor(){super();this._tracker=new r.FocusTracker;this._inspectors=new Map;this.addClass("jp-PropertyInspector");this._tracker=new r.FocusTracker;this._tracker.currentChanged.connect(this._onCurrentChanged,this)}register(e){if(this._inspectors.has(e)){throw new Error("Widget is already registered")}const t=new h.PropertyInspector(e);e.disposed.connect(this._onWidgetDisposed,this);this._inspectors.set(e,t);t.onAction.connect(this._onInspectorAction,this);this._tracker.add(e);return t}get currentWidget(){return this._tracker.currentWidget}refresh(){const e=this._tracker.currentWidget;if(!e){this.setContent(null);return}const t=this._inspectors.get(e);if(t){this.setContent(t.content)}}_onWidgetDisposed(e){const t=this._inspectors.get(e);if(t){t.dispose();this._inspectors.delete(e)}}_onInspectorAction(e,t){const n=e.owner;const i=this._tracker.currentWidget;switch(t){case"content":if(i===n){this.setContent(e.content)}break;case"dispose":if(n){this._tracker.remove(n);this._inspectors.delete(n)}break;case"show-panel":if(i===n){this.showPanel()}break;default:throw new Error("Unsupported inspector action")}}_onCurrentChanged(){const e=this._tracker.currentWidget;if(e){const t=this._inspectors.get(e);const n=t.content;this.setContent(n)}else{this.setContent(null)}}}class c extends d{constructor({shell:e,placeholder:t,translator:n}){super();this._labshell=e;this.translator=n||i.nullTranslator;this._trans=this.translator.load("jupyterlab");const s=this.layout=new r.SingletonLayout;if(t){this._placeholder=t}else{const e=document.createElement("div");const t=document.createElement("div");const n=document.createElement("h3");const i=document.createElement("p");n.textContent=this._trans.__("No Properties");i.textContent=this._trans.__("The property inspector allows to view and edit properties of a selected notebook.");t.className="jp-PropertyInspector-placeholderContent";t.appendChild(n);t.appendChild(i);e.appendChild(t);this._placeholder=new r.Widget({node:e});this._placeholder.addClass("jp-PropertyInspector-placeholder")}s.widget=this._placeholder;this._labshell.currentChanged.connect(this._onShellCurrentChanged,this);this._onShellCurrentChanged()}setContent(e){const t=this.layout;if(t.widget){t.widget.removeClass("jp-PropertyInspector-content");t.removeWidget(t.widget)}if(!e){e=this._placeholder}e.addClass("jp-PropertyInspector-content");t.widget=e}showPanel(){this._labshell.activateById(this.id)}_onShellCurrentChanged(){const e=this.currentWidget;if(!e){this.setContent(null);return}const t=this._labshell.currentWidget;if(t===null||t===void 0?void 0:t.node.contains(e.node)){this.refresh()}else{this.setContent(null)}}}var h;(function(e){class t{constructor(e){this._isDisposed=false;this._content=null;this._owner=null;this._onAction=new o.Signal(this);this._owner=e}get owner(){return this._owner}get content(){return this._content}get isDisposed(){return this._isDisposed}get onAction(){return this._onAction}showPanel(){if(this._isDisposed){return}this._onAction.emit("show-panel")}render(e){if(this._isDisposed){return}if(e instanceof r.Widget){this._content=e}else{this._content=s.ReactWidget.create(e)}this._onAction.emit("content")}dispose(){if(this._isDisposed){return}this._isDisposed=true;this._content=null;this._owner=null;o.Signal.clearData(this)}}e.PropertyInspector=t})(h||(h={}))},58130:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(3579);var r=n(85072);var a=n.n(r);var l=n(97825);var d=n.n(l);var c=n(77659);var h=n.n(c);var u=n(55056);var p=n.n(u);var m=n(10540);var g=n.n(m);var f=n(41113);var v=n.n(f);var _=n(35667);var b={};b.styleTagTransform=v();b.setAttributes=p();b.insert=h().bind(null,"head");b.domAPI=d();b.insertStyleElement=g();var y=a()(_.A,b);const w=_.A&&_.A.locals?_.A.locals:undefined},97872:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>p});var i=n(38850);var s=n.n(i);var o=n(11927);var r=n.n(o);var a=n(95513);var l=n.n(a);var d=n(34881);var c=n.n(d);var h;(function(e){e.handleLink="rendermime:handle-local-link"})(h||(h={}));const u={id:"@jupyterlab/rendermime-extension:plugin",description:"Provides the render mime registry.",optional:[o.IDocumentManager,a.ILatexTypesetter,i.ISanitizer,a.IMarkdownParser,d.ITranslator],provides:a.IRenderMimeRegistry,activate:g,autoStart:true};const p=u;const m="debugger:open-source";function g(e,t,n,i,s,o){const r=(o!==null&&o!==void 0?o:d.nullTranslator).load("jupyterlab");if(t){e.commands.addCommand(h.handleLink,{label:r.__("Handle Local Link"),execute:n=>{const i=n["path"];const s=n["id"];const o=n["scope"]||"server";if(!i){return}if(o==="kernel"){if(!e.commands.hasCommand(m)){console.warn("Cannot open kernel file: debugger sources provider not available");return}return e.commands.execute(m,{path:i})}return t.services.contents.get(i,{content:false}).then((()=>{const e=t.registry.defaultRenderedWidgetFactory(i);const n=t.openOrReveal(i,e.name);if(n&&s){n.setFragment(s)}}))},describedBy:{args:{type:"object",properties:{path:{type:"string",description:r.__("The file path to open")},id:{type:"string",description:r.__("Fragment identifier to navigate to")},scope:{type:"string",enum:["kernel","server"],description:r.__("Scope of the file location")}},required:["path"]}}})}return new a.RenderMimeRegistry({initialFactories:a.standardRendererFactories,linkHandler:!t?undefined:{handleLink:(t,n,i)=>{if(t.tagName==="A"&&t.hasAttribute("download")){return}e.commandLinker.connectNode(t,h.handleLink,{path:n,id:i})},handlePath:(t,n,i,s)=>{e.commandLinker.connectNode(t,h.handleLink,{path:n,id:s,scope:i})}},latexTypesetter:n!==null&&n!==void 0?n:undefined,markdownParser:s!==null&&s!==void 0?s:undefined,translator:o!==null&&o!==void 0?o:undefined,sanitizer:i!==null&&i!==void 0?i:undefined})}},80046:(e,t,n)=>{"use strict";var i=n(97913);var s=n(5893);var o=n(3579);var r=n(41603)},60479:(e,t,n)=>{"use strict";n.r(t)},32278:(e,t,n)=>{"use strict";n.d(t,{l:()=>d});var i=n(23230);var s=n.n(i);var o=n(5592);var r=n.n(o);var a=n(2336);var l=n.n(a);class d{constructor(e){this.trusted=false;this._changed=new a.Signal(this);this._raw={};const t=c.getData(e.value);this._data=new i.ObservableJSON({values:t});this._rawData=t;const n=e.value;for(const i in n){switch(i){case"data":break;default:this._raw[i]=c.extract(n,i)}}}get changed(){return this._changed}dispose(){this._data.dispose();a.Signal.clearData(this)}get data(){return this._rawData}get metadata(){return{}}setData(e){if(e.data){this._updateObservable(this._data,e.data);this._rawData=e.data}this._changed.emit(void 0)}toJSON(){const e={};for(const t in this._raw){e[t]=c.extract(this._raw,t)}return e}_updateObservable(e,t){const n=e.keys();const i=Object.keys(t);for(const s of n){if(i.indexOf(s)===-1){e.delete(s)}}for(const s of i){const n=e.get(s);const i=t[s];if(n!==i){e.set(s,i)}}}}(function(e){function t(e){return c.getData(e)}e.getData=t})(d||(d={}));var c;(function(e){function t(e){return s(e)}e.getData=t;function n(e){const n=t(e.value);return{data:n}}e.getBundleOptions=n;function i(e,t){const n=e[t];if(n===undefined||o.JSONExt.isPrimitive(n)){return n}return o.JSONExt.deepCopy(n)}e.extract=i;function s(e){const t=Object.create(null);for(const n in e){t[n]=i(e,n)}return t}})(c||(c={}))},41586:(e,t,n)=>{"use strict";n.d(t,{Fh:()=>s,NQ:()=>o,SF:()=>r,U1:()=>l,dn:()=>u,hL:()=>a,hY:()=>h,jn:()=>c,qQ:()=>d});var i=n(18901);const s={safe:true,mimeTypes:["text/html"],defaultRank:50,createRenderer:e=>new i.TH(e)};const o={safe:true,mimeTypes:["image/bmp","image/png","image/jpeg","image/gif","image/webp"],defaultRank:90,createRenderer:e=>new i.vf(e)};const r={safe:true,mimeTypes:["text/latex"],defaultRank:70,createRenderer:e=>new i.Kc(e)};const a={safe:true,mimeTypes:["text/markdown"],defaultRank:60,createRenderer:e=>new i.jL(e)};const l={safe:false,mimeTypes:["image/svg+xml"],defaultRank:80,createRenderer:e=>new i.Yk(e)};const d={safe:true,mimeTypes:["application/vnd.jupyter.stderr"],defaultRank:110,createRenderer:e=>new i.A6(e)};const c={safe:true,mimeTypes:["text/plain","application/vnd.jupyter.stdout"],defaultRank:120,createRenderer:e=>new i.Vx(e)};const h={safe:false,mimeTypes:["text/javascript","application/javascript"],defaultRank:110,createRenderer:e=>new i.TS(e)};const u=[s,a,r,l,o,h,d,c]},17200:(e,t,n)=>{"use strict";n.r(t);n.d(t,{AttachmentModel:()=>r.l,ILatexTypesetter:()=>p.nc,IMarkdownParser:()=>p.co,IRenderMimeRegistry:()=>p.N3,IUrlResolverFactory:()=>p.D8,MimeModel:()=>d.w,OutputModel:()=>c.L,RenderMimeRegistry:()=>h.K,RenderedCommon:()=>m.nZ,RenderedError:()=>m.A6,RenderedHTML:()=>m.TH,RenderedHTMLCommon:()=>m.C6,RenderedImage:()=>m.vf,RenderedJavaScript:()=>m.TS,RenderedLatex:()=>m.Kc,RenderedMarkdown:()=>m.jL,RenderedSVG:()=>m.Yk,RenderedText:()=>m.Vx,errorRendererFactory:()=>a.qQ,hardenAnchorLinks:()=>u.N1,htmlRendererFactory:()=>a.Fh,imageRendererFactory:()=>a.NQ,javaScriptRendererFactory:()=>a.hY,latexRendererFactory:()=>a.SF,markdownRendererFactory:()=>a.hL,removeMath:()=>l.r,renderError:()=>u.vr,renderHTML:()=>u.e2,renderImage:()=>u.mx,renderLatex:()=>u.zG,renderMarkdown:()=>u.Gc,renderSVG:()=>u.d8,renderText:()=>u.S5,replaceMath:()=>l.H,standardRendererFactories:()=>a.dn,svgRendererFactory:()=>a.U1,textRendererFactory:()=>a.jn});var i=n(43499);var s=n.n(i);var o={};for(const g in i)if(g!=="default")o[g]=()=>i[g];n.d(t,o);var r=n(32278);var a=n(41586);var l=n(52608);var d=n(29549);var c=n(34354);var h=n(71153);var u=n(11364);var p=n(21944);var m=n(18901)},52608:(e,t,n)=>{"use strict";n.d(t,{H:()=>r,r:()=>o});const i="$";const s=/(\$\$?|\\(?:begin|end)\{[a-z]*\*?\}|\\[{}$]|[{}]|(?:\n\s*)+|@@\d+@@|\\\\(?:\(|\)|\[|\]))/i;function o(e){const t=[];let n=null;let o=null;let r=null;let l=0;let d;const c=e.includes("`")||e.includes("~~~");if(c){e=e.replace(/~/g,"~T").replace(/^(?<fence>`{3,}|(~T){3,})[^`\n]*\n([\s\S]*?)^\k<fence>`*$/gm,(e=>e.replace(/\$/g,"~D"))).replace(/(^|[^\\])(`+)([^\n]*?[^`\n])\2(?!`)/gm,(e=>e.replace(/\$/g,"~D")));d=e=>e.replace(/~([TD])/g,((e,t)=>t==="T"?"~":i))}else{d=e=>e}let h=e.replace(/\r\n?/g,"\n").split(s);for(let s=1,u=h.length;s<u;s+=2){const e=h[s];if(e.charAt(0)==="@"){h[s]="@@"+t.length+"@@";t.push(e)}else if(n!==null){if(e===o){if(l){r=s}else{h=a(n,s,d,t,h);n=null;o=null;r=null}}else if(e.match(/\n.*\n/)){if(r!==null){s=r;h=a(n,s,d,t,h)}n=null;o=null;r=null;l=0}else if(e==="{"){l++}else if(e==="}"&&l){l--}}else{if(e===i||e==="$$"){n=s;o=e;l=0}else if(e==="\\\\("||e==="\\\\["){n=s;o=e.slice(-1)==="("?"\\\\)":"\\\\]";l=0}else if(e.substr(1,5)==="begin"){n=s;o="\\end"+e.substr(6);l=0}}}if(n!==null&&r!==null){h=a(n,r,d,t,h);n=null;o=null;r=null}return{text:d(h.join("")),math:t}}function r(e,t){const n=(e,n)=>{let i=t[n];if(i.substr(0,3)==="\\\\("&&i.substr(i.length-3)==="\\\\)"){i="\\("+i.substring(3,i.length-3)+"\\)"}else if(i.substr(0,3)==="\\\\["&&i.substr(i.length-3)==="\\\\]"){i="\\["+i.substring(3,i.length-3)+"\\]"}return i};return e.replace(/@@(\d+)@@/g,n)}function a(e,t,n,i,s){let o=s.slice(e,t+1).join("").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");if(navigator&&navigator.appName==="Microsoft Internet Explorer"){o=o.replace(/(%[^\n]*)\n/g,"$1<br/>\n")}while(t>e){s[t]="";t--}s[e]="@@"+i.length+"@@";if(n){o=n(o)}i.push(o);return s}},29549:(e,t,n)=>{"use strict";n.d(t,{w:()=>i});class i{constructor(e={}){this.trusted=!!e.trusted;this._data=e.data||{};this._metadata=e.metadata||{};this._callback=e.callback||s.noOp}get data(){return this._data}get metadata(){return this._metadata}setData(e){this._data=e.data||this._data;this._metadata=e.metadata||this._metadata;this._callback(e)}}var s;(function(e){function t(){}e.noOp=t})(s||(s={}))},34354:(e,t,n)=>{"use strict";n.d(t,{L:()=>h});var i=n(72363);var s=n.n(i);var o=n(23230);var r=n.n(o);var a=n(5592);var l=n.n(a);var d=n(2336);var c=n.n(d);class h{constructor(e){this._changed=new d.Signal(this);this._raw={};this._text=undefined;const{data:t,metadata:n,trusted:s}=u.getBundleOptions(e);this._rawData=t;if(e.value!==undefined&&i.isStream(e.value)){this._text=new o.ObservableString(typeof e.value.text==="string"?e.value.text:e.value.text.join(""))}this._metadata=new o.ObservableJSON({values:n});this._rawMetadata=n;this.trusted=s;const r=e.value;for(const i in r){switch(i){case"data":case"metadata":break;default:this._raw[i]=u.extract(r,i)}}this.type=r.output_type;if(i.isExecuteResult(r)){this.executionCount=r.execution_count}else{this.executionCount=null}}get changed(){return this._changed}dispose(){var e;(e=this._text)===null||e===void 0?void 0:e.dispose();this._metadata.dispose();d.Signal.clearData(this)}get data(){return u.getData(this.toJSON())}get streamText(){return this._text}get metadata(){return this._rawMetadata}setData(e){if(e.data){this._rawData=e.data}if(e.metadata){this._updateObservable(this._metadata,e.metadata);this._rawMetadata=e.metadata}this._changed.emit()}toJSON(){const e={};for(const t in this._raw){e[t]=u.extract(this._raw,t)}if(this._text!==undefined){e["text"]=this._text.text}switch(this.type){case"display_data":case"execute_result":case"update_display_data":e["data"]=this._rawData;e["metadata"]=this.metadata;break;default:break}delete e["transient"];return e}_updateObservable(e,t){const n=e.keys();const i=Object.keys(t);for(const s of n){if(i.indexOf(s)===-1){e.delete(s)}}for(const s of i){const n=e.get(s);const i=t[s];if(n!==i){e.set(s,i)}}}}(function(e){function t(e){return u.getData(e)}e.getData=t;function n(e){return u.getMetadata(e)}e.getMetadata=n})(h||(h={}));var u;(function(e){function t(e){let t={};if(i.isExecuteResult(e)||i.isDisplayData(e)||i.isDisplayUpdate(e)){t=e.data}else if(i.isStream(e)){if(e.name==="stderr"){t["application/vnd.jupyter.stderr"]=e.text}else{t["application/vnd.jupyter.stdout"]=e.text}}else if(i.isError(e)){t["application/vnd.jupyter.error"]=e;const n=e.traceback.join("\n");t["application/vnd.jupyter.stderr"]=n||`${e.ename}: ${e.evalue}`}return r(t)}e.getData=t;function n(e){const t=Object.create(null);if(i.isExecuteResult(e)||i.isDisplayData(e)){for(const n in e.metadata){t[n]=o(e.metadata,n)}}return t}e.getMetadata=n;function s(e){const i=t(e.value);const s=n(e.value);const o=!!e.trusted;return{data:i,metadata:s,trusted:o}}e.getBundleOptions=s;function o(e,t){const n=e[t];if(n===undefined||a.JSONExt.isPrimitive(n)){return n}return JSON.parse(JSON.stringify(n))}e.extract=o;function r(e){const t=Object.create(null);for(const n in e){t[n]=o(e,n)}return t}})(u||(u={}))},71153:(e,t,n)=>{"use strict";n.d(t,{K:()=>c});var i=n(38850);var s=n.n(i);var o=n(40959);var r=n.n(o);var a=n(34881);var l=n.n(a);var d=n(29549);class c{constructor(e={}){var t,n,s,o,r,l;this._id=0;this._ranks={};this._types=null;this._factories={};this.translator=(t=e.translator)!==null&&t!==void 0?t:a.nullTranslator;this.resolver=(n=e.resolver)!==null&&n!==void 0?n:null;this.linkHandler=(s=e.linkHandler)!==null&&s!==void 0?s:null;this.latexTypesetter=(o=e.latexTypesetter)!==null&&o!==void 0?o:null;this.markdownParser=(r=e.markdownParser)!==null&&r!==void 0?r:null;this.sanitizer=(l=e.sanitizer)!==null&&l!==void 0?l:new i.Sanitizer;if(e.initialFactories){for(const t of e.initialFactories){this.addFactory(t)}}}get mimeTypes(){return this._types||(this._types=h.sortedTypes(this._ranks))}preferredMimeType(e,t="ensure"){if(t==="ensure"||t==="prefer"){for(const t of this.mimeTypes){if(t in e&&this._factories[t].safe){return t}}}if(t!=="ensure"){for(const t of this.mimeTypes){if(t in e){return t}}}return undefined}createRenderer(e){if(!(e in this._factories)){throw new Error(`No factory for mime type: '${e}'`)}return this._factories[e].createRenderer({mimeType:e,resolver:this.resolver,sanitizer:this.sanitizer,linkHandler:this.linkHandler,latexTypesetter:this.latexTypesetter,markdownParser:this.markdownParser,translator:this.translator})}createModel(e={}){return new d.w(e)}clone(e={}){var t,n,i,s,o,r,a,l,d,h;const u=new c({resolver:(n=(t=e.resolver)!==null&&t!==void 0?t:this.resolver)!==null&&n!==void 0?n:undefined,sanitizer:(s=(i=e.sanitizer)!==null&&i!==void 0?i:this.sanitizer)!==null&&s!==void 0?s:undefined,linkHandler:(r=(o=e.linkHandler)!==null&&o!==void 0?o:this.linkHandler)!==null&&r!==void 0?r:undefined,latexTypesetter:(l=(a=e.latexTypesetter)!==null&&a!==void 0?a:this.latexTypesetter)!==null&&l!==void 0?l:undefined,markdownParser:(h=(d=e.markdownParser)!==null&&d!==void 0?d:this.markdownParser)!==null&&h!==void 0?h:undefined,translator:this.translator});u._factories={...this._factories};u._ranks={...this._ranks};u._id=this._id;return u}getFactory(e){return this._factories[e]}addFactory(e,t){if(t===undefined){t=e.defaultRank;if(t===undefined){t=100}}for(const n of e.mimeTypes){this._factories[n]=e;this._ranks[n]={rank:t,id:this._id++}}this._types=null}removeMimeType(e){delete this._factories[e];delete this._ranks[e];this._types=null}getRank(e){const t=this._ranks[e];return t&&t.rank}setRank(e,t){if(!this._ranks[e]){return}const n=this._id++;this._ranks[e]={rank:t,id:n};this._types=null}}(function(e){class t{constructor(e){this._path=e.path;this._contents=e.contents}get path(){return this._path}set path(e){this._path=e}async resolveUrl(e){if(this.isLocal(e)){const t=encodeURI(o.PathExt.dirname(this.path));e=o.PathExt.resolve(t,e)}return e}async getDownloadUrl(e){if(this.isLocal(e)){return this._contents.getDownloadUrl(decodeURIComponent(e))}return e}isLocal(e,t=false){if(this.isMalformed(e)){return false}return o.URLExt.isLocal(e,t)||!!this._contents.driveName(decodeURI(e))}async resolvePath(e){const t=o.PageConfig.getOption("rootUri").replace("file://","");if(e.startsWith("~/")&&t.startsWith("/home/")){e=t.split("/").slice(0,3).join("/")+e.substring(1)}if(e.startsWith(t)||e.startsWith("./")){try{const n=e.replace(t,"");const i=await this._contents.get(n,{content:false});return{path:i.path,scope:"server"}}catch(n){console.warn(`Could not resolve location of ${e} on server`);return null}}return{path:e,scope:"kernel"}}isMalformed(e){try{decodeURI(e);return false}catch(t){if(t instanceof URIError){return true}throw t}}}e.UrlResolver=t})(c||(c={}));var h;(function(e){function t(e){return Object.keys(e).sort(((t,n)=>{const i=e[t];const s=e[n];if(i.rank!==s.rank){return i.rank-s.rank}return i.id-s.id}))}e.sortedTypes=t})(h||(h={}))},11364:(e,t,n)=>{"use strict";n.d(t,{Gc:()=>p,N1:()=>E,S5:()=>C,d8:()=>m,e2:()=>c,mx:()=>h,vr:()=>I,zG:()=>u});var i=n(40959);var s=n.n(i);var o=n(34881);var r=n.n(o);var a=n(67901);var l=n.n(a);var d=n(52608);async function c(e){let{host:t,source:n,trusted:i,sanitizer:s,resolver:r,linkHandler:a,shouldTypeset:l,latexTypesetter:d,translator:c}=e;c=c||o.nullTranslator;const h=c===null||c===void 0?void 0:c.load("jupyterlab");let u=n;if(!n){t.textContent="";return}if(!i){u=`${n}`;n=s.sanitize(n)}t.innerHTML=n;if(t.getElementsByTagName("script").length>0){if(i){M.evalInnerHTMLScriptTags(t)}else{const e=document.createElement("div");const n=document.createElement("pre");n.textContent=h.__("This HTML output contains inline scripts. Are you sure that you want to run arbitrary Javascript within your JupyterLab session?");const i=document.createElement("button");i.textContent=h.__("Run");i.onclick=e=>{t.innerHTML=u;M.evalInnerHTMLScriptTags(t);if(t.firstChild){t.removeChild(t.firstChild)}};e.appendChild(n);e.appendChild(i);t.insertBefore(e,t.firstChild)}}M.handleDefaults(t);if(l&&d){const e=d.typeset(t);if(e instanceof Promise){e.then((()=>E(t,r))).catch(console.warn)}else{E(t,r)}}else{E(t,r)}if(r){await M.handleUrls(t,r,a)}}async function h(e){const{host:t,mimeType:n,source:i,width:s,height:o,needsBackground:r,unconfined:a}=e;t.textContent="";const l=document.createElement("img");l.src=`data:${n};base64,${i}`;if(typeof o==="number"){l.height=o}if(typeof s==="number"){l.width=s}if(r==="light"){l.classList.add("jp-needs-light-background")}else if(r==="dark"){l.classList.add("jp-needs-dark-background")}if(a===true){l.classList.add("jp-mod-unconfined")}t.appendChild(l)}async function u(e){const{host:t,source:n,shouldTypeset:i,latexTypesetter:s,resolver:o}=e;t.textContent=n;if(i&&s){const e=s.typeset(t);if(e instanceof Promise){e.then((()=>E(t,o))).catch(console.warn)}else{E(t,o)}}}async function p(e){var t;const{host:n,source:i,markdownParser:s,...o}=e;if(!i){n.textContent="";return}let r="";if(s){const e=(0,d.r)(i);r=await s.render(e["text"]);r=(0,d.H)(r,e["math"])}else{r=`<pre>${i}</pre>`}await c({host:n,source:r,...o});M.headerAnchors(n,(t=e.sanitizer.allowNamedProperties)!==null&&t!==void 0?t:false)}(function(e){function t(e){var t;return((t=e.textContent)!==null&&t!==void 0?t:"").replace(/ /g,"-")}e.createHeaderId=t})(p||(p={}));async function m(e){let{host:t,source:n,trusted:i,unconfined:s}=e;if(!n){t.textContent="";return}if(!i){t.textContent="Cannot display an untrusted SVG. Maybe you need to run the cell?";return}const o="<svg[^>]+xmlns=[^>]+svg";if(n.search(o)<0){n=n.replace("<svg",'<svg xmlns="http://www.w3.org/2000/svg"')}const r=new Image;r.src=`data:image/svg+xml,${encodeURIComponent(n)}`;t.appendChild(r);if(s===true){t.classList.add("jp-mod-unconfined")}}var g;(function(e){const t=40;const n="\\u0000-\\u0020\\u007f-\\u009f";e.webLinkRegex=new RegExp("(?<path>(?:[a-zA-Z][a-zA-Z0-9+.-]{2,"+t+"}:\\/\\/|data:|www\\.)[^\\s"+n+'"]{2,}[^\\s'+n+"\"'(){}\\[\\],:;.!?])","ug");const i=/(?:[a-zA-Z]:(?:(?:\\|\/)[\w\.-]*)+)/;const s=/(?:(?:\~|\.)(?:(?:\\|\/)[\w\.-]*)+)/;const o=new RegExp(`(${i.source}|${s.source})`);const r=/((?:\~|\.)?(?:\/[\w\.-]*)+)/;const a=/(?:(?:\:|", line )(?<line>[\d]+))?(?:\:(?<column>[\d]+))?/;const l=navigator.userAgent.indexOf("Windows")>=0;e.pathLinkRegex=new RegExp(`(?<path>${l?o.source:r.source})${a.source}`,"g")})(g||(g={}));class f{constructor(){this.regex=g.webLinkRegex}createAnchor(e,t){const n=document.createElement("a");n.href=e.startsWith("www.")?"https://"+e:e;n.rel="noopener";n.target="_blank";n.appendChild(document.createTextNode(t));return n}processPath(e){const t=e.slice(-1);const n=[">","<"].indexOf(t)!==-1;const i=n?e.length-1:e.length;e=e.slice(0,i);return e}processLabel(e){return this.processPath(e)}}class v{constructor(){this.regex=g.pathLinkRegex}createAnchor(e,t,n){const i=document.createElement("a");i.dataset.path=e;const s=parseInt(n["line"],10);let o=!isNaN(s)?`line=${s-1}`:"";i.dataset.locator=o;i.appendChild(document.createTextNode(t));return i}}function _(e,t){const n=[];if(t.checkWeb){n.push(new f)}if(t.checkPaths){n.push(new v)}const i=[];const s=(e,t)=>{if(t>=n.length){i.push(document.createTextNode(e));return}const o=n[t];let r;let a=0;const l=o.regex;l.lastIndex=0;while(null!=(r=l.exec(e))){const n=e.substring(a,r.index);if(n){s(n,t+1)}const{path:l,...d}=r.groups;const c=o.processPath?o.processPath(l):l;const h=o.processLabel?o.processLabel(r[0]):r[0];i.push(o.createAnchor(c,h,d));a=r.index+h.length}const d=e.substring(a);if(d){s(d,t+1)}};s(e,0);return i}function b(e,t){var n,i;const s=e.cloneNode();s.textContent=(n=e.textContent)===null||n===void 0?void 0:n.slice(0,t);const o=e.cloneNode();o.textContent=(i=e.textContent)===null||i===void 0?void 0:i.slice(t);return{pre:s,post:o}}function*y(e){var t;let n=0;let i;for(let s of e){i=n+(((t=s.textContent)===null||t===void 0?void 0:t.length)||0);yield{node:s,start:n,end:i,isText:s.nodeType===Node.TEXT_NODE};n=i}}function*w(e,t){var n,i;let s=y(e);let o=y(t);let r=s.next();let a=o.next();while(!r.done&&!a.done){let e=r.value;let t=a.value;if(e.isText&&e.start<=t.start&&e.end>=t.end){yield[null,t.node];a=o.next()}else if(t.isText&&t.start<=e.start&&t.end>=e.end){yield[e.node,null];r=s.next()}else{if(e.end===t.end&&e.start===t.start){yield[e.node,t.node];r=s.next();a=o.next()}else if(e.end>t.end){let{pre:i,post:s}=b(e.node,t.end-e.start);if(t.start<e.start){t.node.textContent=(n=t.node.textContent)===null||n===void 0?void 0:n.slice(e.start-t.start)}yield[i,t.node];e.node=s;e.start=t.end;a=o.next()}else if(t.end>e.end){let{pre:n,post:o}=b(t.node,e.end-t.start);if(e.start<t.start){e.node.textContent=(i=e.node.textContent)===null||i===void 0?void 0:i.slice(t.start-e.start)}yield[e.node,n];t.node=o;t.start=e.end;r=s.next()}else{throw new Error(`Unexpected intersection: ${JSON.stringify(e)} ${JSON.stringify(t)}`)}}}}async function C(e){j(e,{checkWeb:true,checkPaths:false})}function x(e){const t=document.createElement("span");t.textContent=e;return t.innerHTML}const S="";function j(e,t){var n,i;const{host:s,sanitizer:o,source:r}=e;const a=r.includes(S);const l=a?o.sanitize(M.ansiSpan(r),{allowedTags:["span"]}):x(r);const d=document.createElement("pre");d.innerHTML=l;const c=d.textContent;const h=[];if(t.checkWeb){h.push("web")}if(t.checkPaths){h.push("paths")}const u=h.join("-");let p=M.autoLinkCache.get(u);if(!p){p=new WeakMap;M.autoLinkCache.set(u,p)}let m;if(c){let e;if((i=(n=o.getAutolink)===null||n===void 0?void 0:n.call(o))!==null&&i!==void 0?i:true){const n=k(p.get(s),c);if(n){const{cachedNodes:i,addedText:s}=n;const o=_(s,t);const r=i[i.length-1];const a=o[0];if(r instanceof Text&&a instanceof Text){const t=r;t.data+=a.data;e=[...i.slice(0,-1),t,...o.slice(1)]}else{e=[...i,...o]}}else{e=_(c,t)}p.set(s,{preTextContent:c,linkedNodes:e.map((e=>e.cloneNode(true)))})}else{e=[document.createTextNode(l)]}const r=Array.from(d.childNodes);m=T(r,e)}else{m=document.createElement("pre")}s.appendChild(m)}function k(e,t){if(!e){return null}if(t.length<e.preTextContent.length){return null}let n=t.substring(e.preTextContent.length);let i=e.linkedNodes;const s=e.linkedNodes[e.linkedNodes.length-1];if(e.preTextContent.endsWith("\n")||n.startsWith("\n")){}else if(s instanceof Text){i=i.slice(0,-1);n=s.textContent+n}else{return null}if(!t.startsWith(e.preTextContent)){return null}return{cachedNodes:i,addedText:n}}async function I(e){const{host:t,linkHandler:n,resolver:i}=e;j(e,{checkWeb:true,checkPaths:true});if(i){await M.handlePaths(t,i,n)}}function T(e,t){const n=document.createElement("pre");let i=false;const s=[];for(let o of w(e,t)){if(!o[0]){s.push(o[1]);i=o[1].nodeType!==Node.TEXT_NODE;continue}else if(!o[1]){s.push(o[0]);i=false;continue}let[e,t]=o;const n=s[s.length-1];if(i&&t.href===n.href){n.appendChild(e)}else{const n=t.nodeType!==Node.TEXT_NODE;if(!n){s.push(e);i=false}else{t.textContent="";t.appendChild(e);s.push(t);i=true}}}for(const o of s){n.appendChild(o)}return n}function E(e,t){const n=e.getElementsByTagName("a");for(let s=0;s<n.length;s++){const e=n[s];if(!(e instanceof HTMLAnchorElement)){continue}const o=e.href;const r=t&&t.isLocal?t.isLocal(o):i.URLExt.isLocal(o);if(!e.target){e.target=r?"_self":"_blank"}if(!r){e.rel="noopener"}}}var M;(function(e){e.autoLinkCache=new Map;function t(e){const t=Array.from(e.getElementsByTagName("script"));for(const n of t){if(!n.parentNode){continue}const e=document.createElement("script");const t=n.attributes;for(let n=0,i=t.length;n<i;++n){const{name:i,value:s}=t[n];e.setAttribute(i,s)}e.textContent=n.textContent;n.parentNode.replaceChild(e,n)}}e.evalInnerHTMLScriptTags=t;function n(e){const t=e.getElementsByTagName("img");for(let n=0;n<t.length;n++){if(!t[n].alt){t[n].alt="Image"}}}e.handleDefaults=n;async function s(e,t,n){const i=[];const s=e.querySelectorAll("*[src]");for(let l=0;l<s.length;l++){i.push(a(s[l],"src",t))}const o=e.getElementsByTagName("a");for(let a=0;a<o.length;a++){i.push(d(o[a],t,n))}const r=e.getElementsByTagName("link");for(let l=0;l<r.length;l++){i.push(a(r[l],"href",t))}return Promise.all(i)}e.handleUrls=s;async function o(e,t,n){const i=Array.from(e.querySelectorAll("a[data-path]"));return Promise.all(i.map((e=>c(e,t,n))))}e.handlePaths=o;function r(e,t){const n=["h1","h2","h3","h4","h5","h6"];for(const i of n){const n=e.getElementsByTagName(i);for(let e=0;e<n.length;e++){const i=n[e];const s=p.createHeaderId(i);if(t){i.id=s}else{i.setAttribute("data-jupyter-id",s)}const o=document.createElement("a");o.target="_self";o.textContent="¶";o.href="#"+s;o.classList.add("jp-InternalAnchorLink");i.appendChild(o)}}}e.headerAnchors=r;async function a(e,t,n){const s=e.getAttribute(t)||"";const o=n.isLocal?n.isLocal(s):i.URLExt.isLocal(s);if(!s||!o){return}try{const o=await n.resolveUrl(s,{attribute:t,tag:e.localName});let r=await n.getDownloadUrl(o);if(i.URLExt.parse(r).protocol!=="data:"){r+=(/\?/.test(r)?"&":"?")+(new Date).getTime()}e.setAttribute(t,r)}catch(r){e.setAttribute(t,"");throw r}}async function d(e,t,n){let s=e.getAttribute("href")||"";const o=t.isLocal?t.isLocal(s):i.URLExt.isLocal(s);if(!s||!o){return}const r=e.hash;if(r){if(r===s){e.target="_self";return}s=s.replace(r,"")}return t.resolveUrl(s,{attribute:"href",tag:"a"}).then((i=>{const s=decodeURIComponent(i);if(n){n.handleLink(e,s,r)}return t.getDownloadUrl(i)})).then((t=>{e.href=t+r})).catch((t=>{e.href=""}))}async function c(e,t,n){let s=e.dataset.path||"";let o=e.dataset.locator?"#"+e.dataset.locator:"";delete e.dataset.path;delete e.dataset.locator;const r=true;const a=t.isLocal?t.isLocal(s,r):i.URLExt.isLocal(s,r);if(!s||!a||!t.resolvePath||!n||!n.handlePath){e.replaceWith(...e.childNodes);return}try{const i=await t.resolvePath(s);if(!i){console.log("Path resolution bailing: does not exist");return}n.handlePath(e,i.path,i.scope,o);e.href=i.path+o}catch(l){console.warn("Path anchor error:",l);e.href="#linking-failed-see-console"}}const h=["ansi-black","ansi-red","ansi-green","ansi-yellow","ansi-blue","ansi-magenta","ansi-cyan","ansi-white","ansi-black-intense","ansi-red-intense","ansi-green-intense","ansi-yellow-intense","ansi-blue-intense","ansi-magenta-intense","ansi-cyan-intense","ansi-white-intense"];function u(e,t,n,i,s,o,r){if(e){const a=[];const l=[];if(i&&typeof t==="number"&&0<=t&&t<8){t+=8}if(o){[t,n]=[n,t]}if(typeof t==="number"){a.push(h[t]+"-fg")}else if(t.length){l.push(`color: rgb(${t})`)}else if(o){a.push("ansi-default-inverse-fg")}if(typeof n==="number"){a.push(h[n]+"-bg")}else if(n.length){l.push(`background-color: rgb(${n})`)}else if(o){a.push("ansi-default-inverse-bg")}if(i){a.push("ansi-bold")}if(s){a.push("ansi-underline")}if(a.length||l.length){r.push("<span");if(a.length){r.push(` class="${a.join(" ")}"`)}if(l.length){r.push(` style="${l.join("; ")}"`)}r.push(">");r.push(e);r.push("</span>")}else{r.push(e)}}}function m(e){let t;let n;let i;const s=e.shift();if(s===2&&e.length>=3){t=e.shift();n=e.shift();i=e.shift();if([t,n,i].some((e=>e<0||255<e))){throw new RangeError("Invalid range for RGB colors")}}else if(s===5&&e.length>=1){const s=e.shift();if(s<0){throw new RangeError("Color index must be >= 0")}else if(s<16){return s}else if(s<232){t=Math.floor((s-16)/36);t=t>0?55+t*40:0;n=Math.floor((s-16)%36/6);n=n>0?55+n*40:0;i=(s-16)%6;i=i>0?55+i*40:0}else if(s<256){t=n=i=(s-232)*10+8}else{throw new RangeError("Color index must be < 256")}}else{throw new RangeError("Invalid extended color specification")}return[t,n,i]}function g(e){const t=/\x1b\[(.*?)([@-~])/g;let n=[];let i=[];let s=false;let o=false;let r=false;let a;const d=[];const c=[];let h=0;e=l()(e);e+="[m";while(a=t.exec(e)){if(a[2]==="m"){const e=a[1].split(";");for(let t=0;t<e.length;t++){const n=e[t];if(n===""){c.push(0)}else if(n.search(/^\d+$/)!==-1){c.push(parseInt(n,10))}else{c.length=0;break}}}else{}const l=e.substring(h,a.index);u(l,n,i,s,o,r,d);h=t.lastIndex;while(c.length){const e=c.shift();switch(e){case 0:n=i=[];s=false;o=false;r=false;break;case 1:case 5:s=true;break;case 4:o=true;break;case 7:r=true;break;case 21:case 22:s=false;break;case 24:o=false;break;case 27:r=false;break;case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:n=e-30;break;case 38:try{n=m(c)}catch(p){c.length=0}break;case 39:n=[];break;case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:i=e-40;break;case 48:try{i=m(c)}catch(p){c.length=0}break;case 49:i=[];break;case 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97:n=e-90+8;break;case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:i=e-100+8;break;default:}}}return d.join("")}e.ansiSpan=g})(M||(M={}))},21944:(e,t,n)=>{"use strict";n.d(t,{D8:()=>l,N3:()=>o,co:()=>a,nc:()=>r});var i=n(5592);var s=n.n(i);const o=new i.Token("@jupyterlab/rendermime:IRenderMimeRegistry",'A service for the rendermime registry for the application. Use this to create renderers for various mime-types in your extension. Many times it will be easier to create a "mime renderer extension" rather than using this service directly.');const r=new i.Token("@jupyterlab/rendermime:ILatexTypesetter","A service for the LaTeX typesetter for the application. Use this if you want to typeset math in your extension.");const a=new i.Token("@jupyterlab/rendermime:IMarkdownParser","A service for rendering markdown syntax as HTML content.");const l=new i.Token("@jupyterlab/rendermime:IUrlResolverFactory","A factory for resolver of asset URLs.")},18901:(e,t,n)=>{"use strict";n.d(t,{A6:()=>f,C6:()=>d,Kc:()=>h,TH:()=>c,TS:()=>v,Vx:()=>g,Yk:()=>m,jL:()=>p,nZ:()=>l,vf:()=>u});var i=n(34881);var s=n.n(i);var o=n(27518);var r=n.n(o);var a=n(11364);class l extends o.Widget{constructor(e){var t,n;super();this.mimeType=e.mimeType;this.sanitizer=e.sanitizer;this.resolver=e.resolver;this.linkHandler=e.linkHandler;this.translator=(t=e.translator)!==null&&t!==void 0?t:i.nullTranslator;this.latexTypesetter=e.latexTypesetter;this.markdownParser=(n=e.markdownParser)!==null&&n!==void 0?n:null;this.node.dataset["mimeType"]=this.mimeType}async renderModel(e,t){if(!t){while(this.node.firstChild){this.node.removeChild(this.node.firstChild)}}this.toggleClass("jp-mod-trusted",e.trusted);await this.render(e);const{fragment:n}=e.metadata;if(n){this.setFragment(n)}}setFragment(e){}}class d extends l{constructor(e){super(e);this.addClass("jp-RenderedHTMLCommon")}setFragment(e){let t;try{t=this.node.querySelector(e.startsWith("#")?`#${CSS.escape(e.slice(1))}`:e)}catch(n){console.warn("Unable to set URI fragment identifier.",n)}if(t){t.scrollIntoView()}}}class c extends d{constructor(e){super(e);this._rendered=Promise.resolve();this.addClass("jp-RenderedHTML")}render(e){return this._rendered=a.e2({host:this.node,source:String(e.data[this.mimeType]),trusted:e.trusted,resolver:this.resolver,sanitizer:this.sanitizer,linkHandler:this.linkHandler,shouldTypeset:this.isAttached,latexTypesetter:this.latexTypesetter,translator:this.translator})}onAfterAttach(e){this._rendered.then((()=>{if(this.latexTypesetter){_.typeset(this.node,this.latexTypesetter,this.resolver)}})).catch(console.warn)}}class h extends l{constructor(e){super(e);this._rendered=Promise.resolve();this.addClass("jp-RenderedLatex")}render(e){return this._rendered=a.zG({host:this.node,source:String(e.data[this.mimeType]),shouldTypeset:this.isAttached,latexTypesetter:this.latexTypesetter,resolver:this.resolver})}onAfterAttach(e){this._rendered.then((()=>{if(this.latexTypesetter){_.typeset(this.node,this.latexTypesetter,this.resolver)}})).catch(console.warn)}}class u extends l{constructor(e){super(e);this.addClass("jp-RenderedImage")}render(e){const t=e.metadata[this.mimeType];return a.mx({host:this.node,mimeType:this.mimeType,source:String(e.data[this.mimeType]),width:t&&t.width,height:t&&t.height,needsBackground:e.metadata["needs_background"],unconfined:t&&t.unconfined})}}class p extends d{constructor(e){super(e);this._rendered=Promise.resolve();this.addClass("jp-RenderedMarkdown")}render(e){return this._rendered=a.Gc({host:this.node,source:String(e.data[this.mimeType]),trusted:e.trusted,resolver:this.resolver,sanitizer:this.sanitizer,linkHandler:this.linkHandler,shouldTypeset:this.isAttached,latexTypesetter:this.latexTypesetter,markdownParser:this.markdownParser,translator:this.translator})}async renderModel(e){await super.renderModel(e,true)}onAfterAttach(e){this._rendered.then((()=>{if(this.latexTypesetter){_.typeset(this.node,this.latexTypesetter,this.resolver)}})).catch(console.warn)}}class m extends l{constructor(e){super(e);this._rendered=Promise.resolve();this.addClass("jp-RenderedSVG")}render(e){const t=e.metadata[this.mimeType];return this._rendered=a.d8({host:this.node,source:String(e.data[this.mimeType]),trusted:e.trusted,unconfined:t&&t.unconfined,translator:this.translator})}onAfterAttach(e){this._rendered.then((()=>{if(this.latexTypesetter){_.typeset(this.node,this.latexTypesetter,this.resolver)}})).catch(console.warn)}}class g extends l{constructor(e){super(e);this.addClass("jp-RenderedText")}render(e){return a.S5({host:this.node,sanitizer:this.sanitizer,source:String(e.data[this.mimeType]),translator:this.translator})}}class f extends l{constructor(e){super(e);this.addClass("jp-RenderedText")}render(e){return a.vr({host:this.node,sanitizer:this.sanitizer,source:String(e.data[this.mimeType]),linkHandler:this.linkHandler,resolver:this.resolver,translator:this.translator})}}class v extends l{constructor(e){super(e);this.addClass("jp-RenderedJavaScript")}render(e){const t=this.translator.load("jupyterlab");return a.S5({host:this.node,sanitizer:this.sanitizer,source:t.__("JavaScript output is disabled in JupyterLab"),translator:this.translator})}}var _;(function(e){function t(e,t,n){const i=t.typeset(e);if(i instanceof Promise){i.then((()=>a.N1(e,n))).catch(console.warn)}else{a.N1(e,n)}}e.typeset=t})(_||(_={}))},5893:(e,t,n)=>{"use strict";var i=n(10395);var s=n(97913);var o=n(85072);var r=n.n(o);var a=n(97825);var l=n.n(a);var d=n(77659);var c=n.n(d);var h=n(55056);var u=n.n(h);var p=n(10540);var m=n.n(p);var g=n(41113);var f=n.n(g);var v=n(30354);var _={};_.styleTagTransform=f();_.setAttributes=u();_.insert=c().bind(null,"head");_.domAPI=l();_.insertStyleElement=m();var b=r()(v.A,_);const y=v.A&&v.A.locals?v.A.locals:undefined},51883:(e,t,n)=>{"use strict";n.r(t);n.d(t,{CommandIDs:()=>k,default:()=>D});var i=n(88617);var s=n(38850);var o=n(58719);var r=n(11927);var a=n(78629);var l=n(34881);var d=n(4073);var c=n(40959);var h=n(49278);var u=n(26568);var p=n(2336);var m=n(44914);var g=n.n(m);const f="jp-mod-kernel";const v="jp-mod-kernelspec";const _="jp-mod-kernel-widget";const b="jp-RunningSessions-item-label-kernel-id";async function y(e,t,n){const{commands:i,contextMenu:o,serviceManager:r}=n;const{kernels:a,kernelspecs:l,sessions:p}=r;const{runningChanged:m,RunningKernel:v}=w;const _=new u.Throttler((()=>m.emit(undefined)),100);const b=t.load("jupyterlab");const y=b.__("Shut Down Unused");let C=false;const x=new u.Throttler(j,1e4);a.runningChanged.connect((()=>{void _.invoke();void x.invoke()}));p.runningChanged.connect((()=>void _.invoke()));await Promise.all([a.ready,l.ready,p.ready]);function S(){return Array.from(a.running()).filter((e=>{var t;return((t=e.connections)!==null&&t!==void 0?t:1)<1}))}async function j(){const e=C;C=S().length>0;if(e!==C){i.notifyCommandChanged(k.kernelShutDownUnused)}}i.addCommand(k.kernelShutDownUnused,{label:e=>e.toolbar?"":y,icon:e=>e.toolbar?d.cleaningIcon:undefined,execute:async()=>{const e=S();if(e.length===0){return}const t=await(0,s.showDialog)({title:y,body:g().createElement(g().Fragment,null,b.__("Are you sure you want to shut down the following unused kernels?"),g().createElement("ul",null,e.map((e=>g().createElement("li",{key:e.id},b.__("%1 (%2)",e.name,e.id.slice(0,8))))))),buttons:[s.Dialog.cancelButton(),s.Dialog.warnButton({label:y})]});if(t.button.accept){await Promise.allSettled(e.map((e=>h.KernelAPI.shutdownKernel(e.id))));await Promise.all([a.refreshRunning(),p.refreshRunning()])}},isEnabled:()=>C,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:b.__("Whether executed from toolbar")}}}}});e.add({name:b.__("Kernels"),supportsMultipleViews:true,running:e=>{var t;const n=new Map;for(const o of a.running()){const s=(t=n.get(o.name))!==null&&t!==void 0?t:[];n.set(o.name,s);s.push(new v({commands:i,kernel:o,kernels:a,sessions:p,trans:b,mode:e.mode}))}const s=Array.from(n.entries()).map((([e,t])=>{var n;return new w.KernelSpecItem({name:e,kernels:t,spec:(n=l.specs)===null||n===void 0?void 0:n.kernelspecs[e],trans:b})}));return e.mode==="tree"?s:s.map((e=>e.children.map((e=>{var t;return(t=e.children)!==null&&t!==void 0?t:[]})).flat())).flat()},shutdownAll:()=>a.shutdownAll(),refreshRunning:()=>Promise.all([a.refreshRunning(),p.refreshRunning()]),runningChanged:m,shutdownLabel:b.__("Shut Down Kernel"),shutdownAllLabel:b.__("Shut Down All"),shutdownAllConfirmationText:()=>b._n("Are you sure you want to permanently shut down the running kernel?","Are you sure you want to permanently shut down the %1 running kernels?",a.runningCount),toolbarButtons:[new d.CommandToolbarButton({commands:i,id:k.kernelShutDownUnused,caption:y,args:{toolbar:true}})]});const I=e=>e.classList.contains(f);i.addCommand(k.kernelNewConsole,{icon:d.consoleIcon,label:b.__("New Console for Kernel"),execute:e=>{var t;const s=n.contextMenuHitTest(I);const o=(t=e.id)!==null&&t!==void 0?t:s===null||s===void 0?void 0:s.dataset["context"];if(o){return i.execute("console:create",{kernelPreference:{id:o}})}},describedBy:{args:{type:"object",properties:{id:{type:"string",description:b.__("Kernel ID to create console for")}}}}});i.addCommand(k.kernelNewNotebook,{icon:d.notebookIcon,label:b.__("New Notebook for Kernel"),execute:e=>{var t;const s=n.contextMenuHitTest(I);const o=(t=e.id)!==null&&t!==void 0?t:s===null||s===void 0?void 0:s.dataset["context"];if(o){return i.execute("notebook:create-new",{kernelId:o})}},describedBy:{args:{type:"object",properties:{id:{type:"string",description:b.__("Kernel ID to create notebook for")}}}}});i.addCommand(k.kernelOpenSession,{icon:e=>e.type==="console"?d.consoleIcon:e.type==="notebook"?d.notebookIcon:undefined,isEnabled:({path:e,type:t})=>!!t||e!==undefined,label:({name:e,path:t})=>e||c.PathExt.basename(t||b.__("Unknown Session")),execute:({path:e,type:t})=>{if(!t||e===undefined){return}const n=t==="console"?"console:open":"docmanager:open";return i.execute(n,{path:e})},describedBy:{args:{type:"object",properties:{path:{type:"string",description:b.__("Path to the session to open")},type:{type:"string",description:b.__("Type of session (console or notebook)")},name:{type:"string",description:b.__("Name of the session")}}}}});i.addCommand(k.kernelShutDown,{icon:d.closeIcon,label:b.__("Shut Down Kernel"),execute:e=>{var t;const i=n.contextMenuHitTest(I);const s=(t=e.id)!==null&&t!==void 0?t:i===null||i===void 0?void 0:i.dataset["context"];if(s){return a.shutdown(s)}},describedBy:{args:{type:"object",properties:{id:{type:"string",description:b.__("Kernel ID to shut down")}}}}});const T=[];o.opened.connect((async()=>{var e,t,i;const s=(t=(e=o.menu.items.find((e=>{var t;return e.type==="submenu"&&((t=e.submenu)===null||t===void 0?void 0:t.id)==="jp-contextmenu-connected-sessions"})))===null||e===void 0?void 0:e.submenu)!==null&&t!==void 0?t:null;if(!s){return}T.forEach((e=>e.dispose()));T.length=0;s.clearItems();const r=n.contextMenuHitTest(I);const a=r===null||r===void 0?void 0:r.dataset["context"];if(!a){return}const l=k.kernelOpenSession;for(const n of p.running()){if(a===((i=n.kernel)===null||i===void 0?void 0:i.id)){const{name:e,path:t,type:i}=n;T.push(s.addItem({command:l,args:{name:e,path:t,type:i}}))}}}))}var w;(function(e){class t{constructor(e){this._name=e.name;this.className=v;this._kernels=e.kernels;this.spec=e.spec||null;this.trans=e.trans}icon(){const{spec:e}=this;if(!e||!e.resources){return d.jupyterIcon}return e.resources["logo-svg"]||e.resources["logo-64x64"]||e.resources["logo-32x32"]}label(){const{_name:e,spec:t}=this;return(t===null||t===void 0?void 0:t.display_name)||e}get children(){return this._kernels}}e.KernelSpecItem=t;class n{constructor(e){this.className=f;this.commands=e.commands;this.kernel=e.kernel;this.context=this.kernel.id;this.kernels=e.kernels;this.sessions=e.sessions;this.trans=e.trans;this._mode=e.mode}get children(){var e;const t=[];const n=k.kernelOpenSession;const{commands:i}=this;for(const s of this.sessions.running()){if(this.kernel.id===((e=s.kernel)===null||e===void 0?void 0:e.id)){const{name:e,path:o,type:r}=s;t.push({className:_,context:this.kernel.id,open:()=>void i.execute(n,{name:e,path:o,type:r}),icon:()=>r==="console"?d.consoleIcon:r==="notebook"?d.notebookIcon:d.jupyterIcon,label:()=>{if(this._mode==="tree"){return e}const t=this.kernel.id.split("-")[0];return g().createElement(g().Fragment,null,e," ",g().createElement("span",{className:b},"(",t,")"))},labelTitle:()=>o,name:()=>e})}}return t}shutdown(){return this.kernels.shutdown(this.kernel.id)}icon(){return d.kernelIcon}label(){const{kernel:e}=this;const t=e.id.split("-")[0];return g().createElement(g().Fragment,null,this._summary," ",g().createElement("span",{className:b},"(",t,")"))}labelTitle(){var e;const{trans:t}=this;const{id:n}=this.kernel;const i=[`${this._summary}: ${n}`];for(const s of this.sessions.running()){if(this.kernel.id===((e=s.kernel)===null||e===void 0?void 0:e.id)){const{path:e,type:n}=s;i.push(t.__(`%1\nPath: %2`,n,e))}}return i.join("\n\n")}get _summary(){const e=this.children;if(e.length===0){return this.trans.__("No sessions connected")}else if(e.length==1){return e[0].name()}else{return this.trans.__("%1 and %2 more",e[0].name(),e.length-1)}}}e.RunningKernel=n;e.runningChanged=new p.Signal({})})(w||(w={}));var C=n(93067);class x{constructor(e){this._tabsChanged=new p.Signal(this);this._widgets=[];this._labShell=e;this._labShell.layoutModified.connect(this._emitTabsChanged,this)}get tabsChanged(){return this._tabsChanged}addWidget(e){e.title.changed.connect(this._emitTabsChanged,this);this._widgets.push(e)}_emitTabsChanged(){this._widgets.forEach((e=>{e.title.changed.disconnect(this._emitTabsChanged,this)}));this._widgets=[];this._tabsChanged.emit(void 0)}}function S(e,t,n){const i=new x(n);const s=t.load("jupyterlab");e.add({name:s.__("Open Tabs"),supportsMultipleViews:false,running:()=>Array.from(n.widgets("main")).map((e=>{i.addWidget(e);return new o(e)})),shutdownAll:()=>{const e=Array.from(n.widgets("main"));for(const t of e){t.close()}},refreshRunning:()=>void 0,runningChanged:i.tabsChanged,shutdownLabel:s.__("Close"),shutdownAllLabel:s.__("Close All"),shutdownAllConfirmationText:s.__("Are you sure you want to close all open tabs?")});class o{constructor(e){this._widget=e}open(){n.activateById(this._widget.id)}shutdown(){this._widget.close()}icon(){const e=this._widget.title.icon;return e instanceof d.LabIcon?e:d.fileIcon}label(){return this._widget.title.label}labelTitle(){let e;if(this._widget instanceof C.DocumentWidget){e=this._widget.context.path}else{e=this._widget.title.label}return e}}}function j(e,t,n,i,s){const o=s.load("jupyterlab");e.add({name:o.__("Recently Closed"),supportsMultipleViews:false,running:()=>t.recentlyClosed.map((e=>new r(e))),shutdownAll:()=>{for(const e of t.recentlyClosed){t.removeRecent(e,"closed")}},refreshRunning:()=>void 0,runningChanged:t.changed,shutdownLabel:o.__("Forget"),shutdownAllLabel:o.__("Forget All"),shutdownAllConfirmationText:o.__("Are you sure you want to clear recently closed tabs?")});class r{constructor(e){this._recent=e}async open(){const e=this._recent;const i=await t.validate(e);if(!i){return}await n.execute("docmanager:open",{path:e.path,factory:e.factory});t.removeRecent(e,"closed")}shutdown(){t.removeRecent(this._recent,"closed")}icon(){if(!this._recent.factory){return d.fileIcon}const e=i.getFileTypesForPath(this._recent.path);for(const n of e){const e=n.icon;if(e instanceof d.LabIcon){return e}}const t=i.getWidgetFactory(this._recent.factory);if(t){for(const e of t.fileTypes){const t=i.getFileType(e);const n=t===null||t===void 0?void 0:t.icon;if(n instanceof d.LabIcon){return n}}}return d.fileIcon}label(){return c.PathExt.basename(this._recent.path)}labelTitle(){return this._recent.path}}}var k;(function(e){e.kernelNewConsole="running:kernel-new-console";e.kernelNewNotebook="running:kernel-new-notebook";e.kernelOpenSession="running:kernel-open-session";e.kernelShutDown="running:kernel-shut-down";e.kernelShutDownUnused="running:kernel-shut-down-unused";e.showPanel="running:show-panel";e.showModal="running:show-modal"})(k||(k={}));const I={id:"@jupyterlab/running-extension:plugin",description:"Provides the running session managers.",provides:o.IRunningSessionManagers,requires:[l.ITranslator],optional:[i.ILabShell],autoStart:true,activate:(e,t,n)=>{const i=new o.RunningSessionManagers;if(n){S(i,t,n)}void y(i,t,e);return i}};const T={id:"@jupyterlab/running-extension:sidebar",description:"Provides the running session sidebar.",provides:o.IRunningSessionSidebar,requires:[o.IRunningSessionManagers,l.ITranslator],optional:[i.ILayoutRestorer,a.IStateDB],autoStart:true,activate:(e,t,n,i,s)=>{const r=n.load("jupyterlab");const a=new o.RunningSessions(t,n,s);a.id="jp-running-sessions";a.title.caption=r.__("Running Terminals and Kernels");a.title.icon=d.runningIcon;a.node.setAttribute("role","region");a.node.setAttribute("aria-label",r.__("Running Sessions section"));if(i){i.add(a,"running-sessions")}e.shell.add(a,"left",{rank:200,type:"Sessions and Tabs"});e.commands.addCommand(k.showPanel,{label:r.__("Sessions and Tabs"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{e.shell.activateById(a.id)}});return a}};const E={id:"@jupyterlab/running-extension:recently-closed",description:"Adds recently closed documents list.",requires:[o.IRunningSessionManagers,r.IRecentsManager,l.ITranslator],autoStart:true,activate:(e,t,n,i)=>{j(t,n,e.commands,e.docRegistry,i)}};const M={id:"@jupyterlab/running-extension:search-tabs",description:"Adds a widget to search open and closed tabs.",requires:[o.IRunningSessionManagers,l.ITranslator],optional:[s.ICommandPalette,o.IRunningSessionSidebar],autoStart:true,activate:(e,t,n,i,r)=>{const a=n.load("jupyterlab");e.commands.addCommand(k.showModal,{execute:()=>{const e=new o.SearchableSessions(t,n);const i=new s.Dialog({title:a.__("Tabs and Running Sessions"),body:e,buttons:[s.Dialog.okButton({})],hasClose:true});i.addClass("jp-SearchableSessions-modal");return i.launch()},label:a.__("Search Tabs and Running Sessions"),describedBy:{args:{type:"object",properties:{}}}});if(i){i.addItem({command:k.showModal,category:a.__("Running")})}if(r){const t=new d.CommandToolbarButton({commands:e.commands,id:k.showModal,icon:d.launcherIcon,label:""});r.toolbar.addItem("open-as-modal",t)}}};const D=[I,T,E,M]},54289:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(79010);var a=n(3579);var l=n(41603);var d=n(94780)},19503:(e,t,n)=>{"use strict";n.r(t);n.d(t,{IRunningSessionManagers:()=>B,IRunningSessionSidebar:()=>O,RunningSessionManagers:()=>F,RunningSessions:()=>q,SearchableSessions:()=>J,SearchableSessionsList:()=>G});var i=n(54158);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(34881);var l=n.n(a);var d=n(4073);var c=n.n(d);var h=n(5592);var u=n.n(h);var p=n(90044);var m=n.n(p);var g=n(76326);var f=n.n(g);var v=n(2336);var _=n.n(v);var b=n(27518);var y=n.n(b);var w=n(44914);var C=n.n(w);const x="jp-RunningSessions";const S="jp-SearchableSessions";const j="jp-RunningSessions-section";const k="jp-RunningSessions-sectionContainer";const I="jp-RunningSessions-item";const T="jp-RunningSessions-itemLabel";const E="jp-RunningSessions-itemDetail";const M="jp-RunningSessions-itemShutdown";const D="jp-RunningSessions-shutdownAll";const A="jp-RunningSessions-icon";const P="jp-mod-running-list-view";const L="jp-RunningSessions-viewButton";const R="jp-RunningSessions-collapseButton";const N="jp-running-sessions";const B=new h.Token("@jupyterlab/running:IRunningSessionManagers","A service to add running session managers.");const O=new h.Token("@jupyterlab/running:IRunningSessionsSidebar","A token allowing to modify the running sessions sidebar.");class F{constructor(){this._added=new v.Signal(this);this._managers=[]}get added(){return this._added}add(e){this._managers.push(e);this._added.emit(e);return new p.DisposableDelegate((()=>{const t=this._managers.indexOf(e);if(t>-1){this._managers.splice(t,1)}}))}items(){return this._managers}}function z(e){var t,n;const{runningItem:s}=e;const[o,r]=C().useState(false);const l=(0,w.useRef)(false);const c=[I];const h=(t=s.detail)===null||t===void 0?void 0:t.call(s);const u=s.icon();const p=s.labelTitle?s.labelTitle():"";const m=e.translator||a.nullTranslator;const g=m.load("jupyterlab");const f=e.shutdownItemIcon||d.closeIcon;const v=(n=typeof e.shutdownLabel==="function"?e.shutdownLabel(s):e.shutdownLabel)!==null&&n!==void 0?n:g.__("Shut Down");const _=(0,w.useCallback)((e=>{var t;l.current=true;e.preventDefault();(t=s.shutdown)===null||t===void 0?void 0:t.call(s)}),[s,l]);const b=s.children;const y=!!(b===null||b===void 0?void 0:b.length);const x=(0,w.useCallback)((e=>{if(l.current){return}const t=(0,d.getTreeItemElement)(e.target);if(e.currentTarget!==t){return}if(y){r(!o)}}),[y,o,l]);e.collapseToggled.connect(((e,t)=>r(t)));if(s.className){c.push(s.className)}return C().createElement(C().Fragment,null,C().createElement(i.TreeItem,{className:`${c.join(" ")} jp-TreeItem nested`,onClick:x,"data-context":s.context||"",expanded:!o},u?typeof u==="string"?C().createElement("img",{src:u,className:A,slot:"start"}):C().createElement(u.react,{slot:"start",tag:"span",className:A}):undefined,C().createElement("span",{className:T,title:p,onClick:s.open&&(()=>s.open())},s.label()),h&&C().createElement("span",{className:E},h),s.shutdown&&C().createElement(i.Button,{appearance:"stealth",className:M,onClick:_,title:v,slot:"end"},C().createElement(f.react,{tag:null})),b&&C().createElement(W,{runningItems:b,shutdownItemIcon:f,translator:m,collapseToggled:e.collapseToggled})))}function W(e){const t=e.filter;const n=t?e.runningItems.map((e=>({item:e,score:t(e)}))).filter((({score:e})=>e!==null)).sort(((e,t)=>e.score.score-t.score.score)).map((({item:e})=>e)):e.runningItems;return C().createElement(C().Fragment,null,n.map(((t,n)=>C().createElement(z,{child:e.child,key:n,runningItem:t,shutdownLabel:e.shutdownLabel,shutdownItemIcon:e.shutdownItemIcon,translator:e.translator,collapseToggled:e.collapseToggled}))))}class H extends d.ReactWidget{constructor(e){super();this._filterFn=e=>({score:0});this._filterChanged=new v.Signal(this);this.filter=this.filter.bind(this);this._updateFilter=this._updateFilter.bind(this);this._trans=e.load("jupyterlab");this.addClass("jp-SearchableSessions-filter")}get filterChanged(){return this._filterChanged}render(){return C().createElement(d.FilterBox,{placeholder:this._trans.__("Search"),updateFilter:this._updateFilter,useFuzzyFilter:false,caseSensitive:false})}filter(e){var t;const n=[this._getTextContent(e.label())];for(const i of(t=e.children)!==null&&t!==void 0?t:[]){n.push(this._getTextContent(i.label()))}return this._filterFn(n.join(" "))}_getTextContent(e){if(typeof e==="string"){return e}if(typeof e==="number"){return""+e}if(typeof e==="boolean"){return""+e}if(Array.isArray(e)){return e.map((e=>this._getTextContent(e))).join(" ")}if(e&&(0,w.isValidElement)(e)){return e.props.children.map((e=>this._getTextContent(e))).join(" ")}return""}_updateFilter(e){this._filterFn=e;this._filterChanged.emit()}}class V extends d.ReactWidget{constructor(e){super();this._options=e;this._update=new v.Signal(this);e.manager.runningChanged.connect(this._emitUpdate,this);if(e.filterProvider){e.filterProvider.filterChanged.connect(this._emitUpdate,this)}}get mode(){return this._mode}set mode(e){if(this._mode!==e){this._mode=e;this._update.emit()}}dispose(){v.Signal.clearData(this);super.dispose()}onBeforeShow(e){super.onBeforeShow(e);this._update.emit()}render(){const e=this._options;let t=true;return C().createElement(d.UseSignal,{signal:this._update},(()=>{var n;if(t){t=false}else{e.runningItems=e.manager.running({mode:this.mode})}const s=["jp-TreeView"];if(this.mode==="list"){s.push("jp-mod-flat")}return C().createElement("div",{className:k},C().createElement(i.TreeView,{className:s.join(" ")},C().createElement(W,{runningItems:e.runningItems,shutdownLabel:e.manager.shutdownLabel,shutdownItemIcon:e.manager.shutdownItemIcon,filter:(n=e.filterProvider)===null||n===void 0?void 0:n.filter,translator:e.translator,collapseToggled:e.collapseToggled})))}))}_emitUpdate(){if(!this.isVisible){return}this._update.emit()}}class U extends d.PanelWithToolbar{constructor(e){var t;super();this._buttons=null;this._listView=false;this._collapseToggled=new v.Signal(this);this._viewChanged=new v.Signal(this);this._listView=((t=e.viewMode)!==null&&t!==void 0?t:"tree")==="list";this._manager=e.manager;this._filterProvider=e.filterProvider;const n=e.translator||a.nullTranslator;this._trans=n.load("jupyterlab");this.addClass(j);this.title.label=e.manager.name;this._manager.runningChanged.connect(this._onListChanged,this);if(e.filterProvider){e.filterProvider.filterChanged.connect(this._onListChanged,this)}this._updateEmptyClass();const i=e.manager.running({mode:e.manager.supportsMultipleViews&&!this._listView?"tree":"list"});if(e.showToolbar!==false){this._initializeToolbar(i)}this._listWidget=new V({runningItems:i,collapseToggled:this._collapseToggled,...e});this._listWidget.mode=e.manager.supportsMultipleViews&&!this._listView?"tree":"list";this.addWidget(this._listWidget)}toggleListView(e){const t=typeof e!=="undefined"?e:!this._listView;this._listView=t;if(this._buttons){const e=this._buttons["switch-view"];e.pressed=t}this._collapseToggled.emit(false);if(this._manager.supportsMultipleViews===undefined){this.toggleClass(P,t)}this._updateButtons();this._listWidget.mode=this._manager.supportsMultipleViews&&!this._listView?"tree":"list";this._viewChanged.emit({mode:t?"list":"tree"})}dispose(){if(this.isDisposed){return}v.Signal.clearData(this);super.dispose()}get _shutdownAllLabel(){return this._manager.shutdownAllLabel||this._trans.__("Shut Down All")}_initializeToolbar(e){const t=e.length>0;const n=this._shutdownAllLabel;const i=`${n}?`;const s=()=>{var e;const t=(e=typeof this._manager.shutdownAllConfirmationText==="function"?this._manager.shutdownAllConfirmationText():this._manager.shutdownAllConfirmationText)!==null&&e!==void 0?e:`${n} ${this._manager.name}`;void(0,o.showDialog)({title:i,body:t,buttons:[o.Dialog.cancelButton(),o.Dialog.warnButton({label:n})]}).then((e=>{if(e.button.accept){this._manager.shutdownAll()}}))};const r=new d.ToolbarButton({label:n,className:`${D}${!t?" jp-mod-disabled":""}`,enabled:t,onClick:s.bind(this)});const a=new d.ToolbarButton({className:L,enabled:t,icon:d.tableRowsIcon,pressedIcon:d.treeViewIcon,onClick:()=>this.toggleListView(),tooltip:this._trans.__("Switch to List View"),pressedTooltip:this._trans.__("Switch to Tree View")});const l=new d.ToolbarButton({className:R,enabled:t,icon:d.collapseAllIcon,pressedIcon:d.expandAllIcon,onClick:()=>{const e=!l.pressed;this._collapseToggled.emit(e);l.pressed=e},tooltip:this._trans.__("Collapse All"),pressedTooltip:this._trans.__("Expand All")});this._buttons={"switch-view":a,"collapse-expand":l,"shutdown-all":r};this._updateButtons();this._manager.runningChanged.connect(this._updateButtons,this);if(this._manager.toolbarButtons){this._manager.toolbarButtons.forEach((e=>this.toolbar.addItem(e instanceof d.CommandToolbarButton?e.commandId:e.id,e)))}for(const o of["collapse-expand","switch-view","shutdown-all"]){this.toolbar.addItem(o,this._buttons[o])}this.toolbar.addClass("jp-RunningSessions-toolbar");this._toolbar.node.setAttribute("aria-label",this._trans.__("%1 toolbar",this.title.label))}_onListChanged(){this._updateButtons();this._updateEmptyClass()}_updateEmptyClass(){if(this._filterProvider){const e=this._manager.running({mode:this._manager.supportsMultipleViews&&!this._listView?"tree":"list"}).filter(this._filterProvider.filter);const t=e.length===0;if(t){this.node.classList.toggle("jp-mod-empty",true)}else{this.node.classList.toggle("jp-mod-empty",false)}}}get viewChanged(){return this._viewChanged}_updateButtons(){if(!this._buttons){return}let e=this._manager.running({mode:this._manager.supportsMultipleViews&&!this._listView?"tree":"list"});const t=e.length>0;const n=this._manager.supportsMultipleViews===undefined?e.filter((e=>e.children)).length!==0:this._manager.supportsMultipleViews;const i=n&&!this._buttons["switch-view"].pressed;this._buttons["switch-view"].node.style.display=n?"flex":"none";this._buttons["collapse-expand"].node.style.display=i?"flex":"none";this._buttons["collapse-expand"].enabled=t;this._buttons["switch-view"].enabled=t;this._buttons["shutdown-all"].enabled=t}}class q extends d.SidePanel{constructor(e,t,n){super();this.managers=e;this._stateDB=n!==null&&n!==void 0?n:null;this.translator=t!==null&&t!==void 0?t:a.nullTranslator;const i=this.translator.load("jupyterlab");this.addClass(x);this.toolbar.addItem("refresh",new d.ToolbarButton({tooltip:i.__("Refresh List"),icon:d.refreshIcon,onClick:()=>e.items().forEach((e=>e.refreshRunning()))}));e.items().forEach((t=>this.addSection(e,t)));e.added.connect(this.addSection,this)}dispose(){if(this.isDisposed){return}this.managers.added.disconnect(this.addSection,this);super.dispose()}async addSection(e,t){const n=new U({manager:t,translator:this.translator});this.addWidget(n);const i=await this._getState();const s=i.listViewSections;const o=t.name;if(s&&s.includes(o)){n.toggleListView(true)}n.viewChanged.connect((async(e,t)=>{await this._updateState(o,t.mode)}))}async _updateState(e,t){var n;const i=await this._getState();let s=(n=i.listViewSections)!==null&&n!==void 0?n:[];if(t==="list"&&!s.includes(e)){s.push(e)}else{s=s.filter((t=>t!==e))}const o={listViewSections:s};if(this._stateDB){await this._stateDB.save(N,o)}}async _getState(){var e;if(!this._stateDB){return{}}return(e=await this._stateDB.fetch(N))!==null&&e!==void 0?e:{}}}class $ extends U{constructor(e){super(e);const t=document.createElement("h3");t.className="jp-SearchableSessions-title";const n=t.appendChild(document.createElement("span"));n.className="jp-SearchableSessions-titleLabel";n.textContent=this.title.label;this.node.insertAdjacentElement("afterbegin",t)}}class K extends b.Widget{constructor(e){super();const t=e.load("jupyterlab");this.addClass("jp-SearchableSessions-emptyIndicator");this.node.textContent=t.__("No matches")}}class J extends b.Panel{constructor(e,t){super();this._activeIndex=0;this._translator=t!==null&&t!==void 0?t:a.nullTranslator;this.addClass(x);this.addClass(S);this._filterWidget=new H(this._translator);this.addWidget(this._filterWidget);this._list=new G(e,this._filterWidget,t);this.addWidget(this._list);this._filterWidget.filterChanged.connect((()=>{this._activeIndex=0;this._updateActive(0)}),this)}dispose(){if(this.isDisposed){return}v.Signal.clearData(this);super.dispose()}getValue(){const e=[...this.node.querySelectorAll("."+T)];const t=Math.min(Math.max(this._activeIndex,0),e.length-1);e[t].click()}handleEvent(e){switch(e.type){case"keydown":this._evtKeydown(e);break}}onAfterAttach(e){this._forceFocusInput();this.node.addEventListener("keydown",this);setTimeout((()=>{this._updateActive(0)}),0)}onAfterDetach(e){this.node.removeEventListener("keydown",this)}_forceFocusInput(){var e;(e=this._filterWidget.renderPromise)===null||e===void 0?void 0:e.then((()=>{var e;const t=this._filterWidget.node.querySelector("jp-search");const n=(e=t===null||t===void 0?void 0:t.shadowRoot)===null||e===void 0?void 0:e.querySelector("input");if(!n){console.warn("Input element not found, cannot focus");return}n.focus()})).catch(console.warn)}_evtKeydown(e){if(e.key==="ArrowDown"||e.key==="ArrowUp"){const t=e.key==="ArrowDown"?+1:-1;const n=this._updateActive(t);if(n){e.preventDefault()}}}_updateActive(e){const t=[...this.node.querySelectorAll("."+I)].filter((e=>e.checkVisibility()));if(!t.length){return false}for(const s of t){if(s.classList.contains("jp-mod-active")){s.classList.toggle("jp-mod-active",false)}}const n=this._activeIndex;let i=null;if(n===-1){i=e===+1?0:t.length-1}else{i=Math.min(Math.max(n+e,0),t.length-1)}if(i!==null){t[i].classList.add("jp-mod-active");g.ElementExt.scrollIntoViewIfNeeded(this._list.node,t[i]);this._activeIndex=i;return true}return false}}class G extends b.Panel{constructor(e,t,n){super();this._managers=e;this._translator=n!==null&&n!==void 0?n:a.nullTranslator;this._filterWidget=t;this.addClass("jp-SearchableSessions-list");this._emptyIndicator=new K(this._translator);this.addWidget(this._emptyIndicator);e.items().forEach((t=>this.addSection(e,t)));e.added.connect(this.addSection,this)}dispose(){if(this.isDisposed){return}this._managers.added.disconnect(this.addSection,this);super.dispose()}addSection(e,t){const n=new $({manager:t,translator:this._translator,showToolbar:false,filterProvider:this._filterWidget,viewMode:"list"});n.toggleListView(true);this.addWidget(n);this.addWidget(this._emptyIndicator)}}},94780:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(85072);var a=n.n(r);var l=n(97825);var d=n.n(l);var c=n(77659);var h=n.n(c);var u=n(55056);var p=n.n(u);var m=n(10540);var g=n.n(m);var f=n(41113);var v=n.n(f);var _=n(18799);var b={};b.styleTagTransform=v();b.setAttributes=p();b.insert=h().bind(null,"head");b.domAPI=d();b.insertStyleElement=g();var y=a()(_.A,b);const w=_.A&&_.A.locals?_.A.locals:undefined},28560:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>C});var i=n(49278);var s=n.n(i);const o={id:"@jupyterlab/services-extension:config-section-manager",autoStart:true,provides:i.IConfigSectionManager,optional:[i.IServerSettings],description:"Provides the config section manager.",activate:(e,t)=>{const n=new i.ConfigSectionManager({serverSettings:t});i.ConfigSection._setConfigSectionManager(n);return n}};const r={id:"@jupyterlab/services-extension:connection-status",autoStart:true,provides:i.IConnectionStatus,description:"Provides the default connection status.",activate:()=>new i.ConnectionStatus};const a={id:"@jupyterlab/services-extension:contents-manager",description:"The default contents manager plugin.",autoStart:true,provides:i.IContentsManager,requires:[i.IDefaultDrive,i.IServerSettings],activate:(e,t,n)=>new i.ContentsManager({defaultDrive:t,serverSettings:n})};const l={id:"@jupyterlab/services-extension:default-content-provider",description:"The default content provider for the contents manager.",autoStart:true,provides:i.IDefaultContentProvider,optional:[i.IServerSettings],activate:(e,t)=>{const n="api/contents";t=t!==null&&t!==void 0?t:i.ServerConnection.makeSettings();return new i.RestContentProvider({serverSettings:t,apiEndpoint:n})}};const d={id:"@jupyterlab/services-extension:content-provider-warning",description:"Warn if user is overwriting the deprecated contentprovider plugin.",autoStart:true,requires:[i.IDefaultContentProvider],activate:(e,t)=>{if(!(t instanceof i.RestContentProvider)){console.error("Defining a IDefaultContentProvider plugin is deprecated since JupyterLab 4.5.1 and does not be have any effect.")}}};const c={id:"@jupyterlab/services-extension:default-drive",description:"The default drive for the contents manager.",autoStart:true,provides:i.IDefaultDrive,optional:[i.IServerSettings],activate:(e,t)=>new i.Drive({serverSettings:t!==null&&t!==void 0?t:undefined})};const h={id:"@jupyterlab/services-extension:event-manager",description:"The event manager plugin.",autoStart:true,provides:i.IEventManager,optional:[i.IServerSettings,i.IConnectionStatus],activate:(e,t,n)=>new i.EventManager({serverSettings:t,standby:()=>!(n===null||n===void 0?void 0:n.isConnected)||"when-hidden"})};const u={id:"@jupyterlab/services-extension:kernel-manager",description:"The kernel manager plugin.",autoStart:true,provides:i.IKernelManager,optional:[i.IServerSettings,i.IConnectionStatus],activate:(e,t,n)=>new i.KernelManager({serverSettings:t,standby:()=>!(n===null||n===void 0?void 0:n.isConnected)||"when-hidden"})};const p={id:"@jupyterlab/services-extension:kernel-spec-manager",description:"The kernel spec manager plugin.",autoStart:true,provides:i.IKernelSpecManager,optional:[i.IServerSettings,i.IConnectionStatus],activate:(e,t,n)=>new i.KernelSpecManager({serverSettings:t,standby:()=>!(n===null||n===void 0?void 0:n.isConnected)||"when-hidden"})};const m={id:"@jupyterlab/services-extension:nbconvert-manager",description:"The nbconvert manager plugin.",autoStart:true,provides:i.INbConvertManager,optional:[i.IServerSettings],activate:(e,t)=>new i.NbConvertManager({serverSettings:t})};const g={id:"@jupyterlab/services-extension:session-manager",description:"The session manager plugin.",autoStart:true,provides:i.ISessionManager,requires:[i.IKernelManager],optional:[i.IServerSettings,i.IConnectionStatus],activate:(e,t,n,s)=>new i.SessionManager({kernelManager:t,serverSettings:n,standby:()=>!(s===null||s===void 0?void 0:s.isConnected)||"when-hidden"})};const f={id:"@jupyterlab/services-extension:setting-manager",description:"The setting manager plugin.",autoStart:true,provides:i.ISettingManager,optional:[i.IServerSettings],activate:(e,t)=>new i.SettingManager({serverSettings:t})};const v={id:"@jupyterlab/services-extension:terminal-manager",description:"The terminal manager plugin.",autoStart:true,provides:i.ITerminalManager,optional:[i.IServerSettings,i.IConnectionStatus],activate:(e,t,n)=>new i.TerminalManager({serverSettings:t,standby:()=>!(n===null||n===void 0?void 0:n.isConnected)||"when-hidden"})};const _={id:"@jupyterlab/services-extension:user-manager",description:"The user manager plugin.",autoStart:true,provides:i.IUserManager,optional:[i.IServerSettings,i.IConnectionStatus],activate:(e,t,n)=>new i.UserManager({serverSettings:t,standby:()=>!(n===null||n===void 0?void 0:n.isConnected)||"when-hidden"})};const b={id:"@jupyterlab/services-extension:workspace-manager",description:"The workspace manager plugin.",autoStart:true,provides:i.IWorkspaceManager,optional:[i.IServerSettings],activate:(e,t)=>new i.WorkspaceManager({serverSettings:t})};const y={id:"@jupyterlab/services-extension:server-settings",description:"The default server settings plugin.",autoStart:true,provides:i.IServerSettings,activate:e=>i.ServerConnection.makeSettings()};const w={id:"@jupyterlab/services-extension:service-manager",description:"The default service manager plugin.",autoStart:true,provides:i.IServiceManager,optional:[i.IConnectionStatus,i.IContentsManager,i.IDefaultDrive,i.IServerSettings,i.IEventManager,i.IKernelManager,i.IKernelSpecManager,i.INbConvertManager,i.ISessionManager,i.ISettingManager,i.ITerminalManager,i.IUserManager,i.IWorkspaceManager],activate:(e,t,n,s,o,r,a,l,d,c,h,u,p,m)=>new i.ServiceManager({standby:()=>!(t===null||t===void 0?void 0:t.isConnected)||"when-hidden",contents:n,defaultDrive:s,serverSettings:o,events:r,kernels:a,kernelspecs:l,nbconvert:d,sessions:c,settings:h,terminals:u,user:p,workspaces:m})};const C=[o,r,a,l,d,c,h,u,p,m,g,f,y,w,v,_,b]},5412:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.BaseManager=void 0;const i=n(2336);const s=n(1089);class o{constructor(e){var t;this._isDisposed=false;this._disposed=new i.Signal(this);this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:s.ServerConnection.makeSettings()}get disposed(){return this._disposed}get isDisposed(){return this._isDisposed}get isActive(){return true}dispose(){if(this.isDisposed){return}this._isDisposed=true;this._disposed.emit(undefined);i.Signal.clearData(this)}}t.BaseManager=o},44816:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.BuildManager=void 0;const i=n(40959);const s=n(1089);const o="api/build";class r{constructor(e={}){var t;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:s.ServerConnection.makeSettings()}get isAvailable(){return i.PageConfig.getOption("buildAvailable").toLowerCase()==="true"}get shouldCheck(){return i.PageConfig.getOption("buildCheck").toLowerCase()==="true"}getStatus(){const{_url:e,serverSettings:t}=this;const n=s.ServerConnection.makeRequest(e,{},t);return n.then((e=>{if(e.status!==200){throw new s.ServerConnection.ResponseError(e)}return e.json()})).then((e=>{if(typeof e.status!=="string"){throw new Error("Invalid data")}if(typeof e.message!=="string"){throw new Error("Invalid data")}return e}))}build(){const{_url:e,serverSettings:t}=this;const n={method:"POST"};const i=s.ServerConnection.makeRequest(e,n,t);return i.then((e=>{if(e.status===400){throw new s.ServerConnection.ResponseError(e,"Build aborted")}if(e.status!==200){const t=`Build failed with ${e.status}.\n\n If you are experiencing the build failure after installing an extension (or trying to include previously installed extension after updating JupyterLab) please check the extension repository for new installation instructions as many extensions migrated to the prebuilt extensions system which no longer requires rebuilding JupyterLab (but uses a different installation procedure, typically involving a package manager such as 'pip' or 'conda').\n\n If you specifically intended to install a source extension, please run 'jupyter lab build' on the server for full output.`;throw new s.ServerConnection.ResponseError(e,t)}}))}cancel(){const{_url:e,serverSettings:t}=this;const n={method:"DELETE"};const i=s.ServerConnection.makeRequest(e,n,t);return i.then((e=>{if(e.status!==204){throw new s.ServerConnection.ResponseError(e)}}))}get _url(){const{baseUrl:e,appUrl:t}=this.serverSettings;return i.URLExt.join(e,t,o)}}t.BuildManager=r},39851:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ConfigWithDefaults=t.ConfigSection=t.ConfigSectionManager=void 0;const i=n(40959);const s=n(50608);const o="api/config";class r{constructor(e){var t;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:s.ServerConnection.makeSettings()}async create(e){const t=new l({...e,serverSettings:this.serverSettings});await t.load();return t}}t.ConfigSectionManager=r;var a;(function(e){async function t(e){if(!n){const t=new l(e);await t.load();return t}const t=await n.create(e);return t}e.create=t;let n;function i(e){if(n){throw new Error("ConfigSectionManager already set. If you would like to create a config section, use the `IConfigSectionManager` token in a plugin.")}n=e}e._setConfigSectionManager=i})(a||(t.ConfigSection=a={}));class l{constructor(e){var t;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:s.ServerConnection.makeSettings();this._name=e.name}get data(){return this._data}async load(){const e=await s.ServerConnection.makeRequest(this._url,{},this.serverSettings);if(e.status!==200){const t=await s.ServerConnection.ResponseError.create(e);throw t}this._data=await e.json()}async update(e){this._data={...this._data,...e};const t={method:"PATCH",body:JSON.stringify(e)};const n=await s.ServerConnection.makeRequest(this._url,t,this.serverSettings);if(n.status!==200){const e=await s.ServerConnection.ResponseError.create(n);throw e}this._data=await n.json();return this._data}get _url(){return i.URLExt.join(this.serverSettings.baseUrl,o,encodeURIComponent(this._name))}}class d{constructor(e){var t,n;this._className="";this._section=e.section;this._defaults=(t=e.defaults)!==null&&t!==void 0?t:{};this._className=(n=e.className)!==null&&n!==void 0?n:""}get(e){const t=this._classData();return e in t?t[e]:this._defaults[e]}set(e,t){const n={};n[e]=t;if(this._className){const e={};e[this._className]=n;return this._section.update(e)}else{return this._section.update(n)}}_classData(){const e=this._section.data;if(this._className&&this._className in e){return e[this._className]}return e}}t.ConfigWithDefaults=d},39923:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ConnectionStatus=void 0;class n{constructor(){this.isConnected=true}}t.ConnectionStatus=n},97375:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){if(i===undefined)i=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,i,s)}:function(e,t,n,i){if(i===undefined)i=n;e[i]=t[n]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))i(t,e,n);s(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.RestContentProvider=t.ContentProviderRegistry=t.Drive=t.ContentsManager=t.Contents=void 0;const r=n(40959);const a=n(90044);const l=n(2336);const d=n(50608);const c=o(n(77821));const h="api/contents";const u="files";var p;(function(e){function t(e){c.validateContentsModel(e)}e.validateContentsModel=t;function n(e){c.validateCheckpointModel(e)}e.validateCheckpointModel=n})(p||(t.Contents=p={}));class m{constructor(e={}){var t,n;this._isDisposed=false;this._additionalDrives=new Map;this._fileChanged=new l.Signal(this);const i=this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:d.ServerConnection.makeSettings();this._defaultDrive=(n=e.defaultDrive)!==null&&n!==void 0?n:new g({serverSettings:i});this._defaultDrive.fileChanged.connect(this._onFileChanged,this)}get defaultDrive(){return this._defaultDrive}get fileChanged(){return this._fileChanged}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;l.Signal.clearData(this)}addDrive(e){this._additionalDrives.set(e.name,e);e.fileChanged.connect(this._onFileChanged,this)}getSharedModelFactory(e,t){var n,i;const[s]=this._driveForPath(e);const o=(n=s.contentProviderRegistry)===null||n===void 0?void 0:n.getProvider(t===null||t===void 0?void 0:t.contentProviderId);if(o===null||o===void 0?void 0:o.sharedModelFactory){return o.sharedModelFactory}return(i=s.sharedModelFactory)!==null&&i!==void 0?i:null}localPath(e){const t=e.split("/");const n=t[0].split(":");if(n.length===1||!this._additionalDrives.has(n[0])){return r.PathExt.removeSlash(e)}return r.PathExt.join(n.slice(1).join(":"),...t.slice(1))}normalize(e){const t=e.split(":");if(t.length===1){return r.PathExt.normalize(e)}return`${t[0]}:${r.PathExt.normalize(t.slice(1).join(":"))}`}resolvePath(e,t){const n=this.driveName(e);const i=this.localPath(e);const s=r.PathExt.resolve("/",i,t);return n?`${n}:${s}`:s}driveName(e){const t=e.split("/");const n=t[0].split(":");if(n.length===1){return""}if(this._additionalDrives.has(n[0])){return n[0]}return""}get(e,t){const[n,i]=this._driveForPath(e);return n.get(i,t).then((e=>{const t=[];if(e.type==="directory"&&e.content){for(const i of e.content){t.push({...i,path:this._toGlobalPath(n,i.path)})}return{...e,path:this._toGlobalPath(n,i),content:t,serverPath:e.path}}else{return{...e,path:this._toGlobalPath(n,i),serverPath:e.path}}}))}getDownloadUrl(e){const[t,n]=this._driveForPath(e);return t.getDownloadUrl(n)}newUntitled(e={}){if(e.path){const t=this.normalize(e.path);const[n,i]=this._driveForPath(t);return n.newUntitled({...e,path:i}).then((e=>({...e,path:r.PathExt.join(t,e.name),serverPath:e.path})))}else{return this._defaultDrive.newUntitled(e)}}delete(e){const[t,n]=this._driveForPath(e);return t.delete(n)}rename(e,t){const[n,i]=this._driveForPath(e);const[s,o]=this._driveForPath(t);if(n!==s){throw Error("ContentsManager: renaming files must occur within a Drive")}return n.rename(i,o).then((e=>({...e,path:this._toGlobalPath(n,o),serverPath:e.path})))}save(e,t={}){const n=this.normalize(e);const[i,s]=this._driveForPath(e);return i.save(s,{...t,path:s}).then((e=>({...e,path:n,serverPath:e.path})))}copy(e,t){const[n,i]=this._driveForPath(e);const[s,o]=this._driveForPath(t);if(n===s){return n.copy(i,o).then((e=>({...e,path:this._toGlobalPath(n,e.path),serverPath:e.path})))}else{throw Error("Copying files between drives is not currently implemented")}}createCheckpoint(e){const[t,n]=this._driveForPath(e);return t.createCheckpoint(n)}listCheckpoints(e){const[t,n]=this._driveForPath(e);return t.listCheckpoints(n)}restoreCheckpoint(e,t){const[n,i]=this._driveForPath(e);return n.restoreCheckpoint(i,t)}deleteCheckpoint(e,t){const[n,i]=this._driveForPath(e);return n.deleteCheckpoint(i,t)}_toGlobalPath(e,t){if(e===this._defaultDrive){return r.PathExt.removeSlash(t)}else{return`${e.name}:${r.PathExt.removeSlash(t)}`}}_driveForPath(e){const t=this.driveName(e);const n=this.localPath(e);if(t){return[this._additionalDrives.get(t),n]}else{return[this._defaultDrive,n]}}_onFileChanged(e,t){var n,i;if(e===this._defaultDrive){this._fileChanged.emit(t)}else{let s=null;let o=null;if((n=t.newValue)===null||n===void 0?void 0:n.path){s={...t.newValue,path:this._toGlobalPath(e,t.newValue.path)}}if((i=t.oldValue)===null||i===void 0?void 0:i.path){o={...t.oldValue,path:this._toGlobalPath(e,t.oldValue.path)}}this._fileChanged.emit({type:t.type,newValue:s,oldValue:o})}}}t.ContentsManager=m;class g{constructor(e={}){var t,n,i;this._isDisposed=false;this._fileChanged=new l.Signal(this);this.name=(t=e.name)!==null&&t!==void 0?t:"Default";this._apiEndpoint=(n=e.apiEndpoint)!==null&&n!==void 0?n:h;this.serverSettings=(i=e.serverSettings)!==null&&i!==void 0?i:d.ServerConnection.makeSettings();this._restContentProvider=new _({...e,apiEndpoint:this._apiEndpoint,serverSettings:this.serverSettings});if(e.defaultContentProvider){this.contentProviderRegistry=new v({defaultProvider:e.defaultContentProvider})}else{this.contentProviderRegistry=new v}this.contentProviderRegistry.fileChanged.connect(((e,t)=>{this._fileChanged.emit(t)}))}get fileChanged(){return this._fileChanged}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;l.Signal.clearData(this)}async get(e,t){const n=this.contentProviderRegistry.getProvider(t===null||t===void 0?void 0:t.contentProviderId);if(n){return n.get(e,t)}return await this._restContentProvider.get(e,t)}getDownloadUrl(e){const t=this.serverSettings.baseUrl;let n=r.URLExt.join(t,u,r.URLExt.encodeParts(e));let i="";try{i=document.cookie}catch(o){}const s=i.match("\\b_xsrf=([^;]*)\\b");if(s){const e=new URL(n);e.searchParams.append("_xsrf",s[1]);n=e.toString()}return Promise.resolve(n)}async newUntitled(e={}){var t;let n="{}";if(e){if(e.ext){e.ext=f.normalizeExtension(e.ext)}n=JSON.stringify(e)}const i=this.serverSettings;const s=this._getUrl((t=e.path)!==null&&t!==void 0?t:"");const o={method:"POST",body:n};const r=await d.ServerConnection.makeRequest(s,o,i);if(r.status!==201){const e=await d.ServerConnection.ResponseError.create(r);throw e}const a=await r.json();c.validateContentsModel(a);this._fileChanged.emit({type:"new",oldValue:null,newValue:a});return a}async delete(e){const t=this._getUrl(e);const n=this.serverSettings;const i={method:"DELETE"};const s=await d.ServerConnection.makeRequest(t,i,n);if(s.status!==204){const e=await d.ServerConnection.ResponseError.create(s);throw e}this._fileChanged.emit({type:"delete",oldValue:{path:e},newValue:null})}async rename(e,t){const n=this.serverSettings;const i=this._getUrl(e);const s={method:"PATCH",body:JSON.stringify({path:t})};const o=await d.ServerConnection.makeRequest(i,s,n);if(o.status!==200){const e=await d.ServerConnection.ResponseError.create(o);throw e}const r=await o.json();c.validateContentsModel(r);this._fileChanged.emit({type:"rename",oldValue:{path:e},newValue:r});return r}async save(e,t={}){const n=this.contentProviderRegistry.getProvider(t===null||t===void 0?void 0:t.contentProviderId);let i;if(n){i=await n.save(e,t)}else{i=await this._restContentProvider.save(e,t)}this._fileChanged.emit({type:"save",oldValue:null,newValue:i});return i}async copy(e,t){const n=this.serverSettings;const i=this._getUrl(t);const s={method:"POST",body:JSON.stringify({copy_from:e})};const o=await d.ServerConnection.makeRequest(i,s,n);if(o.status!==201){const e=await d.ServerConnection.ResponseError.create(o);throw e}const r=await o.json();c.validateContentsModel(r);this._fileChanged.emit({type:"new",oldValue:null,newValue:r});return r}async createCheckpoint(e){const t=this._getUrl(e,"checkpoints");const n={method:"POST"};const i=await d.ServerConnection.makeRequest(t,n,this.serverSettings);if(i.status!==201){const e=await d.ServerConnection.ResponseError.create(i);throw e}const s=await i.json();c.validateCheckpointModel(s);return s}async listCheckpoints(e){const t=this._getUrl(e,"checkpoints");const n=await d.ServerConnection.makeRequest(t,{},this.serverSettings);if(n.status!==200){const e=await d.ServerConnection.ResponseError.create(n);throw e}const i=await n.json();if(!Array.isArray(i)){throw new Error("Invalid Checkpoint list")}for(let s=0;s<i.length;s++){c.validateCheckpointModel(i[s])}return i}async restoreCheckpoint(e,t){const n=this._getUrl(e,"checkpoints",t);const i={method:"POST"};const s=await d.ServerConnection.makeRequest(n,i,this.serverSettings);if(s.status!==204){const e=await d.ServerConnection.ResponseError.create(s);throw e}}async deleteCheckpoint(e,t){const n=this._getUrl(e,"checkpoints",t);const i={method:"DELETE"};const s=await d.ServerConnection.makeRequest(n,i,this.serverSettings);if(s.status!==204){const e=await d.ServerConnection.ResponseError.create(s);throw e}}_getUrl(...e){const t=e.map((e=>r.URLExt.encodeParts(e)));const n=this.serverSettings.baseUrl;return r.URLExt.join(n,this._apiEndpoint,...t)}}t.Drive=g;var f;(function(e){function t(e){if(e.length>0&&e.indexOf(".")!==0){e=`.${e}`}return e}e.normalizeExtension=t})(f||(f={}));class v{constructor(e){this._providers=new Map;this._fileChanged=new l.Signal(this);if(e===null||e===void 0?void 0:e.defaultProvider){this.register("default",e.defaultProvider)}}register(e,t){if(this._providers.has(e)){throw Error(`Provider with ${e} identifier was already registered on this drive`)}this._providers.set(e,t);const n=(e,t)=>{this._fileChanged.emit(t)};if(t.fileChanged){t.fileChanged.connect(n)}return new a.DisposableDelegate((()=>{if(t.fileChanged){t.fileChanged.disconnect(n)}if(this._providers.has(e)){this._providers.delete(e)}}))}getProvider(e){if(!e){return null}const t=this._providers.get(e);if(!t){throw Error(`Provider ${e} is not registered`)}return t}get fileChanged(){return this._fileChanged}}t.ContentProviderRegistry=v;class _{constructor(e){this._options=e}async get(e,t){let n=this._getUrl(e);if(t){if(t.type==="notebook"){delete t["format"]}const e=t.content?"1":"0";const i=t.hash?"1":"0";const s={...t,content:e,hash:i};n+=r.URLExt.objectToQueryString(s)}const i=this._options.serverSettings;const s=await d.ServerConnection.makeRequest(n,{},i);if(s.status!==200){const e=await d.ServerConnection.ResponseError.create(s);throw e}const o=await s.json();c.validateContentsModel(o);return o}async save(e,t={}){const n=this._options.serverSettings;const i=this._getUrl(e);const s=new File([JSON.stringify(t)],"data.json",{type:"application/json"});const o={method:"PUT",body:s};const r=await d.ServerConnection.makeRequest(i,o,n);if(r.status!==200&&r.status!==201){const e=await d.ServerConnection.ResponseError.create(r);throw e}const a=await r.json();c.validateContentsModel(a);return a}_getUrl(...e){const t=e.map((e=>r.URLExt.encodeParts(e)));const n=this._options.serverSettings.baseUrl;return r.URLExt.join(n,this._options.apiEndpoint,...t)}}t.RestContentProvider=_},77821:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.validateContentsModel=s;t.validateCheckpointModel=o;const i=n(1480);function s(e){(0,i.validateProperty)(e,"name","string");(0,i.validateProperty)(e,"path","string");(0,i.validateProperty)(e,"type","string");(0,i.validateProperty)(e,"created","string");(0,i.validateProperty)(e,"last_modified","string");(0,i.validateProperty)(e,"mimetype","object");(0,i.validateProperty)(e,"content","object");(0,i.validateProperty)(e,"format","object")}function o(e){(0,i.validateProperty)(e,"id","string");(0,i.validateProperty)(e,"last_modified","string")}},1091:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EventManager=void 0;const i=n(40959);const s=n(26568);const o=n(2336);const r=n(1089);const a="api/events";class l{constructor(e={}){var t,n;this._socket=null;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:r.ServerConnection.makeSettings();this._poll=new s.Poll({factory:()=>this._subscribe(),standby:(n=e.standby)!==null&&n!==void 0?n:"when-hidden"});this._stream=new o.Stream(this);void this._poll.start()}get isDisposed(){return this._poll.isDisposed}get stream(){return this._stream}dispose(){if(this.isDisposed){return}this._poll.dispose();const e=this._socket;if(e){this._socket=null;e.onopen=()=>undefined;e.onerror=()=>undefined;e.onmessage=()=>undefined;e.onclose=()=>undefined;e.close()}o.Signal.clearData(this);this._stream.stop()}async emit(e){const{serverSettings:t}=this;const{baseUrl:n}=t;const{makeRequest:s,ResponseError:o}=r.ServerConnection;const l=i.URLExt.join(n,a);const d={body:JSON.stringify(e),method:"POST"};const c=await s(l,d,t);if(c.status!==204){throw new o(c)}}_subscribe(){return new Promise(((e,t)=>{if(this.isDisposed){return}const{appendToken:n,token:s,WebSocket:o,wsUrl:r}=this.serverSettings;let l=i.URLExt.join(r,a,"subscribe");if(n&&s!==""){l+=`?token=${encodeURIComponent(s)}`}const d=this._socket=new o(l);const c=this._stream;d.onclose=()=>t(new Error("EventManager socket closed"));d.onmessage=e=>e.data&&c.emit(JSON.parse(e.data))}))}}t.EventManager=l},50608:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){if(i===undefined)i=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,i,s)}:function(e,t,n,i){if(i===undefined)i=n;e[i]=t[n]});var s=this&&this.__exportStar||function(e,t){for(var n in e)if(n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n))i(t,e,n)};Object.defineProperty(t,"__esModule",{value:true});s(n(5412),t);s(n(39851),t);s(n(39923),t);s(n(97375),t);s(n(1091),t);s(n(14272),t);s(n(76807),t);s(n(90139),t);s(n(1089),t);s(n(86923),t);s(n(95399),t);s(n(67569),t);s(n(80856),t);s(n(18430),t);s(n(90362),t);s(n(93892),t)},52570:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){if(i===undefined)i=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,i,s)}:function(e,t,n,i){if(i===undefined)i=n;e[i]=t[n]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))i(t,e,n);s(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.CommHandler=t.CommsOverSubshells=void 0;const r=n(5592);const a=n(90044);const l=o(n(59798));var d;(function(e){e["Disabled"]="disabled";e["PerComm"]="perComm";e["PerCommTarget"]="perCommTarget"})(d||(t.CommsOverSubshells=d={}));class c extends a.DisposableDelegate{constructor(e,t,n,i,s){super(i);this._subshellStarted=new r.PromiseDelegate;this._subshellId=null;this._target="";this._id="";this._id=t;this._target=e;this._kernel=n;this._kernel.statusChanged.connect((()=>{if(this._kernel.status==="restarting"){this._cleanSubshells()}}));this.commsOverSubshells=s!==null&&s!==void 0?s:d.PerCommTarget}get commId(){return this._id}get targetName(){return this._target}get subshellId(){return this._subshellId}get subshellStarted(){return this._subshellStarted.promise}get commsOverSubshells(){return this._commsOverSubshells}set commsOverSubshells(e){this._commsOverSubshells=e;if(this._commsOverSubshells===d.Disabled){this._maybeCloseSubshell()}else{void this._maybeStartSubshell()}}get onClose(){return this._onClose}set onClose(e){this._onClose=e}get onMsg(){return this._onMsg}set onMsg(e){this._onMsg=e}open(e,t,n=[]){if(this.isDisposed||this._kernel.isDisposed){throw new Error("Cannot open")}const i=l.createMessage({msgType:"comm_open",channel:"shell",username:this._kernel.username,session:this._kernel.clientId,subshellId:this._subshellId||this._kernel.subshellId,content:{comm_id:this._id,target_name:this._target,data:e!==null&&e!==void 0?e:{}},metadata:t,buffers:n});return this._kernel.sendShellMessage(i,false,true)}send(e,t,n=[],i=true){if(this.isDisposed||this._kernel.isDisposed){throw new Error("Cannot send")}const s=l.createMessage({msgType:"comm_msg",channel:"shell",username:this._kernel.username,session:this._kernel.clientId,subshellId:this._subshellId||this._kernel.subshellId,content:{comm_id:this._id,data:e},metadata:t,buffers:n});return this._kernel.sendShellMessage(s,false,i)}close(e,t,n=[]){if(this.isDisposed||this._kernel.isDisposed){throw new Error("Cannot close")}const i=l.createMessage({msgType:"comm_close",channel:"shell",username:this._kernel.username,session:this._kernel.clientId,subshellId:this._subshellId||this._kernel.subshellId,content:{comm_id:this._id,data:e!==null&&e!==void 0?e:{}},metadata:t,buffers:n});const s=this._kernel.sendShellMessage(i,false,true);const o=this._onClose;if(o){const i=l.createMessage({msgType:"comm_close",channel:"iopub",username:this._kernel.username,session:this._kernel.clientId,subshellId:this._subshellId||this._kernel.subshellId,content:{comm_id:this._id,data:e!==null&&e!==void 0?e:{}},metadata:t,buffers:n});void o(i)}this.dispose();return s}dispose(){this._maybeCloseSubshell();super.dispose()}_cleanSubshells(){const e=this._kernel.id;if(c._commTargetSubShellsId.hasOwnProperty(e)){delete c._commTargetSubShellsId[e]}}async _maybeStartSubshell(){await this._kernel.info;if(!this._kernel.supportsSubshells){return}if(this._commsOverSubshells===d.PerComm){const e=await this._kernel.requestCreateSubshell({}).done;this._subshellId=e.content.subshell_id;this._subshellStarted.resolve();return}const e=this._kernel.id;if(!c._commTargetSubShellsId.hasOwnProperty(e)){c._commTargetSubShellsId[e]={}}const t=c._commTargetSubShellsId[e];if(t[this._target]){this._subshellId=await t[this._target];this._subshellStarted.resolve()}else{t[this._target]=this._kernel.requestCreateSubshell({}).done.then((e=>{this._subshellId=e.content.subshell_id;return this._subshellId}));await t[this._target];this._subshellStarted.resolve()}}_maybeCloseSubshell(){if(this._commsOverSubshells!==d.PerComm){this._subshellId=null;return}if(this._subshellId&&this._kernel.status!=="dead"){this._kernel.requestDeleteSubshell({subshell_id:this._subshellId},true)}this._subshellId=null}}t.CommHandler=c;c._commTargetSubShellsId={}},45089:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){if(i===undefined)i=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,i,s)}:function(e,t,n,i){if(i===undefined)i=n;e[i]=t[n]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))i(t,e,n);s(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.KernelConnection=void 0;const r=n(40959);const a=n(5592);const l=n(2336);const d=n(50608);const c=n(52570);const h=o(n(59798));const u=n(46073);const p=o(n(38872));const m=n(38662);const g=n(321);const f=n(40959);const v=3e3;const _="_RESTARTING_";const b="";class y{constructor(e){var t,n,i,s,o,c,u,f;this._createSocket=(e=true)=>{this._errorIfDisposed();this._clearSocket();this._updateConnectionStatus("connecting");const t=this.serverSettings;const n=r.URLExt.join(t.wsUrl,m.KERNEL_SERVICE_URL,encodeURIComponent(this._id));const i=n.replace(/^((?:\w+:)?\/\/)(?:[^@\/]+@)/,"$1");console.debug(`Starting WebSocket: ${i}`);let s=r.URLExt.join(n,"channels?session_id="+encodeURIComponent(this._clientId));const o=t.token;if(t.appendToken&&o!==""){s=s+`&token=${encodeURIComponent(o)}`}const a=e?this._supportedProtocols:[];this._ws=new t.WebSocket(s,a);this._ws.binaryType="arraybuffer";let l=false;const c=async e=>{var t,n;if(this._isDisposed){return}this._reason="";this._model=undefined;try{const t=await this._kernelAPIClient.getModel(this._id);this._model=t;if((t===null||t===void 0?void 0:t.execution_state)==="dead"){this._updateStatus("dead")}else{this._onWSClose(e)}}catch(i){if(i instanceof d.ServerConnection.NetworkError||((t=i.response)===null||t===void 0?void 0:t.status)===503||((n=i.response)===null||n===void 0?void 0:n.status)===424){const t=w.getRandomIntInclusive(10,30)*1e3;setTimeout(c,t,e)}else{this._reason="Kernel died unexpectedly";this._updateStatus("dead")}}return};const h=async e=>{if(l){return}l=true;await c(e);return};this._ws.onmessage=this._onWSMessage;this._ws.onopen=this._onWSOpen;this._ws.onclose=h;this._ws.onerror=h};this._onWSOpen=e=>{if(this._ws.protocol!==""&&!this._supportedProtocols.includes(this._ws.protocol)){console.log("Server selected unknown kernel wire protocol:",this._ws.protocol);this._updateStatus("dead");throw new Error(`Unknown kernel wire protocol: ${this._ws.protocol}`)}this._selectedProtocol=this._ws.protocol;this._ws.onclose=this._onWSClose;this._ws.onerror=this._onWSClose;this._updateConnectionStatus("connected")};this._onWSMessage=e=>{let t;try{t=this.serverSettings.serializer.deserialize(e.data,this._ws.protocol);p.validateMessage(t)}catch(n){n.message=`Kernel message validation error: ${n.message}`;throw n}this._kernelSession=t.header.session;this._msgChain=this._msgChain.then((()=>this._handleMessage(t))).catch((e=>{if(e.message.startsWith("Canceled future for ")){console.error(e)}}));this._anyMessage.emit({msg:t,direction:"recv"})};this._onWSClose=e=>{if(!this.isDisposed){this._reconnect()}};this._id="";this._name="";this._status="unknown";this._connectionStatus="connecting";this._kernelSession="";this._isDisposed=false;this._ws=null;this._username="";this._reconnectLimit=7;this._reconnectAttempt=0;this._reconnectTimeout=null;this._supportedProtocols=Object.values(h.supportedKernelWebSocketProtocols);this._selectedProtocol="";this._commsOverSubshells=d.CommsOverSubshells.PerCommTarget;this._futures=new Map;this._comms=new Map;this._targetRegistry=Object.create(null);this._info=new a.PromiseDelegate;this._pendingMessages=[];this._statusChanged=new l.Signal(this);this._connectionStatusChanged=new l.Signal(this);this._disposed=new l.Signal(this);this._iopubMessage=new l.Signal(this);this._anyMessage=new l.Signal(this);this._pendingInput=new l.Signal(this);this._unhandledMessage=new l.Signal(this);this._displayIdToParentIds=new Map;this._msgIdToDisplayIds=new Map;this._msgChain=Promise.resolve();this._hasPendingInput=false;this._reason="";this._noOp=()=>{};this._supportsSubshells=false;this._name=e.model.name;this._id=e.model.id;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:d.ServerConnection.makeSettings();this._kernelAPIClient=(n=e.kernelAPIClient)!==null&&n!==void 0?n:new m.KernelAPIClient({serverSettings:this.serverSettings});this._kernelSpecAPIClient=(i=e.kernelSpecAPIClient)!==null&&i!==void 0?i:new g.KernelSpecAPIClient({serverSettings:this.serverSettings});this._clientId=(s=e.clientId)!==null&&s!==void 0?s:a.UUID.uuid4();this._username=(o=e.username)!==null&&o!==void 0?o:"";this.handleComms=(c=e.handleComms)!==null&&c!==void 0?c:true;this._commsOverSubshells=(u=e.commsOverSubshells)!==null&&u!==void 0?u:d.CommsOverSubshells.PerCommTarget;this._subshellId=(f=e.subshellId)!==null&&f!==void 0?f:null;this._createSocket()}get disposed(){return this._disposed}get commsOverSubshells(){return this._commsOverSubshells}set commsOverSubshells(e){this._commsOverSubshells=e;for(const[t,n]of this._comms){n.commsOverSubshells=e}}get statusChanged(){return this._statusChanged}get connectionStatusChanged(){return this._connectionStatusChanged}get iopubMessage(){return this._iopubMessage}get unhandledMessage(){return this._unhandledMessage}get model(){return this._model||{id:this.id,name:this.name,reason:this._reason}}get anyMessage(){return this._anyMessage}get pendingInput(){return this._pendingInput}get id(){return this._id}get name(){return this._name}get username(){return this._username}get clientId(){return this._clientId}get subshellId(){return this._subshellId}set subshellId(e){this._subshellId=e}get status(){return this._status}get connectionStatus(){return this._connectionStatus}get isDisposed(){return this._isDisposed}get info(){return this._info.promise}get spec(){if(this._specPromise){return this._specPromise}this._specPromise=this._kernelSpecAPIClient.get().then((e=>e.kernelspecs[this._name]));return this._specPromise}get supportsSubshells(){return this._supportsSubshells}clone(e={}){return new y({model:this.model,username:this.username,serverSettings:this.serverSettings,handleComms:false,kernelAPIClient:this._kernelAPIClient,commsOverSubshells:d.CommsOverSubshells.Disabled,...e})}dispose(){if(this.isDisposed){return}const e=()=>{this._isDisposed=true;this._disposed.emit();this._updateConnectionStatus("disconnected");this._clearKernelState();this._pendingMessages=[];this._clearSocket();l.Signal.clearData(this)};if(this._subshellId!==null){const t=this.requestDeleteSubshell({subshell_id:this._subshellId},true);t.onReply=t=>{e()}}else{e()}}sendShellMessage(e,t=false,n=true){return this._sendKernelShellControl(u.KernelShellFutureHandler,e,t,n)}sendControlMessage(e,t=false,n=true){return this._sendKernelShellControl(u.KernelControlFutureHandler,e,t,n)}_sendKernelShellControl(e,t,n=false,i=true){this._sendMessage(t);this._anyMessage.emit({msg:t,direction:"send"});const s=new e((()=>{const e=t.header.msg_id;this._futures.delete(e);const n=this._msgIdToDisplayIds.get(e);if(!n){return}n.forEach((t=>{const n=this._displayIdToParentIds.get(t);if(n){const i=n.indexOf(e);if(i===-1){return}if(n.length===1){this._displayIdToParentIds.delete(t)}else{n.splice(i,1);this._displayIdToParentIds.set(t,n)}}}));this._msgIdToDisplayIds.delete(e)}),t,n,i,this);this._futures.set(t.header.msg_id,s);return s}_sendMessage(e,t=true){if(this.status==="dead"){throw new Error("Kernel is dead")}if((this._kernelSession===b||this._kernelSession===_)&&h.isInfoRequestMsg(e)){if(this.connectionStatus==="connected"){this._ws.send(this.serverSettings.serializer.serialize(e,this._ws.protocol));return}else{throw new Error("Could not send message: status is not connected")}}if(t&&this._pendingMessages.length>0){this._pendingMessages.push(e);return}if(this.connectionStatus==="connected"&&this._kernelSession!==_){this._ws.send(this.serverSettings.serializer.serialize(e,this._ws.protocol))}else if(t){this._pendingMessages.push(e)}else{throw new Error("Could not send message")}}async interrupt(){this.hasPendingInput=false;if(this.status==="dead"){throw new Error("Kernel is dead")}return this._kernelAPIClient.interrupt(this.id)}async restart(){if(this.status==="dead"){throw new Error("Kernel is dead")}this._updateStatus("restarting");this._clearKernelState();this._kernelSession=_;await this._kernelAPIClient.restart(this.id);await this.reconnect();this.hasPendingInput=false}reconnect(){this._errorIfDisposed();const e=new a.PromiseDelegate;const t=(n,i)=>{if(i==="connected"){e.resolve();this.connectionStatusChanged.disconnect(t,this)}else if(i==="disconnected"){e.reject(new Error("Kernel connection disconnected"));this.connectionStatusChanged.disconnect(t,this)}};this.connectionStatusChanged.connect(t,this);this._reconnectAttempt=0;this._reconnect();return e.promise}async shutdown(){if(this.status!=="dead"){await this._kernelAPIClient.shutdown(this.id)}this.handleShutdown()}handleShutdown(){this._updateStatus("dead");this.dispose()}async requestKernelInfo(){const e=h.createMessage({msgType:"kernel_info_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:{}});let t;try{t=await w.handleShellMessage(this,e)}catch(i){if(this.isDisposed){return}else{throw i}}this._errorIfDisposed();if(!t){return}if(t.content.status===undefined){t.content.status="ok"}if(t.content.status!=="ok"){this._info.reject("Kernel info reply errored");return t}this._info.resolve(t.content);this._kernelSession=t.header.session;const n=t.content.supported_features;this._supportsSubshells=n!==undefined&&n.includes("kernel subshells");return t}requestComplete(e){const t=h.createMessage({msgType:"complete_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:e});return w.handleShellMessage(this,t)}requestInspect(e){const t=h.createMessage({msgType:"inspect_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:e});return w.handleShellMessage(this,t)}requestHistory(e){const t=h.createMessage({msgType:"history_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:e});return w.handleShellMessage(this,t)}requestExecute(e,t=true,n){const i={silent:false,store_history:true,user_expressions:{},allow_stdin:true,stop_on_error:false};const s=h.createMessage({msgType:"execute_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:{...i,...e},metadata:n});return this.sendShellMessage(s,true,t)}requestDebug(e,t=true){const n=h.createMessage({msgType:"debug_request",channel:"control",username:this._username,session:this._clientId,content:e});return this.sendControlMessage(n,true,t)}requestCreateSubshell(e,t=true){if(!this.supportsSubshells){throw new Error("Kernel subshells are not supported")}const n=h.createMessage({msgType:"create_subshell_request",channel:"control",username:this._username,session:this._clientId,content:e});return this.sendControlMessage(n,true,t)}requestDeleteSubshell(e,t=true){if(!this.supportsSubshells){throw new Error("Kernel subshells are not supported")}const n=h.createMessage({msgType:"delete_subshell_request",channel:"control",username:this._username,session:this._clientId,content:e});return this.sendControlMessage(n,true,t)}requestListSubshell(e,t=true){if(!this.supportsSubshells){throw new Error("Kernel subshells are not supported")}const n=h.createMessage({msgType:"list_subshell_request",channel:"control",username:this._username,session:this._clientId,content:e});return this.sendControlMessage(n,true,t)}requestIsComplete(e){const t=h.createMessage({msgType:"is_complete_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:e});return w.handleShellMessage(this,t)}requestCommInfo(e){const t=h.createMessage({msgType:"comm_info_request",channel:"shell",username:this._username,session:this._clientId,subshellId:this._subshellId,content:e});return w.handleShellMessage(this,t)}sendInputReply(e,t){const n=h.createMessage({msgType:"input_reply",channel:"stdin",username:this._username,session:this._clientId,content:e});n.parent_header=t;this._sendMessage(n);this._anyMessage.emit({msg:n,direction:"send"});this.hasPendingInput=false}createComm(e,t=a.UUID.uuid4()){if(!this.handleComms){throw new Error("Comms are disabled on this kernel connection")}if(this._comms.has(t)){throw new Error("Comm is already created")}const n=new c.CommHandler(e,t,this,(()=>{this._unregisterComm(t)}),this._commsOverSubshells);this._comms.set(t,n);return n}hasComm(e){return this._comms.has(e)}registerCommTarget(e,t){if(!this.handleComms){return}this._targetRegistry[e]=t}removeCommTarget(e,t){if(!this.handleComms){return}if(!this.isDisposed&&this._targetRegistry[e]===t){delete this._targetRegistry[e]}}registerMessageHook(e,t){var n;const i=(n=this._futures)===null||n===void 0?void 0:n.get(e);if(i){i.registerMessageHook(t)}}removeMessageHook(e,t){var n;const i=(n=this._futures)===null||n===void 0?void 0:n.get(e);if(i){i.removeMessageHook(t)}}removeInputGuard(){this.hasPendingInput=false}async _handleDisplayId(e,t){var n,i;const s=t.parent_header.msg_id;let o=this._displayIdToParentIds.get(e);if(o){const e={header:a.JSONExt.deepCopy(t.header),parent_header:a.JSONExt.deepCopy(t.parent_header),metadata:a.JSONExt.deepCopy(t.metadata),content:a.JSONExt.deepCopy(t.content),channel:t.channel,buffers:t.buffers?t.buffers.slice():[]};e.header.msg_type="update_display_data";await Promise.all(o.map((async t=>{const n=this._futures&&this._futures.get(t);if(n){await n.handleMsg(e)}})))}if(t.header.msg_type==="update_display_data"){return true}o=(n=this._displayIdToParentIds.get(e))!==null&&n!==void 0?n:[];if(o.indexOf(s)===-1){o.push(s)}this._displayIdToParentIds.set(e,o);const r=(i=this._msgIdToDisplayIds.get(s))!==null&&i!==void 0?i:[];if(r.indexOf(s)===-1){r.push(s)}this._msgIdToDisplayIds.set(s,r);return false}_clearSocket(){if(this._ws!==null){this._ws.onopen=this._noOp;this._ws.onclose=this._noOp;this._ws.onerror=this._noOp;this._ws.onmessage=this._noOp;this._ws.close();this._ws=null}}_updateStatus(e){if(this._status===e||this._status==="dead"){return}this._status=e;w.logKernelStatus(this);this._statusChanged.emit(e);if(e==="dead"){this.dispose()}}_sendPending(){while(this.connectionStatus==="connected"&&this._kernelSession!==_&&this._pendingMessages.length>0){this._sendMessage(this._pendingMessages[0],false);this._pendingMessages.shift()}}_clearKernelState(){this._kernelSession="";this._pendingMessages=[];this._futures.forEach((e=>{e.dispose()}));this._comms.forEach((e=>{e.dispose()}));this._msgChain=Promise.resolve();this._futures=new Map;this._comms=new Map;this._displayIdToParentIds.clear();this._msgIdToDisplayIds.clear()}_assertCurrentMessage(e){this._errorIfDisposed();if(e.header.session!==this._kernelSession){throw new Error(`Canceling handling of old message: ${e.header.msg_type}`)}}async _handleCommOpen(e){this._assertCurrentMessage(e);const t=e.content;const n=new c.CommHandler(t.target_name,t.comm_id,this,(()=>{this._unregisterComm(t.comm_id)}),this.commsOverSubshells);this._comms.set(t.comm_id,n);try{const i=await w.loadObject(t.target_name,t.target_module,this._targetRegistry);await i(n,e)}catch(i){n.close();console.error("Exception opening new comm");throw i}}async _handleCommClose(e){this._assertCurrentMessage(e);const t=e.content;const n=this._comms.get(t.comm_id);if(!n){console.error("Comm not found for comm id "+t.comm_id);return}this._unregisterComm(n.commId);const i=n.onClose;if(i){await i(e)}n.dispose()}async _handleCommMsg(e){this._assertCurrentMessage(e);const t=e.content;const n=this._comms.get(t.comm_id);if(!n){return}const i=n.onMsg;if(i){await i(e)}}_unregisterComm(e){this._comms.delete(e)}_updateConnectionStatus(e){if(this._connectionStatus===e){return}this._connectionStatus=e;if(e!=="connecting"){this._reconnectAttempt=0;clearTimeout(this._reconnectTimeout)}if(this.status!=="dead"){if(e==="connected"){let e=this._kernelSession===_;let t=this.requestKernelInfo();let n=false;let i=()=>{if(n){return}n=true;if(e&&this._kernelSession===_){this._kernelSession=""}clearTimeout(s);if(this._pendingMessages.length>0){this._sendPending()}};void t.then(i);let s=setTimeout(i,v)}else{this._updateStatus("unknown")}}this._connectionStatusChanged.emit(e)}async _handleMessage(e){var t,n;let i=false;if(e.parent_header&&e.channel==="iopub"&&(h.isDisplayDataMsg(e)||h.isUpdateDisplayDataMsg(e)||h.isExecuteResultMsg(e))){const n=(t=e.content.transient)!==null&&t!==void 0?t:{};const s=n["display_id"];if(s){i=await this._handleDisplayId(s,e);this._assertCurrentMessage(e)}}if(!i&&e.parent_header){const t=e.parent_header;const i=(n=this._futures)===null||n===void 0?void 0:n.get(t.msg_id);if(i){await i.handleMsg(e);this._assertCurrentMessage(e)}else{const n=t.session===this.clientId;if(e.channel!=="iopub"&&n){this._unhandledMessage.emit(e)}}}if(e.channel==="iopub"){switch(e.header.msg_type){case"status":{const t=f.PageConfig.getOption("untracked_message_types");let n=JSON.parse(t||"[]");if(n.includes(e.parent_header.msg_type)){break}const i=e.content.execution_state;if(i==="restarting"){void Promise.resolve().then((async()=>{this._updateStatus("autorestarting");this._clearKernelState();await this.reconnect()}))}this._updateStatus(i);break}case"comm_open":if(this.handleComms){await this._handleCommOpen(e)}break;case"comm_msg":if(this.handleComms){await this._handleCommMsg(e)}break;case"comm_close":if(this.handleComms){await this._handleCommClose(e)}break;default:break}if(!this.isDisposed){this._assertCurrentMessage(e);this._iopubMessage.emit(e)}}}_reconnect(){this._errorIfDisposed();clearTimeout(this._reconnectTimeout);if(this._reconnectAttempt<this._reconnectLimit){this._updateConnectionStatus("connecting");const e=w.getRandomIntInclusive(0,1e3*(Math.pow(2,this._reconnectAttempt)-1));console.warn(`Connection lost, reconnecting in ${Math.floor(e/1e3)} seconds.`);const t=this._selectedProtocol!==""?true:false;this._reconnectTimeout=setTimeout(this._createSocket,e,t);this._reconnectAttempt+=1}else{this._updateConnectionStatus("disconnected")}this._clearSocket()}_errorIfDisposed(){if(this.isDisposed){throw new Error("Kernel connection is disposed")}}get hasPendingInput(){return this._hasPendingInput}set hasPendingInput(e){this._hasPendingInput=e;this._pendingInput.emit(e)}}t.KernelConnection=y;var w;(function(e){function t(e){switch(e.status){case"idle":case"busy":case"unknown":return;default:console.debug(`Kernel: ${e.status} (${e.id})`);break}}e.logKernelStatus=t;async function n(e,t){const n=e.sendShellMessage(t,true);return n.done}e.handleShellMessage=n;function i(e,t,n){return new Promise(((i,s)=>{if(t){if(typeof requirejs==="undefined"){throw new Error("requirejs not found")}requirejs([t],(n=>{if(n[e]===void 0){const n=`Object '${e}' not found in module '${t}'`;s(new Error(n))}else{i(n[e])}}),s)}else{if(n===null||n===void 0?void 0:n[e]){i(n[e])}else{s(new Error(`Object '${e}' not found in registry`))}}}))}e.loadObject=i;function s(e,t){e=Math.ceil(e);t=Math.floor(t);return Math.floor(Math.random()*(t-e+1))+e}e.getRandomIntInclusive=s})(w||(w={}))},46073:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){if(i===undefined)i=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,i,s)}:function(e,t,n,i){if(i===undefined)i=n;e[i]=t[n]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))i(t,e,n);s(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.KernelShellFutureHandler=t.KernelControlFutureHandler=t.KernelFutureHandler=void 0;const r=n(5592);const a=n(90044);const l=o(n(59798));class d extends a.DisposableDelegate{constructor(e,t,n,i,s){super(e);this._status=0;this._stdin=u.noOp;this._iopub=u.noOp;this._reply=u.noOp;this._done=new r.PromiseDelegate;this._hooks=new u.HookList;this._disposeOnDone=true;this._msg=t;if(!n){this._setFlag(u.KernelFutureFlag.GotReply)}this._disposeOnDone=i;this._kernel=s}get msg(){return this._msg}get done(){return this._done.promise}get onReply(){return this._reply}set onReply(e){this._reply=e}get onIOPub(){return this._iopub}set onIOPub(e){this._iopub=e}get onStdin(){return this._stdin}set onStdin(e){this._stdin=e}registerMessageHook(e){if(this.isDisposed){throw new Error("Kernel future is disposed")}this._hooks.add(e)}removeMessageHook(e){if(this.isDisposed){return}this._hooks.remove(e)}sendInputReply(e,t){this._kernel.sendInputReply(e,t)}dispose(){this._stdin=u.noOp;this._iopub=u.noOp;this._reply=u.noOp;this._hooks=null;if(!this._testFlag(u.KernelFutureFlag.IsDone)){this._done.promise.catch((()=>{}));this._done.reject(new Error(`Canceled future for ${this.msg.header.msg_type} message before replies were done`))}super.dispose()}async handleMsg(e){switch(e.channel){case"control":case"shell":if(e.channel===this.msg.channel&&e.parent_header.msg_id===this.msg.header.msg_id){await this._handleReply(e)}break;case"stdin":await this._handleStdin(e);break;case"iopub":await this._handleIOPub(e);break;default:break}}async _handleReply(e){const t=this._reply;if(t){await t(e)}this._replyMsg=e;this._setFlag(u.KernelFutureFlag.GotReply);if(this._testFlag(u.KernelFutureFlag.GotIdle)){this._handleDone()}}async _handleStdin(e){this._kernel.hasPendingInput=true;const t=this._stdin;if(t){await t(e)}}async _handleIOPub(e){const t=await this._hooks.process(e);const n=this._iopub;if(t&&n){await n(e)}if(l.isStatusMsg(e)&&e.content.execution_state==="idle"){this._setFlag(u.KernelFutureFlag.GotIdle);if(this._testFlag(u.KernelFutureFlag.GotReply)){this._handleDone()}}}_handleDone(){if(this._testFlag(u.KernelFutureFlag.IsDone)){return}this._setFlag(u.KernelFutureFlag.IsDone);this._done.resolve(this._replyMsg);if(this._disposeOnDone){this.dispose()}}_testFlag(e){return(this._status&e)!==0}_setFlag(e){this._status|=e}}t.KernelFutureHandler=d;class c extends d{}t.KernelControlFutureHandler=c;class h extends d{}t.KernelShellFutureHandler=h;var u;(function(e){e.noOp=()=>{};const t=(()=>{const e=typeof requestAnimationFrame==="function";return e?requestAnimationFrame:setImmediate})();class n{constructor(){this._hooks=[]}add(e){this.remove(e);this._hooks.push(e)}remove(e){const t=this._hooks.indexOf(e);if(t>=0){this._hooks[t]=null;this._scheduleCompact()}}async process(e){await this._processing;const t=new r.PromiseDelegate;this._processing=t.promise;let n;for(let s=this._hooks.length-1;s>=0;s--){const o=this._hooks[s];if(o===null){continue}try{n=await o(e)}catch(i){n=true;console.error(i)}if(n===false){t.resolve(undefined);return false}}t.resolve(undefined);return true}_scheduleCompact(){if(!this._compactScheduled){this._compactScheduled=true;t((()=>{this._processing=this._processing.then((()=>{this._compactScheduled=false;this._compact()}))}))}}_compact(){let e=0;for(let t=0,n=this._hooks.length;t<n;t++){const n=this._hooks[t];if(this._hooks[t]===null){e++}else{this._hooks[t-e]=n}}this._hooks.length-=e}}e.HookList=n;let i;(function(e){e[e["GotReply"]=1]="GotReply";e[e["GotIdle"]=2]="GotIdle";e[e["IsDone"]=4]="IsDone";e[e["DisposeOnDone"]=8]="DisposeOnDone"})(i=e.KernelFutureFlag||(e.KernelFutureFlag={}))})(u||(u={}))},14272:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){if(i===undefined)i=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,i,s)}:function(e,t,n,i){if(i===undefined)i=n;e[i]=t[n]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))i(t,e,n);s(t,e);return t};var r=this&&this.__exportStar||function(e,t){for(var n in e)if(n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n))i(t,e,n)};Object.defineProperty(t,"__esModule",{value:true});t.CommsOverSubshells=t.KernelConnection=t.KernelAPI=t.KernelMessage=t.Kernel=void 0;const a=n(52570);Object.defineProperty(t,"CommsOverSubshells",{enumerable:true,get:function(){return a.CommsOverSubshells}});const l=o(n(92343));t.Kernel=l;const d=o(n(59798));t.KernelMessage=d;const c=o(n(38662));t.KernelAPI=c;const h=n(45089);Object.defineProperty(t,"KernelConnection",{enumerable:true,get:function(){return h.KernelConnection}});r(n(47275),t)},92343:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true})},47275:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.KernelManager=void 0;const i=n(26568);const s=n(2336);const o=n(50608);const r=n(5412);const a=n(38662);const l=n(45089);const d=n(321);class c extends r.BaseManager{constructor(e={}){var t,n,r;super(e);this._commsOverSubshells=o.CommsOverSubshells.PerCommTarget;this._isReady=false;this._kernelConnections=new Set;this._models=new Map;this._runningChanged=new s.Signal(this);this._connectionFailure=new s.Signal(this);this._kernelAPIClient=(t=e.kernelAPIClient)!==null&&t!==void 0?t:new a.KernelAPIClient({serverSettings:this.serverSettings});this._kernelSpecAPIClient=(n=e.kernelSpecAPIClient)!==null&&n!==void 0?n:new d.KernelSpecAPIClient({serverSettings:this.serverSettings});this._pollModels=new i.Poll({auto:false,factory:()=>this.requestRunning(),frequency:{interval:10*1e3,backoff:true,max:300*1e3},name:`@jupyterlab/services:KernelManager#models`,standby:(r=e.standby)!==null&&r!==void 0?r:"when-hidden"});this._ready=(async()=>{await this._pollModels.start();await this._pollModels.tick;this._isReady=true})()}get isReady(){return this._isReady}get ready(){return this._ready}get runningChanged(){return this._runningChanged}get connectionFailure(){return this._connectionFailure}dispose(){if(this.isDisposed){return}this._models.clear();this._kernelConnections.forEach((e=>e.dispose()));this._pollModels.dispose();super.dispose()}connectTo(e){var t;const{id:n}=e.model;let i=(t=e.handleComms)!==null&&t!==void 0?t:true;if(e.handleComms===undefined){for(const e of this._kernelConnections){if(e.id===n&&e.handleComms){i=false;break}}}e.commsOverSubshells=this._commsOverSubshells;const s=new l.KernelConnection({handleComms:i,...e,serverSettings:this.serverSettings,kernelAPIClient:this._kernelAPIClient,kernelSpecAPIClient:this._kernelSpecAPIClient});this._onStarted(s);if(!this._models.has(n)){void this.refreshRunning().catch((()=>{}))}return s}running(){return this._models.values()}get runningCount(){return this._models.size}get commsOverSubshells(){return this._commsOverSubshells}set commsOverSubshells(e){this._commsOverSubshells=e;for(const t of this._kernelConnections){t.commsOverSubshells=e}}async refreshRunning(){await this._pollModels.refresh();await this._pollModels.tick}async startNew(e={},t={}){const n=await this._kernelAPIClient.startNew(e);return this.connectTo({...t,model:n})}async shutdown(e){await this._kernelAPIClient.shutdown(e);await this.refreshRunning()}async shutdownAll(){await this.refreshRunning();await Promise.all([...this._models.keys()].map((e=>this._kernelAPIClient.shutdown(e))));await this.refreshRunning()}async findById(e){if(this._models.has(e)){return this._models.get(e)}await this.refreshRunning();return this._models.get(e)}async requestRunning(){var e,t;let n;try{n=await this._kernelAPIClient.listRunning()}catch(i){if(i instanceof o.ServerConnection.NetworkError||((e=i.response)===null||e===void 0?void 0:e.status)===503||((t=i.response)===null||t===void 0?void 0:t.status)===424){this._connectionFailure.emit(i)}throw i}if(this.isDisposed){return}if(this._models.size===n.length&&n.every((e=>{const t=this._models.get(e.id);if(!t){return false}return t.connections===e.connections&&t.execution_state===e.execution_state&&t.last_activity===e.last_activity&&t.name===e.name&&t.reason===e.reason&&t.traceback===e.traceback}))){return}this._models=new Map(n.map((e=>[e.id,e])));this._kernelConnections.forEach((e=>{if(!this._models.has(e.id)){e.handleShutdown()}}));this._runningChanged.emit(n)}_onStarted(e){this._kernelConnections.add(e);e.statusChanged.connect(this._onStatusChanged,this);e.disposed.connect(this._onDisposed,this)}_onDisposed(e){this._kernelConnections.delete(e);void this.refreshRunning().catch((()=>{}))}_onStatusChanged(e,t){if(t==="dead"){void this.refreshRunning().catch((()=>{}))}}}t.KernelManager=c;(function(e){class t extends e{constructor(){super(...arguments);this._readyPromise=new Promise((()=>{}))}get isActive(){return false}get parentReady(){return super.ready}async startNew(e={},t={}){return Promise.reject(new Error("Not implemented in no-op Kernel Manager"))}connectTo(e){throw new Error("Not implemented in no-op Kernel Manager")}async shutdown(e){return Promise.reject(new Error("Not implemented in no-op Kernel Manager"))}get ready(){return this.parentReady.then((()=>this._readyPromise))}async requestRunning(){return Promise.resolve()}}e.NoopManager=t})(c||(t.KernelManager=c={}))},59798:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.supportedKernelWebSocketProtocols=void 0;t.createMessage=s;t.isStreamMsg=o;t.isDisplayDataMsg=r;t.isUpdateDisplayDataMsg=a;t.isExecuteInputMsg=l;t.isExecuteResultMsg=d;t.isErrorMsg=c;t.isStatusMsg=h;t.isClearOutputMsg=u;t.isDebugEventMsg=p;t.isCommOpenMsg=m;t.isCommCloseMsg=g;t.isCommMsgMsg=f;t.isInfoRequestMsg=v;t.isExecuteReplyMsg=_;t.isDebugRequestMsg=b;t.isDebugReplyMsg=y;t.isInputRequestMsg=w;t.isInputReplyMsg=C;const i=n(5592);function s(e){var t,n,s,o,r,a;return{buffers:(t=e.buffers)!==null&&t!==void 0?t:[],channel:e.channel,content:e.content,header:{date:(new Date).toISOString(),msg_id:(n=e.msgId)!==null&&n!==void 0?n:i.UUID.uuid4(),msg_type:e.msgType,session:e.session,username:(s=e.username)!==null&&s!==void 0?s:"",subshell_id:(o=e.subshellId)!==null&&o!==void 0?o:null,version:"5.2"},metadata:(r=e.metadata)!==null&&r!==void 0?r:{},parent_header:(a=e.parentHeader)!==null&&a!==void 0?a:{}}}function o(e){return e.header.msg_type==="stream"}function r(e){return e.header.msg_type==="display_data"}function a(e){return e.header.msg_type==="update_display_data"}function l(e){return e.header.msg_type==="execute_input"}function d(e){return e.header.msg_type==="execute_result"}function c(e){return e.header.msg_type==="error"}function h(e){return e.header.msg_type==="status"}function u(e){return e.header.msg_type==="clear_output"}function p(e){return e.header.msg_type==="debug_event"}function m(e){return e.header.msg_type==="comm_open"}function g(e){return e.header.msg_type==="comm_close"}function f(e){return e.header.msg_type==="comm_msg"}function v(e){return e.header.msg_type==="kernel_info_request"}function _(e){return e.header.msg_type==="execute_reply"}function b(e){return e.header.msg_type==="debug_request"}function y(e){return e.header.msg_type==="debug_reply"}function w(e){return e.header.msg_type==="input_request"}function C(e){return e.header.msg_type==="input_reply"}var x;(function(e){e["v1KernelWebsocketJupyterOrg"]="v1.kernel.websocket.jupyter.org"})(x||(t.supportedKernelWebSocketProtocols=x={}))},38662:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.KernelAPIClient=t.KERNEL_SERVICE_URL=void 0;t.listRunning=r;t.startNew=a;t.restartKernel=l;t.interruptKernel=d;t.shutdownKernel=c;t.getKernelModel=h;const i=n(1089);const s=n(40959);const o=n(38872);t.KERNEL_SERVICE_URL="api/kernels";async function r(e=i.ServerConnection.makeSettings()){const n=s.URLExt.join(e.baseUrl,t.KERNEL_SERVICE_URL);const r=await i.ServerConnection.makeRequest(n,{},e);if(r.status!==200){const e=await i.ServerConnection.ResponseError.create(r);throw e}const a=await r.json();(0,o.validateModels)(a);return a}async function a(e={},n=i.ServerConnection.makeSettings()){const r=s.URLExt.join(n.baseUrl,t.KERNEL_SERVICE_URL);const a={method:"POST",body:JSON.stringify(e)};const l=await i.ServerConnection.makeRequest(r,a,n);if(l.status!==201){const e=await i.ServerConnection.ResponseError.create(l);throw e}const d=await l.json();(0,o.validateModel)(d);return d}async function l(e,n=i.ServerConnection.makeSettings()){const r=s.URLExt.join(n.baseUrl,t.KERNEL_SERVICE_URL,encodeURIComponent(e),"restart");const a={method:"POST"};const l=await i.ServerConnection.makeRequest(r,a,n);if(l.status!==200){const e=await i.ServerConnection.ResponseError.create(l);throw e}const d=await l.json();(0,o.validateModel)(d)}async function d(e,n=i.ServerConnection.makeSettings()){const o=s.URLExt.join(n.baseUrl,t.KERNEL_SERVICE_URL,encodeURIComponent(e),"interrupt");const r={method:"POST"};const a=await i.ServerConnection.makeRequest(o,r,n);if(a.status!==204){const e=await i.ServerConnection.ResponseError.create(a);throw e}}async function c(e,n=i.ServerConnection.makeSettings()){const o=s.URLExt.join(n.baseUrl,t.KERNEL_SERVICE_URL,encodeURIComponent(e));const r={method:"DELETE"};const a=await i.ServerConnection.makeRequest(o,r,n);if(a.status===404){const t=`The kernel "${e}" does not exist on the server`;console.warn(t)}else if(a.status!==204){const e=await i.ServerConnection.ResponseError.create(a);throw e}}async function h(e,n=i.ServerConnection.makeSettings()){const r=s.URLExt.join(n.baseUrl,t.KERNEL_SERVICE_URL,encodeURIComponent(e));const a=await i.ServerConnection.makeRequest(r,{},n);if(a.status===404){return undefined}else if(a.status!==200){const e=await i.ServerConnection.ResponseError.create(a);throw e}const l=await a.json();(0,o.validateModel)(l);return l}class u{constructor(e={}){var t;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:i.ServerConnection.makeSettings()}async listRunning(){return r(this.serverSettings)}async getModel(e){return h(e,this.serverSettings)}async startNew(e={}){return a(e,this.serverSettings)}async restart(e){return l(e,this.serverSettings)}async interrupt(e){return d(e,this.serverSettings)}async shutdown(e){return c(e,this.serverSettings)}}t.KernelAPIClient=u},93962:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){if(i===undefined)i=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,i,s)}:function(e,t,n,i){if(i===undefined)i=n;e[i]=t[n]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))i(t,e,n);s(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.serialize=a;t.deserialize=l;const r=o(n(59798));function a(e,t=""){switch(t){case r.supportedKernelWebSocketProtocols.v1KernelWebsocketJupyterOrg:return d.serializeV1KernelWebsocketJupyterOrg(e);default:return d.serializeDefault(e)}}function l(e,t=""){switch(t){case r.supportedKernelWebSocketProtocols.v1KernelWebsocketJupyterOrg:return d.deserializeV1KernelWebsocketJupyterOrg(e);default:return d.deserializeDefault(e)}}var d;(function(e){function t(e){let t;const n=new DataView(e);const i=Number(n.getBigUint64(0,true));let s=[];for(let u=0;u<i;u++){s.push(Number(n.getBigUint64(8*(u+1),true)))}const o=new TextDecoder("utf8");const r=o.decode(e.slice(s[0],s[1]));const a=JSON.parse(o.decode(e.slice(s[1],s[2])));const l=JSON.parse(o.decode(e.slice(s[2],s[3])));const d=JSON.parse(o.decode(e.slice(s[3],s[4])));const c=JSON.parse(o.decode(e.slice(s[4],s[5])));let h=[];for(let u=5;u<s.length-1;u++){h.push(new DataView(e.slice(s[u],s[u+1])))}t={channel:r,header:a,parent_header:l,metadata:d,content:c,buffers:h};return t}e.deserializeV1KernelWebsocketJupyterOrg=t;function n(e){const t=JSON.stringify(e.header);const n=e.parent_header==null?"{}":JSON.stringify(e.parent_header);const i=JSON.stringify(e.metadata);const s=JSON.stringify(e.content);const o=e.buffers!==undefined?e.buffers:[];const r=1+4+o.length+1;let a=[];a.push(8*(1+r));a.push(e.channel.length+a[a.length-1]);const l=new TextEncoder;const d=l.encode(e.channel);const c=l.encode(t);const h=l.encode(n);const u=l.encode(i);const p=l.encode(s);const m=new Uint8Array(d.length+c.length+h.length+u.length+p.length);m.set(d);m.set(c,d.length);m.set(h,d.length+c.length);m.set(u,d.length+c.length+h.length);m.set(p,d.length+c.length+h.length+u.length);for(let b of[c.length,h.length,u.length,p.length]){a.push(b+a[a.length-1])}let g=0;for(let b of o){let e=b.byteLength;a.push(e+a[a.length-1]);g+=e}const f=new Uint8Array(8*(1+r)+m.byteLength+g);const v=new ArrayBuffer(8);const _=new DataView(v);_.setBigUint64(0,BigInt(r),true);f.set(new Uint8Array(v),0);for(let b=0;b<a.length;b++){_.setBigUint64(0,BigInt(a[b]),true);f.set(new Uint8Array(v),8*(b+1))}f.set(m,a[0]);for(let b=0;b<o.length;b++){const e=o[b];f.set(new Uint8Array(ArrayBuffer.isView(e)?e.buffer:e),a[5+b])}return f.buffer}e.serializeV1KernelWebsocketJupyterOrg=n;function i(e){let t;if(typeof e==="string"){t=JSON.parse(e)}else{t=o(e)}return t}e.deserializeDefault=i;function s(e){var t;let n;if((t=e.buffers)===null||t===void 0?void 0:t.length){n=r(e)}else{n=JSON.stringify(e)}return n}e.serializeDefault=s;function o(e){const t=new DataView(e);const n=t.getUint32(0);const i=[];if(n<2){throw new Error("Invalid incoming Kernel Message")}for(let r=1;r<=n;r++){i.push(t.getUint32(r*4))}const s=new Uint8Array(e.slice(i[0],i[1]));const o=JSON.parse(new TextDecoder("utf8").decode(s));o.buffers=[];for(let r=1;r<n;r++){const t=i[r];const n=i[r+1]||e.byteLength;o.buffers.push(new DataView(e.slice(t,n)))}return o}function r(e){const t=[];const n=[];const i=new TextEncoder;let s=[];if(e.buffers!==undefined){s=e.buffers;delete e["buffers"]}const o=i.encode(JSON.stringify(e));n.push(o.buffer);for(let d=0;d<s.length;d++){const e=s[d];n.push(ArrayBuffer.isView(e)?e.buffer:e)}const r=n.length;t.push(4*(r+1));for(let d=0;d+1<n.length;d++){t.push(t[t.length-1]+n[d].byteLength)}const a=new Uint8Array(t[t.length-1]+n[n.length-1].byteLength);const l=new DataView(a.buffer);l.setUint32(0,r);for(let d=0;d<t.length;d++){l.setUint32(4*(d+1),t[d])}for(let d=0;d<n.length;d++){a.set(new Uint8Array(n[d]),t[d])}return a.buffer}})(d||(d={}))},38872:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.validateMessage=a;t.validateModel=d;t.validateModels=c;const i=n(1480);const s=["username","version","session","msg_id","msg_type"];const o={stream:{name:"string",text:"string"},display_data:{data:"object",metadata:"object"},execute_input:{code:"string",execution_count:"number"},execute_result:{execution_count:"number",data:"object",metadata:"object"},error:{ename:"string",evalue:"string",traceback:"object"},status:{execution_state:["string",["starting","idle","busy","restarting","dead"]]},clear_output:{wait:"boolean"},comm_open:{comm_id:"string",target_name:"string",data:"object"},comm_msg:{comm_id:"string",data:"object"},comm_close:{comm_id:"string"},shutdown_reply:{restart:"boolean"}};function r(e){for(let t=0;t<s.length;t++){(0,i.validateProperty)(e,s[t],"string")}}function a(e){(0,i.validateProperty)(e,"metadata","object");(0,i.validateProperty)(e,"content","object");(0,i.validateProperty)(e,"channel","string");r(e.header);if(e.channel==="iopub"){l(e)}}function l(e){if(e.channel==="iopub"){const t=o[e.header.msg_type];if(t===undefined){return}const n=Object.keys(t);const s=e.content;for(let e=0;e<n.length;e++){let o=t[n[e]];if(!Array.isArray(o)){o=[o]}(0,i.validateProperty)(s,n[e],...o)}}}function d(e){(0,i.validateProperty)(e,"name","string");(0,i.validateProperty)(e,"id","string")}function c(e){if(!Array.isArray(e)){throw new Error("Invalid kernel list")}e.forEach((e=>d(e)))}},76807:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){if(i===undefined)i=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,i,s)}:function(e,t,n,i){if(i===undefined)i=n;e[i]=t[n]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))i(t,e,n);s(t,e);return t};var r=this&&this.__exportStar||function(e,t){for(var n in e)if(n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n))i(t,e,n)};Object.defineProperty(t,"__esModule",{value:true});t.KernelSpecAPI=t.KernelSpec=void 0;const a=o(n(51229));t.KernelSpec=a;const l=o(n(321));t.KernelSpecAPI=l;r(n(26224),t)},51229:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true})},26224:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.KernelSpecManager=void 0;const i=n(5592);const s=n(26568);const o=n(2336);const r=n(5412);const a=n(321);class l extends r.BaseManager{constructor(e={}){var t,n;super(e);this._isReady=false;this._connectionFailure=new o.Signal(this);this._specs=null;this._specsChanged=new o.Signal(this);this._kernelSpecAPIClient=(t=e.kernelSpecAPIClient)!==null&&t!==void 0?t:new a.KernelSpecAPIClient({serverSettings:this.serverSettings});this._ready=Promise.all([this.requestSpecs()]).then((e=>undefined)).catch((e=>undefined)).then((()=>{if(this.isDisposed){return}this._isReady=true}));this._pollSpecs=new s.Poll({auto:false,factory:()=>this.requestSpecs(),frequency:{interval:61*1e3,backoff:true,max:300*1e3},name:`@jupyterlab/services:KernelSpecManager#specs`,standby:(n=e.standby)!==null&&n!==void 0?n:"when-hidden"});void this.ready.then((()=>{void this._pollSpecs.start()}))}get isReady(){return this._isReady}get ready(){return this._ready}get specs(){return this._specs}get specsChanged(){return this._specsChanged}get connectionFailure(){return this._connectionFailure}dispose(){this._pollSpecs.dispose();super.dispose()}async refreshSpecs(){await this._pollSpecs.refresh();await this._pollSpecs.tick}async requestSpecs(){const e=await this._kernelSpecAPIClient.get();if(this.isDisposed){return}if(!i.JSONExt.deepEqual(e,this._specs)){this._specs=e;this._specsChanged.emit(e)}}}t.KernelSpecManager=l},321:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.KernelSpecAPIClient=void 0;t.getSpecs=a;const i=n(1089);const s=n(79237);const o=n(40959);const r="api/kernelspecs";async function a(e=i.ServerConnection.makeSettings()){const t=o.URLExt.join(e.baseUrl,r);const n=await i.ServerConnection.makeRequest(t,{},e);if(n.status!==200){const e=await i.ServerConnection.ResponseError.create(n);throw e}const a=await n.json();return(0,s.validateSpecModels)(a)}class l{constructor(e={}){var t;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:i.ServerConnection.makeSettings()}async get(){return a(this.serverSettings)}}t.KernelSpecAPIClient=l},79237:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.validateSpecModel=s;t.validateSpecModels=o;const i=n(1480);function s(e){const t=e.spec;if(!t){throw new Error("Invalid kernel spec")}(0,i.validateProperty)(e,"name","string");(0,i.validateProperty)(e,"resources","object");(0,i.validateProperty)(t,"language","string");(0,i.validateProperty)(t,"display_name","string");(0,i.validateProperty)(t,"argv","array");let n=null;if(t.hasOwnProperty("metadata")){(0,i.validateProperty)(t,"metadata","object");n=t.metadata}let s=null;if(t.hasOwnProperty("env")){(0,i.validateProperty)(t,"env","object");s=t.env}return{name:e.name,resources:e.resources,language:t.language,display_name:t.display_name,argv:t.argv,metadata:n,env:s}}function o(e){if(!e.hasOwnProperty("kernelspecs")){throw new Error("No kernelspecs found")}let t=Object.keys(e.kernelspecs);const n=Object.create(null);let i=e.default;for(let r=0;r<t.length;r++){const i=e.kernelspecs[t[r]];try{n[t[r]]=s(i)}catch(o){console.warn(`Removing errant kernel spec: ${t[r]}`)}}t=Object.keys(n);if(!t.length){throw new Error("No valid kernelspecs found")}if(!i||typeof i!=="string"||!(i in n)){i=t[0];console.warn(`Default kernel not found, using '${t[0]}'`)}return{default:i,kernelspecs:n}}},90139:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ServiceManager=void 0;const i=n(2336);const s=n(44816);const o=n(97375);const r=n(1091);const a=n(14272);const l=n(76807);const d=n(93892);const c=n(1089);const h=n(86923);const u=n(95399);const p=n(67569);const m=n(18430);const g=n(90362);class f{constructor(e={}){var t,n;this._isDisposed=false;this._connectionFailure=new i.Signal(this);this._isReady=false;const f=e.defaultDrive;const v=(t=e.serverSettings)!==null&&t!==void 0?t:c.ServerConnection.makeSettings();const _=(n=e.standby)!==null&&n!==void 0?n:"when-hidden";const b={defaultDrive:f,serverSettings:v,standby:_};this.serverSettings=v;this.contents=e.contents||new o.ContentsManager(b);this.events=e.events||new r.EventManager(b);this.kernels=e.kernels||new a.KernelManager(b);this.sessions=e.sessions||new h.SessionManager({...b,kernelManager:this.kernels});this.settings=e.settings||new u.SettingManager(b);this.terminals=e.terminals||new p.TerminalManager(b);this.builder=e.builder||new s.BuildManager(b);this.workspaces=e.workspaces||new g.WorkspaceManager(b);this.nbconvert=e.nbconvert||new d.NbConvertManager(b);this.kernelspecs=e.kernelspecs||new l.KernelSpecManager(b);this.user=e.user||new m.UserManager(b);this.kernelspecs.connectionFailure.connect(this._onConnectionFailure,this);this.sessions.connectionFailure.connect(this._onConnectionFailure,this);this.terminals.connectionFailure.connect(this._onConnectionFailure,this);const y=[this.sessions.ready,this.kernelspecs.ready];if(this.terminals.isAvailable()){y.push(this.terminals.ready)}this._readyPromise=Promise.all(y).then((()=>{this._isReady=true}))}get connectionFailure(){return this._connectionFailure}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;i.Signal.clearData(this);this.contents.dispose();this.events.dispose();this.sessions.dispose();this.terminals.dispose()}get isReady(){return this._isReady}get ready(){return this._readyPromise}_onConnectionFailure(e,t){this._connectionFailure.emit(t)}}t.ServiceManager=f},93892:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.NbConvertManager=void 0;const i=n(40959);const s=n(1089);const o=n(5592);const r="api/nbconvert";const a="nbconvert";class l{constructor(e={}){var t;this._exportFormats=null;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:s.ServerConnection.makeSettings()}async fetchExportFormats(){this._requestingFormats=new o.PromiseDelegate;this._exportFormats=null;const e=this.serverSettings.baseUrl;const t=i.URLExt.join(e,r);const{serverSettings:n}=this;const a=await s.ServerConnection.makeRequest(t,{},n);if(a.status!==200){const e=await s.ServerConnection.ResponseError.create(a);throw e}const l=await a.json();const d={};const c=Object.keys(l);c.forEach((function(e){const t=l[e].output_mimetype;d[e]={output_mimetype:t}}));this._exportFormats=d;this._requestingFormats.resolve(d);return d}async getExportFormats(e=true){if(this._requestingFormats){return this._requestingFormats.promise}if(e||!this._exportFormats){return await this.fetchExportFormats()}return this._exportFormats}async exportAs(e){const{format:t,path:n}=e;const{download:s=false}=e.exporterOptions||{};const o=this.serverSettings.baseUrl;const r=i.URLExt.encodeParts(n);let l=i.URLExt.join(o,a,t,r);if(s){l+="?download=true"}window===null||window===void 0?void 0:window.open(l,"_blank","noopener")}}t.NbConvertManager=l},1089:(e,t,n)=>{"use strict";var i=n(65606);Object.defineProperty(t,"__esModule",{value:true});t.ServerConnection=void 0;const s=n(40959);const o=n(93962);let r;if(typeof window==="undefined"){r=n(36513)}else{r=WebSocket}var a;(function(e){function t(e){return l.makeSettings(e)}e.makeSettings=t;function n(e,t,n){return l.handleRequest(e,t,n)}e.makeRequest=n;class i extends Error{static async create(e){try{const t=await e.json();const{message:n,traceback:s}=t;if(s){console.error(s)}return new i(e,n!==null&&n!==void 0?n:i._defaultMessage(e),s!==null&&s!==void 0?s:"")}catch(t){console.debug(t);return new i(e)}}constructor(e,t=i._defaultMessage(e),n=""){super(t);this.response=e;this.traceback=n}static _defaultMessage(e){return`Invalid response: ${e.status} ${e.statusText}`}}e.ResponseError=i;class s extends TypeError{constructor(e){super(e.message);this.stack=e.stack}}e.NetworkError=s})(a||(t.ServerConnection=a={}));var l;(function(e){function t(e={}){var t;const n=s.PageConfig.getBaseUrl();const a=s.PageConfig.getWsUrl();const l=s.URLExt.normalize(e.baseUrl)||n;let d=e.wsUrl;if(!d&&l===n){d=a}if(!d&&l.indexOf("http")===0){d="ws"+l.slice(4)}d=d!==null&&d!==void 0?d:a;const c=s.PageConfig.getOption("appendToken").toLowerCase();let h;if(c===""){h=typeof window==="undefined"||typeof i!=="undefined"&&((t=i===null||i===void 0?void 0:i.env)===null||t===void 0?void 0:t.JEST_WORKER_ID)!==undefined||s.URLExt.getHostName(n)!==s.URLExt.getHostName(d)}else{h=c==="true"}return{init:{cache:"no-store",credentials:"same-origin"},fetch,Headers,Request,WebSocket:r,token:s.PageConfig.getToken(),appUrl:s.PageConfig.getOption("appUrl"),appendToken:h,serializer:{serialize:o.serialize,deserialize:o.deserialize},...e,baseUrl:l,wsUrl:d}}e.makeSettings=t;function n(e,t,n){var i;if(e.indexOf(n.baseUrl)!==0){throw new Error("Can only be used for notebook server requests")}const s=(i=t.cache)!==null&&i!==void 0?i:n.init.cache;if(s==="no-store"){e+=(/\?/.test(e)?"&":"?")+(new Date).getTime()}const o=new n.Request(e,{...n.init,...t});let r=false;if(n.token){r=true;o.headers.append("Authorization",`token ${n.token}`)}if(typeof document!=="undefined"){const e=l("_xsrf");if(e!==undefined){r=true;o.headers.append("X-XSRFToken",e)}}if(!o.headers.has("Content-Type")&&r){o.headers.set("Content-Type","application/json")}return n.fetch.call(null,o).catch((e=>{throw new a.NetworkError(e)}))}e.handleRequest=n;function l(e){let t="";try{t=document.cookie}catch(i){return}const n=t.match("\\b"+e+"=([^;]*)\\b");return n===null||n===void 0?void 0:n[1]}})(l||(l={}))},26830:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SessionConnection=void 0;const i=n(2336);const s=n(50608);const o=n(5592);const r=n(70637);class a{constructor(e){var t,n,a,l,d;this._id="";this._path="";this._name="";this._type="";this._kernel=null;this._isDisposed=false;this._disposed=new i.Signal(this);this._kernelChanged=new i.Signal(this);this._statusChanged=new i.Signal(this);this._connectionStatusChanged=new i.Signal(this);this._pendingInput=new i.Signal(this);this._iopubMessage=new i.Signal(this);this._unhandledMessage=new i.Signal(this);this._anyMessage=new i.Signal(this);this._propertyChanged=new i.Signal(this);this._id=e.model.id;this._name=e.model.name;this._path=e.model.path;this._type=e.model.type;this._username=(t=e.username)!==null&&t!==void 0?t:"";this._clientId=(n=e.clientId)!==null&&n!==void 0?n:o.UUID.uuid4();this._connectToKernel=e.connectToKernel;this._kernelConnectionOptions=(a=e.kernelConnectionOptions)!==null&&a!==void 0?a:{};this.serverSettings=(l=e.serverSettings)!==null&&l!==void 0?l:s.ServerConnection.makeSettings();this._sessionAPIClient=(d=e.sessionAPIClient)!==null&&d!==void 0?d:new r.SessionAPIClient({serverSettings:this.serverSettings});this.setupKernel(e.model.kernel)}get disposed(){return this._disposed}get kernelChanged(){return this._kernelChanged}get statusChanged(){return this._statusChanged}get connectionStatusChanged(){return this._connectionStatusChanged}get pendingInput(){return this._pendingInput}get iopubMessage(){return this._iopubMessage}get unhandledMessage(){return this._unhandledMessage}get anyMessage(){return this._anyMessage}get propertyChanged(){return this._propertyChanged}get id(){return this._id}get kernel(){return this._kernel}get path(){return this._path}get type(){return this._type}get name(){return this._name}get model(){return{id:this.id,kernel:this.kernel&&{id:this.kernel.id,name:this.kernel.name},path:this._path,type:this._type,name:this._name}}get isDisposed(){return this._isDisposed}update(e){const t=this.model;this._path=e.path;this._name=e.name;this._type=e.type;if(this._kernel===null&&e.kernel!==null||this._kernel!==null&&e.kernel===null||this._kernel!==null&&e.kernel!==null&&this._kernel.id!==e.kernel.id){if(this._kernel!==null){this._kernel.dispose()}const t=this._kernel||null;this.setupKernel(e.kernel);const n=this._kernel||null;this._kernelChanged.emit({name:"kernel",oldValue:t,newValue:n})}this._handleModelChange(t)}dispose(){if(this.isDisposed){return}this._isDisposed=true;this._disposed.emit();if(this._kernel){this._kernel.dispose();const e=this._kernel;this._kernel=null;const t=this._kernel;this._kernelChanged.emit({name:"kernel",oldValue:e,newValue:t})}i.Signal.clearData(this)}async setPath(e){if(this.isDisposed){throw new Error("Session is disposed")}await this._patch({path:e})}async setName(e){if(this.isDisposed){throw new Error("Session is disposed")}await this._patch({name:e})}async setType(e){if(this.isDisposed){throw new Error("Session is disposed")}await this._patch({type:e})}async changeKernel(e){if(this.isDisposed){throw new Error("Session is disposed")}await this._patch({kernel:e});return this.kernel}async shutdown(){if(this.isDisposed){throw new Error("Session is disposed")}await this._sessionAPIClient.shutdown(this.id);this.dispose()}setupKernel(e){if(e===null){this._kernel=null;return}const t=this._connectToKernel({...this._kernelConnectionOptions,model:e,username:this._username,clientId:this._clientId,serverSettings:this.serverSettings});this._kernel=t;t.statusChanged.connect(this.onKernelStatus,this);t.connectionStatusChanged.connect(this.onKernelConnectionStatus,this);t.pendingInput.connect(this.onPendingInput,this);t.unhandledMessage.connect(this.onUnhandledMessage,this);t.iopubMessage.connect(this.onIOPubMessage,this);t.anyMessage.connect(this.onAnyMessage,this)}onKernelStatus(e,t){this._statusChanged.emit(t)}onKernelConnectionStatus(e,t){this._connectionStatusChanged.emit(t)}onPendingInput(e,t){this._pendingInput.emit(t)}onIOPubMessage(e,t){this._iopubMessage.emit(t)}onUnhandledMessage(e,t){this._unhandledMessage.emit(t)}onAnyMessage(e,t){this._anyMessage.emit(t)}async _patch(e){const t=await this._sessionAPIClient.update({...e,id:this._id});this.update(t);return t}_handleModelChange(e){if(e.name!==this._name){this._propertyChanged.emit("name")}if(e.type!==this._type){this._propertyChanged.emit("type")}if(e.path!==this._path){this._propertyChanged.emit("path")}}}t.SessionConnection=a},86923:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){if(i===undefined)i=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,i,s)}:function(e,t,n,i){if(i===undefined)i=n;e[i]=t[n]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))i(t,e,n);s(t,e);return t};var r=this&&this.__exportStar||function(e,t){for(var n in e)if(n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n))i(t,e,n)};Object.defineProperty(t,"__esModule",{value:true});t.SessionAPI=t.Session=void 0;const a=o(n(82827));t.Session=a;const l=o(n(70637));t.SessionAPI=l;r(n(57740),t)},57740:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SessionManager=void 0;const i=n(26568);const s=n(2336);const o=n(1089);const r=n(5412);const a=n(26830);const l=n(70637);class d extends r.BaseManager{constructor(e){var t,n;super(e);this._isReady=false;this._sessionConnections=new Set;this._models=new Map;this._runningChanged=new s.Signal(this);this._connectionFailure=new s.Signal(this);this._connectToKernel=e=>this._kernelManager.connectTo(e);this._kernelManager=e.kernelManager;this._sessionAPIClient=(t=e.sessionAPIClient)!==null&&t!==void 0?t:new l.SessionAPIClient({serverSettings:e.serverSettings});this._pollModels=new i.Poll({auto:false,factory:()=>this.requestRunning(),frequency:{interval:10*1e3,backoff:true,max:300*1e3},name:`@jupyterlab/services:SessionManager#models`,standby:(n=e.standby)!==null&&n!==void 0?n:"when-hidden"});this._ready=(async()=>{await this._pollModels.start();await this._pollModels.tick;if(this._kernelManager.isActive){await this._kernelManager.ready}this._isReady=true})()}get isReady(){return this._isReady}get ready(){return this._ready}get runningChanged(){return this._runningChanged}get connectionFailure(){return this._connectionFailure}dispose(){if(this.isDisposed){return}this._models.clear();this._sessionConnections.forEach((e=>e.dispose()));this._pollModels.dispose();super.dispose()}connectTo(e){const t=new a.SessionConnection({...e,connectToKernel:this._connectToKernel,serverSettings:this.serverSettings,sessionAPIClient:this._sessionAPIClient});this._onStarted(t);if(!this._models.has(e.model.id)){void this.refreshRunning().catch((()=>{}))}return t}running(){return this._models.values()}async refreshRunning(){await this._pollModels.refresh();await this._pollModels.tick}async startNew(e,t={}){const n=await this._sessionAPIClient.startNew(e);await this.refreshRunning();return this.connectTo({...t,model:n})}async shutdown(e){await this._sessionAPIClient.shutdown(e);await this.refreshRunning()}async shutdownAll(){await this.refreshRunning();await Promise.all([...this._models.keys()].map((e=>this._sessionAPIClient.shutdown(e))));await this.refreshRunning()}async stopIfNeeded(e){try{const t=await this._sessionAPIClient.listRunning();const n=t.filter((t=>t.path===e));if(n.length===1){const e=n[0].id;await this.shutdown(e)}}catch(t){}}async findById(e){if(this._models.has(e)){return this._models.get(e)}await this.refreshRunning();return this._models.get(e)}async findByPath(e){for(const t of this._models.values()){if(t.path===e){return t}}await this.refreshRunning();for(const t of this._models.values()){if(t.path===e){return t}}return undefined}async requestRunning(){var e,t;let n;try{n=await this._sessionAPIClient.listRunning()}catch(i){if(i instanceof o.ServerConnection.NetworkError||((e=i.response)===null||e===void 0?void 0:e.status)===503||((t=i.response)===null||t===void 0?void 0:t.status)===424){this._connectionFailure.emit(i)}throw i}if(this.isDisposed){return}if(this._models.size===n.length&&n.every((e=>{var t,n,i,s;const o=this._models.get(e.id);if(!o){return false}return((t=o.kernel)===null||t===void 0?void 0:t.id)===((n=e.kernel)===null||n===void 0?void 0:n.id)&&((i=o.kernel)===null||i===void 0?void 0:i.name)===((s=e.kernel)===null||s===void 0?void 0:s.name)&&o.name===e.name&&o.path===e.path&&o.type===e.type}))){return}this._models=new Map(n.map((e=>[e.id,e])));this._sessionConnections.forEach((e=>{if(this._models.has(e.id)){e.update(this._models.get(e.id))}else{e.dispose()}}));this._runningChanged.emit(n)}_onStarted(e){this._sessionConnections.add(e);e.disposed.connect(this._onDisposed,this);e.propertyChanged.connect(this._onChanged,this);e.kernelChanged.connect(this._onChanged,this)}_onDisposed(e){this._sessionConnections.delete(e);void this.refreshRunning().catch((()=>{}))}_onChanged(){void this.refreshRunning().catch((()=>{}))}}t.SessionManager=d;(function(e){class t extends e{constructor(){super(...arguments);this._readyPromise=new Promise((()=>{}))}get isActive(){return false}get parentReady(){return super.ready}async startNew(e,t={}){return Promise.reject(new Error("Not implemented in no-op Session Manager"))}connectTo(e){throw Error("Not implemented in no-op Session Manager")}get ready(){return this.parentReady.then((()=>this._readyPromise))}async shutdown(e){return Promise.reject(new Error("Not implemented in no-op Session Manager"))}async requestRunning(){return Promise.resolve()}}e.NoopManager=t})(d||(t.SessionManager=d={}))},70637:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SessionAPIClient=t.SESSION_SERVICE_URL=void 0;t.listRunning=r;t.getSessionUrl=a;t.shutdownSession=l;t.getSessionModel=d;t.startSession=c;t.updateSession=h;const i=n(1089);const s=n(40959);const o=n(11521);t.SESSION_SERVICE_URL="api/sessions";async function r(e=i.ServerConnection.makeSettings()){const n=s.URLExt.join(e.baseUrl,t.SESSION_SERVICE_URL);const r=await i.ServerConnection.makeRequest(n,{},e);if(r.status!==200){const e=await i.ServerConnection.ResponseError.create(r);throw e}const a=await r.json();if(!Array.isArray(a)){throw new Error("Invalid Session list")}a.forEach((e=>{(0,o.updateLegacySessionModel)(e);(0,o.validateModel)(e)}));return a}function a(e,n){const i=s.URLExt.join(e,t.SESSION_SERVICE_URL);const o=s.URLExt.join(i,n);if(!o.startsWith(i)){throw new Error("Can only be used for services requests")}return o}async function l(e,t=i.ServerConnection.makeSettings()){var n;const s=a(t.baseUrl,e);const o={method:"DELETE"};const r=await i.ServerConnection.makeRequest(s,o,t);if(r.status===404){const t=await r.json();const i=(n=t.message)!==null&&n!==void 0?n:`The session "${e}"" does not exist on the server`;console.warn(i)}else if(r.status===410){throw new i.ServerConnection.ResponseError(r,"The kernel was deleted but the session was not")}else if(r.status!==204){const e=await i.ServerConnection.ResponseError.create(r);throw e}}async function d(e,t=i.ServerConnection.makeSettings()){const n=a(t.baseUrl,e);const s=await i.ServerConnection.makeRequest(n,{},t);if(s.status!==200){const e=await i.ServerConnection.ResponseError.create(s);throw e}const r=await s.json();(0,o.updateLegacySessionModel)(r);(0,o.validateModel)(r);return r}async function c(e,n=i.ServerConnection.makeSettings()){const r=s.URLExt.join(n.baseUrl,t.SESSION_SERVICE_URL);const a={method:"POST",body:JSON.stringify(e)};const l=await i.ServerConnection.makeRequest(r,a,n);if(l.status!==201){const e=await i.ServerConnection.ResponseError.create(l);throw e}const d=await l.json();(0,o.updateLegacySessionModel)(d);(0,o.validateModel)(d);return d}async function h(e,t=i.ServerConnection.makeSettings()){const n=a(t.baseUrl,e.id);const s={method:"PATCH",body:JSON.stringify(e)};const r=await i.ServerConnection.makeRequest(n,s,t);if(r.status!==200){const e=await i.ServerConnection.ResponseError.create(r);throw e}const l=await r.json();(0,o.updateLegacySessionModel)(l);(0,o.validateModel)(l);return l}class u{constructor(e){var t;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:i.ServerConnection.makeSettings()}async listRunning(){return r(this.serverSettings)}async getModel(e){return d(e,this.serverSettings)}async startNew(e){return c(e,this.serverSettings)}async shutdown(e){return l(e,this.serverSettings)}async update(e){return h(e,this.serverSettings)}}t.SessionAPIClient=u},82827:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true})},11521:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.validateModel=o;t.updateLegacySessionModel=r;t.validateModels=a;const i=n(38872);const s=n(1480);function o(e){(0,s.validateProperty)(e,"id","string");(0,s.validateProperty)(e,"type","string");(0,s.validateProperty)(e,"name","string");(0,s.validateProperty)(e,"path","string");(0,s.validateProperty)(e,"kernel","object");(0,i.validateModel)(e.kernel)}function r(e){if(e.path===undefined&&e.notebook!==undefined){e.path=e.notebook.path;e.type="notebook";e.name=""}}function a(e){if(!Array.isArray(e)){throw new Error("Invalid session list")}e.forEach((e=>o(e)))}},95399:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SettingManager=void 0;const i=n(40959);const s=n(78629);const o=n(1089);const r="api/settings";class a extends s.DataConnector{constructor(e={}){var t;super();this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:o.ServerConnection.makeSettings()}async fetch(e){if(!e){throw new Error("Plugin `id` parameter is required for settings fetch.")}const{serverSettings:t}=this;const{baseUrl:n,appUrl:i}=t;const{makeRequest:s,ResponseError:r}=o.ServerConnection;const a=n+i;const d=l.url(a,e);const c=await s(d,{},t);if(c.status!==200){const e=await r.create(c);throw e}return c.json()}async list(e){var t,n,i,s;const{serverSettings:r}=this;const{baseUrl:a,appUrl:d}=r;const{makeRequest:c,ResponseError:h}=o.ServerConnection;const u=a+d;const p=l.url(u,"",e==="ids");const m=await c(p,{},r);if(m.status!==200){throw new h(m)}const g=await m.json();const f=(n=(t=g===null||g===void 0?void 0:g["settings"])===null||t===void 0?void 0:t.map((e=>e.id)))!==null&&n!==void 0?n:[];let v=[];if(!e){v=(s=(i=g===null||g===void 0?void 0:g["settings"])===null||i===void 0?void 0:i.map((e=>{e.data={composite:{},user:{}};return e})))!==null&&s!==void 0?s:[]}return{ids:f,values:v}}async save(e,t){const{serverSettings:n}=this;const{baseUrl:i,appUrl:s}=n;const{makeRequest:r,ResponseError:a}=o.ServerConnection;const d=i+s;const c=l.url(d,e);const h={body:JSON.stringify({raw:t}),method:"PUT"};const u=await r(c,h,n);if(u.status!==204){throw new a(u)}}}t.SettingManager=a;var l;(function(e){function t(e,t,n){const s=n?i.URLExt.objectToQueryString({ids_only:true}):"";const o=i.URLExt.join(e,r);const a=i.URLExt.join(o,t);if(!a.startsWith(o)){throw new Error("Can only be used for workspaces requests")}return`${a}${s}`}e.url=t})(l||(l={}))},12100:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.TerminalConnection=void 0;const i=n(40959);const s=n(5592);const o=n(2336);const r=n(50608);const a=n(84903);class l{constructor(e){var t,n;this._createSocket=()=>{this._errorIfDisposed();this._clearSocket();this._updateConnectionStatus("connecting");const e=this._name;const t=this.serverSettings;let n=i.URLExt.join(t.wsUrl,"terminals","websocket",encodeURIComponent(e));const s=t.token;if(t.appendToken&&s!==""){n=n+`?token=${encodeURIComponent(s)}`}this._ws=new t.WebSocket(n);this._ws.onmessage=this._onWSMessage;this._ws.onclose=this._onWSClose;this._ws.onerror=this._onWSClose};this._onWSMessage=e=>{if(this._isDisposed){return}const t=JSON.parse(e.data);if(t[0]==="disconnect"){this.dispose()}if(this._connectionStatus==="connecting"){if(t[0]==="setup"){this._updateConnectionStatus("connected")}return}this._messageReceived.emit({type:t[0],content:t.slice(1)})};this._onWSClose=e=>{console.warn(`Terminal websocket closed: ${e.code}`);if(!this.isDisposed){this._reconnect()}};this._connectionStatus="connecting";this._connectionStatusChanged=new o.Signal(this);this._isDisposed=false;this._disposed=new o.Signal(this);this._messageReceived=new o.Signal(this);this._reconnectTimeout=null;this._ws=null;this._noOp=()=>{};this._reconnectLimit=7;this._reconnectAttempt=0;this._pendingMessages=[];this._name=e.model.name;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:r.ServerConnection.makeSettings();this._terminalAPIClient=(n=e.terminalAPIClient)!==null&&n!==void 0?n:new a.TerminalAPIClient({serverSettings:this.serverSettings});this._createSocket()}get disposed(){return this._disposed}get messageReceived(){return this._messageReceived}get name(){return this._name}get model(){return{name:this._name}}get isDisposed(){return this._isDisposed}dispose(){if(this._isDisposed){return}this._isDisposed=true;this._disposed.emit();this._updateConnectionStatus("disconnected");this._clearSocket();o.Signal.clearData(this)}send(e){this._sendMessage(e)}_sendMessage(e,t=true){if(this._isDisposed||!e.content){return}if(this.connectionStatus==="connected"&&this._ws){const t=[e.type,...e.content];this._ws.send(JSON.stringify(t))}else if(t){this._pendingMessages.push(e)}else{throw new Error(`Could not send message: ${JSON.stringify(e)}`)}}_sendPending(){while(this.connectionStatus==="connected"&&this._pendingMessages.length>0){this._sendMessage(this._pendingMessages[0],false);this._pendingMessages.shift()}}reconnect(){this._errorIfDisposed();const e=new s.PromiseDelegate;const t=(n,i)=>{if(i==="connected"){e.resolve();this.connectionStatusChanged.disconnect(t,this)}else if(i==="disconnected"){e.reject(new Error("Terminal connection disconnected"));this.connectionStatusChanged.disconnect(t,this)}};this.connectionStatusChanged.connect(t,this);this._reconnectAttempt=0;this._reconnect();return e.promise}_reconnect(){this._errorIfDisposed();clearTimeout(this._reconnectTimeout);if(this._reconnectAttempt<this._reconnectLimit){this._updateConnectionStatus("connecting");const e=d.getRandomIntInclusive(0,1e3*(Math.pow(2,this._reconnectAttempt)-1));console.error(`Connection lost, reconnecting in ${Math.floor(e/1e3)} seconds.`);this._reconnectTimeout=setTimeout(this._createSocket,e);this._reconnectAttempt+=1}else{this._updateConnectionStatus("disconnected")}this._clearSocket()}_clearSocket(){if(this._ws!==null){this._ws.onopen=this._noOp;this._ws.onclose=this._noOp;this._ws.onerror=this._noOp;this._ws.onmessage=this._noOp;this._ws.close();this._ws=null}}async shutdown(){await this._terminalAPIClient.shutdown(this.name);this.dispose()}clone(){return new l({model:this.model,serverSettings:this.serverSettings,terminalAPIClient:this._terminalAPIClient})}_updateConnectionStatus(e){if(this._connectionStatus===e){return}this._connectionStatus=e;if(e!=="connecting"){this._reconnectAttempt=0;clearTimeout(this._reconnectTimeout)}if(e==="connected"){this._sendPending()}this._connectionStatusChanged.emit(e)}_errorIfDisposed(){if(this.isDisposed){throw new Error("Terminal connection is disposed")}}get connectionStatusChanged(){return this._connectionStatusChanged}get connectionStatus(){return this._connectionStatus}}t.TerminalConnection=l;var d;(function(e){function t(e,t){e=Math.ceil(e);t=Math.floor(t);return Math.floor(Math.random()*(t-e+1))+e}e.getRandomIntInclusive=t})(d||(d={}))},67569:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){if(i===undefined)i=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,i,s)}:function(e,t,n,i){if(i===undefined)i=n;e[i]=t[n]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))i(t,e,n);s(t,e);return t};var r=this&&this.__exportStar||function(e,t){for(var n in e)if(n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n))i(t,e,n)};Object.defineProperty(t,"__esModule",{value:true});t.TerminalAPI=t.Terminal=void 0;const a=o(n(88917));t.Terminal=a;const l=o(n(84903));t.TerminalAPI=l;r(n(66810),t)},66810:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.TerminalManager=void 0;const i=n(26568);const s=n(2336);const o=n(50608);const r=n(5412);const a=n(84903);const l=n(12100);class d extends r.BaseManager{constructor(e={}){var t,n;super(e);this._isReady=false;this._names=[];this._terminalConnections=new Set;this._runningChanged=new s.Signal(this);this._connectionFailure=new s.Signal(this);this._terminalAPIClient=(t=e.terminalAPIClient)!==null&&t!==void 0?t:new a.TerminalAPIClient({serverSettings:this.serverSettings});if(!this.isAvailable()){this._ready=Promise.reject("Terminals unavailable");this._ready.catch((e=>undefined));return}const o=this._pollModels=new i.Poll({auto:false,factory:()=>this.requestRunning(),frequency:{interval:10*1e3,backoff:true,max:300*1e3},name:`@jupyterlab/services:TerminalManager#models`,standby:(n=e.standby)!==null&&n!==void 0?n:"when-hidden"});this._ready=(async()=>{await o.start();await o.tick;this._isReady=true})()}get isReady(){return this._isReady}get ready(){return this._ready}get runningChanged(){return this._runningChanged}get connectionFailure(){return this._connectionFailure}dispose(){var e;if(this.isDisposed){return}this._names.length=0;this._terminalConnections.forEach((e=>e.dispose()));(e=this._pollModels)===null||e===void 0?void 0:e.dispose();super.dispose()}isAvailable(){return this._terminalAPIClient.isAvailable}connectTo(e){const t=new l.TerminalConnection({...e,serverSettings:this.serverSettings,terminalAPIClient:this._terminalAPIClient});this._onStarted(t);if(!this._names.includes(e.model.name)){void this.refreshRunning().catch((()=>{}))}return t}running(){return this._models[Symbol.iterator]()}async refreshRunning(){if(this._pollModels){await this._pollModels.refresh();await this._pollModels.tick}}async startNew(e={}){const{name:t,cwd:n}=e;const i=await this._terminalAPIClient.startNew({name:t,cwd:n});await this.refreshRunning();return this.connectTo({model:i})}async shutdown(e){await this._terminalAPIClient.shutdown(e);await this.refreshRunning()}async shutdownAll(){await this.refreshRunning();await Promise.all(this._names.map((e=>this._terminalAPIClient.shutdown(e))));await this.refreshRunning()}async requestRunning(){var e,t;let n;try{n=await this._terminalAPIClient.listRunning()}catch(s){if(s instanceof o.ServerConnection.NetworkError||((e=s.response)===null||e===void 0?void 0:e.status)===503||((t=s.response)===null||t===void 0?void 0:t.status)===424){this._connectionFailure.emit(s)}throw s}if(this.isDisposed){return}const i=n.map((({name:e})=>e)).sort();if(i===this._names){return}this._names=i;this._terminalConnections.forEach((e=>{if(!i.includes(e.name)){e.dispose()}}));this._runningChanged.emit(this._models)}_onStarted(e){this._terminalConnections.add(e);e.disposed.connect(this._onDisposed,this)}_onDisposed(e){this._terminalConnections.delete(e);void this.refreshRunning().catch((()=>{}))}get _models(){return this._names.map((e=>({name:e})))}}t.TerminalManager=d;(function(e){class t extends e{constructor(){super(...arguments);this._readyPromise=new Promise((()=>{}))}get isActive(){return false}get parentReady(){return super.ready}get ready(){return this.parentReady.then((()=>this._readyPromise))}async startNew(e){return Promise.reject(new Error("Not implemented in no-op Terminal Manager"))}connectTo(e){throw Error("Not implemented in no-op Terminal Manager")}async shutdown(e){return Promise.reject(new Error("Not implemented in no-op Terminal Manager"))}async requestRunning(){return Promise.resolve()}}e.NoopManager=t})(d||(t.TerminalManager=d={}))},84903:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.TerminalAPIClient=t.TERMINAL_SERVICE_URL=void 0;t.isAvailable=o;t.startNew=r;t.listRunning=a;t.shutdownTerminal=l;const i=n(40959);const s=n(1089);t.TERMINAL_SERVICE_URL="api/terminals";function o(){const e=String(i.PageConfig.getOption("terminalsAvailable"));return e.toLowerCase()==="true"}async function r(e=s.ServerConnection.makeSettings(),n,o){c.errorIfNotAvailable();const r=i.URLExt.join(e.baseUrl,t.TERMINAL_SERVICE_URL);const a={method:"POST",body:JSON.stringify({name:n,cwd:o})};const l=await s.ServerConnection.makeRequest(r,a,e);if(l.status!==200){const e=await s.ServerConnection.ResponseError.create(l);throw e}const d=await l.json();return d}async function a(e=s.ServerConnection.makeSettings()){c.errorIfNotAvailable();const n=i.URLExt.join(e.baseUrl,t.TERMINAL_SERVICE_URL);const o=await s.ServerConnection.makeRequest(n,{},e);if(o.status!==200){const e=await s.ServerConnection.ResponseError.create(o);throw e}const r=await o.json();if(!Array.isArray(r)){throw new Error("Invalid terminal list")}return r}async function l(e,n=s.ServerConnection.makeSettings()){var o;c.errorIfNotAvailable();const r=i.URLExt.join(n.baseUrl,t.TERMINAL_SERVICE_URL);const a=i.URLExt.join(r,e);if(!a.startsWith(r)){throw new Error("Can only be used for terminal requests")}const l={method:"DELETE"};const d=await s.ServerConnection.makeRequest(a,l,n);if(d.status===404){const t=await d.json();const n=(o=t.message)!==null&&o!==void 0?o:`The terminal session "${e}"" does not exist on the server`;console.warn(n)}else if(d.status!==204){const e=await s.ServerConnection.ResponseError.create(d);throw e}}class d{constructor(e={}){var t;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:s.ServerConnection.makeSettings()}get isAvailable(){return o()}async startNew(e={}){const{name:t,cwd:n}=e;return r(this.serverSettings,t,n)}async listRunning(){return a(this.serverSettings)}async shutdown(e){return l(e,this.serverSettings)}}t.TerminalAPIClient=d;var c;(function(e){function t(){if(!o()){throw new Error("Terminals Unavailable")}}e.errorIfNotAvailable=t})(c||(c={}))},88917:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.isAvailable=void 0;const i=n(84903);Object.defineProperty(t,"isAvailable",{enumerable:true,get:function(){return i.isAvailable}})},80856:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.IWorkspaceManager=t.IUserManager=t.ITerminalManager=t.IServiceManager=t.ISettingManager=t.ISessionManager=t.IServerSettings=t.INbConvertManager=t.IKernelSpecManager=t.IKernelManager=t.IEventManager=t.IDefaultDrive=t.IDefaultContentProvider=t.IContentsManager=t.IConfigSectionManager=t.IConnectionStatus=void 0;const i=n(5592);t.IConnectionStatus=new i.Token("@jupyterlab/application:IConnectionStatus","A service providing the application connection status.");t.IConfigSectionManager=new i.Token("@jupyterlab/services:IConfigSectionManager","A service providing the config section manager.");t.IContentsManager=new i.Token("@jupyterlab/services:IContentsManager","The contents manager token.");t.IDefaultContentProvider=new i.Token("@jupyterlab/services:IDefaultContentProvider","The default content provider for the contents manager.");t.IDefaultDrive=new i.Token("@jupyterlab/services:IDefaultDrive","The default drive for the contents manager.");t.IEventManager=new i.Token("@jupyterlab/services:IEventManager","The event manager token.");t.IKernelManager=new i.Token("@jupyterlab/services:IKernelManager","The kernel manager token.");t.IKernelSpecManager=new i.Token("@jupyterlab/services:IKernelSpecManager","The kernel spec manager token.");t.INbConvertManager=new i.Token("@jupyterlab/services:INbConvertManager","The nbconvert manager token.");t.IServerSettings=new i.Token("@jupyterlab/services:IServerSettings","The server settings for the application.");t.ISessionManager=new i.Token("@jupyterlab/services:ISessionManager","The session manager token.");t.ISettingManager=new i.Token("@jupyterlab/services:ISettingManager","The setting manager token.");t.IServiceManager=new i.Token("@jupyterlab/services:IServiceManager","The service manager for the application.");t.ITerminalManager=new i.Token("@jupyterlab/services:ITerminalManager","The terminal manager token.");t.IUserManager=new i.Token("@jupyterlab/services:IUserManager","The user manager token.");t.IWorkspaceManager=new i.Token("@jupyterlab/services:IWorkspaceManager","The workspace manager token.")},18430:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){if(i===undefined)i=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,i,s)}:function(e,t,n,i){if(i===undefined)i=n;e[i]=t[n]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))i(t,e,n);s(t,e);return t};var r=this&&this.__exportStar||function(e,t){for(var n in e)if(n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n))i(t,e,n)};Object.defineProperty(t,"__esModule",{value:true});t.UserAPI=t.User=void 0;const a=o(n(71483));t.User=a;const l=o(n(34320));t.UserAPI=l;r(n(60961),t)},60961:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.UserManager=void 0;const i=n(5592);const s=n(26568);const o=n(2336);const r=n(5412);const a=n(34320);const l="@jupyterlab/services:UserManager#user";class d extends r.BaseManager{constructor(e={}){var t,n;super(e);this._isReady=false;this._userChanged=new o.Signal(this);this._connectionFailure=new o.Signal(this);this._userApiClient=(t=e.userApiClient)!==null&&t!==void 0?t:new a.UserAPIClient({serverSettings:this.serverSettings});this._ready=this.requestUser().then((()=>{if(this.isDisposed){return}this._isReady=true})).catch((e=>new Promise((()=>{}))));this._pollUser=new s.Poll({auto:false,factory:()=>this.requestUser(),frequency:{interval:61*1e3,backoff:true,max:300*1e3},name:l,standby:(n=e.standby)!==null&&n!==void 0?n:"when-hidden"});void this.ready.then((()=>{void this._pollUser.start()}))}get isReady(){return this._isReady}get ready(){return this._ready}get identity(){return this._identity}get permissions(){return this._permissions}get userChanged(){return this._userChanged}get connectionFailure(){return this._connectionFailure}dispose(){this._pollUser.dispose();super.dispose()}async refreshUser(){await this._pollUser.refresh();await this._pollUser.tick}async requestUser(){if(this.isDisposed){return}const e={identity:this._identity,permissions:this._permissions};const t=await this._userApiClient.get();const n=t.identity;const{localStorage:s}=window;const o=s.getItem(l);if(o&&(!n.initials||!n.color)){const e=JSON.parse(o);n.initials=n.initials||e.initials||n.name.substring(0,1);n.color=n.color||e.color||c.getRandomColor()}if(!i.JSONExt.deepEqual(t,e)){this._identity=n;this._permissions=t.permissions;s.setItem(l,JSON.stringify(n));this._userChanged.emit(t)}}}t.UserManager=d;var c;(function(e){const t=["var(--jp-collaborator-color1)","var(--jp-collaborator-color2)","var(--jp-collaborator-color3)","var(--jp-collaborator-color4)","var(--jp-collaborator-color5)","var(--jp-collaborator-color6)","var(--jp-collaborator-color7)"];e.getRandomColor=()=>t[Math.floor(Math.random()*t.length)]})(c||(c={}))},34320:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.UserAPIClient=void 0;const i=n(1089);const s=n(40959);const o="api/me";class r{constructor(e={}){var t;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:i.ServerConnection.makeSettings()}async get(){const{baseUrl:e}=this.serverSettings;const{makeRequest:t,ResponseError:n}=i.ServerConnection;const r=s.URLExt.join(e,o);const a=await t(r,{},this.serverSettings);if(a.status!==200){const e=await n.create(a);throw e}return await a.json()}}t.UserAPIClient=r},71483:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true})},1480:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.validateProperty=n;function n(e,t,n,i=[]){if(!e.hasOwnProperty(t)){throw Error(`Missing property '${t}'`)}const s=e[t];if(n!==void 0){let e=true;switch(n){case"array":e=Array.isArray(s);break;case"object":e=typeof s!=="undefined";break;default:e=typeof s===n}if(!e){throw new Error(`Property '${t}' is not of type '${n}'`)}if(i.length>0){let e=true;switch(n){case"string":case"number":case"boolean":e=i.includes(s);break;default:e=i.findIndex((e=>e===s))>=0;break}if(!e){throw new Error(`Property '${t}' is not one of the valid values ${JSON.stringify(i)}`)}}}}},90362:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.WorkspaceManager=void 0;const i=n(40959);const s=n(78629);const o=n(1089);const r="api/workspaces";class a extends s.DataConnector{constructor(e={}){var t;super();this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:o.ServerConnection.makeSettings()}async fetch(e){const{serverSettings:t}=this;const{baseUrl:n,appUrl:i}=t;const{makeRequest:s,ResponseError:r}=o.ServerConnection;const a=n+i;const d=l.url(a,e);const c=await s(d,{},t);if(c.status!==200){const e=await r.create(c);throw e}return c.json()}async list(){const{serverSettings:e}=this;const{baseUrl:t,appUrl:n}=e;const{makeRequest:i,ResponseError:s}=o.ServerConnection;const r=t+n;const a=l.url(r,"");const d=await i(a,{},e);if(d.status!==200){const e=await s.create(d);throw e}const c=await d.json();return c.workspaces}async remove(e){const{serverSettings:t}=this;const{baseUrl:n,appUrl:i}=t;const{makeRequest:s,ResponseError:r}=o.ServerConnection;const a=n+i;const d=l.url(a,e);const c={method:"DELETE"};const h=await s(d,c,t);if(h.status!==204){const e=await r.create(h);throw e}}async save(e,t){const{serverSettings:n}=this;const{baseUrl:i,appUrl:s}=n;const{makeRequest:r,ResponseError:a}=o.ServerConnection;const d=i+s;const c=l.url(d,e);const h={body:JSON.stringify(t),method:"PUT"};const u=await r(c,h,n);if(u.status!==204){const e=await a.create(u);throw e}}}t.WorkspaceManager=a;var l;(function(e){function t(e,t){const n=i.URLExt.join(e,r);const s=i.URLExt.join(n,t);if(!s.startsWith(n)){throw new Error("Can only be used for workspaces requests")}return s}e.url=t})(l||(l={}))},34194:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>I});var i=n(88617);var s=n(38850);var o=n(44389);var r=n(4073);var a=n(95513);var l=n(667);var d=n(26849);var c=n(40065);var h=n(78629);var u=n(34881);var p=n(44914);var m=n.n(p);const g=e=>{const t=e.translator.load("jupyterlab");const[n,i]=(0,p.useState)(e.importedSettings.reduce(((e,t)=>{e[t]=true;return e}),{}));const s=(e,t)=>{const s={...n,[e]:t};i(s)};return m().createElement("div",{className:"jp-SettingsImport-container"},m().createElement("div",{className:"jp-SettingsImport-header"},m().createElement("span",{className:"jp-SettingsImport-title"},t.__("Select settings sections to import")),m().createElement("button",{className:"jp-Button jp-mod-styled jp-mod-accept",onClick:()=>{e.handleImport(Object.keys(n).filter((e=>!n[e])))}},t.__("Import"))),m().createElement("div",{className:"jp-SettingsImport-list"},e.importedSettings.map((e=>m().createElement("label",{key:e,className:"jp-SettingsImport-item"},m().createElement("span",{className:"jp-SettingsImport-itemKey"},e),m().createElement("input",{type:"checkbox",checked:n[e],onChange:t=>s(e,t.target.checked),className:"jp-SettingsImport-checkbox"}))))))};class f extends r.ReactWidget{constructor(e){const{importedSettings:t,handleImport:n,translator:i}=e;super();this.importedSettings=t;this.handleImport=n;this.addClass("jp-SettingsImport-widget");this.translator=i}render(){return m().createElement(g,{importedSettings:this.importedSettings,handleImport:this.handleImport,translator:this.translator})}}const v=e=>m().createElement("div",null,m().createElement("div",null,e.successMessage),e.failureMessage&&m().createElement("div",null,m().createElement("br",null),m().createElement("div",null,e.failureMessage),e.failedSettings&&e.failedSettings.map(((e,t)=>m().createElement("div",{key:t},e)))));class _ extends r.ReactWidget{constructor(e){super();this._props=e}render(){return m().createElement(v,{...this._props})}}var b=n(58285);var y=n(22819);const w=["@jupyterlab/application-extension:context-menu","@jupyterlab/mainmenu-extension:plugin"];var C;(function(e){e.open="settingeditor:open";e.openJSON="settingeditor:open-json";e.revert="settingeditor:revert";e.save="settingeditor:save";e.exportSettings="settingeditor:export";e.importSettings="settingeditor:import"})(C||(C={}));const x={id:"@jupyterlab/settingeditor-extension:form-ui",description:"Adds the interactive settings editor and provides its tracker.",requires:[c.ISettingRegistry,h.IStateDB,u.ITranslator,r.IFormRendererRegistry,i.ILabStatus],optional:[i.ILayoutRestorer,s.ICommandPalette,l.F,d.IPluginManager],autoStart:true,provides:l.z,activate:S};function S(e,t,i,o,a,l,d,c,h,u){const p=o.load("jupyterlab");const{commands:m,shell:g}=e;const f="setting-editor";const v=new s.WidgetTracker({namespace:f});if(d){void d.restore(v,{command:C.open,args:e=>({}),name:e=>f})}const _=async e=>{if(v.currentWidget&&!v.currentWidget.isDisposed){if(!v.currentWidget.isAttached){g.add(v.currentWidget,"main",{type:"Settings"})}g.activateById(v.currentWidget.id);if(e.query){v.currentWidget.content.updateQuery(e.query)}return}const d=x.id;const{SettingsEditor:c}=await n.e(7909).then(n.t.bind(n,7909,23));const _=await t.load(x.id);const b=_.get("toSkip").composite;const y=Array.isArray(b)?b:[];const S=[...new Set([...w,...y])];const j=new s.MainAreaWidget({content:new c({editorRegistry:a,key:d,registry:t,state:i,commands:m,toSkip:S,translator:o,status:l,query:e.query})});j.toolbar.addItem("export-settings",new r.CommandToolbarButton({commands:m,id:C.exportSettings,icon:r.downloadIcon,label:p.__("Export"),caption:p.__("Export settings to a JSON file")}));j.toolbar.addItem("import-settings",new r.CommandToolbarButton({commands:m,id:C.importSettings,icon:r.fileUploadIcon,label:p.__("Import"),caption:p.__("Import settings from a JSON file")}));j.toolbar.addItem("spacer",r.Toolbar.createSpacerItem());if(u){j.toolbar.addItem("open-plugin-manager",new r.ToolbarButton({onClick:async()=>{await u.open()},icon:r.launchIcon,label:p.__("Plugin Manager")}))}if(h){j.toolbar.addItem("open-json-editor",new r.CommandToolbarButton({commands:m,id:C.openJSON,icon:r.launchIcon,label:p.__("JSON Settings Editor")}))}j.id=f;j.title.icon=r.settingsIcon;j.title.label=p.__("Settings");j.title.closable=true;void v.add(j);g.add(j,"main",{type:"Settings"})};m.addCommand(C.open,{execute:async e=>{var n;if(e.settingEditorType==="ui"){void m.execute(C.open,{query:(n=e.query)!==null&&n!==void 0?n:""})}else if(e.settingEditorType==="json"){void m.execute(C.openJSON)}else{void t.load(x.id).then((t=>{var n;t.get("settingEditorType").composite==="json"?void m.execute(C.openJSON):void _({query:(n=e.query)!==null&&n!==void 0?n:""})}))}},label:e=>{if(e.label){return e.label}return p.__("Settings Editor")},describedBy:{args:{type:"object",properties:{query:{type:"string",description:p.__("Search query to filter settings")},settingEditorType:{type:"string",enum:["ui","json"],description:p.__("Type of settings editor to open")},label:{type:"string",description:p.__("Custom label for the command")}}}}});if(c){c.addItem({category:p.__("Settings"),command:C.open,args:{settingEditorType:"ui"}})}return v}const j={id:"@jupyterlab/settingeditor-extension:plugin",description:"Adds the JSON settings editor and provides its tracker.",requires:[c.ISettingRegistry,o.IEditorServices,h.IStateDB,a.IRenderMimeRegistry,i.ILabStatus,u.ITranslator],optional:[i.ILayoutRestorer,s.ICommandPalette],autoStart:true,provides:l.F,activate:k};function k(e,t,i,o,a,l,d,c,h){const u=d.load("jupyterlab");const{commands:p,shell:m}=e;const g="json-setting-editor";const v=i.factoryService;const w=v.newInlineEditor;const S=new s.WidgetTracker({namespace:g});if(c){void c.restore(S,{command:C.openJSON,args:e=>({}),name:e=>g})}p.addCommand(C.openJSON,{execute:async()=>{if(S.currentWidget&&!S.currentWidget.isDisposed){if(!S.currentWidget.isAttached){m.add(S.currentWidget,"main",{type:"Advanced Settings"})}m.activateById(S.currentWidget.id);return}const i=x.id;const c=e.restored;const{JsonSettingEditor:h}=await n.e(7909).then(n.t.bind(n,7909,23));const f=new h({commands:{registry:p,revert:C.revert,save:C.save},editorFactory:e=>{var t;const n=w({...e,extensions:[...(t=e.extensions)!==null&&t!==void 0?t:[],(0,b.history)(),y.keymap.of(b.historyKeymap)]});return n},key:i,registry:t,rendermime:a,state:o,translator:d,when:c});let v=null;f.commandsChanged.connect(((e,t)=>{t.forEach((e=>{p.notifyCommandChanged(e)}));if(f.canSaveRaw){if(!v){v=l.setDirty()}}else if(v){v.dispose();v=null}f.disposed.connect((()=>{if(v){v.dispose()}}))}));const _=new s.MainAreaWidget({content:f});_.id=g;_.title.icon=r.settingsIcon;_.title.label=u.__("Advanced Settings Editor");_.title.closable=true;void S.add(_);m.add(_,"main",{type:"Advanced Settings"})},label:u.__("Advanced Settings Editor"),describedBy:{args:{type:"object",properties:{}}}});if(h){h.addItem({category:u.__("Settings"),command:C.openJSON})}p.addCommand(C.revert,{execute:()=>{var e;(e=S.currentWidget)===null||e===void 0?void 0:e.content.revert()},icon:r.undoIcon,label:u.__("Revert User Settings"),isEnabled:()=>{var e,t;return(t=(e=S.currentWidget)===null||e===void 0?void 0:e.content.canRevertRaw)!==null&&t!==void 0?t:false},describedBy:{args:{type:"object",properties:{}}}});p.addCommand(C.save,{execute:()=>{var e;return(e=S.currentWidget)===null||e===void 0?void 0:e.content.save()},icon:r.saveIcon,label:u.__("Save User Settings"),isEnabled:()=>{var e,t;return(t=(e=S.currentWidget)===null||e===void 0?void 0:e.content.canSaveRaw)!==null&&t!==void 0?t:false},describedBy:{args:{type:"object",properties:{}}}});p.addCommand(C.exportSettings,{execute:()=>{const e=j(t);const n=JSON.stringify(e,null,2);k(n,"overrides.json")},label:u.__("Export Settings"),icon:r.downloadIcon,describedBy:{args:{type:"object",properties:{}}}});p.addCommand(C.importSettings,{execute:()=>{const n=document.createElement("input");n.type="file";n.accept=".json";const i=4;n.addEventListener("change",(async n=>{var o;const a=(o=n.target.files)===null||o===void 0?void 0:o[0];if(!a){return}try{const n=await a.text();const o=JSON.parse(n);if(typeof o!=="object"||Array.isArray(o)){throw new Error("Invalid settings file format")}const l=[];const c=async n=>{var r;const a=Object.entries(o);for(const[e,s]of a){if(typeof s==="object"&&!Array.isArray(s)){try{await t.upload(e,JSON.stringify(s,undefined,i))}catch(d){console.warn(`Failed to save settings for ${e}:`,d);l.push(e)}}else{console.warn(`Invalid settings for plugin ${e}. Skipping.`)}}(r=e.shell.currentWidget)===null||r===void 0?void 0:r.close();if(a.length){const e=a.length-l.length;const t=u.__(`Imported settings across ${e} ${e===1?"category":"categories"} successfully.`);const n=l.length?u.__(`Failed to upload settings for the following ${l.length} ${l.length===1?"plugin":"plugins"}`):"";const i=new _({successMessage:t,failureMessage:n,failedSettings:l});await(0,s.showDialog)({title:u.__("Settings Imported"),body:i,buttons:[s.Dialog.okButton()]})}};const h=Object.keys(o);const p=new f({importedSettings:h,handleImport:c,translator:d});const m=new s.MainAreaWidget({content:p});m.title.label=u.__("Import Settings");m.title.icon=r.fileUploadIcon;e.shell.add(m,"main");e.shell.activateById(m.id)}catch(l){await(0,s.showErrorMessage)("Failed to import settings",l)}}));n.click()},label:u.__("Import Settings"),icon:r.fileUploadIcon,describedBy:{args:{type:"object",properties:{}}}});function j(e){const t={};for(const[i,s]of Object.entries(e.plugins)){if(s){try{if(s.raw){const e=s.raw.replace(/\/\/.*$/gm,"");const n=e.replace(/\/\*[\s\S]*?\*\//g,"");const o=JSON.parse(n);if(Object.keys(o).length>0){t[i]=o}}}catch(n){console.error(`Error loading settings for plugin ${i}:`,n)}}}return t}function k(e,t){const n=new Blob([e],{type:"application/json"});const i=URL.createObjectURL(n);const s=document.createElement("a");s.href=i;s.download=t;document.body.appendChild(s);s.click();document.body.removeChild(s);URL.revokeObjectURL(i)}return S}const I=[x,j]},40779:(e,t,n)=>{"use strict";var i=n(40662);var s=n(97913);var o=n(17325);var r=n(5893);var a=n(3579);var l=n(14383);var d=n(10395);var c=n(52638);var h=n(85072);var u=n.n(h);var p=n(97825);var m=n.n(p);var g=n(77659);var f=n.n(g);var v=n(55056);var _=n.n(v);var b=n(10540);var y=n.n(b);var w=n(41113);var C=n.n(w);var x=n(45453);var S={};S.styleTagTransform=C();S.setAttributes=_();S.insert=f().bind(null,"head");S.domAPI=m();S.insertStyleElement=y();var j=u()(x.A,S);const k=x.A&&x.A.locals?x.A.locals:undefined},33296:(e,t,n)=>{"use strict";n.r(t);n.d(t,{IJSONSettingEditorTracker:()=>W.F,ISettingEditorTracker:()=>W.z,JsonSettingEditor:()=>F,SettingsEditor:()=>x});var i=n(38850);var s=n(34881);var o=n(4073);var r=n(2336);var a=n(27518);var l=n(44914);var d=n.n(l);var c=n(34236);var h=n(5592);const u="jupyter.lab.setting-icon";const p="jupyter.lab.setting-icon-class";const m="jupyter.lab.setting-icon-label";class g extends i.ReactWidget{constructor(e){var t,n;super();this._changed=new r.Signal(this);this._handleSelectSignal=new r.Signal(this);this._updateFilterSignal=new r.Signal(this);this._scrollTop=0;this._selection="";this._registry=this.registry=e.registry;this.translator=e.translator||s.nullTranslator;this.addClass("jp-PluginList");this._confirm=e.confirm;this._model=(t=e.model)!==null&&t!==void 0?t:new g.Model(e);this._model.ready.then((()=>{this.update();this._model.changed.connect((()=>{this.update()}))})).catch((e=>{console.error(`Failed to load the plugin list model:\n${e}`)}));this.mapPlugins=this.mapPlugins.bind(this);this.setFilter=this.setFilter.bind(this);this.setFilter(e.query?(0,o.updateFilterFunction)(e.query,false,false):null);this.setError=this.setError.bind(this);this._evtMousedown=this._evtMousedown.bind(this);this._query=(n=e.query)!==null&&n!==void 0?n:"";this._errors={}}get changed(){return this._changed}get scrollTop(){var e;return(e=this.node.querySelector("ul"))===null||e===void 0?void 0:e.scrollTop}get hasErrors(){for(const e in this._errors){if(this._errors[e]){return true}}return false}get filter(){return this._filter}get selection(){return this._selection}set selection(e){this._selection=e;this.update()}get updateFilterSignal(){return this._updateFilterSignal}get handleSelectSignal(){return this._handleSelectSignal}onUpdateRequest(e){const t=this.node.querySelector("ul");if(t&&this._scrollTop!==undefined){t.scrollTop=this._scrollTop}super.onUpdateRequest(e)}_evtMousedown(e){const t=e.currentTarget;const n=t.getAttribute("data-id");if(!n){return}if(this._confirm){this._confirm(n).then((()=>{this.selection=n;this._changed.emit(undefined);this.update()})).catch((()=>{}))}else{this._scrollTop=this.scrollTop;this._selection=n;this._handleSelectSignal.emit(n);this._changed.emit(undefined);this.update()}}getHint(e,t,n){let i=n.data.user[e];if(!i){i=n.data.composite[e]}if(!i){i=n.schema[e]}if(!i){const{properties:n}=t.schema;i=n&&n[e]&&n[e].default}return typeof i==="string"?i:""}getFilterString(e,t,n,i){var s;if(i&&n){i=i.replace("#/definitions/","");t=(s=n[i])!==null&&s!==void 0?s:{}}if(t.properties){t=t.properties}else if(t.items){t=t.items}else{return[]}if(t["$ref"]){return this.getFilterString(e,t,n,t["$ref"])}if(Object.keys(t).length===0){return[]}return Object.keys(t).reduce(((i,s)=>{var o,r;const a=t[s];if(!a){if(e((o=t.title)!==null&&o!==void 0?o:"")){return t.title}if(e(s)){return s}}if(e((r=a.title)!==null&&r!==void 0?r:"")){i.push(a.title)}if(e(s)){i.push(s)}i.concat(this.getFilterString(e,a,n,a["$ref"]));return i}),[])}setFilter(e,t){if(e){this._filter=t=>{var n,i;if(!e||e((n=t.schema.title)!==null&&n!==void 0?n:"")){return null}const s=this.getFilterString(e,(i=t.schema)!==null&&i!==void 0?i:{},t.schema.definitions);return s}}else{this._filter=null}this._query=t;this._updateFilterSignal.emit(this._filter);this.update()}setError(e,t){if(this._errors[e]!==t){this._errors[e]=t;this.update()}else{this._errors[e]=t}}mapPlugins(e){var t,n,i,s;const{id:r,schema:a,version:l}=e;const h=this.translator.load("jupyterlab");const g=typeof a.title==="string"?h._p("schema",a.title):r;const f=c.StringExt.matchSumOfSquares(g.toLocaleLowerCase(),(n=(t=this._query)===null||t===void 0?void 0:t.toLocaleLowerCase())!==null&&n!==void 0?n:"");const v=c.StringExt.highlight(g,(i=f===null||f===void 0?void 0:f.indices)!==null&&i!==void 0?i:[],(e=>d().createElement("mark",null,e)));const _=typeof a.description==="string"?h._p("schema",a.description):"";const b=`${_}\n${r}\n${l}`;const y=this.getHint(u,this._registry,e);const w=this.getHint(p,this._registry,e);const C=this.getHint(m,this._registry,e);const x=this._filter?(s=this._filter(e))===null||s===void 0?void 0:s.map((e=>{var t,n,i;const s=c.StringExt.matchSumOfSquares(e.toLocaleLowerCase(),(n=(t=this._query)===null||t===void 0?void 0:t.toLocaleLowerCase())!==null&&n!==void 0?n:"");const o=c.StringExt.highlight(e,(i=s===null||s===void 0?void 0:s.indices)!==null&&i!==void 0?i:[],(e=>d().createElement("mark",null,e)));return d().createElement("li",{key:`${r}-${e}`}," ",o," ")})):undefined;return d().createElement("div",{onClick:this._evtMousedown,className:`${r===this.selection?"jp-mod-selected jp-PluginList-entry":"jp-PluginList-entry"} ${this._errors[r]?"jp-ErrorPlugin":""}`,"data-id":r,key:r,title:b},d().createElement("div",{className:"jp-PluginList-entry-label",role:"tab"},d().createElement("div",{className:"jp-SelectedIndicator"}),d().createElement(o.LabIcon.resolveReact,{icon:y||(w?undefined:o.settingsIcon),iconClass:(0,o.classes)(w,"jp-Icon"),title:C,tag:"span",stylesheet:"settingsEditor"}),d().createElement("span",{className:"jp-PluginList-entry-label-text"},v)),d().createElement("ul",null,x))}render(){const e=this.translator.load("jupyterlab");const t=this._model.plugins.filter((e=>{if(!this._filter){return false}const t=this._filter(e);return t===null||t.length>0}));const n=t.filter((e=>{var t;return(t=this._model.settings[e.id])===null||t===void 0?void 0:t.isModified}));const i=n.map(this.mapPlugins);const s=t.filter((e=>!n.includes(e))).map(this.mapPlugins);return d().createElement("div",{className:"jp-PluginList-wrapper"},d().createElement(o.FilterBox,{updateFilter:this.setFilter,useFuzzyFilter:false,placeholder:e.__("Search settings…"),forceRefresh:false,caseSensitive:false,initialQuery:this._query}),i.length>0&&d().createElement("div",null,d().createElement("h1",{className:"jp-PluginList-header"},e.__("Modified")),d().createElement("ul",null,i)),s.length>0&&d().createElement("div",null,d().createElement("h1",{className:"jp-PluginList-header"},e.__("Settings")),d().createElement("ul",null,s)),i.length===0&&s.length===0&&d().createElement("p",{className:"jp-PluginList-noResults"},e.__("No items match your search.")))}}(function(e){function t(e){return Object.keys(e.plugins).map((t=>e.plugins[t])).sort(((e,t)=>(e.schema.title||e.id).localeCompare(t.schema.title||t.id)))}e.sortPlugins=t;class n{constructor(e){var t;this._plugins=[];this._changed=new r.Signal(this);this._ready=new h.PromiseDelegate;this._settings={};this._settingsModified={};this._toSkip=(t=e.toSkip)!==null&&t!==void 0?t:[];this._registry=e.registry;this._registry.pluginChanged.connect((async(e,t)=>{let n=false;if(!this._plugins.map((e=>e.id)).includes(t)){this._plugins=this._loadPlugins();n=true}if(!this._settings[t]){const e=this._plugins.filter((e=>e.id===t));await this._loadSettings(e);n=true}if(n){this._changed.emit()}}),this);this._plugins=this._loadPlugins();this._loadSettings(this._plugins).then((()=>{this._ready.resolve(undefined)})).catch((e=>{console.error(`Failed to load the settings:\n${e}`)}))}get plugins(){return this._plugins}get ready(){return this._ready.promise}get settings(){return this._settings}get changed(){return this._changed}_loadPlugins(){return this._sortPlugins(this._registry).filter((e=>{const{schema:t}=e;const n=t["jupyter.lab.setting-deprecated"]===true;const i=Object.keys(t.properties||{}).length>0;const s=t.additionalProperties!==false;const o=!this._toSkip.includes(e.id);return!n&&o&&(i||s)}))}async _loadSettings(e){for(const t of e){const e=await this._registry.load(t.id);e.changed.connect((()=>{if(e.isModified!==this._settingsModified[t.id]){this._changed.emit();this._settingsModified[t.id]=e.isModified}}));this._settings[t.id]=e;this._settingsModified[t.id]=e.isModified}}_sortPlugins(e){return Object.keys(e.plugins).map((t=>e.plugins[t])).sort(((e,t)=>(e.schema.title||e.id).localeCompare(t.schema.title||t.id)))}}e.Model=n})(g||(g={}));var f=n(26568);var v=n(41742);var _=n.n(v);const b=4;class y extends d().Component{constructor(e){super(e);this.reset=async e=>{e.stopPropagation();for(const t in this.props.settings.user){await this.props.settings.remove(t)}this._formData=this.props.settings.composite;this.setState({isModified:false})};this._syncFormDataWithSettings=()=>{this._formData=this.props.settings.composite;this.setState(((e,t)=>({isModified:t.settings.isModified})))};this._onChange=e=>{this.props.hasError(e.errors.length!==0);const t=h.JSONExt.deepCopy(this._formData);if(e.formData){Object.keys(e.formData).forEach((n=>{const i=e.formData;if(i&&n in i){t[n]=i[n]}}))}this._formData=t;if(e.errors.length===0){this.props.updateDirtyState(true);void this._debouncer.invoke()}this.props.onSelect(this.props.settings.id)};const{settings:t}=e;t.changed.connect(this._syncFormDataWithSettings);this._formData=t.composite;this.state={isModified:t.isModified,uiSchema:{},filteredSchema:this.props.settings.schema,formContext:{defaultFormData:this.props.settings.default(),settings:this.props.settings,schema:h.JSONExt.deepCopy(this.props.settings.schema)}};this.handleChange=this.handleChange.bind(this);this._debouncer=new f.Debouncer(this.handleChange)}componentDidMount(){this._setUiSchema();this._setFilteredSchema()}componentDidUpdate(e){this._setUiSchema(e.renderers[e.settings.id]);this._setFilteredSchema(e.filteredValues);if(e.settings!==this.props.settings){this.setState((e=>({formContext:{...e.formContext,settings:this.props.settings,defaultFormData:this.props.settings.default()}})))}}componentWillUnmount(){this._debouncer.dispose()}handleChange(){if(!this.props.settings.isModified&&this._formData&&this.props.settings.isDefault(this._formData)){this.props.updateDirtyState(false);return}this.props.settings.save(JSON.stringify(this._formData,undefined,b)).then((()=>{this.props.updateDirtyState(false);this.setState({isModified:this.props.settings.isModified})})).catch((e=>{this.props.updateDirtyState(false);const t=this.props.translator.load("jupyterlab");void(0,i.showErrorMessage)(t.__("Error saving settings."),e)}))}render(){const e=this.props.translator.load("jupyterlab");return d().createElement(d().Fragment,null,d().createElement("div",{className:"jp-SettingsHeader"},d().createElement("h2",{className:"jp-SettingsHeader-title",title:this.props.settings.schema.description},this.props.settings.schema.title),d().createElement("div",{className:"jp-SettingsHeader-buttonbar"},this.state.isModified&&d().createElement(o.Button,{className:"jp-RestoreButton",onClick:this.reset},e.__("Restore to Defaults"))),d().createElement("div",{className:"jp-SettingsHeader-description"},this.props.settings.schema.description)),d().createElement(o.FormComponent,{validator:_(),schema:this.state.filteredSchema,formData:this._getFilteredFormData(this.state.filteredSchema),uiSchema:this.state.uiSchema,fields:this.props.renderers[this.props.settings.id],formContext:this.state.formContext,liveValidate:true,idPrefix:`jp-SettingsEditor-${this.props.settings.id}`,onChange:this._onChange,translator:this.props.translator,experimental_defaultFormStateBehavior:{emptyObjectFields:"populateRequiredDefaults"}}))}_setUiSchema(e){var t;const n=this.props.renderers[this.props.settings.id];if(!h.JSONExt.deepEqual(Object.keys(e!==null&&e!==void 0?e:{}).sort(),Object.keys(n!==null&&n!==void 0?n:{}).sort())){const e={};for(const n in this.props.renderers[this.props.settings.id]){if(Object.keys((t=this.props.settings.schema.properties)!==null&&t!==void 0?t:{}).includes(n)){e[n]={"ui:field":n}}}this.setState({uiSchema:e})}}_setFilteredSchema(e){var t,n,i,s;if(e===undefined||!h.JSONExt.deepEqual(e,this.props.filteredValues)||!h.JSONExt.deepEqual(this.state.formContext.schema,this.props.settings.schema)){const e=h.JSONExt.deepCopy(this.props.settings.schema);if((n=(t=this.props.filteredValues)===null||t===void 0?void 0:t.length)!==null&&n!==void 0?n:0>0){for(const t in e.properties){if(!((i=this.props.filteredValues)===null||i===void 0?void 0:i.includes((s=e.properties[t].title)!==null&&s!==void 0?s:t))){delete e.properties[t]}}}this.setState((t=>({filteredSchema:e,formContext:{...t.formContext,schema:h.JSONExt.deepCopy(this.props.settings.schema)}})))}}_getFilteredFormData(e){if(!(e===null||e===void 0?void 0:e.properties)){return this._formData}const t=h.JSONExt.deepCopy(this._formData);for(const n in t){if(!e.properties[n]){delete t[n]}}return t}}const w=({translator:e})=>{const t=e.load("jupyterlab");return d().createElement("div",{className:"jp-SettingsEditor-placeholder"},d().createElement("div",{className:"jp-SettingsEditor-placeholderContent"},d().createElement("h3",null,t.__("No Plugin Selected")),d().createElement("p",null,t.__("Select a plugin from the list to view and edit its preferences."))))};const C=({settings:e,editorRegistry:t,onSelect:n,handleSelectSignal:i,hasError:s,updateDirtyState:o,updateFilterSignal:r,translator:a,initialFilter:c})=>{const[h,u]=(0,l.useState)(null);const[p,m]=(0,l.useState)(c?()=>c:null);const g=d().useRef(null);const f=d().useRef({});(0,l.useEffect)((()=>{var e;const t=(e,t)=>{t?m((()=>t)):m(null)};r.connect(t);const n=(e,t)=>{u(t)};(e=i===null||i===void 0?void 0:i.connect)===null||e===void 0?void 0:e.call(i,n);return()=>{var e;r.disconnect(t);(e=i===null||i===void 0?void 0:i.disconnect)===null||e===void 0?void 0:e.call(i,n)}}),[]);const v=d().useCallback(((e,t)=>{if(f.current){f.current[e]=t;for(const e in f.current){if(f.current[e]){o(true);return}}}o(false)}),[f,o]);const _=d().useMemo((()=>Object.entries(t.renderers).reduce(((e,[t,n])=>{const i=t.lastIndexOf(".");const s=t.substring(0,i);const o=t.substring(i+1);if(!e[s]){e[s]={}}if(!e[s][o]&&n.fieldRenderer){e[s][o]=n.fieldRenderer}return e}),{})),[t]);if(!h&&!p){return d().createElement(w,{translator:a})}return d().createElement("div",{className:"jp-SettingsPanel",ref:g},e.map((e=>{const t=p?p(e.plugin):null;if(h&&h!==e.id||t!==null&&t.length===0){return undefined}return d().createElement("div",{className:"jp-SettingsForm",key:`${e.id}SettingsEditor`},d().createElement(y,{filteredValues:t,settings:e,renderers:_,hasError:t=>{s(e.id,t)},updateDirtyState:t=>{v(e.id,t)},onSelect:n,translator:a}))})))};class x extends a.SplitPanel{constructor(e){super({orientation:"horizontal",renderer:a.SplitPanel.defaultRenderer,spacing:1});this._clearDirty=null;this._dirty=false;this._saveStateChange=new r.Signal(this);this.translator=e.translator||s.nullTranslator;this._status=e.status;this._listModel=new g.Model({registry:e.registry,toSkip:e.toSkip});this._list=new g({registry:e.registry,translator:this.translator,query:e.query,model:this._listModel});this._listModel.changed.connect((()=>{this.update()}));this.addWidget(this._list);this.setDirtyState=this.setDirtyState.bind(this);const t=o.ReactWidget.create(d().createElement(o.UseSignal,{signal:this._listModel.changed},(()=>d().createElement(C,{settings:[...Object.values(this._listModel.settings)],editorRegistry:e.editorRegistry,handleSelectSignal:this._list.handleSelectSignal,onSelect:e=>this._list.selection=e,hasError:this._list.setError,updateFilterSignal:this._list.updateFilterSignal,updateDirtyState:this.setDirtyState,translator:this.translator,initialFilter:this._list.filter}))));this._listModel.ready.then((()=>{this.addWidget(t)})).catch((e=>{console.error(`Failed to load the setting plugins:\n${e}`)}))}get saveStateChanged(){return this._saveStateChange}setDirtyState(e){this._dirty=e;if(this._dirty&&!this._clearDirty){this._clearDirty=this._status.setDirty()}else if(!this._dirty&&this._clearDirty){this._clearDirty.dispose();this._clearDirty=null}if(e){if(!this.title.className.includes("jp-mod-dirty")){this.title.className+=" jp-mod-dirty"}}else{this.title.className=this.title.className.replace("jp-mod-dirty","")}this._saveStateChange.emit(e?"started":"completed")}updateQuery(e){this._list.setFilter(e?(0,o.updateFilterFunction)(e,false,false):null,e)}onCloseRequest(e){const t=this.translator.load("jupyterlab");if(this._list.hasErrors){void(0,i.showDialog)({title:t.__("Warning"),body:t.__("Unsaved changes due to validation error. Continue without saving?")}).then((t=>{if(t.button.accept){this.dispose();super.onCloseRequest(e)}}))}else if(this._dirty){void(0,i.showDialog)({title:t.__("Warning"),body:t.__("Some changes have not been saved. Continue without saving?")}).then((t=>{if(t.button.accept){this.dispose();super.onCloseRequest(e)}}))}else{this.dispose();super.onCloseRequest(e)}}}var S=n(44389);var j=n(35361);var k=n(95513);var I=n(78629);function T(e,t,n){n=n||s.nullTranslator;const i=n.load("jupyterlab");const o=new E(e,n);const r=new j.InspectorPanel({initialContent:i.__("Any errors will be listed here"),translator:n});const a=new j.InspectionHandler({connector:o,rendermime:t||new k.RenderMimeRegistry({initialFactories:k.standardRendererFactories,translator:n})});r.addClass("jp-SettingsDebug");r.source=a;a.editor=e.source;return r}class E extends I.DataConnector{constructor(e,t){super();this._current=0;this._editor=e;this._trans=(t!==null&&t!==void 0?t:s.nullTranslator).load("jupyterlab")}fetch(e){return new Promise((t=>{const n=this._current=window.setTimeout((()=>{if(n!==this._current){return t(undefined)}const i=this._validate(e.text);if(!i){return t({data:{"text/markdown":this._trans.__("No errors found")},metadata:{}})}t({data:this.render(i),metadata:{}})}),100)}))}render(e){return{"text/markdown":e.map(this.renderError.bind(this)).join("")}}renderError(e){var t;switch(e.keyword){case"additionalProperties":return`**\`[${this._trans.__("additional property error")}]\`**\n ${this._trans.__("`%1` is not a valid property",(t=e.params)===null||t===void 0?void 0:t.additionalProperty)}`;case"syntax":return`**\`[${this._trans.__("syntax error")}]\`** *${e.message}*`;case"type":return`**\`[${this._trans.__("type error")}]\`**\n \`${e.instancePath}\` ${e.message}`;default:return`**\`[${this._trans.__("error")}]\`** *${e.message}*`}}_validate(e){const t=this._editor;if(!t.settings){return null}const{id:n,schema:i,version:s}=t.settings;const o={composite:{},user:{}};const r=t.registry.validator;return r.validateData({data:o,id:n,raw:e,schema:i,version:s},false)}}const M="jp-SettingsRawEditor";const D="jp-SettingsRawEditor-user";const A="jp-mod-error";class P extends a.SplitPanel{constructor(e){super({orientation:"horizontal",renderer:a.SplitPanel.defaultRenderer,spacing:1});this._canRevert=false;this._canSave=false;this._commandsChanged=new r.Signal(this);this._settings=null;this._toolbar=new o.Toolbar;const{commands:t,editorFactory:n,registry:i,translator:l}=e;this.registry=i;this.translator=l||s.nullTranslator;this._commands=t;const d=this._defaults=new S.CodeEditorWrapper({editorOptions:{config:{readOnly:true}},model:new S.CodeEditor.Model({mimeType:"text/javascript"}),factory:n});const c=this._user=new S.CodeEditorWrapper({editorOptions:{config:{lineNumbers:true}},model:new S.CodeEditor.Model({mimeType:"text/javascript"}),factory:n});c.addClass(D);c.editor.model.sharedModel.changed.connect(this._onTextChanged,this);this._inspector=T(this,e.rendermime,this.translator);this.addClass(M);this._onSaveError=e.onSaveError;this.addWidget(L.defaultsEditor(d,this.translator));this.addWidget(L.userEditor(c,this._toolbar,this._inspector,this.translator))}get canRevert(){return this._canRevert}get canSave(){return this._canSave}get commandsChanged(){return this._commandsChanged}get isDirty(){var e,t;return(t=this._user.editor.model.sharedModel.getSource()!==((e=this._settings)===null||e===void 0?void 0:e.raw))!==null&&t!==void 0?t:""}get settings(){return this._settings}set settings(e){if(!e&&!this._settings){return}const t=e&&this._settings&&e.plugin===this._settings.plugin;if(t){return}const n=this._defaults;const i=this._user;if(this._settings){this._settings.changed.disconnect(this._onSettingsChanged,this)}if(e){this._settings=e;this._settings.changed.connect(this._onSettingsChanged,this);this._onSettingsChanged()}else{this._settings=null;n.editor.model.sharedModel.setSource("");i.editor.model.sharedModel.setSource("")}this.update()}get sizes(){return this.relativeSizes()}set sizes(e){this.setRelativeSizes(e)}get source(){return this._user.editor}dispose(){if(this.isDisposed){return}this._defaults.model.dispose();this._defaults.dispose();this._user.model.dispose();this._user.dispose();super.dispose()}revert(){var e,t;this._user.editor.model.sharedModel.setSource((t=(e=this.settings)===null||e===void 0?void 0:e.raw)!==null&&t!==void 0?t:"");this._updateToolbar(false,false)}save(){if(!this.isDirty||!this._settings){return Promise.resolve(undefined)}const e=this._settings;const t=this._user.editor.model.sharedModel.getSource();return e.save(t).then((()=>{this._updateToolbar(false,false)})).catch((e=>{this._updateToolbar(true,false);this._onSaveError(e,this.translator)}))}onAfterAttach(e){L.populateToolbar(this._commands,this._toolbar);this.update()}_onTextChanged(){const e=this._user.editor.model.sharedModel.getSource();const t=this._settings;this.removeClass(A);if(!t||t.raw===e){this._updateToolbar(false,false);return}const n=t.validate(e);if(n){this.addClass(A);this._updateToolbar(true,false);return}this._updateToolbar(true,true)}_onSettingsChanged(){var e,t;const n=this._settings;const i=this._defaults;const s=this._user;i.editor.model.sharedModel.setSource((e=n===null||n===void 0?void 0:n.annotatedDefaults())!==null&&e!==void 0?e:"");s.editor.model.sharedModel.setSource((t=n===null||n===void 0?void 0:n.raw)!==null&&t!==void 0?t:"")}_updateToolbar(e=this._canRevert,t=this._canSave){const n=this._commands;this._canRevert=e;this._canSave=t;this._commandsChanged.emit([n.revert,n.save])}}var L;(function(e){function t(e,t){t=t||s.nullTranslator;const n=t.load("jupyterlab");const i=new a.Widget;const r=i.layout=new a.BoxLayout({spacing:0});const l=new a.Widget;const d=new o.Toolbar;d.node.setAttribute("aria-label",n.__("Default editor toolbar"));const c=n.__("System Defaults");l.node.innerText=c;d.insertItem(0,"banner",l);r.addWidget(d);r.addWidget(e);return i}e.defaultsEditor=t;function n(e,t){const{registry:n,revert:i,save:s}=e;t.addItem("spacer",o.Toolbar.createSpacerItem());[i,s].forEach((e=>{const i=new o.CommandToolbarButton({commands:n,id:e});t.addItem(e,i)}))}e.populateToolbar=n;function i(e,t,n,i){i=i||s.nullTranslator;const o=i.load("jupyterlab");const r=o.__("User Preferences");const l=new a.Widget;const d=l.layout=new a.BoxLayout({spacing:0});const c=new a.Widget;c.node.innerText=r;t.insertItem(0,"banner",c);d.addWidget(t);d.addWidget(e);d.addWidget(n);return l}e.userEditor=i})(L||(L={}));const R="jp-PluginEditor";class N extends a.Widget{constructor(e){super();this._settings=null;this._stateChanged=new r.Signal(this);this.addClass(R);const{commands:t,editorFactory:n,registry:i,rendermime:o,translator:l}=e;this.translator=l||s.nullTranslator;this._trans=this.translator.load("jupyterlab");const d=this.layout=new a.StackedLayout;const{onSaveError:c}=B;this.raw=this._rawEditor=new P({commands:t,editorFactory:n,onSaveError:c,registry:i,rendermime:o,translator:l});this._rawEditor.handleMoved.connect(this._onStateChanged,this);d.addWidget(this._rawEditor)}get isDirty(){return this._rawEditor.isDirty}get settings(){return this._settings}set settings(e){if(this._settings===e){return}const t=this._rawEditor;this._settings=t.settings=e;this.update()}get state(){const e=this._settings?this._settings.id:"";const{sizes:t}=this._rawEditor;return{plugin:e,sizes:t}}set state(e){if(h.JSONExt.deepEqual(this.state,e)){return}this._rawEditor.sizes=e.sizes;this.update()}get stateChanged(){return this._stateChanged}confirm(){if(this.isHidden||!this.isAttached||!this.isDirty){return Promise.resolve(undefined)}return(0,i.showDialog)({title:this._trans.__("You have unsaved changes."),body:this._trans.__("Do you want to leave without saving?"),buttons:[i.Dialog.cancelButton({label:this._trans.__("Cancel")}),i.Dialog.okButton({label:this._trans.__("Ok")})]}).then((e=>{if(!e.button.accept){throw new Error("User canceled.")}}))}dispose(){if(this.isDisposed){return}super.dispose();this._rawEditor.dispose()}onAfterAttach(e){this.update()}onUpdateRequest(e){const t=this._rawEditor;const n=this._settings;if(!n){this.hide();return}this.show();t.show()}_onStateChanged(){this.stateChanged.emit(undefined)}}var B;(function(e){function t(e,t){t=t||s.nullTranslator;const n=t.load("jupyterlab");console.error(`Saving setting editor value failed: ${e.message}`);void(0,i.showErrorMessage)(n.__("Your changes were not saved."),e)}e.onSaveError=t})(B||(B={}));const O={sizes:[1,3],container:{editor:"raw",plugin:"",sizes:[1,1]}};class F extends a.SplitPanel{constructor(e){super({orientation:"horizontal",renderer:a.SplitPanel.defaultRenderer,spacing:1});this._fetching=null;this._saving=false;this._state=h.JSONExt.deepCopy(O);this.translator=e.translator||s.nullTranslator;this.addClass("jp-SettingEditor");this.key=e.key;this.state=e.state;const{commands:t,editorFactory:n,rendermime:i}=e;const r=this.registry=e.registry;const d=this._instructions=o.ReactWidget.create(l.createElement(w,{translator:this.translator}));d.addClass("jp-SettingEditorInstructions");const c=this._editor=new N({commands:t,editorFactory:n,registry:r,rendermime:i,translator:this.translator});const u=()=>c.confirm();const p=this._list=new g({confirm:u,registry:r,translator:this.translator});const m=e.when;if(m){this._when=Array.isArray(m)?Promise.all(m):m}this.addWidget(p);this.addWidget(d);a.SplitPanel.setStretch(p,0);a.SplitPanel.setStretch(d,1);a.SplitPanel.setStretch(c,1);c.stateChanged.connect(this._onStateChanged,this);p.changed.connect(this._onStateChanged,this);this.handleMoved.connect(this._onStateChanged,this)}get canRevertRaw(){return this._editor.raw.canRevert}get canSaveRaw(){return this._editor.raw.canSave}get commandsChanged(){return this._editor.raw.commandsChanged}get settings(){return this._editor.settings}get source(){return this._editor.raw.source}dispose(){if(this.isDisposed){return}super.dispose();this._editor.dispose();this._instructions.dispose();this._list.dispose()}revert(){this._editor.raw.revert()}save(){return this._editor.raw.save()}onAfterAttach(e){super.onAfterAttach(e);this.hide();this._fetchState().then((()=>{this.show();this._setState()})).catch((e=>{console.error("Fetching setting editor state failed",e);this.show();this._setState()}))}onCloseRequest(e){this._editor.confirm().then((()=>{super.onCloseRequest(e);this.dispose()})).catch((()=>{}))}_fetchState(){if(this._fetching){return this._fetching}const{key:e,state:t}=this;const n=[t.fetch(e),this._when];return this._fetching=Promise.all(n).then((([e])=>{this._fetching=null;if(this._saving){return}this._state=z.normalizeState(e,this._state)}))}async _onStateChanged(){this._state.sizes=this.relativeSizes();this._state.container=this._editor.state;this._state.container.plugin=this._list.selection;try{await this._saveState()}catch(e){console.error("Saving setting editor state failed",e)}this._setState()}async _saveState(){const{key:e,state:t}=this;const n=this._state;this._saving=true;try{await t.save(e,n);this._saving=false}catch(i){this._saving=false;throw i}}_setLayout(){const e=this._editor;const t=this._state;e.state=t.container;requestAnimationFrame((()=>{this.setRelativeSizes(t.sizes)}))}_setState(){const e=this._editor;const t=this._list;const{container:n}=this._state;if(!n.plugin){e.settings=null;t.selection="";this._setLayout();return}if(e.settings&&e.settings.id===n.plugin){this._setLayout();return}const i=this._instructions;this.registry.load(n.plugin).then((s=>{if(i.isAttached){i.parent=null}if(!e.isAttached){this.addWidget(e)}e.settings=s;t.selection=n.plugin;this._setLayout()})).catch((i=>{console.error(`Loading ${n.plugin} settings failed.`,i);t.selection=this._state.container.plugin="";e.settings=null;this._setLayout()}))}}var z;(function(e){function t(e,t){if(!e){return h.JSONExt.deepCopy(O)}if(!("sizes"in e)||!n(e.sizes)){e.sizes=h.JSONExt.deepCopy(O.sizes)}if(!("container"in e)){e.container=h.JSONExt.deepCopy(O.container);return e}const i="container"in e&&e.container&&typeof e.container==="object"?e.container:{};e.container={plugin:typeof i.plugin==="string"?i.plugin:O.container.plugin,sizes:n(i.sizes)?i.sizes:h.JSONExt.deepCopy(O.container.sizes)};return e}e.normalizeState=t;function n(e){return Array.isArray(e)&&e.every((e=>typeof e==="number"))}})(z||(z={}));var W=n(667)},667:(e,t,n)=>{"use strict";n.d(t,{F:()=>r,z:()=>o});var i=n(5592);var s=n.n(i);const o=new i.Token("@jupyterlab/settingeditor:ISettingEditorTracker",`A widget tracker for the interactive setting editor.\n Use this if you want to be able to iterate over and interact with setting editors\n created by the application.`);const r=new i.Token("@jupyterlab/settingeditor:IJSONSettingEditorTracker",`A widget tracker for the JSON setting editor.\n Use this if you want to be able to iterate over and interact with setting editors\n created by the application.`)},63075:(e,t,n)=>{"use strict";n.r(t);n.d(t,{BaseSettings:()=>f,DefaultSchemaValidator:()=>m,ISettingConnector:()=>b,ISettingRegistry:()=>y,SettingRegistry:()=>g,Settings:()=>v});var i=n(93247);var s=n(5592);var o=n(90044);var r=n(2336);var a=n(63282);var l=n.n(a);var d=n(81219);const c=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","title":"JupyterLab Plugin Settings/Preferences Schema","description":"JupyterLab plugin settings/preferences schema","version":"1.0.0","type":"object","additionalProperties":true,"properties":{"jupyter.lab.internationalization":{"type":"object","properties":{"selectors":{"type":"array","items":{"type":"string","minLength":1}},"domain":{"type":"string","minLength":1}}},"jupyter.lab.menus":{"type":"object","properties":{"main":{"title":"Main menu entries","description":"List of menu items to add to the main menubar.","items":{"$ref":"#/definitions/menu"},"type":"array","default":[]},"context":{"title":"The application context menu.","description":"List of context menu items.","items":{"allOf":[{"$ref":"#/definitions/menuItem"},{"properties":{"selector":{"description":"The CSS selector for the context menu item.","type":"string"}}}]},"type":"array","default":[]}},"additionalProperties":false},"jupyter.lab.metadataforms":{"items":{"$ref":"#/definitions/metadataForm"},"type":"array","default":[]},"jupyter.lab.setting-deprecated":{"type":"boolean","default":false},"jupyter.lab.setting-icon":{"type":"string","default":""},"jupyter.lab.setting-icon-class":{"type":"string","default":""},"jupyter.lab.setting-icon-label":{"type":"string","default":"Plugin"},"jupyter.lab.shortcuts":{"items":{"$ref":"#/definitions/shortcut"},"type":"array","default":[]},"jupyter.lab.toolbars":{"properties":{"^\\\\w[\\\\w-\\\\.]*$":{"items":{"$ref":"#/definitions/toolbarItem"},"type":"array","default":[]}},"type":"object","default":{}},"jupyter.lab.transform":{"type":"boolean","default":false}},"definitions":{"menu":{"properties":{"disabled":{"description":"Whether the menu is disabled or not","type":"boolean","default":false},"icon":{"description":"Menu icon id","type":"string"},"id":{"description":"Menu unique id","oneOf":[{"type":"string","enum":["jp-menu-file","jp-menu-file-new","jp-menu-edit","jp-menu-help","jp-menu-kernel","jp-menu-run","jp-menu-settings","jp-menu-view","jp-menu-tabs"]},{"type":"string","pattern":"[a-z][a-z0-9\\\\-_]+"}]},"items":{"description":"Menu items","type":"array","items":{"$ref":"#/definitions/menuItem"}},"label":{"description":"Menu label","type":"string"},"mnemonic":{"description":"Mnemonic index for the label","type":"number","minimum":-1,"default":-1},"rank":{"description":"Menu rank","type":"number","minimum":0}},"required":["id"],"type":"object"},"menuItem":{"properties":{"args":{"description":"Command arguments","type":"object"},"command":{"description":"Command id","type":"string"},"disabled":{"description":"Whether the item is disabled or not","type":"boolean","default":false},"type":{"description":"Item type","type":"string","enum":["command","submenu","separator"],"default":"command"},"rank":{"description":"Item rank","type":"number","minimum":0},"submenu":{"oneOf":[{"$ref":"#/definitions/menu"},{"type":"null"}]}},"type":"object"},"shortcut":{"properties":{"args":{"title":"The arguments for the command","type":"object"},"command":{"title":"The command id","description":"The command executed when the binding is matched.","type":"string"},"disabled":{"description":"Whether this shortcut is disabled or not.","type":"boolean","default":false},"keys":{"title":"The key sequence for the binding","description":"The key shortcut like `Accel A` or the sequence of shortcuts to press like [`Accel A`, `B`]","items":{"type":"string"},"type":"array"},"macKeys":{"title":"The key sequence for the binding on macOS","description":"The key shortcut like `Cmd A` or the sequence of shortcuts to press like [`Cmd A`, `B`]","items":{"type":"string"},"type":"array"},"winKeys":{"title":"The key sequence for the binding on Windows","description":"The key shortcut like `Ctrl A` or the sequence of shortcuts to press like [`Ctrl A`, `B`]","items":{"type":"string"},"type":"array"},"linuxKeys":{"title":"The key sequence for the binding on Linux","description":"The key shortcut like `Ctrl A` or the sequence of shortcuts to press like [`Ctrl A`, `B`]","items":{"type":"string"},"type":"array"},"selector":{"title":"CSS selector","type":"string"}},"required":["command","keys","selector"],"type":"object"},"toolbarItem":{"properties":{"name":{"title":"Unique name","type":"string"},"args":{"title":"Command arguments","type":"object"},"command":{"title":"Command id","type":"string","default":""},"disabled":{"title":"Whether the item is ignored or not","type":"boolean","default":false},"icon":{"title":"Item icon id","description":"If defined, it will override the command icon","type":"string"},"label":{"title":"Item label","description":"If defined, it will override the command label","type":"string"},"caption":{"title":"Item caption","description":"If defined, it will override the command caption","type":"string"},"type":{"title":"Item type","type":"string","enum":["command","spacer"]},"rank":{"title":"Item rank","type":"number","minimum":0,"default":50}},"required":["name"],"additionalProperties":false,"type":"object"},"metadataForm":{"type":"object","properties":{"id":{"type":"string","description":"The section ID"},"metadataSchema":{"type":"object","items":{"$ref":"#/definitions/metadataSchema"}},"uiSchema":{"type":"object"},"metadataOptions":{"type":"object","items":{"$ref":"#/definitions/metadataOptions"}},"label":{"type":"string","description":"The section label"},"rank":{"type":"integer","description":"The rank of the section in the right panel"},"showModified":{"type":"boolean","description":"Whether to show modified values from defaults"}},"required":["id","metadataSchema"]},"metadataSchema":{"properties":{"properties":{"type":"object","description":"The property set up by extension","properties":{"title":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"}}}},"type":"object","required":["properties"]},"metadataOptions":{"properties":{"customRenderer":{"type":"string"},"metadataLevel":{"type":"string","enum":["cell","notebook"],"default":"cell"},"cellTypes":{"type":"array","items":{"type":"string","enum":["code","markdown","raw"]}},"writeDefault":{"type":"boolean"}},"type":"object"}}}');const h=s.JSONExt.deepCopy;const u={strict:false};const p=String.fromCharCode(30);class m{constructor(){this._composer=new(l())({useDefaults:true,...u});this._validator=new(l())({...u});this._composer.addSchema(c,"jupyterlab-plugin-schema");this._validator.addSchema(c,"jupyterlab-plugin-schema")}validateData(e,t=true){const n=this._validator.getSchema(e.id);const i=this._composer.getSchema(e.id);if(!n||!i){if(e.schema.type!=="object"){const t="schema";const n=`Setting registry schemas' root-level type must be `+`'object', rejecting type: ${e.schema.type}`;return[{instancePath:"type",keyword:t,schemaPath:"",message:n}]}const t=this._addSchema(e.id,e.schema);return t||this.validateData(e)}let s;try{s=d.parse(e.raw)}catch(r){if(r instanceof SyntaxError){return[{instancePath:"",keyword:"syntax",schemaPath:"",message:r.message}]}const{column:e,description:t}=r;const n=r.lineNumber;return[{instancePath:"",keyword:"parse",schemaPath:"",message:`${t} (line ${n} column ${e})`}]}if(!n(s)){return n.errors}const o=h(s);if(!i(o)){return i.errors}if(t){e.data={composite:o,user:s}}return null}_addSchema(e,t){const n=this._composer;const i=this._validator;const s=i.getSchema("jupyterlab-plugin-schema");if(!s(t)){return s.errors}if(!i.validateSchema(t)){return i.errors}n.removeSchema(e);i.removeSchema(e);n.addSchema(t,e);i.addSchema(t,e);return null}}class g{constructor(e){this.schema=c;this.plugins=Object.create(null);this._pluginChanged=new r.Signal(this);this._ready=Promise.resolve();this._transformers=Object.create(null);this._unloadedPlugins=new Map;this.connector=e.connector;this.validator=e.validator||new m;if(e.plugins){e.plugins.filter((e=>e.schema["jupyter.lab.transform"])).forEach((e=>this._unloadedPlugins.set(e.id,e)));this._ready=this._preload(e.plugins)}}get pluginChanged(){return this._pluginChanged}async get(e,t){await this._ready;const n=this.plugins;if(e in n){const{composite:i,user:s}=n[e].data;return{composite:i[t]!==undefined?h(i[t]):undefined,user:s[t]!==undefined?h(s[t]):undefined}}return this.load(e).then((()=>this.get(e,t)))}async load(e,t=false){await this._ready;const n=this.plugins;const i=this;if(e in n){if(t){n[e].data={composite:{},user:{}};await this._load(await this._transform("fetch",n[e]));this._pluginChanged.emit(e)}return new v({plugin:n[e],registry:i})}if(this._unloadedPlugins.has(e)&&e in this._transformers){await this._load(await this._transform("fetch",this._unloadedPlugins.get(e)));if(e in n){this._pluginChanged.emit(e);this._unloadedPlugins.delete(e);return new v({plugin:n[e],registry:i})}}return this.reload(e)}async reload(e){await this._ready;const t=await this.connector.fetch(e);const n=this.plugins;const i=this;if(t===undefined){throw[{instancePath:"",keyword:"id",message:`Could not fetch settings for ${e}.`,schemaPath:""}]}await this._load(await this._transform("fetch",t));this._pluginChanged.emit(e);return new v({plugin:n[e],registry:i})}async remove(e,t){await this._ready;const n=this.plugins;if(!(e in n)){return}const i=d.parse(n[e].raw);delete i[t];delete i[`// ${t}`];n[e].raw=_.annotatedPlugin(n[e],i);return this._save(e)}async set(e,t,n){await this._ready;const i=this.plugins;if(!(e in i)){return this.load(e).then((()=>this.set(e,t,n)))}const s=d.parse(i[e].raw);i[e].raw=_.annotatedPlugin(i[e],{...s,[t]:n});return this._save(e)}transform(e,t){const n=this._transformers;if(e in n){const t=new Error(`${e} already has a transformer.`);t.name="TransformError";throw t}n[e]={fetch:t.fetch||(e=>e),compose:t.compose||(e=>e)};return new o.DisposableDelegate((()=>{delete n[e]}))}async upload(e,t){await this._ready;const n=this.plugins;if(!(e in n)){return this.load(e).then((()=>this.upload(e,t)))}n[e].raw=t;return this._save(e)}get ready(){return this._ready}async _load(e){const t=e.id;try{await this._validate(e)}catch(n){const e=[`Validating ${t} failed:`];n.forEach(((t,n)=>{const{instancePath:i,schemaPath:s,keyword:o,message:r}=t;if(i||s){e.push(`${n} - schema @ ${s}, data @ ${i}`)}e.push(`{${o}} ${r}`)}));console.warn(e.join("\n"));throw n}}async _preload(e){await Promise.all(e.map((async e=>{var t;try{await this._load(await this._transform("fetch",e))}catch(n){if(((t=n[0])===null||t===void 0?void 0:t.keyword)!=="unset"){console.warn("Ignored setting registry preload errors.",n)}}})))}async _save(e){const t=this.plugins;if(!(e in t)){throw new Error(`${e} does not exist in setting registry.`)}try{await this._validate(t[e])}catch(i){console.warn(`${e} validation errors:`,i);throw new Error(`${e} failed to validate; check console.`)}await this.connector.save(e,t[e].raw);const n=await this.connector.fetch(e);if(n===undefined){throw[{instancePath:"",keyword:"id",message:`Could not fetch settings for ${e}.`,schemaPath:""}]}await this._load(await this._transform("fetch",n));this._pluginChanged.emit(e)}async _transform(e,t){const n=t.id;const i=this._transformers;if(!t.schema["jupyter.lab.transform"]){return t}if(n in i){const s=i[n][e].call(null,t);if(s.id!==n){throw[{instancePath:"",keyword:"id",message:"Plugin transformations cannot change plugin IDs.",schemaPath:""}]}return s}throw[{instancePath:"",keyword:"unset",message:`${t.id} has no transformers yet.`,schemaPath:""}]}async _validate(e){const t=this.validator.validateData(e);if(t){throw t}this.plugins[e.id]=await this._transform("compose",e)}}class f{constructor(e){this._schema=e.schema}get schema(){return this._schema}isDefault(e){for(const t in this.schema.properties){const n=e[t];const i=this.default(t);if(n===undefined||i===undefined||s.JSONExt.deepEqual(n,s.JSONExt.emptyObject)||s.JSONExt.deepEqual(n,s.JSONExt.emptyArray)){continue}if(!s.JSONExt.deepEqual(n,i)){return false}}return true}default(e){return _.reifyDefault(this.schema,e)}}class v extends f{constructor(e){super({schema:e.plugin.schema});this._changed=new r.Signal(this);this._isDisposed=false;this.id=e.plugin.id;this.registry=e.registry;this.registry.pluginChanged.connect(this._onPluginChanged,this)}get changed(){return this._changed}get composite(){return this.plugin.data.composite}get isDisposed(){return this._isDisposed}get plugin(){return this.registry.plugins[this.id]}get raw(){return this.plugin.raw}get isModified(){return!this.isDefault(this.user)}get user(){return this.plugin.data.user}get version(){return this.plugin.version}annotatedDefaults(){return _.annotatedDefaults(this.schema,this.id)}dispose(){if(this._isDisposed){return}this._isDisposed=true;r.Signal.clearData(this)}get(e){const{composite:t,user:n}=this;return{composite:t[e]!==undefined?h(t[e]):undefined,user:n[e]!==undefined?h(n[e]):undefined}}remove(e){return this.registry.remove(this.plugin.id,e)}save(e){return this.registry.upload(this.plugin.id,e)}set(e,t){return this.registry.set(this.plugin.id,e,t)}validate(e){const t={composite:{},user:{}};const{id:n,schema:i}=this.plugin;const s=this.registry.validator;const o=this.version;return s.validateData({data:t,id:n,raw:e,schema:i,version:o},false)}_onPluginChanged(e,t){if(t===this.plugin.id){this._changed.emit(undefined)}}}(function(e){function t(e,t,i=false,o=true){if(!e){return t&&o?s.JSONExt.deepCopy(t):[]}if(!t){return s.JSONExt.deepCopy(e)}const r=s.JSONExt.deepCopy(e);t.forEach((e=>{const t=r.findIndex((t=>t.id===e.id));if(t>=0){r[t]={...r[t],...e,items:n(r[t].items,e.items,i,o)}}else{if(o){r.push(e)}}}));return r}e.reconcileMenus=t;function n(e,n,i=false,o=true){if(!e){return n?s.JSONExt.deepCopy(n):undefined}if(!n){return s.JSONExt.deepCopy(e)}const r=s.JSONExt.deepCopy(e);n.forEach((e=>{var n;switch((n=e.type)!==null&&n!==void 0?n:"command"){case"separator":if(o){r.push({...e})}break;case"submenu":if(e.submenu){const n=r.findIndex((t=>{var n,i;return t.type==="submenu"&&((n=t.submenu)===null||n===void 0?void 0:n.id)===((i=e.submenu)===null||i===void 0?void 0:i.id)}));if(n<0){if(o){r.push(s.JSONExt.deepCopy(e))}}else{r[n]={...r[n],...e,submenu:t(r[n].submenu?[r[n].submenu]:null,[e.submenu],i,o)[0]}}}break;case"command":if(e.command){const t=r.findIndex((t=>{var n,i;return t.command===e.command&&t.selector===e.selector&&s.JSONExt.deepEqual((n=t.args)!==null&&n!==void 0?n:{},(i=e.args)!==null&&i!==void 0?i:{})}));if(t<0){if(o){r.push({...e})}}else{if(i){console.warn(`Menu entry for command '${e.command}' is duplicated.`)}r[t]={...r[t],...e}}}}}));return r}e.reconcileItems=n;function o(e){return e.reduce(((e,t)=>{var n;const i={...t};if(!i.disabled){if(i.type==="submenu"){const{submenu:e}=i;if(e&&!e.disabled){i.submenu={...e,items:o((n=e.items)!==null&&n!==void 0?n:[])}}}e.push(i)}return e}),[])}e.filterDisabledItems=o;function r(e,t){const n={};t=[...t.filter((e=>!!e.disabled)),...t.filter((e=>!e.disabled))].filter((e=>{const t=i.CommandRegistry.normalizeKeys(e).join(p);if(!t){console.warn("Skipping this shortcut because there are no actionable keys on this platform",e);return false}if(!(t in n)){n[t]={}}const{disabled:s,selector:o}=e;if(!(o in n[t])){n[t][o]={enabledUserShortcut:s?null:e,enabledDefaultShortcut:null,shouldDisableDefaultShortcut:!!s};return!s}if(n[t][o].enabledUserShortcut===null){if(s){n[t][o].shouldDisableDefaultShortcut=true;return false}else{n[t][o].enabledUserShortcut=e;return true}}else{console.warn("Skipping",e,"shortcut because it collides with another enabled shortcut:",n[t][o].enabledUserShortcut);return false}}));e=[...e.filter((e=>!!e.disabled)),...e.filter((e=>!e.disabled))].filter((e=>{const t=i.CommandRegistry.normalizeKeys(e).join(p);if(!t){return false}if(!(t in n)){n[t]={}}const{disabled:s,selector:o}=e;if(!(o in n[t])){n[t][o]={enabledUserShortcut:null,enabledDefaultShortcut:s?null:e,shouldDisableDefaultShortcut:!!s};return!s}if(n[t][o].enabledDefaultShortcut===null){if(s){n[t][o].shouldDisableDefaultShortcut=true;return false}else{if(n[t][o].shouldDisableDefaultShortcut){return false}else{n[t][o].enabledDefaultShortcut=e;return true}}}else{if(n[t][o].shouldDisableDefaultShortcut){return false}else{console.warn("Skipping",e,"default shortcut because it collides with another enabled default shortcut:",n[t][o].enabledDefaultShortcut);return false}}}));return _.upgradeShortcuts(t.concat(e).filter((e=>!e.disabled)).map((e=>({args:{},...e}))))}e.reconcileShortcuts=r;function a(e,t,n=false){if(!e){return t?s.JSONExt.deepCopy(t):undefined}if(!t){return s.JSONExt.deepCopy(e)}const i=s.JSONExt.deepCopy(e);t.forEach((e=>{const t=i.findIndex((t=>t.name===e.name));if(t<0){i.push({...e})}else{if(n&&s.JSONExt.deepEqual(Object.keys(e),Object.keys(i[t]))){console.warn(`Toolbar item '${e.name}' is duplicated.`)}i[t]={...i[t],...e}}}));return i}e.reconcileToolbarItems=a})(g||(g={}));var _;(function(e){const t=" ";const n="[missing schema description]";const i="[missing schema title]";function o(e,t){const{description:s,properties:o,title:r}=e;const l=o?Object.keys(o).sort(((e,t)=>e.localeCompare(t))):[];const h=Math.max((s||n).length,t.length);return["{",c(`${r||i}`),c(t),c(s||n),c("*".repeat(h)),"",d(l.map((t=>a(e,t)))),"}"].join("\n")}e.annotatedDefaults=o;function r(e,t){const{description:s,title:o}=e.schema;const r=Object.keys(t).sort(((e,t)=>e.localeCompare(t)));const a=Math.max((s||n).length,e.id.length);return["{",c(`${o||i}`),c(e.id),c(s||n),c("*".repeat(a)),"",d(r.map((n=>l(e.schema,n,t[n])))),"}"].join("\n")}e.annotatedPlugin=r;function a(e,i){const s=e.properties&&e.properties[i]||{};const o=s["type"];const r=s["description"]||n;const a=s["title"]||"";const l=h(e,i);const d=t.length;const u=l!==undefined?c(`"${i}": ${JSON.stringify(l,null,d)}`,t):c(`"${i}": ${o}`);return[c(a),c(r),u].filter((e=>e.length)).join("\n")}function l(e,s,o){const r=e.properties&&e.properties[s];const a=r&&r["description"]||n;const l=r&&r["title"]||i;const d=t.length;const h=c(`"${s}": ${JSON.stringify(o,null,d)}`,t);return[c(l),c(a),h].join("\n")}function d(e){return e.reduce(((t,n,i)=>{const s=n.split("\n");const o=s[s.length-1];const r=o.trim().indexOf("//")===0;const a=r||i===e.length-1?"":",";const l=i===e.length-1?"":"\n\n";return t+n+a+l}),"")}function c(e,n=`${t}// `){return n+e.split("\n").join(`\n${n}`)}function h(e,t,n,i){var o,r,a,l,d,c,u;n=n!==null&&n!==void 0?n:e.definitions;i=t?e.required instanceof Array&&((o=e.required)===null||o===void 0?void 0:o.includes(t)):i;e=(t?(r=e.properties)===null||r===void 0?void 0:r[t]:e)||{};if(e.type==="object"){const t=s.JSONExt.deepCopy(e.default);const i=e.properties||{};for(const s in i){t[s]=h(i[s],undefined,n,e.required instanceof Array&&((a=e.required)===null||a===void 0?void 0:a.includes(s)))}return t}else if(e.type==="array"){const t=typeof e.default!=="undefined";const o=t||i;if(!o){return undefined}const r=t?s.JSONExt.deepCopy(e.default):[];let a=e.items||{};if(a["$ref"]&&n){const e=a["$ref"].replace("#/definitions/","");a=(l=n[e])!==null&&l!==void 0?l:{}}for(const e in r){if(a.type==="object"){const t=(c=(d=h(a,undefined,n))!==null&&d!==void 0?d:r[e])!==null&&c!==void 0?c:{};for(const n in t){if((u=r[e])===null||u===void 0?void 0:u[n]){t[n]=r[e][n]}}r[e]=t}}return r}else{return e.default}}e.reifyDefault=h;const u=new Set;function p(e){const t=new Set;const n=[{old:".jp-Notebook:focus.jp-mod-commandMode",new:".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus",versionDeprecated:"JupyterLab 4.1"},{old:".jp-Notebook.jp-mod-commandMode :focus:not(:read-write)",new:".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus",versionDeprecated:"JupyterLab 4.1.1"},{old:".jp-Notebook:focus",new:".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus",versionDeprecated:"JupyterLab 4.1"},{old:"[data-jp-traversable]:focus",new:".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus",versionDeprecated:"JupyterLab 4.1"},{old:"[data-jp-kernel-user]:focus",new:"[data-jp-kernel-user]:not(.jp-mod-readWrite) :focus:not(:read-write)",versionDeprecated:"JupyterLab 4.1"},{old:"[data-jp-kernel-user] :focus:not(:read-write)",new:"[data-jp-kernel-user]:not(.jp-mod-readWrite) :focus:not(:read-write)",versionDeprecated:"JupyterLab 4.1.1"}];const i=e.map((e=>{const i=e.selector;let s=i;for(const o of n){if(i.includes(o.old)){s=i.replace(o.old,o.new);if(!u.has(i)){t.add(`"${o.old}" was replaced with "${o.new}" in ${o.versionDeprecated} (present in "${i}")`);u.add(i)}}}e.selector=s;return e}));if(t.size>0){console.warn("Deprecated shortcut selectors: "+[...t].join("\n")+"\n\nThe selectors will be substituted transparently this time, but need to be updated at source before next major release.")}return i}e.upgradeShortcuts=p})(_||(_={}));const b=new s.Token("@jupyterlab/coreutils:ISettingConnector","A service to connect to the settings endpoint.");const y=new s.Token("@jupyterlab/coreutils:ISettingRegistry",`A service for the JupyterLab settings system.\n Use this if you want to store settings for your application.\n See "schemaDir" for more information.`)},26217:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>R});var i=n(40065);var s=n(34881);var o=n(4073);var r=n(93247);var a=n(5592);var l=n(90044);var d=n(76326);var c;(function(e){e.editBinding="shortcuts:edit-keybinding";e.addBinding="shortcuts:add-keybinding";e.deleteBinding="shortcuts:delete-keybinding";e.toggleSelectors="shortcuts:toggle-selectors";e.resetAll="shortcuts:reset-all"})(c||(c={}));var h=n(44914);var u=n.n(h);var p=n(34236);var m=n(77162);const g="jp-Shortcuts-ConflictContainer";class f extends h.Component{constructor(e){super(e);this.handleSubmit=async()=>{if(!this._isReplacingExistingKeybinding){await this._updateShortcut();this.props.toggleInput()}else{if(this.state.selected){this.props.toggleInput()}else{await this._updateShortcut()}}};this._updateShortcut=async()=>{const e=[...this.state.keys,this.state.currentChain];this.setState({keys:e});if(this.props.keybinding){await this.props.replaceKeybinding(this.props.shortcut,this.props.keybinding,e)}else{await this.props.addKeybinding(this.props.shortcut,e)}};this._handleOverwrite=async(e,t)=>{for(const n of e){const e=n.keybindings.filter((e=>a.JSONExt.deepEqual(e.keys,t)||t.some((t=>a.JSONExt.deepEqual(e.keys,[t])))))[0];if(!e){console.error(`Conflicting binding could not be found for ${n} using keys ${t}`);continue}await this.props.deleteKeybinding(n,e)}await this._updateShortcut()};this.parseChaining=(e,t,n,i,s)=>{let o=m.EN_US.keyForKeydownEvent(e.nativeEvent);const r=["Shift","Control","Alt","Meta","Ctrl","Accel"];if(e.key==="Backspace"){n="";t="";i=[];s="";this.setState({value:t,userInput:n,keys:i,currentChain:s})}else if(e.key!=="CapsLock"){const t=n.substr(n.lastIndexOf(" ")+1,n.length).trim();if(r.lastIndexOf(t)===-1&&t!=""){n=n+",";i.push(s);s="";if(e.ctrlKey&&e.key!="Control"){n=(n+" Ctrl").trim();s=(s+" Ctrl").trim()}if(e.metaKey&&e.key!="Meta"){n=(n+" Accel").trim();s=(s+" Accel").trim()}if(e.altKey&&e.key!="Alt"){n=(n+" Alt").trim();s=(s+" Alt").trim()}if(e.shiftKey&&e.key!="Shift"){n=(n+" Shift").trim();s=(s+" Shift").trim()}if(r.lastIndexOf(e.key)===-1){n=(n+" "+o).trim();s=(s+" "+o).trim()}else{if(e.key==="Meta"){n=(n+" Accel").trim();s=(s+" Accel").trim()}else if(e.key==="Control"){n=(n+" Ctrl").trim();s=(s+" Ctrl").trim()}else if(e.key==="Shift"){n=(n+" Shift").trim();s=(s+" Shift").trim()}else if(e.key==="Alt"){n=(n+" Alt").trim();s=(s+" Alt").trim()}else{n=(n+" "+e.key).trim();s=(s+" "+e.key).trim()}}}else{if(e.key==="Control"){n=(n+" Ctrl").trim();s=(s+" Ctrl").trim()}else if(e.key==="Meta"){n=(n+" Accel").trim();s=(s+" Accel").trim()}else if(e.key==="Shift"){n=(n+" Shift").trim();s=(s+" Shift").trim()}else if(e.key==="Alt"){n=(n+" Alt").trim();s=(s+" Alt").trim()}else{n=(n+" "+o).trim();s=(s+" "+o).trim()}}}this.setState({keys:i,currentChain:s});return[n,i,s]};this.checkNonFunctional=()=>{const e=["Ctrl","Alt","Accel","Shift"];const t=this.state.currentChain.split(" ");const n=t[t.length-1];this.setState({isFunctional:!(e.indexOf(n)!==-1)});return e.indexOf(n)!==-1};this.checkShortcutAvailability=(e,t,n)=>{const i=this.props.findConflictsFor([...t,n],this.props.shortcut.selector);const s=e===""||i.length===0;if(!s){if(i.length===1&&i[0].id===this.props.shortcut.id&&this._isReplacingExistingKeybinding){this.setState({isAvailable:true});return[]}}this.setState({isAvailable:s});return i};this.handleInput=e=>{e.preventDefault();this.setState({selected:false});const t=this.parseChaining(e,this.state.value,this.state.userInput,this.state.keys,this.state.currentChain);const n=t[0];const i=t[1];const s=t[2];const o=this.props.toSymbols(n);let r=this.checkShortcutAvailability(n,i,s);this.setState({value:o,userInput:n,keys:i,currentChain:s},(()=>{this.checkNonFunctional();this._emitConflicts(r)}))};this._handleBlur=e=>{var t,n;if((t=this._ref.current)===null||t===void 0?void 0:t.contains(e.relatedTarget)){return}if((n=e.relatedTarget)===null||n===void 0?void 0:n.closest(`.${g}`)){return}this.props.toggleInput()};this._ref=h.createRef();this.state={value:this.props.placeholder,userInput:"",isAvailable:true,isFunctional:this._isReplacingExistingKeybinding,keys:[],currentChain:"",selected:true}}get _isReplacingExistingKeybinding(){return!!this.props.keybinding}_emitConflicts(e){const t=[...this.state.keys,this.state.currentChain];this.props.displayConflicts({conflictsWith:e,keys:this.state.keys,overwrite:async()=>{this.setState({isAvailable:true});await this._handleOverwrite(e,t);this.props.toggleInput()},cancel:()=>{this.props.toggleInput()}})}render(){const e=this.props.translator.load("jupyterlab");let t="jp-Shortcuts-Input";if(!this.state.isAvailable){t+=" jp-mod-unavailable-Input"}return h.createElement("div",{className:this.props.displayInput?!this._isReplacingExistingKeybinding?"jp-Shortcuts-InputBox jp-Shortcuts-InputBoxNew":"jp-Shortcuts-InputBox":"jp-mod-hidden",ref:this._ref,onBlur:this._handleBlur},h.createElement("div",{tabIndex:0,className:t,onKeyDown:this.handleInput,ref:e=>e&&e.focus(),"data-lm-suppress-shortcuts":"true"},h.createElement("p",{className:this.state.selected&&this._isReplacingExistingKeybinding?"jp-Shortcuts-InputText jp-mod-selected-InputText":this.state.value===""?"jp-Shortcuts-InputText jp-mod-waiting-InputText":"jp-Shortcuts-InputText"},this.state.value===""?e.__("press keys"):this.state.value)),h.createElement("button",{className:!this.state.isFunctional?"jp-Shortcuts-Submit jp-mod-defunc-Submit":!this.state.isAvailable?"jp-Shortcuts-Submit jp-mod-conflict-Submit":"jp-Shortcuts-Submit",disabled:!this.state.isAvailable||!this.state.isFunctional,onClick:this.handleSubmit,tabIndex:0},this.state.isAvailable?h.createElement(o.checkIcon.react,null):h.createElement(o.errorIcon.react,null)))}}class v extends h.Component{constructor(e){super(e);this.toggleInputNew=()=>{this.setState({displayNewInput:!this.state.displayNewInput,conflicts:new Map})};this.toSymbols=e=>e.split(" ").reduce(((e,t)=>{if(t==="Ctrl"){return(e+" ⌃").trim()}else if(t==="Alt"){return(e+" ⌥").trim()}else if(t==="Shift"){return(e+" ⇧").trim()}else if(t==="Accel"&&d.Platform.IS_MAC){return(e+" ⌘").trim()}else if(t==="Accel"){return(e+" ⌃").trim()}else{return(e+" "+t).trim()}}),"");this._trans=this.props.external.translator.load("jupyterlab");this.state={displayNewInput:false,displayReplaceInput:Object.freeze({}),conflicts:new Map}}componentDidMount(){this.props.external.actionRequested.connect(this._onActionRequested,this)}componentWillUnmount(){this.props.external.actionRequested.disconnect(this._onActionRequested,this)}async _onActionRequested(e,t){if("shortcutId"in t&&t.shortcutId!==this.props.shortcut.id){return}if(t.request==="add-keybinding"){return this.toggleInputNew()}if(t.request==="edit-keybinding"){this.toggleInputReplaceMethod(t.keybinding)}if(t.request==="delete-keybinding"){const e=this.props.shortcut;const n=e.keybindings[t.keybinding];this.props.deleteKeybinding(e,n).catch(console.error)}}getCategoryCell(){return h.createElement("div",{className:"jp-Shortcuts-Cell"},this.props.shortcut.category)}getLabelCell(){var e;return h.createElement("div",{className:"jp-Shortcuts-Cell"},h.createElement("div",{className:"jp-label"},(e=this.props.shortcut.label)!==null&&e!==void 0?e:this._trans.__("(Command label missing)")))}getResetShortCutLink(){return h.createElement("a",{className:"jp-Shortcuts-Reset",onClick:()=>this.props.resetKeybindings(this.props.shortcut)},this._trans.__("Reset"))}getSourceCell(){const e=this.props.shortcut.keybindings.every((e=>e.isDefault));return h.createElement("div",{className:"jp-Shortcuts-Cell"},h.createElement("div",{className:"jp-Shortcuts-SourceCell"},e?this._trans.__("Default"):this._trans.__("Custom")),!e?this.getResetShortCutLink():"")}getOptionalSelectorCell(){return this.props.showSelectors?h.createElement("div",{className:"jp-Shortcuts-Cell"},h.createElement("div",{className:"jp-selector"},this.props.shortcut.selector)):null}getClassNameForShortCuts(e){const t=["jp-Shortcuts-ShortcutCell"];switch(e.length){case 1:t.push("jp-Shortcuts-SingleCell");break;case 0:t.push("jp-Shortcuts-EmptyCell");break}return t.join(" ")}toggleInputReplaceMethod(e){const t=this.state.displayReplaceInput[e];this.setState({displayReplaceInput:{...this.state.displayReplaceInput,[e]:!t},conflicts:new Map})}getDisplayReplaceInput(e){return this.state.displayReplaceInput[e]}getOrDiplayIfNeeded(e){const t=["jp-Shortcuts-Or"];if(e||this.state.displayNewInput){t.push("jp-Shortcuts-Or-Forced")}return h.createElement("div",{className:t.join(" ")},this._trans.__("or"))}getShortCutAsInput(e,t){return h.createElement(f,{addKeybinding:this.props.addKeybinding,replaceKeybinding:this.props.replaceKeybinding,deleteKeybinding:this.props.deleteKeybinding,findConflictsFor:this.props.findConflictsFor,toggleInput:()=>this.toggleInputReplaceMethod(t),shortcut:this.props.shortcut,keybinding:e,displayConflicts:t=>{const n=new Map(this.state.conflicts);n.set(e,t);this.setState({conflicts:n})},toSymbols:this.toSymbols,displayInput:this.getDisplayReplaceInput(t),placeholder:this.toSymbols(e.keys.join(", ")),translator:this.props.external.translator})}getShortCutForDisplayOnly(e){return e.keys.map(((t,n)=>h.createElement("div",{className:"jp-Shortcuts-ShortcutKeysContainer",key:n},h.createElement("div",{className:"jp-Shortcuts-ShortcutKeys"},this.toSymbols(t)),n+1<e.keys.length?h.createElement("div",{className:"jp-Shortcuts-Comma"},","):null)))}isLocationBeingEdited(e){return this.state.displayReplaceInput[e]}getDivForKey(e,t,n){return h.createElement("div",{className:"jp-Shortcuts-ShortcutContainer",key:this.props.shortcut.id+"_"+e,"data-keybinding":e,"data-shortcut":this.props.shortcut.id,onClick:()=>this.toggleInputReplaceMethod(e)},this.isLocationBeingEdited(e)?this.getShortCutAsInput(t,e):this.getShortCutForDisplayOnly(t),!(e===this._nonEmptyBindings.length-1&&Object.values(this.state.displayReplaceInput).some(Boolean))&&this.getOrDiplayIfNeeded(e<this._nonEmptyBindings.length-1))}getAddLink(){return h.createElement("a",{className:!this.state.displayNewInput?"jp-Shortcuts-Plus":"",onClick:()=>{this.toggleInputNew()}},this._trans.__("Add"))}getInputBoxWhenToggled(){return this.state.displayNewInput?h.createElement(f,{addKeybinding:this.props.addKeybinding,replaceKeybinding:this.props.replaceKeybinding,deleteKeybinding:this.props.deleteKeybinding,findConflictsFor:this.props.findConflictsFor,toggleInput:this.toggleInputNew,shortcut:this.props.shortcut,displayConflicts:e=>{const t=new Map(this.state.conflicts);t.set(null,e);this.setState({conflicts:t})},toSymbols:this.toSymbols,displayInput:this.state.displayNewInput,placeholder:"",translator:this.props.external.translator}):h.createElement("div",null)}getShortCutsCell(e){return h.createElement("div",{className:"jp-Shortcuts-Cell"},h.createElement("div",{className:this.getClassNameForShortCuts(e)},e.map(((t,n)=>this.getDivForKey(n,t,e))),e.length>=1&&!this.state.displayNewInput&&!Object.values(this.state.displayReplaceInput).some(Boolean)&&this.getAddLink(),e.length===0&&!this.state.displayNewInput&&this.getAddLink(),this.getInputBoxWhenToggled()))}getConflicts(){const e=[...this.state.conflicts.values()].filter((e=>e.conflictsWith.length!==0));if(e.length===0){return h.createElement(h.Fragment,null)}return h.createElement("div",{className:"jp-Shortcuts-Row jp-Shortcuts-RowWithConflict"},h.createElement("div",{className:g},e.map((e=>{const t=e.keys.join(" ")+"_"+e.conflictsWith.map((e=>e.id)).join("");return h.createElement("div",{className:"jp-Shortcuts-Conflict",key:t},h.createElement("div",{className:"jp-Shortcuts-ErrorMessage"},this._trans.__("Shortcut already in use by %1. Overwrite it?",e.conflictsWith.map((e=>{var t;return(t=e.label)!==null&&t!==void 0?t:e.command})).join(", "))),h.createElement("div",{className:"jp-Shortcuts-ErrorButton"},h.createElement("button",{className:"jp-Button jp-mod-reject jp-mod-styled",onClick:()=>{this._clearConflict(e);e.cancel()}},this._trans.__("Cancel")),h.createElement("button",{className:"jp-Button jp-mod-warn jp-mod-styled",onClick:()=>{this._clearConflict(e);e.overwrite()}},this._trans.__("Overwrite"))))}))))}_clearConflict(e){const t=new Map;const n=this._conflictId(e);for(const[i,s]of this.state.conflicts.entries()){if(this._conflictId(s)!==n){t.set(i,s)}}this.setState({conflicts:t})}_conflictId(e){return e.keys.join(" ")+"_"+e.conflictsWith.map((e=>e.id)).join("")}get _nonEmptyBindings(){return this.props.shortcut.keybindings.filter((e=>e.keys.filter((e=>e!="")).length!==0))}render(){return h.createElement(h.Fragment,null,h.createElement("div",{className:"jp-Shortcuts-Row","data-shortcut":this.props.shortcut.id},this.getCategoryCell(),this.getLabelCell(),this.getShortCutsCell(this._nonEmptyBindings),this.getSourceCell(),this.getOptionalSelectorCell()),this.getConflicts())}}const _=115;class b extends h.Component{render(){return h.createElement("div",{className:"jp-Shortcuts-ShortcutListContainer",style:{height:`${this.props.height-_}px`},id:"shortcutListContainer"},h.createElement("div",{className:"jp-Shortcuts-ShortcutList"},this.props.shortcuts.map((e=>h.createElement(v,{key:e.id,addKeybinding:this.props.addKeybinding,replaceKeybinding:this.props.replaceKeybinding,deleteKeybinding:this.props.deleteKeybinding,resetKeybindings:this.props.resetKeybindings,findConflictsFor:this.props.findConflictsFor,shortcut:e,showSelectors:this.props.showSelectors,external:this.props.external})))))}}class y extends h.Component{render(){return h.createElement("div",{className:this.props.title.toLowerCase()===this.props.active?"jp-Shortcuts-Header jp-Shortcuts-CurrentHeader":"jp-Shortcuts-Header",onClick:()=>this.props.updateSort(this.props.columnId)},this.props.title,h.createElement(o.caretDownEmptyThinIcon.react,{className:"jp-Shortcuts-SortButton jp-ShortcutTitleItem-sortButton"}))}}function w(e){return h.createElement("div",{className:"jp-Shortcuts-Symbols"},h.createElement("table",null,h.createElement("tbody",null,h.createElement("tr",null,h.createElement("td",null,h.createElement("kbd",null,"Cmd")),h.createElement("td",null,"⌘"),h.createElement("td",null,h.createElement("kbd",null,"Ctrl")),h.createElement("td",null,"⌃")),h.createElement("tr",null,h.createElement("td",null,h.createElement("kbd",null,"Alt")),h.createElement("td",null,"⌥"),h.createElement("td",null,h.createElement("kbd",null,"Shift")),h.createElement("td",null,"⇧")))))}function C(e){const t=e.translator.load("jupyterlab");return h.createElement("div",{className:"jp-Shortcuts-AdvancedOptions"},h.createElement("a",{className:"jp-Shortcuts-AdvancedOptionsLink",onClick:()=>e.toggleSelectors()},e.showSelectors?t.__("Hide Selectors"):t.__("Show Selectors")),h.createElement("a",{className:"jp-Shortcuts-AdvancedOptionsLink",onClick:()=>e.resetShortcuts()},t.__("Reset All")))}class x extends h.Component{constructor(e){super(e)}getShortCutTitleItem(e,t){return h.createElement("div",{className:"jp-Shortcuts-Cell"},h.createElement(y,{title:e,updateSort:this.props.updateSort,active:this.props.currentSort,columnId:t}))}render(){const e=this.props.translator.load("jupyterlab");return h.createElement("div",{className:"jp-Shortcuts-Top"},h.createElement("div",{className:"jp-Shortcuts-TopNav"},h.createElement(w,null),h.createElement(o.FilterBox,{"aria-label":e.__("Search shortcuts"),updateFilter:(e,t)=>this.props.updateSearchQuery(t!==null&&t!==void 0?t:""),placeholder:e.__("Search…"),useFuzzyFilter:false}),h.createElement(C,{toggleSelectors:this.props.toggleSelectors,showSelectors:this.props.showSelectors,resetShortcuts:this.props.resetShortcuts,translator:this.props.translator})),h.createElement("div",{className:"jp-Shortcuts-HeaderRowContainer"},h.createElement("div",{className:"jp-Shortcuts-HeaderRow"},this.getShortCutTitleItem(e.__("Category"),"category"),this.getShortCutTitleItem(e.__("Command"),"command"),h.createElement("div",{className:"jp-Shortcuts-Cell"},h.createElement("div",{className:"title-div"},e.__("Shortcut"))),this.getShortCutTitleItem(e.__("Source"),"source"),this.props.showSelectors&&this.getShortCutTitleItem(e.__("Selectors"),"selector"))))}}class S extends Map{constructor(e){var t,n,i;super();const{settings:s,commandRegistry:o}=e;const r=(t=s.user.shortcuts)!==null&&t!==void 0?t:[];const a=new Set(r.map(this._computeKeybindingId.bind(this)));const l=(n=s.composite.shortcuts)!==null&&n!==void 0?n:[];for(const d of l){const e=this._computeTargetId(d);const t=this._computeKeybindingId(d);const n={keys:d.keys,isDefault:!a.has(t)};const s=this.get(e);if(s){s.keybindings.push(n)}else{const t=d.command.split(":");const s=(i=o.label(d.command,d.args))!==null&&i!==void 0?i:t.length>1?t[1]:undefined;const r=t[0];this.set(e,{id:e,selector:d.selector,command:d.command,category:r,label:s,args:d.args,keybindings:[n]})}}}findConflictsFor(e,t){const n=new j({registry:this});let i=n.findConflicts(e,t);if(i.length!==0){return i}for(const s of e){i=n.findConflicts([s],t);if(i.length!==0){return i}}return[]}_computeTargetId(e){var t;return e.command+"_"+e.selector+"_"+JSON.stringify((t=e.args)!==null&&t!==void 0?t:{})}_computeKeybindingId(e){var t;return[e.command,e.selector,JSON.stringify((t=e.args)!==null&&t!==void 0?t:{}),e.keys.join(" ")].join("_")}}class j{constructor(e){var t;const n=new Map;for(const i of e.registry.values()){for(const e of i.keybindings){const s=this._keybindingHash(e.keys,i.selector);const o=(t=n.get(s))!==null&&t!==void 0?t:[];o.push(i);n.set(s,o)}}this._keybindingsMap=n}findConflicts(e,t){var n;const i=this._keybindingHash(e,t);return(n=this._keybindingsMap.get(i))!==null&&n!==void 0?n:[]}_keybindingHash(e,t){return e.join(" ")+"_"+t}}function k(e){return e.replace(/\s+/g,"").toLowerCase()}function I(e,t){var n;const i=e.category.toLowerCase();const s=((n=e["label"])!==null&&n!==void 0?n:"").toLowerCase();const o=`${i} ${s}`;let r=Infinity;let a=null;const l=/\b\w/g;while(true){const e=l.exec(o);if(!e){break}const n=p.StringExt.matchSumOfDeltas(o,t,e.index);if(!n){break}if(n&&n.score<=r){r=n.score;a=n.indices}}if(!a||r===Infinity){return null}const d=i.length+1;const c=p.ArrayExt.lowerBound(a,d,((e,t)=>e-t));const h=a.slice(0,c);const u=a.slice(c);for(let p=0,m=u.length;p<m;++p){u[p]-=d}if(h.length===0){return{matchType:0,categoryIndices:null,labelIndices:u,score:r,item:e}}if(u.length===0){return{matchType:1,categoryIndices:h,labelIndices:null,score:r,item:e}}return{matchType:2,categoryIndices:h,labelIndices:u,score:r,item:e}}function T(e,t){t=k(t);let n=[];for(const i of e.values()){if(!t){n.push({matchType:3,categoryIndices:null,labelIndices:null,score:0,item:i});continue}let e=I(i,t);if(!e){continue}n.push(e)}return n}class E extends h.Component{constructor(e){super(e);this.updateSearchQuery=e=>{this.setState({searchQuery:e},(()=>{const e=this.state.shortcutRegistry;this.setState({filteredShortcutList:this._searchFilterShortcuts(e)},(()=>{this.sortShortcuts()}))}))};this.resetShortcuts=async()=>{const e=await this.props.external.getSettings();await e.set("shortcuts",[]);await this._refreshShortcutList()};this.resetKeybindings=async e=>{await this._setKeybinding(e,[])};this.replaceKeybinding=async(e,t,n)=>this._setKeybinding(e,n,t);this.deleteKeybinding=async(e,t)=>{await this._setKeybinding(e,[],t)};this.addKeybinding=async(e,t)=>{await this._setKeybinding(e,t)};this.toggleSelectors=()=>{this.setState({showSelectors:!this.state.showSelectors})};this.updateSort=e=>{if(e!==this.state.currentSort){this.setState({currentSort:e},this.sortShortcuts)}};this.state={shortcutRegistry:null,filteredShortcutList:new Array,shortcutsFetched:false,searchQuery:"",showSelectors:false,currentSort:"category"}}componentDidMount(){this.props.external.actionRequested.connect(this._onActionRequested,this);void this._refreshShortcutList()}componentWillUnmount(){this.props.external.actionRequested.disconnect(this._onActionRequested,this)}async _onActionRequested(e,t){if(t.request==="toggle-selectors"){return this.toggleSelectors()}if(t.request==="reset-all"){await this.resetShortcuts()}}async _refreshShortcutList(){const e=await this.props.external.getSettings();const t=new S({commandRegistry:this.props.external.commandRegistry,settings:e});this.setState({shortcutRegistry:t,filteredShortcutList:this._searchFilterShortcuts(t),shortcutsFetched:true},(()=>{this.sortShortcuts()}))}_searchFilterShortcuts(e){if(!e){return[]}const t=T(e,this.state.searchQuery).map((e=>e.item));return t}async _setKeybinding(e,t,n){var i,s,o,r,l;if(t.length===1&&t[0]==""){t=[]}const d=await this.props.external.getSettings();const c=(i=d.user.shortcuts)!==null&&i!==void 0?i:[];const h=[];let u=false;for(let p of c){if(p.command===e.command&&p.selector===e.selector&&a.JSONExt.deepEqual((s=p.args)!==null&&s!==void 0?s:{},(o=e.args)!==null&&o!==void 0?o:{})&&n&&a.JSONExt.deepEqual(n.keys,p.keys)){const e=n&&n.isDefault&&a.JSONExt.deepEqual(n.keys,t);if(t.length!==0&&!e){h.push({command:p.command,selector:p.selector,keys:t})}u=true}else if(p.command===e.command&&p.selector===e.selector&&a.JSONExt.deepEqual((r=p.args)!==null&&r!==void 0?r:{},(l=e.args)!==null&&l!==void 0?l:{})&&!n&&t.length===0){continue}else{h.push(p)}}if(!u){const i=!n||!a.JSONExt.deepEqual(n.keys,t);const s=n&&n.isDefault&&i;if(s){h.push({command:e.command,selector:e.selector,disabled:true,keys:n.keys})}if(t.length!==0){h.push({command:e.command,selector:e.selector,keys:t})}}await d.set("shortcuts",h);await this._refreshShortcutList()}sortShortcuts(){const e=this.state.filteredShortcutList;let t=this.state.currentSort;if(t==="command"){t="label"}const n=e=>{var n;if(t==="source"){return e.keybindings.every((e=>e.isDefault))?"default":"other"}return(n=e[t])!==null&&n!==void 0?n:""};e.sort(((e,t)=>{var i,s;const o=n(e);const r=n(t);const a=o.localeCompare(r);if(a){return a}else{const n=(i=e["label"])!==null&&i!==void 0?i:"";const o=(s=t["label"])!==null&&s!==void 0?s:"";return n.localeCompare(o)}}));this.setState({filteredShortcutList:e})}render(){if(!this.state.shortcutsFetched){return null}return h.createElement("div",{className:"jp-Shortcuts-ShortcutUI",id:"jp-shortcutui"},h.createElement(x,{updateSearchQuery:this.updateSearchQuery,resetShortcuts:this.resetShortcuts,toggleSelectors:this.toggleSelectors,showSelectors:this.state.showSelectors,updateSort:this.updateSort,currentSort:this.state.currentSort,width:this.props.width,translator:this.props.external.translator}),h.createElement(b,{shortcuts:this.state.filteredShortcutList,resetKeybindings:this.resetKeybindings,addKeybinding:this.addKeybinding,replaceKeybinding:this.replaceKeybinding,deleteKeybinding:this.deleteKeybinding,showSelectors:this.state.showSelectors,findConflictsFor:(e,t)=>{if(this.state.shortcutRegistry){return this.state.shortcutRegistry.findConflictsFor(e,t)}else{console.error("Cannot search for keybinding conflicts at this time: registry is not ready");return[]}},height:this.props.height,external:this.props.external}))}}const M=e=>u().createElement(E,{external:e.external,height:1e3,width:1e3});var D=n(2336);const A="@jupyterlab/shortcuts-extension:shortcuts";function P(e,t,n,i){return{translator:n,getSettings:()=>e.load(A,true),commandRegistry:t.commands,actionRequested:i}}const L={id:A,description:"Adds the keyboard shortcuts editor.",requires:[i.ISettingRegistry],optional:[s.ITranslator,o.IFormRendererRegistry],activate:async(e,t,n,o)=>{const l=n!==null&&n!==void 0?n:s.nullTranslator;const h=l.load("jupyterlab");const{commands:u}=e;let p;let m;let g={};if(o){const n=new D.Signal({});const i=e=>e.dataset["shortcut"]!==undefined;e.commands.addCommand(c.editBinding,{label:h.__("Edit Keybinding"),caption:h.__("Edit existing keybinding"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const t=e.contextMenuHitTest(i);const s=t===null||t===void 0?void 0:t.dataset["keybinding"];const o=t===null||t===void 0?void 0:t.dataset["shortcut"];if(!o||!s){return console.log("Missing shortcut id/keybinding information")}n.emit({request:"edit-keybinding",keybinding:parseInt(s,10),shortcutId:o})}});e.commands.addCommand(c.deleteBinding,{label:h.__("Delete Keybinding"),caption:h.__("Delete chosen keybinding"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const t=e.contextMenuHitTest(i);const s=t===null||t===void 0?void 0:t.dataset["keybinding"];const o=t===null||t===void 0?void 0:t.dataset["shortcut"];if(!o||!s){return console.log("Missing shortcut id/keybinding information")}n.emit({request:"delete-keybinding",keybinding:parseInt(s,10),shortcutId:o})}});e.commands.addCommand(c.addBinding,{label:h.__("Add Keybinding"),caption:h.__("Add new keybinding for existing shortcut target"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{const t=e.contextMenuHitTest(i);const s=t===null||t===void 0?void 0:t.dataset["shortcut"];if(!s){return console.log("Missing shortcut id to add keybinding to")}n.emit({request:"add-keybinding",shortcutId:s})}});u.addCommand(c.toggleSelectors,{label:h.__("Toggle Selectors"),caption:h.__("Toggle command selectors"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{n.emit({request:"toggle-selectors"})}});u.addCommand(c.resetAll,{label:h.__("Reset All"),caption:h.__("Reset all shortcuts"),describedBy:{args:{type:"object",properties:{}}},execute:()=>{n.emit({request:"reset-all"})}});const s={fieldRenderer:i=>M({external:P(t,e,l,n),...i})};o.addRenderer(`${L.id}.shortcuts`,s)}function f(n){const i=e.commands.listCommands().join("\n");if(!m){m=a.JSONExt.deepCopy(n.properties.shortcuts.default)}g={};n.properties.shortcuts.default=Object.keys(t.plugins).map((e=>{const n=t.plugins[e].schema["jupyter.lab.shortcuts"]||[];g[e]=n;return n})).concat([m]).reduce(((e,t)=>{if(d.Platform.IS_MAC){return e.concat(t)}else{return e.concat(t.filter((e=>!e.keys.some((e=>{const{cmd:t}=r.CommandRegistry.parseKeystroke(e);return t})))))}}),[]).sort(((e,t)=>e.command.localeCompare(t.command)));n.properties.shortcuts.description=h.__(`Note: To disable a system default shortcut,\ncopy it to User Preferences and add the\n"disabled" key, for example:\n{\n "command": "application:activate-next-tab",\n "keys": [\n "Ctrl Shift ]"\n ],\n "selector": "body",\n "disabled": true\n}\n\nList of commands followed by keyboard shortcuts:\n%1\n\nList of keyboard shortcuts:`,i)}t.pluginChanged.connect((async(e,n)=>{if(n!==L.id){const e=g[n];const i=t.plugins[n].schema["jupyter.lab.shortcuts"]||[];if(e===undefined||!a.JSONExt.deepEqual(e,i)){p=null;const e=t.plugins[L.id].schema;e.properties.shortcuts.default=m;await t.load(L.id,true)}}}));t.transform(L.id,{compose:e=>{var t,n,s,o;if(!p){p=a.JSONExt.deepCopy(e.schema);f(p)}const r=(s=(n=(t=p.properties)===null||t===void 0?void 0:t.shortcuts)===null||n===void 0?void 0:n.default)!==null&&s!==void 0?s:[];const l={shortcuts:(o=e.data.user.shortcuts)!==null&&o!==void 0?o:[]};const d={shortcuts:i.SettingRegistry.reconcileShortcuts(r,l.shortcuts)};e.data={composite:d,user:l};return e},fetch:e=>{if(!p){p=a.JSONExt.deepCopy(e.schema);f(p)}return{data:e.data,id:e.id,raw:e.raw,schema:p,version:e.version}}});try{p=null;const e=await t.load(L.id);N.loadShortcuts(u,e.composite);e.changed.connect((()=>{N.loadShortcuts(u,e.composite)}))}catch(v){console.error(`Loading ${L.id} failed.`,v)}},autoStart:true};const R=L;var N;(function(e){let t;function n(e,n){var s;const o=(s=n===null||n===void 0?void 0:n.shortcuts)!==null&&s!==void 0?s:[];if(t){t.dispose()}t=o.reduce(((t,n)=>{const s=i(n);if(s){t.add(e.addKeyBinding(s))}return t}),new l.DisposableSet)}e.loadShortcuts=n;function i(e){if(!e||typeof e!=="object"){return undefined}const{isArray:t}=Array;const n="command"in e&&"keys"in e&&"selector"in e&&t(e.keys);return n?e:undefined}})(N||(N={}))},48552:(e,t,n)=>{"use strict";var i=n(40662);var s=n(85072);var o=n.n(s);var r=n(97825);var a=n.n(r);var l=n(77659);var d=n.n(l);var c=n(55056);var h=n.n(c);var u=n(10540);var p=n.n(u);var m=n(41113);var g=n.n(m);var f=n(64547);var v={};v.styleTagTransform=g();v.setAttributes=h();v.insert=d().bind(null,"head");v.domAPI=a();v.insertStyleElement=p();var _=o()(f.A,v);const b=f.A&&f.A.locals?f.A.locals:undefined},4056:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DataConnector=void 0;class n{async list(e){throw new Error("DataConnector#list method has not been implemented.")}async remove(e){throw new Error("DataConnector#remove method has not been implemented.")}async save(e,t){throw new Error("DataConnector#save method has not been implemented.")}}t.DataConnector=n},19531:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){if(i===undefined)i=n;var s=Object.getOwnPropertyDescriptor(t,n);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,i,s)}:function(e,t,n,i){if(i===undefined)i=n;e[i]=t[n]});var s=this&&this.__exportStar||function(e,t){for(var n in e)if(n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n))i(t,e,n)};Object.defineProperty(t,"__esModule",{value:true});s(n(4056),t);s(n(78031),t);s(n(45310),t);s(n(19864),t);s(n(82877),t)},78031:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true})},45310:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.RestorablePool=void 0;const i=n(5592);const s=n(94466);const o=n(2336);class r{constructor(e){this._added=new o.Signal(this);this._current=null;this._currentChanged=new o.Signal(this);this._hasRestored=false;this._isDisposed=false;this._objects=new Set;this._restore=null;this._restored=new i.PromiseDelegate;this._updated=new o.Signal(this);this.namespace=e.namespace}get added(){return this._added}get current(){return this._current}set current(e){if(this._current===e){return}if(e!==null&&this._objects.has(e)){this._current=e;this._currentChanged.emit(this._current)}}get currentChanged(){return this._currentChanged}get isDisposed(){return this._isDisposed}get restored(){return this._restored.promise}get size(){return this._objects.size}get updated(){return this._updated}async add(e){var t,n;if(e.isDisposed){const t="A disposed object cannot be added.";console.warn(t,e);throw new Error(t)}if(this._objects.has(e)){const t="This object already exists in the pool.";console.warn(t,e);throw new Error(t)}this._objects.add(e);e.disposed.connect(this._onInstanceDisposed,this);if(a.injectedProperty.get(e)){return}if(this._restore){const{connector:i}=this._restore;const s=this._restore.name(e);if(s){const o=`${this.namespace}:${s}`;const r=(n=(t=this._restore).args)===null||n===void 0?void 0:n.call(t,e);a.nameProperty.set(e,o);await i.save(o,{data:r})}}this._added.emit(e)}dispose(){if(this.isDisposed){return}this._current=null;this._isDisposed=true;this._objects.clear();o.Signal.clearData(this)}find(e){const t=this._objects.values();for(const n of t){if(e(n)){return n}}return undefined}forEach(e){this._objects.forEach(e)}filter(e){const t=[];this.forEach((n=>{if(e(n)){t.push(n)}}));return t}inject(e){a.injectedProperty.set(e,true);return this.add(e)}has(e){return this._objects.has(e)}async restore(e){if(this._hasRestored){throw new Error("This pool has already been restored.")}this._hasRestored=true;const{command:t,connector:n,registry:i,when:s}=e;const o=this.namespace;const r=s?[n.list(o)].concat(s):[n.list(o)];this._restore=e;const[a]=await Promise.all(r);const l=await Promise.all(a.ids.map((async(e,s)=>{const o=a.values[s];const r=o&&o.data;if(r===undefined){return n.remove(e)}return i.execute(t,r).catch((()=>n.remove(e)))})));this._restored.resolve();return l}async save(e){var t,n;const i=a.injectedProperty.get(e);if(!this._restore||!this.has(e)||i){return}const{connector:s}=this._restore;const o=this._restore.name(e);const r=a.nameProperty.get(e);const l=o?`${this.namespace}:${o}`:"";if(r&&r!==l){await s.remove(r)}a.nameProperty.set(e,l);if(l){const i=(n=(t=this._restore).args)===null||n===void 0?void 0:n.call(t,e);await s.save(l,{data:i})}if(r!==l){this._updated.emit(e)}}_onInstanceDisposed(e){this._objects.delete(e);if(e===this._current){this._current=null;this._currentChanged.emit(this._current)}if(a.injectedProperty.get(e)){return}if(!this._restore){return}const{connector:t}=this._restore;const n=a.nameProperty.get(e);if(n){void t.remove(n)}}}t.RestorablePool=r;var a;(function(e){e.injectedProperty=new s.AttachedProperty({name:"injected",create:()=>false});e.nameProperty=new s.AttachedProperty({name:"name",create:()=>""})})(a||(a={}))},19864:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.StateDB=void 0;const i=n(2336);class s{constructor(e={}){this._changed=new i.Signal(this);const{connector:t,transform:n}=e;this._connector=t||new s.Connector;if(!n){this._ready=Promise.resolve(undefined)}else{this._ready=n.then((e=>{const{contents:t,type:n}=e;switch(n){case"cancel":return;case"clear":return this._clear();case"merge":return this._merge(t||{});case"overwrite":return this._overwrite(t||{});default:return}}))}}get changed(){return this._changed}async clear(){await this._ready;await this._clear()}async fetch(e){await this._ready;return this._fetch(e)}async list(e){await this._ready;return this._list(e)}async remove(e){await this._ready;await this._remove(e);this._changed.emit({id:e,type:"remove"})}async save(e,t){await this._ready;await this._save(e,t);this._changed.emit({id:e,type:"save"})}async toJSON(){await this._ready;const{ids:e,values:t}=await this._list();return t.reduce(((t,n,i)=>{t[e[i]]=n;return t}),{})}async _clear(){await Promise.all((await this._list()).ids.map((e=>this._remove(e))))}async _fetch(e){const t=await this._connector.fetch(e);if(t){return JSON.parse(t).v}}async _list(e=""){const{ids:t,values:n}=await this._connector.list(e);return{ids:t,values:n.map((e=>JSON.parse(e).v))}}async _merge(e){await Promise.all(Object.keys(e).map((t=>e[t]&&this._save(t,e[t]))))}async _overwrite(e){await this._clear();await this._merge(e)}async _remove(e){return this._connector.remove(e)}async _save(e,t){return this._connector.save(e,JSON.stringify({v:t}))}}t.StateDB=s;(function(e){class t{constructor(){this._storage={}}async fetch(e){return this._storage[e]}async list(e=""){return Object.keys(this._storage).reduce(((t,n)=>{if(e===""?true:e===n.split(":")[0]){t.ids.push(n);t.values.push(this._storage[n])}return t}),{ids:[],values:[]})}async remove(e){delete this._storage[e]}async save(e,t){this._storage[e]=t}}e.Connector=t})(s||(t.StateDB=s={}))},82877:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.IStateDB=void 0;const i=n(5592);t.IStateDB=new i.Token("@jupyterlab/coreutils:IStateDB",`A service for the JupyterLab state database.\n Use this if you want to store data that will persist across page loads.\n See "state database" for more information.`)},6771:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>g});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(40065);var l=n.n(a);var d=n(4625);var c=n.n(d);var h=n(34881);var u=n.n(h);const p="@jupyterlab/statusbar-extension:plugin";const m={id:p,description:"Provides the application status bar.",requires:[h.ITranslator],provides:d.IStatusBar,autoStart:true,activate:(e,t,n,i,s)=>{const o=t.load("jupyterlab");const r=new d.StatusBar;r.id="jp-main-statusbar";e.shell.add(r,"bottom");if(n){n.layoutModified.connect((()=>{r.update()}))}const a=o.__("Main Area");const l="statusbar:toggle";e.commands.addCommand(l,{label:o.__("Show Status Bar"),execute:()=>{r.setHidden(r.isVisible);if(i){void i.set(p,"visible",r.isVisible)}},isToggled:()=>r.isVisible,describedBy:{args:{type:"object",properties:{}}}});e.commands.commandExecuted.connect(((t,n)=>{if(n.id==="application:reset-layout"&&!r.isVisible){e.commands.execute(l).catch((e=>{console.error("Failed to show the status bar.",e)}))}}));if(s){s.addItem({command:l,category:a})}if(i){const t=i.load(p);const n=e=>{const t=e.get("visible").composite;r.setHidden(!t)};Promise.all([t,e.restored]).then((([e])=>{n(e);e.changed.connect((e=>{n(e)}))})).catch((e=>{console.error(e.message)}))}return r},optional:[i.ILabShell,a.ISettingRegistry,o.ICommandPalette]};const g=m},40005:(e,t,n)=>{"use strict";var i=n(24800);var s=n(97913);var o=n(3579)},57850:(e,t,n)=>{"use strict";n.r(t);n.d(t,{GroupItem:()=>o,IStatusBar:()=>b,Popup:()=>d,ProgressBar:()=>c,ProgressCircle:()=>p,StatusBar:()=>f,TextItem:()=>u,showPopup:()=>l});var i=n(44914);var s=n.n(i);function o(e){const{spacing:t,children:n,className:s,...o}=e;const r=i.Children.toArray(n).filter(Boolean);const a=r.length;return i.createElement("div",{className:`jp-StatusBar-GroupItem ${s||""}`,...o},r.map(((e,n)=>{const s=`group-item-${n}`;if(n===0){return i.createElement("div",{key:s,style:{marginRight:`${t}px`}},e)}else if(n===a-1){return i.createElement("div",{key:s,style:{marginLeft:`${t}px`}},e)}else{return i.createElement("div",{key:s,style:{margin:`0px ${t}px`}},e)}})))}var r=n(4073);var a=n(27518);function l(e){const t=new d(e);if(!e.startHidden){t.launch()}return t}class d extends a.Widget{constructor(e){super();this.addClass("jp-ThemedContainer");this._body=e.body;this._body.addClass("jp-StatusBar-HoverItem");this._anchor=e.anchor;this._align=e.align;if(e.hasDynamicSize){this._observer=new ResizeObserver((()=>{this.update()}))}const t=this.layout=new a.PanelLayout;t.addWidget(e.body);this._body.node.addEventListener("resize",(()=>{this.update()}))}launch(){this._setGeometry();a.Widget.attach(this,document.body);this.update();this._anchor.addClass("jp-mod-clicked");this._anchor.removeClass("jp-mod-highlight")}onUpdateRequest(e){this._setGeometry();super.onUpdateRequest(e)}onAfterAttach(e){var t;document.addEventListener("click",this,false);this.node.addEventListener("keydown",this,false);window.addEventListener("resize",this,false);(t=this._observer)===null||t===void 0?void 0:t.observe(this._body.node)}onBeforeDetach(e){var t;(t=this._observer)===null||t===void 0?void 0:t.disconnect();document.removeEventListener("click",this,false);this.node.removeEventListener("keydown",this,false);window.removeEventListener("resize",this,false)}onResize(){this.update()}dispose(){var e;(e=this._observer)===null||e===void 0?void 0:e.disconnect();super.dispose();this._anchor.removeClass("jp-mod-clicked");this._anchor.addClass("jp-mod-highlight")}handleEvent(e){switch(e.type){case"keydown":this._evtKeydown(e);break;case"click":this._evtClick(e);break;case"resize":this.onResize();break;default:break}}_evtClick(e){if(!!e.target&&!(this._body.node.contains(e.target)||this._anchor.node.contains(e.target))){this.dispose()}}_evtKeydown(e){switch(e.keyCode){case 27:e.stopPropagation();e.preventDefault();this.dispose();break;default:break}}_setGeometry(){let e=0;const t=this._anchor.node.getBoundingClientRect();const n=this._body.node.getBoundingClientRect();if(this._align==="right"){e=-(n.width-t.width)}const i=window.getComputedStyle(this._body.node);r.HoverBox.setGeometry({anchor:t,host:document.body,maxHeight:500,minHeight:20,node:this._body.node,offset:{horizontal:e},privilege:"forceAbove",style:i})}}function c(e){const{width:t,percentage:n,...s}=e;return i.createElement("div",{className:"jp-Statusbar-ProgressBar-progress-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":n},i.createElement(h,{percentage:n,...s,contentWidth:t}))}function h(e){return i.createElement("div",{style:{width:`${e.percentage}%`}},i.createElement("p",null,e.content))}function u(e){const{title:t,source:n,className:s,...o}=e;return i.createElement("span",{className:s?`jp-StatusBar-TextItem ${s}`:"jp-StatusBar-TextItem",title:t,...o},n)}function p(e){const t=104;const n=e=>{const n=Math.max(e*3.6,.1);const i=n*Math.PI/180,s=Math.sin(i)*t,o=Math.cos(i)*-t,r=n<180?1:0,a=`M 0 0 v -${t} A ${t} ${t} 1 `+r+" 0 "+s.toFixed(4)+" "+o.toFixed(4)+" z";return a};return s().createElement("div",{className:"jp-Statusbar-ProgressCircle",role:"progressbar","aria-label":e.label||"Unlabelled progress circle","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.progress,onClick:e.onClick},s().createElement("svg",{viewBox:"0 0 250 250"},s().createElement("circle",{cx:"125",cy:"125",r:`${t}`,stroke:"var(--jp-inverse-layout-color3)",strokeWidth:"20",fill:"none"}),s().createElement("path",{className:"jp-Statusbar-ProgressCirclePath",transform:"translate(125,125) scale(.9)",d:n(e.progress),fill:"var(--jp-inverse-layout-color3)"})))}var m=n(34236);var g=n(90044);class f extends a.Widget{constructor(){super();this._isWindowNarrow=()=>window.innerWidth<=630;this._leftRankItems=[];this._rightRankItems=[];this._statusItems={};this._disposables=new g.DisposableSet;this.addClass("jp-StatusBar-Widget");const e=this.layout=new a.PanelLayout;const t=this._leftSide=new a.Panel;const n=this._middlePanel=new a.Panel;const i=this._rightSide=new a.Panel;t.addClass("jp-StatusBar-Left");n.addClass("jp-StatusBar-Middle");i.addClass("jp-StatusBar-Right");i.node.style.flexDirection="row";e.addWidget(t);e.addWidget(n);e.addWidget(i)}registerStatusItem(e,t){if(e in this._statusItems){throw new Error(`Status item ${e} already registered.`)}const n={...v.statusItemDefaults,...t};const{align:i,item:s,rank:o,priority:r}=n;const a=()=>{this._refreshItem(e)};if(n.activeStateChanged){n.activeStateChanged.connect(a)}const l={id:e,rank:o,priority:r};n.item.addClass("jp-StatusBar-Item");this._statusItems[e]=n;if(i==="left"){const e=this._findInsertIndex(this._leftRankItems,l);if(e===-1){this._leftSide.addWidget(s);this._leftRankItems.push(l)}else{m.ArrayExt.insert(this._leftRankItems,e,l);this._leftSide.insertWidget(e,s)}}else if(i==="right"){const e=m.ArrayExt.findFirstIndex(this._rightRankItems,(e=>e.rank<l.rank));if(e===-1){this._rightSide.addWidget(s);this._rightRankItems.push(l)}else{m.ArrayExt.insert(this._rightRankItems,e,l);this._rightSide.insertWidget(e,s)}}else{this._middlePanel.addWidget(s)}this._refreshItem(e);const d=new g.DisposableDelegate((()=>{delete this._statusItems[e];if(n.activeStateChanged){n.activeStateChanged.disconnect(a)}s.parent=null;s.dispose()}));this._disposables.add(d);return d}dispose(){this._leftRankItems.length=0;this._rightRankItems.length=0;this._disposables.dispose();super.dispose()}onUpdateRequest(e){this._refreshAll();super.onUpdateRequest(e)}_findInsertIndex(e,t){return m.ArrayExt.findFirstIndex(e,(e=>e.rank>t.rank))}_refreshItem(e){const t=this._statusItems[e];if(t.isActive()&&!(t.priority===0&&this._isWindowNarrow())){t.item.show();t.item.update()}else{t.item.hide()}}_refreshAll(){Object.keys(this._statusItems).forEach((e=>{this._refreshItem(e)}))}}var v;(function(e){e.statusItemDefaults={align:"left",rank:0,priority:0,isActive:()=>true,activeStateChanged:undefined}})(v||(v={}));var _=n(5592);const b=new _.Token("@jupyterlab/statusbar:IStatusBar","A service for the status bar on the application. Use this if you want to add new status bar items.")},24800:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(85072);var r=n.n(o);var a=n(97825);var l=n.n(a);var d=n(77659);var c=n.n(d);var h=n(55056);var u=n.n(h);var p=n(10540);var m=n.n(p);var g=n(41113);var f=n.n(g);var v=n(28423);var _={};_.styleTagTransform=f();_.setAttributes=u();_.insert=c().bind(null,"head");_.domAPI=l();_.insertStyleElement=m();var b=r()(v.A,_);const y=v.A&&v.A.locals?v.A.locals:undefined},60135:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>y});var i=n(88617);var s=n(38850);var o=n(41043);var r=n(46417);var a=n(89433);var l=n(58719);var d=n(49278);var c=n(40065);var h=n(92909);var u=n(34881);var p=n(4073);var m=n(27518);var g=n(24894);var f=n.n(g);class v extends o.SearchProvider{constructor(e){super(e);this.widget=e;this.isReadOnly=true;this._currentMatchIndex=null;this._matchesCount=null;const t=this.widget.content;t.searchAddon.onDidChangeResults((e=>{const{resultCount:t,resultIndex:n}=e;this._currentMatchIndex=t>0?n:null;this._matchesCount=t>0?t:null}));t.themeChanged.connect((()=>{this._onThemeChanged()}));this._onThemeChanged()}static createNew(e,t){return new v(e)}static isApplicable(e){return e instanceof s.MainAreaWidget&&e.content instanceof h.Terminal}async clearHighlight(){this._clear();return Promise.resolve()}get currentMatchIndex(){return this._currentMatchIndex}async endQuery(){this._clear();return Promise.resolve()}async highlightNext(){this._next();return Promise.resolve(undefined)}async highlightPrevious(){this._previous();return Promise.resolve(undefined)}get matchesCount(){return this._matchesCount}async replaceCurrentMatch(e,t,n){return Promise.resolve(false)}async replaceAllMatches(e,t){return Promise.resolve(false)}async startQuery(e){this._query=e;this._next();return Promise.resolve()}_clear(){this._query=undefined;this._currentMatchIndex=null;this._matchesCount=null;this.widget.content.searchAddon.clearDecorations()}_colorToRRGGBB(e,t){try{let n=f()(e);const i=n.alpha();if(i<1){n=n.mix(f()(t),i)}return n.hex()}catch(n){return"#888888"}}_next(){if(this._query!==undefined){const{flags:e,source:t}=this._query;this.widget.content.searchAddon.findNext(t,this._searchOptions(e))}}_onThemeChanged(){const e=this.widget.content.getXTermTheme();const{background:t}=e;const n=this._colorToRRGGBB(e.activeMatchBackground,t);const i=this._colorToRRGGBB(e.selectionBackground,t);this._searchDecorationOptions={activeMatchBackground:n,matchBackground:i,matchOverviewRuler:"",activeMatchColorOverviewRuler:""};if(this._query!==undefined){this.widget.content.searchAddon.clearDecorations();this._next()}}_previous(){if(this._query!==undefined){const{flags:e,source:t}=this._query;this.widget.content.searchAddon.findPrevious(t,this._searchOptions(e))}}_searchOptions(e){return{caseSensitive:!e.includes("i"),incremental:false,regex:true,wholeWord:false,decorations:this._searchDecorationOptions}}}var _;(function(e){e.copy="terminal:copy";e.createNew="terminal:create-new";e.open="terminal:open";e.refresh="terminal:refresh";e.increaseFont="terminal:increase-font";e.decreaseFont="terminal:decrease-font";e.paste="terminal:paste";e.setTheme="terminal:set-theme";e.shutdown="terminal:shut-down"})(_||(_={}));const b={activate:w,id:"@jupyterlab/terminal-extension:plugin",description:"Adds terminal and provides its tracker.",provides:h.ITerminalTracker,requires:[c.ISettingRegistry,u.ITranslator],optional:[s.ICommandPalette,r.ILauncher,i.ILayoutRestorer,a.IMainMenu,s.IThemeManager,l.IRunningSessionManagers,o.ISearchProviderRegistry],autoStart:true};const y=b;function w(e,t,n,i,o,r,a,l,d,c){const h=n.load("jupyterlab");const{serviceManager:u,commands:p}=e;const g=h.__("Terminal");const f="terminal";const y=new s.WidgetTracker({namespace:f});if(!u.terminals.isAvailable()){console.warn("Disabling terminals plugin because they are not available on the server");return y}if(r){void r.restore(y,{command:_.createNew,args:e=>({name:e.content.session.name}),name:e=>e.content.session.name})}const w={};function j(e){Object.keys(e.composite).forEach((t=>{w[t]=e.composite[t]}))}function k(e){const t=e.content;if(!t){return}Object.keys(w).forEach((e=>{t.setOption(e,w[e])}))}function I(){y.forEach((e=>k(e)))}t.load(b.id).then((e=>{j(e);I();e.changed.connect((()=>{j(e);I()}))})).catch(S.showErrorMessage);l===null||l===void 0?void 0:l.themeChanged.connect(((e,t)=>{y.forEach((e=>{const t=e.content;if(t.getOption("theme")==="inherit"){t.setOption("theme","inherit")}}))}));x(e,y,t,n,w);if(a){const e=new m.Menu({commands:p});e.title.label=h._p("menu","Terminal Theme");e.addItem({command:_.setTheme,args:{theme:"inherit",displayName:h.__("Inherit"),isPalette:false}});e.addItem({command:_.setTheme,args:{theme:"light",displayName:h.__("Light"),isPalette:false}});e.addItem({command:_.setTheme,args:{theme:"dark",displayName:h.__("Dark"),isPalette:false}});a.settingsMenu.addGroup([{command:_.increaseFont},{command:_.decreaseFont},{type:"submenu",submenu:e}],40);a.fileMenu.newMenu.addItem({command:_.createNew,rank:20});a.fileMenu.closeAndCleaners.add({id:_.shutdown,isEnabled:e=>y.currentWidget!==null&&y.has(e)})}if(i){[_.createNew,_.refresh,_.increaseFont,_.decreaseFont].forEach((e=>{i.addItem({command:e,category:g,args:{isPalette:true}})}));i.addItem({command:_.setTheme,category:g,args:{theme:"inherit",displayName:h.__("Inherit"),isPalette:true}});i.addItem({command:_.setTheme,category:g,args:{theme:"light",displayName:h.__("Light"),isPalette:true}});i.addItem({command:_.setTheme,category:g,args:{theme:"dark",displayName:h.__("Dark"),isPalette:true}})}if(o){o.add({command:_.createNew,category:h.__("Other"),rank:0})}if(d){C(d,e,n)}if(c){c.add("terminal",v)}return y}function C(e,t,n){const i=n.load("jupyterlab");const s=t.serviceManager.terminals;class o{constructor(e){this._model=e}open(){void t.commands.execute("terminal:open",{name:this._model.name})}icon(){return p.terminalIcon}label(){return`terminals/${this._model.name}`}shutdown(){return s.shutdown(this._model.name)}}e.add({name:i.__("Terminals"),supportsMultipleViews:false,running:()=>Array.from(s.running()).map((e=>new o(e))),shutdownAll:()=>s.shutdownAll(),refreshRunning:()=>s.refreshRunning(),runningChanged:s.runningChanged,shutdownLabel:i.__("Shut Down"),shutdownAllLabel:i.__("Shut Down All"),shutdownAllConfirmationText:i.__("Are you sure you want to permanently shut down all running terminals?")})}function x(e,t,n,i,o){var r;const a=i.load("jupyterlab");const{commands:l,serviceManager:c}=e;const u=()=>t.currentWidget!==null&&t.currentWidget===e.shell.currentWidget;l.addCommand(_.createNew,{label:e=>e["isPalette"]?a.__("New Terminal"):a.__("Terminal"),caption:a.__("Start a new terminal session"),icon:e=>e["isPalette"]?undefined:p.terminalIcon,execute:async n=>{const r=n["name"];const a=n["cwd"];const l=a?c.contents.localPath(a):undefined;let u;if(r){const e=await d.TerminalAPI.listRunning(c.serverSettings);if(e.map((e=>e.name)).includes(r)){u=c.terminals.connectTo({model:{name:r}})}else{u=await c.terminals.startNew({name:r,cwd:l})}}else{u=await c.terminals.startNew({cwd:l})}const m=new h.Terminal(u,o,i);m.title.icon=p.terminalIcon;m.title.label="...";const g=new s.MainAreaWidget({content:m,reveal:m.ready});e.shell.add(g,"main",{type:"Terminal"});void t.add(g);e.shell.activateById(g.id);return g},describedBy:{args:{type:"object",properties:{name:{type:"string",description:a.__("Terminal session name")},cwd:{type:"string",description:a.__("Current working directory for the terminal")},isPalette:{type:"boolean",description:a.__("Whether the command is called from the command palette")}}}}});l.addCommand(_.open,{label:a.__("Open a terminal by its `name`."),execute:n=>{const i=n["name"];const s=t.find((e=>{const t=e.content;return t.session.name===i||false}));if(s){e.shell.activateById(s.id)}else{return l.execute(_.createNew,{name:i})}},describedBy:{args:{type:"object",properties:{name:{type:"string",description:a.__("Terminal session name to open")}},required:["name"]}}});l.addCommand(_.refresh,{label:a.__("Refresh Terminal"),caption:a.__("Refresh the current terminal session"),execute:async()=>{const n=t.currentWidget;if(!n){return}e.shell.activateById(n.id);try{await n.content.refresh();if(n){n.content.activate()}}catch(i){S.showErrorMessage(i)}},icon:e=>e["isPalette"]?undefined:p.refreshIcon.bindprops({stylesheet:"menuItem"}),isEnabled:u,describedBy:{args:{type:"object",properties:{isPalette:{type:"boolean",description:a.__("Whether the command is called from the command palette")}}}}});l.addCommand(_.copy,{execute:()=>{var e;const n=(e=t.currentWidget)===null||e===void 0?void 0:e.content;if(!n){return}const i=n.getSelection();if(i){s.Clipboard.copyToSystem(i);n.activate()}},isEnabled:()=>{var e;if(!u()){return false}const n=(e=t.currentWidget)===null||e===void 0?void 0:e.content;if(!n){return false}return n.hasSelection()},icon:p.copyIcon.bindprops({stylesheet:"menuItem"}),label:a.__("Copy"),describedBy:{args:{type:"object",properties:{}}}});l.addCommand(_.paste,{execute:async()=>{var e;const n=(e=t.currentWidget)===null||e===void 0?void 0:e.content;if(!n){return}const i=window.navigator.clipboard;const s=await i.readText();if(s){n.paste(s);n.activate()}},isEnabled:()=>{var e;return Boolean(u()&&((e=t.currentWidget)===null||e===void 0?void 0:e.content))},icon:p.pasteIcon.bindprops({stylesheet:"menuItem"}),label:a.__("Paste"),describedBy:{args:{type:"object",properties:{}}}});l.addCommand(_.shutdown,{label:a.__("Shutdown Terminal"),execute:()=>{const e=t.currentWidget;if(!e){return}return e.content.session.shutdown()},isEnabled:u,describedBy:{args:{type:"object",properties:{}}}});l.addCommand(_.increaseFont,{label:a.__("Increase Terminal Font Size"),execute:async()=>{const{fontSize:e}=o;if(e&&e<72){try{await n.set(b.id,"fontSize",e+1)}catch(t){S.showErrorMessage(t)}}},describedBy:{args:{type:"object",properties:{}}}});l.addCommand(_.decreaseFont,{label:a.__("Decrease Terminal Font Size"),execute:async()=>{const{fontSize:e}=o;if(e&&e>9){try{await n.set(b.id,"fontSize",e-1)}catch(t){S.showErrorMessage(t)}}},describedBy:{args:{type:"object",properties:{}}}});const m={inherit:a.__("Inherit"),light:a.__("Light"),dark:a.__("Dark")};l.addCommand(_.setTheme,{label:e=>{if(e.theme===undefined){return a.__("Set terminal theme to the provided `theme`.")}const t=e["theme"];const n=t in m?m[t]:a.__(t[0].toUpperCase()+t.slice(1));return e["isPalette"]?a.__("Use Terminal Theme: %1",n):n},caption:a.__("Set the terminal theme"),isToggled:e=>{const{theme:t}=o;return e["theme"]===t},execute:async e=>{const t=e["theme"];try{await n.set(b.id,"theme",t);l.notifyCommandChanged(_.setTheme)}catch(i){console.log(i);S.showErrorMessage(i)}},describedBy:{args:{type:"object",properties:{theme:{type:"string",enum:["inherit","light","dark"],description:a.__("Terminal theme to set")},isPalette:{type:"boolean",description:"Whether the command is called from the command palette"}},required:["theme"]}}});const g=[_.refresh,_.copy,_.paste,_.shutdown];const f=()=>{g.forEach((e=>l.notifyCommandChanged(e)))};t.currentChanged.connect(f);(r=e.shell.currentChanged)===null||r===void 0?void 0:r.connect(f)}var S;(function(e){function t(e){console.error(`Failed to configure ${b.id}: ${e.message}`)}e.showErrorMessage=t})(S||(S={}))},70558:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(3579);var a=n(19562);var l=n(75797);var d=n(67996);var c=n(94780);var h=n(69448);var u=n(85072);var p=n.n(u);var m=n(97825);var g=n.n(m);var f=n(77659);var v=n.n(f);var _=n(55056);var b=n.n(_);var y=n(10540);var w=n.n(y);var C=n(41113);var x=n.n(C);var S=n(51466);var j={};j.styleTagTransform=x();j.setAttributes=b();j.insert=v().bind(null,"head");j.domAPI=g();j.insertStyleElement=w();var k=p()(S.A,j);const I=S.A&&S.A.locals?S.A.locals:undefined},4202:(e,t,n)=>{"use strict";n.r(t);n.d(t,{ITerminal:()=>o,ITerminalTracker:()=>s,Terminal:()=>g});var i=n(5592);const s=new i.Token("@jupyterlab/terminal:ITerminalTracker",`A widget tracker for terminals.\n Use this if you want to be able to iterate over and interact with terminals\n created by the application.`);var o;(function(e){e.defaultOptions={theme:"inherit",fontFamily:'Menlo, Consolas, "DejaVu Sans Mono", monospace',fontSize:13,lineHeight:1,scrollback:1e3,shutdownOnClose:false,closeOnExit:true,cursorBlink:true,initialCommand:"",screenReaderMode:false,pasteWithCtrlV:true,autoFit:true,macOptionIsMeta:false}})(o||(o={}));var r=n(34881);var a=n(76326);var l=n(42856);var d=n(2336);var c=n(27518);var h=n(24894);var u=n.n(h);const p="jp-Terminal";const m="jp-Terminal-body";class g extends c.Widget{constructor(e,t={},n){super();this._needsResize=true;this._offsetWidth=-1;this._offsetHeight=-1;this._isReady=false;this._ready=new i.PromiseDelegate;this._termOpened=false;this._themeChanged=new d.Signal(this);n=n||r.nullTranslator;this._trans=n.load("jupyterlab");this.session=e;this._options={...o.defaultOptions,...t};const{theme:s,...a}=this._options;const l={theme:f.getXTermTheme(s),allowProposedApi:true,...a};this.addClass(p);this._setThemeAttribute(s);let c="";const h=(e,t)=>{switch(t.type){case"stdout":if(t.content){c+=t.content[0]}break;default:break}};e.messageReceived.connect(h);e.disposed.connect((()=>{if(this.getOption("closeOnExit")){this.dispose()}}),this);f.createTerminal(l).then((([t,n,i])=>{this._term=t;this._fitAddon=n;this._searchAddon=i;this._initializeTerm();this.id=`jp-Terminal-${f.id++}`;this.title.label=this._trans.__("Terminal");this._isReady=true;this._ready.resolve();if(c){this._term.write(c)}e.messageReceived.disconnect(h);e.messageReceived.connect(this._onMessage,this);if(e.connectionStatus==="connected"){this._initialConnection()}else{e.connectionStatusChanged.connect(this._initialConnection,this)}this.update()})).catch((e=>{console.error("Failed to create a terminal.\n",e);this._ready.reject(e)}))}get ready(){return this._ready.promise}getOption(e){return this._options[e]}setOption(e,t){if(e!=="theme"&&(this._options[e]===t||e==="initialCommand")){return}this._options[e]=t;switch(e){case"fontFamily":this._term.options.fontFamily=t;break;case"fontSize":this._term.options.fontSize=t;break;case"lineHeight":this._term.options.lineHeight=t;break;case"screenReaderMode":this._term.options.screenReaderMode=t;break;case"scrollback":this._term.options.scrollback=t;break;case"theme":this._term.options.theme={...f.getXTermTheme(t)};this._setThemeAttribute(t);this._themeChanged.emit();break;case"macOptionIsMeta":this._term.options.macOptionIsMeta=t;break;default:break}this._needsResize=true;this.update()}dispose(){if(!this.session.isDisposed){if(this.getOption("shutdownOnClose")){this.session.shutdown().catch((e=>{console.error(`Terminal not shut down: ${e}`)}))}}void this.ready.then((()=>{this._term.dispose()}));super.dispose()}async refresh(){if(!this.isDisposed&&this._isReady){await this.session.reconnect();this._term.clear()}}hasSelection(){if(!this.isDisposed&&this._isReady){return this._term.hasSelection()}return false}paste(e){if(!this.isDisposed&&this._isReady){return this._term.paste(e)}}getSelection(){if(!this.isDisposed&&this._isReady){return this._term.getSelection()}return null}processMessage(e){super.processMessage(e);switch(e.type){case"fit-request":this.onFitRequest(e);break;default:break}}get searchAddon(){return this._searchAddon}getXTermTheme(){const{theme:e}=this._options;return f.getXTermTheme(e)}get themeChanged(){return this._themeChanged}onAfterAttach(e){this.update()}onAfterShow(e){this.update()}onResize(e){this._offsetWidth=e.width;this._offsetHeight=e.height;this._needsResize=true;this.update()}onUpdateRequest(e){var t;if(!this.isVisible||!this.isAttached||!this._isReady){return}if(!this._termOpened){this._term.open(this.node);(t=this._term.element)===null||t===void 0?void 0:t.classList.add(m);this._termOpened=true}if(this._needsResize){this._resizeTerminal()}}onFitRequest(e){const t=c.Widget.ResizeMessage.UnknownSize;l.MessageLoop.sendMessage(this,t)}onActivateRequest(e){var t;(t=this._term)===null||t===void 0?void 0:t.focus()}_initialConnection(){if(this.isDisposed){return}if(this.session.connectionStatus!=="connected"){return}this.title.label=this._trans.__("Terminal %1",this.session.name);this._setSessionSize();if(this._options.initialCommand){this.session.send({type:"stdin",content:[this._options.initialCommand+"\r"]})}this.session.connectionStatusChanged.disconnect(this._initialConnection,this)}_initializeTerm(){const e=this._term;e.onData((e=>{if(this.isDisposed){return}this.session.send({type:"stdin",content:[e]})}));e.onTitleChange((e=>{this.title.label=e}));if(a.Platform.IS_MAC){return}e.attachCustomKeyEventHandler((t=>{if(t.ctrlKey&&t.key==="c"&&e.hasSelection()){return false}if(t.ctrlKey&&t.key==="v"&&this._options.pasteWithCtrlV){return false}return true}))}_onMessage(e,t){switch(t.type){case"stdout":if(t.content){this._term.write(t.content[0])}break;case"disconnect":this._term.write("\r\n\r\n[Finished… Term Session]\r\n");break;default:break}}_resizeTerminal(){if(this._options.autoFit){this._fitAddon.fit()}if(this._offsetWidth===-1){this._offsetWidth=this.node.offsetWidth}if(this._offsetHeight===-1){this._offsetHeight=this.node.offsetHeight}this._setSessionSize();this._needsResize=false}_setSessionSize(){const e=[this._term.rows,this._term.cols,this._offsetHeight,this._offsetWidth];if(!this.isDisposed){this.session.send({type:"set_size",content:e})}}_setThemeAttribute(e){if(this.isDisposed){return}this.node.setAttribute("data-term-theme",e?e.toLowerCase():"inherit")}}var f;(function(e){e.id=0;e.lightTheme={foreground:"#000",background:"#fff",cursor:"#616161",cursorAccent:"#F5F5F5",selectionBackground:"rgba(97, 97, 97, 0.3)",selectionInactiveBackground:"rgba(189, 189, 189, 0.3)",activeMatchBackground:"#ffee58"};e.darkTheme={foreground:"#fff",background:"#000",cursor:"#fff",cursorAccent:"#000",selectionBackground:"rgba(255, 255, 255, 0.3)",selectionInactiveBackground:"rgba(238, 238, 238, 0.3)",activeMatchBackground:"#F57F17"};e.inheritTheme=()=>{const e=getComputedStyle(document.body);const t=e.getPropertyValue("--jp-layout-color0").trim();let n="#ffee58";try{if(u()(t).isDark()){n="#F57F17"}}catch(i){}return{foreground:e.getPropertyValue("--jp-ui-font-color0").trim(),background:t,cursor:e.getPropertyValue("--jp-ui-font-color1").trim(),cursorAccent:e.getPropertyValue("--jp-ui-inverse-font-color0").trim(),selectionBackground:e.getPropertyValue("--jp-layout-color3").trim(),selectionInactiveBackground:e.getPropertyValue("--jp-layout-color2").trim(),activeMatchBackground:n}};function t(t){switch(t){case"light":return e.lightTheme;case"dark":return e.darkTheme;case"inherit":default:return e.inheritTheme()}}e.getXTermTheme=t})(f||(f={}));(function(e){let t=false;let i;let s;let o;let r;let a;function l(){const e=document.createElement("canvas");const t=e.getContext("webgl")||e.getContext("experimental-webgl");try{return t instanceof WebGLRenderingContext}catch(n){return false}}function d(e){let n=new a;e.loadAddon(n);if(t){n.onContextLoss((t=>{console.debug("WebGL context lost - reinitialize Xtermjs renderer.");n.dispose();d(e)}))}}async function c(e){var c;if(!i){t=l();const[e,d,h,u,p]=await Promise.all([n.e(7856).then(n.t.bind(n,97856,23)),n.e(3616).then(n.t.bind(n,33616,23)),t?n.e(3799).then(n.t.bind(n,56180,23)):n.e(2880).then(n.t.bind(n,52880,23)),n.e(1832).then(n.t.bind(n,31832,23)),n.e(9938).then(n.t.bind(n,79938,23))]);i=e.Terminal;s=d.FitAddon;a=(c=h.WebglAddon)!==null&&c!==void 0?c:h.CanvasAddon;o=u.WebLinksAddon;r=p.SearchAddon}const h=new i(e);d(h);const u=new s;h.loadAddon(u);const p=new r;h.loadAddon(new o);h.loadAddon(p);return[h,u,p]}e.createTerminal=c})(f||(f={}))},10020:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>l});var i=n(38850);var s=n.n(i);var o=n(34881);var r=n.n(o);const a={id:"@jupyterlab/theme-dark-extension:plugin",description:"Adds a dark theme.",requires:[i.IThemeManager,o.ITranslator],activate:(e,t,n)=>{const i=n.load("jupyterlab");const s="@jupyterlab/theme-dark-extension/index.css";t.register({name:"JupyterLab Dark",displayName:i.__("JupyterLab Dark"),isLight:false,themeScrollbars:true,load:()=>t.loadCSS(s),unload:()=>Promise.resolve(undefined)})},autoStart:true};const l=a},5180:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>l});var i=n(38850);var s=n.n(i);var o=n(34881);var r=n.n(o);const a={id:"@jupyterlab/theme-dark-high-contrast-extension:plugin",description:"Adds a dark high contrast theme.",requires:[i.IThemeManager,o.ITranslator],activate:(e,t,n)=>{const i=n.load("jupyterlab");const s="@jupyterlab/theme-dark-high-contrast-extension/index.css";t.register({name:"JupyterLab Dark High Contrast",displayName:i.__("JupyterLab Dark High Contrast"),isLight:false,themeScrollbars:true,load:()=>t.loadCSS(s),unload:()=>Promise.resolve(undefined)})},autoStart:true};const l=a},84988:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>l});var i=n(38850);var s=n.n(i);var o=n(34881);var r=n.n(o);const a={id:"@jupyterlab/theme-light-extension:plugin",description:"Adds a light theme.",requires:[i.IThemeManager,o.ITranslator],activate:(e,t,n)=>{const i=n.load("jupyterlab");const s="@jupyterlab/theme-light-extension/index.css";t.register({name:"JupyterLab Light",displayName:i.__("JupyterLab Light"),isLight:true,themeScrollbars:false,load:()=>t.loadCSS(s),unload:()=>Promise.resolve(undefined)})},autoStart:true};const l=a},27866:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>v});var i=n(88617);var s=n.n(i);var o=n(40065);var r=n.n(o);var a=n(72011);var l=n.n(a);var d=n(34881);var c=n.n(d);var h=n(4073);var u=n.n(h);var p;(function(e){e.displayNumbering="toc:display-numbering";e.displayH1Numbering="toc:display-h1-numbering";e.displayOutputNumbering="toc:display-outputs-numbering";e.showPanel="toc:show-panel";e.toggleCollapse="toc:toggle-collapse"})(p||(p={}));async function m(e,t,n,i,s,o){const r=(n!==null&&n!==void 0?n:d.nullTranslator).load("jupyterlab");let l={...a.TableOfContents.defaultConfig};const c=new a.TableOfContentsPanel(n!==null&&n!==void 0?n:undefined);c.title.icon=h.tocIcon;c.title.caption=r.__("Table of Contents");c.id="table-of-contents";c.node.setAttribute("role","region");c.node.setAttribute("aria-label",r.__("Table of Contents section"));e.commands.addCommand(p.displayH1Numbering,{label:r.__("Show first-level heading number"),execute:()=>{if(c.model){c.model.setConfiguration({numberingH1:!c.model.configuration.numberingH1})}},isEnabled:()=>{var e,t;return(t=(e=c.model)===null||e===void 0?void 0:e.supportedOptions.includes("numberingH1"))!==null&&t!==void 0?t:false},isToggled:()=>{var e,t;return(t=(e=c.model)===null||e===void 0?void 0:e.configuration.numberingH1)!==null&&t!==void 0?t:false},describedBy:{args:{type:"object",properties:{}}}});e.commands.addCommand(p.displayNumbering,{label:r.__("Show heading number in the document"),icon:e=>e.toolbar?h.numberingIcon:undefined,execute:()=>{if(c.model){c.model.setConfiguration({numberHeaders:!c.model.configuration.numberHeaders});e.commands.notifyCommandChanged(p.displayNumbering)}},isEnabled:()=>{var e,t;return(t=(e=c.model)===null||e===void 0?void 0:e.supportedOptions.includes("numberHeaders"))!==null&&t!==void 0?t:false},isToggled:()=>{var e,t;return(t=(e=c.model)===null||e===void 0?void 0:e.configuration.numberHeaders)!==null&&t!==void 0?t:false},describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:r.__("Whether the command is called from toolbar")}}}}});e.commands.addCommand(p.displayOutputNumbering,{label:r.__("Show output headings"),execute:()=>{if(c.model){c.model.setConfiguration({includeOutput:!c.model.configuration.includeOutput})}},isEnabled:()=>{var e,t;return(t=(e=c.model)===null||e===void 0?void 0:e.supportedOptions.includes("includeOutput"))!==null&&t!==void 0?t:false},isToggled:()=>{var e,t;return(t=(e=c.model)===null||e===void 0?void 0:e.configuration.includeOutput)!==null&&t!==void 0?t:false},describedBy:{args:{type:"object",properties:{}}}});e.commands.addCommand(p.showPanel,{label:r.__("Table of Contents"),execute:()=>{e.shell.activateById(c.id)},describedBy:{args:{type:"object",properties:{}}}});function u(e){return e.headings.some((e=>{var t;return!((t=e.collapsed)!==null&&t!==void 0?t:false)}))}e.commands.addCommand(p.toggleCollapse,{label:()=>c.model&&!u(c.model)?r.__("Expand All Headings"):r.__("Collapse All Headings"),icon:e=>e.toolbar?c.model&&!u(c.model)?h.expandAllIcon:h.collapseAllIcon:undefined,execute:()=>{if(c.model){if(u(c.model)){c.model.toggleCollapse({collapsed:true})}else{c.model.toggleCollapse({collapsed:false})}}},isEnabled:()=>c.model!==null,describedBy:{args:{type:"object",properties:{toolbar:{type:"boolean",description:r.__("Whether the command is called from toolbar")}}}}});const m=new a.TableOfContentsTracker;if(i){i.add(c,"@jupyterlab/toc:plugin")}let f;if(o){try{f=await o.load(g.id);const t=t=>{const n=t.composite;for(const e of[...Object.keys(l)]){const t=n[e];if(t!==undefined){l[e]=t}}if(s){for(const e of s.widgets("main")){const t=m.get(e);if(t){t.setConfiguration(l)}}}else{if(e.shell.currentWidget){const t=m.get(e.shell.currentWidget);if(t){t.setConfiguration(l)}}}};if(f){f.changed.connect(t);t(f)}}catch(x){console.error(`Failed to load settings for the Table of Contents extension.\n\n${x}`)}}const v=new h.CommandToolbarButton({commands:e.commands,id:p.displayNumbering,args:{toolbar:true},label:""});v.addClass("jp-toc-numberingButton");c.toolbar.node.setAttribute("aria-label",r.__("Table of contents sidepanel toolbar"));c.toolbar.addItem("display-numbering",v);c.toolbar.addItem("spacer",h.Toolbar.createSpacerItem());c.toolbar.addItem("collapse-all",new h.CommandToolbarButton({commands:e.commands,id:p.toggleCollapse,args:{toolbar:true},label:""}));const _=new h.MenuSvg({commands:e.commands});_.addItem({command:p.displayH1Numbering});_.addItem({command:p.displayOutputNumbering});const b=new h.ToolbarButton({tooltip:r.__("More actions…"),icon:h.ellipsesIcon,noFocusOnClick:false,onClick:()=>{const e=b.node.getBoundingClientRect();_.open(e.x,e.bottom)}});c.toolbar.addItem("submenu",b);e.shell.add(c,"left",{rank:400,type:"Table of Contents"});if(s){s.currentChanged.connect(y)}void e.restored.then((()=>{y()}));return m;function y(){var n;let i=e.shell.currentWidget;if(!i){return}let s=m.get(i);if(!s){s=(n=t.getModel(i,l))!==null&&n!==void 0?n:null;if(s){m.add(i,s)}i.disposed.connect((()=>{s===null||s===void 0?void 0:s.dispose()}))}if(c.model){c.model.headingsChanged.disconnect(C);c.model.collapseChanged.disconnect(C)}c.model=s;if(c.model){c.model.headingsChanged.connect(C);c.model.collapseChanged.connect(C)}w()}function w(){e.commands.notifyCommandChanged(p.displayNumbering);e.commands.notifyCommandChanged(p.toggleCollapse)}function C(){e.commands.notifyCommandChanged(p.toggleCollapse)}}const g={id:"@jupyterlab/toc-extension:registry",description:"Provides the table of contents registry.",autoStart:true,provides:a.ITableOfContentsRegistry,activate:()=>new a.TableOfContentsRegistry};const f={id:"@jupyterlab/toc-extension:tracker",description:"Adds the table of content widget and provides its tracker.",autoStart:true,provides:a.ITableOfContentsTracker,requires:[a.ITableOfContentsRegistry],optional:[d.ITranslator,i.ILayoutRestorer,i.ILabShell,o.ISettingRegistry],activate:m};const v=[g,f]},31747:(e,t,n)=>{"use strict";var i=n(40662);var s=n(3579);var o=n(66731);var r=n(85072);var a=n.n(r);var l=n(97825);var d=n.n(l);var c=n(77659);var h=n.n(c);var u=n(55056);var p=n.n(u);var m=n(10540);var g=n.n(m);var f=n(41113);var v=n.n(f);var _=n(38026);var b={};b.styleTagTransform=v();b.setAttributes=p();b.insert=h().bind(null,"head");b.domAPI=d();b.insertStyleElement=g();var y=a()(_.A,b);const w=_.A&&_.A.locals?_.A.locals:undefined},49830:(e,t,n)=>{"use strict";n.r(t);n.d(t,{ITableOfContentsRegistry:()=>h,ITableOfContentsTracker:()=>u,TableOfContents:()=>p,TableOfContentsFactory:()=>a,TableOfContentsItem:()=>_,TableOfContentsModel:()=>m,TableOfContentsPanel:()=>w,TableOfContentsRegistry:()=>S,TableOfContentsTracker:()=>j,TableOfContentsTree:()=>b,TableOfContentsUtils:()=>s,TableOfContentsWidget:()=>y});var i={};n.r(i);n.d(i,{getHeadingId:()=>N,getHeadings:()=>O,isMarkdown:()=>W,parseHeadings:()=>B});var s={};n.r(s);n.d(s,{Markdown:()=>i,NUMBERING_CLASS:()=>k,addPrefix:()=>M,clearNumbering:()=>P,filterHeadings:()=>I,getHTMLHeadings:()=>E,getPrefix:()=>D,isHTML:()=>T});var o=n(40959);const r=200;class a{constructor(e){this.tracker=e}isApplicable(e){if(!this.tracker.has(e)){return false}return true}createNew(e,t){const n=this._createNew(e,t);const i=e.context;const s=()=>{n.refresh().catch((e=>{console.error("Failed to update the table of contents.",e)}))};const a=new o.ActivityMonitor({signal:i.model.contentChanged,timeout:r});a.activityStopped.connect(s);const l=()=>{n.title=o.PathExt.basename(i.localPath)};i.pathChanged.connect(l);i.ready.then((()=>{l();s()})).catch((e=>{console.error(`Failed to initiate headings for ${i.localPath}.`)}));e.disposed.connect((()=>{a.activityStopped.disconnect(s);i.pathChanged.disconnect(l)}));return n}}var l=n(4073);var d=n(5592);var c=n(2336);const h=new d.Token("@jupyterlab/toc:ITableOfContentsRegistry","A service to register table of content factory.");const u=new d.Token("@jupyterlab/toc:ITableOfContentsTracker","A widget tracker for table of contents.");var p;(function(e){e.defaultConfig={baseNumbering:1,maximalDepth:4,numberingH1:true,numberHeaders:false,includeOutput:true,syncCollapseState:false}})(p||(p={}));class m extends l.VDomModel{constructor(e,t){super();this.widget=e;this._activeHeading=null;this._activeHeadingChanged=new c.Signal(this);this._collapseChanged=new c.Signal(this);this._configuration=t!==null&&t!==void 0?t:{...p.defaultConfig};this._headings=new Array;this._headingsChanged=new c.Signal(this);this._isActive=false;this._isRefreshing=false;this._needsRefreshing=false}get activeHeading(){return this._activeHeading}get activeHeadingChanged(){return this._activeHeadingChanged}get collapseChanged(){return this._collapseChanged}get configuration(){return this._configuration}get headings(){return this._headings}get headingsChanged(){return this._headingsChanged}get isActive(){return this._isActive}set isActive(e){this._isActive=e;if(this._isActive&&!this.isAlwaysActive){this.refresh().catch((e=>{console.error("Failed to refresh ToC model.",e)}))}}get isAlwaysActive(){return false}get supportedOptions(){return["maximalDepth"]}get title(){return this._title}set title(e){if(e!==this._title){this._title=e;this.stateChanged.emit()}}async refresh(){if(this._isRefreshing){this._needsRefreshing=true;return Promise.resolve()}this._isRefreshing=true;try{const e=await this.getHeadings();if(this._needsRefreshing){this._needsRefreshing=false;this._isRefreshing=false;return this.refresh()}if(e&&!this._areHeadingsEqual(e,this._headings)){this._headings=e;this.stateChanged.emit();this._headingsChanged.emit()}}finally{this._isRefreshing=false}}setActiveHeading(e,t=true){if(this._activeHeading!==e){this._activeHeading=e;this.stateChanged.emit()}if(t){this._activeHeadingChanged.emit(this._activeHeading)}}setConfiguration(e){const t={...this._configuration,...e};if(!d.JSONExt.deepEqual(this._configuration,t)){this._configuration=t;this.refresh().catch((e=>{console.error("Failed to update the table of contents.",e)}))}}toggleCollapse(e){var t,n;if(e.heading){e.heading.collapsed=(t=e.collapsed)!==null&&t!==void 0?t:!e.heading.collapsed;this.stateChanged.emit();this._collapseChanged.emit(e.heading)}else{const t=(n=e.collapsed)!==null&&n!==void 0?n:!this.headings.some((e=>{var t;return!((t=e.collapsed)!==null&&t!==void 0?t:false)}));this.headings.forEach((e=>e.collapsed=t));this.stateChanged.emit();this._collapseChanged.emit(null)}}isHeadingEqual(e,t){return e.level===t.level&&e.text===t.text&&e.prefix===t.prefix}_areHeadingsEqual(e,t){if(e.length===t.length){for(let n=0;n<e.length;n++){if(!this.isHeadingEqual(e[n],t[n])){return false}}return true}return false}}var g=n(27518);var f=n(44914);var v=n(54158);class _ extends f.PureComponent{render(){const{children:e,isActive:t,heading:n,onCollapse:i,onMouseDown:s}=this.props;const o=e=>{if(!e.defaultPrevented&&e.target.expanded!==!n.collapsed){e.preventDefault();i(n)}};return f.createElement(v.TreeItem,{className:"jp-tocItem jp-TreeItem nested",selected:t,expanded:!n.collapsed,onExpand:o,onMouseDown:e=>{if(!e.defaultPrevented){e.preventDefault();s(n)}},onKeyUp:e=>{if(!e.defaultPrevented&&e.key==="Enter"&&!t){e.preventDefault();s(n)}}},f.createElement("div",{className:"jp-tocItem-heading"},f.createElement("span",{className:"jp-tocItem-content",title:n.text,...n.dataset},n.prefix,n.text)),e)}}class b extends f.PureComponent{render(){const{documentType:e}=this.props;return f.createElement(v.TreeView,{className:"jp-TableOfContents-content jp-TreeView","data-document-type":e},this.buildTree())}buildTree(){if(this.props.headings.length===0){return[]}const e=t=>{const n=this.props.headings;const i=new Array;const s=n[t];let o=t+1;while(o<n.length){const t=n[o];if(t.level<=s.level){break}const[r,a]=e(o);i.push(r);o=a}const r=f.createElement(_,{key:`${s.level}-${t}-${s.text}`,isActive:!!this.props.activeHeading&&s===this.props.activeHeading,heading:s,onMouseDown:this.props.setActiveHeading,onCollapse:this.props.onCollapseChange},i.length?i:null);return[r,o]};const t=new Array;let n=0;while(n<this.props.headings.length){const[i,s]=e(n);t.push(i);n=s}return t}}class y extends l.VDomRenderer{constructor(e){super(e.model);this._placeholderHeadline=e.placeholderHeadline;this._placeholderText=e.placeholderText}render(){if(!this.model||this.model.headings.length===0){return f.createElement("div",{className:"jp-TableOfContents-placeholder"},f.createElement("div",{className:"jp-TableOfContents-placeholderContent"},f.createElement("h3",null,this._placeholderHeadline),f.createElement("p",null,this._placeholderText)))}return f.createElement(b,{activeHeading:this.model.activeHeading,documentType:this.model.documentType,headings:this.model.headings,onCollapseChange:e=>{this.model.toggleCollapse({heading:e})},setActiveHeading:e=>{this.model.setActiveHeading(e)}})}}class w extends l.SidePanel{constructor(e){super({content:new g.Panel,translator:e});this._model=null;this.addClass("jp-TableOfContents");this._title=new C.Header(this._trans.__("Table of Contents"));this.header.addWidget(this._title);this._treeview=new y({placeholderHeadline:this._trans.__("No Headings"),placeholderText:this._trans.__("The table of contents shows headings in notebooks and supported files.")});this._treeview.addClass("jp-TableOfContents-tree");this.content.addWidget(this._treeview)}get model(){return this._model}set model(e){var t,n;if(this._model!==e){(t=this._model)===null||t===void 0?void 0:t.stateChanged.disconnect(this._onTitleChanged,this);this._model=e;if(this._model){this._model.isActive=this.isVisible}(n=this._model)===null||n===void 0?void 0:n.stateChanged.connect(this._onTitleChanged,this);this._onTitleChanged();this._treeview.model=this._model}}onAfterHide(e){super.onAfterHide(e);if(this._model){this._model.isActive=false}}onBeforeShow(e){super.onBeforeShow(e);if(this._model){this._model.isActive=true}}_onTitleChanged(){var e,t;this._title.setTitle((t=(e=this._model)===null||e===void 0?void 0:e.title)!==null&&t!==void 0?t:this._trans.__("Table of Contents"))}}var C;(function(e){class t extends g.Widget{constructor(e){const t=document.createElement("h2");t.textContent=e;t.classList.add("jp-text-truncated");super({node:t});this._title=t}setTitle(e){this._title.textContent=e}}e.Header=t})(C||(C={}));var x=n(90044);class S{constructor(){this._generators=new Map;this._idCounter=0}getModel(e,t){for(const n of this._generators.values()){if(n.isApplicable(e)){return n.createNew(e,t)}}}add(e){const t=this._idCounter++;this._generators.set(t,e);return new x.DisposableDelegate((()=>{this._generators.delete(t)}))}}class j{constructor(){this.modelMapping=new WeakMap}add(e,t){this.modelMapping.set(e,t)}get(e){const t=this.modelMapping.get(e);return!t||t.isDisposed?null:t}}const k="numbering-entry";function I(e,t,n=[]){const i={...p.defaultConfig,...t};const s=n;let o=s.length;const r=new Array;for(const a of e){if(a.skip){continue}const e=a.level;if(e>0&&e<=i.maximalDepth){const t=D(e,o,s,i);o=e;r.push({...a,prefix:t})}}return r}function T(e){return e==="text/html"}function E(e,t=true){var n;const i=document.createElement("div");i.innerHTML=e;const s=new Array;const o=i.querySelectorAll("h1, h2, h3, h4, h5, h6");for(const r of o){const e=parseInt(r.tagName[1],10);s.push({text:(n=r.textContent)!==null&&n!==void 0?n:"",level:e,id:r===null||r===void 0?void 0:r.getAttribute("id"),skip:r.classList.contains("jp-toc-ignore")||r.classList.contains("tocSkip")})}return s}function M(e,t,n){let i=e.querySelector(t);if(!i){return null}if(!i.querySelector(`span.${k}`)){A(i,n)}else{const s=e.querySelectorAll(t);for(const e of s){if(!e.querySelector(`span.${k}`)){i=e;A(e,n);break}}}return i}function D(e,t,n,i){const{baseNumbering:s,numberingH1:o,numberHeaders:r}=i;let a="";if(r){const i=o?1:2;if(e>t){for(let i=t;i<e-1;i++){n[i]=0}n[e-1]=e===i?s:1}else{n[e-1]+=1;if(e<t){n.splice(e)}}if(o){a=n.map((e=>e!==null&&e!==void 0?e:0)).join(".")+". "}else{if(n.length>1){a=n.slice(1).map((e=>e!==null&&e!==void 0?e:0)).join(".")+". "}}}return a}function A(e,t){e.insertAdjacentHTML("afterbegin",`<span class="${k}">${t}</span>`)}function P(e){e===null||e===void 0?void 0:e.querySelectorAll(`span.${k}`).forEach((e=>{e.remove()}))}var L=n(38850);var R=n(95513);async function N(e,t,n,i){try{const s=document.createElement("div");await(0,R.renderMarkdown)({markdownParser:e,host:s,source:t,trusted:false,sanitizer:i!==null&&i!==void 0?i:new L.Sanitizer,shouldTypeset:false,resolver:null,linkHandler:null,latexTypesetter:null});const o=s.querySelector(`h${n}`);if(!o){return null}return(i===null||i===void 0?void 0:i.allowNamedProperties)?o.id:o.getAttribute("data-jupyter-id")}catch(s){console.error("Failed to parse a heading.",s)}return null}async function B(e,t){if(!t){console.warn("Couldn't parse headings; Markdown parser is null");return[]}const n=await t.render(e);const i=new Array;const s=new DOMParser;const o=s.parseFromString(n,"text/html");const r=o.querySelectorAll("h1, h2, h3, h4, h5, h6");r.forEach(((e,t)=>{var n;const s=parseInt(e.tagName.substring(1),10);const o=((n=e.textContent)===null||n===void 0?void 0:n.trim())||"";i.push({text:o,line:t,level:s,raw:e.outerHTML,skip:U.test(e.outerHTML)})}));return i}function O(e){const t=e.split("\n");const n=new Array;let i;let s=0;let o;let r=0;if(t[r]==="---"){for(let e=r+1;e<t.length;e++){if(t[e]==="---"){r=e+1;break}}}for(;r<t.length;r++){const e=t[r];if(e===""){continue}if(e.startsWith("```")||e.startsWith("~~~")){const t=F(e);if(t===0)continue;if(s===0){o=e.charAt(0);i=!i;s=t;continue}else if(o===e.charAt(0)&&t>=s){i=!i;s=0;o=""}}if(i){continue}const a=H(e,t[r+1]);if(a){n.push({...a,line:r})}}return n}function F(e){let t;if(e.startsWith("`"))t=e.match(/^(`{3,})/);else t=e.match(/^(~{3,})/);return t?t[0].length:0}const z=["text/x-ipythongfm","text/x-markdown","text/x-gfm","text/markdown"];function W(e){return z.includes(e)}function H(e,t){let n=e.match(/^([#]{1,6}) (.*)/);if(n){return{text:V(n[2]),level:n[1].length,raw:e,skip:U.test(n[0])}}if(t){n=t.match(/^ {0,3}([=]{2,}|[-]{2,})\s*$/);if(n){return{text:V(e),level:n[1][0]==="="?1:2,raw:[e,t].join("\n"),skip:U.test(e)}}}n=e.match(/<h([1-6]).*>(.*)<\/h\1>/i);if(n){return{text:n[2],level:parseInt(n[1],10),skip:U.test(n[0]),raw:e}}return null}function V(e){return e.replace(/\[(.+)\]\(.+\)/g,"$1")}const U=/<\w+\s(.*?\s)?class="(.*?\s)?(jp-toc-ignore|tocSkip)(\s.*?)?"(\s.*?)?>/},66731:(e,t,n)=>{"use strict";var i=n(10395);var s=n(40662);var o=n(97913);var r=n(5893);var a=n(79010);var l=n(85072);var d=n.n(l);var c=n(97825);var h=n.n(c);var u=n(77659);var p=n.n(u);var m=n(55056);var g=n.n(m);var f=n(10540);var v=n.n(f);var _=n(41113);var b=n.n(_);var y=n(75682);var w={};w.styleTagTransform=b();w.setAttributes=g();w.insert=p().bind(null,"head");w.domAPI=h();w.insertStyleElement=v();var C=d()(y.A,w);const x=y.A&&y.A.locals?y.A.locals:undefined},77083:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>I});var i=n(59733);var s=n.n(i);var o=n(40959);var r=n.n(o);var a=n(50655);var l=n.n(a);var d=n(74823);var c=n.n(d);var h=n(95513);var u=n.n(h);var p=n(58929);var m=n.n(p);var g=n(34881);var f=n.n(g);var v=n(34236);var _=n.n(v);var b=n(27518);var y=n.n(b);var w;(function(e){e.dismiss="tooltip:dismiss";e.launchConsole="tooltip:launch-console";e.launchNotebook="tooltip:launch-notebook";e.launchFile="tooltip:launch-file"})(w||(w={}));const C={id:"@jupyterlab/tooltip-extension:manager",description:"Provides the tooltip manager.",autoStart:true,optional:[g.ITranslator],provides:p.ITooltipManager,activate:(e,t)=>{const n=(t!==null&&t!==void 0?t:g.nullTranslator).load("jupyterlab");let i=null;e.commands.addCommand(w.dismiss,{label:n.__("Dismiss the tooltip"),execute:()=>{if(i){i.dispose();i=null}},describedBy:{args:{type:"object",properties:{}}}});return{invoke(e){const t=0;const{anchor:n,editor:s,kernel:o,rendermime:r}=e;if(i){i.dispose();i=null}return T.fetch({detail:t,editor:s,kernel:o}).then((e=>{i=new p.Tooltip({anchor:n,bundle:e,editor:s,rendermime:r});b.Widget.attach(i,document.body)})).catch((()=>{}))}}}};const x={id:"@jupyterlab/tooltip-extension:consoles",description:"Adds the tooltip capability to consoles.",autoStart:true,optional:[g.ITranslator],requires:[p.ITooltipManager,i.IConsoleTracker],activate:(e,t,n,i)=>{const s=(i!==null&&i!==void 0?i:g.nullTranslator).load("jupyterlab");e.commands.addCommand(w.launchConsole,{label:s.__("Open the tooltip"),execute:()=>{var e,i;const s=n.currentWidget;if(!s){return}const o=s.console;const r=(e=o.promptCell)===null||e===void 0?void 0:e.editor;const a=(i=o.sessionContext.session)===null||i===void 0?void 0:i.kernel;const l=o.rendermime;if(!!r&&!!a&&!!l){return t.invoke({anchor:o,editor:r,kernel:a,rendermime:l})}},describedBy:{args:{type:"object",properties:{}}}})}};const S={id:"@jupyterlab/tooltip-extension:notebooks",description:"Adds the tooltip capability to notebooks.",autoStart:true,optional:[g.ITranslator],requires:[p.ITooltipManager,d.INotebookTracker],activate:(e,t,n,i)=>{const s=(i!==null&&i!==void 0?i:g.nullTranslator).load("jupyterlab");e.commands.addCommand(w.launchNotebook,{label:s.__("Open the tooltip"),execute:()=>{var e,i;const s=n.currentWidget;if(!s){return}const o=s.content;const r=(e=o.activeCell)===null||e===void 0?void 0:e.editor;const a=(i=s.sessionContext.session)===null||i===void 0?void 0:i.kernel;const l=o.rendermime;if(!!r&&!!a&&!!l){return t.invoke({anchor:o,editor:r,kernel:a,rendermime:l})}},describedBy:{args:{type:"object",properties:{}}}})}};const j={id:"@jupyterlab/tooltip-extension:files",description:"Adds the tooltip capability to file editors.",autoStart:true,optional:[g.ITranslator],requires:[p.ITooltipManager,a.IEditorTracker,h.IRenderMimeRegistry],activate:(e,t,n,i,s)=>{const o=(s!==null&&s!==void 0?s:g.nullTranslator).load("jupyterlab");const r={};const a=e.serviceManager.sessions;const l=(e,t)=>{n.forEach((e=>{const n=(0,v.find)(t,(t=>e.context.path===t.path));if(n){const t=r[e.id];if(t&&t.id===n.id){return}if(t){delete r[e.id];t.dispose()}const i=a.connectTo({model:n});r[e.id]=i}else{const t=r[e.id];if(t){t.dispose();delete r[e.id]}}}))};l(a,a.running());a.runningChanged.connect(l);n.widgetAdded.connect(((e,t)=>{t.disposed.connect((e=>{const t=r[e.id];if(t){t.dispose();delete r[e.id]}}))}));e.commands.addCommand(w.launchFile,{label:o.__("Open the tooltip"),execute:async()=>{const e=n.currentWidget;const s=e&&r[e.id]&&r[e.id].kernel;if(!s){return}const o=e.content;const a=o===null||o===void 0?void 0:o.editor;if(!!a&&!!s&&!!i){return t.invoke({anchor:o,editor:a,kernel:s,rendermime:i})}},describedBy:{args:{type:"object",properties:{}}}})}};const k=[C,x,S,j];const I=k;var T;(function(e){let t=0;function n(e){const{detail:n,editor:i,kernel:s}=e;const r=i.model.sharedModel.getSource();const a=i.getCursorPosition();const l=o.Text.jsIndexToCharIndex(i.getOffsetAt(a),r);if(!r||!s){return Promise.reject(void 0)}const d={code:r,cursor_pos:l,detail_level:n||0};const c=++t;return s.requestInspect(d).then((e=>{const n=e.content;if(c!==t){return Promise.reject(void 0)}if(n.status!=="ok"||!n.found){return Promise.reject(void 0)}return Promise.resolve(n.data)}))}e.fetch=n})(T||(T={}))},95527:(e,t,n)=>{"use strict";var i=n(10395);var s=n(17325);var o=n(5893);var r=n(3579);var a=n(50286);var l=n(77748);var d=n(28006);var c=n(40662);var h=n(85072);var u=n.n(h);var p=n(97825);var m=n.n(p);var g=n(77659);var f=n.n(g);var v=n(55056);var _=n.n(v);var b=n(10540);var y=n.n(b);var w=n(41113);var C=n.n(w);var x=n(69231);var S={};S.styleTagTransform=C();S.setAttributes=_();S.insert=f().bind(null,"head");S.domAPI=m();S.insertStyleElement=y();var j=u()(x.A,S);const k=x.A&&x.A.locals?x.A.locals:undefined},22087:(e,t,n)=>{"use strict";n.r(t);n.d(t,{ITooltipManager:()=>s,Tooltip:()=>m});var i=n(5592);const s=new i.Token("@jupyterlab/tooltip:ITooltipManager","A service for the tooltip manager for the application. Use this to allow your extension to invoke a tooltip.");var o=n(4073);var r=n(95513);var a=n(27518);const l="jp-Tooltip";const d="jp-Tooltip-content";const c="jp-mod-tooltip";const h=20;const u=250;const p=true;class m extends a.Widget{constructor(e){super();this._content=null;this.addClass("jp-ThemedContainer");const t=this.layout=new a.PanelLayout;const n=new r.MimeModel({data:e.bundle});this.anchor=e.anchor;this.addClass(l);this.hide();this._editor=e.editor;this._position=e.position;this._rendermime=e.rendermime;const i=this._rendermime.preferredMimeType(e.bundle,"any");if(!i){return}this._content=this._rendermime.createRenderer(i);this._content.renderModel(n).then((()=>this._setGeometry())).catch((e=>console.error("tooltip rendering failed",e)));this._content.addClass(d);t.addWidget(this._content)}dispose(){if(this._content){this._content.dispose();this._content=null}super.dispose()}handleEvent(e){if(this.isHidden||this.isDisposed){return}const{node:t}=this;const n=e.target;switch(e.type){case"keydown":if(t.contains(n)){return}this.dispose();break;case"mousedown":if(t.contains(n)){this.activate();return}this.dispose();break;case"scroll":this._evtScroll(e);break;default:break}}onActivateRequest(e){this.node.tabIndex=0;this.node.focus()}onAfterAttach(e){document.body.classList.add(c);document.addEventListener("keydown",this,p);document.addEventListener("mousedown",this,p);this.anchor.node.addEventListener("scroll",this,p);this.update()}onBeforeDetach(e){document.body.classList.remove(c);document.removeEventListener("keydown",this,p);document.removeEventListener("mousedown",this,p);this.anchor.node.removeEventListener("scroll",this,p)}onUpdateRequest(e){if(this.isHidden){this.show()}this._setGeometry();super.onUpdateRequest(e)}_evtScroll(e){if(this.node.contains(e.target)){return}this.update()}_getTokenPosition(){const e=this._editor;const t=e.getCursorPosition();const n=e.getOffsetAt(t);const i=e.getLine(t.line);if(!i){return}const s=i.substring(0,n).split(/\W+/);const o=s[s.length-1];const r=o?n-o.length:n;return e.getPositionAt(r)}_setGeometry(){const e=this._position?this._position:this._getTokenPosition();if(!e){return}const t=this._editor;const n=t.getCoordinateForPosition(e);if(!n){return}const i=window.getComputedStyle(this.node);const s=parseInt(i.paddingLeft,10)||0;const r=t.host.closest(".jp-MainAreaWidget > .lm-Widget")||t.host;o.HoverBox.setGeometry({anchor:n,host:r,maxHeight:u,minHeight:h,node:this.node,offset:{horizontal:-1*s},privilege:"below",outOfViewDisplay:{top:"stick-inside",bottom:"stick-inside"},style:i})}}},30963:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>_});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(89433);var l=n.n(a);var d=n(40065);var c=n.n(d);var h=n(34881);var u=n.n(h);const p="@jupyterlab/translation-extension:plugin";const m={id:"@jupyterlab/translation-extension:translator-connector",description:"Provides the application translation connector.",autoStart:true,requires:[i.JupyterFrontEnd.IPaths],provides:h.ITranslatorConnector,activate:(e,t)=>{const n=t.urls.translations;const i=e.serviceManager.serverSettings;return new h.TranslatorConnector(n,i)}};const g={id:"@jupyterlab/translation-extension:translator",description:"Provides the application translation object.",autoStart:true,requires:[i.JupyterFrontEnd.IPaths,d.ISettingRegistry],optional:[i.ILabShell,h.ITranslatorConnector],provides:h.ITranslator,activate:async(e,t,n,i,s)=>{const r=await n.load(p);const a=r.get("locale").composite;let l=r.get("stringsPrefix").composite;const d=r.get("displayStringsPrefix").composite;l=d?l:"";const c=e.serviceManager.serverSettings;const u=new h.TranslationManager(t.urls.translations,l,c,s!==null&&s!==void 0?s:undefined);await u.fetch(a);document.documentElement.lang=u.languageCode;if(i){i.translator=u}o.Dialog.translator=u;return u}};const f={id:p,description:"Adds translation commands and settings.",requires:[d.ISettingRegistry,h.ITranslator,h.ITranslatorConnector],optional:[a.IMainMenu,o.ICommandPalette],autoStart:true,activate:(e,t,n,i,s,r)=>{var a;const l=n.load("jupyterlab");const{commands:d}=e;const c=s?(a=s.settingsMenu.items.find((e=>{var t;return e.type==="submenu"&&((t=e.submenu)===null||t===void 0?void 0:t.id)==="jp-mainmenu-settings-language"})))===null||a===void 0?void 0:a.submenu:null;i.fetch().then((e=>{const i=n.languageCode.replace("-","_");for(const n in e.data){const s=e.data[n];const a=s.displayName;const h=s.nativeName;const u=i===n;const m=u?`${a}`:`${a} - ${h}`;const g=`jupyterlab-translation:${n}`;d.addCommand(g,{label:m,caption:l.__("Change interface language to %1",m),isEnabled:()=>!u,isToggled:()=>u,execute:async()=>{const e=await(0,o.showDialog)({title:l.__("Change interface language?"),body:l.__("After changing the interface language to %1, you will need to reload JupyterLab to see the changes.",m),buttons:[o.Dialog.cancelButton(),o.Dialog.okButton({label:l.__("Change and reload")})]});if(e.button.accept){try{await t.set(p,"locale",n);window.location.reload()}catch(i){console.error(`Failed to update language locale to ${n}`,i)}}},describedBy:{args:{type:"object",properties:{}}}});if(c){c.addItem({command:g,args:{}})}if(r){r.addItem({category:l.__("Display Languages"),command:g})}}})).catch((e=>{console.error(`Available locales errored!\n${e}`)}))}};const v=[m,g,f];const _=v},50277:(e,t,n)=>{"use strict";var i=n(97913);var s=n(3579);var o=n(67996)},6401:(e,t,n)=>{"use strict";n.r(t);n.d(t,{DEFAULT_LANGUAGE_CODE:()=>d,Gettext:()=>m,ITranslator:()=>u,ITranslatorConnector:()=>c,NullTranslator:()=>g,TranslationManager:()=>_,TranslatorConnector:()=>h,nullTranslator:()=>v,requestTranslationsAPI:()=>l});var i=n(78629);var s=n(5592);var o=n(40959);var r=n(49278);const a="api/translations";async function l(e="",t="",n={},i=undefined){const s=i!==null&&i!==void 0?i:r.ServerConnection.makeSettings();e=e||`${s.appUrl}/${a}`;const l=o.URLExt.join(s.baseUrl,e);const d=o.URLExt.join(l,t);if(!d.startsWith(l)){throw new Error("Can only be used for translations requests")}let c;try{c=await r.ServerConnection.makeRequest(d,n,s)}catch(u){throw new r.ServerConnection.NetworkError(u)}let h=await c.text();if(h.length>0){try{h=JSON.parse(h)}catch(u){console.error("Not a JSON response body.",c)}}if(!c.ok){throw new r.ServerConnection.ResponseError(c,h.message||h)}return h}const d="en";const c=new s.Token("@jupyterlab/translation:ITranslatorConnector","A service to connect to the server translation endpoint.");class h extends i.DataConnector{constructor(e="",t){super();this._translationsUrl=e;this._serverSettings=t}async fetch(e){var t;return l(this._translationsUrl,(t=e===null||e===void 0?void 0:e.language)!==null&&t!==void 0?t:"",{},this._serverSettings)}}const u=new s.Token("@jupyterlab/translation:ITranslator","A service to translate strings.");function p(e){return e.replace("-","_")}class m{constructor(e){e=e||{};this._defaults={domain:"messages",locale:document.documentElement.getAttribute("lang")||d,pluralFunc:function(e){return{nplurals:2,plural:e!=1?1:0}},contextDelimiter:String.fromCharCode(4),stringsPrefix:""};this._locale=(e.locale||this._defaults.locale).replace("_","-");this._domain=p(e.domain||this._defaults.domain);this._contextDelimiter=e.contextDelimiter||this._defaults.contextDelimiter;this._stringsPrefix=e.stringsPrefix||this._defaults.stringsPrefix;this._pluralFuncs={};this._dictionary={};this._pluralForms={};if(e.messages){this._dictionary[this._domain]={};this._dictionary[this._domain][this._locale]=e.messages}if(e.pluralForms){this._pluralForms[this._locale]=e.pluralForms}}setContextDelimiter(e){this._contextDelimiter=e}getContextDelimiter(){return this._contextDelimiter}setLocale(e){this._locale=e.replace("_","-")}getLocale(){return this._locale}setDomain(e){this._domain=p(e)}getDomain(){return this._domain}setStringsPrefix(e){this._stringsPrefix=e}getStringsPrefix(){return this._stringsPrefix}static strfmt(e,...t){return e.replace(/%%/g,"%% ").replace(/%(\d+)/g,(function(e,n){return t[n-1]})).replace(/%% /g,"%")}loadJSON(e,t){if(!e[""]||!e[""]["language"]||!e[""]["pluralForms"]){throw new Error(`Wrong jsonData, it must have an empty key ("") with "language" and "pluralForms" information: ${e}`)}t=p(t);let n=e[""];let i=JSON.parse(JSON.stringify(e));delete i[""];this.setMessages(t||this._defaults.domain,n["language"],i,n["pluralForms"])}__(e,...t){return this.gettext(e,...t)}_n(e,t,n,...i){return this.ngettext(e,t,n,...i)}_p(e,t,...n){return this.pgettext(e,t,...n)}_np(e,t,n,i,...s){return this.npgettext(e,t,n,i,...s)}gettext(e,...t){return this.dcnpgettext("","",e,"",0,...t)}ngettext(e,t,n,...i){return this.dcnpgettext("","",e,t,n,...i)}pgettext(e,t,...n){return this.dcnpgettext("",e,t,"",0,...n)}npgettext(e,t,n,i,...s){return this.dcnpgettext("",e,t,n,i,...s)}dcnpgettext(e,t,n,i,s,...o){e=p(e)||this._domain;let r;let a=t?t+this._contextDelimiter+n:n;let l={pluralForm:false};let d=false;let c=this._locale;let h=this.expandLocale(this._locale);for(let p in h){c=h[p];d=this._dictionary[e]&&this._dictionary[e][c]&&this._dictionary[e][c][a];if(i){d=d&&this._dictionary[e][c][a].length>1}else{d=d&&this._dictionary[e][c][a].length==1}if(d){l.locale=c;break}}if(!d){r=[n];l.pluralFunc=this._defaults.pluralFunc}else{r=this._dictionary[e][c][a]}if(!i){return this.t(r,s,l,...o)}l.pluralForm=true;let u=d?r:[n,i];return this.t(u,s,l,...o)}expandLocale(e){let t=[e];let n=e.lastIndexOf("-");while(n>0){e=e.slice(0,n);t.push(e);n=e.lastIndexOf("-")}return t}getPluralFunc(e){let t=new RegExp("^\\s*nplurals\\s*=\\s*[0-9]+\\s*;\\s*plural\\s*=\\s*(?:\\s|[-\\?\\|&=!<>+*/%:;n0-9_()])+");if(!t.test(e))throw new Error(m.strfmt('The plural form "%1" is not valid',e));return new Function("n","let plural, nplurals; "+e+" return { nplurals: nplurals, plural: (plural === true ? 1 : (plural ? plural : 0)) };")}removeContext(e){if(e.indexOf(this._contextDelimiter)!==-1){let t=e.split(this._contextDelimiter);return t[1]}return e}t(e,t,n,...i){if(!n.pluralForm)return this._stringsPrefix+m.strfmt(this.removeContext(e[0]),...i);let s;if(n.pluralFunc){s=n.pluralFunc(t)}else if(!this._pluralFuncs[n.locale||""]){this._pluralFuncs[n.locale||""]=this.getPluralFunc(this._pluralForms[n.locale||""]);s=this._pluralFuncs[n.locale||""](t)}else{s=this._pluralFuncs[n.locale||""](t)}if("undefined"===typeof!s.plural||s.plural>s.nplurals||e.length<=s.plural)s.plural=0;return this._stringsPrefix+m.strfmt(this.removeContext(e[s.plural]),...[t].concat(i))}setMessages(e,t,n,i){e=p(e);if(i)this._pluralForms[t]=i;if(!this._dictionary[e])this._dictionary[e]={};this._dictionary[e][t]=n}}class g{constructor(e){this.languageCode=d;this._languageBundle=e}load(e){return this._languageBundle}}class f{__(e,...t){return this.gettext(e,...t)}_n(e,t,n,...i){return this.ngettext(e,t,n,...i)}_p(e,t,...n){return this.pgettext(e,t,...n)}_np(e,t,n,i,...s){return this.npgettext(e,t,n,i,...s)}gettext(e,...t){return m.strfmt(e,...t)}ngettext(e,t,n,...i){return m.strfmt(n==1?e:t,...[n].concat(i))}pgettext(e,t,...n){return m.strfmt(t,...n)}npgettext(e,t,n,i,...s){return this.ngettext(t,n,i,...s)}dcnpgettext(e,t,n,i,s,...o){return this.ngettext(n,i,s,...o)}}const v=new g(new f);class _{constructor(e="",t,n,i){this._domainData={};this._translationBundles={};this._connector=i!==null&&i!==void 0?i:new h(e,n);this._stringsPrefix=t||"";this._englishBundle=new m({stringsPrefix:this._stringsPrefix});this._currentLocale=d}get languageCode(){return this._currentLocale}async fetch(e){var t,n,i,s;this._languageData=await this._connector.fetch({language:e});let o;if(this._languageData&&e==="default"){try{for(const e of Object.values((t=this._languageData.data)!==null&&t!==void 0?t:{})){o=e[""]["language"];break}}catch(a){}}this._currentLocale=(e!=="default"?e:o!==null&&o!==void 0?o:d).replace("_","-");this._domainData=(i=(n=this._languageData)===null||n===void 0?void 0:n.data)!==null&&i!==void 0?i:{};const r=(s=this._languageData)===null||s===void 0?void 0:s.message;if(r&&this._currentLocale!==d){console.warn(r)}}load(e){if(this._domainData){if(this._currentLocale==d){return this._englishBundle}else{e=p(e);if(!(e in this._translationBundles)){let t=new m({domain:e,locale:this._currentLocale,stringsPrefix:this._stringsPrefix});if(e in this._domainData){const n=this._domainData[e][""];const i={...this._domainData[e],"":{...n,pluralForms:n.plural_forms}};t.loadJSON(i,e)}this._translationBundles[e]=t}return this._translationBundles[e]}}else{return this._englishBundle}}}},85205:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>a});var i=n(4073);var s=n.n(i);const o={id:"@jupyterlab/ui-components-extension:labicon-manager",description:"Provides the icon manager.",provides:i.ILabIconManager,autoStart:true,activate:e=>Object.create(null)};const r={id:"@jupyterlab/ui-components-extension:form-renderer-registry",description:"Provides the settings form renderer registry.",provides:i.IFormRendererRegistry,autoStart:true,activate:e=>{const t=new i.FormRendererRegistry;return t}};const a=[o,r]},77767:(e,t,n)=>{"use strict";var i=n(40662);var s=n(3579)},23793:(e,t,n)=>{"use strict";n.r(t);n.d(t,{AddButton:()=>gs,Button:()=>u,Collapser:()=>ls,CommandPaletteSvg:()=>Eo,CommandToolbarButton:()=>to,CommandToolbarButtonComponent:()=>Zs,ContextMenuSvg:()=>Do,DEFAULT_STYLE_CLASS:()=>Cs,DEFAULT_UI_OPTIONS:()=>us,DockPanelSvg:()=>Lo,DropButton:()=>ms,FilenameSearcher:()=>ho,FilterBox:()=>lo,FormComponent:()=>ws,FormRendererRegistry:()=>Wo,HTMLSelect:()=>Ss,HTML_SELECT_CLASS:()=>xs,HoverBox:()=>Oo,IFormRendererRegistry:()=>Fo,IFrame:()=>js,ILabIconManager:()=>zo,IRankedMenu:()=>Ms,InputGroup:()=>Is,LabIcon:()=>C,MenuSvg:()=>Ao,MoveButton:()=>ps,PanelWithToolbar:()=>oo,RankedMenu:()=>Ds,ReactWidget:()=>Fs,ReactiveToolbar:()=>Gs,SidePanel:()=>mo,Spinner:()=>go,Styling:()=>fo,Switch:()=>_o,TABLE_CLASS:()=>bo,TabBarSvg:()=>Po,TabPanelSvg:()=>Ro,Table:()=>yo,Toolbar:()=>Js,ToolbarButton:()=>Qs,ToolbarButtonComponent:()=>Ys,UseSignal:()=>Ws,VDomModel:()=>Hs,VDomRenderer:()=>zs,WindowedLayout:()=>ko,WindowedList:()=>jo,WindowedListModel:()=>So,addAboveIcon:()=>zt,addBelowIcon:()=>Wt,addCommandToolbarButtonClass:()=>eo,addIcon:()=>Ht,addToolbarButtonClass:()=>Xs,audioIcon:()=>Vt,badIcon:()=>S,bellIcon:()=>Ut,blankIcon:()=>j,breakpointIcon:()=>qt,bugDotIcon:()=>$t,bugIcon:()=>Kt,buildIcon:()=>Jt,caretDownEmptyIcon:()=>Gt,caretDownEmptyThinIcon:()=>Yt,caretDownIcon:()=>Xt,caretLeftIcon:()=>Qt,caretRightIcon:()=>Zt,caretUpEmptyThinIcon:()=>en,caretUpIcon:()=>tn,caseSensitiveIcon:()=>nn,checkIcon:()=>sn,circleEmptyIcon:()=>on,circleIcon:()=>rn,classes:()=>a,classesDedupe:()=>l,cleaningIcon:()=>an,clearIcon:()=>ln,closeAllIcon:()=>dn,closeIcon:()=>cn,codeCheckIcon:()=>hn,codeIcon:()=>un,collapseAllIcon:()=>pn,collapseIcon:()=>mn,consoleIcon:()=>gn,copyIcon:()=>fn,copyrightIcon:()=>vn,cutIcon:()=>_n,deleteIcon:()=>bn,dockBottomIcon:()=>yn,dockLeftIcon:()=>wn,dockRightIcon:()=>Cn,dockTopIcon:()=>xn,dotsIcon:()=>Sn,downloadIcon:()=>jn,duplicateIcon:()=>kn,editIcon:()=>In,ellipsesIcon:()=>Tn,errorIcon:()=>En,exceptionsIcon:()=>Mn,expandAllIcon:()=>Dn,expandIcon:()=>An,extensionIcon:()=>Pn,fastForwardIcon:()=>Ln,fileIcon:()=>Rn,fileUploadIcon:()=>Nn,filterDotIcon:()=>Bn,filterIcon:()=>On,filterListIcon:()=>Fn,folderFavoriteIcon:()=>zn,folderIcon:()=>Wn,fuzzySearch:()=>ro,getReactAttrs:()=>d,getTreeItemElement:()=>h,historyIcon:()=>Hn,homeIcon:()=>Vn,html5Icon:()=>Un,imageIcon:()=>qn,infoIcon:()=>$n,inspectorIcon:()=>Kn,jsonIcon:()=>Jn,juliaIcon:()=>Gn,jupyterFaviconIcon:()=>Yn,jupyterIcon:()=>Xn,jupyterlabWordmarkIcon:()=>Qn,kernelIcon:()=>Zn,keyboardIcon:()=>ei,launchIcon:()=>ti,launcherIcon:()=>ni,lineFormIcon:()=>ii,linkIcon:()=>si,listIcon:()=>oi,lockIcon:()=>ri,markdownIcon:()=>ai,mermaidIcon:()=>li,moveDownIcon:()=>di,moveUpIcon:()=>ci,newFolderIcon:()=>hi,notTrustedIcon:()=>ui,notebookIcon:()=>pi,numberingIcon:()=>mi,offlineBoltIcon:()=>gi,openKernelSourceIcon:()=>fi,paletteIcon:()=>vi,pasteIcon:()=>_i,pauseIcon:()=>bi,pdfIcon:()=>yi,pythonIcon:()=>wi,rKernelIcon:()=>Ci,reactIcon:()=>xi,redoIcon:()=>Si,refreshIcon:()=>ji,regexIcon:()=>ki,runIcon:()=>Ii,runningIcon:()=>Ti,saveIcon:()=>Ei,searchIcon:()=>Mi,selectedBreakpointIcon:()=>Di,settingsIcon:()=>Ai,shareIcon:()=>Pi,spreadsheetIcon:()=>Li,stepIntoIcon:()=>Ri,stepOutIcon:()=>Ni,stepOverIcon:()=>Bi,stopIcon:()=>Oi,tabIcon:()=>Fi,tableRowsIcon:()=>zi,tagIcon:()=>Wi,terminalIcon:()=>Hi,textEditorIcon:()=>Vi,tocIcon:()=>Ui,treeViewIcon:()=>qi,trustedIcon:()=>$i,undoIcon:()=>Ki,updateFilterFunction:()=>ao,userIcon:()=>Ji,usersIcon:()=>Gi,variableIcon:()=>Yi,vegaIcon:()=>Xi,videoIcon:()=>Qi,viewBreakpointIcon:()=>Zi,wordIcon:()=>es,yamlIcon:()=>ts});var i=n(44914);var s=n.n(i);var o=n(40959);function r(e){return e.map((e=>e&&typeof e==="object"?Object.keys(e).map((t=>!!e[t]&&t)):typeof e==="string"?e.split(/\s+/):[])).reduce(((e,t)=>e.concat(t)),[]).filter((e=>!!e))}function a(...e){return r(e).join(" ")}function l(...e){return[...new Set(r(e))].join(" ")}function d(e,{ignore:t=[]}={}){return e.getAttributeNames().reduce(((n,i)=>{if(i==="style"||t.includes(i)){void 0}else if(i.startsWith("data")||i.startsWith("aria")){n[i]=e.getAttribute(i)}else{n[o.Text.camelCase(i)]=e.getAttribute(i)}return n}),{})}function c(e){return e instanceof HTMLElement&&e.getAttribute("role")==="treeitem"}function h(e){let t=e;while(t&&!c(t)){t=t.parentElement}return c(t)?t:null}function u(e){const{minimal:t,small:n,children:i,...o}=e;return s().createElement("button",{...o,className:a(e.className,t?"jp-mod-minimal":"",n?"jp-mod-small":"","jp-Button")},i)}var p=n(2336);var m=n(27518);var g=n(5592);var f=n(5338);const v='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path\n class="jp-icon0"\n fill="#000"\n d="M24 20.188l-8.315-8.209 8.2-8.282-3.697-3.697-8.212 8.318-8.31-8.203-3.666 3.666 8.321 8.24-8.206 8.313 3.666 3.666 8.237-8.318 8.285 8.203z"\n />\n</svg>\n';const _='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path\n fill="#000"\n fill-opacity="0.0"\n d="M24 20.188l-8.315-8.209 8.2-8.282-3.697-3.697-8.212 8.318-8.31-8.203-3.666 3.666 8.321 8.24-8.206 8.313 3.666 3.666 8.237-8.318 8.285 8.203z"\n />\n</svg>\n';const b='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n <path fill="#616161" d="M9 13.5c-2.49 0-4.5-2.01-4.5-4.5S6.51 4.5 9 4.5c1.24 0 2.36.52 3.17 1.33L10 8h5V3l-1.76 1.76A6 6 0 0 0 9 3C5.69 3 3.01 5.69 3.01 9S5.69 15 9 15a5.98 5.98 0 0 0 5.9-5h-1.52c-.46 2-2.24 3.5-4.38 3.5" class="jp-icon3"/>\n</svg>\n';var y=n(21326);var w;(function(e){const t={breadCrumb:{container:{$nest:{"&:first-child svg":{bottom:"1px",marginLeft:"0px",position:"relative"},"&:hover":{backgroundColor:"var(--jp-layout-color2)"},[".jp-mod-dropTarget&"]:{backgroundColor:"var(--jp-brand-color2)",opacity:.7}}},element:{borderRadius:"var(--jp-border-radius)",cursor:"pointer",margin:"0px 2px",padding:"0px 2px",height:"16px",width:"16px",verticalAlign:"middle"}},commandPaletteHeader:{container:{height:"14px",margin:"0 14px 0 auto"},element:{height:"14px",width:"14px"},options:{elementPosition:"center"}},commandPaletteItem:{element:{height:"16px",width:"16px"},options:{elementPosition:"center"}},launcherCard:{container:{height:"52px",width:"52px"},element:{height:"52px",width:"52px"},options:{elementPosition:"center"}},launcherSection:{container:{boxSizing:"border-box",marginRight:"12px",height:"32px",width:"32px"},element:{height:"32px",width:"32px"},options:{elementPosition:"center"}},listing:{container:{flex:"0 0 20px",marginRight:"4px",position:"relative"},element:{height:"16px",width:"16px"},options:{elementPosition:"center"}},listingHeaderItem:{container:{display:"inline",height:"16px",width:"16px"},element:{height:"auto",margin:"-2px 0 0 0",width:"20px"},options:{elementPosition:"center"}},mainAreaTab:{container:{$nest:{".lm-DockPanel-tabBar &":{marginRight:"4px"}}},element:{$nest:{".lm-DockPanel-tabBar &":{height:"14px",width:"14px"}}},options:{elementPosition:"center"}},menuItem:{container:{display:"inline-block",verticalAlign:"middle"},element:{height:"16px",width:"16px"},options:{elementPosition:"center"}},runningItem:{container:{margin:"0px 4px 0px 4px"},element:{height:"16px",width:"16px"},options:{elementPosition:"center"}},select:{container:{pointerEvents:"none"},element:{position:"absolute",height:"auto",width:"16px"}},settingsEditor:{container:{display:"flex",flex:"0 0 20px",margin:"0 3px 0 0",position:"relative",height:"20px",width:"20px"},element:{height:"16px",width:"16px"},options:{elementPosition:"center"}},sideBar:{element:{height:"auto",width:"20px"},options:{elementPosition:"center"}},splash:{container:{animation:"0.3s fade-in linear forwards",height:"100%",width:"100%",zIndex:1},element:{width:"100px"},options:{elementPosition:"center"}},statusBar:{element:{left:"0px",top:"0px",height:"18px",width:"20px",position:"relative"}},toolbarButton:{container:{display:"inline-block",verticalAlign:"middle"},element:{height:"16px",width:"16px"},options:{elementPosition:"center"}}};function n(e){return{container:{alignItems:"center",display:"flex"},element:{display:"block",...e}}}const i={center:n({margin:"0 auto",width:"100%"}),top:n({margin:"0 0 auto 0"}),right:n({margin:"0 0 0 auto"}),bottom:n({margin:"auto 0 0 0"}),left:n({margin:"0 auto 0 0"}),"top right":n({margin:"0 0 auto auto"}),"bottom right":n({margin:"auto 0 0 auto"}),"bottom left":n({margin:"auto auto 0 0"}),"top left":n({margin:"0 auto 0 auto"})};function s(e){return{element:{height:e,width:e}}}const o={small:s("14px"),normal:s("16px"),large:s("20px"),xlarge:s("24px")};function r(e){return{container:Object.assign({},...e.map((e=>e.container))),element:Object.assign({},...e.map((e=>e.element)))}}function a(e){if(!e){return[]}if(!Array.isArray(e)){e=[e]}return e.map((e=>typeof e==="string"?t[e]:e))}function l(e){const t=Object.assign({},...e.map((e=>e.options)));if(t.elementPosition){e.unshift(i[t.elementPosition])}if(t.elementSize){e.unshift(o[t.elementSize])}return r(e)}function d(e){var t;return(0,y.iF)({...e.container,$nest:{...(t=e.container)===null||t===void 0?void 0:t.$nest,["svg"]:e.element}})}const c=new Map;function h(e){if(!e||Object.keys(e).length===0){return""}let{elementPosition:t,elementSize:n,stylesheet:i,...s}=e;const o={...t&&{elementPosition:t},...n&&{elementSize:n}};const r=typeof i==="string"&&Object.keys(s).length===0;const h=r?[i,t,n].join(","):"";if(r&&c.has(h)){return c.get(h)}const u=a(i);u.push({element:s,options:o});const p=d(l(u));if(r){c.set(h,p)}return p}e.styleClass=h})(w||(w={}));class C{static remove(e){while(e.firstChild){e.firstChild.remove()}e.className="";return e}static resolve({icon:e}){if(e instanceof C){return e}if(typeof e==="string"){const t=C._instances.get(e);if(t){return t}if(C._debug){console.warn(`Lookup failed for icon, creating loading icon. icon: ${e}`)}return new C({name:e,svgstr:b,_loading:true})}return new C(e)}static resolveElement({icon:e,iconClass:t,fallback:n,...i}){if(!x.isResolvable(e)){if(!t&&n){return n.element(i)}i.className=a(t,i.className);return x.blankElement(i)}return C.resolve({icon:e}).element(i)}static resolveReact({icon:e,iconClass:t,fallback:n,...i}){if(!x.isResolvable(e)){if(!t&&n){return s().createElement(n.react,{...i})}i.className=a(t,i.className);return s().createElement(x.blankReact,{...i})}const o=C.resolve({icon:e});return s().createElement(o.react,{...i})}static resolveSvg({name:e,svgstr:t}){const n=(new DOMParser).parseFromString(x.svgstrShim(t),"image/svg+xml");const i=n.querySelector("parsererror");if(i){const n=`SVG HTML was malformed for LabIcon instance.\nname: ${e}, svgstr: ${t}`;if(C._debug){console.error(n);return i}else{console.warn(n);return null}}else{return n.documentElement}}static toggleDebug(e){C._debug=e!==null&&e!==void 0?e:!C._debug}constructor({name:e,svgstr:t,render:n,unrender:i,_loading:s=false}){this._props={};this._svgReplaced=new p.Signal(this);this._svgElement=undefined;this._svgInnerHTML=undefined;this._svgReactAttrs=undefined;if(!(e&&t)){console.error(`When defining a new LabIcon, name and svgstr must both be non-empty strings. name: ${e}, svgstr: ${t}`);return S}this._loading=s;if(C._instances.has(e)){const n=C._instances.get(e);if(this._loading){n.svgstr=t;this._loading=false;return n}else{if(C._debug){console.warn(`Redefining previously loaded icon svgstr. name: ${e}, svgstrOld: ${n.svgstr}, svgstr: ${t}`)}n.svgstr=t;return n}}this.name=e;this.react=this._initReact(e);this.svgstr=t;this._initRender({render:n,unrender:i});C._instances.set(this.name,this)}bindprops(e){const t=Object.create(this);t._props=e;t.react=t._initReact(t.name+"_bind");return t}element(e={}){var t;let{className:n,container:i,label:s,title:o,tag:r="div",...a}={...this._props,...e};const l=i===null||i===void 0?void 0:i.firstChild;if(((t=l===null||l===void 0?void 0:l.dataset)===null||t===void 0?void 0:t.iconId)===this._uuid){return l}if(!this.svgElement){return document.createElement("div")}if(i){while(i.firstChild){i.firstChild.remove()}}else if(r){i=document.createElement(r)}const d=this.svgElement.cloneNode(true);if(!i){if(s){console.warn()}return d}if(s!=null){i.textContent=s}x.initContainer({container:i,className:n,styleProps:a,title:o});i.appendChild(d);return i}render(e,t){var n;let i=(n=t===null||t===void 0?void 0:t.children)===null||n===void 0?void 0:n[0];if(typeof i!=="string"){i=undefined}this.element({container:e,label:i,...t===null||t===void 0?void 0:t.props})}get svgElement(){if(this._svgElement===undefined){this._svgElement=this._initSvg({uuid:this._uuid})}return this._svgElement}get svgInnerHTML(){if(this._svgInnerHTML===undefined){if(this.svgElement===null){this._svgInnerHTML=null}else{this._svgInnerHTML=this.svgElement.innerHTML}}return this._svgInnerHTML}get svgReactAttrs(){if(this._svgReactAttrs===undefined){if(this.svgElement===null){this._svgReactAttrs=null}else{this._svgReactAttrs=d(this.svgElement,{ignore:["data-icon-id"]})}}return this._svgReactAttrs}get svgstr(){return this._svgstr}set svgstr(e){this._svgstr=e;const t=g.UUID.uuid4();const n=this._uuid;this._uuid=t;this._svgElement=undefined;this._svgInnerHTML=undefined;this._svgReactAttrs=undefined;document.querySelectorAll(`[data-icon-id="${n}"]`).forEach((e=>{if(this.svgElement){e.replaceWith(this.svgElement.cloneNode(true))}}));this._svgReplaced.emit()}_initReact(e){const t=s().forwardRef(((e={},t)=>{const{className:n,container:i,label:o,title:r,slot:l,tag:d="div",...c}={...this._props,...e};const[,h]=s().useState(this._uuid);s().useEffect((()=>{const e=()=>{h(this._uuid)};this._svgReplaced.connect(e);return()=>{this._svgReplaced.disconnect(e)}}));const u=d!==null&&d!==void 0?d:s().Fragment;if(!(this.svgInnerHTML&&this.svgReactAttrs)){return s().createElement(s().Fragment,null)}const p={...this.svgReactAttrs};if(!d){Object.assign(p,{className:n||c?a(n,w.styleClass(c)):undefined,title:r,slot:l})}const m=s().createElement("svg",{...p,...this.svgReactAttrs,dangerouslySetInnerHTML:{__html:this.svgInnerHTML},ref:t});if(i){x.initContainer({container:i,className:n,styleProps:c,title:r});return s().createElement(s().Fragment,null,m,o)}else{let e={};if(u!==s().Fragment){e={className:n||c?a(n,w.styleClass(c)):undefined,title:r,slot:l}}return s().createElement(u,{...e},m,o)}}));t.displayName=`LabIcon_${e}`;return t}_initRender({render:e,unrender:t}){if(e){this.render=e;if(t){this.unrender=t}}else if(t){console.warn("In _initRender, ignoring unrender arg since render is undefined")}}_initSvg({title:e,uuid:t}={}){const n=C.resolveSvg(this);if(!n){return n}if(n.tagName!=="parsererror"){n.dataset.icon=this.name;if(t){n.dataset.iconId=t}if(e){x.setTitleSvg(n,e)}else{n.setAttribute("aria-hidden","true")}}return n}}C._debug=false;C._instances=new Map;var x;(function(e){function t({className:t="",container:n,label:i,title:s,tag:o="div",slot:r,...a}){if((n===null||n===void 0?void 0:n.className)===t){return n}if(n){while(n.firstChild){n.firstChild.remove()}}else{n=document.createElement(o!==null&&o!==void 0?o:"div")}if(i!=null){n.textContent=i}e.initContainer({container:n,className:t,styleProps:a,title:s});return n}e.blankElement=t;e.blankReact=s().forwardRef((({className:e="",container:t,label:i,title:o,tag:r="div",...l},d)=>{const c=r!==null&&r!==void 0?r:"div";if(t){n({container:t,className:e,styleProps:l,title:o});return s().createElement(s().Fragment,null)}else{return s().createElement(c,{className:a(e,w.styleClass(l))},d&&j.react({ref:d}),i)}}));e.blankReact.displayName="BlankReact";function n({container:e,className:t,styleProps:n,title:i}){if(i!=null){e.title=i}const s=w.styleClass(n);if(t!=null){const n=a(t,s);e.className=n;return n}else if(s){e.classList.add(s);return s}else{return""}}e.initContainer=n;function i(e){return!!(e&&(typeof e==="string"||e.name&&e.svgstr))}e.isResolvable=i;function o(e,t){const n=e.getElementsByTagName("title");if(n.length){n[0].textContent=t}else{const n=document.createElement("title");n.textContent=t;e.appendChild(n)}}e.setTitleSvg=o;function r(e,t=true){const[,n,i]=decodeURIComponent(e).replace(/>\s*\n\s*</g,"><").replace(/\s*\n\s*/g," ").match(t?/^(?:data:.*?(;base64)?,)?(.*)/:/(?:(base64).*)?(<svg.*)/);return n?atob(i):i}e.svgstrShim=r;class l{constructor(e,t){this._icon=e;this._rendererOptions=t}render(e,t){}}e.Renderer=l;class d extends l{render(e,t){var n,i;let s=(n=t===null||t===void 0?void 0:t.children)===null||n===void 0?void 0:n[0];if(typeof s!=="string"){s=undefined}this._icon.element({container:e,label:s,...(i=this._rendererOptions)===null||i===void 0?void 0:i.props,...t===null||t===void 0?void 0:t.props})}}e.ElementRenderer=d;class c extends l{constructor(){super(...arguments);this._rootDOM=null}render(e,t){var n,i;let o=(n=t===null||t===void 0?void 0:t.children)===null||n===void 0?void 0:n[0];if(typeof o!=="string"){o=undefined}const r=this._icon;if(this._rootDOM!==null){this._rootDOM.unmount()}this._rootDOM=(0,f.H)(e);this._rootDOM.render(s().createElement(r.react,{container:e,label:o,...(i=this._rendererOptions)===null||i===void 0?void 0:i.props,...t===null||t===void 0?void 0:t.props}))}unrender(e){if(this._rootDOM!==null){this._rootDOM.unmount();this._rootDOM=null}}}e.ReactRenderer=c})(x||(x={}));const S=new C({name:"ui-components:bad",svgstr:v});const j=new C({name:"ui-components:blank",svgstr:_});const k='<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14">\n <g clip-path="url(#addabovea)">\n <path fill="#616161" stroke="#616161" stroke-width=".7" d="M4.75 4.93h1.875v1.876c0 .206.169.375.375.375a.376.376 0 0 0 .375-.375V4.93H9.25a.376.376 0 0 0 .375-.375.376.376 0 0 0-.375-.375H7.375V2.306A.376.376 0 0 0 7 1.93a.376.376 0 0 0-.375.375V4.18H4.75a.376.376 0 0 0-.375.375c0 .206.169.375.375.375Z" class="jp-icon3"/>\n </g>\n <path fill="#616161" fill-rule="evenodd" d="M11.5 9.5v2h-9v-2zM12 8a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z" class="jp-icon3" clip-rule="evenodd"/>\n <defs>\n <clipPath id="addabovea">\n <path fill="#fff" d="M10 1.556H4v6h6z" class="jp-icon3"/>\n </clipPath>\n </defs>\n</svg>\n';const I='<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14">\n <g clip-path="url(#addbelowa)">\n <path fill="#616161" stroke="#616161" stroke-width=".7" d="M9.25 10.07H7.375V8.193A.376.376 0 0 0 7 7.82a.376.376 0 0 0-.375.375v1.875H4.75a.376.376 0 0 0-.375.375c0 .207.169.375.375.375h1.875v1.875c0 .207.169.375.375.375a.376.376 0 0 0 .375-.375V10.82H9.25a.376.376 0 0 0 .375-.375.376.376 0 0 0-.375-.375Z" class="jp-icon3"/>\n </g>\n <path fill="#616161" fill-rule="evenodd" d="M2.5 5.5v-2h9v2zM2 7a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1z" class="jp-icon3" clip-rule="evenodd"/>\n <defs>\n <clipPath id="addbelowa">\n <path fill="#fff" d="M4 13.444h6v-6H4z" class="jp-icon3"/>\n </clipPath>\n </defs>\n</svg>\n';const T='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z" class="jp-icon3"/>\n</svg>\n';const E='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\r\n <path class="jp-icon3 jp-icon-selectable" fill="#616161" d="M13,4V20a1,1,0,0,1-2,0V4a1,1,0,0,1,2,0ZM8,5A1,1,0,0,0,7,6V18a1,1,0,0,0,2,0V6A1,1,0,0,0,8,5ZM4,7A1,1,0,0,0,3,8v8a1,1,0,0,0,2,0V8A1,1,0,0,0,4,7ZM16,5a1,1,0,0,0-1,1V18a1,1,0,0,0,2,0V6A1,1,0,0,0,16,5Zm4,2a1,1,0,0,0-1,1v8a1,1,0,0,0,2,0V8A1,1,0,0,0,20,7Z"/>\r\n</svg>\r\n';const M='<svg xmlns="http://www.w3.org/2000/svg" width="16" version="1.1" viewBox="0 0 16 16">\n <path fill="#333" d="M8 .29c-1.4 0-2.7.73-3.6 1.8-1.2 1.5-1.4 3.4-1.5 5.2-.18 2.2-.44 4-2.3 5.3l.28 1.3h5c.026.66.32 1.1.71 1.5.84.61 2 .61 2.8 0 .52-.4.6-1 .71-1.5h5l.28-1.3c-1.9-.97-2.2-3.3-2.3-5.3-.13-1.8-.26-3.7-1.5-5.2-.85-1-2.2-1.8-3.6-1.8zm0 1.4c.88 0 1.9.55 2.5 1.3.88 1.1 1.1 2.7 1.2 4.4.13 1.7.23 3.6 1.3 5.2H3c1.1-1.6 1.2-3.4 1.3-5.2.13-1.7.3-3.3 1.2-4.4.59-.72 1.6-1.3 2.5-1.3m-.74 12h1.5c-.001.28.015.79-.74.79-.73.002-.72-.53-.74-.79z" class="jp-icon2 jp-icon-selectable"/>\n</svg>\n';const D='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16">\n <g fill="var(--jp-error-color1, #d32f2f)">\n <circle cx="10" cy="7" r="6" />\n </g>\n</svg>\n';const A='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">\n <g fill="#616161" class="jp-icon3 jp-icon-selectable">\n <path fill-rule="evenodd" d="M17.19 8H20v2h-2.09c.05.33.09.66.09 1v1h2v2h-2v.027a4.5 4.5 0 0 0-3.545 6.447A5.997 5.997 0 0 1 6.81 18H4v-2h2.09c-.05-.33-.09-.66-.09-1v-1H4v-2h2v-1c0-.34.04-.67.09-1H4V8h2.81c.45-.78 1.07-1.45 1.81-1.96L7 4.41 8.41 3l2.18 2.17c.45-.11.92-.17 1.41-.17s.96.06 1.42.17L15.59 3 17 4.41l-1.63 1.63c.75.51 1.37 1.18 1.82 1.96M10 16h4v-2h-4zm0-4h4v-2h-4z" clip-rule="evenodd"/>\n <path d="M22 18.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0"/>\n </g>\n</svg>\n';const P='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M20 8h-2.81a6 6 0 0 0-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5s-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20zm-6 8h-4v-2h4zm0-4h-4v-2h4z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n';const L='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M14.9 17.45c1.35 0 2.45-1.1 2.45-2.45s-1.1-2.45-2.45-2.45c-1.36 0-2.45 1.1-2.45 2.45s1.09 2.45 2.45 2.45m5.2-1.77 1.48 1.16c.13.11.17.29.08.45l-1.4 2.42a.35.35 0 0 1-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.27 1.85c-.02.17-.17.3-.34.3h-2.8c-.18 0-.32-.13-.35-.3l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.75.7c-.15.06-.34 0-.42-.15l-1.4-2.42a.35.35 0 0 1 .08-.45l1.48-1.16-.05-.68.05-.69-1.48-1.15a.35.35 0 0 1-.08-.45l1.4-2.42c.08-.16.27-.22.42-.16l1.75.71c.36-.28.75-.52 1.18-.69l.26-1.86c.03-.16.17-.29.35-.29h2.8c.17 0 .32.13.34.29l.27 1.86c.42.17.82.41 1.18.69l1.74-.71c.17-.06.34 0 .43.16l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.15.05.69zM7.33 7.445A1.566 1.566 0 0 0 7.904 5.3a1.575 1.575 0 1 0-.574 2.145m2.327-2.65 1.21.157c.096.025.173.12.171.236v1.8a.214.214 0 0 1-.183.223l-1.195.17-.42.75.43 1.126c.037.106 0 .22-.096.275l-1.559.9a.23.23 0 0 1-.294-.05l-.734-.95-.878-.001-.762.96c-.058.08-.173.1-.275.043l-1.56-.901a.23.23 0 0 1-.101-.276l.452-1.116-.246-.366-.194-.396-1.192-.166a.23.23 0 0 1-.189-.226V5.186c.002-.117.077-.206.175-.217l1.204-.175.446-.766-.456-1.11a.23.23 0 0 1 .104-.28l1.56-.9a.225.225 0 0 1 .285.054l.76.936.86.01.745-.949a.214.214 0 0 1 .284-.048l1.56.9a.24.24 0 0 1 .118.267l-.47 1.126.246.366z" class="jp-icon3"/>\n</svg>\n';const R='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n <path fill="#616161" d="M5.2 5.9 9 9.7l3.8-3.8L14 7.1l-4.9 5-4.9-5z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n';const N='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 20 20">\n <path fill="#616161" d="M9.9 13.6 3.6 7.4l.8-.8 5.5 5.6 5.5-5.5.7.7z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n';const B='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n <path fill="#616161" d="M5.2 7.5 9 11.2l3.8-3.8H5.2z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n';const O='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n <path fill="#616161" d="M10.8 12.8 7.1 9l3.8-3.8v7.6z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n';const F='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n <path fill="#616161" d="M7.2 5.2 10.9 9l-3.8 3.8V5.2z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n';const z='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 20 20">\n <path fill="#616161" d="M15.4 13.3 9.9 7.7l-5.5 5.5-.8-.7 6.3-6.2 6.2 6.3z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n';const W='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n <path fill="#616161" d="M5.2 10.5 9 6.8l3.8 3.8H5.2z" class="jp-icon3" shape-rendering="geometricPrecision"/>\n</svg>\n';const H='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 20 20">\n <path fill="#414141" d="M2 2h16v16H2z" class="jp-icon2"/>\n <path fill="#FFF" d="M7.6 8h.9l3.5 8h-1.1l-.9-2H6l-.9 2H4zM8 9.1 6.4 13h3.2zm8.6.7c-.2.1-.4.1-.7.1-.2 0-.4-.1-.6-.2-.1-.1-.2-.4-.2-.7-.3.3-.6.5-.9.7-.3.1-.7.2-1.1.2-.3 0-.5 0-.7-.1l-.6-.3c-.2-.1-.3-.3-.4-.5s-.1-.4-.1-.7.1-.6.2-.8.3-.4.4-.5c.1 0 .3-.1.6-.2.2-.1.5-.1.7-.2.3-.1.5-.1.7-.1s.4-.1.6-.1.3-.1.4-.2.2-.2.2-.4c0-1-1.1-1-1.3-1-.4 0-1.4 0-1.4 1.2h-.9c0-.4.1-.7.2-1 .1-.2.3-.4.5-.6s.5-.3.8-.3c.3-.1.6-.1.9-.1s.5 0 .8.1c.3 0 .5.1.7.2s.4.3.5.5.1.4.1.8V9c0 .1.1.2.3.2h.3zm-1.4-2.9c-1.2.6-3.1.2-3.1 1.4 0 1.4 3.1 1 3.1-.5z" class="jp-icon-accent2"/>\n</svg>\n';const V='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n';const U='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8" class="jp-icon3"/>\n</svg>\n';const q='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n <circle cx="9" cy="9" r="8" fill="#616161" class="jp-icon3"/>\n</svg>\n';const $='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M16 11h-1V3c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v8H8c-2.76 0-5 2.24-5 5v7h18v-7c0-2.76-2.24-5-5-5m3 10h-2v-3c0-.55-.45-1-1-1s-1 .45-1 1v3h-2v-3c0-.55-.45-1-1-1s-1 .45-1 1v3H9v-3c0-.55-.45-1-1-1s-1 .45-1 1v3H5v-5c0-1.65 1.35-3 3-3h8c1.65 0 3 1.35 3 3z" class="jp-icon3"/>\n</svg>\n';const K='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <mask id="cleara">\n <path fill="#fff" d="M0 0h24v24H0z"/>\n <circle cx="12" cy="12" r="8" fill="#000"/>\n </mask>\n <g fill="#616161" class="jp-icon3">\n <path d="M4.929 6.343 6.343 4.93l12.728 12.728-1.414 1.414z"/>\n <circle cx="12" cy="12" r="10" mask="url(#cleara)"/>\n </g>\n</svg>\n';const J='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <g fill="#616161" class="jp-icon3">\n <path d="M16.48 17.248A7.5 7.5 0 0 0 6.32 7.706a7 7 0 1 1 10.16 9.542"/>\n <path d="M19.16 14.248A7.5 7.5 0 0 0 9 4.706a7 7 0 1 1 10.16 9.542M16 15a7 7 0 1 1-14 0 7 7 0 0 1 14 0m-4.209-4L13 12.209 10.209 15 13 17.791 11.791 19 9 16.209 6.209 19 5 17.791 7.791 15 5 12.209 6.209 11 9 13.791z"/>\n </g>\n</svg>\n';const G='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <circle cx="12" cy="12" r="11" fill="none" class="jp-icon-none jp-icon-selectable-inverse jp-icon3-hover"/>\n <path fill="#616161" d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" class="jp-icon3 jp-icon-selectable jp-icon-accent2-hover"/>\n <circle cx="12" cy="12" r="7" fill="none" class="jp-icon-none jp-icon-busy"/>\n</svg>\n';const Y='<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M6.59 3.41 2 8l4.59 4.6L8 11.18 4.82 8 8 4.82zm5.82 0L11 4.82 14.18 8 11 11.18l1.41 1.42L17 8zm9.18 8.18-8.09 8.09L9.83 16l-1.41 1.41 5.08 5.09L23 13z" class="jp-icon3 jp-icon-selectable" shape-rendering="geometricPrecision"/>\n</svg>\n';const X='<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 28 28">\n <path fill="#616161" d="M11.4 18.6 6.8 14l4.6-4.6L10 8l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L18 8l6 6-6 6z" class="jp-icon3"/>\n</svg>\n';const Q='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <g fill="#616161" class="jp-icon3">\n <path d="M8 2h12c1 0 2 1 2 2v12c0 1 0 2-2 2V4H6c0-2 1-2 2-2"/>\n <path d="M18 8c0-1-1-2-2-2H4C3 6 2 7 2 8v12c0 1 1 2 2 2h12c1 0 2-1 2-2zm-2 0v12H4V8z"/>\n <path d="M6 13v2h8v-2z"/>\n </g>\n</svg>\n';const Z='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 8.5 10.5">\n <g fill="#BDBDBD" class="jp-icon-output">\n <path d="M.019 0h8.458v1.064H.019zM0 9.52h8.491v1.059H0zm4.776-6.608H3.72V1.323h1.056z"/>\n <path d="m4.244 5.243-1.06-1.167-1.06-1.167h4.24l-1.06 1.167zm.528 4.014H3.716V7.665h1.056z"/>\n <path d="M4.242 5.332 5.302 6.5l1.06 1.167h-4.24L3.182 6.5z"/>\n </g>\n</svg>\n';const ee='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 200 200">\n <path fill="#0288D1" d="M20 19.8h160v159.9H20z" class="jp-console-icon-background-color jp-icon-selectable"/>\n <path fill="#fff" d="M105 127.3h40v12.8h-40zM51.1 77 74 99.9l-23.3 23.3 10.5 10.5 23.3-23.3L95 99.9 84.5 89.4 61.6 66.5z" class="jp-console-icon-color jp-icon-selectable-inverse"/>\n</svg>\n';const te='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n <path fill="#616161" d="M11.9 1H3.2c-.8 0-1.5.7-1.5 1.5v10.2h1.5V2.5h8.7zm2.2 2.9h-8c-.8 0-1.5.7-1.5 1.5v10.2c0 .8.7 1.5 1.5 1.5h8c.8 0 1.5-.7 1.5-1.5V5.4c-.1-.8-.7-1.5-1.5-1.5m0 11.6h-8V5.4h8z" class="jp-icon3"/>\n</svg>\n';const ne='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M11.88 9.14c1.28.06 1.61 1.15 1.63 1.66h1.79c-.08-1.98-1.49-3.19-3.45-3.19C9.64 7.61 8 9 8 12.14c0 1.94.93 4.24 3.84 4.24 2.22 0 3.41-1.65 3.44-2.95h-1.79c-.03.59-.45 1.38-1.63 1.44-1.31-.04-1.86-1.06-1.86-2.73 0-2.89 1.28-2.98 1.88-3M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8" class="jp-icon3"/>\n</svg>\n';const ie='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M9.64 7.64c.23-.5.36-1.05.36-1.64 0-2.21-1.79-4-4-4S2 3.79 2 6s1.79 4 4 4c.59 0 1.14-.13 1.64-.36L10 12l-2.36 2.36C7.14 14.13 6.59 14 6 14c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4c0-.59-.13-1.14-.36-1.64L12 14l7 7h3v-1zM6 8c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2m0 12c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2m6-7.5c-.28 0-.5-.22-.5-.5s.22-.5.5-.5.5.22.5.5-.22.5-.5.5M19 3l-6 6 2 2 7-7V3z" class="jp-icon3"/>\n</svg>\n';const se='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24">\n <path fill="#626262" d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z" class="jp-icon3"/>\n</svg>\n';const oe='<svg width="16" version="1.1" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg">\n <path class="jp-icon3" d="m19.8 19.8v-17.6h-17.6v17.6zm-15.408-2.2v-3.8027h13.208v3.8027zm13.208-5.5301h-13.218v-7.6699h13.218z" fill="#616161"/>\n</svg>\n';const re='<svg width="16" version="1.1" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg">\n <path class="jp-icon3" d="m2.2 19.8h17.6v-17.6h-17.6zm2.2-15.408h3.8027v13.208h-3.8027zm5.5301 13.208v-13.218h7.6699v13.218z" fill="#616161"/>\n</svg>\n';const ae='<svg width="16" version="1.1" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg">\n <path class="jp-icon3" d="m19.8 2.2h-17.6v17.6h17.6zm-2.2 15.408h-3.8027v-13.208h3.8027zm-5.5301-13.208v13.218h-7.6699v-13.218z" fill="#616161"/>\n</svg>\n';const le='<svg width="16" version="1.1" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg">\n <path class="jp-icon3" d="m2.2 2.2v17.6h17.6v-17.6zm15.408 2.2v3.8027h-13.208v-3.8027zm-13.208 5.5301h13.218v7.6699h-13.218z" fill="#616161"/>\n</svg>\n';const de='<?xml version="1.0" encoding="UTF-8"?>\n<svg width="16" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n <g class="jp-icon3" transform="rotate(90,12,12)" fill="#616161">\n <circle cx="5" cy="12" r="2"/>\n <circle cx="12" cy="12" r="2"/>\n <circle cx="19" cy="12" r="2"/>\n </g>\n</svg>\n';const ce='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M19 9h-4V3H9v6H5l7 7zM5 18v2h14v-2z" class="jp-icon3"/>\n</svg>\n';const he='<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14">\n <path fill="#616161" fill-rule="evenodd" d="M2.8.875h6.096c.305 0 .554.264.554.587s-.25.587-.554.587H3.354c-.305 0-.554.264-.554.587V9.68c0 .322-.25.587-.554.587s-.554-.264-.554-.587V2.049c0-.646.498-1.174 1.108-1.174M5.367 11.9V4.55h5.716v7.35zM4.142 4.142c0-.451.365-.817.816-.817h6.534c.45 0 .816.366.816.817v8.166a.817.817 0 0 1-.816.817H4.958a.817.817 0 0 1-.816-.817z" class="jp-icon3" clip-rule="evenodd"/>\n <path fill="#616161" stroke="#616161" stroke-width=".5" d="M9.436 8.265H8.364v1.071a.215.215 0 0 1-.214.215.215.215 0 0 1-.214-.215v-1.07H6.864a.215.215 0 0 1-.214-.215c0-.118.096-.215.214-.215h1.072v-1.07a.214.214 0 1 1 .428-.001v1.072h1.072c.118 0 .214.096.214.214a.215.215 0 0 1-.214.214Z" class="jp-icon3"/>\n</svg>\n';const ue='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z" class="jp-icon3"/>\n</svg>\n';const pe='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <g fill="#616161" class="jp-icon3">\n <circle cx="5" cy="12" r="2"/>\n <circle cx="12" cy="12" r="2"/>\n <circle cx="19" cy="12" r="2"/>\n </g>\n</svg>\n';const me='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <g fill="#616161" class="jp-icon3">\n <circle cx="12" cy="19" r="2"/>\n <path d="M10 3h4v12h-4z"/>\n </g>\n</svg>\n';const ge='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <g fill="#616161" class="jp-icon3">\n <path d="m12.039.5-.753 1.506L.5 23.576l23.082-.001zm.001 4.017 8.528 17.05-17.055.001z"/>\n <path d="M11 8h2v10h-2zm0 11h2v2h-2z"/>\n </g>\n</svg>\n';const fe='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <g fill="#616161" class="jp-icon3">\n <path d="M8 2h12c1 0 2 1 2 2v12c0 1 0 2-2 2V4H6c0-2 1-2 2-2"/>\n <path d="M18 8c0-1-1-2-2-2H4C3 6 2 7 2 8v12c0 1 1 2 2 2h12c1 0 2-1 2-2zm-2 0v12H4V8z"/>\n <path d="M11 10H9v3H6v2h3v3h2v-3h3v-2h-3z"/>\n </g>\n</svg>\n';const ve='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 8.5 10.5">\n <g fill="#BDBDBD" class="jp-icon-output">\n <path d="M.019 0h8.458v1.064H.019zM0 9.521h8.491v1.059H0zm3.712-5.822h1.056v1.589H3.712z"/>\n <path d="m4.244 1.368 1.06 1.167 1.06 1.167h-4.24l1.06-1.167zm-.532 3.92h1.056V6.88H3.712z"/>\n <path d="m4.242 9.213-1.06-1.167-1.06-1.167h4.24l-1.06 1.167z"/>\n </g>\n</svg>\n';const _e='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5a2.5 2.5 0 0 0-5 0V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7s2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5a2.5 2.5 0 0 0 0-5" class="jp-icon3"/>\n</svg>\n';const be='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="m4 18 8.5-6L4 6zm9-12v12l8.5-6z" class="jp-icon3"/>\n</svg>\n';const ye='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n <path fill="#616161" d="m19.3 8.2-5.5-5.5c-.3-.3-.7-.5-1.2-.5H3.9c-.8.1-1.6.9-1.6 1.8v14.1c0 .9.7 1.6 1.6 1.6h14.2c.9 0 1.6-.7 1.6-1.6V9.4c.1-.5-.1-.9-.4-1.2m-5.8-3.3 3.4 3.6h-3.4zm3.9 12.7H4.7c-.1 0-.2 0-.2-.2V4.7c0-.2.1-.3.2-.3h7.2v4.4s0 .8.3 1.1 1.1.3 1.1.3h4.3v7.2s-.1.2-.2.2" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n';const we='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z" class="jp-icon3"/>\n</svg>\n';const Ce='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#FFF" d="M14 12v7.88c.04.3-.06.62-.29.83a.996.996 0 0 1-1.41 0l-2.01-2.01a.99.99 0 0 1-.29-.83V12h-.03L4.21 4.62a1 1 0 0 1 .17-1.4c.19-.14.4-.22.62-.22h14c.22 0 .43.08.62.22a1 1 0 0 1 .17 1.4L14.03 12z" class="jp-icon3"/>\n <circle cx="18" cy="17" r="3" fill="#FFF" class="jp-icon-dot"/>\n</svg>\n';const xe='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z" class="jp-icon3"/>\n</svg>\n';const Se='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#FFF" d="M14 12v7.88c.04.3-.06.62-.29.83a.996.996 0 0 1-1.41 0l-2.01-2.01a.99.99 0 0 1-.29-.83V12h-.03L4.21 4.62a1 1 0 0 1 .17-1.4c.19-.14.4-.22.62-.22h14c.22 0 .43.08.62.22a1 1 0 0 1 .17 1.4L14.03 12z" class="jp-icon3"/>\n</svg>\n';const je='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#000" viewBox="0 0 24 24">\n <path fill="#616161" d="M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m-2.06 11L15 15.28 12.06 17l.78-3.33-2.59-2.24 3.41-.29L15 8l1.34 3.14 3.41.29-2.59 2.24z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n';const ke='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n';const Ie='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M13.5 8H12v5l4.28 2.54.72-1.21-3.5-2.08zM13 3a9 9 0 0 0-9 9H1l3.96 4.03L9 12H6a7 7 0 0 1 7-7 7 7 0 0 1 7 7 7 7 0 0 1-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42A8.9 8.9 0 0 0 13 21a9 9 0 0 0 9-9 9 9 0 0 0-9-9" class="jp-icon3"/>\n</svg>\n';const Te='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#000" viewBox="0 0 24 24">\n <path fill="#616161" d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n';const Ee='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 512 512">\n <path fill="#000" d="M108.4 0h23v22.8h21.2V0h23v69h-23V46h-21v23h-23.2M206 23h-20.3V0h63.7v23H229v46h-23m53.5-69h24.1l14.8 24.3L313.2 0h24.1v69h-23V34.8l-16.1 24.8-16.1-24.8V69h-22.6m89.2-69h23v46.2h32.6V69h-55.6" class="jp-icon0 jp-icon-selectable"/>\n <path fill="#e44d26" d="m107.6 471-33-370.4h362.8l-33 370.2L255.7 512" class="jp-icon-selectable"/>\n <path fill="#f16529" d="M256 480.5V131h148.3L376 447" class="jp-icon-selectable"/>\n <path fill="#ebebeb" d="M142 176.3h114v45.4h-64.2l4.2 46.5h60v45.3H154.4m2 22.8H202l3.2 36.3 50.8 13.6v47.4l-93.2-26" class="jp-icon-selectable-inverse"/>\n <path fill="#fff" d="M369.6 176.3H255.8v45.4h109.6m-4.1 46.5H255.8v45.4h56l-5.3 59-50.7 13.6v47.2l93-25.8" class="jp-icon-selectable-inverse"/>\n</svg>\n';const Me='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n <path fill="#FFF" d="M2.2 2.2h17.5v17.5H2.2z" class="jp-icon-brand4 jp-icon-selectable-inverse"/>\n <path fill="#3F51B5" d="M2.2 2.2v17.5h17.5l.1-17.5zm12.1 2.2c1.2 0 2.2 1 2.2 2.2s-1 2.2-2.2 2.2-2.2-1-2.2-2.2 1-2.2 2.2-2.2M4.4 17.6l3.3-8.8 3.3 6.6 2.2-3.2 4.4 5.4z" class="jp-icon-brand0 jp-icon-selectable"/>\n</svg>\n';const De='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 50.978 50.978">\n <g fill="#616161" class="jp-icon3">\n <path d="M43.52 7.458C38.711 2.648 32.307 0 25.489 0 18.67 0 12.266 2.648 7.458 7.458c-9.943 9.941-9.943 26.119 0 36.062 4.809 4.809 11.212 7.456 18.031 7.458h.002c6.816 0 13.221-2.648 18.029-7.458 4.809-4.809 7.457-11.212 7.457-18.03 0-6.82-2.649-13.224-7.457-18.032m-1.414 34.647c-4.432 4.431-10.332 6.872-16.615 6.872h-.002c-6.285-.001-12.187-2.441-16.617-6.872-9.162-9.163-9.162-24.071 0-33.233C13.303 4.44 19.204 2 25.489 2c6.284 0 12.186 2.44 16.617 6.872 4.431 4.431 6.871 10.332 6.871 16.617 0 6.283-2.441 12.186-6.871 16.616"/>\n <path d="M23.578 32.218q-.034-2.602.496-3.972t2.272-3.253q.702-.805 1.367-1.575.939-1.13 1.436-2.175.496-1.061.495-2.5 0-1.643-.779-2.979-.848-1.319-2.806-1.369-2.703.085-3.55 1.832a5.3 5.3 0 0 0-.607 1.814 11.3 11.3 0 0 0-.207 2.174h-2.937q-.136-3.312 1.493-5.719 1.593-2.459 5.378-2.527 3.24.034 5.141 1.758 1.918 1.74 1.95 4.811 0 1.712-.41 2.911a7.6 7.6 0 0 1-1.268 2.243 22 22 0 0 1-1.73 2.002 34 34 0 0 0-1.987 2.346 5.2 5.2 0 0 0-.565 1.199q-.24 1.438-.171 2.979zm0 6.002v-3.484h3.076v3.484z"/>\n </g>\n</svg>\n';const Ae='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m-5 14H4v-4h11zm0-5H4V9h11zm5 5h-4V9h4z" class="jp-inspector-icon-color jp-icon-selectable"/>\n</svg>\n';const Pe='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n <g fill="#F9A825" class="jp-json-icon-color jp-icon-selectable">\n <path d="M20.2 11.8c-1.6 0-1.7.5-1.7 1 0 .4.1.9.1 1.3.1.5.1.9.1 1.3 0 1.7-1.4 2.3-3.5 2.3h-.9v-1.9h.5c1.1 0 1.4 0 1.4-.8 0-.3 0-.6-.1-1 0-.4-.1-.8-.1-1.2 0-1.3 0-1.8 1.3-2-1.3-.2-1.3-.7-1.3-2 0-.4.1-.8.1-1.2.1-.4.1-.7.1-1 0-.8-.4-.7-1.4-.8h-.5V4.1h.9c2.2 0 3.5.7 3.5 2.3 0 .4-.1.9-.1 1.3-.1.5-.1.9-.1 1.3 0 .5.2 1 1.7 1zM1.8 10.1c1.6 0 1.7-.5 1.7-1 0-.4-.1-.9-.1-1.3-.1-.5-.1-.9-.1-1.3 0-1.6 1.4-2.3 3.5-2.3h.9v1.9h-.5c-1 0-1.4 0-1.4.8 0 .3 0 .6.1 1 0 .2.1.6.1 1 0 1.3 0 1.8-1.3 2C6 11.2 6 11.7 6 13c0 .4-.1.8-.1 1.2-.1.3-.1.7-.1 1 0 .8.3.8 1.4.8h.5v1.9h-.9c-2.1 0-3.5-.6-3.5-2.3 0-.4.1-.9.1-1.3.1-.5.1-.9.1-1.3 0-.5-.2-1-1.7-1z"/>\n <circle cx="11" cy="13.8" r="2.1"/>\n <circle cx="11" cy="8.2" r="2.1"/>\n </g>\n</svg>\n';const Le='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 325 300">\n <path fill="#cb3c33" d="M150.898 225c0 41.422-33.578 75-75 75s-75-33.578-75-75 33.579-75 75-75 75 33.578 75 75" class="jp-brand0 jp-icon-selectable"/>\n <path fill="#389826" d="M237.5 75c0 41.422-33.578 75-75 75s-75-33.578-75-75 33.578-75 75-75 75 33.578 75 75" class="jp-brand0 jp-icon-selectable"/>\n <path fill="#9558b2" d="M324.102 225c0 41.422-33.579 75-75 75s-75-33.578-75-75 33.578-75 75-75 75 33.578 75 75" class="jp-brand0 jp-icon-selectable"/>\n</svg>\n';const Re='<svg xmlns="http://www.w3.org/2000/svg" width="152" height="165" version="1.1" viewBox="0 0 152 165">\n <path fill="#F37726" d="M76.021 140.163c-32.64 0-61.145-11.927-75.942-29.58 5.51 15.84 15.781 29.567 29.39 39.278a80.17 80.17 0 0 0 46.57 14.929 80.17 80.17 0 0 0 46.57-14.929c13.61-9.711 23.88-23.437 29.391-39.278-14.833 17.653-43.338 29.58-75.979 29.58m-.005-114.832c32.64 0 61.146 11.927 75.943 29.58a80.9 80.9 0 0 0-29.391-39.278A80.16 80.16 0 0 0 75.998.705a80.16 80.16 0 0 0-46.57 14.928A80.9 80.9 0 0 0 .038 54.912c14.832-17.617 43.338-29.58 75.978-29.58" class="jp-jupyter-icon-color"/>\n</svg>\n';const Ne='<svg xmlns="http://www.w3.org/2000/svg" width="39" height="51" viewBox="0 0 39 51">\n <path fill="#F37726" d="M20.005 38.114c-7.85 0-14.706-2.876-18.265-7.134a19.5 19.5 0 0 0 7.069 9.473 19.24 19.24 0 0 0 11.2 3.6c4.013 0 7.927-1.258 11.2-3.6a19.5 19.5 0 0 0 7.069-9.473c-3.567 4.258-10.423 7.134-18.273 7.134m-.002-27.694c7.85 0 14.706 2.876 18.265 7.133a19.5 19.5 0 0 0-7.069-9.473A19.24 19.24 0 0 0 20 4.48a19.24 19.24 0 0 0-11.2 3.6 19.5 19.5 0 0 0-7.069 9.473c3.567-4.248 10.423-7.134 18.273-7.134" class="jp-jupyter-icon-color"/>\n <path fill="#616161" d="M37.194 3.154a3 3 0 0 1-.426 1.672 2.96 2.96 0 0 1-1.275 1.153 2.93 2.93 0 0 1-3.238-.505 3 3 0 0 1-.776-3.21c.2-.553.558-1.033 1.029-1.38a2.93 2.93 0 0 1 3.733.209c.576.532.919 1.274.953 2.061M9.228 46.393a3.77 3.77 0 0 1-.536 2.11 3.73 3.73 0 0 1-1.608 1.452 3.69 3.69 0 0 1-4.082-.638 3.75 3.75 0 0 1-1.097-1.875 3.8 3.8 0 0 1 .122-2.173 3.74 3.74 0 0 1 1.299-1.739 3.696 3.696 0 0 1 4.704.268 3.76 3.76 0 0 1 1.198 2.595M2.635 9.456a2.17 2.17 0 0 1-1.227-.318 2.2 2.2 0 0 1-.845-.951A2.22 2.22 0 0 1 .935 5.77a2.16 2.16 0 0 1 2.356-.577c.405.15.757.418 1.011.77a2.21 2.21 0 0 1-.156 2.783 2.17 2.17 0 0 1-1.511.71" class="jp-icon3"/>\n</svg>\n';const Be='<svg xmlns="http://www.w3.org/2000/svg" width="200" viewBox="0 0 1860.8 475">\n <path fill="#4E4E4E" d="M53.324 293.087c0 48.7-3.7 64.7-13.6 76.4-10.8 10-25 15.5-39.7 15.5l3.7 29c22.8.3 44.8-7.9 61.9-23.1 17.8-18.5 24-44.1 24-83.3v-184.3h-36.4v170.1zm271.42-22.179c0 21 0 39.5 1.7 55.4h-31.8l-2.1-33.3h-.8c-6.7 11.6-16.4 21.3-28 27.9s-24.8 10-38.2 9.8c-31.4 0-69-17.7-69-89v-118.8h36.4v112.7c0 38.7 11.6 64.7 44.6 64.7 10.3-.2 20.4-3.5 28.9-9.4s15.1-14.3 18.9-23.9c2.2-6.1 3.3-12.5 3.3-18.9v-125h36.4v147.8zm68.512-81.525c0-26-.8-47-1.7-66.7h32.7l1.7 34.8h.8c7.1-12.5 17.5-22.8 30.1-29.7 12.5-7 26.7-10.3 41-9.8 48.3 0 84.7 41.7 84.7 103.3 0 73.1-43.7 109.2-91 109.2-12.1.5-24.2-2.2-35-7.8s-19.9-13.9-26.6-24.2h-.8v110.5h-36v-220zm36 54.2c.1 5.1.6 10.1 1.7 15.1 3 12.3 9.9 23.3 19.8 31.1s22.1 12.1 34.7 12.1c38.5 0 60.7-31.9 60.7-78.5 0-40.7-21.1-75.6-59.5-75.6-12.9.4-25.3 5.1-35.3 13.4-9.9 8.3-16.9 19.7-19.6 32.4-1.5 4.9-2.3 10-2.5 15.1zm217.572-120.485 43.7 120.1c4.5 13.4 9.5 29.4 12.8 41.7h.8c3.7-12.2 7.9-27.7 12.8-42.4l39.7-119.2h38.5l-54.4 144.8c-26 69.7-43.7 105.4-68.6 127.2-12.5 11.7-27.9 20-44.6 23.9l-9.1-31.1c11.7-3.9 22.5-10.1 31.8-18.1 13.2-11.1 23.7-25.2 30.6-41.2 1.5-2.8 2.5-5.7 2.9-8.8-.3-3.3-1.2-6.6-2.5-9.7l-73.8-187.1h39.7zM890.649 64.65v58.3h52v28.2h-52v109.5c0 25 7 39.5 27.3 39.5 7.1.1 14.2-.7 21.1-2.5l1.7 27.7c-10.3 3.7-21.3 5.4-32.2 5-7.3.4-14.6-.7-21.3-3.4-6.8-2.7-12.9-6.8-17.9-12.1-10.3-10.9-14.1-29-14.1-52.9v-110.8h-31v-28.2h31v-48.7zm119.111 166.711c.8 50 32.2 70.6 68.6 70.6 19 .6 37.9-3 55.3-10.5l6.2 26.4c-20.9 8.9-43.5 13.1-66.2 12.6-61.5 0-98.3-41.2-98.3-102.5 0-61.4 35.5-109.6 93.7-109.6 65.2 0 82.7 58.3 82.7 95.7-.1 5.8-.5 11.5-1.2 17.2h-140.8zm106.6-26.4c.4-23.5-9.5-60.1-50.4-60.1-36.8 0-52.8 34.4-55.7 60.1zm88.317-18.505c0-23.9-.4-44.5-1.7-63.4h31.8l1.2 39.9h1.7c9.1-27.3 31-44.5 55.3-44.5 3.5-.1 7 .4 10.3 1.2v34.8c-4.1-.9-8.2-1.3-12.4-1.2-25.6 0-43.7 19.7-48.7 47.4-1 5.7-1.6 11.5-1.7 17.2v108.3h-36v-139.7z" class="jp-icon2"/>\n <path fill="#F37726" d="M1352.3 326.2h37V28h-37zm252.5 0c-2.5-13.9-3.4-31.1-3.4-48.7v-76c0-40.7-15.1-83.1-77.3-83.1-25.6 0-50 7.1-66.8 18.1l8.4 24.4c14.3-9.2 34-15.1 53-15.1 41.6 0 46.2 30.2 46.2 47v4.2c-78.6-.4-122.3 26.5-122.3 75.6 0 29.4 21 58.4 62.2 58.4 29 0 50.9-14.3 62.2-30.2h1.3l2.9 25.6h33.6zm-39.1-68.5c0 3.8-.8 8-2.1 11.8-5.9 17.2-22.7 34-49.2 34-18.9 0-34.9-11.3-34.9-35.3 0-39.5 45.8-46.6 86.2-45.8zm132.8 68.5 1.7-33.6h1.3c15.1 26.9 38.7 38.2 68.1 38.2 45.4 0 91.2-36.1 91.2-108.8.4-61.7-35.3-103.7-85.7-103.7-32.8 0-56.3 14.7-69.3 37.4h-.8V28h-36.6v245.7c0 18.1-.8 38.6-1.7 52.5zm6.3-118c0-5.9 1.3-10.9 2.1-15.1 7.6-28.1 31.1-45.4 56.3-45.4 39.5 0 60.5 34.9 60.5 75.6 0 46.6-23.1 78.1-61.8 78.1-26.9 0-48.3-17.6-55.5-43.3-.8-4.2-1.7-8.8-1.7-13.4v-36.5z" class="jp-jupyter-icon-color"/>\n</svg>\n';const Oe='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M15 9H9v6h6zm-2 4h-2v-2h2zm8-2V9h-2V7c0-1.1-.9-2-2-2h-2V3h-2v2h-2V3H9v2H7c-1.1 0-2 .9-2 2v2H3v2h2v2H3v2h2v2c0 1.1.9 2 2 2h2v2h2v-2h2v2h2v-2h2c1.1 0 2-.9 2-2v-2h2v-2h-2v-2zm-4 6H7V7h10z" class="jp-icon2"/>\n</svg>\n';const Fe='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m-9 3h2v2h-2zm0 3h2v2h-2zM8 8h2v2H8zm0 3h2v2H8zm-1 2H5v-2h2zm0-3H5V8h2zm9 7H8v-2h8zm0-4h-2v-2h2zm0-3h-2V8h2zm3 3h-2v-2h2zm0-3h-2V8h2z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n';const ze='<svg xmlns="http://www.w3.org/2000/svg" width="32" viewBox="0 0 32 32">\n <g fill="#616161" class="jp-icon3 jp-icon-selectable">\n <path d="M26 28H6a2.003 2.003 0 0 1-2-2V6a2.003 2.003 0 0 1 2-2h10v2H6v20h20V16h2v10a2.003 2.003 0 0 1-2 2"/>\n <path d="M20 2v2h6.586L18 12.586 19.414 14 28 5.414V12h2V2z"/>\n </g>\n</svg>\n';const We='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M19 19H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n';const He='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#fff" d="M5.88 4.12 13.76 12l-7.88 7.88L8 22l10-10L8 2z"/>\n</svg>\n';const Ve='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5" class="jp-icon3"/>\n</svg>\n';const Ue='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M19 5v14H5V5zm1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9M11 7h6v2h-6zm0 4h6v2h-6zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z" class="jp-icon2 jp-icon-selectable"/>\n</svg>\n';const qe='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 23">\n <path fill="#333" d="M12 17a2 2 0 0 0 2-2 2 2 0 0 0-2-2 2 2 0 0 0-2 2 2 2 0 0 0 2 2m6-9a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h1V6a5 5 0 0 1 5-5 5 5 0 0 1 5 5v2zm-6-5a3 3 0 0 0-3 3v2h6V6a3 3 0 0 0-3-3" class="jp-icon4"/>\n</svg>\n';const $e='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n <path fill="#7B1FA2" d="M5 14.9h12l-6.1 6zm9.4-6.8c0-1.3-.1-2.9-.1-4.5-.4 1.4-.9 2.9-1.3 4.3l-1.3 4.3h-2L8.5 7.9c-.4-1.3-.7-2.9-1-4.3-.1 1.6-.1 3.2-.2 4.6L7 12.4H4.8l.7-11h3.3L10 5c.4 1.2.7 2.7 1 3.9.3-1.2.7-2.6 1-3.9l1.2-3.7h3.3l.6 11h-2.4z" class="jp-icon-contrast0 jp-icon-selectable"/>\n</svg>\n';const Ke='<svg xmlns="http://www.w3.org/2000/svg" width="16" version="1.1" viewBox="0 0 491 675">\n <path fill="#ff3670" d="M85 92c-46 0-85 37-85 85v321c0 46 37 85 85 85h321c46 0 85-37 85-85V177c0-46-37-85-85-85zm-2 111c72-3.1 139 41 162 109 25-67 91-112 162-109 2.4 57-25 111-72 144-24 16-39 44-39 74v51H192v-51c.08-29-15-57-39-74-47-32-75-86-72-144z" class="jp-icon-contrast2 jp-icon-selectable"/>\n</svg>\n';const Je='<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14">\n <path fill="#616161" d="M12.471 7.529a.748.748 0 0 0-1.057-1.058L7.75 10.127V1.75a.75.75 0 0 0-1.5 0v8.378l-3.653-3.66a.753.753 0 1 0-1.065 1.064l4.76 4.76a1 1 0 0 0 1.415 0z" class="jp-icon3"/>\n</svg>\n';const Ge='<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14">\n <path fill="#616161" d="M1.529 6.471a.748.748 0 0 0 1.057 1.058L6.25 3.873v8.377a.75.75 0 0 0 1.5 0V3.873l3.653 3.659a.753.753 0 1 0 1.065-1.064l-4.76-4.76a1 1 0 0 0-1.415 0z" class="jp-icon3"/>\n</svg>\n';const Ye='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2m-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3z" class="jp-icon3"/>\n</svg>\n';const Xe='<svg xmlns="http://www.w3.org/2000/svg" width="16" fill="none" viewBox="0 0 25 25">\n <path stroke="#333" stroke-width="2" d="M4.86 14.44c-1.034-2.67-.996-5.382-.61-7.24 1.232-.267 2.83-.797 4.351-1.355a92 92 0 0 0 4.387-1.75 68 68 0 0 0 4.23 1.748c1.532.57 3.182 1.11 4.536 1.37.382 1.859.417 4.564-.615 7.228-1.109 2.862-3.472 5.743-8.139 7.494-4.667-1.75-7.03-4.632-8.14-7.494Zm11.824-5.12-7.368 7.365m7.368-.001L9.316 9.319" class="jp-icon2"/>\n</svg>\n';const Qe='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n <g fill="#EF6C00" class="jp-notebook-icon-color jp-icon-selectable">\n <path d="M18.7 3.3v15.4H3.3V3.3zm1.5-1.5H1.8v18.3h18.3z"/>\n <path d="m16.5 16.5-5.4-4.3-5.6 4.3v-11h11z"/>\n </g>\n</svg>\n';const Ze='<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 28 28">\n <path fill="#616161" d="M4 19h2v.5H5v1h1v.5H4v1h3v-4H4zm1-9h1V6H4v1h1zm-1 3h1.8L4 15.1v.9h3v-1H5.2L7 12.9V12H4zm5-6v2h14V7zm0 14h14v-2H9zm0-6h14v-2H9z" class="jp-icon3"/>\n</svg>\n';const et='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M12 2.02c-5.51 0-9.98 4.47-9.98 9.98s4.47 9.98 9.98 9.98 9.98-4.47 9.98-9.98S17.51 2.02 12 2.02M11.48 20v-6.26H8L13 4v6.26h3.35z" class="jp-icon3"/>\n</svg>\n';const tt='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M5 2h10l5 5v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6h1v2l4-3-4-3v2H3V4a2 2 0 0 1 2-2m7 16h4v-2h-4zm0-4h6v-2h-6zm0-4h6V8h-6zm-2 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-7-2v2H1v-2z" class="jp-icon3"/>\n</svg>\n';const nt='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <g fill="#616161" class="jp-icon3">\n <path d="M18 13v7H4V6h5.02c.05-.71.22-1.38.48-2H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-5zm1.3-4.11c.44-.7.7-1.51.7-2.39C20 4.01 17.99 2 15.5 2S11 4.01 11 6.5s2.01 4.5 4.49 4.5c.88 0 1.7-.26 2.39-.7L21 13.42 22.42 12zM15.5 9a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5"/>\n <path fill-rule="evenodd" d="M4 6h5.019a6.5 6.5 0 0 0 3.015 6H9v2h7v-1.019c.57-.043 1.12-.16 1.64-.341L18 13v7H4zm4 2H6v2h2zm-2 4h2v2H6zm2 4H6v2h2zm1 0h7v2H9z" clip-rule="evenodd"/>\n </g>\n</svg>\n';const it='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m7 18H5V4h2v3h10V4h2z" class="jp-icon3"/>\n</svg>\n';const st='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M7 6h4v12H7Zm6 0h4v12h-4z" class="jp-icon3"/>\n</svg>\n';const ot='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n <path fill="#FF2A2A" d="m17.933 13.667 3.987 3.987-1.117 1.117-2.51-2.51-1.066 1.067 2.36 2.36-1.117 1.117-2.36-2.36-2.43 2.429-1.477-1.478zm-6.163-3.93-3.496 3.496.53.53q.905.906 1.83.932.929.031 1.784-.825.852-.852.822-1.773t-.94-1.83zm-.36-2.594 1.557 1.558q1.305 1.305 1.754 2.13.456.825.468 1.727.015.79-.296 1.493-.31.702-.951 1.343-.649.648-1.355.963-.702.31-1.493.295-.905-.015-1.738-.472-.829-.46-2.118-1.75L5.68 12.874zm-5.76-5.76L8.1 3.835Q9.195 4.93 9.291 6q.103 1.07-.795 1.968-.901.902-1.976.802-1.067-.1-2.16-1.193l-.975-.975L1.397 8.59-.08 7.113Zm.406 2.548-1.6 1.6.817.818q.43.43.871.457.445.023.829-.361t.357-.825-.457-.871z" class="jp-icon-selectable"/>\n</svg>\n';const rt='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="-10 -10 131.161 132.389">\n <path fill="#306998" d="M54.919 0c-4.584.022-8.961.413-12.813 1.095C30.76 3.099 28.7 7.295 28.7 15.032v10.219h26.813v3.406H18.638c-7.793 0-14.616 4.684-16.75 13.594-2.462 10.213-2.571 16.586 0 27.25 1.905 7.938 6.457 13.594 14.25 13.594h9.218v-12.25c0-8.85 7.657-16.657 16.75-16.657h26.782c7.454 0 13.406-6.138 13.406-13.625v-25.53c0-7.267-6.13-12.726-13.406-13.938C64.282.328 59.502-.02 54.918 0m-14.5 8.22c2.77 0 5.031 2.298 5.031 5.125 0 2.816-2.262 5.093-5.031 5.093-2.78 0-5.031-2.277-5.031-5.093 0-2.827 2.251-5.125 5.03-5.125" class="jp-icon-selectable"/>\n <path fill="#ffd43b" d="M85.638 28.657v11.906c0 9.231-7.826 17-16.75 17H42.106c-7.336 0-13.406 6.279-13.406 13.625V96.72c0 7.266 6.319 11.54 13.406 13.625 8.488 2.495 16.627 2.946 26.782 0 6.75-1.955 13.406-5.888 13.406-13.625V86.5H55.513v-3.405H95.7c7.793 0 10.696-5.436 13.406-13.594 2.8-8.399 2.68-16.476 0-27.25-1.925-7.758-5.604-13.594-13.406-13.594zM70.575 93.313c2.78 0 5.031 2.278 5.031 5.094 0 2.827-2.251 5.125-5.031 5.125-2.77 0-5.031-2.298-5.031-5.125 0-2.816 2.261-5.094 5.031-5.094" class="jp-icon-selectable"/>\n</svg>\n';const at='<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid" width="16" height="16" viewBox="0 0 724 561">\n <path class="jp-icon-selectable" d="M361.453,485.937 C162.329,485.937 0.906,377.828 0.906,244.469 C0.906,111.109 162.329,3.000 361.453,3.000 C560.578,3.000 722.000,111.109 722.000,244.469 C722.000,377.828 560.578,485.937 361.453,485.937 ZM416.641,97.406 C265.289,97.406 142.594,171.314 142.594,262.484 C142.594,353.654 265.289,427.562 416.641,427.562 C567.992,427.562 679.687,377.033 679.687,262.484 C679.687,147.971 567.992,97.406 416.641,97.406 Z" fill="rgb(179,179,179)" fill-rule="evenodd"/>\n <path class="jp-icon-selectable" d="M550.000,377.000 C550.000,377.000 571.822,383.585 584.500,390.000 C588.899,392.226 596.510,396.668 602.000,402.500 C607.378,408.212 610.000,414.000 610.000,414.000 L696.000,559.000 L557.000,559.062 L492.000,437.000 C492.000,437.000 478.690,414.131 470.500,407.500 C463.668,401.969 460.755,400.000 454.000,400.000 C449.298,400.000 420.974,400.000 420.974,400.000 L421.000,558.974 L298.000,559.026 L298.000,152.938 L545.000,152.938 C545.000,152.938 657.500,154.967 657.500,262.000 C657.500,369.033 550.000,377.000 550.000,377.000 ZM496.500,241.024 L422.037,240.976 L422.000,310.026 L496.500,310.002 C496.500,310.002 531.000,309.895 531.000,274.877 C531.000,239.155 496.500,241.024 496.500,241.024 Z" fill="rgb(52,101,176)" fill-rule="evenodd"/>\n</svg>\n';const lt='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="150 150 541.9 295.3">\n <g fill="#61DAFB" class="jp-icon-brand2 jp-icon-selectable">\n <path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3m-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9m-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9m32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1M421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32m-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24q7.05 12 14.4 23.4M420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32m-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9m-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6s22.9-35.6 58.3-50.6c8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2M310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7m237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1m38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6M320.8 78.4"/>\n <circle cx="420.9" cy="296.5" r="45.7"/>\n </g>\n</svg>\n';const dt='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8 8 0 0 1 7.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7z" class="jp-icon3"/>\n</svg>\n';const ct='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 20 20">\n <path fill="#414141" d="M2 2h16v16H2z" class="jp-icon2"/>\n <g fill="#FFF" class="jp-icon-accent2">\n <circle cx="5.5" cy="14.5" r="1.5"/>\n <path d="M12 4h1v8h-1z"/>\n <path d="m8.786 9.567 6.928-4 .5.866-6.928 4z"/>\n <path d="m8.786 6.433.5-.866 6.928 4-.5.866z"/>\n </g>\n</svg>\n';const ht='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M8 5v14l11-7z" class="jp-icon3"/>\n</svg>\n';const ut='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 512 512">\n <path fill="#616161" d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8m96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z" class="jp-icon3"/>\n</svg>\n';const pt='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M17 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z" class="jp-icon3"/>\n</svg>\n';const mt='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 18 18">\n <path fill="#616161" d="M12.1 10.9h-.7l-.2-.2c.8-.9 1.3-2.2 1.3-3.5 0-3-2.4-5.4-5.4-5.4S1.8 4.2 1.8 7.1s2.4 5.4 5.4 5.4c1.3 0 2.5-.5 3.5-1.3l.2.2v.7l4.1 4.1 1.2-1.2zm-5 0c-2.1 0-3.7-1.7-3.7-3.7s1.7-3.7 3.7-3.7 3.7 1.7 3.7 3.7-1.6 3.7-3.7 3.7" class="jp-icon3"/>\n</svg>\n';const gt='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16">\n <circle cx="10" cy="7" r="6" fill="var(--jp-warn-color1, #f57c00)" />\n <circle cx="10" cy="7" r="4" stroke="var(--jp-layout-color0, #fff)" stroke-width="1.3" />\n</svg>\n';const ft='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65A.49.49 0 0 0 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n';const vt='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M18 2c-1.645 0-3 1.355-3 3 0 .191.022.377.057.559L7.922 9.72A2.97 2.97 0 0 0 6 9c-1.645 0-3 1.355-3 3s1.355 3 3 3c.732 0 1.399-.278 1.922-.72l7.135 4.16A3 3 0 0 0 15 19c0 1.645 1.355 3 3 3s3-1.355 3-3-1.355-3-3-3a2.97 2.97 0 0 0-1.922.723l-7.135-4.164C8.978 12.377 9 12.19 9 12s-.022-.377-.057-.559l7.135-4.162C16.601 7.722 17.268 8 18 8c1.645 0 3-1.355 3-3s-1.355-3-3-3m0 2c.564 0 1 .436 1 1s-.436 1-1 1-1-.436-1-1 .436-1 1-1M6 11c.564 0 1 .436 1 1s-.436 1-1 1-1-.436-1-1 .436-1 1-1m12 7c.564 0 1 .436 1 1s-.436 1-1 1-1-.436-1-1 .436-1 1-1" class="jp-icon3"/>\n</svg>\n';const _t='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n <path fill="#4CAF50" d="M2.2 2.2v17.6h17.6V2.2zm15.4 7.7h-5.5V4.4h5.5zM9.9 4.4v5.5H4.4V4.4zm-5.5 7.7h5.5v5.5H4.4zm7.7 5.5v-5.5h5.5v5.5z" class="jp-icon-contrast1 jp-icon-selectable"/>\n</svg>\n';const bt='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">\n <path fill="#616161" d="M8 9.532h.542l3.905-3.905-1.061-1.06-2.637 2.61V1H7.251v6.177l-2.637-2.61-1.061 1.06 3.905 3.905zm1.956 3.481a2 2 0 1 1-4 0 2 2 0 0 1 4 0" class="jp-icon3"/>\n</svg>\n';const yt='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">\n <path fill="#616161" d="M8 1h-.542L3.553 4.905l1.061 1.06 2.637-2.61v6.177h1.498V3.355l2.637 2.61 1.061-1.06L8.542 1zm1.956 12.013a2 2 0 1 1-4 0 2 2 0 0 1 4 0" class="jp-icon3"/>\n</svg>\n';const wt='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">\n <path fill="#616161" d="M14.25 5.75v-4h-1.5v2.542c-1.145-1.359-2.911-2.209-4.84-2.209-3.177 0-5.92 2.307-6.16 5.398l-.02.269h1.5l.022-.226c.212-2.195 2.202-3.94 4.656-3.94 1.736 0 3.244.875 4.05 2.166h-2.83v1.5h4.163l.962-.975V5.75zM8 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4" class="jp-icon3"/>\n</svg>\n';const Ct='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M6 6h12v12H6z" class="jp-icon3"/>\n</svg>\n';const xt='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 16H3V5h10v4h8z" class="jp-icon3"/>\n</svg>\n';const St='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M21 8H3V4h18zm0 2H3v4h18zm0 6H3v4h18z" class="jp-icon3"/>\n</svg>\n';const jt='<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 43 28">\n <path fill="#616161" d="M28.833 12.334 33 16.501l4.166-4.167zM16.21 21.61c-.523.52-1.366.52-1.885 0l-7.342-6.885c-.41-.386-.9-1.115-.935-1.677-.095-1.52-.028-4.429.018-5.971A1.093 1.093 0 0 1 7.118 6.03c1.97-.046 6.146-.095 6.534.293l8.085 7.315c.519.52.048 1.833-.475 2.356zM9.775 8.265a1.126 1.126 0 1 0-1.593 1.592 1.126 1.126 0 0 0 1.593-1.592" class="jp-icon3"/>\n</svg>\n';const kt='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#333" d="M2 2h20v20H2z" class="jp-terminal-icon-background-color jp-icon-selectable"/>\n <path fill="#fff" d="M9.01 14.762q0-.246-.077-.434a.9.9 0 0 0-.234-.351 1.6 1.6 0 0 0-.422-.288 5 5 0 0 0-.627-.263q-.592-.211-1.078-.446a3.5 3.5 0 0 1-.832-.544 2.2 2.2 0 0 1-.528-.721 2.4 2.4 0 0 1-.187-.985q0-.498.17-.908a2.1 2.1 0 0 1 .48-.72q.31-.306.75-.493.44-.188.979-.24V7.11h.937v1.272q.527.07.95.287.421.217.714.568.3.345.457.82.165.47.164 1.055H8.998q0-.709-.323-1.072-.322-.37-.873-.37-.299 0-.521.083a.9.9 0 0 0-.358.223.9.9 0 0 0-.21.334q-.066.194-.065.421 0 .23.064.41a.9.9 0 0 0 .229.329q.165.152.428.293.263.134.656.275.591.223 1.072.463.48.235.82.55.346.312.528.727.187.41.187.973 0 .515-.17.932-.17.41-.486.709t-.762.48a3.7 3.7 0 0 1-.996.229v1.148h-.931V17.1a4 4 0 0 1-.967-.217 2.6 2.6 0 0 1-.832-.504 2.4 2.4 0 0 1-.574-.826q-.217-.505-.217-1.207h1.635q0 .421.123.709.123.281.316.45.2.165.451.235.252.07.516.07.627 0 .949-.292a.98.98 0 0 0 .322-.756m8.36 3.51h-5.343V17h5.344z" class="jp-terminal-icon-color jp-icon-selectable-inverse"/>\n</svg>\n';const It='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M15 15H3v2h12zm0-8H3v2h12zM3 13h18v-2H3zm0 8h18v-2H3zM3 3v2h18V3z" class="jp-text-editor-icon-color jp-icon-selectable"/>\n</svg>\n';const Tt='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M7 5h14v2H7zm0 8v-2h14v2zM4 4.5A1.5 1.5 0 0 1 5.5 6 1.5 1.5 0 0 1 4 7.5 1.5 1.5 0 0 1 2.5 6 1.5 1.5 0 0 1 4 4.5m0 6A1.5 1.5 0 0 1 5.5 12 1.5 1.5 0 0 1 4 13.5 1.5 1.5 0 0 1 2.5 12 1.5 1.5 0 0 1 4 10.5M7 19v-2h14v2zm-3-2.5A1.5 1.5 0 0 1 5.5 18 1.5 1.5 0 0 1 4 19.5 1.5 1.5 0 0 1 2.5 18 1.5 1.5 0 0 1 4 16.5" class="jp-icon3 jp-icon-selectable"/>\n</svg>\n';const Et='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3z" class="jp-icon3"/>\n</svg>\n';const Mt='<svg xmlns="http://www.w3.org/2000/svg" width="16" fill="none" viewBox="0 0 24 25">\n <path stroke="#333" stroke-width="2" d="M3.86 14.44c-1.034-2.67-.996-5.382-.61-7.24 1.232-.267 2.83-.797 4.351-1.355a92 92 0 0 0 4.387-1.75 68 68 0 0 0 4.23 1.748c1.532.57 3.182 1.11 4.536 1.37.382 1.859.417 4.564-.615 7.228-1.109 2.862-3.472 5.743-8.139 7.494-4.667-1.75-7.03-4.632-8.14-7.494Z" class="jp-icon2"/>\n <path fill="#333" stroke="#333" d="m10.86 14.733-2.133-1.866-.727.63L10.86 16 16 10.5l-.721-.632z" class="jp-icon2"/>\n</svg>\n';const Dt='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8" class="jp-icon3"/>\n</svg>\n';const At='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path fill="#616161" d="M16 7a4 4 0 1 1-8 0 4 4 0 0 1 8 0m-4 7a7 7 0 0 0-7 7h14a7 7 0 0 0-7-7" class="jp-icon3"/>\n</svg>\n';const Pt='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" version="1.1" viewBox="0 0 36 24">\n <g fill="#616161" class="jp-icon3" transform="translate(-3.628 .1)scale(1.7327)">\n <path d="M18.279 5.265c-1.58 0-2.964.85-3.718 2.115a6.7 6.7 0 0 1 2.81 2.21h5.23a4.32 4.32 0 0 0-4.322-4.325m2.186-2.875a2.19 2.19 0 0 1-2.188 2.188 2.19 2.19 0 0 1-2.189-2.189A2.19 2.19 0 0 1 18.277.201a2.19 2.19 0 0 1 2.188 2.188M5.385 6.633a3.02 3.02 0 0 0-3.02 3.02h4.22a6.7 6.7 0 0 1 1.44-1.467 3.02 3.02 0 0 0-2.64-1.553m1.53-2.01a1.53 1.53 0 0 1-1.529 1.53 1.53 1.53 0 0 1-1.53-1.53 1.53 1.53 0 0 1 1.53-1.53 1.53 1.53 0 0 1 1.53 1.53m-.781 8.912a5.865 5.865 0 0 1 11.73 0z"/>\n <circle cx="12" cy="3.768" r="2.969"/>\n </g>\n</svg>\n';const Lt='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16">\n <path fill="#007ACC" fill-rule="evenodd" d="m1.5 4-.5.5v8l.5.5H4v-1H2V5h2V4zm13 9 .5-.5v-8l-.5-.5H12v1h2v7h-2v1zM8.797 5l-4.5 2L4 7.457v2.5l.243.429 2.5 1.5.46.028 4.5-2L12 9.457v-2.5l-.243-.429-2.5-1.5zM5 8.34v1.334l1.5.9V9.24zm2.5.942v1.406L11 9.131V7.726zm2.918-2.391-1.452-.872-3.384 1.504 1.452.871z" clip-rule="evenodd"/>\n</svg>\n';const Rt='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n <g fill="#212121" class="jp-icon1 jp-icon-selectable">\n <path d="m10.6 5.4 2.2-3.2H2.2v7.3l4-6.6z"/>\n <path d="m15.8 2.2-4.4 6.6L7 6.3l-4.8 8v5.5h17.6V2.2zm-7 15.4H5.5v-4.4h3.3zm4.4 0H9.8V9.8h3.4zm4.4 0h-3.4V6.5h3.4z"/>\n </g>\n</svg>\n';const Nt='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24">\n <path class="jp-icon3 jp-icon-selectable" fill="#616161" d="M18 3v2h-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z"/>\n <path d="M0 0h24v24H0z" fill="none"/>\n</svg>\n';const Bt='<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path fill="#616161" d="M5 2h10l5 5v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6h1v2l4-3-4-3v2H3V4a2 2 0 0 1 2-2m7 16h4v-2h-4zm0-4h6v-2h-6zm0-4h6V8h-6zm-2 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-7-2v2H1v-2z" class="jp-icon3"/>\n</svg>\n';const Ot='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 20 20">\n <path fill="#414141" d="M2 2h16v16H2z" class="jp-icon2"/>\n <path fill="#fff" d="M4.57 8.8q.068-1.89 2.42-1.89 1.16 0 1.68.42.567.41.567 1.16v3.47q0 .462.514.462.103 0 .2-.023v.714q-.399.103-.651.103-.452 0-.693-.22-.231-.2-.284-.662-.956.872-2 .872-.903 0-1.47-.472-.525-.472-.525-1.26 0-.262.045-.472.057-.22.116-.378.068-.168.231-.304l.262-.242q.116-.091.368-.168.262-.091.4-.126.135-.045.471-.103t.504-.08l.567-.08q.556-.068.777-.22.22-.153.22-.442v-.252q0-.43-.357-.662-.336-.23-.976-.23-.662 0-.998.261-.336.252-.399.798zm1.89 3.68q.788 0 1.26-.41.504-.42.504-.903v-1.05q-.284.136-.861.231l-.987.158q-.42.068-.766.326-.336.252-.336.704t.304.704.861.252zm3.97-7.88h.945v3.15q.651-.976 1.89-.976 1.16 0 1.89.84.682.84.682 2.31t-.704 2.42q-.704.882-1.89.882-1.26 0-1.89-1.02v.766h-.85zm2.62 3.04q-.746 0-1.16.64-.452.63-.452 1.68t.452 1.68 1.16.63q.777 0 1.26-.63.494-.64.494-1.68 0-1.05-.472-1.68-.462-.64-1.26-.64zm-9.89 8.2 13.6.008c.007 0 0-2.6 0-2.6 0-.008-1.15 0-1.15 0-.007 0-.008 1.5-.008 1.5l-11.3-.001-.006-1.5c0-.008-1.17.001-1.17.001z" class="jp-icon-accent2"/>\n</svg>\n';const Ft='<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 22 22">\n <g fill="#D81B60" class="jp-icon-contrast2 jp-icon-selectable">\n <path d="M7.2 18.6v-5.4L3 5.6h3.3l1.4 3.1c.3.9.6 1.6 1 2.5.3-.8.6-1.6 1-2.5l1.4-3.1h3.4l-4.4 7.6v5.5z"/>\n <circle cx="17.6" cy="16.5" r="2.1"/>\n <circle cx="17.6" cy="11" r="2.1"/>\n </g>\n</svg>\n';const zt=new C({name:"ui-components:add-above",svgstr:k});const Wt=new C({name:"ui-components:add-below",svgstr:I});const Ht=new C({name:"ui-components:add",svgstr:T});const Vt=new C({name:"ui-components:audio",svgstr:E});const Ut=new C({name:"ui-components:bell",svgstr:M});const qt=new C({name:"ui-components:breakpoint",svgstr:D});const $t=new C({name:"ui-components:bug-dot",svgstr:A});const Kt=new C({name:"ui-components:bug",svgstr:P});const Jt=new C({name:"ui-components:build",svgstr:L});const Gt=new C({name:"ui-components:caret-down-empty",svgstr:R});const Yt=new C({name:"ui-components:caret-down-empty-thin",svgstr:N});const Xt=new C({name:"ui-components:caret-down",svgstr:B});const Qt=new C({name:"ui-components:caret-left",svgstr:O});const Zt=new C({name:"ui-components:caret-right",svgstr:F});const en=new C({name:"ui-components:caret-up-empty-thin",svgstr:z});const tn=new C({name:"ui-components:caret-up",svgstr:W});const nn=new C({name:"ui-components:case-sensitive",svgstr:H});const sn=new C({name:"ui-components:check",svgstr:V});const on=new C({name:"ui-components:circle-empty",svgstr:U});const rn=new C({name:"ui-components:circle",svgstr:q});const an=new C({name:"ui-components:cleaning",svgstr:$});const ln=new C({name:"ui-components:clear",svgstr:K});const dn=new C({name:"ui-components:close-all",svgstr:J});const cn=new C({name:"ui-components:close",svgstr:G});const hn=new C({name:"ui-components:code-check",svgstr:Y});const un=new C({name:"ui-components:code",svgstr:X});const pn=new C({name:"ui-components:collapse-all",svgstr:Q});const mn=new C({name:"ui-components:collapse",svgstr:Z});const gn=new C({name:"ui-components:console",svgstr:ee});const fn=new C({name:"ui-components:copy",svgstr:te});const vn=new C({name:"ui-components:copyright",svgstr:ne});const _n=new C({name:"ui-components:cut",svgstr:ie});const bn=new C({name:"ui-components:delete",svgstr:se});const yn=new C({name:"ui-components:dock-bottom",svgstr:oe});const wn=new C({name:"ui-components:dock-left",svgstr:re});const Cn=new C({name:"ui-components:dock-right",svgstr:ae});const xn=new C({name:"ui-components:dock-top",svgstr:le});const Sn=new C({name:"ui-components:dots",svgstr:de});const jn=new C({name:"ui-components:download",svgstr:ce});const kn=new C({name:"ui-components:duplicate",svgstr:he});const In=new C({name:"ui-components:edit",svgstr:ue});const Tn=new C({name:"ui-components:ellipses",svgstr:pe});const En=new C({name:"ui-components:error",svgstr:me});const Mn=new C({name:"ui-components:exceptions",svgstr:ge});const Dn=new C({name:"ui-components:expand-all",svgstr:fe});const An=new C({name:"ui-components:expand",svgstr:ve});const Pn=new C({name:"ui-components:extension",svgstr:_e});const Ln=new C({name:"ui-components:fast-forward",svgstr:be});const Rn=new C({name:"ui-components:file",svgstr:ye});const Nn=new C({name:"ui-components:file-upload",svgstr:we});const Bn=new C({name:"ui-components:filter-dot",svgstr:Ce});const On=new C({name:"ui-components:filter",svgstr:Se});const Fn=new C({name:"ui-components:filter-list",svgstr:xe});const zn=new C({name:"ui-components:folder-favorite",svgstr:je});const Wn=new C({name:"ui-components:folder",svgstr:ke});const Hn=new C({name:"ui-components:history",svgstr:Ie});const Vn=new C({name:"ui-components:home",svgstr:Te});const Un=new C({name:"ui-components:html5",svgstr:Ee});const qn=new C({name:"ui-components:image",svgstr:Me});const $n=new C({name:"ui-components:info",svgstr:De});const Kn=new C({name:"ui-components:inspector",svgstr:Ae});const Jn=new C({name:"ui-components:json",svgstr:Pe});const Gn=new C({name:"ui-components:julia",svgstr:Le});const Yn=new C({name:"ui-components:jupyter-favicon",svgstr:Re});const Xn=new C({name:"ui-components:jupyter",svgstr:Ne});const Qn=new C({name:"ui-components:jupyterlab-wordmark",svgstr:Be});const Zn=new C({name:"ui-components:kernel",svgstr:Oe});const ei=new C({name:"ui-components:keyboard",svgstr:Fe});const ti=new C({name:"ui-components:launch",svgstr:ze});const ni=new C({name:"ui-components:launcher",svgstr:We});const ii=new C({name:"ui-components:line-form",svgstr:He});const si=new C({name:"ui-components:link",svgstr:Ve});const oi=new C({name:"ui-components:list",svgstr:Ue});const ri=new C({name:"ui-components:lock",svgstr:qe});const ai=new C({name:"ui-components:markdown",svgstr:$e});const li=new C({name:"ui-components:mermaid",svgstr:Ke});const di=new C({name:"ui-components:move-down",svgstr:Je});const ci=new C({name:"ui-components:move-up",svgstr:Ge});const hi=new C({name:"ui-components:new-folder",svgstr:Ye});const ui=new C({name:"ui-components:not-trusted",svgstr:Xe});const pi=new C({name:"ui-components:notebook",svgstr:Qe});const mi=new C({name:"ui-components:numbering",svgstr:Ze});const gi=new C({name:"ui-components:offline-bolt",svgstr:et});const fi=new C({name:"ui-components:open-kernel-source",svgstr:tt});const vi=new C({name:"ui-components:palette",svgstr:nt});const _i=new C({name:"ui-components:paste",svgstr:it});const bi=new C({name:"ui-components:pause",svgstr:st});const yi=new C({name:"ui-components:pdf",svgstr:ot});const wi=new C({name:"ui-components:python",svgstr:rt});const Ci=new C({name:"ui-components:r-kernel",svgstr:at});const xi=new C({name:"ui-components:react",svgstr:lt});const Si=new C({name:"ui-components:redo",svgstr:dt});const ji=new C({name:"ui-components:refresh",svgstr:b});const ki=new C({name:"ui-components:regex",svgstr:ct});const Ii=new C({name:"ui-components:run",svgstr:ht});const Ti=new C({name:"ui-components:running",svgstr:ut});const Ei=new C({name:"ui-components:save",svgstr:pt});const Mi=new C({name:"ui-components:search",svgstr:mt});const Di=new C({name:"ui-components:selected-breakpoint",svgstr:gt});const Ai=new C({name:"ui-components:settings",svgstr:ft});const Pi=new C({name:"ui-components:share",svgstr:vt});const Li=new C({name:"ui-components:spreadsheet",svgstr:_t});const Ri=new C({name:"ui-components:step-into",svgstr:bt});const Ni=new C({name:"ui-components:step-out",svgstr:yt});const Bi=new C({name:"ui-components:step-over",svgstr:wt});const Oi=new C({name:"ui-components:stop",svgstr:Ct});const Fi=new C({name:"ui-components:tab",svgstr:xt});const zi=new C({name:"ui-components:table-rows",svgstr:St});const Wi=new C({name:"ui-components:tag",svgstr:jt});const Hi=new C({name:"ui-components:terminal",svgstr:kt});const Vi=new C({name:"ui-components:text-editor",svgstr:It});const Ui=new C({name:"ui-components:toc",svgstr:Tt});const qi=new C({name:"ui-components:tree-view",svgstr:Et});const $i=new C({name:"ui-components:trusted",svgstr:Mt});const Ki=new C({name:"ui-components:undo",svgstr:Dt});const Ji=new C({name:"ui-components:user",svgstr:At});const Gi=new C({name:"ui-components:users",svgstr:Pt});const Yi=new C({name:"ui-components:variable",svgstr:Lt});const Xi=new C({name:"ui-components:vega",svgstr:Rt});const Qi=new C({name:"ui-components:video",svgstr:Nt});const Zi=new C({name:"ui-components:view-breakpoint",svgstr:Bt});const es=new C({name:"ui-components:word",svgstr:Ot});const ts=new C({name:"ui-components:yaml",svgstr:Ft});const ns="jp-Collapse";const is="jp-Collapse-contents";const ss="jp-Collapse-header";const os="jp-Collapse-header-collapsed";const rs="jp-Collapser-icon";const as="jp-Collapser-title";class ls extends m.Widget{constructor(e){super(e);this._collapseChanged=new p.Signal(this);const{widget:t,collapsed:n=true}=e;this.addClass(ns);this._header=new m.Widget;this._header.addClass(ss);if(n){this._header.addClass(os)}this._header.node.appendChild(Xt.element({className:rs}));const i=document.createElement("span");i.classList.add(as);i.textContent=t.title.label;this._header.node.appendChild(i);this._content=new m.Panel;this._content.addClass(is);const s=new m.PanelLayout;this.layout=s;s.addWidget(this._header);s.addWidget(this._content);this.widget=t;this.collapsed=n}get widget(){return this._widget}set widget(e){const t=this._widget;if(t){t.title.changed.disconnect(this._onTitleChanged,this);t.parent=null}this._widget=e;e.title.changed.connect(this._onTitleChanged,this);this._onTitleChanged(e.title);this._content.addWidget(e)}get collapsed(){return this._collapsed}set collapsed(e){if(e===this._collapsed){return}if(e){this._collapse()}else{this._uncollapse()}}get collapseChanged(){return this._collapseChanged}toggle(){this.collapsed=!this.collapsed}dispose(){if(this.isDisposed){return}this._header=null;this._widget=null;this._content=null;super.dispose()}handleEvent(e){switch(e.type){case"click":this._evtClick(e);break;default:break}}onAfterAttach(e){this._header.node.addEventListener("click",this)}onBeforeDetach(e){this._header.node.removeEventListener("click",this)}_collapse(){this._collapsed=true;if(this._content){this._content.hide()}this._setHeader();this._collapseChanged.emit(void 0)}_uncollapse(){this._collapsed=false;if(this._content){this._content.show()}this._setHeader();this._collapseChanged.emit(void 0)}_evtClick(e){this.toggle()}_onTitleChanged(e){this._setHeader()}_setHeader(){if(this._collapsed){this._header.addClass(os)}else{this._header.removeClass(os)}}}var ds=n(34881);var cs=n(67097);var hs=n(12776);const us={submitButtonOptions:{norender:true}};const ps=e=>{var t;const n=((t=e.translator)!==null&&t!==void 0?t:ds.nullTranslator).load("jupyterlab");let i;const o=()=>{if(e.direction==="up"){return!e.item.hasMoveUp}else{return!e.item.hasMoveDown}};if(e.buttonStyle==="icons"){const t={tag:"span",elementSize:"xlarge",elementPosition:"center"};i=e.direction==="up"?s().createElement(tn.react,{...t}):s().createElement(Xt.react,{...t})}else{i=e.direction==="up"?n.__("Move up"):n.__("Move down")}const r=e.direction==="up"?e.item.index-1:e.item.index+1;return s().createElement("button",{className:"jp-mod-styled jp-mod-reject jp-ArrayOperationsButton",onClick:e.item.onReorderClick(e.item.index,r),disabled:o()},i)};const ms=e=>{var t;const n=((t=e.translator)!==null&&t!==void 0?t:ds.nullTranslator).load("jupyterlab");let i;if(e.buttonStyle==="icons"){i=s().createElement(cn.react,{tag:"span",elementSize:"xlarge",elementPosition:"center"})}else{i=n.__("Remove")}return s().createElement("button",{className:"jp-mod-styled jp-mod-warn jp-ArrayOperationsButton",onClick:e.item.onDropIndexClick(e.item.index)},i)};const gs=e=>{var t;const n=((t=e.translator)!==null&&t!==void 0?t:ds.nullTranslator).load("jupyterlab");let i;if(e.buttonStyle==="icons"){i=s().createElement(Ht.react,{tag:"span",elementSize:"xlarge",elementPosition:"center"})}else{i=n.__("Add")}return s().createElement("button",{className:"jp-mod-styled jp-mod-reject jp-ArrayOperationsButton",onClick:e.onAddClick},i)};function fs(e){const{component:t,name:n,buttonStyle:i,compact:s,showModifiedFromDefault:o,translator:r}=e;const a=s!==null&&s!==void 0?s:false;const l=i!==null&&i!==void 0?i:a?"icons":"text";const d=e=>t({...e,buttonStyle:l,compact:a,showModifiedFromDefault:o!==null&&o!==void 0?o:true,translator:r!==null&&r!==void 0?r:ds.nullTranslator});if(n){d.displayName=n}return d}function vs(e,t){const n=(0,hs.getTemplate)("TitleFieldTemplate",e,t);const i=(0,hs.getTemplate)("DescriptionFieldTemplate",e,t);return{TitleField:n,DescriptionField:i}}const _s=e=>fs({...e,name:"JupyterLabArrayTemplate",component:e=>{var t;const{schema:n,registry:i,uiSchema:o,required:r}=e;const a={schema:n,registry:i,uiSchema:o,required:r};const{TitleField:l,DescriptionField:d}=vs(i,o);return s().createElement("div",{className:e.className},e.compact?s().createElement("div",{className:"jp-FormGroup-compactTitle"},s().createElement("div",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem",id:`${e.idSchema.$id}__title`},e.title||""),s().createElement("div",{className:"jp-FormGroup-description",id:`${e.idSchema.$id}-description`},e.schema.description||"")):s().createElement(s().Fragment,null,e.title&&s().createElement(l,{...a,title:e.title,id:`${e.idSchema.$id}-title`}),s().createElement(d,{...a,id:`${e.idSchema.$id}-description`,description:(t=e.schema.description)!==null&&t!==void 0?t:""})),e.items.map((t=>s().createElement("div",{key:t.key,className:t.className},t.children,s().createElement("div",{className:"jp-ArrayOperations"},s().createElement(ps,{buttonStyle:e.buttonStyle,translator:e.translator,item:t,direction:"up"}),s().createElement(ps,{buttonStyle:e.buttonStyle,translator:e.translator,item:t,direction:"down"}),s().createElement(ms,{buttonStyle:e.buttonStyle,translator:e.translator,item:t}))))),e.canAdd&&s().createElement(gs,{onAddClick:e.onAddClick,buttonStyle:e.buttonStyle,translator:e.translator}))}});const bs=e=>fs({...e,name:"JupyterLabObjectTemplate",component:e=>{var t;const{schema:n,registry:i,uiSchema:o,required:r}=e;const a={schema:n,registry:i,uiSchema:o,required:r};const{TitleField:l,DescriptionField:d}=vs(i,o);return s().createElement("fieldset",{id:e.idSchema.$id},e.compact?s().createElement("div",{className:"jp-FormGroup-compactTitle"},s().createElement("div",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem",id:`${e.idSchema.$id}__title`},e.title||""),s().createElement("div",{className:"jp-FormGroup-description",id:`${e.idSchema.$id}__description`},e.schema.description||"")):s().createElement(s().Fragment,null,(e.title||(e.uiSchema||g.JSONExt.emptyObject)["ui:title"])&&s().createElement(l,{...a,id:`${e.idSchema.$id}__title`,title:e.title||`${(e.uiSchema||g.JSONExt.emptyObject)["ui:title"]}`||""}),s().createElement(d,{...a,id:`${e.idSchema.$id}__description`,description:(t=e.schema.description)!==null&&t!==void 0?t:""})),e.properties.map((e=>e.content)),(0,hs.canExpand)(e.schema,e.uiSchema,e.formData)&&s().createElement(gs,{onAddClick:e.onAddClick(e.schema),buttonStyle:e.buttonStyle,translator:e.translator}))}});const ys=e=>fs({...e,name:"JupyterLabFieldTemplate",component:e=>{var t;const n=((t=e.translator)!==null&&t!==void 0?t:ds.nullTranslator).load("jupyterlab");let i=false;let o;const{formData:r,schema:a,label:l,displayLabel:d,id:c,formContext:h,errors:u,rawErrors:p,children:m,onKeyChange:f,onDropPropertyClick:v}=e;const{defaultFormData:_}=h;const b=c.split("_");b.shift();const y=b.join(".");const w=y==="";const C=y===(e.uiSchema||g.JSONExt.emptyObject)["ui:field"];if(e.showModifiedFromDefault){o=b.reduce(((e,t)=>e===null||e===void 0?void 0:e[t]),_);i=!w&&r!==undefined&&o!==undefined&&!a.properties&&a.type!=="array"&&!g.JSONExt.deepEqual(r,o)}const x=!w&&a.type!="object"&&c!="jp-SettingsEditor-@jupyterlab/shortcuts-extension:shortcuts_shortcuts";const S=a.hasOwnProperty(hs.ADDITIONAL_PROPERTY_FLAG);const j=!(a.type==="object"||a.type==="array");return s().createElement("div",{className:`form-group ${d||a.type==="boolean"?"small-field":""}`},!C&&((p===null||p===void 0?void 0:p.length)?s().createElement("div",{className:"jp-modifiedIndicator jp-errorIndicator"}):i&&s().createElement("div",{className:"jp-modifiedIndicator"})),s().createElement("div",{className:`jp-FormGroup-content ${e.compact?"jp-FormGroup-contentCompact":"jp-FormGroup-contentNormal"}`},j&&d&&!w&&l&&!S?e.compact?s().createElement("div",{className:"jp-FormGroup-compactTitle"},s().createElement("div",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem"},l),j&&a.description&&x&&s().createElement("div",{className:"jp-FormGroup-description"},a.description)):s().createElement("h3",{className:"jp-FormGroup-fieldLabel jp-FormGroup-contentItem"},l):s().createElement(s().Fragment,null),S&&s().createElement("input",{className:"jp-FormGroup-contentItem jp-mod-styled",type:"text",onBlur:e=>f(e.target.value),defaultValue:l}),s().createElement("div",{className:`${w?"jp-root":a.type==="object"?"jp-objectFieldWrapper":a.type==="array"?"jp-arrayFieldWrapper":"jp-inputFieldWrapper jp-FormGroup-contentItem"}`},m),S&&s().createElement("button",{className:"jp-FormGroup-contentItem jp-mod-styled jp-mod-warn jp-FormGroup-removeButton",onClick:v(l)},n.__("Remove")),!e.compact&&a.description&&x&&s().createElement("div",{className:"jp-FormGroup-description"},a.description),i&&o!==undefined&&a.type!=="object"&&s().createElement("div",{className:"jp-FormGroup-default"},n.__("Default: %1",o!==null?o.toLocaleString():"null")),s().createElement("div",{className:"validationErrors"},u)))}});function ws(e){const{buttonStyle:t,compact:n,showModifiedFromDefault:i,translator:o,formContext:r,...a}=e;const l={...a.uiSchema||g.JSONExt.emptyObject};l["ui:options"]={...us,...l["ui:options"]};a.uiSchema=l;const{FieldTemplate:d,ArrayFieldTemplate:c,ObjectFieldTemplate:h}=e.templates||g.JSONExt.emptyObject;const u={buttonStyle:t,compact:n,showModifiedFromDefault:i,translator:o};const p=s().useMemo((()=>d!==null&&d!==void 0?d:ys(u)),[d,t,n,i,o]);const m=s().useMemo((()=>c!==null&&c!==void 0?c:_s(u)),[c,t,n,i,o]);const f=s().useMemo((()=>h!==null&&h!==void 0?h:bs(u)),[h,t,n,i,o]);const v={FieldTemplate:p,ArrayFieldTemplate:m,ObjectFieldTemplate:f};return s().createElement(cs.Ay,{templates:v,formContext:r,...a})}const Cs="jp-DefaultStyle";const xs="jp-HTMLSelect";class Ss extends i.Component{render(){const{className:e,defaultStyle:t=true,disabled:n,elementRef:s,iconProps:o,icon:r=Gt,options:l=[],...d}=this.props;const c=a(xs,{[Cs]:t},e);const h=e=>{e.stopPropagation()};const u=l.map((e=>{const t=typeof e==="object"?e:{value:e};return i.createElement("option",{...t,key:t.value},t.label||t.value)}));return i.createElement("div",{className:c},i.createElement("select",{onFocus:h,disabled:n,ref:s,...d,multiple:false},u,d.children),i.createElement(r.react,{tag:"span",stylesheet:"select",right:"4px",top:"8px",...o}))}}class js extends m.Widget{constructor(e={}){super({node:ks.createNode()});this._sandbox=[];this.addClass("jp-IFrame");this.sandbox=e.sandbox||[];this.referrerPolicy=e.referrerPolicy||"no-referrer";this.loading=e.loading||"eager"}get referrerPolicy(){return this._referrerPolicy}set referrerPolicy(e){if(this._referrerPolicy===e){return}this._referrerPolicy=e;const t=this.node.querySelector("iframe");t.setAttribute("referrerpolicy",e)}get loading(){return this._loading}set loading(e){if(this._loading===e){return}this._loading=e;const t=this.node.querySelector("iframe");t.setAttribute("loading",e)}get sandbox(){return this._sandbox.slice()}set sandbox(e){this._sandbox=e.slice();const t=this.node.querySelector("iframe");const n=e.length?e.join(" "):"";t.setAttribute("sandbox",n)}get url(){return this.node.querySelector("iframe").getAttribute("src")||""}set url(e){this.node.querySelector("iframe").setAttribute("src",e)}}var ks;(function(e){function t(){const e=document.createElement("div");const t=document.createElement("iframe");t.setAttribute("sandbox","");t.style.height="100%";t.style.width="100%";e.appendChild(t);return e}e.createNode=t})(ks||(ks={}));function Is(e){const{className:t,inputRef:n,rightIcon:i,...o}=e;return s().createElement("div",{className:a("jp-InputGroup",t)},s().createElement("input",{ref:n,...o}),i&&s().createElement("span",{className:"jp-InputGroupAction"},typeof i==="string"?s().createElement(C.resolveReact,{icon:i,elementPosition:"center",tag:"span"}):s().createElement(i.react,{elementPosition:"center",tag:"span"})))}var Ts=n(34236);var Es=n(90044);var Ms;(function(e){e.DEFAULT_RANK=100})(Ms||(Ms={}));class Ds extends m.Menu{constructor(e){var t;super(e);this._ranks=[];this.addClass("jp-ThemedContainer");this._rank=e.rank;this._includeSeparators=(t=e.includeSeparators)!==null&&t!==void 0?t:true}get rank(){return this._rank}addGroup(e,t){if(e.length===0){return new Es.DisposableDelegate((()=>void 0))}const n=t!==null&&t!==void 0?t:Ms.DEFAULT_RANK;const i=e.map((e=>{var t;return{...e,rank:(t=e.rank)!==null&&t!==void 0?t:n}})).sort(((e,t)=>e.rank-t.rank));let s=this._ranks.findIndex((e=>i[0].rank<e));if(s<0){s=this._ranks.length}const o=[];if(this._includeSeparators){o.push(this.insertItem(s++,{type:"separator",rank:n}))}o.push(...i.map((e=>this.insertItem(s++,e))));if(this._includeSeparators){o.push(this.insertItem(s++,{type:"separator",rank:n}))}return new Es.DisposableDelegate((()=>{o.forEach((e=>e.dispose()))}))}addItem(e){let t=-1;if(e.rank){t=this._ranks.findIndex((t=>e.rank<t))}if(t<0){t=this._ranks.length}return this.insertItem(t,e)}clearItems(){this._ranks.length=0;super.clearItems()}dispose(){this._ranks.length=0;super.dispose()}getRankAt(e){return this._ranks[e]}insertItem(e,t){var n,i;const s=Math.max(0,Math.min(e,this._ranks.length));Ts.ArrayExt.insert(this._ranks,s,(n=t.rank)!==null&&n!==void 0?n:Math.max(Ms.DEFAULT_RANK,(i=this._ranks[this._ranks.length-1])!==null&&i!==void 0?i:Ms.DEFAULT_RANK));const o=super.insertItem(s,t);return new As(o,this)}removeItemAt(e){Ts.ArrayExt.removeAt(this._ranks,e);super.removeItemAt(e)}}class As{constructor(e,t){this._item=new WeakRef(e);this._menu=t;const n=e=>{e.disposed.disconnect(n,this);this.dispose()};this._menu.disposed.connect(n,this)}get isDisposed(){return this._isDisposed}get type(){return this._item.deref().type}get command(){return this._item.deref().command}get args(){return this._item.deref().args}get submenu(){return this._item.deref().submenu}get label(){return this._item.deref().label}get mnemonic(){return this._item.deref().mnemonic}get icon(){return this._item.deref().icon}get iconClass(){return this._item.deref().iconClass}get iconLabel(){return this._item.deref().iconLabel}get caption(){return this._item.deref().caption}get className(){return this._item.deref().className}get dataset(){return this._item.deref().dataset}get isEnabled(){return this._item.deref().isEnabled}get isToggled(){return this._item.deref().isToggled}get isVisible(){return this._item.deref().isVisible}get keyBinding(){return this._item.deref().keyBinding}dispose(){if(this._isDisposed){return}this._isDisposed=true;const e=this._item.deref();if(e&&!this._menu.isDisposed){this._menu.removeItem(e)}p.Signal.clearData(this)}}var Ps=n(54158);var Ls=n(78173);var Rs=n(93247);var Ns=n(42856);var Bs=n(94466);var Os=n(26568);class Fs extends m.Widget{constructor(){super();this._rootDOM=null}static create(e){return new class extends Fs{render(){return e}}}onUpdateRequest(e){this.renderPromise=this.renderDOM()}onAfterAttach(e){Ns.MessageLoop.sendMessage(this,m.Widget.Msg.UpdateRequest)}onBeforeDetach(e){if(this._rootDOM!==null){this._rootDOM.unmount();this._rootDOM=null}}renderDOM(){return new Promise((e=>{const t=this.render();if(this._rootDOM===null){this._rootDOM=(0,f.H)(this.node)}if(Array.isArray(t)){this._rootDOM.render(t);requestIdleCallback((()=>e()))}else if(t){this._rootDOM.render(t);requestIdleCallback((()=>e()))}else{this._rootDOM.unmount();this._rootDOM=null;requestIdleCallback((()=>e()))}}))}}class zs extends Fs{constructor(e){super();this._modelChanged=new p.Signal(this);this.model=e!==null&&e!==void 0?e:null}get modelChanged(){return this._modelChanged}set model(e){if(this._model===e){return}if(this._model){this._model.stateChanged.disconnect(this.update,this)}this._model=e;if(e){e.stateChanged.connect(this.update,this)}this.update();this._modelChanged.emit(void 0)}get model(){return this._model}dispose(){if(this.isDisposed){return}this._model=null;super.dispose()}}class Ws extends i.Component{constructor(e){super(e);this.slot=(e,t)=>{if(this.props.shouldUpdate&&!this.props.shouldUpdate(e,t)){return}this.setState({value:[e,t]})};this.state={value:[this.props.initialSender,this.props.initialArgs]}}componentDidMount(){this.props.signal.connect(this.slot)}componentWillUnmount(){this.props.signal.disconnect(this.slot)}render(){return this.props.children(...this.state.value)}}class Hs{constructor(){this.stateChanged=new p.Signal(this);this._isDisposed=false}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;p.Signal.clearData(this)}}(0,Ls.provideJupyterDesignSystem)().register([(0,Ls.jpButton)(),(0,Ls.jpToolbar)()]);(0,Ls.addJupyterLabThemeChangeListener)();const Vs="jp-Toolbar";const Us="jp-Toolbar-item";const qs="toolbar-popup-opener";const $s="jp-Toolbar-spacer";class Ks extends m.PanelLayout{constructor(){super(...arguments);this._dirty=false}onFitRequest(e){super.onFitRequest(e);if(this.parent.isAttached){if((0,Ts.some)(this.widgets,(e=>!e.isHidden))){this.parent.node.style.minHeight="var(--jp-private-toolbar-height)";this.parent.removeClass("jp-Toolbar-micro")}else{this.parent.node.style.minHeight="";this.parent.addClass("jp-Toolbar-micro")}}this._dirty=true;if(this.parent.parent){Ns.MessageLoop.sendMessage(this.parent.parent,m.Widget.Msg.FitRequest)}if(this._dirty){Ns.MessageLoop.sendMessage(this.parent,m.Widget.Msg.UpdateRequest)}}onUpdateRequest(e){super.onUpdateRequest(e);if(this.parent.isVisible){this._dirty=false}}onChildShown(e){super.onChildShown(e);this.parent.fit()}onChildHidden(e){super.onChildHidden(e);this.parent.fit()}onBeforeAttach(e){super.onBeforeAttach(e);this.parent.fit()}attachWidget(e,t){super.attachWidget(e,t);this.parent.fit()}detachWidget(e,t){super.detachWidget(e,t);this.parent.fit()}}class Js extends m.Widget{constructor(e={}){var t,n;super({node:document.createElement("jp-toolbar")});this.addClass(Vs);this.layout=(t=e.layout)!==null&&t!==void 0?t:new Ks;this.noFocusOnClick=(n=e.noFocusOnClick)!==null&&n!==void 0?n:false}names(){const e=this.layout;return(0,Ts.map)(e.widgets,(e=>so.nameProperty.get(e)))}addItem(e,t){const n=this.layout;return this.insertItem(n.widgets.length,e,t)}insertItem(e,t,n){const i=(0,Ts.find)(this.names(),(e=>e===t));if(i){return false}n.addClass(Us);const s=this.layout;const o=Math.max(0,Math.min(e,s.widgets.length));s.insertWidget(o,n);so.nameProperty.set(n,t);n.node.dataset["jpItemName"]=t;if(this.noFocusOnClick){n.node.dataset["noFocusOnClick"]="true"}return true}insertAfter(e,t,n){return this.insertRelative(e,1,t,n)}insertBefore(e,t,n){return this.insertRelative(e,0,t,n)}insertRelative(e,t,n,i){const s=(0,Ts.map)(this.names(),((e,t)=>({name:e,index:t})));const o=(0,Ts.find)(s,(t=>t.name===e));if(o){return this.insertItem(o.index+t,n,i)}return false}handleEvent(e){switch(e.type){case"click":this.handleClick(e);break;default:break}}handleClick(e){e.stopPropagation();if(e.target instanceof HTMLLabelElement){const t=e.target.getAttribute("for");if(t&&this.node.querySelector(`#${t}`)){return}}if(this.node.contains(document.activeElement)){return}if(this.parent){this.parent.activate()}}onAfterAttach(e){this.node.addEventListener("click",this)}onBeforeDetach(e){this.node.removeEventListener("click",this)}}class Gs extends Js{constructor(e={}){super(e);this.popupOpener=new io;this._widgetWidths=new Map;this._widgetPositions=new Map;this._zoomChanged=true;this.insertItem(0,qs,this.popupOpener);this.popupOpener.hide();this._resizer=new Os.Throttler((async(e=false)=>{await this._onResize(e)}),500)}dispose(){if(this.isDisposed){return}if(this._resizer){this._resizer.dispose()}super.dispose()}insertAfter(e,t,n){if(e===qs){return false}return super.insertAfter(e,t,n)}insertRelative(e,t,n,i){const s=this._widgetPositions.get(e);const o=(s!==null&&s!==void 0?s:0)+t;return this.insertItem(o,n,i)}insertItem(e,t,n){var i;let s;if(n instanceof io){s=super.insertItem(e,t,n)}else{const i=Math.max(0,Math.min(e,this.layout.widgets.length-1));s=super.insertItem(i,t,n);if(i!==e){e=Math.max(0,Math.min(e,this._widgetPositions.size))}}if(t!==qs&&this._widgetPositions.get(t)!==e){const n=(i=this._widgetPositions.get(t))!==null&&i!==void 0?i:this._widgetPositions.size;this._widgetPositions.forEach(((t,i)=>{if(i!==qs){if(t>=e&&t<n){this._widgetPositions.set(i,t+1)}else if(t<=e&&t>n){this._widgetPositions.set(i,t-1)}}}));this._widgetPositions.set(t,e);if(this.isVisible){void this._resizer.invoke()}}return s}onAfterShow(e){void this._resizer.invoke(true)}onBeforeHide(e){this.popupOpener.hidePopup();super.onBeforeHide(e)}onResize(e){super.onResize(e);const t=Math.round(window.outerWidth/window.innerWidth*100);if(t!==this._zoom){this._zoomChanged=true;this._zoom=t}if(e.width>0&&this._resizer){void this._resizer.invoke()}}async _onResize(e=false){if(!(this.parent&&this.parent.isAttached)){return}const t=this.node.clientWidth;const n=this.popupOpener;const i=32;const s=2+5;let o=n.isHidden?s:s+i;return this._getWidgetsToRemove(o,t,i).then((async s=>{var o,r;let{width:a,widgetsToRemove:l}=s;while(l.length>0){const e=l.pop();const t=so.nameProperty.get(e);a-=this._widgetWidths.get(t)||0;const i=(o=this._widgetPositions.get(t))!==null&&o!==void 0?o:0;let s=this._widgetPositions.size;const d=n.widgetAt(0);if(d){const e=so.nameProperty.get(d);s=(r=this._widgetPositions.get(e))!==null&&r!==void 0?r:s}const c=i-s;n.insertWidget(c,e)}if(n.widgetCount()>0){const e=[];let s=0;const o=n.widgetCount();while(s<o){let r=n.widgetAt(s);if(r){a+=this._getWidgetWidth(r);if(o-e.length===1){a-=i}}else{break}if(a<t){e.push(r)}else{break}s++}while(e.length>0){const t=e.shift();const n=so.nameProperty.get(t);if(this._widgetPositions.has(n)){this.insertItem(this._widgetPositions.get(n),n,t)}else{this.addItem(n,t)}}}if(n.widgetCount()>0){n.updatePopup();n.show()}else{n.hide()}if(e){await this._onResize()}})).catch((e=>{console.error("Error while computing the ReactiveToolbar",e)}))}async _getWidgetsToRemove(e,t,n){var i;const s=this.popupOpener;const o=[...this.layout.widgets];const r=o.length-1;const a=[];let l=0;while(l<r){const r=o[l];const d=so.nameProperty.get(r);let c;if(this._zoomChanged){c=await this._saveWidgetWidth(d,r)}else{c=this._getWidgetWidth(r)||await this._saveWidgetWidth(d,r)}e+=c;if(a.length===0&&s.isHidden&&e+n>t){e+=n}if(e>t||((i=this._widgetPositions.get(d))!==null&&i!==void 0?i:0)>l){a.push(r)}l++}this._zoomChanged=false;return{width:e,widgetsToRemove:a}}async _saveWidgetWidth(e,t){if(t instanceof Fs){await t.renderPromise}const n=t.hasClass($s)?2:t.node.clientWidth;this._widgetWidths.set(e,n);return n}_getWidgetWidth(e){const t=so.nameProperty.get(e);return this._widgetWidths.get(t)||0}}(function(e){function t(){return new so.Spacer}e.createSpacerItem=t})(Js||(Js={}));function Ys(e){var t,n,s;const o=((t=e.noFocusOnClick)!==null&&t!==void 0?t:false)?undefined:t=>{var n;if(t.button===0){(n=e.onClick)===null||n===void 0?void 0:n.call(e);t.target.focus()}};const r=((n=e.noFocusOnClick)!==null&&n!==void 0?n:false)?t=>{var n;if(t.button===0){t.preventDefault();(n=e.onClick)===null||n===void 0?void 0:n.call(e)}}:undefined;const l=t=>{var n;const{key:i}=t;if(i==="Enter"||i===" "){(n=e.onClick)===null||n===void 0?void 0:n.call(e)}};const d=()=>{if(e.enabled===false&&e.disabledTooltip){return e.disabledTooltip}else if(e.pressed&&e.pressedTooltip){return e.pressedTooltip}else{return e.tooltip||e.iconLabel}};const c=d();const h=e.enabled===false;return i.createElement(Ps.Button,{appearance:"stealth",className:e.className?e.className+" jp-ToolbarButtonComponent":"jp-ToolbarButtonComponent","aria-disabled":h,"aria-label":e.label||c,"aria-pressed":e.pressed,"aria-haspopup":e["aria-haspopup"],"aria-expanded":e["aria-expanded"],"aria-controls":e["aria-controls"],...so.normalizeDataset(e.dataset),disabled:h,onClick:o,onMouseDown:r,onKeyDown:l,title:c},(e.icon||e.iconClass)&&i.createElement(C.resolveReact,{icon:e.pressed?(s=e.pressedIcon)!==null&&s!==void 0?s:e.icon:e.icon,iconClass:a(e.iconClass,"jp-Icon"),tag:null}),e.label&&i.createElement("span",{className:"jp-ToolbarButtonComponent-label"},e.label))}function Xs(e){e.addClass("jp-ToolbarButton");return e}class Qs extends Fs{constructor(e={}){var t,n;super();this.props=e;Xs(this);this._enabled=(t=e.enabled)!==null&&t!==void 0?t:true;this._pressed=this._enabled&&((n=e.pressed)!==null&&n!==void 0?n:false);this._onClick=e.onClick}set pressed(e){if(this.enabled&&e!==this._pressed){this._pressed=e;this.update()}}get pressed(){return this._pressed}set enabled(e){if(e!=this._enabled){this._enabled=e;if(!this._enabled){this._pressed=false}this.update()}}get enabled(){return this._enabled}set onClick(e){if(e!==this._onClick){this._onClick=e;this.update()}}get onClick(){return this._onClick}render(){return i.createElement(Ys,{...this.props,noFocusOnClick:this.props.noFocusOnClick,pressed:this.pressed,enabled:this.enabled,onClick:this.onClick})}}function Zs(e){return i.createElement(Ws,{signal:e.commands.commandChanged,shouldUpdate:(t,n)=>n.id===e.id&&n.type==="changed"||n.type==="many-changed"},(()=>e.commands.listCommands().includes(e.id)?i.createElement(Ys,{...so.propsFromCommand(e)}):null))}function eo(e){e.addClass("jp-CommandToolbarButton");return e}class to extends Fs{constructor(e){super();this.props=e;const{commands:t,id:n,args:i}=e;eo(this);this.setCommandAttributes(t,n,i);t.commandChanged.connect(((s,o)=>{if(o.id===e.id){this.setCommandAttributes(t,n,i)}}),this)}setCommandAttributes(e,t,n){if(e.isToggled(t,n)){this.addClass("lm-mod-toggled")}else{this.removeClass("lm-mod-toggled")}if(e.isVisible(t,n)){this.removeClass("lm-mod-hidden")}else{this.addClass("lm-mod-hidden")}if(e.isEnabled(t,n)){if("disabled"in this.node){this.node.disabled=false}}else{if("disabled"in this.node){this.node.disabled=true}}}render(){return i.createElement(Zs,{...this.props})}get commandId(){return this.props.id}}class no extends m.Widget{constructor(){super({node:document.createElement("jp-toolbar")});this.width=0;this.node.setAttribute("aria-label","Responsive popup toolbar");this.addClass("jp-Toolbar");this.addClass("jp-Toolbar-responsive-popup");this.addClass("jp-ThemedContainer");this.layout=new m.PanelLayout;m.Widget.attach(this,document.body);this.hide()}updateWidth(e){if(e>0){this.width=e;this.node.style.width=`${e}px`}}alignTo(e){const{height:t,width:n,x:i,y:s}=e.node.getBoundingClientRect();const o=this.width;this.node.style.left=`${i+n-o+1}px`;this.node.style.top=`${s+t+1}px`}insertWidget(e,t){this.layout.insertWidget(e,t)}widgetCount(){return this.layout.widgets.length}widgetAt(e){return this.layout.widgets[e]}}class io extends Qs{constructor(e={}){const t=(e.translator||ds.nullTranslator).load("jupyterlab");super({icon:Tn,onClick:()=>{this.handleClick()},tooltip:t.__("More commands")});this.addClass("jp-Toolbar-responsive-opener");this.popup=new no}addWidget(e){this.popup.insertWidget(0,e)}insertWidget(e,t){this.popup.insertWidget(e,t)}dispose(){if(this.isDisposed){return}this.popup.dispose();super.dispose()}hide(){super.hide();this.hidePopup()}hidePopup(){this.popup.hide()}updatePopup(){this.popup.updateWidth(this.parent.node.clientWidth);this.popup.alignTo(this.parent)}widgetAt(e){return this.popup.widgetAt(e)}widgetCount(){return this.popup.widgetCount()}handleClick(){this.updatePopup();this.popup.setHidden(!this.popup.isHidden)}}var so;(function(e){function t(e){if(!e){return undefined}const t={};for(const[n,i]of Object.entries(e)){const e=n.startsWith("data-")?n:`data-${n}`;t[e]=i}return t}e.normalizeDataset=t;function n(e){var t,n;const{commands:i,id:s,args:o}=e;const r=i.iconClass(s,o);const a=i.iconLabel(s,o);const l=(t=e.icon)!==null&&t!==void 0?t:i.icon(s,o);const d=i.label(s,o);let c=i.className(s,o);let h;if(i.isToggleable(s,o)){h=i.isToggled(s,o);if(h){c+=" lm-mod-toggled"}}if(!i.isVisible(s,o)){c+=" lm-mod-hidden"}const u=typeof e.label==="function"?e.label(o!==null&&o!==void 0?o:{}):e.label;let p=i.caption(s,o)||u||d||a;const m=i.keyBindings.find((e=>e.command===s));if(m){const e=m.keys.map(Rs.CommandRegistry.formatKeystroke).join(", ");p=`${p} (${e})`}const g=()=>{void i.execute(s,o)};const f=i.isEnabled(s,o);const v=e;const{"aria-haspopup":_,"aria-expanded":b,"aria-controls":y}=v;return{className:c,dataset:{"data-command":e.id},noFocusOnClick:e.noFocusOnClick,icon:l,iconClass:r,tooltip:(n=e.caption)!==null&&n!==void 0?n:p,onClick:g,enabled:f,label:u!==null&&u!==void 0?u:d,pressed:h,"aria-haspopup":_,"aria-expanded":b,"aria-controls":y}}e.propsFromCommand=n;e.nameProperty=new Bs.AttachedProperty({name:"name",create:()=>""});class i extends m.Widget{constructor(){super();this.addClass($s)}}e.Spacer=i})(so||(so={}));class oo extends m.Panel{constructor(e={}){super(e);this._toolbar=new Js}get toolbar(){return this._toolbar}}function ro(e,t){let n=Infinity;let i=null;const s=/[\p{L}\p{N}\p{M}]+/gu;let o=true;while(o){let o=s.exec(e);if(!o){break}let r=Ts.StringExt.matchSumOfDeltas(e,t,o.index);if(!r){break}if(r&&r.score<=n){n=r.score;i=r.indices}}if(!i||n===Infinity){return null}return{score:n,indices:i}}const ao=(e,t,n)=>i=>{if(t){const t=e.toLowerCase();return ro(i,t)}if(!n){i=i.toLocaleLowerCase();e=e.toLocaleLowerCase()}const s=i.indexOf(e);if(s===-1){return null}return{indices:[...Array(e.length).keys()].map((e=>e+s))}};const lo=e=>{var t,n,o;const[r,a]=(0,i.useState)((t=e.initialQuery)!==null&&t!==void 0?t:"");if(e.forceRefresh){(0,i.useEffect)((()=>{e.updateFilter((e=>({})))}),[])}const l=(0,i.useRef)(true);const d=(n=e.inputRef)!==null&&n!==void 0?n:(0,i.useRef)();(0,i.useEffect)((()=>{if(l.current){l.current=false;if(e.initialQuery!==undefined){e.updateFilter(ao(e.initialQuery,e.useFuzzyFilter,e.caseSensitive),e.initialQuery)}}else{if(d.current){e.updateFilter(ao(d.current.value,e.useFuzzyFilter,e.caseSensitive),d.current.value)}}}),[e.updateFilter,e.useFuzzyFilter,e.caseSensitive]);const c=(0,i.useCallback)((t=>{const n=t.target;a(n.value);e.updateFilter(ao(n.value,e.useFuzzyFilter,e.caseSensitive),n.value)}),[e.updateFilter,e.useFuzzyFilter,e.caseSensitive]);const h=(o=e.showIcon)!==null&&o!==void 0?o:true;return s().createElement(Ps.Search,{role:"search",className:"jp-FilterBox",ref:e.inputRef,value:r,onChange:c,onInput:c,placeholder:e.placeholder,disabled:e.disabled},h&&s().createElement(Mi.react,{slot:"end",tag:null}))};class co extends Fs{constructor(e){var t;super();this._filterBoxProps={...e};(t=e===null||e===void 0?void 0:e.filterSettingsChanged)===null||t===void 0?void 0:t.connect(((e,t)=>{this._updateProps(t)}),this)}render(){return s().createElement(lo,{...this._filterBoxProps})}_updateProps(e){Object.assign(this._filterBoxProps,e);this.update()}}const ho=e=>new co(e);class uo extends m.AccordionLayout{constructor(){super(...arguments);this._toolbars=new WeakMap}insertWidget(e,t){if(t.toolbar){this._toolbars.set(t,t.toolbar);t.toolbar.addClass("jp-AccordionPanel-toolbar")}super.insertWidget(e,t)}removeWidgetAt(e){const t=this.widgets[e];super.removeWidgetAt(e);if(t&&this._toolbars.has(t)){this._toolbars.delete(t)}}updateTitle(e,t){super.updateTitle(e,t);this._addToolbar(e,t)}attachWidget(e,t){super.attachWidget(e,t);this._addToolbar(e,t)}detachWidget(e,t){const n=this._toolbars.get(t);if(n){if(this.parent.isAttached){Ns.MessageLoop.sendMessage(n,m.Widget.Msg.BeforeDetach)}this.titles[e].removeChild(n.node);if(this.parent.isAttached){Ns.MessageLoop.sendMessage(n,m.Widget.Msg.AfterDetach)}}super.detachWidget(e,t)}onBeforeAttach(e){this.notifyToolbars(e);super.onBeforeAttach(e)}onAfterAttach(e){super.onAfterAttach(e);this.notifyToolbars(e)}onBeforeDetach(e){this.notifyToolbars(e);super.onBeforeDetach(e)}onAfterDetach(e){super.onAfterDetach(e);this.notifyToolbars(e)}_addToolbar(e,t){const n=this._toolbars.get(t);if(n){if(this.parent.isAttached){Ns.MessageLoop.sendMessage(n,m.Widget.Msg.BeforeAttach)}this.titles[e].appendChild(n.node);if(this.parent.isAttached){Ns.MessageLoop.sendMessage(n,m.Widget.Msg.AfterAttach)}}}notifyToolbars(e){this.widgets.forEach((t=>{const n=this._toolbars.get(t);if(n){n.processMessage(e)}}))}}var po;(function(e){class t extends m.AccordionPanel.Renderer{createCollapseIcon(e){const t=document.createElement("div");Xt.element({container:t});return t}createSectionTitle(e){const t=super.createSectionTitle(e);t.classList.add("jp-AccordionPanel-title");return t}}e.Renderer=t;e.defaultRenderer=new t;function n(t){var n;return t.layout||new uo({renderer:t.renderer||e.defaultRenderer,orientation:t.orientation,alignment:t.alignment,spacing:t.spacing,titleSpace:(n=t.titleSpace)!==null&&n!==void 0?n:32})}e.createLayout=n})(po||(po={}));class mo extends m.Widget{constructor(e={}){var t;super();const n=this.layout=new m.PanelLayout;this.addClass("jp-SidePanel");const i=this._trans=(e.translator||ds.nullTranslator).load("jupyterlab");if(e.header){this.addHeader(e.header)}const s=this._content=(t=e.content)!==null&&t!==void 0?t:new m.AccordionPanel({...e,layout:po.createLayout(e)});s.node.setAttribute("role","region");s.node.setAttribute("aria-label",i.__("side panel content"));s.addClass("jp-SidePanel-content");n.addWidget(s);if(e.toolbar){this.addToolbar(e.toolbar)}}get content(){return this._content}get header(){if(!this._header){this.addHeader()}return this._header}get toolbar(){if(!this._toolbar){this.addToolbar()}return this._toolbar}get widgets(){return this.content.widgets}addWidget(e){this.content.addWidget(e)}insertWidget(e,t){this.content.insertWidget(e,t)}addHeader(e){const t=this._header=e||new m.Panel;t.addClass("jp-SidePanel-header");this.layout.insertWidget(0,t)}addToolbar(e){const t=this._toolbar=e!==null&&e!==void 0?e:new Js;t.addClass("jp-SidePanel-toolbar");this.layout.insertWidget(this.layout.widgets.length-1,t)}}class go extends m.Widget{constructor(){super();this.addClass("jp-Spinner");this.node.tabIndex=-1;const e=document.createElement("div");e.className="jp-SpinnerContent";this.node.appendChild(e)}onActivateRequest(e){this.node.focus()}}var fo;(function(e){function t(e,t=""){n(e,"select",t);n(e,"textarea",t);n(e,"input",t);n(e,"button",t)}e.styleNode=t;function n(e,t,n=""){if(e.localName===t){e.classList.add("jp-mod-styled")}if(e.localName==="select"){const t=e.hasAttribute("multiple");i(e,t)}const s=e.getElementsByTagName(t);for(let o=0;o<s.length;o++){const e=s[o];e.classList.add("jp-mod-styled");if(n){e.classList.add(n)}if(t==="select"){const t=e.hasAttribute("multiple");i(e,t)}}}e.styleNodeByTag=n;function i(e,t){const n=document.createElement("div");n.classList.add("jp-select-wrapper");e.addEventListener("focus",vo.onFocus);e.addEventListener("blur",vo.onFocus);e.classList.add("jp-mod-styled");if(e.parentElement){e.parentElement.replaceChild(n,e)}n.appendChild(e);if(t){n.classList.add("multiple")}else{n.appendChild(Gt.element({tag:"span",stylesheet:"select",right:"8px",top:"5px",width:"18px"}))}return n}e.wrapSelect=i})(fo||(fo={}));var vo;(function(e){function t(e){const t=e.target;const n=t.parentElement;if(!n){return}if(e.type==="focus"){n.classList.add("jp-mod-focused")}else{n.classList.remove("jp-mod-focused")}}e.onFocus=t})(vo||(vo={}));class _o extends m.Widget{constructor(){super();this._button=document.createElement("button");this._label=document.createElement("label");this._valueChanged=new p.Signal(this);this._button.className="jp-switch";this._button.setAttribute("role","switch");this._button.setAttribute("aria-checked",this._value?this._value.toString():"false");this._label.className="jp-switch-label";const e=document.createElement("div");e.className="jp-switch-track";e.setAttribute("aria-hidden","true");this._button.appendChild(this._label);this._button.appendChild(e);this.node.appendChild(this._button)}get value(){return this._value}set value(e){const t=this._value;if(t===e){return}this._button.setAttribute("aria-checked",e.toString());this._value=e;this._valueChanged.emit({name:"value",oldValue:t,newValue:e})}get valueChanged(){return this._valueChanged}get label(){var e;return(e=this._label.textContent)!==null&&e!==void 0?e:""}set label(e){this._label.textContent=e}get caption(){return this._button.title}set caption(e){this._button.title=e;this._label.title=e}handleEvent(e){switch(e.type){case"click":this.value=!this.value;break;default:break}}onAfterAttach(){this._button.addEventListener("click",this)}onBeforeDetach(){this._button.removeEventListener("click",this)}}const bo="jp-sortable-table";function yo(e){const[t,n]=(0,i.useState)({sortKey:e.sortKey,sortDirection:e.sortDirection||1});const o=e=>{if(e===t.sortKey){n({sortKey:e,sortDirection:t.sortDirection*-1})}else{n({sortKey:e,sortDirection:1})}};let r=e.rows;const a=e.columns.filter((e=>e.id===t.sortKey))[0];if(a){const n=a.sort.bind(a);r=e.rows.sort(((e,i)=>n(e.data,i.data)*t.sortDirection))}const l=e.columns.filter((e=>(e.isAvailable?e.isAvailable():true)&&!e.isHidden));const d=r.map((t=>{const n=l.map((e=>s().createElement("td",{key:e.id+"-"+t.key},e.renderCell(t.data))));return s().createElement("tr",{key:t.key,"data-key":t.key,onClick:e.onRowClick,className:"jp-sortable-table-tr"},n)}));const c=l.map((e=>s().createElement(wo,{label:e.label,id:e.id,state:t,key:e.id,onSort:()=>{o(e.id)}})));return s().createElement("table",{className:bo},s().createElement("thead",null,s().createElement("tr",{className:"jp-sortable-table-tr"},c)),s().createElement("tbody",null,d))}function wo(e){const t=e.id===e.state.sortKey;const n=!t||e.state.sortDirection===1?tn:Xt;return s().createElement("th",{key:e.id,onClick:()=>e.onSort(),className:t?"jp-sorted-header":undefined,"data-id":e.id},s().createElement("div",{className:"jp-sortable-table-th-wrapper"},s().createElement("label",null,e.label),s().createElement(n.react,{tag:"span",className:"jp-sort-icon"})))}const Co=100;let xo=false;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){xo={passive:true}}}))}catch(Ho){}class So{constructor(e={}){var t,n,i,s,o,r;this.scrollDownThreshold=1;this.scrollUpThreshold=0;this.paddingTop=0;this._estimatedWidgetSize=jo.DEFAULT_WIDGET_SIZE;this._stateChanged=new p.Signal(this);this._currentWindow=[-1,-1,-1,-1];this._height=0;this._isDisposed=false;this._itemsList=null;this._measuredAllUntilIndex=-1;this._overscanCount=1;this._scrollOffset=0;this._widgetCount=0;this._widgetSizers=[];this._windowingActive=true;this._widgetCount=(i=(n=(t=e.itemsList)===null||t===void 0?void 0:t.length)!==null&&n!==void 0?n:e.count)!==null&&i!==void 0?i:0;this._overscanCount=(s=e.overscanCount)!==null&&s!==void 0?s:1;this._windowingActive=(o=e.windowingActive)!==null&&o!==void 0?o:true;this.itemsList=(r=e.itemsList)!==null&&r!==void 0?r:null}get height(){return this._height}set height(e){this._height=e}get isDisposed(){return this._isDisposed}get itemsList(){return this._itemsList}set itemsList(e){var t,n,i;if(this._itemsList!==e){if(this._itemsList){this._itemsList.changed.disconnect(this.onListChanged,this)}const s=this._itemsList;this._itemsList=e;if(this._itemsList){this._itemsList.changed.connect(this.onListChanged,this)}else{this._widgetCount=0}this._stateChanged.emit({name:"list",newValue:this._itemsList,oldValue:s});this._stateChanged.emit({name:"count",newValue:(n=(t=this._itemsList)===null||t===void 0?void 0:t.length)!==null&&n!==void 0?n:0,oldValue:(i=s===null||s===void 0?void 0:s.length)!==null&&i!==void 0?i:0})}}get overscanCount(){return this._overscanCount}set overscanCount(e){if(e>=1){if(this._overscanCount!==e){const t=this._overscanCount;this._overscanCount=e;this._stateChanged.emit({name:"overscanCount",newValue:e,oldValue:t})}}else{console.error(`Forbidden non-positive overscan count: got ${e}`)}}get scrollOffset(){return this._scrollOffset}set scrollOffset(e){this._scrollOffset=e}get widgetCount(){return this._itemsList?this._itemsList.length:this._widgetCount}set widgetCount(e){if(this.itemsList){console.error("It is not allow to change the widgets count of a windowed list if a items list is used.");return}if(e>=0){if(this._widgetCount!==e){const t=this._widgetCount;this._widgetCount=e;this._stateChanged.emit({name:"count",newValue:e,oldValue:t})}}else{console.error(`Forbidden negative widget count: got ${e}`)}}get windowingActive(){return this._windowingActive}set windowingActive(e){if(e!==this._windowingActive){const t=this._windowingActive;this._windowingActive=e;this._currentWindow=[-1,-1,-1,-1];this._measuredAllUntilIndex=-1;this._widgetSizers=[];this._stateChanged.emit({name:"windowingActive",newValue:e,oldValue:t})}}get stateChanged(){return this._stateChanged}dispose(){if(this.isDisposed){return}this._isDisposed=true;p.Signal.clearData(this)}getEstimatedTotalSize(){let e=0;if(this._measuredAllUntilIndex>=this.widgetCount){this._measuredAllUntilIndex=this.widgetCount-1}if(this._measuredAllUntilIndex>=0){const t=this._widgetSizers[this._measuredAllUntilIndex];e=t.offset+t.size}let t=0;for(let n=this._measuredAllUntilIndex+1;n<this.widgetCount;n++){const e=this._widgetSizers[n];t+=(e===null||e===void 0?void 0:e.measured)?e.size:this.estimateWidgetSize(n)}return e+t}getOffsetForIndexAndAlignment(e,t="auto",n=0,i,s){const o=Math.min(Math.max(0,n),1);const r=this._height;const a=i?i.itemMetadata:this._getItemMetadata(e);const l=this.scrollDownThreshold<=1?a.size*this.scrollDownThreshold:this.scrollDownThreshold;const d=this.scrollUpThreshold<=1?a.size*this.scrollUpThreshold:this.scrollUpThreshold;const c=i?i.totalSize:this.getEstimatedTotalSize();const h=Math.max(0,Math.min(c-r,a.offset));const u=Math.max(0,a.offset-r+a.size);const p=i?i.currentOffset:this._scrollOffset;const m=this._windowingActive?this.paddingTop:0;const g=a.offset;const f=a.offset+a.size;const v=p-m+r;const _=p-m;const b=v>g&&v<f;const y=_>g&&_<f;const w=v>f&&_<g;if(t==="smart"){const e=p>=u-r&&p<=h+r;const n=v-g;const i=_-g;if(w||b&&n>=l||y&&i<d){return p}else if(e){t="auto"}else{if(a.size>r){t="top-center"}else{t="center"}}}if(t==="auto"){if(w){return p}else if(s!==undefined){t=s}else if(b||v<=f){t="end"}else{t="start"}}switch(t){case"start":return Math.max(0,h-o*r)+m;case"end":return u+o*r+m;case"center":return u+(h-u)/2;case"top-center":return h-r/2}}getRangeToRender(e){if(e===null||e===void 0?void 0:e.virtual){return this._computeVirtualRange()}let t=[0,Math.max(this.widgetCount-1,-1),0,Math.max(this.widgetCount-1,-1)];const n=this._measuredAllUntilIndex;if(this.windowingActive){t=this._computeVirtualRange()}const[i,s]=t;if(n<=s||this._currentWindow[0]!==i||this._currentWindow[1]!==s){this._currentWindow=t;return t}return t!==null&&t!==void 0?t:null}getSpan(e,t){const n=this._getItemMetadata(e);const i=n.offset;const s=this._getItemMetadata(t);const o=s.offset-n.offset+s.size;return[i,o]}resetAfterIndex(e){const t=this._measuredAllUntilIndex;this._measuredAllUntilIndex=Math.min(e,this._measuredAllUntilIndex);for(const[n,i]of this._widgetSizers.entries()){if(n===0){continue}const e=this._widgetSizers[n-1];i.offset=e.offset+e.size}if(this._measuredAllUntilIndex!==t){this._stateChanged.emit({name:"index",newValue:e,oldValue:t})}}setWidgetSize(e){if(this._windowingActive||this._currentWindow[0]>=0){let t=Infinity;let n=-1;let i=0;let s=true;const o=new Map(e.map((e=>[e.index,e.size])));const r=Math.max(...o.keys());const a=[...this._widgetSizers.entries()];for(let e=this._widgetSizers.length;e<=r;e++){a.push([e,null])}for(let[e,l]of a){const r=o.get(e);let a=0;const d=!!l;if(!l){const t=this._widgetSizers[e-1];const n={offset:t?t.offset+t.size:0,size:r!==undefined?r:this.estimateWidgetSize(e),measured:r!==undefined};this._widgetSizers[e]=n;l=n}if(r!==undefined){if(l.size!=r){a=r-l.size;l.size=r;t=Math.min(t,e)}l.measured=true}if(s){if(l.measured){n=e}else{s=false}}if(d&&i!==0){l.offset+=i}i+=a}if(n!==-1){this._measuredAllUntilIndex=n}if(t!==Infinity){return true}}return false}onListChanged(e,t){switch(t.type){case"add":this._widgetSizers.splice(t.newIndex,0,...new Array(t.newValues.length).fill(undefined).map(((e,t)=>({offset:0,size:this.estimateWidgetSize(t)}))));this.resetAfterIndex(t.newIndex-1);break;case"move":Ts.ArrayExt.move(this._widgetSizers,t.oldIndex,t.newIndex);this.resetAfterIndex(Math.min(t.newIndex,t.oldIndex)-1);break;case"remove":this._widgetSizers.splice(t.oldIndex,t.oldValues.length);this.resetAfterIndex(t.oldIndex-1);break;case"set":this.resetAfterIndex(t.newIndex-1);break;case"clear":this._widgetSizers.length=0;this.resetAfterIndex(-1);break}}_getItemMetadata(e){var t;if(e>this._measuredAllUntilIndex){let n=0;if(this._measuredAllUntilIndex>=0){const e=this._widgetSizers[this._measuredAllUntilIndex];n=e.offset+e.size}for(let i=this._measuredAllUntilIndex+1;i<=e;i++){let e;let s=false;if((t=this._widgetSizers[i])===null||t===void 0?void 0:t.measured){e=this._widgetSizers[i].size;s=true}else{const t=this.widgetRenderer(i);if((t===null||t===void 0?void 0:t.node)&&t.node.isConnected){e=t.node.getBoundingClientRect().height;s=true}else{e=this.estimateWidgetSize(i);s=false}}this._widgetSizers[i]={offset:n,size:e,measured:s};n+=e}for(let t=e+1;t<this._widgetSizers.length;t++){const e=this._widgetSizers[t];const n=this._widgetSizers[t-1];e.offset=n.offset+n.size}}for(let n=0;n<=this._measuredAllUntilIndex;n++){const e=this._widgetSizers[n];if(n===0){if(e.offset!==0){throw new Error("First offset is not null")}}else{const t=this._widgetSizers[n-1];if(e.offset!==t.offset+t.size){throw new Error(`Sizer ${n} has incorrect offset.`)}}}return this._widgetSizers[e]}_findNearestItem(e){const t=this._measuredAllUntilIndex>0?this._widgetSizers[this._measuredAllUntilIndex].offset:0;if(t>=e){return this._findNearestItemBinarySearch(this._measuredAllUntilIndex,0,e)}else{return this._findNearestItemExponentialSearch(Math.max(0,this._measuredAllUntilIndex),e)}}_findNearestItemBinarySearch(e,t,n){while(t<=e){const i=t+Math.floor((e-t)/2);const s=this._getItemMetadata(i).offset;if(s===n){return i}else if(s<n){t=i+1}else if(s>n){e=i-1}}if(t>0){return t-1}else{return 0}}_findNearestItemExponentialSearch(e,t){let n=1;while(e<this.widgetCount&&this._getItemMetadata(e).offset<t){e+=n;n*=2}return this._findNearestItemBinarySearch(Math.min(e,this.widgetCount-1),Math.floor(e/2),t)}_computeVirtualRange(){const e=this.widgetCount;if(e===0){return[-1,-1,-1,-1]}const t=this._getStartIndexForOffset(this._scrollOffset);const n=this._getStopIndexForStartIndex(t,this._scrollOffset);const i=Math.max(1,this.overscanCount);const s=Math.max(1,this.overscanCount);return[Math.max(0,t-i),Math.max(0,Math.min(e-1,n+s)),t,n]}_getStartIndexForOffset(e){return this._findNearestItem(e)}_getStopIndexForStartIndex(e,t){const n=this._height;const i=this._getItemMetadata(e);const s=t+n;let o=i.offset+i.size;let r=e;while(r<this.widgetCount-1&&o<s){r++;o+=this._getItemMetadata(r).size}return r}}class jo extends m.Widget{constructor(e){var t,n;const i=(t=e.renderer)!==null&&t!==void 0?t:jo.defaultRenderer;const s=document.createElement("div");s.className="jp-WindowedPanel";const o=s.appendChild(document.createElement("div"));o.classList.add("jp-WindowedPanel-scrollbar");const r=o.appendChild(i.createScrollbarViewportIndicator?i.createScrollbarViewportIndicator():jo.defaultRenderer.createScrollbarViewportIndicator());r.classList.add("jp-WindowedPanel-scrollbar-viewportIndicator");const a=o.appendChild(i.createScrollbar());a.classList.add("jp-WindowedPanel-scrollbar-content");const l=s.appendChild(i.createOuter());l.classList.add("jp-WindowedPanel-outer");const d=l.appendChild(document.createElement("div"));d.className="jp-WindowedPanel-inner";const c=d.appendChild(i.createViewport());c.classList.add("jp-WindowedPanel-viewport");super({node:s});this.jumped=new p.Signal(this);this._scrollbarItems={};this._viewportPaddingTop=0;this._viewportPaddingBottom=0;this._needsUpdate=false;this._requiresTotalSizeUpdate=false;this._timerToClearScrollStatus=null;super.layout=(n=e.layout)!==null&&n!==void 0?n:new ko;this.renderer=i;this._viewportIndicator=r;this._innerElement=d;this._isScrolling=null;this._outerElement=l;this._itemsResizeObserver=null;this._scrollbarElement=o;this._scrollToItem=null;this._scrollRepaint=null;this._scrollUpdateWasRequested=false;this._updater=new Os.Throttler((()=>this.update()),50);this._viewModel=e.model;this._viewport=c;if(e.scrollbar){s.classList.add("jp-mod-virtual-scrollbar")}this.viewModel.stateChanged.connect(this.onStateChanged,this)}get isParentHidden(){return this._isParentHidden}set isParentHidden(e){this._isParentHidden=e}get layout(){return super.layout}get outerNode(){return this._outerElement}get viewportNode(){return this._viewport}get scrollbar(){return this.node.classList.contains("jp-mod-virtual-scrollbar")}set scrollbar(e){if(e){this.node.classList.add("jp-mod-virtual-scrollbar")}else{this.node.classList.remove("jp-mod-virtual-scrollbar")}this._adjustDimensionsForScrollbar();this.update()}get viewModel(){return this._viewModel}dispose(){this._updater.dispose();super.dispose()}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e);e.stopPropagation();break;case"scrollend":this._onScrollEnd();break;case"scroll":this.onScroll(e);break}}scrollTo(e){this._renderScrollbar();if(!this.viewModel.windowingActive){this._outerElement.scrollTo({top:e});return}e=Math.max(0,e);if(e!==this.viewModel.scrollOffset){this.viewModel.scrollOffset=e;this._scrollUpdateWasRequested=true;this.update()}}scrollToItem(e,t="auto",n=.25,i){if(!this._isScrolling||this._scrollToItem===null||this._scrollToItem[0]!==e||this._scrollToItem[1]!==t){if(this._isScrolling){this._isScrolling.reject("Scrolling to a new item is requested.")}this._isScrolling=new g.PromiseDelegate;this._isScrolling.promise.catch(console.debug)}this._scrollToItem=[e,t,n,i];this._resetScrollToItem();let s=undefined;if(!this.viewModel.windowingActive){const t=this._innerElement.querySelector(`[data-windowed-list-index="${e}"]`);if(!t||!(t instanceof HTMLElement)){console.debug(`Element with index ${e} not found`);return Promise.resolve()}s={totalSize:this._outerElement.scrollHeight,itemMetadata:{offset:t.offsetTop,size:t.clientHeight},currentOffset:this._outerElement.scrollTop}}this.scrollTo(this.viewModel.getOffsetForIndexAndAlignment(Math.max(0,Math.min(e,this.viewModel.widgetCount-1)),t,n,s,i));return this._isScrolling.promise}onAfterAttach(e){super.onAfterAttach(e);if(this.viewModel.windowingActive){this._applyWindowingStyles()}else{this._applyNoWindowingStyles()}this._addListeners();this.viewModel.height=this.node.getBoundingClientRect().height;const t=window.getComputedStyle(this._viewport);this.viewModel.paddingTop=parseFloat(t.paddingTop);this._viewportPaddingTop=this.viewModel.paddingTop;this._viewportPaddingBottom=parseFloat(t.paddingBottom);this._scrollbarElement.addEventListener("pointerdown",this);this._outerElement.addEventListener("scrollend",this)}onBeforeDetach(e){this._removeListeners();this._scrollbarElement.removeEventListener("pointerdown",this);this._outerElement.removeEventListener("scrollend",this);super.onBeforeDetach(e)}onScroll(e){const{clientHeight:t,scrollHeight:n,scrollTop:i}=e.currentTarget;if(!this._scrollUpdateWasRequested&&Math.abs(this.viewModel.scrollOffset-i)>1){const e=Math.max(0,Math.min(i,n-t));this.viewModel.scrollOffset=e;this._renderScrollbar();if(this.viewModel.windowingActive){this._scrollUpdateWasRequested=false;if(this._viewport.dataset.isScrolling!="true"){this._viewport.dataset.isScrolling="true"}if(this._timerToClearScrollStatus){window.clearTimeout(this._timerToClearScrollStatus)}this._timerToClearScrollStatus=window.setTimeout((()=>{this._onScrollEnd()}),750);this.update()}}}onResize(e){const t=this.viewModel.height;this.viewModel.height=e.height>=0?e.height:this.node.getBoundingClientRect().height;if(this.viewModel.height!==t){void this._updater.invoke()}super.onResize(e);void this._updater.invoke()}onStateChanged(e,t){switch(t.name){case"windowingActive":this._removeListeners();if(this.viewModel.windowingActive){this._applyWindowingStyles();this.onScroll({currentTarget:this.node});this._addListeners();return}else{this._applyNoWindowingStyles();this._addListeners()}break;case"estimatedWidgetSize":this._updateTotalSize();return}this.update()}onUpdateRequest(e){if(this.viewModel.windowingActive){if(this._scrollRepaint===null){this._needsUpdate=false;this._scrollRepaint=window.requestAnimationFrame((()=>{this._scrollRepaint=null;this._update();if(this._needsUpdate){this.update()}}))}else{this._needsUpdate=true}}else{this._update()}}_adjustDimensionsForScrollbar(){const e=this._outerElement;const t=this._scrollbarElement;if(this.scrollbar){let n=e.offsetWidth-e.clientWidth;if(n==0){n=1e3;e.style.paddingRight=`${n}px`;e.style.boxSizing="border-box"}else{e.style.paddingRight="0"}e.style.width=`calc(100% + ${n}px)`;this._innerElement.style.marginRight=`${t.offsetWidth}px`}else{e.style.width="100%";this._innerElement.style.marginRight="";e.style.paddingRight="0";e.style.boxSizing=""}}_addListeners(){if(!this._scrollbarResizeObserver){this._scrollbarResizeObserver=new ResizeObserver(this._adjustDimensionsForScrollbar.bind(this));this._scrollbarResizeObserver.observe(this._outerElement);this._scrollbarResizeObserver.observe(this._scrollbarElement)}if(!this._itemsResizeObserver){this._itemsResizeObserver=new ResizeObserver(this._onItemResize.bind(this))}for(const e of this.layout.widgets){this._itemsResizeObserver.observe(e.node);e.disposed.connect((()=>{var t;return(t=this._itemsResizeObserver)===null||t===void 0?void 0:t.unobserve(e.node)}))}if(!this._areaResizeObserver){this._areaResizeObserver=new ResizeObserver(this._onAreaResize.bind(this));this._areaResizeObserver.observe(this._innerElement)}this._outerElement.addEventListener("scroll",this,xo)}_applyNoWindowingStyles(){this._viewport.style.position="relative";this._viewport.style.contain="";this._viewport.style.top="0px";this._viewport.style.minHeight="";this._innerElement.style.height=""}_applyWindowingStyles(){this._viewport.style.position="absolute";this._viewport.style.contain="layout"}_removeListeners(){var e,t,n;this._outerElement.removeEventListener("scroll",this);(e=this._areaResizeObserver)===null||e===void 0?void 0:e.disconnect();this._areaResizeObserver=null;(t=this._itemsResizeObserver)===null||t===void 0?void 0:t.disconnect();this._itemsResizeObserver=null;(n=this._scrollbarResizeObserver)===null||n===void 0?void 0:n.disconnect();this._scrollbarResizeObserver=null}_update(){var e;if(this.isDisposed||!this.layout){return}const t=this.viewModel.getRangeToRender();if(t!==null){const[n,i]=t;this._renderScrollbar();const s=[];if(i>=0){for(let e=n;e<=i;e++){const t=this.viewModel.widgetRenderer(e);t.dataset.windowedListIndex=`${e}`;s.push(t)}}const o=this.layout.widgets.length;for(let t=o-1;t>=0;t--){if(!s.includes(this.layout.widgets[t])){(e=this._itemsResizeObserver)===null||e===void 0?void 0:e.unobserve(this.layout.widgets[t].node);this.layout.removeWidget(this.layout.widgets[t])}}for(let e=0;e<s.length;e++){const t=s[e];if(this._itemsResizeObserver&&!this.layout.widgets.includes(t)){this._itemsResizeObserver.observe(t.node);t.disposed.connect((()=>{var e;return(e=this._itemsResizeObserver)===null||e===void 0?void 0:e.unobserve(t.node)}))}this.layout.insertWidget(e,t)}if(this.viewModel.windowingActive){if(i>=0){this._updateTotalSize();let[e,t]=this.viewModel.getSpan(n,i);this._viewport.style.transform=`translateY(${e}px)`}else{this._innerElement.style.height=`0px`;this._viewport.style.top=`0px`;this._viewport.style.minHeight=`0px`}if(this._scrollUpdateWasRequested){this._outerElement.scrollTop=this.viewModel.scrollOffset;this._scrollUpdateWasRequested=false}}}let n=-1;for(const i of this._viewport.children){const e=parseInt(i.dataset.windowedListIndex,10);if(e<n){throw new Error("Inconsistent dataset index")}else{n=e}}}_onAreaResize(e){this._scrollBackToItemOnResize()}_onItemResize(e){this._resetScrollToItem();if(this.isHidden||this.isParentHidden){return}const t=[];for(let n of e){if(n.target.isConnected){t.push({index:parseInt(n.target.dataset.windowedListIndex,10),size:n.borderBoxSize[0].blockSize})}}if(this.viewModel.setWidgetSize(t)){this._scrollBackToItemOnResize();this.update()}}_scrollBackToItemOnResize(){if(!this._scrollToItem){return}this.scrollToItem(...this._scrollToItem).catch((e=>{console.log(e)}))}_resetScrollToItem(){if(this._resetScrollToItemTimeout){clearTimeout(this._resetScrollToItemTimeout)}if(this._scrollToItem){this._resetScrollToItemTimeout=window.setTimeout((()=>{this._scrollToItem=null;if(this._isScrolling){this._isScrolling.resolve();this._isScrolling=null}}),Co)}}_renderScrollbar(){var e,t;if(!this.scrollbar){return[]}const{node:n,renderer:i,viewModel:s}=this;const o=n.querySelector(".jp-WindowedPanel-scrollbar-content");const r=[];const a=new Set;const l=(n,i)=>{if(n instanceof HTMLElement){return n}a.add(n.key);const s={index:i};const o=this._scrollbarItems[n.key];if(o&&!o.isDisposed){try{return o.render(s)}catch(e){return document.createElement("div")}}else{this._scrollbarItems[n.key]=n;try{return n.render(s)}catch(t){return document.createElement("div")}}};const d=s.itemsList;const c=(e=d===null||d===void 0?void 0:d.length)!==null&&e!==void 0?e:s.widgetCount;for(let p=0;p<c;p++){const e=(t=d===null||d===void 0?void 0:d.get)===null||t===void 0?void 0:t.call(d,p);const n=i.createScrollbarItem(this,p,e);const s=l(n,p);s.classList.add("jp-WindowedPanel-scrollbar-item");s.dataset.index=`${p}`;r.push(s)}const h=Object.keys(this._scrollbarItems).filter((e=>!a.has(e)));for(const p of h){this._scrollbarItems[p].dispose();delete this._scrollbarItems[p]}const u=[...o.childNodes];if(u.length!==r.length||!u.every(((e,t)=>r[t]===e))){o.replaceChildren(...r)}if(this.scrollbar){const e=this.viewModel.getRangeToRender({virtual:true});if(e!==null){const[t,n]=e;const i=r[t];const s=r[n];this._viewportIndicator.style.top=i.offsetTop-1+"px";this._viewportIndicator.style.height=s.offsetTop-i.offsetTop+s.offsetHeight+"px"}}return r}_evtPointerDown(e){let t=e.target;while(t&&t.parentElement){if(t.hasAttribute("data-index")){const e=parseInt(t.getAttribute("data-index"),10);return void(async()=>{await this.scrollToItem(e);this.jumped.emit(e)})()}t=t.parentElement}}_onScrollEnd(){if(this._timerToClearScrollStatus){window.clearTimeout(this._timerToClearScrollStatus)}this._viewport.dataset.isScrolling="false";if(this._requiresTotalSizeUpdate){this._updateTotalSize()}this._requiresTotalSizeUpdate=false}_updateTotalSize(){if(this.viewModel.windowingActive){if(this._viewport.dataset.isScrolling=="true"){this._requiresTotalSizeUpdate=true;return}const e=this.viewModel.getEstimatedTotalSize();const t=e+this._viewportPaddingTop+this._viewportPaddingBottom;this._innerElement.style.height=`${t}px`}}}jo.DEFAULT_WIDGET_SIZE=50;class ko extends m.PanelLayout{constructor(){super({fitPolicy:"set-no-constraint"})}get parent(){return super.parent}set parent(e){super.parent=e}attachWidget(e,t){let n=this.parent.viewportNode.children[e];if(this.parent.isAttached){Ns.MessageLoop.sendMessage(t,m.Widget.Msg.BeforeAttach)}this.parent.viewportNode.insertBefore(t.node,n);if(this.parent.isAttached){Ns.MessageLoop.sendMessage(t,m.Widget.Msg.AfterAttach)}}detachWidget(e,t){if(this.parent.isAttached){Ns.MessageLoop.sendMessage(t,m.Widget.Msg.BeforeDetach)}this.parent.viewportNode.removeChild(t.node);if(this.parent.isAttached){Ns.MessageLoop.sendMessage(t,m.Widget.Msg.AfterDetach)}}moveWidget(e,t,n){let i=this.parent.viewportNode.children[t];if(e<t){i.insertAdjacentElement("afterend",n.node)}else{i.insertAdjacentElement("beforebegin",n.node)}}onUpdateRequest(e){}}(function(e){class t{createOuter(){return document.createElement("div")}createScrollbar(){return document.createElement("ol")}createScrollbarViewportIndicator(){return document.createElement("div")}createScrollbarItem(e,t){const n=document.createElement("li");n.appendChild(document.createTextNode(`${t}`));return n}createViewport(){return document.createElement("div")}}e.Renderer=t;e.defaultRenderer=new t})(jo||(jo={}));var Io=n(97290);const To=Fn.bindprops({stylesheet:"commandPaletteHeader",className:"jp-icon-hoverShow-content"});var Eo;(function(e){class t extends m.CommandPalette.Renderer{renderHeader(e){const t=this.formatHeader(e);return Io.h.li({className:a("lm-CommandPalette-header","jp-icon-hoverShow")},t,Io.h.span(To))}renderItemIcon(e){const t=this.createIconClass(e);if(e.item.isToggled){return Io.h.div({className:t},sn,e.item.iconLabel)}return Io.h.div({className:t},e.item.icon,e.item.iconLabel)}createIconClass(e){let t="lm-CommandPalette-itemIcon";return a(w.styleClass({stylesheet:"commandPaletteItem"}),e.item.iconClass,t)}}e.Renderer=t;e.defaultRenderer=new t})(Eo||(Eo={}));const Mo=Zt.bindprops({stylesheet:"menuItem"});class Do extends m.ContextMenu{constructor(e){super(e);this._isDisposed=false;this._opened=new p.Signal(this);this.menu=new Ao(e)}get isDisposed(){return this._isDisposed}get opened(){return this._opened}dispose(){if(this._isDisposed){return}this._isDisposed=true;this.menu.dispose();p.Signal.disconnectSender(this)}open(e){if(this._isDisposed){return false}const t=super.open(e);if(t){this._opened.emit()}return t}}class Ao extends m.Menu{constructor(e){e.renderer=e.renderer||Ao.defaultRenderer;super(e);this.addClass("jp-ThemedContainer")}insertItem(e,t){if(t.submenu){Ao.overrideDefaultRenderer(t.submenu)}return super.insertItem(e,t)}}(function(e){function t(n){if(n.renderer===m.Menu.defaultRenderer){n.renderer=e.defaultRenderer}const i=n.insertItem.bind(n);n.insertItem=(t,n)=>{if(n.submenu){e.overrideDefaultRenderer(n.submenu)}return i(t,n)};for(const e of n._items){if(e.submenu){t(e.submenu)}}}e.overrideDefaultRenderer=t;class n extends m.Menu.Renderer{renderIcon(e){const t=this.createIconClass(e);if(e.item.isToggled){return Io.h.div({className:t},sn,e.item.iconLabel)}return Io.h.div({className:t},e.item.icon,e.item.iconLabel)}createIconClass(e){let t="lm-Menu-itemIcon";if(e.item.type==="separator"){return a(e.item.iconClass,t)}else{return a(w.styleClass({stylesheet:"menuItem"}),e.item.iconClass,t)}}renderSubmenu(e){const t="lm-Menu-itemSubmenuIcon";if(e.item.type==="submenu"){return Io.h.div({className:t},Mo)}else{return Io.h.div({className:t})}}}e.Renderer=n;e.defaultRenderer=new n})(Ao||(Ao={}));class Po extends m.TabBar{constructor(e={}){var t;super({renderer:Po.defaultRenderer,...e});const n=((t=Po.translator)!==null&&t!==void 0?t:ds.nullTranslator).load("jupyterlab");Ht.element({container:this.addButtonNode,title:n.__("New Launcher")})}}Po.translator=null;(function(e){class t extends m.TabBar.Renderer{renderCloseIcon(t){var n;const i=((n=e.translator)!==null&&n!==void 0?n:ds.nullTranslator).load("jupyterlab");const s=t.title.label?i.__("Close %1",t.title.label):i.__("Close tab");const o=a("jp-icon-hover lm-TabBar-tabCloseIcon",w.styleClass({elementPosition:"center",height:"16px",width:"16px"}));return(0,Io.hpass)("div",{className:o,title:s},cn)}}e.Renderer=t;e.defaultRenderer=new t})(Po||(Po={}));class Lo extends m.DockPanel{constructor(e={}){super({renderer:Lo.defaultRenderer,...e})}}(function(e){class t extends m.DockPanel.Renderer{createTabBar(){const e=new Po;e.addClass("lm-DockPanel-tabBar");return e}}e.Renderer=t;e.defaultRenderer=new t})(Lo||(Lo={}));class Ro extends m.TabPanel{constructor(e={}){e.renderer=e.renderer||Po.defaultRenderer;super(e)}}const No="jp-HoverBox";const Bo="-1000";var Oo;(function(e){function t(e){const{anchor:t,host:n,node:i,privilege:s,outOfViewDisplay:o}=e;const r=n.getBoundingClientRect();if(!i.classList.contains(No)){i.classList.add(No)}if(i.style.visibility){i.style.visibility=""}if(i.style.zIndex===""){i.style.zIndex=""}i.style.maxHeight="";i.style.marginTop="";const a=e.style||window.getComputedStyle(i);const l=t.top-r.top;const d=r.bottom-t.bottom;const c=parseInt(a.marginTop,10)||0;const h=parseInt(a.marginLeft,10)||0;const u=parseInt(a.minHeight,10)||e.minHeight;let p=parseInt(a.maxHeight,10)||e.maxHeight;const m=s==="forceAbove"?false:s==="forceBelow"?true:s==="above"?l<p&&l<d:d>=p||d>=l;if(m){p=Math.min(d-c,p)}else{p=Math.min(l,p);i.style.marginTop="0px"}i.style.maxHeight=`${p}px`;const g=p>=u&&(d>=u||l>=u);if(!g){i.style.zIndex=Bo;i.style.visibility="hidden";return}if(e.size){i.style.width=`${e.size.width}px`;i.style.height=`${e.size.height}px`;i.style.contain="strict"}else{i.style.contain="";i.style.width="auto";i.style.height=""}const f=e.size?e.size.height:i.getBoundingClientRect().height;const v=e.offset&&e.offset.vertical&&e.offset.vertical.above||0;const _=e.offset&&e.offset.vertical&&e.offset.vertical.below||0;let b=m?r.bottom-d+_:r.top+l-f+v;i.style.top=`${Math.floor(b)}px`;const y=e.offset&&e.offset.horizontal||0;let w=t.left+y;i.style.left=`${Math.ceil(w)}px`;let C=i.getBoundingClientRect();let x=C.right;if(x>window.innerWidth){w-=x-window.innerWidth;x=window.innerWidth;i.style.left=`${Math.ceil(w)}px`}if(w<y-h){w=y-h;i.style.left=`${Math.ceil(w)}px`}i.style.zIndex="-1000";const S=C.bottom;const j=n.contains(document.elementFromPoint(w,b));const k=n.contains(document.elementFromPoint(x,b));const I=n.contains(document.elementFromPoint(x,S));const T=n.contains(document.elementFromPoint(w,S));i.style.zIndex="";const E=j||k;const M=T||I;const D=j||T;const A=I||k;const P=S-b;const L=x-w;const R=b<r.top;const N=S>r.bottom;const B=w+h<r.left;const O=x>r.right;let F=false;let z=false;let W=false;if(R){switch((o===null||o===void 0?void 0:o.top)||"hidden-inside"){case"hidden-inside":if(!E){F=true}break;case"hidden-outside":if(!M){F=true}break;case"stick-inside":if(r.top>b){b=r.top;W=true}break;case"stick-outside":if(r.top>S){b=r.top-P;W=true}break}}if(N){switch((o===null||o===void 0?void 0:o.bottom)||"hidden-outside"){case"hidden-inside":if(!M){F=true}break;case"hidden-outside":if(!E){F=true}break;case"stick-inside":if(r.bottom<S){b=r.bottom-P;W=true}break;case"stick-outside":if(r.bottom<b){b=r.bottom;W=true}break}}if(B){switch((o===null||o===void 0?void 0:o.left)||"hidden-inside"){case"hidden-inside":if(!D){F=true}break;case"hidden-outside":if(!A){F=true}break;case"stick-inside":if(r.left>w+h){w=r.left-h;z=true}break;case"stick-outside":if(r.left>x){w=r.left-h-L;z=true}break}}if(O){switch((o===null||o===void 0?void 0:o.right)||"hidden-outside"){case"hidden-inside":if(!A){F=true}break;case"hidden-outside":if(!D){F=true}break;case"stick-inside":if(r.right<x){w=r.right-L;z=true}break;case"stick-outside":if(r.right<w){w=r.right;z=true}break}}if(F){i.style.zIndex=Bo;i.style.visibility="hidden"}if(z){i.style.left=`${Math.ceil(w)}px`}if(W){i.style.top=`${Math.ceil(b)}px`}}e.setGeometry=t})(Oo||(Oo={}));const Fo=new g.Token("@jupyterlab/ui-components:IFormRendererRegistry","A service for settings form renderer registration.");const zo=new g.Token("@jupyterlab/ui-components:ILabIconManager","A service to register and request icons.");class Wo{constructor(){this._renderers={}}addRenderer(e,t){if(this._renderers[e]){throw new Error(`A renderer with id '${e}' is already registered.`)}if(!t.fieldRenderer&&!t.widgetRenderer){throw new Error(`The component for '${e}' cannot be registered as it does not define 'fieldRenderer' nor 'widgetRenderer'.`)}const n=e.lastIndexOf(".");const i=e.substring(0,n);const s=e.substring(n+1);if(i.length==0||s.length==0){throw new Error(`Form renderer id must follows the structure '<ISettingRegistry.IPlugin.id>.<propertyName>'; got ${e}.`)}this._renderers[e]=t}get renderers(){return this._renderers}getRenderer(e){return this._renderers[e]}}},40662:(e,t,n)=>{"use strict";var i=n(10395);var s=n(85072);var o=n.n(s);var r=n(97825);var a=n.n(r);var l=n(77659);var d=n.n(l);var c=n(55056);var h=n.n(c);var u=n(10540);var p=n.n(u);var m=n(41113);var g=n.n(m);var f=n(28857);var v={};v.styleTagTransform=g();v.setAttributes=h();v.insert=d().bind(null,"head");v.domAPI=a();v.insertStyleElement=p();var _=o()(f.A,v);const b=f.A&&f.A.locals?f.A.locals:undefined},47872:(e,t,n)=>{"use strict";n.r(t);n.d(t,{RenderedVega:()=>u,VEGALITE3_MIME_TYPE:()=>d,VEGALITE4_MIME_TYPE:()=>c,VEGALITE5_MIME_TYPE:()=>h,VEGA_MIME_TYPE:()=>l,default:()=>g,rendererFactory:()=>p});var i=n(27518);var s=n.n(i);const o="jp-RenderedVegaCommon5";const r="jp-RenderedVega5";const a="jp-RenderedVegaLite";const l="application/vnd.vega.v5+json";const d="application/vnd.vegalite.v3+json";const c="application/vnd.vegalite.v4+json";const h="application/vnd.vegalite.v5+json";class u extends i.Widget{constructor(e){super();this._mimeType=e.mimeType;this._resolver=e.resolver;this.addClass(o);this.addClass(this._mimeType===l?r:a)}async renderModel(e){const t=e.data[this._mimeType];if(t===undefined){return}const n=e.metadata[this._mimeType];const i=n&&n.embed_options?n.embed_options:{};let s=document.body.dataset.jpThemeLight==="false";if(s){i.theme="dark"}const o=this._mimeType===l?"vega":"vega-lite";const r=f.vega!=null?f.vega:await f.ensureVega();const a=document.createElement("div");this.node.textContent="";this.node.appendChild(a);if(this._result){this._result.finalize()}const d=r.vega.loader({http:{credentials:"same-origin"}});const c=async(e,t)=>{const n=this._resolver;if((n===null||n===void 0?void 0:n.isLocal)&&n.isLocal(e)){const t=await n.resolveUrl(e);e=await n.getDownloadUrl(t)}return d.sanitize(e,t)};this._result=await r.default(a,t,{actions:true,defaultStyle:true,...i,mode:o,loader:{...d,sanitize:c}});if(e.data["image/png"]){return}const h=await this._result.view.toImageURL("png",typeof i.scaleFactor==="number"?i.scaleFactor:i.scaleFactor?i.scaleFactor.png:i.scaleFactor);e.setData({data:{...e.data,"image/png":h.split(",")[1]}})}dispose(){if(this._result){this._result.finalize()}super.dispose()}}const p={safe:true,mimeTypes:[l,d,c,h],createRenderer:e=>new u(e)};const m={id:"@jupyterlab/vega5-extension:factory",description:"Provides a renderer for Vega 5 and Vega-Lite 3 to 5 content.",rendererFactory:p,rank:57,dataType:"json",documentWidgetFactoryOptions:[{name:"Vega5",primaryFileType:"vega5",fileTypes:["vega5","json"],defaultFor:["vega5"]},{name:"Vega-Lite5",primaryFileType:"vega-lite5",fileTypes:["vega-lite3","vega-lite4","vega-lite5","json"],defaultFor:["vega-lite3","vega-lite4","vega-lite5"]}],fileTypes:[{mimeTypes:[l],name:"vega5",extensions:[".vg",".vg.json",".vega"],icon:"ui-components:vega"},{mimeTypes:[h],name:"vega-lite5",extensions:[".vl",".vl.json",".vegalite"],icon:"ui-components:vega"},{mimeTypes:[c],name:"vega-lite4",extensions:[],icon:"ui-components:vega"},{mimeTypes:[d],name:"vega-lite3",extensions:[],icon:"ui-components:vega"}]};const g=m;var f;(function(e){function t(){if(e.vegaReady){return e.vegaReady}e.vegaReady=n.e(908).then(n.t.bind(n,40908,23));return e.vegaReady}e.ensureVega=t})(f||(f={}))},54549:(e,t,n)=>{"use strict";var i=n(10395);var s=n(85072);var o=n.n(s);var r=n(97825);var a=n.n(r);var l=n(77659);var d=n.n(l);var c=n(55056);var h=n.n(c);var u=n(10540);var p=n.n(u);var m=n(41113);var g=n.n(m);var f=n(45512);var v={};v.styleTagTransform=g();v.setAttributes=h();v.insert=d().bind(null,"head");v.domAPI=a();v.insertStyleElement=p();var _=o()(f.A,v);const b=f.A&&f.A.locals?f.A.locals:undefined},32835:(e,t,n)=>{"use strict";n.r(t);n.d(t,{VideoDocumentWidget:()=>y,VideoViewer:()=>b,VideoViewerFactory:()=>w,default:()=>S});var i=n(88617);var s=n.n(i);var o=n(38850);var r=n.n(o);var a=n(93067);var l=n.n(a);var d=n(49278);var c=n.n(d);var h=n(34881);var u=n.n(h);var p=n(27518);var m=n.n(p);const g="jp-VideoViewer";const f="VideoViewer";const v="video-provider";function _(e){const t=[];for(const n of e.fileTypes()){if(n.mimeTypes.some((e=>e.startsWith("video/")))){t.push(n.name)}}return t}class b extends p.Widget{constructor(e){super();this.addClass(g);this._context=e.context;this._contentsManager=e.contentsManager;this._video=document.createElement("video");this._video.controls=true;this.node.appendChild(this._video);void this._context.ready.then((()=>{void this._updateVideo()}));this._context.model.contentChanged.connect(this._updateVideo,this)}dispose(){if(this.isDisposed){return}super.dispose()}onResize(e){super.onResize(e);if(this._video){this._video.style.width="100%";this._video.style.height="100%"}}async _updateVideo(){const e=await this._contentsManager.getDownloadUrl(this._context.path);this._video.src=e}}class y extends a.DocumentWidget{constructor(e){super(e)}}class w extends a.ABCWidgetFactory{constructor(e){super(e);this._contentsManager=e.contentsManager}createNewWidget(e){const t=new b({context:e,contentsManager:this._contentsManager});const n=new y({content:t,context:e});return n}}class C extends d.RestContentProvider{constructor(e){super(e)}async get(e,t){return super.get(e,{...t,content:false})}}const x={id:"@jupyterlab/video-extension:plugin",description:"Adds a viewer for video files",autoStart:true,requires:[h.ITranslator,d.IDefaultDrive],optional:[i.ILayoutRestorer],activate:(e,t,n,i)=>{const s=t.load("jupyterlab");const{contents:r,serverSettings:a}=e.serviceManager;const l=_(e.docRegistry);const d=n.contentProviderRegistry;if(d){const e=new C({apiEndpoint:"/api/contents",serverSettings:a});d.register(v,e)}const c=new o.WidgetTracker({namespace:"videoviewer"});const h=new w({name:f,label:s.__("Video Viewer"),fileTypes:l,defaultFor:l,readOnly:true,translator:t,modelName:"base64",contentProviderId:v,contentsManager:r});e.docRegistry.addWidgetFactory(h);h.widgetCreated.connect((async(t,n)=>{void c.add(n);n.context.pathChanged.connect((()=>{void c.save(n)}));const i=e.docRegistry.getFileTypesForPath(n.context.path);const s=i.find((e=>e.mimeTypes.some((e=>e.startsWith("video/")))));if(s){n.title.icon=s.icon;n.title.iconClass=s.iconClass||"";n.title.iconLabel=s.iconLabel||""}}));if(i){void i.restore(c,{command:"docmanager:open",args:e=>({path:e.context.path,factory:f}),name:e=>e.context.path})}}};const S=x},14920:(e,t,n)=>{"use strict";var i=n(10395);var s=n(97913);var o=n(79010);var r=n(3579);var a=n(85072);var l=n.n(a);var d=n(97825);var c=n.n(d);var h=n(77659);var u=n.n(h);var p=n(55056);var m=n.n(p);var g=n(10540);var f=n.n(g);var v=n(41113);var _=n.n(v);var b=n(45531);var y={};y.styleTagTransform=_();y.setAttributes=m();y.insert=u().bind(null,"head");y.domAPI=c();y.insertStyleElement=f();var w=l()(b.A,y);const C=b.A&&b.A.locals?b.A.locals:undefined},42864:(e,t,n)=>{"use strict";n.r(t);n.d(t,{default:()=>D});var i=n(88617);var s=n(33641);var o=n(38850);var r=n(40959);var a=n(44577);var l=n(78629);var d=n(34881);var c;(function(e){e.open="workspace-ui:open";e.save="workspace-ui:save";e.saveAs="workspace-ui:save-as";e.createNew="workspace-ui:create-new";e.deleteWorkspace="workspace-ui:delete";e.clone="workspace-ui:clone";e.rename="workspace-ui:rename";e.reset="workspace-ui:reset";e.importWorkspace="workspace-ui:import";e.exportWorkspace="workspace-ui:export"})(c||(c={}));const h="jupyterlab-workspace";const u="."+h;const p="workspace-ui:lastSave";const m="jp-mod-workspace";const g={id:"@jupyterlab/workspaces-extension:commands",description:"Add workspace commands.",autoStart:true,requires:[s.IWorkspacesModel,a.IDefaultFileBrowser,o.IWindowResolver,l.IStateDB,d.ITranslator,i.JupyterFrontEnd.IPaths],provides:s.IWorkspaceCommands,optional:[i.IRouter,o.ICommandPalette],activate:(e,t,n,i,s,l,d,h,g)=>{const v=l.load("jupyterlab");const _=v.__("Naming the workspace will create a unique URL. The name may contain letters, numbers, hyphens (-), and underscores (_).");const b=r.URLExt.join(d.urls.app,"workspaces");const y=b+"/";const w="[a-zA-Z0-9\\-_]+";const C=async e=>o.InputDialog.getText({label:_,prefix:y,pattern:w,required:true,placeholder:v.__("workspace-name"),...e});const x=e=>e.classList.contains(m);e.commands.addCommand(c.open,{label:e=>{const t=e.workspace;return t?v.__("Open Workspace"):v.__("Open Workspace…")},execute:async e=>{let n=e.workspace;if(!n){const e=await o.InputDialog.getItem({title:v.__("Choose Workspace To Open"),label:v.__("Choose an existing workspace to open."),items:t.identifiers,okLabel:v.__("Choose"),prefix:y});if(!e.value||!e.button.accept){return}n=e.value}if(!n||!t.identifiers.includes(n)){return}const i=r.URLExt.join(b,n);if(!i.startsWith(b)){throw new Error("Can only be used for workspaces")}if(h){h.navigate(i,{hard:true})}else{document.location.href=i}},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:v.__("Workspace identifier to open")}}}}});e.commands.addCommand(c.deleteWorkspace,{label:v.__("Delete Workspace…"),execute:async n=>{var i;const s=e.contextMenuHitTest(x);let r=(i=n.workspace)!==null&&i!==void 0?i:s===null||s===void 0?void 0:s.dataset["context"];if(!r){const e=await o.InputDialog.getItem({title:v.__("Choose Workspace To Delete"),label:v.__("Choose an existing workspace to delete."),items:t.identifiers,okLabel:v.__("Choose")});if(!e.value||!e.button.accept){return}r=e.value}if(!r){return}const a=await(0,o.showDialog)({title:v.__("Delete workspace"),body:v.__('Deleting workspace "%1" will also delete its URL. A deleted workspace cannot be recovered.',r),buttons:[o.Dialog.cancelButton(),o.Dialog.warnButton({label:v.__("Delete")})],defaultButton:0});if(a.button.accept){await t.remove(r)}},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:v.__("Workspace identifier to delete")}}}}});e.commands.addCommand(c.createNew,{label:v.__("Create New Workspace…"),execute:async e=>{let n=e.workspace;if(!n){const e=await C({title:v.__("Create New Workspace"),okLabel:v.__("Create")});if(!e.value||!e.button.accept){return}n=e.value}if(!n){return}await t.create(n)},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:v.__("Workspace identifier for the new workspace")}}}}});e.commands.addCommand(c.clone,{label:v.__("Clone Workspace…"),execute:async n=>{var s;const r=e.contextMenuHitTest(x);let a=(s=n.workspace)!==null&&s!==void 0?s:r===null||r===void 0?void 0:r.dataset["context"];if(!a){const e=await o.InputDialog.getItem({title:v.__("Choose Workspace To Clone"),label:v.__("Choose an existing workspace to clone."),items:t.identifiers,okLabel:v.__("Choose")});if(!e.value||!e.button.accept){return}a=e.value}const l=await C({title:v.__("Clone Workspace"),text:v.__("%1-clone",a),okLabel:v.__("Clone")});if(!l.button.accept||!l.value){return}let d=l.value;await t.saveAs(a,d);if(a===i.name){return e.commands.execute(c.open,{workspace:d})}},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:v.__("Workspace identifier to clone")}}}}});e.commands.addCommand(c.rename,{label:v.__("Rename Workspace…"),execute:async n=>{var s,o;const r=e.contextMenuHitTest(x);const a=(o=(s=n.workspace)!==null&&s!==void 0?s:r===null||r===void 0?void 0:r.dataset["context"])!==null&&o!==void 0?o:i.name;const l=a;const d=await C({title:v.__("Rename Workspace"),text:l,okLabel:v.__("Rename")});if(!d.button.accept||!d.value){return}let h=d.value;await t.rename(a,h);if(a===i.name){return e.commands.execute(c.open,{workspace:h})}},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:v.__("Workspace identifier to rename")}}}}});e.commands.addCommand(c.reset,{label:v.__("Reset Workspace…"),execute:async n=>{var s,r,a,l,d,h;const u=e.contextMenuHitTest(x);const p=(r=(s=n.workspace)!==null&&s!==void 0?s:u===null||u===void 0?void 0:u.dataset["context"])!==null&&r!==void 0?r:i.name;const m=await e.serviceManager.workspaces.fetch(p);const g=(h=(d=(l=(a=m.data["layout-restorer:data"])===null||a===void 0?void 0:a.main)===null||l===void 0?void 0:l.dock)===null||d===void 0?void 0:d.widgets)===null||h===void 0?void 0:h.length;const f=await(0,o.showDialog)({title:v.__("Reset Workspace"),body:v._n("Resetting workspace %2 will close its %1 tab and return to default layout.","Resetting workspace %2 will close its %1 tabs and return to default layout.",g,p),buttons:[o.Dialog.cancelButton(),o.Dialog.warnButton({label:v.__("Reset")})],defaultButton:0});if(!f.button.accept){return}await t.reset(p);if(p===i.name){return e.commands.execute(c.open,{workspace:p})}else{await t.refresh()}},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:v.__("Workspace identifier to reset")}}}}});e.commands.addCommand(c.importWorkspace,{label:v.__("Import Workspace…"),execute:async()=>{const{contents:i}=e.serviceManager;const s=await a.FileDialog.getOpenFiles({manager:n.model.manager,title:v.__("Select Workspace Files to Import"),filter:e=>e.type==="directory"||e.path.endsWith(u)?{}:null,label:v.__('Choose one or more workspace files to import. A Jupyter workspace file has the extension "%1".',u),translator:l});if(s.button.accept&&s.value&&s.value.length>=1){for(const t of s.value){const n=await i.get(t.path,{content:true});const s=JSON.parse(n.content);await e.serviceManager.workspaces.save(s.metadata.id,s)}await t.refresh()}},describedBy:{args:{type:"object",properties:{}}}});e.commands.addCommand(c.exportWorkspace,{label:v.__("Export Workspace…"),execute:async r=>{var d,c;const{contents:h}=e.serviceManager;const p=e.contextMenuHitTest(x);let m=(c=(d=r.workspace)!==null&&d!==void 0?d:p===null||p===void 0?void 0:p.dataset["context"])!==null&&c!==void 0?c:i.name;if(!m){const e=await o.InputDialog.getItem({title:v.__("Choose Workspace To Export"),label:v.__("Choose an existing workspace to export."),items:t.identifiers,okLabel:v.__("Choose")});if(!e.value||!e.button.accept){return}m=e.value}const g=e.serviceManager.workspaces.fetch(m);const _=await a.FileDialog.getExistingDirectory({title:v.__("Choose Workspace Export Directory"),defaultPath:n.model.path,manager:n.model.manager,label:v.__('The "%1" workspace will be saved in the chosen directory as "%1%2".',m,u),translator:l});if(!_.button.accept||!_.value||_.value.length===0){return}if(_.value.length>1){console.warn("More than one directory was selected; the workspace will be exported to the first directory only")}const b=_.value[0].path+"/"+m+u;if(b){await f.save(b,h,g,s,false)}},describedBy:{args:{type:"object",properties:{workspace:{type:"string",description:v.__("Workspace identifier to export")}}}}});e.commands.addCommand(c.saveAs,{label:v.__("Save Current Workspace As…"),execute:async()=>{const{contents:t}=e.serviceManager;const o=e.serviceManager.workspaces.fetch(i.name);await f.saveAs(n,t,o,s,l)},describedBy:{args:{type:"object",properties:{}}}});e.commands.addCommand(c.save,{label:v.__("Save Current Workspace"),execute:async()=>{const{contents:t}=e.serviceManager;const o=e.serviceManager.workspaces.fetch(i.name);const r=await s.fetch(p);if(r===undefined){await f.saveAs(n,t,o,s,l)}else{await f.save(r,t,o,s)}},describedBy:{args:{type:"object",properties:{}}}});if(g){const e=v.__("Workspaces");const t=[c.open,c.save,c.saveAs,c.createNew,c.rename,c.clone,c.exportWorkspace,c.importWorkspace,c.reset,c.deleteWorkspace];for(const n of t){g.addItem({command:n,category:e})}}return{open:c.open,deleteWorkspace:c.deleteWorkspace}}};var f;(function(e){function t(e){let t=e.split("/").pop();if(t===undefined){return"unnamed-workspace"}if(t.endsWith(u)){t=t.slice(0,-u.length)}return t}e.createNameFromPath=t;async function n(e,n,i,s,o=true){const r=t(e);if(!e.endsWith(u)){e=e+u}if(o){await s.save(p,e)}const a=await i;a.metadata.id=`${r}`;await n.save(e,{type:"file",format:"text",content:JSON.stringify(a)})}e.save=n;async function i(e,t,i,o,r){var a;r=r||d.nullTranslator;const l=await o.fetch(p);let c;if(l===undefined){c="new-workspace"}else{c=(a=l.split("/").pop())===null||a===void 0?void 0:a.split(".")[0]}const h=e.model.path+"/"+c+u;const m=await s(h,r);if(m){await n(m,t,i,o)}}e.saveAs=i;async function s(e,t){t=t||d.nullTranslator;const n=t.load("jupyterlab");const i=await o.InputDialog.getText({title:n.__("Save Current Workspace As…"),text:e,placeholder:n.__("Path to save the workspace in"),okLabel:n.__("Save"),selectionRange:e.length-u.length});if(i.button.accept){return i.value}else{return null}}})(f||(f={}));var v=n(58719);var _=n(4073);const b={id:"@jupyterlab/workspaces-extension:sidebar",description:"Populates running sidebar with workspaces.",requires:[s.IWorkspaceCommands,s.IWorkspacesModel,v.IRunningSessionManagers,o.IWindowResolver],optional:[d.ITranslator],autoStart:true,activate:async(e,t,n,i,s,o)=>{const r=(o!==null&&o!==void 0?o:d.nullTranslator).load("jupyterlab");class a{constructor(e){this._workspace=e;this.context=e.metadata.id;this.className=m}open(){return e.commands.execute(t.open,{workspace:this._workspace.metadata.id})}async shutdown(){await e.commands.execute(t.deleteWorkspace,{workspace:this._workspace.metadata.id});await n.refresh()}icon(){return s.name===this._workspace.metadata.id?_.checkIcon:_.blankIcon}label(){return this._workspace.metadata.id}labelTitle(){var e,t,n,i;return r.__("%1 workspace with %2 tabs, last modified on %3",this._workspace.metadata.id,(i=(n=(t=(e=this._workspace.data["layout-restorer:data"])===null||e===void 0?void 0:e.main)===null||t===void 0?void 0:t.dock)===null||n===void 0?void 0:n.widgets)===null||i===void 0?void 0:i.length,this._workspace.metadata["last_modified"])}}i.add({name:r.__("Workspaces"),supportsMultipleViews:false,running:()=>n.workspaces.map((e=>new a(e))),shutdownAll:async()=>{await Promise.all(n.workspaces.map((e=>n.remove(e.metadata.id))));await n.refresh()},shutdownItemIcon:_.deleteIcon,refreshRunning:async()=>{await n.refresh()},runningChanged:n.refreshed,shutdownLabel:e=>r.__("Delete %1",e.label()),shutdownAllLabel:r.__("Delete All"),shutdownAllConfirmationText:r.__("Are you sure you want to delete all workspaces? Deleted workspaces cannot be recovered.")})}};var y=n(44914);var w=n.n(y);const C=({currentWorkspace:e,identifiers:t,openWorkspace:n,translator:i})=>{const[s,o]=(0,y.useState)(false);const[r,a]=(0,y.useState)("");const l=(0,y.useRef)(null);const d=(0,y.useId)();const c=i.load("jupyterlab");const h=t.filter((e=>e.toLowerCase().includes(r.toLowerCase())));(0,y.useEffect)((()=>{const e=e=>{if(l.current&&!l.current.contains(e.target)){o(false)}};document.addEventListener("mousedown",e);return()=>document.removeEventListener("mousedown",e)}),[]);return w().createElement("div",{className:"jp-WorkspaceSelector",ref:l},w().createElement("button",{className:"jp-WorkspaceSelector-header",onClick:()=>o(!s),"aria-expanded":s,"aria-controls":d},w().createElement("span",{className:"jp-WorkspaceSelector-current"},e.length>12?`${e.slice(0,12)}...`:e),w().createElement("span",{className:"jp-WorkspaceSelector-caret"},w().createElement(_.LabIcon.resolveReact,{icon:s?_.caretUpEmptyThinIcon:_.caretDownEmptyThinIcon}))),s&&w().createElement("div",{className:"jp-WorkspaceSelector-dropdown",id:d},w().createElement("div",{className:"jp-WorkspaceSelector-search"},w().createElement("div",{className:"jp-WorkspaceSelector-searchIcon"},w().createElement(_.LabIcon.resolveReact,{icon:_.searchIcon})),w().createElement("input",{type:"text",className:"jp-WorkspaceSelector-input",placeholder:c.__("Search workspace"),value:r,onChange:e=>a(e.target.value),autoFocus:true,"aria-autocomplete":"list",role:"combobox"})),w().createElement("ul",{className:"jp-WorkspaceSelector-list",role:"listbox","aria-label":c.__("Workspace")},h.map((t=>w().createElement("li",{key:t,className:"jp-WorkspaceSelector-item",onClick:()=>{if(t===e)return;n(t);o(false)}},w().createElement(_.LabIcon.resolveReact,{icon:t===e?_.checkIcon:_.blankIcon}),t.length>12?`${t.slice(0,12)}...`:t))))))};class x extends _.ReactWidget{constructor(e){super();this.id="jp-workspace-top-indicator";this._identifiers=e.identifiers;this._openWorkspace=e.openWorkspace;this._currentWorkspace=e.currentWorkspace;this._translator=e.translator;e.model.refreshed.connect((()=>{this._identifiers=e.model.identifiers;this.update()}))}render(){return w().createElement(C,{currentWorkspace:this._currentWorkspace,identifiers:this._identifiers,openWorkspace:this._openWorkspace,translator:this._translator})}}var S=n(40065);const j={id:"@jupyterlab/workspaces-extension:model",description:"Provides a model for available workspaces.",provides:s.IWorkspacesModel,autoStart:true,optional:[i.JupyterLab.IInfo],activate:(e,t)=>new s.WorkspacesModel({manager:e.serviceManager.workspaces,refreshStandby:()=>{if(t){return!t.isConnected||"when-hidden"}return"when-hidden"}})};const k={id:"@jupyterlab/workspaces-extension:menu",description:'Populates "File" main menu with Workspaces submenu.',requires:[s.IWorkspaceCommands],autoStart:true,activate:()=>{}};const I="@jupyterlab/workspaces-extension:indicator";const T="workspace-indicator:toggle";const E={id:I,description:"Adds a workspace indicator element at topbar",requires:[s.IWorkspacesModel,s.IWorkspaceCommands,o.IWindowResolver,d.ITranslator,S.ISettingRegistry,o.IToolbarWidgetRegistry],optional:[o.ICommandPalette],autoStart:true,activate:async(e,t,n,i,s,o,r,a)=>{const l=s.load("jupyterlab");const d=async t=>{await e.commands.execute(n.open,{workspace:t})};const c=new x({currentWorkspace:i.name,identifiers:t.identifiers,openWorkspace:d,model:t,translator:s});r.addFactory("TopBar","workspaceIndicator",(()=>c));e.commands.addCommand(T,{label:l.__("Show Workspace Indicator"),isToggled:()=>c.isVisible,execute:async()=>{const e=await o.get("@jupyterlab/application-extension:top-bar","toolbar");if(Array.isArray(e.composite)){const t=e.composite.map((e=>{if(e.name==="workspaceIndicator"){return{...e,disabled:!e.disabled}}return e}));await o.set("@jupyterlab/application-extension:top-bar","toolbar",t)}},describedBy:{args:{type:"object",properties:{}}}});if(a){const e=l.__("Workspaces");a.addItem({command:T,category:e})}}};const M=[j,g,b,k,E];const D=M},75591:(e,t,n)=>{"use strict";var i=n(40662);var s=n(97913);var o=n(3579);var r=n(39063);var a=n(94780);var l=n(85072);var d=n.n(l);var c=n(97825);var h=n.n(c);var u=n(77659);var p=n.n(u);var m=n(55056);var g=n.n(m);var f=n(10540);var v=n.n(f);var _=n(41113);var b=n.n(_);var y=n(52680);var w={};w.styleTagTransform=b();w.setAttributes=g();w.insert=p().bind(null,"head");w.domAPI=h();w.insertStyleElement=v();var C=d()(y.A,w);const x=y.A&&y.A.locals?y.A.locals:undefined},33352:(e,t,n)=>{"use strict";n.r(t);n.d(t,{IWorkspaceCommands:()=>l,IWorkspacesModel:()=>d,WorkspacesModel:()=>r});var i=n(26568);var s=n(2336);const o=1e4;class r{constructor(e){var t;this._refreshed=new s.Signal(this);this._isDisposed=false;this._workspaceData={ids:[],values:[]};this._manager=e.manager;const n=e.refreshInterval||o;this._poll=new i.Poll({auto:(t=e.auto)!==null&&t!==void 0?t:true,name:"@jupyterlab/workspaces:Model",factory:()=>this._fetchList(),frequency:{interval:n,backoff:true,max:300*1e3},standby:e.refreshStandby||"when-hidden"})}get workspaces(){return this._workspaceData.values}get identifiers(){return this._workspaceData.ids}async create(e){await this._manager.save(e,{metadata:{id:e},data:{}});await this.refresh()}get refreshed(){return this._refreshed}async refresh(){await this._poll.refresh();await this._poll.tick}async rename(e,t){const n=await this._manager.fetch(e);n.metadata.id=t;await this._manager.save(t,n);await this._manager.remove(e);await this.refresh()}async reset(e){const t=await this._manager.fetch(e);t.data={};await this._manager.save(e,t);await this.refresh()}async remove(e){await this._manager.remove(e);await this.refresh()}async saveAs(e,t){const n=await this._manager.fetch(e);n.metadata.id=t;await this._manager.save(t,n);await this.refresh()}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;this._poll.dispose();s.Signal.clearData(this)}async _fetchList(){this._workspaceData=await this._manager.list();this._refreshed.emit(void 0)}}var a=n(5592);const l=new a.Token("@jupyterlab/workspaces:IWorkspaceCommands","Provides identifiers of workspace commands.");const d=new a.Token("@jupyterlab/workspaces:IWorkspacesModel","Provides a model for available workspaces.")},56588:(e,t,n)=>{"use strict";n.r(t);n.d(t,{ArrayExt:()=>i,StringExt:()=>I,chain:()=>s,each:()=>g,empty:()=>o,enumerate:()=>r,every:()=>f,filter:()=>a,find:()=>l,findIndex:()=>d,map:()=>_,max:()=>h,min:()=>c,minmax:()=>u,once:()=>x,range:()=>b,reduce:()=>w,repeat:()=>C,retro:()=>S,some:()=>v,stride:()=>k,take:()=>T,toArray:()=>p,toObject:()=>m,topologicSort:()=>j,zip:()=>E});var i;(function(e){function t(e,t,n=0,i=-1){let s=e.length;if(s===0){return-1}if(n<0){n=Math.max(0,n+s)}else{n=Math.min(n,s-1)}if(i<0){i=Math.max(0,i+s)}else{i=Math.min(i,s-1)}let o;if(i<n){o=i+1+(s-n)}else{o=i-n+1}for(let r=0;r<o;++r){let i=(n+r)%s;if(e[i]===t){return i}}return-1}e.firstIndexOf=t;function n(e,t,n=-1,i=0){let s=e.length;if(s===0){return-1}if(n<0){n=Math.max(0,n+s)}else{n=Math.min(n,s-1)}if(i<0){i=Math.max(0,i+s)}else{i=Math.min(i,s-1)}let o;if(n<i){o=n+1+(s-i)}else{o=n-i+1}for(let r=0;r<o;++r){let i=(n-r+s)%s;if(e[i]===t){return i}}return-1}e.lastIndexOf=n;function i(e,t,n=0,i=-1){let s=e.length;if(s===0){return-1}if(n<0){n=Math.max(0,n+s)}else{n=Math.min(n,s-1)}if(i<0){i=Math.max(0,i+s)}else{i=Math.min(i,s-1)}let o;if(i<n){o=i+1+(s-n)}else{o=i-n+1}for(let r=0;r<o;++r){let i=(n+r)%s;if(t(e[i],i)){return i}}return-1}e.findFirstIndex=i;function s(e,t,n=-1,i=0){let s=e.length;if(s===0){return-1}if(n<0){n=Math.max(0,n+s)}else{n=Math.min(n,s-1)}if(i<0){i=Math.max(0,i+s)}else{i=Math.min(i,s-1)}let o;if(n<i){o=n+1+(s-i)}else{o=n-i+1}for(let r=0;r<o;++r){let i=(n-r+s)%s;if(t(e[i],i)){return i}}return-1}e.findLastIndex=s;function o(e,t,n=0,s=-1){let o=i(e,t,n,s);return o!==-1?e[o]:undefined}e.findFirstValue=o;function r(e,t,n=-1,i=0){let o=s(e,t,n,i);return o!==-1?e[o]:undefined}e.findLastValue=r;function a(e,t,n,i=0,s=-1){let o=e.length;if(o===0){return 0}if(i<0){i=Math.max(0,i+o)}else{i=Math.min(i,o-1)}if(s<0){s=Math.max(0,s+o)}else{s=Math.min(s,o-1)}let r=i;let a=s-i+1;while(a>0){let i=a>>1;let s=r+i;if(n(e[s],t)<0){r=s+1;a-=i+1}else{a=i}}return r}e.lowerBound=a;function l(e,t,n,i=0,s=-1){let o=e.length;if(o===0){return 0}if(i<0){i=Math.max(0,i+o)}else{i=Math.min(i,o-1)}if(s<0){s=Math.max(0,s+o)}else{s=Math.min(s,o-1)}let r=i;let a=s-i+1;while(a>0){let i=a>>1;let s=r+i;if(n(e[s],t)>0){a=i}else{r=s+1;a-=i+1}}return r}e.upperBound=l;function d(e,t,n){if(e===t){return true}if(e.length!==t.length){return false}for(let i=0,s=e.length;i<s;++i){if(n?!n(e[i],t[i]):e[i]!==t[i]){return false}}return true}e.shallowEqual=d;function c(e,t={}){let{start:n,stop:i,step:s}=t;if(s===undefined){s=1}if(s===0){throw new Error("Slice `step` cannot be zero.")}let o=e.length;if(n===undefined){n=s<0?o-1:0}else if(n<0){n=Math.max(n+o,s<0?-1:0)}else if(n>=o){n=s<0?o-1:o}if(i===undefined){i=s<0?-1:o}else if(i<0){i=Math.max(i+o,s<0?-1:0)}else if(i>=o){i=s<0?o-1:o}let r;if(s<0&&i>=n||s>0&&n>=i){r=0}else if(s<0){r=Math.floor((i-n+1)/s+1)}else{r=Math.floor((i-n-1)/s+1)}let a=[];for(let l=0;l<r;++l){a[l]=e[n+l*s]}return a}e.slice=c;function h(e,t,n){let i=e.length;if(i<=1){return}if(t<0){t=Math.max(0,t+i)}else{t=Math.min(t,i-1)}if(n<0){n=Math.max(0,n+i)}else{n=Math.min(n,i-1)}if(t===n){return}let s=e[t];let o=t<n?1:-1;for(let r=t;r!==n;r+=o){e[r]=e[r+o]}e[n]=s}e.move=h;function u(e,t=0,n=-1){let i=e.length;if(i<=1){return}if(t<0){t=Math.max(0,t+i)}else{t=Math.min(t,i-1)}if(n<0){n=Math.max(0,n+i)}else{n=Math.min(n,i-1)}while(t<n){let i=e[t];let s=e[n];e[t++]=s;e[n--]=i}}e.reverse=u;function p(e,t,n=0,i=-1){let s=e.length;if(s<=1){return}if(n<0){n=Math.max(0,n+s)}else{n=Math.min(n,s-1)}if(i<0){i=Math.max(0,i+s)}else{i=Math.min(i,s-1)}if(n>=i){return}let o=i-n+1;if(t>0){t=t%o}else if(t<0){t=(t%o+o)%o}if(t===0){return}let r=n+t;u(e,n,r-1);u(e,r,i);u(e,n,i)}e.rotate=p;function m(e,t,n=0,i=-1){let s=e.length;if(s===0){return}if(n<0){n=Math.max(0,n+s)}else{n=Math.min(n,s-1)}if(i<0){i=Math.max(0,i+s)}else{i=Math.min(i,s-1)}let o;if(i<n){o=i+1+(s-n)}else{o=i-n+1}for(let r=0;r<o;++r){e[(n+r)%s]=t}}e.fill=m;function g(e,t,n){let i=e.length;if(t<0){t=Math.max(0,t+i)}else{t=Math.min(t,i)}for(let s=i;s>t;--s){e[s]=e[s-1]}e[t]=n}e.insert=g;function f(e,t){let n=e.length;if(t<0){t+=n}if(t<0||t>=n){return undefined}let i=e[t];for(let s=t+1;s<n;++s){e[s-1]=e[s]}e.length=n-1;return i}e.removeAt=f;function v(e,n,i=0,s=-1){let o=t(e,n,i,s);if(o!==-1){f(e,o)}return o}e.removeFirstOf=v;function _(e,t,i=-1,s=0){let o=n(e,t,i,s);if(o!==-1){f(e,o)}return o}e.removeLastOf=_;function b(e,t,n=0,i=-1){let s=e.length;if(s===0){return 0}if(n<0){n=Math.max(0,n+s)}else{n=Math.min(n,s-1)}if(i<0){i=Math.max(0,i+s)}else{i=Math.min(i,s-1)}let o=0;for(let r=0;r<s;++r){if(n<=i&&r>=n&&r<=i&&e[r]===t){o++}else if(i<n&&(r<=i||r>=n)&&e[r]===t){o++}else if(o>0){e[r-o]=e[r]}}if(o>0){e.length=s-o}return o}e.removeAllOf=b;function y(e,t,n=0,s=-1){let o;let r=i(e,t,n,s);if(r!==-1){o=f(e,r)}return{index:r,value:o}}e.removeFirstWhere=y;function w(e,t,n=-1,i=0){let o;let r=s(e,t,n,i);if(r!==-1){o=f(e,r)}return{index:r,value:o}}e.removeLastWhere=w;function C(e,t,n=0,i=-1){let s=e.length;if(s===0){return 0}if(n<0){n=Math.max(0,n+s)}else{n=Math.min(n,s-1)}if(i<0){i=Math.max(0,i+s)}else{i=Math.min(i,s-1)}let o=0;for(let r=0;r<s;++r){if(n<=i&&r>=n&&r<=i&&t(e[r],r)){o++}else if(i<n&&(r<=i||r>=n)&&t(e[r],r)){o++}else if(o>0){e[r-o]=e[r]}}if(o>0){e.length=s-o}return o}e.removeAllWhere=C})(i||(i={}));function*s(...e){for(const t of e){yield*t}}function*o(){return}function*r(e,t=0){for(const n of e){yield[t++,n]}}function*a(e,t){let n=0;for(const i of e){if(t(i,n++)){yield i}}}function l(e,t){let n=0;for(const i of e){if(t(i,n++)){return i}}return undefined}function d(e,t){let n=0;for(const i of e){if(t(i,n++)){return n-1}}return-1}function c(e,t){let n=undefined;for(const i of e){if(n===undefined){n=i;continue}if(t(i,n)<0){n=i}}return n}function h(e,t){let n=undefined;for(const i of e){if(n===undefined){n=i;continue}if(t(i,n)>0){n=i}}return n}function u(e,t){let n=true;let i;let s;for(const o of e){if(n){i=o;s=o;n=false}else if(t(o,i)<0){i=o}else if(t(o,s)>0){s=o}}return n?undefined:[i,s]}function p(e){return Array.from(e)}function m(e){const t={};for(const[n,i]of e){t[n]=i}return t}function g(e,t){let n=0;for(const i of e){if(false===t(i,n++)){return}}}function f(e,t){let n=0;for(const i of e){if(false===t(i,n++)){return false}}return true}function v(e,t){let n=0;for(const i of e){if(t(i,n++)){return true}}return false}function*_(e,t){let n=0;for(const i of e){yield t(i,n++)}}function*b(e,t,n){if(t===undefined){t=e;e=0;n=1}else if(n===undefined){n=1}const i=y.rangeLength(e,t,n);for(let s=0;s<i;s++){yield e+n*s}}var y;(function(e){function t(e,t,n){if(n===0){return Infinity}if(e>t&&n>0){return 0}if(e<t&&n<0){return 0}return Math.ceil((t-e)/n)}e.rangeLength=t})(y||(y={}));function w(e,t,n){const i=e[Symbol.iterator]();let s=0;let o=i.next();if(o.done&&n===undefined){throw new TypeError("Reduce of empty iterable with no initial value.")}if(o.done){return n}let r=i.next();if(r.done&&n===undefined){return o.value}if(r.done){return t(n,o.value,s++)}let a;if(n===undefined){a=t(o.value,r.value,s++)}else{a=t(t(n,o.value,s++),r.value,s++)}let l;while(!(l=i.next()).done){a=t(a,l.value,s++)}return a}function*C(e,t){while(0<t--){yield e}}function*x(e){yield e}function*S(e){if(typeof e.retro==="function"){yield*e.retro()}else{for(let t=e.length-1;t>-1;t--){yield e[t]}}}function j(e){let t=[];let n=new Set;let i=new Map;for(const r of e){s(r)}for(const[r]of i){o(r)}return t;function s(e){let[t,n]=e;let s=i.get(n);if(s){s.push(t)}else{i.set(n,[t])}}function o(e){if(n.has(e)){return}n.add(e);let s=i.get(e);if(s){for(const e of s){o(e)}}t.push(e)}}function*k(e,t){let n=0;for(const i of e){if(0===n++%t){yield i}}}var I;(function(e){function t(e,t,n=0){let i=new Array(t.length);for(let s=0,o=n,r=t.length;s<r;++s,++o){o=e.indexOf(t[s],o);if(o===-1){return null}i[s]=o}return i}e.findIndices=t;function n(e,n,i=0){let s=t(e,n,i);if(!s){return null}let o=0;for(let t=0,r=s.length;t<r;++t){let e=s[t]-i;o+=e*e}return{score:o,indices:s}}e.matchSumOfSquares=n;function i(e,n,i=0){let s=t(e,n,i);if(!s){return null}let o=0;let r=i-1;for(let t=0,a=s.length;t<a;++t){let e=s[t];o+=e-r-1;r=e}return{score:o,indices:s}}e.matchSumOfDeltas=i;function s(e,t,n){let i=[];let s=0;let o=0;let r=t.length;while(s<r){let a=t[s];let l=t[s];while(++s<r&&t[s]===l+1){l++}if(o<a){i.push(e.slice(o,a))}if(a<l+1){i.push(n(e.slice(a,l+1)))}o=l+1}if(o<e.length){i.push(e.slice(o))}return i}e.highlight=s;function o(e,t){return e<t?-1:e>t?1:0}e.cmp=o})(I||(I={}));function*T(e,t){if(t<1){return}const n=e[Symbol.iterator]();let i;while(0<t--&&!(i=n.next()).done){yield i.value}}function*E(...e){const t=e.map((e=>e[Symbol.iterator]()));let n=t.map((e=>e.next()));for(;f(n,(e=>!e.done));n=t.map((e=>e.next()))){yield n.map((e=>e.value))}}},86397:(e,t,n)=>{"use strict";n.r(t);n.d(t,{Application:()=>d});var i=n(93247);var s=n.n(i);var o=n(5592);var r=n.n(o);var a=n(27518);var l=n.n(a);class d{constructor(e){var t;this._delegate=new o.PromiseDelegate;this._started=false;this._bubblingKeydown=false;this.pluginRegistry=(t=e.pluginRegistry)!==null&&t!==void 0?t:new o.PluginRegistry(e);this.pluginRegistry.application=this;this.commands=new i.CommandRegistry;this.contextMenu=new a.ContextMenu({commands:this.commands,renderer:e.contextMenuRenderer});this.shell=e.shell}get deferredPlugins(){return this.pluginRegistry.deferredPlugins}get started(){return this._delegate.promise}async activateDeferredPlugins(){await this.pluginRegistry.activatePlugins("defer")}async activatePlugin(e){return this.pluginRegistry.activatePlugin(e)}async deactivatePlugin(e){return this.pluginRegistry.deactivatePlugin(e)}deregisterPlugin(e,t){this.pluginRegistry.deregisterPlugin(e,t)}getPluginDescription(e){return this.pluginRegistry.getPluginDescription(e)}hasPlugin(e){return this.pluginRegistry.hasPlugin(e)}isPluginActivated(e){return this.pluginRegistry.isPluginActivated(e)}listPlugins(){return this.pluginRegistry.listPlugins()}registerPlugin(e){this.pluginRegistry.registerPlugin(e)}registerPlugins(e){this.pluginRegistry.registerPlugins(e)}async resolveOptionalService(e){return this.pluginRegistry.resolveOptionalService(e)}async resolveRequiredService(e){return this.pluginRegistry.resolveRequiredService(e)}async start(e={}){var t,n;if(this._started){return this._delegate.promise}this._started=true;this._bubblingKeydown=(t=e.bubblingKeydown)!==null&&t!==void 0?t:false;const i=(n=e.hostID)!==null&&n!==void 0?n:"";await this.pluginRegistry.activatePlugins("startUp",e);this.attachShell(i);this.addEventListeners();this._delegate.resolve()}handleEvent(e){switch(e.type){case"resize":this.evtResize(e);break;case"keydown":this.evtKeydown(e);break;case"keyup":this.evtKeyup(e);break;case"contextmenu":this.evtContextMenu(e);break}}attachShell(e){a.Widget.attach(this.shell,e&&document.getElementById(e)||document.body)}addEventListeners(){document.addEventListener("contextmenu",this);document.addEventListener("keydown",this,!this._bubblingKeydown);document.addEventListener("keyup",this,!this._bubblingKeydown);window.addEventListener("resize",this)}evtKeydown(e){this.commands.processKeydownEvent(e)}evtKeyup(e){this.commands.processKeyupEvent(e)}evtContextMenu(e){if(e.shiftKey){return}if(this.contextMenu.open(e)){e.preventDefault();e.stopPropagation()}}evtResize(e){this.shell.update()}}},893:(e,t,n)=>{"use strict";n.r(t);n.d(t,{CommandRegistry:()=>g});var i=n(34236);var s=n.n(i);var o=n(5592);var r=n.n(o);var a=n(90044);var l=n.n(a);var d=n(76326);var c=n.n(d);var h=n(77162);var u=n.n(h);var p=n(2336);var m=n.n(p);class g{constructor(){this._timerID=0;this._timerModifierID=0;this._replaying=false;this._keystrokes=[];this._keydownEvents=[];this._keyBindings=[];this._exactKeyMatch=null;this._commands=new Map;this._commandChanged=new p.Signal(this);this._commandExecuted=new p.Signal(this);this._keyBindingChanged=new p.Signal(this);this._holdKeyBindingPromises=new Map}get commandChanged(){return this._commandChanged}get commandExecuted(){return this._commandExecuted}get keyBindingChanged(){return this._keyBindingChanged}get keyBindings(){return this._keyBindings}listCommands(){return Array.from(this._commands.keys())}hasCommand(e){return this._commands.has(e)}addCommand(e,t){if(this._commands.has(e)){throw new Error(`Command '${e}' already registered.`)}this._commands.set(e,f.createCommand(t));this._commandChanged.emit({id:e,type:"added"});return new a.DisposableDelegate((()=>{this._commands.delete(e);this._commandChanged.emit({id:e,type:"removed"})}))}notifyCommandChanged(e){if(e!==undefined&&!this._commands.has(e)){throw new Error(`Command '${e}' is not registered.`)}this._commandChanged.emit({id:e,type:e?"changed":"many-changed"})}describedBy(e,t=o.JSONExt.emptyObject){var n;let i=this._commands.get(e);return Promise.resolve((n=i===null||i===void 0?void 0:i.describedBy.call(undefined,t))!==null&&n!==void 0?n:{args:null})}label(e,t=o.JSONExt.emptyObject){var n;let i=this._commands.get(e);return(n=i===null||i===void 0?void 0:i.label.call(undefined,t))!==null&&n!==void 0?n:""}mnemonic(e,t=o.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.mnemonic.call(undefined,t):-1}icon(e,t=o.JSONExt.emptyObject){var n;return(n=this._commands.get(e))===null||n===void 0?void 0:n.icon.call(undefined,t)}iconClass(e,t=o.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.iconClass.call(undefined,t):""}iconLabel(e,t=o.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.iconLabel.call(undefined,t):""}caption(e,t=o.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.caption.call(undefined,t):""}usage(e,t=o.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.usage.call(undefined,t):""}className(e,t=o.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.className.call(undefined,t):""}dataset(e,t=o.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.dataset.call(undefined,t):{}}isEnabled(e,t=o.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.isEnabled.call(undefined,t):false}isToggled(e,t=o.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.isToggled.call(undefined,t):false}isToggleable(e,t=o.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.isToggleable:false}isVisible(e,t=o.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.isVisible.call(undefined,t):false}execute(e,t=o.JSONExt.emptyObject){let n=this._commands.get(e);if(!n){return Promise.reject(new Error(`Command '${e}' not registered.`))}let i;try{i=n.execute.call(undefined,t)}catch(r){i=Promise.reject(r)}let s=Promise.resolve(i);this._commandExecuted.emit({id:e,args:t,result:s});return s}addKeyBinding(e){let t=f.createKeyBinding(e);this._keyBindings.push(t);this._keyBindingChanged.emit({binding:t,type:"added"});return new a.DisposableDelegate((()=>{i.ArrayExt.removeFirstOf(this._keyBindings,t);this._keyBindingChanged.emit({binding:t,type:"removed"})}))}processKeydownEvent(e){if(e.defaultPrevented||this._replaying){return}const t=g.keystrokeForKeydownEvent(e);if(!t){this._replayKeydownEvents();this._clearPendingState();return}if(g.isModifierKeyPressed(e)){let{exact:n}=f.matchKeyBinding(this._keyBindings,[t],e);if(n){e.preventDefault();e.stopPropagation();this._startModifierTimer(n)}else{this._clearModifierTimer()}return}this._keystrokes.push(t);const{exact:n,partial:i}=f.matchKeyBinding(this._keyBindings,this._keystrokes,e);const s=i.length!==0;if(!n&&!s){this._replayKeydownEvents();this._clearPendingState();return}if((n===null||n===void 0?void 0:n.preventDefault)||i.some((e=>e.preventDefault))){e.preventDefault();e.stopPropagation()}this._keydownEvents.push(e);if(n&&!s){this._executeKeyBinding(n);this._clearPendingState();return}if(n){this._exactKeyMatch=n}this._startTimer()}holdKeyBindingExecution(e,t){this._holdKeyBindingPromises.set(e,t)}processKeyupEvent(e){this._clearModifierTimer()}_startModifierTimer(e){this._clearModifierTimer();this._timerModifierID=window.setTimeout((()=>{this._executeKeyBinding(e)}),f.modifierkeyTimeOut)}_clearModifierTimer(){if(this._timerModifierID!==0){clearTimeout(this._timerModifierID);this._timerModifierID=0}}_startTimer(){this._clearTimer();this._timerID=window.setTimeout((()=>{this._onPendingTimeout()}),f.CHORD_TIMEOUT)}_clearTimer(){if(this._timerID!==0){clearTimeout(this._timerID);this._timerID=0}}_replayKeydownEvents(){if(this._keydownEvents.length===0){return}this._replaying=true;this._keydownEvents.forEach(f.replayKeyEvent);this._replaying=false}async _executeKeyBinding(e){if(this._holdKeyBindingPromises.size!==0){const e=[...this._keydownEvents];const t=(await Promise.race([Promise.all(e.map((async e=>{var t;return(t=this._holdKeyBindingPromises.get(e))!==null&&t!==void 0?t:Promise.resolve(true)}))),new Promise((e=>{setTimeout((()=>e([false])),f.KEYBINDING_HOLD_TIMEOUT)}))])).every(Boolean);this._holdKeyBindingPromises.clear();if(!t){return}}let{command:t,args:n}=e;let i={_luminoEvent:{type:"keybinding",keys:e.keys},...n};if(!this.hasCommand(t)||!this.isEnabled(t,i)){let n=this.hasCommand(t)?"enabled":"registered";let i=e.keys.join(", ");let s=`Cannot execute key binding '${i}':`;let o=`command '${t}' is not ${n}.`;console.warn(`${s} ${o}`);return}await this.execute(t,i)}_clearPendingState(){this._clearTimer();this._clearModifierTimer();this._exactKeyMatch=null;this._keystrokes.length=0;this._keydownEvents.length=0}_onPendingTimeout(){this._timerID=0;if(this._exactKeyMatch){this._executeKeyBinding(this._exactKeyMatch)}else{this._replayKeydownEvents()}this._clearPendingState()}}(function(e){function t(e){let t="";let n=false;let i=false;let s=false;let o=false;for(let r of e.split(/\s+/)){if(r==="Accel"){if(d.Platform.IS_MAC){i=true}else{s=true}}else if(r==="Alt"){n=true}else if(r==="Cmd"){i=true}else if(r==="Ctrl"){s=true}else if(r==="Shift"){o=true}else if(r.length>0){t=r}}return{cmd:i,ctrl:s,alt:n,shift:o,key:t}}e.parseKeystroke=t;function n(e){let n="";let i=t(e);if(i.ctrl){n+="Ctrl "}if(i.alt){n+="Alt "}if(i.shift){n+="Shift "}if(i.cmd&&d.Platform.IS_MAC){n+="Cmd "}if(!i.key){return n.trim()}return n+i.key}e.normalizeKeystroke=n;function i(e){let t;if(d.Platform.IS_WIN){t=e.winKeys||e.keys}else if(d.Platform.IS_MAC){t=e.macKeys||e.keys}else{t=e.linuxKeys||e.keys}return t.map(n)}e.normalizeKeys=i;function s(e){return typeof e==="string"?n(e):e.map(n).join(", ");function n(e){let n=[];let i=d.Platform.IS_MAC?" ":"+";let s=t(e);if(s.ctrl){n.push("Ctrl")}if(s.alt){n.push("Alt")}if(s.shift){n.push("Shift")}if(d.Platform.IS_MAC&&s.cmd){n.push("Cmd")}n.push(s.key);return n.map(f.formatKey).join(i)}}e.formatKeystroke=s;function o(e){let t=(0,h.getKeyboardLayout)();let n=t.keyForKeydownEvent(e);return t.isModifierKey(n)}e.isModifierKeyPressed=o;function r(e){let t=(0,h.getKeyboardLayout)();let n=t.keyForKeydownEvent(e);let i=[];if(e.ctrlKey){i.push("Ctrl")}if(e.altKey){i.push("Alt")}if(e.shiftKey){i.push("Shift")}if(e.metaKey&&d.Platform.IS_MAC){i.push("Cmd")}if(!t.isModifierKey(n)){i.push(n)}return i.join(" ")}e.keystrokeForKeydownEvent=r})(g||(g={}));var f;(function(e){e.CHORD_TIMEOUT=1e3;e.KEYBINDING_HOLD_TIMEOUT=1e3;e.modifierkeyTimeOut=500;function t(e){return{execute:e.execute,describedBy:v(typeof e.describedBy==="function"?e.describedBy:{args:null,...e.describedBy},(()=>({args:null}))),label:v(e.label,c),mnemonic:v(e.mnemonic,h),icon:v(e.icon,f),iconClass:v(e.iconClass,c),iconLabel:v(e.iconLabel,c),caption:v(e.caption,c),usage:v(e.usage,c),className:v(e.className,c),dataset:v(e.dataset,m),isEnabled:e.isEnabled||u,isToggled:e.isToggled||p,isToggleable:e.isToggleable||!!e.isToggled,isVisible:e.isVisible||u}}e.createCommand=t;function n(e){var t;return{keys:g.normalizeKeys(e),selector:_(e),command:e.command,args:e.args||o.JSONExt.emptyObject,preventDefault:(t=e.preventDefault)!==null&&t!==void 0?t:true}}e.createKeyBinding=n;function i(e,t,n){let i=null;let s=[];let o=Infinity;let r=0;for(let a=0,l=e.length;a<l;++a){let l=e[a];let c=b(l.keys,t);if(c===0){continue}if(c===2){if(y(l.selector,n)!==-1){s.push(l)}continue}let h=y(l.selector,n);if(h===-1||h>o){continue}let u=d.Selector.calculateSpecificity(l.selector);if(!i||h<o||u>=r){i=l;o=h;r=u}}return{exact:i,partial:s}}e.matchKeyBinding=i;function s(e){e.target.dispatchEvent(w(e))}e.replayKeyEvent=s;function r(e){if(d.Platform.IS_MAC){return a.hasOwnProperty(e)?a[e]:e}else{return l.hasOwnProperty(e)?l[e]:e}}e.formatKey=r;const a={Backspace:"⌫",Tab:"⇥",Enter:"⏎",Shift:"⇧",Ctrl:"⌃",Alt:"⌥",Escape:"⎋",PageUp:"⇞",PageDown:"⇟",End:"↘",Home:"↖",ArrowLeft:"←",ArrowUp:"↑",ArrowRight:"→",ArrowDown:"↓",Delete:"⌦",Cmd:"⌘"};const l={Escape:"Esc",PageUp:"Page Up",PageDown:"Page Down",ArrowLeft:"Left",ArrowUp:"Up",ArrowRight:"Right",ArrowDown:"Down",Delete:"Del"};const c=()=>"";const h=()=>-1;const u=()=>true;const p=()=>false;const m=()=>({});const f=()=>undefined;function v(e,t){if(e===undefined){return t}if(typeof e==="function"){return e}return()=>e}function _(e){if(e.selector.indexOf(",")!==-1){throw new Error(`Selector cannot contain commas: ${e.selector}`)}if(!d.Selector.isValid(e.selector)){throw new Error(`Invalid selector: ${e.selector}`)}return e.selector}function b(e,t){if(e.length<t.length){return 0}for(let n=0,i=t.length;n<i;++n){if(e[n]!==t[n]){return 0}}if(e.length>t.length){return 2}return 1}function y(e,t){let n=t.target;let i=t.currentTarget;for(let s=0;n!==null;n=n.parentElement,++s){if(n.hasAttribute("data-lm-suppress-shortcuts")){return-1}if(d.Selector.matches(n,e)){return s}if(n===i){return-1}}return-1}function w(e){let t=document.createEvent("Event");let n=e.bubbles||true;let i=e.cancelable||true;t.initEvent(e.type||"keydown",n,i);t.key=e.key||"";t.keyCode=e.keyCode||0;t.which=e.keyCode||0;t.ctrlKey=e.ctrlKey||false;t.altKey=e.altKey||false;t.shiftKey=e.shiftKey||false;t.metaKey=e.metaKey||false;t.view=e.view||window;return t}})(f||(f={}))},45899:function(e,t,n){(function(e,i){true?i(t,n(34236)):0})(this,(function(e,t){"use strict";e.JSONExt=void 0;(function(e){e.emptyObject=Object.freeze({});e.emptyArray=Object.freeze([]);function t(e){return e===null||typeof e==="boolean"||typeof e==="number"||typeof e==="string"}e.isPrimitive=t;function n(e){return Array.isArray(e)}e.isArray=n;function i(e){return!t(e)&&!n(e)}e.isObject=i;function s(e,i){if(e===i){return true}if(t(e)||t(i)){return false}let s=n(e);let o=n(i);if(s!==o){return false}if(s&&o){return r(e,i)}return a(e,i)}e.deepEqual=s;function o(e){if(t(e)){return e}if(n(e)){return l(e)}return d(e)}e.deepCopy=o;function r(e,t){if(e===t){return true}if(e.length!==t.length){return false}for(let n=0,i=e.length;n<i;++n){if(!s(e[n],t[n])){return false}}return true}function a(e,t){if(e===t){return true}for(let n in e){if(e[n]!==undefined&&!(n in t)){return false}}for(let n in t){if(t[n]!==undefined&&!(n in e)){return false}}for(let n in e){let i=e[n];let o=t[n];if(i===undefined&&o===undefined){continue}if(i===undefined||o===undefined){return false}if(!s(i,o)){return false}}return true}function l(e){let t=new Array(e.length);for(let n=0,i=e.length;n<i;++n){t[n]=o(e[n])}return t}function d(e){let t={};for(let n in e){let i=e[n];if(i===undefined){continue}t[n]=o(i)}return t}})(e.JSONExt||(e.JSONExt={}));class n{constructor(){this._types=[];this._values=[]}types(){return this._types.slice()}hasData(e){return this._types.indexOf(e)!==-1}getData(e){let t=this._types.indexOf(e);return t!==-1?this._values[t]:undefined}setData(e,t){this.clearData(e);this._types.push(e);this._values.push(t)}clearData(e){let t=this._types.indexOf(e);if(t!==-1){this._types.splice(t,1);this._values.splice(t,1)}}clear(){this._types.length=0;this._values.length=0}}class i{constructor(e={}){this._application=null;this._validatePlugin=()=>true;this._plugins=new Map;this._services=new Map;if(e.validatePlugin){console.info("Plugins may be rejected by the custom validation plugin method.");this._validatePlugin=e.validatePlugin}}get application(){return this._application}set application(e){if(this._application!==null){throw Error("PluginRegistry.application is already set. It cannot be overridden.")}this._application=e}get deferredPlugins(){return Array.from(this._plugins).filter((([e,t])=>t.autoStart==="defer")).map((([e,t])=>e))}getPluginDescription(e){var t,n;return(n=(t=this._plugins.get(e))===null||t===void 0?void 0:t.description)!==null&&n!==void 0?n:""}hasPlugin(e){return this._plugins.has(e)}isPluginActivated(e){var t,n;return(n=(t=this._plugins.get(e))===null||t===void 0?void 0:t.activated)!==null&&n!==void 0?n:false}listPlugins(){return Array.from(this._plugins.keys())}registerPlugin(e){if(this._plugins.has(e.id)){throw new TypeError(`Plugin '${e.id}' is already registered.`)}if(!this._validatePlugin(e)){throw new Error(`Plugin '${e.id}' is not valid.`)}const t=s.createPluginData(e);s.ensureNoCycle(t,this._plugins,this._services);if(t.provides){this._services.set(t.provides,t.id)}this._plugins.set(t.id,t)}registerPlugins(e){for(const t of e){this.registerPlugin(t)}}deregisterPlugin(e,t){const n=this._plugins.get(e);if(!n){return}if(n.activated&&!t){throw new Error(`Plugin '${e}' is still active.`)}this._plugins.delete(e)}async activatePlugin(e){const t=this._plugins.get(e);if(!t){throw new ReferenceError(`Plugin '${e}' is not registered.`)}if(t.activated){return}if(t.promise){return t.promise}const n=t.requires.map((e=>this.resolveRequiredService(e)));const i=t.optional.map((e=>this.resolveOptionalService(e)));t.promise=Promise.all([...n,...i]).then((e=>t.activate.apply(undefined,[this.application,...e]))).then((e=>{t.service=e;t.activated=true;t.promise=null})).catch((e=>{t.promise=null;throw e}));return t.promise}async activatePlugins(e,t={}){switch(e){case"defer":{const e=this.deferredPlugins.filter((e=>this._plugins.get(e).autoStart)).map((e=>this.activatePlugin(e)));await Promise.all(e);break}case"startUp":{const e=s.collectStartupPlugins(this._plugins,t);const n=e.map((async e=>{try{return await this.activatePlugin(e)}catch(t){console.error(`Plugin '${e}' failed to activate.`,t)}}));await Promise.all(n);break}}}async deactivatePlugin(e){const t=this._plugins.get(e);if(!t){throw new ReferenceError(`Plugin '${e}' is not registered.`)}if(!t.activated){return[]}if(!t.deactivate){throw new TypeError(`Plugin '${e}'#deactivate() method missing`)}const n=s.findDependents(e,this._plugins,this._services);const i=n.map((e=>this._plugins.get(e)));for(const s of i){if(!s.deactivate){throw new TypeError(`Plugin ${s.id}#deactivate() method missing (depends on ${e})`)}}for(const s of i){const e=[...s.requires,...s.optional].map((e=>{const t=this._services.get(e);return t?this._plugins.get(t).service:null}));await s.deactivate(this.application,...e);s.service=null;s.activated=false}n.pop();return n}async resolveRequiredService(e){const t=this._services.get(e);if(!t){throw new TypeError(`No provider for: ${e.name}.`)}const n=this._plugins.get(t);if(!n.activated){await this.activatePlugin(t)}return n.service}async resolveOptionalService(e){const t=this._services.get(e);if(!t){return null}const n=this._plugins.get(t);if(!n.activated){try{await this.activatePlugin(t)}catch(i){console.error(i);return null}}return n.service}}var s;(function(e){class n{constructor(e){var t,n,i,s;this._activated=false;this._promise=null;this._service=null;this.id=e.id;this.description=(t=e.description)!==null&&t!==void 0?t:"";this.activate=e.activate;this.deactivate=(n=e.deactivate)!==null&&n!==void 0?n:null;this.provides=(i=e.provides)!==null&&i!==void 0?i:null;this.autoStart=(s=e.autoStart)!==null&&s!==void 0?s:false;this.requires=e.requires?e.requires.slice():[];this.optional=e.optional?e.optional.slice():[]}get activated(){return this._activated}set activated(e){this._activated=e}get service(){return this._service}set service(e){this._service=e}get promise(){return this._promise}set promise(e){this._promise=e}}function i(e){return new n(e)}e.createPluginData=i;function s(e,t,n){const i=[...e.requires,...e.optional];const s=i=>{if(i===e.provides){return true}const r=n.get(i);if(!r){return false}const a=t.get(r);const l=[...a.requires,...a.optional];if(l.length===0){return false}o.push(r);if(l.some(s)){return true}o.pop();return false};if(!e.provides||i.length===0){return}const o=[e.id];if(i.some(s)){throw new ReferenceError(`Cycle detected: ${o.join(" -> ")}.`)}}e.ensureNoCycle=s;function o(e,n,i){const s=new Array;const o=e=>{const t=n.get(e);const o=[...t.requires,...t.optional];s.push(...o.reduce(((t,n)=>{const s=i.get(n);if(s){t.push([e,s])}return t}),[]))};for(const t of n.keys()){o(t)}const r=s.filter((t=>t[1]===e));let a=0;while(r.length>a){const e=r.length;const t=new Set(r.map((e=>e[0])));for(const n of t){s.filter((e=>e[1]===n)).forEach((e=>{if(!r.includes(e)){r.push(e)}}))}a=e}const l=t.topologicSort(r);const d=l.findIndex((t=>t===e));if(d===-1){return[e]}return l.slice(0,d+1)}e.findDependents=o;function r(e,t){const n=new Set;for(const i of e.keys()){if(e.get(i).autoStart===true){n.add(i)}}if(t.startPlugins){for(const e of t.startPlugins){n.add(e)}}if(t.ignorePlugins){for(const e of t.ignorePlugins){n.delete(e)}}return Array.from(n)}e.collectStartupPlugins=r})(s||(s={}));class o{constructor(){this.promise=new Promise(((e,t)=>{this._resolve=e;this._reject=t}))}resolve(e){let t=this._resolve;t(e)}reject(e){let t=this._reject;t(e)}}class r{constructor(e,t){this.name=e;this.description=t!==null&&t!==void 0?t:"";this._tokenStructuralPropertyT=null}}function a(e){let t=0;for(let n=0,i=e.length;n<i;++n){if(n%4===0){t=Math.random()*4294967295>>>0}e[n]=t&255;t>>>=8}}e.Random=void 0;(function(e){e.getRandomValues=(()=>{const e=typeof window!=="undefined"&&(window.crypto||window.msCrypto)||null;if(e&&typeof e.getRandomValues==="function"){return function t(n){return e.getRandomValues(n)}}return a})()})(e.Random||(e.Random={}));function l(e){const t=new Uint8Array(16);const n=new Array(256);for(let i=0;i<16;++i){n[i]="0"+i.toString(16)}for(let i=16;i<256;++i){n[i]=i.toString(16)}return function i(){e(t);t[6]=64|t[6]&15;t[8]=128|t[8]&63;return n[t[0]]+n[t[1]]+n[t[2]]+n[t[3]]+"-"+n[t[4]]+n[t[5]]+"-"+n[t[6]]+n[t[7]]+"-"+n[t[8]]+n[t[9]]+"-"+n[t[10]]+n[t[11]]+n[t[12]]+n[t[13]]+n[t[14]]+n[t[15]]}}e.UUID=void 0;(function(t){t.uuid4=l(e.Random.getRandomValues)})(e.UUID||(e.UUID={}));e.MimeData=n;e.PluginRegistry=i;e.PromiseDelegate=o;e.Token=r}))},20785:(e,t,n)=>{"use strict";n.r(t);n.d(t,{DisposableDelegate:()=>o,DisposableSet:()=>a,ObservableDisposableDelegate:()=>r,ObservableDisposableSet:()=>l});var i=n(2336);var s=n.n(i);class o{constructor(e){this._fn=e}get isDisposed(){return!this._fn}dispose(){if(!this._fn){return}let e=this._fn;this._fn=null;e()}}class r extends o{constructor(){super(...arguments);this._disposed=new i.Signal(this)}get disposed(){return this._disposed}dispose(){if(this.isDisposed){return}super.dispose();this._disposed.emit(undefined);i.Signal.clearData(this)}}class a{constructor(){this._isDisposed=false;this._items=new Set}get isDisposed(){return this._isDisposed}dispose(){if(this._isDisposed){return}this._isDisposed=true;this._items.forEach((e=>{e.dispose()}));this._items.clear()}contains(e){return this._items.has(e)}add(e){this._items.add(e)}remove(e){this._items.delete(e)}clear(){this._items.clear()}}(function(e){function t(t){let n=new e;for(const e of t){n.add(e)}return n}e.from=t})(a||(a={}));class l extends a{constructor(){super(...arguments);this._disposed=new i.Signal(this)}get disposed(){return this._disposed}dispose(){if(this.isDisposed){return}super.dispose();this._disposed.emit(undefined);i.Signal.clearData(this)}}(function(e){function t(t){let n=new e;for(const e of t){n.add(e)}return n}e.from=t})(l||(l={}))},60008:(e,t,n)=>{"use strict";n.r(t);n.d(t,{ClipboardExt:()=>i,ElementExt:()=>s,Platform:()=>o,Selector:()=>r});var i;(function(e){function t(e){const t=document.body;const n=i=>{i.preventDefault();i.stopPropagation();i.clipboardData.setData("text",e);t.removeEventListener("copy",n,true)};t.addEventListener("copy",n,true);document.execCommand("copy")}e.copyText=t})(i||(i={}));var s;(function(e){function t(e){let t=window.getComputedStyle(e);let n=parseFloat(t.borderTopWidth)||0;let i=parseFloat(t.borderLeftWidth)||0;let s=parseFloat(t.borderRightWidth)||0;let o=parseFloat(t.borderBottomWidth)||0;let r=parseFloat(t.paddingTop)||0;let a=parseFloat(t.paddingLeft)||0;let l=parseFloat(t.paddingRight)||0;let d=parseFloat(t.paddingBottom)||0;let c=i+a+l+s;let h=n+r+d+o;return{borderTop:n,borderLeft:i,borderRight:s,borderBottom:o,paddingTop:r,paddingLeft:a,paddingRight:l,paddingBottom:d,horizontalSum:c,verticalSum:h}}e.boxSizing=t;function n(e){let t=window.getComputedStyle(e);let n=parseFloat(t.minWidth)||0;let i=parseFloat(t.minHeight)||0;let s=parseFloat(t.maxWidth)||Infinity;let o=parseFloat(t.maxHeight)||Infinity;s=Math.max(n,s);o=Math.max(i,o);return{minWidth:n,minHeight:i,maxWidth:s,maxHeight:o}}e.sizeLimits=n;function i(e,t,n){let i=e.getBoundingClientRect();return t>=i.left&&t<i.right&&n>=i.top&&n<i.bottom}e.hitTest=i;function s(e,t){let n=e.getBoundingClientRect();let i=t.getBoundingClientRect();if(i.top<=n.top&&i.bottom>=n.bottom){return}if(i.top<n.top&&i.height<=n.height){e.scrollTop-=n.top-i.top;return}if(i.bottom>n.bottom&&i.height>=n.height){e.scrollTop-=n.top-i.top;return}if(i.top<n.top&&i.height>n.height){e.scrollTop-=n.bottom-i.bottom;return}if(i.bottom>n.bottom&&i.height<n.height){e.scrollTop-=n.bottom-i.bottom;return}}e.scrollIntoViewIfNeeded=s})(s||(s={}));var o;(function(e){e.IS_MAC=!!navigator.platform.match(/Mac/i);e.IS_WIN=!!navigator.platform.match(/Win/i);e.IS_IE=/Trident/.test(navigator.userAgent);e.IS_EDGE=/Edge/.test(navigator.userAgent);function t(t){return e.IS_MAC?t.metaKey:t.ctrlKey}e.accelKey=t})(o||(o={}));var r;(function(e){function t(e){if(e in a.specificityCache){return a.specificityCache[e]}let t=a.calculateSingle(e);return a.specificityCache[e]=t}e.calculateSpecificity=t;function n(e){if(e in a.validityCache){return a.validityCache[e]}let t=true;try{a.testElem.querySelector(e)}catch(n){t=false}return a.validityCache[e]=t}e.isValid=n;function i(e,t){return a.protoMatchFunc.call(e,t)}e.matches=i})(r||(r={}));var a;(function(e){e.specificityCache=Object.create(null);e.validityCache=Object.create(null);e.testElem=document.createElement("div");e.protoMatchFunc=(()=>{let e=Element.prototype;return e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector||function(e){let t=this;let n=t.ownerDocument?t.ownerDocument.querySelectorAll(e):[];return Array.prototype.indexOf.call(n,t)!==-1}})();function t(e){e=e.split(",",1)[0];let t=0;let c=0;let h=0;function u(t){let n=e.match(t);if(n===null){return false}e=e.slice(n[0].length);return true}e=e.replace(d," $1 ");while(e.length>0){if(u(n)){t++;continue}if(u(i)){c++;continue}if(u(s)){c++;continue}if(u(r)){h++;continue}if(u(a)){c++;continue}if(u(o)){h++;continue}if(u(l)){continue}return 0}t=Math.min(t,255);c=Math.min(c,255);h=Math.min(h,255);return t<<16|c<<8|h}e.calculateSingle=t;const n=/^#[^\s\+>~#\.\[:]+/;const i=/^\.[^\s\+>~#\.\[:]+/;const s=/^\[[^\]]+\]/;const o=/^[^\s\+>~#\.\[:]+/;const r=/^(::[^\s\+>~#\.\[:]+|:first-line|:first-letter|:before|:after)/;const a=/^:[^\s\+>~#\.\[:]+/;const l=/^[\s\+>~\*]+/;const d=/:not\(([^\)]+)\)/g})(a||(a={}))},1506:(e,t,n)=>{"use strict";n.r(t);n.d(t,{Drag:()=>o});var i=n(90044);var s=n.n(i);class o{constructor(e){this._onScrollFrame=()=>{if(!this._scrollTarget){return}let{element:e,edge:t,distance:n}=this._scrollTarget;let i=r.SCROLL_EDGE_SIZE-n;let s=Math.pow(i/r.SCROLL_EDGE_SIZE,2);let o=Math.max(1,Math.round(s*r.SCROLL_EDGE_SIZE));switch(t){case"top":e.scrollTop-=o;break;case"left":e.scrollLeft-=o;break;case"right":e.scrollLeft+=o;break;case"bottom":e.scrollTop+=o;break}requestAnimationFrame(this._onScrollFrame)};this._disposed=false;this._dropAction="none";this._override=null;this._currentTarget=null;this._currentElement=null;this._promise=null;this._scrollTarget=null;this._resolve=null;this.document=e.document||document;this.mimeData=e.mimeData;this.dragImage=e.dragImage||null;this.proposedAction=e.proposedAction||"copy";this.supportedActions=e.supportedActions||"all";this.source=e.source||null}dispose(){if(this._disposed){return}this._disposed=true;if(this._currentTarget){let e=new PointerEvent("pointerup",{bubbles:true,cancelable:true,clientX:-1,clientY:-1});r.dispatchDragLeave(this,this._currentTarget,null,e)}this._finalize("none")}get isDisposed(){return this._disposed}start(e,t){if(this._disposed){return Promise.resolve("none")}if(this._promise){return this._promise}this._addListeners();this._attachDragImage(e,t);this._promise=new Promise((e=>{this._resolve=e}));let n=new PointerEvent("pointermove",{bubbles:true,cancelable:true,clientX:e,clientY:t});document.dispatchEvent(n);return this._promise}handleEvent(e){switch(e.type){case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;default:e.preventDefault();e.stopPropagation();break}}moveDragImage(e,t){if(!this.dragImage){return}let n=this.dragImage.style;n.transform=`translate(${e}px, ${t}px)`}_evtPointerMove(e){e.preventDefault();e.stopPropagation();this._updateCurrentTarget(e);this._updateDragScroll(e);this.moveDragImage(e.clientX,e.clientY)}_evtPointerUp(e){e.preventDefault();e.stopPropagation();if(e.button!==0){return}this._updateCurrentTarget(e);if(!this._currentTarget){this._finalize("none");return}if(this._dropAction==="none"){r.dispatchDragLeave(this,this._currentTarget,null,e);this._finalize("none");return}let t=r.dispatchDrop(this,this._currentTarget,e);this._finalize(t)}_evtKeyDown(e){e.preventDefault();e.stopPropagation();if(e.keyCode===27){this.dispose()}}_addListeners(){document.addEventListener("pointerdown",this,true);document.addEventListener("pointermove",this,true);document.addEventListener("pointerup",this,true);document.addEventListener("pointerenter",this,true);document.addEventListener("pointerleave",this,true);document.addEventListener("pointerover",this,true);document.addEventListener("pointerout",this,true);document.addEventListener("keydown",this,true);document.addEventListener("keyup",this,true);document.addEventListener("keypress",this,true);document.addEventListener("contextmenu",this,true)}_removeListeners(){document.removeEventListener("pointerdown",this,true);document.removeEventListener("pointermove",this,true);document.removeEventListener("pointerup",this,true);document.removeEventListener("pointerenter",this,true);document.removeEventListener("pointerleave",this,true);document.removeEventListener("pointerover",this,true);document.removeEventListener("pointerout",this,true);document.removeEventListener("keydown",this,true);document.removeEventListener("keyup",this,true);document.removeEventListener("keypress",this,true);document.removeEventListener("contextmenu",this,true)}_updateDragScroll(e){let t=r.findScrollTarget(e);if(!this._scrollTarget&&!t){return}if(!this._scrollTarget){setTimeout(this._onScrollFrame,500)}this._scrollTarget=t}_updateCurrentTarget(e){let t=this._currentTarget;let n=this._currentTarget;let i=this._currentElement;let s=r.findElementBehindBackdrop(e,this.document);this._currentElement=s;if(s!==i&&s!==n){r.dispatchDragExit(this,n,s,e)}if(s!==i&&s!==n){n=r.dispatchDragEnter(this,s,n,e)}if(n!==t){this._currentTarget=n;r.dispatchDragLeave(this,t,n,e)}let o=r.dispatchDragOver(this,n,e);this._setDropAction(o)}_attachDragImage(e,t){if(!this.dragImage){return}this.dragImage.classList.add("lm-mod-drag-image");let n=this.dragImage.style;n.pointerEvents="none";n.position="fixed";n.transform=`translate(${e}px, ${t}px)`;const i=this.document instanceof Document?this.document.body:this.document.firstElementChild;i.appendChild(this.dragImage)}_detachDragImage(){if(!this.dragImage){return}let e=this.dragImage.parentNode;if(!e){return}e.removeChild(this.dragImage)}_setDropAction(e){e=r.validateAction(e,this.supportedActions);if(this._override&&this._dropAction===e){return}switch(e){case"none":this._dropAction=e;this._override=o.overrideCursor("no-drop",this.document);break;case"copy":this._dropAction=e;this._override=o.overrideCursor("copy",this.document);break;case"link":this._dropAction=e;this._override=o.overrideCursor("alias",this.document);break;case"move":this._dropAction=e;this._override=o.overrideCursor("move",this.document);break}}_finalize(e){let t=this._resolve;this._removeListeners();this._detachDragImage();if(this._override){this._override.dispose();this._override=null}this.mimeData.clear();this._disposed=true;this._dropAction="none";this._currentTarget=null;this._currentElement=null;this._scrollTarget=null;this._promise=null;this._resolve=null;if(t){t(e)}}}(function(e){class t extends DragEvent{constructor(e,t){super(t.type,{bubbles:true,cancelable:true,altKey:e.altKey,button:e.button,clientX:e.clientX,clientY:e.clientY,ctrlKey:e.ctrlKey,detail:0,metaKey:e.metaKey,relatedTarget:t.related,screenX:e.screenX,screenY:e.screenY,shiftKey:e.shiftKey,view:window});const{drag:n}=t;this.dropAction="none";this.mimeData=n.mimeData;this.proposedAction=n.proposedAction;this.supportedActions=n.supportedActions;this.source=n.source}}e.Event=t;function n(e,t=document){return r.overrideCursor(e,t)}e.overrideCursor=n})(o||(o={}));var r;(function(e){e.SCROLL_EDGE_SIZE=20;function t(e,t){return p[e]&m[t]?e:"none"}e.validateAction=t;function n(t,n=document){if(t){if(s&&t==s.event){return s.element}e.cursorBackdrop.style.zIndex="-1000";const i=n.elementFromPoint(t.clientX,t.clientY);e.cursorBackdrop.style.zIndex="";s={event:t,element:i};return i}else{const t=e.cursorBackdrop.style.transform;if(r&&t===r.transform){return r.element}const i=e.cursorBackdrop.getBoundingClientRect();e.cursorBackdrop.style.zIndex="-1000";const s=n.elementFromPoint(i.left+i.width/2,i.top+i.height/2);e.cursorBackdrop.style.zIndex="";r={transform:t,element:s};return s}}e.findElementBehindBackdrop=n;let s=null;let r=null;function a(t){let i=t.clientX;let s=t.clientY;let o=n(t);for(;o;o=o.parentElement){if(!o.hasAttribute("data-lm-dragscroll")){continue}let t=0;let n=0;if(o===document.body){t=window.pageXOffset;n=window.pageYOffset}let r=o.getBoundingClientRect();let a=r.top+n;let l=r.left+t;let d=l+r.width;let c=a+r.height;if(i<l||i>=d||s<a||s>=c){continue}let h=i-l+1;let u=s-a+1;let p=d-i;let m=c-s;let g=Math.min(h,u,p,m);if(g>e.SCROLL_EDGE_SIZE){continue}let f;switch(g){case m:f="bottom";break;case u:f="top";break;case p:f="right";break;case h:f="left";break;default:throw"unreachable"}let v=o.scrollWidth-o.clientWidth;let _=o.scrollHeight-o.clientHeight;let b;switch(f){case"top":b=_>0&&o.scrollTop>0;break;case"left":b=v>0&&o.scrollLeft>0;break;case"right":b=v>0&&o.scrollLeft<v;break;case"bottom":b=_>0&&o.scrollTop<_;break;default:throw"unreachable"}if(!b){continue}return{element:o,edge:f,distance:g}}return null}e.findScrollTarget=a;function l(e,t,n,i){if(!t){return null}let s=new o.Event(i,{drag:e,related:n,type:"lm-dragenter"});let r=!t.dispatchEvent(s);if(r){return t}const a=e.document instanceof Document?e.document.body:e.document.firstElementChild;if(t===a){return n}s=new o.Event(i,{drag:e,related:n,type:"lm-dragenter"});a.dispatchEvent(s);return a}e.dispatchDragEnter=l;function d(e,t,n,i){if(!t){return}let s=new o.Event(i,{drag:e,related:n,type:"lm-dragexit"});t.dispatchEvent(s)}e.dispatchDragExit=d;function c(e,t,n,i){if(!t){return}let s=new o.Event(i,{drag:e,related:n,type:"lm-dragleave"});t.dispatchEvent(s)}e.dispatchDragLeave=c;function h(e,t,n){if(!t){return"none"}let i=new o.Event(n,{drag:e,related:null,type:"lm-dragover"});let s=!t.dispatchEvent(i);if(s){return i.dropAction}return"none"}e.dispatchDragOver=h;function u(e,t,n){if(!t){return"none"}let i=new o.Event(n,{drag:e,related:null,type:"lm-drop"});let s=!t.dispatchEvent(i);if(s){return i.dropAction}return"none"}e.dispatchDrop=u;const p={none:0,copy:1,link:2,move:4};const m={none:p["none"],copy:p["copy"],link:p["link"],move:p["move"],"copy-link":p["copy"]|p["link"],"copy-move":p["copy"]|p["move"],"link-move":p["link"]|p["move"],all:p["copy"]|p["link"]|p["move"]};function g(t,n=document){let s=++w;const o=n instanceof Document?n.body:n.firstElementChild;if(!e.cursorBackdrop.isConnected){e.cursorBackdrop.style.transform="scale(0)";o.appendChild(e.cursorBackdrop);_();document.addEventListener("pointermove",f,{capture:true,passive:true});e.cursorBackdrop.addEventListener("scroll",v,{capture:true,passive:true})}e.cursorBackdrop.style.cursor=t;return new i.DisposableDelegate((()=>{if(s===w&&e.cursorBackdrop.isConnected){document.removeEventListener("pointermove",f,true);e.cursorBackdrop.removeEventListener("scroll",v,true);o.removeChild(e.cursorBackdrop)}}))}e.overrideCursor=g;function f(t){if(!e.cursorBackdrop){return}e.cursorBackdrop.style.transform=`translate(${t.clientX}px, ${t.clientY}px)`}function v(t){if(!e.cursorBackdrop){return}let i=n();if(!i){return}const s=i.closest("[data-lm-dragscroll]");if(!s){return}s.scrollTop+=e.cursorBackdrop.scrollTop-b;s.scrollLeft+=e.cursorBackdrop.scrollLeft-b;_()}function _(){e.cursorBackdrop.scrollTop=b;e.cursorBackdrop.scrollLeft=b}const b=500;function y(){const e=document.createElement("div");e.classList.add("lm-cursor-backdrop");return e}let w=0;e.cursorBackdrop=y()})(r||(r={}))},38457:(e,t,n)=>{"use strict";var i=n(85072);var s=n.n(i);var o=n(97825);var r=n.n(o);var a=n(77659);var l=n.n(a);var d=n(55056);var c=n.n(d);var h=n(10540);var u=n.n(h);var p=n(41113);var m=n.n(p);var g=n(91266);var f={};f.styleTagTransform=m();f.setAttributes=c();f.insert=l().bind(null,"head");f.domAPI=r();f.insertStyleElement=u();var v=s()(g.A,f);const _=g.A&&g.A.locals?g.A.locals:undefined},72996:(e,t,n)=>{"use strict";n.r(t);n.d(t,{EN_US:()=>r,KeycodeLayout:()=>o,getKeyboardLayout:()=>i,setKeyboardLayout:()=>s});function i(){return a.keyboardLayout}function s(e){a.keyboardLayout=e}class o{constructor(e,t,n=[]){this.name=e;this._codes=t;this._keys=o.extractKeys(t);this._modifierKeys=o.convertToKeySet(n)}keys(){return Object.keys(this._keys)}isValidKey(e){return e in this._keys}isModifierKey(e){return e in this._modifierKeys}keyForKeydownEvent(e){return this._codes[e.keyCode]||""}}(function(e){function t(e){let t=Object.create(null);for(let n in e){t[e[n]]=true}return t}e.extractKeys=t;function n(e){let t=Object(null);for(let n=0,i=e.length;n<i;++n){t[e[n]]=true}return t}e.convertToKeySet=n})(o||(o={}));const r=new o("en-us",{8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",27:"Escape",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",91:"Meta",93:"ContextMenu",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",224:"Meta"},["Shift","Ctrl","Alt","Meta"]);var a;(function(e){e.keyboardLayout=r})(a||(a={}))},93346:(e,t,n)=>{"use strict";n.r(t);n.d(t,{ConflatableMessage:()=>a,Message:()=>r,MessageLoop:()=>l});var i=n(34236);class s{constructor(){this._first=null;this._last=null;this._size=0}get isEmpty(){return this._size===0}get size(){return this._size}get length(){return this._size}get first(){return this._first?this._first.value:undefined}get last(){return this._last?this._last.value:undefined}get firstNode(){return this._first}get lastNode(){return this._last}*[Symbol.iterator](){let e=this._first;while(e){yield e.value;e=e.next}}*retro(){let e=this._last;while(e){yield e.value;e=e.prev}}*nodes(){let e=this._first;while(e){yield e;e=e.next}}*retroNodes(){let e=this._last;while(e){yield e;e=e.prev}}assign(e){this.clear();for(const t of e){this.addLast(t)}}push(e){this.addLast(e)}pop(){return this.removeLast()}shift(e){this.addFirst(e)}unshift(){return this.removeFirst()}addFirst(e){let t=new o.LinkedListNode(this,e);if(!this._first){this._first=t;this._last=t}else{t.next=this._first;this._first.prev=t;this._first=t}this._size++;return t}addLast(e){let t=new o.LinkedListNode(this,e);if(!this._last){this._first=t;this._last=t}else{t.prev=this._last;this._last.next=t;this._last=t}this._size++;return t}insertBefore(e,t){if(!t||t===this._first){return this.addFirst(e)}if(!(t instanceof o.LinkedListNode)||t.list!==this){throw new Error("Reference node is not owned by the list.")}let n=new o.LinkedListNode(this,e);let i=t;let s=i.prev;n.next=i;n.prev=s;i.prev=n;s.next=n;this._size++;return n}insertAfter(e,t){if(!t||t===this._last){return this.addLast(e)}if(!(t instanceof o.LinkedListNode)||t.list!==this){throw new Error("Reference node is not owned by the list.")}let n=new o.LinkedListNode(this,e);let i=t;let s=i.next;n.next=s;n.prev=i;i.next=n;s.prev=n;this._size++;return n}removeFirst(){let e=this._first;if(!e){return undefined}if(e===this._last){this._first=null;this._last=null}else{this._first=e.next;this._first.prev=null}e.list=null;e.next=null;e.prev=null;this._size--;return e.value}removeLast(){let e=this._last;if(!e){return undefined}if(e===this._first){this._first=null;this._last=null}else{this._last=e.prev;this._last.next=null}e.list=null;e.next=null;e.prev=null;this._size--;return e.value}removeNode(e){if(!(e instanceof o.LinkedListNode)||e.list!==this){throw new Error("Node is not owned by the list.")}let t=e;if(t===this._first&&t===this._last){this._first=null;this._last=null}else if(t===this._first){this._first=t.next;this._first.prev=null}else if(t===this._last){this._last=t.prev;this._last.next=null}else{t.next.prev=t.prev;t.prev.next=t.next}t.list=null;t.next=null;t.prev=null;this._size--}clear(){let e=this._first;while(e){let t=e.next;e.list=null;e.prev=null;e.next=null;e=t}this._first=null;this._last=null;this._size=0}}(function(e){function t(t){let n=new e;n.assign(t);return n}e.from=t})(s||(s={}));var o;(function(e){class t{constructor(e,t){this.list=null;this.next=null;this.prev=null;this.list=e;this.value=t}}e.LinkedListNode=t})(o||(o={}));class r{constructor(e){this.type=e}get isConflatable(){return false}conflate(e){return false}}class a extends r{get isConflatable(){return true}conflate(e){return true}}var l;(function(e){let t=null;const n=(e=>t=>{let n=false;e.then((()=>!n&&t()));return()=>{n=true}})(Promise.resolve());function o(e,t){let n=m.get(e);if(!n||n.length===0){b(e,t);return}let s=(0,i.every)((0,i.retro)(n),(n=>n?_(n,e,t):true));if(s){b(e,t)}}e.sendMessage=o;function r(e,t){if(!t.isConflatable){y(e,t);return}let n=(0,i.some)(p,(n=>{if(n.handler!==e){return false}if(!n.msg){return false}if(n.msg.type!==t.type){return false}if(!n.msg.isConflatable){return false}return n.msg.conflate(t)}));if(!n){y(e,t)}}e.postMessage=r;function a(e,t){let n=m.get(e);if(n&&n.indexOf(t)!==-1){return}if(!n){m.set(e,[t])}else{n.push(t)}}e.installMessageHook=a;function l(e,t){let n=m.get(e);if(!n){return}let i=n.indexOf(t);if(i===-1){return}n[i]=null;C(n)}e.removeMessageHook=l;function d(e){let t=m.get(e);if(t&&t.length>0){i.ArrayExt.fill(t,null);C(t)}for(const n of p){if(n.handler===e){n.handler=null;n.msg=null}}}e.clearData=d;function c(){if(v||t===null){return}t();t=null;v=true;w();v=false}e.flush=c;function h(){return f}e.getExceptionHandler=h;function u(e){let t=f;f=e;return t}e.setExceptionHandler=u;const p=new s;const m=new WeakMap;const g=new Set;let f=e=>{console.error(e)};let v=false;function _(e,t,n){let i=true;try{if(typeof e==="function"){i=e(t,n)}else{i=e.messageHook(t,n)}}catch(s){f(s)}return i}function b(e,t){try{e.processMessage(t)}catch(n){f(n)}}function y(e,i){p.addLast({handler:e,msg:i});if(t!==null){return}t=n(w)}function w(){t=null;if(p.isEmpty){return}let e={handler:null,msg:null};p.addLast(e);while(true){let t=p.removeFirst();if(t===e){return}if(t.handler&&t.msg){o(t.handler,t.msg)}}}function C(e){if(g.size===0){n(x)}g.add(e)}function x(){g.forEach(S);g.clear()}function S(e){i.ArrayExt.removeAllWhere(e,j)}function j(e){return e===null}})(l||(l={}))},68534:(e,t,n)=>{"use strict";n.r(t);n.d(t,{Debouncer:()=>c,Poll:()=>a,RateLimiter:()=>d,Throttler:()=>h});var i=n(5592);var s=n.n(i);var o=n(2336);var r=n.n(o);class a{constructor(e){var t;this._disposed=new o.Signal(this);this._lingered=0;this._tick=new i.PromiseDelegate;this._ticked=new o.Signal(this);this._factory=e.factory;this._linger=(t=e.linger)!==null&&t!==void 0?t:l.DEFAULT_LINGER;this._standby=e.standby||l.DEFAULT_STANDBY;this._state={...l.DEFAULT_STATE,timestamp:(new Date).getTime()};const n=e.frequency||{};const s=Math.max(n.interval||0,n.max||0,l.DEFAULT_FREQUENCY.max);this.frequency={...l.DEFAULT_FREQUENCY,...n,...{max:s}};this.name=e.name||l.DEFAULT_NAME;if("auto"in e?e.auto:true){setTimeout((()=>this.start()))}}get disposed(){return this._disposed}get frequency(){return this._frequency}set frequency(e){if(this.isDisposed||i.JSONExt.deepEqual(e,this.frequency||{})){return}let{backoff:t,interval:n,max:s}=e;n=Math.round(n);s=Math.round(s);if(typeof t==="number"&&t<1){throw new Error("Poll backoff growth factor must be at least 1")}if((n<0||n>s)&&n!==a.NEVER){throw new Error("Poll interval must be between 0 and max")}if(s>a.MAX_INTERVAL&&s!==a.NEVER){throw new Error(`Max interval must be less than ${a.MAX_INTERVAL}`)}this._frequency={backoff:t,interval:n,max:s}}get isDisposed(){return this.state.phase==="disposed"}get standby(){return this._standby}set standby(e){if(this.isDisposed||this.standby===e){return}this._standby=e}get state(){return this._state}get tick(){return this._tick.promise}get ticked(){return this._ticked}async*[Symbol.asyncIterator](){while(!this.isDisposed){yield this.state;await this.tick.catch((()=>undefined))}}dispose(){if(this.isDisposed){return}this._state={...l.DISPOSED_STATE,timestamp:(new Date).getTime()};this._tick.promise.catch((e=>undefined));this._tick.reject(new Error(`Poll (${this.name}) is disposed.`));this._disposed.emit(undefined);o.Signal.clearData(this)}refresh(){return this.schedule({cancel:({phase:e})=>e==="refreshed",interval:a.IMMEDIATE,phase:"refreshed"})}async schedule(e={}){if(this.isDisposed){return}if(e.cancel&&e.cancel(this.state)){return}const t=this._tick;const n=new i.PromiseDelegate;const s={interval:this.frequency.interval,payload:null,phase:"standby",timestamp:(new Date).getTime(),...e};this._state=s;this._tick=n;clearTimeout(this._timeout);this._ticked.emit(this.state);t.resolve(this);await t.promise;if(s.interval===a.NEVER){this._timeout=undefined;return}const o=()=>{if(this.isDisposed||this.tick!==n.promise){return}this._execute()};this._timeout=setTimeout(o,s.interval)}start(){return this.schedule({cancel:({phase:e})=>e!=="constructed"&&e!=="standby"&&e!=="stopped",interval:a.IMMEDIATE,phase:"started"})}stop(){return this.schedule({cancel:({phase:e})=>e==="stopped",interval:a.NEVER,phase:"stopped"})}get hidden(){return l.hidden}_execute(){let e=typeof this.standby==="function"?this.standby():this.standby;if(e==="never"){e=false}else if(e==="when-hidden"){if(this.hidden){e=++this._lingered>this._linger}else{this._lingered=0;e=false}}if(e){void this.schedule();return}const t=this.tick;this._factory(this.state).then((e=>{if(this.isDisposed||this.tick!==t){return}void this.schedule({payload:e,phase:this.state.phase==="rejected"?"reconnected":"resolved"})})).catch((e=>{if(this.isDisposed||this.tick!==t){return}void this.schedule({interval:l.sleep(this.frequency,this.state),payload:e,phase:"rejected"})}))}}(function(e){e.IMMEDIATE=0;e.MAX_INTERVAL=2147483647;e.NEVER=Infinity})(a||(a={}));var l;(function(e){e.DEFAULT_BACKOFF=3;e.DEFAULT_FREQUENCY={backoff:true,interval:1e3,max:30*1e3};e.DEFAULT_LINGER=1;e.DEFAULT_NAME="unknown";e.DEFAULT_STANDBY="when-hidden";e.DEFAULT_STATE={interval:a.NEVER,payload:null,phase:"constructed",timestamp:new Date(0).getTime()};e.DISPOSED_STATE={interval:a.NEVER,payload:null,phase:"disposed",timestamp:new Date(0).getTime()};function t(t,i){const{backoff:s,interval:o,max:r}=t;if(o===a.NEVER){return o}const l=s===true?e.DEFAULT_BACKOFF:s===false?1:s;const d=n(o,i.interval*l);return Math.min(r,d)}e.sleep=t;e.hidden=(()=>{if(typeof document==="undefined"){return false}document.addEventListener("visibilitychange",(()=>{e.hidden=document.visibilityState==="hidden"}));document.addEventListener("pagehide",(()=>{e.hidden=document.visibilityState==="hidden"}));return document.visibilityState==="hidden"})();function n(e,t){e=Math.ceil(e);t=Math.floor(t);return Math.floor(Math.random()*(t-e+1))+e}})(l||(l={}));class d{constructor(e,t=500){this.args=undefined;this.payload=null;this.limit=t;this.poll=new a({auto:false,factory:async()=>{const{args:t}=this;this.args=undefined;return e(...t)},frequency:{backoff:false,interval:a.NEVER,max:a.NEVER},standby:"never"});this.payload=new i.PromiseDelegate;this.poll.ticked.connect(((e,t)=>{const{payload:n}=this;if(t.phase==="resolved"){this.payload=new i.PromiseDelegate;n.resolve(t.payload);return}if(t.phase==="rejected"||t.phase==="stopped"){this.payload=new i.PromiseDelegate;n.promise.catch((e=>undefined));n.reject(t.payload);return}}),this)}get isDisposed(){return this.payload===null}dispose(){if(this.isDisposed){return}this.args=undefined;this.payload=null;this.poll.dispose()}async stop(){return this.poll.stop()}}class c extends d{invoke(...e){this.args=e;void this.poll.schedule({interval:this.limit,phase:"invoked"});return this.payload.promise}}class h extends d{constructor(e,t){super(e,typeof t==="number"?t:t&&t.limit);this._trailing=false;if(typeof t!=="number"&&t&&t.edge==="trailing"){this._trailing=true}this._interval=this._trailing?this.limit:a.IMMEDIATE}invoke(...e){const t=this.poll.state.phase!=="invoked";if(t||this._trailing){this.args=e}if(t){void this.poll.schedule({interval:this._interval,phase:"invoked"})}return this.payload.promise}}},21628:(e,t,n)=>{"use strict";n.r(t);n.d(t,{AttachedProperty:()=>i});class i{constructor(e){this._pid=s.nextPID();this.name=e.name;this._create=e.create;this._coerce=e.coerce||null;this._compare=e.compare||null;this._changed=e.changed||null}get(e){let t;let n=s.ensureMap(e);if(this._pid in n){t=n[this._pid]}else{t=n[this._pid]=this._createValue(e)}return t}set(e,t){let n;let i=s.ensureMap(e);if(this._pid in i){n=i[this._pid]}else{n=i[this._pid]=this._createValue(e)}let o=this._coerceValue(e,t);this._maybeNotify(e,n,i[this._pid]=o)}coerce(e){let t;let n=s.ensureMap(e);if(this._pid in n){t=n[this._pid]}else{t=n[this._pid]=this._createValue(e)}let i=this._coerceValue(e,t);this._maybeNotify(e,t,n[this._pid]=i)}_createValue(e){let t=this._create;return t(e)}_coerceValue(e,t){let n=this._coerce;return n?n(e,t):t}_compareValue(e,t){let n=this._compare;return n?n(e,t):e===t}_maybeNotify(e,t,n){let i=this._changed;if(i&&!this._compareValue(t,n)){i(e,t,n)}}}(function(e){function t(e){s.ownerData.delete(e)}e.clearData=t})(i||(i={}));var s;(function(e){e.ownerData=new WeakMap;e.nextPID=(()=>{let e=0;return()=>{let t=Math.random();let n=`${t}`.slice(2);return`pid-${n}-${e++}`}})();function t(t){let n=e.ownerData.get(t);if(n){return n}n=Object.create(null);e.ownerData.set(t,n);return n}e.ensureMap=t})(s||(s={}))},96903:(e,t,n)=>{"use strict";n.r(t);n.d(t,{Signal:()=>a,Stream:()=>l});var i=n(34236);var s=n.n(i);var o=n(5592);var r=n.n(o);class a{constructor(e){this.sender=e}connect(e,t){return d.connect(this,e,t)}disconnect(e,t){return d.disconnect(this,e,t)}emit(e){d.emit(this,e)}}(function(e){function t(e,t){d.disconnectBetween(e,t)}e.disconnectBetween=t;function n(e){d.disconnectSender(e)}e.disconnectSender=n;function i(e){d.disconnectReceiver(e)}e.disconnectReceiver=i;function s(e){d.disconnectAll(e)}e.disconnectAll=s;function o(e){d.disconnectAll(e)}e.clearData=o;function r(){return d.exceptionHandler}e.getExceptionHandler=r;function a(e){let t=d.exceptionHandler;d.exceptionHandler=e;return t}e.setExceptionHandler=a})(a||(a={}));class l extends a{constructor(){super(...arguments);this._pending=new o.PromiseDelegate}async*[Symbol.asyncIterator](){let e=this._pending;while(true){try{const{args:t,next:n}=await e.promise;e=n;yield t}catch(t){return}}}emit(e){const t=this._pending;const n=this._pending=new o.PromiseDelegate;t.resolve({args:e,next:n});super.emit(e)}stop(){this._pending.promise.catch((()=>undefined));this._pending.reject("stop");this._pending=new o.PromiseDelegate}}var d;(function(e){e.exceptionHandler=e=>{console.error(e)};function t(e,t,n){n=n||undefined;let i=d.get(e.sender);if(!i){i=[];d.set(e.sender,i)}if(p(i,e,t,n)){return false}let s=n||t;let o=c.get(s);if(!o){o=[];c.set(s,o)}let r={signal:e,slot:t,thisArg:n};i.push(r);o.push(r);return true}e.connect=t;function n(e,t,n){n=n||undefined;let i=d.get(e.sender);if(!i||i.length===0){return false}let s=p(i,e,t,n);if(!s){return false}let o=n||t;let r=c.get(o);s.signal=null;g(i);g(r);return true}e.disconnect=n;function s(e,t){let n=d.get(e);if(!n||n.length===0){return}let i=c.get(t);if(!i||i.length===0){return}for(const s of i){if(!s.signal){continue}if(s.signal.sender===e){s.signal=null}}g(n);g(i)}e.disconnectBetween=s;function o(e){let t=d.get(e);if(!t||t.length===0){return}for(const n of t){if(!n.signal){continue}let e=n.thisArg||n.slot;n.signal=null;g(c.get(e))}g(t)}e.disconnectSender=o;function r(e){let t=c.get(e);if(!t||t.length===0){return}for(const n of t){if(!n.signal){continue}let e=n.signal.sender;n.signal=null;g(d.get(e))}g(t)}e.disconnectReceiver=r;function a(e){o(e);r(e)}e.disconnectAll=a;function l(e,t){let n=d.get(e.sender);if(!n||n.length===0){return}for(let i=0,s=n.length;i<s;++i){let s=n[i];if(s.signal===e){m(s,t)}}}e.emit=l;const d=new WeakMap;const c=new WeakMap;const h=new Set;const u=(()=>{let e=typeof requestAnimationFrame==="function";return e?requestAnimationFrame:setImmediate})();function p(e,t,n,s){return(0,i.find)(e,(e=>e.signal===t&&e.slot===n&&e.thisArg===s))}function m(t,n){let{signal:i,slot:s,thisArg:o}=t;try{s.call(o,i.sender,n)}catch(r){e.exceptionHandler(r)}}function g(e){if(h.size===0){u(f)}h.add(e)}function f(){h.forEach(v);h.clear()}function v(e){i.ArrayExt.removeAllWhere(e,_)}function _(e){return e.signal===null}})(d||(d={}))},57340:(e,t,n)=>{"use strict";n.r(t);n.d(t,{VirtualDOM:()=>c,VirtualElement:()=>r,VirtualElementPass:()=>a,VirtualText:()=>o,h:()=>l,hpass:()=>d});var i=n(34236);var s=n.n(i);class o{constructor(e){this.type="text";this.content=e}}class r{constructor(e,t,n,i){this.type="element";this.tag=e;this.attrs=t;this.children=n;this.renderer=i}}class a extends r{constructor(e,t,n){super(e,t,[],n||undefined)}}function l(e){let t={};let n;let i=[];for(let a=1,l=arguments.length;a<l;++a){let e=arguments[a];if(typeof e==="string"){i.push(new o(e))}else if(e instanceof o){i.push(e)}else if(e instanceof r){i.push(e)}else if(e instanceof Array){s(i,e)}else if((a===1||a===2)&&e&&typeof e==="object"){if("render"in e){n=e}else{t=e}}}return new r(e,t,i,n);function s(e,t){for(let n of t){if(typeof n==="string"){e.push(new o(n))}else if(n instanceof o){e.push(n)}else if(n instanceof r){e.push(n)}}}}(function(e){e.a=e.bind(undefined,"a");e.abbr=e.bind(undefined,"abbr");e.address=e.bind(undefined,"address");e.area=e.bind(undefined,"area");e.article=e.bind(undefined,"article");e.aside=e.bind(undefined,"aside");e.audio=e.bind(undefined,"audio");e.b=e.bind(undefined,"b");e.bdi=e.bind(undefined,"bdi");e.bdo=e.bind(undefined,"bdo");e.blockquote=e.bind(undefined,"blockquote");e.br=e.bind(undefined,"br");e.button=e.bind(undefined,"button");e.canvas=e.bind(undefined,"canvas");e.caption=e.bind(undefined,"caption");e.cite=e.bind(undefined,"cite");e.code=e.bind(undefined,"code");e.col=e.bind(undefined,"col");e.colgroup=e.bind(undefined,"colgroup");e.data=e.bind(undefined,"data");e.datalist=e.bind(undefined,"datalist");e.dd=e.bind(undefined,"dd");e.del=e.bind(undefined,"del");e.dfn=e.bind(undefined,"dfn");e.div=e.bind(undefined,"div");e.dl=e.bind(undefined,"dl");e.dt=e.bind(undefined,"dt");e.em=e.bind(undefined,"em");e.embed=e.bind(undefined,"embed");e.fieldset=e.bind(undefined,"fieldset");e.figcaption=e.bind(undefined,"figcaption");e.figure=e.bind(undefined,"figure");e.footer=e.bind(undefined,"footer");e.form=e.bind(undefined,"form");e.h1=e.bind(undefined,"h1");e.h2=e.bind(undefined,"h2");e.h3=e.bind(undefined,"h3");e.h4=e.bind(undefined,"h4");e.h5=e.bind(undefined,"h5");e.h6=e.bind(undefined,"h6");e.header=e.bind(undefined,"header");e.hr=e.bind(undefined,"hr");e.i=e.bind(undefined,"i");e.iframe=e.bind(undefined,"iframe");e.img=e.bind(undefined,"img");e.input=e.bind(undefined,"input");e.ins=e.bind(undefined,"ins");e.kbd=e.bind(undefined,"kbd");e.label=e.bind(undefined,"label");e.legend=e.bind(undefined,"legend");e.li=e.bind(undefined,"li");e.main=e.bind(undefined,"main");e.map=e.bind(undefined,"map");e.mark=e.bind(undefined,"mark");e.meter=e.bind(undefined,"meter");e.nav=e.bind(undefined,"nav");e.noscript=e.bind(undefined,"noscript");e.object=e.bind(undefined,"object");e.ol=e.bind(undefined,"ol");e.optgroup=e.bind(undefined,"optgroup");e.option=e.bind(undefined,"option");e.output=e.bind(undefined,"output");e.p=e.bind(undefined,"p");e.param=e.bind(undefined,"param");e.pre=e.bind(undefined,"pre");e.progress=e.bind(undefined,"progress");e.q=e.bind(undefined,"q");e.rp=e.bind(undefined,"rp");e.rt=e.bind(undefined,"rt");e.ruby=e.bind(undefined,"ruby");e.s=e.bind(undefined,"s");e.samp=e.bind(undefined,"samp");e.section=e.bind(undefined,"section");e.select=e.bind(undefined,"select");e.small=e.bind(undefined,"small");e.source=e.bind(undefined,"source");e.span=e.bind(undefined,"span");e.strong=e.bind(undefined,"strong");e.sub=e.bind(undefined,"sub");e.summary=e.bind(undefined,"summary");e.sup=e.bind(undefined,"sup");e.table=e.bind(undefined,"table");e.tbody=e.bind(undefined,"tbody");e.td=e.bind(undefined,"td");e.textarea=e.bind(undefined,"textarea");e.tfoot=e.bind(undefined,"tfoot");e.th=e.bind(undefined,"th");e.thead=e.bind(undefined,"thead");e.time=e.bind(undefined,"time");e.title=e.bind(undefined,"title");e.tr=e.bind(undefined,"tr");e.track=e.bind(undefined,"track");e.u=e.bind(undefined,"u");e.ul=e.bind(undefined,"ul");e.var_=e.bind(undefined,"var");e.video=e.bind(undefined,"video");e.wbr=e.bind(undefined,"wbr")})(l||(l={}));function d(e){let t={};let n=null;if(arguments.length===2){const e=arguments[1];if("render"in e){n=e}else{t=e}}else if(arguments.length===3){t=arguments[1];n=arguments[2]}else if(arguments.length>3){throw new Error("hpass() should be called with 1, 2, or 3 arguments")}return new a(e,t,n)}var c;(function(e){function t(e){return h.createDOMNode(e)}e.realize=t;function n(e,t){let n=h.hostMap.get(t)||[];let i=h.asContentArray(e);h.hostMap.set(t,i);h.updateContent(t,n,i)}e.render=n})(c||(c={}));var h;(function(e){e.hostMap=new WeakMap;function t(e){if(!e){return[]}if(e instanceof Array){return e}return[e]}e.asContentArray=t;function n(e){let t=arguments[1]||null;const i=arguments[2]||null;if(t){t.insertBefore(n(e),i)}else{if(e.type==="text"){return document.createTextNode(e.content)}t=document.createElement(e.tag);a(t,e.attrs);if(e.renderer){e.renderer.render(t,{attrs:e.attrs,children:e.children});return t}for(let i=0,s=e.children.length;i<s;++i){n(e.children[i],t)}}return t}e.createDOMNode=n;function s(e,t,r){if(t===r){return}let a=p(e,t);let d=t.slice();let c=e.firstChild;let h=r.length;for(let o=0;o<h;++o){if(o>=d.length){n(r[o],e);continue}let t=d[o];let h=r[o];if(t===h){c=c.nextSibling;continue}if(t.type==="text"&&h.type==="text"){if(c.textContent!==h.content){c.textContent=h.content}c=c.nextSibling;continue}if(t.type==="text"||h.type==="text"){i.ArrayExt.insert(d,o,h);n(h,e,c);continue}if(!t.renderer!=!h.renderer){i.ArrayExt.insert(d,o,h);n(h,e,c);continue}let u=h.attrs.key;if(u&&u in a){let n=a[u];if(n.vNode!==t){i.ArrayExt.move(d,d.indexOf(n.vNode,o+1),o);e.insertBefore(n.element,c);t=n.vNode;c=n.element}}if(t===h){c=c.nextSibling;continue}let p=t.attrs.key;if(p&&p!==u){i.ArrayExt.insert(d,o,h);n(h,e,c);continue}if(t.tag!==h.tag){i.ArrayExt.insert(d,o,h);n(h,e,c);continue}l(c,t.attrs,h.attrs);if(h.renderer){h.renderer.render(c,{attrs:h.attrs,children:h.children})}else{s(c,t.children,h.children)}c=c.nextSibling}o(e,d,h,true)}e.updateContent=s;function o(e,t,n,i){for(let s=t.length-1;s>=n;--s){const n=t[s];const r=i?e.lastChild:e.childNodes[s];if(n.type==="text");else if(n.renderer&&n.renderer.unrender){n.renderer.unrender(r,{attrs:n.attrs,children:n.children})}else{o(r,n.children,0,false)}if(i){e.removeChild(r)}}}const r={key:true,className:true,htmlFor:true,dataset:true,style:true};function a(e,t){for(let n in t){if(n in r){continue}if(n.substr(0,2)==="on"){e[n]=t[n]}else{e.setAttribute(n,t[n])}}if(t.className!==undefined){e.setAttribute("class",t.className)}if(t.htmlFor!==undefined){e.setAttribute("for",t.htmlFor)}if(t.dataset){d(e,t.dataset)}if(t.style){h(e,t.style)}}function l(e,t,n){if(t===n){return}let i;for(i in t){if(i in r||i in n){continue}if(i.substr(0,2)==="on"){e[i]=null}else{e.removeAttribute(i)}}for(i in n){if(i in r||t[i]===n[i]){continue}if(i.substr(0,2)==="on"){e[i]=n[i]}else{e.setAttribute(i,n[i])}}if(t.className!==n.className){if(n.className!==undefined){e.setAttribute("class",n.className)}else{e.removeAttribute("class")}}if(t.htmlFor!==n.htmlFor){if(n.htmlFor!==undefined){e.setAttribute("for",n.htmlFor)}else{e.removeAttribute("for")}}if(t.dataset!==n.dataset){c(e,t.dataset||{},n.dataset||{})}if(t.style!==n.style){u(e,t.style||{},n.style||{})}}function d(e,t){for(let n in t){e.setAttribute(`data-${n}`,t[n])}}function c(e,t,n){for(let i in t){if(!(i in n)){e.removeAttribute(`data-${i}`)}}for(let i in n){if(t[i]!==n[i]){e.setAttribute(`data-${i}`,n[i])}}}function h(e,t){let n=e.style;let i;for(i in t){n[i]=t[i]}}function u(e,t,n){let i=e.style;let s;for(s in t){if(!(s in n)){i[s]=""}}for(s in n){if(t[s]!==n[s]){i[s]=n[s]}}}function p(e,t){let n=e.firstChild;let i=Object.create(null);for(let s of t){if(s.type==="element"&&s.attrs.key){i[s.attrs.key]={vNode:s,element:n}}n=n.nextSibling}return i}})(h||(h={}))},14292:(e,t,n)=>{"use strict";n.r(t);n.d(t,{AccordionLayout:()=>O,AccordionPanel:()=>U,BoxEngine:()=>k,BoxLayout:()=>$,BoxPanel:()=>J,BoxSizer:()=>j,CommandPalette:()=>Y,ContextMenu:()=>ee,DockLayout:()=>oe,DockPanel:()=>ae,FocusTracker:()=>de,GridLayout:()=>ce,Layout:()=>M,LayoutItem:()=>D,Menu:()=>Q,MenuBar:()=>ue,Panel:()=>z,PanelLayout:()=>P,ScrollBar:()=>me,SingletonLayout:()=>fe,SplitLayout:()=>N,SplitPanel:()=>H,StackedLayout:()=>ve,StackedPanel:()=>_e,TabBar:()=>ie,TabPanel:()=>ye,Title:()=>I,Widget:()=>T});var i=n(34236);var s=n.n(i);var o=n(5592);var r=n.n(o);var a=n(76326);var l=n.n(a);var d=n(42856);var c=n.n(d);var h=n(94466);var u=n.n(h);var p=n(2336);var m=n.n(p);var g=n(10970);var f=n.n(g);var v=n(93247);var _=n.n(v);var b=n(97290);var y=n.n(b);var w=n(90044);var C=n.n(w);var x=n(77162);var S=n.n(x);class j{constructor(){this.sizeHint=0;this.minSize=0;this.maxSize=Infinity;this.stretch=1;this.size=0;this.done=false}}var k;(function(e){function t(e,t){let n=e.length;if(n===0){return t}let i=0;let s=0;let o=0;let r=0;let a=0;for(let c=0;c<n;++c){let t=e[c];let n=t.minSize;let l=t.maxSize;let d=t.sizeHint;t.done=false;t.size=Math.max(n,Math.min(d,l));o+=t.size;i+=n;s+=l;if(t.stretch>0){r+=t.stretch;a++}}if(t===o){return 0}if(t<=i){for(let t=0;t<n;++t){let n=e[t];n.size=n.minSize}return t-i}if(t>=s){for(let t=0;t<n;++t){let n=e[t];n.size=n.maxSize}return t-s}let l=.01;let d=n;if(t<o){let i=o-t;while(a>0&&i>l){let t=i;let s=r;for(let o=0;o<n;++o){let n=e[o];if(n.done||n.stretch===0){continue}let l=n.stretch*t/s;if(n.size-l<=n.minSize){i-=n.size-n.minSize;r-=n.stretch;n.size=n.minSize;n.done=true;d--;a--}else{i-=l;n.size-=l}}}while(d>0&&i>l){let t=i/d;for(let s=0;s<n;++s){let n=e[s];if(n.done){continue}if(n.size-t<=n.minSize){i-=n.size-n.minSize;n.size=n.minSize;n.done=true;d--}else{i-=t;n.size-=t}}}}else{let i=t-o;while(a>0&&i>l){let t=i;let s=r;for(let o=0;o<n;++o){let n=e[o];if(n.done||n.stretch===0){continue}let l=n.stretch*t/s;if(n.size+l>=n.maxSize){i-=n.maxSize-n.size;r-=n.stretch;n.size=n.maxSize;n.done=true;d--;a--}else{i-=l;n.size+=l}}}while(d>0&&i>l){let t=i/d;for(let s=0;s<n;++s){let n=e[s];if(n.done){continue}if(n.size+t>=n.maxSize){i-=n.maxSize-n.size;n.size=n.maxSize;n.done=true;d--}else{i-=t;n.size+=t}}}}return 0}e.calc=t;function n(e,t,n){if(e.length===0||n===0){return}if(n>0){i(e,t,n)}else{s(e,t,-n)}}e.adjust=n;function i(e,t,n){let i=0;for(let a=0;a<=t;++a){let t=e[a];i+=t.maxSize-t.size}let s=0;for(let a=t+1,l=e.length;a<l;++a){let t=e[a];s+=t.size-t.minSize}n=Math.min(n,i,s);let o=n;for(let a=t;a>=0&&o>0;--a){let t=e[a];let n=t.maxSize-t.size;if(n>=o){t.sizeHint=t.size+o;o=0}else{t.sizeHint=t.size+n;o-=n}}let r=n;for(let a=t+1,l=e.length;a<l&&r>0;++a){let t=e[a];let n=t.size-t.minSize;if(n>=r){t.sizeHint=t.size-r;r=0}else{t.sizeHint=t.size-n;r-=n}}}function s(e,t,n){let i=0;for(let a=t+1,l=e.length;a<l;++a){let t=e[a];i+=t.maxSize-t.size}let s=0;for(let a=0;a<=t;++a){let t=e[a];s+=t.size-t.minSize}n=Math.min(n,i,s);let o=n;for(let a=t+1,l=e.length;a<l&&o>0;++a){let t=e[a];let n=t.maxSize-t.size;if(n>=o){t.sizeHint=t.size+o;o=0}else{t.sizeHint=t.size+n;o-=n}}let r=n;for(let a=t;a>=0&&r>0;--a){let t=e[a];let n=t.size-t.minSize;if(n>=r){t.sizeHint=t.size-r;r=0}else{t.sizeHint=t.size-n;r-=n}}}})(k||(k={}));class I{constructor(e){this._label="";this._caption="";this._mnemonic=-1;this._icon=undefined;this._iconClass="";this._iconLabel="";this._className="";this._closable=false;this._changed=new p.Signal(this);this._isDisposed=false;this.owner=e.owner;if(e.label!==undefined){this._label=e.label}if(e.mnemonic!==undefined){this._mnemonic=e.mnemonic}if(e.icon!==undefined){this._icon=e.icon}if(e.iconClass!==undefined){this._iconClass=e.iconClass}if(e.iconLabel!==undefined){this._iconLabel=e.iconLabel}if(e.caption!==undefined){this._caption=e.caption}if(e.className!==undefined){this._className=e.className}if(e.closable!==undefined){this._closable=e.closable}this._dataset=e.dataset||{}}get changed(){return this._changed}get label(){return this._label}set label(e){if(this._label===e){return}this._label=e;this._changed.emit(undefined)}get mnemonic(){return this._mnemonic}set mnemonic(e){if(this._mnemonic===e){return}this._mnemonic=e;this._changed.emit(undefined)}get icon(){return this._icon}set icon(e){if(this._icon===e){return}this._icon=e;this._changed.emit(undefined)}get iconClass(){return this._iconClass}set iconClass(e){if(this._iconClass===e){return}this._iconClass=e;this._changed.emit(undefined)}get iconLabel(){return this._iconLabel}set iconLabel(e){if(this._iconLabel===e){return}this._iconLabel=e;this._changed.emit(undefined)}get caption(){return this._caption}set caption(e){if(this._caption===e){return}this._caption=e;this._changed.emit(undefined)}get className(){return this._className}set className(e){if(this._className===e){return}this._className=e;this._changed.emit(undefined)}get closable(){return this._closable}set closable(e){if(this._closable===e){return}this._closable=e;this._changed.emit(undefined)}get dataset(){return this._dataset}set dataset(e){if(this._dataset===e){return}this._dataset=e;this._changed.emit(undefined)}get isDisposed(){return this._isDisposed}dispose(){if(this.isDisposed){return}this._isDisposed=true;p.Signal.clearData(this)}}class T{constructor(e={}){this._flags=0;this._layout=null;this._parent=null;this._disposed=new p.Signal(this);this._hiddenMode=T.HiddenMode.Display;this.node=E.createNode(e);this.addClass("lm-Widget")}dispose(){if(this.isDisposed){return}this.setFlag(T.Flag.IsDisposed);this._disposed.emit(undefined);if(this.parent){this.parent=null}else if(this.isAttached){T.detach(this)}if(this._layout){this._layout.dispose();this._layout=null}this.title.dispose();p.Signal.clearData(this);d.MessageLoop.clearData(this);h.AttachedProperty.clearData(this)}get disposed(){return this._disposed}get isDisposed(){return this.testFlag(T.Flag.IsDisposed)}get isAttached(){return this.testFlag(T.Flag.IsAttached)}get isHidden(){return this.testFlag(T.Flag.IsHidden)}get isVisible(){let e=this;do{if(e.isHidden||!e.isAttached){return false}e=e.parent}while(e!=null);return true}get title(){return E.titleProperty.get(this)}get id(){return this.node.id}set id(e){this.node.id=e}get dataset(){return this.node.dataset}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){if(this._hiddenMode===e){return}if(this.isHidden){this._toggleHidden(false)}if(e==T.HiddenMode.Scale){this.node.style.willChange="transform"}else{this.node.style.willChange="auto"}this._hiddenMode=e;if(this.isHidden){this._toggleHidden(true)}}get parent(){return this._parent}set parent(e){if(this._parent===e){return}if(e&&this.contains(e)){throw new Error("Invalid parent widget.")}if(this._parent&&!this._parent.isDisposed){let e=new T.ChildMessage("child-removed",this);d.MessageLoop.sendMessage(this._parent,e)}this._parent=e;if(this._parent&&!this._parent.isDisposed){let e=new T.ChildMessage("child-added",this);d.MessageLoop.sendMessage(this._parent,e)}if(!this.isDisposed){d.MessageLoop.sendMessage(this,T.Msg.ParentChanged)}}get layout(){return this._layout}set layout(e){if(this._layout===e){return}if(this.testFlag(T.Flag.DisallowLayout)){throw new Error("Cannot set widget layout.")}if(this._layout){throw new Error("Cannot change widget layout.")}if(e.parent){throw new Error("Cannot change layout parent.")}this._layout=e;e.parent=this}*children(){if(this._layout){yield*this._layout}}contains(e){for(let t=e;t;t=t._parent){if(t===this){return true}}return false}hasClass(e){return this.node.classList.contains(e)}addClass(e){this.node.classList.add(e)}removeClass(e){this.node.classList.remove(e)}toggleClass(e,t){if(t===true){this.node.classList.add(e);return true}if(t===false){this.node.classList.remove(e);return false}return this.node.classList.toggle(e)}update(){d.MessageLoop.postMessage(this,T.Msg.UpdateRequest)}fit(){d.MessageLoop.postMessage(this,T.Msg.FitRequest)}activate(){d.MessageLoop.postMessage(this,T.Msg.ActivateRequest)}close(){d.MessageLoop.sendMessage(this,T.Msg.CloseRequest)}show(){if(!this.testFlag(T.Flag.IsHidden)){return}if(this.isAttached&&(!this.parent||this.parent.isVisible)){d.MessageLoop.sendMessage(this,T.Msg.BeforeShow)}this.clearFlag(T.Flag.IsHidden);this._toggleHidden(false);if(this.isAttached&&(!this.parent||this.parent.isVisible)){d.MessageLoop.sendMessage(this,T.Msg.AfterShow)}if(this.parent){let e=new T.ChildMessage("child-shown",this);d.MessageLoop.sendMessage(this.parent,e)}}hide(){if(this.testFlag(T.Flag.IsHidden)){return}if(this.isAttached&&(!this.parent||this.parent.isVisible)){d.MessageLoop.sendMessage(this,T.Msg.BeforeHide)}this.setFlag(T.Flag.IsHidden);this._toggleHidden(true);if(this.isAttached&&(!this.parent||this.parent.isVisible)){d.MessageLoop.sendMessage(this,T.Msg.AfterHide)}if(this.parent){let e=new T.ChildMessage("child-hidden",this);d.MessageLoop.sendMessage(this.parent,e)}}setHidden(e){if(e){this.hide()}else{this.show()}}testFlag(e){return(this._flags&e)!==0}setFlag(e){this._flags|=e}clearFlag(e){this._flags&=~e}processMessage(e){switch(e.type){case"resize":this.notifyLayout(e);this.onResize(e);break;case"update-request":this.notifyLayout(e);this.onUpdateRequest(e);break;case"fit-request":this.notifyLayout(e);this.onFitRequest(e);break;case"before-show":this.notifyLayout(e);this.onBeforeShow(e);break;case"after-show":this.setFlag(T.Flag.IsVisible);this.notifyLayout(e);this.onAfterShow(e);break;case"before-hide":this.notifyLayout(e);this.onBeforeHide(e);break;case"after-hide":this.clearFlag(T.Flag.IsVisible);this.notifyLayout(e);this.onAfterHide(e);break;case"before-attach":this.notifyLayout(e);this.onBeforeAttach(e);break;case"after-attach":if(!this.isHidden&&(!this.parent||this.parent.isVisible)){this.setFlag(T.Flag.IsVisible)}this.setFlag(T.Flag.IsAttached);this.notifyLayout(e);this.onAfterAttach(e);break;case"before-detach":this.notifyLayout(e);this.onBeforeDetach(e);break;case"after-detach":this.clearFlag(T.Flag.IsVisible);this.clearFlag(T.Flag.IsAttached);this.notifyLayout(e);this.onAfterDetach(e);break;case"activate-request":this.notifyLayout(e);this.onActivateRequest(e);break;case"close-request":this.notifyLayout(e);this.onCloseRequest(e);break;case"child-added":this.notifyLayout(e);this.onChildAdded(e);break;case"child-removed":this.notifyLayout(e);this.onChildRemoved(e);break;default:this.notifyLayout(e);break}}notifyLayout(e){if(this._layout){this._layout.processParentMessage(e)}}onCloseRequest(e){if(this.parent){this.parent=null}else if(this.isAttached){T.detach(this)}}onResize(e){}onUpdateRequest(e){}onFitRequest(e){}onActivateRequest(e){}onBeforeShow(e){}onAfterShow(e){}onBeforeHide(e){}onAfterHide(e){}onBeforeAttach(e){}onAfterAttach(e){}onBeforeDetach(e){}onAfterDetach(e){}onChildAdded(e){}onChildRemoved(e){}_toggleHidden(e){if(e){switch(this._hiddenMode){case T.HiddenMode.Display:this.addClass("lm-mod-hidden");break;case T.HiddenMode.Scale:this.node.style.transform="scale(0)";this.node.setAttribute("aria-hidden","true");break;case T.HiddenMode.ContentVisibility:this.node.style.contentVisibility="hidden";this.node.style.zIndex="-1";break}}else{switch(this._hiddenMode){case T.HiddenMode.Display:this.removeClass("lm-mod-hidden");break;case T.HiddenMode.Scale:this.node.style.transform="";this.node.removeAttribute("aria-hidden");break;case T.HiddenMode.ContentVisibility:this.node.style.contentVisibility="";this.node.style.zIndex="";break}}}}(function(e){(function(e){e[e["Display"]=0]="Display";e[e["Scale"]=1]="Scale";e[e["ContentVisibility"]=2]="ContentVisibility"})(e.HiddenMode||(e.HiddenMode={}));(function(e){e[e["IsDisposed"]=1]="IsDisposed";e[e["IsAttached"]=2]="IsAttached";e[e["IsHidden"]=4]="IsHidden";e[e["IsVisible"]=8]="IsVisible";e[e["DisallowLayout"]=16]="DisallowLayout"})(e.Flag||(e.Flag={}));(function(e){e.BeforeShow=new d.Message("before-show");e.AfterShow=new d.Message("after-show");e.BeforeHide=new d.Message("before-hide");e.AfterHide=new d.Message("after-hide");e.BeforeAttach=new d.Message("before-attach");e.AfterAttach=new d.Message("after-attach");e.BeforeDetach=new d.Message("before-detach");e.AfterDetach=new d.Message("after-detach");e.ParentChanged=new d.Message("parent-changed");e.UpdateRequest=new d.ConflatableMessage("update-request");e.FitRequest=new d.ConflatableMessage("fit-request");e.ActivateRequest=new d.ConflatableMessage("activate-request");e.CloseRequest=new d.ConflatableMessage("close-request")})(e.Msg||(e.Msg={}));class t extends d.Message{constructor(e,t){super(e);this.child=t}}e.ChildMessage=t;class n extends d.Message{constructor(e,t){super("resize");this.width=e;this.height=t}}e.ResizeMessage=n;(function(e){e.UnknownSize=new e(-1,-1)})(n=e.ResizeMessage||(e.ResizeMessage={}));function i(t,n,i=null){if(t.parent){throw new Error("Cannot attach a child widget.")}if(t.isAttached||t.node.isConnected){throw new Error("Widget is already attached.")}if(!n.isConnected){throw new Error("Host is not attached.")}d.MessageLoop.sendMessage(t,e.Msg.BeforeAttach);n.insertBefore(t.node,i);d.MessageLoop.sendMessage(t,e.Msg.AfterAttach)}e.attach=i;function s(t){if(t.parent){throw new Error("Cannot detach a child widget.")}if(!t.isAttached||!t.node.isConnected){throw new Error("Widget is not attached.")}d.MessageLoop.sendMessage(t,e.Msg.BeforeDetach);t.node.parentNode.removeChild(t.node);d.MessageLoop.sendMessage(t,e.Msg.AfterDetach)}e.detach=s})(T||(T={}));var E;(function(e){e.titleProperty=new h.AttachedProperty({name:"title",create:e=>new I({owner:e})});function t(e){return e.node||document.createElement(e.tag||"div")}e.createNode=t})(E||(E={}));class M{constructor(e={}){this._disposed=false;this._parent=null;this._fitPolicy=e.fitPolicy||"set-min-size"}dispose(){this._parent=null;this._disposed=true;p.Signal.clearData(this);h.AttachedProperty.clearData(this)}get isDisposed(){return this._disposed}get parent(){return this._parent}set parent(e){if(this._parent===e){return}if(this._parent){throw new Error("Cannot change parent widget.")}if(e.layout!==this){throw new Error("Invalid parent widget.")}this._parent=e;this.init()}get fitPolicy(){return this._fitPolicy}set fitPolicy(e){if(this._fitPolicy===e){return}this._fitPolicy=e;if(this._parent){let e=this._parent.node.style;e.minWidth="";e.minHeight="";e.maxWidth="";e.maxHeight="";this._parent.fit()}}processParentMessage(e){switch(e.type){case"resize":this.onResize(e);break;case"update-request":this.onUpdateRequest(e);break;case"fit-request":this.onFitRequest(e);break;case"before-show":this.onBeforeShow(e);break;case"after-show":this.onAfterShow(e);break;case"before-hide":this.onBeforeHide(e);break;case"after-hide":this.onAfterHide(e);break;case"before-attach":this.onBeforeAttach(e);break;case"after-attach":this.onAfterAttach(e);break;case"before-detach":this.onBeforeDetach(e);break;case"after-detach":this.onAfterDetach(e);break;case"child-removed":this.onChildRemoved(e);break;case"child-shown":this.onChildShown(e);break;case"child-hidden":this.onChildHidden(e);break}}init(){for(const e of this){e.parent=this.parent}}onResize(e){for(const t of this){d.MessageLoop.sendMessage(t,T.ResizeMessage.UnknownSize)}}onUpdateRequest(e){for(const t of this){d.MessageLoop.sendMessage(t,T.ResizeMessage.UnknownSize)}}onBeforeAttach(e){for(const t of this){d.MessageLoop.sendMessage(t,e)}}onAfterAttach(e){for(const t of this){d.MessageLoop.sendMessage(t,e)}}onBeforeDetach(e){for(const t of this){d.MessageLoop.sendMessage(t,e)}}onAfterDetach(e){for(const t of this){d.MessageLoop.sendMessage(t,e)}}onBeforeShow(e){for(const t of this){if(!t.isHidden){d.MessageLoop.sendMessage(t,e)}}}onAfterShow(e){for(const t of this){if(!t.isHidden){d.MessageLoop.sendMessage(t,e)}}}onBeforeHide(e){for(const t of this){if(!t.isHidden){d.MessageLoop.sendMessage(t,e)}}}onAfterHide(e){for(const t of this){if(!t.isHidden){d.MessageLoop.sendMessage(t,e)}}}onChildRemoved(e){this.removeWidget(e.child)}onFitRequest(e){}onChildShown(e){}onChildHidden(e){}}(function(e){function t(e){return A.horizontalAlignmentProperty.get(e)}e.getHorizontalAlignment=t;function n(e,t){A.horizontalAlignmentProperty.set(e,t)}e.setHorizontalAlignment=n;function i(e){return A.verticalAlignmentProperty.get(e)}e.getVerticalAlignment=i;function s(e,t){A.verticalAlignmentProperty.set(e,t)}e.setVerticalAlignment=s})(M||(M={}));class D{constructor(e){this._top=NaN;this._left=NaN;this._width=NaN;this._height=NaN;this._minWidth=0;this._minHeight=0;this._maxWidth=Infinity;this._maxHeight=Infinity;this._disposed=false;this.widget=e;this.widget.node.style.position="absolute";this.widget.node.style.contain="strict"}dispose(){if(this._disposed){return}this._disposed=true;let e=this.widget.node.style;e.position="";e.top="";e.left="";e.width="";e.height="";e.contain=""}get minWidth(){return this._minWidth}get minHeight(){return this._minHeight}get maxWidth(){return this._maxWidth}get maxHeight(){return this._maxHeight}get isDisposed(){return this._disposed}get isHidden(){return this.widget.isHidden}get isVisible(){return this.widget.isVisible}get isAttached(){return this.widget.isAttached}fit(){let e=a.ElementExt.sizeLimits(this.widget.node);this._minWidth=e.minWidth;this._minHeight=e.minHeight;this._maxWidth=e.maxWidth;this._maxHeight=e.maxHeight}update(e,t,n,i){let s=Math.max(this._minWidth,Math.min(n,this._maxWidth));let o=Math.max(this._minHeight,Math.min(i,this._maxHeight));if(s<n){switch(M.getHorizontalAlignment(this.widget)){case"left":break;case"center":e+=(n-s)/2;break;case"right":e+=n-s;break;default:throw"unreachable"}}if(o<i){switch(M.getVerticalAlignment(this.widget)){case"top":break;case"center":t+=(i-o)/2;break;case"bottom":t+=i-o;break;default:throw"unreachable"}}let r=false;let a=this.widget.node.style;if(this._top!==t){this._top=t;a.top=`${t}px`}if(this._left!==e){this._left=e;a.left=`${e}px`}if(this._width!==s){r=true;this._width=s;a.width=`${s}px`}if(this._height!==o){r=true;this._height=o;a.height=`${o}px`}if(r){let e=new T.ResizeMessage(s,o);d.MessageLoop.sendMessage(this.widget,e)}}}var A;(function(e){e.horizontalAlignmentProperty=new h.AttachedProperty({name:"horizontalAlignment",create:()=>"center",changed:t});e.verticalAlignmentProperty=new h.AttachedProperty({name:"verticalAlignment",create:()=>"top",changed:t});function t(e){if(e.parent&&e.parent.layout){e.parent.update()}}})(A||(A={}));class P extends M{constructor(){super(...arguments);this._widgets=[]}dispose(){while(this._widgets.length>0){this._widgets.pop().dispose()}super.dispose()}get widgets(){return this._widgets}*[Symbol.iterator](){yield*this._widgets}addWidget(e){this.insertWidget(this._widgets.length,e)}insertWidget(e,t){t.parent=this.parent;let n=this._widgets.indexOf(t);let s=Math.max(0,Math.min(e,this._widgets.length));if(n===-1){i.ArrayExt.insert(this._widgets,s,t);if(this.parent){this.attachWidget(s,t)}return}if(s===this._widgets.length){s--}if(n===s){return}i.ArrayExt.move(this._widgets,n,s);if(this.parent){this.moveWidget(n,s,t)}}removeWidget(e){this.removeWidgetAt(this._widgets.indexOf(e))}removeWidgetAt(e){let t=i.ArrayExt.removeAt(this._widgets,e);if(t&&this.parent){this.detachWidget(e,t)}}init(){super.init();let e=0;for(const t of this){this.attachWidget(e++,t)}}attachWidget(e,t){let n=this.parent.node.children[e];if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.BeforeAttach)}this.parent.node.insertBefore(t.node,n);if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.AfterAttach)}}moveWidget(e,t,n){if(this.parent.isAttached){d.MessageLoop.sendMessage(n,T.Msg.BeforeDetach)}this.parent.node.removeChild(n.node);if(this.parent.isAttached){d.MessageLoop.sendMessage(n,T.Msg.AfterDetach)}let i=this.parent.node.children[t];if(this.parent.isAttached){d.MessageLoop.sendMessage(n,T.Msg.BeforeAttach)}this.parent.node.insertBefore(n.node,i);if(this.parent.isAttached){d.MessageLoop.sendMessage(n,T.Msg.AfterAttach)}}detachWidget(e,t){if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.BeforeDetach)}this.parent.node.removeChild(t.node);if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.AfterDetach)}}}var L;(function(e){function t(e){return Math.max(0,Math.floor(e))}e.clampDimension=t})(L||(L={}));var R=L;class N extends P{constructor(e){super();this.widgetOffset=0;this._fixed=0;this._spacing=4;this._dirty=false;this._hasNormedSizes=false;this._sizers=[];this._items=[];this._handles=[];this._box=null;this._alignment="start";this._orientation="horizontal";this.renderer=e.renderer;if(e.orientation!==undefined){this._orientation=e.orientation}if(e.alignment!==undefined){this._alignment=e.alignment}if(e.spacing!==undefined){this._spacing=L.clampDimension(e.spacing)}}dispose(){for(const e of this._items){e.dispose()}this._box=null;this._items.length=0;this._sizers.length=0;this._handles.length=0;super.dispose()}get orientation(){return this._orientation}set orientation(e){if(this._orientation===e){return}this._orientation=e;if(!this.parent){return}this.parent.dataset["orientation"]=e;this.parent.fit()}get alignment(){return this._alignment}set alignment(e){if(this._alignment===e){return}this._alignment=e;if(!this.parent){return}this.parent.dataset["alignment"]=e;this.parent.update()}get spacing(){return this._spacing}set spacing(e){e=L.clampDimension(e);if(this._spacing===e){return}this._spacing=e;if(!this.parent){return}this.parent.fit()}get handles(){return this._handles}absoluteSizes(){return this._sizers.map((e=>e.size))}relativeSizes(){return B.normalize(this._sizers.map((e=>e.size)))}setRelativeSizes(e,t=true){let n=this._sizers.length;let i=e.slice(0,n);while(i.length<n){i.push(0)}let s=B.normalize(i);for(let o=0;o<n;++o){let e=this._sizers[o];e.sizeHint=s[o];e.size=s[o]}this._hasNormedSizes=true;if(t&&this.parent){this.parent.update()}}moveHandle(e,t){let n=this._handles[e];if(!n||n.classList.contains("lm-mod-hidden")){return}let i;if(this._orientation==="horizontal"){i=t-n.offsetLeft}else{i=t-n.offsetTop}if(i===0){return}for(let s of this._sizers){if(s.size>0){s.sizeHint=s.size}}k.adjust(this._sizers,e,i);if(this.parent){this.parent.update()}}init(){this.parent.dataset["orientation"]=this.orientation;this.parent.dataset["alignment"]=this.alignment;super.init()}attachWidget(e,t){let n=new D(t);let s=B.createHandle(this.renderer);let o=B.averageSize(this._sizers);let r=B.createSizer(o);i.ArrayExt.insert(this._items,e,n);i.ArrayExt.insert(this._sizers,e,r);i.ArrayExt.insert(this._handles,e,s);if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.BeforeAttach)}this.parent.node.appendChild(t.node);this.parent.node.appendChild(s);if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.AfterAttach)}this.parent.fit()}moveWidget(e,t,n){i.ArrayExt.move(this._items,e,t);i.ArrayExt.move(this._sizers,e,t);i.ArrayExt.move(this._handles,e,t);this.parent.fit()}detachWidget(e,t){let n=i.ArrayExt.removeAt(this._items,e);let s=i.ArrayExt.removeAt(this._handles,e);i.ArrayExt.removeAt(this._sizers,e);if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.BeforeDetach)}this.parent.node.removeChild(t.node);this.parent.node.removeChild(s);if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.AfterDetach)}n.dispose();this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e);this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e);this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){if(this.parent.isVisible){this._update(e.width,e.height)}}onUpdateRequest(e){if(this.parent.isVisible){this._update(-1,-1)}}onFitRequest(e){if(this.parent.isAttached){this._fit()}}updateItemPosition(e,t,n,i,s,o,r){const a=this._items[e];if(a.isHidden){return}let l=this._handles[e].style;if(t){n+=this.widgetOffset;a.update(n,i,r,s);n+=r;l.top=`${i}px`;l.left=`${n}px`;l.width=`${this._spacing}px`;l.height=`${s}px`}else{i+=this.widgetOffset;a.update(n,i,o,r);i+=r;l.top=`${i}px`;l.left=`${n}px`;l.width=`${o}px`;l.height=`${this._spacing}px`}}_fit(){let e=0;let t=-1;for(let a=0,l=this._items.length;a<l;++a){if(this._items[a].isHidden){this._handles[a].classList.add("lm-mod-hidden")}else{this._handles[a].classList.remove("lm-mod-hidden");t=a;e++}}if(t!==-1){this._handles[t].classList.add("lm-mod-hidden")}this._fixed=this._spacing*Math.max(0,e-1)+this.widgetOffset*this._items.length;let n=this._orientation==="horizontal";let i=n?this._fixed:0;let s=n?0:this._fixed;for(let a=0,l=this._items.length;a<l;++a){let e=this._items[a];let t=this._sizers[a];if(t.size>0){t.sizeHint=t.size}if(e.isHidden){t.minSize=0;t.maxSize=0;continue}e.fit();t.stretch=N.getStretch(e.widget);if(n){t.minSize=e.minWidth;t.maxSize=e.maxWidth;i+=e.minWidth;s=Math.max(s,e.minHeight)}else{t.minSize=e.minHeight;t.maxSize=e.maxHeight;s+=e.minHeight;i=Math.max(i,e.minWidth)}}let o=this._box=a.ElementExt.boxSizing(this.parent.node);i+=o.horizontalSum;s+=o.verticalSum;let r=this.parent.node.style;r.minWidth=`${i}px`;r.minHeight=`${s}px`;this._dirty=true;if(this.parent.parent){d.MessageLoop.sendMessage(this.parent.parent,T.Msg.FitRequest)}if(this._dirty){d.MessageLoop.sendMessage(this.parent,T.Msg.UpdateRequest)}}_update(e,t){this._dirty=false;let n=0;for(let a=0,h=this._items.length;a<h;++a){n+=+!this._items[a].isHidden}if(n===0&&this.widgetOffset===0){return}if(e<0){e=this.parent.node.offsetWidth}if(t<0){t=this.parent.node.offsetHeight}if(!this._box){this._box=a.ElementExt.boxSizing(this.parent.node)}let i=this._box.paddingTop;let s=this._box.paddingLeft;let o=e-this._box.horizontalSum;let r=t-this._box.verticalSum;let l=0;let d=0;let c=this._orientation==="horizontal";if(n>0){let e;if(c){e=Math.max(0,o-this._fixed)}else{e=Math.max(0,r-this._fixed)}if(this._hasNormedSizes){for(let t of this._sizers){t.sizeHint*=e}this._hasNormedSizes=false}let t=k.calc(this._sizers,e);if(t>0){switch(this._alignment){case"start":break;case"center":l=0;d=t/2;break;case"end":l=0;d=t;break;case"justify":l=t/n;d=0;break;default:throw"unreachable"}}}for(let a=0,h=this._items.length;a<h;++a){const e=this._items[a];const t=e.isHidden?0:this._sizers[a].size+l;this.updateItemPosition(a,c,c?s+d:s,c?i:i+d,r,o,t);const n=this.widgetOffset+(this._handles[a].classList.contains("lm-mod-hidden")?0:this._spacing);if(c){s+=t+n}else{i+=t+n}}}}(function(e){function t(e){return B.stretchProperty.get(e)}e.getStretch=t;function n(e,t){B.stretchProperty.set(e,t)}e.setStretch=n})(N||(N={}));var B;(function(e){e.stretchProperty=new h.AttachedProperty({name:"stretch",create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:o});function t(e){let t=new j;t.sizeHint=Math.floor(e);return t}e.createSizer=t;function n(e){let t=e.createHandle();t.style.position="absolute";t.style.contain="style";return t}e.createHandle=n;function i(e){return e.reduce(((e,t)=>e+t.size),0)/e.length||0}e.averageSize=i;function s(e){let t=e.length;if(t===0){return[]}let n=e.reduce(((e,t)=>e+Math.abs(t)),0);return n===0?e.map((e=>1/t)):e.map((e=>e/n))}e.normalize=s;function o(e){if(e.parent&&e.parent.layout instanceof N){e.parent.fit()}}})(B||(B={}));class O extends N{constructor(e){super({...e,orientation:e.orientation||"vertical"});this._titles=[];this.titleSpace=e.titleSpace||22}get titleSpace(){return this.widgetOffset}set titleSpace(e){e=R.clampDimension(e);if(this.widgetOffset===e){return}this.widgetOffset=e;if(!this.parent){return}this.parent.fit()}get titles(){return this._titles}dispose(){if(this.isDisposed){return}this._titles.length=0;super.dispose()}updateTitle(e,t){const n=this._titles[e];const i=n.classList.contains("lm-mod-expanded");const s=F.createTitle(this.renderer,t.title,i);this._titles[e]=s;this.parent.node.replaceChild(s,n)}insertWidget(e,t){if(!t.id){t.id=`id-${o.UUID.uuid4()}`}super.insertWidget(e,t)}attachWidget(e,t){const n=F.createTitle(this.renderer,t.title);i.ArrayExt.insert(this._titles,e,n);this.parent.node.appendChild(n);t.node.setAttribute("role","region");t.node.setAttribute("aria-labelledby",n.id);super.attachWidget(e,t)}moveWidget(e,t,n){i.ArrayExt.move(this._titles,e,t);super.moveWidget(e,t,n)}detachWidget(e,t){const n=i.ArrayExt.removeAt(this._titles,e);this.parent.node.removeChild(n);super.detachWidget(e,t)}updateItemPosition(e,t,n,i,s,o,r){const a=this._titles[e].style;a.top=`${i}px`;a.left=`${n}px`;a.height=`${this.widgetOffset}px`;if(t){a.width=`${s}px`}else{a.width=`${o}px`}super.updateItemPosition(e,t,n,i,s,o,r)}}var F;(function(e){function t(e,t,n=true){const i=e.createSectionTitle(t);i.style.position="absolute";i.style.contain="strict";i.setAttribute("aria-label",`${t.label} Section`);i.setAttribute("aria-expanded",n?"true":"false");i.setAttribute("aria-controls",t.owner.id);if(n){i.classList.add("lm-mod-expanded")}return i}e.createTitle=t})(F||(F={}));class z extends T{constructor(e={}){super();this.addClass("lm-Panel");this.layout=W.createLayout(e)}get widgets(){return this.layout.widgets}addWidget(e){this.layout.addWidget(e)}insertWidget(e,t){this.layout.insertWidget(e,t)}}var W;(function(e){function t(e){return e.layout||new P}e.createLayout=t})(W||(W={}));class H extends z{constructor(e={}){super({layout:V.createLayout(e)});this._handleMoved=new p.Signal(this);this._pressData=null;this.addClass("lm-SplitPanel")}dispose(){this._releaseMouse();super.dispose()}get orientation(){return this.layout.orientation}set orientation(e){this.layout.orientation=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get renderer(){return this.layout.renderer}get handleMoved(){return this._handleMoved}get handles(){return this.layout.handles}relativeSizes(){return this.layout.relativeSizes()}setRelativeSizes(e,t=true){this.layout.setRelativeSizes(e,t)}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault();e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener("pointerdown",this)}onAfterDetach(e){this.node.removeEventListener("pointerdown",this);this._releaseMouse()}onChildAdded(e){e.child.addClass("lm-SplitPanel-child");this._releaseMouse()}onChildRemoved(e){e.child.removeClass("lm-SplitPanel-child");this._releaseMouse()}_evtKeyDown(e){if(this._pressData){e.preventDefault();e.stopPropagation()}if(e.keyCode===27){this._releaseMouse()}}_evtPointerDown(e){if(e.button!==0){return}let t=this.layout;let n=i.ArrayExt.findFirstIndex(t.handles,(t=>t.contains(e.target)));if(n===-1){return}e.preventDefault();e.stopPropagation();document.addEventListener("pointerup",this,true);document.addEventListener("pointermove",this,true);document.addEventListener("keydown",this,true);document.addEventListener("contextmenu",this,true);let s;let o=t.handles[n];let r=o.getBoundingClientRect();if(t.orientation==="horizontal"){s=e.clientX-r.left}else{s=e.clientY-r.top}let a=window.getComputedStyle(o);let l=g.Drag.overrideCursor(a.cursor);this._pressData={index:n,delta:s,override:l}}_evtPointerMove(e){e.preventDefault();e.stopPropagation();let t;let n=this.layout;let i=this.node.getBoundingClientRect();if(n.orientation==="horizontal"){t=e.clientX-i.left-this._pressData.delta}else{t=e.clientY-i.top-this._pressData.delta}n.moveHandle(this._pressData.index,t)}_evtPointerUp(e){if(e.button!==0){return}e.preventDefault();e.stopPropagation();this._releaseMouse()}_releaseMouse(){if(!this._pressData){return}this._pressData.override.dispose();this._pressData=null;this._handleMoved.emit();document.removeEventListener("keydown",this,true);document.removeEventListener("pointerup",this,true);document.removeEventListener("pointermove",this,true);document.removeEventListener("contextmenu",this,true)}}(function(e){class t{createHandle(){let e=document.createElement("div");e.className="lm-SplitPanel-handle";return e}}e.Renderer=t;e.defaultRenderer=new t;function n(e){return N.getStretch(e)}e.getStretch=n;function i(e,t){N.setStretch(e,t)}e.setStretch=i})(H||(H={}));var V;(function(e){function t(e){return e.layout||new N({renderer:e.renderer||H.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing})}e.createLayout=t})(V||(V={}));class U extends H{constructor(e={}){super({...e,layout:q.createLayout(e)});this._widgetSizesCache=new WeakMap;this._expansionToggled=new p.Signal(this);this.addClass("lm-AccordionPanel")}get renderer(){return this.layout.renderer}get titleSpace(){return this.layout.titleSpace}set titleSpace(e){this.layout.titleSpace=e}get titles(){return this.layout.titles}get expansionToggled(){return this._expansionToggled}addWidget(e){super.addWidget(e);e.title.changed.connect(this._onTitleChanged,this)}collapse(e){const t=this.layout.widgets[e];if(t&&!t.isHidden){this._toggleExpansion(e)}}expand(e){const t=this.layout.widgets[e];if(t&&t.isHidden){this._toggleExpansion(e)}}insertWidget(e,t){super.insertWidget(e,t);t.title.changed.connect(this._onTitleChanged,this)}handleEvent(e){super.handleEvent(e);switch(e.type){case"click":this._evtClick(e);break;case"keydown":this._eventKeyDown(e);break}}onBeforeAttach(e){this.node.addEventListener("click",this);this.node.addEventListener("keydown",this);super.onBeforeAttach(e)}onAfterDetach(e){super.onAfterDetach(e);this.node.removeEventListener("click",this);this.node.removeEventListener("keydown",this)}_onTitleChanged(e){const t=i.ArrayExt.findFirstIndex(this.widgets,(t=>t.contains(e.owner)));if(t>=0){this.layout.updateTitle(t,e.owner);this.update()}}_computeWidgetSize(e){const t=this.layout;const n=t.widgets[e];if(!n){return undefined}const i=n.isHidden;const s=t.absoluteSizes();const o=(i?-1:1)*this.spacing;const r=s.reduce(((e,t)=>e+t));let a=[...s];if(!i){const t=s[e];this._widgetSizesCache.set(n,t);a[e]=0;const i=a.map((e=>e>0)).lastIndexOf(true);if(i===-1){return undefined}a[i]=s[i]+t+o}else{const t=this._widgetSizesCache.get(n);if(!t){return undefined}a[e]+=t;const i=a.map((e=>e-t>0)).lastIndexOf(true);if(i===-1){a.forEach(((n,i)=>{if(i!==e){a[i]-=s[i]/r*(t-o)}}))}else{a[i]-=t-o}}return a.map((e=>e/(r+o)))}_evtClick(e){const t=e.target;if(t){const n=i.ArrayExt.findFirstIndex(this.titles,(e=>e.contains(t)));if(n>=0){e.preventDefault();e.stopPropagation();this._toggleExpansion(n)}}}_eventKeyDown(e){if(e.defaultPrevented){return}const t=e.target;let n=false;if(t){const s=i.ArrayExt.findFirstIndex(this.titles,(e=>e.contains(t)));if(s>=0){const i=e.keyCode.toString();if(e.key.match(/Space|Enter/)||i.match(/13|32/)){t.click();n=true}else if(this.orientation==="horizontal"?e.key.match(/ArrowLeft|ArrowRight/)||i.match(/37|39/):e.key.match(/ArrowUp|ArrowDown/)||i.match(/38|40/)){const t=e.key.match(/ArrowLeft|ArrowUp/)||i.match(/37|38/)?-1:1;const o=this.titles.length;const r=(s+o+t)%o;this.titles[r].focus();n=true}else if(e.key==="End"||i==="35"){this.titles[this.titles.length-1].focus();n=true}else if(e.key==="Home"||i==="36"){this.titles[0].focus();n=true}}if(n){e.preventDefault()}}}_toggleExpansion(e){const t=this.titles[e];const n=this.layout.widgets[e];const i=this._computeWidgetSize(e);if(i){this.setRelativeSizes(i,false)}if(n.isHidden){t.classList.add("lm-mod-expanded");t.setAttribute("aria-expanded","true");n.show()}else{t.classList.remove("lm-mod-expanded");t.setAttribute("aria-expanded","false");n.hide()}this._expansionToggled.emit(e)}}(function(e){class t extends H.Renderer{constructor(){super();this.titleClassName="lm-AccordionPanel-title";this._titleID=0;this._titleKeys=new WeakMap;this._uuid=++t._nInstance}createCollapseIcon(e){return document.createElement("span")}createSectionTitle(e){const t=document.createElement("h3");t.setAttribute("tabindex","0");t.id=this.createTitleKey(e);t.className=this.titleClassName;for(const s in e.dataset){t.dataset[s]=e.dataset[s]}const n=t.appendChild(this.createCollapseIcon(e));n.className="lm-AccordionPanel-titleCollapser";const i=t.appendChild(document.createElement("span"));i.className="lm-AccordionPanel-titleLabel";i.textContent=e.label;i.title=e.caption||e.label;return t}createTitleKey(e){let t=this._titleKeys.get(e);if(t===undefined){t=`title-key-${this._uuid}-${this._titleID++}`;this._titleKeys.set(e,t)}return t}}t._nInstance=0;e.Renderer=t;e.defaultRenderer=new t})(U||(U={}));var q;(function(e){function t(e){return e.layout||new O({renderer:e.renderer||U.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing,titleSpace:e.titleSpace})}e.createLayout=t})(q||(q={}));class $ extends P{constructor(e={}){super();this._fixed=0;this._spacing=4;this._dirty=false;this._sizers=[];this._items=[];this._box=null;this._alignment="start";this._direction="top-to-bottom";if(e.direction!==undefined){this._direction=e.direction}if(e.alignment!==undefined){this._alignment=e.alignment}if(e.spacing!==undefined){this._spacing=R.clampDimension(e.spacing)}}dispose(){for(const e of this._items){e.dispose()}this._box=null;this._items.length=0;this._sizers.length=0;super.dispose()}get direction(){return this._direction}set direction(e){if(this._direction===e){return}this._direction=e;if(!this.parent){return}this.parent.dataset["direction"]=e;this.parent.fit()}get alignment(){return this._alignment}set alignment(e){if(this._alignment===e){return}this._alignment=e;if(!this.parent){return}this.parent.dataset["alignment"]=e;this.parent.update()}get spacing(){return this._spacing}set spacing(e){e=R.clampDimension(e);if(this._spacing===e){return}this._spacing=e;if(!this.parent){return}this.parent.fit()}init(){this.parent.dataset["direction"]=this.direction;this.parent.dataset["alignment"]=this.alignment;super.init()}attachWidget(e,t){i.ArrayExt.insert(this._items,e,new D(t));i.ArrayExt.insert(this._sizers,e,new j);if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.BeforeAttach)}this.parent.node.appendChild(t.node);if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.AfterAttach)}this.parent.fit()}moveWidget(e,t,n){i.ArrayExt.move(this._items,e,t);i.ArrayExt.move(this._sizers,e,t);this.parent.update()}detachWidget(e,t){let n=i.ArrayExt.removeAt(this._items,e);i.ArrayExt.removeAt(this._sizers,e);if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.BeforeDetach)}this.parent.node.removeChild(t.node);if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.AfterDetach)}n.dispose();this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e);this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e);this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){if(this.parent.isVisible){this._update(e.width,e.height)}}onUpdateRequest(e){if(this.parent.isVisible){this._update(-1,-1)}}onFitRequest(e){if(this.parent.isAttached){this._fit()}}_fit(){let e=0;for(let r=0,a=this._items.length;r<a;++r){e+=+!this._items[r].isHidden}this._fixed=this._spacing*Math.max(0,e-1);let t=K.isHorizontal(this._direction);let n=t?this._fixed:0;let i=t?0:this._fixed;for(let r=0,a=this._items.length;r<a;++r){let e=this._items[r];let s=this._sizers[r];if(e.isHidden){s.minSize=0;s.maxSize=0;continue}e.fit();s.sizeHint=$.getSizeBasis(e.widget);s.stretch=$.getStretch(e.widget);if(t){s.minSize=e.minWidth;s.maxSize=e.maxWidth;n+=e.minWidth;i=Math.max(i,e.minHeight)}else{s.minSize=e.minHeight;s.maxSize=e.maxHeight;i+=e.minHeight;n=Math.max(n,e.minWidth)}}let s=this._box=a.ElementExt.boxSizing(this.parent.node);n+=s.horizontalSum;i+=s.verticalSum;let o=this.parent.node.style;o.minWidth=`${n}px`;o.minHeight=`${i}px`;this._dirty=true;if(this.parent.parent){d.MessageLoop.sendMessage(this.parent.parent,T.Msg.FitRequest)}if(this._dirty){d.MessageLoop.sendMessage(this.parent,T.Msg.UpdateRequest)}}_update(e,t){this._dirty=false;let n=0;for(let a=0,h=this._items.length;a<h;++a){n+=+!this._items[a].isHidden}if(n===0){return}if(e<0){e=this.parent.node.offsetWidth}if(t<0){t=this.parent.node.offsetHeight}if(!this._box){this._box=a.ElementExt.boxSizing(this.parent.node)}let i=this._box.paddingTop;let s=this._box.paddingLeft;let o=e-this._box.horizontalSum;let r=t-this._box.verticalSum;let l;switch(this._direction){case"left-to-right":l=k.calc(this._sizers,Math.max(0,o-this._fixed));break;case"top-to-bottom":l=k.calc(this._sizers,Math.max(0,r-this._fixed));break;case"right-to-left":l=k.calc(this._sizers,Math.max(0,o-this._fixed));s+=o;break;case"bottom-to-top":l=k.calc(this._sizers,Math.max(0,r-this._fixed));i+=r;break;default:throw"unreachable"}let d=0;let c=0;if(l>0){switch(this._alignment){case"start":break;case"center":d=0;c=l/2;break;case"end":d=0;c=l;break;case"justify":d=l/n;c=0;break;default:throw"unreachable"}}for(let a=0,h=this._items.length;a<h;++a){let e=this._items[a];if(e.isHidden){continue}let t=this._sizers[a].size;switch(this._direction){case"left-to-right":e.update(s+c,i,t+d,r);s+=t+d+this._spacing;break;case"top-to-bottom":e.update(s,i+c,o,t+d);i+=t+d+this._spacing;break;case"right-to-left":e.update(s-c-t-d,i,t+d,r);s-=t+d+this._spacing;break;case"bottom-to-top":e.update(s,i-c-t-d,o,t+d);i-=t+d+this._spacing;break;default:throw"unreachable"}}}}(function(e){function t(e){return K.stretchProperty.get(e)}e.getStretch=t;function n(e,t){K.stretchProperty.set(e,t)}e.setStretch=n;function i(e){return K.sizeBasisProperty.get(e)}e.getSizeBasis=i;function s(e,t){K.sizeBasisProperty.set(e,t)}e.setSizeBasis=s})($||($={}));var K;(function(e){e.stretchProperty=new h.AttachedProperty({name:"stretch",create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:i});e.sizeBasisProperty=new h.AttachedProperty({name:"sizeBasis",create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:i});function t(e){return e==="left-to-right"||e==="right-to-left"}e.isHorizontal=t;function n(e){return Math.max(0,Math.floor(e))}e.clampSpacing=n;function i(e){if(e.parent&&e.parent.layout instanceof $){e.parent.fit()}}})(K||(K={}));class J extends z{constructor(e={}){super({layout:G.createLayout(e)});this.addClass("lm-BoxPanel")}get direction(){return this.layout.direction}set direction(e){this.layout.direction=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}onChildAdded(e){e.child.addClass("lm-BoxPanel-child")}onChildRemoved(e){e.child.removeClass("lm-BoxPanel-child")}}(function(e){function t(e){return $.getStretch(e)}e.getStretch=t;function n(e,t){$.setStretch(e,t)}e.setStretch=n;function i(e){return $.getSizeBasis(e)}e.getSizeBasis=i;function s(e,t){$.setSizeBasis(e,t)}e.setSizeBasis=s})(J||(J={}));var G;(function(e){function t(e){return e.layout||new $(e)}e.createLayout=t})(G||(G={}));class Y extends T{constructor(e){super({node:X.createNode()});this._activeIndex=-1;this._items=[];this._results=null;this.addClass("lm-CommandPalette");this.setFlag(T.Flag.DisallowLayout);this.commands=e.commands;this.renderer=e.renderer||Y.defaultRenderer;this.commands.commandChanged.connect(this._onGenericChange,this);this.commands.keyBindingChanged.connect(this._onGenericChange,this)}dispose(){this._items.length=0;this._results=null;super.dispose()}get searchNode(){return this.node.getElementsByClassName("lm-CommandPalette-search")[0]}get inputNode(){return this.node.getElementsByClassName("lm-CommandPalette-input")[0]}get contentNode(){return this.node.getElementsByClassName("lm-CommandPalette-content")[0]}get items(){return this._items}addItem(e){let t=X.createItem(this.commands,e);this._items.push(t);this.refresh();return t}addItems(e){const t=e.map((e=>X.createItem(this.commands,e)));t.forEach((e=>this._items.push(e)));this.refresh();return t}removeItem(e){this.removeItemAt(this._items.indexOf(e))}removeItemAt(e){let t=i.ArrayExt.removeAt(this._items,e);if(!t){return}this.refresh()}clearItems(){if(this._items.length===0){return}this._items.length=0;this.refresh()}refresh(){this._results=null;if(this.inputNode.value!==""){let e=this.node.getElementsByClassName("lm-close-icon")[0];e.style.display="inherit"}else{let e=this.node.getElementsByClassName("lm-close-icon")[0];e.style.display="none"}this.update()}handleEvent(e){switch(e.type){case"click":this._evtClick(e);break;case"keydown":this._evtKeyDown(e);break;case"input":this.refresh();break;case"focus":case"blur":this._toggleFocused();break}}onBeforeAttach(e){this.node.addEventListener("click",this);this.node.addEventListener("keydown",this);this.node.addEventListener("input",this);this.node.addEventListener("focus",this,true);this.node.addEventListener("blur",this,true)}onAfterDetach(e){this.node.removeEventListener("click",this);this.node.removeEventListener("keydown",this);this.node.removeEventListener("input",this);this.node.removeEventListener("focus",this,true);this.node.removeEventListener("blur",this,true)}onAfterShow(e){this.update();super.onAfterShow(e)}onActivateRequest(e){if(this.isAttached){let e=this.inputNode;e.focus();e.select()}}onUpdateRequest(e){if(!this.isVisible){b.VirtualDOM.render(null,this.contentNode);return}let t=this.inputNode.value;let n=this.contentNode;let s=this._results;if(!s){s=this._results=X.search(this._items,t);this._activeIndex=t?i.ArrayExt.findFirstIndex(s,X.canActivate):-1}if(!t&&s.length===0){b.VirtualDOM.render(null,n);return}if(t&&s.length===0){let e=this.renderer.renderEmptyMessage({query:t});b.VirtualDOM.render(e,n);return}let o=this.renderer;let r=this._activeIndex;let l=new Array(s.length);for(let i=0,a=s.length;i<a;++i){let e=s[i];if(e.type==="header"){let t=e.indices;let n=e.category;l[i]=o.renderHeader({category:n,indices:t})}else{let t=e.item;let n=e.indices;let s=i===r;l[i]=o.renderItem({item:t,indices:n,active:s})}}b.VirtualDOM.render(l,n);if(r<0||r>=s.length){n.scrollTop=0}else{let e=n.children[r];a.ElementExt.scrollIntoViewIfNeeded(n,e)}}_evtClick(e){if(e.button!==0){return}if(e.target.classList.contains("lm-close-icon")){this.inputNode.value="";this.refresh();return}let t=i.ArrayExt.findFirstIndex(this.contentNode.children,(t=>t.contains(e.target)));if(t===-1){return}e.preventDefault();e.stopPropagation();this._execute(t)}_evtKeyDown(e){if(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey){return}switch(e.keyCode){case 13:e.preventDefault();e.stopPropagation();this._execute(this._activeIndex);break;case 38:e.preventDefault();e.stopPropagation();this._activatePreviousItem();break;case 40:e.preventDefault();e.stopPropagation();this._activateNextItem();break}}_activateNextItem(){if(!this._results||this._results.length===0){return}let e=this._activeIndex;let t=this._results.length;let n=e<t-1?e+1:0;let s=n===0?t-1:n-1;this._activeIndex=i.ArrayExt.findFirstIndex(this._results,X.canActivate,n,s);this.update()}_activatePreviousItem(){if(!this._results||this._results.length===0){return}let e=this._activeIndex;let t=this._results.length;let n=e<=0?t-1:e-1;let s=n===t-1?0:n+1;this._activeIndex=i.ArrayExt.findLastIndex(this._results,X.canActivate,n,s);this.update()}_execute(e){if(!this._results){return}let t=this._results[e];if(!t){return}if(t.type==="header"){let e=this.inputNode;e.value=`${t.category.toLowerCase()} `;e.focus();this.refresh();return}if(!t.item.isEnabled){return}this.commands.execute(t.item.command,t.item.args);this.inputNode.value="";this.refresh()}_toggleFocused(){let e=document.activeElement===this.inputNode;this.toggleClass("lm-mod-focused",e)}_onGenericChange(){this.refresh()}}(function(e){class t{renderHeader(e){let t=this.formatHeader(e);return b.h.li({className:"lm-CommandPalette-header"},t)}renderItem(e){let t=this.createItemClass(e);let n=this.createItemDataset(e);if(e.item.isToggleable){return b.h.li({className:t,dataset:n,role:"menuitemcheckbox","aria-checked":`${e.item.isToggled}`},this.renderItemIcon(e),this.renderItemContent(e),this.renderItemShortcut(e))}return b.h.li({className:t,dataset:n,role:"menuitem"},this.renderItemIcon(e),this.renderItemContent(e),this.renderItemShortcut(e))}renderEmptyMessage(e){let t=this.formatEmptyMessage(e);return b.h.li({className:"lm-CommandPalette-emptyMessage"},t)}renderItemIcon(e){let t=this.createIconClass(e);return b.h.div({className:t},e.item.icon,e.item.iconLabel)}renderItemContent(e){return b.h.div({className:"lm-CommandPalette-itemContent"},this.renderItemLabel(e),this.renderItemCaption(e))}renderItemLabel(e){let t=this.formatItemLabel(e);return b.h.div({className:"lm-CommandPalette-itemLabel"},t)}renderItemCaption(e){let t=this.formatItemCaption(e);return b.h.div({className:"lm-CommandPalette-itemCaption"},t)}renderItemShortcut(e){let t=this.formatItemShortcut(e);return b.h.div({className:"lm-CommandPalette-itemShortcut"},t)}createItemClass(e){let t="lm-CommandPalette-item";if(!e.item.isEnabled){t+=" lm-mod-disabled"}if(e.item.isToggled){t+=" lm-mod-toggled"}if(e.active){t+=" lm-mod-active"}let n=e.item.className;if(n){t+=` ${n}`}return t}createItemDataset(e){return{...e.item.dataset,command:e.item.command}}createIconClass(e){let t="lm-CommandPalette-itemIcon";let n=e.item.iconClass;return n?`${t} ${n}`:t}formatHeader(e){if(!e.indices||e.indices.length===0){return e.category}return i.StringExt.highlight(e.category,e.indices,b.h.mark)}formatEmptyMessage(e){return`No commands found that match '${e.query}'`}formatItemShortcut(e){let t=e.item.keyBinding;return t?v.CommandRegistry.formatKeystroke(t.keys):null}formatItemLabel(e){if(!e.indices||e.indices.length===0){return e.item.label}return i.StringExt.highlight(e.item.label,e.indices,b.h.mark)}formatItemCaption(e){return e.item.caption}}e.Renderer=t;e.defaultRenderer=new t})(Y||(Y={}));var X;(function(e){function t(){let e=document.createElement("div");let t=document.createElement("div");let n=document.createElement("div");let i=document.createElement("input");let s=document.createElement("ul");let o=document.createElement("button");t.className="lm-CommandPalette-search";n.className="lm-CommandPalette-wrapper";i.className="lm-CommandPalette-input";o.className="lm-close-icon";s.className="lm-CommandPalette-content";s.setAttribute("role","menu");i.spellcheck=false;n.appendChild(i);n.appendChild(o);t.appendChild(n);e.appendChild(t);e.appendChild(s);return e}e.createNode=t;function n(e,t){return new p(e,t)}e.createItem=n;function s(e,t){let n=d(e,t);n.sort(h);return u(n)}e.search=s;function r(e){return e.type==="item"&&e.item.isEnabled}e.canActivate=r;function a(e){return e.trim().replace(/\s+/g," ")}function l(e){return e.replace(/\s+/g,"").toLowerCase()}function d(e,t){t=l(t);let n=[];for(let i=0,s=e.length;i<s;++i){let s=e[i];if(!s.isVisible){continue}if(!t){n.push({matchType:3,categoryIndices:null,labelIndices:null,score:0,item:s});continue}let o=c(s,t);if(!o){continue}if(!s.isEnabled){o.score+=1e3}n.push(o)}return n}function c(e,t){let n=e.category.toLowerCase();let s=e.label.toLowerCase();let o=`${n} ${s}`;let r=Infinity;let a=null;let l=/\b\w/g;while(true){let e=l.exec(o);if(!e){break}let n=i.StringExt.matchSumOfDeltas(o,t,e.index);if(!n){break}if(n.score<=r){r=n.score;a=n.indices}}if(!a||r===Infinity){return null}let d=n.length+1;let c=i.ArrayExt.lowerBound(a,d,((e,t)=>e-t));let h=a.slice(0,c);let u=a.slice(c);for(let i=0,p=u.length;i<p;++i){u[i]-=d}if(h.length===0){return{matchType:0,categoryIndices:null,labelIndices:u,score:r,item:e}}if(u.length===0){return{matchType:1,categoryIndices:h,labelIndices:null,score:r,item:e}}return{matchType:2,categoryIndices:h,labelIndices:u,score:r,item:e}}function h(e,t){let n=e.matchType-t.matchType;if(n!==0){return n}let i=e.score-t.score;if(i!==0){return i}let s=0;let o=0;switch(e.matchType){case 0:s=e.labelIndices[0];o=t.labelIndices[0];break;case 1:case 2:s=e.categoryIndices[0];o=t.categoryIndices[0];break}if(s!==o){return s-o}let r=e.item.category.localeCompare(t.item.category);if(r!==0){return r}let a=e.item.rank;let l=t.item.rank;if(a!==l){return a<l?-1:1}return e.item.label.localeCompare(t.item.label)}function u(e){let t=[];for(let n=0,i=e.length;n<i;++n){let{item:i,categoryIndices:s,labelIndices:o}=e[n];let r=i.category;if(n===0||r!==e[n-1].item.category){t.push({type:"header",category:r,indices:s})}t.push({type:"item",item:i,indices:o})}return t}class p{constructor(e,t){this._commands=e;this.category=a(t.category);this.command=t.command;this.args=t.args||o.JSONExt.emptyObject;this.rank=t.rank!==undefined?t.rank:Infinity}get label(){return this._commands.label(this.command,this.args)}get icon(){return this._commands.icon(this.command,this.args)}get iconClass(){return this._commands.iconClass(this.command,this.args)}get iconLabel(){return this._commands.iconLabel(this.command,this.args)}get caption(){return this._commands.caption(this.command,this.args)}get className(){return this._commands.className(this.command,this.args)}get dataset(){return this._commands.dataset(this.command,this.args)}get isEnabled(){return this._commands.isEnabled(this.command,this.args)}get isToggled(){return this._commands.isToggled(this.command,this.args)}get isToggleable(){return this._commands.isToggleable(this.command,this.args)}get isVisible(){return this._commands.isVisible(this.command,this.args)}get keyBinding(){let{command:e,args:t}=this;return i.ArrayExt.findLastValue(this._commands.keyBindings,(n=>n.command===e&&o.JSONExt.deepEqual(n.args,t)))||null}}})(X||(X={}));class Q extends T{constructor(e){super({node:Z.createNode()});this._childIndex=-1;this._activeIndex=-1;this._openTimerID=0;this._closeTimerID=0;this._items=[];this._childMenu=null;this._parentMenu=null;this._aboutToClose=new p.Signal(this);this._menuRequested=new p.Signal(this);this.addClass("lm-Menu");this.setFlag(T.Flag.DisallowLayout);this.commands=e.commands;this.renderer=e.renderer||Q.defaultRenderer}dispose(){this.close();this._items.length=0;super.dispose()}get aboutToClose(){return this._aboutToClose}get menuRequested(){return this._menuRequested}get parentMenu(){return this._parentMenu}get childMenu(){return this._childMenu}get rootMenu(){let e=this;while(e._parentMenu){e=e._parentMenu}return e}get leafMenu(){let e=this;while(e._childMenu){e=e._childMenu}return e}get contentNode(){return this.node.getElementsByClassName("lm-Menu-content")[0]}get activeItem(){return this._items[this._activeIndex]||null}set activeItem(e){this.activeIndex=e?this._items.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){if(e<0||e>=this._items.length){e=-1}if(e!==-1&&!Z.canActivate(this._items[e])){e=-1}if(this._activeIndex===e){return}this._activeIndex=e;if(this._activeIndex>=0&&this.contentNode.childNodes[this._activeIndex]){this.contentNode.childNodes[this._activeIndex].focus()}this.update()}get items(){return this._items}activateNextItem(){let e=this._items.length;let t=this._activeIndex;let n=t<e-1?t+1:0;let s=n===0?e-1:n-1;this.activeIndex=i.ArrayExt.findFirstIndex(this._items,Z.canActivate,n,s)}activatePreviousItem(){let e=this._items.length;let t=this._activeIndex;let n=t<=0?e-1:t-1;let s=n===e-1?0:n+1;this.activeIndex=i.ArrayExt.findLastIndex(this._items,Z.canActivate,n,s)}triggerActiveItem(){if(!this.isAttached){return}let e=this.activeItem;if(!e){return}this._cancelOpenTimer();this._cancelCloseTimer();if(e.type==="submenu"){this._openChildMenu(true);return}this.rootMenu.close();let{command:t,args:n}=e;if(this.commands.isEnabled(t,n)){this.commands.execute(t,n)}else{console.log(`Command '${t}' is disabled.`)}}addItem(e){return this.insertItem(this._items.length,e)}insertItem(e,t){if(this.isAttached){this.close()}this.activeIndex=-1;let n=Math.max(0,Math.min(e,this._items.length));let s=Z.createItem(this,t);i.ArrayExt.insert(this._items,n,s);this.update();return s}removeItem(e){this.removeItemAt(this._items.indexOf(e))}removeItemAt(e){if(this.isAttached){this.close()}this.activeIndex=-1;let t=i.ArrayExt.removeAt(this._items,e);if(!t){return}this.update()}clearItems(){if(this.isAttached){this.close()}this.activeIndex=-1;if(this._items.length===0){return}this._items.length=0;this.update()}open(e,t,n={}){var i,s,o;if(this.isAttached){return}let r=n.forceX||false;let a=n.forceY||false;const l=(i=n.host)!==null&&i!==void 0?i:null;const d=(s=n.ref)!==null&&s!==void 0?s:null;const c=(o=n.horizontalAlignment)!==null&&o!==void 0?o:document.documentElement.dir==="rtl"?"right":"left";Z.openRootMenu(this,e,t,r,a,c,l,d);this.activate()}handleEvent(e){switch(e.type){case"keydown":this._evtKeyDown(e);break;case"mouseup":this._evtMouseUp(e);break;case"mousemove":this._evtMouseMove(e);break;case"mouseenter":this._evtMouseEnter(e);break;case"mouseleave":this._evtMouseLeave(e);break;case"mousedown":this._evtMouseDown(e);break;case"contextmenu":e.preventDefault();e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener("keydown",this);this.node.addEventListener("mouseup",this);this.node.addEventListener("mousemove",this);this.node.addEventListener("mouseenter",this);this.node.addEventListener("mouseleave",this);this.node.addEventListener("contextmenu",this);document.addEventListener("mousedown",this,true)}onAfterDetach(e){this.node.removeEventListener("keydown",this);this.node.removeEventListener("mouseup",this);this.node.removeEventListener("mousemove",this);this.node.removeEventListener("mouseenter",this);this.node.removeEventListener("mouseleave",this);this.node.removeEventListener("contextmenu",this);document.removeEventListener("mousedown",this,true)}onActivateRequest(e){if(this.isAttached){this.node.focus()}}onUpdateRequest(e){let t=this._items;let n=this.renderer;let i=this._activeIndex;let s=Z.computeCollapsed(t);let o=new Array(t.length);for(let r=0,a=t.length;r<a;++r){let e=t[r];let a=r===i;let l=s[r];o[r]=n.renderItem({item:e,active:a,collapsed:l,onfocus:()=>{this.activeIndex=r}})}b.VirtualDOM.render(o,this.contentNode)}onCloseRequest(e){this._cancelOpenTimer();this._cancelCloseTimer();this.activeIndex=-1;let t=this._childMenu;if(t){this._childIndex=-1;this._childMenu=null;t._parentMenu=null;t.close()}let n=this._parentMenu;if(n){this._parentMenu=null;n._childIndex=-1;n._childMenu=null;n.activate()}if(this.isAttached){this._aboutToClose.emit(undefined)}super.onCloseRequest(e)}_evtKeyDown(e){e.preventDefault();e.stopPropagation();let t=e.keyCode;if(t===13){this.triggerActiveItem();return}if(t===27){this.close();return}if(t===37){if(this._parentMenu){this.close()}else{this._menuRequested.emit("previous")}return}if(t===38){this.activatePreviousItem();return}if(t===39){let e=this.activeItem;if(e&&e.type==="submenu"){this.triggerActiveItem()}else{this.rootMenu._menuRequested.emit("next")}return}if(t===40){this.activateNextItem();return}let n=(0,x.getKeyboardLayout)().keyForKeydownEvent(e);if(!n){return}let i=this._activeIndex+1;let s=Z.findMnemonic(this._items,n,i);if(s.index!==-1&&!s.multiple){this.activeIndex=s.index;this.triggerActiveItem()}else if(s.index!==-1){this.activeIndex=s.index}else if(s.auto!==-1){this.activeIndex=s.auto}}_evtMouseUp(e){if(e.button!==0){return}e.preventDefault();e.stopPropagation();this.triggerActiveItem()}_evtMouseMove(e){let t=i.ArrayExt.findFirstIndex(this.contentNode.children,(t=>a.ElementExt.hitTest(t,e.clientX,e.clientY)));if(t===this._activeIndex){return}this.activeIndex=t;t=this.activeIndex;if(t===this._childIndex){this._cancelOpenTimer();this._cancelCloseTimer();return}if(this._childIndex!==-1){this._startCloseTimer()}this._cancelOpenTimer();let n=this.activeItem;if(!n||n.type!=="submenu"||!n.submenu){return}this._startOpenTimer()}_evtMouseEnter(e){for(let t=this._parentMenu;t;t=t._parentMenu){t._cancelOpenTimer();t._cancelCloseTimer();t.activeIndex=t._childIndex}}_evtMouseLeave(e){this._cancelOpenTimer();if(!this._childMenu){this.activeIndex=-1;return}let{clientX:t,clientY:n}=e;if(a.ElementExt.hitTest(this._childMenu.node,t,n)){this._cancelCloseTimer();return}this.activeIndex=-1;this._startCloseTimer()}_evtMouseDown(e){if(this._parentMenu){return}if(Z.hitTestMenus(this,e.clientX,e.clientY)){e.preventDefault();e.stopPropagation()}else{this.close()}}_openChildMenu(e=false){let t=this.activeItem;if(!t||t.type!=="submenu"||!t.submenu){this._closeChildMenu();return}let n=t.submenu;if(n===this._childMenu){return}Q.saveWindowData();this._closeChildMenu();this._childMenu=n;this._childIndex=this._activeIndex;n._parentMenu=this;d.MessageLoop.sendMessage(this,T.Msg.UpdateRequest);let i=this.contentNode.children[this._activeIndex];Z.openSubmenu(n,i);if(e){n.activeIndex=-1;n.activateNextItem()}n.activate()}_closeChildMenu(){if(this._childMenu){this._childMenu.close()}}_startOpenTimer(){if(this._openTimerID===0){this._openTimerID=window.setTimeout((()=>{this._openTimerID=0;this._openChildMenu()}),Z.TIMER_DELAY)}}_startCloseTimer(){if(this._closeTimerID===0){this._closeTimerID=window.setTimeout((()=>{this._closeTimerID=0;this._closeChildMenu()}),Z.TIMER_DELAY)}}_cancelOpenTimer(){if(this._openTimerID!==0){clearTimeout(this._openTimerID);this._openTimerID=0}}_cancelCloseTimer(){if(this._closeTimerID!==0){clearTimeout(this._closeTimerID);this._closeTimerID=0}}static saveWindowData(){Z.saveWindowData()}}(function(e){class t{renderItem(e){let t=this.createItemClass(e);let n=this.createItemDataset(e);let i=this.createItemARIA(e);return b.h.li({className:t,dataset:n,tabindex:"0",onfocus:e.onfocus,...i},this.renderIcon(e),this.renderLabel(e),this.renderShortcut(e),this.renderSubmenu(e))}renderIcon(e){let t=this.createIconClass(e);return b.h.div({className:t},e.item.icon,e.item.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return b.h.div({className:"lm-Menu-itemLabel"},t)}renderShortcut(e){let t=this.formatShortcut(e);return b.h.div({className:"lm-Menu-itemShortcut"},t)}renderSubmenu(e){return b.h.div({className:"lm-Menu-itemSubmenuIcon"})}createItemClass(e){let t="lm-Menu-item";if(!e.item.isEnabled){t+=" lm-mod-disabled"}if(e.item.isToggled){t+=" lm-mod-toggled"}if(!e.item.isVisible){t+=" lm-mod-hidden"}if(e.active){t+=" lm-mod-active"}if(e.collapsed){t+=" lm-mod-collapsed"}let n=e.item.className;if(n){t+=` ${n}`}return t}createItemDataset(e){let t;let{type:n,command:i,dataset:s}=e.item;if(n==="command"){t={...s,type:n,command:i}}else{t={...s,type:n}}return t}createIconClass(e){let t="lm-Menu-itemIcon";let n=e.item.iconClass;return n?`${t} ${n}`:t}createItemARIA(e){let t={};switch(e.item.type){case"separator":t.role="presentation";break;case"submenu":t["aria-haspopup"]="true";if(!e.item.isEnabled){t["aria-disabled"]="true"}break;default:if(!e.item.isEnabled){t["aria-disabled"]="true"}if(e.item.isToggled){t.role="menuitemcheckbox";t["aria-checked"]="true"}else{t.role="menuitem"}}return t}formatLabel(e){let{label:t,mnemonic:n}=e.item;if(n<0||n>=t.length){return t}let i=t.slice(0,n);let s=t.slice(n+1);let o=t[n];let r=b.h.span({className:"lm-Menu-itemMnemonic"},o);return[i,r,s]}formatShortcut(e){let t=e.item.keyBinding;return t?v.CommandRegistry.formatKeystroke(t.keys):null}}e.Renderer=t;e.defaultRenderer=new t})(Q||(Q={}));var Z;(function(e){e.TIMER_DELAY=300;e.SUBMENU_OVERLAP=3;let t=null;let n=0;function s(){if(n>0){n--;return t}return m()}function r(){t=m();n++}e.saveWindowData=r;function l(){let e=document.createElement("div");let t=document.createElement("ul");t.className="lm-Menu-content";e.appendChild(t);t.setAttribute("role","menu");e.tabIndex=0;return e}e.createNode=l;function c(e){return e.type!=="separator"&&e.isEnabled&&e.isVisible}e.canActivate=c;function h(e,t){return new _(e.commands,t)}e.createItem=h;function u(e,t,n){for(let i=e;i;i=i.childMenu){if(a.ElementExt.hitTest(i.node,t,n)){return true}}return false}e.hitTestMenus=u;function p(e){let t=new Array(e.length);i.ArrayExt.fill(t,false);let n=0;let s=e.length;for(;n<s;++n){let i=e[n];if(!i.isVisible){continue}if(i.type!=="separator"){break}t[n]=true}let o=s-1;for(;o>=0;--o){let n=e[o];if(!n.isVisible){continue}if(n.type!=="separator"){break}t[o]=true}let r=false;while(++n<o){let i=e[n];if(!i.isVisible){continue}if(i.type!=="separator"){r=false}else if(r){t[n]=true}else{r=true}}return t}e.computeCollapsed=p;function m(){return{pageXOffset:window.pageXOffset,pageYOffset:window.pageYOffset,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight}}function g(e,t,n,i,o,r,a,l){const c=s();let h=c.pageXOffset;let u=c.pageYOffset;let p=c.clientWidth;let m=c.clientHeight;d.MessageLoop.sendMessage(e,T.Msg.UpdateRequest);let g=m-(o?n:0);let f=e.node;let v=f.style;v.opacity="0";v.maxHeight=`${g}px`;T.attach(e,a||document.body,l);let{width:_,height:b}=f.getBoundingClientRect();if(r==="right"){t-=_}if(!i&&t+_>h+p){t=h+p-_}if(!o&&n+b>u+m){if(n>u+m){n=u+m-b}else{n=n-b}}v.transform=`translate(${Math.max(0,t)}px, ${Math.max(0,n)}px`;v.opacity="1"}e.openRootMenu=g;function f(t,n){const i=s();let o=i.pageXOffset;let r=i.pageYOffset;let l=i.clientWidth;let c=i.clientHeight;d.MessageLoop.sendMessage(t,T.Msg.UpdateRequest);let h=c;let u=t.node;let p=u.style;p.opacity="0";p.maxHeight=`${h}px`;T.attach(t,document.body);let{width:m,height:g}=u.getBoundingClientRect();let f=a.ElementExt.boxSizing(t.node);let v=n.getBoundingClientRect();let _=v.right-e.SUBMENU_OVERLAP;if(_+m>o+l){_=v.left+e.SUBMENU_OVERLAP-m}let b=v.top-f.borderTop-f.paddingTop;if(b+g>r+c){b=v.bottom+f.borderBottom+f.paddingBottom-g}p.transform=`translate(${Math.max(0,_)}px, ${Math.max(0,b)}px`;p.opacity="1"}e.openSubmenu=f;function v(e,t,n){let i=-1;let s=-1;let o=false;let r=t.toUpperCase();for(let a=0,l=e.length;a<l;++a){let t=(a+n)%l;let d=e[t];if(!c(d)){continue}let h=d.label;if(h.length===0){continue}let u=d.mnemonic;if(u>=0&&u<h.length){if(h[u].toUpperCase()===r){if(i===-1){i=t}else{o=true}}continue}if(s===-1&&h[0].toUpperCase()===r){s=t}}return{index:i,multiple:o,auto:s}}e.findMnemonic=v;class _{constructor(e,t){this._commands=e;this.type=t.type||"command";this.command=t.command||"";this.args=t.args||o.JSONExt.emptyObject;this.submenu=t.submenu||null}get label(){if(this.type==="command"){return this._commands.label(this.command,this.args)}if(this.type==="submenu"&&this.submenu){return this.submenu.title.label}return""}get mnemonic(){if(this.type==="command"){return this._commands.mnemonic(this.command,this.args)}if(this.type==="submenu"&&this.submenu){return this.submenu.title.mnemonic}return-1}get icon(){if(this.type==="command"){return this._commands.icon(this.command,this.args)}if(this.type==="submenu"&&this.submenu){return this.submenu.title.icon}return undefined}get iconClass(){if(this.type==="command"){return this._commands.iconClass(this.command,this.args)}if(this.type==="submenu"&&this.submenu){return this.submenu.title.iconClass}return""}get iconLabel(){if(this.type==="command"){return this._commands.iconLabel(this.command,this.args)}if(this.type==="submenu"&&this.submenu){return this.submenu.title.iconLabel}return""}get caption(){if(this.type==="command"){return this._commands.caption(this.command,this.args)}if(this.type==="submenu"&&this.submenu){return this.submenu.title.caption}return""}get className(){if(this.type==="command"){return this._commands.className(this.command,this.args)}if(this.type==="submenu"&&this.submenu){return this.submenu.title.className}return""}get dataset(){if(this.type==="command"){return this._commands.dataset(this.command,this.args)}if(this.type==="submenu"&&this.submenu){return this.submenu.title.dataset}return{}}get isEnabled(){if(this.type==="command"){return this._commands.isEnabled(this.command,this.args)}if(this.type==="submenu"){return this.submenu!==null}return true}get isToggled(){if(this.type==="command"){return this._commands.isToggled(this.command,this.args)}return false}get isVisible(){if(this.type==="command"){return this._commands.isVisible(this.command,this.args)}if(this.type==="submenu"){return this.submenu!==null}return true}get keyBinding(){if(this.type==="command"){let{command:e,args:t}=this;return i.ArrayExt.findLastValue(this._commands.keyBindings,(n=>n.command===e&&o.JSONExt.deepEqual(n.args,t)))||null}return null}}})(Z||(Z={}));class ee{constructor(e){this._groupByTarget=true;this._idTick=0;this._items=[];this._sortBySelector=true;const{groupByTarget:t,sortBySelector:n,...i}=e;this.menu=new Q(i);this._groupByTarget=t!==false;this._sortBySelector=n!==false}addItem(e){let t=te.createItem(e,this._idTick++);this._items.push(t);return new w.DisposableDelegate((()=>{i.ArrayExt.removeFirstOf(this._items,t)}))}open(e){Q.saveWindowData();this.menu.clearItems();if(this._items.length===0){return false}let t=te.matchItems(this._items,e,this._groupByTarget,this._sortBySelector);if(!t||t.length===0){return false}for(const n of t){this.menu.addItem(n)}this.menu.open(e.clientX,e.clientY);return true}}var te;(function(e){function t(e,t){let n=i(e.selector);let s=e.rank!==undefined?e.rank:Infinity;return{...e,selector:n,rank:s,id:t}}e.createItem=t;function n(e,t,n,i){let r=t.target;if(!r){return null}let l=t.currentTarget;if(!l){return null}if(!l.contains(r)){r=document.elementFromPoint(t.clientX,t.clientY);if(!r||!l.contains(r)){return null}}let d=[];let c=e.slice();while(r!==null){let e=[];for(let t=0,n=c.length;t<n;++t){let n=c[t];if(!n){continue}if(!a.Selector.matches(r,n.selector)){continue}e.push(n);c[t]=null}if(e.length!==0){if(n){e.sort(i?o:s)}d.push(...e)}if(r===l){break}r=r.parentElement}if(!n){d.sort(i?o:s)}return d}e.matchItems=n;function i(e){if(e.indexOf(",")!==-1){throw new Error(`Selector cannot contain commas: ${e}`)}if(!a.Selector.isValid(e)){throw new Error(`Invalid selector: ${e}`)}return e}function s(e,t){let n=e.rank;let i=t.rank;if(n!==i){return n<i?-1:1}return e.id-t.id}function o(e,t){let n=a.Selector.calculateSpecificity(e.selector);let i=a.Selector.calculateSpecificity(t.selector);if(n!==i){return i-n}return s(e,t)}})(te||(te={}));const ne=["ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Home","End"];class ie extends T{constructor(e={}){super({node:se.createNode()});this._currentIndex=-1;this._titles=[];this._titlesEditable=false;this._previousTitle=null;this._dragData=null;this._addButtonEnabled=false;this._tabMoved=new p.Signal(this);this._currentChanged=new p.Signal(this);this._addRequested=new p.Signal(this);this._tabCloseRequested=new p.Signal(this);this._tabDetachRequested=new p.Signal(this);this._tabActivateRequested=new p.Signal(this);this.addClass("lm-TabBar");this.contentNode.setAttribute("role","tablist");this.setFlag(T.Flag.DisallowLayout);this._document=e.document||document;this.tabsMovable=e.tabsMovable||false;this.titlesEditable=e.titlesEditable||false;this.allowDeselect=e.allowDeselect||false;this.addButtonEnabled=e.addButtonEnabled||false;this.insertBehavior=e.insertBehavior||"select-tab-if-needed";this.name=e.name||"";this.orientation=e.orientation||"horizontal";this.removeBehavior=e.removeBehavior||"select-tab-after";this.renderer=e.renderer||ie.defaultRenderer}dispose(){this._releaseMouse();this._titles.length=0;this._previousTitle=null;super.dispose()}get currentChanged(){return this._currentChanged}get tabMoved(){return this._tabMoved}get tabActivateRequested(){return this._tabActivateRequested}get addRequested(){return this._addRequested}get tabCloseRequested(){return this._tabCloseRequested}get tabDetachRequested(){return this._tabDetachRequested}get document(){return this._document}get titlesEditable(){return this._titlesEditable}set titlesEditable(e){this._titlesEditable=e}get currentTitle(){return this._titles[this._currentIndex]||null}set currentTitle(e){this.currentIndex=e?this._titles.indexOf(e):-1}get currentIndex(){return this._currentIndex}set currentIndex(e){if(e<0||e>=this._titles.length){e=-1}if(this._currentIndex===e){return}let t=this._currentIndex;let n=this._titles[t]||null;let i=e;let s=this._titles[i]||null;this._currentIndex=i;this._previousTitle=n;this.update();this._currentChanged.emit({previousIndex:t,previousTitle:n,currentIndex:i,currentTitle:s})}get name(){return this._name}set name(e){this._name=e;if(e){this.contentNode.setAttribute("aria-label",e)}else{this.contentNode.removeAttribute("aria-label")}}get orientation(){return this._orientation}set orientation(e){if(this._orientation===e){return}this._releaseMouse();this._orientation=e;this.dataset["orientation"]=e;this.contentNode.setAttribute("aria-orientation",e)}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){if(this._addButtonEnabled===e){return}this._addButtonEnabled=e;if(e){this.addButtonNode.classList.remove("lm-mod-hidden")}else{this.addButtonNode.classList.add("lm-mod-hidden")}}get titles(){return this._titles}get contentNode(){return this.node.getElementsByClassName("lm-TabBar-content")[0]}get addButtonNode(){return this.node.getElementsByClassName("lm-TabBar-addButton")[0]}addTab(e){return this.insertTab(this._titles.length,e)}insertTab(e,t){this._releaseMouse();let n=se.asTitle(t);let s=this._titles.indexOf(n);let o=Math.max(0,Math.min(e,this._titles.length));if(s===-1){i.ArrayExt.insert(this._titles,o,n);n.changed.connect(this._onTitleChanged,this);this.update();this._adjustCurrentForInsert(o,n);return n}if(o===this._titles.length){o--}if(s===o){return n}i.ArrayExt.move(this._titles,s,o);this.update();this._adjustCurrentForMove(s,o);return n}removeTab(e){this.removeTabAt(this._titles.indexOf(e))}removeTabAt(e){this._releaseMouse();let t=i.ArrayExt.removeAt(this._titles,e);if(!t){return}t.changed.disconnect(this._onTitleChanged,this);if(t===this._previousTitle){this._previousTitle=null}this.update();this._adjustCurrentForRemove(e,t)}clearTabs(){if(this._titles.length===0){return}this._releaseMouse();for(let n of this._titles){n.changed.disconnect(this._onTitleChanged,this)}let e=this.currentIndex;let t=this.currentTitle;this._currentIndex=-1;this._previousTitle=null;this._titles.length=0;this.update();if(e===-1){return}this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}releaseMouse(){this._releaseMouse()}handleEvent(e){switch(e.type){case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"dblclick":this._evtDblClick(e);break;case"keydown":e.eventPhase===Event.CAPTURING_PHASE?this._evtKeyDownCapturing(e):this._evtKeyDown(e);break;case"contextmenu":e.preventDefault();e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener("pointerdown",this);this.node.addEventListener("dblclick",this);this.node.addEventListener("keydown",this)}onAfterDetach(e){this.node.removeEventListener("pointerdown",this);this.node.removeEventListener("dblclick",this);this.node.removeEventListener("keydown",this);this._releaseMouse()}onUpdateRequest(e){var t;let n=this._titles;let i=this.renderer;let s=this.currentTitle;let o=new Array(n.length);const r=(t=this._getCurrentTabindex())!==null&&t!==void 0?t:this._currentIndex>-1?this._currentIndex:0;for(let a=0,l=n.length;a<l;++a){let e=n[a];let t=e===s;let d=t?l:l-a-1;let c=r===a?0:-1;o[a]=i.renderTab({title:e,current:t,zIndex:d,tabIndex:c})}b.VirtualDOM.render(o,this.contentNode)}_getCurrentTabindex(){let e=null;const t=this.contentNode.querySelector('li[tabindex="0"]');if(t){e=[...this.contentNode.children].indexOf(t)}else if(this._addButtonEnabled&&this.addButtonNode.getAttribute("tabindex")==="0"){e=-1}return e}_evtDblClick(e){if(!this.titlesEditable){return}let t=this.contentNode.children;let n=i.ArrayExt.findFirstIndex(t,(t=>a.ElementExt.hitTest(t,e.clientX,e.clientY)));if(n===-1){return}let s=this.titles[n];let o=t[n].querySelector(".lm-TabBar-tabLabel");if(o&&o.contains(e.target)){let e=s.label||"";let t=o.innerHTML;o.innerHTML="";let n=document.createElement("input");n.classList.add("lm-TabBar-tabInput");n.value=e;o.appendChild(n);let i=()=>{n.removeEventListener("blur",i);o.innerHTML=t;this.node.addEventListener("keydown",this)};n.addEventListener("dblclick",(e=>e.stopPropagation()));n.addEventListener("blur",i);n.addEventListener("keydown",(e=>{if(e.key==="Enter"){if(n.value!==""){s.label=s.caption=n.value}i()}else if(e.key==="Escape"){i()}}));this.node.removeEventListener("keydown",this);n.select();n.focus();if(o.children.length>0){o.children[0].focus()}}}_evtKeyDownCapturing(e){if(e.eventPhase!==Event.CAPTURING_PHASE){return}e.preventDefault();e.stopPropagation();if(e.key==="Escape"){this._releaseMouse()}}_evtKeyDown(e){var t,n,s;if(e.key==="Tab"||e.eventPhase===Event.CAPTURING_PHASE){return}if(e.key==="Enter"||e.key==="Spacebar"||e.key===" "){const t=document.activeElement;if(this.addButtonEnabled&&this.addButtonNode.contains(t)){e.preventDefault();e.stopPropagation();this._addRequested.emit()}else{const n=i.ArrayExt.findFirstIndex(this.contentNode.children,(e=>e.contains(t)));if(n>=0){e.preventDefault();e.stopPropagation();this.currentIndex=n}}}else if(ne.includes(e.key)){const i=[...this.contentNode.children];if(this.addButtonEnabled){i.push(this.addButtonNode)}if(i.length<=1){return}e.preventDefault();e.stopPropagation();let o=i.indexOf(document.activeElement);if(o===-1){o=this._currentIndex}let r;if(e.key==="ArrowRight"&&this._orientation==="horizontal"||e.key==="ArrowDown"&&this._orientation==="vertical"){r=(t=i[o+1])!==null&&t!==void 0?t:i[0]}else if(e.key==="ArrowLeft"&&this._orientation==="horizontal"||e.key==="ArrowUp"&&this._orientation==="vertical"){r=(n=i[o-1])!==null&&n!==void 0?n:i[i.length-1]}else if(e.key==="Home"){r=i[0]}else if(e.key==="End"){r=i[i.length-1]}if(r){(s=i[o])===null||s===void 0?void 0:s.setAttribute("tabindex","-1");r===null||r===void 0?void 0:r.setAttribute("tabindex","0");r.focus()}}}_evtPointerDown(e){if(e.button!==0&&e.button!==1){return}if(this._dragData){return}if(e.target.classList.contains("lm-TabBar-tabInput")){return}let t=this.addButtonEnabled&&this.addButtonNode.contains(e.target);let n=this.contentNode.children;let s=i.ArrayExt.findFirstIndex(n,(t=>a.ElementExt.hitTest(t,e.clientX,e.clientY)));if(s===-1&&!t){return}e.preventDefault();e.stopPropagation();this._dragData={tab:n[s],index:s,pressX:e.clientX,pressY:e.clientY,tabPos:-1,tabSize:-1,tabPressPos:-1,targetIndex:-1,tabLayout:null,contentRect:null,override:null,dragActive:false,dragAborted:false,detachRequested:false};this.document.addEventListener("pointerup",this,true);if(e.button===1||t){return}let o=n[s].querySelector(this.renderer.closeIconSelector);if(o&&o.contains(e.target)){return}if(this.tabsMovable){this.document.addEventListener("pointermove",this,true);this.document.addEventListener("keydown",this,true);this.document.addEventListener("contextmenu",this,true)}if(this.allowDeselect&&this.currentIndex===s){this.currentIndex=-1}else{this.currentIndex=s}if(this.currentIndex===-1){return}this._tabActivateRequested.emit({index:this.currentIndex,title:this.currentTitle})}_evtPointerMove(e){let t=this._dragData;if(!t){return}e.preventDefault();e.stopPropagation();let n=this.contentNode.children;if(!t.dragActive&&!se.dragExceeded(t,e)){return}if(!t.dragActive){let e=t.tab.getBoundingClientRect();if(this._orientation==="horizontal"){t.tabPos=t.tab.offsetLeft;t.tabSize=e.width;t.tabPressPos=t.pressX-e.left}else{t.tabPos=t.tab.offsetTop;t.tabSize=e.height;t.tabPressPos=t.pressY-e.top}t.tabPressOffset={x:t.pressX-e.left,y:t.pressY-e.top};t.tabLayout=se.snapTabLayout(n,this._orientation);t.contentRect=this.contentNode.getBoundingClientRect();t.override=g.Drag.overrideCursor("default");t.tab.classList.add("lm-mod-dragging");this.addClass("lm-mod-dragging");t.dragActive=true}if(!t.detachRequested&&se.detachExceeded(t,e)){t.detachRequested=true;let i=t.index;let s=e.clientX;let o=e.clientY;let r=n[i];let a=this._titles[i];this._tabDetachRequested.emit({index:i,title:a,tab:r,clientX:s,clientY:o,offset:t.tabPressOffset});if(t.dragAborted){return}}se.layoutTabs(n,t,e,this._orientation)}_evtPointerUp(e){if(e.button!==0&&e.button!==1){return}const t=this._dragData;if(!t){return}e.preventDefault();e.stopPropagation();this.document.removeEventListener("pointermove",this,true);this.document.removeEventListener("pointerup",this,true);this.document.removeEventListener("keydown",this,true);this.document.removeEventListener("contextmenu",this,true);if(!t.dragActive){this._dragData=null;let n=this.addButtonEnabled&&this.addButtonNode.contains(e.target);if(n){this._addRequested.emit(undefined);return}let s=this.contentNode.children;let o=i.ArrayExt.findFirstIndex(s,(t=>a.ElementExt.hitTest(t,e.clientX,e.clientY)));if(o!==t.index){return}let r=this._titles[o];if(!r.closable){return}if(e.button===1){this._tabCloseRequested.emit({index:o,title:r});return}let l=s[o].querySelector(this.renderer.closeIconSelector);if(l&&l.contains(e.target)){this._tabCloseRequested.emit({index:o,title:r});return}return}if(e.button!==0){return}se.finalizeTabPosition(t,this._orientation);t.tab.classList.remove("lm-mod-dragging");let n=se.parseTransitionDuration(t.tab);setTimeout((()=>{if(t.dragAborted){return}this._dragData=null;se.resetTabPositions(this.contentNode.children,this._orientation);t.override.dispose();this.removeClass("lm-mod-dragging");let e=t.index;let n=t.targetIndex;if(n===-1||e===n){return}i.ArrayExt.move(this._titles,e,n);this._adjustCurrentForMove(e,n);this._tabMoved.emit({fromIndex:e,toIndex:n,title:this._titles[n]});d.MessageLoop.sendMessage(this,T.Msg.UpdateRequest)}),n)}_releaseMouse(){let e=this._dragData;if(!e){return}this._dragData=null;this.document.removeEventListener("pointermove",this,true);this.document.removeEventListener("pointerup",this,true);this.document.removeEventListener("keydown",this,true);this.document.removeEventListener("contextmenu",this,true);e.dragAborted=true;if(!e.dragActive){return}se.resetTabPositions(this.contentNode.children,this._orientation);e.override.dispose();e.tab.classList.remove("lm-mod-dragging");this.removeClass("lm-mod-dragging")}_adjustCurrentForInsert(e,t){let n=this.currentTitle;let i=this._currentIndex;let s=this.insertBehavior;if(s==="select-tab"||s==="select-tab-if-needed"&&i===-1){this._currentIndex=e;this._previousTitle=n;this._currentChanged.emit({previousIndex:i,previousTitle:n,currentIndex:e,currentTitle:t});return}if(i>=e){this._currentIndex++}}_adjustCurrentForMove(e,t){if(this._currentIndex===e){this._currentIndex=t}else if(this._currentIndex<e&&this._currentIndex>=t){this._currentIndex++}else if(this._currentIndex>e&&this._currentIndex<=t){this._currentIndex--}}_adjustCurrentForRemove(e,t){let n=this._currentIndex;let i=this.removeBehavior;if(n!==e){if(n>e){this._currentIndex--}return}if(this._titles.length===0){this._currentIndex=-1;this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null});return}if(i==="select-tab-after"){this._currentIndex=Math.min(e,this._titles.length-1);this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if(i==="select-tab-before"){this._currentIndex=Math.max(0,e-1);this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if(i==="select-previous-tab"){if(this._previousTitle){this._currentIndex=this._titles.indexOf(this._previousTitle);this._previousTitle=null}else{this._currentIndex=Math.min(e,this._titles.length-1)}this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}this._currentIndex=-1;this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}_onTitleChanged(e){this.update()}}(function(e){class t{constructor(){this.closeIconSelector=".lm-TabBar-tabCloseIcon";this._tabID=0;this._tabKeys=new WeakMap;this._uuid=++t._nInstance}renderTab(e){let t=e.title.caption;let n=this.createTabKey(e);let i=n;let s=this.createTabStyle(e);let o=this.createTabClass(e);let r=this.createTabDataset(e);let a=this.createTabARIA(e);if(e.title.closable){return b.h.li({id:i,key:n,className:o,title:t,style:s,dataset:r,...a},this.renderIcon(e),this.renderLabel(e),this.renderCloseIcon(e))}else{return b.h.li({id:i,key:n,className:o,title:t,style:s,dataset:r,...a},this.renderIcon(e),this.renderLabel(e))}}renderIcon(e){const{title:t}=e;let n=this.createIconClass(e);return b.h.div({className:n},t.icon,t.iconLabel)}renderLabel(e){return b.h.div({className:"lm-TabBar-tabLabel"},e.title.label)}renderCloseIcon(e){return b.h.div({className:"lm-TabBar-tabCloseIcon"})}createTabKey(e){let t=this._tabKeys.get(e.title);if(t===undefined){t=`tab-key-${this._uuid}-${this._tabID++}`;this._tabKeys.set(e.title,t)}return t}createTabStyle(e){return{zIndex:`${e.zIndex}`}}createTabClass(e){let t="lm-TabBar-tab";if(e.title.className){t+=` ${e.title.className}`}if(e.title.closable){t+=" lm-mod-closable"}if(e.current){t+=" lm-mod-current"}return t}createTabDataset(e){return e.title.dataset}createTabARIA(e){var t;return{role:"tab","aria-selected":e.current.toString(),tabindex:`${(t=e.tabIndex)!==null&&t!==void 0?t:"-1"}`}}createIconClass(e){let t="lm-TabBar-tabIcon";let n=e.title.iconClass;return n?`${t} ${n}`:t}}t._nInstance=0;e.Renderer=t;e.defaultRenderer=new t;e.addButtonSelector=".lm-TabBar-addButton"})(ie||(ie={}));var se;(function(e){e.DRAG_THRESHOLD=5;e.DETACH_THRESHOLD=20;function t(){let e=document.createElement("div");let t=document.createElement("ul");t.setAttribute("role","tablist");t.className="lm-TabBar-content";e.appendChild(t);let n=document.createElement("div");n.className="lm-TabBar-addButton lm-mod-hidden";n.setAttribute("tabindex","-1");n.setAttribute("role","button");e.appendChild(n);return e}e.createNode=t;function n(e){return e instanceof I?e:new I(e)}e.asTitle=n;function i(e){let t=window.getComputedStyle(e);return 1e3*(parseFloat(t.transitionDuration)||0)}e.parseTransitionDuration=i;function s(e,t){let n=new Array(e.length);for(let i=0,s=e.length;i<s;++i){let s=e[i];let o=window.getComputedStyle(s);if(t==="horizontal"){n[i]={pos:s.offsetLeft,size:s.offsetWidth,margin:parseFloat(o.marginLeft)||0}}else{n[i]={pos:s.offsetTop,size:s.offsetHeight,margin:parseFloat(o.marginTop)||0}}}return n}e.snapTabLayout=s;function o(t,n){let i=Math.abs(n.clientX-t.pressX);let s=Math.abs(n.clientY-t.pressY);return i>=e.DRAG_THRESHOLD||s>=e.DRAG_THRESHOLD}e.dragExceeded=o;function r(t,n){let i=t.contentRect;return n.clientX<i.left-e.DETACH_THRESHOLD||n.clientX>=i.right+e.DETACH_THRESHOLD||n.clientY<i.top-e.DETACH_THRESHOLD||n.clientY>=i.bottom+e.DETACH_THRESHOLD}e.detachExceeded=r;function a(e,t,n,i){let s;let o;let r;let a;if(i==="horizontal"){s=t.pressX;o=n.clientX-t.contentRect.left;r=n.clientX;a=t.contentRect.width}else{s=t.pressY;o=n.clientY-t.contentRect.top;r=n.clientY;a=t.contentRect.height}let l=t.index;let d=o-t.tabPressPos;let c=d+t.tabSize;for(let h=0,u=e.length;h<u;++h){let n;let o=t.tabLayout[h];let u=o.pos+(o.size>>1);if(h<t.index&&d<u){n=`${t.tabSize+t.tabLayout[h+1].margin}px`;l=Math.min(l,h)}else if(h>t.index&&c>u){n=`${-t.tabSize-o.margin}px`;l=Math.max(l,h)}else if(h===t.index){let e=r-s;let i=a-(t.tabPos+t.tabSize);n=`${Math.max(-t.tabPos,Math.min(e,i))}px`}else{n=""}if(i==="horizontal"){e[h].style.left=n}else{e[h].style.top=n}}t.targetIndex=l}e.layoutTabs=a;function l(e,t){let n;if(t==="horizontal"){n=e.contentRect.width}else{n=e.contentRect.height}let i;if(e.targetIndex===e.index){i=0}else if(e.targetIndex>e.index){let t=e.tabLayout[e.targetIndex];i=t.pos+t.size-e.tabSize-e.tabPos}else{let t=e.tabLayout[e.targetIndex];i=t.pos-e.tabPos}let s=n-(e.tabPos+e.tabSize);let o=Math.max(-e.tabPos,Math.min(i,s));if(t==="horizontal"){e.tab.style.left=`${o}px`}else{e.tab.style.top=`${o}px`}}e.finalizeTabPosition=l;function d(e,t){for(const n of e){if(t==="horizontal"){n.style.left=""}else{n.style.top=""}}}e.resetTabPositions=d})(se||(se={}));class oe extends M{constructor(e){super();this._spacing=4;this._dirty=false;this._root=null;this._box=null;this._items=new Map;this.renderer=e.renderer;if(e.spacing!==undefined){this._spacing=R.clampDimension(e.spacing)}this._document=e.document||document;this._hiddenMode=e.hiddenMode!==undefined?e.hiddenMode:T.HiddenMode.Display}dispose(){let e=this[Symbol.iterator]();this._items.forEach((e=>{e.dispose()}));this._box=null;this._root=null;this._items.clear();for(const t of e){t.dispose()}super.dispose()}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){if(this._hiddenMode===e){return}this._hiddenMode=e;for(const t of this.tabBars()){if(t.titles.length>1){for(const e of t.titles){e.owner.hiddenMode=this._hiddenMode}}}}get spacing(){return this._spacing}set spacing(e){e=R.clampDimension(e);if(this._spacing===e){return}this._spacing=e;if(!this.parent){return}this.parent.fit()}get isEmpty(){return this._root===null}[Symbol.iterator](){return this._root?this._root.iterAllWidgets():(0,i.empty)()}widgets(){return this._root?this._root.iterUserWidgets():(0,i.empty)()}selectedWidgets(){return this._root?this._root.iterSelectedWidgets():(0,i.empty)()}tabBars(){return this._root?this._root.iterTabBars():(0,i.empty)()}handles(){return this._root?this._root.iterHandles():(0,i.empty)()}moveHandle(e,t,n){let i=e.classList.contains("lm-mod-hidden");if(!this._root||i){return}let s=this._root.findSplitNode(e);if(!s){return}let o;if(s.node.orientation==="horizontal"){o=t-e.offsetLeft}else{o=n-e.offsetTop}if(o===0){return}s.node.holdSizes();k.adjust(s.node.sizers,s.index,o);if(this.parent){this.parent.update()}}saveLayout(){if(!this._root){return{main:null}}this._root.holdAllSizes();return{main:this._root.createConfig()}}restoreLayout(e){let t=new Set;let n;if(e.main){n=re.normalizeAreaConfig(e.main,t)}else{n=null}let i=this.widgets();let s=this.tabBars();let o=this.handles();this._root=null;for(const r of i){if(!t.has(r)){r.parent=null}}for(const r of s){r.dispose()}for(const r of o){if(r.parentNode){r.parentNode.removeChild(r)}}for(const r of t){r.parent=this.parent}if(n){this._root=re.realizeAreaConfig(n,{createTabBar:e=>this._createTabBar(),createHandle:()=>this._createHandle()},this._document)}else{this._root=null}if(!this.parent){return}t.forEach((e=>{this.attachWidget(e)}));this.parent.fit()}addWidget(e,t={}){let n=t.ref||null;let i=t.mode||"tab-after";let s=null;if(this._root&&n){s=this._root.findTabNode(n)}if(n&&!s){throw new Error("Reference widget is not in the layout.")}e.parent=this.parent;switch(i){case"tab-after":this._insertTab(e,n,s,true);break;case"tab-before":this._insertTab(e,n,s,false);break;case"split-top":this._insertSplit(e,n,s,"vertical",false);break;case"split-left":this._insertSplit(e,n,s,"horizontal",false);break;case"split-right":this._insertSplit(e,n,s,"horizontal",true);break;case"split-bottom":this._insertSplit(e,n,s,"vertical",true);break;case"merge-top":this._insertSplit(e,n,s,"vertical",false,true);break;case"merge-left":this._insertSplit(e,n,s,"horizontal",false,true);break;case"merge-right":this._insertSplit(e,n,s,"horizontal",true,true);break;case"merge-bottom":this._insertSplit(e,n,s,"vertical",true,true);break}if(!this.parent){return}this.attachWidget(e);this.parent.fit()}removeWidget(e){this._removeWidget(e);if(!this.parent){return}this.detachWidget(e);this.parent.fit()}hitTestTabAreas(e,t){if(!this._root||!this.parent||!this.parent.isVisible){return null}if(!this._box){this._box=a.ElementExt.boxSizing(this.parent.node)}let n=this.parent.node.getBoundingClientRect();let i=e-n.left-this._box.borderLeft;let s=t-n.top-this._box.borderTop;let o=this._root.hitTestTabNodes(i,s);if(!o){return null}let{tabBar:r,top:l,left:d,width:c,height:h}=o;let u=this._box.borderLeft+this._box.borderRight;let p=this._box.borderTop+this._box.borderBottom;let m=n.width-u-(d+c);let g=n.height-p-(l+h);return{tabBar:r,x:i,y:s,top:l,left:d,right:m,bottom:g,width:c,height:h}}init(){super.init();for(const e of this){this.attachWidget(e)}for(const e of this.handles()){this.parent.node.appendChild(e)}this.parent.fit()}attachWidget(e){if(this.parent.node===e.node.parentNode){return}this._items.set(e,new D(e));if(this.parent.isAttached){d.MessageLoop.sendMessage(e,T.Msg.BeforeAttach)}this.parent.node.appendChild(e.node);if(this.parent.isAttached){d.MessageLoop.sendMessage(e,T.Msg.AfterAttach)}}detachWidget(e){if(this.parent.node!==e.node.parentNode){return}if(this.parent.isAttached){d.MessageLoop.sendMessage(e,T.Msg.BeforeDetach)}this.parent.node.removeChild(e.node);if(this.parent.isAttached){d.MessageLoop.sendMessage(e,T.Msg.AfterDetach)}let t=this._items.get(e);if(t){this._items.delete(e);t.dispose()}}onBeforeShow(e){super.onBeforeShow(e);this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e);this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){if(this.parent.isVisible){this._update(e.width,e.height)}}onUpdateRequest(e){if(this.parent.isVisible){this._update(-1,-1)}}onFitRequest(e){if(this.parent.isAttached){this._fit()}}_removeWidget(e){if(!this._root){return}let t=this._root.findTabNode(e);if(!t){return}re.removeAria(e);if(t.tabBar.titles.length>1){t.tabBar.removeTab(e.title);if(this._hiddenMode===T.HiddenMode.Scale&&t.tabBar.titles.length==1){const e=t.tabBar.titles[0].owner;e.hiddenMode=T.HiddenMode.Display}return}t.tabBar.dispose();if(this._root===t){this._root=null;return}this._root.holdAllSizes();let n=t.parent;t.parent=null;let s=i.ArrayExt.removeFirstOf(n.children,t);let o=i.ArrayExt.removeAt(n.handles,s);i.ArrayExt.removeAt(n.sizers,s);if(o.parentNode){o.parentNode.removeChild(o)}if(n.children.length>1){n.syncHandles();return}let r=n.parent;n.parent=null;let a=n.children[0];let l=n.handles[0];n.children.length=0;n.handles.length=0;n.sizers.length=0;if(l.parentNode){l.parentNode.removeChild(l)}if(this._root===n){a.parent=null;this._root=a;return}let d=r;let c=d.children.indexOf(n);if(a instanceof re.TabLayoutNode){a.parent=d;d.children[c]=a;return}let h=i.ArrayExt.removeAt(d.handles,c);i.ArrayExt.removeAt(d.children,c);i.ArrayExt.removeAt(d.sizers,c);if(h.parentNode){h.parentNode.removeChild(h)}for(let u=0,p=a.children.length;u<p;++u){let e=a.children[u];let t=a.handles[u];let n=a.sizers[u];i.ArrayExt.insert(d.children,c+u,e);i.ArrayExt.insert(d.handles,c+u,t);i.ArrayExt.insert(d.sizers,c+u,n);e.parent=d}a.children.length=0;a.handles.length=0;a.sizers.length=0;a.parent=null;d.syncHandles()}_createTabNode(e){let t=new re.TabLayoutNode(this._createTabBar());t.tabBar.addTab(e.title);re.addAria(e,t.tabBar);return t}_insertTab(e,t,n,i){if(e===t){return}if(!this._root){let t=new re.TabLayoutNode(this._createTabBar());t.tabBar.addTab(e.title);this._root=t;re.addAria(e,t.tabBar);return}if(!n){n=this._root.findFirstTabNode()}if(n.tabBar.titles.indexOf(e.title)===-1){this._removeWidget(e);e.hide()}let s;if(t){s=n.tabBar.titles.indexOf(t.title)}else{s=n.tabBar.currentIndex}if(this._hiddenMode===T.HiddenMode.Scale){if(n.tabBar.titles.length===0){e.hiddenMode=T.HiddenMode.Display}else if(n.tabBar.titles.length==1){const e=n.tabBar.titles[0].owner;e.hiddenMode=T.HiddenMode.Scale}else{e.hiddenMode=T.HiddenMode.Scale}}else{e.hiddenMode=this._hiddenMode}n.tabBar.insertTab(s+(i?1:0),e.title);re.addAria(e,n.tabBar)}_insertSplit(e,t,n,s,o,r=false){if(e===t&&n&&n.tabBar.titles.length===1){return}this._removeWidget(e);if(!this._root){this._root=this._createTabNode(e);return}if(!n||!n.parent){let t=this._splitRoot(s);let r=o?t.children.length:0;t.normalizeSizes();let a=re.createSizer(n?1:re.GOLDEN_RATIO);let l=this._createTabNode(e);i.ArrayExt.insert(t.children,r,l);i.ArrayExt.insert(t.sizers,r,a);i.ArrayExt.insert(t.handles,r,this._createHandle());l.parent=t;t.normalizeSizes();t.syncHandles();return}let a=n.parent;if(a.orientation===s){let t=a.children.indexOf(n);if(r){let n=t+(o?1:-1);let i=a.children[n];if(i instanceof re.TabLayoutNode){this._insertTab(e,null,i,true);++i.tabBar.currentIndex;return}}a.normalizeSizes();let s=a.sizers[t].sizeHint/=2;let l=t+(o?1:0);let d=this._createTabNode(e);i.ArrayExt.insert(a.children,l,d);i.ArrayExt.insert(a.sizers,l,re.createSizer(s));i.ArrayExt.insert(a.handles,l,this._createHandle());d.parent=a;a.syncHandles();return}let l=i.ArrayExt.removeFirstOf(a.children,n);let d=new re.SplitLayoutNode(s);d.normalized=true;d.children.push(n);d.sizers.push(re.createSizer(.5));d.handles.push(this._createHandle());n.parent=d;let c=o?1:0;let h=this._createTabNode(e);i.ArrayExt.insert(d.children,c,h);i.ArrayExt.insert(d.sizers,c,re.createSizer(.5));i.ArrayExt.insert(d.handles,c,this._createHandle());h.parent=d;d.syncHandles();i.ArrayExt.insert(a.children,l,d);d.parent=a}_splitRoot(e){let t=this._root;if(t instanceof re.SplitLayoutNode){if(t.orientation===e){return t}}let n=this._root=new re.SplitLayoutNode(e);if(t){n.children.push(t);n.sizers.push(re.createSizer(0));n.handles.push(this._createHandle());t.parent=n}return n}_fit(){let e=0;let t=0;if(this._root){let n=this._root.fit(this._spacing,this._items);e=n.minWidth;t=n.minHeight}let n=this._box=a.ElementExt.boxSizing(this.parent.node);e+=n.horizontalSum;t+=n.verticalSum;let i=this.parent.node.style;i.minWidth=`${e}px`;i.minHeight=`${t}px`;this._dirty=true;if(this.parent.parent){d.MessageLoop.sendMessage(this.parent.parent,T.Msg.FitRequest)}if(this._dirty){d.MessageLoop.sendMessage(this.parent,T.Msg.UpdateRequest)}}_update(e,t){this._dirty=false;if(!this._root){return}if(e<0){e=this.parent.node.offsetWidth}if(t<0){t=this.parent.node.offsetHeight}if(!this._box){this._box=a.ElementExt.boxSizing(this.parent.node)}let n=this._box.paddingTop;let i=this._box.paddingLeft;let s=e-this._box.horizontalSum;let o=t-this._box.verticalSum;this._root.update(n,i,s,o,this._spacing,this._items)}_createTabBar(){let e=this.renderer.createTabBar(this._document);e.orientation="horizontal";if(this.parent){this.attachWidget(e)}return e}_createHandle(){let e=this.renderer.createHandle();let t=e.style;t.position="absolute";t.contain="strict";t.top="0";t.left="0";t.width="0";t.height="0";if(this.parent){this.parent.node.appendChild(e)}return e}}var re;(function(e){e.GOLDEN_RATIO=.618;function t(e){let t=new j;t.sizeHint=e;t.size=e;return t}e.createSizer=t;function n(e,t){let n;if(e.type==="tab-area"){n=l(e,t)}else{n=d(e,t)}return n}e.normalizeAreaConfig=n;function i(e,t,n){let i;if(e.type==="tab-area"){i=c(e,t,n)}else{i=h(e,t,n)}return i}e.realizeAreaConfig=i;class s{constructor(e){this.parent=null;this._top=0;this._left=0;this._width=0;this._height=0;let t=new j;let n=new j;t.stretch=0;n.stretch=1;this.tabBar=e;this.sizers=[t,n]}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}*iterAllWidgets(){yield this.tabBar;yield*this.iterUserWidgets()}*iterUserWidgets(){for(const e of this.tabBar.titles){yield e.owner}}*iterSelectedWidgets(){let e=this.tabBar.currentTitle;if(e){yield e.owner}}*iterTabBars(){yield this.tabBar}*iterHandles(){return}findTabNode(e){return this.tabBar.titles.indexOf(e.title)!==-1?this:null}findSplitNode(e){return null}findFirstTabNode(){return this}hitTestTabNodes(e,t){if(e<this._left||e>=this._left+this._width){return null}if(t<this._top||t>=this._top+this._height){return null}return this}createConfig(){let e=this.tabBar.titles.map((e=>e.owner));let t=this.tabBar.currentIndex;return{type:"tab-area",widgets:e,currentIndex:t}}holdAllSizes(){return}fit(e,t){let n=0;let i=0;let s=Infinity;let o=Infinity;let r=t.get(this.tabBar);let a=this.tabBar.currentTitle;let l=a?t.get(a.owner):undefined;let[d,c]=this.sizers;if(r){r.fit()}if(l){l.fit()}if(r&&!r.isHidden){n=Math.max(n,r.minWidth);i+=r.minHeight;d.minSize=r.minHeight;d.maxSize=r.maxHeight}else{d.minSize=0;d.maxSize=0}if(l&&!l.isHidden){n=Math.max(n,l.minWidth);i+=l.minHeight;c.minSize=l.minHeight;c.maxSize=Infinity}else{c.minSize=0;c.maxSize=Infinity}return{minWidth:n,minHeight:i,maxWidth:s,maxHeight:o}}update(e,t,n,i,s,o){this._top=t;this._left=e;this._width=n;this._height=i;let r=o.get(this.tabBar);let a=this.tabBar.currentTitle;let l=a?o.get(a.owner):undefined;k.calc(this.sizers,i);if(r&&!r.isHidden){let i=this.sizers[0].size;r.update(e,t,n,i);t+=i}if(l&&!l.isHidden){let i=this.sizers[1].size;l.update(e,t,n,i)}}}e.TabLayoutNode=s;class o{constructor(e){this.parent=null;this.normalized=false;this.children=[];this.sizers=[];this.handles=[];this.orientation=e}*iterAllWidgets(){for(const e of this.children){yield*e.iterAllWidgets()}}*iterUserWidgets(){for(const e of this.children){yield*e.iterUserWidgets()}}*iterSelectedWidgets(){for(const e of this.children){yield*e.iterSelectedWidgets()}}*iterTabBars(){for(const e of this.children){yield*e.iterTabBars()}}*iterHandles(){yield*this.handles;for(const e of this.children){yield*e.iterHandles()}}findTabNode(e){for(let t=0,n=this.children.length;t<n;++t){let n=this.children[t].findTabNode(e);if(n){return n}}return null}findSplitNode(e){let t=this.handles.indexOf(e);if(t!==-1){return{index:t,node:this}}for(let n=0,i=this.children.length;n<i;++n){let t=this.children[n].findSplitNode(e);if(t){return t}}return null}findFirstTabNode(){if(this.children.length===0){return null}return this.children[0].findFirstTabNode()}hitTestTabNodes(e,t){for(let n=0,i=this.children.length;n<i;++n){let i=this.children[n].hitTestTabNodes(e,t);if(i){return i}}return null}createConfig(){let e=this.orientation;let t=this.createNormalizedSizes();let n=this.children.map((e=>e.createConfig()));return{type:"split-area",orientation:e,children:n,sizes:t}}syncHandles(){this.handles.forEach(((e,t)=>{e.setAttribute("data-orientation",this.orientation);if(t===this.handles.length-1){e.classList.add("lm-mod-hidden")}else{e.classList.remove("lm-mod-hidden")}}))}holdSizes(){for(const e of this.sizers){e.sizeHint=e.size}}holdAllSizes(){for(const e of this.children){e.holdAllSizes()}this.holdSizes()}normalizeSizes(){let e=this.sizers.length;if(e===0){return}this.holdSizes();let t=this.sizers.reduce(((e,t)=>e+t.sizeHint),0);if(t===0){for(const t of this.sizers){t.size=t.sizeHint=1/e}}else{for(const e of this.sizers){e.size=e.sizeHint/=t}}this.normalized=true}createNormalizedSizes(){let e=this.sizers.length;if(e===0){return[]}let t=this.sizers.map((e=>e.size));let n=t.reduce(((e,t)=>e+t),0);if(n===0){for(let n=t.length-1;n>-1;n--){t[n]=1/e}}else{for(let e=t.length-1;e>-1;e--){t[e]/=n}}return t}fit(e,t){let n=this.orientation==="horizontal";let i=Math.max(0,this.children.length-1)*e;let s=n?i:0;let o=n?0:i;let r=Infinity;let a=Infinity;for(let l=0,d=this.children.length;l<d;++l){let i=this.children[l].fit(e,t);if(n){o=Math.max(o,i.minHeight);s+=i.minWidth;this.sizers[l].minSize=i.minWidth}else{s=Math.max(s,i.minWidth);o+=i.minHeight;this.sizers[l].minSize=i.minHeight}}return{minWidth:s,minHeight:o,maxWidth:r,maxHeight:a}}update(e,t,n,i,s,o){let r=this.orientation==="horizontal";let a=Math.max(0,this.children.length-1)*s;let l=Math.max(0,(r?n:i)-a);if(this.normalized){for(const e of this.sizers){e.sizeHint*=l}this.normalized=false}k.calc(this.sizers,l);for(let d=0,c=this.children.length;d<c;++d){let a=this.children[d];let l=this.sizers[d].size;let c=this.handles[d].style;if(r){a.update(e,t,l,i,s,o);e+=l;c.top=`${t}px`;c.left=`${e}px`;c.width=`${s}px`;c.height=`${i}px`;e+=s}else{a.update(e,t,n,l,s,o);t+=l;c.top=`${t}px`;c.left=`${e}px`;c.width=`${n}px`;c.height=`${s}px`;t+=s}}}}e.SplitLayoutNode=o;function r(e,t){e.node.setAttribute("role","tabpanel");let n=t.renderer;if(n instanceof ie.Renderer){let t=n.createTabKey({title:e.title,current:false,zIndex:0});e.node.setAttribute("aria-labelledby",t)}}e.addAria=r;function a(e){e.node.removeAttribute("role");e.node.removeAttribute("aria-labelledby")}e.removeAria=a;function l(e,t){if(e.widgets.length===0){return null}let n=[];for(const s of e.widgets){if(!t.has(s)){t.add(s);n.push(s)}}if(n.length===0){return null}let i=e.currentIndex;if(i!==-1&&(i<0||i>=n.length)){i=0}return{type:"tab-area",widgets:n,currentIndex:i}}function d(e,t){let i=e.orientation;let s=[];let o=[];for(let r=0,a=e.children.length;r<a;++r){let a=n(e.children[r],t);if(!a){continue}if(a.type==="tab-area"||a.orientation!==i){s.push(a);o.push(Math.abs(e.sizes[r]||0))}else{s.push(...a.children);o.push(...a.sizes)}}if(s.length===0){return null}if(s.length===1){return s[0]}return{type:"split-area",orientation:i,children:s,sizes:o}}function c(t,n,i){let o=n.createTabBar(i);for(const s of t.widgets){s.hide();o.addTab(s.title);e.addAria(s,o)}o.currentIndex=t.currentIndex;return new s(o)}function h(e,n,s){let r=new o(e.orientation);e.children.forEach(((o,a)=>{let l=i(o,n,s);let d=t(e.sizes[a]);let c=n.createHandle();r.children.push(l);r.handles.push(c);r.sizers.push(d);l.parent=r}));r.syncHandles();r.normalizeSizes();return r}})(re||(re={}));class ae extends T{constructor(e={}){super();this._drag=null;this._tabsMovable=true;this._tabsConstrained=false;this._addButtonEnabled=false;this._pressData=null;this._layoutModified=new p.Signal(this);this._addRequested=new p.Signal(this);this.addClass("lm-DockPanel");this._document=e.document||document;this._mode=e.mode||"multiple-document";this._renderer=e.renderer||ae.defaultRenderer;this._edges=e.edges||le.DEFAULT_EDGES;if(e.tabsMovable!==undefined){this._tabsMovable=e.tabsMovable}if(e.tabsConstrained!==undefined){this._tabsConstrained=e.tabsConstrained}if(e.addButtonEnabled!==undefined){this._addButtonEnabled=e.addButtonEnabled}this.dataset["mode"]=this._mode;let t={createTabBar:()=>this._createTabBar(),createHandle:()=>this._createHandle()};this.layout=new oe({document:this._document,renderer:t,spacing:e.spacing,hiddenMode:e.hiddenMode});this.overlay=e.overlay||new ae.Overlay;this.node.appendChild(this.overlay.node)}dispose(){this._releaseMouse();this.overlay.hide(0);if(this._drag){this._drag.dispose()}super.dispose()}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(e){this.layout.hiddenMode=e}get layoutModified(){return this._layoutModified}get addRequested(){return this._addRequested}get renderer(){return this.layout.renderer}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get mode(){return this._mode}set mode(e){if(this._mode===e){return}this._mode=e;this.dataset["mode"]=e;let t=this.layout;switch(e){case"multiple-document":for(const e of t.tabBars()){e.show()}break;case"single-document":t.restoreLayout(le.createSingleDocumentConfig(this));break;default:throw"unreachable"}d.MessageLoop.postMessage(this,le.LayoutModified)}get tabsMovable(){return this._tabsMovable}set tabsMovable(e){this._tabsMovable=e;for(const t of this.tabBars()){t.tabsMovable=e}}get tabsConstrained(){return this._tabsConstrained}set tabsConstrained(e){this._tabsConstrained=e}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled=e;for(const t of this.tabBars()){t.addButtonEnabled=e}}get isEmpty(){return this.layout.isEmpty}*widgets(){yield*this.layout.widgets()}*selectedWidgets(){yield*this.layout.selectedWidgets()}*tabBars(){yield*this.layout.tabBars()}*handles(){yield*this.layout.handles()}selectWidget(e){let t=(0,i.find)(this.tabBars(),(t=>t.titles.indexOf(e.title)!==-1));if(!t){throw new Error("Widget is not contained in the dock panel.")}t.currentTitle=e.title}activateWidget(e){this.selectWidget(e);e.activate()}saveLayout(){return this.layout.saveLayout()}restoreLayout(e){this._mode="multiple-document";this.layout.restoreLayout(e);if(a.Platform.IS_EDGE||a.Platform.IS_IE){d.MessageLoop.flush()}d.MessageLoop.postMessage(this,le.LayoutModified)}addWidget(e,t={}){if(this._mode==="single-document"){this.layout.addWidget(e)}else{this.layout.addWidget(e,t)}d.MessageLoop.postMessage(this,le.LayoutModified)}processMessage(e){if(e.type==="layout-modified"){this._layoutModified.emit(undefined)}else{super.processMessage(e)}}handleEvent(e){switch(e.type){case"lm-dragenter":this._evtDragEnter(e);break;case"lm-dragleave":this._evtDragLeave(e);break;case"lm-dragover":this._evtDragOver(e);break;case"lm-drop":this._evtDrop(e);break;case"pointerdown":this._evtPointerDown(e);break;case"pointermove":this._evtPointerMove(e);break;case"pointerup":this._evtPointerUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault();e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener("lm-dragenter",this);this.node.addEventListener("lm-dragleave",this);this.node.addEventListener("lm-dragover",this);this.node.addEventListener("lm-drop",this);this.node.addEventListener("pointerdown",this)}onAfterDetach(e){this.node.removeEventListener("lm-dragenter",this);this.node.removeEventListener("lm-dragleave",this);this.node.removeEventListener("lm-dragover",this);this.node.removeEventListener("lm-drop",this);this.node.removeEventListener("pointerdown",this);this._releaseMouse()}onChildAdded(e){if(le.isGeneratedTabBarProperty.get(e.child)){return}e.child.addClass("lm-DockPanel-widget")}onChildRemoved(e){if(le.isGeneratedTabBarProperty.get(e.child)){return}e.child.removeClass("lm-DockPanel-widget");d.MessageLoop.postMessage(this,le.LayoutModified)}_evtDragEnter(e){if(e.mimeData.hasData("application/vnd.lumino.widget-factory")){e.preventDefault();e.stopPropagation()}}_evtDragLeave(e){e.preventDefault();if(this._tabsConstrained&&e.source!==this)return;e.stopPropagation();this.overlay.hide(1)}_evtDragOver(e){e.preventDefault();if(this._tabsConstrained&&e.source!==this||this._showOverlay(e.clientX,e.clientY)==="invalid"){e.dropAction="none"}else{e.stopPropagation();e.dropAction=e.proposedAction}}_evtDrop(e){e.preventDefault();this.overlay.hide(0);if(e.proposedAction==="none"){e.dropAction="none";return}let{clientX:t,clientY:n}=e;let{zone:i,target:s}=le.findDropTarget(this,t,n,this._edges);if(this._tabsConstrained&&e.source!==this||i==="invalid"){e.dropAction="none";return}let o=e.mimeData;let r=o.getData("application/vnd.lumino.widget-factory");if(typeof r!=="function"){e.dropAction="none";return}let a=r();if(!(a instanceof T)){e.dropAction="none";return}if(a.contains(this)){e.dropAction="none";return}let l=s?le.getDropRef(s.tabBar):null;switch(i){case"root-all":this.addWidget(a);break;case"root-top":this.addWidget(a,{mode:"split-top"});break;case"root-left":this.addWidget(a,{mode:"split-left"});break;case"root-right":this.addWidget(a,{mode:"split-right"});break;case"root-bottom":this.addWidget(a,{mode:"split-bottom"});break;case"widget-all":this.addWidget(a,{mode:"tab-after",ref:l});break;case"widget-top":this.addWidget(a,{mode:"split-top",ref:l});break;case"widget-left":this.addWidget(a,{mode:"split-left",ref:l});break;case"widget-right":this.addWidget(a,{mode:"split-right",ref:l});break;case"widget-bottom":this.addWidget(a,{mode:"split-bottom",ref:l});break;case"widget-tab":this.addWidget(a,{mode:"tab-after",ref:l});break;default:throw"unreachable"}e.dropAction=e.proposedAction;e.stopPropagation();this.activateWidget(a)}_evtKeyDown(e){e.preventDefault();e.stopPropagation();if(e.keyCode===27){this._releaseMouse();d.MessageLoop.postMessage(this,le.LayoutModified)}}_evtPointerDown(e){if(e.button!==0){return}let t=this.layout;let n=e.target;let s=(0,i.find)(t.handles(),(e=>e.contains(n)));if(!s){return}e.preventDefault();e.stopPropagation();this._document.addEventListener("keydown",this,true);this._document.addEventListener("pointerup",this,true);this._document.addEventListener("pointermove",this,true);this._document.addEventListener("contextmenu",this,true);let o=s.getBoundingClientRect();let r=e.clientX-o.left;let a=e.clientY-o.top;let l=window.getComputedStyle(s);let d=g.Drag.overrideCursor(l.cursor,this._document);this._pressData={handle:s,deltaX:r,deltaY:a,override:d}}_evtPointerMove(e){if(!this._pressData){return}e.preventDefault();e.stopPropagation();let t=this.node.getBoundingClientRect();let n=e.clientX-t.left-this._pressData.deltaX;let i=e.clientY-t.top-this._pressData.deltaY;let s=this.layout;s.moveHandle(this._pressData.handle,n,i)}_evtPointerUp(e){if(e.button!==0){return}e.preventDefault();e.stopPropagation();this._releaseMouse();d.MessageLoop.postMessage(this,le.LayoutModified)}_releaseMouse(){if(!this._pressData){return}this._pressData.override.dispose();this._pressData=null;this._document.removeEventListener("keydown",this,true);this._document.removeEventListener("pointerup",this,true);this._document.removeEventListener("pointermove",this,true);this._document.removeEventListener("contextmenu",this,true)}_showOverlay(e,t){let{zone:n,target:i}=le.findDropTarget(this,e,t,this._edges);if(n==="invalid"){this.overlay.hide(100);return n}let s;let o;let r;let l;let d=a.ElementExt.boxSizing(this.node);let c=this.node.getBoundingClientRect();switch(n){case"root-all":s=d.paddingTop;o=d.paddingLeft;r=d.paddingRight;l=d.paddingBottom;break;case"root-top":s=d.paddingTop;o=d.paddingLeft;r=d.paddingRight;l=c.height*le.GOLDEN_RATIO;break;case"root-left":s=d.paddingTop;o=d.paddingLeft;r=c.width*le.GOLDEN_RATIO;l=d.paddingBottom;break;case"root-right":s=d.paddingTop;o=c.width*le.GOLDEN_RATIO;r=d.paddingRight;l=d.paddingBottom;break;case"root-bottom":s=c.height*le.GOLDEN_RATIO;o=d.paddingLeft;r=d.paddingRight;l=d.paddingBottom;break;case"widget-all":s=i.top;o=i.left;r=i.right;l=i.bottom;break;case"widget-top":s=i.top;o=i.left;r=i.right;l=i.bottom+i.height/2;break;case"widget-left":s=i.top;o=i.left;r=i.right+i.width/2;l=i.bottom;break;case"widget-right":s=i.top;o=i.left+i.width/2;r=i.right;l=i.bottom;break;case"widget-bottom":s=i.top+i.height/2;o=i.left;r=i.right;l=i.bottom;break;case"widget-tab":{const e=i.tabBar.node.getBoundingClientRect().height;s=i.top;o=i.left;r=i.right;l=i.bottom+i.height-e;break}default:throw"unreachable"}this.overlay.show({top:s,left:o,right:r,bottom:l});return n}_createTabBar(){let e=this._renderer.createTabBar(this._document);le.isGeneratedTabBarProperty.set(e,true);if(this._mode==="single-document"){e.hide()}e.tabsMovable=this._tabsMovable;e.allowDeselect=false;e.addButtonEnabled=this._addButtonEnabled;e.removeBehavior="select-previous-tab";e.insertBehavior="select-tab-if-needed";e.tabMoved.connect(this._onTabMoved,this);e.currentChanged.connect(this._onCurrentChanged,this);e.tabCloseRequested.connect(this._onTabCloseRequested,this);e.tabDetachRequested.connect(this._onTabDetachRequested,this);e.tabActivateRequested.connect(this._onTabActivateRequested,this);e.addRequested.connect(this._onTabAddRequested,this);return e}_createHandle(){return this._renderer.createHandle()}_onTabMoved(){d.MessageLoop.postMessage(this,le.LayoutModified)}_onCurrentChanged(e,t){let{previousTitle:n,currentTitle:i}=t;if(n){n.owner.hide()}if(i){i.owner.show()}if(a.Platform.IS_EDGE||a.Platform.IS_IE){d.MessageLoop.flush()}d.MessageLoop.postMessage(this,le.LayoutModified)}_onTabAddRequested(e){this._addRequested.emit(e)}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabDetachRequested(e,t){if(this._drag){return}e.releaseMouse();let{title:n,tab:i,clientX:s,clientY:r,offset:a}=t;let l=new o.MimeData;let d=()=>n.owner;l.setData("application/vnd.lumino.widget-factory",d);let c=i.cloneNode(true);if(a){c.style.top=`-${a.y}px`;c.style.left=`-${a.x}px`}this._drag=new g.Drag({document:this._document,mimeData:l,dragImage:c,proposedAction:"move",supportedActions:"move",source:this});i.classList.add("lm-mod-hidden");let h=()=>{this._drag=null;i.classList.remove("lm-mod-hidden")};this._drag.start(s,r).then(h)}}(function(e){class t{constructor(){this._timer=-1;this._hidden=true;this.node=document.createElement("div");this.node.classList.add("lm-DockPanel-overlay");this.node.classList.add("lm-mod-hidden");this.node.style.position="absolute";this.node.style.contain="strict"}show(e){let t=this.node.style;t.top=`${e.top}px`;t.left=`${e.left}px`;t.right=`${e.right}px`;t.bottom=`${e.bottom}px`;clearTimeout(this._timer);this._timer=-1;if(!this._hidden){return}this._hidden=false;this.node.classList.remove("lm-mod-hidden")}hide(e){if(this._hidden){return}if(e<=0){clearTimeout(this._timer);this._timer=-1;this._hidden=true;this.node.classList.add("lm-mod-hidden");return}if(this._timer!==-1){return}this._timer=window.setTimeout((()=>{this._timer=-1;this._hidden=true;this.node.classList.add("lm-mod-hidden")}),e)}}e.Overlay=t;class n{createTabBar(e){let t=new ie({document:e});t.addClass("lm-DockPanel-tabBar");return t}createHandle(){let e=document.createElement("div");e.className="lm-DockPanel-handle";return e}}e.Renderer=n;e.defaultRenderer=new n})(ae||(ae={}));var le;(function(e){e.GOLDEN_RATIO=.618;e.DEFAULT_EDGES={top:12,right:40,bottom:40,left:40};e.LayoutModified=new d.ConflatableMessage("layout-modified");e.isGeneratedTabBarProperty=new h.AttachedProperty({name:"isGeneratedTabBar",create:()=>false});function t(e){if(e.isEmpty){return{main:null}}let t=Array.from(e.widgets());let n=e.selectedWidgets().next().value;let i=n?t.indexOf(n):-1;return{main:{type:"tab-area",widgets:t,currentIndex:i}}}e.createSingleDocumentConfig=t;function n(e,t,n,i){if(!a.ElementExt.hitTest(e.node,t,n)){return{zone:"invalid",target:null}}let s=e.layout;if(s.isEmpty){return{zone:"root-all",target:null}}if(e.mode==="multiple-document"){let s=e.node.getBoundingClientRect();let o=t-s.left+1;let r=n-s.top+1;let a=s.right-t;let l=s.bottom-n;let d=Math.min(r,a,l,o);switch(d){case r:if(r<i.top){return{zone:"root-top",target:null}}break;case a:if(a<i.right){return{zone:"root-right",target:null}}break;case l:if(l<i.bottom){return{zone:"root-bottom",target:null}}break;case o:if(o<i.left){return{zone:"root-left",target:null}}break;default:throw"unreachable"}}let o=s.hitTestTabAreas(t,n);if(!o){return{zone:"invalid",target:null}}if(e.mode==="single-document"){return{zone:"widget-all",target:o}}let r=o.x-o.left+1;let l=o.y-o.top+1;let d=o.left+o.width-o.x;let c=o.top+o.height-o.y;const h=o.tabBar.node.getBoundingClientRect().height;if(l<h){return{zone:"widget-tab",target:o}}let u=Math.round(o.width/3);let p=Math.round(o.height/3);if(r>u&&d>u&&l>p&&c>p){return{zone:"widget-all",target:o}}r/=u;l/=p;d/=u;c/=p;let m=Math.min(r,l,d,c);let g;switch(m){case r:g="widget-left";break;case l:g="widget-top";break;case d:g="widget-right";break;case c:g="widget-bottom";break;default:throw"unreachable"}return{zone:g,target:o}}e.findDropTarget=n;function i(e){if(e.titles.length===0){return null}if(e.currentTitle){return e.currentTitle.owner}return e.titles[e.titles.length-1].owner}e.getDropRef=i})(le||(le={}));class de{constructor(){this._counter=0;this._widgets=[];this._activeWidget=null;this._currentWidget=null;this._numbers=new Map;this._nodes=new Map;this._activeChanged=new p.Signal(this);this._currentChanged=new p.Signal(this)}dispose(){if(this._counter<0){return}this._counter=-1;p.Signal.clearData(this);for(const e of this._widgets){e.node.removeEventListener("focus",this,true);e.node.removeEventListener("blur",this,true)}this._activeWidget=null;this._currentWidget=null;this._nodes.clear();this._numbers.clear();this._widgets.length=0}get currentChanged(){return this._currentChanged}get activeChanged(){return this._activeChanged}get isDisposed(){return this._counter<0}get currentWidget(){return this._currentWidget}get activeWidget(){return this._activeWidget}get widgets(){return this._widgets}focusNumber(e){let t=this._numbers.get(e);return t===undefined?-1:t}has(e){return this._numbers.has(e)}add(e){if(this._numbers.has(e)){return}let t=e.node.contains(document.activeElement);let n=t?this._counter++:-1;this._widgets.push(e);this._numbers.set(e,n);this._nodes.set(e.node,e);e.node.addEventListener("focus",this,true);e.node.addEventListener("blur",this,true);e.disposed.connect(this._onWidgetDisposed,this);if(t){this._setWidgets(e,e)}}remove(e){if(!this._numbers.has(e)){return}e.disposed.disconnect(this._onWidgetDisposed,this);e.node.removeEventListener("focus",this,true);e.node.removeEventListener("blur",this,true);i.ArrayExt.removeFirstOf(this._widgets,e);this._nodes.delete(e.node);this._numbers.delete(e);if(this._currentWidget!==e){return}let t=this._widgets.filter((e=>this._numbers.get(e)!==-1));let n=(0,i.max)(t,((e,t)=>{let n=this._numbers.get(e);let i=this._numbers.get(t);return n-i}))||null;this._setWidgets(n,null)}handleEvent(e){switch(e.type){case"focus":this._evtFocus(e);break;case"blur":this._evtBlur(e);break}}_setWidgets(e,t){let n=this._currentWidget;this._currentWidget=e;let i=this._activeWidget;this._activeWidget=t;if(n!==e){this._currentChanged.emit({oldValue:n,newValue:e})}if(i!==t){this._activeChanged.emit({oldValue:i,newValue:t})}}_evtFocus(e){let t=this._nodes.get(e.currentTarget);if(t!==this._currentWidget){this._numbers.set(t,this._counter++)}this._setWidgets(t,t)}_evtBlur(e){let t=this._nodes.get(e.currentTarget);let n=e.relatedTarget;if(!n){this._setWidgets(this._currentWidget,null);return}if(t.node.contains(n)){return}if(!(0,i.find)(this._widgets,(e=>e.node.contains(n)))){this._setWidgets(this._currentWidget,null);return}}_onWidgetDisposed(e){this.remove(e)}}class ce extends M{constructor(e={}){super(e);this._dirty=false;this._rowSpacing=4;this._columnSpacing=4;this._items=[];this._rowStarts=[];this._columnStarts=[];this._rowSizers=[new j];this._columnSizers=[new j];this._box=null;if(e.rowCount!==undefined){he.reallocSizers(this._rowSizers,e.rowCount)}if(e.columnCount!==undefined){he.reallocSizers(this._columnSizers,e.columnCount)}if(e.rowSpacing!==undefined){this._rowSpacing=he.clampValue(e.rowSpacing)}if(e.columnSpacing!==undefined){this._columnSpacing=he.clampValue(e.columnSpacing)}}dispose(){for(const e of this._items){let t=e.widget;e.dispose();t.dispose()}this._box=null;this._items.length=0;this._rowStarts.length=0;this._rowSizers.length=0;this._columnStarts.length=0;this._columnSizers.length=0;super.dispose()}get rowCount(){return this._rowSizers.length}set rowCount(e){if(e===this.rowCount){return}he.reallocSizers(this._rowSizers,e);if(this.parent){this.parent.fit()}}get columnCount(){return this._columnSizers.length}set columnCount(e){if(e===this.columnCount){return}he.reallocSizers(this._columnSizers,e);if(this.parent){this.parent.fit()}}get rowSpacing(){return this._rowSpacing}set rowSpacing(e){e=he.clampValue(e);if(this._rowSpacing===e){return}this._rowSpacing=e;if(this.parent){this.parent.fit()}}get columnSpacing(){return this._columnSpacing}set columnSpacing(e){e=he.clampValue(e);if(this._columnSpacing===e){return}this._columnSpacing=e;if(this.parent){this.parent.fit()}}rowStretch(e){let t=this._rowSizers[e];return t?t.stretch:-1}setRowStretch(e,t){let n=this._rowSizers[e];if(!n){return}t=he.clampValue(t);if(n.stretch===t){return}n.stretch=t;if(this.parent){this.parent.update()}}columnStretch(e){let t=this._columnSizers[e];return t?t.stretch:-1}setColumnStretch(e,t){let n=this._columnSizers[e];if(!n){return}t=he.clampValue(t);if(n.stretch===t){return}n.stretch=t;if(this.parent){this.parent.update()}}*[Symbol.iterator](){for(const e of this._items){yield e.widget}}addWidget(e){let t=i.ArrayExt.findFirstIndex(this._items,(t=>t.widget===e));if(t!==-1){return}this._items.push(new D(e));if(this.parent){this.attachWidget(e)}}removeWidget(e){let t=i.ArrayExt.findFirstIndex(this._items,(t=>t.widget===e));if(t===-1){return}let n=i.ArrayExt.removeAt(this._items,t);if(this.parent){this.detachWidget(e)}n.dispose()}init(){super.init();for(const e of this){this.attachWidget(e)}}attachWidget(e){if(this.parent.isAttached){d.MessageLoop.sendMessage(e,T.Msg.BeforeAttach)}this.parent.node.appendChild(e.node);if(this.parent.isAttached){d.MessageLoop.sendMessage(e,T.Msg.AfterAttach)}this.parent.fit()}detachWidget(e){if(this.parent.isAttached){d.MessageLoop.sendMessage(e,T.Msg.BeforeDetach)}this.parent.node.removeChild(e.node);if(this.parent.isAttached){d.MessageLoop.sendMessage(e,T.Msg.AfterDetach)}this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e);this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e);this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){if(this.parent.isVisible){this._update(e.width,e.height)}}onUpdateRequest(e){if(this.parent.isVisible){this._update(-1,-1)}}onFitRequest(e){if(this.parent.isAttached){this._fit()}}_fit(){for(let a=0,l=this.rowCount;a<l;++a){this._rowSizers[a].minSize=0}for(let a=0,l=this.columnCount;a<l;++a){this._columnSizers[a].minSize=0}let e=this._items.filter((e=>!e.isHidden));for(let a=0,l=e.length;a<l;++a){e[a].fit()}let t=this.rowCount-1;let n=this.columnCount-1;e.sort(he.rowSpanCmp);for(let a=0,l=e.length;a<l;++a){let n=e[a];let i=ce.getCellConfig(n.widget);let s=Math.min(i.row,t);let o=Math.min(i.row+i.rowSpan-1,t);he.distributeMin(this._rowSizers,s,o,n.minHeight)}e.sort(he.columnSpanCmp);for(let a=0,l=e.length;a<l;++a){let t=e[a];let i=ce.getCellConfig(t.widget);let s=Math.min(i.column,n);let o=Math.min(i.column+i.columnSpan-1,n);he.distributeMin(this._columnSizers,s,o,t.minWidth)}if(this.fitPolicy==="set-no-constraint"){d.MessageLoop.sendMessage(this.parent,T.Msg.UpdateRequest);return}let i=t*this._rowSpacing;let s=n*this._columnSpacing;for(let a=0,l=this.rowCount;a<l;++a){i+=this._rowSizers[a].minSize}for(let a=0,l=this.columnCount;a<l;++a){s+=this._columnSizers[a].minSize}let o=this._box=a.ElementExt.boxSizing(this.parent.node);s+=o.horizontalSum;i+=o.verticalSum;let r=this.parent.node.style;r.minWidth=`${s}px`;r.minHeight=`${i}px`;this._dirty=true;if(this.parent.parent){d.MessageLoop.sendMessage(this.parent.parent,T.Msg.FitRequest)}if(this._dirty){d.MessageLoop.sendMessage(this.parent,T.Msg.UpdateRequest)}}_update(e,t){this._dirty=false;if(e<0){e=this.parent.node.offsetWidth}if(t<0){t=this.parent.node.offsetHeight}if(!this._box){this._box=a.ElementExt.boxSizing(this.parent.node)}let n=this._box.paddingTop;let i=this._box.paddingLeft;let s=e-this._box.horizontalSum;let o=t-this._box.verticalSum;let r=this.rowCount-1;let l=this.columnCount-1;let d=r*this._rowSpacing;let c=l*this._columnSpacing;k.calc(this._rowSizers,Math.max(0,o-d));k.calc(this._columnSizers,Math.max(0,s-c));for(let a=0,h=n,u=this.rowCount;a<u;++a){this._rowStarts[a]=h;h+=this._rowSizers[a].size+this._rowSpacing}for(let a=0,h=i,u=this.columnCount;a<u;++a){this._columnStarts[a]=h;h+=this._columnSizers[a].size+this._columnSpacing}for(let a=0,h=this._items.length;a<h;++a){let e=this._items[a];if(e.isHidden){continue}let t=ce.getCellConfig(e.widget);let n=Math.min(t.row,r);let i=Math.min(t.column,l);let s=Math.min(t.row+t.rowSpan-1,r);let o=Math.min(t.column+t.columnSpan-1,l);let d=this._columnStarts[i];let c=this._rowStarts[n];let h=this._columnStarts[o]+this._columnSizers[o].size-d;let u=this._rowStarts[s]+this._rowSizers[s].size-c;e.update(d,c,h,u)}}}(function(e){function t(e){return he.cellConfigProperty.get(e)}e.getCellConfig=t;function n(e,t){he.cellConfigProperty.set(e,he.normalizeConfig(t))}e.setCellConfig=n})(ce||(ce={}));var he;(function(e){e.cellConfigProperty=new h.AttachedProperty({name:"cellConfig",create:()=>({row:0,column:0,rowSpan:1,columnSpan:1}),changed:a});function t(e){let t=Math.max(0,Math.floor(e.row||0));let n=Math.max(0,Math.floor(e.column||0));let i=Math.max(1,Math.floor(e.rowSpan||0));let s=Math.max(1,Math.floor(e.columnSpan||0));return{row:t,column:n,rowSpan:i,columnSpan:s}}e.normalizeConfig=t;function n(e){return Math.max(0,Math.floor(e))}e.clampValue=n;function i(t,n){let i=e.cellConfigProperty.get(t.widget);let s=e.cellConfigProperty.get(n.widget);return i.rowSpan-s.rowSpan}e.rowSpanCmp=i;function s(t,n){let i=e.cellConfigProperty.get(t.widget);let s=e.cellConfigProperty.get(n.widget);return i.columnSpan-s.columnSpan}e.columnSpanCmp=s;function o(e,t){t=Math.max(1,Math.floor(t));while(e.length<t){e.push(new j)}if(e.length>t){e.length=t}}e.reallocSizers=o;function r(e,t,n,i){if(n<t){return}if(t===n){let n=e[t];n.minSize=Math.max(n.minSize,i);return}let s=0;for(let r=t;r<=n;++r){s+=e[r].minSize}if(s>=i){return}let o=(i-s)/(n-t+1);for(let r=t;r<=n;++r){e[r].minSize+=o}}e.distributeMin=r;function a(e){if(e.parent&&e.parent.layout instanceof ce){e.parent.fit()}}})(he||(he={}));class ue extends T{constructor(e={}){super({node:pe.createNode()});this._activeIndex=-1;this._tabFocusIndex=0;this._menus=[];this._childMenu=null;this._overflowMenu=null;this._menuItemSizes=[];this._overflowIndex=-1;this.addClass("lm-MenuBar");this.setFlag(T.Flag.DisallowLayout);this.renderer=e.renderer||ue.defaultRenderer;this._forceItemsPosition=e.forceItemsPosition||{forceX:true,forceY:true};this._overflowMenuOptions=e.overflowMenuOptions||{isVisible:true}}dispose(){this._closeChildMenu();this._menus.length=0;super.dispose()}get childMenu(){return this._childMenu}get overflowIndex(){return this._overflowIndex}get overflowMenu(){return this._overflowMenu}get contentNode(){return this.node.getElementsByClassName("lm-MenuBar-content")[0]}get activeMenu(){return this._menus[this._activeIndex]||null}set activeMenu(e){this.activeIndex=e?this._menus.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){if(e<0||e>=this._menus.length){e=-1}if(e>-1&&this._menus[e].items.length===0){e=-1}if(this._activeIndex===e){return}this._activeIndex=e;this.update()}get menus(){return this._menus}openActiveMenu(){if(this._activeIndex===-1){return}this._openChildMenu();if(this._childMenu){this._childMenu.activeIndex=-1;this._childMenu.activateNextItem()}}addMenu(e,t=true){this.insertMenu(this._menus.length,e,t)}insertMenu(e,t,n=true){this._closeChildMenu();let s=this._menus.indexOf(t);let o=Math.max(0,Math.min(e,this._menus.length));if(s===-1){i.ArrayExt.insert(this._menus,o,t);t.addClass("lm-MenuBar-menu");t.aboutToClose.connect(this._onMenuAboutToClose,this);t.menuRequested.connect(this._onMenuMenuRequested,this);t.title.changed.connect(this._onTitleChanged,this);if(n){this.update()}return}if(o===this._menus.length){o--}if(s===o){return}i.ArrayExt.move(this._menus,s,o);if(n){this.update()}}removeMenu(e,t=true){this.removeMenuAt(this._menus.indexOf(e),t)}removeMenuAt(e,t=true){this._closeChildMenu();let n=i.ArrayExt.removeAt(this._menus,e);if(!n){return}n.aboutToClose.disconnect(this._onMenuAboutToClose,this);n.menuRequested.disconnect(this._onMenuMenuRequested,this);n.title.changed.disconnect(this._onTitleChanged,this);n.removeClass("lm-MenuBar-menu");if(t){this.update()}}clearMenus(){if(this._menus.length===0){return}this._closeChildMenu();for(let e of this._menus){e.aboutToClose.disconnect(this._onMenuAboutToClose,this);e.menuRequested.disconnect(this._onMenuMenuRequested,this);e.title.changed.disconnect(this._onTitleChanged,this);e.removeClass("lm-MenuBar-menu")}this._menus.length=0;this.update()}handleEvent(e){switch(e.type){case"keydown":this._evtKeyDown(e);break;case"mousedown":this._evtMouseDown(e);break;case"mousemove":case"mouseleave":this._evtMouseMove(e);break;case"focusout":this._evtFocusOut(e);break;case"contextmenu":e.preventDefault();e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener("keydown",this);this.node.addEventListener("mousedown",this);this.node.addEventListener("mousemove",this);this.node.addEventListener("mouseleave",this);this.node.addEventListener("focusout",this);this.node.addEventListener("contextmenu",this)}onAfterDetach(e){this.node.removeEventListener("keydown",this);this.node.removeEventListener("mousedown",this);this.node.removeEventListener("mousemove",this);this.node.removeEventListener("mouseleave",this);this.node.removeEventListener("focusout",this);this.node.removeEventListener("contextmenu",this);this._closeChildMenu()}onActivateRequest(e){if(this.isAttached){this._focusItemAt(0)}}onResize(e){this.update();super.onResize(e)}onUpdateRequest(e){var t;let n=this._menus;let i=this.renderer;let s=this._activeIndex;let o=this._tabFocusIndex>=0&&this._tabFocusIndex<n.length?this._tabFocusIndex:0;let r=this._overflowIndex>-1?this._overflowIndex:n.length;let a=0;let l=false;r=this._overflowMenu!==null?r-1:r;let d=new Array(r);for(let c=0;c<r;++c){d[c]=i.renderItem({title:n[c].title,active:c===s,tabbable:c===o,disabled:n[c].items.length===0,onfocus:()=>{this._tabFocusIndex=c;this.activeIndex=c}});a+=this._menuItemSizes[c];if(n[c].title.label===this._overflowMenuOptions.title){l=true;r--}}if(this._overflowMenuOptions.isVisible){if(this._overflowIndex>-1&&!l){if(this._overflowMenu===null){const e=(t=this._overflowMenuOptions.title)!==null&&t!==void 0?t:"...";this._overflowMenu=new Q({commands:new v.CommandRegistry});this._overflowMenu.title.label=e;this._overflowMenu.title.mnemonic=0;this.addMenu(this._overflowMenu,false)}for(let e=n.length-2;e>=r;e--){const t=this.menus[e];t.title.mnemonic=0;this._overflowMenu.insertItem(0,{type:"submenu",submenu:t});this.removeMenu(t,false)}d[r]=i.renderItem({title:this._overflowMenu.title,active:r===s&&n[r].items.length!==0,tabbable:r===o,disabled:n[r].items.length===0,onfocus:()=>{this._tabFocusIndex=r;this.activeIndex=r}});r++}else if(this._overflowMenu!==null){let e=this._overflowMenu.items;let t=this.node.offsetWidth;let s=this._overflowMenu.items.length;for(let l=0;l<s;++l){let s=n.length-1-l;if(t-a>this._menuItemSizes[s]){let t=e[0].submenu;this._overflowMenu.removeItemAt(0);this.insertMenu(r,t,false);d[r]=i.renderItem({title:t.title,active:false,tabbable:r===o,disabled:n[r].items.length===0,onfocus:()=>{this._tabFocusIndex=r;this.activeIndex=r}});r++}}if(this._overflowMenu.items.length===0){this.removeMenu(this._overflowMenu,false);d.pop();this._overflowMenu=null;this._overflowIndex=-1}}}b.VirtualDOM.render(d,this.contentNode);this._updateOverflowIndex()}_updateOverflowIndex(){if(!this._overflowMenuOptions.isVisible){return}const e=this.contentNode.childNodes;let t=this.node.offsetWidth;let n=0;let i=-1;let s=e.length;if(this._menuItemSizes.length==0){for(let o=0;o<s;o++){let s=e[o];n+=s.offsetWidth;this._menuItemSizes.push(s.offsetWidth);if(n>t&&i===-1){i=o}}}else{for(let e=0;e<this._menuItemSizes.length;e++){n+=this._menuItemSizes[e];if(n>t){i=e;break}}}this._overflowIndex=i}_evtKeyDown(e){let t=e.keyCode;if(t===9){this.activeIndex=-1;return}e.preventDefault();e.stopPropagation();if(t===13||t===32||t===38||t===40){this.activeIndex=this._tabFocusIndex;if(this.activeIndex!==this._tabFocusIndex){return}this.openActiveMenu();return}if(t===27){this._closeChildMenu();this._focusItemAt(this.activeIndex);return}if(t===37||t===39){let e=t===37?-1:1;let n=this._tabFocusIndex+e;let i=this._menus.length;for(let t=0;t<i;t++){let s=(i+n+e*t)%i;if(this._menus[s].items.length){this._focusItemAt(s);return}}return}let n=(0,x.getKeyboardLayout)().keyForKeydownEvent(e);if(!n){return}let i=this._activeIndex+1;let s=pe.findMnemonic(this._menus,n,i);if(s.index!==-1&&!s.multiple){this.activeIndex=s.index;this.openActiveMenu()}else if(s.index!==-1){this.activeIndex=s.index;this._focusItemAt(this.activeIndex)}else if(s.auto!==-1){this.activeIndex=s.auto;this._focusItemAt(this.activeIndex)}}_evtMouseDown(e){if(!a.ElementExt.hitTest(this.node,e.clientX,e.clientY)){return}e.stopPropagation();e.stopImmediatePropagation();let t=i.ArrayExt.findFirstIndex(this.contentNode.children,(t=>a.ElementExt.hitTest(t,e.clientX,e.clientY)));if(t===-1){this._closeChildMenu();return}if(e.button!==0){return}if(this._childMenu){this._closeChildMenu();this.activeIndex=t}else{e.preventDefault();const n=this._positionForMenu(t);Q.saveWindowData();this.activeIndex=t;this._openChildMenu(n)}}_evtMouseMove(e){let t=i.ArrayExt.findFirstIndex(this.contentNode.children,(t=>a.ElementExt.hitTest(t,e.clientX,e.clientY)));if(t===this._activeIndex){return}if(t===-1&&this._childMenu){return}const n=t>=0&&this._childMenu?this._positionForMenu(t):null;Q.saveWindowData();this.activeIndex=t;if(n){this._openChildMenu(n)}}_positionForMenu(e){let t=this.contentNode.children[e];let{left:n,bottom:i}=t.getBoundingClientRect();return{top:i,left:n}}_evtFocusOut(e){if(!this._childMenu&&!this.node.contains(e.relatedTarget)){this.activeIndex=-1}}_focusItemAt(e){const t=this.contentNode.childNodes[e];if(t){t.focus()}}_openChildMenu(e={}){let t=this.activeMenu;if(!t){this._closeChildMenu();return}let n=this._childMenu;if(n===t){return}this._childMenu=t;if(n){n.close()}else{document.addEventListener("mousedown",this,true)}this._tabFocusIndex=this.activeIndex;d.MessageLoop.sendMessage(this,T.Msg.UpdateRequest);let{left:i,top:s}=e;if(typeof i==="undefined"||typeof s==="undefined"){({left:i,top:s}=this._positionForMenu(this._activeIndex))}if(!n){this.addClass("lm-mod-active")}if(t.items.length>0){t.open(i,s,this._forceItemsPosition)}}_closeChildMenu(){if(!this._childMenu){return}this.removeClass("lm-mod-active");document.removeEventListener("mousedown",this,true);let e=this._childMenu;this._childMenu=null;e.close();this.activeIndex=-1}_onMenuAboutToClose(e){if(e!==this._childMenu){return}this.removeClass("lm-mod-active");document.removeEventListener("mousedown",this,true);this._childMenu=null;this.activeIndex=-1}_onMenuMenuRequested(e,t){if(e!==this._childMenu){return}let n=this._activeIndex;let i=this._menus.length;switch(t){case"next":this.activeIndex=n===i-1?0:n+1;break;case"previous":this.activeIndex=n===0?i-1:n-1;break}this.openActiveMenu()}_onTitleChanged(){this.update()}}(function(e){class t{renderItem(e){let t=this.createItemClass(e);let n=this.createItemDataset(e);let i=this.createItemARIA(e);return b.h.li({className:t,dataset:n,...e.disabled?{}:{tabindex:e.tabbable?"0":"-1"},onfocus:e.onfocus,...i},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let t=this.createIconClass(e);return b.h.div({className:t},e.title.icon,e.title.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return b.h.div({className:"lm-MenuBar-itemLabel"},t)}createItemClass(e){let t="lm-MenuBar-item";if(e.title.className){t+=` ${e.title.className}`}if(e.active&&!e.disabled){t+=" lm-mod-active"}return t}createItemDataset(e){return e.title.dataset}createItemARIA(e){return{role:"menuitem","aria-haspopup":"true","aria-disabled":e.disabled?"true":"false"}}createIconClass(e){let t="lm-MenuBar-itemIcon";let n=e.title.iconClass;return n?`${t} ${n}`:t}formatLabel(e){let{label:t,mnemonic:n}=e.title;if(n<0||n>=t.length){return t}let i=t.slice(0,n);let s=t.slice(n+1);let o=t[n];let r=b.h.span({className:"lm-MenuBar-itemMnemonic"},o);return[i,r,s]}}e.Renderer=t;e.defaultRenderer=new t})(ue||(ue={}));var pe;(function(e){function t(){let e=document.createElement("div");let t=document.createElement("ul");t.className="lm-MenuBar-content";e.appendChild(t);t.setAttribute("role","menubar");return e}e.createNode=t;function n(e,t,n){let i=-1;let s=-1;let o=false;let r=t.toUpperCase();for(let a=0,l=e.length;a<l;++a){let t=(a+n)%l;let d=e[t].title;if(d.label.length===0){continue}let c=d.mnemonic;if(c>=0&&c<d.label.length){if(d.label[c].toUpperCase()===r){if(i===-1){i=t}else{o=true}}continue}if(s===-1&&d.label[0].toUpperCase()===r){s=t}}return{index:i,multiple:o,auto:s}}e.findMnemonic=n})(pe||(pe={}));class me extends T{constructor(e={}){super({node:ge.createNode()});this._onRepeat=()=>{this._repeatTimer=-1;if(!this._pressData){return}let e=this._pressData.part;if(e==="thumb"){return}this._repeatTimer=window.setTimeout(this._onRepeat,20);let t=this._pressData.mouseX;let n=this._pressData.mouseY;if(e==="decrement"){if(!a.ElementExt.hitTest(this.decrementNode,t,n)){return}this._stepRequested.emit("decrement");return}if(e==="increment"){if(!a.ElementExt.hitTest(this.incrementNode,t,n)){return}this._stepRequested.emit("increment");return}if(e==="track"){if(!a.ElementExt.hitTest(this.trackNode,t,n)){return}let e=this.thumbNode;if(a.ElementExt.hitTest(e,t,n)){return}let i=e.getBoundingClientRect();let s;if(this._orientation==="horizontal"){s=t<i.left?"decrement":"increment"}else{s=n<i.top?"decrement":"increment"}this._pageRequested.emit(s);return}};this._value=0;this._page=10;this._maximum=100;this._repeatTimer=-1;this._pressData=null;this._thumbMoved=new p.Signal(this);this._stepRequested=new p.Signal(this);this._pageRequested=new p.Signal(this);this.addClass("lm-ScrollBar");this.setFlag(T.Flag.DisallowLayout);this._orientation=e.orientation||"vertical";this.dataset["orientation"]=this._orientation;if(e.maximum!==undefined){this._maximum=Math.max(0,e.maximum)}if(e.page!==undefined){this._page=Math.max(0,e.page)}if(e.value!==undefined){this._value=Math.max(0,Math.min(e.value,this._maximum))}}get thumbMoved(){return this._thumbMoved}get stepRequested(){return this._stepRequested}get pageRequested(){return this._pageRequested}get orientation(){return this._orientation}set orientation(e){if(this._orientation===e){return}this._releaseMouse();this._orientation=e;this.dataset["orientation"]=e;this.update()}get value(){return this._value}set value(e){e=Math.max(0,Math.min(e,this._maximum));if(this._value===e){return}this._value=e;this.update()}get page(){return this._page}set page(e){e=Math.max(0,e);if(this._page===e){return}this._page=e;this.update()}get maximum(){return this._maximum}set maximum(e){e=Math.max(0,e);if(this._maximum===e){return}this._maximum=e;this._value=Math.min(this._value,e);this.update()}get decrementNode(){return this.node.getElementsByClassName("lm-ScrollBar-button")[0]}get incrementNode(){return this.node.getElementsByClassName("lm-ScrollBar-button")[1]}get trackNode(){return this.node.getElementsByClassName("lm-ScrollBar-track")[0]}get thumbNode(){return this.node.getElementsByClassName("lm-ScrollBar-thumb")[0]}handleEvent(e){switch(e.type){case"mousedown":this._evtMouseDown(e);break;case"mousemove":this._evtMouseMove(e);break;case"mouseup":this._evtMouseUp(e);break;case"keydown":this._evtKeyDown(e);break;case"contextmenu":e.preventDefault();e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener("mousedown",this);this.update()}onAfterDetach(e){this.node.removeEventListener("mousedown",this);this._releaseMouse()}onUpdateRequest(e){let t=this._value*100/this._maximum;let n=this._page*100/(this._page+this._maximum);t=Math.max(0,Math.min(t,100));n=Math.max(0,Math.min(n,100));let i=this.thumbNode.style;if(this._orientation==="horizontal"){i.top="";i.height="";i.left=`${t}%`;i.width=`${n}%`;i.transform=`translate(${-t}%, 0%)`}else{i.left="";i.width="";i.top=`${t}%`;i.height=`${n}%`;i.transform=`translate(0%, ${-t}%)`}}_evtKeyDown(e){e.preventDefault();e.stopPropagation();if(e.keyCode!==27){return}let t=this._pressData?this._pressData.value:-1;this._releaseMouse();if(t!==-1){this._moveThumb(t)}}_evtMouseDown(e){if(e.button!==0){return}this.activate();if(this._pressData){return}let t=ge.findPart(this,e.target);if(!t){return}e.preventDefault();e.stopPropagation();let n=g.Drag.overrideCursor("default");this._pressData={part:t,override:n,delta:-1,value:-1,mouseX:e.clientX,mouseY:e.clientY};document.addEventListener("mousemove",this,true);document.addEventListener("mouseup",this,true);document.addEventListener("keydown",this,true);document.addEventListener("contextmenu",this,true);if(t==="thumb"){let t=this.thumbNode;let n=t.getBoundingClientRect();if(this._orientation==="horizontal"){this._pressData.delta=e.clientX-n.left}else{this._pressData.delta=e.clientY-n.top}t.classList.add("lm-mod-active");this._pressData.value=this._value;return}if(t==="track"){let t=this.thumbNode.getBoundingClientRect();let n;if(this._orientation==="horizontal"){n=e.clientX<t.left?"decrement":"increment"}else{n=e.clientY<t.top?"decrement":"increment"}this._repeatTimer=window.setTimeout(this._onRepeat,350);this._pageRequested.emit(n);return}if(t==="decrement"){this.decrementNode.classList.add("lm-mod-active");this._repeatTimer=window.setTimeout(this._onRepeat,350);this._stepRequested.emit("decrement");return}if(t==="increment"){this.incrementNode.classList.add("lm-mod-active");this._repeatTimer=window.setTimeout(this._onRepeat,350);this._stepRequested.emit("increment");return}}_evtMouseMove(e){if(!this._pressData){return}e.preventDefault();e.stopPropagation();this._pressData.mouseX=e.clientX;this._pressData.mouseY=e.clientY;if(this._pressData.part!=="thumb"){return}let t=this.thumbNode.getBoundingClientRect();let n=this.trackNode.getBoundingClientRect();let i;let s;if(this._orientation==="horizontal"){i=e.clientX-n.left-this._pressData.delta;s=n.width-t.width}else{i=e.clientY-n.top-this._pressData.delta;s=n.height-t.height}let o=s===0?0:i*this._maximum/s;this._moveThumb(o)}_evtMouseUp(e){if(e.button!==0){return}e.preventDefault();e.stopPropagation();this._releaseMouse()}_releaseMouse(){if(!this._pressData){return}clearTimeout(this._repeatTimer);this._repeatTimer=-1;this._pressData.override.dispose();this._pressData=null;document.removeEventListener("mousemove",this,true);document.removeEventListener("mouseup",this,true);document.removeEventListener("keydown",this,true);document.removeEventListener("contextmenu",this,true);this.thumbNode.classList.remove("lm-mod-active");this.decrementNode.classList.remove("lm-mod-active");this.incrementNode.classList.remove("lm-mod-active")}_moveThumb(e){e=Math.max(0,Math.min(e,this._maximum));if(this._value===e){return}this._value=e;this.update();this._thumbMoved.emit(e)}}var ge;(function(e){function t(){let e=document.createElement("div");let t=document.createElement("div");let n=document.createElement("div");let i=document.createElement("div");let s=document.createElement("div");t.className="lm-ScrollBar-button";n.className="lm-ScrollBar-button";t.dataset["action"]="decrement";n.dataset["action"]="increment";i.className="lm-ScrollBar-track";s.className="lm-ScrollBar-thumb";i.appendChild(s);e.appendChild(t);e.appendChild(i);e.appendChild(n);return e}e.createNode=t;function n(e,t){if(e.thumbNode.contains(t)){return"thumb"}if(e.trackNode.contains(t)){return"track"}if(e.decrementNode.contains(t)){return"decrement"}if(e.incrementNode.contains(t)){return"increment"}return null}e.findPart=n})(ge||(ge={}));class fe extends M{constructor(){super(...arguments);this._widget=null}dispose(){if(this._widget){let e=this._widget;this._widget=null;e.dispose()}super.dispose()}get widget(){return this._widget}set widget(e){if(e){e.parent=this.parent}if(this._widget===e){return}if(this._widget){this._widget.dispose()}this._widget=e;if(this.parent&&e){this.attachWidget(e)}}*[Symbol.iterator](){if(this._widget){yield this._widget}}removeWidget(e){if(this._widget!==e){return}this._widget=null;if(this.parent){this.detachWidget(e)}}init(){super.init();for(const e of this){this.attachWidget(e)}}attachWidget(e){if(this.parent.isAttached){d.MessageLoop.sendMessage(e,T.Msg.BeforeAttach)}this.parent.node.appendChild(e.node);if(this.parent.isAttached){d.MessageLoop.sendMessage(e,T.Msg.AfterAttach)}}detachWidget(e){if(this.parent.isAttached){d.MessageLoop.sendMessage(e,T.Msg.BeforeDetach)}this.parent.node.removeChild(e.node);if(this.parent.isAttached){d.MessageLoop.sendMessage(e,T.Msg.AfterDetach)}}}class ve extends P{constructor(e={}){super(e);this._dirty=false;this._items=[];this._box=null;this._hiddenMode=e.hiddenMode!==undefined?e.hiddenMode:T.HiddenMode.Display}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){if(this._hiddenMode===e){return}this._hiddenMode=e;if(this.widgets.length>1){this.widgets.forEach((e=>{e.hiddenMode=this._hiddenMode}))}}dispose(){for(const e of this._items){e.dispose()}this._box=null;this._items.length=0;super.dispose()}attachWidget(e,t){if(this._hiddenMode===T.HiddenMode.Scale&&this._items.length>0){if(this._items.length===1){this.widgets[0].hiddenMode=T.HiddenMode.Scale}t.hiddenMode=T.HiddenMode.Scale}else{t.hiddenMode=T.HiddenMode.Display}i.ArrayExt.insert(this._items,e,new D(t));if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.BeforeAttach)}this.parent.node.appendChild(t.node);if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.AfterAttach)}this.parent.fit()}moveWidget(e,t,n){i.ArrayExt.move(this._items,e,t);this.parent.update()}detachWidget(e,t){let n=i.ArrayExt.removeAt(this._items,e);if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.BeforeDetach)}this.parent.node.removeChild(t.node);if(this.parent.isAttached){d.MessageLoop.sendMessage(t,T.Msg.AfterDetach)}n.widget.node.style.zIndex="";if(this._hiddenMode===T.HiddenMode.Scale){t.hiddenMode=T.HiddenMode.Display;if(this._items.length===1){this._items[0].widget.hiddenMode=T.HiddenMode.Display}}n.dispose();this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e);this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e);this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){if(this.parent.isVisible){this._update(e.width,e.height)}}onUpdateRequest(e){if(this.parent.isVisible){this._update(-1,-1)}}onFitRequest(e){if(this.parent.isAttached){this._fit()}}_fit(){let e=0;let t=0;for(let s=0,o=this._items.length;s<o;++s){let n=this._items[s];if(n.isHidden){continue}n.fit();e=Math.max(e,n.minWidth);t=Math.max(t,n.minHeight)}let n=this._box=a.ElementExt.boxSizing(this.parent.node);e+=n.horizontalSum;t+=n.verticalSum;let i=this.parent.node.style;i.minWidth=`${e}px`;i.minHeight=`${t}px`;this._dirty=true;if(this.parent.parent){d.MessageLoop.sendMessage(this.parent.parent,T.Msg.FitRequest)}if(this._dirty){d.MessageLoop.sendMessage(this.parent,T.Msg.UpdateRequest)}}_update(e,t){this._dirty=false;let n=0;for(let a=0,l=this._items.length;a<l;++a){n+=+!this._items[a].isHidden}if(n===0){return}if(e<0){e=this.parent.node.offsetWidth}if(t<0){t=this.parent.node.offsetHeight}if(!this._box){this._box=a.ElementExt.boxSizing(this.parent.node)}let i=this._box.paddingTop;let s=this._box.paddingLeft;let o=e-this._box.horizontalSum;let r=t-this._box.verticalSum;for(let a=0,l=this._items.length;a<l;++a){let e=this._items[a];if(e.isHidden){continue}e.widget.node.style.zIndex=`${a}`;e.update(s,i,o,r)}}}class _e extends z{constructor(e={}){super({layout:be.createLayout(e)});this._widgetRemoved=new p.Signal(this);this.addClass("lm-StackedPanel")}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(e){this.layout.hiddenMode=e}get widgetRemoved(){return this._widgetRemoved}onChildAdded(e){e.child.addClass("lm-StackedPanel-child")}onChildRemoved(e){e.child.removeClass("lm-StackedPanel-child");this._widgetRemoved.emit(e.child)}}var be;(function(e){function t(e){return e.layout||new ve}e.createLayout=t})(be||(be={}));class ye extends T{constructor(e={}){super();this._currentChanged=new p.Signal(this);this._addRequested=new p.Signal(this);this.addClass("lm-TabPanel");this.tabBar=new ie(e);this.tabBar.addClass("lm-TabPanel-tabBar");this.stackedPanel=new _e;this.stackedPanel.addClass("lm-TabPanel-stackedPanel");this.tabBar.tabMoved.connect(this._onTabMoved,this);this.tabBar.currentChanged.connect(this._onCurrentChanged,this);this.tabBar.tabCloseRequested.connect(this._onTabCloseRequested,this);this.tabBar.tabActivateRequested.connect(this._onTabActivateRequested,this);this.tabBar.addRequested.connect(this._onTabAddRequested,this);this.stackedPanel.widgetRemoved.connect(this._onWidgetRemoved,this);this._tabPlacement=e.tabPlacement||"top";let t=we.directionFromPlacement(this._tabPlacement);let n=we.orientationFromPlacement(this._tabPlacement);this.tabBar.orientation=n;this.tabBar.dataset["placement"]=this._tabPlacement;let i=new $({direction:t,spacing:0});$.setStretch(this.tabBar,0);$.setStretch(this.stackedPanel,1);i.addWidget(this.tabBar);i.addWidget(this.stackedPanel);this.layout=i}get currentChanged(){return this._currentChanged}get currentIndex(){return this.tabBar.currentIndex}set currentIndex(e){this.tabBar.currentIndex=e}get currentWidget(){let e=this.tabBar.currentTitle;return e?e.owner:null}set currentWidget(e){this.tabBar.currentTitle=e?e.title:null}get tabsMovable(){return this.tabBar.tabsMovable}set tabsMovable(e){this.tabBar.tabsMovable=e}get addButtonEnabled(){return this.tabBar.addButtonEnabled}set addButtonEnabled(e){this.tabBar.addButtonEnabled=e}get tabPlacement(){return this._tabPlacement}set tabPlacement(e){if(this._tabPlacement===e){return}this._tabPlacement=e;let t=we.directionFromPlacement(e);let n=we.orientationFromPlacement(e);this.tabBar.orientation=n;this.tabBar.dataset["placement"]=e;this.layout.direction=t}get addRequested(){return this._addRequested}get widgets(){return this.stackedPanel.widgets}addWidget(e){this.insertWidget(this.widgets.length,e)}insertWidget(e,t){if(t!==this.currentWidget){t.hide()}this.stackedPanel.insertWidget(e,t);this.tabBar.insertTab(e,t.title);t.node.setAttribute("role","tabpanel");let n=this.tabBar.renderer;if(n instanceof ie.Renderer){let e=n.createTabKey({title:t.title,current:false,zIndex:0});t.node.setAttribute("aria-labelledby",e)}}_onCurrentChanged(e,t){let{previousIndex:n,previousTitle:i,currentIndex:s,currentTitle:o}=t;let r=i?i.owner:null;let l=o?o.owner:null;if(r){r.hide()}if(l){l.show()}this._currentChanged.emit({previousIndex:n,previousWidget:r,currentIndex:s,currentWidget:l});if(a.Platform.IS_EDGE||a.Platform.IS_IE){d.MessageLoop.flush()}}_onTabAddRequested(e,t){this._addRequested.emit(e)}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabMoved(e,t){this.stackedPanel.insertWidget(t.toIndex,t.title.owner)}_onWidgetRemoved(e,t){t.node.removeAttribute("role");t.node.removeAttribute("aria-labelledby");this.tabBar.removeTab(t.title)}}var we;(function(e){function t(e){return i[e]}e.orientationFromPlacement=t;function n(e){return s[e]}e.directionFromPlacement=n;const i={top:"horizontal",left:"vertical",right:"vertical",bottom:"horizontal"};const s={top:"top-to-bottom",left:"left-to-right",right:"right-to-left",bottom:"bottom-to-top"}})(we||(we={}))},10395:(e,t,n)=>{"use strict";var i=n(85072);var s=n.n(i);var o=n(97825);var r=n.n(o);var a=n(77659);var l=n.n(a);var d=n(55056);var c=n.n(d);var h=n(10540);var u=n.n(h);var p=n(41113);var m=n.n(p);var g=n(43210);var f={};f.styleTagTransform=m();f.setAttributes=c();f.insert=l().bind(null,"head");f.domAPI=r();f.insertStyleElement=u();var v=s()(g.A,f);const _=g.A&&g.A.locals?g.A.locals:undefined},24118:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n|\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n#jp-MainLogo {\n width: calc(var(--jp-private-sidebar-tab-width) + var(--jp-border-width));\n}\n\n#jp-top-bar {\n --jp-private-toolbar-height: var(--jp-private-menu-panel-height);\n\n flex: 1 1 auto;\n padding: 0 2px;\n box-shadow: none;\n border: none;\n align-items: center;\n}\n",""]);const l=a},30966:(e,t,n)=>{"use strict";n.d(t,{A:()=>_});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(14016);var l=n(5173);var d=n(51632);var c=n(60341);var h=n(10891);var u=n(83161);var p=n(68010);var m=n(40348);var g=n(43701);var f=n(93768);var v=r()(s());v.i(a.A);v.i(l.A);v.i(d.A);v.i(c.A);v.i(h.A);v.i(u.A);v.i(p.A);v.i(m.A);v.i(g.A);v.i(f.A);v.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Sibling imports */\n",""]);const _=v},68010:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-flat-button-height: 24px;\n --jp-flat-button-padding: 8px 12px;\n}\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-ThemedContainer button {\n border-radius: var(--jp-border-radius);\n}\n\n.jp-ThemedContainer button:focus-visible {\n outline: 1px solid var(--jp-accept-color-active, var(--jp-brand-color1));\n outline-offset: -1px;\n}\n\nbutton.jp-mod-styled.jp-mod-accept {\n background: var(--jp-accept-color-normal, var(--md-blue-500, #2196f3));\n border: 0;\n color: white;\n}\n\nbutton.jp-mod-styled.jp-mod-accept:hover {\n background: var(--jp-accept-color-hover, var(--md-blue-600, #1e88e5));\n}\n\nbutton.jp-mod-styled.jp-mod-accept:active {\n background: var(--jp-accept-color-active, var(--md-blue-700, #1976d2));\n}\n\nbutton.jp-mod-styled.jp-mod-accept:focus-visible {\n outline: 1px solid var(--jp-accept-color-active, var(--jp-brand-color1));\n}\n\nbutton.jp-mod-styled.jp-mod-reject {\n background: var(--jp-reject-color-normal, var(--md-grey-500, #9e9e9e));\n border: 0;\n color: white;\n}\n\nbutton.jp-mod-styled.jp-mod-reject:hover {\n background: var(--jp-reject-color-hover, var(--md-grey-600, #757575));\n}\n\nbutton.jp-mod-styled.jp-mod-reject:active {\n background: var(--jp-reject-color-active, var(--md-grey-700, #616161));\n}\n\nbutton.jp-mod-styled.jp-mod-reject:focus-visible {\n outline: 1px solid var(--jp-reject-color-active, var(--md-grey-700, #616161));\n}\n\nbutton.jp-mod-styled.jp-mod-warn {\n background: var(--jp-warn-color-normal, var(--jp-error-color1));\n border: 0;\n color: white;\n}\n\nbutton.jp-mod-styled.jp-mod-warn:hover {\n background: var(--jp-warn-color-hover, var(--md-red-600, #e53935));\n}\n\nbutton.jp-mod-styled.jp-mod-warn:active {\n background: var(--jp-warn-color-active, var(--md-red-700, #d32f2f));\n}\n\nbutton.jp-mod-styled.jp-mod-warn:focus-visible {\n outline: 1px solid var(--jp-warn-color-active, var(--md-red-700, #d32f2f));\n}\n\n.jp-Button-flat {\n text-decoration: none;\n padding: var(--jp-flat-button-padding);\n font-weight: 500;\n background-color: transparent;\n height: var(--jp-private-running-shutdown-button-height);\n line-height: var(--jp-private-running-shutdown-button-height);\n transition: background-color 0.1s ease;\n border-radius: 2px;\n}\n\n.jp-Button-flat:focus {\n border: none;\n box-shadow: none;\n}\n",""]);const l=a},14016:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-private-menu-panel-height: 27px;\n}\n\n.lm-Widget.lm-mod-hidden {\n display: none !important;\n}\n\n.jp-ThemedContainer {\n font-family: var(--jp-ui-font-family);\n background: var(--jp-layout-color3);\n margin: 0;\n padding: 0;\n overflow: hidden;\n}\n\n.jp-LabShell {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.jp-LabShell.jp-mod-devMode {\n border-top: 4px solid red;\n}\n\n#jp-main-dock-panel {\n padding: 5px;\n}\n\n#jp-main-dock-panel[data-mode='single-document'] {\n padding: 0;\n}\n\n#jp-main-dock-panel[data-mode='single-document'] .jp-MainAreaWidget {\n border: none;\n}\n\n#jp-top-panel {\n border-bottom: var(--jp-border-width) solid var(--jp-border-color0);\n background: var(--jp-layout-color1);\n display: flex;\n min-height: var(--jp-private-menubar-height);\n overflow: visible;\n\n /* relax lumino strict CSS contaiment to allow painting the menu bar item\n over the menu in order to create an illusion of partial border */\n contain: style size !important;\n}\n\n#jp-menu-panel {\n min-height: var(--jp-private-menu-panel-height);\n background: var(--jp-layout-color1);\n}\n\n#jp-down-stack {\n border-bottom: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n.jp-LabShell[data-shell-mode='single-document'] #jp-top-panel {\n border-bottom: none;\n}\n\n.jp-LabShell[data-shell-mode='single-document'] #jp-menu-panel {\n padding-left: calc(\n var(--jp-private-sidebar-tab-width) + var(--jp-border-width)\n );\n border-bottom: var(--jp-border-width) solid var(--jp-border-color0);\n\n /* Adjust min-height so open menus show up in the right place */\n min-height: calc(\n var(--jp-private-menu-panel-height) + var(--jp-border-width)\n );\n}\n\n#jp-bottom-panel {\n background: var(--jp-layout-color1);\n display: flex;\n}\n\n#jp-single-document-mode {\n margin: 0 8px;\n display: flex;\n align-items: center;\n}\n",""]);const l=a},5173:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.lm-DataGrid {\n min-width: 64px;\n min-height: 64px;\n border: 1px solid #a0a0a0;\n}\n\n.lm-DataGrid-scrollCorner {\n background-color: #f0f0f0;\n}\n\n.lm-DataGrid-scrollCorner::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n background-color: #a0a0a0;\n}\n",""]);const l=a},51632:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| DockPanel\n|----------------------------------------------------------------------------*/\n\n.lm-DockPanel-widget,\n.lm-TabPanel-stackedPanel {\n background: var(--jp-layout-color0);\n border-left: var(--jp-border-width) solid var(--jp-border-color1);\n border-right: var(--jp-border-width) solid var(--jp-border-color1);\n border-bottom: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n.lm-DockPanel-overlay {\n background: rgba(33, 150, 243, 0.1);\n border: var(--jp-border-width) dashed var(--jp-brand-color1);\n transition-property: top, left, right, bottom;\n transition-duration: 150ms;\n transition-timing-function: ease;\n}\n\n.lm-DockPanel-overlay.lm-mod-root-top,\n.lm-DockPanel-overlay.lm-mod-root-left,\n.lm-DockPanel-overlay.lm-mod-root-right,\n.lm-DockPanel-overlay.lm-mod-root-bottom,\n.lm-DockPanel-overlay.lm-mod-root-center {\n border-width: 2px;\n}\n",""]);const l=a},60341:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-private-menubar-height: 28px;\n --jp-private-menu-item-height: 24px;\n}\n\n/*-----------------------------------------------------------------------------\n| MenuBar\n|----------------------------------------------------------------------------*/\n\n.lm-MenuBar {\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size1);\n overflow: hidden;\n}\n\n.lm-MenuBar:hover {\n overflow-x: auto;\n}\n\n.lm-MenuBar-menu.jp-ThemedContainer {\n top: calc(-2 * var(--jp-border-width));\n scrollbar-width: none;\n -ms-overflow-style: none;\n overflow: auto;\n background:\n linear-gradient(var(--jp-layout-color0) 30%, rgba(0, 0, 0, 0)) center top,\n linear-gradient(rgba(0, 0, 0, 0), var(--jp-layout-color0) 70%) center bottom,\n radial-gradient(\n farthest-side at 50% 0,\n color-mix(\n in hsl,\n var(--jp-layout-color0) 50%,\n var(--jp-inverse-layout-color0) 30%\n ),\n rgba(0, 0, 0, 0)\n )\n center top,\n radial-gradient(\n farthest-side at 50% 100%,\n color-mix(\n in hsl,\n var(--jp-layout-color0) 50%,\n var(--jp-inverse-layout-color0) 30%\n ),\n rgba(0, 0, 0, 0)\n )\n center bottom;\n background-color: var(--jp-layout-color0);\n background-repeat: no-repeat;\n background-size:\n 100% 40px,\n 100% 40px,\n 100% 14px,\n 100% 14px;\n background-attachment: local, local, scroll, scroll;\n}\n\n.lm-MenuBar-menu.jp-ThemedContainer::-webkit-scrollbar {\n display: none;\n}\n\n.lm-MenuBar-item {\n padding: 0 8px;\n border-left: var(--jp-border-width) solid transparent;\n border-right: var(--jp-border-width) solid transparent;\n border-top: var(--jp-border-width) solid transparent;\n line-height: calc(\n var(--jp-private-menubar-height) - var(--jp-border-width) * 2\n );\n}\n\n.lm-MenuBar-content:focus-visible {\n outline-offset: -3px; /* this value is a compromise between Firefox, Chrome,\n and Safari over this outline's visibility and discretion */\n}\n\n.lm-MenuBar:focus-visible {\n outline: 1px solid var(--jp-accept-color-active, var(--jp-brand-color1));\n outline-offset: -1px;\n}\n\n.lm-MenuBar-menu:focus-visible,\n.lm-MenuBar-item:focus-visible,\n.lm-Menu-item:focus-visible {\n outline: unset;\n outline-offset: unset;\n -moz-outline-radius: unset;\n}\n\n.lm-MenuBar-item.lm-mod-active {\n background: var(--jp-layout-color2);\n}\n\n.lm-MenuBar.lm-mod-active .lm-MenuBar-item.lm-mod-active {\n z-index: 10001;\n background: var(--jp-layout-color0);\n color: var(--jp-ui-font-color0);\n border-left: var(--jp-border-width) solid var(--jp-border-color1);\n border-right: var(--jp-border-width) solid var(--jp-border-color1);\n box-shadow: var(--jp-elevation-z6);\n}\n\n/* stylelint-disable-next-line selector-max-class */\n.jp-LabShell[data-shell-mode='single-document']\n .lm-MenuBar.lm-mod-active\n .lm-MenuBar-item.lm-mod-active {\n border-top: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n.lm-MenuBar-item.lm-mod-disabled {\n color: var(--jp-ui-font-color3);\n}\n\n.lm-MenuBar-item.lm-type-separator {\n margin: 2px;\n padding: 0;\n border: none;\n border-left: var(--jp-border-width) solid var(--jp-border-color2);\n}\n\n.lm-MenuBar-itemMnemonic {\n text-decoration: underline;\n}\n\n/*-----------------------------------------------------------------------------\n| Menu\n|----------------------------------------------------------------------------*/\n\n.lm-Menu {\n z-index: 10000;\n padding: 4px 0;\n background: var(--jp-layout-color0);\n color: var(--jp-ui-font-color0);\n border: var(--jp-border-width) solid var(--jp-border-color1);\n font-size: var(--jp-ui-font-size1);\n box-shadow: var(--jp-elevation-z6);\n}\n\n.lm-Menu-item {\n min-height: var(--jp-private-menu-item-height);\n max-height: var(--jp-private-menu-item-height);\n padding: 0;\n line-height: var(--jp-private-menu-item-height);\n}\n\n.lm-Menu-item.lm-mod-active {\n background: var(--jp-layout-color2);\n}\n\n.lm-Menu-item.lm-mod-disabled {\n color: var(--jp-ui-font-color3);\n}\n\n.lm-Menu-itemIcon {\n width: 21px;\n padding: 0 2px 0 4px;\n margin-top: -2px;\n}\n\n.lm-Menu-itemLabel {\n padding: 0 32px 0 2px;\n}\n\n.lm-Menu-itemMnemonic {\n text-decoration: underline;\n}\n\n.lm-Menu-itemShortcut {\n padding: 0;\n}\n\n.lm-Menu-itemSubmenuIcon {\n width: 18px;\n padding: 0 4px 0 0;\n}\n\n.lm-Menu-item[data-type='separator'] > div {\n padding: 0;\n height: 9px;\n}\n\n.lm-Menu-item[data-type='separator'] > div::after {\n content: '';\n display: block;\n position: relative;\n top: 4px;\n border-top: var(--jp-border-width) solid var(--jp-layout-color2);\n mix-blend-mode: multiply;\n}\n\n/* gray out icon/caret for disabled menu items */\n.lm-Menu-item.lm-mod-disabled > .lm-Menu-itemIcon,\n.lm-Menu-item[data-type='submenu'].lm-mod-disabled > .lm-Menu-itemSubmenuIcon {\n opacity: 0.4;\n}\n",""]);const l=a},10891:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*\n * Mozilla scrollbar styling\n */\n\n/* use standard opaque scrollbars for most nodes */\n[data-jp-theme-scrollbars='true'] {\n scrollbar-color: rgb(var(--jp-scrollbar-thumb-color))\n var(--jp-scrollbar-background-color);\n}\n\n/* for code nodes, use a transparent style of scrollbar. These selectors\n * will match lower in the tree, and so will override the above */\n[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,\n[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar {\n scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;\n}\n\n/* tiny scrollbar */\n\n.jp-scrollbar-tiny {\n scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;\n scrollbar-width: thin;\n}\n\n/* tiny scrollbar */\n\n.jp-scrollbar-tiny::-webkit-scrollbar,\n.jp-scrollbar-tiny::-webkit-scrollbar-corner {\n background-color: transparent;\n height: 4px;\n width: 4px;\n}\n\n.jp-scrollbar-tiny::-webkit-scrollbar-thumb {\n background: rgba(var(--jp-scrollbar-thumb-color), 0.5);\n}\n\n.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {\n border-left: 0 solid transparent;\n border-right: 0 solid transparent;\n}\n\n.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {\n border-top: 0 solid transparent;\n border-bottom: 0 solid transparent;\n}\n\n/*\n * Lumino\n */\n\n.lm-ScrollBar[data-orientation='horizontal'] {\n min-height: 16px;\n max-height: 16px;\n min-width: 45px;\n border-top: 1px solid #a0a0a0;\n}\n\n.lm-ScrollBar[data-orientation='vertical'] {\n min-width: 16px;\n max-width: 16px;\n min-height: 45px;\n border-left: 1px solid #a0a0a0;\n}\n\n.lm-ScrollBar-button {\n background-color: #f0f0f0;\n background-position: center center;\n min-height: 15px;\n max-height: 15px;\n min-width: 15px;\n max-width: 15px;\n}\n\n.lm-ScrollBar-button:hover {\n background-color: #dadada;\n}\n\n.lm-ScrollBar-button.lm-mod-active {\n background-color: #cdcdcd;\n}\n\n.lm-ScrollBar-track {\n background: #f0f0f0;\n}\n\n.lm-ScrollBar-thumb {\n background: #cdcdcd;\n}\n\n.lm-ScrollBar-thumb:hover {\n background: #bababa;\n}\n\n.lm-ScrollBar-thumb.lm-mod-active {\n background: #a0a0a0;\n}\n\n.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb {\n height: 100%;\n min-width: 15px;\n border-left: 1px solid #a0a0a0;\n border-right: 1px solid #a0a0a0;\n}\n\n.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb {\n width: 100%;\n min-height: 15px;\n border-top: 1px solid #a0a0a0;\n border-bottom: 1px solid #a0a0a0;\n}\n\n.lm-ScrollBar[data-orientation='horizontal']\n .lm-ScrollBar-button[data-action='decrement'] {\n background-image: var(--jp-icon-caret-left);\n background-size: 17px;\n}\n\n.lm-ScrollBar[data-orientation='horizontal']\n .lm-ScrollBar-button[data-action='increment'] {\n background-image: var(--jp-icon-caret-right);\n background-size: 17px;\n}\n\n.lm-ScrollBar[data-orientation='vertical']\n .lm-ScrollBar-button[data-action='decrement'] {\n background-image: var(--jp-icon-caret-up);\n background-size: 17px;\n}\n\n.lm-ScrollBar[data-orientation='vertical']\n .lm-ScrollBar-button[data-action='increment'] {\n background-image: var(--jp-icon-caret-down);\n background-size: 17px;\n}\n",""]);const l=a},40348:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-private-sidebar-tab-width: 32px;\n}\n\n/*-----------------------------------------------------------------------------\n| SideBar\n|----------------------------------------------------------------------------*/\n\n.jp-SideBar {\n /* This is needed so that all font sizing of children done in ems is\n * relative to this base size */\n font-size: var(--jp-ui-font-size1);\n}\n\n.jp-SideBar.lm-TabBar,\n#jp-down-stack .lm-TabBar {\n color: var(--jp-ui-font-color2);\n background: var(--jp-layout-color2);\n font-size: var(--jp-ui-font-size1);\n overflow: visible;\n}\n\n.jp-SideBar.lm-TabBar {\n min-width: calc(var(--jp-private-sidebar-tab-width) + var(--jp-border-width));\n max-width: calc(var(--jp-private-sidebar-tab-width) + var(--jp-border-width));\n display: block;\n}\n\n.jp-SideBar .lm-TabBar-content {\n margin: 0;\n padding: 0;\n display: flex;\n align-items: stretch;\n list-style-type: none;\n height: var(--jp-private-sidebar-tab-width);\n}\n\n.jp-SideBar .lm-TabBar-tab {\n padding: 16px 0;\n border: none;\n overflow: visible;\n flex-direction: column;\n position: relative;\n}\n\n.jp-SideBar .lm-TabBar-tab:focus-visible {\n /* --accent-fill-focus is computed by the jp toolkit to ensure accessibility */\n outline: 2px solid var(--accent-fill-focus, var(--jp-brand-color1));\n outline-offset: -3px;\n}\n\n.jp-SideBar .lm-TabBar-tab.lm-mod-current::after {\n /* Internal border override pseudo-element */\n position: absolute;\n content: '';\n bottom: 0;\n right: 0;\n top: 0;\n left: 0;\n border: var(--jp-border-width) solid var(--jp-layout-color1);\n}\n\n.jp-SideBar .lm-TabBar-tab:not(.lm-mod-current),\n#jp-down-stack .lm-TabBar-tab:not(.lm-mod-current) {\n background: var(--jp-layout-color2);\n}\n\n.jp-SideBar .lm-TabBar-tabIcon.jp-SideBar-tabIcon {\n min-width: 20px;\n min-height: 20px;\n background-size: 20px;\n display: inline-block;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n}\n\n.jp-SideBar .lm-TabBar-tabLabel {\n line-height: var(--jp-private-sidebar-tab-width);\n}\n\n.jp-SideBar .lm-TabBar-tab:hover:not(.lm-mod-current),\n#jp-down-stack .lm-TabBar-tab:hover:not(.lm-mod-current) {\n background: var(--jp-layout-color1);\n}\n\n.jp-SideBar.lm-TabBar::after {\n /* Internal border pseudo-element */\n position: absolute;\n content: '';\n bottom: 0;\n right: 0;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n\n/* Borders */\n\n/* stylelint-disable selector-max-class */\n\n.jp-SideBar.lm-TabBar .lm-TabBar-tab + .lm-TabBar-tab {\n border-top: var(--jp-border-width) solid var(--jp-layout-color2);\n}\n\n.jp-SideBar.lm-TabBar .lm-TabBar-tab.lm-mod-current + .lm-TabBar-tab {\n border-top: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n.jp-SideBar.lm-TabBar .lm-TabBar-tab + .lm-TabBar-tab.lm-mod-current {\n border-top: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n.jp-SideBar.lm-TabBar .lm-TabBar-tab.lm-mod-current:last-child {\n border-bottom: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n.jp-SideBar.lm-TabBar .lm-TabBar-tabLabel {\n writing-mode: vertical-rl;\n}\n\n/* Left */\n\n/* Borders */\n\n.jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-content {\n /* Internal border spacing */\n margin-right: var(--jp-border-width);\n}\n\n.jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-tab.lm-mod-current::after {\n /* Internal border override */\n right: calc(-1 * var(--jp-border-width));\n}\n\n.jp-SideBar.lm-TabBar.jp-mod-left::after {\n /* Internal border */\n border-right: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n/* Transforms */\n\n.jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-tabLabel {\n transform: rotate(180deg);\n}\n\n/* Right */\n\n/* Borders */\n\n.jp-SideBar.lm-TabBar.jp-mod-right .lm-TabBar-content {\n /* Internal border spacing */\n margin-left: var(--jp-border-width);\n}\n\n.jp-SideBar.lm-TabBar.jp-mod-right .lm-TabBar-tab.lm-mod-current::after {\n /* Internal border override */\n left: calc(-1 * var(--jp-border-width));\n}\n\n.jp-SideBar.lm-TabBar.jp-mod-right::after {\n /* Internal border */\n border-left: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n/* Down */\n\n/* Borders */\n\n#jp-down-stack > .lm-TabBar {\n border-top: var(--jp-border-width) solid var(--jp-border-color0);\n border-bottom: var(--jp-border-width) solid var(--jp-border-color0);\n}\n\n#jp-down-stack > .lm-TabBar .lm-TabBar-tab {\n border-left: none;\n border-right: none;\n}\n\n#jp-down-stack > .lm-TabBar .lm-TabBar-tab.lm-mod-current {\n border: var(--jp-border-width) solid var(--jp-border-color1);\n border-bottom: none;\n transform: translateY(var(--jp-border-width));\n}\n\n#jp-down-stack > .lm-TabBar .lm-TabBar-tab.lm-mod-current:first-child {\n border: none;\n border-right: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n/* stylelint-enable selector-max-class */\n\n/* Stack panels */\n\n#jp-left-stack > .lm-Widget,\n#jp-right-stack > .lm-Widget {\n min-width: var(--jp-sidebar-min-width);\n background-color: var(--jp-layout-color1);\n}\n\n#jp-right-stack {\n border-left: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n#jp-left-stack {\n border-right: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n#jp-down-stack > .lm-TabPanel-stackedPanel {\n border: none;\n}\n",""]);const l=a},93768:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n|\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-skiplink-wrapper {\n overflow: visible;\n\n /* override strict containment added via Lumino PR\n [#506](https://github.com/jupyterlab/lumino/pull/506) */\n contain: size style !important;\n}\n\n.jp-skiplink {\n position: absolute;\n top: -100em;\n}\n\n.jp-skiplink:focus-within {\n position: absolute;\n z-index: 10000;\n top: 0;\n left: 46%;\n margin: 0 auto;\n padding: 1em;\n width: 15%;\n box-shadow: var(--jp-elevation-z4);\n border-radius: 4px;\n background: var(--jp-layout-color0);\n text-align: center;\n}\n\n.jp-skiplink:focus-within a {\n text-decoration: underline;\n color: var(--jp-content-link-color);\n}\n",""]);const l=a},83161:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n /* These need to be root because tabs get attached to the body during dragging. */\n --jp-private-horizontal-tab-height: 24px;\n --jp-private-horizontal-tab-width: 216px;\n --jp-private-horizontal-tab-active-top-border: 2px;\n}\n\n/*-----------------------------------------------------------------------------\n| Tabs in the dock panel\n|----------------------------------------------------------------------------*/\n\n.lm-DockPanel-tabBar,\n.lm-TabPanel-tabBar {\n overflow: visible;\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size1);\n}\n\n.lm-DockPanel-tabBar[data-orientation='horizontal'],\n.lm-TabPanel-tabBar[data-orientation='horizontal'] {\n min-height: calc(\n var(--jp-private-horizontal-tab-height) + 2 * var(--jp-border-width)\n );\n}\n\n.lm-DockPanel-tabBar[data-orientation='vertical'] {\n min-width: 80px;\n}\n\n.lm-DockPanel-tabBar > .lm-TabBar-content,\n.lm-TabPanel-tabBar > .lm-TabBar-content {\n align-items: flex-end;\n min-width: 0;\n min-height: 0;\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab,\n.lm-TabPanel-tabBar .lm-TabBar-tab {\n flex: 0 1 var(--jp-private-horizontal-tab-width);\n align-items: center;\n min-height: calc(\n var(--jp-private-horizontal-tab-height) + 2 * var(--jp-border-width)\n );\n min-width: 0;\n margin-left: calc(-1 * var(--jp-border-width));\n line-height: var(--jp-private-horizontal-tab-height);\n padding: 0 8px;\n background: var(--jp-layout-color2);\n border: var(--jp-border-width) solid var(--jp-border-color1);\n border-bottom: none;\n position: relative;\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab:focus-visible,\n.lm-DockPanel-tabBar .lm-TabBar-addButton:focus-visible,\n.lm-TabPanel-tabBar .lm-TabBar-tab:focus-visible {\n border: 1px solid var(--accent-fill-focus);\n border-bottom: none;\n\n /* Thicken the border by 1px within the element border */\n box-shadow: 0 0 0 1px inset var(--accent-fill-focus);\n outline: none;\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab:not(.lm-mod-current):focus-visible::after,\n.lm-TabPanel-tabBar .lm-TabBar-tab:not(.lm-mod-current):focus-visible::after {\n border-bottom-color: var(--accent-fill-focus);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab:hover:not(.lm-mod-current),\n.lm-TabPanel-tabBar .lm-TabBar-tab:hover:not(.lm-mod-current) {\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab:not(.lm-mod-current)::after,\n.lm-DockPanel-tabBar .lm-TabBar-addButton::after {\n position: absolute;\n content: '';\n bottom: 0;\n left: calc(-1 * var(--jp-border-width));\n width: calc(100% + 2 * var(--jp-border-width));\n border-bottom: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab:first-child,\n.lm-TabPanel-tabBar .lm-TabBar-tab:first-child {\n margin-left: 0;\n}\n\n/* This is a current tab of a tab bar in the dock panel: each tab bar has 1. */\n.lm-DockPanel-tabBar .lm-TabBar-tab.lm-mod-current {\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n}\n\n.lm-TabPanel-tabBar .lm-TabBar-tab.lm-mod-current {\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n}\n\n/* This is the main application level current tab: only 1 exists. */\n.lm-DockPanel-tabBar .lm-TabBar-tab.jp-mod-current::before {\n position: absolute;\n top: calc(-1 * var(--jp-border-width) + 1px);\n left: calc(-1 * var(--jp-border-width));\n content: '';\n height: var(--jp-private-horizontal-tab-active-top-border);\n width: calc(100% + 2 * var(--jp-border-width));\n background: var(--jp-brand-color1);\n}\n\n/* This is the left tab bar current tab: only 1 exists. */\n.lm-TabBar-tab.lm-mod-current {\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-left .lm-TabBar-tab,\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab {\n flex: 0 1 40px;\n margin-top: -1px;\n line-height: 40px;\n}\n\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-left .lm-TabBar-tab {\n border-right: none;\n}\n\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab {\n border-left: none;\n}\n\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-left .lm-TabBar-tab:first-child,\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab:first-child {\n margin-top: 0;\n}\n\n/* stylelint-disable selector-max-class */\n\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-left .lm-TabBar-tab.lm-mod-current,\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab.lm-mod-current {\n min-width: 80px;\n max-width: 80px;\n}\n\n.lm-DockPanel-tabBar .lm-TabBar.lm-mod-right .lm-TabBar-tab.lm-mod-current {\n transform: translateX(-1px);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab .lm-TabBar-tabIcon,\n.lm-TabBar-tab.lm-mod-drag-image .lm-TabBar-tabIcon,\n.lm-TabPanel-tabBar .lm-TabBar-tab .lm-TabBar-tabIcon {\n width: 14px;\n background-position: left center;\n background-repeat: no-repeat;\n background-size: 14px;\n margin-right: 4px;\n}\n\n/* stylelint-enable selector-max-class */\n\n.lm-TabBar-tab.lm-mod-drag-image {\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n border: var(--jp-border-width) solid var(--jp-border-color1);\n border-top: var(--jp-border-width) solid var(--jp-brand-color1);\n box-shadow: var(--jp-elevation-z4);\n font-size: var(--jp-ui-font-size1);\n line-height: var(--jp-private-horizontal-tab-height);\n min-height: var(--jp-private-horizontal-tab-height);\n min-width: var(--jp-private-horizontal-tab-width);\n padding: 0 10px;\n transform: translateX(-40%) translateY(-58%);\n}\n",""]);const l=a},43701:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-private-title-panel-height: 28px;\n}\n\n#jp-title-panel {\n min-height: var(--jp-private-title-panel-height);\n width: 100%;\n display: flex;\n background: var(--jp-layout-color1);\n}\n\n#jp-title-panel-title {\n flex: 1 1 auto;\n margin-left: 8px;\n}\n\n#jp-title-panel-title input {\n background: transparent;\n margin: 0;\n height: 28px;\n width: 100%;\n box-sizing: border-box;\n border: none;\n font-size: 18px;\n font-weight: normal;\n font-family: var(--jp-ui-font-family);\n line-height: var(--jp-private-title-panel-height);\n color: var(--jp-ui-font-color0);\n outline: none;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n",""]);const l=a},61510:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(7924);var l=n(97980);var d=n(1165);var c=r()(s());c.i(a.A);c.i(l.A);c.i(d.A);c.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n",""]);const h=c},1165:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n:root {\n --jp-private-shortcuts-key-padding-horizontal: 0.47em;\n --jp-private-shortcuts-key-padding-vertical: 0.28em;\n --jp-private-shortcuts-label-padding-horizontal: 0.47em;\n}\n\n.jp-ContextualShortcut-TableRow {\n font-size: var(--jp-ui-font-size1);\n font-family: var(--jp-ui-font-family);\n}\n\n.jp-ContextualShortcut-TableItem {\n margin-left: auto;\n margin-right: auto;\n color: var(--jp-inverse-layout-color0);\n font-size: var(--jp-ui-font-size1);\n line-height: 2em;\n padding-right: var(--jp-private-shortcuts-label-padding-horizontal);\n}\n\n.jp-ContextualShortcut-TableLastRow {\n height: 2em;\n}\n\n.jp-ContextualShortcut-Key {\n font-family: var(--jp-code-font-family);\n border-width: var(--jp-border-width);\n border-radius: var(--jp-border-radius);\n border-style: solid;\n border-color: var(--jp-border-color1);\n color: var(--jp-ui-font-color1);\n background: var(--jp-layout-color1);\n padding-left: var(--jp-private-shortcuts-key-padding-horizontal);\n padding-right: var(--jp-private-shortcuts-key-padding-horizontal);\n padding-top: var(--jp-private-shortcuts-key-padding-vertical);\n padding-bottom: var(--jp-private-shortcuts-key-padding-vertical);\n}\n",""]);const l=a},7924:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(9112);var l=r()(s());l.i(a.A);l.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n:root {\n --toastify-color-light: var(--jp-layout-color1);\n --toastify-color-dark: var(--jp-layout-color1);\n --toastify-color-info: var(--jp-info-color1);\n --toastify-color-success: var(--jp-success-color1);\n --toastify-color-warning: var(--jp-warn-color1);\n --toastify-color-error: var(--jp-error-color1);\n --toastify-color-transparent: rgba(255, 255, 255, 0.7);\n --toastify-icon-color-info: var(--toastify-color-info);\n --toastify-icon-color-success: var(--toastify-color-success);\n --toastify-icon-color-warning: var(--toastify-color-warning);\n --toastify-icon-color-error: var(--toastify-color-error);\n --toastify-toast-width: 25em;\n --toastify-toast-background: var(--jp-layout-color1);\n --toastify-toast-min-height: 64px;\n --toastify-toast-max-height: 800px;\n --toastify-font-family: var(--jp-ui-font-family);\n --toastify-z-index: 9999;\n --toastify-text-color-light: var(--jp-ui-font-color1);\n --toastify-text-color-dark: var(--jp-ui-font-color1);\n --toastify-text-color-info: var(--jp-ui-font-color1);\n --toastify-text-color-success: var(--jp-ui-font-color1);\n --toastify-text-color-warning: var(--jp-ui-font-color1);\n --toastify-text-color-error: var(--jp-ui-font-color1);\n --toastify-spinner-color: #616161;\n --toastify-spinner-color-empty-area: #e0e0e0;\n --toastify-color-progress-light: linear-gradient(\n to right,\n #4cd964,\n #5ac8fa,\n #007aff,\n #34aadc,\n #5856d6,\n #ff2d55\n );\n --toastify-color-progress-dark: #bb86fc;\n --toastify-color-progress-info: var(--toastify-color-info);\n --toastify-color-progress-success: var(--toastify-color-success);\n --toastify-color-progress-warning: var(--toastify-color-warning);\n --toastify-color-progress-error: var(--toastify-color-error);\n}\n\n.jp-Notification-List {\n list-style: none;\n margin: 0;\n padding: 4px;\n width: var(--toastify-toast-width);\n overflow-y: auto;\n max-height: 55vh;\n box-sizing: border-box;\n background-color: var(--jp-layout-color2);\n}\n\n.jp-Notification-Header {\n display: flex;\n font-size: var(--jp-ui-font-size1);\n padding-left: 8px;\n padding-right: 4px;\n margin: 0;\n align-items: center;\n user-select: none;\n}\n\n.jp-Notification-List-Item {\n padding: 2px 0;\n}\n\n.jp-Notification-List .Toastify__toast {\n margin: 0;\n}\n\n.jp-Notification-Status.jp-mod-selected {\n background-color: var(--jp-brand-color1);\n}\n\n.jp-Notification-Status.jp-mod-selected .jp-Notification-Status-Text {\n color: var(--jp-ui-inverse-font-color1);\n}\n\n.Toastify__toast {\n min-height: unset;\n padding: 4px;\n font-size: var(--jp-ui-font-size1);\n border-width: var(--jp-border-width);\n border-radius: var(--jp-border-radius);\n border-color: var(--jp-border-color1);\n box-shadow: var(--jp-elevation-z4);\n cursor: default;\n}\n\n.Toastify__toast-body {\n display: flex;\n flex-grow: 1;\n}\n\n.jp-Notification-Toast-Close {\n padding: 0;\n position: absolute;\n right: 0.1px;\n cursor: pointer;\n}\n\n.jp-Notification-Toast-Close-Margin {\n margin-right: 4px;\n}\n\n.jp-toastContainer .jp-Notification-Toast-Close:hover {\n /* The close button has its own hover style */\n background: none;\n}\n\n.Toastify__toast.jp-Notification-Toast-error {\n border-top: 5px solid var(--jp-error-color1);\n}\n\n.Toastify__toast.jp-Notification-Toast-warning {\n border-top: 5px solid var(--jp-warn-color1);\n}\n\n.Toastify__toast.jp-Notification-Toast-info {\n border-top: 5px solid var(--jp-info-color1);\n}\n\n.Toastify__toast.jp-Notification-Toast-success {\n border-top: 5px solid var(--jp-success-color1);\n}\n\n.Toastify__toast.jp-Notification-Toast-in-progress {\n border-top: 5px solid var(--jp-layout-color1);\n}\n\n.Toastify__toast-body a {\n color: var(--jp-content-link-color);\n}\n\n.Toastify__toast-body a:hover {\n color: var(--jp-content-link-color);\n text-decoration: underline;\n}\n\n.jp-toast-message {\n padding-inline-end: 16px;\n}\n\n/* p elements are added by the markdown rendering.\n * Removing its default margin allows to reduce toast size.\n */\n.Toastify__toast-body p:first-child,\n.Toastify__toast-body h1:first-child,\n.Toastify__toast-body h2:first-child,\n.Toastify__toast-body h3:first-child,\n.Toastify__toast-body h4:first-child,\n.Toastify__toast-body h5:first-child,\n.Toastify__toast-body h6:first-child,\n.Toastify__toast-body ol:first-child,\n.Toastify__toast-body ul:first-child {\n margin-top: 0;\n}\n\n.Toastify__toast-body p:last-child,\n.Toastify__toast-body h1:last-child,\n.Toastify__toast-body h2:last-child,\n.Toastify__toast-body h3:last-child,\n.Toastify__toast-body h4:last-child,\n.Toastify__toast-body h5:last-child,\n.Toastify__toast-body h6:last-child,\n.Toastify__toast-body ol:last-child,\n.Toastify__toast-body ul:last-child {\n margin-bottom: 0;\n}\n\n.jp-toast-buttonBar {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n flex: 0 0 auto;\n padding-block-start: 8px;\n}\n\n.jp-toast-spacer {\n flex-grow: 1;\n flex-shrink: 1;\n}\n\n.jp-toast-button {\n margin-top: 1px;\n margin-bottom: 1px;\n margin-right: 0;\n margin-left: 3px;\n color: var(--jp-ui-font-color1);\n background-color: var(--jp-layout-color2);\n border: none;\n}\n\n.jp-toast-button:focus {\n outline: 1px solid var(--jp-reject-color-normal, var(--jp-layout-color2));\n outline-offset: 1px;\n -moz-outline-radius: 0;\n}\n\n.jp-toast-button:focus-visible {\n border: none;\n}\n\n.jp-toast-button:hover {\n background-color: var(--jp-layout-color3);\n}\n\n.jp-toast-button.jp-mod-accept {\n background: var(--jp-accept-color-normal, var(--jp-brand-color1));\n color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-toast-button.jp-mod-accept:focus {\n outline-color: var(--jp-accept-color-normal, var(--jp-brand-color1));\n}\n\n.jp-toast-button.jp-mod-accept:hover {\n background: var(--jp-accept-color-hover, var(--jp-brand-color0));\n}\n\n.jp-toast-button.jp-mod-warn {\n background: var(--jp-warn-color-normal, var(--jp-warn-color1));\n color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-toast-button.jp-mod-warn:focus {\n outline-color: var(--jp-warn-color-normal, var(--jp-warn-color1));\n}\n\n.jp-toast-button.jp-mod-warn:hover {\n background: var(--jp-warn-color-hover, var(--jp-warn-color0));\n}\n\n.jp-toast-button.jp-mod-link {\n color: var(--jp-content-link-color);\n text-decoration: underline;\n text-decoration-color: var(--jp-content-link-color);\n}\n",""]);const d=l},97980:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n#jupyterlab-splash {\n z-index: 10;\n position: absolute;\n overflow: hidden;\n width: 100%;\n height: 100%;\n background-position: center 40%;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n#jupyterlab-splash.light {\n background-color: white;\n}\n\n#jupyterlab-splash.dark {\n background-color: var(--md-grey-900, #212121);\n}\n\n.splash-fade {\n animation: 0.5s fade-out forwards;\n}\n\n#galaxy {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.planet {\n background-repeat: no-repeat;\n background-size: cover;\n animation-iteration-count: infinite;\n animation-name: orbit;\n}\n\n#moon1.orbit {\n opacity: 1;\n animation: orbit 2s ease;\n width: 200px;\n height: 140px;\n margin-top: -53px;\n margin-left: -54px;\n}\n\n#moon2.orbit {\n opacity: 1;\n animation: orbit 2s ease;\n width: 132px;\n height: 180px;\n margin-top: -66px;\n margin-left: -85px;\n}\n\n#moon3.orbit {\n opacity: 1;\n display: flex;\n align-items: flex-end;\n animation: orbit 2s ease;\n width: 220px;\n height: 166px;\n margin-top: -96px;\n margin-left: -50px;\n}\n\n#moon1 .planet {\n height: 12px;\n width: 12px;\n border-radius: 50%;\n}\n\n#moon2 .planet {\n height: 16px;\n width: 16px;\n border-radius: 50%;\n float: right;\n}\n\n#moon3 .planet {\n height: 20px;\n width: 20px;\n border-radius: 50%;\n}\n\n#jupyterlab-splash.light #moon1 .planet {\n background-color: #6f7070;\n}\n\n#jupyterlab-splash.light #moon2 .planet {\n background-color: #767677;\n}\n\n#jupyterlab-splash.light #moon3 .planet {\n background-color: #989798;\n}\n\n#jupyterlab-splash.dark #moon1 .planet,\n#jupyterlab-splash.dark #moon2 .planet,\n#jupyterlab-splash.dark #moon3 .planet {\n background-color: white;\n}\n\n.orbit {\n animation-iteration-count: 1;\n position: absolute;\n top: 50%;\n left: 50%;\n border-radius: 50%;\n}\n\n@keyframes orbit {\n 0% {\n transform: rotateZ(0deg);\n }\n\n 100% {\n transform: rotateZ(-720deg);\n }\n}\n\n@keyframes orbit2 {\n 0% {\n transform: rotateZ(0deg);\n }\n\n 100% {\n transform: rotateZ(720deg);\n }\n}\n\n@keyframes fade-in {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes fade-out {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n}\n",""]);const l=a},41510:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(28261);var l=n(52269);var d=n(5729);var c=n(48293);var h=n(17333);var u=n(76486);var p=n(8812);var m=r()(s());m.i(a.A);m.i(l.A);m.i(d.A);m.i(c.A);m.i(h.A);m.i(u.A);m.i(p.A);m.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n",""]);const g=m},28261:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-private-commandpalette-search-height: 28px;\n}\n\n/*-----------------------------------------------------------------------------\n| Overall styles\n|----------------------------------------------------------------------------*/\n\n.lm-CommandPalette {\n padding-bottom: 0;\n color: var(--jp-ui-font-color1);\n background: var(--jp-layout-color1);\n\n /* This is needed so that all font sizing of children done in ems is\n * relative to this base size */\n font-size: var(--jp-ui-font-size1);\n}\n\n/*-----------------------------------------------------------------------------\n| Modal variant\n|----------------------------------------------------------------------------*/\n\n.jp-ModalCommandPalette.jp-ThemedContainer {\n position: absolute;\n z-index: 10000;\n top: 38px;\n left: 30%;\n margin: 0;\n padding: 4px;\n width: 40%;\n box-shadow: var(--jp-elevation-z4);\n border-radius: 4px;\n background: var(--jp-layout-color0);\n}\n\n.jp-ModalCommandPalette .lm-CommandPalette {\n max-height: 40vh;\n}\n\n.jp-ModalCommandPalette .lm-CommandPalette .lm-close-icon::after {\n display: none;\n}\n\n.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-header {\n display: none;\n}\n\n.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item {\n margin-left: 4px;\n margin-right: 4px;\n}\n\n.jp-ModalCommandPalette\n .lm-CommandPalette\n .lm-CommandPalette-item.lm-mod-disabled {\n display: none;\n}\n\n/*-----------------------------------------------------------------------------\n| Search\n|----------------------------------------------------------------------------*/\n\n.lm-CommandPalette-search {\n padding: 4px;\n background-color: var(--jp-layout-color1);\n z-index: 2;\n}\n\n.lm-CommandPalette-wrapper {\n /* stylelint-disable-next-line csstree/validator */\n overflow: overlay;\n padding: 0 9px;\n background-color: var(--jp-input-active-background);\n height: 30px;\n box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);\n}\n\n.lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper {\n box-shadow:\n inset 0 0 0 1px var(--jp-input-active-box-shadow-color),\n inset 0 0 0 3px var(--jp-input-active-box-shadow-color);\n}\n\n.jp-SearchIconGroup {\n color: white;\n background-color: var(--jp-brand-color1);\n position: absolute;\n top: 4px;\n right: 4px;\n padding: 5px 5px 1px;\n}\n\n.jp-SearchIconGroup svg {\n height: 20px;\n width: 20px;\n}\n\n.jp-SearchIconGroup .jp-icon3[fill] {\n fill: var(--jp-layout-color0);\n}\n\n.lm-CommandPalette-input {\n background: transparent;\n width: calc(100% - 18px);\n float: left;\n border: none;\n outline: none;\n font-size: var(--jp-ui-font-size1);\n color: var(--jp-ui-font-color0);\n line-height: var(--jp-private-commandpalette-search-height);\n}\n\n.lm-CommandPalette-input::-webkit-input-placeholder,\n.lm-CommandPalette-input::-moz-placeholder,\n.lm-CommandPalette-input:-ms-input-placeholder {\n color: var(--jp-ui-font-color2);\n font-size: var(--jp-ui-font-size1);\n}\n\n/*-----------------------------------------------------------------------------\n| Results\n|----------------------------------------------------------------------------*/\n\n.lm-CommandPalette-header:first-child {\n margin-top: 0;\n}\n\n.lm-CommandPalette-header {\n border-bottom: solid var(--jp-border-width) var(--jp-border-color2);\n color: var(--jp-ui-font-color1);\n cursor: pointer;\n display: flex;\n font-size: var(--jp-ui-font-size0);\n font-weight: 600;\n letter-spacing: 1px;\n margin-top: 8px;\n padding: 8px 0 8px 12px;\n text-transform: uppercase;\n}\n\n.lm-CommandPalette-header.lm-mod-active {\n background: var(--jp-layout-color2);\n}\n\n.lm-CommandPalette-header > mark {\n background-color: transparent;\n font-weight: bold;\n color: var(--jp-ui-font-color1);\n}\n\n.lm-CommandPalette-item {\n padding: 4px 12px 4px 4px;\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size1);\n font-weight: 400;\n display: flex;\n}\n\n.lm-CommandPalette-item.lm-mod-disabled {\n color: var(--jp-ui-font-color2);\n}\n\n.lm-CommandPalette-item.lm-mod-active {\n color: var(--jp-ui-inverse-font-color1);\n background: var(--jp-brand-color1);\n}\n\n.lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark {\n color: var(--jp-ui-inverse-font-color0);\n}\n\n.lm-CommandPalette-item.lm-mod-active .jp-icon-selectable[fill] {\n fill: var(--jp-layout-color0);\n}\n\n.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {\n color: var(--jp-ui-inverse-font-color1);\n background: var(--jp-brand-color1);\n}\n\n.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) {\n background: var(--jp-layout-color2);\n}\n\n.lm-CommandPalette-itemContent {\n overflow: hidden;\n}\n\n.lm-CommandPalette-itemLabel > mark {\n color: var(--jp-ui-font-color0);\n background-color: transparent;\n font-weight: bold;\n}\n\n.lm-CommandPalette-item.lm-mod-disabled mark {\n color: var(--jp-ui-font-color2);\n}\n\n.lm-CommandPalette-item .lm-CommandPalette-itemIcon {\n margin: 0 4px 0 0;\n position: relative;\n width: 16px;\n top: 2px;\n flex: 0 0 auto;\n}\n\n.lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon {\n opacity: 0.6;\n}\n\n.lm-CommandPalette-item .lm-CommandPalette-itemShortcut {\n flex: 0 0 auto;\n}\n\n.lm-CommandPalette-itemCaption {\n display: none;\n}\n\n.lm-CommandPalette-content {\n background-color: var(--jp-layout-color1);\n}\n\n.lm-CommandPalette-content:empty::after {\n content: 'No results';\n margin: auto;\n margin-top: 20px;\n width: 100px;\n display: block;\n font-size: var(--jp-ui-font-size2);\n font-family: var(--jp-ui-font-family);\n font-weight: lighter;\n}\n\n.lm-CommandPalette-emptyMessage {\n text-align: center;\n margin-top: 24px;\n line-height: 1.32;\n padding: 0 8px;\n color: var(--jp-content-font-color3);\n}\n",""]);const l=a},52269:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Dialog.jp-ThemedContainer {\n position: absolute;\n z-index: 10000;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n background: var(--jp-dialog-background);\n /* stylelint-disable */\n container-type: inline-size;\n /* stylelint-enable */\n}\n\n.jp-Dialog-content {\n display: flex;\n flex-direction: column;\n margin-left: auto;\n margin-right: auto;\n background: var(--jp-layout-color1);\n padding: 24px 24px 12px;\n min-width: 300px;\n min-height: 150px;\n max-width: 1000px;\n max-height: 500px;\n box-sizing: border-box;\n box-shadow: var(--jp-elevation-z20);\n word-wrap: break-word;\n border-radius: var(--jp-border-radius);\n\n /* This is needed so that all font sizing of children done in ems is\n * relative to this base size */\n font-size: var(--jp-ui-font-size1);\n color: var(--jp-ui-font-color1);\n resize: both;\n overflow: hidden;\n}\n\n.jp-Dialog-content.jp-Dialog-content-small {\n max-width: 500px;\n}\n\n.jp-Dialog-button {\n overflow: visible;\n}\n\nbutton.jp-Dialog-button:disabled {\n opacity: 0.6;\n}\n\nbutton.jp-Dialog-button:focus {\n outline: 1px solid var(--jp-brand-color1);\n outline-offset: 4px;\n -moz-outline-radius: 0;\n}\n\nbutton.jp-Dialog-button:focus::-moz-focus-inner {\n border: 0;\n}\n\nbutton.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus,\nbutton.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus,\nbutton.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {\n outline-offset: 4px;\n -moz-outline-radius: 0;\n}\n\nbutton.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus {\n outline: 1px solid var(--jp-accept-color-normal, var(--jp-brand-color1));\n}\n\nbutton.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus {\n outline: 1px solid var(--jp-warn-color-normal, var(--jp-error-color1));\n}\n\nbutton.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {\n outline: 1px solid var(--jp-reject-color-normal, var(--md-grey-600, #757575));\n}\n\nbutton.jp-Dialog-close-button {\n padding: 0;\n height: 100%;\n min-width: unset;\n min-height: unset;\n}\n\n.jp-Dialog-header {\n display: flex;\n justify-content: space-between;\n flex: 0 0 auto;\n padding-bottom: 12px;\n font-size: var(--jp-ui-font-size3);\n font-weight: 400;\n color: var(--jp-ui-font-color1);\n}\n\n.jp-Dialog-body {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n font-size: var(--jp-ui-font-size1);\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n overflow: auto;\n}\n\n.jp-Dialog-footer {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: start;\n flex: 0 0 auto;\n gap: 5px;\n margin-left: -12px;\n margin-right: -12px;\n padding: 12px;\n}\n\n.jp-Dialog-footerButtons {\n width: 100%;\n text-align: end;\n}\n\n.jp-Dialog-checkbox {\n padding-right: 5px;\n display: flex;\n align-items: center;\n}\n\n.jp-Dialog-spacer {\n flex: 1 1 auto;\n}\n\n.jp-Dialog-title {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.jp-Dialog-body > .jp-select-wrapper {\n width: 100%;\n}\n\n.jp-Dialog-body > button {\n padding: 0 16px;\n}\n\n.jp-Dialog-body > label {\n line-height: 1.4;\n color: var(--jp-ui-font-color0);\n}\n\n.jp-Dialog-button.jp-mod-styled:not(:last-child) {\n margin-right: 12px;\n}\n\n/* stylelint-disable */\n@container (max-width: 560px) {\n /* stylelint-enable */\n .jp-Dialog-footer {\n flex-direction: column;\n align-items: center;\n gap: 7px;\n }\n}\n",""]);const l=a},5729:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-Input-Boolean-Dialog {\n flex-direction: row-reverse;\n align-items: end;\n width: 100%;\n}\n\n.jp-Input-Boolean-Dialog > label {\n flex: 1 1 auto;\n}\n\n.jp-InputDialog-inputWrapper {\n display: flex;\n align-items: baseline;\n}\n\n.jp-InputDialog-inputWrapper > input.jp-mod-styled:invalid {\n border-color: var(--jp-error-color0);\n background: var(--jp-error-color3);\n}\n\n.jp-InputDialog-inputWrapper\n > input[required].jp-mod-styled:invalid:placeholder-shown {\n /* Do not show invalid style when placeholder is shown */\n border-color: unset;\n background: unset;\n}\n",""]);const l=a},48293:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* licenses */\n.jp-Licenses {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n background-color: var(--jp-layout-color0);\n}\n\n.jp-Licenses-FormArea {\n display: flex;\n flex-direction: column;\n min-width: calc(10 * var(--jp-ui-font-size1));\n width: calc(18 * var(--jp-ui-font-size1));\n}\n\n.jp-Licenses .lm-SplitPanel-handle:hover {\n background-color: var(--jp-brand-color2);\n}\n\n/* filters */\n.jp-Licenses-Filters {\n padding: var(--jp-ui-font-size1) calc(var(--jp-ui-font-size1) / 2) 0\n var(--jp-ui-font-size1);\n}\n\n.jp-Licenses-Filters label {\n display: block;\n}\n\n.jp-Licenses-Filters-title {\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 1px;\n font-size: var(--jp-ui-font-size0);\n color: var(--jp-ui-font-color0);\n}\n\n.jp-RenderedHTMLCommon.jp-Licenses-Filters ul,\n.jp-RenderedHTMLCommon.jp-Licenses-Filters li {\n list-style: none;\n color: var(--jp-ui-font-color0);\n}\n\n.jp-Licenses-Filters input {\n width: 100%;\n}\n\n.jp-RenderedHTMLCommon.jp-Licenses-Filters ul {\n padding: 0 0 var(--jp-ui-font-size1) 0;\n margin: 0;\n padding-bottom: var(--jp-ui-font-size1);\n}\n\n/* bundles */\n.jp-Licenses-Bundles {\n background-color: var(--jp-layout-color2);\n overflow-y: auto;\n flex: 1;\n}\n\n.jp-Licenses-Bundles .lm-TabBar-content {\n width: 100%;\n}\n\n.jp-Licenses-Bundles .lm-TabBar-tab {\n padding: calc(var(--jp-ui-font-size1) / 2);\n background-color: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n}\n\n.jp-Licenses-Bundles .lm-TabBar-tabLabel {\n text-overflow: ellipsis;\n}\n\n.jp-Licenses-Bundles .lm-TabBar-tab label {\n background-color: var(--jp-layout-color2);\n border-radius: var(--jp-ui-font-size1);\n width: calc(2.5 * var(--jp-ui-font-size1));\n padding: 0 calc(var(--jp-ui-font-size1) / 2);\n text-align: center;\n margin-left: calc(var(--jp-ui-font-size1) / 2);\n}\n\n.jp-Licenses-Bundles .lm-TabBar-tab.lm-mod-current {\n background-color: var(--jp-brand-color1);\n color: #fff;\n}\n\n.jp-Licenses-Bundles .lm-TabBar-tab.lm-mod-current label {\n background-color: #fff;\n color: var(--jp-brand-color1);\n}\n\n/* license grid */\n.jp-Licenses-Grid.jp-RenderedHTMLCommon {\n min-width: calc(var(--jp-ui-font-size1) * 10);\n display: flex;\n flex-direction: column;\n padding: 0;\n}\n\n.jp-Licenses-Grid.jp-RenderedHTMLCommon form {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: scroll;\n margin: 0;\n padding: 0;\n}\n\n.jp-RenderedHTMLCommon.jp-Licenses-Grid table {\n flex: 1;\n max-width: 100%;\n border: solid var(--jp-border-width) var(--jp-border-color2);\n border-top: 0;\n border-bottom: 0;\n margin: 0;\n}\n\n.jp-Licenses-Grid.jp-RenderedHTMLCommon td,\n.jp-Licenses-Grid.jp-RenderedHTMLCommon th {\n text-align: left;\n}\n\n.jp-Licenses-Grid td:nth-child(1) {\n max-width: calc(2 * var(--jp-ui-font-size1));\n}\n\n.jp-Licenses-Grid label {\n width: 100%;\n}\n\n.jp-Licenses .jp-Licenses-Grid.jp-RenderedHTMLCommon code {\n background-color: transparent;\n padding: 0;\n}\n\n.jp-Licenses-Grid.jp-RenderedHTMLCommon tr.jp-mod-selected {\n background-color: var(--jp-brand-color1);\n color: #fff;\n}\n\n.jp-Licenses-Grid.jp-RenderedHTMLCommon .jp-mod-selected code {\n color: #fff;\n}\n\n/* license text */\n.jp-Licenses-Text {\n min-width: calc(10 * var(--jp-ui-font-size1));\n padding: 0 0 0 var(--jp-ui-font-size1);\n display: flex;\n flex-direction: column;\n}\n\n.jp-Licenses-Text h1 {\n flex: initial;\n margin-bottom: 0;\n}\n\n.jp-Licenses-Text h1:empty {\n display: none;\n}\n\n.jp-Licenses-Text blockquote {\n flex: initial;\n}\n\n.jp-Licenses-Text.jp-RenderedHTMLCommon code {\n overflow-wrap: anywhere;\n overflow-y: auto;\n flex: 1;\n padding-right: var(--jp-ui-font-size1);\n margin-bottom: 0;\n padding-bottom: var(--jp-ui-font-size1);\n}\n\n.jp-Licenses-Text code:empty {\n display: none;\n}\n",""]);const l=a},17333:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-MainAreaWidget > :focus {\n outline: none;\n}\n\n.jp-MainAreaWidget .jp-MainAreaWidget-error {\n padding: 6px;\n}\n\n.jp-MainAreaWidget .jp-MainAreaWidget-error > pre {\n width: auto;\n padding: 10px;\n background: var(--jp-error-color3);\n border: var(--jp-border-width) solid var(--jp-error-color1);\n border-radius: var(--jp-border-radius);\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size1);\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n",""]);const l=a},76486:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/**\n * google-material-color v1.2.6\n * https://github.com/danlevan/google-material-color\n */\n:root {\n --md-red-50: #ffebee;\n --md-red-100: #ffcdd2;\n --md-red-200: #ef9a9a;\n --md-red-300: #e57373;\n --md-red-400: #ef5350;\n --md-red-500: #f44336;\n --md-red-600: #e53935;\n --md-red-700: #d32f2f;\n --md-red-800: #c62828;\n --md-red-900: #b71c1c;\n --md-red-A100: #ff8a80;\n --md-red-A200: #ff5252;\n --md-red-A400: #ff1744;\n --md-red-A700: #d50000;\n --md-pink-50: #fce4ec;\n --md-pink-100: #f8bbd0;\n --md-pink-200: #f48fb1;\n --md-pink-300: #f06292;\n --md-pink-400: #ec407a;\n --md-pink-500: #e91e63;\n --md-pink-600: #d81b60;\n --md-pink-700: #c2185b;\n --md-pink-800: #ad1457;\n --md-pink-900: #880e4f;\n --md-pink-A100: #ff80ab;\n --md-pink-A200: #ff4081;\n --md-pink-A400: #f50057;\n --md-pink-A700: #c51162;\n --md-purple-50: #f3e5f5;\n --md-purple-100: #e1bee7;\n --md-purple-200: #ce93d8;\n --md-purple-300: #ba68c8;\n --md-purple-400: #ab47bc;\n --md-purple-500: #9c27b0;\n --md-purple-600: #8e24aa;\n --md-purple-700: #7b1fa2;\n --md-purple-800: #6a1b9a;\n --md-purple-900: #4a148c;\n --md-purple-A100: #ea80fc;\n --md-purple-A200: #e040fb;\n --md-purple-A400: #d500f9;\n --md-purple-A700: #a0f;\n --md-deep-purple-50: #ede7f6;\n --md-deep-purple-100: #d1c4e9;\n --md-deep-purple-200: #b39ddb;\n --md-deep-purple-300: #9575cd;\n --md-deep-purple-400: #7e57c2;\n --md-deep-purple-500: #673ab7;\n --md-deep-purple-600: #5e35b1;\n --md-deep-purple-700: #512da8;\n --md-deep-purple-800: #4527a0;\n --md-deep-purple-900: #311b92;\n --md-deep-purple-A100: #b388ff;\n --md-deep-purple-A200: #7c4dff;\n --md-deep-purple-A400: #651fff;\n --md-deep-purple-A700: #6200ea;\n --md-indigo-50: #e8eaf6;\n --md-indigo-100: #c5cae9;\n --md-indigo-200: #9fa8da;\n --md-indigo-300: #7986cb;\n --md-indigo-400: #5c6bc0;\n --md-indigo-500: #3f51b5;\n --md-indigo-600: #3949ab;\n --md-indigo-700: #303f9f;\n --md-indigo-800: #283593;\n --md-indigo-900: #1a237e;\n --md-indigo-A100: #8c9eff;\n --md-indigo-A200: #536dfe;\n --md-indigo-A400: #3d5afe;\n --md-indigo-A700: #304ffe;\n --md-blue-50: #e3f2fd;\n --md-blue-100: #bbdefb;\n --md-blue-200: #90caf9;\n --md-blue-300: #64b5f6;\n --md-blue-400: #42a5f5;\n --md-blue-500: #2196f3;\n --md-blue-600: #1e88e5;\n --md-blue-700: #1976d2;\n --md-blue-800: #1565c0;\n --md-blue-900: #0d47a1;\n --md-blue-A100: #82b1ff;\n --md-blue-A200: #448aff;\n --md-blue-A400: #2979ff;\n --md-blue-A700: #2962ff;\n --md-light-blue-50: #e1f5fe;\n --md-light-blue-100: #b3e5fc;\n --md-light-blue-200: #81d4fa;\n --md-light-blue-300: #4fc3f7;\n --md-light-blue-400: #29b6f6;\n --md-light-blue-500: #03a9f4;\n --md-light-blue-600: #039be5;\n --md-light-blue-700: #0288d1;\n --md-light-blue-800: #0277bd;\n --md-light-blue-900: #01579b;\n --md-light-blue-A100: #80d8ff;\n --md-light-blue-A200: #40c4ff;\n --md-light-blue-A400: #00b0ff;\n --md-light-blue-A700: #0091ea;\n --md-cyan-50: #e0f7fa;\n --md-cyan-100: #b2ebf2;\n --md-cyan-200: #80deea;\n --md-cyan-300: #4dd0e1;\n --md-cyan-400: #26c6da;\n --md-cyan-500: #00bcd4;\n --md-cyan-600: #00acc1;\n --md-cyan-700: #0097a7;\n --md-cyan-800: #00838f;\n --md-cyan-900: #006064;\n --md-cyan-A100: #84ffff;\n --md-cyan-A200: #18ffff;\n --md-cyan-A400: #00e5ff;\n --md-cyan-A700: #00b8d4;\n --md-teal-50: #e0f2f1;\n --md-teal-100: #b2dfdb;\n --md-teal-200: #80cbc4;\n --md-teal-300: #4db6ac;\n --md-teal-400: #26a69a;\n --md-teal-500: #009688;\n --md-teal-600: #00897b;\n --md-teal-700: #00796b;\n --md-teal-800: #00695c;\n --md-teal-900: #004d40;\n --md-teal-A100: #a7ffeb;\n --md-teal-A200: #64ffda;\n --md-teal-A400: #1de9b6;\n --md-teal-A700: #00bfa5;\n --md-green-50: #e8f5e9;\n --md-green-100: #c8e6c9;\n --md-green-200: #a5d6a7;\n --md-green-300: #81c784;\n --md-green-400: #66bb6a;\n --md-green-500: #4caf50;\n --md-green-600: #43a047;\n --md-green-700: #388e3c;\n --md-green-800: #2e7d32;\n --md-green-900: #1b5e20;\n --md-green-A100: #b9f6ca;\n --md-green-A200: #69f0ae;\n --md-green-A400: #00e676;\n --md-green-A700: #00c853;\n --md-light-green-50: #f1f8e9;\n --md-light-green-100: #dcedc8;\n --md-light-green-200: #c5e1a5;\n --md-light-green-300: #aed581;\n --md-light-green-400: #9ccc65;\n --md-light-green-500: #8bc34a;\n --md-light-green-600: #7cb342;\n --md-light-green-700: #689f38;\n --md-light-green-800: #558b2f;\n --md-light-green-900: #33691e;\n --md-light-green-A100: #ccff90;\n --md-light-green-A200: #b2ff59;\n --md-light-green-A400: #76ff03;\n --md-light-green-A700: #64dd17;\n --md-lime-50: #f9fbe7;\n --md-lime-100: #f0f4c3;\n --md-lime-200: #e6ee9c;\n --md-lime-300: #dce775;\n --md-lime-400: #d4e157;\n --md-lime-500: #cddc39;\n --md-lime-600: #c0ca33;\n --md-lime-700: #afb42b;\n --md-lime-800: #9e9d24;\n --md-lime-900: #827717;\n --md-lime-A100: #f4ff81;\n --md-lime-A200: #eeff41;\n --md-lime-A400: #c6ff00;\n --md-lime-A700: #aeea00;\n --md-yellow-50: #fffde7;\n --md-yellow-100: #fff9c4;\n --md-yellow-200: #fff59d;\n --md-yellow-300: #fff176;\n --md-yellow-400: #ffee58;\n --md-yellow-500: #ffeb3b;\n --md-yellow-600: #fdd835;\n --md-yellow-700: #fbc02d;\n --md-yellow-800: #f9a825;\n --md-yellow-900: #f57f17;\n --md-yellow-A100: #ffff8d;\n --md-yellow-A200: #ff0;\n --md-yellow-A400: #ffea00;\n --md-yellow-A700: #ffd600;\n --md-amber-50: #fff8e1;\n --md-amber-100: #ffecb3;\n --md-amber-200: #ffe082;\n --md-amber-300: #ffd54f;\n --md-amber-400: #ffca28;\n --md-amber-500: #ffc107;\n --md-amber-600: #ffb300;\n --md-amber-700: #ffa000;\n --md-amber-800: #ff8f00;\n --md-amber-900: #ff6f00;\n --md-amber-A100: #ffe57f;\n --md-amber-A200: #ffd740;\n --md-amber-A400: #ffc400;\n --md-amber-A700: #ffab00;\n --md-orange-50: #fff3e0;\n --md-orange-100: #ffe0b2;\n --md-orange-200: #ffcc80;\n --md-orange-300: #ffb74d;\n --md-orange-400: #ffa726;\n --md-orange-500: #ff9800;\n --md-orange-600: #fb8c00;\n --md-orange-700: #f57c00;\n --md-orange-800: #ef6c00;\n --md-orange-900: #e65100;\n --md-orange-A100: #ffd180;\n --md-orange-A200: #ffab40;\n --md-orange-A400: #ff9100;\n --md-orange-A700: #ff6d00;\n --md-deep-orange-50: #fbe9e7;\n --md-deep-orange-100: #ffccbc;\n --md-deep-orange-200: #ffab91;\n --md-deep-orange-300: #ff8a65;\n --md-deep-orange-400: #ff7043;\n --md-deep-orange-500: #ff5722;\n --md-deep-orange-600: #f4511e;\n --md-deep-orange-700: #e64a19;\n --md-deep-orange-800: #d84315;\n --md-deep-orange-900: #bf360c;\n --md-deep-orange-A100: #ff9e80;\n --md-deep-orange-A200: #ff6e40;\n --md-deep-orange-A400: #ff3d00;\n --md-deep-orange-A700: #dd2c00;\n --md-brown-50: #efebe9;\n --md-brown-100: #d7ccc8;\n --md-brown-200: #bcaaa4;\n --md-brown-300: #a1887f;\n --md-brown-400: #8d6e63;\n --md-brown-500: #795548;\n --md-brown-600: #6d4c41;\n --md-brown-700: #5d4037;\n --md-brown-800: #4e342e;\n --md-brown-900: #3e2723;\n --md-grey-50: #fafafa;\n --md-grey-100: #f5f5f5;\n --md-grey-200: #eee;\n --md-grey-300: #e0e0e0;\n --md-grey-400: #bdbdbd;\n --md-grey-500: #9e9e9e;\n --md-grey-600: #757575;\n --md-grey-700: #616161;\n --md-grey-800: #424242;\n --md-grey-900: #212121;\n --md-blue-grey-50: #eceff1;\n --md-blue-grey-100: #cfd8dc;\n --md-blue-grey-200: #b0bec5;\n --md-blue-grey-300: #90a4ae;\n --md-blue-grey-400: #78909c;\n --md-blue-grey-500: #607d8b;\n --md-blue-grey-600: #546e7a;\n --md-blue-grey-700: #455a64;\n --md-blue-grey-800: #37474f;\n --md-blue-grey-900: #263238;\n}\n",""]);const l=a},8812:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/* @deprecated dead code to be removed in JupyterLab 5 */\n.jp-Toolbar-item.jp-Toolbar-kernelStatus {\n display: inline-block;\n width: 32px;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 16px;\n}\n",""]);const l=a},81514:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/**\n * Base styles for the audio viewer\n */\n\n.jp-AudioViewer {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n padding: 20px;\n box-sizing: border-box;\n}\n\n.jp-AudioViewer > audio {\n width: 100%;\n object-fit: contain;\n}\n",""]);const l=a},31772:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-cell-button .jp-icon3[fill] {\n fill: var(--jp-inverse-layout-color4);\n}\n\n.jp-cell-button:hover .jp-icon3[fill] {\n fill: var(--jp-inverse-layout-color2);\n}\n\n.jp-toolbar-overlap .jp-cell-toolbar {\n display: none;\n}\n\n.jp-cell-toolbar {\n display: flex;\n flex-direction: row;\n padding: 0;\n min-height: 25px;\n z-index: 6;\n position: absolute;\n right: 3px;\n\n /* Override .jp-Toolbar */\n background-color: transparent;\n border-bottom: inherit;\n box-shadow: none;\n}\n\n/* Overrides for mobile view hiding cell toolbar */\n@media only screen and (width <= 760px) {\n .jp-cell-toolbar {\n display: none;\n }\n}\n\n.jp-cell-toolbar button.jp-ToolbarButtonComponent {\n cursor: pointer;\n}\n\n.jp-cell-toolbar .jp-ToolbarButton button {\n display: none;\n}\n\n.jp-cell-toolbar .jp-ToolbarButton .jp-cell-all,\n.jp-CodeCell .jp-ToolbarButton .jp-cell-code,\n.jp-MarkdownCell .jp-ToolbarButton .jp-cell-markdown,\n.jp-RawCell .jp-ToolbarButton .jp-cell-raw {\n display: block;\n}\n\n.jp-cell-toolbar .jp-Toolbar-spacer {\n flex: 1 1 auto;\n}\n\n.jp-cell-mod-click {\n cursor: pointer;\n}\n\n/* Custom styling for rendered markdown cells so that cell toolbar is visible */\n.jp-MarkdownOutput {\n border-width: var(--jp-border-width);\n border-color: transparent;\n border-style: solid;\n}\n\n.jp-mod-active .jp-MarkdownOutput {\n border-color: var(--jp-cell-editor-border-color);\n}\n",""]);const l=a},55717:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(35541);var l=n(30684);var d=n(25147);var c=n(88771);var h=n(60846);var u=r()(s());u.i(a.A);u.i(l.A);u.i(d.A);u.i(c.A);u.i(h.A);u.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n",""]);const p=u},35541:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,'/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Collapser {\n flex: 0 0 var(--jp-cell-collapser-width);\n padding: 0;\n margin: 0;\n border: none;\n outline: none;\n background: transparent;\n border-radius: var(--jp-border-radius);\n opacity: 1;\n}\n\n.jp-Collapser-child {\n display: block;\n width: 100%;\n box-sizing: border-box;\n\n /* height: 100% doesn\'t work because the height of its parent is computed from content */\n position: absolute;\n top: 0;\n bottom: 0;\n}\n\n/*-----------------------------------------------------------------------------\n| Printing\n|----------------------------------------------------------------------------*/\n\n/*\nHiding collapsers in print mode.\n\nNote: input and output wrappers have "display: block" property in print mode.\n*/\n\n@media print {\n .jp-Collapser {\n display: none;\n }\n}\n',""]);const l=a},30684:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Header/Footer\n|----------------------------------------------------------------------------*/\n\n/* Hidden by zero height by default */\n.jp-CellHeader,\n.jp-CellFooter {\n height: 0;\n width: 100%;\n padding: 0;\n margin: 0;\n border: none;\n outline: none;\n background: transparent;\n}\n",""]);const l=a},25147:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Input\n|----------------------------------------------------------------------------*/\n\n/* All input areas */\n.jp-InputArea {\n display: flex;\n flex-direction: row;\n width: 100%;\n overflow: hidden;\n}\n\n.jp-InputArea-editor {\n flex: 1 1 auto;\n overflow: hidden;\n\n /* This is the non-active, default styling */\n border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);\n border-radius: 0;\n background: var(--jp-cell-editor-background);\n}\n\n.jp-InputPrompt {\n flex: 0 0 var(--jp-cell-prompt-width);\n width: var(--jp-cell-prompt-width);\n color: var(--jp-cell-inprompt-font-color);\n font-family: var(--jp-cell-prompt-font-family);\n padding: var(--jp-code-padding);\n letter-spacing: var(--jp-cell-prompt-letter-spacing);\n opacity: var(--jp-cell-prompt-opacity);\n line-height: var(--jp-code-line-height);\n font-size: var(--jp-code-font-size);\n border: var(--jp-border-width) solid transparent;\n\n /* Right align prompt text, don't wrap to handle large prompt numbers */\n text-align: right;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n /* Disable text selection */\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n/*-----------------------------------------------------------------------------\n| Print\n|----------------------------------------------------------------------------*/\n@media print {\n .jp-InputArea {\n display: table;\n table-layout: fixed;\n }\n\n .jp-InputArea-editor {\n display: table-cell;\n vertical-align: top;\n }\n\n .jp-InputPrompt {\n display: table-cell;\n vertical-align: top;\n }\n}\n\n/*-----------------------------------------------------------------------------\n| Mobile\n|----------------------------------------------------------------------------*/\n@media only screen and (width <= 760px) {\n .jp-InputArea {\n flex-direction: column;\n }\n\n .jp-InputArea-editor {\n margin-left: var(--jp-code-padding);\n }\n\n .jp-InputPrompt {\n flex: 0 0 auto;\n text-align: left;\n }\n}\n",""]);const l=a},88771:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Placeholder\n|----------------------------------------------------------------------------*/\n\n.jp-Placeholder {\n display: flex;\n flex-direction: row;\n width: 100%;\n}\n\n.jp-Placeholder-prompt {\n flex: 0 0 var(--jp-cell-prompt-width);\n box-sizing: border-box;\n}\n\n.jp-Placeholder-content {\n flex: 1 1 auto;\n padding: 4px 6px;\n border: 1px solid transparent;\n border-radius: 0;\n background: none;\n box-sizing: border-box;\n cursor: pointer;\n}\n\n.jp-Placeholder-contentContainer {\n display: flex;\n}\n\n.jp-Placeholder-content:hover,\n.jp-InputPlaceholder > .jp-Placeholder-content:hover {\n border-color: var(--jp-layout-color3);\n}\n\n.jp-Placeholder-content .jp-MoreHorizIcon {\n width: 32px;\n height: 16px;\n border: 1px solid transparent;\n border-radius: var(--jp-border-radius);\n}\n\n.jp-Placeholder-content .jp-MoreHorizIcon:hover {\n border: 1px solid var(--jp-border-color1);\n box-shadow: var(--jp-toolbar-box-shadow);\n background-color: var(--jp-layout-color0);\n}\n\n.jp-PlaceholderText {\n white-space: nowrap;\n overflow-x: hidden;\n color: var(--jp-inverse-layout-color3);\n font-family: var(--jp-code-font-family);\n}\n\n.jp-InputPlaceholder > .jp-Placeholder-content {\n border-color: var(--jp-cell-editor-border-color);\n background: var(--jp-cell-editor-background);\n}\n\n/*-----------------------------------------------------------------------------\n| Print\n|----------------------------------------------------------------------------*/\n@media print {\n .jp-Placeholder {\n display: table;\n table-layout: fixed;\n }\n\n .jp-Placeholder-content {\n display: table-cell;\n }\n\n .jp-Placeholder-prompt {\n display: table-cell;\n }\n}\n",""]);const l=a},60846:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Private CSS variables\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-private-cell-scrolling-output-offset: 5px;\n}\n\n/*-----------------------------------------------------------------------------\n| Cell\n|----------------------------------------------------------------------------*/\n\n.jp-Cell {\n padding: var(--jp-cell-padding);\n margin: 0;\n border: none;\n outline: none;\n background: transparent;\n}\n\n/*-----------------------------------------------------------------------------\n| Common input/output\n|----------------------------------------------------------------------------*/\n\n.jp-Cell-inputWrapper,\n.jp-Cell-outputWrapper {\n display: flex;\n flex-direction: row;\n padding: 0;\n margin: 0;\n\n /* Added to reveal the box-shadow on the input and output collapsers. */\n overflow: visible;\n}\n\n/* Only input/output areas inside cells */\n.jp-Cell-inputArea,\n.jp-Cell-outputArea {\n flex: 1 1 auto;\n}\n\n/*-----------------------------------------------------------------------------\n| Collapser\n|----------------------------------------------------------------------------*/\n\n/* Make the output collapser disappear when there is not output, but do so\n * in a manner that leaves it in the layout and preserves its width.\n */\n.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser {\n border: none !important;\n background: transparent !important;\n}\n\n.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser {\n min-height: var(--jp-cell-collapser-min-height);\n}\n\n/*-----------------------------------------------------------------------------\n| Output\n|----------------------------------------------------------------------------*/\n\n/* Put a space between input and output when there IS output */\n.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper {\n margin-top: 5px;\n}\n\n.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea {\n overflow-y: auto;\n max-height: 24em;\n margin-left: var(--jp-private-cell-scrolling-output-offset);\n resize: vertical;\n}\n\n.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea[style*='height'] {\n max-height: unset;\n}\n\n.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after {\n content: ' ';\n box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%);\n width: 100%;\n height: 100%;\n position: sticky;\n bottom: 0;\n top: 0;\n margin-top: -50%;\n float: left;\n display: block;\n pointer-events: none;\n}\n\n.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child {\n padding-top: 6px;\n}\n\n.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {\n width: calc(\n var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset)\n );\n flex: 0 0\n calc(\n var(--jp-cell-prompt-width) -\n var(--jp-private-cell-scrolling-output-offset)\n );\n}\n\n.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay {\n left: calc(-1 * var(--jp-private-cell-scrolling-output-offset));\n}\n\n/*-----------------------------------------------------------------------------\n| CodeCell\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| MarkdownCell\n|----------------------------------------------------------------------------*/\n\n.jp-MarkdownOutput {\n flex: 1 1 auto;\n width: 100%;\n margin-top: 0;\n margin-bottom: 0;\n padding-left: var(--jp-code-padding);\n}\n\n.jp-MarkdownOutput.jp-RenderedHTMLCommon {\n overflow: auto;\n}\n\n/* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */\n.jp-collapseHeadingButton {\n display: flex;\n min-height: var(--jp-cell-collapser-min-height);\n font-size: var(--jp-code-font-size);\n position: absolute;\n background-color: transparent;\n background-size: 25px;\n background-repeat: no-repeat;\n background-position-x: center;\n background-position-y: top;\n background-image: var(--jp-icon-caret-down);\n right: 0;\n top: 0;\n bottom: 0;\n}\n\n.jp-collapseHeadingButton.jp-mod-collapsed {\n background-image: var(--jp-icon-caret-right);\n}\n\n/*\n set the container font size to match that of content\n so that the nested collapse buttons have the right size\n*/\n.jp-MarkdownCell .jp-InputPrompt {\n font-size: var(--jp-content-font-size1);\n}\n\n/*\n Align collapseHeadingButton with cell top header\n The font sizes are identical to the ones in packages/rendermime/style/base.css\n*/\n.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] {\n font-size: var(--jp-content-font-size5);\n background-position-y: calc(0.3 * var(--jp-content-font-size5));\n}\n\n.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] {\n font-size: var(--jp-content-font-size4);\n background-position-y: calc(0.3 * var(--jp-content-font-size4));\n}\n\n.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] {\n font-size: var(--jp-content-font-size3);\n background-position-y: calc(0.3 * var(--jp-content-font-size3));\n}\n\n.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] {\n font-size: var(--jp-content-font-size2);\n background-position-y: calc(0.3 * var(--jp-content-font-size2));\n}\n\n.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] {\n font-size: var(--jp-content-font-size1);\n background-position-y: top;\n}\n\n.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] {\n font-size: var(--jp-content-font-size0);\n background-position-y: top;\n}\n\n/* collapseHeadingButton (show only on (hover,active) if hiddenCellsButton is shown) */\n.jp-Notebook.jp-mod-showHiddenCellsButton .jp-collapseHeadingButton {\n display: none;\n}\n\n.jp-Notebook.jp-mod-showHiddenCellsButton\n :is(.jp-MarkdownCell:hover, .jp-mod-active)\n .jp-collapseHeadingButton {\n display: flex;\n}\n\n/* showHiddenCellsButton (only show if jp-mod-showHiddenCellsButton is set, which\nis a consequence of the showHiddenCellsButton option in Notebook Settings)*/\n.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton {\n margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding));\n margin-top: var(--jp-code-padding);\n border: 1px solid var(--jp-border-color2);\n background-color: var(--jp-border-color3) !important;\n color: var(--jp-content-font-color0) !important;\n display: flex;\n}\n\n.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton:hover {\n background-color: var(--jp-border-color2) !important;\n}\n\n.jp-showHiddenCellsButton {\n display: none;\n}\n\n/*-----------------------------------------------------------------------------\n| Printing\n|----------------------------------------------------------------------------*/\n\n/*\nUsing block instead of flex to allow the use of the break-inside CSS property for\ncell outputs.\n*/\n\n@media print {\n .jp-Cell-inputWrapper,\n .jp-Cell-outputWrapper {\n display: block;\n }\n\n .jp-MarkdownOutput {\n display: table-cell;\n }\n}\n",""]);const l=a},96415:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n:root {\n --jp-add-tag-extra-width: 8px;\n}\n\n.jp-CellTags-Tag {\n height: 20px;\n border-radius: 10px;\n margin-right: 5px;\n margin-bottom: 10px;\n padding: 0 8px;\n font-size: var(--jp-ui-font-size1);\n display: inline-flex;\n justify-content: center;\n align-items: center;\n max-width: calc(100% - 25px);\n border: 1px solid var(--jp-border-color1);\n color: var(--jp-ui-font-color1);\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.jp-CellTags-Unapplied {\n background-color: var(--jp-layout-color2);\n}\n\n.jp-CellTags-Applied {\n background-color: var(--jp-layout-color3);\n}\n\n.jp-CellTags-Add {\n white-space: nowrap;\n overflow: hidden;\n border: none;\n outline: none;\n resize: horizontal;\n font-size: var(--jp-ui-font-size1);\n color: var(--jp-ui-font-color1);\n background: var(--jp-layout-color2);\n}\n\n.jp-CellTags-Holder {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.jp-CellTags-Empty {\n width: 4em;\n}\n",""]);const l=a},9534:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(94925);var l=r()(s());l.i(a.A);l.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-JSONEditor {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.jp-JSONEditor-host {\n flex: 1 1 auto;\n border: var(--jp-border-width) solid var(--jp-input-border-color);\n border-radius: 0;\n background: var(--jp-layout-color0);\n min-height: 50px;\n padding: 1px;\n}\n\n.jp-JSONEditor.jp-mod-error .jp-JSONEditor-host {\n border-color: red;\n outline-color: red;\n}\n\n.jp-JSONEditor-header {\n display: flex;\n flex: 1 0 auto;\n padding: 0 0 0 12px;\n}\n\n.jp-JSONEditor-header label {\n flex: 0 0 auto;\n}\n\n.jp-JSONEditor-commitButton {\n height: 16px;\n width: 16px;\n background-size: 18px;\n background-repeat: no-repeat;\n background-position: center;\n}\n\n.jp-JSONEditor-host.jp-mod-focused {\n background-color: var(--jp-input-active-background);\n border: 1px solid var(--jp-input-active-border-color);\n box-shadow: var(--jp-input-box-shadow);\n}\n\n.jp-Editor.jp-mod-dropTarget {\n border: var(--jp-border-width) solid var(--jp-input-active-border-color);\n box-shadow: var(--jp-input-box-shadow);\n}\n",""]);const d=l},94925:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-lineFormSearch {\n padding: 4px 12px;\n background-color: var(--jp-layout-color2);\n box-shadow: var(--jp-toolbar-box-shadow);\n z-index: 2;\n font-size: var(--jp-ui-font-size1);\n}\n\n.jp-lineFormCaption {\n font-size: var(--jp-ui-font-size0);\n line-height: var(--jp-ui-font-size1);\n margin-top: 4px;\n color: var(--jp-ui-font-color0);\n}\n\n.jp-baseLineForm {\n border: none;\n border-top-right-radius: var(--jp-border-radius);\n border-bottom-right-radius: var(--jp-border-radius);\n position: absolute;\n background-size: 16px;\n background-repeat: no-repeat;\n background-position: center;\n outline: none;\n}\n\n.jp-lineFormButtonContainer {\n top: 4px;\n right: 8px;\n height: 24px;\n padding: 0 12px;\n width: 12px;\n}\n\n.jp-lineFormButtonIcon {\n top: 0;\n right: 0;\n background-color: var(--jp-brand-color1);\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n padding: 4px 6px;\n}\n\n.jp-lineFormButton {\n top: 0;\n right: 0;\n background-color: transparent;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n}\n\n.jp-lineFormWrapper {\n overflow: hidden;\n padding: 0 8px;\n border: 1px solid var(--jp-border-color0);\n border-top-left-radius: var(--jp-border-radius);\n border-bottom-left-radius: var(--jp-border-radius);\n background-color: var(--jp-input-active-background);\n height: 22px;\n}\n\n.jp-lineFormWrapperFocusWithin {\n border: var(--jp-border-width) solid var(--jp-input-active-border-color);\n box-shadow: var(--jp-input-box-shadow);\n}\n\n.jp-lineFormInput {\n background: transparent;\n width: 200px;\n height: 100%;\n border: none;\n outline: none;\n color: var(--jp-ui-font-color0);\n padding: 0;\n}\n",""]);const l=a},29500:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(4417);var l=n.n(a);var d=new URL(n(78269),n.b);var c=r()(s());var h=l()(d);c.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.cm-editor {\n line-height: var(--jp-code-line-height);\n font-size: var(--jp-code-font-size);\n font-family: var(--jp-code-font-family);\n border: 0;\n border-radius: 0;\n height: auto;\n\n /* Changed to auto to autogrow */\n}\n\n/* Suppress automatic focus indicator outline */\n.cm-editor.cm-focused {\n outline: unset;\n}\n\n.cm-editor pre {\n padding: 0 var(--jp-code-padding);\n}\n\n.jp-CodeMirrorEditor[data-type='inline'] .cm-dialog {\n background-color: var(--jp-layout-color0);\n color: var(--jp-content-font-color1);\n}\n\n.jp-CodeMirrorEditor {\n cursor: text;\n}\n\n/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */\n@media screen and (width >= 2138px) and (width <= 4319px) {\n .jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {\n border-left: var(--jp-code-cursor-width1) solid\n var(--jp-editor-cursor-color);\n }\n}\n\n/* When zoomed out less than 33% */\n@media screen and (width >= 4320px) {\n .jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {\n border-left: var(--jp-code-cursor-width2) solid\n var(--jp-editor-cursor-color);\n }\n}\n\n/* stylelint-disable selector-max-class */\n\n/* We need all this classes for higher specificity to override CodeMirror's rule */\n.cm-editor.jp-mod-readOnly > .cm-scroller > .cm-cursorLayer .cm-cursor {\n display: none;\n}\n\n/* stylelint-enable selector-max-class */\n\n.jp-CollaboratorCursor {\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: none;\n border-bottom: 3px solid;\n background-clip: content-box;\n margin-left: -5px;\n margin-right: -5px;\n}\n\n.cm-builtin {\n color: var(--jp-mirror-editor-builtin-color);\n}\n\n.cm-searching,\n.cm-searching span {\n /* `.cm-searching span`: we need to override syntax highlighting */\n background-color: var(--jp-search-unselected-match-background-color);\n color: var(--jp-search-unselected-match-color);\n}\n\n.cm-searching::selection,\n.cm-searching span::selection {\n background-color: var(--jp-search-unselected-match-background-color);\n color: var(--jp-search-unselected-match-color);\n}\n\n.jp-current-match.cm-searching,\n.jp-current-match > .cm-searching,\n.jp-current-match > .cm-searching span,\n.cm-searching > .jp-current-match,\n.cm-searching > .jp-current-match span {\n background-color: var(--jp-search-selected-match-background-color);\n color: var(--jp-search-selected-match-color);\n}\n\n.jp-current-match > .cm-searching::selection,\n.jp-current-match > .cm-searching span::selection,\n.cm-searching > .jp-current-match::selection,\n.cm-searching > .jp-current-match span::selection {\n background-color: var(--jp-search-selected-match-background-color);\n color: var(--jp-search-selected-match-color);\n}\n\n.cm-trailingspace {\n background-image: url("+h+");\n background-position: center left;\n background-repeat: repeat-x;\n}\n\n.jp-CollaboratorCursor-hover {\n position: absolute;\n z-index: 1;\n transform: translateX(-50%);\n color: white;\n border-radius: 3px;\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 1px;\n padding-bottom: 1px;\n text-align: center;\n font-size: var(--jp-ui-font-size1);\n white-space: nowrap;\n}\n\n.jp-CodeMirror-ruler {\n border-left: 1px dashed var(--jp-border-color2);\n}\n\n/* Styles for shared cursors (remote cursor locations and selected ranges) */\n.jp-CodeMirrorEditor .cm-ySelectionCaret {\n position: relative;\n border-left: 1px solid black;\n margin-left: -1px;\n margin-right: -1px;\n box-sizing: border-box;\n}\n\n.jp-CodeMirrorEditor .cm-ySelectionCaret > .cm-ySelectionInfo {\n white-space: nowrap;\n position: absolute;\n top: -1.15em;\n padding-bottom: 0.05em;\n left: -1px;\n font-size: 0.95em;\n font-family: var(--jp-ui-font-family);\n font-weight: bold;\n line-height: normal;\n user-select: none;\n color: white;\n padding-left: 2px;\n padding-right: 2px;\n z-index: 101;\n transition: opacity 0.3s ease-in-out;\n}\n\n.jp-CodeMirrorEditor .cm-ySelectionInfo {\n transition-delay: 0.7s;\n opacity: 0;\n}\n\n.jp-CodeMirrorEditor .cm-ySelectionCaret:hover > .cm-ySelectionInfo {\n opacity: 1;\n transition-delay: 0s;\n}\n",""]);const u=c},57331:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-private-completer-item-height: 24px;\n\n /* Shift the baseline of the type character to align with the match text */\n --jp-private-completer-type-offset: 2px;\n}\n\n.jp-Completer {\n box-shadow: var(--jp-elevation-z6);\n background: var(--jp-layout-color1);\n color: var(--jp-content-font-color1);\n border: var(--jp-border-width) solid var(--jp-border-color1);\n padding: 0;\n display: flex;\n flex-direction: row;\n\n /* Needed to avoid scrollbar issues when using cached width. */\n box-sizing: content-box;\n\n /* Position the completer relative to the text editor, align the '.' */\n margin: 4px 0 0 -30px;\n z-index: 10001;\n}\n\n.jp-Completer-docpanel {\n border-left: var(--jp-border-width) solid var(--jp-border-color1);\n width: 400px;\n flex-shrink: 0;\n overflow-y: scroll;\n overflow-x: auto;\n padding: 8px;\n max-height: calc((10 * var(--jp-private-completer-item-height)) - 16px);\n}\n\n.jp-Completer-docpanel pre {\n border: none;\n margin: 0;\n padding: 0;\n white-space: pre-wrap;\n}\n\n.jp-Completer-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow-y: scroll;\n overflow-x: hidden;\n max-height: calc((10 * var(--jp-private-completer-item-height)));\n min-height: calc(var(--jp-private-completer-item-height));\n width: 100%;\n}\n\n.jp-Completer-item {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n height: var(--jp-private-completer-item-height);\n min-width: 150px;\n display: grid;\n grid-template-columns: min-content 1fr min-content;\n position: relative;\n}\n\n.jp-Completer-item .jp-Completer-match {\n box-sizing: border-box;\n margin: 0;\n padding: 0 8px 0 6px;\n height: var(--jp-private-completer-item-height);\n font-family: var(--jp-code-font-family);\n font-size: var(--jp-code-font-size);\n line-height: var(--jp-private-completer-item-height);\n white-space: nowrap;\n}\n\n.jp-Completer-deprecated .jp-Completer-match {\n text-decoration: line-through;\n color: var(--jp-content-font-color2);\n}\n\n.jp-Completer-item .jp-Completer-type {\n box-sizing: border-box;\n height: var(--jp-private-completer-item-height);\n background: transparent;\n width: var(--jp-private-completer-item-height);\n}\n\n.jp-Completer-item .jp-Completer-icon {\n /* Normal element size from LabIconStyle.ISheetOptions */\n height: 16px;\n width: 16px;\n}\n\n.jp-Completer-item .jp-Completer-monogram {\n text-align: center;\n color: white;\n width: var(--jp-private-completer-item-height);\n font-family: var(--jp-ui-font-family);\n font-size: var(--jp-ui-font-size1);\n line-height: calc(\n var(--jp-private-completer-item-height) -\n var(--jp-private-completer-type-offset)\n );\n padding-bottom: var(--jp-private-completer-type-offset);\n}\n\n.jp-Completer-item .jp-Completer-typeExtended {\n box-sizing: border-box;\n height: var(--jp-private-completer-item-height);\n text-align: right;\n background: transparent;\n color: var(--jp-ui-font-color2);\n font-family: var(--jp-code-font-family);\n font-size: var(--jp-code-font-size);\n line-height: var(--jp-private-completer-item-height);\n padding-right: 8px;\n}\n\n.jp-Completer-item:hover {\n background: var(--jp-layout-color2);\n opacity: 0.8;\n}\n\n.jp-Completer-item.jp-mod-active {\n background: var(--jp-brand-color1);\n color: white;\n}\n\n.jp-Completer-item .jp-Completer-match mark {\n font-weight: bold;\n background: inherit;\n color: inherit;\n}\n\n.jp-Completer-type[data-color-index='0'] {\n background: var(--jp-completer-type-background0, transparent);\n}\n\n.jp-Completer-type[data-color-index='1'] {\n background: var(--jp-completer-type-background1, #1f77b4);\n}\n\n.jp-Completer-type[data-color-index='2'] {\n background: var(--jp-completer-type-background2, #ff7f0e);\n}\n\n.jp-Completer-type[data-color-index='3'] {\n background: var(--jp-completer-type-background3, #2ca02c);\n}\n\n.jp-Completer-type[data-color-index='4'] {\n background: var(--jp-completer-type-background4, #d62728);\n}\n\n.jp-Completer-type[data-color-index='5'] {\n background: var(--jp-completer-type-background5, #9467bd);\n}\n\n.jp-Completer-type[data-color-index='6'] {\n background: var(--jp-completer-type-background6, #8c564b);\n}\n\n.jp-Completer-type[data-color-index='7'] {\n background: var(--jp-completer-type-background7, #e377c2);\n}\n\n.jp-Completer-type[data-color-index='8'] {\n background: var(--jp-completer-type-background8, #7f7f7f);\n}\n\n.jp-Completer-type[data-color-index='9'] {\n background: var(--jp-completer-type-background9, #bcbd22);\n}\n\n.jp-Completer-type[data-color-index='10'] {\n background: var(--jp-completer-type-background10, #17becf);\n}\n\n.jp-Completer-loading-bar-container {\n height: 2px;\n width: calc(100% - var(--jp-private-completer-item-height));\n left: var(--jp-private-completer-item-height);\n position: absolute;\n overflow: hidden;\n top: 0;\n}\n\n.jp-Completer-loading-bar {\n height: 100%;\n width: 50%;\n background-color: var(--jp-accent-color2);\n position: absolute;\n left: -50%;\n animation: jp-Completer-loading 2s ease-in 0.5s infinite;\n}\n\n@keyframes jp-Completer-loading {\n 0% {\n transform: translateX(0);\n }\n\n 100% {\n transform: translateX(400%);\n }\n}\n\n.jp-GhostText {\n color: var(--jp-ui-font-color3);\n white-space: pre-wrap;\n}\n\n.jp-GhostText-lineSpacer,\n.jp-GhostText-letterSpacer {\n opacity: 0;\n display: inline-block;\n vertical-align: top;\n /* stylelint-disable-next-line csstree/validator */\n text-wrap: none;\n}\n\n.jp-GhostText-letterSpacer {\n max-width: 0;\n}\n\n.jp-GhostText-lineSpacer {\n /* duration and delay are overwritten by inline styles */\n animation: jp-GhostText-hide 300ms 700ms ease-out forwards;\n}\n\n@keyframes jp-GhostText-hide {\n 0% {\n font-size: unset;\n }\n\n 100% {\n font-size: 0;\n }\n}\n\n.jp-GhostText-expandHidden {\n border: 1px solid var(--jp-border-color0);\n border-radius: var(--jp-border-radius);\n background: var(--jp-layout-color0);\n color: var(--jp-content-font-color3);\n padding: 0 4px;\n margin: 0 4px;\n cursor: default;\n}\n\n.jp-GhostText-hiddenWrapper:hover > .jp-GhostText-hiddenLines {\n display: inline;\n}\n\n.jp-GhostText-hiddenLines {\n display: none;\n}\n\n.jp-GhostText[data-animation='uncover'] {\n position: relative;\n}\n\n.jp-GhostText-streamedToken {\n white-space: pre;\n}\n\n.jp-GhostText[data-animation='uncover'] > .jp-GhostText-streamedToken {\n animation: jp-GhostText-typing 2s forwards;\n display: inline-flex;\n overflow: hidden;\n}\n\n@keyframes jp-GhostText-typing {\n from {\n max-width: 0;\n }\n\n to {\n max-width: 100%;\n }\n}\n\n.jp-GhostText-streamingIndicator::after {\n animation: jp-GhostText-streaming 2s infinite;\n animation-delay: 400ms;\n content: ' ';\n background: var(--jp-layout-color4);\n opacity: 0.2;\n}\n\n@keyframes jp-GhostText-streaming {\n 0% {\n opacity: 0.2;\n }\n\n 20% {\n opacity: 0.4;\n }\n\n 40% {\n opacity: 0.2;\n }\n}\n\n.jp-GhostText-errorIndicator::after {\n animation: jp-GhostText-error 500ms 1;\n animation-delay: 3500ms;\n color: var(--jp-error-color1);\n font-size: 150%;\n line-height: 10px;\n margin-left: 2px;\n padding: 0 4px;\n content: '⚠';\n cursor: help;\n position: relative;\n top: 2px;\n}\n\n@keyframes jp-GhostText-error {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n.jp-InlineCompleter {\n box-shadow: var(--jp-elevation-z2);\n background: var(--jp-layout-color1);\n color: var(--jp-content-font-color1);\n border: var(--jp-border-width) solid var(--jp-border-color1);\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0 8px;\n}\n\n.jp-InlineCompleter-progressBar {\n height: 2px;\n position: absolute;\n top: 0;\n left: 0;\n background-color: var(--jp-accent-color2);\n}\n\n.jp-InlineCompleter[data-display='onHover'] {\n opacity: 0;\n transition:\n visibility 0s linear 0.1s,\n opacity 0.1s linear;\n visibility: hidden;\n}\n\n.jp-InlineCompleter[data-display='onHover']:hover,\n.jp-InlineCompleter-hover[data-display='onHover'] {\n opacity: 1;\n visibility: visible;\n transition-delay: 0s;\n}\n\n.jp-InlineCompleter[data-display='never'] {\n display: none;\n}\n\n.jp-InlineCompleter > .jp-Toolbar {\n box-shadow: none;\n border-bottom: none;\n background: none;\n}\n\n.jp-InlineCompleter[data-show-shortcuts='false']\n .jp-ToolbarButtonComponent-label {\n display: none;\n}\n\n.jp-InlineCompleter [data-command='inline-completer:next'] > svg,\n.jp-InlineCompleter [data-command='inline-completer:previous'] > svg {\n scale: 1.5;\n}\n",""]);const l=a},19961:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Toolbar menu to select the prompt cell position */\n.jp-CodeConsolePromptMenu {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.jp-CodeConsolePromptMenu .lm-Menu-itemIcon > svg {\n vertical-align: sub;\n}\n",""]);const l=a},16513:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-ConsolePanel {\n display: flex;\n margin-top: -1px;\n min-width: 240px;\n min-height: 120px;\n}\n\n.jp-CodeConsole {\n height: 100%;\n padding: 0;\n display: flex;\n}\n\n.jp-CodeConsole .jp-Cell {\n padding: var(--jp-cell-padding);\n}\n\n/*-----------------------------------------------------------------------------\n| Content (already run cells)\n|----------------------------------------------------------------------------*/\n\n.jp-CodeConsole-content {\n background: var(--jp-layout-color0);\n overflow: auto;\n padding: 0 var(--jp-console-padding);\n min-width: calc(10 * var(--jp-ui-font-size1));\n min-height: calc(5 * var(--jp-ui-font-size1));\n}\n\n.jp-CodeConsole-content .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {\n opacity: var(--jp-cell-prompt-not-active-opacity);\n color: var(--jp-cell-inprompt-font-color);\n cursor: move;\n}\n\n.jp-CodeConsole-content .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {\n opacity: var(--jp-cell-prompt-not-active-opacity);\n color: var(--jp-cell-outprompt-font-color);\n}\n\n/* This rule is for styling cell run by another activity in this console */\n\n/* .jp-CodeConsole-content .jp-Cell.jp-CodeConsole-foreignCell {\n} */\n\n.jp-CodeConsole-content .jp-InputArea-editor.jp-InputArea-editor {\n background: transparent;\n border: 1px solid transparent;\n}\n\n.jp-CodeConsole-content .jp-CodeConsole-banner .jp-InputPrompt {\n display: none;\n}\n\n/* collapser is hovered */\n.jp-CodeConsole-content .jp-Cell .jp-Collapser:hover {\n box-shadow: var(--jp-elevation-z2);\n background: var(--jp-brand-color1);\n opacity: var(--jp-cell-collapser-not-active-hover-opacity);\n}\n\n/*-----------------------------------------------------------------------------\n| Input/prompt cell\n|----------------------------------------------------------------------------*/\n\n.jp-CodeConsole-input {\n overflow: auto;\n padding: var(--jp-cell-padding) var(--jp-console-padding);\n\n /* This matches the box shadow on the notebook toolbar, eventually we should create\n * CSS variables for this */\n box-shadow: 0 0.4px 6px 0 rgba(0, 0, 0, 0.1);\n background: var(--jp-layout-color0);\n min-width: calc(10 * var(--jp-ui-font-size1));\n min-height: calc(4 * var(--jp-ui-font-size1));\n}\n\n.jp-CodeConsole-input .jp-CodeConsole-prompt .jp-InputArea {\n height: 100%;\n min-height: 100%;\n}\n\n.jp-CodeConsole-promptCell .jp-InputArea-editor.jp-mod-focused {\n border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);\n box-shadow: var(--jp-input-box-shadow);\n background-color: var(--jp-cell-editor-active-background);\n}\n\n/*-----------------------------------------------------------------------------\n| Presentation Mode (.jp-mod-presentationMode)\n|----------------------------------------------------------------------------*/\n\n.jp-mod-presentationMode .jp-CodeConsole {\n --jp-content-font-size1: var(--jp-content-presentation-font-size1);\n --jp-code-font-size: var(--jp-code-presentation-font-size);\n}\n\n.jp-mod-presentationMode .jp-CodeConsole .jp-Cell .jp-InputPrompt,\n.jp-mod-presentationMode .jp-CodeConsole .jp-Cell .jp-OutputPrompt {\n flex: 0 0 110px;\n}\n\n/*-----------------------------------------------------------------------------\n| Split Panel Container\n|----------------------------------------------------------------------------*/\n.jp-CodeConsole-split {\n display: flex;\n height: 100%;\n width: 100%;\n overflow: hidden;\n}\n\n.jp-CodeConsole-split.lm-SplitPanel .lm-SplitPanel-handle::after {\n background-color: var(--jp-border-color2);\n min-height: calc(2 * var(--jp-border-width));\n min-width: calc(2 * var(--jp-border-width));\n}\n\n/*-----------------------------------------------------------------------------\n| Mobile\n|----------------------------------------------------------------------------*/\n@media only screen and (width <= 760px) {\n .jp-CodeConsole-input {\n min-height: calc(6 * var(--jp-ui-font-size1));\n }\n}\n",""]);const l=a},40538:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-CSVViewer {\n display: flex;\n flex-direction: column;\n outline: none;\n\n /* This is needed so that all font sizing of children done in ems is\n * relative to this base size */\n font-size: var(--jp-ui-font-size1);\n}\n\n.jp-CSVDelimiter {\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n border: none;\n min-height: 24px;\n background: var(--jp-toolbar-background);\n z-index: 1;\n}\n\n.jp-CSVDelimiter .jp-CSVDelimiter-label {\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size1);\n padding-left: 8px;\n padding-right: 8px;\n}\n\n.jp-CSVDelimiter .jp-CSVDelimiter-dropdown {\n flex: 0 0 auto;\n vertical-align: middle;\n border-radius: 0;\n outline: none;\n height: 20px;\n margin-top: 2px;\n margin-bottom: 2px;\n}\n\n.jp-CSVDelimiter .jp-CSVDelimiter-dropdown select.jp-mod-styled {\n color: var(--jp-ui-font-color1);\n background: var(--jp-layout-color1);\n font-size: var(--jp-ui-font-size1);\n height: 20px;\n padding-right: 20px;\n}\n\n.jp-CSVViewer-grid {\n flex: 1 1 auto;\n}\n",""]);const l=a},1597:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(21584);var l=n(41076);var d=n(26933);var c=n(41575);var h=n(16204);var u=n(52498);var p=n(11919);var m=r()(s());m.i(a.A);m.i(l.A);m.i(d.A);m.i(c.A);m.i(h.A);m.i(u.A);m.i(p.A);m.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-left-truncated {\n overflow: hidden;\n text-overflow: ellipsis;\n direction: ltr;\n}\n\n#jp-debugger .jp-switch-label {\n margin-right: 0;\n}\n\n.jp-DebuggerBugButton[aria-pressed='true'] {\n /* Undo default toolkit style */\n box-shadow: none;\n}\n\n.jp-DebuggerBugButton[aria-pressed='true'] path {\n fill: var(--jp-warn-color0);\n}\n\n.jp-DebuggerPausedOverlay {\n position: absolute;\n top: 8px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 4px 8px;\n border: 1px solid var(--jp-border-color2);\n border-radius: 4px;\n background: var(--jp-layout-color2);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n z-index: 1000;\n font-size: var(--jp-ui-font-size1);\n color: var(--jp-ui-font-color1);\n}\n\n.jp-DebuggerPausedButton {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: none;\n border-radius: 3px;\n background: transparent;\n cursor: pointer;\n padding: 0;\n}\n\n.jp-DebuggerPausedButton:hover {\n background: var(--jp-layout-color3);\n}\n",""]);const g=m},21584:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-DebuggerBreakpoints {\n display: flex;\n flex-direction: column;\n min-height: 50px;\n padding-top: 3px;\n}\n\n.jp-DebuggerBreakpoints-body {\n padding: 10px;\n overflow: auto;\n}\n\n.jp-DebuggerBreakpoint {\n display: flex;\n align-items: center;\n height: 24px;\n}\n\n.jp-DebuggerBreakpoint:hover {\n background: var(--jp-layout-color2);\n cursor: pointer;\n}\n\n.jp-DebuggerBreakpoint-container {\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 10px;\n}\n\n.jp-DebuggerBreakpoint-source {\n white-space: nowrap;\n margin-right: 5px;\n}\n\n.jp-DebuggerBreakpoint-line {\n margin-left: auto;\n}\n\n.jp-DebuggerCallstackFrame {\n display: flex;\n align-items: center;\n}\n\n.jp-DebuggerCallstackFrame-name {\n white-space: nowrap;\n margin-right: 5px;\n}\n\n.jp-DebuggerCallstackFrame-location {\n margin-left: auto;\n}\n\n[data-jp-debugger='true'] .cm-breakpoint-gutter .cm-gutterElement:empty::after {\n color: var(--jp-error-color1);\n opacity: 0;\n}\n\n.cm-gutter {\n cursor: default;\n}\n\n.cm-breakpoint-gutter .cm-gutterElement {\n padding-top: 1.1px;\n height: 18.2px;\n}\n\n[data-jp-debugger='true'].jp-Editor\n .cm-breakpoint-gutter\n .cm-gutterElement:empty:hover::after,\n[data-jp-debugger='true']\n .jp-Notebook\n .jp-CodeCell.jp-mod-selected\n .cm-breakpoint-gutter:empty:hover::after,\n[data-jp-debugger='true']\n .jp-Editor\n .cm-breakpoint-gutter\n .cm-gutterElement:empty:hover::after {\n opacity: 0.5;\n}\n",""]);const l=a},41076:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-DebuggerCallstack {\n display: flex;\n flex-direction: column;\n min-height: 50px;\n padding-top: 3px;\n}\n\n.jp-DebuggerCallstack-body {\n overflow: auto;\n}\n\n.jp-DebuggerCallstack-body ul {\n list-style: none;\n margin: 0;\n padding: 0;\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size1);\n}\n\n.jp-DebuggerCallstack-body li {\n padding: 5px;\n padding-left: 8px;\n}\n\n.jp-DebuggerCallstack-body li.selected {\n color: white;\n background: var(--jp-brand-color1);\n}\n\n.jp-DebuggerCallstack .jp-ToolbarButtonComponent-label {\n display: none;\n}\n",""]);const l=a},26933:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-DebuggerEditor-highlight {\n text-shadow: 0 0 1px var(--jp-layout-color0);\n outline: 1px solid;\n}\n\nbody[data-jp-theme-light='false'] .jp-DebuggerEditor-highlight {\n background-color: var(--md-brown-800, #4e342e);\n outline-color: var(--md-brown-600, #6d4c41);\n}\n\nbody[data-jp-theme-light='true'] .jp-DebuggerEditor-highlight {\n background-color: var(--md-brown-100, #d7ccc8);\n outline-color: var(--md-brown-300, #a1887f);\n}\n\n.jp-DebuggerEditor-marker {\n position: absolute;\n left: -34px;\n top: -1px;\n color: var(--jp-error-color1);\n}\n",""]);const l=a},41575:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-DebuggerKernelSources {\n min-height: 50px;\n margin-top: 3px;\n}\n\n[data-jp-debugger='true'].jp-Editor .jp-mod-readOnly {\n background: var(--jp-layout-color2);\n height: 100%;\n}\n\n.jp-DebuggerKernelSources-body [data-jp-debugger='true'].jp-Editor {\n height: 100%;\n}\n\n.jp-DebuggerKernelSources-body {\n height: 100%;\n overflow-y: auto;\n}\n\n.jp-DebuggerKernelSource-filterBox {\n padding: 0;\n flex: 0 0 auto;\n margin: 0;\n position: sticky;\n top: 0;\n background-color: var(--jp-layout-color1);\n}\n\n.jp-DebuggerKernelSource-filterBox-hidden {\n display: none;\n}\n\n.jp-DebuggerKernelSource-source {\n display: flex;\n align-items: center;\n padding: 4px;\n cursor: pointer;\n}\n\n.jp-DebuggerKernelSource-source:hover {\n background-color: var(--jp-layout-color2);\n}\n\n.jp-DebuggerKernelSource-source > svg {\n height: 16px;\n width: 16px;\n}\n",""]);const l=a},16204:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-SidePanel-header > h2 {\n /* Set font-size to override default h2 sizing but keeping default --jp-ui-font-size0 */\n font-size: 100%;\n font-weight: 600;\n margin: 0 auto 0 0;\n padding: 4px 10px;\n}\n\n.jp-DebuggerSidebar-body\n .jp-AccordionPanel-title\n jp-toolbar::part(positioning-region) {\n flex-wrap: nowrap;\n}\n",""]);const l=a},52498:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-DebuggerSources {\n min-height: 50px;\n margin-top: 3px;\n overflow-y: scroll;\n}\n\n[data-jp-debugger='true'].jp-Editor .jp-mod-readOnly {\n background: var(--jp-layout-color2);\n height: 100%;\n}\n\n.jp-DebuggerSources-body [data-jp-debugger='true'].jp-Editor {\n height: 100%;\n}\n\n.jp-DebuggerSources-body {\n height: 100%;\n}\n\n.jp-DebuggerSources-header-path {\n overflow: hidden;\n cursor: pointer;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: var(--jp-ui-font-size0);\n color: var(--jp-ui-font-color1);\n user-select: text;\n}\n",""]);const l=a},11919:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-DebuggerVariables {\n display: flex;\n flex-direction: column;\n min-height: 50px;\n padding-top: 3px;\n}\n\n.jp-DebuggerVariables-body {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 24px;\n overflow: auto;\n\n /* For absolute positioning of jp-DebuggerVariables-buttons. */\n position: relative;\n}\n\n.jp-DebuggerVariables-name {\n color: var(--jp-mirror-editor-attribute-color);\n grid-area: name;\n}\n\n.jp-DebuggerVariables-name:last-of-type {\n flex: 1 1 auto;\n}\n\n.jp-DebuggerVariables-name::after {\n content: ':';\n margin-right: 5px;\n}\n\n.jp-DebuggerVariables-detail {\n /* detail contains value for primitive types or name of the type otherwise */\n color: var(--jp-mirror-editor-string-color);\n flex: 1 1 auto;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.jp-DebuggerVariables-grid {\n flex: 1 1 auto;\n}\n\n.jp-DebuggerVariables-grid .lm-DataGrid {\n border: none;\n}\n\n.jp-DebuggerVariables-colorPalette {\n visibility: hidden;\n z-index: -999;\n position: absolute;\n left: -999px;\n top: -999px;\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-void {\n color: var(--jp-layout-color1);\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-background {\n color: var(--jp-rendermime-table-row-background);\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-header-background {\n color: var(--jp-layout-color2);\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-grid-line {\n color: var(--jp-border-color3);\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-header-grid-line {\n color: var(--jp-border-color3);\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-selection {\n /* TODO: Fix JupyterLab light theme (alpha) so this can be a variable. */\n color: rgba(3, 169, 244, 0.2);\n}\n\n.jp-DebuggerVariables-colorPalette .jp-mod-text {\n color: var(--jp-content-font-color0);\n}\n\n.jp-VariableRendererPanel {\n overflow: auto;\n}\n\n.jp-VariableRendererPanel-renderer {\n overflow: auto;\n height: 100%;\n}\n\n.jp-VariableRenderer-TrustButton[aria-pressed='true'] {\n box-shadow: inset 0 var(--jp-border-width) 4px\n rgba(\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n var(--jp-shadow-base-lightness),\n 0.6\n );\n}\n\n.jp-DebuggerRichVariable div[data-mime-type='text/plain'] > pre {\n white-space: normal;\n}\n",""]);const l=a},79993:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-MimeDocument {\n outline: none;\n}\n",""]);const l=a},20939:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n.jp-DocumentSearch-input {\n border: none;\n outline: none;\n color: var(--jp-ui-font-color0);\n font-size: var(--jp-ui-font-size1);\n background-color: var(--jp-layout-color0);\n font-family: var(--jp-ui-font-family);\n padding: 2px 1px;\n resize: none;\n white-space: pre;\n}\n\n.jp-DocumentSearch-overlay {\n position: absolute;\n background-color: var(--jp-toolbar-background);\n border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);\n border-left: var(--jp-border-width) solid var(--jp-toolbar-border-color);\n top: 0;\n right: 0;\n z-index: 7;\n min-width: 405px;\n padding: 2px;\n font-size: var(--jp-ui-font-size1);\n\n --jp-private-document-search-button-height: 20px;\n}\n\n.jp-DocumentSearch-overlay button {\n background-color: var(--jp-toolbar-background);\n outline: 0;\n}\n\n.jp-DocumentSearch-button-wrapper:disabled > .jp-DocumentSearch-button-content {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.jp-DocumentSearch-overlay button:not(:disabled):hover {\n background-color: var(--jp-layout-color2);\n}\n\n.jp-DocumentSearch-overlay button:not(:disabled):active {\n background-color: var(--jp-layout-color3);\n}\n\n.jp-DocumentSearch-overlay-row {\n display: flex;\n align-items: center;\n margin-bottom: 2px;\n}\n\n.jp-DocumentSearch-button-content {\n display: inline-block;\n cursor: pointer;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n}\n\n.jp-DocumentSearch-button-content svg {\n width: 100%;\n height: 100%;\n}\n\n.jp-DocumentSearch-input-wrapper {\n border: var(--jp-border-width) solid var(--jp-border-color0);\n display: flex;\n background-color: var(--jp-layout-color0);\n margin: 2px;\n}\n\n.jp-DocumentSearch-input-wrapper:focus-within {\n border-color: var(--jp-cell-editor-active-border-color);\n}\n\n.jp-DocumentSearch-toggle-wrapper,\n.jp-DocumentSearch-button-wrapper {\n all: initial;\n overflow: hidden;\n display: inline-block;\n border: none;\n box-sizing: border-box;\n}\n\n.jp-DocumentSearch-toggle-wrapper {\n flex-shrink: 0;\n width: 14px;\n height: 14px;\n}\n\n.jp-DocumentSearch-button-wrapper {\n flex-shrink: 0;\n width: var(--jp-private-document-search-button-height);\n height: var(--jp-private-document-search-button-height);\n}\n\n.jp-DocumentSearch-toggle-wrapper:focus,\n.jp-DocumentSearch-button-wrapper:focus {\n outline: var(--jp-border-width) solid\n var(--jp-cell-editor-active-border-color);\n outline-offset: -1px;\n}\n\n.jp-DocumentSearch-toggle-wrapper,\n.jp-DocumentSearch-button-wrapper,\n.jp-DocumentSearch-button-content:focus {\n outline: none;\n}\n\n.jp-DocumentSearch-toggle-placeholder {\n width: 5px;\n}\n\n.jp-DocumentSearch-input-button::before {\n display: block;\n padding-top: 100%;\n}\n\n.jp-DocumentSearch-input-button-off {\n opacity: var(--jp-search-toggle-off-opacity);\n}\n\n.jp-DocumentSearch-input-button-off:hover {\n opacity: var(--jp-search-toggle-hover-opacity);\n}\n\n.jp-DocumentSearch-input-button-on {\n opacity: var(--jp-search-toggle-on-opacity);\n}\n\n.jp-DocumentSearch-index-counter {\n padding-left: 10px;\n padding-right: 10px;\n user-select: none;\n min-width: 35px;\n display: inline-block;\n}\n\n.jp-DocumentSearch-up-down-wrapper {\n display: inline-block;\n padding-right: 2px;\n margin-left: auto;\n white-space: nowrap;\n}\n\n.jp-DocumentSearch-spacer {\n margin-left: auto;\n}\n\n.jp-DocumentSearch-up-down-wrapper button {\n outline: 0;\n border: none;\n width: var(--jp-private-document-search-button-height);\n height: var(--jp-private-document-search-button-height);\n vertical-align: middle;\n margin: 1px 5px 2px;\n}\n\nbutton:not(:disabled) > .jp-DocumentSearch-up-down-button:hover {\n background-color: var(--jp-layout-color2);\n}\n\nbutton:not(:disabled) > .jp-DocumentSearch-up-down-button:active {\n background-color: var(--jp-layout-color3);\n}\n\n.jp-DocumentSearch-filter-button {\n border-radius: var(--jp-border-radius);\n}\n\n.jp-DocumentSearch-filter-button:hover {\n background-color: var(--jp-layout-color2);\n}\n\n.jp-DocumentSearch-filter-button-enabled {\n background-color: var(--jp-layout-color2);\n}\n\n.jp-DocumentSearch-filter-button-enabled:hover {\n background-color: var(--jp-layout-color3);\n}\n\n.jp-DocumentSearch-search-options {\n padding: 0 8px;\n margin-left: 3px;\n width: 100%;\n display: grid;\n justify-content: start;\n grid-template-columns: 1fr 1fr;\n align-items: center;\n justify-items: stretch;\n}\n\n.jp-DocumentSearch-search-filter-disabled {\n color: var(--jp-ui-font-color2);\n}\n\n.jp-DocumentSearch-search-filter {\n display: flex;\n align-items: center;\n user-select: none;\n}\n\n.jp-DocumentSearch-regex-error {\n color: var(--jp-error-color0);\n}\n\n.jp-DocumentSearch-replace-button-wrapper {\n overflow: hidden;\n display: inline-block;\n box-sizing: border-box;\n border: var(--jp-border-width) solid var(--jp-border-color0);\n margin: auto 2px;\n padding: 1px 4px;\n height: calc(var(--jp-private-document-search-button-height) + 2px);\n flex-shrink: 0;\n}\n\n.jp-DocumentSearch-replace-button-wrapper:focus {\n border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);\n}\n\n.jp-DocumentSearch-replace-button {\n display: inline-block;\n text-align: center;\n cursor: pointer;\n box-sizing: border-box;\n color: var(--jp-ui-font-color1);\n\n /* height - 2 * (padding of wrapper) */\n line-height: calc(var(--jp-private-document-search-button-height) - 2px);\n width: 100%;\n height: 100%;\n}\n\n.jp-DocumentSearch-replace-button:focus {\n outline: none;\n}\n\n.jp-DocumentSearch-replace-wrapper-class {\n margin-left: 14px;\n display: flex;\n}\n\n.jp-DocumentSearch-replace-toggle {\n border: none;\n background-color: var(--jp-toolbar-background);\n border-radius: var(--jp-border-radius);\n}\n\n.jp-DocumentSearch-replace-toggle:hover {\n background-color: var(--jp-layout-color2);\n}\n\n/*\n The following few rules allow the search box to expand horizontally,\n as the text within it grows. This is done by using putting\n the text within a wrapper element and using that wrapper for sizing,\n as <textarea> and <input> tags do not grow automatically.\n This is the underlying technique:\n https://til.simonwillison.net/css/resizing-textarea\n*/\n.jp-DocumentSearch-input-label::after {\n content: attr(data-value) ' ';\n visibility: hidden;\n white-space: pre;\n}\n\n.jp-DocumentSearch-input-label {\n display: inline-grid;\n align-items: stretch;\n}\n\n.jp-DocumentSearch-input-label::after,\n.jp-DocumentSearch-input-label > .jp-DocumentSearch-input {\n width: auto;\n min-width: 1em;\n grid-area: 1/2;\n font: inherit;\n padding: 2px 3px;\n margin: 0;\n resize: none;\n background: none;\n appearance: none;\n border: none;\n overflow: hidden;\n}\n",""]);const l=a},40502:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*\n Main widget layout and styling\n*/\n\n.jp-extensionmanager-view .lm-SplitPanel-child {\n overflow-y: auto;\n}\n\n.jp-extensionmanager-header {\n width: 100%;\n}\n\n.jp-extensionmanager-title {\n display: flex;\n margin: 4px 10px 0;\n}\n\n.jp-extensionmanager-title svg {\n width: 14px;\n}\n\n.jp-extensionmanager-title .jp-icon3[fill] {\n fill: currentcolor;\n}\n\n.jp-extensionmanager-path {\n display: inline flex;\n padding-left: 4px;\n}\n\n.jp-extensionmanager-header .jp-FilterBox {\n margin: 4px 10px 0;\n width: calc(100% - 20px);\n font-weight: normal;\n}\n\n.jp-extensionmanager-disclaimer {\n padding: 0 8px;\n min-height: 160px;\n}\n\n.jp-extensionmanager-disclaimer a {\n color: var(--jp-content-link-color);\n text-decoration: none;\n}\n\n.jp-extensionmanager-disclaimer a:hover {\n color: var(--jp-content-link-hover-color, var(--jp-content-link-color));\n text-decoration: underline;\n}\n\n.jp-extensionmanager-disclaimer .jp-Button {\n margin: 0 5px;\n}\n\n/*\n List view layout and styling\n*/\n\n.jp-extensionmanager-listview-wrapper {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.jp-extensionmanager-listview {\n list-style-type: none;\n margin: 0;\n padding: 0;\n min-height: 0;\n flex: 1 1 auto;\n overflow: auto;\n}\n\n/*\n Section headers\n*/\n\n.jp-extensionmanager-view .jp-SidePanel-header .jp-extensionmanager-error {\n text-transform: none;\n font-size: var(--jp-ui-font-size1);\n font-weight: 400;\n}\n\n/*\n Error messages\n*/\n\n.jp-extensionmanager-view .jp-extensionmanager-error pre {\n white-space: pre-wrap;\n}\n\n/*\n List view pagination styling\n*/\n\n.jp-extensionmanager-view ul.pagination {\n display: flex;\n justify-content: center;\n padding-left: 0;\n padding-right: 0;\n}\n\n.jp-extensionmanager-pagination li {\n display: inline-block;\n}\n\n/* stylelint-disable selector-max-type */\n.jp-extensionmanager-pagination li > a {\n padding: 0 5px;\n cursor: pointer;\n}\n/* stylelint-enable selector-max-type */\n\n.jp-extensionmanager-pagination li.active > a {\n background: var(--jp-brand-color1);\n color: var(--jp-layout-color1);\n}\n\n.jp-extensionmanager-pagination li > a:hover {\n background-color: var(--jp-layout-color2);\n}\n\n.jp-extensionmanager-pagination .break > a {\n cursor: default;\n}\n\n.jp-extensionmanager-installedlist,\n.jp-extensionmanager-searchresults {\n min-height: 100px;\n}\n\n/*\n Entry layout and styling\n*/\n\n.jp-extensionmanager-entry {\n padding: 8px;\n border-bottom: solid var(--jp-border-width) var(--jp-border-color2);\n}\n\n.jp-extensionmanager-entry-description {\n min-width: 0;\n flex-grow: 1;\n font-size: var(--jp-ui-font-size1);\n color: var(--jp-ui-font-color2);\n font-weight: 400;\n}\n\n.jp-extensionmanager-entry-title {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n}\n\n.jp-extensionmanager-entry.jp-extensionmanager-entry-should-be-uninstalled {\n background-color: var(--jp-error-color3);\n}\n\n/* Precedence order update/error/warning matters! */\n\n.jp-extensionmanager-entry.jp-extensionmanager-entry-update {\n border-left: solid 8px var(--jp-brand-color2);\n padding-left: 4px;\n}\n\n.jp-extensionmanager-entry.jp-extensionmanager-entry-error {\n border-left: solid 8px var(--jp-error-color2);\n padding-left: 4px;\n}\n\n.jp-extensionmanager-entry-name {\n font-size: var(--jp-ui-font-size1);\n font-weight: 600;\n padding: 0 8px 0 0;\n margin-bottom: 4px;\n overflow-wrap: anywhere;\n}\n\n.jp-extensionmanager-entry-name a:link {\n color: var(--jp-content-link-color);\n text-decoration: none;\n}\n\n.jp-extensionmanager-entry-name a:visited {\n color: var(--jp-content-link-visited-color, var(--jp-content-link-color));\n text-decoration: none;\n}\n\n.jp-extensionmanager-entry-name a:hover {\n color: var(--jp-content-link-hover-color, var(--jp-content-link-color));\n text-decoration: underline;\n}\n\n.jp-extensionmanager-loader,\n.jp-extensionmanager-error,\n.jp-extensionmanager-listview-message {\n padding: 4px 12px;\n}\n\n.jp-extensionmanager-listview-message {\n font-size: var(--jp-ui-font-size1);\n}\n\n.jp-extensionmanager-entry-content {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n\n/*\n Pending entry progress indicator\n*/\n\n.jp-extensionmanager-pending {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n flex: 0 0 auto;\n background-color: var(--jp-layout-color1);\n}\n\n.jp-extensionmanager-pending.jp-mod-hasPending::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n border-radius: 4px;\n background-color: var(--jp-brand-color1);\n animation: loading 2s linear infinite;\n}\n\n@keyframes loading {\n 0% {\n left: -200px;\n width: 30%;\n }\n\n 50% {\n width: 30%;\n }\n\n 70% {\n width: 70%;\n }\n\n 80% {\n left: 50%;\n }\n\n 95% {\n left: 120%;\n }\n\n 100% {\n left: 100%;\n }\n}\n\n/*\n Disclaimer buttons\n*/\n\n.jp-extensionmanager-disclaimer-disable {\n background-color: var(--jp-reject-color-normal) !important;\n color: white !important;\n border: 0;\n background-image: none !important;\n}\n\n.jp-extensionmanager-disclaimer-enable {\n background-color: var(--jp-error-color1) !important;\n color: white !important;\n border: 0;\n background-image: none !important;\n}\n\n/*\n Entry buttons layout and styling\n*/\n\n.jp-extensionmanager-entry-buttons {\n display: flex;\n flex-direction: row;\n padding-block-start: 4px;\n justify-content: flex-end;\n}\n\n/*\n Rebuild prompt dialog\n*/\n\n.jp-extensionmanager-buildprompt {\n background-color: var(--jp-brand-color1);\n color: var(--jp-ui-inverse-font-color1);\n padding: 4px 8px;\n font-size: var(--jp-ui-font-size1);\n font-weight: 400;\n}\n\n.jp-extensionmanager-buildprompt button {\n border: none;\n background-color: transparent;\n color: var(--jp-ui-inverse-font-color1);\n font-size: var(--jp-ui-font-size1);\n font-weight: 600;\n float: right;\n margin: 4px;\n}\n\n/*\n Generic dialog\n*/\n\n.jp-extensionmanager-dialog .jp-extensionmanager-dialog-subheader {\n font-size: var(--jp-ui-font-size1);\n font-weight: 600;\n color: var(--jp-ui-font-color0);\n}\n",""]);const l=a},538:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n#filebrowser.jp-mod-restoring .jp-DirListing-content {\n display: none;\n}\n\n.jp-FileBrowser-filterBox {\n padding: 0;\n flex: 0 0 auto;\n}\n",""]);const l=a},96562:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-private-filebrowser-button-height: 28px;\n --jp-private-filebrowser-button-width: 48px;\n}\n\n.jp-FileBrowser .jp-SidePanel-content {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.jp-FileBrowser-toolbar.jp-Toolbar {\n border-bottom: none;\n height: auto;\n margin: 8px 12px 0;\n box-shadow: none;\n padding: 0;\n}\n\n.jp-FileBrowser-toolbar.jp-Toolbar::part(positioning-region) {\n row-gap: 12px;\n}\n\n.jp-FileBrowser-filterToolbar {\n display: flex;\n flex: 0 0 auto;\n flex-direction: column;\n}\n\n.jp-FileBrowser-filterToolbar.jp-Toolbar {\n border-bottom: none;\n height: auto;\n margin: 0 12px 6px;\n box-shadow: none;\n padding: 0;\n}\n\n.jp-FileBrowser-Panel {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.jp-BreadCrumbs {\n flex: 0 0 auto;\n margin: 8px 12px;\n}\n\n.jp-BreadCrumbs-item {\n margin: 0 2px;\n padding: 0 2px;\n border-radius: var(--jp-border-radius);\n cursor: pointer;\n}\n\n.jp-BreadCrumbs-item:hover {\n background-color: var(--jp-layout-color2);\n}\n\n.jp-BreadCrumbs-item:first-child {\n margin-left: 0;\n}\n\n.jp-BreadCrumbs-item.jp-mod-dropTarget {\n background-color: var(--jp-brand-color2);\n opacity: 0.7;\n}\n\n/*-----------------------------------------------------------------------------\n| Buttons\n|----------------------------------------------------------------------------*/\n\n.jp-FileBrowser-toolbar > .jp-Toolbar-item,\n.jp-FileBrowser-filterToolbar > .jp-Toolbar-item {\n flex: 0 0 auto;\n padding-left: 0;\n align-items: center;\n height: unset;\n}\n\n.jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent {\n width: 28px;\n}\n\n/*-----------------------------------------------------------------------------\n| Other styles\n|----------------------------------------------------------------------------*/\n\n.jp-FileDialog.jp-mod-conflict input {\n color: var(--jp-error-color1);\n}\n\n.jp-FileDialog .jp-new-name-title {\n margin-top: 12px;\n}\n\n.jp-FileBrowser .lm-AccordionPanel > h3:first-child {\n display: none;\n}\n\n.jp-FileBrowser-filterToolbar > .jp-FileBrowser-filterBox {\n width: 100%;\n}\n\n.jp-FileBrowser-filterBox > .jp-FilterBox {\n width: 100%;\n}\n\n.jp-Open-Dialog > .jp-FileBrowser {\n min-height: 200px;\n}\n\n.jp-Open-Dialog-label {\n overflow: visible;\n}\n\n/*-----------------------------------------------------------------------------\n| DirListing\n|----------------------------------------------------------------------------*/\n\n.jp-DirListing {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n outline: 0;\n overflow: hidden;\n\n --jp-dirlisting-padding-width: 12px;\n}\n\n.jp-DirListing-header {\n flex: 0 0 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n overflow: hidden;\n border-top: var(--jp-border-width) solid var(--jp-border-color2);\n border-bottom: var(--jp-border-width) solid var(--jp-border-color1);\n box-shadow: var(--jp-toolbar-box-shadow);\n z-index: 2;\n user-select: none;\n}\n\n.jp-DirListing-headerItem {\n padding: 4px 12px 2px;\n font-weight: 500;\n overflow: hidden;\n white-space: nowrap;\n box-sizing: border-box;\n display: flex;\n}\n\n.jp-DirListing-headerItemText {\n flex-grow: 1;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.jp-DirListing-headerItem:hover {\n background: var(--jp-layout-color2);\n}\n\n.jp-DirListing-headerItem.jp-id-name:not([style*='width']) {\n /* default width before user resizes this column */\n flex: 1 1 126px;\n}\n\n.jp-DirListing-headerItem.jp-id-modified:not([style*='width']) {\n /* default width before user resizes this column */\n flex: 1 0 70px;\n}\n\n.jp-DirListing-headerItem.jp-id-filesize:not([style*='width']) {\n /* default width before user resizes this column */\n flex: 0 0 75px;\n}\n\n.jp-DirListing-headerItem.jp-id-modified,\n.jp-DirListing-headerItem.jp-id-filesize {\n text-align: right;\n /* stylelint-disable */\n container-type: inline-size;\n /* stylelint-enable */\n}\n\n/**\n * Use container queries (not yet supported by our version of stylelint)\n * to display either a small or large header for the last-modified column.\n */\n/* stylelint-disable */\n@container (max-width: 300px) {\n /* stylelint-enable */\n .jp-DirListing-headerItem.jp-id-modified\n > .jp-DirListing-headerItemText-small,\n .jp-DirListing-headerItem.jp-id-filesize\n > .jp-DirListing-headerItemText-small {\n display: inline;\n }\n\n .jp-DirListing-headerItem.jp-id-modified\n > .jp-DirListing-headerItemText-large,\n .jp-DirListing-headerItem.jp-id-filesize\n > .jp-DirListing-headerItemText-large {\n display: none;\n }\n}\n\n/* stylelint-disable */\n@container (min-width: 300px) {\n /* stylelint-enable */\n .jp-DirListing-headerItem.jp-id-modified\n > .jp-DirListing-headerItemText-small {\n display: none;\n }\n\n .jp-DirListing-headerItem.jp-id-modified\n > .jp-DirListing-headerItemText-large {\n display: inline;\n }\n}\n\n/* stylelint-disable */\n@container (max-width: 100px) {\n /* stylelint-enable */\n .jp-DirListing-headerItem.jp-id-filesize\n > .jp-DirListing-headerItemText-small {\n display: inline;\n }\n\n .jp-DirListing-headerItem.jp-id-filesize\n > .jp-DirListing-headerItemText-large {\n display: none;\n }\n}\n\n/* stylelint-disable */\n@container (min-width: 100px) {\n /* stylelint-enable */\n .jp-DirListing-headerItem.jp-id-filesize\n > .jp-DirListing-headerItemText-small {\n display: none;\n }\n\n .jp-DirListing-headerItem.jp-id-filesize\n > .jp-DirListing-headerItemText-large {\n display: inline;\n }\n}\n\n.jp-DirListing-headerItem.jp-mod-selected {\n font-weight: 600;\n}\n\n/* increase specificity to override bundled default */\n.jp-DirListing-content {\n flex: 1 1 auto;\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow: auto;\n background-color: var(--jp-layout-color1);\n overflow-x: hidden;\n}\n\n.jp-DirListing-content mark {\n color: var(--jp-ui-font-color0);\n background-color: transparent;\n font-weight: bold;\n}\n\n.jp-DirListing-content .jp-DirListing-item.jp-mod-selected mark {\n color: var(--jp-ui-inverse-font-color0);\n}\n\n/* Style the directory listing content when a user drops a file to upload */\n.jp-DirListing.jp-mod-native-drop .jp-DirListing-content {\n outline: 5px dashed rgba(128, 128, 128, 0.5);\n outline-offset: -10px;\n cursor: copy;\n}\n\n.jp-DirListing-item {\n align-items: center;\n padding: 4px var(--jp-dirlisting-padding-width);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: inline-grid;\n grid-auto-columns: max-content;\n width: 100%;\n box-sizing: border-box;\n grid-auto-flow: column;\n}\n\n.jp-DirListing-checkboxWrapper {\n /* Increases hit area of checkbox. */\n padding: 4px;\n}\n\n.jp-DirListing-content .jp-DirListing-checkboxWrapper {\n position: relative;\n left: -4px;\n margin: -4px 0 -4px -8px;\n}\n\n.jp-DirListing-checkboxWrapper.jp-mod-visible {\n visibility: visible;\n}\n\n/* For devices that support hovering, hide checkboxes until hovered, selected...\n*/\n@media (hover: hover) {\n .jp-DirListing-checkboxWrapper {\n visibility: hidden;\n }\n\n .jp-DirListing-item:hover .jp-DirListing-checkboxWrapper,\n .jp-DirListing-item.jp-mod-selected .jp-DirListing-checkboxWrapper {\n visibility: visible;\n }\n}\n\n.jp-DirListing-resizeHandle {\n min-width: var(--jp-border-width);\n background: var(--jp-border-color2);\n height: calc(100% - 4px);\n\n /* border increases the area where handle can be grabbed */\n border: 2px solid var(--jp-layout-color1);\n}\n\n.jp-DirListing-resizeHandle.jp-mod-active {\n background: var(--jp-brand-color1);\n border-color: var(--jp-brand-color1);\n}\n\n.jp-DirListing-resizeHandle.jp-mod-active:hover {\n border-color: var(--jp-brand-color1);\n}\n\n.jp-DirListing-resizeHandle:hover {\n cursor: col-resize;\n border-color: var(--jp-border-color2);\n}\n\n.jp-DirListing-itemName {\n display: flex;\n}\n\n.jp-DirListing-item[data-is-dot] {\n opacity: 75%;\n}\n\n.jp-DirListing-item.jp-mod-selected {\n color: var(--jp-ui-inverse-font-color1);\n background: var(--jp-brand-color1);\n}\n\n.jp-DirListing-item.jp-mod-dropTarget {\n background: var(--jp-brand-color3);\n}\n\n.jp-DirListing-item:hover:not(.jp-mod-selected) {\n background: var(--jp-layout-color2);\n}\n\n.jp-DirListing-itemIcon {\n flex: 0 0 20px;\n margin-right: 4px;\n}\n\n.jp-DirListing-itemText,\n.jp-DirListing-itemModified,\n.jp-DirListing-itemFileSize {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.jp-DirListing-itemName:not([style*='width']) > .jp-DirListing-itemText {\n flex: 1 1 106px;\n}\n\n.jp-DirListing-item:has(.jp-DirListing-itemText:focus-visible) {\n /* Targeting `.jp-DirListing-itemText` specifically to avoid an extra outline\n when it gets replaced with `jp-DirListing-editor` when editing the file name */\n outline-width: 2px;\n outline-color: var(--jp-inverse-layout-color1);\n outline-style: solid;\n outline-offset: -4px;\n}\n\n.jp-DirListing-item.jp-mod-selected:focus-within {\n outline-color: var(--jp-layout-color1);\n}\n\n.jp-DirListing-item > .jp-DirListing-itemName > .jp-DirListing-itemText:focus {\n outline: 0;\n}\n\n.jp-DirListing-itemModified {\n text-align: right;\n}\n\n.jp-DirListing-itemFileSize {\n text-align: right;\n}\n\n.jp-DirListing-editor {\n flex: 1 0 64px;\n outline: none;\n border: none;\n color: var(--jp-ui-font-color1);\n background-color: var(--jp-layout-color1);\n z-index: 0;\n}\n\n.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon::before {\n color: var(--jp-success-color1);\n content: '\\25CF';\n font-size: 8px;\n position: absolute;\n left: -8px;\n}\n\n.jp-DirListing-item.jp-mod-running.jp-mod-selected\n .jp-DirListing-itemIcon::before {\n color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-DirListing-item.lm-mod-drag-image,\n.jp-DirListing-item.jp-mod-selected.lm-mod-drag-image {\n font-size: var(--jp-ui-font-size1);\n padding-left: 4px;\n margin-left: 4px;\n width: 160px;\n background-color: var(--jp-ui-inverse-font-color2);\n box-shadow: var(--jp-elevation-z2);\n border-radius: 0;\n color: var(--jp-ui-font-color1);\n transform: translateX(-40%) translateY(-58%);\n}\n\n.jp-Document {\n min-width: 120px;\n min-height: 120px;\n outline: none;\n}\n",""]);const l=a},98561:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Presentation Mode (.jp-mod-presentationMode)\n|----------------------------------------------------------------------------*/\n\n.jp-mod-presentationMode .jp-FileEditor {\n --jp-code-font-size: var(--jp-code-presentation-font-size);\n}\n\n.jp-FileEditorCodeWrapper {\n overflow: auto;\n}\n\n.jp-FileEditorCodeWrapper .cm-editor {\n height: 100%;\n}\n\n/* Add extra space at the bottom when scrollPastEnd is enabled */\n.jp-FileEditor.jp-mod-scrollPastEnd .cm-content {\n padding-bottom: var(--jp-editor-scroll-padding);\n}\n",""]);const l=a},31569:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Help {\n min-width: 240px;\n min-height: 240px;\n background: var(--jp-layout-color0);\n outline: none;\n}\n\n.jp-Help > iframe {\n border: none;\n\n /* Forcing white color to avoid contrast issues see issue #11320 */\n background: white;\n}\n\n.jp-About-body {\n display: flex;\n font-size: var(--jp-ui-font-size1);\n color: var(--jp-ui-font-color1);\n text-align: left;\n flex-direction: column;\n width: 100%;\n min-width: 360px;\n overflow: visible;\n}\n\n.jp-About-version-info {\n color: var(--jp-ui-font-color1);\n\n /* Dialog-header sets the font size to 3, we reset to 1 */\n font-size: var(--jp-ui-font-size1);\n width: 200px;\n font-weight: 400;\n letter-spacing: 0.4px;\n text-align: left;\n line-height: 1.12;\n}\n\n.jp-About-version {\n display: block;\n padding-top: 8px;\n}\n\n.jp-About-externalLinks {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n padding-top: 12px;\n}\n\n.jp-About-externalLinks > .jp-Button-flat {\n text-decoration: none;\n}\n\n.jp-About-externalLinks > .jp-Button-flat:hover {\n color: var(--jp-content-link-color);\n text-decoration: underline;\n}\n\n.jp-About-copyright {\n padding-top: 25px;\n}\n\n.jp-About-header {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.jp-About-body pre {\n white-space: pre-wrap;\n}\n\n.jp-About-header-info {\n display: flex;\n flex-direction: column;\n margin-left: 16px;\n}\n",""]);const l=a},20813:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Document styles */\n.jp-HTMLViewer {\n overflow: hidden;\n min-width: 100px;\n min-height: 100px;\n width: 100%;\n height: 100%;\n}\n\n.jp-HTMLViewer > iframe {\n border: none;\n}\n\n/*\nWhen drag events occur, `lm-mod-override-cursor` is added to the body.\nBecause iframes steal all cursor events, the following two rules are necessary\nto suppress pointer events while resize drags are occurring. There may be a\nbetter solution to this problem.\n*/\nbody.lm-mod-override-cursor .jp-HTMLViewer {\n position: relative;\n}\n\nbody.lm-mod-override-cursor .jp-HTMLViewer::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: transparent;\n}\n",""]);const l=a},70047:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-ImageViewer {\n overflow: auto;\n}\n\n.jp-ImageViewer > img {\n box-sizing: border-box;\n transform-origin: top left;\n}\n",""]);const l=a},96741:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-private-inspector-tab-height: 24px;\n --jp-private-inspector-tab-width: 60px;\n}\n\n/*-----------------------------------------------------------------------------\n| Inspector\n|----------------------------------------------------------------------------*/\n\n.jp-Inspector {\n outline: none;\n min-width: 120px;\n min-height: 120px;\n}\n\n.jp-Inspector-content {\n background: var(--jp-layout-color1);\n border: none;\n padding: 8px;\n width: 100%;\n height: 100%;\n overflow: auto;\n}\n\n.jp-ThemedContainer .jp-Inspector-content pre {\n font-size: var(--jp-code-font-size);\n line-height: var(--jp-code-line-height);\n margin: 0;\n white-space: pre-wrap;\n}\n\n.jp-Inspector-placeholderContent {\n text-align: center;\n color: var(--jp-content-font-color2);\n}\n\n.jp-Inspector-placeholderContent > h3 {\n margin-bottom: var(--jp-content-heading-margin-bottom);\n}\n",""]);const l=a},67613:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/* Copyright (c) Jupyter Development Team.\nDistributed under the terms of the Modified BSD License. */\n\n.jp-RenderedJavaScript {\n padding: var(--jp-code-padding);\n}\n",""]);const l=a},34176:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/**\n Copyright (c) Jupyter Development Team.\n Distributed under the terms of the Modified BSD License.\n*/\n\n/* Base styles */\n.jp-RenderedJSON {\n width: 100%;\n height: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n/* Override react-json-tree inline styles */\n.jp-RenderedJSON *:not(mark) {\n background-color: transparent !important;\n}\n\n.jp-RenderedJSON ul {\n margin: 0 !important;\n}\n\n.jp-RenderedJSON .container {\n position: relative;\n width: 100%;\n min-height: 30px;\n}\n\n.jp-RenderedJSON .filter {\n position: absolute;\n top: 0;\n right: 0;\n width: 33%;\n max-width: 150px;\n z-index: 10;\n}\n\n/* Document styles */\n.jp-MimeDocument .jp-RenderedJSON {\n padding: 5px 5px 5px 20px;\n overflow-y: auto;\n}\n\n.jp-RenderedJSON mark.jp-mod-selected {\n background-color: var(--jp-search-unselected-match-background-color);\n color: var(--jp-search-unselected-match-color);\n}\n\n/* Output styles */\n\n/* .jp-OutputArea .jp-RenderedJSON {\n\n} */\n",""]);const l=a},41782:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-FileBrowser-toolbar\n .jp-ToolbarButtonComponent[data-command='launcher:create'] {\n width: 72px;\n background: var(--jp-accept-color-normal, var(--jp-brand-color1));\n}\n\n.jp-FileBrowser-toolbar\n .jp-ToolbarButtonComponent[data-command='launcher:create']:hover {\n background-color: var(--jp-accept-color-hover);\n}\n\n.jp-FileBrowser-toolbar\n .jp-ToolbarButtonComponent[data-command='launcher:create']:focus-visible {\n background-color: var(--jp-accept-color-active, var(--jp-brand-color0));\n}\n\n.jp-FileBrowser-toolbar\n .jp-ToolbarButtonComponent[data-command='launcher:create']\n .jp-icon3 {\n fill: var(--jp-layout-color1);\n}\n",""]);const l=a},97718:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Private CSS variables */\n\n:root {\n --jp-private-launcher-top-padding: 1.231em;\n --jp-private-launcher-side-padding: 2.462em;\n --jp-private-launcher-card-size: 7.692em;\n --jp-private-launcher-card-label-height: 2.462em;\n --jp-private-launcher-card-icon-height: 5.231em;\n --jp-private-launcher-large-icon-size: 4em;\n --jp-private-launcher-small-icon-size: 2.462em;\n}\n\n/* Launcher */\n\n.jp-Launcher {\n margin: 0;\n padding: 0;\n outline: none;\n background: var(--jp-layout-color0);\n box-sizing: border-box;\n min-width: 120px;\n min-height: 120px;\n\n /* This is needed so that all font sizing of children done in ems is\n * relative to this base size */\n font-size: var(--jp-ui-font-size1);\n}\n\n.jp-Launcher-body {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n display: flex;\n justify-content: center;\n}\n\n.jp-Launcher-cwd h3 {\n font-size: var(--jp-ui-font-size2);\n font-weight: normal;\n color: var(--jp-ui-font-color1);\n margin: 1em 0;\n}\n\n.jp-Launcher-content {\n width: 85%;\n height: 100%;\n padding-top: var(--jp-private-launcher-top-padding);\n padding-left: var(--jp-private-launcher-side-padding);\n padding-right: var(--jp-private-launcher-side-padding);\n box-sizing: border-box;\n}\n\n/* Launcher section */\n\n.jp-Launcher-section {\n width: 100%;\n box-sizing: border-box;\n padding-bottom: 12px;\n}\n\n.jp-Launcher-sectionHeader {\n display: flex;\n flex-direction: row;\n align-items: center;\n box-sizing: border-box;\n\n /* This is custom tuned to get the section header to align with the cards */\n margin-left: 5px;\n border-bottom: 1px solid var(--jp-border-color2);\n padding-bottom: 0;\n margin-bottom: 8px;\n}\n\n.jp-Launcher-sectionTitle {\n font-size: var(--jp-ui-font-size2);\n font-weight: normal;\n color: var(--jp-ui-font-color0);\n box-sizing: border-box;\n}\n\n/* Launcher cards */\n\n.jp-Launcher-cardContainer {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n}\n\n.jp-LauncherCard {\n display: flex;\n flex-direction: column;\n cursor: pointer;\n width: var(--jp-private-launcher-card-size);\n min-height: var(--jp-private-launcher-card-size);\n margin: 8px;\n padding: 0;\n border: 1px solid var(--jp-border-color2);\n background: var(--jp-layout-color0);\n box-shadow: var(--jp-elevation-z2);\n transition: 0.2s box-shadow;\n border-radius: var(--jp-border-radius);\n}\n\n.jp-LauncherCard:focus:not(:active) {\n border: 1px solid var(--jp-brand-color1);\n box-shadow: var(--jp-elevation-z6);\n outline: unset; /* if outline is not unset, then depending on which browser you use, the\n border change is either hidden behind the outline or visually combined with it */\n}\n\n.jp-LauncherCard:hover {\n box-shadow: var(--jp-elevation-z6);\n background: var(--jp-layout-color1);\n}\n\n.jp-LauncherCard:active {\n box-shadow: var(--jp-elevation-z4);\n}\n\n.jp-LauncherCard-icon {\n width: 100%;\n height: var(--jp-private-launcher-card-icon-height);\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.jp-LauncherCard-noKernelIcon {\n font-weight: normal;\n font-size: var(--jp-private-launcher-large-icon-size);\n}\n\n.jp-LauncherCard[data-category='Notebook'] .jp-LauncherCard-noKernelIcon {\n /* This color is copied from the notebook icon. */\n color: var(--jp-jupyter-icon-color);\n}\n\n.jp-LauncherCard[data-category='Console'] .jp-LauncherCard-noKernelIcon {\n /* This color is copied from the console icon. */\n color: #0288d1;\n}\n\n.jp-LauncherCard-label {\n width: 100%;\n min-height: var(--jp-private-launcher-card-label-height);\n padding: 0 4px 4px;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n.jp-LauncherCard-label p {\n min-height: 2.154em;\n word-break: break-word;\n text-align: center;\n color: var(--jp-ui-font-color1);\n line-height: 1.077em;\n font-size: calc(var(--jp-ui-font-size1) * 0.923);\n overflow: hidden;\n margin: auto;\n}\n\n/* kernel icons */\n\n.jp-Launcher-kernelIcon {\n width: var(--jp-private-launcher-large-icon-size);\n height: var(--jp-private-launcher-large-icon-size);\n margin: 0;\n padding: 0;\n\n /* Preserve image aspect ratio */\n object-fit: contain;\n}\n",""]);const l=a},39817:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n@keyframes flash {\n 0% {\n background-color: var(--jp-brand-color1);\n }\n\n 50% {\n color: unset;\n background-color: unset;\n }\n\n 100% {\n background-color: var(--jp-brand-color1);\n }\n}\n\n.jp-LogConsoleStatusItem.jp-LogConsole-flash {\n animation: flash 300ms both;\n}\n\n.jp-LogConsoleStatusItem.jp-mod-selected {\n background-color: var(--jp-brand-color1);\n}\n\n/* Override semi-transparent white with opaque white for higher contrast */\n.jp-LogConsoleStatusItem.jp-mod-selected,\n.jp-LogConsoleStatusItem.jp-mod-selected .jp-StatusBar-TextItem {\n color: white;\n}\n\n.jp-LogConsole .jp-ClearIcon {\n transform: rotate(90deg);\n margin-top: -1px;\n padding: 0 8px;\n}\n\n.jp-Toolbar-item.jp-LogConsole-toolbarLogLevel {\n align-items: center;\n padding: 0 6px;\n}\n\n/* Matches the disabled style elsewhere in JupyterLab */\n.jp-LogConsole-toolbarLogLevel-disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/* Copied from the notebook cell type dropdown styling */\n.jp-LogConsole-toolbarLogLevelDropdown select {\n height: 24px;\n font-size: var(--jp-ui-font-size1);\n line-height: 14px;\n border-radius: 0;\n display: block;\n}\n\n/* Copied from the notebook cell type dropdown styling */\n.jp-LogConsole-toolbarLogLevelDropdown span {\n top: 5px !important;\n}\n",""]);const l=a},42769:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-LogConsolePanel {\n overflow-y: auto;\n}\n\n.jp-LogConsolePanel .jp-OutputArea-child {\n border-bottom: 1px solid var(--jp-border-color3);\n}\n\n.jp-LogConsolePanel .jp-OutputArea-prompt {\n width: 85px;\n color: var(--jp-ui-font-color2);\n font-size: 13px;\n padding: 2px;\n}\n\n.jp-LogConsolePanel .jp-OutputArea-prompt[data-log-level='info'] {\n background-color: var(--jp-info-color1);\n color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-LogConsolePanel .jp-OutputArea-prompt[data-log-level='warning'] {\n background-color: var(--jp-warn-color1);\n color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-LogConsolePanel .jp-OutputArea-prompt[data-log-level='error'] {\n background-color: var(--jp-error-color1);\n color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-LogConsolePanel .jp-OutputArea-prompt[data-log-level='critical'] {\n background-color: var(--jp-error-color0);\n color: var(--jp-ui-inverse-font-color0);\n}\n\n.jp-LogConsoleListPlaceholder {\n padding: 5px;\n font-size: 13px;\n color: var(--jp-ui-font-color3);\n}\n\n.jp-Scrolling {\n overflow-y: auto;\n}\n",""]);const l=a},37347:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-LSPExtension-FormGroup-content > select {\n margin: 0 12px;\n}\n",""]);const l=a},80877:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-private-markdownviewer-padding: 32px;\n}\n\n.jp-Document .jp-MarkdownViewer .jp-RenderedMarkdown {\n padding-top: var(--jp-private-markdownviewer-padding);\n padding-right: var(--jp-private-markdownviewer-padding);\n padding-bottom: var(--jp-private-markdownviewer-padding);\n padding-left: var(--jp-private-markdownviewer-padding);\n overflow: auto;\n}\n\n/*-----------------------------------------------------------------------------\n| Presentation Mode (.jp-mod-presentationMode)\n|----------------------------------------------------------------------------*/\n\n.jp-mod-presentationMode .jp-MarkdownViewer .jp-RenderedHTMLCommon {\n --jp-content-font-size1: var(--jp-content-presentation-font-size1);\n --jp-code-font-size: var(--jp-code-presentation-font-size);\n}\n",""]);const l=a},23865:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n",""]);const l=a},25149:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(43630);var l=r()(s());l.i(a.A);l.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This can be removed after upgrading to MathJax 4, as the issue will be fixed in the new version */\nmjx-assistive-mml {\n bottom: 0;\n}\n",""]);const d=l},43630:(e,t,n)=>{"use strict";n.d(t,{A:()=>ee});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(4417);var l=n.n(a);var d=new URL(n(77778),n.b);var c=new URL(n(98072),n.b);var h=new URL(n(91495),n.b);var u=new URL(n(21033),n.b);var p=new URL(n(35492),n.b);var m=new URL(n(13566),n.b);var g=new URL(n(4777),n.b);var f=new URL(n(64452),n.b);var v=new URL(n(943),n.b);var _=new URL(n(71698),n.b);var b=new URL(n(23182),n.b);var y=new URL(n(51508),n.b);var w=new URL(n(27075),n.b);var C=new URL(n(13110),n.b);var x=new URL(n(31517),n.b);var S=new URL(n(49485),n.b);var j=new URL(n(50584),n.b);var k=new URL(n(17739),n.b);var I=new URL(n(1910),n.b);var T=new URL(n(98786),n.b);var E=new URL(n(83202),n.b);var M=new URL(n(94665),n.b);var D=r()(s());var A=l()(d);var P=l()(c);var L=l()(h);var R=l()(u);var N=l()(p);var B=l()(m);var O=l()(g);var F=l()(f);var z=l()(v);var W=l()(_);var H=l()(b);var V=l()(y);var U=l()(w);var q=l()(C);var $=l()(x);var K=l()(S);var J=l()(j);var G=l()(k);var Y=l()(I);var X=l()(T);var Q=l()(E);var Z=l()(M);D.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n@font-face /* 0 */ {\n font-display: swap;\n font-family: MJXZERO;\n src: url("+A+")\n format('woff');\n}\n\n@font-face /* 1 */ {\n font-display: swap;\n font-family: MJXTEX;\n src: url("+P+")\n format('woff');\n}\n\n@font-face /* 2 */ {\n font-display: swap;\n font-family: MJXTEX-B;\n src: url("+L+")\n format('woff');\n}\n\n@font-face /* 3 */ {\n font-display: swap;\n font-family: MJXTEX-I;\n src: url("+R+")\n format('woff');\n}\n\n@font-face /* 4 */ {\n font-display: swap;\n font-family: MJXTEX-MI;\n src: url("+N+")\n format('woff');\n}\n\n@font-face /* 5 */ {\n font-display: swap;\n font-family: MJXTEX-BI;\n src: url("+B+")\n format('woff');\n}\n\n@font-face /* 6 */ {\n font-display: swap;\n font-family: 'MJXTEX-S1';\n src: url("+O+")\n format('woff');\n}\n\n@font-face /* 7 */ {\n font-display: swap;\n font-family: 'MJXTEX-S2';\n src: url("+F+")\n format('woff');\n}\n\n@font-face /* 8 */ {\n font-display: swap;\n font-family: 'MJXTEX-S3';\n src: url("+z+")\n format('woff');\n}\n\n@font-face /* 9 */ {\n font-display: swap;\n font-family: 'MJXTEX-S4';\n src: url("+W+")\n format('woff');\n}\n\n@font-face /* 10 */ {\n font-display: swap;\n font-family: MJXTEX-A;\n src: url("+H+")\n format('woff');\n}\n\n@font-face /* 11 */ {\n font-display: swap;\n font-family: MJXTEX-C;\n src: url("+V+")\n format('woff');\n}\n\n@font-face /* 12 */ {\n font-display: swap;\n font-family: MJXTEX-CB;\n src: url("+U+")\n format('woff');\n}\n\n@font-face /* 13 */ {\n font-display: swap;\n font-family: MJXTEX-FR;\n src: url("+q+")\n format('woff');\n}\n\n@font-face /* 14 */ {\n font-display: swap;\n font-family: MJXTEX-FRB;\n src: url("+$+")\n format('woff');\n}\n\n@font-face /* 15 */ {\n font-display: swap;\n font-family: MJXTEX-SS;\n src: url("+K+")\n format('woff');\n}\n\n@font-face /* 16 */ {\n font-display: swap;\n font-family: MJXTEX-SSB;\n src: url("+J+")\n format('woff');\n}\n\n@font-face /* 17 */ {\n font-family: MJXTEX-SSI;\n src: url("+G+")\n format('woff');\n}\n\n@font-face /* 18 */ {\n font-display: swap;\n font-family: MJXTEX-SC;\n src: url("+Y+")\n format('woff');\n}\n\n@font-face /* 19 */ {\n font-display: swap;\n font-family: MJXTEX-T;\n src: url("+X+")\n format('woff');\n}\n\n@font-face /* 20 */ {\n font-display: swap;\n font-family: MJXTEX-V;\n src: url("+Q+")\n format('woff');\n}\n\n@font-face /* 21 */ {\n font-display: swap;\n font-family: MJXTEX-VB;\n src: url("+Z+")\n format('woff');\n}\n",""]);const ee=D},4555:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n",""]);const l=a},9979:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n.jp-RenderedMermaid {\n overflow: auto;\n display: flex;\n}\n\n.jp-RenderedMermaid.jp-mod-warning {\n width: auto;\n padding: 0.5em;\n margin-top: 0.5em;\n border: var(--jp-border-width) solid var(--jp-warn-color2);\n border-radius: var(--jp-border-radius);\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size1);\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n\n.jp-RenderedMermaid figure {\n margin: 0;\n overflow: auto;\n max-width: 100%;\n}\n\n.jp-RenderedMermaid img {\n max-width: 100%;\n}\n\n.jp-RenderedMermaid-Details > pre {\n margin-top: 1em;\n}\n\n.jp-RenderedMermaid-Summary {\n color: var(--jp-warn-color2);\n}\n\n.jp-RenderedMermaid:not(.jp-mod-warning) pre {\n display: none;\n}\n\n.jp-RenderedMermaid-Summary > pre {\n display: inline-block;\n white-space: normal;\n}\n",""]);const l=a},62129:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-MetadataForm {\n width: 100%;\n color: var(--jp-ui-font-color1);\n background: var(--jp-layout-color1);\n}\n\n.jp-MetadataForm-placeholder {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.jp-MetadataForm-placeholderContent {\n padding: 8px;\n}\n\n.jp-MetadataForm .panel-danger.errors {\n display: none;\n}\n",""]);const l=a},30979:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(93091);var l=n(34701);var d=n(77732);var c=n(97238);var h=r()(s());h.i(a.A);h.i(l.A);h.i(d.A);h.i(c.A);h.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Imports\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| CSS variables\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-side-by-side-output-size: 1fr;\n --jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size);\n --jp-private-notebook-dragImage-width: 304px;\n --jp-private-notebook-dragImage-height: 36px;\n --jp-private-notebook-selected-color: var(--md-blue-400, #42a5f5);\n --jp-private-notebook-active-color: var(--md-green-400, #66bb6a);\n}\n\n/*-----------------------------------------------------------------------------\n| Notebook\n|----------------------------------------------------------------------------*/\n\n/* stylelint-disable selector-max-class */\n\n.jp-NotebookPanel {\n display: block;\n height: 100%;\n}\n\n.jp-NotebookPanel.jp-Document {\n min-width: 240px;\n min-height: 120px;\n}\n\n.jp-Notebook {\n outline: none;\n background: var(--jp-layout-color0);\n}\n\n.jp-Notebook .jp-WindowedPanel-viewport {\n padding: var(--jp-notebook-padding);\n}\n\n.jp-Notebook.jp-mod-scrollPastEnd > .jp-WindowedPanel-outer::after {\n display: block;\n content: '';\n min-height: var(--jp-notebook-scroll-padding);\n}\n\n.jp-MainAreaWidget-ContainStrict .jp-Notebook * {\n contain: strict;\n}\n\n.jp-Notebook .jp-Cell {\n overflow: visible;\n}\n\n.jp-Notebook .jp-Cell .jp-InputPrompt {\n cursor: move;\n float: left;\n}\n\n/*-----------------------------------------------------------------------------\n| Notebook state related styling\n|\n| The notebook and cells each have states, here are the possibilities:\n|\n| - Notebook\n| - Command\n| - Edit\n| - Cell\n| - None\n| - Active (only one can be active)\n| - Selected (the cells actions are applied to)\n| - Multiselected (when multiple selected, the cursor)\n| - No outputs\n|----------------------------------------------------------------------------*/\n\n/* Command or edit modes */\n\n.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {\n opacity: var(--jp-cell-prompt-not-active-opacity);\n color: var(--jp-cell-prompt-not-active-font-color);\n}\n\n.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {\n opacity: var(--jp-cell-prompt-not-active-opacity);\n color: var(--jp-cell-prompt-not-active-font-color);\n}\n\n/* cell is active */\n.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser {\n background: var(--jp-brand-color1);\n}\n\n/* cell is dirty */\n.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt {\n color: var(--jp-warn-color1);\n}\n\n.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt::before {\n color: var(--jp-warn-color1);\n content: '•';\n}\n\n.jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser {\n background: var(--jp-warn-color1);\n}\n\n/* collapser is hovered */\n.jp-Notebook .jp-Cell .jp-Collapser:hover {\n box-shadow: var(--jp-elevation-z2);\n background: var(--jp-brand-color1);\n opacity: var(--jp-cell-collapser-not-active-hover-opacity);\n}\n\n/* cell is active and collapser is hovered */\n.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover {\n background: var(--jp-brand-color0);\n opacity: 1;\n}\n\n/* Command mode */\n\n.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected {\n background: var(--jp-notebook-multiselected-color);\n}\n\n.jp-Notebook.jp-mod-commandMode\n .jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) {\n background: transparent;\n}\n\n.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-active:focus-visible {\n outline: none;\n border: none;\n border-radius: 2px;\n box-shadow: 0 0 0 1px var(--jp-brand-color1);\n z-index: 1;\n}\n\n/* Edit mode */\n\n.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor {\n border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);\n box-shadow: var(--jp-cell-editor-box-shadow);\n background-color: var(--jp-cell-editor-active-background);\n}\n\n/*-----------------------------------------------------------------------------\n| Notebook drag and drop\n|----------------------------------------------------------------------------*/\n\n.jp-Notebook-cell.jp-mod-dropSource {\n opacity: 0.5;\n}\n\n.jp-Notebook-cell.jp-mod-dropTarget,\n.jp-Notebook.jp-mod-commandMode\n .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget {\n border-top-color: var(--jp-private-notebook-selected-color);\n border-top-style: solid;\n border-top-width: 2px;\n}\n\n.jp-dragImage {\n display: flex;\n flex-direction: row;\n width: var(--jp-private-notebook-dragImage-width);\n height: var(--jp-private-notebook-dragImage-height);\n border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);\n background: var(--jp-cell-editor-background);\n overflow: visible;\n}\n\n.jp-dragImage-singlePrompt {\n box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);\n}\n\n.jp-dragImage .jp-dragImage-content {\n flex: 1 1 auto;\n z-index: 2;\n font-size: var(--jp-code-font-size);\n font-family: var(--jp-code-font-family);\n line-height: var(--jp-code-line-height);\n padding: var(--jp-code-padding);\n border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);\n background: var(--jp-cell-editor-background-color);\n color: var(--jp-content-font-color3);\n text-align: left;\n margin: 4px 4px 4px 0;\n}\n\n.jp-dragImage .jp-dragImage-prompt {\n flex: 0 0 auto;\n min-width: 36px;\n color: var(--jp-cell-inprompt-font-color);\n opacity: 0.5;\n padding: var(--jp-code-padding);\n padding-left: 12px;\n font-family: var(--jp-cell-prompt-font-family);\n letter-spacing: var(--jp-cell-prompt-letter-spacing);\n line-height: 1.9;\n font-size: var(--jp-code-font-size);\n border: var(--jp-border-width) solid transparent;\n}\n\n.jp-dragImage-multipleBack {\n z-index: -1;\n position: absolute;\n height: 32px;\n width: 300px;\n top: 8px;\n left: 8px;\n background: var(--jp-layout-color2);\n border-width: var(--jp-border-width);\n border-style: solid;\n border-color: color-mix(\n in srgb,\n var(--jp-input-border-color) 20%,\n transparent\n );\n box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);\n}\n\n/*-----------------------------------------------------------------------------\n| Cell toolbar\n|----------------------------------------------------------------------------*/\n\n.jp-NotebookTools {\n display: block;\n min-width: var(--jp-sidebar-min-width);\n color: var(--jp-ui-font-color1);\n background: var(--jp-layout-color1);\n\n /* This is needed so that all font sizing of children done in ems is\n * relative to this base size */\n font-size: var(--jp-ui-font-size1);\n overflow: auto;\n}\n\n.jp-ActiveCellTool {\n padding: 12px 0;\n display: flex;\n}\n\n.jp-ActiveCellTool-Content {\n flex: 1 1 auto;\n}\n\n.jp-ActiveCellTool .jp-ActiveCellTool-CellContent {\n background: var(--jp-cell-editor-background);\n border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);\n border-radius: 0;\n min-height: 29px;\n}\n\n.jp-ActiveCellTool .jp-InputPrompt {\n min-width: calc(var(--jp-cell-prompt-width) * 0.75);\n}\n\n.jp-ActiveCellTool-CellContent > pre {\n padding: 5px 4px;\n margin: 0;\n white-space: normal;\n}\n\n.jp-MetadataEditorTool {\n flex-direction: column;\n padding: 12px 0;\n}\n\n.jp-RankedPanel > :not(:first-child) {\n margin-top: 12px;\n}\n\n.jp-KeySelector select.jp-mod-styled {\n font-size: var(--jp-ui-font-size1);\n color: var(--jp-ui-font-color0);\n border: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n.jp-KeySelector label,\n.jp-MetadataEditorTool label,\n.jp-NumberSetter label {\n line-height: 1.4;\n}\n\n.jp-NumberSetter input {\n width: 100%;\n margin-top: 4px;\n}\n\n.jp-NotebookTools .jp-Collapse {\n margin-top: 16px;\n}\n\n/*-----------------------------------------------------------------------------\n| Presentation Mode (.jp-mod-presentationMode)\n|----------------------------------------------------------------------------*/\n\n.jp-mod-presentationMode .jp-Notebook {\n --jp-content-font-size1: var(--jp-content-presentation-font-size1);\n --jp-code-font-size: var(--jp-code-presentation-font-size);\n}\n\n.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt,\n.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt {\n flex: 0 0 110px;\n}\n\n/*-----------------------------------------------------------------------------\n| Side-by-side Mode (.jp-mod-sideBySide)\n|----------------------------------------------------------------------------*/\n.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {\n margin-top: 3em;\n margin-bottom: 3em;\n margin-left: 5%;\n margin-right: 5%;\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell {\n display: grid;\n grid-template-columns: minmax(70px, 1fr) min-content minmax(\n 70px,\n var(--jp-side-by-side-output-size)\n );\n grid-template-rows: auto minmax(0, 1fr) auto;\n grid-template-areas:\n 'header header header'\n 'input handle output'\n 'footer footer footer';\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell {\n grid-template-columns: minmax(70px, 1fr) min-content minmax(\n 70px,\n var(--jp-side-by-side-resized-cell)\n );\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader {\n grid-area: header;\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper {\n grid-area: input;\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper {\n /* overwrite the default margin (no vertical separation needed in side by side move */\n margin-top: 0;\n grid-area: output;\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter {\n grid-area: footer;\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle {\n grid-area: handle;\n user-select: none;\n display: block;\n height: 100%;\n cursor: ew-resize;\n padding: 0 var(--jp-cell-padding);\n}\n\n.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after {\n content: '';\n display: block;\n background: var(--jp-border-color2);\n height: 100%;\n width: 5px;\n}\n\n.jp-mod-sideBySide.jp-Notebook\n .jp-CodeCell.jp-mod-resizedCell\n .jp-CellResizeHandle::after {\n background: var(--jp-border-color0);\n}\n\n.jp-CellResizeHandle {\n display: none;\n}\n\n/*-----------------------------------------------------------------------------\n| Placeholder\n|----------------------------------------------------------------------------*/\n\n.jp-Cell-Placeholder {\n padding-left: 55px;\n}\n\n.jp-Cell-Placeholder-wrapper {\n background: #fff;\n border: 1px solid;\n border-color: #e5e6e9 #dfe0e4 #d0d1d5;\n border-radius: 4px;\n -webkit-border-radius: 4px;\n margin: 10px 15px;\n}\n\n.jp-Cell-Placeholder-wrapper-inner {\n padding: 15px;\n position: relative;\n}\n\n.jp-Cell-Placeholder-wrapper-body {\n background-repeat: repeat;\n background-size: 50% auto;\n}\n\n.jp-Cell-Placeholder-wrapper-body div {\n background: #f6f7f8;\n background-image: -webkit-linear-gradient(\n left,\n #f6f7f8 0%,\n #edeef1 20%,\n #f6f7f8 40%,\n #f6f7f8 100%\n );\n background-repeat: no-repeat;\n background-size: 800px 104px;\n height: 104px;\n position: absolute;\n right: 15px;\n left: 15px;\n top: 15px;\n}\n\ndiv.jp-Cell-Placeholder-h1 {\n top: 20px;\n height: 20px;\n left: 15px;\n width: 150px;\n}\n\ndiv.jp-Cell-Placeholder-h2 {\n left: 15px;\n top: 50px;\n height: 10px;\n width: 100px;\n}\n\ndiv.jp-Cell-Placeholder-content-1,\ndiv.jp-Cell-Placeholder-content-2,\ndiv.jp-Cell-Placeholder-content-3 {\n left: 15px;\n right: 15px;\n height: 10px;\n}\n\ndiv.jp-Cell-Placeholder-content-1 {\n top: 100px;\n}\n\ndiv.jp-Cell-Placeholder-content-2 {\n top: 120px;\n}\n\ndiv.jp-Cell-Placeholder-content-3 {\n top: 140px;\n}\n\n/*-----------------------------------------------------------------------------\n| Virtual scrollbar\n|----------------------------------------------------------------------------*/\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-item[data-output='error'] {\n background: var(--jp-error-color3);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-item[data-output='error']:hover {\n background: var(--jp-error-color2);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-dirty {\n background: var(--jp-warn-color3);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-dirty:hover {\n background: var(--jp-warn-color2);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-selected {\n background: var(--jp-brand-color2);\n color: var(--jp-ui-inverse-font-color2);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-selected:hover {\n background: var(--jp-brand-color1);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-active {\n background: var(--jp-brand-color1);\n color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-content > .jp-mod-active:hover {\n background: var(--jp-brand-color0);\n}\n\n.jp-Notebook .jp-WindowedPanel-scrollbar-item {\n max-width: 60px;\n display: flex;\n}\n\n.jp-Notebook .jp-scrollbarItem-executionIndicator {\n display: inline-block;\n font-family: monospace;\n font-size: 80%;\n line-height: 100%;\n margin-left: -1px;\n padding-right: 1px;\n text-wrap: nowrap; /* stylelint-disable-line csstree/validator */\n}\n\n.jp-Notebook .jp-scrollbarItem-source {\n display: inline-block;\n font-size: 3px;\n vertical-align: middle;\n max-height: 10em;\n overflow: hidden;\n}\n\n.jp-Notebook\n .jp-WindowedPanel-scrollbar-item[data-type='code']\n > .jp-scrollbarItem-source {\n white-space: pre;\n}\n\n.jp-Notebook\n .jp-WindowedPanel-scrollbar-item[data-type='markdown']\n > .jp-scrollbarItem-source {\n white-space: pre-line;\n}\n\n/* Lazy rendering to notebook cells: content outside viewport won't be rendered until scrolled into view */\n.jp-content-visibility-mode > .jp-Notebook-cell {\n content-visibility: auto;\n contain: layout style paint; /* Isolates layout, style, and paint for this element */\n}\n\n/*-----------------------------------------------------------------------------\n| Printing\n|----------------------------------------------------------------------------*/\n@media print {\n .jp-Notebook .jp-Cell .jp-InputPrompt {\n float: none;\n }\n}\n",""]);const u=h},34701:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n\n/*-----------------------------------------------------------------------------\n| Styles\n|----------------------------------------------------------------------------*/\n\n.jp-Notebook-ExecutionIndicator {\n position: relative;\n display: inline-block;\n z-index: 9997;\n padding-top: 1px;\n}\n\n.jp-Notebook-ExecutionIndicator-tooltip {\n visibility: hidden;\n height: auto;\n width: max-content;\n width: -moz-max-content;\n background-color: var(--jp-layout-color2);\n color: var(--jp-ui-font-color1);\n text-align: justify;\n border-radius: 6px;\n padding: 0 5px;\n position: fixed;\n display: table;\n transition: visibility 0s linear 0.1s;\n}\n\n.jp-Notebook-ExecutionIndicator-tooltip.up {\n transform: translateX(-50%) translateY(-100%) translateY(-32px);\n}\n\n.jp-Notebook-ExecutionIndicator-tooltip.down {\n transform: translateX(calc(-100% + 16px)) translateY(5px);\n}\n\n.jp-Notebook-ExecutionIndicator-tooltip.hidden {\n display: none;\n}\n\n.jp-Notebook-ExecutionIndicator:hover .jp-Notebook-ExecutionIndicator-tooltip,\n.jp-Notebook-ExecutionIndicator-tooltip:hover {\n visibility: visible;\n transition-delay: 0s;\n}\n\n.jp-Notebook-ExecutionIndicator span {\n font-size: var(--jp-ui-font-size1);\n font-family: var(--jp-ui-font-family);\n color: var(--jp-ui-font-color1);\n line-height: 24px;\n display: block;\n}\n\n.jp-Notebook-ExecutionIndicator-progress-bar {\n display: flex;\n justify-content: center;\n height: 100%;\n}\n\n.jp-Notebook-ExecutionIndicator-jumpButton {\n margin-top: 4px;\n margin-bottom: 3px;\n width: 100%;\n font-size: var(--jp-ui-font-size1);\n border: 1px solid var(--jp-border-color2);\n color: var(--jp-ui-font-color0);\n transition: all 0.1s ease;\n}\n\n.jp-Notebook-ExecutionIndicator-jumpButton:hover {\n background-color: var(--jp-layout-color3) !important;\n}\n",""]);const l=a},97238:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-Notebook-footer {\n height: 27px;\n margin-left: calc(\n var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +\n var(--jp-cell-padding) + var(--jp-notebook-padding)\n );\n width: calc(\n 100% -\n (\n var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) + 2 *\n var(--jp-cell-padding) + 2 * var(--jp-notebook-padding)\n )\n );\n border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);\n color: var(--jp-ui-font-color3);\n background: none;\n cursor: pointer;\n}\n\n.jp-Notebook-footer:focus {\n border-color: var(--jp-cell-editor-active-border-color);\n}\n\n/* For devices that support hovering, hide footer until hover */\n@media (hover: hover) {\n .jp-Notebook-footer {\n opacity: 0;\n }\n\n .jp-Notebook-footer:focus,\n .jp-Notebook-footer:hover {\n opacity: 1;\n }\n}\n",""]);const l=a},77732:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*\n * Execution indicator\n */\n.jp-tocItem-content::after {\n content: '';\n\n /* Must be identical to form a circle */\n width: 12px;\n height: 12px;\n background: none;\n border: none;\n position: absolute;\n right: 0;\n}\n\n.jp-tocItem-content[data-running='0']::after {\n border-radius: 50%;\n border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);\n background: none;\n}\n\n.jp-tocItem-content[data-running='1']::after {\n border-radius: 50%;\n border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);\n background-color: var(--jp-inverse-layout-color3);\n}\n\n.jp-tocItem-content[data-running='-0.5']::after {\n /* \\FE0E forces the preceding unicode to be rendered as text */\n content: '\\26A0 \\FE0E';\n color: var(--jp-error-color1);\n}\n\n.jp-tocItem-content[data-running='0'],\n.jp-tocItem-content[data-running='1'],\n.jp-tocItem-content[data-running='-0.5'] {\n margin-right: 12px;\n}\n",""]);const l=a},93091:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Variables\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-notebook-toolbar-padding: 0 5px 0 2px;\n}\n\n/*-----------------------------------------------------------------------------\n\n/*-----------------------------------------------------------------------------\n| Styles\n|----------------------------------------------------------------------------*/\n\n.jp-NotebookPanel-toolbar {\n padding: var(--jp-notebook-toolbar-padding);\n\n /* disable paint containment from lumino 2.0 default strict CSS containment */\n contain: style size !important;\n}\n\n.jp-Toolbar > .jp-Toolbar-responsive-opener {\n margin-left: auto;\n}\n",""]);const l=a},5526:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Main OutputArea\n| OutputArea has a list of Outputs\n|----------------------------------------------------------------------------*/\n\n.jp-OutputArea {\n overflow-y: auto;\n}\n\n.jp-OutputArea-child {\n display: flex;\n flex-direction: row;\n width: 100%;\n overflow: hidden;\n}\n\n.jp-OutputPrompt {\n width: var(--jp-cell-prompt-width);\n flex: 0 0 var(--jp-cell-prompt-width);\n color: var(--jp-cell-outprompt-font-color);\n font-family: var(--jp-cell-prompt-font-family);\n padding: var(--jp-code-padding);\n letter-spacing: var(--jp-cell-prompt-letter-spacing);\n line-height: var(--jp-code-line-height);\n font-size: var(--jp-code-font-size);\n border: var(--jp-border-width) solid transparent;\n opacity: var(--jp-cell-prompt-opacity);\n\n /* Right align prompt text, don't wrap to handle large prompt numbers */\n text-align: right;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n /* Disable text selection */\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.jp-OutputArea-output {\n width: 100%;\n height: auto;\n overflow: auto;\n user-select: text;\n -moz-user-select: text;\n -webkit-user-select: text;\n -ms-user-select: text;\n}\n\n.jp-OutputArea .jp-RenderedText {\n padding-left: 1ch;\n}\n\n/**\n * Prompt overlay.\n */\n\n.jp-OutputArea-promptOverlay {\n position: absolute;\n top: 0;\n width: var(--jp-cell-prompt-width);\n height: 100%;\n opacity: 0.5;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.jp-OutputArea-promptOverlay .jp-icon-output {\n display: none;\n}\n\n.jp-OutputArea-promptOverlay:hover .jp-icon-output {\n display: initial;\n}\n\n.jp-OutputArea-promptOverlay:hover {\n background: var(--jp-layout-color2);\n box-shadow: inset 0 0 1px var(--jp-inverse-layout-color0);\n}\n\n.jp-OutputArea-child .jp-OutputArea-output {\n flex-grow: 1;\n flex-shrink: 1;\n}\n\n/**\n * Isolated output.\n */\n.jp-OutputArea-output.jp-mod-isolated {\n width: 100%;\n display: block;\n}\n\n/*\nWhen drag events occur, `lm-mod-override-cursor` is added to the body.\nBecause iframes steal all cursor events, the following two rules are necessary\nto suppress pointer events while resize drags are occurring. There may be a\nbetter solution to this problem.\n*/\nbody.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated {\n position: relative;\n}\n\nbody.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: transparent;\n}\n\n/* pre */\n\n.jp-OutputArea-output pre {\n border: none;\n margin: 0;\n padding: 0;\n overflow-x: auto;\n overflow-y: auto;\n word-break: break-all;\n word-wrap: break-word;\n white-space: pre-wrap;\n}\n\n/* tables */\n\n.jp-OutputArea-output.jp-RenderedHTMLCommon table {\n margin-left: 0;\n margin-right: 0;\n}\n\n/* description lists */\n\n.jp-OutputArea-output dl,\n.jp-OutputArea-output dt,\n.jp-OutputArea-output dd {\n display: block;\n}\n\n.jp-OutputArea-output dl {\n width: 100%;\n overflow: hidden;\n padding: 0;\n margin: 0;\n}\n\n.jp-OutputArea-output dt {\n font-weight: bold;\n float: left;\n width: 20%;\n padding: 0;\n margin: 0;\n}\n\n.jp-OutputArea-output dd {\n float: left;\n width: 80%;\n padding: 0;\n margin: 0;\n}\n\n.jp-TrimmedOutputs-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding: var(--jp-flat-button-padding);\n margin: 8px 0;\n min-height: var(--jp-flat-button-height);\n font-size: var(--jp-ui-font-size1);\n font-family: var(--jp-ui-font-family);\n background-color: var(--jp-layout-color1);\n border: 1px solid var(--jp-border-color2);\n color: var(--jp-ui-font-color1);\n cursor: pointer;\n}\n\n.jp-TrimmedOutputs-button:hover {\n background-color: var(--jp-layout-color2);\n border-color: var(--jp-border-color1);\n}\n\n.jp-TrimmedOutputs-button:active {\n background-color: var(--jp-layout-color3);\n border-color: var(--jp-border-color1);\n}\n\n.jp-TrimmedOutputs-button:focus-visible {\n outline: 1px solid var(--jp-brand-color1);\n outline-offset: -1px;\n}\n\n/* Hide the gutter in case of\n * - nested output areas (e.g. in the case of output widgets)\n * - mirrored output areas\n */\n.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt {\n display: none;\n}\n\n/* Hide empty lines in the output area, for instance due to cleared widgets */\n.jp-OutputArea-prompt:empty {\n padding: 0;\n border: 0;\n}\n\n/*-----------------------------------------------------------------------------\n| executeResult is added to any Output-result for the display of the object\n| returned by a cell\n|----------------------------------------------------------------------------*/\n\n.jp-OutputArea-output.jp-OutputArea-executeResult {\n margin-left: 0;\n width: 100%;\n flex: 1 1 auto;\n}\n\n/* Text output with the Out[] prompt needs a top padding to match the\n * alignment of the Out[] prompt itself.\n */\n.jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output {\n padding-top: var(--jp-code-padding);\n border-top: var(--jp-border-width) solid transparent;\n}\n\n/*-----------------------------------------------------------------------------\n| The Stdin output\n|----------------------------------------------------------------------------*/\n\n.jp-Stdin-prompt {\n color: var(--jp-content-font-color0);\n padding-right: var(--jp-code-padding);\n vertical-align: baseline;\n flex: 0 0 auto;\n}\n\n.jp-Stdin-input {\n font-family: var(--jp-code-font-family);\n font-size: inherit;\n color: inherit;\n background-color: inherit;\n width: 42%;\n min-width: 200px;\n\n /* make sure input baseline aligns with prompt */\n vertical-align: baseline;\n\n /* padding + margin = 0.5em between prompt and cursor */\n padding: 0 0.25em;\n margin: 0 0.25em;\n flex: 0 0 70%;\n}\n\n.jp-Stdin-input::placeholder {\n opacity: 0;\n}\n\n.jp-Stdin-input:focus {\n box-shadow: none;\n}\n\n.jp-Stdin-input:focus::placeholder {\n opacity: 1;\n}\n\n.jp-OutputArea-stdin-hiding {\n /* soft-hide the output, preserving focus */\n opacity: 0;\n height: 0;\n}\n\n/*-----------------------------------------------------------------------------\n| Output Area View\n|----------------------------------------------------------------------------*/\n\n.jp-LinkedOutputView .jp-OutputArea {\n height: 100%;\n display: block;\n}\n\n.jp-LinkedOutputView .jp-OutputArea-child:only-child {\n height: 100%;\n}\n\n.jp-LinkedOutputView .jp-OutputArea-output:only-child {\n height: 100%;\n}\n\n/*-----------------------------------------------------------------------------\n| Printing\n|----------------------------------------------------------------------------*/\n\n@media print {\n .jp-OutputArea-child {\n display: table;\n table-layout: fixed;\n break-inside: avoid-page;\n }\n\n .jp-OutputArea-prompt {\n display: table-cell;\n vertical-align: top;\n }\n\n .jp-OutputArea-output {\n display: table-cell;\n }\n}\n\n/*-----------------------------------------------------------------------------\n| Mobile\n|----------------------------------------------------------------------------*/\n@media only screen and (width <= 760px) {\n .jp-OutputArea-child {\n flex-direction: column;\n }\n\n .jp-OutputPrompt {\n flex: 0 0 auto;\n text-align: left;\n }\n\n .jp-OutputArea-promptOverlay {\n display: none;\n }\n}\n\n/* Trimmed outputs container */\n.jp-TrimmedOutputs {\n /* Left-align the button within the output area */\n text-align: left;\n}\n",""]);const l=a},44486:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-PDFContainer iframe {\n position: absolute;\n z-index: 0;\n top: 0;\n right: 0;\n width: 100%;\n height: 100%;\n}\n\n.jp-OutputArea .jp-PDFContainer {\n min-height: 512px;\n}\n\n/*\nWhen drag events occur, `lm-mod-override-cursor` is added to the body.\nThis reuses the same CSS selector logic as jp-IFrame to prevent embedded\nPDFs from swallowing cursor events.\n*/\nbody.lm-mod-override-cursor .jp-PDFContainer {\n position: relative;\n}\n\nbody.lm-mod-override-cursor .jp-PDFContainer::before {\n content: '';\n position: absolute;\n z-index: 10;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: transparent;\n}\n",""]);const l=a},37442:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-pluginmanager {\n display: grid;\n grid-template-rows: min-content min-content 1fr;\n}\n\n.jp-pluginmanager-Header,\n.jp-pluginmanager-Disclaimer {\n padding: 8px;\n}\n\n.jp-pluginmanager-Disclaimer-checkbox {\n position: relative;\n top: 2px;\n}\n\n.jp-pluginmanager-AvailableList {\n overflow: auto;\n}\n\n.jp-pluginmanager-AvailableList > .jp-sortable-table > thead {\n position: sticky;\n}\n\n.jp-pluginmanager-PluginInUseMessage {\n max-width: 550px;\n}\n\n.jp-pluginmanager-Header > .jp-FilterBox {\n width: 100%;\n}\n",""]);const l=a},35667:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-PropertyInspector {\n display: flex;\n color: var(--jp-ui-font-color1);\n background: var(--jp-layout-color1);\n}\n\n.jp-PropertyInspector-content {\n flex-grow: 1;\n}\n\n.jp-PropertyInspector-placeholder {\n text-align: center;\n}\n\n.jp-PropertyInspector-placeholderContent {\n color: var(--jp-content-font-color2);\n padding: 8px;\n}\n\n.jp-PropertyInspector-placeholderContent > h3 {\n margin-bottom: var(--jp-content-heading-margin-bottom);\n}\n",""]);const l=a},30354:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| RenderedText\n|----------------------------------------------------------------------------*/\n\n:root {\n /* This is the padding value to fill the gaps between lines containing spans with background color. */\n --jp-private-code-span-padding: calc(\n (var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2\n );\n}\n\n.jp-RenderedText {\n text-align: left;\n padding-left: var(--jp-code-padding);\n line-height: var(--jp-code-line-height);\n font-family: var(--jp-code-font-family);\n}\n\n.jp-ThemedContainer .jp-RenderedText pre,\n.jp-ThemedContainer .jp-RenderedJavaScript pre,\n.jp-ThemedContainer .jp-RenderedHTMLCommon pre {\n color: var(--jp-content-font-color1);\n font-size: var(--jp-code-font-size);\n border: none;\n margin: 0;\n padding: 0;\n}\n\n.jp-RenderedText pre a[href]:link {\n text-decoration: none;\n color: var(--jp-content-link-color);\n}\n\n.jp-RenderedText pre a[href]:hover {\n text-decoration: underline;\n color: var(--jp-content-link-hover-color, var(--jp-content-link-color));\n}\n\n.jp-RenderedText pre a[href]:visited {\n text-decoration: none;\n color: var(--jp-content-link-visited-color, var(--jp-content-link-color));\n}\n\n/* console foregrounds and backgrounds */\n.jp-RenderedText pre .ansi-black-fg {\n color: #3e424d;\n}\n\n.jp-RenderedText pre .ansi-red-fg {\n color: #e75c58;\n}\n\n.jp-RenderedText pre .ansi-green-fg {\n color: #00a250;\n}\n\n.jp-RenderedText pre .ansi-yellow-fg {\n color: #ddb62b;\n}\n\n.jp-RenderedText pre .ansi-blue-fg {\n color: #208ffb;\n}\n\n.jp-RenderedText pre .ansi-magenta-fg {\n color: #d160c4;\n}\n\n.jp-RenderedText pre .ansi-cyan-fg {\n color: #60c6c8;\n}\n\n.jp-RenderedText pre .ansi-white-fg {\n color: #c5c1b4;\n}\n\n.jp-RenderedText pre .ansi-black-bg {\n background-color: #3e424d;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-red-bg {\n background-color: #e75c58;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-green-bg {\n background-color: #00a250;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-yellow-bg {\n background-color: #ddb62b;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-blue-bg {\n background-color: #208ffb;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-magenta-bg {\n background-color: #d160c4;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-cyan-bg {\n background-color: #60c6c8;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-white-bg {\n background-color: #c5c1b4;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-black-intense-fg {\n color: #282c36;\n}\n\n.jp-RenderedText pre .ansi-red-intense-fg {\n color: #b22b31;\n}\n\n.jp-RenderedText pre .ansi-green-intense-fg {\n color: #007427;\n}\n\n.jp-RenderedText pre .ansi-yellow-intense-fg {\n color: #b27d12;\n}\n\n.jp-RenderedText pre .ansi-blue-intense-fg {\n color: #0065ca;\n}\n\n.jp-RenderedText pre .ansi-magenta-intense-fg {\n color: #a03196;\n}\n\n.jp-RenderedText pre .ansi-cyan-intense-fg {\n color: #258f8f;\n}\n\n.jp-RenderedText pre .ansi-white-intense-fg {\n color: #a1a6b2;\n}\n\n.jp-RenderedText pre .ansi-black-intense-bg {\n background-color: #282c36;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-red-intense-bg {\n background-color: #b22b31;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-green-intense-bg {\n background-color: #007427;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-yellow-intense-bg {\n background-color: #b27d12;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-blue-intense-bg {\n background-color: #0065ca;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-magenta-intense-bg {\n background-color: #a03196;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-cyan-intense-bg {\n background-color: #258f8f;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-white-intense-bg {\n background-color: #a1a6b2;\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-default-inverse-fg {\n color: var(--jp-ui-inverse-font-color0);\n}\n\n.jp-RenderedText pre .ansi-default-inverse-bg {\n background-color: var(--jp-inverse-layout-color0);\n padding: var(--jp-private-code-span-padding) 0;\n}\n\n.jp-RenderedText pre .ansi-bold {\n font-weight: bold;\n}\n\n.jp-RenderedText pre .ansi-underline {\n text-decoration: underline;\n}\n\n.jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] {\n background: var(--jp-rendermime-error-background);\n padding-top: var(--jp-code-padding);\n}\n\n/* fix illegible yellow text with yellow background in exception stacktrace */\n.jp-RenderedText pre .ansi-yellow-bg.ansi-yellow-fg {\n color: black;\n}\n\n/*-----------------------------------------------------------------------------\n| RenderedLatex\n|----------------------------------------------------------------------------*/\n\n.jp-RenderedLatex {\n color: var(--jp-content-font-color1);\n font-size: var(--jp-content-font-size1);\n line-height: var(--jp-content-line-height);\n}\n\n/* Left-justify outputs.*/\n.jp-OutputArea-output.jp-RenderedLatex {\n padding: var(--jp-code-padding);\n text-align: left;\n}\n\n/*-----------------------------------------------------------------------------\n| RenderedHTML\n|----------------------------------------------------------------------------*/\n\n.jp-RenderedHTMLCommon {\n color: var(--jp-content-font-color1);\n font-family: var(--jp-content-font-family);\n font-size: var(--jp-content-font-size1);\n line-height: var(--jp-content-line-height);\n\n /* Give a bit more R padding on Markdown text to keep line lengths reasonable */\n padding-right: 20px;\n}\n\n.jp-RenderedHTMLCommon em {\n font-style: italic;\n}\n\n.jp-RenderedHTMLCommon strong {\n font-weight: bold;\n}\n\n.jp-RenderedHTMLCommon u {\n text-decoration: underline;\n}\n\n.jp-RenderedHTMLCommon a:link {\n text-decoration: none;\n color: var(--jp-content-link-color);\n}\n\n.jp-RenderedHTMLCommon a:hover {\n text-decoration: underline;\n color: var(--jp-content-link-hover-color, var(--jp-content-link-color));\n}\n\n.jp-RenderedHTMLCommon a:visited {\n text-decoration: none;\n color: var(--jp-content-link-visited-color, var(--jp-content-link-color));\n}\n\n/* Headings */\n\n.jp-RenderedHTMLCommon h1,\n.jp-RenderedHTMLCommon h2,\n.jp-RenderedHTMLCommon h3,\n.jp-RenderedHTMLCommon h4,\n.jp-RenderedHTMLCommon h5,\n.jp-RenderedHTMLCommon h6 {\n line-height: var(--jp-content-heading-line-height);\n font-weight: var(--jp-content-heading-font-weight);\n font-style: normal;\n margin: var(--jp-content-heading-margin-top) 0\n var(--jp-content-heading-margin-bottom) 0;\n scroll-margin-top: var(--jp-content-heading-margin-top);\n}\n\n.jp-RenderedHTMLCommon h1:first-child,\n.jp-RenderedHTMLCommon h2:first-child,\n.jp-RenderedHTMLCommon h3:first-child,\n.jp-RenderedHTMLCommon h4:first-child,\n.jp-RenderedHTMLCommon h5:first-child,\n.jp-RenderedHTMLCommon h6:first-child {\n margin-top: calc(0.5 * var(--jp-content-heading-margin-top));\n scroll-margin-top: calc(0.5 * var(--jp-content-heading-margin-top));\n}\n\n.jp-RenderedHTMLCommon h1:last-child,\n.jp-RenderedHTMLCommon h2:last-child,\n.jp-RenderedHTMLCommon h3:last-child,\n.jp-RenderedHTMLCommon h4:last-child,\n.jp-RenderedHTMLCommon h5:last-child,\n.jp-RenderedHTMLCommon h6:last-child {\n margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom));\n}\n\n.jp-RenderedHTMLCommon h1 {\n font-size: var(--jp-content-font-size5);\n}\n\n.jp-RenderedHTMLCommon h2 {\n font-size: var(--jp-content-font-size4);\n}\n\n.jp-RenderedHTMLCommon h3 {\n font-size: var(--jp-content-font-size3);\n}\n\n.jp-RenderedHTMLCommon h4 {\n font-size: var(--jp-content-font-size2);\n}\n\n.jp-RenderedHTMLCommon h5 {\n font-size: var(--jp-content-font-size1);\n}\n\n.jp-RenderedHTMLCommon h6 {\n font-size: var(--jp-content-font-size0);\n}\n\n/* Lists */\n\n/* stylelint-disable selector-max-type, selector-max-compound-selectors */\n\n.jp-RenderedHTMLCommon ul:not(.list-inline),\n.jp-RenderedHTMLCommon ol:not(.list-inline) {\n padding-left: 2em;\n}\n\n.jp-RenderedHTMLCommon ul {\n list-style: disc;\n}\n\n.jp-RenderedHTMLCommon ul ul {\n list-style: square;\n}\n\n.jp-RenderedHTMLCommon ul ul ul {\n list-style: circle;\n}\n\n.jp-RenderedHTMLCommon ol {\n list-style: decimal;\n}\n\n.jp-RenderedHTMLCommon ol ol {\n list-style: upper-alpha;\n}\n\n.jp-RenderedHTMLCommon ol ol ol {\n list-style: lower-alpha;\n}\n\n.jp-RenderedHTMLCommon ol ol ol ol {\n list-style: lower-roman;\n}\n\n.jp-RenderedHTMLCommon ol ol ol ol ol {\n list-style: decimal;\n}\n\n.jp-RenderedHTMLCommon ol,\n.jp-RenderedHTMLCommon ul {\n margin-bottom: 1em;\n}\n\n.jp-RenderedHTMLCommon ul ul,\n.jp-RenderedHTMLCommon ul ol,\n.jp-RenderedHTMLCommon ol ul,\n.jp-RenderedHTMLCommon ol ol {\n margin-bottom: 0;\n}\n\n/* stylelint-enable selector-max-type, selector-max-compound-selectors */\n\n.jp-RenderedHTMLCommon hr {\n color: var(--jp-border-color2);\n background-color: var(--jp-border-color1);\n margin-top: 1em;\n margin-bottom: 1em;\n}\n\n.jp-ThemedContainer .jp-RenderedHTMLCommon > pre {\n margin: 1.5em 2em;\n}\n\n.jp-ThemedContainer .jp-RenderedHTMLCommon pre,\n.jp-ThemedContainer .jp-RenderedHTMLCommon code {\n border: 0;\n background-color: var(--jp-layout-color0);\n color: var(--jp-content-font-color1);\n font-family: var(--jp-code-font-family);\n font-size: inherit;\n line-height: var(--jp-code-line-height);\n padding: 0;\n white-space: pre-wrap;\n}\n\n.jp-ThemedContainer .jp-RenderedHTMLCommon :not(pre) > code {\n background-color: var(--jp-layout-color2);\n padding: 1px 5px;\n}\n\n/* Tables */\n\n.jp-RenderedHTMLCommon table {\n border-collapse: collapse;\n border-spacing: 0;\n border: none;\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size1);\n table-layout: fixed;\n margin-left: auto;\n margin-bottom: 1em;\n margin-right: auto;\n}\n\n.jp-RenderedHTMLCommon thead {\n border-bottom: var(--jp-border-width) solid var(--jp-border-color1);\n vertical-align: bottom;\n}\n\n.jp-RenderedHTMLCommon td,\n.jp-RenderedHTMLCommon th,\n.jp-RenderedHTMLCommon tr {\n vertical-align: middle;\n padding: 0.5em;\n line-height: normal;\n white-space: normal;\n max-width: none;\n border: none;\n}\n\n.jp-RenderedMarkdown.jp-RenderedHTMLCommon td,\n.jp-RenderedMarkdown.jp-RenderedHTMLCommon th {\n max-width: none;\n}\n\n:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td,\n:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th,\n:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr {\n text-align: right;\n}\n\n.jp-RenderedHTMLCommon th {\n font-weight: bold;\n}\n\n.jp-RenderedHTMLCommon tbody tr:nth-child(odd) {\n background: var(--jp-layout-color0);\n}\n\n.jp-RenderedHTMLCommon tbody tr:nth-child(even) {\n background: var(--jp-rendermime-table-row-background);\n}\n\n.jp-RenderedHTMLCommon tbody tr:hover {\n background: var(--jp-rendermime-table-row-hover-background);\n}\n\n.jp-RenderedHTMLCommon p {\n text-align: left;\n margin: 0;\n margin-bottom: 1em;\n}\n\n.jp-RenderedHTMLCommon img {\n -moz-force-broken-image-icon: 1;\n}\n\n/* Restrict to direct children as other images could be nested in other content. */\n.jp-RenderedHTMLCommon > img {\n display: block;\n margin-left: 0;\n margin-right: 0;\n margin-bottom: 1em;\n}\n\n/* Change color behind transparent images if they need it... */\n[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background {\n background-color: var(--jp-inverse-layout-color1);\n}\n\n[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background {\n background-color: var(--jp-inverse-layout-color1);\n}\n\n.jp-RenderedHTMLCommon img,\n.jp-RenderedImage img,\n.jp-RenderedHTMLCommon svg,\n.jp-RenderedSVG svg {\n max-width: 100%;\n height: auto;\n}\n\n.jp-RenderedHTMLCommon img.jp-mod-unconfined,\n.jp-RenderedImage img.jp-mod-unconfined,\n.jp-RenderedHTMLCommon svg.jp-mod-unconfined,\n.jp-RenderedSVG svg.jp-mod-unconfined {\n max-width: none;\n}\n\n.jp-RenderedHTMLCommon .alert {\n padding: var(--jp-notebook-padding);\n border: var(--jp-border-width) solid transparent;\n border-radius: var(--jp-border-radius);\n margin-bottom: 1em;\n}\n\n.jp-RenderedHTMLCommon .alert-info {\n color: var(--jp-info-color0);\n background-color: var(--jp-info-color3);\n border-color: var(--jp-info-color2);\n}\n\n.jp-RenderedHTMLCommon .alert-info hr {\n border-color: var(--jp-info-color3);\n}\n\n.jp-RenderedHTMLCommon .alert-info > p:last-child,\n.jp-RenderedHTMLCommon .alert-info > ul:last-child {\n margin-bottom: 0;\n}\n\n.jp-RenderedHTMLCommon .alert-warning {\n color: var(--jp-warn-color0);\n background-color: var(--jp-warn-color3);\n border-color: var(--jp-warn-color2);\n}\n\n.jp-RenderedHTMLCommon .alert-warning hr {\n border-color: var(--jp-warn-color3);\n}\n\n.jp-RenderedHTMLCommon .alert-warning > p:last-child,\n.jp-RenderedHTMLCommon .alert-warning > ul:last-child {\n margin-bottom: 0;\n}\n\n.jp-RenderedHTMLCommon .alert-success {\n color: var(--jp-success-color0);\n background-color: var(--jp-success-color3);\n border-color: var(--jp-success-color2);\n}\n\n.jp-RenderedHTMLCommon .alert-success hr {\n border-color: var(--jp-success-color3);\n}\n\n.jp-RenderedHTMLCommon .alert-success > p:last-child,\n.jp-RenderedHTMLCommon .alert-success > ul:last-child {\n margin-bottom: 0;\n}\n\n.jp-RenderedHTMLCommon .alert-danger {\n color: var(--jp-error-color0);\n background-color: var(--jp-error-color3);\n border-color: var(--jp-error-color2);\n}\n\n.jp-RenderedHTMLCommon .alert-danger hr {\n border-color: var(--jp-error-color3);\n}\n\n.jp-RenderedHTMLCommon .alert-danger > p:last-child,\n.jp-RenderedHTMLCommon .alert-danger > ul:last-child {\n margin-bottom: 0;\n}\n\n.jp-RenderedHTMLCommon blockquote {\n margin: 1em 2em;\n padding: 0 1em;\n border-left: 5px solid var(--jp-border-color2);\n}\n\na.jp-InternalAnchorLink {\n visibility: hidden;\n margin-left: 8px;\n color: var(--md-blue-800, #1565c0);\n}\n\nh1:hover .jp-InternalAnchorLink,\nh2:hover .jp-InternalAnchorLink,\nh3:hover .jp-InternalAnchorLink,\nh4:hover .jp-InternalAnchorLink,\nh5:hover .jp-InternalAnchorLink,\nh6:hover .jp-InternalAnchorLink {\n visibility: visible;\n}\n\n.jp-ThemedContainer .jp-RenderedHTMLCommon kbd {\n background-color: var(--jp-rendermime-table-row-background);\n border: 1px solid var(--jp-border-color0);\n border-bottom-color: var(--jp-border-color2);\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n display: inline-block;\n font-size: var(--jp-ui-font-size0);\n line-height: 1em;\n padding: 0.2em 0.5em;\n}\n\n/* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0.\n * At the bottom of cells this is a bit too much as there is also spacing\n * between cells. Going all the way to 0 gets too tight between markdown and\n * code cells.\n */\n.jp-RenderedHTMLCommon > *:last-child {\n margin-bottom: 0.5em;\n}\n",""]);const l=a},18799:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-RunningSessions {\n display: flex;\n flex-direction: column;\n min-width: var(--jp-sidebar-min-width);\n color: var(--jp-ui-font-color1);\n background: var(--jp-layout-color1);\n\n /* This is needed so that all font sizing of children done in ems is\n * relative to this base size */\n font-size: var(--jp-ui-font-size1);\n}\n\n.jp-RunningSessions > .jp-SidePanel-toolbar::part(positioning-region) {\n justify-content: flex-end;\n}\n\n.jp-RunningSessions-section {\n min-height: 50px;\n overflow: auto;\n}\n\n.jp-RunningSessions-sectionContainer {\n margin: 0;\n padding: 0;\n}\n\n.jp-RunningSessions-sectionList {\n display: block;\n margin: 0;\n padding: 0;\n list-style-type: none;\n padding-left: 14px;\n}\n\n.jp-RunningSessions-viewButton[aria-pressed='true'] {\n box-shadow: none;\n}\n\n/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */\n.jp-mod-running-list-view .jp-RunningSessions-sectionList {\n padding-left: 0;\n}\n\n/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */\n.jp-mod-running-list-view .jp-mod-running-leaf {\n margin-left: 0;\n}\n\n/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */\n.jp-mod-running-list-view\n .jp-RunningSessions-item.jp-mod-kernelspec::part(positioning-region),\n.jp-mod-running-list-view\n .jp-RunningSessions-item.jp-mod-kernel::part(positioning-region) {\n display: none;\n}\n\n/* @deprecated For backward compatibility when sessions manager does not specify supportsMultipleViews */\n.jp-mod-running-list-view\n .jp-RunningSessions-item.jp-mod-kernel-widget::part(content-region) {\n margin-inline-start: -2.6em;\n}\n\n.jp-RunningSessions-item.jp-mod-kernelspec,\n.jp-RunningSessions-item.jp-mod-kernel {\n user-select: none;\n}\n\n.jp-RunningSessions-item-label-kernel-id {\n color: var(--jp-ui-font-color3);\n}\n\n.jp-RunningSessions-collapseButton[aria-pressed='true'] {\n box-shadow: none;\n}\n\n.jp-RunningSessions-toolbar {\n min-width: max-content;\n}\n\nimg.jp-RunningSessions-icon,\nspan.jp-RunningSessions-icon > svg {\n width: 16px;\n height: 16px;\n}\n\nimg.jp-RunningSessions-icon {\n margin-top: 4px;\n object-fit: contain;\n}\n\nspan.jp-RunningSessions-icon {\n align-items: center;\n display: flex;\n}\n\nspan.jp-RunningSessions-icon > svg {\n display: block;\n margin: 0 auto;\n}\n\n.jp-RunningSessions-itemLabel {\n font-size: var(--jp-ui-font-size1);\n flex: 1 1 55%;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.jp-RunningSessions-itemDetail {\n font-size: var(--jp-ui-font-size1);\n flex: 1 1 45%;\n padding: 0 4px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.jp-RunningSessions-itemShutdown {\n visibility: hidden;\n}\n\n.jp-RunningSessions-item:focus-visible > .jp-RunningSessions-itemShutdown,\n.jp-RunningSessions-item:hover > .jp-RunningSessions-itemShutdown {\n visibility: visible;\n}\n\n.jp-RunningSessions-shutdownAll.jp-ToolbarButtonComponent {\n color: var(--jp-warn-color1);\n}\n\n.jp-RunningSessions-shutdownAll.jp-ToolbarButtonComponent[disabled] {\n color: var(--jp-ui-font-color2);\n}\n\n/*-----------------------------------------------------------------------------\n| SearchableSessions\n|----------------------------------------------------------------------------*/\n\n.jp-RunningSessions-item.jp-mod-active {\n background-color: var(--jp-layout-color2);\n outline: 1px solid var(--jp-brand-color1);\n outline-offset: -2px;\n}\n\n.jp-RunningSessions-item.jp-mod-active.jp-TreeItem::part(positioning-region) {\n background-color: transparent;\n}\n\n.jp-SearchableSessions-list > .jp-RunningSessions-section {\n min-height: auto;\n}\n\n.jp-SearchableSessions-title {\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size0);\n margin: 0;\n padding: 4px 0;\n}\n\n.jp-SearchableSessions-titleLabel {\n text-transform: uppercase;\n}\n\n.jp-SearchableSessions-acceptButton {\n display: none;\n}\n\n.jp-SearchableSessions-list > .jp-RunningSessions-section.jp-mod-empty {\n display: none;\n}\n\n.jp-SearchableSessions-filter {\n overflow: visible;\n\n /* Required to display correctly the filter box and its focus highlight */\n padding: 0 2px;\n}\n\n.jp-SearchableSessions-filter > .jp-FilterBox {\n width: 100%;\n}\n\n.jp-SearchableSessions-list {\n overflow: auto;\n}\n\n.jp-SearchableSessions.jp-Dialog-body {\n display: flex;\n}\n\n.jp-SearchableSessions-modal .jp-Dialog-content {\n padding: 16px;\n box-shadow: var(--jp-elevation-z4);\n border-radius: 4px;\n min-height: 100px;\n max-height: 95%;\n}\n\n.jp-SearchableSessions-modal .jp-Dialog-footer {\n display: none;\n}\n\n.jp-SearchableSessions-modal .jp-Dialog-header {\n font-size: var(--jp-ui-font-size2);\n}\n\n.jp-SearchableSessions-modal.jp-Dialog {\n background: transparent;\n justify-content: start;\n padding-top: 38px;\n border: 0;\n}\n\n.jp-SearchableSessions-emptyIndicator {\n color: var(--jp-ui-font-color2);\n padding: 16px;\n text-align: center;\n padding-bottom: 8px;\n}\n\n.jp-RunningSessions-section:not(.jp-mod-empty)\n ~ .jp-SearchableSessions-emptyIndicator {\n display: none;\n}\n",""]);const l=a},45453:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-private-settingeditor-debug-height: 28px;\n --jp-private-settingeditor-key-width: 150px;\n --jp-private-settingeditor-legend-height: 16px;\n --jp-private-settingeditor-row-height: 16px;\n --jp-private-settingeditor-toolbar-height: 28px;\n --jp-private-settingeditor-type-width: 75px;\n --jp-private-settingeditor-modifier-indent: 5px;\n --jp-private-settingeditor-header-spacing: 8px;\n}\n\n.jp-SettingsPanel,\n#json-setting-editor {\n min-width: 360px;\n min-height: 240px;\n background-color: var(--jp-layout-color0);\n color: var(--jp-ui-font-color0);\n margin-top: -1px;\n outline: none;\n\n /* This is needed so that all font sizing of children done in ems is\n * relative to this base size */\n font-size: var(--jp-ui-font-size1);\n}\n\n#setting-editor > .lm-Widget,\n#json-setting-editor > .lm-Widget {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n#setting-editor .lm-SplitPanel-handle,\n#json-setting-editor .lm-SplitPanel-handle {\n background-color: var(--jp-border-color2);\n}\n\n/** Plugin list **/\n\n.jp-PluginList {\n min-width: 175px;\n max-width: 275px;\n}\n\n.jp-PluginList-wrapper {\n overflow-y: auto;\n height: 100%;\n}\n\n.jp-PluginList ul {\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size1);\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow-y: auto;\n position: relative;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n.jp-PluginList .jp-PluginList-header {\n border-bottom: var(--jp-border-width) solid var(--jp-border-color2);\n border-top: var(--jp-border-width) solid var(--jp-border-color2);\n color: var(--jp-ui-font-color1);\n}\n\n.jp-PluginList .jp-PluginList-noResults,\n.jp-PluginList .jp-PluginList-header {\n flex: 0 0 auto;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 1px;\n font-size: var(--jp-ui-font-size0);\n padding: 8px 8px 8px 12px;\n margin: 10px;\n border-bottom: var(--jp-border-width) solid var(--jp-border-color2);\n border-top: var(--jp-border-width) solid var(--jp-border-color2);\n color: var(--jp-ui-font-color1);\n}\n\n.jp-PluginList .jp-SelectedIndicator {\n width: 3px;\n background-color: var(--jp-brand-color1);\n height: var(--jp-cell-collapser-min-height);\n visibility: hidden;\n}\n\n.jp-PluginList .jp-mod-selected .jp-SelectedIndicator {\n visibility: inherit;\n}\n\n.jp-PluginList .jp-ErrorPlugin .jp-SelectedIndicator {\n background-color: var(--jp-error-color0);\n}\n\n.jp-PluginList-icon {\n display: flex;\n height: 20px;\n width: 20px;\n margin-right: 3px;\n position: relative;\n}\n\n.jp-PluginList-wrapper > .jp-FilterBox {\n margin: 8px 12px 0;\n}\n\n.jp-PluginList mark {\n background-color: transparent;\n font-weight: bold;\n color: var(--jp-ui-font-color1);\n}\n\n.jp-PluginList-entry {\n display: flex;\n flex-direction: column;\n border: 1px solid transparent;\n background: transparent;\n overflow: hidden;\n padding: 4px 0 4px 4px;\n white-space: nowrap;\n cursor: pointer;\n}\n\n.jp-PluginList-entry:hover {\n background: var(--jp-layout-color2);\n}\n\n.jp-PluginList-entry li {\n margin-left: 27px;\n margin-top: 5px;\n color: var(--jp-ui-font-color1);\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n\n.jp-PluginList-entry-label {\n display: flex;\n}\n\n.jp-PluginList-entry-label-text {\n text-overflow: ellipsis;\n overflow-x: hidden;\n white-space: nowrap;\n color: var(--jp-ui-font-color1);\n line-height: var(--jp-cell-collapser-min-height);\n}\n\n/** Raw editor **/\n\n.jp-SettingsRawEditor .jp-Toolbar {\n color: var(--jp-ui-font-color0);\n font-size: var(--jp-ui-font-size1);\n height: var(--jp-private-settingeditor-toolbar-height);\n max-height: var(--jp-private-settingeditor-toolbar-height);\n}\n\n.jp-SettingsRawEditor .jp-Toolbar .jp-ToolbarButtonComponent-label {\n display: none;\n}\n\n.jp-SettingsRawEditor .jp-Toolbar-item {\n margin-top: 1px;\n align-items: center;\n}\n\n.jp-SettingsRawEditor .jp-Inspector {\n border-top: 2px solid var(--jp-layout-color2);\n min-height: var(--jp-private-settingeditor-debug-height);\n max-height: var(--jp-private-settingeditor-debug-height);\n}\n\n.jp-SettingsRawEditor .jp-Inspector.jp-SettingsDebug .jp-RenderedHTMLCommon {\n padding: 2px 5px 2px 0;\n width: 100%;\n}\n\n.jp-SettingsRawEditor .jp-Inspector.jp-SettingsDebug .jp-RenderedHTMLCommon p {\n text-align: right;\n}\n\n.jp-SettingsRawEditor .cm-editor {\n height: 100%;\n}\n\n/** Panel **/\n\n.jp-SettingsPanel .checkbox p {\n font-size: var(--jp-content-font-size1);\n}\n\n.jp-SettingsPanel .checkbox {\n display: flex;\n flex-direction: column-reverse;\n}\n\n.jp-SettingsPanel .form-group {\n display: flex;\n padding: 4px 8px 4px var(--jp-private-settingeditor-modifier-indent);\n margin-top: 5px;\n}\n\n.jp-SettingsPanel .jp-SettingsEditor {\n padding: 20px;\n}\n\n.jp-SettingsPanel {\n overflow-y: auto;\n height: 100%;\n}\n\n.jp-SettingsForm {\n position: relative;\n}\n\n.jp-SettingsForm > .rjsf > .form-group {\n padding-top: 0;\n margin-top: 0;\n}\n\n/** Settings header **/\n\n.jp-SettingsHeader {\n display: grid;\n grid-template:\n 'title buttonbar'\n 'description buttonbar';\n grid-template-columns: 1fr max-content;\n padding: 0 var(--jp-private-settingeditor-header-spacing);\n border-bottom: 1px solid var(--jp-border-color2);\n}\n\n.jp-SettingsHeader-title {\n font-size: var(--jp-content-font-size3);\n color: var(--jp-ui-font-color0);\n font-weight: 400;\n grid-area: title;\n padding: 0;\n margin-top: calc(var(--jp-private-settingeditor-header-spacing) * 2);\n margin-bottom: calc(var(--jp-private-settingeditor-header-spacing) / 2);\n}\n\n.jp-SettingsHeader-description {\n grid-area: description;\n padding-bottom: var(--jp-private-settingeditor-header-spacing);\n color: var(--jp-ui-font-color1);\n}\n\n.jp-SettingsHeader-buttonbar {\n margin: auto var(--jp-private-settingeditor-header-spacing);\n grid-row: span 2;\n}\n\n.jp-SettingsHeader-buttonbar > .jp-RestoreButton {\n background-color: var(--jp-warn-color-normal);\n border: 0;\n color: var(--jp-ui-inverse-font-color0);\n}\n\n.jp-PluginEditor {\n overflow: auto;\n}\n\n/** Placeholder **/\n\n.jp-SettingsEditor-placeholder {\n text-align: center;\n}\n\n.jp-SettingsEditor-placeholderContent {\n color: var(--jp-content-font-color2);\n padding: 8px;\n}\n\n.jp-SettingsEditor-placeholderContent > h3 {\n margin-bottom: var(--jp-content-heading-margin-bottom);\n}\n\n/** Import Settings Widget **/\n.jp-SettingsImport-container {\n padding: 20px;\n}\n\n.jp-SettingsImport-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.jp-SettingsImport-title {\n font-size: 1rem;\n font-weight: bold;\n padding: 10px 15px;\n}\n\n.jp-SettingsImport-list {\n margin-top: 30px;\n max-height: 400px; /* Limit height for scrollable list */\n overflow-y: auto;\n}\n\n.jp-SettingsImport-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n border-bottom: 1px solid var(--jp-border-color2);\n padding: 10px 15px;\n cursor: pointer;\n}\n\n.jp-SettingsImport-itemKey {\n flex: 1;\n}\n\n.jp-SettingsImport-checkbox {\n flex-shrink: 0;\n}\n",""]);const l=a},64547:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Shortcut Input Style */\n\n.jp-Shortcuts-InputBox {\n display: inline-flex;\n padding-top: 2px;\n}\n\n.jp-Shortcuts-InputBoxNew {\n margin-left: 10px;\n}\n\n.jp-mod-hidden {\n display: none;\n}\n\n@keyframes slide-animation {\n from {\n width: 0;\n left: 0;\n }\n\n to {\n width: 120px;\n left: 0;\n }\n}\n\n.jp-Shortcuts-Input {\n animation-duration: 0.3s;\n animation-timing-function: ease-out;\n animation-name: slide-animation;\n border-width: var(--jp-border-width);\n border-color: var(--jp-border-color3);\n border-style: solid;\n background-color: var(--jp-layout-color0);\n margin-left: auto;\n padding-left: 10px;\n width: 120px;\n height: 25px;\n line-height: 25px;\n display: block;\n}\n\n.jp-Shortcuts-Input:focus {\n outline: none;\n color: var(--jp-content-font-color1);\n border-color: var(--jp-brand-color2);\n}\n\n.jp-mod-unavailable-Input:focus {\n border-color: var(--jp-error-color2);\n}\n\n.jp-Shortcuts-InputText {\n overflow-x: hidden;\n overflow-y: hidden;\n margin: 0;\n margin-top: 4px;\n padding: 0 5px;\n height: 17px;\n line-height: 17px;\n width: fit-content;\n}\n\n.jp-mod-selected-InputText {\n background-color: var(--jp-shortcuts-button-background);\n overflow: hidden;\n}\n\n.jp-mod-waiting-InputText {\n color: var(--jp-content-font-color3);\n}\n\n.jp-Shortcuts-Submit {\n background-color: var(--jp-brand-color2);\n border-radius: 0;\n border: none;\n color: var(--jp-layout-color0);\n font-family: var(--jp-ui-font-family);\n display: block;\n height: 27px;\n width: 26px;\n cursor: pointer;\n}\n\n.jp-Shortcuts-Submit:focus {\n outline: none;\n}\n\n.jp-Shortcuts-Submit .jp-icon3[fill] {\n fill: var(--jp-layout-color1);\n}\n\n.jp-Shortcuts-Submit.jp-mod-defunc-Submit {\n background-color: var(--jp-layout-color3);\n}\n\n.jp-Shortcuts-Submit.jp-mod-defunc-Submit .jp-icon3[fill] {\n fill: var(--jp-inverse-layout-color1);\n}\n\n.jp-Shortcuts-Submit.jp-mod-conflict-Submit {\n background-color: var(--jp-error-color1);\n}\n\n/* Shortcut Item Style */\n.jp-Shortcuts-Cell {\n padding: 6px 12px;\n display: table-cell;\n width: 20%;\n vertical-align: middle;\n}\n\n.jp-Shortcuts-ShortcutCell {\n display: flex;\n min-width: max-content;\n flex-wrap: wrap;\n}\n\n.jp-Shortcuts-EmptyCell {\n height: 32px;\n}\n\n.jp-Shortcuts-Row {\n padding: 10px;\n width: 100%;\n display: table-row;\n border-bottom: var(--jp-border-width) solid var(--jp-border-color1);\n vertical-align: middle;\n background-color: var(--jp-layout-color0);\n}\n\n.jp-Shortcuts-Row:hover .jp-Shortcuts-ShortcutKeys {\n border-color: var(--jp-border-color1);\n background: var(--jp-layout-color2);\n}\n\n.jp-Shortcuts-Row:hover .jp-Shortcuts-Plus,\n.jp-Shortcuts-Row:hover .jp-Shortcuts-Or {\n opacity: 1;\n}\n\n.jp-Shortcuts-ErrorMessage {\n color: var(--jp-error-color1);\n align-self: center;\n}\n\n.jp-Shortcuts-RowWithConflict {\n height: 45px;\n position: relative;\n}\n\n.jp-Shortcuts-ErrorButton {\n margin-left: 12px;\n white-space: nowrap;\n}\n\n.jp-Shortcuts-ErrorButton > button {\n margin-right: 12px;\n}\n\n.jp-Shortcuts-ShortcutContainer {\n display: flex;\n flex-wrap: wrap;\n}\n\n.jp-Shortcuts-ShortcutContainer:hover .jp-Shortcuts-ShortcutKeys {\n border-color: var(--jp-border-color3);\n background: var(--jp-layout-color3);\n}\n\n.jp-Shortcuts-ShortcutKeysContainer {\n font-size: var(--jp-code-font-size);\n font-family: var(--jp-ui-font-family);\n display: flex;\n}\n\n.jp-Shortcuts-ConflictContainer {\n display: block;\n padding: 6px 12px;\n position: absolute;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n.jp-Shortcuts-Conflict {\n display: flex;\n flex-wrap: nowrap;\n}\n\n.jp-Shortcuts-ShortcutKeys {\n border-width: var(--jp-border-width);\n border-color: var(--jp-layout-color0);\n border-radius: var(--jp-border-radius);\n padding: 5px 6px;\n margin: 3px 0;\n cursor: pointer;\n}\n\n.jp-Shortcuts-Or {\n margin-right: 12px;\n margin-left: 12px;\n margin-top: 8px;\n color: var(--jp-content-font-color3);\n opacity: 0;\n}\n\n.jp-Shortcuts-Or:hover {\n opacity: 1;\n}\n\n.jp-Shortcuts-Or-Forced {\n opacity: 1;\n}\n\n.jp-Shortcuts-Comma {\n margin-top: 10px;\n margin-right: 2px;\n margin-left: 2px;\n}\n\n.jp-Shortcuts-Plus {\n opacity: 0;\n background: var(--jp-shortcuts-button-background);\n border-color: var(--jp-layout-color0);\n border-radius: var(--jp-border-radius);\n border-width: var(--jp-border-width);\n margin: 3px 0;\n padding: 5px 6px;\n color: var(--jp-ui-inverse-font-color1);\n cursor: pointer;\n}\n\n.jp-Shortcuts-Plus:hover {\n background: var(--jp-shortcuts-button-hover-background);\n}\n\n.jp-Shortcuts-Plus:active {\n background-color: var(--jp-brand-color2);\n}\n\n.jp-Shortcuts-Reset {\n color: var(--jp-brand-color2);\n padding-left: 10px;\n cursor: pointer;\n}\n\n.jp-Shortcuts-Reset:hover {\n color: var(--jp-brand-color1);\n}\n\n.jp-Shortcuts-SourceCell {\n display: inline-block;\n}\n\n/* Shortcut List Style */\n.jp-Shortcuts-ShortcutList {\n width: 100%;\n display: table;\n border-collapse: collapse;\n}\n\n.jp-Shortcuts-ShortcutListContainer {\n overflow-y: scroll;\n border: var(--jp-border-width) solid var(--jp-border-color1);\n}\n\n/* Shortcut Title Item Style */\n.jp-Shortcuts-Header {\n display: flex;\n cursor: pointer;\n}\n\n.jp-Shortcuts-Header:hover .jp-ShortcutTitleItem-sortButton .jp-icon3[fill],\n.jp-Shortcuts-Header:focus .jp-ShortcutTitleItem-sortButton .jp-icon3[fill] {\n fill: var(--jp-ui-font-color0);\n}\n\n.jp-Shortcuts-Header:active .jp-ShortcutTitleItem-sortButton {\n outline: none;\n}\n\n.jp-Shortcuts-CurrentHeader .jp-icon3[fill] {\n fill: var(--jp-ui-font-color0);\n}\n\n/* Shortcut UI Style */\n\n.jp-Shortcuts-ShortcutUI {\n display: flex;\n flex-direction: column;\n font-size: var(--jp-ui-font-size1);\n font-family: var(--jp-ui-font-family);\n color: var(--jp-content-font-color1);\n min-width: 450px;\n width: 100%;\n}\n\n/* TopNav Style */\n.jp-Shortcuts-Top {\n display: block;\n}\n\n.jp-Shortcuts-TopNav {\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n font-size: var(--jp-ui-font-size1);\n background-color: var(--jp-layout-color0);\n}\n\n.jp-Shortcuts-Symbols {\n padding: 0 12px;\n}\n\n.jp-Shortcuts-Symbols td:nth-child(2) {\n padding-right: 10px;\n}\n\n.jp-Shortcuts-AdvancedOptions {\n padding-left: 12px;\n}\n\n.jp-Shortcuts-AdvancedOptionsLink {\n color: var(--jp-content-link-color);\n margin-right: 15px;\n display: inline-block;\n cursor: pointer;\n}\n\n.jp-Shortcuts-AdvancedOptionsLink:hover {\n color: var(--jp-brand-color0);\n text-decoration: underline;\n}\n\n.jp-Shortcuts-AdvancedOptionsLink:active {\n color: var(--jp-brand-color0);\n text-decoration: underline;\n}\n\n.jp-Shortcuts-HeaderRowContainer {\n padding-right: 14px;\n}\n\n.jp-Shortcuts-HeaderRow {\n font-weight: bold;\n font-size: var(--jp-ui-font-size1);\n background-color: var(--jp-layout-color0);\n width: 100%;\n z-index: 1;\n display: table;\n padding: 10px 0;\n}\n\n.jp-Shortcuts-commandIcon {\n margin-right: 13px;\n}\n\n.jp-Shortcuts-altIcon {\n margin-right: 14px;\n}\n\n.jp-Shortcuts-controlIcon {\n margin-left: 8px;\n margin-right: 16px;\n}\n",""]);const l=a},28423:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Styles\n|----------------------------------------------------------------------------*/\n\n.jp-StatusBar-Widget {\n display: flex;\n align-items: center;\n background: var(--jp-layout-color2);\n min-height: var(--jp-statusbar-height);\n justify-content: space-between;\n padding: 0 10px;\n}\n\n.jp-StatusBar-Left {\n display: flex;\n align-items: center;\n flex-direction: row;\n}\n\n.jp-StatusBar-Middle {\n display: flex;\n align-items: center;\n}\n\n.jp-StatusBar-Right {\n display: flex;\n align-items: center;\n flex-direction: row-reverse;\n}\n\n.jp-StatusBar-Item {\n max-height: var(--jp-statusbar-height);\n margin: 0 2px;\n height: var(--jp-statusbar-height);\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--jp-ui-font-color1);\n padding: 0 6px;\n}\n\n.jp-mod-highlighted:hover {\n background-color: var(--jp-layout-color3);\n}\n\n.jp-mod-clicked {\n background-color: var(--jp-brand-color1);\n}\n\n.jp-mod-clicked:hover {\n background-color: var(--jp-brand-color0);\n}\n\n.jp-mod-clicked .jp-StatusBar-TextItem {\n color: var(--jp-ui-inverse-font-color1);\n}\n\n.jp-StatusBar-HoverItem {\n border: var(--jp-border-width) solid var(--jp-border-color1);\n border-radius: var(--jp-border-radius);\n box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);\n}\n\n.jp-StatusBar-TextItem {\n font-size: var(--jp-ui-font-size1);\n font-family: var(--jp-ui-font-family);\n line-height: 24px;\n color: var(--jp-ui-font-color1);\n}\n\n.jp-StatusBar-GroupItem {\n display: flex;\n align-items: center;\n flex-direction: row;\n}\n\n.jp-Statusbar-ProgressCircle > svg {\n display: block;\n margin: 0 auto;\n width: 16px;\n align-self: normal;\n}\n\n.jp-Statusbar-ProgressCircle .jp-Statusbar-ProgressCirclePath {\n fill: var(--jp-inverse-layout-color3);\n}\n\n.jp-Statusbar-ProgressBar-progress-bar {\n height: 10px;\n width: 100px;\n border: solid 0.25px var(--jp-brand-color2);\n border-radius: 3px;\n overflow: hidden;\n align-self: center;\n}\n\n.jp-Statusbar-ProgressBar-progress-bar > div {\n background-color: var(--jp-brand-color2);\n background-image: linear-gradient(\n -45deg,\n rgba(255, 255, 255, 0.2) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.2) 50%,\n rgba(255, 255, 255, 0.2) 75%,\n transparent 75%,\n transparent\n );\n background-size: 40px 40px;\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 14px;\n color: #fff;\n text-align: center;\n animation: jp-Statusbar-ExecutionTime-progress-bar 2s linear infinite;\n}\n\n.jp-Statusbar-ProgressBar-progress-bar p {\n color: var(--jp-ui-font-color1);\n font-family: var(--jp-ui-font-family);\n font-size: var(--jp-ui-font-size1);\n line-height: 10px;\n width: 100px;\n}\n\n@keyframes jp-Statusbar-ExecutionTime-progress-bar {\n 0% {\n background-position: 0 0;\n }\n\n 100% {\n background-position: 40px 40px;\n }\n}\n",""]);const l=a},51466:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Terminal {\n min-width: 240px;\n min-height: 120px;\n}\n\n.jp-Terminal-body {\n padding: 8px;\n}\n\n[data-term-theme='inherit'] .xterm .xterm-screen canvas {\n border: 1px solid var(--jp-layout-color0);\n}\n\n[data-term-theme='light'] .xterm .xterm-screen canvas {\n border: 1px solid #fff;\n}\n\n[data-term-theme='dark'] .xterm .xterm-screen canvas {\n border: 1px solid #000;\n}\n",""]);const l=a},38026:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n",""]);const l=a},75682:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n| Table of Contents\n|----------------------------------------------------------------------------*/\n\n.jp-TableOfContents {\n display: flex;\n flex-direction: column;\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size1);\n height: 100%;\n}\n\n.jp-TableOfContents-placeholder {\n text-align: center;\n}\n\n.jp-TableOfContents-placeholderContent {\n color: var(--jp-content-font-color2);\n padding: 8px;\n}\n\n.jp-TableOfContents-placeholderContent > h3 {\n margin-bottom: var(--jp-content-heading-margin-bottom);\n}\n\n.jp-TableOfContents .jp-SidePanel-content {\n overflow-y: auto;\n}\n\n.jp-TableOfContents-tree {\n margin: 4px;\n}\n\n.jp-TableOfContents-content {\n padding: 0;\n background-color: var(--jp-layout-color1);\n}\n\n.jp-tocItem {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.jp-tocItem-heading {\n display: flex;\n cursor: pointer;\n width: 100%;\n}\n\n.jp-tocItem-content {\n display: block;\n padding: 4px 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow-x: hidden;\n}\n",""]);const l=a},69231:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Tooltip {\n background: var(--jp-layout-color1);\n border: var(--jp-border-width) solid var(--jp-border-color1);\n font-size: var(--jp-ui-font-size0);\n box-shadow: var(--jp-elevation-z6);\n max-width: 750px;\n max-height: 350px;\n z-index: 10001;\n padding: 4px;\n display: flex;\n}\n\n.jp-Tooltip-content {\n overflow: auto;\n}\n\n.jp-Tooltip:focus {\n outline: 0;\n}\n\n.jp-Tooltip pre {\n white-space: pre-wrap;\n margin: 0;\n}\n",""]);const l=a},28857:(e,t,n)=>{"use strict";n.d(t,{A:()=>k});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(90871);var l=n(7306);var d=n(89807);var c=n(82362);var h=n(53234);var u=n(78945);var p=n(83746);var m=n(974);var g=n(68531);var f=n(46144);var v=n(71209);var _=n(36607);var b=n(66454);var y=n(74250);var w=n(27400);var C=n(67325);var x=n(80278);var S=n(45057);var j=r()(s());j.i(a.A);j.i(l.A);j.i(d.A);j.i(c.A);j.i(h.A);j.i(u.A);j.i(p.A);j.i(m.A);j.i(g.A);j.i(f.A);j.i(v.A);j.i(_.A);j.i(b.A);j.i(y.A);j.i(w.A);j.i(C.A);j.i(x.A);j.i(S.A);j.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* Sibling imports */\n\n.jp-ThemedContainer {\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size1);\n}\n\n/* Disable native link decoration styles everywhere outside of dialog boxes */\n.jp-ThemedContainer a {\n text-decoration: unset;\n color: unset;\n}\n\n.jp-ThemedContainer a:hover {\n text-decoration: unset;\n color: unset;\n}\n\n/* Accessibility for links inside dialog box text */\n.jp-Dialog-content a {\n text-decoration: revert;\n color: var(--jp-content-link-color);\n}\n\n.jp-Dialog-content a:hover {\n text-decoration: revert;\n}\n\n/* Styles for ui-components */\n.jp-FilterBox {\n --design-unit: 3;\n --density: 0;\n}\n\n.jp-Button {\n color: var(--jp-ui-font-color2);\n border-radius: var(--jp-border-radius);\n padding: 0 12px;\n font-size: var(--jp-ui-font-size1);\n\n /* Copy from blueprint 3 */\n display: inline-flex;\n flex-direction: row;\n border: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-align: left;\n vertical-align: middle;\n min-height: 30px;\n min-width: 30px;\n}\n\n.jp-Button:disabled {\n cursor: not-allowed;\n}\n\n.jp-Button:empty {\n padding: 0 !important;\n}\n\n.jp-Button.jp-mod-small {\n min-height: 24px;\n min-width: 24px;\n font-size: 12px;\n padding: 0 7px;\n}\n\n/* Use our own theme for hover styles */\n.jp-Button.jp-mod-minimal:hover {\n background-color: var(--jp-layout-color2);\n}\n\n.jp-Button.jp-mod-minimal {\n background: none;\n}\n\n.jp-InputGroup {\n display: block;\n position: relative;\n}\n\n.jp-InputGroup input {\n box-sizing: border-box;\n border: none;\n border-radius: var(--jp-border-radius);\n background-color: transparent;\n color: var(--jp-ui-font-color0);\n box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);\n padding-bottom: 0;\n padding-top: 0;\n padding-left: 10px;\n padding-right: 28px;\n position: relative;\n width: 100%;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n font-size: 14px;\n font-weight: 400;\n height: 30px;\n line-height: 30px;\n outline: none;\n vertical-align: middle;\n}\n\n.jp-InputGroup input:focus {\n box-shadow:\n inset 0 0 0 var(--jp-border-width) var(--jp-input-active-box-shadow-color),\n inset 0 0 0 3px var(--jp-input-active-box-shadow-color);\n}\n\n.jp-InputGroup input:disabled {\n cursor: not-allowed;\n resize: block;\n background-color: var(--jp-layout-color2);\n color: var(--jp-ui-font-color2);\n}\n\n.jp-InputGroup input:disabled ~ span {\n cursor: not-allowed;\n color: var(--jp-ui-font-color2);\n}\n\n.jp-InputGroup input::placeholder,\n.jp-ThemedContainer input::placeholder {\n color: var(--jp-ui-font-color2);\n}\n\n.jp-InputGroupAction {\n position: absolute;\n bottom: 1px;\n right: 0;\n padding: 6px;\n}\n\n.jp-HTMLSelect.jp-DefaultStyle {\n /* Leave space for the focus outline */\n padding: 0 2px;\n}\n\n.jp-HTMLSelect.jp-DefaultStyle select {\n background-color: initial;\n border: none;\n border-radius: 0;\n box-shadow: none;\n color: var(--jp-ui-font-color0);\n display: block;\n font-size: var(--jp-ui-font-size1);\n font-family: var(--jp-ui-font-family);\n height: 24px;\n line-height: 14px;\n padding: 0 25px 0 10px;\n text-align: left;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n\n.jp-HTMLSelect.jp-DefaultStyle select:disabled {\n background-color: var(--jp-layout-color2);\n color: var(--jp-ui-font-color2);\n cursor: not-allowed;\n resize: block;\n}\n\n.jp-HTMLSelect.jp-DefaultStyle select:disabled ~ span {\n cursor: not-allowed;\n}\n\n.jp-HTMLSelect.jp-DefaultStyle select:focus-visible {\n outline: 2px solid var(--accent-fill-focus, var(--jp-brand-color1));\n}\n\n/* Use our own theme for hover and option styles */\n/* stylelint-disable-next-line selector-max-type */\n.jp-HTMLSelect.jp-DefaultStyle select:hover,\n.jp-HTMLSelect.jp-DefaultStyle select > option {\n background-color: var(--jp-layout-color2);\n color: var(--jp-ui-font-color0);\n}\n\n.jp-ThemedContainer select {\n box-sizing: border-box;\n}\n",""]);const k=j},90871:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Collapse {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n}\n\n.jp-Collapse-header {\n padding: 1px 12px;\n background-color: var(--jp-layout-color1);\n border-bottom: solid var(--jp-border-width) var(--jp-border-color2);\n color: var(--jp-ui-font-color1);\n cursor: pointer;\n display: flex;\n align-items: center;\n font-size: var(--jp-ui-font-size0);\n font-weight: 600;\n text-transform: uppercase;\n user-select: none;\n}\n\n.jp-Collapser-icon {\n height: 16px;\n}\n\n.jp-Collapse-header-collapsed .jp-Collapser-icon {\n transform: rotate(-90deg);\n margin: auto 0;\n}\n\n.jp-Collapser-title {\n line-height: 25px;\n}\n\n.jp-Collapse-contents {\n padding: 0 12px;\n background-color: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n overflow: auto;\n}\n",""]);const l=a},7306:(e,t,n)=>{"use strict";n.d(t,{A:()=>Wi});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(4417);var l=n.n(a);var d=new URL(n(97654),n.b);var c=new URL(n(54206),n.b);var h=new URL(n(35510),n.b);var u=new URL(n(1328),n.b);var p=new URL(n(75386),n.b);var m=new URL(n(95558),n.b);var g=new URL(n(56075),n.b);var f=new URL(n(94817),n.b);var v=new URL(n(5938),n.b);var _=new URL(n(62287),n.b);var b=new URL(n(37453),n.b);var y=new URL(n(32225),n.b);var w=new URL(n(50394),n.b);var C=new URL(n(59025),n.b);var x=new URL(n(84666),n.b);var S=new URL(n(17150),n.b);var j=new URL(n(85703),n.b);var k=new URL(n(64907),n.b);var I=new URL(n(22641),n.b);var T=new URL(n(38101),n.b);var E=new URL(n(67764),n.b);var M=new URL(n(60848),n.b);var D=new URL(n(28047),n.b);var A=new URL(n(17087),n.b);var P=new URL(n(29005),n.b);var L=new URL(n(27754),n.b);var R=new URL(n(21498),n.b);var N=new URL(n(29264),n.b);var B=new URL(n(41533),n.b);var O=new URL(n(13258),n.b);var F=new URL(n(43360),n.b);var z=new URL(n(99615),n.b);var W=new URL(n(29852),n.b);var H=new URL(n(87976),n.b);var V=new URL(n(38170),n.b);var U=new URL(n(22705),n.b);var q=new URL(n(91794),n.b);var $=new URL(n(24649),n.b);var K=new URL(n(6729),n.b);var J=new URL(n(160),n.b);var G=new URL(n(13841),n.b);var Y=new URL(n(21376),n.b);var X=new URL(n(97473),n.b);var Q=new URL(n(14657),n.b);var Z=new URL(n(84783),n.b);var ee=new URL(n(689),n.b);var te=new URL(n(12037),n.b);var ne=new URL(n(843),n.b);var ie=new URL(n(11631),n.b);var se=new URL(n(42352),n.b);var oe=new URL(n(13820),n.b);var re=new URL(n(13444),n.b);var ae=new URL(n(8770),n.b);var le=new URL(n(67931),n.b);var de=new URL(n(49858),n.b);var ce=new URL(n(88255),n.b);var he=new URL(n(62547),n.b);var ue=new URL(n(62518),n.b);var pe=new URL(n(32409),n.b);var me=new URL(n(49069),n.b);var ge=new URL(n(90021),n.b);var fe=new URL(n(43664),n.b);var ve=new URL(n(21957),n.b);var _e=new URL(n(35017),n.b);var be=new URL(n(98034),n.b);var ye=new URL(n(91019),n.b);var we=new URL(n(97146),n.b);var Ce=new URL(n(96081),n.b);var xe=new URL(n(62304),n.b);var Se=new URL(n(10966),n.b);var je=new URL(n(7754),n.b);var ke=new URL(n(80977),n.b);var Ie=new URL(n(64445),n.b);var Te=new URL(n(36436),n.b);var Ee=new URL(n(73105),n.b);var Me=new URL(n(98827),n.b);var De=new URL(n(52747),n.b);var Ae=new URL(n(16580),n.b);var Pe=new URL(n(40226),n.b);var Le=new URL(n(39054),n.b);var Re=new URL(n(55237),n.b);var Ne=new URL(n(94702),n.b);var Be=new URL(n(14606),n.b);var Oe=new URL(n(97623),n.b);var Fe=new URL(n(39267),n.b);var ze=new URL(n(30958),n.b);var We=new URL(n(78587),n.b);var He=new URL(n(41420),n.b);var Ve=new URL(n(52384),n.b);var Ue=new URL(n(94774),n.b);var qe=new URL(n(36035),n.b);var $e=new URL(n(35545),n.b);var Ke=new URL(n(74078),n.b);var Je=new URL(n(4721),n.b);var Ge=new URL(n(38072),n.b);var Ye=new URL(n(10375),n.b);var Xe=new URL(n(47430),n.b);var Qe=new URL(n(60829),n.b);var Ze=new URL(n(84092),n.b);var et=new URL(n(69281),n.b);var tt=new URL(n(14063),n.b);var nt=new URL(n(89120),n.b);var it=new URL(n(55260),n.b);var st=new URL(n(5170),n.b);var ot=new URL(n(54096),n.b);var rt=new URL(n(85077),n.b);var at=new URL(n(57575),n.b);var lt=new URL(n(39699),n.b);var dt=new URL(n(76047),n.b);var ct=new URL(n(26457),n.b);var ht=new URL(n(99083),n.b);var ut=new URL(n(79984),n.b);var pt=new URL(n(12673),n.b);var mt=new URL(n(36454),n.b);var gt=new URL(n(76035),n.b);var ft=new URL(n(6267),n.b);var vt=new URL(n(26482),n.b);var _t=new URL(n(83699),n.b);var bt=new URL(n(72297),n.b);var yt=new URL(n(12255),n.b);var wt=new URL(n(49464),n.b);var Ct=new URL(n(42988),n.b);var xt=new URL(n(32111),n.b);var St=r()(s());var jt=l()(d);var kt=l()(c);var It=l()(h);var Tt=l()(u);var Et=l()(p);var Mt=l()(m);var Dt=l()(g);var At=l()(f);var Pt=l()(v);var Lt=l()(_);var Rt=l()(b);var Nt=l()(y);var Bt=l()(w);var Ot=l()(C);var Ft=l()(x);var zt=l()(S);var Wt=l()(j);var Ht=l()(k);var Vt=l()(I);var Ut=l()(T);var qt=l()(E);var $t=l()(M);var Kt=l()(D);var Jt=l()(A);var Gt=l()(P);var Yt=l()(L);var Xt=l()(R);var Qt=l()(N);var Zt=l()(B);var en=l()(O);var tn=l()(F);var nn=l()(z);var sn=l()(W);var on=l()(H);var rn=l()(V);var an=l()(U);var ln=l()(q);var dn=l()($);var cn=l()(K);var hn=l()(J);var un=l()(G);var pn=l()(Y);var mn=l()(X);var gn=l()(Q);var fn=l()(Z);var vn=l()(ee);var _n=l()(te);var bn=l()(ne);var yn=l()(ie);var wn=l()(se);var Cn=l()(oe);var xn=l()(re);var Sn=l()(ae);var jn=l()(le);var kn=l()(de);var In=l()(ce);var Tn=l()(he);var En=l()(ue);var Mn=l()(pe);var Dn=l()(me);var An=l()(ge);var Pn=l()(fe);var Ln=l()(ve);var Rn=l()(_e);var Nn=l()(be);var Bn=l()(ye);var On=l()(we);var Fn=l()(Ce);var zn=l()(xe);var Wn=l()(Se);var Hn=l()(je);var Vn=l()(ke);var Un=l()(Ie);var qn=l()(Te);var $n=l()(Ee);var Kn=l()(Me);var Jn=l()(De);var Gn=l()(Ae);var Yn=l()(Pe);var Xn=l()(Le);var Qn=l()(Re);var Zn=l()(Ne);var ei=l()(Be);var ti=l()(Oe);var ni=l()(Fe);var ii=l()(ze);var si=l()(We);var oi=l()(He);var ri=l()(Ve);var ai=l()(Ue);var li=l()(qe);var di=l()($e);var ci=l()(Ke);var hi=l()(Je);var ui=l()(Ge);var pi=l()(Ye);var mi=l()(Xe);var gi=l()(Qe);var fi=l()(Ze);var vi=l()(et);var _i=l()(tt);var bi=l()(nt);var yi=l()(it);var wi=l()(st);var Ci=l()(ot);var xi=l()(rt);var Si=l()(at);var ji=l()(lt);var ki=l()(dt);var Ii=l()(ct);var Ti=l()(ht);var Ei=l()(ut);var Mi=l()(pt);var Di=l()(mt);var Ai=l()(gt);var Pi=l()(ft);var Li=l()(vt);var Ri=l()(_t);var Ni=l()(bt);var Bi=l()(yt);var Oi=l()(wt);var Fi=l()(Ct);var zi=l()(xt);St.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */\n\n/**\n * (DEPRECATED) Support for consuming icons as CSS background images\n */\n\n/* Icons urls */\n\n:root {\n --jp-icon-add-above: url("+jt+");\n --jp-icon-add-below: url("+kt+");\n --jp-icon-add: url("+It+");\n --jp-icon-audio: url("+Tt+");\n --jp-icon-bell: url("+Et+");\n --jp-icon-breakpoint: url("+Mt+");\n --jp-icon-bug-dot: url("+Dt+");\n --jp-icon-bug: url("+At+");\n --jp-icon-build: url("+Pt+");\n --jp-icon-caret-down-empty-thin: url("+Lt+");\n --jp-icon-caret-down-empty: url("+Rt+");\n --jp-icon-caret-down: url("+Nt+");\n --jp-icon-caret-left: url("+Bt+");\n --jp-icon-caret-right: url("+Ot+");\n --jp-icon-caret-up-empty-thin: url("+Ft+");\n --jp-icon-caret-up: url("+zt+");\n --jp-icon-case-sensitive: url("+Wt+");\n --jp-icon-check: url("+Ht+");\n --jp-icon-circle-empty: url("+Vt+");\n --jp-icon-circle: url("+Ut+");\n --jp-icon-cleaning: url("+qt+");\n --jp-icon-clear: url("+$t+");\n --jp-icon-close-all: url("+Kt+");\n --jp-icon-close: url("+Jt+");\n --jp-icon-code-check: url("+Gt+");\n --jp-icon-code: url("+Yt+");\n --jp-icon-collapse-all: url("+Xt+");\n --jp-icon-collapse: url("+Qt+");\n --jp-icon-console: url("+Zt+");\n --jp-icon-copy: url("+en+");\n --jp-icon-copyright: url("+tn+");\n --jp-icon-cut: url("+nn+");\n --jp-icon-delete: url("+sn+");\n --jp-icon-dock-bottom: url("+on+");\n --jp-icon-dock-left: url("+rn+");\n --jp-icon-dock-right: url("+an+");\n --jp-icon-dock-top: url("+ln+");\n --jp-icon-dots: url("+dn+");\n --jp-icon-download: url("+cn+");\n --jp-icon-duplicate: url("+hn+");\n --jp-icon-edit: url("+un+");\n --jp-icon-ellipses: url("+pn+");\n --jp-icon-error: url("+mn+");\n --jp-icon-exceptions: url("+gn+");\n --jp-icon-expand-all: url("+fn+");\n --jp-icon-expand: url("+vn+");\n --jp-icon-extension: url("+_n+");\n --jp-icon-fast-forward: url("+bn+");\n --jp-icon-file-upload: url("+yn+");\n --jp-icon-file: url("+wn+");\n --jp-icon-filter-dot: url("+Cn+");\n --jp-icon-filter-list: url("+xn+");\n --jp-icon-filter: url("+Sn+");\n --jp-icon-folder-favorite: url("+jn+");\n --jp-icon-folder: url("+kn+");\n --jp-icon-history: url("+In+");\n --jp-icon-home: url("+Tn+");\n --jp-icon-html5: url("+En+");\n --jp-icon-image: url("+Mn+");\n --jp-icon-info: url("+Dn+");\n --jp-icon-inspector: url("+An+");\n --jp-icon-json: url("+Pn+");\n --jp-icon-julia: url("+Ln+");\n --jp-icon-jupyter-favicon: url("+Rn+");\n --jp-icon-jupyter: url("+Nn+");\n --jp-icon-jupyterlab-wordmark: url("+Bn+");\n --jp-icon-kernel: url("+On+");\n --jp-icon-keyboard: url("+Fn+");\n --jp-icon-launch: url("+zn+");\n --jp-icon-launcher: url("+Wn+");\n --jp-icon-line-form: url("+Hn+");\n --jp-icon-link: url("+Vn+");\n --jp-icon-list: url("+Un+");\n --jp-icon-lock: url("+qn+");\n --jp-icon-markdown: url("+$n+");\n --jp-icon-mermaid: url("+Kn+");\n --jp-icon-move-down: url("+Jn+");\n --jp-icon-move-up: url("+Gn+");\n --jp-icon-new-folder: url("+Yn+");\n --jp-icon-not-trusted: url("+Xn+");\n --jp-icon-notebook: url("+Qn+");\n --jp-icon-numbering: url("+Zn+");\n --jp-icon-offline-bolt: url("+ei+");\n --jp-icon-open-kernel-source: url("+ti+");\n --jp-icon-palette: url("+ni+");\n --jp-icon-paste: url("+ii+");\n --jp-icon-pause: url("+si+");\n --jp-icon-pdf: url("+oi+");\n --jp-icon-python: url("+ri+");\n --jp-icon-r-kernel: url("+ai+");\n --jp-icon-react: url("+li+");\n --jp-icon-redo: url("+di+");\n --jp-icon-refresh: url("+ci+");\n --jp-icon-regex: url("+hi+");\n --jp-icon-run: url("+ui+");\n --jp-icon-running: url("+pi+");\n --jp-icon-save: url("+mi+");\n --jp-icon-search: url("+gi+");\n --jp-icon-selected-breakpoint: url("+fi+");\n --jp-icon-settings: url("+vi+");\n --jp-icon-share: url("+_i+");\n --jp-icon-spreadsheet: url("+bi+");\n --jp-icon-step-into: url("+yi+");\n --jp-icon-step-out: url("+wi+");\n --jp-icon-step-over: url("+Ci+");\n --jp-icon-stop: url("+xi+");\n --jp-icon-tab: url("+Si+");\n --jp-icon-table-rows: url("+ji+");\n --jp-icon-tag: url("+ki+");\n --jp-icon-terminal: url("+Ii+");\n --jp-icon-text-editor: url("+Ti+");\n --jp-icon-toc: url("+Ei+");\n --jp-icon-tree-view: url("+Mi+");\n --jp-icon-trusted: url("+Di+");\n --jp-icon-undo: url("+Ai+");\n --jp-icon-user: url("+Pi+");\n --jp-icon-users: url("+Li+");\n --jp-icon-variable: url("+Ri+");\n --jp-icon-vega: url("+Ni+");\n --jp-icon-video: url("+Bi+");\n --jp-icon-view-breakpoint: url("+Oi+");\n --jp-icon-word: url("+Fi+");\n --jp-icon-yaml: url("+zi+");\n}\n\n/* Icon CSS class declarations */\n\n.jp-AddAboveIcon {\n background-image: var(--jp-icon-add-above);\n}\n\n.jp-AddBelowIcon {\n background-image: var(--jp-icon-add-below);\n}\n\n.jp-AddIcon {\n background-image: var(--jp-icon-add);\n}\n\n.jp-AudioIcon {\n background-image: var(--jp-icon-audio);\n}\n\n.jp-BellIcon {\n background-image: var(--jp-icon-bell);\n}\n\n.jp-BreakpointIcon {\n background-image: var(--jp-icon-breakpoint);\n}\n\n.jp-BugDotIcon {\n background-image: var(--jp-icon-bug-dot);\n}\n\n.jp-BugIcon {\n background-image: var(--jp-icon-bug);\n}\n\n.jp-BuildIcon {\n background-image: var(--jp-icon-build);\n}\n\n.jp-CaretDownEmptyIcon {\n background-image: var(--jp-icon-caret-down-empty);\n}\n\n.jp-CaretDownEmptyThinIcon {\n background-image: var(--jp-icon-caret-down-empty-thin);\n}\n\n.jp-CaretDownIcon {\n background-image: var(--jp-icon-caret-down);\n}\n\n.jp-CaretLeftIcon {\n background-image: var(--jp-icon-caret-left);\n}\n\n.jp-CaretRightIcon {\n background-image: var(--jp-icon-caret-right);\n}\n\n.jp-CaretUpEmptyThinIcon {\n background-image: var(--jp-icon-caret-up-empty-thin);\n}\n\n.jp-CaretUpIcon {\n background-image: var(--jp-icon-caret-up);\n}\n\n.jp-CaseSensitiveIcon {\n background-image: var(--jp-icon-case-sensitive);\n}\n\n.jp-CheckIcon {\n background-image: var(--jp-icon-check);\n}\n\n.jp-CircleEmptyIcon {\n background-image: var(--jp-icon-circle-empty);\n}\n\n.jp-CircleIcon {\n background-image: var(--jp-icon-circle);\n}\n\n.jp-CleaningIcon {\n background-image: var(--jp-icon-cleaning);\n}\n\n.jp-ClearIcon {\n background-image: var(--jp-icon-clear);\n}\n\n.jp-CloseAllIcon {\n background-image: var(--jp-icon-close-all);\n}\n\n.jp-CloseIcon {\n background-image: var(--jp-icon-close);\n}\n\n.jp-CodeCheckIcon {\n background-image: var(--jp-icon-code-check);\n}\n\n.jp-CodeIcon {\n background-image: var(--jp-icon-code);\n}\n\n.jp-CollapseAllIcon {\n background-image: var(--jp-icon-collapse-all);\n}\n\n.jp-CollapseIcon {\n background-image: var(--jp-icon-collapse);\n}\n\n.jp-ConsoleIcon {\n background-image: var(--jp-icon-console);\n}\n\n.jp-CopyIcon {\n background-image: var(--jp-icon-copy);\n}\n\n.jp-CopyrightIcon {\n background-image: var(--jp-icon-copyright);\n}\n\n.jp-CutIcon {\n background-image: var(--jp-icon-cut);\n}\n\n.jp-DeleteIcon {\n background-image: var(--jp-icon-delete);\n}\n\n.jp-DockBottomIcon {\n background-image: var(--jp-icon-dock-bottom);\n}\n\n.jp-DockLeftIcon {\n background-image: var(--jp-icon-dock-left);\n}\n\n.jp-DockRightIcon {\n background-image: var(--jp-icon-dock-right);\n}\n\n.jp-DockTopIcon {\n background-image: var(--jp-icon-dock-top);\n}\n\n.jp-DotsIcon {\n background-image: var(--jp-icon-dots);\n}\n\n.jp-DownloadIcon {\n background-image: var(--jp-icon-download);\n}\n\n.jp-DuplicateIcon {\n background-image: var(--jp-icon-duplicate);\n}\n\n.jp-EditIcon {\n background-image: var(--jp-icon-edit);\n}\n\n.jp-EllipsesIcon {\n background-image: var(--jp-icon-ellipses);\n}\n\n.jp-ErrorIcon {\n background-image: var(--jp-icon-error);\n}\n\n.jp-ExceptionsIcon {\n background-image: var(--jp-icon-exceptions);\n}\n\n.jp-ExpandAllIcon {\n background-image: var(--jp-icon-expand-all);\n}\n\n.jp-ExpandIcon {\n background-image: var(--jp-icon-expand);\n}\n\n.jp-ExtensionIcon {\n background-image: var(--jp-icon-extension);\n}\n\n.jp-FastForwardIcon {\n background-image: var(--jp-icon-fast-forward);\n}\n\n.jp-FileIcon {\n background-image: var(--jp-icon-file);\n}\n\n.jp-FileUploadIcon {\n background-image: var(--jp-icon-file-upload);\n}\n\n.jp-FilterDotIcon {\n background-image: var(--jp-icon-filter-dot);\n}\n\n.jp-FilterIcon {\n background-image: var(--jp-icon-filter);\n}\n\n.jp-FilterListIcon {\n background-image: var(--jp-icon-filter-list);\n}\n\n.jp-FolderFavoriteIcon {\n background-image: var(--jp-icon-folder-favorite);\n}\n\n.jp-FolderIcon {\n background-image: var(--jp-icon-folder);\n}\n\n.jp-HistoryIcon {\n background-image: var(--jp-icon-history);\n}\n\n.jp-HomeIcon {\n background-image: var(--jp-icon-home);\n}\n\n.jp-Html5Icon {\n background-image: var(--jp-icon-html5);\n}\n\n.jp-ImageIcon {\n background-image: var(--jp-icon-image);\n}\n\n.jp-InfoIcon {\n background-image: var(--jp-icon-info);\n}\n\n.jp-InspectorIcon {\n background-image: var(--jp-icon-inspector);\n}\n\n.jp-JsonIcon {\n background-image: var(--jp-icon-json);\n}\n\n.jp-JuliaIcon {\n background-image: var(--jp-icon-julia);\n}\n\n.jp-JupyterFaviconIcon {\n background-image: var(--jp-icon-jupyter-favicon);\n}\n\n.jp-JupyterIcon {\n background-image: var(--jp-icon-jupyter);\n}\n\n.jp-JupyterlabWordmarkIcon {\n background-image: var(--jp-icon-jupyterlab-wordmark);\n}\n\n.jp-KernelIcon {\n background-image: var(--jp-icon-kernel);\n}\n\n.jp-KeyboardIcon {\n background-image: var(--jp-icon-keyboard);\n}\n\n.jp-LaunchIcon {\n background-image: var(--jp-icon-launch);\n}\n\n.jp-LauncherIcon {\n background-image: var(--jp-icon-launcher);\n}\n\n.jp-LineFormIcon {\n background-image: var(--jp-icon-line-form);\n}\n\n.jp-LinkIcon {\n background-image: var(--jp-icon-link);\n}\n\n.jp-ListIcon {\n background-image: var(--jp-icon-list);\n}\n\n.jp-LockIcon {\n background-image: var(--jp-icon-lock);\n}\n\n.jp-MarkdownIcon {\n background-image: var(--jp-icon-markdown);\n}\n\n.jp-MermaidIcon {\n background-image: var(--jp-icon-mermaid);\n}\n\n.jp-MoveDownIcon {\n background-image: var(--jp-icon-move-down);\n}\n\n.jp-MoveUpIcon {\n background-image: var(--jp-icon-move-up);\n}\n\n.jp-NewFolderIcon {\n background-image: var(--jp-icon-new-folder);\n}\n\n.jp-NotTrustedIcon {\n background-image: var(--jp-icon-not-trusted);\n}\n\n.jp-NotebookIcon {\n background-image: var(--jp-icon-notebook);\n}\n\n.jp-NumberingIcon {\n background-image: var(--jp-icon-numbering);\n}\n\n.jp-OfflineBoltIcon {\n background-image: var(--jp-icon-offline-bolt);\n}\n\n.jp-OpenKernelSourceIcon {\n background-image: var(--jp-icon-open-kernel-source);\n}\n\n.jp-PaletteIcon {\n background-image: var(--jp-icon-palette);\n}\n\n.jp-PasteIcon {\n background-image: var(--jp-icon-paste);\n}\n\n.jp-PauseIcon {\n background-image: var(--jp-icon-pause);\n}\n\n.jp-PdfIcon {\n background-image: var(--jp-icon-pdf);\n}\n\n.jp-PythonIcon {\n background-image: var(--jp-icon-python);\n}\n\n.jp-RKernelIcon {\n background-image: var(--jp-icon-r-kernel);\n}\n\n.jp-ReactIcon {\n background-image: var(--jp-icon-react);\n}\n\n.jp-RedoIcon {\n background-image: var(--jp-icon-redo);\n}\n\n.jp-RefreshIcon {\n background-image: var(--jp-icon-refresh);\n}\n\n.jp-RegexIcon {\n background-image: var(--jp-icon-regex);\n}\n\n.jp-RunIcon {\n background-image: var(--jp-icon-run);\n}\n\n.jp-RunningIcon {\n background-image: var(--jp-icon-running);\n}\n\n.jp-SaveIcon {\n background-image: var(--jp-icon-save);\n}\n\n.jp-SearchIcon {\n background-image: var(--jp-icon-search);\n}\n\n.jp-SelectedBreakpointIcon {\n background-image: var(--jp-icon-selected-breakpoint);\n}\n\n.jp-SettingsIcon {\n background-image: var(--jp-icon-settings);\n}\n\n.jp-ShareIcon {\n background-image: var(--jp-icon-share);\n}\n\n.jp-SpreadsheetIcon {\n background-image: var(--jp-icon-spreadsheet);\n}\n\n.jp-StepIntoIcon {\n background-image: var(--jp-icon-step-into);\n}\n\n.jp-StepOutIcon {\n background-image: var(--jp-icon-step-out);\n}\n\n.jp-StepOverIcon {\n background-image: var(--jp-icon-step-over);\n}\n\n.jp-StopIcon {\n background-image: var(--jp-icon-stop);\n}\n\n.jp-TabIcon {\n background-image: var(--jp-icon-tab);\n}\n\n.jp-TableRowsIcon {\n background-image: var(--jp-icon-table-rows);\n}\n\n.jp-TagIcon {\n background-image: var(--jp-icon-tag);\n}\n\n.jp-TerminalIcon {\n background-image: var(--jp-icon-terminal);\n}\n\n.jp-TextEditorIcon {\n background-image: var(--jp-icon-text-editor);\n}\n\n.jp-TocIcon {\n background-image: var(--jp-icon-toc);\n}\n\n.jp-TreeViewIcon {\n background-image: var(--jp-icon-tree-view);\n}\n\n.jp-TrustedIcon {\n background-image: var(--jp-icon-trusted);\n}\n\n.jp-UndoIcon {\n background-image: var(--jp-icon-undo);\n}\n\n.jp-UserIcon {\n background-image: var(--jp-icon-user);\n}\n\n.jp-UsersIcon {\n background-image: var(--jp-icon-users);\n}\n\n.jp-VariableIcon {\n background-image: var(--jp-icon-variable);\n}\n\n.jp-VegaIcon {\n background-image: var(--jp-icon-vega);\n}\n\n.jp-VideoIcon {\n background-image: var(--jp-icon-video);\n}\n\n.jp-ViewBreakpointIcon {\n background-image: var(--jp-icon-view-breakpoint);\n}\n\n.jp-WordIcon {\n background-image: var(--jp-icon-word);\n}\n\n.jp-YamlIcon {\n background-image: var(--jp-icon-yaml);\n}\n",""]);const Wi=St},89807:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/**\n * (DEPRECATED) Support for consuming icons as CSS background images\n */\n\n.jp-Icon,\n.jp-MaterialIcon {\n background-position: center;\n background-repeat: no-repeat;\n background-size: 16px;\n min-width: 16px;\n min-height: 16px;\n}\n\n.jp-Icon-cover {\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n/**\n * (DEPRECATED) Support for specific CSS icon sizes\n */\n\n.jp-Icon-16 {\n background-size: 16px;\n min-width: 16px;\n min-height: 16px;\n}\n\n.jp-Icon-18 {\n background-size: 18px;\n min-width: 18px;\n min-height: 18px;\n}\n\n.jp-Icon-20 {\n background-size: 20px;\n min-width: 20px;\n min-height: 20px;\n}\n",""]);const l=a},68531:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-HoverBox {\n position: fixed;\n}\n",""]);const l=a},53234:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/**\n * Support for icons as inline SVG HTMLElements\n */\n\n/* recolor the primary elements of an icon */\n.jp-icon0[fill] {\n fill: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon1[fill] {\n fill: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon2[fill] {\n fill: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon3[fill] {\n fill: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon4[fill] {\n fill: var(--jp-inverse-layout-color4);\n}\n\n.jp-icon0[stroke] {\n stroke: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon1[stroke] {\n stroke: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon2[stroke] {\n stroke: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon3[stroke] {\n stroke: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon4[stroke] {\n stroke: var(--jp-inverse-layout-color4);\n}\n\n/* recolor the accent elements of an icon */\n.jp-icon-accent0[fill] {\n fill: var(--jp-layout-color0);\n}\n\n.jp-icon-accent1[fill] {\n fill: var(--jp-layout-color1);\n}\n\n.jp-icon-accent2[fill] {\n fill: var(--jp-layout-color2);\n}\n\n.jp-icon-accent3[fill] {\n fill: var(--jp-layout-color3);\n}\n\n.jp-icon-accent4[fill] {\n fill: var(--jp-layout-color4);\n}\n\n.jp-icon-accent0[stroke] {\n stroke: var(--jp-layout-color0);\n}\n\n.jp-icon-accent1[stroke] {\n stroke: var(--jp-layout-color1);\n}\n\n.jp-icon-accent2[stroke] {\n stroke: var(--jp-layout-color2);\n}\n\n.jp-icon-accent3[stroke] {\n stroke: var(--jp-layout-color3);\n}\n\n.jp-icon-accent4[stroke] {\n stroke: var(--jp-layout-color4);\n}\n\n/* set the color of an icon to transparent */\n.jp-icon-none[fill] {\n fill: none;\n}\n\n.jp-icon-none[stroke] {\n stroke: none;\n}\n\n/* brand icon colors. Same for light and dark */\n.jp-icon-brand0[fill] {\n fill: var(--jp-brand-color0);\n}\n\n.jp-icon-brand1[fill] {\n fill: var(--jp-brand-color1);\n}\n\n.jp-icon-brand2[fill] {\n fill: var(--jp-brand-color2);\n}\n\n.jp-icon-brand3[fill] {\n fill: var(--jp-brand-color3);\n}\n\n.jp-icon-brand4[fill] {\n fill: var(--jp-brand-color4);\n}\n\n.jp-icon-brand0[stroke] {\n stroke: var(--jp-brand-color0);\n}\n\n.jp-icon-brand1[stroke] {\n stroke: var(--jp-brand-color1);\n}\n\n.jp-icon-brand2[stroke] {\n stroke: var(--jp-brand-color2);\n}\n\n.jp-icon-brand3[stroke] {\n stroke: var(--jp-brand-color3);\n}\n\n.jp-icon-brand4[stroke] {\n stroke: var(--jp-brand-color4);\n}\n\n/* warn icon colors. Same for light and dark */\n.jp-icon-warn0[fill] {\n fill: var(--jp-warn-color0);\n}\n\n.jp-icon-warn1[fill] {\n fill: var(--jp-warn-color1);\n}\n\n.jp-icon-warn2[fill] {\n fill: var(--jp-warn-color2);\n}\n\n.jp-icon-warn3[fill] {\n fill: var(--jp-warn-color3);\n}\n\n.jp-icon-warn0[stroke] {\n stroke: var(--jp-warn-color0);\n}\n\n.jp-icon-warn1[stroke] {\n stroke: var(--jp-warn-color1);\n}\n\n.jp-icon-warn2[stroke] {\n stroke: var(--jp-warn-color2);\n}\n\n.jp-icon-warn3[stroke] {\n stroke: var(--jp-warn-color3);\n}\n\n/* icon colors that contrast well with each other and most backgrounds */\n.jp-icon-contrast0[fill] {\n fill: var(--jp-icon-contrast-color0);\n}\n\n.jp-icon-contrast1[fill] {\n fill: var(--jp-icon-contrast-color1);\n}\n\n.jp-icon-contrast2[fill] {\n fill: var(--jp-icon-contrast-color2);\n}\n\n.jp-icon-contrast3[fill] {\n fill: var(--jp-icon-contrast-color3);\n}\n\n.jp-icon-contrast0[stroke] {\n stroke: var(--jp-icon-contrast-color0);\n}\n\n.jp-icon-contrast1[stroke] {\n stroke: var(--jp-icon-contrast-color1);\n}\n\n.jp-icon-contrast2[stroke] {\n stroke: var(--jp-icon-contrast-color2);\n}\n\n.jp-icon-contrast3[stroke] {\n stroke: var(--jp-icon-contrast-color3);\n}\n\n.jp-icon-dot[fill] {\n fill: var(--jp-warn-color0);\n}\n\n.jp-jupyter-icon-color[fill] {\n fill: var(--jp-jupyter-icon-color, var(--jp-warn-color0));\n}\n\n.jp-notebook-icon-color[fill] {\n fill: var(--jp-notebook-icon-color, var(--jp-warn-color0));\n}\n\n.jp-json-icon-color[fill] {\n fill: var(--jp-json-icon-color, var(--jp-warn-color1));\n}\n\n.jp-console-icon-color[fill] {\n fill: var(--jp-console-icon-color, white);\n}\n\n.jp-console-icon-background-color[fill] {\n fill: var(--jp-console-icon-background-color, var(--jp-brand-color1));\n}\n\n.jp-terminal-icon-color[fill] {\n fill: var(--jp-terminal-icon-color, var(--jp-layout-color2));\n}\n\n.jp-terminal-icon-background-color[fill] {\n fill: var(\n --jp-terminal-icon-background-color,\n var(--jp-inverse-layout-color2)\n );\n}\n\n.jp-text-editor-icon-color[fill] {\n fill: var(--jp-text-editor-icon-color, var(--jp-inverse-layout-color3));\n}\n\n.jp-inspector-icon-color[fill] {\n fill: var(--jp-inspector-icon-color, var(--jp-inverse-layout-color3));\n}\n\n/* CSS for icons in selected filebrowser listing items */\n.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] {\n fill: #fff;\n}\n\n.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] {\n fill: var(--jp-brand-color1);\n}\n\n/* stylelint-disable selector-max-class, selector-max-compound-selectors */\n\n/**\n* TODO: come up with non css-hack solution for showing the busy icon on top\n* of the close icon\n* CSS for complex behavior of close icon of tabs in the main area tabbar\n*/\n.lm-DockPanel-tabBar\n .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty\n > .lm-TabBar-tabCloseIcon\n > :not(:hover)\n > .jp-icon3[fill] {\n fill: none;\n}\n\n.lm-DockPanel-tabBar\n .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty\n > .lm-TabBar-tabCloseIcon\n > :not(:hover)\n > .jp-icon-busy[fill] {\n fill: var(--jp-inverse-layout-color3);\n}\n\n/* stylelint-enable selector-max-class, selector-max-compound-selectors */\n\n/* CSS for icons in status bar */\n#jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] {\n fill: #fff;\n}\n\n#jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] {\n fill: var(--jp-brand-color1);\n}\n\n/* special handling for splash icon CSS. While the theme CSS reloads during\n splash, the splash icon can loose theming. To prevent that, we set a\n default for its color variable */\n:root {\n --jp-warn-color0: var(--md-orange-700, #f57c00);\n}\n\n/* not sure what to do with this one, used in filebrowser listing */\n.jp-DragIcon {\n margin-right: 4px;\n}\n",""]);const l=a},78945:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/**\n * Support for alt colors for icons as inline SVG HTMLElements\n */\n\n/* alt recolor the primary elements of an icon */\n.jp-icon-alt .jp-icon0[fill] {\n fill: var(--jp-layout-color0);\n}\n\n.jp-icon-alt .jp-icon1[fill] {\n fill: var(--jp-layout-color1);\n}\n\n.jp-icon-alt .jp-icon2[fill] {\n fill: var(--jp-layout-color2);\n}\n\n.jp-icon-alt .jp-icon3[fill] {\n fill: var(--jp-layout-color3);\n}\n\n.jp-icon-alt .jp-icon4[fill] {\n fill: var(--jp-layout-color4);\n}\n\n.jp-icon-alt .jp-icon0[stroke] {\n stroke: var(--jp-layout-color0);\n}\n\n.jp-icon-alt .jp-icon1[stroke] {\n stroke: var(--jp-layout-color1);\n}\n\n.jp-icon-alt .jp-icon2[stroke] {\n stroke: var(--jp-layout-color2);\n}\n\n.jp-icon-alt .jp-icon3[stroke] {\n stroke: var(--jp-layout-color3);\n}\n\n.jp-icon-alt .jp-icon4[stroke] {\n stroke: var(--jp-layout-color4);\n}\n\n/* alt recolor the accent elements of an icon */\n.jp-icon-alt .jp-icon-accent0[fill] {\n fill: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon-alt .jp-icon-accent1[fill] {\n fill: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon-alt .jp-icon-accent2[fill] {\n fill: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon-alt .jp-icon-accent3[fill] {\n fill: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon-alt .jp-icon-accent4[fill] {\n fill: var(--jp-inverse-layout-color4);\n}\n\n.jp-icon-alt .jp-icon-accent0[stroke] {\n stroke: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon-alt .jp-icon-accent1[stroke] {\n stroke: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon-alt .jp-icon-accent2[stroke] {\n stroke: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon-alt .jp-icon-accent3[stroke] {\n stroke: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon-alt .jp-icon-accent4[stroke] {\n stroke: var(--jp-inverse-layout-color4);\n}\n",""]);const l=a},83746:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-icon-hoverShow:not(:hover) .jp-icon-hoverShow-content {\n display: none !important;\n}\n\n/**\n * Support for hover colors for icons as inline SVG HTMLElements\n */\n\n/**\n * regular colors\n */\n\n/* recolor the primary elements of an icon */\n.jp-icon-hover :hover .jp-icon0-hover[fill] {\n fill: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon-hover :hover .jp-icon1-hover[fill] {\n fill: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon-hover :hover .jp-icon2-hover[fill] {\n fill: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon-hover :hover .jp-icon3-hover[fill] {\n fill: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon-hover :hover .jp-icon4-hover[fill] {\n fill: var(--jp-inverse-layout-color4);\n}\n\n.jp-icon-hover :hover .jp-icon0-hover[stroke] {\n stroke: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon-hover :hover .jp-icon1-hover[stroke] {\n stroke: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon-hover :hover .jp-icon2-hover[stroke] {\n stroke: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon-hover :hover .jp-icon3-hover[stroke] {\n stroke: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon-hover :hover .jp-icon4-hover[stroke] {\n stroke: var(--jp-inverse-layout-color4);\n}\n\n/* recolor the accent elements of an icon */\n.jp-icon-hover :hover .jp-icon-accent0-hover[fill] {\n fill: var(--jp-layout-color0);\n}\n\n.jp-icon-hover :hover .jp-icon-accent1-hover[fill] {\n fill: var(--jp-layout-color1);\n}\n\n.jp-icon-hover :hover .jp-icon-accent2-hover[fill] {\n fill: var(--jp-layout-color2);\n}\n\n.jp-icon-hover :hover .jp-icon-accent3-hover[fill] {\n fill: var(--jp-layout-color3);\n}\n\n.jp-icon-hover :hover .jp-icon-accent4-hover[fill] {\n fill: var(--jp-layout-color4);\n}\n\n.jp-icon-hover :hover .jp-icon-accent0-hover[stroke] {\n stroke: var(--jp-layout-color0);\n}\n\n.jp-icon-hover :hover .jp-icon-accent1-hover[stroke] {\n stroke: var(--jp-layout-color1);\n}\n\n.jp-icon-hover :hover .jp-icon-accent2-hover[stroke] {\n stroke: var(--jp-layout-color2);\n}\n\n.jp-icon-hover :hover .jp-icon-accent3-hover[stroke] {\n stroke: var(--jp-layout-color3);\n}\n\n.jp-icon-hover :hover .jp-icon-accent4-hover[stroke] {\n stroke: var(--jp-layout-color4);\n}\n\n/* set the color of an icon to transparent */\n.jp-icon-hover :hover .jp-icon-none-hover[fill] {\n fill: none;\n}\n\n.jp-icon-hover :hover .jp-icon-none-hover[stroke] {\n stroke: none;\n}\n\n/**\n * inverse colors\n */\n\n/* inverse recolor the primary elements of an icon */\n.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] {\n fill: var(--jp-layout-color0);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] {\n fill: var(--jp-layout-color1);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] {\n fill: var(--jp-layout-color2);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] {\n fill: var(--jp-layout-color3);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] {\n fill: var(--jp-layout-color4);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] {\n stroke: var(--jp-layout-color0);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] {\n stroke: var(--jp-layout-color1);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] {\n stroke: var(--jp-layout-color2);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] {\n stroke: var(--jp-layout-color3);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] {\n stroke: var(--jp-layout-color4);\n}\n\n/* inverse recolor the accent elements of an icon */\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] {\n fill: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] {\n fill: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] {\n fill: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] {\n fill: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] {\n fill: var(--jp-inverse-layout-color4);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] {\n stroke: var(--jp-inverse-layout-color0);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] {\n stroke: var(--jp-inverse-layout-color1);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] {\n stroke: var(--jp-inverse-layout-color2);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] {\n stroke: var(--jp-inverse-layout-color3);\n}\n\n.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] {\n stroke: var(--jp-inverse-layout-color4);\n}\n",""]);const l=a},974:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-IFrame {\n width: 100%;\n height: 100%;\n}\n\n.jp-IFrame > iframe {\n border: none;\n}\n\n/*\nWhen drag events occur, `lm-mod-override-cursor` is added to the body.\nBecause iframes steal all cursor events, the following two rules are necessary\nto suppress pointer events while resize drags are occurring. There may be a\nbetter solution to this problem.\n*/\nbody.lm-mod-override-cursor .jp-IFrame {\n position: relative;\n}\n\nbody.lm-mod-override-cursor .jp-IFrame::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: transparent;\n}\n",""]);const l=a},46144:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-FormGroup-content fieldset {\n border: none;\n padding: 0;\n min-width: 0;\n width: 100%;\n}\n\n/* stylelint-disable selector-max-type */\n\n.jp-FormGroup-content fieldset .jp-inputFieldWrapper > input,\n.jp-FormGroup-content fieldset .jp-inputFieldWrapper > select,\n.jp-FormGroup-content fieldset .jp-inputFieldWrapper > textarea {\n font-size: var(--jp-content-font-size2);\n border-color: var(--jp-input-border-color);\n border-style: solid;\n border-radius: var(--jp-border-radius);\n border-width: 1px;\n padding: 6px 8px;\n background: none;\n color: var(--jp-ui-font-color0);\n height: inherit;\n}\n\n.jp-FormGroup-content .jp-inputFieldWrapper > select > option {\n background-color: var(--jp-layout-color1);\n}\n\n.jp-FormGroup-content fieldset input[type='checkbox'] {\n position: relative;\n top: 2px;\n margin-left: 0;\n}\n\n.jp-FormGroup-content button.jp-mod-styled {\n cursor: pointer;\n}\n\n.jp-FormGroup-content .checkbox label {\n cursor: pointer;\n font-size: var(--jp-content-font-size1);\n}\n\n.jp-FormGroup-content .jp-root > fieldset > legend {\n display: none;\n}\n\n.jp-FormGroup-content .jp-root > fieldset > p {\n display: none;\n}\n\n/** copy of `input.jp-mod-styled:focus` style */\n.jp-FormGroup-content fieldset input:focus,\n.jp-FormGroup-content fieldset select:focus {\n -moz-outline-radius: unset;\n outline: var(--jp-border-width) solid var(--jp-input-active-border-color);\n outline-offset: -1px;\n box-shadow: var(--jp-input-box-shadow);\n}\n\n.jp-FormGroup-content fieldset input:hover:not(:focus),\n.jp-FormGroup-content fieldset select:hover:not(:focus) {\n background-color: var(--jp-border-color2);\n}\n\n/* stylelint-enable selector-max-type */\n\n.jp-FormGroup-content .checkbox .field-description {\n /* Disable default description field for checkbox:\n because other widgets do not have description fields,\n we add descriptions to each widget on the field level.\n */\n display: none;\n}\n\n.jp-FormGroup-content #root__description {\n display: none;\n}\n\n.jp-FormGroup-content .jp-modifiedIndicator {\n width: 5px;\n background-color: var(--jp-brand-color2);\n margin-top: 0;\n margin-left: calc(var(--jp-private-settingeditor-modifier-indent) * -1);\n flex-shrink: 0;\n}\n\n.jp-FormGroup-content .jp-modifiedIndicator.jp-errorIndicator {\n background-color: var(--jp-error-color0);\n margin-right: 0.5em;\n}\n\n/* RJSF ARRAY style */\n\n.jp-arrayFieldWrapper legend {\n font-size: var(--jp-content-font-size2);\n color: var(--jp-ui-font-color0);\n flex-basis: 100%;\n padding: 4px 0;\n font-weight: var(--jp-content-heading-font-weight);\n border-bottom: 1px solid var(--jp-border-color2);\n}\n\n.jp-arrayFieldWrapper .field-description {\n padding: 4px 0;\n white-space: pre-wrap;\n}\n\n.jp-arrayFieldWrapper .array-item {\n width: 100%;\n border: 1px solid var(--jp-border-color2);\n border-radius: 4px;\n margin: 4px;\n}\n\n.jp-ArrayOperations {\n display: flex;\n margin-left: 8px;\n}\n\n.jp-ArrayOperationsButton {\n margin: 2px;\n}\n\n.jp-ArrayOperationsButton .jp-icon3[fill] {\n fill: var(--jp-ui-font-color0);\n}\n\nbutton.jp-ArrayOperationsButton.jp-mod-styled:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/* RJSF form validation error */\n\n.jp-FormGroup-content .validationErrors {\n color: var(--jp-error-color0);\n}\n\n/* Hide panel level error as duplicated the field level error */\n.jp-FormGroup-content .panel.errors {\n display: none;\n}\n\n/* RJSF normal content (settings-editor) */\n\n.jp-FormGroup-contentNormal {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.jp-FormGroup-contentNormal .jp-FormGroup-contentItem {\n margin-left: 7px;\n color: var(--jp-ui-font-color0);\n}\n\n.jp-FormGroup-contentNormal .jp-FormGroup-description {\n flex-basis: 100%;\n padding: 4px 7px;\n white-space: pre-wrap;\n}\n\n.jp-FormGroup-contentNormal .jp-FormGroup-default {\n flex-basis: 100%;\n padding: 4px 7px;\n}\n\n.jp-FormGroup-contentNormal .jp-FormGroup-fieldLabel {\n font-size: var(--jp-content-font-size1);\n font-weight: normal;\n min-width: 120px;\n}\n\n.jp-FormGroup-contentNormal fieldset:not(:first-child) {\n margin-left: 7px;\n}\n\n.jp-FormGroup-contentNormal .field-array-of-string .array-item {\n /* Display `jp-ArrayOperations` buttons side-by-side with content except\n for small screens where flex-wrap will place them one below the other.\n */\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.jp-FormGroup-contentNormal .jp-objectFieldWrapper .form-group {\n padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);\n margin-top: 2px;\n}\n\n/* RJSF compact content (metadata-form) */\n\n.jp-FormGroup-content.jp-FormGroup-contentCompact {\n width: 100%;\n}\n\n.jp-FormGroup-contentCompact .form-group {\n display: flex;\n padding: 0.5em 0.2em 0.5em 0;\n}\n\n.jp-FormGroup-contentCompact\n .jp-FormGroup-compactTitle\n .jp-FormGroup-description {\n font-size: var(--jp-ui-font-size1);\n color: var(--jp-ui-font-color2);\n}\n\n.jp-FormGroup-contentCompact .jp-FormGroup-fieldLabel {\n padding-bottom: 0.3em;\n}\n\n.jp-FormGroup-contentCompact .jp-inputFieldWrapper .form-control {\n width: 100%;\n box-sizing: border-box;\n}\n\n.jp-FormGroup-contentCompact .jp-arrayFieldWrapper .jp-FormGroup-compactTitle {\n padding-bottom: 7px;\n}\n\n.jp-FormGroup-contentCompact\n .jp-objectFieldWrapper\n .jp-objectFieldWrapper\n .form-group {\n padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);\n margin-top: 2px;\n}\n\n.jp-FormGroup-contentCompact ul.error-detail {\n margin-block-start: 0.5em;\n margin-block-end: 0.5em;\n padding-inline-start: 1em;\n}\n",""]);const l=a},71209:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-SidePanel {\n display: flex;\n flex-direction: column;\n min-width: var(--jp-sidebar-min-width);\n color: var(--jp-ui-font-color1);\n background: var(--jp-layout-color1);\n font-size: var(--jp-ui-font-size1);\n}\n\n.jp-SidePanel-header {\n flex: 0 0 auto;\n display: flex;\n border-bottom: var(--jp-border-width) solid var(--jp-border-color2);\n font-size: var(--jp-ui-font-size0);\n font-weight: 600;\n letter-spacing: 1px;\n margin: 0;\n padding: 2px;\n text-transform: uppercase;\n}\n\n.jp-SidePanel-toolbar {\n flex: 0 0 auto;\n}\n\n.jp-SidePanel-content {\n flex: 1 1 auto;\n}\n\n.jp-SidePanel-toolbar,\n.jp-AccordionPanel-toolbar {\n height: var(--jp-private-toolbar-height);\n}\n\n.jp-SidePanel-toolbar.jp-Toolbar-micro {\n display: none;\n}\n\n.lm-AccordionPanel .jp-AccordionPanel-title {\n box-sizing: border-box;\n line-height: 25px;\n margin: 0;\n\n /* padding to allow for focus outline */\n padding: 2px;\n display: flex;\n align-items: center;\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);\n box-shadow: var(--jp-toolbar-box-shadow);\n font-size: var(--jp-ui-font-size0);\n}\n\n.lm-AccordionPanel .jp-AccordionPanel-title:focus-visible {\n /* --accent-fill-focus is computed by the jp toolkit to ensure accessibility */\n outline: 2px solid var(--accent-fill-focus, var(--jp-brand-color1));\n outline-offset: -2px;\n}\n\n.jp-AccordionPanel-title {\n cursor: pointer;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n text-transform: uppercase;\n}\n\n.lm-AccordionPanel[data-orientation='horizontal'] > .jp-AccordionPanel-title {\n /* Title is rotated for horizontal accordion panel using CSS */\n display: block;\n transform-origin: top left;\n transform: rotate(-90deg) translate(-100%);\n}\n\n.jp-AccordionPanel-title .lm-AccordionPanel-titleLabel {\n user-select: none;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.jp-AccordionPanel-title .lm-AccordionPanel-titleCollapser {\n transform: rotate(-90deg);\n margin: auto 0;\n height: 16px;\n}\n\n.jp-AccordionPanel-title.lm-mod-expanded .lm-AccordionPanel-titleCollapser {\n transform: rotate(0deg);\n}\n\n.lm-AccordionPanel .jp-AccordionPanel-toolbar {\n background: none;\n box-shadow: none;\n border: none;\n margin-left: auto;\n}\n\n.lm-AccordionPanel .lm-SplitPanel-handle:hover {\n background: var(--jp-layout-color3);\n}\n\n.jp-text-truncated {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n",""]);const l=a},36607:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-Spinner {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background: var(--jp-layout-color0);\n outline: none;\n}\n\n.jp-SpinnerContent {\n font-size: 10px;\n margin: 50px auto;\n text-indent: -9999em;\n width: 3em;\n height: 3em;\n border-radius: 50%;\n background: var(--jp-brand-color3);\n background: linear-gradient(\n to right,\n #f37626 10%,\n rgba(255, 255, 255, 0) 42%\n );\n position: relative;\n animation:\n load3 1s infinite linear,\n fadeIn 1s;\n}\n\n.jp-SpinnerContent::before {\n width: 50%;\n height: 50%;\n background: #f37626;\n border-radius: 100% 0 0;\n position: absolute;\n top: 0;\n left: 0;\n content: '';\n}\n\n.jp-SpinnerContent::after {\n background: var(--jp-layout-color0);\n width: 75%;\n height: 75%;\n border-radius: 50%;\n content: '';\n margin: auto;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes load3 {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n",""]);const l=a},66454:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\nbutton.jp-mod-styled {\n font-size: var(--jp-ui-font-size1);\n color: var(--jp-ui-font-color0);\n border: none;\n box-sizing: border-box;\n text-align: center;\n line-height: 32px;\n height: 32px;\n padding: 0 12px;\n letter-spacing: 0.8px;\n outline: none;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\ninput.jp-mod-styled {\n background: var(--jp-input-background);\n height: 28px;\n box-sizing: border-box;\n border: var(--jp-border-width) solid var(--jp-border-color1);\n border-radius: var(--jp-border-radius);\n padding-left: 7px;\n padding-right: 7px;\n font-size: var(--jp-ui-font-size2);\n color: var(--jp-ui-font-color0);\n outline: none;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\ninput[type='checkbox'].jp-mod-styled {\n appearance: checkbox;\n -webkit-appearance: checkbox;\n -moz-appearance: checkbox;\n height: auto;\n}\n\ninput.jp-mod-styled:focus {\n border: var(--jp-border-width) solid var(--jp-input-active-border-color);\n box-shadow: var(--jp-input-box-shadow);\n}\n\ninput[type='checkbox'].jp-mod-styled:focus-visible {\n outline: var(--jp-border-width) solid var(--jp-input-active-border-color);\n outline-offset: 1px;\n}\n\n.jp-select-wrapper {\n display: flex;\n position: relative;\n flex-direction: column;\n padding: 1px;\n background-color: var(--jp-layout-color1);\n box-sizing: border-box;\n margin-bottom: 12px;\n}\n\n.jp-select-wrapper:not(.multiple) {\n height: 28px;\n}\n\n.jp-select-wrapper.jp-mod-focused select.jp-mod-styled {\n border: var(--jp-border-width) solid var(--jp-input-active-border-color);\n box-shadow: var(--jp-input-box-shadow);\n background-color: var(--jp-input-active-background);\n}\n\nselect.jp-mod-styled:hover {\n cursor: pointer;\n color: var(--jp-ui-font-color0);\n background-color: var(--jp-input-hover-background);\n box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);\n}\n\nselect.jp-mod-styled {\n flex: 1 1 auto;\n width: 100%;\n font-size: var(--jp-ui-font-size2);\n background: var(--jp-input-background);\n color: var(--jp-ui-font-color0);\n padding: 0 25px 0 8px;\n border: var(--jp-border-width) solid var(--jp-input-border-color);\n border-radius: var(--jp-border-radius);\n outline: none;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\nselect.jp-mod-styled:not([multiple]) {\n height: 32px;\n}\n\nselect.jp-mod-styled[multiple] {\n max-height: 200px;\n overflow-y: auto;\n}\n",""]);const l=a},74250:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-switch {\n display: flex;\n align-items: center;\n padding-left: 4px;\n padding-right: 4px;\n font-size: var(--jp-ui-font-size1);\n background-color: transparent;\n color: var(--jp-ui-font-color1);\n border: none;\n height: 20px;\n}\n\n.jp-switch:hover {\n background-color: var(--jp-layout-color2);\n}\n\n.jp-switch-label {\n margin-right: 5px;\n font-family: var(--jp-ui-font-family);\n}\n\n.jp-switch-track {\n cursor: pointer;\n background-color: var(--jp-switch-color, var(--jp-border-color1));\n -webkit-transition: 0.4s;\n transition: 0.4s;\n border-radius: 34px;\n height: 16px;\n width: 35px;\n position: relative;\n}\n\n.jp-switch-track::before {\n content: '';\n position: absolute;\n height: 10px;\n width: 10px;\n margin: 3px;\n left: 0;\n background-color: var(--jp-ui-inverse-font-color1);\n -webkit-transition: 0.4s;\n transition: 0.4s;\n border-radius: 50%;\n}\n\n.jp-switch[aria-checked='true'] .jp-switch-track {\n background-color: var(--jp-switch-true-position-color, var(--jp-warn-color0));\n}\n\n.jp-switch[aria-checked='true'] .jp-switch-track::before {\n /* track width (35) - margins (3 + 3) - thumb width (10) */\n left: 19px;\n}\n",""]);const l=a},82362:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.lm-TabBar .lm-TabBar-addButton {\n align-items: center;\n display: flex;\n padding: 4px;\n padding-bottom: 5px;\n margin-right: 1px;\n background-color: var(--jp-layout-color2);\n}\n\n.lm-TabBar .lm-TabBar-addButton:hover {\n background-color: var(--jp-layout-color1);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-tab {\n width: var(--jp-private-horizontal-tab-width);\n}\n\n.lm-DockPanel-tabBar .lm-TabBar-content {\n flex: unset;\n}\n\n.lm-DockPanel-tabBar[data-orientation='horizontal'] {\n flex: 1 1 auto;\n}\n",""]);const l=a},27400:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-sortable-table {\n color: var(--jp-ui-font-color1);\n background: var(--jp-layout-color1);\n font-size: var(--jp-ui-font-size1);\n border-spacing: 0;\n\n /* required to preserve borders of `<th>` when using position:sticky */\n border-collapse: separate;\n width: 100%;\n overflow-wrap: break-word;\n}\n\n.jp-sortable-table > thead {\n box-shadow: var(--jp-toolbar-box-shadow);\n\n /* move to a new stacking context to exclude from `mix-blend-mode` */\n z-index: 1;\n}\n\n.jp-sortable-table > tbody {\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.jp-sortable-table-tr > th,\n.jp-sortable-table-tr > td {\n position: relative;\n padding: 4px 12px 2px;\n height: 18px;\n}\n\n.jp-sortable-table-tr > td::before,\n.jp-sortable-table-tr > th::before {\n border-left: var(--jp-border-width) solid var(--jp-border-color3);\n\n /* border is implemented via pseudo-element to enable selective blending */\n content: '';\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n\n /* this serves to boost border color when background changes on hover */\n mix-blend-mode: multiply;\n}\n\n.jp-sortable-table-tr > th {\n font-weight: 500;\n text-align: left;\n border-width: var(--jp-border-width) 0;\n margin-top: calc(var(--jp-border-width) * -1);\n border-style: solid;\n border-color: var(--jp-border-color1);\n background: var(--jp-layout-color1);\n position: sticky;\n top: 0;\n z-index: 2;\n white-space: nowrap;\n user-select: none;\n}\n\n.jp-sortable-table-tr > th:not(:first-child) {\n border-left-color: var(--jp-border-color2);\n}\n\n.jp-sortable-table-tr > th:hover {\n background: var(--jp-layout-color2);\n}\n\n.jp-sortable-table-tr:hover {\n background: var(--jp-layout-color2);\n}\n\n.jp-sortable-table-th-wrapper {\n flex-direction: row;\n display: flex;\n}\n\n.jp-sortable-table-th-wrapper > label {\n flex: 1;\n text-overflow: ellipsis;\n}\n\n.jp-sort-icon {\n flex: 0;\n height: var(--jp-ui-font-size1);\n width: var(--jp-ui-font-size1);\n}\n\n.jp-sort-icon > svg {\n display: inline;\n height: auto;\n}\n\n.jp-sortable-table-tr > th:not(.jp-sorted-header) .jp-sort-icon {\n opacity: 0;\n}\n\n.jp-sortable-table-tr > th:not(.jp-sorted-header):hover .jp-sort-icon {\n opacity: 0.5;\n}\n",""]);const l=a},67325:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-private-toolbar-height: calc(\n 31px + var(--jp-border-width)\n ); /* leave 28px for content */\n}\n\n.jp-MainAreaWidget > .jp-Toolbar {\n border-radius: 0;\n}\n\n.jp-Toolbar {\n /* Increase density for toolbar */\n --design-unit: 3.5;\n --toolbar-item-gap: 0;\n\n color: var(--jp-ui-font-color1);\n border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);\n box-shadow: var(--jp-toolbar-box-shadow);\n background: var(--jp-toolbar-background);\n min-height: var(--jp-toolbar-micro-height);\n padding: 0 2px;\n z-index: 8;\n}\n\n/* Toolbar items */\n\n.jp-Toolbar > .jp-Toolbar-item {\n /* Center the items in toolbar */\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.jp-Toolbar::part(positioning-region) {\n align-items: center;\n}\n\n.jp-ToolbarLabelComponent {\n background: var(--jp-layout-color1);\n background-color: var(--jp-brand-color1);\n color: var(--jp-ui-inverse-font-color1);\n border: none;\n box-sizing: border-box;\n outline: none;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n padding: 0 6px;\n margin: 0;\n height: 24px;\n border-radius: var(--jp-border-radius);\n display: flex;\n align-items: center;\n text-align: center;\n font-size: var(--jp-ui-font-size0);\n min-width: unset;\n min-height: unset;\n user-select: none;\n}\n\nbutton.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label {\n font-size: var(--jp-ui-font-size1);\n line-height: 100%;\n padding-left: 2px;\n color: var(--jp-ui-font-color1);\n font-family: var(--jp-ui-font-family);\n}\n\n.jp-Toolbar .jp-ToolbarButtonComponent {\n color: var(--jp-ui-font-color1);\n}\n\n.jp-ToolbarButtonComponent::part(content) {\n display: flex;\n align-items: center;\n}\n\n.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer {\n flex-grow: 1;\n flex-shrink: 1;\n}\n\n.jp-Toolbar-responsive-popup.jp-ThemedContainer {\n position: absolute;\n height: fit-content;\n border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);\n box-shadow: var(--jp-toolbar-box-shadow);\n background: var(--jp-toolbar-background);\n z-index: 1;\n right: 0;\n top: 0;\n}\n\n#jp-main-dock-panel[data-mode='single-document']\n .jp-MainAreaWidget\n > .jp-Toolbar.jp-Toolbar-micro {\n padding: 0;\n min-height: 0;\n}\n\n#jp-main-dock-panel[data-mode='single-document']\n .jp-MainAreaWidget\n > .jp-Toolbar {\n border: none;\n box-shadow: none;\n}\n\n/* @deprecated dead code to be removed in JupyterLab 5\n Button in toolbar should use the ui-toolkit\n https://github.com/jupyterlab-contrib/jupyter-ui-toolkit.\n*/\nbutton.jp-ToolbarButtonComponent {\n background: var(--jp-layout-color1);\n border: none;\n box-sizing: border-box;\n outline: none;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n padding: 0 6px;\n margin: 0;\n height: 24px;\n border-radius: var(--jp-border-radius);\n display: flex;\n align-items: center;\n text-align: center;\n font-size: var(--jp-ui-font-size0);\n min-width: unset;\n min-height: unset;\n}\n\nbutton.jp-ToolbarButtonComponent:disabled {\n opacity: 0.4;\n}\n\nbutton.jp-ToolbarButtonComponent > span {\n padding: 0;\n flex: 0 0 auto;\n}\n",""]);const l=a},80278:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-ThemedContainer {\n /* Decrease default density for Jupyter toolkit components */\n --density: -4;\n}\n\n/* Styles for tree view */\n.jp-TreeView {\n min-width: auto;\n}\n\n.jp-TreeView.jp-mod-flat > .jp-TreeItem::part(content-region) {\n margin-inline-start: calc(var(--design-unit) * 2px);\n}\n\n/* Styles for tree item */\n.jp-TreeItem::part(expand-collapse-button) {\n color: var(--jp-inverse-layout-color3);\n}\n\n/* Tune hover for stealth buttons otherwise they won't stand out */\n.jp-TreeItem jp-button[appearance='stealth']:hover {\n background: var(--tree-item-expand-collapse-hover);\n}\n\n.jp-TreeItem[selected] jp-button[appearance='stealth']:hover {\n background: var(--tree-item-expand-collapse-selected-hover);\n}\n",""]);const l=a},45057:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-WindowedPanel-outer {\n height: 100%;\n position: relative;\n overflow: auto;\n overflow-anchor: none;\n}\n\n.jp-WindowedPanel-inner {\n position: relative;\n}\n\n.jp-WindowedPanel-viewport {\n position: absolute;\n left: 0;\n right: 0;\n overflow: visible;\n}\n\n.jp-WindowedPanel-scrollbar {\n display: none;\n position: relative;\n user-select: none;\n}\n\n.jp-WindowedPanel.jp-mod-virtual-scrollbar > .jp-WindowedPanel-scrollbar {\n background-color: inherit;\n border-left: 1px solid var(--jp-layout-color3);\n display: block;\n position: fixed;\n overflow-y: auto;\n overflow-x: hidden;\n top: 0;\n bottom: 0;\n right: 0;\n min-width: 35px;\n z-index: 1;\n}\n\n.jp-WindowedPanel-scrollbar-content {\n background-color: transparent;\n list-style-type: none;\n margin: 0;\n padding: 0;\n position: relative;\n z-index: 3;\n}\n\n.jp-WindowedPanel-scrollbar-content > .jp-WindowedPanel-scrollbar-item {\n border-bottom: 1px solid var(--jp-layout-color3);\n background-color: rgb(from var(--jp-layout-color1) r g b / 50%);\n padding: 2px;\n text-align: left;\n margin: 0 2px;\n}\n\n.jp-WindowedPanel-scrollbar-content > .jp-WindowedPanel-scrollbar-item:hover {\n cursor: pointer;\n background-color: var(--jp-layout-color3);\n}\n\n.jp-WindowedPanel-scrollbar-viewportIndicator {\n position: absolute;\n background: var(--jp-layout-color2);\n border: 1px solid var(--jp-layout-color4);\n width: 100%;\n z-index: 2;\n border-radius: 2px;\n box-sizing: border-box;\n}\n",""]);const l=a},45512:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-RenderedVegaCommon5 {\n margin-left: 8px;\n margin-top: 8px;\n}\n\n.jp-MimeDocument .jp-RenderedVegaCommon5 {\n padding: 16px;\n}\n\n.vega canvas {\n background: var(--jp-vega-background);\n}\n",""]);const l=a},45531:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/**\n * Base styles for video viewer\n */\n\n.jp-RenderedVideo {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n}\n\n.jp-RenderedVideo > video {\n width: 100%;\n height: auto;\n object-fit: contain;\n}\n",""]);const l=a},52680:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(42744);var l=r()(s());l.i(a.A);l.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n",""]);const d=l},42744:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-WorkspaceSelector {\n position: relative;\n width: 150px;\n margin-right: 20px;\n font-family: var(--jp-ui-font-family);\n font-size: var(--jp-ui-font-size1);\n}\n\n.jp-WorkspaceSelector-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n padding: 4px 8px;\n background: var(--jp-layout-color1);\n border: 1px solid var(--jp-border-color1);\n border-radius: 3px;\n cursor: pointer;\n color: var(--jp-ui-font-color1);\n}\n\n.jp-WorkspaceSelector-header:hover {\n background: var(--jp-layout-color2);\n}\n\n.jp-WorkspaceSelector-dropdown {\n position: absolute;\n padding: 2px 4px;\n top: 100%;\n left: 0;\n right: 0;\n margin-top: 4px;\n background: var(--jp-layout-color1);\n border: 1px solid var(--jp-border-color1);\n border-radius: 3px;\n box-shadow: var(--jp-elevation-z4);\n z-index: 1000;\n}\n\n.jp-WorkspaceSelector-search {\n display: flex;\n padding: 2px 4px;\n background: var(--jp-layout-color2);\n}\n\n.jp-WorkspaceSelector-input {\n flex: 1;\n width: 110px;\n margin-left: 2px;\n border: none;\n outline: none;\n background: transparent;\n color: var(--jp-ui-font-color1);\n}\n\n.jp-WorkspaceSelector-list {\n list-style: none;\n margin: 0;\n padding: 0;\n max-height: 600px;\n overflow-y: auto;\n}\n\n.jp-WorkspaceSelector-item {\n display: grid;\n align-items: center;\n grid-template-columns: 1fr 5fr;\n cursor: pointer;\n color: var(--jp-ui-font-color1);\n}\n\n.jp-WorkspaceSelector-item:hover {\n background: var(--jp-layout-color2);\n}\n\n.jp-WorkspaceSelector-searchIcon {\n display: flex;\n align-items: center;\n color: var(--jp-ui-font-color2);\n}\n\n.jp-WorkspaceSelector-caret {\n font-size: 0.8em;\n margin-left: 8px;\n}\n",""]);const l=a},91266:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-cursor-backdrop {\n top: 0px;\n left: 0px;\n position: fixed;\n width: 200px;\n height: 200px;\n margin-top: -100px;\n margin-left: -100px;\n will-change: transform;\n z-index: 100;\n scrollbar-width: none;\n -ms-overflow-style: none;\n overflow: scroll;\n}\n\n.lm-cursor-backdrop::after {\n content: '';\n height: 1200px;\n width: 1200px;\n display: block;\n}\n\n.lm-cursor-backdrop::-webkit-scrollbar {\n display: none;\n}\n\n.lm-mod-drag-image {\n top: 0px;\n left: 0px;\n will-change: transform;\n}\n",""]);const l=a},30588:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title {\n /* Title is rotated for horizontal accordion panel using CSS */\n display: block;\n transform-origin: top left;\n transform: rotate(-90deg) translate(-100%);\n}\n",""]);const l=a},55864:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-CommandPalette {\n display: flex;\n flex-direction: column;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.lm-CommandPalette-search {\n flex: 0 0 auto;\n}\n\n.lm-CommandPalette-content {\n flex: 1 1 auto;\n margin: 0;\n padding: 0;\n min-height: 0;\n overflow: auto;\n list-style-type: none;\n}\n\n.lm-CommandPalette-header {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.lm-CommandPalette-item {\n display: flex;\n flex-direction: row;\n}\n\n.lm-CommandPalette-itemIcon {\n flex: 0 0 auto;\n}\n\n.lm-CommandPalette-itemContent {\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.lm-CommandPalette-itemShortcut {\n flex: 0 0 auto;\n}\n\n.lm-CommandPalette-itemLabel {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.lm-close-icon {\n border: 1px solid transparent;\n background-color: transparent;\n position: absolute;\n z-index: 1;\n right: 3%;\n top: 0;\n bottom: 0;\n margin: auto;\n padding: 7px 0;\n display: none;\n vertical-align: middle;\n outline: 0;\n cursor: pointer;\n}\n.lm-close-icon:after {\n content: 'X';\n display: block;\n width: 15px;\n height: 15px;\n text-align: center;\n color: #000;\n font-weight: normal;\n font-size: 12px;\n cursor: pointer;\n}\n",""]);const l=a},54063:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-DockPanel {\n z-index: 0;\n}\n\n.lm-DockPanel-widget {\n z-index: 0;\n}\n\n.lm-DockPanel-tabBar {\n z-index: 1;\n}\n\n.lm-DockPanel-handle {\n z-index: 2;\n}\n\n.lm-DockPanel-handle.lm-mod-hidden {\n display: none !important;\n}\n\n.lm-DockPanel-handle:after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: '';\n}\n\n.lm-DockPanel-handle[data-orientation='horizontal'] {\n cursor: ew-resize;\n}\n\n.lm-DockPanel-handle[data-orientation='vertical'] {\n cursor: ns-resize;\n}\n\n.lm-DockPanel-handle[data-orientation='horizontal']:after {\n left: 50%;\n min-width: 8px;\n transform: translateX(-50%);\n}\n\n.lm-DockPanel-handle[data-orientation='vertical']:after {\n top: 50%;\n min-height: 8px;\n transform: translateY(-50%);\n}\n\n.lm-DockPanel-overlay {\n z-index: 3;\n box-sizing: border-box;\n pointer-events: none;\n}\n\n.lm-DockPanel-overlay.lm-mod-hidden {\n display: none !important;\n}\n",""]);const l=a},43210:(e,t,n)=>{"use strict";n.d(t,{A:()=>_});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=n(68728);var l=n(30588);var d=n(55864);var c=n(54063);var h=n(38117);var u=n(70578);var p=n(76884);var m=n(69106);var g=n(49068);var f=n(33285);var v=r()(s());v.i(a.A);v.i(l.A);v.i(d.A);v.i(c.A);v.i(h.A);v.i(u.A);v.i(p.A);v.i(m.A);v.i(g.A);v.i(f.A);v.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n",""]);const _=v},38117:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-Menu {\n z-index: 10000;\n position: absolute;\n white-space: nowrap;\n overflow-x: hidden;\n overflow-y: auto;\n outline: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.lm-Menu-content {\n margin: 0;\n padding: 0;\n display: table;\n list-style-type: none;\n}\n\n.lm-Menu-item {\n display: table-row;\n}\n\n.lm-Menu-item.lm-mod-hidden,\n.lm-Menu-item.lm-mod-collapsed {\n display: none !important;\n}\n\n.lm-Menu-itemIcon,\n.lm-Menu-itemSubmenuIcon {\n display: table-cell;\n text-align: center;\n}\n\n.lm-Menu-itemLabel {\n display: table-cell;\n text-align: left;\n}\n\n.lm-Menu-itemShortcut {\n display: table-cell;\n text-align: right;\n}\n",""]);const l=a},70578:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-MenuBar {\n outline: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.lm-MenuBar-content {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: row;\n list-style-type: none;\n}\n\n.lm-MenuBar-item {\n box-sizing: border-box;\n}\n\n.lm-MenuBar-itemIcon,\n.lm-MenuBar-itemLabel {\n display: inline-block;\n}\n",""]);const l=a},76884:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-ScrollBar {\n display: flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.lm-ScrollBar[data-orientation='horizontal'] {\n flex-direction: row;\n}\n\n.lm-ScrollBar[data-orientation='vertical'] {\n flex-direction: column;\n}\n\n.lm-ScrollBar-button {\n box-sizing: border-box;\n flex: 0 0 auto;\n}\n\n.lm-ScrollBar-track {\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n flex: 1 1 auto;\n}\n\n.lm-ScrollBar-thumb {\n box-sizing: border-box;\n position: absolute;\n}\n",""]);const l=a},69106:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-SplitPanel-child {\n z-index: 0;\n}\n\n.lm-SplitPanel-handle {\n z-index: 1;\n}\n\n.lm-SplitPanel-handle.lm-mod-hidden {\n display: none !important;\n}\n\n.lm-SplitPanel-handle:after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: '';\n}\n\n.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {\n cursor: ew-resize;\n}\n\n.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {\n cursor: ns-resize;\n}\n\n.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {\n left: 50%;\n min-width: 8px;\n transform: translateX(-50%);\n}\n\n.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {\n top: 50%;\n min-height: 8px;\n transform: translateY(-50%);\n}\n",""]);const l=a},49068:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-TabBar {\n display: flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.lm-TabBar[data-orientation='horizontal'] {\n flex-direction: row;\n align-items: flex-end;\n}\n\n.lm-TabBar[data-orientation='vertical'] {\n flex-direction: column;\n align-items: flex-end;\n}\n\n.lm-TabBar-content {\n margin: 0;\n padding: 0;\n display: flex;\n flex: 1 1 auto;\n list-style-type: none;\n}\n\n.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {\n flex-direction: row;\n}\n\n.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {\n flex-direction: column;\n}\n\n.lm-TabBar-tab {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n overflow: hidden;\n touch-action: none; /* Disable native Drag/Drop */\n}\n\n.lm-TabBar-tabIcon,\n.lm-TabBar-tabCloseIcon {\n flex: 0 0 auto;\n}\n\n.lm-TabBar-tabLabel {\n flex: 1 1 auto;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.lm-TabBar-tabInput {\n user-select: all;\n width: 100%;\n box-sizing: border-box;\n}\n\n.lm-TabBar-tab.lm-mod-hidden {\n display: none !important;\n}\n\n.lm-TabBar-addButton.lm-mod-hidden {\n display: none !important;\n}\n\n.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {\n position: relative;\n}\n\n.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {\n left: 0;\n transition: left 150ms ease;\n}\n\n.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {\n top: 0;\n transition: top 150ms ease;\n}\n\n.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {\n transition: none;\n}\n\n.lm-TabBar-tabLabel .lm-TabBar-tabInput {\n user-select: all;\n width: 100%;\n box-sizing: border-box;\n background: inherit;\n}\n",""]);const l=a},33285:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-TabPanel-tabBar {\n z-index: 1;\n}\n\n.lm-TabPanel-stackedPanel {\n z-index: 0;\n}\n",""]);const l=a},68728:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(31601);var s=n.n(i);var o=n(76314);var r=n.n(o);var a=r()(s());a.push([e.id,"/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-Widget {\n box-sizing: border-box;\n position: relative;\n}\n\n.lm-Widget.lm-mod-hidden {\n display: none !important;\n}\n",""]);const l=a},62287:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 20 20'%3e %3cpath fill='%23616161' d='M9.9 13.6 3.6 7.4l.8-.8 5.5 5.6 5.5-5.5.7.7z' class='jp-icon3' shape-rendering='geometricPrecision'/%3e %3c/svg%3e"},37453:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 18 18'%3e %3cpath fill='%23616161' d='M5.2 5.9 9 9.7l3.8-3.8L14 7.1l-4.9 5-4.9-5z' class='jp-icon3' shape-rendering='geometricPrecision'/%3e %3c/svg%3e"},32225:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 18 18'%3e %3cpath fill='%23616161' d='M5.2 7.5 9 11.2l3.8-3.8H5.2z' class='jp-icon3' shape-rendering='geometricPrecision'/%3e %3c/svg%3e"},50394:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 18 18'%3e %3cpath fill='%23616161' d='M10.8 12.8 7.1 9l3.8-3.8v7.6z' class='jp-icon3' shape-rendering='geometricPrecision'/%3e %3c/svg%3e"},59025:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 18 18'%3e %3cpath fill='%23616161' d='M7.2 5.2 10.9 9l-3.8 3.8V5.2z' class='jp-icon3' shape-rendering='geometricPrecision'/%3e %3c/svg%3e"},84666:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 20 20'%3e %3cpath fill='%23616161' d='M15.4 13.3 9.9 7.7l-5.5 5.5-.8-.7 6.3-6.2 6.2 6.3z' class='jp-icon3' shape-rendering='geometricPrecision'/%3e %3c/svg%3e"},17150:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 18 18'%3e %3cpath fill='%23616161' d='M5.2 10.5 9 6.8l3.8 3.8H5.2z' class='jp-icon3' shape-rendering='geometricPrecision'/%3e %3c/svg%3e"},95558:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e %3cg fill='var(--jp-error-color1%2c %23d32f2f)'%3e %3ccircle cx='10' cy='7' r='6' /%3e %3c/g%3e %3c/svg%3e"},28047:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cg fill='%23616161' class='jp-icon3'%3e %3cpath d='M16.48 17.248A7.5 7.5 0 0 0 6.32 7.706a7 7 0 1 1 10.16 9.542'/%3e %3cpath d='M19.16 14.248A7.5 7.5 0 0 0 9 4.706a7 7 0 1 1 10.16 9.542M16 15a7 7 0 1 1-14 0 7 7 0 0 1 14 0m-4.209-4L13 12.209 10.209 15 13 17.791 11.791 19 9 16.209 6.209 19 5 17.791 7.791 15 5 12.209 6.209 11 9 13.791z'/%3e %3c/g%3e %3c/svg%3e"},14657:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cg fill='%23616161' class='jp-icon3'%3e %3cpath d='m12.039.5-.753 1.506L.5 23.576l23.082-.001zm.001 4.017 8.528 17.05-17.055.001z'/%3e %3cpath d='M11 8h2v10h-2zm0 11h2v2h-2z'/%3e %3c/g%3e %3c/svg%3e"},97623:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M5 2h10l5 5v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6h1v2l4-3-4-3v2H3V4a2 2 0 0 1 2-2m7 16h4v-2h-4zm0-4h6v-2h-6zm0-4h6V8h-6zm-2 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-7-2v2H1v-2z' class='jp-icon3'/%3e %3c/svg%3e"},78587:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M7 6h4v12H7Zm6 0h4v12h-4z' class='jp-icon3'/%3e %3c/svg%3e"},84092:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e %3ccircle cx='10' cy='7' r='6' fill='var(--jp-warn-color1%2c %23f57c00)' /%3e %3ccircle cx='10' cy='7' r='4' stroke='var(--jp-layout-color0%2c white)' stroke-width='1.3' /%3e %3c/svg%3e"},55260:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e %3cpath fill='%23616161' d='M8 9.532h.542l3.905-3.905-1.061-1.06-2.637 2.61V1H7.251v6.177l-2.637-2.61-1.061 1.06 3.905 3.905zm1.956 3.481a2 2 0 1 1-4 0 2 2 0 0 1 4 0' class='jp-icon3'/%3e %3c/svg%3e"},5170:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e %3cpath fill='%23616161' d='M8 1h-.542L3.553 4.905l1.061 1.06 2.637-2.61v6.177h1.498V3.355l2.637 2.61 1.061-1.06L8.542 1zm1.956 12.013a2 2 0 1 1-4 0 2 2 0 0 1 4 0' class='jp-icon3'/%3e %3c/svg%3e"},54096:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e %3cpath fill='%23616161' d='M14.25 5.75v-4h-1.5v2.542c-1.145-1.359-2.911-2.209-4.84-2.209-3.177 0-5.92 2.307-6.16 5.398l-.02.269h1.5l.022-.226c.212-2.195 2.202-3.94 4.656-3.94 1.736 0 3.244.875 4.05 2.166h-2.83v1.5h4.163l.962-.975V5.75zM8 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4' class='jp-icon3'/%3e %3c/svg%3e"},83699:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e %3cpath fill='%23007ACC' fill-rule='evenodd' d='m1.5 4-.5.5v8l.5.5H4v-1H2V5h2V4zm13 9 .5-.5v-8l-.5-.5H12v1h2v7h-2v1zM8.797 5l-4.5 2L4 7.457v2.5l.243.429 2.5 1.5.46.028 4.5-2L12 9.457v-2.5l-.243-.429-2.5-1.5zM5 8.34v1.334l1.5.9V9.24zm2.5.942v1.406L11 9.131V7.726zm2.918-2.391-1.452-.872-3.384 1.504 1.452.871z' clip-rule='evenodd'/%3e %3c/svg%3e"},49464:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M5 2h10l5 5v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6h1v2l4-3-4-3v2H3V4a2 2 0 0 1 2-2m7 16h4v-2h-4zm0-4h6v-2h-6zm0-4h6V8h-6zm-2 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-7-2v2H1v-2z' class='jp-icon3'/%3e %3c/svg%3e"},97473:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cg fill='%23616161' class='jp-icon3'%3e %3ccircle cx='12' cy='19' r='2'/%3e %3cpath d='M10 3h4v12h-4z'/%3e %3c/g%3e %3c/svg%3e"},1328:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath class='jp-icon3 jp-icon-selectable' fill='%23616161' d='M13%2c4V20a1%2c1%2c0%2c0%2c1-2%2c0V4a1%2c1%2c0%2c0%2c1%2c2%2c0ZM8%2c5A1%2c1%2c0%2c0%2c0%2c7%2c6V18a1%2c1%2c0%2c0%2c0%2c2%2c0V6A1%2c1%2c0%2c0%2c0%2c8%2c5ZM4%2c7A1%2c1%2c0%2c0%2c0%2c3%2c8v8a1%2c1%2c0%2c0%2c0%2c2%2c0V8A1%2c1%2c0%2c0%2c0%2c4%2c7ZM16%2c5a1%2c1%2c0%2c0%2c0-1%2c1V18a1%2c1%2c0%2c0%2c0%2c2%2c0V6A1%2c1%2c0%2c0%2c0%2c16%2c5Zm4%2c2a1%2c1%2c0%2c0%2c0-1%2c1v8a1%2c1%2c0%2c0%2c0%2c2%2c0V8A1%2c1%2c0%2c0%2c0%2c20%2c7Z'/%3e %3c/svg%3e"},41533:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 200 200'%3e %3cpath fill='%230288D1' d='M20 19.8h160v159.9H20z' class='jp-console-icon-background-color jp-icon-selectable'/%3e %3cpath fill='white' d='M105 127.3h40v12.8h-40zM51.1 77 74 99.9l-23.3 23.3 10.5 10.5 23.3-23.3L95 99.9 84.5 89.4 61.6 66.5z' class='jp-console-icon-color jp-icon-selectable-inverse'/%3e %3c/svg%3e"},42352:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 22 22'%3e %3cpath fill='%23616161' d='m19.3 8.2-5.5-5.5c-.3-.3-.7-.5-1.2-.5H3.9c-.8.1-1.6.9-1.6 1.8v14.1c0 .9.7 1.6 1.6 1.6h14.2c.9 0 1.6-.7 1.6-1.6V9.4c.1-.5-.1-.9-.4-1.2m-5.8-3.3 3.4 3.6h-3.4zm3.9 12.7H4.7c-.1 0-.2 0-.2-.2V4.7c0-.2.1-.3.2-.3h7.2v4.4s0 .8.3 1.1 1.1.3 1.1.3h4.3v7.2s-.1.2-.2.2' class='jp-icon3 jp-icon-selectable'/%3e %3c/svg%3e"},67931:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='black' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m-2.06 11L15 15.28 12.06 17l.78-3.33-2.59-2.24 3.41-.29L15 8l1.34 3.14 3.41.29-2.59 2.24z' class='jp-icon3 jp-icon-selectable'/%3e %3c/svg%3e"},49858:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z' class='jp-icon3 jp-icon-selectable'/%3e %3c/svg%3e"},62547:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='black' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z' class='jp-icon3 jp-icon-selectable'/%3e %3c/svg%3e"},62518:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 512 512'%3e %3cpath fill='black' d='M108.4 0h23v22.8h21.2V0h23v69h-23V46h-21v23h-23.2M206 23h-20.3V0h63.7v23H229v46h-23m53.5-69h24.1l14.8 24.3L313.2 0h24.1v69h-23V34.8l-16.1 24.8-16.1-24.8V69h-22.6m89.2-69h23v46.2h32.6V69h-55.6' class='jp-icon0 jp-icon-selectable'/%3e %3cpath fill='%23e44d26' d='m107.6 471-33-370.4h362.8l-33 370.2L255.7 512' class='jp-icon-selectable'/%3e %3cpath fill='%23f16529' d='M256 480.5V131h148.3L376 447' class='jp-icon-selectable'/%3e %3cpath fill='%23ebebeb' d='M142 176.3h114v45.4h-64.2l4.2 46.5h60v45.3H154.4m2 22.8H202l3.2 36.3 50.8 13.6v47.4l-93.2-26' class='jp-icon-selectable-inverse'/%3e %3cpath fill='white' d='M369.6 176.3H255.8v45.4h109.6m-4.1 46.5H255.8v45.4h56l-5.3 59-50.7 13.6v47.2l93-25.8' class='jp-icon-selectable-inverse'/%3e %3c/svg%3e"},32409:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 22 22'%3e %3cpath fill='white' d='M2.2 2.2h17.5v17.5H2.2z' class='jp-icon-brand4 jp-icon-selectable-inverse'/%3e %3cpath fill='%233F51B5' d='M2.2 2.2v17.5h17.5l.1-17.5zm12.1 2.2c1.2 0 2.2 1 2.2 2.2s-1 2.2-2.2 2.2-2.2-1-2.2-2.2 1-2.2 2.2-2.2M4.4 17.6l3.3-8.8 3.3 6.6 2.2-3.2 4.4 5.4z' class='jp-icon-brand0 jp-icon-selectable'/%3e %3c/svg%3e"},90021:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m-5 14H4v-4h11zm0-5H4V9h11zm5 5h-4V9h4z' class='jp-inspector-icon-color jp-icon-selectable'/%3e %3c/svg%3e"},43664:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 22 22'%3e %3cg fill='%23F9A825' class='jp-json-icon-color jp-icon-selectable'%3e %3cpath d='M20.2 11.8c-1.6 0-1.7.5-1.7 1 0 .4.1.9.1 1.3.1.5.1.9.1 1.3 0 1.7-1.4 2.3-3.5 2.3h-.9v-1.9h.5c1.1 0 1.4 0 1.4-.8 0-.3 0-.6-.1-1 0-.4-.1-.8-.1-1.2 0-1.3 0-1.8 1.3-2-1.3-.2-1.3-.7-1.3-2 0-.4.1-.8.1-1.2.1-.4.1-.7.1-1 0-.8-.4-.7-1.4-.8h-.5V4.1h.9c2.2 0 3.5.7 3.5 2.3 0 .4-.1.9-.1 1.3-.1.5-.1.9-.1 1.3 0 .5.2 1 1.7 1zM1.8 10.1c1.6 0 1.7-.5 1.7-1 0-.4-.1-.9-.1-1.3-.1-.5-.1-.9-.1-1.3 0-1.6 1.4-2.3 3.5-2.3h.9v1.9h-.5c-1 0-1.4 0-1.4.8 0 .3 0 .6.1 1 0 .2.1.6.1 1 0 1.3 0 1.8-1.3 2C6 11.2 6 11.7 6 13c0 .4-.1.8-.1 1.2-.1.3-.1.7-.1 1 0 .8.3.8 1.4.8h.5v1.9h-.9c-2.1 0-3.5-.6-3.5-2.3 0-.4.1-.9.1-1.3.1-.5.1-.9.1-1.3 0-.5-.2-1-1.7-1z'/%3e %3ccircle cx='11' cy='13.8' r='2.1'/%3e %3ccircle cx='11' cy='8.2' r='2.1'/%3e %3c/g%3e %3c/svg%3e"},21957:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 325 300'%3e %3cpath fill='%23cb3c33' d='M150.898 225c0 41.422-33.578 75-75 75s-75-33.578-75-75 33.579-75 75-75 75 33.578 75 75' class='jp-brand0 jp-icon-selectable'/%3e %3cpath fill='%23389826' d='M237.5 75c0 41.422-33.578 75-75 75s-75-33.578-75-75 33.578-75 75-75 75 33.578 75 75' class='jp-brand0 jp-icon-selectable'/%3e %3cpath fill='%239558b2' d='M324.102 225c0 41.422-33.579 75-75 75s-75-33.578-75-75 33.578-75 75-75 75 33.578 75 75' class='jp-brand0 jp-icon-selectable'/%3e %3c/svg%3e"},96081:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m-9 3h2v2h-2zm0 3h2v2h-2zM8 8h2v2H8zm0 3h2v2H8zm-1 2H5v-2h2zm0-3H5V8h2zm9 7H8v-2h8zm0-4h-2v-2h2zm0-3h-2V8h2zm3 3h-2v-2h2zm0-3h-2V8h2z' class='jp-icon3 jp-icon-selectable'/%3e %3c/svg%3e"},10966:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M19 19H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z' class='jp-icon3 jp-icon-selectable'/%3e %3c/svg%3e"},73105:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 22 22'%3e %3cpath fill='%237B1FA2' d='M5 14.9h12l-6.1 6zm9.4-6.8c0-1.3-.1-2.9-.1-4.5-.4 1.4-.9 2.9-1.3 4.3l-1.3 4.3h-2L8.5 7.9c-.4-1.3-.7-2.9-1-4.3-.1 1.6-.1 3.2-.2 4.6L7 12.4H4.8l.7-11h3.3L10 5c.4 1.2.7 2.7 1 3.9.3-1.2.7-2.6 1-3.9l1.2-3.7h3.3l.6 11h-2.4z' class='jp-icon-contrast0 jp-icon-selectable'/%3e %3c/svg%3e"},98827:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' version='1.1' viewBox='0 0 491 675'%3e %3cpath fill='%23ff3670' d='M85 92c-46 0-85 37-85 85v321c0 46 37 85 85 85h321c46 0 85-37 85-85V177c0-46-37-85-85-85zm-2 111c72-3.1 139 41 162 109 25-67 91-112 162-109 2.4 57-25 111-72 144-24 16-39 44-39 74v51H192v-51c.08-29-15-57-39-74-47-32-75-86-72-144z' class='jp-icon-contrast2 jp-icon-selectable'/%3e %3c/svg%3e"},55237:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 22 22'%3e %3cg fill='%23EF6C00' class='jp-notebook-icon-color jp-icon-selectable'%3e %3cpath d='M18.7 3.3v15.4H3.3V3.3zm1.5-1.5H1.8v18.3h18.3z'/%3e %3cpath d='m16.5 16.5-5.4-4.3-5.6 4.3v-11h11z'/%3e %3c/g%3e %3c/svg%3e"},41420:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 22 22'%3e %3cpath fill='%23FF2A2A' d='m17.933 13.667 3.987 3.987-1.117 1.117-2.51-2.51-1.066 1.067 2.36 2.36-1.117 1.117-2.36-2.36-2.43 2.429-1.477-1.478zm-6.163-3.93-3.496 3.496.53.53q.905.906 1.83.932.929.031 1.784-.825.852-.852.822-1.773t-.94-1.83zm-.36-2.594 1.557 1.558q1.305 1.305 1.754 2.13.456.825.468 1.727.015.79-.296 1.493-.31.702-.951 1.343-.649.648-1.355.963-.702.31-1.493.295-.905-.015-1.738-.472-.829-.46-2.118-1.75L5.68 12.874zm-5.76-5.76L8.1 3.835Q9.195 4.93 9.291 6q.103 1.07-.795 1.968-.901.902-1.976.802-1.067-.1-2.16-1.193l-.975-.975L1.397 8.59-.08 7.113Zm.406 2.548-1.6 1.6.817.818q.43.43.871.457.445.023.829-.361t.357-.825-.457-.871z' class='jp-icon-selectable'/%3e %3c/svg%3e"},52384:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='-10 -10 131.161 132.389'%3e %3cpath fill='%23306998' d='M54.919 0c-4.584.022-8.961.413-12.813 1.095C30.76 3.099 28.7 7.295 28.7 15.032v10.219h26.813v3.406H18.638c-7.793 0-14.616 4.684-16.75 13.594-2.462 10.213-2.571 16.586 0 27.25 1.905 7.938 6.457 13.594 14.25 13.594h9.218v-12.25c0-8.85 7.657-16.657 16.75-16.657h26.782c7.454 0 13.406-6.138 13.406-13.625v-25.53c0-7.267-6.13-12.726-13.406-13.938C64.282.328 59.502-.02 54.918 0m-14.5 8.22c2.77 0 5.031 2.298 5.031 5.125 0 2.816-2.262 5.093-5.031 5.093-2.78 0-5.031-2.277-5.031-5.093 0-2.827 2.251-5.125 5.03-5.125' class='jp-icon-selectable'/%3e %3cpath fill='%23ffd43b' d='M85.638 28.657v11.906c0 9.231-7.826 17-16.75 17H42.106c-7.336 0-13.406 6.279-13.406 13.625V96.72c0 7.266 6.319 11.54 13.406 13.625 8.488 2.495 16.627 2.946 26.782 0 6.75-1.955 13.406-5.888 13.406-13.625V86.5H55.513v-3.405H95.7c7.793 0 10.696-5.436 13.406-13.594 2.8-8.399 2.68-16.476 0-27.25-1.925-7.758-5.604-13.594-13.406-13.594zM70.575 93.313c2.78 0 5.031 2.278 5.031 5.094 0 2.827-2.251 5.125-5.031 5.125-2.77 0-5.031-2.298-5.031-5.125 0-2.816 2.261-5.094 5.031-5.094' class='jp-icon-selectable'/%3e %3c/svg%3e"},94774:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='xMidYMid' width='16' height='16' viewBox='0 0 724 561'%3e %3cpath class='jp-icon-selectable' d='M361.453%2c485.937 C162.329%2c485.937 0.906%2c377.828 0.906%2c244.469 C0.906%2c111.109 162.329%2c3.000 361.453%2c3.000 C560.578%2c3.000 722.000%2c111.109 722.000%2c244.469 C722.000%2c377.828 560.578%2c485.937 361.453%2c485.937 ZM416.641%2c97.406 C265.289%2c97.406 142.594%2c171.314 142.594%2c262.484 C142.594%2c353.654 265.289%2c427.562 416.641%2c427.562 C567.992%2c427.562 679.687%2c377.033 679.687%2c262.484 C679.687%2c147.971 567.992%2c97.406 416.641%2c97.406 Z' fill='rgb(179%2c179%2c179)' fill-rule='evenodd'/%3e %3cpath class='jp-icon-selectable' d='M550.000%2c377.000 C550.000%2c377.000 571.822%2c383.585 584.500%2c390.000 C588.899%2c392.226 596.510%2c396.668 602.000%2c402.500 C607.378%2c408.212 610.000%2c414.000 610.000%2c414.000 L696.000%2c559.000 L557.000%2c559.062 L492.000%2c437.000 C492.000%2c437.000 478.690%2c414.131 470.500%2c407.500 C463.668%2c401.969 460.755%2c400.000 454.000%2c400.000 C449.298%2c400.000 420.974%2c400.000 420.974%2c400.000 L421.000%2c558.974 L298.000%2c559.026 L298.000%2c152.938 L545.000%2c152.938 C545.000%2c152.938 657.500%2c154.967 657.500%2c262.000 C657.500%2c369.033 550.000%2c377.000 550.000%2c377.000 ZM496.500%2c241.024 L422.037%2c240.976 L422.000%2c310.026 L496.500%2c310.002 C496.500%2c310.002 531.000%2c309.895 531.000%2c274.877 C531.000%2c239.155 496.500%2c241.024 496.500%2c241.024 Z' fill='rgb(52%2c101%2c176)' fill-rule='evenodd'/%3e %3c/svg%3e"},36035:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='150 150 541.9 295.3'%3e %3cg fill='%2361DAFB' class='jp-icon-brand2 jp-icon-selectable'%3e %3cpath d='M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3m-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9m-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9m32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1M421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32m-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24q7.05 12 14.4 23.4M420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32m-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9m-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6s22.9-35.6 58.3-50.6c8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2M310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7m237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1m38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6M320.8 78.4'/%3e %3ccircle cx='420.9' cy='296.5' r='45.7'/%3e %3c/g%3e %3c/svg%3e"},69281:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65A.49.49 0 0 0 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5' class='jp-icon3 jp-icon-selectable'/%3e %3c/svg%3e"},89120:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 22 22'%3e %3cpath fill='%234CAF50' d='M2.2 2.2v17.6h17.6V2.2zm15.4 7.7h-5.5V4.4h5.5zM9.9 4.4v5.5H4.4V4.4zm-5.5 7.7h5.5v5.5H4.4zm7.7 5.5v-5.5h5.5v5.5z' class='jp-icon-contrast1 jp-icon-selectable'/%3e %3c/svg%3e"},99083:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M15 15H3v2h12zm0-8H3v2h12zM3 13h18v-2H3zm0 8h18v-2H3zM3 3v2h18V3z' class='jp-text-editor-icon-color jp-icon-selectable'/%3e %3c/svg%3e"},72297:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 22 22'%3e %3cg fill='%23212121' class='jp-icon1 jp-icon-selectable'%3e %3cpath d='m10.6 5.4 2.2-3.2H2.2v7.3l4-6.6z'/%3e %3cpath d='m15.8 2.2-4.4 6.6L7 6.3l-4.8 8v5.5h17.6V2.2zm-7 15.4H5.5v-4.4h3.3zm4.4 0H9.8V9.8h3.4zm4.4 0h-3.4V6.5h3.4z'/%3e %3c/g%3e %3c/svg%3e"},12255:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath class='jp-icon3 jp-icon-selectable' fill='%23616161' d='M18 3v2h-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z'/%3e %3cpath d='M0 0h24v24H0z' fill='none'/%3e %3c/svg%3e"},32111:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 22 22'%3e %3cg fill='%23D81B60' class='jp-icon-contrast2 jp-icon-selectable'%3e %3cpath d='M7.2 18.6v-5.4L3 5.6h3.3l1.4 3.1c.3.9.6 1.6 1 2.5.3-.8.6-1.6 1-2.5l1.4-3.1h3.4l-4.4 7.6v5.5z'/%3e %3ccircle cx='17.6' cy='16.5' r='2.1'/%3e %3ccircle cx='17.6' cy='11' r='2.1'/%3e %3c/g%3e %3c/svg%3e"},88255:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M13.5 8H12v5l4.28 2.54.72-1.21-3.5-2.08zM13 3a9 9 0 0 0-9 9H1l3.96 4.03L9 12H6a7 7 0 0 1 7-7 7 7 0 0 1 7 7 7 7 0 0 1-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42A8.9 8.9 0 0 0 13 21a9 9 0 0 0 9-9 9 9 0 0 0-9-9' class='jp-icon3'/%3e %3c/svg%3e"},49069:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 50.978 50.978'%3e %3cg fill='%23616161' class='jp-icon3'%3e %3cpath d='M43.52 7.458C38.711 2.648 32.307 0 25.489 0 18.67 0 12.266 2.648 7.458 7.458c-9.943 9.941-9.943 26.119 0 36.062 4.809 4.809 11.212 7.456 18.031 7.458h.002c6.816 0 13.221-2.648 18.029-7.458 4.809-4.809 7.457-11.212 7.457-18.03 0-6.82-2.649-13.224-7.457-18.032m-1.414 34.647c-4.432 4.431-10.332 6.872-16.615 6.872h-.002c-6.285-.001-12.187-2.441-16.617-6.872-9.162-9.163-9.162-24.071 0-33.233C13.303 4.44 19.204 2 25.489 2c6.284 0 12.186 2.44 16.617 6.872 4.431 4.431 6.871 10.332 6.871 16.617 0 6.283-2.441 12.186-6.871 16.616'/%3e %3cpath d='M23.578 32.218q-.034-2.602.496-3.972t2.272-3.253q.702-.805 1.367-1.575.939-1.13 1.436-2.175.496-1.061.495-2.5 0-1.643-.779-2.979-.848-1.319-2.806-1.369-2.703.085-3.55 1.832a5.3 5.3 0 0 0-.607 1.814 11.3 11.3 0 0 0-.207 2.174h-2.937q-.136-3.312 1.493-5.719 1.593-2.459 5.378-2.527 3.24.034 5.141 1.758 1.918 1.74 1.95 4.811 0 1.712-.41 2.911a7.6 7.6 0 0 1-1.268 2.243 22 22 0 0 1-1.73 2.002 34 34 0 0 0-1.987 2.346 5.2 5.2 0 0 0-.565 1.199q-.24 1.438-.171 2.979zm0 6.002v-3.484h3.076v3.484z'/%3e %3c/g%3e %3c/svg%3e"},35017:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='152' height='165' version='1.1' viewBox='0 0 152 165'%3e %3cpath fill='%23F37726' d='M76.021 140.163c-32.64 0-61.145-11.927-75.942-29.58 5.51 15.84 15.781 29.567 29.39 39.278a80.17 80.17 0 0 0 46.57 14.929 80.17 80.17 0 0 0 46.57-14.929c13.61-9.711 23.88-23.437 29.391-39.278-14.833 17.653-43.338 29.58-75.979 29.58m-.005-114.832c32.64 0 61.146 11.927 75.943 29.58a80.9 80.9 0 0 0-29.391-39.278A80.16 80.16 0 0 0 75.998.705a80.16 80.16 0 0 0-46.57 14.928A80.9 80.9 0 0 0 .038 54.912c14.832-17.617 43.338-29.58 75.978-29.58' class='jp-jupyter-icon-color'/%3e %3c/svg%3e"},98034:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='39' height='51' viewBox='0 0 39 51'%3e %3cpath fill='%23F37726' d='M20.005 38.114c-7.85 0-14.706-2.876-18.265-7.134a19.5 19.5 0 0 0 7.069 9.473 19.24 19.24 0 0 0 11.2 3.6c4.013 0 7.927-1.258 11.2-3.6a19.5 19.5 0 0 0 7.069-9.473c-3.567 4.258-10.423 7.134-18.273 7.134m-.002-27.694c7.85 0 14.706 2.876 18.265 7.133a19.5 19.5 0 0 0-7.069-9.473A19.24 19.24 0 0 0 20 4.48a19.24 19.24 0 0 0-11.2 3.6 19.5 19.5 0 0 0-7.069 9.473c3.567-4.248 10.423-7.134 18.273-7.134' class='jp-jupyter-icon-color'/%3e %3cpath fill='%23616161' d='M37.194 3.154a3 3 0 0 1-.426 1.672 2.96 2.96 0 0 1-1.275 1.153 2.93 2.93 0 0 1-3.238-.505 3 3 0 0 1-.776-3.21c.2-.553.558-1.033 1.029-1.38a2.93 2.93 0 0 1 3.733.209c.576.532.919 1.274.953 2.061M9.228 46.393a3.77 3.77 0 0 1-.536 2.11 3.73 3.73 0 0 1-1.608 1.452 3.69 3.69 0 0 1-4.082-.638 3.75 3.75 0 0 1-1.097-1.875 3.8 3.8 0 0 1 .122-2.173 3.74 3.74 0 0 1 1.299-1.739 3.696 3.696 0 0 1 4.704.268 3.76 3.76 0 0 1 1.198 2.595M2.635 9.456a2.17 2.17 0 0 1-1.227-.318 2.2 2.2 0 0 1-.845-.951A2.22 2.22 0 0 1 .935 5.77a2.16 2.16 0 0 1 2.356-.577c.405.15.757.418 1.011.77a2.21 2.21 0 0 1-.156 2.783 2.17 2.17 0 0 1-1.511.71' class='jp-icon3'/%3e %3c/svg%3e"},91019:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='200' viewBox='0 0 1860.8 475'%3e %3cpath fill='%234E4E4E' d='M53.324 293.087c0 48.7-3.7 64.7-13.6 76.4-10.8 10-25 15.5-39.7 15.5l3.7 29c22.8.3 44.8-7.9 61.9-23.1 17.8-18.5 24-44.1 24-83.3v-184.3h-36.4v170.1zm271.42-22.179c0 21 0 39.5 1.7 55.4h-31.8l-2.1-33.3h-.8c-6.7 11.6-16.4 21.3-28 27.9s-24.8 10-38.2 9.8c-31.4 0-69-17.7-69-89v-118.8h36.4v112.7c0 38.7 11.6 64.7 44.6 64.7 10.3-.2 20.4-3.5 28.9-9.4s15.1-14.3 18.9-23.9c2.2-6.1 3.3-12.5 3.3-18.9v-125h36.4v147.8zm68.512-81.525c0-26-.8-47-1.7-66.7h32.7l1.7 34.8h.8c7.1-12.5 17.5-22.8 30.1-29.7 12.5-7 26.7-10.3 41-9.8 48.3 0 84.7 41.7 84.7 103.3 0 73.1-43.7 109.2-91 109.2-12.1.5-24.2-2.2-35-7.8s-19.9-13.9-26.6-24.2h-.8v110.5h-36v-220zm36 54.2c.1 5.1.6 10.1 1.7 15.1 3 12.3 9.9 23.3 19.8 31.1s22.1 12.1 34.7 12.1c38.5 0 60.7-31.9 60.7-78.5 0-40.7-21.1-75.6-59.5-75.6-12.9.4-25.3 5.1-35.3 13.4-9.9 8.3-16.9 19.7-19.6 32.4-1.5 4.9-2.3 10-2.5 15.1zm217.572-120.485 43.7 120.1c4.5 13.4 9.5 29.4 12.8 41.7h.8c3.7-12.2 7.9-27.7 12.8-42.4l39.7-119.2h38.5l-54.4 144.8c-26 69.7-43.7 105.4-68.6 127.2-12.5 11.7-27.9 20-44.6 23.9l-9.1-31.1c11.7-3.9 22.5-10.1 31.8-18.1 13.2-11.1 23.7-25.2 30.6-41.2 1.5-2.8 2.5-5.7 2.9-8.8-.3-3.3-1.2-6.6-2.5-9.7l-73.8-187.1h39.7zM890.649 64.65v58.3h52v28.2h-52v109.5c0 25 7 39.5 27.3 39.5 7.1.1 14.2-.7 21.1-2.5l1.7 27.7c-10.3 3.7-21.3 5.4-32.2 5-7.3.4-14.6-.7-21.3-3.4-6.8-2.7-12.9-6.8-17.9-12.1-10.3-10.9-14.1-29-14.1-52.9v-110.8h-31v-28.2h31v-48.7zm119.111 166.711c.8 50 32.2 70.6 68.6 70.6 19 .6 37.9-3 55.3-10.5l6.2 26.4c-20.9 8.9-43.5 13.1-66.2 12.6-61.5 0-98.3-41.2-98.3-102.5 0-61.4 35.5-109.6 93.7-109.6 65.2 0 82.7 58.3 82.7 95.7-.1 5.8-.5 11.5-1.2 17.2h-140.8zm106.6-26.4c.4-23.5-9.5-60.1-50.4-60.1-36.8 0-52.8 34.4-55.7 60.1zm88.317-18.505c0-23.9-.4-44.5-1.7-63.4h31.8l1.2 39.9h1.7c9.1-27.3 31-44.5 55.3-44.5 3.5-.1 7 .4 10.3 1.2v34.8c-4.1-.9-8.2-1.3-12.4-1.2-25.6 0-43.7 19.7-48.7 47.4-1 5.7-1.6 11.5-1.7 17.2v108.3h-36v-139.7z' class='jp-icon2'/%3e %3cpath fill='%23F37726' d='M1352.3 326.2h37V28h-37zm252.5 0c-2.5-13.9-3.4-31.1-3.4-48.7v-76c0-40.7-15.1-83.1-77.3-83.1-25.6 0-50 7.1-66.8 18.1l8.4 24.4c14.3-9.2 34-15.1 53-15.1 41.6 0 46.2 30.2 46.2 47v4.2c-78.6-.4-122.3 26.5-122.3 75.6 0 29.4 21 58.4 62.2 58.4 29 0 50.9-14.3 62.2-30.2h1.3l2.9 25.6h33.6zm-39.1-68.5c0 3.8-.8 8-2.1 11.8-5.9 17.2-22.7 34-49.2 34-18.9 0-34.9-11.3-34.9-35.3 0-39.5 45.8-46.6 86.2-45.8zm132.8 68.5 1.7-33.6h1.3c15.1 26.9 38.7 38.2 68.1 38.2 45.4 0 91.2-36.1 91.2-108.8.4-61.7-35.3-103.7-85.7-103.7-32.8 0-56.3 14.7-69.3 37.4h-.8V28h-36.6v245.7c0 18.1-.8 38.6-1.7 52.5zm6.3-118c0-5.9 1.3-10.9 2.1-15.1 7.6-28.1 31.1-45.4 56.3-45.4 39.5 0 60.5 34.9 60.5 75.6 0 46.6-23.1 78.1-61.8 78.1-26.9 0-48.3-17.6-55.5-43.3-.8-4.2-1.7-8.8-1.7-13.4v-36.5z' class='jp-jupyter-icon-color'/%3e %3c/svg%3e"},43360:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M11.88 9.14c1.28.06 1.61 1.15 1.63 1.66h1.79c-.08-1.98-1.49-3.19-3.45-3.19C9.64 7.61 8 9 8 12.14c0 1.94.93 4.24 3.84 4.24 2.22 0 3.41-1.65 3.44-2.95h-1.79c-.03.59-.45 1.38-1.63 1.44-1.31-.04-1.86-1.06-1.86-2.73 0-2.89 1.28-2.98 1.88-3M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8' class='jp-icon3'/%3e %3c/svg%3e"},36436:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 23'%3e %3cpath fill='%23333' d='M12 17a2 2 0 0 0 2-2 2 2 0 0 0-2-2 2 2 0 0 0-2 2 2 2 0 0 0 2 2m6-9a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h1V6a5 5 0 0 1 5-5 5 5 0 0 1 5 5v2zm-6-5a3 3 0 0 0-3 3v2h6V6a3 3 0 0 0-3-3' class='jp-icon4'/%3e %3c/svg%3e"},29005:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M6.59 3.41 2 8l4.59 4.6L8 11.18 4.82 8 8 4.82zm5.82 0L11 4.82 14.18 8 11 11.18l1.41 1.42L17 8zm9.18 8.18-8.09 8.09L9.83 16l-1.41 1.41 5.08 5.09L23 13z' class='jp-icon3 jp-icon-selectable' shape-rendering='geometricPrecision'/%3e %3c/svg%3e"},29264:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 8.5 10.5'%3e %3cg fill='%23BDBDBD' class='jp-icon-output'%3e %3cpath d='M.019 0h8.458v1.064H.019zM0 9.52h8.491v1.059H0zm4.776-6.608H3.72V1.323h1.056z'/%3e %3cpath d='m4.244 5.243-1.06-1.167-1.06-1.167h4.24l-1.06 1.167zm.528 4.014H3.716V7.665h1.056z'/%3e %3cpath d='M4.242 5.332 5.302 6.5l1.06 1.167h-4.24L3.182 6.5z'/%3e %3c/g%3e %3c/svg%3e"},689:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 8.5 10.5'%3e %3cg fill='%23BDBDBD' class='jp-icon-output'%3e %3cpath d='M.019 0h8.458v1.064H.019zM0 9.521h8.491v1.059H0zm3.712-5.822h1.056v1.589H3.712z'/%3e %3cpath d='m4.244 1.368 1.06 1.167 1.06 1.167h-4.24l1.06-1.167zm-.532 3.92h1.056V6.88H3.712z'/%3e %3cpath d='m4.242 9.213-1.06-1.167-1.06-1.167h4.24l-1.06 1.167z'/%3e %3c/g%3e %3c/svg%3e"},85703:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 20 20'%3e %3cpath fill='%23414141' d='M2 2h16v16H2z' class='jp-icon2'/%3e %3cpath fill='white' d='M7.6 8h.9l3.5 8h-1.1l-.9-2H6l-.9 2H4zM8 9.1 6.4 13h3.2zm8.6.7c-.2.1-.4.1-.7.1-.2 0-.4-.1-.6-.2-.1-.1-.2-.4-.2-.7-.3.3-.6.5-.9.7-.3.1-.7.2-1.1.2-.3 0-.5 0-.7-.1l-.6-.3c-.2-.1-.3-.3-.4-.5s-.1-.4-.1-.7.1-.6.2-.8.3-.4.4-.5c.1 0 .3-.1.6-.2.2-.1.5-.1.7-.2.3-.1.5-.1.7-.1s.4-.1.6-.1.3-.1.4-.2.2-.2.2-.4c0-1-1.1-1-1.3-1-.4 0-1.4 0-1.4 1.2h-.9c0-.4.1-.7.2-1 .1-.2.3-.4.5-.6s.5-.3.8-.3c.3-.1.6-.1.9-.1s.5 0 .8.1c.3 0 .5.1.7.2s.4.3.5.5.1.4.1.8V9c0 .1.1.2.3.2h.3zm-1.4-2.9c-1.2.6-3.1.2-3.1 1.4 0 1.4 3.1 1 3.1-.5z' class='jp-icon-accent2'/%3e %3c/svg%3e"},13820:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='white' d='M14 12v7.88c.04.3-.06.62-.29.83a.996.996 0 0 1-1.41 0l-2.01-2.01a.99.99 0 0 1-.29-.83V12h-.03L4.21 4.62a1 1 0 0 1 .17-1.4c.19-.14.4-.22.62-.22h14c.22 0 .43.08.62.22a1 1 0 0 1 .17 1.4L14.03 12z' class='jp-icon3'/%3e %3ccircle cx='18' cy='17' r='3' fill='white' class='jp-icon-dot'/%3e %3c/svg%3e"},8770:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='white' d='M14 12v7.88c.04.3-.06.62-.29.83a.996.996 0 0 1-1.41 0l-2.01-2.01a.99.99 0 0 1-.29-.83V12h-.03L4.21 4.62a1 1 0 0 1 .17-1.4c.19-.14.4-.22.62-.22h14c.22 0 .43.08.62.22a1 1 0 0 1 .17 1.4L14.03 12z' class='jp-icon3'/%3e %3c/svg%3e"},4721:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 20 20'%3e %3cpath fill='%23414141' d='M2 2h16v16H2z' class='jp-icon2'/%3e %3cg fill='white' class='jp-icon-accent2'%3e %3ccircle cx='5.5' cy='14.5' r='1.5'/%3e %3cpath d='M12 4h1v8h-1z'/%3e %3cpath d='m8.786 9.567 6.928-4 .5.866-6.928 4z'/%3e %3cpath d='m8.786 6.433.5-.866 6.928 4-.5.866z'/%3e %3c/g%3e %3c/svg%3e"},42988:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 20 20'%3e %3cpath fill='%23414141' d='M2 2h16v16H2z' class='jp-icon2'/%3e %3cpath fill='white' d='M4.57 8.8q.068-1.89 2.42-1.89 1.16 0 1.68.42.567.41.567 1.16v3.47q0 .462.514.462.103 0 .2-.023v.714q-.399.103-.651.103-.452 0-.693-.22-.231-.2-.284-.662-.956.872-2 .872-.903 0-1.47-.472-.525-.472-.525-1.26 0-.262.045-.472.057-.22.116-.378.068-.168.231-.304l.262-.242q.116-.091.368-.168.262-.091.4-.126.135-.045.471-.103t.504-.08l.567-.08q.556-.068.777-.22.22-.153.22-.442v-.252q0-.43-.357-.662-.336-.23-.976-.23-.662 0-.998.261-.336.252-.399.798zm1.89 3.68q.788 0 1.26-.41.504-.42.504-.903v-1.05q-.284.136-.861.231l-.987.158q-.42.068-.766.326-.336.252-.336.704t.304.704.861.252zm3.97-7.88h.945v3.15q.651-.976 1.89-.976 1.16 0 1.89.84.682.84.682 2.31t-.704 2.42q-.704.882-1.89.882-1.26 0-1.89-1.02v.766h-.85zm2.62 3.04q-.746 0-1.16.64-.452.63-.452 1.68t.452 1.68 1.16.63q.777 0 1.26-.63.494-.64.494-1.68 0-1.05-.472-1.68-.462-.64-1.26-.64zm-9.89 8.2 13.6.008c.007 0 0-2.6 0-2.6 0-.008-1.15 0-1.15 0-.007 0-.008 1.5-.008 1.5l-11.3-.001-.006-1.5c0-.008-1.17.001-1.17.001z' class='jp-icon-accent2'/%3e %3c/svg%3e"},5938:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M14.9 17.45c1.35 0 2.45-1.1 2.45-2.45s-1.1-2.45-2.45-2.45c-1.36 0-2.45 1.1-2.45 2.45s1.09 2.45 2.45 2.45m5.2-1.77 1.48 1.16c.13.11.17.29.08.45l-1.4 2.42a.35.35 0 0 1-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.27 1.85c-.02.17-.17.3-.34.3h-2.8c-.18 0-.32-.13-.35-.3l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.75.7c-.15.06-.34 0-.42-.15l-1.4-2.42a.35.35 0 0 1 .08-.45l1.48-1.16-.05-.68.05-.69-1.48-1.15a.35.35 0 0 1-.08-.45l1.4-2.42c.08-.16.27-.22.42-.16l1.75.71c.36-.28.75-.52 1.18-.69l.26-1.86c.03-.16.17-.29.35-.29h2.8c.17 0 .32.13.34.29l.27 1.86c.42.17.82.41 1.18.69l1.74-.71c.17-.06.34 0 .43.16l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.15.05.69zM7.33 7.445A1.566 1.566 0 0 0 7.904 5.3a1.575 1.575 0 1 0-.574 2.145m2.327-2.65 1.21.157c.096.025.173.12.171.236v1.8a.214.214 0 0 1-.183.223l-1.195.17-.42.75.43 1.126c.037.106 0 .22-.096.275l-1.559.9a.23.23 0 0 1-.294-.05l-.734-.95-.878-.001-.762.96c-.058.08-.173.1-.275.043l-1.56-.901a.23.23 0 0 1-.101-.276l.452-1.116-.246-.366-.194-.396-1.192-.166a.23.23 0 0 1-.189-.226V5.186c.002-.117.077-.206.175-.217l1.204-.175.446-.766-.456-1.11a.23.23 0 0 1 .104-.28l1.56-.9a.225.225 0 0 1 .285.054l.76.936.86.01.745-.949a.214.214 0 0 1 .284-.048l1.56.9a.24.24 0 0 1 .118.267l-.47 1.126.246.366z' class='jp-icon3'/%3e %3c/svg%3e"},12037:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5a2.5 2.5 0 0 0-5 0V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7s2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5a2.5 2.5 0 0 0 0-5' class='jp-icon3'/%3e %3c/svg%3e"},39267:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cg fill='%23616161' class='jp-icon3'%3e %3cpath d='M18 13v7H4V6h5.02c.05-.71.22-1.38.48-2H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-5zm1.3-4.11c.44-.7.7-1.51.7-2.39C20 4.01 17.99 2 15.5 2S11 4.01 11 6.5s2.01 4.5 4.49 4.5c.88 0 1.7-.26 2.39-.7L21 13.42 22.42 12zM15.5 9a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5'/%3e %3cpath fill-rule='evenodd' d='M4 6h5.019a6.5 6.5 0 0 0 3.015 6H9v2h7v-1.019c.57-.043 1.12-.16 1.64-.341L18 13v7H4zm4 2H6v2h2zm-2 4h2v2H6zm2 4H6v2h2zm1 0h7v2H9z' clip-rule='evenodd'/%3e %3c/g%3e %3c/svg%3e"},10375:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 512 512'%3e %3cpath fill='%23616161' d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8m96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z' class='jp-icon3'/%3e %3c/svg%3e"},14063:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M18 2c-1.645 0-3 1.355-3 3 0 .191.022.377.057.559L7.922 9.72A2.97 2.97 0 0 0 6 9c-1.645 0-3 1.355-3 3s1.355 3 3 3c.732 0 1.399-.278 1.922-.72l7.135 4.16A3 3 0 0 0 15 19c0 1.645 1.355 3 3 3s3-1.355 3-3-1.355-3-3-3a2.97 2.97 0 0 0-1.922.723l-7.135-4.164C8.978 12.377 9 12.19 9 12s-.022-.377-.057-.559l7.135-4.162C16.601 7.722 17.268 8 18 8c1.645 0 3-1.355 3-3s-1.355-3-3-3m0 2c.564 0 1 .436 1 1s-.436 1-1 1-1-.436-1-1 .436-1 1-1M6 11c.564 0 1 .436 1 1s-.436 1-1 1-1-.436-1-1 .436-1 1-1m12 7c.564 0 1 .436 1 1s-.436 1-1 1-1-.436-1-1 .436-1 1-1' class='jp-icon3'/%3e %3c/svg%3e"},57575:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 16H3V5h10v4h8z' class='jp-icon3'/%3e %3c/svg%3e"},79984:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M7 5h14v2H7zm0 8v-2h14v2zM4 4.5A1.5 1.5 0 0 1 5.5 6 1.5 1.5 0 0 1 4 7.5 1.5 1.5 0 0 1 2.5 6 1.5 1.5 0 0 1 4 4.5m0 6A1.5 1.5 0 0 1 5.5 12 1.5 1.5 0 0 1 4 13.5 1.5 1.5 0 0 1 2.5 12 1.5 1.5 0 0 1 4 10.5M7 19v-2h14v2zm-3-2.5A1.5 1.5 0 0 1 5.5 18 1.5 1.5 0 0 1 4 19.5 1.5 1.5 0 0 1 2.5 18 1.5 1.5 0 0 1 4 16.5' class='jp-icon3 jp-icon-selectable'/%3e %3c/svg%3e"},6267:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M16 7a4 4 0 1 1-8 0 4 4 0 0 1 8 0m-4 7a7 7 0 0 0-7 7h14a7 7 0 0 0-7-7' class='jp-icon3'/%3e %3c/svg%3e"},26482:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' version='1.1' viewBox='0 0 36 24'%3e %3cg fill='%23616161' class='jp-icon3' transform='translate(-3.628 .1)scale(1.7327)'%3e %3cpath d='M18.279 5.265c-1.58 0-2.964.85-3.718 2.115a6.7 6.7 0 0 1 2.81 2.21h5.23a4.32 4.32 0 0 0-4.322-4.325m2.186-2.875a2.19 2.19 0 0 1-2.188 2.188 2.19 2.19 0 0 1-2.189-2.189A2.19 2.19 0 0 1 18.277.201a2.19 2.19 0 0 1 2.188 2.188M5.385 6.633a3.02 3.02 0 0 0-3.02 3.02h4.22a6.7 6.7 0 0 1 1.44-1.467 3.02 3.02 0 0 0-2.64-1.553m1.53-2.01a1.53 1.53 0 0 1-1.529 1.53 1.53 1.53 0 0 1-1.53-1.53 1.53 1.53 0 0 1 1.53-1.53 1.53 1.53 0 0 1 1.53 1.53m-.781 8.912a5.865 5.865 0 0 1 11.73 0z'/%3e %3ccircle cx='12' cy='3.768' r='2.969'/%3e %3c/g%3e %3c/svg%3e"},75386:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' version='1.1' viewBox='0 0 16 16'%3e %3cpath fill='%23333' d='M8 .29c-1.4 0-2.7.73-3.6 1.8-1.2 1.5-1.4 3.4-1.5 5.2-.18 2.2-.44 4-2.3 5.3l.28 1.3h5c.026.66.32 1.1.71 1.5.84.61 2 .61 2.8 0 .52-.4.6-1 .71-1.5h5l.28-1.3c-1.9-.97-2.2-3.3-2.3-5.3-.13-1.8-.26-3.7-1.5-5.2-.85-1-2.2-1.8-3.6-1.8zm0 1.4c.88 0 1.9.55 2.5 1.3.88 1.1 1.1 2.7 1.2 4.4.13 1.7.23 3.6 1.3 5.2H3c1.1-1.6 1.2-3.4 1.3-5.2.13-1.7.3-3.3 1.2-4.4.59-.72 1.6-1.3 2.5-1.3m-.74 12h1.5c-.001.28.015.79-.74.79-.73.002-.72-.53-.74-.79z' class='jp-icon2 jp-icon-selectable'/%3e %3c/svg%3e"},97146:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M15 9H9v6h6zm-2 4h-2v-2h2zm8-2V9h-2V7c0-1.1-.9-2-2-2h-2V3h-2v2h-2V3H9v2H7c-1.1 0-2 .9-2 2v2H3v2h2v2H3v2h2v2c0 1.1.9 2 2 2h2v2h2v-2h2v2h2v-2h2c1.1 0 2-.9 2-2v-2h2v-2h-2v-2zm-4 6H7V7h10z' class='jp-icon2'/%3e %3c/svg%3e"},7754:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='white' d='M5.88 4.12 13.76 12l-7.88 7.88L8 22l10-10L8 2z'/%3e %3c/svg%3e"},64445:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M19 5v14H5V5zm1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9M11 7h6v2h-6zm0 4h6v2h-6zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z' class='jp-icon2 jp-icon-selectable'/%3e %3c/svg%3e"},39054:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' fill='none' viewBox='0 0 25 25'%3e %3cpath stroke='%23333' stroke-width='2' d='M4.86 14.44c-1.034-2.67-.996-5.382-.61-7.24 1.232-.267 2.83-.797 4.351-1.355a92 92 0 0 0 4.387-1.75 68 68 0 0 0 4.23 1.748c1.532.57 3.182 1.11 4.536 1.37.382 1.859.417 4.564-.615 7.228-1.109 2.862-3.472 5.743-8.139 7.494-4.667-1.75-7.03-4.632-8.14-7.494Zm11.824-5.12-7.368 7.365m7.368-.001L9.316 9.319' class='jp-icon2'/%3e %3c/svg%3e"},26457:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23333' d='M2 2h20v20H2z' class='jp-terminal-icon-background-color jp-icon-selectable'/%3e %3cpath fill='white' d='M9.01 14.762q0-.246-.077-.434a.9.9 0 0 0-.234-.351 1.6 1.6 0 0 0-.422-.288 5 5 0 0 0-.627-.263q-.592-.211-1.078-.446a3.5 3.5 0 0 1-.832-.544 2.2 2.2 0 0 1-.528-.721 2.4 2.4 0 0 1-.187-.985q0-.498.17-.908a2.1 2.1 0 0 1 .48-.72q.31-.306.75-.493.44-.188.979-.24V7.11h.937v1.272q.527.07.95.287.421.217.714.568.3.345.457.82.165.47.164 1.055H8.998q0-.709-.323-1.072-.322-.37-.873-.37-.299 0-.521.083a.9.9 0 0 0-.358.223.9.9 0 0 0-.21.334q-.066.194-.065.421 0 .23.064.41a.9.9 0 0 0 .229.329q.165.152.428.293.263.134.656.275.591.223 1.072.463.48.235.82.55.346.312.528.727.187.41.187.973 0 .515-.17.932-.17.41-.486.709t-.762.48a3.7 3.7 0 0 1-.996.229v1.148h-.931V17.1a4 4 0 0 1-.967-.217 2.6 2.6 0 0 1-.832-.504 2.4 2.4 0 0 1-.574-.826q-.217-.505-.217-1.207h1.635q0 .421.123.709.123.281.316.45.2.165.451.235.252.07.516.07.627 0 .949-.292a.98.98 0 0 0 .322-.756m8.36 3.51h-5.343V17h5.344z' class='jp-terminal-icon-color jp-icon-selectable-inverse'/%3e %3c/svg%3e"},36454:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' fill='none' viewBox='0 0 24 25'%3e %3cpath stroke='%23333' stroke-width='2' d='M3.86 14.44c-1.034-2.67-.996-5.382-.61-7.24 1.232-.267 2.83-.797 4.351-1.355a92 92 0 0 0 4.387-1.75 68 68 0 0 0 4.23 1.748c1.532.57 3.182 1.11 4.536 1.37.382 1.859.417 4.564-.615 7.228-1.109 2.862-3.472 5.743-8.139 7.494-4.667-1.75-7.03-4.632-8.14-7.494Z' class='jp-icon2'/%3e %3cpath fill='%23333' stroke='%23333' d='m10.86 14.733-2.133-1.866-.727.63L10.86 16 16 10.5l-.721-.632z' class='jp-icon2'/%3e %3c/svg%3e"},97654:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' viewBox='0 0 14 14'%3e %3cg clip-path='url(%23addabovea)'%3e %3cpath fill='%23616161' stroke='%23616161' stroke-width='.7' d='M4.75 4.93h1.875v1.876c0 .206.169.375.375.375a.376.376 0 0 0 .375-.375V4.93H9.25a.376.376 0 0 0 .375-.375.376.376 0 0 0-.375-.375H7.375V2.306A.376.376 0 0 0 7 1.93a.376.376 0 0 0-.375.375V4.18H4.75a.376.376 0 0 0-.375.375c0 .206.169.375.375.375Z' class='jp-icon3'/%3e %3c/g%3e %3cpath fill='%23616161' fill-rule='evenodd' d='M11.5 9.5v2h-9v-2zM12 8a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z' class='jp-icon3' clip-rule='evenodd'/%3e %3cdefs%3e %3cclipPath id='addabovea'%3e %3cpath fill='white' d='M10 1.556H4v6h6z' class='jp-icon3'/%3e %3c/clipPath%3e %3c/defs%3e %3c/svg%3e"},54206:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' viewBox='0 0 14 14'%3e %3cg clip-path='url(%23addbelowa)'%3e %3cpath fill='%23616161' stroke='%23616161' stroke-width='.7' d='M9.25 10.07H7.375V8.193A.376.376 0 0 0 7 7.82a.376.376 0 0 0-.375.375v1.875H4.75a.376.376 0 0 0-.375.375c0 .207.169.375.375.375h1.875v1.875c0 .207.169.375.375.375a.376.376 0 0 0 .375-.375V10.82H9.25a.376.376 0 0 0 .375-.375.376.376 0 0 0-.375-.375Z' class='jp-icon3'/%3e %3c/g%3e %3cpath fill='%23616161' fill-rule='evenodd' d='M2.5 5.5v-2h9v2zM2 7a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1z' class='jp-icon3' clip-rule='evenodd'/%3e %3cdefs%3e %3cclipPath id='addbelowa'%3e %3cpath fill='white' d='M4 13.444h6v-6H4z' class='jp-icon3'/%3e %3c/clipPath%3e %3c/defs%3e %3c/svg%3e"},35510:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z' class='jp-icon3'/%3e %3c/svg%3e"},56075:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3e %3cg fill='%23616161' class='jp-icon3 jp-icon-selectable'%3e %3cpath fill-rule='evenodd' d='M17.19 8H20v2h-2.09c.05.33.09.66.09 1v1h2v2h-2v.027a4.5 4.5 0 0 0-3.545 6.447A5.997 5.997 0 0 1 6.81 18H4v-2h2.09c-.05-.33-.09-.66-.09-1v-1H4v-2h2v-1c0-.34.04-.67.09-1H4V8h2.81c.45-.78 1.07-1.45 1.81-1.96L7 4.41 8.41 3l2.18 2.17c.45-.11.92-.17 1.41-.17s.96.06 1.42.17L15.59 3 17 4.41l-1.63 1.63c.75.51 1.37 1.18 1.82 1.96M10 16h4v-2h-4zm0-4h4v-2h-4z' clip-rule='evenodd'/%3e %3cpath d='M22 18.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0'/%3e %3c/g%3e %3c/svg%3e"},94817:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M20 8h-2.81a6 6 0 0 0-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5s-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20zm-6 8h-4v-2h4zm0-4h-4v-2h4z' class='jp-icon3 jp-icon-selectable'/%3e %3c/svg%3e"},64907:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z' class='jp-icon3 jp-icon-selectable'/%3e %3c/svg%3e"},22641:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8' class='jp-icon3'/%3e %3c/svg%3e"},38101:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 18 18'%3e %3ccircle cx='9' cy='9' r='8' fill='%23616161' class='jp-icon3'/%3e %3c/svg%3e"},67764:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M16 11h-1V3c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v8H8c-2.76 0-5 2.24-5 5v7h18v-7c0-2.76-2.24-5-5-5m3 10h-2v-3c0-.55-.45-1-1-1s-1 .45-1 1v3h-2v-3c0-.55-.45-1-1-1s-1 .45-1 1v3H9v-3c0-.55-.45-1-1-1s-1 .45-1 1v3H5v-5c0-1.65 1.35-3 3-3h8c1.65 0 3 1.35 3 3z' class='jp-icon3'/%3e %3c/svg%3e"},60848:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cmask id='cleara'%3e %3cpath fill='white' d='M0 0h24v24H0z'/%3e %3ccircle cx='12' cy='12' r='8' fill='black'/%3e %3c/mask%3e %3cg fill='%23616161' class='jp-icon3'%3e %3cpath d='M4.929 6.343 6.343 4.93l12.728 12.728-1.414 1.414z'/%3e %3ccircle cx='12' cy='12' r='10' mask='url(%23cleara)'/%3e %3c/g%3e %3c/svg%3e"},17087:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3ccircle cx='12' cy='12' r='11' fill='none' class='jp-icon-none jp-icon-selectable-inverse jp-icon3-hover'/%3e %3cpath fill='%23616161' d='M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z' class='jp-icon3 jp-icon-selectable jp-icon-accent2-hover'/%3e %3ccircle cx='12' cy='12' r='7' fill='none' class='jp-icon-none jp-icon-busy'/%3e %3c/svg%3e"},27754:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 28 28'%3e %3cpath fill='%23616161' d='M11.4 18.6 6.8 14l4.6-4.6L10 8l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L18 8l6 6-6 6z' class='jp-icon3'/%3e %3c/svg%3e"},21498:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cg fill='%23616161' class='jp-icon3'%3e %3cpath d='M8 2h12c1 0 2 1 2 2v12c0 1 0 2-2 2V4H6c0-2 1-2 2-2'/%3e %3cpath d='M18 8c0-1-1-2-2-2H4C3 6 2 7 2 8v12c0 1 1 2 2 2h12c1 0 2-1 2-2zm-2 0v12H4V8z'/%3e %3cpath d='M6 13v2h8v-2z'/%3e %3c/g%3e %3c/svg%3e"},13258:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 18 18'%3e %3cpath fill='%23616161' d='M11.9 1H3.2c-.8 0-1.5.7-1.5 1.5v10.2h1.5V2.5h8.7zm2.2 2.9h-8c-.8 0-1.5.7-1.5 1.5v10.2c0 .8.7 1.5 1.5 1.5h8c.8 0 1.5-.7 1.5-1.5V5.4c-.1-.8-.7-1.5-1.5-1.5m0 11.6h-8V5.4h8z' class='jp-icon3'/%3e %3c/svg%3e"},99615:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M9.64 7.64c.23-.5.36-1.05.36-1.64 0-2.21-1.79-4-4-4S2 3.79 2 6s1.79 4 4 4c.59 0 1.14-.13 1.64-.36L10 12l-2.36 2.36C7.14 14.13 6.59 14 6 14c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4c0-.59-.13-1.14-.36-1.64L12 14l7 7h3v-1zM6 8c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2m0 12c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2m6-7.5c-.28 0-.5-.22-.5-.5s.22-.5.5-.5.5.22.5.5-.22.5-.5.5M19 3l-6 6 2 2 7-7V3z' class='jp-icon3'/%3e %3c/svg%3e"},29852:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3e %3cpath fill='%23626262' d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z' class='jp-icon3'/%3e %3c/svg%3e"},87976:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg width='16' version='1.1' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg'%3e %3cpath class='jp-icon3' d='m19.8 19.8v-17.6h-17.6v17.6zm-15.408-2.2v-3.8027h13.208v3.8027zm13.208-5.5301h-13.218v-7.6699h13.218z' fill='%23616161'/%3e %3c/svg%3e"},38170:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg width='16' version='1.1' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg'%3e %3cpath class='jp-icon3' d='m2.2 19.8h17.6v-17.6h-17.6zm2.2-15.408h3.8027v13.208h-3.8027zm5.5301 13.208v-13.218h7.6699v13.218z' fill='%23616161'/%3e %3c/svg%3e"},22705:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg width='16' version='1.1' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg'%3e %3cpath class='jp-icon3' d='m19.8 2.2h-17.6v17.6h17.6zm-2.2 15.408h-3.8027v-13.208h3.8027zm-5.5301-13.208v13.218h-7.6699v-13.218z' fill='%23616161'/%3e %3c/svg%3e"},91794:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg width='16' version='1.1' viewBox='0 0 22 22' xmlns='http://www.w3.org/2000/svg'%3e %3cpath class='jp-icon3' d='m2.2 2.2v17.6h17.6v-17.6zm15.408 2.2v3.8027h-13.208v-3.8027zm-13.208 5.5301h13.218v7.6699h-13.218z' fill='%23616161'/%3e %3c/svg%3e"},24649:e=>{"use strict";e.exports="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8'%3f%3e %3csvg width='16' version='1.1' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3e %3cg class='jp-icon3' transform='rotate(90%2c12%2c12)' fill='%23616161'%3e %3ccircle cx='5' cy='12' r='2'/%3e %3ccircle cx='12' cy='12' r='2'/%3e %3ccircle cx='19' cy='12' r='2'/%3e %3c/g%3e %3c/svg%3e"},6729:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M19 9h-4V3H9v6H5l7 7zM5 18v2h14v-2z' class='jp-icon3'/%3e %3c/svg%3e"},160:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' viewBox='0 0 14 14'%3e %3cpath fill='%23616161' fill-rule='evenodd' d='M2.8.875h6.096c.305 0 .554.264.554.587s-.25.587-.554.587H3.354c-.305 0-.554.264-.554.587V9.68c0 .322-.25.587-.554.587s-.554-.264-.554-.587V2.049c0-.646.498-1.174 1.108-1.174M5.367 11.9V4.55h5.716v7.35zM4.142 4.142c0-.451.365-.817.816-.817h6.534c.45 0 .816.366.816.817v8.166a.817.817 0 0 1-.816.817H4.958a.817.817 0 0 1-.816-.817z' class='jp-icon3' clip-rule='evenodd'/%3e %3cpath fill='%23616161' stroke='%23616161' stroke-width='.5' d='M9.436 8.265H8.364v1.071a.215.215 0 0 1-.214.215.215.215 0 0 1-.214-.215v-1.07H6.864a.215.215 0 0 1-.214-.215c0-.118.096-.215.214-.215h1.072v-1.07a.214.214 0 1 1 .428-.001v1.072h1.072c.118 0 .214.096.214.214a.215.215 0 0 1-.214.214Z' class='jp-icon3'/%3e %3c/svg%3e"},13841:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z' class='jp-icon3'/%3e %3c/svg%3e"},21376:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cg fill='%23616161' class='jp-icon3'%3e %3ccircle cx='5' cy='12' r='2'/%3e %3ccircle cx='12' cy='12' r='2'/%3e %3ccircle cx='19' cy='12' r='2'/%3e %3c/g%3e %3c/svg%3e"},84783:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cg fill='%23616161' class='jp-icon3'%3e %3cpath d='M8 2h12c1 0 2 1 2 2v12c0 1 0 2-2 2V4H6c0-2 1-2 2-2'/%3e %3cpath d='M18 8c0-1-1-2-2-2H4C3 6 2 7 2 8v12c0 1 1 2 2 2h12c1 0 2-1 2-2zm-2 0v12H4V8z'/%3e %3cpath d='M11 10H9v3H6v2h3v3h2v-3h3v-2h-3z'/%3e %3c/g%3e %3c/svg%3e"},843:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='m4 18 8.5-6L4 6zm9-12v12l8.5-6z' class='jp-icon3'/%3e %3c/svg%3e"},11631:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z' class='jp-icon3'/%3e %3c/svg%3e"},13444:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z' class='jp-icon3'/%3e %3c/svg%3e"},62304:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='32' viewBox='0 0 32 32'%3e %3cg fill='%23616161' class='jp-icon3 jp-icon-selectable'%3e %3cpath d='M26 28H6a2.003 2.003 0 0 1-2-2V6a2.003 2.003 0 0 1 2-2h10v2H6v20h20V16h2v10a2.003 2.003 0 0 1-2 2'/%3e %3cpath d='M20 2v2h6.586L18 12.586 19.414 14 28 5.414V12h2V2z'/%3e %3c/g%3e %3c/svg%3e"},80977:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5' class='jp-icon3'/%3e %3c/svg%3e"},52747:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' viewBox='0 0 14 14'%3e %3cpath fill='%23616161' d='M12.471 7.529a.748.748 0 0 0-1.057-1.058L7.75 10.127V1.75a.75.75 0 0 0-1.5 0v8.378l-3.653-3.66a.753.753 0 1 0-1.065 1.064l4.76 4.76a1 1 0 0 0 1.415 0z' class='jp-icon3'/%3e %3c/svg%3e"},16580:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' viewBox='0 0 14 14'%3e %3cpath fill='%23616161' d='M1.529 6.471a.748.748 0 0 0 1.057 1.058L6.25 3.873v8.377a.75.75 0 0 0 1.5 0V3.873l3.653 3.659a.753.753 0 1 0 1.065-1.064l-4.76-4.76a1 1 0 0 0-1.415 0z' class='jp-icon3'/%3e %3c/svg%3e"},40226:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2m-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3z' class='jp-icon3'/%3e %3c/svg%3e"},94702:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 28 28'%3e %3cpath fill='%23616161' d='M4 19h2v.5H5v1h1v.5H4v1h3v-4H4zm1-9h1V6H4v1h1zm-1 3h1.8L4 15.1v.9h3v-1H5.2L7 12.9V12H4zm5-6v2h14V7zm0 14h14v-2H9zm0-6h14v-2H9z' class='jp-icon3'/%3e %3c/svg%3e"},14606:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M12 2.02c-5.51 0-9.98 4.47-9.98 9.98s4.47 9.98 9.98 9.98 9.98-4.47 9.98-9.98S17.51 2.02 12 2.02M11.48 20v-6.26H8L13 4v6.26h3.35z' class='jp-icon3'/%3e %3c/svg%3e"},30958:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m7 18H5V4h2v3h10V4h2z' class='jp-icon3'/%3e %3c/svg%3e"},35545:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8 8 0 0 1 7.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7z' class='jp-icon3'/%3e %3c/svg%3e"},74078:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 18 18'%3e %3cpath fill='%23616161' d='M9 13.5c-2.49 0-4.5-2.01-4.5-4.5S6.51 4.5 9 4.5c1.24 0 2.36.52 3.17 1.33L10 8h5V3l-1.76 1.76A6 6 0 0 0 9 3C5.69 3 3.01 5.69 3.01 9S5.69 15 9 15a5.98 5.98 0 0 0 5.9-5h-1.52c-.46 2-2.24 3.5-4.38 3.5' class='jp-icon3'/%3e %3c/svg%3e"},38072:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M8 5v14l11-7z' class='jp-icon3'/%3e %3c/svg%3e"},47430:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M17 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z' class='jp-icon3'/%3e %3c/svg%3e"},60829:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 18 18'%3e %3cpath fill='%23616161' d='M12.1 10.9h-.7l-.2-.2c.8-.9 1.3-2.2 1.3-3.5 0-3-2.4-5.4-5.4-5.4S1.8 4.2 1.8 7.1s2.4 5.4 5.4 5.4c1.3 0 2.5-.5 3.5-1.3l.2.2v.7l4.1 4.1 1.2-1.2zm-5 0c-2.1 0-3.7-1.7-3.7-3.7s1.7-3.7 3.7-3.7 3.7 1.7 3.7 3.7-1.6 3.7-3.7 3.7' class='jp-icon3'/%3e %3c/svg%3e"},85077:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M6 6h12v12H6z' class='jp-icon3'/%3e %3c/svg%3e"},39699:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M21 8H3V4h18zm0 2H3v4h18zm0 6H3v4h18z' class='jp-icon3'/%3e %3c/svg%3e"},76047:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 43 28'%3e %3cpath fill='%23616161' d='M28.833 12.334 33 16.501l4.166-4.167zM16.21 21.61c-.523.52-1.366.52-1.885 0l-7.342-6.885c-.41-.386-.9-1.115-.935-1.677-.095-1.52-.028-4.429.018-5.971A1.093 1.093 0 0 1 7.118 6.03c1.97-.046 6.146-.095 6.534.293l8.085 7.315c.519.52.048 1.833-.475 2.356zM9.775 8.265a1.126 1.126 0 1 0-1.593 1.592 1.126 1.126 0 0 0 1.593-1.592' class='jp-icon3'/%3e %3c/svg%3e"},12673:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3z' class='jp-icon3'/%3e %3c/svg%3e"},76035:e=>{"use strict";e.exports="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' viewBox='0 0 24 24'%3e %3cpath fill='%23616161' d='M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8' class='jp-icon3'/%3e %3c/svg%3e"}}]); |