jupyterlab-unianalytics-dashboard 4.0.10__py3-none-any.whl → 4.0.12__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- jupyterlab_unianalytics_dashboard/_version.py +1 -1
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/package.json +15 -14
- jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/schemas/jupyterlab_unianalytics_dashboard/endpoint.json +20 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/schemas/jupyterlab_unianalytics_dashboard/package.json.orig +14 -13
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/schemas/jupyterlab_unianalytics_dashboard/plugin.json +2 -2
- jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/419.bc776490b47251cde8d2.js +1 -0
- jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/817.6437962faf359015be36.js +1 -0
- jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/remoteEntry.98f382afe486f870e4b1.js +1 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/third-party-licenses.json +30 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.dist-info → jupyterlab_unianalytics_dashboard-4.0.12.dist-info}/METADATA +29 -29
- {jupyterlab_unianalytics_dashboard-4.0.10.dist-info → jupyterlab_unianalytics_dashboard-4.0.12.dist-info}/RECORD +31 -29
- {jupyterlab_unianalytics_dashboard-4.0.10.dist-info → jupyterlab_unianalytics_dashboard-4.0.12.dist-info}/WHEEL +1 -1
- jupyterlab_unianalytics_dashboard-4.0.10.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/419.8d7c0e30d3f058138a25.js +0 -1
- jupyterlab_unianalytics_dashboard-4.0.10.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/remoteEntry.15fd120369cc5a6ff1e7.js +0 -1
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/etc/jupyter/jupyter_server_config.d/jupyterlab_unianalytics_dashboard.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/install.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/10.1e5c908a94fc4b83c2e5.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/18.759fbf2374edc42b5c3e.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/18.759fbf2374edc42b5c3e.js.LICENSE.txt +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/308.d9da4ce35f354c6f12e1.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/39.5a3b28a79ba693a9b627.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/426.a7015f9dfda310972c1b.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/546.d280746d2a5a5e5b9fc3.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/563.b613f734176cb51510ef.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/638.d37271636c4d956096de.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/708.323c3614d31a5918cfaf.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/708.323c3614d31a5918cfaf.js.LICENSE.txt +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/744.329dc4d1ed2f5c918266.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/798.33a8f0893a66574e9259.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/981.ebb9e1d6122980b5ff0e.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/981.ebb9e1d6122980b5ff0e.js.LICENSE.txt +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.data → jupyterlab_unianalytics_dashboard-4.0.12.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/style.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.10.dist-info → jupyterlab_unianalytics_dashboard-4.0.12.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jupyterlab_unianalytics_dashboard",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.12",
|
|
4
4
|
"description": "A JupyterLab dashboard extension to visualize data from students.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
@@ -30,26 +30,26 @@
|
|
|
30
30
|
"url": "https://github.com/chili-epfl/jupyter-dashboard-visu-extension.git"
|
|
31
31
|
},
|
|
32
32
|
"scripts": {
|
|
33
|
-
"build": "
|
|
34
|
-
"build:prod": "
|
|
33
|
+
"build": "jlpm build:lib && jlpm build:labextension:dev",
|
|
34
|
+
"build:prod": "jlpm clean && jlpm build:lib:prod && jlpm build:labextension",
|
|
35
35
|
"build:labextension": "jupyter labextension build .",
|
|
36
36
|
"build:labextension:dev": "jupyter labextension build --development True .",
|
|
37
37
|
"build:lib": "tsc --sourceMap",
|
|
38
38
|
"build:lib:prod": "tsc",
|
|
39
|
-
"clean": "
|
|
39
|
+
"clean": "jlpm clean:lib",
|
|
40
40
|
"clean:lib": "rimraf lib tsconfig.tsbuildinfo",
|
|
41
41
|
"clean:lintcache": "rimraf .eslintcache .stylelintcache",
|
|
42
42
|
"clean:labextension": "rimraf jupyterlab_unianalytics_dashboard/labextension jupyterlab_unianalytics_dashboard/_version.py",
|
|
43
|
-
"clean:all": "
|
|
44
|
-
"eslint": "
|
|
43
|
+
"clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache",
|
|
44
|
+
"eslint": "jlpm eslint:check --fix",
|
|
45
45
|
"eslint:check": "eslint . --cache --ext .ts,.tsx",
|
|
46
|
-
"install:extension": "
|
|
47
|
-
"lint": "
|
|
48
|
-
"lint:check": "
|
|
49
|
-
"prettier": "
|
|
46
|
+
"install:extension": "jlpm build",
|
|
47
|
+
"lint": "jlpm stylelint && jlpm prettier && jlpm eslint",
|
|
48
|
+
"lint:check": "jlpm stylelint:check && jlpm prettier:check && jlpm eslint:check",
|
|
49
|
+
"prettier": "jlpm prettier:base --write --list-different",
|
|
50
50
|
"prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"",
|
|
51
|
-
"prettier:check": "
|
|
52
|
-
"stylelint": "
|
|
51
|
+
"prettier:check": "jlpm prettier:base --check",
|
|
52
|
+
"stylelint": "jlpm stylelint:check --fix",
|
|
53
53
|
"stylelint:check": "stylelint --cache \"style/**/*.css\"",
|
|
54
54
|
"test": "jest --coverage",
|
|
55
55
|
"watch": "run-p watch:src watch:labextension",
|
|
@@ -69,7 +69,8 @@
|
|
|
69
69
|
"react-bootstrap": "^2.10.0",
|
|
70
70
|
"react-bootstrap-icons": "^1.10.3",
|
|
71
71
|
"react-chartjs-2": "^5.2.0",
|
|
72
|
-
"react-redux": "^8.0.5"
|
|
72
|
+
"react-redux": "^8.0.5",
|
|
73
|
+
"socket.io-client": "^4.7.5"
|
|
73
74
|
},
|
|
74
75
|
"devDependencies": {
|
|
75
76
|
"@jupyterlab/builder": "^4.0.0",
|
|
@@ -123,7 +124,7 @@
|
|
|
123
124
|
"outputDir": "jupyterlab_unianalytics_dashboard/labextension",
|
|
124
125
|
"schemaDir": "schema",
|
|
125
126
|
"_build": {
|
|
126
|
-
"load": "static/remoteEntry.
|
|
127
|
+
"load": "static/remoteEntry.98f382afe486f870e4b1.js",
|
|
127
128
|
"extension": "./extension",
|
|
128
129
|
"style": "./style"
|
|
129
130
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"jupyter.lab.setting-icon-label": "Unianalytics: Dashboard Endpoint",
|
|
3
|
+
"title": "Unianalytics: Dashboard Endpoint",
|
|
4
|
+
"properties": {
|
|
5
|
+
"useLocalBackend": {
|
|
6
|
+
"type": "boolean",
|
|
7
|
+
"title": "Use local backend",
|
|
8
|
+
"description": "Whether to point the dashboard extension at a locally hosted backend (checked) or the endpoint provided below (unchecked).",
|
|
9
|
+
"default": false
|
|
10
|
+
},
|
|
11
|
+
"backendEndpoint": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"title": "Backend endpoint URL",
|
|
14
|
+
"description": "Ignored if 'Use local backend' is checked, traffic will be routed to 'localhost'",
|
|
15
|
+
"default": "https://api-unianalytics-elb.unianalytics.ch"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"additionalProperties": false,
|
|
19
|
+
"type": "object"
|
|
20
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jupyterlab_unianalytics_dashboard",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.12",
|
|
4
4
|
"description": "A JupyterLab dashboard extension to visualize data from students.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
@@ -30,26 +30,26 @@
|
|
|
30
30
|
"url": "https://github.com/chili-epfl/jupyter-dashboard-visu-extension.git"
|
|
31
31
|
},
|
|
32
32
|
"scripts": {
|
|
33
|
-
"build": "
|
|
34
|
-
"build:prod": "
|
|
33
|
+
"build": "jlpm build:lib && jlpm build:labextension:dev",
|
|
34
|
+
"build:prod": "jlpm clean && jlpm build:lib:prod && jlpm build:labextension",
|
|
35
35
|
"build:labextension": "jupyter labextension build .",
|
|
36
36
|
"build:labextension:dev": "jupyter labextension build --development True .",
|
|
37
37
|
"build:lib": "tsc --sourceMap",
|
|
38
38
|
"build:lib:prod": "tsc",
|
|
39
|
-
"clean": "
|
|
39
|
+
"clean": "jlpm clean:lib",
|
|
40
40
|
"clean:lib": "rimraf lib tsconfig.tsbuildinfo",
|
|
41
41
|
"clean:lintcache": "rimraf .eslintcache .stylelintcache",
|
|
42
42
|
"clean:labextension": "rimraf jupyterlab_unianalytics_dashboard/labextension jupyterlab_unianalytics_dashboard/_version.py",
|
|
43
|
-
"clean:all": "
|
|
44
|
-
"eslint": "
|
|
43
|
+
"clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache",
|
|
44
|
+
"eslint": "jlpm eslint:check --fix",
|
|
45
45
|
"eslint:check": "eslint . --cache --ext .ts,.tsx",
|
|
46
|
-
"install:extension": "
|
|
47
|
-
"lint": "
|
|
48
|
-
"lint:check": "
|
|
49
|
-
"prettier": "
|
|
46
|
+
"install:extension": "jlpm build",
|
|
47
|
+
"lint": "jlpm stylelint && jlpm prettier && jlpm eslint",
|
|
48
|
+
"lint:check": "jlpm stylelint:check && jlpm prettier:check && jlpm eslint:check",
|
|
49
|
+
"prettier": "jlpm prettier:base --write --list-different",
|
|
50
50
|
"prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"",
|
|
51
|
-
"prettier:check": "
|
|
52
|
-
"stylelint": "
|
|
51
|
+
"prettier:check": "jlpm prettier:base --check",
|
|
52
|
+
"stylelint": "jlpm stylelint:check --fix",
|
|
53
53
|
"stylelint:check": "stylelint --cache \"style/**/*.css\"",
|
|
54
54
|
"test": "jest --coverage",
|
|
55
55
|
"watch": "run-p watch:src watch:labextension",
|
|
@@ -69,7 +69,8 @@
|
|
|
69
69
|
"react-bootstrap": "^2.10.0",
|
|
70
70
|
"react-bootstrap-icons": "^1.10.3",
|
|
71
71
|
"react-chartjs-2": "^5.2.0",
|
|
72
|
-
"react-redux": "^8.0.5"
|
|
72
|
+
"react-redux": "^8.0.5",
|
|
73
|
+
"socket.io-client": "^4.7.5"
|
|
73
74
|
},
|
|
74
75
|
"devDependencies": {
|
|
75
76
|
"@jupyterlab/builder": "^4.0.0",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"jupyter.lab.setting-icon": "jupyterlab_unianalytics_dashboard:visu-icon",
|
|
3
|
-
"jupyter.lab.setting-icon-label": "Unianalytics Dashboards",
|
|
4
|
-
"title": "Unianalytics Dashboards",
|
|
3
|
+
"jupyter.lab.setting-icon-label": "Unianalytics: Dashboards",
|
|
4
|
+
"title": "Unianalytics: Dashboards",
|
|
5
5
|
"description": "Settings for both unianalytics side panel visualization widgets.",
|
|
6
6
|
"jupyter.lab.menus": {
|
|
7
7
|
"main": [
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkjupyterlab_unianalytics_dashboard=self.webpackChunkjupyterlab_unianalytics_dashboard||[]).push([[419],{575:(e,t,o)=>{o.r(t),o.d(t,{BACKEND_API_URL:()=>At,CURRENT_NOTEBOOK_ID:()=>Ot,PERSISTENT_USER_ID:()=>Mt,WEBSOCKET_API_URL:()=>Bt,default:()=>$t,setCurrentNotebookId:()=>Tt});var a=o(2677),n=o(5018),s=o(2682),l=o(2832);o(4039);const r="jupyterlab_unianalytics_dashboard",i=`${r}:plugin`,c=`${r}_access_token`,d=`${r}_refresh_token`,h=`${r}/commondashboard:redux_state`;var u;!function(e){e.dashboardOpenVisu=`${r}:dashboard-open-visu`,e.uploadNotebook=`${r}:dashboard-upload-notebook`,e.copyDownloadLink=`${r}:dashboard-copy-download-link`}(u||(u={}));const m='.jp-DirListing-item[data-file-type="notebook"]',p="unianalytics";var g;!function(e){e.notebookId=`${p}_notebook_id`,e.cellMapping=`${p}_cell_mapping`}(g||(g={}));const b=[{key:"timeDesc",label:"Time (most recent 1st)",method:(e,t)=>new Date(e.t_finish)<new Date(t.t_finish)?1:-1},{key:"timeAsc",label:"Time (oldest 1st)",method:(e,t)=>new Date(e.t_finish)>new Date(t.t_finish)?1:-1},{key:"inputAsc",label:"Input (shortest 1st)",method:(e,t)=>e.cell_input.length-t.cell_input.length},{key:"inputDesc",label:"Input (longest 1st)",method:(e,t)=>t.cell_input.length-e.cell_input.length},{key:"outputAsc",label:"Output (shortest 1st)",method:(e,t)=>e.cell_output_length-t.cell_output_length},{key:"outputDesc",label:"Output (longest 1st)",method:(e,t)=>t.cell_output_length-e.cell_output_length}];var v;class k{static async setJupyterVersion(e){k._jupyterVersion=e,await k._setEditorLanguageRegistry(),await k._asyncImports()}static async _setEditorLanguageRegistry(){if(4===k._jupyterVersion){const{StreamLanguage:e}=await o.e(373).then(o.t.bind(o,1373,23)),{EditorLanguageRegistry:t,parseMathIPython:a}=await Promise.resolve().then(o.t.bind(o,5677,23)),n=new t;t.getDefaultLanguages().forEach((e=>{n.addLanguage(e)})),n.addLanguage({name:"ipythongfm",mime:"text/x-ipythongfm",load:async()=>{const[t,s]=await Promise.all([Promise.all([o.e(638),o.e(211),o.e(373),o.e(376)]).then(o.bind(o,8638)),o.e(10).then(o.bind(o,8010))]);return t.markdown({base:t.markdownLanguage,codeLanguages:e=>n.findBest(e),extensions:[a(e.define(s.stexMath).parser)]})}}),k._editorDefaultLanguages=n}}static async _asyncImports(){if(4===k._jupyterVersion){const{EditorView:e}=await o.e(211).then(o.t.bind(o,6211,23));this._EditorView=e;const{jupyterTheme:t}=await Promise.resolve().then(o.t.bind(o,5677,23));this._jupyterTheme=t}}static checkJupyterVersionSet(){if(null===k._jupyterVersion)throw new Error("JupyterLab version is not set in CompatibilityManager before trying to access it.")}static observeEditorVisibility(e){return 3===k._jupyterVersion?new IntersectionObserver((t=>{t[0].isIntersecting&&e.refresh()}),{root:null,threshold:.5}):null}}v=k,k._jupyterVersion=null,k._editorDefaultLanguages=void 0,k._EditorView=void 0,k._jupyterTheme=void 0,k.getMetadataComp=(e,t)=>{var o;return k.checkJupyterVersionSet(),4===k._jupyterVersion?null==e?void 0:e.getMetadata(t):null===(o=null==e?void 0:e.metadata)||void 0===o?void 0:o.get(t)},k.setMetadataComp=(e,t,o)=>{var a;k.checkJupyterVersionSet(),4===k._jupyterVersion?null==e||e.setMetadata(t,o):null===(a=null==e?void 0:e.metadata)||void 0===a||a.set(t,o)},k.deleteMetadataComp=(e,t)=>{var o;return k.checkJupyterVersionSet(),4===k._jupyterVersion?null==e?void 0:e.deleteMetadata(t):null===(o=null==e?void 0:e.metadata)||void 0===o?void 0:o.delete(t)},k.getFileComp=e=>{var t;k.checkJupyterVersionSet();const o=null===(t=e.tracker.currentWidget)||void 0===t?void 0:t.selectedItems().next();return 4===k._jupyterVersion?null==o?void 0:o.value:o},k.getCellsArrComp=e=>(k.checkJupyterVersionSet(),e?Array.from({length:e.length},((t,o)=>e.get(o))):null),k.getCodeMirrorOptionsComp=()=>(k.checkJupyterVersionSet(),4===k._jupyterVersion?{extensions:[v._jupyterTheme,v._EditorView.lineWrapping,v._EditorView.editable.of(!1)],languages:k._editorDefaultLanguages}:{config:{readOnly:!0}}),k.getNextWidgetValueComp=e=>{var t;return k.checkJupyterVersionSet(),4===k._jupyterVersion?null===(t=e.next())||void 0===t?void 0:t.value:e.next()};const w=(e,t)=>{var o,a;return`displayRealTime=${null===(o=e.displayRealTime[t])||void 0===o||o}`+(e.t1ISOString[t]?"&t1="+e.t1ISOString[t]:"")+((null===(a=e.selectedGroups[t])||void 0===a?void 0:a.length)>0?"&selectedGroups="+encodeURIComponent(JSON.stringify(e.selectedGroups[t])):"")},_=async(e,t)=>{const o=await C(e,t);if(401===o.status){const a=await o.json();if("expired_token"===(null==a?void 0:a.status)){if(await y())return C(e,t);console.log(`${r}: Token refresh failed.`)}}return o},C=async(e,t)=>{const o={headers:{Authorization:`Bearer ${sessionStorage.getItem(c)}`}},a={...o,...t,headers:{...o.headers,...(null==t?void 0:t.headers)||{}}};return fetch(e,a)},y=async()=>{const e=await fetch(`${At}/auth/refresh`,{method:"POST",headers:{Authorization:`Bearer ${sessionStorage.getItem(d)}`}});if(e.ok){const t=await e.json();if(null==t?void 0:t.access_token)return sessionStorage.setItem(c,t.access_token),!0}return!1},f=e=>!!(e&&!e.isDisposed&&e.context.isReady&&k.getMetadataComp(e.context.model,g.notebookId)&&k.getMetadataComp(e.context.model,g.cellMapping)),E=(e,t)=>!(!e||!t)&&e.length===t.length&&e.every(((e,o)=>e===t[o]));var S=o(6029),x=o.n(S),N=o(1731),I=o(7756);const D=e=>{const[t,o]=(0,S.useState)(!1);return x().createElement("div",null,x().createElement("p",null,"Successfully uploaded, can be downloaded accessing:"),x().createElement("div",{className:"unianalytics-link-container"},x().createElement("div",{className:"unianalytics-link"},e.url),x().createElement("div",{className:"unianalytics-link-button-container"},x().createElement("button",{className:"unianalytics-link-button",onClick:()=>{navigator.clipboard.writeText(e.url).then((()=>{o(!0)})).catch((e=>{console.error(`${r}: Error copying to clipboard: `,e)}))}},t?x().createElement(N.checkIcon.react,null):x().createElement(N.copyIcon.react,null)))))};const O=new N.LabIcon({name:`${r}:visu-icon`,svgstr:'<svg height="200px" width="200px" viewBox="0 0 512 512.001"\nxmlns="http://www.w3.org/2000/svg">\n <g id="SVGRepo_bgCarrier" stroke-width="0"></g>\n <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>\n <g id="SVGRepo_iconCarrier"> \n <g> <g> \n <g> <path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" d="M105.094,307.2h129.347c16.345,0,29.642-13.298,29.642-29.642v-43.116c0-16.344-13.297-29.642-29.642-29.642H105.094 c-16.344,0-29.642,13.298-29.642,29.642v43.116C75.452,293.902,88.75,307.2,105.094,307.2z M91.621,234.442 c0-7.43,6.044-13.474,13.474-13.474h129.347c7.43,0,13.474,6.044,13.474,13.474v43.116c0,7.43-6.044,13.474-13.474,13.474 H105.094c-7.43,0-13.474-6.044-13.474-13.474V234.442z"></path> \n <path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" d="M509.633,476.642l-21.558-21.558c-3.157-3.156-8.275-3.156-11.433,0c-3.157,3.157-3.157,8.275,0,11.433l7.758,7.757H51.2 c-7.43,0-13.474-6.044-13.474-13.474V27.601l7.758,7.758c3.156,3.156,8.275,3.156,11.432,0c3.157-3.157,3.157-8.275,0-11.433 L35.358,2.367c-3.156-3.156-8.275-3.156-11.432,0L2.368,23.925c-3.157,3.157-3.157,8.275,0,11.433 c3.156,3.156,8.275,3.156,11.432,0l7.758-7.758V460.8c0,16.344,13.298,29.642,29.642,29.643h433.198l-7.758,7.757 c-3.157,3.157-3.157,8.275,0,11.433c1.579,1.578,3.649,2.367,5.717,2.367c2.068,0,4.138-0.789,5.717-2.367l21.558-21.558 C512.79,484.917,512.79,479.799,509.633,476.642z"></path>\n <path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" d="M105.094,177.853h377.263c16.344,0,29.642-13.298,29.642-29.642v-43.116c0-16.344-13.298-29.642-29.642-29.642H105.094 c-16.344,0-29.642,13.298-29.642,29.642v43.116C75.452,164.555,88.75,177.853,105.094,177.853z M91.621,105.095 c0-7.43,6.045-13.474,13.474-13.474h377.263c7.43,0,13.474,6.044,13.474,13.474v43.116c0,7.43-6.044,13.474-13.474,13.474 H105.094c-7.43,0-13.474-6.044-13.474-13.474V105.095z"></path> \n <path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" d="M105.094,436.548H353.01c16.344,0,29.642-13.298,29.642-29.642V363.79c0-16.344-13.298-29.642-29.642-29.642H105.094 c-16.344,0-29.642,13.298-29.642,29.642v43.116C75.452,423.25,88.75,436.548,105.094,436.548z M91.621,363.79 c0-7.43,6.044-13.474,13.474-13.474H353.01c7.43,0,13.474,6.044,13.474,13.474v43.116c0,7.43-6.044,13.474-13.474,13.474H105.094 c-7.43,0-13.474-6.044-13.474-13.474V363.79z"></path> </g>\n </g> </g> </g>\n </svg>'}),T=new N.LabIcon({name:`${r}:hide-icon`,svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye-slash-fill" viewBox="0 0 16 16">\n <path d="m10.79 12.912-1.614-1.615a3.5 3.5 0 0 1-4.474-4.474l-2.06-2.06C.938 6.278 0 8 0 8s3 5.5 8 5.5a7.029 7.029 0 0 0 2.79-.588zM5.21 3.088A7.028 7.028 0 0 1 8 2.5c5 0 8 5.5 8 5.5s-.939 1.721-2.641 3.238l-2.062-2.062a3.5 3.5 0 0 0-4.474-4.474L5.21 3.089z"/>\n <path d="M5.525 7.646a2.5 2.5 0 0 0 2.829 2.829l-2.83-2.829zm4.95.708-2.829-2.83a2.5 2.5 0 0 1 2.829 2.829zm3.171 6-12-12 .708-.708 12 12-.708.708z"/>\n</svg>'}),M=new N.LabIcon({name:`${r}:show-icon`,svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye-fill" viewBox="0 0 16 16">\n <path d="M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z"/>\n <path d="M0 8s3-5.5 8-5.5S16 8 16 8s-3 5.5-8 5.5S0 8 0 8zm8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z"/>\n</svg>'});var R=o(3748);const A={displayDashboard:!0,hasNotebookId:!1},B=(0,R.createSlice)({name:"tocdashboard",initialState:A,reducers:{setDisplayHideDashboard:(e,t)=>{e.displayDashboard=t.payload},setHasNotebookId:(e,t)=>{e.hasNotebookId=t.payload}}}),{setDisplayHideDashboard:L,setHasNotebookId:$}=B.actions,H=B.reducer,F={navigationState:[{pageName:"Notebook"}]},V=(0,R.createSlice)({name:"sidedashboard",initialState:F,reducers:{navigateToNotebook:(e,t)=>{e.navigationState=[{pageName:"Notebook"}]},navigateToCell:(e,t)=>{e.navigationState=[{pageName:"Notebook"},{pageName:"Cell",content:{cellId:t.payload.cellId}}]},navigateToHistory:(e,t)=>{e.navigationState=e.navigationState.slice(0,t.payload+1)},resetNavigationState:(e,t)=>{e.navigationState=F.navigationState}}}),{navigateToNotebook:z,navigateToCell:j,navigateToHistory:U,resetNavigationState:P}=V.actions,G=V.reducer,W={notebookCells:null,refreshBoolean:!1,sortBy:{},dashboardQueryArgs:{displayRealTime:{},t1ISOString:{},selectedGroups:{}}},J=(0,R.createSlice)({name:"commondashboard",initialState:W,reducers:{setDashboardQueryArgsTimeFilter:(e,t)=>{const{notebookId:o,t1ISOString:a}=t.payload;e.dashboardQueryArgs.t1ISOString[o]=a},setDashboardQueryArgsSelectedGroups:(e,t)=>{const{notebookId:o,groups:a}=t.payload,n=e.dashboardQueryArgs.selectedGroups[o]||[];if(!E(n,a))return{...e,dashboardQueryArgs:{...e.dashboardQueryArgs,selectedGroups:{...e.dashboardQueryArgs.selectedGroups,[o]:a}}}},setDashboardQueryArgsDisplayRealTime:(e,t)=>{const{notebookId:o,displayRealTime:a}=t.payload;e.dashboardQueryArgs.displayRealTime[o]=a},setSortBy:(e,t)=>{const{notebookId:o,sortCriterion:a}=t.payload;e.sortBy[o]=a},setNotebookCells:(e,t)=>{e.notebookCells=t.payload},refreshDashboards:e=>{e.refreshBoolean=!e.refreshBoolean}}}),{setDashboardQueryArgsTimeFilter:Q,setDashboardQueryArgsSelectedGroups:K,setDashboardQueryArgsDisplayRealTime:q,setSortBy:Z,setNotebookCells:X,refreshDashboards:Y}=J.actions,ee=J.reducer,te=e=>t=>o=>{const a=t(o);if(o.type.startsWith("commondashboard/")){const t=e.getState();localStorage.setItem(h,JSON.stringify(t.commondashboard))}return a},oe={commondashboard:localStorage.getItem(h)?JSON.parse(localStorage.getItem(h)):W},ae=(0,R.configureStore)({reducer:{tocdashboard:H,sidedashboard:G,commondashboard:ee},middleware:e=>e().concat(te),preloadedState:oe});var ne,se=o(9184),le=o(1363),re=o(4901);class ie{}!function(e){e.LOADING="Loading",e.NOTFOUND="Notebook not Registered",e.USERNOTAUTHORIZED="No User Permission for this Notebook",e.EXPIREDTOKEN="Expired Login Token",e.INVALIDCREDENTIALS="Invalid Credentials",e.ERROR="Fetching Error",e.SUCCESS="Success"}(ne||(ne={}));var ce=o(9156);const de=ae.dispatch;class he{constructor(){this._socket=null}_createSocket(e,t){this._socket=(0,ce.io)(`${Bt}?conType=TEACHER&nbId=${e}&userId=${t}`,{transports:["websocket"]}),this._socket.on("connect",(()=>{console.log(`${r}: SocketIO connection opened for:`,{notebookId:e,userId:t})})),this._socket.on("disconnect",(o=>{console.log(`${r}: SocketIO connection closed (reason: ${o}) for:`,{notebookId:e,userId:t})})),this._socket.on("refreshDashboard",(()=>{de(Y()),console.log(`${r}: Received refresh dashboard request`)})),this._socket.on("chat",(e=>{console.log(`${r}: message received : ${e}`)})),this._socket.on("connect_error",(e=>{console.error(`${r}: SocketIO error; `,e)}))}establishSocketConnection(e){this.closeSocketConnection(),e&&Mt&&this._createSocket(e,Mt)}closeSocketConnection(){this._socket&&this._socket.close(),this._socket=null}sendMessageToUser(e,t){this._socket&&this._socket.emit("send_message",{userId:e,message:t})}}const ue=ae.dispatch;class me{constructor(){this._panelUpdatedSignal=new re.Signal(this),this._panelSwitchedSignal=new re.Signal(this),this._ongoingContextId="",this._ongoingCheckId="",this._panel=null,this._monitor=null,this._validityChecks={tag:null,registered:ne.LOADING},this._websocketManager=new he}get validityChecks(){return this._validityChecks}get notebookCells(){return this._notebookCells}get websocketManager(){return this._websocketManager}get panel(){return this._panel}set panel(e){if(this._panel===e)return;if(this._panel&&this._panel.disposed.disconnect(this._onPanelDisposed,this),Tt(null),this._validityChecks={tag:null,registered:ne.LOADING},this._websocketManager.closeSocketConnection(),this._panel=e,this._onPanelSwitched(),this._panel&&this._panel.disposed.connect(this._onPanelDisposed,this),this._monitor&&(this._monitor.dispose(),this._monitor=null),!this._panel)return void this._onPanelUpdated();const t=crypto.randomUUID();this._ongoingContextId=t,this._panel.sessionContext.ready.then((()=>{if(this._ongoingContextId===t&&this._panel&&!this._panel.isDisposed){if(this._monitor=new le.ActivityMonitor({signal:this._panel.context.model.contentChanged,timeout:1e3}),this._monitor.activityStopped.connect(this._onPanelUpdated,this),f(this._panel)){const e=k.getMetadataComp(this._panel.model,g.notebookId);Tt(e),this._validityChecks={tag:e,registered:ne.LOADING},this._performRegistrationCheck()}this._onPanelUpdated()}}))}_performRegistrationCheck(){const e=crypto.randomUUID();this._ongoingCheckId=e;let t=ne.ERROR;_(`${At}/dashboard/${this._validityChecks.tag}/check`).then((e=>e.json())).then((e=>{(null==e?void 0:e.status)?"expired_token"===e.status?t=ne.EXPIREDTOKEN:"not_found"===e.status?t=ne.NOTFOUND:"no_user_permission"===e.status?t=ne.USERNOTAUTHORIZED:"success"===e.status&&(t=ne.SUCCESS):t=ne.INVALIDCREDENTIALS})).catch((e=>{console.log(`${r}: Notebook check fetching error (check your connection).`+e)})).finally((()=>{this._ongoingCheckId===e&&this._panel&&!this._panel.isDisposed&&(this._validityChecks.registered=t,this._validityChecks.registered===ne.SUCCESS&&(ue(P()),this._websocketManager.establishSocketConnection(this._validityChecks.tag)),this._panelUpdatedSignal.emit(void 0))}))}_onPanelDisposed(e){this.panel=null}get panelSwitched(){return this._panelSwitchedSignal}_onPanelSwitched(){this._panelSwitchedSignal.emit(void 0)}get panelUpdated(){return this._panelUpdatedSignal}_onPanelUpdated(){this._updateCellList(),this._panelUpdatedSignal.emit(void 0)}_updateCellList(){var e,t;const o=k.getCellsArrComp(null===(t=null===(e=this.panel)||void 0===e?void 0:e.model)||void 0===t?void 0:t.cells);if(o){const e=o.map((e=>e.id));if(!E(e,this._notebookCells)){this._notebookCells=e;const t=o.map((e=>({id:e.id,cellType:e.type})));return ue(X(t)),!0}}else this._notebookCells=null;return!1}}var pe=o(7760),ge=o(8559);const be=()=>x().createElement("div",{style:{width:"100%",textAlign:"center",margin:"50px 0"}},x().createElement(ge.Spinner,{style:{width:"50px",height:"50px",fontSize:"x-large"},animation:"border",role:"status",variant:"primary"})),ve=({title:e,placeholderText:t="No data for the opened notebook"})=>x().createElement("div",{className:"dashboard-TableOfContents"},x().createElement("div",{className:"dashboard-stack-panel-header"},"Side Panel Dashboard"),x().createElement("div",{className:"dashboard-TableOfContents-placeholder"},x().createElement("div",{className:"dashboard-TableOfContents-placeholderContent"},x().createElement("h3",null,e),x().createElement("p",null,t))));class ke extends I.ReactWidget{constructor(e){super(),this.addClass("dashboard-panel"),this._panelManager=e,e.panelUpdated.connect((()=>this.update()),this)}onAfterShow(e){this.update()}onUpdateRequest(e){super.onUpdateRequest(e)}render(){if(!this._panelManager.panel)return S.createElement(ve,{title:"No Notebook",placeholderText:"Open a notebook to start viewing its content."});if(!this._panelManager.panel.context.isReady)return S.createElement(be,null);if(!this._panelManager.validityChecks.tag)return S.createElement(ve,{title:"Notebook not Tagged for Tracking"});switch(this._panelManager.validityChecks.registered){case ne.LOADING:return S.createElement(be,null);case ne.SUCCESS:return S.createElement(pe.Provider,{store:ae},this.computeComponentToRender());default:return S.createElement(ve,{title:this._panelManager.validityChecks.registered})}}}const we=ke;var _e=o(2535);class Ce{static setPermission(e){Ce._isInteractionRecordingEnabled=e}}Ce._isInteractionRecordingEnabled=!1,Ce.sendInteraction=e=>{Ce._isInteractionRecordingEnabled&&fetch(`${At}/dashboard_interaction/add`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,dashboard_user_id:Mt,time:(new Date).toISOString(),notebook_id:Ot})})};const ye=ae.dispatch,fe=()=>{const e=(0,pe.useSelector)((e=>e.sidedashboard.navigationState));return x().createElement(ge.Stack,{className:"breadcrumb-container",direction:"horizontal",gap:2},e.map(((t,o)=>x().createElement("div",{className:o===e.length-1?"breadcrumb-tile-active breadcrumb-tile":"breadcrumb-tile",onClick:()=>{"Notebook"===t.pageName?Ce.sendInteraction({click_type:"ON",signal_origin:"BREADCRUMB_TO_NOTEBOOK"}):"Cell"===t.pageName&&Ce.sendInteraction({click_type:"ON",signal_origin:"BREADCRUMB_TO_CELL"}),o!==e.length-1&&ye(U(o))}},t.pageName))),x().createElement("div",{className:"breadcrumb-buttons-container"},x().createElement(ge.Button,{className:"dashboard-button",onClick:()=>{Ce.sendInteraction({click_type:"ON",signal_origin:"DASHBOARD_REFRESH_BUTTON"}),ye(Y())}},x().createElement(_e.ArrowClockwise,{className:"dashboard-icon"}))))},Ee=e=>e.toLocaleString("sv-SE").slice(0,-3),Se=e=>{const[t,o]=(0,S.useState)(e.startT1),[a,n]=(0,S.useState)(e.startT2),s=Ee(new Date),l=t=>{o(t),e.t1Callback(t)},r=t=>{n(t),e.t2Callback(t)};return x().createElement("div",{className:"dashboard-export-dialog-container"},x().createElement("p",null,"Select the time range of the data you want to export (the past week selected by default)."),x().createElement("div",{className:"dashboard-export-dialog-calendar-container"},x().createElement("div",{className:"dashboard-export-dialog-calendar"},x().createElement("p",null,"Start Date :"),x().createElement("input",{className:"dashboard-calendar-input",type:"datetime-local",value:Ee(t),onChange:e=>(e=>{const t=new Date(e);l(t),t>=a&&r(t)})(e.target.value),max:Ee(a)})),x().createElement("div",{className:"dashboard-export-dialog-calendar"},x().createElement("p",null,"End Date :"),x().createElement("input",{className:"dashboard-calendar-input",type:"datetime-local",value:Ee(a),onChange:e=>(e=>{const o=new Date(e);r(o),o<=t&&l(o)})(e.target.value),max:s}))))},xe=e=>{const[t,o]=(0,S.useState)(!1);return x().createElement("div",{className:"dashboard-toc-download-button"+(t?"-disabled":""),onClick:()=>{t||(e=>{let t=new Date,a=new Date;a.setDate(t.getDate()-7),(0,I.showDialog)({title:"Download Notebook Data",body:x().createElement(Se,{startT1:a,startT2:t,t1Callback:e=>a=e,t2Callback:e=>t=e}),buttons:[{accept:!0,actions:[],ariaLabel:"Export",caption:"",className:"",displayType:"default",iconClass:"",iconLabel:"",label:"Export"},I.Dialog.cancelButton()]}).then((n=>{n.button.accept&&((e,t,a)=>{o(!0);let n="";_(`${At}/dashboard/${e}/download_csv?t1=${t.toISOString()}&t2=${a.toISOString()}`).then((e=>{var t;if(e.ok){const o=e.headers.get("Content-Disposition");return n=(null===(t=null==o?void 0:o.match(/filename=(.+)/))||void 0===t?void 0:t[1])||"",e.blob()}})).then((e=>{if(e){const t=window.URL.createObjectURL(e),o=document.createElement("a");o.href=t,o.download=n,document.body.appendChild(o),o.click(),o.remove()}})).finally((()=>{o(!1)}))})(e,a,t)}))})(e.notebookId)}},x().createElement(N.downloadIcon.react,{className:"dashboard-toc-download-icon"}),"Export")},Ne=ae.dispatch,Ie=[{value:1,displayName:"All Data",disabledDatePicker:!0},{value:2,displayName:"From t<sub>1</sub>",disabledDatePicker:!1}],De=e=>{const t=(0,pe.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),o=()=>{const o=t.t1ISOString[e.notebookId]?1:0;return Ie[o]},a=()=>{const o=t.t1ISOString[e.notebookId];return o?new Date(o):new Date},n=()=>void 0===t.displayRealTime[e.notebookId]||t.displayRealTime[e.notebookId],[s,l]=(0,S.useState)(o()),[r,i]=(0,S.useState)(a()),[c,d]=(0,S.useState)(n),[h,u]=(0,S.useState)(!1),m=Ee(new Date),p=()=>{h||(i(a()),l(o()),d(n())),u(!h)};return x().createElement(ge.Dropdown,{show:h,onToggle:p,className:"custom-dropdown"},x().createElement(ge.Dropdown.Toggle,{className:"dashboard-button"},x().createElement(_e.CalendarWeek,{className:"dashboard-icon"})),x().createElement(ge.Dropdown.Menu,null,x().createElement(ge.Dropdown.Header,null,"Data Timeframe Selector"),x().createElement(ge.Dropdown.Divider,null),x().createElement("div",{className:"custom-dropdown-container custom-dropdown-item"},x().createElement(ge.Form.Check,{id:"time-checkbox-include-all",type:"checkbox",label:"Only show active users",checked:c,onChange:e=>d(e.target.checked)})),x().createElement(ge.Dropdown.Divider,null),x().createElement("div",{className:"dashboard-calendar-container"},x().createElement("div",{className:"cell-radio-container"},x().createElement(ge.ButtonGroup,{size:"sm"},Ie.map(((e,t)=>x().createElement(ge.ToggleButton,{key:`calendar-filter-${t}`,id:`calendar-filter-${t}`,type:"radio",variant:"outline-primary",name:"radio",value:e.value,checked:s.value===e.value,onChange:e=>{l(Ie[Number(e.currentTarget.value)-1])}},x().createElement("span",{dangerouslySetInnerHTML:{__html:e.displayName}}))))))),x().createElement("div",{className:"dashboard-calendar-container"},x().createElement("div",{className:"dashboard-calendar-input-wrapper "+(s.disabledDatePicker?"disabled":"")},x().createElement("div",null,"t",x().createElement("sub",null,"1")),x().createElement("input",{className:"dashboard-calendar-input",type:"datetime-local",value:Ee(r),onChange:e=>i(new Date(e.target.value)),max:m}))),x().createElement("div",{className:"dashboard-calendar-button-container"},x().createElement(ge.Button,{variant:"secondary",onClick:()=>{p()}},"Cancel"),x().createElement(ge.Button,{variant:"primary",onClick:()=>{Ne(Q({notebookId:e.notebookId,t1ISOString:s.disabledDatePicker?null:r.toISOString()})),Ne(q({notebookId:e.notebookId,displayRealTime:c})),Ce.sendInteraction({click_type:1===s.value?"OFF":"ON",signal_origin:"DASHBOARD_FILTER_TIME"}),p()}},"Ok"))))},Oe=({PassedComponent:e,title:t})=>x().createElement(ge.Row,{className:"mb-4"},x().createElement(ge.Card,{className:"chart-card"},x().createElement(ge.Card.Title,{className:"chart-card-title"},t),x().createElement(ge.Card.Body,{className:"chart-card-body"},e)));var Te=o(7885);const Me={maintainAspectRatio:!1,plugins:{legend:{labels:{color:"#969696"}}},scales:{x:{title:{display:!0,text:"Code cell",color:"#969696"},ticks:{color:"#969696"}},y:{ticks:{beginAtZero:!0,precision:0,color:"#969696"},title:{display:!0,text:"Cumulated total across all users",color:"#969696"}}}},Re={maintainAspectRatio:!1,plugins:{legend:{display:!0,labels:{usePointStyle:!0,color:"#969696"}},tooltip:{callbacks:{title:function(e){return`Cell ${e[0].raw.x}`},label:function(e){return`t: ${e.raw.y}`}}}},scales:{x:{type:"category",ticks:{color:"#969696"},title:{display:!0,text:"Cell (markdown & code)",color:"#969696"}},y:{ticks:{beginAtZero:!0,precision:0,color:"#969696"},title:{display:!0,text:"Time spent on a cell [s]",color:"#969696"}}}},Ae=e=>{const[t,o]=(0,S.useState)({labels:[],datasets:[]}),a=(0,pe.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),n=(0,pe.useSelector)((e=>e.commondashboard.refreshBoolean)),s=(0,pe.useSelector)((e=>e.commondashboard.notebookCells));return(0,S.useEffect)((()=>{_(`${At}/dashboard/${e.notebookId}/user_code_execution?${w(a,e.notebookId)}`).then((e=>e.json())).then((e=>{const t=(null==s?void 0:s.filter((e=>"code"===e.cellType)))||[],a={labels:Array.from({length:t.length},((e,t)=>t+1)),datasets:[{label:"clicks",data:Array(t.length).fill(null),backgroundColor:"rgba(51, 187, 238, 0.3)",borderColor:"rgba(51, 187, 238, 0.3)",borderWidth:1},{label:"executions",data:Array(t.length).fill(null),backgroundColor:"rgba(0, 119, 187, 0.6)",borderColor:"rgba(0, 119, 187, 0.6)",borderWidth:1},{label:"executions without errors",data:Array(t.length).fill(null),backgroundColor:"rgba(0, 153, 136, 0.9)",borderColor:"rgba(0, 153, 136, 0.9)",borderWidth:1}]};t.forEach(((t,o)=>{const n=e.find((e=>e.cell===t.id));n&&(a.datasets[0].data[o]=parseFloat(n.cell_click_pct),a.datasets[1].data[o]=parseFloat(n.code_exec_pct),a.datasets[2].data[o]=parseFloat(n.code_exec_ok_pct))})),o(a)}))}),[a,n]),x().createElement(Oe,{PassedComponent:x().createElement(Te.Bar,{data:t,options:Me}),title:"Code cell execution across users"})},Be=e=>{const[t,o]=(0,S.useState)({labels:[],datasets:[]}),a=(0,pe.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),n=(0,pe.useSelector)((e=>e.commondashboard.refreshBoolean)),s=(0,pe.useSelector)((e=>e.commondashboard.notebookCells));return(0,S.useEffect)((()=>{_(`${At}/dashboard/${e.notebookId}/user_cell_time?${w(a,e.notebookId)}`).then((e=>e.json())).then((e=>{const t={labels:s?Array.from({length:s.length},((e,t)=>t+1)):[],datasets:[{label:"time spent on a cell by a user",data:(null==s?void 0:s.flatMap(((t,o)=>{const a=e.find((e=>e.cell===t.id));return a?a.durations.map((e=>({x:o+1,y:e}))):[]})))||[],backgroundColor:"rgba(54, 162, 235, 0.2)",borderColor:"rgba(54, 162, 235, 1)",borderWidth:1,pointRadius:1}]};o(t)}))}),[a,n]),x().createElement(Oe,{PassedComponent:x().createElement(Te.Scatter,{data:t,options:Re}),title:"Amount of time spent on each cell"})},Le=ae.dispatch,$e=e=>{const[t,o]=(0,S.useState)(!1),[a,n]=(0,S.useState)([]),s=(0,pe.useSelector)((t=>t.commondashboard.dashboardQueryArgs.selectedGroups[e.notebookId])),[l,r]=(0,S.useState)(void 0===s||0===s.length);(0,S.useEffect)((()=>{_(`${At}/dashboard/${e.notebookId}/getgroups`).then((e=>e.json())).then((e=>{const t=e.map((e=>({name:e,checked:null==s?void 0:s.includes(e)}))).sort(((e,t)=>e.checked!==t.checked?t.checked?1:-1:e.name.localeCompare(t.name)));n(t)}))}),[]);const i=()=>{t||(()=>{r(void 0===s||0===s.length);const e=a.map((e=>({name:e.name,checked:null==s?void 0:s.includes(e.name)}))).sort(((e,t)=>e.checked!==t.checked?t.checked?1:-1:e.name.localeCompare(t.name)));n(e)})(),o(!t)};return x().createElement(ge.Dropdown,{id:"group-dropdown",className:"custom-dropdown",show:t,onToggle:i},x().createElement(ge.Dropdown.Toggle,{className:"dashboard-button"},x().createElement(_e.PeopleFill,{className:"dashboard-icon"})),x().createElement(ge.Dropdown.Menu,null,x().createElement(ge.Dropdown.Header,null,"Filter by group of users"),x().createElement(ge.Dropdown.Divider,null),x().createElement("div",{className:"custom-dropdown-container custom-dropdown-item"},x().createElement(ge.Form.Check,{id:"group-checkbox-include-all",type:"checkbox",label:"Include all users",checked:l,onChange:e=>r(e.target.checked)})),x().createElement(ge.Dropdown.Divider,null),x().createElement("div",{className:"group-dropdown-scroll "+(l?"disabled":"")},a.length>0?a.map(((e,t)=>x().createElement("div",{className:"custom-dropdown-item "+(l?"disabled":"")},x().createElement(ge.Form.Check,{id:`group-checkbox-${t}`,type:"checkbox",disabled:!!l||void 0,label:e.name,title:e.name,checked:e.checked,onChange:()=>(e=>{n((t=>{const o=[...t];return o[e]={...o[e],checked:!o[e].checked},o}))})(t)})))):x().createElement(ge.Dropdown.Item,{disabled:!0},"No groups available")),x().createElement("div",{className:"dashboard-calendar-button-container"},x().createElement(ge.Button,{variant:"secondary",onClick:()=>{i()}},"Cancel"),x().createElement(ge.Button,{variant:"primary",onClick:()=>{let t;t=l?[]:a.filter((e=>!0===e.checked)).map((e=>e.name)),Le(K({notebookId:e.notebookId,groups:t})),Ce.sendInteraction({click_type:0===t.length?"OFF":"ON",signal_origin:"DASHBOARD_FILTER_GROUPS"}),i()}},"Ok"))))},He=e=>x().createElement(x().Fragment,null,x().createElement("div",{className:"dashboard-title-container"},x().createElement("div",{className:"dashboard-title-text"},e.notebookName),x().createElement("div",{className:"dashboard-dropdown-container"},x().createElement($e,{notebookId:e.notebookId}),x().createElement(De,{notebookId:e.notebookId}))),x().createElement(ge.Row,null,x().createElement(ge.Col,null,x().createElement(Ae,{notebookId:e.notebookId}),x().createElement(Be,{notebookId:e.notebookId}))));var Fe=o(802);const Ve=new s.RenderMimeRegistry({initialFactories:s.standardRendererFactories}),ze=({cell_output_model:e})=>{const t=(0,S.useRef)(null),o=new Fe.OutputAreaModel;return(0,S.useEffect)((()=>{o.clear(),o.fromJSON(e);const a=t.current;if(a){a.innerHTML="";for(let e=0;e<o.length;++e){const t=o.get(e),n=Ve.preferredMimeType(t.data);if(n){const e=Ve.createRenderer(n);e.renderModel(t),a.appendChild(e.node)}}}}),[e]),x().createElement("div",{ref:t,className:"cell-content-container"})};var je=o(5677),Ue=o(5114);const Pe=({cell_input:e,language_mimetype:t,className:o})=>{const a=(0,S.useRef)(null);return(0,S.useEffect)((()=>{const o=a.current;if(o){o.innerHTML="";const a=new Ue.CodeEditor.Model;a.mimeType=t,a.sharedModel.setSource(e);const n=new je.CodeMirrorEditor({host:o,model:a,...k.getCodeMirrorOptionsComp()}),s=k.observeEditorVisibility(n);return s&&s.observe(o),()=>{s&&s.disconnect()}}}),[e,t]),x().createElement("div",{ref:a,className:o})},Ge=ae.dispatch,We=e=>{const t=(0,pe.useSelector)((t=>t.commondashboard.sortBy[e.notebookId]));return x().createElement(ge.Dropdown,{id:"order-by-dropdown",onSelect:t=>{t&&(Ce.sendInteraction({click_type:"ON",signal_origin:"CELL_DASHBOARD_FILTER_SORT"}),Ge(Z({notebookId:e.notebookId,sortCriterion:t})))},className:"custom-dropdown"},x().createElement(ge.Dropdown.Toggle,{className:"dashboard-button"},x().createElement(_e.SortUp,{className:"dashboard-icon"})),x().createElement(ge.Dropdown.Menu,null,x().createElement(ge.Dropdown.Header,null,"Sort cells by"),x().createElement(ge.Dropdown.Divider,null),b.map(((e,o)=>x().createElement(ge.Dropdown.Item,{id:`sort-item-${o}`,eventKey:e.key,className:t&&t===e.key?"highlighted":""},e.label)))))};var Je=o(2779);const Qe=e=>{const[t,o]=(0,S.useState)(null);return(0,S.useEffect)((()=>{(()=>{const t=Je.marked.parser(Je.marked.lexer(e.markdownContent));o(e.sanitizer.sanitize(t))})()}),[e.markdownContent]),x().createElement("div",{className:"cell-content-container"},t&&x().createElement("div",{className:"jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput",dangerouslySetInnerHTML:{__html:t}}))},Ke=e=>x().createElement(ge.Col,{md:12},x().createElement(ge.Card,{className:"cell-card"},x().createElement(ge.Card.Body,{style:{gap:"10px"}},x().createElement(ge.Row,{className:"cell-card-wrapper"},x().createElement(ge.Col,{md:12,className:"cell-user-title"},x().createElement(ge.Card.Text,{title:e.value.user_id||void 0},"User ",e.value.user_id?e.value.user_id.length>8?`${e.value.user_id.substring(0,8)}...`:e.value.user_id:`${e.index+1}`)),x().createElement(ge.Col,{md:12},e.ExecutionContent),(()=>{if(e.value.t_finish){const t=new Date(e.value.t_finish),o=`Executed at ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}, ${t.getDate().toString().padStart(2,"0")}/${(t.getMonth()+1).toString().padStart(2,"0")}/${t.getFullYear().toString().slice(-2)}`;return x().createElement(ge.Col,{md:12,className:"cell-execution-displayed-time"},o)}return null})())))),qe=e=>{const t=(0,S.useRef)([]),[o,a]=(0,S.useState)([]);let n=!1;const s=(0,pe.useSelector)((e=>e.sidedashboard.navigationState)),l=(0,pe.useSelector)((e=>e.commondashboard.refreshBoolean)),r=(0,pe.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),i=(0,pe.useSelector)((e=>e.commondashboard.sortBy)),[c,d]=(0,S.useState)(!0),[h,u]=(0,S.useState)(!0),[m,p]=(0,S.useState)(1),[g,v]=((e=800)=>{const[t,o]=(0,S.useState)(""),[a,n]=(0,S.useState)("");return(0,S.useEffect)((()=>{const t=setTimeout((()=>o(a)),e);return()=>clearTimeout(t)}),[a,e]),[t,n]})(),k=[{name:"All",value:1,status:"all"},{name:"Success",value:2,status:"ok"},{name:"Error",value:3,status:"error"}],C=k.map((e=>e.status)),y=t=>{const o=g.toLowerCase();o.length>0&&(t=t.filter((e=>{var t;return(null===(t=e.cell_input)||void 0===t?void 0:t.toLowerCase().includes(o))||e.cell_output_model&&JSON.stringify(e.cell_output_model).toLowerCase().includes(o)})));const n=i[e.notebookId]||"timeDesc",s=b.find((e=>e.key===n));s&&t.sort(s.method),a(t)},f=s[s.length-1].content;return(0,S.useEffect)((()=>{n=!0,_(`${At}/dashboard/${e.notebookId}/cell/${f.cellId}?${w(r,e.notebookId)}`).then((e=>e.json())).then((e=>{t.current=e,y(e),n=!1}))}),[s,r,l]),(0,S.useEffect)((()=>{if(!n){const e=[...t.current];y(e)}}),[i,g]),x().createElement(x().Fragment,null,x().createElement("div",{className:"dashboard-title-container"},x().createElement("div",{className:"dashboard-title-text"},"Cell (",f.cellId,")"),x().createElement("div",{className:"dashboard-dropdown-container"},x().createElement(We,{notebookId:e.notebookId}),x().createElement($e,{notebookId:e.notebookId}),x().createElement(De,{notebookId:e.notebookId}))),x().createElement(ge.Form,{className:"cell-filter-container",onSubmit:e=>e.preventDefault()},x().createElement("div",{className:"cell-radio-container"},x().createElement(ge.ButtonGroup,{size:"sm"},x().createElement(ge.ToggleButton,{style:{marginRight:"3px"},key:"0",id:"code-checkbox",type:"radio",variant:"outline-primary",value:"Code",checked:c,onClick:e=>{c&&!h?e.preventDefault():(Ce.sendInteraction({click_type:c?"OFF":"ON",signal_origin:"CELL_DASHBOARD_FILTER_CODE_INPUT"}),d(!c))}},"Code"),x().createElement(ge.ToggleButton,{key:"1",id:"output-checkbox",type:"radio",variant:"outline-primary",value:"Output",checked:h,onClick:e=>{!c&&h?e.preventDefault():(Ce.sendInteraction({click_type:h?"OFF":"ON",signal_origin:"CELL_DASHBOARD_FILTER_CODE_OUTPUT"}),u(!h))}},"Output"))),x().createElement("div",{className:"cell-radio-container"},x().createElement(ge.ButtonGroup,{size:"sm"},k.map(((e,t)=>x().createElement(ge.ToggleButton,{key:t,id:`filter-${t}`,type:"radio",variant:"outline-primary",name:"radio",value:e.value,checked:m===e.value,onChange:e=>{Ce.sendInteraction({click_type:"ON",signal_origin:"CELL_DASHBOARD_FILTER_EXECUTION"}),p(Number(e.currentTarget.value))}},e.name))))),x().createElement(ge.Form.Control,{size:"sm",type:"text",placeholder:"Type text to filter...",onChange:e=>v(e.target.value)})),x().createElement(x().Fragment,null,o.map(((t,o)=>x().createElement(ge.Row,{key:o},"MarkdownExecution"===t.cell_type&&["all","ok"].includes(C[m-1])?x().createElement(Ke,{value:t,index:o,ExecutionContent:x().createElement(Qe,{markdownContent:t.cell_input,sanitizer:e.sanitizer})}):x().createElement(x().Fragment,null,(1===m||C[m-1]===t.status)&&x().createElement(Ke,{value:t,index:o,ExecutionContent:x().createElement(x().Fragment,null,c&&x().createElement(Pe,{cell_input:t.cell_input,language_mimetype:t.language_mimetype,className:"cell-content-container"}),c&&h&&t.cell_output_model.length>0&&x().createElement("br",null),h&&t.cell_output_model.length>0&&x().createElement(ze,{cell_output_model:t.cell_output_model}))})))))))};var Ze=o(8352);Ze.Chart.register(...Ze.registerables);const Xe=e=>{const t=(0,pe.useSelector)((e=>e.sidedashboard.navigationState));return x().createElement("div",{className:"page-container"},x().createElement(fe,null),(()=>{switch(t[t.length-1].pageName){case"Notebook":return x().createElement(He,{notebookId:e.notebookId,notebookName:e.notebookName});case"Cell":return x().createElement(qe,{notebookId:e.notebookId,sanitizer:e.sanitizer});default:return null}})())};class Ye extends we{constructor(e,t){super(e),this.addClass("dashboard-react-widget"),this.title.caption="Side Dashboard",this.title.icon=O,this.id="side-dashboard",this.node.setAttribute("role","region"),this.node.setAttribute("aria-label","Side dashboard section"),this._sanitizer=t}onBeforeShow(e){Ce.sendInteraction({click_type:"ON",signal_origin:"RIGHT_DASHBOARD_SHOW_HIDE"})}onBeforeHide(e){Ce.sendInteraction({click_type:"OFF",signal_origin:"RIGHT_DASHBOARD_SHOW_HIDE"})}computeComponentToRender(){const e=this._panelManager.panel,t=this._panelManager.validityChecks.tag;return e&&t?S.createElement(Xe,{notebookId:t,notebookName:e.sessionContext.name,sanitizer:this._sanitizer}):S.createElement(S.Fragment,null)}}const et=(e,t)=>{const o=3*e/t+.1;return Math.min(1,o)},tt=({data:e,cellId:t,commands:o})=>x().createElement(x().Fragment,null,e&&e[0]&&e[1]?x().createElement("div",{onClick:e=>{e.preventDefault(),o.execute(u.dashboardOpenVisu,{from:"Toc",cell_id:t})},className:"dashboard-toc-react-component",style:{backgroundColor:`rgba(25, 118, 210, ${et(e[0],e[1])})`}},x().createElement("span",{className:"dashboard-toc-react-text"},e[0]+"/"+e[1])):x().createElement("div",{className:"dashboard-toc-react-component"}));class ot extends x().Component{render(){const{panel:e,heading:t,headings:o,addReactComponent:a,isFirstCellOccurrence:n,tocDashboardData:s,commands:l}=this.props,r=this.props.itemRenderer(e,t,o);return r?x().createElement("li",{className:"dashboard-tocItem",onClick:e=>{Ce.sendInteraction({click_type:"ON",signal_origin:"TOC_HEADING_CLICKED"}),e.preventDefault(),e.stopPropagation(),t.onClick()}},r,a&&x().createElement(tt,{cellId:t.cellRef.model.id,data:n?s:null,commands:l})):null}}const at=e=>{const[t,o]=(0,S.useState)(null),a=(0,pe.useSelector)((e=>e.tocdashboard.displayDashboard)),n=(0,pe.useSelector)((e=>e.commondashboard.refreshBoolean)),s=(0,pe.useSelector)((e=>e.commondashboard.dashboardQueryArgs));(0,S.useEffect)((()=>(i(),()=>{o(null)})),[e.notebookCells,e.notebookPanel]),(0,S.useEffect)((()=>{i()}),[n,s]);const l=(0,S.useRef)("12345678"),i=async()=>{const t=k.getMetadataComp(e.notebookPanel.model,g.notebookId);if(t&&e.notebookCells){try{const e=crypto.randomUUID();l.current=e;const a=await _(`${At}/dashboard/${t}/toc?${w(s,t)}`);if(e===l.current){if(a.ok){const e=await a.json();return void o(e.data)}console.log(`${r}: Error:`,a.status)}}catch(e){console.log(`${r}: Toc Fetch Error:`,e)}o(null)}},c=(t=>{const o=e.headings.map((e=>e.cellRef.model.id)),a=[...new Set(o)],n={},s=e.notebookCells;if(s&&t){const e=a.map((e=>s.indexOf(e)));e[0]=0,e.push(s.length);let o=0;for(let l=0;l<a.length;l++){const r=e[l],i=e[l+1];let c=0;if(-1===r)c=0;else for(let e=r;e<i;e++)c+=t.location_count[s[e]]||0;n[a[l]]=c,o+=c}n.total_count=o}return n})(t),d=new Set;return x().createElement("ul",{className:"dashboard-TableOfContents-content"},e.headings.map(((t,o)=>{const n=t.cellRef.model.id,s=!d.has(n);return s&&d.add(n),x().createElement(ot,{panel:e.notebookPanel,heading:t,headings:e.headings,itemRenderer:e.itemRenderer,addReactComponent:a,isFirstCellOccurrence:s,tocDashboardData:[c[n],c.total_count],commands:e.commands,key:`${t.text}-${t.level}-${o++}`})})))};class nt extends ie{constructor(e,t){super(),this._preRenderedToolbar=null,this._showCode=!1,this._showMarkdown=!1,this._numbering=t.numbering,this._numberingH1=t.numberingH1,this._syncCollapseState=t.syncCollapseState,this._widget=e,this.sanitizer=t.sanitizer,this._collapseChanged=new re.Signal(this)}set numberingH1(e){this._numberingH1!==e&&(this._numberingH1=e,this._widget.update())}get numberingH1(){return this._numberingH1}set syncCollapseState(e){this._syncCollapseState!==e&&(this._syncCollapseState=e,this._widget.update())}get syncCollapseState(){return this._syncCollapseState}setNotebookMetadata(e,t){null!==t&&t.model&&k.setMetadataComp(t.model,e[0],e[1])}setNumbering(e,t){this._numbering=e,this._widget.update(),this.setNotebookMetadata(["dashboard-toc-autonumbering",this._numbering],t)}get numbering(){return this._numbering}setShowCode(e,t){this._showCode=e,this.setNotebookMetadata(["dashboard-toc-showcode",this._showCode],t),this._widget.update()}get showCode(){return this._showCode}setShowMarkdown(e,t){this._showMarkdown=e,this.setNotebookMetadata(["dashboard-toc-showmarkdowntxt",this._showMarkdown],t),this._widget.update()}get showMarkdown(){return this._showMarkdown}get collapseChanged(){return this._collapseChanged}set preRenderedToolbar(e){this._preRenderedToolbar=e}get preRenderedToolbar(){return this._preRenderedToolbar}updateWidget(){this._widget.update()}updateAndCollapse(e){this._collapseChanged.emit(e),this._widget.update()}initializeOptions(e,t,o,a,n){this._numbering=e,this._numberingH1=t,this._syncCollapseState=o,this._showCode=a,this._showMarkdown=n,this._widget.update()}}function st(e){if(e.length>0){let t=e.length-1;for(;t>=0;){if("header"===e[t].type)return e[t].level;t-=1}}return 0}const lt="jp-MarkdownHeadingCollapsed",rt="dashboard-toc-hr-collapsed";function it(e,t,o,a,n,s){const l=[];if(e){const r=e.split("\n"),i=Math.min(r.length,3);let c="",d=0;for(;d<i-1;d++)c+=r[d]+"\n";c+=r[d],l.push({text:c,level:a+1,onClick:t(0),type:"code",prompt:o,cellRef:n,hasChild:!1,index:s})}return l[0]}function ct(e,t,o,a){if(t&&t.text){if(o&&"header"===o.type)for(let t=e.length-1;t>=0;t--)e[t]===o&&(e[t].hasChild=!0);a<0&&e.push(t),o=t}return[e,o]}const dt={allowedTags:["p","blockquote","b","i","strong","em","strike","code","br","div","span","pre","del"],allowedAttributes:{code:["class"],span:["class"],div:["class"],p:["class"],pre:["class"]}};function ht(e,t,o,a,n,s=!1,l=!0,r,i){const c=e.querySelectorAll("h1, h2, h3, h4, h5, h6, p");let d=n;const h=[];for(const e of c){if("p"===e.nodeName.toLowerCase()){if(e.innerHTML){const a=o.sanitize(e.innerHTML,dt);h.push({level:d+1,html:a.replace("¶",""),text:e.textContent?e.textContent:"",onClick:t(e),type:"markdown",cellRef:r,hasChild:!1,index:i})}continue}e.getElementsByClassName("numbering-entry").length>0&&e.removeChild(e.getElementsByClassName("numbering-entry")[0]);let n=o.sanitize(e.innerHTML,dt);n=n.replace("¶","");let c=parseInt(e.tagName[1],10);l||(c-=1),d=c;const u=pt(a,c);if(s){const t=document.createElement("span");t.classList.add("numbering-entry"),t.textContent=null!=u?u:"",e.insertBefore(t,e.firstChild)}h.push({level:c,text:e.textContent?e.textContent:"",numbering:u,html:n,onClick:t(e),type:"header",cellRef:r,hasChild:!1,index:i})}return h}function ut(e,t,o,a,n,s){return e&&"markdown"===e.type&&s?[t,o]=ct(t,e,o,a):e&&"header"===e.type&&([t,o,a]=function(e,t,o,a,n){const s=e.length;if(o&&"header"===o.type&&o.level<t.level)for(let t=s-1;t>=0;t--)e[t]===o&&(e[t].hasChild=!0);return(a>=t.level||a<0)&&(e.push(t),a=n?t.level:-1),[e,o=t,a]}(t,e,o,a,n)),[t,o,a]}const mt=6;function pt(e,t){if(null===e)return;let o="";if(e=function(e,t){for(let o=t+1;o<=mt;o++)void 0!==e[o]&&(e[o]=void 0);return void 0===e[t]?e[t]=1:e[t]+=1,e}(e,t),t>=1){for(let a=1;a<=t;a++)o+=(void 0===e[a]?"0":e[a])+".";o+=" "}return o}function gt(e){const t=e.split("\n");let o=t[0].match(/^([#]{1,6}) (.*)/);return o?{text:o[2].replace(/\[(.+)\]\(.+\)/g,"$1"),level:o[1].length,type:"markdown"}:t.length>1&&(o=t[1].match(/^ {0,3}([=]{2,}|[-]{2,})\s*$/),o)?{text:t[0].replace(/\[(.+)\]\(.+\)/g,"$1"),level:"="===o[1][0]?1:2,type:"markdown-alt"}:(o=t[0].match(/<h([1-6]).*>(.*)<\/h\1>/i),o?{text:o[2],level:parseInt(o[1],10),type:"html"}:null)}function bt(e,t,o,a,n,s){const l=t(0),r=[];let i=a;for(const t of e.split("\n"))if(t){const e=gt(t);e?(r.push({text:e.text,level:e.level,numbering:pt(o,e.level),onClick:l,type:"header",cellRef:n,hasChild:!1,index:s}),i=e.level):r.push({text:t,level:i+1,onClick:l,type:"markdown",cellRef:n,hasChild:!1,index:s})}return r}function vt(e,t,o){if(t.index>-1||(null==o?void 0:o.length)){const a=e.content.activeCellIndex,n=t.index;if(a&&n<a){const e=o.indexOf(t)+1;if(e>=o.length)return!0;if((null==o?void 0:o[e].index)>a)return!0}}return!1}const kt=ae.dispatch;function wt(e,t,o){let a=!0,n=!1;o&&o.composite.tocDashboardSettings&&(a=o.composite.tocDashboardSettings.numberingH1,n=o.composite.tocDashboardSettings.syncCollapseState);const s=new nt(e,{numbering:!1,numberingH1:a,syncCollapseState:n,sanitizer:t});return o&&o.composite.tocDashboardSettings&&o.changed.connect((()=>{s.numberingH1=o.composite.tocDashboardSettings.numberingH1,s.syncCollapseState=o.composite.tocDashboardSettings.syncCollapseState})),{options:s,toolbarGenerator:function(e){return function(e,t){return class extends S.Component{constructor(o){super(o),this.state={showCode:!0,showMarkdown:!1,numbering:!1,showVisuDashboard:A.displayDashboard},t.context.ready.then((()=>{if(t){t.content.activeCellChanged.connect((()=>{e.updateWidget()}));const o=k.getMetadataComp(t.model,"dashboard-toc-autonumbering"),a=k.getMetadataComp(t.model,"dashboard-toc-showcode"),n=k.getMetadataComp(t.model,"dashboard-toc-showmarkdowntxt");e.initializeOptions(o||e.numbering,e.numberingH1,e.syncCollapseState,a||e.showCode,n||e.showMarkdown),this.setState({showCode:e.showCode,showMarkdown:e.showMarkdown,numbering:e.numbering})}}))}toggleCode(){Ce.sendInteraction({click_type:e.showCode?"OFF":"ON",signal_origin:"TOC_TOOLBAR_CODE"}),e.setShowCode(!e.showCode,t),this.setState({showCode:e.showCode})}toggleMarkdown(){Ce.sendInteraction({click_type:e.showMarkdown?"OFF":"ON",signal_origin:"TOC_TOOLBAR_MARKDOWN"}),e.setShowMarkdown(!e.showMarkdown,t),this.setState({showMarkdown:e.showMarkdown})}toggleNumbering(){Ce.sendInteraction({click_type:e.numbering?"OFF":"ON",signal_origin:"TOC_TOOLBAR_NUMBERED"}),e.setNumbering(!e.numbering,t),this.setState({numbering:e.numbering})}toggleShowVisuDashboard(){const e=this.state.showVisuDashboard;Ce.sendInteraction({click_type:e?"OFF":"ON",signal_origin:"TOC_TOOLBAR_SHOW_HIDE"}),kt(L(!e)),this.setState({showVisuDashboard:!e})}refreshDashboard(){Ce.sendInteraction({click_type:"ON",signal_origin:"TOC_TOOLBAR_REFRESH"}),kt(Y())}render(){const e=S.createElement("div",{onClick:e=>this.toggleCode(),role:"text","aria-label":"Toggle Code Cells",title:"Toggle Code Cells",className:this.state.showCode?"dashboard-toc-toolbar-icon-selected":"dashboard-toc-toolbar-icon"},S.createElement(N.codeIcon.react,null)),t=S.createElement("div",{onClick:e=>this.toggleMarkdown(),role:"text","aria-label":"Toggle Markdown Text Cells",title:"Toggle Markdown Text Cells",className:this.state.showMarkdown?"dashboard-toc-toolbar-icon-selected":"dashboard-toc-toolbar-icon"},S.createElement(N.markdownIcon.react,null)),o=S.createElement("div",{onClick:e=>this.toggleNumbering(),role:"text","aria-label":"Toggle Auto-Numbering",title:"Toggle Auto-Numbering",className:this.state.numbering?"dashboard-toc-toolbar-icon-selected":"dashboard-toc-toolbar-icon"},S.createElement(N.numberingIcon.react,null)),a=S.createElement("div",{onClick:e=>this.toggleShowVisuDashboard(),role:"text","aria-label":this.state.showVisuDashboard?"Hide Visualization Dashboard":"Show Visualization Dashboard",title:this.state.showVisuDashboard?"Hide Visualization Dashboard":"Show Visualization Dashboard",className:"dashboard-toc-toolbar-icon"},this.state.showVisuDashboard?S.createElement(T.react,null):S.createElement(M.react,null)),n=S.createElement("div",{onClick:e=>this.refreshDashboard(),role:"text","aria-label":"Refresh Dashboard",title:"Refresh Dashboard",className:"dashboard-toc-toolbar-icon"},S.createElement(N.refreshIcon.react,null));return S.createElement("div",null,S.createElement("div",{className:"dashboard-toc-toolbar"},S.createElement("div",{className:"dashboard-toc-toolbar-compartment"},e,t,o),S.createElement("div",{className:"dashboard-toc-toolbar-compartment"},a,n)))}}}(s,e)},itemRenderer:function(e,t,o=[]){return function(e,t,o,a=[]){var n;if("markdown"===o.type||"header"===o.type){let n="dashboard-toc-level-size-default";const s=o.numbering&&e.numbering?o.numbering:"",l=e.syncCollapseState?lt:rt;if("header"!==o.type&&"markdown"!==o.type||(n="dashboard-toc-level-size-"+o.level),"header"===o.type||e.showMarkdown){let r;r=o.html?S.createElement("span",{dangerouslySetInnerHTML:{__html:s+e.sanitizer.sanitize(o.html,dt)},className:"dashboard-"+o.type+"-cell dashboard-toc-cell-item"}):S.createElement("span",{className:"dashboard-"+o.type+"-cell dashboard-toc-cell-item"},s+o.text);let i=null;return"header"===o.type&&(i=S.createElement("div",{className:"jp-Collapser p-Widget lm-Widget",onClick:a=>{a.stopPropagation(),function(t,o,a){let n=!1;const s=e.syncCollapseState,l=k.getMetadataComp(null==a?void 0:a.cellRef.model,o);l&&(n=l),a?(Ce.sendInteraction({click_type:n?"OFF":"ON",signal_origin:"TOC_COLLAPSE_HEADERS"}),s?t&&se.NotebookActions.setHeadingCollapse(null==a?void 0:a.cellRef,!n,t.content):n?k.deleteMetadataComp(a.cellRef.model,o):k.setMetadataComp(a.cellRef.model,o,!0),e.updateAndCollapse({heading:a,collapsedState:n})):e.updateWidget()}(t,l,o)}},S.createElement("div",{className:"dashboard-toc-Collapser-child"}))),r=S.createElement("div",{className:"dashboard-toc-entry-holder "+n+(t.content.activeCell===o.cellRef||vt(t,o,a)?" dashboard-toc-active-cell":"")},i,r),r}return null}if(t&&"code"===o.type&&e.showCode){const e=(null===(n=k.getMetadataComp(t.model,"language_info"))||void 0===n?void 0:n.mimetype)||"text";return S.createElement("div",{className:"dashboard-toc-code-cell-div"},S.createElement("div",{className:"dashboard-toc-code-cell-prompt"},o.prompt),S.createElement("span",{className:"dashboard-toc-code-span"},S.createElement(Pe,{cell_input:o.text,language_mimetype:e,className:"dashboard-toc-cell-input"})))}return null}(s,e,t,o)},generate:function(o){let a=[],n=-1;const l={};let r=null;for(let i=0;i<o.content.widgets.length;i++){const c=o.content.widgets[i],d=c.model,h=s.syncCollapseState?lt:rt;let u=k.getMetadataComp(d,h);if(u=u||!1,"code"!==d.type){if("markdown"===d.type){const e=c;let h;const m=st(a);if(e.rendered&&!e.inputHidden){const d=t=>()=>{e.rendered?(o.content.mode="command",c.node.scrollIntoView(),o.content.activeCellIndex=i):(o.content.activeCellIndex=i,t.scrollIntoView())},p=ht(c.node,d,t,l,m,s.numbering,s.numberingH1,c,i);for(h of p)[a,r,n]=ut(h,a,r,n,u,s.showMarkdown)}else{const e=e=>()=>{o.content.activeCellIndex=i,c.node.scrollIntoView()},t=bt(d.sharedModel.getSource(),e,l,m,c,i);for(h of t)[a,r,n]=ut(h,a,r,n,u,s.showMarkdown)}}}else if(!e||e&&s.showCode){const e=e=>()=>{o.content.activeCellIndex=i,c.node.scrollIntoView()},t=c.model.executionCount,s=null!==t?"["+t+"]: ":"[ ]: ",l=it(d.sharedModel.getSource(),e,s,st(a),c,i);[a,r]=ct(a,l,r,n)}}return a},collapseChanged:s.collapseChanged}}class _t extends we{constructor(e,t,o,a){super(e),this.title.caption="Dashboard ToC",this.title.icon=O,this.id="dashboard-toc-code",this.node.setAttribute("role","region"),this.node.setAttribute("aria-label","Dashboard ToC section"),this._commands=t,this._notebookGenerator=wt(this,o,a),this._toolbar=null,e.panelSwitched.connect(this._onPanelSwitched,this)}onBeforeShow(e){Ce.sendInteraction({click_type:"ON",signal_origin:"TOC_DASHBOARD_SHOW_HIDE"})}onBeforeHide(e){Ce.sendInteraction({click_type:"OFF",signal_origin:"TOC_DASHBOARD_SHOW_HIDE"})}_onPanelSwitched(e){this._panelManager.panel?this._toolbar=this._notebookGenerator.toolbarGenerator(this._panelManager.panel):this._toolbar=null}computeComponentToRender(){const e=this._panelManager.panel;return e?S.createElement("div",{className:"dashboard-TableOfContents"},S.createElement("div",{className:"dashboard-stack-panel-header"},S.createElement("span",{className:"dashboard-toc-header-title"},le.PathExt.basename(e.context.localPath)),S.createElement(xe,{notebookId:this._panelManager.validityChecks.tag})),this._toolbar&&S.createElement(this._toolbar,null),S.createElement(at,{headings:this._notebookGenerator.generate(e),itemRenderer:this._notebookGenerator.itemRenderer,notebookPanel:e,commands:this._commands,notebookCells:this._panelManager.notebookCells})):S.createElement(S.Fragment,null)}}var Ct=o(4882);const yt="cell-dashboard-button-container";class ft extends Ct.Widget{constructor(e,t){super(),this.addClass(yt);const o=document.createElement("button");o.className="cell-dashboard-button",o.innerHTML=O.svgstr,o.title=o.disabled?"No notebook identifier":"Open Cell Dashboard",o.onclick=()=>{e.execute(u.dashboardOpenVisu,{from:"Cell",cell_id:t})},this.node.appendChild(o)}dispose(){super.dispose()}}class Et{constructor(e){this._commands=e}createNew(e){return new St(e,this._commands)}}class St{constructor(e,t){this._isDisposed=!1,this._panel=e,this._commands=t,this._previousActiveCell=this._panel.content.activeCell,e.context.ready.then((()=>{f(e)?(e.revealed.then((()=>{e&&!e.isDisposed&&setTimeout((()=>{this._onActiveCellChanged(e.content)}),1e3/60)})),e.content.renderingLayoutChanged.connect(this._onActiveCellChanged,this),e.content.activeCellChanged.connect(this._onActiveCellChanged,this),e.disposed.connect((()=>{e.content.activeCellChanged.disconnect(this._onActiveCellChanged)}))):this.dispose()}))}_addCellButton(e){const t=this._getCell(e);if(t){const e=new ft(this._commands,t.model.id);t.layout.insertWidget(0,e)}}_onActiveCellChanged(e){this._previousActiveCell&&!this._previousActiveCell.isDisposed&&this._removeCellButton(this._previousActiveCell.model);const t=e.activeCell;null!==t&&(this._addCellButton(t.model),this._previousActiveCell=t)}_getCell(e){var t;return null===(t=this._panel)||void 0===t?void 0:t.content.widgets.find((t=>t.model===e))}_removeCellButton(e){const t=this._getCell(e);t&&this._findCellButtonWidgets(t).forEach((e=>{e.dispose()}))}_findCellButtonWidgets(e){return e.layout.widgets.filter((e=>e.hasClass(yt)))||[]}get isDisposed(){return this._isDisposed}dispose(){var e;if(this.isDisposed)return;this._isDisposed=!0;const t=k.getCellsArrComp(null===(e=this._panel)||void 0===e?void 0:e.context.model.cells);if(t)for(const e of t)this._removeCellButton(e);this._panel=null,re.Signal.clearData(this)}}var xt=o(7717);class Nt{constructor(e){this._commands=e}createNew(e){const t=new I.ToolbarButton({className:"open-visu-button",icon:O,onClick:()=>{this._commands.execute(u.dashboardOpenVisu,{from:"Notebook"})},tooltip:"Open Notebook Visualization"});return e.context.ready.then((()=>{f(e)&&e.toolbar.insertItem(10,"openVisu",t)})),new xt.DisposableDelegate((()=>{t.dispose()}))}}const It=ae.dispatch;var Dt=o(7520);let Ot=null;function Tt(e){Ot=e}let Mt=null;const Rt="http://localhost:1015";let At=Rt,Bt=Rt;const Lt={id:i,autoStart:!0,requires:[n.IFileBrowserFactory,a.ILayoutRestorer,a.ILabShell,s.IRenderMimeRegistry,l.ISettingRegistry],optional:[],activate:(e,t,o,a,n,s)=>{console.log(`JupyterLab extension ${r} is activated!`);const l="3.1.0",i=e.version.match(/[0-9]+/g),h=async function(e="",t={}){const o=Dt.ServerConnection.makeSettings(),a=le.URLExt.join(o.baseUrl,"jupyterlab-unianalytics-dashboard",e);let n;try{n=await Dt.ServerConnection.makeRequest(a,t,o)}catch(e){throw new Dt.ServerConnection.NetworkError(e)}const s=await n.text();if(!n.ok)throw new Dt.ServerConnection.ResponseError(n,s.message||s);return s}("get_anonymized_user_id");if(i&&((e,t)=>{const o=e.split(/[^0-9]+/).map(Number),a=t.split(/[^0-9]+/).map(Number);for(let e=0;e<Math.min(o.length,a.length);e++){const t=o[e],n=a[e];if(t!==n)return t-n}const n=e.replace(/[0-9]+/g,""),s=t.replace(/[0-9]+/g,"");return n.localeCompare(s)})(e.version,l)>=0){const l=parseInt(i[0]);k.setJupyterVersion(l).then((async()=>{let l,i;if(s)try{[l,i]=await Promise.all([s.load(`${r}:plugin`),s.load(`${r}:endpoint`)]),p(l),l.changed.connect(p),b(i),i.changed.connect(b)}catch(e){console.error(`${r}: Failed to load settings.\n${e}`)}h.then((s=>{Mt=s;let i=[];fetch(`${At}/auth/login`,{method:"POST",headers:{"Unianalytics-User-Id":Mt}}).then((e=>{if(e.ok)return e.json();throw new Error("Unauthorized user")})).then((s=>{"logged_in"===s.status?(i=s.auth_notebooks||[],sessionStorage.setItem(c,s.access_token),sessionStorage.setItem(d,s.refresh_token),function(e,t){console.log(`JupyterLab extension ${r}: upload plugin is activated!`),e.commands.addCommand(u.uploadNotebook,{label:"Upload notebook to unianalytics",icon:e=>e.isContextMenu?N.fileUploadIcon:void 0,execute:o=>{const a=k.getFileComp(t);a&&e.serviceManager.contents.get(a.path).then((t=>{var o,n;(o=t.content,n=a.name,new Promise(((e,t)=>{const a=new FormData;a.append("notebook_content",JSON.stringify(o)),a.append("name",n),_(At+"/notebook/upload",{method:"POST",body:a}).then((o=>{o.ok?e(o.json()):t(new Error("Failed to upload notebook on the backend"))})).catch((e=>{console.log(`${r}: Error occurred while uploading notebook:`,e),t(e)}))}))).then((o=>{const n={...t,content:o};e.serviceManager.contents.save(a.path,n).then((e=>{const t=o.metadata[g.notebookId],n=`${At}/notebook/download/${t}`;(0,I.showDialog)({title:a.name,body:x().createElement(D,{url:n,fileName:a.name}),buttons:[I.Dialog.okButton()]}).catch((e=>console.log(e)))}))})).catch((e=>{(0,I.showDialog)({title:a.name,body:"Error uploading the file",buttons:[I.Dialog.cancelButton()]}).catch((e=>console.log(e)))}))}))}}),e.commands.addCommand(u.copyDownloadLink,{label:"Copy unianalytics notebook link",icon:e=>e.isContextMenu?N.linkIcon:void 0,execute:o=>{const a=k.getFileComp(t);a&&e.serviceManager.contents.get(a.path).then((e=>{const t=e.content.metadata;if(t){const e=t[g.notebookId];e?navigator.clipboard.writeText(`${At}/notebook/download/${e}`).catch((e=>{console.error(`${r}: Error copying link: `,e)})):console.log(`${r}: Notebook not tagged`)}}))}}),e.contextMenu.addItem({selector:m,type:"separator",rank:0}),e.contextMenu.addItem({args:{isContextMenu:!0},command:u.uploadNotebook,selector:m,rank:0}),e.contextMenu.addItem({args:{isContextMenu:!0},command:u.copyDownloadLink,selector:m,rank:0}),e.contextMenu.addItem({selector:m,type:"separator",rank:0})}(e,t),async function(e,t,o,a,n){console.log(`JupyterLab extension ${r}: dashboard plugins activated!`),(e=>{const t=e.shell.widgets();let o=k.getNextWidgetValueComp(t);for(;o;){if(o instanceof se.NotebookPanel){const t=o,a=new Nt(e.commands),n=new Et(e.commands),s=a.createNew(t),l=n.createNew(t);t.disposed.connect((()=>{s.dispose(),l.dispose()}))}o=k.getNextWidgetValueComp(t)}e.docRegistry.addWidgetExtension("Notebook",new Et(e.commands)),e.docRegistry.addWidgetExtension("Notebook",new Nt(e.commands))})(e);const s=new me,l=new Ye(s,n.sanitizer),i=new _t(s,e.commands,n.sanitizer,a);function c(){const t=e.shell.currentWidget;if(!t)return;if(!(t instanceof se.NotebookPanel))return void(s.panel&&s.panel.isDisposed&&(s.panel=null));const o=t;s.panel=o}o.add(l,"right",{rank:1e3}),o.add(i,"left",{rank:1e3}),e.commands.addCommand(u.dashboardOpenVisu,{label:"Notebook Visualizations",caption:"Open Notebook Dashboard",icon:O,iconClass:"jp-icon3",execute:t=>{"Notebook"===t.from?(Ce.sendInteraction({click_type:"ON",signal_origin:"NOTEBOOK_TOOLBAR_BUTTON"}),It(z())):"Cell"===t.from?(Ce.sendInteraction({click_type:"ON",signal_origin:"NOTEBOOK_CELL_BUTTON"}),It(j({cellId:t.cell_id}))):"Toc"===t.from&&(Ce.sendInteraction({click_type:"ON",signal_origin:"TOC_OPEN_CELL_DASHBOARD"}),It(j({cellId:t.cell_id}))),l.isVisible||e.shell.activateById(l.id)}}),t&&(t.add(l,`${r}:dashboard-notebook-restorer`),t.add(i,`${r}:dashboard-toc-restorer`)),o&&o.currentChanged.connect(c),e.restored.then((()=>{c()}))}(e,o,a,l,n)):console.log(`${r}: User not authenticated`)})).catch((e=>{console.log(`${r}: Authentication error, ${e}`)})).finally((()=>{window.postMessage({identifier:"unianalytics",authNotebooks:i},window.origin)}))})).catch((e=>{console.error(`${r}: Failed to access userId, the jupyterlab_unianalytics_dashboard server extension appears to be missing.\n${e}`)}))}))}else console.log(`${r}: Use a more recent version of JupyterLab (>=${l})`);function p(e){var t;const o=e.composite.commonDashboardSettings;o?Ce.setPermission(o.dashboardCollection||!1):Ce.setPermission((null===(t=e.default("commonDashboardSettings"))||void 0===t?void 0:t.dashboardCollection)||!1)}function b(e){const t=e.composite.useLocalBackend,o=e.composite.backendEndpoint;t?(At=Rt,Bt=Rt):"string"==typeof o?(At=o,Bt=o):(At=Rt,Bt=Rt)}}},$t=Lt},2204:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e"},9609:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%2386b7fe%27/%3e%3c/svg%3e"},2469:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e"},7486:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%280, 0, 0, 0.25%29%27/%3e%3c/svg%3e"},991:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.25%29%27/%3e%3c/svg%3e"},4144:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e"},6254:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23000%27%3e%3cpath d=%27M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z%27/%3e%3c/svg%3e"},5321:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23052c65%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},3460:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23212529%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},1281:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%236ea8fe%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},5647:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z%27/%3e%3c/svg%3e"},1692:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},6770:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e"},6711:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23dee2e6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e"},8931:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e"},6199:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e"},2956:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e"},2221:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%2833, 37, 41, 0.75%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e"},5122:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e"}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkjupyterlab_unianalytics_dashboard=self.webpackChunkjupyterlab_unianalytics_dashboard||[]).push([[817],{4817:(t,e,s)=>{s.r(e),s.d(e,{Manager:()=>_t,Socket:()=>vt,connect:()=>At,default:()=>At,io:()=>At,protocol:()=>lt});var n={};s.r(n),s.d(n,{Decoder:()=>gt,Encoder:()=>ft,PacketType:()=>dt,protocol:()=>lt});const i=Object.create(null);i.open="0",i.close="1",i.ping="2",i.pong="3",i.message="4",i.upgrade="5",i.noop="6";const r=Object.create(null);Object.keys(i).forEach((t=>{r[i[t]]=t}));const o={type:"error",data:"parser error"},a="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),h="function"==typeof ArrayBuffer,c=t=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer instanceof ArrayBuffer,u=({type:t,data:e},s,n)=>a&&e instanceof Blob?s?n(e):p(e,n):h&&(e instanceof ArrayBuffer||c(e))?s?n(e):p(new Blob([e]),n):n(i[t]+(e||"")),p=(t,e)=>{const s=new FileReader;return s.onload=function(){const t=s.result.split(",")[1];e("b"+(t||""))},s.readAsDataURL(t)};function l(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}let d;const f="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let t=0;t<64;t++)f["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(t)]=t;const y="function"==typeof ArrayBuffer,g=(t,e)=>{if("string"!=typeof t)return{type:"message",data:b(t,e)};const s=t.charAt(0);return"b"===s?{type:"message",data:m(t.substring(1),e)}:r[s]?t.length>1?{type:r[s],data:t.substring(1)}:{type:r[s]}:o},m=(t,e)=>{if(y){const s=(t=>{let e,s,n,i,r,o=.75*t.length,a=t.length,h=0;"="===t[t.length-1]&&(o--,"="===t[t.length-2]&&o--);const c=new ArrayBuffer(o),u=new Uint8Array(c);for(e=0;e<a;e+=4)s=f[t.charCodeAt(e)],n=f[t.charCodeAt(e+1)],i=f[t.charCodeAt(e+2)],r=f[t.charCodeAt(e+3)],u[h++]=s<<2|n>>4,u[h++]=(15&n)<<4|i>>2,u[h++]=(3&i)<<6|63&r;return c})(t);return b(s,e)}return{base64:!0,data:t}},b=(t,e)=>"blob"===e?t instanceof Blob?t:new Blob([t]):t instanceof ArrayBuffer?t:t.buffer,w=String.fromCharCode(30);let v;function k(t){return t.reduce(((t,e)=>t+e.length),0)}function _(t,e){if(t[0].length===e)return t.shift();const s=new Uint8Array(e);let n=0;for(let i=0;i<e;i++)s[i]=t[0][n++],n===t[0].length&&(t.shift(),n=0);return t.length&&n<t[0].length&&(t[0]=t[0].slice(n)),s}function E(t){if(t)return function(t){for(var e in E.prototype)t[e]=E.prototype[e];return t}(t)}E.prototype.on=E.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},E.prototype.once=function(t,e){function s(){this.off(t,s),e.apply(this,arguments)}return s.fn=e,this.on(t,s),this},E.prototype.off=E.prototype.removeListener=E.prototype.removeAllListeners=E.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var s,n=this._callbacks["$"+t];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var i=0;i<n.length;i++)if((s=n[i])===e||s.fn===e){n.splice(i,1);break}return 0===n.length&&delete this._callbacks["$"+t],this},E.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),s=this._callbacks["$"+t],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(s){n=0;for(var i=(s=s.slice(0)).length;n<i;++n)s[n].apply(this,e)}return this},E.prototype.emitReserved=E.prototype.emit,E.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},E.prototype.hasListeners=function(t){return!!this.listeners(t).length};const A="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function O(t,...e){return e.reduce(((e,s)=>(t.hasOwnProperty(s)&&(e[s]=t[s]),e)),{})}const T=A.setTimeout,R=A.clearTimeout;function C(t,e){e.useNativeTimers?(t.setTimeoutFn=T.bind(A),t.clearTimeoutFn=R.bind(A)):(t.setTimeoutFn=A.setTimeout.bind(A),t.clearTimeoutFn=A.clearTimeout.bind(A))}class B extends Error{constructor(t,e,s){super(t),this.description=e,this.context=s,this.type="TransportError"}}class S extends E{constructor(t){super(),this.writable=!1,C(this,t),this.opts=t,this.query=t.query,this.socket=t.socket}onError(t,e,s){return super.emitReserved("error",new B(t,e,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(t){"open"===this.readyState&&this.write(t)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(t){const e=g(t,this.socket.binaryType);this.onPacket(e)}onPacket(t){super.emitReserved("packet",t)}onClose(t){this.readyState="closed",super.emitReserved("close",t)}pause(t){}createUri(t,e={}){return t+"://"+this._hostname()+this._port()+this.opts.path+this._query(e)}_hostname(){const t=this.opts.hostname;return-1===t.indexOf(":")?t:"["+t+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(t){const e=function(t){let e="";for(let s in t)t.hasOwnProperty(s)&&(e.length&&(e+="&"),e+=encodeURIComponent(s)+"="+encodeURIComponent(t[s]));return e}(t);return e.length?"?"+e:""}}const N="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),x=64,L={};let q,P=0,j=0;function U(t){let e="";do{e=N[t%x]+e,t=Math.floor(t/x)}while(t>0);return e}function D(){const t=U(+new Date);return t!==q?(P=0,q=t):t+"."+U(P++)}for(;j<x;j++)L[N[j]]=j;let I=!1;try{I="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(t){}const F=I;function M(t){const e=t.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!e||F))return new XMLHttpRequest}catch(t){}if(!e)try{return new(A[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(t){}}function V(){}const H=null!=new M({xdomain:!1}).responseType;class K extends E{constructor(t,e){super(),C(this,e),this.opts=e,this.method=e.method||"GET",this.uri=t,this.data=void 0!==e.data?e.data:null,this.create()}create(){var t;const e=O(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd;const s=this.xhr=new M(e);try{s.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let t in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(t)&&s.setRequestHeader(t,this.opts.extraHeaders[t])}}catch(t){}if("POST"===this.method)try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{s.setRequestHeader("Accept","*/*")}catch(t){}null===(t=this.opts.cookieJar)||void 0===t||t.addCookies(s),"withCredentials"in s&&(s.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(s.timeout=this.opts.requestTimeout),s.onreadystatechange=()=>{var t;3===s.readyState&&(null===(t=this.opts.cookieJar)||void 0===t||t.parseCookies(s)),4===s.readyState&&(200===s.status||1223===s.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"==typeof s.status?s.status:0)}),0))},s.send(this.data)}catch(t){return void this.setTimeoutFn((()=>{this.onError(t)}),0)}"undefined"!=typeof document&&(this.index=K.requestsCount++,K.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=V,t)try{this.xhr.abort()}catch(t){}"undefined"!=typeof document&&delete K.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}function Y(){for(let t in K.requests)K.requests.hasOwnProperty(t)&&K.requests[t].abort()}K.requestsCount=0,K.requests={},"undefined"!=typeof document&&("function"==typeof attachEvent?attachEvent("onunload",Y):"function"==typeof addEventListener&&addEventListener("onpagehide"in A?"pagehide":"unload",Y,!1));const W="function"==typeof Promise&&"function"==typeof Promise.resolve?t=>Promise.resolve().then(t):(t,e)=>e(t,0),z=A.WebSocket||A.MozWebSocket,J="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),$={websocket:class extends S{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),e=this.opts.protocols,s=J?{}:O(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=J?new z(t,e,s):e?new z(t,e):new z(t)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let e=0;e<t.length;e++){const s=t[e],n=e===t.length-1;u(s,this.supportsBinary,(t=>{try{this.ws.send(t)}catch(t){}n&&W((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",e=this.query||{};return this.opts.timestampRequests&&(e[this.opts.timestampParam]=D()),this.supportsBinary||(e.b64=1),this.createUri(t,e)}check(){return!!z}},webtransport:class extends S{get name(){return"webtransport"}doOpen(){"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((()=>{this.onClose()})).catch((t=>{this.onError("webtransport error",t)})),this.transport.ready.then((()=>{this.transport.createBidirectionalStream().then((t=>{const e=function(t,e){v||(v=new TextDecoder);const s=[];let n=0,i=-1,r=!1;return new TransformStream({transform(a,h){for(s.push(a);;){if(0===n){if(k(s)<1)break;const t=_(s,1);r=128==(128&t[0]),i=127&t[0],n=i<126?3:126===i?1:2}else if(1===n){if(k(s)<2)break;const t=_(s,2);i=new DataView(t.buffer,t.byteOffset,t.length).getUint16(0),n=3}else if(2===n){if(k(s)<8)break;const t=_(s,8),e=new DataView(t.buffer,t.byteOffset,t.length),r=e.getUint32(0);if(r>Math.pow(2,21)-1){h.enqueue(o);break}i=r*Math.pow(2,32)+e.getUint32(4),n=3}else{if(k(s)<i)break;const t=_(s,i);h.enqueue(g(r?t:v.decode(t),e)),n=0}if(0===i||i>t){h.enqueue(o);break}}}})}(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=t.readable.pipeThrough(e).getReader(),n=new TransformStream({transform(t,e){!function(t,e){a&&t.data instanceof Blob?t.data.arrayBuffer().then(l).then(e):h&&(t.data instanceof ArrayBuffer||c(t.data))?e(l(t.data)):u(t,!1,(t=>{d||(d=new TextEncoder),e(d.encode(t))}))}(t,(s=>{const n=s.length;let i;if(n<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,n);else if(n<65536){i=new Uint8Array(3);const t=new DataView(i.buffer);t.setUint8(0,126),t.setUint16(1,n)}else{i=new Uint8Array(9);const t=new DataView(i.buffer);t.setUint8(0,127),t.setBigUint64(1,BigInt(n))}t.data&&"string"!=typeof t.data&&(i[0]|=128),e.enqueue(i),e.enqueue(s)}))}});n.readable.pipeTo(t.writable),this.writer=n.writable.getWriter();const i=()=>{s.read().then((({done:t,value:e})=>{t||(this.onPacket(e),i())})).catch((t=>{}))};i();const r={type:"open"};this.query.sid&&(r.data=`{"sid":"${this.query.sid}"}`),this.writer.write(r).then((()=>this.onOpen()))}))})))}write(t){this.writable=!1;for(let e=0;e<t.length;e++){const s=t[e],n=e===t.length-1;this.writer.write(s).then((()=>{n&&W((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){var t;null===(t=this.transport)||void 0===t||t.close()}},polling:class extends S{constructor(t){if(super(t),this.polling=!1,"undefined"!=typeof location){const e="https:"===location.protocol;let s=location.port;s||(s=e?"443":"80"),this.xd="undefined"!=typeof location&&t.hostname!==location.hostname||s!==t.port}const e=t&&t.forceBase64;this.supportsBinary=H&&!e,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(t){this.readyState="pausing";const e=()=>{this.readyState="paused",t()};if(this.polling||!this.writable){let t=0;this.polling&&(t++,this.once("pollComplete",(function(){--t||e()}))),this.writable||(t++,this.once("drain",(function(){--t||e()})))}else e()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){((t,e)=>{const s=t.split(w),n=[];for(let t=0;t<s.length;t++){const i=g(s[t],e);if(n.push(i),"error"===i.type)break}return n})(t,this.socket.binaryType).forEach((t=>{if("opening"===this.readyState&&"open"===t.type&&this.onOpen(),"close"===t.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(t)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};"open"===this.readyState?t():this.once("open",t)}write(t){this.writable=!1,((t,e)=>{const s=t.length,n=new Array(s);let i=0;t.forEach(((t,r)=>{u(t,!1,(t=>{n[r]=t,++i===s&&e(n.join(w))}))}))})(t,(t=>{this.doWrite(t,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){const t=this.opts.secure?"https":"http",e=this.query||{};return!1!==this.opts.timestampRequests&&(e[this.opts.timestampParam]=D()),this.supportsBinary||e.sid||(e.b64=1),this.createUri(t,e)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new K(this.uri(),t)}doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("success",e),s.on("error",((t,e)=>{this.onError("xhr post error",t,e)}))}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",((t,e)=>{this.onError("xhr poll error",t,e)})),this.pollXhr=t}}},Q=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,X=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function G(t){if(t.length>2e3)throw"URI too long";const e=t,s=t.indexOf("["),n=t.indexOf("]");-1!=s&&-1!=n&&(t=t.substring(0,s)+t.substring(s,n).replace(/:/g,";")+t.substring(n,t.length));let i=Q.exec(t||""),r={},o=14;for(;o--;)r[X[o]]=i[o]||"";return-1!=s&&-1!=n&&(r.source=e,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=function(t,e){const s=e.replace(/\/{2,9}/g,"/").split("/");return"/"!=e.slice(0,1)&&0!==e.length||s.splice(0,1),"/"==e.slice(-1)&&s.splice(s.length-1,1),s}(0,r.path),r.queryKey=function(t,e){const s={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(t,e,n){e&&(s[e]=n)})),s}(0,r.query),r}class Z extends E{constructor(t,e={}){super(),this.binaryType="arraybuffer",this.writeBuffer=[],t&&"object"==typeof t&&(e=t,t=null),t?(t=G(t),e.hostname=t.host,e.secure="https"===t.protocol||"wss"===t.protocol,e.port=t.port,t.query&&(e.query=t.query)):e.host&&(e.hostname=G(e.host).host),C(this,e),this.secure=null!=e.secure?e.secure:"undefined"!=typeof location&&"https:"===location.protocol,e.hostname&&!e.port&&(e.port=this.secure?"443":"80"),this.hostname=e.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=e.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=e.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},e),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=function(t){let e={},s=t.split("&");for(let t=0,n=s.length;t<n;t++){let n=s[t].split("=");e[decodeURIComponent(n[0])]=decodeURIComponent(n[1])}return e}(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,"function"==typeof addEventListener&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const e=Object.assign({},this.opts.query);e.EIO=4,e.transport=t,this.id&&(e.sid=this.id);const s=Object.assign({},this.opts,{query:e,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new $[t](s)}open(){let t;if(this.opts.rememberUpgrade&&Z.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(t=>this.onClose("transport close",t)))}probe(t){let e=this.createTransport(t),s=!1;Z.priorWebsocketSuccess=!1;const n=()=>{s||(e.send([{type:"ping",data:"probe"}]),e.once("packet",(t=>{if(!s)if("pong"===t.type&&"probe"===t.data){if(this.upgrading=!0,this.emitReserved("upgrading",e),!e)return;Z.priorWebsocketSuccess="websocket"===e.name,this.transport.pause((()=>{s||"closed"!==this.readyState&&(c(),this.setTransport(e),e.send([{type:"upgrade"}]),this.emitReserved("upgrade",e),e=null,this.upgrading=!1,this.flush())}))}else{const t=new Error("probe error");t.transport=e.name,this.emitReserved("upgradeError",t)}})))};function i(){s||(s=!0,c(),e.close(),e=null)}const r=t=>{const s=new Error("probe error: "+t);s.transport=e.name,i(),this.emitReserved("upgradeError",s)};function o(){r("transport closed")}function a(){r("socket closed")}function h(t){e&&t.name!==e.name&&i()}const c=()=>{e.removeListener("open",n),e.removeListener("error",r),e.removeListener("close",o),this.off("close",a),this.off("upgrading",h)};e.once("open",n),e.once("error",r),e.once("close",o),this.once("close",a),this.once("upgrading",h),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==t?this.setTimeoutFn((()=>{s||e.open()}),200):e.open()}onOpen(){if(this.readyState="open",Z.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let t=0;const e=this.upgrades.length;for(;t<e;t++)this.probe(this.upgrades[t])}}onPacket(t){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),this.resetPingTimeout(),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const e=new Error("server error");e.code=t.data,this.onError(e);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data)}}onHandshake(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this.upgrades=this.filterUpgrades(t.upgrades),this.pingInterval=t.pingInterval,this.pingTimeout=t.pingTimeout,this.maxPayload=t.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((()=>{this.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let s=0;s<this.writeBuffer.length;s++){const n=this.writeBuffer[s].data;if(n&&(t+="string"==typeof(e=n)?function(t){let e=0,s=0;for(let n=0,i=t.length;n<i;n++)e=t.charCodeAt(n),e<128?s+=1:e<2048?s+=2:e<55296||e>=57344?s+=3:(n++,s+=4);return s}(e):Math.ceil(1.33*(e.byteLength||e.size))),s>0&&t>this.maxPayload)return this.writeBuffer.slice(0,s);t+=2}var e;return this.writeBuffer}write(t,e,s){return this.sendPacket("message",t,e,s),this}send(t,e,s){return this.sendPacket("message",t,e,s),this}sendPacket(t,e,s,n){if("function"==typeof e&&(n=e,e=void 0),"function"==typeof s&&(n=s,s=null),"closing"===this.readyState||"closed"===this.readyState)return;(s=s||{}).compress=!1!==s.compress;const i={type:t,data:e,options:s};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),n&&this.once("flush",n),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},e=()=>{this.off("upgrade",e),this.off("upgradeError",e),t()},s=()=>{this.once("upgrade",e),this.once("upgradeError",e)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?s():t()})):this.upgrading?s():t()),this}onError(t){Z.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,e),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const e=[];let s=0;const n=t.length;for(;s<n;s++)~this.transports.indexOf(t[s])&&e.push(t[s]);return e}}Z.protocol=4,Z.protocol;const tt="function"==typeof ArrayBuffer,et=t=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer,st=Object.prototype.toString,nt="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===st.call(Blob),it="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===st.call(File);function rt(t){return tt&&(t instanceof ArrayBuffer||et(t))||nt&&t instanceof Blob||it&&t instanceof File}function ot(t,e){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t)){for(let e=0,s=t.length;e<s;e++)if(ot(t[e]))return!0;return!1}if(rt(t))return!0;if(t.toJSON&&"function"==typeof t.toJSON&&1===arguments.length)return ot(t.toJSON(),!0);for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&ot(t[e]))return!0;return!1}function at(t){const e=[],s=t.data,n=t;return n.data=ht(s,e),n.attachments=e.length,{packet:n,buffers:e}}function ht(t,e){if(!t)return t;if(rt(t)){const s={_placeholder:!0,num:e.length};return e.push(t),s}if(Array.isArray(t)){const s=new Array(t.length);for(let n=0;n<t.length;n++)s[n]=ht(t[n],e);return s}if("object"==typeof t&&!(t instanceof Date)){const s={};for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(s[n]=ht(t[n],e));return s}return t}function ct(t,e){return t.data=ut(t.data,e),delete t.attachments,t}function ut(t,e){if(!t)return t;if(t&&!0===t._placeholder){if("number"==typeof t.num&&t.num>=0&&t.num<e.length)return e[t.num];throw new Error("illegal attachments")}if(Array.isArray(t))for(let s=0;s<t.length;s++)t[s]=ut(t[s],e);else if("object"==typeof t)for(const s in t)Object.prototype.hasOwnProperty.call(t,s)&&(t[s]=ut(t[s],e));return t}const pt=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],lt=5;var dt;!function(t){t[t.CONNECT=0]="CONNECT",t[t.DISCONNECT=1]="DISCONNECT",t[t.EVENT=2]="EVENT",t[t.ACK=3]="ACK",t[t.CONNECT_ERROR=4]="CONNECT_ERROR",t[t.BINARY_EVENT=5]="BINARY_EVENT",t[t.BINARY_ACK=6]="BINARY_ACK"}(dt||(dt={}));class ft{constructor(t){this.replacer=t}encode(t){return t.type!==dt.EVENT&&t.type!==dt.ACK||!ot(t)?[this.encodeAsString(t)]:this.encodeAsBinary({type:t.type===dt.EVENT?dt.BINARY_EVENT:dt.BINARY_ACK,nsp:t.nsp,data:t.data,id:t.id})}encodeAsString(t){let e=""+t.type;return t.type!==dt.BINARY_EVENT&&t.type!==dt.BINARY_ACK||(e+=t.attachments+"-"),t.nsp&&"/"!==t.nsp&&(e+=t.nsp+","),null!=t.id&&(e+=t.id),null!=t.data&&(e+=JSON.stringify(t.data,this.replacer)),e}encodeAsBinary(t){const e=at(t),s=this.encodeAsString(e.packet),n=e.buffers;return n.unshift(s),n}}function yt(t){return"[object Object]"===Object.prototype.toString.call(t)}class gt extends E{constructor(t){super(),this.reviver=t}add(t){let e;if("string"==typeof t){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");e=this.decodeString(t);const s=e.type===dt.BINARY_EVENT;s||e.type===dt.BINARY_ACK?(e.type=s?dt.EVENT:dt.ACK,this.reconstructor=new mt(e),0===e.attachments&&super.emitReserved("decoded",e)):super.emitReserved("decoded",e)}else{if(!rt(t)&&!t.base64)throw new Error("Unknown type: "+t);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");e=this.reconstructor.takeBinaryData(t),e&&(this.reconstructor=null,super.emitReserved("decoded",e))}}decodeString(t){let e=0;const s={type:Number(t.charAt(0))};if(void 0===dt[s.type])throw new Error("unknown packet type "+s.type);if(s.type===dt.BINARY_EVENT||s.type===dt.BINARY_ACK){const n=e+1;for(;"-"!==t.charAt(++e)&&e!=t.length;);const i=t.substring(n,e);if(i!=Number(i)||"-"!==t.charAt(e))throw new Error("Illegal attachments");s.attachments=Number(i)}if("/"===t.charAt(e+1)){const n=e+1;for(;++e&&","!==t.charAt(e)&&e!==t.length;);s.nsp=t.substring(n,e)}else s.nsp="/";const n=t.charAt(e+1);if(""!==n&&Number(n)==n){const n=e+1;for(;++e;){const s=t.charAt(e);if(null==s||Number(s)!=s){--e;break}if(e===t.length)break}s.id=Number(t.substring(n,e+1))}if(t.charAt(++e)){const n=this.tryParse(t.substr(e));if(!gt.isPayloadValid(s.type,n))throw new Error("invalid payload");s.data=n}return s}tryParse(t){try{return JSON.parse(t,this.reviver)}catch(t){return!1}}static isPayloadValid(t,e){switch(t){case dt.CONNECT:return yt(e);case dt.DISCONNECT:return void 0===e;case dt.CONNECT_ERROR:return"string"==typeof e||yt(e);case dt.EVENT:case dt.BINARY_EVENT:return Array.isArray(e)&&("number"==typeof e[0]||"string"==typeof e[0]&&-1===pt.indexOf(e[0]));case dt.ACK:case dt.BINARY_ACK:return Array.isArray(e)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class mt{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){const t=ct(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}function bt(t,e,s){return t.on(e,s),function(){t.off(e,s)}}const wt=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class vt extends E{constructor(t,e,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=e,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[bt(t,"open",this.onopen.bind(this)),bt(t,"packet",this.onpacket.bind(this)),bt(t,"error",this.onerror.bind(this)),bt(t,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...t){return t.unshift("message"),this.emit.apply(this,t),this}emit(t,...e){if(wt.hasOwnProperty(t))throw new Error('"'+t.toString()+'" is a reserved event name');if(e.unshift(t),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(e),this;const s={type:dt.EVENT,data:e,options:{}};if(s.options.compress=!1!==this.flags.compress,"function"==typeof e[e.length-1]){const t=this.ids++,n=e.pop();this._registerAckCallback(t,n),s.id=t}const n=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!n||!this.connected)||(this.connected?(this.notifyOutgoingListeners(s),this.packet(s)):this.sendBuffer.push(s)),this.flags={},this}_registerAckCallback(t,e){var s;const n=null!==(s=this.flags.timeout)&&void 0!==s?s:this._opts.ackTimeout;if(void 0===n)return void(this.acks[t]=e);const i=this.io.setTimeoutFn((()=>{delete this.acks[t];for(let e=0;e<this.sendBuffer.length;e++)this.sendBuffer[e].id===t&&this.sendBuffer.splice(e,1);e.call(this,new Error("operation has timed out"))}),n),r=(...t)=>{this.io.clearTimeoutFn(i),e.apply(this,t)};r.withError=!0,this.acks[t]=r}emitWithAck(t,...e){return new Promise(((s,n)=>{const i=(t,e)=>t?n(t):s(e);i.withError=!0,e.push(i),this.emit(t,...e)}))}_addToQueue(t){let e;"function"==typeof t[t.length-1]&&(e=t.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push(((t,...n)=>{if(s===this._queue[0])return null!==t?s.tryCount>this._opts.retries&&(this._queue.shift(),e&&e(t)):(this._queue.shift(),e&&e(null,...n)),s.pending=!1,this._drainQueue()})),this._queue.push(s),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||0===this._queue.length)return;const e=this._queue[0];e.pending&&!t||(e.pending=!0,e.tryCount++,this.flags=e.flags,this.emit.apply(this,e.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){"function"==typeof this.auth?this.auth((t=>{this._sendConnectPacket(t)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:dt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,e){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,e),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach((t=>{if(!this.sendBuffer.some((e=>String(e.id)===t))){const e=this.acks[t];delete this.acks[t],e.withError&&e.call(this,new Error("socket has been disconnected"))}}))}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case dt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case dt.EVENT:case dt.BINARY_EVENT:this.onevent(t);break;case dt.ACK:case dt.BINARY_ACK:this.onack(t);break;case dt.DISCONNECT:this.ondisconnect();break;case dt.CONNECT_ERROR:this.destroy();const e=new Error(t.data.message);e.data=t.data.data,this.emitReserved("connect_error",e)}}onevent(t){const e=t.data||[];null!=t.id&&e.push(this.ack(t.id)),this.connected?this.emitEvent(e):this.receiveBuffer.push(Object.freeze(e))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e=this._anyListeners.slice();for(const s of e)s.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&"string"==typeof t[t.length-1]&&(this._lastOffset=t[t.length-1])}ack(t){const e=this;let s=!1;return function(...n){s||(s=!0,e.packet({type:dt.ACK,id:t,data:n}))}}onack(t){const e=this.acks[t.id];"function"==typeof e&&(delete this.acks[t.id],e.withError&&t.data.unshift(null),e.apply(this,t.data))}onconnect(t,e){this.id=t,this.recovered=e&&this._pid===e,this._pid=e,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((t=>this.emitEvent(t))),this.receiveBuffer=[],this.sendBuffer.forEach((t=>{this.notifyOutgoingListeners(t),this.packet(t)})),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((t=>t())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:dt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyListeners;for(let s=0;s<e.length;s++)if(t===e[s])return e.splice(s,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(t),this}prependAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(t),this}offAnyOutgoing(t){if(!this._anyOutgoingListeners)return this;if(t){const e=this._anyOutgoingListeners;for(let s=0;s<e.length;s++)if(t===e[s])return e.splice(s,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(t){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const e=this._anyOutgoingListeners.slice();for(const s of e)s.apply(this,t.data)}}}function kt(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor=t.factor||2,this.jitter=t.jitter>0&&t.jitter<=1?t.jitter:0,this.attempts=0}kt.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),s=Math.floor(e*this.jitter*t);t=0==(1&Math.floor(10*e))?t-s:t+s}return 0|Math.min(t,this.max)},kt.prototype.reset=function(){this.attempts=0},kt.prototype.setMin=function(t){this.ms=t},kt.prototype.setMax=function(t){this.max=t},kt.prototype.setJitter=function(t){this.jitter=t};class _t extends E{constructor(t,e){var s;super(),this.nsps={},this.subs=[],t&&"object"==typeof t&&(e=t,t=void 0),(e=e||{}).path=e.path||"/socket.io",this.opts=e,C(this,e),this.reconnection(!1!==e.reconnection),this.reconnectionAttempts(e.reconnectionAttempts||1/0),this.reconnectionDelay(e.reconnectionDelay||1e3),this.reconnectionDelayMax(e.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(s=e.randomizationFactor)&&void 0!==s?s:.5),this.backoff=new kt({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==e.timeout?2e4:e.timeout),this._readyState="closed",this.uri=t;const i=e.parser||n;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=!1!==e.autoConnect,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return void 0===t?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var e;return void 0===t?this._reconnectionDelay:(this._reconnectionDelay=t,null===(e=this.backoff)||void 0===e||e.setMin(t),this)}randomizationFactor(t){var e;return void 0===t?this._randomizationFactor:(this._randomizationFactor=t,null===(e=this.backoff)||void 0===e||e.setJitter(t),this)}reconnectionDelayMax(t){var e;return void 0===t?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,null===(e=this.backoff)||void 0===e||e.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new Z(this.uri,this.opts);const e=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const n=bt(e,"open",(function(){s.onopen(),t&&t()})),i=e=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",e),t?t(e):this.maybeReconnectOnOpen()},r=bt(e,"error",i);if(!1!==this._timeout){const t=this._timeout,s=this.setTimeoutFn((()=>{n(),i(new Error("timeout")),e.close()}),t);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}return this.subs.push(n),this.subs.push(r),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(bt(t,"ping",this.onping.bind(this)),bt(t,"data",this.ondata.bind(this)),bt(t,"error",this.onerror.bind(this)),bt(t,"close",this.onclose.bind(this)),bt(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(t){this.onclose("parse error",t)}}ondecoded(t){W((()=>{this.emitReserved("packet",t)}),this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,e){let s=this.nsps[t];return s?this._autoConnect&&!s.active&&s.connect():(s=new vt(this,t,e),this.nsps[t]=s),s}_destroy(t){const e=Object.keys(this.nsps);for(const t of e)if(this.nsps[t].active)return;this._close()}_packet(t){const e=this.encoder.encode(t);for(let s=0;s<e.length;s++)this.engine.write(e[s],t.options)}cleanup(){this.subs.forEach((t=>t())),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,e){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,e),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const e=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn((()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),t.skipReconnect||t.open((e=>{e?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",e)):t.onreconnect()})))}),e);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const Et={};function At(t,e){"object"==typeof t&&(e=t,t=void 0);const s=function(t,e="",s){let n=t;s=s||"undefined"!=typeof location&&location,null==t&&(t=s.protocol+"//"+s.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?s.protocol+t:s.host+t),/^(https?|wss?):\/\//.test(t)||(t=void 0!==s?s.protocol+"//"+t:"https://"+t),n=G(t)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";const i=-1!==n.host.indexOf(":")?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+i+":"+n.port+e,n.href=n.protocol+"://"+i+(s&&s.port===n.port?"":":"+n.port),n}(t,(e=e||{}).path||"/socket.io"),n=s.source,i=s.id,r=s.path,o=Et[i]&&r in Et[i].nsps;let a;return e.forceNew||e["force new connection"]||!1===e.multiplex||o?a=new _t(n,e):(Et[i]||(Et[i]=new _t(n,e)),a=Et[i]),s.query&&!e.query&&(e.query=s.queryKey),a.socket(s.path,e)}Object.assign(At,{Manager:_t,Socket:vt,io:At,connect:At})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var _JUPYTERLAB;(()=>{"use strict";var e,r,t,a,o,n,i,d,l,u,f,c,s,b,p,h,v,m,y,g,j,w,P,_,k,O,S={4479:(e,r,t)=>{var a={"./index":()=>Promise.all([t.e(39),t.e(29),t.e(419)]).then((()=>()=>t(575))),"./extension":()=>Promise.all([t.e(39),t.e(29),t.e(419)]).then((()=>()=>t(575))),"./style":()=>t.e(546).then((()=>()=>t(5546)))},o=(e,r)=>(t.R=r,r=t.o(a,e)?a[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),n=(e,r)=>{if(t.S){var a="default",o=t.S[a];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[a]=e,t.I(a,r)}};t.d(r,{get:()=>o,init:()=>n})}},E={};function x(e){var r=E[e];if(void 0!==r)return r.exports;var t=E[e]={id:e,exports:{}};return S[e](t,t.exports,x),t.exports}x.m=S,x.c=E,x.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return x.d(r,{a:r}),r},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,x.t=function(t,a){if(1&a&&(t=this(t)),8&a)return t;if("object"==typeof t&&t){if(4&a&&t.__esModule)return t;if(16&a&&"function"==typeof t.then)return t}var o=Object.create(null);x.r(o);var n={};e=e||[null,r({}),r([]),r(r)];for(var i=2&a&&t;"object"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>n[e]=()=>t[e]));return n.default=()=>t,x.d(o,n),o},x.d=(e,r)=>{for(var t in r)x.o(r,t)&&!x.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},x.f={},x.e=e=>Promise.all(Object.keys(x.f).reduce(((r,t)=>(x.f[t](e,r),r)),[])),x.u=e=>e+"."+{10:"1e5c908a94fc4b83c2e5",18:"759fbf2374edc42b5c3e",29:"9b0cb1475dcac2b485f3",39:"5a3b28a79ba693a9b627",211:"583fddc965c583e61532",308:"d9da4ce35f354c6f12e1",373:"37ddee9d229ac254f896",376:"d960746fd943a4ef55b8",419:"bc776490b47251cde8d2",426:"a7015f9dfda310972c1b",459:"75a9fe630dfdb00e65b4",546:"d280746d2a5a5e5b9fc3",563:"b613f734176cb51510ef",638:"d37271636c4d956096de",704:"4e17d862a476ae3df8ae",708:"323c3614d31a5918cfaf",744:"329dc4d1ed2f5c918266",798:"33a8f0893a66574e9259",817:"6437962faf359015be36",981:"ebb9e1d6122980b5ff0e"}[e]+".js?v="+{10:"1e5c908a94fc4b83c2e5",18:"759fbf2374edc42b5c3e",29:"9b0cb1475dcac2b485f3",39:"5a3b28a79ba693a9b627",211:"583fddc965c583e61532",308:"d9da4ce35f354c6f12e1",373:"37ddee9d229ac254f896",376:"d960746fd943a4ef55b8",419:"bc776490b47251cde8d2",426:"a7015f9dfda310972c1b",459:"75a9fe630dfdb00e65b4",546:"d280746d2a5a5e5b9fc3",563:"b613f734176cb51510ef",638:"d37271636c4d956096de",704:"4e17d862a476ae3df8ae",708:"323c3614d31a5918cfaf",744:"329dc4d1ed2f5c918266",798:"33a8f0893a66574e9259",817:"6437962faf359015be36",981:"ebb9e1d6122980b5ff0e"}[e],x.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),x.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a="jupyterlab_unianalytics_dashboard:",x.l=(e,r,o,n)=>{if(t[e])t[e].push(r);else{var i,d;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var f=l[u];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==a+o){i=f;break}}i||(d=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,x.nc&&i.setAttribute("nonce",x.nc),i.setAttribute("data-webpack",a+o),i.src=e),t[e]=[r];var c=(r,a)=>{i.onerror=i.onload=null,clearTimeout(s);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(a))),r)return r(a)},s=setTimeout(c.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=c.bind(null,i.onerror),i.onload=c.bind(null,i.onload),d&&document.head.appendChild(i)}},x.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{x.S={};var e={},r={};x.I=(t,a)=>{a||(a=[]);var o=r[t];if(o||(o=r[t]={}),!(a.indexOf(o)>=0)){if(a.push(o),e[t])return e[t];x.o(x.S,t)||(x.S[t]={});var n=x.S[t],i="jupyterlab_unianalytics_dashboard",d=(e,r,t,a)=>{var o=n[e]=n[e]||{},d=o[r];(!d||!d.loaded&&(!a!=!d.eager?a:i>d.from))&&(o[r]={get:t,from:i,eager:!!a})},l=[];return"default"===t&&(d("@reduxjs/toolkit","1.9.7",(()=>x.e(426).then((()=>()=>x(8426))))),d("chart.js","4.4.1",(()=>x.e(708).then((()=>()=>x(4708))))),d("jupyterlab_unianalytics_dashboard","4.0.12",(()=>Promise.all([x.e(39),x.e(29),x.e(419)]).then((()=>()=>x(575))))),d("marked","11.1.1",(()=>x.e(308).then((()=>()=>x(3308))))),d("react-bootstrap-icons","1.10.3",(()=>Promise.all([x.e(744),x.e(29)]).then((()=>()=>x(1744))))),d("react-bootstrap","2.10.0",(()=>Promise.all([x.e(18),x.e(29),x.e(704)]).then((()=>()=>x(1018))))),d("react-chartjs-2","5.2.0",(()=>Promise.all([x.e(29),x.e(459),x.e(563)]).then((()=>()=>x(5376))))),d("react-redux","8.1.3",(()=>Promise.all([x.e(981),x.e(29),x.e(704)]).then((()=>()=>x(2981))))),d("socket.io-client","4.7.5",(()=>x.e(817).then((()=>()=>x(4817)))))),e[t]=l.length?Promise.all(l).then((()=>e[t]=1)):1}}})(),(()=>{var e;x.g.importScripts&&(e=x.g.location+"");var r=x.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var a=t.length-1;a>-1&&!e;)e=t[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),x.p=e})(),o=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),a=t[1]?r(t[1]):[];return t[2]&&(a.length++,a.push.apply(a,r(t[2]))),t[3]&&(a.push([]),a.push.apply(a,r(t[3]))),a},n=(e,r)=>{e=o(e),r=o(r);for(var t=0;;){if(t>=e.length)return t<r.length&&"u"!=(typeof r[t])[0];var a=e[t],n=(typeof a)[0];if(t>=r.length)return"u"==n;var i=r[t],d=(typeof i)[0];if(n!=d)return"o"==n&&"n"==d||"s"==d||"u"==n;if("o"!=n&&"u"!=n&&a!=i)return a<i;t++}},i=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var a=1,o=1;o<e.length;o++)a--,t+="u"==(typeof(d=e[o]))[0]?"-":(a>0?".":"")+(a=2,d);return t}var n=[];for(o=1;o<e.length;o++){var d=e[o];n.push(0===d?"not("+l()+")":1===d?"("+l()+" || "+l()+")":2===d?n.pop()+" "+n.pop():i(d))}return l();function l(){return n.pop().replace(/^\((.+)\)$/,"$1")}},d=(e,r)=>{if(0 in e){r=o(r);var t=e[0],a=t<0;a&&(t=-t-1);for(var n=0,i=1,l=!0;;i++,n++){var u,f,c=i<e.length?(typeof e[i])[0]:"";if(n>=r.length||"o"==(f=(typeof(u=r[n]))[0]))return!l||("u"==c?i>t&&!a:""==c!=a);if("u"==f){if(!l||"u"!=c)return!1}else if(l)if(c==f)if(i<=t){if(u!=e[i])return!1}else{if(a?u>e[i]:u<e[i])return!1;u!=e[i]&&(l=!1)}else if("s"!=c&&"n"!=c){if(a||i<=t)return!1;l=!1,i--}else{if(i<=t||f<c!=a)return!1;l=!1}else"s"!=c&&"n"!=c&&(l=!1,i--)}}var s=[],b=s.pop.bind(s);for(n=1;n<e.length;n++){var p=e[n];s.push(1==p?b()|b():2==p?b()&b():p?d(p,r):!b())}return!!b()},l=(e,r)=>{var t=x.S[e];if(!t||!x.o(t,r))throw new Error("Shared module "+r+" doesn't exist in shared scope "+e);return t},u=(e,r)=>{var t=e[r];return(r=Object.keys(t).reduce(((e,r)=>!e||n(e,r)?r:e),0))&&t[r]},f=(e,r)=>{var t=e[r];return Object.keys(t).reduce(((e,r)=>!e||!t[e].loaded&&n(e,r)?r:e),0)},c=(e,r,t,a)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+i(a)+")",s=(e,r,t,a)=>{var o=f(e,t);return d(a,o)||h(c(e,t,o,a)),m(e[t][o])},b=(e,r,t)=>{var a=e[r];return(r=Object.keys(a).reduce(((e,r)=>!d(t,r)||e&&!n(e,r)?e:r),0))&&a[r]},p=(e,r,t,a)=>{var o=e[t];return"No satisfying version ("+i(a)+") of shared module "+t+" found in shared scope "+r+".\nAvailable versions: "+Object.keys(o).map((e=>e+" from "+o[e].from)).join(", ")},h=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},v=(e,r,t,a)=>{h(p(e,r,t,a))},m=e=>(e.loaded=1,e.get()),g=(y=e=>function(r,t,a,o){var n=x.I(r);return n&&n.then?n.then(e.bind(e,r,x.S[r],t,a,o)):e(r,x.S[r],t,a,o)})(((e,r,t,a)=>(l(e,t),m(b(r,t,a)||v(r,e,t,a)||u(r,t))))),j=y(((e,r,t,a)=>(l(e,t),s(r,0,t,a)))),w=y(((e,r,t,a,o)=>{var n=r&&x.o(r,t)&&b(r,t,a);return n?m(n):o()})),P={},_={6029:()=>j("default","react",[1,18,2,0]),802:()=>g("default","@jupyterlab/outputarea",[1,4,1,8]),1363:()=>j("default","@jupyterlab/coreutils",[1,6,1,8]),1731:()=>j("default","@jupyterlab/ui-components",[1,4,1,8]),2535:()=>w("default","react-bootstrap-icons",[1,1,10,3],(()=>x.e(744).then((()=>()=>x(1744))))),2677:()=>j("default","@jupyterlab/application",[1,4,1,8]),2682:()=>j("default","@jupyterlab/rendermime",[1,4,1,8]),2779:()=>w("default","marked",[1,11,1,1],(()=>x.e(308).then((()=>()=>x(3308))))),2832:()=>j("default","@jupyterlab/settingregistry",[1,4,1,8]),3748:()=>w("default","@reduxjs/toolkit",[1,1,9,5],(()=>x.e(426).then((()=>()=>x(8426))))),4882:()=>j("default","@lumino/widgets",[1,2,3,1,,"alpha",0]),4901:()=>j("default","@lumino/signaling",[1,2,0,0]),5018:()=>j("default","@jupyterlab/filebrowser",[1,4,1,8]),5114:()=>j("default","@jupyterlab/codeeditor",[1,4,1,8]),5677:()=>j("default","@jupyterlab/codemirror",[1,4,1,8]),7520:()=>j("default","@jupyterlab/services",[1,7,1,8]),7717:()=>j("default","@lumino/disposable",[1,2,0,0]),7756:()=>j("default","@jupyterlab/apputils",[1,4,2,8]),7760:()=>w("default","react-redux",[1,8,0,5],(()=>Promise.all([x.e(981),x.e(704)]).then((()=>()=>x(2981))))),7885:()=>w("default","react-chartjs-2",[1,5,2,0],(()=>Promise.all([x.e(459),x.e(798)]).then((()=>()=>x(5376))))),8352:()=>w("default","chart.js",[1,4,4,1],(()=>x.e(708).then((()=>()=>x(4708))))),8559:()=>w("default","react-bootstrap",[1,2,10,0],(()=>Promise.all([x.e(18),x.e(704)]).then((()=>()=>x(1018))))),9156:()=>w("default","socket.io-client",[1,4,7,5],(()=>x.e(817).then((()=>()=>x(4817))))),9184:()=>j("default","@jupyterlab/notebook",[1,4,1,8]),7704:()=>j("default","react-dom",[1,18,2,0]),6459:()=>w("default","chart.js",[1,4,1,1],(()=>x.e(708).then((()=>()=>x(4708))))),1373:()=>j("default","@codemirror/language",[1,6,0,0]),6211:()=>j("default","@codemirror/view",[1,6,9,6]),851:()=>j("default","@lezer/common",[1,1,0,0]),7138:()=>j("default","@lezer/highlight",[1,1,0,0]),8204:()=>j("default","@codemirror/state",[1,6,2,0])},k={29:[6029],211:[6211],373:[1373],376:[851,7138,8204],419:[802,1363,1731,2535,2677,2682,2779,2832,3748,4882,4901,5018,5114,5677,7520,7717,7756,7760,7885,8352,8559,9156,9184],459:[6459],704:[7704]},O={},x.f.consumes=(e,r)=>{x.o(k,e)&&k[e].forEach((e=>{if(x.o(P,e))return r.push(P[e]);if(!O[e]){var t=r=>{P[e]=0,x.m[e]=t=>{delete x.c[e],t.exports=r()}};O[e]=!0;var a=r=>{delete P[e],x.m[e]=t=>{throw delete x.c[e],r}};try{var o=_[e]();o.then?r.push(P[e]=o.then(t).catch(a)):t(o)}catch(e){a(e)}}}))},(()=>{x.b=document.baseURI||self.location.href;var e={217:0};x.f.j=(r,t)=>{var a=x.o(e,r)?e[r]:void 0;if(0!==a)if(a)t.push(a[2]);else if(/^(37[36]|211|29|459|704)$/.test(r))e[r]=0;else{var o=new Promise(((t,o)=>a=e[r]=[t,o]));t.push(a[2]=o);var n=x.p+x.u(r),i=new Error;x.l(n,(t=>{if(x.o(e,r)&&(0!==(a=e[r])&&(e[r]=void 0),a)){var o=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+n+")",i.name="ChunkLoadError",i.type=o,i.request=n,a[1](i)}}),"chunk-"+r,r)}};var r=(r,t)=>{var a,o,[n,i,d]=t,l=0;if(n.some((r=>0!==e[r]))){for(a in i)x.o(i,a)&&(x.m[a]=i[a]);d&&d(x)}for(r&&r(t);l<n.length;l++)o=n[l],x.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=self.webpackChunkjupyterlab_unianalytics_dashboard=self.webpackChunkjupyterlab_unianalytics_dashboard||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),x.nc=void 0;var T=x(4479);(_JUPYTERLAB=void 0===_JUPYTERLAB?{}:_JUPYTERLAB).jupyterlab_unianalytics_dashboard=T})();
|
|
@@ -108,6 +108,12 @@
|
|
|
108
108
|
"licenseId": "MIT",
|
|
109
109
|
"extractedText": "The MIT License (MIT)\n\nCopyright (c) 2015 react-bootstrap\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n"
|
|
110
110
|
},
|
|
111
|
+
{
|
|
112
|
+
"name": "@socket.io/component-emitter",
|
|
113
|
+
"versionInfo": "3.1.0",
|
|
114
|
+
"licenseId": "MIT",
|
|
115
|
+
"extractedText": "(The MIT License)\n\nCopyright (c) 2014 Component contributors <dev@component.io>\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n"
|
|
116
|
+
},
|
|
111
117
|
{
|
|
112
118
|
"name": "bootstrap",
|
|
113
119
|
"versionInfo": "5.3.2",
|
|
@@ -144,6 +150,18 @@
|
|
|
144
150
|
"licenseId": "MIT",
|
|
145
151
|
"extractedText": "The MIT License (MIT)\n\nCopyright (c) 2015 Jason Quense\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
|
|
146
152
|
},
|
|
153
|
+
{
|
|
154
|
+
"name": "engine.io-client",
|
|
155
|
+
"versionInfo": "",
|
|
156
|
+
"licenseId": "",
|
|
157
|
+
"extractedText": ""
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "engine.io-parser",
|
|
161
|
+
"versionInfo": "",
|
|
162
|
+
"licenseId": "",
|
|
163
|
+
"extractedText": ""
|
|
164
|
+
},
|
|
147
165
|
{
|
|
148
166
|
"name": "hoist-non-react-statics",
|
|
149
167
|
"versionInfo": "3.3.2",
|
|
@@ -252,6 +270,18 @@
|
|
|
252
270
|
"licenseId": "MIT",
|
|
253
271
|
"extractedText": "The MIT License (MIT)\n\nCopyright (c) 2015-2018 Reselect Contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
|
|
254
272
|
},
|
|
273
|
+
{
|
|
274
|
+
"name": "socket.io-client",
|
|
275
|
+
"versionInfo": "4.7.5",
|
|
276
|
+
"licenseId": "",
|
|
277
|
+
"extractedText": ""
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"name": "socket.io-parser",
|
|
281
|
+
"versionInfo": "4.2.4",
|
|
282
|
+
"licenseId": "MIT",
|
|
283
|
+
"extractedText": "(The MIT License)\n\nCopyright (c) 2014 Guillermo Rauch <guillermo@learnboost.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the 'Software'), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
|
|
284
|
+
},
|
|
255
285
|
{
|
|
256
286
|
"name": "style-loader",
|
|
257
287
|
"versionInfo": "3.3.4",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: jupyterlab_unianalytics_dashboard
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.12
|
|
4
4
|
Dynamic: Keywords
|
|
5
5
|
Summary: A JupyterLab dashboard extension to visualize data from students.
|
|
6
6
|
Project-URL: Homepage, https://github.com/chili-epfl/jupyter-dashboard-visu-extension
|
|
@@ -8,34 +8,34 @@ Project-URL: Bug Tracker, https://github.com/chili-epfl/jupyter-dashboard-visu-e
|
|
|
8
8
|
Project-URL: Repository, https://github.com/chili-epfl/jupyter-dashboard-visu-extension.git
|
|
9
9
|
Author-email: Raphael Marietan <raphael.marietan@hotmail.com>
|
|
10
10
|
License: BSD 3-Clause License
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
11
|
+
|
|
12
|
+
Copyright (c) 2024, Raphael Marietan
|
|
13
|
+
All rights reserved.
|
|
14
|
+
|
|
15
|
+
Redistribution and use in source and binary forms, with or without
|
|
16
|
+
modification, are permitted provided that the following conditions are met:
|
|
17
|
+
|
|
18
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
19
|
+
list of conditions and the following disclaimer.
|
|
20
|
+
|
|
21
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
22
|
+
this list of conditions and the following disclaimer in the documentation
|
|
23
|
+
and/or other materials provided with the distribution.
|
|
24
|
+
|
|
25
|
+
3. Neither the name of the copyright holder nor the names of its
|
|
26
|
+
contributors may be used to endorse or promote products derived from
|
|
27
|
+
this software without specific prior written permission.
|
|
28
|
+
|
|
29
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
30
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
31
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
32
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
33
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
34
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
35
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
36
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
37
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
38
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
39
39
|
License-File: LICENSE
|
|
40
40
|
Classifier: Framework :: Jupyter
|
|
41
41
|
Classifier: Framework :: Jupyter :: JupyterLab
|
|
@@ -1,33 +1,35 @@
|
|
|
1
1
|
jupyterlab_unianalytics_dashboard/__init__.py,sha256=Za7P6E6Jv74S8VEb4YbFMfhrdWLw9aBjmLGwQg7UszU,1184
|
|
2
|
-
jupyterlab_unianalytics_dashboard/_version.py,sha256=
|
|
2
|
+
jupyterlab_unianalytics_dashboard/_version.py,sha256=DZPyDc8OxxfrQV6eRwfA1Mdur6VwKba9oIII4aBaokU,172
|
|
3
3
|
jupyterlab_unianalytics_dashboard/handlers.py,sha256=YnbgLDTfNOw47YU0L7CMUUF_NA1aU0G5ITlg3Y5YkTg,2008
|
|
4
4
|
jupyterlab_unianalytics_dashboard/tests/__init__.py,sha256=buA7EWWBnEQOljAcEsF8zyfrdTu9B93Khlk10h88Uu0,63
|
|
5
5
|
jupyterlab_unianalytics_dashboard/tests/test_handlers.py,sha256=Z6LiK_PBIkGQd_L7-_ZhST0dh972Gi9CaL9cYj6QfY8,187
|
|
6
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
7
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
8
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
9
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
10
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
11
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
12
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
13
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
14
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
15
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
16
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
17
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
18
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
19
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
20
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
21
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
22
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
23
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
24
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
25
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
26
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
27
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
28
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
29
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
30
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
31
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
32
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
33
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
6
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/etc/jupyter/jupyter_server_config.d/jupyterlab_unianalytics_dashboard.json,sha256=FYXMI4pI920t2RK3w0RFVwhs0ymqABl4WwPE9KVjAOc,108
|
|
7
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/package.json,sha256=aOSbuMpFTr9zi9MPwUjY4_Ccyh0XFXUQzD8IaFcHWJI,6650
|
|
8
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/schemas/jupyterlab_unianalytics_dashboard/endpoint.json,sha256=0nq-MWVjckwP5ddK4dQxMZJTFkug-1lZwQuw8WWDbcs,724
|
|
9
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/schemas/jupyterlab_unianalytics_dashboard/package.json.orig,sha256=e8IZv3UETxPcSUklBs6qqMiwvlUPDQN4QMa-YT1Lwnk,7538
|
|
10
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/schemas/jupyterlab_unianalytics_dashboard/plugin.json,sha256=c4ZHDyApdQbUQrJjyupz9hP4GIzR8KieEnd0ScQTaNs,1732
|
|
11
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/10.1e5c908a94fc4b83c2e5.js,sha256=HlyQipT8S4PC5ZaZiR4jl8gvs1l0EjP2CAABadOryzA,3272
|
|
12
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/18.759fbf2374edc42b5c3e.js,sha256=OoCQg2OYr0cRReBXDCWZGvXzQuaf4ACT2O75qlyS9pk,119059
|
|
13
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/18.759fbf2374edc42b5c3e.js.LICENSE.txt,sha256=LGdwyBXWbtsopwVyjsXCIwoc-zj70yxAOCOR7b1bAc4,371
|
|
14
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/308.d9da4ce35f354c6f12e1.js,sha256=2dpM4181TG8S4X9h1smTZxuEj_36_9dnyXP9WAnDc6U,34889
|
|
15
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/39.5a3b28a79ba693a9b627.js,sha256=Wjsop5umk6m2JxM1X-FUHXGjLx9VerTKARofOQiIC5Y,232611
|
|
16
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/419.bc776490b47251cde8d2.js,sha256=vHdkkLRyUc3o0h5DF7AN2C9trpayTOROuB7pqLUIMkU,65944
|
|
17
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/426.a7015f9dfda310972c1b.js,sha256=pwFfnf2jEJcsG33rpOBqjadU2yl8Kjd4VKHiJBS1_Wg,44909
|
|
18
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/546.d280746d2a5a5e5b9fc3.js,sha256=0oB0bSpaXlufwxLJi75JqVWPX0G5_CD96PG50W9NPG4,19937
|
|
19
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/563.b613f734176cb51510ef.js,sha256=thP3NBdstRUQ7z0MMVTt-dRX0zdI1U6SizErxsB6vc8,2553
|
|
20
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/638.d37271636c4d956096de.js,sha256=03JxY2xNlWCW3tFQbU-MnQvO_hqaV2wVLdTT5xK5cvA,211595
|
|
21
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/708.323c3614d31a5918cfaf.js,sha256=k5bjg7Tc0b_QeKLqQ3GySYfe-fD_Cmk2MrJw6Dy2hdA,202771
|
|
22
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/708.323c3614d31a5918cfaf.js.LICENSE.txt,sha256=xIUBoDm2Q1zieFkjrEGq0jGXVbMtAPXzrFW0MnO1d1A,257
|
|
23
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/744.329dc4d1ed2f5c918266.js,sha256=Mp3E0e0vXJGCZhMtTLSgKoSM-NGSX33ZbxwqSwSQEM4,3046069
|
|
24
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/798.33a8f0893a66574e9259.js,sha256=M6jwiTpmV06SWWqqAniO0FVkkVtJBOINHU5raofwhrU,2553
|
|
25
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/817.6437962faf359015be36.js,sha256=ZDeWL681kBW-Nh_mO8SLNp7Ubys4AvSMEC4MT7tL4f0,40299
|
|
26
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/981.ebb9e1d6122980b5ff0e.js,sha256=b3dzzmlqyg5AOql0QCQyFAvZdTOXFSrKNiTWaIYNJf0,14181
|
|
27
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/981.ebb9e1d6122980b5ff0e.js.LICENSE.txt,sha256=Al4BU9vlGm0hvL2QgWwO5THo2WCGIoDqSdIpipPsBSw,1023
|
|
28
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/remoteEntry.98f382afe486f870e4b1.js,sha256=mPOCr-SG-HDksRbCgcBedDn23TvZ7WrDLU870d0g9Zk,11512
|
|
29
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/style.js,sha256=rhrGR_lSZihMhH1ui5EcIiqrutyovwjkTWTs-UdKcws,176
|
|
30
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/third-party-licenses.json,sha256=eNFkcsYrJHsqM6pvdmHfVQs7dfexaTNX9M82DYjKVVM,73563
|
|
31
|
+
jupyterlab_unianalytics_dashboard-4.0.12.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/install.json,sha256=LnBFne2_G6SmJApbmJhffpyKMU9sTqEnMQP67RrBoxw,227
|
|
32
|
+
jupyterlab_unianalytics_dashboard-4.0.12.dist-info/METADATA,sha256=r6hEOluq5w00zFgATYRkDzVmGn5GSv9PiWPyesZPJDU,7959
|
|
33
|
+
jupyterlab_unianalytics_dashboard-4.0.12.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
|
|
34
|
+
jupyterlab_unianalytics_dashboard-4.0.12.dist-info/licenses/LICENSE,sha256=9_UAg-SCFDakKGE66XAiHBxSWDr1MTZ7xHhXarScTPE,1524
|
|
35
|
+
jupyterlab_unianalytics_dashboard-4.0.12.dist-info/RECORD,,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkjupyterlab_unianalytics_dashboard=self.webpackChunkjupyterlab_unianalytics_dashboard||[]).push([[419],{575:(e,t,o)=>{o.r(t),o.d(t,{CURRENT_NOTEBOOK_ID:()=>Rt,PERSISTENT_USER_ID:()=>Lt,default:()=>Bt,setCurrentNotebookId:()=>At});var n=o(8368),a=o(8031),s=o(8048),l=o(4008);let r,i;o(4039),r="https://api.unianalytics.ch",i="wss://ax5pzl8bwk.execute-api.eu-north-1.amazonaws.com/production/";const c="jupyterlab_unianalytics_dashboard",d=`${c}:plugin`,h=`${c}_access_token`,u=`${c}_refresh_token`,m=`${c}/commondashboard:redux_state`;var p;!function(e){e.dashboardOpenVisu=`${c}:dashboard-open-visu`,e.uploadNotebook=`${c}:dashboard-upload-notebook`,e.copyDownloadLink=`${c}:dashboard-copy-download-link`}(p||(p={}));const g='.jp-DirListing-item[data-file-type="notebook"]',b="unianalytics";var _;!function(e){e.notebookId=`${b}_notebook_id`,e.cellMapping=`${b}_cell_mapping`}(_||(_={}));const v=[{key:"timeDesc",label:"Time (most recent 1st)",method:(e,t)=>new Date(e.t_finish)<new Date(t.t_finish)?1:-1},{key:"timeAsc",label:"Time (oldest 1st)",method:(e,t)=>new Date(e.t_finish)>new Date(t.t_finish)?1:-1},{key:"inputAsc",label:"Input (shortest 1st)",method:(e,t)=>e.cell_input.length-t.cell_input.length},{key:"inputDesc",label:"Input (longest 1st)",method:(e,t)=>t.cell_input.length-e.cell_input.length},{key:"outputAsc",label:"Output (shortest 1st)",method:(e,t)=>e.cell_output_length-t.cell_output_length},{key:"outputDesc",label:"Output (longest 1st)",method:(e,t)=>t.cell_output_length-e.cell_output_length}];var k;class w{static async setJupyterVersion(e){w._jupyterVersion=e,await w._setEditorLanguageRegistry(),await w._asyncImports()}static async _setEditorLanguageRegistry(){if(4===w._jupyterVersion){const{StreamLanguage:e}=await o.e(373).then(o.t.bind(o,1373,23)),{EditorLanguageRegistry:t,parseMathIPython:n}=await Promise.resolve().then(o.t.bind(o,7777,23)),a=new t;t.getDefaultLanguages().forEach((e=>{a.addLanguage(e)})),a.addLanguage({name:"ipythongfm",mime:"text/x-ipythongfm",load:async()=>{const[t,s]=await Promise.all([Promise.all([o.e(638),o.e(211),o.e(373),o.e(376)]).then(o.bind(o,8638)),o.e(10).then(o.bind(o,8010))]);return t.markdown({base:t.markdownLanguage,codeLanguages:e=>a.findBest(e),extensions:[n(e.define(s.stexMath).parser)]})}}),w._editorDefaultLanguages=a}}static async _asyncImports(){if(4===w._jupyterVersion){const{EditorView:e}=await o.e(211).then(o.t.bind(o,6211,23));this._EditorView=e;const{jupyterTheme:t}=await Promise.resolve().then(o.t.bind(o,7777,23));this._jupyterTheme=t}}static checkJupyterVersionSet(){if(null===w._jupyterVersion)throw new Error("JupyterLab version is not set in CompatibilityManager before trying to access it.")}static observeEditorVisibility(e){return 3===w._jupyterVersion?new IntersectionObserver((t=>{t[0].isIntersecting&&e.refresh()}),{root:null,threshold:.5}):null}}k=w,w._jupyterVersion=null,w._editorDefaultLanguages=void 0,w._EditorView=void 0,w._jupyterTheme=void 0,w.getMetadataComp=(e,t)=>{var o;return w.checkJupyterVersionSet(),4===w._jupyterVersion?null==e?void 0:e.getMetadata(t):null===(o=null==e?void 0:e.metadata)||void 0===o?void 0:o.get(t)},w.setMetadataComp=(e,t,o)=>{var n;w.checkJupyterVersionSet(),4===w._jupyterVersion?null==e||e.setMetadata(t,o):null===(n=null==e?void 0:e.metadata)||void 0===n||n.set(t,o)},w.deleteMetadataComp=(e,t)=>{var o;return w.checkJupyterVersionSet(),4===w._jupyterVersion?null==e?void 0:e.deleteMetadata(t):null===(o=null==e?void 0:e.metadata)||void 0===o?void 0:o.delete(t)},w.getFileComp=e=>{var t;w.checkJupyterVersionSet();const o=null===(t=e.tracker.currentWidget)||void 0===t?void 0:t.selectedItems().next();return 4===w._jupyterVersion?null==o?void 0:o.value:o},w.getCellsArrComp=e=>(w.checkJupyterVersionSet(),e?Array.from({length:e.length},((t,o)=>e.get(o))):null),w.getCodeMirrorOptionsComp=()=>(w.checkJupyterVersionSet(),4===w._jupyterVersion?{extensions:[k._jupyterTheme,k._EditorView.lineWrapping,k._EditorView.editable.of(!1)],languages:w._editorDefaultLanguages}:{config:{readOnly:!0}}),w.getNextWidgetValueComp=e=>{var t;return w.checkJupyterVersionSet(),4===w._jupyterVersion?null===(t=e.next())||void 0===t?void 0:t.value:e.next()};const C=(e,t)=>{var o,n;return`displayRealTime=${null===(o=e.displayRealTime[t])||void 0===o||o}`+(e.t1ISOString[t]?"&t1="+e.t1ISOString[t]:"")+((null===(n=e.selectedGroups[t])||void 0===n?void 0:n.length)>0?"&selectedGroups="+encodeURIComponent(JSON.stringify(e.selectedGroups[t])):"")},E=async(e,t)=>{const o=await y(e,t);if(401===o.status){const n=await o.json();if("expired_token"===(null==n?void 0:n.status)){if(await f())return y(e,t);console.log(`${c}: Token refresh failed.`)}}return o},y=async(e,t)=>{const o={headers:{Authorization:`Bearer ${sessionStorage.getItem(h)}`}},n={...o,...t,headers:{...o.headers,...(null==t?void 0:t.headers)||{}}};return fetch(e,n)},f=async()=>{const e=await fetch(`${r}/auth/refresh`,{method:"POST",headers:{Authorization:`Bearer ${sessionStorage.getItem(u)}`}});if(e.ok){const t=await e.json();if(null==t?void 0:t.access_token)return sessionStorage.setItem(h,t.access_token),!0}return!1},S=e=>!!(e&&!e.isDisposed&&e.context.isReady&&w.getMetadataComp(e.context.model,_.notebookId)&&w.getMetadataComp(e.context.model,_.cellMapping)),O=(e,t)=>!(!e||!t)&&e.length===t.length&&e.every(((e,o)=>e===t[o]));var D=o(6029),N=o.n(D),x=o(3452),I=o(9510);const T=e=>{const[t,o]=(0,D.useState)(!1);return N().createElement("div",null,N().createElement("p",null,"Successfully uploaded, can be downloaded accessing:"),N().createElement("div",{className:"unianalytics-link-container"},N().createElement("div",{className:"unianalytics-link"},e.url),N().createElement("div",{className:"unianalytics-link-button-container"},N().createElement("button",{className:"unianalytics-link-button",onClick:()=>{navigator.clipboard.writeText(e.url).then((()=>{o(!0)})).catch((e=>{console.error(`${c}: Error copying to clipboard: `,e)}))}},t?N().createElement(x.checkIcon.react,null):N().createElement(x.copyIcon.react,null)))))};const R=new x.LabIcon({name:`${c}:visu-icon`,svgstr:'<svg height="200px" width="200px" viewBox="0 0 512 512.001"\nxmlns="http://www.w3.org/2000/svg">\n <g id="SVGRepo_bgCarrier" stroke-width="0"></g>\n <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>\n <g id="SVGRepo_iconCarrier"> \n <g> <g> \n <g> <path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" d="M105.094,307.2h129.347c16.345,0,29.642-13.298,29.642-29.642v-43.116c0-16.344-13.297-29.642-29.642-29.642H105.094 c-16.344,0-29.642,13.298-29.642,29.642v43.116C75.452,293.902,88.75,307.2,105.094,307.2z M91.621,234.442 c0-7.43,6.044-13.474,13.474-13.474h129.347c7.43,0,13.474,6.044,13.474,13.474v43.116c0,7.43-6.044,13.474-13.474,13.474 H105.094c-7.43,0-13.474-6.044-13.474-13.474V234.442z"></path> \n <path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" d="M509.633,476.642l-21.558-21.558c-3.157-3.156-8.275-3.156-11.433,0c-3.157,3.157-3.157,8.275,0,11.433l7.758,7.757H51.2 c-7.43,0-13.474-6.044-13.474-13.474V27.601l7.758,7.758c3.156,3.156,8.275,3.156,11.432,0c3.157-3.157,3.157-8.275,0-11.433 L35.358,2.367c-3.156-3.156-8.275-3.156-11.432,0L2.368,23.925c-3.157,3.157-3.157,8.275,0,11.433 c3.156,3.156,8.275,3.156,11.432,0l7.758-7.758V460.8c0,16.344,13.298,29.642,29.642,29.643h433.198l-7.758,7.757 c-3.157,3.157-3.157,8.275,0,11.433c1.579,1.578,3.649,2.367,5.717,2.367c2.068,0,4.138-0.789,5.717-2.367l21.558-21.558 C512.79,484.917,512.79,479.799,509.633,476.642z"></path>\n <path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" d="M105.094,177.853h377.263c16.344,0,29.642-13.298,29.642-29.642v-43.116c0-16.344-13.298-29.642-29.642-29.642H105.094 c-16.344,0-29.642,13.298-29.642,29.642v43.116C75.452,164.555,88.75,177.853,105.094,177.853z M91.621,105.095 c0-7.43,6.045-13.474,13.474-13.474h377.263c7.43,0,13.474,6.044,13.474,13.474v43.116c0,7.43-6.044,13.474-13.474,13.474 H105.094c-7.43,0-13.474-6.044-13.474-13.474V105.095z"></path> \n <path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" d="M105.094,436.548H353.01c16.344,0,29.642-13.298,29.642-29.642V363.79c0-16.344-13.298-29.642-29.642-29.642H105.094 c-16.344,0-29.642,13.298-29.642,29.642v43.116C75.452,423.25,88.75,436.548,105.094,436.548z M91.621,363.79 c0-7.43,6.044-13.474,13.474-13.474H353.01c7.43,0,13.474,6.044,13.474,13.474v43.116c0,7.43-6.044,13.474-13.474,13.474H105.094 c-7.43,0-13.474-6.044-13.474-13.474V363.79z"></path> </g>\n </g> </g> </g>\n </svg>'}),A=new x.LabIcon({name:`${c}:hide-icon`,svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye-slash-fill" viewBox="0 0 16 16">\n <path d="m10.79 12.912-1.614-1.615a3.5 3.5 0 0 1-4.474-4.474l-2.06-2.06C.938 6.278 0 8 0 8s3 5.5 8 5.5a7.029 7.029 0 0 0 2.79-.588zM5.21 3.088A7.028 7.028 0 0 1 8 2.5c5 0 8 5.5 8 5.5s-.939 1.721-2.641 3.238l-2.062-2.062a3.5 3.5 0 0 0-4.474-4.474L5.21 3.089z"/>\n <path d="M5.525 7.646a2.5 2.5 0 0 0 2.829 2.829l-2.83-2.829zm4.95.708-2.829-2.83a2.5 2.5 0 0 1 2.829 2.829zm3.171 6-12-12 .708-.708 12 12-.708.708z"/>\n</svg>'}),L=new x.LabIcon({name:`${c}:show-icon`,svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye-fill" viewBox="0 0 16 16">\n <path d="M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z"/>\n <path d="M0 8s3-5.5 8-5.5S16 8 16 8s-3 5.5-8 5.5S0 8 0 8zm8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z"/>\n</svg>'});var M=o(3748);const B={displayDashboard:!0,hasNotebookId:!1},H=(0,M.createSlice)({name:"tocdashboard",initialState:B,reducers:{setDisplayHideDashboard:(e,t)=>{e.displayDashboard=t.payload},setHasNotebookId:(e,t)=>{e.hasNotebookId=t.payload}}}),{setDisplayHideDashboard:$,setHasNotebookId:F}=H.actions,U=H.reducer,V={navigationState:[{pageName:"Notebook"}]},P=(0,M.createSlice)({name:"sidedashboard",initialState:V,reducers:{navigateToNotebook:(e,t)=>{e.navigationState=[{pageName:"Notebook"}]},navigateToCell:(e,t)=>{e.navigationState=[{pageName:"Notebook"},{pageName:"Cell",content:{cellId:t.payload.cellId}}]},navigateToHistory:(e,t)=>{e.navigationState=e.navigationState.slice(0,t.payload+1)},resetNavigationState:(e,t)=>{e.navigationState=V.navigationState}}}),{navigateToNotebook:z,navigateToCell:j,navigateToHistory:W,resetNavigationState:G}=P.actions,J=P.reducer,K={notebookCells:null,refreshBoolean:!1,sortBy:{},dashboardQueryArgs:{displayRealTime:{},t1ISOString:{},selectedGroups:{}}},Q=(0,M.createSlice)({name:"commondashboard",initialState:K,reducers:{setDashboardQueryArgsTimeFilter:(e,t)=>{const{notebookId:o,t1ISOString:n}=t.payload;e.dashboardQueryArgs.t1ISOString[o]=n},setDashboardQueryArgsSelectedGroups:(e,t)=>{const{notebookId:o,groups:n}=t.payload,a=e.dashboardQueryArgs.selectedGroups[o]||[];if(!O(a,n))return{...e,dashboardQueryArgs:{...e.dashboardQueryArgs,selectedGroups:{...e.dashboardQueryArgs.selectedGroups,[o]:n}}}},setDashboardQueryArgsDisplayRealTime:(e,t)=>{const{notebookId:o,displayRealTime:n}=t.payload;e.dashboardQueryArgs.displayRealTime[o]=n},setSortBy:(e,t)=>{const{notebookId:o,sortCriterion:n}=t.payload;e.sortBy[o]=n},setNotebookCells:(e,t)=>{e.notebookCells=t.payload},refreshDashboards:e=>{e.refreshBoolean=!e.refreshBoolean}}}),{setDashboardQueryArgsTimeFilter:q,setDashboardQueryArgsSelectedGroups:X,setDashboardQueryArgsDisplayRealTime:Z,setSortBy:Y,setNotebookCells:ee,refreshDashboards:te}=Q.actions,oe=Q.reducer,ne=e=>t=>o=>{const n=t(o);if(o.type.startsWith("commondashboard/")){const t=e.getState();localStorage.setItem(m,JSON.stringify(t.commondashboard))}return n},ae={commondashboard:localStorage.getItem(m)?JSON.parse(localStorage.getItem(m)):K},se=(0,M.configureStore)({reducer:{tocdashboard:U,sidedashboard:J,commondashboard:oe},middleware:e=>e().concat(ne),preloadedState:ae});var le,re,ie=o(8797),ce=o(6311),de=o(4901);class he{}!function(e){e.LOADING="Loading",e.NOTFOUND="Notebook not Registered",e.USERNOTAUTHORIZED="No User Permission for this Notebook",e.EXPIREDTOKEN="Expired Login Token",e.INVALIDCREDENTIALS="Invalid Credentials",e.ERROR="Fetching Error",e.SUCCESS="Success"}(le||(le={})),function(e){e.RIGHT_DASHBOARD_SHOW_HIDE="RIGHT_DASHBOARD_SHOW_HIDE",e.TOC_DASHBOARD_SHOW_HIDE="TOC_DASHBOARD_SHOW_HIDE",e.NOTEBOOK_CELL_BUTTON="NOTEBOOK_CELL_BUTTON",e.NOTEBOOK_TOOLBAR_BUTTON="NOTEBOOK_TOOLBAR_BUTTON",e.TOC_OPEN_CELL_DASHBOARD="TOC_OPEN_CELL_DASHBOARD",e.TOC_HEADING_CLICKED="TOC_HEADING_CLICKED",e.TOC_COLLAPSE_HEADERS="TOC_COLLAPSE_HEADERS",e.BREADCRUMB_TO_NOTEBOOK="BREADCRUMB_TO_NOTEBOOK",e.BREADCRUMB_TO_CELL="BREADCRUMB_TO_CELL",e.DASHBOARD_REFRESH_BUTTON="DASHBOARD_REFRESH_BUTTON",e.DASHBOARD_FILTER_TIME="DASHBOARD_FILTER_TIME",e.CELL_DASHBOARD_FILTER_SORT="CELL_DASHBOARD_FILTER_SORT",e.CELL_DASHBOARD_FILTER_CODE_INPUT="CELL_DASHBOARD_FILTER_CODE_INPUT",e.CELL_DASHBOARD_FILTER_CODE_OUTPUT="CELL_DASHBOARD_FILTER_CODE_OUTPUT",e.CELL_DASHBOARD_FILTER_EXECUTION="CELL_DASHBOARD_FILTER_EXECUTION",e.TOC_TOOLBAR_CODE="TOC_TOOLBAR_CODE",e.TOC_TOOLBAR_MARKDOWN="TOC_TOOLBAR_MARKDOWN",e.TOC_TOOLBAR_NUMBERED="TOC_TOOLBAR_NUMBERED",e.TOC_TOOLBAR_SHOW_HIDE="TOC_TOOLBAR_SHOW_HIDE",e.TOC_TOOLBAR_REFRESH="TOC_TOOLBAR_REFRESH"}(re||(re={}));const ue=se.dispatch;class me{constructor(){this._socket=null,this._ongoingConnectionInfo=null,this._pingInterval=54e4,this._pingTimer=null}_createSocket(e){this._socket=new WebSocket(`wss://ax5pzl8bwk.execute-api.eu-north-1.amazonaws.com/production/?nbId=${e.notebookId}&conType=TEACHER`),this._socket.addEventListener("open",(()=>{console.log(`${c}: WebSocket connection opened for`,e),this._startPingTimer()})),this._socket.addEventListener("message",(e=>{const t=JSON.parse(e.data);"refreshDashboard"===t.action&&ue(te()),console.log(`${c}: Received message from server:`,t)})),this._socket.addEventListener("close",(t=>{console.log(`${c}: WebSocket connection closed for `,e,t),this._stopPingTimer()})),this._socket.addEventListener("error",(e=>{console.error(`${c}: WebSocket error`,e)}))}establishSocketConnection(e){this._closeSocketConnection(),this._ongoingConnectionInfo=e,e&&this._createSocket(e)}_closeSocketConnection(){this._socket&&this._socket.close(),this._socket=null}terminateSocketConnection(){this._closeSocketConnection(),this._ongoingConnectionInfo=null}_startPingTimer(){this._pingTimer=window.setInterval((()=>{this._socket&&this._socket.readyState===WebSocket.OPEN&&this._socket.send('{ "action":"ping" }')}),this._pingInterval)}_stopPingTimer(){this._pingTimer&&(clearInterval(this._pingTimer),this._pingTimer=null)}}const pe=se.dispatch;class ge{constructor(){this._panelUpdatedSignal=new de.Signal(this),this._panelSwitchedSignal=new de.Signal(this),this._ongoingContextId="",this._ongoingCheckId="",this._panel=null,this._monitor=null,this._validityChecks={tag:null,registered:le.LOADING},this._websocketManager=new me}get validityChecks(){return this._validityChecks}get notebookCells(){return this._notebookCells}get panel(){return this._panel}set panel(e){if(this._panel===e)return;if(this._panel&&this._panel.disposed.disconnect(this._onPanelDisposed,this),At(null),this._validityChecks={tag:null,registered:le.LOADING},this._websocketManager.terminateSocketConnection(),this._panel=e,this._onPanelSwitched(),this._panel&&this._panel.disposed.connect(this._onPanelDisposed,this),this._monitor&&(this._monitor.dispose(),this._monitor=null),!this._panel)return void this._onPanelUpdated();const t=crypto.randomUUID();this._ongoingContextId=t,this._panel.sessionContext.ready.then((()=>{if(this._ongoingContextId===t&&this._panel&&!this._panel.isDisposed){if(this._monitor=new ce.ActivityMonitor({signal:this._panel.context.model.contentChanged,timeout:1e3}),this._monitor.activityStopped.connect(this._onPanelUpdated,this),S(this._panel)){const e=w.getMetadataComp(this._panel.model,_.notebookId);At(e),this._validityChecks={tag:e,registered:le.LOADING},this._performRegistrationCheck()}this._onPanelUpdated()}}))}_performRegistrationCheck(){const e=crypto.randomUUID();this._ongoingCheckId=e;let t=le.ERROR;E(`${r}/dashboard/${this._validityChecks.tag}/check`).then((e=>e.json())).then((e=>{(null==e?void 0:e.status)?"expired_token"===e.status?t=le.EXPIREDTOKEN:"not_found"===e.status?t=le.NOTFOUND:"no_user_permission"===e.status?t=le.USERNOTAUTHORIZED:"success"===e.status&&(t=le.SUCCESS):t=le.INVALIDCREDENTIALS})).catch((e=>{console.log(`${c}: Notebook check fetching error (check your connection).`+e)})).finally((()=>{this._ongoingCheckId===e&&this._panel&&!this._panel.isDisposed&&(this._validityChecks.registered=t,this._validityChecks.registered===le.SUCCESS&&(pe(G()),this._websocketManager.establishSocketConnection({notebookId:this._validityChecks.tag})),this._panelUpdatedSignal.emit(void 0))}))}_onPanelDisposed(e){this.panel=null}get panelSwitched(){return this._panelSwitchedSignal}_onPanelSwitched(){this._panelSwitchedSignal.emit(void 0)}get panelUpdated(){return this._panelUpdatedSignal}_onPanelUpdated(){this._updateCellList(),this._panelUpdatedSignal.emit(void 0)}_updateCellList(){var e,t;const o=w.getCellsArrComp(null===(t=null===(e=this.panel)||void 0===e?void 0:e.model)||void 0===t?void 0:t.cells);if(o){const e=o.map((e=>e.id));if(!O(e,this._notebookCells)){this._notebookCells=e;const t=o.map((e=>({id:e.id,cellType:e.type})));return pe(ee(t)),!0}}else this._notebookCells=null;return!1}}var be=o(7760),_e=o(8559);const ve=()=>N().createElement("div",{style:{width:"100%",textAlign:"center",margin:"50px 0"}},N().createElement(_e.Spinner,{style:{width:"50px",height:"50px",fontSize:"x-large"},animation:"border",role:"status",variant:"primary"})),ke=({title:e,placeholderText:t="No data for the opened notebook"})=>N().createElement("div",{className:"dashboard-TableOfContents"},N().createElement("div",{className:"dashboard-stack-panel-header"},"Side Panel Dashboard"),N().createElement("div",{className:"dashboard-TableOfContents-placeholder"},N().createElement("div",{className:"dashboard-TableOfContents-placeholderContent"},N().createElement("h3",null,e),N().createElement("p",null,t))));class we extends I.ReactWidget{constructor(e){super(),this.addClass("dashboard-panel"),this._panelManager=e,e.panelUpdated.connect((()=>this.update()),this)}onAfterShow(e){this.update()}onUpdateRequest(e){super.onUpdateRequest(e)}render(){if(!this._panelManager.panel)return D.createElement(ke,{title:"No Notebook",placeholderText:"Open a notebook to start viewing its content."});if(!this._panelManager.panel.context.isReady)return D.createElement(ve,null);if(!this._panelManager.validityChecks.tag)return D.createElement(ke,{title:"Notebook not Tagged for Tracking"});switch(this._panelManager.validityChecks.registered){case le.LOADING:return D.createElement(ve,null);case le.SUCCESS:return D.createElement(be.Provider,{store:se},this.computeComponentToRender());default:return D.createElement(ke,{title:this._panelManager.validityChecks.registered})}}}const Ce=we;var Ee=o(2535);class ye{static setPermission(e){ye._isInteractionRecordingEnabled=e}}ye._isInteractionRecordingEnabled=!1,ye.sendInteraction=e=>{ye._isInteractionRecordingEnabled&&fetch(`${r}/dashboard_interaction/add`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,dashboard_user_id:Lt,time:(new Date).toISOString(),notebook_id:Rt})})};const fe=se.dispatch,Se=()=>{const e=(0,be.useSelector)((e=>e.sidedashboard.navigationState));return N().createElement(_e.Stack,{className:"breadcrumb-container",direction:"horizontal",gap:2},e.map(((t,o)=>N().createElement("div",{className:o===e.length-1?"breadcrumb-tile-active breadcrumb-tile":"breadcrumb-tile",onClick:()=>{"Notebook"===t.pageName?ye.sendInteraction({click_type:"ON",signal_origin:re.BREADCRUMB_TO_NOTEBOOK}):"Cell"===t.pageName&&ye.sendInteraction({click_type:"ON",signal_origin:re.BREADCRUMB_TO_CELL}),o!==e.length-1&&fe(W(o))}},t.pageName))),N().createElement("div",{className:"breadcrumb-buttons-container"},N().createElement(_e.Button,{className:"dashboard-button",onClick:()=>{ye.sendInteraction({click_type:"ON",signal_origin:re.DASHBOARD_REFRESH_BUTTON}),fe(te())}},N().createElement(Ee.ArrowClockwise,{className:"dashboard-icon"}))))},Oe=e=>e.toLocaleString("sv-SE").slice(0,-3),De=e=>{const[t,o]=(0,D.useState)(e.startT1),[n,a]=(0,D.useState)(e.startT2),s=Oe(new Date),l=t=>{o(t),e.t1Callback(t)},r=t=>{a(t),e.t2Callback(t)};return N().createElement("div",{className:"dashboard-export-dialog-container"},N().createElement("p",null,"Select the time range of the data you want to export (the past week selected by default)."),N().createElement("div",{className:"dashboard-export-dialog-calendar-container"},N().createElement("div",{className:"dashboard-export-dialog-calendar"},N().createElement("p",null,"Start Date :"),N().createElement("input",{className:"dashboard-calendar-input",type:"datetime-local",value:Oe(t),onChange:e=>(e=>{const t=new Date(e);l(t),t>=n&&r(t)})(e.target.value),max:Oe(n)})),N().createElement("div",{className:"dashboard-export-dialog-calendar"},N().createElement("p",null,"End Date :"),N().createElement("input",{className:"dashboard-calendar-input",type:"datetime-local",value:Oe(n),onChange:e=>(e=>{const o=new Date(e);r(o),o<=t&&l(o)})(e.target.value),max:s}))))},Ne=e=>{const[t,o]=(0,D.useState)(!1);return N().createElement("div",{className:"dashboard-toc-download-button"+(t?"-disabled":""),onClick:()=>{t||(e=>{let t=new Date,n=new Date;n.setDate(t.getDate()-7),(0,I.showDialog)({title:"Download Notebook Data",body:N().createElement(De,{startT1:n,startT2:t,t1Callback:e=>n=e,t2Callback:e=>t=e}),buttons:[{accept:!0,actions:[],ariaLabel:"Export",caption:"",className:"",displayType:"default",iconClass:"",iconLabel:"",label:"Export"},I.Dialog.cancelButton()]}).then((a=>{a.button.accept&&((e,t,n)=>{o(!0);let a="";E(`${r}/dashboard/${e}/download_csv?t1=${t.toISOString()}&t2=${n.toISOString()}`).then((e=>{var t;if(e.ok){const o=e.headers.get("Content-Disposition");return a=(null===(t=null==o?void 0:o.match(/filename=(.+)/))||void 0===t?void 0:t[1])||"",e.blob()}})).then((e=>{if(e){const t=window.URL.createObjectURL(e),o=document.createElement("a");o.href=t,o.download=a,document.body.appendChild(o),o.click(),o.remove()}})).finally((()=>{o(!1)}))})(e,n,t)}))})(e.notebookId)}},N().createElement(x.downloadIcon.react,{className:"dashboard-toc-download-icon"}),"Export")},xe=se.dispatch,Ie=[{value:1,displayName:"All Data",disabledDatePicker:!0},{value:2,displayName:"From t<sub>1</sub>",disabledDatePicker:!1}],Te=e=>{const t=(0,be.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),o=()=>{const o=t.t1ISOString[e.notebookId]?1:0;return Ie[o]},n=()=>{const o=t.t1ISOString[e.notebookId];return o?new Date(o):new Date},a=()=>void 0===t.displayRealTime[e.notebookId]||t.displayRealTime[e.notebookId],[s,l]=(0,D.useState)(o()),[r,i]=(0,D.useState)(n()),[c,d]=(0,D.useState)(a),[h,u]=(0,D.useState)(!1),m=Oe(new Date),p=()=>{h||(i(n()),l(o()),d(a())),u(!h)};return N().createElement(_e.Dropdown,{show:h,onToggle:p,className:"custom-dropdown"},N().createElement(_e.Dropdown.Toggle,{className:"dashboard-button"},N().createElement(Ee.CalendarWeek,{className:"dashboard-icon"})),N().createElement(_e.Dropdown.Menu,null,N().createElement(_e.Dropdown.Header,null,"Data Timeframe Selector"),N().createElement(_e.Dropdown.Divider,null),N().createElement("div",{className:"custom-dropdown-container custom-dropdown-item"},N().createElement(_e.Form.Check,{id:"time-checkbox-include-all",type:"checkbox",label:"Only show active users",checked:c,onChange:e=>d(e.target.checked)})),N().createElement(_e.Dropdown.Divider,null),N().createElement("div",{className:"dashboard-calendar-container"},N().createElement("div",{className:"cell-radio-container"},N().createElement(_e.ButtonGroup,{size:"sm"},Ie.map(((e,t)=>N().createElement(_e.ToggleButton,{key:`calendar-filter-${t}`,id:`calendar-filter-${t}`,type:"radio",variant:"outline-primary",name:"radio",value:e.value,checked:s.value===e.value,onChange:e=>{l(Ie[Number(e.currentTarget.value)-1])}},N().createElement("span",{dangerouslySetInnerHTML:{__html:e.displayName}}))))))),N().createElement("div",{className:"dashboard-calendar-container"},N().createElement("div",{className:"dashboard-calendar-input-wrapper "+(s.disabledDatePicker?"disabled":"")},N().createElement("div",null,"t",N().createElement("sub",null,"1")),N().createElement("input",{className:"dashboard-calendar-input",type:"datetime-local",value:Oe(r),onChange:e=>i(new Date(e.target.value)),max:m}))),N().createElement("div",{className:"dashboard-calendar-button-container"},N().createElement(_e.Button,{variant:"secondary",onClick:()=>{p()}},"Cancel"),N().createElement(_e.Button,{variant:"primary",onClick:()=>{xe(q({notebookId:e.notebookId,t1ISOString:s.disabledDatePicker?null:r.toISOString()})),xe(Z({notebookId:e.notebookId,displayRealTime:c})),ye.sendInteraction({click_type:1===s.value?"OFF":"ON",signal_origin:re.DASHBOARD_FILTER_TIME}),p()}},"Ok"))))},Re=({PassedComponent:e,title:t})=>N().createElement(_e.Row,{className:"mb-4"},N().createElement(_e.Card,{className:"chart-card"},N().createElement(_e.Card.Title,{className:"chart-card-title"},t),N().createElement(_e.Card.Body,{className:"chart-card-body"},e)));var Ae=o(7885);const Le={maintainAspectRatio:!1,plugins:{legend:{labels:{color:"#969696"}}},scales:{x:{title:{display:!0,text:"Code cell",color:"#969696"},ticks:{color:"#969696"}},y:{ticks:{beginAtZero:!0,precision:0,color:"#969696"},title:{display:!0,text:"Cumulated total across all users",color:"#969696"}}}},Me={maintainAspectRatio:!1,plugins:{legend:{display:!0,labels:{usePointStyle:!0,color:"#969696"}},tooltip:{callbacks:{title:function(e){return`Cell ${e[0].raw.x}`},label:function(e){return`t: ${e.raw.y}`}}}},scales:{x:{type:"category",ticks:{color:"#969696"},title:{display:!0,text:"Cell (markdown & code)",color:"#969696"}},y:{ticks:{beginAtZero:!0,precision:0,color:"#969696"},title:{display:!0,text:"Time spent on a cell [s]",color:"#969696"}}}},Be=e=>{const[t,o]=(0,D.useState)({labels:[],datasets:[]}),n=(0,be.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),a=(0,be.useSelector)((e=>e.commondashboard.refreshBoolean)),s=(0,be.useSelector)((e=>e.commondashboard.notebookCells));return(0,D.useEffect)((()=>{E(`${r}/dashboard/${e.notebookId}/user_code_execution?${C(n,e.notebookId)}`).then((e=>e.json())).then((e=>{const t=(null==s?void 0:s.filter((e=>"code"===e.cellType)))||[],n={labels:Array.from({length:t.length},((e,t)=>t+1)),datasets:[{label:"clicks",data:Array(t.length).fill(null),backgroundColor:"rgba(51, 187, 238, 0.3)",borderColor:"rgba(51, 187, 238, 0.3)",borderWidth:1},{label:"executions",data:Array(t.length).fill(null),backgroundColor:"rgba(0, 119, 187, 0.6)",borderColor:"rgba(0, 119, 187, 0.6)",borderWidth:1},{label:"executions without errors",data:Array(t.length).fill(null),backgroundColor:"rgba(0, 153, 136, 0.9)",borderColor:"rgba(0, 153, 136, 0.9)",borderWidth:1}]};t.forEach(((t,o)=>{const a=e.find((e=>e.cell===t.id));a&&(n.datasets[0].data[o]=parseFloat(a.cell_click_pct),n.datasets[1].data[o]=parseFloat(a.code_exec_pct),n.datasets[2].data[o]=parseFloat(a.code_exec_ok_pct))})),o(n)}))}),[n,a]),N().createElement(Re,{PassedComponent:N().createElement(Ae.Bar,{data:t,options:Le}),title:"Code cell execution across users"})},He=e=>{const[t,o]=(0,D.useState)({labels:[],datasets:[]}),n=(0,be.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),a=(0,be.useSelector)((e=>e.commondashboard.refreshBoolean)),s=(0,be.useSelector)((e=>e.commondashboard.notebookCells));return(0,D.useEffect)((()=>{E(`${r}/dashboard/${e.notebookId}/user_cell_time?${C(n,e.notebookId)}`).then((e=>e.json())).then((e=>{const t={labels:s?Array.from({length:s.length},((e,t)=>t+1)):[],datasets:[{label:"time spent on a cell by a user",data:(null==s?void 0:s.flatMap(((t,o)=>{const n=e.find((e=>e.cell===t.id));return n?n.durations.map((e=>({x:o+1,y:e}))):[]})))||[],backgroundColor:"rgba(54, 162, 235, 0.2)",borderColor:"rgba(54, 162, 235, 1)",borderWidth:1,pointRadius:1}]};o(t)}))}),[n,a]),N().createElement(Re,{PassedComponent:N().createElement(Ae.Scatter,{data:t,options:Me}),title:"Amount of time spent on each cell"})},$e=se.dispatch,Fe=e=>{const[t,o]=(0,D.useState)(!1),[n,a]=(0,D.useState)([]),s=(0,be.useSelector)((t=>t.commondashboard.dashboardQueryArgs.selectedGroups[e.notebookId])),[l,i]=(0,D.useState)(void 0===s||0===s.length);(0,D.useEffect)((()=>{E(`${r}/dashboard/${e.notebookId}/getgroups`).then((e=>e.json())).then((e=>{const t=e.map((e=>({name:e,checked:null==s?void 0:s.includes(e)}))).sort(((e,t)=>e.checked!==t.checked?t.checked?1:-1:e.name.localeCompare(t.name)));a(t)}))}),[]);const c=()=>{t||(()=>{i(void 0===s||0===s.length);const e=n.map((e=>({name:e.name,checked:null==s?void 0:s.includes(e.name)}))).sort(((e,t)=>e.checked!==t.checked?t.checked?1:-1:e.name.localeCompare(t.name)));a(e)})(),o(!t)};return N().createElement(_e.Dropdown,{id:"group-dropdown",className:"custom-dropdown",show:t,onToggle:c},N().createElement(_e.Dropdown.Toggle,{className:"dashboard-button"},N().createElement(Ee.PeopleFill,{className:"dashboard-icon"})),N().createElement(_e.Dropdown.Menu,null,N().createElement(_e.Dropdown.Header,null,"Filter by group of users"),N().createElement(_e.Dropdown.Divider,null),N().createElement("div",{className:"custom-dropdown-container custom-dropdown-item"},N().createElement(_e.Form.Check,{id:"group-checkbox-include-all",type:"checkbox",label:"Include all users",checked:l,onChange:e=>i(e.target.checked)})),N().createElement(_e.Dropdown.Divider,null),N().createElement("div",{className:"group-dropdown-scroll "+(l?"disabled":"")},n.length>0?n.map(((e,t)=>N().createElement("div",{className:"custom-dropdown-item "+(l?"disabled":"")},N().createElement(_e.Form.Check,{id:`group-checkbox-${t}`,type:"checkbox",disabled:!!l||void 0,label:e.name,title:e.name,checked:e.checked,onChange:()=>(e=>{a((t=>{const o=[...t];return o[e]={...o[e],checked:!o[e].checked},o}))})(t)})))):N().createElement(_e.Dropdown.Item,{disabled:!0},"No groups available")),N().createElement("div",{className:"dashboard-calendar-button-container"},N().createElement(_e.Button,{variant:"secondary",onClick:()=>{c()}},"Cancel"),N().createElement(_e.Button,{variant:"primary",onClick:()=>{let t;t=l?[]:n.filter((e=>!0===e.checked)).map((e=>e.name)),$e(X({notebookId:e.notebookId,groups:t})),c()}},"Ok"))))},Ue=e=>N().createElement(N().Fragment,null,N().createElement("div",{className:"dashboard-title-container"},N().createElement("div",{className:"dashboard-title-text"},e.notebookName),N().createElement("div",{className:"dashboard-dropdown-container"},N().createElement(Fe,{notebookId:e.notebookId}),N().createElement(Te,{notebookId:e.notebookId}))),N().createElement(_e.Row,null,N().createElement(_e.Col,null,N().createElement(Be,{notebookId:e.notebookId}),N().createElement(He,{notebookId:e.notebookId}))));var Ve=o(1778);const Pe=new s.RenderMimeRegistry({initialFactories:s.standardRendererFactories}),ze=({cell_output_model:e})=>{const t=(0,D.useRef)(null),o=new Ve.OutputAreaModel;return(0,D.useEffect)((()=>{o.clear(),o.fromJSON(e);const n=t.current;if(n){n.innerHTML="";for(let e=0;e<o.length;++e){const t=o.get(e),a=Pe.preferredMimeType(t.data);if(a){const e=Pe.createRenderer(a);e.renderModel(t),n.appendChild(e.node)}}}}),[e]),N().createElement("div",{ref:t,className:"cell-content-container"})};var je=o(7777),We=o(3471);const Ge=({cell_input:e,language_mimetype:t,className:o})=>{const n=(0,D.useRef)(null);return(0,D.useEffect)((()=>{const o=n.current;if(o){o.innerHTML="";const n=new We.CodeEditor.Model;n.mimeType=t,n.sharedModel.setSource(e);const a=new je.CodeMirrorEditor({host:o,model:n,...w.getCodeMirrorOptionsComp()}),s=w.observeEditorVisibility(a);return s&&s.observe(o),()=>{s&&s.disconnect()}}}),[e,t]),N().createElement("div",{ref:n,className:o})},Je=se.dispatch,Ke=e=>{const t=(0,be.useSelector)((t=>t.commondashboard.sortBy[e.notebookId]));return N().createElement(_e.Dropdown,{id:"order-by-dropdown",onSelect:t=>{t&&(ye.sendInteraction({click_type:"ON",signal_origin:re.CELL_DASHBOARD_FILTER_SORT}),Je(Y({notebookId:e.notebookId,sortCriterion:t})))},className:"custom-dropdown"},N().createElement(_e.Dropdown.Toggle,{className:"dashboard-button"},N().createElement(Ee.SortUp,{className:"dashboard-icon"})),N().createElement(_e.Dropdown.Menu,null,N().createElement(_e.Dropdown.Header,null,"Sort cells by"),N().createElement(_e.Dropdown.Divider,null),v.map(((e,o)=>N().createElement(_e.Dropdown.Item,{id:`sort-item-${o}`,eventKey:e.key,className:t&&t===e.key?"highlighted":""},e.label)))))};var Qe=o(2779);const qe=e=>{const[t,o]=(0,D.useState)(null);return(0,D.useEffect)((()=>{(()=>{const t=Qe.marked.parser(Qe.marked.lexer(e.markdownContent));o(e.sanitizer.sanitize(t))})()}),[e.markdownContent]),N().createElement("div",{className:"cell-content-container"},t&&N().createElement("div",{className:"jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput",dangerouslySetInnerHTML:{__html:t}}))},Xe=e=>N().createElement(_e.Col,{md:12},N().createElement(_e.Card,{className:"cell-card"},N().createElement(_e.Card.Body,{style:{gap:"10px"}},N().createElement(_e.Row,{className:"cell-card-wrapper"},N().createElement(_e.Col,{md:12,className:"cell-user-title"},N().createElement(_e.Card.Text,{title:e.value.user_id||void 0},"User ",e.value.user_id?e.value.user_id.length>8?`${e.value.user_id.substring(0,8)}...`:e.value.user_id:`${e.index+1}`)),N().createElement(_e.Col,{md:12},e.ExecutionContent),(()=>{if(e.value.t_finish){const t=new Date(e.value.t_finish),o=`Executed at ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}, ${t.getDate().toString().padStart(2,"0")}/${(t.getMonth()+1).toString().padStart(2,"0")}/${t.getFullYear().toString().slice(-2)}`;return N().createElement(_e.Col,{md:12,className:"cell-execution-displayed-time"},o)}return null})())))),Ze=e=>{const t=(0,D.useRef)([]),[o,n]=(0,D.useState)([]);let a=!1;const s=(0,be.useSelector)((e=>e.sidedashboard.navigationState)),l=(0,be.useSelector)((e=>e.commondashboard.refreshBoolean)),i=(0,be.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),c=(0,be.useSelector)((e=>e.commondashboard.sortBy)),[d,h]=(0,D.useState)(!0),[u,m]=(0,D.useState)(!0),[p,g]=(0,D.useState)(1),[b,_]=((e=800)=>{const[t,o]=(0,D.useState)(""),[n,a]=(0,D.useState)("");return(0,D.useEffect)((()=>{const t=setTimeout((()=>o(n)),e);return()=>clearTimeout(t)}),[n,e]),[t,a]})(),k=[{name:"All",value:1,status:"all"},{name:"Success",value:2,status:"ok"},{name:"Error",value:3,status:"error"}],w=k.map((e=>e.status)),y=t=>{const o=b.toLowerCase();o.length>0&&(t=t.filter((e=>{var t;return(null===(t=e.cell_input)||void 0===t?void 0:t.toLowerCase().includes(o))||e.cell_output_model&&JSON.stringify(e.cell_output_model).toLowerCase().includes(o)})));const a=c[e.notebookId]||"timeDesc",s=v.find((e=>e.key===a));s&&t.sort(s.method),n(t)},f=s[s.length-1].content;return(0,D.useEffect)((()=>{a=!0,E(`${r}/dashboard/${e.notebookId}/cell/${f.cellId}?${C(i,e.notebookId)}`).then((e=>e.json())).then((e=>{t.current=e,y(e),a=!1}))}),[s,i,l]),(0,D.useEffect)((()=>{if(!a){const e=[...t.current];y(e)}}),[c,b]),N().createElement(N().Fragment,null,N().createElement("div",{className:"dashboard-title-container"},N().createElement("div",{className:"dashboard-title-text"},"Cell (",f.cellId,")"),N().createElement("div",{className:"dashboard-dropdown-container"},N().createElement(Ke,{notebookId:e.notebookId}),N().createElement(Fe,{notebookId:e.notebookId}),N().createElement(Te,{notebookId:e.notebookId}))),N().createElement(_e.Form,{className:"cell-filter-container",onSubmit:e=>e.preventDefault()},N().createElement("div",{className:"cell-radio-container"},N().createElement(_e.ButtonGroup,{size:"sm"},N().createElement(_e.ToggleButton,{style:{marginRight:"3px"},key:"0",id:"code-checkbox",type:"radio",variant:"outline-primary",value:"Code",checked:d,onClick:e=>{d&&!u?e.preventDefault():(ye.sendInteraction({click_type:d?"OFF":"ON",signal_origin:re.CELL_DASHBOARD_FILTER_CODE_INPUT}),h(!d))}},"Code"),N().createElement(_e.ToggleButton,{key:"1",id:"output-checkbox",type:"radio",variant:"outline-primary",value:"Output",checked:u,onClick:e=>{!d&&u?e.preventDefault():(ye.sendInteraction({click_type:u?"OFF":"ON",signal_origin:re.CELL_DASHBOARD_FILTER_CODE_OUTPUT}),m(!u))}},"Output"))),N().createElement("div",{className:"cell-radio-container"},N().createElement(_e.ButtonGroup,{size:"sm"},k.map(((e,t)=>N().createElement(_e.ToggleButton,{key:t,id:`filter-${t}`,type:"radio",variant:"outline-primary",name:"radio",value:e.value,checked:p===e.value,onChange:e=>{ye.sendInteraction({click_type:"ON",signal_origin:re.CELL_DASHBOARD_FILTER_EXECUTION}),g(Number(e.currentTarget.value))}},e.name))))),N().createElement(_e.Form.Control,{size:"sm",type:"text",placeholder:"Type text to filter...",onChange:e=>_(e.target.value)})),N().createElement(N().Fragment,null,o.map(((t,o)=>N().createElement(_e.Row,{key:o},"MarkdownExecution"===t.cell_type&&["all","ok"].includes(w[p-1])?N().createElement(Xe,{value:t,index:o,ExecutionContent:N().createElement(qe,{markdownContent:t.cell_input,sanitizer:e.sanitizer})}):N().createElement(N().Fragment,null,(1===p||w[p-1]===t.status)&&N().createElement(Xe,{value:t,index:o,ExecutionContent:N().createElement(N().Fragment,null,d&&N().createElement(Ge,{cell_input:t.cell_input,language_mimetype:t.language_mimetype,className:"cell-content-container"}),d&&u&&t.cell_output_model.length>0&&N().createElement("br",null),u&&t.cell_output_model.length>0&&N().createElement(ze,{cell_output_model:t.cell_output_model}))})))))))};var Ye=o(8352);Ye.Chart.register(...Ye.registerables);const et=e=>{const t=(0,be.useSelector)((e=>e.sidedashboard.navigationState));return N().createElement("div",{className:"page-container"},N().createElement(Se,null),(()=>{switch(t[t.length-1].pageName){case"Notebook":return N().createElement(Ue,{notebookId:e.notebookId,notebookName:e.notebookName});case"Cell":return N().createElement(Ze,{notebookId:e.notebookId,sanitizer:e.sanitizer});default:return null}})())};class tt extends Ce{constructor(e,t){super(e),this.addClass("dashboard-react-widget"),this.title.caption="Side Dashboard",this.title.icon=R,this.id="side-dashboard",this.node.setAttribute("role","region"),this.node.setAttribute("aria-label","Side dashboard section"),this._sanitizer=t}onBeforeShow(e){ye.sendInteraction({click_type:"ON",signal_origin:re.RIGHT_DASHBOARD_SHOW_HIDE})}onBeforeHide(e){ye.sendInteraction({click_type:"OFF",signal_origin:re.RIGHT_DASHBOARD_SHOW_HIDE})}computeComponentToRender(){const e=this._panelManager.panel,t=this._panelManager.validityChecks.tag;return e&&t?D.createElement(et,{notebookId:t,notebookName:e.sessionContext.name,sanitizer:this._sanitizer}):D.createElement(D.Fragment,null)}}const ot=(e,t)=>{const o=3*e/t+.1;return Math.min(1,o)},nt=({data:e,cellId:t,commands:o})=>N().createElement(N().Fragment,null,e&&e[0]&&e[1]?N().createElement("div",{onClick:e=>{e.preventDefault(),o.execute(p.dashboardOpenVisu,{from:"Toc",cell_id:t})},className:"dashboard-toc-react-component",style:{backgroundColor:`rgba(25, 118, 210, ${ot(e[0],e[1])})`}},N().createElement("span",{className:"dashboard-toc-react-text"},e[0]+"/"+e[1])):N().createElement("div",{className:"dashboard-toc-react-component"}));class at extends N().Component{render(){const{panel:e,heading:t,headings:o,addReactComponent:n,isFirstCellOccurrence:a,tocDashboardData:s,commands:l}=this.props,r=this.props.itemRenderer(e,t,o);return r?N().createElement("li",{className:"dashboard-tocItem",onClick:e=>{ye.sendInteraction({click_type:"ON",signal_origin:re.TOC_HEADING_CLICKED}),e.preventDefault(),e.stopPropagation(),t.onClick()}},r,n&&N().createElement(nt,{cellId:t.cellRef.model.id,data:a?s:null,commands:l})):null}}const st=e=>{const[t,o]=(0,D.useState)(null),n=(0,be.useSelector)((e=>e.tocdashboard.displayDashboard)),a=(0,be.useSelector)((e=>e.commondashboard.refreshBoolean)),s=(0,be.useSelector)((e=>e.commondashboard.dashboardQueryArgs));(0,D.useEffect)((()=>(i(),()=>{o(null)})),[e.notebookCells,e.notebookPanel]),(0,D.useEffect)((()=>{i()}),[a,s]);const l=(0,D.useRef)("12345678"),i=async()=>{const t=w.getMetadataComp(e.notebookPanel.model,_.notebookId);if(t&&e.notebookCells){try{const e=crypto.randomUUID();l.current=e;const n=await E(`${r}/dashboard/${t}/toc?${C(s,t)}`);if(e===l.current){if(n.ok){const e=await n.json();return void o(e.data)}console.log(`${c}: Error:`,n.status)}}catch(e){console.log(`${c}: Toc Fetch Error:`,e)}o(null)}},d=(t=>{const o=e.headings.map((e=>e.cellRef.model.id)),n=[...new Set(o)],a={},s=e.notebookCells;if(s&&t){const e=n.map((e=>s.indexOf(e)));e[0]=0,e.push(s.length);let o=0;for(let l=0;l<n.length;l++){const r=e[l],i=e[l+1];let c=0;if(-1===r)c=0;else for(let e=r;e<i;e++)c+=t.location_count[s[e]]||0;a[n[l]]=c,o+=c}a.total_count=o}return a})(t),h=new Set;return N().createElement("ul",{className:"dashboard-TableOfContents-content"},e.headings.map(((t,o)=>{const a=t.cellRef.model.id,s=!h.has(a);return s&&h.add(a),N().createElement(at,{panel:e.notebookPanel,heading:t,headings:e.headings,itemRenderer:e.itemRenderer,addReactComponent:n,isFirstCellOccurrence:s,tocDashboardData:[d[a],d.total_count],commands:e.commands,key:`${t.text}-${t.level}-${o++}`})})))};class lt extends he{constructor(e,t){super(),this._preRenderedToolbar=null,this._showCode=!1,this._showMarkdown=!1,this._numbering=t.numbering,this._numberingH1=t.numberingH1,this._syncCollapseState=t.syncCollapseState,this._widget=e,this.sanitizer=t.sanitizer,this._collapseChanged=new de.Signal(this)}set numberingH1(e){this._numberingH1!==e&&(this._numberingH1=e,this._widget.update())}get numberingH1(){return this._numberingH1}set syncCollapseState(e){this._syncCollapseState!==e&&(this._syncCollapseState=e,this._widget.update())}get syncCollapseState(){return this._syncCollapseState}setNotebookMetadata(e,t){null!==t&&t.model&&w.setMetadataComp(t.model,e[0],e[1])}setNumbering(e,t){this._numbering=e,this._widget.update(),this.setNotebookMetadata(["dashboard-toc-autonumbering",this._numbering],t)}get numbering(){return this._numbering}setShowCode(e,t){this._showCode=e,this.setNotebookMetadata(["dashboard-toc-showcode",this._showCode],t),this._widget.update()}get showCode(){return this._showCode}setShowMarkdown(e,t){this._showMarkdown=e,this.setNotebookMetadata(["dashboard-toc-showmarkdowntxt",this._showMarkdown],t),this._widget.update()}get showMarkdown(){return this._showMarkdown}get collapseChanged(){return this._collapseChanged}set preRenderedToolbar(e){this._preRenderedToolbar=e}get preRenderedToolbar(){return this._preRenderedToolbar}updateWidget(){this._widget.update()}updateAndCollapse(e){this._collapseChanged.emit(e),this._widget.update()}initializeOptions(e,t,o,n,a){this._numbering=e,this._numberingH1=t,this._syncCollapseState=o,this._showCode=n,this._showMarkdown=a,this._widget.update()}}function rt(e){if(e.length>0){let t=e.length-1;for(;t>=0;){if("header"===e[t].type)return e[t].level;t-=1}}return 0}const it="jp-MarkdownHeadingCollapsed",ct="dashboard-toc-hr-collapsed";function dt(e,t,o,n,a,s){const l=[];if(e){const r=e.split("\n"),i=Math.min(r.length,3);let c="",d=0;for(;d<i-1;d++)c+=r[d]+"\n";c+=r[d],l.push({text:c,level:n+1,onClick:t(0),type:"code",prompt:o,cellRef:a,hasChild:!1,index:s})}return l[0]}function ht(e,t,o,n){if(t&&t.text){if(o&&"header"===o.type)for(let t=e.length-1;t>=0;t--)e[t]===o&&(e[t].hasChild=!0);n<0&&e.push(t),o=t}return[e,o]}const ut={allowedTags:["p","blockquote","b","i","strong","em","strike","code","br","div","span","pre","del"],allowedAttributes:{code:["class"],span:["class"],div:["class"],p:["class"],pre:["class"]}};function mt(e,t,o,n,a,s=!1,l=!0,r,i){const c=e.querySelectorAll("h1, h2, h3, h4, h5, h6, p");let d=a;const h=[];for(const e of c){if("p"===e.nodeName.toLowerCase()){if(e.innerHTML){const n=o.sanitize(e.innerHTML,ut);h.push({level:d+1,html:n.replace("¶",""),text:e.textContent?e.textContent:"",onClick:t(e),type:"markdown",cellRef:r,hasChild:!1,index:i})}continue}e.getElementsByClassName("numbering-entry").length>0&&e.removeChild(e.getElementsByClassName("numbering-entry")[0]);let a=o.sanitize(e.innerHTML,ut);a=a.replace("¶","");let c=parseInt(e.tagName[1],10);l||(c-=1),d=c;const u=bt(n,c);if(s){const t=document.createElement("span");t.classList.add("numbering-entry"),t.textContent=null!=u?u:"",e.insertBefore(t,e.firstChild)}h.push({level:c,text:e.textContent?e.textContent:"",numbering:u,html:a,onClick:t(e),type:"header",cellRef:r,hasChild:!1,index:i})}return h}function pt(e,t,o,n,a,s){return e&&"markdown"===e.type&&s?[t,o]=ht(t,e,o,n):e&&"header"===e.type&&([t,o,n]=function(e,t,o,n,a){const s=e.length;if(o&&"header"===o.type&&o.level<t.level)for(let t=s-1;t>=0;t--)e[t]===o&&(e[t].hasChild=!0);return(n>=t.level||n<0)&&(e.push(t),n=a?t.level:-1),[e,o=t,n]}(t,e,o,n,a)),[t,o,n]}const gt=6;function bt(e,t){if(null===e)return;let o="";if(e=function(e,t){for(let o=t+1;o<=gt;o++)void 0!==e[o]&&(e[o]=void 0);return void 0===e[t]?e[t]=1:e[t]+=1,e}(e,t),t>=1){for(let n=1;n<=t;n++)o+=(void 0===e[n]?"0":e[n])+".";o+=" "}return o}function _t(e){const t=e.split("\n");let o=t[0].match(/^([#]{1,6}) (.*)/);return o?{text:o[2].replace(/\[(.+)\]\(.+\)/g,"$1"),level:o[1].length,type:"markdown"}:t.length>1&&(o=t[1].match(/^ {0,3}([=]{2,}|[-]{2,})\s*$/),o)?{text:t[0].replace(/\[(.+)\]\(.+\)/g,"$1"),level:"="===o[1][0]?1:2,type:"markdown-alt"}:(o=t[0].match(/<h([1-6]).*>(.*)<\/h\1>/i),o?{text:o[2],level:parseInt(o[1],10),type:"html"}:null)}function vt(e,t,o,n,a,s){const l=t(0),r=[];let i=n;for(const t of e.split("\n"))if(t){const e=_t(t);e?(r.push({text:e.text,level:e.level,numbering:bt(o,e.level),onClick:l,type:"header",cellRef:a,hasChild:!1,index:s}),i=e.level):r.push({text:t,level:i+1,onClick:l,type:"markdown",cellRef:a,hasChild:!1,index:s})}return r}function kt(e,t,o){if(t.index>-1||(null==o?void 0:o.length)){const n=e.content.activeCellIndex,a=t.index;if(n&&a<n){const e=o.indexOf(t)+1;if(e>=o.length)return!0;if((null==o?void 0:o[e].index)>n)return!0}}return!1}const wt=se.dispatch;function Ct(e,t,o){let n=!0,a=!1;o&&o.composite.tocDashboardSettings&&(n=o.composite.tocDashboardSettings.numberingH1,a=o.composite.tocDashboardSettings.syncCollapseState);const s=new lt(e,{numbering:!1,numberingH1:n,syncCollapseState:a,sanitizer:t});return o&&o.composite.tocDashboardSettings&&o.changed.connect((()=>{s.numberingH1=o.composite.tocDashboardSettings.numberingH1,s.syncCollapseState=o.composite.tocDashboardSettings.syncCollapseState})),{options:s,toolbarGenerator:function(e){return function(e,t){return class extends D.Component{constructor(o){super(o),this.state={showCode:!0,showMarkdown:!1,numbering:!1,showVisuDashboard:B.displayDashboard},t.context.ready.then((()=>{if(t){t.content.activeCellChanged.connect((()=>{e.updateWidget()}));const o=w.getMetadataComp(t.model,"dashboard-toc-autonumbering"),n=w.getMetadataComp(t.model,"dashboard-toc-showcode"),a=w.getMetadataComp(t.model,"dashboard-toc-showmarkdowntxt");e.initializeOptions(o||e.numbering,e.numberingH1,e.syncCollapseState,n||e.showCode,a||e.showMarkdown),this.setState({showCode:e.showCode,showMarkdown:e.showMarkdown,numbering:e.numbering})}}))}toggleCode(){ye.sendInteraction({click_type:e.showCode?"OFF":"ON",signal_origin:re.TOC_TOOLBAR_CODE}),e.setShowCode(!e.showCode,t),this.setState({showCode:e.showCode})}toggleMarkdown(){ye.sendInteraction({click_type:e.showMarkdown?"OFF":"ON",signal_origin:re.TOC_TOOLBAR_MARKDOWN}),e.setShowMarkdown(!e.showMarkdown,t),this.setState({showMarkdown:e.showMarkdown})}toggleNumbering(){ye.sendInteraction({click_type:e.numbering?"OFF":"ON",signal_origin:re.TOC_TOOLBAR_NUMBERED}),e.setNumbering(!e.numbering,t),this.setState({numbering:e.numbering})}toggleShowVisuDashboard(){const e=this.state.showVisuDashboard;ye.sendInteraction({click_type:e?"OFF":"ON",signal_origin:re.TOC_TOOLBAR_SHOW_HIDE}),wt($(!e)),this.setState({showVisuDashboard:!e})}refreshDashboard(){ye.sendInteraction({click_type:"ON",signal_origin:re.TOC_TOOLBAR_REFRESH}),wt(te())}render(){const e=D.createElement("div",{onClick:e=>this.toggleCode(),role:"text","aria-label":"Toggle Code Cells",title:"Toggle Code Cells",className:this.state.showCode?"dashboard-toc-toolbar-icon-selected":"dashboard-toc-toolbar-icon"},D.createElement(x.codeIcon.react,null)),t=D.createElement("div",{onClick:e=>this.toggleMarkdown(),role:"text","aria-label":"Toggle Markdown Text Cells",title:"Toggle Markdown Text Cells",className:this.state.showMarkdown?"dashboard-toc-toolbar-icon-selected":"dashboard-toc-toolbar-icon"},D.createElement(x.markdownIcon.react,null)),o=D.createElement("div",{onClick:e=>this.toggleNumbering(),role:"text","aria-label":"Toggle Auto-Numbering",title:"Toggle Auto-Numbering",className:this.state.numbering?"dashboard-toc-toolbar-icon-selected":"dashboard-toc-toolbar-icon"},D.createElement(x.numberingIcon.react,null)),n=D.createElement("div",{onClick:e=>this.toggleShowVisuDashboard(),role:"text","aria-label":this.state.showVisuDashboard?"Hide Visualization Dashboard":"Show Visualization Dashboard",title:this.state.showVisuDashboard?"Hide Visualization Dashboard":"Show Visualization Dashboard",className:"dashboard-toc-toolbar-icon"},this.state.showVisuDashboard?D.createElement(A.react,null):D.createElement(L.react,null)),a=D.createElement("div",{onClick:e=>this.refreshDashboard(),role:"text","aria-label":"Refresh Dashboard",title:"Refresh Dashboard",className:"dashboard-toc-toolbar-icon"},D.createElement(x.refreshIcon.react,null));return D.createElement("div",null,D.createElement("div",{className:"dashboard-toc-toolbar"},D.createElement("div",{className:"dashboard-toc-toolbar-compartment"},e,t,o),D.createElement("div",{className:"dashboard-toc-toolbar-compartment"},n,a)))}}}(s,e)},itemRenderer:function(e,t,o=[]){return function(e,t,o,n=[]){var a;if("markdown"===o.type||"header"===o.type){let a="dashboard-toc-level-size-default";const s=o.numbering&&e.numbering?o.numbering:"",l=e.syncCollapseState?it:ct;if("header"!==o.type&&"markdown"!==o.type||(a="dashboard-toc-level-size-"+o.level),"header"===o.type||e.showMarkdown){let r;r=o.html?D.createElement("span",{dangerouslySetInnerHTML:{__html:s+e.sanitizer.sanitize(o.html,ut)},className:"dashboard-"+o.type+"-cell dashboard-toc-cell-item"}):D.createElement("span",{className:"dashboard-"+o.type+"-cell dashboard-toc-cell-item"},s+o.text);let i=null;return"header"===o.type&&(i=D.createElement("div",{className:"jp-Collapser p-Widget lm-Widget",onClick:n=>{n.stopPropagation(),function(t,o,n){let a=!1;const s=e.syncCollapseState,l=w.getMetadataComp(null==n?void 0:n.cellRef.model,o);l&&(a=l),n?(ye.sendInteraction({click_type:a?"OFF":"ON",signal_origin:re.TOC_COLLAPSE_HEADERS}),s?t&&ie.NotebookActions.setHeadingCollapse(null==n?void 0:n.cellRef,!a,t.content):a?w.deleteMetadataComp(n.cellRef.model,o):w.setMetadataComp(n.cellRef.model,o,!0),e.updateAndCollapse({heading:n,collapsedState:a})):e.updateWidget()}(t,l,o)}},D.createElement("div",{className:"dashboard-toc-Collapser-child"}))),r=D.createElement("div",{className:"dashboard-toc-entry-holder "+a+(t.content.activeCell===o.cellRef||kt(t,o,n)?" dashboard-toc-active-cell":"")},i,r),r}return null}if(t&&"code"===o.type&&e.showCode){const e=(null===(a=w.getMetadataComp(t.model,"language_info"))||void 0===a?void 0:a.mimetype)||"text";return D.createElement("div",{className:"dashboard-toc-code-cell-div"},D.createElement("div",{className:"dashboard-toc-code-cell-prompt"},o.prompt),D.createElement("span",{className:"dashboard-toc-code-span"},D.createElement(Ge,{cell_input:o.text,language_mimetype:e,className:"dashboard-toc-cell-input"})))}return null}(s,e,t,o)},generate:function(o){let n=[],a=-1;const l={};let r=null;for(let i=0;i<o.content.widgets.length;i++){const c=o.content.widgets[i],d=c.model,h=s.syncCollapseState?it:ct;let u=w.getMetadataComp(d,h);if(u=u||!1,"code"!==d.type){if("markdown"===d.type){const e=c;let h;const m=rt(n);if(e.rendered&&!e.inputHidden){const d=t=>()=>{e.rendered?(o.content.mode="command",c.node.scrollIntoView(),o.content.activeCellIndex=i):(o.content.activeCellIndex=i,t.scrollIntoView())},p=mt(c.node,d,t,l,m,s.numbering,s.numberingH1,c,i);for(h of p)[n,r,a]=pt(h,n,r,a,u,s.showMarkdown)}else{const e=e=>()=>{o.content.activeCellIndex=i,c.node.scrollIntoView()},t=vt(d.sharedModel.getSource(),e,l,m,c,i);for(h of t)[n,r,a]=pt(h,n,r,a,u,s.showMarkdown)}}}else if(!e||e&&s.showCode){const e=e=>()=>{o.content.activeCellIndex=i,c.node.scrollIntoView()},t=c.model.executionCount,s=null!==t?"["+t+"]: ":"[ ]: ",l=dt(d.sharedModel.getSource(),e,s,rt(n),c,i);[n,r]=ht(n,l,r,a)}}return n},collapseChanged:s.collapseChanged}}class Et extends Ce{constructor(e,t,o,n){super(e),this.title.caption="Dashboard ToC",this.title.icon=R,this.id="dashboard-toc-code",this.node.setAttribute("role","region"),this.node.setAttribute("aria-label","Dashboard ToC section"),this._commands=t,this._notebookGenerator=Ct(this,o,n),this._toolbar=null,e.panelSwitched.connect(this._onPanelSwitched,this)}onBeforeShow(e){ye.sendInteraction({click_type:"ON",signal_origin:re.TOC_DASHBOARD_SHOW_HIDE})}onBeforeHide(e){ye.sendInteraction({click_type:"OFF",signal_origin:re.TOC_DASHBOARD_SHOW_HIDE})}_onPanelSwitched(e){this._panelManager.panel?this._toolbar=this._notebookGenerator.toolbarGenerator(this._panelManager.panel):this._toolbar=null}computeComponentToRender(){const e=this._panelManager.panel;return e?D.createElement("div",{className:"dashboard-TableOfContents"},D.createElement("div",{className:"dashboard-stack-panel-header"},D.createElement("span",{className:"dashboard-toc-header-title"},ce.PathExt.basename(e.context.localPath)),D.createElement(Ne,{notebookId:this._panelManager.validityChecks.tag})),this._toolbar&&D.createElement(this._toolbar,null),D.createElement(st,{headings:this._notebookGenerator.generate(e),itemRenderer:this._notebookGenerator.itemRenderer,notebookPanel:e,commands:this._commands,notebookCells:this._panelManager.notebookCells})):D.createElement(D.Fragment,null)}}var yt=o(4882);const ft="cell-dashboard-button-container";class St extends yt.Widget{constructor(e,t){super(),this.addClass(ft);const o=document.createElement("button");o.className="cell-dashboard-button",o.innerHTML=R.svgstr,o.title=o.disabled?"No notebook identifier":"Open Cell Dashboard",o.onclick=()=>{e.execute(p.dashboardOpenVisu,{from:"Cell",cell_id:t})},this.node.appendChild(o)}dispose(){super.dispose()}}class Ot{constructor(e){this._commands=e}createNew(e){return new Dt(e,this._commands)}}class Dt{constructor(e,t){this._isDisposed=!1,this._panel=e,this._commands=t,this._previousActiveCell=this._panel.content.activeCell,e.context.ready.then((()=>{S(e)?(e.revealed.then((()=>{e&&!e.isDisposed&&setTimeout((()=>{this._onActiveCellChanged(e.content)}),1e3/60)})),e.content.renderingLayoutChanged.connect(this._onActiveCellChanged,this),e.content.activeCellChanged.connect(this._onActiveCellChanged,this),e.disposed.connect((()=>{e.content.activeCellChanged.disconnect(this._onActiveCellChanged)}))):this.dispose()}))}_addCellButton(e){const t=this._getCell(e);if(t){const e=new St(this._commands,t.model.id);t.layout.insertWidget(0,e)}}_onActiveCellChanged(e){this._previousActiveCell&&!this._previousActiveCell.isDisposed&&this._removeCellButton(this._previousActiveCell.model);const t=e.activeCell;null!==t&&(this._addCellButton(t.model),this._previousActiveCell=t)}_getCell(e){var t;return null===(t=this._panel)||void 0===t?void 0:t.content.widgets.find((t=>t.model===e))}_removeCellButton(e){const t=this._getCell(e);t&&this._findCellButtonWidgets(t).forEach((e=>{e.dispose()}))}_findCellButtonWidgets(e){return e.layout.widgets.filter((e=>e.hasClass(ft)))||[]}get isDisposed(){return this._isDisposed}dispose(){var e;if(this.isDisposed)return;this._isDisposed=!0;const t=w.getCellsArrComp(null===(e=this._panel)||void 0===e?void 0:e.context.model.cells);if(t)for(const e of t)this._removeCellButton(e);this._panel=null,de.Signal.clearData(this)}}var Nt=o(7717);class xt{constructor(e){this._commands=e}createNew(e){const t=new I.ToolbarButton({className:"open-visu-button",icon:R,onClick:()=>{this._commands.execute(p.dashboardOpenVisu,{from:"Notebook"})},tooltip:"Open Notebook Visualization"});return e.context.ready.then((()=>{S(e)&&e.toolbar.insertItem(10,"openVisu",t)})),new Nt.DisposableDelegate((()=>{t.dispose()}))}}const It=se.dispatch;var Tt=o(7217);let Rt=null;function At(e){Rt=e}let Lt=null;const Mt={id:d,autoStart:!0,requires:[a.IFileBrowserFactory,n.ILayoutRestorer,n.ILabShell,s.IRenderMimeRegistry,l.ISettingRegistry],optional:[],activate:(e,t,o,n,a,s)=>{console.log(`JupyterLab extension ${c} is activated!`);const l="3.1.0",i=e.version.match(/[0-9]+/g),d=async function(e="",t={}){const o=Tt.ServerConnection.makeSettings(),n=ce.URLExt.join(o.baseUrl,"jupyterlab-unianalytics-dashboard",e);let a;try{a=await Tt.ServerConnection.makeRequest(n,t,o)}catch(e){throw new Tt.ServerConnection.NetworkError(e)}const s=await a.text();if(!a.ok)throw new Tt.ServerConnection.ResponseError(a,s.message||s);return s}("get_anonymized_user_id");if(i&&((e,t)=>{const o=e.split(/[^0-9]+/).map(Number),n=t.split(/[^0-9]+/).map(Number);for(let e=0;e<Math.min(o.length,n.length);e++){const t=o[e],a=n[e];if(t!==a)return t-a}const a=e.replace(/[0-9]+/g,""),s=t.replace(/[0-9]+/g,"");return a.localeCompare(s)})(e.version,l)>=0){const l=parseInt(i[0]);w.setJupyterVersion(l).then((()=>{d.then((l=>{Lt=l;let i=[];fetch(`${r}/auth/login`,{method:"POST",headers:{"Unianalytics-User-Id":Lt}}).then((e=>{if(e.ok)return e.json();throw new Error("Unauthorized user")})).then((l=>{"logged_in"===l.status?(i=l.auth_notebooks||[],sessionStorage.setItem(h,l.access_token),sessionStorage.setItem(u,l.refresh_token),function(e,t){console.log(`JupyterLab extension ${c}: upload plugin is activated!`),e.commands.addCommand(p.uploadNotebook,{label:"Upload notebook to unianalytics",icon:e=>e.isContextMenu?x.fileUploadIcon:void 0,execute:o=>{const n=w.getFileComp(t);n&&e.serviceManager.contents.get(n.path).then((t=>{var o,a;(o=t.content,a=n.name,new Promise(((e,t)=>{const n=new FormData;n.append("notebook_content",JSON.stringify(o)),n.append("name",a),E(r+"/notebook/upload",{method:"POST",body:n}).then((o=>{o.ok?e(o.json()):t(new Error("Failed to upload notebook on the backend"))})).catch((e=>{console.log(`${c}: Error occurred while uploading notebook:`,e),t(e)}))}))).then((o=>{const a={...t,content:o};e.serviceManager.contents.save(n.path,a).then((e=>{const t=o.metadata[_.notebookId],a=`${r}/notebook/download/${t}`;(0,I.showDialog)({title:n.name,body:N().createElement(T,{url:a,fileName:n.name}),buttons:[I.Dialog.okButton()]}).catch((e=>console.log(e)))}))})).catch((e=>{(0,I.showDialog)({title:n.name,body:"Error uploading the file",buttons:[I.Dialog.cancelButton()]}).catch((e=>console.log(e)))}))}))}}),e.commands.addCommand(p.copyDownloadLink,{label:"Copy unianalytics notebook link",icon:e=>e.isContextMenu?x.linkIcon:void 0,execute:o=>{const n=w.getFileComp(t);n&&e.serviceManager.contents.get(n.path).then((e=>{const t=e.content.metadata;if(t){const e=t[_.notebookId];e?navigator.clipboard.writeText(`${r}/notebook/download/${e}`).catch((e=>{console.error(`${c}: Error copying link: `,e)})):console.log(`${c}: Notebook not tagged`)}}))}}),e.contextMenu.addItem({selector:g,type:"separator",rank:0}),e.contextMenu.addItem({args:{isContextMenu:!0},command:p.uploadNotebook,selector:g,rank:0}),e.contextMenu.addItem({args:{isContextMenu:!0},command:p.copyDownloadLink,selector:g,rank:0}),e.contextMenu.addItem({selector:g,type:"separator",rank:0})}(e,t),async function(e,t,o,n,a){let s;if(console.log(`JupyterLab extension ${c}: dashboard plugins activated!`),n)try{s=await n.load(`${c}:plugin`),h(s),s.changed.connect(h)}catch(e){console.error(`${c}: Failed to load settings.\n${e}`)}(e=>{const t=e.shell.widgets();let o=w.getNextWidgetValueComp(t);for(;o;){if(o instanceof ie.NotebookPanel){const t=o,n=new xt(e.commands),a=new Ot(e.commands),s=n.createNew(t),l=a.createNew(t);t.disposed.connect((()=>{s.dispose(),l.dispose()}))}o=w.getNextWidgetValueComp(t)}e.docRegistry.addWidgetExtension("Notebook",new Ot(e.commands)),e.docRegistry.addWidgetExtension("Notebook",new xt(e.commands))})(e);const l=new ge,r=new tt(l,a.sanitizer),i=new Et(l,e.commands,a.sanitizer,s);function d(){const t=e.shell.currentWidget;if(!t)return;if(!(t instanceof ie.NotebookPanel))return void(l.panel&&l.panel.isDisposed&&(l.panel=null));const o=t;l.panel=o}function h(e){var t;const o=e.composite.commonDashboardSettings;o?ye.setPermission(o.dashboardCollection||!1):ye.setPermission((null===(t=e.default("commonDashboardSettings"))||void 0===t?void 0:t.dashboardCollection)||!1)}o.add(r,"right",{rank:1e3}),o.add(i,"left",{rank:1e3}),e.commands.addCommand(p.dashboardOpenVisu,{label:"Notebook Visualizations",caption:"Open Notebook Dashboard",icon:R,iconClass:"jp-icon3",execute:t=>{"Notebook"===t.from?(ye.sendInteraction({click_type:"ON",signal_origin:re.NOTEBOOK_TOOLBAR_BUTTON}),It(z())):"Cell"===t.from?(ye.sendInteraction({click_type:"ON",signal_origin:re.NOTEBOOK_CELL_BUTTON}),It(j({cellId:t.cell_id}))):"Toc"===t.from&&(ye.sendInteraction({click_type:"ON",signal_origin:re.TOC_OPEN_CELL_DASHBOARD}),It(j({cellId:t.cell_id}))),r.isVisible||e.shell.activateById(r.id)}}),t&&(t.add(r,`${c}:dashboard-notebook-restorer`),t.add(i,`${c}:dashboard-toc-restorer`)),o&&o.currentChanged.connect(d),e.restored.then((()=>{d()}))}(e,o,n,s,a)):console.log(`${c}: User not authenticated`)})).catch((e=>{console.log(`${c}: Authentication error, ${e}`)})).finally((()=>{window.postMessage({identifier:"unianalytics",authNotebooks:i},window.origin)}))})).catch((e=>{console.error(`${c}: Failed to access userId, the jupyterlab_unianalytics_dashboard server extension appears to be missing.\n${e}`)}))}))}else console.log(`${c}: Use a more recent version of JupyterLab (>=${l})`)}},Bt=Mt},2204:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e"},9609:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%2386b7fe%27/%3e%3c/svg%3e"},2469:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e"},7486:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%280, 0, 0, 0.25%29%27/%3e%3c/svg%3e"},991:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.25%29%27/%3e%3c/svg%3e"},4144:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e"},6254:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23000%27%3e%3cpath d=%27M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z%27/%3e%3c/svg%3e"},5321:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23052c65%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},3460:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23212529%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},1281:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%236ea8fe%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},5647:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z%27/%3e%3c/svg%3e"},1692:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},6770:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e"},6711:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23dee2e6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e"},8931:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e"},6199:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e"},2956:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e"},2221:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%2833, 37, 41, 0.75%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e"},5122:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e"}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var _JUPYTERLAB;(()=>{"use strict";var e,r,t,a,o,n,d,i,l,u,f,c,s,b,p,h,v,m,y,g,j,w,P,_,k,O,S={4479:(e,r,t)=>{var a={"./index":()=>Promise.all([t.e(39),t.e(29),t.e(419)]).then((()=>()=>t(575))),"./extension":()=>Promise.all([t.e(39),t.e(29),t.e(419)]).then((()=>()=>t(575))),"./style":()=>t.e(546).then((()=>()=>t(5546)))},o=(e,r)=>(t.R=r,r=t.o(a,e)?a[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),n=(e,r)=>{if(t.S){var a="default",o=t.S[a];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[a]=e,t.I(a,r)}};t.d(r,{get:()=>o,init:()=>n})}},E={};function x(e){var r=E[e];if(void 0!==r)return r.exports;var t=E[e]={id:e,exports:{}};return S[e](t,t.exports,x),t.exports}x.m=S,x.c=E,x.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return x.d(r,{a:r}),r},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,x.t=function(t,a){if(1&a&&(t=this(t)),8&a)return t;if("object"==typeof t&&t){if(4&a&&t.__esModule)return t;if(16&a&&"function"==typeof t.then)return t}var o=Object.create(null);x.r(o);var n={};e=e||[null,r({}),r([]),r(r)];for(var d=2&a&&t;"object"==typeof d&&!~e.indexOf(d);d=r(d))Object.getOwnPropertyNames(d).forEach((e=>n[e]=()=>t[e]));return n.default=()=>t,x.d(o,n),o},x.d=(e,r)=>{for(var t in r)x.o(r,t)&&!x.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},x.f={},x.e=e=>Promise.all(Object.keys(x.f).reduce(((r,t)=>(x.f[t](e,r),r)),[])),x.u=e=>e+"."+{10:"1e5c908a94fc4b83c2e5",18:"759fbf2374edc42b5c3e",29:"9b0cb1475dcac2b485f3",39:"5a3b28a79ba693a9b627",211:"583fddc965c583e61532",308:"d9da4ce35f354c6f12e1",373:"37ddee9d229ac254f896",376:"d960746fd943a4ef55b8",419:"8d7c0e30d3f058138a25",426:"a7015f9dfda310972c1b",459:"75a9fe630dfdb00e65b4",546:"d280746d2a5a5e5b9fc3",563:"b613f734176cb51510ef",638:"d37271636c4d956096de",704:"4e17d862a476ae3df8ae",708:"323c3614d31a5918cfaf",744:"329dc4d1ed2f5c918266",798:"33a8f0893a66574e9259",981:"ebb9e1d6122980b5ff0e"}[e]+".js?v="+{10:"1e5c908a94fc4b83c2e5",18:"759fbf2374edc42b5c3e",29:"9b0cb1475dcac2b485f3",39:"5a3b28a79ba693a9b627",211:"583fddc965c583e61532",308:"d9da4ce35f354c6f12e1",373:"37ddee9d229ac254f896",376:"d960746fd943a4ef55b8",419:"8d7c0e30d3f058138a25",426:"a7015f9dfda310972c1b",459:"75a9fe630dfdb00e65b4",546:"d280746d2a5a5e5b9fc3",563:"b613f734176cb51510ef",638:"d37271636c4d956096de",704:"4e17d862a476ae3df8ae",708:"323c3614d31a5918cfaf",744:"329dc4d1ed2f5c918266",798:"33a8f0893a66574e9259",981:"ebb9e1d6122980b5ff0e"}[e],x.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),x.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a="jupyterlab_unianalytics_dashboard:",x.l=(e,r,o,n)=>{if(t[e])t[e].push(r);else{var d,i;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var f=l[u];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==a+o){d=f;break}}d||(i=!0,(d=document.createElement("script")).charset="utf-8",d.timeout=120,x.nc&&d.setAttribute("nonce",x.nc),d.setAttribute("data-webpack",a+o),d.src=e),t[e]=[r];var c=(r,a)=>{d.onerror=d.onload=null,clearTimeout(s);var o=t[e];if(delete t[e],d.parentNode&&d.parentNode.removeChild(d),o&&o.forEach((e=>e(a))),r)return r(a)},s=setTimeout(c.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=c.bind(null,d.onerror),d.onload=c.bind(null,d.onload),i&&document.head.appendChild(d)}},x.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{x.S={};var e={},r={};x.I=(t,a)=>{a||(a=[]);var o=r[t];if(o||(o=r[t]={}),!(a.indexOf(o)>=0)){if(a.push(o),e[t])return e[t];x.o(x.S,t)||(x.S[t]={});var n=x.S[t],d="jupyterlab_unianalytics_dashboard",i=(e,r,t,a)=>{var o=n[e]=n[e]||{},i=o[r];(!i||!i.loaded&&(!a!=!i.eager?a:d>i.from))&&(o[r]={get:t,from:d,eager:!!a})},l=[];return"default"===t&&(i("@reduxjs/toolkit","1.9.7",(()=>x.e(426).then((()=>()=>x(8426))))),i("chart.js","4.4.1",(()=>x.e(708).then((()=>()=>x(4708))))),i("jupyterlab_unianalytics_dashboard","4.0.10",(()=>Promise.all([x.e(39),x.e(29),x.e(419)]).then((()=>()=>x(575))))),i("marked","11.1.1",(()=>x.e(308).then((()=>()=>x(3308))))),i("react-bootstrap-icons","1.10.3",(()=>Promise.all([x.e(744),x.e(29)]).then((()=>()=>x(1744))))),i("react-bootstrap","2.10.0",(()=>Promise.all([x.e(18),x.e(29),x.e(704)]).then((()=>()=>x(1018))))),i("react-chartjs-2","5.2.0",(()=>Promise.all([x.e(29),x.e(459),x.e(563)]).then((()=>()=>x(5376))))),i("react-redux","8.1.3",(()=>Promise.all([x.e(981),x.e(29),x.e(704)]).then((()=>()=>x(2981)))))),e[t]=l.length?Promise.all(l).then((()=>e[t]=1)):1}}})(),(()=>{var e;x.g.importScripts&&(e=x.g.location+"");var r=x.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var a=t.length-1;a>-1&&!e;)e=t[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),x.p=e})(),o=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),a=t[1]?r(t[1]):[];return t[2]&&(a.length++,a.push.apply(a,r(t[2]))),t[3]&&(a.push([]),a.push.apply(a,r(t[3]))),a},n=(e,r)=>{e=o(e),r=o(r);for(var t=0;;){if(t>=e.length)return t<r.length&&"u"!=(typeof r[t])[0];var a=e[t],n=(typeof a)[0];if(t>=r.length)return"u"==n;var d=r[t],i=(typeof d)[0];if(n!=i)return"o"==n&&"n"==i||"s"==i||"u"==n;if("o"!=n&&"u"!=n&&a!=d)return a<d;t++}},d=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var a=1,o=1;o<e.length;o++)a--,t+="u"==(typeof(i=e[o]))[0]?"-":(a>0?".":"")+(a=2,i);return t}var n=[];for(o=1;o<e.length;o++){var i=e[o];n.push(0===i?"not("+l()+")":1===i?"("+l()+" || "+l()+")":2===i?n.pop()+" "+n.pop():d(i))}return l();function l(){return n.pop().replace(/^\((.+)\)$/,"$1")}},i=(e,r)=>{if(0 in e){r=o(r);var t=e[0],a=t<0;a&&(t=-t-1);for(var n=0,d=1,l=!0;;d++,n++){var u,f,c=d<e.length?(typeof e[d])[0]:"";if(n>=r.length||"o"==(f=(typeof(u=r[n]))[0]))return!l||("u"==c?d>t&&!a:""==c!=a);if("u"==f){if(!l||"u"!=c)return!1}else if(l)if(c==f)if(d<=t){if(u!=e[d])return!1}else{if(a?u>e[d]:u<e[d])return!1;u!=e[d]&&(l=!1)}else if("s"!=c&&"n"!=c){if(a||d<=t)return!1;l=!1,d--}else{if(d<=t||f<c!=a)return!1;l=!1}else"s"!=c&&"n"!=c&&(l=!1,d--)}}var s=[],b=s.pop.bind(s);for(n=1;n<e.length;n++){var p=e[n];s.push(1==p?b()|b():2==p?b()&b():p?i(p,r):!b())}return!!b()},l=(e,r)=>{var t=x.S[e];if(!t||!x.o(t,r))throw new Error("Shared module "+r+" doesn't exist in shared scope "+e);return t},u=(e,r)=>{var t=e[r];return(r=Object.keys(t).reduce(((e,r)=>!e||n(e,r)?r:e),0))&&t[r]},f=(e,r)=>{var t=e[r];return Object.keys(t).reduce(((e,r)=>!e||!t[e].loaded&&n(e,r)?r:e),0)},c=(e,r,t,a)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+d(a)+")",s=(e,r,t,a)=>{var o=f(e,t);return i(a,o)||h(c(e,t,o,a)),m(e[t][o])},b=(e,r,t)=>{var a=e[r];return(r=Object.keys(a).reduce(((e,r)=>!i(t,r)||e&&!n(e,r)?e:r),0))&&a[r]},p=(e,r,t,a)=>{var o=e[t];return"No satisfying version ("+d(a)+") of shared module "+t+" found in shared scope "+r+".\nAvailable versions: "+Object.keys(o).map((e=>e+" from "+o[e].from)).join(", ")},h=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},v=(e,r,t,a)=>{h(p(e,r,t,a))},m=e=>(e.loaded=1,e.get()),g=(y=e=>function(r,t,a,o){var n=x.I(r);return n&&n.then?n.then(e.bind(e,r,x.S[r],t,a,o)):e(r,x.S[r],t,a,o)})(((e,r,t,a)=>(l(e,t),m(b(r,t,a)||v(r,e,t,a)||u(r,t))))),j=y(((e,r,t,a)=>(l(e,t),s(r,0,t,a)))),w=y(((e,r,t,a,o)=>{var n=r&&x.o(r,t)&&b(r,t,a);return n?m(n):o()})),P={},_={6029:()=>j("default","react",[1,18,2,0]),1778:()=>g("default","@jupyterlab/outputarea",[1,4,1,5]),2535:()=>w("default","react-bootstrap-icons",[1,1,10,3],(()=>x.e(744).then((()=>()=>x(1744))))),2779:()=>w("default","marked",[1,11,1,1],(()=>x.e(308).then((()=>()=>x(3308))))),3452:()=>j("default","@jupyterlab/ui-components",[1,4,1,5]),3471:()=>j("default","@jupyterlab/codeeditor",[1,4,1,5]),3748:()=>w("default","@reduxjs/toolkit",[1,1,9,5],(()=>x.e(426).then((()=>()=>x(8426))))),4008:()=>j("default","@jupyterlab/settingregistry",[1,4,1,5]),4882:()=>j("default","@lumino/widgets",[1,2,3,1,,"alpha",0]),4901:()=>j("default","@lumino/signaling",[1,2,0,0]),6311:()=>j("default","@jupyterlab/coreutils",[1,6,1,5]),7217:()=>j("default","@jupyterlab/services",[1,7,1,5]),7717:()=>j("default","@lumino/disposable",[1,2,0,0]),7760:()=>w("default","react-redux",[1,8,0,5],(()=>Promise.all([x.e(981),x.e(704)]).then((()=>()=>x(2981))))),7777:()=>j("default","@jupyterlab/codemirror",[1,4,1,5]),7885:()=>w("default","react-chartjs-2",[1,5,2,0],(()=>Promise.all([x.e(459),x.e(798)]).then((()=>()=>x(5376))))),8031:()=>j("default","@jupyterlab/filebrowser",[1,4,1,5]),8048:()=>j("default","@jupyterlab/rendermime",[1,4,1,5]),8352:()=>w("default","chart.js",[1,4,4,1],(()=>x.e(708).then((()=>()=>x(4708))))),8368:()=>j("default","@jupyterlab/application",[1,4,1,5]),8559:()=>w("default","react-bootstrap",[1,2,10,0],(()=>Promise.all([x.e(18),x.e(704)]).then((()=>()=>x(1018))))),8797:()=>j("default","@jupyterlab/notebook",[1,4,1,5]),9510:()=>j("default","@jupyterlab/apputils",[1,4,2,5]),7704:()=>j("default","react-dom",[1,18,2,0]),6459:()=>w("default","chart.js",[1,4,1,1],(()=>x.e(708).then((()=>()=>x(4708))))),1373:()=>j("default","@codemirror/language",[1,6,0,0]),6211:()=>j("default","@codemirror/view",[1,6,9,6]),851:()=>j("default","@lezer/common",[1,1,0,0]),7138:()=>j("default","@lezer/highlight",[1,1,0,0]),8204:()=>j("default","@codemirror/state",[1,6,2,0])},k={29:[6029],211:[6211],373:[1373],376:[851,7138,8204],419:[1778,2535,2779,3452,3471,3748,4008,4882,4901,6311,7217,7717,7760,7777,7885,8031,8048,8352,8368,8559,8797,9510],459:[6459],704:[7704]},O={},x.f.consumes=(e,r)=>{x.o(k,e)&&k[e].forEach((e=>{if(x.o(P,e))return r.push(P[e]);if(!O[e]){var t=r=>{P[e]=0,x.m[e]=t=>{delete x.c[e],t.exports=r()}};O[e]=!0;var a=r=>{delete P[e],x.m[e]=t=>{throw delete x.c[e],r}};try{var o=_[e]();o.then?r.push(P[e]=o.then(t).catch(a)):t(o)}catch(e){a(e)}}}))},(()=>{x.b=document.baseURI||self.location.href;var e={217:0};x.f.j=(r,t)=>{var a=x.o(e,r)?e[r]:void 0;if(0!==a)if(a)t.push(a[2]);else if(/^(37[36]|211|29|459|704)$/.test(r))e[r]=0;else{var o=new Promise(((t,o)=>a=e[r]=[t,o]));t.push(a[2]=o);var n=x.p+x.u(r),d=new Error;x.l(n,(t=>{if(x.o(e,r)&&(0!==(a=e[r])&&(e[r]=void 0),a)){var o=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;d.message="Loading chunk "+r+" failed.\n("+o+": "+n+")",d.name="ChunkLoadError",d.type=o,d.request=n,a[1](d)}}),"chunk-"+r,r)}};var r=(r,t)=>{var a,o,[n,d,i]=t,l=0;if(n.some((r=>0!==e[r]))){for(a in d)x.o(d,a)&&(x.m[a]=d[a]);i&&i(x)}for(r&&r(t);l<n.length;l++)o=n[l],x.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=self.webpackChunkjupyterlab_unianalytics_dashboard=self.webpackChunkjupyterlab_unianalytics_dashboard||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),x.nc=void 0;var T=x(4479);(_JUPYTERLAB=void 0===_JUPYTERLAB?{}:_JUPYTERLAB).jupyterlab_unianalytics_dashboard=T})();
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|