HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/Python311/Lib/site-packages/notebook/static/3768.ed31c6101d464610b011.js.map
{"version":3,"file":"3768.ed31c6101d464610b011.js?v=ed31c6101d464610b011","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACmF;AACzD;AACnB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAyC;AACzD;AACA;AACA,4BAA4B,qBAAW,QAAQ,sCAAmB,UAAU,oBAAoB;AAChG;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAW,QAAQ,sCAAmB,CAAC,uCAA6B,IAAI,oDAAoD,OAAO,WAAW,eAAe,mBAAmB;AAC3M,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnDA;AACA;AACkH;AAC/D;AAC2C;AAC/B;AACgB;AACe;AACxC;AAC8B;AACzC;AACK;AAC2B;AACxB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAW;AAC1B,eAAe,gCAAsB;AACrC;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA,4BAA4B,0BAAO;AACnC,4BAA4B,uBAAI,GAAG,UAAU;AAC7C;AACA,6BAA6B,yCAAa;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,oCAAoC;AAChE;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,SAAS;AAC3C,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,oCAAoC,0BAAO;AAC3C;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6CAAmB,EAAE,gCAAsB,EAAE,qCAAW;AACvE;AACA;AACA;AACA,qCAAqC,oBAAM;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,gBAAgB,WAAW;AAC3B,gCAAgC,kBAAkB;AAClD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6CAAmB;AAClC,eAAe,8CAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAe;AAC9B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,8CAAgB;AAC/B;AACA,gBAAgB,aAAa,EAAE,wBAAU;AACzC;AACA,iCAAiC,wBAAU;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,GAAG;AACpE;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gCAAa,EAAE,6CAAmB;AACjD;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,6CAAmB;AAC3B,QAAQ,qCAAW;AACnB,QAAQ,8CAAgB;AACxB,QAAQ,gCAAsB;AAC9B,QAAQ,6CAAmB;AAC3B;AACA;AACA,QAAQ,6CAAuB;AAC/B,QAAQ,iDAAqB;AAC7B,QAAQ,qDAAyB;AACjC;AACA;AACA,cAAc,gCAAa;AAC3B;AACA,iCAAiC,qCAAkB;AACnD;AACA;AACA;AACA;AACA,6BAA6B,sCAAU;AACvC;AACA;AACA;AACA,sFAAsF,kCAAQ;AAC9F;AACA;AACA;AACA,SAAS;AACT,QAAQ,wBAAU,UAAU,kCAAoB;AAChD;AACA,gCAAgC,qCAAe;AAC/C;AACA;AACA,iCAAiC,uCAAW;AAC5C;AACA;AACA;AACA,8CAA8C,WAAW;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAe,OAAO,EAAC","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree-extension/lib/fileactions.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree-extension/lib/index.js"],"sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { CommandToolbarButtonComponent, ReactWidget, } from '@jupyterlab/apputils';\nimport React from 'react';\nexport class FilesActionButtons {\n    /**\n     * The constructor of FilesActionButtons.\n     * @param options\n     */\n    constructor(options) {\n        /**\n         * Triggered when the selection change in file browser.\n         */\n        this._onSelectionChanged = () => {\n            var _a, _b, _c, _d, _e, _f;\n            const selectedItems = Array.from(this._browser.selectedItems());\n            const selection = selectedItems.length > 0;\n            const oneFolder = selectedItems.some((item) => item.type === 'directory');\n            (_a = this._widgets.get('placeholder')) === null || _a === void 0 ? void 0 : _a.setHidden(selection);\n            (_b = this._widgets.get('delete')) === null || _b === void 0 ? void 0 : _b.setHidden(!selection);\n            (_c = this._widgets.get('duplicate')) === null || _c === void 0 ? void 0 : _c.setHidden(!selection || oneFolder);\n            (_d = this._widgets.get('download')) === null || _d === void 0 ? void 0 : _d.setHidden(!selection || oneFolder);\n            (_e = this._widgets.get('open')) === null || _e === void 0 ? void 0 : _e.setHidden(!selection || oneFolder);\n            (_f = this._widgets.get('rename')) === null || _f === void 0 ? void 0 : _f.setHidden(selectedItems.length !== 1);\n        };\n        this._widgets = new Map();\n        this._browser = options.browser;\n        const { commands, selectionChanged, translator } = options;\n        const trans = translator.load('notebook');\n        // Placeholder, when no file is selected.\n        const placeholder = ReactWidget.create(React.createElement(\"div\", { key: 'placeholder' }, trans.__('Select items to perform actions on them.')));\n        placeholder.id = 'fileAction-placeholder';\n        this._widgets.set('placeholder', placeholder);\n        // The action buttons.\n        const actions = ['open', 'download', 'rename', 'duplicate', 'delete'];\n        actions.forEach((action) => {\n            const widget = ReactWidget.create(React.createElement(CommandToolbarButtonComponent, { key: action, commands: commands, id: `filebrowser:${action}`, args: { toolbar: true }, icon: undefined }));\n            widget.id = `fileAction-${action}`;\n            widget.addClass('jp-ToolbarButton');\n            widget.addClass('jp-FileAction');\n            this._widgets.set(action, widget);\n        });\n        selectionChanged.connect(this._onSelectionChanged, this);\n        this._onSelectionChanged();\n    }\n    /**\n     * Return an iterator with all the action widgets.\n     */\n    get widgets() {\n        return this._widgets.values();\n    }\n}\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { ICommandPalette, IToolbarWidgetRegistry, createToolbarFactory, setToolbar, } from '@jupyterlab/apputils';\nimport { PageConfig } from '@jupyterlab/coreutils';\nimport { Uploader, IDefaultFileBrowser, IFileBrowserFactory, } from '@jupyterlab/filebrowser';\nimport { ISettingRegistry } from '@jupyterlab/settingregistry';\nimport { IRunningSessionManagers, RunningSessions } from '@jupyterlab/running';\nimport { IJSONSettingEditorTracker, ISettingEditorTracker, } from '@jupyterlab/settingeditor';\nimport { ITranslator } from '@jupyterlab/translation';\nimport { caretDownIcon, folderIcon, runningIcon, } from '@jupyterlab/ui-components';\nimport { Signal } from '@lumino/signaling';\nimport { Menu, MenuBar } from '@lumino/widgets';\nimport { NotebookTreeWidget, INotebookTree } from '@jupyter-notebook/tree';\nimport { FilesActionButtons } from './fileactions';\n/**\n * The file browser factory.\n */\nconst FILE_BROWSER_FACTORY = 'FileBrowser';\n/**\n * The file browser plugin id.\n */\nconst FILE_BROWSER_PLUGIN_ID = '@jupyterlab/filebrowser-extension:browser';\n/**\n * The namespace for command IDs.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n    // The command to activate the filebrowser widget in tree view.\n    CommandIDs.activate = 'filebrowser:activate';\n    // Activate the file filter in the file browser\n    CommandIDs.toggleFileFilter = 'filebrowser:toggle-file-filter';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * Plugin to add extra commands to the file browser to create\n * new notebooks, files, consoles and terminals\n */\nconst createNew = {\n    id: '@jupyter-notebook/tree-extension:new',\n    description: 'Plugin to add extra commands to the file browser to create new notebooks, files, consoles and terminals.',\n    requires: [ITranslator],\n    optional: [IToolbarWidgetRegistry],\n    autoStart: true,\n    activate: (app, translator, toolbarRegistry) => {\n        var _a;\n        const { commands, serviceManager } = app;\n        const trans = translator.load('notebook');\n        const overflowOptions = {\n            overflowMenuOptions: { isVisible: false },\n        };\n        const menubar = new MenuBar(overflowOptions);\n        const newMenu = new Menu({ commands });\n        newMenu.title.label = trans.__('New');\n        newMenu.title.icon = caretDownIcon;\n        menubar.addMenu(newMenu);\n        const populateNewMenu = () => {\n            var _a, _b;\n            // create an entry per kernel spec for creating a new notebook\n            const specs = (_b = (_a = serviceManager.kernelspecs) === null || _a === void 0 ? void 0 : _a.specs) === null || _b === void 0 ? void 0 : _b.kernelspecs;\n            for (const name in specs) {\n                newMenu.addItem({\n                    args: { kernelName: name, isLauncher: true },\n                    command: 'notebook:create-new',\n                });\n            }\n            const baseCommands = [\n                'terminal:create-new',\n                'console:create',\n                'filebrowser:create-new-file',\n                'filebrowser:create-new-directory',\n            ];\n            baseCommands.forEach((command) => {\n                newMenu.addItem({ command });\n            });\n        };\n        (_a = serviceManager.kernelspecs) === null || _a === void 0 ? void 0 : _a.specsChanged.connect(() => {\n            newMenu.clearItems();\n            populateNewMenu();\n        });\n        populateNewMenu();\n        if (toolbarRegistry) {\n            toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, 'new-dropdown', (browser) => {\n                const menubar = new MenuBar(overflowOptions);\n                menubar.addMenu(newMenu);\n                menubar.addClass('jp-DropdownMenu');\n                return menubar;\n            });\n        }\n    },\n};\n/**\n * A plugin to add file browser actions to the file browser toolbar.\n */\nconst fileActions = {\n    id: '@jupyter-notebook/tree-extension:file-actions',\n    description: 'A plugin to add file browser actions to the file browser toolbar.',\n    autoStart: true,\n    requires: [IDefaultFileBrowser, IToolbarWidgetRegistry, ITranslator],\n    activate: (app, browser, toolbarRegistry, translator) => {\n        // TODO: use upstream signal when available to detect selection changes\n        // https://github.com/jupyterlab/jupyterlab/issues/14598\n        const selectionChanged = new Signal(browser);\n        const methods = [\n            '_selectItem',\n            '_handleMultiSelect',\n            'handleFileSelect',\n        ];\n        methods.forEach((method) => {\n            const original = browser['listing'][method];\n            browser['listing'][method] = (...args) => {\n                original.call(browser['listing'], ...args);\n                selectionChanged.emit(void 0);\n            };\n        });\n        browser.model.pathChanged.connect(() => {\n            selectionChanged.emit(void 0);\n        });\n        // Create a toolbar item that adds buttons to the file browser toolbar\n        // to perform actions on the files\n        const { commands } = app;\n        const fileActions = new FilesActionButtons({\n            commands,\n            browser,\n            selectionChanged,\n            translator,\n        });\n        for (const widget of fileActions.widgets) {\n            toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, widget.id, () => widget);\n        }\n    },\n};\n/**\n * A plugin to set the default file browser settings.\n */\nconst fileBrowserSettings = {\n    id: '@jupyter-notebook/tree-extension:settings',\n    description: 'Set up the default file browser settings',\n    requires: [IDefaultFileBrowser],\n    optional: [ISettingRegistry],\n    autoStart: true,\n    activate: (app, browser, settingRegistry) => {\n        // Default config for notebook.\n        // This is a different set of defaults than JupyterLab.\n        const defaultFileBrowserConfig = {\n            navigateToCurrentDirectory: false,\n            singleClickNavigation: true,\n            showLastModifiedColumn: true,\n            showFileSizeColumn: true,\n            showHiddenFiles: false,\n            showFileCheckboxes: true,\n            sortNotebooksFirst: true,\n            showFullPath: false,\n        };\n        // Apply defaults on plugin activation\n        let key;\n        for (key in defaultFileBrowserConfig) {\n            browser[key] = defaultFileBrowserConfig[key];\n        }\n        if (settingRegistry) {\n            void settingRegistry.load(FILE_BROWSER_PLUGIN_ID).then((settings) => {\n                function onSettingsChanged(settings) {\n                    let key;\n                    for (key in defaultFileBrowserConfig) {\n                        const value = settings.get(key).user;\n                        // only set the setting if it is defined by the user\n                        if (value !== undefined) {\n                            browser[key] = value;\n                        }\n                    }\n                }\n                settings.changed.connect(onSettingsChanged);\n                onSettingsChanged(settings);\n            });\n        }\n    },\n};\n/**\n * A plugin to add the file filter toggle command to the palette\n */\nconst fileFilterCommand = {\n    id: '@jupyter-notebook/tree-extension:file-filter-command',\n    description: 'A plugin to add file filter command to the palette.',\n    autoStart: true,\n    optional: [ICommandPalette],\n    activate: (app, palette) => {\n        if (palette) {\n            palette.addItem({\n                command: CommandIDs.toggleFileFilter,\n                category: 'File Browser',\n            });\n        }\n    },\n};\n/**\n * Plugin to load the default plugins that are loaded on all the Notebook pages\n * (tree, edit, view, etc.) so they are visible in the settings editor.\n */\nconst loadPlugins = {\n    id: '@jupyter-notebook/tree-extension:load-plugins',\n    description: 'Plugin to load the default plugins that are loaded on all the Notebook pages (tree, edit, view, etc.) so they are visible in the settings editor.',\n    autoStart: true,\n    requires: [ISettingRegistry],\n    activate(app, settingRegistry) {\n        const { isDisabled } = PageConfig.Extension;\n        const connector = settingRegistry.connector;\n        const allPluginsOption = PageConfig.getOption('allPlugins');\n        if (!allPluginsOption) {\n            return;\n        }\n        // build the list of plugins shipped by default on the all the notebook pages\n        // this avoid explicitly loading `'all'` plugins such as the ones used\n        // in JupyterLab only\n        const allPlugins = JSON.parse(allPluginsOption);\n        const pluginsSet = new Set();\n        Object.keys(allPlugins).forEach((key) => {\n            const extensionsAndPlugins = allPlugins[key];\n            Object.keys(extensionsAndPlugins).forEach((plugin) => {\n                const value = extensionsAndPlugins[plugin];\n                if (typeof value === 'boolean' && value) {\n                    pluginsSet.add(plugin);\n                }\n                else if (Array.isArray(value)) {\n                    value.forEach((v) => {\n                        pluginsSet.add(v);\n                    });\n                }\n            });\n        });\n        app.restored.then(async () => {\n            const plugins = await connector.list('all');\n            plugins.ids.forEach(async (id) => {\n                const [extension] = id.split(':');\n                // load the plugin if it is built-in the notebook application explicitly\n                // either included as an extension or as a plugin directly\n                const hasPlugin = pluginsSet.has(extension) || pluginsSet.has(id);\n                if (!hasPlugin || isDisabled(id) || id in settingRegistry.plugins) {\n                    return;\n                }\n                try {\n                    await settingRegistry.load(id);\n                }\n                catch (error) {\n                    console.warn(`Settings failed to load for (${id})`, error);\n                }\n            });\n        });\n    },\n};\n/**\n * A plugin to add file browser commands for the tree view.\n */\nconst openFileBrowser = {\n    id: '@jupyter-notebook/tree-extension:open-file-browser',\n    description: 'A plugin to add file browser commands for the tree view.',\n    requires: [INotebookTree, IDefaultFileBrowser],\n    autoStart: true,\n    activate: (app, notebookTree, browser) => {\n        const { commands } = app;\n        commands.addCommand(CommandIDs.activate, {\n            execute: () => {\n                notebookTree.currentWidget = browser;\n            },\n        });\n    },\n};\n/**\n * A plugin to add the file browser widget to an INotebookShell\n */\nconst notebookTreeWidget = {\n    id: '@jupyter-notebook/tree-extension:widget',\n    description: 'A plugin to add the file browser widget to an INotebookShell.',\n    requires: [\n        IDefaultFileBrowser,\n        ITranslator,\n        ISettingRegistry,\n        IToolbarWidgetRegistry,\n        IFileBrowserFactory,\n    ],\n    optional: [\n        IRunningSessionManagers,\n        ISettingEditorTracker,\n        IJSONSettingEditorTracker,\n    ],\n    autoStart: true,\n    provides: INotebookTree,\n    activate: (app, browser, translator, settingRegistry, toolbarRegistry, factory, manager, settingEditorTracker, jsonSettingEditorTracker) => {\n        const nbTreeWidget = new NotebookTreeWidget();\n        const trans = translator.load('notebook');\n        browser.title.label = trans.__('Files');\n        browser.node.setAttribute('role', 'region');\n        browser.node.setAttribute('aria-label', trans.__('File Browser Section'));\n        browser.title.icon = folderIcon;\n        nbTreeWidget.addWidget(browser);\n        nbTreeWidget.tabBar.addTab(browser.title);\n        nbTreeWidget.tabsMovable = false;\n        toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, 'uploader', (browser) => new Uploader({\n            model: browser.model,\n            translator,\n            label: trans.__('Upload'),\n        }));\n        setToolbar(browser, createToolbarFactory(toolbarRegistry, settingRegistry, FILE_BROWSER_FACTORY, notebookTreeWidget.id, translator));\n        if (manager) {\n            const running = new RunningSessions(manager, translator);\n            running.id = 'jp-running-sessions-tree';\n            running.title.label = trans.__('Running');\n            running.title.icon = runningIcon;\n            nbTreeWidget.addWidget(running);\n            nbTreeWidget.tabBar.addTab(running.title);\n        }\n        app.shell.add(nbTreeWidget, 'main', { rank: 100 });\n        // add a separate tab for each setting editor\n        [settingEditorTracker, jsonSettingEditorTracker].forEach((editorTracker) => {\n            if (editorTracker) {\n                editorTracker.widgetAdded.connect((_, editor) => {\n                    nbTreeWidget.addWidget(editor);\n                    nbTreeWidget.tabBar.addTab(editor.title);\n                    nbTreeWidget.currentWidget = editor;\n                });\n            }\n        });\n        const { tracker } = factory;\n        // TODO: remove\n        // Workaround to force the focus on the default file browser\n        // See https://github.com/jupyterlab/jupyterlab/issues/15629 for more info\n        const setCurrentToDefaultBrower = () => {\n            tracker['_pool'].current = browser;\n        };\n        tracker.widgetAdded.connect((sender, widget) => {\n            setCurrentToDefaultBrower();\n        });\n        setCurrentToDefaultBrower();\n        return nbTreeWidget;\n    },\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [\n    createNew,\n    fileActions,\n    fileBrowserSettings,\n    fileFilterCommand,\n    loadPlugins,\n    openFileBrowser,\n    notebookTreeWidget,\n];\nexport default plugins;\n"],"names":[],"sourceRoot":""}